@sitecore-jss/sitecore-jss-angular 16.0.3-canary.0 → 16.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/LICENSE.txt +202 -202
  2. package/README.md +5 -5
  3. package/dist/README.md +5 -5
  4. package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.js +1389 -1389
  5. package/dist/components/date.directive.d.ts +17 -17
  6. package/dist/components/file.directive.d.ts +14 -14
  7. package/dist/components/generic-link.directive.d.ts +14 -14
  8. package/dist/components/image.directive.d.ts +28 -28
  9. package/dist/components/link.directive.d.ts +18 -18
  10. package/dist/components/missing-component.component.d.ts +3 -3
  11. package/dist/components/placeholder-loading.directive.d.ts +5 -5
  12. package/dist/components/placeholder.component.d.ts +45 -45
  13. package/dist/components/placeholder.token.d.ts +30 -30
  14. package/dist/components/raw.component.d.ts +9 -9
  15. package/dist/components/render-component.component.d.ts +29 -29
  16. package/dist/components/render-each.directive.d.ts +5 -5
  17. package/dist/components/render-empty.directive.d.ts +5 -5
  18. package/dist/components/rendering-field.d.ts +20 -20
  19. package/dist/components/rendering.d.ts +5 -5
  20. package/dist/components/rich-text.directive.d.ts +12 -12
  21. package/dist/components/router-link.directive.d.ts +12 -12
  22. package/dist/components/text.directive.d.ts +13 -13
  23. package/dist/esm2015/components/date.directive.js +53 -53
  24. package/dist/esm2015/components/file.directive.js +43 -43
  25. package/dist/esm2015/components/generic-link.directive.js +58 -58
  26. package/dist/esm2015/components/image.directive.js +125 -125
  27. package/dist/esm2015/components/link.directive.js +101 -101
  28. package/dist/esm2015/components/missing-component.component.js +13 -13
  29. package/dist/esm2015/components/placeholder-loading.directive.js +15 -15
  30. package/dist/esm2015/components/placeholder.component.js +192 -192
  31. package/dist/esm2015/components/placeholder.token.js +21 -21
  32. package/dist/esm2015/components/raw.component.js +37 -37
  33. package/dist/esm2015/components/render-component.component.js +89 -89
  34. package/dist/esm2015/components/render-each.directive.js +15 -15
  35. package/dist/esm2015/components/render-empty.directive.js +15 -15
  36. package/dist/esm2015/components/rendering-field.js +1 -1
  37. package/dist/esm2015/components/rendering.js +8 -8
  38. package/dist/esm2015/components/rich-text.directive.js +41 -41
  39. package/dist/esm2015/components/router-link.directive.js +44 -44
  40. package/dist/esm2015/components/text.directive.js +54 -54
  41. package/dist/esm2015/jss-component-factory.service.js +87 -87
  42. package/dist/esm2015/layout-service-error.js +3 -3
  43. package/dist/esm2015/layout.service.js +28 -28
  44. package/dist/esm2015/lib.module.js +112 -112
  45. package/dist/esm2015/public_api.js +16 -16
  46. package/dist/esm2015/sitecore-jss-sitecore-jss-angular.js +13 -13
  47. package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.js +1047 -1047
  48. package/dist/jss-component-factory.service.d.ts +21 -21
  49. package/dist/layout-service-error.d.ts +8 -8
  50. package/dist/layout.service.d.ts +8 -8
  51. package/dist/lib.module.d.ts +24 -24
  52. package/dist/package.json +2 -2
  53. package/dist/public_api.d.ts +16 -16
  54. package/dist/sitecore-jss-sitecore-jss-angular.d.ts +12 -12
  55. package/package.json +3 -3
  56. package/typings/README.md +2 -2
