Отображение и редактирование файлов модуля ГитЖС | Display and editing of GitJS module files
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.

249 lignes
5.9KB

  1. /*
  2. * ВЫБОР ФАЙЛА
  3. */
  4. /*
  5. ЗадатьУказанныйФайл = function(мир)
  6. {
  7. мир.файл = мир.файлы[мир.номерВыбранногоФайла];
  8. };
  9. // // // //
  10. НеОтслеживатьРедактирование = function(мир)
  11. {
  12. мир.отслеживатьРедактирование = false;
  13. };
  14. // // // //
  15. ОтслеживатьРедактирование = function(мир)
  16. {
  17. мир.отслеживатьРедактирование = true;
  18. };
  19. // // // //
  20. ЗадатьПараметрФайла = function(мир)
  21. {
  22. var файл = мир.файлы[мир.номерВыбранногоФайла];
  23. задатьПараметрВСтрокеПоиска("📁", файл);
  24. };
  25. // // // //
  26. ОтобразитьСодержимоеВыбранногоФайла = function(мир)
  27. {
  28. var файл = мир.файлы[мир.номерВыбранногоФайла];
  29. var содержимое = мир.временноеСодержимое[файл];
  30. if (!содержимое)
  31. {
  32. содержимое = мир.редактируемыйМодуль.содержимое[файл];
  33. };
  34. мир.редактор.session.setValue(содержимое);
  35. };
  36. */
  37. /*
  38. * ПУСК
  39. */
  40. /*
  41. const ИМЯ = "Главред | Glavred";
  42. // // // //
  43. ЗадатьВременноеСодержимое = function(мир)
  44. {
  45. мир.временноеСодержимое = {};
  46. };
  47. // // // //
  48. ЗадатьКнопкуСохранения = function(мир)
  49. {
  50. var кнопка = мир.макет.элементы.действие
  51. .replace("${название}", "💾")
  52. .replace(/\$\{id\}/g, `${мир.макет.константы.сохранить}`)
  53. ;
  54. $(`#${мир.макет.константы.действия}`).append(кнопка);
  55. $(`#${мир.макет.константы.сохранить}-ссылка`).click(function() {
  56. мир.уведомить("выбрали сохранить");
  57. });
  58. };
  59. // // // //
  60. НастроитьОтслеживаниеРедактирования = function(мир)
  61. {
  62. мир.отслеживатьРедактирование = true;
  63. мир.редактор.session.on("change", function(delta) {
  64. if (мир.отслеживатьРедактирование)
  65. {
  66. мир.уведомить("редактирование");
  67. }
  68. });
  69. };
  70. // // // //
  71. ВыбратьУказанныйФайл = function(мир)
  72. {
  73. мир.номерВыбранногоФайла = мир.файлы.indexOf(мир.файл);
  74. мир.уведомить("выбрали файл");
  75. }
  76. // // // //
  77. ВыбратьПервыйФайл = function(мир)
  78. {
  79. мир.номерВыбранногоФайла = 0;
  80. мир.уведомить("выбрали файл");
  81. }
  82. // // // //
  83. ПроверитьНаличиеУказанногоФайла = function(мир)
  84. {
  85. if (
  86. мир.файл &&
  87. мир.файлы.includes(мир.файл)
  88. ) {
  89. мир.уведомить("указанный файл существует");
  90. }
  91. else
  92. {
  93. мир.уведомить("указанный файл не существует");
  94. }
  95. };
  96. // // // //
  97. НастроитьAce = function(мир)
  98. {
  99. мир.редактор = window.ace.edit("редактор");
  100. мир.редактор.session.setMode("ace/mode/javascript");
  101. };
  102. // // // //
  103. ВывестиРазобранныеПараметры = function(мир)
  104. {
  105. console.debug(`
  106. Разобранные параметры редактора:
  107. * 📦: '${мир.указатель}'
  108. * 📁: '${мир.файл}'
  109. `);
  110. };
  111. */
  112. /*
  113. * РЕДАКТИРОВАНИЕ
  114. */
  115. /*
  116. СохранитьВременноеСодержимоеРедактируемогоФайла = function(мир)
  117. {
  118. var файл = мир.файлы[мир.номерВыбранногоФайла];
  119. var содержимое = мир.редактор.session.getValue();
  120. мир.временноеСодержимое[файл] = содержимое;
  121. };
  122. // // // //
  123. ПометитьВыбранныйФайлКакИзменённый = function(мир)
  124. {
  125. $(`#${мир.макет.константы.файл}-${мир.номерВыбранногоФайла}-изменение`).removeAttr("hidden");
  126. };
  127. // // // //
  128. ВывестиРедактирование = function(мир)
  129. {
  130. console.debug("Редактирование");
  131. };
  132. */
  133. /*
  134. * СОХРАНЕНИЕ
  135. */
  136. /*
  137. УведомитьОНеудачномСохраненииИзменений = function(мир)
  138. {
  139. UIkit.notification("Не удалось сохранить изменения", {status: "danger"});
  140. UIkit.notification("Could not save changes", {status: "danger"});
  141. };
  142. // // // //
  143. УведомитьОбУспешномСохраненииИзменений = function(мир)
  144. {
  145. UIkit.notification("Сохранили успешно", {status: "success"});
  146. UIkit.notification("Saved successfully", {status: "success"});
  147. };
  148. // // // //
  149. СохранитьИзменения = function(мир)
  150. {
  151. for (var файл in мир.временноеСодержимое)
  152. {
  153. var содержимое = мир.временноеСодержимое[файл];
  154. мир.редактируемыйМодуль.содержимое[файл] = содержимое;
  155. }
  156. мир.временноеСодержимое = {};
  157. мир.модули.сохранили.подписатьРаз(function() {
  158. мир.уведомить("сохранили изменения");
  159. });
  160. мир.модули.неСохранили.подписатьРаз(function() {
  161. мир.уведомить("не сохранили изменения");
  162. });
  163. мир.модули.сохранить(мир.редактируемыйМодуль.указатель);
  164. };
  165. */