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.

54 lines
2.1KB

  1. function Пульт(события, имяОшибки, имяПерезапуска, имяОтдельно, имяСсылки, имяДокументации)
  2. {
  3. this.создать = function()
  4. {
  5. var ошибка = document.getElementById(имяОшибки);
  6. мир.назначитьКнопкамСобытия(
  7. события,
  8. [
  9. [имяПерезапуска, "перезапустить"],
  10. [имяОтдельно, "запустить отдельно"],
  11. [имяСсылки, "скопировать ссылку"],
  12. [имяДокументации, "открыть документацию"],
  13. ]
  14. );
  15. события.подписать(this);
  16. };
  17. this.обработатьСобытие = function(событие)
  18. {
  19. if (событие == "код корректен")
  20. {
  21. this.показатьОшибку(false);
  22. }
  23. else if (событие == "код некорректен")
  24. {
  25. this.показатьОшибку(true);
  26. }
  27. else if (событие == "скопировать ссылку")
  28. {
  29. navigator.clipboard.writeText(window.location)
  30. .then(() => {
  31. UIkit.notification("Скопировали ссылку", { status: "success", timeout: 1000 });
  32. })
  33. .catch(err => {
  34. UIkit.notification("Не удалось скопировать ссылку :(", { status: "danger", timeout: 5000 });
  35. });
  36. }
  37. else if (событие == "открыть документацию")
  38. {
  39. var путь = window.location.pathname + "/../../doc/ru/index.html";
  40. window.open(путь);
  41. }
  42. };
  43. this.показатьОшибку = function(показать)
  44. {
  45. ошибка.innerHTML = показать ? "<span uk-icon=\"icon: warning\"></span>" : "&nbsp;";
  46. };
  47. // Конструктор.
  48. this.создать();
  49. }