@sitecore-jss/sitecore-jss-angular 15.0.1 → 15.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 (59) 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 +1 -1
  5. package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.js.map +1 -1
  6. package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.min.js +1 -1
  7. package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.min.js.map +1 -1
  8. package/dist/esm2015/components/date.directive.js +1 -1
  9. package/dist/esm2015/components/file.directive.js +1 -1
  10. package/dist/esm2015/components/generic-link.directive.js +1 -1
  11. package/dist/esm2015/components/image.directive.js +1 -1
  12. package/dist/esm2015/components/link.directive.js +1 -1
  13. package/dist/esm2015/components/missing-component.component.js +1 -1
  14. package/dist/esm2015/components/placeholder-loading.directive.js +1 -1
  15. package/dist/esm2015/components/placeholder.component.js +1 -1
  16. package/dist/esm2015/components/placeholder.token.js +1 -1
  17. package/dist/esm2015/components/raw.component.js +1 -1
  18. package/dist/esm2015/components/render-component.component.js +1 -1
  19. package/dist/esm2015/components/render-each.directive.js +1 -1
  20. package/dist/esm2015/components/render-empty.directive.js +1 -1
  21. package/dist/esm2015/components/rendering-field.js +1 -1
  22. package/dist/esm2015/components/rendering.js +1 -1
  23. package/dist/esm2015/components/rich-text.directive.js +1 -1
  24. package/dist/esm2015/components/router-link.directive.js +2 -2
  25. package/dist/esm2015/components/text.directive.js +1 -1
  26. package/dist/esm2015/jss-component-factory.service.js +1 -1
  27. package/dist/esm2015/layout-service-error.js +1 -1
  28. package/dist/esm2015/layout.service.js +1 -1
  29. package/dist/esm2015/lib.module.js +1 -1
  30. package/dist/esm2015/public_api.js +1 -1
  31. package/dist/esm2015/sitecore-jss-sitecore-jss-angular.js +1 -1
  32. package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.js +1 -1
  33. package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.js.map +1 -1
  34. package/dist/package.json +2 -2
  35. package/package.json +3 -3
  36. package/typings/README.md +2 -2
  37. package/__ivy_ngcc__/dist/esm2015/components/date.directive.js +0 -74
  38. package/__ivy_ngcc__/dist/esm2015/components/file.directive.js +0 -50
  39. package/__ivy_ngcc__/dist/esm2015/components/generic-link.directive.js +0 -77
  40. package/__ivy_ngcc__/dist/esm2015/components/image.directive.js +0 -145
  41. package/__ivy_ngcc__/dist/esm2015/components/link.directive.js +0 -114
  42. package/__ivy_ngcc__/dist/esm2015/components/missing-component.component.js +0 -35
  43. package/__ivy_ngcc__/dist/esm2015/components/placeholder-loading.directive.js +0 -19
  44. package/__ivy_ngcc__/dist/esm2015/components/placeholder.component.js +0 -252
  45. package/__ivy_ngcc__/dist/esm2015/components/placeholder.token.js +0 -15
  46. package/__ivy_ngcc__/dist/esm2015/components/raw.component.js +0 -42
  47. package/__ivy_ngcc__/dist/esm2015/components/render-component.component.js +0 -116
  48. package/__ivy_ngcc__/dist/esm2015/components/render-each.directive.js +0 -20
  49. package/__ivy_ngcc__/dist/esm2015/components/render-empty.directive.js +0 -20
  50. package/__ivy_ngcc__/dist/esm2015/components/rendering.js +0 -4
  51. package/__ivy_ngcc__/dist/esm2015/components/rich-text.directive.js +0 -52
  52. package/__ivy_ngcc__/dist/esm2015/components/router-link.directive.js +0 -60
  53. package/__ivy_ngcc__/dist/esm2015/components/text.directive.js +0 -69
  54. package/__ivy_ngcc__/dist/esm2015/jss-component-factory.service.js +0 -103
  55. package/__ivy_ngcc__/dist/esm2015/layout-service-error.js +0 -3
  56. package/__ivy_ngcc__/dist/esm2015/layout.service.js +0 -33
  57. package/__ivy_ngcc__/dist/esm2015/lib.module.js +0 -146
  58. package/__ivy_ngcc__/dist/esm2015/public_api.js +0 -16
  59. package/__ivy_ngcc__/dist/esm2015/sitecore-jss-sitecore-jss-angular.js +0 -13
