|
@@ -934,13 +934,13 @@ var Collection = function (vm, collection) {
|
|
|
$.grep(currentObservable(), function(field) {
|
|
$.grep(currentObservable(), function(field) {
|
|
|
return field.isDynamic() == isDynamic;
|
|
return field.isDynamic() == isDynamic;
|
|
|
}), function(field) {
|
|
}), function(field) {
|
|
|
- return field.name();
|
|
|
|
|
|
|
+ return field.name() + '|' + field.type();
|
|
|
});
|
|
});
|
|
|
var _newFieldsNames = $.map(
|
|
var _newFieldsNames = $.map(
|
|
|
$.grep(newJson, function(field) {
|
|
$.grep(newJson, function(field) {
|
|
|
return field.isDynamic == isDynamic;
|
|
return field.isDynamic == isDynamic;
|
|
|
}), function(field) {
|
|
}), function(field) {
|
|
|
- return field.name;
|
|
|
|
|
|
|
+ return field.name + '|' + field.type;
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
var _toDelete = diff(_currentFieldsNames, _newFieldsNames);
|
|
var _toDelete = diff(_currentFieldsNames, _newFieldsNames);
|
|
@@ -949,13 +949,13 @@ var Collection = function (vm, collection) {
|
|
|
// Deleted fields
|
|
// Deleted fields
|
|
|
self.template.fieldsSelected.removeAll(_toDelete);
|
|
self.template.fieldsSelected.removeAll(_toDelete);
|
|
|
var bulk = $.grep(currentObservable(), function(field) {
|
|
var bulk = $.grep(currentObservable(), function(field) {
|
|
|
- return (_toDelete.indexOf(field.name()) != -1)
|
|
|
|
|
|
|
+ return (_toDelete.indexOf(field.name() + '|' + field.type()) != -1)
|
|
|
});
|
|
});
|
|
|
currentObservable.removeAll(bulk);
|
|
currentObservable.removeAll(bulk);
|
|
|
|
|
|
|
|
// New fields
|
|
// New fields
|
|
|
$.each(newJson, function(index, field) {
|
|
$.each(newJson, function(index, field) {
|
|
|
- if (_toAdd.indexOf(field.name) != -1) {
|
|
|
|
|
|
|
+ if (_toAdd.indexOf(field.name + '|' + field.type) != -1) {
|
|
|
currentObservable.push(ko.mapping.fromJS(field));
|
|
currentObservable.push(ko.mapping.fromJS(field));
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|