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

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

Материал из Химсофт Вики
Новая страница: «Назначение JournalRecordManager — класс для управления одной записью журнала (ЛЖ) и её атрибутами. Отвечает за логику получения, изменения, перемещения по этапам и удаления записи ЛЖ Интерфейс interface IJournalRecordManager { journalRecordId: number, data: JournalRecordResponse | null, recordAttributesFi...»
 
Нет описания правки
Строка 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 управляемой записи лабораторного журнала.
 
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>
==Свойства==
Перемещает запись на указанный этап маршрута (назад или вперёд).
*<code>journalRecordId: number</code> - ID управляемой записи лабораторного журнала;
Обновляет data
*<code>data: JournalRecordResponse | null</code> - данные о текущей записи лабораторного журнала (или null, если запись удалена);
*<code>recordAttributesFields: JournalRecordAttributeFieldWithEdit[] | null</code> - атрибуты-поля текущей записи (или null, если запись удалена).


deleteRecord(): Promise<void>
==Методы==
Удаляет запись журнала, очищает связанные данные в менеджере.
*<code>setFieldValue(fieldName: string, value: any): Promise<void></code> - устанавливает значение поля (атрибута) по имени. Если поле отсутствует в текущем этапе, выбрасывает ошибку; обновляет data;
*<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:28, 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> - удаляет запись журнала, очищает связанные данные в менеджере.