@firestitch/content 12.0.3 → 12.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/material/button'), require('@angular/material/tabs'), require('@angular/material/dialog'), require('@angular/forms'), require('@angular/material/input'), require('@angular/material/form-field'), require('@angular/material/icon'), require('@angular/material/select'), require('@angular/flex-layout'), require('@angular/material/button-toggle'), require('@firestitch/list'), require('@firestitch/date'), require('@firestitch/dialog'), require('@firestitch/form'), require('@firestitch/html-editor'), require('@firestitch/text-editor'), require('@firestitch/label'), require('@firestitch/skeleton'), require('rxjs'), require('rxjs/operators'), require('@firestitch/message'), require('@angular/material/core'), require('@angular/flex-layout/flex'), require('@firestitch/filter'), require('@firestitch/common'), require('@angular/router'), require('@angular/platform-browser')) :
3
- typeof define === 'function' && define.amd ? define('@firestitch/content', ['exports', '@angular/core', '@angular/common', '@angular/material/button', '@angular/material/tabs', '@angular/material/dialog', '@angular/forms', '@angular/material/input', '@angular/material/form-field', '@angular/material/icon', '@angular/material/select', '@angular/flex-layout', '@angular/material/button-toggle', '@firestitch/list', '@firestitch/date', '@firestitch/dialog', '@firestitch/form', '@firestitch/html-editor', '@firestitch/text-editor', '@firestitch/label', '@firestitch/skeleton', 'rxjs', 'rxjs/operators', '@firestitch/message', '@angular/material/core', '@angular/flex-layout/flex', '@firestitch/filter', '@firestitch/common', '@angular/router', '@angular/platform-browser'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.firestitch = global.firestitch || {}, global.firestitch.content = {}), global.ng.core, global.ng.common, global.ng.material.button, global.ng.material.tabs, global.ng.material.dialog, global.ng.forms, global.ng.material.input, global.ng.material.formField, global.ng.material.icon, global.ng.material.select, global.ng.flexLayout, global.ng.material.buttonToggle, global.i2$1, global.i4$2, global.i3, global.i7, global.htmlEditor, global.i6, global.i5$1, global.i8, global.rxjs, global.rxjs.operators, global.i2, global.ng.material.core, global.ng.flexLayout.flex, global.filter, global.common, global.ng.router, global.ng.platformBrowser));
5
- })(this, (function (exports, i0, i11, button, tabs, i1, i9, i12, i4, i3$1, i5, flexLayout, i4$1, i2$1, i4$2, i3, i7, htmlEditor, i6, i5$1, i8, rxjs, operators, i2, i6$1, i10, filter, common, i2$2, i1$1) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/forms'), require('@angular/material/button'), require('@angular/material/button-toggle'), require('@angular/material/dialog'), require('@angular/material/form-field'), require('@angular/material/icon'), require('@angular/material/input'), require('@angular/material/select'), require('@angular/material/tabs'), require('@firestitch/date'), require('@firestitch/dialog'), require('@firestitch/form'), require('@firestitch/html-editor'), require('@firestitch/label'), require('@firestitch/list'), require('@firestitch/skeleton'), require('@firestitch/text-editor'), require('rxjs'), require('rxjs/operators'), require('@firestitch/message'), require('@angular/material/core'), require('@firestitch/common'), require('@firestitch/filter'), require('@angular/router'), require('@angular/platform-browser')) :
3
+ typeof define === 'function' && define.amd ? define('@firestitch/content', ['exports', '@angular/common', '@angular/core', '@angular/forms', '@angular/material/button', '@angular/material/button-toggle', '@angular/material/dialog', '@angular/material/form-field', '@angular/material/icon', '@angular/material/input', '@angular/material/select', '@angular/material/tabs', '@firestitch/date', '@firestitch/dialog', '@firestitch/form', '@firestitch/html-editor', '@firestitch/label', '@firestitch/list', '@firestitch/skeleton', '@firestitch/text-editor', 'rxjs', 'rxjs/operators', '@firestitch/message', '@angular/material/core', '@firestitch/common', '@firestitch/filter', '@angular/router', '@angular/platform-browser'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.firestitch = global.firestitch || {}, global.firestitch.content = {}), global.ng.common, global.ng.core, global.ng.forms, global.ng.material.button, global.ng.material.buttonToggle, global.ng.material.dialog, global.ng.material.formField, global.ng.material.icon, global.ng.material.input, global.ng.material.select, global.ng.material.tabs, global.i3$1, global.i3, global.i7$1, global.htmlEditor, global.i6$1, global.i2$1, global.i8, global.i7, global.rxjs, global.rxjs.operators, global.i2, global.ng.material.core, global.common, global.filter, global.ng.router, global.ng.platformBrowser));
5
+ })(this, (function (exports, i10, i0, i9, i4$1, i9$1, i1, i4, i5$1, i11, i5, tabs, i3$1, i3, i7$1, htmlEditor, i6$1, i2$1, i8, i7, rxjs, operators, i2, i6, common, filter, i2$2, i1$1) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -22,25 +22,25 @@
22
22
  return Object.freeze(n);
23
23
  }
24
24
 
25
+ var i10__namespace = /*#__PURE__*/_interopNamespace(i10);
25
26
  var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
- var i11__namespace = /*#__PURE__*/_interopNamespace(i11);
27
- var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
28
27
  var i9__namespace = /*#__PURE__*/_interopNamespace(i9);
29
- var i12__namespace = /*#__PURE__*/_interopNamespace(i12);
28
+ var i4__namespace$1 = /*#__PURE__*/_interopNamespace(i4$1);
29
+ var i9__namespace$1 = /*#__PURE__*/_interopNamespace(i9$1);
30
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
30
31
  var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
31
- var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
32
+ var i5__namespace$1 = /*#__PURE__*/_interopNamespace(i5$1);
33
+ var i11__namespace = /*#__PURE__*/_interopNamespace(i11);
32
34
  var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
33
- var i4__namespace$1 = /*#__PURE__*/_interopNamespace(i4$1);
34
- var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
35
- var i4__namespace$2 = /*#__PURE__*/_interopNamespace(i4$2);
35
+ var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
36
36
  var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
37
- var i7__namespace = /*#__PURE__*/_interopNamespace(i7);
38
- var i6__namespace$1 = /*#__PURE__*/_interopNamespace(i6);
39
- var i5__namespace$1 = /*#__PURE__*/_interopNamespace(i5$1);
37
+ var i7__namespace = /*#__PURE__*/_interopNamespace(i7$1);
38
+ var i6__namespace$1 = /*#__PURE__*/_interopNamespace(i6$1);
39
+ var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
40
40
  var i8__namespace = /*#__PURE__*/_interopNamespace(i8);
41
+ var i7__namespace$1 = /*#__PURE__*/_interopNamespace(i7);
41
42
  var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
42
- var i6__namespace = /*#__PURE__*/_interopNamespace(i6$1);
43
- var i10__namespace = /*#__PURE__*/_interopNamespace(i10);
43
+ var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
44
44
  var i2__namespace$2 = /*#__PURE__*/_interopNamespace(i2$2);
45
45
  var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
46
46
 
@@ -82,6 +82,7 @@
82
82
  };
