kwikid-agent-dashboard 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/bundles/kwikid-agent-dashboard.umd.js +805 -578
  2. package/bundles/kwikid-agent-dashboard.umd.js.map +1 -1
  3. package/esm2015/lib/components/customer-list/customer-list.component.js +56 -68
  4. package/esm2015/lib/components/customer-tile/customer-tile.component.js +30 -24
  5. package/esm2015/lib/components/customer-tile/status-pill/status-pill.component.js +29 -0
  6. package/esm2015/lib/components/customer-tile/status-pill/status-pill.definitions.js +18 -0
  7. package/esm2015/lib/kwikid-agent-dashboard.component.js +507 -124
  8. package/esm2015/lib/kwikid-agent-dashboard.module.js +54 -27
  9. package/esm2015/lib/pipes/search-filter.pipe.js +62 -0
  10. package/esm2015/lib/services/info-window.service.js +5 -3
  11. package/esm2015/lib/services/map.service.js +50 -124
  12. package/fesm2015/kwikid-agent-dashboard.js +764 -513
  13. package/fesm2015/kwikid-agent-dashboard.js.map +1 -1
  14. package/lib/components/customer-list/customer-list.component.d.ts +19 -58
  15. package/lib/components/customer-tile/customer-tile.component.d.ts +7 -10
  16. package/lib/components/customer-tile/status-pill/status-pill.component.d.ts +10 -0
  17. package/lib/components/customer-tile/status-pill/status-pill.definitions.d.ts +10 -0
  18. package/lib/kwikid-agent-dashboard.component.d.ts +132 -95
  19. package/lib/kwikid-agent-dashboard.module.d.ts +13 -12
  20. package/lib/pipes/search-filter.pipe.d.ts +25 -0
  21. package/lib/services/map.service.d.ts +15 -16
  22. package/package.json +4 -2
  23. package/esm2015/lib/components/add-customer/add-customer.component.js +0 -66
  24. package/esm2015/lib/components/menu/menu.component.js +0 -34
  25. package/esm2015/lib/services/agent.service.js +0 -47
  26. package/esm2015/lib/services/customer.service.js +0 -20
  27. package/esm2015/lib/shared/interfaces/customer.js +0 -2
  28. package/esm2015/lib/svgs/kyc-pending/kyc-pending.component.js +0 -18
  29. package/esm2015/lib/svgs/kyc-success/kyc-success.component.js +0 -18
  30. package/lib/components/add-customer/add-customer.component.d.ts +0 -16
  31. package/lib/components/menu/menu.component.d.ts +0 -18
  32. package/lib/services/agent.service.d.ts +0 -18
  33. package/lib/services/customer.service.d.ts +0 -9
  34. package/lib/shared/interfaces/customer.d.ts +0 -16
  35. package/lib/svgs/kyc-pending/kyc-pending.component.d.ts +0 -8
  36. package/lib/svgs/kyc-success/kyc-success.component.d.ts +0 -8
@@ -1,68 +1,48 @@
1
+ import { __awaiter } from "tslib";
1
2
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
3
  import { FormControl, FormGroup } from '@angular/forms';
3
- import { TuiDay } from '@taiga-ui/cdk';
4
+ import { TuiDay, TuiDayRange } from '@taiga-ui/cdk';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../../services/map.service";
6
- import * as i2 from "../../services/info-window.service";
7
- import * as i3 from "kwikui";
7
+ import * as i2 from "kwikui";
8
+ import * as i3 from "@angular/cdk/scrolling";
8
9
  import * as i4 from "../customer-tile/customer-tile.component";
9
10
  import * as i5 from "@angular/forms";
10
11
  import * as i6 from "@angular/common";
