ngssm-ace-editor 15.3.4 → 15.3.6

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.
@@ -30,9 +30,9 @@ export class AceBuildsLoader {
30
30
  return this._loading$.asObservable();
31
31
  }
32
32
  }
33
- AceBuildsLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: AceBuildsLoader, deps: [{ token: DOCUMENT }, { token: i1.Logger }], target: i0.ɵɵFactoryTarget.Injectable });
34
- AceBuildsLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: AceBuildsLoader, providedIn: 'root' });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: AceBuildsLoader, decorators: [{
33
+ AceBuildsLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AceBuildsLoader, deps: [{ token: DOCUMENT }, { token: i1.Logger }], target: i0.ɵɵFactoryTarget.Injectable });
34
+ AceBuildsLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AceBuildsLoader, providedIn: 'root' });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AceBuildsLoader, decorators: [{
36
36
  type: Injectable,
37
37
  args: [{
38
38
  providedIn: 'root'
@@ -0,0 +1,101 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { take } from 'rxjs';
4
+ import { NgssmAceEditorApi } from '../ngssm-ace-editor-api';
5
+ import { NgssmAceEditorMode } from '../ngssm-ace-editor-mode';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../ace-builds-loader";
8
+ export class NgssmAceEditorComponent {
9
+ constructor(aceBuildsLoader, zone) {
10
+ this.aceBuildsLoader = aceBuildsLoader;
11
+ this.zone = zone;
12
+ this.initialContent = '';
13
+ this.initialReadonly = true;
14
+ this.initialEditorMode = NgssmAceEditorMode.text;
15
+ this.silentContentUpdate = false;
16
+ this.contentChanged = new EventEmitter();
17
+ this.isValidChanged = new EventEmitter();
18
+ this.editorReady = new EventEmitter();
19
+ }
20
+ set content(value) {
21
+ if (this.api?.aceEditor) {
22
+ this.silentContentUpdate = true;
23
+ this.api.aceEditor.setValue(value, -1);
24
+ this.silentContentUpdate = false;
25
+ }
26
+ else {
27
+ this.initialContent = value;
28
+ }
29
+ }
30
+ set readonly(value) {
31
+ if (this.api?.aceEditor) {
32
+ this.api.aceEditor.setReadOnly(value);
33
+ }
34
+ else {
35
+ this.initialReadonly = value;
36
+ }
37
+ }
38
+ set editorMode(value) {
39
+ if (this.api?.aceEditor) {
40
+ this.api.aceEditor.session.setMode(value);
41
+ }
42
+ else {
43
+ this.initialEditorMode = value;
44
+ }
45
+ }
46
+ ngAfterViewInit() {
47
+ this.aceBuildsLoader
48
+ .loadScripts()
49
+ .pipe(take(1))
50
+ .subscribe(() => {
51
+ this.zone.runOutsideAngular(() => {
52
+ const ace = window.ace;
53
+ const aceEditor = ace.edit(this.aceEditorDiv?.nativeElement);
54
+ if (aceEditor) {
55
+ this.api = new NgssmAceEditorApi(aceEditor);
56
+ this.api.aceEditor.$blockScrolling = Infinity;
57
+ this.api.aceEditor.setTheme('ace/theme/github');
58
+ this.api.aceEditor.session.setMode(this.initialEditorMode);
59
+ this.api.aceEditor.setReadOnly(this.initialReadonly);
60
+ this.api.aceEditor.setValue(this.initialContent, -1);
61
+ this.api.aceEditor.on('change', () => {
62
+ if (!this.silentContentUpdate) {
63
+ this.zone.run(() => this.contentChanged.emit(this.api?.aceEditor.getValue()));
64
+ }
65
+ });
66
+ this.api.aceEditor.getSession().on('changeAnnotation', () => {
67
+ const annotations = this.api?.aceEditor.getSession().getAnnotations();
68
+ const isValid = annotations.findIndex((annotation) => annotation.type === 'error') === -1;
69
+ this.zone.run(() => this.isValidChanged.emit(isValid));
70
+ });
71
+ this.editorReady.emit(this.api);
72
+ }
73
+ });
74
+ });
75
+ }
76
+ ngOnDestroy() {
77
+ this.api?.aceEditor?.destroy();
78
+ }
79
+ }
80
+ NgssmAceEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgssmAceEditorComponent, deps: [{ token: i1.AceBuildsLoader }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
81
+ NgssmAceEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", 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\"></div>\n", styles: [":host{display:flex;flex-direction:column}:host .ngssm-ace-editor-container{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgssmAceEditorComponent, decorators: [{
83
+ type: Component,
84
+ args: [{ selector: 'ngssm-ace-editor', standalone: true, imports: [CommonModule], template: "<div #aceEditor class=\"ngssm-ace-editor-container\"></div>\n", styles: [":host{display:flex;flex-direction:column}:host .ngssm-ace-editor-container{flex:1}\n"] }]
85
+ }], ctorParameters: function () { return [{ type: i1.AceBuildsLoader }, { type: i0.NgZone }]; }, propDecorators: { aceEditorDiv: [{
86
+ type: ViewChild,
87
+ args: ['aceEditor']
88
+ }], contentChanged: [{
89
+ type: Output
90
+ }], isValidChanged: [{
91
+ type: Output
92
+ }], editorReady: [{
93
+ type: Output
94
+ }], content: [{
95
+ type: Input
96
+ }], readonly: [{
97
+ type: Input
98
+ }], editorMode: [{
99
+ type: Input
100
+ }] } });
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tYWNlLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1hY2UtZWRpdG9yL3NyYy9saWIvbmdzc20tYWNlLWVkaXRvci9uZ3NzbS1hY2UtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLWFjZS1lZGl0b3Ivc3JjL2xpYi9uZ3NzbS1hY2UtZWRpdG9yL25nc3NtLWFjZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc1QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBUzlELE1BQU0sT0FBTyx1QkFBdUI7SUFhbEMsWUFBb0IsZUFBZ0MsRUFBVSxJQUFZO1FBQXRELG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQVE7UUFabEUsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDdkIsc0JBQWlCLEdBQVcsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1FBQ3BELHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUduQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzdDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFJ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QUFTLENBQUMsVUFBVSxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7d0JBQzdFLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7d0JBQzFGLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ3pELENBQUMsQ0FBQyxDQUFDO29CQUVILElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDakM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDakMsQ0FBQzs7b0hBNUVVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLG9YQ2ZwQywrREFDQSw2SURVWSxZQUFZOzJGQUlYLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDOzJIQVVRLFlBQVk7c0JBQTFDLFNBQVM7dUJBQUMsV0FBVztnQkFDTCxjQUFjO3NCQUE5QixNQUFNO2dCQUNVLGNBQWM7c0JBQTlCLE1BQU07Z0JBQ1UsV0FBVztzQkFBM0IsTUFBTTtnQkFNYSxPQUFPO3NCQUExQixLQUFLO2dCQVVjLFFBQVE7c0JBQTNCLEtBQUs7Z0JBUWMsVUFBVTtzQkFBN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBY2VCdWlsZHNMb2FkZXIgfSBmcm9tICcuLi9hY2UtYnVpbGRzLWxvYWRlcic7XG5pbXBvcnQgeyBOZ3NzbUFjZUVkaXRvckFwaSB9IGZyb20gJy4uL25nc3NtLWFjZS1lZGl0b3ItYXBpJztcbmltcG9ydCB7IE5nc3NtQWNlRWRpdG9yTW9kZSB9IGZyb20gJy4uL25nc3NtLWFjZS1lZGl0b3ItbW9kZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nc3NtLWFjZS1lZGl0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL25nc3NtLWFjZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uZ3NzbS1hY2UtZWRpdG9yLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmdzc21BY2VFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGluaXRpYWxDb250ZW50ID0gJyc7XG4gIHByaXZhdGUgaW5pdGlhbFJlYWRvbmx5ID0gdHJ1ZTtcbiAgcHJpdmF0ZSBpbml0aWFsRWRpdG9yTW9kZTogc3RyaW5nID0gTmdzc21BY2VFZGl0b3JNb2RlLnRleHQ7XG4gIHByaXZhdGUgc2lsZW50Q29udGVudFVwZGF0ZSA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ2FjZUVkaXRvcicpIHB1YmxpYyBhY2VFZGl0b3JEaXY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY29udGVudENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBpc1ZhbGlkQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBlZGl0b3JSZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8Tmdzc21BY2VFZGl0b3JBcGk+KCk7XG5cbiAgcHVibGljIGFwaTogTmdzc21BY2VFZGl0b3JBcGkgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhY2VCdWlsZHNMb2FkZXI6IEFjZUJ1aWxkc0xvYWRlciwgcHJpdmF0ZSB6b25lOiBOZ1pvbmUpIHt9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBjb250ZW50KHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5hcGk/LmFjZUVkaXRvcikge1xuICAgICAgdGhpcy5zaWxlbnRDb250ZW50VXBkYXRlID0gdHJ1ZTtcbiAgICAgIHRoaXMuYXBpLmFjZUVkaXRvci5zZXRWYWx1ZSh2YWx1ZSwgLTEpO1xuICAgICAgdGhpcy5zaWxlbnRDb250ZW50VXBkYXRlID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdGlhbENvbnRlbnQgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHJlYWRvbmx5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuYXBpPy5hY2VFZGl0b3IpIHtcbiAgICAgIHRoaXMuYXBpLmFjZUVkaXRvci5zZXRSZWFkT25seSh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdGlhbFJlYWRvbmx5ID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBlZGl0b3JNb2RlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5hcGk/LmFjZUVkaXRvcikge1xuICAgICAgdGhpcy5hcGkuYWNlRWRpdG9yLnNlc3Npb24uc2V0TW9kZSh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdGlhbEVkaXRvck1vZGUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWNlQnVpbGRzTG9hZGVyXG4gICAgICAubG9hZFNjcmlwdHMoKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFjZTogYW55ID0gKHdpbmRvdyBhcyBhbnkpLmFjZTtcbiAgICAgICAgICBjb25zdCBhY2VFZGl0b3IgPSBhY2UuZWRpdCh0aGlzLmFjZUVkaXRvckRpdj8ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgaWYgKGFjZUVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5hcGkgPSBuZXcgTmdzc21BY2VFZGl0b3JBcGkoYWNlRWRpdG9yKTtcbiAgICAgICAgICAgIHRoaXMuYXBpLmFjZUVkaXRvci4kYmxvY2tTY3JvbGxpbmcgPSBJbmZpbml0eTtcbiAgICAgICAgICAgIHRoaXMuYXBpLmFjZUVkaXRvci5zZXRUaGVtZSgnYWNlL3RoZW1lL2dpdGh1YicpO1xuICAgICAgICAgICAgdGhpcy5hcGkuYWNlRWRpdG9yLnNlc3Npb24uc2V0TW9kZSh0aGlzLmluaXRpYWxFZGl0b3JNb2RlKTtcbiAgICAgICAgICAgIHRoaXMuYXBpLmFjZUVkaXRvci5zZXRSZWFkT25seSh0aGlzLmluaXRpYWxSZWFkb25seSk7XG4gICAgICAgICAgICB0aGlzLmFwaS5hY2VFZGl0b3Iuc2V0VmFsdWUodGhpcy5pbml0aWFsQ29udGVudCwgLTEpO1xuXG4gICAgICAgICAgICB0aGlzLmFwaS5hY2VFZGl0b3Iub24oJ2NoYW5nZScsICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLnNpbGVudENvbnRlbnRVcGRhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHRoaXMuY29udGVudENoYW5nZWQuZW1pdCh0aGlzLmFwaT8uYWNlRWRpdG9yLmdldFZhbHVlKCkpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmFwaS5hY2VFZGl0b3IuZ2V0U2Vzc2lvbigpLm9uKCdjaGFuZ2VBbm5vdGF0aW9uJywgKCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBhbm5vdGF0aW9uczogYW55W10gPSB0aGlzLmFwaT8uYWNlRWRpdG9yLmdldFNlc3Npb24oKS5nZXRBbm5vdGF0aW9ucygpO1xuICAgICAgICAgICAgICBjb25zdCBpc1ZhbGlkID0gYW5ub3RhdGlvbnMuZmluZEluZGV4KChhbm5vdGF0aW9uKSA9PiBhbm5vdGF0aW9uLnR5cGUgPT09ICdlcnJvcicpID09PSAtMTtcbiAgICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB0aGlzLmlzVmFsaWRDaGFuZ2VkLmVtaXQoaXNWYWxpZCkpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuZWRpdG9yUmVhZHkuZW1pdCh0aGlzLmFwaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuYXBpPy5hY2VFZGl0b3I/LmRlc3Ryb3koKTtcbiAgfVxufVxuIiwiPGRpdiAjYWNlRWRpdG9yIGNsYXNzPVwibmdzc20tYWNlLWVkaXRvci1jb250YWluZXJcIj48L2Rpdj5cbiJdfQ==
@@ -1,9 +1,8 @@
1
1
  /*
2
2
  * Public API Surface of ngssm-ace-editor
3
3
  */
4
- export * from './lib/ngssm-ace-editor.module';
5
- export * from './lib/ace-editor/ace-editor.component';
4
+ export * from './lib/ngssm-ace-editor/ngssm-ace-editor.component';
6
5
  export * from './lib/ace-builds-loader';
7
6
  export * from './lib/ngssm-ace-editor-mode';
8
7
  export * from './lib/ngssm-ace-editor-api';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nc3NtLWFjZS1lZGl0b3Ivc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5nc3NtLWFjZS1lZGl0b3JcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3NzbS1hY2UtZWRpdG9yLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY2UtZWRpdG9yL2FjZS1lZGl0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjZS1idWlsZHMtbG9hZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25nc3NtLWFjZS1lZGl0b3ItbW9kZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3NzbS1hY2UtZWRpdG9yLWFwaSc7XG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nc3NtLWFjZS1lZGl0b3Ivc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3NzbS1hY2UtZWRpdG9yXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmdzc20tYWNlLWVkaXRvci9uZ3NzbS1hY2UtZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY2UtYnVpbGRzLWxvYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3NzbS1hY2UtZWRpdG9yLW1vZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmdzc20tYWNlLWVkaXRvci1hcGknO1xuIl19
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Inject, EventEmitter, Component, ViewChild, Output, Input, NgModule } from '@angular/core';
2
+ import { Injectable, Inject, EventEmitter, Component, ViewChild, Output, Input } from '@angular/core';
3
+ import { DOCUMENT, CommonModule } from '@angular/common';
3
4
  import { ReplaySubject, take } from 'rxjs';
4
- import { DOCUMENT } from '@angular/common';
5
5
  import * as i1 from 'ngssm-store';
6
6
 
7
7
  class NgssmAceEditorApi {
@@ -55,9 +55,9 @@ class AceBuildsLoader {
55
55
  return this._loading$.asObservable();
56
56
  }
57
57
  }
58
- AceBuildsLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: AceBuildsLoader, deps: [{ token: DOCUMENT }, { token: i1.Logger }], target: i0.ɵɵFactoryTarget.Injectable });
59
- AceBuildsLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: AceBuildsLoader, providedIn: 'root' });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: AceBuildsLoader, decorators: [{
58
+ AceBuildsLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AceBuildsLoader, deps: [{ token: DOCUMENT }, { token: i1.Logger }], target: i0.ɵɵFactoryTarget.Injectable });
59
+ AceBuildsLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AceBuildsLoader, providedIn: 'root' });
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AceBuildsLoader, decorators: [{
61
61
  type: Injectable,
62
62
  args: [{
63
63
  providedIn: 'root'
@@ -69,7 +69,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
69
69
  }] }, { type: i1.Logger }];