83
83
  }
84
84
  ContentPageComponent.prototype.ngOnInit = function () {
85
+ this._dialogRef.updateSize('600px');
85
86
  this._fetchData();
86
87
  };
87
88
  ContentPageComponent.prototype.ngOnDestroy = function () {
@@ -107,7 +108,7 @@
107
108
  return ContentPageComponent;
108
109
  }());
109
110
  ContentPageComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ContentPageComponent, deps: [{ token: FS_CONTENT_CONFIG }, { token: i1.MAT_DIALOG_DATA }, { token: i1__namespace.MatDialogRef }, { token: i2__namespace.FsMessage }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
110
- ContentPageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ContentPageComponent, selector: "ng-component", viewQueries: [{ propertyName: "textEditors", predicate: i6.FsTextEditorComponent, descendants: true }], ngImport: i0__namespace, template: "<form fsForm [submit]=\"save\" *fsSkeletonForm=\"contentPage\">\n <fs-dialog>\n <h1 mat-dialog-title>{{contentPage.id ? 'Page' : 'Create Page'}}</h1>\n <div mat-dialog-content>\n <div fxLayout=\"column\">\n <mat-form-field>\n <mat-select\n [(ngModel)]=\"contentPage.type\"\n name=\"type\"\n required\n placeholder=\"Type\">\n <mat-option\n *ngFor=\"let item of PageTypes\"\n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <input\n matInput\n [(ngModel)]=\"contentPage.name\"\n name=\"name\"\n required\n placeholder=\"Name\">\n </mat-form-field>\n <mat-form-field>\n <input\n matInput\n [(ngModel)]=\"contentPage.path\"\n name=\"path\"\n placeholder=\"Path\">\n </mat-form-field>\n <mat-form-field>\n <input\n matInput\n [(ngModel)]=\"contentPage.title\"\n name=\"title\"\n placeholder=\"Title\">\n </mat-form-field>\n <mat-form-field *ngIf=\"contentLayouts\">\n <mat-select\n [(ngModel)]=\"contentPage.contentLayoutId\"\n required\n name=\"contentLayoutId\"\n placeholder=\"Layout\">\n <mat-option\n *ngFor=\"let item of contentLayouts\"\n [value]=\"item.id\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n\n <div mat-dialog-actions>\n <fs-form-dialog-actions>\n </fs-form-dialog-actions>\n </div>\n </fs-dialog>\n</form>\n", styles: [""], components: [{ type: i3__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i4__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i5__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i6__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i7__namespace.FsFormDialogActionsComponent, selector: "fs-form-dialog-actions", inputs: ["save", "create", "close", "closeData", "name"] }], directives: [{ type: i8__namespace.FsSkeletonFormDirective, selector: "[fsSkeletonForm]", inputs: ["fsSkeletonForm", "fsSkeletonFormLines"] }, { type: i9__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i9__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7__namespace.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"] }, { type: i1__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i10__namespace.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i9__namespace.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i9__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7__namespace.FsFormRequiredDirective, selector: "[fsFormRequired],[ngModel][required]", inputs: ["fsFormRequired", "required", "fsFormRequiredMessage"] }, { type: i11__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i9__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i11__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
111
+ ContentPageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ContentPageComponent, selector: "ng-component", viewQueries: [{ propertyName: "textEditors", predicate: i7.FsTextEditorComponent, descendants: true }], ngImport: i0__namespace, template: "<form fsForm [submit]=\"save\" *fsSkeletonForm=\"contentPage\">\n <fs-dialog>\n <h1 mat-dialog-title>{{contentPage.id ? 'Page' : 'Create Page'}}</h1>\n <div mat-dialog-content>\n <div class=\"fs-column\">\n <mat-form-field>\n <mat-select\n [(ngModel)]=\"contentPage.type\"\n name=\"type\"\n required\n placeholder=\"Type\">\n <mat-option\n *ngFor=\"let item of PageTypes\"\n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field>\n <input\n matInput\n [(ngModel)]=\"contentPage.name\"\n name=\"name\"\n required\n placeholder=\"Name\">\n </mat-form-field>\n <mat-form-field>\n <input\n matInput\n [(ngModel)]=\"contentPage.path\"\n name=\"path\"\n placeholder=\"Path\">\n </mat-form-field>\n <mat-form-field>\n <input\n matInput\n [(ngModel)]=\"contentPage.title\"\n name=\"title\"\n placeholder=\"Title\">\n </mat-form-field>\n <mat-form-field *ngIf=\"contentLayouts\">\n <mat-select\n [(ngModel)]=\"contentPage.contentLayoutId\"\n required\n name=\"contentLayoutId\"\n placeholder=\"Layout\">\n <mat-option\n *ngFor=\"let item of contentLayouts\"\n [value]=\"item.id\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n\n <div mat-dialog-actions>\n <fs-form-dialog-actions>\n </fs-form-dialog-actions>\n </div>\n </fs-dialog>\n</form>\n", styles: [""], components: [{ type: i3__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileActionPlacement", "mobileWidth", "mode"] }, { type: i4__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i5__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i6__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i7__namespace.FsFormDialogActionsComponent, selector: "fs-form-dialog-actions", inputs: ["save", "create", "close", "done", "closeData", "name"] }], directives: [{ type: i8__namespace.FsSkeletonFormDirective, selector: "[fsSkeletonForm]", inputs: ["fsSkeletonForm", "fsSkeletonFormLines"] }, { type: i9__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i9__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7__namespace.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"] }, { type: i1__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i9__namespace.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i9__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7__namespace.FsFormRequiredDirective, selector: "[fsFormRequired],[ngModel][required]", inputs: ["fsFormRequired", "required", "fsFormRequiredMessage"] }, { type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i9__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7__namespace.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
111
112
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ContentPageComponent, decorators: [{
112
113
  type: i0.Component,
113
114
  args: [{
@@ -125,48 +126,106 @@
125
126
  }] }, { type: i1__namespace.MatDialogRef }, { type: i2__namespace.FsMessage }, { type: i0__namespace.ChangeDetectorRef }];
126
127
  }, propDecorators: { textEditors: [{
127
128
  type: i0.ViewChildren,
128
- args: [i6.FsTextEditorComponent]
129
+ args: [i7.FsTextEditorComponent]
129
130
  }] } });
130
131
 
131
132
  var EditorComponent = /** @class */ (function () {
132
- function EditorComponent(_data, _dialogRef, _message) {
133
+ function EditorComponent(_data, _dialogRef, _dialog, _message, _cdRef) {
133
134
  var _this = this;
134
135
  this._data = _data;
135
136
  this._dialogRef = _dialogRef;
137
+ this._dialog = _dialog;
136
138
  this._message = _message;
137
- this.styles = null;
138
- this.content = null;
139
+ this._cdRef = _cdRef;
140
+ this.resizing = false;
139
141
  this.editors = { content: true, styles: true };
140
142
  this._destroy$ = new rxjs.Subject();
141
143
  this.save = function () {
142
- return _this._data.save({ content: _this.content, styles: _this.styles })
144
+ return _this._config.saveContentPage(_this.contentPage)
143
145
  .pipe(operators.tap(function () {
144
146
  _this._message.success('Saved Changes');
145
147
  }));
146
148
  };
147
149
  }
148
150
  EditorComponent.prototype.ngOnInit = function () {
149
- this._dialogRef.updateSize('100%', '100%');
150
- this.content = this._data.content;
151
- this.styles = this._data.styles;
151
+ this.contentPage = this._data.contentPage;
152
+ this._config = this._data.config;
153
+ this._initSeparator();
152
154
  };
153
155
  EditorComponent.prototype.editorToggleChange = function (event) {
154
- var _this = this;
155
156
  this.editors[event.value] = !this.editors[event.value];
157
+ this.updateEditorLayouts();
158
+ };
159
+ EditorComponent.prototype.updateEditorLayouts = function () {
160
+ var _this = this;
156
161
  setTimeout(function () {
157
- _this.textEditors.forEach(function (textEditor) {
158
- textEditor.updateLayout();
159
- });
160
- }, 100);
162
+ if (_this.editors.content) {
163
+ _this.contentEditor.updateLayout();
164
+ }
165
+ if (_this.editors.styles) {
166
+ _this.styleEditor.updateLayout();
167
+ }
168
+ });
161
169
  };
162
170
  EditorComponent.prototype.ngOnDestroy = function () {
163
171
  this._destroy$.next();
164
172
  this._destroy$.complete();
165
173
  };
174
+ EditorComponent.prototype.openSettings = function () {
175
+ var _this = this;
176
+ this._dialog.open(ContentPageComponent, {
177
+ data: {
178
+ contentPage: this.contentPage,
179
+ },
180
+ })
181
+ .afterClosed()
182
+ .pipe(operators.takeUntil(this._destroy$))
183
+ .subscribe(function (contentPage) {
184
+ _this.contentPage = Object.assign(Object.assign({}, _this.contentPage), contentPage);
185
+ _this._cdRef.markForCheck();
186
+ });
187
+ };
188
+ EditorComponent.prototype._initSeparator = function () {
189
+ var _this = this;
190
+ rxjs.fromEvent(this.separator.nativeElement, 'mousedown')
191
+ .pipe(operators.takeUntil(this._destroy$))
192
+ .subscribe(function (e) {
193
+ _this._moveSeparator(e);
194
+ });
195
+ };
196
+ EditorComponent.prototype._moveSeparator = function (separatorEvent) {
197
+ var _this = this;
198
+ var mouseDown = {
199
+ clientX: separatorEvent.clientX,
200
+ clientY: separatorEvent.clientY,
201
+ offsetLeft: Number(this.separator.nativeElement.offsetLeft),
202
+ offsetTop: Number(this.separator.nativeElement.offsetTop),
203
+ firstWidth: Number(this.contentContainer.nativeElement.offsetWidth),
204
+ secondWidth: Number(this.styleContainer.nativeElement.offsetWidth),
205
+ };
206
+ this.resizing = true;
207
+ this._cdRef.markForCheck();
208
+ rxjs.fromEvent(document, 'mousemove')
209
+ .pipe(operators.finalize(function () {
210
+ mouseDown = null;
211
+ _this.resizing = false;
212
+ _this._cdRef.markForCheck();
213
+ _this.updateEditorLayouts();
214
+ }), operators.takeUntil(rxjs.fromEvent(this.separator.nativeElement, 'mouseup')
215
+ .pipe(operators.take(1), operators.takeUntil(this._destroy$))), operators.takeUntil(this._destroy$))
216
+ .subscribe(function (e) {
217
+ var delta = { x: e.clientX - mouseDown.clientX,
218
+ y: e.clientY - mouseDown.clientY };
219
+ delta.x = Math.min(Math.max(delta.x, -mouseDown.firstWidth), mouseDown.secondWidth);
220
+ _this.separator.nativeElement.style.left = mouseDown.offsetLeft + delta.x + "px";
221
+ _this.contentContainer.nativeElement.style.width = mouseDown.firstWidth + delta.x + "px";
222
+ _this.styleContainer.nativeElement.style.width = mouseDown.secondWidth - delta.x + "px";
223
+ });
224
+ };
166
225
  return EditorComponent;
167
226
  }());
