diff --git a/src/editor/index.ts b/src/editor/index.ts index b745dbf..84b3ae2 100644 --- a/src/editor/index.ts +++ b/src/editor/index.ts @@ -57,7 +57,7 @@ export abstract class EditorAdapter { abstract blockEditorWhileSpeaking(status: boolean): void; abstract clearReport(): void; - abstract copyReport(): void; + abstract copyReport(): Promise; abstract insertInference(inference: IaraSpeechRecognitionDetail): void; abstract getEditorContent(): Promise<[string, string, string]>; @@ -66,9 +66,9 @@ export abstract class EditorAdapter { return this._recognition.beginReport({ richText: "", text: "" }); } - finishReport(clear = true): void { + async finishReport(clear = true): Promise { if (!this._shouldSaveReport) return; - this.copyReport(); + await this.copyReport(); if (clear) this.clearReport(); this._recognition.finishReport(); this.onFinishedReport?.(); diff --git a/src/syncfusion/index.ts b/src/syncfusion/index.ts index 186bcbf..88497f3 100644 --- a/src/syncfusion/index.ts +++ b/src/syncfusion/index.ts @@ -1,4 +1,9 @@ import type { DocumentEditorContainer } from "@syncfusion/ej2-documenteditor"; +import { + createSpinner, + showSpinner, + hideSpinner, +} from "@syncfusion/ej2-popups"; import { ListView, SelectedCollection } from "@syncfusion/ej2-lists"; import { Dialog } from "@syncfusion/ej2-popups"; import { EditorAdapter } from "../editor"; @@ -62,6 +67,10 @@ export class IaraSyncfusionAdapter "destroyed", this._onEditorDestroyed.bind(this) ); + + createSpinner({ + target: _editorContainer.editorContainer, + }); } blockEditorWhileSpeaking(status: boolean): void { @@ -72,9 +81,11 @@ export class IaraSyncfusionAdapter async copyReport(): Promise { this._editorContainer.documentEditor.focusIn(); this._editorContainer.documentEditor.selection.selectAll(); + showSpinner(this._editorContainer.editorContainer); this._recognition.automation.copyText( ...(await this._contentManager.getContent()) ); + hideSpinner(this._editorContainer.editorContainer); this._editorContainer.documentEditor.selection.moveNextPosition(); } diff --git a/src/tinymce/index.ts b/src/tinymce/index.ts index 17da456..75eadbb 100644 --- a/src/tinymce/index.ts +++ b/src/tinymce/index.ts @@ -66,7 +66,7 @@ export class IaraTinyMCEAdapter extends EditorAdapter implements EditorAdapter { this._editorContainer.undoManager.undo(); } - copyReport(): void { + copyReport(): Promise { throw new Error("Método não implementado."); }