UNPKG

kero

Version:
60 lines (55 loc) 1.81 kB
/** * Module : kero dataTable row meta * Author : liuyk(liuyk@yonyou.com) * Date : 2016-08-08 13:54:01 */ import {eq, _getField} from './row-util'; /** *设置row中某一列的属性 */ const setMeta = function (fieldName, key, value) { var meta = _getField(this, fieldName).meta if (!meta) meta = _getField(this, fieldName).meta = {} var oldValue = meta[key] if (eq(oldValue, value)) return; meta[key] = value //this.metaChange(- this.metaChange()) if (this.metaChange[fieldName + '.' + key]) { this.metaChange[fieldName + '.' + key](-this.metaChange[fieldName + '.' + key]()); } if (key == 'enable') this.parent.enableChange(-this.parent.enableChange()) if (this.parent.getCurrentRow() == this) { if (this.parent.metaChange[fieldName + '.' + key]) this.parent.metaChange[fieldName + '.' + key](-this.parent.metaChange[fieldName + '.' + key]()); this.parent.trigger(fieldName + '.' + key + '.' + DataTable.ON_CURRENT_META_CHANGE, { eventType: 'dataTableEvent', dataTable: this.parent.id, oldValue: oldValue, newValue: value }); //this.parent.metaChange(- this.parent.metaChange()) } this.parent.trigger(DataTable.ON_ROW_META_CHANGE, { eventType: 'dataTableEvent', dataTable: this.parent.id, field: fieldName, meta: key, oldValue: oldValue, newValue: value, row: this }); this.parent.trigger(fieldName + '.' + key + '.' + DataTable.ON_ROW_META_CHANGE, { eventType: 'dataTableEvent', dataTable: this.parent.id, field: fieldName, meta: key, oldValue: oldValue, newValue: value, row: this }); } export { setMeta }