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.

260.Подсказки.js 1.5KB

преди 2 години
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. function Подсказки()
  2. {
  3. this.создать = function()
  4. {
  5. this.задано = {};
  6. };
  7. this.задатьПодсказку = function(имя)
  8. {
  9. let за = this.задано[имя];
  10. if (!за.элемент || !за.текст)
  11. {
  12. return;
  13. }
  14. let элемент = document.getElementById(за.элемент);
  15. if (!элемент)
  16. {
  17. return;
  18. }
  19. элемент.setAttribute("uk-tooltip", `pos: right; title: ${за.текст}`);
  20. };
  21. this.обработатьКлюч = function(ключ, путь, значение)
  22. {
  23. if (путь[0] != "подсказки")
  24. {
  25. return;
  26. }
  27. let имя = путь[1];
  28. let свойство = путь.slice(2).join(".");
  29. if (!this.задано[имя])
  30. {
  31. this.задано[имя] = {};
  32. }
  33. this.задано[имя][свойство] = значение;
  34. this.задатьПодсказку(имя);
  35. };
  36. this.подсказкаДляЭлемента = function(элемент)
  37. {
  38. for (var имя in this.задано)
  39. {
  40. let подсказка = this.задано[имя];
  41. if (подсказка.элемент == элемент)
  42. {
  43. return имя;
  44. }
  45. }
  46. return null;
  47. };
  48. // Конструктор.
  49. this.создать();
  50. };