Files
request-portal/src/webparts/requestPortal/shared/requestEvents.ts
T
2026-08-04 12:02:11 +00:00

16 lines
996 B
TypeScript

// Общее событие «список заявок изменился»: создана новая заявка или принято
// решение согласующего. Панель «Текущие заявки» (features/myRequests) подписана
// и перечитывает данные. Через window.dispatchEvent — проще шины состояния,
// достаточно для нечастых событий (сохранение формы, решение согласующего).
const EVENT_NAME = 'rp-requests-changed';
export function emitRequestsChanged(): void {
window.dispatchEvent(new Event(EVENT_NAME));
}
/** Подписка на изменения. Возвращает функцию отписки (вызвать в cleanup эффекта). */
export function onRequestsChanged(handler: () => void): () => void {
window.addEventListener(EVENT_NAME, handler);
return () => window.removeEventListener(EVENT_NAME, handler);
}