neo.mjs 8.4.0 → 8.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.
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='8.4.0'
23
+ * @member {String} version='8.4.1'
24
24
  */
25
- version: '8.4.0'
25
+ version: '8.4.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.4.0'
110
+ html : 'v8.4.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.4.0'
23
+ * @member {String} version='8.4.1'
24
24
  */
25
- version: '8.4.0'
25
+ version: '8.4.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.4.0",
3
+ "version": "8.4.1",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -262,12 +262,12 @@ const DefaultConfig = {
262
262
  useVdomWorker: true,
263
263
  /**
264
264
  * buildScripts/injectPackageVersion.mjs will update this value
265
- * @default '8.4.0'
265
+ * @default '8.4.1'
266
266
  * @memberOf! module:Neo
267
267
  * @name config.version
268
268
  * @type String
269
269
  */
270
- version: '8.4.0'
270
+ version: '8.4.1'
271
271
  };
272
272
 
273
273
  Object.assign(DefaultConfig, {
@@ -1181,7 +1181,12 @@ class Collection extends Base {
1181
1181
  }
1182
1182
 
1183
1183
  if (addedItems.length > 0) {
1184
- items.splice(Neo.isNumber(index) ? index : items.length, 0, ...addedItems);
1184
+ if (items.length === 0) {
1185
+ // Performance improvement for Safari, see: https://github.com/neomjs/neo/issues/6228
1186
+ me._items = addedItems
1187
+ } else {
1188
+ items.splice(Neo.isNumber(index) ? index : items.length, 0, ...addedItems)
1189
+ }
1185
1190
 
1186
1191
  if (me.autoSort && me._sorters.length > 0) {
1187
1192
  me.doSort()
@@ -256,21 +256,23 @@ class Store extends Base {
256
256
  * @returns {*}
257
257
  */
258
258
  beforeSetData(value, oldValue) {
259
- let me = this;
260
-
261
259
  if (value) {
262
260
  if (!Array.isArray(value)) {
263
261
  value = [value]
264
262
  }
265
263
 
266
- // todo: add a config to make the cloning optional
267
- value = Neo.clone(value, true);
264
+ let me = this,
265
+ i = 0,
266
+ len = value.length,
267
+ item;
268
+
269
+ for (; i < len; i++) {
270
+ item = value[i]
268
271
 
269
- value.forEach((key, index) => {
270
- if (!RecordFactory.isRecord(key)) {
271
- value[index] = RecordFactory.createRecord(me.model, key)
272
+ if (!RecordFactory.isRecord(item)) {
273
+ value[i] = RecordFactory.createRecord(me.model, item)
272
274
  }
273
- })
275
+ }
274
276
  }
275
277
 
276
278
  return value