Редактирование структуры модулей ГитЖС | 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.

221 wiersze
6.7KB

  1. // // // //
  2. ОтобразитьСписокФайловМодуля = мир =>
  3. {
  4. var список = "";
  5. var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
  6. for (var номер in файлы)
  7. {
  8. // Файл.
  9. var файл = файлы[номер];
  10. // Флаги.
  11. var строкаФлагов = "";
  12. var флаги = мир.редактируемыйМодуль.структура[файл];
  13. for (var флаг in флаги)
  14. {
  15. if (флаг == "исполнить")
  16. {
  17. строкаФлагов += "x";
  18. }
  19. else if (флаг == "двоичный")
  20. {
  21. строкаФлагов += "2";
  22. }
  23. }
  24. список += `
  25. <tr>
  26. <td>
  27. <input value="${файл}" class="uk-input uk-margin-small" type="text" placeholder="Имя | Name">
  28. </td>
  29. <td>
  30. <input value="${строкаФлагов}" class="uk-input uk-margin-small" type="text" placeholder="Имя | Name">
  31. </td>
  32. <td>
  33. <button class="uk-button uk-button-danger">
  34. <span uk-icon="minus"></span>
  35. </button>
  36. </td>
  37. </tr>
  38. `;
  39. }
  40. $(`#${мир.макет.зав.файлыСписок}`).html(список);
  41. };
  42. // // // //
  43. ОтобразитьСтруктуруПунктаФайловЗава = мир =>
  44. {
  45. $(`#${мир.макет.константы.содержимое}`).html(`
  46. <div class="зав-отступ">
  47. <table class="uk-table uk-table-hover uk-table-divider">
  48. <thead>
  49. <tr>
  50. <th>Файл | File</th>
  51. <th>Флаги | Flags</th>
  52. <th>Действия | Actions</th>
  53. </tr>
  54. </thead>
  55. <tbody id="${мир.макет.зав.файлыСписок}">
  56. </tbody>
  57. </table>
  58. </div>
  59. `);
  60. };
  61. // // // //
  62. СохранитьВременноеОписание = мир =>
  63. {
  64. var м = мир.редактируемыйМодуль;
  65. м.имя = $(`#${мир.макет.зав.описаниеИмя}`).val()
  66. м.версия = $(`#${мир.макет.зав.описаниеВерсия}`).val()
  67. м["🏠"] = $(`#${мир.макет.зав.описаниеХранилище}`).val()
  68. };
  69. // // // //
  70. ОчиститьИзменениеОписания = мир =>
  71. {
  72. $(`#${мир.макет.зав.описаниеИзменение}`).attr("hidden", true);
  73. };
  74. // // // //
  75. ОтобразитьИзменениеОписания = мир =>
  76. {
  77. $(`#${мир.макет.зав.описаниеИзменение}`).removeAttr("hidden");
  78. };
  79. // // // //
  80. ОтслеживатьИзменениеОписанияМодуля = мир =>
  81. {
  82. $(`#${мир.макет.зав.описаниеИмя}`).on("input", function() {
  83. мир.уведомить("изменили описание модуля");
  84. });
  85. $(`#${мир.макет.зав.описаниеВерсия}`).on("input", function() {
  86. мир.уведомить("изменили описание модуля");
  87. });
  88. $(`#${мир.макет.зав.описаниеХранилище}`).on("input", function() {
  89. мир.уведомить("изменили описание модуля");
  90. });
  91. };
  92. // // // //
  93. ОтобразитьОписаниеМодуля = мир =>
  94. {
  95. var м = мир.редактируемыйМодуль;
  96. $(`#${мир.макет.зав.описаниеИмя}`).val(м.имя);
  97. $(`#${мир.макет.зав.описаниеВерсия}`).val(м.версия);
  98. $(`#${мир.макет.зав.описаниеХранилище}`).val(м["🏠"]);
  99. };
  100. // // // //
  101. ОтобразитьСтруктуруПунктаОписанияЗава = мир =>
  102. {
  103. $(`#${мир.макет.константы.содержимое}`).html(`
  104. <div class="зав-отступ">
  105. <form>
  106. <input id="${мир.макет.зав.описаниеИмя}" class="uk-input uk-margin-small" type="text" placeholder="Имя | Name">
  107. <input id="${мир.макет.зав.описаниеВерсия}" class="uk-input uk-margin-small" type="text" placeholder="Версия | Version">
  108. <input id="${мир.макет.зав.описаниеХранилище}" class="uk-input uk-margin-small" type="text" placeholder="Хранилище | Repository">
  109. </form>
  110. </div>
  111. `);
  112. };
  113. // // // //
  114. ЗадатьВидСодержимогоМенюЗава = мир =>
  115. {
  116. задатьВид(`
  117. .зав-отступ
  118. {
  119. padding: 1em;
  120. }
  121. `)
  122. };
  123. // // // //
  124. ОтобразитьВыборПунктаФайловЗава = мир =>
  125. {
  126. $(`#${мир.макет.зав.файлы}`).addClass("uk-active");
  127. };
  128. // // // //
  129. ОтобразитьВыборПунктаОписанияЗава = мир =>
  130. {
  131. $(`#${мир.макет.зав.описание}`).addClass("uk-active");
  132. };
  133. // // // //
  134. ЗадатьРазделМенюЗава = мир =>
  135. {
  136. мир.макет.зав = {
  137. "описание": "зав-описание",
  138. "описаниеСсылка": "зав-описание-ссылка",
  139. "описаниеИзменение": "зав-описание-изменение",
  140. "описаниеИмя": "зав-описание-имя",
  141. "описаниеВерсия": "зав-описание-версия",
  142. "описаниеХранилище": "зав-описание-хранилище",
  143. "файлы": "зав-файлы",
  144. "файлыСсылка": "зав-файлы-ссылка",
  145. "файлыИзменение": "зав-файлы-изменение",
  146. "файлыСписок": "зав-файлы-список",
  147. };
  148. $(`#${мир.макет.константы.меню}`).append(`
  149. <ul class="uk-nav uk-nav-default tm-nav">
  150. <li class="uk-nav-header">📦 Модуль | Module</li>
  151. <li id="${мир.макет.зав.описание}">
  152. <a id="${мир.макет.зав.описаниеСсылка}"><span id="${мир.макет.зав.описаниеИзменение}" hidden>&#8226; </span>Описание | Description</a>
  153. </li>
  154. <li id="${мир.макет.зав.файлы}">
  155. <a id="${мир.макет.зав.файлыСсылка}"><span id="${мир.макет.зав.файлыИзменение}" hidden>&#8226; </span>Файлы | Files</a>
  156. </li>
  157. </ul>
  158. `);
  159. $(`#${мир.макет.зав.описаниеСсылка}`).click(function() {
  160. мир.уведомить("выбрали пункт описания зава");
  161. });
  162. $(`#${мир.макет.зав.файлыСсылка}`).click(function() {
  163. мир.уведомить("выбрали пункт файлов зава");
  164. });
  165. };