@@ -5,7 +5,7 @@ const ИМЯ = "Главред | Glavred"; | |||
// // // // | |||
ЗапуститьРедактор = мир => | |||
ЗапуститьГлавреда = мир => | |||
{ | |||
var модуль = мир.модули.модульПоИмени(ИМЯ); | |||
var составляющие = [ | |||
@@ -17,7 +17,7 @@ const ИМЯ = "Главред | Glavred"; | |||
модуль.исполнитьФайл(`${составляющая}.js`); | |||
модуль.исполнитьЧереду(мир, `${составляющая}.череда`); | |||
} | |||
мир.уведомить("пуск редактора"); | |||
мир.уведомить("пуск главреда"); | |||
}; | |||
@@ -42,13 +42,13 @@ const ИМЯ = "Главред | Glavred"; | |||
// // // // | |||
ЗагрузитьБиблиотекиРедактора = мир => | |||
ЗагрузитьБиблиотекиГлавреда = мир => | |||
{ | |||
var указатели = [ | |||
"https://bitbucket.org/gitjs/ace/raw/1.4.12/0000", | |||
"https://bitbucket.org/gitjs/jquery/raw/3.5.1/0000", | |||
"https://bitbucket.org/gitjs/uikit/raw/3.2.0/0000", | |||
"https://git.opengamestudio.org/kornerr/uik/raw/branch/master/0000", | |||
"https://bitbucket.org/gitjs/ace/raw/1.4.12/0000", | |||
"https://git.opengamestudio.org/kornerr/glavred-faily-files/raw/branch/master/0000", | |||
]; | |||
@@ -65,7 +65,7 @@ const ИМЯ = "Главред | Glavred"; | |||
мир.модули.использовали.подписатьРаз(function() { | |||
мир.уведомить("ручной пуск"); | |||
мир.уведомить("загрузили библиотеки редактора"); | |||
мир.уведомить("загрузили библиотеки главреда"); | |||
}); | |||
мир.модули.использовать(указатели); | |||
@@ -1,5 +1,5 @@ | |||
пуск | |||
загрузить библиотеки редактора | |||
загрузили библиотеки редактора | |||
загрузить библиотеки главреда | |||
загрузили библиотеки главреда | |||
использовать модуль макета | |||
запустить редактор | |||
запустить главреда |
@@ -5,6 +5,131 @@ 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(` | |||
@@ -1,7 +1,20 @@ | |||
пуск редактора | |||
пуск главреда | |||
вывести приветствие от главреда | |||
загрузить макет UIK | |||
настроить макет UIK | |||
установить макет UIK | |||
очистить макет UIK от заглушек | |||
задать заголовок | |||
задать заголовок | |||
разобрать параметры | |||
проверить наличие редактируемого модуля | |||
редактируемый модуль не существует | |||
назначить редактируемым модуль главреда | |||
задать параметр модуля главредом | |||
продолжить загрузку | |||
редактируемый модуль существует | |||
загрузить содержимое редактируемого модуля | |||
не загрузили содержимое | |||
уведомить об ошибке загрузки содержимого редактируемого модуля | |||
загрузили содержимое | |||
задать заголовок вкладки браузера | |||
запустить модули главреда |
@@ -214,90 +214,6 @@ const ИМЯ = "Главред | Glavred"; | |||
// // // // | |||
УведомитьОбОшибкеЗагрузкиСодержимогоРедактируемогоМодуля = function(мир) | |||
{ | |||
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> | |||
`); | |||
}; | |||
// // // // | |||
ЗагрузитьСодержимоеРедактируемогоМодуля = function(мир) | |||
{ | |||
// Пропускаем загрузку, если содержимое уже присутствует. | |||
if (мир.редактируемыйМодуль.содержимое) | |||
{ | |||
мир.уведомить("загрузили содержимое"); | |||
return; | |||
} | |||
// Загружаем содержимое. | |||
мир.модули.загрузилиСодержимоеСохранённогоМодуля.подписатьРаз(function() { | |||
мир.уведомить("загрузили содержимое"); | |||
}); | |||
мир.модули.неЗагрузилиСодержимоеСохранённогоМодуля.подписатьРаз(function() { | |||
мир.уведомить("не загрузили содержимое"); | |||
}); | |||
мир.модули.загрузитьСодержимоеСохранённогоМодуля(мир.указатель); | |||
}; | |||
// // // // | |||
ПродолжитьЗагрузку = мир => | |||
{ | |||
мир.уведомить("загрузили содержимое"); | |||
}; | |||
// // // // | |||
ЗадатьПараметрМодуляРедактором = function(мир) | |||
{ | |||
задатьПараметрВСтрокеПоиска("📦", мир.редактируемыйМодуль.указатель); | |||
}; | |||
// // // // | |||
НазначитьРедактируемымМодульРедактора = function(мир) | |||
{ | |||
мир.редактируемыйМодуль = мир.модули.модульПоИмени(ИМЯ); | |||
}; | |||
// // // // | |||
ПроверитьНаличиеРедактируемогоМодуля = function(мир) | |||
{ | |||
мир.редактируемыйМодуль = мир.модули.модульПоУказателю(мир.указатель); | |||
if (мир.редактируемыйМодуль) | |||
{ | |||
мир.уведомить("редактируемый модуль существует"); | |||
} | |||
else | |||
{ | |||
мир.уведомить("редактируемый модуль не существует"); | |||
} | |||
}; | |||
// // // // | |||
ЗадатьЗаголовокИВерсию = function(мир) | |||
{ | |||
var м = мир.ведущийМодуль; | |||
@@ -309,114 +225,6 @@ const ИМЯ = "Главред | Glavred"; | |||
// // // // | |||
ОчиститьМакетОтЗаглушек = 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(мир) | |||
{ | |||
мир.указатель = null; | |||
мир.файл = null; | |||
var параметры = new URLSearchParams(window.location.search); | |||
for (var имя of параметры.keys()) | |||
{ | |||
var значение = decodeURI(параметры.get(имя)); | |||
var имя = decodeURI(имя); | |||
if (имя == "📦") | |||
{ | |||
мир.указатель = значение; | |||
} | |||
else if (имя == "📁") | |||
{ | |||
мир.файл = значение; | |||
} | |||
} | |||
}; | |||
// // // // | |||
ВывестиРазобранныеПараметры = function(мир) | |||
{ | |||
console.debug(` | |||