Повторный пользовательский интерфейс | Repeating user interface
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.

135 lines
3.7KB

  1. const БИБЛИОТЕКИ = [
  2. "https://bitbucket.org/gitjs/jquery/raw/3.5.1/0000",
  3. "https://bitbucket.org/gitjs/uikit/raw/3.2.0/0000",
  4. ];
  5. // // // //
  6. ОтобразитьВыборСтрокиТаблицы = мир =>
  7. {
  8. // Очистить выбор для всех.
  9. for (var номер in мир.таблица.строки)
  10. {
  11. var элемент = мир.таблица.элемент(номер);
  12. элемент.removeClass("пример-выбора-таблицы");
  13. }
  14. // Задать выбор выбранному элементу.
  15. var элемент = мир.таблица.элемент(мир.номерВыбраннойСтроки);
  16. элемент.addClass("пример-выбора-таблицы");
  17. };
  18. // // // //
  19. СоздатьПримерТаблицы = мир =>
  20. {
  21. console.log("СоздатьПримерТаблицы");
  22. мир.таблица = new Таблица("пример-таблицы");
  23. мир.таблица.задатьЗаголовки(["№", "", "", "Название ⚬ 标题 ⚬ Name"]);
  24. var строки = [];
  25. for (var номер = 0; номер < 10; ++номер)
  26. {
  27. var строка = [
  28. String(номер+1),
  29. номер == 5 ? "v" : "",
  30. "",
  31. "Название_" + номер,
  32. ];
  33. строки.push(строка);
  34. }
  35. мир.таблица.задатьСтроки(строки);
  36. мир.таблица.выбор = (номер) =>
  37. {
  38. console.debug("Выбрали номер:", номер);
  39. мир.номерВыбраннойСтроки = номер;
  40. мир.уведомить("выбрали строку таблицы");
  41. };
  42. var вид = document.createElement("style");
  43. document.head.appendChild(вид);
  44. вид.innerHTML = `
  45. #родитель-примера-таблицы
  46. {
  47. display: inline-block;
  48. }
  49. .пример-выбора-таблицы
  50. {
  51. background: #eeeeee;
  52. }
  53. `;
  54. };
  55. // // // //
  56. СоздатьПримерОкна = мир =>
  57. {
  58. var окно = document.createElement("div");
  59. окно.classList.add("окно-на-весь-экран-с-отступом");
  60. окно.style.display = "none";
  61. document.body.appendChild(окно);
  62. окно.style.display = "block";
  63. окно.innerHTML = `
  64. <center>
  65. <span class="uk-text-large">Окно</span>
  66. ⚬ <span class="uk-text-large uk-text-bold">窗</span> ⚬
  67. <span class="uk-text-large">Window</span>
  68. </center>
  69. <div id="родитель-примера-таблицы" class="прокрутка">
  70. <table id="пример-таблицы" class="uk-table uk-table-divider"></table>
  71. </div>
  72. `;
  73. var вид = document.createElement("style");
  74. document.head.appendChild(вид);
  75. вид.innerHTML = `
  76. .окно-на-весь-экран-с-отступом
  77. {
  78. position: fixed;
  79. left: 1em;
  80. top: 1em;
  81. bottom: 1em;
  82. right: 1em;
  83. }
  84. .прокрутка
  85. {
  86. overflow: auto;
  87. height: 100%;
  88. }
  89. `;
  90. /*
  91. var элементСписок = document.getElementById(мир.окна.раскладки.список);
  92. мир.окна.раскладки.выборныйСписок = new ВыборныйСписок(элементСписок);
  93. */
  94. };
  95. // // // //
  96. Очистить = мир =>
  97. {
  98. document.body.innerHTML = "";
  99. };
  100. // // // //
  101. ЗагрузитьБиблиотеки = мир =>
  102. {
  103. мир.модули.использовали.подписатьРаз(function() {
  104. мир.уведомить("ручной пуск");
  105. мир.уведомить("загрузили библиотеки");
  106. });
  107. мир.модули.использовать(БИБЛИОТЕКИ);
  108. };