@wizishop/img-manager 18.2.0 → 18.2.1-beta

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 (177) hide show
  1. package/esm2022/lib/components/canva-btn/canva-btn.component.mjs +73 -0
  2. package/esm2022/lib/components/images-view/images-actions-handler.mjs +168 -0
  3. package/esm2022/lib/components/images-view/images-view.component.mjs +391 -0
  4. package/esm2022/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +70 -0
  5. package/esm2022/lib/components/images-view/mosaic-view/mosaic-view.component.mjs +73 -0
  6. package/esm2022/lib/components/images-view/table-view/table-view.component.mjs +48 -0
  7. package/esm2022/lib/components/img-editor/cropper/cropper.component.mjs +313 -0
  8. package/esm2022/lib/components/img-editor/img-editor.component.mjs +129 -0
  9. package/esm2022/lib/components/img-editor/info-section/info-section.component.mjs +58 -0
  10. package/esm2022/lib/components/img-selection/img-selection.component.mjs +58 -0
  11. package/esm2022/lib/components/img-tabs/img-tabs.component.mjs +128 -0
  12. package/esm2022/lib/components/img-upload/img-upload.component.mjs +133 -0
  13. package/esm2022/lib/components/loader/loader.component.mjs +21 -0
  14. package/esm2022/lib/components/pexels-lib/pexels-lib.component.mjs +211 -0
  15. package/esm2022/lib/components/shared/alert/alert.component.mjs +26 -0
  16. package/esm2022/lib/components/shared/checkbox/checkbox.component.mjs +56 -0
  17. package/esm2022/lib/components/shared/dropdown/dropdown.component.mjs +21 -0
  18. package/esm2022/lib/components/shared/input-search/input-search.component.mjs +53 -0
  19. package/esm2022/lib/components/shared/pagination/page-selector/page-selector.component.mjs +50 -0
  20. package/esm2022/lib/components/shared/pagination/pagination.component.mjs +49 -0
  21. package/esm2022/lib/components/shared/select/select.component.mjs +117 -0
  22. package/esm2022/lib/components/shared/table/table.component.mjs +124 -0
  23. package/esm2022/lib/components/upload-list/upload-list.component.mjs +85 -0
  24. package/esm2022/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +41 -0
  25. package/{esm2020 → esm2022}/lib/directives/abstract-debounce/debounce-keyup.directive.mjs +5 -5
  26. package/esm2022/lib/directives/auto-hide.directive.mjs +51 -0
  27. package/esm2022/lib/directives/copy-to-clipboard.directive.mjs +36 -0
  28. package/esm2022/lib/directives/drag-drop.directive.mjs +55 -0
  29. package/esm2022/lib/directives/loading.directive.mjs +43 -0
  30. package/esm2022/lib/directives/table/checkBoxRow.directive.mjs +130 -0
  31. package/esm2022/lib/directives/table/column.directive.mjs +50 -0
  32. package/esm2022/lib/directives/table/columnHeader.directive.mjs +215 -0
  33. package/esm2022/lib/directives/table/raw.directive.mjs +34 -0
  34. package/esm2022/lib/directives/zindex-toggle.directive.mjs +45 -0
  35. package/esm2022/lib/dto/canva-create-design.dto.mjs +9 -0
  36. package/esm2022/lib/dto/canva.dto.mjs +6 -0
  37. package/esm2022/lib/dto/config/apis/api.dto.mjs +11 -0
  38. package/esm2022/lib/dto/config/external/external-config.dto.mjs +5 -0
  39. package/esm2022/lib/dto/wizi-block-media.dto.mjs +7 -0
  40. package/esm2022/lib/pipes/images/img-src.pipe.mjs +29 -0
  41. package/{esm2020 → esm2022}/lib/pipes/number-to-array.pipe.mjs +4 -4
  42. package/esm2022/lib/pipes/pagination/array-total-pages/array-pages.pipe.mjs +28 -0
  43. package/esm2022/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.mjs +53 -0
  44. package/esm2022/lib/pipes/pagination/text/custom-text.pipe.mjs +36 -0
  45. package/esm2022/lib/pipes/pagination/total-pages/is-last-page.pipe.mjs +25 -0
  46. package/{esm2020 → esm2022}/lib/pipes/select/select-filters.pipe.mjs +4 -4
  47. package/esm2022/lib/services/alert.service.mjs +53 -0
  48. package/{esm2020 → esm2022}/lib/services/api.service.mjs +4 -4
  49. package/esm2022/lib/services/canva.service.mjs +165 -0
  50. package/esm2022/lib/services/config/img-cdn.service.mjs +21 -0
  51. package/esm2022/lib/services/dom.service.mjs +31 -0
  52. package/{esm2020 → esm2022}/lib/services/icon.service.mjs +4 -4
  53. package/{esm2020 → esm2022}/lib/services/image-not-found.service.mjs +4 -4
  54. package/esm2022/lib/services/img-event.service.mjs +33 -0
  55. package/esm2022/lib/services/img-manager.service.mjs +134 -0
  56. package/esm2022/lib/services/img-selection.service.mjs +75 -0
  57. package/esm2022/lib/services/pexels.service.mjs +66 -0
  58. package/esm2022/lib/services/rename-picture.service.mjs +66 -0
  59. package/esm2022/lib/services/snackbar.service.mjs +67 -0
  60. package/esm2022/lib/services/table/filters-table.service.mjs +61 -0
  61. package/esm2022/lib/services/upload.service.mjs +20 -0
  62. package/esm2022/lib/services/user-settings.service.mjs +23 -0
  63. package/esm2022/lib/wz-img-manager.component.mjs +209 -0
  64. package/{esm2020 → esm2022}/lib/wz-img-manager.module.mjs +61 -61
  65. package/{fesm2020 → fesm2022}/wizishop-img-manager.mjs +1018 -830
  66. package/fesm2022/wizishop-img-manager.mjs.map +1 -0
  67. package/lib/components/canva-btn/canva-btn.component.d.ts +1 -1
  68. package/lib/components/images-view/images-actions-handler.d.ts +2 -1
  69. package/lib/components/images-view/images-view.component.d.ts +4 -9
  70. package/lib/components/images-view/mosaic-view/img-card/img-card.component.d.ts +1 -1
  71. package/lib/components/images-view/mosaic-view/mosaic-view.component.d.ts +1 -1
  72. package/lib/components/img-editor/cropper/cropper.component.d.ts +1 -1
  73. package/lib/components/img-editor/img-editor.component.d.ts +1 -1
  74. package/lib/components/img-editor/info-section/info-section.component.d.ts +1 -1
  75. package/lib/components/img-selection/img-selection.component.d.ts +4 -5
  76. package/lib/components/img-tabs/img-tabs.component.d.ts +1 -1
  77. package/lib/components/img-upload/img-upload.component.d.ts +1 -1
  78. package/lib/components/loader/loader.component.d.ts +1 -1
  79. package/lib/components/pexels-lib/pexels-lib.component.d.ts +1 -1
  80. package/lib/components/shared/alert/alert.component.d.ts +1 -1
  81. package/lib/components/shared/checkbox/checkbox.component.d.ts +1 -1
  82. package/lib/components/shared/dropdown/dropdown.component.d.ts +1 -1
  83. package/lib/components/shared/input-search/input-search.component.d.ts +1 -1
  84. package/lib/components/shared/pagination/page-selector/page-selector.component.d.ts +1 -1
  85. package/lib/components/shared/pagination/pagination.component.d.ts +1 -1
  86. package/lib/components/shared/select/select.component.d.ts +1 -1
  87. package/lib/components/shared/table/table.component.d.ts +1 -1
  88. package/lib/components/upload-list/upload-list.component.d.ts +1 -1
  89. package/lib/directives/abstract-debounce/abstract-debounce.directive.d.ts +1 -1
  90. package/lib/directives/auto-hide.directive.d.ts +1 -1
  91. package/lib/directives/copy-to-clipboard.directive.d.ts +1 -1
  92. package/lib/directives/table/checkBoxRow.directive.d.ts +1 -1
  93. package/lib/directives/table/column.directive.d.ts +1 -1
  94. package/lib/directives/table/columnHeader.directive.d.ts +1 -1
  95. package/lib/directives/zindex-toggle.directive.d.ts +1 -1
  96. package/lib/wz-img-manager.component.d.ts +3 -3
  97. package/package.json +6 -12
  98. package/wizishop-img-manager-18.2.1-beta.tgz +0 -0
  99. package/wz-img-manager.scss +77 -60
  100. package/esm2020/lib/components/canva-btn/canva-btn.component.mjs +0 -67
  101. package/esm2020/lib/components/images-view/images-actions-handler.mjs +0 -154
  102. package/esm2020/lib/components/images-view/images-view.component.mjs +0 -369
  103. package/esm2020/lib/components/images-view/mosaic-view/img-card/img-card.component.mjs +0 -66
  104. package/esm2020/lib/components/images-view/mosaic-view/mosaic-view.component.mjs +0 -71
  105. package/esm2020/lib/components/images-view/table-view/table-view.component.mjs +0 -48
  106. package/esm2020/lib/components/img-editor/cropper/cropper.component.mjs +0 -307
  107. package/esm2020/lib/components/img-editor/img-editor.component.mjs +0 -124
  108. package/esm2020/lib/components/img-editor/info-section/info-section.component.mjs +0 -54
  109. package/esm2020/lib/components/img-selection/img-selection.component.mjs +0 -53
  110. package/esm2020/lib/components/img-tabs/img-tabs.component.mjs +0 -122
  111. package/esm2020/lib/components/img-upload/img-upload.component.mjs +0 -126
  112. package/esm2020/lib/components/loader/loader.component.mjs +0 -21
  113. package/esm2020/lib/components/pexels-lib/pexels-lib.component.mjs +0 -203
  114. package/esm2020/lib/components/shared/alert/alert.component.mjs +0 -27
  115. package/esm2020/lib/components/shared/checkbox/checkbox.component.mjs +0 -52
  116. package/esm2020/lib/components/shared/dropdown/dropdown.component.mjs +0 -21
  117. package/esm2020/lib/components/shared/input-search/input-search.component.mjs +0 -54
  118. package/esm2020/lib/components/shared/pagination/page-selector/page-selector.component.mjs +0 -49
  119. package/esm2020/lib/components/shared/pagination/pagination.component.mjs +0 -49
  120. package/esm2020/lib/components/shared/select/select.component.mjs +0 -110
  121. package/esm2020/lib/components/shared/table/table.component.mjs +0 -116
  122. package/esm2020/lib/components/upload-list/upload-list.component.mjs +0 -79
  123. package/esm2020/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +0 -37
  124. package/esm2020/lib/directives/auto-hide.directive.mjs +0 -48
  125. package/esm2020/lib/directives/copy-to-clipboard.directive.mjs +0 -37
  126. package/esm2020/lib/directives/drag-drop.directive.mjs +0 -57
  127. package/esm2020/lib/directives/loading.directive.mjs +0 -42
  128. package/esm2020/lib/directives/table/checkBoxRow.directive.mjs +0 -114
  129. package/esm2020/lib/directives/table/column.directive.mjs +0 -45
  130. package/esm2020/lib/directives/table/columnHeader.directive.mjs +0 -204
  131. package/esm2020/lib/directives/table/raw.directive.mjs +0 -31
  132. package/esm2020/lib/directives/zindex-toggle.directive.mjs +0 -42
  133. package/esm2020/lib/dto/canva-create-design.dto.mjs +0 -4
  134. package/esm2020/lib/dto/canva.dto.mjs +0 -4
  135. package/esm2020/lib/dto/config/apis/api.dto.mjs +0 -9
  136. package/esm2020/lib/dto/config/external/external-config.dto.mjs +0 -3
  137. package/esm2020/lib/dto/wizi-block-media.dto.mjs +0 -3
  138. package/esm2020/lib/pipes/images/img-src.pipe.mjs +0 -28
  139. package/esm2020/lib/pipes/pagination/array-total-pages/array-pages.pipe.mjs +0 -28
  140. package/esm2020/lib/pipes/pagination/large-number-of-page/large-number-of-page.pipe.mjs +0 -53
  141. package/esm2020/lib/pipes/pagination/text/custom-text.pipe.mjs +0 -35
  142. package/esm2020/lib/pipes/pagination/total-pages/is-last-page.pipe.mjs +0 -25
  143. package/esm2020/lib/services/alert.service.mjs +0 -50
  144. package/esm2020/lib/services/canva.service.mjs +0 -159
  145. package/esm2020/lib/services/config/img-cdn.service.mjs +0 -23
  146. package/esm2020/lib/services/dom.service.mjs +0 -33
  147. package/esm2020/lib/services/img-event.service.mjs +0 -35
  148. package/esm2020/lib/services/img-manager.service.mjs +0 -136
  149. package/esm2020/lib/services/img-selection.service.mjs +0 -76
  150. package/esm2020/lib/services/pexels.service.mjs +0 -62
  151. package/esm2020/lib/services/rename-picture.service.mjs +0 -63
  152. package/esm2020/lib/services/snackbar.service.mjs +0 -64
  153. package/esm2020/lib/services/table/filters-table.service.mjs +0 -60
  154. package/esm2020/lib/services/upload.service.mjs +0 -22
  155. package/esm2020/lib/services/user-settings.service.mjs +0 -25
  156. package/esm2020/lib/wz-img-manager.component.mjs +0 -192
  157. package/fesm2015/wizishop-img-manager.mjs +0 -4035
  158. package/fesm2015/wizishop-img-manager.mjs.map +0 -1
  159. package/fesm2020/wizishop-img-manager.mjs.map +0 -1
  160. package/wizishop-img-manager-18.2.0.tgz +0 -0
  161. /package/{esm2020 → esm2022}/lib/animations/easeInOut/ease-in-out.animation.mjs +0 -0
  162. /package/{esm2020 → esm2022}/lib/animations/insertRemove/insert-remove.animation.mjs +0 -0
  163. /package/{esm2020 → esm2022}/lib/animations/listAnnimation/list.animation.mjs +0 -0
  164. /package/{esm2020 → esm2022}/lib/components/shared/select/call-to-action.model.mjs +0 -0
  165. /package/{esm2020 → esm2022}/lib/components/shared/select/select-items.dto.mjs +0 -0
  166. /package/{esm2020 → esm2022}/lib/dto/ImgManagerDisplayConfig.dto.mjs +0 -0
  167. /package/{esm2020 → esm2022}/lib/dto/config/image-cdn/image-cdn-config.dto.mjs +0 -0
  168. /package/{esm2020 → esm2022}/lib/dto/config/img-manager.mjs +0 -0
  169. /package/{esm2020 → esm2022}/lib/dto/export-dtos.api.mjs +0 -0
  170. /package/{esm2020 → esm2022}/lib/dto/img-editor-config.dto.mjs +0 -0
  171. /package/{esm2020 → esm2022}/lib/dto/img-manager.dto.mjs +0 -0
  172. /package/{esm2020 → esm2022}/lib/dto/pexels-img.dto.mjs +0 -0
  173. /package/{esm2020 → esm2022}/lib/dto/picture-name-update.dto.mjs +0 -0
  174. /package/{esm2020 → esm2022}/lib/dto/stateDisplayed.dto.mjs +0 -0
  175. /package/{esm2020 → esm2022}/lib/dto/tabDisplayed.dto.mjs +0 -0
  176. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  177. /package/{esm2020 → esm2022}/wizishop-img-manager.mjs +0 -0
