From fc3f32760c45e4b1c908a3ec67f48a686d0df9a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB=20=D0=9A=D0=B0=D0=BF?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=D0=BA=D0=BE?= Date: Mon, 3 Aug 2020 14:58:09 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D1=82=D1=8C=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B3=D0=BE=D1=82=D0=BE=D0=B2=D0=BA=D1=83=20=D0=BE?= =?UTF-8?q?=D1=81=D0=BD=D0=BE=D0=B2=D1=8B=20|=20Create=20a=20stub=20for=20?= =?UTF-8?q?base?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 0000 | 8 ++ пуск|run.js | 148 ++++++++++++++++++++++++++++++++++++ пуск|run.череда | 20 +++++ функции|functions.js | 37 +++++++++ 4 files changed, 213 insertions(+) create mode 100644 0000 create mode 100644 пуск|run.js create mode 100644 пуск|run.череда create mode 100644 функции|functions.js diff --git a/0000 b/0000 new file mode 100644 index 0000000..fe3fd27 --- /dev/null +++ b/0000 @@ -0,0 +1,8 @@ +Основа Главреда | Glavred's Base +1.0.0 +https://git.opengamestudio.org/kornerr/glavred-osnova-base + +x /функции|functions.js + +x /пуск|run.js +/пуск|run.череда diff --git a/пуск|run.js b/пуск|run.js new file mode 100644 index 0000000..857cb37 --- /dev/null +++ b/пуск|run.js @@ -0,0 +1,148 @@ + +const ИМЯ = "Главред | Glavred"; + + +// // // // + + +ЗадатьЗаголовокВкладкиБраузера = мир => +{ + document.title = мир.редактируемыйМодуль.имя; +}; + + +// // // // + + +УведомитьОбОшибкеЗагрузкиСодержимогоРедактируемогоМодуля = мир => +{ + var сообщение = "ОШИБКА Не удалось загрузить редактируемый модуль из хранилища бразуера | ERROR The module to be edited couldn't be loaded from the browser's storage"; + console.error(сообщение); + console.error(мир.указатель); + /* + $(`#${мир.макет.константы.содержимое}`).html(` +
+

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

+

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

+
+ `); + */ +}; + + +// // // // + + +ЗагрузитьСодержимоеРедактируемогоМодуля = мир => +{ + // Пропускаем загрузку, если содержимое уже присутствует. + if (мир.редактируемыйМодуль.содержимое) + { + мир.уведомить("загрузили содержимое"); + return; + } + + // Загружаем содержимое. + мир.модули.загрузилиСодержимоеСохранённогоМодуля.подписатьРаз(function() { + мир.уведомить("загрузили содержимое"); + }); + мир.модули.неЗагрузилиСодержимоеСохранённогоМодуля.подписатьРаз(function() { + мир.уведомить("не загрузили содержимое"); + }); + мир.модули.загрузитьСодержимоеСохранённогоМодуля(мир.указатель); +}; + + +// // // // + + +ПродолжитьЗагрузку = мир => +{ + мир.уведомить("загрузили содержимое"); +}; + + +// // // // + + +ЗадатьПараметрМодуляГлавредом = мир => +{ + задатьПараметрВСтрокеПоиска("📦", мир.редактируемыйМодуль.указатель); +}; + + +// // // // + + +НазначитьРедактируемымМодульГлавреда = мир => +{ + мир.редактируемыйМодуль = мир.модули.модульПоИмени(ИМЯ); +}; + + +// // // // + + +ПроверитьНаличиеРедактируемогоМодуля = мир => +{ + мир.редактируемыйМодуль = мир.модули.модульПоУказателю(мир.указатель); + if (мир.редактируемыйМодуль) + { + мир.уведомить("редактируемый модуль существует"); + } + else + { + мир.уведомить("редактируемый модуль не существует"); + } +}; + + +// // // // + + +РазобратьПараметры = мир => +{ + мир.указатель = null; + мир.файл = null; + + var параметры = new URLSearchParams(window.location.search); + for (var имя of параметры.keys()) + { + var значение = decodeURI(параметры.get(имя)); + var имя = decodeURI(имя); + if (имя == "📦") + { + мир.указатель = значение; + } + } +}; + + +// // // // + + +ЗапуститьМодулиГлавреда = мир => +{ + мир.уведомить("пуск модулей главреда"); +}; + + +// // // // + + +ЗадатьЗаголовок = мир => +{ + $(`#${мир.макет.константы.заголовокЛево}`).html(` + + `); +}; + + +// // // // + + +ВывестиПриветствиеОтГлавреда = мир => +{ + console.debug("Привет от Главреда"); +}; + diff --git a/пуск|run.череда b/пуск|run.череда new file mode 100644 index 0000000..4761dd9 --- /dev/null +++ b/пуск|run.череда @@ -0,0 +1,20 @@ +пуск главреда + вывести приветствие от главреда + загрузить макет UIK + настроить макет UIK + установить макет UIK + очистить макет UIK от заглушек + задать заголовок + разобрать параметры + проверить наличие редактируемого модуля +редактируемый модуль не существует + назначить редактируемым модуль главреда + задать параметр модуля главредом + продолжить загрузку +редактируемый модуль существует + загрузить содержимое редактируемого модуля +не загрузили содержимое + уведомить об ошибке загрузки содержимого редактируемого модуля +загрузили содержимое + задать заголовок вкладки браузера + запустить модули главреда \ No newline at end of file diff --git a/функции|functions.js b/функции|functions.js new file mode 100644 index 0000000..757deec --- /dev/null +++ b/функции|functions.js @@ -0,0 +1,37 @@ + +задатьПараметрВСтрокеПоиска = (ключПараметра, значениеПараметра) => +{ + var строкаПоиска = decodeURI(window.location.search); + var текущийАдрес = decodeURI(window.location.href); + + // Заменить параметр. + if (строкаПоиска.includes(`${ключПараметра}=`)) + { + var части = строкаПоиска.split(/[\?&]/); + for (var номер in части) + { + var часть = части[номер]; + if (часть.startsWith(`${ключПараметра}=`)) + { + var значение = часть.split("=")[1]; + var адрес = текущийАдрес.replace(значение, значениеПараметра); + history.pushState(null, "", адрес); + break; + } + } + } + // Добавить параметр. + else + { + var префикс = "?"; + if (строкаПоиска.startsWith("?")) + { + префикс = "&"; + } + var адрес = текущийАдрес + префикс + `${ключПараметра}=` + значениеПараметра; + history.pushState(null, "", адрес); + } +}; + +setSearchQueryParameter = задатьПараметрВСтрокеПоиска; +