70
70
  } });
71
71
 
72
- class AceEditorComponent {
72
+ class NgssmAceEditorComponent {
73
73
  constructor(aceBuildsLoader, zone) {
74
74
  this.aceBuildsLoader = aceBuildsLoader;
75
75
  this.zone = zone;
@@ -147,11 +147,11 @@ class AceEditorComponent {
147
147
  (_b = (_a = this.api) === null || _a === void 0 ? void 0 : _a.aceEditor) === null || _b === void 0 ? void 0 : _b.destroy();
148
148
  }
149
149
  }
150
- AceEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: AceEditorComponent, deps: [{ token: AceBuildsLoader }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
151
- AceEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: AceEditorComponent, 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\"></div>\n", styles: [":host{display:flex;flex-direction:column}:host .ngssm-ace-editor-container{flex:1}\n"] });
152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: AceEditorComponent, decorators: [{
150
+ NgssmAceEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgssmAceEditorComponent, deps: [{ token: AceBuildsLoader }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
151
+ NgssmAceEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", 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\"></div>\n", styles: [":host{display:flex;flex-direction:column}:host .ngssm-ace-editor-container{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgssmAceEditorComponent, decorators: [{
153
153
  type: Component,
154
- args: [{ selector: 'ngssm-ace-editor', template: "<div #aceEditor class=\"ngssm-ace-editor-container\"></div>\n", styles: [":host{display:flex;flex-direction:column}:host .ngssm-ace-editor-container{flex:1}\n"] }]
154
+ args: [{ selector: 'ngssm-ace-editor', standalone: true, imports: [CommonModule], template: "<div #aceEditor class=\"ngssm-ace-editor-container\"></div>\n", styles: [":host{display:flex;flex-direction:column}:host .ngssm-ace-editor-container{flex:1}\n"] }]
155
155
  }], ctorParameters: function () { return [{ type: AceBuildsLoader }, { type: i0.NgZone }]; }, propDecorators: { aceEditorDiv: [{
156
156
  type: ViewChild,
157
157
  args: ['aceEditor']
@@ -169,20 +169,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
169
169
  type: Input
170
170
  }] } });
171
171
 
172
- class NgssmAceEditorModule {
173
- }
174
- NgssmAceEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: NgssmAceEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
175
- NgssmAceEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: NgssmAceEditorModule, declarations: [AceEditorComponent], exports: [AceEditorComponent] });
176
- NgssmAceEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: NgssmAceEditorModule });
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: NgssmAceEditorModule, decorators: [{
178
- type: NgModule,
179
- args: [{
180
- declarations: [AceEditorComponent],
181
- imports: [],
182
- exports: [AceEditorComponent]
183
- }]
184
- }] });
185
-
186
172
  /*
187
173
  * Public API Surface of ngssm-ace-editor
188
174
  */
