@colijnit/sharedcomponents 1.0.69 → 253.1.1

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 (205) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +3863 -56
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.d.ts +38 -0
  4. package/colijnit-sharedcomponents.metadata.json +1 -1
  5. package/esm2015/colijnit-sharedcomponents.js +39 -1
  6. package/esm2015/lib/components/activity-list-header/activity-list-header.component.js +67 -0
  7. package/esm2015/lib/components/activity-list-header/activity-list-header.module.js +28 -0
  8. package/esm2015/lib/components/activity-list-header/components/period-filter/period-filter-popup.component.js +55 -0
  9. package/esm2015/lib/components/activity-list-header/components/period-filter/period-filter.component.js +103 -0
  10. package/esm2015/lib/components/activity-list-header/components/period-filter/period-filter.module.js +34 -0
  11. package/esm2015/lib/components/activity-overview-component/component-activity-overview.component.js +130 -0
  12. package/esm2015/lib/components/activity-overview-component/component-activity-overview.module.js +26 -0
  13. package/esm2015/lib/components/activity-overview-component/components/base-activity-overview.component.js +278 -0
  14. package/esm2015/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.component.js +100 -0
  15. package/esm2015/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.module.js +25 -0
  16. package/esm2015/lib/components/modify-task-form/components/base-activity-summary.component.js +132 -0
  17. package/esm2015/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.component.js +118 -0
  18. package/esm2015/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.module.js +27 -0
  19. package/esm2015/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.component.js +88 -0
  20. package/esm2015/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.module.js +24 -0
  21. package/esm2015/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.component.js +77 -0
  22. package/esm2015/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.module.js +24 -0
  23. package/esm2015/lib/components/modify-task-form/components/status-summary-block/status-summary-block.component.js +74 -0
  24. package/esm2015/lib/components/modify-task-form/components/status-summary-block/status-summary-block.module.js +25 -0
  25. package/esm2015/lib/components/modify-task-form/components/task-details/task-details.component.js +105 -0
  26. package/esm2015/lib/components/modify-task-form/components/task-details/task-details.module.js +25 -0
  27. package/esm2015/lib/components/modify-task-form/modify-task-form.component.js +284 -0
  28. package/esm2015/lib/components/modify-task-form/modify-task-form.module.js +40 -0
  29. package/esm2015/lib/components/open-activity-list/component-activity-list.component.js +278 -0
  30. package/esm2015/lib/components/open-activity-list/component-activity-list.module.js +30 -0
  31. package/esm2015/lib/components/open-activity-list/components/base-open-activity-list.component.js +266 -0
  32. package/esm2015/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.component.js +41 -0
  33. package/esm2015/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.module..js +19 -0
  34. package/esm2015/lib/components/simple-tags/simple-tags.component.js +5 -147
  35. package/esm2015/lib/components/simple-tags/simple-tags.module.js +4 -2
  36. package/esm2015/lib/components/simple-tags-form/simple-tags-form.component.js +196 -0
  37. package/esm2015/lib/components/simple-tags-form/simple-tags-form.module.js +26 -0
  38. package/esm2015/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.js +3 -3
  39. package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +28 -2
  40. package/esm2015/lib/components/stock/localization/translation.js +3 -1
  41. package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +7 -2
  42. package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +144 -85
  43. package/esm2015/lib/components/stock/stock.component.js +11 -42
  44. package/esm2015/lib/components/stock/stock.module.js +4 -3
  45. package/esm2015/lib/components/task-modifyer/task-modifier.component.js +270 -0
  46. package/esm2015/lib/components/task-modifyer/task-modifyer.module..js +31 -0
  47. package/esm2015/lib/components/workflow-info-tiles/components/workflow-info-tile.component.js +45 -0
  48. package/esm2015/lib/components/workflow-info-tiles/components/workflow-info-tile.module.js +22 -0
  49. package/esm2015/lib/components/workflow-info-tiles/workflow-info-tiles.component.js +55 -0
  50. package/esm2015/lib/components/workflow-info-tiles/workflow-info-tiles.module.js +22 -0
  51. package/esm2015/lib/components/workflow-notification-toggle/workflow-notification-toggle-popup.js +53 -0
  52. package/esm2015/lib/components/workflow-notification-toggle/workflow-notification-toggle.component.js +81 -0
  53. package/esm2015/lib/components/workflow-notification-toggle/workflow-notification-toggle.module.js +34 -0
  54. package/esm2015/lib/directives/absolute-overlay-template.directive.js +29 -0
  55. package/esm2015/lib/directives/align-with.directive.js +174 -0
  56. package/esm2015/lib/directives/click-outside.directive.js +25 -0
  57. package/esm2015/lib/directives/directives.module.js +22 -0
  58. package/esm2015/lib/enum/activity-cfg-name.enum.js +29 -0
  59. package/esm2015/lib/enum/app-button-type.enum.js +11 -0
  60. package/esm2015/lib/enum/icon.enum.js +13 -1
  61. package/esm2015/lib/interface/activities-task-config-names.js +2 -0
  62. package/esm2015/lib/interface/operation-callback-activity.js +5 -0
  63. package/esm2015/lib/interface/operation-callback-function-with-validation.js +5 -0
  64. package/esm2015/lib/model/icon-svg.js +13 -1
  65. package/esm2015/lib/service/app-absolute-overlay-outlet.service.js +20 -0
  66. package/esm2015/lib/service/shared-connector.service.js +213 -1
  67. package/esm2015/lib/service/shared.service.js +93 -1
  68. package/esm2015/lib/utils/browser-utils.js +100 -0
  69. package/esm2015/lib/utils/event-utils.js +59 -0
  70. package/esm2015/lib/utils/string-utils.js +5 -1
  71. package/esm2015/public-api.js +7 -1
  72. package/fesm2015/colijnit-sharedcomponents.js +4044 -228
  73. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  74. package/lib/components/activity-list-header/activity-list-header.component.d.ts +25 -0
  75. package/lib/components/activity-list-header/activity-list-header.module.d.ts +2 -0
  76. package/lib/components/activity-list-header/components/period-filter/period-filter-popup.component.d.ts +11 -0
  77. package/lib/components/activity-list-header/components/period-filter/period-filter.component.d.ts +26 -0
  78. package/lib/components/activity-list-header/components/period-filter/period-filter.module.d.ts +2 -0
  79. package/lib/components/activity-list-header/components/period-filter/style/_layout.scss +62 -0
  80. package/lib/components/activity-list-header/components/period-filter/style/_material-definition.scss +1 -0
  81. package/lib/components/activity-list-header/components/period-filter/style/_theme.scss +5 -0
  82. package/lib/components/activity-list-header/components/period-filter/style/material.scss +4 -0
  83. package/lib/components/activity-list-header/style/_layout.scss +84 -0
  84. package/lib/components/activity-list-header/style/_material-definition.scss +1 -0
  85. package/lib/components/activity-list-header/style/_theme.scss +5 -0
  86. package/lib/components/activity-list-header/style/material.scss +4 -0
  87. package/lib/components/activity-overview-component/component-activity-overview.component.d.ts +15 -0
  88. package/lib/components/activity-overview-component/component-activity-overview.module.d.ts +2 -0
  89. package/lib/components/activity-overview-component/components/base-activity-overview.component.d.ts +79 -0
  90. package/lib/components/activity-overview-component/style/_layout.scss +107 -0
  91. package/lib/components/activity-overview-component/style/_material-definition.scss +1 -0
  92. package/lib/components/activity-overview-component/style/_theme.scss +5 -0
  93. package/lib/components/activity-overview-component/style/material.scss +4 -0
  94. package/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.component.d.ts +31 -0
  95. package/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.module.d.ts +2 -0
  96. package/lib/components/modify-task-form/components/activity-summary-block/style/_layout.scss +139 -0
  97. package/lib/components/modify-task-form/components/activity-summary-block/style/_material-definition.scss +0 -0
  98. package/lib/components/modify-task-form/components/activity-summary-block/style/_theme.scss +5 -0
  99. package/lib/components/modify-task-form/components/activity-summary-block/style/material.scss +4 -0
  100. package/lib/components/modify-task-form/components/base-activity-summary.component.d.ts +52 -0
  101. package/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.component.d.ts +28 -0
  102. package/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.module.d.ts +2 -0
  103. package/lib/components/modify-task-form/components/creation-summary-block/style/_layout.scss +5 -0
  104. package/lib/components/modify-task-form/components/creation-summary-block/style/_material-definition.scss +0 -0
  105. package/lib/components/modify-task-form/components/creation-summary-block/style/_theme.scss +5 -0
  106. package/lib/components/modify-task-form/components/creation-summary-block/style/material.scss +4 -0
  107. package/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.component.d.ts +24 -0
  108. package/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.module.d.ts +2 -0
  109. package/lib/components/modify-task-form/components/executive-summary-block/style/_layout.scss +5 -0
  110. package/lib/components/modify-task-form/components/executive-summary-block/style/_material-definition.scss +0 -0
  111. package/lib/components/modify-task-form/components/executive-summary-block/style/_theme.scss +5 -0
  112. package/lib/components/modify-task-form/components/executive-summary-block/style/material.scss +4 -0
  113. package/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.component.d.ts +23 -0
  114. package/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.module.d.ts +2 -0
  115. package/lib/components/modify-task-form/components/notification-summary-block/style/_layout.scss +161 -0
  116. package/lib/components/modify-task-form/components/notification-summary-block/style/_material-definition.scss +0 -0
  117. package/lib/components/modify-task-form/components/notification-summary-block/style/_theme.scss +5 -0
  118. package/lib/components/modify-task-form/components/notification-summary-block/style/material.scss +4 -0
  119. package/lib/components/modify-task-form/components/status-summary-block/status-summary-block.component.d.ts +17 -0
  120. package/lib/components/modify-task-form/components/status-summary-block/status-summary-block.module.d.ts +2 -0
  121. package/lib/components/modify-task-form/components/status-summary-block/style/_layout.scss +18 -0
  122. package/lib/components/modify-task-form/components/status-summary-block/style/_material-definition.scss +0 -0
  123. package/lib/components/modify-task-form/components/status-summary-block/style/_theme.scss +5 -0
  124. package/lib/components/modify-task-form/components/status-summary-block/style/material.scss +4 -0
  125. package/lib/components/modify-task-form/components/task-details/style/_layout.scss +142 -0
  126. package/lib/components/modify-task-form/components/task-details/style/_material-definition.scss +0 -0
  127. package/lib/components/modify-task-form/components/task-details/style/_theme.scss +5 -0
  128. package/lib/components/modify-task-form/components/task-details/style/material.scss +4 -0
  129. package/lib/components/modify-task-form/components/task-details/task-details.component.d.ts +23 -0
  130. package/lib/components/modify-task-form/components/task-details/task-details.module.d.ts +2 -0
  131. package/lib/components/modify-task-form/modify-task-form.component.d.ts +54 -0
  132. package/lib/components/modify-task-form/modify-task-form.module.d.ts +2 -0
  133. package/lib/components/modify-task-form/style/_layout.scss +139 -0
  134. package/lib/components/modify-task-form/style/_material-definition.scss +0 -0
  135. package/lib/components/modify-task-form/style/_theme.scss +5 -0
  136. package/lib/components/modify-task-form/style/material.scss +4 -0
  137. package/lib/components/open-activity-list/component-activity-list.component.d.ts +67 -0
  138. package/lib/components/open-activity-list/component-activity-list.module.d.ts +2 -0
  139. package/lib/components/open-activity-list/components/base-open-activity-list.component.d.ts +48 -0
  140. package/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.component.d.ts +4 -0
  141. package/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.module..d.ts +2 -0
  142. package/lib/components/open-activity-list/components/personal-activity-overview/style/_layout.scss +105 -0
  143. package/lib/components/open-activity-list/components/personal-activity-overview/style/_material-definition.scss +0 -0
  144. package/lib/components/open-activity-list/components/personal-activity-overview/style/_theme.scss +4 -0
  145. package/lib/components/open-activity-list/components/personal-activity-overview/style/material.scss +4 -0
  146. package/lib/components/open-activity-list/style/_layout.scss +26 -0
  147. package/lib/components/open-activity-list/style/_material-definition.scss +0 -0
  148. package/lib/components/open-activity-list/style/_theme.scss +4 -0
  149. package/lib/components/open-activity-list/style/material.scss +4 -0
  150. package/lib/components/simple-tags/simple-tags.component.d.ts +1 -8
  151. package/lib/components/simple-tags-form/simple-tags-form.component.d.ts +29 -0
  152. package/lib/components/simple-tags-form/simple-tags-form.module.d.ts +2 -0
  153. package/lib/components/simple-tags-form/style/_layout.scss +257 -0
  154. package/lib/components/simple-tags-form/style/_material-definition.scss +39 -0
  155. package/lib/components/simple-tags-form/style/_theme.scss +4 -0
  156. package/lib/components/simple-tags-form/style/material.scss +4 -0
  157. package/lib/components/stock/components/stock-location/stock-location.component.d.ts +7 -1
  158. package/lib/components/stock/localization/translation.d.ts +2 -0
  159. package/lib/components/stock/stock-tabs/stock-tabs.component.d.ts +2 -0
  160. package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +19 -6
  161. package/lib/components/stock/stock.component.d.ts +3 -0
  162. package/lib/components/stock/style/_layout.scss +64 -31
  163. package/lib/components/task-modifyer/style/_layout.scss +5 -0
  164. package/lib/components/task-modifyer/style/_material-definition.scss +0 -0
  165. package/lib/components/task-modifyer/style/_theme.scss +4 -0
  166. package/lib/components/task-modifyer/style/material.scss +4 -0
  167. package/lib/components/task-modifyer/task-modifier.component.d.ts +65 -0
  168. package/lib/components/task-modifyer/task-modifyer.module..d.ts +2 -0
  169. package/lib/components/workflow-info-tiles/components/style/_layout.scss +49 -0
  170. package/lib/components/workflow-info-tiles/components/style/_material-definition.scss +0 -0
  171. package/lib/components/workflow-info-tiles/components/style/_theme.scss +4 -0
  172. package/lib/components/workflow-info-tiles/components/style/material.scss +4 -0
  173. package/lib/components/workflow-info-tiles/components/workflow-info-tile.component.d.ts +15 -0
  174. package/lib/components/workflow-info-tiles/components/workflow-info-tile.module.d.ts +2 -0
  175. package/lib/components/workflow-info-tiles/style/_layout.scss +16 -0
  176. package/lib/components/workflow-info-tiles/style/_material-definition.scss +0 -0
  177. package/lib/components/workflow-info-tiles/style/_theme.scss +4 -0
  178. package/lib/components/workflow-info-tiles/style/material.scss +4 -0
  179. package/lib/components/workflow-info-tiles/workflow-info-tiles.component.d.ts +21 -0
  180. package/lib/components/workflow-info-tiles/workflow-info-tiles.module.d.ts +2 -0
  181. package/lib/components/workflow-notification-toggle/style/_layout.scss +59 -0
  182. package/lib/components/workflow-notification-toggle/style/_material-definition.scss +0 -0
  183. package/lib/components/workflow-notification-toggle/style/_theme.scss +4 -0
  184. package/lib/components/workflow-notification-toggle/style/material.scss +4 -0
  185. package/lib/components/workflow-notification-toggle/workflow-notification-toggle-popup.d.ts +15 -0
  186. package/lib/components/workflow-notification-toggle/workflow-notification-toggle.component.d.ts +28 -0
  187. package/lib/components/workflow-notification-toggle/workflow-notification-toggle.module.d.ts +2 -0
  188. package/lib/directives/absolute-overlay-template.directive.d.ts +9 -0
  189. package/lib/directives/align-with.directive.d.ts +35 -0
  190. package/lib/directives/click-outside.directive.d.ts +7 -0
  191. package/lib/directives/directives.module.d.ts +2 -0
  192. package/lib/enum/activity-cfg-name.enum.d.ts +27 -0
  193. package/lib/enum/app-button-type.enum.d.ts +9 -0
  194. package/lib/enum/icon.enum.d.ts +12 -0
  195. package/lib/interface/activities-task-config-names.d.ts +12 -0
  196. package/lib/interface/operation-callback-activity.d.ts +5 -0
  197. package/lib/interface/operation-callback-function-with-validation.d.ts +5 -0
  198. package/lib/service/app-absolute-overlay-outlet.service.d.ts +9 -0
  199. package/lib/service/shared-connector.service.d.ts +28 -0
  200. package/lib/service/shared.service.d.ts +28 -0
  201. package/lib/utils/browser-utils.d.ts +15 -0
  202. package/lib/utils/event-utils.d.ts +12 -0
  203. package/lib/utils/string-utils.d.ts +1 -0
  204. package/package.json +7 -5
  205. package/public-api.d.ts +6 -0
