Browse Source

Создать заготовку основы | Create a stub for base

master
commit
fc3f32760c
4 changed files with 213 additions and 0 deletions
  1. +8
    -0
      0000
  2. +148
    -0
      пуск|run.js
  3. +20
    -0
      пуск|run.череда
  4. +37
    -0
      функции|functions.js

+ 8
- 0
0000 View 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
- 0
пуск|run.js View 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
- 0
пуск|run.череда View File

@@ -0,0 +1,20 @@
пуск главреда
вывести приветствие от главреда
загрузить макет UIK
настроить макет UIK
установить макет UIK
очистить макет UIK от заглушек
задать заголовок
разобрать параметры
проверить наличие редактируемого модуля
редактируемый модуль не существует
назначить редактируемым модуль главреда
задать параметр модуля главредом
продолжить загрузку
редактируемый модуль существует
загрузить содержимое редактируемого модуля
не загрузили содержимое
уведомить об ошибке загрузки содержимого редактируемого модуля
загрузили содержимое
задать заголовок вкладки браузера
запустить модули главреда

+ 37
- 0
функции|functions.js View 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 = задатьПараметрВСтрокеПоиска;


Loading…
Cancel
Save