1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 | var setMeta = function setMeta(fieldName, key, value) {
|
16 | if (!this.meta[fieldName]) return;
|
17 | var oldValue = this.meta[fieldName][key];
|
18 | var currRow = this.getCurrentRow();
|
19 | this.meta[fieldName][key] = value;
|
20 | if (this.metaChange[fieldName + '.' + key]) this.metaChange[fieldName + '.' + key](-this.metaChange[fieldName + '.' + key]());
|
21 | if (key == 'enable') this.enableChange(-this.enableChange());
|
22 | this.trigger(DataTable.ON_META_CHANGE, {
|
23 | eventType: 'dataTableEvent',
|
24 | dataTable: this.id,
|
25 | field: fieldName,
|
26 | meta: key,
|
27 | oldValue: oldValue,
|
28 | newValue: value
|
29 | });
|
30 | if (currRow && !currRow.getMeta(fieldName, key, false)) {
|
31 | this.trigger(fieldName + '.' + key + '.' + DataTable.ON_CURRENT_META_CHANGE, {
|
32 | eventType: 'dataTableEvent',
|
33 | dataTable: this.id,
|
34 | oldValue: oldValue,
|
35 | newValue: value
|
36 | });
|
37 | }
|
38 | };
|
39 |
|
40 |
|
41 |
|
42 |
|
43 | var updateMeta = function updateMeta(meta) {
|
44 | if (!meta) {
|
45 | return;
|
46 | }
|
47 | for (var fieldKey in meta) {
|
48 | for (var propKey in meta[fieldKey]) {
|
49 | var oldValue = this.meta[fieldKey][propKey];
|
50 | var newValue = meta[fieldKey][propKey];
|
51 | if (propKey === 'default') {
|
52 | if (!this.meta[fieldKey]['default']) {
|
53 | this.meta[fieldKey]['default'] = {};
|
54 | }
|
55 | this.meta[fieldKey]['default'].value = meta[fieldKey][propKey];
|
56 | } else if (propKey === 'display') {
|
57 | if (!this.meta[fieldKey]['default']) {
|
58 | this.meta[fieldKey]['default'] = {};
|
59 | }
|
60 | this.meta[fieldKey]['default'].display = meta[fieldKey][propKey];
|
61 | } else {
|
62 | this.meta[fieldKey][propKey] = meta[fieldKey][propKey];
|
63 | }
|
64 | if (this.metaChange[fieldKey + '.' + propKey]) this.metaChange[fieldKey + '.' + propKey](-this.metaChange[fieldKey + '.' + propKey]());
|
65 |
|
66 | this.trigger(DataTable.ON_META_CHANGE, {
|
67 | eventType: 'dataTableEvent',
|
68 | dataTable: this.id,
|
69 | field: fieldKey,
|
70 | meta: propKey,
|
71 | oldValue: oldValue,
|
72 | newValue: newValue
|
73 | });
|
74 | }
|
75 | }
|
76 | };
|
77 |
|
78 |
|
79 |
|
80 |
|
81 |
|
82 |
|
83 | var createField = function createField(fieldName, options) {
|
84 |
|
85 | if (this.root.strict == true) return;
|
86 |
|
87 | if (fieldName.indexOf('.') != -1) {
|
88 | var fNames = fieldName.split('.');
|
89 | var _name = fNames[0];
|
90 | for (var i = 0, count = fNames.length; i < count; i++) {
|
91 | if (this.meta[_name] && this.meta[_name]['type'] === 'child') return;
|
92 | if (i + 1 < count) _name = _name + '.' + fNames[i + 1];
|
93 | }
|
94 | }
|
95 | if (!this.meta[fieldName]) {
|
96 | this.meta[fieldName] = {};
|
97 | }
|
98 | if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {
|
99 | if (options['meta']) {
|
100 | for (var key in options['meta']) {
|
101 |
|
102 | this.meta[fieldName]['meta'][key] = options['meta'][key];
|
103 |
|
104 | }
|
105 | } else {
|
106 | for (var key in options) {
|
107 |
|
108 | this.meta[fieldName][key] = options[key];
|
109 |
|
110 | }
|
111 | }
|
112 | }
|
113 |
|
114 | if (this.root !== this) {
|
115 | var nsArr = this.ns.split('.');
|
116 | var _fieldMeta = this.root.meta;
|
117 | for (var i = 0; i < nsArr.length; i++) {
|
118 | _fieldMeta[nsArr[i]] = _fieldMeta[nsArr[i]] || {};
|
119 | _fieldMeta[nsArr[i]]['type'] = _fieldMeta[nsArr[i]]['type'] || 'child';
|
120 | _fieldMeta[nsArr[i]]['meta'] = _fieldMeta[nsArr[i]]['meta'] || {};
|
121 | _fieldMeta = _fieldMeta[nsArr[i]]['meta'];
|
122 | }
|
123 | if (!_fieldMeta[fieldName]) {
|
124 | _fieldMeta[fieldName] = {};
|
125 | }
|
126 | if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {
|
127 | for (var key in options) {
|
128 | if (!_fieldMeta[fieldName][key]) {
|
129 | _fieldMeta[fieldName][key] = options[key];
|
130 | }
|
131 | }
|
132 | }
|
133 | }
|
134 | };
|
135 |
|
136 | exports.setMeta = setMeta;
|
137 | exports.updateMeta = updateMeta;
|
138 | exports.createField = createField; |
\ | No newline at end of file |