|
1126 | 1126 |
|
1127 | 1127 | addModalContactElement.classList.add( |
1128 | 1128 | 'modal__add-body-add-contact-element', |
| 1129 | + 'modal-contact-element', |
1129 | 1130 | 'input-group' |
1130 | 1131 | ); |
1131 | 1132 | addModalContactCustomSelect.classList.add( |
|
1172 | 1173 | ); |
1173 | 1174 | addModalContactInput.classList.add( |
1174 | 1175 | 'modal__add-body-add-contact-input', |
| 1176 | + 'modal-contact-input', |
1175 | 1177 | 'add-modal-input', |
1176 | 1178 | 'form-control' |
1177 | 1179 | ); |
|
1432 | 1434 | createAddModalContactsElement(); |
1433 | 1435 | }); |
1434 | 1436 |
|
| 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 | + |
1435 | 1464 | // ** удаление строки контактов в add-модальном окне (через "X" кнопку, с/без уточняющего сообщения) |
1436 | 1465 | function deleteModalContactsElement(event) { |
1437 | 1466 | const clickedContactsXBtn = event.target; |
|
0 commit comments