@dotcms/angular 0.0.1-alpha.18
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/README.md +134 -0
- package/dotcms-angular.d.ts.map +1 -0
- package/esm2022/dotcms-angular.mjs +5 -0
- package/esm2022/index.mjs +4 -0
- package/esm2022/lib/components/no-component/no-component.component.mjs +23 -0
- package/esm2022/lib/layout/column/column.component.mjs +33 -0
- package/esm2022/lib/layout/container/container.component.mjs +78 -0
- package/esm2022/lib/layout/contentlet/contentlet.component.mjs +65 -0
- package/esm2022/lib/layout/dotcms-layout/dotcms-layout.component.mjs +62 -0
- package/esm2022/lib/layout/row/row.component.mjs +19 -0
- package/esm2022/lib/models/dotcms.model.mjs +3 -0
- package/esm2022/lib/models/index.mjs +3 -0
- package/esm2022/lib/services/dotcms-context/page-context.service.mjs +35 -0
- package/esm2022/lib/utils/index.mjs +57 -0
- package/fesm2022/dotcms-angular.mjs +361 -0
- package/fesm2022/dotcms-angular.mjs.map +1 -0
- package/index.d.ts +4 -0
- package/index.d.ts.map +1 -0
- package/lib/components/no-component/no-component.component.d.ts +13 -0
- package/lib/components/no-component/no-component.component.d.ts.map +1 -0
- package/lib/layout/column/column.component.d.ts +11 -0
- package/lib/layout/column/column.component.d.ts.map +1 -0
- package/lib/layout/container/container.component.d.ts +34 -0
- package/lib/layout/container/container.component.d.ts.map +1 -0
- package/lib/layout/contentlet/contentlet.component.d.ts +19 -0
- package/lib/layout/contentlet/contentlet.component.d.ts.map +1 -0
- package/lib/layout/dotcms-layout/dotcms-layout.component.d.ts +24 -0
- package/lib/layout/dotcms-layout/dotcms-layout.component.d.ts.map +1 -0
- package/lib/layout/row/row.component.d.ts +8 -0
- package/lib/layout/row/row.component.d.ts.map +1 -0
- package/lib/models/dotcms.model.d.ts +403 -0
- package/lib/models/dotcms.model.d.ts.map +1 -0
- package/lib/models/index.d.ts +11 -0
- package/lib/models/index.d.ts.map +1 -0
- package/lib/services/dotcms-context/page-context.service.d.ts +18 -0
- package/lib/services/dotcms-context/page-context.service.d.ts.map +1 -0
- package/lib/utils/index.d.ts +49 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/package.json +48 -0
package/README.md
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# @dotcms/angular
|
|
2
|
+
|
|
3
|
+
`@dotcms/angular` is the official set of Angular components, services and resolver designed to work seamlessly with dotCMS, making it easy to render dotCMS pages an use the page builder
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- A collection of Angular components, services and resolver tailored to render
|
|
8
|
+
dotCMS pages.
|
|
9
|
+
- Streamlined integration with dotCMS page editor.
|
|
10
|
+
- Improved development experience with comprehensive TypeScript typings.
|
|
11
|
+
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
Install the package via npm:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install @dotcms/angular
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Or using Yarn:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
yarn add @dotcms/angular
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Provider
|
|
27
|
+
```
|
|
28
|
+
const DOTCMS_CLIENT_CONFIG: ClientConfig = {
|
|
29
|
+
dotcmsUrl: environment.dotcmsUrl,
|
|
30
|
+
authToken: environment.authToken,
|
|
31
|
+
siteId: environment.siteId
|
|
32
|
+
};
|
|
33
|
+
```
|
|
34
|
+
Add the dotcms config in the Angular app ApplicationConfig
|
|
35
|
+
```
|
|
36
|
+
export const appConfig: ApplicationConfig = {
|
|
37
|
+
providers: [
|
|
38
|
+
provideDotcmsClient(DOTCMS_CLIENT_CONFIG),
|
|
39
|
+
provideRouter(routes),
|
|
40
|
+
],
|
|
41
|
+
};
|
|
42
|
+
```
|
|
43
|
+
## Resolver
|
|
44
|
+
```javascript
|
|
45
|
+
export const routes: Routes = [
|
|
46
|
+
{
|
|
47
|
+
path: '**',
|
|
48
|
+
resolve: {
|
|
49
|
+
// This should be called `context`.
|
|
50
|
+
context: DotCMSPageResolver,
|
|
51
|
+
},
|
|
52
|
+
component: DotCMSPagesComponent,
|
|
53
|
+
runGuardsAndResolvers: 'always' // Run the resolver on every navigation. Even if the URL hasn't changed.
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Then, in your component, you can read the data using
|
|
59
|
+
|
|
60
|
+
```javascript
|
|
61
|
+
protected readonly context = signal(null);
|
|
62
|
+
|
|
63
|
+
ngOnInit() {
|
|
64
|
+
// Get the context data from the route
|
|
65
|
+
this.route.data.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(data => {
|
|
66
|
+
this.context.set(data['context']);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
## Components
|
|
71
|
+
|
|
72
|
+
### `DotcmsLayoutComponent`
|
|
73
|
+
|
|
74
|
+
A component that renders a layout for a dotCMS page.
|
|
75
|
+
|
|
76
|
+
#### Inputs
|
|
77
|
+
|
|
78
|
+
- **entity**: The context for a dotCMS page.
|
|
79
|
+
- **components**: An object with the relation of contentlets and the component to render each.
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
#### Usage
|
|
83
|
+
|
|
84
|
+
```javascript
|
|
85
|
+
<dotcms-layout [entity]="pageAsset" [components]="components()" />
|
|
86
|
+
|
|
87
|
+
DYNAMIC_COMPONENTS: { [key: string]: DynamicComponentEntity } = {
|
|
88
|
+
Activity: import('../pages/content-types/activity/activity.component').then(
|
|
89
|
+
(c) => c.ActivityComponent,
|
|
90
|
+
),
|
|
91
|
+
Banner: import('../pages/content-types/banner/banner.component').then(
|
|
92
|
+
(c) => c.BannerComponent,
|
|
93
|
+
),
|
|
94
|
+
Image: import('../pages/content-types/image/image.component').then(
|
|
95
|
+
(c) => c.ImageComponent,
|
|
96
|
+
),
|
|
97
|
+
webPageContent: import(
|
|
98
|
+
'../pages/content-types/web-page-content/web-page-content.component'
|
|
99
|
+
).then((c) => c.WebPageContentComponent),
|
|
100
|
+
Product: import('../pages/content-types/product/product.component').then(
|
|
101
|
+
(c) => c.ProductComponent,
|
|
102
|
+
),
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
components = signal(DYNAMIC_COMPONENTS);
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Contributing
|
|
109
|
+
|
|
110
|
+
GitHub pull requests are the preferred method to contribute code to dotCMS. Before any pull requests can be accepted, an automated tool will ask you to agree to the [dotCMS Contributor's Agreement](https://gist.github.com/wezell/85ef45298c48494b90d92755b583acb3).
|
|
111
|
+
|
|
112
|
+
## Licensing
|
|
113
|
+
|
|
114
|
+
dotCMS comes in multiple editions and as such is dual licensed. The dotCMS Community Edition is licensed under the GPL 3.0 and is freely available for download, customization and deployment for use within organizations of all stripes. dotCMS Enterprise Editions (EE) adds a number of enterprise features and is available via a supported, indemnified commercial license from dotCMS. For the differences between the editions, see [the feature page](http://dotcms.com/cms-platform/features).
|
|
115
|
+
|
|
116
|
+
## Support
|
|
117
|
+
|
|
118
|
+
If you need help or have any questions, please [open an issue](https://github.com/dotCMS/core/issues/new/choose) in the GitHub repository.
|
|
119
|
+
|
|
120
|
+
## Documentation
|
|
121
|
+
|
|
122
|
+
Always refer to the official [DotCMS documentation](https://www.dotcms.com/docs/latest/) for comprehensive guides and API references.
|
|
123
|
+
|
|
124
|
+
## Getting Help
|
|
125
|
+
|
|
126
|
+
| Source | Location |
|
|
127
|
+
| --------------- | ------------------------------------------------------------------- |
|
|
128
|
+
| Installation | [Installation](https://dotcms.com/docs/latest/installation) |
|
|
129
|
+
| Documentation | [Documentation](https://dotcms.com/docs/latest/table-of-contents) |
|
|
130
|
+
| Videos | [Helpful Videos](http://dotcms.com/videos/) |
|
|
131
|
+
| Code Examples | [Codeshare](https://dotcms.com/codeshare/) |
|
|
132
|
+
| Forums/Listserv | [via Google Groups](https://groups.google.com/forum/#!forum/dotCMS) |
|
|
133
|
+
| Twitter | @dotCMS |
|
|
134
|
+
| Main Site | [dotCMS.com](https://dotcms.com/) |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dotcms-angular.d.ts","sourceRoot":"","sources":["../../../../libs/sdk/angular/src/dotcms-angular.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90Y21zLWFuZ3VsYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9hbmd1bGFyL3NyYy9kb3RjbXMtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './lib/layout/dotcms-layout/dotcms-layout.component';
|
|
2
|
+
export * from './lib/services/dotcms-context/page-context.service';
|
|
3
|
+
export * from './lib/models';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9hbmd1bGFyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9sYXlvdXQvZG90Y21zLWxheW91dC9kb3RjbXMtbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9kb3RjbXMtY29udGV4dC9wYWdlLWNvbnRleHQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* This is part of the Angular SDK.
|
|
5
|
+
* This is a component for the `NoComponentComponent` component.
|
|
6
|
+
*/
|
|
7
|
+
export class NoComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.testId = 'no-component';
|
|
10
|
+
}
|
|
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: `No Component for {{ contentlet.contentType }}`, isInline: true, styles: [":host{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NoComponent, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{ selector: 'dotcms-no-component', standalone: true, template: `No Component for {{ contentlet.contentType }}`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}\n"] }]
|
|
17
|
+
}], propDecorators: { contentlet: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}], testId: [{
|
|
20
|
+
type: HostBinding,
|
|
21
|
+
args: ['attr.data-testid']
|
|
22
|
+
}] } });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tY29tcG9uZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL25vLWNvbXBvbmVudC9uby1jb21wb25lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJdkY7OztHQUdHO0FBUUgsTUFBTSxPQUFPLFdBQVc7SUFQeEI7UUFTcUMsV0FBTSxHQUFHLGNBQWMsQ0FBQztLQUM1RDs4R0FIWSxXQUFXO2tHQUFYLFdBQVcsa0xBSlYsK0NBQStDOzsyRkFJaEQsV0FBVztrQkFQdkIsU0FBUzsrQkFDSSxxQkFBcUIsY0FDbkIsSUFBSSxZQUNOLCtDQUErQyxtQkFFeEMsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsVUFBVTtzQkFBbEIsS0FBSztnQkFDMkIsTUFBTTtzQkFBdEMsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRG90Q01TQ29udGVudGxldCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbi8qKlxuICogVGhpcyBpcyBwYXJ0IG9mIHRoZSBBbmd1bGFyIFNESy5cbiAqIFRoaXMgaXMgYSBjb21wb25lbnQgZm9yIHRoZSBgTm9Db21wb25lbnRDb21wb25lbnRgIGNvbXBvbmVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkb3RjbXMtbm8tY29tcG9uZW50JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiBgTm8gQ29tcG9uZW50IGZvciB7eyBjb250ZW50bGV0LmNvbnRlbnRUeXBlIH19YCxcbiAgICBzdHlsZVVybDogJy4vbm8tY29tcG9uZW50LmNvbXBvbmVudC5jc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5vQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBjb250ZW50bGV0ITogRG90Q01TQ29udGVudGxldDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10ZXN0aWQnKSB0ZXN0SWQgPSAnbm8tY29tcG9uZW50Jztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import { getPositionStyleClasses } from '../../utils';
|
|
3
|
+
import { ContainerComponent } from '../container/container.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class ColumnComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.containerClasses = '';
|
|
8
|
+
}
|
|
9
|
+
ngOnInit() {
|
|
10
|
+
const { startClass, endClass } = getPositionStyleClasses(this.column.leftOffset, this.column.width + this.column.leftOffset);
|
|
11
|
+
this.containerClasses = `${startClass} ${endClass}`;
|
|
12
|
+
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: ColumnComponent, isStandalone: true, selector: "dotcms-column", inputs: { column: "column" }, host: { properties: { "class": "this.containerClasses" } }, ngImport: i0, template: `
|
|
15
|
+
@for(container of column.containers; track $index) {
|
|
16
|
+
<dotcms-container [container]="container" />
|
|
17
|
+
}
|
|
18
|
+
`, isInline: true, styles: [":host.col-start-1{grid-column-start:1}:host.col-start-2{grid-column-start:2}:host.col-start-3{grid-column-start:3}:host.col-start-4{grid-column-start:4}:host.col-start-5{grid-column-start:5}:host.col-start-6{grid-column-start:6}:host.col-start-7{grid-column-start:7}:host.col-start-8{grid-column-start:8}:host.col-start-9{grid-column-start:9}:host.col-start-10{grid-column-start:10}:host.col-start-11{grid-column-start:11}:host.col-start-12{grid-column-start:12}:host.col-end-1{grid-column-end:1}:host.col-end-2{grid-column-end:2}:host.col-end-3{grid-column-end:3}:host.col-end-4{grid-column-end:4}:host.col-end-5{grid-column-end:5}:host.col-end-6{grid-column-end:6}:host.col-end-7{grid-column-end:7}:host.col-end-8{grid-column-end:8}:host.col-end-9{grid-column-end:9}:host.col-end-10{grid-column-end:10}:host.col-end-11{grid-column-end:11}:host.col-end-12{grid-column-end:12}:host.col-end-13{grid-column-end:13}\n"], dependencies: [{ kind: "component", type: ContainerComponent, selector: "dotcms-container", inputs: ["container"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ColumnComponent, decorators: [{
|
|
21
|
+
type: Component,
|
|
22
|
+
args: [{ selector: 'dotcms-column', standalone: true, imports: [ContainerComponent], template: `
|
|
23
|
+
@for(container of column.containers; track $index) {
|
|
24
|
+
<dotcms-container [container]="container" />
|
|
25
|
+
}
|
|
26
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host.col-start-1{grid-column-start:1}:host.col-start-2{grid-column-start:2}:host.col-start-3{grid-column-start:3}:host.col-start-4{grid-column-start:4}:host.col-start-5{grid-column-start:5}:host.col-start-6{grid-column-start:6}:host.col-start-7{grid-column-start:7}:host.col-start-8{grid-column-start:8}:host.col-start-9{grid-column-start:9}:host.col-start-10{grid-column-start:10}:host.col-start-11{grid-column-start:11}:host.col-start-12{grid-column-start:12}:host.col-end-1{grid-column-end:1}:host.col-end-2{grid-column-end:2}:host.col-end-3{grid-column-end:3}:host.col-end-4{grid-column-end:4}:host.col-end-5{grid-column-end:5}:host.col-end-6{grid-column-end:6}:host.col-end-7{grid-column-end:7}:host.col-end-8{grid-column-end:8}:host.col-end-9{grid-column-end:9}:host.col-end-10{grid-column-end:10}:host.col-end-11{grid-column-end:11}:host.col-end-12{grid-column-end:12}:host.col-end-13{grid-column-end:13}\n"] }]
|
|
27
|
+
}], propDecorators: { column: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}], containerClasses: [{
|
|
30
|
+
type: HostBinding,
|
|
31
|
+
args: ['class']
|
|
32
|
+
}] } });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2FuZ3VsYXIvc3JjL2xpYi9sYXlvdXQvY29sdW1uL2NvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRy9GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFjdEUsTUFBTSxPQUFPLGVBQWU7SUFaNUI7UUFjMEIscUJBQWdCLEdBQUcsRUFBRSxDQUFDO0tBUy9DO0lBUEcsUUFBUTtRQUNKLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsdUJBQXVCLENBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FDN0MsQ0FBQztRQUNGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLFVBQVUsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUN4RCxDQUFDOzhHQVZRLGVBQWU7a0dBQWYsZUFBZSxtS0FSZDs7OztLQUlULDQ5QkFMUyxrQkFBa0I7OzJGQVNuQixlQUFlO2tCQVozQixTQUFTOytCQUNJLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxrQkFBa0IsQ0FBQyxZQUNuQjs7OztLQUlULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ2dCLGdCQUFnQjtzQkFBckMsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRG90UGFnZUFzc2V0TGF5b3V0Q29sdW1uIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IGdldFBvc2l0aW9uU3R5bGVDbGFzc2VzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29udGFpbmVyL2NvbnRhaW5lci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RvdGNtcy1jb2x1bW4nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbnRhaW5lckNvbXBvbmVudF0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgQGZvcihjb250YWluZXIgb2YgY29sdW1uLmNvbnRhaW5lcnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8ZG90Y21zLWNvbnRhaW5lciBbY29udGFpbmVyXT1cImNvbnRhaW5lclwiIC8+XG4gICAgICAgIH1cbiAgICBgLFxuICAgIHN0eWxlVXJsOiAnLi9jb2x1bW4uY29tcG9uZW50LmNzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBjb2x1bW4hOiBEb3RQYWdlQXNzZXRMYXlvdXRDb2x1bW47XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNvbnRhaW5lckNsYXNzZXMgPSAnJztcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCB7IHN0YXJ0Q2xhc3MsIGVuZENsYXNzIH0gPSBnZXRQb3NpdGlvblN0eWxlQ2xhc3NlcyhcbiAgICAgICAgICAgIHRoaXMuY29sdW1uLmxlZnRPZmZzZXQsXG4gICAgICAgICAgICB0aGlzLmNvbHVtbi53aWR0aCArIHRoaXMuY29sdW1uLmxlZnRPZmZzZXRcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jb250YWluZXJDbGFzc2VzID0gYCR7c3RhcnRDbGFzc30gJHtlbmRDbGFzc31gO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { AsyncPipe, NgComponentOutlet } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, HostBinding, Input, computed, inject, signal } from '@angular/core';
|
|
3
|
+
import { NoComponent } from '../../components/no-component/no-component.component';
|
|
4
|
+
import { PageContextService } from '../../services/dotcms-context/page-context.service';
|
|
5
|
+
import { getContainersData } from '../../utils';
|
|
6
|
+
import { ContentletComponent } from '../contentlet/contentlet.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class ContainerComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.pageContextService = inject(PageContextService);
|
|
11
|
+
this.NoComponent = NoComponent;
|
|
12
|
+
this.$isInsideEditor = signal(false);
|
|
13
|
+
this.$contentlets = signal([]);
|
|
14
|
+
this.$dotContainer = signal(null);
|
|
15
|
+
this.$dotContainerAsString = computed(() => JSON.stringify(this.$dotContainer()));
|
|
16
|
+
this.acceptTypes = null;
|
|
17
|
+
this.identifier = null;
|
|
18
|
+
this.maxContentlets = null;
|
|
19
|
+
this.uuid = null;
|
|
20
|
+
this.class = null;
|
|
21
|
+
this.dotObject = null;
|
|
22
|
+
this.testId = 'dot-container';
|
|
23
|
+
}
|
|
24
|
+
ngOnChanges() {
|
|
25
|
+
const { pageAsset: { containers }, components, isInsideEditor } = this.pageContextService.pageContextValue;
|
|
26
|
+
const { acceptTypes, maxContentlets, variantId, path, contentlets } = getContainersData(containers, this.container);
|
|
27
|
+
const { identifier, uuid } = this.container;
|
|
28
|
+
this.componentsMap = components;
|
|
29
|
+
this.$isInsideEditor.set(isInsideEditor);
|
|
30
|
+
this.$contentlets.set(contentlets);
|
|
31
|
+
this.$dotContainer.set({
|
|
32
|
+
identifier: path ?? identifier,
|
|
33
|
+
acceptTypes,
|
|
34
|
+
maxContentlets,
|
|
35
|
+
variantId,
|
|
36
|
+
uuid
|
|
37
|
+
});
|
|
38
|
+
if (this.$isInsideEditor()) {
|
|
39
|
+
this.acceptTypes = acceptTypes;
|
|
40
|
+
this.identifier = identifier;
|
|
41
|
+
this.maxContentlets = maxContentlets;
|
|
42
|
+
this.uuid = uuid;
|
|
43
|
+
this.class = this.$contentlets().length ? null : 'empty-container';
|
|
44
|
+
this.dotObject = 'container';
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: ContainerComponent, isStandalone: true, selector: "dotcms-container", inputs: { container: "container" }, host: { properties: { "attr.data-dot-accept-types": "this.acceptTypes", "attr.data-dot-identifier": "this.identifier", "attr.data-max-contentlets": "this.maxContentlets", "attr.data-dot-uuid": "this.uuid", "class": "this.class", "attr.data-dot-object": "this.dotObject", "attr.data-testid": "this.testId" } }, usesOnChanges: true, ngImport: i0, template: "@if ($isInsideEditor()) { @if($contentlets().length){ @for (contentlet of $contentlets(); track\n$index) {\n\n<dotcms-contentlet-wrapper [contentlet]=\"contentlet\" [container]=\"$dotContainerAsString()\">\n <ng-container\n *ngComponentOutlet=\"\n (componentsMap[contentlet.contentType] | async) || NoComponent;\n inputs: { contentlet }\n \" />\n</dotcms-contentlet-wrapper>\n} } @else { This container is empty. } } @else { @for (contentlet of $contentlets(); track $index) {\n<ng-container\n *ngComponentOutlet=\"\n (componentsMap[contentlet.contentType] | async) || NoComponent;\n inputs: { contentlet }\n \" />\n} }\n", styles: [":host.empty-container{width:100%;background-color:#ecf0fd;display:flex;justify-content:center;align-items:center;color:#030e32;height:10rem}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "component", type: ContentletComponent, selector: "dotcms-contentlet-wrapper", inputs: ["contentlet", "container"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
49
|
+
}
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ContainerComponent, decorators: [{
|
|
51
|
+
type: Component,
|
|
52
|
+
args: [{ selector: 'dotcms-container', standalone: true, imports: [AsyncPipe, NgComponentOutlet, NoComponent, ContentletComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if ($isInsideEditor()) { @if($contentlets().length){ @for (contentlet of $contentlets(); track\n$index) {\n\n<dotcms-contentlet-wrapper [contentlet]=\"contentlet\" [container]=\"$dotContainerAsString()\">\n <ng-container\n *ngComponentOutlet=\"\n (componentsMap[contentlet.contentType] | async) || NoComponent;\n inputs: { contentlet }\n \" />\n</dotcms-contentlet-wrapper>\n} } @else { This container is empty. } } @else { @for (contentlet of $contentlets(); track $index) {\n<ng-container\n *ngComponentOutlet=\"\n (componentsMap[contentlet.contentType] | async) || NoComponent;\n inputs: { contentlet }\n \" />\n} }\n", styles: [":host.empty-container{width:100%;background-color:#ecf0fd;display:flex;justify-content:center;align-items:center;color:#030e32;height:10rem}\n"] }]
|
|
53
|
+
}], propDecorators: { container: [{
|
|
54
|
+
type: Input,
|
|
55
|
+
args: [{ required: true }]
|
|
56
|
+
}], acceptTypes: [{
|
|
57
|
+
type: HostBinding,
|
|
58
|
+
args: ['attr.data-dot-accept-types']
|
|
59
|
+
}], identifier: [{
|
|
60
|
+
type: HostBinding,
|
|
61
|
+
args: ['attr.data-dot-identifier']
|
|
62
|
+
}], maxContentlets: [{
|
|
63
|
+
type: HostBinding,
|
|
64
|
+
args: ['attr.data-max-contentlets']
|
|
65
|
+
}], uuid: [{
|
|
66
|
+
type: HostBinding,
|
|
67
|
+
args: ['attr.data-dot-uuid']
|
|
68
|
+
}], class: [{
|
|
69
|
+
type: HostBinding,
|
|
70
|
+
args: ['class']
|
|
71
|
+
}], dotObject: [{
|
|
72
|
+
type: HostBinding,
|
|
73
|
+
args: ['attr.data-dot-object']
|
|
74
|
+
}], testId: [{
|
|
75
|
+
type: HostBinding,
|
|
76
|
+
args: ['attr.data-testid']
|
|
77
|
+
}] } });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2FuZ3VsYXIvc3JjL2xpYi9sYXlvdXQvY29udGFpbmVyL2NvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9hbmd1bGFyL3NyYy9saWIvbGF5b3V0L2NvbnRhaW5lci9jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBR25GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFrQnpFLE1BQU0sT0FBTyxrQkFBa0I7SUFSL0I7UUFXcUIsdUJBQWtCLEdBQXVCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2xFLGdCQUFXLEdBQUcsV0FBVyxDQUFDO1FBQzFCLG9CQUFlLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBR2xELGlCQUFZLEdBQUcsTUFBTSxDQUFxQixFQUFFLENBQUMsQ0FBQztRQUM5QyxrQkFBYSxHQUFHLE1BQU0sQ0FBc0IsSUFBSSxDQUFDLENBQUM7UUFDbEQsMEJBQXFCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUU1QyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDcEMsZUFBVSxHQUFrQixJQUFJLENBQUM7UUFDaEMsbUJBQWMsR0FBa0IsSUFBSSxDQUFDO1FBQzVDLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBQ3hDLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBQ2IsY0FBUyxHQUFrQixJQUFJLENBQUM7UUFDcEMsV0FBTSxHQUFHLGVBQWUsQ0FBQztLQW1DN0Q7SUFqQ0csV0FBVztRQUNQLE1BQU0sRUFDRixTQUFTLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFDekIsVUFBVSxFQUNWLGNBQWMsRUFDakIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUM7UUFDN0MsTUFBTSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxpQkFBaUIsQ0FDbkYsVUFBVSxFQUNWLElBQUksQ0FBQyxTQUFTLENBQ2pCLENBQUM7UUFDRixNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFNUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUM7UUFFaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUM7WUFDbkIsVUFBVSxFQUFFLElBQUksSUFBSSxVQUFVO1lBQzlCLFdBQVc7WUFDWCxjQUFjO1lBQ2QsU0FBUztZQUNULElBQUk7U0FDUCxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1lBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUNuRSxJQUFJLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQztRQUNqQyxDQUFDO0lBQ0wsQ0FBQzs4R0FwRFEsa0JBQWtCO2tHQUFsQixrQkFBa0IsMmJDbkMvQiwwcUJBaUJBLG1NRGFjLFNBQVMsOENBQUUsaUJBQWlCLG9QQUFlLG1CQUFtQjs7MkZBSy9ELGtCQUFrQjtrQkFSOUIsU0FBUzsrQkFDSSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxtQkFHeEQsdUJBQXVCLENBQUMsTUFBTTs4QkFHcEIsU0FBUztzQkFBbkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBV2tCLFdBQVc7c0JBQXJELFdBQVc7dUJBQUMsNEJBQTRCO2dCQUNBLFVBQVU7c0JBQWxELFdBQVc7dUJBQUMsMEJBQTBCO2dCQUNHLGNBQWM7c0JBQXZELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUNMLElBQUk7c0JBQXRDLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNYLEtBQUs7c0JBQTFCLFdBQVc7dUJBQUMsT0FBTztnQkFDaUIsU0FBUztzQkFBN0MsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBQ0YsTUFBTTtzQkFBdEMsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nQ29tcG9uZW50T3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBjb21wdXRlZCxcbiAgICBpbmplY3QsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOb0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvbm8tY29tcG9uZW50L25vLWNvbXBvbmVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0NvbXBvbmVudEVudGl0eSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBEb3RDTVNDb250YWluZXIsIERvdENNU0NvbnRlbnRsZXQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZG90Y21zLm1vZGVsJztcbmltcG9ydCB7IFBhZ2VDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RvdGNtcy1jb250ZXh0L3BhZ2UtY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IGdldENvbnRhaW5lcnNEYXRhIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQ29udGVudGxldENvbXBvbmVudCB9IGZyb20gJy4uL2NvbnRlbnRsZXQvY29udGVudGxldC5jb21wb25lbnQnO1xuXG5pbnRlcmZhY2UgRG90Q29udGFpbmVyIHtcbiAgICBhY2NlcHRUeXBlczogc3RyaW5nO1xuICAgIGlkZW50aWZpZXI6IHN0cmluZztcbiAgICBtYXhDb250ZW50bGV0czogbnVtYmVyO1xuICAgIHV1aWQ6IHN0cmluZztcbiAgICB2YXJpYW50SWQ/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZG90Y21zLWNvbnRhaW5lcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ0NvbXBvbmVudE91dGxldCwgTm9Db21wb25lbnQsIENvbnRlbnRsZXRDb21wb25lbnRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9jb250YWluZXIuY29tcG9uZW50LmNzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb250YWluZXIhOiBEb3RDTVNDb250YWluZXI7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2VDb250ZXh0U2VydmljZTogUGFnZUNvbnRleHRTZXJ2aWNlID0gaW5qZWN0KFBhZ2VDb250ZXh0U2VydmljZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IE5vQ29tcG9uZW50ID0gTm9Db21wb25lbnQ7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5ICRpc0luc2lkZUVkaXRvciA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBwcm90ZWN0ZWQgY29tcG9uZW50c01hcCE6IFJlY29yZDxzdHJpbmcsIER5bmFtaWNDb21wb25lbnRFbnRpdHk+O1xuICAgIHByb3RlY3RlZCAkY29udGVudGxldHMgPSBzaWduYWw8RG90Q01TQ29udGVudGxldFtdPihbXSk7XG4gICAgcHJvdGVjdGVkICRkb3RDb250YWluZXIgPSBzaWduYWw8RG90Q29udGFpbmVyIHwgbnVsbD4obnVsbCk7XG4gICAgcHJvdGVjdGVkICRkb3RDb250YWluZXJBc1N0cmluZyA9IGNvbXB1dGVkKCgpID0+IEpTT04uc3RyaW5naWZ5KHRoaXMuJGRvdENvbnRhaW5lcigpKSk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1kb3QtYWNjZXB0LXR5cGVzJykgYWNjZXB0VHlwZXM6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWRvdC1pZGVudGlmaWVyJykgaWRlbnRpZmllcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtbWF4LWNvbnRlbnRsZXRzJykgbWF4Q29udGVudGxldHM6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWRvdC11dWlkJykgdXVpZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1kb3Qtb2JqZWN0JykgZG90T2JqZWN0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10ZXN0aWQnKSB0ZXN0SWQgPSAnZG90LWNvbnRhaW5lcic7XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgcGFnZUFzc2V0OiB7IGNvbnRhaW5lcnMgfSxcbiAgICAgICAgICAgIGNvbXBvbmVudHMsXG4gICAgICAgICAgICBpc0luc2lkZUVkaXRvclxuICAgICAgICB9ID0gdGhpcy5wYWdlQ29udGV4dFNlcnZpY2UucGFnZUNvbnRleHRWYWx1ZTtcbiAgICAgICAgY29uc3QgeyBhY2NlcHRUeXBlcywgbWF4Q29udGVudGxldHMsIHZhcmlhbnRJZCwgcGF0aCwgY29udGVudGxldHMgfSA9IGdldENvbnRhaW5lcnNEYXRhKFxuICAgICAgICAgICAgY29udGFpbmVycyxcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHsgaWRlbnRpZmllciwgdXVpZCB9ID0gdGhpcy5jb250YWluZXI7XG5cbiAgICAgICAgdGhpcy5jb21wb25lbnRzTWFwID0gY29tcG9uZW50cztcblxuICAgICAgICB0aGlzLiRpc0luc2lkZUVkaXRvci5zZXQoaXNJbnNpZGVFZGl0b3IpO1xuICAgICAgICB0aGlzLiRjb250ZW50bGV0cy5zZXQoY29udGVudGxldHMpO1xuICAgICAgICB0aGlzLiRkb3RDb250YWluZXIuc2V0KHtcbiAgICAgICAgICAgIGlkZW50aWZpZXI6IHBhdGggPz8gaWRlbnRpZmllcixcbiAgICAgICAgICAgIGFjY2VwdFR5cGVzLFxuICAgICAgICAgICAgbWF4Q29udGVudGxldHMsXG4gICAgICAgICAgICB2YXJpYW50SWQsXG4gICAgICAgICAgICB1dWlkXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLiRpc0luc2lkZUVkaXRvcigpKSB7XG4gICAgICAgICAgICB0aGlzLmFjY2VwdFR5cGVzID0gYWNjZXB0VHlwZXM7XG4gICAgICAgICAgICB0aGlzLmlkZW50aWZpZXIgPSBpZGVudGlmaWVyO1xuICAgICAgICAgICAgdGhpcy5tYXhDb250ZW50bGV0cyA9IG1heENvbnRlbnRsZXRzO1xuICAgICAgICAgICAgdGhpcy51dWlkID0gdXVpZDtcbiAgICAgICAgICAgIHRoaXMuY2xhc3MgPSB0aGlzLiRjb250ZW50bGV0cygpLmxlbmd0aCA/IG51bGwgOiAnZW1wdHktY29udGFpbmVyJztcbiAgICAgICAgICAgIHRoaXMuZG90T2JqZWN0ID0gJ2NvbnRhaW5lcic7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKCRpc0luc2lkZUVkaXRvcigpKSB7IEBpZigkY29udGVudGxldHMoKS5sZW5ndGgpeyBAZm9yIChjb250ZW50bGV0IG9mICRjb250ZW50bGV0cygpOyB0cmFja1xuJGluZGV4KSB7XG5cbjxkb3RjbXMtY29udGVudGxldC13cmFwcGVyIFtjb250ZW50bGV0XT1cImNvbnRlbnRsZXRcIiBbY29udGFpbmVyXT1cIiRkb3RDb250YWluZXJBc1N0cmluZygpXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJcbiAgICAgICAgICAgIChjb21wb25lbnRzTWFwW2NvbnRlbnRsZXQuY29udGVudFR5cGVdIHwgYXN5bmMpIHx8IE5vQ29tcG9uZW50O1xuICAgICAgICAgICAgaW5wdXRzOiB7IGNvbnRlbnRsZXQgfVxuICAgICAgICBcIiAvPlxuPC9kb3RjbXMtY29udGVudGxldC13cmFwcGVyPlxufSB9IEBlbHNlIHsgVGhpcyBjb250YWluZXIgaXMgZW1wdHkuIH0gfSBAZWxzZSB7IEBmb3IgKGNvbnRlbnRsZXQgb2YgJGNvbnRlbnRsZXRzKCk7IHRyYWNrICRpbmRleCkge1xuPG5nLWNvbnRhaW5lclxuICAgICpuZ0NvbXBvbmVudE91dGxldD1cIlxuICAgICAgICAoY29tcG9uZW50c01hcFtjb250ZW50bGV0LmNvbnRlbnRUeXBlXSB8IGFzeW5jKSB8fCBOb0NvbXBvbmVudDtcbiAgICAgICAgaW5wdXRzOiB7IGNvbnRlbnRsZXQgfVxuICAgIFwiIC8+XG59IH1cbiJdfQ==
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ContentletComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.identifier = null;
|
|
6
|
+
this.baseType = null;
|
|
7
|
+
this.title = null;
|
|
8
|
+
this.inode = null;
|
|
9
|
+
this.dotType = null;
|
|
10
|
+
this.dotContainer = null;
|
|
11
|
+
this.numberOfPages = null;
|
|
12
|
+
this.dotContent = null;
|
|
13
|
+
}
|
|
14
|
+
ngOnChanges() {
|
|
15
|
+
this.identifier = this.contentlet.identifier;
|
|
16
|
+
this.baseType = this.contentlet.baseType;
|
|
17
|
+
this.title = this.contentlet.title;
|
|
18
|
+
this.inode = this.contentlet.inode;
|
|
19
|
+
this.dotType = this.contentlet.contentType;
|
|
20
|
+
this.dotContainer = this.container;
|
|
21
|
+
this.numberOfPages = this.contentlet['onNumberOfPages'];
|
|
22
|
+
this.dotContent = 'contentlet';
|
|
23
|
+
}
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ContentletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: ContentletComponent, isStandalone: true, selector: "dotcms-contentlet-wrapper", inputs: { contentlet: "contentlet", container: "container" }, host: { properties: { "attr.data-dot-identifier": "this.identifier", "attr.data-dot-basetype": "this.baseType", "attr.data-dot-title": "this.title", "attr.data-dot-inode": "this.inode", "attr.data-dot-type": "this.dotType", "attr.data-dot-container": "this.dotContainer", "attr.data-dot-on-number-of-pages": "this.numberOfPages", "attr.data-dot-object": "this.dotContent" } }, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ContentletComponent, decorators: [{
|
|
28
|
+
type: Component,
|
|
29
|
+
args: [{
|
|
30
|
+
selector: 'dotcms-contentlet-wrapper',
|
|
31
|
+
standalone: true,
|
|
32
|
+
template: '<ng-content></ng-content>',
|
|
33
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
34
|
+
}]
|
|
35
|
+
}], propDecorators: { contentlet: [{
|
|
36
|
+
type: Input,
|
|
37
|
+
args: [{ required: true }]
|
|
38
|
+
}], container: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], identifier: [{
|
|
41
|
+
type: HostBinding,
|
|
42
|
+
args: ['attr.data-dot-identifier']
|
|
43
|
+
}], baseType: [{
|
|
44
|
+
type: HostBinding,
|
|
45
|
+
args: ['attr.data-dot-basetype']
|
|
46
|
+
}], title: [{
|
|
47
|
+
type: HostBinding,
|
|
48
|
+
args: ['attr.data-dot-title']
|
|
49
|
+
}], inode: [{
|
|
50
|
+
type: HostBinding,
|
|
51
|
+
args: ['attr.data-dot-inode']
|
|
52
|
+
}], dotType: [{
|
|
53
|
+
type: HostBinding,
|
|
54
|
+
args: ['attr.data-dot-type']
|
|
55
|
+
}], dotContainer: [{
|
|
56
|
+
type: HostBinding,
|
|
57
|
+
args: ['attr.data-dot-container']
|
|
58
|
+
}], numberOfPages: [{
|
|
59
|
+
type: HostBinding,
|
|
60
|
+
args: ['attr.data-dot-on-number-of-pages']
|
|
61
|
+
}], dotContent: [{
|
|
62
|
+
type: HostBinding,
|
|
63
|
+
args: ['attr.data-dot-object']
|
|
64
|
+
}] } });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudGxldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9hbmd1bGFyL3NyYy9saWIvbGF5b3V0L2NvbnRlbnRsZXQvY29udGVudGxldC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDOztBQVVsRyxNQUFNLE9BQU8sbUJBQW1CO0lBTmhDO1FBVTZDLGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBQ25DLGFBQVEsR0FBa0IsSUFBSSxDQUFDO1FBQ2xDLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBQzVCLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBQzdCLFlBQU8sR0FBa0IsSUFBSSxDQUFDO1FBQ3pCLGlCQUFZLEdBQWtCLElBQUksQ0FBQztRQUMxQixrQkFBYSxHQUFrQixJQUFJLENBQUM7UUFDaEQsZUFBVSxHQUFrQixJQUFJLENBQUM7S0FZekU7SUFWRyxXQUFXO1FBQ1AsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztRQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO1FBQzNDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQztJQUNuQyxDQUFDOzhHQXRCUSxtQkFBbUI7a0dBQW5CLG1CQUFtQixpaUJBSGxCLDJCQUEyQjs7MkZBRzVCLG1CQUFtQjtrQkFOL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzhCQUU4QixVQUFVO3NCQUFwQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDaEIsU0FBUztzQkFBakIsS0FBSztnQkFFbUMsVUFBVTtzQkFBbEQsV0FBVzt1QkFBQywwQkFBMEI7Z0JBQ0EsUUFBUTtzQkFBOUMsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBQ0QsS0FBSztzQkFBeEMsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBQ0UsS0FBSztzQkFBeEMsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBQ0MsT0FBTztzQkFBekMsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ08sWUFBWTtzQkFBbkQsV0FBVzt1QkFBQyx5QkFBeUI7Z0JBQ1csYUFBYTtzQkFBN0QsV0FBVzt1QkFBQyxrQ0FBa0M7Z0JBQ1YsVUFBVTtzQkFBOUMsV0FBVzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEb3RDTVNDb250ZW50bGV0IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkb3RjbXMtY29udGVudGxldC13cmFwcGVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudGxldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY29udGVudGxldCE6IERvdENNU0NvbnRlbnRsZXQ7XG4gICAgQElucHV0KCkgY29udGFpbmVyITogc3RyaW5nO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtZG90LWlkZW50aWZpZXInKSBpZGVudGlmaWVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1kb3QtYmFzZXR5cGUnKSBiYXNlVHlwZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtZG90LXRpdGxlJykgdGl0bGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWRvdC1pbm9kZScpIGlub2RlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1kb3QtdHlwZScpIGRvdFR5cGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWRvdC1jb250YWluZXInKSBkb3RDb250YWluZXI6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWRvdC1vbi1udW1iZXItb2YtcGFnZXMnKSBudW1iZXJPZlBhZ2VzOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1kb3Qtb2JqZWN0JykgZG90Q29udGVudDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgdGhpcy5pZGVudGlmaWVyID0gdGhpcy5jb250ZW50bGV0LmlkZW50aWZpZXI7XG4gICAgICAgIHRoaXMuYmFzZVR5cGUgPSB0aGlzLmNvbnRlbnRsZXQuYmFzZVR5cGU7XG4gICAgICAgIHRoaXMudGl0bGUgPSB0aGlzLmNvbnRlbnRsZXQudGl0bGU7XG4gICAgICAgIHRoaXMuaW5vZGUgPSB0aGlzLmNvbnRlbnRsZXQuaW5vZGU7XG4gICAgICAgIHRoaXMuZG90VHlwZSA9IHRoaXMuY29udGVudGxldC5jb250ZW50VHlwZTtcbiAgICAgICAgdGhpcy5kb3RDb250YWluZXIgPSB0aGlzLmNvbnRhaW5lcjtcbiAgICAgICAgdGhpcy5udW1iZXJPZlBhZ2VzID0gdGhpcy5jb250ZW50bGV0Wydvbk51bWJlck9mUGFnZXMnXTtcbiAgICAgICAgdGhpcy5kb3RDb250ZW50ID0gJ2NvbnRlbnRsZXQnO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, DestroyRef, Input, inject } from '@angular/core';
|
|
2
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { ActivatedRoute, Router } from '@angular/router';
|
|
4
|
+
import { filter } from 'rxjs/operators';
|
|
5
|
+
import { initEditor, isInsideEditor, updateNavigation } from '@dotcms/client';
|
|
6
|
+
import { PageContextService } from '../../services/dotcms-context/page-context.service';
|
|
7
|
+
import { RowComponent } from '../row/row.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* `DotcmsLayoutComponent` is a class that represents the layout for a DotCMS page.
|
|
11
|
+
* It includes a `pageAsset` property that represents the DotCMS page asset and a `components` property that represents the dynamic components for the page.
|
|
12
|
+
*
|
|
13
|
+
* @export
|
|
14
|
+
* @class DotcmsLayoutComponent
|
|
15
|
+
*/
|
|
16
|
+
export class DotcmsLayoutComponent {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.route = inject(ActivatedRoute);
|
|
19
|
+
this.router = inject(Router);
|
|
20
|
+
this.pageContextService = inject(PageContextService);
|
|
21
|
+
this.destroyRef$ = inject(DestroyRef);
|
|
22
|
+
}
|
|
23
|
+
ngOnInit() {
|
|
24
|
+
this.route.url
|
|
25
|
+
.pipe(takeUntilDestroyed(this.destroyRef$), filter(() => isInsideEditor()))
|
|
26
|
+
.subscribe((urlSegments) => {
|
|
27
|
+
const pathname = '/' + urlSegments.join('/');
|
|
28
|
+
const config = {
|
|
29
|
+
pathname,
|
|
30
|
+
onReload: () => {
|
|
31
|
+
// Reload the page when the user edit the page
|
|
32
|
+
this.router.navigate([pathname], {
|
|
33
|
+
onSameUrlNavigation: 'reload' // Force Angular to reload the page
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
initEditor(config);
|
|
38
|
+
updateNavigation(pathname || '/');
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
ngOnChanges() {
|
|
42
|
+
//Each time the layout changes, we need to update the context
|
|
43
|
+
this.pageContextService.setContext(this.pageAsset, this.components);
|
|
44
|
+
}
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DotcmsLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
+
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: `@for(row of pageAsset.layout.body.rows; track $index) {
|
|
47
|
+
<dotcms-row [row]="row" />
|
|
48
|
+
}`, isInline: true, styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: RowComponent, selector: "dotcms-row", inputs: ["row"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
49
|
+
}
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DotcmsLayoutComponent, decorators: [{
|
|
51
|
+
type: Component,
|
|
52
|
+
args: [{ selector: 'dotcms-layout', standalone: true, imports: [RowComponent], template: `@for(row of pageAsset.layout.body.rows; track $index) {
|
|
53
|
+
<dotcms-row [row]="row" />
|
|
54
|
+
}`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}\n"] }]
|
|
55
|
+
}], propDecorators: { pageAsset: [{
|
|
56
|
+
type: Input,
|
|
57
|
+
args: [{ required: true }]
|
|
58
|
+
}], components: [{
|
|
59
|
+
type: Input,
|
|
60
|
+
args: [{ required: true }]
|
|
61
|
+
}] } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90Y21zLWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9hbmd1bGFyL3NyYy9saWIvbGF5b3V0L2RvdGNtcy1sYXlvdXQvZG90Y21zLWxheW91dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFFTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUk5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXBEOzs7Ozs7R0FNRztBQVdILE1BQU0sT0FBTyxxQkFBcUI7SUFWbEM7UUFjcUIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hELGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBNEJyRDtJQTFCRyxRQUFRO1FBQ0osSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHO2FBQ1QsSUFBSSxDQUNELGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDcEMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQ2pDO2FBQ0EsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDdkIsTUFBTSxRQUFRLEdBQUcsR0FBRyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0MsTUFBTSxNQUFNLEdBQUc7Z0JBQ1gsUUFBUTtnQkFDUixRQUFRLEVBQUUsR0FBRyxFQUFFO29CQUNYLDhDQUE4QztvQkFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRTt3QkFDN0IsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLG1DQUFtQztxQkFDcEUsQ0FBQyxDQUFDO2dCQUNQLENBQUM7YUFDSixDQUFDO1lBQ0YsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25CLGdCQUFnQixDQUFDLFFBQVEsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxXQUFXO1FBQ1AsNkRBQTZEO1FBQzdELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEUsQ0FBQzs4R0FsQ1EscUJBQXFCO2tHQUFyQixxQkFBcUIsNEpBTnBCOztVQUVKLGdHQUhJLFlBQVk7OzJGQU9iLHFCQUFxQjtrQkFWakMsU0FBUzsrQkFDSSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLFlBQ2I7O1VBRUosbUJBRVcsdUJBQXVCLENBQUMsTUFBTTs4QkFHcEIsU0FBUztzQkFBbkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsVUFBVTtzQkFBcEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBEZXN0cm95UmVmLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBpbml0RWRpdG9yLCBpc0luc2lkZUVkaXRvciwgdXBkYXRlTmF2aWdhdGlvbiB9IGZyb20gJ0Bkb3RjbXMvY2xpZW50JztcblxuaW1wb3J0IHsgRHluYW1pY0NvbXBvbmVudEVudGl0eSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBEb3RDTVNQYWdlQXNzZXQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZG90Y21zLm1vZGVsJztcbmltcG9ydCB7IFBhZ2VDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RvdGNtcy1jb250ZXh0L3BhZ2UtY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IFJvd0NvbXBvbmVudCB9IGZyb20gJy4uL3Jvdy9yb3cuY29tcG9uZW50JztcblxuLyoqXG4gKiBgRG90Y21zTGF5b3V0Q29tcG9uZW50YCBpcyBhIGNsYXNzIHRoYXQgcmVwcmVzZW50cyB0aGUgbGF5b3V0IGZvciBhIERvdENNUyBwYWdlLlxuICogIEl0IGluY2x1ZGVzIGEgYHBhZ2VBc3NldGAgcHJvcGVydHkgdGhhdCByZXByZXNlbnRzIHRoZSBEb3RDTVMgcGFnZSBhc3NldCBhbmQgYSBgY29tcG9uZW50c2AgcHJvcGVydHkgdGhhdCByZXByZXNlbnRzIHRoZSBkeW5hbWljIGNvbXBvbmVudHMgZm9yIHRoZSBwYWdlLlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBEb3RjbXNMYXlvdXRDb21wb25lbnRcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkb3RjbXMtbGF5b3V0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtSb3dDb21wb25lbnRdLFxuICAgIHRlbXBsYXRlOiBgQGZvcihyb3cgb2YgcGFnZUFzc2V0LmxheW91dC5ib2R5LnJvd3M7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8ZG90Y21zLXJvdyBbcm93XT1cInJvd1wiIC8+XG4gICAgICAgIH1gLFxuICAgIHN0eWxlVXJsOiAnLi9kb3RjbXMtbGF5b3V0LmNvbXBvbmVudC5jc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERvdGNtc0xheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcGFnZUFzc2V0ITogRG90Q01TUGFnZUFzc2V0O1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbXBvbmVudHMhOiBSZWNvcmQ8c3RyaW5nLCBEeW5hbWljQ29tcG9uZW50RW50aXR5PjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWdlQ29udGV4dFNlcnZpY2UgPSBpbmplY3QoUGFnZUNvbnRleHRTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYkID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMucm91dGUudXJsXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmJCksXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+IGlzSW5zaWRlRWRpdG9yKCkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh1cmxTZWdtZW50cykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGhuYW1lID0gJy8nICsgdXJsU2VnbWVudHMuam9pbignLycpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aG5hbWUsXG4gICAgICAgICAgICAgICAgICAgIG9uUmVsb2FkOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWxvYWQgdGhlIHBhZ2Ugd2hlbiB0aGUgdXNlciBlZGl0IHRoZSBwYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcGF0aG5hbWVdLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25TYW1lVXJsTmF2aWdhdGlvbjogJ3JlbG9hZCcgLy8gRm9yY2UgQW5ndWxhciB0byByZWxvYWQgdGhlIHBhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBpbml0RWRpdG9yKGNvbmZpZyk7XG4gICAgICAgICAgICAgICAgdXBkYXRlTmF2aWdhdGlvbihwYXRobmFtZSB8fCAnLycpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIC8vRWFjaCB0aW1lIHRoZSBsYXlvdXQgY2hhbmdlcywgd2UgbmVlZCB0byB1cGRhdGUgdGhlIGNvbnRleHRcbiAgICAgICAgdGhpcy5wYWdlQ29udGV4dFNlcnZpY2Uuc2V0Q29udGV4dCh0aGlzLnBhZ2VBc3NldCwgdGhpcy5jb21wb25lbnRzKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { ColumnComponent } from '../column/column.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class RowComponent {
|
|
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: `@for(column of row.columns; track $index) {
|
|
7
|
+
<dotcms-column [column]="column" />
|
|
8
|
+
}`, 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
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: RowComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: 'dotcms-row', standalone: true, imports: [ColumnComponent], template: `@for(column of row.columns; track $index) {
|
|
13
|
+
<dotcms-column [column]="column" />
|
|
14
|
+
}`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;row-gap:1rem}\n"] }]
|
|
15
|
+
}], propDecorators: { row: [{
|
|
16
|
+
type: Input,
|
|
17
|
+
args: [{ required: true }]
|
|
18
|
+
}] } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2FuZ3VsYXIvc3JjL2xpYi9sYXlvdXQvcm93L3Jvdy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVk3RCxNQUFNLE9BQU8sWUFBWTs4R0FBWixZQUFZO2tHQUFaLFlBQVksOEZBTlg7O1VBRUosMEpBSEksZUFBZTs7MkZBT2hCLFlBQVk7a0JBVnhCLFNBQVM7K0JBQ0ksWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLGVBQWUsQ0FBQyxZQUNoQjs7VUFFSixtQkFFVyx1QkFBdUIsQ0FBQyxNQUFNOzhCQUdwQixHQUFHO3NCQUE3QixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERvdFBhZ2VBc3NldExheW91dFJvdyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuLi9jb2x1bW4vY29sdW1uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZG90Y21zLXJvdycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29sdW1uQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZTogYEBmb3IoY29sdW1uIG9mIHJvdy5jb2x1bW5zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPGRvdGNtcy1jb2x1bW4gW2NvbHVtbl09XCJjb2x1bW5cIiAvPlxuICAgICAgICB9YCxcbiAgICBzdHlsZVVybDogJy4vcm93LmNvbXBvbmVudC5jc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFJvd0NvbXBvbmVudCB7XG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcm93ITogRG90UGFnZUFzc2V0TGF5b3V0Um93O1xufVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
export {};
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90Y21zLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvYW5ndWxhci9zcmMvbGliL21vZGVscy9kb3RjbXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIERvdENNU1BhZ2VBc3NldCB7XG4gICAgY2FuQ3JlYXRlVGVtcGxhdGU6IGJvb2xlYW47XG4gICAgY29udGFpbmVyczogRG90Q01TUGFnZUFzc2V0Q29udGFpbmVyO1xuICAgIGxheW91dDogRG90Q01TTGF5b3V0O1xuICAgIHBhZ2U6IERvdENNU1BhZ2U7XG4gICAgc2l0ZTogRG90Q01TU2l0ZTtcbiAgICB0ZW1wbGF0ZTogRG90Q01TVGVtcGxhdGU7XG4gICAgdmlld0FzOiBEb3RDTVNWaWV3QXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG90UGFnZUFzc2V0TGF5b3V0Um93IHtcbiAgICBpZGVudGlmaWVyOiBudW1iZXI7XG4gICAgdmFsdWU/OiBzdHJpbmc7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgY29sdW1uczogRG90UGFnZUFzc2V0TGF5b3V0Q29sdW1uW107XG4gICAgc3R5bGVDbGFzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb3RQYWdlQXNzZXRMYXlvdXRDb2x1bW4ge1xuICAgIHByZXZpZXc6IGJvb2xlYW47XG4gICAgY29udGFpbmVyczogRG90Q01TQ29udGFpbmVyW107XG4gICAgd2lkdGhQZXJjZW50OiBudW1iZXI7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBsZWZ0T2Zmc2V0OiBudW1iZXI7XG4gICAgbGVmdDogbnVtYmVyO1xuICAgIHN0eWxlQ2xhc3M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG90Q01TUGFnZUFzc2V0Q29udGFpbmVyIHtcbiAgICBba2V5OiBzdHJpbmddOiB7XG4gICAgICAgIGNvbnRhaW5lcjogRG90Q01TQ29udGFpbmVyO1xuICAgICAgICBjb250YWluZXJTdHJ1Y3R1cmVzOiBEb3RDTVNDb250YWluZXJTdHJ1Y3R1cmVbXTtcbiAgICAgICAgY29udGVudGxldHM6IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IERvdENNU0NvbnRlbnRsZXRbXTtcbiAgICAgICAgfTtcbiAgICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvdENNU0NvbnRhaW5lciB7XG4gICAgaWRlbnRpZmllcjogc3RyaW5nO1xuICAgIHV1aWQ6IHN0cmluZztcbiAgICBpRGF0ZTogbnVtYmVyO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBvd25lcj86IHN0cmluZztcbiAgICBpbm9kZTogc3RyaW5nO1xuICAgIHNvdXJjZTogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZnJpZW5kbHlOYW1lOiBzdHJpbmc7XG4gICAgbW9kRGF0ZTogbnVtYmVyO1xuICAgIG1vZFVzZXI6IHN0cmluZztcbiAgICBzb3J0T3JkZXI6IG51bWJlcjtcbiAgICBzaG93T25NZW51OiBib29sZWFuO1xuICAgIGNvZGU/OiBzdHJpbmc7XG4gICAgbWF4Q29udGVudGxldHM6IG51bWJlcjtcbiAgICB1c2VEaXY6IGJvb2xlYW47XG4gICAgc29ydENvbnRlbnRsZXRzQnk/OiBzdHJpbmc7XG4gICAgcHJlTG9vcDogc3RyaW5nO1xuICAgIHBvc3RMb29wOiBzdHJpbmc7XG4gICAgc3RhdGljaWZ5OiBib29sZWFuO1xuICAgIGx1Y2VuZVF1ZXJ5Pzogc3RyaW5nO1xuICAgIG5vdGVzOiBzdHJpbmc7XG4gICAgbGFuZ3VhZ2VJZD86IG51bWJlcjtcbiAgICBwYXRoPzogc3RyaW5nO1xuICAgIGxpdmU6IGJvb2xlYW47XG4gICAgbG9ja2VkOiBib29sZWFuO1xuICAgIHdvcmtpbmc6IGJvb2xlYW47XG4gICAgZGVsZXRlZDogYm9vbGVhbjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYXJjaGl2ZWQ6IGJvb2xlYW47XG4gICAgcGVybWlzc2lvbklkOiBzdHJpbmc7XG4gICAgdmVyc2lvbklkOiBzdHJpbmc7XG4gICAgdmVyc2lvblR5cGU6IHN0cmluZztcbiAgICBwZXJtaXNzaW9uVHlwZTogc3RyaW5nO1xuICAgIGNhdGVnb3J5SWQ6IHN0cmluZztcbiAgICBpZGF0ZTogbnVtYmVyO1xuICAgIG5ldzogYm9vbGVhbjtcbiAgICBhY2NlcHRUeXBlczogc3RyaW5nO1xuICAgIGNvbnRlbnRsZXRzOiBEb3RDTVNDb250ZW50bGV0W107XG4gICAgcGFyZW50UGVybWlzc2lvbmFibGU6IERvdENNU1NpdGVQYXJlbnRQZXJtaXNzaW9uYWJsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb3RDTVNDb250ZW50bGV0IHtcbiAgICBhcmNoaXZlZDogYm9vbGVhbjtcbiAgICBiYXNlVHlwZTogc3RyaW5nO1xuICAgIGRlbGV0ZWQ/OiBib29sZWFuO1xuICAgIGJpbmFyeT86IHN0cmluZztcbiAgICBiaW5hcnlDb250ZW50QXNzZXQ/OiBzdHJpbmc7XG4gICAgYmluYXJ5VmVyc2lvbj86IHN0cmluZztcbiAgICBjb250ZW50VHlwZTogc3RyaW5nO1xuICAgIGZpbGU/OiBzdHJpbmc7XG4gICAgZm9sZGVyOiBzdHJpbmc7XG4gICAgaGFzTGl2ZVZlcnNpb24/OiBib29sZWFuO1xuICAgIGhhc1RpdGxlSW1hZ2U6IGJvb2xlYW47XG4gICAgaG9zdDogc3RyaW5nO1xuICAgIGhvc3ROYW1lOiBzdHJpbmc7XG4gICAgaWRlbnRpZmllcjogc3RyaW5nO1xuICAgIGlub2RlOiBzdHJpbmc7XG4gICAgaW1hZ2U/OiBzdHJpbmc7XG4gICAgbGFuZ3VhZ2VJZDogbnVtYmVyO1xuICAgIGxhbmd1YWdlPzogc3RyaW5nO1xuICAgIGxpdmU6IGJvb2xlYW47XG4gICAgbG9ja2VkOiBib29sZWFuO1xuICAgIG1pbWVUeXBlPzogc3RyaW5nO1xuICAgIG1vZERhdGU6IHN0cmluZztcbiAgICBtb2RVc2VyOiBzdHJpbmc7XG4gICAgbW9kVXNlck5hbWU6IHN0cmluZztcbiAgICBvd25lcjogc3RyaW5nO1xuICAgIHNvcnRPcmRlcjogbnVtYmVyO1xuICAgIHN0SW5vZGU6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHRpdGxlSW1hZ2U6IHN0cmluZztcbiAgICB0ZXh0Pzogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xuICAgIHdvcmtpbmc6IGJvb2xlYW47XG4gICAgYm9keT86IHN0cmluZztcbiAgICBjb250ZW50VHlwZUljb24/OiBzdHJpbmc7XG4gICAgdmFyaWFudD86IHN0cmluZztcbiAgICBfX2ljb25fXz86IHN0cmluZztcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7IC8vIFRoaXMgaXMgYSBjYXRjaC1hbGwgZm9yIGFueSBvdGhlciBjdXN0b20gcHJvcGVydGllcyB0aGF0IG1pZ2h0IGJlIG9uIHRoZSBjb250ZW50bGV0LlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvdGNtc05hdmlnYXRpb25JdGVtIHtcbiAgICBjb2RlPzogYW55O1xuICAgIGZvbGRlcjogc3RyaW5nO1xuICAgIGNoaWxkcmVuPzogRG90Y21zTmF2aWdhdGlvbkl0ZW1bXTtcbiAgICBob3N0OiBzdHJpbmc7XG4gICAgbGFuZ3VhZ2VJZDogbnVtYmVyO1xuICAgIGhyZWY6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBoYXNoOiBudW1iZXI7XG4gICAgdGFyZ2V0OiBzdHJpbmc7XG4gICAgb3JkZXI6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIERvdENNU1RlbXBsYXRlIHtcbiAgICBpRGF0ZTogbnVtYmVyO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBvd25lcjogc3RyaW5nO1xuICAgIGlub2RlOiBzdHJpbmc7XG4gICAgaWRlbnRpZmllcjogc3RyaW5nO1xuICAgIHNvdXJjZTogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZnJpZW5kbHlOYW1lOiBzdHJpbmc7XG4gICAgbW9kRGF0ZTogbnVtYmVyO1xuICAgIG1vZFVzZXI6IHN0cmluZztcbiAgICBzb3J0T3JkZXI6IG51bWJlcjtcbiAgICBzaG93T25NZW51OiBib29sZWFuO1xuICAgIGltYWdlOiBzdHJpbmc7XG4gICAgZHJhd2VkOiBib29sZWFuO1xuICAgIGRyYXdlZEJvZHk6IHN0cmluZztcbiAgICB0aGVtZTogc3RyaW5nO1xuICAgIGFub255bW91czogYm9vbGVhbjtcbiAgICB0ZW1wbGF0ZTogYm9vbGVhbjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgbGl2ZTogYm9vbGVhbjtcbiAgICBhcmNoaXZlZDogYm9vbGVhbjtcbiAgICBsb2NrZWQ6IGJvb2xlYW47XG4gICAgd29ya2luZzogYm9vbGVhbjtcbiAgICBwZXJtaXNzaW9uSWQ6IHN0cmluZztcbiAgICB2ZXJzaW9uSWQ6IHN0cmluZztcbiAgICB2ZXJzaW9uVHlwZTogc3RyaW5nO1xuICAgIGRlbGV0ZWQ6IGJvb2xlYW47XG4gICAgcGVybWlzc2lvblR5cGU6IHN0cmluZztcbiAgICBjYXRlZ29yeUlkOiBzdHJpbmc7XG4gICAgaWRhdGU6IG51bWJlcjtcbiAgICBuZXc6IGJvb2xlYW47XG4gICAgY2FuRWRpdDogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIERvdENNU1BhZ2Uge1xuICAgIHRlbXBsYXRlOiBzdHJpbmc7XG4gICAgbW9kRGF0ZTogbnVtYmVyO1xuICAgIG1ldGFkYXRhOiBzdHJpbmc7XG4gICAgY2FjaGV0dGw6IHN0cmluZztcbiAgICBwYWdlVVJJOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgc2hvd09uTWVudTogc3RyaW5nO1xuICAgIGh0dHBzUmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgaW5vZGU6IHN0cmluZztcbiAgICBkaXNhYmxlZFdZU0lXWUc6IGFueVtdO1xuICAgIHNlb2tleXdvcmRzOiBzdHJpbmc7XG4gICAgaG9zdDogc3RyaW5nO1xuICAgIGxhc3RSZXZpZXc6IG51bWJlcjtcbiAgICB3b3JraW5nOiBib29sZWFuO1xuICAgIGxvY2tlZDogYm9vbGVhbjtcbiAgICBzdElub2RlOiBzdHJpbmc7XG4gICAgZnJpZW5kbHlOYW1lOiBzdHJpbmc7XG4gICAgbGl2ZTogYm9vbGVhbjtcbiAgICBvd25lcjogc3RyaW5nO1xuICAgIGlkZW50aWZpZXI6IHN0cmluZztcbiAgICBudWxsUHJvcGVydGllczogYW55W107XG4gICAgZnJpZW5kbHluYW1lOiBzdHJpbmc7XG4gICAgcGFnZW1ldGFkYXRhOiBzdHJpbmc7XG4gICAgbGFuZ3VhZ2VJZDogbnVtYmVyO1xuICAgIHVybDogc3RyaW5nO1xuICAgIHNlb2Rlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgbW9kVXNlck5hbWU6IHN0cmluZztcbiAgICBmb2xkZXI6IHN0cmluZztcbiAgICBkZWxldGVkOiBib29sZWFuO1xuICAgIHNvcnRPcmRlcjogbnVtYmVyO1xuICAgIG1vZFVzZXI6IHN0cmluZztcbiAgICBwYWdlVXJsOiBzdHJpbmc7XG4gICAgd29ya2luZ0lub2RlOiBzdHJpbmc7XG4gICAgc2hvcnR5V29ya2luZzogc3RyaW5nO1xuICAgIGNhbkVkaXQ6IGJvb2xlYW47XG4gICAgY2FuUmVhZDogYm9vbGVhbjtcbiAgICBjYW5Mb2NrOiBib29sZWFuO1xuICAgIGxvY2tlZE9uOiBudW1iZXI7XG4gICAgbG9ja2VkQnk6IHN0cmluZztcbiAgICBsb2NrZWRCeU5hbWU6IHN0cmluZztcbiAgICBsaXZlSW5vZGU6IHN0cmluZztcbiAgICBzaG9ydHlMaXZlOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBEb3RDTVNWaWV3QXMge1xuICAgIGxhbmd1YWdlOiB7XG4gICAgICAgIGlkOiBudW1iZXI7XG4gICAgICAgIGxhbmd1YWdlQ29kZTogc3RyaW5nO1xuICAgICAgICBjb3VudHJ5Q29kZTogc3RyaW5nO1xuICAgICAgICBsYW5ndWFnZTogc3RyaW5nO1xuICAgICAgICBjb3VudHJ5OiBzdHJpbmc7XG4gICAgfTtcbiAgICBtb2RlOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBEb3RDTVNMYXlvdXQge1xuICAgIHBhZ2VXaWR0aDogc3RyaW5nO1xuICAgIHdpZHRoOiBzdHJpbmc7XG4gICAgbGF5b3V0OiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBoZWFkZXI6IGJvb2xlYW47XG4gICAgZm9vdGVyOiBib29sZWFuO1xuICAgIGJvZHk6IERvdFBhZ2VBc3NldExheW91dEJvZHk7XG4gICAgc2lkZWJhcjogRG90UGFnZUFzc2V0TGF5b3V0U2lkZWJhcjtcbn1cblxuaW50ZXJmYWNlIERvdENNU0NvbnRhaW5lclN0cnVjdHVyZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBzdHJ1Y3R1cmVJZDogc3RyaW5nO1xuICAgIGNvbnRhaW5lcklub2RlOiBzdHJpbmc7XG4gICAgY29udGFpbmVySWQ6IHN0cmluZztcbiAgICBjb2RlOiBzdHJpbmc7XG4gICAgY29udGVudFR5cGVWYXI6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIERvdFBhZ2VBc3NldExheW91dFNpZGViYXIge1xuICAgIHByZXZpZXc6IGJvb2xlYW47XG4gICAgY29udGFpbmVyczogRG90Q01TQ29udGFpbmVyW107XG4gICAgbG9jYXRpb246IHN0cmluZztcbiAgICB3aWR0aFBlcmNlbnQ6IG51bWJlcjtcbiAgICB3aWR0aDogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRG90UGFnZUFzc2V0TGF5b3V0Qm9keSB7XG4gICAgcm93czogRG90UGFnZUFzc2V0TGF5b3V0Um93W107XG59XG5cbmludGVyZmFjZSBEb3RDTVNTaXRlIHtcbiAgICBsb3dJbmRleFByaW9yaXR5OiBib29sZWFuO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZWZhdWx0OiBib29sZWFuO1xuICAgIGFsaWFzZXM6IHN0cmluZztcbiAgICBwYXJlbnQ6IGJvb2xlYW47XG4gICAgdGFnU3RvcmFnZTogc3RyaW5nO1xuICAgIHN5c3RlbUhvc3Q6IGJvb2xlYW47XG4gICAgaW5vZGU6IHN0cmluZztcbiAgICB2ZXJzaW9uVHlwZTogc3RyaW5nO1xuICAgIHN0cnVjdHVyZUlub2RlOiBzdHJpbmc7XG4gICAgaG9zdG5hbWU6IHN0cmluZztcbiAgICBob3N0VGh1bWJuYWlsPzogYW55O1xuICAgIG93bmVyOiBzdHJpbmc7XG4gICAgcGVybWlzc2lvbklkOiBzdHJpbmc7XG4gICAgcGVybWlzc2lvblR5cGU6IHN0cmluZztcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgaWRlbnRpZmllcjogc3RyaW5nO1xuICAgIG1vZERhdGU6IG51bWJlcjtcbiAgICBob3N0OiBzdHJpbmc7XG4gICAgbGl2ZTogYm9vbGVhbjtcbiAgICBpbmRleFBvbGljeTogc3RyaW5nO1xuICAgIGNhdGVnb3J5SWQ6IHN0cmluZztcbiAgICBhY3Rpb25JZD86IGFueTtcbiAgICBuZXc6IGJvb2xlYW47XG4gICAgYXJjaGl2ZWQ6IGJvb2xlYW47XG4gICAgbG9ja2VkOiBib29sZWFuO1xuICAgIGRpc2FibGVkV3lzaXd5ZzogYW55W107XG4gICAgbW9kVXNlcjogc3RyaW5nO1xuICAgIHdvcmtpbmc6IGJvb2xlYW47XG4gICAgdGl0bGVJbWFnZToge1xuICAgICAgICBwcmVzZW50OiBib29sZWFuO1xuICAgIH07XG4gICAgZm9sZGVyOiBzdHJpbmc7XG4gICAgaHRtbHBhZ2U6IGJvb2xlYW47XG4gICAgZmlsZUFzc2V0OiBib29sZWFuO1xuICAgIHZhbml0eVVybDogYm9vbGVhbjtcbiAgICBrZXlWYWx1ZTogYm9vbGVhbjtcbiAgICBzdHJ1Y3R1cmU/OiBEb3RDTVNTaXRlU3RydWN0dXJlO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgbGFuZ3VhZ2VJZDogbnVtYmVyO1xuICAgIGluZGV4UG9saWN5RGVwZW5kZW5jaWVzOiBzdHJpbmc7XG4gICAgY29udGVudFR5cGVJZDogc3RyaW5nO1xuICAgIHZlcnNpb25JZDogc3RyaW5nO1xuICAgIGxhc3RSZXZpZXc6IG51bWJlcjtcbiAgICBuZXh0UmV2aWV3PzogYW55O1xuICAgIHJldmlld0ludGVydmFsPzogYW55O1xuICAgIHNvcnRPcmRlcjogbnVtYmVyO1xuICAgIGNvbnRlbnRUeXBlOiBEb3RDTVNTaXRlQ29udGVudFR5cGU7XG59XG5cbmludGVyZmFjZSBEb3RDTVNTaXRlQ29udGVudFR5cGUge1xuICAgIG93bmVyPzogYW55O1xuICAgIHBhcmVudFBlcm1pc3Npb25hYmxlOiBEb3RDTVNTaXRlUGFyZW50UGVybWlzc2lvbmFibGU7XG4gICAgcGVybWlzc2lvbklkOiBzdHJpbmc7XG4gICAgcGVybWlzc2lvblR5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb3RDTVNTaXRlUGFyZW50UGVybWlzc2lvbmFibGUge1xuICAgIElub2RlOiBzdHJpbmc7XG4gICAgSWRlbnRpZmllcjogc3RyaW5nO1xuICAgIHBlcm1pc3Npb25CeUlkZW50aWZpZXI6IGJvb2xlYW47XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIG93bmVyPzogYW55O1xuICAgIGlkZW50aWZpZXI6IHN0cmluZztcbiAgICBwZXJtaXNzaW9uSWQ6IHN0cmluZztcbiAgICBwYXJlbnRQZXJtaXNzaW9uYWJsZT86IGFueTtcbiAgICBwZXJtaXNzaW9uVHlwZTogc3RyaW5nO1xuICAgIGlub2RlOiBzdHJpbmc7XG4gICAgY2hpbGRyZW5QZXJtaXNzaW9uYWJsZT86IGFueTtcbiAgICB2YXJpYW50SWQ/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBEb3RDTVNTaXRlU3RydWN0dXJlIHtcbiAgICBpRGF0ZTogbnVtYmVyO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBvd25lcj86IGFueTtcbiAgICBpbm9kZTogc3RyaW5nO1xuICAgIGlkZW50aWZpZXI6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBkZWZhdWx0U3RydWN0dXJlOiBib29sZWFuO1xuICAgIHJldmlld0ludGVydmFsPzogYW55O1xuICAgIHJldmlld2VyUm9sZT86IGFueTtcbiAgICBwYWdlZGV0YWlsPzogYW55O1xuICAgIHN0cnVjdHVyZVR5cGU6IG51bWJlcjtcbiAgICBmaXhlZDogYm9vbGVhbjtcbiAgICBzeXN0ZW06IGJvb2xlYW47XG4gICAgdmVsb2NpdHlWYXJOYW1lOiBzdHJpbmc7XG4gICAgdXJsTWFwUGF0dGVybj86IGFueTtcbiAgICBob3N0OiBzdHJpbmc7XG4gICAgZm9sZGVyOiBzdHJpbmc7XG4gICAgcHVibGlzaERhdGVWYXI/OiBhbnk7XG4gICAgZXhwaXJlRGF0ZVZhcj86IGFueTtcbiAgICBtb2REYXRlOiBudW1iZXI7XG4gICAgZmllbGRzOiBEb3RDTVNTaXRlRmllbGRbXTtcbiAgICB3aWRnZXQ6IGJvb2xlYW47XG4gICAgZGV0YWlsUGFnZT86IGFueTtcbiAgICBmaWVsZHNCeVNvcnRPcmRlcjogRG90Q01TU2l0ZUZpZWxkW107XG4gICAgZm9ybTogYm9vbGVhbjtcbiAgICBodG1scGFnZUFzc2V0OiBib29sZWFuO1xuICAgIGNvbnRlbnQ6IGJvb2xlYW47XG4gICAgZmlsZUFzc2V0OiBib29sZWFuO1xuICAgIHBlcnNvbmE6IGJvb2xlYW47XG4gICAgcGVybWlzc2lvbklkOiBzdHJpbmc7XG4gICAgcGVybWlzc2lvblR5cGU6IHN0cmluZztcbiAgICBsaXZlOiBib29sZWFuO1xuICAgIGNhdGVnb3J5SWQ6IHN0cmluZztcbiAgICBpZGF0ZTogbnVtYmVyO1xuICAgIG5ldzogYm9vbGVhbjtcbiAgICBhcmNoaXZlZDogYm9vbGVhbjtcbiAgICBsb2NrZWQ6IGJvb2xlYW47XG4gICAgbW9kVXNlcjogc3RyaW5nO1xuICAgIHdvcmtpbmc6IGJvb2xlYW47XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICB2ZXJzaW9uSWQ6IHN0cmluZztcbiAgICB2ZXJzaW9uVHlwZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRG90Q01TU2l0ZUZpZWxkIHtcbiAgICBpRGF0ZTogbnVtYmVyO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBvd25lcj86IGFueTtcbiAgICBpbm9kZTogc3RyaW5nO1xuICAgIGlkZW50aWZpZXI6IHN0cmluZztcbiAgICBzdHJ1Y3R1cmVJbm9kZTogc3RyaW5nO1xuICAgIGZpZWxkTmFtZTogc3RyaW5nO1xuICAgIGZpZWxkVHlwZTogc3RyaW5nO1xuICAgIGZpZWxkUmVsYXRpb25UeXBlPzogYW55O1xuICAgIGZpZWxkQ29udGVudGxldDogc3RyaW5nO1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIHZlbG9jaXR5VmFyTmFtZTogc3RyaW5nO1xuICAgIHNvcnRPcmRlcjogbnVtYmVyO1xuICAgIHZhbHVlcz86IGFueTtcbiAgICByZWdleENoZWNrPzogYW55O1xuICAgIGhpbnQ/OiBhbnk7XG4gICAgZGVmYXVsdFZhbHVlPzogYW55O1xuICAgIGluZGV4ZWQ6IGJvb2xlYW47XG4gICAgbGlzdGVkOiBib29sZWFuO1xuICAgIGZpeGVkOiBib29sZWFuO1xuICAgIHJlYWRPbmx5OiBib29sZWFuO1xuICAgIHNlYXJjaGFibGU6IGJvb2xlYW47XG4gICAgdW5pcXVlOiBib29sZWFuO1xuICAgIG1vZERhdGU6IG51bWJlcjtcbiAgICBkYXRhVHlwZTogc3RyaW5nO1xuICAgIGxpdmU6IGJvb2xlYW47XG4gICAgY2F0ZWdvcnlJZDogc3RyaW5nO1xuICAgIGlkYXRlOiBudW1iZXI7XG4gICAgbmV3OiBib29sZWFuO1xuICAgIGFyY2hpdmVkOiBib29sZWFuO1xuICAgIGxvY2tlZDogYm9vbGVhbjtcbiAgICBtb2RVc2VyOiBzdHJpbmc7XG4gICAgd29ya2luZzogYm9vbGVhbjtcbiAgICBwZXJtaXNzaW9uSWQ6IHN0cmluZztcbiAgICBwYXJlbnRQZXJtaXNzaW9uYWJsZT86IGFueTtcbiAgICBwZXJtaXNzaW9uVHlwZTogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdmVyc2lvbklkOiBzdHJpbmc7XG4gICAgdmVyc2lvblR5cGU6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
export * from './dotcms.model';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9hbmd1bGFyL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuZXhwb3J0ICogZnJvbSAnLi9kb3RjbXMubW9kZWwnO1xuXG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERvdENNU1BhZ2VBc3NldCB9IGZyb20gJy4vZG90Y21zLm1vZGVsJztcblxuZXhwb3J0IHR5cGUgRHluYW1pY0NvbXBvbmVudEVudGl0eSA9IFByb21pc2U8VHlwZTxhbnk+PjtcblxuZXhwb3J0IGludGVyZmFjZSBEb3RDTVNQYWdlQ29udGV4dCB7XG4gICAgcGFnZUFzc2V0OiBEb3RDTVNQYWdlQXNzZXQ7XG4gICAgY29tcG9uZW50czogRG90Q01TUGFnZUNvbXBvbmVudDtcbiAgICBpc0luc2lkZUVkaXRvcjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgRG90Q01TUGFnZUNvbXBvbmVudCA9IFJlY29yZDxzdHJpbmcsIER5bmFtaWNDb21wb25lbnRFbnRpdHk+O1xuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { isInsideEditor } from '@dotcms/client';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class PageContextService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.pageContext = null;
|
|
8
|
+
}
|
|
9
|
+
get pageContextValue() {
|
|
10
|
+
return this.pageContext;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Set the context
|
|
14
|
+
*
|
|
15
|
+
* @protected
|
|
16
|
+
* @param {DotCMSPageAsset} value
|
|
17
|
+
* @memberof DotcmsContextService
|
|
18
|
+
*/
|
|
19
|
+
setContext(pageAsset, components) {
|
|
20
|
+
this.pageContext = {
|
|
21
|
+
components,
|
|
22
|
+
pageAsset,
|
|
23
|
+
isInsideEditor: isInsideEditor()
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: PageContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
27
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: PageContextService, providedIn: 'root' }); }
|
|
28
|
+
}
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: PageContextService, decorators: [{
|
|
30
|
+
type: Injectable,
|
|
31
|
+
args: [{
|
|
32
|
+
providedIn: 'root'
|
|
33
|
+
}]
|
|
34
|
+
}] });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9hbmd1bGFyL3NyYy9saWIvc2VydmljZXMvZG90Y21zLWNvbnRleHQvcGFnZS1jb250ZXh0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQVFoRCxNQUFNLE9BQU8sa0JBQWtCO0lBSC9CO1FBSVksZ0JBQVcsR0FBNkIsSUFBSSxDQUFDO0tBb0J4RDtJQWxCRyxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFnQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxVQUFVLENBQUMsU0FBMEIsRUFBRSxVQUErQjtRQUNsRSxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2YsVUFBVTtZQUNWLFNBQVM7WUFDVCxjQUFjLEVBQUUsY0FBYyxFQUFFO1NBQ25DLENBQUM7SUFDTixDQUFDOzhHQXBCUSxrQkFBa0I7a0hBQWxCLGtCQUFrQixjQUZmLE1BQU07OzJGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgaXNJbnNpZGVFZGl0b3IgfSBmcm9tICdAZG90Y21zL2NsaWVudCc7XG5cbmltcG9ydCB7IERvdENNU1BhZ2VDb21wb25lbnQsIERvdENNU1BhZ2VDb250ZXh0IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IERvdENNU1BhZ2VBc3NldCB9IGZyb20gJy4uLy4uL21vZGVscy9kb3RjbXMubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VDb250ZXh0U2VydmljZSB7XG4gICAgcHJpdmF0ZSBwYWdlQ29udGV4dDogRG90Q01TUGFnZUNvbnRleHQgfCBudWxsID0gbnVsbDtcblxuICAgIGdldCBwYWdlQ29udGV4dFZhbHVlKCk6IERvdENNU1BhZ2VDb250ZXh0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFnZUNvbnRleHQgYXMgRG90Q01TUGFnZUNvbnRleHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBjb250ZXh0XG4gICAgICpcbiAgICAgKiBAcHJvdGVjdGVkXG4gICAgICogQHBhcmFtIHtEb3RDTVNQYWdlQXNzZXR9IHZhbHVlXG4gICAgICogQG1lbWJlcm9mIERvdGNtc0NvbnRleHRTZXJ2aWNlXG4gICAgICovXG4gICAgc2V0Q29udGV4dChwYWdlQXNzZXQ6IERvdENNU1BhZ2VBc3NldCwgY29tcG9uZW50czogRG90Q01TUGFnZUNvbXBvbmVudCkge1xuICAgICAgICB0aGlzLnBhZ2VDb250ZXh0ID0ge1xuICAgICAgICAgICAgY29tcG9uZW50cyxcbiAgICAgICAgICAgIHBhZ2VBc3NldCxcbiAgICAgICAgICAgIGlzSW5zaWRlRWRpdG9yOiBpc0luc2lkZUVkaXRvcigpXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|