neo.mjs 5.3.17 → 5.4.1
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/Page4.mjs +6 -0
- package/apps/form/view/pages/Page9.mjs +15 -8
- package/examples/ServiceWorker.mjs +2 -2
- package/package.json +3 -3
- package/resources/examples/data/formSideNav.json +1 -1
- package/src/DefaultConfig.mjs +2 -2
- package/src/form/Container.mjs +7 -2
- package/src/form/Fieldset.mjs +7 -7
- package/src/form/field/CheckBox.mjs +10 -1
- package/src/form/field/Hidden.mjs +28 -0
package/apps/ServiceWorker.mjs
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import FormPageContainer from '../FormPageContainer.mjs';
|
2
|
-
import
|
2
|
+
import HiddenField from '../../../../src/form/field/Hidden.mjs';
|
3
|
+
import Label from '../../../../src/component/Label.mjs';
|
3
4
|
|
4
5
|
/**
|
5
6
|
* @class Form.view.pages.Page9
|
@@ -12,18 +13,24 @@ class Page9 extends FormPageContainer {
|
|
12
13
|
* @protected
|
13
14
|
*/
|
14
15
|
className: 'Form.view.pages.Page9',
|
16
|
+
/**
|
17
|
+
* @member {String} formGroup='page9'
|
18
|
+
*/
|
19
|
+
formGroup: 'page9',
|
15
20
|
/**
|
16
21
|
* @member {Object[]} items
|
17
22
|
*/
|
18
23
|
items: [{
|
19
|
-
module
|
20
|
-
|
21
|
-
|
22
|
-
|
24
|
+
module: Label,
|
25
|
+
text : 'Hidden fields will not get mounted. Inspect the DOM.'
|
26
|
+
}, {
|
27
|
+
module: HiddenField,
|
28
|
+
name : 'field1',
|
29
|
+
value : 'foo'
|
23
30
|
}, {
|
24
|
-
module
|
25
|
-
|
26
|
-
|
31
|
+
module: HiddenField,
|
32
|
+
name : 'field2',
|
33
|
+
value : 'bar'
|
27
34
|
}]
|
28
35
|
}
|
29
36
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "neo.mjs",
|
3
|
-
"version": "5.
|
3
|
+
"version": "5.4.1",
|
4
4
|
"description": "The webworkers driven UI framework",
|
5
5
|
"type": "module",
|
6
6
|
"repository": {
|
@@ -56,8 +56,8 @@
|
|
56
56
|
"neo-jsdoc": "^1.0.1",
|
57
57
|
"neo-jsdoc-x": "^1.0.5",
|
58
58
|
"postcss": "^8.4.21",
|
59
|
-
"sass": "^1.
|
60
|
-
"webpack": "^5.
|
59
|
+
"sass": "^1.61.0",
|
60
|
+
"webpack": "^5.78.0",
|
61
61
|
"webpack-cli": "^5.0.1",
|
62
62
|
"webpack-dev-server": "4.13.2",
|
63
63
|
"webpack-hook-plugin": "^1.0.7",
|
@@ -13,7 +13,7 @@
|
|
13
13
|
{"id": 9, "cardIndex": 6, "isHeader": false, "isValid": null, "name": "Fieldsets"},
|
14
14
|
{"id": 10, "cardIndex": null, "isHeader": true, "isValid": null, "name": "3. More data"},
|
15
15
|
{"id": 11, "cardIndex": 7, "isHeader": false, "isValid": null, "name": "NumberFields"},
|
16
|
-
{"id": 12, "cardIndex": 8, "isHeader": false, "isValid": null, "name": "
|
16
|
+
{"id": 12, "cardIndex": 8, "isHeader": false, "isValid": null, "name": "HiddenFields"},
|
17
17
|
{"id": 13, "cardIndex": 9, "isHeader": false, "isValid": null, "name": "Page 10"},
|
18
18
|
{"id": 14, "cardIndex": null, "isHeader": true, "isValid": null, "name": "3. Optional data"},
|
19
19
|
{"id": 15, "cardIndex": 10, "isHeader": false, "isValid": null, "name": "Page 11"},
|
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.
|
240
|
+
* @default '5.4.1'
|
241
241
|
* @memberOf! module:Neo
|
242
242
|
* @name config.version
|
243
243
|
* @type String
|
244
244
|
*/
|
245
|
-
version: '5.
|
245
|
+
version: '5.4.1'
|
246
246
|
};
|
247
247
|
|
248
248
|
Object.assign(DefaultConfig, {
|
package/src/form/Container.mjs
CHANGED
@@ -122,14 +122,19 @@ class Container extends BaseContainer {
|
|
122
122
|
ns = values;
|
123
123
|
}
|
124
124
|
|
125
|
+
/*
|
126
|
+
* CheckBoxes need custom logic
|
127
|
+
* => we only want to pass the uncheckedValue in case the field does not belong to a group
|
128
|
+
* (multiple fields using the same name)
|
129
|
+
*/
|
125
130
|
if (Object.hasOwn(ns, key) && value !== undefined) {
|
126
|
-
if (ns[key] ===
|
131
|
+
if (ns[key] === item.uncheckedValue) {
|
127
132
|
ns[key] = []
|
128
133
|
} else if (!Array.isArray(ns[key])) {
|
129
134
|
ns[key] = [ns[key]]
|
130
135
|
}
|
131
136
|
|
132
|
-
value !==
|
137
|
+
value !== item.uncheckedValue && ns[key].unshift(value)
|
133
138
|
} else if (value !== undefined) {
|
134
139
|
ns[key] = value
|
135
140
|
}
|
package/src/form/Fieldset.mjs
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
import
|
2
|
-
import Legend
|
3
|
-
import NeoArray
|
1
|
+
import FormContainer from '../form/Container.mjs';
|
2
|
+
import Legend from '../component/Legend.mjs';
|
3
|
+
import NeoArray from '../util/Array.mjs';
|
4
4
|
|
5
5
|
/**
|
6
6
|
* @class Neo.form.Fieldset
|
7
|
-
* @extends Neo.
|
7
|
+
* @extends Neo.form.Container
|
8
8
|
*/
|
9
|
-
class Fieldset extends
|
9
|
+
class Fieldset extends FormContainer {
|
10
10
|
static config = {
|
11
11
|
/**
|
12
12
|
* @member {String} className='Neo.form.Fieldset'
|
@@ -67,9 +67,9 @@ class Fieldset extends Container {
|
|
67
67
|
*/
|
68
68
|
title_: '',
|
69
69
|
/**
|
70
|
-
* @member {Object}
|
70
|
+
* @member {Object} vdom={tag:'fieldset',cn:[]}
|
71
71
|
*/
|
72
|
-
|
72
|
+
vdom:
|
73
73
|
{tag: 'fieldset', cn: []}
|
74
74
|
}
|
75
75
|
|
@@ -91,6 +91,13 @@ class CheckBox extends Base {
|
|
91
91
|
]}
|
92
92
|
}
|
93
93
|
|
94
|
+
/**
|
95
|
+
* In case the CheckBox does not belong to a group (multiple fields with the same name),
|
96
|
+
* you can pass a custom value for the unchecked state.
|
97
|
+
* @member {*} uncheckedValue=null
|
98
|
+
*/
|
99
|
+
uncheckedValue = null
|
100
|
+
|
94
101
|
/**
|
95
102
|
* @param {Object} config
|
96
103
|
*/
|
@@ -316,7 +323,9 @@ class CheckBox extends Base {
|
|
316
323
|
* @returns {String|null}
|
317
324
|
*/
|
318
325
|
getValue() {
|
319
|
-
|
326
|
+
let me = this;
|
327
|
+
|
328
|
+
return me.checked ? me.value : me.uncheckedValue
|
320
329
|
}
|
321
330
|
|
322
331
|
/**
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import Base from './Base.mjs';
|
2
|
+
|
3
|
+
/**
|
4
|
+
* @class Neo.form.field.Hidden
|
5
|
+
* @extends Neo.form.field.Base
|
6
|
+
*/
|
7
|
+
class Hidden extends Base {
|
8
|
+
static config = {
|
9
|
+
/**
|
10
|
+
* @member {String} className='Neo.form.field.Hidden'
|
11
|
+
* @protected
|
12
|
+
*/
|
13
|
+
className: 'Neo.form.field.Hidden',
|
14
|
+
/**
|
15
|
+
* @member {String} ntype='hiddenfield'
|
16
|
+
* @protected
|
17
|
+
*/
|
18
|
+
ntype: 'hiddenfield',
|
19
|
+
/**
|
20
|
+
* @member {Boolean} hidden=true
|
21
|
+
*/
|
22
|
+
hidden: true
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
Neo.applyClassConfig(Hidden);
|
27
|
+
|
28
|
+
export default Hidden;
|