Skip to content

Commit 7c1283f

Browse files
committed
[PRAC/cont] Correct delete logic by "X" modal-btn
Adding if/check is current "add-modal" input filled, for later confirm. Worth noting: - that if the target input is "empty" the deletion without confirming. core: B-3 / JS-BL
1 parent 62583f6 commit 7c1283f

File tree

1 file changed

+27
-17
lines changed
  • core-courses/3-js-basic-level/practicum-js-basic-level/sb-crm-client/js

1 file changed

+27
-17
lines changed

core-courses/3-js-basic-level/practicum-js-basic-level/sb-crm-client/js/index.js

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -686,30 +686,40 @@
686686
createAddModalContactsElement();
687687
});
688688

689-
// ** удаление строки контактов в add-модальном окне (через "X" кнопку)
689+
// ** удаление строки контактов в add-модальном окне (через "X" кнопку, с/без уточняющего сообщения)
690690
function deleteModalContactsElement(event) {
691691
const clickedContactsXBtn = event.target;
692692

693-
// проверка на входящее прожатие/событие
694-
if (!clickedContactsXBtn) {
695-
return;
696-
}
697-
698693
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+
);
700698

701699
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+
}
703709

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+
}
713723
}
714724
}
715725
}

0 commit comments

Comments
 (0)