@colijnit/sharedcomponents 1.0.57 → 1.0.58

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 (157) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +3555 -6
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.d.ts +17 -0
  4. package/colijnit-sharedcomponents.metadata.json +1 -1
  5. package/esm2015/colijnit-sharedcomponents.js +18 -1
  6. package/esm2015/lib/businessobject/build-images-and-documentation-result.js +2 -0
  7. package/esm2015/lib/businessobject/co-document-right.bo.js +3 -0
  8. package/esm2015/lib/businessobject/drag-drop-container-element.js +2 -0
  9. package/esm2015/lib/businessobject/drag-drop-container.js +7 -0
  10. package/esm2015/lib/components/activity-list/activity-list.component.js +130 -0
  11. package/esm2015/lib/components/activity-list/activity-list.module.js +24 -0
  12. package/esm2015/lib/components/app-file-dropzone/app-file-dropzone.component.js +47 -0
  13. package/esm2015/lib/components/app-file-dropzone/app-file-dropzone.module.js +20 -0
  14. package/esm2015/lib/components/file-upload/file-upload.component.js +189 -0
  15. package/esm2015/lib/components/file-upload/file-upload.module.js +25 -0
  16. package/esm2015/lib/components/file-upload-popup/file-upload-popup.component.js +397 -0
  17. package/esm2015/lib/components/file-upload-popup/file-upload-popup.module.js +30 -0
  18. package/esm2015/lib/components/files-upload/components/base-file-upload.component.js +469 -0
  19. package/esm2015/lib/components/files-upload/components/drag-drop-container.component.js +115 -0
  20. package/esm2015/lib/components/files-upload/files-upload.component.js +131 -0
  21. package/esm2015/lib/components/files-upload/files-upload.module.js +47 -0
  22. package/esm2015/lib/components/image-display/image-display.component.js +36 -0
  23. package/esm2015/lib/components/image-display/image-display.module.js +23 -0
  24. package/esm2015/lib/components/multi-property-toggler/multiple-property-toggler.component.js +89 -0
  25. package/esm2015/lib/components/multi-property-toggler/multiple-property-toggler.module.js +21 -0
  26. package/esm2015/lib/components/tile-renderer/tile-render.component.js +80 -0
  27. package/esm2015/lib/components/tile-renderer/tile-render.module.js +26 -0
  28. package/esm2015/lib/decorator/input-boolean.decorator.js +34 -0
  29. package/esm2015/lib/enum/document-email-report.enum.js +18 -0
  30. package/esm2015/lib/enum/domain-multiple-name.enum.js +13 -0
  31. package/esm2015/lib/enum/file-type.js +14 -0
  32. package/esm2015/lib/enum/files-upload-config-objects.js +3 -0
  33. package/esm2015/lib/enum/icon.enum.js +7 -1
  34. package/esm2015/lib/enum/internal-param.enum.js +38 -0
  35. package/esm2015/lib/enum/read-write-access-config-names.enum.js +2 -0
  36. package/esm2015/lib/enum/table-name.enum.js +86 -0
  37. package/esm2015/lib/enum/tag-category.enum.js +22 -0
  38. package/esm2015/lib/enum/tags-component-config-names.js +2 -0
  39. package/esm2015/lib/enum/tile-size-type.js +7 -0
  40. package/esm2015/lib/event/co-drag-event.js +2 -0
  41. package/esm2015/lib/event/co-drop-event.js +2 -0
  42. package/esm2015/lib/interface/key-value-pair.js +2 -0
  43. package/esm2015/lib/interface/operation-callback-simple-function.js +4 -0
  44. package/esm2015/lib/model/icon-svg.js +7 -1
  45. package/esm2015/lib/model/tag-tree-item.bo.js +16 -0
  46. package/esm2015/lib/model/tree-object.js +15 -0
  47. package/esm2015/lib/pipe/file-type-image.pipe.js +51 -0
  48. package/esm2015/lib/pipe/master-pipes.js +4 -2
  49. package/esm2015/lib/service/drag-drop.service.js +365 -0
  50. package/esm2015/lib/service/shared-connector.service.js +10 -1
  51. package/esm2015/lib/service/shared.service.js +2 -2
  52. package/esm2015/lib/utils/array-utils.js +202 -0
  53. package/esm2015/lib/utils/check-precision-and-scale-result.js +2 -0
  54. package/esm2015/lib/utils/check-within-stepped-bounds-result.js +2 -0
  55. package/esm2015/lib/utils/co-document-shared-field-logic.js +50 -0
  56. package/esm2015/lib/utils/enum-utils.js +128 -0
  57. package/esm2015/lib/utils/is-nill.function.js +5 -0
  58. package/esm2015/lib/utils/number-utils.js +390 -0
  59. package/esm2015/lib/utils/object-utils.js +278 -0
  60. package/esm2015/lib/utils/ref-code-utils.js +49 -0
  61. package/esm2015/lib/utils/string-utils.js +30 -1
  62. package/esm2015/public-api.js +5 -1
  63. package/fesm2015/colijnit-sharedcomponents.js +3528 -6
  64. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  65. package/lib/businessobject/build-images-and-documentation-result.d.ts +5 -0
  66. package/lib/businessobject/co-document-right.bo.d.ts +6 -0
  67. package/lib/businessobject/drag-drop-container-element.d.ts +6 -0
  68. package/lib/businessobject/drag-drop-container.d.ts +6 -0
  69. package/lib/components/access/read-write-access.scss +25 -0
  70. package/lib/components/access/style/_layout.scss +23 -0
  71. package/lib/components/access/style/_material-definition.scss +12 -0
  72. package/lib/components/access/style/_theme.scss +4 -0
  73. package/lib/components/access/style/material.scss +4 -0
  74. package/lib/components/activity-list/activity-list.component.d.ts +33 -0
  75. package/lib/components/activity-list/activity-list.module.d.ts +2 -0
  76. package/lib/components/activity-list/style/_layout.scss +68 -0
  77. package/lib/components/activity-list/style/_material-definition.scss +0 -0
  78. package/lib/components/activity-list/style/_theme.scss +4 -0
  79. package/lib/components/activity-list/style/material.scss +4 -0
  80. package/lib/components/app-file-dropzone/app-file-dropzone.component.d.ts +14 -0
  81. package/lib/components/app-file-dropzone/app-file-dropzone.module.d.ts +2 -0
  82. package/lib/components/app-file-dropzone/style/_layout.scss +61 -0
  83. package/lib/components/app-file-dropzone/style/_material-definition.scss +0 -0
  84. package/lib/components/app-file-dropzone/style/_theme.scss +4 -0
  85. package/lib/components/app-file-dropzone/style/material.scss +4 -0
  86. package/lib/components/file-upload/file-upload.component.d.ts +42 -0
  87. package/lib/components/file-upload/file-upload.module.d.ts +2 -0
  88. package/lib/components/file-upload/style/_layout.scss +59 -0
  89. package/lib/components/file-upload/style/_material-definition.scss +2 -0
  90. package/lib/components/file-upload/style/_theme.scss +4 -0
  91. package/lib/components/file-upload/style/material.scss +4 -0
  92. package/lib/components/file-upload-popup/file-upload-popup.component.d.ts +75 -0
  93. package/lib/components/file-upload-popup/file-upload-popup.module.d.ts +2 -0
  94. package/lib/components/file-upload-popup/style/_layout.scss +48 -0
  95. package/lib/components/file-upload-popup/style/_material-definition.scss +2 -0
  96. package/lib/components/file-upload-popup/style/_theme.scss +5 -0
  97. package/lib/components/file-upload-popup/style/material.scss +4 -0
  98. package/lib/components/files-upload/components/base-file-upload.component.d.ts +98 -0
  99. package/lib/components/files-upload/components/drag-drop-container.component.d.ts +34 -0
  100. package/lib/components/files-upload/files-upload.component.d.ts +32 -0
  101. package/lib/components/files-upload/files-upload.module.d.ts +2 -0
  102. package/lib/components/files-upload/style/_layout.scss +49 -0
  103. package/lib/components/files-upload/style/_material-definition.scss +0 -0
  104. package/lib/components/files-upload/style/_theme.scss +5 -0
  105. package/lib/components/files-upload/style/material.scss +4 -0
  106. package/lib/components/image-display/image-display.component.d.ts +14 -0
  107. package/lib/components/image-display/image-display.module.d.ts +2 -0
  108. package/lib/components/image-display/style/_layout.scss +56 -0
  109. package/lib/components/image-display/style/_material-definition.scss +4 -0
  110. package/lib/components/image-display/style/_theme.scss +6 -0
  111. package/lib/components/image-display/style/material.scss +3 -0
  112. package/lib/components/multi-property-toggler/multiple-property-toggler.component.d.ts +27 -0
  113. package/lib/components/multi-property-toggler/multiple-property-toggler.module.d.ts +2 -0
  114. package/lib/components/multi-property-toggler/style/_layout.scss +24 -0
  115. package/lib/components/multi-property-toggler/style/_material-definition.scss +0 -0
  116. package/lib/components/multi-property-toggler/style/_theme.scss +4 -0
  117. package/lib/components/multi-property-toggler/style/material.scss +4 -0
  118. package/lib/components/tile-renderer/style/_layout.scss +90 -0
  119. package/lib/components/tile-renderer/style/_material-definition.scss +0 -0
  120. package/lib/components/tile-renderer/style/_theme.scss +4 -0
  121. package/lib/components/tile-renderer/style/material.scss +4 -0
  122. package/lib/components/tile-renderer/tile-render.component.d.ts +31 -0
  123. package/lib/components/tile-renderer/tile-render.module.d.ts +2 -0
  124. package/lib/decorator/input-boolean.decorator.d.ts +8 -0
  125. package/lib/enum/document-email-report.enum.d.ts +15 -0
  126. package/lib/enum/domain-multiple-name.enum.d.ts +10 -0
  127. package/lib/enum/file-type.d.ts +7 -0
  128. package/lib/enum/files-upload-config-objects.d.ts +22 -0
  129. package/lib/enum/icon.enum.d.ts +6 -0
  130. package/lib/enum/internal-param.enum.d.ts +34 -0
  131. package/lib/enum/read-write-access-config-names.enum.d.ts +4 -0
  132. package/lib/enum/table-name.enum.d.ts +84 -0
  133. package/lib/enum/tag-category.enum.d.ts +19 -0
  134. package/lib/enum/tags-component-config-names.d.ts +4 -0
  135. package/lib/enum/tile-size-type.d.ts +4 -0
  136. package/lib/event/co-drag-event.d.ts +5 -0
  137. package/lib/event/co-drop-event.d.ts +8 -0
  138. package/lib/interface/key-value-pair.d.ts +4 -0
  139. package/lib/interface/operation-callback-simple-function.d.ts +4 -0
  140. package/lib/model/tag-tree-item.bo.d.ts +18 -0
  141. package/lib/model/tree-object.d.ts +8 -0
  142. package/lib/pipe/file-type-image.pipe.d.ts +12 -0
  143. package/lib/service/drag-drop.service.d.ts +86 -0
  144. package/lib/service/shared-connector.service.d.ts +2 -0
  145. package/lib/style/_variables.scss +1 -1
  146. package/lib/utils/array-utils.d.ts +63 -0
  147. package/lib/utils/check-precision-and-scale-result.d.ts +4 -0
  148. package/lib/utils/check-within-stepped-bounds-result.d.ts +8 -0
  149. package/lib/utils/co-document-shared-field-logic.d.ts +7 -0
  150. package/lib/utils/enum-utils.d.ts +31 -0
  151. package/lib/utils/is-nill.function.d.ts +1 -0
  152. package/lib/utils/number-utils.d.ts +125 -0
  153. package/lib/utils/object-utils.d.ts +40 -0
  154. package/lib/utils/ref-code-utils.d.ts +10 -0
  155. package/lib/utils/string-utils.d.ts +16 -0
  156. package/package.json +1 -1
  157. package/public-api.d.ts +4 -0
