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