|
686 | 686 | createAddModalContactsElement(); |
687 | 687 | }); |
688 | 688 |
|
689 | | - // ** удаление строки контактов в add-модальном окне (через "X" кнопку) |
| 689 | + // ** удаление строки контактов в add-модальном окне (через "X" кнопку, с/без уточняющего сообщения) |
690 | 690 | function deleteModalContactsElement(event) { |
691 | 691 | const clickedContactsXBtn = event.target; |
692 | 692 |
|
693 | | - // проверка на входящее прожатие/событие |
694 | | - if (!clickedContactsXBtn) { |
695 | | - return; |
696 | | - } |
697 | | - |
698 | 693 | if (clickedContactsXBtn.classList.contains('add-modal-delete-btn')) { |
699 | | - const modalContactsElement = clickedContactsXBtn.closest('div'); // фиксация родительского элемента |
| 694 | + // фиксация родительского элемента |
| 695 | + const modalContactsElement = clickedContactsXBtn.closest( |
| 696 | + '.modal__add-body-add-contact-element' |
| 697 | + ); |
700 | 698 |
|
701 | 699 | if (modalContactsElement) { |
702 | | - modalContactsElement.remove(); // удаление строки контактов |
| 700 | + // определение заполненности инпута в данной строке контакта |
| 701 | + const currentInput = modalContactsElement.querySelector('input'); |
| 702 | + const isCurrentInputFilled = |
| 703 | + currentInput && currentInput.value.trim() !== ''; |
| 704 | + let confirmed = true; // изначально подтверждение/confirm не требуется |
| 705 | + |
| 706 | + if (isCurrentInputFilled) { |
| 707 | + confirmed = confirm('Вы действительно хотите удалить этот контакт?'); // если/есть данные в инпуте, то тогда confirm/подтверждение при удалении |
| 708 | + } |
703 | 709 |
|
704 | | - // проверка на количество строк контактов (нет, скрытие обвёртки/родителя) |
705 | | - if ( |
706 | | - document.querySelectorAll('.modal__add-body-add-contact-element') |
707 | | - .length === 0 |
708 | | - ) { |
709 | | - const addBodySelectWrap = document.querySelector( |
710 | | - '.modal__add-body-add-select-wrap' |
711 | | - ); |
712 | | - addBodySelectWrap.classList.add('d-none'); |
| 710 | + if (confirmed) { |
| 711 | + modalContactsElement.remove(); // удаление строки контактов |
| 712 | + |
| 713 | + // проверка на количество строк контактов (нет, скрытие обвёртки/родителя) |
| 714 | + if ( |
| 715 | + document.querySelectorAll('.modal__add-body-add-contact-element') |
| 716 | + .length === 0 |
| 717 | + ) { |
| 718 | + const addBodySelectWrap = document.querySelector( |
| 719 | + '.modal__add-body-add-select-wrap' |
| 720 | + ); |
| 721 | + addBodySelectWrap.classList.add('d-none'); |
| 722 | + } |
713 | 723 | } |
714 | 724 | } |
715 | 725 | } |
|
0 commit comments