How to use the xe-utils.remove function in xe-utils

To help you get started, we’ve selected a few xe-utils examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github xuliangzhan / vxe-table / packages / table / src / table.js View on Github external
}, treeConfig)
              XEUtils.remove(treeIndeterminates, item => item === row)
            }
            // 如果存在父节点,更新父节点状态
            let matchObj = XEUtils.findTree(tableFullData, item => item === row, treeConfig)
            if (matchObj && matchObj.parent) {
              let selectItems = matchObj.items.filter(item => selection.indexOf(item) > -1)
              return this.triggerCheckRowEvent(evnt, { row: matchObj.parent }, selectItems.length === matchObj.items.length ? true : (selectItems.length || value === -1 ? -1 : false))
            }
          } else {
            if (value) {
              if (selection.indexOf(row) === -1) {
                selection.push(row)
              }
            } else {
              XEUtils.remove(selection, item => item === row)
            }
          }
        }
        this.checkSelectionStatus()
        UtilTools.emitEvent(this, 'select-change', [{ row, selection: this.getSelectRecords(), checked: value }, evnt])
      }
    },
    checkSelectionStatus () {
github xuliangzhan / vue-element-extends / examples / mock / api / helper.js View on Github external
return function (request, response) {
      let insertRest = []
      let updateRest = []
      let removeRest = []
      if (request.body) {
        let updateTime = Date.now()
        let updateRecords = request.body[page && page.update ? page.update : 'updateRecords'] || []
        let removeRecords = request.body[page && page.remove ? page.remove : 'removeRecords'] || []
        let insertRecords = request.body[page && page.insert ? page.insert : 'insertRecords'] || []
        // 删除树
        let removes = XEUtils.remove(list, item => removeRecords.some(row => row[key] === item[key]))
        removeRest = removeRest.concat(removes)
        while (removes.length) {
          removes = XEUtils.remove(list, item => removes.some(row => row[key] === item[parentKey]))
          removeRest = removeRest.concat(removes)
        }
        // 更新树
        updateRecords.forEach(data => {
          let item = list.find(item => item[key] === data[key])
          if (item) {
            XEUtils.destructuring(item, data, { updateTime })
            updateRest.push(item)
          }
        })
        // 插入树
        let insertTree = (records, parentObj) => {
          records.forEach(item => {
github xuliangzhan / vxe-table / packages / table / src / table.js View on Github external
})
        } else {
          // 如果是新增,则保存记录
          rows.forEach(row => {
            if (!hasRowInsert(row)) {
              removeList.push(row)
            }
          })
          // 从数据源中移除
          rest = XEUtils.remove(tableFullData, row => rows.indexOf(row) > -1)
          // 如果绑定了多选属性,则更新状态
          if (!property) {
            XEUtils.remove(selection, row => rows.indexOf(row) > -1)
          }
          // 从列表中移除
          XEUtils.remove(tableData, row => rows.indexOf(row) > -1)
        }
        XEUtils.remove(insertList, row => rows.indexOf(row) > -1)
      }
      this.checkSelectionStatus()
      return this.$nextTick().then(() => {
        this.recalculate()
        return { row: rows && rows.length ? rows[rows.length - 1] : null, rows: rest }
      })
    },
    /**
github xuliangzhan / vxe-table / packages / table / src / table.js View on Github external
// 如果是新增,则保存记录
          rows.forEach(row => {
            if (!hasRowInsert(row)) {
              removeList.push(row)
            }
          })
          // 从数据源中移除
          rest = XEUtils.remove(tableFullData, row => rows.indexOf(row) > -1)
          // 如果绑定了多选属性,则更新状态
          if (!property) {
            XEUtils.remove(selection, row => rows.indexOf(row) > -1)
          }
          // 从列表中移除
          XEUtils.remove(tableData, row => rows.indexOf(row) > -1)
        }
        XEUtils.remove(insertList, row => rows.indexOf(row) > -1)
      }
      this.checkSelectionStatus()
      return this.$nextTick().then(() => {
        this.recalculate()
        return { row: rows && rows.length ? rows[rows.length - 1] : null, rows: rest }
      })
    },
    /**
github xuliangzhan / vxe-table / packages / table / src / table.js View on Github external
triggerCheckRowEvent (evnt, { row }, value) {
      let { selection, tableFullData, selectConfig = {}, treeConfig, treeIndeterminates } = this
      let { checkProp: property, checkMethod } = selectConfig
      if (!checkMethod || checkMethod({ row, rowIndex: tableFullData.indexOf(row) })) {
        if (property) {
          if (treeConfig) {
            if (value === -1) {
              treeIndeterminates.push(row)
              XEUtils.set(row, property, false)
            } else {
              // 更新子节点状态
              XEUtils.eachTree([row], item => XEUtils.set(item, property, value), treeConfig)
              XEUtils.remove(treeIndeterminates, item => item === row)
            }
            // 如果存在父节点,更新父节点状态
            let matchObj = XEUtils.findTree(tableFullData, item => item === row, treeConfig)
            if (matchObj && matchObj.parent) {
              let selectItems = matchObj.items.filter(item => XEUtils.get(item, property))
              return this.triggerCheckRowEvent(evnt, { row: matchObj.parent }, selectItems.length === matchObj.items.length ? true : (selectItems.length || value === -1 ? -1 : false))
            }
          } else {
            XEUtils.set(row, property, value)
          }
        } else {
          if (treeConfig) {
            if (value === -1) {
              treeIndeterminates.push(row)
              XEUtils.remove(selection, item => item === row)
            } else {
github xuliangzhan / vue-element-extends / packages / editable / src / event.js View on Github external
off (comp, type) {
    XEUtils.remove(eventStore, item => item.comp === comp && item.type === type)
  },
  trigger (evnt) {
github xuliangzhan / vxe-table / examples / mock / api / helper.js View on Github external
return function (request, response, { pathVariable }) {
      let rest = []
      if (pathVariable) {
        let removes = XEUtils.remove(list, item => item[key] === pathVariable[key])
        rest = rest.concat(removes)
        while (removes.length) {
          removes = XEUtils.remove(list, item => removes.some(row => row[key] === item[parentKey]))
          rest = rest.concat(removes)
        }
      }
      response.body = rest
      return response
    }
  }
github xuliangzhan / vue-element-extends / examples / mock / api / helper.js View on Github external
return function (request, response, { pathVariable }) {
      let rest = []
      if (pathVariable) {
        rest = XEUtils.remove(list, item => item[key] === pathVariable[key])
      }
      response.body = rest
      return response
    }
  }
github xuliangzhan / vxe-table / examples / mock / api / helper.js View on Github external
let pendingRecords = request.body[page && page.remove ? page.remove : 'pendingRecords'] || []
        let insertRecords = request.body[page && page.insert ? page.insert : 'insertRecords'] || []
        updateRecords.forEach(data => {
          let item = list.find(item => item[key] === data[key])
          if (item) {
            XEUtils.destructuring(item, data, { updateTime })
            updateRest.push(item)
          }
        })
        insertRecords.forEach(data => {
          let rest = Object.assign(new ModelVO(data), { [key]: idIndex++, updateTime, createTime: updateTime })
          insertRest.push(rest)
          list.push(rest)
        })
        removeRecords = removeRecords.concat(pendingRecords)
        removeRest = XEUtils.remove(list, item => removeRecords.some(row => row[key] === item[key]))
      }
      response.body = { insertRest, updateRest, removeRest }
      return response
    }
  }
github xuliangzhan / vxe-table / examples / mock / api / helper.js View on Github external
return function (request, response, { pathVariable }) {
      let rest = []
      if (pathVariable) {
        let removes = XEUtils.remove(list, item => item[key] === pathVariable[key])
        rest = rest.concat(removes)
        while (removes.length) {
          removes = XEUtils.remove(list, item => removes.some(row => row[key] === item[parentKey]))
          rest = rest.concat(removes)
        }
      }
      response.body = rest
      return response
    }
  }