Перейти к содержанию

JournalRecordManager: различия между версиями

Материал из Химсофт Вики
Нет описания правки
 
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''JournalRecordManager''' - класс для управления одной записью журнала (ЛЖ) и её атрибутами.
==Назначение==
==Назначение==


'''JournalRecordManager''' — класс для управления одной записью журнала (ЛЖ) и её атрибутами.
Отвечает за логику получения, изменения, перемещения по этапам и удаления записи ЛЖ.
 
Отвечает за логику получения, изменения, перемещения по этапам и удаления записи ЛЖ/


==Интерфейс==
==Интерфейс==
Строка 28: Строка 28:


==Свойства==
==Свойства==
*<code>journalRecordId: number</code> - ID управляемой записи лабораторного журнала;
 
*<code>data: JournalRecordResponse | null</code> - данные о текущей записи лабораторного журнала (или null, если запись удалена);
'''<code>journalRecordId: number</code>'''
*<code>recordAttributesFields: JournalRecordAttributeFieldWithEdit[] | null</code> - атрибуты-поля текущей записи (или null, если запись удалена).
*ID управляемой записи лабораторного журнала.
 
'''<code>data: JournalRecordResponse | null</code>'''
*Данные о текущей записи лабораторного журнала (или null, если запись удалена).
 
'''<code>recordAttributesFields: JournalRecordAttributeFieldWithEdit[] | null</code>'''
*Атрибуты-поля текущей записи (или null, если запись удалена).


==Методы==
==Методы==
*<code>setFieldValue(fieldName: string, value: any): Promise<void></code> - устанавливает значение поля (атрибута) по имени. Если поле отсутствует в текущем этапе, выбрасывает ошибку; обновляет data;
 
*<code>getFieldValue(fieldName: string): string | number | boolean | undefined</code> - возвращает значение поля (атрибута) по имени из текущей записи;
'''<code>setFieldValue(fieldName: string, value: any): Promise<void></code>'''
*<code>moveRecord(stageName: string, direction: 'PREV' | 'NEXT'): Promise<void></code> - перемещает запись на указанный этап маршрута (назад или вперёд); обновляет data;
*Устанавливает значение поля (атрибута) по имени; если поле отсутствует в текущем этапе, выбрасывает ошибку; обновляет data;
*<code>deleteRecord(): Promise<void></code> - удаляет запись журнала, очищает связанные данные в менеджере.
 
'''<code>getFieldValue(fieldName: string): string | number | boolean | undefined</code>'''
*Возвращает значение поля (атрибута) по имени из текущей записи.
 
'''<code>moveRecord(stageName: string, direction: 'PREV' | 'NEXT'): Promise<void></code>'''
*Перемещает запись на указанный этап маршрута (назад или вперёд).
*Обновляет data.
 
'''<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>

  • Удаляет запись журнала, очищает связанные данные в менеджере.