12
+ import * as i7 from "../../pipes/search-filter.pipe";
11
13
  export class CustomerListComponent {
12
- /**
13
- * @description
14
- *
15
- * @constructor
16
- */
17
- constructor(mapService, infoWindowService) {
14
+ constructor(mapService) {
18
15
  this.mapService = mapService;
19
- this.infoWindowService = infoWindowService;
20
- /**
21
- * @description
22
- * Emitter to emit next Step
23
- *
24
- * @emits KwikIDAgentDashboardComponent#nextStep
25
- * @fires KwikIDAgentDashboardComponent#nextStep
26
- */
27
16
  this.nextStep = new EventEmitter();
28
17
  this.removeTask = new EventEmitter();
18
+ this.filterTaskList = new EventEmitter();
29
19
  this.filteredData = [];
30
20
  this.formGroup = new FormGroup({});
31
- this.fromDate = this.getDate();
32
- this.toDate = this.getDate();
33
- this.fromDateFormControl = new FormControl({
34
- value: new TuiDay(new Date().getFullYear(), new Date().getMonth(), new Date().getDate()),
21
+ this.fromDate = this.getDate(null);
22
+ this.toDate = this.getDate(null);
23
+ this.dateRangeFormControl = new FormControl({
24
+ value: new TuiDayRange(new TuiDay(new Date().getFullYear(), new Date().getMonth(), new Date().getDate()), new TuiDay(new Date().getFullYear(), new Date().getMonth(), new Date().getDate())),
35
25
  disabled: false
36
26
  });
37
- this.formGroup.addControl('fromDate', this.fromDateFormControl);
38
- this.toDateFormControl = new FormControl({
39
- value: new TuiDay(new Date().getFullYear(), new Date().getMonth(), new Date().getDate()),
40
- disabled: false
41
- });
42
- this.formGroup.addControl('toDate', this.toDateFormControl);
27
+ this.formGroup.addControl('dateRange', this.dateRangeFormControl);
28
+ this.searchFormControl = new FormControl('');
29
+ this.formGroup.addControl('search', this.searchFormControl);
30
+ }
31
+ ngOnInit() { }
32
+ ngAfterViewInit() {
33
+ setTimeout(() => __awaiter(this, void 0, void 0, function* () {
34
+ yield this.mapService.initMap();
35
+ this.filteredData = yield this.plotMarkers(this.customers);
36
+ }), 1000);
43
37
  }
44
- /**
45
- * @description
46
- * To set Google Maps API on script
47
- *
48
- * @ngOnInit
49
- */
50
- ngOnInit() {
51
- this.filteredData = this.getCustomers(this.customers);
38
+ ngOnChanges() {
39
+ this.filteredData = this.plotMarkers(this.customers);
52
40
  }
53
- /**
54
- * @description
55
- * Wrapper method to fire click event for next step.
56
- *
57
- * @function goToNextStep
58
- * @func goToNextStep
59
- * @method goToNextStep
60
- */
61
41
  goToNextStep(e) {
62
42
  this.nextStep.emit(e);
63
43
  }
64
- getDate() {
65
- const date = new Date();
44
+ getDate(d) {
45
+ const date = d ? new Date(d) : new Date();
66
46
  const year = date.getFullYear();
67
47
  let month = date.getMonth() + 1;
68
48
  let day = date.getDate();
@@ -73,37 +53,41 @@ export class CustomerListComponent {
73
53
  const today = `${year}-${month}-${day}`;
74
54
  return today;
75
55
  }
76
- getCustomers(customers) {
77
- let filterData = customers.filter((customer) => {
78
- let date = customer.date;
79
- return date >= this.fromDate && date <= this.toDate;
56
+ plotMarkers(customers) {
57
+ let directionsResults$ = this.mapService.plotMarkers(customers);
58
+ directionsResults$.subscribe((val) => {
59
+ this.filteredData = this.mapService.sortList(val.routes[0].waypoint_order, customers);
80
60
  });
81
- return filterData;
61
+ return customers;
82
62
  }
83
- onFromDateChange(event) {
84
- let year = event.value.year;
85
- let month = event.value.month + 1;
86
- let date = event.value.day;
63
+ getTuiDate(event) {
64
+ let year = event.year;
65
+ let month = event.month + 1;
66
+ let date = event.day;
87
67
  month = month < 10 ? '0' + month : month;
88
68
  date = date < 10 ? '0' + date : date;
89
- this.fromDate = `${year}-${month}-${date}`;
90
- this.filteredData = this.getCustomers(this.customers);
69
+ return `${year}-${month}-${date}`;
91
70
  }
92
- onToDateChange(event) {
93
- let year = event.value.year;
94
- let month = event.value.month + 1;
95
- let date = event.value.day;
96
- month = month < 10 ? '0' + month : month;
97
- date = date < 10 ? '0' + date : date;
98
- this.toDate = `${year}-${month}-${date}`;
99
- this.filteredData = this.getCustomers(this.customers);
71
+ onDateRangeChange(event) {
72
+ this.fromDate = this.getTuiDate(event.value.from);
73
+ this.toDate = this.getTuiDate(event.value.to);
74
+ this.handleOnFilterTaskList({
75
+ from_date: this.fromDate,
76
+ to_date: this.toDate
77
+ });
78
+ }
79
+ onSearchFilter(event) {
80
+ this.searchText = event.value;
100
81
  }
101
82
  handleOnClickRemoveTask(task) {
102
83
  this.removeTask.emit(task);
103
84
  }
85
+ handleOnFilterTaskList(filter) {
86
+ this.filterTaskList.emit(filter);
87
+ }
104
88
  }
105
- /** @nocollapse */ CustomerListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomerListComponent, deps: [{ token: i1.MapService }, { token: i2.InfoWindowService }], target: i0.ɵɵFactoryTarget.Component });
106
- /** @nocollapse */ CustomerListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomerListComponent, selector: "customer-list", inputs: { customers: "customers" }, outputs: { nextStep: "nextStep", removeTask: "removeTask" }, ngImport: i0, template: "<div class=\"customer-list-wrapper\">\n <div class=\"customer-list-filter\" [formGroup]=\"formGroup\">\n <kwikui-input-date\n [label]=\"'From Date'\"\n [id]=\"'fromDate'\"\n size=\"m\"\n [formControlName]=\"'fromDate'\"\n [formControl]=\"fromDateFormControl\"\n (getKeyValue)=\"onFromDateChange($event)\"\n ></kwikui-input-date>\n <kwikui-input-date\n [label]=\"'To Date'\"\n [id]=\"'toDate'\"\n size=\"m\"\n [formControlName]=\"'toDate'\"\n [formControl]=\"toDateFormControl\"\n (getKeyValue)=\"onToDateChange($event)\"\n ></kwikui-input-date>\n </div>\n <div class=\"customer-task-list\">\n <div *ngFor=\"let customer of filteredData; let index = index\">\n <customer-tile\n [customer]=\"customer\"\n [index]=\"index\"\n (nextStep)=\"goToNextStep($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n ></customer-tile>\n </div>\n </div>\n\n <div class=\"customer-list-empty\" *ngIf=\"customers.length === 0\">\n No Customers Left...\n </div>\n</div>\n", styles: [".customer-list-wrapper{width:100%;height:100%;display:flex;flex-direction:column;overflow:auto}.customer-list-filter{height:80px;width:100%;display:flex;flex-direction:row;padding:1rem;grid-gap:1rem;gap:1rem;border-bottom:.5px solid #ddd}.customer-list-filter>*{width:100%}.customer-list-empty{height:100%;width:100%;margin-top:.5rem;font-size:1rem;text-align:center}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: i3.KwikUIInputDateComponent, selector: "kwikui-input-date", inputs: ["label", "id", "formControlName", "formControl", "focus", "invalid", "disabled", "placeholder", "min", "max", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i4.CustomerTileComponent, selector: "customer-tile", inputs: ["customer", "index"], outputs: ["nextStep", "removeTask"] }], directives: [{ type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i5.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
89
+ /** @nocollapse */ CustomerListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomerListComponent, deps: [{ token: i1.MapService }], target: i0.ɵɵFactoryTarget.Component });
90
+ /** @nocollapse */ CustomerListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomerListComponent, selector: "customer-list", inputs: { customers: "customers", agentConfig: "agentConfig" }, outputs: { nextStep: "nextStep", removeTask: "removeTask", filterTaskList: "filterTaskList" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"customer-list-wrapper\">\n <div class=\"customer-list-filter\" [formGroup]=\"formGroup\">\n <kwikui-input-date-range\n [label]=\"'Date Range'\"\n [id]=\"'dateRange'\"\n size=\"m\"\n [formControlName]=\"'dateRange'\"\n [formControl]=\"dateRangeFormControl\"\n (getKeyValue)=\"onDateRangeChange($event)\"\n ></kwikui-input-date-range>\n\n <kwikui-input\n [label]=\"'Search'\"\n [id]=\"'search'\"\n icon=\"tuiIconSearch\"\n size=\"m\"\n placeholder=\"Search Any Task\"\n [formControlName]=\"'search'\"\n [formControl]=\"searchFormControl\"\n (getKeyValue)=\"onSearchFilter($event)\"\n ></kwikui-input>\n </div>\n\n <div class=\"customer-task-list\">\n <cdk-virtual-scroll-viewport itemSize=\"1\" class=\"customer-task-list-scroll\">\n <div\n *cdkVirtualFor=\"\n let customer of filteredData | filter: searchText;\n index as index\n \"\n >\n <customer-tile\n class=\"example-item\"\n [customer]=\"customer\"\n [taskDetails]=\"agentConfig?.taskDetails\"\n [index]=\"index\"\n (nextStep)=\"goToNextStep($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n ></customer-tile>\n </div>\n </cdk-virtual-scroll-viewport>\n </div>\n\n <div class=\"customer-list-empty\" *ngIf=\"filteredData.length === 0\">\n No Tasks for the given Date.\n </div>\n</div>\n", styles: [".customer-list-wrapper{width:100%;height:100%;display:flex;flex-direction:column}.customer-list-filter{height:-moz-fit-content;height:fit-content;width:100%;display:flex;flex-direction:column;padding:1rem;grid-gap:.8rem;gap:.8rem;border-bottom:.5px solid #ddd}.customer-list-empty{height:100%;width:100%;margin-top:.5rem;font-size:1rem;text-align:center}.customer-task-list{height:100%}.customer-task-list-scroll{height:100%;width:100%}.cdk-virtual-scroll-spacer{height:0!important}.example-item{height:50px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: i2.KwikUIInputDateRangeComponent, selector: "kwikui-input-date-range", inputs: ["label", "id", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "min", "minLength", "max", "maxLength", "size", "validators", "properties"], outputs: ["getKeyValue"] }, { type: i2.KwikUIInputComponent, selector: "kwikui-input", inputs: ["label", "id", "type", "formControlName", "formControl", "placeholder", "focus", "invalid", "disabled", "validators", "case", "size", "icon", "properties"], outputs: ["getKeyValue"] }, { type: i3.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { type: i4.CustomerTileComponent, selector: "customer-tile", inputs: ["customer", "index", "taskDetails"], outputs: ["nextStep", "removeTask"] }], directives: [{ type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i5.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { type: i3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "filter": i7.Ng2SearchPipe } });
107
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomerListComponent, decorators: [{
108
92
  type: Component,
109
93
  args: [{
@@ -111,11 +95,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
111
95
  templateUrl: './customer-list.component.html',
112
96
  styleUrls: ['./customer-list.component.css']
113
97
  }]
114
- }], ctorParameters: function () { return [{ type: i1.MapService }, { type: i2.InfoWindowService }]; }, propDecorators: { customers: [{
98
+ }], ctorParameters: function () { return [{ type: i1.MapService }]; }, propDecorators: { customers: [{
99
+ type: Input
100
+ }], agentConfig: [{
115
101
  type: Input
116
102
  }], nextStep: [{
117
103
  type: Output
118
104
  }], removeTask: [{
119
105
  type: Output
106
+ }], filterTaskList: [{
107
+ type: Output
120
108
  }] } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy9jdXN0b21lci1saXN0L2N1c3RvbWVyLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWFnZW50LWRhc2hib2FyZC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tZXItbGlzdC9jdXN0b21lci1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVN2QyxNQUFNLE9BQU8scUJBQXFCO0lBNkNoQzs7OztPQUlHO0lBQ0gsWUFDUyxVQUFzQixFQUN0QixpQkFBb0M7UUFEcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBeEI3Qzs7Ozs7O1dBTUc7UUFDTyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU5QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUcxQyxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQixjQUFTLEdBQWMsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFhdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFD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UztzQkFBakIsS0FBSztnQkEyQkksUUFBUTtzQkFBakIsTUFBTTtnQkFFRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFR1aURheSB9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHsgSW5mb1dpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbmZvLXdpbmRvdy5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tYXAuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N1c3RvbWVyLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tZXItbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2N1c3RvbWVyLWxpc3QuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbWVyTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU3RvcmVzIGxpc3Qgb2YgY3VzdG9tZXJzXG4gICAqXG4gICAqIEBkZWZhdWx0XG4gICAqIGBbXWBcbiAgICovXG4gIEBJbnB1dCgpIGN1c3RvbWVyczogYW55O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogRGVzY3JpYmVzIHRvZGF5J3MgZGF0ZVxuICAgKlxuICAgKiBAZGVmYXVsdFxuICAgKiBgYFxuICAgKi9cbiAgZnJvbURhdGU6IHN0cmluZyB8IERhdGU7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBEZXNjcmliZXMgdG9kYXkncyBkYXRlXG4gICAqXG4gICAqIEBkZWZhdWx0XG4gICAqIGBgXG4gICAqL1xuICB0b0RhdGU6IHN0cmluZyB8IERhdGU7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBFbWl0dGVyIHRvIGVtaXQgbmV4dCBTdGVwXG4gICAqXG4gICAqIEBlbWl0cyBLd2lrSURBZ2VudERhc2hib2FyZENvbXBvbmVudCNuZXh0U3RlcFxuICAgKiBAZmlyZXMgS3dpa0lEQWdlbnREYXNoYm9hcmRDb21wb25lbnQjbmV4dFN0ZXBcbiAgICovXG4gIEBPdXRwdXQoKSBuZXh0U3RlcCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KCkgcmVtb3ZlVGFzayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBsYXN0SW5mb1dpbmRvd09wZW5lZDogYW55O1xuICBmaWx0ZXJlZERhdGEgPSBbXTtcbiAgZm9ybUdyb3VwOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgZnJvbURhdGVGb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gIHRvRGF0ZUZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEBjb25zdHJ1Y3RvclxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG1hcFNlcnZpY2U6IE1hcFNlcnZpY2UsXG4gICAgcHVibGljIGluZm9XaW5kb3dTZXJ2aWNlOiBJbmZvV2luZG93U2VydmljZVxuICApIHtcbiAgICB0aGlzLmZyb21EYXRlID0gdGhpcy5nZXREYXRlKCk7XG4gICAgdGhpcy50b0RhdGUgPSB0aGlzLmdldERhdGUoKTtcblxuICAgIHRoaXMuZnJvbURhdGVGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh7XG4gICAgICB2YWx1ZTogbmV3IFR1aURheShcbiAgICAgICAgbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBuZXcgRGF0ZSgpLmdldE1vbnRoKCksXG4gICAgICAgIG5ldyBEYXRlKCkuZ2V0RGF0ZSgpXG4gICAgICApLFxuICAgICAgZGlzYWJsZWQ6IGZhbHNlXG4gICAgfSk7XG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgnZnJvbURhdGUnLCB0aGlzLmZyb21EYXRlRm9ybUNvbnRyb2wpO1xuXG4gICAgdGhpcy50b0RhdGVGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh7XG4gICAgICB2YWx1ZTogbmV3IFR1aURheShcbiAgICAgICAgbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBuZXcgRGF0ZSgpLmdldE1vbnRoKCksXG4gICAgICAgIG5ldyBEYXRlKCkuZ2V0RGF0ZSgpXG4gICAgICApLFxuICAgICAgZGlzYWJsZWQ6IGZhbHNlXG4gICAgfSk7XG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgndG9EYXRlJywgdGhpcy50b0RhdGVGb3JtQ29udHJvbCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRvIHNldCBHb29nbGUgTWFwcyBBUEkgb24gc2NyaXB0XG4gICAqXG4gICAqIEBuZ09uSW5pdFxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLmdldEN1c3RvbWVycyh0aGlzLmN1c3RvbWVycyk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFdyYXBwZXIgbWV0aG9kIHRvIGZpcmUgY2xpY2sgZXZlbnQgZm9yIG5leHQgc3RlcC5cbiAgICpcbiAgICogQGZ1bmN0aW9uIGdvVG9OZXh0U3RlcFxuICAgKiBAZnVuYyBnb1RvTmV4dFN0ZXBcbiAgICogQG1ldGhvZCBnb1RvTmV4dFN0ZXBcbiAgICovXG4gIGdvVG9OZXh0U3RlcChlKSB7XG4gICAgdGhpcy5uZXh0U3RlcC5lbWl0KGUpO1xuICB9XG5cbiAgZ2V0RGF0ZSgpIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xuXG4gICAgbGV0IG1vbnRoOiBudW1iZXIgfCBzdHJpbmcgPSBkYXRlLmdldE1vbnRoKCkgKyAxO1xuICAgIGxldCBkYXk6IG51bWJlciB8IHN0cmluZyA9IGRhdGUuZ2V0RGF0ZSgpO1xuICAgIGlmIChtb250aCA8IDEwKSBtb250aCA9ICcwJyArIG1vbnRoO1xuICAgIGlmIChkYXkgPCAxMCkgZGF5ID0gJzAnICsgZGF5O1xuXG4gICAgY29uc3QgdG9kYXkgPSBgJHt5ZWFyfS0ke21vbnRofS0ke2RheX1gO1xuICAgIHJldHVybiB0b2RheTtcbiAgfVxuXG4gIGdldEN1c3RvbWVycyhjdXN0b21lcnMpIHtcbiAgICBsZXQgZmlsdGVyRGF0YSA9IGN1c3RvbWVycy5maWx0ZXIoKGN1c3RvbWVyKSA9PiB7XG4gICAgICBsZXQgZGF0ZSA9IGN1c3RvbWVyLmRhdGU7XG4gICAgICByZXR1cm4gZGF0ZSA+PSB0aGlzLmZyb21EYXRlICYmIGRhdGUgPD0gdGhpcy50b0RhdGU7XG4gICAgfSk7XG4gICAgcmV0dXJuIGZpbHRlckRhdGE7XG4gIH1cblxuICBvbkZyb21EYXRlQ2hhbmdlKGV2ZW50KSB7XG4gICAgbGV0IHllYXIgPSBldmVudC52YWx1ZS55ZWFyO1xuICAgIGxldCBtb250aCA9IGV2ZW50LnZhbHVlLm1vbnRoICsgMTtcbiAgICBsZXQgZGF0ZSA9IGV2ZW50LnZhbHVlLmRheTtcbiAgICBtb250aCA9IG1vbnRoIDwgMTAgPyAnMCcgKyBtb250aCA6IG1vbnRoO1xuICAgIGRhdGUgPSBkYXRlIDwgMTAgPyAnMCcgKyBkYXRlIDogZGF0ZTtcbiAgICB0aGlzLmZyb21EYXRlID0gYCR7eWVhcn0tJHttb250aH0tJHtkYXRlfWA7XG5cbiAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuZ2V0Q3VzdG9tZXJzKHRoaXMuY3VzdG9tZXJzKTtcbiAgfVxuXG4gIG9uVG9EYXRlQ2hhbmdlKGV2ZW50KSB7XG4gICAgbGV0IHllYXIgPSBldmVudC52YWx1ZS55ZWFyO1xuICAgIGxldCBtb250aCA9IGV2ZW50LnZhbHVlLm1vbnRoICsgMTtcbiAgICBsZXQgZGF0ZSA9IGV2ZW50LnZhbHVlLmRheTtcbiAgICBtb250aCA9IG1vbnRoIDwgMTAgPyAnMCcgKyBtb250aCA6IG1vbnRoO1xuICAgIGRhdGUgPSBkYXRlIDwgMTAgPyAnMCcgKyBkYXRlIDogZGF0ZTtcbiAgICB0aGlzLnRvRGF0ZSA9IGAke3llYXJ9LSR7bW9udGh9LSR7ZGF0ZX1gO1xuXG4gICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLmdldEN1c3RvbWVycyh0aGlzLmN1c3RvbWVycyk7XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrUmVtb3ZlVGFzayh0YXNrKSB7XG4gICAgdGhpcy5yZW1vdmVUYXNrLmVtaXQodGFzayk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjdXN0b21lci1saXN0LXdyYXBwZXJcIj5cbiAgPGRpdiBjbGFzcz1cImN1c3RvbWVyLWxpc3QtZmlsdGVyXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgICA8a3dpa3VpLWlucHV0LWRhdGVcbiAgICAgIFtsYWJlbF09XCInRnJvbSBEYXRlJ1wiXG4gICAgICBbaWRdPVwiJ2Zyb21EYXRlJ1wiXG4gICAgICBzaXplPVwibVwiXG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIidmcm9tRGF0ZSdcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImZyb21EYXRlRm9ybUNvbnRyb2xcIlxuICAgICAgKGdldEtleVZhbHVlKT1cIm9uRnJvbURhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPjwva3dpa3VpLWlucHV0LWRhdGU+XG4gICAgPGt3aWt1aS1pbnB1dC1kYXRlXG4gICAgICBbbGFiZWxdPVwiJ1RvIERhdGUnXCJcbiAgICAgIFtpZF09XCIndG9EYXRlJ1wiXG4gICAgICBzaXplPVwibVwiXG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIid0b0RhdGUnXCJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJ0b0RhdGVGb3JtQ29udHJvbFwiXG4gICAgICAoZ2V0S2V5VmFsdWUpPVwib25Ub0RhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPjwva3dpa3VpLWlucHV0LWRhdGU+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY3VzdG9tZXItdGFzay1saXN0XCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgY3VzdG9tZXIgb2YgZmlsdGVyZWREYXRhOyBsZXQgaW5kZXggPSBpbmRleFwiPlxuICAgICAgPGN1c3RvbWVyLXRpbGVcbiAgICAgICAgW2N1c3RvbWVyXT1cImN1c3RvbWVyXCJcbiAgICAgICAgW2luZGV4XT1cImluZGV4XCJcbiAgICAgICAgKG5leHRTdGVwKT1cImdvVG9OZXh0U3RlcCgkZXZlbnQpXCJcbiAgICAgICAgKHJlbW92ZVRhc2spPVwiaGFuZGxlT25DbGlja1JlbW92ZVRhc2soJGV2ZW50KVwiXG4gICAgICA+PC9jdXN0b21lci10aWxlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY3VzdG9tZXItbGlzdC1lbXB0eVwiICpuZ0lmPVwiY3VzdG9tZXJzLmxlbmd0aCA9PT0gMFwiPlxuICAgIE5vIEN1c3RvbWVycyBMZWZ0Li4uXG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy9jdXN0b21lci1saXN0L2N1c3RvbWVyLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWFnZW50LWRhc2hib2FyZC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tZXItbGlzdC9jdXN0b21lci1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUdMLE1BQU0sRUFDTixXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztBQVN2QixNQUFNLE9BQU8scUJBQXFCO0lBOEJoQyxZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBdEJ6QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUc5QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdoQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFLcEMsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsY0FBUyxHQUFjLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBV3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFakMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksV0FBVyxDQUFDO1lBQzFDLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FDcEIsSUFBSSxNQUFNLENBQ1IsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFDeEIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFDckIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FDckIsRUFDRCxJQUFJLE1BQU0sQ0FDUixJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUN4QixJQUFJLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUNyQixJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUNyQixDQUNGO1lBQ0QsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRWxFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELFFBQVEsS0FBSSxDQUFDO0lBRWIsZUFBZTtRQUNiLFVBQVUsQ0FBQyxHQUFTLEVBQUU7WUFDcEIsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsWUFBWSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsT0FBTyxDQUFDLENBQUM7UUFDUCxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzFDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVoQyxJQUFJLEtBQUssR0FBb0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqRCxJQUFJLEdBQUcsR0FBb0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFDLElBQUksS0FBSyxHQUFHLEVBQUU7WUFBRSxLQUFLLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQztRQUNwQyxJQUFJLEdBQUcsR0FBRyxFQUFFO1lBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFFOUIsTUFBTSxLQUFLLEdBQUcsR0FBRyxJQUFJLElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUFTO1FBQ25CLElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEUsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FDMUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQzVCLFNBQVMsQ0FDVixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQUs7UUFDZCxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDckIsS0FBSyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN6QyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3JDLE9BQU8sR0FBRyxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFLO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztZQUMxQixTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDeEIsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBSztRQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELHVCQUF1QixDQUFDLElBQUk7UUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELHNCQUFzQixDQUFDLE1BQU07UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7c0lBNUhVLHFCQUFxQjswSEFBckIscUJBQXFCLHlPQ2hCbEMseThDQStDQTs0RkQvQmEscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixXQUFXLEVBQUUsZ0NBQWdDO29CQUM3QyxTQUFTLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztpQkFDN0M7aUdBR0MsU0FBUztzQkFEUixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixRQUFRO3NCQURQLE1BQU07Z0JBSVAsVUFBVTtzQkFEVCxNQUFNO2dCQUlQLGNBQWM7c0JBRGIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBUVUlfRklSU1RfREFZLFxuICBUVUlfTEFTVF9EQVksXG4gIFR1aURheSxcbiAgVHVpRGF5UmFuZ2Vcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQgeyBJbmZvV2luZG93U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2luZm8td2luZG93LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21hcC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3VzdG9tZXItbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b21lci1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tZXItbGlzdC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tZXJMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgY3VzdG9tZXJzOiBhbnk7XG5cbiAgQElucHV0KClcbiAgYWdlbnRDb25maWc6IGFueTtcblxuICBAT3V0cHV0KClcbiAgbmV4dFN0ZXAgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlbW92ZVRhc2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIGZpbHRlclRhc2tMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHNlYXJjaFRleHQ7XG5cbiAgbGFzdEluZm9XaW5kb3dPcGVuZWQ6IGFueTtcbiAgZmlsdGVyZWREYXRhID0gW107XG4gIGZvcm1Hcm91cDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gIGRhdGVSYW5nZUZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcbiAgdG9EYXRlRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBzZWFyY2hGb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG5cbiAgZnJvbURhdGU6IHN0cmluZyB8IERhdGU7XG4gIHRvRGF0ZTogc3RyaW5nIHwgRGF0ZTtcbiAgbWluO1xuICBtYXg7XG5cbiAgY29uc3RydWN0b3IocHVibGljIG1hcFNlcnZpY2U6IE1hcFNlcnZpY2UpIHtcbiAgICB0aGlzLmZyb21EYXRlID0gdGhpcy5nZXREYXRlKG51bGwpO1xuICAgIHRoaXMudG9EYXRlID0gdGhpcy5nZXREYXRlKG51bGwpO1xuXG4gICAgdGhpcy5kYXRlUmFuZ2VGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh7XG4gICAgICB2YWx1ZTogbmV3IFR1aURheVJhbmdlKFxuICAgICAgICBuZXcgVHVpRGF5KFxuICAgICAgICAgIG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgICBuZXcgRGF0ZSgpLmdldE1vbnRoKCksXG4gICAgICAgICAgbmV3IERhdGUoKS5nZXREYXRlKClcbiAgICAgICAgKSxcbiAgICAgICAgbmV3IFR1aURheShcbiAgICAgICAgICBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCksXG4gICAgICAgICAgbmV3IERhdGUoKS5nZXRNb250aCgpLFxuICAgICAgICAgIG5ldyBEYXRlKCkuZ2V0RGF0ZSgpXG4gICAgICAgIClcbiAgICAgICksXG4gICAgICBkaXNhYmxlZDogZmFsc2VcbiAgICB9KTtcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdkYXRlUmFuZ2UnLCB0aGlzLmRhdGVSYW5nZUZvcm1Db250cm9sKTtcblxuICAgIHRoaXMuc2VhcmNoRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ3NlYXJjaCcsIHRoaXMuc2VhcmNoRm9ybUNvbnRyb2wpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHRoaXMubWFwU2VydmljZS5pbml0TWFwKCk7XG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IGF3YWl0IHRoaXMucGxvdE1hcmtlcnModGhpcy5jdXN0b21lcnMpO1xuICAgIH0sIDEwMDApO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLnBsb3RNYXJrZXJzKHRoaXMuY3VzdG9tZXJzKTtcbiAgfVxuXG4gIGdvVG9OZXh0U3RlcChlKSB7XG4gICAgdGhpcy5uZXh0U3RlcC5lbWl0KGUpO1xuICB9XG5cbiAgZ2V0RGF0ZShkKSB7XG4gICAgY29uc3QgZGF0ZSA9IGQgPyBuZXcgRGF0ZShkKSA6IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcblxuICAgIGxldCBtb250aDogbnVtYmVyIHwgc3RyaW5nID0gZGF0ZS5nZXRNb250aCgpICsgMTtcbiAgICBsZXQgZGF5OiBudW1iZXIgfCBzdHJpbmcgPSBkYXRlLmdldERhdGUoKTtcbiAgICBpZiAobW9udGggPCAxMCkgbW9udGggPSAnMCcgKyBtb250aDtcbiAgICBpZiAoZGF5IDwgMTApIGRheSA9ICcwJyArIGRheTtcblxuICAgIGNvbnN0IHRvZGF5ID0gYCR7eWVhcn0tJHttb250aH0tJHtkYXl9YDtcbiAgICByZXR1cm4gdG9kYXk7XG4gIH1cblxuICBwbG90TWFya2VycyhjdXN0b21lcnMpIHtcbiAgICBsZXQgZGlyZWN0aW9uc1Jlc3VsdHMkID0gdGhpcy5tYXBTZXJ2aWNlLnBsb3RNYXJrZXJzKGN1c3RvbWVycyk7XG4gICAgZGlyZWN0aW9uc1Jlc3VsdHMkLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMubWFwU2VydmljZS5zb3J0TGlzdChcbiAgICAgICAgdmFsLnJvdXRlc1swXS53YXlwb2ludF9vcmRlcixcbiAgICAgICAgY3VzdG9tZXJzXG4gICAgICApO1xuICAgIH0pO1xuICAgIHJldHVybiBjdXN0b21lcnM7XG4gIH1cblxuICBnZXRUdWlEYXRlKGV2ZW50KSB7XG4gICAgbGV0IHllYXIgPSBldmVudC55ZWFyO1xuICAgIGxldCBtb250aCA9IGV2ZW50Lm1vbnRoICsgMTtcbiAgICBsZXQgZGF0ZSA9IGV2ZW50LmRheTtcbiAgICBtb250aCA9IG1vbnRoIDwgMTAgPyAnMCcgKyBtb250aCA6IG1vbnRoO1xuICAgIGRhdGUgPSBkYXRlIDwgMTAgPyAnMCcgKyBkYXRlIDogZGF0ZTtcbiAgICByZXR1cm4gYCR7eWVhcn0tJHttb250aH0tJHtkYXRlfWA7XG4gIH1cblxuICBvbkRhdGVSYW5nZUNoYW5nZShldmVudCkge1xuICAgIHRoaXMuZnJvbURhdGUgPSB0aGlzLmdldFR1aURhdGUoZXZlbnQudmFsdWUuZnJvbSk7XG4gICAgdGhpcy50b0RhdGUgPSB0aGlzLmdldFR1aURhdGUoZXZlbnQudmFsdWUudG8pO1xuICAgIHRoaXMuaGFuZGxlT25GaWx0ZXJUYXNrTGlzdCh7XG4gICAgICBmcm9tX2RhdGU6IHRoaXMuZnJvbURhdGUsXG4gICAgICB0b19kYXRlOiB0aGlzLnRvRGF0ZVxuICAgIH0pO1xuICB9XG5cbiAgb25TZWFyY2hGaWx0ZXIoZXZlbnQpIHtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSBldmVudC52YWx1ZTtcbiAgfVxuXG4gIGhhbmRsZU9uQ2xpY2tSZW1vdmVUYXNrKHRhc2spIHtcbiAgICB0aGlzLnJlbW92ZVRhc2suZW1pdCh0YXNrKTtcbiAgfVxuXG4gIGhhbmRsZU9uRmlsdGVyVGFza0xpc3QoZmlsdGVyKSB7XG4gICAgdGhpcy5maWx0ZXJUYXNrTGlzdC5lbWl0KGZpbHRlcik7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjdXN0b21lci1saXN0LXdyYXBwZXJcIj5cbiAgPGRpdiBjbGFzcz1cImN1c3RvbWVyLWxpc3QtZmlsdGVyXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgICA8a3dpa3VpLWlucHV0LWRhdGUtcmFuZ2VcbiAgICAgIFtsYWJlbF09XCInRGF0ZSBSYW5nZSdcIlxuICAgICAgW2lkXT1cIidkYXRlUmFuZ2UnXCJcbiAgICAgIHNpemU9XCJtXCJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ2RhdGVSYW5nZSdcIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImRhdGVSYW5nZUZvcm1Db250cm9sXCJcbiAgICAgIChnZXRLZXlWYWx1ZSk9XCJvbkRhdGVSYW5nZUNoYW5nZSgkZXZlbnQpXCJcbiAgICA+PC9rd2lrdWktaW5wdXQtZGF0ZS1yYW5nZT5cblxuICAgIDxrd2lrdWktaW5wdXRcbiAgICAgIFtsYWJlbF09XCInU2VhcmNoJ1wiXG4gICAgICBbaWRdPVwiJ3NlYXJjaCdcIlxuICAgICAgaWNvbj1cInR1aUljb25TZWFyY2hcIlxuICAgICAgc2l6ZT1cIm1cIlxuICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggQW55IFRhc2tcIlxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCInc2VhcmNoJ1wiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoRm9ybUNvbnRyb2xcIlxuICAgICAgKGdldEtleVZhbHVlKT1cIm9uU2VhcmNoRmlsdGVyKCRldmVudClcIlxuICAgID48L2t3aWt1aS1pbnB1dD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImN1c3RvbWVyLXRhc2stbGlzdFwiPlxuICAgIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgaXRlbVNpemU9XCIxXCIgY2xhc3M9XCJjdXN0b21lci10YXNrLWxpc3Qtc2Nyb2xsXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpjZGtWaXJ0dWFsRm9yPVwiXG4gICAgICAgICAgbGV0IGN1c3RvbWVyIG9mIGZpbHRlcmVkRGF0YSB8IGZpbHRlcjogc2VhcmNoVGV4dDtcbiAgICAgICAgICBpbmRleCBhcyBpbmRleFxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8Y3VzdG9tZXItdGlsZVxuICAgICAgICAgIGNsYXNzPVwiZXhhbXBsZS1pdGVtXCJcbiAgICAgICAgICBbY3VzdG9tZXJdPVwiY3VzdG9tZXJcIlxuICAgICAgICAgIFt0YXNrRGV0YWlsc109XCJhZ2VudENvbmZpZz8udGFza0RldGFpbHNcIlxuICAgICAgICAgIFtpbmRleF09XCJpbmRleFwiXG4gICAgICAgICAgKG5leHRTdGVwKT1cImdvVG9OZXh0U3RlcCgkZXZlbnQpXCJcbiAgICAgICAgICAocmVtb3ZlVGFzayk9XCJoYW5kbGVPbkNsaWNrUmVtb3ZlVGFzaygkZXZlbnQpXCJcbiAgICAgICAgPjwvY3VzdG9tZXItdGlsZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY3VzdG9tZXItbGlzdC1lbXB0eVwiICpuZ0lmPVwiZmlsdGVyZWREYXRhLmxlbmd0aCA9PT0gMFwiPlxuICAgIE5vIFRhc2tzIGZvciB0aGUgZ2l2ZW4gRGF0ZS5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,12 +1,18 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { MapInfoWindow } from '@angular/google-maps';
3
+ import { getObjectValueFromPath } from 'kwikid-toolkit';
2
4
  import * as i0 from "@angular/core";
3
5
  import * as i1 from "../../services/map.service";
4
6
  import * as i2 from "../../services/info-window.service";
5
- import * as i3 from "../../svgs/kyc-success/kyc-success.component";
6
- import * as i4 from "../../svgs/kyc-pending/kyc-pending.component";
7
- import * as i5 from "kwikui";
8
- import * as i6 from "@angular/common";
7
+ import * as i3 from "./status-pill/status-pill.component";
8
+ import * as i4 from "kwikui";
9
+ import * as i5 from "@angular/common";
9
10
  export class CustomerTileComponent {
11
+ /**
12
+ * @description
13
+ *
14
+ * @constructor
15
+ */
10
16
  constructor(mapService, infoWindowService) {
11
17
  this.mapService = mapService;
12
18
  this.infoWindowService = infoWindowService;
@@ -34,11 +40,7 @@ export class CustomerTileComponent {
34
40
  * @fires KwikIDAgentDashboardComponent#nextStep
35
41
  */
36
42
  this.nextStep = new EventEmitter();
37
- this.removeTask = new EventEmitter(); /**
38
- * @description
39
- *
40
- * @constructor
41
- */
43
+ this.removeTask = new EventEmitter();
42
44
  }
43
45
  /**
44
46
  * @description
@@ -47,11 +49,14 @@ export class CustomerTileComponent {
47
49
  * @ngOnInit
48
50
  */
49
51
  ngOnInit() { }
52
+ getTaskDetails(taskData) {
53
+ return getObjectValueFromPath(this.customer, taskData);
54
+ }
50
55
  tileClick() {
51
- console.log("Tile Click", this.index);
56
+ console.log('Tile Click', this.index);
52
57
  if (this.index == this.infoWindowService.getOpenMarker()) {
53
58
  this.infoWindowService.setOpenMarker(null);
54
- this.infoWindowService.lastInfoWindowOpened.close();
59
+ //this.infoWindowService.lastInfoWindowOpened.close();
55
60
  }
56
61
  else {
57
62
  this.showDetails(this.customer, this.index);
@@ -67,18 +72,14 @@ export class CustomerTileComponent {
67
72
  */
68
73
  showDetails(customer, index) {
69
74
  let markers = this.mapService.getMarkers();
70
- let marker = markers[index];
71
- let { infowindow } = this.infoWindowService.showCustomerInformation(customer, marker);
75
+ console.log('Markers', markers);
76
+ let marker = markers[index + 1];
77
+ // let { infowindow } = this.infoWindowService.showCustomerInformation(
78
+ // customer,
79
+ // marker
80
+ // );
72
81
  this.infoWindowService.setOpenMarker(index);
73
82
  }
74
- /**
75
- * @description
76
- * Wrapper method to fire click event for next step.
77
- *
78
- * @function goToNextStep
79
- * @func goToNextStep
80
- * @method goToNextStep
81
- */
82
83
  goToNextStep(e) {
83
84
  this.nextStep.emit(e);
84
85
  }
@@ -87,7 +88,7 @@ export class CustomerTileComponent {
87
88
  }
88
89
  }
89
90
  /** @nocollapse */ CustomerTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomerTileComponent, deps: [{ token: i1.MapService }, { token: i2.InfoWindowService }], target: i0.ɵɵFactoryTarget.Component });
90
- /** @nocollapse */ CustomerTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomerTileComponent, selector: "customer-tile", inputs: { customer: "customer", index: "index" }, outputs: { nextStep: "nextStep", removeTask: "removeTask" }, ngImport: i0, template: "<div class=\"customer-tile-wrapper\">\n <div class=\"customer-tile-primary-container\">\n <div class=\"customer-tile-primary-container-data\">\n <ng-container *ngIf=\"customer.kycComplete\">\n <svg-kyc-success></svg-kyc-success>\n </ng-container>\n <ng-container *ngIf=\"!customer.kycComplete\">\n <svg-kyc-pending></svg-kyc-pending>\n </ng-container>\n <div class=\"customer-tile-prtimary-container-name-phone\">\n <div class=\"customer-tile-primary-container-name\">\n {{ customer.extras.name }}\n </div>\n <div class=\"customer-tile-primary-container-phone\">\n {{ customer.extras.phone }}\n </div>\n </div>\n </div>\n <kwikui-button-icon\n [icon]=\"\n index == infoWindowService.getOpenMarker()\n ? 'tuiIconChevronUpLarge'\n : 'tuiIconChevronDownLarge'\n \"\n [shape]=\"'rounded'\"\n appearance=\"icon\"\n size=\"s\"\n (onClick)=\"tileClick()\"\n ></kwikui-button-icon>\n </div>\n <div\n [ngClass]=\"\n index == infoWindowService.getOpenMarker()\n ? 'customer-tile-secondary-container'\n : 'data-collasped'\n \"\n >\n <div class=\"customer-tile-secondary-container-data\">\n <div class=\"customer-tile-secondary-container-address\">\n {{ customer.extras.address }}\n </div>\n </div>\n <div class=\"customer-tile-secondary-container-actions\">\n <kwikui-button-icon\n [icon]=\"'tuiIconTrash2'\"\n [shape]=\"'rounded'\"\n appearance=\"icon\"\n size=\"s\"\n (onClick)=\"handleOnClickRemoveTask(customer)\"\n ></kwikui-button-icon>\n <div class=\"customer-tile-secondary-container-journey-buttons\">\n <kwikui-button\n label=\"Share Link\"\n appearance=\"flat\"\n size=\"s\"\n styles=\"font-size:0.7rem;\"\n (onClick)=\"goToNextStep({ customer: customer, process: 'share' })\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"!customer.kycComplete\"\n label=\"Start Journey\"\n appearance=\"primary\"\n size=\"s\"\n styles=\"font-size:0.7rem;\"\n (onClick)=\"goToNextStep({ customer: customer, process: 'kyc' })\"\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;padding:1rem;border-bottom:.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:row;flex-wrap:nowrap;align-content:stretch;justify-content:space-evenly;align-items:center}.customer-tile-wrapper .customer-tile-primary-container .customer-tile-primary-container-status{border-radius:1.5rem}.customer-tile-wrapper .customer-tile-primary-container .customer-tile-primary-container-name{font-weight:600;line-height:1rem}.customer-tile-wrapper .customer-tile-primary-container .customer-tile-primary-container-phone{font-size:.7rem}.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:.6rem;grid-gap:.2rem;gap:.2rem}.customer-tile-wrapper .customer-tile-secondary-container .customer-tile-secondary-container-data .customer-tile-secondary-container-session-id{width:100%;height:100%;line-height:.9rem;text-align:justify}.customer-tile-wrapper .customer-tile-secondary-container .customer-tile-secondary-container-data .customer-tile-secondary-container-address{width:100%;height:100%;line-height:.9rem;text-align:justify}.customer-tile-wrapper .customer-tile-secondary-container .customer-tile-secondary-container-actions{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center}.customer-tile-wrapper .customer-tile-secondary-container .customer-tile-secondary-container-actions .customer-tile-secondary-container-journey-buttons{padding-right:.2rem;display:flex;flex-direction:row;grid-gap:.8rem;gap:.8rem;align-items:center}.customer-tile-wrapper .customer-tile-secondary-container .customer-tile-secondary-container-actions .customer-tile-secondary-container-journey-buttons .customer-share-link{font-size:.7rem}.customer-tile-wrapper .data-collasped{display:none}\n"], components: [{ type: i3.KycSuccessComponent, selector: "svg-kyc-success" }, { type: i4.KycPendingComponent, selector: "svg-kyc-pending" }, { type: i5.KwikUIButtonIconComponent, selector: "kwikui-button-icon", inputs: ["disabled", "id", "showLoader", "styles", "class", "type", "appearance", "icon", "shape", "size"], outputs: ["onClick"] }, { type: i5.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
91
+ /** @nocollapse */ CustomerTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomerTileComponent, selector: "customer-tile", inputs: { customer: "customer", index: "index", taskDetails: "taskDetails" }, outputs: { nextStep: "nextStep", removeTask: "removeTask" }, viewQueries: [{ propertyName: "infoWindow", first: true, predicate: MapInfoWindow, descendants: true }], ngImport: i0, template: "<div class=\"customer-tile-wrapper\">\n <div class=\"customer-tile-primary-container\">\n <div class=\"customer-tile-primary-container-data\">\n <div class=\"customer-tile-primary-container-userid\">\n {{ customer.user_id }}\n </div>\n <status-pill [status]=\"customer.session_status\"></status-pill>\n </div>\n <kwikui-button-icon\n [icon]=\"\n index == infoWindowService.getOpenMarker()\n ? 'tuiIconChevronUpLarge'\n : 'tuiIconChevronDownLarge'\n \"\n [shape]=\"'rounded'\"\n appearance=\"icon\"\n size=\"s\"\n (onClick)=\"tileClick()\"\n ></kwikui-button-icon>\n </div>\n <div\n [ngClass]=\"\n index == infoWindowService.getOpenMarker()\n ? 'customer-tile-secondary-container'\n : 'data-collasped'\n \"\n >\n <div class=\"customer-tile-secondary-container-data\">\n <div\n *ngFor=\"let taskData of this.taskDetails\"\n class=\"customer-tile-secondary-container-custom-details\"\n >\n {{ getTaskDetails(taskData) }}\n </div>\n </div>\n <div class=\"customer-tile-secondary-container-actions\">\n <kwikui-button-icon\n [icon]=\"'tuiIconTrash2'\"\n [shape]=\"'rounded'\"\n appearance=\"icon\"\n size=\"s\"\n (onClick)=\"handleOnClickRemoveTask(customer)\"\n ></kwikui-button-icon>\n <div class=\"customer-tile-secondary-container-journey-buttons\">\n <kwikui-button\n label=\"Share Link\"\n appearance=\"flat\"\n size=\"s\"\n styles=\"font-size:0.7rem;\"\n (onClick)=\"goToNextStep({ customer: customer, process: 'share' })\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"customer.session_status !== 'complete'\"\n label=\"Edit Journey\"\n appearance=\"primary\"\n size=\"s\"\n styles=\"font-size:0.7rem;\"\n (onClick)=\"goToNextStep({ customer: customer, process: 'edit' })\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"customer.session_status == ''\"\n label=\"Start Journey\"\n appearance=\"primary\"\n size=\"s\"\n styles=\"font-size:0.7rem;\"\n (onClick)=\"goToNextStep({ customer: customer, process: 'kyc' })\"\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;padding:1rem;border-bottom:.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:row;flex-wrap:wrap;align-content:stretch;justify-content:space-evenly;align-items:center}.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}.customer-tile-wrapper .customer-tile-secondary-container .customer-tile-secondary-container-actions{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center}.customer-tile-wrapper .customer-tile-secondary-container .customer-tile-secondary-container-actions .customer-tile-secondary-container-journey-buttons{padding-right:.2rem;display:flex;flex-direction:row;grid-gap:.8rem;gap:.8rem;align-items:center}.customer-tile-wrapper .customer-tile-secondary-container .customer-tile-secondary-container-actions .customer-tile-secondary-container-journey-buttons .customer-share-link{font-size:.7rem}.customer-tile-wrapper .data-collasped{display:none}\n"], components: [{ type: i3.StatusPillComponent, selector: "status-pill", inputs: ["status"] }, { type: i4.KwikUIButtonIconComponent, selector: "kwikui-button-icon", inputs: ["disabled", "id", "showLoader", "styles", "class", "type", "appearance", "icon", "shape", "size"], outputs: ["onClick"] }, { type: i4.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
91
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomerTileComponent, decorators: [{
92
93
  type: Component,
93
94
  args: [{
@@ -99,9 +100,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
99
100
  type: Input
100
101
  }], index: [{
101
102
  type: Input
103
+ }], taskDetails: [{
104
+ type: Input
102
105
  }], nextStep: [{
103
106
  type: Output
104
107
  }], removeTask: [{
105
108
  type: Output
109
+ }], infoWindow: [{
110
+ type: ViewChild,
111
+ args: [MapInfoWindow]
106
112
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItdGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy9jdXN0b21lci10aWxlL2N1c3RvbWVyLXRpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWFnZW50LWRhc2hib2FyZC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tZXItdGlsZS9jdXN0b21lci10aWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBVy9FLE1BQU0sT0FBTyxxQkFBcUI7SUFpQ2hDLFlBQ1MsVUFBc0IsRUFDdEIsaUJBQW9DO1FBRHBDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWxDN0M7Ozs7OztXQU1HO1FBQ00sYUFBUSxHQUFRLEVBQUUsQ0FBQztRQUU1Qjs7Ozs7O1dBTUc7UUFDTSxVQUFLLEdBQVcsU0FBUyxDQUFDO1FBRW5DOzs7Ozs7V0FNRztRQUNPLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTlCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDLENBQUU7Ozs7V0FJekM7SUFJQSxDQUFDO0lBRUo7Ozs7O09BS0c7SUFDSCxRQUFRLEtBQVUsQ0FBQztJQUVuQixTQUFTO1FBQ1AsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3JDLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDeEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDckQ7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILFdBQVcsQ0FBQyxRQUFRLEVBQUUsS0FBSztRQUN6QixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzNDLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QixJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUNqRSxRQUFRLEVBQ1IsTUFBTSxDQUNQLENBQUM7UUFFRixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsWUFBWSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsdUJBQXVCLENBQUMsSUFBSTtRQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDOztzSUExRlUscUJBQXFCOzBIQUFyQixxQkFBcUIsb0tDWGxDLGcwRUFzRUE7NEZEM0RhLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsU0FBUyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7aUJBQzlDO2lJQVNVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBU0csS0FBSztzQkFBYixLQUFLO2dCQVNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBRUcsVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluZm9XaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW5mby13aW5kb3cuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFwLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGNvbnN0IGdvb2dsZTogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdXN0b21lci10aWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbWVyLXRpbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jdXN0b21lci10aWxlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tZXJUaWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBEZXRlcm1pbmVzIEN1c3RvbWVyIERhdGFcbiAgICpcbiAgICogQGRlZmF1bHRcbiAgICogYHt9YFxuICAgKi9cbiAgQElucHV0KCkgY3VzdG9tZXI6IGFueSA9IHt9O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogRGV0ZXJtaW5lcyBJbmRleCBvZiBDdXN0b21lciBEYXRhIGluIEN1c3RvbWVyIExpc3RcbiAgICpcbiAgICogQGRlZmF1bHRcbiAgICpcbiAgICovXG4gIEBJbnB1dCgpIGluZGV4OiBudW1iZXIgPSB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBFbWl0dGVyIHRvIGVtaXQgbmV4dCBTdGVwXG4gICAqXG4gICAqIEBlbWl0cyBLd2lrSURBZ2VudERhc2hib2FyZENvbXBvbmVudCNuZXh0U3RlcFxuICAgKiBAZmlyZXMgS3dpa0lEQWdlbnREYXNoYm9hcmRDb21wb25lbnQjbmV4dFN0ZXBcbiAgICovXG4gIEBPdXRwdXQoKSBuZXh0U3RlcCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KCkgcmVtb3ZlVGFzayA9IG5ldyBFdmVudEVtaXR0ZXIoKTsgIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogQGNvbnN0cnVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbWFwU2VydmljZTogTWFwU2VydmljZSxcbiAgICBwdWJsaWMgaW5mb1dpbmRvd1NlcnZpY2U6IEluZm9XaW5kb3dTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRvIHNldCBHb29nbGUgTWFwcyBBUEkgb24gc2NyaXB0XG4gICAqXG4gICAqIEBuZ09uSW5pdFxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHRpbGVDbGljaygpIHtcbiAgICBjb25zb2xlLmxvZyhcIlRpbGUgQ2xpY2tcIiwgdGhpcy5pbmRleClcbiAgICBpZiAodGhpcy5pbmRleCA9PSB0aGlzLmluZm9XaW5kb3dTZXJ2aWNlLmdldE9wZW5NYXJrZXIoKSkge1xuICAgICAgdGhpcy5pbmZvV2luZG93U2VydmljZS5zZXRPcGVuTWFya2VyKG51bGwpO1xuICAgICAgdGhpcy5pbmZvV2luZG93U2VydmljZS5sYXN0SW5mb1dpbmRvd09wZW5lZC5jbG9zZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNob3dEZXRhaWxzKHRoaXMuY3VzdG9tZXIsIHRoaXMuaW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogV3JhcHBlciBtZXRob2QgdG8gc2hvdyBDdXN0b21lciBJbmZvIFdpbmRvd1xuICAgKlxuICAgKiBAZnVuY3Rpb24gc2hvd0RldGFpbHNcbiAgICogQGZ1bmMgc2hvd0RldGFpbHNcbiAgICogQG1ldGhvZCBzaG93RGV0YWlsc1xuICAgKi9cbiAgc2hvd0RldGFpbHMoY3VzdG9tZXIsIGluZGV4KSB7XG4gICAgbGV0IG1hcmtlcnMgPSB0aGlzLm1hcFNlcnZpY2UuZ2V0TWFya2VycygpO1xuICAgIGxldCBtYXJrZXIgPSBtYXJrZXJzW2luZGV4XTtcblxuICAgIGxldCB7IGluZm93aW5kb3cgfSA9IHRoaXMuaW5mb1dpbmRvd1NlcnZpY2Uuc2hvd0N1c3RvbWVySW5mb3JtYXRpb24oXG4gICAgICBjdXN0b21lcixcbiAgICAgIG1hcmtlclxuICAgICk7XG5cbiAgICB0aGlzLmluZm9XaW5kb3dTZXJ2aWNlLnNldE9wZW5NYXJrZXIoaW5kZXgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBXcmFwcGVyIG1ldGhvZCB0byBmaXJlIGNsaWNrIGV2ZW50IGZvciBuZXh0IHN0ZXAuXG4gICAqXG4gICAqIEBmdW5jdGlvbiBnb1RvTmV4dFN0ZXBcbiAgICogQGZ1bmMgZ29Ub05leHRTdGVwXG4gICAqIEBtZXRob2QgZ29Ub05leHRTdGVwXG4gICAqL1xuICBnb1RvTmV4dFN0ZXAoZSkge1xuICAgIHRoaXMubmV4dFN0ZXAuZW1pdChlKTtcbiAgfVxuXG4gIGhhbmRsZU9uQ2xpY2tSZW1vdmVUYXNrKHRhc2spIHtcbiAgICB0aGlzLnJlbW92ZVRhc2suZW1pdCh0YXNrKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImN1c3RvbWVyLXRpbGUtd3JhcHBlclwiPlxuICA8ZGl2IGNsYXNzPVwiY3VzdG9tZXItdGlsZS1wcmltYXJ5LWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJjdXN0b21lci10aWxlLXByaW1hcnktY29udGFpbmVyLWRhdGFcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21lci5reWNDb21wbGV0ZVwiPlxuICAgICAgICA8c3ZnLWt5Yy1zdWNjZXNzPjwvc3ZnLWt5Yy1zdWNjZXNzPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWN1c3RvbWVyLmt5Y0NvbXBsZXRlXCI+XG4gICAgICAgIDxzdmcta3ljLXBlbmRpbmc+PC9zdmcta3ljLXBlbmRpbmc+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b21lci10aWxlLXBydGltYXJ5LWNvbnRhaW5lci1uYW1lLXBob25lXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b21lci10aWxlLXByaW1hcnktY29udGFpbmVyLW5hbWVcIj5cbiAgICAgICAgICB7eyBjdXN0b21lci5leHRyYXMubmFtZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbWVyLXRpbGUtcHJpbWFyeS1jb250YWluZXItcGhvbmVcIj5cbiAgICAgICAgICB7eyBjdXN0b21lci5leHRyYXMucGhvbmUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8a3dpa3VpLWJ1dHRvbi1pY29uXG4gICAgICBbaWNvbl09XCJcbiAgICAgICAgaW5kZXggPT0gaW5mb1dpbmRvd1NlcnZpY2UuZ2V0T3Blbk1hcmtlcigpXG4gICAgICAgICAgPyAndHVpSWNvbkNoZXZyb25VcExhcmdlJ1xuICAgICAgICAgIDogJ3R1aUljb25DaGV2cm9uRG93bkxhcmdlJ1xuICAgICAgXCJcbiAgICAgIFtzaGFwZV09XCIncm91bmRlZCdcIlxuICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgc2l6ZT1cInNcIlxuICAgICAgKG9uQ2xpY2spPVwidGlsZUNsaWNrKClcIlxuICAgID48L2t3aWt1aS1idXR0b24taWNvbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBbbmdDbGFzc109XCJcbiAgICAgIGluZGV4ID09IGluZm9XaW5kb3dTZXJ2aWNlLmdldE9wZW5NYXJrZXIoKVxuICAgICAgICA/ICdjdXN0b21lci10aWxlLXNlY29uZGFyeS1jb250YWluZXInXG4gICAgICAgIDogJ2RhdGEtY29sbGFzcGVkJ1xuICAgIFwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tZXItdGlsZS1zZWNvbmRhcnktY29udGFpbmVyLWRhdGFcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b21lci10aWxlLXNlY29uZGFyeS1jb250YWluZXItYWRkcmVzc1wiPlxuICAgICAgICB7eyBjdXN0b21lci5leHRyYXMuYWRkcmVzcyB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImN1c3RvbWVyLXRpbGUtc2Vjb25kYXJ5LWNvbnRhaW5lci1hY3Rpb25zXCI+XG4gICAgICA8a3dpa3VpLWJ1dHRvbi1pY29uXG4gICAgICAgIFtpY29uXT1cIid0dWlJY29uVHJhc2gyJ1wiXG4gICAgICAgIFtzaGFwZV09XCIncm91bmRlZCdcIlxuICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlT25DbGlja1JlbW92ZVRhc2soY3VzdG9tZXIpXCJcbiAgICAgID48L2t3aWt1aS1idXR0b24taWNvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b21lci10aWxlLXNlY29uZGFyeS1jb250YWluZXItam91cm5leS1idXR0b25zXCI+XG4gICAgICAgIDxrd2lrdWktYnV0dG9uXG4gICAgICAgICAgbGFiZWw9XCJTaGFyZSBMaW5rXCJcbiAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgIHN0eWxlcz1cImZvbnQtc2l6ZTowLjdyZW07XCJcbiAgICAgICAgICAob25DbGljayk9XCJnb1RvTmV4dFN0ZXAoeyBjdXN0b21lcjogY3VzdG9tZXIsIHByb2Nlc3M6ICdzaGFyZScgfSlcIlxuICAgICAgICA+PC9rd2lrdWktYnV0dG9uPlxuICAgICAgICA8a3dpa3VpLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiIWN1c3RvbWVyLmt5Y0NvbXBsZXRlXCJcbiAgICAgICAgICBsYWJlbD1cIlN0YXJ0IEpvdXJuZXlcIlxuICAgICAgICAgIGFwcGVhcmFuY2U9XCJwcmltYXJ5XCJcbiAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgc3R5bGVzPVwiZm9udC1zaXplOjAuN3JlbTtcIlxuICAgICAgICAgIChvbkNsaWNrKT1cImdvVG9OZXh0U3RlcCh7IGN1c3RvbWVyOiBjdXN0b21lciwgcHJvY2VzczogJ2t5YycgfSlcIlxuICAgICAgICA+PC9rd2lrdWktYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItdGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy9jdXN0b21lci10aWxlL2N1c3RvbWVyLXRpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWFnZW50LWRhc2hib2FyZC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tZXItdGlsZS9jdXN0b21lci10aWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVN4RCxNQUFNLE9BQU8scUJBQXFCO0lBb0NoQzs7OztPQUlHO0lBQ0gsWUFDUyxVQUFzQixFQUN0QixpQkFBb0M7UUFEcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBMUM3Qzs7Ozs7O1dBTUc7UUFFSCxhQUFRLEdBQVEsRUFBRSxDQUFDO1FBRW5COzs7Ozs7V0FNRztRQUVILFVBQUssR0FBVyxTQUFTLENBQUM7UUFLMUI7Ozs7OztXQU1HO1FBRUgsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHOUIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFTN0IsQ0FBQztJQUlKOzs7OztPQUtHO0lBQ0gsUUFBUSxLQUFVLENBQUM7SUFFbkIsY0FBYyxDQUFDLFFBQVE7UUFDckIsT0FBTyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDeEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxzREFBc0Q7U0FDdkQ7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILFdBQVcsQ0FBQyxRQUFRLEVBQUUsS0FBSztRQUN6QixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFaEMsdUVBQXVFO1FBQ3ZFLGNBQWM7UUFDZCxXQUFXO1FBQ1gsS0FBSztRQUVMLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELFlBQVksQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELHVCQUF1QixDQUFDLElBQUk7UUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7c0lBakdVLHFCQUFxQjswSEFBckIscUJBQXFCLDRPQThDckIsYUFBYSxnRENsRTFCLDQxRUF1RUE7NEZEbkRhLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsU0FBUyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7aUJBQzlDO2lJQVVDLFFBQVE7c0JBRFAsS0FBSztnQkFXTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQVdOLFFBQVE7c0JBRFAsTUFBTTtnQkFJUCxVQUFVO3NCQURULE1BQU07Z0JBWW1CLFVBQVU7c0JBQW5DLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcEluZm9XaW5kb3cgfSBmcm9tICdAYW5ndWxhci9nb29nbGUtbWFwcyc7XG5pbXBvcnQgeyBJbmZvV2luZG93U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2luZm8td2luZG93LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21hcC5zZXJ2aWNlJztcbmltcG9ydCB7IGdldE9iamVjdFZhbHVlRnJvbVBhdGggfSBmcm9tICdrd2lraWQtdG9vbGtpdCc7XG5cbmRlY2xhcmUgY29uc3QgZ29vZ2xlOiBhbnk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N1c3RvbWVyLXRpbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tZXItdGlsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2N1c3RvbWVyLXRpbGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21lclRpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIERldGVybWluZXMgQ3VzdG9tZXIgRGF0YVxuICAgKlxuICAgKiBAZGVmYXVsdFxuICAgKiBge31gXG4gICAqL1xuICBASW5wdXQoKVxuICBjdXN0b21lcjogYW55ID0ge307XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBEZXRlcm1pbmVzIEluZGV4IG9mIEN1c3RvbWVyIERhdGEgaW4gQ3VzdG9tZXIgTGlzdFxuICAgKlxuICAgKiBAZGVmYXVsdFxuICAgKlxuICAgKi9cbiAgQElucHV0KClcbiAgaW5kZXg6IG51bWJlciA9IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICB0YXNrRGV0YWlsczogYW55O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogRW1pdHRlciB0byBlbWl0IG5leHQgU3RlcFxuICAgKlxuICAgKiBAZW1pdHMgS3dpa0lEQWdlbnREYXNoYm9hcmRDb21wb25lbnQjbmV4dFN0ZXBcbiAgICogQGZpcmVzIEt3aWtJREFnZW50RGFzaGJvYXJkQ29tcG9uZW50I25leHRTdGVwXG4gICAqL1xuICBAT3V0cHV0KClcbiAgbmV4dFN0ZXAgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlbW92ZVRhc2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogQGNvbnN0cnVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbWFwU2VydmljZTogTWFwU2VydmljZSxcbiAgICBwdWJsaWMgaW5mb1dpbmRvd1NlcnZpY2U6IEluZm9XaW5kb3dTZXJ2aWNlXG4gICkge31cblxuICBAVmlld0NoaWxkKE1hcEluZm9XaW5kb3cpIGluZm9XaW5kb3c6IE1hcEluZm9XaW5kb3c7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUbyBzZXQgR29vZ2xlIE1hcHMgQVBJIG9uIHNjcmlwdFxuICAgKlxuICAgKiBAbmdPbkluaXRcbiAgICovXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBnZXRUYXNrRGV0YWlscyh0YXNrRGF0YSkge1xuICAgIHJldHVybiBnZXRPYmplY3RWYWx1ZUZyb21QYXRoKHRoaXMuY3VzdG9tZXIsIHRhc2tEYXRhKTtcbiAgfVxuXG4gIHRpbGVDbGljaygpIHtcbiAgICBjb25zb2xlLmxvZygnVGlsZSBDbGljaycsIHRoaXMuaW5kZXgpO1xuICAgIGlmICh0aGlzLmluZGV4ID09IHRoaXMuaW5mb1dpbmRvd1NlcnZpY2UuZ2V0T3Blbk1hcmtlcigpKSB7XG4gICAgICB0aGlzLmluZm9XaW5kb3dTZXJ2aWNlLnNldE9wZW5NYXJrZXIobnVsbCk7XG4gICAgICAvL3RoaXMuaW5mb1dpbmRvd1NlcnZpY2UubGFzdEluZm9XaW5kb3dPcGVuZWQuY2xvc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaG93RGV0YWlscyh0aGlzLmN1c3RvbWVyLCB0aGlzLmluZGV4KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFdyYXBwZXIgbWV0aG9kIHRvIHNob3cgQ3VzdG9tZXIgSW5mbyBXaW5kb3dcbiAgICpcbiAgICogQGZ1bmN0aW9uIHNob3dEZXRhaWxzXG4gICAqIEBmdW5jIHNob3dEZXRhaWxzXG4gICAqIEBtZXRob2Qgc2hvd0RldGFpbHNcbiAgICovXG4gIHNob3dEZXRhaWxzKGN1c3RvbWVyLCBpbmRleCkge1xuICAgIGxldCBtYXJrZXJzID0gdGhpcy5tYXBTZXJ2aWNlLmdldE1hcmtlcnMoKTtcbiAgICBjb25zb2xlLmxvZygnTWFya2VycycsIG1hcmtlcnMpO1xuICAgIGxldCBtYXJrZXIgPSBtYXJrZXJzW2luZGV4ICsgMV07XG5cbiAgICAvLyBsZXQgeyBpbmZvd2luZG93IH0gPSB0aGlzLmluZm9XaW5kb3dTZXJ2aWNlLnNob3dDdXN0b21lckluZm9ybWF0aW9uKFxuICAgIC8vICAgY3VzdG9tZXIsXG4gICAgLy8gICBtYXJrZXJcbiAgICAvLyApO1xuXG4gICAgdGhpcy5pbmZvV2luZG93U2VydmljZS5zZXRPcGVuTWFya2VyKGluZGV4KTtcbiAgfVxuXG4gIGdvVG9OZXh0U3RlcChlKSB7XG4gICAgdGhpcy5uZXh0U3RlcC5lbWl0KGUpO1xuICB9XG5cbiAgaGFuZGxlT25DbGlja1JlbW92ZVRhc2sodGFzaykge1xuICAgIHRoaXMucmVtb3ZlVGFzay5lbWl0KHRhc2spO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY3VzdG9tZXItdGlsZS13cmFwcGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJjdXN0b21lci10aWxlLXByaW1hcnktY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImN1c3RvbWVyLXRpbGUtcHJpbWFyeS1jb250YWluZXItZGF0YVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbWVyLXRpbGUtcHJpbWFyeS1jb250YWluZXItdXNlcmlkXCI+XG4gICAgICAgIHt7IGN1c3RvbWVyLnVzZXJfaWQgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPHN0YXR1cy1waWxsIFtzdGF0dXNdPVwiY3VzdG9tZXIuc2Vzc2lvbl9zdGF0dXNcIj48L3N0YXR1cy1waWxsPlxuICAgIDwvZGl2PlxuICAgIDxrd2lrdWktYnV0dG9uLWljb25cbiAgICAgIFtpY29uXT1cIlxuICAgICAgICBpbmRleCA9PSBpbmZvV2luZG93U2VydmljZS5nZXRPcGVuTWFya2VyKClcbiAgICAgICAgICA/ICd0dWlJY29uQ2hldnJvblVwTGFyZ2UnXG4gICAgICAgICAgOiAndHVpSWNvbkNoZXZyb25Eb3duTGFyZ2UnXG4gICAgICBcIlxuICAgICAgW3NoYXBlXT1cIidyb3VuZGVkJ1wiXG4gICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICBzaXplPVwic1wiXG4gICAgICAob25DbGljayk9XCJ0aWxlQ2xpY2soKVwiXG4gICAgPjwva3dpa3VpLWJ1dHRvbi1pY29uPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgaW5kZXggPT0gaW5mb1dpbmRvd1NlcnZpY2UuZ2V0T3Blbk1hcmtlcigpXG4gICAgICAgID8gJ2N1c3RvbWVyLXRpbGUtc2Vjb25kYXJ5LWNvbnRhaW5lcidcbiAgICAgICAgOiAnZGF0YS1jb2xsYXNwZWQnXG4gICAgXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJjdXN0b21lci10aWxlLXNlY29uZGFyeS1jb250YWluZXItZGF0YVwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgdGFza0RhdGEgb2YgdGhpcy50YXNrRGV0YWlsc1wiXG4gICAgICAgIGNsYXNzPVwiY3VzdG9tZXItdGlsZS1zZWNvbmRhcnktY29udGFpbmVyLWN1c3RvbS1kZXRhaWxzXCJcbiAgICAgID5cbiAgICAgICAge3sgZ2V0VGFza0RldGFpbHModGFza0RhdGEpIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tZXItdGlsZS1zZWNvbmRhcnktY29udGFpbmVyLWFjdGlvbnNcIj5cbiAgICAgIDxrd2lrdWktYnV0dG9uLWljb25cbiAgICAgICAgW2ljb25dPVwiJ3R1aUljb25UcmFzaDInXCJcbiAgICAgICAgW3NoYXBlXT1cIidyb3VuZGVkJ1wiXG4gICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAob25DbGljayk9XCJoYW5kbGVPbkNsaWNrUmVtb3ZlVGFzayhjdXN0b21lcilcIlxuICAgICAgPjwva3dpa3VpLWJ1dHRvbi1pY29uPlxuICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbWVyLXRpbGUtc2Vjb25kYXJ5LWNvbnRhaW5lci1qb3VybmV5LWJ1dHRvbnNcIj5cbiAgICAgICAgPGt3aWt1aS1idXR0b25cbiAgICAgICAgICBsYWJlbD1cIlNoYXJlIExpbmtcIlxuICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcbiAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgc3R5bGVzPVwiZm9udC1zaXplOjAuN3JlbTtcIlxuICAgICAgICAgIChvbkNsaWNrKT1cImdvVG9OZXh0U3RlcCh7IGN1c3RvbWVyOiBjdXN0b21lciwgcHJvY2VzczogJ3NoYXJlJyB9KVwiXG4gICAgICAgID48L2t3aWt1aS1idXR0b24+XG4gICAgICAgIDxrd2lrdWktYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJjdXN0b21lci5zZXNzaW9uX3N0YXR1cyAhPT0gJ2NvbXBsZXRlJ1wiXG4gICAgICAgICAgbGFiZWw9XCJFZGl0IEpvdXJuZXlcIlxuICAgICAgICAgIGFwcGVhcmFuY2U9XCJwcmltYXJ5XCJcbiAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgc3R5bGVzPVwiZm9udC1zaXplOjAuN3JlbTtcIlxuICAgICAgICAgIChvbkNsaWNrKT1cImdvVG9OZXh0U3RlcCh7IGN1c3RvbWVyOiBjdXN0b21lciwgcHJvY2VzczogJ2VkaXQnIH0pXCJcbiAgICAgICAgPjwva3dpa3VpLWJ1dHRvbj5cbiAgICAgICAgPGt3aWt1aS1idXR0b25cbiAgICAgICAgICAqbmdJZj1cImN1c3RvbWVyLnNlc3Npb25fc3RhdHVzID09ICcnXCJcbiAgICAgICAgICBsYWJlbD1cIlN0YXJ0IEpvdXJuZXlcIlxuICAgICAgICAgIGFwcGVhcmFuY2U9XCJwcmltYXJ5XCJcbiAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgc3R5bGVzPVwiZm9udC1zaXplOjAuN3JlbTtcIlxuICAgICAgICAgIChvbkNsaWNrKT1cImdvVG9OZXh0U3RlcCh7IGN1c3RvbWVyOiBjdXN0b21lciwgcHJvY2VzczogJ2t5YycgfSlcIlxuICAgICAgICA+PC9rd2lrdWktYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { EStatus } from './status-pill.definitions';
3
+ import { isEmptyValue } from 'kwikid-toolkit';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class StatusPillComponent {
7
+ ngOnInit() {
8
+ if (isEmptyValue(this.status)) {
9
+ this.status = EStatus.NOT_STARTED;
10
+ }
11
+ }
12
+ getStatusPillClass(status) {
13
+ let newStatus = status.replace(' ', '-');
14
+ return `status-pill ${newStatus}`;
15
+ }
16
+ }
17
+ /** @nocollapse */ StatusPillComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StatusPillComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
+ /** @nocollapse */ StatusPillComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: StatusPillComponent, selector: "status-pill", inputs: { status: "status" }, ngImport: i0, template: "<div [ngClass]=\"getStatusPillClass(status)\">{{status}}</div>\n", styles: [".status-pill{background-color:#555;padding:.1rem .5rem;border-radius:1rem;font-size:.7rem;color:#fff}.complete{background-color:var(--tui-positive)}.rejected{background-color:var(--tui-negative)}.auditing{background-color:var(--tui-primary)}.on-going{background-color:var(--tui-primary)}.after-audit{background-color:var(--tui-warning-fill);color:#222}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StatusPillComponent, decorators: [{
20
+ type: Component,
21
+ args: [{
22
+ selector: 'status-pill',
23
+ templateUrl: './status-pill.component.html',
24
+ styleUrls: ['./status-pill.component.css']
25
+ }]
26
+ }], propDecorators: { status: [{
27
+ type: Input
28
+ }] } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXBpbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWFnZW50LWRhc2hib2FyZC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tZXItdGlsZS9zdGF0dXMtcGlsbC9zdGF0dXMtcGlsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy9jdXN0b21lci10aWxlL3N0YXR1cy1waWxsL3N0YXR1cy1waWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQVcsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU85QyxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCLFFBQVE7UUFDTixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLE1BQU07UUFDdkIsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDeEMsT0FBTyxlQUFlLFNBQVMsRUFBRSxDQUFBO0lBQ25DLENBQUM7O29JQWJVLG1CQUFtQjt3SEFBbkIsbUJBQW1CLGlGQ1RoQyxrRUFDQTs0RkRRYSxtQkFBbUI7a0JBTC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFdBQVcsRUFBRSw4QkFBOEI7b0JBQzNDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2lCQUMzQzs4QkFHQyxNQUFNO3NCQURMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVTdGF0dXMsIFRTdGF0dXMgfSBmcm9tICcuL3N0YXR1cy1waWxsLmRlZmluaXRpb25zJztcbmltcG9ydCB7IGlzRW1wdHlWYWx1ZSB9IGZyb20gJ2t3aWtpZC10b29sa2l0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3RhdHVzLXBpbGwnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RhdHVzLXBpbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGF0dXMtcGlsbC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU3RhdHVzUGlsbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHN0YXR1czogVFN0YXR1cztcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoaXNFbXB0eVZhbHVlKHRoaXMuc3RhdHVzKSkge1xuICAgICAgdGhpcy5zdGF0dXMgPSBFU3RhdHVzLk5PVF9TVEFSVEVEO1xuICAgIH1cbiAgfVxuXG4gIGdldFN0YXR1c1BpbGxDbGFzcyhzdGF0dXMpe1xuICAgIGxldCBuZXdTdGF0dXMgPSBzdGF0dXMucmVwbGFjZSgnICcsICctJylcbiAgICByZXR1cm4gYHN0YXR1cy1waWxsICR7bmV3U3RhdHVzfWBcbiAgfVxuXG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cImdldFN0YXR1c1BpbGxDbGFzcyhzdGF0dXMpXCI+e3tzdGF0dXN9fTwvZGl2PlxuIl19
@@ -0,0 +1,18 @@
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 || (EStatus = {}));
10
+ export const VStatus = [
11
+ EStatus.NOT_STARTED,
12
+ EStatus.ON_GOING,
13
+ EStatus.AUDITING,
14
+ EStatus.REJECTED,
15
+ EStatus.AFTER_AUDIT,
16
+ EStatus.COMPLETE
17
+ ];
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLXBpbGwuZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvY29tcG9uZW50cy9jdXN0b21lci10aWxlL3N0YXR1cy1waWxsL3N0YXR1cy1waWxsLmRlZmluaXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLE9BT1g7QUFQRCxXQUFZLE9BQU87SUFDakIsc0NBQTJCLENBQUE7SUFDM0IsZ0NBQXFCLENBQUE7SUFDckIsZ0NBQXFCLENBQUE7SUFDckIsZ0NBQXFCLENBQUE7SUFDckIsc0NBQTJCLENBQUE7SUFDM0IsZ0NBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQVBXLE9BQU8sS0FBUCxPQUFPLFFBT2xCO0FBRUQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ3JCLE9BQU8sQ0FBQyxXQUFXO0lBQ25CLE9BQU8sQ0FBQyxRQUFRO0lBQ2hCLE9BQU8sQ0FBQyxRQUFRO0lBQ2hCLE9BQU8sQ0FBQyxRQUFRO0lBQ2hCLE9BQU8sQ0FBQyxXQUFXO0lBQ25CLE9BQU8sQ0FBQyxRQUFRO0NBQ1IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVTdGF0dXMge1xuICBOT1RfU1RBUlRFRCA9ICdub3Qgc3RhcnRlZCcsXG4gIE9OX0dPSU5HID0gJ29uIGdvaW5nJyxcbiAgQVVESVRJTkcgPSAnYXVkaXRpbmcnLFxuICBSRUpFQ1RFRCA9ICdyZWplY3RlZCcsXG4gIEFGVEVSX0FVRElUID0gJ2FmdGVyIGF1ZGl0JyxcbiAgQ09NUExFVEUgPSAnY29tcGxldGUnXG59XG5cbmV4cG9ydCBjb25zdCBWU3RhdHVzID0gW1xuICBFU3RhdHVzLk5PVF9TVEFSVEVELFxuICBFU3RhdHVzLk9OX0dPSU5HLFxuICBFU3RhdHVzLkFVRElUSU5HLFxuICBFU3RhdHVzLlJFSkVDVEVELFxuICBFU3RhdHVzLkFGVEVSX0FVRElULFxuICBFU3RhdHVzLkNPTVBMRVRFXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBUU3RhdHVzID0gdHlwZW9mIFZTdGF0dXNbbnVtYmVyXTtcbiJdfQ==