@firestitch/content 12.3.4 → 12.3.5
Sign up to get free protection for your applications and to get access to all the features.
- package/app/consts/index.d.ts +1 -1
- package/app/consts/page-types.const.d.ts +5 -5
- package/app/enums/editor-type.d.ts +6 -6
- package/app/enums/index.d.ts +2 -2
- package/app/enums/page-type.enum.d.ts +6 -6
- package/app/injectors/content-config.injector.d.ts +2 -2
- package/app/injectors/index.d.ts +1 -1
- package/app/interfaces/content-config.d.ts +21 -21
- package/app/interfaces/content-layout.d.ts +10 -10
- package/app/interfaces/content-page.d.ts +14 -14
- package/app/interfaces/content-style.d.ts +4 -4
- package/app/interfaces/index.d.ts +4 -4
- package/app/modules/content/components/content/content.component.d.ts +25 -25
- package/app/modules/content/components/content/index.d.ts +1 -1
- package/app/modules/content/components/content-renderer/content-renderer.component.d.ts +24 -24
- package/app/modules/content/components/content-renderer/index.d.ts +1 -1
- package/app/modules/content/fs-content.module.d.ts +10 -10
- package/app/modules/content-layouts/components/content-layout/content-layout.component.d.ts +27 -27
- package/app/modules/content-layouts/components/content-layout/index.d.ts +1 -1
- package/app/modules/content-layouts/components/content-layout-editor/content-layout-editor.component.d.ts +50 -50
- package/app/modules/content-layouts/components/content-layout-editor/index.d.ts +1 -1
- package/app/modules/content-layouts/components/content-layouts/content-layouts.component.d.ts +21 -21
- package/app/modules/content-layouts/components/content-layouts/index.d.ts +1 -1
- package/app/modules/content-layouts/components/index.d.ts +3 -3
- package/app/modules/content-layouts/fs-content-layouts.module.d.ts +28 -28
- package/app/modules/content-pages/components/content-page/content-page.component.d.ts +32 -32
- package/app/modules/content-pages/components/content-page/index.d.ts +1 -1
- package/app/modules/content-pages/components/content-page-editor/content-page-editor.component.d.ts +55 -55
- package/app/modules/content-pages/components/content-page-editor/index.d.ts +1 -1
- package/app/modules/content-pages/components/content-pages/content-pages.component.d.ts +24 -24
- package/app/modules/content-pages/components/content-pages/index.d.ts +1 -1
- package/app/modules/content-pages/components/index.d.ts +3 -3
- package/app/modules/content-pages/fs-content-pages.module.d.ts +32 -32
- package/app/modules/content-style/components/content-style/content-style.component.d.ts +27 -27
- package/app/modules/content-style/components/content-style/index.d.ts +1 -1
- package/app/modules/content-style/fs-content-style.module.d.ts +14 -14
- package/app/modules/editor/components/editor/editor.component.d.ts +49 -49
- package/app/modules/editor/components/editor/index.d.ts +1 -1
- package/app/modules/editor/components/editor-label/editor-label.component.d.ts +7 -7
- package/app/modules/editor/components/editor-label/index.d.ts +1 -1
- package/app/modules/editor/fs-content-editor.module.d.ts +24 -24
- package/app/modules/editor/index.d.ts +1 -1
- package/bundles/firestitch-content.umd.js +1376 -1374
- package/bundles/firestitch-content.umd.js.map +1 -1
- package/esm2015/app/consts/index.js +1 -1
- package/esm2015/app/consts/page-types.const.js +7 -7
- package/esm2015/app/enums/editor-type.js +7 -7
- package/esm2015/app/enums/index.js +3 -3
- package/esm2015/app/enums/page-type.enum.js +7 -7
- package/esm2015/app/injectors/content-config.injector.js +2 -2
- package/esm2015/app/injectors/index.js +1 -1
- package/esm2015/app/interfaces/content-config.js +1 -1
- package/esm2015/app/interfaces/content-layout.js +1 -1
- package/esm2015/app/interfaces/content-page.js +1 -1
- package/esm2015/app/interfaces/content-style.js +1 -1
- package/esm2015/app/interfaces/index.js +5 -5
- package/esm2015/app/modules/content/components/content/content.component.js +84 -84
- package/esm2015/app/modules/content/components/content/index.js +1 -1
- package/esm2015/app/modules/content/components/content-renderer/content-renderer.component.js +79 -77
- package/esm2015/app/modules/content/components/content-renderer/index.js +1 -1
- package/esm2015/app/modules/content/fs-content.module.js +32 -32
- package/esm2015/app/modules/content-layouts/components/content-layout/content-layout.component.js +71 -71
- package/esm2015/app/modules/content-layouts/components/content-layout/index.js +1 -1
- package/esm2015/app/modules/content-layouts/components/content-layout-editor/content-layout-editor.component.js +159 -159
- package/esm2015/app/modules/content-layouts/components/content-layout-editor/index.js +1 -1
- package/esm2015/app/modules/content-layouts/components/content-layouts/content-layouts.component.js +120 -120
- package/esm2015/app/modules/content-layouts/components/content-layouts/index.js +1 -1
- package/esm2015/app/modules/content-layouts/components/index.js +4 -4
- package/esm2015/app/modules/content-layouts/fs-content-layouts.module.js +103 -103
- package/esm2015/app/modules/content-pages/components/content-page/content-page.component.js +82 -82
- package/esm2015/app/modules/content-pages/components/content-page/index.js +1 -1
- package/esm2015/app/modules/content-pages/components/content-page-editor/content-page-editor.component.js +176 -176
- package/esm2015/app/modules/content-pages/components/content-page-editor/index.js +1 -1
- package/esm2015/app/modules/content-pages/components/content-pages/content-pages.component.js +129 -129
- package/esm2015/app/modules/content-pages/components/content-pages/index.js +1 -1
- package/esm2015/app/modules/content-pages/components/index.js +4 -4
- package/esm2015/app/modules/content-pages/fs-content-pages.module.js +116 -116
- package/esm2015/app/modules/content-style/components/content-style/content-style.component.js +70 -70
- package/esm2015/app/modules/content-style/components/content-style/index.js +1 -1
- package/esm2015/app/modules/content-style/fs-content-style.module.js +49 -49
- package/esm2015/app/modules/editor/components/editor/editor.component.js +148 -148
- package/esm2015/app/modules/editor/components/editor/index.js +1 -1
- package/esm2015/app/modules/editor/components/editor-label/editor-label.component.js +20 -20
- package/esm2015/app/modules/editor/components/editor-label/index.js +1 -1
- package/esm2015/app/modules/editor/fs-content-editor.module.js +88 -88
- package/esm2015/app/modules/editor/index.js +1 -1
- package/esm2015/firestitch-content.js +4 -4
- package/esm2015/public_api.js +10 -10
- package/fesm2015/firestitch-content.js +1280 -1278
- package/fesm2015/firestitch-content.js.map +1 -1
- package/firestitch-content.d.ts +5 -5
- package/package.json +1 -1
- package/public_api.d.ts +10 -10
package/esm2015/app/modules/content-style/components/content-style/content-style.component.js
CHANGED
@@ -1,71 +1,71 @@
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, ViewChild, } from '@angular/core';
|
2
|
-
import { FsFormDirective } from '@firestitch/form';
|
3
|
-
import { FsMessage } from '@firestitch/message';
|
4
|
-
import { FsTextEditorComponent } from '@firestitch/text-editor';
|
5
|
-
import { Subject } from 'rxjs';
|
6
|
-
import { tap } from 'rxjs/operators';
|
7
|
-
import { FS_CONTENT_CONFIG } from '../../../../injectors';
|
8
|
-
import * as i0 from "@angular/core";
|
9
|
-
import * as i1 from "@firestitch/message";
|
10
|
-
import * as i2 from "@firestitch/text-editor";
|
11
|
-
import * as i3 from "@firestitch/skeleton";
|
12
|
-
import * as i4 from "@angular/forms";
|
13
|
-
import * as i5 from "@firestitch/common";
|
14
|
-
export class ContentStyleComponent {
|
15
|
-
constructor(_config, _message, _cdRef) {
|
16
|
-
this._config = _config;
|
17
|
-
this._message = _message;
|
18
|
-
this._cdRef = _cdRef;
|
19
|
-
this.height = '100%';
|
20
|
-
this.contentStyle = null;
|
21
|
-
this.styleConfig = {
|
22
|
-
tabSize: 2,
|
23
|
-
language: 'scss',
|
24
|
-
height: '100%',
|
25
|
-
};
|
26
|
-
this._destroy$ = new Subject();
|
27
|
-
}
|
28
|
-
ngOnInit() {
|
29
|
-
this.styleConfig.height = this.height;
|
30
|
-
this._config.loadContentStyle()
|
31
|
-
.subscribe((contentStyle) => {
|
32
|
-
this.contentStyle = contentStyle;
|
33
|
-
this._cdRef.markForCheck();
|
34
|
-
});
|
35
|
-
}
|
36
|
-
ngOnDestroy() {
|
37
|
-
this._destroy$.next();
|
38
|
-
this._destroy$.complete();
|
39
|
-
}
|
40
|
-
save() {
|
41
|
-
this._config.saveContentStyle(this.contentStyle)
|
42
|
-
.pipe(tap((contentStyle) => {
|
43
|
-
this.contentStyle = Object.assign(Object.assign({}, this.contentStyle), contentStyle);
|
44
|
-
this._cdRef.markForCheck();
|
45
|
-
this._message.success('Saved Changes');
|
46
|
-
})).subscribe();
|
47
|
-
}
|
48
|
-
}
|
49
|
-
ContentStyleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ContentStyleComponent, deps: [{ token: FS_CONTENT_CONFIG }, { token: i1.FsMessage }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
50
|
-
ContentStyleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ContentStyleComponent, selector: "fs-content-style", inputs: { height: "height" }, viewQueries: [{ propertyName: "textEditors", first: true, predicate: FsTextEditorComponent, descendants: true }, { propertyName: "form", first: true, predicate: FsFormDirective, descendants: true }], ngImport: i0, template: "<ng-container *fsSkeletonForm=\"contentStyle\">\n <fs-text-editor \n [(ngModel)]=\"contentStyle.scss\" \n name=\"contentStyle\"\n [fsModelChangeOptions]=\"{ debounce: 300 }\"\n (fsModelChange)=\"save()\"\n [config]=\"styleConfig\">\n </fs-text-editor> \n</ng-container>\n", styles: [""], components: [{ type: i2.FsTextEditorComponent, selector: "fs-text-editor", inputs: ["config", "scrollable"], outputs: ["ready", "blur"] }], directives: [{ type: i3.FsSkeletonFormDirective, selector: "[fsSkeletonForm]", inputs: ["fsSkeletonForm", "fsSkeletonFormLines"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.FsModelChangeDirective, selector: "[fsModelChange]", inputs: ["fsModelChangeOptions"], outputs: ["fsModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ContentStyleComponent, decorators: [{
|
52
|
-
type: Component,
|
53
|
-
args: [{
|
54
|
-
selector: 'fs-content-style',
|
55
|
-
templateUrl: './content-style.component.html',
|
56
|
-
styleUrls: ['./content-style.component.scss'],
|
57
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
58
|
-
}]
|
59
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
60
|
-
type: Inject,
|
61
|
-
args: [FS_CONTENT_CONFIG]
|
62
|
-
}] }, { type: i1.FsMessage }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { textEditors: [{
|
63
|
-
type: ViewChild,
|
64
|
-
args: [FsTextEditorComponent]
|
65
|
-
}], form: [{
|
66
|
-
type: ViewChild,
|
67
|
-
args: [FsFormDirective]
|
68
|
-
}], height: [{
|
69
|
-
type: Input
|
70
|
-
}] } });
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Input, ViewChild, } from '@angular/core';
|
2
|
+
import { FsFormDirective } from '@firestitch/form';
|
3
|
+
import { FsMessage } from '@firestitch/message';
|
4
|
+
import { FsTextEditorComponent } from '@firestitch/text-editor';
|
5
|
+
import { Subject } from 'rxjs';
|
6
|
+
import { tap } from 'rxjs/operators';
|
7
|
+
import { FS_CONTENT_CONFIG } from '../../../../injectors';
|
8
|
+
import * as i0 from "@angular/core";
|
9
|
+
import * as i1 from "@firestitch/message";
|
10
|
+
import * as i2 from "@firestitch/text-editor";
|
11
|
+
import * as i3 from "@firestitch/skeleton";
|
12
|
+
import * as i4 from "@angular/forms";
|
13
|
+
import * as i5 from "@firestitch/common";
|
14
|
+
export class ContentStyleComponent {
|
15
|
+
constructor(_config, _message, _cdRef) {
|
16
|
+
this._config = _config;
|
17
|
+
this._message = _message;
|
18
|
+
this._cdRef = _cdRef;
|
19
|
+
this.height = '100%';
|
20
|
+
this.contentStyle = null;
|
21
|
+
this.styleConfig = {
|
22
|
+
tabSize: 2,
|
23
|
+
language: 'scss',
|
24
|
+
height: '100%',
|
25
|
+
};
|
26
|
+
this._destroy$ = new Subject();
|
27
|
+
}
|
28
|
+
ngOnInit() {
|
29
|
+
this.styleConfig.height = this.height;
|
30
|
+
this._config.loadContentStyle()
|
31
|
+
.subscribe((contentStyle) => {
|
32
|
+
this.contentStyle = contentStyle;
|
33
|
+
this._cdRef.markForCheck();
|
34
|
+
});
|
35
|
+
}
|
36
|
+
ngOnDestroy() {
|
37
|
+
this._destroy$.next();
|
38
|
+
this._destroy$.complete();
|
39
|
+
}
|
40
|
+
save() {
|
41
|
+
this._config.saveContentStyle(this.contentStyle)
|
42
|
+
.pipe(tap((contentStyle) => {
|
43
|
+
this.contentStyle = Object.assign(Object.assign({}, this.contentStyle), contentStyle);
|
44
|
+
this._cdRef.markForCheck();
|
45
|
+
this._message.success('Saved Changes');
|
46
|
+
})).subscribe();
|
47
|
+
}
|
48
|
+
}
|
49
|
+
ContentStyleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ContentStyleComponent, deps: [{ token: FS_CONTENT_CONFIG }, { token: i1.FsMessage }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
50
|
+
ContentStyleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ContentStyleComponent, selector: "fs-content-style", inputs: { height: "height" }, viewQueries: [{ propertyName: "textEditors", first: true, predicate: FsTextEditorComponent, descendants: true }, { propertyName: "form", first: true, predicate: FsFormDirective, descendants: true }], ngImport: i0, template: "<ng-container *fsSkeletonForm=\"contentStyle\">\n <fs-text-editor \n [(ngModel)]=\"contentStyle.scss\" \n name=\"contentStyle\"\n [fsModelChangeOptions]=\"{ debounce: 300 }\"\n (fsModelChange)=\"save()\"\n [config]=\"styleConfig\">\n </fs-text-editor> \n</ng-container>\n", styles: [""], components: [{ type: i2.FsTextEditorComponent, selector: "fs-text-editor", inputs: ["config", "scrollable"], outputs: ["ready", "blur"] }], directives: [{ type: i3.FsSkeletonFormDirective, selector: "[fsSkeletonForm]", inputs: ["fsSkeletonForm", "fsSkeletonFormLines"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.FsModelChangeDirective, selector: "[fsModelChange]", inputs: ["fsModelChangeOptions"], outputs: ["fsModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ContentStyleComponent, decorators: [{
|
52
|
+
type: Component,
|
53
|
+
args: [{
|
54
|
+
selector: 'fs-content-style',
|
55
|
+
templateUrl: './content-style.component.html',
|
56
|
+
styleUrls: ['./content-style.component.scss'],
|
57
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
58
|
+
}]
|
59
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
60
|
+
type: Inject,
|
61
|
+
args: [FS_CONTENT_CONFIG]
|
62
|
+
}] }, { type: i1.FsMessage }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { textEditors: [{
|
63
|
+
type: ViewChild,
|
64
|
+
args: [FsTextEditorComponent]
|
65
|
+
}], form: [{
|
66
|
+
type: ViewChild,
|
67
|
+
args: [FsFormDirective]
|
68
|
+
}], height: [{
|
69
|
+
type: Input
|
70
|
+
}] } });
|
71
71
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1zdHlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvY29udGVudC1zdHlsZS9jb21wb25lbnRzL2NvbnRlbnQtc3R5bGUvY29udGVudC1zdHlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvY29udGVudC1zdHlsZS9jb21wb25lbnRzL2NvbnRlbnQtc3R5bGUvY29udGVudC1zdHlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQVUxRCxNQUFNLE9BQU8scUJBQXFCO0lBbUJoQyxZQUNxQyxPQUF3QixFQUNuRCxRQUFtQixFQUNuQixNQUF5QjtRQUZFLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ25ELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFkbkIsV0FBTSxHQUFXLE1BQU0sQ0FBQztRQUVqQyxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixnQkFBVyxHQUFHO1lBQ25CLE9BQU8sRUFBRSxDQUFDO1lBQ1YsUUFBUSxFQUFFLE1BQU07WUFDaEIsTUFBTSxFQUFFLE1BQU07U0FDZixDQUFDO1FBRU0sY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFNckMsQ0FBQztJQUVHLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7YUFDNUIsU0FBUyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7WUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUM3QyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksbUNBQ1osSUFBSSxDQUFDLFlBQVksR0FDakIsWUFBWSxDQUNoQixDQUFDO1lBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FDSCxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2xCLENBQUM7O21IQXBEVSxxQkFBcUIsa0JBb0J0QixpQkFBaUI7dUdBcEJoQixxQkFBcUIsbUlBRXJCLHFCQUFxQix1RUFHckIsZUFBZSxnRENsQzVCLCtTQVNBOzRGRG9CYSxxQkFBcUI7a0JBTmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsU0FBUyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7b0JBQzdDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7MEJBcUJJLE1BQU07MkJBQUMsaUJBQWlCO29HQWpCcEIsV0FBVztzQkFEakIsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBSXpCLElBQUk7c0JBRFYsU0FBUzt1QkFBQyxlQUFlO2dCQUdWLE1BQU07c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuaW1wb3J0IHsgRnNGb3JtRGlyZWN0aXZlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZm9ybSc7XG5pbXBvcnQgeyBGc01lc3NhZ2UgfSBmcm9tICdAZmlyZXN0aXRjaC9tZXNzYWdlJztcbmltcG9ydCB7IEZzVGV4dEVkaXRvckNvbXBvbmVudCB9IGZyb20gJ0BmaXJlc3RpdGNoL3RleHQtZWRpdG9yJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGU19DT05URU5UX0NPTkZJRyB9IGZyb20gJy4uLy4uLy4uLy4uL2luamVjdG9ycyc7XG5pbXBvcnQgeyBGc0NvbnRlbnRDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1jb250ZW50LXN0eWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRlbnQtc3R5bGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZW50LXN0eWxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50U3R5bGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQFZpZXdDaGlsZChGc1RleHRFZGl0b3JDb21wb25lbnQpXG4gIHB1YmxpYyB0ZXh0RWRpdG9yczogRnNUZXh0RWRpdG9yQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoRnNGb3JtRGlyZWN0aXZlKVxuICBwdWJsaWMgZm9ybTogRnNGb3JtRGlyZWN0aXZlO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBoZWlnaHQ6IHN0cmluZyA9ICcxMDAlJztcblxuICBwdWJsaWMgY29udGVudFN0eWxlID0gbnVsbDtcbiAgcHVibGljIHN0eWxlQ29uZmlnID0ge1xuICAgIHRhYlNpemU6IDIsXG4gICAgbGFuZ3VhZ2U6ICdzY3NzJyxcbiAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgfTtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChGU19DT05URU5UX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBGc0NvbnRlbnRDb25maWcsXG4gICAgcHJpdmF0ZSBfbWVzc2FnZTogRnNNZXNzYWdlLFxuICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0eWxlQ29uZmlnLmhlaWdodCA9IHRoaXMuaGVpZ2h0O1xuICAgIHRoaXMuX2NvbmZpZy5sb2FkQ29udGVudFN0eWxlKClcbiAgICAgIC5zdWJzY3JpYmUoKGNvbnRlbnRTdHlsZSkgPT4ge1xuICAgICAgICB0aGlzLmNvbnRlbnRTdHlsZSA9IGNvbnRlbnRTdHlsZTtcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlKCkge1xuICAgIHRoaXMuX2NvbmZpZy5zYXZlQ29udGVudFN0eWxlKHRoaXMuY29udGVudFN0eWxlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoY29udGVudFN0eWxlKSA9PiB7XG4gICAgICAgICAgdGhpcy5jb250ZW50U3R5bGUgPSB7XG4gICAgICAgICAgICAuLi50aGlzLmNvbnRlbnRTdHlsZSxcbiAgICAgICAgICAgIC4uLmNvbnRlbnRTdHlsZSxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgdGhpcy5fbWVzc2FnZS5zdWNjZXNzKCdTYXZlZCBDaGFuZ2VzJyk7XG4gICAgICAgIH0pLFxuICAgICAgKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG59XG4iLCI8bmctY29udGFpbmVyICpmc1NrZWxldG9uRm9ybT1cImNvbnRlbnRTdHlsZVwiPlxuICA8ZnMtdGV4dC1lZGl0b3IgXG4gICAgWyhuZ01vZGVsKV09XCJjb250ZW50U3R5bGUuc2Nzc1wiIFxuICAgIG5hbWU9XCJjb250ZW50U3R5bGVcIlxuICAgIFtmc01vZGVsQ2hhbmdlT3B0aW9uc109XCJ7IGRlYm91bmNlOiAzMDAgfVwiXG4gICAgKGZzTW9kZWxDaGFuZ2UpPVwic2F2ZSgpXCJcbiAgICBbY29uZmlnXT1cInN0eWxlQ29uZmlnXCI+XG4gIDwvZnMtdGV4dC1lZGl0b3I+ICAgICAgICAgICAgICBcbjwvbmctY29udGFpbmVyPlxuIl19
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export * from './content-style.component';
|
1
|
+
export * from './content-style.component';
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvY29udGVudC1zdHlsZS9jb21wb25lbnRzL2NvbnRlbnQtc3R5bGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29udGVudC1zdHlsZS5jb21wb25lbnQnO1xuIl19
|
@@ -1,50 +1,50 @@
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
2
|
-
import { NgModule } from '@angular/core';
|
3
|
-
import { FormsModule } from '@angular/forms';
|
4
|
-
import { MatButtonModule } from '@angular/material/button';
|
5
|
-
import { FsCommonModule } from '@firestitch/common';
|
6
|
-
import { FsSkeletonModule } from '@firestitch/skeleton';
|
7
|
-
import { FsTextEditorModule } from '@firestitch/text-editor';
|
8
|
-
import { FsContentEditorModule } from '../editor';
|
9
|
-
import { ContentStyleComponent } from './components/content-style';
|
10
|
-
import * as i0 from "@angular/core";
|
11
|
-
export class FsContentStyleModule {
|
12
|
-
}
|
13
|
-
FsContentStyleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsContentStyleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
14
|
-
FsContentStyleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsContentStyleModule, declarations: [ContentStyleComponent], imports: [CommonModule,
|
15
|
-
FormsModule,
|
16
|
-
MatButtonModule,
|
17
|
-
FsTextEditorModule,
|
18
|
-
FsSkeletonModule,
|
19
|
-
FsCommonModule,
|
20
|
-
FsContentEditorModule], exports: [ContentStyleComponent] });
|
21
|
-
FsContentStyleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsContentStyleModule, imports: [[
|
22
|
-
CommonModule,
|
23
|
-
FormsModule,
|
24
|
-
MatButtonModule,
|
25
|
-
FsTextEditorModule,
|
26
|
-
FsSkeletonModule,
|
27
|
-
FsCommonModule,
|
28
|
-
FsContentEditorModule,
|
29
|
-
]] });
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsContentStyleModule, decorators: [{
|
31
|
-
type: NgModule,
|
32
|
-
args: [{
|
33
|
-
imports: [
|
34
|
-
CommonModule,
|
35
|
-
FormsModule,
|
36
|
-
MatButtonModule,
|
37
|
-
FsTextEditorModule,
|
38
|
-
FsSkeletonModule,
|
39
|
-
FsCommonModule,
|
40
|
-
FsContentEditorModule,
|
41
|
-
],
|
42
|
-
exports: [
|
43
|
-
ContentStyleComponent,
|
44
|
-
],
|
45
|
-
declarations: [
|
46
|
-
ContentStyleComponent,
|
47
|
-
],
|
48
|
-
}]
|
49
|
-
}] });
|
1
|
+
import { CommonModule } from '@angular/common';
|
2
|
+
import { NgModule } from '@angular/core';
|
3
|
+
import { FormsModule } from '@angular/forms';
|
4
|
+
import { MatButtonModule } from '@angular/material/button';
|
5
|
+
import { FsCommonModule } from '@firestitch/common';
|
6
|
+
import { FsSkeletonModule } from '@firestitch/skeleton';
|
7
|
+
import { FsTextEditorModule } from '@firestitch/text-editor';
|
8
|
+
import { FsContentEditorModule } from '../editor';
|
9
|
+
import { ContentStyleComponent } from './components/content-style';
|
10
|
+
import * as i0 from "@angular/core";
|
11
|
+
export class FsContentStyleModule {
|
12
|
+
}
|
13
|
+
FsContentStyleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsContentStyleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
14
|
+
FsContentStyleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsContentStyleModule, declarations: [ContentStyleComponent], imports: [CommonModule,
|
15
|
+
FormsModule,
|
16
|
+
MatButtonModule,
|
17
|
+
FsTextEditorModule,
|
18
|
+
FsSkeletonModule,
|
19
|
+
FsCommonModule,
|
20
|
+
FsContentEditorModule], exports: [ContentStyleComponent] });
|
21
|
+
FsContentStyleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsContentStyleModule, imports: [[
|
22
|
+
CommonModule,
|
23
|
+
FormsModule,
|
24
|
+
MatButtonModule,
|
25
|
+
FsTextEditorModule,
|
26
|
+
FsSkeletonModule,
|
27
|
+
FsCommonModule,
|
28
|
+
FsContentEditorModule,
|
29
|
+
]] });
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsContentStyleModule, decorators: [{
|
31
|
+
type: NgModule,
|
32
|
+
args: [{
|
33
|
+
imports: [
|
34
|
+
CommonModule,
|
35
|
+
FormsModule,
|
36
|
+
MatButtonModule,
|
37
|
+
FsTextEditorModule,
|
38
|
+
FsSkeletonModule,
|
39
|
+
FsCommonModule,
|
40
|
+
FsContentEditorModule,
|
41
|
+
],
|
42
|
+
exports: [
|
43
|
+
ContentStyleComponent,
|
44
|
+
],
|
45
|
+
declarations: [
|
46
|
+
ContentStyleComponent,
|
47
|
+
],
|
48
|
+
}]
|
49
|
+
}] });
|
50
50
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtY29udGVudC1zdHlsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvY29udGVudC1zdHlsZS9mcy1jb250ZW50LXN0eWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBc0JuRSxNQUFNLE9BQU8sb0JBQW9COztrSEFBcEIsb0JBQW9CO21IQUFwQixvQkFBb0IsaUJBSDdCLHFCQUFxQixhQWRyQixZQUFZO1FBQ1osV0FBVztRQUVYLGVBQWU7UUFFZixrQkFBa0I7UUFDbEIsZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxxQkFBcUIsYUFHckIscUJBQXFCO21IQU1aLG9CQUFvQixZQWxCdEI7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUVYLGVBQWU7WUFFZixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxxQkFBcUI7U0FDdEI7NEZBUVUsb0JBQW9CO2tCQW5CaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUVYLGVBQWU7d0JBRWYsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3FCQUN0QjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1oscUJBQXFCO3FCQUN0QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmltcG9ydCB7IEZzQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvY29tbW9uJztcbmltcG9ydCB7IEZzU2tlbGV0b25Nb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9za2VsZXRvbic7XG5pbXBvcnQgeyBGc1RleHRFZGl0b3JNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC90ZXh0LWVkaXRvcic7XG5cbmltcG9ydCB7IEZzQ29udGVudEVkaXRvck1vZHVsZSB9IGZyb20gJy4uL2VkaXRvcic7XG5cbmltcG9ydCB7IENvbnRlbnRTdHlsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb250ZW50LXN0eWxlJztcblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuXG4gICAgRnNUZXh0RWRpdG9yTW9kdWxlLFxuICAgIEZzU2tlbGV0b25Nb2R1bGUsXG4gICAgRnNDb21tb25Nb2R1bGUsXG4gICAgRnNDb250ZW50RWRpdG9yTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ29udGVudFN0eWxlQ29tcG9uZW50LFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBDb250ZW50U3R5bGVDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzQ29udGVudFN0eWxlTW9kdWxlIHtcbn1cbiJdfQ==
|
@@ -1,149 +1,149 @@
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, } from '@angular/core';
|
2
|
-
import { FsMessage } from '@firestitch/message';
|
3
|
-
import { Subject } from 'rxjs';
|
4
|
-
import { tap } from 'rxjs/operators';
|
5
|
-
import { EditorType } from '../../../../enums';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "@firestitch/message";
|
8
|
-
import * as i2 from "angular-split";
|
9
|
-
import * as i3 from "../editor-label/editor-label.component";
|
10
|
-
import * as i4 from "@firestitch/text-editor";
|
11
|
-
import * as i5 from "@angular/forms";
|
12
|
-
import * as i6 from "@firestitch/form";
|
13
|
-
import * as i7 from "@firestitch/common";
|
14
|
-
import * as i8 from "@firestitch/skeleton";
|
15
|
-
export class EditorComponent {
|
16
|
-
constructor(_cdRef, _message) {
|
17
|
-
this._cdRef = _cdRef;
|
18
|
-
this._message = _message;
|
19
|
-
this.showHtml = false;
|
20
|
-
this.showScss = false;
|
21
|
-
this.showJs = false;
|
22
|
-
this.showGlobalScss = false;
|
23
|
-
this.changed = new EventEmitter();
|
24
|
-
this.focused = new EventEmitter();
|
25
|
-
this.blured = new EventEmitter();
|
26
|
-
this.changes = {};
|
27
|
-
this.EditorType = EditorType;
|
28
|
-
this.resizing = false;
|
29
|
-
this._destroy$ = new Subject();
|
30
|
-
}
|
31
|
-
ngOnInit() {
|
32
|
-
this.initTextEditors();
|
33
|
-
this.initGlobalContentStyle();
|
34
|
-
}
|
35
|
-
ngOnDestroy() {
|
36
|
-
this._destroy$.next();
|
37
|
-
this._destroy$.complete();
|
38
|
-
}
|
39
|
-
change(type, value) {
|
40
|
-
this.changed.emit({ type, value });
|
41
|
-
this.changes[type] = value;
|
42
|
-
}
|
43
|
-
get hasChanges() {
|
44
|
-
return Object.keys(this.changes)
|
45
|
-
.filter((name) => !!this.changes[name])
|
46
|
-
.length !== 0;
|
47
|
-
}
|
48
|
-
clearChange(type) {
|
49
|
-
this.changes[type] = undefined;
|
50
|
-
this._cdRef.markForCheck();
|
51
|
-
}
|
52
|
-
initTextEditors() {
|
53
|
-
this.scssConfig = {
|
54
|
-
tabSize: 2,
|
55
|
-
language: 'scss',
|
56
|
-
height: '100%',
|
57
|
-
focus: () => {
|
58
|
-
this._onFocus(EditorType.Scss);
|
59
|
-
},
|
60
|
-
blur: () => {
|
61
|
-
this.blured.emit(EditorType.Scss);
|
62
|
-
},
|
63
|
-
};
|
64
|
-
this.jsConfig = {
|
65
|
-
tabSize: 2,
|
66
|
-
language: 'js',
|
67
|
-
height: '100%',
|
68
|
-
focus: () => {
|
69
|
-
this._onFocus(EditorType.Js);
|
70
|
-
},
|
71
|
-
blur: () => {
|
72
|
-
this.blured.emit(EditorType.Js);
|
73
|
-
},
|
74
|
-
};
|
75
|
-
this.htmlConfig = {
|
76
|
-
tabSize: 2,
|
77
|
-
language: 'html',
|
78
|
-
height: '100%',
|
79
|
-
focus: () => {
|
80
|
-
this._onFocus(EditorType.Html);
|
81
|
-
},
|
82
|
-
blur: () => {
|
83
|
-
this.blured.emit(EditorType.Html);
|
84
|
-
},
|
85
|
-
};
|
86
|
-
this.globalScssConfig = {
|
87
|
-
tabSize: 2,
|
88
|
-
language: 'scss',
|
89
|
-
height: '100%',
|
90
|
-
focus: () => {
|
91
|
-
this._onFocus(EditorType.GlobalScss);
|
92
|
-
},
|
93
|
-
blur: () => {
|
94
|
-
this.blured.emit(EditorType.GlobalScss);
|
95
|
-
},
|
96
|
-
};
|
97
|
-
}
|
98
|
-
initGlobalContentStyle() {
|
99
|
-
this.contentConfig.loadContentStyle()
|
100
|
-
.subscribe((contentStyle) => {
|
101
|
-
this.contentStyle = contentStyle || {};
|
102
|
-
this._cdRef.markForCheck();
|
103
|
-
});
|
104
|
-
}
|
105
|
-
saveGlobalScss() {
|
106
|
-
return this.contentConfig.saveContentStyle(this.contentStyle)
|
107
|
-
.pipe(tap(() => {
|
108
|
-
this._message.success('Saved Changes');
|
109
|
-
}));
|
110
|
-
}
|
111
|
-
_onFocus(type) {
|
112
|
-
this.focusedArea = type;
|
113
|
-
this.focused.emit(type);
|
114
|
-
}
|
115
|
-
}
|
116
|
-
EditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FsMessage }], target: i0.ɵɵFactoryTarget.Component });
|
117
|
-
EditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: EditorComponent, selector: "app-editor", inputs: { showHtml: "showHtml", showScss: "showScss", showJs: "showJs", showGlobalScss: "showGlobalScss", html: "html", scss: "scss", js: "js", contentConfig: "contentConfig" }, outputs: { changed: "changed", focused: "focused", blured: "blured" }, ngImport: i0, template: "<as-split [unit]=\"'percent'\" [gutterSize]=\"25\"> \n <as-split-area [size]=\"70\" [visible]=\"showHtml\" [order]=\"1\">\n <div class=\"editor-container\">\n <app-editor-label\n [changed]=\"changes.html !== undefined\"\n [focused]=\"focusedArea === 'html'\">\n HTML\n </app-editor-label>\n <fs-text-editor \n [(ngModel)]=\"html\" \n name=\"html\"\n [fsModelChangeOptions]=\"{ debounce: 0 }\"\n (fsModelChange)=\"change(EditorType.Html, $event)\"\n [config]=\"htmlConfig\">\n </fs-text-editor> \n </div>\n </as-split-area>\n <as-split-area [size]=\"30\" [visible]=\"showScss\" [order]=\"2\">\n <div class=\"editor-container\">\n <app-editor-label\n [changed]=\"changes.scss !== undefined\"\n [focused]=\"focusedArea === 'scss'\">\n SCSS\n </app-editor-label>\n <fs-text-editor \n [(ngModel)]=\"scss\" \n name=\"scss\"\n [fsModelChangeOptions]=\"{ debounce: 0 }\"\n (fsModelChange)=\"change(EditorType.Scss, $event)\"\n [config]=\"scssConfig\">\n </fs-text-editor> \n </div>\n </as-split-area>\n <as-split-area [size]=\"30\" [visible]=\"showJs\" [order]=\"3\">\n <div class=\"editor-container\">\n <app-editor-label\n [changed]=\"changes.js !== undefined\"\n [focused]=\"focusedArea === 'js'\">\n JS\n </app-editor-label>\n <fs-text-editor \n [(ngModel)]=\"js\" \n name=\"js\"\n [fsModelChangeOptions]=\"{ debounce: 0 }\"\n (fsModelChange)=\"change(EditorType.Js, $event)\"\n [config]=\"jsConfig\">\n </fs-text-editor> \n </div>\n </as-split-area>\n <as-split-area [size]=\"30\" [visible]=\"showGlobalScss\" [order]=\"4\">\n <div class=\"editor-container\">\n <app-editor-label\n [changed]=\"changes.globalScss !== undefined\"\n [focused]=\"focusedArea === 'globalScss'\">\n Global SCSS\n </app-editor-label>\n <ng-container *fsSkeleton=\"contentStyle\">\n <fs-text-editor \n [(ngModel)]=\"contentStyle.scss\" \n name=\"globalScss\"\n [fsModelChangeOptions]=\"{ debounce: 300 }\"\n (fsModelChange)=\"change(EditorType.GlobalScss, $event)\"\n [config]=\"globalScssConfig\">\n </fs-text-editor> \n </ng-container> \n </div>\n </as-split-area>\n</as-split>\n", styles: [":host ::ng-deep .as-split-gutter{background-color:unset!important}.editor-container{height:100%;border-radius:5px;display:flex;flex-direction:column}.editor-container fs-text-editor{flex:1}\n"], components: [{ type: i2.SplitComponent, selector: "as-split", inputs: ["direction", "unit", "gutterSize", "gutterStep", "restrictMove", "useTransition", "disabled", "dir", "gutterDblClickDuration", "gutterClickDeltaPx", "gutterAriaLabel"], outputs: ["transitionEnd", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"], exportAs: ["asSplit"] }, { type: i3.EditorLabelComponent, selector: "app-editor-label", inputs: ["changed", "focused"] }, { type: i4.FsTextEditorComponent, selector: "fs-text-editor", inputs: ["config", "scrollable"], outputs: ["ready", "blur"] }], directives: [{ type: i2.SplitAreaDirective, selector: "as-split-area, [as-split-area]", inputs: ["order", "size", "minSize", "maxSize", "lockSize", "visible"], exportAs: ["asSplitArea"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { type: i7.FsModelChangeDirective, selector: "[fsModelChange]", inputs: ["fsModelChangeOptions"], outputs: ["fsModelChange"] }, { type: i8.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EditorComponent, decorators: [{
|
119
|
-
type: Component,
|
120
|
-
args: [{
|
121
|
-
selector: 'app-editor',
|
122
|
-
templateUrl: './editor.component.html',
|
123
|
-
styleUrls: ['./editor.component.scss'],
|
124
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
125
|
-
}]
|
126
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.FsMessage }]; }, propDecorators: { showHtml: [{
|
127
|
-
type: Input
|
128
|
-
}], showScss: [{
|
129
|
-
type: Input
|
130
|
-
}], showJs: [{
|
131
|
-
type: Input
|
132
|
-
}], showGlobalScss: [{
|
133
|
-
type: Input
|
134
|
-
}], html: [{
|
135
|
-
type: Input
|
136
|
-
}], scss: [{
|
137
|
-
type: Input
|
138
|
-
}], js: [{
|
139
|
-
type: Input
|
140
|
-
}], contentConfig: [{
|
141
|
-
type: Input
|
142
|
-
}], changed: [{
|
143
|
-
type: Output
|
144
|
-
}], focused: [{
|
145
|
-
type: Output
|
146
|
-
}], blured: [{
|
147
|
-
type: Output
|
148
|
-
}] } });
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, } from '@angular/core';
|
2
|
+
import { FsMessage } from '@firestitch/message';
|
3
|
+
import { Subject } from 'rxjs';
|
4
|
+
import { tap } from 'rxjs/operators';
|
5
|
+
import { EditorType } from '../../../../enums';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "@firestitch/message";
|
8
|
+
import * as i2 from "angular-split";
|
9
|
+
import * as i3 from "../editor-label/editor-label.component";
|
10
|
+
import * as i4 from "@firestitch/text-editor";
|
11
|
+
import * as i5 from "@angular/forms";
|
12
|
+
import * as i6 from "@firestitch/form";
|
13
|
+
import * as i7 from "@firestitch/common";
|
14
|
+
import * as i8 from "@firestitch/skeleton";
|
15
|
+
export class EditorComponent {
|
16
|
+
constructor(_cdRef, _message) {
|
17
|
+
this._cdRef = _cdRef;
|
18
|
+
this._message = _message;
|
19
|
+
this.showHtml = false;
|
20
|
+
this.showScss = false;
|
21
|
+
this.showJs = false;
|
22
|
+
this.showGlobalScss = false;
|
23
|
+
this.changed = new EventEmitter();
|
24
|
+
this.focused = new EventEmitter();
|
25
|
+
this.blured = new EventEmitter();
|
26
|
+
this.changes = {};
|
27
|
+
this.EditorType = EditorType;
|
28
|
+
this.resizing = false;
|
29
|
+
this._destroy$ = new Subject();
|
30
|
+
}
|
31
|
+
ngOnInit() {
|
32
|
+
this.initTextEditors();
|
33
|
+
this.initGlobalContentStyle();
|
34
|
+
}
|
35
|
+
ngOnDestroy() {
|
36
|
+
this._destroy$.next();
|
37
|
+
this._destroy$.complete();
|
38
|
+
}
|
39
|
+
change(type, value) {
|
40
|
+
this.changed.emit({ type, value });
|
41
|
+
this.changes[type] = value;
|
42
|
+
}
|
43
|
+
get hasChanges() {
|
44
|
+
return Object.keys(this.changes)
|
45
|
+
.filter((name) => !!this.changes[name])
|
46
|
+
.length !== 0;
|
47
|
+
}
|
48
|
+
clearChange(type) {
|
49
|
+
this.changes[type] = undefined;
|
50
|
+
this._cdRef.markForCheck();
|
51
|
+
}
|
52
|
+
initTextEditors() {
|
53
|
+
this.scssConfig = {
|
54
|
+
tabSize: 2,
|
55
|
+
language: 'scss',
|
56
|
+
height: '100%',
|
57
|
+
focus: () => {
|
58
|
+
this._onFocus(EditorType.Scss);
|
59
|
+
},
|
60
|
+
blur: () => {
|
61
|
+
this.blured.emit(EditorType.Scss);
|
62
|
+
},
|
63
|
+
};
|
64
|
+
this.jsConfig = {
|
65
|
+
tabSize: 2,
|
66
|
+
language: 'js',
|
67
|
+
height: '100%',
|
68
|
+
focus: () => {
|
69
|
+
this._onFocus(EditorType.Js);
|
70
|
+
},
|
71
|
+
blur: () => {
|
72
|
+
this.blured.emit(EditorType.Js);
|
73
|
+
},
|
74
|
+
};
|
75
|
+
this.htmlConfig = {
|
76
|
+
tabSize: 2,
|
77
|
+
language: 'html',
|
78
|
+
height: '100%',
|
79
|
+
focus: () => {
|
80
|
+
this._onFocus(EditorType.Html);
|
81
|
+
},
|
82
|
+
blur: () => {
|
83
|
+
this.blured.emit(EditorType.Html);
|
84
|
+
},
|
85
|
+
};
|
86
|
+
this.globalScssConfig = {
|
87
|
+
tabSize: 2,
|
88
|
+
language: 'scss',
|
89
|
+
height: '100%',
|
90
|
+
focus: () => {
|
91
|
+
this._onFocus(EditorType.GlobalScss);
|
92
|
+
},
|
93
|
+
blur: () => {
|
94
|
+
this.blured.emit(EditorType.GlobalScss);
|
95
|
+
},
|
96
|
+
};
|
97
|
+
}
|
98
|
+
initGlobalContentStyle() {
|
99
|
+
this.contentConfig.loadContentStyle()
|
100
|
+
.subscribe((contentStyle) => {
|
101
|
+
this.contentStyle = contentStyle || {};
|
102
|
+
this._cdRef.markForCheck();
|
103
|
+
});
|
104
|
+
}
|
105
|
+
saveGlobalScss() {
|
106
|
+
return this.contentConfig.saveContentStyle(this.contentStyle)
|
107
|
+
.pipe(tap(() => {
|
108
|
+
this._message.success('Saved Changes');
|
109
|
+
}));
|
110
|
+
}
|
111
|
+
_onFocus(type) {
|
112
|
+
this.focusedArea = type;
|
113
|
+
this.focused.emit(type);
|
114
|
+
}
|
115
|
+
}
|
116
|
+
EditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FsMessage }], target: i0.ɵɵFactoryTarget.Component });
|
117
|
+
EditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: EditorComponent, selector: "app-editor", inputs: { showHtml: "showHtml", showScss: "showScss", showJs: "showJs", showGlobalScss: "showGlobalScss", html: "html", scss: "scss", js: "js", contentConfig: "contentConfig" }, outputs: { changed: "changed", focused: "focused", blured: "blured" }, ngImport: i0, template: "<as-split [unit]=\"'percent'\" [gutterSize]=\"25\"> \n <as-split-area [size]=\"70\" [visible]=\"showHtml\" [order]=\"1\">\n <div class=\"editor-container\">\n <app-editor-label\n [changed]=\"changes.html !== undefined\"\n [focused]=\"focusedArea === 'html'\">\n HTML\n </app-editor-label>\n <fs-text-editor \n [(ngModel)]=\"html\" \n name=\"html\"\n [fsModelChangeOptions]=\"{ debounce: 0 }\"\n (fsModelChange)=\"change(EditorType.Html, $event)\"\n [config]=\"htmlConfig\">\n </fs-text-editor> \n </div>\n </as-split-area>\n <as-split-area [size]=\"30\" [visible]=\"showScss\" [order]=\"2\">\n <div class=\"editor-container\">\n <app-editor-label\n [changed]=\"changes.scss !== undefined\"\n [focused]=\"focusedArea === 'scss'\">\n SCSS\n </app-editor-label>\n <fs-text-editor \n [(ngModel)]=\"scss\" \n name=\"scss\"\n [fsModelChangeOptions]=\"{ debounce: 0 }\"\n (fsModelChange)=\"change(EditorType.Scss, $event)\"\n [config]=\"scssConfig\">\n </fs-text-editor> \n </div>\n </as-split-area>\n <as-split-area [size]=\"30\" [visible]=\"showJs\" [order]=\"3\">\n <div class=\"editor-container\">\n <app-editor-label\n [changed]=\"changes.js !== undefined\"\n [focused]=\"focusedArea === 'js'\">\n JS\n </app-editor-label>\n <fs-text-editor \n [(ngModel)]=\"js\" \n name=\"js\"\n [fsModelChangeOptions]=\"{ debounce: 0 }\"\n (fsModelChange)=\"change(EditorType.Js, $event)\"\n [config]=\"jsConfig\">\n </fs-text-editor> \n </div>\n </as-split-area>\n <as-split-area [size]=\"30\" [visible]=\"showGlobalScss\" [order]=\"4\">\n <div class=\"editor-container\">\n <app-editor-label\n [changed]=\"changes.globalScss !== undefined\"\n [focused]=\"focusedArea === 'globalScss'\">\n Global SCSS\n </app-editor-label>\n <ng-container *fsSkeleton=\"contentStyle\">\n <fs-text-editor \n [(ngModel)]=\"contentStyle.scss\" \n name=\"globalScss\"\n [fsModelChangeOptions]=\"{ debounce: 300 }\"\n (fsModelChange)=\"change(EditorType.GlobalScss, $event)\"\n [config]=\"globalScssConfig\">\n </fs-text-editor> \n </ng-container> \n </div>\n </as-split-area>\n</as-split>\n", styles: [":host ::ng-deep .as-split-gutter{background-color:unset!important}.editor-container{height:100%;border-radius:5px;display:flex;flex-direction:column}.editor-container fs-text-editor{flex:1}\n"], components: [{ type: i2.SplitComponent, selector: "as-split", inputs: ["direction", "unit", "gutterSize", "gutterStep", "restrictMove", "useTransition", "disabled", "dir", "gutterDblClickDuration", "gutterClickDeltaPx", "gutterAriaLabel"], outputs: ["transitionEnd", "dragStart", "dragEnd", "gutterClick", "gutterDblClick"], exportAs: ["asSplit"] }, { type: i3.EditorLabelComponent, selector: "app-editor-label", inputs: ["changed", "focused"] }, { type: i4.FsTextEditorComponent, selector: "fs-text-editor", inputs: ["config", "scrollable"], outputs: ["ready", "blur"] }], directives: [{ type: i2.SplitAreaDirective, selector: "as-split-area, [as-split-area]", inputs: ["order", "size", "minSize", "maxSize", "lockSize", "visible"], exportAs: ["asSplitArea"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { type: i7.FsModelChangeDirective, selector: "[fsModelChange]", inputs: ["fsModelChangeOptions"], outputs: ["fsModelChange"] }, { type: i8.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EditorComponent, decorators: [{
|
119
|
+
type: Component,
|
120
|
+
args: [{
|
121
|
+
selector: 'app-editor',
|
122
|
+
templateUrl: './editor.component.html',
|
123
|
+
styleUrls: ['./editor.component.scss'],
|
124
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
125
|
+
}]
|
126
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.FsMessage }]; }, propDecorators: { showHtml: [{
|
127
|
+
type: Input
|
128
|
+
}], showScss: [{
|
129
|
+
type: Input
|
130
|
+
}], showJs: [{
|
131
|
+
type: Input
|
132
|
+
}], showGlobalScss: [{
|
133
|
+
type: Input
|
134
|
+
}], html: [{
|
135
|
+
type: Input
|
136
|
+
}], scss: [{
|
137
|
+
type: Input
|
138
|
+
}], js: [{
|
139
|
+
type: Input
|
140
|
+
}], contentConfig: [{
|
141
|
+
type: Input
|
142
|
+
}], changed: [{
|
143
|
+
type: Output
|
144
|
+
}], focused: [{
|
145
|
+
type: Output
|
146
|
+
}], blured: [{
|
147
|
+
type: Output
|
148
|
+
}] } });
|
149
149
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9lZGl0b3IvY29tcG9uZW50cy9lZGl0b3IvZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9lZGl0b3IvY29tcG9uZW50cy9lZGl0b3IvZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7O0FBVS9DLE1BQU0sT0FBTyxlQUFlO0lBa0MxQixZQUNVLE1BQXlCLEVBQ3pCLFFBQW1CO1FBRG5CLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFsQ2IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQU90QixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQW1DLENBQUM7UUFDOUQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDckMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFOUMsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUNsQixlQUFVLEdBQUcsVUFBVSxDQUFDO1FBT3hCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFRaEIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFLcEMsQ0FBQztJQUVFLFFBQVE7UUFDYixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUs7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQzdCLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdEMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRU0sV0FBVyxDQUFDLElBQUk7UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLE9BQU8sRUFBRSxDQUFDO1lBQ1YsUUFBUSxFQUFFLE1BQU07WUFDaEIsTUFBTSxFQUFFLE1BQU07WUFDZCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFDRCxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNULElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQyxDQUFDO1NBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxPQUFPLEVBQUUsQ0FBQztZQUNWLFFBQVEsRUFBRSxJQUFJO1lBQ2QsTUFBTSxFQUFFLE1BQU07WUFDZCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQy9CLENBQUM7WUFDRCxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNULElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsQyxDQUFDO1NBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsT0FBTyxFQUFFLENBQUM7WUFDVixRQUFRLEVBQUUsTUFBTTtZQUNoQixNQUFNLEVBQUUsTUFBTTtZQUNkLEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsQ0FBQztZQUNELElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BDLENBQUM7U0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHO1lBQ3RCLE9BQU8sRUFBRSxDQUFDO1lBQ1YsUUFBUSxFQUFFLE1BQU07WUFDaEIsTUFBTSxFQUFFLE1BQU07WUFDZCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7WUFDRCxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNULElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMxQyxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxzQkFBc0I7UUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRTthQUNsQyxTQUFTLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQzFELElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFTyxRQUFRLENBQUMsSUFBSTtRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDOzs2R0FwSVUsZUFBZTtpR0FBZixlQUFlLDJTQzVCNUIsczVFQW9FQTs0RkR4Q2EsZUFBZTtrQkFOM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3RDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDtnSUFHaUIsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFFVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsRUFBRTtzQkFBakIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUVXLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1UsT0FBTztzQkFBdkIsTUFBTTtnQkFDVSxNQUFNO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbmltcG9ydCB7IEZzTWVzc2FnZSB9IGZyb20gJ0BmaXJlc3RpdGNoL21lc3NhZ2UnO1xuaW1wb3J0IHsgRnNUZXh0RWRpdG9yQ29uZmlnIH0gZnJvbSAnQGZpcmVzdGl0Y2gvdGV4dC1lZGl0b3InO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEVkaXRvclR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBGc0NvbnRlbnRDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VkaXRvci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93SHRtbCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd1Njc3MgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNob3dKcyA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd0dsb2JhbFNjc3MgPSBmYWxzZTtcblxuICBASW5wdXQoKSBwdWJsaWMgaHRtbDtcbiAgQElucHV0KCkgcHVibGljIHNjc3M7XG4gIEBJbnB1dCgpIHB1YmxpYyBqcztcbiAgQElucHV0KCkgcHVibGljIGNvbnRlbnRDb25maWc6IEZzQ29udGVudENvbmZpZztcblxuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgdHlwZTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgZm9jdXNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGJsdXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIHB1YmxpYyBjaGFuZ2VzOiBhbnkgPSB7fTtcbiAgcHVibGljIEVkaXRvclR5cGUgPSBFZGl0b3JUeXBlO1xuICBwdWJsaWMgZm9jdXNlZEFyZWE6IHN0cmluZztcblxuICBwdWJsaWMgY29udGVudFN0eWxlOiB7XG4gICAgc2Nzcz86IHN0cmluZztcbiAgfTtcblxuICBwdWJsaWMgcmVzaXppbmcgPSBmYWxzZTtcbiAgcHVibGljIHRpdGxlO1xuXG4gIHB1YmxpYyBzY3NzQ29uZmlnOiBGc1RleHRFZGl0b3JDb25maWc7XG4gIHB1YmxpYyBnbG9iYWxTY3NzQ29uZmlnOiBGc1RleHRFZGl0b3JDb25maWc7XG4gIHB1YmxpYyBodG1sQ29uZmlnOiBGc1RleHRFZGl0b3JDb25maWc7XG4gIHB1YmxpYyBqc0NvbmZpZzogRnNUZXh0RWRpdG9yQ29uZmlnO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfbWVzc2FnZTogRnNNZXNzYWdlLFxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRUZXh0RWRpdG9ycygpO1xuICAgIHRoaXMuaW5pdEdsb2JhbENvbnRlbnRTdHlsZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZSh0eXBlLCB2YWx1ZSkge1xuICAgIHRoaXMuY2hhbmdlZC5lbWl0KHsgdHlwZSwgdmFsdWUgfSk7XG4gICAgdGhpcy5jaGFuZ2VzW3R5cGVdID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhhc0NoYW5nZXMoKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuY2hhbmdlcylcbiAgICAgIC5maWx0ZXIoKG5hbWUpID0+ICEhdGhpcy5jaGFuZ2VzW25hbWVdKVxuICAgICAgLmxlbmd0aCAhPT0gMDtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckNoYW5nZSh0eXBlKSB7XG4gICAgdGhpcy5jaGFuZ2VzW3R5cGVdID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGluaXRUZXh0RWRpdG9ycygpIHtcbiAgICB0aGlzLnNjc3NDb25maWcgPSB7XG4gICAgICB0YWJTaXplOiAyLFxuICAgICAgbGFuZ3VhZ2U6ICdzY3NzJyxcbiAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgZm9jdXM6ICgpID0+IHtcbiAgICAgICAgdGhpcy5fb25Gb2N1cyhFZGl0b3JUeXBlLlNjc3MpO1xuICAgICAgfSxcbiAgICAgIGJsdXI6ICgpID0+IHtcbiAgICAgICAgdGhpcy5ibHVyZWQuZW1pdChFZGl0b3JUeXBlLlNjc3MpO1xuICAgICAgfSxcbiAgICB9O1xuICAgIHRoaXMuanNDb25maWcgPSB7XG4gICAgICB0YWJTaXplOiAyLFxuICAgICAgbGFuZ3VhZ2U6ICdqcycsXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIGZvY3VzOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuX29uRm9jdXMoRWRpdG9yVHlwZS5Kcyk7XG4gICAgICB9LFxuICAgICAgYmx1cjogKCkgPT4ge1xuICAgICAgICB0aGlzLmJsdXJlZC5lbWl0KEVkaXRvclR5cGUuSnMpO1xuICAgICAgfSxcbiAgICB9O1xuICAgIHRoaXMuaHRtbENvbmZpZyA9IHtcbiAgICAgIHRhYlNpemU6IDIsXG4gICAgICBsYW5ndWFnZTogJ2h0bWwnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBmb2N1czogKCkgPT4ge1xuICAgICAgICB0aGlzLl9vbkZvY3VzKEVkaXRvclR5cGUuSHRtbCk7XG4gICAgICB9LFxuICAgICAgYmx1cjogKCkgPT4ge1xuICAgICAgICB0aGlzLmJsdXJlZC5lbWl0KEVkaXRvclR5cGUuSHRtbCk7XG4gICAgICB9LFxuICAgIH07XG4gICAgdGhpcy5nbG9iYWxTY3NzQ29uZmlnID0ge1xuICAgICAgdGFiU2l6ZTogMixcbiAgICAgIGxhbmd1YWdlOiAnc2NzcycsXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIGZvY3VzOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuX29uRm9jdXMoRWRpdG9yVHlwZS5HbG9iYWxTY3NzKTtcbiAgICAgIH0sXG4gICAgICBibHVyOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuYmx1cmVkLmVtaXQoRWRpdG9yVHlwZS5HbG9iYWxTY3NzKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0R2xvYmFsQ29udGVudFN0eWxlKCkge1xuICAgIHRoaXMuY29udGVudENvbmZpZy5sb2FkQ29udGVudFN0eWxlKClcbiAgICAgIC5zdWJzY3JpYmUoKGNvbnRlbnRTdHlsZSkgPT4ge1xuICAgICAgICB0aGlzLmNvbnRlbnRTdHlsZSA9IGNvbnRlbnRTdHlsZSB8fCB7fTtcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlR2xvYmFsU2NzcygpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50Q29uZmlnLnNhdmVDb250ZW50U3R5bGUodGhpcy5jb250ZW50U3R5bGUpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9tZXNzYWdlLnN1Y2Nlc3MoJ1NhdmVkIENoYW5nZXMnKTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Gb2N1cyh0eXBlKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c2VkQXJlYSA9IHR5cGU7XG4gICAgdGhpcy5mb2N1c2VkLmVtaXQodHlwZSk7XG4gIH1cblxufVxuIiwiPGFzLXNwbGl0IFt1bml0XT1cIidwZXJjZW50J1wiIFtndXR0ZXJTaXplXT1cIjI1XCI+IFxuICA8YXMtc3BsaXQtYXJlYSBbc2l6ZV09XCI3MFwiIFt2aXNpYmxlXT1cInNob3dIdG1sXCIgW29yZGVyXT1cIjFcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yLWNvbnRhaW5lclwiPlxuICAgICAgPGFwcC1lZGl0b3ItbGFiZWxcbiAgICAgICAgICBbY2hhbmdlZF09XCJjaGFuZ2VzLmh0bWwgIT09IHVuZGVmaW5lZFwiXG4gICAgICAgICAgW2ZvY3VzZWRdPVwiZm9jdXNlZEFyZWEgPT09ICdodG1sJ1wiPlxuICAgICAgICBIVE1MXG4gICAgICA8L2FwcC1lZGl0b3ItbGFiZWw+XG4gICAgICA8ZnMtdGV4dC1lZGl0b3IgXG4gICAgICAgIFsobmdNb2RlbCldPVwiaHRtbFwiIFxuICAgICAgICBuYW1lPVwiaHRtbFwiXG4gICAgICAgIFtmc01vZGVsQ2hhbmdlT3B0aW9uc109XCJ7IGRlYm91bmNlOiAwIH1cIlxuICAgICAgICAoZnNNb2RlbENoYW5nZSk9XCJjaGFuZ2UoRWRpdG9yVHlwZS5IdG1sLCAkZXZlbnQpXCJcbiAgICAgICAgW2NvbmZpZ109XCJodG1sQ29uZmlnXCI+XG4gICAgICA8L2ZzLXRleHQtZWRpdG9yPiAgICAgICAgICAgICAgXG4gICAgPC9kaXY+XG4gIDwvYXMtc3BsaXQtYXJlYT5cbiAgPGFzLXNwbGl0LWFyZWEgW3NpemVdPVwiMzBcIiBbdmlzaWJsZV09XCJzaG93U2Nzc1wiIFtvcmRlcl09XCIyXCI+XG4gICAgPGRpdiBjbGFzcz1cImVkaXRvci1jb250YWluZXJcIj5cbiAgICAgIDxhcHAtZWRpdG9yLWxhYmVsXG4gICAgICAgICAgW2NoYW5nZWRdPVwiY2hhbmdlcy5zY3NzICE9PSB1bmRlZmluZWRcIlxuICAgICAgICAgIFtmb2N1c2VkXT1cImZvY3VzZWRBcmVhID09PSAnc2NzcydcIj5cbiAgICAgICAgU0NTU1xuICAgICAgPC9hcHAtZWRpdG9yLWxhYmVsPlxuICAgICAgPGZzLXRleHQtZWRpdG9yIFxuICAgICAgICBbKG5nTW9kZWwpXT1cInNjc3NcIiBcbiAgICAgICAgbmFtZT1cInNjc3NcIlxuICAgICAgICBbZnNNb2RlbENoYW5nZU9wdGlvbnNdPVwieyBkZWJvdW5jZTogMCB9XCJcbiAgICAgICAgKGZzTW9kZWxDaGFuZ2UpPVwiY2hhbmdlKEVkaXRvclR5cGUuU2NzcywgJGV2ZW50KVwiXG4gICAgICAgIFtjb25maWddPVwic2Nzc0NvbmZpZ1wiPlxuICAgICAgPC9mcy10ZXh0LWVkaXRvcj4gICAgXG4gICAgPC9kaXY+XG4gIDwvYXMtc3BsaXQtYXJlYT5cbiAgPGFzLXNwbGl0LWFyZWEgW3NpemVdPVwiMzBcIiAgW3Zpc2libGVdPVwic2hvd0pzXCIgW29yZGVyXT1cIjNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yLWNvbnRhaW5lclwiPlxuICAgICAgPGFwcC1lZGl0b3ItbGFiZWxcbiAgICAgICAgICBbY2hhbmdlZF09XCJjaGFuZ2VzLmpzICE9PSB1bmRlZmluZWRcIlxuICAgICAgICAgIFtmb2N1c2VkXT1cImZvY3VzZWRBcmVhID09PSAnanMnXCI+XG4gICAgICAgIEpTXG4gICAgICA8L2FwcC1lZGl0b3ItbGFiZWw+XG4gICAgICA8ZnMtdGV4dC1lZGl0b3IgXG4gICAgICAgIFsobmdNb2RlbCldPVwianNcIiBcbiAgICAgICAgbmFtZT1cImpzXCJcbiAgICAgICAgW2ZzTW9kZWxDaGFuZ2VPcHRpb25zXT1cInsgZGVib3VuY2U6IDAgfVwiXG4gICAgICAgIChmc01vZGVsQ2hhbmdlKT1cImNoYW5nZShFZGl0b3JUeXBlLkpzLCAkZXZlbnQpXCJcbiAgICAgICAgW2NvbmZpZ109XCJqc0NvbmZpZ1wiPlxuICAgICAgPC9mcy10ZXh0LWVkaXRvcj4gICAgXG4gICAgPC9kaXY+XG4gIDwvYXMtc3BsaXQtYXJlYT5cbiAgPGFzLXNwbGl0LWFyZWEgW3NpemVdPVwiMzBcIiBbdmlzaWJsZV09XCJzaG93R2xvYmFsU2Nzc1wiIFtvcmRlcl09XCI0XCI+XG4gICAgPGRpdiBjbGFzcz1cImVkaXRvci1jb250YWluZXJcIj5cbiAgICAgIDxhcHAtZWRpdG9yLWxhYmVsXG4gICAgICAgICAgW2NoYW5nZWRdPVwiY2hhbmdlcy5nbG9iYWxTY3NzICE9PSB1bmRlZmluZWRcIlxuICAgICAgICAgIFtmb2N1c2VkXT1cImZvY3VzZWRBcmVhID09PSAnZ2xvYmFsU2NzcydcIj5cbiAgICAgICAgR2xvYmFsIFNDU1NcbiAgICAgIDwvYXBwLWVkaXRvci1sYWJlbD5cbiAgICAgIDxuZy1jb250YWluZXIgKmZzU2tlbGV0b249XCJjb250ZW50U3R5bGVcIj5cbiAgICAgICAgPGZzLXRleHQtZWRpdG9yIFxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudFN0eWxlLnNjc3NcIiBcbiAgICAgICAgICBuYW1lPVwiZ2xvYmFsU2Nzc1wiXG4gICAgICAgICAgW2ZzTW9kZWxDaGFuZ2VPcHRpb25zXT1cInsgZGVib3VuY2U6IDMwMCB9XCJcbiAgICAgICAgICAoZnNNb2RlbENoYW5nZSk9XCJjaGFuZ2UoRWRpdG9yVHlwZS5HbG9iYWxTY3NzLCAkZXZlbnQpXCJcbiAgICAgICAgICBbY29uZmlnXT1cImdsb2JhbFNjc3NDb25maWdcIj5cbiAgICAgICAgPC9mcy10ZXh0LWVkaXRvcj4gXG4gICAgICA8L25nLWNvbnRhaW5lcj4gICBcbiAgICA8L2Rpdj5cbiAgPC9hcy1zcGxpdC1hcmVhPlxuPC9hcy1zcGxpdD5cbiJdfQ==
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export * from './editor.component';
|
1
|
+
export * from './editor.component';
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZWRpdG9yL2NvbXBvbmVudHMvZWRpdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VkaXRvci5jb21wb25lbnQnO1xuIl19
|