1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | import {eq, _getField} from './row-util';
|
7 |
|
8 |
|
9 |
|
10 |
|
11 | const 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 |
|
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 |
|
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 |
|
58 | export {
|
59 | setMeta
|
60 | } |
\ | No newline at end of file |