Изменения от Главреда ГитЖС | Changes of GitJS Glavred
This commit is contained in:
6
0000
6
0000
@@ -2,5 +2,9 @@
|
||||
1.0.0
|
||||
https://git.opengamestudio.org/glavred/glavred-zav-mgr
|
||||
|
||||
x /описание|description.js
|
||||
/описание|description.череда
|
||||
x /пуск|run.js
|
||||
/пуск|run.череда
|
||||
/пуск|run.череда
|
||||
x /файлы|files.js
|
||||
/файлы|files.череда
|
||||
86
описание|description.js
Normal file
86
описание|description.js
Normal file
@@ -0,0 +1,86 @@
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
СохранитьВременноеОписание = мир =>
|
||||
{
|
||||
var м = мир.редактируемыйМодуль;
|
||||
м.имя = $(`#${мир.макет.зав.описаниеИмя}`).val()
|
||||
м.версия = $(`#${мир.макет.зав.описаниеВерсия}`).val()
|
||||
м["🏠"] = $(`#${мир.макет.зав.описаниеХранилище}`).val()
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОчиститьИзменениеОписания = мир =>
|
||||
{
|
||||
$(`#${мир.макет.зав.описаниеИзменение}`).attr("hidden", true);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьИзменениеОписания = мир =>
|
||||
{
|
||||
$(`#${мир.макет.зав.описаниеИзменение}`).removeAttr("hidden");
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтслеживатьИзменениеОписанияМодуля = мир =>
|
||||
{
|
||||
$(`#${мир.макет.зав.описаниеИмя}`).on("input", function() {
|
||||
мир.уведомить("изменили описание модуля");
|
||||
});
|
||||
$(`#${мир.макет.зав.описаниеВерсия}`).on("input", function() {
|
||||
мир.уведомить("изменили описание модуля");
|
||||
});
|
||||
$(`#${мир.макет.зав.описаниеХранилище}`).on("input", function() {
|
||||
мир.уведомить("изменили описание модуля");
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьОписаниеМодуля = мир =>
|
||||
{
|
||||
var м = мир.редактируемыйМодуль;
|
||||
$(`#${мир.макет.зав.описаниеИмя}`).val(м.имя);
|
||||
$(`#${мир.макет.зав.описаниеВерсия}`).val(м.версия);
|
||||
$(`#${мир.макет.зав.описаниеХранилище}`).val(м["🏠"]);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьСтруктуруПунктаОписанияЗава = мир =>
|
||||
{
|
||||
$(`#${мир.макет.константы.содержимое}`).html(`
|
||||
<div class="зав-отступ">
|
||||
<form>
|
||||
<input id="${мир.макет.зав.описаниеИмя}" class="uk-input uk-margin-small" type="text" placeholder="Имя | Name">
|
||||
<input id="${мир.макет.зав.описаниеВерсия}" class="uk-input uk-margin-small" type="text" placeholder="Версия | Version">
|
||||
<input id="${мир.макет.зав.описаниеХранилище}" class="uk-input uk-margin-small" type="text" placeholder="Хранилище | Repository">
|
||||
</form>
|
||||
</div>
|
||||
`);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьВыборПунктаОписанияЗава = мир =>
|
||||
{
|
||||
$(`#${мир.макет.зав.описание}`).addClass("uk-active");
|
||||
};
|
||||
|
||||
11
описание|description.череда
Normal file
11
описание|description.череда
Normal file
@@ -0,0 +1,11 @@
|
||||
выбрали пункт описания зава
|
||||
очистить отображение выбора в меню
|
||||
отобразить выбор пункта описания зава
|
||||
отобразить структуру пункта описания зава
|
||||
отобразить описание модуля
|
||||
отслеживать изменение описания модуля
|
||||
изменили описание модуля
|
||||
отобразить изменение описания
|
||||
сохранить временное описание
|
||||
сохранили изменения
|
||||
очистить изменение описания
|
||||
431
пуск|run.js
431
пуск|run.js
@@ -3,416 +3,6 @@
|
||||
// // // //
|
||||
|
||||
|
||||
СохранитьФлагиФайлаМодуля = мир =>
|
||||
{
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
var файл = файлы[мир.номерФайлаМодуля];
|
||||
var флаги = {};
|
||||
for (var номер = 0; номер < мир.флагиФайлаМодуля.length; ++номер)
|
||||
{
|
||||
var флаг = мир.флагиФайлаМодуля[номер];
|
||||
console.debug("флаг", флаг);
|
||||
if (флаг == "x")
|
||||
{
|
||||
флаги["исполнить"] = true;
|
||||
}
|
||||
else if (флаг == "2")
|
||||
{
|
||||
флаги["двоичный"] = true;
|
||||
}
|
||||
}
|
||||
мир.редактируемыйМодуль.структура[файл] = флаги;
|
||||
console.debug("сохранить флаги файла модуля", файл, флаги)
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтслеживатьСменуФлаговУФайловМодуля = мир =>
|
||||
{
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
for (var номер in файлы)
|
||||
{
|
||||
const idФлаги = мир.макет.зав.файлыСписокФлаги.replace("%номер%", номер);
|
||||
const номерФайла = номер;
|
||||
$(`#${idФлаги}`).on("input", function() {
|
||||
мир.номерФайлаМодуля = номерФайла;
|
||||
мир.флагиФайлаМодуля = $(`#${idФлаги}`).val();
|
||||
мир.уведомить("сменили флаги у файла модуля");
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
СоздатьХранилищеПереименованийФайловМодуля = мир =>
|
||||
{
|
||||
мир.переименования = {}
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
СохранитьПереименованиеФайловМодуля = мир =>
|
||||
{
|
||||
for (var было in мир.переименования)
|
||||
{
|
||||
var стало = мир.переименования[было];
|
||||
мир.редактируемыйМодуль.структура[стало] = мир.редактируемыйМодуль.структура[было];
|
||||
мир.редактируемыйМодуль.содержимое[стало] = мир.редактируемыйМодуль.содержимое[было];
|
||||
delete мир.редактируемыйМодуль.структура[было];
|
||||
delete мир.редактируемыйМодуль.содержимое[было];
|
||||
}
|
||||
|
||||
мир.переименования = {};
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ЗапомнитьПереименованиеФайлаМодуля = мир =>
|
||||
{
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
var файл = файлы[мир.номерФайлаМодуля];
|
||||
мир.переименования[файл] = мир.имяФайлаМодуля;
|
||||
console.debug(`НАДО переименовать '${файл}' в '${мир.имяФайлаМодуля}'`)
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтслеживатьПереименованиеФайловМодуля = мир =>
|
||||
{
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
for (var номер in файлы)
|
||||
{
|
||||
const idИмя = мир.макет.зав.файлыСписокИмя.replace("%номер%", номер);
|
||||
const номерФайла = номер;
|
||||
$(`#${idИмя}`).on("input", function() {
|
||||
мир.номерФайлаМодуля = номерФайла;
|
||||
мир.имяФайлаМодуля = $(`#${idИмя}`).val();
|
||||
мир.уведомить("переименовали файл модуля");
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
УдалитьФайлМодуля = мир =>
|
||||
{
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
var файл = файлы[мир.номерФайлаМодуля];
|
||||
delete мир.редактируемыйМодуль.структура[файл];
|
||||
delete мир.редактируемыйМодуль.содержимое[файл];
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
СпроситьПодтверждениеУдаленияФайлаМодуля = мир =>
|
||||
{
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
var файл = файлы[мир.номерФайлаМодуля];
|
||||
$(`#${мир.макет.зав.файлыПодтверждениеУдаленияИмя}`).html(файл);
|
||||
UIkit.modal($(`#${мир.макет.зав.файлыПодтверждениеУдаления}`)).show();
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
СоздатьДиалогПодтвержденияУдаленияФайлаМодуля = мир =>
|
||||
{
|
||||
$(`#${мир.макет.константы.содержимое}`).append(`
|
||||
|
||||
<div id="${мир.макет.зав.файлыПодтверждениеУдаления}" uk-modal>
|
||||
<div class="uk-modal-dialog">
|
||||
<div class="uk-modal-header">
|
||||
<h2 class="uk-modal-title">Удалить файл? | Delete the file? </h2>
|
||||
</div>
|
||||
<div class="uk-modal-body">
|
||||
<p id="${мир.макет.зав.файлыПодтверждениеУдаленияИмя}"></p>
|
||||
</div>
|
||||
<div class="uk-modal-footer uk-text-right">
|
||||
<button class="uk-button uk-button-default uk-modal-close" type="button">Отмена | Cancel</button>
|
||||
<button id="${мир.макет.зав.файлыПодтверждениеУдаленияУдалить}" class="uk-button uk-button-danger uk-modal-close" type="button">Удалить | Delete</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
`);
|
||||
|
||||
$(`#${мир.макет.зав.файлыПодтверждениеУдаленияУдалить}`).click(function() {
|
||||
мир.уведомить("подтвердили удаление файла модуля");
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтслеживатьУдалениеФайлаМодуля = мир =>
|
||||
{
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
for (var номер in файлы)
|
||||
{
|
||||
var idУдалить = мир.макет.зав.файлыСписокУдалить.replace("%номер%", номер);
|
||||
const номерФайла = номер;
|
||||
$(`#${idУдалить}`).click(function() {
|
||||
мир.номерФайлаМодуля = номерФайла;
|
||||
мир.уведомить("кнопка удаления файла модуля");
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОчиститьИзменениеФайловМодуля = мир =>
|
||||
{
|
||||
$(`#${мир.макет.зав.файлыИзменение}`).attr("hidden", true);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьИзменениеФайловМодуля = мир =>
|
||||
{
|
||||
$(`#${мир.макет.зав.файлыИзменение}`).removeAttr("hidden");
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ДобавитьФайлМодуля = мир =>
|
||||
{
|
||||
мир.редактируемыйМодуль.структура[мир.имяФайлаМодуля] = {};
|
||||
мир.редактируемыйМодуль.содержимое[мир.имяФайлаМодуля] = "";
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
СообщитьОНаличииДубляФайла = мир =>
|
||||
{
|
||||
var сообщение = "Такое имя файла уже существует | Such file name is already present";
|
||||
UIkit.modal.alert(сообщение);
|
||||
console.error(сообщение);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ПроверитьОтсутствиеДубляФайла = мир =>
|
||||
{
|
||||
for (var файл in мир.редактируемыйМодуль.структура)
|
||||
{
|
||||
if (файл == мир.имяФайлаМодуля)
|
||||
{
|
||||
мир.уведомить("дубль файла присутствует");
|
||||
return;
|
||||
}
|
||||
мир.уведомить("дубль файла отсутствует");
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтслеживатьДобавлениеФайлаМодуля = мир =>
|
||||
{
|
||||
$(`#${мир.макет.зав.добавитьФайлКнопка}`).click(function() {
|
||||
мир.имяФайлаМодуля = $(`#${мир.макет.зав.добавитьФайлИмя}`).val();
|
||||
мир.уведомить("кнопка добавления файла модуля");
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьСписокФайловМодуля = мир =>
|
||||
{
|
||||
var список = "";
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
for (var номер in файлы)
|
||||
{
|
||||
// Файл.
|
||||
var файл = файлы[номер];
|
||||
|
||||
// Флаги.
|
||||
var строкаФлагов = "";
|
||||
var флаги = мир.редактируемыйМодуль.структура[файл];
|
||||
for (var флаг in флаги)
|
||||
{
|
||||
if (флаг == "исполнить")
|
||||
{
|
||||
строкаФлагов += "x";
|
||||
}
|
||||
else if (флаг == "двоичный")
|
||||
{
|
||||
строкаФлагов += "2";
|
||||
}
|
||||
}
|
||||
|
||||
// id.
|
||||
var idИмя = мир.макет.зав.файлыСписокИмя.replace("%номер%", номер);
|
||||
var idФлаги = мир.макет.зав.файлыСписокФлаги.replace("%номер%", номер);
|
||||
var idУдалить = мир.макет.зав.файлыСписокУдалить.replace("%номер%", номер);
|
||||
|
||||
|
||||
var имяФайла = файл;
|
||||
if (мир.переименования[файл]) {
|
||||
имяФайла = мир.переименования[файл];
|
||||
}
|
||||
|
||||
список += `
|
||||
<tr>
|
||||
<td>
|
||||
<input id="${idИмя}" value="${имяФайла}" class="uk-input uk-margin-small" type="text" placeholder="Имя | Name">
|
||||
</td>
|
||||
<td>
|
||||
<input id="${idФлаги}" value="${строкаФлагов}" class="uk-input uk-margin-small" type="text" placeholder="Флаги | Flags">
|
||||
</td>
|
||||
<td>
|
||||
<button id="${idУдалить}" class="uk-button uk-button-danger">
|
||||
<span uk-icon="minus"></span>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
`;
|
||||
}
|
||||
|
||||
$(`#${мир.макет.зав.файлыСписок}`).html(список);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьСтруктуруПунктаФайловЗава = мир =>
|
||||
{
|
||||
$(`#${мир.макет.константы.содержимое}`).html(`
|
||||
<div class="зав-отступ">
|
||||
|
||||
<div uk-grid style="margin-left: 0px">
|
||||
<input id="${мир.макет.зав.добавитьФайлИмя}" class="uk-input uk-width-expand" type="text" placeholder="Имя файла | File name">
|
||||
<button id="${мир.макет.зав.добавитьФайлКнопка}" class="uk-button uk-button-primary uk-width-auto uk-margin-left">Добавить файл | Add a file</button>
|
||||
</div>
|
||||
|
||||
<hr class="uk-divider-icon">
|
||||
|
||||
<table class="uk-table uk-table-hover uk-table-divider">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Файл | File</th>
|
||||
<th>Флаги | Flags</th>
|
||||
<th>Действия | Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="${мир.макет.зав.файлыСписок}">
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
`);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
СохранитьВременноеОписание = мир =>
|
||||
{
|
||||
var м = мир.редактируемыйМодуль;
|
||||
м.имя = $(`#${мир.макет.зав.описаниеИмя}`).val()
|
||||
м.версия = $(`#${мир.макет.зав.описаниеВерсия}`).val()
|
||||
м["🏠"] = $(`#${мир.макет.зав.описаниеХранилище}`).val()
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОчиститьИзменениеОписания = мир =>
|
||||
{
|
||||
$(`#${мир.макет.зав.описаниеИзменение}`).attr("hidden", true);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьИзменениеОписания = мир =>
|
||||
{
|
||||
$(`#${мир.макет.зав.описаниеИзменение}`).removeAttr("hidden");
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтслеживатьИзменениеОписанияМодуля = мир =>
|
||||
{
|
||||
$(`#${мир.макет.зав.описаниеИмя}`).on("input", function() {
|
||||
мир.уведомить("изменили описание модуля");
|
||||
});
|
||||
$(`#${мир.макет.зав.описаниеВерсия}`).on("input", function() {
|
||||
мир.уведомить("изменили описание модуля");
|
||||
});
|
||||
$(`#${мир.макет.зав.описаниеХранилище}`).on("input", function() {
|
||||
мир.уведомить("изменили описание модуля");
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьОписаниеМодуля = мир =>
|
||||
{
|
||||
var м = мир.редактируемыйМодуль;
|
||||
$(`#${мир.макет.зав.описаниеИмя}`).val(м.имя);
|
||||
$(`#${мир.макет.зав.описаниеВерсия}`).val(м.версия);
|
||||
$(`#${мир.макет.зав.описаниеХранилище}`).val(м["🏠"]);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьСтруктуруПунктаОписанияЗава = мир =>
|
||||
{
|
||||
$(`#${мир.макет.константы.содержимое}`).html(`
|
||||
<div class="зав-отступ">
|
||||
<form>
|
||||
<input id="${мир.макет.зав.описаниеИмя}" class="uk-input uk-margin-small" type="text" placeholder="Имя | Name">
|
||||
<input id="${мир.макет.зав.описаниеВерсия}" class="uk-input uk-margin-small" type="text" placeholder="Версия | Version">
|
||||
<input id="${мир.макет.зав.описаниеХранилище}" class="uk-input uk-margin-small" type="text" placeholder="Хранилище | Repository">
|
||||
</form>
|
||||
</div>
|
||||
`);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ЗадатьВидСодержимогоМенюЗава = мир =>
|
||||
{
|
||||
задатьВид(`
|
||||
@@ -427,24 +17,6 @@
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьВыборПунктаФайловЗава = мир =>
|
||||
{
|
||||
$(`#${мир.макет.зав.файлы}`).addClass("uk-active");
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьВыборПунктаОписанияЗава = мир =>
|
||||
{
|
||||
$(`#${мир.макет.зав.описание}`).addClass("uk-active");
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ЗадатьРазделМенюЗава = мир =>
|
||||
{
|
||||
мир.макет.зав = {
|
||||
@@ -487,4 +59,5 @@
|
||||
$(`#${мир.макет.зав.файлыСсылка}`).click(function() {
|
||||
мир.уведомить("выбрали пункт файлов зава");
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1,74 +1,3 @@
|
||||
пуск модулей главреда
|
||||
задать раздел меню зава
|
||||
задать вид содержимого меню зава
|
||||
создать хранилище переименований файлов модуля
|
||||
выбрали пункт описания зава
|
||||
очистить отображение выбора в меню
|
||||
отобразить выбор пункта описания зава
|
||||
отобразить структуру пункта описания зава
|
||||
отобразить описание модуля
|
||||
отслеживать изменение описания модуля
|
||||
выбрали пункт файлов зава
|
||||
очистить отображение выбора в меню
|
||||
отобразить выбор пункта файлов зава
|
||||
отобразить структуру пункта файлов зава
|
||||
отобразить список файлов модуля
|
||||
отслеживать добавление файла модуля
|
||||
отслеживать удаление файла модуля
|
||||
создать диалог подтверждения удаления файла модуля
|
||||
отслеживать переименование файлов модуля
|
||||
отслеживать смену флагов у файлов модуля
|
||||
изменили описание модуля
|
||||
отобразить изменение описания
|
||||
сохранить временное описание
|
||||
|
||||
кнопка добавления файла модуля
|
||||
сохранить переименование файлов модуля
|
||||
проверить отсутствие дубля файла
|
||||
дубль файла присутствует
|
||||
сообщить о наличии дубля файла
|
||||
дубль файла отсутствует
|
||||
добавить файл модуля
|
||||
отобразить изменение файлов модуля
|
||||
отобразить список файлов модуля
|
||||
отслеживать добавление файла модуля
|
||||
отслеживать удаление файла модуля
|
||||
отслеживать переименование файлов модуля
|
||||
отслеживать смену флагов у файлов модуля
|
||||
|
||||
кнопка удаления файла модуля
|
||||
сохранить переименование файлов модуля
|
||||
спросить подтверждение удаления файла модуля
|
||||
подтвердили удаление файла модуля
|
||||
удалить файл модуля
|
||||
отобразить изменение файлов модуля
|
||||
отобразить список файлов модуля
|
||||
отслеживать добавление файла модуля
|
||||
отслеживать удаление файла модуля
|
||||
отслеживать переименование файлов модуля
|
||||
отслеживать смену флагов у файлов модуля
|
||||
|
||||
переименовали файл модуля
|
||||
запомнить переименование файла модуля
|
||||
отобразить изменение файлов модуля
|
||||
|
||||
сменили флаги у файла модуля
|
||||
сохранить флаги файла модуля
|
||||
|
||||
начали сохранение
|
||||
сохранить переименование файлов модуля
|
||||
|
||||
сохранили изменения
|
||||
очистить изменение описания
|
||||
очистить изменение файлов модуля
|
||||
отобразить список файлов модуля
|
||||
отслеживать добавление файла модуля
|
||||
отслеживать удаление файла модуля
|
||||
отслеживать переименование файлов модуля
|
||||
отслеживать смену флагов у файлов модуля
|
||||
|
||||
# Сообщаем модулю Файлы о необходимости обновить список файлов
|
||||
# Куда-нибудь перенести?
|
||||
сохранили изменения
|
||||
обновить раздел меню со списком файлов
|
||||
отслеживать выбор файла
|
||||
задать вид содержимого меню зава
|
||||
345
файлы|files.js
Normal file
345
файлы|files.js
Normal file
@@ -0,0 +1,345 @@
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
СохранитьФлагиФайлаМодуля = мир =>
|
||||
{
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
var файл = файлы[мир.номерФайлаМодуля];
|
||||
var флаги = {};
|
||||
for (var номер = 0; номер < мир.флагиФайлаМодуля.length; ++номер)
|
||||
{
|
||||
var флаг = мир.флагиФайлаМодуля[номер];
|
||||
console.debug("флаг", флаг);
|
||||
if (флаг == "x")
|
||||
{
|
||||
флаги["исполнить"] = true;
|
||||
}
|
||||
else if (флаг == "2")
|
||||
{
|
||||
флаги["двоичный"] = true;
|
||||
}
|
||||
}
|
||||
мир.редактируемыйМодуль.структура[файл] = флаги;
|
||||
console.debug("сохранить флаги файла модуля", файл, флаги)
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтслеживатьСменуФлаговУФайловМодуля = мир =>
|
||||
{
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
for (var номер in файлы)
|
||||
{
|
||||
const idФлаги = мир.макет.зав.файлыСписокФлаги.replace("%номер%", номер);
|
||||
const номерФайла = номер;
|
||||
$(`#${idФлаги}`).on("input", function() {
|
||||
мир.номерФайлаМодуля = номерФайла;
|
||||
мир.флагиФайлаМодуля = $(`#${idФлаги}`).val();
|
||||
мир.уведомить("сменили флаги у файла модуля");
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
СоздатьХранилищеПереименованийФайловМодуля = мир =>
|
||||
{
|
||||
мир.переименования = {}
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
СохранитьПереименованиеФайловМодуля = мир =>
|
||||
{
|
||||
for (var было in мир.переименования)
|
||||
{
|
||||
var стало = мир.переименования[было];
|
||||
мир.редактируемыйМодуль.структура[стало] = мир.редактируемыйМодуль.структура[было];
|
||||
мир.редактируемыйМодуль.содержимое[стало] = мир.редактируемыйМодуль.содержимое[было];
|
||||
delete мир.редактируемыйМодуль.структура[было];
|
||||
delete мир.редактируемыйМодуль.содержимое[было];
|
||||
}
|
||||
|
||||
мир.переименования = {};
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ЗапомнитьПереименованиеФайлаМодуля = мир =>
|
||||
{
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
var файл = файлы[мир.номерФайлаМодуля];
|
||||
мир.переименования[файл] = мир.имяФайлаМодуля;
|
||||
console.debug(`НАДО переименовать '${файл}' в '${мир.имяФайлаМодуля}'`)
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтслеживатьПереименованиеФайловМодуля = мир =>
|
||||
{
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
for (var номер in файлы)
|
||||
{
|
||||
const idИмя = мир.макет.зав.файлыСписокИмя.replace("%номер%", номер);
|
||||
const номерФайла = номер;
|
||||
$(`#${idИмя}`).on("input", function() {
|
||||
мир.номерФайлаМодуля = номерФайла;
|
||||
мир.имяФайлаМодуля = $(`#${idИмя}`).val();
|
||||
мир.уведомить("переименовали файл модуля");
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
УдалитьФайлМодуля = мир =>
|
||||
{
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
var файл = файлы[мир.номерФайлаМодуля];
|
||||
delete мир.редактируемыйМодуль.структура[файл];
|
||||
delete мир.редактируемыйМодуль.содержимое[файл];
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
СпроситьПодтверждениеУдаленияФайлаМодуля = мир =>
|
||||
{
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
var файл = файлы[мир.номерФайлаМодуля];
|
||||
$(`#${мир.макет.зав.файлыПодтверждениеУдаленияИмя}`).html(файл);
|
||||
UIkit.modal($(`#${мир.макет.зав.файлыПодтверждениеУдаления}`)).show();
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
СоздатьДиалогПодтвержденияУдаленияФайлаМодуля = мир =>
|
||||
{
|
||||
$(`#${мир.макет.константы.содержимое}`).append(`
|
||||
|
||||
<div id="${мир.макет.зав.файлыПодтверждениеУдаления}" uk-modal>
|
||||
<div class="uk-modal-dialog">
|
||||
<div class="uk-modal-header">
|
||||
<h2 class="uk-modal-title">Удалить файл? | Delete the file? </h2>
|
||||
</div>
|
||||
<div class="uk-modal-body">
|
||||
<p id="${мир.макет.зав.файлыПодтверждениеУдаленияИмя}"></p>
|
||||
</div>
|
||||
<div class="uk-modal-footer uk-text-right">
|
||||
<button class="uk-button uk-button-default uk-modal-close" type="button">Отмена | Cancel</button>
|
||||
<button id="${мир.макет.зав.файлыПодтверждениеУдаленияУдалить}" class="uk-button uk-button-danger uk-modal-close" type="button">Удалить | Delete</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
`);
|
||||
|
||||
$(`#${мир.макет.зав.файлыПодтверждениеУдаленияУдалить}`).click(function() {
|
||||
мир.уведомить("подтвердили удаление файла модуля");
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтслеживатьУдалениеФайлаМодуля = мир =>
|
||||
{
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
for (var номер in файлы)
|
||||
{
|
||||
var idУдалить = мир.макет.зав.файлыСписокУдалить.replace("%номер%", номер);
|
||||
const номерФайла = номер;
|
||||
$(`#${idУдалить}`).click(function() {
|
||||
мир.номерФайлаМодуля = номерФайла;
|
||||
мир.уведомить("кнопка удаления файла модуля");
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОчиститьИзменениеФайловМодуля = мир =>
|
||||
{
|
||||
$(`#${мир.макет.зав.файлыИзменение}`).attr("hidden", true);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьИзменениеФайловМодуля = мир =>
|
||||
{
|
||||
$(`#${мир.макет.зав.файлыИзменение}`).removeAttr("hidden");
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ДобавитьФайлМодуля = мир =>
|
||||
{
|
||||
мир.редактируемыйМодуль.структура[мир.имяФайлаМодуля] = {};
|
||||
мир.редактируемыйМодуль.содержимое[мир.имяФайлаМодуля] = "";
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
СообщитьОНаличииДубляФайла = мир =>
|
||||
{
|
||||
var сообщение = "Такое имя файла уже существует | Such file name is already present";
|
||||
UIkit.modal.alert(сообщение);
|
||||
console.error(сообщение);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ПроверитьОтсутствиеДубляФайла = мир =>
|
||||
{
|
||||
for (var файл in мир.редактируемыйМодуль.структура)
|
||||
{
|
||||
if (файл == мир.имяФайлаМодуля)
|
||||
{
|
||||
мир.уведомить("дубль файла присутствует");
|
||||
return;
|
||||
}
|
||||
мир.уведомить("дубль файла отсутствует");
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтслеживатьДобавлениеФайлаМодуля = мир =>
|
||||
{
|
||||
$(`#${мир.макет.зав.добавитьФайлКнопка}`).click(function() {
|
||||
мир.имяФайлаМодуля = $(`#${мир.макет.зав.добавитьФайлИмя}`).val();
|
||||
мир.уведомить("кнопка добавления файла модуля");
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьСписокФайловМодуля = мир =>
|
||||
{
|
||||
var список = "";
|
||||
var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
|
||||
for (var номер in файлы)
|
||||
{
|
||||
// Файл.
|
||||
var файл = файлы[номер];
|
||||
|
||||
// Флаги.
|
||||
var строкаФлагов = "";
|
||||
var флаги = мир.редактируемыйМодуль.структура[файл];
|
||||
for (var флаг in флаги)
|
||||
{
|
||||
if (флаг == "исполнить")
|
||||
{
|
||||
строкаФлагов += "x";
|
||||
}
|
||||
else if (флаг == "двоичный")
|
||||
{
|
||||
строкаФлагов += "2";
|
||||
}
|
||||
}
|
||||
|
||||
// id.
|
||||
var idИмя = мир.макет.зав.файлыСписокИмя.replace("%номер%", номер);
|
||||
var idФлаги = мир.макет.зав.файлыСписокФлаги.replace("%номер%", номер);
|
||||
var idУдалить = мир.макет.зав.файлыСписокУдалить.replace("%номер%", номер);
|
||||
|
||||
|
||||
var имяФайла = файл;
|
||||
if (мир.переименования[файл]) {
|
||||
имяФайла = мир.переименования[файл];
|
||||
}
|
||||
|
||||
список += `
|
||||
<tr>
|
||||
<td>
|
||||
<input id="${idИмя}" value="${имяФайла}" class="uk-input uk-margin-small" type="text" placeholder="Имя | Name">
|
||||
</td>
|
||||
<td>
|
||||
<input id="${idФлаги}" value="${строкаФлагов}" class="uk-input uk-margin-small" type="text" placeholder="Флаги | Flags">
|
||||
</td>
|
||||
<td>
|
||||
<button id="${idУдалить}" class="uk-button uk-button-danger">
|
||||
<span uk-icon="minus"></span>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
`;
|
||||
}
|
||||
|
||||
$(`#${мир.макет.зав.файлыСписок}`).html(список);
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьСтруктуруПунктаФайловЗава = мир =>
|
||||
{
|
||||
$(`#${мир.макет.константы.содержимое}`).html(`
|
||||
<div class="зав-отступ">
|
||||
|
||||
<div uk-grid style="margin-left: 0px">
|
||||
<input id="${мир.макет.зав.добавитьФайлИмя}" class="uk-input uk-width-expand" type="text" placeholder="Имя файла | File name">
|
||||
<button id="${мир.макет.зав.добавитьФайлКнопка}" class="uk-button uk-button-primary uk-width-auto uk-margin-left">Добавить файл | Add a file</button>
|
||||
</div>
|
||||
|
||||
<hr class="uk-divider-icon">
|
||||
|
||||
<table class="uk-table uk-table-hover uk-table-divider">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Файл | File</th>
|
||||
<th>Флаги | Flags</th>
|
||||
<th>Действия | Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="${мир.макет.зав.файлыСписок}">
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
`);
|
||||
};
|
||||
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
ОтобразитьВыборПунктаФайловЗава = мир =>
|
||||
{
|
||||
$(`#${мир.макет.зав.файлы}`).addClass("uk-active");
|
||||
};
|
||||
|
||||
62
файлы|files.череда
Normal file
62
файлы|files.череда
Normal file
@@ -0,0 +1,62 @@
|
||||
пуск модулей главреда
|
||||
создать хранилище переименований файлов модуля
|
||||
выбрали пункт файлов зава
|
||||
очистить отображение выбора в меню
|
||||
отобразить выбор пункта файлов зава
|
||||
отобразить структуру пункта файлов зава
|
||||
отобразить список файлов модуля
|
||||
отслеживать добавление файла модуля
|
||||
отслеживать удаление файла модуля
|
||||
создать диалог подтверждения удаления файла модуля
|
||||
отслеживать переименование файлов модуля
|
||||
отслеживать смену флагов у файлов модуля
|
||||
|
||||
кнопка добавления файла модуля
|
||||
сохранить переименование файлов модуля
|
||||
проверить отсутствие дубля файла
|
||||
дубль файла присутствует
|
||||
сообщить о наличии дубля файла
|
||||
дубль файла отсутствует
|
||||
добавить файл модуля
|
||||
отобразить изменение файлов модуля
|
||||
отобразить список файлов модуля
|
||||
отслеживать добавление файла модуля
|
||||
отслеживать удаление файла модуля
|
||||
отслеживать переименование файлов модуля
|
||||
отслеживать смену флагов у файлов модуля
|
||||
|
||||
кнопка удаления файла модуля
|
||||
сохранить переименование файлов модуля
|
||||
спросить подтверждение удаления файла модуля
|
||||
подтвердили удаление файла модуля
|
||||
удалить файл модуля
|
||||
отобразить изменение файлов модуля
|
||||
отобразить список файлов модуля
|
||||
отслеживать добавление файла модуля
|
||||
отслеживать удаление файла модуля
|
||||
отслеживать переименование файлов модуля
|
||||
отслеживать смену флагов у файлов модуля
|
||||
|
||||
переименовали файл модуля
|
||||
запомнить переименование файла модуля
|
||||
отобразить изменение файлов модуля
|
||||
|
||||
сменили флаги у файла модуля
|
||||
сохранить флаги файла модуля
|
||||
|
||||
начали сохранение
|
||||
сохранить переименование файлов модуля
|
||||
|
||||
сохранили изменения
|
||||
очистить изменение файлов модуля
|
||||
отобразить список файлов модуля
|
||||
отслеживать добавление файла модуля
|
||||
отслеживать удаление файла модуля
|
||||
отслеживать переименование файлов модуля
|
||||
отслеживать смену флагов у файлов модуля
|
||||
|
||||
# Сообщаем модулю Файлы о необходимости обновить список файлов
|
||||
# Куда-нибудь перенести?
|
||||
сохранили изменения
|
||||
обновить раздел меню со списком файлов
|
||||
отслеживать выбор файла
|
||||
Reference in New Issue
Block a user