@firestitch/content-widget 14.0.0 → 16.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/content-widget/components/content-widget/content-widget.component.d.ts +1 -1
- package/app/content-widget/components/content-widget-dialog/content-widget-dialog.component.d.ts +1 -1
- package/app/content-widget/components/content-widget-renderer/content-widget-renderer.component.d.ts +1 -1
- package/app/content-widget/directives/content-widget-content.directive.d.ts +1 -1
- package/app/content-widgets/components/content-widget/content-widget.component.d.ts +1 -1
- package/app/content-widgets/components/content-widgets/content-widgets.component.d.ts +1 -1
- package/esm2022/app/content-widget/components/content-widget/content-widget.component.mjs +47 -0
- package/esm2022/app/content-widget/components/content-widget-dialog/content-widget-dialog.component.mjs +28 -0
- package/esm2022/app/content-widget/components/content-widget-renderer/content-widget-renderer.component.mjs +51 -0
- package/{esm2020 → esm2022}/app/content-widget/directives/content-widget-content.directive.mjs +4 -4
- package/{esm2020 → esm2022}/app/content-widget/fs-content-widget.module.mjs +19 -19
- package/esm2022/app/content-widget/services/content-widget.service.mjs +28 -0
- package/esm2022/app/content-widgets/components/content-widget/content-widget.component.mjs +51 -0
- package/esm2022/app/content-widgets/components/content-widgets/content-widgets.component.mjs +74 -0
- package/{esm2020 → esm2022}/app/content-widgets/fs-content-widgets.module.mjs +30 -30
- package/fesm2022/firestitch-content-widget.mjs +388 -0
- package/fesm2022/firestitch-content-widget.mjs.map +1 -0
- package/package.json +5 -11
- package/esm2020/app/content-widget/components/content-widget/content-widget.component.mjs +0 -42
- package/esm2020/app/content-widget/components/content-widget-dialog/content-widget-dialog.component.mjs +0 -25
- package/esm2020/app/content-widget/components/content-widget-renderer/content-widget-renderer.component.mjs +0 -48
- package/esm2020/app/content-widget/services/content-widget.service.mjs +0 -27
- package/esm2020/app/content-widgets/components/content-widget/content-widget.component.mjs +0 -46
- package/esm2020/app/content-widgets/components/content-widgets/content-widgets.component.mjs +0 -68
- package/fesm2015/firestitch-content-widget.mjs +0 -369
- package/fesm2015/firestitch-content-widget.mjs.map +0 -1
- package/fesm2020/firestitch-content-widget.mjs +0 -365
- package/fesm2020/firestitch-content-widget.mjs.map +0 -1
- /package/{esm2020 → esm2022}/app/content-widget/components/content-widget/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/content-widget/components/content-widget-dialog/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/content-widget/components/content-widget-renderer/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/content-widget/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/content-widget/directives/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/content-widget/injectors/content-wiget.injector.mjs +0 -0
- /package/{esm2020 → esm2022}/app/content-widget/injectors/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/content-widget/interfaces/content-widget-config.mjs +0 -0
- /package/{esm2020 → esm2022}/app/content-widget/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/content-widgets/components/content-widget/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/content-widgets/components/content-widgets/index.mjs +0 -0
- /package/{esm2020 → esm2022}/firestitch-content-widget.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
|
@@ -12,5 +12,5 @@ export declare class FsContentWidgetComponent implements OnDestroy, OnInit {
|
|
|
12
12
|
ngOnInit(): void;
|
|
13
13
|
ngOnDestroy(): void;
|
|
14
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsContentWidgetComponent, never>;
|
|
15
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FsContentWidgetComponent, "fs-content-widget", never, { "tag": "tag"; }, {}, ["contentWidgetContent"], never, false>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FsContentWidgetComponent, "fs-content-widget", never, { "tag": { "alias": "tag"; "required": false; }; }, {}, ["contentWidgetContent"], never, false, never>;
|
|
16
16
|
}
|
package/app/content-widget/components/content-widget-dialog/content-widget-dialog.component.d.ts
CHANGED
|
@@ -5,5 +5,5 @@ export declare class FsContentWidgetDialogComponent {
|
|
|
5
5
|
tag: any;
|
|
6
6
|
constructor(_data: any);
|
|
7
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsContentWidgetDialogComponent, never>;
|
|
8
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FsContentWidgetDialogComponent, "ng-component", never, {}, {}, never, never, false>;
|
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FsContentWidgetDialogComponent, "ng-component", never, {}, {}, never, never, false, never>;
|
|
9
9
|
}
|
package/app/content-widget/components/content-widget-renderer/content-widget-renderer.component.d.ts
CHANGED
|
@@ -12,5 +12,5 @@ export declare class FsContentWidgetRendererComponent implements OnDestroy, Afte
|
|
|
12
12
|
registerHrefs(): void;
|
|
13
13
|
ngOnDestroy(): void;
|
|
14
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsContentWidgetRendererComponent, never>;
|
|
15
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FsContentWidgetRendererComponent, "fs-content-widget-renderer", never, { "content": "content"; }, {}, never, never, false>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FsContentWidgetRendererComponent, "fs-content-widget-renderer", never, { "content": { "alias": "content"; "required": false; }; }, {}, never, never, false, never>;
|
|
16
16
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
export declare class FsContentWidgetContentDirective {
|
|
3
3
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsContentWidgetContentDirective, never>;
|
|
4
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsContentWidgetContentDirective, "[fsContentWidgetContent]", never, {}, {}, never, never, false>;
|
|
4
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsContentWidgetContentDirective, "[fsContentWidgetContent]", never, {}, {}, never, never, false, never>;
|
|
5
5
|
}
|
|
@@ -13,5 +13,5 @@ export declare class FsContentWidgetComponent implements OnInit {
|
|
|
13
13
|
ngOnInit(): void;
|
|
14
14
|
save: () => Observable<any>;
|
|
15
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsContentWidgetComponent, never>;
|
|
16
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FsContentWidgetComponent, "ng-component", never, {}, {}, never, never, false>;
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FsContentWidgetComponent, "ng-component", never, {}, {}, never, never, false, never>;
|
|
17
17
|
}
|
|
@@ -20,5 +20,5 @@ export declare class FsContentWidgetsComponent implements OnInit, OnDestroy {
|
|
|
20
20
|
ngOnDestroy(): void;
|
|
21
21
|
open(contentWidget: any): void;
|
|
22
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsContentWidgetsComponent, never>;
|
|
23
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FsContentWidgetsComponent, "fs-content-widgets", never, { "fetchContentWidgets": "fetchContentWidgets"; "saveContentWidget": "saveContentWidget"; "htmlEditorConfig": "htmlEditorConfig"; }, {}, never, never, false>;
|
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FsContentWidgetsComponent, "fs-content-widgets", never, { "fetchContentWidgets": { "alias": "fetchContentWidgets"; "required": false; }; "saveContentWidget": { "alias": "saveContentWidget"; "required": false; }; "htmlEditorConfig": { "alias": "htmlEditorConfig"; "required": false; }; }, {}, never, never, false, never>;
|
|
24
24
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Component, ContentChild, Inject, Input, TemplateRef } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { FsContentWidgetContentDirective } from '../../directives';
|
|
5
|
+
import { FS_CONTENT_WIDGET_CONFIG } from '../../injectors';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "../content-widget-renderer/content-widget-renderer.component";
|
|
9
|
+
export class FsContentWidgetComponent {
|
|
10
|
+
config;
|
|
11
|
+
_cdRef;
|
|
12
|
+
contentWidgetContent;
|
|
13
|
+
content;
|
|
14
|
+
destroy$ = new Subject();
|
|
15
|
+
tag;
|
|
16
|
+
constructor(config, _cdRef) {
|
|
17
|
+
this.config = config;
|
|
18
|
+
this._cdRef = _cdRef;
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
this.config.fetchContentWidget(this.tag)
|
|
22
|
+
.pipe(takeUntil(this.destroy$))
|
|
23
|
+
.subscribe((content) => {
|
|
24
|
+
this.content = content;
|
|
25
|
+
this._cdRef.markForCheck();
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
ngOnDestroy() {
|
|
29
|
+
this.destroy$.next();
|
|
30
|
+
this.destroy$.complete();
|
|
31
|
+
}
|
|
32
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetComponent, deps: [{ token: FS_CONTENT_WIDGET_CONFIG }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsContentWidgetComponent, selector: "fs-content-widget", inputs: { tag: "tag" }, queries: [{ propertyName: "contentWidgetContent", first: true, predicate: FsContentWidgetContentDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"content\">\n <ng-container *ngIf=\"contentWidgetContent; else renderer\">\n <ng-container \n [ngTemplateOutlet]=\"contentWidgetContent\" \n [ngTemplateOutletContext]=\"{ content: renderer }\">\n </ng-container>\n </ng-container>\n <ng-template #renderer>\n <fs-content-widget-renderer \n [content]=\"content\">\n </fs-content-widget-renderer>\n </ng-template>\n</ng-container>", styles: [":host ::ng-deep img{max-width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FsContentWidgetRendererComponent, selector: "fs-content-widget-renderer", inputs: ["content"] }] });
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{ selector: 'fs-content-widget', template: "<ng-container *ngIf=\"content\">\n <ng-container *ngIf=\"contentWidgetContent; else renderer\">\n <ng-container \n [ngTemplateOutlet]=\"contentWidgetContent\" \n [ngTemplateOutletContext]=\"{ content: renderer }\">\n </ng-container>\n </ng-container>\n <ng-template #renderer>\n <fs-content-widget-renderer \n [content]=\"content\">\n </fs-content-widget-renderer>\n </ng-template>\n</ng-container>", styles: [":host ::ng-deep img{max-width:100%}\n"] }]
|
|
38
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
39
|
+
type: Inject,
|
|
40
|
+
args: [FS_CONTENT_WIDGET_CONFIG]
|
|
41
|
+
}] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { contentWidgetContent: [{
|
|
42
|
+
type: ContentChild,
|
|
43
|
+
args: [FsContentWidgetContentDirective, { read: TemplateRef }]
|
|
44
|
+
}], tag: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}] } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb250ZW50LXdpZGdldC9jb21wb25lbnRzL2NvbnRlbnQtd2lkZ2V0L2NvbnRlbnQtd2lkZ2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29udGVudC13aWRnZXQvY29tcG9uZW50cy9jb250ZW50LXdpZGdldC9jb250ZW50LXdpZGdldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFTM0QsTUFBTSxPQUFPLHdCQUF3QjtJQVlRO0lBQ2pDO0lBVkgsb0JBQW9CLENBQW1CO0lBRXZDLE9BQU8sQ0FBQztJQUVQLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRWpCLEdBQUcsQ0FBUztJQUU1QixZQUMyQyxNQUE2QixFQUM5RCxNQUF5QjtRQURRLFdBQU0sR0FBTixNQUFNLENBQXVCO1FBQzlELFdBQU0sR0FBTixNQUFNLENBQW1CO0lBQy9CLENBQUM7SUFFRSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2FBQ3ZDLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzt3R0E5QlUsd0JBQXdCLGtCQVl6Qix3QkFBd0I7NEZBWnZCLHdCQUF3QixtSUFFckIsK0JBQStCLDJCQUFVLFdBQVcsNkJDaEJwRSxtYkFZZTs7NEZERUYsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLG1CQUFtQjs7MEJBZ0IxQixNQUFNOzJCQUFDLHdCQUF3Qjs0RUFUM0Isb0JBQW9CO3NCQUQxQixZQUFZO3VCQUFDLCtCQUErQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFPcEQsR0FBRztzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZzQ29udGVudFdpZGdldENvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IEZTX0NPTlRFTlRfV0lER0VUX0NPTkZJRyB9IGZyb20gJy4uLy4uL2luamVjdG9ycyc7XG5pbXBvcnQgeyBGc0NvbnRlbnRXaWRnZXRDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NvbnRlbnQtd2lkZ2V0LWNvbmZpZyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtY29udGVudC13aWRnZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGVudC13aWRnZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZW50LXdpZGdldC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGc0NvbnRlbnRXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG5cbiAgQENvbnRlbnRDaGlsZChGc0NvbnRlbnRXaWRnZXRDb250ZW50RGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHB1YmxpYyBjb250ZW50V2lkZ2V0Q29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBwdWJsaWMgY29udGVudDtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBASW5wdXQoKSBwdWJsaWMgdGFnOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChGU19DT05URU5UX1dJREdFVF9DT05GSUcpIHB1YmxpYyBjb25maWc6IEZzQ29udGVudFdpZGdldENvbmZpZyxcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkgeyB9XG4gIFxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWcuZmV0Y2hDb250ZW50V2lkZ2V0KHRoaXMudGFnKVxuICAgIC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgIClcbiAgICAuc3Vic2NyaWJlKChjb250ZW50KSA9PiB7XG4gICAgICB0aGlzLmNvbnRlbnQgPSBjb250ZW50O1xuICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50XCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50V2lkZ2V0Q29udGVudDsgZWxzZSByZW5kZXJlclwiPlxuICAgIDxuZy1jb250YWluZXIgXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50V2lkZ2V0Q29udGVudFwiIFxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgY29udGVudDogcmVuZGVyZXIgfVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNyZW5kZXJlcj5cbiAgICA8ZnMtY29udGVudC13aWRnZXQtcmVuZGVyZXIgICAgIFxuICAgICAgW2NvbnRlbnRdPVwiY29udGVudFwiPlxuICAgIDwvZnMtY29udGVudC13aWRnZXQtcmVuZGVyZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj4iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/material/dialog";
|
|
6
|
+
import * as i3 from "@angular/material/button";
|
|
7
|
+
import * as i4 from "@firestitch/dialog";
|
|
8
|
+
import * as i5 from "../content-widget/content-widget.component";
|
|
9
|
+
export class FsContentWidgetDialogComponent {
|
|
10
|
+
_data;
|
|
11
|
+
title;
|
|
12
|
+
tag;
|
|
13
|
+
constructor(_data) {
|
|
14
|
+
this._data = _data;
|
|
15
|
+
this.title = _data.title;
|
|
16
|
+
this.tag = _data.tag;
|
|
17
|
+
}
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetDialogComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsContentWidgetDialogComponent, selector: "ng-component", ngImport: i0, template: "<fs-dialog>\n <ng-container *ngIf=\"title\">\n <div mat-dialog-title>{{title}}</div>\n </ng-container>\n <mat-dialog-content>\n <fs-content-widget [tag]=\"tag\"></fs-content-widget>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button \n mat-button \n color=\"primary\" \n type=\"button\" \n [mat-dialog-close]=\"null\">\n Close \n </button>\n </mat-dialog-actions>\n</fs-dialog>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileButtonPlacement", "mobileWidth", "mode", "buttonLayout", "dock", "dockable", "fullscreenPercent"] }, { kind: "component", type: i5.FsContentWidgetComponent, selector: "fs-content-widget", inputs: ["tag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetDialogComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-dialog>\n <ng-container *ngIf=\"title\">\n <div mat-dialog-title>{{title}}</div>\n </ng-container>\n <mat-dialog-content>\n <fs-content-widget [tag]=\"tag\"></fs-content-widget>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button \n mat-button \n color=\"primary\" \n type=\"button\" \n [mat-dialog-close]=\"null\">\n Close \n </button>\n </mat-dialog-actions>\n</fs-dialog>\n" }]
|
|
24
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
25
|
+
type: Inject,
|
|
26
|
+
args: [MAT_DIALOG_DATA]
|
|
27
|
+
}] }]; } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC13aWRnZXQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29udGVudC13aWRnZXQvY29tcG9uZW50cy9jb250ZW50LXdpZGdldC1kaWFsb2cvY29udGVudC13aWRnZXQtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29udGVudC13aWRnZXQvY29tcG9uZW50cy9jb250ZW50LXdpZGdldC1kaWFsb2cvY29udGVudC13aWRnZXQtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQU8zRCxNQUFNLE9BQU8sOEJBQThCO0lBS0k7SUFIdEMsS0FBSyxDQUFDO0lBQ04sR0FBRyxDQUFDO0lBRVgsWUFBNkMsS0FBSztRQUFMLFVBQUssR0FBTCxLQUFLLENBQUE7UUFDaEQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN2QixDQUFDO3dHQVJVLDhCQUE4QixrQkFLckIsZUFBZTs0RkFMeEIsOEJBQThCLG9EQ1QzQyxzYkFpQkE7OzRGRFJhLDhCQUE4QjtrQkFMMUMsU0FBUztzQ0FHUyx1QkFBdUIsQ0FBQyxNQUFNOzswQkFPbEMsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vY29udGVudC13aWRnZXQtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGVudC13aWRnZXQtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc0NvbnRlbnRXaWRnZXREaWFsb2dDb21wb25lbnQge1xuXG4gIHB1YmxpYyB0aXRsZTtcbiAgcHVibGljIHRhZztcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHJpdmF0ZSBfZGF0YSkge1xuICAgIHRoaXMudGl0bGUgPSBfZGF0YS50aXRsZTtcbiAgICB0aGlzLnRhZyA9IF9kYXRhLnRhZztcbiAgfVxufVxuIiwiPGZzLWRpYWxvZz5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRpdGxlXCI+XG4gICAgPGRpdiBtYXQtZGlhbG9nLXRpdGxlPnt7dGl0bGV9fTwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8ZnMtY29udGVudC13aWRnZXQgW3RhZ109XCJ0YWdcIj48L2ZzLWNvbnRlbnQtd2lkZ2V0PlxuICA8L21hdC1kaWFsb2ctY29udGVudD5cbiAgPG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICA8YnV0dG9uIFxuICAgICAgICBtYXQtYnV0dG9uIFxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIiBcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiIFxuICAgICAgICBbbWF0LWRpYWxvZy1jbG9zZV09XCJudWxsXCI+XG4gICAgICBDbG9zZSBcbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG48L2ZzLWRpYWxvZz5cbiJdfQ==
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Component, ElementRef, Input } from '@angular/core';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/router";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@firestitch/html-editor";
|
|
8
|
+
export class FsContentWidgetRendererComponent {
|
|
9
|
+
_router;
|
|
10
|
+
_el;
|
|
11
|
+
content;
|
|
12
|
+
destroy$ = new Subject();
|
|
13
|
+
constructor(_router, _el) {
|
|
14
|
+
this._router = _router;
|
|
15
|
+
this._el = _el;
|
|
16
|
+
}
|
|
17
|
+
ngAfterViewChecked() {
|
|
18
|
+
this.registerHrefs();
|
|
19
|
+
}
|
|
20
|
+
get el() {
|
|
21
|
+
return this._el.nativeElement;
|
|
22
|
+
}
|
|
23
|
+
registerHrefs() {
|
|
24
|
+
Array.from(this.el.querySelectorAll('a[href]'))
|
|
25
|
+
.filter((el) => {
|
|
26
|
+
return el.getAttribute('href').match(/^\//);
|
|
27
|
+
})
|
|
28
|
+
.forEach((el) => {
|
|
29
|
+
el.addEventListener('click', (event) => {
|
|
30
|
+
if (!event.shiftKey && !event.ctrlKey) {
|
|
31
|
+
event.preventDefault();
|
|
32
|
+
const href = el.getAttribute('href');
|
|
33
|
+
this._router.navigateByUrl(href);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
ngOnDestroy() {
|
|
39
|
+
this.destroy$.next();
|
|
40
|
+
this.destroy$.complete();
|
|
41
|
+
}
|
|
42
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetRendererComponent, deps: [{ token: i1.Router }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsContentWidgetRendererComponent, selector: "fs-content-widget-renderer", inputs: { content: "content" }, ngImport: i0, template: "<fs-html-renderer *ngIf=\"content\" [html]=\"content\"></fs-html-renderer>", styles: [":host ::ng-deep img{max-width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FsHtmlRendererComponent, selector: "fs-html-renderer", inputs: ["html"] }] });
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetRendererComponent, decorators: [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{ selector: 'fs-content-widget-renderer', template: "<fs-html-renderer *ngIf=\"content\" [html]=\"content\"></fs-html-renderer>", styles: [":host ::ng-deep img{max-width:100%}\n"] }]
|
|
48
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i0.ElementRef }]; }, propDecorators: { content: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}] } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC13aWRnZXQtcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb250ZW50LXdpZGdldC9jb21wb25lbnRzL2NvbnRlbnQtd2lkZ2V0LXJlbmRlcmVyL2NvbnRlbnQtd2lkZ2V0LXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29udGVudC13aWRnZXQvY29tcG9uZW50cy9jb250ZW50LXdpZGdldC1yZW5kZXJlci9jb250ZW50LXdpZGdldC1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQVEvQixNQUFNLE9BQU8sZ0NBQWdDO0lBT2pDO0lBQ0E7SUFOTSxPQUFPLENBQUM7SUFFaEIsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFakMsWUFDVSxPQUFlLEVBQ2YsR0FBZTtRQURmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixRQUFHLEdBQUgsR0FBRyxDQUFZO0lBQ3JCLENBQUM7SUFFRSxrQkFBa0I7UUFDdkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxhQUFhO1FBQ2xCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUM1QyxNQUFNLENBQUMsQ0FBQyxFQUFXLEVBQUUsRUFBRTtZQUN0QixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQzthQUNELE9BQU8sQ0FBQyxDQUFDLEVBQVcsRUFBRSxFQUFFO1lBQ3ZCLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7Z0JBQ2hELElBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtvQkFDcEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN2QixNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDbEM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7d0dBdENVLGdDQUFnQzs0RkFBaEMsZ0NBQWdDLGtHQ1g3Qyw0RUFBc0U7OzRGRFd6RCxnQ0FBZ0M7a0JBTDVDLFNBQVM7K0JBQ0UsNEJBQTRCO3NIQU10QixPQUFPO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtY29udGVudC13aWRnZXQtcmVuZGVyZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGVudC13aWRnZXQtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZW50LXdpZGdldC1yZW5kZXJlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGc0NvbnRlbnRXaWRnZXRSZW5kZXJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG5cbiAgQElucHV0KCkgcHVibGljIGNvbnRlbnQ7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBfZWw6IEVsZW1lbnRSZWYsXG4gICkgeyB9XG4gIFxuICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJIcmVmcygpO1xuICB9XG5cbiAgcHVibGljIGdldCBlbCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9lbC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVySHJlZnMoKTogdm9pZCB7XG4gICAgQXJyYXkuZnJvbSh0aGlzLmVsLnF1ZXJ5U2VsZWN0b3JBbGwoJ2FbaHJlZl0nKSlcbiAgICAgIC5maWx0ZXIoKGVsOiBFbGVtZW50KSA9PiB7XG4gICAgICAgIHJldHVybiBlbC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKS5tYXRjaCgvXlxcLy8pO1xuICAgICAgfSlcbiAgICAgIC5mb3JFYWNoKChlbDogRWxlbWVudCkgPT4ge1xuICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYoIWV2ZW50LnNoaWZ0S2V5ICYmICFldmVudC5jdHJsS2V5KSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgY29uc3QgaHJlZiA9IGVsLmdldEF0dHJpYnV0ZSgnaHJlZicpO1xuICAgICAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwoaHJlZik7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG59XG4iLCI8ZnMtaHRtbC1yZW5kZXJlciAqbmdJZj1cImNvbnRlbnRcIiBbaHRtbF09XCJjb250ZW50XCI+PC9mcy1odG1sLXJlbmRlcmVyPiJdfQ==
|
package/{esm2020 → esm2022}/app/content-widget/directives/content-widget-content.directive.mjs
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Directive } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class FsContentWidgetContentDirective {
|
|
4
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FsContentWidgetContentDirective, selector: "[fsContentWidgetContent]", ngImport: i0 });
|
|
4
6
|
}
|
|
5
|
-
|
|
6
|
-
FsContentWidgetContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: FsContentWidgetContentDirective, selector: "[fsContentWidgetContent]", ngImport: i0 });
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsContentWidgetContentDirective, decorators: [{
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetContentDirective, decorators: [{
|
|
8
8
|
type: Directive,
|
|
9
9
|
args: [{
|
|
10
10
|
selector: '[fsContentWidgetContent]',
|
|
11
11
|
}]
|
|
12
12
|
}] });
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC13aWRnZXQtY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbnRlbnQtd2lkZ2V0L2RpcmVjdGl2ZXMvY29udGVudC13aWRnZXQtY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNMUMsTUFBTSxPQUFPLCtCQUErQjt3R0FBL0IsK0JBQStCOzRGQUEvQiwrQkFBK0I7OzRGQUEvQiwrQkFBK0I7a0JBSDNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtpQkFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZnNDb250ZW50V2lkZ2V0Q29udGVudF0nLFxufSlcbmV4cG9ydCBjbGFzcyBGc0NvbnRlbnRXaWRnZXRDb250ZW50RGlyZWN0aXZlIHtcblxufVxuIl19
|
|
@@ -15,25 +15,25 @@ export class FsContentWidgetModule {
|
|
|
15
15
|
ngModule: FsContentWidgetModule,
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetModule, declarations: [FsContentWidgetRendererComponent,
|
|
20
|
+
FsContentWidgetComponent,
|
|
21
|
+
FsContentWidgetDialogComponent,
|
|
22
|
+
FsContentWidgetContentDirective], imports: [CommonModule,
|
|
23
|
+
MatDialogModule,
|
|
24
|
+
MatButtonModule,
|
|
25
|
+
FsHtmlEditorModule,
|
|
26
|
+
FsDialogModule,
|
|
27
|
+
FsHtmlRendererModule], exports: [FsContentWidgetComponent,
|
|
28
|
+
FsContentWidgetContentDirective] });
|
|
29
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetModule, imports: [CommonModule,
|
|
30
|
+
MatDialogModule,
|
|
31
|
+
MatButtonModule,
|
|
32
|
+
FsHtmlEditorModule,
|
|
33
|
+
FsDialogModule,
|
|
34
|
+
FsHtmlRendererModule] });
|
|
18
35
|
}
|
|
19
|
-
|
|
20
|
-
FsContentWidgetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FsContentWidgetModule, declarations: [FsContentWidgetRendererComponent,
|
|
21
|
-
FsContentWidgetComponent,
|
|
22
|
-
FsContentWidgetDialogComponent,
|
|
23
|
-
FsContentWidgetContentDirective], imports: [CommonModule,
|
|
24
|
-
MatDialogModule,
|
|
25
|
-
MatButtonModule,
|
|
26
|
-
FsHtmlEditorModule,
|
|
27
|
-
FsDialogModule,
|
|
28
|
-
FsHtmlRendererModule], exports: [FsContentWidgetComponent,
|
|
29
|
-
FsContentWidgetContentDirective] });
|
|
30
|
-
FsContentWidgetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsContentWidgetModule, imports: [CommonModule,
|
|
31
|
-
MatDialogModule,
|
|
32
|
-
MatButtonModule,
|
|
33
|
-
FsHtmlEditorModule,
|
|
34
|
-
FsDialogModule,
|
|
35
|
-
FsHtmlRendererModule] });
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsContentWidgetModule, decorators: [{
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetModule, decorators: [{
|
|
37
37
|
type: NgModule,
|
|
38
38
|
args: [{
|
|
39
39
|
imports: [
|
|
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
56
56
|
],
|
|
57
57
|
}]
|
|
58
58
|
}] });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtY29udGVudC13aWRnZXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9jb250ZW50LXdpZGdldC9mcy1jb250ZW50LXdpZGdldC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRW5GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBeUIvRCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxxQkFBcUI7U0FDaEMsQ0FBQztJQUNKLENBQUM7d0dBTFUscUJBQXFCO3lHQUFyQixxQkFBcUIsaUJBTjlCLGdDQUFnQztZQUNoQyx3QkFBd0I7WUFDeEIsOEJBQThCO1lBQzlCLCtCQUErQixhQWpCL0IsWUFBWTtZQUVaLGVBQWU7WUFDZixlQUFlO1lBRWYsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxvQkFBb0IsYUFHcEIsd0JBQXdCO1lBQ3hCLCtCQUErQjt5R0FTdEIscUJBQXFCLFlBcEI5QixZQUFZO1lBRVosZUFBZTtZQUNmLGVBQWU7WUFFZixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLG9CQUFvQjs7NEZBYVgscUJBQXFCO2tCQXRCakMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFFWixlQUFlO3dCQUNmLGVBQWU7d0JBRWYsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHdCQUF3Qjt3QkFDeEIsK0JBQStCO3FCQUNoQztvQkFDRCxZQUFZLEVBQUU7d0JBQ1osZ0NBQWdDO3dCQUNoQyx3QkFBd0I7d0JBQ3hCLDhCQUE4Qjt3QkFDOUIsK0JBQStCO3FCQUNoQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBGc0h0bWxFZGl0b3JNb2R1bGUsIEZzSHRtbFJlbmRlcmVyTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvaHRtbC1lZGl0b3InO1xuXG5pbXBvcnQgeyBGc0NvbnRlbnRXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udGVudC13aWRnZXQnO1xuaW1wb3J0IHsgRnNDb250ZW50V2lkZ2V0UmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udGVudC13aWRnZXQtcmVuZGVyZXInO1xuaW1wb3J0IHsgRnNDb250ZW50V2lkZ2V0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgRnNEaWFsb2dNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9kaWFsb2cnO1xuaW1wb3J0IHsgRnNDb250ZW50V2lkZ2V0Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcblxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG5cbiAgICBGc0h0bWxFZGl0b3JNb2R1bGUsXG4gICAgRnNEaWFsb2dNb2R1bGUsXG4gICAgRnNIdG1sUmVuZGVyZXJNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGc0NvbnRlbnRXaWRnZXRDb21wb25lbnQsXG4gICAgRnNDb250ZW50V2lkZ2V0Q29udGVudERpcmVjdGl2ZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRnNDb250ZW50V2lkZ2V0UmVuZGVyZXJDb21wb25lbnQsXG4gICAgRnNDb250ZW50V2lkZ2V0Q29tcG9uZW50LFxuICAgIEZzQ29udGVudFdpZGdldERpYWxvZ0NvbXBvbmVudCxcbiAgICBGc0NvbnRlbnRXaWRnZXRDb250ZW50RGlyZWN0aXZlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGc0NvbnRlbnRXaWRnZXRNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEZzQ29udGVudFdpZGdldE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRnNDb250ZW50V2lkZ2V0TW9kdWxlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
+
import { FsContentWidgetDialogComponent } from '../components';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/dialog";
|
|
6
|
+
export class FsContentWidget {
|
|
7
|
+
_dialog;
|
|
8
|
+
constructor(_dialog) {
|
|
9
|
+
this._dialog = _dialog;
|
|
10
|
+
}
|
|
11
|
+
open(tag, title) {
|
|
12
|
+
this._dialog.open(FsContentWidgetDialogComponent, {
|
|
13
|
+
data: {
|
|
14
|
+
tag,
|
|
15
|
+
title,
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidget, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
20
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidget, providedIn: 'root' });
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidget, decorators: [{
|
|
23
|
+
type: Injectable,
|
|
24
|
+
args: [{
|
|
25
|
+
providedIn: 'root',
|
|
26
|
+
}]
|
|
27
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC13aWRnZXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29udGVudC13aWRnZXQvc2VydmljZXMvY29udGVudC13aWRnZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU0vRCxNQUFNLE9BQU8sZUFBZTtJQUdoQjtJQURWLFlBQ1UsT0FBa0I7UUFBbEIsWUFBTyxHQUFQLE9BQU8sQ0FBVztJQUN6QixDQUFDO0lBRUcsSUFBSSxDQUFDLEdBQVcsRUFBRSxLQUFjO1FBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLDhCQUE4QixFQUFFO1lBQ2hELElBQUksRUFBRTtnQkFDSixHQUFHO2dCQUNILEtBQUs7YUFDTjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBYlUsZUFBZTs0R0FBZixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBGc0NvbnRlbnRXaWRnZXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnNDb250ZW50V2lkZ2V0IHtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXG4gICkge31cblxuICBwdWJsaWMgb3Blbih0YWc6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9kaWFsb2cub3BlbihGc0NvbnRlbnRXaWRnZXREaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHsgXG4gICAgICAgIHRhZywgXG4gICAgICAgIHRpdGxlLFxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbn0iXX0=
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import { FsMessage } from '@firestitch/message';
|
|
4
|
+
import { tap } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@firestitch/message";
|
|
7
|
+
import * as i2 from "@angular/forms";
|
|
8
|
+
import * as i3 from "@angular/material/dialog";
|
|
9
|
+
import * as i4 from "@angular/material/input";
|
|
10
|
+
import * as i5 from "@angular/material/form-field";
|
|
11
|
+
import * as i6 from "@angular/material/button";
|
|
12
|
+
import * as i7 from "@angular/material/tabs";
|
|
13
|
+
import * as i8 from "@firestitch/form";
|
|
14
|
+
import * as i9 from "@firestitch/html-editor";
|
|
15
|
+
import * as i10 from "@firestitch/dialog";
|
|
16
|
+
import * as i11 from "@firestitch/text-editor";
|
|
17
|
+
export class FsContentWidgetComponent {
|
|
18
|
+
_message;
|
|
19
|
+
_data;
|
|
20
|
+
contentWidget;
|
|
21
|
+
htmlEditorConfig;
|
|
22
|
+
_saveContentWidget;
|
|
23
|
+
constructor(_message, _data) {
|
|
24
|
+
this._message = _message;
|
|
25
|
+
this._data = _data;
|
|
26
|
+
}
|
|
27
|
+
ngOnInit() {
|
|
28
|
+
this._saveContentWidget = this._data.saveContentWidget;
|
|
29
|
+
this.htmlEditorConfig = {
|
|
30
|
+
...this._data.htmlEditorConfig
|
|
31
|
+
};
|
|
32
|
+
this.contentWidget = { ...this._data.contentWidget };
|
|
33
|
+
}
|
|
34
|
+
save = () => {
|
|
35
|
+
return this._saveContentWidget(this.contentWidget)
|
|
36
|
+
.pipe(tap((contentWidget) => {
|
|
37
|
+
this.contentWidget = { ...this.contentWidget, ...contentWidget };
|
|
38
|
+
this._message.success('Saved Changes');
|
|
39
|
+
}));
|
|
40
|
+
};
|
|
41
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetComponent, deps: [{ token: i1.FsMessage }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsContentWidgetComponent, selector: "ng-component", ngImport: i0, template: "\n<form fsForm [submit]=\"save\">\n <fs-dialog>\n <div mat-dialog-title>\n Content Widget\n <div class=\"subtitle\">{{contentWidget.name}}</div>\n </div>\n <mat-dialog-content>\n <mat-tab-group>\n <mat-tab label=\"HTML\">\n <ng-template matTabContent>\n <fs-text-editor\n [(ngModel)]=\"contentWidget.content\"\n [config]=\"{ language: 'html', tabSize: 2 }\"\n name=\"html\">\n </fs-text-editor>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Rich Text\">\n <ng-template matTabContent>\n <fs-html-editor\n [(ngModel)]=\"contentWidget.content\"\n [config]=\"htmlEditorConfig\"\n name=\"content\">\n </fs-html-editor>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Styles\">\n <ng-template matTabContent>\n <fs-text-editor\n [(ngModel)]=\"contentWidget.styles\"\n [config]=\"{ language: 'scss', tabSize: 2 }\"\n name=\"styles\">\n </fs-text-editor>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Settings\">\n <mat-form-field>\n <input\n matInput\n placeholder=\"Name\"\n [(ngModel)]=\"contentWidget.name\"\n name=\"name\"\n [required]=\"true\">\n </mat-form-field>\n </mat-tab>\n </mat-tab-group>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n color=\"primary\">\n Save\n </button>\n <button\n mat-button\n [mat-dialog-close]=\"null\"\n type=\"button\">\n Cancel\n </button>\n </mat-dialog-actions>\n </fs-dialog>\n</form>\n", styles: ["mat-form-field{width:100%}fs-html-editor{min-height:400px;display:block;overflow:hidden}.subtitle{font-size:60%;line-height:normal}:host ::ng-deep .mat-tab-body-content{overflow:visible}\n"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i7.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i7.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i7.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }, { kind: "directive", type: i8.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup", "deactivationGuard"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"], exportAs: ["fsForm"] }, { kind: "directive", type: i8.FsFormRequiredDirective, selector: "[fsFormRequired],[ngModel][required]", inputs: ["fsFormRequired", "required", "fsFormRequiredMessage"] }, { kind: "directive", type: i8.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "directive", type: i8.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }, { kind: "component", type: i9.FsHtmlEditorComponent, selector: "fs-html-editor", inputs: ["config", "disabled"] }, { kind: "component", type: i10.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileButtonPlacement", "mobileWidth", "mode", "buttonLayout", "dock", "dockable", "fullscreenPercent"] }, { kind: "component", type: i11.FsTextEditorComponent, selector: "fs-text-editor", inputs: ["config", "scrollable"], outputs: ["ready", "blur"] }] });
|
|
43
|
+
}
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetComponent, decorators: [{
|
|
45
|
+
type: Component,
|
|
46
|
+
args: [{ template: "\n<form fsForm [submit]=\"save\">\n <fs-dialog>\n <div mat-dialog-title>\n Content Widget\n <div class=\"subtitle\">{{contentWidget.name}}</div>\n </div>\n <mat-dialog-content>\n <mat-tab-group>\n <mat-tab label=\"HTML\">\n <ng-template matTabContent>\n <fs-text-editor\n [(ngModel)]=\"contentWidget.content\"\n [config]=\"{ language: 'html', tabSize: 2 }\"\n name=\"html\">\n </fs-text-editor>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Rich Text\">\n <ng-template matTabContent>\n <fs-html-editor\n [(ngModel)]=\"contentWidget.content\"\n [config]=\"htmlEditorConfig\"\n name=\"content\">\n </fs-html-editor>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Styles\">\n <ng-template matTabContent>\n <fs-text-editor\n [(ngModel)]=\"contentWidget.styles\"\n [config]=\"{ language: 'scss', tabSize: 2 }\"\n name=\"styles\">\n </fs-text-editor>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Settings\">\n <mat-form-field>\n <input\n matInput\n placeholder=\"Name\"\n [(ngModel)]=\"contentWidget.name\"\n name=\"name\"\n [required]=\"true\">\n </mat-form-field>\n </mat-tab>\n </mat-tab-group>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button\n mat-button\n color=\"primary\">\n Save\n </button>\n <button\n mat-button\n [mat-dialog-close]=\"null\"\n type=\"button\">\n Cancel\n </button>\n </mat-dialog-actions>\n </fs-dialog>\n</form>\n", styles: ["mat-form-field{width:100%}fs-html-editor{min-height:400px;display:block;overflow:hidden}.subtitle{font-size:60%;line-height:normal}:host ::ng-deep .mat-tab-body-content{overflow:visible}\n"] }]
|
|
47
|
+
}], ctorParameters: function () { return [{ type: i1.FsMessage }, { type: undefined, decorators: [{
|
|
48
|
+
type: Inject,
|
|
49
|
+
args: [MAT_DIALOG_DATA]
|
|
50
|
+
}] }]; } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb250ZW50LXdpZGdldHMvY29tcG9uZW50cy9jb250ZW50LXdpZGdldC9jb250ZW50LXdpZGdldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbnRlbnQtd2lkZ2V0cy9jb21wb25lbnRzL2NvbnRlbnQtd2lkZ2V0L2NvbnRlbnQtd2lkZ2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUczRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBT3JDLE1BQU0sT0FBTyx3QkFBd0I7SUFRekI7SUFDeUI7SUFQNUIsYUFBYSxDQUFDO0lBQ2QsZ0JBQWdCLENBQXFCO0lBRXBDLGtCQUFrQixDQUEwQztJQUVwRSxZQUNVLFFBQW1CLEVBQ00sS0FBVTtRQURuQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ00sVUFBSyxHQUFMLEtBQUssQ0FBSztJQUU3QyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO1FBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsR0FBRztZQUN0QixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCO1NBQy9CLENBQUM7UUFFRixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFTSxJQUFJLEdBQUcsR0FBRyxFQUFFO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7YUFDL0MsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxhQUFhLEVBQUUsQ0FBQztZQUNqRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQyxDQUFBO3dHQTlCVSx3QkFBd0IsMkNBU3pCLGVBQWU7NEZBVGQsd0JBQXdCLG9EQ2ZyQyxxMERBK0RBOzs0RkRoRGEsd0JBQXdCO2tCQUpwQyxTQUFTOzs7MEJBYUwsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRnNIdG1sRWRpdG9yQ29uZmlnIH0gZnJvbSAnQGZpcmVzdGl0Y2gvaHRtbC1lZGl0b3InO1xuXG5pbXBvcnQgeyBGc01lc3NhZ2UgfSBmcm9tICdAZmlyZXN0aXRjaC9tZXNzYWdlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vY29udGVudC13aWRnZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZW50LXdpZGdldC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGc0NvbnRlbnRXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBjb250ZW50V2lkZ2V0O1xuICBwdWJsaWMgaHRtbEVkaXRvckNvbmZpZzogRnNIdG1sRWRpdG9yQ29uZmlnO1xuICBcbiAgcHJpdmF0ZSBfc2F2ZUNvbnRlbnRXaWRnZXQ6IChjb250ZW50V2lkZ2V0OiBhbnkpID0+IE9ic2VydmFibGU8YW55PjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfbWVzc2FnZTogRnNNZXNzYWdlLFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIF9kYXRhOiBhbnksXG4gICkge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3NhdmVDb250ZW50V2lkZ2V0ID0gdGhpcy5fZGF0YS5zYXZlQ29udGVudFdpZGdldDtcbiAgICB0aGlzLmh0bWxFZGl0b3JDb25maWcgPSB7XG4gICAgICAuLi50aGlzLl9kYXRhLmh0bWxFZGl0b3JDb25maWdcbiAgICB9O1xuICAgIFxuICAgIHRoaXMuY29udGVudFdpZGdldCA9IHsgLi4udGhpcy5fZGF0YS5jb250ZW50V2lkZ2V0IH07XG4gIH1cblxuICBwdWJsaWMgc2F2ZSA9ICgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5fc2F2ZUNvbnRlbnRXaWRnZXQodGhpcy5jb250ZW50V2lkZ2V0KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoY29udGVudFdpZGdldCkgPT4ge1xuICAgICAgICAgIHRoaXMuY29udGVudFdpZGdldCA9IHsgLi4udGhpcy5jb250ZW50V2lkZ2V0LCAuLi5jb250ZW50V2lkZ2V0IH07XG4gICAgICAgICAgdGhpcy5fbWVzc2FnZS5zdWNjZXNzKCdTYXZlZCBDaGFuZ2VzJyk7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG59XG4iLCJcbjxmb3JtIGZzRm9ybSBbc3VibWl0XT1cInNhdmVcIj5cbiAgPGZzLWRpYWxvZz5cbiAgICA8ZGl2IG1hdC1kaWFsb2ctdGl0bGU+XG4gICAgICBDb250ZW50IFdpZGdldFxuICAgICAgPGRpdiBjbGFzcz1cInN1YnRpdGxlXCI+e3tjb250ZW50V2lkZ2V0Lm5hbWV9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgICA8bWF0LXRhYi1ncm91cD5cbiAgICAgICAgPG1hdC10YWIgbGFiZWw9XCJIVE1MXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICAgICAgICA8ZnMtdGV4dC1lZGl0b3JcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb250ZW50V2lkZ2V0LmNvbnRlbnRcIlxuICAgICAgICAgICAgICBbY29uZmlnXT1cInsgbGFuZ3VhZ2U6ICdodG1sJywgdGFiU2l6ZTogMiB9XCJcbiAgICAgICAgICAgICAgbmFtZT1cImh0bWxcIj5cbiAgICAgICAgICAgIDwvZnMtdGV4dC1lZGl0b3I+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIlJpY2ggVGV4dFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgICAgICAgPGZzLWh0bWwtZWRpdG9yXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudFdpZGdldC5jb250ZW50XCJcbiAgICAgICAgICAgICAgW2NvbmZpZ109XCJodG1sRWRpdG9yQ29uZmlnXCJcbiAgICAgICAgICAgICAgbmFtZT1cImNvbnRlbnRcIj5cbiAgICAgICAgICAgIDwvZnMtaHRtbC1lZGl0b3I+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIlN0eWxlc1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgICAgICAgPGZzLXRleHQtZWRpdG9yXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudFdpZGdldC5zdHlsZXNcIlxuICAgICAgICAgICAgICBbY29uZmlnXT1cInsgbGFuZ3VhZ2U6ICdzY3NzJywgdGFiU2l6ZTogMiB9XCJcbiAgICAgICAgICAgICAgbmFtZT1cInN0eWxlc1wiPlxuICAgICAgICAgICAgPC9mcy10ZXh0LWVkaXRvcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L21hdC10YWI+XG4gICAgICAgIDxtYXQtdGFiIGxhYmVsPVwiU2V0dGluZ3NcIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJOYW1lXCJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb250ZW50V2lkZ2V0Lm5hbWVcIlxuICAgICAgICAgICAgICBuYW1lPVwibmFtZVwiXG4gICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCI+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgPC9tYXQtdGFiLWdyb3VwPlxuICAgIDwvbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgICBTYXZlXG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwibnVsbFwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICBDYW5jZWxcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuICA8L2ZzLWRpYWxvZz5cbjwvZm9ybT5cbiJdfQ==
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Component, ViewChild, Input } from '@angular/core';
|
|
2
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
+
import { FsListComponent } from '@firestitch/list';
|
|
4
|
+
import { ItemType } from '@firestitch/filter';
|
|
5
|
+
import { Subject } from 'rxjs';
|
|
6
|
+
import { map, takeUntil } from 'rxjs/operators';
|
|
7
|
+
import { FsContentWidgetComponent } from '../content-widget/content-widget.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/material/dialog";
|
|
10
|
+
import * as i2 from "@firestitch/list";
|
|
11
|
+
import * as i3 from "@firestitch/date";
|
|
12
|
+
export class FsContentWidgetsComponent {
|
|
13
|
+
_dialog;
|
|
14
|
+
fetchContentWidgets;
|
|
15
|
+
saveContentWidget;
|
|
16
|
+
htmlEditorConfig;
|
|
17
|
+
list;
|
|
18
|
+
config;
|
|
19
|
+
_destroy$ = new Subject();
|
|
20
|
+
constructor(_dialog) {
|
|
21
|
+
this._dialog = _dialog;
|
|
22
|
+
}
|
|
23
|
+
ngOnInit() {
|
|
24
|
+
this.config = {
|
|
25
|
+
paging: false,
|
|
26
|
+
filters: [
|
|
27
|
+
{
|
|
28
|
+
name: 'keyword',
|
|
29
|
+
type: ItemType.Keyword,
|
|
30
|
+
label: 'Search',
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
fetch: (query) => {
|
|
34
|
+
return this.fetchContentWidgets(query)
|
|
35
|
+
.pipe(map((data) => ({ data: data.contentWidgets })));
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
ngOnDestroy() {
|
|
40
|
+
this._destroy$.next();
|
|
41
|
+
this._destroy$.complete();
|
|
42
|
+
}
|
|
43
|
+
open(contentWidget) {
|
|
44
|
+
this._dialog.open(FsContentWidgetComponent, {
|
|
45
|
+
width: '90%',
|
|
46
|
+
data: {
|
|
47
|
+
contentWidget,
|
|
48
|
+
htmlEditorConfig: this.htmlEditorConfig,
|
|
49
|
+
saveContentWidget: this.saveContentWidget,
|
|
50
|
+
},
|
|
51
|
+
})
|
|
52
|
+
.afterClosed()
|
|
53
|
+
.pipe(takeUntil(this._destroy$))
|
|
54
|
+
.subscribe(() => {
|
|
55
|
+
this.list.reload();
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetsComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
59
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsContentWidgetsComponent, selector: "fs-content-widgets", inputs: { fetchContentWidgets: "fetchContentWidgets", saveContentWidget: "saveContentWidget", htmlEditorConfig: "htmlEditorConfig" }, viewQueries: [{ propertyName: "list", first: true, predicate: FsListComponent, descendants: true, static: true }], ngImport: i0, template: "<fs-list [config]=\"config\">\n <fs-list-column class=\"name\">\n <ng-template fs-list-header>Name</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"open(row)\">{{row.name}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column>\n <ng-template fs-list-header>Preview</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <div class=\"preview-container\">\n <div class=\"preview-content\">\n <div [innerHTML]=\"row.content\"></div>\n </div>\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column class=\"modified\">\n <ng-template fs-list-header>Modified</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <fs-date-ago [date]=\"row.modifiedDate\"></fs-date-ago>\n </ng-template>\n </fs-list-column>\n</fs-list>\n", styles: [":host ::ng-deep .modified,:host ::ng-deep .name{width:1%;white-space:nowrap}:host ::ng-deep .preview-content img{display:none}.preview-content{position:relative;max-height:100px;max-width:100%;overflow:hidden;-webkit-mask-image:-webkit-gradient(linear,left 60%,left bottom,from(rgb(0,0,0)),to(rgba(0,0,0,0)))}\n"], dependencies: [{ kind: "component", type: i2.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { kind: "directive", type: i2.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "sortableDirection", "direction", "align", "width", "class"] }, { kind: "directive", type: i2.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }, { kind: "directive", type: i2.FsListHeaderDirective, selector: "[fs-list-header]", inputs: ["colspan", "align", "class"] }, { kind: "component", type: i3.FsDateAgoComponent, selector: "fs-date-ago", inputs: ["date", "showTime", "format", "showTooltip", "tooltipDateFormat"] }] });
|
|
60
|
+
}
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetsComponent, decorators: [{
|
|
62
|
+
type: Component,
|
|
63
|
+
args: [{ selector: 'fs-content-widgets', template: "<fs-list [config]=\"config\">\n <fs-list-column class=\"name\">\n <ng-template fs-list-header>Name</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"open(row)\">{{row.name}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column>\n <ng-template fs-list-header>Preview</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <div class=\"preview-container\">\n <div class=\"preview-content\">\n <div [innerHTML]=\"row.content\"></div>\n </div>\n </div>\n </ng-template>\n </fs-list-column>\n <fs-list-column class=\"modified\">\n <ng-template fs-list-header>Modified</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <fs-date-ago [date]=\"row.modifiedDate\"></fs-date-ago>\n </ng-template>\n </fs-list-column>\n</fs-list>\n", styles: [":host ::ng-deep .modified,:host ::ng-deep .name{width:1%;white-space:nowrap}:host ::ng-deep .preview-content img{display:none}.preview-content{position:relative;max-height:100px;max-width:100%;overflow:hidden;-webkit-mask-image:-webkit-gradient(linear,left 60%,left bottom,from(rgb(0,0,0)),to(rgba(0,0,0,0)))}\n"] }]
|
|
64
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; }, propDecorators: { fetchContentWidgets: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], saveContentWidget: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], htmlEditorConfig: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], list: [{
|
|
71
|
+
type: ViewChild,
|
|
72
|
+
args: [FsListComponent, { static: true }]
|
|
73
|
+
}] } });
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC13aWRnZXRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29udGVudC13aWRnZXRzL2NvbXBvbmVudHMvY29udGVudC13aWRnZXRzL2NvbnRlbnQtd2lkZ2V0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbnRlbnQtd2lkZ2V0cy9jb21wb25lbnRzL2NvbnRlbnQtd2lkZ2V0cy9jb250ZW50LXdpZGdldHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUMsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7OztBQVN0RixNQUFNLE9BQU8seUJBQXlCO0lBYzFCO0lBWk0sbUJBQW1CLENBQXVFO0lBQzFGLGlCQUFpQixDQUEwQztJQUMzRCxnQkFBZ0IsQ0FBcUI7SUFHOUMsSUFBSSxDQUFrQjtJQUV0QixNQUFNLENBQWU7SUFFcEIsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFbEMsWUFDVSxPQUFrQjtRQUFsQixZQUFPLEdBQVAsT0FBTyxDQUFXO0lBQ3pCLENBQUM7SUFFRyxRQUFRO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLE1BQU0sRUFBRSxLQUFLO1lBQ2IsT0FBTyxFQUFFO2dCQUNQO29CQUNFLElBQUksRUFBRSxTQUFTO29CQUNmLElBQUksRUFBRSxRQUFRLENBQUMsT0FBTztvQkFDdEIsS0FBSyxFQUFFLFFBQVE7aUJBQ2hCO2FBQ0Y7WUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDZixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7cUJBQ25DLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FDcEQsQ0FBQztZQUNOLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxJQUFJLENBQUMsYUFBYTtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUMxQyxLQUFLLEVBQUUsS0FBSztZQUNaLElBQUksRUFBRTtnQkFDSixhQUFhO2dCQUNiLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7Z0JBQ3ZDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUI7YUFDMUM7U0FDRixDQUFDO2FBQ0MsV0FBVyxFQUFFO2FBQ2IsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3dHQXpEVSx5QkFBeUI7NEZBQXpCLHlCQUF5QixzT0FNekIsZUFBZSw4REN6QjVCLDQwQkF3QkE7OzRGRExhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxvQkFBb0I7Z0dBTWQsbUJBQW1CO3NCQUFsQyxLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBR0MsSUFBSTtzQkFEVixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgT25Jbml0LCBPbkRlc3Ryb3ksIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IEZzTGlzdENvbXBvbmVudCwgRnNMaXN0Q29uZmlnIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbGlzdCc7XG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2ZpbHRlcic7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGc0NvbnRlbnRXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuLi9jb250ZW50LXdpZGdldC9jb250ZW50LXdpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnNIdG1sRWRpdG9yQ29uZmlnIH0gZnJvbSAnQGZpcmVzdGl0Y2gvaHRtbC1lZGl0b3InO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWNvbnRlbnQtd2lkZ2V0cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LXdpZGdldHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZW50LXdpZGdldHMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNDb250ZW50V2lkZ2V0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBwdWJsaWMgZmV0Y2hDb250ZW50V2lkZ2V0czogKHF1ZXJ5PzogYW55KSA9PiBPYnNlcnZhYmxlPHsgY29udGVudFdpZGdldHM6IGFueVtdLCBwYWdpbmc/OiBhbnkgfT47XG4gIEBJbnB1dCgpIHB1YmxpYyBzYXZlQ29udGVudFdpZGdldDogKGNvbnRlbnRXaWRnZXQ6IGFueSkgPT4gT2JzZXJ2YWJsZTxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMgaHRtbEVkaXRvckNvbmZpZzogRnNIdG1sRWRpdG9yQ29uZmlnO1xuXG4gIEBWaWV3Q2hpbGQoRnNMaXN0Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgbGlzdDogRnNMaXN0Q29tcG9uZW50O1xuXG4gIHB1YmxpYyBjb25maWc6IEZzTGlzdENvbmZpZztcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICBwYWdpbmc6IGZhbHNlLFxuICAgICAgZmlsdGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2tleXdvcmQnLFxuICAgICAgICAgIHR5cGU6IEl0ZW1UeXBlLktleXdvcmQsXG4gICAgICAgICAgbGFiZWw6ICdTZWFyY2gnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGZldGNoOiAocXVlcnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hDb250ZW50V2lkZ2V0cyhxdWVyeSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoZGF0YTogYW55KSA9PiAoeyBkYXRhOiBkYXRhLmNvbnRlbnRXaWRnZXRzIH0pKSxcbiAgICAgICAgICApO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG9wZW4oY29udGVudFdpZGdldCk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZy5vcGVuKEZzQ29udGVudFdpZGdldENvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc5MCUnLFxuICAgICAgZGF0YTogeyBcbiAgICAgICAgY29udGVudFdpZGdldCxcbiAgICAgICAgaHRtbEVkaXRvckNvbmZpZzogdGhpcy5odG1sRWRpdG9yQ29uZmlnLFxuICAgICAgICBzYXZlQ29udGVudFdpZGdldDogdGhpcy5zYXZlQ29udGVudFdpZGdldCxcbiAgICAgIH0sXG4gICAgfSlcbiAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmxpc3QucmVsb2FkKCk7XG4gICAgICB9KTtcbiAgfVxuXG59XG4iLCI8ZnMtbGlzdCBbY29uZmlnXT1cImNvbmZpZ1wiPlxuICA8ZnMtbGlzdC1jb2x1bW4gY2xhc3M9XCJuYW1lXCI+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtaGVhZGVyPk5hbWU8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWNlbGwgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgPGEgKGNsaWNrKT1cIm9wZW4ocm93KVwiPnt7cm93Lm5hbWV9fTwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2ZzLWxpc3QtY29sdW1uPlxuICA8ZnMtbGlzdC1jb2x1bW4+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtaGVhZGVyPlByZXZpZXc8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWNlbGwgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXctY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LWNvbnRlbnRcIj5cbiAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwicm93LmNvbnRlbnRcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2ZzLWxpc3QtY29sdW1uPlxuICA8ZnMtbGlzdC1jb2x1bW4gY2xhc3M9XCJtb2RpZmllZFwiPlxuICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWhlYWRlcj5Nb2RpZmllZDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIGZzLWxpc3QtY2VsbCBsZXQtcm93PVwicm93XCI+XG4gICAgICA8ZnMtZGF0ZS1hZ28gW2RhdGVdPVwicm93Lm1vZGlmaWVkRGF0ZVwiPjwvZnMtZGF0ZS1hZ28+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cbjwvZnMtbGlzdD5cbiJdfQ==
|
|
@@ -21,36 +21,36 @@ export class FsContentWidgetsModule {
|
|
|
21
21
|
ngModule: FsContentWidgetsModule,
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
25
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetsModule, declarations: [FsContentWidgetsComponent,
|
|
26
|
+
FsContentWidgetComponent], imports: [CommonModule,
|
|
27
|
+
FormsModule,
|
|
28
|
+
MatDialogModule,
|
|
29
|
+
MatInputModule,
|
|
30
|
+
MatFormFieldModule,
|
|
31
|
+
MatButtonModule,
|
|
32
|
+
MatTabsModule,
|
|
33
|
+
FsListModule,
|
|
34
|
+
FsDateModule,
|
|
35
|
+
FsFormModule,
|
|
36
|
+
FsHtmlEditorModule,
|
|
37
|
+
FsDialogModule,
|
|
38
|
+
FsTextEditorModule], exports: [FsContentWidgetsComponent] });
|
|
39
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetsModule, imports: [CommonModule,
|
|
40
|
+
FormsModule,
|
|
41
|
+
MatDialogModule,
|
|
42
|
+
MatInputModule,
|
|
43
|
+
MatFormFieldModule,
|
|
44
|
+
MatButtonModule,
|
|
45
|
+
MatTabsModule,
|
|
46
|
+
FsListModule,
|
|
47
|
+
FsDateModule,
|
|
48
|
+
FsFormModule,
|
|
49
|
+
FsHtmlEditorModule,
|
|
50
|
+
FsDialogModule,
|
|
51
|
+
FsTextEditorModule] });
|
|
24
52
|
}
|
|
25
|
-
|
|
26
|
-
FsContentWidgetsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FsContentWidgetsModule, declarations: [FsContentWidgetsComponent,
|
|
27
|
-
FsContentWidgetComponent], imports: [CommonModule,
|
|
28
|
-
FormsModule,
|
|
29
|
-
MatDialogModule,
|
|
30
|
-
MatInputModule,
|
|
31
|
-
MatFormFieldModule,
|
|
32
|
-
MatButtonModule,
|
|
33
|
-
MatTabsModule,
|
|
34
|
-
FsListModule,
|
|
35
|
-
FsDateModule,
|
|
36
|
-
FsFormModule,
|
|
37
|
-
FsHtmlEditorModule,
|
|
38
|
-
FsDialogModule,
|
|
39
|
-
FsTextEditorModule], exports: [FsContentWidgetsComponent] });
|
|
40
|
-
FsContentWidgetsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsContentWidgetsModule, imports: [CommonModule,
|
|
41
|
-
FormsModule,
|
|
42
|
-
MatDialogModule,
|
|
43
|
-
MatInputModule,
|
|
44
|
-
MatFormFieldModule,
|
|
45
|
-
MatButtonModule,
|
|
46
|
-
MatTabsModule,
|
|
47
|
-
FsListModule,
|
|
48
|
-
FsDateModule,
|
|
49
|
-
FsFormModule,
|
|
50
|
-
FsHtmlEditorModule,
|
|
51
|
-
FsDialogModule,
|
|
52
|
-
FsTextEditorModule] });
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsContentWidgetsModule, decorators: [{
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsContentWidgetsModule, decorators: [{
|
|
54
54
|
type: NgModule,
|
|
55
55
|
args: [{
|
|
56
56
|
imports: [
|
|
@@ -77,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
77
77
|
],
|
|
78
78
|
}]
|
|
79
79
|
}] });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtY29udGVudC13aWRnZXRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvY29udGVudC13aWRnZXRzL2ZzLWNvbnRlbnQtd2lkZ2V0cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQTRCekUsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsc0JBQXNCO1NBQ2pDLENBQUM7SUFDSixDQUFDO3dHQUxVLHNCQUFzQjt5R0FBdEIsc0JBQXNCLGlCQUovQix5QkFBeUI7WUFDekIsd0JBQXdCLGFBckJ4QixZQUFZO1lBQ1osV0FBVztZQUVYLGVBQWU7WUFDZixjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZixhQUFhO1lBRWIsWUFBWTtZQUNaLFlBQVk7WUFDWixZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxrQkFBa0IsYUFHbEIseUJBQXlCO3lHQU9oQixzQkFBc0IsWUF4Qi9CLFlBQVk7WUFDWixXQUFXO1lBRVgsZUFBZTtZQUNmLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGFBQWE7WUFFYixZQUFZO1lBQ1osWUFBWTtZQUNaLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLGtCQUFrQjs7NEZBVVQsc0JBQXNCO2tCQTFCbEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUVYLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsYUFBYTt3QkFFYixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2Qsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AseUJBQXlCO3FCQUMxQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1oseUJBQXlCO3dCQUN6Qix3QkFBd0I7cUJBQ3pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuXG5pbXBvcnQgeyBGc0xpc3RNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9saXN0JztcbmltcG9ydCB7IEZzRGF0ZU1vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2RhdGUnO1xuaW1wb3J0IHsgRnNEaWFsb2dNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9kaWFsb2cnO1xuaW1wb3J0IHsgRnNGb3JtTW9kdWxlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZm9ybSc7XG5pbXBvcnQgeyBGc0h0bWxFZGl0b3JNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC9odG1sLWVkaXRvcic7XG5pbXBvcnQgeyBGc1RleHRFZGl0b3JNb2R1bGUgfSBmcm9tICdAZmlyZXN0aXRjaC90ZXh0LWVkaXRvcic7XG5cbmltcG9ydCB7IEZzQ29udGVudFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb250ZW50LXdpZGdldCc7XG5pbXBvcnQgeyBGc0NvbnRlbnRXaWRnZXRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbnRlbnQtd2lkZ2V0cyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG5cbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuXG4gICAgRnNMaXN0TW9kdWxlLFxuICAgIEZzRGF0ZU1vZHVsZSxcbiAgICBGc0Zvcm1Nb2R1bGUsXG4gICAgRnNIdG1sRWRpdG9yTW9kdWxlLFxuICAgIEZzRGlhbG9nTW9kdWxlLFxuICAgIEZzVGV4dEVkaXRvck1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEZzQ29udGVudFdpZGdldHNDb21wb25lbnQsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZzQ29udGVudFdpZGdldHNDb21wb25lbnQsXG4gICAgRnNDb250ZW50V2lkZ2V0Q29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGc0NvbnRlbnRXaWRnZXRzTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxGc0NvbnRlbnRXaWRnZXRzTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBGc0NvbnRlbnRXaWRnZXRzTW9kdWxlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|