@@ -1,54 +1,54 @@
1
- import { Directive, Input, TemplateRef, ViewContainerRef, } from '@angular/core';
2
- export class TextDirective {
3
- constructor(viewContainer, templateRef) {
4
- this.viewContainer = viewContainer;
5
- this.templateRef = templateRef;
6
- this.editable = true;
7
- this.encode = true;
8
- }
9
- ngOnChanges(changes) {
10
- if (changes.field || changes.editable || changes.encode) {
11
- if (!this.viewRef) {
12
- this.viewContainer.clear();
13
- this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
14
- }
15
- this.updateView();
16
- }
17
- }
18
- updateView() {
19
- const field = this.field;
20
- let editable = this.editable;
21
- if (!field || (!field.editable && !field.value)) {
22
- return;
23
- }
24
- // can't use editable value if we want to output unencoded
25
- if (!this.encode) {
26
- editable = false;
27
- }
28
- const html = field.editable && editable ? field.editable : field.value;
29
- const setDangerously = (field.editable && editable) || !this.encode;
30
- this.viewRef.rootNodes.forEach((node) => {
31
- if (setDangerously) {
32
- node.innerHTML = html;
33
- }
34
- else {
35
- node.textContent = html;
36
- }
37
- });
38
- }
39
- }
40
- TextDirective.decorators = [
41
- { type: Directive, args: [{
42
- selector: '[scText]',
43
- },] }
44
- ];
45
- TextDirective.ctorParameters = () => [
46
- { type: ViewContainerRef },
47
- { type: TemplateRef }
48
- ];
49
- TextDirective.propDecorators = {
50
- editable: [{ type: Input, args: ['scTextEditable',] }],
51
- encode: [{ type: Input, args: ['scTextEncode',] }],
52
- field: [{ type: Input, args: ['scText',] }]
53
- };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvdnN0cy93b3JrLzEvcy9wYWNrYWdlcy9zaXRlY29yZS1qc3MtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUdMLFdBQVcsRUFDWCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFNdkIsTUFBTSxPQUFPLGFBQWE7SUFTeEIsWUFBb0IsYUFBK0IsRUFBVSxXQUE2QjtRQUF0RSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFOakUsYUFBUSxHQUFHLElBQUksQ0FBQztRQUVsQixXQUFNLEdBQUcsSUFBSSxDQUFDO0lBSXdELENBQUM7SUFFOUYsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDeEU7WUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRU8sVUFBVTtRQUNoQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFN0IsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvQyxPQUFPO1NBQ1I7UUFFRCwwREFBMEQ7UUFDMUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUNsQjtRQUVELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3ZFLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFcEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxjQUFjLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2FBQ3ZCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQ3pCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFoREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxVQUFVO2FBQ3JCOzs7WUFOQyxnQkFBZ0I7WUFEaEIsV0FBVzs7O3VCQVdWLEtBQUssU0FBQyxnQkFBZ0I7cUJBRXRCLEtBQUssU0FBQyxjQUFjO29CQUVwQixLQUFLLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVtYmVkZGVkVmlld1JlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUZXh0RmllbGQgfSBmcm9tICcuL3JlbmRlcmluZy1maWVsZCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tzY1RleHRdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRleHREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgdmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPGFueT47XHJcblxyXG4gIEBJbnB1dCgnc2NUZXh0RWRpdGFibGUnKSBlZGl0YWJsZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgnc2NUZXh0RW5jb2RlJykgZW5jb2RlID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCdzY1RleHQnKSBmaWVsZDogVGV4dEZpZWxkO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzLmZpZWxkIHx8IGNoYW5nZXMuZWRpdGFibGUgfHwgY2hhbmdlcy5lbmNvZGUpIHtcclxuICAgICAgaWYgKCF0aGlzLnZpZXdSZWYpIHtcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLnZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVmlldygpIHtcclxuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZDtcclxuICAgIGxldCBlZGl0YWJsZSA9IHRoaXMuZWRpdGFibGU7XHJcblxyXG4gICAgaWYgKCFmaWVsZCB8fCAoIWZpZWxkLmVkaXRhYmxlICYmICFmaWVsZC52YWx1ZSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGNhbid0IHVzZSBlZGl0YWJsZSB2YWx1ZSBpZiB3ZSB3YW50IHRvIG91dHB1dCB1bmVuY29kZWRcclxuICAgIGlmICghdGhpcy5lbmNvZGUpIHtcclxuICAgICAgZWRpdGFibGUgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBodG1sID0gZmllbGQuZWRpdGFibGUgJiYgZWRpdGFibGUgPyBmaWVsZC5lZGl0YWJsZSA6IGZpZWxkLnZhbHVlO1xyXG4gICAgY29uc3Qgc2V0RGFuZ2Vyb3VzbHkgPSAoZmllbGQuZWRpdGFibGUgJiYgZWRpdGFibGUpIHx8ICF0aGlzLmVuY29kZTtcclxuXHJcbiAgICB0aGlzLnZpZXdSZWYucm9vdE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgaWYgKHNldERhbmdlcm91c2x5KSB7XHJcbiAgICAgICAgbm9kZS5pbm5lckhUTUwgPSBodG1sO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG5vZGUudGV4dENvbnRlbnQgPSBodG1sO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
1
+ import { Directive, Input, TemplateRef, ViewContainerRef, } from '@angular/core';
2
+ export class TextDirective {
3
+ constructor(viewContainer, templateRef) {
4
+ this.viewContainer = viewContainer;
5
+ this.templateRef = templateRef;
6
+ this.editable = true;
7
+ this.encode = true;
8
+ }
9
+ ngOnChanges(changes) {
10
+ if (changes.field || changes.editable || changes.encode) {
11
+ if (!this.viewRef) {
12
+ this.viewContainer.clear();
13
+ this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
14
+ }
15
+ this.updateView();
16
+ }
17
+ }
18
+ updateView() {
19
+ const field = this.field;
20
+ let editable = this.editable;
21
+ if (!field || (!field.editable && !field.value)) {
22
+ return;
23
+ }
24
+ // can't use editable value if we want to output unencoded
25
+ if (!this.encode) {
26
+ editable = false;
27
+ }
28
+ const html = field.editable && editable ? field.editable : field.value;
29
+ const setDangerously = (field.editable && editable) || !this.encode;
30
+ this.viewRef.rootNodes.forEach((node) => {
31
+ if (setDangerously) {
32
+ node.innerHTML = html;
33
+ }
34
+ else {
35
+ node.textContent = html;
36
+ }
37
+ });
38
+ }
39
+ }
40
+ TextDirective.decorators = [
41
+ { type: Directive, args: [{
42
+ selector: '[scText]',
43
+ },] }
44
+ ];
45
+ TextDirective.ctorParameters = () => [
46
+ { type: ViewContainerRef },
47
+ { type: TemplateRef }
48
+ ];
49
+ TextDirective.propDecorators = {
50
+ editable: [{ type: Input, args: ['scTextEditable',] }],
51
+ encode: [{ type: Input, args: ['scTextEncode',] }],
52
+ field: [{ type: Input, args: ['scText',] }]
53
+ };
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiQzovV29yay9TaXRlY29yZS5KU1Mvc2NyaXB0cy9wdWJsaXNoL2pzcy1naXRodWIvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90ZXh0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFHTCxXQUFXLEVBQ1gsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE1BQU0sT0FBTyxhQUFhO0lBU3hCLFlBQW9CLGFBQStCLEVBQVUsV0FBNkI7UUFBdEUsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBTmpFLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFFbEIsV0FBTSxHQUFHLElBQUksQ0FBQztJQUl3RCxDQUFDO0lBRTlGLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3hFO1lBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVPLFVBQVU7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRTdCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0MsT0FBTztTQUNSO1FBRUQsMERBQTBEO1FBQzFELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDbEI7UUFFRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN2RSxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRXBFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RDLElBQUksY0FBYyxFQUFFO2dCQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzthQUN2QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzthQUN6QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBaERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTthQUNyQjs7O1lBTkMsZ0JBQWdCO1lBRGhCLFdBQVc7Ozt1QkFXVixLQUFLLFNBQUMsZ0JBQWdCO3FCQUV0QixLQUFLLFNBQUMsY0FBYztvQkFFcEIsS0FBSyxTQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFbWJlZGRlZFZpZXdSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGV4dEZpZWxkIH0gZnJvbSAnLi9yZW5kZXJpbmctZmllbGQnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbc2NUZXh0XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBwcml2YXRlIHZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoJ3NjVGV4dEVkaXRhYmxlJykgZWRpdGFibGUgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoJ3NjVGV4dEVuY29kZScpIGVuY29kZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgnc2NUZXh0JykgZmllbGQ6IFRleHRGaWVsZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy5maWVsZCB8fCBjaGFuZ2VzLmVkaXRhYmxlIHx8IGNoYW5nZXMuZW5jb2RlKSB7XHJcbiAgICAgIGlmICghdGhpcy52aWV3UmVmKSB7XHJcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy52aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVZpZXcoKSB7XHJcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGQ7XHJcbiAgICBsZXQgZWRpdGFibGUgPSB0aGlzLmVkaXRhYmxlO1xyXG5cclxuICAgIGlmICghZmllbGQgfHwgKCFmaWVsZC5lZGl0YWJsZSAmJiAhZmllbGQudmFsdWUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBjYW4ndCB1c2UgZWRpdGFibGUgdmFsdWUgaWYgd2Ugd2FudCB0byBvdXRwdXQgdW5lbmNvZGVkXHJcbiAgICBpZiAoIXRoaXMuZW5jb2RlKSB7XHJcbiAgICAgIGVkaXRhYmxlID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaHRtbCA9IGZpZWxkLmVkaXRhYmxlICYmIGVkaXRhYmxlID8gZmllbGQuZWRpdGFibGUgOiBmaWVsZC52YWx1ZTtcclxuICAgIGNvbnN0IHNldERhbmdlcm91c2x5ID0gKGZpZWxkLmVkaXRhYmxlICYmIGVkaXRhYmxlKSB8fCAhdGhpcy5lbmNvZGU7XHJcblxyXG4gICAgdGhpcy52aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIGlmIChzZXREYW5nZXJvdXNseSkge1xyXG4gICAgICAgIG5vZGUuaW5uZXJIVE1MID0gaHRtbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBub2RlLnRleHRDb250ZW50ID0gaHRtbDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,87 +1,87 @@
1
- import { Inject, Injectable, Injector, Compiler, NgModuleFactory, } from '@angular/core';
2
- import { DYNAMIC_COMPONENT, PLACEHOLDER_COMPONENTS, PLACEHOLDER_LAZY_COMPONENTS, } from './components/placeholder.token';
3
- import { RawComponent } from './components/raw.component';
4
- import { isRawRendering } from './components/rendering';
5
- export class JssComponentFactoryService {
6
- constructor(injector, compiler, components, lazyComponents) {
7
- this.injector = injector;
8
- this.compiler = compiler;
9
- this.components = components;
10
- this.lazyComponents = lazyComponents;
11
- this.componentMap = new Map();
12
- this.lazyComponentMap = new Map();
13
- this.components.forEach((c) => this.componentMap.set(c.name, c.type));
14
- if (this.lazyComponents) {
15
- this.lazyComponents.forEach((c) => this.lazyComponentMap.set(c.path, c));
16
- }
17
- }
18
- loadModuleFactory(lazyComponent) {
19
- return lazyComponent.loadChildren().then((loaded) => {
20
- if (loaded instanceof NgModuleFactory) {
21
- return loaded;
22
- }
23
- else {
24
- return this.compiler.compileModuleAsync(loaded);
25
- }
26
- });
27
- }
28
- getComponent(component) {
29
- const loadedComponent = this.componentMap.get(component.componentName);
30
- if (loadedComponent) {
31
- return Promise.resolve({
32
- componentDefinition: component,
33
- componentImplementation: this.componentMap.get(component.componentName),
34
- });
35
- }
36
- const lazyComponent = this.lazyComponentMap.get(component.componentName);
37
- if (lazyComponent) {
38
- return this.loadModuleFactory(lazyComponent).then((ngModuleFactory) => {
39
- let componentType = null;
40
- const moduleRef = ngModuleFactory.create(this.injector);
41
- const dynamicComponentType = moduleRef.injector.get(DYNAMIC_COMPONENT);
42
- if (!dynamicComponentType) {
43
- throw new Error(`JssComponentFactoryService: Lazy load module for component "${lazyComponent.path}" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`);
44
- }
45
- if (component.componentName in dynamicComponentType) {
46
- componentType = dynamicComponentType[component.componentName];
47
- }
48
- else {
49
- if (typeof dynamicComponentType === 'function') {
50
- componentType = dynamicComponentType;
51
- }
52
- else {
53
- throw new Error(`JssComponentFactoryService: Lazy load module for component "${lazyComponent.path}" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`);
54
- }
55
- }
56
- return {
57
- componentDefinition: component,
58
- componentImplementation: componentType,
59
- componentFactory: moduleRef.componentFactoryResolver.resolveComponentFactory(componentType),
60
- };
61
- });
62
- }
63
- return Promise.resolve({
64
- componentDefinition: component,
65
- });
66
- }
67
- getComponents(components) {
68
- // acquire all components and keep them in order while handling their potential async-ness
69
- return Promise.all(components.map((component) => isRawRendering(component) ? this.getRawComponent(component) : this.getComponent(component)));
70
- }
71
- getRawComponent(component) {
72
- return Promise.resolve({
73
- componentImplementation: RawComponent,
74
- componentDefinition: component,
75
- });
76
- }
77
- }
78
- JssComponentFactoryService.decorators = [
79
- { type: Injectable }
80
- ];
81
- JssComponentFactoryService.ctorParameters = () => [
82
- { type: Injector },
83
- { type: Compiler },
84
- { type: Array, decorators: [{ type: Inject, args: [PLACEHOLDER_COMPONENTS,] }] },
85
- { type: Array, decorators: [{ type: Inject, args: [PLACEHOLDER_LAZY_COMPONENTS,] }] }
86
- ];
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNzLWNvbXBvbmVudC1mYWN0b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvdnN0cy93b3JrLzEvcy9wYWNrYWdlcy9zaXRlY29yZS1qc3MtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJqc3MtY29tcG9uZW50LWZhY3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsTUFBTSxFQUNOLFVBQVUsRUFDVixRQUFRLEVBRVIsUUFBUSxFQUNSLGVBQWUsR0FDaEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUdMLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsMkJBQTJCLEdBQzVCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVN4RCxNQUFNLE9BQU8sMEJBQTBCO0lBSXJDLFlBQ1UsUUFBa0IsRUFDbEIsUUFBa0IsRUFDYyxVQUFrQyxFQUM3QixjQUF3QztRQUg3RSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDYyxlQUFVLEdBQVYsVUFBVSxDQUF3QjtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBMEI7UUFFckYsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRWxDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FB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Q0FBQyxTQUFTLENBQUMsQ0FDM0YsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLGVBQWUsQ0FBQyxTQUErQjtRQUNyRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDckIsdUJBQXVCLEVBQUUsWUFBWTtZQUNyQyxtQkFBbUIsRUFBRSxTQUFTO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQWpHRixVQUFVOzs7WUF0QlQsUUFBUTtZQUVSLFFBQVE7d0NBNEJMLE1BQU0sU0FBQyxzQkFBc0I7d0NBQzdCLE1BQU0sU0FBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudEZhY3RvcnksXHJcbiAgSW5qZWN0LFxyXG4gIEluamVjdGFibGUsXHJcbiAgSW5qZWN0b3IsXHJcbiAgVHlwZSxcclxuICBDb21waWxlcixcclxuICBOZ01vZHVsZUZhY3RvcnksXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFJlbmRlcmluZywgSHRtbEVsZW1lbnRSZW5kZXJpbmcgfSBmcm9tICdAc2l0ZWNvcmUtanNzL3NpdGVjb3JlLWpzcyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50TmFtZUFuZE1vZHVsZSxcclxuICBDb21wb25lbnROYW1lQW5kVHlwZSxcclxuICBEWU5BTUlDX0NPTVBPTkVOVCxcclxuICBQTEFDRUhPTERFUl9DT01QT05FTlRTLFxyXG4gIFBMQUNFSE9MREVSX0xBWllfQ09NUE9ORU5UUyxcclxufSBmcm9tICcuL2NvbXBvbmVudHMvcGxhY2Vob2xkZXIudG9rZW4nO1xyXG5pbXBvcnQgeyBSYXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmF3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGlzUmF3UmVuZGVyaW5nIH0gZnJvbSAnLi9jb21wb25lbnRzL3JlbmRlcmluZyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudEZhY3RvcnlSZXN1bHQge1xyXG4gIGNvbXBvbmVudEltcGxlbWVudGF0aW9uPzogVHlwZTxhbnk+O1xyXG4gIGNvbXBvbmVudERlZmluaXRpb246IENvbXBvbmVudFJlbmRlcmluZyB8IEh0bWxFbGVtZW50UmVuZGVyaW5nO1xyXG4gIGNvbXBvbmVudEZhY3Rvcnk/OiBDb21wb25lbnRGYWN0b3J5PGFueT47XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEpzc0NvbXBvbmVudEZhY3RvcnlTZXJ2aWNlIHtcclxuICBwcml2YXRlIGNvbXBvbmVudE1hcDogTWFwPHN0cmluZywgVHlwZTxhbnk+PjtcclxuICBwcml2YXRlIGxhenlDb21wb25lbnRNYXA6IE1hcDxzdHJpbmcsIENvbXBvbmVudE5hbWVBbmRNb2R1bGU+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBjb21waWxlcjogQ29tcGlsZXIsXHJcbiAgICBASW5qZWN0KFBMQUNFSE9MREVSX0NPTVBPTkVOVFMpIHByaXZhdGUgY29tcG9uZW50czogQ29tcG9uZW50TmFtZUFuZFR5cGVbXSxcclxuICAgIEBJbmplY3QoUExBQ0VIT0xERVJfTEFaWV9DT01QT05FTlRTKSBwcml2YXRlIGxhenlDb21wb25lbnRzOiBDb21wb25lbnROYW1lQW5kTW9kdWxlW11cclxuICApIHtcclxuICAgIHRoaXMuY29tcG9uZW50TWFwID0gbmV3IE1hcCgpO1xyXG4gICAgdGhpcy5sYXp5Q29tcG9uZW50TWFwID0gbmV3IE1hcCgpO1xyXG5cclxuICAgIHRoaXMuY29tcG9uZW50cy5mb3JFYWNoKChjKSA9PiB0aGlzLmNvbXBvbmVudE1hcC5zZXQoYy5uYW1lLCBjLnR5cGUpKTtcclxuXHJcbiAgICBpZiAodGhpcy5sYXp5Q29tcG9uZW50cykge1xyXG4gICAgICB0aGlzLmxhenlDb21wb25lbnRzLmZvckVhY2goKGMpID0+IHRoaXMubGF6eUNvbXBvbmVudE1hcC5zZXQoYy5wYXRoLCBjKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRNb2R1bGVGYWN0b3J5KGxhenlDb21wb25lbnQ6IENvbXBvbmVudE5hbWVBbmRNb2R1bGUpOiBQcm9taXNlPE5nTW9kdWxlRmFjdG9yeTxhbnk+PiB7XHJcbiAgICByZXR1cm4gbGF6eUNvbXBvbmVudC5sb2FkQ2hpbGRyZW4oKS50aGVuKChsb2FkZWQpID0+IHtcclxuICAgICAgaWYgKGxvYWRlZCBpbnN0YW5jZW9mIE5nTW9kdWxlRmFjdG9yeSkge1xyXG4gICAgICAgIHJldHVybiBsb2FkZWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGlsZXIuY29tcGlsZU1vZHVsZUFzeW5jKGxvYWRlZCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29tcG9uZW50KGNvbXBvbmVudDogQ29tcG9uZW50UmVuZGVyaW5nKTogUHJvbWlzZTxDb21wb25lbnRGYWN0b3J5UmVzdWx0PiB7XHJcbiAgICBjb25zdCBsb2FkZWRDb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudE1hcC5nZXQoY29tcG9uZW50LmNvbXBvbmVudE5hbWUpO1xyXG5cclxuICAgIGlmIChsb2FkZWRDb21wb25lbnQpIHtcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XHJcbiAgICAgICAgY29tcG9uZW50RGVmaW5pdGlvbjogY29tcG9uZW50LFxyXG4gICAgICAgIGNvbXBvbmVudEltcGxlbWVudGF0aW9uOiB0aGlzLmNvbXBvbmVudE1hcC5nZXQoY29tcG9uZW50LmNvbXBvbmVudE5hbWUpLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsYXp5Q29tcG9uZW50ID0gdGhpcy5sYXp5Q29tcG9uZW50TWFwLmdldChjb21wb25lbnQuY29tcG9uZW50TmFtZSk7XHJcblxyXG4gICAgaWYgKGxhenlDb21wb25lbnQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9hZE1vZHVsZUZhY3RvcnkobGF6eUNvbXBvbmVudCkudGhlbigobmdNb2R1bGVGYWN0b3J5KSA9PiB7XHJcbiAgICAgICAgbGV0IGNvbXBvbmVudFR5cGUgPSBudWxsO1xyXG4gICAgICAgIGNvbnN0IG1vZHVsZVJlZiA9IG5nTW9kdWxlRmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XHJcbiAgICAgICAgY29uc3QgZHluYW1pY0NvbXBvbmVudFR5cGUgPSBtb2R1bGVSZWYuaW5qZWN0b3IuZ2V0KERZTkFNSUNfQ09NUE9ORU5UKTtcclxuICAgICAgICBpZiAoIWR5bmFtaWNDb21wb25lbnRUeXBlKSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAgIGBKc3NDb21wb25lbnRGYWN0b3J5U2VydmljZTogTGF6eSBsb2FkIG1vZHVsZSBmb3IgY29tcG9uZW50IFwiJHtsYXp5Q29tcG9uZW50LnBhdGh9XCIgbWlzc2luZyBEWU5BTUlDX0NPTVBPTkVOVCBwcm92aWRlci4gTWlzc2luZyBKc3NNb2R1bGUuZm9yQ2hpbGQoKT9gXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNvbXBvbmVudC5jb21wb25lbnROYW1lIGluIGR5bmFtaWNDb21wb25lbnRUeXBlKSB7XHJcbiAgICAgICAgICBjb21wb25lbnRUeXBlID0gKGR5bmFtaWNDb21wb25lbnRUeXBlIGFzIHsgW3M6IHN0cmluZ106IGFueSB9KVtjb21wb25lbnQuY29tcG9uZW50TmFtZV07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgZHluYW1pY0NvbXBvbmVudFR5cGUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgY29tcG9uZW50VHlwZSA9IGR5bmFtaWNDb21wb25lbnRUeXBlO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgICAgIGBKc3NDb21wb25lbnRGYWN0b3J5U2VydmljZTogTGF6eSBsb2FkIG1vZHVsZSBmb3IgY29tcG9uZW50IFwiJHtsYXp5Q29tcG9uZW50LnBhdGh9XCIgbWlzc2luZyBEWU5BTUlDX0NPTVBPTkVOVCBwcm92aWRlci4gTWlzc2luZyBKc3NNb2R1bGUuZm9yQ2hpbGQoKT9gXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgY29tcG9uZW50RGVmaW5pdGlvbjogY29tcG9uZW50LFxyXG4gICAgICAgICAgY29tcG9uZW50SW1wbGVtZW50YXRpb246IGNvbXBvbmVudFR5cGUsXHJcbiAgICAgICAgICBjb21wb25lbnRGYWN0b3J5OiBtb2R1bGVSZWYuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFxyXG4gICAgICAgICAgICBjb21wb25lbnRUeXBlXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xyXG4gICAgICBjb21wb25lbnREZWZpbml0aW9uOiBjb21wb25lbnQsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldENvbXBvbmVudHMoXHJcbiAgICBjb21wb25lbnRzOiBBcnJheTxDb21wb25lbnRSZW5kZXJpbmcgfCBIdG1sRWxlbWVudFJlbmRlcmluZz5cclxuICApOiBQcm9taXNlPENvbXBvbmVudEZhY3RvcnlSZXN1bHRbXT4ge1xyXG4gICAgLy8gYWNxdWlyZSBhbGwgY29tcG9uZW50cyBhbmQga2VlcCB0aGVtIGluIG9yZGVyIHdoaWxlIGhhbmRsaW5nIHRoZWlyIHBvdGVudGlhbCBhc3luYy1uZXNzXHJcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoXHJcbiAgICAgIGNvbXBvbmVudHMubWFwKChjb21wb25lbnQpID0+XHJcbiAgICAgICAgaXNSYXdSZW5kZXJpbmcoY29tcG9uZW50KSA/IHRoaXMuZ2V0UmF3Q29tcG9uZW50KGNvbXBvbmVudCkgOiB0aGlzLmdldENvbXBvbmVudChjb21wb25lbnQpXHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFJhd0NvbXBvbmVudChjb21wb25lbnQ6IEh0bWxFbGVtZW50UmVuZGVyaW5nKTogUHJvbWlzZTxDb21wb25lbnRGYWN0b3J5UmVzdWx0PiB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcclxuICAgICAgY29tcG9uZW50SW1wbGVtZW50YXRpb246IFJhd0NvbXBvbmVudCxcclxuICAgICAgY29tcG9uZW50RGVmaW5pdGlvbjogY29tcG9uZW50LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { Inject, Injectable, Injector, Compiler, NgModuleFactory, } from '@angular/core';
2
+ import { DYNAMIC_COMPONENT, PLACEHOLDER_COMPONENTS, PLACEHOLDER_LAZY_COMPONENTS, } from './components/placeholder.token';
3
+ import { RawComponent } from './components/raw.component';
4
+ import { isRawRendering } from './components/rendering';
5
+ export class JssComponentFactoryService {
6
+ constructor(injector, compiler, components, lazyComponents) {
7
+ this.injector = injector;
8
+ this.compiler = compiler;
9
+ this.components = components;
10
+ this.lazyComponents = lazyComponents;
11
+ this.componentMap = new Map();
12
+ this.lazyComponentMap = new Map();
13
+ this.components.forEach((c) => this.componentMap.set(c.name, c.type));
14
+ if (this.lazyComponents) {
15
+ this.lazyComponents.forEach((c) => this.lazyComponentMap.set(c.path, c));
16
+ }
17
+ }
18
+ loadModuleFactory(lazyComponent) {
19
+ return lazyComponent.loadChildren().then((loaded) => {
20
+ if (loaded instanceof NgModuleFactory) {
21
+ return loaded;
22
+ }
23
+ else {
24
+ return this.compiler.compileModuleAsync(loaded);
25
+ }
26
+ });
27
+ }
28
+ getComponent(component) {
29
+ const loadedComponent = this.componentMap.get(component.componentName);
30
+ if (loadedComponent) {
31
+ return Promise.resolve({
32
+ componentDefinition: component,
33
+ componentImplementation: this.componentMap.get(component.componentName),
34
+ });
35
+ }
36
+ const lazyComponent = this.lazyComponentMap.get(component.componentName);
37
+ if (lazyComponent) {
38
+ return this.loadModuleFactory(lazyComponent).then((ngModuleFactory) => {
39
+ let componentType = null;
40
+ const moduleRef = ngModuleFactory.create(this.injector);
41
+ const dynamicComponentType = moduleRef.injector.get(DYNAMIC_COMPONENT);
42
+ if (!dynamicComponentType) {
43
+ throw new Error(`JssComponentFactoryService: Lazy load module for component "${lazyComponent.path}" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`);
44
+ }
45
+ if (component.componentName in dynamicComponentType) {
46
+ componentType = dynamicComponentType[component.componentName];
47
+ }
48
+ else {
49
+ if (typeof dynamicComponentType === 'function') {
50
+ componentType = dynamicComponentType;
51
+ }
52
+ else {
53
+ throw new Error(`JssComponentFactoryService: Lazy load module for component "${lazyComponent.path}" missing DYNAMIC_COMPONENT provider. Missing JssModule.forChild()?`);
54
+ }
55
+ }
56
+ return {
57
+ componentDefinition: component,
58
+ componentImplementation: componentType,
59
+ componentFactory: moduleRef.componentFactoryResolver.resolveComponentFactory(componentType),
60
+ };
61
+ });
62
+ }
63
+ return Promise.resolve({
64
+ componentDefinition: component,
65
+ });
66
+ }
67
+ getComponents(components) {
68
+ // acquire all components and keep them in order while handling their potential async-ness
69
+ return Promise.all(components.map((component) => isRawRendering(component) ? this.getRawComponent(component) : this.getComponent(component)));
70
+ }
71
+ getRawComponent(component) {
72
+ return Promise.resolve({
73
+ componentImplementation: RawComponent,
74
+ componentDefinition: component,
75
+ });
76
+ }
77
+ }
78
+ JssComponentFactoryService.decorators = [
79
+ { type: Injectable }
80
+ ];
81
+ JssComponentFactoryService.ctorParameters = () => [
82
+ { type: Injector },
83
+ { type: Compiler },
84
+ { type: Array, decorators: [{ type: Inject, args: [PLACEHOLDER_COMPONENTS,] }] },
85
+ { type: Array, decorators: [{ type: Inject, args: [PLACEHOLDER_LAZY_COMPONENTS,] }] }
86
+ ];
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNzLWNvbXBvbmVudC1mYWN0b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovV29yay9TaXRlY29yZS5KU1Mvc2NyaXB0cy9wdWJsaXNoL2pzcy1naXRodWIvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsianNzLWNvbXBvbmVudC1mYWN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLE1BQU0sRUFDTixVQUFVLEVBQ1YsUUFBUSxFQUVSLFFBQVEsRUFDUixlQUFlLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFHTCxpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLDJCQUEyQixHQUM1QixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFTeEQsTUFBTSxPQUFPLDBCQUEwQjtJQUlyQyxZQUNVLFFBQWtCLEVBQ2xCLFFBQWtCLEVBQ2MsVUFBa0MsRUFDN0IsY0FBd0M7UUFIN0UsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2MsZUFBVSxHQUFWLFVBQVUsQ0FBd0I7UUFDN0IsbUJBQWMsR0FBZCxjQUFjLENBQTBCO1FBRXJGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVsQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV0RSxJQUFJLElBQUksQ0FBQyxj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QUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQzNGLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxlQUFlLENBQUMsU0FBK0I7UUFDckQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ3JCLHVCQUF1QixFQUFFLFlBQVk7WUFDckMsbUJBQW1CLEVBQUUsU0FBUztTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUFqR0YsVUFBVTs7O1lBdEJULFFBQVE7WUFFUixRQUFRO3dDQTRCTCxNQUFNLFNBQUMsc0JBQXNCO3dDQUM3QixNQUFNLFNBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnRGYWN0b3J5LFxyXG4gIEluamVjdCxcclxuICBJbmplY3RhYmxlLFxyXG4gIEluamVjdG9yLFxyXG4gIFR5cGUsXHJcbiAgQ29tcGlsZXIsXHJcbiAgTmdNb2R1bGVGYWN0b3J5LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRSZW5kZXJpbmcsIEh0bWxFbGVtZW50UmVuZGVyaW5nIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudE5hbWVBbmRNb2R1bGUsXHJcbiAgQ29tcG9uZW50TmFtZUFuZFR5cGUsXHJcbiAgRFlOQU1JQ19DT01QT05FTlQsXHJcbiAgUExBQ0VIT0xERVJfQ09NUE9ORU5UUyxcclxuICBQTEFDRUhPTERFUl9MQVpZX0NPTVBPTkVOVFMsXHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL3BsYWNlaG9sZGVyLnRva2VuJztcclxuaW1wb3J0IHsgUmF3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Jhdy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBpc1Jhd1JlbmRlcmluZyB9IGZyb20gJy4vY29tcG9uZW50cy9yZW5kZXJpbmcnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnRGYWN0b3J5UmVzdWx0IHtcclxuICBjb21wb25lbnRJbXBsZW1lbnRhdGlvbj86IFR5cGU8YW55PjtcclxuICBjb21wb25lbnREZWZpbml0aW9uOiBDb21wb25lbnRSZW5kZXJpbmcgfCBIdG1sRWxlbWVudFJlbmRlcmluZztcclxuICBjb21wb25lbnRGYWN0b3J5PzogQ29tcG9uZW50RmFjdG9yeTxhbnk+O1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBKc3NDb21wb25lbnRGYWN0b3J5U2VydmljZSB7XHJcbiAgcHJpdmF0ZSBjb21wb25lbnRNYXA6IE1hcDxzdHJpbmcsIFR5cGU8YW55Pj47XHJcbiAgcHJpdmF0ZSBsYXp5Q29tcG9uZW50TWFwOiBNYXA8c3RyaW5nLCBDb21wb25lbnROYW1lQW5kTW9kdWxlPjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgY29tcGlsZXI6IENvbXBpbGVyLFxyXG4gICAgQEluamVjdChQTEFDRUhPTERFUl9DT01QT05FTlRTKSBwcml2YXRlIGNvbXBvbmVudHM6IENvbXBvbmVudE5hbWVBbmRUeXBlW10sXHJcbiAgICBASW5qZWN0KFBMQUNFSE9MREVSX0xBWllfQ09NUE9ORU5UUykgcHJpdmF0ZSBsYXp5Q29tcG9uZW50czogQ29tcG9uZW50TmFtZUFuZE1vZHVsZVtdXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudE1hcCA9IG5ldyBNYXAoKTtcclxuICAgIHRoaXMubGF6eUNvbXBvbmVudE1hcCA9IG5ldyBNYXAoKTtcclxuXHJcbiAgICB0aGlzLmNvbXBvbmVudHMuZm9yRWFjaCgoYykgPT4gdGhpcy5jb21wb25lbnRNYXAuc2V0KGMubmFtZSwgYy50eXBlKSk7XHJcblxyXG4gICAgaWYgKHRoaXMubGF6eUNvbXBvbmVudHMpIHtcclxuICAgICAgdGhpcy5sYXp5Q29tcG9uZW50cy5mb3JFYWNoKChjKSA9PiB0aGlzLmxhenlDb21wb25lbnRNYXAuc2V0KGMucGF0aCwgYykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkTW9kdWxlRmFjdG9yeShsYXp5Q29tcG9uZW50OiBDb21wb25lbnROYW1lQW5kTW9kdWxlKTogUHJvbWlzZTxOZ01vZHVsZUZhY3Rvcnk8YW55Pj4ge1xyXG4gICAgcmV0dXJuIGxhenlDb21wb25lbnQubG9hZENoaWxkcmVuKCkudGhlbigobG9hZGVkKSA9PiB7XHJcbiAgICAgIGlmIChsb2FkZWQgaW5zdGFuY2VvZiBOZ01vZHVsZUZhY3RvcnkpIHtcclxuICAgICAgICByZXR1cm4gbG9hZGVkO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBpbGVyLmNvbXBpbGVNb2R1bGVBc3luYyhsb2FkZWQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldENvbXBvbmVudChjb21wb25lbnQ6IENvbXBvbmVudFJlbmRlcmluZyk6IFByb21pc2U8Q29tcG9uZW50RmFjdG9yeVJlc3VsdD4ge1xyXG4gICAgY29uc3QgbG9hZGVkQ29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRNYXAuZ2V0KGNvbXBvbmVudC5jb21wb25lbnROYW1lKTtcclxuXHJcbiAgICBpZiAobG9hZGVkQ29tcG9uZW50KSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xyXG4gICAgICAgIGNvbXBvbmVudERlZmluaXRpb246IGNvbXBvbmVudCxcclxuICAgICAgICBjb21wb25lbnRJbXBsZW1lbnRhdGlvbjogdGhpcy5jb21wb25lbnRNYXAuZ2V0KGNvbXBvbmVudC5jb21wb25lbnROYW1lKSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbGF6eUNvbXBvbmVudCA9IHRoaXMubGF6eUNvbXBvbmVudE1hcC5nZXQoY29tcG9uZW50LmNvbXBvbmVudE5hbWUpO1xyXG5cclxuICAgIGlmIChsYXp5Q29tcG9uZW50KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmxvYWRNb2R1bGVGYWN0b3J5KGxhenlDb21wb25lbnQpLnRoZW4oKG5nTW9kdWxlRmFjdG9yeSkgPT4ge1xyXG4gICAgICAgIGxldCBjb21wb25lbnRUeXBlID0gbnVsbDtcclxuICAgICAgICBjb25zdCBtb2R1bGVSZWYgPSBuZ01vZHVsZUZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xyXG4gICAgICAgIGNvbnN0IGR5bmFtaWNDb21wb25lbnRUeXBlID0gbW9kdWxlUmVmLmluamVjdG9yLmdldChEWU5BTUlDX0NPTVBPTkVOVCk7XHJcbiAgICAgICAgaWYgKCFkeW5hbWljQ29tcG9uZW50VHlwZSkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgICBgSnNzQ29tcG9uZW50RmFjdG9yeVNlcnZpY2U6IExhenkgbG9hZCBtb2R1bGUgZm9yIGNvbXBvbmVudCBcIiR7bGF6eUNvbXBvbmVudC5wYXRofVwiIG1pc3NpbmcgRFlOQU1JQ19DT01QT05FTlQgcHJvdmlkZXIuIE1pc3NpbmcgSnNzTW9kdWxlLmZvckNoaWxkKCk/YFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjb21wb25lbnQuY29tcG9uZW50TmFtZSBpbiBkeW5hbWljQ29tcG9uZW50VHlwZSkge1xyXG4gICAgICAgICAgY29tcG9uZW50VHlwZSA9IChkeW5hbWljQ29tcG9uZW50VHlwZSBhcyB7IFtzOiBzdHJpbmddOiBhbnkgfSlbY29tcG9uZW50LmNvbXBvbmVudE5hbWVdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGR5bmFtaWNDb21wb25lbnRUeXBlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudFR5cGUgPSBkeW5hbWljQ29tcG9uZW50VHlwZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgICAgICBgSnNzQ29tcG9uZW50RmFjdG9yeVNlcnZpY2U6IExhenkgbG9hZCBtb2R1bGUgZm9yIGNvbXBvbmVudCBcIiR7bGF6eUNvbXBvbmVudC5wYXRofVwiIG1pc3NpbmcgRFlOQU1JQ19DT01QT05FTlQgcHJvdmlkZXIuIE1pc3NpbmcgSnNzTW9kdWxlLmZvckNoaWxkKCk/YFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGNvbXBvbmVudERlZmluaXRpb246IGNvbXBvbmVudCxcclxuICAgICAgICAgIGNvbXBvbmVudEltcGxlbWVudGF0aW9uOiBjb21wb25lbnRUeXBlLFxyXG4gICAgICAgICAgY29tcG9uZW50RmFjdG9yeTogbW9kdWxlUmVmLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShcclxuICAgICAgICAgICAgY29tcG9uZW50VHlwZVxyXG4gICAgICAgICAgKSxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcclxuICAgICAgY29tcG9uZW50RGVmaW5pdGlvbjogY29tcG9uZW50LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRDb21wb25lbnRzKFxyXG4gICAgY29tcG9uZW50czogQXJyYXk8Q29tcG9uZW50UmVuZGVyaW5nIHwgSHRtbEVsZW1lbnRSZW5kZXJpbmc+XHJcbiAgKTogUHJvbWlzZTxDb21wb25lbnRGYWN0b3J5UmVzdWx0W10+IHtcclxuICAgIC8vIGFjcXVpcmUgYWxsIGNvbXBvbmVudHMgYW5kIGtlZXAgdGhlbSBpbiBvcmRlciB3aGlsZSBoYW5kbGluZyB0aGVpciBwb3RlbnRpYWwgYXN5bmMtbmVzc1xyXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFxyXG4gICAgICBjb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PlxyXG4gICAgICAgIGlzUmF3UmVuZGVyaW5nKGNvbXBvbmVudCkgPyB0aGlzLmdldFJhd0NvbXBvbmVudChjb21wb25lbnQpIDogdGhpcy5nZXRDb21wb25lbnQoY29tcG9uZW50KVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRSYXdDb21wb25lbnQoY29tcG9uZW50OiBIdG1sRWxlbWVudFJlbmRlcmluZyk6IFByb21pc2U8Q29tcG9uZW50RmFjdG9yeVJlc3VsdD4ge1xyXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XHJcbiAgICAgIGNvbXBvbmVudEltcGxlbWVudGF0aW9uOiBSYXdDb21wb25lbnQsXHJcbiAgICAgIGNvbXBvbmVudERlZmluaXRpb246IGNvbXBvbmVudCxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,3 +1,3 @@
1
- export class LayoutServiceError {
2
- }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXNlcnZpY2UtZXJyb3IuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvdnN0cy93b3JrLzEvcy9wYWNrYWdlcy9zaXRlY29yZS1qc3MtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsYXlvdXQtc2VydmljZS1lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sa0JBQWtCO0NBSTlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGF5b3V0U2VydmljZUNvbnRleHREYXRhIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MnO1xyXG5cclxuZXhwb3J0IGNsYXNzIExheW91dFNlcnZpY2VFcnJvciB7XHJcbiAgc3RhdHVzOiBudW1iZXI7XHJcbiAgc3RhdHVzVGV4dDogc3RyaW5nO1xyXG4gIGRhdGE/OiB7IHNpdGVjb3JlPzogTGF5b3V0U2VydmljZUNvbnRleHREYXRhIH07XHJcbn1cclxuIl19
1
+ export class LayoutServiceError {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXNlcnZpY2UtZXJyb3IuanMiLCJzb3VyY2VSb290IjoiQzovV29yay9TaXRlY29yZS5KU1Mvc2NyaXB0cy9wdWJsaXNoL2pzcy1naXRodWIvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGF5b3V0LXNlcnZpY2UtZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGtCQUFrQjtDQUk5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExheW91dFNlcnZpY2VDb250ZXh0RGF0YSB9IGZyb20gJ0BzaXRlY29yZS1qc3Mvc2l0ZWNvcmUtanNzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRTZXJ2aWNlRXJyb3Ige1xyXG4gIHN0YXR1czogbnVtYmVyO1xyXG4gIHN0YXR1c1RleHQ6IHN0cmluZztcclxuICBkYXRhPzogeyBzaXRlY29yZT86IExheW91dFNlcnZpY2VDb250ZXh0RGF0YSB9O1xyXG59XHJcbiJdfQ==
@@ -1,28 +1,28 @@
1
- import { Injectable } from '@angular/core';
2
- import { dataApi, } from '@sitecore-jss/sitecore-jss';
3
- import { from as fromPromise, throwError as observableThrow } from 'rxjs';
4
- import { catchError } from 'rxjs/operators';
5
- import { LayoutServiceError } from './layout-service-error';
6
- const { fetchRouteData, fetchPlaceholderData } = dataApi;
7
- export class LayoutService {
8
- static getLayoutServiceError(error) {
9
- const layoutServiceError = new LayoutServiceError();
10
- const response = error.response;
11
- if (response) {
12
- layoutServiceError.status = response.status;
13
- layoutServiceError.statusText = response.statusText;
14
- layoutServiceError.data = response.data;
15
- }
16
- return observableThrow(layoutServiceError);
17
- }
18
- getRouteData(route, options) {
19
- return fromPromise(fetchRouteData(route, options)).pipe(catchError(LayoutService.getLayoutServiceError));
20
- }
21
- getPlaceholderData(route, placeholderName, options) {
22
- return fromPromise(fetchPlaceholderData(placeholderName, route, options)).pipe(catchError(LayoutService.getLayoutServiceError));
23
- }
24
- }
25
- LayoutService.decorators = [
26
- { type: Injectable }
27
- ];
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvdnN0cy93b3JrLzEvcy9wYWNrYWdlcy9zaXRlY29yZS1qc3MtYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsYXlvdXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxPQUFPLEdBSVIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsSUFBSSxJQUFJLFdBQVcsRUFBYyxVQUFVLElBQUksZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxNQUFNLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsT0FBTyxDQUFDO0FBR3pELE1BQU0sT0FBTyxhQUFhO0lBQ2hCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFVO1FBQzdDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3BELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDaEMsSUFBSSxRQUFRLEVBQUU7WUFDWixrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUM1QyxrQkFBa0IsQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUNwRCxrQkFBa0IsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztTQUN6QztRQUVELE9BQU8sZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFlBQVksQ0FDVixLQUFhLEVBQ2IsT0FBdUQ7UUFFdkQsT0FBTyxXQUFXLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDckQsVUFBVSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUNoRCxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQixDQUNoQixLQUFhLEVBQ2IsZUFBdUIsRUFDdkIsT0FBcUQ7UUFFckQsT0FBTyxXQUFXLENBQUMsb0JBQW9CLENBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDNUUsVUFBVSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUNoRCxDQUFDO0lBQ0osQ0FBQzs7O1lBL0JGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgZGF0YUFwaSxcclxuICBMYXlvdXRTZXJ2aWNlRGF0YSxcclxuICBMYXlvdXRTZXJ2aWNlUmVxdWVzdE9wdGlvbnMsXHJcbiAgUGxhY2Vob2xkZXJEYXRhLFxyXG59IGZyb20gJ0BzaXRlY29yZS1qc3Mvc2l0ZWNvcmUtanNzJztcclxuaW1wb3J0IHsgZnJvbSBhcyBmcm9tUHJvbWlzZSwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciBhcyBvYnNlcnZhYmxlVGhyb3cgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTGF5b3V0U2VydmljZUVycm9yIH0gZnJvbSAnLi9sYXlvdXQtc2VydmljZS1lcnJvcic7XHJcblxyXG5jb25zdCB7IGZldGNoUm91dGVEYXRhLCBmZXRjaFBsYWNlaG9sZGVyRGF0YSB9ID0gZGF0YUFwaTtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIExheW91dFNlcnZpY2Uge1xyXG4gIHByaXZhdGUgc3RhdGljIGdldExheW91dFNlcnZpY2VFcnJvcihlcnJvcjogYW55KTogT2JzZXJ2YWJsZTxMYXlvdXRTZXJ2aWNlRXJyb3I+IHtcclxuICAgIGNvbnN0IGxheW91dFNlcnZpY2VFcnJvciA9IG5ldyBMYXlvdXRTZXJ2aWNlRXJyb3IoKTtcclxuICAgIGNvbnN0IHJlc3BvbnNlID0gZXJyb3IucmVzcG9uc2U7XHJcbiAgICBpZiAocmVzcG9uc2UpIHtcclxuICAgICAgbGF5b3V0U2VydmljZUVycm9yLnN0YXR1cyA9IHJlc3BvbnNlLnN0YXR1cztcclxuICAgICAgbGF5b3V0U2VydmljZUVycm9yLnN0YXR1c1RleHQgPSByZXNwb25zZS5zdGF0dXNUZXh0O1xyXG4gICAgICBsYXlvdXRTZXJ2aWNlRXJyb3IuZGF0YSA9IHJlc3BvbnNlLmRhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9ic2VydmFibGVUaHJvdyhsYXlvdXRTZXJ2aWNlRXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Um91dGVEYXRhKFxyXG4gICAgcm91dGU6IHN0cmluZyxcclxuICAgIG9wdGlvbnM6IExheW91dFNlcnZpY2VSZXF1ZXN0T3B0aW9uczxMYXlvdXRTZXJ2aWNlRGF0YT5cclxuICApOiBPYnNlcnZhYmxlPExheW91dFNlcnZpY2VEYXRhIHwgTGF5b3V0U2VydmljZUVycm9yPiB7XHJcbiAgICByZXR1cm4gZnJvbVByb21pc2UoZmV0Y2hSb3V0ZURhdGEocm91dGUsIG9wdGlvbnMpKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKExheW91dFNlcnZpY2UuZ2V0TGF5b3V0U2VydmljZUVycm9yKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFBsYWNlaG9sZGVyRGF0YShcclxuICAgIHJvdXRlOiBzdHJpbmcsXHJcbiAgICBwbGFjZWhvbGRlck5hbWU6IHN0cmluZyxcclxuICAgIG9wdGlvbnM6IExheW91dFNlcnZpY2VSZXF1ZXN0T3B0aW9uczxQbGFjZWhvbGRlckRhdGE+XHJcbiAgKTogT2JzZXJ2YWJsZTxQbGFjZWhvbGRlckRhdGEgfCBMYXlvdXRTZXJ2aWNlRXJyb3I+IHtcclxuICAgIHJldHVybiBmcm9tUHJvbWlzZShmZXRjaFBsYWNlaG9sZGVyRGF0YShwbGFjZWhvbGRlck5hbWUsIHJvdXRlLCBvcHRpb25zKSkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcihMYXlvdXRTZXJ2aWNlLmdldExheW91dFNlcnZpY2VFcnJvcilcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { Injectable } from '@angular/core';
2
+ import { dataApi, } from '@sitecore-jss/sitecore-jss';
3
+ import { from as fromPromise, throwError as observableThrow } from 'rxjs';
4
+ import { catchError } from 'rxjs/operators';
5
+ import { LayoutServiceError } from './layout-service-error';
6
+ const { fetchRouteData, fetchPlaceholderData } = dataApi;
7
+ export class LayoutService {
8
+ static getLayoutServiceError(error) {
9
+ const layoutServiceError = new LayoutServiceError();
10
+ const response = error.response;
11
+ if (response) {
12
+ layoutServiceError.status = response.status;
13
+ layoutServiceError.statusText = response.statusText;
14
+ layoutServiceError.data = response.data;
15
+ }
16
+ return observableThrow(layoutServiceError);
17
+ }
18
+ getRouteData(route, options) {
19
+ return fromPromise(fetchRouteData(route, options)).pipe(catchError(LayoutService.getLayoutServiceError));
20
+ }
21
+ getPlaceholderData(route, placeholderName, options) {
22
+ return fromPromise(fetchPlaceholderData(placeholderName, route, options)).pipe(catchError(LayoutService.getLayoutServiceError));
23
+ }
24
+ }
25
+ LayoutService.decorators = [
26
+ { type: Injectable }
27
+ ];
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovV29yay9TaXRlY29yZS5KU1Mvc2NyaXB0cy9wdWJsaXNoL2pzcy1naXRodWIvcGFja2FnZXMvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGF5b3V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsT0FBTyxHQUlSLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLElBQUksSUFBSSxXQUFXLEVBQWMsVUFBVSxJQUFJLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsTUFBTSxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLE9BQU8sQ0FBQztBQUd6RCxNQUFNLE9BQU8sYUFBYTtJQUNoQixNQUFNLENBQUMscUJBQXFCLENBQUMsS0FBVTtRQUM3QyxNQUFNLGtCQUFrQixHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUNwRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksUUFBUSxFQUFFO1lBQ1osa0JBQWtCLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDNUMsa0JBQWtCLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7WUFDcEQsa0JBQWtCLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7U0FDekM7UUFFRCxPQUFPLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUFZLENBQ1YsS0FBYSxFQUNiLE9BQXVEO1FBRXZELE9BQU8sV0FBVyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3JELFVBQVUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FDaEQsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0IsQ0FDaEIsS0FBYSxFQUNiLGVBQXVCLEVBQ3ZCLE9BQXFEO1FBRXJELE9BQU8sV0FBVyxDQUFDLG9CQUFvQixDQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzVFLFVBQVUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FDaEQsQ0FBQztJQUNKLENBQUM7OztZQS9CRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIGRhdGFBcGksXHJcbiAgTGF5b3V0U2VydmljZURhdGEsXHJcbiAgTGF5b3V0U2VydmljZVJlcXVlc3RPcHRpb25zLFxyXG4gIFBsYWNlaG9sZGVyRGF0YSxcclxufSBmcm9tICdAc2l0ZWNvcmUtanNzL3NpdGVjb3JlLWpzcyc7XHJcbmltcG9ydCB7IGZyb20gYXMgZnJvbVByb21pc2UsIE9ic2VydmFibGUsIHRocm93RXJyb3IgYXMgb2JzZXJ2YWJsZVRocm93IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IExheW91dFNlcnZpY2VFcnJvciB9IGZyb20gJy4vbGF5b3V0LXNlcnZpY2UtZXJyb3InO1xyXG5cclxuY29uc3QgeyBmZXRjaFJvdXRlRGF0YSwgZmV0Y2hQbGFjZWhvbGRlckRhdGEgfSA9IGRhdGFBcGk7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRTZXJ2aWNlIHtcclxuICBwcml2YXRlIHN0YXRpYyBnZXRMYXlvdXRTZXJ2aWNlRXJyb3IoZXJyb3I6IGFueSk6IE9ic2VydmFibGU8TGF5b3V0U2VydmljZUVycm9yPiB7XHJcbiAgICBjb25zdCBsYXlvdXRTZXJ2aWNlRXJyb3IgPSBuZXcgTGF5b3V0U2VydmljZUVycm9yKCk7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGVycm9yLnJlc3BvbnNlO1xyXG4gICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgIGxheW91dFNlcnZpY2VFcnJvci5zdGF0dXMgPSByZXNwb25zZS5zdGF0dXM7XHJcbiAgICAgIGxheW91dFNlcnZpY2VFcnJvci5zdGF0dXNUZXh0ID0gcmVzcG9uc2Uuc3RhdHVzVGV4dDtcclxuICAgICAgbGF5b3V0U2VydmljZUVycm9yLmRhdGEgPSByZXNwb25zZS5kYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvYnNlcnZhYmxlVGhyb3cobGF5b3V0U2VydmljZUVycm9yKTtcclxuICB9XHJcblxyXG4gIGdldFJvdXRlRGF0YShcclxuICAgIHJvdXRlOiBzdHJpbmcsXHJcbiAgICBvcHRpb25zOiBMYXlvdXRTZXJ2aWNlUmVxdWVzdE9wdGlvbnM8TGF5b3V0U2VydmljZURhdGE+XHJcbiAgKTogT2JzZXJ2YWJsZTxMYXlvdXRTZXJ2aWNlRGF0YSB8IExheW91dFNlcnZpY2VFcnJvcj4ge1xyXG4gICAgcmV0dXJuIGZyb21Qcm9taXNlKGZldGNoUm91dGVEYXRhKHJvdXRlLCBvcHRpb25zKSkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcihMYXlvdXRTZXJ2aWNlLmdldExheW91dFNlcnZpY2VFcnJvcilcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRQbGFjZWhvbGRlckRhdGEoXHJcbiAgICByb3V0ZTogc3RyaW5nLFxyXG4gICAgcGxhY2Vob2xkZXJOYW1lOiBzdHJpbmcsXHJcbiAgICBvcHRpb25zOiBMYXlvdXRTZXJ2aWNlUmVxdWVzdE9wdGlvbnM8UGxhY2Vob2xkZXJEYXRhPlxyXG4gICk6IE9ic2VydmFibGU8UGxhY2Vob2xkZXJEYXRhIHwgTGF5b3V0U2VydmljZUVycm9yPiB7XHJcbiAgICByZXR1cm4gZnJvbVByb21pc2UoZmV0Y2hQbGFjZWhvbGRlckRhdGEocGxhY2Vob2xkZXJOYW1lLCByb3V0ZSwgb3B0aW9ucykpLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoTGF5b3V0U2VydmljZS5nZXRMYXlvdXRTZXJ2aWNlRXJyb3IpXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=