Редактирование структуры модулей ГитЖС | Editing of GitJS modules' structure
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

298 wiersze
9.2KB

  1. // // // //
  2. ОчиститьИзменениеФайловМодуля = мир =>
  3. {
  4. $(`#${мир.макет.зав.файлыИзменение}`).attr("hidden", true);
  5. };
  6. // // // //
  7. ОтобразитьИзменениеФайловМодуля = мир =>
  8. {
  9. $(`#${мир.макет.зав.файлыИзменение}`).removeAttr("hidden");
  10. };
  11. // // // //
  12. ДобавитьФайлМодуля = мир =>
  13. {
  14. мир.редактируемыйМодуль.структура[мир.имяФайлаМодуля] = {};
  15. мир.редактируемыйМодуль.содержимое[мир.имяФайлаМодуля] = "";
  16. };
  17. // // // //
  18. СообщитьОНаличииДубляФайла = мир =>
  19. {
  20. var сообщение = "Такое имя файла уже существует | Such file name is already present";
  21. UIkit.modal.alert(сообщение);
  22. console.error(сообщение);
  23. };
  24. // // // //
  25. ПроверитьОтсутствиеДубляФайла = мир =>
  26. {
  27. for (var файл in мир.редактируемыйМодуль.структура)
  28. {
  29. if (файл == мир.имяФайлаМодуля)
  30. {
  31. мир.уведомить("дубль файла присутствует");
  32. return;
  33. }
  34. мир.уведомить("дубль файла отсутствует");
  35. }
  36. };
  37. // // // //
  38. ОтслеживатьДобавлениеФайлаМодуля = мир =>
  39. {
  40. $(`#${мир.макет.зав.добавитьФайлКнопка}`).click(function() {
  41. мир.имяФайлаМодуля = $(`#${мир.макет.зав.добавитьФайлИмя}`).val();
  42. мир.уведомить("кнопка добавления файла модуля");
  43. });
  44. };
  45. // // // //
  46. ОтобразитьСписокФайловМодуля = мир =>
  47. {
  48. var список = "";
  49. var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
  50. for (var номер in файлы)
  51. {
  52. // Файл.
  53. var файл = файлы[номер];
  54. // Флаги.
  55. var строкаФлагов = "";
  56. var флаги = мир.редактируемыйМодуль.структура[файл];
  57. for (var флаг in флаги)
  58. {
  59. if (флаг == "исполнить")
  60. {
  61. строкаФлагов += "x";
  62. }
  63. else if (флаг == "двоичный")
  64. {
  65. строкаФлагов += "2";
  66. }
  67. }
  68. список += `
  69. <tr>
  70. <td>
  71. <input value="${файл}" class="uk-input uk-margin-small" type="text" placeholder="Имя | Name">
  72. </td>
  73. <td>
  74. <input value="${строкаФлагов}" class="uk-input uk-margin-small" type="text" placeholder="Флаги | Flags">
  75. </td>
  76. <td>
  77. <button class="uk-button uk-button-danger">
  78. <span uk-icon="minus"></span>
  79. </button>
  80. </td>
  81. </tr>
  82. `;
  83. }
  84. $(`#${мир.макет.зав.файлыСписок}`).html(список);
  85. };
  86. // // // //
  87. ОтобразитьСтруктуруПунктаФайловЗава = мир =>
  88. {
  89. $(`#${мир.макет.константы.содержимое}`).html(`
  90. <div class="зав-отступ">
  91. <div uk-grid style="margin-left: 0px">
  92. <input id="${мир.макет.зав.добавитьФайлИмя}" class="uk-input uk-width-expand" type="text" placeholder="Имя файла | File name">
  93. <button id="${мир.макет.зав.добавитьФайлКнопка}" class="uk-button uk-button-primary uk-width-auto uk-margin-left">Добавить файл | Add a file</button>
  94. </div>
  95. <hr class="uk-divider-icon">
  96. <table class="uk-table uk-table-hover uk-table-divider">
  97. <thead>
  98. <tr>
  99. <th>Файл | File</th>
  100. <th>Флаги | Flags</th>
  101. <th>Действия | Actions</th>
  102. </tr>
  103. </thead>
  104. <tbody id="${мир.макет.зав.файлыСписок}">
  105. </tbody>
  106. </table>
  107. </div>
  108. `);
  109. };
  110. // // // //
  111. СохранитьВременноеОписание = мир =>
  112. {
  113. var м = мир.редактируемыйМодуль;
  114. м.имя = $(`#${мир.макет.зав.описаниеИмя}`).val()
  115. м.версия = $(`#${мир.макет.зав.описаниеВерсия}`).val()
  116. м["🏠"] = $(`#${мир.макет.зав.описаниеХранилище}`).val()
  117. };
  118. // // // //
  119. ОчиститьИзменениеОписания = мир =>
  120. {
  121. $(`#${мир.макет.зав.описаниеИзменение}`).attr("hidden", true);
  122. };
  123. // // // //
  124. ОтобразитьИзменениеОписания = мир =>
  125. {
  126. $(`#${мир.макет.зав.описаниеИзменение}`).removeAttr("hidden");
  127. };
  128. // // // //
  129. ОтслеживатьИзменениеОписанияМодуля = мир =>
  130. {
  131. $(`#${мир.макет.зав.описаниеИмя}`).on("input", function() {
  132. мир.уведомить("изменили описание модуля");
  133. });
  134. $(`#${мир.макет.зав.описаниеВерсия}`).on("input", function() {
  135. мир.уведомить("изменили описание модуля");
  136. });
  137. $(`#${мир.макет.зав.описаниеХранилище}`).on("input", function() {
  138. мир.уведомить("изменили описание модуля");
  139. });
  140. };
  141. // // // //
  142. ОтобразитьОписаниеМодуля = мир =>
  143. {
  144. var м = мир.редактируемыйМодуль;
  145. $(`#${мир.макет.зав.описаниеИмя}`).val(м.имя);
  146. $(`#${мир.макет.зав.описаниеВерсия}`).val(м.версия);
  147. $(`#${мир.макет.зав.описаниеХранилище}`).val(м["🏠"]);
  148. };
  149. // // // //
  150. ОтобразитьСтруктуруПунктаОписанияЗава = мир =>
  151. {
  152. $(`#${мир.макет.константы.содержимое}`).html(`
  153. <div class="зав-отступ">
  154. <form>
  155. <input id="${мир.макет.зав.описаниеИмя}" class="uk-input uk-margin-small" type="text" placeholder="Имя | Name">
  156. <input id="${мир.макет.зав.описаниеВерсия}" class="uk-input uk-margin-small" type="text" placeholder="Версия | Version">
  157. <input id="${мир.макет.зав.описаниеХранилище}" class="uk-input uk-margin-small" type="text" placeholder="Хранилище | Repository">
  158. </form>
  159. </div>
  160. `);
  161. };
  162. // // // //
  163. ЗадатьВидСодержимогоМенюЗава = мир =>
  164. {
  165. задатьВид(`
  166. .зав-отступ
  167. {
  168. padding: 1em;
  169. }
  170. `)
  171. };
  172. // // // //
  173. ОтобразитьВыборПунктаФайловЗава = мир =>
  174. {
  175. $(`#${мир.макет.зав.файлы}`).addClass("uk-active");
  176. };
  177. // // // //
  178. ОтобразитьВыборПунктаОписанияЗава = мир =>
  179. {
  180. $(`#${мир.макет.зав.описание}`).addClass("uk-active");
  181. };
  182. // // // //
  183. ЗадатьРазделМенюЗава = мир =>
  184. {
  185. мир.макет.зав = {
  186. "описание": "зав-описание",
  187. "описаниеСсылка": "зав-описание-ссылка",
  188. "описаниеИзменение": "зав-описание-изменение",
  189. "описаниеИмя": "зав-описание-имя",
  190. "описаниеВерсия": "зав-описание-версия",
  191. "описаниеХранилище": "зав-описание-хранилище",
  192. "файлы": "зав-файлы",
  193. "файлыСсылка": "зав-файлы-ссылка",
  194. "файлыИзменение": "зав-файлы-изменение",
  195. "файлыСписок": "зав-файлы-список",
  196. "добавитьФайлИмя": "зав-файлы-добавить-файл-имя",
  197. "добавитьФайлКнопка": "зав-файлы-добавить-файл-кнопка",
  198. };
  199. $(`#${мир.макет.константы.меню}`).append(`
  200. <ul class="uk-nav uk-nav-default tm-nav">
  201. <li class="uk-nav-header">📦 Модуль | Module</li>
  202. <li id="${мир.макет.зав.описание}">
  203. <a id="${мир.макет.зав.описаниеСсылка}"><span id="${мир.макет.зав.описаниеИзменение}" hidden>&#8226; </span>Описание | Description</a>
  204. </li>
  205. <li id="${мир.макет.зав.файлы}">
  206. <a id="${мир.макет.зав.файлыСсылка}"><span id="${мир.макет.зав.файлыИзменение}" hidden>&#8226; </span>Файлы | Files</a>
  207. </li>
  208. </ul>
  209. `);
  210. $(`#${мир.макет.зав.описаниеСсылка}`).click(function() {
  211. мир.уведомить("выбрали пункт описания зава");
  212. });
  213. $(`#${мир.макет.зав.файлыСсылка}`).click(function() {
  214. мир.уведомить("выбрали пункт файлов зава");
  215. });
  216. };