There is a new implementation of _saveDataReply in ValuesManager. This has a bug.
Problem
The browser fails with error getItems is not a function.
ISC_Forms.js@63182:
Possible solution:
Check if getItems is a function.
Problem
The browser fails with error getItems is not a function.
ISC_Forms.js@63182:
Code:
if (!this.suppressServerDataSync && response && response.status >= 0 && data != null) {
if (isc.isAn.Array(data)) data = data[0];
if (request.data) request.data = isc.shallowClone(request.data);
var nestedDataStructure = false,
members = this.getMembers();
for (var i = 0; i < members.length; i++) {
if (members[i].dataPath != null) {
nestedDataStructure = true;
} else if (!isc.isA.DynamicForm(members[i])) {
var items = members[i].getItems(); // THIS IS UNSAFE. It is not guaranteed getItems() is a function.
if (items[i].dataPath != null) {
nestedDataStructure = true;
}
}
if (nestedDataStructure) break;
}
Possible solution:
Check if getItems is a function.
Code:
if (!this.suppressServerDataSync && response && response.status >= 0 && data != null) {
if (isc.isAn.Array(data)) data = data[0];
if (request.data) request.data = isc.shallowClone(request.data);
var nestedDataStructure = false,
members = this.getMembers();
for (var i = 0; i < members.length; i++) {
if (members[i].dataPath != null) {
nestedDataStructure = true;
} else if (!isc.isA.DynamicForm(members[i]) && isA.Function(members[i].getItems)) {
var items = members[i].getItems();
if (items[i].dataPath != null) {
nestedDataStructure = true;
}
}
if (nestedDataStructure) break;
}
Comment