Редактирование структуры модулей ГитЖС | Editing of GitJS modules' structure
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

221 lignes
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. };