168
- EditorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: EditorComponent, deps: [{ token: i1.MAT_DIALOG_DATA }, { token: i1__namespace.MatDialogRef }, { token: i2__namespace.FsMessage }], target: i0__namespace.ɵɵFactoryTarget.Component });
169
- EditorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: EditorComponent, selector: "ng-component", viewQueries: [{ propertyName: "textEditors", predicate: i6.FsTextEditorComponent, descendants: true }], ngImport: i0__namespace, template: "<form fsForm [submit]=\"save\">\n <fs-dialog>\n <h1 mat-dialog-title>Design</h1>\n <div mat-dialog-content>\n <div class=\"container\">\n <div class=\"toggles\">\n <mat-button-toggle-group multiple>\n <mat-button-toggle value=\"content\" [checked]=\"editors.content\" (change)=\"editorToggleChange($event)\">Content</mat-button-toggle>\n <mat-button-toggle value=\"styles\" [checked]=\"editors.styles\" (change)=\"editorToggleChange($event)\">Styles</mat-button-toggle>\n </mat-button-toggle-group> \n </div>\n <div class=\"editors\">\n <div class=\"editor\" *ngIf=\"editors.content\">\n <fs-label>Content</fs-label>\n <div class=\"editor-container\">\n <fs-text-editor \n [(ngModel)]=\"content\" \n name=\"content\"\n [config]=\"{ tabSize: 2, language: 'html' }\">\n </fs-text-editor> \n </div>\n </div>\n <div class=\"editor\" *ngIf=\"editors.styles\">\n <fs-label>Styles</fs-label>\n <div class=\"editor-container\">\n <fs-text-editor \n [(ngModel)]=\"styles\" \n name=\"styles\"\n [config]=\"{ tabSize: 2, language: 'scss' }\">\n </fs-text-editor> \n </div>\n </div> \n </div>\n </div>\n </div>\n\n <div mat-dialog-actions>\n <fs-form-dialog-actions>\n </fs-form-dialog-actions>\n </div>\n </fs-dialog>\n</form>\n", styles: ["form{display:block;height:100%}form fs-dialog{display:flex;flex-direction:column;height:100%}form ::ng-deep .mat-dialog-content{max-height:none;flex:1}.toggles{display:flex;align-self:end;z-index:1;position:relative;margin-bottom:-12px}.container{height:100%;display:flex;flex-direction:column}.editors{width:5000px;max-width:100%;height:100%;display:flex;min-height:0}.editors .editor{height:100%;display:flex;min-width:0;width:100%;flex-direction:column}.editors .editor .editor-container{height:100%;overflow:auto;background:#1E1E1E}.editors .editor .editor-container fs-text-editor{display:block}.editors .editor+.editor{margin-left:20px}.editors .editor fs-label{background-color:#fff;padding-bottom:5px}\n"], components: [{ type: i3__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i4__namespace$1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-labelledby", "tabIndex", "appearance", "checked", "disabled", "id", "name", "aria-label", "value"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { type: i5__namespace$1.FsLabelComponent, selector: "fs-label" }, { type: i6__namespace$1.FsTextEditorComponent, selector: "fs-text-editor", inputs: ["config", "scrollable"], outputs: ["init", "blur"] }, { type: i7__namespace.FsFormDialogActionsComponent, selector: "fs-form-dialog-actions", inputs: ["save", "create", "close", "closeData", "name"] }], directives: [{ type: i9__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i9__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7__namespace.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"] }, { type: i1__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i4__namespace$1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { type: i11__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
227
+ EditorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: EditorComponent, deps: [{ token: i1.MAT_DIALOG_DATA }, { token: i1__namespace.MatDialogRef }, { token: i1__namespace.MatDialog }, { token: i2__namespace.FsMessage }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
228
+ EditorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: EditorComponent, selector: "ng-component", viewQueries: [{ propertyName: "styleEditor", first: true, predicate: ["styleEditor"], descendants: true }, { propertyName: "contentEditor", first: true, predicate: ["contentEditor"], descendants: true }, { propertyName: "separator", first: true, predicate: ["separator"], descendants: true, read: i0.ElementRef, static: true }, { propertyName: "contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: i0.ElementRef, static: true }, { propertyName: "styleContainer", first: true, predicate: ["styleContainer"], descendants: true, read: i0.ElementRef, static: true }], ngImport: i0__namespace, template: "<form fsForm [submit]=\"save\">\n <fs-dialog>\n <h1 mat-dialog-title>\n <div class=\"title-container\">\n <div class=\"title\">\n Page\n <div class=\"small\">{{contentPage.name}}</div> \n </div>\n <a\n (click)=\"openSettings()\"\n mat-icon-button>\n <mat-icon>settings</mat-icon>\n </a> \n </div>\n </h1>\n <div mat-dialog-content>\n <div class=\"container\">\n <div class=\"editors\" [ngClass]=\"{ resizing: resizing, 'separator-enabled': editors.styles && editors.content }\">\n <div #contentContainer class=\"editor editor-content\" [ngClass]=\"{ 'content-enabled': editors.content }\">\n <fs-label>Content</fs-label>\n <div class=\"editor-container\">\n <fs-text-editor \n #contentEditor\n [(ngModel)]=\"contentPage.content\" \n name=\"content\"\n [config]=\"{ tabSize: 2, language: 'html' }\">\n </fs-text-editor> \n </div>\n </div>\n <div \n #separator\n class=\"separator\">\n </div>\n <div \n #styleContainer \n class=\"editor editor-styles\" \n [ngClass]=\"{ 'styles-enabled': editors.styles }\"\n [style.width]=\"'600px'\">\n <fs-label>Styles</fs-label>\n <div class=\"editor-container\">\n <fs-text-editor \n #styleEditor\n [(ngModel)]=\"contentPage.styles\" \n name=\"styles\"\n [config]=\"{ tabSize: 2, language: 'scss' }\">\n </fs-text-editor> \n </div>\n </div> \n </div>\n </div>\n </div>\n\n <div mat-dialog-actions>\n <fs-form-dialog-actions>\n </fs-form-dialog-actions>\n <div class=\"toggles\">\n <mat-button-toggle-group multiple>\n <mat-button-toggle value=\"content\" [checked]=\"editors.content\" (change)=\"editorToggleChange($event)\">Content</mat-button-toggle>\n <mat-button-toggle value=\"styles\" [checked]=\"editors.styles\" (change)=\"editorToggleChange($event)\">Styles</mat-button-toggle>\n </mat-button-toggle-group> \n </div>\n </div>\n </fs-dialog>\n</form>\n\n", styles: ["form{display:block;height:100%}form fs-dialog{display:flex;flex-direction:column;height:100%}form ::ng-deep .mat-dialog-content{max-height:none;flex:1}.toggles{display:flex;justify-content:flex-end;justify-self:baseline;flex:1}.container{height:100%;display:flex;flex-direction:column}.editors{width:5000px;max-width:100%;height:100%;display:flex;min-height:0}.editors:not(.separator-enabled) .separator{display:none}.editors:not(.separator-enabled) .editor{width:100%!important}.editors .separator{cursor:col-resize;background-color:#fff;background-image:url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='30'><path d='M2 0 v30 M5 0 v30 M8 0 v30' fill='none' stroke='black'/></svg>\");background-repeat:no-repeat;background-position:center;width:40px;height:100%;-webkit-user-select:none;user-select:none;flex-shrink:0}.editors .editor{height:100%;display:flex;min-width:0;width:100%;flex-direction:column}.editors .editor.editor-styles:not(.styles-enabled),.editors .editor.editor-content:not(.content-enabled){display:none}.editors .editor .editor-container{height:100%;overflow:hidden;background:#1E1E1E;border-radius:5px}.editors .editor .editor-container fs-text-editor{display:block}.editors .editor+.editor{margin-left:20px}.editors .editor fs-label{background-color:#fff;padding-bottom:5px}.title-container{display:flex;align-items:center}.title-container .title{flex:1}\n"], components: [{ type: i3__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileActionPlacement", "mobileWidth", "mode"] }, { type: i4__namespace$1.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6__namespace$1.FsLabelComponent, selector: "fs-label" }, { type: i7__namespace$1.FsTextEditorComponent, selector: "fs-text-editor", inputs: ["config", "scrollable"], outputs: ["init", "blur"] }, { type: i7__namespace.FsFormDialogActionsComponent, selector: "fs-form-dialog-actions", inputs: ["save", "create", "close", "done", "closeData", "name"] }, { type: i9__namespace$1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-labelledby", "tabIndex", "appearance", "checked", "disabled", "id", "name", "aria-label", "value"], outputs: ["change"], exportAs: ["matButtonToggle"] }], directives: [{ type: i9__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i9__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7__namespace.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"] }, { type: i1__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i10__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7__namespace.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i9__namespace$1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
170
229
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: EditorComponent, decorators: [{
171
230
  type: i0.Component,
172
231
  args: [{
@@ -178,12 +237,85 @@
178
237
  return [{ type: undefined, decorators: [{
179
238
  type: i0.Inject,
180
239
  args: [i1.MAT_DIALOG_DATA]
181
- }] }, { type: i1__namespace.MatDialogRef }, { type: i2__namespace.FsMessage }];
182
- }, propDecorators: { textEditors: [{
183
- type: i0.ViewChildren,
184
- args: [i6.FsTextEditorComponent]
240
+ }] }, { type: i1__namespace.MatDialogRef }, { type: i1__namespace.MatDialog }, { type: i2__namespace.FsMessage }, { type: i0__namespace.ChangeDetectorRef }];
241
+ }, propDecorators: { styleEditor: [{
242
+ type: i0.ViewChild,
243
+ args: ['styleEditor']
244
+ }], contentEditor: [{
245
+ type: i0.ViewChild,
246
+ args: ['contentEditor']
247
+ }], separator: [{
248
+ type: i0.ViewChild,
249
+ args: ['separator', { static: true, read: i0.ElementRef }]
250
+ }], contentContainer: [{
251
+ type: i0.ViewChild,
252
+ args: ['contentContainer', { static: true, read: i0.ElementRef }]
253
+ }], styleContainer: [{
254
+ type: i0.ViewChild,
255
+ args: ['styleContainer', { static: true, read: i0.ElementRef }]
185
256
  }] } });
186
257
 
258
+ var FsContentEditorModule = /** @class */ (function () {
259
+ function FsContentEditorModule() {
260
+ }
261
+ return FsContentEditorModule;
262
+ }());
263
+ FsContentEditorModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentEditorModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
264
+ FsContentEditorModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentEditorModule, declarations: [EditorComponent], imports: [i10.CommonModule,
265
+ i9.FormsModule,
266
+ i1.MatDialogModule,
267
+ i4$1.MatButtonModule,
268
+ tabs.MatTabsModule,
269
+ i5$1.MatIconModule,
270
+ i9$1.MatButtonToggleModule,
271
+ i2$1.FsListModule,
272
+ i7$1.FsFormModule,
273
+ i6$1.FsLabelModule,
274
+ htmlEditor.FsHtmlEditorModule,
275
+ i3.FsDialogModule,
276
+ i7.FsTextEditorModule], exports: [EditorComponent] });
277
+ FsContentEditorModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentEditorModule, imports: [[
278
+ i10.CommonModule,
279
+ i9.FormsModule,
280
+ i1.MatDialogModule,
281
+ i4$1.MatButtonModule,
282
+ tabs.MatTabsModule,
283
+ i5$1.MatIconModule,
284
+ i9$1.MatButtonToggleModule,
285
+ i2$1.FsListModule,
286
+ i7$1.FsFormModule,
287
+ i6$1.FsLabelModule,
288
+ htmlEditor.FsHtmlEditorModule,
289
+ i3.FsDialogModule,
290
+ i7.FsTextEditorModule,
291
+ ]] });
292
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentEditorModule, decorators: [{
293
+ type: i0.NgModule,
294
+ args: [{
295
+ imports: [
296
+ i10.CommonModule,
297
+ i9.FormsModule,
298
+ i1.MatDialogModule,
299
+ i4$1.MatButtonModule,
300
+ tabs.MatTabsModule,
301
+ i5$1.MatIconModule,
302
+ i9$1.MatButtonToggleModule,
303
+ i2$1.FsListModule,
304
+ i7$1.FsFormModule,
305
+ i6$1.FsLabelModule,
306
+ htmlEditor.FsHtmlEditorModule,
307
+ i3.FsDialogModule,
308
+ i7.FsTextEditorModule,
309
+ ],
310
+ exports: [
311
+ EditorComponent,
312
+ ],
313
+ declarations: [
314
+ EditorComponent,
315
+ ],
316
+ }]
317
+ }] });
318
+
187
319
  var FsContentPagesComponent = /** @class */ (function () {
188
320
  function FsContentPagesComponent(_config, _dialog) {
189
321
  this._config = _config;
@@ -197,28 +329,15 @@
197
329
  FsContentPagesComponent.prototype.openEditor = function (contentPage) {
198
330
  var _this = this;
199
331
  this._dialog.open(EditorComponent, {
200
- maxWidth: null,
201
- maxHeight: null,
202
- data: {
203
- styles: contentPage.styles,
204
- content: contentPage.content,
205
- save: function (data) {
206
- return _this._config.saveContentPage(Object.assign({ id: contentPage.id }, data));
207
- },
208
- },
209
- })
210
- .afterClosed()
211
- .pipe(operators.takeUntil(this._destroy$))
212
- .subscribe(function () {
213
- _this.listComponent.reload();
214
- });
215
- };
216
- FsContentPagesComponent.prototype.openPage = function (contentPage) {
217
- var _this = this;
218
- this._dialog.open(ContentPageComponent, {
219
332
  data: {
220
333
  contentPage: contentPage,
334
+ config: this._config,
221
335
  },
336
+ maxWidth: '100vw',
337
+ maxHeight: '100vw',
338
+ width: '100%',
339
+ height: '100%',
340
+ autoFocus: false,
222
341
  })
223
342
  .afterClosed()
224
343
  .pipe(operators.filter(function (_contentPage) { return !!_contentPage; }), operators.takeUntil(this._destroy$))
@@ -244,7 +363,17 @@
244
363
  {
245
364
  label: 'Create',
246
365
  click: function () {
247
- _this.openPage({});
366
+ _this._dialog.open(ContentPageComponent, {
367
+ data: {
368
+ contentPage: {},
369
+ },
370
+ })
371
+ .afterClosed()
372
+ .pipe(operators.filter(function (contentPage) { return !!contentPage; }), operators.takeUntil(_this._destroy$))
373
+ .subscribe(function (contentPage) {
374
+ _this.openEditor(contentPage);
375
+ _this.listComponent.reload();
376
+ });
248
377
  },
249
378
  },
250
379
  ],
@@ -281,7 +410,7 @@
281
410
  return FsContentPagesComponent;
282
411
  }());
283
412
  FsContentPagesComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentPagesComponent, deps: [{ token: FS_CONTENT_CONFIG }, { token: i1__namespace.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Component });
284
- FsContentPagesComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsContentPagesComponent, selector: "fs-content-pages", inputs: { htmlEditorConfig: "htmlEditorConfig" }, viewQueries: [{ propertyName: "listComponent", first: true, predicate: i2$1.FsListComponent, descendants: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"listConfig\">\n <fs-list-column name=\"design\" width=\"1%\">\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"openEditor(row)\"><mat-icon>design_services</mat-icon></a>\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"name\" title=\"Name\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"openPage(row)\">{{row.name}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"path\" title=\"Path\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <a [href]=\"'/' + row.path\" target=\"_black\">/{{row.path}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"type\" title=\"Type\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{pageTypes[row.type]}}\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"modify_date\" title=\"Modified\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.modifyDate | fsDate: 'date-time-yearless'}}\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(black),to(rgba(0,0,0,0)))}\n"], components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i3__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }], pipes: { "fsDate": i4__namespace$2.FsDatePipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
413
+ FsContentPagesComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsContentPagesComponent, selector: "fs-content-pages", inputs: { htmlEditorConfig: "htmlEditorConfig" }, viewQueries: [{ propertyName: "listComponent", first: true, predicate: i2$1.FsListComponent, descendants: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"listConfig\">\n <fs-list-column name=\"name\" title=\"Name\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"openEditor(row)\">{{row.name}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"path\" title=\"Path\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <a [href]=\"'/' + row.path\" target=\"_black\">/{{row.path}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"type\" title=\"Type\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{pageTypes[row.type]}}\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"modify_date\" title=\"Modified\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.modifyDate | fsDate: 'date-time-yearless'}}\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(black),to(rgba(0,0,0,0)))}\n"], components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }], pipes: { "fsDate": i3__namespace$1.FsDatePipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
285
414
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentPagesComponent, decorators: [{
286
415
  type: i0.Component,
287
416
  args: [{
@@ -302,67 +431,6 @@
302
431
  args: [i2$1.FsListComponent]
303
432
  }] } });