@@ -191,5 +177,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
191
177
  * Generated bundle index. Do not edit.
192
178
  */
193
179
 
194
- export { AceBuildsLoader, AceEditorComponent, NgssmAceEditorApi, NgssmAceEditorMode, NgssmAceEditorModule };
180
+ export { AceBuildsLoader, NgssmAceEditorApi, NgssmAceEditorComponent, NgssmAceEditorMode };
195
181
  //# sourceMappingURL=ngssm-ace-editor.mjs.map
@@ -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/ace-editor/ace-editor.component.ts","../../../projects/ngssm-ace-editor/src/lib/ace-editor/ace-editor.component.html","../../../projects/ngssm-ace-editor/src/lib/ngssm-ace-editor.module.ts","../../../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 { Observable, ReplaySubject } from 'rxjs';\n\nimport { Logger } from 'ngssm-store';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AceBuildsLoader {\n private _loading$ = new ReplaySubject<boolean>();\n private _initialized = false;\n\n constructor(@Inject(DOCUMENT) private document: any, private logger: Logger) {}\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(true);\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 { take } from 'rxjs';\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 templateUrl: './ace-editor.component.html',\n styleUrls: ['./ace-editor.component.scss']\n})\nexport class AceEditorComponent 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(private aceBuildsLoader: AceBuildsLoader, private zone: NgZone) {}\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(take(1))\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\"></div>\n","import { NgModule } from '@angular/core';\nimport { AceEditorComponent } from './ace-editor/ace-editor.component';\n\n@NgModule({\n declarations: [AceEditorComponent],\n imports: [],\n exports: [AceEditorComponent]\n})\nexport class NgssmAceEditorModule {}\n","/*\n * Public API Surface of ngssm-ace-editor\n */\n\nexport * from './lib/ngssm-ace-editor.module';\nexport * from './lib/ace-editor/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 { Observable, ReplaySubject } from 'rxjs';\n\nimport { Logger } from 'ngssm-store';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AceBuildsLoader {\n private _loading$ = new ReplaySubject<boolean>();\n private _initialized = false;\n\n constructor(@Inject(DOCUMENT) private document: any, private logger: Logger) {}\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(true);\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 { take } from 'rxjs';\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],\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(private aceBuildsLoader: AceBuildsLoader, private zone: NgZone) {}\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(take(1))\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\"></div>\n","/*\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,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Inject, EventEmitter, Component, ViewChild, Output, Input, NgModule } from '@angular/core';
2
+ import { Injectable, Inject, EventEmitter, Component, ViewChild, Output, Input } from '@angular/core';
3
+ import { DOCUMENT, CommonModule } from '@angular/common';
3
4
  import { ReplaySubject, take } from 'rxjs';
