1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 | |
8 |
|
9 |
|
10 |
|
11 | const init = function () {
|
12 | var meta = this.parent.meta;
|
13 |
|
14 | for (var key in meta) {
|
15 | var targetData;
|
16 | if (key.indexOf('.') > 0){
|
17 | var keys = key.split('.');
|
18 | targetData = this.data[keys[0]] = this.data[keys[0]] || {};
|
19 | for(var i = 1; i< keys.length; i++){
|
20 | targetData[keys[i]] = targetData[keys[i]] || {};
|
21 | targetData = targetData[keys[i]];
|
22 | }
|
23 | }else{
|
24 | this.data[key] = this.data[key] || {}
|
25 | targetData = this.data[key];
|
26 | }
|
27 | targetData.value = null;
|
28 |
|
29 |
|
30 | if (meta[key]['type'] && meta[key]['type'] === 'child'){
|
31 | targetData.isChild = true;
|
32 |
|
33 | var ns = this.parent.ns === '' ? key : this.parent.ns + '.' + key
|
34 | targetData.value = new u.DataTable({root:this.parent.root,ns:ns,meta:meta[key]['meta']});
|
35 | }
|
36 |
|
37 | else if (meta[key]['default']) {
|
38 | var defaults = meta[key]['default']
|
39 | if (typeof defaults === 'object'){
|
40 | for (var k in defaults) {
|
41 | if (k == 'value'){
|
42 | if (typeof defaults[k] === 'function')
|
43 | targetData.value = this.formatValue(key,defaults[k]());
|
44 | else
|
45 | targetData.value = this.formatValue(key,defaults[k]);
|
46 | }
|
47 | else {
|
48 | targetData.meta = targetData.meta || {}
|
49 | targetData.meta[k] = defaults[k]
|
50 | }
|
51 | }
|
52 | }else{
|
53 | if (typeof defaults === 'function')
|
54 | targetData.value = this.formatValue(key, defaults());
|
55 | else
|
56 | targetData.value = this.formatValue(key,defaults);
|
57 | }
|
58 | }
|
59 | }
|
60 | }
|
61 |
|
62 |
|
63 | export {
|
64 | init
|
65 | } |
\ | No newline at end of file |