diff --git a/0000 b/0000 index f10669e..c0ada8a 100644 --- a/0000 +++ b/0000 @@ -2,5 +2,9 @@ 1.0.0 https://git.opengamestudio.org/glavred/glavred-zav-mgr +x /описание|description.js +/описание|description.череда x /пуск|run.js -/пуск|run.череда \ No newline at end of file +/пуск|run.череда +x /файлы|files.js +/файлы|files.череда \ No newline at end of file diff --git a/описание|description.js b/описание|description.js new file mode 100644 index 0000000..0e4265a --- /dev/null +++ b/описание|description.js @@ -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(` +
+
+ + + +
+
+ `); +}; + + +// // // // + + +ОтобразитьВыборПунктаОписанияЗава = мир => +{ + $(`#${мир.макет.зав.описание}`).addClass("uk-active"); +}; + diff --git a/описание|description.череда b/описание|description.череда new file mode 100644 index 0000000..5059e44 --- /dev/null +++ b/описание|description.череда @@ -0,0 +1,11 @@ +выбрали пункт описания зава + очистить отображение выбора в меню + отобразить выбор пункта описания зава + отобразить структуру пункта описания зава + отобразить описание модуля + отслеживать изменение описания модуля +изменили описание модуля + отобразить изменение описания + сохранить временное описание +сохранили изменения + очистить изменение описания \ No newline at end of file diff --git a/пуск|run.js b/пуск|run.js index dee74ee..0a3cb94 100644 --- a/пуск|run.js +++ b/пуск|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(` - -
-
-
-

Удалить файл? | Delete the file?

-
-
-

-
- -
-
- - `); - - $(`#${мир.макет.зав.файлыПодтверждениеУдаленияУдалить}`).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 (мир.переименования[файл]) { - имяФайла = мир.переименования[файл]; - } - - список += ` - - - - - - - - - - - - `; - } - - $(`#${мир.макет.зав.файлыСписок}`).html(список); -}; - - -// // // // - - -ОтобразитьСтруктуруПунктаФайловЗава = мир => -{ - $(`#${мир.макет.константы.содержимое}`).html(` -
- -
- - -
- -
- - - - - - - - - - - -
Файл | FileФлаги | FlagsДействия | Actions
- -
- `); -}; - - -// // // // - - -СохранитьВременноеОписание = мир => -{ - var м = мир.редактируемыйМодуль; - м.имя = $(`#${мир.макет.зав.описаниеИмя}`).val() - м.версия = $(`#${мир.макет.зав.описаниеВерсия}`).val() - м["🏠"] = $(`#${мир.макет.зав.описаниеХранилище}`).val() -}; - - -// // // // - - -ОчиститьИзменениеОписания = мир => -{ - $(`#${мир.макет.зав.описаниеИзменение}`).attr("hidden", true); -}; - - -// // // // - - -ОтобразитьИзменениеОписания = мир => -{ - $(`#${мир.макет.зав.описаниеИзменение}`).removeAttr("hidden"); -}; - - -// // // // - - -ОтслеживатьИзменениеОписанияМодуля = мир => -{ - $(`#${мир.макет.зав.описаниеИмя}`).on("input", function() { - мир.уведомить("изменили описание модуля"); - }); - $(`#${мир.макет.зав.описаниеВерсия}`).on("input", function() { - мир.уведомить("изменили описание модуля"); - }); - $(`#${мир.макет.зав.описаниеХранилище}`).on("input", function() { - мир.уведомить("изменили описание модуля"); - }); -}; - - -// // // // - - -ОтобразитьОписаниеМодуля = мир => -{ - var м = мир.редактируемыйМодуль; - $(`#${мир.макет.зав.описаниеИмя}`).val(м.имя); - $(`#${мир.макет.зав.описаниеВерсия}`).val(м.версия); - $(`#${мир.макет.зав.описаниеХранилище}`).val(м["🏠"]); -}; - - -// // // // - - -ОтобразитьСтруктуруПунктаОписанияЗава = мир => -{ - $(`#${мир.макет.константы.содержимое}`).html(` -
-
- - - -
-
- `); -}; - - -// // // // - - ЗадатьВидСодержимогоМенюЗава = мир => { задатьВид(` @@ -427,24 +17,6 @@ // // // // -ОтобразитьВыборПунктаФайловЗава = мир => -{ - $(`#${мир.макет.зав.файлы}`).addClass("uk-active"); -}; - - -// // // // - - -ОтобразитьВыборПунктаОписанияЗава = мир => -{ - $(`#${мир.макет.зав.описание}`).addClass("uk-active"); -}; - - -// // // // - - ЗадатьРазделМенюЗава = мир => { мир.макет.зав = { @@ -487,4 +59,5 @@ $(`#${мир.макет.зав.файлыСсылка}`).click(function() { мир.уведомить("выбрали пункт файлов зава"); }); -}; \ No newline at end of file +}; + diff --git a/пуск|run.череда b/пуск|run.череда index 7384a1f..abe6528 100644 --- a/пуск|run.череда +++ b/пуск|run.череда @@ -1,74 +1,3 @@ пуск модулей главреда задать раздел меню зава - задать вид содержимого меню зава - создать хранилище переименований файлов модуля -выбрали пункт описания зава - очистить отображение выбора в меню - отобразить выбор пункта описания зава - отобразить структуру пункта описания зава - отобразить описание модуля - отслеживать изменение описания модуля -выбрали пункт файлов зава - очистить отображение выбора в меню - отобразить выбор пункта файлов зава - отобразить структуру пункта файлов зава - отобразить список файлов модуля - отслеживать добавление файла модуля - отслеживать удаление файла модуля - создать диалог подтверждения удаления файла модуля - отслеживать переименование файлов модуля - отслеживать смену флагов у файлов модуля -изменили описание модуля - отобразить изменение описания - сохранить временное описание - -кнопка добавления файла модуля - сохранить переименование файлов модуля - проверить отсутствие дубля файла -дубль файла присутствует - сообщить о наличии дубля файла -дубль файла отсутствует - добавить файл модуля - отобразить изменение файлов модуля - отобразить список файлов модуля - отслеживать добавление файла модуля - отслеживать удаление файла модуля - отслеживать переименование файлов модуля - отслеживать смену флагов у файлов модуля - -кнопка удаления файла модуля - сохранить переименование файлов модуля - спросить подтверждение удаления файла модуля -подтвердили удаление файла модуля - удалить файл модуля - отобразить изменение файлов модуля - отобразить список файлов модуля - отслеживать добавление файла модуля - отслеживать удаление файла модуля - отслеживать переименование файлов модуля - отслеживать смену флагов у файлов модуля - -переименовали файл модуля - запомнить переименование файла модуля - отобразить изменение файлов модуля - -сменили флаги у файла модуля - сохранить флаги файла модуля - -начали сохранение - сохранить переименование файлов модуля - -сохранили изменения - очистить изменение описания - очистить изменение файлов модуля - отобразить список файлов модуля - отслеживать добавление файла модуля - отслеживать удаление файла модуля - отслеживать переименование файлов модуля - отслеживать смену флагов у файлов модуля - -# Сообщаем модулю Файлы о необходимости обновить список файлов -# Куда-нибудь перенести? -сохранили изменения - обновить раздел меню со списком файлов - отслеживать выбор файла \ No newline at end of file + задать вид содержимого меню зава \ No newline at end of file diff --git a/файлы|files.js b/файлы|files.js new file mode 100644 index 0000000..b7edbc9 --- /dev/null +++ b/файлы|files.js @@ -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(` + +
+
+
+

