@colijnit/sharedcomponents 1.0.68 → 1.0.70
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/3rdpartylicenses.txt +1203 -0
- package/bundles/colijnit-sharedcomponents.umd.js +3335 -7
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.d.ts +36 -0
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/colijnit-sharedcomponents.js +37 -1
- package/esm2015/lib/businessobject/co-document-right.bo.js +1 -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 +129 -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 +284 -0
- package/esm2015/lib/components/date-planning/component/agenda/agenda-header.component.js +32 -3
- package/esm2015/lib/components/image-display/image-display.component.js +7 -7
- 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 +134 -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 +71 -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 +102 -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 +258 -0
- package/esm2015/lib/components/modify-task-form/modify-task-form.module.js +33 -0
- package/esm2015/lib/components/open-activity-list/component-activity-list.component.js +293 -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 +264 -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/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-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/calendar-view.enum.js +2 -1
- 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/interface/operation-callback-simple-function.js +1 -1
- package/esm2015/lib/model/icon-svg.js +15 -3
- package/esm2015/lib/service/app-absolute-overlay-outlet.service.js +20 -0
- package/esm2015/lib/service/shared-connector.service.js +121 -1
- package/esm2015/lib/service/shared.service.js +50 -1
- package/esm2015/lib/utils/browser-utils.js +100 -0
- package/esm2015/lib/utils/calendar.utils.js +34 -1
- package/esm2015/lib/utils/event-utils.js +59 -0
- package/esm2015/lib/utils/string-utils.js +5 -1
- package/esm2015/public-api.js +3 -1
- package/favicon.ico +0 -0
- package/fesm2015/colijnit-sharedcomponents.js +3486 -13
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/index.html +12 -0
- 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 +13 -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 +84 -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/date-planning/component/agenda/style/_layout.scss +68 -55
- package/lib/components/date-planning/component/agenda/style/_material-definition.scss +1 -1
- package/lib/components/date-planning/style/_layout.scss +1 -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 +53 -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 +15 -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 +21 -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 +49 -0
- package/lib/components/modify-task-form/modify-task-form.module.d.ts +2 -0
- package/lib/components/modify-task-form/style/_layout.scss +135 -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 +69 -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 +46 -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/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 +67 -0
- package/lib/components/task-modifyer/task-modifyer.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/calendar-view.enum.d.ts +1 -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 +18 -0
- package/lib/service/shared.service.d.ts +16 -0
- package/lib/utils/browser-utils.d.ts +15 -0
- package/lib/utils/calendar.utils.d.ts +1 -0
- package/lib/utils/event-utils.d.ts +12 -0
- package/lib/utils/string-utils.d.ts +1 -0
- package/main.36b466467ac98ce720f9.js +1 -0
- package/package.json +2 -1
- package/polyfills.907fe9d1887c5de17993.js +1 -0
- package/public-api.d.ts +2 -0
- package/runtime.8aac21847ed3d3829cca.js +1 -0
- package/styles.6375d1d30814ecba5d0c.css +1 -0
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
import { __awaiter, __decorate } from "tslib";
|
|
2
|
+
import { animate, state, style, transition, trigger } from "@angular/animations";
|
|
3
|
+
import { BaseActivityListComponent } from "./components/base-open-activity-list.component";
|
|
4
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewChildren } from "@angular/core";
|
|
5
|
+
import { Icon } from "../../enum/icon.enum";
|
|
6
|
+
import { Activity } from "@colijnit/mainapi/build/model/activity.bo";
|
|
7
|
+
import { InputBoolean } from "../../decorator/input-boolean.decorator";
|
|
8
|
+
import { ActivityType } from "@colijnit/mainapi/build/enum/activity-type";
|
|
9
|
+
import { PersonalActivityTabEnum } from "@colijnit/mainapi/build/enum/personal-activity-tab.enum";
|
|
10
|
+
import { ActivitySortType } from "@colijnit/mainapi/build/enum/activity-sort-type.enum";
|
|
11
|
+
import { OperationWithAlwaysSuccessCallback } from "../../interface/operation-callback-simple-function";
|
|
12
|
+
import { PersonalActivityOverviewComponent } from "./components/personal-activity-overview/personal-activity-overview.component";
|
|
13
|
+
import { OperationWithValidationCallback } from "../../interface/operation-callback-function-with-validation";
|
|
14
|
+
export class ComponentActivityListComponent extends BaseActivityListComponent {
|
|
15
|
+
constructor() {
|
|
16
|
+
super();
|
|
17
|
+
this.tabs = PersonalActivityTabEnum;
|
|
18
|
+
this.icons = Icon;
|
|
19
|
+
this.activityClass = Activity;
|
|
20
|
+
this.activitySortType = ActivitySortType;
|
|
21
|
+
this.hideTitle = false;
|
|
22
|
+
this.noFreeTasks = false;
|
|
23
|
+
this.componentActivitiesMethod = OperationWithAlwaysSuccessCallback;
|
|
24
|
+
this.fireGenericTriggerOperation = OperationWithValidationCallback;
|
|
25
|
+
this.fireTriggerOperation = OperationWithValidationCallback;
|
|
26
|
+
this.canFireTriggerOperation = OperationWithAlwaysSuccessCallback;
|
|
27
|
+
this.setHasPausedNotificationsForWorkflowProcessOperation = OperationWithValidationCallback;
|
|
28
|
+
this.lockTaskOperation = OperationWithAlwaysSuccessCallback;
|
|
29
|
+
this.deleteActivityOperation = OperationWithAlwaysSuccessCallback;
|
|
30
|
+
this.upsertActivityOperation = OperationWithAlwaysSuccessCallback;
|
|
31
|
+
this.openLinkClick = new EventEmitter();
|
|
32
|
+
this.amountActivityChanged = new EventEmitter();
|
|
33
|
+
this.linkClicked = new EventEmitter();
|
|
34
|
+
this.formCreated = new EventEmitter();
|
|
35
|
+
this.genericTriggerFired = new EventEmitter();
|
|
36
|
+
this.triggerFired = new EventEmitter();
|
|
37
|
+
this.showUsergroupActivitiesChanged = new EventEmitter();
|
|
38
|
+
this.activeTab = PersonalActivityTabEnum.TODO;
|
|
39
|
+
/*public activitySortList: boolean[] = [];*/
|
|
40
|
+
this.activityList = [];
|
|
41
|
+
this._subs = [];
|
|
42
|
+
this._activitiesList = [];
|
|
43
|
+
}
|
|
44
|
+
showClass() {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
set table(value) {
|
|
48
|
+
this._table = value;
|
|
49
|
+
this.getTheActivities();
|
|
50
|
+
}
|
|
51
|
+
get table() {
|
|
52
|
+
return this._table;
|
|
53
|
+
}
|
|
54
|
+
set key(value) {
|
|
55
|
+
this._key = value;
|
|
56
|
+
this.getTheActivities();
|
|
57
|
+
}
|
|
58
|
+
get key() {
|
|
59
|
+
return this._key;
|
|
60
|
+
}
|
|
61
|
+
trackByFn(index, vm) {
|
|
62
|
+
return vm.activity.id + '_' + vm.activity.workflow.combinedTriggerIds;
|
|
63
|
+
}
|
|
64
|
+
//TODO do we still need this?
|
|
65
|
+
/*async ngOnInit(): Promise<void> {
|
|
66
|
+
this._subs.push(
|
|
67
|
+
this._appEventService.taskCreated.subscribe(() => {
|
|
68
|
+
this.getTheActivities();
|
|
69
|
+
}),
|
|
70
|
+
this._appEventService.taskModified.subscribe(() => {
|
|
71
|
+
this.getTheActivities();
|
|
72
|
+
}),
|
|
73
|
+
this._appEventService.triggerFired.subscribe(() => {
|
|
74
|
+
this.getTheActivities();
|
|
75
|
+
})
|
|
76
|
+
);
|
|
77
|
+
}*/
|
|
78
|
+
ngOnDestroy() {
|
|
79
|
+
this._subs.forEach(s => s.unsubscribe());
|
|
80
|
+
super.ngOnDestroy();
|
|
81
|
+
}
|
|
82
|
+
set activitiesList(allActivities) {
|
|
83
|
+
this._activitiesList = allActivities;
|
|
84
|
+
if (allActivities) {
|
|
85
|
+
this.activities = this.noFreeTasks ? allActivities.filter(aa => !aa.task && aa.activityType !== ActivityType.WorkflowTask) :
|
|
86
|
+
allActivities.filter(aa => aa.activityType !== ActivityType.WorkflowTask);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
this.activities = [];
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
get activitiesList() {
|
|
93
|
+
return this._activitiesList;
|
|
94
|
+
}
|
|
95
|
+
/*public async getActivities(): Promise<void> {
|
|
96
|
+
if (this.table && this.key) {
|
|
97
|
+
const allActivities: Activity[] = await this._activityRepo.getComponentActivities(this.table, this.key);
|
|
98
|
+
if (allActivities) {
|
|
99
|
+
this.activities = this.noFreeTasks ? allActivities.filter(aa => !aa.task && aa.activityType !== ActivityType.WorkflowTask) :
|
|
100
|
+
allActivities.filter(aa => aa.activityType !== ActivityType.WorkflowTask);
|
|
101
|
+
} else {
|
|
102
|
+
this.activities = [];
|
|
103
|
+
}
|
|
104
|
+
this.amountActivityChanged.next(this.activities.length);
|
|
105
|
+
}
|
|
106
|
+
}*/
|
|
107
|
+
getDelegatedActivities() {
|
|
108
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
// const allActivities: Activity[] = await this._activityRepo.getComponentActivities(this.table, this.key);
|
|
110
|
+
// this.delegatedActivities = allActivities ? allActivities.filter(aa => aa.activityType !== ActivityType.WorkflowTask) : [];
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
/*//TODO there were already unused before the move. Can they go?
|
|
114
|
+
public handleOpenLink(activity: Activity): void {
|
|
115
|
+
this.openLinkClick.next(activity);
|
|
116
|
+
}*/
|
|
117
|
+
showUsergroupActivitiesChange() {
|
|
118
|
+
this.showUsergroupActivitiesChanged.next();
|
|
119
|
+
}
|
|
120
|
+
handleTriggerFired(activity) {
|
|
121
|
+
this.triggerFired.next(activity);
|
|
122
|
+
}
|
|
123
|
+
handleGenericTriggerFired(activity) {
|
|
124
|
+
this.genericTriggerFired.next(activity);
|
|
125
|
+
}
|
|
126
|
+
handleFormCreation() {
|
|
127
|
+
this.formCreated.next();
|
|
128
|
+
}
|
|
129
|
+
handleChangedActivity(idx, activity) {
|
|
130
|
+
if (this.activities) {
|
|
131
|
+
this.activities[idx] = activity;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
deleteActivity(activity) {
|
|
135
|
+
this.amountActivityChanged.next(this.activities.length - 1);
|
|
136
|
+
}
|
|
137
|
+
reset() {
|
|
138
|
+
super.reset();
|
|
139
|
+
this.activityList = [];
|
|
140
|
+
}
|
|
141
|
+
doFilterClicked(filter) {
|
|
142
|
+
if (filter.from && filter.to) {
|
|
143
|
+
this.filterFrom = new Date(filter.from);
|
|
144
|
+
this.filterFrom.setHours(0);
|
|
145
|
+
this.filterFrom.setMinutes(0);
|
|
146
|
+
this.filterFrom.setSeconds(0);
|
|
147
|
+
this.filterTo = new Date(filter.to);
|
|
148
|
+
this.filterTo.setHours(0);
|
|
149
|
+
this.filterTo.setMinutes(0);
|
|
150
|
+
this.filterTo.setSeconds(0);
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
this.filterFrom = undefined;
|
|
154
|
+
this.filterTo = undefined;
|
|
155
|
+
}
|
|
156
|
+
this.applyFilter();
|
|
157
|
+
}
|
|
158
|
+
openFirstTask() {
|
|
159
|
+
if (!this.activities) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
const tasks = this.activities.filter((value => value.IsTask));
|
|
163
|
+
if (tasks && tasks.length > 0) {
|
|
164
|
+
const activityOverviews = this.activityOverviewList.toArray();
|
|
165
|
+
if (activityOverviews && activityOverviews.length) {
|
|
166
|
+
const len = activityOverviews.length;
|
|
167
|
+
for (let i = 0; i < len; i++) {
|
|
168
|
+
if (activityOverviews[i].activity.getId() === tasks[0].getId()) {
|
|
169
|
+
activityOverviews[i].startModifyingTask();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
ComponentActivityListComponent.decorators = [
|
|
177
|
+
{ type: Component, args: [{
|
|
178
|
+
selector: "co-component-activity-list",
|
|
179
|
+
template: `
|
|
180
|
+
<co-activity-list-header
|
|
181
|
+
[title]="'ACTIVITIES'"
|
|
182
|
+
[table]="table"
|
|
183
|
+
[key]="key"
|
|
184
|
+
[(showUsergroupActivities)]="showUsergroupActivities"
|
|
185
|
+
[(searchText)]="searchText"
|
|
186
|
+
(periodFilterClicked)="doFilterClicked($event)"
|
|
187
|
+
(searchTextChange)="applyFilter()"
|
|
188
|
+
(showUsergroupActivitiesChange)="showUsergroupActivitiesChange()"
|
|
189
|
+
[setHasPausedNotificationsForWorkflowProcessOperation]="setHasPausedNotificationsForWorkflowProcessOperation"
|
|
190
|
+
></co-activity-list-header>
|
|
191
|
+
<div class="activity-list-content">
|
|
192
|
+
<div class="activity-wrapper" [@showHideTab]="activeTab">
|
|
193
|
+
<div class="activity-tab-content mini-scrollbar">
|
|
194
|
+
<ng-container *ngFor="let activityListViewModel of privateActivityListViewModels">
|
|
195
|
+
<co-collapsible *ngIf="activityListViewModel.showing" #collapseable
|
|
196
|
+
[headerTitle]="activityListViewModel.label + ' ' + activityListViewModel.amount"
|
|
197
|
+
[(expanded)]="activityListViewModel.expanded">
|
|
198
|
+
<ng-container *ngFor="let activityViewModel of activityListViewModel.activities; trackBy: trackByFn; let index = index">
|
|
199
|
+
<co-component-activity-overview *ngIf="activityViewModel.showing"
|
|
200
|
+
[fireGenericTriggerOperation]="fireGenericTriggerOperation"
|
|
201
|
+
[fireTriggerOperation]="fireTriggerOperation"
|
|
202
|
+
[canFireTriggerOperation]="canFireTriggerOperation"
|
|
203
|
+
[viewModel]="activityViewModel"
|
|
204
|
+
[userRelationId]="relationId"
|
|
205
|
+
[userGroupId]="userGroupId"
|
|
206
|
+
[lockTaskOperation]="lockTaskOperation"
|
|
207
|
+
[deleteActivityOperation]="deleteActivityOperation"
|
|
208
|
+
[upsertActivityOperation]="upsertActivityOperation"
|
|
209
|
+
(activityChange)="handleChangedActivity(index, $event)"
|
|
210
|
+
(activityDeleted)="deleteActivity($event)"
|
|
211
|
+
(genericTriggerFired)="handleGenericTriggerFired($event)"
|
|
212
|
+
(triggerFired)="handleTriggerFired($event)"
|
|
213
|
+
(linkClicked)="linkClicked.emit($event)"
|
|
214
|
+
(formCreated)="handleFormCreation()"></co-component-activity-overview>
|
|
215
|
+
</ng-container>
|
|
216
|
+
</co-collapsible>
|
|
217
|
+
</ng-container>
|
|
218
|
+
</div>
|
|
219
|
+
<div class="activity-tab-content mini-scrollbar">
|
|
220
|
+
<ng-container *ngFor="let activityListViewModel of privateDelegatedActivityListViewModels">
|
|
221
|
+
<co-collapsible *ngIf="activityListViewModel.showing" #collapseable
|
|
222
|
+
[headerTitle]="activityListViewModel.label + ' ' + activityListViewModel.amount"
|
|
223
|
+
[(expanded)]="activityListViewModel.expanded">
|
|
224
|
+
<ng-container *ngFor="let activityViewModel of activityListViewModel.activities; trackBy: trackByFn; let index = index">
|
|
225
|
+
<co-component-activity-overview *ngIf="activityViewModel.showing"
|
|
226
|
+
[fireGenericTriggerOperation]="fireGenericTriggerOperation"
|
|
227
|
+
[fireTriggerOperation]="fireTriggerOperation"
|
|
228
|
+
[canFireTriggerOperation]="canFireTriggerOperation"
|
|
229
|
+
[viewModel]="activityViewModel"
|
|
230
|
+
[userRelationId]="relationId"
|
|
231
|
+
[userGroupId]="userGroupId"
|
|
232
|
+
(activityChange)="handleChangedActivity(index, $event)"
|
|
233
|
+
(activityDeleted)="deleteActivity($event)"
|
|
234
|
+
(genericTriggerFired)="handleGenericTriggerFired($event)"
|
|
235
|
+
(triggerFired)="handleTriggerFired($event)"
|
|
236
|
+
(linkClicked)="linkClicked.emit($event)"
|
|
237
|
+
(formCreated)="handleFormCreation()"></co-component-activity-overview>
|
|
238
|
+
</ng-container>
|
|
239
|
+
</co-collapsible>
|
|
240
|
+
</ng-container>
|
|
241
|
+
</div>
|
|
242
|
+
</div>
|
|
243
|
+
</div>
|
|
244
|
+
`,
|
|
245
|
+
animations: [
|
|
246
|
+
trigger("showHideContent", [
|
|
247
|
+
state("void", style({ transform: "scaleY(0)", opacity: 0 })),
|
|
248
|
+
state("*", style({ transform: "scaleY(1)", opacity: 1 })),
|
|
249
|
+
transition(`void <=> *`, animate("200ms ease-in-out"))
|
|
250
|
+
]),
|
|
251
|
+
trigger("showHideTab", [
|
|
252
|
+
state("TODO", style({ transform: "translateX(0)" })),
|
|
253
|
+
state("DELEGATED", style({ transform: "translateX(calc(-100% - 20px))" })),
|
|
254
|
+
transition(`TODO <=> DELEGATED`, animate("200ms ease-in-out"))
|
|
255
|
+
])
|
|
256
|
+
]
|
|
257
|
+
},] }
|
|
258
|
+
];
|
|
259
|
+
ComponentActivityListComponent.ctorParameters = () => [];
|
|
260
|
+
ComponentActivityListComponent.propDecorators = {
|
|
261
|
+
activityOverviewList: [{ type: ViewChildren, args: [PersonalActivityOverviewComponent,] }],
|
|
262
|
+
showClass: [{ type: HostBinding, args: ["class.co-component-activity-list",] }],
|
|
263
|
+
table: [{ type: Input }],
|
|
264
|
+
key: [{ type: Input }],
|
|
265
|
+
hideTitle: [{ type: Input }],
|
|
266
|
+
noFreeTasks: [{ type: Input }],
|
|
267
|
+
customTitle: [{ type: Input }],
|
|
268
|
+
userGroupId: [{ type: Input }],
|
|
269
|
+
relationId: [{ type: Input }],
|
|
270
|
+
componentActivitiesMethod: [{ type: Input }],
|
|
271
|
+
fireGenericTriggerOperation: [{ type: Input }],
|
|
272
|
+
fireTriggerOperation: [{ type: Input }],
|
|
273
|
+
canFireTriggerOperation: [{ type: Input }],
|
|
274
|
+
setHasPausedNotificationsForWorkflowProcessOperation: [{ type: Input }],
|
|
275
|
+
lockTaskOperation: [{ type: Input }],
|
|
276
|
+
deleteActivityOperation: [{ type: Input }],
|
|
277
|
+
upsertActivityOperation: [{ type: Input }],
|
|
278
|
+
openLinkClick: [{ type: Output }],
|
|
279
|
+
amountActivityChanged: [{ type: Output }],
|
|
280
|
+
linkClicked: [{ type: Output }],
|
|
281
|
+
formCreated: [{ type: Output }],
|
|
282
|
+
genericTriggerFired: [{ type: Output }],
|
|
283
|
+
triggerFired: [{ type: Output }],
|
|
284
|
+
showUsergroupActivitiesChanged: [{ type: Output }],
|
|
285
|
+
activitiesList: [{ type: Input }]
|
|
286
|
+
};
|
|
287
|
+
__decorate([
|
|
288
|
+
InputBoolean()
|
|
289
|
+
], ComponentActivityListComponent.prototype, "hideTitle", void 0);
|
|
290
|
+
__decorate([
|
|
291
|
+
InputBoolean()
|
|
292
|
+
], ComponentActivityListComponent.prototype, "noFreeTasks", void 0);
|
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWFjdGl2aXR5LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvb3Blbi1hY3Rpdml0eS1saXN0L2NvbXBvbmVudC1hY3Rpdml0eS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFBRSxXQUFXLEVBQ3pCLEtBQUssRUFFTCxNQUFNLEVBRU4sWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBRXJFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUV4RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUNoRyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUN0RixPQUFPLEVBRUwsa0NBQWtDLEVBQ25DLE1BQU0sb0RBQW9ELENBQUM7QUFDNUQsT0FBTyxFQUNMLGlDQUFpQyxFQUNsQyxNQUFNLDhFQUE4RSxDQUFDO0FBQ3RGLE9BQU8sRUFFTCwrQkFBK0IsRUFDaEMsTUFBTSw2REFBNkQsQ0FBQztBQW9GckUsTUFBTSxPQUFPLDhCQUErQixTQUFRLHlCQUF5QjtJQWdIM0U7UUFFTSxL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LENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxnQ0FBZ0MsRUFBQyxDQUFDLENBQUM7d0JBQ3hFLFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztxQkFDakUsQ0FBQztpQkFDTDthQUNKOzs7O21DQU9JLFlBQVksU0FBQyxpQ0FBaUM7d0JBRzlDLFdBQVcsU0FBQyxrQ0FBa0M7b0JBSzlDLEtBQUs7a0JBVUwsS0FBSzt3QkFVTCxLQUFLOzBCQUlMLEtBQUs7MEJBSUwsS0FBSzswQkFHTCxLQUFLO3lCQUdMLEtBQUs7d0NBR0wsS0FBSzswQ0FHTCxLQUFLO21DQUdMLEtBQUs7c0NBR0wsS0FBSzttRUFHTCxLQUFLO2dDQUdMLEtBQUs7c0NBR0wsS0FBSztzQ0FHTCxLQUFLOzRCQUdMLE1BQU07b0NBR04sTUFBTTswQkFHTixNQUFNOzBCQUdOLE1BQU07a0NBR04sTUFBTTsyQkFHTixNQUFNOzZDQUdOLE1BQU07NkJBMkNOLEtBQUs7O0FBcEdOO0lBREMsWUFBWSxFQUFFO2lFQUNtQjtBQUlsQztJQURDLFlBQVksRUFBRTttRUFDcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcclxuaW1wb3J0IHtCYXNlQWN0aXZpdHlMaXN0Q29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL2Jhc2Utb3Blbi1hY3Rpdml0eS1saXN0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFZpZXdDaGlsZHJlblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7QWN0aXZpdHl9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS5ib1wiO1xyXG5pbXBvcnQge0lucHV0Qm9vbGVhbn0gZnJvbSBcIi4uLy4uL2RlY29yYXRvci9pbnB1dC1ib29sZWFuLmRlY29yYXRvclwiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtBY3Rpdml0eVR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2FjdGl2aXR5LXR5cGVcIjtcclxuaW1wb3J0IHtBY3Rpdml0eVZpZXdNb2RlbH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LXZpZXctbW9kZWxcIjtcclxuaW1wb3J0IHtQZXJzb25hbEFjdGl2aXR5VGFiRW51bX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vcGVyc29uYWwtYWN0aXZpdHktdGFiLmVudW1cIjtcclxuaW1wb3J0IHtBY3Rpdml0eVNvcnRUeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9hY3Rpdml0eS1zb3J0LXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge1xyXG4gIE9wZXJhdGlvbkNhbGxiYWNrU2ltcGxlRnVuY3Rpb24sXHJcbiAgT3BlcmF0aW9uV2l0aEFsd2F5c1N1Y2Nlc3NDYWxsYmFja1xyXG59IGZyb20gXCIuLi8uLi9pbnRlcmZhY2Uvb3BlcmF0aW9uLWNhbGxiYWNrLXNpbXBsZS1mdW5jdGlvblwiO1xyXG5pbXBvcnQge1xyXG4gIFBlcnNvbmFsQWN0aXZpdHlPdmVydmlld0NvbXBvbmVudFxyXG59IGZyb20gXCIuL2NvbXBvbmVudHMvcGVyc29uYWwtYWN0aXZpdHktb3ZlcnZpZXcvcGVyc29uYWwtYWN0aXZpdHktb3ZlcnZpZXcuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7XHJcbiAgT3BlcmF0aW9uQ2FsbGJhY2tGdW5jdGlvbldpdGhWYWxpZGF0aW9uLFxyXG4gIE9wZXJhdGlvbldpdGhWYWxpZGF0aW9uQ2FsbGJhY2tcclxufSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlL29wZXJhdGlvbi1jYWxsYmFjay1mdW5jdGlvbi13aXRoLXZhbGlkYXRpb25cIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLWNvbXBvbmVudC1hY3Rpdml0eS1saXN0XCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxjby1hY3Rpdml0eS1saXN0LWhlYWRlclxyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidBQ1RJVklUSUVTJ1wiXHJcbiAgICAgICAgICAgICAgICBbdGFibGVdPVwidGFibGVcIlxyXG4gICAgICAgICAgICAgICAgW2tleV09XCJrZXlcIlxyXG4gICAgICAgICAgICAgICAgWyhzaG93VXNlcmdyb3VwQWN0aXZpdGllcyldPVwic2hvd1VzZXJncm91cEFjdGl2aXRpZXNcIlxyXG4gICAgICAgICAgICAgICAgWyhzZWFyY2hUZXh0KV09XCJzZWFyY2hUZXh0XCJcclxuICAgICAgICAgICAgICAgIChwZXJpb2RGaWx0ZXJDbGlja2VkKT1cImRvRmlsdGVyQ2xpY2tlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChzZWFyY2hUZXh0Q2hhbmdlKT1cImFwcGx5RmlsdGVyKClcIlxyXG4gICAgICAgICAgICAgICAgKHNob3dVc2VyZ3JvdXBBY3Rpdml0aWVzQ2hhbmdlKT1cInNob3dVc2VyZ3JvdXBBY3Rpdml0aWVzQ2hhbmdlKClcIlxyXG4gICAgICAgICAgICAgICAgW3NldEhhc1BhdXNlZE5vdGlmaWNhdGlvbnNGb3JXb3JrZmxvd1Byb2Nlc3NPcGVyYXRpb25dPVwic2V0SGFzUGF1c2VkTm90aWZpY2F0aW9uc0ZvcldvcmtmbG93UHJvY2Vzc09wZXJhdGlvblwiXHJcbiAgICAgICAgPjwvY28tYWN0aXZpdHktbGlzdC1oZWFkZXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWxpc3QtY29udGVudFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktd3JhcHBlclwiIFtAc2hvd0hpZGVUYWJdPVwiYWN0aXZlVGFiXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktdGFiLWNvbnRlbnQgbWluaS1zY3JvbGxiYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpdml0eUxpc3RWaWV3TW9kZWwgb2YgcHJpdmF0ZUFjdGl2aXR5TGlzdFZpZXdNb2RlbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby1jb2xsYXBzaWJsZSAqbmdJZj1cImFjdGl2aXR5TGlzdFZpZXdNb2RlbC5zaG93aW5nXCIgI2NvbGxhcHNlYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoZWFkZXJUaXRsZV09XCJhY3Rpdml0eUxpc3RWaWV3TW9kZWwubGFiZWwgKyAnICcgKyBhY3Rpdml0eUxpc3RWaWV3TW9kZWwuYW1vdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKGV4cGFuZGVkKV09XCJhY3Rpdml0eUxpc3RWaWV3TW9kZWwuZXhwYW5kZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGl2aXR5Vmlld01vZGVsIG9mIGFjdGl2aXR5TGlzdFZpZXdNb2RlbC5hY3Rpdml0aWVzOyB0cmFja0J5OiB0cmFja0J5Rm47IGxldCBpbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tY29tcG9uZW50LWFjdGl2aXR5LW92ZXJ2aWV3ICpuZ0lmPVwiYWN0aXZpdHlWaWV3TW9kZWwuc2hvd2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaXJlR2VuZXJpY1RyaWdnZXJPcGVyYXRpb25dPVwiZmlyZUdlbmVyaWNUcmlnZ2VyT3BlcmF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpcmVUcmlnZ2VyT3BlcmF0aW9uXT1cImZpcmVUcmlnZ2VyT3BlcmF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhbkZpcmVUcmlnZ2VyT3BlcmF0aW9uXT1cImNhbkZpcmVUcmlnZ2VyT3BlcmF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2aWV3TW9kZWxdPVwiYWN0aXZpdHlWaWV3TW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZXJSZWxhdGlvbklkXT1cInJlbGF0aW9uSWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZXJHcm91cElkXT1cInVzZXJHcm91cElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb2NrVGFza09wZXJhdGlvbl09XCJsb2NrVGFza09wZXJhdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsZXRlQWN0aXZpdHlPcGVyYXRpb25dPVwiZGVsZXRlQWN0aXZpdHlPcGVyYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Vwc2VydEFjdGl2aXR5T3BlcmF0aW9uXT1cInVwc2VydEFjdGl2aXR5T3BlcmF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3Rpdml0eUNoYW5nZSk9XCJoYW5kbGVDaGFuZ2VkQWN0aXZpdHkoaW5kZXgsICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGl2aXR5RGVsZXRlZCk9XCJkZWxldGVBY3Rpdml0eSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnZW5lcmljVHJpZ2dlckZpcmVkKT1cImhhbmRsZUdlbmVyaWNUcmlnZ2VyRmlyZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodHJpZ2dlckZpcmVkKT1cImhhbmRsZVRyaWdnZXJGaXJlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaW5rQ2xpY2tlZCk9XCJsaW5rQ2xpY2tlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvcm1DcmVhdGVkKT1cImhhbmRsZUZvcm1DcmVhdGlvbigpXCI+PC9jby1jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8L2NvLWNvbGxhcHNpYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktdGFiLWNvbnRlbnQgbWluaS1zY3JvbGxiYXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpdml0eUxpc3RWaWV3TW9kZWwgb2YgcHJpdmF0ZURlbGVnYXRlZEFjdGl2aXR5TGlzdFZpZXdNb2RlbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWNvbGxhcHNpYmxlICpuZ0lmPVwiYWN0aXZpdHlMaXN0Vmlld01vZGVsLnNob3dpbmdcIiAjY29sbGFwc2VhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGVhZGVyVGl0bGVdPVwiYWN0aXZpdHlMaXN0Vmlld01vZGVsLmxhYmVsICsgJyAnICsgYWN0aXZpdHlMaXN0Vmlld01vZGVsLmFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKGV4cGFuZGVkKV09XCJhY3Rpdml0eUxpc3RWaWV3TW9kZWwuZXhwYW5kZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGl2aXR5Vmlld01vZGVsIG9mIGFjdGl2aXR5TGlzdFZpZXdNb2RlbC5hY3Rpdml0aWVzOyB0cmFja0J5OiB0cmFja0J5Rm47IGxldCBpbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tY29tcG9uZW50LWFjdGl2aXR5LW92ZXJ2aWV3ICpuZ0lmPVwiYWN0aXZpdHlWaWV3TW9kZWwuc2hvd2luZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlyZUdlbmVyaWNUcmlnZ2VyT3BlcmF0aW9uXT1cImZpcmVHZW5lcmljVHJpZ2dlck9wZXJhdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlyZVRyaWdnZXJPcGVyYXRpb25dPVwiZmlyZVRyaWdnZXJPcGVyYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NhbkZpcmVUcmlnZ2VyT3BlcmF0aW9uXT1cImNhbkZpcmVUcmlnZ2VyT3BlcmF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2aWV3TW9kZWxdPVwiYWN0aXZpdHlWaWV3TW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZXJSZWxhdGlvbklkXT1cInJlbGF0aW9uSWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3VzZXJHcm91cElkXT1cInVzZXJHcm91cElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3Rpdml0eUNoYW5nZSk9XCJoYW5kbGVDaGFuZ2VkQWN0aXZpdHkoaW5kZXgsICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGl2aXR5RGVsZXRlZCk9XCJkZWxldGVBY3Rpdml0eSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnZW5lcmljVHJpZ2dlckZpcmVkKT1cImhhbmRsZUdlbmVyaWNUcmlnZ2VyRmlyZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodHJpZ2dlckZpcmVkKT1cImhhbmRsZVRyaWdnZXJGaXJlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaW5rQ2xpY2tlZCk9XCJsaW5rQ2xpY2tlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvcm1DcmVhdGVkKT1cImhhbmRsZUZvcm1DcmVhdGlvbigpXCI+PC9jby1jb21wb25lbnQtYWN0aXZpdHktb3ZlcnZpZXc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9jby1jb2xsYXBzaWJsZT5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgICBhbmltYXRpb25zOiBbXHJcbiAgICAgICAgdHJpZ2dlcihcInNob3dIaWRlQ29udGVudFwiLCBbXHJcbiAgICAgICAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInNjYWxlWSgwKVwiLCBvcGFjaXR5OiAwfSkpLFxyXG4gICAgICAgICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJzY2FsZVkoMSlcIiwgb3BhY2l0eTogMX0pKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbihgdm9pZCA8PT4gKmAsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSlcclxuICAgICAgICBdKSxcclxuICAgICAgICB0cmlnZ2VyKFwic2hvd0hpZGVUYWJcIiwgW1xyXG4gICAgICAgICAgICBzdGF0ZShcIlRPRE9cIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDApXCJ9KSksXHJcbiAgICAgICAgICAgIHN0YXRlKFwiREVMRUdBVEVEXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwidHJhbnNsYXRlWChjYWxjKC0xMDAlIC0gMjBweCkpXCJ9KSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oYFRPRE8gPD0+IERFTEVHQVRFRGAsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSlcclxuICAgICAgICBdKVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50QWN0aXZpdHlMaXN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUFjdGl2aXR5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGFiczogdHlwZW9mIFBlcnNvbmFsQWN0aXZpdHlUYWJFbnVtID0gUGVyc29uYWxBY3Rpdml0eVRhYkVudW07XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICAgIHB1YmxpYyByZWFkb25seSBhY3Rpdml0eUNsYXNzOiB0eXBlb2YgQWN0aXZpdHkgPSBBY3Rpdml0eTtcclxuICAgIHB1YmxpYyByZWFkb25seSBhY3Rpdml0eVNvcnRUeXBlOiB0eXBlb2YgQWN0aXZpdHlTb3J0VHlwZSA9IEFjdGl2aXR5U29ydFR5cGU7XHJcblxyXG4gICAgQFZpZXdDaGlsZHJlbihQZXJzb25hbEFjdGl2aXR5T3ZlcnZpZXdDb21wb25lbnQpXHJcbiAgICBwdWJsaWMgYWN0aXZpdHlPdmVydmlld0xpc3Q6IFF1ZXJ5TGlzdDxQZXJzb25hbEFjdGl2aXR5T3ZlcnZpZXdDb21wb25lbnQ+O1xyXG5cclxuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWNvbXBvbmVudC1hY3Rpdml0eS1saXN0XCIpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCB0YWJsZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fdGFibGUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmdldFRoZUFjdGl2aXRpZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRhYmxlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGtleSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fa2V5ID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5nZXRUaGVBY3Rpdml0aWVzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBrZXkoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fa2V5O1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBoaWRlVGl0bGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgbm9GcmVlVGFza3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGN1c3RvbVRpdGxlOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB1c2VyR3JvdXBJZDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcmVsYXRpb25JZDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY29tcG9uZW50QWN0aXZpdGllc01ldGhvZDogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBmaXJlR2VuZXJpY1RyaWdnZXJPcGVyYXRpb246IE9wZXJhdGlvbkNhbGxiYWNrRnVuY3Rpb25XaXRoVmFsaWRhdGlvbiA9IE9wZXJhdGlvbldpdGhWYWxpZGF0aW9uQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBmaXJlVHJpZ2dlck9wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tGdW5jdGlvbldpdGhWYWxpZGF0aW9uID0gT3BlcmF0aW9uV2l0aFZhbGlkYXRpb25DYWxsYmFjaztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNhbkZpcmVUcmlnZ2VyT3BlcmF0aW9uOiBPcGVyYXRpb25DYWxsYmFja1NpbXBsZUZ1bmN0aW9uID0gT3BlcmF0aW9uV2l0aEFsd2F5c1N1Y2Nlc3NDYWxsYmFjaztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldEhhc1BhdXNlZE5vdGlmaWNhdGlvbnNGb3JXb3JrZmxvd1Byb2Nlc3NPcGVyYXRpb246IE9wZXJhdGlvbkNhbGxiYWNrRnVuY3Rpb25XaXRoVmFsaWRhdGlvbiA9IE9wZXJhdGlvbldpdGhWYWxpZGF0aW9uQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBsb2NrVGFza09wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBkZWxldGVBY3Rpdml0eU9wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB1cHNlcnRBY3Rpdml0eU9wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgb3BlbkxpbmtDbGljazogRXZlbnRFbWl0dGVyPEFjdGl2aXR5PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWN0aXZpdHk+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgYW1vdW50QWN0aXZpdHlDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGxpbmtDbGlja2VkOiBFdmVudEVtaXR0ZXI8e21vZHVsZTogc3RyaW5nLCBpZDogc3RyaW5nfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHttb2R1bGU6IHN0cmluZywgaWQ6IHN0cmluZ30+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgZm9ybUNyZWF0ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBnZW5lcmljVHJpZ2dlckZpcmVkOiBFdmVudEVtaXR0ZXI8QWN0aXZpdHk+ID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpdml0eT4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyB0cmlnZ2VyRmlyZWQ6IEV2ZW50RW1pdHRlcjxBY3Rpdml0eT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGl2aXR5PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHNob3dVc2VyZ3JvdXBBY3Rpdml0aWVzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIHB1YmxpYyBhY3RpdmVUYWI6IFBlcnNvbmFsQWN0aXZpdHlUYWJFbnVtID0gUGVyc29uYWxBY3Rpdml0eVRhYkVudW0uVE9ETztcclxuXHJcbiAgICAvKnB1YmxpYyBhY3Rpdml0eVNvcnRMaXN0OiBib29sZWFuW10gPSBbXTsqL1xyXG5cclxuICAgIHB1YmxpYyBhY3Rpdml0eUxpc3Q6IEFjdGl2aXR5Vmlld01vZGVsW10gPSBbXTtcclxuXHJcbiAgICBwdWJsaWMgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIHZtOiBBY3Rpdml0eVZpZXdNb2RlbCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHZtLmFjdGl2aXR5LmlkICsgJ18nICsgdm0uYWN0aXZpdHkud29ya2Zsb3cuY29tYmluZWRUcmlnZ2VySWRzO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3RhYmxlOiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIF9rZXk6IHN0cmluZztcclxuICAgIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgICBwcml2YXRlIF9hY3Rpdml0aWVzTGlzdDogQWN0aXZpdHlbXSA9IFtdO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vVE9ETyBkbyB3ZSBzdGlsbCBuZWVkIHRoaXM/XHJcbiAgICAvKmFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLnRhc2tDcmVhdGVkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldFRoZUFjdGl2aXRpZXMoKTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS50YXNrTW9kaWZpZWQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0VGhlQWN0aXZpdGllcygpO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgdGhpcy5fYXBwRXZlbnRTZXJ2aWNlLnRyaWdnZXJGaXJlZC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRUaGVBY3Rpdml0aWVzKCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH0qL1xyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgIH1cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGFjdGl2aXRpZXNMaXN0KGFsbEFjdGl2aXRpZXM6IEFjdGl2aXR5W10pIHtcclxuICAgICAgdGhpcy5fYWN0aXZpdGllc0xpc3QgPSBhbGxBY3Rpdml0aWVzO1xyXG4gICAgICBpZiAoYWxsQWN0aXZpdGllcykge1xyXG4gICAgICAgIHRoaXMuYWN0aXZpdGllcyA9IHRoaXMubm9GcmVlVGFza3MgPyBhbGxBY3Rpdml0aWVzLmZpbHRlcihhYSA9PiAhYWEudGFzayAmJiBhYS5hY3Rpdml0eVR5cGUgIT09IEFjdGl2aXR5VHlwZS5Xb3JrZmxvd1Rhc2spIDpcclxuICAgICAgICAgIGFsbEFjdGl2aXRpZXMuZmlsdGVyKGFhID0+IGFhLmFjdGl2aXR5VHlwZSAhPT0gQWN0aXZpdHlUeXBlLldvcmtmbG93VGFzayk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpdml0aWVzID0gW107XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGFjdGl2aXRpZXNMaXN0KCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYWN0aXZpdGllc0xpc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgLypwdWJsaWMgYXN5bmMgZ2V0QWN0aXZpdGllcygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAodGhpcy50YWJsZSAmJiB0aGlzLmtleSkge1xyXG4gICAgICAgICAgICBjb25zdCBhbGxBY3Rpdml0aWVzOiBBY3Rpdml0eVtdID0gYXdhaXQgdGhpcy5fYWN0aXZpdHlSZXBvLmdldENvbXBvbmVudEFjdGl2aXRpZXModGhpcy50YWJsZSwgdGhpcy5rZXkpO1xyXG4gICAgICAgICAgICBpZiAoYWxsQWN0aXZpdGllcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hY3Rpdml0aWVzID0gdGhpcy5ub0ZyZWVUYXNrcyA/IGFsbEFjdGl2aXRpZXMuZmlsdGVyKGFhID0+ICFhYS50YXNrICYmIGFhLmFjdGl2aXR5VHlwZSAhPT0gQWN0aXZpdHlUeXBlLldvcmtmbG93VGFzaykgOlxyXG4gICAgICAgICAgICAgICAgICAgIGFsbEFjdGl2aXRpZXMuZmlsdGVyKGFhID0+IGFhLmFjdGl2aXR5VHlwZSAhPT0gQWN0aXZpdHlUeXBlLldvcmtmbG93VGFzayk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2aXRpZXMgPSBbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmFtb3VudEFjdGl2aXR5Q2hhbmdlZC5uZXh0KHRoaXMuYWN0aXZpdGllcy5sZW5ndGgpO1xyXG4gICAgICAgIH1cclxuICAgIH0qL1xyXG5cclxuXHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldERlbGVnYXRlZEFjdGl2aXRpZXMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgLy8gY29uc3QgYWxsQWN0aXZpdGllczogQWN0aXZpdHlbXSA9IGF3YWl0IHRoaXMuX2FjdGl2aXR5UmVwby5nZXRDb21wb25lbnRBY3Rpdml0aWVzKHRoaXMudGFibGUsIHRoaXMua2V5KTtcclxuICAgICAgICAvLyB0aGlzLmRlbGVnYXRlZEFjdGl2aXRpZXMgPSBhbGxBY3Rpdml0aWVzID8gYWxsQWN0aXZpdGllcy5maWx0ZXIoYWEgPT4gYWEuYWN0aXZpdHlUeXBlICE9PSBBY3Rpdml0eVR5cGUuV29ya2Zsb3dUYXNrKSA6IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIC8qLy9UT0RPIHRoZXJlIHdlcmUgYWxyZWFkeSB1bnVzZWQgYmVmb3JlIHRoZSBtb3ZlLiBDYW4gdGhleSBnbz9cclxuICAgIHB1YmxpYyBoYW5kbGVPcGVuTGluayhhY3Rpdml0eTogQWN0aXZpdHkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9wZW5MaW5rQ2xpY2submV4dChhY3Rpdml0eSk7XHJcbiAgICB9Ki9cclxuXHJcbiAgICBwdWJsaWMgc2hvd1VzZXJncm91cEFjdGl2aXRpZXNDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zaG93VXNlcmdyb3VwQWN0aXZpdGllc0NoYW5nZWQubmV4dCgpXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZVRyaWdnZXJGaXJlZChhY3Rpdml0eTogQWN0aXZpdHkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRyaWdnZXJGaXJlZC5uZXh0KGFjdGl2aXR5KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlR2VuZXJpY1RyaWdnZXJGaXJlZChhY3Rpdml0eTogQWN0aXZpdHkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmdlbmVyaWNUcmlnZ2VyRmlyZWQubmV4dChhY3Rpdml0eSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUZvcm1DcmVhdGlvbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmZvcm1DcmVhdGVkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlQ2hhbmdlZEFjdGl2aXR5KGlkeDogbnVtYmVyLCBhY3Rpdml0eTogQWN0aXZpdHkpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5hY3Rpdml0aWVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0aXZpdGllc1tpZHhdID0gYWN0aXZpdHk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkZWxldGVBY3Rpdml0eShhY3Rpdml0eTogQWN0aXZpdHkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFtb3VudEFjdGl2aXR5Q2hhbmdlZC5uZXh0KHRoaXMuYWN0aXZpdGllcy5sZW5ndGggLSAxKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIucmVzZXQoKTtcclxuICAgICAgICB0aGlzLmFjdGl2aXR5TGlzdCA9IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkb0ZpbHRlckNsaWNrZWQoZmlsdGVyOiB7IGZyb206IERhdGUsIHRvOiBEYXRlIH0pOiB2b2lkIHtcclxuICAgICAgICBpZiAoZmlsdGVyLmZyb20gJiYgZmlsdGVyLnRvKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRnJvbSA9IG5ldyBEYXRlKGZpbHRlci5mcm9tKTtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJGcm9tLnNldEhvdXJzKDApO1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckZyb20uc2V0TWludXRlcygwKTtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJGcm9tLnNldFNlY29uZHMoMCk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyVG8gPSBuZXcgRGF0ZShmaWx0ZXIudG8pO1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlclRvLnNldEhvdXJzKDApO1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlclRvLnNldE1pbnV0ZXMoMCk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyVG8uc2V0U2Vjb25kcygwKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlckZyb20gPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyVG8gPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb3BlbkZpcnN0VGFzaygpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuYWN0aXZpdGllcykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHRhc2tzOiBBY3Rpdml0eVtdID0gdGhpcy5hY3Rpdml0aWVzLmZpbHRlcigodmFsdWUgPT4gdmFsdWUuSXNUYXNrKSk7XHJcbiAgICAgICAgaWYgKHRhc2tzICYmIHRhc2tzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3QgYWN0aXZpdHlPdmVydmlld3M6IFBlcnNvbmFsQWN0aXZpdHlPdmVydmlld0NvbXBvbmVudFtdID0gdGhpcy5hY3Rpdml0eU92ZXJ2aWV3TGlzdC50b0FycmF5KCk7XHJcbiAgICAgICAgICAgIGlmIChhY3Rpdml0eU92ZXJ2aWV3cyAmJiBhY3Rpdml0eU92ZXJ2aWV3cy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxlbjogbnVtYmVyID0gYWN0aXZpdHlPdmVydmlld3MubGVuZ3RoO1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGFjdGl2aXR5T3ZlcnZpZXdzW2ldLmFjdGl2aXR5LmdldElkKCkgPT09IHRhc2tzWzBdLmdldElkKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZpdHlPdmVydmlld3NbaV0uc3RhcnRNb2RpZnlpbmdUYXNrKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { ComponentActivityListComponent } from "./component-activity-list.component";
|
|
3
|
+
import { LocalizationModule } from "../../localization/localization.module";
|
|
4
|
+
import { CommonModule } from "@angular/common";
|
|
5
|
+
import { ButtonModule, CollapsibleModule } from "@colijnit/corecomponents_v12";
|
|
6
|
+
import { PersonalActivityOverviewModule } from "./components/personal-activity-overview/personal-activity-overview.module.";
|
|
7
|
+
import { ComponentActivityOverviewModule } from "../activity-overview-component/component-activity-overview.module";
|
|
8
|
+
import { ActivityListHeaderModule } from "../activity-list-header/activity-list-header.module";
|
|
9
|
+
export class ComponentActivityListModule {
|
|
10
|
+
}
|
|
11
|
+
ComponentActivityListModule.decorators = [
|
|
12
|
+
{ type: NgModule, args: [{
|
|
13
|
+
imports: [
|
|
14
|
+
LocalizationModule,
|
|
15
|
+
CommonModule,
|
|
16
|
+
ButtonModule,
|
|
17
|
+
CollapsibleModule,
|
|
18
|
+
PersonalActivityOverviewModule,
|
|
19
|
+
ComponentActivityOverviewModule,
|
|
20
|
+
ActivityListHeaderModule
|
|
21
|
+
],
|
|
22
|
+
declarations: [
|
|
23
|
+
ComponentActivityListComponent
|
|
24
|
+
],
|
|
25
|
+
exports: [
|
|
26
|
+
ComponentActivityListComponent
|
|
27
|
+
]
|
|
28
|
+
},] }
|
|
29
|
+
];
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWFjdGl2aXR5LWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvb3Blbi1hY3Rpdml0eS1saXN0L2NvbXBvbmVudC1hY3Rpdml0eS1saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDN0UsT0FBTyxFQUNMLDhCQUE4QixFQUMvQixNQUFNLDRFQUE0RSxDQUFDO0FBQ3BGLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQ2xILE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBb0I3RixNQUFNLE9BQU8sMkJBQTJCOzs7WUFqQnZDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1Asa0JBQWtCO29CQUNsQixZQUFZO29CQUNaLFlBQVk7b0JBQ1osaUJBQWlCO29CQUNqQiw4QkFBOEI7b0JBQzlCLCtCQUErQjtvQkFDL0Isd0JBQXdCO2lCQUN6QjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osOEJBQThCO2lCQUMvQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsOEJBQThCO2lCQUMvQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb21wb25lbnRBY3Rpdml0eUxpc3RDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudC1hY3Rpdml0eS1saXN0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0xvY2FsaXphdGlvbk1vZHVsZX0gZnJvbSBcIi4uLy4uL2xvY2FsaXphdGlvbi9sb2NhbGl6YXRpb24ubW9kdWxlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBDb2xsYXBzaWJsZU1vZHVsZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtcclxuICBQZXJzb25hbEFjdGl2aXR5T3ZlcnZpZXdNb2R1bGVcclxufSBmcm9tIFwiLi9jb21wb25lbnRzL3BlcnNvbmFsLWFjdGl2aXR5LW92ZXJ2aWV3L3BlcnNvbmFsLWFjdGl2aXR5LW92ZXJ2aWV3Lm1vZHVsZS5cIjtcclxuaW1wb3J0IHtDb21wb25lbnRBY3Rpdml0eU92ZXJ2aWV3TW9kdWxlfSBmcm9tIFwiLi4vYWN0aXZpdHktb3ZlcnZpZXctY29tcG9uZW50L2NvbXBvbmVudC1hY3Rpdml0eS1vdmVydmlldy5tb2R1bGVcIjtcclxuaW1wb3J0IHtBY3Rpdml0eUxpc3RIZWFkZXJNb2R1bGV9IGZyb20gXCIuLi9hY3Rpdml0eS1saXN0LWhlYWRlci9hY3Rpdml0eS1saXN0LWhlYWRlci5tb2R1bGVcIjtcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIExvY2FsaXphdGlvbk1vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgIENvbGxhcHNpYmxlTW9kdWxlLFxyXG4gICAgUGVyc29uYWxBY3Rpdml0eU92ZXJ2aWV3TW9kdWxlLFxyXG4gICAgQ29tcG9uZW50QWN0aXZpdHlPdmVydmlld01vZHVsZSxcclxuICAgIEFjdGl2aXR5TGlzdEhlYWRlck1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBDb21wb25lbnRBY3Rpdml0eUxpc3RDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIENvbXBvbmVudEFjdGl2aXR5TGlzdENvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbXBvbmVudEFjdGl2aXR5TGlzdE1vZHVsZSB7XHJcblxyXG59XHJcbiJdfQ==
|