neo.mjs 5.2.2 → 5.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/ServiceWorker.mjs +2 -2
- package/apps/form/view/pages/Page5.mjs +8 -3
- package/apps/form/view/pages/Page6.mjs +6 -2
- package/examples/ServiceWorker.mjs +2 -2
- package/package.json +1 -1
- package/src/DefaultConfig.mjs +2 -2
- package/src/form/Container.mjs +8 -2
- package/src/form/field/Base.mjs +42 -1
package/apps/ServiceWorker.mjs
CHANGED
@@ -12,18 +12,23 @@ class Page5 extends FormPageContainer {
|
|
12
12
|
* @protected
|
13
13
|
*/
|
14
14
|
className: 'Form.view.pages.Page5',
|
15
|
+
/**
|
16
|
+
* @member {String} formGroup='page5'
|
17
|
+
*/
|
18
|
+
formGroup: 'page5',
|
15
19
|
/**
|
16
20
|
* @member {Object[]} items
|
17
21
|
*/
|
18
22
|
items: [{
|
19
23
|
module : TextField,
|
20
24
|
labelText: 'Page 5 Field 1',
|
21
|
-
name : '
|
22
|
-
required : true
|
25
|
+
name : 'field1',
|
26
|
+
required : true,
|
27
|
+
value : 'bar'
|
23
28
|
}, {
|
24
29
|
module : TextField,
|
25
30
|
labelText: 'Page 5 Field 2',
|
26
|
-
name : '
|
31
|
+
name : 'field2'
|
27
32
|
}]
|
28
33
|
}
|
29
34
|
}
|
@@ -12,18 +12,22 @@ class Page6 extends FormPageContainer {
|
|
12
12
|
* @protected
|
13
13
|
*/
|
14
14
|
className: 'Form.view.pages.Page6',
|
15
|
+
/**
|
16
|
+
* @member {String} formGroup='page6'
|
17
|
+
*/
|
18
|
+
formGroup: 'page6',
|
15
19
|
/**
|
16
20
|
* @member {Object[]} items
|
17
21
|
*/
|
18
22
|
items: [{
|
19
23
|
module : TextField,
|
20
24
|
labelText: 'Page 6 Field 1',
|
21
|
-
name : '
|
25
|
+
name : 'field1',
|
22
26
|
required : true
|
23
27
|
}, {
|
24
28
|
module : TextField,
|
25
29
|
labelText: 'Page 6 Field 2',
|
26
|
-
name : '
|
30
|
+
name : 'field2'
|
27
31
|
}]
|
28
32
|
}
|
29
33
|
}
|
package/package.json
CHANGED
package/src/DefaultConfig.mjs
CHANGED
@@ -237,12 +237,12 @@ const DefaultConfig = {
|
|
237
237
|
useVdomWorker: true,
|
238
238
|
/**
|
239
239
|
* buildScripts/injectPackageVersion.mjs will update this value
|
240
|
-
* @default '5.2.
|
240
|
+
* @default '5.2.3'
|
241
241
|
* @memberOf! module:Neo
|
242
242
|
* @name config.version
|
243
243
|
* @type String
|
244
244
|
*/
|
245
|
-
version: '5.2.
|
245
|
+
version: '5.2.3'
|
246
246
|
};
|
247
247
|
|
248
248
|
Object.assign(DefaultConfig, {
|
package/src/form/Container.mjs
CHANGED
@@ -90,13 +90,19 @@ class Container extends BaseContainer {
|
|
90
90
|
async getValues() {
|
91
91
|
let fields = await this.getFields(),
|
92
92
|
values = {},
|
93
|
-
key, ns, nsArray, value;
|
93
|
+
itemName, key, ns, nsArray, value;
|
94
94
|
|
95
95
|
fields.forEach(item => {
|
96
96
|
value = item.getValue();
|
97
97
|
|
98
98
|
if (item.name) {
|
99
|
-
|
99
|
+
itemName = item.name;
|
100
|
+
|
101
|
+
if (item.formGroup) {
|
102
|
+
itemName = item.formGroup + '.' + itemName;
|
103
|
+
}
|
104
|
+
|
105
|
+
nsArray = itemName.split('.');
|
100
106
|
key = nsArray.pop();
|
101
107
|
ns = Neo.ns(nsArray, true, values);
|
102
108
|
} else {
|
package/src/form/field/Base.mjs
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
import Component
|
1
|
+
import Component from '../../component/Base.mjs';
|
2
|
+
import ComponentManager from '../../manager/Component.mjs';
|
2
3
|
|
3
4
|
/**
|
4
5
|
* Abstract base class for form fields
|
@@ -17,12 +18,24 @@ class Base extends Component {
|
|
17
18
|
* @protected
|
18
19
|
*/
|
19
20
|
ntype: 'basefield',
|
21
|
+
/**
|
22
|
+
* Form groups can get set on any parent component level.
|
23
|
+
* An alternative way for using dots in field names.
|
24
|
+
* @member {String|null} formGroup_=null
|
25
|
+
*/
|
26
|
+
formGroup_: null,
|
20
27
|
/**
|
21
28
|
* @member {*} value_=null
|
22
29
|
*/
|
23
30
|
value_: null
|
24
31
|
}
|
25
32
|
|
33
|
+
/**
|
34
|
+
* An internal cache for formGroups of all parent levels
|
35
|
+
* @member {String|null} formGroupString=null
|
36
|
+
*/
|
37
|
+
formGroupString = null
|
38
|
+
|
26
39
|
/**
|
27
40
|
* Triggered after the value config got changed
|
28
41
|
* @param {*} value
|
@@ -34,6 +47,34 @@ class Base extends Component {
|
|
34
47
|
}
|
35
48
|
}
|
36
49
|
|
50
|
+
/**
|
51
|
+
* Triggered when accessing the formGroup config
|
52
|
+
* @param {String|null} value
|
53
|
+
* @returns {String|null} parents
|
54
|
+
* @protected
|
55
|
+
*/
|
56
|
+
beforeGetFormGroup(value) {
|
57
|
+
let me = this,
|
58
|
+
group = [],
|
59
|
+
returnValue;
|
60
|
+
|
61
|
+
if (me.formGroupString) {
|
62
|
+
return me.formGroupString;
|
63
|
+
}
|
64
|
+
|
65
|
+
value && group.push(value);
|
66
|
+
|
67
|
+
ComponentManager.getParents(me).forEach(parent => {
|
68
|
+
parent.formGroup && group.push(parent.formGroup)
|
69
|
+
});
|
70
|
+
|
71
|
+
returnValue = group.join('.');
|
72
|
+
|
73
|
+
me.formGroupString = returnValue;
|
74
|
+
|
75
|
+
return returnValue;
|
76
|
+
}
|
77
|
+
|
37
78
|
/**
|
38
79
|
* Override this method as needed
|
39
80
|
* @param {*} value
|