neo.mjs 8.7.0 → 8.7.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/portal/view/home/FooterContainer.mjs +1 -1
- package/examples/ServiceWorker.mjs +2 -2
- package/package.json +1 -1
- package/resources/scss/src/dialog/Base.scss +4 -0
- package/src/DefaultConfig.mjs +2 -2
- package/src/data/RecordFactory.mjs +33 -0
- package/src/dialog/Base.mjs +1 -2
package/apps/ServiceWorker.mjs
CHANGED
package/package.json
CHANGED
package/src/DefaultConfig.mjs
CHANGED
@@ -262,12 +262,12 @@ const DefaultConfig = {
|
|
262
262
|
useVdomWorker: true,
|
263
263
|
/**
|
264
264
|
* buildScripts/injectPackageVersion.mjs will update this value
|
265
|
-
* @default '8.7.
|
265
|
+
* @default '8.7.1'
|
266
266
|
* @memberOf! module:Neo
|
267
267
|
* @name config.version
|
268
268
|
* @type String
|
269
269
|
*/
|
270
|
-
version: '8.7.
|
270
|
+
version: '8.7.1'
|
271
271
|
};
|
272
272
|
|
273
273
|
Object.assign(DefaultConfig, {
|
@@ -31,6 +31,37 @@ class RecordFactory extends Base {
|
|
31
31
|
singleton: true
|
32
32
|
}
|
33
33
|
|
34
|
+
/**
|
35
|
+
* Assigns model based default values to a data object
|
36
|
+
* @param {Object} data
|
37
|
+
* @param {Record} record
|
38
|
+
* @param {Neo.data.Model} model
|
39
|
+
* @returns {Object}
|
40
|
+
*/
|
41
|
+
assignDefaultValues(data, record, model) {
|
42
|
+
let {hasNestedFields} = model,
|
43
|
+
scope;
|
44
|
+
|
45
|
+
model.fieldsMap.forEach((field, fieldName) => {
|
46
|
+
if (Object.hasOwn(field, 'defaultValue')) {
|
47
|
+
if (hasNestedFields && fieldName.includes('.')) {
|
48
|
+
let nsArray = fieldName.split('.');
|
49
|
+
|
50
|
+
fieldName = nsArray.pop();
|
51
|
+
scope = Neo.ns(nsArray, true, data)
|
52
|
+
} else {
|
53
|
+
scope = data
|
54
|
+
}
|
55
|
+
|
56
|
+
if (scope[fieldName] === undefined) {
|
57
|
+
scope[fieldName] = field.defaultValue
|
58
|
+
}
|
59
|
+
}
|
60
|
+
});
|
61
|
+
|
62
|
+
return data
|
63
|
+
}
|
64
|
+
|
34
65
|
/**
|
35
66
|
* @param {Object} data
|
36
67
|
* @param {Object} data.field
|
@@ -136,6 +167,8 @@ class RecordFactory extends Base {
|
|
136
167
|
constructor(config) {
|
137
168
|
let me = this;
|
138
169
|
|
170
|
+
config = instance.assignDefaultValues(config, me, model);
|
171
|
+
|
139
172
|
if (model.trackModifiedFields) {
|
140
173
|
me[originalDataSymbol] = {};
|
141
174
|
me.setOriginal(config)
|
package/src/dialog/Base.mjs
CHANGED