API
Visão Geral
O Modelarium Editor oferece uma API flexível e orientada a eventos para construir, gerenciar e customizar modelos de dados e elementos de UI. Esta documentação descreve as APIs públicas e de desenvolvedor disponíveis para integração e extensão.
API Pública
Instanciação
import ModelariumEditor, { ModelariumEditorOptions } from '@astradevio/modelarium-editor';
const editor = new ModelariumEditor('containerId', { debug: true });
Gerenciamento de Dados
setData(data: ModelariumData): ModelariumStatusMessage— Carrega dados no editorgetData(): ModelariumData— Recupera os dados atuaisclearData(): ModelariumStatusMessage— Limpa todos os dadosexportData(): string— Exporta os dados em JSONloadData(jsonData: string): ModelariumStatusMessage— Carrega dados a partir de JSON
Gerenciamento de Toolbox
loadToolbox(jsonToolbox: string): Promise<ModelariumStatusMessage>— Carrega configuração da toolboxexportToolbox(): string— Exporta a toolbox em JSONload(jsonToolbox: string, jsonData?: string): void— Carrega toolbox e dados
Manipulação de Eventos
on(event: string, listener: Listener): () => void— Registra um listener de eventooff(event: string, listener: Listener): void— Remove um listeneronce(event: string, listener: Listener): () => void— Registra um listener único
Sistema de Tema
setTheme(theme: 'light' | 'dark' | 'auto'): void— Define o temagetCurrentTheme(): 'light' | 'dark' | 'auto'— Obtém o tema atualgetEffectiveTheme(): 'light' | 'dark'— Obtém o tema resolvidotoggleTheme(): 'light' | 'dark'— Alterna entre claro e escuro
Modo Debug
setDebug(enabled: boolean): void— Ativa/desativa modo debugisDebugEnabled(): boolean— Verifica status do debug
API para Desenvolvedores
Recursos avançados para testes, depuração e integrações customizadas:
getElementCounters(): Record<string, number>— Obtém contadores de IDs de elementosresetElementCountersAPI(): void— Reseta os contadoresdebugElementCounters(): void— Loga o estado dos contadores
Tipos
Os seguintes tipos são exportados para integração type-safe:
ModelariumEditorOptionsModelariumData,ModelariumEntityToolboxData,ToolboxElement,ToolboxElementProperty,ToolboxElementPropertyValidationRule,ToolboxElementHierarchyRules,ToolboxCategory
Exemplo de Uso
import ModelariumEditor, { ModelariumEditorOptions, ModelariumData } from '@astradevio/modelarium-editor';
const editor = new ModelariumEditor('containerId', { debug: true });
editor.setTheme('dark');
editor.on('entityAdded', (data) => {
// ...
});
Eventos
O Modelarium Editor emite eventos para ações principais:
initialized— Editor prontoentityAdded— Entidade adicionadaentityRemoved— Entidade removidaentitySelected— Entidade selecionadaentityMoved— Entidade movidaentityPropertyChanged— Propriedade de entidade alteradathemeChanged— Tema alterado
Observações
- Todos os métodos da API estão disponíveis na instância de
ModelariumEditor. - Para manipulação avançada do DOM, use métodos internos com cautela.
Para mais detalhes, consulte o código fonte ou entre em contato com a equipe AstraDEV.