diff --git a/templates/index.html b/templates/index.html index 6fcec2b..ff38d65 100644 --- a/templates/index.html +++ b/templates/index.html @@ -159,19 +159,6 @@ } .header-logo { display: flex; align-items: center; } .header-logo img { height: 50px; margin-right: 10px; } - #sort-folders-btn { - background: #007bff; - color: white; - border: 1px solid #007bff; - padding: 5px 10px; - border-radius: 3px; - cursor: pointer; - margin-left: 5px; - transition: background 0.2s ease; - } - #sort-folders-btn:hover { - background: #0056b3; - } @@ -179,7 +166,6 @@

Папки

-

@@ -280,9 +266,11 @@ $.getJSON(`${API_URL}/folders`, function (data) { console.log("Loaded folders:", data); allFolders = data; // Сохраняем все папки + // Сортируем папки по имени + const sortedFolders = [...data].sort((a, b) => a.name.localeCompare(b.name)); const treeData = [ { id: "root", text: "Корень", parent: "#" } - ].concat(data.map(folder => ({ + ].concat(sortedFolders.map(folder => ({ id: folder.id, text: `${folder.name} ` + `` + @@ -292,7 +280,7 @@ cb(treeData); // Автоматически выбираем папку "Несортированные" после загрузки дерева - const unsortedFolder = data.find(f => f.name === 'Несортированные'); + const unsortedFolder = sortedFolders.find(f => f.name === 'Несортированные'); if (unsortedFolder) { setTimeout(() => { $('#folder-tree').jstree('select_node', unsortedFolder.id); @@ -349,7 +337,8 @@ function loadFolders() { $.getJSON(`${API_URL}/folders`, function (data) { - allFolders = data; // Обновляем список папок + // Сортируем папки по имени перед сохранением + allFolders = [...data].sort((a, b) => a.name.localeCompare(b.name)); updateFolderSelect(); // Обновляем выпадающий список }).fail(function(jqxhr, textStatus, error) { console.error("Error loading folders:", textStatus, error); @@ -750,36 +739,7 @@ }); } - function sortFolders() { - // Получаем все папки из allFolders - const rootFolders = allFolders.filter(folder => !folder.parent_id || folder.parent_id === "root"); - - // Сортируем по имени - rootFolders.sort((a, b) => a.name.localeCompare(b.name)); - - // Обновляем порядок папок в allFolders - const sortedFolders = []; - const nonRootFolders = allFolders.filter(folder => folder.parent_id && folder.parent_id !== "root"); - rootFolders.forEach(folder => sortedFolders.push(folder)); - nonRootFolders.forEach(folder => sortedFolders.push(folder)); - allFolders = sortedFolders; - - // Перестраиваем дерево - const instance = $('#folder-tree').jstree(true); - instance.settings.core.data = [ - { id: "root", text: "Корень", parent: "#" } - ].concat(allFolders.map(folder => ({ - id: folder.id, - text: `${folder.name} ` + - `` + - ``, - parent: folder.parent_id ? folder.parent_id : "root" - }))); - instance.refresh(); - } - function saveFolderPosition(folderId, newParentId) { - // Найдём имя папки, чтобы включить его в запрос const folder = allFolders.find(f => f.id == folderId); if (!folder) { console.error(`Folder with id ${folderId} not found`);