|
515 | 515 | // сбор ошибок/соответствующих сообщений |
516 | 516 | const errors = []; |
517 | 517 |
|
518 | | - // изначально проверка на поля ввода из "динамической" строки контактов |
| 518 | + // проверки для полей ввода/инпутов из "динамической" строки контактов (согласно type="" значений) |
519 | 519 | if (options.dynamicContactValidation) { |
520 | 520 | const hiddenInput = targetParentNode.querySelector( |
521 | 521 | '.modal__add-body-add-hidden-input' |
|
1138 | 1138 | ); |
1139 | 1139 | addModalContactList.classList.add( |
1140 | 1140 | 'modal__add-body-add-contact-list', |
| 1141 | + 'modal-contact-list', |
1141 | 1142 | 'd-none' |
1142 | 1143 | ); |
1143 | 1144 | addModalContactItemPhone.classList.add( |
|
1314 | 1315 |
|
1315 | 1316 | if ( |
1316 | 1317 | alreadyOpenDropList && |
1317 | | - alreadyOpenDropList.classList.contains( |
1318 | | - 'modal__add-body-add-contact-list' |
1319 | | - ) |
| 1318 | + alreadyOpenDropList.classList.contains('modal-contact-list') |
1320 | 1319 | ) { |
1321 | 1320 | alreadyOpenDropList.classList.add('d-none'); // закрытие ранее открытого списка |
1322 | 1321 | } |
|
1434 | 1433 | createAddModalContactsElement(); |
1435 | 1434 | }); |
1436 | 1435 |
|
1437 | | - // ** организация "УНИВЕРСАЛЬНОЙ" проверки на "пустые" row-контакты, перед закрытием того/иного модального окна (вывод сообщения) |
| 1436 | + // ** организация проверки на "пустые" row-контакты, перед закрытием модального окна (вывод сообщения) |
1438 | 1437 | function checkEmptyRowContacts(event) { |
1439 | 1438 | const allContactRows = document.querySelectorAll('.modal-contact-element'); |
1440 | 1439 |
|
|
1461 | 1460 |
|
1462 | 1461 | addModalWrap.addEventListener('hide.bs.modal', checkEmptyRowContacts); // запуск проверки на "пустые" контакты (перед закрытием add-модального окна) |
1463 | 1462 |
|
| 1463 | + // ** организация закрытия развёрнутого/раскрытого выпадающего списка row-контактов (при закрытии модального окна) |
| 1464 | + function closeRowDropdown() { |
| 1465 | + const openRowDropdownBtn = document.querySelector('.drop-open'); |
| 1466 | + if (openRowDropdownBtn) { |
| 1467 | + const dropdownList = openRowDropdownBtn.nextElementSibling; // определение следом идущего списка |
| 1468 | + if ( |
| 1469 | + dropdownList && |
| 1470 | + dropdownList.classList.contains('modal-contact-list') |
| 1471 | + ) { |
| 1472 | + dropdownList.classList.add('d-none'); // закрытие списка |
| 1473 | + openRowDropdownBtn.classList.remove('arrow-rotate', 'drop-open'); // корректировка кнопки |
| 1474 | + } |
| 1475 | + } |
| 1476 | + } |
| 1477 | + |
| 1478 | + addModalWrap.addEventListener('hidden.bs.modal', closeRowDropdown); // закрытие "возможно" раскрытого выпадающего списка контактов (при закрытие add-модального окна) |
| 1479 | + |
1464 | 1480 | // ** удаление строки контактов в add-модальном окне (через "X" кнопку, с/без уточняющего сообщения) |
1465 | 1481 | function deleteModalContactsElement(event) { |
1466 | 1482 | const clickedContactsXBtn = event.target; |
|
0 commit comments