UNPKG

kero

Version:

<img src="http://tinper.org/assets/images/kero.png" width="120" style="max-width:100%;"/>

70 lines (66 loc) 2 kB
/** * Module : kero dataTable rowDelete * Desc: 不建议使用此库方法 * Author : liuyk(liuyk@yonyou.com) * Date : 2016-08-01 14:34:01 */ import { utilFunObj } from './util'; /*** * 根据索引删除数据行 * @param {number} index 需要删除数据行的索引 */ var setRowDelete = function setRowDelete(index) { if (index instanceof Row) { index = this.getIndexByRowId(index.rowId); } this.setRowsDelete([index]); }; /*** * 删除所有数据行 */ var setAllRowsDelete = function setAllRowsDelete() { var indices = new Array(this.rows().length); for (var i = 0; i < indices.length; i++) { indices[i] = i; } this.setRowsDelete(indices); }; /*** * 根据索引数组删除数据行 * @param {Array} indices 需要删除数据行的索引数组 */ var setRowsDelete = function setRowsDelete(indices, obj) { var forceDel = obj ? obj.forceDel : false; indices = utilFunObj._formatToIndicesArray(this, indices); indices = indices.sort(function (a, b) { return b - a; }); var rowIds = this.getRowIdsByIndices(indices); var rows = this.getRowsByIndices(indices); var ros = this.rows(); for (var i = 0; i < indices.length; i++) { var row = this.getRow(indices[i]); if (row.status == Row.STATUS.NEW || this.forceDel || forceDel) { ros.splice(indices[i], 1); } else { row.setStatus(Row.STATUS.FALSE_DELETE); var temprows = ros.splice(indices[i], 1); ros.push(temprows[0]); } this.updateSelectedIndices(indices[i], '-'); this.updateFocusIndex(indices[i], '-'); } this.rows(ros); this.updateCurrIndex(); this.trigger(DataTable.ON_DELETE, { falseDelete: true, indices: indices, rowIds: rowIds, rows: rows }); }; export var rowDeleteFunObj = { setRowDelete: setRowDelete, setAllRowsDelete: setAllRowsDelete, setRowsDelete: setRowsDelete };