Skip to content

Commit b429883

Browse files
committed
data.RecordFactory: _isModified => isModifiedSymbol #6284
1 parent b389f56 commit b429883

1 file changed

Lines changed: 14 additions & 11 deletions

File tree

src/data/RecordFactory.mjs

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import Model from './Model.mjs';
44

55
const
66
dataSymbol = Symbol.for('data'),
7+
isModifiedSymbol = Symbol.for('isModified'),
78
originalDataSymbol = Symbol.for('originalData');
89

910
let instance;
@@ -89,7 +90,9 @@ class RecordFactory extends Base {
8990
if (!Neo.isEqual(value, oldValue)) {
9091
instance.setRecordData({fieldName: fieldPath, model, record: me, value});
9192

92-
me._isModified = me.isModified;
93+
if (!model.trackModifiedFields) {
94+
me[isModifiedSymbol] = true
95+
}
9396

9497
instance.onRecordChange({
9598
fields: [{name: fieldPath, oldValue, value}],
@@ -145,10 +148,10 @@ class RecordFactory extends Base {
145148
let me = this;
146149

147150
if (model.trackModifiedFields) {
148-
return Neo.isEqual(me[dataSymbol], me[originalDataSymbol])
151+
return !Neo.isEqual(me[dataSymbol], me[originalDataSymbol])
149152
}
150153

151-
return me._isModified
154+
return me[isModifiedSymbol]
152155
}
153156

154157
/**
@@ -165,7 +168,7 @@ class RecordFactory extends Base {
165168
}
166169

167170
me.setSilent(config); // We do not want to fire change events when constructing
168-
me._isModified = false
171+
me[isModifiedSymbol] = false
169172
}
170173

171174
/**
@@ -205,7 +208,7 @@ class RecordFactory extends Base {
205208
* @param {Object} fields
206209
*/
207210
reset(fields) {
208-
this.setOriginal(fields)
211+
this.setOriginal(fields);
209212
this.set(fields)
210213
}
211214

@@ -397,13 +400,13 @@ class RecordFactory extends Base {
397400
* @param {Boolean} data.useOriginalData=false true will apply changes to the originalData symbol
398401
*/
399402
setRecordFields({changedFields=[], fields, model, record, silent=false, useOriginalData=false}) {
400-
if (useOriginalData && !model.trackModifiedFields) {
403+
let {fieldsMap, trackModifiedFields} = model,
404+
fieldExists, oldValue;
405+
406+
if (!trackModifiedFields && useOriginalData) {
401407
return
402408
}
403409

404-
let {fieldsMap} = model,
405-
fieldExists, oldValue;
406-
407410
Object.entries(fields).forEach(([key, value]) => {
408411
fieldExists = fieldsMap.has(key);
409412

@@ -425,8 +428,8 @@ class RecordFactory extends Base {
425428
if (!Neo.isEqual(oldValue, value)) {
426429
instance.setRecordData({fieldName: key, model, record, useOriginalData, value});
427430

428-
if (!useOriginalData) {
429-
record._isModified = true
431+
if (!trackModifiedFields && !useOriginalData) {
432+
record[isModifiedSymbol] = true
430433
}
431434

432435
changedFields.push({name: key, oldValue, value})

0 commit comments

Comments
 (0)