Browse Source

Изменения от Издателя ГитЖС | Changes of GitJS Publisher

master
Издатель | Publisher 4 years ago
parent
commit
68638a21df
3 changed files with 57 additions and 257 deletions
  1. +51
    -90
      пуск|run.js
  2. +6
    -13
      пуск|run.череда
  3. +0
    -154
      сохранение|saving.js

+ 51
- 90
пуск|run.js View File

@@ -5,127 +5,88 @@ 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>
`);
*/
};


// // // //


ЗагрузитьСодержимоеРедактируемогоМодуля = function(мир)
{
// Пропускаем загрузку, если содержимое уже присутствует.
if (мир.редактируемыйМодуль.содержимое)
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
// Очищаем выбор.
for (var номер in файлы)
{
мир.уведомить("загрузили содержимое");
return;
$(`#${мир.макет.списокФайлов.раздел}-${номер}`).removeClass("uk-active");
}

// Загружаем содержимое.
мир.модули.загрузилиСодержимоеСохранённогоМодуля.подписатьРаз(function() {
мир.уведомить("загрузили содержимое");
});
мир.модули.неЗагрузилиСодержимоеСохранённогоМодуля.подписатьРаз(function() {
мир.уведомить("не загрузили содержимое");
});
мир.модули.загрузитьСодержимоеСохранённогоМодуля(мир.указатель);
};


// // // //


ПродолжитьЗагрузку = мир =>
{
мир.уведомить("загрузили содержимое");
};


// // // //


ЗадатьПараметрМодуляФайламиГлавреда = function(мир)
{
задатьПараметрВСтрокеПоиска("📦", мир.редактируемыйМодуль.указатель);
// Отображаем выбор.
$(`#${мир.макет.списокФайлов.раздел}-${мир.номерВыбранногоФайла}`).addClass("uk-active");
};


// // // //


НазначитьРедактируемымМодульФайловГлавреда = function(мир)
ОтслеживатьВыборФайла = мир =>
{
мир.редактируемыйМодуль = мир.модули.модульПоИмени(ИМЯ);
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
for (var номер in файлы)
{
const номерФайла = номер;
$(`#${мир.макет.списокФайлов.раздел}-${номер}-ссылка`).click(function() {
мир.номерВыбранногоФайла = номерФайла;
мир.уведомить("выбрали файл");
});
}
};


// // // //


ПроверитьНаличиеРедактируемогоМодуля = function(мир)
ЗадатьРазделМенюСоСпискомФайлов = мир =>
{
мир.редактируемыйМодуль = мир.модули.модульПоУказателю(мир.указатель);
if (мир.редактируемыйМодуль)
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
var содержимое = "";
for (var номер in файлы)
{
мир.уведомить("редактируемый модуль существует");
}
else
{
мир.уведомить("редактируемый модуль не существует");
var название = файлы[номер];
var id = `${мир.макет.списокФайлов.раздел}-${номер}`;
var пункт = мир.макет.списокФайлов.пунктМеню
.replace(/%название%/g, название)
.replace(/%id%/g, id)
;
содержимое += пункт;
}
var заголовок = "📦 " + мир.редактируемыйМодуль.имя;
var раздел = мир.макет.списокФайлов.разделМеню
.replace("%название%", заголовок)
.replace("%содержимое%", содержимое)
;
$(`#${мир.макет.константы.меню}`).append(раздел);
};


// // // //


ВывестиПриветствиеОтФайловГлавреда = мир =>
ЗадатьЭлементыМакетаСпискаФайлов = мир =>
{
console.debug("Привет от Файлов Главреда");
мир.макет.списокФайлов = {
"раздел": "списокФайлов",
"разделМеню": `
<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>&#8226; </span>%название%</a></li>
`,
};
};


// // // //


ЗадатьЗаголовокВкладкиБраузера = мир =>
ВывестиПриветствиеОтФайловГлавреда = мир =>
{
document.title = мир.редактируемыйМодуль.имя;
console.debug("Привет от Файлов Главреда");
};


// // // //


РазобратьПараметрыФайловГлавреда = мир =>
{
мир.указатель = null;
мир.файл = null;

var параметры = new URLSearchParams(window.location.search);
for (var имя of параметры.keys())
{
var значение = decodeURI(параметры.get(имя));
var имя = decodeURI(имя);
if (имя == "📦")
{
мир.указатель = значение;
}
else if (имя == "📁")
{
мир.файл = значение;
}
}
};

+ 6
- 13
пуск|run.череда View File

@@ -1,14 +1,7 @@
пуск редактора
пуск модулей главреда
вывести приветствие от файлов главреда
разобрать параметры файлов главреда
проверить наличие редактируемого модуля
редактируемый модуль не существует
назначить редактируемым модуль файлов главреда
задать параметр модуля файлами главреда
продолжить загрузку
редактируемый модуль существует
загрузить содержимое редактируемого модуля
не загрузили содержимое
уведомить об ошибке загрузки содержимого редактируемого модуля
загрузили содержимое
задать заголовок вкладки браузера
задать элементы макета списка файлов
задать раздел меню со списком файлов
отслеживать выбор файла
выбрали файл
отобразить выбор файла

+ 0
- 154
сохранение|saving.js View File

@@ -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(`


Loading…
Cancel
Save