@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.
Files changed (41) hide show
  1. package/app/content-widget/components/content-widget/content-widget.component.d.ts +1 -1
  2. package/app/content-widget/components/content-widget-dialog/content-widget-dialog.component.d.ts +1 -1
  3. package/app/content-widget/components/content-widget-renderer/content-widget-renderer.component.d.ts +1 -1
  4. package/app/content-widget/directives/content-widget-content.directive.d.ts +1 -1
  5. package/app/content-widgets/components/content-widget/content-widget.component.d.ts +1 -1
  6. package/app/content-widgets/components/content-widgets/content-widgets.component.d.ts +1 -1
  7. package/esm2022/app/content-widget/components/content-widget/content-widget.component.mjs +47 -0
  8. package/esm2022/app/content-widget/components/content-widget-dialog/content-widget-dialog.component.mjs +28 -0
  9. package/esm2022/app/content-widget/components/content-widget-renderer/content-widget-renderer.component.mjs +51 -0
  10. package/{esm2020 → esm2022}/app/content-widget/directives/content-widget-content.directive.mjs +4 -4
  11. package/{esm2020 → esm2022}/app/content-widget/fs-content-widget.module.mjs +19 -19
  12. package/esm2022/app/content-widget/services/content-widget.service.mjs +28 -0
  13. package/esm2022/app/content-widgets/components/content-widget/content-widget.component.mjs +51 -0
  14. package/esm2022/app/content-widgets/components/content-widgets/content-widgets.component.mjs +74 -0
  15. package/{esm2020 → esm2022}/app/content-widgets/fs-content-widgets.module.mjs +30 -30
  16. package/fesm2022/firestitch-content-widget.mjs +388 -0
  17. package/fesm2022/firestitch-content-widget.mjs.map +1 -0
  18. package/package.json +5 -11
  19. package/esm2020/app/content-widget/components/content-widget/content-widget.component.mjs +0 -42
  20. package/esm2020/app/content-widget/components/content-widget-dialog/content-widget-dialog.component.mjs +0 -25
  21. package/esm2020/app/content-widget/components/content-widget-renderer/content-widget-renderer.component.mjs +0 -48
  22. package/esm2020/app/content-widget/services/content-widget.service.mjs +0 -27
  23. package/esm2020/app/content-widgets/components/content-widget/content-widget.component.mjs +0 -46
  24. package/esm2020/app/content-widgets/components/content-widgets/content-widgets.component.mjs +0 -68
  25. package/fesm2015/firestitch-content-widget.mjs +0 -369
  26. package/fesm2015/firestitch-content-widget.mjs.map +0 -1
  27. package/fesm2020/firestitch-content-widget.mjs +0 -365
  28. package/fesm2020/firestitch-content-widget.mjs.map +0 -1
  29. /package/{esm2020 → esm2022}/app/content-widget/components/content-widget/index.mjs +0 -0
  30. /package/{esm2020 → esm2022}/app/content-widget/components/content-widget-dialog/index.mjs +0 -0
  31. /package/{esm2020 → esm2022}/app/content-widget/components/content-widget-renderer/index.mjs +0 -0
  32. /package/{esm2020 → esm2022}/app/content-widget/components/index.mjs +0 -0
  33. /package/{esm2020 → esm2022}/app/content-widget/directives/index.mjs +0 -0
  34. /package/{esm2020 → esm2022}/app/content-widget/injectors/content-wiget.injector.mjs +0 -0
  35. /package/{esm2020 → esm2022}/app/content-widget/injectors/index.mjs +0 -0
  36. /package/{esm2020 → esm2022}/app/content-widget/interfaces/content-widget-config.mjs +0 -0
  37. /package/{esm2020 → esm2022}/app/content-widget/services/index.mjs +0 -0
  38. /package/{esm2020 → esm2022}/app/content-widgets/components/content-widget/index.mjs +0 -0
  39. /package/{esm2020 → esm2022}/app/content-widgets/components/content-widgets/index.mjs +0 -0
  40. /package/{esm2020 → esm2022}/firestitch-content-widget.mjs +0 -0
  41. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
