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

93 lines
2.5KB

  1. const ИМЯ = "Редактор Главреда | Glavred Editor"
  2. // // // //
  3. СохранитьВременноеСодержимоеРедактируемогоФайла = мир =>
  4. {
  5. var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
  6. var файл = файлы[мир.номерВыбранногоФайла];
  7. var содержимое = мир.редактор.session.getValue();
  8. мир.редактируемыйМодуль.содержимое[файл] = содержимое;
  9. };
  10. // // // //
  11. НеОтслеживатьРедактирование = мир =>
  12. {
  13. мир.отслеживатьРедактирование = false;
  14. };
  15. // // // //
  16. ОтслеживатьРедактирование = мир =>
  17. {
  18. мир.отслеживатьРедактирование = true;
  19. };
  20. // // // //
  21. НастроитьОтслеживаниеРедактирования = мир =>
  22. {
  23. мир.отслеживатьРедактирование = true;
  24. мир.редактор.session.on("change", function(delta) {
  25. if (мир.отслеживатьРедактирование)
  26. {
  27. мир.уведомить("редактирование");
  28. }
  29. });
  30. };
  31. // // // //
  32. ОтобразитьСодержимоеВыбранногоФайла = мир =>
  33. {
  34. var файлы = Object.keys(мир.редактируемыйМодуль.структура).sort();
  35. var файл = файлы[мир.номерВыбранногоФайла];
  36. var содержимое = мир.редактируемыйМодуль.содержимое[файл];
  37. мир.редактор.session.setValue(содержимое);
  38. };
  39. // // // //
  40. СоздатьОбластьРедактированияПриОтсутствии = мир =>
  41. {
  42. var id = "редактор";
  43. if (!document.getElementById(id))
  44. {
  45. $(`#${мир.макет.константы.содержимое}`).html(`
  46. <div id="редактор"></div>
  47. `);
  48. var элемент = document.getElementById(id);
  49. элемент.style.cssText = `
  50. width: calc(100% - 320px);
  51. height: calc(100% - 40px);
  52. position: fixed;
  53. top: 40px;
  54. left: 320px;
  55. right: 0;
  56. bottom: 0;
  57. `;
  58. мир.редактор = window.ace.edit(id);
  59. мир.редактор.session.setMode("ace/mode/javascript");
  60. мир.уведомить("создали область редактирования");
  61. }
  62. };