@@ -1,74 +0,0 @@
1
- import { DatePipe } from '@angular/common';
2
- import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';
3
- import * as ɵngcc0 from '@angular/core';
4
- import * as ɵngcc1 from '@angular/common';
5
- export class DateDirective {
6
- constructor(viewContainer, templateRef, datePipe) {
7
- this.viewContainer = viewContainer;
8
- this.templateRef = templateRef;
9
- this.datePipe = datePipe;
10
- // tslint:disable-next-line:no-input-rename
11
- this.editable = true;
12
- }
13
- ngOnChanges(changes) {
14
- if (changes['field'] || changes['format']) {
15
- if (!this.viewRef) {
16
- this.viewContainer.clear();
17
- this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
18
- }
19
- this.updateView();
20
- }
21
- }
22
- updateView() {
23
- const field = this.field;
24
- if (!field || (!field.editable && !field.value)) {
25
- return;
26
- }
27
- const html = field.editable && this.editable ? field.editable : field.value;
28
- const setDangerously = field.editable && this.editable;
29
- this.viewRef.rootNodes.forEach((node) => {
30
- if (setDangerously) {
31
- node.innerHTML = html;
32
- }
33
- else {
34
- node.textContent = this.datePipe.transform(html, this.format, this.timezone, this.locale);
35
- }
36
- });
37
- }
38
- }
39
- DateDirective.ɵfac = function DateDirective_Factory(t) { return new (t || DateDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.DatePipe)); };
40
- DateDirective.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: DateDirective, selectors: [["", "scDate", ""]], inputs: { editable: ["scDateEditable", "editable"], format: ["scDateFormat", "format"], timezone: ["scDateTimezone", "timezone"], locale: ["scDateLocale", "locale"], field: ["scDate", "field"] }, features: [ɵngcc0.ɵɵNgOnChangesFeature] });
41
- DateDirective.ctorParameters = () => [
42
- { type: ViewContainerRef },
43
- { type: TemplateRef },
44
- { type: DatePipe }
45
- ];
46
- DateDirective.propDecorators = {
47
- format: [{ type: Input, args: ['scDateFormat',] }],
48
- timezone: [{ type: Input, args: ['scDateTimezone',] }],
49
- locale: [{ type: Input, args: ['scDateLocale',] }],
50
- editable: [{ type: Input, args: ['scDateEditable',] }],
51
- field: [{ type: Input, args: ['scDate',] }]
52
- };
53
- /*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(DateDirective, [{
54
- type: Directive,
55
- args: [{
56
- selector: '[scDate]'
57
- }]
58
- }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }, { type: ɵngcc1.DatePipe }]; }, { editable: [{
59
- type: Input,
60
- args: ['scDateEditable']
61
- }], format: [{
62
- type: Input,
63
- args: ['scDateFormat']
64
- }], timezone: [{
65
- type: Input,
66
- args: ['scDateTimezone']
67
- }], locale: [{
68
- type: Input,
69
- args: ['scDateLocale']
70
- }], field: [{
71
- type: Input,
72
- args: ['scDate']
73
- }] }); })();
74
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2RhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFtQixLQUFLLEVBQTRCLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zSCxNQUFNLE9BQU8sYUFBYSxPQWtCeEI7SUFDVSxhQUErQixFQUMvQixXQUE2QixFQUM3QixRQUFrQjtTQUZsQixrQkFBYSwzQkFuQnpCLE1BQU0sT0FBTyxhQUFhO0NBbUJkLGFBQWEsQ0FBa0IsU0FDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCLHZEQXBCWixJQWtCM0IsWUFDVSxhQUErQixFQUMvQixXQUE2QixFQUM3QixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVLFNBVDVCLDFDQVVDLFFBSFMsa0JBQWEsR0FBYixhQUFhLENBQWtCO0FBQUMsUUFDaEMsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO0NBUkksU0FDbEIsYUFBUSxHQUFHLElBQUksQ0FBQywvQkFPRCxRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFVO0VBQ3hCLENBQUMsS0FFTCxXQUFXLENBQUMsT0FBc0IsWUFDaEMsSUFBSSxPQUFPLENBQUMsbkRBSGhCLFFBVkUsMkNBQTJDO01BYXRCLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLDVCQVo3QyxRQUEyQixhQUFRLEdBQUcsSUFBSSxDQUFDO0FBWUksQUFYL0MsSUFRTSxDQUFDO1FBSUQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLHpCQUh2QixJQUNFLFdBQVcsQ0FBQyxPQUFzQjtBQUVYLGtCQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDLDdDQUZuQyxRQUFJLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtTQUd2QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyw3QkFGNUIsWUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtTQUVnQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxsQ0FEbEUsZ0JBQVEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztDQUMwQyxDQUFDLENBQUMsY0FDeEUsYUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsVUFDbkIsS0FDSCxDQUFDLEtBRU8sVUFBVSwvRUFQcEIsZ0JBQVEsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQVEzRSxNQUFNLFZBUFYsYUFBTztDQU9RLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUV6QixJQUFJLENBQUMsN0JBUlQsWUFDTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7R0FPVixJQUFJLENBQUMsQ0FBQyxUQU5wQixTQUFLO0lBTW9CLENBQUMsTEFMMUIsSUFBRSxDQUFDO09BSytCLElBQUksQ0FBQyxLQUFLLENBQUMsbEJBSjdDLElBQ1UsVUFBVTtJQUc4QixDQUFDLEVBQUUsY0FDL0MsT0FBTyw1QkFIYixRQUFJLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFJeEIsU0FFRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsMURBTGpELFFBQ0ksSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtBQUlILENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsbEJBSHBFLFlBQU0sT0FBTztHQUc0RCxDQUFDLEtBQUssVEFGL0UsU0FBSztBQUUyRSxTQUM1RSxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7QUFBM0QsUUFBSSxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsaERBRDVDLFFBQ0ksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxjQUFjLEVBQUUsaENBQTFCLFlBQU0sSUFBSSxjQUFjLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLHRDQUE5QixnQkFBUSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzthQUN2QixiQUFQLGFBQU87aUJBQU0sakJBQUwsaUJBQUs7Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQywxR0FBbEcsZ0JBQVEsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUMzRixiQUFQLGFBQU87UUFDSCxDQUFDLENBQUMsQ0FBQyxYQUFQLFFBQUksQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLExBQUgsSUFBRSxDQUFDO0FBQ0g7eUNBeERDLFNBQVMsU0FBQyxrQkFDVCxRQUFRLEVBQUUsVUFBVSxlQUNyQiwyREFMa0YsZ0JBQWdCLGdCQUE3QixXQUFXLGdCQUR4RSw3TEFJUixTQUFTLFNBQUMsa0JBQ1QsUUFBUSxFQUFFLFVBQVUsZUFDckI7S0FOZ0IsNERBV2QsS0FBSyxTQUFDLGNBQWMsOEJBR3BCLEtBQUssU0FBQyxnQkFBZ0IsNEJBR3RCLEtBQUssU0FBQyxjQUFjLDhCQUdwQixLQUFLLFNBQUMsZ0JBQWdCLDJCQUd0QixLQUFLLFNBQUMsUUFBUSx1QkFoQlo7QUFBQztBQUF1QyxZQU5zQyxnQkFBZ0I7QUFBSSxZQUFqQyxXQUFXO0FBQUksWUFENUUsUUFBUTtBQUFHO0FBQUc7QUFDWCxxQkFVVCxLQUFLLFNBQUMsY0FBYztBQUFPLHVCQUczQixLQUFLLFNBQUMsZ0JBQWdCO0FBQU8scUJBRzdCLEtBQUssU0FBQyxjQUFjO0FBQU8sdUJBRzNCLEtBQUssU0FBQyxnQkFBZ0I7QUFBTyxvQkFHN0IsS0FBSyxTQUFDLFFBQVE7QUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXZCQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQ0EsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbWJlZGRlZFZpZXdSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRleHRGaWVsZCB9IGZyb20gJy4vcmVuZGVyaW5nLWZpZWxkJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3NjRGF0ZV0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgcHJpdmF0ZSB2aWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8YW55PjtcclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2NEYXRlRm9ybWF0JykgZm9ybWF0Pzogc3RyaW5nO1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzY0RhdGVUaW1lem9uZScpIHRpbWV6b25lPzogc3RyaW5nO1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzY0RhdGVMb2NhbGUnKSBsb2NhbGU/OiBzdHJpbmc7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NjRGF0ZUVkaXRhYmxlJykgZWRpdGFibGUgPSB0cnVlO1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzY0RhdGUnKSBmaWVsZDogVGV4dEZpZWxkO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXHJcbiAgICBwcml2YXRlIGRhdGVQaXBlOiBEYXRlUGlwZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzWydmaWVsZCddIHx8IGNoYW5nZXNbJ2Zvcm1hdCddKSB7XHJcbiAgICAgIGlmICghdGhpcy52aWV3UmVmKSB7XHJcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy52aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVZpZXcoKSB7XHJcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGQ7XHJcblxyXG4gICAgaWYgKCFmaWVsZCB8fCAoIWZpZWxkLmVkaXRhYmxlICYmICFmaWVsZC52YWx1ZSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGh0bWwgPSBmaWVsZC5lZGl0YWJsZSAmJiB0aGlzLmVkaXRhYmxlID8gZmllbGQuZWRpdGFibGUgOiBmaWVsZC52YWx1ZTtcclxuICAgIGNvbnN0IHNldERhbmdlcm91c2x5ID0gZmllbGQuZWRpdGFibGUgJiYgdGhpcy5lZGl0YWJsZTtcclxuXHJcbiAgICB0aGlzLnZpZXdSZWYucm9vdE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgaWYgKHNldERhbmdlcm91c2x5KSB7XHJcbiAgICAgICAgbm9kZS5pbm5lckhUTUwgPSBodG1sO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG5vZGUudGV4dENvbnRlbnQgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShodG1sLCB0aGlzLmZvcm1hdCwgdGhpcy50aW1lem9uZSwgdGhpcy5sb2NhbGUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,50 +0,0 @@
1
- import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';
2
- /**
3
- * File fields cannot be managed via the EE. We never output "editable."
4
- */
5
- import * as ɵngcc0 from '@angular/core';
6
- export class FileDirective {
7
- constructor(viewContainer, templateRef) {
8
- this.viewContainer = viewContainer;
9
- this.templateRef = templateRef;
10
- }
11
- ngOnChanges(changes) {
12
- if (changes['field']) {
13
- if (!this.viewRef) {
14
- this.viewContainer.clear();
15
- this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
16
- }
17
- this.updateView();
18
- }
19
- }
20
- updateView() {
21
- const field = this.field;
22
- if (!field || (!field.value && !field.src)) {
23
- return;
24
- }
25
- const file = field.src ? field : field.value;
26
- this.viewRef.rootNodes.forEach((node) => {
27
- node.href = file.src;
28
- if (node.innerHTML === '') {
29
- node.innerHTML = file.title || file.displayName;
30
- }
31
- });
32
- }
33
- }
34
- FileDirective.ɵfac = function FileDirective_Factory(t) { return new (t || FileDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };
35
- FileDirective.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: FileDirective, selectors: [["", "scFile", ""]], inputs: { field: ["scFile", "field"] }, features: [ɵngcc0.ɵɵNgOnChangesFeature] });
36
- FileDirective.ctorParameters = () => [
37
- { type: ViewContainerRef },
38
- { type: TemplateRef }
39
- ];
40
- FileDirective.propDecorators = {
41
- field: [{ type: Input, args: ['scFile',] }]
42
- };
43
- /*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(FileDirective, [{
44
- type: Directive,
45
- args: [{ selector: '[scFile]' }]
46
- }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }]; }, { field: [{
47
- type: Input,
48
- args: ['scFile']
49
- }] }); })();
50
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2ZpbGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFHQTtBQUNBO0dBQ0csSEFBSCxHQUFHO0FBRUgsTUFBTSxPQUFPLGFBQWEsT0FNeEI7SUFDVSxhQUErQixFQUMvQixuQkFSWixNQUFNLE9BQU8sYUFBYTtDQVFlLFlBRDdCLGtCQUFhLEdBQWIsbENBUGlCLElBTTNCLFlBQ1UsYUFBK0IsRUFDL0IsV0FBNkI7Q0FEaEIsQ0FBa0IsU0FDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCLDFDQUN2QyxRQUZVLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtHQUVyQyxDQUFDLEtBRUwsV0FBVyxDQUFDLE9BQXNCLDVCQUpRLFFBQ2hDLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtBQUlyQyxJQUFJLEpBSmtDLElBQ3BDLENBQUM7S0FHUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLGhCQUYxQixJQUNFLFdBQVcsQ0FBQyxPQUFzQjtHQUU5QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSx0QkFGZSxRQUNwQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUVsQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssaENBRGhDLFlBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Q0FDUyxDQUFDLGlCQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyx2Q0FENUIsZ0JBQVEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLGNBQ3hFLGFBRUQsSUFBSSxDQUFDLDlFQUhYLGdCQUFRLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7QUFHMUQsRUFBRSxDQUFDLFVBQ25CLGJBSEwsYUFBTztJQUlMLENBQUMsS0FFTyxVQUFVLHBCQUxwQixZQUNNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztFQUtwQixNQUFNLFJBSlYsU0FBSztHQUlVLEhBSGYsSUFBRSxDQUFDO0FBR2UsSUFBSSxDQUFDLEtBQUssQ0FBQyxYQUY3QixJQUNVLFVBQVU7Q0FHaEIsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLGpDQUZwQyxRQUFJLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFFWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLGNBQzFDLE9BQU87QUFBYixZQUFNLE9BQU87U0FDUixUQUFMLFNBQUs7UUFFRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsckRBRGpELFFBQ0ksTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLGhEQUE1QyxRQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxqQ0FBM0IsWUFBTSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDckIsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEVBQUUsRUFBRSx2Q0FBakMsWUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFO2dCQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxoRUFBeEQsZ0JBQVEsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDakQsYkFBUCxhQUFPO1FBQ0gsQ0FBQyxDQUFDLENBQUMsWEFBUCxRQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxMQUFILElBQUUsQ0FBQztBQUNIO3lDQXRDQyxTQUFTLFNBQUMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLDJEQU5nRCxnQkFBZ0IsZ0JBQTdCLFdBQVcsaEpBTWhGLFNBQVMsU0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7c0RBS2hDLEtBQUssU0FBQyxRQUFRLDZHQUpaO0FBQUM7QUFBdUMsWUFQc0MsZ0JBQWdCO0FBQUksWUFBakMsV0FBVztBQUFHO0FBQUc7QUFBaUMsb0JBV3JILEtBQUssU0FBQyxRQUFRO0FBQU07Ozs7Ozs7O0FBWEEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUdBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbWJlZGRlZFZpZXdSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpbGVGaWVsZCB9IGZyb20gJy4vcmVuZGVyaW5nLWZpZWxkJztcclxuXHJcbi8qKlxyXG4gKiBGaWxlIGZpZWxkcyBjYW5ub3QgYmUgbWFuYWdlZCB2aWEgdGhlIEVFLiBXZSBuZXZlciBvdXRwdXQgXCJlZGl0YWJsZS5cIlxyXG4gKi9cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW3NjRmlsZV0nIH0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBwcml2YXRlIHZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxhbnk+O1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzY0ZpbGUnKSBmaWVsZDogRmlsZUZpZWxkO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2ZpZWxkJ10pIHtcclxuICAgICAgaWYgKCF0aGlzLnZpZXdSZWYpIHtcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgICB0aGlzLnZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVmlldygpIHtcclxuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZDtcclxuXHJcbiAgICBpZiAoIWZpZWxkIHx8ICghZmllbGQudmFsdWUgJiYgIWZpZWxkLnNyYykpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZpbGUgPSBmaWVsZC5zcmMgPyBmaWVsZCA6IGZpZWxkLnZhbHVlO1xyXG4gICAgdGhpcy52aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIG5vZGUuaHJlZiA9IGZpbGUuc3JjO1xyXG4gICAgICBpZiAobm9kZS5pbm5lckhUTUwgPT09ICcnKSB7XHJcbiAgICAgICAgbm9kZS5pbm5lckhUTUwgPSBmaWxlLnRpdGxlIHx8IGZpbGUuZGlzcGxheU5hbWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,77 +0,0 @@
1
- import { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';
2
- import { Router } from '@angular/router';
3
- import { LinkDirective } from './link.directive';
4
- import * as ɵngcc0 from '@angular/core';
5
- import * as ɵngcc1 from '@angular/router';
6
- export class GenericLinkDirective extends LinkDirective {
7
- constructor(viewContainer, templateRef, renderer, elementRef, router) {
8
- super(viewContainer, templateRef, renderer, elementRef);
9
- this.router = router;
10
- // tslint:disable-next-line:no-input-rename
11
- this.editable = true;
12
- // tslint:disable-next-line:no-input-rename
13
- this.attrs = {};
14
- }
15
- renderTemplate(props, linkText) {
16
- const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
17
- viewRef.rootNodes.forEach((node) => {
18
- Object.entries(props).forEach(([key, propValue]) => {
19
- if (key === 'href' && !this.isAbsoluteUrl(propValue)) {
20
- const urlTree = this.router.createUrlTree([propValue], this.extras);
21
- this.renderer.setAttribute(node, key, this.router.serializeUrl(urlTree));
22
- this.renderer.listen(node, 'click', (event) => {
23
- this.router.navigate([propValue], this.extras);
24
- event.preventDefault();
25
- });
26
- }
27
- else {
28
- this.renderer.setAttribute(node, key, propValue);
29
- }
30
- });
31
- if (node.childNodes && node.childNodes.length === 0 && linkText) {
32
- node.textContent = linkText;
33
- }
34
- });
35
- }
36
- isAbsoluteUrl(url) {
37
- if (url == null) {
38
- return false;
39
- }
40
- if (typeof url !== 'string') {
41
- throw new TypeError('Expected a string');
42
- }
43
- return /^[a-z][a-z0-9+.-]*:/.test(url);
44
- }
45
- }
46
- GenericLinkDirective.ɵfac = function GenericLinkDirective_Factory(t) { return new (t || GenericLinkDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Router)); };
47
- GenericLinkDirective.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: GenericLinkDirective, selectors: [["", "scGenericLink", ""]], inputs: { editable: ["scGenericLinkEditable", "editable"], attrs: ["scGenericLinkAttrs", "attrs"], field: ["scGenericLink", "field"], extras: ["scGenericLinkExtras", "extras"] }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });
48
- GenericLinkDirective.ctorParameters = () => [
49
- { type: ViewContainerRef },
50
- { type: TemplateRef },
51
- { type: Renderer2 },
52
- { type: ElementRef },
53
- { type: Router }
54
- ];
55
- GenericLinkDirective.propDecorators = {
56
- editable: [{ type: Input, args: ['scGenericLinkEditable',] }],
57
- attrs: [{ type: Input, args: ['scGenericLinkAttrs',] }],
58
- field: [{ type: Input, args: ['scGenericLink',] }],
59
- extras: [{ type: Input, args: ['scGenericLinkExtras',] }]
60
- };
61
- /*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(GenericLinkDirective, [{
62
- type: Directive,
63
- args: [{ selector: '[scGenericLink]' }]
64
- }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }, { type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ElementRef }, { type: ɵngcc1.Router }]; }, { editable: [{
65
- type: Input,
66
- args: ['scGenericLinkEditable']
67
- }], attrs: [{
68
- type: Input,
69
- args: ['scGenericLinkAttrs']
70
- }], field: [{
71
- type: Input,
72
- args: ['scGenericLink']
73
- }], extras: [{
74
- type: Input,
75
- args: ['scGenericLinkExtras']
76
- }] }); })();
77
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1saW5rLmRpcmVjdGl2ZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZ2VuZXJpYy1saW5rLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBb0IsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUMsakRBQWpELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUlqRCxNQUFNLE9BQU8sb0JBQXFCO0NBQVEsYUFBYSxPQWNyRCxZQUNFO0dBQStCLEVBQy9CLFdBQTZCLEVBQzdCLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ2QsTUFBYyw5Q0FuQjFCLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxhQUFhO0FBcUJuRCxLQUFLLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsU0FGaEQsakVBbEJaLElBYUUsWUFDRSxhQUErQixFQUMvQixXQUE2QixFQUM3QixRQUFtQixFQUNuQixVQUFzQixFQUNkLE1BQWM7QUFBUixHQUFOLE1BQU0sQ0FBUSxTQWpCeEIsMkNBQTJDLDlEQWtCMUMsUUFDQyxLQUFLLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7TUFsQjFCLGFBQVEsR0FBRyxJQUFJLENBQUMsM0JBbUJsRCxRQUhZLFdBQU0sR0FBTixNQUFNLENBQVE7TUFkeEIsMkNBQTJDLGpEQWU3QyxRQWxCRSwyQ0FBMkM7TUFJZCxVQUFLLEdBQVEsRUFBRSxDQUFDLEtBZ0I3QyxDQUFDLDVCQW5CSCxRQUFrQyxhQUFRLEdBQUcsSUFBSSxDQUFDO0dBcUJ0QyxjQUFjLENBQUMsS0FBVSxFQUFFLFFBQWdCLFlBQ25ELE1BQU0sbkRBckJWLFFBQ0UsMkNBQTJDO01Bb0I1QixHQUFHLElBQUksQ0FBQyxkQW5CekIsUUFBK0IsVUFB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QUFDLG9CQUFvQiwyQkFHMUIsS0FBSyxTQUFDLGVBQWUsNEJBR3JCLEtBQUssU0FBQyxxQkFBcUIsK0hBWnpCO0FBQUM7QUFBOEMsWUFOVyxnQkFBZ0I7QUFBSSxZQUFqQyxXQUFXO0FBQUksWUFBMUIsU0FBUztBQUFJLFlBQWhDLFVBQVU7QUFBSSxZQUN6QixNQUFNO0FBQUc7QUFBRztBQUNwQix1QkFPRSxLQUFLLFNBQUMsdUJBQXVCO0FBQU8sb0JBR3BDLEtBQUssU0FBQyxvQkFBb0I7QUFBTyxvQkFHakMsS0FBSyxTQUFDLGVBQWU7QUFBTyxxQkFHNUIsS0FBSyxTQUFDLHFCQUFxQjtBQUFNOzs7Ozs7Ozs7Ozs7Ozs7OztBQWxCQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFDQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIE5hdmlnYXRpb25FeHRyYXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi9saW5rLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IExpbmtGaWVsZCB9IGZyb20gJy4vcmVuZGVyaW5nLWZpZWxkJztcclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tzY0dlbmVyaWNMaW5rXScgfSlcclxuZXhwb3J0IGNsYXNzIEdlbmVyaWNMaW5rRGlyZWN0aXZlIGV4dGVuZHMgTGlua0RpcmVjdGl2ZSB7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NjR2VuZXJpY0xpbmtFZGl0YWJsZScpIGVkaXRhYmxlID0gdHJ1ZTtcclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2NHZW5lcmljTGlua0F0dHJzJykgYXR0cnM6IGFueSA9IHt9O1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzY0dlbmVyaWNMaW5rJykgZmllbGQ6IExpbmtGaWVsZDtcclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2NHZW5lcmljTGlua0V4dHJhcycpIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXM7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXHJcbiAgKSB7XHJcbiAgICBzdXBlcih2aWV3Q29udGFpbmVyLCB0ZW1wbGF0ZVJlZiwgcmVuZGVyZXIsIGVsZW1lbnRSZWYpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlbmRlclRlbXBsYXRlKHByb3BzOiBhbnksIGxpbmtUZXh0OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xyXG5cclxuICAgIHZpZXdSZWYucm9vdE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgT2JqZWN0LmVudHJpZXMocHJvcHMpLmZvckVhY2goKFtrZXksIHByb3BWYWx1ZV06IFtzdHJpbmcsIGFueV0pID0+IHtcclxuICAgICAgICBpZiAoa2V5ID09PSAnaHJlZicgJiYgIXRoaXMuaXNBYnNvbHV0ZVVybChwcm9wVmFsdWUpKSB7XHJcbiAgICAgICAgICBjb25zdCB1cmxUcmVlID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbcHJvcFZhbHVlXSwgdGhpcy5leHRyYXMpO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUobm9kZSwga2V5LCB0aGlzLnJvdXRlci5zZXJpYWxpemVVcmwodXJsVHJlZSkpO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4obm9kZSwgJ2NsaWNrJywgKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtwcm9wVmFsdWVdLCB0aGlzLmV4dHJhcyk7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUobm9kZSwga2V5LCBwcm9wVmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAobm9kZS5jaGlsZE5vZGVzICYmIG5vZGUuY2hpbGROb2Rlcy5sZW5ndGggPT09IDAgJiYgbGlua1RleHQpIHtcclxuICAgICAgICBub2RlLnRleHRDb250ZW50ID0gbGlua1RleHQ7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0Fic29sdXRlVXJsKHVybD86IHN0cmluZykge1xyXG4gICAgaWYgKHVybCA9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2YgdXJsICE9PSAnc3RyaW5nJykge1xyXG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdFeHBlY3RlZCBhIHN0cmluZycpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAvXlthLXpdW2EtejAtOSsuLV0qOi8udGVzdCh1cmwpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,145 +0,0 @@
1
- import { __rest } from "tslib";
2
- import { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';
3
- import { mediaApi } from '@sitecore-jss/sitecore-jss';
4
- import * as ɵngcc0 from '@angular/core';
5
- export class ImageDirective {
6
- constructor(viewContainer, templateRef, renderer, elementRef) {
7
- this.viewContainer = viewContainer;
8
- this.templateRef = templateRef;
9
- this.renderer = renderer;
10
- this.elementRef = elementRef;
11
- this.inlineRef = null;
12
- // tslint:disable-next-line:no-input-rename
13
- this.editable = true;
14
- // tslint:disable-next-line:no-input-rename
15
- this.urlParams = {};
16
- // tslint:disable-next-line:no-input-rename
17
- this.attrs = {};
18
- }
19
- ngOnChanges(changes) {
20
- if (changes['field'] || changes['editable'] || changes['urlParams'] || changes['attrs']) {
21
- this.viewContainer.clear();
22
- if (this.inlineRef) {
23
- this.inlineRef.remove();
24
- this.inlineRef = null;
25
- }
26
- this.updateView();
27
- }
28
- }
29
- updateView() {
30
- const overrideAttrs = Object.assign(Object.assign({}, this.getElementAttrs()), this.attrs);
31
- const media = this.field;
32
- if (!media || (!media.editable && !media.value && !media.src)) {
33
- return;
34
- }
35
- let attrs = {};
36
- // we likely have an experience editor value, should be a string
37
- if (this.editable && media.editable) {
38
- const foundImg = mediaApi.findEditorImageTag(media.editable);
39
- if (!foundImg) {
40
- return this.renderInlineWrapper(media.editable);
41
- }
42
- attrs = this.getImageAttrs(foundImg.attrs, overrideAttrs, this.urlParams);
43
- if (!attrs) {
44
- return this.renderInlineWrapper(media.editable);
45
- }
46
- const tempImg = this.renderer.createElement('img');
47
- Object.entries(attrs).forEach(([key, attrValue]) => tempImg.setAttribute(key, attrValue));
48
- const editableMarkup = media.editable.replace(foundImg.imgTag, tempImg.outerHTML);
49
- return this.renderInlineWrapper(editableMarkup);
50
- }
51
- // some wise-guy/gal is passing in a 'raw' image object value
52
- const img = media.src ? media : media.value;
53
- if (!img) {
54
- return null;
55
- }
56
- attrs = this.getImageAttrs(img, overrideAttrs, this.urlParams);
57
- if (attrs) {
58
- this.renderTemplate(attrs);
59
- }
60
- }
61
- getImageAttrs(fieldAttrs, parsedAttrs, imageParams) {
62
- const combinedAttrs = Object.assign(Object.assign({}, fieldAttrs), parsedAttrs);
63
- // tslint:disable-next-line:prefer-const
64
- let { src, srcSet } = combinedAttrs, otherAttrs = __rest(combinedAttrs, ["src", "srcSet"]);
65
- if (!src) {
66
- return null;
67
- }
68
- const newAttrs = Object.assign({}, otherAttrs);
69
- // update image URL for jss handler and image rendering params
70
- src = mediaApi.updateImageUrl(src, imageParams, this.mediaUrlPrefix);
71
- if (srcSet) {
72
- // replace with HTML-formatted srcset, including updated image URLs
73
- newAttrs.srcSet = mediaApi.getSrcSet(src, srcSet, imageParams, this.mediaUrlPrefix);
74
- }
75
- else {
76
- newAttrs.src = src;
77
- }
78
- return newAttrs;
79
- }
80
- renderTemplate(imageProps) {
81
- const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
82
- viewRef.rootNodes.forEach((node) => {
83
- Object.entries(imageProps).forEach(([key, imgPropVal]) => this.renderer.setAttribute(node, key, imgPropVal));
84
- });
85
- }
86
- getElementAttrs() {
87
- const view = this.templateRef.createEmbeddedView(null);
88
- const element = view.rootNodes[0];
89
- if (!element) {
90
- return {};
91
- }
92
- const attrs = {};
93
- for (let i = 0; i < element.attributes.length; i++) {
94
- const attr = element.attributes.item(i);
95
- if (attr) {
96
- attrs[attr.name] = attr.value;
97
- }
98
- }
99
- return attrs;
100
- }
101
- renderInlineWrapper(editable) {
102
- const span = this.renderer.createElement('span');
103
- span.className = 'sc-image-wrapper';
104
- span.innerHTML = editable;
105
- const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);
106
- this.renderer.insertBefore(parentNode, span, this.elementRef.nativeElement);
107
- parentNode.removeChild(this.elementRef.nativeElement);
108
- this.inlineRef = span;
109
- }
110
- }
111
- ImageDirective.ɵfac = function ImageDirective_Factory(t) { return new (t || ImageDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };
112
- ImageDirective.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: ImageDirective, selectors: [["", "scImage", ""]], inputs: { editable: ["scImageEditable", "editable"], urlParams: ["scImageUrlParams", "urlParams"], attrs: ["scImageAttrs", "attrs"], field: ["scImage", "field"], mediaUrlPrefix: ["scImageMediaUrlPrefix", "mediaUrlPrefix"] }, features: [ɵngcc0.ɵɵNgOnChangesFeature] });
113
- ImageDirective.ctorParameters = () => [
114
- { type: ViewContainerRef },
115
- { type: TemplateRef },
116
- { type: Renderer2 },
117
- { type: ElementRef }
118
- ];
119
- ImageDirective.propDecorators = {
120
- field: [{ type: Input, args: ['scImage',] }],
121
- editable: [{ type: Input, args: ['scImageEditable',] }],
122
- mediaUrlPrefix: [{ type: Input, args: ['scImageMediaUrlPrefix',] }],
123
- urlParams: [{ type: Input, args: ['scImageUrlParams',] }],
124
- attrs: [{ type: Input, args: ['scImageAttrs',] }]
125
- };
126
- /*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(ImageDirective, [{
127
- type: Directive,
128
- args: [{ selector: '[scImage]' }]
129
- }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }, { type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ElementRef }]; }, { editable: [{
130
- type: Input,
131
- args: ['scImageEditable']
132
- }], urlParams: [{
133
- type: Input,
134
- args: ['scImageUrlParams']
135
- }], attrs: [{
136
- type: Input,
137
- args: ['scImageAttrs']
138
- }], field: [{
139
- type: Input,
140
- args: ['scImage']
141
- }], mediaUrlPrefix: [{
142
- type: Input,
143
- args: ['scImageMediaUrlPrefix']
144
- }] }); })();
145
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuZGlyZWN0aXZlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9pbWFnZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBYSxTQUFTLEVBQWlCLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUMsdERBQXRELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUl0RCxNQUFNLE9BQU8sY0FBYyxPQXlCekI7S0FDVSxhQUErQixFQUMvQixwQkEzQlosTUFBTSxPQUFPLGNBQWM7Q0EyQmMsRUFDN0IsUUFBbUIsRUFDbkIsVUFBc0IsWUFIdEIsa0JBQWEsR0FBYix4REExQmtCLElBeUI1QixZQUNVLGFBQStCLEVBQy9CLFdBQTZCLEVBQzdCLFFBQW1CLEVBQ25CLFVBQXNCO0NBSFQsQ0FBa0IsU0FDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCLDFDQUd0QyxRQUpTLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtPQUUvQixhQUFRLEdBQVIsUUFBUSxDQUFXLGhDQUZhLFFBQ2hDLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtDQUU3QixlQUFVLEdBQVYsVUFBVSxDQUFZLDlCQUZRLFFBQzlCLGFBQVEsR0FBUixRQUFRLENBQVc7S0EzQnJCLGNBQVMsR0FBMkIsSUFBSSxDQUFDLFNBS2pELHBDQXNCOEIsUUFDcEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtBQUNsQyxRQTdCVSxjQUFTLEdBQTJCLElBQUksQ0FBQztVQUtOLFNBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUMsU0FZMUMsakRBakJGLFFBSUUsMkNBQTJDO0FBQzdDLFFBQTRCLGFBQVEsR0FBRyxJQUFJLENBQUM7VUFZQyxTQUNoQixjQUFTLEdBQUcsRUFBRSxDQUFDLFNBRTFDLGhEQWRG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QWdCO0FBQUksWUFBakMsV0FBVztBQUFJLFlBQXpDLFNBQVM7QUFBSSxZQUEzQyxVQUFVO0FBQUc7QUFBRztBQUFrQyxvQkFTbkUsS0FBSyxTQUFDLFNBQVM7QUFBTyx1QkFHdEIsS0FBSyxTQUFDLGlCQUFpQjtBQUFPLDZCQVU5QixLQUFLLFNBQUMsdUJBQXVCO0FBQU8sd0JBR3BDLEtBQUssU0FBQyxrQkFBa0I7QUFBTyxvQkFHL0IsS0FBSyxTQUFDLGNBQWM7QUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE1QkEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG1lZGlhQXBpIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MnO1xyXG5pbXBvcnQgeyBJbWFnZUZpZWxkIH0gZnJvbSAnLi9yZW5kZXJpbmctZmllbGQnO1xyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW3NjSW1hZ2VdJyB9KVxyXG5leHBvcnQgY2xhc3MgSW1hZ2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgaW5saW5lUmVmOiBIVE1MU3BhbkVsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2NJbWFnZScpIGZpZWxkOiBJbWFnZUZpZWxkIHwgJyc7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NjSW1hZ2VFZGl0YWJsZScpIGVkaXRhYmxlID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ3VzdG9tIHJlZ2V4cCB0aGF0IGZpbmRzIG1lZGlhIFVSTCBwcmVmaXggdGhhdCB3aWxsIGJlIHJlcGxhY2VkIGJ5IGAvLS9qc3NtZWRpYWAgb3IgYC9+L2pzc21lZGlhYC5cclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIC9cXC8oWy1+XXsxfSlhc3NldHNcXC8vaVxyXG4gICAqIC8tYXNzZXRzL3dlYnNpdGUgLT4gLy0vanNzbWVkaWEvd2Vic2l0ZVxyXG4gICAqIC9+YXNzZXRzL3dlYnNpdGUgLT4gL34vanNzbWVkaWEvd2Vic2l0ZVxyXG4gICAqL1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NjSW1hZ2VNZWRpYVVybFByZWZpeCcpIG1lZGlhVXJsUHJlZml4PzogUmVnRXhwO1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzY0ltYWdlVXJsUGFyYW1zJykgdXJsUGFyYW1zID0ge307XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NjSW1hZ2VBdHRycycpIGF0dHJzID0ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZlxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzWydmaWVsZCddIHx8IGNoYW5nZXNbJ2VkaXRhYmxlJ10gfHwgY2hhbmdlc1sndXJsUGFyYW1zJ10gfHwgY2hhbmdlc1snYXR0cnMnXSkge1xyXG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgaWYgKHRoaXMuaW5saW5lUmVmKSB7XHJcbiAgICAgICAgdGhpcy5pbmxpbmVSZWYucmVtb3ZlKCk7XHJcbiAgICAgICAgdGhpcy5pbmxpbmVSZWYgPSBudWxsO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnVwZGF0ZVZpZXcoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVmlldygpIHtcclxuICAgIGNvbnN0IG92ZXJyaWRlQXR0cnMgPSB7XHJcbiAgICAgIC4uLnRoaXMuZ2V0RWxlbWVudEF0dHJzKCksXHJcbiAgICAgIC4uLnRoaXMuYXR0cnMsXHJcbiAgICB9O1xyXG4gICAgY29uc3QgbWVkaWEgPSB0aGlzLmZpZWxkO1xyXG5cclxuICAgIGlmICghbWVkaWEgfHwgKCFtZWRpYS5lZGl0YWJsZSAmJiAhbWVkaWEudmFsdWUgJiYgIW1lZGlhLnNyYykpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBhdHRyczogYW55ID0ge307XHJcblxyXG4gICAgLy8gd2UgbGlrZWx5IGhhdmUgYW4gZXhwZXJpZW5jZSBlZGl0b3IgdmFsdWUsIHNob3VsZCBiZSBhIHN0cmluZ1xyXG4gICAgaWYgKHRoaXMuZWRpdGFibGUgJiYgbWVkaWEuZWRpdGFibGUpIHtcclxuICAgICAgY29uc3QgZm91bmRJbWcgPSBtZWRpYUFwaS5maW5kRWRpdG9ySW1hZ2VUYWcobWVkaWEuZWRpdGFibGUpO1xyXG4gICAgICBpZiAoIWZvdW5kSW1nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVuZGVySW5saW5lV3JhcHBlcihtZWRpYS5lZGl0YWJsZSk7XHJcbiAgICAgIH1cclxuICAgICAgYXR0cnMgPSB0aGlzLmdldEltYWdlQXR0cnMoZm91bmRJbWcuYXR0cnMsIG92ZXJyaWRlQXR0cnMsIHRoaXMudXJsUGFyYW1zKTtcclxuICAgICAgaWYgKCFhdHRycykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlbmRlcklubGluZVdyYXBwZXIobWVkaWEuZWRpdGFibGUpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHRlbXBJbWc6IEhUTUxJbWFnZUVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2ltZycpO1xyXG4gICAgICBPYmplY3QuZW50cmllcyhhdHRycykuZm9yRWFjaCgoW2tleSwgYXR0clZhbHVlXTogW3N0cmluZywgYW55XSkgPT5cclxuICAgICAgICB0ZW1wSW1nLnNldEF0dHJpYnV0ZShrZXksIGF0dHJWYWx1ZSlcclxuICAgICAgKTtcclxuICAgICAgY29uc3QgZWRpdGFibGVNYXJrdXAgPSBtZWRpYS5lZGl0YWJsZS5yZXBsYWNlKGZvdW5kSW1nLmltZ1RhZywgdGVtcEltZy5vdXRlckhUTUwpO1xyXG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJJbmxpbmVXcmFwcGVyKGVkaXRhYmxlTWFya3VwKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBzb21lIHdpc2UtZ3V5L2dhbCBpcyBwYXNzaW5nIGluIGEgJ3JhdycgaW1hZ2Ugb2JqZWN0IHZhbHVlXHJcbiAgICBjb25zdCBpbWcgPSBtZWRpYS5zcmMgPyBtZWRpYSA6IG1lZGlhLnZhbHVlO1xyXG4gICAgaWYgKCFpbWcpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgYXR0cnMgPSB0aGlzLmdldEltYWdlQXR0cnMoaW1nLCBvdmVycmlkZUF0dHJzLCB0aGlzLnVybFBhcmFtcyk7XHJcbiAgICBpZiAoYXR0cnMpIHtcclxuICAgICAgdGhpcy5yZW5kZXJUZW1wbGF0ZShhdHRycyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEltYWdlQXR0cnMoZmllbGRBdHRyczogYW55LCBwYXJzZWRBdHRyczogYW55LCBpbWFnZVBhcmFtczogYW55KTogYW55IHtcclxuICAgIGNvbnN0IGNvbWJpbmVkQXR0cnMgPSB7XHJcbiAgICAgIC4uLmZpZWxkQXR0cnMsXHJcbiAgICAgIC4uLnBhcnNlZEF0dHJzLFxyXG4gICAgfTtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpwcmVmZXItY29uc3RcclxuICAgIGxldCB7IHNyYywgc3JjU2V0LCAuLi5vdGhlckF0dHJzIH0gPSBjb21iaW5lZEF0dHJzO1xyXG4gICAgaWYgKCFzcmMpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBjb25zdCBuZXdBdHRycyA9IHtcclxuICAgICAgLi4ub3RoZXJBdHRycyxcclxuICAgIH07XHJcbiAgICAvLyB1cGRhdGUgaW1hZ2UgVVJMIGZvciBqc3MgaGFuZGxlciBhbmQgaW1hZ2UgcmVuZGVyaW5nIHBhcmFtc1xyXG4gICAgc3JjID0gbWVkaWFBcGkudXBkYXRlSW1hZ2VVcmwoc3JjLCBpbWFnZVBhcmFtcywgdGhpcy5tZWRpYVVybFByZWZpeCk7XHJcbiAgICBpZiAoc3JjU2V0KSB7XHJcbiAgICAgIC8vIHJlcGxhY2Ugd2l0aCBIVE1MLWZvcm1hdHRlZCBzcmNzZXQsIGluY2x1ZGluZyB1cGRhdGVkIGltYWdlIFVSTHNcclxuICAgICAgbmV3QXR0cnMuc3JjU2V0ID0gbWVkaWFBcGkuZ2V0U3JjU2V0KHNyYywgc3JjU2V0LCBpbWFnZVBhcmFtcywgdGhpcy5tZWRpYVVybFByZWZpeCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdBdHRycy5zcmMgPSBzcmM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3QXR0cnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbmRlclRlbXBsYXRlKGltYWdlUHJvcHM6IGFueSkge1xyXG4gICAgY29uc3Qgdmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XHJcbiAgICB2aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKGltYWdlUHJvcHMpLmZvckVhY2goKFtrZXksIGltZ1Byb3BWYWxdOiBbc3RyaW5nLCBhbnldKSA9PiB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShub2RlLCBrZXksIGltZ1Byb3BWYWwpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRFbGVtZW50QXR0cnMoKTogeyBba2V5OiBzdHJpbmddOiBhbnk7IH0ge1xyXG4gICAgY29uc3QgdmlldyA9IHRoaXMudGVtcGxhdGVSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KG51bGwpO1xyXG4gICAgY29uc3QgZWxlbWVudDogRWxlbWVudCA9IHZpZXcucm9vdE5vZGVzWzBdO1xyXG4gICAgaWYgKCFlbGVtZW50KSB7XHJcbiAgICAgIHJldHVybiB7fTtcclxuICAgIH1cclxuICAgIGNvbnN0IGF0dHJzOiB7IFtrZXk6IHN0cmluZ106IGFueTsgfSA9IHt9O1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtZW50LmF0dHJpYnV0ZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3QgYXR0ciA9IGVsZW1lbnQuYXR0cmlidXRlcy5pdGVtKGkpO1xyXG4gICAgICBpZiAoYXR0cikge1xyXG4gICAgICAgIGF0dHJzW2F0dHIubmFtZV0gPSBhdHRyLnZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXR0cnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbmRlcklubGluZVdyYXBwZXIoZWRpdGFibGU6IHN0cmluZykge1xyXG4gICAgY29uc3Qgc3BhbjogSFRNTFNwYW5FbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICBzcGFuLmNsYXNzTmFtZSA9ICdzYy1pbWFnZS13cmFwcGVyJztcclxuICAgIHNwYW4uaW5uZXJIVE1MID0gZWRpdGFibGU7XHJcblxyXG4gICAgY29uc3QgcGFyZW50Tm9kZSA9IHRoaXMucmVuZGVyZXIucGFyZW50Tm9kZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShwYXJlbnROb2RlLCBzcGFuLCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICBwYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuXHJcbiAgICB0aGlzLmlubGluZVJlZiA9IHNwYW47XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,114 +0,0 @@
1
- import { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';
2
- import * as ɵngcc0 from '@angular/core';
3
- export class LinkDirective {
4
- constructor(viewContainer, templateRef, renderer, elementRef) {
5
- this.viewContainer = viewContainer;
6
- this.templateRef = templateRef;
7
- this.renderer = renderer;
8
- this.elementRef = elementRef;
9
- this.inlineRef = null;
10
- // tslint:disable-next-line:no-input-rename
11
- this.editable = true;
12
- // tslint:disable-next-line:no-input-rename
13
- this.attrs = {};
14
- }
15
- ngOnChanges(changes) {
16
- if (changes['field'] || changes['editable'] || changes['attrs']) {
17
- this.viewContainer.clear();
18
- if (this.inlineRef) {
19
- this.inlineRef.remove();
20
- this.inlineRef = null;
21
- }
22
- this.updateView();
23
- }
24
- }
25
- updateView() {
26
- const field = this.field;
27
- if (this.editable && field && field.editableFirstPart && field.editableLastPart) {
28
- this.renderInlineWrapper(field.editableFirstPart, field.editableLastPart);
29
- }
30
- else if (field && (field.href || field.value)) {
31
- const props = field.href ? field : field.value;
32
- const linkText = field.text || field.value.text || field.href || field.value.href;
33
- const mergedAttrs = Object.assign(Object.assign({}, props), this.attrs);
34
- this.renderTemplate(mergedAttrs, linkText);
35
- }
36
- }
37
- renderTemplate(props, linkText) {
38
- const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
39
- viewRef.rootNodes.forEach((node) => {
40
- Object.entries(props).forEach(([key, propValue]) => {
41
- if (key === 'href') {
42
- const isInvalidLink = !propValue || /^https?:\/\/$/.test(propValue);
43
- if (isInvalidLink) {
44
- if (!node.href) {
45
- return;
46
- }
47
- propValue = node.href;
48
- }
49
- }
50
- if (key === 'class' && node.className) {
51
- propValue += ` ${node.className}`;
52
- }
53
- this.renderer.setAttribute(node, key, propValue);
54
- });
55
- if (node.childNodes && node.childNodes.length === 0 && linkText) {
56
- node.textContent = linkText;
57
- }
58
- });
59
- }
60
- renderInlineWrapper(editableFirstPart, editableLastPart) {
61
- const span = this.renderer.createElement('span');
62
- span.className = 'sc-link-wrapper';
63
- span.innerHTML = editableFirstPart + editableLastPart;
64
- // assign attributes from template to inline wrapper
65
- const attrs = Object.assign(Object.assign({}, this.getElementAttrs()), this.attrs);
66
- Object.entries(attrs).forEach(([key, attrValue]) => this.renderer.setAttribute(span, key, attrValue));
67
- this.viewContainer.createEmbeddedView(this.templateRef);
68
- const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);
69
- this.renderer.insertBefore(parentNode, span, this.elementRef.nativeElement);
70
- this.inlineRef = span;
71
- }
72
- getElementAttrs() {
73
- const view = this.templateRef.createEmbeddedView(null);
74
- const element = view.rootNodes[0];
75
- if (!element) {
76
- return {};
77
- }
78
- const attrs = {};
79
- for (let i = 0; i < element.attributes.length; i++) {
80
- const attr = element.attributes.item(i);
81
- if (attr) {
82
- attrs[attr.name] = attr.value;
83
- }
84
- }
85
- return attrs;
86
- }
87
- }
88
- LinkDirective.ɵfac = function LinkDirective_Factory(t) { return new (t || LinkDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };
89
- LinkDirective.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: LinkDirective, selectors: [["", "scLink", ""]], inputs: { editable: ["scLinkEditable", "editable"], attrs: ["scLinkAttrs", "attrs"], field: ["scLink", "field"] }, features: [ɵngcc0.ɵɵNgOnChangesFeature] });
90
- LinkDirective.ctorParameters = () => [
91
- { type: ViewContainerRef },
92
- { type: TemplateRef },
93
- { type: Renderer2 },
94
- { type: ElementRef }
95
- ];
96
- LinkDirective.propDecorators = {
97
- editable: [{ type: Input, args: ['scLinkEditable',] }],
98
- attrs: [{ type: Input, args: ['scLinkAttrs',] }],
99
- field: [{ type: Input, args: ['scLink',] }]
100
- };
101
- /*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(LinkDirective, [{
102
- type: Directive,
103
- args: [{ selector: '[scLink]' }]
104
- }], function () { return [{ type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.TemplateRef }, { type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ElementRef }]; }, { editable: [{
105
- type: Input,
106
- args: ['scLinkEditable']
107
- }], attrs: [{
108
- type: Input,
109
- args: ['scLinkAttrs']
110
- }], field: [{
111
- type: Input,
112
- args: ['scLink']
113
- }] }); })();
114
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5kaXJlY3RpdmUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2xpbmsuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsTUFBTSxPQUFPLGFBQWE7SUFZeEIsWUFDWSxhQUErQixFQUMvQixXQUE2QixFQUM3QixRQUFtQixFQUNyQixVQUFzQixoRUFoQkwsSUFZM0IsWUFDWSxhQUErQixFQUMvQixXQUE2QixFQUM3QixRQUFtQixFQUNyQixVQUFzQjtRQUhwQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0IsM0NBSTFDLFFBSlcsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLGdCQUFXLEdBQVgsV0FBVyxDQUFrQix2Q0FERyxRQUNoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0IsYUFBUSxHQUFSLFFBQVEsQ0FBVyxqQ0FEVyxRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ3JCLGVBQVUsR0FBVixVQUFVLENBQVksckNBREEsUUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWZ4QixjQUFTLEdBQTJCLElBQUksQ0FBQyw5QkFnQm5ELFFBaEJVLGNBQVMsR0FBMkIsSUFBSSxDQUFDO1FBRWpELDJDQUEyQyxuREFEN0MsUUFDRSwyQ0FBMkM7UUFDbEIsYUFBUSxHQUFHLElBQUksQ0FBQyw3QkFBM0MsUUFBMkIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUV6QywyQ0FBMkMsbkRBRDdDLFFBQ0UsMkNBQTJDO1FBQ3JCLFVBQUssR0FBUSxFQUFFLENBQUMseEJBQXhDLFFBQXdCLFVBQUssR0FBUSxFQUFFLENBQUM7SUFVbEMsQ0FBQyxMQVRQLElBU00sQ0FBQztJQUVMLFdBQVcsQ0FBQyxPQUFzQix2QkFEcEMsSUFDRSxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSx6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QVcsZ0JBQXJDLFNBQVMsZ0JBQXZDLFVBQVUsbk1BRzdCLFNBQVMsU0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7bUJBS2hDLEtBQUssU0FBQyxnQkFBZ0IsMkJBR3RCLEtBQUssU0FBQyxhQUFhLDJCQUduQixLQUFLLFNBQUMsUUFBUSw0R0FWWjtBQUFDO0FBQXVDLFlBSjRDLGdCQUFnQjtBQUFJLFlBQWpDLFdBQVc7QUFBSSxZQUF6QyxTQUFTO0FBQUksWUFBM0MsVUFBVTtBQUFHO0FBQUc7QUFBaUMsdUJBUWxFLEtBQUssU0FBQyxnQkFBZ0I7QUFBTyxvQkFHN0IsS0FBSyxTQUFDLGFBQWE7QUFBTyxvQkFHMUIsS0FBSyxTQUFDLFFBQVE7QUFBTTs7Ozs7Ozs7Ozs7Ozs7QUFkQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFJQSxBQUFBLEFBQUEsQUFBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMaW5rRmllbGQgfSBmcm9tICcuL3JlbmRlcmluZy1maWVsZCc7XHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbc2NMaW5rXScgfSlcclxuZXhwb3J0IGNsYXNzIExpbmtEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgaW5saW5lUmVmOiBIVE1MU3BhbkVsZW1lbnQgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2NMaW5rRWRpdGFibGUnKSBlZGl0YWJsZSA9IHRydWU7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NjTGlua0F0dHJzJykgYXR0cnM6IGFueSA9IHt9O1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzY0xpbmsnKSBmaWVsZDogTGlua0ZpZWxkO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJvdGVjdGVkIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgcHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcclxuICApIHsgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlc1snZmllbGQnXSB8fCBjaGFuZ2VzWydlZGl0YWJsZSddIHx8IGNoYW5nZXNbJ2F0dHJzJ10pIHtcclxuICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgIGlmICh0aGlzLmlubGluZVJlZikge1xyXG4gICAgICAgIHRoaXMuaW5saW5lUmVmLnJlbW92ZSgpO1xyXG4gICAgICAgIHRoaXMuaW5saW5lUmVmID0gbnVsbDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVZpZXcoKSB7XHJcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGQ7XHJcbiAgICBpZiAodGhpcy5lZGl0YWJsZSAmJiBmaWVsZCAmJiBmaWVsZC5lZGl0YWJsZUZpcnN0UGFydCAmJiBmaWVsZC5lZGl0YWJsZUxhc3RQYXJ0KSB7XHJcbiAgICAgIHRoaXMucmVuZGVySW5saW5lV3JhcHBlcihmaWVsZC5lZGl0YWJsZUZpcnN0UGFydCwgZmllbGQuZWRpdGFibGVMYXN0UGFydCk7XHJcbiAgICB9IGVsc2UgaWYgKGZpZWxkICYmIChmaWVsZC5ocmVmIHx8IGZpZWxkLnZhbHVlKSkge1xyXG4gICAgICBjb25zdCBwcm9wcyA9IGZpZWxkLmhyZWYgPyBmaWVsZCA6IGZpZWxkLnZhbHVlO1xyXG4gICAgICBjb25zdCBsaW5rVGV4dCA9IGZpZWxkLnRleHQgfHwgZmllbGQudmFsdWUudGV4dCB8fCBmaWVsZC5ocmVmIHx8IGZpZWxkLnZhbHVlLmhyZWY7XHJcbiAgICAgIGNvbnN0IG1lcmdlZEF0dHJzID0geyAuLi5wcm9wcywgLi4udGhpcy5hdHRycyB9O1xyXG4gICAgICB0aGlzLnJlbmRlclRlbXBsYXRlKG1lcmdlZEF0dHJzLCBsaW5rVGV4dCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcmVuZGVyVGVtcGxhdGUocHJvcHM6IGFueSwgbGlua1RleHQ6IHN0cmluZykge1xyXG4gICAgY29uc3Qgdmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XHJcblxyXG4gICAgdmlld1JlZi5yb290Tm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xyXG4gICAgICBPYmplY3QuZW50cmllcyhwcm9wcykuZm9yRWFjaCgoW2tleSwgcHJvcFZhbHVlXTogW3N0cmluZywgYW55XSkgPT4ge1xyXG4gICAgICAgIGlmIChrZXkgPT09ICdocmVmJykge1xyXG4gICAgICAgICAgY29uc3QgaXNJbnZhbGlkTGluayA9ICFwcm9wVmFsdWUgfHwgL15odHRwcz86XFwvXFwvJC8udGVzdChwcm9wVmFsdWUpO1xyXG5cclxuICAgICAgICAgIGlmIChpc0ludmFsaWRMaW5rKSB7XHJcbiAgICAgICAgICAgIGlmICghbm9kZS5ocmVmKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBwcm9wVmFsdWUgPSBub2RlLmhyZWY7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoa2V5ID09PSAnY2xhc3MnICYmIG5vZGUuY2xhc3NOYW1lKSB7XHJcbiAgICAgICAgICBwcm9wVmFsdWUgKz0gYCAke25vZGUuY2xhc3NOYW1lfWA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShub2RlLCBrZXksIHByb3BWYWx1ZSlcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAobm9kZS5jaGlsZE5vZGVzICYmIG5vZGUuY2hpbGROb2Rlcy5sZW5ndGggPT09IDAgJiYgbGlua1RleHQpIHtcclxuICAgICAgICBub2RlLnRleHRDb250ZW50ID0gbGlua1RleHQ7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW5kZXJJbmxpbmVXcmFwcGVyKGVkaXRhYmxlRmlyc3RQYXJ0OiBzdHJpbmcsIGVkaXRhYmxlTGFzdFBhcnQ6IHN0cmluZykge1xyXG4gICAgY29uc3Qgc3BhbjogSFRNTFNwYW5FbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICBzcGFuLmNsYXNzTmFtZSA9ICdzYy1saW5rLXdyYXBwZXInO1xyXG4gICAgc3Bhbi5pbm5lckhUTUwgPSBlZGl0YWJsZUZpcnN0UGFydCArIGVkaXRhYmxlTGFzdFBhcnQ7XHJcblxyXG4gICAgLy8gYXNzaWduIGF0dHJpYnV0ZXMgZnJvbSB0ZW1wbGF0ZSB0byBpbmxpbmUgd3JhcHBlclxyXG4gICAgY29uc3QgYXR0cnMgPSB7XHJcbiAgICAgIC4uLnRoaXMuZ2V0RWxlbWVudEF0dHJzKCksXHJcbiAgICAgIC4uLnRoaXMuYXR0cnMsXHJcbiAgICB9O1xyXG4gICAgT2JqZWN0LmVudHJpZXMoYXR0cnMpLmZvckVhY2goKFtrZXksIGF0dHJWYWx1ZV06IFtzdHJpbmcsIGFueV0pID0+IFxyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShzcGFuLCBrZXksIGF0dHJWYWx1ZSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuXHJcbiAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHBhcmVudE5vZGUsIHNwYW4sIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuXHJcbiAgICB0aGlzLmlubGluZVJlZiA9IHNwYW47XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEVsZW1lbnRBdHRycygpOiB7IFtrZXk6IHN0cmluZ106IGFueTsgfSB7XHJcbiAgICBjb25zdCB2aWV3ID0gdGhpcy50ZW1wbGF0ZVJlZi5jcmVhdGVFbWJlZGRlZFZpZXcobnVsbCk7XHJcbiAgICBjb25zdCBlbGVtZW50OiBFbGVtZW50ID0gdmlldy5yb290Tm9kZXNbMF07XHJcbiAgICBpZiAoIWVsZW1lbnQpIHtcclxuICAgICAgcmV0dXJuIHt9O1xyXG4gICAgfVxyXG4gICAgY29uc3QgYXR0cnM6IHsgW2tleTogc3RyaW5nXTogYW55OyB9ID0ge307XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1lbnQuYXR0cmlidXRlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBhdHRyID0gZWxlbWVudC5hdHRyaWJ1dGVzLml0ZW0oaSk7XHJcbiAgICAgIGlmIChhdHRyKSB7XHJcbiAgICAgICAgYXR0cnNbYXR0ci5uYW1lXSA9IGF0dHIudmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBhdHRycztcclxuICB9XHJcbn1cclxuIl19
@@ -1,35 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as ɵngcc0 from '@angular/core';
3
- export class MissingComponentComponent {
4
- }
5
- MissingComponentComponent.ɵfac = function MissingComponentComponent_Factory(t) { return new (t || MissingComponentComponent)(); };
6
- MissingComponentComponent.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: MissingComponentComponent, selectors: [["sc-missing-component"]], inputs: { rendering: "rendering" }, decls: 5, vars: 1, consts: [[2, "background", "darkorange", "outline", "5px solid orange", "padding", "10px", "color", "white", "max-width", "500px"]], template: function MissingComponentComponent_Template(rf, ctx) { if (rf & 1) {
7
- ɵngcc0.ɵɵelementStart(0, "div", 0);
8
- ɵngcc0.ɵɵelementStart(1, "h2");
9
- ɵngcc0.ɵɵtext(2);
10
- ɵngcc0.ɵɵelementEnd();
11
- ɵngcc0.ɵɵelementStart(3, "p");
12
- ɵngcc0.ɵɵtext(4, "JSS component is missing Angular component implementation.");
13
- ɵngcc0.ɵɵelementEnd();
14
- ɵngcc0.ɵɵelementEnd();
15
- } if (rf & 2) {
16
- ɵngcc0.ɵɵadvance(2);
17
- ɵngcc0.ɵɵtextInterpolate(ctx.rendering.componentName);
18
- } }, encapsulation: 2 });
19
- MissingComponentComponent.propDecorators = {
20
- rendering: [{ type: Input }]
21
- };
22
- /*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MissingComponentComponent, [{
23
- type: Component,
24
- args: [{
25
- selector: 'sc-missing-component',
26
- template: `
27
- <div style="background: darkorange; outline: 5px solid orange; padding: 10px; color: white; max-width: 500px;">
28
- <h2>{{ rendering.componentName }}</h2>
29
- <p>JSS component is missing Angular component implementation.</p>
30
- </div>`
31
- }]
32
- }], null, { rendering: [{
33
- type: Input
34
- }] }); })();
35
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzc2luZy1jb21wb25lbnQuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9taXNzaW5nLWNvbXBvbmVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVWpELE1BQU0sT0FBTyx5QkFBeUI7QUFDdEM7cURBVEMsU0FBUyxTQUFDLGtCQUNULFFBQVEsRUFBRSxzQkFBc0I7UUFDaEMsUUFBUSxFQUFFLHNPQUlMLGNBQ047Ozs7Ozs7Ozs7Ozs2QkFDSTtBQUFDO0FBQ0ksd0JBQVAsS0FBSztBQUFJOzs7Ozs7Ozs7Ozs7OztBQVhBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBVUEsQUFBQSxBQUFBLEFBQUEsQUFSQSxBQUFBLEFBQUEsQUFDQSxBQUFBLEFBQUEsQUFBQSxBQUNBLEFBQUEsQUFBQSxBQUlBLEFBQ0EsQUFFQSxBQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYy1taXNzaW5nLWNvbXBvbmVudCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuPGRpdiBzdHlsZT1cImJhY2tncm91bmQ6IGRhcmtvcmFuZ2U7IG91dGxpbmU6IDVweCBzb2xpZCBvcmFuZ2U7IHBhZGRpbmc6IDEwcHg7IGNvbG9yOiB3aGl0ZTsgbWF4LXdpZHRoOiA1MDBweDtcIj5cclxuICA8aDI+e3sgcmVuZGVyaW5nLmNvbXBvbmVudE5hbWUgfX08L2gyPlxyXG4gIDxwPkpTUyBjb21wb25lbnQgaXMgbWlzc2luZyBBbmd1bGFyIGNvbXBvbmVudCBpbXBsZW1lbnRhdGlvbi48L3A+XHJcbjwvZGl2PmAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNaXNzaW5nQ29tcG9uZW50Q29tcG9uZW50IHtcclxuICBASW5wdXQoKSByZW5kZXJpbmc6IGFueTtcclxufVxyXG4iXX0=
@@ -1,19 +0,0 @@
1
- import { Directive, TemplateRef } from '@angular/core';
2
- import * as ɵngcc0 from '@angular/core';
3
- export class PlaceholderLoadingDirective {
4
- constructor(templateRef) {
5
- this.templateRef = templateRef;
6
- }
7
- }
8
- PlaceholderLoadingDirective.ɵfac = function PlaceholderLoadingDirective_Factory(t) { return new (t || PlaceholderLoadingDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };
9
- PlaceholderLoadingDirective.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: PlaceholderLoadingDirective, selectors: [["", "scPlaceholderLoading", ""]] });
10
- PlaceholderLoadingDirective.ctorParameters = () => [
11
- { type: TemplateRef }
12
- ];
13
- /*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(PlaceholderLoadingDirective, [{
14
- type: Directive,
15
- args: [{
16
- selector: '[scPlaceholderLoading]'
17
- }]
18
- }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();
19
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXItbG9hZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BsYWNlaG9sZGVyLWxvYWRpbmcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBS0EsTUFBTSxPQUFPLDJCQUEyQjtJQUN0QyxZQUFtQixXQUE2QiwzQkFBbEQsSUFBRSxZQUFtQixXQUE2QjtRQUE3QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0IsdkNBQUksUUFBakMsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO0lBQUcsQ0FBQyxMQUFILElBQUUsQ0FBQzs7dURBSnJELFNBQVMsU0FBQyxrQkFDVCxRQUFRLEVBQUUsd0JBQXdCLGVBQ25DO2tKQUNJO0FBQUM7WUFMYyxXQUFXLHZCQU1mLFlBTkksV0FBVztBQUFHOzs7Ozs7O0FBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFBQSxBQUFBLEFBQUEsQUFLQSxBQUFBLEFBQUEsQUFBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3NjUGxhY2Vob2xkZXJMb2FkaW5nXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQbGFjZWhvbGRlckxvYWRpbmdEaXJlY3RpdmUge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pikge31cclxufVxyXG4iXX0=