Hi Isomorphic,
I wanted to create a testcase for this one and thought I might be fast in JS - I was not.
Nevertheless I stumbled upon two problems doing so which I believe might be a bug:
Please see this modified sample (v11.1p_2018-04-20):
1) If you click the button it will issue an update<updateMultiple> request without PK. allowMultiUpdate: false is explicitly false in the DataSource declaration, so why does the request end in status SUCCESS anyway?
2) If you comment out the delete record['name']; why does the Response in the RPC Tab includeall three records of the DataSource? (It does also with that line, but if it is commented out, we definitely have a primaryKey in the UPDATE, so why does the response include all records?)
Thank you & Best regards
Blama
I wanted to create a testcase for this one and thought I might be fast in JS - I was not.
Nevertheless I stumbled upon two problems doing so which I believe might be a bug:
Please see this modified sample (v11.1p_2018-04-20):
Code:
isc.DataSource.create({
ID:"contacts",
dataFormat:"json",
dataURL:"[ISOMORPHIC]/system/reference/inlineExamples/dataIntegration/json/contactsData.js",
fields:[
{name:"name", primaryKey: true, required:true},
{name:"email"},
{name:"organization"},
{name:"phone"},
{name:"street", valueXPath:"address/street" },
{name:"city", valueXPath:"address/city" },
{name:"state", valueXPath:"address/state"},
{name:"zip", valueXPath:"address/zip" }
],
operationBindings : [
{ operationType:"update", operationId:"updateMultiple", allowMultiUpdate: false }
]
});
isc.ListGrid.create({
ID: "boundGrid",
dataSource: "contacts",
height: "100%",
width: "100%",
autoFetchData: true
});
isc.DynamicForm.create({
ID: "boundForm",
autoFetchData: true,
width: 250,
dataSource: "contacts",
fields:[
{name:"email"},
{name:"organization"},
]
});
isc.IButton.create({
ID:"updateButton",
title:"Update Record",
click : function () {
var record = boundForm.getValues();
delete record['name'];
delete record['email'];
delete record['organization'];
delete record['phone'];
contacts.updateData(record, null, { operationId:"updateMultiple" });
}
});
isc.VLayout.create({
ID:"layout",
height: "100%",
width: "100%",
members: [boundGrid, boundForm, updateButton]
});
2) If you comment out the delete record['name']; why does the Response in the RPC Tab includeall three records of the DataSource? (It does also with that line, but if it is commented out, we definitely have a primaryKey in the UPDATE, so why does the response include all records?)
Thank you & Best regards
Blama
Comment