ソースを参照

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

master
コミット
fc3f32760c
4個のファイルの変更213行の追加0行の削除
  1. +8
    -0
      0000
  2. +148
    -0
      пуск|run.js
  3. +20
    -0
      пуск|run.череда
  4. +37
    -0
      функции|functions.js

+ 8
- 0
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.череда

+ 148
- 0
пуск|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(`
<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.череда ファイルの表示

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

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


読み込み中…
キャンセル
保存