kwikid-agent-dashboard 0.0.38 → 0.0.39
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/kwikid-agent-dashboard.umd.js +2269 -351
- package/bundles/kwikid-agent-dashboard.umd.js.map +1 -1
- package/esm2015/lib/kwikid-agent-dashboard.component.js +43 -23
- package/esm2015/lib/kwikid-agent-dashboard.module.js +84 -21
- package/esm2015/lib/v1/components/action-button/action-button.component.js +91 -0
- package/esm2015/lib/v1/components/customer-details/customer-details.component.js +139 -0
- package/esm2015/lib/v1/components/customer-list/customer-list.component.js +201 -0
- package/esm2015/lib/v1/components/customer-tile/customer-tile.component.js +137 -0
- package/esm2015/lib/v1/components/customer-tile/status-pill/status-pill.component.js +54 -0
- package/esm2015/lib/v1/components/customer-tile/status-pill/status-pill.definitions.js +36 -0
- package/esm2015/lib/v1/helpers/maps.helpers.js +46 -0
- package/esm2015/lib/v1/kwikid-agent-dashboard.component.js +177 -0
- package/esm2015/lib/v1/kwikid-agent-dashboard.module.js +120 -0
- package/esm2015/lib/v1/pipes/search-filter.pipe.js +62 -0
- package/esm2015/lib/v1/services/agent.service.js +149 -0
- package/esm2015/lib/v1/services/google-maps.service.js +201 -0
- package/esm2015/lib/v1/services/open-street-maps.service.js +252 -0
- package/esm2015/lib/v2/components/agent-info/agent-info.component.js +20 -0
- package/esm2015/lib/v2/components/agent-info/agent-info.module.js +37 -0
- package/esm2015/lib/v2/components/bottom-sheet/bottom-sheet.component.js +111 -0
- package/esm2015/lib/v2/components/bottom-sheet/bottom-sheet.module.js +41 -0
- package/esm2015/lib/v2/components/components.module.js +79 -0
- package/esm2015/lib/v2/components/map-view/map-view.component.js +39 -0
- package/esm2015/lib/v2/components/map-view/map-view.module.js +37 -0
- package/esm2015/lib/v2/components/primary-actions/primary-actions.component.js +65 -0
- package/esm2015/lib/v2/components/primary-actions/primary-actions.module.js +54 -0
- package/esm2015/lib/v2/components/task-detail/task-detail.component.js +82 -0
- package/esm2015/lib/v2/components/task-detail/task-detail.module.js +41 -0
- package/esm2015/lib/v2/components/task-item/task-item.component.js +107 -0
- package/esm2015/lib/v2/components/task-item/task-item.constant.js +12 -0
- package/esm2015/lib/v2/components/task-item/task-item.module.js +45 -0
- package/esm2015/lib/v2/components/task-item-status/task-item-status.component.js +51 -0
- package/esm2015/lib/v2/components/task-item-status/task-item-status.module.js +19 -0
- package/esm2015/lib/v2/components/task-list/task-list.component.js +186 -0
- package/esm2015/lib/v2/components/task-list/task-list.module.js +57 -0
- package/esm2015/lib/v2/components/task-list-search/task-list-search.component.js +118 -0
- package/esm2015/lib/v2/components/task-list-search/task-list-search.module.js +41 -0
- package/esm2015/lib/v2/components/task-preview/task-preview.component.js +30 -0
- package/esm2015/lib/v2/components/task-preview/task-preview.module.js +37 -0
- package/esm2015/lib/v2/helpers/array.helper.js +10 -0
- package/esm2015/lib/v2/helpers/date.helplers.js +17 -0
- package/esm2015/lib/v2/kwikid-agent-dashboard.component.js +61 -0
- package/esm2015/lib/v2/kwikid-agent-dashboard.module.js +45 -0
- package/esm2015/lib/v2/layout/layout-body/layout-body.component.js +274 -0
- package/esm2015/lib/v2/layout/layout-body/layout-body.module.js +55 -0
- package/esm2015/lib/v2/layout/layout-header/layout-header.component.js +60 -0
- package/esm2015/lib/v2/layout/layout-header/layout-header.module.js +48 -0
- package/esm2015/lib/v2/layout/layout.module.js +18 -0
- package/esm2015/lib/v2/pipes/search-filter.pipe.js +62 -0
- package/fesm2015/kwikid-agent-dashboard.js +2049 -324
- package/fesm2015/kwikid-agent-dashboard.js.map +1 -1
- package/lib/kwikid-agent-dashboard.component.d.ts +11 -3
- package/lib/kwikid-agent-dashboard.module.d.ts +12 -6
- package/lib/v1/components/action-button/action-button.component.d.ts +18 -0
- package/lib/v1/components/customer-details/customer-details.component.d.ts +35 -0
- package/lib/v1/components/customer-list/customer-list.component.d.ts +55 -0
- package/lib/v1/components/customer-tile/customer-tile.component.d.ts +34 -0
- package/lib/v1/components/customer-tile/status-pill/status-pill.component.d.ts +15 -0
- package/lib/v1/components/customer-tile/status-pill/status-pill.definitions.d.ts +19 -0
- package/lib/v1/helpers/maps.helpers.d.ts +3 -0
- package/lib/v1/kwikid-agent-dashboard.component.d.ts +54 -0
- package/lib/v1/kwikid-agent-dashboard.module.d.ts +23 -0
- package/lib/{pipes → v1/pipes}/search-filter.pipe.d.ts +1 -1
- package/lib/v1/services/agent.service.d.ts +77 -0
- package/lib/v1/services/google-maps.service.d.ts +29 -0
- package/lib/v1/services/open-street-maps.service.d.ts +39 -0
- package/lib/{components → v2/components}/agent-info/agent-info.component.d.ts +1 -1
- package/lib/{components → v2/components}/bottom-sheet/bottom-sheet.component.d.ts +2 -2
- package/lib/{components → v2/components}/map-view/map-view.component.d.ts +1 -1
- package/lib/{components → v2/components}/primary-actions/primary-actions.component.d.ts +1 -1
- package/lib/{components → v2/components}/task-detail/task-detail.component.d.ts +1 -1
- package/lib/{components → v2/components}/task-item/task-item.component.d.ts +1 -1
- package/lib/{components → v2/components}/task-item-status/task-item-status.component.d.ts +1 -1
- package/lib/{components → v2/components}/task-list/task-list.component.d.ts +4 -4
- package/lib/{components → v2/components}/task-list-search/task-list-search.component.d.ts +3 -3
- package/lib/{components → v2/components}/task-preview/task-preview.component.d.ts +1 -1
- package/lib/v2/kwikid-agent-dashboard.component.d.ts +17 -0
- package/lib/v2/kwikid-agent-dashboard.module.d.ts +13 -0
- package/lib/{layout → v2/layout}/layout-body/layout-body.component.d.ts +3 -3
- package/lib/{layout → v2/layout}/layout-header/layout-header.component.d.ts +1 -1
- package/lib/v2/pipes/search-filter.pipe.d.ts +25 -0
- package/package.json +1 -1
- package/esm2015/lib/components/agent-info/agent-info.component.js +0 -20
- package/esm2015/lib/components/agent-info/agent-info.module.js +0 -37
- package/esm2015/lib/components/bottom-sheet/bottom-sheet.component.js +0 -111
- package/esm2015/lib/components/bottom-sheet/bottom-sheet.module.js +0 -41
- package/esm2015/lib/components/components.module.js +0 -79
- package/esm2015/lib/components/map-view/map-view.component.js +0 -39
- package/esm2015/lib/components/map-view/map-view.module.js +0 -37
- package/esm2015/lib/components/primary-actions/primary-actions.component.js +0 -65
- package/esm2015/lib/components/primary-actions/primary-actions.module.js +0 -54
- package/esm2015/lib/components/task-detail/task-detail.component.js +0 -82
- package/esm2015/lib/components/task-detail/task-detail.module.js +0 -41
- package/esm2015/lib/components/task-item/task-item.component.js +0 -109
- package/esm2015/lib/components/task-item/task-item.constant.js +0 -12
- package/esm2015/lib/components/task-item/task-item.module.js +0 -45
- package/esm2015/lib/components/task-item-status/task-item-status.component.js +0 -51
- package/esm2015/lib/components/task-item-status/task-item-status.module.js +0 -19
- package/esm2015/lib/components/task-list/task-list.component.js +0 -186
- package/esm2015/lib/components/task-list/task-list.module.js +0 -57
- package/esm2015/lib/components/task-list-search/task-list-search.component.js +0 -117
- package/esm2015/lib/components/task-list-search/task-list-search.module.js +0 -41
- package/esm2015/lib/components/task-preview/task-preview.component.js +0 -30
- package/esm2015/lib/components/task-preview/task-preview.module.js +0 -37
- package/esm2015/lib/helpers/array.helper.js +0 -10
- package/esm2015/lib/helpers/date.helplers.js +0 -17
- package/esm2015/lib/layout/layout-body/layout-body.component.js +0 -274
- package/esm2015/lib/layout/layout-body/layout-body.module.js +0 -55
- package/esm2015/lib/layout/layout-header/layout-header.component.js +0 -60
- package/esm2015/lib/layout/layout-header/layout-header.module.js +0 -48
- package/esm2015/lib/layout/layout.module.js +0 -18
- package/esm2015/lib/pipes/search-filter.pipe.js +0 -62
- package/lib/{components → v2/components}/agent-info/agent-info.module.d.ts +0 -0
- package/lib/{components → v2/components}/bottom-sheet/bottom-sheet.module.d.ts +0 -0
- package/lib/{components → v2/components}/components.module.d.ts +0 -0
- package/lib/{components → v2/components}/map-view/map-view.module.d.ts +0 -0
- package/lib/{components → v2/components}/primary-actions/primary-actions.module.d.ts +0 -0
- package/lib/{components → v2/components}/task-detail/task-detail.module.d.ts +0 -0
- package/lib/{components → v2/components}/task-item/task-item.constant.d.ts +0 -0
- package/lib/{components → v2/components}/task-item/task-item.module.d.ts +0 -0
- package/lib/{components → v2/components}/task-item-status/task-item-status.module.d.ts +0 -0
- package/lib/{components → v2/components}/task-list/task-list.module.d.ts +0 -0
- package/lib/{components → v2/components}/task-list-search/task-list-search.module.d.ts +0 -0
- package/lib/{components → v2/components}/task-preview/task-preview.module.d.ts +0 -0
- package/lib/{helpers → v2/helpers}/array.helper.d.ts +0 -0
- package/lib/{helpers → v2/helpers}/date.helplers.d.ts +1 -1
- /package/lib/{layout → v2/layout}/layout-body/layout-body.module.d.ts +0 -0
- /package/lib/{layout → v2/layout}/layout-header/layout-header.module.d.ts +0 -0
- /package/lib/{layout → v2/layout}/layout.module.d.ts +0 -0
|
@@ -1,34 +1,46 @@
|
|
|
1
|
-
|
|
1
|
+
/* eslint-disable no-empty-function */
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from "@angular/core";
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "./
|
|
4
|
-
import * as i2 from "./
|
|
4
|
+
import * as i1 from "./v2/kwikid-agent-dashboard.component";
|
|
5
|
+
import * as i2 from "./v1/kwikid-agent-dashboard.component";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
5
7
|
export class KwikIDAgentDashboardComponent {
|
|
8
|
+
// eslint-disable-next-line no-useless-constructor, @typescript-eslint/no-empty-function
|
|
6
9
|
constructor() {
|
|
10
|
+
this.agentInfo = {};
|
|
7
11
|
this.config = {};
|
|
8
12
|
this.userConfig = {};
|
|
9
|
-
this.agentInfo = {};
|
|
10
13
|
this.taskList = [];
|
|
14
|
+
this.nextStep = new EventEmitter();
|
|
15
|
+
this.addTask = new EventEmitter();
|
|
16
|
+
this.removeTask = new EventEmitter();
|
|
17
|
+
this.filterTaskList = new EventEmitter();
|
|
11
18
|
this.onGetTaskList = new EventEmitter();
|
|
12
19
|
this.onClickPerformAction = new EventEmitter();
|
|
13
20
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
console.log('User Config', this.userConfig);
|
|
17
|
-
console.log('Agent Info', this.agentInfo);
|
|
18
|
-
console.log('Tasks List', this.taskList);
|
|
19
|
-
}
|
|
21
|
+
// eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-empty-function
|
|
22
|
+
ngOnInit() { }
|
|
20
23
|
ngOnChanges(changes) {
|
|
21
24
|
const verifyChange = (key) => {
|
|
25
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
22
26
|
return changes.hasOwnProperty(key) && !changes[key].firstChange;
|
|
23
27
|
};
|
|
24
|
-
|
|
25
|
-
const key = change[0];
|
|
26
|
-
const value = change[1].currentValue;
|
|
27
|
-
}
|
|
28
|
-
if (verifyChange('taskList')) {
|
|
28
|
+
if (verifyChange("taskList")) {
|
|
29
29
|
this.taskList = changes.taskList.currentValue;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
+
handleOnClickNext(e) {
|
|
33
|
+
this.nextStep.emit(e);
|
|
34
|
+
}
|
|
35
|
+
handleOnClickAddTask(task) {
|
|
36
|
+
this.addTask.emit(task);
|
|
37
|
+
}
|
|
38
|
+
handleOnClickRemoveTask(task) {
|
|
39
|
+
this.removeTask.emit(task);
|
|
40
|
+
}
|
|
41
|
+
handleOnFilterTaskList(filter) {
|
|
42
|
+
this.onGetTaskList.emit(filter);
|
|
43
|
+
}
|
|
32
44
|
handleOnGetTaskList(event) {
|
|
33
45
|
this.onGetTaskList.emit(event);
|
|
34
46
|
}
|
|
@@ -37,25 +49,33 @@ export class KwikIDAgentDashboardComponent {
|
|
|
37
49
|
}
|
|
38
50
|
}
|
|
39
51
|
/** @nocollapse */ KwikIDAgentDashboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
-
/** @nocollapse */ KwikIDAgentDashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDAgentDashboardComponent, selector: "kwikid-agent-dashboard", inputs: {
|
|
52
|
+
/** @nocollapse */ KwikIDAgentDashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDAgentDashboardComponent, selector: "kwikid-agent-dashboard", inputs: { agentInfo: "agentInfo", config: "config", userConfig: "userConfig", taskList: "taskList" }, outputs: { nextStep: "nextStep", addTask: "addTask", removeTask: "removeTask", filterTaskList: "filterTaskList", onGetTaskList: "onGetTaskList", onClickPerformAction: "onClickPerformAction" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"config?.version === 2\">\n <kwikid-agent-dashboard-v2\n [agentInfo]=\"agentInfo\"\n [config]=\"config\"\n [taskList]=\"taskList\"\n [userConfig]=\"userConfig\"\n (onGetTaskList)=\"handleOnGetTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></kwikid-agent-dashboard-v2>\n</div>\n\n<div *ngIf=\"config?.version !== 2\">\n <kwikid-agent-dashboard-v1\n [config]=\"config\"\n [taskList]=\"taskList\"\n (nextStep)=\"handleOnClickNext($event)\"\n (addTask)=\"handleOnClickAddTask($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (filterTaskList)=\"handleOnFilterTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></kwikid-agent-dashboard-v1>\n</div>\n", styles: ["div{height:100%}\n"], components: [{ type: i1.KwikIDAgentDashboardComponentV2, selector: "kwikid-agent-dashboard-v2", inputs: ["config", "userConfig", "agentInfo", "taskList"], outputs: ["onGetTaskList", "onClickPerformAction"] }, { type: i2.KwikIDAgentDashboardComponentV1, selector: "kwikid-agent-dashboard-v1", inputs: ["config", "taskList"], outputs: ["nextStep", "addTask", "removeTask", "filterTaskList", "onClickPerformAction"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
41
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardComponent, decorators: [{
|
|
42
54
|
type: Component,
|
|
43
55
|
args: [{
|
|
44
|
-
selector:
|
|
45
|
-
templateUrl:
|
|
46
|
-
styleUrls: [
|
|
56
|
+
selector: "kwikid-agent-dashboard",
|
|
57
|
+
templateUrl: "./kwikid-agent-dashboard.component.html",
|
|
58
|
+
styleUrls: ["./kwikid-agent-dashboard.component.scss"]
|
|
47
59
|
}]
|
|
48
|
-
}], ctorParameters: function () { return []; }, propDecorators: {
|
|
60
|
+
}], ctorParameters: function () { return []; }, propDecorators: { agentInfo: [{
|
|
49
61
|
type: Input
|
|
50
|
-
}],
|
|
62
|
+
}], config: [{
|
|
51
63
|
type: Input
|
|
52
|
-
}],
|
|
64
|
+
}], userConfig: [{
|
|
53
65
|
type: Input
|
|
54
66
|
}], taskList: [{
|
|
55
67
|
type: Input
|
|
68
|
+
}], nextStep: [{
|
|
69
|
+
type: Output
|
|
70
|
+
}], addTask: [{
|
|
71
|
+
type: Output
|
|
72
|
+
}], removeTask: [{
|
|
73
|
+
type: Output
|
|
74
|
+
}], filterTaskList: [{
|
|
75
|
+
type: Output
|
|
56
76
|
}], onGetTaskList: [{
|
|
57
77
|
type: Output
|
|
58
78
|
}], onClickPerformAction: [{
|
|
59
79
|
type: Output
|
|
60
80
|
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3dpa2lkLWFnZW50LWRhc2hib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIva3dpa2lkLWFnZW50LWRhc2hib2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIva3dpa2lkLWFnZW50LWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzQ0FBc0M7QUFDdEMsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPdkIsTUFBTSxPQUFPLDZCQUE2QjtJQStCeEMsd0ZBQXdGO0lBQ3hGO1FBOUJBLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFHcEIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUdqQixlQUFVLEdBQVEsRUFBRSxDQUFDO1FBR3JCLGFBQVEsR0FBZSxFQUFFLENBQUM7UUFHMUIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHOUIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHN0IsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHaEMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3BDLGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHdEQseUJBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFHOUMsQ0FBQztJQUVoQix3RkFBd0Y7SUFDeEYsUUFBUSxLQUFJLENBQUM7SUFFYixXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNuQyxpREFBaUQ7WUFDakQsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNsRSxDQUFDLENBQUM7UUFFRixJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO1NBQy9DO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQUk7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELHVCQUF1QixDQUFDLElBQUk7UUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELHNCQUFzQixDQUFDLE1BQU07UUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQUs7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELDBCQUEwQixDQUFDLEtBQUs7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDOzs4SUF0RVUsNkJBQTZCO2tJQUE3Qiw2QkFBNkIsMFhDZjFDLG94QkFzQkE7NEZEUGEsNkJBQTZCO2tCQUx6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFdBQVcsRUFBRSx5Q0FBeUM7b0JBQ3RELFNBQVMsRUFBRSxDQUFDLHlDQUF5QyxDQUFDO2lCQUN2RDswRUFHQyxTQUFTO3NCQURSLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxNQUFNO2dCQUlQLE9BQU87c0JBRE4sTUFBTTtnQkFJUCxVQUFVO3NCQURULE1BQU07Z0JBSVAsY0FBYztzQkFEYixNQUFNO2dCQUlQLGFBQWE7c0JBRFosTUFBTTtnQkFJUCxvQkFBb0I7c0JBRG5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1lbXB0eS1mdW5jdGlvbiAqL1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwia3dpa2lkLWFnZW50LWRhc2hib2FyZFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2t3aWtpZC1hZ2VudC1kYXNoYm9hcmQuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2t3aWtpZC1hZ2VudC1kYXNoYm9hcmQuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgS3dpa0lEQWdlbnREYXNoYm9hcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBhZ2VudEluZm86IGFueSA9IHt9O1xuXG4gIEBJbnB1dCgpXG4gIGNvbmZpZzogYW55ID0ge307XG5cbiAgQElucHV0KClcbiAgdXNlckNvbmZpZzogYW55ID0ge307XG5cbiAgQElucHV0KClcbiAgdGFza0xpc3Q6IEFycmF5PGFueT4gPSBbXTtcblxuICBAT3V0cHV0KClcbiAgbmV4dFN0ZXAgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIGFkZFRhc2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlbW92ZVRhc2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIGZpbHRlclRhc2tMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBvbkdldFRhc2tMaXN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgb25DbGlja1BlcmZvcm1BY3Rpb246IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2VsZXNzLWNvbnN0cnVjdG9yLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgbmdPbkluaXQoKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCB2ZXJpZnlDaGFuZ2UgPSAoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcbiAgICAgIHJldHVybiBjaGFuZ2VzLmhhc093blByb3BlcnR5KGtleSkgJiYgIWNoYW5nZXNba2V5XS5maXJzdENoYW5nZTtcbiAgICB9O1xuXG4gICAgaWYgKHZlcmlmeUNoYW5nZShcInRhc2tMaXN0XCIpKSB7XG4gICAgICB0aGlzLnRhc2tMaXN0ID0gY2hhbmdlcy50YXNrTGlzdC5jdXJyZW50VmFsdWU7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlT25DbGlja05leHQoZSkge1xuICAgIHRoaXMubmV4dFN0ZXAuZW1pdChlKTtcbiAgfVxuXG4gIGhhbmRsZU9uQ2xpY2tBZGRUYXNrKHRhc2spIHtcbiAgICB0aGlzLmFkZFRhc2suZW1pdCh0YXNrKTtcbiAgfVxuXG4gIGhhbmRsZU9uQ2xpY2tSZW1vdmVUYXNrKHRhc2spIHtcbiAgICB0aGlzLnJlbW92ZVRhc2suZW1pdCh0YXNrKTtcbiAgfVxuXG4gIGhhbmRsZU9uRmlsdGVyVGFza0xpc3QoZmlsdGVyKSB7XG4gICAgdGhpcy5vbkdldFRhc2tMaXN0LmVtaXQoZmlsdGVyKTtcbiAgfVxuXG4gIGhhbmRsZU9uR2V0VGFza0xpc3QoZXZlbnQpIHtcbiAgICB0aGlzLm9uR2V0VGFza0xpc3QuZW1pdChldmVudCk7XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrUGVyZm9ybUFjdGlvbihldmVudCkge1xuICAgIHRoaXMub25DbGlja1BlcmZvcm1BY3Rpb24uZW1pdChldmVudCk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJjb25maWc/LnZlcnNpb24gPT09IDJcIj5cbiAgPGt3aWtpZC1hZ2VudC1kYXNoYm9hcmQtdjJcbiAgICBbYWdlbnRJbmZvXT1cImFnZW50SW5mb1wiXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgIFt0YXNrTGlzdF09XCJ0YXNrTGlzdFwiXG4gICAgW3VzZXJDb25maWddPVwidXNlckNvbmZpZ1wiXG4gICAgKG9uR2V0VGFza0xpc3QpPVwiaGFuZGxlT25HZXRUYXNrTGlzdCgkZXZlbnQpXCJcbiAgICAob25DbGlja1BlcmZvcm1BY3Rpb24pPVwiaGFuZGxlT25DbGlja1BlcmZvcm1BY3Rpb24oJGV2ZW50KVwiXG4gID48L2t3aWtpZC1hZ2VudC1kYXNoYm9hcmQtdjI+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImNvbmZpZz8udmVyc2lvbiAhPT0gMlwiPlxuICA8a3dpa2lkLWFnZW50LWRhc2hib2FyZC12MVxuICAgIFtjb25maWddPVwiY29uZmlnXCJcbiAgICBbdGFza0xpc3RdPVwidGFza0xpc3RcIlxuICAgIChuZXh0U3RlcCk9XCJoYW5kbGVPbkNsaWNrTmV4dCgkZXZlbnQpXCJcbiAgICAoYWRkVGFzayk9XCJoYW5kbGVPbkNsaWNrQWRkVGFzaygkZXZlbnQpXCJcbiAgICAocmVtb3ZlVGFzayk9XCJoYW5kbGVPbkNsaWNrUmVtb3ZlVGFzaygkZXZlbnQpXCJcbiAgICAoZmlsdGVyVGFza0xpc3QpPVwiaGFuZGxlT25GaWx0ZXJUYXNrTGlzdCgkZXZlbnQpXCJcbiAgICAob25DbGlja1BlcmZvcm1BY3Rpb24pPVwiaGFuZGxlT25DbGlja1BlcmZvcm1BY3Rpb24oJGV2ZW50KVwiXG4gID48L2t3aWtpZC1hZ2VudC1kYXNoYm9hcmQtdjE+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,30 +1,74 @@
|
|
|
1
|
-
import { CommonModule } from
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
1
|
+
import { CommonModule } from "@angular/common";
|
|
2
|
+
import { HttpClientJsonpModule, HttpClientModule } from "@angular/common/http";
|
|
3
|
+
import { NgModule } from "@angular/core";
|
|
4
|
+
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
|
|
5
|
+
import { GoogleMapsModule } from "@angular/google-maps";
|
|
6
|
+
import { ScrollingModule } from "@angular/cdk/scrolling";
|
|
7
|
+
import { KwikUIButtonModule, KwikUIInputDateModule, KwikUIInputModule, KwikUIInputDateRangeModule, KwikUIInputSelectModule, KwikUITableModule, KwikUITablePaginationModule, KwikUILabelValuePairModule } from "kwikui";
|
|
8
|
+
import { TuiSidebarModule } from "@taiga-ui/addon-mobile";
|
|
9
|
+
import { TuiActiveZoneModule } from "@taiga-ui/cdk";
|
|
10
|
+
import { TuiDialogModule, TuiDropdownModule, TuiGroupModule, TuiRootModule, TuiSvgModule } from "@taiga-ui/core";
|
|
11
|
+
import { KwikIDFormViewModule } from "kwikid-forms";
|
|
12
|
+
import { KwikIDAgentDashboardComponent } from "./kwikid-agent-dashboard.component";
|
|
13
|
+
import { KwikIDAgentDashboardModuleV1 } from "./v1/kwikid-agent-dashboard.module";
|
|
14
|
+
import { KwikIDAgentDashboardModuleV2 } from "./v2/kwikid-agent-dashboard.module";
|
|
9
15
|
import * as i0 from "@angular/core";
|
|
10
16
|
export class KwikIDAgentDashboardModule {
|
|
11
17
|
}
|
|
12
18
|
/** @nocollapse */ KwikIDAgentDashboardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
19
|
/** @nocollapse */ KwikIDAgentDashboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardModule, declarations: [KwikIDAgentDashboardComponent], imports: [CommonModule,
|
|
20
|
+
HttpClientModule,
|
|
14
21
|
FormsModule,
|
|
15
22
|
ReactiveFormsModule,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
23
|
+
KwikUIButtonModule,
|
|
24
|
+
KwikUIInputModule,
|
|
25
|
+
KwikUIInputDateModule,
|
|
26
|
+
KwikUIInputDateRangeModule,
|
|
27
|
+
KwikUIInputSelectModule,
|
|
28
|
+
KwikUILabelValuePairModule,
|
|
29
|
+
KwikUITableModule,
|
|
30
|
+
KwikUITablePaginationModule,
|
|
31
|
+
KwikIDFormViewModule,
|
|
32
|
+
TuiRootModule,
|
|
33
|
+
TuiDialogModule,
|
|
34
|
+
TuiDropdownModule,
|
|
35
|
+
TuiSidebarModule,
|
|
36
|
+
TuiActiveZoneModule,
|
|
37
|
+
TuiGroupModule,
|
|
38
|
+
TuiSvgModule,
|
|
39
|
+
ScrollingModule,
|
|
40
|
+
GoogleMapsModule,
|
|
41
|
+
HttpClientModule,
|
|
42
|
+
HttpClientJsonpModule,
|
|
43
|
+
KwikIDAgentDashboardModuleV1,
|
|
44
|
+
KwikIDAgentDashboardModuleV2], exports: [KwikIDAgentDashboardComponent] });
|
|
20
45
|
/** @nocollapse */ KwikIDAgentDashboardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardModule, imports: [[
|
|
21
46
|
CommonModule,
|
|
47
|
+
HttpClientModule,
|
|
22
48
|
FormsModule,
|
|
23
49
|
ReactiveFormsModule,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
50
|
+
KwikUIButtonModule,
|
|
51
|
+
KwikUIInputModule,
|
|
52
|
+
KwikUIInputDateModule,
|
|
53
|
+
KwikUIInputDateRangeModule,
|
|
54
|
+
KwikUIInputSelectModule,
|
|
55
|
+
KwikUILabelValuePairModule,
|
|
56
|
+
KwikUITableModule,
|
|
57
|
+
KwikUITablePaginationModule,
|
|
58
|
+
KwikIDFormViewModule,
|
|
59
|
+
TuiRootModule,
|
|
60
|
+
TuiDialogModule,
|
|
61
|
+
TuiDropdownModule,
|
|
62
|
+
TuiSidebarModule,
|
|
63
|
+
TuiActiveZoneModule,
|
|
64
|
+
TuiGroupModule,
|
|
65
|
+
TuiSvgModule,
|
|
66
|
+
ScrollingModule,
|
|
67
|
+
GoogleMapsModule,
|
|
68
|
+
HttpClientModule,
|
|
69
|
+
HttpClientJsonpModule,
|
|
70
|
+
KwikIDAgentDashboardModuleV1,
|
|
71
|
+
KwikIDAgentDashboardModuleV2
|
|
28
72
|
]] });
|
|
29
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardModule, decorators: [{
|
|
30
74
|
type: NgModule,
|
|
@@ -32,14 +76,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
32
76
|
declarations: [KwikIDAgentDashboardComponent],
|
|
33
77
|
imports: [
|
|
34
78
|
CommonModule,
|
|
79
|
+
HttpClientModule,
|
|
35
80
|
FormsModule,
|
|
36
81
|
ReactiveFormsModule,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
82
|
+
KwikUIButtonModule,
|
|
83
|
+
KwikUIInputModule,
|
|
84
|
+
KwikUIInputDateModule,
|
|
85
|
+
KwikUIInputDateRangeModule,
|
|
86
|
+
KwikUIInputSelectModule,
|
|
87
|
+
KwikUILabelValuePairModule,
|
|
88
|
+
KwikUITableModule,
|
|
89
|
+
KwikUITablePaginationModule,
|
|
90
|
+
KwikIDFormViewModule,
|
|
91
|
+
TuiRootModule,
|
|
92
|
+
TuiDialogModule,
|
|
93
|
+
TuiDropdownModule,
|
|
94
|
+
TuiSidebarModule,
|
|
95
|
+
TuiActiveZoneModule,
|
|
96
|
+
TuiGroupModule,
|
|
97
|
+
TuiSvgModule,
|
|
98
|
+
ScrollingModule,
|
|
99
|
+
GoogleMapsModule,
|
|
100
|
+
HttpClientModule,
|
|
101
|
+
HttpClientJsonpModule,
|
|
102
|
+
KwikIDAgentDashboardModuleV1,
|
|
103
|
+
KwikIDAgentDashboardModuleV2
|
|
41
104
|
],
|
|
42
105
|
exports: [KwikIDAgentDashboardComponent]
|
|
43
106
|
}]
|
|
44
107
|
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3dpa2lkLWFnZW50LWRhc2hib2FyZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIva3dpa2lkLWFnZW50LWRhc2hib2FyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDakIsMEJBQTBCLEVBQzFCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMzQixNQUFNLFFBQVEsQ0FBQztBQUVoQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUNMLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLGFBQWEsRUFDYixZQUFZLEVBQ2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbkYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBd0NsRixNQUFNLE9BQU8sMEJBQTBCOzsySUFBMUIsMEJBQTBCOzRJQUExQiwwQkFBMEIsaUJBckN0Qiw2QkFBNkIsYUFFMUMsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsbUJBQW1CO1FBRW5CLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIsMEJBQTBCO1FBQzFCLGlCQUFpQjtRQUNqQiwyQkFBMkI7UUFFM0Isb0JBQW9CO1FBRXBCLGFBQWE7UUFDYixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixtQkFBbUI7UUFDbkIsY0FBYztRQUNkLFlBQVk7UUFFWixlQUFlO1FBRWYsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixxQkFBcUI7UUFFckIsNEJBQTRCO1FBQzVCLDRCQUE0QixhQUVwQiw2QkFBNkI7NElBRTVCLDBCQUEwQixZQXBDNUI7WUFDUCxZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLFdBQVc7WUFDWCxtQkFBbUI7WUFFbkIsa0JBQWtCO1lBQ2xCLGlCQUFpQjtZQUNqQixxQkFBcUI7WUFDckIsMEJBQTBCO1lBQzFCLHVCQUF1QjtZQUN2QiwwQkFBMEI7WUFDMUIsaUJBQWlCO1lBQ2pCLDJCQUEyQjtZQUUzQixvQkFBb0I7WUFFcEIsYUFBYTtZQUNiLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsWUFBWTtZQUVaLGVBQWU7WUFFZixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLHFCQUFxQjtZQUVyQiw0QkFBNEI7WUFDNUIsNEJBQTRCO1NBQzdCOzRGQUdVLDBCQUEwQjtrQkF0Q3RDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQzdDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBRW5CLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLDBCQUEwQjt3QkFDMUIsdUJBQXVCO3dCQUN2QiwwQkFBMEI7d0JBQzFCLGlCQUFpQjt3QkFDakIsMkJBQTJCO3dCQUUzQixvQkFBb0I7d0JBRXBCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFlBQVk7d0JBRVosZUFBZTt3QkFFZixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUVyQiw0QkFBNEI7d0JBQzVCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsNkJBQTZCLENBQUM7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgSHR0cENsaWVudEpzb25wTW9kdWxlLCBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgR29vZ2xlTWFwc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9nb29nbGUtbWFwc1wiO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9zY3JvbGxpbmdcIjtcblxuaW1wb3J0IHtcbiAgS3dpa1VJQnV0dG9uTW9kdWxlLFxuICBLd2lrVUlJbnB1dERhdGVNb2R1bGUsXG4gIEt3aWtVSUlucHV0TW9kdWxlLFxuICBLd2lrVUlJbnB1dERhdGVSYW5nZU1vZHVsZSxcbiAgS3dpa1VJSW5wdXRTZWxlY3RNb2R1bGUsXG4gIEt3aWtVSVRhYmxlTW9kdWxlLFxuICBLd2lrVUlUYWJsZVBhZ2luYXRpb25Nb2R1bGUsXG4gIEt3aWtVSUxhYmVsVmFsdWVQYWlyTW9kdWxlXG59IGZyb20gXCJrd2lrdWlcIjtcblxuaW1wb3J0IHsgVHVpU2lkZWJhck1vZHVsZSB9IGZyb20gXCJAdGFpZ2EtdWkvYWRkb24tbW9iaWxlXCI7XG5pbXBvcnQgeyBUdWlBY3RpdmVab25lTW9kdWxlIH0gZnJvbSBcIkB0YWlnYS11aS9jZGtcIjtcbmltcG9ydCB7XG4gIFR1aURpYWxvZ01vZHVsZSxcbiAgVHVpRHJvcGRvd25Nb2R1bGUsXG4gIFR1aUdyb3VwTW9kdWxlLFxuICBUdWlSb290TW9kdWxlLFxuICBUdWlTdmdNb2R1bGVcbn0gZnJvbSBcIkB0YWlnYS11aS9jb3JlXCI7XG5cbmltcG9ydCB7IEt3aWtJREZvcm1WaWV3TW9kdWxlIH0gZnJvbSBcImt3aWtpZC1mb3Jtc1wiO1xuaW1wb3J0IHsgS3dpa0lEQWdlbnREYXNoYm9hcmRDb21wb25lbnQgfSBmcm9tIFwiLi9rd2lraWQtYWdlbnQtZGFzaGJvYXJkLmNvbXBvbmVudFwiO1xuXG5pbXBvcnQgeyBLd2lrSURBZ2VudERhc2hib2FyZE1vZHVsZVYxIH0gZnJvbSBcIi4vdjEva3dpa2lkLWFnZW50LWRhc2hib2FyZC5tb2R1bGVcIjtcbmltcG9ydCB7IEt3aWtJREFnZW50RGFzaGJvYXJkTW9kdWxlVjIgfSBmcm9tIFwiLi92Mi9rd2lraWQtYWdlbnQtZGFzaGJvYXJkLm1vZHVsZVwiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtLd2lrSURBZ2VudERhc2hib2FyZENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuXG4gICAgS3dpa1VJQnV0dG9uTW9kdWxlLFxuICAgIEt3aWtVSUlucHV0TW9kdWxlLFxuICAgIEt3aWtVSUlucHV0RGF0ZU1vZHVsZSxcbiAgICBLd2lrVUlJbnB1dERhdGVSYW5nZU1vZHVsZSxcbiAgICBLd2lrVUlJbnB1dFNlbGVjdE1vZHVsZSxcbiAgICBLd2lrVUlMYWJlbFZhbHVlUGFpck1vZHVsZSxcbiAgICBLd2lrVUlUYWJsZU1vZHVsZSxcbiAgICBLd2lrVUlUYWJsZVBhZ2luYXRpb25Nb2R1bGUsXG5cbiAgICBLd2lrSURGb3JtVmlld01vZHVsZSxcblxuICAgIFR1aVJvb3RNb2R1bGUsXG4gICAgVHVpRGlhbG9nTW9kdWxlLFxuICAgIFR1aURyb3Bkb3duTW9kdWxlLFxuICAgIFR1aVNpZGViYXJNb2R1bGUsXG4gICAgVHVpQWN0aXZlWm9uZU1vZHVsZSxcbiAgICBUdWlHcm91cE1vZHVsZSxcbiAgICBUdWlTdmdNb2R1bGUsXG5cbiAgICBTY3JvbGxpbmdNb2R1bGUsXG5cbiAgICBHb29nbGVNYXBzTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgSHR0cENsaWVudEpzb25wTW9kdWxlLFxuXG4gICAgS3dpa0lEQWdlbnREYXNoYm9hcmRNb2R1bGVWMSxcbiAgICBLd2lrSURBZ2VudERhc2hib2FyZE1vZHVsZVYyXG4gIF0sXG4gIGV4cG9ydHM6IFtLd2lrSURBZ2VudERhc2hib2FyZENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgS3dpa0lEQWdlbnREYXNoYm9hcmRNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
/* eslint-disable class-methods-use-this */
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
4
|
+
/* eslint-disable no-empty-function */
|
|
5
|
+
import { Component, EventEmitter, Input, Output } from "@angular/core";
|
|
6
|
+
import { RuleEngine } from "kwikid-toolkit";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "kwikui";
|
|
9
|
+
import * as i2 from "@angular/common";
|
|
10
|
+
export class ActionButtonComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.action = {};
|
|
13
|
+
this.config = {};
|
|
14
|
+
this.customer = {};
|
|
15
|
+
this.disabled = false;
|
|
16
|
+
this.hidden = false;
|
|
17
|
+
this.onClickPerformAction = new EventEmitter();
|
|
18
|
+
this.takeAction = (action) => {
|
|
19
|
+
switch (action.key) {
|
|
20
|
+
case "BUTTON_DISABLE":
|
|
21
|
+
this.disabled = true;
|
|
22
|
+
break;
|
|
23
|
+
case "BUTTON_ENABLE":
|
|
24
|
+
this.disabled = false;
|
|
25
|
+
break;
|
|
26
|
+
case "BUTTON_HIDE":
|
|
27
|
+
this.hidden = true;
|
|
28
|
+
break;
|
|
29
|
+
case "BUTTON_SHOW":
|
|
30
|
+
this.hidden = false;
|
|
31
|
+
break;
|
|
32
|
+
default:
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
ngOnInit() { }
|
|
38
|
+
ngOnChanges(changes) {
|
|
39
|
+
var _a;
|
|
40
|
+
const verifyChange = (key) => {
|
|
41
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
42
|
+
return changes.hasOwnProperty(key) && !changes[key].firstChange;
|
|
43
|
+
};
|
|
44
|
+
if (verifyChange("action")) {
|
|
45
|
+
this.action = changes.action.currentValue;
|
|
46
|
+
}
|
|
47
|
+
if (verifyChange("customer")) {
|
|
48
|
+
this.customer = changes.customer.currentValue;
|
|
49
|
+
}
|
|
50
|
+
if ((_a = this.action) === null || _a === void 0 ? void 0 : _a.default) {
|
|
51
|
+
this.runValidations();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
runValidations() {
|
|
55
|
+
var _a, _b, _c, _d, _e, _f;
|
|
56
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
yield new RuleEngine({
|
|
58
|
+
DATA: this.customer
|
|
59
|
+
}, this.takeAction).run({
|
|
60
|
+
triggers: [],
|
|
61
|
+
rules: (_c = (_b = (_a = this.action) === null || _a === void 0 ? void 0 : _a.default) === null || _b === void 0 ? void 0 : _b.rules) !== null && _c !== void 0 ? _c : [],
|
|
62
|
+
actions: (_f = (_e = (_d = this.action) === null || _d === void 0 ? void 0 : _d.default) === null || _e === void 0 ? void 0 : _e.actions) !== null && _f !== void 0 ? _f : []
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
handleOnClickPerformAction(action, customer) {
|
|
67
|
+
this.onClickPerformAction.emit({
|
|
68
|
+
action,
|
|
69
|
+
customer
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/** @nocollapse */ ActionButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActionButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
+
/** @nocollapse */ ActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ActionButtonComponent, selector: "kwikid-action-button", inputs: { action: "action", config: "config", customer: "customer" }, outputs: { onClickPerformAction: "onClickPerformAction" }, usesOnChanges: true, ngImport: i0, template: "<kwikui-button\n *ngIf=\"!hidden\"\n appearance=\"primary\"\n [disabled]=\"disabled\"\n [label]=\"action?.label\"\n [icon]=\"action?.icon\"\n [iconRight]=\"action?.iconRight\"\n size=\"s\"\n shape=\"rounded\"\n (onClick)=\"handleOnClickPerformAction(action, customer)\"\n></kwikui-button>\n", styles: [""], components: [{ type: i1.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActionButtonComponent, decorators: [{
|
|
76
|
+
type: Component,
|
|
77
|
+
args: [{
|
|
78
|
+
selector: "kwikid-action-button",
|
|
79
|
+
templateUrl: "./action-button.component.html",
|
|
80
|
+
styleUrls: ["./action-button.component.css"]
|
|
81
|
+
}]
|
|
82
|
+
}], ctorParameters: function () { return []; }, propDecorators: { action: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], config: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], customer: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], onClickPerformAction: [{
|
|
89
|
+
type: Output
|
|
90
|
+
}] } });
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvdjEvY29tcG9uZW50cy9hY3Rpb24tYnV0dG9uL2FjdGlvbi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWFnZW50LWRhc2hib2FyZC9zcmMvbGliL3YxL2NvbXBvbmVudHMvYWN0aW9uLWJ1dHRvbi9hY3Rpb24tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwyQ0FBMkM7QUFDM0MseURBQXlEO0FBQ3pELHNDQUFzQztBQUN0QyxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU81QyxNQUFNLE9BQU8scUJBQXFCO0lBaUJoQztRQWZBLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFHakIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUdqQixhQUFRLEdBQVEsRUFBRSxDQUFDO1FBRW5CLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUdmLHlCQUFvQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBc0NsRSxlQUFVLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN0QixRQUFRLE1BQU0sQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xCLEtBQUssZ0JBQWdCO29CQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztvQkFDckIsTUFBTTtnQkFDUixLQUFLLGVBQWU7b0JBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO29CQUN0QixNQUFNO2dCQUNSLEtBQUssYUFBYTtvQkFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7b0JBQ25CLE1BQU07Z0JBQ1IsS0FBSyxhQUFhO29CQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztvQkFDcEIsTUFBTTtnQkFDUjtvQkFDRSxNQUFNO2FBQ1Q7UUFDSCxDQUFDLENBQUM7SUFyRGEsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQztJQUVuQixXQUFXLENBQUMsT0FBc0I7O1FBQ2hDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDbkMsaURBQWlEO1lBQ2pELE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDbEUsQ0FBQyxDQUFDO1FBRUYsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztTQUMzQztRQUVELElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7U0FDL0M7UUFFRCxJQUFJLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsT0FBTyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFSyxjQUFjOzs7WUFDbEIsTUFBTSxJQUFJLFVBQVUsQ0FDbEI7Z0JBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3BCLEVBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FDaEIsQ0FBQyxHQUFHLENBQUM7Z0JBQ0osUUFBUSxFQUFFLEVBQUU7Z0JBQ1osS0FBSyxFQUFFLE1BQUEsTUFBQSxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLE9BQU8sMENBQUUsS0FBSyxtQ0FBSSxFQUFFO2dCQUN4QyxPQUFPLEVBQUUsTUFBQSxNQUFBLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsT0FBTywwQ0FBRSxPQUFPLG1DQUFJLEVBQUU7YUFDN0MsQ0FBQyxDQUFDOztLQUNKO0lBcUJELDBCQUEwQixDQUFDLE1BQVcsRUFBRSxRQUFhO1FBQ25ELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7WUFDN0IsTUFBTTtZQUNOLFFBQVE7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDOztzSUE3RVUscUJBQXFCOzBIQUFyQixxQkFBcUIsa05DbEJsQyw2U0FXQTs0RkRPYSxxQkFBcUI7a0JBTGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsU0FBUyxFQUFFLENBQUMsK0JBQStCLENBQUM7aUJBQzdDOzBFQUdDLE1BQU07c0JBREwsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQVFOLG9CQUFvQjtzQkFEbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXMgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tZW1wdHktZnVuY3Rpb24gKi9cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFJ1bGVFbmdpbmUgfSBmcm9tIFwia3dpa2lkLXRvb2xraXRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImt3aWtpZC1hY3Rpb24tYnV0dG9uXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vYWN0aW9uLWJ1dHRvbi5jb21wb25lbnQuY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGFjdGlvbjogYW55ID0ge307XG5cbiAgQElucHV0KClcbiAgY29uZmlnOiBhbnkgPSB7fTtcblxuICBASW5wdXQoKVxuICBjdXN0b21lcjogYW55ID0ge307XG5cbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBoaWRkZW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgb25DbGlja1BlcmZvcm1BY3Rpb246IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgdmVyaWZ5Q2hhbmdlID0gKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG4gICAgICByZXR1cm4gY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eShrZXkpICYmICFjaGFuZ2VzW2tleV0uZmlyc3RDaGFuZ2U7XG4gICAgfTtcblxuICAgIGlmICh2ZXJpZnlDaGFuZ2UoXCJhY3Rpb25cIikpIHtcbiAgICAgIHRoaXMuYWN0aW9uID0gY2hhbmdlcy5hY3Rpb24uY3VycmVudFZhbHVlO1xuICAgIH1cblxuICAgIGlmICh2ZXJpZnlDaGFuZ2UoXCJjdXN0b21lclwiKSkge1xuICAgICAgdGhpcy5jdXN0b21lciA9IGNoYW5nZXMuY3VzdG9tZXIuY3VycmVudFZhbHVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFjdGlvbj8uZGVmYXVsdCkge1xuICAgICAgdGhpcy5ydW5WYWxpZGF0aW9ucygpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHJ1blZhbGlkYXRpb25zKCkge1xuICAgIGF3YWl0IG5ldyBSdWxlRW5naW5lKFxuICAgICAge1xuICAgICAgICBEQVRBOiB0aGlzLmN1c3RvbWVyXG4gICAgICB9LFxuICAgICAgdGhpcy50YWtlQWN0aW9uXG4gICAgKS5ydW4oe1xuICAgICAgdHJpZ2dlcnM6IFtdLFxuICAgICAgcnVsZXM6IHRoaXMuYWN0aW9uPy5kZWZhdWx0Py5ydWxlcyA/PyBbXSxcbiAgICAgIGFjdGlvbnM6IHRoaXMuYWN0aW9uPy5kZWZhdWx0Py5hY3Rpb25zID8/IFtdXG4gICAgfSk7XG4gIH1cblxuICB0YWtlQWN0aW9uID0gKGFjdGlvbikgPT4ge1xuICAgIHN3aXRjaCAoYWN0aW9uLmtleSkge1xuICAgICAgY2FzZSBcIkJVVFRPTl9ESVNBQkxFXCI6XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJCVVRUT05fRU5BQkxFXCI6XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwiQlVUVE9OX0hJREVcIjpcbiAgICAgICAgdGhpcy5oaWRkZW4gPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJCVVRUT05fU0hPV1wiOlxuICAgICAgICB0aGlzLmhpZGRlbiA9IGZhbHNlO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfTtcblxuICBoYW5kbGVPbkNsaWNrUGVyZm9ybUFjdGlvbihhY3Rpb246IGFueSwgY3VzdG9tZXI6IGFueSkge1xuICAgIHRoaXMub25DbGlja1BlcmZvcm1BY3Rpb24uZW1pdCh7XG4gICAgICBhY3Rpb24sXG4gICAgICBjdXN0b21lclxuICAgIH0pO1xuICB9XG59XG4iLCI8a3dpa3VpLWJ1dHRvblxuICAqbmdJZj1cIiFoaWRkZW5cIlxuICBhcHBlYXJhbmNlPVwicHJpbWFyeVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtsYWJlbF09XCJhY3Rpb24/LmxhYmVsXCJcbiAgW2ljb25dPVwiYWN0aW9uPy5pY29uXCJcbiAgW2ljb25SaWdodF09XCJhY3Rpb24/Lmljb25SaWdodFwiXG4gIHNpemU9XCJzXCJcbiAgc2hhcGU9XCJyb3VuZGVkXCJcbiAgKG9uQ2xpY2spPVwiaGFuZGxlT25DbGlja1BlcmZvcm1BY3Rpb24oYWN0aW9uLCBjdXN0b21lcilcIlxuPjwva3dpa3VpLWJ1dHRvbj5cbiJdfQ==
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/* eslint-disable no-empty-function */
|
|
2
|
+
/* eslint-disable no-magic-numbers */
|
|
3
|
+
/* eslint-disable class-methods-use-this */
|
|
4
|
+
/* eslint-disable no-prototype-builtins */
|
|
5
|
+
import { Component, EventEmitter, Input, Output, ChangeDetectionStrategy } from "@angular/core";
|
|
6
|
+
import { checkObjectPathExists, getObjectValueFromPath, isNotEmptyArray } from "kwikid-toolkit";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../services/agent.service";
|
|
9
|
+
import * as i2 from "../../services/google-maps.service";
|
|
10
|
+
import * as i3 from "../../services/open-street-maps.service";
|
|
11
|
+
import * as i4 from "kwikui";
|
|
12
|
+
import * as i5 from "../customer-tile/status-pill/status-pill.component";
|
|
13
|
+
import * as i6 from "../action-button/action-button.component";
|
|
14
|
+
import * as i7 from "@angular/common";
|
|
15
|
+
export class CustomerDetailsComponent {
|
|
16
|
+
constructor(agentService, googleMapsService, openStreetMapsService, cdr) {
|
|
17
|
+
this.agentService = agentService;
|
|
18
|
+
this.googleMapsService = googleMapsService;
|
|
19
|
+
this.openStreetMapsService = openStreetMapsService;
|
|
20
|
+
this.cdr = cdr;
|
|
21
|
+
this.customer = {};
|
|
22
|
+
this.title = "Session Details";
|
|
23
|
+
this.viewTaskDetails = [];
|
|
24
|
+
this.taskId = "";
|
|
25
|
+
this.labelValuePairConfig = {};
|
|
26
|
+
this.labelValuePairData = [];
|
|
27
|
+
this.nextStep = new EventEmitter();
|
|
28
|
+
this.removeTask = new EventEmitter();
|
|
29
|
+
this.onClickPerformAction = new EventEmitter();
|
|
30
|
+
}
|
|
31
|
+
ngOnInit() {
|
|
32
|
+
this.parseData();
|
|
33
|
+
}
|
|
34
|
+
ngOnChanges(changes) {
|
|
35
|
+
const verifyChange = (key) => {
|
|
36
|
+
return changes.hasOwnProperty(key) && !changes[key].firstChange;
|
|
37
|
+
};
|
|
38
|
+
if (verifyChange("customer")) {
|
|
39
|
+
this.customer = changes.customer.currentValue;
|
|
40
|
+
this.parseData();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
parseData() {
|
|
44
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
45
|
+
const identifier = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.dashboard) === null || _b === void 0 ? void 0 : _b.taskIdentifier) !== null && _c !== void 0 ? _c : "user_id";
|
|
46
|
+
this.taskId = getObjectValueFromPath(this.customer, identifier);
|
|
47
|
+
let detailsConfig = [];
|
|
48
|
+
if (checkObjectPathExists(this.config, "dashboard.viewTaskDetails") &&
|
|
49
|
+
isNotEmptyArray(this.config.dashboard.viewTaskDetails)) {
|
|
50
|
+
detailsConfig = this.config.dashboard.viewTaskDetails;
|
|
51
|
+
const data = [];
|
|
52
|
+
detailsConfig.map((field) => {
|
|
53
|
+
const value = getObjectValueFromPath(this.customer, field.value);
|
|
54
|
+
data.push({ label: field.label, value });
|
|
55
|
+
return true;
|
|
56
|
+
});
|
|
57
|
+
this.labelValuePairData = data;
|
|
58
|
+
}
|
|
59
|
+
else if (checkObjectPathExists(this.config, "dashboard.taskUI.details.data") &&
|
|
60
|
+
isNotEmptyArray(this.config.dashboard.taskUI.details.data)) {
|
|
61
|
+
detailsConfig = this.config.dashboard.taskUI.details.data;
|
|
62
|
+
const data = [];
|
|
63
|
+
detailsConfig.map((field) => {
|
|
64
|
+
const value = getObjectValueFromPath(this.customer, field.path);
|
|
65
|
+
data.push({ label: field.label, value });
|
|
66
|
+
return true;
|
|
67
|
+
});
|
|
68
|
+
this.labelValuePairData = data;
|
|
69
|
+
}
|
|
70
|
+
this.labelValuePairConfig =
|
|
71
|
+
(_h = (_g = (_f = (_e = (_d = this.config) === null || _d === void 0 ? void 0 : _d.dashboard) === null || _e === void 0 ? void 0 : _e.taskUI) === null || _f === void 0 ? void 0 : _f.details) === null || _g === void 0 ? void 0 : _g.config) !== null && _h !== void 0 ? _h : {};
|
|
72
|
+
this.title =
|
|
73
|
+
(_p = (_o = (_m = (_l = (_k = (_j = this.config) === null || _j === void 0 ? void 0 : _j.dashboard) === null || _k === void 0 ? void 0 : _k.taskUI) === null || _l === void 0 ? void 0 : _l.details) === null || _m === void 0 ? void 0 : _m.header) === null || _o === void 0 ? void 0 : _o.title) !== null && _p !== void 0 ? _p : this.title;
|
|
74
|
+
}
|
|
75
|
+
getTaskCreationTime(task) {
|
|
76
|
+
var _a;
|
|
77
|
+
if (checkObjectPathExists(this.agentService.config, "dashboard.taskCreationTimePath")) {
|
|
78
|
+
const time = getObjectValueFromPath(task, this.agentService.config.dashboard.taskCreationTimePath);
|
|
79
|
+
return this.convertEpochToDate(time);
|
|
80
|
+
}
|
|
81
|
+
return this.convertEpochToDate((_a = task === null || task === void 0 ? void 0 : task.task_creation_time) !== null && _a !== void 0 ? _a : task === null || task === void 0 ? void 0 : task.start_time);
|
|
82
|
+
}
|
|
83
|
+
convertEpochToDate(epochTime) {
|
|
84
|
+
if (typeof epochTime === "string")
|
|
85
|
+
epochTime = Number(epochTime);
|
|
86
|
+
const date = new Date(epochTime * 1000); // Convert to milliseconds
|
|
87
|
+
const day = date.getDate().toString().padStart(2, "0");
|
|
88
|
+
const month = (date.getMonth() + 1).toString().padStart(2, "0"); // Months are zero-based
|
|
89
|
+
const year = date.getFullYear().toString();
|
|
90
|
+
return `${day}-${month}-${year}`;
|
|
91
|
+
}
|
|
92
|
+
getTaskDetails(taskData) {
|
|
93
|
+
return getObjectValueFromPath(this.customer, taskData);
|
|
94
|
+
}
|
|
95
|
+
goToMaps(location) {
|
|
96
|
+
window.open(`${location}`, "_blank");
|
|
97
|
+
}
|
|
98
|
+
handleOnClickNext(e) {
|
|
99
|
+
this.nextStep.emit(e);
|
|
100
|
+
}
|
|
101
|
+
close() {
|
|
102
|
+
var _a, _b;
|
|
103
|
+
this.agentService.currentTaskDetails = undefined;
|
|
104
|
+
if (((_b = (_a = this.agentService.config) === null || _a === void 0 ? void 0 : _a.dashboard) === null || _b === void 0 ? void 0 : _b.mapType) === "google-maps") {
|
|
105
|
+
this.googleMapsService.plotDirectionsForSelectedTask(null);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
this.openStreetMapsService.plotDirectionsForSelectedTask(null);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
handleOnClickRemoveTask(task) {
|
|
112
|
+
this.removeTask.emit(task);
|
|
113
|
+
}
|
|
114
|
+
handleOnClickPerformAction(event) {
|
|
115
|
+
this.onClickPerformAction.emit(event);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/** @nocollapse */ CustomerDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomerDetailsComponent, deps: [{ token: i1.AgentService }, { token: i2.GoogleMapsService }, { token: i3.OpenStreetMapsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
119
|
+
/** @nocollapse */ CustomerDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomerDetailsComponent, selector: "customer-details", inputs: { customer: "customer", config: "config" }, outputs: { nextStep: "nextStep", removeTask: "removeTask", onClickPerformAction: "onClickPerformAction" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"customer-details-wrapper\">\n <div>\n <kwikui-button\n icon=\"tuiIconChevronLeft\"\n label=\"Back\"\n shape=\"rounded\"\n size=\"s\"\n (onClick)=\"close()\"\n ></kwikui-button>\n </div>\n <div class=\"customer-details-heading\">{{ title }}</div>\n <div class=\"customer-details-body\">\n <div class=\"customer-details-user-id\">\n {{ taskId }}\n\n <status-pill\n *ngIf=\"config?.dashboard?.isShowTaskStatus\"\n [status]=\"customer.session_status\"\n ></status-pill>\n </div>\n\n <div class=\"customer-details-table\">\n <kwikui-label-value-pair\n [config]=\"labelValuePairConfig\"\n [data]=\"labelValuePairData\"\n ></kwikui-label-value-pair>\n </div>\n\n <div\n class=\"customer-details-actions\"\n *ngIf=\"\n config?.dashboard?.taskUI?.details?.action &&\n config?.dashboard?.taskUI?.details?.action?.length > 0\n \"\n >\n <ng-container\n *ngFor=\"let action of config?.dashboard?.taskUI?.details?.action\"\n >\n <kwikid-action-button\n [action]=\"action\"\n [config]=\"config\"\n [customer]=\"customer\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></kwikid-action-button>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [".customer-details-wrapper{display:flex;flex-direction:column;align-items:stretch;overflow:auto;grid-gap:.5rem;gap:.5rem;padding:1.5rem;height:100%;width:100%}.customer-details-wrapper .customer-details-heading{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:1rem 0;font-size:1.5rem;font-weight:600}.customer-details-wrapper .customer-details-body{display:flex;flex-direction:column;font-size:1rem}.customer-details-wrapper .customer-details-body .customer-details-user-id{display:flex;flex-direction:row;grid-gap:.6rem;gap:.6rem;align-items:center;font-size:1.25rem;font-weight:500;padding:.5rem 0}.customer-details-wrapper .customer-details-body .customer-details-table{display:flex;grid-gap:.5rem;gap:.5rem;flex-direction:column}.customer-details-wrapper .customer-details-body .customer-details-table .customer-details-table-data .customer-details-table-detail-name{font-weight:500}.customer-details-wrapper .customer-details-body .customer-details-table .customer-details-table-data .customer-details-table-detail-value{word-wrap:break-word}.customer-details-wrapper .customer-details-body .customer-details-date{padding-top:1rem}.customer-details-wrapper .customer-details-body .customer-details-actions{padding:.5rem 0;display:flex;flex-wrap:wrap;align-items:center;flex-direction:row;justify-content:flex-start;grid-gap:.5rem;gap:.5rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: i4.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i5.StatusPillComponent, selector: "status-pill", inputs: ["status"] }, { type: i4.KwikUILabelValuePairComponent, selector: "kwikui-label-value-pair", inputs: ["config", "data", "id"] }, { type: i6.ActionButtonComponent, selector: "kwikid-action-button", inputs: ["action", "config", "customer"], outputs: ["onClickPerformAction"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomerDetailsComponent, decorators: [{
|
|
121
|
+
type: Component,
|
|
122
|
+
args: [{
|
|
123
|
+
selector: "customer-details",
|
|
124
|
+
templateUrl: "./customer-details.component.html",
|
|
125
|
+
styleUrls: ["./customer-details.component.scss"],
|
|
126
|
+
changeDetection: ChangeDetectionStrategy.Default
|
|
127
|
+
}]
|
|
128
|
+
}], ctorParameters: function () { return [{ type: i1.AgentService }, { type: i2.GoogleMapsService }, { type: i3.OpenStreetMapsService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { customer: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], config: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}], nextStep: [{
|
|
133
|
+
type: Output
|
|
134
|
+
}], removeTask: [{
|
|
135
|
+
type: Output
|
|
136
|
+
}], onClickPerformAction: [{
|
|
137
|
+
type: Output
|
|
138
|
+
}] } });
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvdjEvY29tcG9uZW50cy9jdXN0b21lci1kZXRhaWxzL2N1c3RvbWVyLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWFnZW50LWRhc2hib2FyZC9zcmMvbGliL3YxL2NvbXBvbmVudHMvY3VzdG9tZXItZGV0YWlscy9jdXN0b21lci1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFzQztBQUN0QyxxQ0FBcUM7QUFDckMsMkNBQTJDO0FBQzNDLDBDQUEwQztBQUMxQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLHVCQUF1QixFQUV4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixlQUFlLEVBQ2hCLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVd4QixNQUFNLE9BQU8sd0JBQXdCO0lBMEJuQyxZQUNTLFlBQTBCLEVBQzFCLGlCQUFvQyxFQUNwQyxxQkFBNEMsRUFDM0MsR0FBc0I7UUFIdkIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzNDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBNUJoQyxhQUFRLEdBQVEsRUFBRSxDQUFDO1FBS25CLFVBQUssR0FBRyxpQkFBaUIsQ0FBQztRQUUxQixvQkFBZSxHQUFrQixFQUFFLENBQUM7UUFFcEMsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUVqQix5QkFBb0IsR0FBUSxFQUFFLENBQUM7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b0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7eUlBOUlVLHdCQUF3Qjs2SEFBeEIsd0JBQXdCLDRPQzlCckMseTFDQWdEQTs0RkRsQmEsd0JBQXdCO2tCQU5wQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFdBQVcsRUFBRSxtQ0FBbUM7b0JBQ2hELFNBQVMsRUFBRSxDQUFDLG1DQUFtQyxDQUFDO29CQUNoRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsT0FBTztpQkFDakQ7dU1BR0MsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFjTixRQUFRO3NCQURQLE1BQU07Z0JBSVAsVUFBVTtzQkFEVCxNQUFNO2dCQUlQLG9CQUFvQjtzQkFEbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWVtcHR5LWZ1bmN0aW9uICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1tYWdpYy1udW1iZXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1wcm90b3R5cGUtYnVpbHRpbnMgKi9cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBjaGVja09iamVjdFBhdGhFeGlzdHMsXG4gIGdldE9iamVjdFZhbHVlRnJvbVBhdGgsXG4gIGlzTm90RW1wdHlBcnJheVxufSBmcm9tIFwia3dpa2lkLXRvb2xraXRcIjtcbmltcG9ydCB7IEFnZW50U2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9hZ2VudC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBHb29nbGVNYXBzU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9nb29nbGUtbWFwcy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBPcGVuU3RyZWV0TWFwc1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvb3Blbi1zdHJlZXQtbWFwcy5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJjdXN0b21lci1kZXRhaWxzXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vY3VzdG9tZXItZGV0YWlscy5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vY3VzdG9tZXItZGV0YWlscy5jb21wb25lbnQuc2Nzc1wiXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0XG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbWVyRGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgY3VzdG9tZXI6IGFueSA9IHt9O1xuXG4gIEBJbnB1dCgpXG4gIGNvbmZpZzogYW55O1xuXG4gIHRpdGxlID0gXCJTZXNzaW9uIERldGFpbHNcIjtcblxuICB2aWV3VGFza0RldGFpbHM6IEFycmF5PHN0cmluZz4gPSBbXTtcblxuICB0YXNrSWQ6IGFueSA9IFwiXCI7XG5cbiAgbGFiZWxWYWx1ZVBhaXJDb25maWc6IGFueSA9IHt9O1xuXG4gIGxhYmVsVmFsdWVQYWlyRGF0YTogYW55ID0gW107XG5cbiAgQE91dHB1dCgpXG4gIG5leHRTdGVwID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICByZW1vdmVUYXNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrUGVyZm9ybUFjdGlvbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgYWdlbnRTZXJ2aWNlOiBBZ2VudFNlcnZpY2UsXG4gICAgcHVibGljIGdvb2dsZU1hcHNTZXJ2aWNlOiBHb29nbGVNYXBzU2VydmljZSxcbiAgICBwdWJsaWMgb3BlblN0cmVldE1hcHNTZXJ2aWNlOiBPcGVuU3RyZWV0TWFwc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBhcnNlRGF0YSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHZlcmlmeUNoYW5nZSA9IChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGNoYW5nZXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiAhY2hhbmdlc1trZXldLmZpcnN0Q2hhbmdlO1xuICAgIH07XG5cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiY3VzdG9tZXJcIikpIHtcbiAgICAgIHRoaXMuY3VzdG9tZXIgPSBjaGFuZ2VzLmN1c3RvbWVyLmN1cnJlbnRWYWx1ZTtcbiAgICAgIHRoaXMucGFyc2VEYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgcGFyc2VEYXRhKCkge1xuICAgIGNvbnN0IGlkZW50aWZpZXIgPSB0aGlzLmNvbmZpZz8uZGFzaGJvYXJkPy50YXNrSWRlbnRpZmllciA/PyBcInVzZXJfaWRcIjtcbiAgICB0aGlzLnRhc2tJZCA9IGdldE9iamVjdFZhbHVlRnJvbVBhdGgodGhpcy5jdXN0b21lciwgaWRlbnRpZmllcik7XG5cbiAgICBsZXQgZGV0YWlsc0NvbmZpZyA9IFtdO1xuICAgIGlmIChcbiAgICAgIGNoZWNrT2JqZWN0UGF0aEV4aXN0cyh0aGlzLmNvbmZpZywgXCJkYXNoYm9hcmQudmlld1Rhc2tEZXRhaWxzXCIpICYmXG4gICAgICBpc05vdEVtcHR5QXJyYXkodGhpcy5jb25maWcuZGFzaGJvYXJkLnZpZXdUYXNrRGV0YWlscylcbiAgICApIHtcbiAgICAgIGRldGFpbHNDb25maWcgPSB0aGlzLmNvbmZpZy5kYXNoYm9hcmQudmlld1Rhc2tEZXRhaWxzO1xuXG4gICAgICBjb25zdCBkYXRhID0gW107XG4gICAgICBkZXRhaWxzQ29uZmlnLm1hcCgoZmllbGQpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBnZXRPYmplY3RWYWx1ZUZyb21QYXRoKHRoaXMuY3VzdG9tZXIsIGZpZWxkLnZhbHVlKTtcbiAgICAgICAgZGF0YS5wdXNoKHsgbGFiZWw6IGZpZWxkLmxhYmVsLCB2YWx1ZSB9KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9KTtcbiAgICAgIHRoaXMubGFiZWxWYWx1ZVBhaXJEYXRhID0gZGF0YTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgY2hlY2tPYmplY3RQYXRoRXhpc3RzKHRoaXMuY29uZmlnLCBcImRhc2hib2FyZC50YXNrVUkuZGV0YWlscy5kYXRhXCIpICYmXG4gICAgICBpc05vdEVtcHR5QXJyYXkodGhpcy5jb25maWcuZGFzaGJvYXJkLnRhc2tVSS5kZXRhaWxzLmRhdGEpXG4gICAgKSB7XG4gICAgICBkZXRhaWxzQ29uZmlnID0gdGhpcy5jb25maWcuZGFzaGJvYXJkLnRhc2tVSS5kZXRhaWxzLmRhdGE7XG5cbiAgICAgIGNvbnN0IGRhdGEgPSBbXTtcbiAgICAgIGRldGFpbHNDb25maWcubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGdldE9iamVjdFZhbHVlRnJvbVBhdGgodGhpcy5jdXN0b21lciwgZmllbGQucGF0aCk7XG4gICAgICAgIGRhdGEucHVzaCh7IGxhYmVsOiBmaWVsZC5sYWJlbCwgdmFsdWUgfSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmxhYmVsVmFsdWVQYWlyRGF0YSA9IGRhdGE7XG4gICAgfVxuICAgIHRoaXMubGFiZWxWYWx1ZVBhaXJDb25maWcgPVxuICAgICAgdGhpcy5jb25maWc/LmRhc2hib2FyZD8udGFza1VJPy5kZXRhaWxzPy5jb25maWcgPz8ge307XG4gICAgdGhpcy50aXRsZSA9XG4gICAgICB0aGlzLmNvbmZpZz8uZGFzaGJvYXJkPy50YXNrVUk/LmRldGFpbHM/LmhlYWRlcj8udGl0bGUgPz8gdGhpcy50aXRsZTtcbiAgfVxuXG4gIGdldFRhc2tDcmVhdGlvblRpbWUodGFzaykge1xuICAgIGlmIChcbiAgICAgIGNoZWNrT2JqZWN0UGF0aEV4aXN0cyhcbiAgICAgICAgdGhpcy5hZ2VudFNlcnZpY2UuY29uZmlnLFxuICAgICAgICBcImRhc2hib2FyZC50YXNrQ3JlYXRpb25UaW1lUGF0aFwiXG4gICAgICApXG4gICAgKSB7XG4gICAgICBjb25zdCB0aW1lID0gZ2V0T2JqZWN0VmFsdWVGcm9tUGF0aChcbiAgICAgICAgdGFzayxcbiAgICAgICAgdGhpcy5hZ2VudFNlcnZpY2UuY29uZmlnLmRhc2hib2FyZC50YXNrQ3JlYXRpb25UaW1lUGF0aFxuICAgICAgKTtcbiAgICAgIHJldHVybiB0aGlzLmNvbnZlcnRFcG9jaFRvRGF0ZSh0aW1lKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29udmVydEVwb2NoVG9EYXRlKFxuICAgICAgdGFzaz8udGFza19jcmVhdGlvbl90aW1lID8/IHRhc2s/LnN0YXJ0X3RpbWVcbiAgICApO1xuICB9XG5cbiAgY29udmVydEVwb2NoVG9EYXRlKGVwb2NoVGltZSkge1xuICAgIGlmICh0eXBlb2YgZXBvY2hUaW1lID09PSBcInN0cmluZ1wiKSBlcG9jaFRpbWUgPSBOdW1iZXIoZXBvY2hUaW1lKTtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoZXBvY2hUaW1lICogMTAwMCk7IC8vIENvbnZlcnQgdG8gbWlsbGlzZWNvbmRzXG4gICAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCBcIjBcIik7XG4gICAgY29uc3QgbW9udGggPSAoZGF0ZS5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCBcIjBcIik7IC8vIE1vbnRocyBhcmUgemVyby1iYXNlZFxuICAgIGNvbnN0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKTtcblxuICAgIHJldHVybiBgJHtkYXl9LSR7bW9udGh9LSR7eWVhcn1gO1xuICB9XG5cbiAgZ2V0VGFza0RldGFpbHModGFza0RhdGEpIHtcbiAgICByZXR1cm4gZ2V0T2JqZWN0VmFsdWVGcm9tUGF0aCh0aGlzLmN1c3RvbWVyLCB0YXNrRGF0YSk7XG4gIH1cblxuICBnb1RvTWFwcyhsb2NhdGlvbikge1xuICAgIHdpbmRvdy5vcGVuKGAke2xvY2F0aW9ufWAsIFwiX2JsYW5rXCIpO1xuICB9XG5cbiAgaGFuZGxlT25DbGlja05leHQoZSkge1xuICAgIHRoaXMubmV4dFN0ZXAuZW1pdChlKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuYWdlbnRTZXJ2aWNlLmN1cnJlbnRUYXNrRGV0YWlscyA9IHVuZGVmaW5lZDtcblxuICAgIGlmICh0aGlzLmFnZW50U2VydmljZS5jb25maWc/LmRhc2hib2FyZD8ubWFwVHlwZSA9PT0gXCJnb29nbGUtbWFwc1wiKSB7XG4gICAgICB0aGlzLmdvb2dsZU1hcHNTZXJ2aWNlLnBsb3REaXJlY3Rpb25zRm9yU2VsZWN0ZWRUYXNrKG51bGwpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW5TdHJlZXRNYXBzU2VydmljZS5wbG90RGlyZWN0aW9uc0ZvclNlbGVjdGVkVGFzayhudWxsKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrUmVtb3ZlVGFzayh0YXNrKSB7XG4gICAgdGhpcy5yZW1vdmVUYXNrLmVtaXQodGFzayk7XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrUGVyZm9ybUFjdGlvbihldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNsaWNrUGVyZm9ybUFjdGlvbi5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImN1c3RvbWVyLWRldGFpbHMtd3JhcHBlclwiPlxuICA8ZGl2PlxuICAgIDxrd2lrdWktYnV0dG9uXG4gICAgICBpY29uPVwidHVpSWNvbkNoZXZyb25MZWZ0XCJcbiAgICAgIGxhYmVsPVwiQmFja1wiXG4gICAgICBzaGFwZT1cInJvdW5kZWRcIlxuICAgICAgc2l6ZT1cInNcIlxuICAgICAgKG9uQ2xpY2spPVwiY2xvc2UoKVwiXG4gICAgPjwva3dpa3VpLWJ1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjdXN0b21lci1kZXRhaWxzLWhlYWRpbmdcIj57eyB0aXRsZSB9fTwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY3VzdG9tZXItZGV0YWlscy1ib2R5XCI+XG4gICAgPGRpdiBjbGFzcz1cImN1c3RvbWVyLWRldGFpbHMtdXNlci1pZFwiPlxuICAgICAge3sgdGFza0lkIH19XG5cbiAgICAgIDxzdGF0dXMtcGlsbFxuICAgICAgICAqbmdJZj1cImNvbmZpZz8uZGFzaGJvYXJkPy5pc1Nob3dUYXNrU3RhdHVzXCJcbiAgICAgICAgW3N0YXR1c109XCJjdXN0b21lci5zZXNzaW9uX3N0YXR1c1wiXG4gICAgICA+PC9zdGF0dXMtcGlsbD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjdXN0b21lci1kZXRhaWxzLXRhYmxlXCI+XG4gICAgICA8a3dpa3VpLWxhYmVsLXZhbHVlLXBhaXJcbiAgICAgICAgW2NvbmZpZ109XCJsYWJlbFZhbHVlUGFpckNvbmZpZ1wiXG4gICAgICAgIFtkYXRhXT1cImxhYmVsVmFsdWVQYWlyRGF0YVwiXG4gICAgICA+PC9rd2lrdWktbGFiZWwtdmFsdWUtcGFpcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY3VzdG9tZXItZGV0YWlscy1hY3Rpb25zXCJcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgIGNvbmZpZz8uZGFzaGJvYXJkPy50YXNrVUk/LmRldGFpbHM/LmFjdGlvbiAmJlxuICAgICAgICBjb25maWc/LmRhc2hib2FyZD8udGFza1VJPy5kZXRhaWxzPy5hY3Rpb24/Lmxlbmd0aCA+IDBcbiAgICAgIFwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvbmZpZz8uZGFzaGJvYXJkPy50YXNrVUk/LmRldGFpbHM/LmFjdGlvblwiXG4gICAgICA+XG4gICAgICAgIDxrd2lraWQtYWN0aW9uLWJ1dHRvblxuICAgICAgICAgIFthY3Rpb25dPVwiYWN0aW9uXCJcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgW2N1c3RvbWVyXT1cImN1c3RvbWVyXCJcbiAgICAgICAgICAob25DbGlja1BlcmZvcm1BY3Rpb24pPVwiaGFuZGxlT25DbGlja1BlcmZvcm1BY3Rpb24oJGV2ZW50KVwiXG4gICAgICAgID48L2t3aWtpZC1hY3Rpb24tYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|