Изменения от Издателя ГитЖС | Changes of GitJS Publisher
This commit is contained in:
151
пуск|run.js
151
пуск|run.js
@@ -5,86 +5,80 @@ const ИМЯ = "Файлы Главреда | Glavred Files"
|
||||
// // // //
|
||||
|
||||
|
||||
УведомитьОбОшибкеЗагрузкиСодержимогоРедактируемогоМодуля = 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>
|
||||
`);
|
||||
*/
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
// Очищаем выбор.
|
||||
for (var номер in файлы)
|
||||
{
|
||||
$(`#${мир.макет.списокФайлов.раздел}-${номер}`).removeClass("uk-active");
|
||||
}
|
||||
// Отображаем выбор.
|
||||
$(`#${мир.макет.списокФайлов.раздел}-${мир.номерВыбранногоФайла}`).addClass("uk-active");
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ЗагрузитьСодержимоеРедактируемогоМодуля = function(мир)
|
||||
ОтслеживатьВыборФайла = мир =>
|
||||
{
|
||||
// Пропускаем загрузку, если содержимое уже присутствует.
|
||||
if (мир.редактируемыйМодуль.содержимое)
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
for (var номер in файлы)
|
||||
{
|
||||
мир.уведомить("загрузили содержимое");
|
||||
return;
|
||||
const номерФайла = номер;
|
||||
$(`#${мир.макет.списокФайлов.раздел}-${номер}-ссылка`).click(function() {
|
||||
мир.номерВыбранногоФайла = номерФайла;
|
||||
мир.уведомить("выбрали файл");
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ЗадатьРазделМенюСоСпискомФайлов = мир =>
|
||||
{
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
var содержимое = "";
|
||||
for (var номер in файлы)
|
||||
{
|
||||
var название = файлы[номер];
|
||||
var id = `${мир.макет.списокФайлов.раздел}-${номер}`;
|
||||
var пункт = мир.макет.списокФайлов.пунктМеню
|
||||
.replace(/%название%/g, название)
|
||||
.replace(/%id%/g, id)
|
||||
;
|
||||
содержимое += пункт;
|
||||
}
|
||||
|
||||
// Загружаем содержимое.
|
||||
мир.модули.загрузилиСодержимоеСохранённогоМодуля.подписатьРаз(function() {
|
||||
мир.уведомить("загрузили содержимое");
|
||||
});
|
||||
мир.модули.неЗагрузилиСодержимоеСохранённогоМодуля.подписатьРаз(function() {
|
||||
мир.уведомить("не загрузили содержимое");
|
||||
});
|
||||
мир.модули.загрузитьСодержимоеСохранённогоМодуля(мир.указатель);
|
||||
var заголовок = "📦 " + мир.редактируемыйМодуль.имя;
|
||||
var раздел = мир.макет.списокФайлов.разделМеню
|
||||
.replace("%название%", заголовок)
|
||||
.replace("%содержимое%", содержимое)
|
||||
;
|
||||
|
||||
$(`#${мир.макет.константы.меню}`).append(раздел);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ПродолжитьЗагрузку = мир =>
|
||||
ЗадатьЭлементыМакетаСпискаФайлов = мир =>
|
||||
{
|
||||
мир.уведомить("загрузили содержимое");
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ЗадатьПараметрМодуляФайламиГлавреда = function(мир)
|
||||
{
|
||||
задатьПараметрВСтрокеПоиска("📦", мир.редактируемыйМодуль.указатель);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
НазначитьРедактируемымМодульФайловГлавреда = function(мир)
|
||||
{
|
||||
мир.редактируемыйМодуль = мир.модули.модульПоИмени(ИМЯ);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ПроверитьНаличиеРедактируемогоМодуля = function(мир)
|
||||
{
|
||||
мир.редактируемыйМодуль = мир.модули.модульПоУказателю(мир.указатель);
|
||||
if (мир.редактируемыйМодуль)
|
||||
{
|
||||
мир.уведомить("редактируемый модуль существует");
|
||||
}
|
||||
else
|
||||
{
|
||||
мир.уведомить("редактируемый модуль не существует");
|
||||
}
|
||||
мир.макет.списокФайлов = {
|
||||
"раздел": "списокФайлов",
|
||||
"разделМеню": `
|
||||
<ul class="uk-nav uk-nav-default tm-nav">
|
||||
<li class="uk-nav-header">%название%</li>
|
||||
%содержимое%
|
||||
</ul>
|
||||
`,
|
||||
"пунктМеню": `
|
||||
<li id="%id%"><a id="%id%-ссылка"><span id="%id%-изменение" hidden>• </span>%название%</a></li>
|
||||
`,
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -96,36 +90,3 @@ const ИМЯ = "Файлы Главреда | Glavred Files"
|
||||
console.debug("Привет от Файлов Главреда");
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ЗадатьЗаголовокВкладкиБраузера = мир =>
|
||||
{
|
||||
document.title = мир.редактируемыйМодуль.имя;
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
РазобратьПараметрыФайловГлавреда = мир =>
|
||||
{
|
||||
мир.указатель = null;
|
||||
мир.файл = null;
|
||||
|
||||
var параметры = new URLSearchParams(window.location.search);
|
||||
for (var имя of параметры.keys())
|
||||
{
|
||||
var значение = decodeURI(параметры.get(имя));
|
||||
var имя = decodeURI(имя);
|
||||
if (имя == "📦")
|
||||
{
|
||||
мир.указатель = значение;
|
||||
}
|
||||
else if (имя == "📁")
|
||||
{
|
||||
мир.файл = значение;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,14 +1,7 @@
|
||||
пуск редактора
|
||||
пуск модулей главреда
|
||||
вывести приветствие от файлов главреда
|
||||
разобрать параметры файлов главреда
|
||||
проверить наличие редактируемого модуля
|
||||
редактируемый модуль не существует
|
||||
назначить редактируемым модуль файлов главреда
|
||||
задать параметр модуля файлами главреда
|
||||
продолжить загрузку
|
||||
редактируемый модуль существует
|
||||
загрузить содержимое редактируемого модуля
|
||||
не загрузили содержимое
|
||||
уведомить об ошибке загрузки содержимого редактируемого модуля
|
||||
загрузили содержимое
|
||||
задать заголовок вкладки браузера
|
||||
задать элементы макета списка файлов
|
||||
задать раздел меню со списком файлов
|
||||
отслеживать выбор файла
|
||||
выбрали файл
|
||||
отобразить выбор файла
|
||||
@@ -52,22 +52,6 @@
|
||||
мир.редактор.session.setValue(содержимое);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьВыборФайла = function(мир)
|
||||
{
|
||||
var id = мир.макет.константы.файл;
|
||||
// Очищаем выбор.
|
||||
for (var номер in мир.файлы)
|
||||
{
|
||||
$(`#${id}-${номер}-элемент`).removeClass("uk-active");
|
||||
}
|
||||
// Отображаем выбор.
|
||||
$(`#${id}-${мир.номерВыбранногоФайла}-элемент`).addClass("uk-active");
|
||||
};
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -171,144 +155,6 @@ const ИМЯ = "Главред | Glavred";
|
||||
// // // //
|
||||
|
||||
|
||||
ОтслеживатьВыборФайла = function(мир)
|
||||
{
|
||||
var id = мир.макет.константы.файл;
|
||||
for (var номер in мир.файлы)
|
||||
{
|
||||
const номерФайла = номер;
|
||||
$(`#${id}-${номер}-ссылка`).click(function() {
|
||||
мир.номерВыбранногоФайла = номерФайла;
|
||||
мир.уведомить("выбрали файл");
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ЗадатьСписокФайлов = function(мир)
|
||||
{
|
||||
var м = мир.редактируемыйМодуль;
|
||||
мир.файлы = Object.keys(м.структура).sort();
|
||||
|
||||
var содержимое = "";
|
||||
|
||||
var заголовок = мир.макет.элементы.заголовокМеню.replace("${название}", "📦 " + м.имя);
|
||||
содержимое += заголовок;
|
||||
var id = мир.макет.константы.файл;
|
||||
for (var номер in мир.файлы)
|
||||
{
|
||||
var файл = мир.файлы[номер];
|
||||
содержимое += мир.макет.элементы.пунктМеню
|
||||
.replace("${название}", файл)
|
||||
.replace(/\$\{id\}/g, `${id}-${номер}`)
|
||||
;
|
||||
}
|
||||
|
||||
$(`#${мир.макет.константы.меню}`).html(содержимое);
|
||||
};
|
||||
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ЗадатьЗаголовокИВерсию = function(мир)
|
||||
{
|
||||
var м = мир.ведущийМодуль;
|
||||
$(`#${мир.макет.константы.заголовок}`).text(м.имя);
|
||||
$(`#${мир.макет.константы.версия}`).text(м.версия);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОчиститьМакетОтЗаглушек = 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(мир)
|
||||
{
|
||||
console.debug(`
|
||||
|
||||
Reference in New Issue
Block a user