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.

62 lines
2.1KB

  1. function Меню(события, подсказки)
  2. {
  3. this.создать = function()
  4. {
  5. события.подписать(this);
  6. this.установитьМеню();
  7. };
  8. this.обработатьСобытие = function(событие)
  9. {
  10. let мышь = "мышь/нажатие/";
  11. if (событие.startsWith(мышь))
  12. {
  13. let значения = событие.substring(мышь.length).split("/");
  14. let элемент = значения[2];
  15. let имя = подсказки.подсказкаДляЭлемента(элемент);
  16. if (имя)
  17. {
  18. this.отобразитьМеню(имя);
  19. }
  20. }
  21. };
  22. this.отобразитьМеню = function(имя)
  23. {
  24. let подсказка = подсказки.задано[имя];
  25. document.getElementById("меню-заголовок").innerHTML = подсказка.текст;
  26. UIkit.modal("#меню").show();
  27. };
  28. this.установитьМеню = function()
  29. {
  30. let html = `
  31. <div id="меню" uk-modal>
  32. <div class="uk-modal-dialog uk-modal-body">
  33. <button class="uk-modal-close-default" type="button" uk-close></button>
  34. <h2 id="меню-заголовок" class="uk-modal-title">Заголовок</h2>
  35. <div class="uk-child-width-1-4 uk-text-center" uk-grid>
  36. <div>
  37. <div class="uk-card uk-card-small uk-card-hover uk-card-default uk-card-body">👁️</div>
  38. </div>
  39. <div>
  40. <div class="uk-card uk-card-small uk-card-hover uk-card-default uk-card-body">🤚</div>
  41. </div>
  42. <div>
  43. <div class="uk-card uk-card-small uk-card-hover uk-card-default uk-card-body">🗣</div>
  44. </div>
  45. <div>
  46. <div class="uk-card uk-card-small uk-card-hover uk-card-default uk-card-body">🥾</div>
  47. </div>
  48. </div>
  49. </div>
  50. </div>
  51. `;
  52. document.body.insertAdjacentHTML("beforeend", html);
  53. };
  54. // Конструктор.
  55. this.создать();
  56. };