neo.mjs 5.3.11 → 5.3.13

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='5.3.11'
23
+ * @member {String} version='5.3.13'
24
24
  */
25
- version: '5.3.11'
25
+ version: '5.3.13'
26
26
  }
27
27
 
28
28
  /**
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='5.3.11'
23
+ * @member {String} version='5.3.13'
24
24
  */
25
- version: '5.3.11'
25
+ version: '5.3.13'
26
26
  }
27
27
 
28
28
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "5.3.11",
3
+ "version": "5.3.13",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -237,12 +237,12 @@ const DefaultConfig = {
237
237
  useVdomWorker: true,
238
238
  /**
239
239
  * buildScripts/injectPackageVersion.mjs will update this value
240
- * @default '5.3.11'
240
+ * @default '5.3.13'
241
241
  * @memberOf! module:Neo
242
242
  * @name config.version
243
243
  * @type String
244
244
  */
245
- version: '5.3.11'
245
+ version: '5.3.13'
246
246
  };
247
247
 
248
248
  Object.assign(DefaultConfig, {
@@ -115,7 +115,9 @@ class Observable extends Base {
115
115
  if (eventConfig.scope && !eventConfig.scope.id) {
116
116
  listeners[name].splice(i, 1);
117
117
  } else {
118
- eventConfig.fn.apply(eventConfig.scope || me, eventConfig.data ? args.concat(eventConfig.data) : args);
118
+ if (!me.suspendEvents) {
119
+ eventConfig.fn.apply(eventConfig.scope || me, eventConfig.data ? args.concat(eventConfig.data) : args);
120
+ }
119
121
  }
120
122
  }
121
123
  }
@@ -180,31 +180,33 @@ class Container extends BaseContainer {
180
180
  * @param {Object} [values]
181
181
  */
182
182
  async reset(values={}) {
183
- let keys = values ? Object.keys(values) : [],
184
- fields = await this.getFields(),
185
- index;
183
+ let me = this,
184
+ fields = await me.getFields(),
185
+ path, value;
186
186
 
187
187
  fields.forEach(item => {
188
- index = keys.indexOf(item.name);
189
-
190
- if (index < 0) {
191
- index = keys.indexOf(item.id);
192
- }
188
+ path = me.getFieldPath(item);
189
+ value = Neo.nsWithArrays(path, false, values);
193
190
 
194
- item.reset(index > -1 ? values[keys[index]] : null);
191
+ item.reset(path ? value : null);
195
192
  })
196
193
  }
197
194
 
198
195
  /**
199
196
  * Set field values by field name or field id
200
197
  * @param {Object} values={}
198
+ * @param {Boolean} suspendEvents=false
201
199
  */
202
- async setValues(values={}) {
200
+ async setValues(values={}, suspendEvents=false) {
203
201
  let me = this,
204
202
  fields = await me.getFields(),
205
203
  isRadio, path, value;
206
204
 
207
205
  fields.forEach(item => {
206
+ if (suspendEvents) {
207
+ item.suspendEvents = true;
208
+ }
209
+
208
210
  path = me.getFieldPath(item);
209
211
  value = Neo.nsWithArrays(path, false, values);
210
212
 
@@ -217,13 +219,15 @@ class Container extends BaseContainer {
217
219
  isRadio = Neo.form.field?.Radio && item instanceof Neo.form.field.Radio;
218
220
 
219
221
  if (isRadio) {
220
- if (item.value === value) {
221
- item.checked = true;
222
- }
222
+ item.checked = item.value === value;
223
223
  } else {
224
224
  item.value = value;
225
225
  }
226
226
  }
227
+
228
+ if (suspendEvents) {
229
+ delete item.suspendEvents;
230
+ }
227
231
  })
228
232
  }
229
233
 
@@ -90,15 +90,17 @@ class Base extends Component {
90
90
  value
91
91
  });
92
92
 
93
- ComponentManager.getParents(me).forEach(parent => {
94
- if (FormContainer && parent instanceof FormContainer) {
95
- parent.fire('fieldChange', {
96
- component: me,
97
- oldValue,
98
- value
99
- })
100
- }
101
- })
93
+ if (!me.suspendEvents) {
94
+ ComponentManager.getParents(me).forEach(parent => {
95
+ if (FormContainer && parent instanceof FormContainer) {
96
+ parent.fire('fieldChange', {
97
+ component: me,
98
+ oldValue,
99
+ value
100
+ })
101
+ }
102
+ })
103
+ }
102
104
  }
103
105
 
104
106
  /**
@@ -123,16 +125,19 @@ class Base extends Component {
123
125
  onFocusLeave(data) {
124
126
  super.onFocusLeave?.(data);
125
127
 
126
- let FormContainer = Neo.form?.Container;
128
+ let me = this,
129
+ FormContainer = Neo.form?.Container;
127
130
 
128
- ComponentManager.getParents(this).forEach(parent => {
129
- if (FormContainer && parent instanceof FormContainer) {
130
- parent.fire('fieldFocusLeave', {
131
- ...data,
132
- component: this
133
- })
134
- }
135
- })
131
+ if (!me.suspendEvents) {
132
+ ComponentManager.getParents(me).forEach(parent => {
133
+ if (FormContainer && parent instanceof FormContainer) {
134
+ parent.fire('fieldFocusLeave', {
135
+ ...data,
136
+ component: me
137
+ })
138
+ }
139
+ })
140
+ }
136
141
  }
137
142
 
138
143
  /**