@firestitch/text-editor 18.0.0 → 18.0.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 +4 -4
- package/app/modules/ngx-monaco-editor/base-editor.d.ts +1 -1
- package/app/modules/ngx-monaco-editor/diff-editor.component.d.ts +1 -1
- package/app/modules/ngx-monaco-editor/editor.component.d.ts +1 -1
- package/esm2020/app/components/text-editor/text-editor.component.mjs +147 -0
- package/esm2020/app/fs-text-editor.module.mjs +42 -0
- package/esm2020/app/modules/ngx-monaco-editor/base-editor.mjs +77 -0
- package/esm2020/app/modules/ngx-monaco-editor/diff-editor.component.mjs +91 -0
- package/esm2020/app/modules/ngx-monaco-editor/editor.component.mjs +118 -0
- package/esm2020/app/modules/ngx-monaco-editor/editor.module.mjs +40 -0
- package/fesm2015/firestitch-text-editor.mjs +502 -0
- package/fesm2015/firestitch-text-editor.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/firestitch-text-editor.mjs +99 -83
- package/fesm2020/firestitch-text-editor.mjs.map +1 -0
- package/package.json +13 -7
- package/esm2022/app/components/text-editor/text-editor.component.mjs +0 -151
- package/esm2022/app/fs-text-editor.module.mjs +0 -40
- package/esm2022/app/modules/ngx-monaco-editor/base-editor.mjs +0 -82
- package/esm2022/app/modules/ngx-monaco-editor/diff-editor.component.mjs +0 -80
- package/esm2022/app/modules/ngx-monaco-editor/editor.component.mjs +0 -108
- package/esm2022/app/modules/ngx-monaco-editor/editor.module.mjs +0 -38
- package/fesm2022/firestitch-text-editor.mjs.map +0 -1
- /package/{esm2022 → esm2020}/app/interfaces/config.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/app/modules/ngx-monaco-editor/config.mjs +0 -0
- /package/{esm2022 → esm2020}/app/modules/ngx-monaco-editor/types.mjs +0 -0
- /package/{esm2022 → esm2020}/firestitch-text-editor.mjs +0 -0
- /package/{esm2022 → esm2020}/public_api.mjs +0 -0
- /package/{index.d.ts → firestitch-text-editor.d.ts} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { EventEmitter,
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
2
|
import { ControlValueAccessor } from '@angular/forms';
|
|
3
3
|
import { FsTextEditorConfig } from '../../interfaces/config.interface';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class FsTextEditorComponent implements OnInit,
|
|
5
|
+
export declare class FsTextEditorComponent implements OnInit, ControlValueAccessor {
|
|
6
6
|
private _document;
|
|
7
7
|
readonly LINE_HEIGHT = 18;
|
|
8
8
|
config: FsTextEditorConfig;
|
|
@@ -17,7 +17,6 @@ export declare class FsTextEditorComponent implements OnInit, OnDestroy, Control
|
|
|
17
17
|
constructor(_document: Document);
|
|
18
18
|
get monaco(): any;
|
|
19
19
|
ngOnInit(): void;
|
|
20
|
-
ngOnDestroy(): void;
|
|
21
20
|
get value(): string;
|
|
22
21
|
onEditorInit(event: any): void;
|
|
23
22
|
writeValue(value: any): void;
|
|
@@ -28,6 +27,7 @@ export declare class FsTextEditorComponent implements OnInit, OnDestroy, Control
|
|
|
28
27
|
private _initEditor;
|
|
29
28
|
private _updateEditorHeight;
|
|
30
29
|
private _disableScroll;
|
|
30
|
+
private _cleanupAMDLoader;
|
|
31
31
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsTextEditorComponent, never>;
|
|
32
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FsTextEditorComponent, "fs-text-editor", never, { "config":
|
|
32
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FsTextEditorComponent, "fs-text-editor", never, { "config": "config"; "scrollable": "scrollable"; }, { "ready": "ready"; "blur": "blur"; }, never, never>;
|
|
33
33
|
}
|
|
@@ -15,5 +15,5 @@ export declare abstract class BaseEditor implements AfterViewInit, OnDestroy {
|
|
|
15
15
|
ngOnDestroy(): void;
|
|
16
16
|
protected abstract initMonaco(options: any): void;
|
|
17
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<BaseEditor, never>;
|
|
18
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BaseEditor, "ng-component", never, {}, { "onInit": "onInit"; }, never, never
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BaseEditor, "ng-component", never, {}, { "onInit": "onInit"; }, never, never>;
|
|
19
19
|
}
|
|
@@ -13,5 +13,5 @@ export declare class DiffEditorComponent extends BaseEditor {
|
|
|
13
13
|
constructor(editorConfig: NgxMonacoEditorConfig);
|
|
14
14
|
protected initMonaco(options: any): void;
|
|
15
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<DiffEditorComponent, never>;
|
|
16
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DiffEditorComponent, "ngx-monaco-diff-editor", never, { "options":
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DiffEditorComponent, "ngx-monaco-diff-editor", never, { "options": "options"; "originalModel": "originalModel"; "modifiedModel": "modifiedModel"; }, {}, never, never>;
|
|
17
17
|
}
|
|
@@ -19,5 +19,5 @@ export declare class EditorComponent extends BaseEditor implements ControlValueA
|
|
|
19
19
|
registerOnTouched(fn: any): void;
|
|
20
20
|
protected initMonaco(options: any): void;
|
|
21
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<EditorComponent, never>;
|
|
22
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<EditorComponent, "ngx-monaco-editor", never, { "options":
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EditorComponent, "ngx-monaco-editor", never, { "options": "options"; "model": "model"; }, {}, never, never>;
|
|
23
23
|
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { Component, EventEmitter, Inject, Input, Output, forwardRef, } from '@angular/core';
|
|
3
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../modules/ngx-monaco-editor/editor.component";
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
|
+
export class FsTextEditorComponent {
|
|
8
|
+
constructor(_document) {
|
|
9
|
+
this._document = _document;
|
|
10
|
+
this.LINE_HEIGHT = 18;
|
|
11
|
+
this.config = {};
|
|
12
|
+
this.scrollable = false;
|
|
13
|
+
this.ready = new EventEmitter();
|
|
14
|
+
this.blur = new EventEmitter();
|
|
15
|
+
this._value = '';
|
|
16
|
+
this._window = this._document.defaultView;
|
|
17
|
+
}
|
|
18
|
+
get monaco() {
|
|
19
|
+
return this._window.monaco;
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
if (this.config) {
|
|
23
|
+
this.config = {
|
|
24
|
+
minimap: {
|
|
25
|
+
enabled: false,
|
|
26
|
+
},
|
|
27
|
+
theme: 'vs-dark',
|
|
28
|
+
automaticLayout: !!this.config.height,
|
|
29
|
+
scrollBeyondLastLine: false,
|
|
30
|
+
scrollbar: {
|
|
31
|
+
vertical: this.config.height ? 'auto' : 'hidden',
|
|
32
|
+
},
|
|
33
|
+
hideCursorInOverviewRuler: true,
|
|
34
|
+
...this.config,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
get value() {
|
|
39
|
+
return this._value;
|
|
40
|
+
}
|
|
41
|
+
onEditorInit(event) {
|
|
42
|
+
// Timeout allows the content to fully load to and calculate height
|
|
43
|
+
setTimeout(() => {
|
|
44
|
+
this._editorRef = event;
|
|
45
|
+
this._initEditor();
|
|
46
|
+
this.ready.next(event);
|
|
47
|
+
if (!this.scrollable && !this.config.height) {
|
|
48
|
+
this._disableScroll();
|
|
49
|
+
}
|
|
50
|
+
if (this.config.ready) {
|
|
51
|
+
this.config.ready(this._editorRef);
|
|
52
|
+
}
|
|
53
|
+
this._cleanupAMDLoader();
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
writeValue(value) {
|
|
57
|
+
this._value = value || '';
|
|
58
|
+
}
|
|
59
|
+
changed(e) {
|
|
60
|
+
if (this._value !== e) {
|
|
61
|
+
this._value = e;
|
|
62
|
+
this.onChange(e);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
updateLayout() {
|
|
66
|
+
this._editorRef.layout();
|
|
67
|
+
}
|
|
68
|
+
registerOnChange(fn) {
|
|
69
|
+
this.onChange = fn;
|
|
70
|
+
}
|
|
71
|
+
registerOnTouched(fn) {
|
|
72
|
+
this.onTouched = fn;
|
|
73
|
+
}
|
|
74
|
+
_initEditor() {
|
|
75
|
+
if (this._editorRef && !this.config.height) {
|
|
76
|
+
this._updateEditorHeight();
|
|
77
|
+
this._editorRef.onDidChangeModelContent((e) => {
|
|
78
|
+
this._updateEditorHeight();
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
this._editorRef.onDidBlurEditorText(() => {
|
|
82
|
+
this.blur.next(null);
|
|
83
|
+
if (this.config.blur) {
|
|
84
|
+
this.config.blur();
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
this._editorRef.onDidFocusEditorText(() => {
|
|
88
|
+
if (this.config.focus) {
|
|
89
|
+
this.config.focus();
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
_updateEditorHeight() {
|
|
94
|
+
const editorDomNode = this._editorRef.getDomNode();
|
|
95
|
+
if (!editorDomNode) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const container = editorDomNode.getElementsByClassName('view-lines')[0];
|
|
99
|
+
const lineHeight = container.firstChild
|
|
100
|
+
? container.firstChild.offsetHeight
|
|
101
|
+
: this.LINE_HEIGHT;
|
|
102
|
+
const editorModel = this._editorRef.getModel();
|
|
103
|
+
if (!editorModel) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
const nextHeight = this._editorRef.getModel().getLineCount() * lineHeight;
|
|
107
|
+
// set the height and redo layout
|
|
108
|
+
editorDomNode.style.height = `${nextHeight}px`;
|
|
109
|
+
this.updateLayout();
|
|
110
|
+
}
|
|
111
|
+
_disableScroll() {
|
|
112
|
+
const node = this._editorRef.getDomNode();
|
|
113
|
+
node.addEventListener('wheel', (e) => {
|
|
114
|
+
e.stopPropagation();
|
|
115
|
+
}, true);
|
|
116
|
+
}
|
|
117
|
+
_cleanupAMDLoader() {
|
|
118
|
+
// must be there to cleanup https://github.com/microsoft/monaco-editor/issues/827
|
|
119
|
+
this._window.define = null;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
FsTextEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsTextEditorComponent, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
123
|
+
FsTextEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FsTextEditorComponent, selector: "fs-text-editor", inputs: { config: "config", scrollable: "scrollable" }, outputs: { ready: "ready", blur: "blur" }, providers: [{
|
|
124
|
+
provide: NG_VALUE_ACCESSOR,
|
|
125
|
+
useExisting: forwardRef(() => FsTextEditorComponent),
|
|
126
|
+
multi: true,
|
|
127
|
+
}], ngImport: i0, template: "<ngx-monaco-editor\n [style.height]=\"config.height\"\n [ngModel]=\"value\"\n (ngModelChange)=\"changed($event)\"\n [options]=\"config\"\n (onInit)=\"onEditorInit($event)\">\n</ngx-monaco-editor>\n", styles: ["ngx-monaco-editor{display:block}\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"] }] });
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsTextEditorComponent, decorators: [{
|
|
129
|
+
type: Component,
|
|
130
|
+
args: [{ selector: 'fs-text-editor', providers: [{
|
|
131
|
+
provide: NG_VALUE_ACCESSOR,
|
|
132
|
+
useExisting: forwardRef(() => FsTextEditorComponent),
|
|
133
|
+
multi: true,
|
|
134
|
+
}], template: "<ngx-monaco-editor\n [style.height]=\"config.height\"\n [ngModel]=\"value\"\n (ngModelChange)=\"changed($event)\"\n [options]=\"config\"\n (onInit)=\"onEditorInit($event)\">\n</ngx-monaco-editor>\n", styles: ["ngx-monaco-editor{display:block}\n"] }]
|
|
135
|
+
}], ctorParameters: function () { return [{ type: Document, decorators: [{
|
|
136
|
+
type: Inject,
|
|
137
|
+
args: [DOCUMENT]
|
|
138
|
+
}] }]; }, propDecorators: { config: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], scrollable: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], ready: [{
|
|
143
|
+
type: Output
|
|
144
|
+
}], blur: [{
|
|
145
|
+
type: Output
|
|
146
|
+
}] } });
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3RleHQtZWRpdG9yL3RleHQtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy90ZXh0LWVkaXRvci90ZXh0LWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWlCekUsTUFBTSxPQUFPLHFCQUFxQjtJQWlCaEMsWUFDNEIsU0FBbUI7UUFBbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQWhCL0IsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFakIsV0FBTSxHQUF1QixFQUFFLENBQUM7UUFDaEMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVsQixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQixTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU1uQyxXQUFNLEdBQUcsRUFBRSxDQUFDO1FBTWxCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsTUFBTSxHQUFHO2dCQUNaLE9BQU8sRUFBRTtvQkFDUCxPQUFPLEVBQUUsS0FBSztpQkFDZjtnQkFDRCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsZUFBZSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07Z0JBQ3JDLG9CQUFvQixFQUFFLEtBQUs7Z0JBQzNCLFNBQVMsRUFBRTtvQkFDVCxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUTtpQkFDakQ7Z0JBQ0QseUJBQXlCLEVBQUUsSUFBSTtnQkFDL0IsR0FBRyxJQUFJLENBQUMsTUFBTTthQUNmLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFLO1FBQ3ZCLG1FQUFtRTtRQUNuRSxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXZCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUN2QjtZQUVELElBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNwQztZQUVELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFVO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sT0FBTyxDQUFDLENBQUM7UUFDZCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUFPO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxFQUFPO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQzFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBRTNCLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDNUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JCLElBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDcEI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsR0FBRyxFQUFFO1lBQ3hDLElBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDckI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVuRCxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ2xCLE9BQU87U0FDUjtRQUVELE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQWdCLENBQUM7UUFDdkYsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFVBQVU7WUFDckMsQ0FBQyxDQUFFLFNBQVMsQ0FBQyxVQUEwQixDQUFDLFlBQVk7WUFDcEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFckIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUUvQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE9BQU87U0FDUjtRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsWUFBWSxFQUFFLEdBQUcsVUFBVSxDQUFDO1FBRTFFLGlDQUFpQztRQUNqQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLFVBQVksSUFBSSxDQUFDO1FBQ2pELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU8sY0FBYztRQUNwQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRTFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNuQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixpRkFBaUY7UUFDakYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7O2tIQXRKVSxxQkFBcUIsa0JBa0J0QixRQUFRO3NHQWxCUCxxQkFBcUIsNElBTnJCLENBQUM7WUFDVixPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7WUFDcEQsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLDBCQ3pCSiw0TUFPQTsyRkRvQmEscUJBQXFCO2tCQVZqQyxTQUFTOytCQUNFLGdCQUFnQixhQUdmLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7NEJBQ3BELEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUM7MERBb0JxQyxRQUFROzBCQUE1QyxNQUFNOzJCQUFDLFFBQVE7NENBZEYsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUVXLEtBQUs7c0JBQXJCLE1BQU07Z0JBQ1UsSUFBSTtzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IGVkaXRvciB9IGZyb20gJ21vbmFjby1lZGl0b3InO1xuXG5pbXBvcnQgeyBGc1RleHRFZGl0b3JDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLXRleHQtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZzVGV4dEVkaXRvckNvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWUsXG4gIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBGc1RleHRFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICBwdWJsaWMgcmVhZG9ubHkgTElORV9IRUlHSFQgPSAxODtcblxuICBASW5wdXQoKSBwdWJsaWMgY29uZmlnOiBGc1RleHRFZGl0b3JDb25maWcgPSB7fTtcbiAgQElucHV0KCkgcHVibGljIHNjcm9sbGFibGUgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcHVibGljIHJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIG9uQ2hhbmdlOiAoXzogYW55KSA9PiB2b2lkO1xuICBwdWJsaWMgb25Ub3VjaGVkOiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgX2VkaXRvclJlZjogZWRpdG9yLklDb2RlRWRpdG9yO1xuICBwcml2YXRlIF92YWx1ZSA9ICcnO1xuICBwcml2YXRlIF93aW5kb3c6IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogRG9jdW1lbnQsXG4gICkge1xuICAgIHRoaXMuX3dpbmRvdyA9IHRoaXMuX2RvY3VtZW50LmRlZmF1bHRWaWV3O1xuICB9XG5cbiAgcHVibGljIGdldCBtb25hY28oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dpbmRvdy5tb25hY287XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnKSB7XG4gICAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgICAgbWluaW1hcDoge1xuICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICB0aGVtZTogJ3ZzLWRhcmsnLFxuICAgICAgICBhdXRvbWF0aWNMYXlvdXQ6ICEhdGhpcy5jb25maWcuaGVpZ2h0LFxuICAgICAgICBzY3JvbGxCZXlvbmRMYXN0TGluZTogZmFsc2UsXG4gICAgICAgIHNjcm9sbGJhcjoge1xuICAgICAgICAgIHZlcnRpY2FsOiB0aGlzLmNvbmZpZy5oZWlnaHQgPyAnYXV0bycgOiAnaGlkZGVuJyxcbiAgICAgICAgfSxcbiAgICAgICAgaGlkZUN1cnNvckluT3ZlcnZpZXdSdWxlcjogdHJ1ZSxcbiAgICAgICAgLi4udGhpcy5jb25maWcsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgcHVibGljIG9uRWRpdG9ySW5pdChldmVudCkge1xuICAgIC8vIFRpbWVvdXQgYWxsb3dzIHRoZSBjb250ZW50IHRvIGZ1bGx5IGxvYWQgdG8gYW5kIGNhbGN1bGF0ZSBoZWlnaHRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2VkaXRvclJlZiA9IGV2ZW50O1xuICAgICAgdGhpcy5faW5pdEVkaXRvcigpO1xuICAgICAgdGhpcy5yZWFkeS5uZXh0KGV2ZW50KTtcblxuICAgICAgaWYgKCF0aGlzLnNjcm9sbGFibGUgJiYgIXRoaXMuY29uZmlnLmhlaWdodCkge1xuICAgICAgICB0aGlzLl9kaXNhYmxlU2Nyb2xsKCk7XG4gICAgICB9XG5cbiAgICAgIGlmKHRoaXMuY29uZmlnLnJlYWR5KSB7XG4gICAgICAgIHRoaXMuY29uZmlnLnJlYWR5KHRoaXMuX2VkaXRvclJlZik7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2NsZWFudXBBTURMb2FkZXIoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlIHx8ICcnO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZWQoZSkge1xuICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gZSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSBlO1xuICAgICAgdGhpcy5vbkNoYW5nZShlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlTGF5b3V0KCk6IHZvaWQge1xuICAgIHRoaXMuX2VkaXRvclJlZi5sYXlvdXQoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwcml2YXRlIF9pbml0RWRpdG9yKCkge1xuICAgIGlmICh0aGlzLl9lZGl0b3JSZWYgJiYgIXRoaXMuY29uZmlnLmhlaWdodCkge1xuICAgICAgdGhpcy5fdXBkYXRlRWRpdG9ySGVpZ2h0KCk7XG5cbiAgICAgIHRoaXMuX2VkaXRvclJlZi5vbkRpZENoYW5nZU1vZGVsQ29udGVudCgoZSkgPT4ge1xuICAgICAgICB0aGlzLl91cGRhdGVFZGl0b3JIZWlnaHQoKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuX2VkaXRvclJlZi5vbkRpZEJsdXJFZGl0b3JUZXh0KCgpID0+IHtcbiAgICAgIHRoaXMuYmx1ci5uZXh0KG51bGwpO1xuICAgICAgaWYodGhpcy5jb25maWcuYmx1cikge1xuICAgICAgICB0aGlzLmNvbmZpZy5ibHVyKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLl9lZGl0b3JSZWYub25EaWRGb2N1c0VkaXRvclRleHQoKCkgPT4ge1xuICAgICAgaWYodGhpcy5jb25maWcuZm9jdXMpIHtcbiAgICAgICAgdGhpcy5jb25maWcuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUVkaXRvckhlaWdodCgpIHtcbiAgICBjb25zdCBlZGl0b3JEb21Ob2RlID0gdGhpcy5fZWRpdG9yUmVmLmdldERvbU5vZGUoKTtcblxuICAgIGlmICghZWRpdG9yRG9tTm9kZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGVkaXRvckRvbU5vZGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndmlldy1saW5lcycpWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IGxpbmVIZWlnaHQgPSBjb250YWluZXIuZmlyc3RDaGlsZFxuICAgICAgPyAoY29udGFpbmVyLmZpcnN0Q2hpbGQgYXMgSFRNTEVsZW1lbnQpLm9mZnNldEhlaWdodFxuICAgICAgOiB0aGlzLkxJTkVfSEVJR0hUO1xuXG4gICAgY29uc3QgZWRpdG9yTW9kZWwgPSB0aGlzLl9lZGl0b3JSZWYuZ2V0TW9kZWwoKTtcblxuICAgIGlmICghZWRpdG9yTW9kZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0SGVpZ2h0ID0gdGhpcy5fZWRpdG9yUmVmLmdldE1vZGVsKCkuZ2V0TGluZUNvdW50KCkgKiBsaW5lSGVpZ2h0O1xuXG4gICAgLy8gc2V0IHRoZSBoZWlnaHQgYW5kIHJlZG8gbGF5b3V0XG4gICAgZWRpdG9yRG9tTm9kZS5zdHlsZS5oZWlnaHQgPSBgJHtuZXh0SGVpZ2h0ICB9cHhgO1xuICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7XG4gIH1cblxuICBwcml2YXRlIF9kaXNhYmxlU2Nyb2xsKCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLl9lZGl0b3JSZWYuZ2V0RG9tTm9kZSgpO1xuXG4gICAgbm9kZS5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcsIChlKSA9PiB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0sIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2xlYW51cEFNRExvYWRlcigpOiB2b2lkIHtcbiAgICAvLyBtdXN0IGJlIHRoZXJlIHRvIGNsZWFudXAgaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9tb25hY28tZWRpdG9yL2lzc3Vlcy84MjdcbiAgICB0aGlzLl93aW5kb3cuZGVmaW5lID0gbnVsbDtcbiAgfVxufVxuIiwiPG5neC1tb25hY28tZWRpdG9yXG4gIFtzdHlsZS5oZWlnaHRdPVwiY29uZmlnLmhlaWdodFwiXG4gIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlZCgkZXZlbnQpXCJcbiAgW29wdGlvbnNdPVwiY29uZmlnXCJcbiAgKG9uSW5pdCk9XCJvbkVkaXRvckluaXQoJGV2ZW50KVwiPlxuPC9uZ3gtbW9uYWNvLWVkaXRvcj5cbiJdfQ==
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { FsTextEditorComponent } from './components/text-editor/text-editor.component';
|
|
5
|
+
import { MonacoEditorModule } from './modules/ngx-monaco-editor/editor.module';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class FsTextEditorModule {
|
|
8
|
+
static forRoot(config) {
|
|
9
|
+
return {
|
|
10
|
+
ngModule: FsTextEditorModule,
|
|
11
|
+
providers: [
|
|
12
|
+
MonacoEditorModule.forRoot(config).providers,
|
|
13
|
+
],
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
FsTextEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsTextEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18
|
+
FsTextEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsTextEditorModule, declarations: [FsTextEditorComponent], imports: [CommonModule,
|
|
19
|
+
MonacoEditorModule,
|
|
20
|
+
FormsModule], exports: [FsTextEditorComponent] });
|
|
21
|
+
FsTextEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsTextEditorModule, imports: [[
|
|
22
|
+
CommonModule,
|
|
23
|
+
MonacoEditorModule,
|
|
24
|
+
FormsModule,
|
|
25
|
+
]] });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsTextEditorModule, decorators: [{
|
|
27
|
+
type: NgModule,
|
|
28
|
+
args: [{
|
|
29
|
+
imports: [
|
|
30
|
+
CommonModule,
|
|
31
|
+
MonacoEditorModule,
|
|
32
|
+
FormsModule,
|
|
33
|
+
],
|
|
34
|
+
exports: [
|
|
35
|
+
FsTextEditorComponent,
|
|
36
|
+
],
|
|
37
|
+
declarations: [
|
|
38
|
+
FsTextEditorComponent,
|
|
39
|
+
]
|
|
40
|
+
}]
|
|
41
|
+
}] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtdGV4dC1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9mcy10ZXh0LWVkaXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7QUFpQi9FLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUE4QjtRQUMzQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1Qsa0JBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVM7YUFDN0M7U0FDRixDQUFDO0lBQ0osQ0FBQzs7K0dBUlUsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBSHZCLHFCQUFxQixhQVJyQixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLFdBQVcsYUFHWCxxQkFBcUI7Z0hBTWhCLGtCQUFrQixZQVpsQjtZQUNMLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsV0FBVztTQUNkOzJGQVFRLGtCQUFrQjtrQkFiOUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLFdBQVc7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLHFCQUFxQjtxQkFDeEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLHFCQUFxQjtxQkFDeEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGc1RleHRFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dC1lZGl0b3IvdGV4dC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IE1vbmFjb0VkaXRvck1vZHVsZSB9IGZyb20gJy4vbW9kdWxlcy9uZ3gtbW9uYWNvLWVkaXRvci9lZGl0b3IubW9kdWxlJztcbmltcG9ydCB7IE5neE1vbmFjb0VkaXRvckNvbmZpZyB9IGZyb20gJy4vbW9kdWxlcy9uZ3gtbW9uYWNvLWVkaXRvci9jb25maWcnO1xuXG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1vbmFjb0VkaXRvck1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEZzVGV4dEVkaXRvckNvbXBvbmVudCxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBGc1RleHRFZGl0b3JDb21wb25lbnQsXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGc1RleHRFZGl0b3JNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBOZ3hNb25hY29FZGl0b3JDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEZzVGV4dEVkaXRvck1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRnNUZXh0RWRpdG9yTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIE1vbmFjb0VkaXRvck1vZHVsZS5mb3JSb290KGNvbmZpZykucHJvdmlkZXJzLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Component, ElementRef, EventEmitter, Inject, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { NGX_MONACO_EDITOR_CONFIG } from './config';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
let loadedMonaco = false;
|
|
5
|
+
let loadPromise;
|
|
6
|
+
export class BaseEditor {
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.config = config;
|
|
9
|
+
this.onInit = new EventEmitter();
|
|
10
|
+
}
|
|
11
|
+
ngAfterViewInit() {
|
|
12
|
+
if (loadedMonaco) {
|
|
13
|
+
// Wait until monaco editor is available
|
|
14
|
+
loadPromise.then(() => {
|
|
15
|
+
this.initMonaco(this._options);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
loadedMonaco = true;
|
|
20
|
+
loadPromise = new Promise((resolve) => {
|
|
21
|
+
const baseUrl = `${this.config.baseUrl || './assets'}/monaco-editor/min/vs`;
|
|
22
|
+
if (typeof (window.monaco) === 'object') {
|
|
23
|
+
resolve();
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const onGotAmdLoader = () => {
|
|
27
|
+
// Load monaco
|
|
28
|
+
window.require.config({ paths: { vs: `${baseUrl}` } });
|
|
29
|
+
window.require(['vs/editor/editor.main'], () => {
|
|
30
|
+
if (typeof this.config.onMonacoLoad === 'function') {
|
|
31
|
+
this.config.onMonacoLoad();
|
|
32
|
+
}
|
|
33
|
+
this.initMonaco(this._options);
|
|
34
|
+
resolve();
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
// Load AMD loader if necessary
|
|
38
|
+
if (!window.require) {
|
|
39
|
+
const loaderScript = document.createElement('script');
|
|
40
|
+
loaderScript.type = 'text/javascript';
|
|
41
|
+
loaderScript.src = `${baseUrl}/loader.js`;
|
|
42
|
+
loaderScript.addEventListener('load', onGotAmdLoader);
|
|
43
|
+
document.body.appendChild(loaderScript);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
onGotAmdLoader();
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
ngOnDestroy() {
|
|
52
|
+
if (this._windowResizeSubscription) {
|
|
53
|
+
this._windowResizeSubscription.unsubscribe();
|
|
54
|
+
}
|
|
55
|
+
if (this._editor) {
|
|
56
|
+
this._editor.dispose();
|
|
57
|
+
this._editor = undefined;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
BaseEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: BaseEditor, deps: [{ token: NGX_MONACO_EDITOR_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
+
BaseEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: BaseEditor, selector: "ng-component", outputs: { onInit: "onInit" }, viewQueries: [{ propertyName: "_editorContainer", first: true, predicate: ["editorContainer"], descendants: true, static: true }], ngImport: i0, template: '', isInline: true });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: BaseEditor, decorators: [{
|
|
64
|
+
type: Component,
|
|
65
|
+
args: [{
|
|
66
|
+
template: '',
|
|
67
|
+
}]
|
|
68
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
69
|
+
type: Inject,
|
|
70
|
+
args: [NGX_MONACO_EDITOR_CONFIG]
|
|
71
|
+
}] }]; }, propDecorators: { _editorContainer: [{
|
|
72
|
+
type: ViewChild,
|
|
73
|
+
args: ['editorContainer', { static: true }]
|
|
74
|
+
}], onInit: [{
|
|
75
|
+
type: Output
|
|
76
|
+
}] } });
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvbmd4LW1vbmFjby1lZGl0b3IvYmFzZS1lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQWEsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU16SCxPQUFPLEVBQUUsd0JBQXdCLEVBQXlCLE1BQU0sVUFBVSxDQUFDOztBQUUzRSxJQUFJLFlBQVksR0FBRyxLQUFLLENBQUM7QUFDekIsSUFBSSxXQUEwQixDQUFDO0FBSy9CLE1BQU0sT0FBZ0IsVUFBVTtJQVU5QixZQUF3RCxNQUE2QjtRQUE3QixXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQU5wRSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQU1zQyxDQUFDO0lBRWxGLGVBQWU7UUFDcEIsSUFBSSxZQUFZLEVBQUU7WUFDaEIsd0NBQXdDO1lBQ3hDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQVksRUFBRSxFQUFFO2dCQUMvQyxNQUFNLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLFVBQVksdUJBQXVCLENBQUM7Z0JBQzlFLElBQUksT0FBTyxDQUFPLE1BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxRQUFRLEVBQUU7b0JBQzlDLE9BQU8sRUFBRSxDQUFDO29CQUVWLE9BQU87aUJBQ1I7Z0JBQ0QsTUFBTSxjQUFjLEdBQVEsR0FBRyxFQUFFO29CQUMvQixjQUFjO29CQUNSLE1BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ3hELE1BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLEdBQUcsRUFBRTt3QkFDcEQsSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxLQUFLLFVBQVUsRUFBRTs0QkFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQzt5QkFDNUI7d0JBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQy9CLE9BQU8sRUFBRSxDQUFDO29CQUNaLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQztnQkFFRiwrQkFBK0I7Z0JBQy9CLElBQUksQ0FBTyxNQUFPLENBQUMsT0FBTyxFQUFFO29CQUMxQixNQUFNLFlBQVksR0FBc0IsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDekUsWUFBWSxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztvQkFDdEMsWUFBWSxDQUFDLEdBQUcsR0FBRyxHQUFHLE9BQU8sWUFBWSxDQUFDO29CQUMxQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO29CQUN0RCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDekM7cUJBQU07b0JBQ0wsY0FBYyxFQUFFLENBQUM7aUJBQ2xCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQ2xDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM5QztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs7dUdBN0RtQixVQUFVLGtCQVVWLHdCQUF3QjsyRkFWeEIsVUFBVSxzTkFGcEIsRUFBRTsyRkFFUSxVQUFVO2tCQUgvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiOzswQkFXYyxNQUFNOzJCQUFDLHdCQUF3Qjs0Q0FSVyxnQkFBZ0I7c0JBQXRFLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUU3QixNQUFNO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT25EZXN0cm95LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgZWRpdG9yIH0gZnJvbSAnbW9uYWNvLWVkaXRvcic7XG5cbmltcG9ydCB7IE5HWF9NT05BQ09fRURJVE9SX0NPTkZJRywgTmd4TW9uYWNvRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi9jb25maWcnO1xuXG5sZXQgbG9hZGVkTW9uYWNvID0gZmFsc2U7XG5sZXQgbG9hZFByb21pc2U6IFByb21pc2U8dm9pZD47XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VFZGl0b3IgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvckNvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyBfZWRpdG9yQ29udGFpbmVyOiBFbGVtZW50UmVmO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25Jbml0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHJvdGVjdGVkIF9lZGl0b3I6IGVkaXRvci5JQ29kZUVkaXRvcjtcbiAgcHJvdGVjdGVkIF9vcHRpb25zOiBhbnk7XG4gIHByb3RlY3RlZCBfd2luZG93UmVzaXplU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChOR1hfTU9OQUNPX0VESVRPUl9DT05GSUcpIHByb3RlY3RlZCBjb25maWc6IE5neE1vbmFjb0VkaXRvckNvbmZpZykge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmIChsb2FkZWRNb25hY28pIHtcbiAgICAgIC8vIFdhaXQgdW50aWwgbW9uYWNvIGVkaXRvciBpcyBhdmFpbGFibGVcbiAgICAgIGxvYWRQcm9taXNlLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmluaXRNb25hY28odGhpcy5fb3B0aW9ucyk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9hZGVkTW9uYWNvID0gdHJ1ZTtcbiAgICAgIGxvYWRQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmU6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBiYXNlVXJsID0gYCR7dGhpcy5jb25maWcuYmFzZVVybCB8fCAnLi9hc3NldHMnICB9L21vbmFjby1lZGl0b3IvbWluL3ZzYDtcbiAgICAgICAgaWYgKHR5cGVvZiAoKDxhbnk+d2luZG93KS5tb25hY28pID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIHJlc29sdmUoKTtcblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvbkdvdEFtZExvYWRlcjogYW55ID0gKCkgPT4ge1xuICAgICAgICAgIC8vIExvYWQgbW9uYWNvXG4gICAgICAgICAgKDxhbnk+d2luZG93KS5yZXF1aXJlLmNvbmZpZyh7IHBhdGhzOiB7IHZzOiBgJHtiYXNlVXJsfWAgfSB9KTtcbiAgICAgICAgICAoPGFueT53aW5kb3cpLnJlcXVpcmUoWyd2cy9lZGl0b3IvZWRpdG9yLm1haW4nXSwgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZy5vbk1vbmFjb0xvYWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgdGhpcy5jb25maWcub25Nb25hY29Mb2FkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmluaXRNb25hY28odGhpcy5fb3B0aW9ucyk7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gTG9hZCBBTUQgbG9hZGVyIGlmIG5lY2Vzc2FyeVxuICAgICAgICBpZiAoISg8YW55PndpbmRvdykucmVxdWlyZSkge1xuICAgICAgICAgIGNvbnN0IGxvYWRlclNjcmlwdDogSFRNTFNjcmlwdEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgICBsb2FkZXJTY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICAgIGxvYWRlclNjcmlwdC5zcmMgPSBgJHtiYXNlVXJsfS9sb2FkZXIuanNgO1xuICAgICAgICAgIGxvYWRlclNjcmlwdC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgb25Hb3RBbWRMb2FkZXIpO1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobG9hZGVyU2NyaXB0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvbkdvdEFtZExvYWRlcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuX3dpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9lZGl0b3IpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5kaXNwb3NlKCk7XG4gICAgICB0aGlzLl9lZGl0b3IgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGluaXRNb25hY28ob3B0aW9uczogYW55KTogdm9pZDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Component, Inject, Input } from '@angular/core';
|
|
2
|
+
import { fromEvent } from 'rxjs';
|
|
3
|
+
import { BaseEditor } from './base-editor';
|
|
4
|
+
import { NGX_MONACO_EDITOR_CONFIG } from './config';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class DiffEditorComponent extends BaseEditor {
|
|
7
|
+
constructor(editorConfig) {
|
|
8
|
+
super(editorConfig);
|
|
9
|
+
this.editorConfig = editorConfig;
|
|
10
|
+
}
|
|
11
|
+
set options(options) {
|
|
12
|
+
this._options = { ...this.config.defaultOptions, ...options };
|
|
13
|
+
if (this._editor) {
|
|
14
|
+
this._editor.dispose();
|
|
15
|
+
this.initMonaco(options);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
get options() {
|
|
19
|
+
return this._options;
|
|
20
|
+
}
|
|
21
|
+
set originalModel(model) {
|
|
22
|
+
this._originalModel = model;
|
|
23
|
+
if (this._editor) {
|
|
24
|
+
this._editor.dispose();
|
|
25
|
+
this.initMonaco(this.options);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
set modifiedModel(model) {
|
|
29
|
+
this._modifiedModel = model;
|
|
30
|
+
if (this._editor) {
|
|
31
|
+
this._editor.dispose();
|
|
32
|
+
this.initMonaco(this.options);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
initMonaco(options) {
|
|
36
|
+
if (!this._originalModel || !this._modifiedModel) {
|
|
37
|
+
throw new Error('originalModel or modifiedModel not found for ngx-monaco-diff-editor');
|
|
38
|
+
}
|
|
39
|
+
this._originalModel.language = this._originalModel.language || options.language;
|
|
40
|
+
this._modifiedModel.language = this._modifiedModel.language || options.language;
|
|
41
|
+
const originalModel = monaco.editor.createModel(this._originalModel.code, this._originalModel.language);
|
|
42
|
+
const modifiedModel = monaco.editor.createModel(this._modifiedModel.code, this._modifiedModel.language);
|
|
43
|
+
this._editorContainer.nativeElement.innerHTML = '';
|
|
44
|
+
const theme = options.theme;
|
|
45
|
+
this._editor = monaco.editor.createDiffEditor(this._editorContainer.nativeElement, options);
|
|
46
|
+
options.theme = theme;
|
|
47
|
+
this._editor.setModel({
|
|
48
|
+
original: originalModel,
|
|
49
|
+
modified: modifiedModel,
|
|
50
|
+
});
|
|
51
|
+
// refresh layout on resize event.
|
|
52
|
+
if (this._windowResizeSubscription) {
|
|
53
|
+
this._windowResizeSubscription.unsubscribe();
|
|
54
|
+
}
|
|
55
|
+
this._windowResizeSubscription = fromEvent(window, 'resize').subscribe(() => this._editor.layout());
|
|
56
|
+
this.onInit.emit(this._editor);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
DiffEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DiffEditorComponent, deps: [{ token: NGX_MONACO_EDITOR_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
60
|
+
DiffEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: DiffEditorComponent, selector: "ngx-monaco-diff-editor", inputs: { options: "options", originalModel: "originalModel", modifiedModel: "modifiedModel" }, usesInheritance: true, ngImport: i0, template: '<div class="editor-container" #editorContainer></div>', isInline: true, styles: [":host{display:block;height:200px}.editor-container{width:100%;height:100%}\n"] });
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DiffEditorComponent, decorators: [{
|
|
62
|
+
type: Component,
|
|
63
|
+
args: [{
|
|
64
|
+
selector: 'ngx-monaco-diff-editor',
|
|
65
|
+
template: '<div class="editor-container" #editorContainer></div>',
|
|
66
|
+
styles: [`
|
|
67
|
+
:host {
|
|
68
|
+
display: block;
|
|
69
|
+
height: 200px;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.editor-container {
|
|
73
|
+
width: 100%;
|
|
74
|
+
height: 100%;
|
|
75
|
+
}
|
|
76
|
+
`],
|
|
77
|
+
}]
|
|
78
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
79
|
+
type: Inject,
|
|
80
|
+
args: [NGX_MONACO_EDITOR_CONFIG]
|
|
81
|
+
}] }]; }, propDecorators: { options: [{
|
|
82
|
+
type: Input,
|
|
83
|
+
args: ['options']
|
|
84
|
+
}], originalModel: [{
|
|
85
|
+
type: Input,
|
|
86
|
+
args: ['originalModel']
|
|
87
|
+
}], modifiedModel: [{
|
|
88
|
+
type: Input,
|
|
89
|
+
args: ['modifiedModel']
|
|
90
|
+
}] } });
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZi1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL25neC1tb25hY28tZWRpdG9yL2RpZmYtZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBeUIsTUFBTSxVQUFVLENBQUM7O0FBb0IzRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsVUFBVTtJQW9DakQsWUFBc0QsWUFBbUM7UUFDdkYsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRGdDLGlCQUFZLEdBQVosWUFBWSxDQUF1QjtJQUV6RixDQUFDO0lBakNELElBQ0ksT0FBTyxDQUFDLE9BQVk7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUM5RCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDSSxhQUFhLENBQUMsS0FBc0I7UUFDdEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMs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ZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQmFzZUVkaXRvciB9IGZyb20gJy4vYmFzZS1lZGl0b3InO1xuaW1wb3J0IHsgTkdYX01PTkFDT19FRElUT1JfQ09ORklHLCBOZ3hNb25hY29FZGl0b3JDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBEaWZmRWRpdG9yTW9kZWwgfSBmcm9tICcuL3R5cGVzJztcblxuZGVjbGFyZSBsZXQgbW9uYWNvOiBhbnk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1tb25hY28tZGlmZi1lZGl0b3InLFxuICB0ZW1wbGF0ZTogJzxkaXYgY2xhc3M9XCJlZGl0b3ItY29udGFpbmVyXCIgI2VkaXRvckNvbnRhaW5lcj48L2Rpdj4nLFxuICBzdHlsZXM6IFtgXG4gICAgOmhvc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIH1cblxuICAgIC5lZGl0b3ItY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgYF0sXG59KVxuZXhwb3J0IGNsYXNzIERpZmZFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBCYXNlRWRpdG9yIHtcblxuICBfb3JpZ2luYWxNb2RlbDogRGlmZkVkaXRvck1vZGVsO1xuICBfbW9kaWZpZWRNb2RlbDogRGlmZkVkaXRvck1vZGVsO1xuXG4gIEBJbnB1dCgnb3B0aW9ucycpXG4gIHNldCBvcHRpb25zKG9wdGlvbnM6IGFueSkge1xuICAgIHRoaXMuX29wdGlvbnMgPSB7IC4uLnRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zLCAuLi5vcHRpb25zIH07XG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuaW5pdE1vbmFjbyhvcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICBnZXQgb3B0aW9ucygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xuICB9XG5cbiAgQElucHV0KCdvcmlnaW5hbE1vZGVsJylcbiAgc2V0IG9yaWdpbmFsTW9kZWwobW9kZWw6IERpZmZFZGl0b3JNb2RlbCkge1xuICAgIHRoaXMuX29yaWdpbmFsTW9kZWwgPSBtb2RlbDtcbiAgICBpZiAodGhpcy5fZWRpdG9yKSB7XG4gICAgICB0aGlzLl9lZGl0b3IuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5pbml0TW9uYWNvKHRoaXMub3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCdtb2RpZmllZE1vZGVsJylcbiAgc2V0IG1vZGlmaWVkTW9kZWwobW9kZWw6IERpZmZFZGl0b3JNb2RlbCkge1xuICAgIHRoaXMuX21vZGlmaWVkTW9kZWwgPSBtb2RlbDtcbiAgICBpZiAodGhpcy5fZWRpdG9yKSB7XG4gICAgICB0aGlzLl9lZGl0b3IuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5pbml0TW9uYWNvKHRoaXMub3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChOR1hfTU9OQUNPX0VESVRPUl9DT05GSUcpIHByaXZhdGUgZWRpdG9yQ29uZmlnOiBOZ3hNb25hY29FZGl0b3JDb25maWcpIHtcbiAgICBzdXBlcihlZGl0b3JDb25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGluaXRNb25hY28ob3B0aW9uczogYW55KTogdm9pZCB7XG5cbiAgICBpZiAoIXRoaXMuX29yaWdpbmFsTW9kZWwgfHwgIXRoaXMuX21vZGlmaWVkTW9kZWwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignb3JpZ2luYWxNb2RlbCBvciBtb2RpZmllZE1vZGVsIG5vdCBmb3VuZCBmb3Igbmd4LW1vbmFjby1kaWZmLWVkaXRvcicpO1xuICAgIH1cblxuICAgIHRoaXMuX29yaWdpbmFsTW9kZWwubGFuZ3VhZ2UgPSB0aGlzLl9vcmlnaW5hbE1vZGVsLmxhbmd1YWdlIHx8IG9wdGlvbnMubGFuZ3VhZ2U7XG4gICAgdGhpcy5fbW9kaWZpZWRNb2RlbC5sYW5ndWFnZSA9IHRoaXMuX21vZGlmaWVkTW9kZWwubGFuZ3VhZ2UgfHwgb3B0aW9ucy5sYW5ndWFnZTtcblxuICAgIGNvbnN0IG9yaWdpbmFsTW9kZWwgPSBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMuX29yaWdpbmFsTW9kZWwuY29kZSwgdGhpcy5fb3JpZ2luYWxNb2RlbC5sYW5ndWFnZSk7XG4gICAgY29uc3QgbW9kaWZpZWRNb2RlbCA9IG1vbmFjby5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy5fbW9kaWZpZWRNb2RlbC5jb2RlLCB0aGlzLl9tb2RpZmllZE1vZGVsLmxhbmd1YWdlKTtcblxuICAgIHRoaXMuX2VkaXRvckNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9ICcnO1xuICAgIGNvbnN0IHRoZW1lID0gb3B0aW9ucy50aGVtZTtcbiAgICB0aGlzLl9lZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZURpZmZFZGl0b3IodGhpcy5fZWRpdG9yQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIG9wdGlvbnMpO1xuICAgIG9wdGlvbnMudGhlbWUgPSB0aGVtZTtcbiAgICB0aGlzLl9lZGl0b3Iuc2V0TW9kZWwoe1xuICAgICAgb3JpZ2luYWw6IG9yaWdpbmFsTW9kZWwsXG4gICAgICBtb2RpZmllZDogbW9kaWZpZWRNb2RlbCxcbiAgICB9IGFzIGFueSk7XG5cbiAgICAvLyByZWZyZXNoIGxheW91dCBvbiByZXNpemUgZXZlbnQuXG4gICAgaWYgKHRoaXMuX3dpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuX3dpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbiA9IGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fZWRpdG9yLmxheW91dCgpKTtcbiAgICB0aGlzLm9uSW5pdC5lbWl0KHRoaXMuX2VkaXRvcik7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { Component, forwardRef, Inject, Input, NgZone } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { fromEvent } from 'rxjs';
|
|
4
|
+
import { BaseEditor } from './base-editor';
|
|
5
|
+
import { NGX_MONACO_EDITOR_CONFIG } from './config';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class EditorComponent extends BaseEditor {
|
|
8
|
+
constructor(zone, editorConfig) {
|
|
9
|
+
super(editorConfig);
|
|
10
|
+
this.zone = zone;
|
|
11
|
+
this.editorConfig = editorConfig;
|
|
12
|
+
this._value = '';
|
|
13
|
+
this.propagateChange = (_) => { };
|
|
14
|
+
this.onTouched = () => { };
|
|
15
|
+
}
|
|
16
|
+
set options(options) {
|
|
17
|
+
this._options = { ...this.config.defaultOptions, ...options };
|
|
18
|
+
if (this._editor) {
|
|
19
|
+
this._editor.dispose();
|
|
20
|
+
this.initMonaco(options);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
get options() {
|
|
24
|
+
return this._options;
|
|
25
|
+
}
|
|
26
|
+
set model(model) {
|
|
27
|
+
this.options.model = model;
|
|
28
|
+
if (this._editor) {
|
|
29
|
+
this._editor.dispose();
|
|
30
|
+
this.initMonaco(this.options);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
writeValue(value) {
|
|
34
|
+
this._value = value || '';
|
|
35
|
+
// Fix for value change while dispose in process.
|
|
36
|
+
setTimeout(() => {
|
|
37
|
+
if (this._editor && !this.options.model) {
|
|
38
|
+
this._editor.setValue(this._value);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
registerOnChange(fn) {
|
|
43
|
+
this.propagateChange = fn;
|
|
44
|
+
}
|
|
45
|
+
registerOnTouched(fn) {
|
|
46
|
+
this.onTouched = fn;
|
|
47
|
+
}
|
|
48
|
+
initMonaco(options) {
|
|
49
|
+
const hasModel = !!options.model;
|
|
50
|
+
if (hasModel) {
|
|
51
|
+
const model = monaco.editor.getModel(options.model.uri || '');
|
|
52
|
+
if (model) {
|
|
53
|
+
options.model = model;
|
|
54
|
+
options.model.setValue(this._value);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
options.model = monaco.editor.createModel(options.model.value, options.model.language, options.model.uri);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
this._editor = monaco.editor.create(this._editorContainer.nativeElement, options);
|
|
61
|
+
if (!hasModel) {
|
|
62
|
+
this._editor.setValue(this._value);
|
|
63
|
+
}
|
|
64
|
+
this._editor.onDidChangeModelContent((e) => {
|
|
65
|
+
const value = this._editor.getValue();
|
|
66
|
+
// value is not propagated to parent when executing outside zone.
|
|
67
|
+
this.zone.run(() => {
|
|
68
|
+
this.propagateChange(value);
|
|
69
|
+
this._value = value;
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
this._editor.onDidBlurEditorWidget(() => {
|
|
73
|
+
this.onTouched();
|
|
74
|
+
});
|
|
75
|
+
// refresh layout on resize event.
|
|
76
|
+
if (this._windowResizeSubscription) {
|
|
77
|
+
this._windowResizeSubscription.unsubscribe();
|
|
78
|
+
}
|
|
79
|
+
this._windowResizeSubscription = fromEvent(window, 'resize').subscribe(() => this._editor.layout());
|
|
80
|
+
this.onInit.emit(this._editor);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
EditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EditorComponent, deps: [{ token: i0.NgZone }, { token: NGX_MONACO_EDITOR_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
84
|
+
EditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: EditorComponent, selector: "ngx-monaco-editor", inputs: { options: "options", model: "model" }, providers: [{
|
|
85
|
+
provide: NG_VALUE_ACCESSOR,
|
|
86
|
+
useExisting: forwardRef(() => EditorComponent),
|
|
87
|
+
multi: true,
|
|
88
|
+
}], usesInheritance: true, ngImport: i0, template: '<div class="editor-container" #editorContainer></div>', isInline: true, styles: [".editor-container{width:100%;height:100%}\n"] });
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: EditorComponent, decorators: [{
|
|
90
|
+
type: Component,
|
|
91
|
+
args: [{
|
|
92
|
+
selector: 'ngx-monaco-editor',
|
|
93
|
+
template: '<div class="editor-container" #editorContainer></div>',
|
|
94
|
+
styles: [`
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
.editor-container {
|
|
98
|
+
width: 100%;
|
|
99
|
+
height: 100%;
|
|
100
|
+
}
|
|
101
|
+
`],
|
|
102
|
+
providers: [{
|
|
103
|
+
provide: NG_VALUE_ACCESSOR,
|
|
104
|
+
useExisting: forwardRef(() => EditorComponent),
|
|
105
|
+
multi: true,
|
|
106
|
+
}],
|
|
107
|
+
}]
|
|
108
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: undefined, decorators: [{
|
|
109
|
+
type: Inject,
|
|
110
|
+
args: [NGX_MONACO_EDITOR_CONFIG]
|
|
111
|
+
}] }]; }, propDecorators: { options: [{
|
|
112
|
+
type: Input,
|
|
113
|
+
args: ['options']
|
|
114
|
+
}], model: [{
|
|
115
|
+
type: Input,
|
|
116
|
+
args: ['model']
|
|
117
|
+
}] } });
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9uZ3gtbW9uYWNvLWVkaXRvci9lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHdCQUF3QixFQUF5QixNQUFNLFVBQVUsQ0FBQzs7QUFzQjNFLE1BQU0sT0FBTyxlQUFnQixTQUFRLFVBQVU7SUE0QjdDLFlBQW9CLElBQVksRUFBNEMsWUFBbUM7UUFDN0csS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBREYsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUE0QyxpQkFBWSxHQUFaLFlBQVksQ0FBdUI7UUEzQnZHLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFFckIsb0JBQWUsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ2pDLGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUEwQjVCLENBQUM7SUF4QkQsSUFDVyxPQUFPLENBQUMsT0FBWTtRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQzlELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFV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QUFJLENBQUMseUJBQXlCLEVBQUU7WUFDbEMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxDQUFDLHlCQUF5QixHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNwRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7NEdBMUZVLGVBQWUsd0NBNEJnQix3QkFBd0I7Z0dBNUJ2RCxlQUFlLDRGQU5mLENBQUM7WUFDVixPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO1lBQzlDLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQyxpREFiUSx1REFBdUQ7MkZBZXRELGVBQWU7a0JBakIzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSx1REFBdUQ7b0JBQ2pFLE1BQU0sRUFBRSxDQUFDOzs7Ozs7O0dBT1IsQ0FBQztvQkFDRixTQUFTLEVBQUUsQ0FBQzs0QkFDVixPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQzs0QkFDOUMsS0FBSyxFQUFFLElBQUk7eUJBQ1osQ0FBQztpQkFDSDs7MEJBNkJvQyxNQUFNOzJCQUFDLHdCQUF3Qjs0Q0FyQnZELE9BQU87c0JBRGpCLEtBQUs7dUJBQUMsU0FBUztnQkFjWixLQUFLO3NCQURSLEtBQUs7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbnB1dCwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCYXNlRWRpdG9yIH0gZnJvbSAnLi9iYXNlLWVkaXRvcic7XG5pbXBvcnQgeyBOR1hfTU9OQUNPX0VESVRPUl9DT05GSUcsIE5neE1vbmFjb0VkaXRvckNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IE5neEVkaXRvck1vZGVsIH0gZnJvbSAnLi90eXBlcyc7XG5cbmRlY2xhcmUgbGV0IG1vbmFjbzogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtbW9uYWNvLWVkaXRvcicsXG4gIHRlbXBsYXRlOiAnPGRpdiBjbGFzcz1cImVkaXRvci1jb250YWluZXJcIiAjZWRpdG9yQ29udGFpbmVyPjwvZGl2PicsXG4gIHN0eWxlczogW2BcblxuXG4gICAgICAuZWRpdG9yLWNvbnRhaW5lciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICBgXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVkaXRvckNvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWUsXG4gIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBCYXNlRWRpdG9yIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgcHVibGljIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuICBwdWJsaWMgb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgQElucHV0KCdvcHRpb25zJylcbiAgcHVibGljIHNldCBvcHRpb25zKG9wdGlvbnM6IGFueSkge1xuICAgIHRoaXMuX29wdGlvbnMgPSB7IC4uLnRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zLCAuLi5vcHRpb25zIH07XG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuaW5pdE1vbmFjbyhvcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wdGlvbnMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuXG4gIEBJbnB1dCgnbW9kZWwnKVxuICBzZXQgbW9kZWwobW9kZWw6IE5neEVkaXRvck1vZGVsKSB7XG4gICAgdGhpcy5vcHRpb25zLm1vZGVsID0gbW9kZWw7XG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgdGhpcy5fZWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLm9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lLCBASW5qZWN0KE5HWF9NT05BQ09fRURJVE9SX0NPTkZJRykgcHJpdmF0ZSBlZGl0b3JDb25maWc6IE5neE1vbmFjb0VkaXRvckNvbmZpZykge1xuICAgIHN1cGVyKGVkaXRvckNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZSB8fCAnJztcbiAgICAvLyBGaXggZm9yIHZhbHVlIGNoYW5nZSB3aGlsZSBkaXNwb3NlIGluIHByb2Nlc3MuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fZWRpdG9yICYmICF0aGlzLm9wdGlvbnMubW9kZWwpIHtcbiAgICAgICAgdGhpcy5fZWRpdG9yLnNldFZhbHVlKHRoaXMuX3ZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgcHJvdGVjdGVkIGluaXRNb25hY28ob3B0aW9uczogYW55KTogdm9pZCB7XG5cbiAgICBjb25zdCBoYXNNb2RlbCA9ICEhb3B0aW9ucy5tb2RlbDtcblxuICAgIGlmIChoYXNNb2RlbCkge1xuICAgICAgY29uc3QgbW9kZWwgPSBtb25hY28uZWRpdG9yLmdldE1vZGVsKG9wdGlvbnMubW9kZWwudXJpIHx8ICcnKTtcbiAgICAgIGlmIChtb2RlbCkge1xuICAgICAgICBvcHRpb25zLm1vZGVsID0gbW9kZWw7XG4gICAgICAgIG9wdGlvbnMubW9kZWwuc2V0VmFsdWUodGhpcy5fdmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3B0aW9ucy5tb2RlbCA9IG1vbmFjby5lZGl0b3IuY3JlYXRlTW9kZWwob3B0aW9ucy5tb2RlbC52YWx1ZSwgb3B0aW9ucy5tb2RlbC5sYW5ndWFnZSwgb3B0aW9ucy5tb2RlbC51cmkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX2VkaXRvciA9IG1vbmFjby5lZGl0b3IuY3JlYXRlKHRoaXMuX2VkaXRvckNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCBvcHRpb25zKTtcblxuICAgIGlmICghaGFzTW9kZWwpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5zZXRWYWx1ZSh0aGlzLl92YWx1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5fZWRpdG9yLm9uRGlkQ2hhbmdlTW9kZWxDb250ZW50KChlOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5fZWRpdG9yLmdldFZhbHVlKCk7XG5cbiAgICAgIC8vIHZhbHVlIGlzIG5vdCBwcm9wYWdhdGVkIHRvIHBhcmVudCB3aGVuIGV4ZWN1dGluZyBvdXRzaWRlIHpvbmUuXG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodmFsdWUpO1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9lZGl0b3Iub25EaWRCbHVyRWRpdG9yV2lkZ2V0KCgpID0+IHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfSk7XG5cbiAgICAvLyByZWZyZXNoIGxheW91dCBvbiByZXNpemUgZXZlbnQuXG4gICAgaWYgKHRoaXMuX3dpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5fd2luZG93UmVzaXplU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuX3dpbmRvd1Jlc2l6ZVN1YnNjcmlwdGlvbiA9IGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fZWRpdG9yLmxheW91dCgpKTtcbiAgICB0aGlzLm9uSW5pdC5lbWl0KHRoaXMuX2VkaXRvcik7XG4gIH1cblxufVxuIl19
|