304
433
 
305
- var FsContentEditorModule = /** @class */ (function () {
306
- function FsContentEditorModule() {
307
- }
308
- return FsContentEditorModule;
309
- }());
310
- FsContentEditorModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentEditorModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
311
- FsContentEditorModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentEditorModule, declarations: [EditorComponent], imports: [i11.CommonModule,
312
- i9.FormsModule,
313
- i1.MatDialogModule,
314
- button.MatButtonModule,
315
- tabs.MatTabsModule,
316
- i3$1.MatIconModule,
317
- i4$1.MatButtonToggleModule,
318
- i2$1.FsListModule,
319
- i7.FsFormModule,
320
- i5$1.FsLabelModule,
321
- htmlEditor.FsHtmlEditorModule,
322
- i3.FsDialogModule,
323
- i6.FsTextEditorModule], exports: [EditorComponent] });
324
- FsContentEditorModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentEditorModule, imports: [[
325
- i11.CommonModule,
326
- i9.FormsModule,
327
- i1.MatDialogModule,
328
- button.MatButtonModule,
329
- tabs.MatTabsModule,
330
- i3$1.MatIconModule,
331
- i4$1.MatButtonToggleModule,
332
- i2$1.FsListModule,
333
- i7.FsFormModule,
334
- i5$1.FsLabelModule,
335
- htmlEditor.FsHtmlEditorModule,
336
- i3.FsDialogModule,
337
- i6.FsTextEditorModule,
338
- ]] });
339
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentEditorModule, decorators: [{
340
- type: i0.NgModule,
341
- args: [{
342
- imports: [
343
- i11.CommonModule,
344
- i9.FormsModule,
345
- i1.MatDialogModule,
346
- button.MatButtonModule,
347
- tabs.MatTabsModule,
348
- i3$1.MatIconModule,
349
- i4$1.MatButtonToggleModule,
350
- i2$1.FsListModule,
351
- i7.FsFormModule,
352
- i5$1.FsLabelModule,
353
- htmlEditor.FsHtmlEditorModule,
354
- i3.FsDialogModule,
355
- i6.FsTextEditorModule,
356
- ],
357
- exports: [
358
- EditorComponent,
359
- ],
360
- declarations: [
361
- EditorComponent,
362
- ],
363
- }]
364
- }] });
365
-
366
434
  var FsContentPagesModule = /** @class */ (function () {
367
435
  function FsContentPagesModule() {
368
436
  }
@@ -375,71 +443,68 @@
375
443
  }());
