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

пример|sample.js 6.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. const ИМЯ = "UIK";
  2. // Переместить в отдельный файл. JSON?
  3. const разделМеню = `
  4. <ul class="uk-nav uk-nav-default tm-nav">
  5. <li class="uk-nav-header">%название%</li>
  6. %содержимое%
  7. </ul>
  8. `;
  9. const пунктМеню = `
  10. <li id="%id%"><a id="%id%-ссылка">%название%</a></li>
  11. `;
  12. // // // //
  13. ВыбратьПервыйПунктМенюДокументации = мир =>
  14. {
  15. мир.номерВыбранногоПунктаДокументации = 0;
  16. мир.уведомить("выбрали пункт меню документации");
  17. };
  18. // // // //
  19. ОтобразитьСодержимоеВыбранногоПунктаМенюДокументации = мир =>
  20. {
  21. $(`#${мир.макет.константы.содержимое}`).html(`<p>Выбрали пункт меню #${мир.номерВыбранногоПунктаДокументации}`);
  22. };
  23. // // // //
  24. ОтобразитьВыборПунктаМенюДокументации = мир =>
  25. {
  26. const id = мир.макет.константы.документация;
  27. // Очищаем прошлый выбор.
  28. for (var номер in мир.пунктыДокументации)
  29. {
  30. $(`#${id}-${номер}`).removeClass("uk-active");
  31. }
  32. // Задаём новый выбор.
  33. $(`#${id}-${мир.номерВыбранногоПунктаДокументации}`).addClass("uk-active");
  34. };
  35. // // // //
  36. ОтслеживатьВыборПунктаМенюДокументации = мир =>
  37. {
  38. for (var номер in мир.пунктыДокументации)
  39. {
  40. const номерПункта = номер;
  41. const id = `${мир.макет.константы.документация}-${номер}-ссылка`;
  42. $(`#${id}`).click(function() {
  43. мир.номерВыбранногоПунктаДокументации = номерПункта;
  44. мир.уведомить("выбрали пункт меню документации");
  45. });
  46. }
  47. };
  48. // // // //
  49. СоздатьРазделМенюДокументации = мир =>
  50. {
  51. мир.макет.константы.документация = "документация";
  52. var содержимое = "";
  53. for (var номер in мир.пунктыДокументации)
  54. {
  55. var название = мир.пунктыДокументации[номер];
  56. var id = `${мир.макет.константы.документация}-${номер}`;
  57. var пункт = пунктМеню
  58. .replace("%название%", название)
  59. .replace(/%id%/g, id)
  60. ;
  61. содержимое += пункт;
  62. }
  63. var раздел = разделМеню
  64. .replace("%название%", мир.макет.константы.документация)
  65. .replace("%содержимое%", содержимое)
  66. ;
  67. $(`#${мир.макет.константы.меню}`).append(раздел);
  68. };
  69. // // // //
  70. ЗадатьПунктыРазделаМенюДокументации = мир =>
  71. {
  72. мир.пунктыДокументации = [
  73. "Описание",
  74. "Ещё что-то",
  75. ];
  76. };
  77. // // // //
  78. ЗадатьЗаголовок = мир =>
  79. {
  80. $(`#${мир.макет.константы.заголовокЛево}`).html(`
  81. <span class="uk-navbar-item uk-logo">UIK</span>
  82. `);
  83. };
  84. // // // //
  85. ОчиститьМакетUIKОтЗаглушек = мир =>
  86. {
  87. $(`#${мир.макет.константы.заголовокЛево}`).text("");
  88. $(`#${мир.макет.константы.заголовокЦентр}`).text("");
  89. $(`#${мир.макет.константы.заголовокПраво}`).text("");
  90. $(`#${мир.макет.константы.меню}`).text("");
  91. $(`#${мир.макет.константы.содержимое}`).text("");
  92. };
  93. // // // //
  94. УстановитьМакетUIK = мир =>
  95. {
  96. document.body.innerHTML = мир.макет.структура;
  97. var вид = document.createElement("style");
  98. document.head.appendChild(вид);
  99. вид.innerHTML = мир.макет.вид;
  100. };
  101. // // // //
  102. НастроитьПримерМакетаUIK = мир =>
  103. {
  104. var название = "пример";
  105. var html = мир.макет.структура;
  106. var css = мир.макет.вид;
  107. // Вырезаем тело из макета.
  108. var начало = html.indexOf("<!-- МАКЕТ_НАЧАЛО -->");
  109. var конец = html.indexOf("<!-- МАКЕТ_КОНЕЦ -->");
  110. html = html.substring(начало, конец);
  111. мир.макет.константы = {
  112. "заголовокЛево": `${название}-заголовокЛево`,
  113. "заголовокЦентр": `${название}-заголовокЦентр`,
  114. "заголовокПраво": `${название}-заголовокПраво`,
  115. "меню": `${название}-меню`,
  116. "содержимое": `${название}-содержимое`,
  117. };
  118. // Заменяем константы в макете.
  119. for (var константа in мир.макет.константы)
  120. {
  121. var старое = "${" + константа + "}";
  122. var новое = мир.макет.константы[константа];
  123. html = html.replace(старое, новое);
  124. css = css.replace(старое, новое);
  125. }
  126. мир.макет.структура = html;
  127. мир.макет.вид = css;
  128. };
  129. // // // //
  130. ЗагрузитьМакетUIK = мир =>
  131. {
  132. var м = мир.модули.модульПоИмени(ИМЯ);
  133. мир.макет = {
  134. "структура": м.содержимое["/макет|template.html"],
  135. "вид": м.содержимое["/макет|template.css"],
  136. };
  137. };
  138. // // // //
  139. ВывестиПриветствиеОтUIK = мир =>
  140. {
  141. console.debug("Привет от UIK");
  142. };