kwikid-agent-dashboard 0.0.37 → 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 +3655 -1317
- package/bundles/kwikid-agent-dashboard.umd.js.map +1 -1
- package/esm2015/lib/kwikid-agent-dashboard.component.js +39 -120
- package/esm2015/lib/kwikid-agent-dashboard.module.js +26 -35
- 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 +3255 -1100
- package/fesm2015/kwikid-agent-dashboard.js.map +1 -1
- package/lib/kwikid-agent-dashboard.component.d.ts +11 -36
- package/lib/kwikid-agent-dashboard.module.d.ts +13 -16
- package/lib/v1/components/action-button/action-button.component.d.ts +18 -0
- package/lib/{components → v1/components}/customer-details/customer-details.component.d.ts +13 -6
- package/lib/{components → v1/components}/customer-list/customer-list.component.d.ts +25 -15
- package/lib/{components → v1/components}/customer-tile/customer-tile.component.d.ts +12 -5
- package/lib/{components → v1/components}/customer-tile/status-pill/status-pill.component.d.ts +6 -2
- package/lib/{components → v1/components}/customer-tile/status-pill/status-pill.definitions.d.ts +1 -1
- 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/{services → v1/services}/agent.service.d.ts +1 -1
- package/lib/{services → v1/services}/google-maps.service.d.ts +4 -4
- package/lib/{services → v1/services}/open-street-maps.service.d.ts +5 -5
- package/lib/v2/components/agent-info/agent-info.component.d.ts +8 -0
- package/lib/v2/components/agent-info/agent-info.module.d.ts +11 -0
- package/lib/v2/components/bottom-sheet/bottom-sheet.component.d.ts +24 -0
- package/lib/v2/components/bottom-sheet/bottom-sheet.module.d.ts +12 -0
- package/lib/v2/components/components.module.d.ts +15 -0
- package/lib/v2/components/map-view/map-view.component.d.ts +10 -0
- package/lib/v2/components/map-view/map-view.module.d.ts +11 -0
- package/lib/v2/components/primary-actions/primary-actions.component.d.ts +14 -0
- package/lib/v2/components/primary-actions/primary-actions.module.d.ts +13 -0
- package/lib/v2/components/task-detail/task-detail.component.d.ts +23 -0
- package/lib/v2/components/task-detail/task-detail.module.d.ts +12 -0
- package/lib/v2/components/task-item/task-item.component.d.ts +23 -0
- package/lib/v2/components/task-item/task-item.constant.d.ts +11 -0
- package/lib/v2/components/task-item/task-item.module.d.ts +13 -0
- package/lib/v2/components/task-item-status/task-item-status.component.d.ts +14 -0
- package/lib/v2/components/task-item-status/task-item-status.module.d.ts +9 -0
- package/lib/v2/components/task-list/task-list.component.d.ts +45 -0
- package/lib/v2/components/task-list/task-list.module.d.ts +16 -0
- package/lib/v2/components/task-list-search/task-list-search.component.d.ts +34 -0
- package/lib/v2/components/task-list-search/task-list-search.module.d.ts +12 -0
- package/lib/v2/components/task-preview/task-preview.component.d.ts +11 -0
- package/lib/v2/components/task-preview/task-preview.module.d.ts +11 -0
- package/lib/v2/helpers/array.helper.d.ts +1 -0
- package/lib/v2/helpers/date.helplers.d.ts +3 -0
- package/lib/v2/kwikid-agent-dashboard.component.d.ts +17 -0
- package/lib/v2/kwikid-agent-dashboard.module.d.ts +13 -0
- package/lib/v2/layout/layout-body/layout-body.component.d.ts +42 -0
- package/lib/v2/layout/layout-body/layout-body.module.d.ts +14 -0
- package/lib/v2/layout/layout-header/layout-header.component.d.ts +20 -0
- package/lib/v2/layout/layout-header/layout-header.module.d.ts +13 -0
- package/lib/v2/layout/layout.module.d.ts +8 -0
- package/lib/v2/pipes/search-filter.pipe.d.ts +25 -0
- package/package.json +2 -2
- package/esm2015/lib/components/customer-details/customer-details.component.js +0 -90
- package/esm2015/lib/components/customer-list/customer-list.component.js +0 -165
- package/esm2015/lib/components/customer-tile/customer-tile.component.js +0 -87
- package/esm2015/lib/components/customer-tile/status-pill/status-pill.component.js +0 -32
- package/esm2015/lib/components/customer-tile/status-pill/status-pill.definitions.js +0 -36
- package/esm2015/lib/helpers/maps.helpers.js +0 -46
- package/esm2015/lib/pipes/search-filter.pipe.js +0 -62
- package/esm2015/lib/services/agent.service.js +0 -153
- package/esm2015/lib/services/google-maps.service.js +0 -201
- package/esm2015/lib/services/open-street-maps.service.js +0 -252
- /package/lib/{helpers → v1/helpers}/maps.helpers.d.ts +0 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostListener, Input, Output } from "@angular/core";
|
|
2
|
+
import { checkObjectPathExists, getObjectValueFromPath, isNotEmptyArray } from "kwikid-toolkit";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../services/google-maps.service";
|
|
5
|
+
import * as i2 from "../../services/open-street-maps.service";
|
|
6
|
+
import * as i3 from "../../services/agent.service";
|
|
7
|
+
import * as i4 from "./status-pill/status-pill.component";
|
|
8
|
+
import * as i5 from "kwikui";
|
|
9
|
+
import * as i6 from "../action-button/action-button.component";
|
|
10
|
+
import * as i7 from "@angular/common";
|
|
11
|
+
export class CustomerTileComponent {
|
|
12
|
+
constructor(googleMapsService, openStreetMapsService, agentService, hostElement) {
|
|
13
|
+
this.googleMapsService = googleMapsService;
|
|
14
|
+
this.openStreetMapsService = openStreetMapsService;
|
|
15
|
+
this.agentService = agentService;
|
|
16
|
+
this.hostElement = hostElement;
|
|
17
|
+
this.customer = {};
|
|
18
|
+
this.index = undefined;
|
|
19
|
+
this.isMobileView = false;
|
|
20
|
+
this.viewTaskDetails = [];
|
|
21
|
+
this.taskId = "";
|
|
22
|
+
this.labelValuePairConfig = {};
|
|
23
|
+
this.labelValuePairData = [];
|
|
24
|
+
this.onClickPerformAction = new EventEmitter();
|
|
25
|
+
this.nextStep = new EventEmitter();
|
|
26
|
+
this.removeTask = new EventEmitter();
|
|
27
|
+
}
|
|
28
|
+
windowResizeWatcher() {
|
|
29
|
+
if (this.hostElement.nativeElement.offsetWidth < 600) {
|
|
30
|
+
this.isMobileView = true;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.isMobileView = false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
ngOnInit() {
|
|
37
|
+
this.parseData();
|
|
38
|
+
}
|
|
39
|
+
ngOnChanges(changes) {
|
|
40
|
+
const verifyChange = (key) => {
|
|
41
|
+
return changes.hasOwnProperty(key) && !changes[key].firstChange;
|
|
42
|
+
};
|
|
43
|
+
if (verifyChange("customer")) {
|
|
44
|
+
this.customer = changes.customer.currentValue;
|
|
45
|
+
this.parseData();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
parseData() {
|
|
49
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
50
|
+
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";
|
|
51
|
+
this.taskId = getObjectValueFromPath(this.customer, identifier);
|
|
52
|
+
let detailsConfig = [];
|
|
53
|
+
if (checkObjectPathExists(this.config, "dashboard.viewTaskDetails") &&
|
|
54
|
+
isNotEmptyArray(this.config.dashboard.viewTaskDetails)) {
|
|
55
|
+
detailsConfig = this.config.dashboard.viewTaskDetails;
|
|
56
|
+
const data = [];
|
|
57
|
+
detailsConfig.map((field) => {
|
|
58
|
+
console.log("vvvvv", field);
|
|
59
|
+
const value = getObjectValueFromPath(this.customer, field.value);
|
|
60
|
+
data.push({ label: field.label, value });
|
|
61
|
+
return true;
|
|
62
|
+
});
|
|
63
|
+
this.labelValuePairData = data;
|
|
64
|
+
}
|
|
65
|
+
else if (checkObjectPathExists(this.config, "dashboard.taskUI.details.data") &&
|
|
66
|
+
isNotEmptyArray(this.config.dashboard.taskUI.details.data)) {
|
|
67
|
+
detailsConfig = this.config.dashboard.taskUI.details.data;
|
|
68
|
+
const data = [];
|
|
69
|
+
detailsConfig.map((field) => {
|
|
70
|
+
const value = getObjectValueFromPath(this.customer, field.path);
|
|
71
|
+
data.push({ label: field.label, value });
|
|
72
|
+
return true;
|
|
73
|
+
});
|
|
74
|
+
this.labelValuePairData = data;
|
|
75
|
+
}
|
|
76
|
+
console.log("DATA", this.labelValuePairData);
|
|
77
|
+
this.labelValuePairConfig =
|
|
78
|
+
(_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 : {};
|
|
79
|
+
}
|
|
80
|
+
openDetails() {
|
|
81
|
+
var _a, _b, _c, _d;
|
|
82
|
+
const isDifferentTaskSelected = ((_a = this.agentService.currentTaskDetails) === null || _a === void 0 ? void 0 : _a.session_id) !==
|
|
83
|
+
((_b = this.customer) === null || _b === void 0 ? void 0 : _b.session_id);
|
|
84
|
+
if (isDifferentTaskSelected) {
|
|
85
|
+
this.agentService.currentTaskDetails = this.customer;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
this.agentService.currentTaskDetails = undefined;
|
|
89
|
+
}
|
|
90
|
+
if (this.agentService.showMapview) {
|
|
91
|
+
if (((_d = (_c = this.agentService.config) === null || _c === void 0 ? void 0 : _c.dashboard) === null || _d === void 0 ? void 0 : _d.mapType) === "google-maps") {
|
|
92
|
+
this.googleMapsService.plotDirectionsForSelectedTask(this.agentService.currentTaskDetails);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
this.openStreetMapsService.plotDirectionsForSelectedTask(this.agentService.currentTaskDetails);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
goToMaps(location) {
|
|
100
|
+
window.open(`${location}`, "_blank");
|
|
101
|
+
}
|
|
102
|
+
handleOnClickPerformAction(event) {
|
|
103
|
+
this.onClickPerformAction.emit(event);
|
|
104
|
+
}
|
|
105
|
+
handleOnClickNext(e) {
|
|
106
|
+
this.nextStep.emit(e);
|
|
107
|
+
}
|
|
108
|
+
handleOnClickRemoveTask(task) {
|
|
109
|
+
this.removeTask.emit(task);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/** @nocollapse */ CustomerTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomerTileComponent, deps: [{ token: i1.GoogleMapsService }, { token: i2.OpenStreetMapsService }, { token: i3.AgentService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
113
|
+
/** @nocollapse */ CustomerTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomerTileComponent, selector: "customer-tile", inputs: { customer: "customer", index: "index", config: "config" }, outputs: { onClickPerformAction: "onClickPerformAction", nextStep: "nextStep", removeTask: "removeTask" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div\n [ngClass]=\"\n customer?.session_id == agentService.currentTaskDetails?.session_id\n ? 'customer-tile-wrapper customer-tile-active'\n : 'customer-tile-wrapper'\n \"\n>\n <div class=\"customer-tile-primary-container\">\n <div class=\"customer-tile-primary-container-data\">\n <div class=\"customer-tile-primary-container-userid\">\n {{ taskId }}\n </div>\n <status-pill\n *ngIf=\"config?.dashboard?.isShowTaskStatus\"\n [status]=\"customer.session_status\"\n ></status-pill>\n </div>\n <kwikui-button\n *ngIf=\"!agentService.isMobileView && !agentService.showMapview\"\n [icon]=\"\n agentService.currentTaskDetails?.session_id == customer?.session_id\n ? 'tuiIconChevronLeftLarge'\n : 'tuiIconChevronRightLarge'\n \"\n [shape]=\"'rounded'\"\n appearance=\"icon\"\n size=\"s\"\n (onClick)=\"openDetails()\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"agentService.isMobileView || agentService.showMapview\"\n [icon]=\"\n agentService.currentTaskDetails?.session_id == customer?.session_id\n ? 'tuiIconChevronUpLarge'\n : 'tuiIconChevronDownLarge'\n \"\n [shape]=\"'rounded'\"\n appearance=\"icon\"\n size=\"s\"\n (onClick)=\"openDetails()\"\n ></kwikui-button>\n </div>\n <div\n *ngIf=\"\n customer?.session_id == agentService.currentTaskDetails?.session_id &&\n (agentService.isMobileView || agentService.showMapview)\n \"\n [ngClass]=\"\n customer?.session_id == agentService.currentTaskDetails?.session_id &&\n (agentService.isMobileView || agentService.showMapview)\n ? 'customer-tile-secondary-container'\n : 'data-collasped'\n \"\n >\n <div class=\"customer-tile-secondary-container-data\">\n <kwikui-label-value-pair\n [config]=\"labelValuePairConfig\"\n [data]=\"labelValuePairData\"\n ></kwikui-label-value-pair>\n <!-- <div\n *ngIf=\"\n agentService.config?.dashboard?.maps?.sho &&\n agentService.config?.dashboard?.isShowDistanceAndTime &&\n openStreetMapsService.getSelectedTaskDistanceAndTime()\n \"\n class=\"customer-tile-secondary-container-custom-details\"\n >\n Distance: {{ openStreetMapsService.getSelectedTaskDistanceAndTime()?.distance }} |\n Time: {{ openStreetMapsService.getSelectedTaskDistanceAndTime()?.time }}\n </div> -->\n </div>\n <div class=\"customer-tile-secondary-container-actions\">\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 class=\"customer-tile-secondary-container-task-buttons\">\n <kwikui-button\n *ngIf=\"config.dashboard?.isAllowRemoveTask\"\n [icon]=\"'tuiIconTrash2'\"\n [shape]=\"'rounded'\"\n appearance=\"icon\"\n size=\"s\"\n (onClick)=\"handleOnClickRemoveTask(customer)\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"config.dashboard?.isShowCopyLink\"\n icon=\"tuiIconCopy\"\n [shape]=\"'rounded'\"\n appearance=\"icon\"\n size=\"s\"\n (onClick)=\"\n handleOnClickNext({\n customer: customer,\n stepType: 'SHARE_JOURNEY_LINK'\n })\n \"\n ></kwikui-button>\n </div>\n <div class=\"customer-tile-secondary-container-journey-buttons\">\n <kwikui-button\n *ngIf=\"config.dashboard?.isShowMaps && customer?.isValidLocation\"\n label=\"Show Directions\"\n appearance=\"flat\"\n size=\"s\"\n styles=\"font-size:0.7rem;\"\n (onClick)=\"goToMaps(customer.googleMapsUrl)\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"\n config.dashboard?.isAllowStartJourney &&\n agentService.canStartJourney(customer.session_status)\n \"\n label=\"Start Journey\"\n appearance=\"primary\"\n size=\"s\"\n styles=\"font-size:0.7rem;\"\n (onClick)=\"\n handleOnClickNext({ customer: customer, stepType: 'START_JOURNEY' })\n \"\n ></kwikui-button>\n </div> -->\n </div>\n </div>\n</div>\n", styles: [".customer-tile-wrapper{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:stretch;flex:1;overflow:auto;grid-gap:.5rem;gap:.5rem;margin:1rem;padding:1rem .25rem 1rem 1rem;border-radius:1rem;border:.5px solid #ddd}.customer-tile-wrapper .customer-tile-primary-container{display:flex;grid-gap:.5rem;gap:.5rem;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;width:100%;height:100%}.customer-tile-wrapper .customer-tile-primary-container .customer-tile-primary-container-data{padding-left:.2rem;grid-gap:.6rem;gap:.6rem;display:flex;flex-direction:column;flex-wrap:wrap;align-content:stretch;justify-content:flex-start;align-items:flex-start}.customer-tile-wrapper .customer-tile-primary-container .customer-tile-primary-container-data .customer-tile-primary-container-userid{font-weight:500;font-size:1.1rem;line-height:1rem}.customer-tile-wrapper .customer-tile-secondary-container{width:100%;height:100%;display:flex;flex-direction:column;overflow:auto;grid-gap:.5rem;gap:.5rem}.customer-tile-wrapper .customer-tile-secondary-container .customer-tile-secondary-container-data{padding:.4rem .2rem;display:flex;flex-direction:column;font-size:.7rem;grid-gap:.3rem;gap:.3rem}.customer-tile-wrapper .customer-tile-secondary-container .customer-tile-secondary-container-data .customer-tile-secondary-container-custom-details{width:100%;height:100%;line-height:.9rem;word-wrap:break-word}.customer-tile-wrapper .customer-tile-secondary-container .customer-tile-secondary-container-actions{padding:.5rem 0;display:flex;flex-wrap:wrap;align-items:center;flex-direction:row;justify-content:flex-start;grid-gap:.5rem;gap:.5rem}.customer-tile-wrapper .data-collasped{display:none}.customer-tile-active{background-color:#dcedfd}\n"], components: [{ type: i4.StatusPillComponent, selector: "status-pill", inputs: ["status"] }, { type: i5.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i5.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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomerTileComponent, decorators: [{
|
|
115
|
+
type: Component,
|
|
116
|
+
args: [{
|
|
117
|
+
selector: "customer-tile",
|
|
118
|
+
templateUrl: "./customer-tile.component.html",
|
|
119
|
+
styleUrls: ["./customer-tile.component.scss"]
|
|
120
|
+
}]
|
|
121
|
+
}], ctorParameters: function () { return [{ type: i1.GoogleMapsService }, { type: i2.OpenStreetMapsService }, { type: i3.AgentService }, { type: i0.ElementRef }]; }, propDecorators: { windowResizeWatcher: [{
|
|
122
|
+
type: HostListener,
|
|
123
|
+
args: ["window:resize", ["$event"]]
|
|
124
|
+
}], customer: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], index: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], config: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], onClickPerformAction: [{
|
|
131
|
+
type: Output
|
|
132
|
+
}], nextStep: [{
|
|
133
|
+
type: Output
|
|
134
|
+
}], removeTask: [{
|
|
135
|
+
type: Output
|
|
136
|
+
}] } });
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItdGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvdjEvY29tcG9uZW50cy9jdXN0b21lci10aWxlL2N1c3RvbWVyLXRpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWFnZW50LWRhc2hib2FyZC9zcmMvbGliL3YxL2NvbXBvbmVudHMvY3VzdG9tZXItdGlsZS9jdXN0b21lci10aWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGVBQWUsRUFFaEIsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBWXhCLE1BQU0sT0FBTyxxQkFBcUI7SUFzQ2hDLFlBQ1MsaUJBQW9DLEVBQ3BDLHFCQUE0QyxFQUM1QyxZQUEwQixFQUN6QixXQUF1QjtRQUh4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDekIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUEvQmpDLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFHbkIsVUFBSyxHQUFXLFNBQVMsQ0FBQztRQUsxQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixvQkFBZSxHQUFrQixFQUFFLENBQUM7UUFFcEMsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUVqQix5QkFBb0IsR0FBUSxFQUFFLENBQUM7UUFFL0IsdUJBQWtCLEdBQVEsRUFBRSxDQUFDO1FBRzdCLHlCQUFvQixHQUFz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QUNILENBQUM7SUFFRCxRQUFRLENBQUMsUUFBUTtRQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsMEJBQTBCLENBQUMsS0FBVTtRQUNuQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxJQUFJO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7O3NJQXpJVSxxQkFBcUI7MEhBQXJCLHFCQUFxQixrVUMzQmxDLHlnSkFtSUE7NEZEeEdhLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsU0FBUyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7aUJBQzlDO2dNQUdDLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVXpDLFFBQVE7c0JBRFAsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQWNOLG9CQUFvQjtzQkFEbkIsTUFBTTtnQkFJUCxRQUFRO3NCQURQLE1BQU07Z0JBSVAsVUFBVTtzQkFEVCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBjaGVja09iamVjdFBhdGhFeGlzdHMsXG4gIGdldE9iamVjdFZhbHVlRnJvbVBhdGgsXG4gIGlzTm90RW1wdHlBcnJheSxcbiAgaXNOb3RFbXB0eVZhbHVlXG59IGZyb20gXCJrd2lraWQtdG9vbGtpdFwiO1xuaW1wb3J0IHsgR29vZ2xlTWFwc1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvZ29vZ2xlLW1hcHMuc2VydmljZVwiO1xuaW1wb3J0IHsgQWdlbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2FnZW50LnNlcnZpY2VcIjtcbmltcG9ydCB7IE9wZW5TdHJlZXRNYXBzU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9vcGVuLXN0cmVldC1tYXBzLnNlcnZpY2VcIjtcblxuZGVjbGFyZSBjb25zdCBnb29nbGU6IGFueTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImN1c3RvbWVyLXRpbGVcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9jdXN0b21lci10aWxlLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9jdXN0b21lci10aWxlLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbWVyVGlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6cmVzaXplXCIsIFtcIiRldmVudFwiXSlcbiAgd2luZG93UmVzaXplV2F0Y2hlcigpIHtcbiAgICBpZiAodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIDwgNjAwKSB7XG4gICAgICB0aGlzLmlzTW9iaWxlVmlldyA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNNb2JpbGVWaWV3ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgY3VzdG9tZXI6IGFueSA9IHt9O1xuXG4gIEBJbnB1dCgpXG4gIGluZGV4OiBudW1iZXIgPSB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgY29uZmlnOiBhbnk7XG5cbiAgaXNNb2JpbGVWaWV3ID0gZmFsc2U7XG5cbiAgdmlld1Rhc2tEZXRhaWxzOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgdGFza0lkOiBhbnkgPSBcIlwiO1xuXG4gIGxhYmVsVmFsdWVQYWlyQ29uZmlnOiBhbnkgPSB7fTtcblxuICBsYWJlbFZhbHVlUGFpckRhdGE6IGFueSA9IFtdO1xuXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrUGVyZm9ybUFjdGlvbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAT3V0cHV0KClcbiAgbmV4dFN0ZXAgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlbW92ZVRhc2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGdvb2dsZU1hcHNTZXJ2aWNlOiBHb29nbGVNYXBzU2VydmljZSxcbiAgICBwdWJsaWMgb3BlblN0cmVldE1hcHNTZXJ2aWNlOiBPcGVuU3RyZWV0TWFwc1NlcnZpY2UsXG4gICAgcHVibGljIGFnZW50U2VydmljZTogQWdlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWZcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucGFyc2VEYXRhKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgdmVyaWZ5Q2hhbmdlID0gKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eShrZXkpICYmICFjaGFuZ2VzW2tleV0uZmlyc3RDaGFuZ2U7XG4gICAgfTtcblxuICAgIGlmICh2ZXJpZnlDaGFuZ2UoXCJjdXN0b21lclwiKSkge1xuICAgICAgdGhpcy5jdXN0b21lciA9IGNoYW5nZXMuY3VzdG9tZXIuY3VycmVudFZhbHVlO1xuICAgICAgdGhpcy5wYXJzZURhdGEoKTtcbiAgICB9XG4gIH1cblxuICBwYXJzZURhdGEoKSB7XG4gICAgY29uc3QgaWRlbnRpZmllciA9IHRoaXMuY29uZmlnPy5kYXNoYm9hcmQ/LnRhc2tJZGVudGlmaWVyID8/IFwidXNlcl9pZFwiO1xuICAgIHRoaXMudGFza0lkID0gZ2V0T2JqZWN0VmFsdWVGcm9tUGF0aCh0aGlzLmN1c3RvbWVyLCBpZGVudGlmaWVyKTtcblxuICAgIGxldCBkZXRhaWxzQ29uZmlnID0gW107XG4gICAgaWYgKFxuICAgICAgY2hlY2tPYmplY3RQYXRoRXhpc3RzKHRoaXMuY29uZmlnLCBcImRhc2hib2FyZC52aWV3VGFza0RldGFpbHNcIikgJiZcbiAgICAgIGlzTm90RW1wdHlBcnJheSh0aGlzLmNvbmZpZy5kYXNoYm9hcmQudmlld1Rhc2tEZXRhaWxzKVxuICAgICkge1xuICAgICAgZGV0YWlsc0NvbmZpZyA9IHRoaXMuY29uZmlnLmRhc2hib2FyZC52aWV3VGFza0RldGFpbHM7XG5cbiAgICAgIGNvbnN0IGRhdGEgPSBbXTtcbiAgICAgIGRldGFpbHNDb25maWcubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhcInZ2dnZ2XCIsIGZpZWxkKTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBnZXRPYmplY3RWYWx1ZUZyb21QYXRoKHRoaXMuY3VzdG9tZXIsIGZpZWxkLnZhbHVlKTtcbiAgICAgICAgZGF0YS5wdXNoKHsgbGFiZWw6IGZpZWxkLmxhYmVsLCB2YWx1ZSB9KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9KTtcbiAgICAgIHRoaXMubGFiZWxWYWx1ZVBhaXJEYXRhID0gZGF0YTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgY2hlY2tPYmplY3RQYXRoRXhpc3RzKHRoaXMuY29uZmlnLCBcImRhc2hib2FyZC50YXNrVUkuZGV0YWlscy5kYXRhXCIpICYmXG4gICAgICBpc05vdEVtcHR5QXJyYXkodGhpcy5jb25maWcuZGFzaGJvYXJkLnRhc2tVSS5kZXRhaWxzLmRhdGEpXG4gICAgKSB7XG4gICAgICBkZXRhaWxzQ29uZmlnID0gdGhpcy5jb25maWcuZGFzaGJvYXJkLnRhc2tVSS5kZXRhaWxzLmRhdGE7XG5cbiAgICAgIGNvbnN0IGRhdGEgPSBbXTtcbiAgICAgIGRldGFpbHNDb25maWcubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGdldE9iamVjdFZhbHVlRnJvbVBhdGgodGhpcy5jdXN0b21lciwgZmllbGQucGF0aCk7XG4gICAgICAgIGRhdGEucHVzaCh7IGxhYmVsOiBmaWVsZC5sYWJlbCwgdmFsdWUgfSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmxhYmVsVmFsdWVQYWlyRGF0YSA9IGRhdGE7XG4gICAgfVxuXG4gICAgY29uc29sZS5sb2coXCJEQVRBXCIsIHRoaXMubGFiZWxWYWx1ZVBhaXJEYXRhKTtcbiAgICB0aGlzLmxhYmVsVmFsdWVQYWlyQ29uZmlnID1cbiAgICAgIHRoaXMuY29uZmlnPy5kYXNoYm9hcmQ/LnRhc2tVST8uZGV0YWlscz8uY29uZmlnID8/IHt9O1xuICB9XG5cbiAgb3BlbkRldGFpbHMoKSB7XG4gICAgY29uc3QgaXNEaWZmZXJlbnRUYXNrU2VsZWN0ZWQgPVxuICAgICAgdGhpcy5hZ2VudFNlcnZpY2UuY3VycmVudFRhc2tEZXRhaWxzPy5zZXNzaW9uX2lkICE9PVxuICAgICAgdGhpcy5jdXN0b21lcj8uc2Vzc2lvbl9pZDtcblxuICAgIGlmIChpc0RpZmZlcmVudFRhc2tTZWxlY3RlZCkge1xuICAgICAgdGhpcy5hZ2VudFNlcnZpY2UuY3VycmVudFRhc2tEZXRhaWxzID0gdGhpcy5jdXN0b21lcjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hZ2VudFNlcnZpY2UuY3VycmVudFRhc2tEZXRhaWxzID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFnZW50U2VydmljZS5zaG93TWFwdmlldykge1xuICAgICAgaWYgKHRoaXMuYWdlbnRTZXJ2aWNlLmNvbmZpZz8uZGFzaGJvYXJkPy5tYXBUeXBlID09PSBcImdvb2dsZS1tYXBzXCIpIHtcbiAgICAgICAgdGhpcy5nb29nbGVNYXBzU2VydmljZS5wbG90RGlyZWN0aW9uc0ZvclNlbGVjdGVkVGFzayhcbiAgICAgICAgICB0aGlzLmFnZW50U2VydmljZS5jdXJyZW50VGFza0RldGFpbHNcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMub3BlblN0cmVldE1hcHNTZXJ2aWNlLnBsb3REaXJlY3Rpb25zRm9yU2VsZWN0ZWRUYXNrKFxuICAgICAgICAgIHRoaXMuYWdlbnRTZXJ2aWNlLmN1cnJlbnRUYXNrRGV0YWlsc1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdvVG9NYXBzKGxvY2F0aW9uKSB7XG4gICAgd2luZG93Lm9wZW4oYCR7bG9jYXRpb259YCwgXCJfYmxhbmtcIik7XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrUGVyZm9ybUFjdGlvbihldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNsaWNrUGVyZm9ybUFjdGlvbi5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGhhbmRsZU9uQ2xpY2tOZXh0KGUpIHtcbiAgICB0aGlzLm5leHRTdGVwLmVtaXQoZSk7XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrUmVtb3ZlVGFzayh0YXNrKSB7XG4gICAgdGhpcy5yZW1vdmVUYXNrLmVtaXQodGFzayk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW25nQ2xhc3NdPVwiXG4gICAgY3VzdG9tZXI/LnNlc3Npb25faWQgPT0gYWdlbnRTZXJ2aWNlLmN1cnJlbnRUYXNrRGV0YWlscz8uc2Vzc2lvbl9pZFxuICAgICAgPyAnY3VzdG9tZXItdGlsZS13cmFwcGVyIGN1c3RvbWVyLXRpbGUtYWN0aXZlJ1xuICAgICAgOiAnY3VzdG9tZXItdGlsZS13cmFwcGVyJ1xuICBcIlxuPlxuICA8ZGl2IGNsYXNzPVwiY3VzdG9tZXItdGlsZS1wcmltYXJ5LWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJjdXN0b21lci10aWxlLXByaW1hcnktY29udGFpbmVyLWRhdGFcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b21lci10aWxlLXByaW1hcnktY29udGFpbmVyLXVzZXJpZFwiPlxuICAgICAgICB7eyB0YXNrSWQgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPHN0YXR1cy1waWxsXG4gICAgICAgICpuZ0lmPVwiY29uZmlnPy5kYXNoYm9hcmQ/LmlzU2hvd1Rhc2tTdGF0dXNcIlxuICAgICAgICBbc3RhdHVzXT1cImN1c3RvbWVyLnNlc3Npb25fc3RhdHVzXCJcbiAgICAgID48L3N0YXR1cy1waWxsPlxuICAgIDwvZGl2PlxuICAgIDxrd2lrdWktYnV0dG9uXG4gICAgICAqbmdJZj1cIiFhZ2VudFNlcnZpY2UuaXNNb2JpbGVWaWV3ICYmICFhZ2VudFNlcnZpY2Uuc2hvd01hcHZpZXdcIlxuICAgICAgW2ljb25dPVwiXG4gICAgICAgIGFnZW50U2VydmljZS5jdXJyZW50VGFza0RldGFpbHM/LnNlc3Npb25faWQgPT0gY3VzdG9tZXI/LnNlc3Npb25faWRcbiAgICAgICAgICA/ICd0dWlJY29uQ2hldnJvbkxlZnRMYXJnZSdcbiAgICAgICAgICA6ICd0dWlJY29uQ2hldnJvblJpZ2h0TGFyZ2UnXG4gICAgICBcIlxuICAgICAgW3NoYXBlXT1cIidyb3VuZGVkJ1wiXG4gICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICBzaXplPVwic1wiXG4gICAgICAob25DbGljayk9XCJvcGVuRGV0YWlscygpXCJcbiAgICA+PC9rd2lrdWktYnV0dG9uPlxuICAgIDxrd2lrdWktYnV0dG9uXG4gICAgICAqbmdJZj1cImFnZW50U2VydmljZS5pc01vYmlsZVZpZXcgfHwgYWdlbnRTZXJ2aWNlLnNob3dNYXB2aWV3XCJcbiAgICAgIFtpY29uXT1cIlxuICAgICAgICBhZ2VudFNlcnZpY2UuY3VycmVudFRhc2tEZXRhaWxzPy5zZXNzaW9uX2lkID09IGN1c3RvbWVyPy5zZXNzaW9uX2lkXG4gICAgICAgICAgPyAndHVpSWNvbkNoZXZyb25VcExhcmdlJ1xuICAgICAgICAgIDogJ3R1aUljb25DaGV2cm9uRG93bkxhcmdlJ1xuICAgICAgXCJcbiAgICAgIFtzaGFwZV09XCIncm91bmRlZCdcIlxuICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgc2l6ZT1cInNcIlxuICAgICAgKG9uQ2xpY2spPVwib3BlbkRldGFpbHMoKVwiXG4gICAgPjwva3dpa3VpLWJ1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICAqbmdJZj1cIlxuICAgICAgY3VzdG9tZXI/LnNlc3Npb25faWQgPT0gYWdlbnRTZXJ2aWNlLmN1cnJlbnRUYXNrRGV0YWlscz8uc2Vzc2lvbl9pZCAmJlxuICAgICAgKGFnZW50U2VydmljZS5pc01vYmlsZVZpZXcgfHwgYWdlbnRTZXJ2aWNlLnNob3dNYXB2aWV3KVxuICAgIFwiXG4gICAgW25nQ2xhc3NdPVwiXG4gICAgICBjdXN0b21lcj8uc2Vzc2lvbl9pZCA9PSBhZ2VudFNlcnZpY2UuY3VycmVudFRhc2tEZXRhaWxzPy5zZXNzaW9uX2lkICYmXG4gICAgICAoYWdlbnRTZXJ2aWNlLmlzTW9iaWxlVmlldyB8fCBhZ2VudFNlcnZpY2Uuc2hvd01hcHZpZXcpXG4gICAgICAgID8gJ2N1c3RvbWVyLXRpbGUtc2Vjb25kYXJ5LWNvbnRhaW5lcidcbiAgICAgICAgOiAnZGF0YS1jb2xsYXNwZWQnXG4gICAgXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJjdXN0b21lci10aWxlLXNlY29uZGFyeS1jb250YWluZXItZGF0YVwiPlxuICAgICAgPGt3aWt1aS1sYWJlbC12YWx1ZS1wYWlyXG4gICAgICAgIFtjb25maWddPVwibGFiZWxWYWx1ZVBhaXJDb25maWdcIlxuICAgICAgICBbZGF0YV09XCJsYWJlbFZhbHVlUGFpckRhdGFcIlxuICAgICAgPjwva3dpa3VpLWxhYmVsLXZhbHVlLXBhaXI+XG4gICAgICA8IS0tIDxkaXZcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBhZ2VudFNlcnZpY2UuY29uZmlnPy5kYXNoYm9hcmQ/Lm1hcHM/LnNobyAmJlxuICAgICAgICAgIGFnZW50U2VydmljZS5jb25maWc/LmRhc2hib2FyZD8uaXNTaG93RGlzdGFuY2VBbmRUaW1lICYmXG4gICAgICAgICAgb3BlblN0cmVldE1hcHNTZXJ2aWNlLmdldFNlbGVjdGVkVGFza0Rpc3RhbmNlQW5kVGltZSgpXG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwiY3VzdG9tZXItdGlsZS1zZWNvbmRhcnktY29udGFpbmVyLWN1c3RvbS1kZXRhaWxzXCJcbiAgICAgID5cbiAgICAgICAgRGlzdGFuY2U6IHt7IG9wZW5TdHJlZXRNYXBzU2VydmljZS5nZXRTZWxlY3RlZFRhc2tEaXN0YW5jZUFuZFRpbWUoKT8uZGlzdGFuY2UgfX0gfFxuICAgICAgICBUaW1lOiB7eyBvcGVuU3RyZWV0TWFwc1NlcnZpY2UuZ2V0U2VsZWN0ZWRUYXNrRGlzdGFuY2VBbmRUaW1lKCk/LnRpbWUgfX1cbiAgICAgIDwvZGl2PiAtLT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tZXItdGlsZS1zZWNvbmRhcnktY29udGFpbmVyLWFjdGlvbnNcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBjb25maWc/LmRhc2hib2FyZD8udGFza1VJPy5kZXRhaWxzPy5hY3Rpb25cIlxuICAgICAgPlxuICAgICAgICA8a3dpa2lkLWFjdGlvbi1idXR0b25cbiAgICAgICAgICBbYWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgICAgICAgIFtjdXN0b21lcl09XCJjdXN0b21lclwiXG4gICAgICAgICAgKG9uQ2xpY2tQZXJmb3JtQWN0aW9uKT1cImhhbmRsZU9uQ2xpY2tQZXJmb3JtQWN0aW9uKCRldmVudClcIlxuICAgICAgICA+PC9rd2lraWQtYWN0aW9uLWJ1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY3VzdG9tZXItdGlsZS1zZWNvbmRhcnktY29udGFpbmVyLXRhc2stYnV0dG9uc1wiPlxuICAgICAgICA8a3dpa3VpLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiY29uZmlnLmRhc2hib2FyZD8uaXNBbGxvd1JlbW92ZVRhc2tcIlxuICAgICAgICAgIFtpY29uXT1cIid0dWlJY29uVHJhc2gyJ1wiXG4gICAgICAgICAgW3NoYXBlXT1cIidyb3VuZGVkJ1wiXG4gICAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVPbkNsaWNrUmVtb3ZlVGFzayhjdXN0b21lcilcIlxuICAgICAgICA+PC9rd2lrdWktYnV0dG9uPlxuICAgICAgICA8a3dpa3VpLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiY29uZmlnLmRhc2hib2FyZD8uaXNTaG93Q29weUxpbmtcIlxuICAgICAgICAgIGljb249XCJ0dWlJY29uQ29weVwiXG4gICAgICAgICAgW3NoYXBlXT1cIidyb3VuZGVkJ1wiXG4gICAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAob25DbGljayk9XCJcbiAgICAgICAgICAgIGhhbmRsZU9uQ2xpY2tOZXh0KHtcbiAgICAgICAgICAgICAgY3VzdG9tZXI6IGN1c3RvbWVyLFxuICAgICAgICAgICAgICBzdGVwVHlwZTogJ1NIQVJFX0pPVVJORVlfTElOSydcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgXCJcbiAgICAgICAgPjwva3dpa3VpLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbWVyLXRpbGUtc2Vjb25kYXJ5LWNvbnRhaW5lci1qb3VybmV5LWJ1dHRvbnNcIj5cbiAgICAgICAgPGt3aWt1aS1idXR0b25cbiAgICAgICAgICAqbmdJZj1cImNvbmZpZy5kYXNoYm9hcmQ/LmlzU2hvd01hcHMgJiYgY3VzdG9tZXI/LmlzVmFsaWRMb2NhdGlvblwiXG4gICAgICAgICAgbGFiZWw9XCJTaG93IERpcmVjdGlvbnNcIlxuICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcbiAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgc3R5bGVzPVwiZm9udC1zaXplOjAuN3JlbTtcIlxuICAgICAgICAgIChvbkNsaWNrKT1cImdvVG9NYXBzKGN1c3RvbWVyLmdvb2dsZU1hcHNVcmwpXCJcbiAgICAgICAgPjwva3dpa3VpLWJ1dHRvbj5cbiAgICAgICAgPGt3aWt1aS1idXR0b25cbiAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgY29uZmlnLmRhc2hib2FyZD8uaXNBbGxvd1N0YXJ0Sm91cm5leSAmJlxuICAgICAgICAgICAgYWdlbnRTZXJ2aWNlLmNhblN0YXJ0Sm91cm5leShjdXN0b21lci5zZXNzaW9uX3N0YXR1cylcbiAgICAgICAgICBcIlxuICAgICAgICAgIGxhYmVsPVwiU3RhcnQgSm91cm5leVwiXG4gICAgICAgICAgYXBwZWFyYW5jZT1cInByaW1hcnlcIlxuICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICBzdHlsZXM9XCJmb250LXNpemU6MC43cmVtO1wiXG4gICAgICAgICAgKG9uQ2xpY2spPVwiXG4gICAgICAgICAgICBoYW5kbGVPbkNsaWNrTmV4dCh7IGN1c3RvbWVyOiBjdXN0b21lciwgc3RlcFR5cGU6ICdTVEFSVF9KT1VSTkVZJyB9KVxuICAgICAgICAgIFwiXG4gICAgICAgID48L2t3aWt1aS1idXR0b24+XG4gICAgICA8L2Rpdj4gLS0+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { isEmptyValue } from "kwikid-toolkit";
|
|
3
|
+
import { EStatus } from "./status-pill.definitions";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
export class StatusPillComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.status = EStatus.WAITING;
|
|
9
|
+
this.statusText = "";
|
|
10
|
+
this.statusClass = {};
|
|
11
|
+
}
|
|
12
|
+
ngOnInit() {
|
|
13
|
+
this.parseStatus(this.status);
|
|
14
|
+
}
|
|
15
|
+
ngOnChanges(changes) {
|
|
16
|
+
const verifyChange = (key) => {
|
|
17
|
+
return changes.hasOwnProperty(key) && !changes[key].firstChange;
|
|
18
|
+
};
|
|
19
|
+
if (verifyChange("status")) {
|
|
20
|
+
this.status = changes.status.currentValue;
|
|
21
|
+
this.parseStatus(this.status);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
parseStatus(status) {
|
|
25
|
+
if (isEmptyValue(status)) {
|
|
26
|
+
this.status = EStatus.WAITING;
|
|
27
|
+
}
|
|
28
|
+
this.statusText = this.getStatusLabel(status);
|
|
29
|
+
this.statusClass = this.getStatusPillClass(status);
|
|
30
|
+
}
|
|
31
|
+
getStatusPillClass(status) {
|
|
32
|
+
const newStatus = status
|
|
33
|
+
.replace("_", "-")
|
|
34
|
+
.replace("_", "-")
|
|
35
|
+
.replace("_", "-");
|
|
36
|
+
return `status-pill ${newStatus}`;
|
|
37
|
+
}
|
|
38
|
+
getStatusLabel(status) {
|
|
39
|
+
return status.replace("_", " ").replace("_", " ").replace("_", " ");
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/** @nocollapse */ StatusPillComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StatusPillComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
+
/** @nocollapse */ StatusPillComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: StatusPillComponent, selector: "status-pill", inputs: { status: "status" }, usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"getStatusPillClass(status)\">{{ getStatusLabel(status) }}</div>\n", styles: [".status-pill{background-color:#dedede;padding:.1rem .5rem;border-radius:1rem;font-size:.7rem;color:#222}.complete,.kyc-request-accepted,.kyc-result-approved{background-color:#d7faee;color:#01663e}.rejected,.kyc-request-rejected,.kyc-result-rejected,.kyc-rejected{background:#f9dade;color:#eb3434}.auditing,.on-going,.kyc-result-partial-update,.kyc-resut-partial-update{background-color:#c1e3f4;color:#023b57}.after-audit,.waiting,.kyc-result-under-review{background-color:#f5ecb5;color:#000}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StatusPillComponent, decorators: [{
|
|
45
|
+
type: Component,
|
|
46
|
+
args: [{
|
|
47
|
+
selector: "status-pill",
|
|
48
|
+
templateUrl: "./status-pill.component.html",
|
|
49
|
+
styleUrls: ["./status-pill.component.css"]
|
|
50
|
+
}]
|
|
51
|
+
}], propDecorators: { status: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}] } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXBpbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWFnZW50LWRhc2hib2FyZC9zcmMvbGliL3YxL2NvbXBvbmVudHMvY3VzdG9tZXItdGlsZS9zdGF0dXMtcGlsbC9zdGF0dXMtcGlsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvdjEvY29tcG9uZW50cy9jdXN0b21lci10aWxlL3N0YXR1cy1waWxsL3N0YXR1cy1waWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE9BQU8sRUFBVyxNQUFNLDJCQUEyQixDQUFDOzs7QUFPN0QsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU9FLFdBQU0sR0FBWSxPQUFPLENBQUMsT0FBTyxDQUFDO1FBRWxDLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFFaEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7S0FvQ2xCO0lBbENDLFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDbkMsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNsRSxDQUFDLENBQUM7UUFFRixJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO1lBQzFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFNO1FBQ2hCLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztTQUMvQjtRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBTTtRQUN2QixNQUFNLFNBQVMsR0FBRyxNQUFNO2FBQ3JCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO2FBQ2pCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO2FBQ2pCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDckIsT0FBTyxlQUFlLFNBQVMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBTTtRQUNuQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0RSxDQUFDOztvSUF6Q1UsbUJBQW1CO3dIQUFuQixtQkFBbUIsc0dDVGhDLG9GQUNBOzRGRFFhLG1CQUFtQjtrQkFML0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7aUJBQzNDOzhCQUdDLE1BQU07c0JBREwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBpc0VtcHR5VmFsdWUgfSBmcm9tIFwia3dpa2lkLXRvb2xraXRcIjtcbmltcG9ydCB7IEVTdGF0dXMsIFRTdGF0dXMgfSBmcm9tIFwiLi9zdGF0dXMtcGlsbC5kZWZpbml0aW9uc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3RhdHVzLXBpbGxcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9zdGF0dXMtcGlsbC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vc3RhdHVzLXBpbGwuY29tcG9uZW50LmNzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBTdGF0dXNQaWxsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgc3RhdHVzOiBUU3RhdHVzID0gRVN0YXR1cy5XQUlUSU5HO1xuXG4gIHN0YXR1c1RleHQgPSBcIlwiO1xuXG4gIHN0YXR1c0NsYXNzID0ge307XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYXJzZVN0YXR1cyh0aGlzLnN0YXR1cyk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgdmVyaWZ5Q2hhbmdlID0gKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eShrZXkpICYmICFjaGFuZ2VzW2tleV0uZmlyc3RDaGFuZ2U7XG4gICAgfTtcblxuICAgIGlmICh2ZXJpZnlDaGFuZ2UoXCJzdGF0dXNcIikpIHtcbiAgICAgIHRoaXMuc3RhdHVzID0gY2hhbmdlcy5zdGF0dXMuY3VycmVudFZhbHVlO1xuICAgICAgdGhpcy5wYXJzZVN0YXR1cyh0aGlzLnN0YXR1cyk7XG4gICAgfVxuICB9XG5cbiAgcGFyc2VTdGF0dXMoc3RhdHVzKSB7XG4gICAgaWYgKGlzRW1wdHlWYWx1ZShzdGF0dXMpKSB7XG4gICAgICB0aGlzLnN0YXR1cyA9IEVTdGF0dXMuV0FJVElORztcbiAgICB9XG4gICAgdGhpcy5zdGF0dXNUZXh0ID0gdGhpcy5nZXRTdGF0dXNMYWJlbChzdGF0dXMpO1xuICAgIHRoaXMuc3RhdHVzQ2xhc3MgPSB0aGlzLmdldFN0YXR1c1BpbGxDbGFzcyhzdGF0dXMpO1xuICB9XG5cbiAgZ2V0U3RhdHVzUGlsbENsYXNzKHN0YXR1cykge1xuICAgIGNvbnN0IG5ld1N0YXR1cyA9IHN0YXR1c1xuICAgICAgLnJlcGxhY2UoXCJfXCIsIFwiLVwiKVxuICAgICAgLnJlcGxhY2UoXCJfXCIsIFwiLVwiKVxuICAgICAgLnJlcGxhY2UoXCJfXCIsIFwiLVwiKTtcbiAgICByZXR1cm4gYHN0YXR1cy1waWxsICR7bmV3U3RhdHVzfWA7XG4gIH1cblxuICBnZXRTdGF0dXNMYWJlbChzdGF0dXMpIHtcbiAgICByZXR1cm4gc3RhdHVzLnJlcGxhY2UoXCJfXCIsIFwiIFwiKS5yZXBsYWNlKFwiX1wiLCBcIiBcIikucmVwbGFjZShcIl9cIiwgXCIgXCIpO1xuICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cImdldFN0YXR1c1BpbGxDbGFzcyhzdGF0dXMpXCI+e3sgZ2V0U3RhdHVzTGFiZWwoc3RhdHVzKSB9fTwvZGl2PlxuIl19
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export var EStatus;
|
|
2
|
+
(function (EStatus) {
|
|
3
|
+
EStatus["NOT_STARTED"] = "not_started";
|
|
4
|
+
EStatus["ON_GOING"] = "on_going";
|
|
5
|
+
EStatus["AUDITING"] = "auditing";
|
|
6
|
+
EStatus["REJECTED"] = "rejected";
|
|
7
|
+
EStatus["AFTER_AUDIT"] = "after_audit";
|
|
8
|
+
EStatus["COMPLETE"] = "complete";
|
|
9
|
+
EStatus["WAITING"] = "waiting";
|
|
10
|
+
EStatus["SESSION_EXPIRED"] = "session_expired";
|
|
11
|
+
EStatus["KYC_REJECTED"] = "kyc_rejected";
|
|
12
|
+
EStatus["KYC_REQUEST_REJECTED"] = "kyc_request_rejected";
|
|
13
|
+
EStatus["KYC_REQUEST_ACCEPTED"] = "kyc_request_accepted";
|
|
14
|
+
EStatus["KYC_RESULT_REJECTED"] = "kyc_result_rejected";
|
|
15
|
+
EStatus["KYC_RESULT_APPROVED"] = "kyc_result_approved";
|
|
16
|
+
EStatus["KYC_RESULT_PARTIAL_UPDATE"] = "kyc_result_partial_update";
|
|
17
|
+
EStatus["KYC_RESULT_UNDER_REVIEW"] = "kyc_result_under_review";
|
|
18
|
+
})(EStatus || (EStatus = {}));
|
|
19
|
+
export const VStatus = [
|
|
20
|
+
EStatus.NOT_STARTED,
|
|
21
|
+
EStatus.ON_GOING,
|
|
22
|
+
EStatus.AUDITING,
|
|
23
|
+
EStatus.REJECTED,
|
|
24
|
+
EStatus.AFTER_AUDIT,
|
|
25
|
+
EStatus.COMPLETE,
|
|
26
|
+
EStatus.WAITING,
|
|
27
|
+
EStatus.SESSION_EXPIRED,
|
|
28
|
+
EStatus.KYC_REJECTED,
|
|
29
|
+
EStatus.KYC_REQUEST_REJECTED,
|
|
30
|
+
EStatus.KYC_REQUEST_ACCEPTED,
|
|
31
|
+
EStatus.KYC_RESULT_REJECTED,
|
|
32
|
+
EStatus.KYC_RESULT_APPROVED,
|
|
33
|
+
EStatus.KYC_RESULT_PARTIAL_UPDATE,
|
|
34
|
+
EStatus.KYC_RESULT_UNDER_REVIEW
|
|
35
|
+
];
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXBpbGwuZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvdjEvY29tcG9uZW50cy9jdXN0b21lci10aWxlL3N0YXR1cy1waWxsL3N0YXR1cy1waWxsLmRlZmluaXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLE9BZ0JYO0FBaEJELFdBQVksT0FBTztJQUNqQixzQ0FBMkIsQ0FBQTtJQUMzQixnQ0FBcUIsQ0FBQTtJQUNyQixnQ0FBcUIsQ0FBQTtJQUNyQixnQ0FBcUIsQ0FBQTtJQUNyQixzQ0FBMkIsQ0FBQTtJQUMzQixnQ0FBcUIsQ0FBQTtJQUNyQiw4QkFBbUIsQ0FBQTtJQUNuQiw4Q0FBbUMsQ0FBQTtJQUNuQyx3Q0FBNkIsQ0FBQTtJQUM3Qix3REFBNkMsQ0FBQTtJQUM3Qyx3REFBNkMsQ0FBQTtJQUM3QyxzREFBMkMsQ0FBQTtJQUMzQyxzREFBMkMsQ0FBQTtJQUMzQyxrRUFBdUQsQ0FBQTtJQUN2RCw4REFBbUQsQ0FBQTtBQUNyRCxDQUFDLEVBaEJXLE9BQU8sS0FBUCxPQUFPLFFBZ0JsQjtBQUVELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRztJQUNyQixPQUFPLENBQUMsV0FBVztJQUNuQixPQUFPLENBQUMsUUFBUTtJQUNoQixPQUFPLENBQUMsUUFBUTtJQUNoQixPQUFPLENBQUMsUUFBUTtJQUNoQixPQUFPLENBQUMsV0FBVztJQUNuQixPQUFPLENBQUMsUUFBUTtJQUNoQixPQUFPLENBQUMsT0FBTztJQUNmLE9BQU8sQ0FBQyxlQUFlO0lBQ3ZCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxvQkFBb0I7SUFDNUIsT0FBTyxDQUFDLG9CQUFvQjtJQUM1QixPQUFPLENBQUMsbUJBQW1CO0lBQzNCLE9BQU8sQ0FBQyxtQkFBbUI7SUFDM0IsT0FBTyxDQUFDLHlCQUF5QjtJQUNqQyxPQUFPLENBQUMsdUJBQXVCO0NBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFU3RhdHVzIHtcbiAgTk9UX1NUQVJURUQgPSBcIm5vdF9zdGFydGVkXCIsXG4gIE9OX0dPSU5HID0gXCJvbl9nb2luZ1wiLFxuICBBVURJVElORyA9IFwiYXVkaXRpbmdcIixcbiAgUkVKRUNURUQgPSBcInJlamVjdGVkXCIsXG4gIEFGVEVSX0FVRElUID0gXCJhZnRlcl9hdWRpdFwiLFxuICBDT01QTEVURSA9IFwiY29tcGxldGVcIixcbiAgV0FJVElORyA9IFwid2FpdGluZ1wiLFxuICBTRVNTSU9OX0VYUElSRUQgPSBcInNlc3Npb25fZXhwaXJlZFwiLFxuICBLWUNfUkVKRUNURUQgPSBcImt5Y19yZWplY3RlZFwiLFxuICBLWUNfUkVRVUVTVF9SRUpFQ1RFRCA9IFwia3ljX3JlcXVlc3RfcmVqZWN0ZWRcIixcbiAgS1lDX1JFUVVFU1RfQUNDRVBURUQgPSBcImt5Y19yZXF1ZXN0X2FjY2VwdGVkXCIsXG4gIEtZQ19SRVNVTFRfUkVKRUNURUQgPSBcImt5Y19yZXN1bHRfcmVqZWN0ZWRcIixcbiAgS1lDX1JFU1VMVF9BUFBST1ZFRCA9IFwia3ljX3Jlc3VsdF9hcHByb3ZlZFwiLFxuICBLWUNfUkVTVUxUX1BBUlRJQUxfVVBEQVRFID0gXCJreWNfcmVzdWx0X3BhcnRpYWxfdXBkYXRlXCIsXG4gIEtZQ19SRVNVTFRfVU5ERVJfUkVWSUVXID0gXCJreWNfcmVzdWx0X3VuZGVyX3Jldmlld1wiXG59XG5cbmV4cG9ydCBjb25zdCBWU3RhdHVzID0gW1xuICBFU3RhdHVzLk5PVF9TVEFSVEVELFxuICBFU3RhdHVzLk9OX0dPSU5HLFxuICBFU3RhdHVzLkFVRElUSU5HLFxuICBFU3RhdHVzLlJFSkVDVEVELFxuICBFU3RhdHVzLkFGVEVSX0FVRElULFxuICBFU3RhdHVzLkNPTVBMRVRFLFxuICBFU3RhdHVzLldBSVRJTkcsXG4gIEVTdGF0dXMuU0VTU0lPTl9FWFBJUkVELFxuICBFU3RhdHVzLktZQ19SRUpFQ1RFRCxcbiAgRVN0YXR1cy5LWUNfUkVRVUVTVF9SRUpFQ1RFRCxcbiAgRVN0YXR1cy5LWUNfUkVRVUVTVF9BQ0NFUFRFRCxcbiAgRVN0YXR1cy5LWUNfUkVTVUxUX1JFSkVDVEVELFxuICBFU3RhdHVzLktZQ19SRVNVTFRfQVBQUk9WRUQsXG4gIEVTdGF0dXMuS1lDX1JFU1VMVF9QQVJUSUFMX1VQREFURSxcbiAgRVN0YXR1cy5LWUNfUkVTVUxUX1VOREVSX1JFVklFV1xuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgVFN0YXR1cyA9ICh0eXBlb2YgVlN0YXR1cylbbnVtYmVyXTtcbiJdfQ==
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { getObjectValueFromPath } from "kwikid-toolkit";
|
|
2
|
+
// To Calculate Distance between two markers
|
|
3
|
+
export const calculateDistance = (point1, point2) => {
|
|
4
|
+
const lat1 = point1.lat;
|
|
5
|
+
const lng1 = point1.lng;
|
|
6
|
+
const lat2 = point2.lat;
|
|
7
|
+
const lng2 = point2.lng;
|
|
8
|
+
const R = 6371; // Earth radius in kilometers
|
|
9
|
+
const dLat = (lat2 - lat1) * (Math.PI / 180);
|
|
10
|
+
const dLng = (lng2 - lng1) * (Math.PI / 180);
|
|
11
|
+
const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
|
|
12
|
+
Math.cos((lat1 * Math.PI) / 180) *
|
|
13
|
+
Math.cos((lat2 * Math.PI) / 180) *
|
|
14
|
+
Math.sin(dLng / 2) *
|
|
15
|
+
Math.sin(dLng / 2);
|
|
16
|
+
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
|
|
17
|
+
const distance = R * c;
|
|
18
|
+
return distance;
|
|
19
|
+
};
|
|
20
|
+
// To calculate nearest distance from marker
|
|
21
|
+
export const nearestNeighborAlgorithm = (startingPoint, unvisitedPoints) => {
|
|
22
|
+
let currentPoint = startingPoint;
|
|
23
|
+
const path = [currentPoint];
|
|
24
|
+
const visitedPoints = new Set([currentPoint]);
|
|
25
|
+
while (unvisitedPoints.length > 0) {
|
|
26
|
+
let nearestPoint = null;
|
|
27
|
+
let minDistance = Number.POSITIVE_INFINITY;
|
|
28
|
+
for (const point of unvisitedPoints) {
|
|
29
|
+
const distance = calculateDistance(currentPoint, point);
|
|
30
|
+
if (distance < minDistance) {
|
|
31
|
+
minDistance = distance;
|
|
32
|
+
nearestPoint = point;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
path.push(nearestPoint);
|
|
36
|
+
visitedPoints.add(nearestPoint);
|
|
37
|
+
currentPoint = nearestPoint;
|
|
38
|
+
unvisitedPoints = unvisitedPoints.filter((point) => !visitedPoints.has(point));
|
|
39
|
+
}
|
|
40
|
+
return path;
|
|
41
|
+
};
|
|
42
|
+
export const addressConcator = (data, config) => {
|
|
43
|
+
const address = config.reduce((accumulator, currentValue) => `${accumulator} ${getObjectValueFromPath(data, currentValue)}`, "");
|
|
44
|
+
return address;
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcy5oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWFnZW50LWRhc2hib2FyZC9zcmMvbGliL3YxL2hlbHBlcnMvbWFwcy5oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhELDRDQUE0QztBQUM1QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE1BQVcsRUFBRSxNQUFXLEVBQVUsRUFBRTtJQUNwRSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQ3hCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDeEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUN4QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDO0lBRXhCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLDZCQUE2QjtJQUM3QyxNQUFNLElBQUksR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDN0MsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLE1BQU0sQ0FBQyxHQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2QixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV2QixPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRiw0Q0FBNEM7QUFDNUMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FDdEMsYUFBa0IsRUFDbEIsZUFBc0IsRUFDZixFQUFFO0lBQ1QsSUFBSSxZQUFZLEdBQUcsYUFBYSxDQUFDO0lBQ2pDLE1BQU0sSUFBSSxHQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkMsTUFBTSxhQUFhLEdBQWEsSUFBSSxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBRXhELE9BQU8sZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDakMsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksV0FBVyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztRQUUzQyxLQUFLLE1BQU0sS0FBSyxJQUFJLGVBQWUsRUFBRTtZQUNuQyxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDeEQsSUFBSSxRQUFRLEdBQUcsV0FBVyxFQUFFO2dCQUMxQixXQUFXLEdBQUcsUUFBUSxDQUFDO2dCQUN2QixZQUFZLEdBQUcsS0FBSyxDQUFDO2FBQ3RCO1NBQ0Y7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hCLGFBQWEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUU1QixlQUFlLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FDdEMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FDckMsQ0FBQztLQUNIO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUFTLEVBQUUsTUFBVyxFQUFVLEVBQUU7SUFDaEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDM0IsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FDNUIsR0FBRyxXQUFXLElBQUksc0JBQXNCLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQ2hFLEVBQUUsQ0FDSCxDQUFDO0lBQ0YsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0T2JqZWN0VmFsdWVGcm9tUGF0aCB9IGZyb20gXCJrd2lraWQtdG9vbGtpdFwiO1xuXG4vLyBUbyBDYWxjdWxhdGUgRGlzdGFuY2UgYmV0d2VlbiB0d28gbWFya2Vyc1xuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZURpc3RhbmNlID0gKHBvaW50MTogYW55LCBwb2ludDI6IGFueSk6IG51bWJlciA9PiB7XG4gIGNvbnN0IGxhdDEgPSBwb2ludDEubGF0O1xuICBjb25zdCBsbmcxID0gcG9pbnQxLmxuZztcbiAgY29uc3QgbGF0MiA9IHBvaW50Mi5sYXQ7XG4gIGNvbnN0IGxuZzIgPSBwb2ludDIubG5nO1xuXG4gIGNvbnN0IFIgPSA2MzcxOyAvLyBFYXJ0aCByYWRpdXMgaW4ga2lsb21ldGVyc1xuICBjb25zdCBkTGF0ID0gKGxhdDIgLSBsYXQxKSAqIChNYXRoLlBJIC8gMTgwKTtcbiAgY29uc3QgZExuZyA9IChsbmcyIC0gbG5nMSkgKiAoTWF0aC5QSSAvIDE4MCk7XG4gIGNvbnN0IGEgPVxuICAgIE1hdGguc2luKGRMYXQgLyAyKSAqIE1hdGguc2luKGRMYXQgLyAyKSArXG4gICAgTWF0aC5jb3MoKGxhdDEgKiBNYXRoLlBJKSAvIDE4MCkgKlxuICAgICAgTWF0aC5jb3MoKGxhdDIgKiBNYXRoLlBJKSAvIDE4MCkgKlxuICAgICAgTWF0aC5zaW4oZExuZyAvIDIpICpcbiAgICAgIE1hdGguc2luKGRMbmcgLyAyKTtcbiAgY29uc3QgYyA9IDIgKiBNYXRoLmF0YW4yKE1hdGguc3FydChhKSwgTWF0aC5zcXJ0KDEgLSBhKSk7XG4gIGNvbnN0IGRpc3RhbmNlID0gUiAqIGM7XG5cbiAgcmV0dXJuIGRpc3RhbmNlO1xufTtcblxuLy8gVG8gY2FsY3VsYXRlIG5lYXJlc3QgZGlzdGFuY2UgZnJvbSBtYXJrZXJcbmV4cG9ydCBjb25zdCBuZWFyZXN0TmVpZ2hib3JBbGdvcml0aG0gPSAoXG4gIHN0YXJ0aW5nUG9pbnQ6IGFueSxcbiAgdW52aXNpdGVkUG9pbnRzOiBhbnlbXVxuKTogYW55W10gPT4ge1xuICBsZXQgY3VycmVudFBvaW50ID0gc3RhcnRpbmdQb2ludDtcbiAgY29uc3QgcGF0aDogYW55W10gPSBbY3VycmVudFBvaW50XTtcbiAgY29uc3QgdmlzaXRlZFBvaW50czogU2V0PGFueT4gPSBuZXcgU2V0KFtjdXJyZW50UG9pbnRdKTtcblxuICB3aGlsZSAodW52aXNpdGVkUG9pbnRzLmxlbmd0aCA+IDApIHtcbiAgICBsZXQgbmVhcmVzdFBvaW50ID0gbnVsbDtcbiAgICBsZXQgbWluRGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7XG5cbiAgICBmb3IgKGNvbnN0IHBvaW50IG9mIHVudmlzaXRlZFBvaW50cykge1xuICAgICAgY29uc3QgZGlzdGFuY2UgPSBjYWxjdWxhdGVEaXN0YW5jZShjdXJyZW50UG9pbnQsIHBvaW50KTtcbiAgICAgIGlmIChkaXN0YW5jZSA8IG1pbkRpc3RhbmNlKSB7XG4gICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2U7XG4gICAgICAgIG5lYXJlc3RQb2ludCA9IHBvaW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIHBhdGgucHVzaChuZWFyZXN0UG9pbnQpO1xuICAgIHZpc2l0ZWRQb2ludHMuYWRkKG5lYXJlc3RQb2ludCk7XG4gICAgY3VycmVudFBvaW50ID0gbmVhcmVzdFBvaW50O1xuXG4gICAgdW52aXNpdGVkUG9pbnRzID0gdW52aXNpdGVkUG9pbnRzLmZpbHRlcihcbiAgICAgIChwb2ludCkgPT4gIXZpc2l0ZWRQb2ludHMuaGFzKHBvaW50KVxuICAgICk7XG4gIH1cblxuICByZXR1cm4gcGF0aDtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGRyZXNzQ29uY2F0b3IgPSAoZGF0YTogYW55LCBjb25maWc6IGFueSk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGFkZHJlc3MgPSBjb25maWcucmVkdWNlKFxuICAgIChhY2N1bXVsYXRvciwgY3VycmVudFZhbHVlKSA9PlxuICAgICAgYCR7YWNjdW11bGF0b3J9ICR7Z2V0T2JqZWN0VmFsdWVGcm9tUGF0aChkYXRhLCBjdXJyZW50VmFsdWUpfWAsXG4gICAgXCJcIlxuICApO1xuICByZXR1cm4gYWRkcmVzcztcbn07XG4iXX0=
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, HostListener, Inject, Input, Output, ViewChild } from "@angular/core";
|
|
3
|
+
import { MapInfoWindow } from "@angular/google-maps";
|
|
4
|
+
import { TuiDialogService } from "@taiga-ui/core";
|
|
5
|
+
import { isNotEmptyValue } from "kwikid-toolkit";
|
|
6
|
+
import { catchError, map } from "rxjs/operators";
|
|
7
|
+
import { of } from "rxjs";
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "./services/google-maps.service";
|
|
10
|
+
import * as i2 from "./services/agent.service";
|
|
11
|
+
import * as i3 from "@angular/common/http";
|
|
12
|
+
import * as i4 from "kwikui";
|
|
13
|
+
import * as i5 from "@angular/google-maps";
|
|
14
|
+
import * as i6 from "./components/customer-details/customer-details.component";
|
|
15
|
+
import * as i7 from "./components/customer-list/customer-list.component";
|
|
16
|
+
import * as i8 from "kwikid-forms";
|
|
17
|
+
import * as i9 from "@angular/common";
|
|
18
|
+
import * as i10 from "@taiga-ui/cdk";
|
|
19
|
+
import * as i11 from "@taiga-ui/core";
|
|
20
|
+
export class KwikIDAgentDashboardComponentV1 {
|
|
21
|
+
constructor(googleMapsService, agentService, httpClient, hostElement, dialogService) {
|
|
22
|
+
this.googleMapsService = googleMapsService;
|
|
23
|
+
this.agentService = agentService;
|
|
24
|
+
this.httpClient = httpClient;
|
|
25
|
+
this.hostElement = hostElement;
|
|
26
|
+
this.dialogService = dialogService;
|
|
27
|
+
this.config = {};
|
|
28
|
+
this.taskList = [];
|
|
29
|
+
this.nextStep = new EventEmitter();
|
|
30
|
+
this.addTask = new EventEmitter();
|
|
31
|
+
this.removeTask = new EventEmitter();
|
|
32
|
+
this.filterTaskList = new EventEmitter();
|
|
33
|
+
this.onClickPerformAction = new EventEmitter();
|
|
34
|
+
this.loading = true;
|
|
35
|
+
this.console = console;
|
|
36
|
+
this.open = false;
|
|
37
|
+
this.allFormsData = {};
|
|
38
|
+
this.String = String;
|
|
39
|
+
}
|
|
40
|
+
windowResizeWatcher() {
|
|
41
|
+
if (this.hostElement.nativeElement.offsetWidth < 600) {
|
|
42
|
+
this.isMobileView = true;
|
|
43
|
+
this.agentService.isMobileView = true;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this.isMobileView = false;
|
|
47
|
+
this.agentService.isMobileView = false;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
ngOnInit() {
|
|
51
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
this.agentService.config = this.config;
|
|
54
|
+
this.agentService.showMapview = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.dashboard) === null || _b === void 0 ? void 0 : _b.isShowMaps) !== null && _c !== void 0 ? _c : false;
|
|
55
|
+
this.agentService.addTaskForm =
|
|
56
|
+
(_f = (_e = (_d = this.config) === null || _d === void 0 ? void 0 : _d.dashboard) === null || _e === void 0 ? void 0 : _e.addTaskForm) !== null && _f !== void 0 ? _f : this.agentService.addTaskForm;
|
|
57
|
+
if (((_h = (_g = this.config) === null || _g === void 0 ? void 0 : _g.dashboard) === null || _h === void 0 ? void 0 : _h.mapType) === "google-maps" &&
|
|
58
|
+
isNotEmptyValue((_k = (_j = this.config) === null || _j === void 0 ? void 0 : _j.dashboard) === null || _k === void 0 ? void 0 : _k.googleMapsAPIKey)) {
|
|
59
|
+
this.loadMaps((_m = (_l = this.config) === null || _l === void 0 ? void 0 : _l.dashboard) === null || _m === void 0 ? void 0 : _m.googleMapsAPIKey).subscribe((loaded) => {
|
|
60
|
+
this.mapsLoaded = loaded;
|
|
61
|
+
if (loaded) {
|
|
62
|
+
console.log("Google Maps JavaScript API loaded successfully.");
|
|
63
|
+
this.loading = false;
|
|
64
|
+
// Initialize and render Google Map here
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
console.error("Google Maps JavaScript API failed to load.");
|
|
68
|
+
this.loading = false;
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this.mapsLoaded = true;
|
|
74
|
+
this.loading = false;
|
|
75
|
+
}
|
|
76
|
+
setTimeout(() => {
|
|
77
|
+
this.windowResizeWatcher();
|
|
78
|
+
}, 1000);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
// Load Google Maps
|
|
82
|
+
loadMaps(apiKey) {
|
|
83
|
+
const url = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&v=3.exp&libraries=geometry,drawing,places`;
|
|
84
|
+
this.googleMapsService.apiKey = apiKey;
|
|
85
|
+
return this.httpClient.jsonp(url, "callback").pipe(map(() => true), catchError(() => {
|
|
86
|
+
console.error("Error loading Google Maps JavaScript API.");
|
|
87
|
+
return of(false);
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
handleOnClickNext(e) {
|
|
91
|
+
this.nextStep.emit(e);
|
|
92
|
+
}
|
|
93
|
+
handleOnClickAddTask(task) {
|
|
94
|
+
this.addTask.emit(task);
|
|
95
|
+
}
|
|
96
|
+
handleOnClickRemoveTask(task) {
|
|
97
|
+
this.removeTask.emit(task);
|
|
98
|
+
}
|
|
99
|
+
handleOnFilterTaskList(filter) {
|
|
100
|
+
this.filterTaskList.emit(filter);
|
|
101
|
+
}
|
|
102
|
+
refresh() {
|
|
103
|
+
this.handleOnFilterTaskList({});
|
|
104
|
+
}
|
|
105
|
+
onClick() {
|
|
106
|
+
this.open = !this.open;
|
|
107
|
+
}
|
|
108
|
+
onObscured(obscured) {
|
|
109
|
+
if (obscured) {
|
|
110
|
+
this.open = false;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
onActiveZone(active) {
|
|
114
|
+
this.open = active && this.open;
|
|
115
|
+
}
|
|
116
|
+
close() {
|
|
117
|
+
this.open = false;
|
|
118
|
+
if (this.dialogSubscription) {
|
|
119
|
+
this.dialogSubscription.unsubscribe();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
showDialog(content) {
|
|
123
|
+
this.dialogSubscription = this.dialogService
|
|
124
|
+
.open(content, { closeable: false, dismissible: false })
|
|
125
|
+
.subscribe();
|
|
126
|
+
}
|
|
127
|
+
openInfoWindow(marker) {
|
|
128
|
+
this.infoWindow.open(marker);
|
|
129
|
+
}
|
|
130
|
+
handleOnClickSaveForm(e) {
|
|
131
|
+
this.handleOnClickAddTask(e.data);
|
|
132
|
+
this.close();
|
|
133
|
+
}
|
|
134
|
+
handleOnClickLogout() {
|
|
135
|
+
this.handleOnClickPerformAction({ action: { type: "logout" } });
|
|
136
|
+
}
|
|
137
|
+
handleOnClickPerformAction(event) {
|
|
138
|
+
this.onClickPerformAction.emit(event);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/** @nocollapse */ KwikIDAgentDashboardComponentV1.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardComponentV1, deps: [{ token: i1.GoogleMapsService }, { token: i2.AgentService }, { token: i3.HttpClient }, { token: i0.ElementRef }, { token: TuiDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
142
|
+
/** @nocollapse */ KwikIDAgentDashboardComponentV1.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDAgentDashboardComponentV1, selector: "kwikid-agent-dashboard-v1", inputs: { config: "config", taskList: "taskList" }, outputs: { nextStep: "nextStep", addTask: "addTask", removeTask: "removeTask", filterTaskList: "filterTaskList", onClickPerformAction: "onClickPerformAction" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, viewQueries: [{ propertyName: "infoWindow", first: true, predicate: MapInfoWindow, descendants: true }, { propertyName: "mapElement", first: true, predicate: ["map"], descendants: true, static: true }], ngImport: i0, template: "<div\n class=\"kwikid-agent-dashboard\"\n *ngIf=\"!loading\"\n>\n <div class=\"wrapper\">\n <header>\n <span (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <kwikui-button\n [icon]=\"'tuiIconMenuLarge'\"\n (onClick)=\"onClick()\"\n appearance=\"mono\"\n size=\"m\"\n [tuiDropdown]=\"dropdownContent\"\n [tuiDropdownManual]=\"open\"\n (tuiObscured)=\"onObscured($event)\"\n ></kwikui-button>\n <ng-template #dropdownContent>\n <div class=\"menu-dropdown\">\n <div class=\"menu-dropdown-header\">\n <!-- <img\n *ngIf=\"\n agentService.config?.clientLogo &&\n agentService.config?.dashboard?.isShowClientLogo\n \"\n [src]=\"agentService.config.clientLogo\"\n class=\"client-logo\"\n />\n <div\n *ngIf=\"\n !agentService.config.clientLogo ||\n !agentService.config?.dashboard?.isShowClientLogo\n \"\n class=\"client-name\"\n >\n <kwikui-button\n [icon]=\"'tuiIconLink'\"\n appearance=\"mono\"\n size=\"m\"\n ></kwikui-button>\n\n {{ agentService.config.clientName }}\n </div> -->\n <div class=\"menu-dropdown-header-agent-name\">\n {{ agentService.config.agentName }}\n </div>\n <div class=\"menu-dropdown-header-agent-id\">\n Agent ID: {{ agentService.config.agentId }}\n </div>\n </div>\n <hr />\n <div\n class=\"menu-dropdown-body\"\n tuiGroup\n [collapsed]=\"true\"\n [rounded]=\"false\"\n [orientation]=\"'vertical'\"\n [size]=\"'m'\"\n >\n <kwikui-button\n *ngIf=\"agentService.config?.dashboard?.isAllowAddTask\"\n appearance=\"mono\"\n class=\"menu-dropdown-buttons\"\n label=\"Refresh\"\n [icon]=\"'tuiIconRefreshCw'\"\n size=\"m\"\n type=\"button\"\n (onClick)=\"refresh()\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"this.config.dashboard.isShowMaps\"\n appearance=\"mono\"\n class=\"menu-dropdown-buttons\"\n label=\"{{\n agentService.showMapview ? 'Hide Maps' : 'Show Maps'\n }}\"\n type=\"button\"\n icon=\"{{\n agentService.showMapview ? 'tuiIconEyeOff' : 'tuiIconEye'\n }}\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"padding: 0rem !important\"\n (onClick)=\"agentService.toggleMapview()\"\n ></kwikui-button>\n </div>\n <hr />\n <div class=\"menu-dropdown-footer\">\n <kwikui-button\n appearance=\"mono\"\n class=\"menu-dropdown-buttons\"\n label=\"Logout\"\n icon=\"tuiIconLogOut\"\n size=\"m\"\n type=\"button\"\n (onClick)=\"handleOnClickLogout()\"\n ></kwikui-button>\n </div>\n </div>\n </ng-template>\n </span>\n <div class=\"actions\">\n <kwikui-button\n *ngIf=\"agentService.config?.dashboard?.isAllowAddTask\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"primary\"\n [label]=\"\n agentService.config?.dashboard?.addTaskButtonLabel ?? 'Add User'\n \"\n icon=\"tuiIconPlus\"\n shape=\"rounded\"\n size=\"s\"\n (onClick)=\"showDialog(template)\"\n ></kwikui-button>\n </div>\n </header>\n\n <div class=\"dashboard-body\">\n <div\n *ngIf=\"mapsLoaded\"\n [class]=\"agentService.showMapview ? 'map' : 'map-hidden'\"\n >\n <google-map\n *ngIf=\"agentService.config?.dashboard?.mapType == 'google-maps'\"\n [options]=\"this.googleMapsService.map\"\n height=\"100%\"\n width=\"100%\"\n >\n <map-marker\n #marker=\"mapMarker\"\n *ngFor=\"\n let markerPosition of this.googleMapsService.allMarkers;\n let index = index\n \"\n [position]=\"markerPosition\"\n [label]=\"{ text: String(index) }\"\n ></map-marker>\n <map-directions-renderer\n *ngIf=\"\n this.googleMapsService.directionsResults$\n | async as directionsResults\n \"\n [directions]=\"directionsResults\"\n [options]=\"this.googleMapsService.directionsRenderOption\"\n ></map-directions-renderer>\n </google-map>\n\n <div\n *ngIf=\"agentService.config?.dashboard?.mapType == 'open-street'\"\n id=\"map\"\n style=\"height: 100%\"\n ></div>\n </div>\n\n <div\n class=\"task-details\"\n *ngIf=\"\n !agentService.isMobileView &&\n agentService.currentTaskDetails != undefined &&\n !agentService.showMapview\n \"\n >\n <customer-details\n [customer]=\"agentService.currentTaskDetails\"\n [config]=\"config\"\n (nextStep)=\"handleOnClickNext($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></customer-details>\n </div>\n\n <div\n class=\"no-task-details\"\n *ngIf=\"\n !agentService.isMobileView &&\n agentService.currentTaskDetails == undefined &&\n !agentService.showMapview\n \"\n >\n <img\n src=\"assets/No-Results.jpg\"\n class=\"no-task-img\"\n alt=\"No Task\"\n />\n <div class=\"\">Select a Task to view it's details.</div>\n </div>\n\n <div class=\"customer-list\">\n <customer-list\n [customers]=\"taskList\"\n [config]=\"config\"\n (nextStep)=\"handleOnClickNext($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (filterTaskList)=\"handleOnFilterTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></customer-list>\n </div>\n </div>\n </div>\n</div>\n\n<div\n class=\"kwikid-agent-dashboard-loader\"\n *ngIf=\"loading\"\n>\n <span class=\"loader\"></span>\n</div>\n\n<ng-template\n #template\n let-observer\n>\n <div class=\"add-task-header\">\n <h2>{{ agentService?.addTaskForm?.title ?? \"Create User\" }}</h2>\n <kwikui-button\n icon=\"tuiIconX\"\n id=\"\"\n styles=\"\"\n type=\"button\"\n appearance=\"mono\"\n [shape]=\"null\"\n size=\"m\"\n (onClick)=\"observer.complete()\"\n ></kwikui-button>\n </div>\n <kwikid-form-view\n [allFormsData]=\"allFormsData\"\n [formConfig]=\"agentService.addTaskForm\"\n [isMobileView]=\"true\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event)\"\n ></kwikid-form-view>\n</ng-template>\n", styles: [".kwikid-agent-dashboard{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%;position:relative}.kwikid-agent-dashboard .wrapper{width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:space-between;align-items:stretch}.kwikid-agent-dashboard .wrapper header{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-column-gap:1rem;column-gap:1rem;padding:1rem;max-height:80px;border:1px solid #cdcdcd}.kwikid-agent-dashboard .wrapper header .actions{display:flex;flex-direction:row;align-items:center}.kwikid-agent-dashboard .wrapper header .actions>*{margin-right:.5rem}.kwikid-agent-dashboard .wrapper .dashboard-body{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:stretch;flex:1;overflow:auto}.kwikid-agent-dashboard .wrapper .dashboard-body .map{width:100%;height:100%;position:relative;overflow:hidden}.kwikid-agent-dashboard .wrapper .dashboard-body .map-hidden{visibility:collapse}.kwikid-agent-dashboard .wrapper .dashboard-body .customer-list{width:100%;height:100%;overflow:hidden}@media screen and (min-width: 600px){.kwikid-agent-dashboard{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%}.kwikid-agent-dashboard .wrapper{width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:space-between;align-items:stretch}.kwikid-agent-dashboard .wrapper header{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-column-gap:1rem;column-gap:1rem;padding:.75rem;max-height:80px;border:1px solid #cdcdcd}.kwikid-agent-dashboard .wrapper header .client-name{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;font-size:1rem;font-weight:600}.kwikid-agent-dashboard .wrapper .dashboard-body{display:flex;flex-direction:row-reverse;align-content:center;justify-content:flex-end;align-items:stretch;overflow:auto}.kwikid-agent-dashboard .wrapper .dashboard-body .map{width:100%;height:100%;position:relative;overflow:hidden;border:1px solid #cdcdcd;border-radius:.5rem}.kwikid-agent-dashboard .wrapper .dashboard-body .map-hidden{visibility:collapse}.kwikid-agent-dashboard .wrapper .dashboard-body .task-details{width:100%;height:100%;position:relative;overflow:hidden;border:1px solid #cdcdcd}.kwikid-agent-dashboard .wrapper .dashboard-body .no-task-details{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;grid-gap:.5rem;gap:.5rem;overflow:hidden;color:#555}.kwikid-agent-dashboard .wrapper .dashboard-body .no-task-details .no-task-img{height:100px;width:100px}.kwikid-agent-dashboard .wrapper .dashboard-body .customer-list{min-width:300px;max-width:320px;width:100%;height:100%;overflow:hidden;border:1px solid #cdcdcd}}.menu{position:absolute;transition:\"0.15s linear 0s\"}.kwikid-agent-dashboard-loader{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.75);display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;z-index:100}.kwikid-agent-dashboard-loader .loader{width:48px;height:48px;border-radius:50%;display:inline-block;position:relative;border:3px solid;border-color:#fff #fff transparent;box-sizing:border-box;animation:rotation 1s linear infinite}.kwikid-agent-dashboard-loader .loader:after{content:\"\";box-sizing:border-box;position:absolute;left:0;right:0;top:0;bottom:0;margin:auto;border:3px solid;border-color:transparent var(--tui-primary) var(--tui-primary);width:24px;height:24px;border-radius:50%;animation:rotationBack .5s linear infinite;transform-origin:center center}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotationBack{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.kwikid-agent-dashboard-loader .t-loader{display:none!important}.add-task-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:.5rem 0 1rem 1rem}:host{width:100%;height:100%}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}.menu-dropdown{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;grid-gap:.5rem;gap:.5rem;padding:1rem 1.5rem}.menu-dropdown .menu-dropdown-header{display:flex;flex-direction:column;align-content:flex-start;justify-content:space-between;align-items:flex-start;grid-gap:1rem;gap:1rem}.menu-dropdown .menu-dropdown-header .menu-dropdown-header-agent-name{font-size:1.2rem;margin:0 auto;font-weight:600}.menu-dropdown .menu-dropdown-header .menu-dropdown-header-agent-id{font-size:.8rem;margin:0 auto;font-weight:600}.menu-dropdown .menu-dropdown-buttons ::ng-deep .t-wrapper{padding:0!important}.client-logo{height:40px;width:-moz-fit-content;width:fit-content;margin:0 auto;padding-left:1rem}.client-name{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;font-size:1rem;margin:0 auto;font-weight:600}\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.GoogleMap, selector: "google-map", inputs: ["height", "width", "center", "zoom", "options", "mapTypeId"], outputs: ["authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }, { type: i6.CustomerDetailsComponent, selector: "customer-details", inputs: ["customer", "config"], outputs: ["nextStep", "removeTask", "onClickPerformAction"] }, { type: i7.CustomerListComponent, selector: "customer-list", inputs: ["customers", "config"], outputs: ["nextStep", "removeTask", "filterTaskList", "onClickPerformAction"] }, { type: i8.KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["allFormsData", "extraData", "apiCallResponse", "buttonClickResponse", "formConfig", "formData", "isMobileView", "popupFormCallback", "userConfig", "stepConfig"], outputs: ["getLogs", "getUnsavedDataState", "onActionShowPopupForm", "onClickApiCall", "onClickViewFile", "onClickFormFieldButton", "onClickGoBack", "onClickSaveForm", "onClickViewForms"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i11.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i11.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i11.TuiDropdownPositionDirective, selector: "[tuiDropdown]" }, { type: i11.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i11.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.MapMarker, selector: "map-marker", inputs: ["title", "position", "label", "clickable", "options", "icon", "visible"], outputs: ["animationChanged", "mapClick", "clickableChanged", "cursorChanged", "mapDblclick", "mapDrag", "mapDragend", "draggableChanged", "mapDragstart", "flatChanged", "iconChanged", "mapMousedown", "mapMouseout", "mapMouseover", "mapMouseup", "positionChanged", "mapRightclick", "shapeChanged", "titleChanged", "visibleChanged", "zindexChanged"], exportAs: ["mapMarker"] }, { type: i5.MapDirectionsRenderer, selector: "map-directions-renderer", inputs: ["directions", "options"], outputs: ["directionsChanged"], exportAs: ["mapDirectionsRenderer"] }], pipes: { "async": i9.AsyncPipe } });
|
|
143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardComponentV1, decorators: [{
|
|
144
|
+
type: Component,
|
|
145
|
+
args: [{
|
|
146
|
+
selector: "kwikid-agent-dashboard-v1",
|
|
147
|
+
templateUrl: "./kwikid-agent-dashboard.component.html",
|
|
148
|
+
styleUrls: ["./kwikid-agent-dashboard.component.scss"]
|
|
149
|
+
}]
|
|
150
|
+
}], ctorParameters: function () { return [{ type: i1.GoogleMapsService }, { type: i2.AgentService }, { type: i3.HttpClient }, { type: i0.ElementRef }, { type: i11.TuiDialogService, decorators: [{
|
|
151
|
+
type: Inject,
|
|
152
|
+
args: [TuiDialogService]
|
|
153
|
+
}] }]; }, propDecorators: { windowResizeWatcher: [{
|
|
154
|
+
type: HostListener,
|
|
155
|
+
args: ["window:resize", ["$event"]]
|
|
156
|
+
}], config: [{
|
|
157
|
+
type: Input
|
|
158
|
+
}], taskList: [{
|
|
159
|
+
type: Input
|
|
160
|
+
}], nextStep: [{
|
|
161
|
+
type: Output
|
|
162
|
+
}], addTask: [{
|
|
163
|
+
type: Output
|
|
164
|
+
}], removeTask: [{
|
|
165
|
+
type: Output
|
|
166
|
+
}], filterTaskList: [{
|
|
167
|
+
type: Output
|
|
168
|
+
}], onClickPerformAction: [{
|
|
169
|
+
type: Output
|
|
170
|
+
}], infoWindow: [{
|
|
171
|
+
type: ViewChild,
|
|
172
|
+
args: [MapInfoWindow, { static: false }]
|
|
173
|
+
}], mapElement: [{
|
|
174
|
+
type: ViewChild,
|
|
175
|
+
args: ["map", { static: true }]
|
|
176
|
+
}] } });
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3dpa2lkLWFnZW50LWRhc2hib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvdjEva3dpa2lkLWFnZW50LWRhc2hib2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvdjEva3dpa2lkLWFnZW50LWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBR0EsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFhLE1BQU0sc0JBQXNCLENBQUM7QUFDaEUsT0FBTyxFQUFvQixnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFTdEMsTUFBTSxPQUFPLCtCQUErQjtJQWlEMUMsWUFDUyxpQkFBb0MsRUFDcEMsWUFBMEIsRUFDMUIsVUFBc0IsRUFDckIsV0FBdUIsRUFDWSxhQUErQjtRQUpuRSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDckIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDWSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUF2QzVFLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFH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QixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFjekMsTUFBTTtzQkFETCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixRQUFRO3NCQURQLE1BQU07Z0JBSVAsT0FBTztzQkFETixNQUFNO2dCQUlQLFVBQVU7c0JBRFQsTUFBTTtnQkFJUCxjQUFjO3NCQURiLE1BQU07Z0JBSVAsb0JBQW9CO3NCQURuQixNQUFNO2dCQU9zQyxVQUFVO3NCQUF0RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRVAsVUFBVTtzQkFBN0MsU0FBUzt1QkFBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tbWFnaWMtbnVtYmVycyAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tZW1wdHktZnVuY3Rpb24gKi9cbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1hcEluZm9XaW5kb3csIE1hcE1hcmtlciB9IGZyb20gXCJAYW5ndWxhci9nb29nbGUtbWFwc1wiO1xuaW1wb3J0IHsgVHVpRGlhbG9nQ29udGV4dCwgVHVpRGlhbG9nU2VydmljZSB9IGZyb20gXCJAdGFpZ2EtdWkvY29yZVwiO1xuaW1wb3J0IHsgUG9seW1vcnBoZXVzQ29udGVudCB9IGZyb20gXCJAdGlua29mZi9uZy1wb2x5bW9ycGhldXNcIjtcbmltcG9ydCB7IGlzTm90RW1wdHlWYWx1ZSB9IGZyb20gXCJrd2lraWQtdG9vbGtpdFwiO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBBZ2VudFNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy9hZ2VudC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBHb29nbGVNYXBzU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VzL2dvb2dsZS1tYXBzLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImt3aWtpZC1hZ2VudC1kYXNoYm9hcmQtdjFcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9rd2lraWQtYWdlbnQtZGFzaGJvYXJkLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9rd2lraWQtYWdlbnQtZGFzaGJvYXJkLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIEt3aWtJREFnZW50RGFzaGJvYXJkQ29tcG9uZW50VjEgaW1wbGVtZW50cyBPbkluaXQge1xuICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiLCBbXCIkZXZlbnRcIl0pXG4gIHdpbmRvd1Jlc2l6ZVdhdGNoZXIoKSB7XG4gICAgaWYgKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCA8IDYwMCkge1xuICAgICAgdGhpcy5pc01vYmlsZVZpZXcgPSB0cnVlO1xuICAgICAgdGhpcy5hZ2VudFNlcnZpY2UuaXNNb2JpbGVWaWV3ID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc01vYmlsZVZpZXcgPSBmYWxzZTtcbiAgICAgIHRoaXMuYWdlbnRTZXJ2aWNlLmlzTW9iaWxlVmlldyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGlzTW9iaWxlVmlldztcblxuICBASW5wdXQoKVxuICBjb25maWc6IGFueSA9IHt9O1xuXG4gIEBJbnB1dCgpXG4gIHRhc2tMaXN0OiBBcnJheTxhbnk+ID0gW107XG5cbiAgQE91dHB1dCgpXG4gIG5leHRTdGVwID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBhZGRUYXNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICByZW1vdmVUYXNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXJUYXNrTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgb25DbGlja1BlcmZvcm1BY3Rpb246IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgbG9hZGluZyA9IHRydWU7XG5cbiAgbWFwOiBhbnk7XG5cbiAgQFZpZXdDaGlsZChNYXBJbmZvV2luZG93LCB7IHN0YXRpYzogZmFsc2UgfSkgaW5mb1dpbmRvdzogTWFwSW5mb1dpbmRvdztcblxuICBAVmlld0NoaWxkKFwibWFwXCIsIHsgc3RhdGljOiB0cnVlIH0pIG1hcEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgbWFwc0xvYWRlZDogYm9vbGVhbjtcblxuICBjb25zb2xlID0gY29uc29sZTtcblxuICBkaWFsb2dTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGdvb2dsZU1hcHNTZXJ2aWNlOiBHb29nbGVNYXBzU2VydmljZSxcbiAgICBwdWJsaWMgYWdlbnRTZXJ2aWNlOiBBZ2VudFNlcnZpY2UsXG4gICAgcHVibGljIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICBASW5qZWN0KFR1aURpYWxvZ1NlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogVHVpRGlhbG9nU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5hZ2VudFNlcnZpY2UuY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgdGhpcy5hZ2VudFNlcnZpY2Uuc2hvd01hcHZpZXcgPSB0aGlzLmNvbmZpZz8uZGFzaGJvYXJkPy5pc1Nob3dNYXBzID8/IGZhbHNlO1xuICAgIHRoaXMuYWdlbnRTZXJ2aWNlLmFkZFRhc2tGb3JtID1cbiAgICAgIHRoaXMuY29uZmlnPy5kYXNoYm9hcmQ/LmFkZFRhc2tGb3JtID8/IHRoaXMuYWdlbnRTZXJ2aWNlLmFkZFRhc2tGb3JtO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5jb25maWc/LmRhc2hib2FyZD8ubWFwVHlwZSA9PT0gXCJnb29nbGUtbWFwc1wiICYmXG4gICAgICBpc05vdEVtcHR5VmFsdWUodGhpcy5jb25maWc/LmRhc2hib2FyZD8uZ29vZ2xlTWFwc0FQSUtleSlcbiAgICApIHtcbiAgICAgIHRoaXMubG9hZE1hcHModGhpcy5jb25maWc/LmRhc2hib2FyZD8uZ29vZ2xlTWFwc0FQSUtleSkuc3Vic2NyaWJlKFxuICAgICAgICAobG9hZGVkOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgdGhpcy5tYXBzTG9hZGVkID0gbG9hZGVkO1xuICAgICAgICAgIGlmIChsb2FkZWQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiR29vZ2xlIE1hcHMgSmF2YVNjcmlwdCBBUEkgbG9hZGVkIHN1Y2Nlc3NmdWxseS5cIik7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIC8vIEluaXRpYWxpemUgYW5kIHJlbmRlciBHb29nbGUgTWFwIGhlcmVcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJIGZhaWxlZCB0byBsb2FkLlwiKTtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tYXBzTG9hZGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy53aW5kb3dSZXNpemVXYXRjaGVyKCk7XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICAvLyBMb2FkIEdvb2dsZSBNYXBzXG4gIGxvYWRNYXBzKGFwaUtleSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHVybCA9IGBodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvanM/a2V5PSR7YXBpS2V5fSZ2PTMuZXhwJmxpYnJhcmllcz1nZW9tZXRyeSxkcmF3aW5nLHBsYWNlc2A7XG4gICAgdGhpcy5nb29nbGVNYXBzU2VydmljZS5hcGlLZXkgPSBhcGlLZXk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50Lmpzb25wKHVybCwgXCJjYWxsYmFja1wiKS5waXBlKFxuICAgICAgbWFwKCgpID0+IHRydWUpLFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBsb2FkaW5nIEdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJLlwiKTtcbiAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGhhbmRsZU9uQ2xpY2tOZXh0KGUpIHtcbiAgICB0aGlzLm5leHRTdGVwLmVtaXQoZSk7XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrQWRkVGFzayh0YXNrKSB7XG4gICAgdGhpcy5hZGRUYXNrLmVtaXQodGFzayk7XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrUmVtb3ZlVGFzayh0YXNrKSB7XG4gICAgdGhpcy5yZW1vdmVUYXNrLmVtaXQodGFzayk7XG4gIH1cblxuICBoYW5kbGVPbkZpbHRlclRhc2tMaXN0KGZpbHRlcikge1xuICAgIHRoaXMuZmlsdGVyVGFza0xpc3QuZW1pdChmaWx0ZXIpO1xuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLmhhbmRsZU9uRmlsdGVyVGFza0xpc3Qoe30pO1xuICB9XG5cbiAgb3BlbiA9IGZhbHNlO1xuXG4gIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcbiAgfVxuXG4gIGFsbEZvcm1zRGF0YSA9IHt9O1xuXG4gIFN0cmluZyA9IFN0cmluZztcblxuICBvbk9ic2N1cmVkKG9ic2N1cmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKG9ic2N1cmVkKSB7XG4gICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBvbkFjdGl2ZVpvbmUoYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuID0gYWN0aXZlICYmIHRoaXMub3BlbjtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIGlmICh0aGlzLmRpYWxvZ1N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5kaWFsb2dTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBzaG93RGlhbG9nKGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpRGlhbG9nQ29udGV4dD4pOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1N1YnNjcmlwdGlvbiA9IHRoaXMuZGlhbG9nU2VydmljZVxuICAgICAgLm9wZW4oY29udGVudCwgeyBjbG9zZWFibGU6IGZhbHNlLCBkaXNtaXNzaWJsZTogZmFsc2UgfSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG9wZW5JbmZvV2luZG93KG1hcmtlcjogTWFwTWFya2VyKSB7XG4gICAgdGhpcy5pbmZvV2luZG93Lm9wZW4obWFya2VyKTtcbiAgfVxuXG4gIGhhbmRsZU9uQ2xpY2tTYXZlRm9ybShlKSB7XG4gICAgdGhpcy5oYW5kbGVPbkNsaWNrQWRkVGFzayhlLmRhdGEpO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIGhhbmRsZU9uQ2xpY2tMb2dvdXQoKSB7XG4gICAgdGhpcy5oYW5kbGVPbkNsaWNrUGVyZm9ybUFjdGlvbih7IGFjdGlvbjogeyB0eXBlOiBcImxvZ291dFwiIH0gfSk7XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrUGVyZm9ybUFjdGlvbihldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNsaWNrUGVyZm9ybUFjdGlvbi5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImt3aWtpZC1hZ2VudC1kYXNoYm9hcmRcIlxuICAqbmdJZj1cIiFsb2FkaW5nXCJcbj5cbiAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICA8aGVhZGVyPlxuICAgICAgPHNwYW4gKHR1aUFjdGl2ZVpvbmVDaGFuZ2UpPVwib25BY3RpdmVab25lKCRldmVudClcIj5cbiAgICAgICAgPGt3aWt1aS1idXR0b25cbiAgICAgICAgICBbaWNvbl09XCIndHVpSWNvbk1lbnVMYXJnZSdcIlxuICAgICAgICAgIChvbkNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgICAgICAgYXBwZWFyYW5jZT1cIm1vbm9cIlxuICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICBbdHVpRHJvcGRvd25dPVwiZHJvcGRvd25Db250ZW50XCJcbiAgICAgICAgICBbdHVpRHJvcGRvd25NYW51YWxdPVwib3BlblwiXG4gICAgICAgICAgKHR1aU9ic2N1cmVkKT1cIm9uT2JzY3VyZWQoJGV2ZW50KVwiXG4gICAgICAgID48L2t3aWt1aS1idXR0b24+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25Db250ZW50PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWRyb3Bkb3duXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1kcm9wZG93bi1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgPCEtLSA8aW1nXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgIGFnZW50U2VydmljZS5jb25maWc/LmNsaWVudExvZ28gJiZcbiAgICAgICAgICAgICAgICAgIGFnZW50U2VydmljZS5jb25maWc/LmRhc2hib2FyZD8uaXNTaG93Q2xpZW50TG9nb1xuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJhZ2VudFNlcnZpY2UuY29uZmlnLmNsaWVudExvZ29cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2xpZW50LWxvZ29cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICFhZ2VudFNlcnZpY2UuY29uZmlnLmNsaWVudExvZ28gfHxcbiAgICAgICAgICAgICAgICAgICFhZ2VudFNlcnZpY2UuY29uZmlnPy5kYXNoYm9hcmQ/LmlzU2hvd0NsaWVudExvZ29cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2xpZW50LW5hbWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGt3aWt1aS1idXR0b25cbiAgICAgICAgICAgICAgICAgIFtpY29uXT1cIid0dWlJY29uTGluaydcIlxuICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cIm1vbm9cIlxuICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgID48L2t3aWt1aS1idXR0b24+XG5cbiAgICAgICAgICAgICAgICB7eyBhZ2VudFNlcnZpY2UuY29uZmlnLmNsaWVudE5hbWUgfX1cbiAgICAgICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1kcm9wZG93bi1oZWFkZXItYWdlbnQtbmFtZVwiPlxuICAgICAgICAgICAgICAgIHt7IGFnZW50U2VydmljZS5jb25maWcuYWdlbnROYW1lIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1kcm9wZG93bi1oZWFkZXItYWdlbnQtaWRcIj5cbiAgICAgICAgICAgICAgICBBZ2VudCBJRDoge3sgYWdlbnRTZXJ2aWNlLmNvbmZpZy5hZ2VudElkIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aHIgLz5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJtZW51LWRyb3Bkb3duLWJvZHlcIlxuICAgICAgICAgICAgICB0dWlHcm91cFxuICAgICAgICAgICAgICBbY29sbGFwc2VkXT1cInRydWVcIlxuICAgICAgICAgICAgICBbcm91bmRlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtvcmllbnRhdGlvbl09XCIndmVydGljYWwnXCJcbiAgICAgICAgICAgICAgW3NpemVdPVwiJ20nXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGt3aWt1aS1idXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImFnZW50U2VydmljZS5jb25maWc/LmRhc2hib2FyZD8uaXNBbGxvd0FkZFRhc2tcIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJtb25vXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1lbnUtZHJvcGRvd24tYnV0dG9uc1wiXG4gICAgICAgICAgICAgICAgbGFiZWw9XCJSZWZyZXNoXCJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCIndHVpSWNvblJlZnJlc2hDdydcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAob25DbGljayk9XCJyZWZyZXNoKClcIlxuICAgICAgICAgICAgICA+PC9rd2lrdWktYnV0dG9uPlxuICAgICAgICAgICAgICA8a3dpa3VpLWJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwidGhpcy5jb25maWcuZGFzaGJvYXJkLmlzU2hvd01hcHNcIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJtb25vXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1lbnUtZHJvcGRvd24tYnV0dG9uc1wiXG4gICAgICAgICAgICAgICAgbGFiZWw9XCJ7e1xuICAgICAgICAgICAgICAgICAgYWdlbnRTZXJ2aWNlLnNob3dNYXB2aWV3ID8gJ0hpZGUgTWFwcycgOiAnU2hvdyBNYXBzJ1xuICAgICAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBpY29uPVwie3tcbiAgICAgICAgICAgICAgICAgIGFnZW50U2VydmljZS5zaG93TWFwdmlldyA/ICd0dWlJY29uRXllT2ZmJyA6ICd0dWlJY29uRXllJ1xuICAgICAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgICAgICBpY29uUmlnaHQ9XCJcIlxuICAgICAgICAgICAgICAgIFtzaGFwZV09XCJudWxsXCJcbiAgICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgICAgc3R5bGVzPVwicGFkZGluZzogMHJlbSAhaW1wb3J0YW50XCJcbiAgICAgICAgICAgICAgICAob25DbGljayk9XCJhZ2VudFNlcnZpY2UudG9nZ2xlTWFwdmlldygpXCJcbiAgICAgICAgICAgICAgPjwva3dpa3VpLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGhyIC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1kcm9wZG93bi1mb290ZXJcIj5cbiAgICAgICAgICAgICAgPGt3aWt1aS1idXR0b25cbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwibW9ub1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtZW51LWRyb3Bkb3duLWJ1dHRvbnNcIlxuICAgICAgICAgICAgICAgIGxhYmVsPVwiTG9nb3V0XCJcbiAgICAgICAgICAgICAgICBpY29uPVwidHVpSWNvbkxvZ091dFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZU9uQ2xpY2tMb2dvdXQoKVwiXG4gICAgICAgICAgICAgID48L2t3aWt1aS1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICAgIDxrd2lrdWktYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJhZ2VudFNlcnZpY2UuY29uZmlnPy5kYXNoYm9hcmQ/LmlzQWxsb3dBZGRUYXNrXCJcbiAgICAgICAgICBjbGFzcz1cIm1lbnUtZHJvcGRvd24tYnV0dG9uc1wiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgYXBwZWFyYW5jZT1cInByaW1hcnlcIlxuICAgICAgICAgIFtsYWJlbF09XCJcbiAgICAgICAgICAgIGFnZW50U2VydmljZS5jb25maWc/LmRhc2hib2FyZD8uYWRkVGFza0J1dHRvbkxhYmVsID8/ICdBZGQgVXNlcidcbiAgICAgICAgICBcIlxuICAgICAgICAgIGljb249XCJ0dWlJY29uUGx1c1wiXG4gICAgICAgICAgc2hhcGU9XCJyb3VuZGVkXCJcbiAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgKG9uQ2xpY2spPVwic2hvd0RpYWxvZyh0ZW1wbGF0ZSlcIlxuICAgICAgICA+PC9rd2lrdWktYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9oZWFkZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLWJvZHlcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJtYXBzTG9hZGVkXCJcbiAgICAgICAgW2NsYXNzXT1cImFnZW50U2VydmljZS5zaG93TWFwdmlldyA/ICdtYXAnIDogJ21hcC1oaWRkZW4nXCJcbiAgICAgID5cbiAgICAgICAgPGdvb2dsZS1tYXBcbiAgICAgICAgICAqbmdJZj1cImFnZW50U2VydmljZS5jb25maWc/LmRhc2hib2FyZD8ubWFwVHlwZSA9PSAnZ29vZ2xlLW1hcHMnXCJcbiAgICAgICAgICBbb3B0aW9uc109XCJ0aGlzLmdvb2dsZU1hcHNTZXJ2aWNlLm1hcFwiXG4gICAgICAgICAgaGVpZ2h0PVwiMTAwJVwiXG4gICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXAtbWFya2VyXG4gICAgICAgICAgICAjbWFya2VyPVwibWFwTWFya2VyXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICBsZXQgbWFya2VyUG9zaXRpb24gb2YgdGhpcy5nb29nbGVNYXBzU2VydmljZS5hbGxNYXJrZXJzO1xuICAgICAgICAgICAgICBsZXQgaW5kZXggPSBpbmRleFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtwb3NpdGlvbl09XCJtYXJrZXJQb3NpdGlvblwiXG4gICAgICAgICAgICBbbGFiZWxdPVwieyB0ZXh0OiBTdHJpbmcoaW5kZXgpIH1cIlxuICAgICAgICAgID48L21hcC1tYXJrZXI+XG4gICAgICAgICAgPG1hcC1kaXJlY3Rpb25zLXJlbmRlcmVyXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICB0aGlzLmdvb2dsZU1hcHNTZXJ2aWNlLmRpcmVjdGlvbnNSZXN1bHRzJFxuICAgICAgICAgICAgICAgIHwgYXN5bmMgYXMgZGlyZWN0aW9uc1Jlc3VsdHNcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbZGlyZWN0aW9uc109XCJkaXJlY3Rpb25zUmVzdWx0c1wiXG4gICAgICAgICAgICBbb3B0aW9uc109XCJ0aGlzLmdvb2dsZU1hcHNTZXJ2aWNlLmRpcmVjdGlvbnNSZW5kZXJPcHRpb25cIlxuICAgICAgICAgID48L21hcC1kaXJlY3Rpb25zLXJlbmRlcmVyPlxuICAgICAgICA8L2dvb2dsZS1tYXA+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwiYWdlbnRTZXJ2aWNlLmNvbmZpZz8uZGFzaGJvYXJkPy5tYXBUeXBlID09ICdvcGVuLXN0cmVldCdcIlxuICAgICAgICAgIGlkPVwibWFwXCJcbiAgICAgICAgICBzdHlsZT1cImhlaWdodDogMTAwJVwiXG4gICAgICAgID48L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGFzay1kZXRhaWxzXCJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAhYWdlbnRTZXJ2aWNlLmlzTW9iaWxlVmlldyAmJlxuICAgICAgICAgIGFnZW50U2VydmljZS5jdXJyZW50VGFza0RldGFpbHMgIT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgIWFnZW50U2VydmljZS5zaG93TWFwdmlld1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8Y3VzdG9tZXItZGV0YWlsc1xuICAgICAgICAgIFtjdXN0b21lcl09XCJhZ2VudFNlcnZpY2UuY3VycmVudFRhc2tEZXRhaWxzXCJcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgKG5leHRTdGVwKT1cImhhbmRsZU9uQ2xpY2tOZXh0KCRldmVudClcIlxuICAgICAgICAgIChyZW1vdmVUYXNrKT1cImhhbmRsZU9uQ2xpY2tSZW1vdmVUYXNrKCRldmVudClcIlxuICAgICAgICAgIChvbkNsaWNrUGVyZm9ybUFjdGlvbik9XCJoYW5kbGVPbkNsaWNrUGVyZm9ybUFjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgPjwvY3VzdG9tZXItZGV0YWlscz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibm8tdGFzay1kZXRhaWxzXCJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAhYWdlbnRTZXJ2aWNlLmlzTW9iaWxlVmlldyAmJlxuICAgICAgICAgIGFnZW50U2VydmljZS5jdXJyZW50VGFza0RldGFpbHMgPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgIWFnZW50U2VydmljZS5zaG93TWFwdmlld1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgc3JjPVwiYXNzZXRzL05vLVJlc3VsdHMuanBnXCJcbiAgICAgICAgICBjbGFzcz1cIm5vLXRhc2staW1nXCJcbiAgICAgICAgICBhbHQ9XCJObyBUYXNrXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlNlbGVjdCBhIFRhc2sgdG8gdmlldyBpdCdzIGRldGFpbHMuPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbWVyLWxpc3RcIj5cbiAgICAgICAgPGN1c3RvbWVyLWxpc3RcbiAgICAgICAgICBbY3VzdG9tZXJzXT1cInRhc2tMaXN0XCJcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgKG5leHRTdGVwKT1cImhhbmRsZU9uQ2xpY2tOZXh0KCRldmVudClcIlxuICAgICAgICAgIChyZW1vdmVUYXNrKT1cImhhbmRsZU9uQ2xpY2tSZW1vdmVUYXNrKCRldmVudClcIlxuICAgICAgICAgIChmaWx0ZXJUYXNrTGlzdCk9XCJoYW5kbGVPbkZpbHRlclRhc2tMaXN0KCRldmVudClcIlxuICAgICAgICAgIChvbkNsaWNrUGVyZm9ybUFjdGlvbik9XCJoYW5kbGVPbkNsaWNrUGVyZm9ybUFjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgPjwvY3VzdG9tZXItbGlzdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2XG4gIGNsYXNzPVwia3dpa2lkLWFnZW50LWRhc2hib2FyZC1sb2FkZXJcIlxuICAqbmdJZj1cImxvYWRpbmdcIlxuPlxuICA8c3BhbiBjbGFzcz1cImxvYWRlclwiPjwvc3Bhbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGVcbiAgI3RlbXBsYXRlXG4gIGxldC1vYnNlcnZlclxuPlxuICA8ZGl2IGNsYXNzPVwiYWRkLXRhc2staGVhZGVyXCI+XG4gICAgPGgyPnt7IGFnZW50U2VydmljZT8uYWRkVGFza0Zvcm0/LnRpdGxlID8/IFwiQ3JlYXRlIFVzZXJcIiB9fTwvaDI+XG4gICAgPGt3aWt1aS1idXR0b25cbiAgICAgIGljb249XCJ0dWlJY29uWFwiXG4gICAgICBpZD1cIlwiXG4gICAgICBzdHlsZXM9XCJcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBhcHBlYXJhbmNlPVwibW9ub1wiXG4gICAgICBbc2hhcGVdPVwibnVsbFwiXG4gICAgICBzaXplPVwibVwiXG4gICAgICAob25DbGljayk9XCJvYnNlcnZlci5jb21wbGV0ZSgpXCJcbiAgICA+PC9rd2lrdWktYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGt3aWtpZC1mb3JtLXZpZXdcbiAgICBbYWxsRm9ybXNEYXRhXT1cImFsbEZvcm1zRGF0YVwiXG4gICAgW2Zvcm1Db25maWddPVwiYWdlbnRTZXJ2aWNlLmFkZFRhc2tGb3JtXCJcbiAgICBbaXNNb2JpbGVWaWV3XT1cInRydWVcIlxuICAgIChvbkNsaWNrU2F2ZUZvcm0pPVwidGhpcy5oYW5kbGVPbkNsaWNrU2F2ZUZvcm0oJGV2ZW50KVwiXG4gID48L2t3aWtpZC1mb3JtLXZpZXc+XG48L25nLXRlbXBsYXRlPlxuIl19
|