UNPKG

1.81 kBJavaScriptView Raw
1/**
2 * Module : kero dataTable row meta
3 * Author : liuyk(liuyk@yonyou.com)
4 * Date : 2016-08-08 13:54:01
5 */
6import {eq, _getField} from './row-util';
7
8/**
9 *设置row中某一列的属性
10 */
11const setMeta = function (fieldName, key, value) {
12 var meta = _getField(this, fieldName).meta
13 if (!meta)
14 meta = _getField(this, fieldName).meta = {}
15 var oldValue = meta[key]
16 if (eq(oldValue, value)) return;
17 meta[key] = value
18 //this.metaChange(- this.metaChange())
19 if (this.metaChange[fieldName + '.' + key]) {
20 this.metaChange[fieldName + '.' + key](-this.metaChange[fieldName + '.' + key]());
21 }
22
23 if (key == 'enable')
24 this.parent.enableChange(-this.parent.enableChange())
25 if (this.parent.getCurrentRow() == this) {
26 if (this.parent.metaChange[fieldName + '.' + key])
27 this.parent.metaChange[fieldName + '.' + key](-this.parent.metaChange[fieldName + '.' + key]());
28 this.parent.trigger(fieldName + '.' + key + '.' + DataTable.ON_CURRENT_META_CHANGE, {
29 eventType: 'dataTableEvent',
30 dataTable: this.parent.id,
31 oldValue: oldValue,
32 newValue: value
33 });
34 //this.parent.metaChange(- this.parent.metaChange())
35 }
36 this.parent.trigger(DataTable.ON_ROW_META_CHANGE, {
37 eventType: 'dataTableEvent',
38 dataTable: this.parent.id,
39 field: fieldName,
40 meta: key,
41 oldValue: oldValue,
42 newValue: value,
43 row: this
44 });
45
46 this.parent.trigger(fieldName + '.' + key + '.' + DataTable.ON_ROW_META_CHANGE, {
47 eventType: 'dataTableEvent',
48 dataTable: this.parent.id,
49 field: fieldName,
50 meta: key,
51 oldValue: oldValue,
52 newValue: value,
53 row: this
54 });
55}
56
57
58export {
59 setMeta
60}
\No newline at end of file