JournalRecordManager: различия между версиями
Внешний вид
Sidminik (обсуждение | вклад) Нет описания правки |
Sidminik (обсуждение | вклад) |
||
| Строка 33: | Строка 33: | ||
==Методы== | ==Методы== | ||
*<code>setFieldValue(fieldName: string, value: any): Promise<void></code> - устанавливает значение поля (атрибута) по имени | *<code>setFieldValue(fieldName: string, value: any): Promise<void></code> - устанавливает значение поля (атрибута) по имени; если поле отсутствует в текущем этапе, выбрасывает ошибку; обновляет data; | ||
*<code>getFieldValue(fieldName: string): string | number | boolean | undefined</code> - возвращает значение поля (атрибута) по имени из текущей записи; | *<code>getFieldValue(fieldName: string): string | number | boolean | undefined</code> - возвращает значение поля (атрибута) по имени из текущей записи; | ||
*<code>moveRecord(stageName: string, direction: 'PREV' | 'NEXT'): Promise<void></code> - перемещает запись на указанный этап маршрута (назад или вперёд); обновляет data; | *<code>moveRecord(stageName: string, direction: 'PREV' | 'NEXT'): Promise<void></code> - перемещает запись на указанный этап маршрута (назад или вперёд); обновляет data; | ||
*<code>deleteRecord(): Promise<void></code> - удаляет запись журнала, очищает связанные данные в менеджере. | *<code>deleteRecord(): Promise<void></code> - удаляет запись журнала, очищает связанные данные в менеджере. | ||
Версия от 01:30, 13 мая 2026
JournalRecordManager - класс для управления одной записью журнала (ЛЖ) и её атрибутами.
Назначение
Отвечает за логику получения, изменения, перемещения по этапам и удаления записи ЛЖ.
Интерфейс
interface IJournalRecordManager {
journalRecordId: number,
data: JournalRecordResponse | null,
recordAttributesFields: JournalRecordAttributeFieldWithEdit[] | null, // Атрибуты - поля конкретной записи ЛЖ
setFieldValue(fieldName: string, value: any): Promise<void>,
getFieldValue(fieldName: string): string | number | boolean | undefined,
moveRecord(stageName: string, direction: 'PREV' | 'NEXT'): Promise<void>,
deleteRecord(): Promise<void>
}
Инициализация
Экземпляр класса инициализируется асинхронно (подгружаются данные о записи ЛЖ):
import { JournalRecordManager } from "../../src/servivces/worker/api/interactors"
const journalRecordManager = await JournalRecordManager(journalRecordId)
Свойства
journalRecordId: number- ID управляемой записи лабораторного журнала;data: JournalRecordResponse | null- данные о текущей записи лабораторного журнала (или null, если запись удалена);recordAttributesFields: JournalRecordAttributeFieldWithEdit[] | null- атрибуты-поля текущей записи (или null, если запись удалена).
Методы
setFieldValue(fieldName: string, value: any): Promise<void>- устанавливает значение поля (атрибута) по имени; если поле отсутствует в текущем этапе, выбрасывает ошибку; обновляет data;getFieldValue(fieldName: string): string | number | boolean | undefined- возвращает значение поля (атрибута) по имени из текущей записи;moveRecord(stageName: string, direction: 'PREV' | 'NEXT'): Promise<void>- перемещает запись на указанный этап маршрута (назад или вперёд); обновляет data;deleteRecord(): Promise<void>- удаляет запись журнала, очищает связанные данные в менеджере.