Pular para o conteúdo

IaraSyncfusionAdapter

Construtor

new IaraSyncfusionAdapter(editor, recognition, config?)

Cria uma nova instância do adapter.

Parâmetros:

NomeTipoObrigatórioDescrição
editorDocumentEditor | DocumentEditorContainerSimInstância do editor Syncfusion
recognitionIaraSpeechRecognitionSimInstância do reconhecedor de voz (já inicializado)
configIaraSyncfusionConfigNãoObjeto de configuração

Retorna: IaraSyncfusionAdapter

Exemplo:

const adapter = new IaraSyncfusionAdapter(
editor.documentEditor,
recognition,
{
assistant: { enabled: true },
enableSpeechRecognition: true
}
);

Propriedades

documentEditor

Tipo: DocumentEditor (somente leitura)

Referência ao editor Syncfusion subjacente.

const editor = adapter.documentEditor;
console.log('Editor:', editor);

recognition

Tipo: IaraSpeechRecognition (somente leitura)

Referência à instância do reconhecedor de voz.

const recognition = adapter.recognition;
console.log('Recognition:', recognition);

config

Tipo: IaraSyncfusionConfig (somente leitura)

Configuração atual do adapter.

const config = adapter.config;
console.log('Assistente habilitado:', config.assistant.enabled);

contentManager

Tipo: IaraSyncfusionContentManager (somente leitura)

Gerenciador de conteúdo do editor. Use para ler/escrever conteúdo em diferentes formatos.

const manager = adapter.contentManager;
// Ler conteúdo
const html = await manager.reader.getHtmlContent();
const text = await manager.reader.getPlainTextContent();
const sfdt = await manager.reader.getSfdtContent();

Métodos

Gerenciamento de Conteúdo

insertTemplate(content)

Insere um template no editor.

Parâmetros:

NomeTipoDescrição
contentstringConteúdo HTML ou SFDT para inserir

Retorna: Promise<void>

Exemplo:

await adapter.insertTemplate('<p>Novo template</p>');

clearReport()

Limpa todo o conteúdo do editor.

Retorna: void

Exemplo:

adapter.clearReport();

Leitura de Conteúdo

Todos os métodos de leitura estão disponíveis em adapter.contentManager.reader:

getHtmlContent()

Obtém o conteúdo do editor em formato HTML.

Retorna: Promise<string>

Exemplo:

const html = await adapter.contentManager.reader.getHtmlContent();
console.log('HTML:', html);

getPlainTextContent()

Obtém o conteúdo do editor em texto plano.

Retorna: Promise<string>

Exemplo:

const text = await adapter.contentManager.reader.getPlainTextContent();
console.log('Texto:', text);

getRtfContent()

Obtém o conteúdo do editor em formato RTF.

Retorna: Promise<string>

Exemplo:

const rtf = await adapter.contentManager.reader.getRtfContent();
console.log('RTF:', rtf);

getSfdtContent()

Obtém o conteúdo do editor em formato SFDT (Syncfusion Document Format).

Retorna: Promise<IaraSFDT>

Exemplo:

const sfdt = await adapter.contentManager.reader.getSfdtContent();
console.log('SFDT:', sfdt);

Callbacks

onIaraCommand

Callback executado quando um comando Iara é executado.

Tipo: (command: string) => void

Exemplo:

adapter.onIaraCommand = function(command) {
console.log('Comando executado:', command);
// Exemplo: enviar analytics
analytics.track('iara_command', { command });
};

Eventos

IaraOnSaveReport

Evento disparado quando o relatório é salvo automaticamente (se saveReport: true).

Tipo de Evento: CustomEvent<string[]>

Detalhes: O evento contém um array com [plainText, html, rtf, sfdt]

Exemplo:

addEventListener('IaraOnSaveReport', function(event) {
console.log('Salvando relatório...');
const [plainText, html, rtf, sfdt] = event.detail;
// Enviar para backend
fetch('/api/reports/save', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
plainText,
html,
rtf
})
});
});

Próximos Passos