@ngstack/code-editor
Version:
Code editor component for Angular applications.
78 lines (77 loc) • 3.29 kB
TypeScript
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>;
}