Hi,
I create datasource for select box programmatically. So I expect following JSON from REST API,
var dropdownJson = [{
"SubTypeID": "ADP",
"SubTypeName" : "AD Provisioning",
"ConnectorNames": [
{
"ConnectorName": "ADP Connector1",
"Actions": [
"Add",
"Update"
]
},
{
"ConnectorName": "ADP Connector2",
"Actions": [
"Add",
"Update",
"Delete"
]
},{
"ConnectorName": "ADP Connector3",
"Actions": [
"Add",
"Delete"
]
}
]
}];
I parse and convert the above JSON into datasource that required for selectbox,
function getConnectorNames(connectorInfo, elementName) {
if (elementName.type !== "bpmn:Process") {
elementName = elementName.businessObject.name;
var connectorNamesMap = connectorInfo.filter(function (el) {
return (el.SubTypeName === elementName);
});
if (connectorNamesMap.length > 0) {
connectorNamesMap = connectorNamesMap[0].ConnectorNames;
var connectors = [{ name: 'Select', value: 0 }];
for (let connectorIndex = 0; connectorIndex < connectorNamesMap.length; connectorIndex++) {
let connectorName = connectorNamesMap[connectorIndex].ConnectorName;
connectors.push({name: connectorName, Value: connectorIndex + 1 });
}
console.log(JSON.stringify(connectors));
return connectors;
} else {
console.log("CONNECTOR_NOT_FOUND");
return "";
}
} else {
return;
}
}
I passing this datasource to selectbox,
function createInputTabGroups(element, translate, bpmnFactory, canvas, elementRegistry) {
var connectorGroup = {
id: 'Input',
label: 'Input',
entries: []
};
inputConnectorProps(connectorGroup, element, translate, getConnectorNames(dropdownJson, element), 'Connector Name', "Connector_Name", bpmnFactory);
return [
connectorGroup
];
}
When I select the value from the select box then I get undefined value in the set method,
Initially my datasource was var dropdownJson = [ { value: 0, name: 'Select' }, {value: 1, name: 'Xyz' }, { value: 2, name: 'Xyz1'}, { value: 3, name: 'Xyz2' }, { value: 4, name: 'Xyz3' }];
and its work properly,
So where i’m wrong if i set datasource to selectbox by programmatically?