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.
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='8.7.0'
23
+ * @member {String} version='8.7.1'
24
24
  */
25
- version: '8.7.0'
25
+ version: '8.7.1'
26
26
  }
27
27
 
28
28
  /**
@@ -107,7 +107,7 @@ class FooterContainer extends Container {
107
107
  }, {
108
108
  module: Component,
109
109
  cls : ['neo-version'],
110
- html : 'v8.7.0'
110
+ html : 'v8.7.1'
111
111
  }]
112
112
  }],
113
113
  /**
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='8.7.0'
23
+ * @member {String} version='8.7.1'
24
24
  */
25
- version: '8.7.0'
25
+ version: '8.7.1'
26
26
  }
27
27
 
28
28
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "8.7.0",
3
+ "version": "8.7.1",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -77,6 +77,10 @@
77
77
  margin-right: 0.3em;
78
78
  padding : 0;
79
79
 
80
+ &:active {
81
+ border: none !important;
82
+ }
83
+
80
84
  &:last-child {
81
85
  margin-right: 0;
82
86
  }
@@ -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.0'
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.0'
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)
@@ -413,8 +413,7 @@ class Dialog extends Panel {
413
413
 
414
414
  // rendered outside the visible area
415
415
  await me.render(true);
416
-
417
- await me.timeout(30);
416
+ await me.timeout(150);
418
417
 
419
418
  let [dialogRect, bodyRect] = await me.getDomRect([me.id, 'document.body']);
420
419