Создать заготовку основы | Create a stub for base
This commit is contained in:
8
0000
Normal file
8
0000
Normal file
@@ -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.череда
|
||||||
148
пуск|run.js
Normal file
148
пуск|run.js
Normal file
@@ -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(`
|
||||||
|
<div class="ошибка">
|
||||||
|
<p>${сообщение}</p>
|
||||||
|
<p>${мир.указатель}</p>
|
||||||
|
</div>
|
||||||
|
`);
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ЗагрузитьСодержимоеРедактируемогоМодуля = мир =>
|
||||||
|
{
|
||||||
|
// Пропускаем загрузку, если содержимое уже присутствует.
|
||||||
|
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(`
|
||||||
|
<span class="uk-navbar-item uk-logo">${ИМЯ}</span>
|
||||||
|
`);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ВывестиПриветствиеОтГлавреда = мир =>
|
||||||
|
{
|
||||||
|
console.debug("Привет от Главреда");
|
||||||
|
};
|
||||||
|
|
||||||
20
пуск|run.череда
Normal file
20
пуск|run.череда
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
пуск главреда
|
||||||
|
вывести приветствие от главреда
|
||||||
|
загрузить макет UIK
|
||||||
|
настроить макет UIK
|
||||||
|
установить макет UIK
|
||||||
|
очистить макет UIK от заглушек
|
||||||
|
задать заголовок
|
||||||
|
разобрать параметры
|
||||||
|
проверить наличие редактируемого модуля
|
||||||
|
редактируемый модуль не существует
|
||||||
|
назначить редактируемым модуль главреда
|
||||||
|
задать параметр модуля главредом
|
||||||
|
продолжить загрузку
|
||||||
|
редактируемый модуль существует
|
||||||
|
загрузить содержимое редактируемого модуля
|
||||||
|
не загрузили содержимое
|
||||||
|
уведомить об ошибке загрузки содержимого редактируемого модуля
|
||||||
|
загрузили содержимое
|
||||||
|
задать заголовок вкладки браузера
|
||||||
|
запустить модули главреда
|
||||||
37
функции|functions.js
Normal file
37
функции|functions.js
Normal file
@@ -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 = задатьПараметрВСтрокеПоиска;
|
||||||
|
|
||||||
Reference in New Issue
Block a user