Skip to content

Commit 50a96f8

Browse files
committed
[PRAC/cont] Add log to check "empty" row-contacts
Organiz check for "empty" row-contacts before clos modal-window (msg). Worth noting: - universality of this function (by universal classes). core: B-3 / JS-BL
1 parent 575ef2c commit 50a96f8

File tree

1 file changed

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

1 file changed

+29
-0
lines changed

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

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1126,6 +1126,7 @@
11261126

11271127
addModalContactElement.classList.add(
11281128
'modal__add-body-add-contact-element',
1129+
'modal-contact-element',
11291130
'input-group'
11301131
);
11311132
addModalContactCustomSelect.classList.add(
@@ -1172,6 +1173,7 @@
11721173
);
11731174
addModalContactInput.classList.add(
11741175
'modal__add-body-add-contact-input',
1176+
'modal-contact-input',
11751177
'add-modal-input',
11761178
'form-control'
11771179
);
@@ -1432,6 +1434,33 @@
14321434
createAddModalContactsElement();
14331435
});
14341436

1437+
// ** организация "УНИВЕРСАЛЬНОЙ" проверки на "пустые" row-контакты, перед закрытием того/иного модального окна (вывод сообщения)
1438+
function checkEmptyRowContacts(event) {
1439+
const allContactRows = document.querySelectorAll('.modal-contact-element');
1440+
1441+
// определение "пустых" контактов (формирование соответствующего массива)
1442+
const emptyContacts = Array.from(allContactRows).filter((row) => {
1443+
const internalInput = row.querySelector('.modal-contact-input');
1444+
return internalInput && internalInput.value.trim() === '';
1445+
});
1446+
1447+
// исключение закрытия/сворачивания модального окна (если есть "пустые" контакты)
1448+
if (emptyContacts.length > 0) {
1449+
event.preventDefault();
1450+
event.stopPropagation();
1451+
1452+
// формирование/вывод сообщения в зависимости от количества контактов
1453+
const message =
1454+
emptyContacts.length === 1
1455+
? 'Заполните "пустой" контакт или удалите!'
1456+
: `Заполните "пустые" контакты или удалите!`;
1457+
1458+
alert(message);
1459+
}
1460+
}
1461+
1462+
addModalWrap.addEventListener('hide.bs.modal', checkEmptyRowContacts); // запуск проверки на "пустые" контакты (перед закрытием add-модального окна)
1463+
14351464
// ** удаление строки контактов в add-модальном окне (через "X" кнопку, с/без уточняющего сообщения)
14361465
function deleteModalContactsElement(event) {
14371466
const clickedContactsXBtn = event.target;

0 commit comments

Comments
 (0)