376
444
  FsContentPagesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentPagesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
377
445
  FsContentPagesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentPagesModule, declarations: [FsContentPagesComponent,
378
- ContentPageComponent], imports: [i11.CommonModule,
446
+ ContentPageComponent], imports: [i10.CommonModule,
379
447
  i9.FormsModule,
380
- flexLayout.FlexLayoutModule,
381
448
  i1.MatDialogModule,
382
- i12.MatInputModule,
449
+ i11.MatInputModule,
383
450
  i4.MatFormFieldModule,
384
- button.MatButtonModule,
451
+ i4$1.MatButtonModule,
385
452
  tabs.MatTabsModule,
386
- i3$1.MatIconModule,
453
+ i5$1.MatIconModule,
387
454
  i5.MatSelectModule,
388
- i4$1.MatButtonToggleModule,
455
+ i9$1.MatButtonToggleModule,
389
456
  i2$1.FsListModule,
390
- i4$2.FsDateModule,
391
- i7.FsFormModule,
392
- i5$1.FsLabelModule,
457
+ i3$1.FsDateModule,
458
+ i7$1.FsFormModule,
459
+ i6$1.FsLabelModule,
393
460
  i8.FsSkeletonModule,
394
461
  htmlEditor.FsHtmlEditorModule,
395
462
  i3.FsDialogModule,
396
- i6.FsTextEditorModule,
463
+ i7.FsTextEditorModule,
397
464
  FsContentEditorModule], exports: [FsContentPagesComponent] });
