Изменения от Издателя ГитЖС | 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";
|
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||||
console.error(сообщение);
|
// Очищаем выбор.
|
||||||
console.error(мир.указатель);
|
for (var номер in файлы)
|
||||||
/*
|
{
|
||||||
$(`#${мир.макет.константы.содержимое}`).html(`
|
$(`#${мир.макет.списокФайлов.раздел}-${номер}`).removeClass("uk-active");
|
||||||
<div class="ошибка">
|
}
|
||||||
<p>${сообщение}</p>
|
// Отображаем выбор.
|
||||||
<p>${мир.указатель}</p>
|
$(`#${мир.макет.списокФайлов.раздел}-${мир.номерВыбранногоФайла}`).addClass("uk-active");
|
||||||
</div>
|
|
||||||
`);
|
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
ЗагрузитьСодержимоеРедактируемогоМодуля = function(мир)
|
ОтслеживатьВыборФайла = мир =>
|
||||||
{
|
{
|
||||||
// Пропускаем загрузку, если содержимое уже присутствует.
|
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||||
if (мир.редактируемыйМодуль.содержимое)
|
for (var номер in файлы)
|
||||||
{
|
{
|
||||||
мир.уведомить("загрузили содержимое");
|
const номерФайла = номер;
|
||||||
return;
|
$(`#${мир.макет.списокФайлов.раздел}-${номер}-ссылка`).click(function() {
|
||||||
|
мир.номерВыбранногоФайла = номерФайла;
|
||||||
|
мир.уведомить("выбрали файл");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ЗадатьРазделМенюСоСпискомФайлов = мир =>
|
||||||
|
{
|
||||||
|
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||||
|
var содержимое = "";
|
||||||
|
for (var номер in файлы)
|
||||||
|
{
|
||||||
|
var название = файлы[номер];
|
||||||
|
var id = `${мир.макет.списокФайлов.раздел}-${номер}`;
|
||||||
|
var пункт = мир.макет.списокФайлов.пунктМеню
|
||||||
|
.replace(/%название%/g, название)
|
||||||
|
.replace(/%id%/g, id)
|
||||||
|
;
|
||||||
|
содержимое += пункт;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Загружаем содержимое.
|
var заголовок = "📦 " + мир.редактируемыйМодуль.имя;
|
||||||
мир.модули.загрузилиСодержимоеСохранённогоМодуля.подписатьРаз(function() {
|
var раздел = мир.макет.списокФайлов.разделМеню
|
||||||
мир.уведомить("загрузили содержимое");
|
.replace("%название%", заголовок)
|
||||||
});
|
.replace("%содержимое%", содержимое)
|
||||||
мир.модули.неЗагрузилиСодержимоеСохранённогоМодуля.подписатьРаз(function() {
|
;
|
||||||
мир.уведомить("не загрузили содержимое");
|
|
||||||
});
|
$(`#${мир.макет.константы.меню}`).append(раздел);
|
||||||
мир.модули.загрузитьСодержимоеСохранённогоМодуля(мир.указатель);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
ПродолжитьЗагрузку = мир =>
|
ЗадатьЭлементыМакетаСпискаФайлов = мир =>
|
||||||
{
|
{
|
||||||
мир.уведомить("загрузили содержимое");
|
мир.макет.списокФайлов = {
|
||||||
};
|
"раздел": "списокФайлов",
|
||||||
|
"разделМеню": `
|
||||||
|
<ul class="uk-nav uk-nav-default tm-nav">
|
||||||
// // // //
|
<li class="uk-nav-header">%название%</li>
|
||||||
|
%содержимое%
|
||||||
|
</ul>
|
||||||
ЗадатьПараметрМодуляФайламиГлавреда = function(мир)
|
`,
|
||||||
{
|
"пунктМеню": `
|
||||||
задатьПараметрВСтрокеПоиска("📦", мир.редактируемыйМодуль.указатель);
|
<li id="%id%"><a id="%id%-ссылка"><span id="%id%-изменение" hidden>• </span>%название%</a></li>
|
||||||
};
|
`,
|
||||||
|
};
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
НазначитьРедактируемымМодульФайловГлавреда = function(мир)
|
|
||||||
{
|
|
||||||
мир.редактируемыйМодуль = мир.модули.модульПоИмени(ИМЯ);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ПроверитьНаличиеРедактируемогоМодуля = function(мир)
|
|
||||||
{
|
|
||||||
мир.редактируемыйМодуль = мир.модули.модульПоУказателю(мир.указатель);
|
|
||||||
if (мир.редактируемыйМодуль)
|
|
||||||
{
|
|
||||||
мир.уведомить("редактируемый модуль существует");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
мир.уведомить("редактируемый модуль не существует");
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -96,36 +90,3 @@ const ИМЯ = "Файлы Главреда | Glavred Files"
|
|||||||
console.debug("Привет от Файлов Главреда");
|
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(содержимое);
|
мир.редактор.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(мир)
|
ВывестиРазобранныеПараметры = function(мир)
|
||||||
{
|
{
|
||||||
console.debug(`
|
console.debug(`
|
||||||
|
|||||||
Reference in New Issue
Block a user