@dotcms/angular 0.0.1-alpha.27 → 0.0.1-alpha.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/dot-editable-text/dot-editable-text.component.mjs +4 -4
- package/esm2022/lib/components/no-component/no-component.component.mjs +7 -3
- package/esm2022/lib/layout/dotcms-layout/dotcms-layout.component.mjs +20 -3
- package/esm2022/lib/layout/row/row.component.mjs +11 -7
- package/fesm2022/dotcms-angular.mjs +37 -12
- package/fesm2022/dotcms-angular.mjs.map +1 -1
- package/lib/components/no-component/no-component.component.d.ts.map +1 -1
- package/lib/layout/dotcms-layout/dotcms-layout.component.d.ts +24 -1
- package/lib/layout/dotcms-layout/dotcms-layout.component.d.ts.map +1 -1
- package/lib/layout/row/row.component.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -94,7 +94,7 @@ export class DotEditableTextComponent {
|
|
|
94
94
|
}
|
|
95
95
|
this.init = {
|
|
96
96
|
...TINYMCE_CONFIG[this.mode],
|
|
97
|
-
base_url: `${DotCmsClient.dotcmsUrl}/
|
|
97
|
+
base_url: `${DotCmsClient.dotcmsUrl}/ext/tinymcev7`
|
|
98
98
|
};
|
|
99
99
|
}
|
|
100
100
|
ngOnChanges() {
|
|
@@ -189,7 +189,7 @@ export class DotEditableTextComponent {
|
|
|
189
189
|
{
|
|
190
190
|
provide: TINYMCE_SCRIPT_SRC,
|
|
191
191
|
useFactory: () => {
|
|
192
|
-
return `${DotCmsClient.dotcmsUrl}/
|
|
192
|
+
return `${DotCmsClient.dotcmsUrl}/ext/tinymcev7/tinymce.min.js`;
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
195
|
], viewQueries: [{ propertyName: "editorComponent", first: true, predicate: EditorComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (isInsideEditor) {\n <editor\n #tinyEditor\n [init]=\"init\"\n [initialValue]=\"content\"\n (onMouseDown)=\"onMouseDown($event)\"\n (onFocusOut)=\"onFocusOut()\" />\n}\n", styles: [":host ::ng-deep .mce-content-body:not(.mce-edit-focus):hover{outline:2px solid #006ce7;border-radius:4px}\n"], dependencies: [{ kind: "component", type: EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }] }); }
|
|
@@ -200,7 +200,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
200
200
|
{
|
|
201
201
|
provide: TINYMCE_SCRIPT_SRC,
|
|
202
202
|
useFactory: () => {
|
|
203
|
-
return `${DotCmsClient.dotcmsUrl}/
|
|
203
|
+
return `${DotCmsClient.dotcmsUrl}/ext/tinymcev7/tinymce.min.js`;
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
206
|
], template: "@if (isInsideEditor) {\n <editor\n #tinyEditor\n [init]=\"init\"\n [initialValue]=\"content\"\n (onMouseDown)=\"onMouseDown($event)\"\n (onFocusOut)=\"onFocusOut()\" />\n}\n", styles: [":host ::ng-deep .mce-content-body:not(.mce-edit-focus):hover{outline:2px solid #006ce7;border-radius:4px}\n"] }]
|
|
@@ -219,4 +219,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
219
219
|
type: HostListener,
|
|
220
220
|
args: ['window:message', ['$event']]
|
|
221
221
|
}] } });
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90LWVkaXRhYmxlLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZG90LWVkaXRhYmxlLXRleHQvZG90LWVkaXRhYmxlLXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZG90LWVkaXRhYmxlLXRleHQvZG90LWVkaXRhYmxlLXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRy9FLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixjQUFjLEVBQ2QsbUJBQW1CLEVBQ3RCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGNBQWMsRUFBZ0MsTUFBTSxTQUFTLENBQUM7O0FBSXZFOzs7Ozs7OztHQVFHO0FBZ0JILE1BQU0sT0FBTyx3QkFBd0I7SUFmckM7UUFrQkk7Ozs7O1dBS0c7UUFDTSxTQUFJLEdBQWlCLE9BQU8sQ0FBQztRQUN0Qzs7Ozs7V0FLRztRQUNNLFdBQU0sR0FBbUIsTUFBTSxDQUFDO1FBUXpDOzs7O1dBSUc7UUFDTSxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXhCOzs7OztXQUtHO1FBQ08sWUFBTyxHQUFHLEVBQUUsQ0FBQztRQWtCZCxlQUFVLEdBQUcsTUFBTSxDQUFlLFlBQVksQ0FB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QUM7OEdBcE5RLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDhOQVR0QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFVBQVUsRUFBRSxHQUFHLEVBQUU7b0JBQ2IsT0FBTyxHQUFHLFlBQVksQ0FBQyxTQUFTLG1DQUFtQyxDQUFDO2dCQUN4RSxDQUFDO2FBQ0o7U0FDSiwyRUFHVSxlQUFlLHFFQ3JEOUIscU5BUUEscUtEa0NjLGVBQWU7OzJGQVVoQix3QkFBd0I7a0JBZnBDLFNBQVM7K0JBQ0ksbUJBQW1CLGNBQ2pCLElBQUksV0FHUCxDQUFDLGVBQWUsQ0FBQyxhQUNmO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFVBQVUsRUFBRSxHQUFHLEVBQUU7Z0NBQ2IsT0FBTyxHQUFHLFlBQVksQ0FBQyxTQUFTLG1DQUFtQyxDQUFDOzRCQUN4RSxDQUFDO3lCQUNKO3FCQUNKOzhCQUcyQixlQUFlO3NCQUExQyxTQUFTO3VCQUFDLGVBQWU7Z0JBUWpCLElBQUk7c0JBQVosS0FBSztnQkFPRyxNQUFNO3NCQUFkLEtBQUs7Z0JBT0csVUFBVTtzQkFBbEIsS0FBSztnQkFNRyxTQUFTO3NCQUFqQixLQUFLO2dCQTBETixTQUFTO3NCQURSLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3JDb21wb25lbnQsIFRJTllNQ0VfU0NSSVBUX1NSQyB9IGZyb20gJ0B0aW55bWNlL3RpbnltY2UtYW5ndWxhcic7XG5pbXBvcnQgeyBFdmVudE9iaiB9IGZyb20gJ0B0aW55bWNlL3RpbnltY2UtYW5ndWxhci9lZGl0b3IvRXZlbnRzJztcblxuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlY3VyaXR5Q29udGV4dCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHtcbiAgICBDVVNUT01FUl9BQ1RJT05TLFxuICAgIERvdENtc0NsaWVudCxcbiAgICBpc0luc2lkZUVkaXRvcixcbiAgICBwb3N0TWVzc2FnZVRvRWRpdG9yXG59IGZyb20gJ0Bkb3RjbXMvY2xpZW50JztcblxuaW1wb3J0IHsgVElOWU1DRV9DT05GSUcsIFRJTllNQ0VfRk9STUFULCBUSU5ZTUNFX01PREUgfSBmcm9tICcuL3V0aWxzJztcblxuaW1wb3J0IHsgRG90Q01TQ29udGVudGxldCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbi8qKlxuICogRG90IGVkaXRhYmxlIHRleHQgY29tcG9uZW50LlxuICogVGhpcyBjb21wb25lbnQgaXMgcmVzcG9uc2libGUgdG8gcmVuZGVyIGEgdGV4dCBmaWVsZCB0aGF0IGNhbiBiZSBlZGl0ZWQgaW5saW5lLlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBEb3RFZGl0YWJsZVRleHRDb21wb25lbnRcbiAqIEBpbXBsZW1lbnRzIHtPbkluaXR9XG4gKiBAaW1wbGVtZW50cyB7T25DaGFuZ2VzfVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RvdC1lZGl0YWJsZS10ZXh0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kb3QtZWRpdGFibGUtdGV4dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2RvdC1lZGl0YWJsZS10ZXh0LmNvbXBvbmVudC5jc3MnLFxuICAgIGltcG9ydHM6IFtFZGl0b3JDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUSU5ZTUNFX1NDUklQVF9TUkMsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke0RvdENtc0NsaWVudC5kb3RjbXNVcmx9L2h0bWwvanMvdGlueW1jZXY3L3RpbnltY2UubWluLmpzYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRG90RWRpdGFibGVUZXh0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIEBWaWV3Q2hpbGQoRWRpdG9yQ29tcG9uZW50KSBlZGl0b3JDb21wb25lbnQhOiBFZGl0b3JDb21wb25lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBtb2RlIG9mIHRoZSBlZGl0b3Igd2hpY2ggY2FuIGJlIGBwbGFpbmAsIGBtaW5pbWFsYCwgb3IgYGZ1bGxgXG4gICAgICpcbiAgICAgKiBAdHlwZSB7VElOWU1DRV9NT0RFfVxuICAgICAqIEBtZW1iZXJvZiBEb3RFZGl0YWJsZVRleHRDb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBtb2RlOiBUSU5ZTUNFX01PREUgPSAncGxhaW4nO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIGZvcm1hdCBvZiB0aGUgZWRpdG9yIHdoaWNoIGNhbiBiZSBgdGV4dGAgb3IgYGh0bWxgXG4gICAgICpcbiAgICAgKiBAdHlwZSB7VElOWU1DRV9GT1JNQVR9XG4gICAgICogQG1lbWJlcm9mIERvdEVkaXRhYmxlVGV4dENvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGZvcm1hdDogVElOWU1DRV9GT1JNQVQgPSAndGV4dCc7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyB0aGUgYGNvbnRlbnRsZXRgIHRoYXQgY2FuIGJlIGlubGluZSBlZGl0ZWRcbiAgICAgKlxuICAgICAqIEB0eXBlIHtEb3RDTVNDb250ZW50bGV0fVxuICAgICAqIEBtZW1iZXJvZiBEb3RFZGl0YWJsZVRleHRDb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBjb250ZW50bGV0ITogRG90Q01TQ29udGVudGxldDtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBmaWVsZCBuYW1lIG9mIHRoZSBgY29udGVudGxldGAgdGhhdCBjYW4gYmUgZWRpdGVkXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgRG90RWRpdGFibGVUZXh0Q29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KCkgZmllbGROYW1lID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBjb250ZW50IG9mIHRoZSBgY29udGVudGxldGAgdGhhdCBjYW4gYmUgZWRpdGVkXG4gICAgICpcbiAgICAgKiBAcHJvdGVjdGVkXG4gICAgICogQG1lbWJlcm9mIERvdEVkaXRhYmxlVGV4dENvbXBvbmVudFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBjb250ZW50ID0gJyc7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgZWRpdG9yXG4gICAgICpcbiAgICAgKiBAcHJvdGVjdGVkXG4gICAgICogQHR5cGUge0VkaXRvckNvbXBvbmVudFsnaW5pdCddfVxuICAgICAqIEBtZW1iZXJvZiBEb3RFZGl0YWJsZVRleHRDb21wb25lbnRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaW5pdCE6IEVkaXRvckNvbXBvbmVudFsnaW5pdCddO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgaWYgdGhlIGNvbXBvbmVudCBpcyBpbnNpZGUgdGhlIGVkaXRvclxuICAgICAqXG4gICAgICogQHByb3RlY3RlZFxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqIEBtZW1iZXJvZiBEb3RFZGl0YWJsZVRleHRDb21wb25lbnRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaXNJbnNpZGVFZGl0b3IhOiBib29sZWFuO1xuXG4gICAgcmVhZG9ubHkgI3Nhbml0aXplciA9IGluamVjdDxEb21TYW5pdGl6ZXI+KERvbVNhbml0aXplcik7XG4gICAgcmVhZG9ubHkgI3JlbmRlcmVyID0gaW5qZWN0PFJlbmRlcmVyMj4oUmVuZGVyZXIyKTtcbiAgICByZWFkb25seSAjZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPihFbGVtZW50UmVmKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBUaW55TUNFIGVkaXRvclxuICAgICAqXG4gICAgICogQHJlYWRvbmx5XG4gICAgICogQG1lbWJlcm9mIERvdEVkaXRhYmxlVGV4dENvbXBvbmVudFxuICAgICAqL1xuICAgIGdldCBlZGl0b3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRvckNvbXBvbmVudC5lZGl0b3I7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIHBhZ2VzIHRoZSBjb250ZW50bGV0IGlzIG9uXG4gICAgICpcbiAgICAgKiBAcmVhZG9ubHlcbiAgICAgKiBAbWVtYmVyb2YgRG90RWRpdGFibGVUZXh0Q29tcG9uZW50XG4gICAgICovXG4gICAgZ2V0IG9uTnVtYmVyT2ZQYWdlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudGxldFsnb25OdW1iZXJPZlBhZ2VzJ107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGFuZGxlIGNvcHkgY29udGVudGxldCBpbmxpbmUgZWRpdGluZyBzdWNjZXNzIGV2ZW50XG4gICAgICpcbiAgICAgKiBAcGFyYW0ge01lc3NhZ2VFdmVudH0geyBkYXRhIH1cbiAgICAgKiBAcmV0dXJuIHsqfVxuICAgICAqIEBtZW1iZXJvZiBEb3RFZGl0YWJsZVRleHRDb21wb25lbnRcbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bWVzc2FnZScsIFsnJGV2ZW50J10pXG4gICAgb25NZXNzYWdlKHsgZGF0YSB9OiBNZXNzYWdlRXZlbnQpIHtcbiAgICAgICAgY29uc3QgeyBuYW1lLCBwYXlsb2FkIH0gPSBkYXRhO1xuICAgICAgICBpZiAobmFtZSAhPT0gJ0NPUFlfQ09OVEVOVExFVF9JTkxJTkVfRURJVElOR19TVUNDRVNTJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBvbGRJbm9kZSwgaW5vZGUgfSA9IHBheWxvYWQ7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJbm9kZSA9IHRoaXMuY29udGVudGxldC5pbm9kZTtcblxuICAgICAgICBpZiAoY3VycmVudElub2RlID09PSBvbGRJbm9kZSB8fCBjdXJyZW50SW5vZGUgPT09IGlub2RlKSB7XG4gICAgICAgICAgICB0aGlzLmVkaXRvckNvbXBvbmVudC5lZGl0b3IuZm9jdXMoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaXNJbnNpZGVFZGl0b3IgPSBpc0luc2lkZUVkaXRvcigpO1xuXG4gICAgICAgIGlmICghdGhpcy5pc0luc2lkZUVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5pbm5lckhUTUxUb0VsZW1lbnQoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbml0ID0ge1xuICAgICAgICAgICAgLi4uVElOWU1DRV9DT05GSUdbdGhpcy5tb2RlXSxcbiAgICAgICAgICAgIGJhc2VfdXJsOiBgJHtEb3RDbXNDbGllbnQuZG90Y21zVXJsfS9odG1sL2pzL3RpbnltY2V2N2BcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgdGhpcy5jb250ZW50ID0gdGhpcy5jb250ZW50bGV0W3RoaXMuZmllbGROYW1lXSB8fCAnJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgbW91c2UgZG93biBldmVudFxuICAgICAqXG4gICAgICogQHBhcmFtIHtFdmVudE9iajxNb3VzZUV2ZW50Pn0geyBldmVudCB9XG4gICAgICogQHJldHVybiB7Kn1cbiAgICAgKiBAbWVtYmVyb2YgRG90RWRpdGFibGVUZXh0Q29tcG9uZW50XG4gICAgICovXG4gICAgb25Nb3VzZURvd24oeyBldmVudCB9OiBFdmVudE9iajxNb3VzZUV2ZW50Pikge1xuICAgICAgICBpZiAodGhpcy5vbk51bWJlck9mUGFnZXMgPD0gMSB8fCB0aGlzLmVkaXRvckNvbXBvbmVudC5lZGl0b3IuaGFzRm9jdXMoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBpbm9kZSwgbGFuZ3VhZ2VJZDogbGFuZ3VhZ2UgfSA9IHRoaXMuY29udGVudGxldDtcblxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcG9zdE1lc3NhZ2VUb0VkaXRvcih7XG4gICAgICAgICAgICAgICAgYWN0aW9uOiBDVVNUT01FUl9BQ1RJT05TLkNPUFlfQ09OVEVOVExFVF9JTkxJTkVfRURJVElORyxcbiAgICAgICAgICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFzZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlub2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZE5hbWU6IHRoaXMuZmllbGROYW1lXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBwb3N0IG1lc3NhZ2UgdG8gZWRpdG9yOicsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgZm9jdXMgb3V0IGV2ZW50XG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHsqfVxuICAgICAqIEBtZW1iZXJvZiBEb3RFZGl0YWJsZVRleHRDb21wb25lbnRcbiAgICAgKi9cbiAgICBvbkZvY3VzT3V0KCkge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gdGhpcy5lZGl0b3IuZ2V0Q29udGVudCh7IGZvcm1hdDogdGhpcy5mb3JtYXQgfSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmVkaXRvci5pc0RpcnR5KCkgfHwgIXRoaXMuZGlkQ29udGVudENoYW5nZShjb250ZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBpbm9kZSwgbGFuZ3VhZ2VJZDogbGFuZ0lkIH0gPSB0aGlzLmNvbnRlbnRsZXQ7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHBvc3RNZXNzYWdlVG9FZGl0b3Ioe1xuICAgICAgICAgICAgICAgIGFjdGlvbjogQ1VTVE9NRVJfQUNUSU9OUy5VUERBVEVfQ09OVEVOVExFVF9JTkxJTkVfRURJVElORyxcbiAgICAgICAgICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgIGRhdGFzZXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlub2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFuZ0lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGROYW1lOiB0aGlzLmZpZWxkTmFtZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gcG9zdCBtZXNzYWdlIHRvIGVkaXRvcjonLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBpbm5lciBIVE1MIHRvIGVsZW1lbnRcbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGVkaXRlZENvbnRlbnRcbiAgICAgKiBAcmV0dXJuIHsqfVxuICAgICAqIEBtZW1iZXJvZiBEb3RFZGl0YWJsZVRleHRDb21wb25lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIGlubmVySFRNTFRvRWxlbWVudCgpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qgc2FmZUh0bWwgPSB0aGlzLiNzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5jb250ZW50KTtcbiAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMuI3Nhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgc2FmZUh0bWwpIHx8ICcnO1xuXG4gICAgICAgIHRoaXMuI3JlbmRlcmVyLnNldFByb3BlcnR5KGVsZW1lbnQsICdpbm5lckhUTUwnLCBjb250ZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgY29udGVudCBoYXMgY2hhbmdlZFxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZWRpdGVkQ29udGVudFxuICAgICAqIEByZXR1cm4geyp9XG4gICAgICogQG1lbWJlcm9mIERvdEVkaXRhYmxlVGV4dENvbXBvbmVudFxuICAgICAqL1xuICAgIHByaXZhdGUgZGlkQ29udGVudENoYW5nZShlZGl0ZWRDb250ZW50OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudCAhPT0gZWRpdGVkQ29udGVudDtcbiAgICB9XG59XG4iLCJAaWYgKGlzSW5zaWRlRWRpdG9yKSB7XG4gICAgPGVkaXRvclxuICAgICAgICAjdGlueUVkaXRvclxuICAgICAgICBbaW5pdF09XCJpbml0XCJcbiAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb250ZW50XCJcbiAgICAgICAgKG9uTW91c2VEb3duKT1cIm9uTW91c2VEb3duKCRldmVudClcIlxuICAgICAgICAob25Gb2N1c091dCk9XCJvbkZvY3VzT3V0KClcIiAvPlxufVxuIl19
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90LWVkaXRhYmxlLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZG90LWVkaXRhYmxlLXRleHQvZG90LWVkaXRhYmxlLXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZG90LWVkaXRhYmxlLXRleHQvZG90LWVkaXRhYmxlLXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRy9FLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixjQUFjLEVBQ2QsbUJBQW1CLEVBQ3RCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGNBQWMsRUFBZ0MsTUFBTSxTQUFTLENBQUM7O0FBSXZFOzs7Ozs7OztHQVFHO0FBZ0JILE1BQU0sT0FBTyx3QkFBd0I7SUFmckM7UUFrQkk7Ozs7O1dBS0c7UUFDTSxTQUFJLEdBQWlCLE9BQU8sQ0FBQztRQUN0Qzs7Ozs7V0FLRztRQUNNLFdBQU0sR0FBbUIsTUFBTSxDQUFDO1FBUXpDOzs7O1dBSUc7UUFDTSxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXhCOzs7OztXQUtHO1FBQ08sWUFBTyxHQUFHLEVBQUUsQ0FBQztRQWtCZCxlQUFVLEdBQUcsTUFBTSxDQUFlLFlBQVksQ0FB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QUM7OEdBcE5RLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDhOQVR0QjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFVBQVUsRUFBRSxHQUFHLEVBQUU7b0JBQ2IsT0FBTyxHQUFHLFlBQVksQ0FBQyxTQUFTLCtCQUErQixDQUFDO2dCQUNwRSxDQUFDO2FBQ0o7U0FDSiwyRUFHVSxlQUFlLHFFQ3JEOUIscU5BUUEscUtEa0NjLGVBQWU7OzJGQVVoQix3QkFBd0I7a0JBZnBDLFNBQVM7K0JBQ0ksbUJBQW1CLGNBQ2pCLElBQUksV0FHUCxDQUFDLGVBQWUsQ0FBQyxhQUNmO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFVBQVUsRUFBRSxHQUFHLEVBQUU7Z0NBQ2IsT0FBTyxHQUFHLFlBQVksQ0FBQyxTQUFTLCtCQUErQixDQUFDOzRCQUNwRSxDQUFDO3lCQUNKO3FCQUNKOzhCQUcyQixlQUFlO3NCQUExQyxTQUFTO3VCQUFDLGVBQWU7Z0JBUWpCLElBQUk7c0JBQVosS0FBSztnQkFPRyxNQUFNO3NCQUFkLEtBQUs7Z0JBT0csVUFBVTtzQkFBbEIsS0FBSztnQkFNRyxTQUFTO3NCQUFqQixLQUFLO2dCQTBETixTQUFTO3NCQURSLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3JDb21wb25lbnQsIFRJTllNQ0VfU0NSSVBUX1NSQyB9IGZyb20gJ0B0aW55bWNlL3RpbnltY2UtYW5ndWxhcic7XG5pbXBvcnQgeyBFdmVudE9iaiB9IGZyb20gJ0B0aW55bWNlL3RpbnltY2UtYW5ndWxhci9lZGl0b3IvRXZlbnRzJztcblxuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlY3VyaXR5Q29udGV4dCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHtcbiAgICBDVVNUT01FUl9BQ1RJT05TLFxuICAgIERvdENtc0NsaWVudCxcbiAgICBpc0luc2lkZUVkaXRvcixcbiAgICBwb3N0TWVzc2FnZVRvRWRpdG9yXG59IGZyb20gJ0Bkb3RjbXMvY2xpZW50JztcblxuaW1wb3J0IHsgVElOWU1DRV9DT05GSUcsIFRJTllNQ0VfRk9STUFULCBUSU5ZTUNFX01PREUgfSBmcm9tICcuL3V0aWxzJztcblxuaW1wb3J0IHsgRG90Q01TQ29udGVudGxldCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbi8qKlxuICogRG90IGVkaXRhYmxlIHRleHQgY29tcG9uZW50LlxuICogVGhpcyBjb21wb25lbnQgaXMgcmVzcG9uc2libGUgdG8gcmVuZGVyIGEgdGV4dCBmaWVsZCB0aGF0IGNhbiBiZSBlZGl0ZWQgaW5saW5lLlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBEb3RFZGl0YWJsZVRleHRDb21wb25lbnRcbiAqIEBpbXBsZW1lbnRzIHtPbkluaXR9XG4gKiBAaW1wbGVtZW50cyB7T25DaGFuZ2VzfVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RvdC1lZGl0YWJsZS10ZXh0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kb3QtZWRpdGFibGUtdGV4dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2RvdC1lZGl0YWJsZS10ZXh0LmNvbXBvbmVudC5jc3MnLFxuICAgIGltcG9ydHM6IFtFZGl0b3JDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUSU5ZTUNFX1NDUklQVF9TUkMsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke0RvdENtc0NsaWVudC5kb3RjbXNVcmx9L2V4dC90aW55bWNldjcvdGlueW1jZS5taW4uanNgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEb3RFZGl0YWJsZVRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQFZpZXdDaGlsZChFZGl0b3JDb21wb25lbnQpIGVkaXRvckNvbXBvbmVudCE6IEVkaXRvckNvbXBvbmVudDtcblxuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIG1vZGUgb2YgdGhlIGVkaXRvciB3aGljaCBjYW4gYmUgYHBsYWluYCwgYG1pbmltYWxgLCBvciBgZnVsbGBcbiAgICAgKlxuICAgICAqIEB0eXBlIHtUSU5ZTUNFX01PREV9XG4gICAgICogQG1lbWJlcm9mIERvdEVkaXRhYmxlVGV4dENvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1vZGU6IFRJTllNQ0VfTU9ERSA9ICdwbGFpbic7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyB0aGUgZm9ybWF0IG9mIHRoZSBlZGl0b3Igd2hpY2ggY2FuIGJlIGB0ZXh0YCBvciBgaHRtbGBcbiAgICAgKlxuICAgICAqIEB0eXBlIHtUSU5ZTUNFX0ZPUk1BVH1cbiAgICAgKiBAbWVtYmVyb2YgRG90RWRpdGFibGVUZXh0Q29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KCkgZm9ybWF0OiBUSU5ZTUNFX0ZPUk1BVCA9ICd0ZXh0JztcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBgY29udGVudGxldGAgdGhhdCBjYW4gYmUgaW5saW5lIGVkaXRlZFxuICAgICAqXG4gICAgICogQHR5cGUge0RvdENNU0NvbnRlbnRsZXR9XG4gICAgICogQG1lbWJlcm9mIERvdEVkaXRhYmxlVGV4dENvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGNvbnRlbnRsZXQhOiBEb3RDTVNDb250ZW50bGV0O1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIGZpZWxkIG5hbWUgb2YgdGhlIGBjb250ZW50bGV0YCB0aGF0IGNhbiBiZSBlZGl0ZWRcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBEb3RFZGl0YWJsZVRleHRDb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBmaWVsZE5hbWUgPSAnJztcblxuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIGNvbnRlbnQgb2YgdGhlIGBjb250ZW50bGV0YCB0aGF0IGNhbiBiZSBlZGl0ZWRcbiAgICAgKlxuICAgICAqIEBwcm90ZWN0ZWRcbiAgICAgKiBAbWVtYmVyb2YgRG90RWRpdGFibGVUZXh0Q29tcG9uZW50XG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNvbnRlbnQgPSAnJztcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBlZGl0b3JcbiAgICAgKlxuICAgICAqIEBwcm90ZWN0ZWRcbiAgICAgKiBAdHlwZSB7RWRpdG9yQ29tcG9uZW50Wydpbml0J119XG4gICAgICogQG1lbWJlcm9mIERvdEVkaXRhYmxlVGV4dENvbXBvbmVudFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBpbml0ITogRWRpdG9yQ29tcG9uZW50Wydpbml0J107XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyBpZiB0aGUgY29tcG9uZW50IGlzIGluc2lkZSB0aGUgZWRpdG9yXG4gICAgICpcbiAgICAgKiBAcHJvdGVjdGVkXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICogQG1lbWJlcm9mIERvdEVkaXRhYmxlVGV4dENvbXBvbmVudFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBpc0luc2lkZUVkaXRvciE6IGJvb2xlYW47XG5cbiAgICByZWFkb25seSAjc2FuaXRpemVyID0gaW5qZWN0PERvbVNhbml0aXplcj4oRG9tU2FuaXRpemVyKTtcbiAgICByZWFkb25seSAjcmVuZGVyZXIgPSBpbmplY3Q8UmVuZGVyZXIyPihSZW5kZXJlcjIpO1xuICAgIHJlYWRvbmx5ICNlbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY+KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIFRpbnlNQ0UgZWRpdG9yXG4gICAgICpcbiAgICAgKiBAcmVhZG9ubHlcbiAgICAgKiBAbWVtYmVyb2YgRG90RWRpdGFibGVUZXh0Q29tcG9uZW50XG4gICAgICovXG4gICAgZ2V0IGVkaXRvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdG9yQ29tcG9uZW50LmVkaXRvcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgcGFnZXMgdGhlIGNvbnRlbnRsZXQgaXMgb25cbiAgICAgKlxuICAgICAqIEByZWFkb25seVxuICAgICAqIEBtZW1iZXJvZiBEb3RFZGl0YWJsZVRleHRDb21wb25lbnRcbiAgICAgKi9cbiAgICBnZXQgb25OdW1iZXJPZlBhZ2VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50bGV0Wydvbk51bWJlck9mUGFnZXMnXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgY29weSBjb250ZW50bGV0IGlubGluZSBlZGl0aW5nIHN1Y2Nlc3MgZXZlbnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7TWVzc2FnZUV2ZW50fSB7IGRhdGEgfVxuICAgICAqIEByZXR1cm4geyp9XG4gICAgICogQG1lbWJlcm9mIERvdEVkaXRhYmxlVGV4dENvbXBvbmVudFxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptZXNzYWdlJywgWyckZXZlbnQnXSlcbiAgICBvbk1lc3NhZ2UoeyBkYXRhIH06IE1lc3NhZ2VFdmVudCkge1xuICAgICAgICBjb25zdCB7IG5hbWUsIHBheWxvYWQgfSA9IGRhdGE7XG4gICAgICAgIGlmIChuYW1lICE9PSAnQ09QWV9DT05URU5UTEVUX0lOTElORV9FRElUSU5HX1NVQ0NFU1MnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IG9sZElub2RlLCBpbm9kZSB9ID0gcGF5bG9hZDtcbiAgICAgICAgY29uc3QgY3VycmVudElub2RlID0gdGhpcy5jb250ZW50bGV0Lmlub2RlO1xuXG4gICAgICAgIGlmIChjdXJyZW50SW5vZGUgPT09IG9sZElub2RlIHx8IGN1cnJlbnRJbm9kZSA9PT0gaW5vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yQ29tcG9uZW50LmVkaXRvci5mb2N1cygpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pc0luc2lkZUVkaXRvciA9IGlzSW5zaWRlRWRpdG9yKCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzSW5zaWRlRWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLmlubmVySFRNTFRvRWxlbWVudCgpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluaXQgPSB7XG4gICAgICAgICAgICAuLi5USU5ZTUNFX0NPTkZJR1t0aGlzLm1vZGVdLFxuICAgICAgICAgICAgYmFzZV91cmw6IGAke0RvdENtc0NsaWVudC5kb3RjbXNVcmx9L2V4dC90aW55bWNldjdgXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIHRoaXMuY29udGVudCA9IHRoaXMuY29udGVudGxldFt0aGlzLmZpZWxkTmFtZV0gfHwgJyc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGFuZGxlIG1vdXNlIGRvd24gZXZlbnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RXZlbnRPYmo8TW91c2VFdmVudD59IHsgZXZlbnQgfVxuICAgICAqIEByZXR1cm4geyp9XG4gICAgICogQG1lbWJlcm9mIERvdEVkaXRhYmxlVGV4dENvbXBvbmVudFxuICAgICAqL1xuICAgIG9uTW91c2VEb3duKHsgZXZlbnQgfTogRXZlbnRPYmo8TW91c2VFdmVudD4pIHtcbiAgICAgICAgaWYgKHRoaXMub25OdW1iZXJPZlBhZ2VzIDw9IDEgfHwgdGhpcy5lZGl0b3JDb21wb25lbnQuZWRpdG9yLmhhc0ZvY3VzKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgaW5vZGUsIGxhbmd1YWdlSWQ6IGxhbmd1YWdlIH0gPSB0aGlzLmNvbnRlbnRsZXQ7XG5cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHBvc3RNZXNzYWdlVG9FZGl0b3Ioe1xuICAgICAgICAgICAgICAgIGFjdGlvbjogQ1VTVE9NRVJfQUNUSU9OUy5DT1BZX0NPTlRFTlRMRVRfSU5MSU5FX0VESVRJTkcsXG4gICAgICAgICAgICAgICAgcGF5bG9hZDoge1xuICAgICAgICAgICAgICAgICAgICBkYXRhc2V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbm9kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGROYW1lOiB0aGlzLmZpZWxkTmFtZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gcG9zdCBtZXNzYWdlIHRvIGVkaXRvcjonLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogSGFuZGxlIGZvY3VzIG91dCBldmVudFxuICAgICAqXG4gICAgICogQHJldHVybiB7Kn1cbiAgICAgKiBAbWVtYmVyb2YgRG90RWRpdGFibGVUZXh0Q29tcG9uZW50XG4gICAgICovXG4gICAgb25Gb2N1c091dCgpIHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMuZWRpdG9yLmdldENvbnRlbnQoeyBmb3JtYXQ6IHRoaXMuZm9ybWF0IH0pO1xuXG4gICAgICAgIGlmICghdGhpcy5lZGl0b3IuaXNEaXJ0eSgpIHx8ICF0aGlzLmRpZENvbnRlbnRDaGFuZ2UoY29udGVudCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgaW5vZGUsIGxhbmd1YWdlSWQ6IGxhbmdJZCB9ID0gdGhpcy5jb250ZW50bGV0O1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBwb3N0TWVzc2FnZVRvRWRpdG9yKHtcbiAgICAgICAgICAgICAgICBhY3Rpb246IENVU1RPTUVSX0FDVElPTlMuVVBEQVRFX0NPTlRFTlRMRVRfSU5MSU5FX0VESVRJTkcsXG4gICAgICAgICAgICAgICAgcGF5bG9hZDoge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgICAgICAgICBkYXRhc2V0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbm9kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhbmdJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkTmFtZTogdGhpcy5maWVsZE5hbWVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHBvc3QgbWVzc2FnZSB0byBlZGl0b3I6JywgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogaW5uZXIgSFRNTCB0byBlbGVtZW50XG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBlZGl0ZWRDb250ZW50XG4gICAgICogQHJldHVybiB7Kn1cbiAgICAgKiBAbWVtYmVyb2YgRG90RWRpdGFibGVUZXh0Q29tcG9uZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBpbm5lckhUTUxUb0VsZW1lbnQoKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHNhZmVIdG1sID0gdGhpcy4jc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHRoaXMuY29udGVudCk7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLiNzYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LkhUTUwsIHNhZmVIdG1sKSB8fCAnJztcblxuICAgICAgICB0aGlzLiNyZW5kZXJlci5zZXRQcm9wZXJ0eShlbGVtZW50LCAnaW5uZXJIVE1MJywgY29udGVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIGNvbnRlbnQgaGFzIGNoYW5nZWRcbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGVkaXRlZENvbnRlbnRcbiAgICAgKiBAcmV0dXJuIHsqfVxuICAgICAqIEBtZW1iZXJvZiBEb3RFZGl0YWJsZVRleHRDb21wb25lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIGRpZENvbnRlbnRDaGFuZ2UoZWRpdGVkQ29udGVudDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnQgIT09IGVkaXRlZENvbnRlbnQ7XG4gICAgfVxufVxuIiwiQGlmIChpc0luc2lkZUVkaXRvcikge1xuICAgIDxlZGl0b3JcbiAgICAgICAgI3RpbnlFZGl0b3JcbiAgICAgICAgW2luaXRdPVwiaW5pdFwiXG4gICAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29udGVudFwiXG4gICAgICAgIChvbk1vdXNlRG93bik9XCJvbk1vdXNlRG93bigkZXZlbnQpXCJcbiAgICAgICAgKG9uRm9jdXNPdXQpPVwib25Gb2N1c091dCgpXCIgLz5cbn1cbiJdfQ==
|
|
@@ -9,15 +9,19 @@ export class NoComponent {
|
|
|
9
9
|
this.testId = 'no-component';
|
|
10
10
|
}
|
|
11
11
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: NoComponent, isStandalone: true, selector: "dotcms-no-component", inputs: { contentlet: "contentlet" }, host: { properties: { "attr.data-testid": "this.testId" } }, ngImport: i0, template: `
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: NoComponent, isStandalone: true, selector: "dotcms-no-component", inputs: { contentlet: "contentlet" }, host: { properties: { "attr.data-testid": "this.testId" } }, ngImport: i0, template: `
|
|
13
|
+
No Component for {{ contentlet.contentType }}
|
|
14
|
+
`, isInline: true, styles: [":host{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
13
15
|
}
|
|
14
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NoComponent, decorators: [{
|
|
15
17
|
type: Component,
|
|
16
|
-
args: [{ selector: 'dotcms-no-component', standalone: true, template: `
|
|
18
|
+
args: [{ selector: 'dotcms-no-component', standalone: true, template: `
|
|
19
|
+
No Component for {{ contentlet.contentType }}
|
|
20
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}\n"] }]
|
|
17
21
|
}], propDecorators: { contentlet: [{
|
|
18
22
|
type: Input
|
|
19
23
|
}], testId: [{
|
|
20
24
|
type: HostBinding,
|
|
21
25
|
args: ['attr.data-testid']
|
|
22
26
|
}] } });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tY29tcG9uZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL25vLWNvbXBvbmVudC9uby1jb21wb25lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJdkY7OztHQUdHO0FBVUgsTUFBTSxPQUFPLFdBQVc7SUFUeEI7UUFXcUMsV0FBTSxHQUFHLGNBQWMsQ0FBQztLQUM1RDs4R0FIWSxXQUFXO2tHQUFYLFdBQVcsa0xBTlY7O0tBRVQ7OzJGQUlRLFdBQVc7a0JBVHZCLFNBQVM7K0JBQ0kscUJBQXFCLGNBQ25CLElBQUksWUFDTjs7S0FFVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsVUFBVTtzQkFBbEIsS0FBSztnQkFDMkIsTUFBTTtzQkFBdEMsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRG90Q01TQ29udGVudGxldCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbi8qKlxuICogVGhpcyBpcyBwYXJ0IG9mIHRoZSBBbmd1bGFyIFNESy5cbiAqIFRoaXMgaXMgYSBjb21wb25lbnQgZm9yIHRoZSBgTm9Db21wb25lbnRDb21wb25lbnRgIGNvbXBvbmVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkb3RjbXMtbm8tY29tcG9uZW50JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIE5vIENvbXBvbmVudCBmb3Ige3sgY29udGVudGxldC5jb250ZW50VHlwZSB9fVxuICAgIGAsXG4gICAgc3R5bGVVcmw6ICcuL25vLWNvbXBvbmVudC5jb21wb25lbnQuY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOb0NvbXBvbmVudCB7XG4gICAgQElucHV0KCkgY29udGVudGxldCE6IERvdENNU0NvbnRlbnRsZXQ7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdGVzdGlkJykgdGVzdElkID0gJ25vLWNvbXBvbmVudCc7XG59XG4iXX0=
|
|
@@ -3,7 +3,7 @@ import { ChangeDetectionStrategy, Component, DestroyRef, Input, inject } from '@
|
|
|
3
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { ActivatedRoute } from '@angular/router';
|
|
5
5
|
import { filter } from 'rxjs/operators';
|
|
6
|
-
import { initEditor, isInsideEditor, updateNavigation } from '@dotcms/client';
|
|
6
|
+
import { DotCmsClient, initEditor, isInsideEditor, updateNavigation } from '@dotcms/client';
|
|
7
7
|
import { PageContextService } from '../../services/dotcms-context/page-context.service';
|
|
8
8
|
import { RowComponent } from '../row/row.component';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
@@ -16,12 +16,20 @@ import * as i0 from "@angular/core";
|
|
|
16
16
|
*/
|
|
17
17
|
export class DotcmsLayoutComponent {
|
|
18
18
|
constructor() {
|
|
19
|
+
/**
|
|
20
|
+
* The `pageAsset` property represents the DotCMS page asset.
|
|
21
|
+
*
|
|
22
|
+
* @type {(DotCMSPageAsset | null)}
|
|
23
|
+
* @memberof DotcmsLayoutComponent
|
|
24
|
+
* @required
|
|
25
|
+
*/
|
|
19
26
|
this.pageAsset = null;
|
|
20
27
|
this.route = inject(ActivatedRoute);
|
|
21
28
|
this.pageContextService = inject(PageContextService);
|
|
22
29
|
this.destroyRef$ = inject(DestroyRef);
|
|
23
30
|
}
|
|
24
31
|
ngOnInit() {
|
|
32
|
+
this.client = DotCmsClient.instance;
|
|
25
33
|
this.route.url
|
|
26
34
|
.pipe(takeUntilDestroyed(this.destroyRef$), filter(() => isInsideEditor()))
|
|
27
35
|
.subscribe((urlSegments) => {
|
|
@@ -29,6 +37,10 @@ export class DotcmsLayoutComponent {
|
|
|
29
37
|
initEditor({ pathname });
|
|
30
38
|
updateNavigation(pathname || '/');
|
|
31
39
|
});
|
|
40
|
+
if (!isInsideEditor() || !this.onReload) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
this.client.editor.on('changes', () => this.onReload());
|
|
32
44
|
}
|
|
33
45
|
ngOnChanges() {
|
|
34
46
|
//Each time the layout changes, we need to update the context
|
|
@@ -36,8 +48,11 @@ export class DotcmsLayoutComponent {
|
|
|
36
48
|
this.pageContextService.setContext(this.pageAsset, this.components);
|
|
37
49
|
}
|
|
38
50
|
}
|
|
51
|
+
ngOnDestroy() {
|
|
52
|
+
this.client.editor.off('changes');
|
|
53
|
+
}
|
|
39
54
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DotcmsLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: DotcmsLayoutComponent, isStandalone: true, selector: "dotcms-layout", inputs: { pageAsset: "pageAsset", components: "components" }, usesOnChanges: true, ngImport: i0, template: `
|
|
55
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: DotcmsLayoutComponent, isStandalone: true, selector: "dotcms-layout", inputs: { pageAsset: "pageAsset", components: "components", onReload: "onReload" }, usesOnChanges: true, ngImport: i0, template: `
|
|
41
56
|
@for (row of this.pageAsset?.layout?.body?.rows; track $index) {
|
|
42
57
|
<dotcms-row [row]="row" />
|
|
43
58
|
}
|
|
@@ -56,5 +71,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
56
71
|
}], components: [{
|
|
57
72
|
type: Input,
|
|
58
73
|
args: [{ required: true }]
|
|
74
|
+
}], onReload: [{
|
|
75
|
+
type: Input
|
|
59
76
|
}] } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90Y21zLWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9hbmd1bGFyL3NyYy9saWIvbGF5b3V0L2RvdGNtcy1sYXlvdXQvZG90Y21zLWxheW91dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJNUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVwRDs7Ozs7O0dBTUc7QUFhSCxNQUFNLE9BQU8scUJBQXFCO0lBWmxDO1FBYUk7Ozs7OztXQU1HO1FBQ3dCLGNBQVMsR0FBMkIsSUFBSSxDQUFDO1FBbUJuRCxVQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9CLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hELGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBbUNyRDtJQWhDRyxRQUFRO1FBQ0osSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBRXBDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRzthQUNULElBQUksQ0FDRCxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQ3BDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUNqQzthQUNBLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sUUFBUSxHQUFHLEdBQUcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTdDLFVBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDekIsZ0JBQWdCLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBRVAsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RDLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsV0FBVztRQUNQLDZEQUE2RDtRQUM3RCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEMsQ0FBQzs4R0EvRFEscUJBQXFCO2tHQUFyQixxQkFBcUIsa0xBUnBCOzs7O0tBSVQsZ0dBTFMsWUFBWTs7MkZBU2IscUJBQXFCO2tCQVpqQyxTQUFTOytCQUNJLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsWUFDYjs7OztLQUlULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQVVwQixTQUFTO3NCQUFuQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFTRSxVQUFVO3NCQUFwQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFRaEIsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBEb3RDbXNDbGllbnQsIGluaXRFZGl0b3IsIGlzSW5zaWRlRWRpdG9yLCB1cGRhdGVOYXZpZ2F0aW9uIH0gZnJvbSAnQGRvdGNtcy9jbGllbnQnO1xuXG5pbXBvcnQgeyBEeW5hbWljQ29tcG9uZW50RW50aXR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IERvdENNU1BhZ2VBc3NldCB9IGZyb20gJy4uLy4uL21vZGVscy9kb3RjbXMubW9kZWwnO1xuaW1wb3J0IHsgUGFnZUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZG90Y21zLWNvbnRleHQvcGFnZS1jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUm93Q29tcG9uZW50IH0gZnJvbSAnLi4vcm93L3Jvdy5jb21wb25lbnQnO1xuXG4vKipcbiAqIGBEb3RjbXNMYXlvdXRDb21wb25lbnRgIGlzIGEgY2xhc3MgdGhhdCByZXByZXNlbnRzIHRoZSBsYXlvdXQgZm9yIGEgRG90Q01TIHBhZ2UuXG4gKiAgSXQgaW5jbHVkZXMgYSBgcGFnZUFzc2V0YCBwcm9wZXJ0eSB0aGF0IHJlcHJlc2VudHMgdGhlIERvdENNUyBwYWdlIGFzc2V0IGFuZCBhIGBjb21wb25lbnRzYCBwcm9wZXJ0eSB0aGF0IHJlcHJlc2VudHMgdGhlIGR5bmFtaWMgY29tcG9uZW50cyBmb3IgdGhlIHBhZ2UuXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIERvdGNtc0xheW91dENvbXBvbmVudFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RvdGNtcy1sYXlvdXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1Jvd0NvbXBvbmVudF0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgQGZvciAocm93IG9mIHRoaXMucGFnZUFzc2V0Py5sYXlvdXQ/LmJvZHk/LnJvd3M7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGRvdGNtcy1yb3cgW3Jvd109XCJyb3dcIiAvPlxuICAgICAgICB9XG4gICAgYCxcbiAgICBzdHlsZVVybDogJy4vZG90Y21zLWxheW91dC5jb21wb25lbnQuY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEb3RjbXNMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIFRoZSBgcGFnZUFzc2V0YCBwcm9wZXJ0eSByZXByZXNlbnRzIHRoZSBEb3RDTVMgcGFnZSBhc3NldC5cbiAgICAgKlxuICAgICAqIEB0eXBlIHsoRG90Q01TUGFnZUFzc2V0IHwgbnVsbCl9XG4gICAgICogQG1lbWJlcm9mIERvdGNtc0xheW91dENvbXBvbmVudFxuICAgICAqIEByZXF1aXJlZFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHBhZ2VBc3NldDogRG90Q01TUGFnZUFzc2V0IHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYGNvbXBvbmVudHNgIHByb3BlcnR5IGlzIGEgcmVjb3JkIG9mIGR5bmFtaWMgY29tcG9uZW50cyBmb3IgZWFjaCBDb250ZW50bGV0IG9uIHRoZSBwYWdlLlxuICAgICAqXG4gICAgICogQHR5cGUge1JlY29yZDxzdHJpbmcsIER5bmFtaWNDb21wb25lbnRFbnRpdHk+fVxuICAgICAqIEBtZW1iZXJvZiBEb3RjbXNMYXlvdXRDb21wb25lbnRcbiAgICAgKiBAcmVxdWlyZWRcbiAgICAgKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb21wb25lbnRzITogUmVjb3JkPHN0cmluZywgRHluYW1pY0NvbXBvbmVudEVudGl0eT47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYG9uUmVsb2FkYCBwcm9wZXJ0eSBpcyBhIGZ1bmN0aW9uIHRoYXQgcmVsb2FkcyB0aGUgcGFnZSBhZnRlciBjaGFuZ2VzIGFyZSBtYWRlLlxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIERvdGNtc0xheW91dENvbXBvbmVudFxuICAgICAqIEBkZXByZWNhdGVkIEluIGZ1dHVyZSBpbXBsZW1lbnRhdGlvbiB3ZSB3aWxsIGJlIGxpc3RlbmluZyBmb3IgdGhlIGNoYW5nZXMgZnJvbSB0aGUgZWRpdG9yIHRvIHVwZGF0ZSB0aGUgcGFnZSBzdGF0ZSBzbyByZWxvYWQgd2lsbCBub3QgYmUgbmVlZGVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIG9uUmVsb2FkITogKCkgPT4gdm9pZDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnZUNvbnRleHRTZXJ2aWNlID0gaW5qZWN0KFBhZ2VDb250ZXh0U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmJCA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIGNsaWVudCE6IERvdENtc0NsaWVudDtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNsaWVudCA9IERvdENtc0NsaWVudC5pbnN0YW5jZTtcblxuICAgICAgICB0aGlzLnJvdXRlLnVybFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiQpLFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiBpc0luc2lkZUVkaXRvcigpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodXJsU2VnbWVudHMpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXRobmFtZSA9ICcvJyArIHVybFNlZ21lbnRzLmpvaW4oJy8nKTtcblxuICAgICAgICAgICAgICAgIGluaXRFZGl0b3IoeyBwYXRobmFtZSB9KTtcbiAgICAgICAgICAgICAgICB1cGRhdGVOYXZpZ2F0aW9uKHBhdGhuYW1lIHx8ICcvJyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIWlzSW5zaWRlRWRpdG9yKCkgfHwgIXRoaXMub25SZWxvYWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2xpZW50LmVkaXRvci5vbignY2hhbmdlcycsICgpID0+IHRoaXMub25SZWxvYWQoKSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIC8vRWFjaCB0aW1lIHRoZSBsYXlvdXQgY2hhbmdlcywgd2UgbmVlZCB0byB1cGRhdGUgdGhlIGNvbnRleHRcbiAgICAgICAgaWYgKHRoaXMucGFnZUFzc2V0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VDb250ZXh0U2VydmljZS5zZXRDb250ZXh0KHRoaXMucGFnZUFzc2V0LCB0aGlzLmNvbXBvbmVudHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY2xpZW50LmVkaXRvci5vZmYoJ2NoYW5nZXMnKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -3,17 +3,21 @@ import { ColumnComponent } from '../column/column.component';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class RowComponent {
|
|
5
5
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: RowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: RowComponent, isStandalone: true, selector: "dotcms-row", inputs: { row: "row" }, ngImport: i0, template:
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: RowComponent, isStandalone: true, selector: "dotcms-row", inputs: { row: "row" }, ngImport: i0, template: `
|
|
7
|
+
@for (column of row.columns; track $index) {
|
|
8
|
+
<dotcms-column [column]="column" />
|
|
9
|
+
}
|
|
10
|
+
`, isInline: true, styles: [":host{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;row-gap:1rem}\n"], dependencies: [{ kind: "component", type: ColumnComponent, selector: "dotcms-column", inputs: ["column"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9
11
|
}
|
|
10
12
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: RowComponent, decorators: [{
|
|
11
13
|
type: Component,
|
|
12
|
-
args: [{ selector: 'dotcms-row', standalone: true, imports: [ColumnComponent], template:
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
args: [{ selector: 'dotcms-row', standalone: true, imports: [ColumnComponent], template: `
|
|
15
|
+
@for (column of row.columns; track $index) {
|
|
16
|
+
<dotcms-column [column]="column" />
|
|
17
|
+
}
|
|
18
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;row-gap:1rem}\n"] }]
|
|
15
19
|
}], propDecorators: { row: [{
|
|
16
20
|
type: Input,
|
|
17
21
|
args: [{ required: true }]
|
|
18
22
|
}] } });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2FuZ3VsYXIvc3JjL2xpYi9sYXlvdXQvcm93L3Jvdy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQWM3RCxNQUFNLE9BQU8sWUFBWTs4R0FBWixZQUFZO2tHQUFaLFlBQVksOEZBUlg7Ozs7S0FJVCwwSkFMUyxlQUFlOzsyRkFTaEIsWUFBWTtrQkFaeEIsU0FBUzsrQkFDSSxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsZUFBZSxDQUFDLFlBQ2hCOzs7O0tBSVQsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU07OEJBR3BCLEdBQUc7c0JBQTdCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRG90UGFnZUFzc2V0TGF5b3V0Um93IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IENvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbHVtbi9jb2x1bW4uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkb3RjbXMtcm93JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb2x1bW5Db21wb25lbnRdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBmb3IgKGNvbHVtbiBvZiByb3cuY29sdW1uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8ZG90Y21zLWNvbHVtbiBbY29sdW1uXT1cImNvbHVtblwiIC8+XG4gICAgICAgIH1cbiAgICBgLFxuICAgIHN0eWxlVXJsOiAnLi9yb3cuY29tcG9uZW50LmNzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUm93Q29tcG9uZW50IHtcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSByb3chOiBEb3RQYWdlQXNzZXRMYXlvdXRSb3c7XG59XG4iXX0=
|
|
@@ -141,7 +141,7 @@ class DotEditableTextComponent {
|
|
|
141
141
|
}
|
|
142
142
|
this.init = {
|
|
143
143
|
...TINYMCE_CONFIG[this.mode],
|
|
144
|
-
base_url: `${DotCmsClient.dotcmsUrl}/
|
|
144
|
+
base_url: `${DotCmsClient.dotcmsUrl}/ext/tinymcev7`
|
|
145
145
|
};
|
|
146
146
|
}
|
|
147
147
|
ngOnChanges() {
|
|
@@ -236,7 +236,7 @@ class DotEditableTextComponent {
|
|
|
236
236
|
{
|
|
237
237
|
provide: TINYMCE_SCRIPT_SRC,
|
|
238
238
|
useFactory: () => {
|
|
239
|
-
return `${DotCmsClient.dotcmsUrl}/
|
|
239
|
+
return `${DotCmsClient.dotcmsUrl}/ext/tinymcev7/tinymce.min.js`;
|
|
240
240
|
}
|
|
241
241
|
}
|
|
242
242
|
], viewQueries: [{ propertyName: "editorComponent", first: true, predicate: EditorComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (isInsideEditor) {\n <editor\n #tinyEditor\n [init]=\"init\"\n [initialValue]=\"content\"\n (onMouseDown)=\"onMouseDown($event)\"\n (onFocusOut)=\"onFocusOut()\" />\n}\n", styles: [":host ::ng-deep .mce-content-body:not(.mce-edit-focus):hover{outline:2px solid #006ce7;border-radius:4px}\n"], dependencies: [{ kind: "component", type: EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }] }); }
|
|
@@ -247,7 +247,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
247
247
|
{
|
|
248
248
|
provide: TINYMCE_SCRIPT_SRC,
|
|
249
249
|
useFactory: () => {
|
|
250
|
-
return `${DotCmsClient.dotcmsUrl}/
|
|
250
|
+
return `${DotCmsClient.dotcmsUrl}/ext/tinymcev7/tinymce.min.js`;
|
|
251
251
|
}
|
|
252
252
|
}
|
|
253
253
|
], template: "@if (isInsideEditor) {\n <editor\n #tinyEditor\n [init]=\"init\"\n [initialValue]=\"content\"\n (onMouseDown)=\"onMouseDown($event)\"\n (onFocusOut)=\"onFocusOut()\" />\n}\n", styles: [":host ::ng-deep .mce-content-body:not(.mce-edit-focus):hover{outline:2px solid #006ce7;border-radius:4px}\n"] }]
|
|
@@ -365,11 +365,15 @@ class NoComponent {
|
|
|
365
365
|
this.testId = 'no-component';
|
|
366
366
|
}
|
|
367
367
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
368
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: NoComponent, isStandalone: true, selector: "dotcms-no-component", inputs: { contentlet: "contentlet" }, host: { properties: { "attr.data-testid": "this.testId" } }, ngImport: i0, template: `
|
|
368
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: NoComponent, isStandalone: true, selector: "dotcms-no-component", inputs: { contentlet: "contentlet" }, host: { properties: { "attr.data-testid": "this.testId" } }, ngImport: i0, template: `
|
|
369
|
+
No Component for {{ contentlet.contentType }}
|
|
370
|
+
`, isInline: true, styles: [":host{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
369
371
|
}
|
|
370
372
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NoComponent, decorators: [{
|
|
371
373
|
type: Component,
|
|
372
|
-
args: [{ selector: 'dotcms-no-component', standalone: true, template: `
|
|
374
|
+
args: [{ selector: 'dotcms-no-component', standalone: true, template: `
|
|
375
|
+
No Component for {{ contentlet.contentType }}
|
|
376
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}\n"] }]
|
|
373
377
|
}], propDecorators: { contentlet: [{
|
|
374
378
|
type: Input
|
|
375
379
|
}], testId: [{
|
|
@@ -542,15 +546,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
542
546
|
|
|
543
547
|
class RowComponent {
|
|
544
548
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: RowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
545
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: RowComponent, isStandalone: true, selector: "dotcms-row", inputs: { row: "row" }, ngImport: i0, template:
|
|
546
|
-
|
|
547
|
-
|
|
549
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: RowComponent, isStandalone: true, selector: "dotcms-row", inputs: { row: "row" }, ngImport: i0, template: `
|
|
550
|
+
@for (column of row.columns; track $index) {
|
|
551
|
+
<dotcms-column [column]="column" />
|
|
552
|
+
}
|
|
553
|
+
`, isInline: true, styles: [":host{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;row-gap:1rem}\n"], dependencies: [{ kind: "component", type: ColumnComponent, selector: "dotcms-column", inputs: ["column"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
548
554
|
}
|
|
549
555
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: RowComponent, decorators: [{
|
|
550
556
|
type: Component,
|
|
551
|
-
args: [{ selector: 'dotcms-row', standalone: true, imports: [ColumnComponent], template:
|
|
552
|
-
|
|
553
|
-
|
|
557
|
+
args: [{ selector: 'dotcms-row', standalone: true, imports: [ColumnComponent], template: `
|
|
558
|
+
@for (column of row.columns; track $index) {
|
|
559
|
+
<dotcms-column [column]="column" />
|
|
560
|
+
}
|
|
561
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;row-gap:1rem}\n"] }]
|
|
554
562
|
}], propDecorators: { row: [{
|
|
555
563
|
type: Input,
|
|
556
564
|
args: [{ required: true }]
|
|
@@ -566,12 +574,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
566
574
|
*/
|
|
567
575
|
class DotcmsLayoutComponent {
|
|
568
576
|
constructor() {
|
|
577
|
+
/**
|
|
578
|
+
* The `pageAsset` property represents the DotCMS page asset.
|
|
579
|
+
*
|
|
580
|
+
* @type {(DotCMSPageAsset | null)}
|
|
581
|
+
* @memberof DotcmsLayoutComponent
|
|
582
|
+
* @required
|
|
583
|
+
*/
|
|
569
584
|
this.pageAsset = null;
|
|
570
585
|
this.route = inject(ActivatedRoute);
|
|
571
586
|
this.pageContextService = inject(PageContextService);
|
|
572
587
|
this.destroyRef$ = inject(DestroyRef);
|
|
573
588
|
}
|
|
574
589
|
ngOnInit() {
|
|
590
|
+
this.client = DotCmsClient.instance;
|
|
575
591
|
this.route.url
|
|
576
592
|
.pipe(takeUntilDestroyed(this.destroyRef$), filter(() => isInsideEditor()))
|
|
577
593
|
.subscribe((urlSegments) => {
|
|
@@ -579,6 +595,10 @@ class DotcmsLayoutComponent {
|
|
|
579
595
|
initEditor({ pathname });
|
|
580
596
|
updateNavigation(pathname || '/');
|
|
581
597
|
});
|
|
598
|
+
if (!isInsideEditor() || !this.onReload) {
|
|
599
|
+
return;
|
|
600
|
+
}
|
|
601
|
+
this.client.editor.on('changes', () => this.onReload());
|
|
582
602
|
}
|
|
583
603
|
ngOnChanges() {
|
|
584
604
|
//Each time the layout changes, we need to update the context
|
|
@@ -586,8 +606,11 @@ class DotcmsLayoutComponent {
|
|
|
586
606
|
this.pageContextService.setContext(this.pageAsset, this.components);
|
|
587
607
|
}
|
|
588
608
|
}
|
|
609
|
+
ngOnDestroy() {
|
|
610
|
+
this.client.editor.off('changes');
|
|
611
|
+
}
|
|
589
612
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DotcmsLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
590
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: DotcmsLayoutComponent, isStandalone: true, selector: "dotcms-layout", inputs: { pageAsset: "pageAsset", components: "components" }, usesOnChanges: true, ngImport: i0, template: `
|
|
613
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: DotcmsLayoutComponent, isStandalone: true, selector: "dotcms-layout", inputs: { pageAsset: "pageAsset", components: "components", onReload: "onReload" }, usesOnChanges: true, ngImport: i0, template: `
|
|
591
614
|
@for (row of this.pageAsset?.layout?.body?.rows; track $index) {
|
|
592
615
|
<dotcms-row [row]="row" />
|
|
593
616
|
}
|
|
@@ -606,6 +629,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
606
629
|
}], components: [{
|
|
607
630
|
type: Input,
|
|
608
631
|
args: [{ required: true }]
|
|
632
|
+
}], onReload: [{
|
|
633
|
+
type: Input
|
|
609
634
|
}] } });
|
|
610
635
|
|
|
611
636
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dotcms-angular.mjs","sources":["../../../../../libs/sdk/angular/src/lib/components/dot-editable-text/utils.ts","../../../../../libs/sdk/angular/src/lib/components/dot-editable-text/dot-editable-text.component.ts","../../../../../libs/sdk/angular/src/lib/components/dot-editable-text/dot-editable-text.component.html","../../../../../libs/sdk/angular/src/lib/services/dotcms-context/page-context.service.ts","../../../../../libs/sdk/angular/src/lib/utils/index.ts","../../../../../libs/sdk/angular/src/lib/components/no-component/no-component.component.ts","../../../../../libs/sdk/angular/src/lib/layout/contentlet/contentlet.component.ts","../../../../../libs/sdk/angular/src/lib/layout/container/container.component.ts","../../../../../libs/sdk/angular/src/lib/layout/container/container.component.html","../../../../../libs/sdk/angular/src/lib/layout/column/column.component.ts","../../../../../libs/sdk/angular/src/lib/layout/row/row.component.ts","../../../../../libs/sdk/angular/src/lib/layout/dotcms-layout/dotcms-layout.component.ts","../../../../../libs/sdk/angular/src/lib/models/dotcms.model.ts","../../../../../libs/sdk/angular/src/lib/models/index.ts","../../../../../libs/sdk/angular/src/dotcms-angular.ts"],"sourcesContent":["import { EditorComponent } from '@tinymce/tinymce-angular';\n\nexport type TINYMCE_MODE = 'minimal' | 'full' | 'plain';\n\nexport type TINYMCE_FORMAT = 'html' | 'text';\n\nconst DEFAULT_TINYMCE_CONFIG: EditorComponent['init'] = {\n menubar: false,\n inline: true,\n valid_styles: {\n '*': 'font-size,font-family,color,text-decoration,text-align'\n },\n powerpaste_word_import: 'clean',\n powerpaste_html_import: 'clean',\n suffix: '.min', // Suffix to use when loading resources\n license_key: 'gpl'\n};\n\nexport const TINYMCE_CONFIG: {\n [key in TINYMCE_MODE]: EditorComponent['init'];\n} = {\n minimal: {\n ...DEFAULT_TINYMCE_CONFIG,\n plugins: 'link autolink',\n toolbar: 'bold italic underline | link',\n valid_elements: 'strong,em,span[style],a[href]'\n },\n full: {\n ...DEFAULT_TINYMCE_CONFIG,\n plugins: 'link lists autolink charmap',\n style_formats: [\n { title: 'Paragraph', format: 'p' },\n { title: 'Header 1', format: 'h1' },\n { title: 'Header 2', format: 'h2' },\n { title: 'Header 3', format: 'h3' },\n { title: 'Header 4', format: 'h4' },\n { title: 'Header 5', format: 'h5' },\n { title: 'Header 6', format: 'h6' },\n { title: 'Pre', format: 'pre' },\n { title: 'Code', format: 'code' }\n ],\n toolbar: [\n 'styleselect undo redo | bold italic underline | forecolor backcolor | alignleft aligncenter alignright alignfull | numlist bullist outdent indent | hr charmap removeformat | link'\n ]\n },\n plain: {\n ...DEFAULT_TINYMCE_CONFIG,\n plugins: '',\n toolbar: ''\n }\n};\n","import { EditorComponent, TINYMCE_SCRIPT_SRC } from '@tinymce/tinymce-angular';\nimport { EventObj } from '@tinymce/tinymce-angular/editor/Events';\n\nimport {\n Component,\n ElementRef,\n HostListener,\n inject,\n Input,\n OnChanges,\n OnInit,\n Renderer2,\n SecurityContext,\n ViewChild\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport {\n CUSTOMER_ACTIONS,\n DotCmsClient,\n isInsideEditor,\n postMessageToEditor\n} from '@dotcms/client';\n\nimport { TINYMCE_CONFIG, TINYMCE_FORMAT, TINYMCE_MODE } from './utils';\n\nimport { DotCMSContentlet } from '../../models';\n\n/**\n * Dot editable text component.\n * This component is responsible to render a text field that can be edited inline.\n *\n * @export\n * @class DotEditableTextComponent\n * @implements {OnInit}\n * @implements {OnChanges}\n */\n@Component({\n selector: 'dot-editable-text',\n standalone: true,\n templateUrl: './dot-editable-text.component.html',\n styleUrl: './dot-editable-text.component.css',\n imports: [EditorComponent],\n providers: [\n {\n provide: TINYMCE_SCRIPT_SRC,\n useFactory: () => {\n return `${DotCmsClient.dotcmsUrl}/html/js/tinymcev7/tinymce.min.js`;\n }\n }\n ]\n})\nexport class DotEditableTextComponent implements OnInit, OnChanges {\n @ViewChild(EditorComponent) editorComponent!: EditorComponent;\n\n /**\n * Represents the mode of the editor which can be `plain`, `minimal`, or `full`\n *\n * @type {TINYMCE_MODE}\n * @memberof DotEditableTextComponent\n */\n @Input() mode: TINYMCE_MODE = 'plain';\n /**\n * Represents the format of the editor which can be `text` or `html`\n *\n * @type {TINYMCE_FORMAT}\n * @memberof DotEditableTextComponent\n */\n @Input() format: TINYMCE_FORMAT = 'text';\n /**\n * Represents the `contentlet` that can be inline edited\n *\n * @type {DotCMSContentlet}\n * @memberof DotEditableTextComponent\n */\n @Input() contentlet!: DotCMSContentlet;\n /**\n * Represents the field name of the `contentlet` that can be edited\n *\n * @memberof DotEditableTextComponent\n */\n @Input() fieldName = '';\n\n /**\n * Represents the content of the `contentlet` that can be edited\n *\n * @protected\n * @memberof DotEditableTextComponent\n */\n protected content = '';\n /**\n * Represents the configuration of the editor\n *\n * @protected\n * @type {EditorComponent['init']}\n * @memberof DotEditableTextComponent\n */\n protected init!: EditorComponent['init'];\n /**\n * Represents if the component is inside the editor\n *\n * @protected\n * @type {boolean}\n * @memberof DotEditableTextComponent\n */\n protected isInsideEditor!: boolean;\n\n readonly #sanitizer = inject<DomSanitizer>(DomSanitizer);\n readonly #renderer = inject<Renderer2>(Renderer2);\n readonly #elementRef = inject<ElementRef>(ElementRef);\n\n /**\n * The TinyMCE editor\n *\n * @readonly\n * @memberof DotEditableTextComponent\n */\n get editor() {\n return this.editorComponent.editor;\n }\n\n /**\n * Returns the number of pages the contentlet is on\n *\n * @readonly\n * @memberof DotEditableTextComponent\n */\n get onNumberOfPages() {\n return this.contentlet['onNumberOfPages'];\n }\n\n /**\n * Handle copy contentlet inline editing success event\n *\n * @param {MessageEvent} { data }\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n @HostListener('window:message', ['$event'])\n onMessage({ data }: MessageEvent) {\n const { name, payload } = data;\n if (name !== 'COPY_CONTENTLET_INLINE_EDITING_SUCCESS') {\n return;\n }\n\n const { oldInode, inode } = payload;\n const currentInode = this.contentlet.inode;\n\n if (currentInode === oldInode || currentInode === inode) {\n this.editorComponent.editor.focus();\n\n return;\n }\n }\n\n ngOnInit() {\n this.isInsideEditor = isInsideEditor();\n\n if (!this.isInsideEditor) {\n this.innerHTMLToElement();\n\n return;\n }\n\n this.init = {\n ...TINYMCE_CONFIG[this.mode],\n base_url: `${DotCmsClient.dotcmsUrl}/html/js/tinymcev7`\n };\n }\n\n ngOnChanges() {\n this.content = this.contentlet[this.fieldName] || '';\n }\n\n /**\n * Handle mouse down event\n *\n * @param {EventObj<MouseEvent>} { event }\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n onMouseDown({ event }: EventObj<MouseEvent>) {\n if (this.onNumberOfPages <= 1 || this.editorComponent.editor.hasFocus()) {\n return;\n }\n\n const { inode, languageId: language } = this.contentlet;\n\n event.stopPropagation();\n event.preventDefault();\n\n try {\n postMessageToEditor({\n action: CUSTOMER_ACTIONS.COPY_CONTENTLET_INLINE_EDITING,\n payload: {\n dataset: {\n inode,\n language,\n fieldName: this.fieldName\n }\n }\n });\n } catch (error) {\n console.error('Failed to post message to editor:', error);\n }\n }\n /**\n * Handle focus out event\n *\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n onFocusOut() {\n const content = this.editor.getContent({ format: this.format });\n\n if (!this.editor.isDirty() || !this.didContentChange(content)) {\n return;\n }\n\n const { inode, languageId: langId } = this.contentlet;\n\n try {\n postMessageToEditor({\n action: CUSTOMER_ACTIONS.UPDATE_CONTENTLET_INLINE_EDITING,\n payload: {\n content,\n dataset: {\n inode,\n langId,\n fieldName: this.fieldName\n }\n }\n });\n } catch (error) {\n console.error('Failed to post message to editor:', error);\n }\n }\n\n /**\n * inner HTML to element\n *\n * @private\n * @param {string} editedContent\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n private innerHTMLToElement() {\n const element = this.#elementRef.nativeElement;\n const safeHtml = this.#sanitizer.bypassSecurityTrustHtml(this.content);\n const content = this.#sanitizer.sanitize(SecurityContext.HTML, safeHtml) || '';\n\n this.#renderer.setProperty(element, 'innerHTML', content);\n }\n\n /**\n * Check if the content has changed\n *\n * @private\n * @param {string} editedContent\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n private didContentChange(editedContent: string) {\n return this.content !== editedContent;\n }\n}\n","@if (isInsideEditor) {\n <editor\n #tinyEditor\n [init]=\"init\"\n [initialValue]=\"content\"\n (onMouseDown)=\"onMouseDown($event)\"\n (onFocusOut)=\"onFocusOut()\" />\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { Injectable } from '@angular/core';\n\nimport { isInsideEditor } from '@dotcms/client';\n\nimport { DotCMSPageComponent, DotCMSPageContext } from '../../models';\nimport { DotCMSPageAsset } from '../../models/dotcms.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PageContextService {\n private pageContext: DotCMSPageContext | null = null;\n\n get pageContextValue(): DotCMSPageContext {\n return this.pageContext as DotCMSPageContext;\n }\n\n /**\n * Set the context\n *\n * @protected\n * @param {DotCMSPageAsset} value\n * @memberof DotcmsContextService\n */\n setContext(pageAsset: DotCMSPageAsset, components: DotCMSPageComponent) {\n this.pageContext = {\n components,\n pageAsset,\n isInsideEditor: isInsideEditor()\n };\n }\n}\n","import { DotCMSContainer, DotCMSPageAssetContainer } from '../models/dotcms.model';\n\n//Changed the type, to avoid SQ issue.\n//This should be put inside a lib\nconst endClassMap: Record<number, string | null> = {\n 1: 'col-end-1',\n 2: 'col-end-2',\n 3: 'col-end-3',\n 4: 'col-end-4',\n 5: 'col-end-5',\n 6: 'col-end-6',\n 7: 'col-end-7',\n 8: 'col-end-8',\n 9: 'col-end-9',\n 10: 'col-end-10',\n 11: 'col-end-11',\n 12: 'col-end-12',\n 13: 'col-end-13'\n};\n\n//Changed the type, to avoid SQ issue.\n//This should be put inside a lib\nconst startClassMap: Record<number, string | null> = {\n 1: 'col-start-1',\n 2: 'col-start-2',\n 3: 'col-start-3',\n 4: 'col-start-4',\n 5: 'col-start-5',\n 6: 'col-start-6',\n 7: 'col-start-7',\n 8: 'col-start-8',\n 9: 'col-start-9',\n 10: 'col-start-10',\n 11: 'col-start-11',\n 12: 'col-start-12'\n};\n\nexport const getContainersData = (\n containers: DotCMSPageAssetContainer,\n containerRef: DotCMSContainer\n) => {\n const { identifier, uuid } = containerRef;\n\n const { containerStructures, container } = containers[identifier];\n\n const { variantId } = container?.parentPermissionable || {};\n\n const acceptTypes: string = containerStructures\n .map((structure) => structure.contentTypeVar)\n .join(',');\n\n const contentlets = containers[identifier].contentlets[`uuid-${uuid}`];\n\n return {\n ...containers[identifier].container,\n acceptTypes,\n contentlets,\n variantId\n };\n};\n\nexport const getPositionStyleClasses = (start: number, end: number) => {\n const startClass = startClassMap[start];\n const endClass = endClassMap[end];\n\n return {\n startClass,\n endClass\n };\n};\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { DotCMSContentlet } from '../../models';\n\n/**\n * This is part of the Angular SDK.\n * This is a component for the `NoComponentComponent` component.\n */\n@Component({\n selector: 'dotcms-no-component',\n standalone: true,\n template: `No Component for {{ contentlet.contentType }}`,\n styleUrl: './no-component.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NoComponent {\n @Input() contentlet!: DotCMSContentlet;\n @HostBinding('attr.data-testid') testId = 'no-component';\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges } from '@angular/core';\n\nimport { DotCMSContentlet } from '../../models';\n\n@Component({\n selector: 'dotcms-contentlet-wrapper',\n standalone: true,\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContentletComponent implements OnChanges {\n @Input({ required: true }) contentlet!: DotCMSContentlet;\n @Input() container!: string;\n\n @HostBinding('attr.data-dot-identifier') identifier: string | null = null;\n @HostBinding('attr.data-dot-basetype') baseType: string | null = null;\n @HostBinding('attr.data-dot-title') title: string | null = null;\n @HostBinding('attr.data-dot-inode') inode: string | null = null;\n @HostBinding('attr.data-dot-type') dotType: string | null = null;\n @HostBinding('attr.data-dot-container') dotContainer: string | null = null;\n @HostBinding('attr.data-dot-on-number-of-pages') numberOfPages: string | null = null;\n @HostBinding('attr.data-dot-object') dotContent: string | null = null;\n\n ngOnChanges() {\n this.identifier = this.contentlet.identifier;\n this.baseType = this.contentlet.baseType;\n this.title = this.contentlet.title;\n this.inode = this.contentlet.inode;\n this.dotType = this.contentlet.contentType;\n this.dotContainer = this.container;\n this.numberOfPages = this.contentlet['onNumberOfPages'];\n this.dotContent = 'contentlet';\n }\n}\n","import { AsyncPipe, NgComponentOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n OnChanges,\n computed,\n inject,\n signal\n} from '@angular/core';\n\nimport { NoComponent } from '../../components/no-component/no-component.component';\nimport { DynamicComponentEntity } from '../../models';\nimport { DotCMSContainer, DotCMSContentlet } from '../../models/dotcms.model';\nimport { PageContextService } from '../../services/dotcms-context/page-context.service';\nimport { getContainersData } from '../../utils';\nimport { ContentletComponent } from '../contentlet/contentlet.component';\n\ninterface DotContainer {\n acceptTypes: string;\n identifier: string;\n maxContentlets: number;\n uuid: string;\n variantId?: string;\n}\n\n@Component({\n selector: 'dotcms-container',\n standalone: true,\n imports: [AsyncPipe, NgComponentOutlet, NoComponent, ContentletComponent],\n templateUrl: './container.component.html',\n styleUrl: './container.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContainerComponent implements OnChanges {\n @Input({ required: true }) container!: DotCMSContainer;\n\n private readonly pageContextService: PageContextService = inject(PageContextService);\n protected readonly NoComponent = NoComponent;\n protected readonly $isInsideEditor = signal<boolean>(false);\n\n protected componentsMap!: Record<string, DynamicComponentEntity>;\n protected $contentlets = signal<DotCMSContentlet[]>([]);\n protected $dotContainer = signal<DotContainer | null>(null);\n protected $dotContainerAsString = computed(() => JSON.stringify(this.$dotContainer()));\n\n @HostBinding('attr.data-dot-accept-types') acceptTypes: string | null = null;\n @HostBinding('attr.data-dot-identifier') identifier: string | null = null;\n @HostBinding('attr.data-max-contentlets') maxContentlets: number | null = null;\n @HostBinding('attr.data-dot-uuid') uuid: string | null = null;\n @HostBinding('class') class: string | null = null;\n @HostBinding('attr.data-dot-object') dotObject: string | null = null;\n @HostBinding('attr.data-testid') testId = 'dot-container';\n\n ngOnChanges() {\n const {\n pageAsset: { containers },\n components,\n isInsideEditor\n } = this.pageContextService.pageContextValue;\n const { acceptTypes, maxContentlets, variantId, path, contentlets } = getContainersData(\n containers,\n this.container\n );\n const { identifier, uuid } = this.container;\n\n this.componentsMap = components;\n\n this.$isInsideEditor.set(isInsideEditor);\n this.$contentlets.set(contentlets);\n this.$dotContainer.set({\n identifier: path ?? identifier,\n acceptTypes,\n maxContentlets,\n variantId,\n uuid\n });\n\n if (this.$isInsideEditor()) {\n this.acceptTypes = acceptTypes;\n this.identifier = identifier;\n this.maxContentlets = maxContentlets;\n this.uuid = uuid;\n this.class = this.$contentlets().length ? null : 'empty-container';\n this.dotObject = 'container';\n }\n }\n}\n","@if ($isInsideEditor()) {\n @if ($contentlets().length) {\n @for (contentlet of $contentlets(); track $index) {\n <dotcms-contentlet-wrapper\n [contentlet]=\"contentlet\"\n [container]=\"$dotContainerAsString()\">\n <ng-container\n *ngComponentOutlet=\"\n (componentsMap[contentlet.contentType] || componentsMap['CustomNoComponent']\n | async) || NoComponent;\n inputs: { contentlet }\n \" />\n </dotcms-contentlet-wrapper>\n }\n } @else {\n This container is empty.\n }\n} @else {\n @for (contentlet of $contentlets(); track $index) {\n <ng-container\n *ngComponentOutlet=\"\n componentsMap[contentlet.contentType] | async;\n inputs: { contentlet }\n \" />\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\n\nimport { DotPageAssetLayoutColumn } from '../../models';\nimport { getPositionStyleClasses } from '../../utils';\nimport { ContainerComponent } from '../container/container.component';\n\n@Component({\n selector: 'dotcms-column',\n standalone: true,\n imports: [ContainerComponent],\n template: `\n @for (container of column.containers; track $index) {\n <dotcms-container [container]=\"container\" />\n }\n `,\n styleUrl: './column.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ColumnComponent implements OnInit {\n @Input() column!: DotPageAssetLayoutColumn;\n @HostBinding('class') containerClasses = '';\n\n ngOnInit() {\n const { startClass, endClass } = getPositionStyleClasses(\n this.column.leftOffset,\n this.column.width + this.column.leftOffset\n );\n this.containerClasses = `${startClass} ${endClass}`;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { DotPageAssetLayoutRow } from '../../models';\nimport { ColumnComponent } from '../column/column.component';\n\n@Component({\n selector: 'dotcms-row',\n standalone: true,\n imports: [ColumnComponent],\n template: `@for (column of row.columns; track $index) {\n <dotcms-column [column]=\"column\" />\n }`,\n styleUrl: './row.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RowComponent {\n @Input({ required: true }) row!: DotPageAssetLayoutRow;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Input,\n OnInit,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { filter } from 'rxjs/operators';\n\nimport { initEditor, isInsideEditor, updateNavigation } from '@dotcms/client';\n\nimport { DynamicComponentEntity } from '../../models';\nimport { DotCMSPageAsset } from '../../models/dotcms.model';\nimport { PageContextService } from '../../services/dotcms-context/page-context.service';\nimport { RowComponent } from '../row/row.component';\n\n/**\n * `DotcmsLayoutComponent` is a class that represents the layout for a DotCMS page.\n * It includes a `pageAsset` property that represents the DotCMS page asset and a `components` property that represents the dynamic components for the page.\n *\n * @export\n * @class DotcmsLayoutComponent\n */\n@Component({\n selector: 'dotcms-layout',\n standalone: true,\n imports: [RowComponent],\n template: `\n @for (row of this.pageAsset?.layout?.body?.rows; track $index) {\n <dotcms-row [row]=\"row\" />\n }\n `,\n styleUrl: './dotcms-layout.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DotcmsLayoutComponent implements OnInit {\n @Input({ required: true }) pageAsset: DotCMSPageAsset | null = null;\n @Input({ required: true }) components!: Record<string, DynamicComponentEntity>;\n\n private readonly route = inject(ActivatedRoute);\n private readonly pageContextService = inject(PageContextService);\n private readonly destroyRef$ = inject(DestroyRef);\n\n ngOnInit() {\n this.route.url\n .pipe(\n takeUntilDestroyed(this.destroyRef$),\n filter(() => isInsideEditor())\n )\n .subscribe((urlSegments) => {\n const pathname = '/' + urlSegments.join('/');\n\n initEditor({ pathname });\n updateNavigation(pathname || '/');\n });\n }\n\n ngOnChanges() {\n //Each time the layout changes, we need to update the context\n if (this.pageAsset !== null) {\n this.pageContextService.setContext(this.pageAsset, this.components);\n }\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport interface DotCMSPageAsset {\n canCreateTemplate: boolean;\n containers: DotCMSPageAssetContainer;\n layout: DotCMSLayout;\n page: DotCMSPage;\n site: DotCMSSite;\n template: DotCMSTemplate;\n viewAs: DotCMSViewAs;\n vanityUrl?: {\n pattern: string;\n vanityUrlId: string;\n url: string;\n siteId: string;\n languageId: number;\n forwardTo: string;\n response: number;\n order: number;\n temporaryRedirect: boolean;\n permanentRedirect: boolean;\n forward: boolean;\n };\n}\n\nexport interface DotPageAssetLayoutRow {\n identifier: number;\n value?: string;\n id?: string;\n columns: DotPageAssetLayoutColumn[];\n styleClass?: string;\n}\n\nexport interface DotPageAssetLayoutColumn {\n preview: boolean;\n containers: DotCMSContainer[];\n widthPercent: number;\n width: number;\n leftOffset: number;\n left: number;\n styleClass?: string;\n}\n\nexport interface DotCMSPageAssetContainer {\n [key: string]: {\n container: DotCMSContainer;\n containerStructures: DotCMSContainerStructure[];\n contentlets: {\n [key: string]: DotCMSContentlet[];\n };\n };\n}\n\nexport interface DotCMSContainer {\n identifier: string;\n uuid: string;\n iDate: number;\n type: string;\n owner?: string;\n inode: string;\n source: string;\n title: string;\n friendlyName: string;\n modDate: number;\n modUser: string;\n sortOrder: number;\n showOnMenu: boolean;\n code?: string;\n maxContentlets: number;\n useDiv: boolean;\n sortContentletsBy?: string;\n preLoop: string;\n postLoop: string;\n staticify: boolean;\n luceneQuery?: string;\n notes: string;\n languageId?: number;\n path?: string;\n live: boolean;\n locked: boolean;\n working: boolean;\n deleted: boolean;\n name: string;\n archived: boolean;\n permissionId: string;\n versionId: string;\n versionType: string;\n permissionType: string;\n categoryId: string;\n idate: number;\n new: boolean;\n acceptTypes: string;\n contentlets: DotCMSContentlet[];\n parentPermissionable: DotCMSSiteParentPermissionable;\n}\n\nexport interface DotCMSContentlet {\n archived: boolean;\n baseType: string;\n deleted?: boolean;\n binary?: string;\n binaryContentAsset?: string;\n binaryVersion?: string;\n contentType: string;\n file?: string;\n folder: string;\n hasLiveVersion?: boolean;\n hasTitleImage: boolean;\n host: string;\n hostName: string;\n identifier: string;\n inode: string;\n image?: string;\n languageId: number;\n language?: string;\n live: boolean;\n locked: boolean;\n mimeType?: string;\n modDate: string;\n modUser: string;\n modUserName: string;\n owner: string;\n sortOrder: number;\n stInode: string;\n title: string;\n titleImage: string;\n text?: string;\n url: string;\n working: boolean;\n body?: string;\n contentTypeIcon?: string;\n variant?: string;\n __icon__?: string;\n [key: string]: any; // This is a catch-all for any other custom properties that might be on the contentlet.\n}\n\nexport interface DotcmsNavigationItem {\n code?: any;\n folder: string;\n children?: DotcmsNavigationItem[];\n host: string;\n languageId: number;\n href: string;\n title: string;\n type: string;\n hash: number;\n target: string;\n order: number;\n}\n\ninterface DotCMSTemplate {\n iDate: number;\n type: string;\n owner: string;\n inode: string;\n identifier: string;\n source: string;\n title: string;\n friendlyName: string;\n modDate: number;\n modUser: string;\n sortOrder: number;\n showOnMenu: boolean;\n image: string;\n drawed: boolean;\n drawedBody: string;\n theme: string;\n anonymous: boolean;\n template: boolean;\n name: string;\n live: boolean;\n archived: boolean;\n locked: boolean;\n working: boolean;\n permissionId: string;\n versionId: string;\n versionType: string;\n deleted: boolean;\n permissionType: string;\n categoryId: string;\n idate: number;\n new: boolean;\n canEdit: boolean;\n}\n\ninterface DotCMSPage {\n template: string;\n modDate: number;\n metadata: string;\n cachettl: string;\n pageURI: string;\n title: string;\n type: string;\n showOnMenu: string;\n httpsRequired: boolean;\n inode: string;\n disabledWYSIWYG: any[];\n seokeywords: string;\n host: string;\n lastReview: number;\n working: boolean;\n locked: boolean;\n stInode: string;\n friendlyName: string;\n live: boolean;\n owner: string;\n identifier: string;\n nullProperties: any[];\n friendlyname: string;\n pagemetadata: string;\n languageId: number;\n url: string;\n seodescription: string;\n modUserName: string;\n folder: string;\n deleted: boolean;\n sortOrder: number;\n modUser: string;\n pageUrl: string;\n workingInode: string;\n shortyWorking: string;\n canEdit: boolean;\n canRead: boolean;\n canLock: boolean;\n lockedOn: number;\n lockedBy: string;\n lockedByName: string;\n liveInode: string;\n shortyLive: string;\n}\n\ninterface DotCMSViewAs {\n language: {\n id: number;\n languageCode: string;\n countryCode: string;\n language: string;\n country: string;\n };\n mode: string;\n}\n\ninterface DotCMSLayout {\n pageWidth: string;\n width: string;\n layout: string;\n title: string;\n header: boolean;\n footer: boolean;\n body: DotPageAssetLayoutBody;\n sidebar: DotPageAssetLayoutSidebar;\n}\n\ninterface DotCMSContainerStructure {\n id: string;\n structureId: string;\n containerInode: string;\n containerId: string;\n code: string;\n contentTypeVar: string;\n}\n\ninterface DotPageAssetLayoutSidebar {\n preview: boolean;\n containers: DotCMSContainer[];\n location: string;\n widthPercent: number;\n width: string;\n}\n\ninterface DotPageAssetLayoutBody {\n rows: DotPageAssetLayoutRow[];\n}\n\ninterface DotCMSSite {\n lowIndexPriority: boolean;\n name: string;\n default: boolean;\n aliases: string;\n parent: boolean;\n tagStorage: string;\n systemHost: boolean;\n inode: string;\n versionType: string;\n structureInode: string;\n hostname: string;\n hostThumbnail?: any;\n owner: string;\n permissionId: string;\n permissionType: string;\n type: string;\n identifier: string;\n modDate: number;\n host: string;\n live: boolean;\n indexPolicy: string;\n categoryId: string;\n actionId?: any;\n new: boolean;\n archived: boolean;\n locked: boolean;\n disabledWysiwyg: any[];\n modUser: string;\n working: boolean;\n titleImage: {\n present: boolean;\n };\n folder: string;\n htmlpage: boolean;\n fileAsset: boolean;\n vanityUrl: boolean;\n keyValue: boolean;\n structure?: DotCMSSiteStructure;\n title: string;\n languageId: number;\n indexPolicyDependencies: string;\n contentTypeId: string;\n versionId: string;\n lastReview: number;\n nextReview?: any;\n reviewInterval?: any;\n sortOrder: number;\n contentType: DotCMSSiteContentType;\n}\n\ninterface DotCMSSiteContentType {\n owner?: any;\n parentPermissionable: DotCMSSiteParentPermissionable;\n permissionId: string;\n permissionType: string;\n}\n\nexport interface DotCMSSiteParentPermissionable {\n Inode: string;\n Identifier: string;\n permissionByIdentifier: boolean;\n type: string;\n owner?: any;\n identifier: string;\n permissionId: string;\n parentPermissionable?: any;\n permissionType: string;\n inode: string;\n childrenPermissionable?: any;\n variantId?: string;\n}\n\ninterface DotCMSSiteStructure {\n iDate: number;\n type: string;\n owner?: any;\n inode: string;\n identifier: string;\n name: string;\n description: string;\n defaultStructure: boolean;\n reviewInterval?: any;\n reviewerRole?: any;\n pagedetail?: any;\n structureType: number;\n fixed: boolean;\n system: boolean;\n velocityVarName: string;\n urlMapPattern?: any;\n host: string;\n folder: string;\n publishDateVar?: any;\n expireDateVar?: any;\n modDate: number;\n fields: DotCMSSiteField[];\n widget: boolean;\n detailPage?: any;\n fieldsBySortOrder: DotCMSSiteField[];\n form: boolean;\n htmlpageAsset: boolean;\n content: boolean;\n fileAsset: boolean;\n persona: boolean;\n permissionId: string;\n permissionType: string;\n live: boolean;\n categoryId: string;\n idate: number;\n new: boolean;\n archived: boolean;\n locked: boolean;\n modUser: string;\n working: boolean;\n title: string;\n versionId: string;\n versionType: string;\n}\n\ninterface DotCMSSiteField {\n iDate: number;\n type: string;\n owner?: any;\n inode: string;\n identifier: string;\n structureInode: string;\n fieldName: string;\n fieldType: string;\n fieldRelationType?: any;\n fieldContentlet: string;\n required: boolean;\n velocityVarName: string;\n sortOrder: number;\n values?: any;\n regexCheck?: any;\n hint?: any;\n defaultValue?: any;\n indexed: boolean;\n listed: boolean;\n fixed: boolean;\n readOnly: boolean;\n searchable: boolean;\n unique: boolean;\n modDate: number;\n dataType: string;\n live: boolean;\n categoryId: string;\n idate: number;\n new: boolean;\n archived: boolean;\n locked: boolean;\n modUser: string;\n working: boolean;\n permissionId: string;\n parentPermissionable?: any;\n permissionType: string;\n title: string;\n versionId: string;\n versionType: string;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nexport * from './dotcms.model';\n\nimport { Type } from '@angular/core';\n\nimport { DotCMSPageAsset } from './dotcms.model';\n\nexport type DynamicComponentEntity = Promise<Type<any>>;\n\nexport interface DotCMSPageContext {\n pageAsset: DotCMSPageAsset;\n components: DotCMSPageComponent;\n isInsideEditor: boolean;\n}\n\nexport type DotCMSPageComponent = Record<string, DynamicComponentEntity>;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dotcms-angular.mjs","sources":["../../../../../libs/sdk/angular/src/lib/components/dot-editable-text/utils.ts","../../../../../libs/sdk/angular/src/lib/components/dot-editable-text/dot-editable-text.component.ts","../../../../../libs/sdk/angular/src/lib/components/dot-editable-text/dot-editable-text.component.html","../../../../../libs/sdk/angular/src/lib/services/dotcms-context/page-context.service.ts","../../../../../libs/sdk/angular/src/lib/utils/index.ts","../../../../../libs/sdk/angular/src/lib/components/no-component/no-component.component.ts","../../../../../libs/sdk/angular/src/lib/layout/contentlet/contentlet.component.ts","../../../../../libs/sdk/angular/src/lib/layout/container/container.component.ts","../../../../../libs/sdk/angular/src/lib/layout/container/container.component.html","../../../../../libs/sdk/angular/src/lib/layout/column/column.component.ts","../../../../../libs/sdk/angular/src/lib/layout/row/row.component.ts","../../../../../libs/sdk/angular/src/lib/layout/dotcms-layout/dotcms-layout.component.ts","../../../../../libs/sdk/angular/src/lib/models/dotcms.model.ts","../../../../../libs/sdk/angular/src/lib/models/index.ts","../../../../../libs/sdk/angular/src/dotcms-angular.ts"],"sourcesContent":["import { EditorComponent } from '@tinymce/tinymce-angular';\n\nexport type TINYMCE_MODE = 'minimal' | 'full' | 'plain';\n\nexport type TINYMCE_FORMAT = 'html' | 'text';\n\nconst DEFAULT_TINYMCE_CONFIG: EditorComponent['init'] = {\n menubar: false,\n inline: true,\n valid_styles: {\n '*': 'font-size,font-family,color,text-decoration,text-align'\n },\n powerpaste_word_import: 'clean',\n powerpaste_html_import: 'clean',\n suffix: '.min', // Suffix to use when loading resources\n license_key: 'gpl'\n};\n\nexport const TINYMCE_CONFIG: {\n [key in TINYMCE_MODE]: EditorComponent['init'];\n} = {\n minimal: {\n ...DEFAULT_TINYMCE_CONFIG,\n plugins: 'link autolink',\n toolbar: 'bold italic underline | link',\n valid_elements: 'strong,em,span[style],a[href]'\n },\n full: {\n ...DEFAULT_TINYMCE_CONFIG,\n plugins: 'link lists autolink charmap',\n style_formats: [\n { title: 'Paragraph', format: 'p' },\n { title: 'Header 1', format: 'h1' },\n { title: 'Header 2', format: 'h2' },\n { title: 'Header 3', format: 'h3' },\n { title: 'Header 4', format: 'h4' },\n { title: 'Header 5', format: 'h5' },\n { title: 'Header 6', format: 'h6' },\n { title: 'Pre', format: 'pre' },\n { title: 'Code', format: 'code' }\n ],\n toolbar: [\n 'styleselect undo redo | bold italic underline | forecolor backcolor | alignleft aligncenter alignright alignfull | numlist bullist outdent indent | hr charmap removeformat | link'\n ]\n },\n plain: {\n ...DEFAULT_TINYMCE_CONFIG,\n plugins: '',\n toolbar: ''\n }\n};\n","import { EditorComponent, TINYMCE_SCRIPT_SRC } from '@tinymce/tinymce-angular';\nimport { EventObj } from '@tinymce/tinymce-angular/editor/Events';\n\nimport {\n Component,\n ElementRef,\n HostListener,\n inject,\n Input,\n OnChanges,\n OnInit,\n Renderer2,\n SecurityContext,\n ViewChild\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport {\n CUSTOMER_ACTIONS,\n DotCmsClient,\n isInsideEditor,\n postMessageToEditor\n} from '@dotcms/client';\n\nimport { TINYMCE_CONFIG, TINYMCE_FORMAT, TINYMCE_MODE } from './utils';\n\nimport { DotCMSContentlet } from '../../models';\n\n/**\n * Dot editable text component.\n * This component is responsible to render a text field that can be edited inline.\n *\n * @export\n * @class DotEditableTextComponent\n * @implements {OnInit}\n * @implements {OnChanges}\n */\n@Component({\n selector: 'dot-editable-text',\n standalone: true,\n templateUrl: './dot-editable-text.component.html',\n styleUrl: './dot-editable-text.component.css',\n imports: [EditorComponent],\n providers: [\n {\n provide: TINYMCE_SCRIPT_SRC,\n useFactory: () => {\n return `${DotCmsClient.dotcmsUrl}/ext/tinymcev7/tinymce.min.js`;\n }\n }\n ]\n})\nexport class DotEditableTextComponent implements OnInit, OnChanges {\n @ViewChild(EditorComponent) editorComponent!: EditorComponent;\n\n /**\n * Represents the mode of the editor which can be `plain`, `minimal`, or `full`\n *\n * @type {TINYMCE_MODE}\n * @memberof DotEditableTextComponent\n */\n @Input() mode: TINYMCE_MODE = 'plain';\n /**\n * Represents the format of the editor which can be `text` or `html`\n *\n * @type {TINYMCE_FORMAT}\n * @memberof DotEditableTextComponent\n */\n @Input() format: TINYMCE_FORMAT = 'text';\n /**\n * Represents the `contentlet` that can be inline edited\n *\n * @type {DotCMSContentlet}\n * @memberof DotEditableTextComponent\n */\n @Input() contentlet!: DotCMSContentlet;\n /**\n * Represents the field name of the `contentlet` that can be edited\n *\n * @memberof DotEditableTextComponent\n */\n @Input() fieldName = '';\n\n /**\n * Represents the content of the `contentlet` that can be edited\n *\n * @protected\n * @memberof DotEditableTextComponent\n */\n protected content = '';\n /**\n * Represents the configuration of the editor\n *\n * @protected\n * @type {EditorComponent['init']}\n * @memberof DotEditableTextComponent\n */\n protected init!: EditorComponent['init'];\n /**\n * Represents if the component is inside the editor\n *\n * @protected\n * @type {boolean}\n * @memberof DotEditableTextComponent\n */\n protected isInsideEditor!: boolean;\n\n readonly #sanitizer = inject<DomSanitizer>(DomSanitizer);\n readonly #renderer = inject<Renderer2>(Renderer2);\n readonly #elementRef = inject<ElementRef>(ElementRef);\n\n /**\n * The TinyMCE editor\n *\n * @readonly\n * @memberof DotEditableTextComponent\n */\n get editor() {\n return this.editorComponent.editor;\n }\n\n /**\n * Returns the number of pages the contentlet is on\n *\n * @readonly\n * @memberof DotEditableTextComponent\n */\n get onNumberOfPages() {\n return this.contentlet['onNumberOfPages'];\n }\n\n /**\n * Handle copy contentlet inline editing success event\n *\n * @param {MessageEvent} { data }\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n @HostListener('window:message', ['$event'])\n onMessage({ data }: MessageEvent) {\n const { name, payload } = data;\n if (name !== 'COPY_CONTENTLET_INLINE_EDITING_SUCCESS') {\n return;\n }\n\n const { oldInode, inode } = payload;\n const currentInode = this.contentlet.inode;\n\n if (currentInode === oldInode || currentInode === inode) {\n this.editorComponent.editor.focus();\n\n return;\n }\n }\n\n ngOnInit() {\n this.isInsideEditor = isInsideEditor();\n\n if (!this.isInsideEditor) {\n this.innerHTMLToElement();\n\n return;\n }\n\n this.init = {\n ...TINYMCE_CONFIG[this.mode],\n base_url: `${DotCmsClient.dotcmsUrl}/ext/tinymcev7`\n };\n }\n\n ngOnChanges() {\n this.content = this.contentlet[this.fieldName] || '';\n }\n\n /**\n * Handle mouse down event\n *\n * @param {EventObj<MouseEvent>} { event }\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n onMouseDown({ event }: EventObj<MouseEvent>) {\n if (this.onNumberOfPages <= 1 || this.editorComponent.editor.hasFocus()) {\n return;\n }\n\n const { inode, languageId: language } = this.contentlet;\n\n event.stopPropagation();\n event.preventDefault();\n\n try {\n postMessageToEditor({\n action: CUSTOMER_ACTIONS.COPY_CONTENTLET_INLINE_EDITING,\n payload: {\n dataset: {\n inode,\n language,\n fieldName: this.fieldName\n }\n }\n });\n } catch (error) {\n console.error('Failed to post message to editor:', error);\n }\n }\n /**\n * Handle focus out event\n *\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n onFocusOut() {\n const content = this.editor.getContent({ format: this.format });\n\n if (!this.editor.isDirty() || !this.didContentChange(content)) {\n return;\n }\n\n const { inode, languageId: langId } = this.contentlet;\n\n try {\n postMessageToEditor({\n action: CUSTOMER_ACTIONS.UPDATE_CONTENTLET_INLINE_EDITING,\n payload: {\n content,\n dataset: {\n inode,\n langId,\n fieldName: this.fieldName\n }\n }\n });\n } catch (error) {\n console.error('Failed to post message to editor:', error);\n }\n }\n\n /**\n * inner HTML to element\n *\n * @private\n * @param {string} editedContent\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n private innerHTMLToElement() {\n const element = this.#elementRef.nativeElement;\n const safeHtml = this.#sanitizer.bypassSecurityTrustHtml(this.content);\n const content = this.#sanitizer.sanitize(SecurityContext.HTML, safeHtml) || '';\n\n this.#renderer.setProperty(element, 'innerHTML', content);\n }\n\n /**\n * Check if the content has changed\n *\n * @private\n * @param {string} editedContent\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n private didContentChange(editedContent: string) {\n return this.content !== editedContent;\n }\n}\n","@if (isInsideEditor) {\n <editor\n #tinyEditor\n [init]=\"init\"\n [initialValue]=\"content\"\n (onMouseDown)=\"onMouseDown($event)\"\n (onFocusOut)=\"onFocusOut()\" />\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { Injectable } from '@angular/core';\n\nimport { isInsideEditor } from '@dotcms/client';\n\nimport { DotCMSPageComponent, DotCMSPageContext } from '../../models';\nimport { DotCMSPageAsset } from '../../models/dotcms.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PageContextService {\n private pageContext: DotCMSPageContext | null = null;\n\n get pageContextValue(): DotCMSPageContext {\n return this.pageContext as DotCMSPageContext;\n }\n\n /**\n * Set the context\n *\n * @protected\n * @param {DotCMSPageAsset} value\n * @memberof DotcmsContextService\n */\n setContext(pageAsset: DotCMSPageAsset, components: DotCMSPageComponent) {\n this.pageContext = {\n components,\n pageAsset,\n isInsideEditor: isInsideEditor()\n };\n }\n}\n","import { DotCMSContainer, DotCMSPageAssetContainer } from '../models/dotcms.model';\n\n//Changed the type, to avoid SQ issue.\n//This should be put inside a lib\nconst endClassMap: Record<number, string | null> = {\n 1: 'col-end-1',\n 2: 'col-end-2',\n 3: 'col-end-3',\n 4: 'col-end-4',\n 5: 'col-end-5',\n 6: 'col-end-6',\n 7: 'col-end-7',\n 8: 'col-end-8',\n 9: 'col-end-9',\n 10: 'col-end-10',\n 11: 'col-end-11',\n 12: 'col-end-12',\n 13: 'col-end-13'\n};\n\n//Changed the type, to avoid SQ issue.\n//This should be put inside a lib\nconst startClassMap: Record<number, string | null> = {\n 1: 'col-start-1',\n 2: 'col-start-2',\n 3: 'col-start-3',\n 4: 'col-start-4',\n 5: 'col-start-5',\n 6: 'col-start-6',\n 7: 'col-start-7',\n 8: 'col-start-8',\n 9: 'col-start-9',\n 10: 'col-start-10',\n 11: 'col-start-11',\n 12: 'col-start-12'\n};\n\nexport const getContainersData = (\n containers: DotCMSPageAssetContainer,\n containerRef: DotCMSContainer\n) => {\n const { identifier, uuid } = containerRef;\n\n const { containerStructures, container } = containers[identifier];\n\n const { variantId } = container?.parentPermissionable || {};\n\n const acceptTypes: string = containerStructures\n .map((structure) => structure.contentTypeVar)\n .join(',');\n\n const contentlets = containers[identifier].contentlets[`uuid-${uuid}`];\n\n return {\n ...containers[identifier].container,\n acceptTypes,\n contentlets,\n variantId\n };\n};\n\nexport const getPositionStyleClasses = (start: number, end: number) => {\n const startClass = startClassMap[start];\n const endClass = endClassMap[end];\n\n return {\n startClass,\n endClass\n };\n};\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { DotCMSContentlet } from '../../models';\n\n/**\n * This is part of the Angular SDK.\n * This is a component for the `NoComponentComponent` component.\n */\n@Component({\n selector: 'dotcms-no-component',\n standalone: true,\n template: `\n No Component for {{ contentlet.contentType }}\n `,\n styleUrl: './no-component.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NoComponent {\n @Input() contentlet!: DotCMSContentlet;\n @HostBinding('attr.data-testid') testId = 'no-component';\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges } from '@angular/core';\n\nimport { DotCMSContentlet } from '../../models';\n\n@Component({\n selector: 'dotcms-contentlet-wrapper',\n standalone: true,\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContentletComponent implements OnChanges {\n @Input({ required: true }) contentlet!: DotCMSContentlet;\n @Input() container!: string;\n\n @HostBinding('attr.data-dot-identifier') identifier: string | null = null;\n @HostBinding('attr.data-dot-basetype') baseType: string | null = null;\n @HostBinding('attr.data-dot-title') title: string | null = null;\n @HostBinding('attr.data-dot-inode') inode: string | null = null;\n @HostBinding('attr.data-dot-type') dotType: string | null = null;\n @HostBinding('attr.data-dot-container') dotContainer: string | null = null;\n @HostBinding('attr.data-dot-on-number-of-pages') numberOfPages: string | null = null;\n @HostBinding('attr.data-dot-object') dotContent: string | null = null;\n\n ngOnChanges() {\n this.identifier = this.contentlet.identifier;\n this.baseType = this.contentlet.baseType;\n this.title = this.contentlet.title;\n this.inode = this.contentlet.inode;\n this.dotType = this.contentlet.contentType;\n this.dotContainer = this.container;\n this.numberOfPages = this.contentlet['onNumberOfPages'];\n this.dotContent = 'contentlet';\n }\n}\n","import { AsyncPipe, NgComponentOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n OnChanges,\n computed,\n inject,\n signal\n} from '@angular/core';\n\nimport { NoComponent } from '../../components/no-component/no-component.component';\nimport { DynamicComponentEntity } from '../../models';\nimport { DotCMSContainer, DotCMSContentlet } from '../../models/dotcms.model';\nimport { PageContextService } from '../../services/dotcms-context/page-context.service';\nimport { getContainersData } from '../../utils';\nimport { ContentletComponent } from '../contentlet/contentlet.component';\n\ninterface DotContainer {\n acceptTypes: string;\n identifier: string;\n maxContentlets: number;\n uuid: string;\n variantId?: string;\n}\n\n@Component({\n selector: 'dotcms-container',\n standalone: true,\n imports: [AsyncPipe, NgComponentOutlet, NoComponent, ContentletComponent],\n templateUrl: './container.component.html',\n styleUrl: './container.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContainerComponent implements OnChanges {\n @Input({ required: true }) container!: DotCMSContainer;\n\n private readonly pageContextService: PageContextService = inject(PageContextService);\n protected readonly NoComponent = NoComponent;\n protected readonly $isInsideEditor = signal<boolean>(false);\n\n protected componentsMap!: Record<string, DynamicComponentEntity>;\n protected $contentlets = signal<DotCMSContentlet[]>([]);\n protected $dotContainer = signal<DotContainer | null>(null);\n protected $dotContainerAsString = computed(() => JSON.stringify(this.$dotContainer()));\n\n @HostBinding('attr.data-dot-accept-types') acceptTypes: string | null = null;\n @HostBinding('attr.data-dot-identifier') identifier: string | null = null;\n @HostBinding('attr.data-max-contentlets') maxContentlets: number | null = null;\n @HostBinding('attr.data-dot-uuid') uuid: string | null = null;\n @HostBinding('class') class: string | null = null;\n @HostBinding('attr.data-dot-object') dotObject: string | null = null;\n @HostBinding('attr.data-testid') testId = 'dot-container';\n\n ngOnChanges() {\n const {\n pageAsset: { containers },\n components,\n isInsideEditor\n } = this.pageContextService.pageContextValue;\n const { acceptTypes, maxContentlets, variantId, path, contentlets } = getContainersData(\n containers,\n this.container\n );\n const { identifier, uuid } = this.container;\n\n this.componentsMap = components;\n\n this.$isInsideEditor.set(isInsideEditor);\n this.$contentlets.set(contentlets);\n this.$dotContainer.set({\n identifier: path ?? identifier,\n acceptTypes,\n maxContentlets,\n variantId,\n uuid\n });\n\n if (this.$isInsideEditor()) {\n this.acceptTypes = acceptTypes;\n this.identifier = identifier;\n this.maxContentlets = maxContentlets;\n this.uuid = uuid;\n this.class = this.$contentlets().length ? null : 'empty-container';\n this.dotObject = 'container';\n }\n }\n}\n","@if ($isInsideEditor()) {\n @if ($contentlets().length) {\n @for (contentlet of $contentlets(); track $index) {\n <dotcms-contentlet-wrapper\n [contentlet]=\"contentlet\"\n [container]=\"$dotContainerAsString()\">\n <ng-container\n *ngComponentOutlet=\"\n (componentsMap[contentlet.contentType] || componentsMap['CustomNoComponent']\n | async) || NoComponent;\n inputs: { contentlet }\n \" />\n </dotcms-contentlet-wrapper>\n }\n } @else {\n This container is empty.\n }\n} @else {\n @for (contentlet of $contentlets(); track $index) {\n <ng-container\n *ngComponentOutlet=\"\n componentsMap[contentlet.contentType] | async;\n inputs: { contentlet }\n \" />\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\n\nimport { DotPageAssetLayoutColumn } from '../../models';\nimport { getPositionStyleClasses } from '../../utils';\nimport { ContainerComponent } from '../container/container.component';\n\n@Component({\n selector: 'dotcms-column',\n standalone: true,\n imports: [ContainerComponent],\n template: `\n @for (container of column.containers; track $index) {\n <dotcms-container [container]=\"container\" />\n }\n `,\n styleUrl: './column.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ColumnComponent implements OnInit {\n @Input() column!: DotPageAssetLayoutColumn;\n @HostBinding('class') containerClasses = '';\n\n ngOnInit() {\n const { startClass, endClass } = getPositionStyleClasses(\n this.column.leftOffset,\n this.column.width + this.column.leftOffset\n );\n this.containerClasses = `${startClass} ${endClass}`;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { DotPageAssetLayoutRow } from '../../models';\nimport { ColumnComponent } from '../column/column.component';\n\n@Component({\n selector: 'dotcms-row',\n standalone: true,\n imports: [ColumnComponent],\n template: `\n @for (column of row.columns; track $index) {\n <dotcms-column [column]=\"column\" />\n }\n `,\n styleUrl: './row.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RowComponent {\n @Input({ required: true }) row!: DotPageAssetLayoutRow;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Input,\n OnInit,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { filter } from 'rxjs/operators';\n\nimport { DotCmsClient, initEditor, isInsideEditor, updateNavigation } from '@dotcms/client';\n\nimport { DynamicComponentEntity } from '../../models';\nimport { DotCMSPageAsset } from '../../models/dotcms.model';\nimport { PageContextService } from '../../services/dotcms-context/page-context.service';\nimport { RowComponent } from '../row/row.component';\n\n/**\n * `DotcmsLayoutComponent` is a class that represents the layout for a DotCMS page.\n * It includes a `pageAsset` property that represents the DotCMS page asset and a `components` property that represents the dynamic components for the page.\n *\n * @export\n * @class DotcmsLayoutComponent\n */\n@Component({\n selector: 'dotcms-layout',\n standalone: true,\n imports: [RowComponent],\n template: `\n @for (row of this.pageAsset?.layout?.body?.rows; track $index) {\n <dotcms-row [row]=\"row\" />\n }\n `,\n styleUrl: './dotcms-layout.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DotcmsLayoutComponent implements OnInit {\n /**\n * The `pageAsset` property represents the DotCMS page asset.\n *\n * @type {(DotCMSPageAsset | null)}\n * @memberof DotcmsLayoutComponent\n * @required\n */\n @Input({ required: true }) pageAsset: DotCMSPageAsset | null = null;\n\n /**\n * The `components` property is a record of dynamic components for each Contentlet on the page.\n *\n * @type {Record<string, DynamicComponentEntity>}\n * @memberof DotcmsLayoutComponent\n * @required\n */\n @Input({ required: true }) components!: Record<string, DynamicComponentEntity>;\n\n /**\n * The `onReload` property is a function that reloads the page after changes are made.\n *\n * @memberof DotcmsLayoutComponent\n * @deprecated In future implementation we will be listening for the changes from the editor to update the page state so reload will not be needed.\n */\n @Input() onReload!: () => void;\n\n private readonly route = inject(ActivatedRoute);\n private readonly pageContextService = inject(PageContextService);\n private readonly destroyRef$ = inject(DestroyRef);\n private client!: DotCmsClient;\n\n ngOnInit() {\n this.client = DotCmsClient.instance;\n\n this.route.url\n .pipe(\n takeUntilDestroyed(this.destroyRef$),\n filter(() => isInsideEditor())\n )\n .subscribe((urlSegments) => {\n const pathname = '/' + urlSegments.join('/');\n\n initEditor({ pathname });\n updateNavigation(pathname || '/');\n });\n\n if (!isInsideEditor() || !this.onReload) {\n return;\n }\n\n this.client.editor.on('changes', () => this.onReload());\n }\n\n ngOnChanges() {\n //Each time the layout changes, we need to update the context\n if (this.pageAsset !== null) {\n this.pageContextService.setContext(this.pageAsset, this.components);\n }\n }\n\n ngOnDestroy() {\n this.client.editor.off('changes');\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport interface DotCMSPageAsset {\n canCreateTemplate: boolean;\n containers: DotCMSPageAssetContainer;\n layout: DotCMSLayout;\n page: DotCMSPage;\n site: DotCMSSite;\n template: DotCMSTemplate;\n viewAs: DotCMSViewAs;\n vanityUrl?: {\n pattern: string;\n vanityUrlId: string;\n url: string;\n siteId: string;\n languageId: number;\n forwardTo: string;\n response: number;\n order: number;\n temporaryRedirect: boolean;\n permanentRedirect: boolean;\n forward: boolean;\n };\n}\n\nexport interface DotPageAssetLayoutRow {\n identifier: number;\n value?: string;\n id?: string;\n columns: DotPageAssetLayoutColumn[];\n styleClass?: string;\n}\n\nexport interface DotPageAssetLayoutColumn {\n preview: boolean;\n containers: DotCMSContainer[];\n widthPercent: number;\n width: number;\n leftOffset: number;\n left: number;\n styleClass?: string;\n}\n\nexport interface DotCMSPageAssetContainer {\n [key: string]: {\n container: DotCMSContainer;\n containerStructures: DotCMSContainerStructure[];\n contentlets: {\n [key: string]: DotCMSContentlet[];\n };\n };\n}\n\nexport interface DotCMSContainer {\n identifier: string;\n uuid: string;\n iDate: number;\n type: string;\n owner?: string;\n inode: string;\n source: string;\n title: string;\n friendlyName: string;\n modDate: number;\n modUser: string;\n sortOrder: number;\n showOnMenu: boolean;\n code?: string;\n maxContentlets: number;\n useDiv: boolean;\n sortContentletsBy?: string;\n preLoop: string;\n postLoop: string;\n staticify: boolean;\n luceneQuery?: string;\n notes: string;\n languageId?: number;\n path?: string;\n live: boolean;\n locked: boolean;\n working: boolean;\n deleted: boolean;\n name: string;\n archived: boolean;\n permissionId: string;\n versionId: string;\n versionType: string;\n permissionType: string;\n categoryId: string;\n idate: number;\n new: boolean;\n acceptTypes: string;\n contentlets: DotCMSContentlet[];\n parentPermissionable: DotCMSSiteParentPermissionable;\n}\n\nexport interface DotCMSContentlet {\n archived: boolean;\n baseType: string;\n deleted?: boolean;\n binary?: string;\n binaryContentAsset?: string;\n binaryVersion?: string;\n contentType: string;\n file?: string;\n folder: string;\n hasLiveVersion?: boolean;\n hasTitleImage: boolean;\n host: string;\n hostName: string;\n identifier: string;\n inode: string;\n image?: string;\n languageId: number;\n language?: string;\n live: boolean;\n locked: boolean;\n mimeType?: string;\n modDate: string;\n modUser: string;\n modUserName: string;\n owner: string;\n sortOrder: number;\n stInode: string;\n title: string;\n titleImage: string;\n text?: string;\n url: string;\n working: boolean;\n body?: string;\n contentTypeIcon?: string;\n variant?: string;\n __icon__?: string;\n [key: string]: any; // This is a catch-all for any other custom properties that might be on the contentlet.\n}\n\nexport interface DotcmsNavigationItem {\n code?: any;\n folder: string;\n children?: DotcmsNavigationItem[];\n host: string;\n languageId: number;\n href: string;\n title: string;\n type: string;\n hash: number;\n target: string;\n order: number;\n}\n\ninterface DotCMSTemplate {\n iDate: number;\n type: string;\n owner: string;\n inode: string;\n identifier: string;\n source: string;\n title: string;\n friendlyName: string;\n modDate: number;\n modUser: string;\n sortOrder: number;\n showOnMenu: boolean;\n image: string;\n drawed: boolean;\n drawedBody: string;\n theme: string;\n anonymous: boolean;\n template: boolean;\n name: string;\n live: boolean;\n archived: boolean;\n locked: boolean;\n working: boolean;\n permissionId: string;\n versionId: string;\n versionType: string;\n deleted: boolean;\n permissionType: string;\n categoryId: string;\n idate: number;\n new: boolean;\n canEdit: boolean;\n}\n\ninterface DotCMSPage {\n template: string;\n modDate: number;\n metadata: string;\n cachettl: string;\n pageURI: string;\n title: string;\n type: string;\n showOnMenu: string;\n httpsRequired: boolean;\n inode: string;\n disabledWYSIWYG: any[];\n seokeywords: string;\n host: string;\n lastReview: number;\n working: boolean;\n locked: boolean;\n stInode: string;\n friendlyName: string;\n live: boolean;\n owner: string;\n identifier: string;\n nullProperties: any[];\n friendlyname: string;\n pagemetadata: string;\n languageId: number;\n url: string;\n seodescription: string;\n modUserName: string;\n folder: string;\n deleted: boolean;\n sortOrder: number;\n modUser: string;\n pageUrl: string;\n workingInode: string;\n shortyWorking: string;\n canEdit: boolean;\n canRead: boolean;\n canLock: boolean;\n lockedOn: number;\n lockedBy: string;\n lockedByName: string;\n liveInode: string;\n shortyLive: string;\n}\n\ninterface DotCMSViewAs {\n language: {\n id: number;\n languageCode: string;\n countryCode: string;\n language: string;\n country: string;\n };\n mode: string;\n}\n\ninterface DotCMSLayout {\n pageWidth: string;\n width: string;\n layout: string;\n title: string;\n header: boolean;\n footer: boolean;\n body: DotPageAssetLayoutBody;\n sidebar: DotPageAssetLayoutSidebar;\n}\n\ninterface DotCMSContainerStructure {\n id: string;\n structureId: string;\n containerInode: string;\n containerId: string;\n code: string;\n contentTypeVar: string;\n}\n\ninterface DotPageAssetLayoutSidebar {\n preview: boolean;\n containers: DotCMSContainer[];\n location: string;\n widthPercent: number;\n width: string;\n}\n\ninterface DotPageAssetLayoutBody {\n rows: DotPageAssetLayoutRow[];\n}\n\ninterface DotCMSSite {\n lowIndexPriority: boolean;\n name: string;\n default: boolean;\n aliases: string;\n parent: boolean;\n tagStorage: string;\n systemHost: boolean;\n inode: string;\n versionType: string;\n structureInode: string;\n hostname: string;\n hostThumbnail?: any;\n owner: string;\n permissionId: string;\n permissionType: string;\n type: string;\n identifier: string;\n modDate: number;\n host: string;\n live: boolean;\n indexPolicy: string;\n categoryId: string;\n actionId?: any;\n new: boolean;\n archived: boolean;\n locked: boolean;\n disabledWysiwyg: any[];\n modUser: string;\n working: boolean;\n titleImage: {\n present: boolean;\n };\n folder: string;\n htmlpage: boolean;\n fileAsset: boolean;\n vanityUrl: boolean;\n keyValue: boolean;\n structure?: DotCMSSiteStructure;\n title: string;\n languageId: number;\n indexPolicyDependencies: string;\n contentTypeId: string;\n versionId: string;\n lastReview: number;\n nextReview?: any;\n reviewInterval?: any;\n sortOrder: number;\n contentType: DotCMSSiteContentType;\n}\n\ninterface DotCMSSiteContentType {\n owner?: any;\n parentPermissionable: DotCMSSiteParentPermissionable;\n permissionId: string;\n permissionType: string;\n}\n\nexport interface DotCMSSiteParentPermissionable {\n Inode: string;\n Identifier: string;\n permissionByIdentifier: boolean;\n type: string;\n owner?: any;\n identifier: string;\n permissionId: string;\n parentPermissionable?: any;\n permissionType: string;\n inode: string;\n childrenPermissionable?: any;\n variantId?: string;\n}\n\ninterface DotCMSSiteStructure {\n iDate: number;\n type: string;\n owner?: any;\n inode: string;\n identifier: string;\n name: string;\n description: string;\n defaultStructure: boolean;\n reviewInterval?: any;\n reviewerRole?: any;\n pagedetail?: any;\n structureType: number;\n fixed: boolean;\n system: boolean;\n velocityVarName: string;\n urlMapPattern?: any;\n host: string;\n folder: string;\n publishDateVar?: any;\n expireDateVar?: any;\n modDate: number;\n fields: DotCMSSiteField[];\n widget: boolean;\n detailPage?: any;\n fieldsBySortOrder: DotCMSSiteField[];\n form: boolean;\n htmlpageAsset: boolean;\n content: boolean;\n fileAsset: boolean;\n persona: boolean;\n permissionId: string;\n permissionType: string;\n live: boolean;\n categoryId: string;\n idate: number;\n new: boolean;\n archived: boolean;\n locked: boolean;\n modUser: string;\n working: boolean;\n title: string;\n versionId: string;\n versionType: string;\n}\n\ninterface DotCMSSiteField {\n iDate: number;\n type: string;\n owner?: any;\n inode: string;\n identifier: string;\n structureInode: string;\n fieldName: string;\n fieldType: string;\n fieldRelationType?: any;\n fieldContentlet: string;\n required: boolean;\n velocityVarName: string;\n sortOrder: number;\n values?: any;\n regexCheck?: any;\n hint?: any;\n defaultValue?: any;\n indexed: boolean;\n listed: boolean;\n fixed: boolean;\n readOnly: boolean;\n searchable: boolean;\n unique: boolean;\n modDate: number;\n dataType: string;\n live: boolean;\n categoryId: string;\n idate: number;\n new: boolean;\n archived: boolean;\n locked: boolean;\n modUser: string;\n working: boolean;\n permissionId: string;\n parentPermissionable?: any;\n permissionType: string;\n title: string;\n versionId: string;\n versionType: string;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nexport * from './dotcms.model';\n\nimport { Type } from '@angular/core';\n\nimport { DotCMSPageAsset } from './dotcms.model';\n\nexport type DynamicComponentEntity = Promise<Type<any>>;\n\nexport interface DotCMSPageContext {\n pageAsset: DotCMSPageAsset;\n components: DotCMSPageComponent;\n isInsideEditor: boolean;\n}\n\nexport type DotCMSPageComponent = Record<string, DynamicComponentEntity>;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-component.component.d.ts","sourceRoot":"","sources":["../../../../../../../libs/sdk/angular/src/lib/components/no-component/no-component.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;;AAEhD;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"no-component.component.d.ts","sourceRoot":"","sources":["../../../../../../../libs/sdk/angular/src/lib/components/no-component/no-component.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;;AAEhD;;;GAGG;AACH,qBASa,WAAW;IACX,UAAU,EAAG,gBAAgB,CAAC;IACN,MAAM,SAAkB;yCAFhD,WAAW;2CAAX,WAAW;CAGvB"}
|
|
@@ -10,14 +10,37 @@ import * as i0 from "@angular/core";
|
|
|
10
10
|
* @class DotcmsLayoutComponent
|
|
11
11
|
*/
|
|
12
12
|
export declare class DotcmsLayoutComponent implements OnInit {
|
|
13
|
+
/**
|
|
14
|
+
* The `pageAsset` property represents the DotCMS page asset.
|
|
15
|
+
*
|
|
16
|
+
* @type {(DotCMSPageAsset | null)}
|
|
17
|
+
* @memberof DotcmsLayoutComponent
|
|
18
|
+
* @required
|
|
19
|
+
*/
|
|
13
20
|
pageAsset: DotCMSPageAsset | null;
|
|
21
|
+
/**
|
|
22
|
+
* The `components` property is a record of dynamic components for each Contentlet on the page.
|
|
23
|
+
*
|
|
24
|
+
* @type {Record<string, DynamicComponentEntity>}
|
|
25
|
+
* @memberof DotcmsLayoutComponent
|
|
26
|
+
* @required
|
|
27
|
+
*/
|
|
14
28
|
components: Record<string, DynamicComponentEntity>;
|
|
29
|
+
/**
|
|
30
|
+
* The `onReload` property is a function that reloads the page after changes are made.
|
|
31
|
+
*
|
|
32
|
+
* @memberof DotcmsLayoutComponent
|
|
33
|
+
* @deprecated In future implementation we will be listening for the changes from the editor to update the page state so reload will not be needed.
|
|
34
|
+
*/
|
|
35
|
+
onReload: () => void;
|
|
15
36
|
private readonly route;
|
|
16
37
|
private readonly pageContextService;
|
|
17
38
|
private readonly destroyRef$;
|
|
39
|
+
private client;
|
|
18
40
|
ngOnInit(): void;
|
|
19
41
|
ngOnChanges(): void;
|
|
42
|
+
ngOnDestroy(): void;
|
|
20
43
|
static ɵfac: i0.ɵɵFactoryDeclaration<DotcmsLayoutComponent, never>;
|
|
21
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DotcmsLayoutComponent, "dotcms-layout", never, { "pageAsset": { "alias": "pageAsset"; "required": true; }; "components": { "alias": "components"; "required": true; }; }, {}, never, never, true, never>;
|
|
44
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DotcmsLayoutComponent, "dotcms-layout", never, { "pageAsset": { "alias": "pageAsset"; "required": true; }; "components": { "alias": "components"; "required": true; }; "onReload": { "alias": "onReload"; "required": false; }; }, {}, never, never, true, never>;
|
|
22
45
|
}
|
|
23
46
|
//# sourceMappingURL=dotcms-layout.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dotcms-layout.component.d.ts","sourceRoot":"","sources":["../../../../../../../libs/sdk/angular/src/lib/layout/dotcms-layout/dotcms-layout.component.ts"],"names":[],"mappings":"AACA,OAAO,EAKH,MAAM,EAET,MAAM,eAAe,CAAC;AAQvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;;AAI5D;;;;;;GAMG;AACH,qBAYa,qBAAsB,YAAW,MAAM;
|
|
1
|
+
{"version":3,"file":"dotcms-layout.component.d.ts","sourceRoot":"","sources":["../../../../../../../libs/sdk/angular/src/lib/layout/dotcms-layout/dotcms-layout.component.ts"],"names":[],"mappings":"AACA,OAAO,EAKH,MAAM,EAET,MAAM,eAAe,CAAC;AAQvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;;AAI5D;;;;;;GAMG;AACH,qBAYa,qBAAsB,YAAW,MAAM;IAChD;;;;;;OAMG;IACwB,SAAS,EAAE,eAAe,GAAG,IAAI,CAAQ;IAEpE;;;;;;OAMG;IACwB,UAAU,EAAG,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAE/E;;;;;OAKG;IACM,QAAQ,EAAG,MAAM,IAAI,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;IAChD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA8B;IACjE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,MAAM,CAAgB;IAE9B,QAAQ;IAsBR,WAAW;IAOX,WAAW;yCA7DF,qBAAqB;2CAArB,qBAAqB;CAgEjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"row.component.d.ts","sourceRoot":"","sources":["../../../../../../../libs/sdk/angular/src/lib/layout/row/row.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;;AAGrD,
|
|
1
|
+
{"version":3,"file":"row.component.d.ts","sourceRoot":"","sources":["../../../../../../../libs/sdk/angular/src/lib/layout/row/row.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;;AAGrD,qBAYa,YAAY;IACM,GAAG,EAAG,qBAAqB,CAAC;yCAD9C,YAAY;2CAAZ,YAAY;CAExB"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dotcms/angular",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.28",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^17.1.0",
|
|
6
6
|
"@angular/core": "^17.1.0",
|
|
7
7
|
"@angular/router": "^17.1.0",
|
|
8
|
-
"@dotcms/client": "0.0.1-alpha.
|
|
8
|
+
"@dotcms/client": "0.0.1-alpha.28",
|
|
9
9
|
"@tinymce/tinymce-angular": "^8.0.0",
|
|
10
10
|
"rxjs": "^7.8.0"
|
|
11
11
|
},
|