Картограф
Картограф призначений для опису обробки даних. Картографи можуть бути використані на представленнях, в контролерах,
продюсерах чи слухачах. Картограф та сховище, схожі за використанням, тільки сховище орієнтована на реактивність та
використовує state management
, а картограф описує логіку отримання та середньотривалого або довготривалого зберігання
силами indexDB
, localStorage
, тощо.
Архітектура
Першочергово документ "Картограф" повинен бути зареєстрований в точці входу предметної області, яка повинна бути зареєстрована в відповідному сервісі. Виклик функції картографа можуть бути здійсненні в контролерах, слухачах чи продюсерах, або безпосередньо на представленнях.
При запуску програми веб-клієнта відбудеться завантаження бізнес-схеми в ядро відображення, формуючи знімок бізнес-схеми. Після чого відбувається візуалізація сторінки запиту. Якщо на сторінці запиту наявні представлення з використання функцій картографа чи контролерів / слухачів / продюсерів з включенням логіки картографа, то функція картографа при відповідному зверненні - виконається.
Склад
Помічник відображає структуру даних у форматі "ключ-значення", де кожен ключ відображає назву функції, а йому відповідає власне сама функція. Цей підхід дозволяє зручно організувати та керувати функціональними можливостями системи, забезпечуючи швидкий доступ до потрібного функціоналу через імʼя функції як ключ.
Реалізація
Реєстрація
Для використання карт необхідно зареєструвати документ "Картограф" в точці входу в предметну область pointer
.
Наприклад, для модуля BusUsersAgg
, необхідно використовувати функцію setPointer
для створення опису точки входу,
та зареєструвати в цій структурі документ "Картограф".
import {setPointer} from "@x-fiber/display";
import {BusUsersAggMapper} from "./BusUsers.mapper";
type BusDomains = 'BusUsersAgg' | 'BusUsersAuthSpec'
export const BusUsersAggPointer = setPointer<BusDomains>("BusUsersAgg", {
mapper: BusUsersAggMapper,
// ... other documents
});