UNPKG

kero

Version:

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

69 lines (63 loc) 2.11 kB
/** * Module : kero dataTable row meta * Author : liuyk(liuyk@yonyou.com) * Date : 2016-08-08 13:54:01 */ import { rowUtilFunObj } from './row-util'; /** * 设置meta信息 * @memberof Row * @param {string} fieldName 需要设置meta信息的字段名 * @param {string} key meta信息的key * @param {string} value meta信息的值 * @example * row.setMeta('filed1','type','string') */ const setMeta = function(fieldName, key, value) { var meta = rowUtilFunObj._getField(this, fieldName).meta if (!meta) meta = rowUtilFunObj._getField(this, fieldName).meta = {} var oldValue = meta[key] if (rowUtilFunObj.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 const rowMetaFunObj = { setMeta: setMeta }