|
252 | 252 | const addModalBodyPatronymicInputLabel = document.createElement('label'); |
253 | 253 | const addModalBodyPatronymicFeedback = document.createElement('div'); |
254 | 254 | const addModalBodyAddContactsWrap = document.createElement('div'); |
255 | | - const addModalBodyAddSelectWrap = document.createElement('div'); |
| 255 | + const addModalBodyAddContactsRowWrap = document.createElement('div'); |
256 | 256 | const addModalBodyAddBtn = document.createElement('button'); |
257 | 257 | const addModalBodyAddBtnStrokeIcon = document.createElement('span'); |
258 | 258 | const addModalBodyAddBtnStrokeIconGray = document.createElement('span'); |
|
285 | 285 | addModalBodySurnameInput.classList.add( |
286 | 286 | 'modal__add-body-input', |
287 | 287 | 'add-surname-input', |
| 288 | + 'add-modal-input', |
288 | 289 | 'form-control' |
289 | 290 | ); |
290 | 291 | addModalBodySurnameInputLabel.classList.add( |
|
308 | 309 | addModalBodyNameInput.classList.add( |
309 | 310 | 'modal__add-body-input', |
310 | 311 | 'add-name-input', |
| 312 | + 'add-modal-input', |
311 | 313 | 'form-control' |
312 | 314 | ); |
313 | 315 | addModalBodyNameInputLabel.classList.add( |
|
331 | 333 | addModalBodyPatronymicInput.classList.add( |
332 | 334 | 'modal__add-body-input', |
333 | 335 | 'add-patronymic-input', |
| 336 | + 'add-modal-input', |
334 | 337 | 'form-control' |
335 | 338 | ); |
336 | 339 | addModalBodyPatronymicInputLabel.classList.add( |
|
345 | 348 | addModalBodyAddContactsWrap.classList.add( |
346 | 349 | 'modal__add-body-add-contacts-wrap' |
347 | 350 | ); |
348 | | - addModalBodyAddSelectWrap.classList.add( |
349 | | - 'modal__add-body-add-select-wrap', |
| 351 | + addModalBodyAddContactsRowWrap.classList.add( |
| 352 | + 'modal__add-body-add-contacts-row-wrap', |
350 | 353 | 'd-none' |
351 | 354 | ); |
352 | 355 | addModalBodyAddBtn.classList.add('modal__add-body-add-btn', 'modal__add-btn'); |
|
470 | 473 | addModalBodyAddBtnText |
471 | 474 | ); |
472 | 475 | addModalBodyAddContactsWrap.append( |
473 | | - addModalBodyAddSelectWrap, |
| 476 | + addModalBodyAddContactsRowWrap, |
474 | 477 | addModalBodyAddBtn |
475 | 478 | ); |
476 | 479 | addModalBodyForm.append( |
|
617 | 620 | if (addModalContactsArr.length >= 10) return; |
618 | 621 |
|
619 | 622 | const addModalContactElement = document.createElement('div'); |
| 623 | + const addModalContactCustomSelect = document.createElement('div'); |
| 624 | + const addModalContactDropBtn = document.createElement('button'); |
| 625 | + const addModalContactList = document.createElement('ul'); |
| 626 | + const addModalContactItemExtraPhone = document.createElement('li'); |
| 627 | + const addModalContactItemEmail = document.createElement('li'); |
| 628 | + const addModalContactItemVk = document.createElement('li'); |
| 629 | + const addModalContactItemFacebook = document.createElement('li'); |
| 630 | + const addModalContactHiddenInput = document.createElement('input'); |
| 631 | + const addModalContactInput = document.createElement('input'); |
| 632 | + const addModalContactXBtn = document.createElement('button'); |
| 633 | + |
620 | 634 | addModalContactElement.classList.add( |
621 | 635 | 'modal__add-body-add-contact-element', |
622 | 636 | 'input-group' |
623 | 637 | ); |
624 | | - |
625 | | - const addModalContactSelect = document.createElement('select'); |
626 | | - addModalContactSelect.classList.add( |
627 | | - 'modal__add-body-add-contact-select', |
628 | | - 'form-select' |
| 638 | + addModalContactCustomSelect.classList.add( |
| 639 | + 'modal__add-body-add-contact-select' |
| 640 | + // 'form-select' |
| 641 | + ); |
| 642 | + addModalContactDropBtn.classList.add( |
| 643 | + 'modal__add-body-add-contact-drop-btn' |
| 644 | + ); |
| 645 | + addModalContactList.classList.add('modal__add-body-add-contact-list'); |
| 646 | + addModalContactItemExtraPhone.classList.add( |
| 647 | + 'modal__add-body-add-contact-item', |
| 648 | + 'add-modal-extra-phone-item' |
| 649 | + ); |
| 650 | + addModalContactItemEmail.classList.add( |
| 651 | + 'modal__add-body-add-contact-item', |
| 652 | + 'add-modal-email-item' |
| 653 | + ); |
| 654 | + addModalContactItemVk.classList.add( |
| 655 | + 'modal__add-body-add-contact-item', |
| 656 | + 'add-modal-vk-item' |
| 657 | + ); |
| 658 | + addModalContactItemFacebook.classList.add( |
| 659 | + 'modal__add-body-add-contact-item', |
| 660 | + 'add-modal-facebook-item' |
| 661 | + ); |
| 662 | + addModalContactHiddenInput.classList.add( |
| 663 | + 'modal__add-body-add-hidden-input' |
629 | 664 | ); |
630 | | - addModalContactSelect.setAttribute('name', 'contact-options'); |
631 | | - addModalContactSelect.innerHTML = ` |
632 | | - <option value="phone" selected>Телефон</option> |
633 | | - <option value="extra-phone">Доп. телефон</option> |
634 | | - <option value="email">Email</option> |
635 | | - <option value="vk">Vk</option> |
636 | | - <option value="facebook">Facebook</option> |
637 | | - `; |
638 | | - |
639 | | - const addModalContactInput = document.createElement('input'); |
640 | 665 | addModalContactInput.classList.add( |
641 | 666 | 'modal__add-body-add-contact-input', |
| 667 | + 'add-modal-input', |
642 | 668 | 'form-control' |
643 | 669 | ); |
644 | | - addModalContactInput.setAttribute('type', 'text'); |
645 | | - addModalContactInput.setAttribute('name', 'contact-data'); |
646 | | - addModalContactInput.setAttribute('placeholder', 'Введите данные контакта'); |
647 | | - |
648 | | - const addModalContactXBtn = document.createElement('button'); |
649 | 670 | addModalContactXBtn.classList.add( |
650 | 671 | 'modal__add-body-add-x-btn', |
651 | 672 | 'add-modal-delete-btn' |
652 | 673 | ); |
| 674 | + |
| 675 | + addModalContactCustomSelect.setAttribute('name', 'contact-options'); |
| 676 | + addModalContactDropBtn.setAttribute('id', 'add-modal-drop-btn'); |
| 677 | + addModalContactDropBtn.setAttribute('type', 'button'); |
| 678 | + addModalContactItemExtraPhone.setAttribute('data-value', 'extra-phone'); |
| 679 | + addModalContactItemEmail.setAttribute('data-value', 'email'); |
| 680 | + addModalContactItemVk.setAttribute('data-value', 'vk'); |
| 681 | + addModalContactItemFacebook.setAttribute('data-value', 'facebook'); |
| 682 | + addModalContactHiddenInput.setAttribute('value', 'phone'); // начальное значение, согласно textContent кнопки |
| 683 | + addModalContactHiddenInput.setAttribute('type', 'hidden'); |
| 684 | + addModalContactHiddenInput.setAttribute('name', 'contact-type'); |
| 685 | + addModalContactInput.setAttribute('type', 'text'); |
| 686 | + addModalContactInput.setAttribute('name', 'contact-data'); |
| 687 | + addModalContactInput.setAttribute('placeholder', 'Введите данные контакта'); |
653 | 688 | addModalContactXBtn.setAttribute('type', 'button'); |
654 | 689 | addModalContactXBtn.setAttribute('tabindex', '0'); |
| 690 | + |
| 691 | + addModalContactDropBtn.textContent = 'Телефон'; |
| 692 | + addModalContactItemExtraPhone.textContent = 'Доп. телефон'; |
| 693 | + addModalContactItemEmail.textContent = 'Email'; |
| 694 | + addModalContactItemVk.textContent = 'Vk'; |
| 695 | + addModalContactItemFacebook.textContent = 'Facebook'; |
655 | 696 | addModalContactXBtn.textContent = '✖'; |
656 | 697 |
|
| 698 | + addModalContactList.append( |
| 699 | + addModalContactItemExtraPhone, |
| 700 | + addModalContactItemEmail, |
| 701 | + addModalContactItemVk, |
| 702 | + addModalContactItemFacebook |
| 703 | + ); |
| 704 | + addModalContactCustomSelect.append( |
| 705 | + addModalContactDropBtn, |
| 706 | + addModalContactList |
| 707 | + ); |
657 | 708 | addModalContactElement.append( |
658 | | - addModalContactSelect, |
| 709 | + addModalContactCustomSelect, |
| 710 | + addModalContactHiddenInput, |
659 | 711 | addModalContactInput, |
660 | 712 | addModalContactXBtn |
661 | 713 | ); |
662 | 714 |
|
663 | 715 | // отображение изначально скрытой обвёртки/родителя |
664 | 716 | const addBodySelectWrap = document.querySelector( |
665 | | - '.modal__add-body-add-select-wrap' |
| 717 | + '.modal__add-body-add-contacts-row-wrap' |
666 | 718 | ); |
667 | 719 | addBodySelectWrap.classList.remove('d-none'); |
668 | 720 |
|
|
721 | 773 |
|
722 | 774 | if (modalContactsElement) { |
723 | 775 | // определение заполненности инпута в данной строке контакта |
724 | | - const currentInput = modalContactsElement.querySelector('input'); |
| 776 | + const currentInput = modalContactsElement.querySelector( |
| 777 | + '.modal__add-body-add-contact-input' |
| 778 | + ); |
725 | 779 | const isCurrentInputFilled = |
726 | 780 | currentInput && currentInput.value.trim() !== ''; |
727 | 781 | let confirmed = true; // изначально подтверждение/confirm не требуется |
|
749 | 803 | .length === 0 |
750 | 804 | ) { |
751 | 805 | const addBodySelectWrap = document.querySelector( |
752 | | - '.modal__add-body-add-select-wrap' |
| 806 | + '.modal__add-body-add-contacts-row-wrap' |
753 | 807 | ); |
754 | 808 | addBodySelectWrap.classList.add('d-none'); |
755 | 809 | addModalBodyAddBtn.classList.remove('add-modal-btn-margin'); |
|
0 commit comments