4
- import { DOCUMENT } from '@angular/common';
5
5
  import * as i1 from 'ngssm-store';
6
6
 
7
7
  class NgssmAceEditorApi {
@@ -55,9 +55,9 @@ class AceBuildsLoader {
55
55
  return this._loading$.asObservable();
56
56
  }
57
57
  }
58
- AceBuildsLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: AceBuildsLoader, deps: [{ token: DOCUMENT }, { token: i1.Logger }], target: i0.ɵɵFactoryTarget.Injectable });
59
- AceBuildsLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: AceBuildsLoader, providedIn: 'root' });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: AceBuildsLoader, decorators: [{
58
+ AceBuildsLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AceBuildsLoader, deps: [{ token: DOCUMENT }, { token: i1.Logger }], target: i0.ɵɵFactoryTarget.Injectable });
59
+ AceBuildsLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AceBuildsLoader, providedIn: 'root' });
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AceBuildsLoader, decorators: [{
61
61
  type: Injectable,
62
62
  args: [{
63
63
  providedIn: 'root'
@@ -67,7 +67,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
67
67
  args: [DOCUMENT]
68
68
  }] }, { type: i1.Logger }]; } });
69
69
 
70
- class AceEditorComponent {
70
+ class NgssmAceEditorComponent {
71
71
  constructor(aceBuildsLoader, zone) {
72
72
  this.aceBuildsLoader = aceBuildsLoader;
73
73
  this.zone = zone;
@@ -139,11 +139,11 @@ class AceEditorComponent {
139
139
  this.api?.aceEditor?.destroy();
140
140
  }
141
141
  }
142
- AceEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: AceEditorComponent, deps: [{ token: AceBuildsLoader }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
143
- AceEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: AceEditorComponent, 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\"></div>\n", styles: [":host{display:flex;flex-direction:column}:host .ngssm-ace-editor-container{flex:1}\n"] });
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: AceEditorComponent, decorators: [{
142
+ NgssmAceEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgssmAceEditorComponent, deps: [{ token: AceBuildsLoader }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
143
+ NgssmAceEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", 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\"></div>\n", styles: [":host{display:flex;flex-direction:column}:host .ngssm-ace-editor-container{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgssmAceEditorComponent, decorators: [{
145
145
  type: Component,
146
- args: [{ selector: 'ngssm-ace-editor', template: "<div #aceEditor class=\"ngssm-ace-editor-container\"></div>\n", styles: [":host{display:flex;flex-direction:column}:host .ngssm-ace-editor-container{flex:1}\n"] }]
146
+ args: [{ selector: 'ngssm-ace-editor', standalone: true, imports: [CommonModule], template: "<div #aceEditor class=\"ngssm-ace-editor-container\"></div>\n", styles: [":host{display:flex;flex-direction:column}:host .ngssm-ace-editor-container{flex:1}\n"] }]
147
147
  }], ctorParameters: function () { return [{ type: AceBuildsLoader }, { type: i0.NgZone }]; }, propDecorators: { aceEditorDiv: [{
148
148
  type: ViewChild,
149
149
  args: ['aceEditor']
@@ -161,20 +161,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
161
161
  type: Input
162
162
  }] } });
163
163
 
164
- class NgssmAceEditorModule {
165
- }
166
- NgssmAceEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: NgssmAceEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
167
- NgssmAceEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: NgssmAceEditorModule, declarations: [AceEditorComponent], exports: [AceEditorComponent] });
168
- NgssmAceEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: NgssmAceEditorModule });
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: NgssmAceEditorModule, decorators: [{
170
- type: NgModule,
171
- args: [{
172
- declarations: [AceEditorComponent],
173
- imports: [],
174
- exports: [AceEditorComponent]
175
- }]
176
- }] });
177
-
178
164
  /*
179
165
  * Public API Surface of ngssm-ace-editor
180
166
  */
