|
380 | 380 | addBtn.setAttribute('data-bs-target', '#add-btn-modal'); |
381 | 381 | addModalWrap.setAttribute('id', 'add-btn-modal'); |
382 | 382 | addModalWrap.setAttribute('tabindex', '-1'); |
383 | | - addModalWrap.setAttribute('aria-hidden', 'true'); |
| 383 | + // addModalWrap.setAttribute('aria-hidden', 'true'); |
384 | 384 | addModalHeaderXBtn.setAttribute('type', 'button'); |
385 | 385 | addModalHeaderXBtn.setAttribute('data-bs-dismiss', 'modal'); |
386 | 386 | addModalHeaderXBtn.setAttribute('aria-label', 'Close'); |
|
854 | 854 | addModalContactDropBtn.blur(); // снятие фокуса с кнопки (после выбора) |
855 | 855 | } |
856 | 856 |
|
| 857 | + // вызов/инициализация tooltips для "X" кнопки (для кнопки удаления строки контактов) |
| 858 | + initTippy('.modal__add-body-add-x-btn', 'удалить контакт', 'top'); |
| 859 | + |
857 | 860 | // организация удаления строки контактов |
858 | 861 | addModalContactXBtn.addEventListener('click', (event) => { |
859 | 862 | event.stopPropagation(); // исключение непредвиденных событий/поведения |
|
925 | 928 | } |
926 | 929 | } |
927 | 930 | } |
| 931 | + |
| 932 | + // ** дополнительная/местная организация логики для tooltips (т.е. помимо customTippy.js) |
| 933 | + function initTippy(selector, content, side) { |
| 934 | + if (typeof tippy === 'function') { |
| 935 | + tippy(selector, { |
| 936 | + content: content, |
| 937 | + theme: 'main', |
| 938 | + delay: [50, 0], |
| 939 | + offset: [0, 13], |
| 940 | + placement: side, |
| 941 | + animation: 'scale', // анимация появления/скрытия (через дополнительный файл/подключение) |
| 942 | + trigger: 'mouseenter', // только по наведению мыши (исключение вывода по клику, в другом месте) |
| 943 | + |
| 944 | + onShow(instance) { |
| 945 | + setTimeout(() => { |
| 946 | + instance.hide(); // автоматическое скрытие (по истечению времени) |
| 947 | + }, 1000); |
| 948 | + }, |
| 949 | + |
| 950 | + // точечная корректировка стилей (для "стрелки" подсказки) |
| 951 | + onMount(instance) { |
| 952 | + const arrowElement = instance.popper.querySelector('.tippy-arrow'); |
| 953 | + arrowElement.style.marginBottom = '-1px'; |
| 954 | + }, |
| 955 | + }); |
| 956 | + } else { |
| 957 | + console.error('Tippy.js is not loaded!'); |
| 958 | + } |
| 959 | + } |
928 | 960 | })(); |
0 commit comments