Макет интерфейса UIK (Основан на UIkit) | UIK interface template (Based on UIkit)
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.

137 lines
4.1KB

  1. const ИМЯ = "UIK";
  2. // // // //
  3. ЗапуститьПример = function(мир)
  4. {
  5. мир.уведомить("пуск примера");
  6. };
  7. // // // //
  8. ЗагрузитьПример = function(мир)
  9. {
  10. console.debug("загрузить пример");
  11. var модуль = мир.модули.модульПоИмени(ИМЯ);
  12. var составляющие = [
  13. "/пример|sample",
  14. ];
  15. for (var номер in составляющие)
  16. {
  17. var составляющая = составляющие[номер];
  18. модуль.исполнитьФайл(`${составляющая}.js`);
  19. модуль.исполнитьЧереду(мир, `${составляющая}.череда`);
  20. }
  21. };
  22. // // // //
  23. ЗагрузитьБиблиотекиПримера = function(мир)
  24. {
  25. var указатели = [
  26. "https://bitbucket.org/gitjs/jquery/raw/3.5.1/0000",
  27. "https://bitbucket.org/gitjs/uikit/raw/3.2.0/0000",
  28. ];
  29. var сообщение = "Загрузка библиотек | Loading libraries";
  30. console.debug(сообщение, указатели);
  31. var html = "";
  32. for (var номер in указатели)
  33. {
  34. var указатель = указатели[номер];
  35. html += `<li>${указатель}</li>`;
  36. }
  37. document.body.innerHTML += `<p>${сообщение}</p><ul>${html}</ul>`;
  38. мир.модули.использовали.подписатьРаз(function() {
  39. мир.уведомить("ручной пуск");
  40. мир.уведомить("загрузили библиотеки примера");
  41. });
  42. мир.модули.использовать(указатели);
  43. };
  44. // ОСНОВА. Переместить в отдельный всегда исполняемый файл
  45. // // // //
  46. ОчиститьМакетUIKОтЗаглушек = мир =>
  47. {
  48. $(`#${мир.макет.константы.заголовокЛево}`).text("");
  49. $(`#${мир.макет.константы.заголовокПраво}`).text("");
  50. $(`#${мир.макет.константы.меню}`).text("");
  51. $(`#${мир.макет.константы.содержимое}`).text("");
  52. };
  53. // // // //
  54. УстановитьМакетUIK = мир =>
  55. {
  56. document.body.innerHTML = мир.макет.структура;
  57. var вид = document.createElement("style");
  58. document.head.appendChild(вид);
  59. вид.innerHTML = мир.макет.вид;
  60. };
  61. // // // //
  62. НастроитьМакетUIK = мир =>
  63. {
  64. var название = "пример";
  65. var html = мир.макет.структура;
  66. var css = мир.макет.вид;
  67. // Вырезаем тело из макета.
  68. var начало = html.indexOf("<!-- МАКЕТ_НАЧАЛО -->");
  69. var конец = html.indexOf("<!-- МАКЕТ_КОНЕЦ -->");
  70. html = html.substring(начало, конец);
  71. мир.макет.константы = {
  72. "заголовокЛево": `${название}-заголовокЛево`,
  73. "заголовокПраво": `${название}-заголовокПраво`,
  74. "меню": `${название}-меню`,
  75. "содержимое": `${название}-содержимое`,
  76. };
  77. // Заменяем константы в макете.
  78. for (var константа in мир.макет.константы)
  79. {
  80. var старое = "${" + константа + "}";
  81. var новое = мир.макет.константы[константа];
  82. html = html.replace(старое, новое);
  83. css = css.replace(старое, новое);
  84. }
  85. мир.макет.структура = html;
  86. мир.макет.вид = css;
  87. };
  88. // // // //
  89. ЗагрузитьМакетUIK = мир =>
  90. {
  91. var м = мир.модули.модульПоИмени(ИМЯ);
  92. мир.макет = {
  93. "структура": м.содержимое["/макет|template.html"],
  94. "вид": м.содержимое["/макет|template.css"],
  95. };
  96. };