@sitecore-jss/sitecore-jss-angular 22.10.0-canary.9 → 22.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/LICENSE.txt +202 -202
  2. package/README.md +10 -10
  3. package/angular.json +47 -48
  4. package/dist/README.md +10 -10
  5. package/dist/fesm2022/sitecore-jss-sitecore-jss-angular.mjs +228 -393
  6. package/dist/fesm2022/sitecore-jss-sitecore-jss-angular.mjs.map +1 -1
  7. package/dist/index.d.ts +640 -3
  8. package/ng-package.json +13 -13
  9. package/package.json +22 -22
  10. package/tsconfig.json +10 -10
  11. package/tsconfig.spec.json +18 -18
  12. package/typings/README.md +2 -2
  13. package/dist/components/base-field.directive.d.ts +0 -39
  14. package/dist/components/date.directive.d.ts +0 -27
  15. package/dist/components/default-empty-image-field-editing-placeholder.component.d.ts +0 -8
  16. package/dist/components/default-empty-text-field-editing-placeholder.component.d.ts +0 -8
  17. package/dist/components/editframe.component.d.ts +0 -22
  18. package/dist/components/editing-scripts.component.d.ts +0 -16
  19. package/dist/components/field-metadata-marker.component.d.ts +0 -12
  20. package/dist/components/file.directive.d.ts +0 -17
  21. package/dist/components/form.component.d.ts +0 -48
  22. package/dist/components/generic-link.directive.d.ts +0 -24
  23. package/dist/components/hidden-rendering.component.d.ts +0 -6
  24. package/dist/components/image.directive.d.ts +0 -43
  25. package/dist/components/link.directive.d.ts +0 -41
  26. package/dist/components/missing-component.component.d.ts +0 -7
  27. package/dist/components/placeholder-loading.directive.d.ts +0 -8
  28. package/dist/components/placeholder.component.d.ts +0 -82
  29. package/dist/components/raw.component.d.ts +0 -12
  30. package/dist/components/render-component.component.d.ts +0 -33
  31. package/dist/components/render-each.directive.d.ts +0 -8
  32. package/dist/components/render-empty.directive.d.ts +0 -8
  33. package/dist/components/rendering-field-sxa.d.ts +0 -40
  34. package/dist/components/rendering-field.d.ts +0 -39
  35. package/dist/components/rendering.d.ts +0 -5
  36. package/dist/components/rich-text.directive.d.ts +0 -25
  37. package/dist/components/router-link.directive.d.ts +0 -23
  38. package/dist/components/text.directive.d.ts +0 -23
  39. package/dist/esm2022/components/base-field.directive.mjs +0 -56
  40. package/dist/esm2022/components/date.directive.mjs +0 -82
  41. package/dist/esm2022/components/default-empty-image-field-editing-placeholder.component.mjs +0 -26
  42. package/dist/esm2022/components/default-empty-text-field-editing-placeholder.component.mjs +0 -17
  43. package/dist/esm2022/components/editframe.component.mjs +0 -101
  44. package/dist/esm2022/components/editing-scripts.component.mjs +0 -59
  45. package/dist/esm2022/components/field-metadata-marker.component.mjs +0 -36
  46. package/dist/esm2022/components/file.directive.mjs +0 -49
  47. package/dist/esm2022/components/form.component.mjs +0 -125
  48. package/dist/esm2022/components/generic-link.directive.mjs +0 -75
  49. package/dist/esm2022/components/hidden-rendering.component.mjs +0 -20
  50. package/dist/esm2022/components/image.directive.mjs +0 -173
  51. package/dist/esm2022/components/link.directive.mjs +0 -153
  52. package/dist/esm2022/components/missing-component.component.mjs +0 -31
  53. package/dist/esm2022/components/placeholder-loading.directive.mjs +0 -17
  54. package/dist/esm2022/components/placeholder.component.mjs +0 -459
  55. package/dist/esm2022/components/raw.component.mjs +0 -39
  56. package/dist/esm2022/components/render-component.component.mjs +0 -106
  57. package/dist/esm2022/components/render-each.directive.mjs +0 -17
  58. package/dist/esm2022/components/render-empty.directive.mjs +0 -17
  59. package/dist/esm2022/components/rendering-field-sxa.mjs +0 -2
  60. package/dist/esm2022/components/rendering-field.mjs +0 -2
  61. package/dist/esm2022/components/rendering.mjs +0 -8
  62. package/dist/esm2022/components/rich-text.directive.mjs +0 -83
  63. package/dist/esm2022/components/router-link.directive.mjs +0 -57
  64. package/dist/esm2022/components/text.directive.mjs +0 -76
  65. package/dist/esm2022/lib.module.mjs +0 -173
  66. package/dist/esm2022/public_api.mjs +0 -32
  67. package/dist/esm2022/services/data-resolver-factory.mjs +0 -60
  68. package/dist/esm2022/services/guard-resolver-factory.mjs +0 -98
  69. package/dist/esm2022/services/jss-can-activate-error.mjs +0 -15
  70. package/dist/esm2022/services/jss-component-factory.service.mjs +0 -103
  71. package/dist/esm2022/services/jss-state.service.mjs +0 -44
  72. package/dist/esm2022/services/placeholder.token.mjs +0 -28
  73. package/dist/esm2022/services/shared.token.mjs +0 -6
  74. package/dist/esm2022/sitecore-jss-sitecore-jss-angular.mjs +0 -5
  75. package/dist/esm2022/utils.mjs +0 -17
  76. package/dist/lib.module.d.ts +0 -50
  77. package/dist/public_api.d.ts +0 -33
  78. package/dist/services/data-resolver-factory.d.ts +0 -13
  79. package/dist/services/guard-resolver-factory.d.ts +0 -11
  80. package/dist/services/jss-can-activate-error.d.ts +0 -10
  81. package/dist/services/jss-component-factory.service.d.ts +0 -27
  82. package/dist/services/jss-state.service.d.ts +0 -36
  83. package/dist/services/placeholder.token.d.ts +0 -65
  84. package/dist/services/shared.token.d.ts +0 -12
  85. package/dist/utils.d.ts +0 -6
