@@ -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.череда |
@@ -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"); | |||
}; | |||
@@ -0,0 +1,11 @@ | |||
выбрали пункт описания зава | |||
очистить отображение выбора в меню | |||
отобразить выбор пункта описания зава | |||
отобразить структуру пункта описания зава | |||
отобразить описание модуля | |||
отслеживать изменение описания модуля | |||
изменили описание модуля | |||
отобразить изменение описания | |||
сохранить временное описание | |||
сохранили изменения | |||
очистить изменение описания |
@@ -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 @@ | |||
пуск модулей главреда | |||
задать раздел меню зава | |||
задать вид содержимого меню зава | |||
создать хранилище переименований файлов модуля | |||
выбрали пункт описания зава | |||
очистить отображение выбора в меню | |||
отобразить выбор пункта описания зава | |||
отобразить структуру пункта описания зава | |||
отобразить описание модуля | |||
отслеживать изменение описания модуля | |||
выбрали пункт файлов зава | |||
очистить отображение выбора в меню | |||
отобразить выбор пункта файлов зава | |||
отобразить структуру пункта файлов зава | |||
отобразить список файлов модуля | |||
отслеживать добавление файла модуля | |||
отслеживать удаление файла модуля | |||
создать диалог подтверждения удаления файла модуля | |||
отслеживать переименование файлов модуля | |||
отслеживать смену флагов у файлов модуля | |||
изменили описание модуля | |||
отобразить изменение описания | |||
сохранить временное описание | |||
кнопка добавления файла модуля | |||
сохранить переименование файлов модуля | |||
проверить отсутствие дубля файла | |||
дубль файла присутствует | |||
сообщить о наличии дубля файла | |||
дубль файла отсутствует | |||
добавить файл модуля | |||
отобразить изменение файлов модуля | |||
отобразить список файлов модуля | |||
отслеживать добавление файла модуля | |||
отслеживать удаление файла модуля | |||
отслеживать переименование файлов модуля | |||
отслеживать смену флагов у файлов модуля | |||
кнопка удаления файла модуля | |||
сохранить переименование файлов модуля | |||
спросить подтверждение удаления файла модуля | |||
подтвердили удаление файла модуля | |||
удалить файл модуля | |||
отобразить изменение файлов модуля | |||
отобразить список файлов модуля | |||
отслеживать добавление файла модуля | |||
отслеживать удаление файла модуля | |||
отслеживать переименование файлов модуля | |||
отслеживать смену флагов у файлов модуля | |||
переименовали файл модуля | |||
запомнить переименование файла модуля | |||
отобразить изменение файлов модуля | |||
сменили флаги у файла модуля | |||
сохранить флаги файла модуля | |||
начали сохранение | |||
сохранить переименование файлов модуля | |||
сохранили изменения | |||
очистить изменение описания | |||
очистить изменение файлов модуля | |||
отобразить список файлов модуля | |||
отслеживать добавление файла модуля | |||
отслеживать удаление файла модуля | |||
отслеживать переименование файлов модуля | |||
отслеживать смену флагов у файлов модуля | |||
# Сообщаем модулю Файлы о необходимости обновить список файлов | |||
# Куда-нибудь перенести? | |||
сохранили изменения | |||
обновить раздел меню со списком файлов | |||
отслеживать выбор файла | |||
задать вид содержимого меню зава |
@@ -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"); | |||
}; | |||
@@ -0,0 +1,62 @@ | |||
пуск модулей главреда | |||
создать хранилище переименований файлов модуля | |||
выбрали пункт файлов зава | |||
очистить отображение выбора в меню | |||
отобразить выбор пункта файлов зава | |||
отобразить структуру пункта файлов зава | |||
отобразить список файлов модуля | |||
отслеживать добавление файла модуля | |||
отслеживать удаление файла модуля | |||
создать диалог подтверждения удаления файла модуля | |||
отслеживать переименование файлов модуля | |||
отслеживать смену флагов у файлов модуля | |||
кнопка добавления файла модуля | |||
сохранить переименование файлов модуля | |||
проверить отсутствие дубля файла | |||
дубль файла присутствует | |||
сообщить о наличии дубля файла | |||
дубль файла отсутствует | |||
добавить файл модуля | |||
отобразить изменение файлов модуля | |||
отобразить список файлов модуля | |||
отслеживать добавление файла модуля | |||
отслеживать удаление файла модуля | |||
отслеживать переименование файлов модуля | |||
отслеживать смену флагов у файлов модуля | |||
кнопка удаления файла модуля | |||
сохранить переименование файлов модуля | |||
спросить подтверждение удаления файла модуля | |||
подтвердили удаление файла модуля | |||
удалить файл модуля | |||
отобразить изменение файлов модуля | |||
отобразить список файлов модуля | |||
отслеживать добавление файла модуля | |||
отслеживать удаление файла модуля | |||
отслеживать переименование файлов модуля | |||
отслеживать смену флагов у файлов модуля | |||
переименовали файл модуля | |||
запомнить переименование файла модуля | |||
отобразить изменение файлов модуля | |||
сменили флаги у файла модуля | |||
сохранить флаги файла модуля | |||
начали сохранение | |||
сохранить переименование файлов модуля | |||
сохранили изменения | |||
очистить изменение файлов модуля | |||
отобразить список файлов модуля | |||
отслеживать добавление файла модуля | |||
отслеживать удаление файла модуля | |||
отслеживать переименование файлов модуля | |||
отслеживать смену флагов у файлов модуля | |||
# Сообщаем модулю Файлы о необходимости обновить список файлов | |||
# Куда-нибудь перенести? | |||
сохранили изменения | |||
обновить раздел меню со списком файлов | |||
отслеживать выбор файла |