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