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

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

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


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


recordAttributesFields: JournalRecordAttributeFieldWithEdit[] | null
==Методы==
Атрибуты-поля текущей записи (или null, если запись удалена).


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

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