@@ -183,5 +169,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
183
169
  * Generated bundle index. Do not edit.
184
170
  */
185
171
 
186
- export { AceBuildsLoader, AceEditorComponent, NgssmAceEditorApi, NgssmAceEditorMode, NgssmAceEditorModule };
172
+ export { AceBuildsLoader, NgssmAceEditorApi, NgssmAceEditorComponent, NgssmAceEditorMode };
187
173
  //# sourceMappingURL=ngssm-ace-editor.mjs.map
@@ -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/ace-editor/ace-editor.component.ts","../../../projects/ngssm-ace-editor/src/lib/ace-editor/ace-editor.component.html","../../../projects/ngssm-ace-editor/src/lib/ngssm-ace-editor.module.ts","../../../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 { Observable, ReplaySubject } from 'rxjs';\n\nimport { Logger } from 'ngssm-store';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AceBuildsLoader {\n private _loading$ = new ReplaySubject<boolean>();\n private _initialized = false;\n\n constructor(@Inject(DOCUMENT) private document: any, private logger: Logger) {}\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(true);\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 { take } from 'rxjs';\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 templateUrl: './ace-editor.component.html',\n styleUrls: ['./ace-editor.component.scss']\n})\nexport class AceEditorComponent 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(private aceBuildsLoader: AceBuildsLoader, private zone: NgZone) {}\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(take(1))\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\"></div>\n","import { NgModule } from '@angular/core';\nimport { AceEditorComponent } from './ace-editor/ace-editor.component';\n\n@NgModule({\n declarations: [AceEditorComponent],\n imports: [],\n exports: [AceEditorComponent]\n})\nexport class NgssmAceEditorModule {}\n","/*\n * Public API Surface of ngssm-ace-editor\n */\n\nexport * from './lib/ngssm-ace-editor.module';\nexport * from './lib/ace-editor/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 { Observable, ReplaySubject } from 'rxjs';\n\nimport { Logger } from 'ngssm-store';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AceBuildsLoader {\n private _loading$ = new ReplaySubject<boolean>();\n private _initialized = false;\n\n constructor(@Inject(DOCUMENT) private document: any, private logger: Logger) {}\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(true);\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 { take } from 'rxjs';\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],\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(private aceBuildsLoader: AceBuildsLoader, private zone: NgZone) {}\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(take(1))\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\"></div>\n","/*\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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"}
@@ -2,7 +2,7 @@ import { AfterViewInit, ElementRef, EventEmitter, NgZone, OnDestroy } from '@ang
2
2
  import { AceBuildsLoader } from '../ace-builds-loader';
