diff --git a/пуск|run.js b/пуск|run.js index c3c6382..a8f26f5 100644 --- a/пуск|run.js +++ b/пуск|run.js @@ -5,127 +5,88 @@ const ИМЯ = "Файлы Главреда | Glavred Files" // // // // -УведомитьОбОшибкеЗагрузкиСодержимогоРедактируемогоМодуля = function(мир) +ОтобразитьВыборФайла = мир => { - var сообщение = "ОШИБКА Не удалось загрузить редактируемый модуль из хранилища бразуера | ERROR The module to be edited couldn't be loaded from the browser's storage"; - console.error(сообщение); - console.error(мир.указатель); - /* - $(`#${мир.макет.константы.содержимое}`).html(` -
-

${сообщение}

-

${мир.указатель}

-
- `); - */ -}; - - -// // // // - - -ЗагрузитьСодержимоеРедактируемогоМодуля = function(мир) -{ - // Пропускаем загрузку, если содержимое уже присутствует. - if (мир.редактируемыйМодуль.содержимое) + var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort(); + // Очищаем выбор. + for (var номер in файлы) { - мир.уведомить("загрузили содержимое"); - return; + $(`#${мир.макет.списокФайлов.раздел}-${номер}`).removeClass("uk-active"); } - - // Загружаем содержимое. - мир.модули.загрузилиСодержимоеСохранённогоМодуля.подписатьРаз(function() { - мир.уведомить("загрузили содержимое"); - }); - мир.модули.неЗагрузилиСодержимоеСохранённогоМодуля.подписатьРаз(function() { - мир.уведомить("не загрузили содержимое"); - }); - мир.модули.загрузитьСодержимоеСохранённогоМодуля(мир.указатель); -}; - - -// // // // - - -ПродолжитьЗагрузку = мир => -{ - мир.уведомить("загрузили содержимое"); -}; - - -// // // // - - -ЗадатьПараметрМодуляФайламиГлавреда = function(мир) -{ - задатьПараметрВСтрокеПоиска("📦", мир.редактируемыйМодуль.указатель); + // Отображаем выбор. + $(`#${мир.макет.списокФайлов.раздел}-${мир.номерВыбранногоФайла}`).addClass("uk-active"); }; // // // // -НазначитьРедактируемымМодульФайловГлавреда = function(мир) +ОтслеживатьВыборФайла = мир => { - мир.редактируемыйМодуль = мир.модули.модульПоИмени(ИМЯ); + var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort(); + for (var номер in файлы) + { + const номерФайла = номер; + $(`#${мир.макет.списокФайлов.раздел}-${номер}-ссылка`).click(function() { + мир.номерВыбранногоФайла = номерФайла; + мир.уведомить("выбрали файл"); + }); + } }; - // // // // -ПроверитьНаличиеРедактируемогоМодуля = function(мир) +ЗадатьРазделМенюСоСпискомФайлов = мир => { - мир.редактируемыйМодуль = мир.модули.модульПоУказателю(мир.указатель); - if (мир.редактируемыйМодуль) + var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort(); + var содержимое = ""; + for (var номер in файлы) { - мир.уведомить("редактируемый модуль существует"); - } - else - { - мир.уведомить("редактируемый модуль не существует"); + var название = файлы[номер]; + var id = `${мир.макет.списокФайлов.раздел}-${номер}`; + var пункт = мир.макет.списокФайлов.пунктМеню + .replace(/%название%/g, название) + .replace(/%id%/g, id) + ; + содержимое += пункт; } + + var заголовок = "📦 " + мир.редактируемыйМодуль.имя; + var раздел = мир.макет.списокФайлов.разделМеню + .replace("%название%", заголовок) + .replace("%содержимое%", содержимое) + ; + + $(`#${мир.макет.константы.меню}`).append(раздел); }; // // // // -ВывестиПриветствиеОтФайловГлавреда = мир => +ЗадатьЭлементыМакетаСпискаФайлов = мир => { - console.debug("Привет от Файлов Главреда"); + мир.макет.списокФайлов = { + "раздел": "списокФайлов", + "разделМеню": ` + + `, + "пунктМеню": ` +
  • %название%
  • + `, + }; }; // // // // -ЗадатьЗаголовокВкладкиБраузера = мир => +ВывестиПриветствиеОтФайловГлавреда = мир => { - document.title = мир.редактируемыйМодуль.имя; + console.debug("Привет от Файлов Главреда"); }; - -// // // // - - -РазобратьПараметрыФайловГлавреда = мир => -{ - мир.указатель = null; - мир.файл = null; - - var параметры = new URLSearchParams(window.location.search); - for (var имя of параметры.keys()) - { - var значение = decodeURI(параметры.get(имя)); - var имя = decodeURI(имя); - if (имя == "📦") - { - мир.указатель = значение; - } - else if (имя == "📁") - { - мир.файл = значение; - } - } -}; diff --git a/пуск|run.череда b/пуск|run.череда index 37e043a..18302af 100644 --- a/пуск|run.череда +++ b/пуск|run.череда @@ -1,14 +1,7 @@ -пуск редактора +пуск модулей главреда вывести приветствие от файлов главреда - разобрать параметры файлов главреда - проверить наличие редактируемого модуля -редактируемый модуль не существует - назначить редактируемым модуль файлов главреда - задать параметр модуля файлами главреда - продолжить загрузку -редактируемый модуль существует - загрузить содержимое редактируемого модуля -не загрузили содержимое - уведомить об ошибке загрузки содержимого редактируемого модуля -загрузили содержимое - задать заголовок вкладки браузера \ No newline at end of file + задать элементы макета списка файлов + задать раздел меню со списком файлов + отслеживать выбор файла +выбрали файл + отобразить выбор файла \ No newline at end of file diff --git a/сохранение|saving.js b/сохранение|saving.js index 4038a4c..06b50b1 100644 --- a/сохранение|saving.js +++ b/сохранение|saving.js @@ -52,22 +52,6 @@ мир.редактор.session.setValue(содержимое); }; - -// // // // - - -ОтобразитьВыборФайла = function(мир) -{ - var id = мир.макет.константы.файл; - // Очищаем выбор. - for (var номер in мир.файлы) - { - $(`#${id}-${номер}-элемент`).removeClass("uk-active"); - } - // Отображаем выбор. - $(`#${id}-${мир.номерВыбранногоФайла}-элемент`).addClass("uk-active"); -}; - */ /* @@ -171,144 +155,6 @@ const ИМЯ = "Главред | Glavred"; // // // // -ОтслеживатьВыборФайла = function(мир) -{ - var id = мир.макет.константы.файл; - for (var номер in мир.файлы) - { - const номерФайла = номер; - $(`#${id}-${номер}-ссылка`).click(function() { - мир.номерВыбранногоФайла = номерФайла; - мир.уведомить("выбрали файл"); - }); - } -}; - - -// // // // - - -ЗадатьСписокФайлов = function(мир) -{ - var м = мир.редактируемыйМодуль; - мир.файлы = Object.keys(м.структура).sort(); - - var содержимое = ""; - - var заголовок = мир.макет.элементы.заголовокМеню.replace("${название}", "📦 " + м.имя); - содержимое += заголовок; - var id = мир.макет.константы.файл; - for (var номер in мир.файлы) - { - var файл = мир.файлы[номер]; - содержимое += мир.макет.элементы.пунктМеню - .replace("${название}", файл) - .replace(/\$\{id\}/g, `${id}-${номер}`) - ; - } - - $(`#${мир.макет.константы.меню}`).html(содержимое); -}; - - - -// // // // - - -ЗадатьЗаголовокИВерсию = function(мир) -{ - var м = мир.ведущийМодуль; - $(`#${мир.макет.константы.заголовок}`).text(м.имя); - $(`#${мир.макет.константы.версия}`).text(м.версия); -}; - - -// // // // - - -ОчиститьМакетОтЗаглушек = function(мир) -{ - $(`#${мир.макет.константы.заголовок}`).text(""); - $(`#${мир.макет.константы.версия}`).text(""); - $(`#${мир.макет.константы.действия}`).text(""); - $(`#${мир.макет.константы.меню}`).text(""); -}; - - -// // // // - - -УстановитьМакет = function(мир) -{ - document.body.innerHTML = мир.макет.структура; - - var вид = document.createElement("style"); - document.head.appendChild(вид); - вид.innerHTML = мир.макет.вид; -}; - - -// // // // - - -НастроитьМакет = function(мир) -{ - // Вырезаем тело из макета. - var html = мир.макет.структура; - var начало = html.indexOf(""); - var конец = html.indexOf(""); - html = html.substring(начало, конец); - - var название = "редактор"; - мир.макет.константы = { - "заголовок": `${название}-макет-шапка-заголовок`, - "версия": `${название}-макет-шапка-версия`, - "действия": `${название}-макет-шапка-действия`, - "меню": `${название}-макет-меню`, - "файл": `${название}-макет-меню-файл`, - "содержимое": "редактор", - "сохранить": `${название}-макет-сохранить`, - }; - // Заменяем константы в макете. - for (var константа in мир.макет.константы) - { - var старое = "${" + константа + "}"; - var новое = мир.макет.константы[константа]; - html = html.replace(старое, новое); - } - - мир.макет.структура = html; -}; - - -// // // // - - -ЗагрузитьМакет = function(мир) -{ - var м = мир.ведущийМодуль; - var json = JSON.parse(м.содержимое["/макет|template.json"]); - мир.макет = { - "структура": м.содержимое["/макет|template.html"], - "вид": м.содержимое["/макет|template.css"], - "элементы": json, - }; -}; - - -// // // // - - -ЗадатьВедущийМодуль = function(мир) -{ - // Редактор является ведущим модулем. - мир.ведущийМодуль = мир.модули.модульПоИмени(ИМЯ); -}; - - -// // // // - - ВывестиРазобранныеПараметры = function(мир) { console.debug(`