feat: implemented form lifecycle hool and state machine

This commit is contained in:
Тимур Городецкий
2026-08-04 17:00:04 +05:00
parent ed21944628
commit ba4e3feee5
25 changed files with 504 additions and 171 deletions
@@ -13,6 +13,20 @@ export const REQUEST_STATUS = {
closed: 'Закрыта',
} as const;
// Статусы, при которых заявку ещё можно править (форма редактируема).
// Всё остальное (На согласовании / Согласовано / Выполнение / Закрыта) — только чтение.
// «Отклонено» здесь по решению 2026-08-04: отклонённую можно доработать и переотправить.
export const EDITABLE_STATUSES: string[] = [
REQUEST_STATUS.draft,
REQUEST_STATUS.returned,
REQUEST_STATUS.rejected,
];
// Новая (без статуса) или заявка в редактируемом статусе → форму можно менять.
export function isEditableStatus(status: string | undefined): boolean {
return !status || EDITABLE_STATUSES.indexOf(status) !== -1;
}
// Полный набор значений для Choice-колонки при провижининге.
export const REQUEST_STATUS_CHOICES: string[] = [
REQUEST_STATUS.draft,