@@ -0,0 +1,51 @@
1
+ import { Directive, ElementRef, Input, Output, EventEmitter } from '@angular/core';
2
+ import { DomService } from '../services/dom.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../services/dom.service";
5
+ export class AutoHideDirective {
6
+ _elementRef;
7
+ domService;
8
+ triggerElement;
9
+ forceOn = null;
10
+ constructor(_elementRef, domService) {
11
+ this._elementRef = _elementRef;
12
+ this.domService = domService;
13
+ }
14
+ clickOutside = new EventEmitter();
15
+ ngAfterViewInit() {
16
+ this.domService.documentEvent().subscribe((targetElement) => {
17
+ const clickedInside = this._elementRef.nativeElement.contains(targetElement);
18
+ const classNameFromElement = targetElement.getAttribute('class');
19
+ if (!clickedInside && (classNameFromElement === null || !classNameFromElement.includes(this.triggerElement))) {
20
+ this.clickOutside.emit(null);
21
+ }
22
+ if (this.forceOn != null && classNameFromElement !== null) {
23
+ let needToClose = true;
24
+ this.forceOn.forEach(v => {
25
+ if (!classNameFromElement.includes(v)) {
26
+ needToClose = false;
27
+ }
28
+ });
29
+ if (needToClose) {
30
+ this.clickOutside.emit(null);
31
+ }
32
+ }
33
+ });
34
+ }
35
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AutoHideDirective, deps: [{ token: i0.ElementRef }, { token: i1.DomService }], target: i0.ɵɵFactoryTarget.Directive });
36
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: AutoHideDirective, selector: "[wzAutoHide]", inputs: { triggerElement: "triggerElement", forceOn: "forceOn" }, outputs: { clickOutside: "clickOutside" }, ngImport: i0 });
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: AutoHideDirective, decorators: [{
39
+ type: Directive,
40
+ args: [{
41
+ selector: '[wzAutoHide]'
42
+ }]
43
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DomService }], propDecorators: { triggerElement: [{
44
+ type: Input
45
+ }], forceOn: [{
46
+ type: Input
47
+ }], clickOutside: [{
48
+ type: Output,
49
+ args: ['clickOutside']
50
+ }] } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1oaWRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvZGlyZWN0aXZlcy9hdXRvLWhpZGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUtyRCxNQUFNLE9BQU8saUJBQWlCO0lBSVI7SUFBaUM7SUFINUMsY0FBYyxDQUFTO0lBQ3ZCLE9BQU8sR0FBa0IsSUFBSSxDQUFDO0lBRXZDLFlBQW9CLFdBQXVCLEVBQVUsVUFBc0I7UUFBdkQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQUV2RCxZQUFZLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFN0UsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBc0IsRUFBRSxFQUFFO1lBQ25FLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3RSxNQUFNLG9CQUFvQixHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFakUsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLG9CQUFvQixLQUFLLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM3RyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksSUFBSSxvQkFBb0IsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDMUQsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDdkIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUN0QyxXQUFXLEdBQUcsS0FBSyxDQUFDO29CQUN0QixDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksV0FBVyxFQUFFLENBQUM7b0JBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMvQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0E3QlUsaUJBQWlCOzJGQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCO3dHQUVVLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUlrQixZQUFZO3NCQUFuQyxNQUFNO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2RvbS5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3d6QXV0b0hpZGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBBdXRvSGlkZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSB0cmlnZ2VyRWxlbWVudDogc3RyaW5nO1xuICBASW5wdXQoKSBmb3JjZU9uOiBBcnJheTxzdHJpbmc+ID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGRvbVNlcnZpY2U6IERvbVNlcnZpY2UpIHt9XG5cbiAgQE91dHB1dCgnY2xpY2tPdXRzaWRlJykgY2xpY2tPdXRzaWRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kb21TZXJ2aWNlLmRvY3VtZW50RXZlbnQoKS5zdWJzY3JpYmUoKHRhcmdldEVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCk7XG4gICAgICBjb25zdCBjbGFzc05hbWVGcm9tRWxlbWVudCA9IHRhcmdldEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdjbGFzcycpO1xuXG4gICAgICBpZiAoIWNsaWNrZWRJbnNpZGUgJiYgKGNsYXNzTmFtZUZyb21FbGVtZW50ID09PSBudWxsIHx8ICFjbGFzc05hbWVGcm9tRWxlbWVudC5pbmNsdWRlcyh0aGlzLnRyaWdnZXJFbGVtZW50KSkpIHtcbiAgICAgICAgdGhpcy5jbGlja091dHNpZGUuZW1pdChudWxsKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuZm9yY2VPbiAhPSBudWxsICYmIGNsYXNzTmFtZUZyb21FbGVtZW50ICE9PSBudWxsKSB7XG4gICAgICAgIGxldCBuZWVkVG9DbG9zZSA9IHRydWU7XG4gICAgICAgIHRoaXMuZm9yY2VPbi5mb3JFYWNoKHYgPT4ge1xuICAgICAgICAgIGlmICghY2xhc3NOYW1lRnJvbUVsZW1lbnQuaW5jbHVkZXModikpIHtcbiAgICAgICAgICAgIG5lZWRUb0Nsb3NlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKG5lZWRUb0Nsb3NlKSB7XG4gICAgICAgICAgdGhpcy5jbGlja091dHNpZGUuZW1pdChudWxsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,36 @@
1
+ import { Directive, Input, Output, EventEmitter, HostListener } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class CopyClipboardDirective {
4
+ payload;
5
+ copied = new EventEmitter();
6
+ onClick(event) {
7
+ event.preventDefault();
8
+ if (!this.payload)
9
+ return;
10
+ let listener = (e) => {
11
+ let clipboard = e.clipboardData || window["clipboardData"];
12
+ clipboard.setData("text", this.payload.toString());
13
+ e.preventDefault();
14
+ this.copied.emit(this.payload);
15
+ };
16
+ document.addEventListener("copy", listener, false);
17
+ document.execCommand("copy");
18
+ document.removeEventListener("copy", listener, false);
19
+ }
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CopyClipboardDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
21
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: CopyClipboardDirective, selector: "[copy-clipboard]", inputs: { payload: ["copy-clipboard", "payload"] }, outputs: { copied: "copied" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 });
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CopyClipboardDirective, decorators: [{
24
+ type: Directive,
25
+ args: [{ selector: '[copy-clipboard]' }]
26
+ }], propDecorators: { payload: [{
27
+ type: Input,
28
+ args: ["copy-clipboard"]
29
+ }], copied: [{
30
+ type: Output,
31
+ args: ["copied"]
32
+ }], onClick: [{
33
+ type: HostListener,
34
+ args: ["click", ["$event"]]
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS10by1jbGlwYm9hcmQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9kaXJlY3RpdmVzL2NvcHktdG8tY2xpcGJvYXJkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHckYsTUFBTSxPQUFPLHNCQUFzQjtJQUcxQixPQUFPLENBQVM7SUFHaEIsTUFBTSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBRzFELE9BQU8sQ0FBQyxLQUFpQjtRQUU5QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQ2YsT0FBTztRQUVULElBQUksUUFBUSxHQUFHLENBQUMsQ0FBaUIsRUFBRSxFQUFFO1lBQ25DLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQyxhQUFhLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzNELFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNuRCxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFFbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQztRQUVGLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ2xELFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQzt1R0ExQlUsc0JBQXNCOzJGQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBRGxDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUU7OEJBSWxDLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBSWhCLE1BQU07c0JBRFosTUFBTTt1QkFBQyxRQUFRO2dCQUlULE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2NvcHktY2xpcGJvYXJkXScgfSlcbmV4cG9ydCBjbGFzcyBDb3B5Q2xpcGJvYXJkRGlyZWN0aXZlIHtcblxuICBASW5wdXQoXCJjb3B5LWNsaXBib2FyZFwiKVxuICBwdWJsaWMgcGF5bG9hZDogc3RyaW5nO1xuXG4gIEBPdXRwdXQoXCJjb3BpZWRcIilcbiAgcHVibGljIGNvcGllZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBASG9zdExpc3RlbmVyKFwiY2xpY2tcIiwgW1wiJGV2ZW50XCJdKVxuICBwdWJsaWMgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoIXRoaXMucGF5bG9hZClcbiAgICAgIHJldHVybjtcblxuICAgIGxldCBsaXN0ZW5lciA9IChlOiBDbGlwYm9hcmRFdmVudCkgPT4ge1xuICAgICAgbGV0IGNsaXBib2FyZCA9IGUuY2xpcGJvYXJkRGF0YSB8fCB3aW5kb3dbXCJjbGlwYm9hcmREYXRhXCJdO1xuICAgICAgY2xpcGJvYXJkLnNldERhdGEoXCJ0ZXh0XCIsIHRoaXMucGF5bG9hZC50b1N0cmluZygpKTtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgdGhpcy5jb3BpZWQuZW1pdCh0aGlzLnBheWxvYWQpO1xuICAgIH07XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiY29weVwiLCBsaXN0ZW5lciwgZmFsc2UpXG4gICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoXCJjb3B5XCIpO1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjb3B5XCIsIGxpc3RlbmVyLCBmYWxzZSk7XG4gIH1cbn0iXX0=
@@ -0,0 +1,55 @@
1
+ import { Directive, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DragDropDirective {
4
+ onFileDropped = new EventEmitter();
5
+ background = '#fff';
6
+ opacity = '1';
7
+ onDragOver(evt) {
8
+ evt.preventDefault();
9
+ evt.stopPropagation();
10
+ this.background = '#f5f5f5';
11
+ this.opacity = '0.8';
12
+ }
13
+ onDragLeave(evt) {
14
+ evt.preventDefault();
15
+ evt.stopPropagation();
16
+ this.background = '#fff';
17
+ this.opacity = '1';
18
+ }
19
+ ondrop(evt) {
20
+ evt.preventDefault();
21
+ evt.stopPropagation();
22
+ this.background = '#f5f5f5';
23
+ this.opacity = '1';
24
+ const files = evt.dataTransfer.files;
25
+ if (files.length > 0) {
26
+ this.onFileDropped.emit(files);
27
+ }
28
+ }
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DragDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
30
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: DragDropDirective, selector: "[appDragDrop]", outputs: { onFileDropped: "onFileDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "ondrop($event)" }, properties: { "style.background-color": "this.background", "style.opacity": "this.opacity" } }, ngImport: i0 });
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DragDropDirective, decorators: [{
33
+ type: Directive,
34
+ args: [{
35
+ selector: '[appDragDrop]'
36
+ }]
37
+ }], propDecorators: { onFileDropped: [{
38
+ type: Output
39
+ }], background: [{
40
+ type: HostBinding,
41
+ args: ['style.background-color']
42
+ }], opacity: [{
43
+ type: HostBinding,
44
+ args: ['style.opacity']
45
+ }], onDragOver: [{
46
+ type: HostListener,
47
+ args: ['dragover', ['$event']]
48
+ }], onDragLeave: [{
49
+ type: HostListener,
50
+ args: ['dragleave', ['$event']]
51
+ }], ondrop: [{
52
+ type: HostListener,
53
+ args: ['drop', ['$event']]
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvZGlyZWN0aXZlcy9kcmFnLWRyb3AuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszRixNQUFNLE9BQU8saUJBQWlCO0lBRWxCLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO0lBRWIsVUFBVSxHQUFHLE1BQU0sQ0FBQTtJQUM1QixPQUFPLEdBQUcsR0FBRyxDQUFBO0lBRUwsVUFBVSxDQUFDLEdBQVE7UUFDdkQsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3JCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRTZDLFdBQVcsQ0FBQyxHQUFRO1FBQ2hFLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNyQixHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7SUFDckIsQ0FBQztJQUV3QyxNQUFNLENBQUMsR0FBUTtRQUN0RCxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDckIsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFBO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFBO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ3JDLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQzt1R0E5QlUsaUJBQWlCOzJGQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7aUJBQzFCOzhCQUdXLGFBQWE7c0JBQXRCLE1BQU07Z0JBRWdDLFVBQVU7c0JBQWhELFdBQVc7dUJBQUMsd0JBQXdCO2dCQUNQLE9BQU87c0JBQXBDLFdBQVc7dUJBQUMsZUFBZTtnQkFFVSxVQUFVO3NCQUEvQyxZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPVSxXQUFXO3NCQUF4RCxZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPSSxNQUFNO3NCQUE5QyxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FwcERyYWdEcm9wXSdcbn0pXG5leHBvcnQgY2xhc3MgRHJhZ0Ryb3BEaXJlY3RpdmUge1xuXG4gIEBPdXRwdXQoKSBvbkZpbGVEcm9wcGVkID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmJhY2tncm91bmQtY29sb3InKSBiYWNrZ3JvdW5kID0gJyNmZmYnXG4gIEBIb3N0QmluZGluZygnc3R5bGUub3BhY2l0eScpIG9wYWNpdHkgPSAnMSdcblxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pIG9uRHJhZ092ZXIoZXZ0OiBhbnkpIHtcbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5iYWNrZ3JvdW5kID0gJyNmNWY1ZjUnO1xuICAgIHRoaXMub3BhY2l0eSA9ICcwLjgnO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSkgcHVibGljIG9uRHJhZ0xlYXZlKGV2dDogYW55KSB7XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuYmFja2dyb3VuZCA9ICcjZmZmJztcbiAgICB0aGlzLm9wYWNpdHkgPSAnMSc7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSkgcHVibGljIG9uZHJvcChldnQ6IGFueSkge1xuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmJhY2tncm91bmQgPSAnI2Y1ZjVmNSdcbiAgICB0aGlzLm9wYWNpdHkgPSAnMSdcbiAgICBjb25zdCBmaWxlcyA9IGV2dC5kYXRhVHJhbnNmZXIuZmlsZXM7XG4gICAgaWYgKGZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMub25GaWxlRHJvcHBlZC5lbWl0KGZpbGVzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { Directive, ElementRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LoadingDirective {
4
+ element;
5
+ currentLoading = 0;
6
+ interval = null;
7
+ constructor(el) {
8
+ this.element = el;
9
+ this.launchLoading();
10
+ }
11
+ launchLoading() {
12
+ if (this.interval !== null) {
13
+ return;
14
+ }
15
+ this.currentLoading = 10;
16
+ this.element.nativeElement.style.width = this.currentLoading + '%';
17
+ this.interval = setInterval(() => {
18
+ if (this.currentLoading < 80) {
19
+ this.currentLoading += Math.floor(Math.random() * 15);
20
+ this.element.nativeElement.style.width = this.currentLoading + '%';
21
+ }
22
+ if (this.currentLoading >= 80 && this.currentLoading < 95) {
23
+ this.currentLoading += Math.floor(Math.random() * 2);
24
+ this.element.nativeElement.style.width = this.currentLoading + '%';
25
+ }
26
+ }, 70);
27
+ }
28
+ ngOnDestroy() {
29
+ if (this.interval) {
30
+ clearInterval(this.interval);
31
+ this.interval = null;
32
+ }
33
+ }
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LoadingDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
35
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: LoadingDirective, selector: "[btnLoadingAnim]", ngImport: i0 });
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LoadingDirective, decorators: [{
38
+ type: Directive,
39
+ args: [{
40
+ selector: '[btnLoadingAnim]'
41
+ }]
42
+ }], ctorParameters: () => [{ type: i0.ElementRef }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ei1pbWctbWFuYWdlci9zcmMvbGliL2RpcmVjdGl2ZXMvbG9hZGluZy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3RELE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsT0FBTyxDQUFhO0lBQ3BCLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFDbkIsUUFBUSxHQUFHLElBQUksQ0FBQztJQUVoQixZQUFZLEVBQWM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzNCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQztRQUVuRSxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsSUFBSSxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxDQUFDO1lBQ3JFLENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxFQUFFLENBQUM7Z0JBQzFELElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUM7WUFDckUsQ0FBQztRQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQzt1R0FwQ1UsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBSDVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2J0bkxvYWRpbmdBbmltXSdcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGluZ0RpcmVjdGl2ZSB7XG5cbiAgZWxlbWVudDogRWxlbWVudFJlZjtcbiAgY3VycmVudExvYWRpbmcgPSAwO1xuICBpbnRlcnZhbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoZWw6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLmVsZW1lbnQgPSBlbDtcbiAgICB0aGlzLmxhdW5jaExvYWRpbmcoKTtcbiAgfVxuXG4gIGxhdW5jaExvYWRpbmcoKSB7XG4gICAgaWYgKHRoaXMuaW50ZXJ2YWwgIT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50TG9hZGluZyA9IDEwO1xuXG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSB0aGlzLmN1cnJlbnRMb2FkaW5nICsgJyUnO1xuXG4gICAgdGhpcy5pbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRMb2FkaW5nIDwgODApIHtcbiAgICAgICAgdGhpcy5jdXJyZW50TG9hZGluZyArPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxNSk7XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy5jdXJyZW50TG9hZGluZyArICclJztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmN1cnJlbnRMb2FkaW5nID49IDgwICYmIHRoaXMuY3VycmVudExvYWRpbmcgPCA5NSkge1xuICAgICAgICB0aGlzLmN1cnJlbnRMb2FkaW5nICs9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDIpO1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMuY3VycmVudExvYWRpbmcgKyAnJSc7XG4gICAgICB9XG4gICAgfSwgNzApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuaW50ZXJ2YWwpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk7XG4gICAgICB0aGlzLmludGVydmFsID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,130 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { ComponentFactoryResolver, EventEmitter, Inject, Output, Renderer2, Directive, ElementRef, Input, ApplicationRef, Injector } from '@angular/core';
3
+ import { v4 as uuid } from 'uuid';
4
+ import { CheckboxComponent } from '../../components/shared/checkbox/checkbox.component';
5
+ import * as i0 from "@angular/core";
6
+ export class CheckBoxRow {
7
+ currentRow;
8
+ appRef;
9
+ renderer;
10
+ document;
11
+ resolver;
12
+ injector;
13
+ checkBoxId;
14
+ checkBoxName;
15
+ set checkBoxValue(value) {
16
+ this._value = value;
17
+ if (this.checkboxComponentRef) {
18
+ this.setCheckBoxValue();
19
+ }
20
+ }
21
+ _value;
22
+ get checkBoxValue() {
23
+ return this._value;
24
+ }
25
+ checkBoxValueChange = new EventEmitter();
26
+ checkboxComponentRef;
27
+ htmlContainer;
28
+ constructor(currentRow, appRef, renderer, document, resolver, injector) {
29
+ this.currentRow = currentRow;
30
+ this.appRef = appRef;
31
+ this.renderer = renderer;
32
+ this.document = document;
33
+ this.resolver = resolver;
34
+ this.injector = injector;
35
+ }
36
+ ngOnInit() {
37
+ this.createCheckBoxComponent();
38
+ this.handleChecboxInputs();
39
+ this.handleCheckboxOutputs();
40
+ }
41
+ createCheckBoxComponent() {
42
+ // Create the container
43
+ const checkBoxContainer = document.createElement('div');
44
+ checkBoxContainer.className = 'wz-table__body__line__cell wz-table__body__line__cell--checkbox';
45
+ // Insert divCheckBox in the DOM as the first child of the row
46
+ this.renderer.insertBefore(this.currentRow.nativeElement, checkBoxContainer, this.currentRow.nativeElement.firstChild);
47
+ // Insert the CheckBoxComponent inside the container (DOM and Angular DOM)
48
+ this.htmlContainer = new HtmlContainer(checkBoxContainer, this.appRef, this.resolver, this.injector);
49
+ this.checkboxComponentRef = this.htmlContainer.attach(CheckboxComponent);
50
+ }
51
+ handleChecboxInputs() {
52
+ this.checkboxComponentRef.instance.id = this.checkBoxId ? this.checkBoxId : uuid();
53
+ this.checkboxComponentRef.instance.name = this.checkBoxName ? this.checkBoxName : undefined;
54
+ this.checkboxComponentRef.instance.alone = true;
55
+ this.setCheckBoxValue();
56
+ }
57
+ setCheckBoxValue() {
58
+ this.checkboxComponentRef.instance.value = this.checkBoxValue;
59
+ }
60
+ handleCheckboxOutputs() {
61
+ // Detect checkbox changes
62
+ this.checkboxComponentRef.instance.registerOnChange(() => {
63
+ this._toggleCheckbox();
64
+ });
65
+ }
66
+ _toggleCheckbox() {
67
+ this.checkBoxValue = !this.checkBoxValue;
68
+ this.checkBoxValueChange.emit(this.checkBoxValue);
69
+ }
70
+ ngOnDestroy() {
71
+ this.htmlContainer.dispose();
72
+ }
73
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CheckBoxRow, deps: [{ token: i0.ElementRef }, { token: i0.ApplicationRef }, { token: i0.Renderer2 }, { token: DOCUMENT }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
74
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: CheckBoxRow, selector: "[checkBoxRow]", inputs: { checkBoxId: "checkBoxId", checkBoxName: "checkBoxName", checkBoxValue: "checkBoxValue" }, outputs: { checkBoxValueChange: "checkBoxValueChange" }, ngImport: i0 });
75
+ }
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CheckBoxRow, decorators: [{
77
+ type: Directive,
78
+ args: [{
79
+ selector: '[checkBoxRow]'
80
+ }]
81
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ApplicationRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
82
+ type: Inject,
83
+ args: [DOCUMENT]
84
+ }] }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }], propDecorators: { checkBoxId: [{
85
+ type: Input,
86
+ args: ['checkBoxId']
87
+ }], checkBoxName: [{
88
+ type: Input,
89
+ args: ['checkBoxName']
90
+ }], checkBoxValue: [{
91
+ type: Input,
92
+ args: ['checkBoxValue']
93
+ }], checkBoxValueChange: [{
94
+ type: Output
95
+ }] } });
96
+ export class HtmlContainer {
97
+ hostElement;
98
+ appRef;
99
+ componentFactoryResolver;
100
+ injector;
101
+ attached = false;
102
+ disposeFn;
103
+ constructor(hostElement, appRef, componentFactoryResolver, injector) {
104
+ this.hostElement = hostElement;
105
+ this.appRef = appRef;
106
+ this.componentFactoryResolver = componentFactoryResolver;
107
+ this.injector = injector;
108
+ }
109
+ attach(component) {
110
+ if (this.attached) {
111
+ throw new Error('component has already been attached');
112
+ }
113
+ this.attached = true;
114
+ const childComponentFactory = this.componentFactoryResolver.resolveComponentFactory(component);
115
+ let componentRef = childComponentFactory.create(this.injector);
116
+ this.appRef.attachView(componentRef.hostView);
117
+ this.disposeFn = () => {
118
+ this.appRef.detachView(componentRef.hostView);
119
+ componentRef.destroy();
120
+ };
121
+ this.hostElement.appendChild(componentRef.hostView.rootNodes[0]);
122
+ return componentRef;
123
+ }
124
+ dispose() {
125
+ if (this.attached) {
126
+ this.disposeFn();
127
+ }
128
+ }
129
+ }
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tCb3hSb3cuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd3otaW1nLW1hbmFnZXIvc3JjL2xpYi9kaXJlY3RpdmVzL3RhYmxlL2NoZWNrQm94Um93LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixZQUFZLEVBQ1osTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsY0FBYyxFQUVkLFFBQVEsRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQzs7QUFLeEYsTUFBTSxPQUFPLFdBQVc7SUFxQlo7SUFDQTtJQUNBO0lBQ2tCO0lBQ2xCO0lBQ0E7SUF6QlcsVUFBVSxDQUFrQjtJQUMxQixZQUFZLENBQVM7SUFFNUMsSUFBNEIsYUFBYSxDQUFDLEtBQWM7UUFDdEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sQ0FBVTtJQUNoQixJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVTLG1CQUFtQixHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRWxFLG9CQUFvQixDQUFrQztJQUN0RCxhQUFhLENBQWdCO0lBRXJDLFlBQ1UsVUFBc0IsRUFDdEIsTUFBc0IsRUFDdEIsUUFBbUIsRUFDRCxRQUFRLEVBQzFCLFFBQWtDLEVBQ2xDLFFBQWtCO1FBTGxCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNELGFBQVEsR0FBUixRQUFRLENBQUE7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUN6QixDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsdUJBQXVCO1FBQ3ZCLE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxpQkFBaUIsQ0FBQyxTQUFTLEdBQUcsaUVBQWlFLENBQUM7UUFFaEcsOERBQThEO1FBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZILDBFQUEwRTtRQUMxRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksYUFBYSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckcsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuRixJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDNUYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2hELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNoRSxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLDBCQUEwQjtRQUMxQixJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRTtZQUN2RCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN6QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0IsQ0FBQzt1R0F6RVUsV0FBVyxtR0F3QlosUUFBUTsyRkF4QlAsV0FBVzs7MkZBQVgsV0FBVztrQkFIdkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtpQkFDMUI7OzBCQXlCSSxNQUFNOzJCQUFDLFFBQVE7dUdBdkJHLFVBQVU7c0JBQTlCLEtBQUs7dUJBQUMsWUFBWTtnQkFDSSxZQUFZO3NCQUFsQyxLQUFLO3VCQUFDLGNBQWM7Z0JBRU8sYUFBYTtzQkFBeEMsS0FBSzt1QkFBQyxlQUFlO2dCQVdaLG1CQUFtQjtzQkFBNUIsTUFBTTs7QUE2RFQsTUFBTSxPQUFPLGFBQWE7SUFNZDtJQUNBO0lBQ0E7SUFDQTtJQVJGLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFMUIsU0FBUyxDQUFhO0lBRTlCLFlBQ1UsV0FBb0IsRUFDcEIsTUFBc0IsRUFDdEIsd0JBQWtELEVBQ2xELFFBQWtCO1FBSGxCLGdCQUFXLEdBQVgsV0FBVyxDQUFTO1FBQ3BCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUN6QixDQUFDO0lBRUosTUFBTSxDQUFDLFNBQW9CO1FBQ3pCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFL0YsSUFBSSxZQUFZLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUvRCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBRSxZQUFZLENBQUMsUUFBaUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUzRixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIENvbXBvbmVudFJlZixcbiAgQXBwbGljYXRpb25SZWYsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgSW5qZWN0b3IsXG4gIFR5cGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zaGFyZWQvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NoZWNrQm94Um93XSdcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tCb3hSb3cge1xuICBASW5wdXQoJ2NoZWNrQm94SWQnKSBjaGVja0JveElkOiBzdHJpbmcgfCBudW1iZXI7XG4gIEBJbnB1dCgnY2hlY2tCb3hOYW1lJykgY2hlY2tCb3hOYW1lOiBzdHJpbmc7XG5cbiAgQElucHV0KCdjaGVja0JveFZhbHVlJykgc2V0IGNoZWNrQm94VmFsdWUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmNoZWNrYm94Q29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLnNldENoZWNrQm94VmFsdWUoKTtcbiAgICB9XG4gIH1cbiAgX3ZhbHVlOiBib29sZWFuO1xuICBnZXQgY2hlY2tCb3hWYWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBAT3V0cHV0KCkgY2hlY2tCb3hWYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgY2hlY2tib3hDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxDaGVja2JveENvbXBvbmVudD47XG4gIHByaXZhdGUgaHRtbENvbnRhaW5lcjogSHRtbENvbnRhaW5lcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGN1cnJlbnRSb3c6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50LFxuICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jcmVhdGVDaGVja0JveENvbXBvbmVudCgpO1xuICAgIHRoaXMuaGFuZGxlQ2hlY2JveElucHV0cygpO1xuICAgIHRoaXMuaGFuZGxlQ2hlY2tib3hPdXRwdXRzKCk7XG4gIH1cblxuICBjcmVhdGVDaGVja0JveENvbXBvbmVudCgpIHtcbiAgICAvLyBDcmVhdGUgdGhlIGNvbnRhaW5lclxuICAgIGNvbnN0IGNoZWNrQm94Q29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgY2hlY2tCb3hDb250YWluZXIuY2xhc3NOYW1lID0gJ3d6LXRhYmxlX19ib2R5X19saW5lX19jZWxsIHd6LXRhYmxlX19ib2R5X19saW5lX19jZWxsLS1jaGVja2JveCc7XG5cbiAgICAvLyBJbnNlcnQgZGl2Q2hlY2tCb3ggaW4gdGhlIERPTSBhcyB0aGUgZmlyc3QgY2hpbGQgb2YgdGhlIHJvd1xuICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHRoaXMuY3VycmVudFJvdy5uYXRpdmVFbGVtZW50LCBjaGVja0JveENvbnRhaW5lciwgdGhpcy5jdXJyZW50Um93Lm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCk7XG5cbiAgICAvLyBJbnNlcnQgdGhlIENoZWNrQm94Q29tcG9uZW50IGluc2lkZSB0aGUgY29udGFpbmVyIChET00gYW5kIEFuZ3VsYXIgRE9NKVxuICAgIHRoaXMuaHRtbENvbnRhaW5lciA9IG5ldyBIdG1sQ29udGFpbmVyKGNoZWNrQm94Q29udGFpbmVyLCB0aGlzLmFwcFJlZiwgdGhpcy5yZXNvbHZlciwgdGhpcy5pbmplY3Rvcik7XG4gICAgdGhpcy5jaGVja2JveENvbXBvbmVudFJlZiA9IHRoaXMuaHRtbENvbnRhaW5lci5hdHRhY2goQ2hlY2tib3hDb21wb25lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDaGVjYm94SW5wdXRzKCkge1xuICAgIHRoaXMuY2hlY2tib3hDb21wb25lbnRSZWYuaW5zdGFuY2UuaWQgPSB0aGlzLmNoZWNrQm94SWQgPyB0aGlzLmNoZWNrQm94SWQgOiB1dWlkKCk7XG4gICAgdGhpcy5jaGVja2JveENvbXBvbmVudFJlZi5pbnN0YW5jZS5uYW1lID0gdGhpcy5jaGVja0JveE5hbWUgPyB0aGlzLmNoZWNrQm94TmFtZSA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLmNoZWNrYm94Q29tcG9uZW50UmVmLmluc3RhbmNlLmFsb25lID0gdHJ1ZTtcbiAgICB0aGlzLnNldENoZWNrQm94VmFsdWUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q2hlY2tCb3hWYWx1ZSgpIHtcbiAgICB0aGlzLmNoZWNrYm94Q29tcG9uZW50UmVmLmluc3RhbmNlLnZhbHVlID0gdGhpcy5jaGVja0JveFZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDaGVja2JveE91dHB1dHMoKSB7XG4gICAgLy8gRGV0ZWN0IGNoZWNrYm94IGNoYW5nZXNcbiAgICB0aGlzLmNoZWNrYm94Q29tcG9uZW50UmVmLmluc3RhbmNlLnJlZ2lzdGVyT25DaGFuZ2UoKCkgPT4ge1xuICAgICAgdGhpcy5fdG9nZ2xlQ2hlY2tib3goKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3RvZ2dsZUNoZWNrYm94KCkge1xuICAgIHRoaXMuY2hlY2tCb3hWYWx1ZSA9ICF0aGlzLmNoZWNrQm94VmFsdWU7XG4gICAgdGhpcy5jaGVja0JveFZhbHVlQ2hhbmdlLmVtaXQodGhpcy5jaGVja0JveFZhbHVlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuaHRtbENvbnRhaW5lci5kaXNwb3NlKCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEh0bWxDb250YWluZXIge1xuICBwcml2YXRlIGF0dGFjaGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBkaXNwb3NlRm46ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudCxcbiAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICApIHt9XG5cbiAgYXR0YWNoKGNvbXBvbmVudDogVHlwZTxhbnk+KTogQ29tcG9uZW50UmVmPGFueT4ge1xuICAgIGlmICh0aGlzLmF0dGFjaGVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NvbXBvbmVudCBoYXMgYWxyZWFkeSBiZWVuIGF0dGFjaGVkJyk7XG4gICAgfVxuXG4gICAgdGhpcy5hdHRhY2hlZCA9IHRydWU7XG4gICAgY29uc3QgY2hpbGRDb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KTtcblxuICAgIGxldCBjb21wb25lbnRSZWYgPSBjaGlsZENvbXBvbmVudEZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xuXG4gICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIHRoaXMuZGlzcG9zZUZuID0gKCkgPT4ge1xuICAgICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICB9O1xuXG4gICAgdGhpcy5ob3N0RWxlbWVudC5hcHBlbmRDaGlsZCgoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0pO1xuXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgfVxuXG4gIGRpc3Bvc2UoKSB7XG4gICAgaWYgKHRoaXMuYXR0YWNoZWQpIHtcbiAgICAgIHRoaXMuZGlzcG9zZUZuKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Inject } from '@angular/core';
3
+ import { Renderer2 } from '@angular/core';
4
+ import { Directive, ElementRef, Input } from '@angular/core';
5
+ import * as i0 from "@angular/core";
6
+ export class TableColumn {
7
+ currentCell;
8
+ renderer;
9
+ document;
10
+ columnSize; // Optional.
11
+ centerCell; // Optional. left|center|right
12
+ centerCellValue = ['left', 'center', 'right'];
13
+ constructor(currentCell, renderer, document) {
14
+ this.currentCell = currentCell;
15
+ this.renderer = renderer;
16
+ this.document = document;
17
+ }
18
+ ngAfterViewInit() {
19
+ this.applyCustomStylesOnCell();
20
+ }
21
+ applyCustomStylesOnCell() {
22
+ this.currentCell.nativeElement.style.flexGrow = typeof this.columnSize !== 'undefined' ? this.columnSize : '1';
23
+ this.renderer.addClass(this.currentCell.nativeElement, 'wz-table__body__line__cell');
24
+ if (this.centerCell) {
25
+ if (this.centerCellValue.indexOf(this.centerCell) === -1) {
26
+ throw 'Error : The centerCell directive has no matched value. The value must be one of the following : left, center, right.';
27
+ }
28
+ let className = 'wz-table__body__line__cell--center' + '--' + this.centerCell;
29
+ this.renderer.addClass(this.currentCell.nativeElement, className);
30
+ }
31
+ }
32
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TableColumn, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
33
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: TableColumn, selector: "[tableColumn]", inputs: { columnSize: "columnSize", centerCell: "centerCell" }, ngImport: i0 });
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TableColumn, decorators: [{
36
+ type: Directive,
37
+ args: [{
38
+ selector: '[tableColumn]'
39
+ }]
40
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
41
+ type: Inject,
42
+ args: [DOCUMENT]
43
+ }] }], propDecorators: { columnSize: [{
44
+ type: Input,
45
+ args: ['columnSize']
46
+ }], centerCell: [{
47
+ type: Input,
48
+ args: ['centerCell']
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3d6LWltZy1tYW5hZ2VyL3NyYy9saWIvZGlyZWN0aXZlcy90YWJsZS9jb2x1bW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUs3RCxNQUFNLE9BQU8sV0FBVztJQU1GO0lBQWlDO0lBQStDO0lBTC9FLFVBQVUsQ0FBUyxDQUFDLFlBQVk7SUFDaEMsVUFBVSxDQUFTLENBQUMsOEJBQThCO0lBRS9ELGVBQWUsR0FBYSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFaEUsWUFBb0IsV0FBdUIsRUFBVSxRQUFtQixFQUE0QixRQUFRO1FBQXhGLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUE0QixhQUFRLEdBQVIsUUFBUSxDQUFBO0lBQUcsQ0FBQztJQUVoSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUMvRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1FBRXJGLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pELE1BQU0sc0hBQXNILENBQUM7WUFDL0gsQ0FBQztZQUVELElBQUksU0FBUyxHQUFHLG9DQUFvQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQzlFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7SUFDSCxDQUFDO3VHQXhCVSxXQUFXLHFFQU00RCxRQUFROzJGQU4vRSxXQUFXOzsyRkFBWCxXQUFXO2tCQUh2QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjs7MEJBTzRFLE1BQU07MkJBQUMsUUFBUTt5Q0FMckUsVUFBVTtzQkFBOUIsS0FBSzt1QkFBQyxZQUFZO2dCQUNFLFVBQVU7c0JBQTlCLEtBQUs7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0YWJsZUNvbHVtbl0nXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29sdW1uIHtcbiAgQElucHV0KCdjb2x1bW5TaXplJykgY29sdW1uU2l6ZTogc3RyaW5nOyAvLyBPcHRpb25hbC5cbiAgQElucHV0KCdjZW50ZXJDZWxsJykgY2VudGVyQ2VsbDogc3RyaW5nOyAvLyBPcHRpb25hbC4gbGVmdHxjZW50ZXJ8cmlnaHRcblxuICBwcml2YXRlIGNlbnRlckNlbGxWYWx1ZTogc3RyaW5nW10gPSBbJ2xlZnQnLCAnY2VudGVyJywgJ3JpZ2h0J107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjdXJyZW50Q2VsbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50KSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmFwcGx5Q3VzdG9tU3R5bGVzT25DZWxsKCk7XG4gIH1cblxuICBhcHBseUN1c3RvbVN0eWxlc09uQ2VsbCgpIHtcbiAgICB0aGlzLmN1cnJlbnRDZWxsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZmxleEdyb3cgPSB0eXBlb2YgdGhpcy5jb2x1bW5TaXplICE9PSAndW5kZWZpbmVkJyA/IHRoaXMuY29sdW1uU2l6ZSA6ICcxJztcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuY3VycmVudENlbGwubmF0aXZlRWxlbWVudCwgJ3d6LXRhYmxlX19ib2R5X19saW5lX19jZWxsJyk7XG5cbiAgICBpZiAodGhpcy5jZW50ZXJDZWxsKSB7XG4gICAgICBpZiAodGhpcy5jZW50ZXJDZWxsVmFsdWUuaW5kZXhPZih0aGlzLmNlbnRlckNlbGwpID09PSAtMSkge1xuICAgICAgICB0aHJvdyAnRXJyb3IgOiBUaGUgY2VudGVyQ2VsbCBkaXJlY3RpdmUgaGFzIG5vIG1hdGNoZWQgdmFsdWUuIFRoZSB2YWx1ZSBtdXN0IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIDogbGVmdCwgY2VudGVyLCByaWdodC4nO1xuICAgICAgfVxuXG4gICAgICBsZXQgY2xhc3NOYW1lID0gJ3d6LXRhYmxlX19ib2R5X19saW5lX19jZWxsLS1jZW50ZXInICsgJy0tJyArIHRoaXMuY2VudGVyQ2VsbDtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5jdXJyZW50Q2VsbC5uYXRpdmVFbGVtZW50LCBjbGFzc05hbWUpO1xuICAgIH1cbiAgfVxufVxuIl19