neo.mjs 8.37.0 → 8.38.0

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.37.0'
23
+ * @member {String} version='8.38.0'
24
24
  */
25
- version: '8.37.0'
25
+ version: '8.38.0'
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.37.0'
110
+ html : 'v8.38.0'
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.37.0'
23
+ * @member {String} version='8.38.0'
24
24
  */
25
- version: '8.37.0'
25
+ version: '8.38.0'
26
26
  }
27
27
 
28
28
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "8.37.0",
3
+ "version": "8.38.0",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -263,12 +263,12 @@ const DefaultConfig = {
263
263
  useVdomWorker: true,
264
264
  /**
265
265
  * buildScripts/injectPackageVersion.mjs will update this value
266
- * @default '8.37.0'
266
+ * @default '8.38.0'
267
267
  * @memberOf! module:Neo
268
268
  * @name config.version
269
269
  * @type String
270
270
  */
271
- version: '8.37.0'
271
+ version: '8.38.0'
272
272
  };
273
273
 
274
274
  Object.assign(DefaultConfig, {
@@ -83,9 +83,9 @@ class RecordFactory extends Base {
83
83
  },
84
84
  set(value) {
85
85
  instance.setRecordFields({
86
- fields: {[fieldPath]: instance.parseRecordValue(this, field, value)},
86
+ fields: {[fieldPath]: instance.parseRecordValue({record: this, field, value})},
87
87
  model,
88
- record: this,
88
+ record: this
89
89
  })
90
90
  }
91
91
  }
@@ -152,10 +152,11 @@ class RecordFactory extends Base {
152
152
  if (model.trackModifiedFields) {
153
153
  me[originalDataSymbol] = {};
154
154
  me.setOriginal(config)
155
+ } else {
156
+ me[isModifiedSymbol] = false
155
157
  }
156
158
 
157
159
  me.setSilent(config); // We do not want to fire change events when constructing
158
- me[isModifiedSymbol] = false
159
160
  }
160
161
 
161
162
  /**
@@ -272,16 +273,17 @@ class RecordFactory extends Base {
272
273
  }
273
274
 
274
275
  /**
275
- * todo: parse value for more field types
276
- * @param {Object} record
277
- * @param {Object} field
278
- * @param {*} value=null
279
- * @param {Object} recordConfig=null
276
+ * @param {Object} data
277
+ * @param {Object} data.record
278
+ * @param {Object} data.field
279
+ * @param {*} [data.value=null]
280
+ * @param {Object} [data.recordConfig=null]
281
+ * @param {Boolean} [data.useOriginalData=false]
280
282
  * @returns {*}
281
283
  */
282
- parseRecordValue(record, field, value=null, recordConfig=null) {
284
+ parseRecordValue({record, field, value=null, recordConfig=null, useOriginalData=false}) {
283
285
  if (field.calculate) {
284
- return field.calculate(record, field, recordConfig)
286
+ return field.calculate(record[useOriginalData ? originalDataSymbol : dataSymbol], field)
285
287
  }
286
288
 
287
289
  if (field.convert) {
@@ -411,7 +413,7 @@ class RecordFactory extends Base {
411
413
  })
412
414
  } else if (fieldExists) {
413
415
  oldValue = record[key];
414
- value = me.parseRecordValue(record, model.getField(key), value);
416
+ value = me.parseRecordValue({record, field: model.getField(key), value});
415
417
 
416
418
  if (!Neo.isEqual(oldValue, value)) {
417
419
  me.setRecordData({fieldName: key, model, record, useOriginalData, value});
@@ -430,7 +432,7 @@ class RecordFactory extends Base {
430
432
  if (hasChangedFields) {
431
433
  calculatedFieldsMap.forEach((value, key) => {
432
434
  oldValue = record[key];
433
- value = me.parseRecordValue(record, model.getField(key));
435
+ value = me.parseRecordValue({record, field: model.getField(key), useOriginalData});
434
436
 
435
437
  if (!Neo.isEqual(oldValue, value)) {
436
438
  me.setRecordData({fieldName: key, model, record, useOriginalData, value});