UNPKG

kero

Version:

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

62 lines (58 loc) 2.08 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') */ var setMeta = function setMeta(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 var rowMetaFunObj = { setMeta: setMeta };