@@ -0,0 +1,115 @@
1
+ import { __decorate } from "tslib";
2
+ import { ElementRef, Input, Directive, Renderer2, Output, EventEmitter, HostBinding } from "@angular/core";
3
+ import { InputBoolean } from "../../../decorator/input-boolean.decorator";
4
+ import { DragDropContainer } from "../../../businessobject/drag-drop-container";
5
+ import { CoOrientation } from "@colijnit/corecomponents_v12";
6
+ import { ArrayUtils } from "@colijnit/sharedapi/build/utils/array-utils";
7
+ import { DragDropService } from "../../../service/drag-drop.service";
8
+ export class DragDropContainerComponent {
9
+ constructor(_elementRef, _renderer, _dragDropService) {
10
+ this._elementRef = _elementRef;
11
+ this._renderer = _renderer;
12
+ this._dragDropService = _dragDropService;
13
+ this.handleSort = false;
14
+ /**
15
+ * Class of the handle to drag operations
16
+ */
17
+ this.dragHandle = "";
18
+ // Emits when the order of sortableList items changed after a drag-drop action.
19
+ this.sortingChange = new EventEmitter();
20
+ this.showClass = true;
21
+ this._enabled = true;
22
+ this._initialized = false;
23
+ this._dragDropService.renderer = this._renderer;
24
+ this._container = new DragDropContainer(_elementRef.nativeElement, CoOrientation.Vertical);
25
+ }
26
+ set enabled(value) {
27
+ this._enabled = value;
28
+ this.handleEnabledChange();
29
+ }
30
+ ngAfterViewInit() {
31
+ this._initialized = true;
32
+ this._createDragDrop();
33
+ if (this._initialized) {
34
+ this._updateEnableDisableContainer();
35
+ }
36
+ }
37
+ /**
38
+ * Cleanup...
39
+ */
40
+ ngOnDestroy() {
41
+ this._removeDragDrop();
42
+ this._elementRef = undefined;
43
+ }
44
+ handleEnabledChange() {
45
+ if (!this._initialized) {
46
+ return;
47
+ }
48
+ if (this._enabled) {
49
+ this._dragDropService.enableContainer(this._container);
50
+ this._createDragDrop();
51
+ }
52
+ else {
53
+ this._dragDropService.disableContainer(this._container);
54
+ this._removeDragDrop();
55
+ this._initialized = false;
56
+ }
57
+ }
58
+ _createDragDrop() {
59
+ this._dragDropService.addContainer(this._container);
60
+ this._dragDropService.addDragHandle(this.dragHandle);
61
+ if (this.handleSort) { // subscribe drop event to be able to adapt the order of dropped items
62
+ this._handleOrderSub = this._dragDropService.drop.subscribe((event) => {
63
+ this._handleOrder(event.container, event.elementIndex, event.targetIndex);
64
+ });
65
+ }
66
+ this._initialized = true;
67
+ }
68
+ _removeDragDrop() {
69
+ this._dragDropService.removeContainer(this._container);
70
+ this._dragDropService.removeDragHandle(this.dragHandle);
71
+ if (this._handleOrderSub) {
72
+ this._handleOrderSub.unsubscribe();
73
+ }
74
+ }
75
+ _handleOrder(container, oldIndex, newIndex) {
76
+ if (container !== this._container) {
77
+ return;
78
+ }
79
+ if (newIndex === -1) {
80
+ newIndex = this.sortableList.length;
81
+ }
82
+ ArrayUtils.MoveElement(this.sortableList[oldIndex], newIndex, this.sortableList);
83
+ this.sortingChange.emit(this.sortableList);
84
+ }
85
+ _updateEnableDisableContainer() {
86
+ if (this._enabled) {
87
+ this._dragDropService.enableContainer(this._container);
88
+ }
89
+ else {
90
+ this._dragDropService.disableContainer(this._container);
91
+ }
92
+ }
93
+ }
94
+ DragDropContainerComponent.decorators = [
95
+ { type: Directive, args: [{
96
+ selector: "drag-drop-container"
97
+ },] }
98
+ ];
99
+ DragDropContainerComponent.ctorParameters = () => [
100
+ { type: ElementRef },
101
+ { type: Renderer2 },
102
+ { type: DragDropService }
103
+ ];
104
+ DragDropContainerComponent.propDecorators = {
105
+ sortableList: [{ type: Input }],
106
+ handleSort: [{ type: Input }],
107
+ enabled: [{ type: Input }],
108
+ dragHandle: [{ type: Input }],
109
+ sortingChange: [{ type: Output }],
110
+ showClass: [{ type: HostBinding, args: ["class.co-drag-drop-container",] }]
111
+ };
112
+ __decorate([
113
+ InputBoolean()
114
+ ], DragDropContainerComponent.prototype, "handleSort", void 0);
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy11cGxvYWQvY29tcG9uZW50cy9kcmFnLWRyb3AtY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUdULFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLFdBQVcsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDOUUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUV2RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFLbkUsTUFBTSxPQUFPLDBCQUEwQjtJQW9DbkMsWUFBb0IsV0FBdUIsRUFBVSxTQUFvQixFQUFVLGdCQUFpQztRQUFoRyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBMUI3RyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBUW5DOztXQUVHO1FBRUksZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUUvQiwrRUFBK0U7UUFFeEUsa0JBQWEsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUcvRCxjQUFTLEdBQVksSUFBSSxDQUFDO1FBR3pCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFFekIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFHbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBM0JELElBQ1csT0FBTyxDQUFDLEtBQWM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQXlCRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztTQUN4QztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDUCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7SUFDakMsQ0FBQztJQUVNLG1CQUFtQjtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDMUI7YUFBTTtZQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztJQUVPLGVBQWU7UUFDbkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsc0VBQXNFO1lBQ3pGLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFrQixFQUFFLEVBQUU7Z0JBQy9FLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM5RSxDQUFDLENBQUMsQ0FBQztTQUNOO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVPLGVBQWU7UUFDbkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4RCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0QztJQUNMLENBQUM7SUFFTyxZQUFZLENBQUMsU0FBNEIsRUFBRSxRQUFnQixFQUFFLFFBQWdCO1FBQ2pGLElBQUksU0FBUyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDL0IsT0FBTztTQUNWO1FBQ0QsSUFBSSxRQUFRLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDakIsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO1NBQ3ZDO1FBQ0QsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTyw2QkFBNkI7UUFDakMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDMUQ7YUFBTTtZQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDOzs7WUE5R0osU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7YUFDaEM7OztZQXBCQyxVQUFVO1lBS1YsU0FBUztZQVdILGVBQWU7OzsyQkFVbEIsS0FBSzt5QkFHTCxLQUFLO3NCQUlMLEtBQUs7eUJBU0wsS0FBSzs0QkFJTCxNQUFNO3dCQUdOLFdBQVcsU0FBQyw4QkFBOEI7O0FBbEIzQztJQURDLFlBQVksRUFBRTs4REFDb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIFJlbmRlcmVyMixcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7SW5wdXRCb29sZWFufSBmcm9tIFwiLi4vLi4vLi4vZGVjb3JhdG9yL2lucHV0LWJvb2xlYW4uZGVjb3JhdG9yXCI7XHJcbmltcG9ydCB7RHJhZ0Ryb3BDb250YWluZXJ9IGZyb20gXCIuLi8uLi8uLi9idXNpbmVzc29iamVjdC9kcmFnLWRyb3AtY29udGFpbmVyXCI7XHJcbmltcG9ydCB7Q29PcmllbnRhdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtBcnJheVV0aWxzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC91dGlscy9hcnJheS11dGlsc1wiO1xyXG5pbXBvcnQge0NvRHJvcEV2ZW50fSBmcm9tIFwiLi4vLi4vLi4vZXZlbnQvY28tZHJvcC1ldmVudFwiO1xyXG5pbXBvcnQge0RyYWdEcm9wU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvZHJhZy1kcm9wLnNlcnZpY2VcIjtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiBcImRyYWctZHJvcC1jb250YWluZXJcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJhZ0Ryb3BDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTW9kZWwgb2YgbGlzdCBjb250YWluaW5nIGRyYWdnYWJsZSBpdGVtc1xyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNvcnRhYmxlTGlzdDogYW55W107XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIGhhbmRsZVNvcnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBlbmFibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fZW5hYmxlZCA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlRW5hYmxlZENoYW5nZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2xhc3Mgb2YgdGhlIGhhbmRsZSB0byBkcmFnIG9wZXJhdGlvbnNcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBkcmFnSGFuZGxlOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIC8vIEVtaXRzIHdoZW4gdGhlIG9yZGVyIG9mIHNvcnRhYmxlTGlzdCBpdGVtcyBjaGFuZ2VkIGFmdGVyIGEgZHJhZy1kcm9wIGFjdGlvbi5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHNvcnRpbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnlbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xyXG5cclxuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWRyYWctZHJvcC1jb250YWluZXJcIilcclxuICAgIHB1YmxpYyBzaG93Q2xhc3M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIHByaXZhdGUgX2NvbnRhaW5lcjogRHJhZ0Ryb3BDb250YWluZXI7XHJcbiAgICBwcml2YXRlIF9lbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIHByaXZhdGUgX2hhbmRsZU9yZGVyU3ViOiBTdWJzY3JpcHRpb247XHJcbiAgICBwcml2YXRlIF9pbml0aWFsaXplZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgX2RyYWdEcm9wU2VydmljZTogRHJhZ0Ryb3BTZXJ2aWNlKSB7XHJcbiAgICAgICAgdGhpcy5fZHJhZ0Ryb3BTZXJ2aWNlLnJlbmRlcmVyID0gdGhpcy5fcmVuZGVyZXI7XHJcbiAgICAgICAgdGhpcy5fY29udGFpbmVyID0gbmV3IERyYWdEcm9wQ29udGFpbmVyKF9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIENvT3JpZW50YXRpb24uVmVydGljYWwpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5fY3JlYXRlRHJhZ0Ryb3AoKTtcclxuICAgICAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fdXBkYXRlRW5hYmxlRGlzYWJsZUNvbnRhaW5lcigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENsZWFudXAuLi5cclxuICAgICAqL1xyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVtb3ZlRHJhZ0Ryb3AoKTtcclxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVFbmFibGVkQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5faW5pdGlhbGl6ZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5fZW5hYmxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9kcmFnRHJvcFNlcnZpY2UuZW5hYmxlQ29udGFpbmVyKHRoaXMuX2NvbnRhaW5lcik7XHJcbiAgICAgICAgICAgIHRoaXMuX2NyZWF0ZURyYWdEcm9wKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fZHJhZ0Ryb3BTZXJ2aWNlLmRpc2FibGVDb250YWluZXIodGhpcy5fY29udGFpbmVyKTtcclxuICAgICAgICAgICAgdGhpcy5fcmVtb3ZlRHJhZ0Ryb3AoKTtcclxuICAgICAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY3JlYXRlRHJhZ0Ryb3AoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZHJhZ0Ryb3BTZXJ2aWNlLmFkZENvbnRhaW5lcih0aGlzLl9jb250YWluZXIpO1xyXG4gICAgICAgIHRoaXMuX2RyYWdEcm9wU2VydmljZS5hZGREcmFnSGFuZGxlKHRoaXMuZHJhZ0hhbmRsZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuaGFuZGxlU29ydCkgeyAvLyBzdWJzY3JpYmUgZHJvcCBldmVudCB0byBiZSBhYmxlIHRvIGFkYXB0IHRoZSBvcmRlciBvZiBkcm9wcGVkIGl0ZW1zXHJcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZU9yZGVyU3ViID0gdGhpcy5fZHJhZ0Ryb3BTZXJ2aWNlLmRyb3Auc3Vic2NyaWJlKChldmVudDogQ29Ecm9wRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZU9yZGVyKGV2ZW50LmNvbnRhaW5lciwgZXZlbnQuZWxlbWVudEluZGV4LCBldmVudC50YXJnZXRJbmRleCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfcmVtb3ZlRHJhZ0Ryb3AoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZHJhZ0Ryb3BTZXJ2aWNlLnJlbW92ZUNvbnRhaW5lcih0aGlzLl9jb250YWluZXIpO1xyXG4gICAgICAgIHRoaXMuX2RyYWdEcm9wU2VydmljZS5yZW1vdmVEcmFnSGFuZGxlKHRoaXMuZHJhZ0hhbmRsZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuX2hhbmRsZU9yZGVyU3ViKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZU9yZGVyU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2hhbmRsZU9yZGVyKGNvbnRhaW5lcjogRHJhZ0Ryb3BDb250YWluZXIsIG9sZEluZGV4OiBudW1iZXIsIG5ld0luZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICBpZiAoY29udGFpbmVyICE9PSB0aGlzLl9jb250YWluZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobmV3SW5kZXggPT09IC0xKSB7XHJcbiAgICAgICAgICAgIG5ld0luZGV4ID0gdGhpcy5zb3J0YWJsZUxpc3QubGVuZ3RoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBBcnJheVV0aWxzLk1vdmVFbGVtZW50KHRoaXMuc29ydGFibGVMaXN0W29sZEluZGV4XSwgbmV3SW5kZXgsIHRoaXMuc29ydGFibGVMaXN0KTtcclxuICAgICAgICB0aGlzLnNvcnRpbmdDaGFuZ2UuZW1pdCh0aGlzLnNvcnRhYmxlTGlzdCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfdXBkYXRlRW5hYmxlRGlzYWJsZUNvbnRhaW5lcigpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5fZW5hYmxlZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9kcmFnRHJvcFNlcnZpY2UuZW5hYmxlQ29udGFpbmVyKHRoaXMuX2NvbnRhaW5lcik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fZHJhZ0Ryb3BTZXJ2aWNlLmRpc2FibGVDb250YWluZXIodGhpcy5fY29udGFpbmVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,131 @@
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { Component, ComponentFactoryResolver, ContentChild, EventEmitter, forwardRef, HostBinding, Input, Output, ViewChild, ViewContainerRef, ViewEncapsulation } from "@angular/core";
3
+ import { BaseFileUploadComponent } from "./components/base-file-upload.component";
4
+ import { SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME } from "@colijnit/corecomponents_v12";
5
+ import { DictionaryService } from "../../service/dictionary.service";
6
+ import { InputBoolean } from "../../decorator/input-boolean.decorator";
7
+ // A component that lets the user make a list of files from its device. Doesn't actually upload, but outputs chosen files as filesChanged.
8
+ export class FilesUploadComponent extends BaseFileUploadComponent {
9
+ constructor(
10
+ //promptService: PromptService,
11
+ dictionaryService,
12
+ //userService: UserService,
13
+ _container, _factory) {
14
+ super(dictionaryService, _container, _factory);
15
+ this._container = _container;
16
+ this._factory = _factory;
17
+ // Input button label
18
+ this.label = "UPLOAD_FILE";
19
+ this.customImageClick = false;
20
+ this.isEditable = false;
21
+ this.hideAvatars = false;
22
+ this.editSlideoutSubmit = new EventEmitter();
23
+ this.tagsChangeEvent = new EventEmitter();
24
+ this.imageClick = new EventEmitter();
25
+ this.slideoutShown = false;
26
+ this.isDropzone = false;
27
+ }
28
+ set dropzone(value) {
29
+ this.isDropzone = value;
30
+ }
31
+ showClass() {
32
+ return true;
33
+ }
34
+ get editable() {
35
+ return this.canAdd;
36
+ }
37
+ get empty() {
38
+ return !this.documents || this.documents.length === 0;
39
+ }
40
+ ngOnDestroy() {
41
+ this.slideoutTemplate = undefined;
42
+ this.input = undefined;
43
+ super.ngOnDestroy();
44
+ }
45
+ openFileBrowser() {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ if (this.input && this.input.nativeElement) {
48
+ this.input.nativeElement.click();
49
+ }
50
+ });
51
+ }
52
+ handleAddClick() {
53
+ this.openFileBrowser();
54
+ }
55
+ }
56
+ FilesUploadComponent.decorators = [
57
+ { type: Component, args: [{
58
+ selector: "co-files-upload",
59
+ template: `
60
+ <div class="files-upload-wrapper">
61
+ <drag-drop-container
62
+ [sortableList]="documents"
63
+ (sortingChange)="handleSortingChange($event)"
64
+ [handleSort]="true"
65
+ dragHandle="tile"
66
+ [enabled]="!noDragDropOrdering">
67
+ <co-file-upload *ngIf="canAdd && addWithButton" class="add-file"
68
+ isAddingTile
69
+ icon="plus_round_open"
70
+ [link]="true"
71
+ [label]="label | localize"
72
+ (mouseover)="mouseOverAdd = true"
73
+ (mouseout)="mouseOverAdd = false"
74
+ (click)="handleAddClick()"></co-file-upload> <!-- (click)="handleAddClick()" -->
75
+ <co-file-upload *ngFor="let file of documents" class="tile"
76
+ [readonly]="file.readonly || readonly"
77
+ [class.hidden]="hideAvatars ? file.isAvatar : false"
78
+ [file]="file"
79
+ [label]="file.fileName"
80
+ [showTrashCan]="canDelete"
81
+ [fileSavesOnPopupOkClick]="fileSavesOnPopupOkClick"
82
+ [isEditable]="isEditable"
83
+ [customImageClick]="customImageClick"
84
+ (imageClick)="imageClick.emit($event)"
85
+ (deleteClick)="handleDelete(file)"
86
+ (editClick)="handleEditDocumentClick($event)"></co-file-upload>
87
+ </drag-drop-container>
88
+ <span class="maxuploadsize" textContent="getMaxFileSizeNotition()" [class.show]="mouseOverAdd"></span>
89
+ <input #inputFile [accept]="acceptedUploadFormats" (change)="handleFileChange($event)" type="file" hidden multiple/>
90
+ </div>
91
+ `,
92
+ encapsulation: ViewEncapsulation.None,
93
+ providers: [
94
+ {
95
+ provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,
96
+ useExisting: forwardRef(() => FilesUploadComponent)
97
+ }
98
+ ]
99
+ },] }
100
+ ];
101
+ FilesUploadComponent.ctorParameters = () => [
102
+ { type: DictionaryService },
103
+ { type: ViewContainerRef },
104
+ { type: ComponentFactoryResolver }
105
+ ];
106
+ FilesUploadComponent.propDecorators = {
107
+ dropzone: [{ type: Input }],
108
+ slideoutTemplate: [{ type: ContentChild, args: ["slideoutTemplate", { static: true },] }],
109
+ input: [{ type: ViewChild, args: ["inputFile", { static: true },] }],
110
+ label: [{ type: Input }],
111
+ cfgNames: [{ type: Input }],
112
+ customImageClick: [{ type: Input }],
113
+ isEditable: [{ type: Input }],
114
+ hideAvatars: [{ type: Input }],
115
+ fileSavesOnPopupOkClick: [{ type: Input }],
116
+ selected: [{ type: Input }],
117
+ editSlideoutSubmit: [{ type: Output }],
118
+ tagsChangeEvent: [{ type: Output }],
119
+ imageClick: [{ type: Output }],
120
+ showClass: [{ type: HostBinding, args: ['class.co-files-upload',] }],
121
+ editable: [{ type: HostBinding, args: ["class.editable",] }],
122
+ empty: [{ type: HostBinding, args: ["class.empty",] }],
123
+ isDropzone: [{ type: HostBinding, args: ['class.dropzone',] }]
124
+ };
125
+ __decorate([
126
+ InputBoolean()
127
+ ], FilesUploadComponent.prototype, "isEditable", void 0);
128
+ __decorate([
129
+ InputBoolean()
130
+ ], FilesUploadComponent.prototype, "hideAvatars", void 0);
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGVzLXVwbG9hZC9maWxlcy11cGxvYWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHdCQUF3QixFQUN4QixZQUFZLEVBRVosWUFBWSxFQUFFLFVBQVUsRUFDeEIsV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLDhDQUE4QyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFHbkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBNkNyRSwwSUFBMEk7QUFDMUksTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtJQW9FN0Q7SUFDSSwrQkFBK0I7SUFDL0IsaUJBQW9DO0lBQ3BDLDJCQUEyQjtJQUNqQixVQUE0QixFQUM1QixRQUFrQztRQVE1QyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBVHJDLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBMURoRCxxQkFBcUI7UUFFZCxVQUFLLEdBQVcsYUFBYSxDQUFDO1FBTTlCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUlsQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRzVCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBU3BCLHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzNFLG9CQUFlLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO1FBR2pGLGVBQVUsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQW1CdEUsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsZUFBVSxHQUFZLEtBQUssQ0FBQztJQWdCbkMsQ0FBQztJQWhGRCxJQUNXLFFBQVEsQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUE0Q00sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQ1csUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDVyxLQUFLO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7SUF1QkQsV0FBVztRQUNQLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFWSxlQUFlOztZQUN4QixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3BDO1FBQ0wsQ0FBQztLQUFBO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7O1lBOUlKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBZ0NUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLDhDQUE4Qzt3QkFDdkQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztxQkFDdEQ7aUJBQ0o7YUFDSjs7O1lBL0NPLGlCQUFpQjtZQUx2QixnQkFBZ0I7WUFWaEIsd0JBQXdCOzs7dUJBa0VyQixLQUFLOytCQU1MLFlBQVksU0FBQyxrQkFBa0IsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7b0JBSS9DLFNBQVMsU0FBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO29CQUlyQyxLQUFLO3VCQUdMLEtBQUs7K0JBR0wsS0FBSzt5QkFHTCxLQUFLOzBCQUlMLEtBQUs7c0NBR0wsS0FBSzt1QkFHTCxLQUFLO2lDQUdMLE1BQU07OEJBR04sTUFBTTt5QkFHTixNQUFNO3dCQUlOLFdBQVcsU0FBQyx1QkFBdUI7dUJBS25DLFdBQVcsU0FBQyxnQkFBZ0I7b0JBSzVCLFdBQVcsU0FBQyxhQUFhO3lCQU96QixXQUFXLFNBQUMsZ0JBQWdCOztBQXRDN0I7SUFEQyxZQUFZLEVBQUU7d0RBQ29CO0FBR25DO0lBRFUsWUFBWSxFQUFFO3lEQUNZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtCYXNlRmlsZVVwbG9hZENvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9iYXNlLWZpbGUtdXBsb2FkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUV9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudFwiO1xyXG5pbXBvcnQge1RhZ1RyZWVJdGVtfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFnLXRyZWUtaXRlbS5ib1wiO1xyXG5pbXBvcnQge0lucHV0Qm9vbGVhbn0gZnJvbSBcIi4uLy4uL2RlY29yYXRvci9pbnB1dC1ib29sZWFuLmRlY29yYXRvclwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJjby1maWxlcy11cGxvYWRcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbGVzLXVwbG9hZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxkcmFnLWRyb3AtY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzb3J0YWJsZUxpc3RdPVwiZG9jdW1lbnRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNvcnRpbmdDaGFuZ2UpPVwiaGFuZGxlU29ydGluZ0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hhbmRsZVNvcnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdIYW5kbGU9XCJ0aWxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZWRdPVwiIW5vRHJhZ0Ryb3BPcmRlcmluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWZpbGUtdXBsb2FkICpuZ0lmPVwiY2FuQWRkICYmIGFkZFdpdGhCdXR0b25cIiBjbGFzcz1cImFkZC1maWxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0FkZGluZ1RpbGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwicGx1c19yb3VuZF9vcGVuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGlua109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwibGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlb3Zlcik9XCJtb3VzZU92ZXJBZGQgPSB0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW91c2VvdXQpPVwibW91c2VPdmVyQWRkID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVBZGRDbGljaygpXCI+PC9jby1maWxlLXVwbG9hZD4gPCEtLSAoY2xpY2spPVwiaGFuZGxlQWRkQ2xpY2soKVwiIC0tPlxyXG4gICAgICAgICAgICAgICAgPGNvLWZpbGUtdXBsb2FkICpuZ0Zvcj1cImxldCBmaWxlIG9mIGRvY3VtZW50c1wiIGNsYXNzPVwidGlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImZpbGUucmVhZG9ubHkgfHwgcmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5oaWRkZW5dPVwiaGlkZUF2YXRhcnMgPyBmaWxlLmlzQXZhdGFyIDogZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlXT1cImZpbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJmaWxlLmZpbGVOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1RyYXNoQ2FuXT1cImNhbkRlbGV0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVTYXZlc09uUG9wdXBPa0NsaWNrXT1cImZpbGVTYXZlc09uUG9wdXBPa0NsaWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNFZGl0YWJsZV09XCJpc0VkaXRhYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tSW1hZ2VDbGlja109XCJjdXN0b21JbWFnZUNsaWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW1hZ2VDbGljayk9XCJpbWFnZUNsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZUNsaWNrKT1cImhhbmRsZURlbGV0ZShmaWxlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVkaXRDbGljayk9XCJoYW5kbGVFZGl0RG9jdW1lbnRDbGljaygkZXZlbnQpXCI+PC9jby1maWxlLXVwbG9hZD5cclxuICAgICAgICAgICAgPC9kcmFnLWRyb3AtY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1heHVwbG9hZHNpemVcIiB0ZXh0Q29udGVudD1cImdldE1heEZpbGVTaXplTm90aXRpb24oKVwiIFtjbGFzcy5zaG93XT1cIm1vdXNlT3ZlckFkZFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPGlucHV0ICNpbnB1dEZpbGUgW2FjY2VwdF09XCJhY2NlcHRlZFVwbG9hZEZvcm1hdHNcIiAoY2hhbmdlKT1cImhhbmRsZUZpbGVDaGFuZ2UoJGV2ZW50KVwiIHR5cGU9XCJmaWxlXCIgaGlkZGVuIG11bHRpcGxlLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGaWxlc1VwbG9hZENvbXBvbmVudClcclxuICAgICAgICB9XHJcbiAgICBdXHJcbn0pXHJcbi8vIEEgY29tcG9uZW50IHRoYXQgbGV0cyB0aGUgdXNlciBtYWtlIGEgbGlzdCBvZiBmaWxlcyBmcm9tIGl0cyBkZXZpY2UuIERvZXNuJ3QgYWN0dWFsbHkgdXBsb2FkLCBidXQgb3V0cHV0cyBjaG9zZW4gZmlsZXMgYXMgZmlsZXNDaGFuZ2VkLlxyXG5leHBvcnQgY2xhc3MgRmlsZXNVcGxvYWRDb21wb25lbnQgZXh0ZW5kcyBCYXNlRmlsZVVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgZHJvcHpvbmUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLmlzRHJvcHpvbmUgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvL3RvZG8gc2VlIGlmIHRoaXMgaXMgdXNlZCBhbnl3aGVyZSBpZiBub3QsIHJlbW92ZVxyXG4gICAgQENvbnRlbnRDaGlsZChcInNsaWRlb3V0VGVtcGxhdGVcIiwge3N0YXRpYzogdHJ1ZX0pXHJcbiAgICBwdWJsaWMgc2xpZGVvdXRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgICAvLyAoSGlkZGVuKSBpbnB1dCBmb3IgZmlsZSB1cGxvYWQgZmFjaWxpdGllc1xyXG4gICAgQFZpZXdDaGlsZChcImlucHV0RmlsZVwiLCB7c3RhdGljOiB0cnVlfSlcclxuICAgIHB1YmxpYyBpbnB1dDogRWxlbWVudFJlZjtcclxuXHJcbiAgICAvLyBJbnB1dCBidXR0b24gbGFiZWxcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgbGFiZWw6IHN0cmluZyA9IFwiVVBMT0FEX0ZJTEVcIjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNmZ05hbWVzOiBhbnk7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjdXN0b21JbWFnZUNsaWNrOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIGlzRWRpdGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBoaWRlQXZhdGFyczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZmlsZVNhdmVzT25Qb3B1cE9rQ2xpY2s6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNlbGVjdGVkOiBzdHJpbmc7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWRpdFNsaWRlb3V0U3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgdGFnc0NoYW5nZUV2ZW50OiBFdmVudEVtaXR0ZXI8VGFnVHJlZUl0ZW1bXT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhZ1RyZWVJdGVtW10+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgaW1hZ2VDbGljazogRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PigpO1xyXG5cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWZpbGVzLXVwbG9hZCcpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5lZGl0YWJsZVwiKVxyXG4gICAgcHVibGljIGdldCBlZGl0YWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYW5BZGQ7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuZW1wdHlcIilcclxuICAgIHB1YmxpYyBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmRvY3VtZW50cyB8fCB0aGlzLmRvY3VtZW50cy5sZW5ndGggPT09IDA7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG1vdXNlT3ZlckFkZDogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBzbGlkZW91dFNob3duOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRyb3B6b25lJylcclxuICAgIHB1YmxpYyBpc0Ryb3B6b25lOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgLy9wcm9tcHRTZXJ2aWNlOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgICAgIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICAvL3VzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX2NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICBwcm90ZWN0ZWQgX2ZhY3Rvcnk6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgICAgICAvL3Byb3RlY3RlZCBfZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gICAgICAgIC8vcHJvdGVjdGVkIF9iYXNlRGF0YURhbFJlcG9zaXRvcnk6IEJhc2VEYXRhRGFsUmVwb3NpdG9yeSxcclxuICAgICAgIC8vIHByb3RlY3RlZCBfZ2VuZXJhbERhbFJlcG9zaXRvcnk6IEdlbmVyYWxEYWxSZXBvc2l0b3J5LFxyXG4gICAgICAgIC8vcHJvdGVjdGVkIF9jb0RvY3VtZW50RGF0YUxvYWRlcjogQ29Eb2N1bWVudERhdGFMb2FkZXJTZXJ2aWNlLFxyXG4gICAgICAgIC8vcHJpdmF0ZSBfd29ya2FiaWxpdHk6IEFwcFdvcmthYmlsaXR5U2VydmljZSxcclxuICAgICAgICAvL3ByaXZhdGUgX2ZpbGVUeXBlSW1nUGlwZTogRmlsZVR5cGVJbWFnZVBpcGVcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGRpY3Rpb25hcnlTZXJ2aWNlLCBfY29udGFpbmVyLCBfZmFjdG9yeSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zbGlkZW91dFRlbXBsYXRlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuaW5wdXQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgb3BlbkZpbGVCcm93c2VyKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmICh0aGlzLmlucHV0ICYmIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUFkZENsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub3BlbkZpbGVCcm93c2VyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy90b2RvIGNoZWNrIGlmIHRoaXMgY2FuIGJlIHJlbW92ZWQgYXQgdGhlIGVuZCBvZiB0aGUgcnVuXHJcbiAgICAvKnB1YmxpYyBvbkN1c3RvbUNsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQgPSB1bmRlZmluZWQ7XHJcbiAgICB9Ki9cclxufVxyXG4iXX0=
@@ -0,0 +1,47 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { ButtonModule, CoDialogModule, FormModule, IconModule, InputCheckboxModule, InputTextModule, ScreenConfigurationModule } from "@colijnit/corecomponents_v12";
3
+ import { LocalizationModule } from "../../localization/localization.module";
4
+ import { DragDropContainerComponent } from "./components/drag-drop-container.component";
5
+ import { ImageDisplayModule } from "../image-display/image-display.module";
6
+ import { CommonModule } from "@angular/common";
7
+ import { Overlay } from "@angular/cdk/overlay";
8
+ import { FileTypeImagePipe } from "../../pipe/file-type-image.pipe";
9
+ import { FilesUploadComponent } from "./files-upload.component";
10
+ import { FileUploadModule } from "../file-upload/file-upload.module";
11
+ import { FileUploadPopupModule } from "../file-upload-popup/file-upload-popup.module";
12
+ import { AppFileDropzoneModule } from "../app-file-dropzone/app-file-dropzone.module";
13
+ export class FilesUploadModule {
14
+ }
15
+ FilesUploadModule.decorators = [
16
+ { type: NgModule, args: [{
17
+ imports: [
18
+ CoDialogModule,
19
+ FormModule,
20
+ InputTextModule,
21
+ ScreenConfigurationModule,
22
+ ButtonModule,
23
+ LocalizationModule,
24
+ IconModule,
25
+ ImageDisplayModule,
26
+ CommonModule,
27
+ // TagsModule,
28
+ InputCheckboxModule,
29
+ FileUploadModule,
30
+ FileUploadPopupModule,
31
+ AppFileDropzoneModule
32
+ ],
33
+ declarations: [
34
+ FilesUploadComponent,
35
+ DragDropContainerComponent
36
+ ],
37
+ exports: [
38
+ FilesUploadComponent,
39
+ DragDropContainerComponent
40
+ ],
41
+ providers: [
42
+ Overlay,
43
+ FileTypeImagePipe
44
+ ]
45
+ },] }
46
+ ];
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtdXBsb2FkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGVzLXVwbG9hZC9maWxlcy11cGxvYWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNMLFlBQVksRUFDWixjQUFjLEVBQ2QsVUFBVSxFQUNWLFVBQVUsRUFBRSxtQkFBbUIsRUFDL0IsZUFBZSxFQUNmLHlCQUF5QixFQUMxQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDcEYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFnQ3BGLE1BQU0sT0FBTyxpQkFBaUI7OztZQTlCN0IsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxjQUFjO29CQUNkLFVBQVU7b0JBQ1YsZUFBZTtvQkFDZix5QkFBeUI7b0JBQ3pCLFlBQVk7b0JBQ1osa0JBQWtCO29CQUNsQixVQUFVO29CQUNWLGtCQUFrQjtvQkFDbEIsWUFBWTtvQkFDWixjQUFjO29CQUNkLG1CQUFtQjtvQkFDbkIsZ0JBQWdCO29CQUNoQixxQkFBcUI7b0JBQ3JCLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLG9CQUFvQjtvQkFDcEIsMEJBQTBCO2lCQUMzQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1Asb0JBQW9CO29CQUNwQiwwQkFBMEI7aUJBQzNCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxPQUFPO29CQUNQLGlCQUFpQjtpQkFDbEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgQnV0dG9uTW9kdWxlLFxyXG4gIENvRGlhbG9nTW9kdWxlLFxyXG4gIEZvcm1Nb2R1bGUsXHJcbiAgSWNvbk1vZHVsZSwgSW5wdXRDaGVja2JveE1vZHVsZSxcclxuICBJbnB1dFRleHRNb2R1bGUsXHJcbiAgU2NyZWVuQ29uZmlndXJhdGlvbk1vZHVsZVxyXG59IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7TG9jYWxpemF0aW9uTW9kdWxlfSBmcm9tIFwiLi4vLi4vbG9jYWxpemF0aW9uL2xvY2FsaXphdGlvbi5tb2R1bGVcIjtcclxuaW1wb3J0IHtEcmFnRHJvcENvbnRhaW5lckNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9kcmFnLWRyb3AtY29udGFpbmVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0ltYWdlRGlzcGxheU1vZHVsZX0gZnJvbSBcIi4uL2ltYWdlLWRpc3BsYXkvaW1hZ2UtZGlzcGxheS5tb2R1bGVcIjtcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtPdmVybGF5fSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcclxuaW1wb3J0IHtGaWxlVHlwZUltYWdlUGlwZX0gZnJvbSBcIi4uLy4uL3BpcGUvZmlsZS10eXBlLWltYWdlLnBpcGVcIjtcclxuaW1wb3J0IHtGaWxlc1VwbG9hZENvbXBvbmVudH0gZnJvbSBcIi4vZmlsZXMtdXBsb2FkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0ZpbGVVcGxvYWRNb2R1bGV9IGZyb20gXCIuLi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5tb2R1bGVcIjtcclxuaW1wb3J0IHtGaWxlVXBsb2FkUG9wdXBNb2R1bGV9IGZyb20gXCIuLi9maWxlLXVwbG9hZC1wb3B1cC9maWxlLXVwbG9hZC1wb3B1cC5tb2R1bGVcIjtcclxuaW1wb3J0IHtBcHBGaWxlRHJvcHpvbmVNb2R1bGV9IGZyb20gXCIuLi9hcHAtZmlsZS1kcm9wem9uZS9hcHAtZmlsZS1kcm9wem9uZS5tb2R1bGVcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICBGb3JtTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgU2NyZWVuQ29uZmlndXJhdGlvbk1vZHVsZSxcclxuICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgIExvY2FsaXphdGlvbk1vZHVsZSxcclxuICAgIEljb25Nb2R1bGUsXHJcbiAgICBJbWFnZURpc3BsYXlNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAvLyBUYWdzTW9kdWxlLFxyXG4gICAgSW5wdXRDaGVja2JveE1vZHVsZSxcclxuICAgIEZpbGVVcGxvYWRNb2R1bGUsXHJcbiAgICBGaWxlVXBsb2FkUG9wdXBNb2R1bGUsXHJcbiAgICBBcHBGaWxlRHJvcHpvbmVNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgRmlsZXNVcGxvYWRDb21wb25lbnQsXHJcbiAgICBEcmFnRHJvcENvbnRhaW5lckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRmlsZXNVcGxvYWRDb21wb25lbnQsXHJcbiAgICBEcmFnRHJvcENvbnRhaW5lckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBPdmVybGF5LFxyXG4gICAgRmlsZVR5cGVJbWFnZVBpcGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlc1VwbG9hZE1vZHVsZSB7XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,36 @@
1
+ import { Component, forwardRef, HostBinding, Input, ViewEncapsulation } from '@angular/core';
2
+ import { SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME } from '@colijnit/corecomponents_v12';
3
+ export class ImageDisplayComponent {
4
+ constructor() {
5
+ // The (localized) text to show when there is no image. Defaults to 'NO_IMAGE'.
6
+ this.label = "NO_IMAGE";
7
+ }
8
+ showClass() {
9
+ return true;
10
+ }
11
+ }
12
+ ImageDisplayComponent.decorators = [
13
+ { type: Component, args: [{
14
+ selector: "co-image-display",
15
+ template: `
16
+ <img class="image" *ngIf="!!model" [src]="model">
17
+ <div class="no-image" *ngIf="!model">
18
+ <div class="img"></div>
19
+ <div class="no-image-label" [textContent]="label | localize"></div>
20
+ </div>
21
+ `,
22
+ providers: [{
23
+ provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,
24
+ useExisting: forwardRef(() => ImageDisplayComponent)
25
+ }
26
+ ],
27
+ encapsulation: ViewEncapsulation.None
28
+ },] }
29
+ ];
30
+ ImageDisplayComponent.propDecorators = {
31
+ model: [{ type: Input }],
32
+ label: [{ type: Input }],
33
+ showClass: [{ type: HostBinding, args: ['class.co-image-display',] }],
34
+ hidden: [{ type: HostBinding, args: ["class.co-transaction-hidden",] }]
35
+ };
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZGlzcGxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbWFnZS1kaXNwbGF5L2ltYWdlLWRpc3BsYXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFDLDhDQUE4QyxFQUErQixNQUFNLDhCQUE4QixDQUFDO0FBaUIxSCxNQUFNLE9BQU8scUJBQXFCO0lBZmxDO1FBb0JFLCtFQUErRTtRQUV4RSxVQUFLLEdBQVcsVUFBVSxDQUFDO0lBZ0JwQyxDQUFDO0lBYlEsU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7O1lBM0JGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUU7Ozs7OztHQU1UO2dCQUNELFNBQVMsRUFBRSxDQUFDO3dCQUNWLE9BQU8sRUFBRSw4Q0FBOEM7d0JBQ3ZELFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7cUJBQUM7aUJBQ3REO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7b0JBR0UsS0FBSztvQkFJTCxLQUFLO3dCQUdMLFdBQVcsU0FBQyx3QkFBd0I7cUJBTXBDLFdBQVcsU0FBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsIFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnR9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiY28taW1hZ2UtZGlzcGxheVwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpbWcgY2xhc3M9XCJpbWFnZVwiICpuZ0lmPVwiISFtb2RlbFwiIFtzcmNdPVwibW9kZWxcIj5cbiAgICA8ZGl2IGNsYXNzPVwibm8taW1hZ2VcIiAqbmdJZj1cIiFtb2RlbFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImltZ1wiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm5vLWltYWdlLWxhYmVsXCIgW3RleHRDb250ZW50XT1cImxhYmVsIHwgbG9jYWxpemVcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW1hZ2VEaXNwbGF5Q29tcG9uZW50KX1cbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZURpc3BsYXlDb21wb25lbnQgaW1wbGVtZW50cyBTY3JlZW5Db25maWdBZGFwdGVyQ29tcG9uZW50IHtcbiAgLy8gSW1hZ2UgZGF0YSBVUkkgc3RyaW5nLiBNZWFudCBmb3IgZGlyZWN0IHVzZSBpbiBbc3JjXSBhdHRyaWJ1dGUgb2YgYW4gPGltZz4gdGFnLlxuICBASW5wdXQoKVxuICBwdWJsaWMgbW9kZWw6IHN0cmluZztcblxuICAvLyBUaGUgKGxvY2FsaXplZCkgdGV4dCB0byBzaG93IHdoZW4gdGhlcmUgaXMgbm8gaW1hZ2UuIERlZmF1bHRzIHRvICdOT19JTUFHRScuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gXCJOT19JTUFHRVwiO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28taW1hZ2UtZGlzcGxheScpXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgb2JqZWN0Q29uZmlnTmFtZTogc3RyaW5nO1xuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1oaWRkZW5cIilcbiAgcHVibGljIGhpZGRlbjogYm9vbGVhbjtcbiAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xuICBwdWJsaWMgZm9yY2VSZWFkb25seTogYm9vbGVhbjtcbiAgcHVibGljIHJlYWRvbmx5OiBib29sZWFuO1xuICBwdWJsaWMgbWF4TGVuZ3RoOiBudW1iZXI7XG4gIHB1YmxpYyBkZWNpbWFsczogbnVtYmVyO1xuICBwdWJsaWMgcmVkRXJyb3JCYWNrZ3JvdW5kOiBib29sZWFuO1xufVxuIl19
@@ -0,0 +1,23 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { ImageDisplayComponent } from "./image-display.component";
3
+ import { CoreComponentsTranslationModule } from "@colijnit/corecomponents_v12";
4
+ import { CommonModule } from "@angular/common";
5
+ import { LocalizationModule } from "../../localization/localization.module";
6
+ export class ImageDisplayModule {
7
+ }
8
+ ImageDisplayModule.decorators = [
9
+ { type: NgModule, args: [{
10
+ imports: [
11
+ CoreComponentsTranslationModule,
12
+ CommonModule,
13
+ LocalizationModule
14
+ ],
15
+ declarations: [
16
+ ImageDisplayComponent
17
+ ],
18
+ exports: [
19
+ ImageDisplayComponent
20
+ ]
21
+ },] }
22
+ ];
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZGlzcGxheS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbWFnZS1kaXNwbGF5L2ltYWdlLWRpc3BsYXkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDN0UsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBZTFFLE1BQU0sT0FBTyxrQkFBa0I7OztZQWI5QixRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLCtCQUErQjtvQkFDL0IsWUFBWTtvQkFDWixrQkFBa0I7aUJBQ3JCO2dCQUNILFlBQVksRUFBRTtvQkFDWixxQkFBcUI7aUJBQ3RCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxxQkFBcUI7aUJBQ3RCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0ltYWdlRGlzcGxheUNvbXBvbmVudH0gZnJvbSBcIi4vaW1hZ2UtZGlzcGxheS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtDb3JlQ29tcG9uZW50c1RyYW5zbGF0aW9uTW9kdWxlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0xvY2FsaXphdGlvbk1vZHVsZX0gZnJvbSBcIi4uLy4uL2xvY2FsaXphdGlvbi9sb2NhbGl6YXRpb24ubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvcmVDb21wb25lbnRzVHJhbnNsYXRpb25Nb2R1bGUsXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIExvY2FsaXphdGlvbk1vZHVsZVxyXG4gICAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEltYWdlRGlzcGxheUNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgSW1hZ2VEaXNwbGF5Q29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW1hZ2VEaXNwbGF5TW9kdWxlIHtcclxuXHJcbn1cclxuIl19
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Custom component for enabling and disabling multiple items based on an input enum
3
+ * For the component to work, an enum is required and a list of enabled items so that
4
+ * the component knows which items from the enum are already enabled
5
+ *
6
+ * Note: can be improved by not only accepting a string array of enabledItemProperties but also a full cgref number because that will save one conversion step as
7
+ * BO's already contain these numbers.
8
+ */
9
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
10
+ import { Icon } from "../../enum/icon.enum";
11
+ import { RefCodeUtils } from "../../utils/ref-code-utils";
12
+ import { EnumUtils } from "../../utils/enum-utils";
13
+ export class MultiplePropertyTogglerComponent {
14
+ constructor() {
15
+ this.label = "";
16
+ this.readonly = false;
17
+ this.enableditemsChange = new EventEmitter();
18
+ // Outputs the sum of cgrefkeys of all newly enabled items
19
+ this.onPropertyItemChange = new EventEmitter();
20
+ this.Icons = Icon;
21
+ this.objectifiedEnum = [];
22
+ this.enabledItemNumberList = [];
23
+ }
24
+ showClass() {
25
+ return true;
26
+ }
27
+ ngAfterViewInit() {
28
+ if (this.propertyNamesToToggle) {
29
+ this.objectifiedEnum = EnumUtils.createObjectFromEnum(this.propertyNamesToToggle);
30
+ }
31
+ else {
32
+ // PropertytogglerItems is empty
33
+ }
34
+ this.makeNumberArrayFromCgRefCodeSum();
35
+ }
36
+ isValueActive(propertyToCheck) {
37
+ return this.enabledItemNumberList.includes(propertyToCheck.key);
38
+ }
39
+ clickToToggleProperty(target) {
40
+ let newRefNumberSum = 0;
41
+ if (this.enabledItemNumberList.includes(target.key)) {
42
+ this.enabledItemNumberList.splice(this.enabledItemNumberList.indexOf(target.key), 1);
43
+ }
44
+ else {
45
+ this.enabledItemNumberList.push(target.key);
46
+ }
47
+ this.enabledItemNumberList.forEach(enabledItem => {
48
+ newRefNumberSum += this.objectifiedEnum.find(x => x.key === enabledItem).key;
49
+ });
50
+ this.onPropertyItemChange.emit(newRefNumberSum);
51
+ }
52
+ makeNumberArrayFromCgRefCodeSum() {
53
+ if (this.enableditems) {
54
+ this.enabledItemNumberList = RefCodeUtils.GetMultiRefCodeChoices(this.enableditems);
55
+ }
56
+ }
57
+ }
58
+ MultiplePropertyTogglerComponent.decorators = [
59
+ { type: Component, args: [{
60
+ selector: "co-multiple-property-toggler",
61
+ template: `
62
+ <div class="input-text-content-wrapper">
63
+ <h3 [textContent]="label"></h3> <!-- | localize-->
64
+
65
+ <div class="property-toggling-container">
66
+
67
+ <div class="row" *ngFor="let propertyTogglerItem of objectifiedEnum | keyvalue">
68
+
69
+ <co-input-checkbox [model]="isValueActive(propertyTogglerItem.value)"
70
+ (click)="clickToToggleProperty(propertyTogglerItem.value)"></co-input-checkbox>
71
+
72
+ <label [textContent]="propertyTogglerItem.value.value"></label>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ `,
77
+ encapsulation: ViewEncapsulation.None
78
+ },] }
79
+ ];
80
+ MultiplePropertyTogglerComponent.propDecorators = {
81
+ label: [{ type: Input }],
82
+ propertyNamesToToggle: [{ type: Input }],
83
+ readonly: [{ type: Input }],
84
+ enableditems: [{ type: Input }],
85
+ enableditemsChange: [{ type: Output }],
86
+ onPropertyItemChange: [{ type: Output }],
87
+ showClass: [{ type: HostBinding, args: ["class.co-multiple-property-toggler",] }]
88
+ };
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtcHJvcGVydHktdG9nZ2xlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tdWx0aS1wcm9wZXJ0eS10b2dnbGVyL211bHRpcGxlLXByb3BlcnR5LXRvZ2dsZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFFSCxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHcEgsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFzQmpELE1BQU0sT0FBTyxnQ0FBZ0M7SUFwQjdDO1FBc0JXLFVBQUssR0FBVyxFQUFFLENBQUM7UUFPbkIsYUFBUSxHQUFhLEtBQUssQ0FBQztRQU8zQix1QkFBa0IsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUU3RSwwREFBMEQ7UUFFMUMseUJBQW9CLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFPeEUsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFFbkMsb0JBQWUsR0FBbUIsRUFBRSxDQUFDO1FBRXJDLDBCQUFxQixHQUFhLEVBQUUsQ0FBQztJQXNDaEQsQ0FBQztJQTlDVSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBUUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ3JGO2FBQU07WUFDSCxnQ0FBZ0M7U0FDbkM7UUFDRCxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU0sYUFBYSxDQUFDLGVBQW9CO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVNLHFCQUFxQixDQUFDLE1BQVc7UUFDcEMsSUFBSSxlQUFlLEdBQVcsQ0FBQyxDQUFDO1FBRWhDLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN4RjthQUFNO1lBQ0gsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDL0M7UUFFRCxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUM5QixXQUFXLENBQUMsRUFBRTtZQUNWLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ2pGLENBQUMsQ0FDSixDQUFDO1FBRUYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0sK0JBQStCO1FBQ2xDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMscUJBQXFCLEdBQUcsWUFBWSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN2RjtJQUNMLENBQUM7OztZQXhGSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDhCQUE4QjtnQkFDeEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7S0FlVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN4Qzs7O29CQUVJLEtBQUs7b0NBSUwsS0FBSzt1QkFHTCxLQUFLOzJCQUlMLEtBQUs7aUNBR0wsTUFBTTttQ0FJTixNQUFNO3dCQUdOLFdBQVcsU0FBQyxvQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQ3VzdG9tIGNvbXBvbmVudCBmb3IgZW5hYmxpbmcgYW5kIGRpc2FibGluZyBtdWx0aXBsZSBpdGVtcyBiYXNlZCBvbiBhbiBpbnB1dCBlbnVtXHJcbiAqIEZvciB0aGUgY29tcG9uZW50IHRvIHdvcmssIGFuIGVudW0gaXMgcmVxdWlyZWQgYW5kIGEgbGlzdCBvZiBlbmFibGVkIGl0ZW1zIHNvIHRoYXRcclxuICogdGhlIGNvbXBvbmVudCBrbm93cyB3aGljaCBpdGVtcyBmcm9tIHRoZSBlbnVtIGFyZSBhbHJlYWR5IGVuYWJsZWRcclxuICpcclxuICogTm90ZTogY2FuIGJlIGltcHJvdmVkIGJ5IG5vdCBvbmx5IGFjY2VwdGluZyBhIHN0cmluZyBhcnJheSBvZiBlbmFibGVkSXRlbVByb3BlcnRpZXMgYnV0IGFsc28gYSBmdWxsIGNncmVmIG51bWJlciBiZWNhdXNlIHRoYXQgd2lsbCBzYXZlIG9uZSBjb252ZXJzaW9uIHN0ZXAgYXNcclxuICogQk8ncyBhbHJlYWR5IGNvbnRhaW4gdGhlc2UgbnVtYmVycy5cclxuICovXHJcblxyXG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbi8vaW1wb3J0IHtFbnVtVXRpbHN9IGZyb20gXCIuLi8uLi91dGlscy9lbnVtLXV0aWxzXCI7XHJcbmltcG9ydCB7S2V5VmFsdWVQYWlyfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlL2tleS12YWx1ZS1wYWlyXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7UmVmQ29kZVV0aWxzfSBmcm9tIFwiLi4vLi4vdXRpbHMvcmVmLWNvZGUtdXRpbHNcIjtcclxuaW1wb3J0IHtFbnVtVXRpbHN9IGZyb20gXCIuLi8uLi91dGlscy9lbnVtLXV0aWxzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLW11bHRpcGxlLXByb3BlcnR5LXRvZ2dsZXJcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LXRleHQtY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxoMyBbdGV4dENvbnRlbnRdPVwibGFiZWxcIj48L2gzPiA8IS0tIHwgbG9jYWxpemUtLT5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eS10b2dnbGluZy1jb250YWluZXJcIj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nRm9yPVwibGV0IHByb3BlcnR5VG9nZ2xlckl0ZW0gb2Ygb2JqZWN0aWZpZWRFbnVtIHwga2V5dmFsdWVcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94IFttb2RlbF09XCJpc1ZhbHVlQWN0aXZlKHByb3BlcnR5VG9nZ2xlckl0ZW0udmFsdWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGlja1RvVG9nZ2xlUHJvcGVydHkocHJvcGVydHlUb2dnbGVySXRlbS52YWx1ZSlcIj48L2NvLWlucHV0LWNoZWNrYm94PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cInByb3BlcnR5VG9nZ2xlckl0ZW0udmFsdWUudmFsdWVcIj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgYCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIE11bHRpcGxlUHJvcGVydHlUb2dnbGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxhYmVsOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIC8vIElucHV0IGFuIEVudW0gd2l0aCBuYW1lcyBhbmQgcHJvcGVydGllcyBhbmQgaXQgd2lsbCBiZSBjb252ZXJ0ZWRcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcHJvcGVydHlOYW1lc1RvVG9nZ2xlOiBhbnk7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyByZWFkb25seSA6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvLyBJbnB1dCB0aGUgY2dyZWZjb2RlIHN1bSBzbyBpdCBrbm93cyB3aGljaCBpdGVtcyB3aWxsIGJlIGVuYWJsZWRcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZW5hYmxlZGl0ZW1zOiBudW1iZXI7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgZW5hYmxlZGl0ZW1zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIC8vIE91dHB1dHMgdGhlIHN1bSBvZiBjZ3JlZmtleXMgb2YgYWxsIG5ld2x5IGVuYWJsZWQgaXRlbXNcclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5IG9uUHJvcGVydHlJdGVtQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLW11bHRpcGxlLXByb3BlcnR5LXRvZ2dsZXJcIilcclxuICAgIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWFkb25seSBJY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICAgIHB1YmxpYyBvYmplY3RpZmllZEVudW06IEtleVZhbHVlUGFpcltdID0gW107XHJcblxyXG4gICAgcHVibGljIGVuYWJsZWRJdGVtTnVtYmVyTGlzdDogbnVtYmVyW10gPSBbXTtcclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMucHJvcGVydHlOYW1lc1RvVG9nZ2xlKSB7XHJcbiAgICAgICAgICAgIHRoaXMub2JqZWN0aWZpZWRFbnVtID0gRW51bVV0aWxzLmNyZWF0ZU9iamVjdEZyb21FbnVtKHRoaXMucHJvcGVydHlOYW1lc1RvVG9nZ2xlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBQcm9wZXJ0eXRvZ2dsZXJJdGVtcyBpcyBlbXB0eVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm1ha2VOdW1iZXJBcnJheUZyb21DZ1JlZkNvZGVTdW0oKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNWYWx1ZUFjdGl2ZShwcm9wZXJ0eVRvQ2hlY2s6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVuYWJsZWRJdGVtTnVtYmVyTGlzdC5pbmNsdWRlcyhwcm9wZXJ0eVRvQ2hlY2sua2V5KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2xpY2tUb1RvZ2dsZVByb3BlcnR5KHRhcmdldDogYW55KTogdm9pZCB7XHJcbiAgICAgICAgbGV0IG5ld1JlZk51bWJlclN1bTogbnVtYmVyID0gMDtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlZEl0ZW1OdW1iZXJMaXN0LmluY2x1ZGVzKHRhcmdldC5rZXkpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlZEl0ZW1OdW1iZXJMaXN0LnNwbGljZSh0aGlzLmVuYWJsZWRJdGVtTnVtYmVyTGlzdC5pbmRleE9mKHRhcmdldC5rZXkpLCAxKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmVuYWJsZWRJdGVtTnVtYmVyTGlzdC5wdXNoKHRhcmdldC5rZXkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5lbmFibGVkSXRlbU51bWJlckxpc3QuZm9yRWFjaChcclxuICAgICAgICAgICAgZW5hYmxlZEl0ZW0gPT4ge1xyXG4gICAgICAgICAgICAgICAgbmV3UmVmTnVtYmVyU3VtICs9IHRoaXMub2JqZWN0aWZpZWRFbnVtLmZpbmQoeCA9PiB4LmtleSA9PT0gZW5hYmxlZEl0ZW0pLmtleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMub25Qcm9wZXJ0eUl0ZW1DaGFuZ2UuZW1pdChuZXdSZWZOdW1iZXJTdW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBtYWtlTnVtYmVyQXJyYXlGcm9tQ2dSZWZDb2RlU3VtKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZWRpdGVtcykge1xyXG4gICAgICAgICAgICB0aGlzLmVuYWJsZWRJdGVtTnVtYmVyTGlzdCA9IFJlZkNvZGVVdGlscy5HZXRNdWx0aVJlZkNvZGVDaG9pY2VzKHRoaXMuZW5hYmxlZGl0ZW1zKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,21 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { MultiplePropertyTogglerComponent } from "./multiple-property-toggler.component";
3
+ import { InputCheckboxModule } from "@colijnit/corecomponents_v12";
4
+ import { CommonModule } from "@angular/common";
5
+ export class MultiplePropertyTogglerModule {
6
+ }
7
+ MultiplePropertyTogglerModule.decorators = [
8
+ { type: NgModule, args: [{
9
+ imports: [
10
+ InputCheckboxModule,
11
+ CommonModule
12
+ ],
13
+ declarations: [
14
+ MultiplePropertyTogglerComponent
15
+ ],
16
+ exports: [
17
+ MultiplePropertyTogglerComponent
18
+ ]
19
+ },] }
20
+ ];
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtcHJvcGVydHktdG9nZ2xlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tdWx0aS1wcm9wZXJ0eS10b2dnbGVyL211bHRpcGxlLXByb3BlcnR5LXRvZ2dsZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDdkYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBYzdDLE1BQU0sT0FBTyw2QkFBNkI7OztZQVp6QyxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLG1CQUFtQjtvQkFDbkIsWUFBWTtpQkFDYjtnQkFDRCxZQUFZLEVBQUU7b0JBQ2QsZ0NBQWdDO2lCQUMvQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1QsZ0NBQWdDO2lCQUMvQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtNdWx0aXBsZVByb3BlcnR5VG9nZ2xlckNvbXBvbmVudH0gZnJvbSBcIi4vbXVsdGlwbGUtcHJvcGVydHktdG9nZ2xlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtJbnB1dENoZWNrYm94TW9kdWxlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBJbnB1dENoZWNrYm94TW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICBNdWx0aXBsZVByb3BlcnR5VG9nZ2xlckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gIE11bHRpcGxlUHJvcGVydHlUb2dnbGVyQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTXVsdGlwbGVQcm9wZXJ0eVRvZ2dsZXJNb2R1bGUge1xyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,80 @@
1
+ import { Component, ContentChild, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
2
+ import { TileSizeType } from "../../enum/tile-size-type";
3
+ import { Icon } from "../../enum/icon.enum";
4
+ import { IconCacheService } from "../../service/icon-cache.service";
5
+ /**
6
+ * A generic component that shows a collection of simple inputs (description, image, price, etc.) as a tile-shaped graphic with an image
7
+ * part (upper) and an info part (lower).
8
+ */
9
+ export class TileRenderComponent {
10
+ constructor(iconCacheService) {
11
+ this.iconCacheService = iconCacheService;
12
+ this.icons = Icon;
13
+ // Render a large or small tile.
14
+ this.tileSize = TileSizeType.Large;
15
+ // When this tile is selected, this icon will be shown green in the upper-left corner (defaults to 'check').
16
+ this.iconWhenSelected = "check";
17
+ // Emits when the image wrapper was clicked (top half of this component) .
18
+ this.imageClick = new EventEmitter();
19
+ // Emits when the info wrapper was clicked (bottom half of this component).
20
+ this.infoClick = new EventEmitter();
21
+ this.Icon = Icon;
22
+ }
23
+ get inSmallTileMode() {
24
+ return this.tileSize === TileSizeType.Small;
25
+ }
26
+ showClass() {
27
+ return true;
28
+ }
29
+ get inLargeTileMode() {
30
+ return this.tileSize === TileSizeType.Large;
31
+ }
32
+ ngOnDestroy() {
33
+ this.infoTemplate = undefined;
34
+ }
35
+ }
36
+ TileRenderComponent.decorators = [
37
+ { type: Component, args: [{
38
+ selector: "co-tile-render",
39
+ template: `
40
+ <div class="image" (click)="imageClick.emit()">
41
+ <label *ngIf="inLargeTileMode && tagDescription" [textContent]="tagDescription"></label>
42
+ <co-icon *ngIf="selected" class="selected small light circle" [iconData]="iconCacheService.getIcon(iconWhenSelected)" ></co-icon>
43
+ <co-image [source]="imageDataUri" [class.hidden]="(inSmallTileMode || hideImageDisplayWhenNoImage) && !imageDataUri"
44
+ ></co-image>
45
+
46
+
47
+
48
+ <ng-content select="[tile-render-image-content]"></ng-content>
49
+ </div>
50
+ <div class="info" (click)="infoClick.emit()">
51
+ <ng-container *ngIf="infoTemplate" [templateWrapper]="infoTemplate"></ng-container>
52
+ <span *ngIf="inLargeTileMode && label" class="label" [textContent]="label"></span>
53
+ <span *ngIf="inLargeTileMode && description" class="description" [textContent]="description"></span>
54
+ </div>
55
+ <ng-content></ng-content>
56
+ `,
57
+ encapsulation: ViewEncapsulation.None
58
+ },] }
59
+ ];
60
+ TileRenderComponent.ctorParameters = () => [
61
+ { type: IconCacheService }
62
+ ];
63
+ TileRenderComponent.propDecorators = {
64
+ infoTemplate: [{ type: ContentChild, args: ["infoTemplate", { static: true },] }],
65
+ imageDataUri: [{ type: Input }],
66
+ tagDescription: [{ type: Input }],
67
+ label: [{ type: Input }],
68
+ description: [{ type: Input }],
69
+ tileSize: [{ type: Input }],
70
+ price: [{ type: Input }],
71
+ hidePrice: [{ type: Input }],
72
+ iconWhenSelected: [{ type: Input }],
73
+ hideImageDisplayWhenNoImage: [{ type: Input }],
74
+ selected: [{ type: Input }, { type: HostBinding, args: ["class.selected",] }],
75
+ imageClick: [{ type: Output }],
76
+ infoClick: [{ type: Output }],
77
+ inSmallTileMode: [{ type: HostBinding, args: ["class.small-size",] }],
78
+ showClass: [{ type: HostBinding, args: ["class.co-tile-render",] }]
79
+ };
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1yZW5kZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvdGlsZS1yZW5kZXJlci90aWxlLXJlbmRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxFQUVOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBd0JsRTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBd0U1QixZQUFtQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXZFckMsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFxQjFDLGdDQUFnQztRQUV6QixhQUFRLEdBQWlCLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFVbkQsNEdBQTRHO1FBRXJHLHFCQUFnQixHQUFXLE9BQU8sQ0FBQztRQWMxQywwRUFBMEU7UUFFbkUsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRS9ELDJFQUEyRTtRQUVwRSxjQUFTLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFzQjdDLFNBQUksR0FBRyxJQUFJLENBQUM7SUFMN0IsQ0FBQztJQWZELElBQ1csZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNoRCxDQUFDO0lBR00sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBSUQsV0FBVztRQUNQLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO0lBQ2xDLENBQUM7OztZQXRHSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7OztLQWlCVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN4Qzs7O1lBdkJPLGdCQUFnQjs7OzJCQStCbkIsWUFBWSxTQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7MkJBSTdDLEtBQUs7NkJBSUwsS0FBSztvQkFJTCxLQUFLOzBCQUlMLEtBQUs7dUJBSUwsS0FBSztvQkFJTCxLQUFLO3dCQUlMLEtBQUs7K0JBSUwsS0FBSzswQ0FPTCxLQUFLO3VCQUlMLEtBQUssWUFDTCxXQUFXLFNBQUMsZ0JBQWdCO3lCQUk1QixNQUFNO3dCQUlOLE1BQU07OEJBR04sV0FBVyxTQUFDLGtCQUFrQjt3QkFLOUIsV0FBVyxTQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VGlsZVNpemVUeXBlfSBmcm9tIFwiLi4vLi4vZW51bS90aWxlLXNpemUtdHlwZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJjby10aWxlLXJlbmRlclwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIiAoY2xpY2spPVwiaW1hZ2VDbGljay5lbWl0KClcIj5cclxuICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwiaW5MYXJnZVRpbGVNb2RlICYmIHRhZ0Rlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cInRhZ0Rlc2NyaXB0aW9uXCI+PC9sYWJlbD5cclxuICAgICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJzZWxlY3RlZFwiIGNsYXNzPVwic2VsZWN0ZWQgc21hbGwgbGlnaHQgY2lyY2xlXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uV2hlblNlbGVjdGVkKVwiID48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDxjby1pbWFnZSBbc291cmNlXT1cImltYWdlRGF0YVVyaVwiIFtjbGFzcy5oaWRkZW5dPVwiKGluU21hbGxUaWxlTW9kZSB8fCBoaWRlSW1hZ2VEaXNwbGF5V2hlbk5vSW1hZ2UpICYmICFpbWFnZURhdGFVcmlcIlxyXG4gICAgICAgICAgICA+PC9jby1pbWFnZT5cclxuXHJcblxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RpbGUtcmVuZGVyLWltYWdlLWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvXCIgKGNsaWNrKT1cImluZm9DbGljay5lbWl0KClcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluZm9UZW1wbGF0ZVwiIFt0ZW1wbGF0ZVdyYXBwZXJdPVwiaW5mb1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaW5MYXJnZVRpbGVNb2RlICYmIGxhYmVsXCIgY2xhc3M9XCJsYWJlbFwiIFt0ZXh0Q29udGVudF09XCJsYWJlbFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpbkxhcmdlVGlsZU1vZGUgJiYgZGVzY3JpcHRpb25cIiBjbGFzcz1cImRlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cImRlc2NyaXB0aW9uXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIGAsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG4vKipcclxuICogQSBnZW5lcmljIGNvbXBvbmVudCB0aGF0IHNob3dzIGEgY29sbGVjdGlvbiBvZiBzaW1wbGUgaW5wdXRzIChkZXNjcmlwdGlvbiwgaW1hZ2UsIHByaWNlLCBldGMuKSBhcyBhIHRpbGUtc2hhcGVkIGdyYXBoaWMgd2l0aCBhbiBpbWFnZVxyXG4gKiBwYXJ0ICh1cHBlcikgYW5kIGFuIGluZm8gcGFydCAobG93ZXIpLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFRpbGVSZW5kZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZChcImluZm9UZW1wbGF0ZVwiLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gICAgcHVibGljIGluZm9UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgICAvLyBJbWFnZSBkYXRhIHRvIHNob3cgaW4gYW4gPGltYWdlLWRpc3BsYXk+IGNvbXBvbmVudC5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaW1hZ2VEYXRhVXJpOiBzdHJpbmc7XHJcblxyXG4gICAgLy8gVGFnIHRleHQgdG8gc2hvdyBpbiBhIDx0YWItbGFiZWw+IGNvbXBvbmVudC5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgdGFnRGVzY3JpcHRpb246IHN0cmluZztcclxuXHJcbiAgICAvLyBMYWJlbCB0ZXh0LCBub3QgbG9jYWxpemVkLlxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xyXG5cclxuICAgIC8vIE1haW4gZGVzY3JpcHRpb24gdGV4dC5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZztcclxuXHJcbiAgICAvLyBSZW5kZXIgYSBsYXJnZSBvciBzbWFsbCB0aWxlLlxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0aWxlU2l6ZTogVGlsZVNpemVUeXBlID0gVGlsZVNpemVUeXBlLkxhcmdlO1xyXG5cclxuICAgIC8vIFRoZSBwcmljZSBmb3IgZGlzcGxheS5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcHJpY2U6IG51bWJlcjtcclxuXHJcbiAgICAvLyBUaGUgcHJpY2UgY2FuIGJlIGhpZGRlbiBieSBzZXR0aW5nIHRoaXMgdG8gdHJ1ZS5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaGlkZVByaWNlOiBib29sZWFuO1xyXG5cclxuICAgIC8vIFdoZW4gdGhpcyB0aWxlIGlzIHNlbGVjdGVkLCB0aGlzIGljb24gd2lsbCBiZSBzaG93biBncmVlbiBpbiB0aGUgdXBwZXItbGVmdCBjb3JuZXIgKGRlZmF1bHRzIHRvICdjaGVjaycpLlxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpY29uV2hlblNlbGVjdGVkOiBzdHJpbmcgPSBcImNoZWNrXCI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBCeSBkZWZhdWx0LCB0aGlzIGNvbXBvbmVudCBzaG93cyBhIHNwZWNpYWwgaWNvbiBhbmQgbWlzc2luZy1pbWFnZSB0ZXh0IGZvciB0aGUgaW1hZ2Ugd2hlbiBpdCdzIGVtcHR5LiBTZXQgdGhpcyB0byB0cnVlXHJcbiAgICAgKiB0byBoaWRlIHRoZSB3aG9sZSBpbWFnZS1kaXNwbGF5IGluc3RlYWQsIHdoZW4gdGhlcmUgd2FzIG5vIGltYWdlIGdpdmVuLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGhpZGVJbWFnZURpc3BsYXlXaGVuTm9JbWFnZTogYm9vbGVhbjtcclxuXHJcbiAgICAvLyBTZWxlY3RlZCB0aWxlcyBoYXZlIGEgZ3JlZW4gYm9yZGVyIGFyb3VuZCB0aGVtLlxyXG4gICAgQElucHV0KClcclxuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLnNlbGVjdGVkXCIpXHJcbiAgICBwdWJsaWMgc2VsZWN0ZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgLy8gRW1pdHMgd2hlbiB0aGUgaW1hZ2Ugd3JhcHBlciB3YXMgY2xpY2tlZCAodG9wIGhhbGYgb2YgdGhpcyBjb21wb25lbnQpIC5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGltYWdlQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgLy8gRW1pdHMgd2hlbiB0aGUgaW5mbyB3cmFwcGVyIHdhcyBjbGlja2VkIChib3R0b20gaGFsZiBvZiB0aGlzIGNvbXBvbmVudCkuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBpbmZvQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3Muc21hbGwtc2l6ZVwiKVxyXG4gICAgcHVibGljIGdldCBpblNtYWxsVGlsZU1vZGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudGlsZVNpemUgPT09IFRpbGVTaXplVHlwZS5TbWFsbDtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10aWxlLXJlbmRlclwiKVxyXG4gICAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBpbkxhcmdlVGlsZU1vZGUoKTogYm9vbGVhbiB7XHJcbiAgICAgIHJldHVybiB0aGlzLnRpbGVTaXplID09PSBUaWxlU2l6ZVR5cGUuTGFyZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UpIHtcclxuICAgIH1cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaW5mb1RlbXBsYXRlID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgSWNvbiA9IEljb247XHJcbn1cclxuIl19