UNPKG

@ngstack/code-editor

Version:

Code editor component for Angular applications.

78 lines (77 loc) 3.29 kB
import { OnChanges, OnDestroy, AfterViewInit, ElementRef, EventEmitter, SimpleChanges } from '@angular/core'; import { CodeEditorService } from '../services/code-editor.service'; import { TypescriptDefaultsService } from '../services/typescript-defaults.service'; import { JavascriptDefaultsService } from '../services/javascript-defaults.service'; import { JsonDefaultsService } from '../services/json-defaults.service'; import { CodeModel } from '../models/code.model'; import { editor } from 'monaco-editor'; import * as i0 from "@angular/core"; export interface CodeModelChangedEvent { sender: CodeEditorComponent; value: CodeModel; } export declare class CodeEditorComponent implements OnChanges, OnDestroy, AfterViewInit { private _editor; private _model; private defaultOptions; /** * The instance of the editor. */ get editor(): editor.ICodeEditor; protected set editor(value: editor.ICodeEditor); editorContent: ElementRef<HTMLDivElement>; codeModel: CodeModel; /** * Editor theme. Defaults to `vs`. * * Allowed values: `vs`, `vs-dark` or `hc-black`. * @memberof CodeEditorComponent */ theme: string; /** * Editor options. * * See https://microsoft.github.io/monaco-editor/docs.html#interfaces/editor.IStandaloneEditorConstructionOptions.html for more details. * * @memberof CodeEditorComponent */ options: editor.IStandaloneEditorConstructionOptions; /** * Toggle readonly state of the editor. * * @memberof CodeEditorComponent */ readOnly: boolean; /** * An event emitted when the text content of the model have changed. */ valueChanged: EventEmitter<string>; /** * An event emitted when the code model value is changed. */ codeModelChanged: EventEmitter<CodeModelChangedEvent>; /** * An event emitted when the contents of the underlying editor model have changed. */ modelContentChanged: EventEmitter<editor.IModelContentChangedEvent>; /** * Raised when editor finished loading all its components. */ loaded: EventEmitter<CodeEditorComponent>; protected editorService: CodeEditorService; protected typescriptDefaults: TypescriptDefaultsService; protected javascriptDefaults: JavascriptDefaultsService; protected jsonDefaults: JsonDefaultsService; ngOnDestroy(): void; ngOnChanges(changes: SimpleChanges): void; onResize(): void; ngAfterViewInit(): Promise<void>; private setupEditor; runEditorAction(id: string, args?: unknown): void; formatDocument(): void; private setupDependencies; private setEditorValue; private updateModel; static ɵfac: i0.ɵɵFactoryDeclaration<CodeEditorComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<CodeEditorComponent, "ngs-code-editor", never, { "codeModel": { "alias": "codeModel"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "options": { "alias": "options"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; }, { "valueChanged": "valueChanged"; "codeModelChanged": "codeModelChanged"; "modelContentChanged": "modelContentChanged"; "loaded": "loaded"; }, never, never, true, never>; }