// // // // СохранитьФлагиФайлаМодуля = мир => { 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"); };