@@ -1,48 +0,0 @@
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
- constructor(_router, _el) {
10
- this._router = _router;
11
- this._el = _el;
12
- this.destroy$ = new Subject();
13
- }
14
- ngAfterViewChecked() {
15
- this.registerHrefs();
16
- }
17
- get el() {
18
- return this._el.nativeElement;
19
- }
20
- registerHrefs() {
21
- Array.from(this.el.querySelectorAll('a[href]'))
22
- .filter((el) => {
23
- return el.getAttribute('href').match(/^\//);
24
- })
25
- .forEach((el) => {
26
- el.addEventListener('click', (event) => {
27
- if (!event.shiftKey && !event.ctrlKey) {
28
- event.preventDefault();
29
- const href = el.getAttribute('href');
30
- this._router.navigateByUrl(href);
31
- }
32
- });
33
- });
34
- }
35
- ngOnDestroy() {
36
- this.destroy$.next();
37
- this.destroy$.complete();
38
- }
39
- }
40
- FsContentWidgetRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsContentWidgetRendererComponent, deps: [{ token: i1.Router }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
41
- FsContentWidgetRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", 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"] }] });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsContentWidgetRendererComponent, decorators: [{
43
- type: Component,
44
- 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"] }]
45
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i0.ElementRef }]; }, propDecorators: { content: [{
46
- type: Input
47
- }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC13aWRnZXQtcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb250ZW50LXdpZGdldC9jb21wb25lbnRzL2NvbnRlbnQtd2lkZ2V0LXJlbmRlcmVyL2NvbnRlbnQtd2lkZ2V0LXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29udGVudC13aWRnZXQvY29tcG9uZW50cy9jb250ZW50LXdpZGdldC1yZW5kZXJlci9jb250ZW50LXdpZGdldC1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQVEvQixNQUFNLE9BQU8sZ0NBQWdDO0lBTTNDLFlBQ1UsT0FBZSxFQUNmLEdBQWU7UUFEZixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUpqQixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUs3QixDQUFDO0lBRUUsa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxFQUFFO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQztJQUNoQyxDQUFDO0lBRU0sYUFBYTtRQUNsQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDNUMsTUFBTSxDQUFDLENBQUMsRUFBVyxFQUFFLEVBQUU7WUFDdEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUM7YUFDRCxPQUFPLENBQUMsQ0FBQyxFQUFXLEVBQUUsRUFBRTtZQUN2QixFQUFFLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFDLENBQUMsS0FBaUIsRUFBRSxFQUFFO2dCQUNoRCxJQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7b0JBQ3BDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdkIsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2xDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs2SEF0Q1UsZ0NBQWdDO2lIQUFoQyxnQ0FBZ0Msa0dDWDdDLDRFQUFzRTsyRkRXekQsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLDRCQUE0QjtzSEFNdEIsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0NoZWNrZWQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWNvbnRlbnQtd2lkZ2V0LXJlbmRlcmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRlbnQtd2lkZ2V0LXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGVudC13aWRnZXQtcmVuZGVyZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNDb250ZW50V2lkZ2V0UmVuZGVyZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWQge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjb250ZW50O1xuXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgX2VsOiBFbGVtZW50UmVmLFxuICApIHsgfVxuICBcbiAgcHVibGljIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZ2lzdGVySHJlZnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZWwoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZWwubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3RlckhyZWZzKCk6IHZvaWQge1xuICAgIEFycmF5LmZyb20odGhpcy5lbC5xdWVyeVNlbGVjdG9yQWxsKCdhW2hyZWZdJykpXG4gICAgICAuZmlsdGVyKChlbDogRWxlbWVudCkgPT4ge1xuICAgICAgICByZXR1cm4gZWwuZ2V0QXR0cmlidXRlKCdocmVmJykubWF0Y2goL15cXC8vKTtcbiAgICAgIH0pXG4gICAgICAuZm9yRWFjaCgoZWw6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgIGlmKCFldmVudC5zaGlmdEtleSAmJiAhZXZlbnQuY3RybEtleSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGNvbnN0IGhyZWYgPSBlbC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKTtcbiAgICAgICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKGhyZWYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxufVxuIiwiPGZzLWh0bWwtcmVuZGVyZXIgKm5nSWY9XCJjb250ZW50XCIgW2h0bWxdPVwiY29udGVudFwiPjwvZnMtaHRtbC1yZW5kZXJlcj4iXX0=
@@ -1,27 +0,0 @@
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
- constructor(_dialog) {
8
- this._dialog = _dialog;
9
- }
10
- open(tag, title) {
11
- this._dialog.open(FsContentWidgetDialogComponent, {
12
- data: {
13
- tag,
14
- title,
15
- }
16
- });
17
- }
18
- }
19
- FsContentWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsContentWidget, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
20
- FsContentWidget.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsContentWidget, providedIn: 'root' });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsContentWidget, decorators: [{
22
- type: Injectable,
23
- args: [{
24
- providedIn: 'root',
25
- }]
26
- }], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC13aWRnZXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29udGVudC13aWRnZXQvc2VydmljZXMvY29udGVudC13aWRnZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU0vRCxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUNVLE9BQWtCO1FBQWxCLFlBQU8sR0FBUCxPQUFPLENBQVc7SUFDekIsQ0FBQztJQUVHLElBQUksQ0FBQyxHQUFXLEVBQUUsS0FBYztRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRTtZQUNoRCxJQUFJLEVBQUU7Z0JBQ0osR0FBRztnQkFDSCxLQUFLO2FBQ047U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzs0R0FiVSxlQUFlO2dIQUFmLGVBQWUsY0FGZCxNQUFNOzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgRnNDb250ZW50V2lkZ2V0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cyc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZzQ29udGVudFdpZGdldCB7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2RpYWxvZzogTWF0RGlhbG9nLFxuICApIHt9XG5cbiAgcHVibGljIG9wZW4odGFnOiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nKSB7XG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oRnNDb250ZW50V2lkZ2V0RGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBkYXRhOiB7IFxuICAgICAgICB0YWcsIFxuICAgICAgICB0aXRsZSxcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG59Il19
@@ -1,46 +0,0 @@
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/form-field";
10
- import * as i5 from "@angular/material/input";
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
- constructor(_message, _data) {
19
- this._message = _message;
20
- this._data = _data;
21
- this.save = () => {
22
- return this._saveContentWidget(this.contentWidget)
23
- .pipe(tap((contentWidget) => {
24
- this.contentWidget = { ...this.contentWidget, ...contentWidget };
25
- this._message.success('Saved Changes');
26
- }));
27
- };
28
- }
29
- ngOnInit() {
30
- this._saveContentWidget = this._data.saveContentWidget;
31
- this.htmlEditorConfig = {
32
- ...this._data.htmlEditorConfig
33
- };
34
- this.contentWidget = { ...this._data.contentWidget };
35
- }
36
- }
37
- FsContentWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsContentWidgetComponent, deps: [{ token: i1.FsMessage }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
38
- FsContentWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", 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: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.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: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "component", type: i7.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "directive", type: i7.MatTabContent, selector: "[matTabContent]" }, { 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([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],[mat-button],[mat-flat-button],[mat-stroked-button]", inputs: ["name", "dirtySubmit", "form"] }, { kind: "component", type: i9.FsHtmlEditorComponent, selector: "fs-html-editor", inputs: ["config", "hint", "disabled"] }, { kind: "component", type: i10.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileButtonPlacement", "mobileWidth", "mode", "buttonLayout"] }, { kind: "component", type: i11.FsTextEditorComponent, selector: "fs-text-editor", inputs: ["config", "scrollable"], outputs: ["ready", "blur"] }] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsContentWidgetComponent, decorators: [{
40
- type: Component,
41
- 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"] }]
42
- }], ctorParameters: function () { return [{ type: i1.FsMessage }, { type: undefined, decorators: [{
43
- type: Inject,
44
- args: [MAT_DIALOG_DATA]
45
- }] }]; } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb250ZW50LXdpZGdldHMvY29tcG9uZW50cy9jb250ZW50LXdpZGdldC9jb250ZW50LXdpZGdldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbnRlbnQtd2lkZ2V0cy9jb21wb25lbnRzL2NvbnRlbnQtd2lkZ2V0L2NvbnRlbnQtd2lkZ2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUczRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBT3JDLE1BQU0sT0FBTyx3QkFBd0I7SUFPbkMsWUFDVSxRQUFtQixFQUNNLEtBQVU7UUFEbkMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNNLFVBQUssR0FBTCxLQUFLLENBQUs7UUFhdEMsU0FBSSxHQUFHLEdBQUcsRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO2lCQUMvQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxhQUFhLEVBQUUsQ0FBQztnQkFDakUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNOLENBQUMsQ0FBQTtJQW5CRCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO1FBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsR0FBRztZQUN0QixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCO1NBQy9CLENBQUM7UUFFRixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZELENBQUM7O3FIQXBCVSx3QkFBd0IsMkNBU3pCLGVBQWU7eUdBVGQsd0JBQXdCLG9EQ2ZyQyxxMERBK0RBOzJGRGhEYSx3QkFBd0I7a0JBSnBDLFNBQVM7OzswQkFhTCxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBGc0h0bWxFZGl0b3JDb25maWcgfSBmcm9tICdAZmlyZXN0aXRjaC9odG1sLWVkaXRvcic7XG5cbmltcG9ydCB7IEZzTWVzc2FnZSB9IGZyb20gJ0BmaXJlc3RpdGNoL21lc3NhZ2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LXdpZGdldC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRlbnQtd2lkZ2V0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZzQ29udGVudFdpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGNvbnRlbnRXaWRnZXQ7XG4gIHB1YmxpYyBodG1sRWRpdG9yQ29uZmlnOiBGc0h0bWxFZGl0b3JDb25maWc7XG4gIFxuICBwcml2YXRlIF9zYXZlQ29udGVudFdpZGdldDogKGNvbnRlbnRXaWRnZXQ6IGFueSkgPT4gT2JzZXJ2YWJsZTxhbnk+O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9tZXNzYWdlOiBGc01lc3NhZ2UsXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgX2RhdGE6IGFueSxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fc2F2ZUNvbnRlbnRXaWRnZXQgPSB0aGlzLl9kYXRhLnNhdmVDb250ZW50V2lkZ2V0O1xuICAgIHRoaXMuaHRtbEVkaXRvckNvbmZpZyA9IHtcbiAgICAgIC4uLnRoaXMuX2RhdGEuaHRtbEVkaXRvckNvbmZpZ1xuICAgIH07XG4gICAgXG4gICAgdGhpcy5jb250ZW50V2lkZ2V0ID0geyAuLi50aGlzLl9kYXRhLmNvbnRlbnRXaWRnZXQgfTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlID0gKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLl9zYXZlQ29udGVudFdpZGdldCh0aGlzLmNvbnRlbnRXaWRnZXQpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChjb250ZW50V2lkZ2V0KSA9PiB7XG4gICAgICAgICAgdGhpcy5jb250ZW50V2lkZ2V0ID0geyAuLi50aGlzLmNvbnRlbnRXaWRnZXQsIC4uLmNvbnRlbnRXaWRnZXQgfTtcbiAgICAgICAgICB0aGlzLl9tZXNzYWdlLnN1Y2Nlc3MoJ1NhdmVkIENoYW5nZXMnKTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbn1cbiIsIlxuPGZvcm0gZnNGb3JtIFtzdWJtaXRdPVwic2F2ZVwiPlxuICA8ZnMtZGlhbG9nPlxuICAgIDxkaXYgbWF0LWRpYWxvZy10aXRsZT5cbiAgICAgIENvbnRlbnQgV2lkZ2V0XG4gICAgICA8ZGl2IGNsYXNzPVwic3VidGl0bGVcIj57e2NvbnRlbnRXaWRnZXQubmFtZX19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICAgIDxtYXQtdGFiLWdyb3VwPlxuICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIkhUTUxcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgICAgICAgIDxmcy10ZXh0LWVkaXRvclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRXaWRnZXQuY29udGVudFwiXG4gICAgICAgICAgICAgIFtjb25maWddPVwieyBsYW5ndWFnZTogJ2h0bWwnLCB0YWJTaXplOiAyIH1cIlxuICAgICAgICAgICAgICBuYW1lPVwiaHRtbFwiPlxuICAgICAgICAgICAgPC9mcy10ZXh0LWVkaXRvcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L21hdC10YWI+XG4gICAgICAgIDxtYXQtdGFiIGxhYmVsPVwiUmljaCBUZXh0XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICAgICAgICA8ZnMtaHRtbC1lZGl0b3JcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb250ZW50V2lkZ2V0LmNvbnRlbnRcIlxuICAgICAgICAgICAgICBbY29uZmlnXT1cImh0bWxFZGl0b3JDb25maWdcIlxuICAgICAgICAgICAgICBuYW1lPVwiY29udGVudFwiPlxuICAgICAgICAgICAgPC9mcy1odG1sLWVkaXRvcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L21hdC10YWI+XG4gICAgICAgIDxtYXQtdGFiIGxhYmVsPVwiU3R5bGVzXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICAgICAgICA8ZnMtdGV4dC1lZGl0b3JcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb250ZW50V2lkZ2V0LnN0eWxlc1wiXG4gICAgICAgICAgICAgIFtjb25maWddPVwieyBsYW5ndWFnZTogJ3Njc3MnLCB0YWJTaXplOiAyIH1cIlxuICAgICAgICAgICAgICBuYW1lPVwic3R5bGVzXCI+XG4gICAgICAgICAgICA8L2ZzLXRleHQtZWRpdG9yPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgPG1hdC10YWIgbGFiZWw9XCJTZXR0aW5nc1wiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5hbWVcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRXaWRnZXQubmFtZVwiXG4gICAgICAgICAgICAgIG5hbWU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L21hdC10YWI+XG4gICAgICA8L21hdC10YWItZ3JvdXA+XG4gICAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgIFNhdmVcbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICBbbWF0LWRpYWxvZy1jbG9zZV09XCJudWxsXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgIENhbmNlbFxuICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG4gIDwvZnMtZGlhbG9nPlxuPC9mb3JtPlxuIl19
@@ -1,68 +0,0 @@
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
- constructor(_dialog) {
14
- this._dialog = _dialog;
15
- this._destroy$ = new Subject();
16
- }
17
- ngOnInit() {
18
- this.config = {
19
- paging: false,
20
- filters: [
21
- {
22
- name: 'keyword',
23
- type: ItemType.Keyword,
24
- label: 'Search',
25
- },
26
- ],
27
- fetch: (query) => {
28
- return this.fetchContentWidgets(query)
29
- .pipe(map((data) => ({ data: data.contentWidgets })));
30
- },
31
- };
32
- }
33
- ngOnDestroy() {
34
- this._destroy$.next();
35
- this._destroy$.complete();
36
- }
37
- open(contentWidget) {
38
- this._dialog.open(FsContentWidgetComponent, {
39
- width: '90%',
40
- data: {
41
- contentWidget,
42
- htmlEditorConfig: this.htmlEditorConfig,
43
- saveContentWidget: this.saveContentWidget,
44
- },
45
- })
46
- .afterClosed()
47
- .pipe(takeUntil(this._destroy$))
48
- .subscribe(() => {
49
- this.list.reload();
50
- });
51
- }
52
- }
53
- FsContentWidgetsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsContentWidgetsComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
54
- FsContentWidgetsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", 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", "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"] }] });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsContentWidgetsComponent, decorators: [{
56
- type: Component,
57
- 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"] }]
58
- }], ctorParameters: function () { return [{ type: i1.MatDialog }]; }, propDecorators: { fetchContentWidgets: [{
59
- type: Input
60
- }], saveContentWidget: [{
61
- type: Input
62
- }], htmlEditorConfig: [{
63
- type: Input
64
- }], list: [{
65
- type: ViewChild,
66
- args: [FsListComponent, { static: true }]
67
- }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC13aWRnZXRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29udGVudC13aWRnZXRzL2NvbXBvbmVudHMvY29udGVudC13aWRnZXRzL2NvbnRlbnQtd2lkZ2V0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbnRlbnQtd2lkZ2V0cy9jb21wb25lbnRzL2NvbnRlbnQtd2lkZ2V0cy9jb250ZW50LXdpZGdldHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUMsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7OztBQVN0RixNQUFNLE9BQU8seUJBQXlCO0lBYXBDLFlBQ1UsT0FBa0I7UUFBbEIsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQUhwQixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUkvQixDQUFDO0lBRUcsUUFBUTtRQUNiLElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDWixNQUFNLEVBQUUsS0FBSztZQUNiLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxJQUFJLEVBQUUsU0FBUztvQkFDZixJQUFJLEVBQUUsUUFBUSxDQUFDLE9BQU87b0JBQ3RCLEtBQUssRUFBRSxRQUFRO2lCQUNoQjthQUNGO1lBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2YsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDO3FCQUNuQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQ3BELENBQUM7WUFDTixDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sSUFBSSxDQUFDLGFBQWE7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUU7WUFDMUMsS0FBSyxFQUFFLEtBQUs7WUFDWixJQUFJLEVBQUU7Z0JBQ0osYUFBYTtnQkFDYixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO2dCQUN2QyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO2FBQzFDO1NBQ0YsQ0FBQzthQUNDLFdBQVcsRUFBRTthQUNiLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7c0hBekRVLHlCQUF5QjswR0FBekIseUJBQXlCLHNPQU16QixlQUFlLDhEQ3pCNUIsNDBCQXdCQTsyRkRMYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usb0JBQW9CO2dHQU1kLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFDVSxpQkFBaUI7c0JBQWhDLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUdDLElBQUk7c0JBRFYsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE9uSW5pdCwgT25EZXN0cm95LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBGc0xpc3RDb21wb25lbnQsIEZzTGlzdENvbmZpZyB9IGZyb20gJ0BmaXJlc3RpdGNoL2xpc3QnO1xuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tICdAZmlyZXN0aXRjaC9maWx0ZXInO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRnNDb250ZW50V2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vY29udGVudC13aWRnZXQvY29udGVudC13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7IEZzSHRtbEVkaXRvckNvbmZpZyB9IGZyb20gJ0BmaXJlc3RpdGNoL2h0bWwtZWRpdG9yJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1jb250ZW50LXdpZGdldHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGVudC13aWRnZXRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGVudC13aWRnZXRzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZzQ29udGVudFdpZGdldHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgcHVibGljIGZldGNoQ29udGVudFdpZGdldHM6IChxdWVyeT86IGFueSkgPT4gT2JzZXJ2YWJsZTx7IGNvbnRlbnRXaWRnZXRzOiBhbnlbXSwgcGFnaW5nPzogYW55IH0+O1xuICBASW5wdXQoKSBwdWJsaWMgc2F2ZUNvbnRlbnRXaWRnZXQ6IChjb250ZW50V2lkZ2V0OiBhbnkpID0+IE9ic2VydmFibGU8YW55PjtcbiAgQElucHV0KCkgcHVibGljIGh0bWxFZGl0b3JDb25maWc6IEZzSHRtbEVkaXRvckNvbmZpZztcblxuICBAVmlld0NoaWxkKEZzTGlzdENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGxpc3Q6IEZzTGlzdENvbXBvbmVudDtcblxuICBwdWJsaWMgY29uZmlnOiBGc0xpc3RDb25maWc7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2RpYWxvZzogTWF0RGlhbG9nLFxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgcGFnaW5nOiBmYWxzZSxcbiAgICAgIGZpbHRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdrZXl3b3JkJyxcbiAgICAgICAgICB0eXBlOiBJdGVtVHlwZS5LZXl3b3JkLFxuICAgICAgICAgIGxhYmVsOiAnU2VhcmNoJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBmZXRjaDogKHF1ZXJ5KSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZldGNoQ29udGVudFdpZGdldHMocXVlcnkpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGRhdGE6IGFueSkgPT4gKHsgZGF0YTogZGF0YS5jb250ZW50V2lkZ2V0cyB9KSksXG4gICAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKGNvbnRlbnRXaWRnZXQpOiB2b2lkIHtcbiAgICB0aGlzLl9kaWFsb2cub3BlbihGc0NvbnRlbnRXaWRnZXRDb21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiAnOTAlJyxcbiAgICAgIGRhdGE6IHsgXG4gICAgICAgIGNvbnRlbnRXaWRnZXQsXG4gICAgICAgIGh0bWxFZGl0b3JDb25maWc6IHRoaXMuaHRtbEVkaXRvckNvbmZpZyxcbiAgICAgICAgc2F2ZUNvbnRlbnRXaWRnZXQ6IHRoaXMuc2F2ZUNvbnRlbnRXaWRnZXQsXG4gICAgICB9LFxuICAgIH0pXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5saXN0LnJlbG9hZCgpO1xuICAgICAgfSk7XG4gIH1cblxufVxuIiwiPGZzLWxpc3QgW2NvbmZpZ109XCJjb25maWdcIj5cbiAgPGZzLWxpc3QtY29sdW1uIGNsYXNzPVwibmFtZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWhlYWRlcj5OYW1lPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgIDxhIChjbGljayk9XCJvcGVuKHJvdylcIj57e3Jvdy5uYW1lfX08L2E+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cbiAgPGZzLWxpc3QtY29sdW1uPlxuICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWhlYWRlcj5QcmV2aWV3PC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1jZWxsIGxldC1yb3c9XCJyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3LWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlldy1jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInJvdy5jb250ZW50XCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9mcy1saXN0LWNvbHVtbj5cbiAgPGZzLWxpc3QtY29sdW1uIGNsYXNzPVwibW9kaWZpZWRcIj5cbiAgICA8bmctdGVtcGxhdGUgZnMtbGlzdC1oZWFkZXI+TW9kaWZpZWQ8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBmcy1saXN0LWNlbGwgbGV0LXJvdz1cInJvd1wiPlxuICAgICAgPGZzLWRhdGUtYWdvIFtkYXRlXT1cInJvdy5tb2RpZmllZERhdGVcIj48L2ZzLWRhdGUtYWdvPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZnMtbGlzdC1jb2x1bW4+XG48L2ZzLWxpc3Q+XG4iXX0=