3
3
  import { NgssmAceEditorApi } from '../ngssm-ace-editor-api';
4
4
  import * as i0 from "@angular/core";
5
- export declare class AceEditorComponent implements AfterViewInit, OnDestroy {
5
+ export declare class NgssmAceEditorComponent implements AfterViewInit, OnDestroy {
6
6
  private aceBuildsLoader;
7
7
  private zone;
8
8
  private initialContent;
@@ -20,6 +20,6 @@ export declare class AceEditorComponent implements AfterViewInit, OnDestroy {
20
20
  set editorMode(value: string);
21
21
  ngAfterViewInit(): void;
22
22
  ngOnDestroy(): void;
23
- static ɵfac: i0.ɵɵFactoryDeclaration<AceEditorComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<AceEditorComponent, "ngssm-ace-editor", never, { "content": "content"; "readonly": "readonly"; "editorMode": "editorMode"; }, { "contentChanged": "contentChanged"; "isValidChanged": "isValidChanged"; "editorReady": "editorReady"; }, never, never, false, never>;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgssmAceEditorComponent, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgssmAceEditorComponent, "ngssm-ace-editor", never, { "content": "content"; "readonly": "readonly"; "editorMode": "editorMode"; }, { "contentChanged": "contentChanged"; "isValidChanged": "isValidChanged"; "editorReady": "editorReady"; }, never, never, true, never>;
25
25
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngssm-ace-editor",
3
- "version": "15.3.4",
3
+ "version": "15.3.6",
4
4
  "description": "NgSsm - Simple warpper of ace-editor.",
5
5
  "author": "Lion Marc",
6
6
  "license": "MIT",
package/public-api.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- export * from './lib/ngssm-ace-editor.module';
2
- export * from './lib/ace-editor/ace-editor.component';
1
+ export * from './lib/ngssm-ace-editor/ngssm-ace-editor.component';
3
2
  export * from './lib/ace-builds-loader';
4
3
  export * from './lib/ngssm-ace-editor-mode';
5
4
  export * from './lib/ngssm-ace-editor-api';
@@ -1,100 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { take } from 'rxjs';
3
- import { NgssmAceEditorApi } from '../ngssm-ace-editor-api';
4
- import { NgssmAceEditorMode } from '../ngssm-ace-editor-mode';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../ace-builds-loader";
7
- export class AceEditorComponent {
8
- constructor(aceBuildsLoader, zone) {
9
- this.aceBuildsLoader = aceBuildsLoader;
10
- this.zone = zone;
11
- this.initialContent = '';
12
- this.initialReadonly = true;
13
- this.initialEditorMode = NgssmAceEditorMode.text;
14
- this.silentContentUpdate = false;
15
- this.contentChanged = new EventEmitter();
16
- this.isValidChanged = new EventEmitter();
17
- this.editorReady = new EventEmitter();
18
- }
19
- set content(value) {
20
- if (this.api?.aceEditor) {
21
- this.silentContentUpdate = true;
22
- this.api.aceEditor.setValue(value, -1);
23
- this.silentContentUpdate = false;
24
- }
25
- else {
26
- this.initialContent = value;
27
- }
28
- }
29
- set readonly(value) {
30
- if (this.api?.aceEditor) {
31
- this.api.aceEditor.setReadOnly(value);
32
- }
33
- else {
34
- this.initialReadonly = value;
35
- }
36
- }
37
- set editorMode(value) {
38
- if (this.api?.aceEditor) {
39
- this.api.aceEditor.session.setMode(value);
40
- }
41
- else {
42
- this.initialEditorMode = value;
43
- }
44
- }
45
- ngAfterViewInit() {
46
- this.aceBuildsLoader
47
- .loadScripts()
48
- .pipe(take(1))
49
- .subscribe(() => {
50
- this.zone.runOutsideAngular(() => {
51
- const ace = window.ace;
52
- const aceEditor = ace.edit(this.aceEditorDiv?.nativeElement);
53
- if (aceEditor) {
54
- this.api = new NgssmAceEditorApi(aceEditor);
55
- this.api.aceEditor.$blockScrolling = Infinity;
56
- this.api.aceEditor.setTheme('ace/theme/github');
57
- this.api.aceEditor.session.setMode(this.initialEditorMode);
58
- this.api.aceEditor.setReadOnly(this.initialReadonly);
59
- this.api.aceEditor.setValue(this.initialContent, -1);
60
- this.api.aceEditor.on('change', () => {
61
- if (!this.silentContentUpdate) {
62
- this.zone.run(() => this.contentChanged.emit(this.api?.aceEditor.getValue()));
63
- }
64
- });
65
- this.api.aceEditor.getSession().on('changeAnnotation', () => {
66
- const annotations = this.api?.aceEditor.getSession().getAnnotations();
67
- const isValid = annotations.findIndex((annotation) => annotation.type === 'error') === -1;
68
- this.zone.run(() => this.isValidChanged.emit(isValid));
69
- });
70
- this.editorReady.emit(this.api);
71
- }
72
- });
73
- });
74
- }
75
- ngOnDestroy() {
76
- this.api?.aceEditor?.destroy();
77
- }
78
- }
79
- AceEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: AceEditorComponent, deps: [{ token: i1.AceBuildsLoader }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
80
- AceEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: AceEditorComponent, 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\"></div>\n", styles: [":host{display:flex;flex-direction:column}:host .ngssm-ace-editor-container{flex:1}\n"] });
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: AceEditorComponent, decorators: [{
82
- type: Component,
83
- args: [{ selector: 'ngssm-ace-editor', template: "<div #aceEditor class=\"ngssm-ace-editor-container\"></div>\n", styles: [":host{display:flex;flex-direction:column}:host .ngssm-ace-editor-container{flex:1}\n"] }]
84
- }], ctorParameters: function () { return [{ type: i1.AceBuildsLoader }, { type: i0.NgZone }]; }, propDecorators: { aceEditorDiv: [{
85
- type: ViewChild,
86
- args: ['aceEditor']
87
- }], contentChanged: [{
88
- type: Output
89
- }], isValidChanged: [{
90
- type: Output
91
- }], editorReady: [{
92
- type: Output
93
- }], content: [{
94
- type: Input
95
- }], readonly: [{
96
- type: Input
97
- }], editorMode: [{
98
- type: Input
99
- }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNlLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1hY2UtZWRpdG9yL3NyYy9saWIvYWNlLWVkaXRvci9hY2UtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLWFjZS1lZGl0b3Ivc3JjL2xpYi9hY2UtZWRpdG9yL2FjZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFPOUQsTUFBTSxPQUFPLGtCQUFrQjtJQWE3QixZQUFvQixlQUFnQyxFQUFVLElBQVk7UUFBdEQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBUTtRQVpsRSxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixzQkFBaUIsR0FBVyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDcEQsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBR25CLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM1QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDN0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUlRLENBQUM7SUFFOUUsSUFBb0IsT0FBTyxDQUFDLEtBQWE7UUFDdkMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFB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QVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzt3QkFDMUYsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztvQkFDekQsQ0FBQyxDQUFDLENBQUM7b0JBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNqQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzsrR0E1RVUsa0JBQWtCO21HQUFsQixrQkFBa0IsZ1dDWi9CLCtEQUNBOzJGRFdhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxrQkFBa0I7MkhBVUcsWUFBWTtzQkFBMUMsU0FBUzt1QkFBQyxXQUFXO2dCQUNMLGNBQWM7c0JBQTlCLE1BQU07Z0JBQ1UsY0FBYztzQkFBOUIsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNO2dCQU1hLE9BQU87c0JBQTFCLEtBQUs7Z0JBVWMsUUFBUTtzQkFBM0IsS0FBSztnQkFRYyxVQUFVO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQWNlQnVpbGRzTG9hZGVyIH0gZnJvbSAnLi4vYWNlLWJ1aWxkcy1sb2FkZXInO1xuaW1wb3J0IHsgTmdzc21BY2VFZGl0b3JBcGkgfSBmcm9tICcuLi9uZ3NzbS1hY2UtZWRpdG9yLWFwaSc7XG5pbXBvcnQgeyBOZ3NzbUFjZUVkaXRvck1vZGUgfSBmcm9tICcuLi9uZ3NzbS1hY2UtZWRpdG9yLW1vZGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3NzbS1hY2UtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2UtZWRpdG9yLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWNlRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBpbml0aWFsQ29udGVudCA9ICcnO1xuICBwcml2YXRlIGluaXRpYWxSZWFkb25seSA9IHRydWU7XG4gIHByaXZhdGUgaW5pdGlhbEVkaXRvck1vZGU6IHN0cmluZyA9IE5nc3NtQWNlRWRpdG9yTW9kZS50ZXh0O1xuICBwcml2YXRlIHNpbGVudENvbnRlbnRVcGRhdGUgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdhY2VFZGl0b3InKSBwdWJsaWMgYWNlRWRpdG9yRGl2OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICBAT3V0cHV0KCkgcHVibGljIGNvbnRlbnRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgaXNWYWxpZENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgZWRpdG9yUmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPE5nc3NtQWNlRWRpdG9yQXBpPigpO1xuXG4gIHB1YmxpYyBhcGk6IE5nc3NtQWNlRWRpdG9yQXBpIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWNlQnVpbGRzTG9hZGVyOiBBY2VCdWlsZHNMb2FkZXIsIHByaXZhdGUgem9uZTogTmdab25lKSB7fVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgY29udGVudCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuYXBpPy5hY2VFZGl0b3IpIHtcbiAgICAgIHRoaXMuc2lsZW50Q29udGVudFVwZGF0ZSA9IHRydWU7XG4gICAgICB0aGlzLmFwaS5hY2VFZGl0b3Iuc2V0VmFsdWUodmFsdWUsIC0xKTtcbiAgICAgIHRoaXMuc2lsZW50Q29udGVudFVwZGF0ZSA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluaXRpYWxDb250ZW50ID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCByZWFkb25seSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmFwaT8uYWNlRWRpdG9yKSB7XG4gICAgICB0aGlzLmFwaS5hY2VFZGl0b3Iuc2V0UmVhZE9ubHkodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluaXRpYWxSZWFkb25seSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgZWRpdG9yTW9kZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuYXBpPy5hY2VFZGl0b3IpIHtcbiAgICAgIHRoaXMuYXBpLmFjZUVkaXRvci5zZXNzaW9uLnNldE1vZGUodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluaXRpYWxFZGl0b3JNb2RlID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFjZUJ1aWxkc0xvYWRlclxuICAgICAgLmxvYWRTY3JpcHRzKClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBhY2U6IGFueSA9ICh3aW5kb3cgYXMgYW55KS5hY2U7XG4gICAgICAgICAgY29uc3QgYWNlRWRpdG9yID0gYWNlLmVkaXQodGhpcy5hY2VFZGl0b3JEaXY/Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgIGlmIChhY2VFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMuYXBpID0gbmV3IE5nc3NtQWNlRWRpdG9yQXBpKGFjZUVkaXRvcik7XG4gICAgICAgICAgICB0aGlzLmFwaS5hY2VFZGl0b3IuJGJsb2NrU2Nyb2xsaW5nID0gSW5maW5pdHk7XG4gICAgICAgICAgICB0aGlzLmFwaS5hY2VFZGl0b3Iuc2V0VGhlbWUoJ2FjZS90aGVtZS9naXRodWInKTtcbiAgICAgICAgICAgIHRoaXMuYXBpLmFjZUVkaXRvci5zZXNzaW9uLnNldE1vZGUodGhpcy5pbml0aWFsRWRpdG9yTW9kZSk7XG4gICAgICAgICAgICB0aGlzLmFwaS5hY2VFZGl0b3Iuc2V0UmVhZE9ubHkodGhpcy5pbml0aWFsUmVhZG9ubHkpO1xuICAgICAgICAgICAgdGhpcy5hcGkuYWNlRWRpdG9yLnNldFZhbHVlKHRoaXMuaW5pdGlhbENvbnRlbnQsIC0xKTtcblxuICAgICAgICAgICAgdGhpcy5hcGkuYWNlRWRpdG9yLm9uKCdjaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghdGhpcy5zaWxlbnRDb250ZW50VXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB0aGlzLmNvbnRlbnRDaGFuZ2VkLmVtaXQodGhpcy5hcGk/LmFjZUVkaXRvci5nZXRWYWx1ZSgpKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5hcGkuYWNlRWRpdG9yLmdldFNlc3Npb24oKS5vbignY2hhbmdlQW5ub3RhdGlvbicsICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgYW5ub3RhdGlvbnM6IGFueVtdID0gdGhpcy5hcGk/LmFjZUVkaXRvci5nZXRTZXNzaW9uKCkuZ2V0QW5ub3RhdGlvbnMoKTtcbiAgICAgICAgICAgICAgY29uc3QgaXNWYWxpZCA9IGFubm90YXRpb25zLmZpbmRJbmRleCgoYW5ub3RhdGlvbikgPT4gYW5ub3RhdGlvbi50eXBlID09PSAnZXJyb3InKSA9PT0gLTE7XG4gICAgICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4gdGhpcy5pc1ZhbGlkQ2hhbmdlZC5lbWl0KGlzVmFsaWQpKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLmVkaXRvclJlYWR5LmVtaXQodGhpcy5hcGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmFwaT8uYWNlRWRpdG9yPy5kZXN0cm95KCk7XG4gIH1cbn1cbiIsIjxkaXYgI2FjZUVkaXRvciBjbGFzcz1cIm5nc3NtLWFjZS1lZGl0b3ItY29udGFpbmVyXCI+PC9kaXY+XG4iXX0=
@@ -1,17 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { AceEditorComponent } from './ace-editor/ace-editor.component';
3
- import * as i0 from "@angular/core";
4
- export class NgssmAceEditorModule {
5
- }
6
- NgssmAceEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: NgssmAceEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
- NgssmAceEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: NgssmAceEditorModule, declarations: [AceEditorComponent], exports: [AceEditorComponent] });
8
- NgssmAceEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: NgssmAceEditorModule });
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: NgssmAceEditorModule, decorators: [{
10
- type: NgModule,
11
- args: [{
12
- declarations: [AceEditorComponent],
13
- imports: [],
14
- exports: [AceEditorComponent]
15
- }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tYWNlLWVkaXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1hY2UtZWRpdG9yL3NyYy9saWIvbmdzc20tYWNlLWVkaXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFPdkUsTUFBTSxPQUFPLG9CQUFvQjs7aUhBQXBCLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGlCQUpoQixrQkFBa0IsYUFFdkIsa0JBQWtCO2tIQUVqQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFMaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjZUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vYWNlLWVkaXRvci9hY2UtZWRpdG9yLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0FjZUVkaXRvckNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbQWNlRWRpdG9yQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBOZ3NzbUFjZUVkaXRvck1vZHVsZSB7fVxuIl19
@@ -1,7 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./ace-editor/ace-editor.component";
3
- export declare class NgssmAceEditorModule {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<NgssmAceEditorModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgssmAceEditorModule, [typeof i1.AceEditorComponent], never, [typeof i1.AceEditorComponent]>;
6
- static ɵinj: i0.ɵɵInjectorDeclaration<NgssmAceEditorModule>;
7
- }