Редактирование текстовых файлов модулей ГитЖС | Editing of files of GitJS modules
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

153 line
4.9KB

  1. const ИМЯ = "Редактор Главреда | Glavred Editor"
  2. // // // //
  3. СоздатьКнопкиПроверкиИзмененийФайла = мир =>
  4. {
  5. $(`#${мир.макет.константы.заголовокПраво}`).append(`
  6. <ul class="uk-navbar-nav">
  7. <li><a id="проверитьОтображениеИзменения">Отобразить</a></li>
  8. <li><a id="проверитьОчисткуИзменения">Очистить</a></li>
  9. <li><a id="проверитьОчисткуВсехИзменений">Всё</a></li>
  10. </ul>
  11. `);
  12. $(`#проверитьОтображениеИзменения`).click(function() {
  13. мир.уведомить("проверить отображение изменения файла");
  14. });
  15. $(`#проверитьОчисткуИзменения`).click(function() {
  16. мир.уведомить("проверить очистку изменения файла");
  17. });
  18. $(`#проверитьОчисткуВсехИзменений`).click(function() {
  19. мир.уведомить("проверить очистку изменений всех файлов");
  20. });
  21. };
  22. // // // //
  23. ОчиститьИзмененияВсехФайлов = мир =>
  24. {
  25. var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
  26. // Очищаем выбор.
  27. for (var номер in файлы)
  28. {
  29. $(`#${мир.макет.списокФайлов.раздел}-${номер}-изменение`).attr("hidden", true);
  30. }
  31. };
  32. // // // //
  33. ОчиститьИзменениеФайла = мир =>
  34. {
  35. $(`#${мир.макет.списокФайлов.раздел}-${мир.номерВыбранногоФайла}-изменение`).attr("hidden", true);
  36. };
  37. // // // //
  38. ОтобразитьИзменениеФайла = мир =>
  39. {
  40. $(`#${мир.макет.списокФайлов.раздел}-${мир.номерВыбранногоФайла}-изменение`).removeAttr("hidden");
  41. };
  42. // // // //
  43. ОтобразитьВыборФайла = мир =>
  44. {
  45. var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
  46. // Очищаем выбор.
  47. for (var номер in файлы)
  48. {
  49. $(`#${мир.макет.списокФайлов.раздел}-${номер}`).removeClass("uk-active");
  50. }
  51. // Отображаем выбор.
  52. $(`#${мир.макет.списокФайлов.раздел}-${мир.номерВыбранногоФайла}`).addClass("uk-active");
  53. };
  54. // // // //
  55. ОтслеживатьВыборФайла = мир =>
  56. {
  57. var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
  58. for (var номер in файлы)
  59. {
  60. const номерФайла = номер;
  61. $(`#${мир.макет.списокФайлов.раздел}-${номер}-ссылка`).click(function() {
  62. мир.номерВыбранногоФайла = номерФайла;
  63. мир.уведомить("выбрали файл");
  64. });
  65. }
  66. };
  67. // // // //
  68. ЗадатьРазделМенюСоСпискомФайлов = мир =>
  69. {
  70. var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
  71. var содержимое = "";
  72. for (var номер in файлы)
  73. {
  74. var название = файлы[номер];
  75. var id = `${мир.макет.списокФайлов.раздел}-${номер}`;
  76. var пункт = мир.макет.списокФайлов.пунктМеню
  77. .replace(/%название%/g, название)
  78. .replace(/%id%/g, id)
  79. ;
  80. содержимое += пункт;
  81. }
  82. var заголовок = "📦 " + мир.редактируемыйМодуль.имя;
  83. var раздел = мир.макет.списокФайлов.разделМеню
  84. .replace("%название%", заголовок)
  85. .replace("%содержимое%", содержимое)
  86. ;
  87. $(`#${мир.макет.константы.меню}`).append(раздел);
  88. };
  89. // // // //
  90. ЗадатьЭлементыМакетаСпискаФайлов = мир =>
  91. {
  92. мир.макет.списокФайлов = {
  93. "раздел": "списокФайлов",
  94. "разделМеню": `
  95. <ul class="uk-nav uk-nav-default tm-nav">
  96. <li class="uk-nav-header">%название%</li>
  97. %содержимое%
  98. </ul>
  99. `,
  100. "пунктМеню": `
  101. <li id="%id%">
  102. <a id="%id%-ссылка">
  103. <span id="%id%-изменение" hidden>&#8226; </span>%название%
  104. </a>
  105. </li>
  106. `,
  107. };
  108. };
  109. // // // //
  110. ВывестиПриветствиеОтФайловГлавреда = мир =>
  111. {
  112. console.debug("Привет от Файлов Главреда");
  113. };