Currently, when you send data to a list of models (using fields field), the new data is just assigned and the old is lost.
This means that the data will always be marked as dirty, when in fact, only one field might have been changed. This prevents the users to do isDirty() checks completely.
By assigning IDs (a simple "id" field for every item), we can actually efficiently compare received data and current data in the field, and completely fix the problem explained above.
P.S. This should also tackle the following value: [] we needed to make here:
fields({ list: true, instanceOf: LockedFieldsModel, value: [] })
Currently, when you send data to a list of models (using
fieldsfield), the new data is just assigned and the old is lost.This means that the data will always be marked as dirty, when in fact, only one field might have been changed. This prevents the users to do
isDirty()checks completely.By assigning IDs (a simple "id" field for every item), we can actually efficiently compare received data and current data in the field, and completely fix the problem explained above.
P.S. This should also tackle the following
we needed to make here:value: []