function createHandler() {
let extraFieldsArray = [];
let extraFieldsFromDataTable0 = HandlerActionTable.rows().data();
for (let i = 0; i < extraFieldsFromDataTable0.length; i++) {
extraFieldsArray[i] = extraFieldsFromDataTable0[i];
}
$.ajax({
type: "POST",
url: '/api/handlers/',
data: JSON.stringify({
"groupName" : document.getElementById("groupHandler").value,
"typeEvent": document.getElementById("typeHandler").value,
"eventName": document.getElementById('nameHandler').value,
"actions" : extraFieldsArray
}),
contentType: "application/json; charset=utf-8",
complete: function () {
tableHandlers.ajax.reload();
customHistory.back();
customHistory.back();
},
error: function(errMsg) {
console.log(errMsg);
alert("Ошибка при создании обработчика: " + errMsg.statusText);
}
});
}
$(".validateHandler").change(function() {
let all = $(".validateHandler").map(function() {
return this.id;
}).get();
for (let i = 0; i < all.length; i++) {
let elem = $("#" + all[i]).val();
if (elem === null || elem === "") {
$("#goOnHandlerAddPage").prop('disabled', true);
return;
}
}
$("#goOnHandlerAddPage").prop('disabled', false);
let typeOperation = $('#nameHandler').attr('name');
if (typeOperation === 'create') {fillHandlerActionTable();}
});
function fillNameHandlers(type) {
return $.ajax({
type: "GET",
url: '/api/refs/handler/names/?type=' + type,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
let selector = 'nameHandler';
$('#' + selector).empty().append(``);
createSelectLocalNames(data, selector);
$('#nameHandler').attr('name', 'create');
},
error: function (errMsg) {
console.log(errMsg);
}
});
}
function fillTypeHandlers() {
$.ajax({
type: "GET",
url: '/api/refs/handler/types',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
let selector = 'typeHandler';
$('#' + selector).empty().append(``).prop("disabled", false);;
createSelectLocalNames(data, selector);
},
error: function(errMsg) {
console.log(errMsg);
}
});
}
function createSelectLocalNames(data, id) {
let selector = '#' + id;
for (let i = 0; i < data.length; i++) {
$(selector).append(``);
}
}
function fillGroupHandlers() {
return $.ajax({
type: "GET",
url: '/api/refs/device/groups/',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
let marks = "";
for(let i=0; i'+data[i].groupLocalName+'';
}
$('#groupHandler').empty().append(marks).prop("disabled", false);
},
error: function(errMsg) {
console.log(errMsg);
}
});
}
function newFormHandler() {
fillGroupHandlers();
fillTypeHandlers();
createButtonSave();
pageselect('handler-add-page');
}
function createButtonSave() {
$('#btn-handler-footer').empty().append(
``);
}
function fillGroupHandlersUpdate(group) {
return $.ajax({
type: "GET",
url: '/api/refs/device/groups/',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
let marks = "";
for(let i=0; i'+data[i].groupLocalName+'';
continue;
}
marks += '';
}
$('#groupHandler').empty().append(marks).prop("disabled", true);
},
error: function(errMsg) {
console.log(errMsg);
}
});
}
function fillTypeHandlersUpdate(type) {
$.ajax({
type: "GET",
url: '/api/refs/handler/types',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
let marks = "";
for(let i=0; i'+data[i].typeLocalized+'';
continue;
}
marks += '';
}
$('#typeHandler').empty().append(marks).prop("disabled", true);
},
error: function(errMsg) {
console.log(errMsg);
}
});
}
function fillNameHandlersUpdate(id, name, type) {
$.ajax({
type: "GET",
url: '/api/refs/handler/names/?type=' + type,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
let marks = "";
for(let i=0; i'+data[i].typeLocalized+'';
continue;
}
marks += '';
}
$('#nameHandler').empty().append(marks).attr('name', 'update');
},
error: function(errMsg) {
console.log(errMsg);
},
complete: function () {
fillHandlerActionTable(id);
}
});
}
function editHandler(id, type, group, name) {
pageselect('handler-add-page');
fillGroupHandlersUpdate(group);
fillTypeHandlersUpdate(type);
fillNameHandlersUpdate(id, name, type);
createButtonUpdate(id);
}
function createButtonUpdate(id) {
$("#goOnHandlerAddPage").prop('disabled', false);
$('#btn-handler-footer').empty().append(
``);
}
function updateHandler(id) {
let extraFieldsArray = [];
let extraFieldsFromDataTable0 = HandlerActionTable.rows().data();
for (let i = 0; i < extraFieldsFromDataTable0.length; i++) {
extraFieldsArray[i] = extraFieldsFromDataTable0[i];
}
$.ajax({
type: "PUT",
url: '/api/handlers/',
data: JSON.stringify({
"id": id,
"groupName" : document.getElementById("groupHandler").value,
"typeEvent": document.getElementById("typeHandler").value,
"eventName": document.getElementById('nameHandler').value,
"actions" : extraFieldsArray
}),
contentType: "application/json; charset=utf-8",
success: function () {
tableHandlers.ajax.reload();
customHistory.back();
customHistory.back();
},
error: function(errMsg) {
alert("Ошибка: " + errMsg.statusText + ". Ошибка/событие уже существует, измените значение поля \"Наименование\". ");
customHistory.back();
}
});
}