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; }