Добавляем все файлы

This commit is contained in:
2025-11-06 19:41:55 +02:00
parent 235d6a3a18
commit 2e5aaec307
218 changed files with 79015 additions and 0 deletions

View File

@@ -0,0 +1,88 @@
/**
* @file siteSettings.js
* @brief Основной файл siteSettings, открытие плагинов
*/
addEventListener("load", function() {
let menu = document.getElementById('siteSettings');
let button = document.getElementById('siteSettingsButton');
menu.onclick = function() {
menu.style.display = 'none';
};
function hbodyHref() {
let hbody = document.getElementById('hbody');
let links = hbody.querySelectorAll('a[href]');
links.forEach(link => {
let originalHref = link.getAttribute('href');
link.removeAttribute('href');
link.onclick = function(event) {
event.preventDefault();
hbodyHrefFunction(originalHref);
};
});
}
async function hbodyHrefFunction(href) {
if (document.getElementById('basis3')?.style.visibility === "visible" && window.contentIsEdit == true) {
messageQueue.push("{{save_data_question}}");
try {
const userConfirmed = await messageCreateQuestion();
if (userConfirmed) {
if (window.newPageFunValue == "newPage") {
document.getElementById("saveHow").click();
messageFunction("{{save_new_page}}");
return;
} else {
await saveChanges();
}
}
} catch (error) {
console.log("Ошибка: ", error);
}
}
window.location.href = href;
}
hbodyHref();
});
/**
* @brief Подключает или отключает плагин по ID
* @param id ID элемента DOM
* @param plugin Название плагина
* @param fnName Имя функции инициализации
*/
async function togglePlugin(id, plugin, fnName) {
const exists = !!document.getElementById(id);
if (exists) {
if (plugin === 'editor') await removePluginDom('pickr');
if (typeof window[fnName] === 'function') window[fnName]();
await removePluginDom(plugin);
} else {
await includePlugin(plugin);
await new Promise(res => {
const i = setInterval(() => {
if (typeof window[fnName] === 'function') {
clearInterval(i);
window[fnName]();
res();
}
});
});
if (plugin === 'editor') await includePlugin('pickr');
}
}
/** @brief Переключает редактор */
function toggleEditor() { return togglePlugin("basis3", "editor", "basisVis"); }
/** @brief Переключает дерево сайта */
function toggleSiteTree() { return togglePlugin("treeDiv", "site_tree", "basisVisSiteTree"); }
/** @brief Переключает менеджер */
function toggleManager() { return togglePlugin("managerDiv", "manager", "basisVisManager"); }