@@ -0,0 +1,45 @@
1
+ import { Component, HostBinding, Input, ViewEncapsulation } from "@angular/core";
2
+ import { IconCacheService } from "../../../service/icon-cache.service";
3
+ import { Icon } from "../../../enum/icon.enum";
4
+ import { ColorSequenceService } from "@colijnit/corecomponents_v12";
5
+ export class WorkflowInfoTileComponent {
6
+ constructor(iconCacheService, colorService) {
7
+ this.iconCacheService = iconCacheService;
8
+ this.colorService = colorService;
9
+ this.Icon = Icon;
10
+ }
11
+ showClass() {
12
+ return true;
13
+ }
14
+ ngOnInit() {
15
+ this.backgroundColor = this.colorService.GetRandomColorWithSettings([0, 360], [90, 100], [40, 95], [1, 1]);
16
+ }
17
+ }
18
+ WorkflowInfoTileComponent.decorators = [
19
+ { type: Component, args: [{
20
+ selector: "co-workflow-info-tile",
21
+ template: `
22
+ <div class="top">
23
+ <div class="tile-row">
24
+ <label class="status-text" [textContent]="'STATUS' | localize"></label>
25
+ <co-icon class="corner-icon" [iconData]="iconCacheService.getIcon(Icon.DetailView)" ></co-icon>
26
+ </div>
27
+ <label class="name-text" [textContent]="workflowProcessInfoPerStatus.statusName"></label>
28
+ </div>
29
+ <div class="bottom">
30
+ <label class="name-text" [textContent]="workflowProcessInfoPerStatus.workflowProcessCount"></label>
31
+ </div>
32
+ `,
33
+ encapsulation: ViewEncapsulation.None
34
+ },] }
35
+ ];
36
+ WorkflowInfoTileComponent.ctorParameters = () => [
37
+ { type: IconCacheService },
38
+ { type: ColorSequenceService }
39
+ ];
40
+ WorkflowInfoTileComponent.propDecorators = {
41
+ workflowProcessInfoPerStatus: [{ type: Input }],
42
+ showClass: [{ type: HostBinding, args: ["class.co-workflow-info-tile",] }],
43
+ backgroundColor: [{ type: HostBinding, args: ["style.background-color",] }]
44
+ };
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctaW5mby10aWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LWluZm8tdGlsZXMvY29tcG9uZW50cy93b3JrZmxvdy1pbmZvLXRpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFDTCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzdDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBbUJsRSxNQUFNLE9BQU8seUJBQXlCO0lBY2xDLFlBQW1CLGdCQUFrQyxFQUNsQyxZQUFrQztRQURsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQWRyQyxTQUFJLEdBQUcsSUFBSSxDQUFDO0lBZTVCLENBQUM7SUFUTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBU0QsUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVHLENBQUM7OztZQXJDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsUUFBUSxFQUFFOzs7Ozs7Ozs7OztLQVdUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3hDOzs7WUFuQk8sZ0JBQWdCO1lBRWhCLG9CQUFvQjs7OzJDQXNCdkIsS0FBSzt3QkFHTCxXQUFXLFNBQUMsNkJBQTZCOzhCQUt6QyxXQUFXLFNBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7V29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1c30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3dvcmtmbG93LXByb2Nlc3MtaW5mby1wZXItc3RhdHVzXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7Q29sb3JTZXF1ZW5jZVNlcnZpY2V9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLXdvcmtmbG93LWluZm8tdGlsZVwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9wXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aWxlLXJvd1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInN0YXR1cy10ZXh0XCIgW3RleHRDb250ZW50XT1cIidTVEFUVVMnIHwgbG9jYWxpemVcIj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiY29ybmVyLWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKEljb24uRGV0YWlsVmlldylcIiA+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJuYW1lLXRleHRcIiBbdGV4dENvbnRlbnRdPVwid29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1cy5zdGF0dXNOYW1lXCI+PC9sYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm90dG9tXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCAgY2xhc3M9XCJuYW1lLXRleHRcIiBbdGV4dENvbnRlbnRdPVwid29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1cy53b3JrZmxvd1Byb2Nlc3NDb3VudFwiPjwvbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBXb3JrZmxvd0luZm9UaWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gICAgcHVibGljIHJlYWRvbmx5IEljb24gPSBJY29uO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgd29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1czogV29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1cztcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby13b3JrZmxvdy1pbmZvLXRpbGVcIilcclxuICAgIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0QmluZGluZyhcInN0eWxlLmJhY2tncm91bmQtY29sb3JcIilcclxuICAgIHB1YmxpYyBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICAgICAgICAgIHB1YmxpYyBjb2xvclNlcnZpY2U6IENvbG9yU2VxdWVuY2VTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgIHRoaXMuYmFja2dyb3VuZENvbG9yID0gdGhpcy5jb2xvclNlcnZpY2UuR2V0UmFuZG9tQ29sb3JXaXRoU2V0dGluZ3MoWzAsIDM2MF0sIFs5MCwgMTAwXSwgWzQwLCA5NV0sIFsxLDFdKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,22 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { WorkflowInfoTileComponent } from "./workflow-info-tile.component";
3
+ import { LocalizationModule } from "../../../localization/localization.module";
4
+ import { IconModule } from "@colijnit/corecomponents_v12";
5
+ export class WorkflowInfoTileModule {
6
+ }
7
+ WorkflowInfoTileModule.decorators = [
8
+ { type: NgModule, args: [{
9
+ imports: [
10
+ LocalizationModule,
11
+ IconModule
12
+ ],
13
+ declarations: [
14
+ WorkflowInfoTileComponent
15
+ ],
16
+ exports: [
17
+ WorkflowInfoTileComponent
18
+ ],
19
+ providers: []
20
+ },] }
21
+ ];
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctaW5mby10aWxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LWluZm8tdGlsZXMvY29tcG9uZW50cy93b3JrZmxvdy1pbmZvLXRpbGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBZ0J4RCxNQUFNLE9BQU8sc0JBQXNCOzs7WUFkbEMsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7b0JBQ2xCLFVBQVU7aUJBQ1g7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHlCQUF5QjtpQkFDMUI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHlCQUF5QjtpQkFDMUI7Z0JBQ0QsU0FBUyxFQUFFLEVBQ1Y7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7V29ya2Zsb3dJbmZvVGlsZUNvbXBvbmVudH0gZnJvbSBcIi4vd29ya2Zsb3ctaW5mby10aWxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0xvY2FsaXphdGlvbk1vZHVsZX0gZnJvbSBcIi4uLy4uLy4uL2xvY2FsaXphdGlvbi9sb2NhbGl6YXRpb24ubW9kdWxlXCI7XHJcbmltcG9ydCB7SWNvbk1vZHVsZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgTG9jYWxpemF0aW9uTW9kdWxlLFxyXG4gICAgSWNvbk1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBXb3JrZmxvd0luZm9UaWxlQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBXb3JrZmxvd0luZm9UaWxlQ29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXb3JrZmxvd0luZm9UaWxlTW9kdWxlIHtcclxuXHJcbn1cclxuIl19
@@ -0,0 +1,55 @@
1
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
2
+ import { Icon } from "../../enum/icon.enum";
3
+ import { IconCacheService } from "../../service/icon-cache.service";
4
+ import { SharedService } from "../../service/shared.service";
5
+ export class WorkflowInfoTilesComponent {
6
+ constructor(iconCacheService, sharedService) {
7
+ this.iconCacheService = iconCacheService;
8
+ this.sharedService = sharedService;
9
+ this.Icon = Icon;
10
+ this.icons = Icon;
11
+ this.workflowProcessInfoPerStatusClicked = new EventEmitter();
12
+ }
13
+ set workflowCategory(value) {
14
+ this._workflowCategory = value;
15
+ this.getWorkflowProcessInfoPerStatusCollection();
16
+ }
17
+ showClass() {
18
+ return true;
19
+ }
20
+ ngOnInit() {
21
+ this.getWorkflowProcessInfoPerStatusCollection();
22
+ }
23
+ workflowProcessInfoPerStatusClickedHandler(status) {
24
+ this.workflowProcessInfoPerStatusClicked.emit(status.statusName);
25
+ }
26
+ getWorkflowProcessInfoPerStatusCollection() {
27
+ if (this._workflowCategory) {
28
+ this.sharedService.getWorkflowProcessInfoPerStatus(this._workflowCategory).then((result) => {
29
+ this.WorkflowProcessInfoPerStatusCollection = result;
30
+ });
31
+ }
32
+ }
33
+ }
34
+ WorkflowInfoTilesComponent.decorators = [
35
+ { type: Component, args: [{
36
+ selector: "co-workflow-info-tiles",
37
+ template: `
38
+ <div class="tile-row">
39
+ <co-workflow-info-tile *ngFor="let workflowProcessInfoPerStatus of WorkflowProcessInfoPerStatusCollection" [workflowProcessInfoPerStatus]="workflowProcessInfoPerStatus"
40
+ (click)="workflowProcessInfoPerStatusClickedHandler(workflowProcessInfoPerStatus)"></co-workflow-info-tile>
41
+ </div>
42
+ `,
43
+ encapsulation: ViewEncapsulation.None
44
+ },] }
45
+ ];
46
+ WorkflowInfoTilesComponent.ctorParameters = () => [
47
+ { type: IconCacheService },
48
+ { type: SharedService }
49
+ ];
50
+ WorkflowInfoTilesComponent.propDecorators = {
51
+ workflowCategory: [{ type: Input }],
52
+ workflowProcessInfoPerStatusClicked: [{ type: Output }],
53
+ showClass: [{ type: HostBinding, args: ["class.co-workflow-info-tiles",] }]
54
+ };
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctaW5mby10aWxlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy93b3JrZmxvdy1pbmZvLXRpbGVzL3dvcmtmbG93LWluZm8tdGlsZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdHLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUVsRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFhM0QsTUFBTSxPQUFPLDBCQUEwQjtJQW9CbkMsWUFBbUIsZ0JBQWtDLEVBQ2xDLGFBQTRCO1FBRDVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFwQjVCLFNBQUksR0FBRyxJQUFJLENBQUM7UUFDZixVQUFLLEdBQWdCLElBQUksQ0FBQztRQVFuQyx3Q0FBbUMsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQVk5RixDQUFDO0lBbkJELElBQ1csZ0JBQWdCLENBQUMsS0FBMkI7UUFDckQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMseUNBQXlDLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBU00sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQU1ELFFBQVE7UUFDTixJQUFJLENBQUMseUNBQXlDLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRU0sMENBQTBDLENBQUMsTUFBb0M7UUFDcEYsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVPLHlDQUF5QztRQUMvQyxJQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQXNDLEVBQUUsRUFBRTtnQkFDekgsSUFBSSxDQUFDLHNDQUFzQyxHQUFHLE1BQU0sQ0FBQztZQUN2RCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7O1lBakRKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxRQUFRLEVBQUU7Ozs7O0tBS1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDeEM7OztZQWJPLGdCQUFnQjtZQUVoQixhQUFhOzs7K0JBZ0JoQixLQUFLO2tEQU1MLE1BQU07d0JBTVIsV0FBVyxTQUFDLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1dvcmtmbG93Q2F0ZWdvcnlUeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS93b3JrZmxvdy1jYXRlZ29yeS5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7V29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1c30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3dvcmtmbG93LXByb2Nlc3MtaW5mby1wZXItc3RhdHVzXCI7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvc2hhcmVkLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiY28td29ya2Zsb3ctaW5mby10aWxlc1wiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGlsZS1yb3dcIj5cclxuICAgICAgICAgICAgPGNvLXdvcmtmbG93LWluZm8tdGlsZSAqbmdGb3I9XCJsZXQgd29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1cyBvZiBXb3JrZmxvd1Byb2Nlc3NJbmZvUGVyU3RhdHVzQ29sbGVjdGlvblwiIFt3b3JrZmxvd1Byb2Nlc3NJbmZvUGVyU3RhdHVzXT1cIndvcmtmbG93UHJvY2Vzc0luZm9QZXJTdGF0dXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ3b3JrZmxvd1Byb2Nlc3NJbmZvUGVyU3RhdHVzQ2xpY2tlZEhhbmRsZXIod29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1cylcIj48L2NvLXdvcmtmbG93LWluZm8tdGlsZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFdvcmtmbG93SW5mb1RpbGVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBJY29uID0gSWNvbjtcclxuICAgIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgd29ya2Zsb3dDYXRlZ29yeSh2YWx1ZTogV29ya2Zsb3dDYXRlZ29yeVR5cGUpIHtcclxuICAgICAgdGhpcy5fd29ya2Zsb3dDYXRlZ29yeSA9IHZhbHVlO1xyXG4gICAgICB0aGlzLmdldFdvcmtmbG93UHJvY2Vzc0luZm9QZXJTdGF0dXNDb2xsZWN0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgd29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1c0NsaWNrZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gICAgcHVibGljIFdvcmtmbG93UHJvY2Vzc0luZm9QZXJTdGF0dXNDb2xsZWN0aW9uOiBXb3JrZmxvd1Byb2Nlc3NJbmZvUGVyU3RhdHVzW107XHJcbiAgICBwcml2YXRlIF93b3JrZmxvd0NhdGVnb3J5OiBXb3JrZmxvd0NhdGVnb3J5VHlwZTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28td29ya2Zsb3ctaW5mby10aWxlc1wiKVxyXG4gICAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBwdWJsaWMgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICB0aGlzLmdldFdvcmtmbG93UHJvY2Vzc0luZm9QZXJTdGF0dXNDb2xsZWN0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHdvcmtmbG93UHJvY2Vzc0luZm9QZXJTdGF0dXNDbGlja2VkSGFuZGxlcihzdGF0dXM6IFdvcmtmbG93UHJvY2Vzc0luZm9QZXJTdGF0dXMpe1xyXG4gICAgICB0aGlzLndvcmtmbG93UHJvY2Vzc0luZm9QZXJTdGF0dXNDbGlja2VkLmVtaXQoc3RhdHVzLnN0YXR1c05hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0V29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1c0NvbGxlY3Rpb24oKTogdm9pZCB7XHJcbiAgICAgIGlmKHRoaXMuX3dvcmtmbG93Q2F0ZWdvcnkpIHtcclxuICAgICAgICB0aGlzLnNoYXJlZFNlcnZpY2UuZ2V0V29ya2Zsb3dQcm9jZXNzSW5mb1BlclN0YXR1cyh0aGlzLl93b3JrZmxvd0NhdGVnb3J5KS50aGVuKChyZXN1bHQ6IFdvcmtmbG93UHJvY2Vzc0luZm9QZXJTdGF0dXNbXSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5Xb3JrZmxvd1Byb2Nlc3NJbmZvUGVyU3RhdHVzQ29sbGVjdGlvbiA9IHJlc3VsdDtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { WorkflowInfoTilesComponent } from "./workflow-info-tiles.component";
3
+ import { WorkflowInfoTileModule } from "./components/workflow-info-tile.module";
4
+ import { CommonModule } from "@angular/common";
5
+ export class WorkflowInfoTilesModule {
6
+ }
7
+ WorkflowInfoTilesModule.decorators = [
8
+ { type: NgModule, args: [{
9
+ imports: [
10
+ WorkflowInfoTileModule,
11
+ CommonModule
12
+ ],
13
+ declarations: [
14
+ WorkflowInfoTilesComponent
15
+ ],
16
+ exports: [
17
+ WorkflowInfoTilesComponent
18
+ ],
19
+ providers: []
20
+ },] }
21
+ ];
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctaW5mby10aWxlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy93b3JrZmxvdy1pbmZvLXRpbGVzL3dvcmtmbG93LWluZm8tdGlsZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBZ0I3QyxNQUFNLE9BQU8sdUJBQXVCOzs7WUFkbkMsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxzQkFBc0I7b0JBQ3RCLFlBQVk7aUJBQ2I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLDBCQUEwQjtpQkFDM0I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDBCQUEwQjtpQkFDM0I7Z0JBQ0QsU0FBUyxFQUFFLEVBQ1Y7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7V29ya2Zsb3dJbmZvVGlsZXNDb21wb25lbnR9IGZyb20gXCIuL3dvcmtmbG93LWluZm8tdGlsZXMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7V29ya2Zsb3dJbmZvVGlsZU1vZHVsZX0gZnJvbSBcIi4vY29tcG9uZW50cy93b3JrZmxvdy1pbmZvLXRpbGUubW9kdWxlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIFdvcmtmbG93SW5mb1RpbGVNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgV29ya2Zsb3dJbmZvVGlsZXNDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFdvcmtmbG93SW5mb1RpbGVzQ29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXb3JrZmxvd0luZm9UaWxlc01vZHVsZSB7XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,53 @@
1
+ import { Component, ElementRef, EventEmitter, Input, Output } from "@angular/core";
2
+ import { IconCacheService } from "../../service/icon-cache.service";
3
+ import { Icon } from "../../enum/icon.enum";
4
+ export class WorkflowNotificationTogglePopupComponent {
5
+ constructor(element, iconService) {
6
+ this.element = element;
7
+ this.iconService = iconService;
8
+ this.icons = Icon;
9
+ this.workflowProcesses = [];
10
+ this.closePopupClicked = new EventEmitter();
11
+ this.workflowProcessClicked = new EventEmitter();
12
+ }
13
+ ngOnDestroy() {
14
+ this.element = undefined;
15
+ }
16
+ }
17
+ WorkflowNotificationTogglePopupComponent.decorators = [
18
+ { type: Component, args: [{
19
+ selector: "co-workflow-notification-toggle-popup",
20
+ template: `
21
+ <div class="workflow-list-wrapper" [overlay]="parentForOverlay"
22
+ [alignWith]="element"
23
+ [alignTopOffsetPx]="35"
24
+ [class.showing]="true"
25
+ [enableAlign]="true"
26
+ [clickOutside]="true"
27
+ (clickOutside)="closePopupClicked.emit()"
28
+ keepInView noWidthAlign alignRight>
29
+ <div class="workflow-row" *ngFor="let workflow of workflowProcesses"
30
+ (click)="workflowProcessClicked.emit(workflow)">
31
+ <div class="icon-wrapper">
32
+ <co-icon class="workflow-icon"
33
+ [iconData]="iconService.getIcon(workflow.hasPausedNotifications ? icons.BellSlashRegular : icons.BellRegular)"
34
+ [class.small-icon]="!workflow.hasPausedNotifications"></co-icon>
35
+ </div>
36
+ <div class="workflow-text">
37
+ <span class="workflow-title" [textContent]="workflow.workflowName"></span>
38
+ </div>
39
+ </div>
40
+ </div>`
41
+ },] }
42
+ ];
43
+ WorkflowNotificationTogglePopupComponent.ctorParameters = () => [
44
+ { type: ElementRef },
45
+ { type: IconCacheService }
46
+ ];
47
+ WorkflowNotificationTogglePopupComponent.propDecorators = {
48
+ workflowProcesses: [{ type: Input }],
49
+ parentForOverlay: [{ type: Input }],
50
+ closePopupClicked: [{ type: Output }],
51
+ workflowProcessClicked: [{ type: Output }]
52
+ };
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctbm90aWZpY2F0aW9uLXRvZ2dsZS1wb3B1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93LW5vdGlmaWNhdGlvbi10b2dnbGUvd29ya2Zsb3ctbm90aWZpY2F0aW9uLXRvZ2dsZS1wb3B1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU1RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUEyQjFDLE1BQU0sT0FBTyx3Q0FBd0M7SUFjbkQsWUFDUyxPQUFtQixFQUNuQixXQUE2QjtRQUQ3QixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQWZ0QixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQyxzQkFBaUIsR0FBc0IsRUFBRSxDQUFDO1FBTTFDLHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRS9ELDJCQUFzQixHQUFrQyxJQUFJLFlBQVksRUFBbUIsQ0FBQztJQU1uRyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO0lBQzNCLENBQUM7OztZQS9DRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVDQUF1QztnQkFDakQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQW9CRDthQUNWOzs7WUE1QmtCLFVBQVU7WUFFckIsZ0JBQWdCOzs7Z0NBK0JyQixLQUFLOytCQUVMLEtBQUs7Z0NBSUwsTUFBTTtxQ0FFTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1dvcmtmbG93UHJvY2Vzc30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3dvcmtmbG93LXByb2Nlc3NcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXdvcmtmbG93LW5vdGlmaWNhdGlvbi10b2dnbGUtcG9wdXBcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cIndvcmtmbG93LWxpc3Qtd3JhcHBlclwiIFtvdmVybGF5XT1cInBhcmVudEZvck92ZXJsYXlcIlxyXG4gICAgICAgICBbYWxpZ25XaXRoXT1cImVsZW1lbnRcIlxyXG4gICAgICAgICBbYWxpZ25Ub3BPZmZzZXRQeF09XCIzNVwiXHJcbiAgICAgICAgIFtjbGFzcy5zaG93aW5nXT1cInRydWVcIlxyXG4gICAgICAgICBbZW5hYmxlQWxpZ25dPVwidHJ1ZVwiXHJcbiAgICAgICAgIFtjbGlja091dHNpZGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgIChjbGlja091dHNpZGUpPVwiY2xvc2VQb3B1cENsaWNrZWQuZW1pdCgpXCJcclxuICAgICAgICAga2VlcEluVmlldyBub1dpZHRoQWxpZ24gYWxpZ25SaWdodD5cclxuICAgICAgPGRpdiBjbGFzcz1cIndvcmtmbG93LXJvd1wiICpuZ0Zvcj1cImxldCB3b3JrZmxvdyBvZiB3b3JrZmxvd1Byb2Nlc3Nlc1wiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cIndvcmtmbG93UHJvY2Vzc0NsaWNrZWQuZW1pdCh3b3JrZmxvdylcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cIndvcmtmbG93LWljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24od29ya2Zsb3cuaGFzUGF1c2VkTm90aWZpY2F0aW9ucyA/IGljb25zLkJlbGxTbGFzaFJlZ3VsYXIgOiBpY29ucy5CZWxsUmVndWxhcilcIlxyXG4gICAgICAgICAgICAgICAgICAgW2NsYXNzLnNtYWxsLWljb25dPVwiIXdvcmtmbG93Lmhhc1BhdXNlZE5vdGlmaWNhdGlvbnNcIj48L2NvLWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndvcmtmbG93LXRleHRcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwid29ya2Zsb3ctdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwid29ya2Zsb3cud29ya2Zsb3dOYW1lXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PmBcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBXb3JrZmxvd05vdGlmaWNhdGlvblRvZ2dsZVBvcHVwQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgd29ya2Zsb3dQcm9jZXNzZXM6IFdvcmtmbG93UHJvY2Vzc1tdID0gW107XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGFyZW50Rm9yT3ZlcmxheTogRWxlbWVudFJlZjtcclxuXHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjbG9zZVBvcHVwQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgd29ya2Zsb3dQcm9jZXNzQ2xpY2tlZDogRXZlbnRFbWl0dGVyPFdvcmtmbG93UHJvY2Vzcz4gPSBuZXcgRXZlbnRFbWl0dGVyPFdvcmtmbG93UHJvY2Vzcz4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBpY29uU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5lbGVtZW50ID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,81 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Component, ElementRef, HostBinding, Input } from "@angular/core";
3
+ import { Icon } from "../../enum/icon.enum";
4
+ import { IconCacheService } from "../../service/icon-cache.service";
5
+ import { SharedService } from "../../service/shared.service";
6
+ import { TableName } from "@colijnit/mainapi/build/enum/table-name.enum";
7
+ import { OverlayService } from "@colijnit/corecomponents_v12";
8
+ import { WorkflowNotificationTogglePopupComponent } from "./workflow-notification-toggle-popup";
9
+ export class WorkflowNotificationToggleComponent {
10
+ constructor(element, iconService, sharedService, _overlayService) {
11
+ this.element = element;
12
+ this.iconService = iconService;
13
+ this.sharedService = sharedService;
14
+ this._overlayService = _overlayService;
15
+ this.icons = Icon;
16
+ this.workflowProcesses = [];
17
+ this.showPopup = false;
18
+ }
19
+ showClass() {
20
+ return true;
21
+ }
22
+ ngOnInit() {
23
+ this._loadWorkflowProcesses();
24
+ }
25
+ _loadWorkflowProcesses() {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ this.workflowProcesses = yield this.sharedService.getActiveProcessesByTableAndKey(TableName[this.table], this.key);
28
+ });
29
+ }
30
+ buttonClicked() {
31
+ if (!this.showPopup) {
32
+ this.openPopup();
33
+ }
34
+ else {
35
+ this.closePopup();
36
+ }
37
+ }
38
+ openPopup() {
39
+ this.showPopup = true;
40
+ this._workflowPopupRef = this._overlayService.createComponent(WorkflowNotificationTogglePopupComponent, { parentForOverlay: this.element, workflowProcesses: this.workflowProcesses }, {
41
+ closePopupClicked: () => this.closePopup(),
42
+ workflowProcessClicked: (WorkflowProcess) => this.handleWorkflowToggle(WorkflowProcess)
43
+ });
44
+ }
45
+ closePopup() {
46
+ this.showPopup = false;
47
+ this._overlayService.removeComponent(this._workflowPopupRef);
48
+ }
49
+ handleWorkflowToggle(workflow) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ const valResult = yield this.setHasPausedNotificationsForWorkflowProcessOperation(workflow.workflowProcessId, !workflow.hasPausedNotifications, null);
52
+ if (valResult && valResult.success) {
53
+ workflow.hasPausedNotifications = !workflow.hasPausedNotifications;
54
+ }
55
+ });
56
+ }
57
+ }
58
+ WorkflowNotificationToggleComponent.decorators = [
59
+ { type: Component, args: [{
60
+ selector: "co-workflow-notification-toggle",
61
+ template: `
62
+ <co-button isToggleButton class="transparent-rectangular-action user-button" [isToggled]="showPopup"
63
+ (click)="buttonClicked()"
64
+ [iconData]="iconService.getIcon(icons.BellRegular)"
65
+ [title]="'SHOW_WORKFLOW_NOTIFICATION_SETTINGS' | localize"></co-button>
66
+ `
67
+ },] }
68
+ ];
69
+ WorkflowNotificationToggleComponent.ctorParameters = () => [
70
+ { type: ElementRef },
71
+ { type: IconCacheService },
72
+ { type: SharedService },
73
+ { type: OverlayService }
74
+ ];
75
+ WorkflowNotificationToggleComponent.propDecorators = {
76
+ table: [{ type: Input }],
77
+ key: [{ type: Input }],
78
+ setHasPausedNotificationsForWorkflowProcessOperation: [{ type: Input }],
79
+ showClass: [{ type: HostBinding, args: ["class.co-workflow-notification-toggle",] }]
80
+ };
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctbm90aWZpY2F0aW9uLXRvZ2dsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy93b3JrZmxvdy1ub3RpZmljYXRpb24tdG9nZ2xlL3dvcmtmbG93LW5vdGlmaWNhdGlvbi10b2dnbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFnQixVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFJbEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFDLHdDQUF3QyxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFXOUYsTUFBTSxPQUFPLG1DQUFtQztJQXVCOUMsWUFDUyxPQUFtQixFQUNuQixXQUE2QixFQUM3QixhQUE0QixFQUMzQixlQUErQjtRQUhoQyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUMzQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUExQnpCLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBZ0JuQyxzQkFBaUIsR0FBc0IsRUFBRSxDQUFDO1FBRTFDLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFVbEMsQ0FBQztJQWhCTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBZ0JNLFFBQVE7UUFDYixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRWEsc0JBQXNCOztZQUNsQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLCtCQUErQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JILENBQUM7S0FBQTtJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRU0sU0FBUztRQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyx3Q0FBd0MsRUFDcEcsRUFBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBQyxFQUFFO1lBQzNFLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDMUMsc0JBQXNCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUM7U0FDeEYsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRVksb0JBQW9CLENBQUMsUUFBeUI7O1lBQ3pELE1BQU0sU0FBUyxHQUFxQixNQUFNLElBQUksQ0FBQyxvREFBb0QsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDdkssSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLE9BQU8sRUFBRTtnQkFDbEMsUUFBUSxDQUFDLHNCQUFzQixHQUFHLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDO2FBQ3BFO1FBQ0gsQ0FBQztLQUFBOzs7WUEzRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQ0FBaUM7Z0JBQzNDLFFBQVEsRUFBRTs7Ozs7R0FLVDthQUNGOzs7WUFuQmdDLFVBQVU7WUFFbkMsZ0JBQWdCO1lBSWhCLGFBQWE7WUFFYixjQUFjOzs7b0JBZW5CLEtBQUs7a0JBR0wsS0FBSzttRUFHTCxLQUFLO3dCQUdMLFdBQVcsU0FBQyx1Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtPcGVyYXRpb25DYWxsYmFja0Z1bmN0aW9uV2l0aFZhbGlkYXRpb259IGZyb20gXCIuLi8uLi9pbnRlcmZhY2Uvb3BlcmF0aW9uLWNhbGxiYWNrLWZ1bmN0aW9uLXdpdGgtdmFsaWRhdGlvblwiO1xyXG5pbXBvcnQge1ZhbGlkYXRpb25SZXN1bHR9IGZyb20gXCJAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC92YWxpZGF0aW9uLXJlc3VsdFwiO1xyXG5pbXBvcnQge1dvcmtmbG93UHJvY2Vzc30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3dvcmtmbG93LXByb2Nlc3NcIjtcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZVwiO1xyXG5pbXBvcnQge1RhYmxlTmFtZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vdGFibGUtbmFtZS5lbnVtXCI7XHJcbmltcG9ydCB7T3ZlcmxheVNlcnZpY2V9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7V29ya2Zsb3dOb3RpZmljYXRpb25Ub2dnbGVQb3B1cENvbXBvbmVudH0gZnJvbSBcIi4vd29ya2Zsb3ctbm90aWZpY2F0aW9uLXRvZ2dsZS1wb3B1cFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28td29ya2Zsb3ctbm90aWZpY2F0aW9uLXRvZ2dsZVwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tYnV0dG9uIGlzVG9nZ2xlQnV0dG9uIGNsYXNzPVwidHJhbnNwYXJlbnQtcmVjdGFuZ3VsYXItYWN0aW9uIHVzZXItYnV0dG9uXCIgW2lzVG9nZ2xlZF09XCJzaG93UG9wdXBcIlxyXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiYnV0dG9uQ2xpY2tlZCgpXCJcclxuICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuQmVsbFJlZ3VsYXIpXCJcclxuICAgICAgICAgICAgICAgW3RpdGxlXT1cIidTSE9XX1dPUktGTE9XX05PVElGSUNBVElPTl9TRVRUSU5HUycgfCBsb2NhbGl6ZVwiPjwvY28tYnV0dG9uPlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFdvcmtmbG93Tm90aWZpY2F0aW9uVG9nZ2xlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGFibGU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMga2V5OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldEhhc1BhdXNlZE5vdGlmaWNhdGlvbnNGb3JXb3JrZmxvd1Byb2Nlc3NPcGVyYXRpb246IE9wZXJhdGlvbkNhbGxiYWNrRnVuY3Rpb25XaXRoVmFsaWRhdGlvbjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28td29ya2Zsb3ctbm90aWZpY2F0aW9uLXRvZ2dsZVwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3b3JrZmxvd1Byb2Nlc3NlczogV29ya2Zsb3dQcm9jZXNzW10gPSBbXTtcclxuXHJcbiAgcHVibGljIHNob3dQb3B1cDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF93b3JrZmxvd1BvcHVwUmVmOiBDb21wb25lbnRSZWY8YW55PjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBpY29uU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyBzaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheVNlcnZpY2U6IE92ZXJsYXlTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9sb2FkV29ya2Zsb3dQcm9jZXNzZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2xvYWRXb3JrZmxvd1Byb2Nlc3NlcygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMud29ya2Zsb3dQcm9jZXNzZXMgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuZ2V0QWN0aXZlUHJvY2Vzc2VzQnlUYWJsZUFuZEtleShUYWJsZU5hbWVbdGhpcy50YWJsZV0sIHRoaXMua2V5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBidXR0b25DbGlja2VkKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnNob3dQb3B1cCkge1xyXG4gICAgICB0aGlzLm9wZW5Qb3B1cCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbG9zZVBvcHVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlblBvcHVwKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93UG9wdXAgPSB0cnVlO1xyXG4gICAgdGhpcy5fd29ya2Zsb3dQb3B1cFJlZiA9IHRoaXMuX292ZXJsYXlTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChXb3JrZmxvd05vdGlmaWNhdGlvblRvZ2dsZVBvcHVwQ29tcG9uZW50LFxyXG4gICAgICB7cGFyZW50Rm9yT3ZlcmxheTogdGhpcy5lbGVtZW50LCB3b3JrZmxvd1Byb2Nlc3NlczogdGhpcy53b3JrZmxvd1Byb2Nlc3Nlc30sIHtcclxuICAgICAgICBjbG9zZVBvcHVwQ2xpY2tlZDogKCkgPT4gdGhpcy5jbG9zZVBvcHVwKCksXHJcbiAgICAgICAgd29ya2Zsb3dQcm9jZXNzQ2xpY2tlZDogKFdvcmtmbG93UHJvY2VzcykgPT4gdGhpcy5oYW5kbGVXb3JrZmxvd1RvZ2dsZShXb3JrZmxvd1Byb2Nlc3MpXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlUG9wdXAoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dQb3B1cCA9IGZhbHNlO1xyXG4gICAgdGhpcy5fb3ZlcmxheVNlcnZpY2UucmVtb3ZlQ29tcG9uZW50KHRoaXMuX3dvcmtmbG93UG9wdXBSZWYpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVdvcmtmbG93VG9nZ2xlKHdvcmtmbG93OiBXb3JrZmxvd1Byb2Nlc3MpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHZhbFJlc3VsdDogVmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IHRoaXMuc2V0SGFzUGF1c2VkTm90aWZpY2F0aW9uc0ZvcldvcmtmbG93UHJvY2Vzc09wZXJhdGlvbih3b3JrZmxvdy53b3JrZmxvd1Byb2Nlc3NJZCwgIXdvcmtmbG93Lmhhc1BhdXNlZE5vdGlmaWNhdGlvbnMsIG51bGwpXHJcbiAgICBpZiAodmFsUmVzdWx0ICYmIHZhbFJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHdvcmtmbG93Lmhhc1BhdXNlZE5vdGlmaWNhdGlvbnMgPSAhd29ya2Zsb3cuaGFzUGF1c2VkTm90aWZpY2F0aW9ucztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,34 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { WorkflowNotificationToggleComponent } from "./workflow-notification-toggle.component";
3
+ import { ButtonModule, ClickoutsideModule, IconModule, OverlayModule, OverlayService } from "@colijnit/corecomponents_v12";
4
+ import { LocalizationModule } from "../../localization/localization.module";
5
+ import { DirectivesModule } from "../../directives/directives.module";
6
+ import { CommonModule } from "@angular/common";
7
+ import { WorkflowNotificationTogglePopupComponent } from "./workflow-notification-toggle-popup";
8
+ export class WorkflowNotificationToggleModule {
9
+ }
10
+ WorkflowNotificationToggleModule.decorators = [
11
+ { type: NgModule, args: [{
12
+ imports: [
13
+ ButtonModule,
14
+ ClickoutsideModule,
15
+ LocalizationModule,
16
+ IconModule,
17
+ DirectivesModule,
18
+ CommonModule,
19
+ OverlayModule
20
+ ],
21
+ declarations: [
22
+ WorkflowNotificationToggleComponent,
23
+ WorkflowNotificationTogglePopupComponent
24
+ ],
25
+ exports: [
26
+ WorkflowNotificationToggleComponent,
27
+ WorkflowNotificationTogglePopupComponent
28
+ ],
29
+ providers: [
30
+ OverlayService
31
+ ]
32
+ },] }
33
+ ];
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctbm90aWZpY2F0aW9uLXRvZ2dsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy93b3JrZmxvdy1ub3RpZmljYXRpb24tdG9nZ2xlL3dvcmtmbG93LW5vdGlmaWNhdGlvbi10b2dnbGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLG1DQUFtQyxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDN0YsT0FBTyxFQUNMLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsVUFBVSxFQUNWLGFBQWEsRUFDYixjQUFjLEVBQ2YsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHdDQUF3QyxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUF5QjlGLE1BQU0sT0FBTyxnQ0FBZ0M7OztZQXRCNUMsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGtCQUFrQjtvQkFDbEIsa0JBQWtCO29CQUNsQixVQUFVO29CQUNWLGdCQUFnQjtvQkFDaEIsWUFBWTtvQkFDWixhQUFhO2lCQUNkO2dCQUNELFlBQVksRUFBRTtvQkFDWixtQ0FBbUM7b0JBQ25DLHdDQUF3QztpQkFDekM7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLG1DQUFtQztvQkFDbkMsd0NBQXdDO2lCQUN6QztnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsY0FBYztpQkFDZjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtXb3JrZmxvd05vdGlmaWNhdGlvblRvZ2dsZUNvbXBvbmVudH0gZnJvbSBcIi4vd29ya2Zsb3ctbm90aWZpY2F0aW9uLXRvZ2dsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtcclxuICBCdXR0b25Nb2R1bGUsXHJcbiAgQ2xpY2tvdXRzaWRlTW9kdWxlLFxyXG4gIEljb25Nb2R1bGUsXHJcbiAgT3ZlcmxheU1vZHVsZSxcclxuICBPdmVybGF5U2VydmljZVxyXG59IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7TG9jYWxpemF0aW9uTW9kdWxlfSBmcm9tIFwiLi4vLi4vbG9jYWxpemF0aW9uL2xvY2FsaXphdGlvbi5tb2R1bGVcIjtcclxuaW1wb3J0IHtEaXJlY3RpdmVzTW9kdWxlfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy9kaXJlY3RpdmVzLm1vZHVsZVwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge1dvcmtmbG93Tm90aWZpY2F0aW9uVG9nZ2xlUG9wdXBDb21wb25lbnR9IGZyb20gXCIuL3dvcmtmbG93LW5vdGlmaWNhdGlvbi10b2dnbGUtcG9wdXBcIjtcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgIENsaWNrb3V0c2lkZU1vZHVsZSxcclxuICAgIExvY2FsaXphdGlvbk1vZHVsZSxcclxuICAgIEljb25Nb2R1bGUsXHJcbiAgICBEaXJlY3RpdmVzTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgT3ZlcmxheU1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBXb3JrZmxvd05vdGlmaWNhdGlvblRvZ2dsZUNvbXBvbmVudCxcclxuICAgIFdvcmtmbG93Tm90aWZpY2F0aW9uVG9nZ2xlUG9wdXBDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFdvcmtmbG93Tm90aWZpY2F0aW9uVG9nZ2xlQ29tcG9uZW50LFxyXG4gICAgV29ya2Zsb3dOb3RpZmljYXRpb25Ub2dnbGVQb3B1cENvbXBvbmVudFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBPdmVybGF5U2VydmljZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFdvcmtmbG93Tm90aWZpY2F0aW9uVG9nZ2xlTW9kdWxlIHtcclxuXHJcbn1cclxuIl19
@@ -0,0 +1,29 @@
1
+ import { Directive, Input } from "@angular/core";
2
+ import { AppAbsoluteOverlayOutletService } from "../service/app-absolute-overlay-outlet.service";
3
+ // Directive applicable to <ng-template>'s of components. Places template content in the app's absolute overlay outlet.
4
+ export class AbsoluteOverlayTemplateDirective {
5
+ constructor(_outletService) {
6
+ this._outletService = _outletService;
7
+ }
8
+ // spawn host template in absolute overlay outlet
9
+ ngOnInit() {
10
+ this._outletService.placeTemplateIntoOverlay(this.absoluteOverlayTemplate);
11
+ }
12
+ // de-spawn host template from absolute overlay outlet
13
+ ngOnDestroy() {
14
+ this._outletService.removeTemplateFromOverlay(this.absoluteOverlayTemplate);
15
+ this.absoluteOverlayTemplate = undefined;
16
+ }
17
+ }
18
+ AbsoluteOverlayTemplateDirective.decorators = [
19
+ { type: Directive, args: [{
20
+ selector: "[absoluteOverlayTemplate]"
21
+ },] }
22
+ ];
23
+ AbsoluteOverlayTemplateDirective.ctorParameters = () => [
24
+ { type: AppAbsoluteOverlayOutletService }
25
+ ];
26
+ AbsoluteOverlayTemplateDirective.propDecorators = {
27
+ absoluteOverlayTemplate: [{ type: Input }]
28
+ };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzb2x1dGUtb3ZlcmxheS10ZW1wbGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9hYnNvbHV0ZS1vdmVybGF5LXRlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBaUMsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFLL0YsdUhBQXVIO0FBQ3ZILE1BQU0sT0FBTyxnQ0FBZ0M7SUFLekMsWUFBb0IsY0FBK0M7UUFBL0MsbUJBQWMsR0FBZCxjQUFjLENBQWlDO0lBQ25FLENBQUM7SUFFRCxpREFBaUQ7SUFDakQsUUFBUTtRQUNKLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELHNEQUFzRDtJQUN0RCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsU0FBUyxDQUFDO0lBQzdDLENBQUM7OztZQXJCSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDJCQUEyQjthQUN4Qzs7O1lBSk8sK0JBQStCOzs7c0NBUWxDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBUZW1wbGF0ZVJlZn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtBcHBBYnNvbHV0ZU92ZXJsYXlPdXRsZXRTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZS9hcHAtYWJzb2x1dGUtb3ZlcmxheS1vdXRsZXQuc2VydmljZVwiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogXCJbYWJzb2x1dGVPdmVybGF5VGVtcGxhdGVdXCJcclxufSlcclxuLy8gRGlyZWN0aXZlIGFwcGxpY2FibGUgdG8gPG5nLXRlbXBsYXRlPidzIG9mIGNvbXBvbmVudHMuIFBsYWNlcyB0ZW1wbGF0ZSBjb250ZW50IGluIHRoZSBhcHAncyBhYnNvbHV0ZSBvdmVybGF5IG91dGxldC5cclxuZXhwb3J0IGNsYXNzIEFic29sdXRlT3ZlcmxheVRlbXBsYXRlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgLy8gVGhlIGhvc3QgPG5nLXRlbXBsYXRlPiB0YWcgdG8gd2hpY2ggdGhpcyBkaXJlY3RpdmUgaXMgYXBwbGllZC5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYWJzb2x1dGVPdmVybGF5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfb3V0bGV0U2VydmljZTogQXBwQWJzb2x1dGVPdmVybGF5T3V0bGV0U2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHNwYXduIGhvc3QgdGVtcGxhdGUgaW4gYWJzb2x1dGUgb3ZlcmxheSBvdXRsZXRcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX291dGxldFNlcnZpY2UucGxhY2VUZW1wbGF0ZUludG9PdmVybGF5KHRoaXMuYWJzb2x1dGVPdmVybGF5VGVtcGxhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGRlLXNwYXduIGhvc3QgdGVtcGxhdGUgZnJvbSBhYnNvbHV0ZSBvdmVybGF5IG91dGxldFxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb3V0bGV0U2VydmljZS5yZW1vdmVUZW1wbGF0ZUZyb21PdmVybGF5KHRoaXMuYWJzb2x1dGVPdmVybGF5VGVtcGxhdGUpO1xyXG4gICAgICAgIHRoaXMuYWJzb2x1dGVPdmVybGF5VGVtcGxhdGUgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,174 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, ElementRef, HostBinding, Input, NgZone } from "@angular/core";
3
+ import { InputBoolean } from "../decorator/input-boolean.decorator";
4
+ import { EventUtils } from "../utils/event-utils";
5
+ import { BrowserUtils } from "../utils/browser-utils";
6
+ export class AlignWithDirective {
7
+ constructor(_ngZone, _elementRef) {
8
+ this._ngZone = _ngZone;
9
+ this._elementRef = _elementRef;
10
+ this.keepInView = true;
11
+ this.keepInViewHorizontal = true;
12
+ this.keepInViewVertical = true;
13
+ this.ajustableHeight = false;
14
+ this.alignTopOffsetPx = 0;
15
+ this.alignLeftOffsetPx = 0;
16
+ this.fixed = "fixed";
17
+ this.scroll = () => {
18
+ this._alignWithZone();
19
+ };
20
+ this.resize = () => {
21
+ this._alignWithZone();
22
+ };
23
+ this.handleKeyUp = () => {
24
+ this._alignWithZone();
25
+ };
26
+ }
27
+ // a native OR custom element
28
+ set alignWith(alignWith) {
29
+ if (alignWith) {
30
+ // enables simple #templateVars passing to [alignWith] for native elements like <div>; Angular passes these as HTMLElement's
31
+ if (alignWith instanceof HTMLElement) {
32
+ this._hostNativeEl = alignWith;
33
+ }
34
+ else {
35
+ this._hostNativeEl = alignWith.nativeElement;
36
+ }
37
+ }
38
+ }
39
+ get _shouldDoAlign() {
40
+ return this._hostNativeEl && this.enableAlign;
41
+ }
42
+ ngAfterViewInit() {
43
+ this.align();
44
+ // align again after hosts 'animation finished'
45
+ setTimeout(() => {
46
+ this.align();
47
+ }, 200);
48
+ }
49
+ ngOnChanges() {
50
+ this.align();
51
+ }
52
+ ngAfterContentChecked() {
53
+ this.align();
54
+ }
55
+ ngOnDestroy() {
56
+ window.removeEventListener("scroll", this.scroll, EventUtils.passiveCapture);
57
+ window.removeEventListener("resize", this.resize, EventUtils.passiveCapture);
58
+ window.removeEventListener("keyup", this.handleKeyUp, EventUtils.passiveCapture);
59
+ this._elementRef = undefined;
60
+ this._hostNativeEl = undefined;
61
+ this.viewElement = undefined;
62
+ }
63
+ ngOnInit() {
64
+ this._ngZone.runOutsideAngular(() => {
65
+ window.addEventListener("scroll", this.scroll, EventUtils.passiveCapture);
66
+ window.addEventListener("resize", this.resize, EventUtils.passiveCapture);
67
+ window.addEventListener("keyup", this.handleKeyUp, EventUtils.passiveCapture);
68
+ });
69
+ }
70
+ _getDimensions() {
71
+ return {
72
+ top: this.top,
73
+ right: this.left + this._elementRef.nativeElement.clientWidth,
74
+ bottom: this.top + this._elementRef.nativeElement.clientHeight,
75
+ left: this.left
76
+ };
77
+ }
78
+ align() {
79
+ if (this._shouldDoAlign) {
80
+ const rect = this._hostNativeEl.getBoundingClientRect();
81
+ this.left = Math.max(0, rect.left + this.alignLeftOffsetPx);
82
+ this.top = rect.top + this.alignTopOffsetPx;
83
+ if (this.alignRight) {
84
+ this.left = rect.right - this._elementRef.nativeElement.clientWidth;
85
+ }
86
+ if (!this.noWidthAlign) {
87
+ this.width = rect.width;
88
+ }
89
+ let dimensions = this._getDimensions();
90
+ if (this.keepInView && !BrowserUtils.AreDimensionsInView(dimensions, this.viewElement)) {
91
+ const viewElemDimensions = BrowserUtils.GetDimensions(this.viewElement);
92
+ if (!BrowserUtils.HorizontalFitInView(dimensions, this.viewElement) && this.keepInViewHorizontal) {
93
+ this.left = Math.max(0, viewElemDimensions.right - this._elementRef.nativeElement.clientWidth);
94
+ dimensions = this._getDimensions();
95
+ }
96
+ if (!BrowserUtils.VerticalFitInView(dimensions, this.viewElement) && this.keepInViewVertical) {
97
+ // Prevent this from going negative (which can happen with tall popups on small screens) and starting offscreen.
98
+ this.top = Math.max(0, rect.top - this._elementRef.nativeElement.clientHeight);
99
+ dimensions = this._getDimensions();
100
+ }
101
+ // Prevent running off the _bottom_ of the screen
102
+ const overrun = dimensions.bottom - window.innerHeight;
103
+ if (overrun > 0) {
104
+ this.top = Math.max(0, this.top - overrun);
105
+ dimensions = this._getDimensions();
106
+ }
107
+ if (this.ajustableHeight) {
108
+ if (dimensions.bottom >= viewElemDimensions.bottom) {
109
+ this.height = viewElemDimensions.bottom - this.top;
110
+ }
111
+ else {
112
+ this.height = undefined;
113
+ }
114
+ }
115
+ }
116
+ }
117
+ }
118
+ _alignWithZone() {
119
+ if (this._shouldDoAlign) {
120
+ this._ngZone.run(() => {
121
+ this.align();
122
+ });
123
+ }
124
+ }
125
+ }
126
+ AlignWithDirective.decorators = [
127
+ { type: Directive, args: [{
128
+ selector: "[alignWith]"
129
+ },] }
130
+ ];
131
+ AlignWithDirective.ctorParameters = () => [
132
+ { type: NgZone },
133
+ { type: ElementRef }
134
+ ];
135
+ AlignWithDirective.propDecorators = {
136
+ alignWith: [{ type: Input }],
137
+ enableAlign: [{ type: Input }],
138
+ keepInView: [{ type: Input }],
139
+ keepInViewHorizontal: [{ type: Input }],
140
+ keepInViewVertical: [{ type: Input }],
141
+ alignRight: [{ type: Input }],
142
+ noWidthAlign: [{ type: Input }],
143
+ ajustableHeight: [{ type: Input }],
144
+ alignTopOffsetPx: [{ type: Input }],
145
+ alignLeftOffsetPx: [{ type: Input }],
146
+ viewElement: [{ type: Input }],
147
+ fixed: [{ type: HostBinding, args: ["style.position",] }],
148
+ left: [{ type: HostBinding, args: ["style.left.px",] }],
149
+ top: [{ type: HostBinding, args: ["style.top.px",] }],
150
+ height: [{ type: HostBinding, args: ["style.max-height.px",] }],
151
+ width: [{ type: HostBinding, args: ["style.width.px",] }]
152
+ };
153
+ __decorate([
154
+ InputBoolean()
155
+ ], AlignWithDirective.prototype, "enableAlign", void 0);
156
+ __decorate([
157
+ InputBoolean()
158
+ ], AlignWithDirective.prototype, "keepInView", void 0);
159
+ __decorate([
160
+ InputBoolean()
161
+ ], AlignWithDirective.prototype, "keepInViewHorizontal", void 0);
162
+ __decorate([
163
+ InputBoolean()
164
+ ], AlignWithDirective.prototype, "keepInViewVertical", void 0);
165
+ __decorate([
166
+ InputBoolean()
167
+ ], AlignWithDirective.prototype, "alignRight", void 0);
168
+ __decorate([
169
+ InputBoolean()
170
+ ], AlignWithDirective.prototype, "noWidthAlign", void 0);
171
+ __decorate([
172
+ InputBoolean()
173
+ ], AlignWithDirective.prototype, "ajustableHeight", void 0);
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxpZ24td2l0aC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9hbGlnbi13aXRoLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdILFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBSVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBRWxFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFLcEQsTUFBTSxPQUFPLGtCQUFrQjtJQWlFM0IsWUFBb0IsT0FBZSxFQUFVLFdBQXVCO1FBQWhELFlBQU8sR0FBUCxPQUFPLENBQVE7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQS9DN0QsZUFBVSxHQUFZLElBQUksQ0FBQztRQUczQix5QkFBb0IsR0FBWSxJQUFJLENBQUM7UUFHckMsdUJBQWtCLEdBQVksSUFBSSxDQUFDO1FBU25DLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBR2pDLHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUc3QixzQkFBaUIsR0FBVyxDQUFDLENBQUM7UUFNOUIsVUFBSyxHQUFXLE9BQU8sQ0FBQztRQTBHeEIsV0FBTSxHQUFHLEdBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFBO1FBRU0sV0FBTSxHQUFHLEdBQVMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFBO1FBRU0sZ0JBQVcsR0FBRyxHQUFTLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFCLENB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TCxXQUFXLFNBQUMsZ0JBQWdCO21CQUc1QixXQUFXLFNBQUMsZUFBZTtrQkFHM0IsV0FBVyxTQUFDLGNBQWM7cUJBRzFCLFdBQVcsU0FBQyxxQkFBcUI7b0JBR2pDLFdBQVcsU0FBQyxnQkFBZ0I7O0FBekM3QjtJQURVLFlBQVksRUFBRTt1REFDSTtBQUc1QjtJQURVLFlBQVksRUFBRTtzREFDVTtBQUdsQztJQURVLFlBQVksRUFBRTtnRUFDb0I7QUFHNUM7SUFEVSxZQUFZLEVBQUU7OERBQ2tCO0FBRzFDO0lBRFUsWUFBWSxFQUFFO3NEQUNHO0FBRzNCO0lBRFUsWUFBWSxFQUFFO3dEQUNLO0FBRzdCO0lBRFUsWUFBWSxFQUFFOzJEQUNnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBZnRlckNvbnRlbnRDaGVja2VkLFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIERpcmVjdGl2ZSxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBIb3N0QmluZGluZyxcclxuICAgIElucHV0LFxyXG4gICAgTmdab25lLFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT25Jbml0XHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJbnB1dEJvb2xlYW59IGZyb20gXCIuLi9kZWNvcmF0b3IvaW5wdXQtYm9vbGVhbi5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtFbGVtZW50UG9zaXRpb259IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyL2xpYi9jb3JlL21vZGVsL2VsZW1lbnQtcG9zaXRpb25cIjtcclxuaW1wb3J0IHtFdmVudFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvZXZlbnQtdXRpbHNcIjtcclxuaW1wb3J0IHtCcm93c2VyVXRpbHN9IGZyb20gXCIuLi91dGlscy9icm93c2VyLXV0aWxzXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiBcIlthbGlnbldpdGhdXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEFsaWduV2l0aERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudENoZWNrZWQge1xyXG4gICAgLy8gYSBuYXRpdmUgT1IgY3VzdG9tIGVsZW1lbnRcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGFsaWduV2l0aChhbGlnbldpdGg6IGFueSB8IEVsZW1lbnRSZWYpIHtcclxuICAgICAgICBpZiAoYWxpZ25XaXRoKSB7XHJcbiAgICAgICAgICAgIC8vIGVuYWJsZXMgc2ltcGxlICN0ZW1wbGF0ZVZhcnMgcGFzc2luZyB0byBbYWxpZ25XaXRoXSBmb3IgbmF0aXZlIGVsZW1lbnRzIGxpa2UgPGRpdj47IEFuZ3VsYXIgcGFzc2VzIHRoZXNlIGFzIEhUTUxFbGVtZW50J3NcclxuICAgICAgICAgICAgaWYgKGFsaWduV2l0aCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9ob3N0TmF0aXZlRWwgPSBhbGlnbldpdGg7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9ob3N0TmF0aXZlRWwgPSBhbGlnbldpdGgubmF0aXZlRWxlbWVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBlbmFibGVBbGlnbjogYm9vbGVhbjtcclxuXHJcbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBrZWVwSW5WaWV3OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBrZWVwSW5WaWV3SG9yaXpvbnRhbDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMga2VlcEluVmlld1ZlcnRpY2FsOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBhbGlnblJpZ2h0OiBib29sZWFuO1xyXG5cclxuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIG5vV2lkdGhBbGlnbjogYm9vbGVhbjtcclxuXHJcbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBhanVzdGFibGVIZWlnaHQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGFsaWduVG9wT2Zmc2V0UHg6IG51bWJlciA9IDA7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBhbGlnbkxlZnRPZmZzZXRQeDogbnVtYmVyID0gMDtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHZpZXdFbGVtZW50OiBFbGVtZW50UmVmO1xyXG5cclxuICAgIEBIb3N0QmluZGluZyhcInN0eWxlLnBvc2l0aW9uXCIpXHJcbiAgICBwdWJsaWMgZml4ZWQ6IHN0cmluZyA9IFwiZml4ZWRcIjtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJzdHlsZS5sZWZ0LnB4XCIpXHJcbiAgICBwdWJsaWMgbGVmdDogbnVtYmVyO1xyXG5cclxuICAgIEBIb3N0QmluZGluZyhcInN0eWxlLnRvcC5weFwiKVxyXG4gICAgcHVibGljIHRvcDogbnVtYmVyO1xyXG5cclxuICAgIEBIb3N0QmluZGluZyhcInN0eWxlLm1heC1oZWlnaHQucHhcIilcclxuICAgIHB1YmxpYyBoZWlnaHQ6IG51bWJlcjtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJzdHlsZS53aWR0aC5weFwiKVxyXG4gICAgcHVibGljIHdpZHRoOiBudW1iZXI7XHJcblxyXG4gICAgcHJpdmF0ZSBfaG9zdE5hdGl2ZUVsOiBhbnk7XHJcblxyXG4gICAgcHJpdmF0ZSBnZXQgX3Nob3VsZERvQWxpZ24oKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hvc3ROYXRpdmVFbCAmJiB0aGlzLmVuYWJsZUFsaWduO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX25nWm9uZTogTmdab25lLCBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYWxpZ24oKTtcclxuICAgICAgICAvLyBhbGlnbiBhZ2FpbiBhZnRlciBob3N0cyAnYW5pbWF0aW9uIGZpbmlzaGVkJ1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmFsaWduKCk7XHJcbiAgICAgICAgfSwgMjAwKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFsaWduKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYWxpZ24oKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aGlzLnNjcm9sbCwgRXZlbnRVdGlscy5wYXNzaXZlQ2FwdHVyZSk7XHJcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy5yZXNpemUsIEV2ZW50VXRpbHMucGFzc2l2ZUNhcHR1cmUpO1xyXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5dXBcIiwgdGhpcy5oYW5kbGVLZXlVcCwgRXZlbnRVdGlscy5wYXNzaXZlQ2FwdHVyZSk7XHJcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZiA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLl9ob3N0TmF0aXZlRWwgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy52aWV3RWxlbWVudCA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aGlzLnNjcm9sbCwgRXZlbnRVdGlscy5wYXNzaXZlQ2FwdHVyZSk7XHJcbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIHRoaXMucmVzaXplLCBFdmVudFV0aWxzLnBhc3NpdmVDYXB0dXJlKTtcclxuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXl1cFwiLCB0aGlzLmhhbmRsZUtleVVwLCBFdmVudFV0aWxzLnBhc3NpdmVDYXB0dXJlKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXREaW1lbnNpb25zKCk6IEVsZW1lbnRQb3NpdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdG9wOiB0aGlzLnRvcCxcclxuICAgICAgICAgICAgcmlnaHQ6IHRoaXMubGVmdCArIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCxcclxuICAgICAgICAgICAgYm90dG9tOiB0aGlzLnRvcCArIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQsXHJcbiAgICAgICAgICAgIGxlZnQ6IHRoaXMubGVmdFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFsaWduKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9zaG91bGREb0FsaWduKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlY3Q6IENsaWVudFJlY3QgPSB0aGlzLl9ob3N0TmF0aXZlRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICAgIHRoaXMubGVmdCA9IE1hdGgubWF4KDAsIHJlY3QubGVmdCArIHRoaXMuYWxpZ25MZWZ0T2Zmc2V0UHgpO1xyXG4gICAgICAgICAgICB0aGlzLnRvcCA9IHJlY3QudG9wICsgdGhpcy5hbGlnblRvcE9mZnNldFB4O1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hbGlnblJpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxlZnQgPSByZWN0LnJpZ2h0IC0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5ub1dpZHRoQWxpZ24pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMud2lkdGggPSByZWN0LndpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBkaW1lbnNpb25zID0gdGhpcy5fZ2V0RGltZW5zaW9ucygpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5rZWVwSW5WaWV3ICYmICFCcm93c2VyVXRpbHMuQXJlRGltZW5zaW9uc0luVmlldyhkaW1lbnNpb25zLCB0aGlzLnZpZXdFbGVtZW50KSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgdmlld0VsZW1EaW1lbnNpb25zOiBFbGVtZW50UG9zaXRpb24gPSBCcm93c2VyVXRpbHMuR2V0RGltZW5zaW9ucyh0aGlzLnZpZXdFbGVtZW50KTtcclxuICAgICAgICAgICAgICAgIGlmICghQnJvd3NlclV0aWxzLkhvcml6b250YWxGaXRJblZpZXcoZGltZW5zaW9ucywgdGhpcy52aWV3RWxlbWVudCkgJiYgdGhpcy5rZWVwSW5WaWV3SG9yaXpvbnRhbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGVmdCA9IE1hdGgubWF4KDAsIHZpZXdFbGVtRGltZW5zaW9ucy5yaWdodCAtIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGltZW5zaW9ucyA9IHRoaXMuX2dldERpbWVuc2lvbnMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghQnJvd3NlclV0aWxzLlZlcnRpY2FsRml0SW5WaWV3KGRpbWVuc2lvbnMsIHRoaXMudmlld0VsZW1lbnQpICYmIHRoaXMua2VlcEluVmlld1ZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gUHJldmVudCB0aGlzIGZyb20gZ29pbmcgbmVnYXRpdmUgKHdoaWNoIGNhbiBoYXBwZW4gd2l0aCB0YWxsIHBvcHVwcyBvbiBzbWFsbCBzY3JlZW5zKSBhbmQgc3RhcnRpbmcgb2Zmc2NyZWVuLlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9wID0gTWF0aC5tYXgoMCwgcmVjdC50b3AgLSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICBkaW1lbnNpb25zID0gdGhpcy5fZ2V0RGltZW5zaW9ucygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gUHJldmVudCBydW5uaW5nIG9mZiB0aGUgX2JvdHRvbV8gb2YgdGhlIHNjcmVlblxyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3ZlcnJ1biA9IGRpbWVuc2lvbnMuYm90dG9tIC0gd2luZG93LmlubmVySGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgaWYgKG92ZXJydW4gPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b3AgPSBNYXRoLm1heCgwLCB0aGlzLnRvcCAtIG92ZXJydW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpbWVuc2lvbnMgPSB0aGlzLl9nZXREaW1lbnNpb25zKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYWp1c3RhYmxlSGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRpbWVuc2lvbnMuYm90dG9tID49IHZpZXdFbGVtRGltZW5zaW9ucy5ib3R0b20pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oZWlnaHQgPSB2aWV3RWxlbURpbWVuc2lvbnMuYm90dG9tIC0gdGhpcy50b3A7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oZWlnaHQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzY3JvbGwgPSAoKTogdm9pZCA9PiB7XHJcbiAgICAgICAgdGhpcy5fYWxpZ25XaXRoWm9uZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZXNpemUgPSAoKTogdm9pZCA9PiB7XHJcbiAgICAgICAgdGhpcy5fYWxpZ25XaXRoWm9uZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVLZXlVcCA9ICgpOiB2b2lkID0+IHtcclxuICAgICAgICB0aGlzLl9hbGlnbldpdGhab25lKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfYWxpZ25XaXRoWm9uZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5fc2hvdWxkRG9BbGlnbikge1xyXG4gICAgICAgICAgICB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWxpZ24oKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { Directive, EventEmitter, HostListener, Output, ElementRef, } from '@angular/core';
2
+ export class ClickOutsideDirective {
3
+ constructor(elementRef) {
4
+ this.elementRef = elementRef;
5
+ this.outsideClick = new EventEmitter();
6
+ }
7
+ onClick(event) {
8
+ if (!this.elementRef.nativeElement.contains(event.target)) {
9
+ this.outsideClick.emit(event);
10
+ }
11
+ }
12
+ }
13
+ ClickOutsideDirective.decorators = [
14
+ { type: Directive, args: [{
15
+ selector: '[outsideClick]',
16
+ },] }
17
+ ];
18
+ ClickOutsideDirective.ctorParameters = () => [
19
+ { type: ElementRef }
20
+ ];
21
+ ClickOutsideDirective.propDecorators = {
22
+ outsideClick: [{ type: Output }],
23
+ onClick: [{ type: HostListener, args: ['document:mousedown', ['$event'],] }]
24
+ };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUNOLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUt2QixNQUFNLE9BQU8scUJBQXFCO0lBWWhDLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFUMUMsaUJBQVksR0FBNkIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQVNmLENBQUM7SUFOOUMsT0FBTyxDQUFDLEtBQWlCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQzs7O1lBYkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7YUFDM0I7OztZQUxDLFVBQVU7OzsyQkFRVCxNQUFNO3NCQUdOLFlBQVksU0FBQyxvQkFBb0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgT3V0cHV0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tvdXRzaWRlQ2xpY2tdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENsaWNrT3V0c2lkZURpcmVjdGl2ZSB7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG91dHNpZGVDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZWRvd24nLCBbJyRldmVudCddKVxyXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xyXG4gICAgICB0aGlzLm91dHNpZGVDbGljay5lbWl0KGV2ZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cclxufVxyXG4iXX0=