@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.
- package/bundles/colijnit-sharedcomponents.umd.js +3863 -56
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.d.ts +38 -0
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/colijnit-sharedcomponents.js +39 -1
- package/esm2015/lib/components/activity-list-header/activity-list-header.component.js +67 -0
- package/esm2015/lib/components/activity-list-header/activity-list-header.module.js +28 -0
- package/esm2015/lib/components/activity-list-header/components/period-filter/period-filter-popup.component.js +55 -0
- package/esm2015/lib/components/activity-list-header/components/period-filter/period-filter.component.js +103 -0
- package/esm2015/lib/components/activity-list-header/components/period-filter/period-filter.module.js +34 -0
- package/esm2015/lib/components/activity-overview-component/component-activity-overview.component.js +130 -0
- package/esm2015/lib/components/activity-overview-component/component-activity-overview.module.js +26 -0
- package/esm2015/lib/components/activity-overview-component/components/base-activity-overview.component.js +278 -0
- package/esm2015/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.component.js +100 -0
- package/esm2015/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.module.js +25 -0
- package/esm2015/lib/components/modify-task-form/components/base-activity-summary.component.js +132 -0
- package/esm2015/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.component.js +118 -0
- package/esm2015/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.module.js +27 -0
- package/esm2015/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.component.js +88 -0
- package/esm2015/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.module.js +24 -0
- package/esm2015/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.component.js +77 -0
- package/esm2015/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.module.js +24 -0
- package/esm2015/lib/components/modify-task-form/components/status-summary-block/status-summary-block.component.js +74 -0
- package/esm2015/lib/components/modify-task-form/components/status-summary-block/status-summary-block.module.js +25 -0
- package/esm2015/lib/components/modify-task-form/components/task-details/task-details.component.js +105 -0
- package/esm2015/lib/components/modify-task-form/components/task-details/task-details.module.js +25 -0
- package/esm2015/lib/components/modify-task-form/modify-task-form.component.js +284 -0
- package/esm2015/lib/components/modify-task-form/modify-task-form.module.js +40 -0
- package/esm2015/lib/components/open-activity-list/component-activity-list.component.js +278 -0
- package/esm2015/lib/components/open-activity-list/component-activity-list.module.js +30 -0
- package/esm2015/lib/components/open-activity-list/components/base-open-activity-list.component.js +266 -0
- package/esm2015/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.component.js +41 -0
- package/esm2015/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.module..js +19 -0
- package/esm2015/lib/components/simple-tags/simple-tags.component.js +5 -147
- package/esm2015/lib/components/simple-tags/simple-tags.module.js +4 -2
- package/esm2015/lib/components/simple-tags-form/simple-tags-form.component.js +196 -0
- package/esm2015/lib/components/simple-tags-form/simple-tags-form.module.js +26 -0
- package/esm2015/lib/components/stock/components/stock-location/components/stock-location-popup/stock-location-popup.component.js +3 -3
- package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +28 -2
- package/esm2015/lib/components/stock/localization/translation.js +3 -1
- package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +7 -2
- package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +144 -85
- package/esm2015/lib/components/stock/stock.component.js +11 -42
- package/esm2015/lib/components/stock/stock.module.js +4 -3
- package/esm2015/lib/components/task-modifyer/task-modifier.component.js +270 -0
- package/esm2015/lib/components/task-modifyer/task-modifyer.module..js +31 -0
- package/esm2015/lib/components/workflow-info-tiles/components/workflow-info-tile.component.js +45 -0
- package/esm2015/lib/components/workflow-info-tiles/components/workflow-info-tile.module.js +22 -0
- package/esm2015/lib/components/workflow-info-tiles/workflow-info-tiles.component.js +55 -0
- package/esm2015/lib/components/workflow-info-tiles/workflow-info-tiles.module.js +22 -0
- package/esm2015/lib/components/workflow-notification-toggle/workflow-notification-toggle-popup.js +53 -0
- package/esm2015/lib/components/workflow-notification-toggle/workflow-notification-toggle.component.js +81 -0
- package/esm2015/lib/components/workflow-notification-toggle/workflow-notification-toggle.module.js +34 -0
- package/esm2015/lib/directives/absolute-overlay-template.directive.js +29 -0
- package/esm2015/lib/directives/align-with.directive.js +174 -0
- package/esm2015/lib/directives/click-outside.directive.js +25 -0
- package/esm2015/lib/directives/directives.module.js +22 -0
- package/esm2015/lib/enum/activity-cfg-name.enum.js +29 -0
- package/esm2015/lib/enum/app-button-type.enum.js +11 -0
- package/esm2015/lib/enum/icon.enum.js +13 -1
- package/esm2015/lib/interface/activities-task-config-names.js +2 -0
- package/esm2015/lib/interface/operation-callback-activity.js +5 -0
- package/esm2015/lib/interface/operation-callback-function-with-validation.js +5 -0
- package/esm2015/lib/model/icon-svg.js +13 -1
- package/esm2015/lib/service/app-absolute-overlay-outlet.service.js +20 -0
- package/esm2015/lib/service/shared-connector.service.js +213 -1
- package/esm2015/lib/service/shared.service.js +93 -1
- package/esm2015/lib/utils/browser-utils.js +100 -0
- package/esm2015/lib/utils/event-utils.js +59 -0
- package/esm2015/lib/utils/string-utils.js +5 -1
- package/esm2015/public-api.js +7 -1
- package/fesm2015/colijnit-sharedcomponents.js +4044 -228
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/lib/components/activity-list-header/activity-list-header.component.d.ts +25 -0
- package/lib/components/activity-list-header/activity-list-header.module.d.ts +2 -0
- package/lib/components/activity-list-header/components/period-filter/period-filter-popup.component.d.ts +11 -0
- package/lib/components/activity-list-header/components/period-filter/period-filter.component.d.ts +26 -0
- package/lib/components/activity-list-header/components/period-filter/period-filter.module.d.ts +2 -0
- package/lib/components/activity-list-header/components/period-filter/style/_layout.scss +62 -0
- package/lib/components/activity-list-header/components/period-filter/style/_material-definition.scss +1 -0
- package/lib/components/activity-list-header/components/period-filter/style/_theme.scss +5 -0
- package/lib/components/activity-list-header/components/period-filter/style/material.scss +4 -0
- package/lib/components/activity-list-header/style/_layout.scss +84 -0
- package/lib/components/activity-list-header/style/_material-definition.scss +1 -0
- package/lib/components/activity-list-header/style/_theme.scss +5 -0
- package/lib/components/activity-list-header/style/material.scss +4 -0
- package/lib/components/activity-overview-component/component-activity-overview.component.d.ts +15 -0
- package/lib/components/activity-overview-component/component-activity-overview.module.d.ts +2 -0
- package/lib/components/activity-overview-component/components/base-activity-overview.component.d.ts +79 -0
- package/lib/components/activity-overview-component/style/_layout.scss +107 -0
- package/lib/components/activity-overview-component/style/_material-definition.scss +1 -0
- package/lib/components/activity-overview-component/style/_theme.scss +5 -0
- package/lib/components/activity-overview-component/style/material.scss +4 -0
- package/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.component.d.ts +31 -0
- package/lib/components/modify-task-form/components/activity-summary-block/activity-summary-block.module.d.ts +2 -0
- package/lib/components/modify-task-form/components/activity-summary-block/style/_layout.scss +139 -0
- package/lib/components/modify-task-form/components/activity-summary-block/style/_material-definition.scss +0 -0
- package/lib/components/modify-task-form/components/activity-summary-block/style/_theme.scss +5 -0
- package/lib/components/modify-task-form/components/activity-summary-block/style/material.scss +4 -0
- package/lib/components/modify-task-form/components/base-activity-summary.component.d.ts +52 -0
- package/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.component.d.ts +28 -0
- package/lib/components/modify-task-form/components/creation-summary-block/creation-summary-block.module.d.ts +2 -0
- package/lib/components/modify-task-form/components/creation-summary-block/style/_layout.scss +5 -0
- package/lib/components/modify-task-form/components/creation-summary-block/style/_material-definition.scss +0 -0
- package/lib/components/modify-task-form/components/creation-summary-block/style/_theme.scss +5 -0
- package/lib/components/modify-task-form/components/creation-summary-block/style/material.scss +4 -0
- package/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.component.d.ts +24 -0
- package/lib/components/modify-task-form/components/executive-summary-block/executive-summary-block.module.d.ts +2 -0
- package/lib/components/modify-task-form/components/executive-summary-block/style/_layout.scss +5 -0
- package/lib/components/modify-task-form/components/executive-summary-block/style/_material-definition.scss +0 -0
- package/lib/components/modify-task-form/components/executive-summary-block/style/_theme.scss +5 -0
- package/lib/components/modify-task-form/components/executive-summary-block/style/material.scss +4 -0
- package/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.component.d.ts +23 -0
- package/lib/components/modify-task-form/components/notification-summary-block/notification-summary-block.module.d.ts +2 -0
- package/lib/components/modify-task-form/components/notification-summary-block/style/_layout.scss +161 -0
- package/lib/components/modify-task-form/components/notification-summary-block/style/_material-definition.scss +0 -0
- package/lib/components/modify-task-form/components/notification-summary-block/style/_theme.scss +5 -0
- package/lib/components/modify-task-form/components/notification-summary-block/style/material.scss +4 -0
- package/lib/components/modify-task-form/components/status-summary-block/status-summary-block.component.d.ts +17 -0
- package/lib/components/modify-task-form/components/status-summary-block/status-summary-block.module.d.ts +2 -0
- package/lib/components/modify-task-form/components/status-summary-block/style/_layout.scss +18 -0
- package/lib/components/modify-task-form/components/status-summary-block/style/_material-definition.scss +0 -0
- package/lib/components/modify-task-form/components/status-summary-block/style/_theme.scss +5 -0
- package/lib/components/modify-task-form/components/status-summary-block/style/material.scss +4 -0
- package/lib/components/modify-task-form/components/task-details/style/_layout.scss +142 -0
- package/lib/components/modify-task-form/components/task-details/style/_material-definition.scss +0 -0
- package/lib/components/modify-task-form/components/task-details/style/_theme.scss +5 -0
- package/lib/components/modify-task-form/components/task-details/style/material.scss +4 -0
- package/lib/components/modify-task-form/components/task-details/task-details.component.d.ts +23 -0
- package/lib/components/modify-task-form/components/task-details/task-details.module.d.ts +2 -0
- package/lib/components/modify-task-form/modify-task-form.component.d.ts +54 -0
- package/lib/components/modify-task-form/modify-task-form.module.d.ts +2 -0
- package/lib/components/modify-task-form/style/_layout.scss +139 -0
- package/lib/components/modify-task-form/style/_material-definition.scss +0 -0
- package/lib/components/modify-task-form/style/_theme.scss +5 -0
- package/lib/components/modify-task-form/style/material.scss +4 -0
- package/lib/components/open-activity-list/component-activity-list.component.d.ts +67 -0
- package/lib/components/open-activity-list/component-activity-list.module.d.ts +2 -0
- package/lib/components/open-activity-list/components/base-open-activity-list.component.d.ts +48 -0
- package/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.component.d.ts +4 -0
- package/lib/components/open-activity-list/components/personal-activity-overview/personal-activity-overview.module..d.ts +2 -0
- package/lib/components/open-activity-list/components/personal-activity-overview/style/_layout.scss +105 -0
- package/lib/components/open-activity-list/components/personal-activity-overview/style/_material-definition.scss +0 -0
- package/lib/components/open-activity-list/components/personal-activity-overview/style/_theme.scss +4 -0
- package/lib/components/open-activity-list/components/personal-activity-overview/style/material.scss +4 -0
- package/lib/components/open-activity-list/style/_layout.scss +26 -0
- package/lib/components/open-activity-list/style/_material-definition.scss +0 -0
- package/lib/components/open-activity-list/style/_theme.scss +4 -0
- package/lib/components/open-activity-list/style/material.scss +4 -0
- package/lib/components/simple-tags/simple-tags.component.d.ts +1 -8
- package/lib/components/simple-tags-form/simple-tags-form.component.d.ts +29 -0
- package/lib/components/simple-tags-form/simple-tags-form.module.d.ts +2 -0
- package/lib/components/simple-tags-form/style/_layout.scss +257 -0
- package/lib/components/simple-tags-form/style/_material-definition.scss +39 -0
- package/lib/components/simple-tags-form/style/_theme.scss +4 -0
- package/lib/components/simple-tags-form/style/material.scss +4 -0
- package/lib/components/stock/components/stock-location/stock-location.component.d.ts +7 -1
- package/lib/components/stock/localization/translation.d.ts +2 -0
- package/lib/components/stock/stock-tabs/stock-tabs.component.d.ts +2 -0
- package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +19 -6
- package/lib/components/stock/stock.component.d.ts +3 -0
- package/lib/components/stock/style/_layout.scss +64 -31
- package/lib/components/task-modifyer/style/_layout.scss +5 -0
- package/lib/components/task-modifyer/style/_material-definition.scss +0 -0
- package/lib/components/task-modifyer/style/_theme.scss +4 -0
- package/lib/components/task-modifyer/style/material.scss +4 -0
- package/lib/components/task-modifyer/task-modifier.component.d.ts +65 -0
- package/lib/components/task-modifyer/task-modifyer.module..d.ts +2 -0
- package/lib/components/workflow-info-tiles/components/style/_layout.scss +49 -0
- package/lib/components/workflow-info-tiles/components/style/_material-definition.scss +0 -0
- package/lib/components/workflow-info-tiles/components/style/_theme.scss +4 -0
- package/lib/components/workflow-info-tiles/components/style/material.scss +4 -0
- package/lib/components/workflow-info-tiles/components/workflow-info-tile.component.d.ts +15 -0
- package/lib/components/workflow-info-tiles/components/workflow-info-tile.module.d.ts +2 -0
- package/lib/components/workflow-info-tiles/style/_layout.scss +16 -0
- package/lib/components/workflow-info-tiles/style/_material-definition.scss +0 -0
- package/lib/components/workflow-info-tiles/style/_theme.scss +4 -0
- package/lib/components/workflow-info-tiles/style/material.scss +4 -0
- package/lib/components/workflow-info-tiles/workflow-info-tiles.component.d.ts +21 -0
- package/lib/components/workflow-info-tiles/workflow-info-tiles.module.d.ts +2 -0
- package/lib/components/workflow-notification-toggle/style/_layout.scss +59 -0
- package/lib/components/workflow-notification-toggle/style/_material-definition.scss +0 -0
- package/lib/components/workflow-notification-toggle/style/_theme.scss +4 -0
- package/lib/components/workflow-notification-toggle/style/material.scss +4 -0
- package/lib/components/workflow-notification-toggle/workflow-notification-toggle-popup.d.ts +15 -0
- package/lib/components/workflow-notification-toggle/workflow-notification-toggle.component.d.ts +28 -0
- package/lib/components/workflow-notification-toggle/workflow-notification-toggle.module.d.ts +2 -0
- package/lib/directives/absolute-overlay-template.directive.d.ts +9 -0
- package/lib/directives/align-with.directive.d.ts +35 -0
- package/lib/directives/click-outside.directive.d.ts +7 -0
- package/lib/directives/directives.module.d.ts +2 -0
- package/lib/enum/activity-cfg-name.enum.d.ts +27 -0
- package/lib/enum/app-button-type.enum.d.ts +9 -0
- package/lib/enum/icon.enum.d.ts +12 -0
- package/lib/interface/activities-task-config-names.d.ts +12 -0
- package/lib/interface/operation-callback-activity.d.ts +5 -0
- package/lib/interface/operation-callback-function-with-validation.d.ts +5 -0
- package/lib/service/app-absolute-overlay-outlet.service.d.ts +9 -0
- package/lib/service/shared-connector.service.d.ts +28 -0
- package/lib/service/shared.service.d.ts +28 -0
- package/lib/utils/browser-utils.d.ts +15 -0
- package/lib/utils/event-utils.d.ts +12 -0
- package/lib/utils/string-utils.d.ts +1 -0
- package/package.json +7 -5
- 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==
|
package/esm2015/lib/components/workflow-notification-toggle/workflow-notification-toggle-popup.js
ADDED
|
@@ -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
|
package/esm2015/lib/components/workflow-notification-toggle/workflow-notification-toggle.module.js
ADDED
|
@@ -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=
|