ngssm-ace-editor 16.2.0 → 16.2.2
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.
|
@@ -32,10 +32,10 @@ export class AceBuildsLoader {
|
|
|
32
32
|
this._initialized = true;
|
|
33
33
|
return this._loading$.asObservable();
|
|
34
34
|
}
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
36
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: AceBuildsLoader, deps: [{ token: DOCUMENT }, { token: i1.Logger }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
36
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: AceBuildsLoader, providedIn: 'root' }); }
|
|
37
37
|
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: AceBuildsLoader, decorators: [{
|
|
39
39
|
type: Injectable,
|
|
40
40
|
args: [{
|
|
41
41
|
providedIn: 'root'
|
|
@@ -64,14 +64,16 @@ export class NgssmAceEditorComponent {
|
|
|
64
64
|
this.api.aceEditor.setReadOnly(this.initialReadonly);
|
|
65
65
|
this.api.aceEditor.setValue(this.initialContent, -1);
|
|
66
66
|
this.api.aceEditor.on('change', () => {
|
|
67
|
-
if (!this.silentContentUpdate) {
|
|
67
|
+
if (this.api && !this.silentContentUpdate) {
|
|
68
68
|
this.zone.run(() => this.contentChanged.emit(this.api?.aceEditor.getValue()));
|
|
69
69
|
}
|
|
70
70
|
});
|
|
71
71
|
this.api.aceEditor.getSession().on('changeAnnotation', () => {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
if (this.api) {
|
|
73
|
+
const annotations = this.api.aceEditor.getSession().getAnnotations();
|
|
74
|
+
const isValid = annotations.findIndex((annotation) => annotation.type === 'error') === -1;
|
|
75
|
+
this.zone.run(() => this.isValidChanged.emit(isValid));
|
|
76
|
+
}
|
|
75
77
|
});
|
|
76
78
|
this.editorReady.emit(this.api);
|
|
77
79
|
}
|
|
@@ -80,11 +82,12 @@ export class NgssmAceEditorComponent {
|
|
|
80
82
|
}
|
|
81
83
|
ngOnDestroy() {
|
|
82
84
|
this.api?.aceEditor?.destroy();
|
|
85
|
+
this.api = undefined;
|
|
83
86
|
}
|
|
84
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
85
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
87
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: NgssmAceEditorComponent, deps: [{ token: i1.AceBuildsLoader }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
88
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: NgssmAceEditorComponent, isStandalone: true, selector: "ngssm-ace-editor", inputs: { content: "content", readonly: "readonly", editorMode: "editorMode" }, outputs: { contentChanged: "contentChanged", isValidChanged: "isValidChanged", editorReady: "editorReady" }, viewQueries: [{ propertyName: "aceEditorDiv", first: true, predicate: ["aceEditor"], descendants: true }], ngImport: i0, template: "<div #aceEditor class=\"ngssm-ace-editor-container\" [ngssmDisplayOverlay]=\"(loading$ | async) === true\"></div>", styles: [":host{display:flex;flex-direction:column}:host .ngssm-ace-editor-container{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "directive", type: NgssmComponentOverlayDirective, selector: "[ngssmDisplayOverlay]", inputs: ["overlayTemplate", "overlayComponent", "overlayMessage", "ngssmDisplayOverlay"] }] }); }
|
|
86
89
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: NgssmAceEditorComponent, decorators: [{
|
|
88
91
|
type: Component,
|
|
89
92
|
args: [{ selector: 'ngssm-ace-editor', standalone: true, imports: [CommonModule, NgssmComponentOverlayDirective], template: "<div #aceEditor class=\"ngssm-ace-editor-container\" [ngssmDisplayOverlay]=\"(loading$ | async) === true\"></div>", styles: [":host{display:flex;flex-direction:column}:host .ngssm-ace-editor-container{flex:1}\n"] }]
|
|
90
93
|
}], ctorParameters: function () { return [{ type: i1.AceBuildsLoader }, { type: i0.NgZone }]; }, propDecorators: { aceEditorDiv: [{
|
|
@@ -103,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
|
|
|
103
106
|
}], editorMode: [{
|
|
104
107
|
type: Input
|
|
105
108
|
}] } });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tYWNlLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1hY2UtZWRpdG9yL3NyYy9saWIvbmdzc20tYWNlLWVkaXRvci9uZ3NzbS1hY2UtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLWFjZS1lZGl0b3Ivc3JjL2xpYi9uZ3NzbS1hY2UtZWRpdG9yL25nc3NtLWFjZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFjLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBUzlELE1BQU0sT0FBTyx1QkFBdUI7SUFhbEMsWUFDVSxlQUFnQyxFQUNoQyxJQUFZO1FBRFosb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLFNBQUksR0FBSixJQUFJLENBQVE7UUFkZCxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixzQkFBaUIsR0FBVyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDcEQsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBR25CLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM1QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDN0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQU9sRSxDQUFDO0lBRUosSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQW9CLE9BQU8sQ0FBQyxLQUFhO1FBQ3ZDLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUU7WUFDdkIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUNoQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztTQUNsQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsSUFBb0IsUUFBUSxDQUFDLEtBQWM7UUFDekMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkM7YUFBTTtZQUNMLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELElBQW9CLFVBQVUsQ0FBQyxLQUFhO1FBQzFDLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMzQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztTQUNoQztJQUNILENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxlQUFlO2FBQ2pCLFdBQVcsRUFBRTthQUNiLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2pCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFDL0IsTUFBTSxHQUFHLEdBQVMsTUFBYyxDQUFDLEdBQUcsQ0FBQztnQkFDckMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO2dCQUM3RCxJQUFJLFNBQVMsRUFBRTtvQkFDYixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQzVDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGVBQWUsR0FBRyxRQUFRLENBQUM7b0JBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO29CQUNoRCxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO29CQUMzRCxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO29CQUNyRCxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUVyRCxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTt3QkFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTs0QkFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO3lCQUMvRTtvQkFDSCxDQUFDLENBQUMsQ0FBQztvQkFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO3dCQUMxRCxNQUFNLFdBQVcsR0FBVSxJQUFJLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3QkFDN0UsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzt3QkFDMUYsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztvQkFDekQsQ0FBQyxDQUFDLENBQUM7b0JBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNqQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzhHQXRGVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixvWENqQnBDLG1IQUE2Ryw2SURhakcsWUFBWSxvRkFBRSw4QkFBOEI7OzJGQUkzQyx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSw4QkFBOEIsQ0FBQzsySEFVeEIsWUFBWTtzQkFBMUMsU0FBUzt1QkFBQyxXQUFXO2dCQUNMLGNBQWM7c0JBQTlCLE1BQU07Z0JBQ1UsY0FBYztzQkFBOUIsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNO2dCQWFhLE9BQU87c0JBQTFCLEtBQUs7Z0JBVWMsUUFBUTtzQkFBM0IsS0FBSztnQkFRYyxVQUFVO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaWx0ZXIsIHRha2UgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdzc21Db21wb25lbnRPdmVybGF5RGlyZWN0aXZlIH0gZnJvbSAnbmdzc20tdG9vbGtpdCc7XG5cbmltcG9ydCB7IEFjZUJ1aWxkc0xvYWRlciB9IGZyb20gJy4uL2FjZS1idWlsZHMtbG9hZGVyJztcbmltcG9ydCB7IE5nc3NtQWNlRWRpdG9yQXBpIH0gZnJvbSAnLi4vbmdzc20tYWNlLWVkaXRvci1hcGknO1xuaW1wb3J0IHsgTmdzc21BY2VFZGl0b3JNb2RlIH0gZnJvbSAnLi4vbmdzc20tYWNlLWVkaXRvci1tb2RlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdzc20tYWNlLWVkaXRvcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5nc3NtQ29tcG9uZW50T3ZlcmxheURpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9uZ3NzbS1hY2UtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmdzc20tYWNlLWVkaXRvci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE5nc3NtQWNlRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBpbml0aWFsQ29udGVudCA9ICcnO1xuICBwcml2YXRlIGluaXRpYWxSZWFkb25seSA9IHRydWU7XG4gIHByaXZhdGUgaW5pdGlhbEVkaXRvck1vZGU6IHN0cmluZyA9IE5nc3NtQWNlRWRpdG9yTW9kZS50ZXh0O1xuICBwcml2YXRlIHNpbGVudENvbnRlbnRVcGRhdGUgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdhY2VFZGl0b3InKSBwdWJsaWMgYWNlRWRpdG9yRGl2OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICBAT3V0cHV0KCkgcHVibGljIGNvbnRlbnRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgaXNWYWxpZENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgZWRpdG9yUmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPE5nc3NtQWNlRWRpdG9yQXBpPigpO1xuXG4gIHB1YmxpYyBhcGk6IE5nc3NtQWNlRWRpdG9yQXBpIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWNlQnVpbGRzTG9hZGVyOiBBY2VCdWlsZHNMb2FkZXIsXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmVcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgbG9hZGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuYWNlQnVpbGRzTG9hZGVyLmxvYWRpbmckO1xuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBjb250ZW50KHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5hcGk/LmFjZUVkaXRvcikge1xuICAgICAgdGhpcy5zaWxlbnRDb250ZW50VXBkYXRlID0gdHJ1ZTtcbiAgICAgIHRoaXMuYXBpLmFjZUVkaXRvci5zZXRWYWx1ZSh2YWx1ZSwgLTEpO1xuICAgICAgdGhpcy5zaWxlbnRDb250ZW50VXBkYXRlID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdGlhbENvbnRlbnQgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHJlYWRvbmx5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuYXBpPy5hY2VFZGl0b3IpIHtcbiAgICAgIHRoaXMuYXBpLmFjZUVkaXRvci5zZXRSZWFkT25seSh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdGlhbFJlYWRvbmx5ID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBlZGl0b3JNb2RlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5hcGk/LmFjZUVkaXRvcikge1xuICAgICAgdGhpcy5hcGkuYWNlRWRpdG9yLnNlc3Npb24uc2V0TW9kZSh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdGlhbEVkaXRvck1vZGUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWNlQnVpbGRzTG9hZGVyXG4gICAgICAubG9hZFNjcmlwdHMoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigodikgPT4gIXYpLFxuICAgICAgICB0YWtlKDEpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBhY2U6IGFueSA9ICh3aW5kb3cgYXMgYW55KS5hY2U7XG4gICAgICAgICAgY29uc3QgYWNlRWRpdG9yID0gYWNlLmVkaXQodGhpcy5hY2VFZGl0b3JEaXY/Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgIGlmIChhY2VFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMuYXBpID0gbmV3IE5nc3NtQWNlRWRpdG9yQXBpKGFjZUVkaXRvcik7XG4gICAgICAgICAgICB0aGlzLmFwaS5hY2VFZGl0b3IuJGJsb2NrU2Nyb2xsaW5nID0gSW5maW5pdHk7XG4gICAgICAgICAgICB0aGlzLmFwaS5hY2VFZGl0b3Iuc2V0VGhlbWUoJ2FjZS90aGVtZS9naXRodWInKTtcbiAgICAgICAgICAgIHRoaXMuYXBpLmFjZUVkaXRvci5zZXNzaW9uLnNldE1vZGUodGhpcy5pbml0aWFsRWRpdG9yTW9kZSk7XG4gICAgICAgICAgICB0aGlzLmFwaS5hY2VFZGl0b3Iuc2V0UmVhZE9ubHkodGhpcy5pbml0aWFsUmVhZG9ubHkpO1xuICAgICAgICAgICAgdGhpcy5hcGkuYWNlRWRpdG9yLnNldFZhbHVlKHRoaXMuaW5pdGlhbENvbnRlbnQsIC0xKTtcblxuICAgICAgICAgICAgdGhpcy5hcGkuYWNlRWRpdG9yLm9uKCdjaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghdGhpcy5zaWxlbnRDb250ZW50VXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB0aGlzLmNvbnRlbnRDaGFuZ2VkLmVtaXQodGhpcy5hcGk/LmFjZUVkaXRvci5nZXRWYWx1ZSgpKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5hcGkuYWNlRWRpdG9yLmdldFNlc3Npb24oKS5vbignY2hhbmdlQW5ub3RhdGlvbicsICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgYW5ub3RhdGlvbnM6IGFueVtdID0gdGhpcy5hcGk/LmFjZUVkaXRvci5nZXRTZXNzaW9uKCkuZ2V0QW5ub3RhdGlvbnMoKTtcbiAgICAgICAgICAgICAgY29uc3QgaXNWYWxpZCA9IGFubm90YXRpb25zLmZpbmRJbmRleCgoYW5ub3RhdGlvbikgPT4gYW5ub3RhdGlvbi50eXBlID09PSAnZXJyb3InKSA9PT0gLTE7XG4gICAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4gdGhpcy5pc1ZhbGlkQ2hhbmdlZC5lbWl0KGlzVmFsaWQpKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLmVkaXRvclJlYWR5LmVtaXQodGhpcy5hcGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmFwaT8uYWNlRWRpdG9yPy5kZXN0cm95KCk7XG4gIH1cbn1cbiIsIjxkaXYgI2FjZUVkaXRvciBjbGFzcz1cIm5nc3NtLWFjZS1lZGl0b3ItY29udGFpbmVyXCIgW25nc3NtRGlzcGxheU92ZXJsYXldPVwiKGxvYWRpbmckIHwgYXN5bmMpID09PSB0cnVlXCI+PC9kaXY+Il19
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tYWNlLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1hY2UtZWRpdG9yL3NyYy9saWIvbmdzc20tYWNlLWVkaXRvci9uZ3NzbS1hY2UtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLWFjZS1lZGl0b3Ivc3JjL2xpYi9uZ3NzbS1hY2UtZWRpdG9yL25nc3NtLWFjZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFjLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBUzlELE1BQU0sT0FBTyx1QkFBdUI7SUFhbEMsWUFDVSxlQUFnQyxFQUNoQyxJQUFZO1FBRFosb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLFNBQUksR0FBSixJQUFJLENBQVE7UUFkZCxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixzQkFBaUIsR0FBVyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDcEQsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBR25CLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM1QyxtQkFBYyxHQUFHLElBQUksWUFB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WTtzQkFBMUMsU0FBUzt1QkFBQyxXQUFXO2dCQUNMLGNBQWM7c0JBQTlCLE1BQU07Z0JBQ1UsY0FBYztzQkFBOUIsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNO2dCQWFhLE9BQU87c0JBQTFCLEtBQUs7Z0JBVWMsUUFBUTtzQkFBM0IsS0FBSztnQkFRYyxVQUFVO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaWx0ZXIsIHRha2UgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdzc21Db21wb25lbnRPdmVybGF5RGlyZWN0aXZlIH0gZnJvbSAnbmdzc20tdG9vbGtpdCc7XG5cbmltcG9ydCB7IEFjZUJ1aWxkc0xvYWRlciB9IGZyb20gJy4uL2FjZS1idWlsZHMtbG9hZGVyJztcbmltcG9ydCB7IE5nc3NtQWNlRWRpdG9yQXBpIH0gZnJvbSAnLi4vbmdzc20tYWNlLWVkaXRvci1hcGknO1xuaW1wb3J0IHsgTmdzc21BY2VFZGl0b3JNb2RlIH0gZnJvbSAnLi4vbmdzc20tYWNlLWVkaXRvci1tb2RlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdzc20tYWNlLWVkaXRvcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5nc3NtQ29tcG9uZW50T3ZlcmxheURpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9uZ3NzbS1hY2UtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmdzc20tYWNlLWVkaXRvci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE5nc3NtQWNlRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBpbml0aWFsQ29udGVudCA9ICcnO1xuICBwcml2YXRlIGluaXRpYWxSZWFkb25seSA9IHRydWU7XG4gIHByaXZhdGUgaW5pdGlhbEVkaXRvck1vZGU6IHN0cmluZyA9IE5nc3NtQWNlRWRpdG9yTW9kZS50ZXh0O1xuICBwcml2YXRlIHNpbGVudENvbnRlbnRVcGRhdGUgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdhY2VFZGl0b3InKSBwdWJsaWMgYWNlRWRpdG9yRGl2OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICBAT3V0cHV0KCkgcHVibGljIGNvbnRlbnRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgaXNWYWxpZENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgZWRpdG9yUmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPE5nc3NtQWNlRWRpdG9yQXBpPigpO1xuXG4gIHB1YmxpYyBhcGk6IE5nc3NtQWNlRWRpdG9yQXBpIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWNlQnVpbGRzTG9hZGVyOiBBY2VCdWlsZHNMb2FkZXIsXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmVcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgbG9hZGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuYWNlQnVpbGRzTG9hZGVyLmxvYWRpbmckO1xuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBjb250ZW50KHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5hcGk/LmFjZUVkaXRvcikge1xuICAgICAgdGhpcy5zaWxlbnRDb250ZW50VXBkYXRlID0gdHJ1ZTtcbiAgICAgIHRoaXMuYXBpLmFjZUVkaXRvci5zZXRWYWx1ZSh2YWx1ZSwgLTEpO1xuICAgICAgdGhpcy5zaWxlbnRDb250ZW50VXBkYXRlID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdGlhbENvbnRlbnQgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHJlYWRvbmx5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuYXBpPy5hY2VFZGl0b3IpIHtcbiAgICAgIHRoaXMuYXBpLmFjZUVkaXRvci5zZXRSZWFkT25seSh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdGlhbFJlYWRvbmx5ID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBlZGl0b3JNb2RlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5hcGk/LmFjZUVkaXRvcikge1xuICAgICAgdGhpcy5hcGkuYWNlRWRpdG9yLnNlc3Npb24uc2V0TW9kZSh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdGlhbEVkaXRvck1vZGUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWNlQnVpbGRzTG9hZGVyXG4gICAgICAubG9hZFNjcmlwdHMoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigodikgPT4gIXYpLFxuICAgICAgICB0YWtlKDEpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBhY2U6IGFueSA9ICh3aW5kb3cgYXMgYW55KS5hY2U7XG4gICAgICAgICAgY29uc3QgYWNlRWRpdG9yID0gYWNlLmVkaXQodGhpcy5hY2VFZGl0b3JEaXY/Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgIGlmIChhY2VFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMuYXBpID0gbmV3IE5nc3NtQWNlRWRpdG9yQXBpKGFjZUVkaXRvcik7XG4gICAgICAgICAgICB0aGlzLmFwaS5hY2VFZGl0b3IuJGJsb2NrU2Nyb2xsaW5nID0gSW5maW5pdHk7XG4gICAgICAgICAgICB0aGlzLmFwaS5hY2VFZGl0b3Iuc2V0VGhlbWUoJ2FjZS90aGVtZS9naXRodWInKTtcbiAgICAgICAgICAgIHRoaXMuYXBpLmFjZUVkaXRvci5zZXNzaW9uLnNldE1vZGUodGhpcy5pbml0aWFsRWRpdG9yTW9kZSk7XG4gICAgICAgICAgICB0aGlzLmFwaS5hY2VFZGl0b3Iuc2V0UmVhZE9ubHkodGhpcy5pbml0aWFsUmVhZG9ubHkpO1xuICAgICAgICAgICAgdGhpcy5hcGkuYWNlRWRpdG9yLnNldFZhbHVlKHRoaXMuaW5pdGlhbENvbnRlbnQsIC0xKTtcblxuICAgICAgICAgICAgdGhpcy5hcGkuYWNlRWRpdG9yLm9uKCdjaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLmFwaSAmJiAhdGhpcy5zaWxlbnRDb250ZW50VXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB0aGlzLmNvbnRlbnRDaGFuZ2VkLmVtaXQodGhpcy5hcGk/LmFjZUVkaXRvci5nZXRWYWx1ZSgpKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5hcGkuYWNlRWRpdG9yLmdldFNlc3Npb24oKS5vbignY2hhbmdlQW5ub3RhdGlvbicsICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuYXBpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYW5ub3RhdGlvbnM6IGFueVtdID0gdGhpcy5hcGkuYWNlRWRpdG9yLmdldFNlc3Npb24oKS5nZXRBbm5vdGF0aW9ucygpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPSBhbm5vdGF0aW9ucy5maW5kSW5kZXgoKGFubm90YXRpb24pID0+IGFubm90YXRpb24udHlwZSA9PT0gJ2Vycm9yJykgPT09IC0xO1xuICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4gdGhpcy5pc1ZhbGlkQ2hhbmdlZC5lbWl0KGlzVmFsaWQpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuZWRpdG9yUmVhZHkuZW1pdCh0aGlzLmFwaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuYXBpPy5hY2VFZGl0b3I/LmRlc3Ryb3koKTtcbiAgICB0aGlzLmFwaSA9IHVuZGVmaW5lZDtcbiAgfVxufVxuIiwiPGRpdiAjYWNlRWRpdG9yIGNsYXNzPVwibmdzc20tYWNlLWVkaXRvci1jb250YWluZXJcIiBbbmdzc21EaXNwbGF5T3ZlcmxheV09XCIobG9hZGluZyQgfCBhc3luYykgPT09IHRydWVcIj48L2Rpdj4iXX0=
|
|
@@ -59,10 +59,10 @@ class AceBuildsLoader {
|
|
|
59
59
|
this._initialized = true;
|
|
60
60
|
return this._loading$.asObservable();
|
|
61
61
|
}
|
|
62
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
63
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.
|
|
62
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: AceBuildsLoader, deps: [{ token: DOCUMENT }, { token: i1.Logger }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
63
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: AceBuildsLoader, providedIn: 'root' }); }
|
|
64
64
|
}
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: AceBuildsLoader, decorators: [{
|
|
66
66
|
type: Injectable,
|
|
67
67
|
args: [{
|
|
68
68
|
providedIn: 'root'
|
|
@@ -129,14 +129,16 @@ class NgssmAceEditorComponent {
|
|
|
129
129
|
this.api.aceEditor.setReadOnly(this.initialReadonly);
|
|
130
130
|
this.api.aceEditor.setValue(this.initialContent, -1);
|
|
131
131
|
this.api.aceEditor.on('change', () => {
|
|
132
|
-
if (!this.silentContentUpdate) {
|
|
132
|
+
if (this.api && !this.silentContentUpdate) {
|
|
133
133
|
this.zone.run(() => this.contentChanged.emit(this.api?.aceEditor.getValue()));
|
|
134
134
|
}
|
|
135
135
|
});
|
|
136
136
|
this.api.aceEditor.getSession().on('changeAnnotation', () => {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
137
|
+
if (this.api) {
|
|
138
|
+
const annotations = this.api.aceEditor.getSession().getAnnotations();
|
|
139
|
+
const isValid = annotations.findIndex((annotation) => annotation.type === 'error') === -1;
|
|
140
|
+
this.zone.run(() => this.isValidChanged.emit(isValid));
|
|
141
|
+
}
|
|
140
142
|
});
|
|
141
143
|
this.editorReady.emit(this.api);
|
|
142
144
|
}
|
|
@@ -145,11 +147,12 @@ class NgssmAceEditorComponent {
|
|
|
145
147
|
}
|
|
146
148
|
ngOnDestroy() {
|
|
147
149
|
this.api?.aceEditor?.destroy();
|
|
150
|
+
this.api = undefined;
|
|
148
151
|
}
|
|
149
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
150
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: NgssmAceEditorComponent, deps: [{ token: AceBuildsLoader }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
153
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.8", type: NgssmAceEditorComponent, isStandalone: true, selector: "ngssm-ace-editor", inputs: { content: "content", readonly: "readonly", editorMode: "editorMode" }, outputs: { contentChanged: "contentChanged", isValidChanged: "isValidChanged", editorReady: "editorReady" }, viewQueries: [{ propertyName: "aceEditorDiv", first: true, predicate: ["aceEditor"], descendants: true }], ngImport: i0, template: "<div #aceEditor class=\"ngssm-ace-editor-container\" [ngssmDisplayOverlay]=\"(loading$ | async) === true\"></div>", styles: [":host{display:flex;flex-direction:column}:host .ngssm-ace-editor-container{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "directive", type: NgssmComponentOverlayDirective, selector: "[ngssmDisplayOverlay]", inputs: ["overlayTemplate", "overlayComponent", "overlayMessage", "ngssmDisplayOverlay"] }] }); }
|
|
151
154
|
}
|
|
152
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.8", ngImport: i0, type: NgssmAceEditorComponent, decorators: [{
|
|
153
156
|
type: Component,
|
|
154
157
|
args: [{ selector: 'ngssm-ace-editor', standalone: true, imports: [CommonModule, NgssmComponentOverlayDirective], template: "<div #aceEditor class=\"ngssm-ace-editor-container\" [ngssmDisplayOverlay]=\"(loading$ | async) === true\"></div>", styles: [":host{display:flex;flex-direction:column}:host .ngssm-ace-editor-container{flex:1}\n"] }]
|
|
155
158
|
}], ctorParameters: function () { return [{ type: AceBuildsLoader }, { type: i0.NgZone }]; }, propDecorators: { aceEditorDiv: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngssm-ace-editor.mjs","sources":["../../../projects/ngssm-ace-editor/src/lib/ngssm-ace-editor-api.ts","../../../projects/ngssm-ace-editor/src/lib/ngssm-ace-editor-mode.ts","../../../projects/ngssm-ace-editor/src/lib/ace-builds-loader.ts","../../../projects/ngssm-ace-editor/src/lib/ngssm-ace-editor/ngssm-ace-editor.component.ts","../../../projects/ngssm-ace-editor/src/lib/ngssm-ace-editor/ngssm-ace-editor.component.html","../../../projects/ngssm-ace-editor/src/public-api.ts","../../../projects/ngssm-ace-editor/src/ngssm-ace-editor.ts"],"sourcesContent":["export class NgssmAceEditorApi {\n private readonly markerIds: number[] = [];\n\n constructor(public aceEditor: any) {}\n\n public addRowsMarker(firstRow: number, lastRow: number, cssClass: string): void {\n const result = (window as any).ace.require('ace/range');\n const markerId = this.aceEditor.getSession().addMarker(new result.Range(firstRow, 0, lastRow, Infinity), cssClass, 'fullLine');\n this.markerIds.push(markerId);\n }\n\n public clearAllRowsMarkers(): void {\n this.markerIds.forEach((markerId) => this.aceEditor.getSession().removeMarker(markerId));\n this.markerIds.splice(0);\n }\n}\n","export enum NgssmAceEditorMode {\n text = 'ace/mode/text',\n javascript = 'ace/mode/javascript',\n python = 'ace/mode/python',\n json = 'ace/mode/json'\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { Logger } from 'ngssm-store';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AceBuildsLoader {\n private _loading$ = new BehaviorSubject<boolean>(true);\n private _initialized = false;\n\n constructor(\n @Inject(DOCUMENT) private document: any,\n private logger: Logger\n ) {}\n\n public get loading$(): Observable<boolean> {\n return this._loading$.asObservable();\n }\n\n public loadScripts(): Observable<boolean> {\n this.logger.debug(`[ace-editor] trying to get ace, isInitialized=${this._initialized}`);\n if (this._initialized) {\n return this._loading$.asObservable();\n }\n\n const script = this.document.createElement('script');\n script.type = 'text/javascript';\n script.src = 'ace-builds/ace.js';\n script.onload = () => {\n (window as any).ace.config.set('basePath', 'ace-builds');\n (window as any).ace.config.set('workerPath', 'ace-builds');\n this.logger.information(`[ace-editor] ace loaded.`);\n this._loading$.next(false);\n };\n\n this.logger.information(`[ace-editor] loading ace.`);\n this.document.body.appendChild(script);\n\n this._initialized = true;\n return this._loading$.asObservable();\n }\n}\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, NgZone, OnDestroy, Output, ViewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Observable, filter, take } from 'rxjs';\n\nimport { NgssmComponentOverlayDirective } from 'ngssm-toolkit';\n\nimport { AceBuildsLoader } from '../ace-builds-loader';\nimport { NgssmAceEditorApi } from '../ngssm-ace-editor-api';\nimport { NgssmAceEditorMode } from '../ngssm-ace-editor-mode';\n\n@Component({\n selector: 'ngssm-ace-editor',\n standalone: true,\n imports: [CommonModule, NgssmComponentOverlayDirective],\n templateUrl: './ngssm-ace-editor.component.html',\n styleUrls: ['./ngssm-ace-editor.component.scss']\n})\nexport class NgssmAceEditorComponent implements AfterViewInit, OnDestroy {\n private initialContent = '';\n private initialReadonly = true;\n private initialEditorMode: string = NgssmAceEditorMode.text;\n private silentContentUpdate = false;\n\n @ViewChild('aceEditor') public aceEditorDiv: ElementRef | undefined;\n @Output() public contentChanged = new EventEmitter<string>();\n @Output() public isValidChanged = new EventEmitter<boolean>();\n @Output() public editorReady = new EventEmitter<NgssmAceEditorApi>();\n\n public api: NgssmAceEditorApi | undefined;\n\n constructor(\n private aceBuildsLoader: AceBuildsLoader,\n private zone: NgZone\n ) {}\n\n public get loading$(): Observable<boolean> {\n return this.aceBuildsLoader.loading$;\n }\n\n @Input() public set content(value: string) {\n if (this.api?.aceEditor) {\n this.silentContentUpdate = true;\n this.api.aceEditor.setValue(value, -1);\n this.silentContentUpdate = false;\n } else {\n this.initialContent = value;\n }\n }\n\n @Input() public set readonly(value: boolean) {\n if (this.api?.aceEditor) {\n this.api.aceEditor.setReadOnly(value);\n } else {\n this.initialReadonly = value;\n }\n }\n\n @Input() public set editorMode(value: string) {\n if (this.api?.aceEditor) {\n this.api.aceEditor.session.setMode(value);\n } else {\n this.initialEditorMode = value;\n }\n }\n\n public ngAfterViewInit(): void {\n this.aceBuildsLoader\n .loadScripts()\n .pipe(\n filter((v) => !v),\n take(1)\n )\n .subscribe(() => {\n this.zone.runOutsideAngular(() => {\n const ace: any = (window as any).ace;\n const aceEditor = ace.edit(this.aceEditorDiv?.nativeElement);\n if (aceEditor) {\n this.api = new NgssmAceEditorApi(aceEditor);\n this.api.aceEditor.$blockScrolling = Infinity;\n this.api.aceEditor.setTheme('ace/theme/github');\n this.api.aceEditor.session.setMode(this.initialEditorMode);\n this.api.aceEditor.setReadOnly(this.initialReadonly);\n this.api.aceEditor.setValue(this.initialContent, -1);\n\n this.api.aceEditor.on('change', () => {\n if (!this.silentContentUpdate) {\n this.zone.run(() => this.contentChanged.emit(this.api?.aceEditor.getValue()));\n }\n });\n this.api.aceEditor.getSession().on('changeAnnotation', () => {\n const annotations: any[] = this.api?.aceEditor.getSession().getAnnotations();\n const isValid = annotations.findIndex((annotation) => annotation.type === 'error') === -1;\n this.zone.run(() => this.isValidChanged.emit(isValid));\n });\n\n this.editorReady.emit(this.api);\n }\n });\n });\n }\n\n public ngOnDestroy(): void {\n this.api?.aceEditor?.destroy();\n }\n}\n","<div #aceEditor class=\"ngssm-ace-editor-container\" [ngssmDisplayOverlay]=\"(loading$ | async) === true\"></div>","/*\n * Public API Surface of ngssm-ace-editor\n */\n\nexport * from './lib/ngssm-ace-editor/ngssm-ace-editor.component';\nexport * from './lib/ace-builds-loader';\nexport * from './lib/ngssm-ace-editor-mode';\nexport * from './lib/ngssm-ace-editor-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AceBuildsLoader"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngssm-ace-editor.mjs","sources":["../../../projects/ngssm-ace-editor/src/lib/ngssm-ace-editor-api.ts","../../../projects/ngssm-ace-editor/src/lib/ngssm-ace-editor-mode.ts","../../../projects/ngssm-ace-editor/src/lib/ace-builds-loader.ts","../../../projects/ngssm-ace-editor/src/lib/ngssm-ace-editor/ngssm-ace-editor.component.ts","../../../projects/ngssm-ace-editor/src/lib/ngssm-ace-editor/ngssm-ace-editor.component.html","../../../projects/ngssm-ace-editor/src/public-api.ts","../../../projects/ngssm-ace-editor/src/ngssm-ace-editor.ts"],"sourcesContent":["export class NgssmAceEditorApi {\n private readonly markerIds: number[] = [];\n\n constructor(public aceEditor: any) {}\n\n public addRowsMarker(firstRow: number, lastRow: number, cssClass: string): void {\n const result = (window as any).ace.require('ace/range');\n const markerId = this.aceEditor.getSession().addMarker(new result.Range(firstRow, 0, lastRow, Infinity), cssClass, 'fullLine');\n this.markerIds.push(markerId);\n }\n\n public clearAllRowsMarkers(): void {\n this.markerIds.forEach((markerId) => this.aceEditor.getSession().removeMarker(markerId));\n this.markerIds.splice(0);\n }\n}\n","export enum NgssmAceEditorMode {\n text = 'ace/mode/text',\n javascript = 'ace/mode/javascript',\n python = 'ace/mode/python',\n json = 'ace/mode/json'\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { Logger } from 'ngssm-store';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AceBuildsLoader {\n private _loading$ = new BehaviorSubject<boolean>(true);\n private _initialized = false;\n\n constructor(\n @Inject(DOCUMENT) private document: any,\n private logger: Logger\n ) {}\n\n public get loading$(): Observable<boolean> {\n return this._loading$.asObservable();\n }\n\n public loadScripts(): Observable<boolean> {\n this.logger.debug(`[ace-editor] trying to get ace, isInitialized=${this._initialized}`);\n if (this._initialized) {\n return this._loading$.asObservable();\n }\n\n const script = this.document.createElement('script');\n script.type = 'text/javascript';\n script.src = 'ace-builds/ace.js';\n script.onload = () => {\n (window as any).ace.config.set('basePath', 'ace-builds');\n (window as any).ace.config.set('workerPath', 'ace-builds');\n this.logger.information(`[ace-editor] ace loaded.`);\n this._loading$.next(false);\n };\n\n this.logger.information(`[ace-editor] loading ace.`);\n this.document.body.appendChild(script);\n\n this._initialized = true;\n return this._loading$.asObservable();\n }\n}\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, NgZone, OnDestroy, Output, ViewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Observable, filter, take } from 'rxjs';\n\nimport { NgssmComponentOverlayDirective } from 'ngssm-toolkit';\n\nimport { AceBuildsLoader } from '../ace-builds-loader';\nimport { NgssmAceEditorApi } from '../ngssm-ace-editor-api';\nimport { NgssmAceEditorMode } from '../ngssm-ace-editor-mode';\n\n@Component({\n selector: 'ngssm-ace-editor',\n standalone: true,\n imports: [CommonModule, NgssmComponentOverlayDirective],\n templateUrl: './ngssm-ace-editor.component.html',\n styleUrls: ['./ngssm-ace-editor.component.scss']\n})\nexport class NgssmAceEditorComponent implements AfterViewInit, OnDestroy {\n private initialContent = '';\n private initialReadonly = true;\n private initialEditorMode: string = NgssmAceEditorMode.text;\n private silentContentUpdate = false;\n\n @ViewChild('aceEditor') public aceEditorDiv: ElementRef | undefined;\n @Output() public contentChanged = new EventEmitter<string>();\n @Output() public isValidChanged = new EventEmitter<boolean>();\n @Output() public editorReady = new EventEmitter<NgssmAceEditorApi>();\n\n public api: NgssmAceEditorApi | undefined;\n\n constructor(\n private aceBuildsLoader: AceBuildsLoader,\n private zone: NgZone\n ) {}\n\n public get loading$(): Observable<boolean> {\n return this.aceBuildsLoader.loading$;\n }\n\n @Input() public set content(value: string) {\n if (this.api?.aceEditor) {\n this.silentContentUpdate = true;\n this.api.aceEditor.setValue(value, -1);\n this.silentContentUpdate = false;\n } else {\n this.initialContent = value;\n }\n }\n\n @Input() public set readonly(value: boolean) {\n if (this.api?.aceEditor) {\n this.api.aceEditor.setReadOnly(value);\n } else {\n this.initialReadonly = value;\n }\n }\n\n @Input() public set editorMode(value: string) {\n if (this.api?.aceEditor) {\n this.api.aceEditor.session.setMode(value);\n } else {\n this.initialEditorMode = value;\n }\n }\n\n public ngAfterViewInit(): void {\n this.aceBuildsLoader\n .loadScripts()\n .pipe(\n filter((v) => !v),\n take(1)\n )\n .subscribe(() => {\n this.zone.runOutsideAngular(() => {\n const ace: any = (window as any).ace;\n const aceEditor = ace.edit(this.aceEditorDiv?.nativeElement);\n if (aceEditor) {\n this.api = new NgssmAceEditorApi(aceEditor);\n this.api.aceEditor.$blockScrolling = Infinity;\n this.api.aceEditor.setTheme('ace/theme/github');\n this.api.aceEditor.session.setMode(this.initialEditorMode);\n this.api.aceEditor.setReadOnly(this.initialReadonly);\n this.api.aceEditor.setValue(this.initialContent, -1);\n\n this.api.aceEditor.on('change', () => {\n if (this.api && !this.silentContentUpdate) {\n this.zone.run(() => this.contentChanged.emit(this.api?.aceEditor.getValue()));\n }\n });\n this.api.aceEditor.getSession().on('changeAnnotation', () => {\n if (this.api) {\n const annotations: any[] = this.api.aceEditor.getSession().getAnnotations();\n const isValid = annotations.findIndex((annotation) => annotation.type === 'error') === -1;\n this.zone.run(() => this.isValidChanged.emit(isValid));\n }\n });\n\n this.editorReady.emit(this.api);\n }\n });\n });\n }\n\n public ngOnDestroy(): void {\n this.api?.aceEditor?.destroy();\n this.api = undefined;\n }\n}\n","<div #aceEditor class=\"ngssm-ace-editor-container\" [ngssmDisplayOverlay]=\"(loading$ | async) === true\"></div>","/*\n * Public API Surface of ngssm-ace-editor\n */\n\nexport * from './lib/ngssm-ace-editor/ngssm-ace-editor.component';\nexport * from './lib/ace-builds-loader';\nexport * from './lib/ngssm-ace-editor-mode';\nexport * from './lib/ngssm-ace-editor-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AceBuildsLoader"],"mappings":"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"}
|