Удалить файл? | Delete the file?

+
+
+

+
+ +
+
+ + `); + + $(`#${мир.макет.зав.файлыПодтверждениеУдаленияУдалить}`).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 (мир.переименования[файл]) { + имяФайла = мир.переименования[файл]; + } + + список += ` + + + + + + + + + + + + `; + } + + $(`#${мир.макет.зав.файлыСписок}`).html(список); +}; + + +// // // // + + +ОтобразитьСтруктуруПунктаФайловЗава = мир => +{ + $(`#${мир.макет.константы.содержимое}`).html(` +
+ +
+ + +
+ +
+ + + + + + + + + + + +
Файл | FileФлаги | FlagsДействия | Actions
+ +
+ `); +}; + + + +// // // // + + +ОтобразитьВыборПунктаФайловЗава = мир => +{ + $(`#${мир.макет.зав.файлы}`).addClass("uk-active"); +}; + diff --git a/файлы|files.череда b/файлы|files.череда new file mode 100644 index 0000000..b6f0fef --- /dev/null +++ b/файлы|files.череда @@ -0,0 +1,62 @@ +пуск модулей главреда + создать хранилище переименований файлов модуля +выбрали пункт файлов зава + очистить отображение выбора в меню + отобразить выбор пункта файлов зава + отобразить структуру пункта файлов зава + отобразить список файлов модуля + отслеживать добавление файла модуля + отслеживать удаление файла модуля + создать диалог подтверждения удаления файла модуля + отслеживать переименование файлов модуля + отслеживать смену флагов у файлов модуля + +кнопка добавления файла модуля + сохранить переименование файлов модуля + проверить отсутствие дубля файла +дубль файла присутствует + сообщить о наличии дубля файла +дубль файла отсутствует + добавить файл модуля + отобразить изменение файлов модуля + отобразить список файлов модуля + отслеживать добавление файла модуля + отслеживать удаление файла модуля + отслеживать переименование файлов модуля + отслеживать смену флагов у файлов модуля + +кнопка удаления файла модуля + сохранить переименование файлов модуля + спросить подтверждение удаления файла модуля +подтвердили удаление файла модуля + удалить файл модуля + отобразить изменение файлов модуля + отобразить список файлов модуля + отслеживать добавление файла модуля + отслеживать удаление файла модуля + отслеживать переименование файлов модуля + отслеживать смену флагов у файлов модуля + +переименовали файл модуля + запомнить переименование файла модуля + отобразить изменение файлов модуля + +сменили флаги у файла модуля + сохранить флаги файла модуля + +начали сохранение + сохранить переименование файлов модуля + +сохранили изменения + очистить изменение файлов модуля + отобразить список файлов модуля + отслеживать добавление файла модуля + отслеживать удаление файла модуля + отслеживать переименование файлов модуля + отслеживать смену флагов у файлов модуля + +# Сообщаем модулю Файлы о необходимости обновить список файлов +# Куда-нибудь перенести? +сохранили изменения + обновить раздел меню со списком файлов + отслеживать выбор файла \ No newline at end of file