398
465
  FsContentPagesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentPagesModule, imports: [[
399
- i11.CommonModule,
466
+ i10.CommonModule,
400
467
  i9.FormsModule,
401
- flexLayout.FlexLayoutModule,
402
468
  i1.MatDialogModule,
403
- i12.MatInputModule,
469
+ i11.MatInputModule,
404
470
  i4.MatFormFieldModule,
405
- button.MatButtonModule,
471
+ i4$1.MatButtonModule,
406
472
  tabs.MatTabsModule,
407
- i3$1.MatIconModule,
473
+ i5$1.MatIconModule,
408
474
  i5.MatSelectModule,
409
- i4$1.MatButtonToggleModule,
475
+ i9$1.MatButtonToggleModule,
410
476
  i2$1.FsListModule,
411
- i4$2.FsDateModule,
412
- i7.FsFormModule,
413
- i5$1.FsLabelModule,
477
+ i3$1.FsDateModule,
478
+ i7$1.FsFormModule,
479
+ i6$1.FsLabelModule,
414
480
  i8.FsSkeletonModule,
415
481
  htmlEditor.FsHtmlEditorModule,
416
482
  i3.FsDialogModule,
417
- i6.FsTextEditorModule,
483
+ i7.FsTextEditorModule,
418
484
  FsContentEditorModule,
419
485
  ]] });
