|
702 | 702 | getOutputTable.addEventListener('click', deleteBodyRowsByBtn); |
703 | 703 |
|
704 | 704 | // ** удаление элементов/строк таблицы данных о клиентах (ОБЩАЯ ЛОГИКА) |
705 | | - function deleteBodyRowsClients( |
| 705 | + async function deleteBodyRowsClients( |
706 | 706 | clientsServerIdsToDelete, |
707 | 707 | confirmMessage = null, |
708 | 708 | currentBtn = null |
|
1713 | 1713 | modalDialog.append(modalContent); |
1714 | 1714 | modalWrap.append(modalDialog); |
1715 | 1715 |
|
| 1716 | + // корректировка Bootstrap атрибута для кнопки "Отмена/Удалить клиента" (т.к. при "edit" нужны другие действия) |
| 1717 | + if (type === 'edit') { |
| 1718 | + modalFooterCancelBtn.removeAttribute('data-bs-dismiss'); |
| 1719 | + } |
| 1720 | + |
1716 | 1721 | // вызов/инициализация tooltips для "X" модальной кнопки (для кнопки закрытия модального окна, с задержкой) |
1717 | 1722 | setTimeout(() => { |
1718 | 1723 | initTippy(modalHeaderXBtn, 'закрыть', 'left'); |
|
1760 | 1765 | // обработка "submit" события для формы (общая валидация, ряд действий) |
1761 | 1766 | handleModalFormSubmit({ modalBodyForm, type, clientData }); |
1762 | 1767 |
|
| 1768 | + // организация удаления клиента/строки, через внутреннюю кнопку "Удалить клинта" (при "edit" модальном окне) |
| 1769 | + if (type === 'edit') { |
| 1770 | + modalFooterCancelBtn.addEventListener('click', async (event) => { |
| 1771 | + event.preventDefault(); // исключение закрытия модального окна |
| 1772 | + |
| 1773 | + const clientServerId = clientData.id; // фиксация серверного ID клиента |
| 1774 | + if (!clientServerId) { |
| 1775 | + console.error('Ошибка: отсутствует ID клиента для удаления!'); |
| 1776 | + return; |
| 1777 | + } |
| 1778 | + |
| 1779 | + // вызов "confirm" для подтверждения удаления |
| 1780 | + const confirmed = confirm('Вы уверены, что хотите удалить клиента?'); |
| 1781 | + if (!confirmed) { |
| 1782 | + return; |
| 1783 | + } |
| 1784 | + |
| 1785 | + // отработка удаления клиента/строки |
| 1786 | + await deleteBodyRowsClients([clientServerId], null, event.target); |
| 1787 | + |
| 1788 | + // закрытие модального окна после удаления |
| 1789 | + const modalInstance = bootstrap.Modal.getInstance(modalWrap); |
| 1790 | + if (modalInstance) { |
| 1791 | + modalInstance.hide(); |
| 1792 | + } |
| 1793 | + }); |
| 1794 | + } |
| 1795 | + |
1763 | 1796 | return modalWrap; // возврат модального окна (т.е. здесь/без добавления в DOM.. позже, при клике) |
1764 | 1797 | } |
1765 | 1798 |
|
|
0 commit comments