function resetFormHandlerAction() {
$("#selectDevHandler").val('');
$("#selectActHandler").val('');
}
function addHandlerAction() {
let selectDev = document.getElementById("selectDevHandler").value;
let selectAct = document.getElementById("selectActHandler").value;
HandlerActionTable.row.add({
"id": null,
"controller": selectDev,
"type": selectAct,
"typeLocalized": getTypeLocalized(selectDev, selectAct),
"allowedControllers" : getAllowedControllers(),
"allowedTypes" : mapControllers[$('#selectDevHandler').val()]
}).draw();
resetFormHandlerAction();
customHistory.back();
}
function fillFieldByFunction(func) {
$.ajax({
type: "GET",
url: '/api/refs/handler/controllers?'
+ 'group=' + $('#groupHandler').val(),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
func(data);
},
error: function(errMsg) {
console.log(errMsg);
}
});
}
function fillActionField(data) {
let selectedController = $('#selectDevHandler').val();
let options = "";
for (let i = 0; i < data.length; i++) {
let controller = data[i].controller;
if (controller === selectedController) {
let types = data[i].allowedTypes;
for (let j = 0; j < types.length; j++) {
options = options + ``;
}
}
}
$('#selectActHandler').empty().append(options);
}
function fillControllerField(data) {
let options = "";
for (let i = 0; i < data.length; i++) {
let optionVal = data[i].controller;
options = options + ``;
}
$('#selectDevHandler').empty().append(options);
}
function getAllowedControllers() {
let devices = [];
let index = 0;
for (let device in mapControllers) {
devices[index++] = device;
}
return devices;
}
function getTypeLocalized(controllerName, actionName) {
for (let device in mapControllers) {
if (device === controllerName) {
let arr = mapControllers[device];
for (let i = 0; i < arr.length; i++) {
if (arr[i].type === actionName) {
return arr[i].typeLocalized;
}
}
}
}
return actionName;
}