v0.0.4
+ Реализовано: обновление/добавление/удаление номера + Добавлена кнопка обновления активной вкладки - Доработать проверки на обновление/добавление/удаление номера
This commit is contained in:
parent
c0290cd753
commit
de17e88d37
13 changed files with 283 additions and 56 deletions
116
js/script.js
116
js/script.js
|
@ -6,23 +6,32 @@ $(document).ready(function () {
|
|||
$("button").button();
|
||||
$("#tabs").tabs();
|
||||
|
||||
// $(".addNumber").click(() => {
|
||||
// numberAdd()
|
||||
// });
|
||||
$("#update").button("option", "icon", "ui-icon-refresh");
|
||||
$("#add-number").button("option", "icon", "ui-icon-plusthick");
|
||||
$("#logout").button("option", "icon", "ui-icon-power");
|
||||
|
||||
// За каждым индексом закреплена функция для выполнения действия
|
||||
// на активной вкладке при нажатии на кнопку обновления
|
||||
$("#update").click(() => {
|
||||
({
|
||||
0: () => { generateGroupNumbers($("#accordion-numbers .ui-accordion-content-active")) },
|
||||
1: () => { noticer.success('Вкладка "SMS"') },
|
||||
2: () => { noticer.success('Вкладка "USSD"') },
|
||||
3: () => { noticer.success('Вкладка "Сервер"') }
|
||||
})[$("#tabs").tabs( "option", "active" )]()
|
||||
});
|
||||
|
||||
$("#add-number").click(() => {
|
||||
addNumber($("#accordion-numbers .ui-accordion-content-active"))
|
||||
});
|
||||
|
||||
$("body").fadeTo(500, 1);
|
||||
|
||||
$(".search").on("input", function () {
|
||||
$("#search").on("input", function () {
|
||||
showNumbers(
|
||||
$("#accordion-numbers .ui-accordion-content-active"),
|
||||
numbers.filter(e => e.number.includes($(this).val()))
|
||||
)
|
||||
}).on("focus", function () {
|
||||
if ($(this).val())
|
||||
showNumbers(
|
||||
$("#accordion-numbers .ui-accordion-content-active"),
|
||||
numbers.filter(e => e.number.includes($(this).val()))
|
||||
);
|
||||
}).keydown(function (e) {
|
||||
e.key == "Escape" && ($(this).val(""), showNumbers($("#accordion-numbers .ui-accordion-content-active")))
|
||||
});
|
||||
|
@ -91,7 +100,7 @@ function generateGroupNumbers(panel) {
|
|||
});
|
||||
}
|
||||
|
||||
function showNumbers(panel, data = numbers) {
|
||||
function showNumbers(panel, data = numbers.filter(e => e.number.includes($("#search").val()))) {
|
||||
(new divNotFoundNumbers).remove();
|
||||
let body = panel.find('.body').html('');
|
||||
$(data).each((i, j) => {
|
||||
|
@ -105,7 +114,7 @@ function showNumbers(panel, data = numbers) {
|
|||
body.append(row);
|
||||
|
||||
row.click(function() {
|
||||
numberEdit($(this).data('number'));
|
||||
editNumber(panel, $(this).data('number'));
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -134,7 +143,7 @@ function divNotFoundNumbers() {
|
|||
}
|
||||
}
|
||||
|
||||
function numberEdit(number) {
|
||||
function editNumber(panel, number) {
|
||||
request('editnumber', 'text', {number: number}).then(data => {
|
||||
if (isJSON(data) && JSON.parse(data).error)
|
||||
noticer.error(JSON.parse(data).message);
|
||||
|
@ -145,7 +154,7 @@ function numberEdit(number) {
|
|||
text: "Сохранить",
|
||||
icon: "ui-icon-check",
|
||||
click: function() {
|
||||
actionNumber($(this), 'update');
|
||||
actionNumber(panel, $(this), 'updatenumber');
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -153,7 +162,7 @@ function numberEdit(number) {
|
|||
text: "Удалить",
|
||||
icon: "ui-icon-trash",
|
||||
click: function() {
|
||||
// removeNumber($(this));
|
||||
delNumber(panel, $(this));
|
||||
}
|
||||
}
|
||||
], `Редактирование номера ${number}`);
|
||||
|
@ -170,8 +179,6 @@ function showEditNumber(data, actionButton, title) {
|
|||
title: title,
|
||||
height: 'auto',
|
||||
width: 'auto',
|
||||
maxHeight: 500,
|
||||
minHeight: 50,
|
||||
resizable: false,
|
||||
modal: true,
|
||||
show: { effect: "fade", duration: 500 },
|
||||
|
@ -195,7 +202,10 @@ function showEditNumber(data, actionButton, title) {
|
|||
});
|
||||
}
|
||||
|
||||
function actionNumber(currentWindow, query) {
|
||||
function actionNumber(panel, currentWindow, query) {
|
||||
// Только числа, начинающие с >0 или только 0
|
||||
let regexp = /^(?=\d)(\d|([^0]\d+))$/g;
|
||||
|
||||
let number = $('#number-number').val();
|
||||
let group = $('#number-group').val();
|
||||
let list = $('#number-list').val();
|
||||
|
@ -203,5 +213,75 @@ function actionNumber(currentWindow, query) {
|
|||
let white_cc = $('#number-white-cc').val();
|
||||
let black_cc = $('#number-black-cc').val();
|
||||
let comment = $('#number-comment').val();
|
||||
|
||||
let error = false;
|
||||
|
||||
if (!number.length) { noticer.warning('Номер не может быть пуст'); error = true; }
|
||||
if (all_cc.match(regexp) === null) { noticer.warning("Не верно указано общее количество звонков"); error = true; }
|
||||
if (white_cc.match(regexp) === null) { noticer.warning("Не верно указано белое количество звонков"); error = true; }
|
||||
if (black_cc.match(regexp) === null) { noticer.warning("Не верно указано черное количество звонков"); error = true; }
|
||||
|
||||
if (error) return;
|
||||
|
||||
request(query, 'json', {
|
||||
number: number,
|
||||
group: group,
|
||||
list: list,
|
||||
all_cc: parseInt(all_cc),
|
||||
white_cc: parseInt(white_cc),
|
||||
black_cc: parseInt(black_cc),
|
||||
comment: comment
|
||||
}).then(data => {
|
||||
if (data.error)
|
||||
noticer.error(data.message);
|
||||
else
|
||||
{
|
||||
query == 'write' ? noticer.success(`Номер ${number} был добавлен`) : noticer.success(`Номер ${number} был обновлен`);
|
||||
generateGroupNumbers(panel);
|
||||
currentWindow.dialog("close");
|
||||
}
|
||||
}).catch(error => {
|
||||
noticer.error(error.message);
|
||||
});
|
||||
}
|
||||
|
||||
function addNumber(panel) {
|
||||
request('addnumber', 'text', { group: panel.data("group-name") }).then(data => {
|
||||
if (isJSON(data) && JSON.parse(data).error)
|
||||
noticer.error(JSON.parse(data).message);
|
||||
else {
|
||||
showEditNumber(data, [{
|
||||
id: "btnSave",
|
||||
text: "Добавить",
|
||||
icon: "ui-icon-check",
|
||||
click: function() {
|
||||
actionNumber(panel, $(this), 'writenumber');
|
||||
}
|
||||
}], "Добавление нового номера");
|
||||
}
|
||||
}).catch(error => {
|
||||
noticer.error(error.message);
|
||||
});
|
||||
}
|
||||
|
||||
function delNumber(panel, currentWindow) {
|
||||
let number = $('#number-number').val();
|
||||
|
||||
let error = false;
|
||||
if (!number.length) { noticer.warning('Номер не может быть пуст'); error = true; }
|
||||
if (error) return;
|
||||
|
||||
request('delnumber', 'json', {
|
||||
number: number
|
||||
}).then(data => {
|
||||
if (data.error)
|
||||
noticer.error(data.message);
|
||||
else {
|
||||
noticer.success(`Номер ${number} был удален`);
|
||||
generateGroupNumbers(panel);
|
||||
currentWindow.dialog("close");
|
||||
}
|
||||
}).catch(error => {
|
||||
noticer.error(error.message);
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue