fix(requests): убраны alert и немедленный reload при approve/reject на странице списка
- requestCrudHandler.js: заменены alert+reload на закрытие модального окна + событие - requestList.js: добавлен обработчик события request:updated с отложенной перезагрузкой (500ms) - Улучшен UX: модальное окно плавно закрывается, затем обновляется список - Системное уведомление больше не появляется
This commit is contained in:
parent
c0b659f95d
commit
935c12aaa2
@ -320,8 +320,19 @@ export function initRequestCrudHandler(options) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
await response.json();
|
await response.json();
|
||||||
alert("Заявление одобрено.");
|
|
||||||
window.location.reload();
|
// Закрываем модальное окно
|
||||||
|
const modal = document.getElementById('reqApproveModal');
|
||||||
|
if (modal) {
|
||||||
|
const bsModal = bootstrap.Modal.getInstance(modal);
|
||||||
|
if (bsModal) bsModal.hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Отправляем событие для обновления списка
|
||||||
|
document.dispatchEvent(new CustomEvent('request:updated', {
|
||||||
|
detail: { action: 'approve', id: reqId }
|
||||||
|
}));
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
alert("Не удалось одобрить заявление: " + error.message);
|
alert("Не удалось одобрить заявление: " + error.message);
|
||||||
}
|
}
|
||||||
@ -351,8 +362,19 @@ export function initRequestCrudHandler(options) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
await response.json();
|
await response.json();
|
||||||
alert("Заявление отклонено.");
|
|
||||||
window.location.reload();
|
// Закрываем модальное окно
|
||||||
|
const modal = document.getElementById('reqRejectModal');
|
||||||
|
if (modal) {
|
||||||
|
const bsModal = bootstrap.Modal.getInstance(modal);
|
||||||
|
if (bsModal) bsModal.hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Отправляем событие для обновления списка
|
||||||
|
document.dispatchEvent(new CustomEvent('request:updated', {
|
||||||
|
detail: { action: 'reject', id: reqId }
|
||||||
|
}));
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
alert("Не удалось отклонить заявление: " + error.message);
|
alert("Не удалось отклонить заявление: " + error.message);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -112,4 +112,12 @@ export function initRequestListPage(config) {
|
|||||||
apiDetailBase,
|
apiDetailBase,
|
||||||
headers
|
headers
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Слушаем события обновления заявлений (approve/reject)
|
||||||
|
document.addEventListener('request:updated', function(event) {
|
||||||
|
console.log('Request updated:', event.detail);
|
||||||
|
// Перезагружаем страницу для обновления списка
|
||||||
|
// TODO: в будущем можно заменить на AJAX обновление конкретной карточки
|
||||||
|
setTimeout(() => window.location.reload(), 500);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user