420
486
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentPagesModule, decorators: [{
421
487
  type: i0.NgModule,
422
488
  args: [{
423
489
  imports: [
424
- i11.CommonModule,
490
+ i10.CommonModule,
425
491
  i9.FormsModule,
426
- flexLayout.FlexLayoutModule,
427
492
  i1.MatDialogModule,
428
- i12.MatInputModule,
493
+ i11.MatInputModule,
429
494
  i4.MatFormFieldModule,
430
- button.MatButtonModule,
495
+ i4$1.MatButtonModule,
431
496
  tabs.MatTabsModule,
432
- i3$1.MatIconModule,
497
+ i5$1.MatIconModule,
433
498
  i5.MatSelectModule,
434
- i4$1.MatButtonToggleModule,
499
+ i9$1.MatButtonToggleModule,
435
500
  i2$1.FsListModule,
436
- i4$2.FsDateModule,
437
- i7.FsFormModule,
438
- i5$1.FsLabelModule,
501
+ i3$1.FsDateModule,
502
+ i7$1.FsFormModule,
503
+ i6$1.FsLabelModule,
439
504
  i8.FsSkeletonModule,
440
505
  htmlEditor.FsHtmlEditorModule,
441
506
  i3.FsDialogModule,
442
- i6.FsTextEditorModule,
507
+ i7.FsTextEditorModule,
443
508
  FsContentEditorModule,
444
509
  ],
445
510
  exports: [
@@ -492,7 +557,7 @@
492
557
  return ContentLayoutComponent;
493
558
  }());
494
559
  ContentLayoutComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ContentLayoutComponent, deps: [{ token: FS_CONTENT_CONFIG }, { token: i1.MAT_DIALOG_DATA }, { token: i1__namespace.MatDialogRef }, { token: i2__namespace.FsMessage }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
495
- ContentLayoutComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ContentLayoutComponent, selector: "ng-component", viewQueries: [{ propertyName: "textEditors", predicate: i6.FsTextEditorComponent, descendants: true }], ngImport: i0__namespace, template: "<form fsForm [submit]=\"save\" *fsSkeletonForm=\"contentLayout\">\n <fs-dialog>\n <h1 mat-dialog-title>{{contentLayout.id ? 'Layout' : 'Layout Page'}}</h1>\n <div mat-dialog-content>\n <div fxLayout=\"column\">\n <mat-form-field>\n <input\n matInput\n [(ngModel)]=\"contentLayout.name\"\n name=\"name\"\n required\n placeholder=\"Name\">\n </mat-form-field>\n <mat-form-field>\n <input\n matInput\n [(ngModel)]=\"contentLayout.tag\"\n name=\"tag\"\n placeholder=\"Tag\">\n </mat-form-field>\n </div>\n </div>\n\n <div mat-dialog-actions>\n <fs-form-dialog-actions>\n </fs-form-dialog-actions>\n </div>\n </fs-dialog>\n</form>\n", styles: [""], components: [{ type: i3__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode"] }, { type: i4__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i7__namespace.FsFormDialogActionsComponent, selector: "fs-form-dialog-actions", inputs: ["save", "create", "close", "closeData", "name"] }], directives: [{ type: i8__namespace.FsSkeletonFormDirective, selector: "[fsSkeletonForm]", inputs: ["fsSkeletonForm", "fsSkeletonFormLines"] }, { type: i9__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i9__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7__namespace.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"] }, { type: i1__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i10__namespace.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i12__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i9__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i9__namespace.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i9__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7__namespace.FsFormRequiredDirective, selector: "[fsFormRequired],[ngModel][required]", inputs: ["fsFormRequired", "required", "fsFormRequiredMessage"] }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
560
+ ContentLayoutComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ContentLayoutComponent, selector: "ng-component", viewQueries: [{ propertyName: "textEditors", predicate: i7.FsTextEditorComponent, descendants: true }], ngImport: i0__namespace, template: "<form fsForm [submit]=\"save\" *fsSkeletonForm=\"contentLayout\">\n <fs-dialog>\n <h1 mat-dialog-title>{{contentLayout.id ? 'Layout' : 'Layout Page'}}</h1>\n <div mat-dialog-content>\n <div class=\"fs-column\">\n <mat-form-field>\n <input\n matInput\n [(ngModel)]=\"contentLayout.name\"\n name=\"name\"\n required\n placeholder=\"Name\">\n </mat-form-field>\n <mat-form-field>\n <input\n matInput\n [(ngModel)]=\"contentLayout.tag\"\n name=\"tag\"\n placeholder=\"Tag\">\n </mat-form-field>\n </div>\n </div>\n\n <div mat-dialog-actions>\n <fs-form-dialog-actions>\n </fs-form-dialog-actions>\n </div>\n </fs-dialog>\n</form>\n", styles: [""], components: [{ type: i3__namespace.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileActionPlacement", "mobileWidth", "mode"] }, { type: i4__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i7__namespace.FsFormDialogActionsComponent, selector: "fs-form-dialog-actions", inputs: ["save", "create", "close", "done", "closeData", "name"] }], directives: [{ type: i8__namespace.FsSkeletonFormDirective, selector: "[fsSkeletonForm]", inputs: ["fsSkeletonForm", "fsSkeletonFormLines"] }, { type: i9__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i9__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7__namespace.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"] }, { type: i1__namespace.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i11__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i9__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i9__namespace.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i9__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i7__namespace.FsFormRequiredDirective, selector: "[fsFormRequired],[ngModel][required]", inputs: ["fsFormRequired", "required", "fsFormRequiredMessage"] }, { type: i7__namespace.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { type: i1__namespace.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
496
561
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ContentLayoutComponent, decorators: [{
497
562
  type: i0.Component,
498
563
  args: [{
@@ -510,7 +575,7 @@
510
575
  }] }, { type: i1__namespace.MatDialogRef }, { type: i2__namespace.FsMessage }, { type: i0__namespace.ChangeDetectorRef }];
511
576
  }, propDecorators: { textEditors: [{
512
577
  type: i0.ViewChildren,
513
- args: [i6.FsTextEditorComponent]
578
+ args: [i7.FsTextEditorComponent]
514
579
  }] } });
515
580
 
516
581
  var FsContentLayoutsComponent = /** @class */ (function () {
@@ -610,7 +675,7 @@
610
675
  return FsContentLayoutsComponent;
611
676
  }());
612
677
  FsContentLayoutsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentLayoutsComponent, deps: [{ token: FS_CONTENT_CONFIG }, { token: i1__namespace.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Component });
613
- FsContentLayoutsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsContentLayoutsComponent, selector: "fs-content-layouts", viewQueries: [{ propertyName: "listComponent", first: true, predicate: i2$1.FsListComponent, descendants: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"listConfig\">\n <fs-list-column name=\"design\" width=\"1%\">\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"openEditor(row)\"><mat-icon>design_services</mat-icon></a>\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"name\" title=\"Name\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"openLayout(row)\">{{row.name}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"modify_date\" title=\"Modified\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.modifyDate | fsDate: 'date-time-yearless'}}\n </ng-template>\n </fs-list-column>\n</fs-list>\n", styles: [""], components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i3__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }], pipes: { "fsDate": i4__namespace$2.FsDatePipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
678
+ FsContentLayoutsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsContentLayoutsComponent, selector: "fs-content-layouts", viewQueries: [{ propertyName: "listComponent", first: true, predicate: i2$1.FsListComponent, descendants: true }], ngImport: i0__namespace, template: "<fs-list [config]=\"listConfig\">\n <fs-list-column name=\"design\" width=\"1%\">\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"openEditor(row)\"><mat-icon>design_services</mat-icon></a>\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"name\" title=\"Name\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n <a (click)=\"openLayout(row)\">{{row.name}}</a>\n </ng-template>\n </fs-list-column>\n <fs-list-column name=\"modify_date\" title=\"Modified\" [sortable]=\"true\">\n <ng-template fs-list-cell let-row=\"row\">\n {{row.modifyDate | fsDate: 'date-time-yearless'}}\n </ng-template>\n </fs-list-column>\n</fs-list>\n", styles: [""], components: [{ type: i2__namespace$1.FsListComponent, selector: "fs-list", inputs: ["config", "loaderLines"], outputs: ["filtersReady"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2__namespace$1.FsListColumnDirective, selector: "fs-list-column", inputs: ["show", "title", "name", "customize", "sortable", "sortableDefault", "direction", "align", "width", "class"] }, { type: i2__namespace$1.FsListCellDirective, selector: "[fs-list-cell]", inputs: ["colspan", "align", "class"] }], pipes: { "fsDate": i3__namespace$1.FsDatePipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
614
679
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentLayoutsComponent, decorators: [{
615
680
  type: i0.Component,
616
681
  args: [{
@@ -636,71 +701,68 @@
636
701
  }());
637
702
  FsContentLayoutsModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentLayoutsModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
638
703
  FsContentLayoutsModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentLayoutsModule, declarations: [ContentLayoutComponent,
639
- FsContentLayoutsComponent], imports: [i11.CommonModule,
704
+ FsContentLayoutsComponent], imports: [i10.CommonModule,
640
705
  i9.FormsModule,
641
- flexLayout.FlexLayoutModule,
642
706
  i1.MatDialogModule,
643
- i12.MatInputModule,
707
+ i11.MatInputModule,
644
708
  i4.MatFormFieldModule,
645
- button.MatButtonModule,
709
+ i4$1.MatButtonModule,
646
710
  tabs.MatTabsModule,
647
- i3$1.MatIconModule,
711
+ i5$1.MatIconModule,
648
712
  i5.MatSelectModule,
649
- i4$1.MatButtonToggleModule,
713
+ i9$1.MatButtonToggleModule,
650
714
  i2$1.FsListModule,
651
- i4$2.FsDateModule,
652
- i7.FsFormModule,
653
- i5$1.FsLabelModule,
715
+ i3$1.FsDateModule,
716
+ i7$1.FsFormModule,
717
+ i6$1.FsLabelModule,
654
718
  i8.FsSkeletonModule,
655
719
  htmlEditor.FsHtmlEditorModule,
656
720
  i3.FsDialogModule,
657
- i6.FsTextEditorModule,
721
+ i7.FsTextEditorModule,
658
722
  FsContentEditorModule], exports: [FsContentLayoutsComponent] });
659
723
  FsContentLayoutsModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentLayoutsModule, imports: [[
660
- i11.CommonModule,
724
+ i10.CommonModule,
661
725
  i9.FormsModule,
662
- flexLayout.FlexLayoutModule,
663
726
  i1.MatDialogModule,
664
- i12.MatInputModule,
727
+ i11.MatInputModule,
665
728
  i4.MatFormFieldModule,
666
- button.MatButtonModule,
729
+ i4$1.MatButtonModule,
667
730
  tabs.MatTabsModule,
668
- i3$1.MatIconModule,
731
+ i5$1.MatIconModule,
669
732
  i5.MatSelectModule,
670
- i4$1.MatButtonToggleModule,
733
+ i9$1.MatButtonToggleModule,
671
734
  i2$1.FsListModule,
672
- i4$2.FsDateModule,
673
- i7.FsFormModule,
674
- i5$1.FsLabelModule,
735
+ i3$1.FsDateModule,
736
+ i7$1.FsFormModule,
737
+ i6$1.FsLabelModule,
675
738
  i8.FsSkeletonModule,
676
739
  htmlEditor.FsHtmlEditorModule,
677
740
  i3.FsDialogModule,
678
- i6.FsTextEditorModule,
741
+ i7.FsTextEditorModule,
679
742
  FsContentEditorModule,
680
743
  ]] });
681
744
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentLayoutsModule, decorators: [{
682
745
  type: i0.NgModule,
683
746
  args: [{
684
747
  imports: [
685
- i11.CommonModule,
748
+ i10.CommonModule,
686
749
  i9.FormsModule,
687
- flexLayout.FlexLayoutModule,
688
750
  i1.MatDialogModule,
689
- i12.MatInputModule,
751
+ i11.MatInputModule,
690
752
  i4.MatFormFieldModule,
691
- button.MatButtonModule,
753
+ i4$1.MatButtonModule,
692
754
  tabs.MatTabsModule,
693
- i3$1.MatIconModule,
755
+ i5$1.MatIconModule,
694
756
  i5.MatSelectModule,
695
- i4$1.MatButtonToggleModule,
757
+ i9$1.MatButtonToggleModule,
696
758
  i2$1.FsListModule,
697
- i4$2.FsDateModule,
698
- i7.FsFormModule,
699
- i5$1.FsLabelModule,
759
+ i3$1.FsDateModule,
760
+ i7$1.FsFormModule,
761
+ i6$1.FsLabelModule,
700
762
  i8.FsSkeletonModule,
701
763
  htmlEditor.FsHtmlEditorModule,
702
764
  i3.FsDialogModule,
703
- i6.FsTextEditorModule,
765
+ i7.FsTextEditorModule,
704
766
  FsContentEditorModule,
705
767
  ],
706
768
  exports: [
@@ -777,7 +839,7 @@
777
839
  return ContentRendererComponent;
778
840
  }());
779
841
  ContentRendererComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ContentRendererComponent, deps: [{ token: i1__namespace$1.DomSanitizer }, { token: i2__namespace$2.Router }, { token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
780
- ContentRendererComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ContentRendererComponent, selector: "fs-content-renderer", inputs: { contentPage: "contentPage" }, ngImport: i0__namespace, template: "<div *ngIf=\"content\" [innerHTML]=\"content\"></div>\n", styles: [""], directives: [{ type: i11__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
842
+ ContentRendererComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ContentRendererComponent, selector: "fs-content-renderer", inputs: { contentPage: "contentPage" }, ngImport: i0__namespace, template: "<div *ngIf=\"content\" [innerHTML]=\"content\"></div>\n", styles: [""], directives: [{ type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
781
843
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ContentRendererComponent, decorators: [{
782
844
  type: i0.Component,
783
845
  args: [{
@@ -842,7 +904,7 @@
842
904
  return FsContentComponent;
843
905
  }());
844
906
  FsContentComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentComponent, deps: [{ token: FS_CONTENT_CONFIG }, { token: i1__namespace$1.Title }, { token: i0__namespace.ChangeDetectorRef }, { token: i2__namespace$2.Router }, { token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
845
- FsContentComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsContentComponent, selector: "fs-content", ngImport: i0__namespace, template: "<fs-content-renderer *ngIf=\"contentPage\" [contentPage]=\"contentPage\"></fs-content-renderer>", styles: [""], components: [{ type: ContentRendererComponent, selector: "fs-content-renderer", inputs: ["contentPage"] }], directives: [{ type: i11__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
907
+ FsContentComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsContentComponent, selector: "fs-content", ngImport: i0__namespace, template: "<fs-content-renderer *ngIf=\"contentPage\" [contentPage]=\"contentPage\"></fs-content-renderer>", styles: [""], components: [{ type: ContentRendererComponent, selector: "fs-content-renderer", inputs: ["contentPage"] }], directives: [{ type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
846
908
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentComponent, decorators: [{
847
909
  type: i0.Component,
848
910
  args: [{
@@ -865,17 +927,17 @@
865
927
  }());
866
928
  FsContentModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
867
929
  FsContentModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentModule, declarations: [FsContentComponent,
868
- ContentRendererComponent], imports: [i11.CommonModule,
930
+ ContentRendererComponent], imports: [i10.CommonModule,
869
931
  htmlEditor.FsHtmlEditorModule], exports: [FsContentComponent] });
870
932
  FsContentModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentModule, imports: [[
871
- i11.CommonModule,
933
+ i10.CommonModule,
872
934
  htmlEditor.FsHtmlEditorModule,
873
935
  ]] });
874
936
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsContentModule, decorators: [{
875
937
  type: i0.NgModule,
876
938
  args: [{
877
939
  imports: [
878
- i11.CommonModule,
940
+ i10.CommonModule,
879
941
  htmlEditor.FsHtmlEditorModule,
880
942
  ],
881
943
  exports: [