Skip to main content

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 editor
  • getData(): ModelariumData — Recupera os dados atuais
  • clearData(): ModelariumStatusMessage — Limpa todos os dados
  • exportData(): string — Exporta os dados em JSON
  • loadData(jsonData: string): ModelariumStatusMessage — Carrega dados a partir de JSON

Gerenciamento de Toolbox

  • loadToolbox(jsonToolbox: string): Promise<ModelariumStatusMessage> — Carrega configuração da toolbox
  • exportToolbox(): string — Exporta a toolbox em JSON
  • load(jsonToolbox: string, jsonData?: string): void — Carrega toolbox e dados

Manipulação de Eventos

  • on(event: string, listener: Listener): () => void — Registra um listener de evento
  • off(event: string, listener: Listener): void — Remove um listener
  • once(event: string, listener: Listener): () => void — Registra um listener único

Sistema de Tema

  • setTheme(theme: 'light' | 'dark' | 'auto'): void — Define o tema
  • getCurrentTheme(): 'light' | 'dark' | 'auto' — Obtém o tema atual
  • getEffectiveTheme(): 'light' | 'dark' — Obtém o tema resolvido
  • toggleTheme(): 'light' | 'dark' — Alterna entre claro e escuro

Modo Debug

  • setDebug(enabled: boolean): void — Ativa/desativa modo debug
  • isDebugEnabled(): 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 elementos
  • resetElementCountersAPI(): void — Reseta os contadores
  • debugElementCounters(): void — Loga o estado dos contadores

Tipos

Os seguintes tipos são exportados para integração type-safe:

  • ModelariumEditorOptions
  • ModelariumData, ModelariumEntity
  • ToolboxData, 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 pronto
  • entityAdded — Entidade adicionada
  • entityRemoved — Entidade removida
  • entitySelected — Entidade selecionada
  • entityMoved — Entidade movida
  • entityPropertyChanged — Propriedade de entidade alterada
  • themeChanged — 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.