@firestitch/content 12.0.3 → 12.2.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.
@@ -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: [