@@ -1,106 +0,0 @@
1
- import { Component, Inject, Input, ViewChild, ViewContainerRef, } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { takeWhile } from 'rxjs/operators';
4
- import { PLACEHOLDER_MISSING_COMPONENT_COMPONENT } from '../services/placeholder.token';
5
- import { RawComponent } from './raw.component';
6
- import { isRawRendering } from './rendering';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../services/jss-component-factory.service";
9
- /**
10
- * Renders a single JSS component given a rendering definition.
11
- * Useful inside templated placeholders.
12
- */
13
- export class RenderComponentComponent {
14
- differs;
15
- componentFactory;
16
- missingComponentComponent;
17
- rendering;
18
- outputs;
19
- view;
20
- _inputs;
21
- _differ;
22
- destroyed = false;
23
- constructor(differs, componentFactory, missingComponentComponent) {
24
- this.differs = differs;
25
- this.componentFactory = componentFactory;
26
- this.missingComponentComponent = missingComponentComponent;
27
- }
28
- set inputs(value) {
29
- this._inputs = value;
30
- if (!this._differ && value) {
31
- this._differ = this.differs.find(value).create();
32
- }
33
- }
34
- ngOnChanges(changes) {
35
- if (changes.rendering) {
36
- this._render();
37
- }
38
- }
39
- _setComponentInputs(componentInstance, inputs) {
40
- Object.entries(inputs).forEach(([input, inputValue]) => (componentInstance[input] = inputValue));
41
- }
42
- _subscribeComponentOutputs(componentInstance, outputs) {
43
- Object.keys(outputs)
44
- .filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)
45
- .forEach((output) => componentInstance[output]
46
- .pipe(takeWhile(() => !this.destroyed))
47
- .subscribe(outputs[output]));
48
- }
49
- _render() {
50
- this.view.clear();
51
- if (!this.rendering) {
52
- return;
53
- }
54
- const resolveComponent = isRawRendering(this.rendering)
55
- ? Promise.resolve({
56
- componentImplementation: RawComponent,
57
- componentDefinition: this.rendering,
58
- })
59
- : this.componentFactory.getComponent(this.rendering);
60
- resolveComponent.then((rendering) => {
61
- if (!rendering.componentImplementation) {
62
- const componentName = rendering.componentDefinition.componentName;
63
- console.error(`Attempted to render unknown component ${componentName}.`, `Ensure component is mapped, like:
64
- JssModule.withComponents([
65
- { name: '${componentName}', type: ${componentName}Component }
66
- ])`);
67
- rendering.componentImplementation = this.missingComponentComponent;
68
- }
69
- const componentInstance = this.view.createComponent(rendering.componentImplementation)
70
- .instance;
71
- componentInstance.rendering = rendering.componentDefinition;
72
- if (this._inputs) {
73
- this._setComponentInputs(componentInstance, this._inputs);
74
- }
75
- if (this.outputs) {
76
- this._subscribeComponentOutputs(componentInstance, this.outputs);
77
- }
78
- });
79
- }
80
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RenderComponentComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i1.JssComponentFactoryService }, { token: PLACEHOLDER_MISSING_COMPONENT_COMPONENT }], target: i0.ɵɵFactoryTarget.Component });
81
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RenderComponentComponent, selector: "sc-render-component", inputs: { rendering: "rendering", outputs: "outputs", inputs: "inputs" }, viewQueries: [{ propertyName: "view", first: true, predicate: ["view"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: `
82
- <ng-template #view></ng-template>
83
- `, isInline: true });
84
- }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RenderComponentComponent, decorators: [{
86
- type: Component,
87
- args: [{
88
- selector: 'sc-render-component',
89
- template: `
90
- <ng-template #view></ng-template>
91
- `,
92
- }]
93
- }], ctorParameters: () => [{ type: i0.KeyValueDiffers }, { type: i1.JssComponentFactoryService }, { type: i0.Type, decorators: [{
94
- type: Inject,
95
- args: [PLACEHOLDER_MISSING_COMPONENT_COMPONENT]
96
- }] }], propDecorators: { rendering: [{
97
- type: Input
98
- }], outputs: [{
99
- type: Input
100
- }], view: [{
101
- type: ViewChild,
102
- args: ['view', { read: ViewContainerRef, static: true }]
103
- }], inputs: [{
104
- type: Input
105
- }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWNvbXBvbmVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9yZW5kZXItY29tcG9uZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBTUwsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUszQyxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRTdDOzs7R0FHRztBQU9ILE1BQU0sT0FBTyx3QkFBd0I7SUFVekI7SUFDQTtJQUVBO0lBWkQsU0FBUyxDQUE0QztJQUNyRCxPQUFPLENBQWdEO0lBQ0ssSUFBSSxDQUFtQjtJQUVwRixPQUFPLENBQTZCO0lBQ3BDLE9BQU8sQ0FBa0M7SUFDekMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUUxQixZQUNVLE9BQXdCLEVBQ3hCLGdCQUE0QyxFQUU1Qyx5QkFBMkQ7UUFIM0QsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE0QjtRQUU1Qyw4QkFBeUIsR0FBekIseUJBQXlCLENBQWtDO0lBQ2xFLENBQUM7SUFFSixJQUNJLE1BQU0sQ0FBQyxLQUFpQztRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxHQUFH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VSx3QkFBd0IsMkZBWXpCLHVDQUF1Qzs0RkFadEMsd0JBQXdCLDhNQUdSLGdCQUFnQixnRUFQakM7O0dBRVQ7OzRGQUVVLHdCQUF3QjtrQkFOcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUU7O0dBRVQ7aUJBQ0Y7OzBCQWFJLE1BQU07MkJBQUMsdUNBQXVDO3lDQVh4QyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDK0QsSUFBSTtzQkFBeEUsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFjdkQsTUFBTTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIEtleVZhbHVlRGlmZmVyLFxyXG4gIEtleVZhbHVlRGlmZmVycyxcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBUeXBlLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRSZW5kZXJpbmcsIEh0bWxFbGVtZW50UmVuZGVyaW5nIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MvbGF5b3V0JztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc3VsdCxcclxuICBKc3NDb21wb25lbnRGYWN0b3J5U2VydmljZSxcclxufSBmcm9tICcuLi9zZXJ2aWNlcy9qc3MtY29tcG9uZW50LWZhY3Rvcnkuc2VydmljZSc7XHJcbmltcG9ydCB7IFBMQUNFSE9MREVSX01JU1NJTkdfQ09NUE9ORU5UX0NPTVBPTkVOVCB9IGZyb20gJy4uL3NlcnZpY2VzL3BsYWNlaG9sZGVyLnRva2VuJztcclxuaW1wb3J0IHsgUmF3Q29tcG9uZW50IH0gZnJvbSAnLi9yYXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgaXNSYXdSZW5kZXJpbmcgfSBmcm9tICcuL3JlbmRlcmluZyc7XHJcblxyXG4vKipcclxuICogUmVuZGVycyBhIHNpbmdsZSBKU1MgY29tcG9uZW50IGdpdmVuIGEgcmVuZGVyaW5nIGRlZmluaXRpb24uXHJcbiAqIFVzZWZ1bCBpbnNpZGUgdGVtcGxhdGVkIHBsYWNlaG9sZGVycy5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2MtcmVuZGVyLWNvbXBvbmVudCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxuZy10ZW1wbGF0ZSAjdmlldz48L25nLXRlbXBsYXRlPlxyXG4gIGAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW5kZXJDb21wb25lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIHJlbmRlcmluZzogQ29tcG9uZW50UmVuZGVyaW5nIHwgSHRtbEVsZW1lbnRSZW5kZXJpbmc7XHJcbiAgQElucHV0KCkgb3V0cHV0czogeyBbazogc3RyaW5nXTogKGV2ZW50VHlwZTogdW5rbm93bikgPT4gdm9pZCB9O1xyXG4gIEBWaWV3Q2hpbGQoJ3ZpZXcnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSBwcml2YXRlIHZpZXc6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIHByaXZhdGUgX2lucHV0czogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH07XHJcbiAgcHJpdmF0ZSBfZGlmZmVyOiBLZXlWYWx1ZURpZmZlcjxzdHJpbmcsIHVua25vd24+O1xyXG4gIHByaXZhdGUgZGVzdHJveWVkID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3Rvcnk6IEpzc0NvbXBvbmVudEZhY3RvcnlTZXJ2aWNlLFxyXG4gICAgQEluamVjdChQTEFDRUhPTERFUl9NSVNTSU5HX0NPTVBPTkVOVF9DT01QT05FTlQpXHJcbiAgICBwcml2YXRlIG1pc3NpbmdDb21wb25lbnRDb21wb25lbnQ6IFR5cGU8eyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0+XHJcbiAgKSB7fVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCBpbnB1dHModmFsdWU6IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9KSB7XHJcbiAgICB0aGlzLl9pbnB1dHMgPSB2YWx1ZTtcclxuICAgIGlmICghdGhpcy5fZGlmZmVyICYmIHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX2RpZmZlciA9IHRoaXMuZGlmZmVycy5maW5kKHZhbHVlKS5jcmVhdGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzLnJlbmRlcmluZykge1xyXG4gICAgICB0aGlzLl9yZW5kZXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldENvbXBvbmVudElucHV0cyhcclxuICAgIGNvbXBvbmVudEluc3RhbmNlOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSxcclxuICAgIGlucHV0czogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH1cclxuICApIHtcclxuICAgIE9iamVjdC5lbnRyaWVzKGlucHV0cykuZm9yRWFjaChcclxuICAgICAgKFtpbnB1dCwgaW5wdXRWYWx1ZV0pID0+XHJcbiAgICAgICAgKChjb21wb25lbnRJbnN0YW5jZSBhcyB7IFtwcm9wOiBzdHJpbmddOiB1bmtub3duIH0pW2lucHV0XSA9IGlucHV0VmFsdWUpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc3Vic2NyaWJlQ29tcG9uZW50T3V0cHV0cyhcclxuICAgIGNvbXBvbmVudEluc3RhbmNlOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSxcclxuICAgIG91dHB1dHM6IHsgW2s6IHN0cmluZ106IChldmVudFR5cGU6IHVua25vd24pID0+IHZvaWQgfVxyXG4gICkge1xyXG4gICAgT2JqZWN0LmtleXMob3V0cHV0cylcclxuICAgICAgLmZpbHRlcihcclxuICAgICAgICAob3V0cHV0KSA9PiBjb21wb25lbnRJbnN0YW5jZVtvdXRwdXRdICYmIGNvbXBvbmVudEluc3RhbmNlW291dHB1dF0gaW5zdGFuY2VvZiBPYnNlcnZhYmxlXHJcbiAgICAgIClcclxuICAgICAgLmZvckVhY2goKG91dHB1dCkgPT5cclxuICAgICAgICAoY29tcG9uZW50SW5zdGFuY2Vbb3V0cHV0XSBhcyBPYnNlcnZhYmxlPHVua25vd24+KVxyXG4gICAgICAgICAgLnBpcGUodGFrZVdoaWxlKCgpID0+ICF0aGlzLmRlc3Ryb3llZCkpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKG91dHB1dHNbb3V0cHV0XSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3JlbmRlcigpIHtcclxuICAgIHRoaXMudmlldy5jbGVhcigpO1xyXG5cclxuICAgIGlmICghdGhpcy5yZW5kZXJpbmcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJlc29sdmVDb21wb25lbnQ6IFByb21pc2U8Q29tcG9uZW50RmFjdG9yeVJlc3VsdD4gPSBpc1Jhd1JlbmRlcmluZyh0aGlzLnJlbmRlcmluZylcclxuICAgICAgPyBQcm9taXNlLnJlc29sdmUoe1xyXG4gICAgICAgICAgY29tcG9uZW50SW1wbGVtZW50YXRpb246IFJhd0NvbXBvbmVudCxcclxuICAgICAgICAgIGNvbXBvbmVudERlZmluaXRpb246IHRoaXMucmVuZGVyaW5nLFxyXG4gICAgICAgIH0pXHJcbiAgICAgIDogdGhpcy5jb21wb25lbnRGYWN0b3J5LmdldENvbXBvbmVudCh0aGlzLnJlbmRlcmluZyk7XHJcblxyXG4gICAgcmVzb2x2ZUNvbXBvbmVudC50aGVuKChyZW5kZXJpbmcpID0+IHtcclxuICAgICAgaWYgKCFyZW5kZXJpbmcuY29tcG9uZW50SW1wbGVtZW50YXRpb24pIHtcclxuICAgICAgICBjb25zdCBjb21wb25lbnROYW1lID0gKHJlbmRlcmluZy5jb21wb25lbnREZWZpbml0aW9uIGFzIENvbXBvbmVudFJlbmRlcmluZykuY29tcG9uZW50TmFtZTtcclxuICAgICAgICBjb25zb2xlLmVycm9yKFxyXG4gICAgICAgICAgYEF0dGVtcHRlZCB0byByZW5kZXIgdW5rbm93biBjb21wb25lbnQgJHtjb21wb25lbnROYW1lfS5gLFxyXG4gICAgICAgICAgYEVuc3VyZSBjb21wb25lbnQgaXMgbWFwcGVkLCBsaWtlOlxyXG4gICAgICAgICAgSnNzTW9kdWxlLndpdGhDb21wb25lbnRzKFtcclxuICAgICAgICAgICAgeyBuYW1lOiAnJHtjb21wb25lbnROYW1lfScsIHR5cGU6ICR7Y29tcG9uZW50TmFtZX1Db21wb25lbnQgfVxyXG4gICAgICAgICAgXSlgXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcmVuZGVyaW5nLmNvbXBvbmVudEltcGxlbWVudGF0aW9uID0gdGhpcy5taXNzaW5nQ29tcG9uZW50Q29tcG9uZW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBjb21wb25lbnRJbnN0YW5jZSA9IHRoaXMudmlldy5jcmVhdGVDb21wb25lbnQocmVuZGVyaW5nLmNvbXBvbmVudEltcGxlbWVudGF0aW9uKVxyXG4gICAgICAgIC5pbnN0YW5jZTtcclxuICAgICAgY29tcG9uZW50SW5zdGFuY2UucmVuZGVyaW5nID0gcmVuZGVyaW5nLmNvbXBvbmVudERlZmluaXRpb247XHJcbiAgICAgIGlmICh0aGlzLl9pbnB1dHMpIHtcclxuICAgICAgICB0aGlzLl9zZXRDb21wb25lbnRJbnB1dHMoY29tcG9uZW50SW5zdGFuY2UsIHRoaXMuX2lucHV0cyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMub3V0cHV0cykge1xyXG4gICAgICAgIHRoaXMuX3N1YnNjcmliZUNvbXBvbmVudE91dHB1dHMoY29tcG9uZW50SW5zdGFuY2UsIHRoaXMub3V0cHV0cyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,17 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class RenderEachDirective {
4
- templateRef;
5
- constructor(templateRef) {
6
- this.templateRef = templateRef;
7
- }
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RenderEachDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: RenderEachDirective, selector: "[renderEach]", ngImport: i0 });
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RenderEachDirective, decorators: [{
12
- type: Directive,
13
- args: [{
14
- selector: '[renderEach]',
15
- }]
16
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWVhY2guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVuZGVyLWVhY2guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBS3ZELE1BQU0sT0FBTyxtQkFBbUI7SUFDWDtJQUFuQixZQUFtQixXQUFpQztRQUFqQyxnQkFBVyxHQUFYLFdBQVcsQ0FBc0I7SUFBRyxDQUFDO3dHQUQ3QyxtQkFBbUI7NEZBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tyZW5kZXJFYWNoXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW5kZXJFYWNoRGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+KSB7fVxyXG59XHJcbiJdfQ==
@@ -1,17 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class RenderEmptyDirective {
4
- templateRef;
5
- constructor(templateRef) {
6
- this.templateRef = templateRef;
7
- }
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RenderEmptyDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: RenderEmptyDirective, selector: "[renderEmpty]", ngImport: i0 });
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RenderEmptyDirective, decorators: [{
12
- type: Directive,
13
- args: [{
14
- selector: '[renderEmpty]',
15
- }]
16
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWVtcHR5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JlbmRlci1lbXB0eS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFLdkQsTUFBTSxPQUFPLG9CQUFvQjtJQUNaO0lBQW5CLFlBQW1CLFdBQWlDO1FBQWpDLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtJQUFHLENBQUM7d0dBRDdDLG9CQUFvQjs0RkFBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3JlbmRlckVtcHR5XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW5kZXJFbXB0eURpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPikge31cclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLWZpZWxkLXN4YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JlbmRlcmluZy1maWVsZC1zeGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmtGaWVsZCwgVGV4dEZpZWxkIH0gZnJvbSAnLi9yZW5kZXJpbmctZmllbGQnO1xyXG5cclxuaW50ZXJmYWNlIExheW91dFNlcnZpY2VMaW5rRmllbGQge1xyXG4gIGZpZWxkOiB7XHJcbiAgICBsaW5rOiBMaW5rRmllbGQ7XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTeGFMaW5rTGlzdEZpZWxkcyB7XHJcbiAgZGF0YToge1xyXG4gICAgZGF0YXNvdXJjZToge1xyXG4gICAgICBjaGlsZHJlbjoge1xyXG4gICAgICAgIHJlc3VsdHM6IExheW91dFNlcnZpY2VMaW5rRmllbGRbXTtcclxuICAgICAgfTtcclxuICAgICAgZmllbGQ6IHtcclxuICAgICAgICB0aXRsZTogVGV4dEZpZWxkO1xyXG4gICAgICB9O1xyXG4gICAgfTtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN4YVRpdGxlU291cmNlSXRlbSB7XHJcbiAgdXJsOiB7XHJcbiAgICBwYXRoOiBzdHJpbmc7XHJcbiAgICBzaXRlTmFtZTogc3RyaW5nO1xyXG4gIH07XHJcbiAgZmllbGQ6IHtcclxuICAgIGpzb25WYWx1ZToge1xyXG4gICAgICB2YWx1ZTogc3RyaW5nO1xyXG4gICAgICBlZGl0YWJsZT86IHN0cmluZztcclxuICAgICAgbWV0YWRhdGE/OiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfTtcclxuICAgIH07XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTeGFUaXRsZUZpZWxkcyB7XHJcbiAgZGF0YToge1xyXG4gICAgZGF0YXNvdXJjZTogU3hhVGl0bGVTb3VyY2VJdGVtO1xyXG4gICAgY29udGV4dEl0ZW06IFN4YVRpdGxlU291cmNlSXRlbTtcclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVuZGVyaW5nLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZSAqL1xyXG5pbXBvcnQgeyBGaWVsZE1ldGFkYXRhLCBHZW5lcmljRmllbGRWYWx1ZSB9IGZyb20gJ0BzaXRlY29yZS1qc3Mvc2l0ZWNvcmUtanNzL2xheW91dCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlbmRlcmluZ0ZpZWxkPFYgPSBHZW5lcmljRmllbGRWYWx1ZT4gZXh0ZW5kcyBGaWVsZE1ldGFkYXRhIHtcclxuICB2YWx1ZT86IFY7XHJcbiAgZWRpdGFibGU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZUZpZWxkIGV4dGVuZHMgUmVuZGVyaW5nRmllbGQ8c3RyaW5nIHwgbnVtYmVyIHwgRGF0ZT4ge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUZpZWxkVmFsdWUge1xyXG4gIHNyYz86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBkaXNwbGF5TmFtZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWxlRmllbGQgZXh0ZW5kcyBGaWxlRmllbGRWYWx1ZSwgUmVuZGVyaW5nRmllbGQ8RmlsZUZpZWxkVmFsdWU+IHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlRmllbGRWYWx1ZSB7XHJcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcclxuICBzcmM/OiBzdHJpbmc7XHJcbiAgc3JjU2V0Pzoge1xyXG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkO1xyXG4gIH1bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbWFnZUZpZWxkIGV4dGVuZHMgSW1hZ2VGaWVsZFZhbHVlLCBSZW5kZXJpbmdGaWVsZCB7XHJcbiAgdmFsdWU/OiBJbWFnZUZpZWxkVmFsdWU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGlua0ZpZWxkVmFsdWUge1xyXG4gIFtrZXk6IHN0cmluZ106IHVua25vd247XHJcbiAgaHJlZj86IHN0cmluZztcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIGFuY2hvcj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaW5rRmllbGQgZXh0ZW5kcyBMaW5rRmllbGRWYWx1ZSwgUmVuZGVyaW5nRmllbGQge1xyXG4gIHZhbHVlPzogTGlua0ZpZWxkVmFsdWU7XHJcbiAgZWRpdGFibGVGaXJzdFBhcnQ/OiBzdHJpbmc7XHJcbiAgZWRpdGFibGVMYXN0UGFydD86IHN0cmluZztcclxufVxyXG5cclxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmljaFRleHRGaWVsZCBleHRlbmRzIFJlbmRlcmluZ0ZpZWxkPHN0cmluZz4ge31cclxuXHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZSAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFRleHRGaWVsZCBleHRlbmRzIFJlbmRlcmluZ0ZpZWxkPHN0cmluZz4ge31cclxuIl19
@@ -1,8 +0,0 @@
1
- /**
2
- * @param {HtmlElementRendering | ComponentRendering} rendering
3
- */
4
- export function isRawRendering(rendering) {
5
- return (!rendering.componentName &&
6
- rendering.name !== undefined);
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVuZGVyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsU0FBb0Q7SUFFcEQsT0FBTyxDQUNMLENBQUUsU0FBZ0MsQ0FBQyxhQUFhO1FBQy9DLFNBQWtDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FDdkQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZW5kZXJpbmcsIEh0bWxFbGVtZW50UmVuZGVyaW5nIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MvbGF5b3V0JztcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge0h0bWxFbGVtZW50UmVuZGVyaW5nIHwgQ29tcG9uZW50UmVuZGVyaW5nfSByZW5kZXJpbmdcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBpc1Jhd1JlbmRlcmluZyhcclxuICByZW5kZXJpbmc6IEh0bWxFbGVtZW50UmVuZGVyaW5nIHwgQ29tcG9uZW50UmVuZGVyaW5nXHJcbik6IHJlbmRlcmluZyBpcyBIdG1sRWxlbWVudFJlbmRlcmluZyB7XHJcbiAgcmV0dXJuIChcclxuICAgICEocmVuZGVyaW5nIGFzIENvbXBvbmVudFJlbmRlcmluZykuY29tcG9uZW50TmFtZSAmJlxyXG4gICAgKHJlbmRlcmluZyBhcyBIdG1sRWxlbWVudFJlbmRlcmluZykubmFtZSAhPT0gdW5kZWZpbmVkXHJcbiAgKTtcclxufVxyXG4iXX0=
@@ -1,83 +0,0 @@
1
- import { Directive, Input, } from '@angular/core';
2
- import { isAbsoluteUrl } from '@sitecore-jss/sitecore-jss/utils';
3
- import { BaseFieldDirective } from './base-field.directive';
4
- import { DefaultEmptyFieldEditingComponent } from './default-empty-text-field-editing-placeholder.component';
5
- import { MetadataKind } from '@sitecore-jss/sitecore-jss/editing';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/router";
8
- export class RichTextDirective extends BaseFieldDirective {
9
- templateRef;
10
- renderer;
11
- router;
12
- editable = true;
13
- field;
14
- /**
15
- * Custom template to render in Pages in Metadata edit mode if field value is empty
16
- */
17
- emptyFieldEditingTemplate;
18
- /**
19
- * Default component to render in Pages in Metadata edit mode if field value is empty and emptyFieldEditingTemplate is not provided
20
- */
21
- defaultFieldEditingComponent;
22
- constructor(viewContainer, templateRef, renderer, router) {
23
- super(viewContainer);
24
- this.templateRef = templateRef;
25
- this.renderer = renderer;
26
- this.router = router;
27
- this.defaultFieldEditingComponent = DefaultEmptyFieldEditingComponent;
28
- }
29
- ngOnChanges(changes) {
30
- if (changes.field || changes.editable) {
31
- this.viewContainer.clear();
32
- this.updateView();
33
- }
34
- }
35
- updateView() {
36
- if (!this.shouldRender()) {
37
- super.renderEmpty();
38
- return;
39
- }
40
- this.renderMetadata(MetadataKind.Open);
41
- this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
42
- this.renderMetadata(MetadataKind.Close);
43
- const field = this.field;
44
- const html = field.editable && this.editable ? field.editable : field.value;
45
- this.viewRef.rootNodes.forEach((node) => {
46
- node.innerHTML = html;
47
- if (!node.querySelectorAll) {
48
- return;
49
- }
50
- const links = node.querySelectorAll('a[href]');
51
- const linksArray = [].slice.call(links);
52
- linksArray.forEach((link) => {
53
- const href = link.getAttribute('href');
54
- const target = link.getAttribute('target');
55
- if (!href || isAbsoluteUrl(href) || target === '_blank' || target === '_top') {
56
- return;
57
- }
58
- this.renderer.listen(link, 'click', (event) => {
59
- this.router.navigateByUrl(href);
60
- event.preventDefault();
61
- });
62
- });
63
- });
64
- }
65
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RichTextDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.Renderer2 }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive });
66
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: RichTextDirective, selector: "[scRichText]", inputs: { editable: ["scRichTextEditable", "editable"], field: ["scRichText", "field"], emptyFieldEditingTemplate: ["scRichTextEmptyFieldEditingTemplate", "emptyFieldEditingTemplate"] }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
67
- }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RichTextDirective, decorators: [{
69
- type: Directive,
70
- args: [{
71
- selector: '[scRichText]',
72
- }]
73
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.Renderer2 }, { type: i1.Router }], propDecorators: { editable: [{
74
- type: Input,
75
- args: ['scRichTextEditable']
76
- }], field: [{
77
- type: Input,
78
- args: ['scRichText']
79
- }], emptyFieldEditingTemplate: [{
80
- type: Input,
81
- args: ['scRichTextEmptyFieldEditingTemplate']
82
- }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JpY2gtdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEdBT04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQzdHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBS2xFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxrQkFBa0I7SUFpQjdDO0lBQ0E7SUFDQTtJQWxCbUIsUUFBUSxHQUFHLElBQUksQ0FBQztJQUV4QixLQUFLLENBQWdCO0lBRTFDOztPQUVHO0lBQzJDLHlCQUF5QixDQUF1QjtJQUU5Rjs7T0FFRztJQUNPLDRCQUE0QixDQUFnQjtJQUV0RCxZQUNFLGFBQStCLEVBQ3ZCLFdBQWlDLEVBQ2pDLFFBQW1CLEVBQ25CLE1BQWM7UUFFdEIsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBSmIsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO1FBQ2pDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUd0QixJQUFJLENBQUMsNEJBQTRCLEdBQUcsaUNBQWlDLENBQUM7SUFDeEUsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7WUFDekIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUM1RSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUV0QixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQzNCLE9BQU87WUFDVCxDQUFDO1lBRUQsTUFBTSxLQUFLLEdBQWdDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM1RSxNQUFNLFVBQVUsR0FBMkIsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFaEUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUMxQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN2QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUUzQyxJQUFJLENBQUMsSUFBSSxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLEtBQUssUUFBUSxJQUFJLE1BQU0sS0FBSyxNQUFNLEVBQUUsQ0FBQztvQkFDN0UsT0FBTztnQkFDVCxDQUFDO2dCQUVELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2hDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDekIsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0FwRVUsaUJBQWlCOzRGQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCOzRKQUU4QixRQUFRO3NCQUFwQyxLQUFLO3VCQUFDLG9CQUFvQjtnQkFFTixLQUFLO3NCQUF6QixLQUFLO3VCQUFDLFlBQVk7Z0JBSzJCLHlCQUF5QjtzQkFBdEUsS0FBSzt1QkFBQyxxQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBUeXBlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBpc0Fic29sdXRlVXJsIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MvdXRpbHMnO1xyXG5pbXBvcnQgeyBSaWNoVGV4dEZpZWxkIH0gZnJvbSAnLi9yZW5kZXJpbmctZmllbGQnO1xyXG5pbXBvcnQgeyBCYXNlRmllbGREaXJlY3RpdmUgfSBmcm9tICcuL2Jhc2UtZmllbGQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRGVmYXVsdEVtcHR5RmllbGRFZGl0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi9kZWZhdWx0LWVtcHR5LXRleHQtZmllbGQtZWRpdGluZy1wbGFjZWhvbGRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNZXRhZGF0YUtpbmQgfSBmcm9tICdAc2l0ZWNvcmUtanNzL3NpdGVjb3JlLWpzcy9lZGl0aW5nJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3NjUmljaFRleHRdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJpY2hUZXh0RGlyZWN0aXZlIGV4dGVuZHMgQmFzZUZpZWxkRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoJ3NjUmljaFRleHRFZGl0YWJsZScpIGVkaXRhYmxlID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCdzY1JpY2hUZXh0JykgZmllbGQ6IFJpY2hUZXh0RmllbGQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIEN1c3RvbSB0ZW1wbGF0ZSB0byByZW5kZXIgaW4gUGFnZXMgaW4gTWV0YWRhdGEgZWRpdCBtb2RlIGlmIGZpZWxkIHZhbHVlIGlzIGVtcHR5XHJcbiAgICovXHJcbiAgQElucHV0KCdzY1JpY2hUZXh0RW1wdHlGaWVsZEVkaXRpbmdUZW1wbGF0ZScpIGVtcHR5RmllbGRFZGl0aW5nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xyXG5cclxuICAvKipcclxuICAgKiBEZWZhdWx0IGNvbXBvbmVudCB0byByZW5kZXIgaW4gUGFnZXMgaW4gTWV0YWRhdGEgZWRpdCBtb2RlIGlmIGZpZWxkIHZhbHVlIGlzIGVtcHR5IGFuZCBlbXB0eUZpZWxkRWRpdGluZ1RlbXBsYXRlIGlzIG5vdCBwcm92aWRlZFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBkZWZhdWx0RmllbGRFZGl0aW5nQ29tcG9uZW50OiBUeXBlPHVua25vd24+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIHN1cGVyKHZpZXdDb250YWluZXIpO1xyXG4gICAgdGhpcy5kZWZhdWx0RmllbGRFZGl0aW5nQ29tcG9uZW50ID0gRGVmYXVsdEVtcHR5RmllbGRFZGl0aW5nQ29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXMuZmllbGQgfHwgY2hhbmdlcy5lZGl0YWJsZSkge1xyXG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVZpZXcoKSB7XHJcbiAgICBpZiAoIXRoaXMuc2hvdWxkUmVuZGVyKCkpIHtcclxuICAgICAgc3VwZXIucmVuZGVyRW1wdHkoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVuZGVyTWV0YWRhdGEoTWV0YWRhdGFLaW5kLk9wZW4pO1xyXG4gICAgdGhpcy52aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuICAgIHRoaXMucmVuZGVyTWV0YWRhdGEoTWV0YWRhdGFLaW5kLkNsb3NlKTtcclxuXHJcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGQ7XHJcbiAgICBjb25zdCBodG1sID0gZmllbGQuZWRpdGFibGUgJiYgdGhpcy5lZGl0YWJsZSA/IGZpZWxkLmVkaXRhYmxlIDogZmllbGQudmFsdWU7XHJcbiAgICB0aGlzLnZpZXdSZWYucm9vdE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgbm9kZS5pbm5lckhUTUwgPSBodG1sO1xyXG5cclxuICAgICAgaWYgKCFub2RlLnF1ZXJ5U2VsZWN0b3JBbGwpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGxpbmtzOiBOb2RlTGlzdE9mPEhUTUxMaW5rRWxlbWVudD4gPSBub2RlLnF1ZXJ5U2VsZWN0b3JBbGwoJ2FbaHJlZl0nKTtcclxuICAgICAgY29uc3QgbGlua3NBcnJheTogQXJyYXk8SFRNTExpbmtFbGVtZW50PiA9IFtdLnNsaWNlLmNhbGwobGlua3MpO1xyXG5cclxuICAgICAgbGlua3NBcnJheS5mb3JFYWNoKChsaW5rKSA9PiB7XHJcbiAgICAgICAgY29uc3QgaHJlZiA9IGxpbmsuZ2V0QXR0cmlidXRlKCdocmVmJyk7XHJcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gbGluay5nZXRBdHRyaWJ1dGUoJ3RhcmdldCcpO1xyXG5cclxuICAgICAgICBpZiAoIWhyZWYgfHwgaXNBYnNvbHV0ZVVybChocmVmKSB8fCB0YXJnZXQgPT09ICdfYmxhbmsnIHx8IHRhcmdldCA9PT0gJ190b3AnKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmxpc3RlbihsaW5rLCAnY2xpY2snLCAoZXZlbnQpID0+IHtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoaHJlZik7XHJcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,57 +0,0 @@
1
- import { Directive, Input, } from '@angular/core';
2
- import { LinkDirective } from './link.directive';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/router";
5
- export class RouterLinkDirective extends LinkDirective {
6
- router;
7
- editable = true;
8
- attrs = {};
9
- field;
10
- /**
11
- * Custom template to render in Pages in Metadata edit mode if field value is empty
12
- */
13
- emptyFieldEditingTemplate;
14
- constructor(viewContainer, templateRef, renderer, elementRef, router) {
15
- super(viewContainer, templateRef, renderer, elementRef);
16
- this.router = router;
17
- }
18
- renderTemplate(props, linkText) {
19
- const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
20
- viewRef.rootNodes.forEach((node) => {
21
- Object.entries(props).forEach(([key, propValue]) => {
22
- this.updateAttribute(node, key, propValue);
23
- if (key === 'href') {
24
- this.renderer.listen(node, 'click', (event) => {
25
- this.router.navigateByUrl(propValue);
26
- // shouldn't prevent default if the link includes a fragment
27
- if (!propValue.includes('#')) {
28
- event.preventDefault();
29
- }
30
- });
31
- }
32
- });
33
- if (node.childNodes && node.childNodes.length === 0 && linkText) {
34
- node.textContent = linkText;
35
- }
36
- });
37
- }
38
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterLinkDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive });
39
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: RouterLinkDirective, selector: "[scRouterLink]", inputs: { editable: ["scRouterLinkEditable", "editable"], attrs: ["scRouterLinkAttrs", "attrs"], field: ["scRouterLink", "field"], emptyFieldEditingTemplate: ["scRouterLinkEmptyFieldEditingTemplate", "emptyFieldEditingTemplate"] }, usesInheritance: true, ngImport: i0 });
40
- }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterLinkDirective, decorators: [{
42
- type: Directive,
43
- args: [{ selector: '[scRouterLink]' }]
44
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.Router }], propDecorators: { editable: [{
45
- type: Input,
46
- args: ['scRouterLinkEditable']
47
- }], attrs: [{
48
- type: Input,
49
- args: ['scRouterLinkAttrs']
50
- }], field: [{
51
- type: Input,
52
- args: ['scRouterLink']
53
- }], emptyFieldEditingTemplate: [{
54
- type: Input,
55
- args: ['scRouterLinkEmptyFieldEditingTemplate']
56
- }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcm91dGVyLWxpbmsuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxHQUlOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBSWpELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhO0lBbUIxQztJQWxCcUIsUUFBUSxHQUFHLElBQUksQ0FBQztJQUVuQixLQUFLLEdBQStCLEVBQUUsQ0FBQztJQUVwQyxLQUFLLENBQVk7SUFFaEQ7O09BRUc7SUFDcUQseUJBQXlCLENBRS9FO0lBRUYsWUFDRSxhQUErQixFQUMvQixXQUFpQyxFQUNqQyxRQUFtQixFQUNuQixVQUFzQixFQUNkLE1BQWM7UUFFdEIsS0FBSyxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRmhELFdBQU0sR0FBTixNQUFNLENBQVE7SUFHeEIsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFpQyxFQUFFLFFBQWdCO1FBQzFFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXhFLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDakMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFO2dCQUNqRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBRTNDLElBQUksR0FBRyxLQUFLLE1BQU0sRUFBRSxDQUFDO29CQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7d0JBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO3dCQUVyQyw0REFBNEQ7d0JBQzVELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7NEJBQzdCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3QkFDekIsQ0FBQztvQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNoRSxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztZQUM5QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQS9DVSxtQkFBbUI7NEZBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFEL0IsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRTtxTEFFUixRQUFRO3NCQUF0QyxLQUFLO3VCQUFDLHNCQUFzQjtnQkFFRCxLQUFLO3NCQUFoQyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFFSyxLQUFLO3NCQUFuQyxLQUFLO3VCQUFDLGNBQWM7Z0JBS21DLHlCQUF5QjtzQkFBaEYsS0FBSzt1QkFBQyx1Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIFJlbmRlcmVyMixcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi9saW5rLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IExpbmtGaWVsZCB9IGZyb20gJy4vcmVuZGVyaW5nLWZpZWxkJztcclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tzY1JvdXRlckxpbmtdJyB9KVxyXG5leHBvcnQgY2xhc3MgUm91dGVyTGlua0RpcmVjdGl2ZSBleHRlbmRzIExpbmtEaXJlY3RpdmUge1xyXG4gIEBJbnB1dCgnc2NSb3V0ZXJMaW5rRWRpdGFibGUnKSBlZGl0YWJsZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgnc2NSb3V0ZXJMaW5rQXR0cnMnKSBhdHRyczogeyBbYXR0cjogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuXHJcbiAgQElucHV0KCdzY1JvdXRlckxpbmsnKSBkZWNsYXJlIGZpZWxkOiBMaW5rRmllbGQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIEN1c3RvbSB0ZW1wbGF0ZSB0byByZW5kZXIgaW4gUGFnZXMgaW4gTWV0YWRhdGEgZWRpdCBtb2RlIGlmIGZpZWxkIHZhbHVlIGlzIGVtcHR5XHJcbiAgICovXHJcbiAgQElucHV0KCdzY1JvdXRlckxpbmtFbXB0eUZpZWxkRWRpdGluZ1RlbXBsYXRlJykgZGVjbGFyZSBlbXB0eUZpZWxkRWRpdGluZ1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxcclxuICAgIHVua25vd25cclxuICA+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4sXHJcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIHN1cGVyKHZpZXdDb250YWluZXIsIHRlbXBsYXRlUmVmLCByZW5kZXJlciwgZWxlbWVudFJlZik7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcmVuZGVyVGVtcGxhdGUocHJvcHM6IHsgW3Byb3A6IHN0cmluZ106IHN0cmluZyB9LCBsaW5rVGV4dDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB2aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuXHJcbiAgICB2aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKHByb3BzKS5mb3JFYWNoKChba2V5LCBwcm9wVmFsdWVdKSA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVBdHRyaWJ1dGUobm9kZSwga2V5LCBwcm9wVmFsdWUpO1xyXG5cclxuICAgICAgICBpZiAoa2V5ID09PSAnaHJlZicpIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKG5vZGUsICdjbGljaycsIChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHByb3BWYWx1ZSk7XHJcblxyXG4gICAgICAgICAgICAvLyBzaG91bGRuJ3QgcHJldmVudCBkZWZhdWx0IGlmIHRoZSBsaW5rIGluY2x1ZGVzIGEgZnJhZ21lbnRcclxuICAgICAgICAgICAgaWYgKCFwcm9wVmFsdWUuaW5jbHVkZXMoJyMnKSkge1xyXG4gICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAobm9kZS5jaGlsZE5vZGVzICYmIG5vZGUuY2hpbGROb2Rlcy5sZW5ndGggPT09IDAgJiYgbGlua1RleHQpIHtcclxuICAgICAgICBub2RlLnRleHRDb250ZW50ID0gbGlua1RleHQ7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,76 +0,0 @@
1
- import { Directive, Input, } from '@angular/core';
2
- import { BaseFieldDirective } from './base-field.directive';
3
- import { DefaultEmptyFieldEditingComponent } from './default-empty-text-field-editing-placeholder.component';
4
- import { MetadataKind } from '@sitecore-jss/sitecore-jss/editing';
5
- import * as i0 from "@angular/core";
6
- export class TextDirective extends BaseFieldDirective {
7
- templateRef;
8
- editable = true;
9
- encode = true;
10
- field;
11
- /**
12
- * Custom template to render in Pages in Metadata edit mode if field value is empty
13
- */
14
- emptyFieldEditingTemplate;
15
- /**
16
- * Default component to render in Pages in Metadata edit mode if field value is empty and emptyFieldEditingTemplate is not provided
17
- */
18
- defaultFieldEditingComponent;
19
- constructor(viewContainer, templateRef) {
20
- super(viewContainer);
21
- this.templateRef = templateRef;
22
- this.defaultFieldEditingComponent = DefaultEmptyFieldEditingComponent;
23
- }
24
- ngOnChanges(changes) {
25
- if (changes.field || changes.editable || changes.encode) {
26
- this.viewContainer.clear();
27
- this.updateView();
28
- }
29
- }
30
- updateView() {
31
- if (!this.shouldRender()) {
32
- super.renderEmpty();
33
- return;
34
- }
35
- this.renderMetadata(MetadataKind.Open);
36
- this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
37
- this.renderMetadata(MetadataKind.Close);
38
- const field = this.field;
39
- let editable = this.editable;
40
- // can't use editable value if we want to output unencoded
41
- if (!this.encode) {
42
- editable = false;
43
- }
44
- const html = field.editable && editable ? field.editable : field.value;
45
- const setDangerously = (field.editable && editable) || !this.encode;
46
- this.viewRef.rootNodes.forEach((node) => {
47
- if (setDangerously) {
48
- node.innerHTML = html;
49
- }
50
- else {
51
- node.textContent = html;
52
- }
53
- });
54
- }
55
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
56
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TextDirective, selector: "[scText]", inputs: { editable: ["scTextEditable", "editable"], encode: ["scTextEncode", "encode"], field: ["scText", "field"], emptyFieldEditingTemplate: ["scTextEmptyFieldEditingTemplate", "emptyFieldEditingTemplate"] }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
57
- }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextDirective, decorators: [{
59
- type: Directive,
60
- args: [{
61
- selector: '[scText]',
62
- }]
63
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }], propDecorators: { editable: [{
64
- type: Input,
65
- args: ['scTextEditable']
66
- }], encode: [{
67
- type: Input,
68
- args: ['scTextEncode']
69
- }], field: [{
70
- type: Input,
71
- args: ['scText']
72
- }], emptyFieldEditingTemplate: [{
73
- type: Input,
74
- args: ['scTextEmptyFieldEditingTemplate']
75
- }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy90ZXh0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssR0FNTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBS2xFLE1BQU0sT0FBTyxhQUFjLFNBQVEsa0JBQWtCO0lBaUJFO0lBaEI1QixRQUFRLEdBQUcsSUFBSSxDQUFDO0lBRWxCLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFFcEIsS0FBSyxDQUFZO0lBRWxDOztPQUVHO0lBQ3VDLHlCQUF5QixDQUF1QjtJQUUxRjs7T0FFRztJQUNPLDRCQUE0QixDQUFnQjtJQUV0RCxZQUFZLGFBQStCLEVBQVUsV0FBaUM7UUFDcEYsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRDhCLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtRQUVwRixJQUFJLENBQUMsNEJBQTRCLEdBQUcsaUNBQWlDLENBQUM7SUFDeEUsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUUzQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztZQUN6QixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUU3QiwwREFBMEQ7UUFDMUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQixRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ25CLENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN2RSxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRXBFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RDLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUMxQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQTFEVSxhQUFhOzRGQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBSHpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7aUJBQ3JCOytHQUUwQixRQUFRO3NCQUFoQyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFFQSxNQUFNO3NCQUE1QixLQUFLO3VCQUFDLGNBQWM7Z0JBRUosS0FBSztzQkFBckIsS0FBSzt1QkFBQyxRQUFRO2dCQUsyQix5QkFBeUI7c0JBQWxFLEtBQUs7dUJBQUMsaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVHlwZSxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUZXh0RmllbGQgfSBmcm9tICcuL3JlbmRlcmluZy1maWVsZCc7XHJcbmltcG9ydCB7IEJhc2VGaWVsZERpcmVjdGl2ZSB9IGZyb20gJy4vYmFzZS1maWVsZC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBEZWZhdWx0RW1wdHlGaWVsZEVkaXRpbmdDb21wb25lbnQgfSBmcm9tICcuL2RlZmF1bHQtZW1wdHktdGV4dC1maWVsZC1lZGl0aW5nLXBsYWNlaG9sZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1ldGFkYXRhS2luZCB9IGZyb20gJ0BzaXRlY29yZS1qc3Mvc2l0ZWNvcmUtanNzL2VkaXRpbmcnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbc2NUZXh0XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0RGlyZWN0aXZlIGV4dGVuZHMgQmFzZUZpZWxkRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoJ3NjVGV4dEVkaXRhYmxlJykgZWRpdGFibGUgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoJ3NjVGV4dEVuY29kZScpIGVuY29kZSA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgnc2NUZXh0JykgZmllbGQ6IFRleHRGaWVsZDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ3VzdG9tIHRlbXBsYXRlIHRvIHJlbmRlciBpbiBQYWdlcyBpbiBNZXRhZGF0YSBlZGl0IG1vZGUgaWYgZmllbGQgdmFsdWUgaXMgZW1wdHlcclxuICAgKi9cclxuICBASW5wdXQoJ3NjVGV4dEVtcHR5RmllbGRFZGl0aW5nVGVtcGxhdGUnKSBlbXB0eUZpZWxkRWRpdGluZ1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmYXVsdCBjb21wb25lbnQgdG8gcmVuZGVyIGluIFBhZ2VzIGluIE1ldGFkYXRhIGVkaXQgbW9kZSBpZiBmaWVsZCB2YWx1ZSBpcyBlbXB0eSBhbmQgZW1wdHlGaWVsZEVkaXRpbmdUZW1wbGF0ZSBpcyBub3QgcHJvdmlkZWRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZGVmYXVsdEZpZWxkRWRpdGluZ0NvbXBvbmVudDogVHlwZTx1bmtub3duPjtcclxuXHJcbiAgY29uc3RydWN0b3Iodmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4pIHtcclxuICAgIHN1cGVyKHZpZXdDb250YWluZXIpO1xyXG4gICAgdGhpcy5kZWZhdWx0RmllbGRFZGl0aW5nQ29tcG9uZW50ID0gRGVmYXVsdEVtcHR5RmllbGRFZGl0aW5nQ29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXMuZmllbGQgfHwgY2hhbmdlcy5lZGl0YWJsZSB8fCBjaGFuZ2VzLmVuY29kZSkge1xyXG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuXHJcbiAgICAgIHRoaXMudXBkYXRlVmlldygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVWaWV3KCkge1xyXG4gICAgaWYgKCF0aGlzLnNob3VsZFJlbmRlcigpKSB7XHJcbiAgICAgIHN1cGVyLnJlbmRlckVtcHR5KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJlbmRlck1ldGFkYXRhKE1ldGFkYXRhS2luZC5PcGVuKTtcclxuICAgIHRoaXMudmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XHJcbiAgICB0aGlzLnJlbmRlck1ldGFkYXRhKE1ldGFkYXRhS2luZC5DbG9zZSk7XHJcblxyXG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkO1xyXG4gICAgbGV0IGVkaXRhYmxlID0gdGhpcy5lZGl0YWJsZTtcclxuXHJcbiAgICAvLyBjYW4ndCB1c2UgZWRpdGFibGUgdmFsdWUgaWYgd2Ugd2FudCB0byBvdXRwdXQgdW5lbmNvZGVkXHJcbiAgICBpZiAoIXRoaXMuZW5jb2RlKSB7XHJcbiAgICAgIGVkaXRhYmxlID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaHRtbCA9IGZpZWxkLmVkaXRhYmxlICYmIGVkaXRhYmxlID8gZmllbGQuZWRpdGFibGUgOiBmaWVsZC52YWx1ZTtcclxuICAgIGNvbnN0IHNldERhbmdlcm91c2x5ID0gKGZpZWxkLmVkaXRhYmxlICYmIGVkaXRhYmxlKSB8fCAhdGhpcy5lbmNvZGU7XHJcblxyXG4gICAgdGhpcy52aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIGlmIChzZXREYW5nZXJvdXNseSkge1xyXG4gICAgICAgIG5vZGUuaW5uZXJIVE1MID0gaHRtbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBub2RlLnRleHRDb250ZW50ID0gaHRtbDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==