+ Реализовано: просмотр параметров сервера и возможность редактирования
This commit is contained in:
Alexander Zhirov 2023-06-04 21:50:36 +03:00
parent 69ab43a4ec
commit 7a71bb7e01
13 changed files with 247 additions and 63 deletions

View file

@ -9,7 +9,7 @@ $(document).ready(function () {
0: () => { loadNumbers() },
1: () => { loadSMS() },
2: () => { loadUSSD() },
3: () => {}
3: () => { loadServerInfo() }
};
let lists = {
@ -23,7 +23,7 @@ $(document).ready(function () {
0: () => { generateListGroupNumbers($("#accordion-numbers .ui-accordion-content-active")) },
1: () => { generateListGroupSMS($("#accordion-sms .ui-accordion-content-active")) },
2: () => { generateListGroupUSSD($("#accordion-ussd .ui-accordion-content-active")) },
3: () => { noticer.success('Вкладка "Сервер"') }
3: () => {}
};
$("button").button();
@ -36,7 +36,7 @@ $(document).ready(function () {
activate: function( event, ui ) {
lists[$(this).tabs( "option", "active" )]();
$("#add-number").button( "option", "disabled", $(this).tabs( "option", "active" ) > 0 );
// $("#search").attr( "disabled", $("#search").val("") && $(this).tabs( "option", "active" ) > 1 );
$("#update-group").button( "option", "disabled", $(this).tabs( "option", "active" ) > 2 );
}
});
@ -61,6 +61,7 @@ $(document).ready(function () {
loadNumbers();
loadSMS();
loadUSSD();
loadServerInfo();
$("body").fadeTo(500, 1);
})
@ -608,3 +609,63 @@ function delUSSD(panel, currentWindow) {
noticer.error(error.message);
});
}
/************************************************************************************
Обработка таблицы информации о сервере
************************************************************************************/
function loadServerInfo() {
request('serverinfo', 'text').then(data => {
data.error ? noticer.error(data.message) : showServerInfo(data);
}).catch(error => {
noticer.error(error.message);
});
}
function showServerInfo(data) {
$("#tabs-server").html(data);
$("#server-external-number-on").checkboxradio();
$("#server-transparent-mode").checkboxradio();
$("#server-button").button({ icon: "ui-icon-disk", disabled: true });
$(".server-input").on("change paste cut keydown", () => {
if ($("#server-button").button( "option", "disabled")) {
noticer.warning('Некоторые параметры сервера были изменены');
$("#server-button").button( "option", "disabled", false);
}
});
$("#server-button").click(() => {
writeServerInfo();
});
}
function writeServerInfo() {
let pattern_number = /^\+7\d{10}$/g;
let internal_number = $("#server-internal-number").val();
let external_number = $("#server-external-number").val();
let external_number_on = $("#server-external-number-on").is(":checked");
let transparent_mode = $("#server-transparent-mode").is(":checked");
let error = false;
if (external_number.match(pattern_number) === null) { noticer.warning("Внешний номер не соответствует формату +7XXXXXXXXXX"); error = true; }
if (error) return;
request('writeserverinfo', 'json', {
internal_number: internal_number,
external_number: external_number,
external_number_on: external_number_on,
transparent_mode: transparent_mode
}).then(data => {
data.error ?
noticer.error(data.message) :
$("#server-button").button( "option", "disabled", true) && noticer.success("Параметры сервера были сохранены")
}).catch(error => {
noticer.error(error.message);
});
}