$(document).ready(function () { message = new Message; // (new divNotFoundNumbers).push("Загрузка..."); $("button").button(); $("#tabs").tabs(); // $("#accordion-numbers").accordion(); // $(".addNumber").click(() => { // numberAdd() // }); $("body").fadeTo(500, 1); // getData("Список номеров успешно загружен"); $(".search").on("input", function () { // showNumbers(numbers.filter(e => e.id.includes($(this).val()))) }).keydown(function (e) { // e.key == "Escape" && ($(this).val(""), showNumbers()) }); loadData(); }) async function request(query, type, queryData = {}) { let response = await fetch('.', { method: 'POST', headers: { 'Content-Type': 'application/json;charset=utf-8' }, body: JSON.stringify({ ...queryData, query: query }) }); if (!response.ok) throw new Error(`Произошла неизвестаня ошибка: ${response.status}`); const data = await response[type](); return data; } function isJSON(str) { try { return (JSON.parse(str) && !!str); } catch (e) { return false; } } function loadData() { request('listsgroups', 'json').then(data => { data.error ? message.error(data.message) : generateListsGroups(data); }).catch(error => { message.error(error.message); }); } function generateListsGroups(data) { let numbers = $("#tabs-numbers"); let group = $('
'); $(data).each((i, j) => { group.append(`

${j.comment}

`); }); numbers.append(group); $("#accordion-numbers").accordion({ heightStyle: "content", create: function( event, ui ) { generateGroupNumbers(ui.panel); }, beforeActivate: function( event, ui ) { generateGroupNumbers(ui.newPanel); } }); } async function generateGroupNumbers(panel) { request('groupnumbers', 'text', { group: panel.data("group-name") }).then(data => { if (isJSON(data) && JSON.parse(data).error) message.error(JSON.parse(data).message); else { panel.html(data); } }).catch(error => { message.error(error.message); }); }