@firestitch/text-editor 12.0.0 → 12.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/components/text-editor/text-editor.component.d.ts +9 -3
- package/app/fs-text-editor.module.d.ts +8 -0
- package/app/interfaces/config.interface.d.ts +2 -2
- package/bundles/firestitch-text-editor.umd.js +95 -44
- package/bundles/firestitch-text-editor.umd.js.map +1 -1
- package/esm2015/app/components/text-editor/text-editor.component.js +47 -26
- package/esm2015/app/fs-text-editor.module.js +28 -17
- package/esm2015/app/interfaces/config.interface.js +1 -1
- package/fesm2015/firestitch-text-editor.js +72 -42
- package/fesm2015/firestitch-text-editor.js.map +1 -1
- package/firestitch-text-editor.d.ts +1 -0
- package/package.json +13 -7
- package/firestitch-text-editor.metadata.json +0 -1
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { EventEmitter, OnInit, ElementRef } from '@angular/core';
|
|
1
|
+
import { EventEmitter, OnInit, ElementRef, OnDestroy } from '@angular/core';
|
|
2
2
|
import { ControlValueAccessor } from '@angular/forms';
|
|
3
3
|
import { EditorComponent } from 'ngx-monaco-editor';
|
|
4
4
|
import { FsTextEditorConfig } from '../../interfaces/config.interface';
|
|
5
|
-
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class FsTextEditorComponent implements OnInit, OnDestroy, ControlValueAccessor {
|
|
6
7
|
private _element;
|
|
8
|
+
private _document;
|
|
7
9
|
config: FsTextEditorConfig;
|
|
8
10
|
scrollable: boolean;
|
|
9
11
|
init: EventEmitter<any>;
|
|
@@ -12,12 +14,14 @@ export declare class FsTextEditorComponent implements OnInit, ControlValueAccess
|
|
|
12
14
|
defaultConfig: FsTextEditorConfig;
|
|
13
15
|
onChange: (_: any) => void;
|
|
14
16
|
onTouched: () => void;
|
|
17
|
+
private _window;
|
|
15
18
|
get monaco(): any;
|
|
16
|
-
constructor(_element: ElementRef);
|
|
19
|
+
constructor(_element: ElementRef, _document: Document);
|
|
17
20
|
readonly LINE_HEIGHT = 18;
|
|
18
21
|
private _editorRef;
|
|
19
22
|
private _value;
|
|
20
23
|
ngOnInit(): void;
|
|
24
|
+
ngOnDestroy(): void;
|
|
21
25
|
get value(): string;
|
|
22
26
|
onEditorInit(event: any): void;
|
|
23
27
|
writeValue(value: any): void;
|
|
@@ -28,4 +32,6 @@ export declare class FsTextEditorComponent implements OnInit, ControlValueAccess
|
|
|
28
32
|
private _updateEditorHeight;
|
|
29
33
|
updateLayout(): void;
|
|
30
34
|
private _disableScroll;
|
|
35
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FsTextEditorComponent, never>;
|
|
36
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FsTextEditorComponent, "fs-text-editor", never, { "config": "config"; "scrollable": "scrollable"; }, { "init": "init"; "blur": "blur"; }, never, never>;
|
|
31
37
|
}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./components/text-editor/text-editor.component";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "ngx-monaco-editor";
|
|
5
|
+
import * as i4 from "@angular/forms";
|
|
1
6
|
export declare class FsTextEditorModule {
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FsTextEditorModule, never>;
|
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<FsTextEditorModule, [typeof i1.FsTextEditorComponent], [typeof i2.CommonModule, typeof i3.MonacoEditorModule, typeof i4.FormsModule], [typeof i1.FsTextEditorComponent]>;
|
|
9
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<FsTextEditorModule>;
|
|
2
10
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
export interface FsTextEditorConfig extends IStandaloneEditorConstructionOptions {
|
|
1
|
+
import { editor } from 'monaco-editor';
|
|
2
|
+
export interface FsTextEditorConfig extends editor.IStandaloneEditorConstructionOptions {
|
|
3
3
|
autoHeight?: boolean;
|
|
4
4
|
}
|
|
@@ -1,16 +1,39 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('ngx-monaco-editor')) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define('@firestitch/text-editor', ['exports', '@angular/core', '@angular/common', '@angular/forms', 'ngx-monaco-editor'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.firestitch = global.firestitch || {}, global.firestitch["text-editor"] = {}), global.ng.core, global.ng.common, global.ng.forms, global.
|
|
5
|
-
})(this, (function (exports,
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.firestitch = global.firestitch || {}, global.firestitch["text-editor"] = {}), global.ng.core, global.ng.common, global.ng.forms, global.i1));
|
|
5
|
+
})(this, (function (exports, i0, common, i2, i1) { 'use strict';
|
|
6
|
+
|
|
7
|
+
function _interopNamespace(e) {
|
|
8
|
+
if (e && e.__esModule) return e;
|
|
9
|
+
var n = Object.create(null);
|
|
10
|
+
if (e) {
|
|
11
|
+
Object.keys(e).forEach(function (k) {
|
|
12
|
+
if (k !== 'default') {
|
|
13
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () { return e[k]; }
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
n["default"] = e;
|
|
22
|
+
return Object.freeze(n);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
|
|
26
|
+
var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
|
|
27
|
+
var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
|
|
6
28
|
|
|
7
29
|
var FsTextEditorComponent = /** @class */ (function () {
|
|
8
|
-
function FsTextEditorComponent(_element) {
|
|
30
|
+
function FsTextEditorComponent(_element, _document) {
|
|
9
31
|
this._element = _element;
|
|
32
|
+
this._document = _document;
|
|
10
33
|
this.config = {};
|
|
11
34
|
this.scrollable = false;
|
|
12
|
-
this.init = new
|
|
13
|
-
this.blur = new
|
|
35
|
+
this.init = new i0.EventEmitter();
|
|
36
|
+
this.blur = new i0.EventEmitter();
|
|
14
37
|
this.defaultConfig = {
|
|
15
38
|
minimap: {
|
|
16
39
|
enabled: false
|
|
@@ -26,12 +49,13 @@
|
|
|
26
49
|
};
|
|
27
50
|
this.onChange = function (_) { };
|
|
28
51
|
this.onTouched = function () { };
|
|
52
|
+
this._window = this._document.defaultView;
|
|
29
53
|
this.LINE_HEIGHT = 18;
|
|
30
54
|
this._value = '';
|
|
31
55
|
}
|
|
32
56
|
Object.defineProperty(FsTextEditorComponent.prototype, "monaco", {
|
|
33
57
|
get: function () {
|
|
34
|
-
return
|
|
58
|
+
return this._window.monaco;
|
|
35
59
|
},
|
|
36
60
|
enumerable: false,
|
|
37
61
|
configurable: true
|
|
@@ -43,6 +67,10 @@
|
|
|
43
67
|
this.config = Object.assign({}, this.defaultConfig, this.config);
|
|
44
68
|
}
|
|
45
69
|
};
|
|
70
|
+
FsTextEditorComponent.prototype.ngOnDestroy = function () {
|
|
71
|
+
// must be there to cleanup https://github.com/microsoft/monaco-editor/issues/827
|
|
72
|
+
this._window.define = null;
|
|
73
|
+
};
|
|
46
74
|
Object.defineProperty(FsTextEditorComponent.prototype, "value", {
|
|
47
75
|
get: function () {
|
|
48
76
|
return this._value;
|
|
@@ -118,50 +146,73 @@
|
|
|
118
146
|
};
|
|
119
147
|
return FsTextEditorComponent;
|
|
120
148
|
}());
|
|
121
|
-
FsTextEditorComponent
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
149
|
+
FsTextEditorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorComponent, deps: [{ token: i0__namespace.ElementRef }, { token: common.DOCUMENT }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
150
|
+
FsTextEditorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsTextEditorComponent, selector: "fs-text-editor", inputs: { config: "config", scrollable: "scrollable" }, outputs: { init: "init", blur: "blur" }, providers: [{
|
|
151
|
+
provide: i2.NG_VALUE_ACCESSOR,
|
|
152
|
+
useExisting: i0.forwardRef(function () { return FsTextEditorComponent; }),
|
|
153
|
+
multi: true
|
|
154
|
+
}], viewQueries: [{ propertyName: "_editorContainer", first: true, predicate: i1.EditorComponent, descendants: true, static: true }], ngImport: i0__namespace, template: "<ngx-monaco-editor\n [ngModel]=\"value\"\n (ngModelChange)=\"changed($event)\"\n [options]=\"config\"\n (onInit)=\"onEditorInit($event)\">\n</ngx-monaco-editor>\n", styles: [":host ngx-monaco-editor{height:100%!important}:host ::ng-deep .decorationsOverviewRuler{display:none}:host ::ng-deep .margin,:host ::ng-deep .monaco-editor-background{top:0px!important}\n"], components: [{ type: i1__namespace.EditorComponent, selector: "ngx-monaco-editor", inputs: ["options", "model"] }], directives: [{ type: i2__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
155
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorComponent, decorators: [{
|
|
156
|
+
type: i0.Component,
|
|
157
|
+
args: [{
|
|
158
|
+
selector: 'fs-text-editor',
|
|
159
|
+
templateUrl: 'text-editor.component.html',
|
|
160
|
+
styleUrls: ['text-editor.component.scss'],
|
|
161
|
+
providers: [{
|
|
162
|
+
provide: i2.NG_VALUE_ACCESSOR,
|
|
163
|
+
useExisting: i0.forwardRef(function () { return FsTextEditorComponent; }),
|
|
164
|
+
multi: true
|
|
165
|
+
}]
|
|
166
|
+
}]
|
|
167
|
+
}], ctorParameters: function () {
|
|
168
|
+
return [{ type: i0__namespace.ElementRef }, { type: Document, decorators: [{
|
|
169
|
+
type: i0.Inject,
|
|
170
|
+
args: [common.DOCUMENT]
|
|
171
|
+
}] }];
|
|
172
|
+
}, propDecorators: { config: [{
|
|
173
|
+
type: i0.Input
|
|
174
|
+
}], scrollable: [{
|
|
175
|
+
type: i0.Input
|
|
176
|
+
}], init: [{
|
|
177
|
+
type: i0.Output
|
|
178
|
+
}], blur: [{
|
|
179
|
+
type: i0.Output
|
|
180
|
+
}], _editorContainer: [{
|
|
181
|
+
type: i0.ViewChild,
|
|
182
|
+
args: [i1.EditorComponent, { static: true }]
|
|
183
|
+
}] } });
|
|
143
184
|
|
|
144
185
|
var FsTextEditorModule = /** @class */ (function () {
|
|
145
186
|
function FsTextEditorModule() {
|
|
146
187
|
}
|
|
147
188
|
return FsTextEditorModule;
|
|
148
189
|
}());
|
|
149
|
-
FsTextEditorModule
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
190
|
+
FsTextEditorModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
|
191
|
+
FsTextEditorModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorModule, declarations: [FsTextEditorComponent], imports: [common.CommonModule,
|
|
192
|
+
i1.MonacoEditorModule,
|
|
193
|
+
i2.FormsModule], exports: [FsTextEditorComponent] });
|
|
194
|
+
FsTextEditorModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorModule, imports: [[
|
|
195
|
+
common.CommonModule,
|
|
196
|
+
i1.MonacoEditorModule,
|
|
197
|
+
i2.FormsModule,
|
|
198
|
+
]] });
|
|
199
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorModule, decorators: [{
|
|
200
|
+
type: i0.NgModule,
|
|
201
|
+
args: [{
|
|
202
|
+
imports: [
|
|
203
|
+
common.CommonModule,
|
|
204
|
+
i1.MonacoEditorModule,
|
|
205
|
+
i2.FormsModule,
|
|
206
|
+
],
|
|
207
|
+
exports: [
|
|
208
|
+
FsTextEditorComponent,
|
|
209
|
+
],
|
|
210
|
+
entryComponents: [],
|
|
211
|
+
declarations: [
|
|
212
|
+
FsTextEditorComponent,
|
|
213
|
+
]
|
|
214
|
+
}]
|
|
215
|
+
}] });
|
|
165
216
|
|
|
166
217
|
/*
|
|
167
218
|
* Public API Surface of fs-menu
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firestitch-text-editor.umd.js","sources":["../../src/app/components/text-editor/text-editor.component.ts","../../src/app/fs-text-editor.module.ts","../../src/public_api.ts","../../src/firestitch-text-editor.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"firestitch-text-editor.umd.js","sources":["../../src/app/components/text-editor/text-editor.component.ts","../../src/app/components/text-editor/text-editor.component.html","../../src/app/fs-text-editor.module.ts","../../src/public_api.ts","../../src/firestitch-text-editor.ts"],"sourcesContent":["import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnInit,\n Output,\n ViewChild,\n ElementRef,\n OnDestroy,\n Inject,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DOCUMENT } from '@angular/common';\n\nimport { EditorComponent } from 'ngx-monaco-editor';\nimport { editor } from 'monaco-editor';\n\nimport { FsTextEditorConfig } from '../../interfaces/config.interface';\n\n\n@Component({\n selector: 'fs-text-editor',\n templateUrl: 'text-editor.component.html',\n styleUrls: [ 'text-editor.component.scss' ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FsTextEditorComponent),\n multi: true\n }]\n})\nexport class FsTextEditorComponent implements OnInit, OnDestroy, ControlValueAccessor {\n\n @Input() public config: FsTextEditorConfig = {};\n @Input() public scrollable = false;\n\n @Output() public init = new EventEmitter();\n @Output() public blur = new EventEmitter();\n @ViewChild(EditorComponent, { static: true }) _editorContainer: EditorComponent;\n\n public defaultConfig: FsTextEditorConfig = {\n minimap: {\n enabled: false\n },\n theme: 'vs-dark',\n automaticLayout: false,\n scrollBeyondLastLine: false,\n autoHeight: true,\n scrollbar: {\n vertical: 'hidden'\n },\n hideCursorInOverviewRuler: true\n };\n\n public onChange = (_: any) => {};\n public onTouched = () => {};\n\n private _window: any = this._document.defaultView;\n\n public get monaco() {\n return this._window.monaco;\n };\n\n constructor(\n private _element: ElementRef,\n @Inject(DOCUMENT)\n private _document: Document,\n ) {};\n\n public readonly LINE_HEIGHT = 18;\n\n private _editorRef: editor.ICodeEditor;\n private _value = '';\n\n public ngOnInit() {\n\n if (this.config) {\n this.config = Object.assign({}, this.defaultConfig, this.config);\n }\n }\n\n public ngOnDestroy() {\n // must be there to cleanup https://github.com/microsoft/monaco-editor/issues/827\n this._window.define = null;\n }\n\n get value() {\n return this._value;\n }\n\n public onEditorInit(event) {\n // Timeout allows the content to fully load to and calculate height\n setTimeout(() => {\n this._editorRef = event;\n this._initEditor();\n this.init.next(event);\n\n if (!this.scrollable) {\n this._disableScroll();\n }\n });\n }\n\n public writeValue(value: any): void {\n this._value = value || '';\n }\n\n public changed(e) {\n if (this._value !== e) {\n this._value = e;\n this.onChange(e);\n }\n }\n\n public registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n private _initEditor() {\n if (this._editorRef && this.config.autoHeight) {\n this._updateEditorHeight();\n\n this._editorRef.onDidChangeModelContent((e) => {\n this._updateEditorHeight();\n });\n\n this._editorRef.onDidBlurEditorText(() => {\n this.blur.next();\n });\n }\n }\n\n private _updateEditorHeight() {\n\n const editorDomNode = this._editorRef.getDomNode();\n\n if (!editorDomNode) {\n return;\n }\n\n const container = editorDomNode.getElementsByClassName('view-lines')[0] as HTMLElement;\n const lineHeight = container.firstChild\n ? (container.firstChild as HTMLElement).offsetHeight\n : this.LINE_HEIGHT;\n\n const editorModel = this._editorRef.getModel();\n\n if (!editorModel) {\n return;\n }\n\n const nextHeight = this._editorRef.getModel().getLineCount() * lineHeight;\n\n // set the height and redo layout\n editorDomNode.style.height = nextHeight + 'px';\n this.updateLayout();\n }\n\n public updateLayout(): void {\n this._editorRef.layout();\n }\n\n private _disableScroll() {\n const node = this._editorRef.getDomNode();\n\n node.addEventListener('wheel', (e) => {\n e.stopPropagation();\n }, true);\n }\n}\n","<ngx-monaco-editor\n [ngModel]=\"value\"\n (ngModelChange)=\"changed($event)\"\n [options]=\"config\"\n (onInit)=\"onEditorInit($event)\">\n</ngx-monaco-editor>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { MonacoEditorModule } from 'ngx-monaco-editor';\nimport { FsTextEditorComponent } from './components/text-editor/text-editor.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MonacoEditorModule,\n FormsModule,\n ],\n exports: [\n FsTextEditorComponent,\n ],\n entryComponents: [\n ],\n declarations: [\n FsTextEditorComponent,\n ]\n})\nexport class FsTextEditorModule {\n\n}\n","/*\n * Public API Surface of fs-menu\n */\n\nimport { from } from 'rxjs';\n\nexport { FsTextEditorModule } from './app/fs-text-editor.module';\n\nexport { FsTextEditorConfig } from './app/interfaces/config.interface';\n\n\nexport { FsTextEditorComponent } from './app/components/text-editor/text-editor.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["EventEmitter","DOCUMENT","NG_VALUE_ACCESSOR","forwardRef","EditorComponent","Component","Inject","Input","Output","ViewChild","CommonModule","MonacoEditorModule","FormsModule","NgModule"],"mappings":"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"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import { Component, EventEmitter, forwardRef, Input, Output, ViewChild, ElementRef } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, forwardRef, Input, Output, ViewChild, ElementRef, Inject, } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
4
|
import { EditorComponent } from 'ngx-monaco-editor';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "ngx-monaco-editor";
|
|
7
|
+
import * as i2 from "@angular/forms";
|
|
4
8
|
export class FsTextEditorComponent {
|
|
5
|
-
constructor(_element) {
|
|
9
|
+
constructor(_element, _document) {
|
|
6
10
|
this._element = _element;
|
|
11
|
+
this._document = _document;
|
|
7
12
|
this.config = {};
|
|
8
13
|
this.scrollable = false;
|
|
9
14
|
this.init = new EventEmitter();
|
|
@@ -23,11 +28,12 @@ export class FsTextEditorComponent {
|
|
|
23
28
|
};
|
|
24
29
|
this.onChange = (_) => { };
|
|
25
30
|
this.onTouched = () => { };
|
|
31
|
+
this._window = this._document.defaultView;
|
|
26
32
|
this.LINE_HEIGHT = 18;
|
|
27
33
|
this._value = '';
|
|
28
34
|
}
|
|
29
35
|
get monaco() {
|
|
30
|
-
return
|
|
36
|
+
return this._window.monaco;
|
|
31
37
|
}
|
|
32
38
|
;
|
|
33
39
|
;
|
|
@@ -36,6 +42,10 @@ export class FsTextEditorComponent {
|
|
|
36
42
|
this.config = Object.assign({}, this.defaultConfig, this.config);
|
|
37
43
|
}
|
|
38
44
|
}
|
|
45
|
+
ngOnDestroy() {
|
|
46
|
+
// must be there to cleanup https://github.com/microsoft/monaco-editor/issues/827
|
|
47
|
+
this._window.define = null;
|
|
48
|
+
}
|
|
39
49
|
get value() {
|
|
40
50
|
return this._value;
|
|
41
51
|
}
|
|
@@ -104,26 +114,37 @@ export class FsTextEditorComponent {
|
|
|
104
114
|
}, true);
|
|
105
115
|
}
|
|
106
116
|
}
|
|
107
|
-
FsTextEditorComponent
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
]
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
};
|
|
129
|
-
|
|
117
|
+
FsTextEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTextEditorComponent, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
118
|
+
FsTextEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsTextEditorComponent, selector: "fs-text-editor", inputs: { config: "config", scrollable: "scrollable" }, outputs: { init: "init", blur: "blur" }, providers: [{
|
|
119
|
+
provide: NG_VALUE_ACCESSOR,
|
|
120
|
+
useExisting: forwardRef(() => FsTextEditorComponent),
|
|
121
|
+
multi: true
|
|
122
|
+
}], viewQueries: [{ propertyName: "_editorContainer", first: true, predicate: EditorComponent, descendants: true, static: true }], ngImport: i0, template: "<ngx-monaco-editor\n [ngModel]=\"value\"\n (ngModelChange)=\"changed($event)\"\n [options]=\"config\"\n (onInit)=\"onEditorInit($event)\">\n</ngx-monaco-editor>\n", styles: [":host ngx-monaco-editor{height:100%!important}:host ::ng-deep .decorationsOverviewRuler{display:none}:host ::ng-deep .margin,:host ::ng-deep .monaco-editor-background{top:0px!important}\n"], components: [{ type: i1.EditorComponent, selector: "ngx-monaco-editor", inputs: ["options", "model"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTextEditorComponent, decorators: [{
|
|
124
|
+
type: Component,
|
|
125
|
+
args: [{
|
|
126
|
+
selector: 'fs-text-editor',
|
|
127
|
+
templateUrl: 'text-editor.component.html',
|
|
128
|
+
styleUrls: ['text-editor.component.scss'],
|
|
129
|
+
providers: [{
|
|
130
|
+
provide: NG_VALUE_ACCESSOR,
|
|
131
|
+
useExisting: forwardRef(() => FsTextEditorComponent),
|
|
132
|
+
multi: true
|
|
133
|
+
}]
|
|
134
|
+
}]
|
|
135
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: Document, decorators: [{
|
|
136
|
+
type: Inject,
|
|
137
|
+
args: [DOCUMENT]
|
|
138
|
+
}] }]; }, propDecorators: { config: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], scrollable: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], init: [{
|
|
143
|
+
type: Output
|
|
144
|
+
}], blur: [{
|
|
145
|
+
type: Output
|
|
146
|
+
}], _editorContainer: [{
|
|
147
|
+
type: ViewChild,
|
|
148
|
+
args: [EditorComponent, { static: true }]
|
|
149
|
+
}] } });
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3RleHQtZWRpdG9yL3RleHQtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy90ZXh0LWVkaXRvci90ZXh0LWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsVUFBVSxFQUVWLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQWdCcEQsTUFBTSxPQUFPLHFCQUFxQjtJQWdDaEMsWUFDVSxRQUFvQixFQUVwQixTQUFtQjtRQUZuQixhQUFRLEdBQVIsUUFBUSxDQUFZO1FBRXBCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFqQ2IsV0FBTSxHQUF1QixFQUFFLENBQUM7UUFDaEMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVsQixTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxQixTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdwQyxrQkFBYSxHQUF1QjtZQUN6QyxPQUFPLEVBQUU7Z0JBQ1AsT0FBTyxFQUFFLEtBQUs7YUFDZjtZQUNELEtBQUssRUFBRSxTQUFTO1lBQ2hCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLG9CQUFvQixFQUFFLEtBQUs7WUFDM0IsVUFBVSxFQUFFLElBQUk7WUFDaEIsU0FBUyxFQUFFO2dCQUNULFFBQVEsRUFBRSxR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MUIsV0FBVyxFQUFFLDRCQUE0QjtvQkFDekMsU0FBUyxFQUFFLENBQUUsNEJBQTRCLENBQUU7b0JBQzNDLFNBQVMsRUFBRSxDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDO2lCQUNIO21GQW9Dc0IsUUFBUTswQkFEMUIsTUFBTTsyQkFBQyxRQUFROzRDQWhDRixNQUFNO3NCQUFyQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBRVcsSUFBSTtzQkFBcEIsTUFBTTtnQkFDVSxJQUFJO3NCQUFwQixNQUFNO2dCQUN1QyxnQkFBZ0I7c0JBQTdELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxuICBJbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBFZGl0b3JDb21wb25lbnQgfSBmcm9tICduZ3gtbW9uYWNvLWVkaXRvcic7XG5pbXBvcnQgeyBlZGl0b3IgfSBmcm9tICdtb25hY28tZWRpdG9yJztcblxuaW1wb3J0IHsgRnNUZXh0RWRpdG9yQ29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy10ZXh0LWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAndGV4dC1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsgJ3RleHQtZWRpdG9yLmNvbXBvbmVudC5zY3NzJyBdLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRnNUZXh0RWRpdG9yQ29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XVxufSlcbmV4cG9ydCBjbGFzcyBGc1RleHRFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjb25maWc6IEZzVGV4dEVkaXRvckNvbmZpZyA9IHt9O1xuICBASW5wdXQoKSBwdWJsaWMgc2Nyb2xsYWJsZSA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgaW5pdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBibHVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAVmlld0NoaWxkKEVkaXRvckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgX2VkaXRvckNvbnRhaW5lcjogRWRpdG9yQ29tcG9uZW50O1xuXG4gIHB1YmxpYyBkZWZhdWx0Q29uZmlnOiBGc1RleHRFZGl0b3JDb25maWcgPSB7XG4gICAgbWluaW1hcDoge1xuICAgICAgZW5hYmxlZDogZmFsc2VcbiAgICB9LFxuICAgIHRoZW1lOiAndnMtZGFyaycsXG4gICAgYXV0b21hdGljTGF5b3V0OiBmYWxzZSxcbiAgICBzY3JvbGxCZXlvbmRMYXN0TGluZTogZmFsc2UsXG4gICAgYXV0b0hlaWdodDogdHJ1ZSxcbiAgICBzY3JvbGxiYXI6IHtcbiAgICAgIHZlcnRpY2FsOiAnaGlkZGVuJ1xuICAgIH0sXG4gICAgaGlkZUN1cnNvckluT3ZlcnZpZXdSdWxlcjogdHJ1ZVxuICB9O1xuXG4gIHB1YmxpYyBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuICBwdWJsaWMgb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgcHJpdmF0ZSBfd2luZG93OiBhbnkgPSB0aGlzLl9kb2N1bWVudC5kZWZhdWx0VmlldztcblxuICBwdWJsaWMgZ2V0IG1vbmFjbygpIHtcbiAgICByZXR1cm4gdGhpcy5fd2luZG93Lm1vbmFjbztcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpXG4gICAgcHJpdmF0ZSBfZG9jdW1lbnQ6IERvY3VtZW50LFxuICApIHt9O1xuXG4gIHB1YmxpYyByZWFkb25seSBMSU5FX0hFSUdIVCA9IDE4O1xuXG4gIHByaXZhdGUgX2VkaXRvclJlZjogZWRpdG9yLklDb2RlRWRpdG9yO1xuICBwcml2YXRlIF92YWx1ZSA9ICcnO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcblxuICAgIGlmICh0aGlzLmNvbmZpZykge1xuICAgICAgdGhpcy5jb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmRlZmF1bHRDb25maWcsIHRoaXMuY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgLy8gbXVzdCBiZSB0aGVyZSB0byBjbGVhbnVwIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvbW9uYWNvLWVkaXRvci9pc3N1ZXMvODI3XG4gICAgdGhpcy5fd2luZG93LmRlZmluZSA9IG51bGw7XG4gIH1cblxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgcHVibGljIG9uRWRpdG9ySW5pdChldmVudCkge1xuICAgIC8vIFRpbWVvdXQgYWxsb3dzIHRoZSBjb250ZW50IHRvIGZ1bGx5IGxvYWQgdG8gYW5kIGNhbGN1bGF0ZSBoZWlnaHRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2VkaXRvclJlZiA9IGV2ZW50O1xuICAgICAgdGhpcy5faW5pdEVkaXRvcigpO1xuICAgICAgdGhpcy5pbml0Lm5leHQoZXZlbnQpO1xuXG4gICAgICBpZiAoIXRoaXMuc2Nyb2xsYWJsZSkge1xuICAgICAgICB0aGlzLl9kaXNhYmxlU2Nyb2xsKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZSB8fCAnJztcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VkKGUpIHtcbiAgICBpZiAodGhpcy5fdmFsdWUgIT09IGUpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gZTtcbiAgICAgIHRoaXMub25DaGFuZ2UoZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRFZGl0b3IoKSB7XG4gICAgaWYgKHRoaXMuX2VkaXRvclJlZiAmJiB0aGlzLmNvbmZpZy5hdXRvSGVpZ2h0KSB7XG4gICAgICB0aGlzLl91cGRhdGVFZGl0b3JIZWlnaHQoKTtcblxuICAgICAgdGhpcy5fZWRpdG9yUmVmLm9uRGlkQ2hhbmdlTW9kZWxDb250ZW50KChlKSA9PiB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUVkaXRvckhlaWdodCgpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuX2VkaXRvclJlZi5vbkRpZEJsdXJFZGl0b3JUZXh0KCgpID0+IHtcbiAgICAgICAgdGhpcy5ibHVyLm5leHQoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUVkaXRvckhlaWdodCgpIHtcblxuICAgIGNvbnN0IGVkaXRvckRvbU5vZGUgPSB0aGlzLl9lZGl0b3JSZWYuZ2V0RG9tTm9kZSgpO1xuXG4gICAgaWYgKCFlZGl0b3JEb21Ob2RlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29udGFpbmVyID0gZWRpdG9yRG9tTm9kZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd2aWV3LWxpbmVzJylbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgbGluZUhlaWdodCA9IGNvbnRhaW5lci5maXJzdENoaWxkXG4gICAgPyAoY29udGFpbmVyLmZpcnN0Q2hpbGQgYXMgSFRNTEVsZW1lbnQpLm9mZnNldEhlaWdodFxuICAgIDogdGhpcy5MSU5FX0hFSUdIVDtcblxuICAgIGNvbnN0IGVkaXRvck1vZGVsID0gdGhpcy5fZWRpdG9yUmVmLmdldE1vZGVsKCk7XG5cbiAgICBpZiAoIWVkaXRvck1vZGVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dEhlaWdodCA9IHRoaXMuX2VkaXRvclJlZi5nZXRNb2RlbCgpLmdldExpbmVDb3VudCgpICogbGluZUhlaWdodDtcblxuICAgIC8vIHNldCB0aGUgaGVpZ2h0IGFuZCByZWRvIGxheW91dFxuICAgIGVkaXRvckRvbU5vZGUuc3R5bGUuaGVpZ2h0ID0gbmV4dEhlaWdodCArICdweCc7XG4gICAgdGhpcy51cGRhdGVMYXlvdXQoKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVMYXlvdXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZWRpdG9yUmVmLmxheW91dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZVNjcm9sbCgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5fZWRpdG9yUmVmLmdldERvbU5vZGUoKTtcblxuICAgIG5vZGUuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCAoZSkgPT4ge1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9LCB0cnVlKTtcbiAgfVxufVxuIiwiPG5neC1tb25hY28tZWRpdG9yXG4gIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlZCgkZXZlbnQpXCJcbiAgW29wdGlvbnNdPVwiY29uZmlnXCJcbiAgKG9uSW5pdCk9XCJvbkVkaXRvckluaXQoJGV2ZW50KVwiPlxuPC9uZ3gtbW9uYWNvLWVkaXRvcj5cbiJdfQ==
|
|
@@ -3,22 +3,33 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import { FormsModule } from '@angular/forms';
|
|
4
4
|
import { MonacoEditorModule } from 'ngx-monaco-editor';
|
|
5
5
|
import { FsTextEditorComponent } from './components/text-editor/text-editor.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
6
7
|
export class FsTextEditorModule {
|
|
7
8
|
}
|
|
8
|
-
FsTextEditorModule
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
9
|
+
FsTextEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTextEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
FsTextEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTextEditorModule, declarations: [FsTextEditorComponent], imports: [CommonModule,
|
|
11
|
+
MonacoEditorModule,
|
|
12
|
+
FormsModule], exports: [FsTextEditorComponent] });
|
|
13
|
+
FsTextEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTextEditorModule, imports: [[
|
|
14
|
+
CommonModule,
|
|
15
|
+
MonacoEditorModule,
|
|
16
|
+
FormsModule,
|
|
17
|
+
]] });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTextEditorModule, decorators: [{
|
|
19
|
+
type: NgModule,
|
|
20
|
+
args: [{
|
|
21
|
+
imports: [
|
|
22
|
+
CommonModule,
|
|
23
|
+
MonacoEditorModule,
|
|
24
|
+
FormsModule,
|
|
25
|
+
],
|
|
26
|
+
exports: [
|
|
27
|
+
FsTextEditorComponent,
|
|
28
|
+
],
|
|
29
|
+
entryComponents: [],
|
|
30
|
+
declarations: [
|
|
31
|
+
FsTextEditorComponent,
|
|
32
|
+
]
|
|
33
|
+
}]
|
|
34
|
+
}] });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtdGV4dC1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9mcy10ZXh0LWVkaXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOztBQWlCdkYsTUFBTSxPQUFPLGtCQUFrQjs7Z0hBQWxCLGtCQUFrQjtpSEFBbEIsa0JBQWtCLGlCQUgzQixxQkFBcUIsYUFWckIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixXQUFXLGFBR1gscUJBQXFCO2lIQVFaLGtCQUFrQixZQWRwQjtZQUNQLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsV0FBVztTQUNaOzRGQVVVLGtCQUFrQjtrQkFmOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLFdBQVc7cUJBQ1o7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHFCQUFxQjtxQkFDdEI7b0JBQ0QsZUFBZSxFQUFFLEVBQ2hCO29CQUNELFlBQVksRUFBRTt3QkFDWixxQkFBcUI7cUJBQ3RCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTW9uYWNvRWRpdG9yTW9kdWxlIH0gZnJvbSAnbmd4LW1vbmFjby1lZGl0b3InO1xuaW1wb3J0IHsgRnNUZXh0RWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RleHQtZWRpdG9yL3RleHQtZWRpdG9yLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTW9uYWNvRWRpdG9yTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRnNUZXh0RWRpdG9yQ29tcG9uZW50LFxuICBdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRnNUZXh0RWRpdG9yQ29tcG9uZW50LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZzVGV4dEVkaXRvck1vZHVsZSB7XG5cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlZGl0b3IgfSBmcm9tICdtb25hY28tZWRpdG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBGc1RleHRFZGl0b3JDb25maWcgZXh0ZW5kcyBlZGl0b3IuSVN0YW5kYWxvbmVFZGl0b3JDb25zdHJ1Y3Rpb25PcHRpb25zIHtcbiAgYXV0b0hlaWdodD86IGJvb2xlYW5cbn1cbiJdfQ==
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter, forwardRef, Component, Inject, Input, Output, ViewChild, NgModule } from '@angular/core';
|
|
3
|
+
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
4
|
+
import * as i2 from '@angular/forms';
|
|
3
5
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
6
|
+
import * as i1 from 'ngx-monaco-editor';
|
|
4
7
|
import { EditorComponent, MonacoEditorModule } from 'ngx-monaco-editor';
|
|
5
8
|
|
|
6
9
|
class FsTextEditorComponent {
|
|
7
|
-
constructor(_element) {
|
|
10
|
+
constructor(_element, _document) {
|
|
8
11
|
this._element = _element;
|
|
12
|
+
this._document = _document;
|
|
9
13
|
this.config = {};
|
|
10
14
|
this.scrollable = false;
|
|
11
15
|
this.init = new EventEmitter();
|
|
@@ -25,11 +29,12 @@ class FsTextEditorComponent {
|
|
|
25
29
|
};
|
|
26
30
|
this.onChange = (_) => { };
|
|
27
31
|
this.onTouched = () => { };
|
|
32
|
+
this._window = this._document.defaultView;
|
|
28
33
|
this.LINE_HEIGHT = 18;
|
|
29
34
|
this._value = '';
|
|
30
35
|
}
|
|
31
36
|
get monaco() {
|
|
32
|
-
return
|
|
37
|
+
return this._window.monaco;
|
|
33
38
|
}
|
|
34
39
|
;
|
|
35
40
|
;
|
|
@@ -38,6 +43,10 @@ class FsTextEditorComponent {
|
|
|
38
43
|
this.config = Object.assign({}, this.defaultConfig, this.config);
|
|
39
44
|
}
|
|
40
45
|
}
|
|
46
|
+
ngOnDestroy() {
|
|
47
|
+
// must be there to cleanup https://github.com/microsoft/monaco-editor/issues/827
|
|
48
|
+
this._window.define = null;
|
|
49
|
+
}
|
|
41
50
|
get value() {
|
|
42
51
|
return this._value;
|
|
43
52
|
}
|
|
@@ -106,47 +115,68 @@ class FsTextEditorComponent {
|
|
|
106
115
|
}, true);
|
|
107
116
|
}
|
|
108
117
|
}
|
|
109
|
-
FsTextEditorComponent
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
]
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
};
|
|
118
|
+
FsTextEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTextEditorComponent, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
119
|
+
FsTextEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsTextEditorComponent, selector: "fs-text-editor", inputs: { config: "config", scrollable: "scrollable" }, outputs: { init: "init", blur: "blur" }, providers: [{
|
|
120
|
+
provide: NG_VALUE_ACCESSOR,
|
|
121
|
+
useExisting: forwardRef(() => FsTextEditorComponent),
|
|
122
|
+
multi: true
|
|
123
|
+
}], viewQueries: [{ propertyName: "_editorContainer", first: true, predicate: EditorComponent, descendants: true, static: true }], ngImport: i0, template: "<ngx-monaco-editor\n [ngModel]=\"value\"\n (ngModelChange)=\"changed($event)\"\n [options]=\"config\"\n (onInit)=\"onEditorInit($event)\">\n</ngx-monaco-editor>\n", styles: [":host ngx-monaco-editor{height:100%!important}:host ::ng-deep .decorationsOverviewRuler{display:none}:host ::ng-deep .margin,:host ::ng-deep .monaco-editor-background{top:0px!important}\n"], components: [{ type: i1.EditorComponent, selector: "ngx-monaco-editor", inputs: ["options", "model"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTextEditorComponent, decorators: [{
|
|
125
|
+
type: Component,
|
|
126
|
+
args: [{
|
|
127
|
+
selector: 'fs-text-editor',
|
|
128
|
+
templateUrl: 'text-editor.component.html',
|
|
129
|
+
styleUrls: ['text-editor.component.scss'],
|
|
130
|
+
providers: [{
|
|
131
|
+
provide: NG_VALUE_ACCESSOR,
|
|
132
|
+
useExisting: forwardRef(() => FsTextEditorComponent),
|
|
133
|
+
multi: true
|
|
134
|
+
}]
|
|
135
|
+
}]
|
|
136
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: Document, decorators: [{
|
|
137
|
+
type: Inject,
|
|
138
|
+
args: [DOCUMENT]
|
|
139
|
+
}] }]; }, propDecorators: { config: [{
|
|
140
|
+
type: Input
|
|
141
|
+
}], scrollable: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}], init: [{
|
|
144
|
+
type: Output
|
|
145
|
+
}], blur: [{
|
|
146
|
+
type: Output
|
|
147
|
+
}], _editorContainer: [{
|
|
148
|
+
type: ViewChild,
|
|
149
|
+
args: [EditorComponent, { static: true }]
|
|
150
|
+
}] } });
|
|
131
151
|
|
|
132
152
|
class FsTextEditorModule {
|
|
133
153
|
}
|
|
134
|
-
FsTextEditorModule
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
154
|
+
FsTextEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTextEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
155
|
+
FsTextEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTextEditorModule, declarations: [FsTextEditorComponent], imports: [CommonModule,
|
|
156
|
+
MonacoEditorModule,
|
|
157
|
+
FormsModule], exports: [FsTextEditorComponent] });
|
|
158
|
+
FsTextEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTextEditorModule, imports: [[
|
|
159
|
+
CommonModule,
|
|
160
|
+
MonacoEditorModule,
|
|
161
|
+
FormsModule,
|
|
162
|
+
]] });
|
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsTextEditorModule, decorators: [{
|
|
164
|
+
type: NgModule,
|
|
165
|
+
args: [{
|
|
166
|
+
imports: [
|
|
167
|
+
CommonModule,
|
|
168
|
+
MonacoEditorModule,
|
|
169
|
+
FormsModule,
|
|
170
|
+
],
|
|
171
|
+
exports: [
|
|
172
|
+
FsTextEditorComponent,
|
|
173
|
+
],
|
|
174
|
+
entryComponents: [],
|
|
175
|
+
declarations: [
|
|
176
|
+
FsTextEditorComponent,
|
|
177
|
+
]
|
|
178
|
+
}]
|
|
179
|
+
}] });
|
|
150
180
|
|
|
151
181
|
/*
|
|
152
182
|
* Public API Surface of fs-menu
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firestitch-text-editor.js","sources":["../../src/app/components/text-editor/text-editor.component.ts","../../src/app/fs-text-editor.module.ts","../../src/public_api.ts","../../src/firestitch-text-editor.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"firestitch-text-editor.js","sources":["../../src/app/components/text-editor/text-editor.component.ts","../../src/app/components/text-editor/text-editor.component.html","../../src/app/fs-text-editor.module.ts","../../src/public_api.ts","../../src/firestitch-text-editor.ts"],"sourcesContent":["import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnInit,\n Output,\n ViewChild,\n ElementRef,\n OnDestroy,\n Inject,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DOCUMENT } from '@angular/common';\n\nimport { EditorComponent } from 'ngx-monaco-editor';\nimport { editor } from 'monaco-editor';\n\nimport { FsTextEditorConfig } from '../../interfaces/config.interface';\n\n\n@Component({\n selector: 'fs-text-editor',\n templateUrl: 'text-editor.component.html',\n styleUrls: [ 'text-editor.component.scss' ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FsTextEditorComponent),\n multi: true\n }]\n})\nexport class FsTextEditorComponent implements OnInit, OnDestroy, ControlValueAccessor {\n\n @Input() public config: FsTextEditorConfig = {};\n @Input() public scrollable = false;\n\n @Output() public init = new EventEmitter();\n @Output() public blur = new EventEmitter();\n @ViewChild(EditorComponent, { static: true }) _editorContainer: EditorComponent;\n\n public defaultConfig: FsTextEditorConfig = {\n minimap: {\n enabled: false\n },\n theme: 'vs-dark',\n automaticLayout: false,\n scrollBeyondLastLine: false,\n autoHeight: true,\n scrollbar: {\n vertical: 'hidden'\n },\n hideCursorInOverviewRuler: true\n };\n\n public onChange = (_: any) => {};\n public onTouched = () => {};\n\n private _window: any = this._document.defaultView;\n\n public get monaco() {\n return this._window.monaco;\n };\n\n constructor(\n private _element: ElementRef,\n @Inject(DOCUMENT)\n private _document: Document,\n ) {};\n\n public readonly LINE_HEIGHT = 18;\n\n private _editorRef: editor.ICodeEditor;\n private _value = '';\n\n public ngOnInit() {\n\n if (this.config) {\n this.config = Object.assign({}, this.defaultConfig, this.config);\n }\n }\n\n public ngOnDestroy() {\n // must be there to cleanup https://github.com/microsoft/monaco-editor/issues/827\n this._window.define = null;\n }\n\n get value() {\n return this._value;\n }\n\n public onEditorInit(event) {\n // Timeout allows the content to fully load to and calculate height\n setTimeout(() => {\n this._editorRef = event;\n this._initEditor();\n this.init.next(event);\n\n if (!this.scrollable) {\n this._disableScroll();\n }\n });\n }\n\n public writeValue(value: any): void {\n this._value = value || '';\n }\n\n public changed(e) {\n if (this._value !== e) {\n this._value = e;\n this.onChange(e);\n }\n }\n\n public registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n private _initEditor() {\n if (this._editorRef && this.config.autoHeight) {\n this._updateEditorHeight();\n\n this._editorRef.onDidChangeModelContent((e) => {\n this._updateEditorHeight();\n });\n\n this._editorRef.onDidBlurEditorText(() => {\n this.blur.next();\n });\n }\n }\n\n private _updateEditorHeight() {\n\n const editorDomNode = this._editorRef.getDomNode();\n\n if (!editorDomNode) {\n return;\n }\n\n const container = editorDomNode.getElementsByClassName('view-lines')[0] as HTMLElement;\n const lineHeight = container.firstChild\n ? (container.firstChild as HTMLElement).offsetHeight\n : this.LINE_HEIGHT;\n\n const editorModel = this._editorRef.getModel();\n\n if (!editorModel) {\n return;\n }\n\n const nextHeight = this._editorRef.getModel().getLineCount() * lineHeight;\n\n // set the height and redo layout\n editorDomNode.style.height = nextHeight + 'px';\n this.updateLayout();\n }\n\n public updateLayout(): void {\n this._editorRef.layout();\n }\n\n private _disableScroll() {\n const node = this._editorRef.getDomNode();\n\n node.addEventListener('wheel', (e) => {\n e.stopPropagation();\n }, true);\n }\n}\n","<ngx-monaco-editor\n [ngModel]=\"value\"\n (ngModelChange)=\"changed($event)\"\n [options]=\"config\"\n (onInit)=\"onEditorInit($event)\">\n</ngx-monaco-editor>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { MonacoEditorModule } from 'ngx-monaco-editor';\nimport { FsTextEditorComponent } from './components/text-editor/text-editor.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MonacoEditorModule,\n FormsModule,\n ],\n exports: [\n FsTextEditorComponent,\n ],\n entryComponents: [\n ],\n declarations: [\n FsTextEditorComponent,\n ]\n})\nexport class FsTextEditorModule {\n\n}\n","/*\n * Public API Surface of fs-menu\n */\n\nimport { from } from 'rxjs';\n\nexport { FsTextEditorModule } from './app/fs-text-editor.module';\n\nexport { FsTextEditorConfig } from './app/interfaces/config.interface';\n\n\nexport { FsTextEditorComponent } from './app/components/text-editor/text-editor.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@firestitch/text-editor",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.2.1",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/Firestitch/ngx-text-editor"
|
|
@@ -17,17 +17,23 @@
|
|
|
17
17
|
"url": "https://github.com/Firestitch/ngx-text-editor/issues"
|
|
18
18
|
},
|
|
19
19
|
"peerDependencies": {
|
|
20
|
-
"ngx-monaco-editor": ">=
|
|
20
|
+
"ngx-monaco-editor": ">=12.0.0"
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"monaco-editor": "^0.33.0",
|
|
24
|
+
"ngx-monaco-editor": "^12.0.0",
|
|
25
|
+
"tslib": "^2.2.0"
|
|
21
26
|
},
|
|
22
27
|
"sideEffects": false,
|
|
28
|
+
"overrides": {
|
|
29
|
+
"ngx-monaco-editor": {
|
|
30
|
+
"monaco-editor": "$monaco-editor"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
23
33
|
"main": "bundles/firestitch-text-editor.umd.js",
|
|
24
34
|
"module": "fesm2015/firestitch-text-editor.js",
|
|
25
35
|
"es2015": "fesm2015/firestitch-text-editor.js",
|
|
26
36
|
"esm2015": "esm2015/firestitch-text-editor.js",
|
|
27
37
|
"fesm2015": "fesm2015/firestitch-text-editor.js",
|
|
28
|
-
"typings": "firestitch-text-editor.d.ts"
|
|
29
|
-
"metadata": "firestitch-text-editor.metadata.json",
|
|
30
|
-
"dependencies": {
|
|
31
|
-
"tslib": "^2.2.0"
|
|
32
|
-
}
|
|
38
|
+
"typings": "firestitch-text-editor.d.ts"
|
|
33
39
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"FsTextEditorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":9,"character":4},{"__symbolic":"reference","module":"ngx-monaco-editor","name":"MonacoEditorModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":11,"character":4}],"exports":[{"__symbolic":"reference","name":"FsTextEditorComponent"}],"entryComponents":[],"declarations":[{"__symbolic":"reference","name":"FsTextEditorComponent"}]}]}],"members":{}},"FsTextEditorConfig":{"__symbolic":"interface"},"FsTextEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"fs-text-editor","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":14,"character":13},"useExisting":{"__symbolic":"reference","name":"FsTextEditorComponent"},"multi":true}],"template":"<ngx-monaco-editor\n [ngModel]=\"value\"\n (ngModelChange)=\"changed($event)\"\n [options]=\"config\"\n (onInit)=\"onEditorInit($event)\">\n</ngx-monaco-editor>\n","styles":[":host ngx-monaco-editor{height:100%!important}:host ::ng-deep .decorationsOverviewRuler{display:none}:host ::ng-deep .margin,:host ::ng-deep .monaco-editor-background{top:0px!important}\n"]}]}],"members":{"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"scrollable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"init":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"_editorContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":26,"character":3},"arguments":[{"__symbolic":"reference","module":"ngx-monaco-editor","name":"EditorComponent","line":26,"character":13},{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":49,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"onEditorInit":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"changed":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"_initEditor":[{"__symbolic":"method"}],"_updateEditorHeight":[{"__symbolic":"method"}],"updateLayout":[{"__symbolic":"method"}],"_disableScroll":[{"__symbolic":"method"}]}}},"origins":{"FsTextEditorModule":"./app/fs-text-editor.module","FsTextEditorConfig":"./app/interfaces/config.interface","FsTextEditorComponent":"./app/components/text-editor/text-editor.component"},"importAs":"@firestitch/text-editor"}
|