kwikid-agent-dashboard 0.0.39 → 0.0.41

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 (23) hide show
  1. package/bundles/kwikid-agent-dashboard.umd.js +224 -187
  2. package/bundles/kwikid-agent-dashboard.umd.js.map +1 -1
  3. package/esm2015/lib/kwikid-agent-dashboard.component.js +2 -2
  4. package/esm2015/lib/v1/components/customer-details/customer-details.component.js +30 -28
  5. package/esm2015/lib/v1/components/customer-list/customer-list.component.js +16 -15
  6. package/esm2015/lib/v1/components/customer-tile/customer-tile.component.js +26 -24
  7. package/esm2015/lib/v1/components/customer-tile/status-pill/status-pill.component.js +31 -26
  8. package/esm2015/lib/v1/components/customer-tile/status-pill/status-pill.constants.js +33 -0
  9. package/esm2015/lib/v1/kwikid-agent-dashboard.component.js +13 -10
  10. package/esm2015/lib/v1/services/agent.service.js +3 -11
  11. package/esm2015/lib/v1/services/google-maps.service.js +20 -14
  12. package/esm2015/lib/v1/services/open-street-maps.service.js +5 -5
  13. package/esm2015/lib/v2/kwikid-agent-dashboard.component.js +2 -11
  14. package/fesm2015/kwikid-agent-dashboard.js +166 -134
  15. package/fesm2015/kwikid-agent-dashboard.js.map +1 -1
  16. package/lib/v1/components/customer-details/customer-details.component.d.ts +1 -0
  17. package/lib/v1/components/customer-tile/customer-tile.component.d.ts +1 -0
  18. package/lib/v1/components/customer-tile/status-pill/status-pill.component.d.ts +8 -9
  19. package/lib/v1/components/customer-tile/status-pill/status-pill.constants.d.ts +32 -0
  20. package/lib/v1/kwikid-agent-dashboard.component.d.ts +3 -2
  21. package/lib/v1/services/agent.service.d.ts +0 -1
  22. package/lib/v1/services/google-maps.service.d.ts +1 -1
  23. package/package.json +3 -3
@@ -10,7 +10,7 @@ import { TuiDialogService, TuiRootModule, TuiDialogModule, TuiDropdownModule, Tu
10
10
  import { trigger, transition, style, animate } from '@angular/animations';
11
11
  import * as i8 from '@taiga-ui/addon-preview';
12
12
  import { TuiPreviewDialogService, TuiPreviewActionModule, TuiPreviewModule } from '@taiga-ui/addon-preview';
13
- import { logMethod, checkObjectPathExists, checkObjectKeyExists, convertSnakeCaseToNormalText, isNotEmptyValue, getObjectValueFromPath, isNotEmptyArray, isEmptyValue, RuleEngine, getObjectDeepCopy } from 'kwikid-toolkit';
13
+ import { logMethod, checkObjectPathExists, checkObjectKeyExists, convertSnakeCaseToNormalText, isNotEmptyValue, getObjectValueFromPath, isNotEmptyArray, RuleEngine, getObjectDeepCopy } from 'kwikid-toolkit';
14
14
  import * as i1$1 from '@taiga-ui/kit';
15
15
  import { TuiItemsWithMoreModule, TuiBadgeModule, TuiAccordionModule, TuiPaginationModule } from '@taiga-ui/kit';
16
16
  import * as i7 from '@angular/common';
@@ -1087,20 +1087,11 @@ class KwikIDAgentDashboardComponentV2 {
1087
1087
  this.onGetTaskList = new EventEmitter();
1088
1088
  this.onClickPerformAction = new EventEmitter();
1089
1089
  }
1090
- ngOnInit() {
1091
- console.log("Agent Dashboard Config", this.config);
1092
- console.log("User Config", this.userConfig);
1093
- console.log("Agent Info", this.agentInfo);
1094
- console.log("Tasks List", this.taskList);
1095
- }
1090
+ ngOnInit() { }
1096
1091
  ngOnChanges(changes) {
1097
1092
  const verifyChange = (key) => {
1098
1093
  return changes.hasOwnProperty(key) && !changes[key].firstChange;
1099
1094
  };
1100
- for (const change of Object.entries(changes)) {
1101
- const key = change[0];
1102
- const value = change[1].currentValue;
1103
- }
1104
1095
  if (verifyChange("taskList")) {
1105
1096
  this.taskList = changes.taskList.currentValue;
1106
1097
  }
@@ -1336,17 +1327,9 @@ class AgentService {
1336
1327
  toggleMapview() {
1337
1328
  this.showMapview = !this.showMapview;
1338
1329
  }
1339
- canStartJourney(status) {
1340
- var _a, _b;
1341
- const noneEditableStatus = (_b = (_a = this.config.dashboard) === null || _a === void 0 ? void 0 : _a.cannotStartJourney) !== null && _b !== void 0 ? _b : this.notRequiredStatus;
1342
- if (noneEditableStatus.includes(status)) {
1343
- return false;
1344
- }
1345
- return true;
1346
- }
1347
1330
  canPlotMarkers(status) {
1348
- var _a, _b;
1349
- const nonePlottingSessions = (_b = (_a = this.config.dashboard) === null || _a === void 0 ? void 0 : _a.dontPlotMarkers) !== null && _b !== void 0 ? _b : [];
1331
+ var _a, _b, _c;
1332
+ const nonePlottingSessions = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.extendedFlags) === null || _b === void 0 ? void 0 : _b.dontPlotMarkers) !== null && _c !== void 0 ? _c : [];
1350
1333
  if (nonePlottingSessions.includes(status)) {
1351
1334
  return false;
1352
1335
  }
@@ -1385,15 +1368,18 @@ class GoogleMapsService {
1385
1368
  // To Initialize Google Maps
1386
1369
  initializeMap() {
1387
1370
  return __awaiter(this, void 0, void 0, function* () {
1388
- this.myPosition = yield this.getPosition();
1389
- this.map = {
1390
- zoom: 10,
1391
- center: this.myPosition,
1392
- streetViewControl: false,
1393
- mapTypeControl: false,
1394
- fullscreenControl: false,
1395
- zoomControl: false
1396
- };
1371
+ return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
1372
+ this.myPosition = yield this.getPosition();
1373
+ this.map = {
1374
+ zoom: 10,
1375
+ center: this.myPosition,
1376
+ streetViewControl: false,
1377
+ mapTypeControl: false,
1378
+ fullscreenControl: false,
1379
+ zoomControl: false
1380
+ };
1381
+ resolve(true);
1382
+ }));
1397
1383
  });
1398
1384
  }
1399
1385
  // To extract Location from the Task Details
@@ -1403,17 +1389,17 @@ class GoogleMapsService {
1403
1389
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
1404
1390
  let encodedAddres;
1405
1391
  // If Fetch Address from Multiple Paths
1406
- if (checkObjectPathExists(this.agentService.config, "dashboard.taskLocationPaths")) {
1392
+ if (checkObjectPathExists(this.agentService.config, "extendedFlags.taskLocationPaths")) {
1407
1393
  // Get address string from multiple paths
1408
- const config = this.agentService.config.dashboard.taskLocationPaths;
1394
+ const config = this.agentService.config.extendedFlags.taskLocationPaths;
1409
1395
  const address = addressConcator(task, config);
1410
1396
  // Encode the Address in URI
1411
1397
  encodedAddres = encodeURI(address);
1412
1398
  }
1413
1399
  // If Fetch Address from Single Path
1414
- else if (checkObjectPathExists(this.agentService.config, "dashboard.taskLocationPath")) {
1400
+ else if (checkObjectPathExists(this.agentService.config, "extendedFlags.taskLocationPath")) {
1415
1401
  // Get Address from Single Path
1416
- const config = this.agentService.config.dashboard.taskLocationPath;
1402
+ const config = this.agentService.config.extendedFlags.taskLocationPath;
1417
1403
  const address = getObjectValueFromPath(task, config);
1418
1404
  // Encode the Address in URI
1419
1405
  encodedAddres = encodeURI(address);
@@ -1478,6 +1464,9 @@ class GoogleMapsService {
1478
1464
  // To Plot Directions for All Tasks
1479
1465
  plotDirectionsForAllTasks(tasks) {
1480
1466
  return __awaiter(this, void 0, void 0, function* () {
1467
+ if (!this.map || !this.myPosition) {
1468
+ return tasks;
1469
+ }
1481
1470
  this.allMarkers = [];
1482
1471
  // Create Agent Marker & Plot It.
1483
1472
  const myMarker = {
@@ -1581,17 +1570,17 @@ class OpenStreetMapsService {
1581
1570
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
1582
1571
  let encodedAddres;
1583
1572
  // If Fetch Address from Multiple Paths
1584
- if (checkObjectPathExists(this.agentService.config, "dashboard.taskLocationPaths")) {
1573
+ if (checkObjectPathExists(this.agentService.config, "extendedFlags.taskLocationPaths")) {
1585
1574
  // Get address string from multiple paths
1586
- const config = this.agentService.config.dashboard.taskLocationPaths;
1575
+ const config = this.agentService.config.extendedFlags.taskLocationPaths;
1587
1576
  const address = addressConcator(task, config);
1588
1577
  // Encode the Address in URI
1589
1578
  encodedAddres = encodeURI(address);
1590
1579
  }
1591
1580
  // If Fetch Address from Single Path
1592
- else if (checkObjectPathExists(this.agentService.config, "dashboard.taskLocationPath")) {
1581
+ else if (checkObjectPathExists(this.agentService.config, "extendedFlags.taskLocationPath")) {
1593
1582
  // Get Address from Single Path
1594
- const config = this.agentService.config.dashboard.taskLocationPath;
1583
+ const config = this.agentService.config.extendedFlags.taskLocationPath;
1595
1584
  const address = getObjectValueFromPath(task, config);
1596
1585
  // Encode the Address in URI
1597
1586
  encodedAddres = encodeURI(address);
@@ -1796,44 +1785,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1796
1785
  args: ["directionsRender"]
1797
1786
  }] } });
1798
1787
 
1788
+ const STATUS = {
1789
+ kyc_result_rejected: {
1790
+ color: "#eb3434",
1791
+ label: "KYC Result Rejected",
1792
+ background: "#ffd4da",
1793
+ hint: "KYC Result Rejected"
1794
+ },
1795
+ kyc_result_approved: {
1796
+ color: "#01663e",
1797
+ label: "KYC Result Approved",
1798
+ background: "#d7faee",
1799
+ hint: "KYC Result Approved"
1800
+ },
1801
+ kyc_result_partial_update: {
1802
+ color: "#023b57",
1803
+ label: "Partial Update",
1804
+ background: "#b5e0f5",
1805
+ hint: "Partial Update"
1806
+ },
1807
+ waiting: {
1808
+ color: "#000",
1809
+ label: "Waiting",
1810
+ background: "#f5ecb5",
1811
+ hint: "Waiting"
1812
+ }
1813
+ };
1814
+ const DEFAULT_STYLES = {
1815
+ color: "#fff",
1816
+ label: "Waiting",
1817
+ background: "#888",
1818
+ hint: "Waiting"
1819
+ };
1820
+
1799
1821
  class StatusPillComponent {
1800
1822
  constructor() {
1801
- this.status = EStatus.WAITING;
1802
- this.statusText = "";
1803
- this.statusClass = {};
1823
+ this.styles = {};
1824
+ this.value = "";
1804
1825
  }
1805
1826
  ngOnInit() {
1806
- this.parseStatus(this.status);
1827
+ return __awaiter(this, void 0, void 0, function* () {
1828
+ this.setupStatus();
1829
+ });
1807
1830
  }
1808
1831
  ngOnChanges(changes) {
1809
1832
  const verifyChange = (key) => {
1810
1833
  return changes.hasOwnProperty(key) && !changes[key].firstChange;
1811
1834
  };
1835
+ if (verifyChange("config")) {
1836
+ this.config = changes.config.currentValue;
1837
+ }
1812
1838
  if (verifyChange("status")) {
1813
1839
  this.status = changes.status.currentValue;
1814
- this.parseStatus(this.status);
1840
+ this.setupStatus();
1815
1841
  }
1816
1842
  }
1817
- parseStatus(status) {
1818
- if (isEmptyValue(status)) {
1819
- this.status = EStatus.WAITING;
1843
+ setupStatus() {
1844
+ var _a, _b;
1845
+ if (checkObjectPathExists(this.config, "mapping") &&
1846
+ checkObjectKeyExists(this.config.mapping, this.status)) {
1847
+ this.styles = Object.assign(Object.assign({}, DEFAULT_STYLES), this.config.mapping[this.status]);
1848
+ this.value =
1849
+ (_b = (_a = this.config.mapping[this.status]) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : convertSnakeCaseToNormalText(this.status);
1850
+ }
1851
+ else {
1852
+ this.styles = DEFAULT_STYLES;
1853
+ this.value = convertSnakeCaseToNormalText(this.status);
1820
1854
  }
1821
- this.statusText = this.getStatusLabel(status);
1822
- this.statusClass = this.getStatusPillClass(status);
1823
- }
1824
- getStatusPillClass(status) {
1825
- const newStatus = status
1826
- .replace("_", "-")
1827
- .replace("_", "-")
1828
- .replace("_", "-");
1829
- return `status-pill ${newStatus}`;
1830
- }
1831
- getStatusLabel(status) {
1832
- return status.replace("_", " ").replace("_", " ").replace("_", " ");
1833
1855
  }
1834
1856
  }
1835
1857
  /** @nocollapse */ StatusPillComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StatusPillComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1836
- /** @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: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
1858
+ /** @nocollapse */ StatusPillComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: StatusPillComponent, selector: "status-pill", inputs: { config: "config", status: "status" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"task-iem-status-container\"\n [style]=\"styles\"\n>\n {{ value }}\n</div>\n", styles: [".task-iem-status-container{width:-moz-fit-content;width:fit-content;padding:0 .4rem;font-size:.7rem;border-radius:1rem}\n"] });
1837
1859
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StatusPillComponent, decorators: [{
1838
1860
  type: Component,
1839
1861
  args: [{
@@ -1841,7 +1863,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1841
1863
  templateUrl: "./status-pill.component.html",
1842
1864
  styleUrls: ["./status-pill.component.css"]
1843
1865
  }]
1844
- }], propDecorators: { status: [{
1866
+ }], ctorParameters: function () { return []; }, propDecorators: { config: [{
1867
+ type: Input
1868
+ }], status: [{
1845
1869
  type: Input
1846
1870
  }] } });
1847
1871
 
@@ -1956,45 +1980,47 @@ class CustomerDetailsComponent {
1956
1980
  this.parseData();
1957
1981
  }
1958
1982
  }
1983
+ getValueFromArray(paths) {
1984
+ let data = "";
1985
+ // eslint-disable-next-line array-callback-return
1986
+ paths.map((path) => {
1987
+ const value = getObjectValueFromPath(this.customer, path);
1988
+ data = `${data} ${value}`;
1989
+ });
1990
+ return data;
1991
+ }
1959
1992
  parseData() {
1960
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
1961
- 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";
1993
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
1994
+ const identifier = (_a = this.config.taskUI.details.header.taskId.path) !== null && _a !== void 0 ? _a : "user_id";
1962
1995
  this.taskId = getObjectValueFromPath(this.customer, identifier);
1963
1996
  let detailsConfig = [];
1964
- if (checkObjectPathExists(this.config, "dashboard.viewTaskDetails") &&
1965
- isNotEmptyArray(this.config.dashboard.viewTaskDetails)) {
1966
- detailsConfig = this.config.dashboard.viewTaskDetails;
1967
- const data = [];
1968
- detailsConfig.map((field) => {
1969
- const value = getObjectValueFromPath(this.customer, field.value);
1970
- data.push({ label: field.label, value });
1971
- return true;
1972
- });
1973
- this.labelValuePairData = data;
1974
- }
1975
- else if (checkObjectPathExists(this.config, "dashboard.taskUI.details.data") &&
1976
- isNotEmptyArray(this.config.dashboard.taskUI.details.data)) {
1977
- detailsConfig = this.config.dashboard.taskUI.details.data;
1997
+ if (checkObjectPathExists(this.config, "taskUI.details.data") &&
1998
+ isNotEmptyArray(this.config.taskUI.details.data)) {
1978
1999
  const data = [];
2000
+ detailsConfig = this.config.taskUI.details.data;
1979
2001
  detailsConfig.map((field) => {
1980
- const value = getObjectValueFromPath(this.customer, field.path);
2002
+ let value;
2003
+ if (Array.isArray(field.path)) {
2004
+ value = this.getValueFromArray(field.path);
2005
+ }
2006
+ else {
2007
+ value = getObjectValueFromPath(this.customer, field.path);
2008
+ }
1981
2009
  data.push({ label: field.label, value });
1982
2010
  return true;
1983
2011
  });
1984
2012
  this.labelValuePairData = data;
1985
2013
  }
1986
- this.labelValuePairConfig =
1987
- (_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 : {};
1988
- this.title =
1989
- (_p = (_o = (_m = (_l = (_k = (_j = this.config) === null || _j === void 0 ? void 0 : _j.dashboard) === null || _k === void 0 ? void 0 : _k.taskUI) === null || _l === void 0 ? void 0 : _l.details) === null || _m === void 0 ? void 0 : _m.header) === null || _o === void 0 ? void 0 : _o.title) !== null && _p !== void 0 ? _p : this.title;
2014
+ this.labelValuePairConfig = (_e = (_d = (_c = (_b = this.config) === null || _b === void 0 ? void 0 : _b.taskUI) === null || _c === void 0 ? void 0 : _c.details) === null || _d === void 0 ? void 0 : _d.config) !== null && _e !== void 0 ? _e : {};
2015
+ this.title = (_k = (_j = (_h = (_g = (_f = this.config) === null || _f === void 0 ? void 0 : _f.taskUI) === null || _g === void 0 ? void 0 : _g.details) === null || _h === void 0 ? void 0 : _h.header) === null || _j === void 0 ? void 0 : _j.title) !== null && _k !== void 0 ? _k : this.title;
1990
2016
  }
1991
2017
  getTaskCreationTime(task) {
1992
- var _a;
1993
- if (checkObjectPathExists(this.agentService.config, "dashboard.taskCreationTimePath")) {
1994
- const time = getObjectValueFromPath(task, this.agentService.config.dashboard.taskCreationTimePath);
2018
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
2019
+ if ((_d = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.taskUI) === null || _b === void 0 ? void 0 : _b.details) === null || _c === void 0 ? void 0 : _c.time) === null || _d === void 0 ? void 0 : _d.path) {
2020
+ const time = getObjectValueFromPath(task, (_h = (_g = (_f = (_e = this.config) === null || _e === void 0 ? void 0 : _e.taskUI) === null || _f === void 0 ? void 0 : _f.details) === null || _g === void 0 ? void 0 : _g.time) === null || _h === void 0 ? void 0 : _h.path);
1995
2021
  return this.convertEpochToDate(time);
1996
2022
  }
1997
- return this.convertEpochToDate((_a = task === null || task === void 0 ? void 0 : task.task_creation_time) !== null && _a !== void 0 ? _a : task === null || task === void 0 ? void 0 : task.start_time);
2023
+ return this.convertEpochToDate((_j = task === null || task === void 0 ? void 0 : task.task_creation_time) !== null && _j !== void 0 ? _j : task === null || task === void 0 ? void 0 : task.start_time);
1998
2024
  }
1999
2025
  convertEpochToDate(epochTime) {
2000
2026
  if (typeof epochTime === "string")
@@ -2017,7 +2043,7 @@ class CustomerDetailsComponent {
2017
2043
  close() {
2018
2044
  var _a, _b;
2019
2045
  this.agentService.currentTaskDetails = undefined;
2020
- if (((_b = (_a = this.agentService.config) === null || _a === void 0 ? void 0 : _a.dashboard) === null || _b === void 0 ? void 0 : _b.mapType) === "google-maps") {
2046
+ if (((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.mapType) === "google-maps") {
2021
2047
  this.googleMapsService.plotDirectionsForSelectedTask(null);
2022
2048
  }
2023
2049
  else {
@@ -2032,7 +2058,7 @@ class CustomerDetailsComponent {
2032
2058
  }
2033
2059
  }
2034
2060
  /** @nocollapse */ CustomerDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomerDetailsComponent, deps: [{ token: AgentService }, { token: GoogleMapsService }, { token: OpenStreetMapsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2035
- /** @nocollapse */ CustomerDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomerDetailsComponent, selector: "customer-details", inputs: { customer: "customer", config: "config" }, outputs: { nextStep: "nextStep", removeTask: "removeTask", onClickPerformAction: "onClickPerformAction" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"customer-details-wrapper\">\n <div>\n <kwikui-button\n icon=\"tuiIconChevronLeft\"\n label=\"Back\"\n shape=\"rounded\"\n size=\"s\"\n (onClick)=\"close()\"\n ></kwikui-button>\n </div>\n <div class=\"customer-details-heading\">{{ title }}</div>\n <div class=\"customer-details-body\">\n <div class=\"customer-details-user-id\">\n {{ taskId }}\n\n <status-pill\n *ngIf=\"config?.dashboard?.isShowTaskStatus\"\n [status]=\"customer.session_status\"\n ></status-pill>\n </div>\n\n <div class=\"customer-details-table\">\n <kwikui-label-value-pair\n [config]=\"labelValuePairConfig\"\n [data]=\"labelValuePairData\"\n ></kwikui-label-value-pair>\n </div>\n\n <div\n class=\"customer-details-actions\"\n *ngIf=\"\n config?.dashboard?.taskUI?.details?.action &&\n config?.dashboard?.taskUI?.details?.action?.length > 0\n \"\n >\n <ng-container\n *ngFor=\"let action of config?.dashboard?.taskUI?.details?.action\"\n >\n <kwikid-action-button\n [action]=\"action\"\n [config]=\"config\"\n [customer]=\"customer\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></kwikid-action-button>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [".customer-details-wrapper{display:flex;flex-direction:column;align-items:stretch;overflow:auto;grid-gap:.5rem;gap:.5rem;padding:1.5rem;height:100%;width:100%}.customer-details-wrapper .customer-details-heading{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:1rem 0;font-size:1.5rem;font-weight:600}.customer-details-wrapper .customer-details-body{display:flex;flex-direction:column;font-size:1rem}.customer-details-wrapper .customer-details-body .customer-details-user-id{display:flex;flex-direction:row;grid-gap:.6rem;gap:.6rem;align-items:center;font-size:1.25rem;font-weight:500;padding:.5rem 0}.customer-details-wrapper .customer-details-body .customer-details-table{display:flex;grid-gap:.5rem;gap:.5rem;flex-direction:column}.customer-details-wrapper .customer-details-body .customer-details-table .customer-details-table-data .customer-details-table-detail-name{font-weight:500}.customer-details-wrapper .customer-details-body .customer-details-table .customer-details-table-data .customer-details-table-detail-value{word-wrap:break-word}.customer-details-wrapper .customer-details-body .customer-details-date{padding-top:1rem}.customer-details-wrapper .customer-details-body .customer-details-actions{padding:.5rem 0;display:flex;flex-wrap:wrap;align-items:center;flex-direction:row;justify-content:flex-start;grid-gap:.5rem;gap:.5rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: i1.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: StatusPillComponent, selector: "status-pill", inputs: ["status"] }, { type: i1.KwikUILabelValuePairComponent, selector: "kwikui-label-value-pair", inputs: ["config", "data", "id"] }, { type: ActionButtonComponent, selector: "kwikid-action-button", inputs: ["action", "config", "customer"], outputs: ["onClickPerformAction"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
2061
+ /** @nocollapse */ CustomerDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomerDetailsComponent, selector: "customer-details", inputs: { customer: "customer", config: "config" }, outputs: { nextStep: "nextStep", removeTask: "removeTask", onClickPerformAction: "onClickPerformAction" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"customer-details-wrapper\">\n <div>\n <kwikui-button\n icon=\"tuiIconChevronLeft\"\n label=\"Back\"\n shape=\"rounded\"\n size=\"s\"\n (onClick)=\"close()\"\n ></kwikui-button>\n </div>\n <div class=\"customer-details-heading\">{{ title }}</div>\n <div class=\"customer-details-body\">\n <div class=\"customer-details-user-id\">\n {{ taskId }}\n\n <status-pill\n *ngIf=\"config?.utilityFlags?.isShowTaskStatus\"\n [config]=\"config?.taskUI?.details?.header?.taskStatus\"\n [status]=\"\n customer[\n config?.taskUI?.details?.header?.taskStatus?.path ??\n 'session_status'\n ]\n \"\n ></status-pill>\n </div>\n\n <div class=\"customer-details-table\">\n <kwikui-label-value-pair\n [config]=\"labelValuePairConfig\"\n [data]=\"labelValuePairData\"\n ></kwikui-label-value-pair>\n </div>\n\n <div\n class=\"customer-details-actions\"\n *ngIf=\"\n config?.taskUI?.details?.action &&\n config?.taskUI?.details?.action?.length > 0\n \"\n >\n <ng-container *ngFor=\"let action of config?.taskUI?.details?.action\">\n <kwikid-action-button\n [action]=\"action\"\n [config]=\"config\"\n [customer]=\"customer\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></kwikid-action-button>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [".customer-details-wrapper{display:flex;flex-direction:column;align-items:stretch;overflow:auto;grid-gap:.5rem;gap:.5rem;padding:1.5rem;height:100%;width:100%}.customer-details-wrapper .customer-details-heading{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:1rem 0;font-size:1.5rem;font-weight:600}.customer-details-wrapper .customer-details-body{display:flex;flex-direction:column;font-size:1rem}.customer-details-wrapper .customer-details-body .customer-details-user-id{display:flex;flex-direction:row;grid-gap:.6rem;gap:.6rem;align-items:center;font-size:1.25rem;font-weight:500;padding:.5rem 0}.customer-details-wrapper .customer-details-body .customer-details-table{display:flex;grid-gap:.5rem;gap:.5rem;flex-direction:column}.customer-details-wrapper .customer-details-body .customer-details-table .customer-details-table-data .customer-details-table-detail-name{font-weight:500}.customer-details-wrapper .customer-details-body .customer-details-table .customer-details-table-data .customer-details-table-detail-value{word-wrap:break-word}.customer-details-wrapper .customer-details-body .customer-details-date{padding-top:1rem}.customer-details-wrapper .customer-details-body .customer-details-actions{padding:.5rem 0;display:flex;flex-wrap:wrap;align-items:center;flex-direction:row;justify-content:flex-start;grid-gap:.5rem;gap:.5rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: i1.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: StatusPillComponent, selector: "status-pill", inputs: ["config", "status"] }, { type: i1.KwikUILabelValuePairComponent, selector: "kwikui-label-value-pair", inputs: ["config", "data", "id"] }, { type: ActionButtonComponent, selector: "kwikid-action-button", inputs: ["action", "config", "customer"], outputs: ["onClickPerformAction"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
2036
2062
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomerDetailsComponent, decorators: [{
2037
2063
  type: Component,
2038
2064
  args: [{
@@ -2053,6 +2079,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2053
2079
  type: Output
2054
2080
  }] } });
2055
2081
 
2082
+ /* eslint-disable no-prototype-builtins */
2056
2083
  class CustomerTileComponent {
2057
2084
  constructor(googleMapsService, openStreetMapsService, agentService, hostElement) {
2058
2085
  this.googleMapsService = googleMapsService;
@@ -2090,37 +2117,38 @@ class CustomerTileComponent {
2090
2117
  this.parseData();
2091
2118
  }
2092
2119
  }
2120
+ getValueFromArray(paths) {
2121
+ let data = "";
2122
+ // eslint-disable-next-line array-callback-return
2123
+ paths.map((path) => {
2124
+ const value = getObjectValueFromPath(this.customer, path);
2125
+ data = `${data} ${value}`;
2126
+ });
2127
+ return data;
2128
+ }
2093
2129
  parseData() {
2094
- var _a, _b, _c, _d, _e, _f, _g, _h;
2095
- 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";
2130
+ var _a, _b, _c, _d, _e, _f;
2131
+ const identifier = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.taskIdentifier) !== null && _b !== void 0 ? _b : "user_id";
2096
2132
  this.taskId = getObjectValueFromPath(this.customer, identifier);
2097
2133
  let detailsConfig = [];
2098
- if (checkObjectPathExists(this.config, "dashboard.viewTaskDetails") &&
2099
- isNotEmptyArray(this.config.dashboard.viewTaskDetails)) {
2100
- detailsConfig = this.config.dashboard.viewTaskDetails;
2101
- const data = [];
2102
- detailsConfig.map((field) => {
2103
- console.log("vvvvv", field);
2104
- const value = getObjectValueFromPath(this.customer, field.value);
2105
- data.push({ label: field.label, value });
2106
- return true;
2107
- });
2108
- this.labelValuePairData = data;
2109
- }
2110
- else if (checkObjectPathExists(this.config, "dashboard.taskUI.details.data") &&
2111
- isNotEmptyArray(this.config.dashboard.taskUI.details.data)) {
2112
- detailsConfig = this.config.dashboard.taskUI.details.data;
2134
+ if (checkObjectPathExists(this.config, "taskUI.details.data") &&
2135
+ isNotEmptyArray(this.config.taskUI.details.data)) {
2113
2136
  const data = [];
2137
+ detailsConfig = this.config.taskUI.details.data;
2114
2138
  detailsConfig.map((field) => {
2115
- const value = getObjectValueFromPath(this.customer, field.path);
2139
+ let value;
2140
+ if (Array.isArray(field.path)) {
2141
+ value = this.getValueFromArray(field.path);
2142
+ }
2143
+ else {
2144
+ value = getObjectValueFromPath(this.customer, field.path);
2145
+ }
2116
2146
  data.push({ label: field.label, value });
2117
2147
  return true;
2118
2148
  });
2119
2149
  this.labelValuePairData = data;
2120
2150
  }
2121
- console.log("DATA", this.labelValuePairData);
2122
- this.labelValuePairConfig =
2123
- (_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 : {};
2151
+ this.labelValuePairConfig = (_f = (_e = (_d = (_c = this.config) === null || _c === void 0 ? void 0 : _c.taskUI) === null || _d === void 0 ? void 0 : _d.details) === null || _e === void 0 ? void 0 : _e.config) !== null && _f !== void 0 ? _f : {};
2124
2152
  }
2125
2153
  openDetails() {
2126
2154
  var _a, _b, _c, _d;
@@ -2133,7 +2161,7 @@ class CustomerTileComponent {
2133
2161
  this.agentService.currentTaskDetails = undefined;
2134
2162
  }
2135
2163
  if (this.agentService.showMapview) {
2136
- if (((_d = (_c = this.agentService.config) === null || _c === void 0 ? void 0 : _c.dashboard) === null || _d === void 0 ? void 0 : _d.mapType) === "google-maps") {
2164
+ if (((_d = (_c = this.agentService.config) === null || _c === void 0 ? void 0 : _c.maps) === null || _d === void 0 ? void 0 : _d.mapType) === "google-maps") {
2137
2165
  this.googleMapsService.plotDirectionsForSelectedTask(this.agentService.currentTaskDetails);
2138
2166
  }
2139
2167
  else {
@@ -2155,7 +2183,7 @@ class CustomerTileComponent {
2155
2183
  }
2156
2184
  }
2157
2185
  /** @nocollapse */ CustomerTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomerTileComponent, deps: [{ token: GoogleMapsService }, { token: OpenStreetMapsService }, { token: AgentService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
2158
- /** @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: StatusPillComponent, selector: "status-pill", inputs: ["status"] }, { type: i1.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i1.KwikUILabelValuePairComponent, selector: "kwikui-label-value-pair", inputs: ["config", "data", "id"] }, { type: 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"] }] });
2186
+ /** @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?.utilityFlags?.isShowTaskStatus\"\n [config]=\"config?.taskUI?.header?.taskStatus\"\n [status]=\"\n customer[config?.taskUI?.header?.taskStatus?.path ?? 'session_status']\n \"\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?.maps?.sho &&\n agentService.config?.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 *ngFor=\"let action of config?.taskUI?.details?.action\">\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?.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?.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?.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?.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: StatusPillComponent, selector: "status-pill", inputs: ["config", "status"] }, { type: i1.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i1.KwikUILabelValuePairComponent, selector: "kwikui-label-value-pair", inputs: ["config", "data", "id"] }, { type: 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"] }] });
2159
2187
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomerTileComponent, decorators: [{
2160
2188
  type: Component,
2161
2189
  args: [{
@@ -2275,14 +2303,14 @@ class CustomerListComponent {
2275
2303
  }
2276
2304
  }
2277
2305
  handleInitialDateRange() {
2278
- var _a, _b, _c, _d, _e;
2279
- const searchDateStart = (_b = (_a = this.config.dashboard) === null || _a === void 0 ? void 0 : _a.searchDateStart) !== null && _b !== void 0 ? _b : {
2306
+ var _a, _b, _c, _d, _e, _f;
2307
+ const searchFilterStartPoint = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.extendedFlags) === null || _b === void 0 ? void 0 : _b.searchFilterStartPoint) !== null && _c !== void 0 ? _c : {
2280
2308
  day: 0,
2281
2309
  month: 0,
2282
2310
  year: 0
2283
2311
  };
2284
2312
  const currentDate = new Date();
2285
- const startDate = new Date((_c = currentDate.getFullYear() - (searchDateStart === null || searchDateStart === void 0 ? void 0 : searchDateStart.year)) !== null && _c !== void 0 ? _c : 0, (_d = currentDate.getMonth() - (searchDateStart === null || searchDateStart === void 0 ? void 0 : searchDateStart.month)) !== null && _d !== void 0 ? _d : 0, (_e = currentDate.getDate() - (searchDateStart === null || searchDateStart === void 0 ? void 0 : searchDateStart.day)) !== null && _e !== void 0 ? _e : 0);
2313
+ const startDate = new Date((_d = currentDate.getFullYear() - (searchFilterStartPoint === null || searchFilterStartPoint === void 0 ? void 0 : searchFilterStartPoint.year)) !== null && _d !== void 0 ? _d : 0, (_e = currentDate.getMonth() - (searchFilterStartPoint === null || searchFilterStartPoint === void 0 ? void 0 : searchFilterStartPoint.month)) !== null && _e !== void 0 ? _e : 0, (_f = currentDate.getDate() - (searchFilterStartPoint === null || searchFilterStartPoint === void 0 ? void 0 : searchFilterStartPoint.day)) !== null && _f !== void 0 ? _f : 0);
2286
2314
  this.fromDate = convertNormalDateToStringFormat(startDate);
2287
2315
  this.toDate = convertNormalDateToStringFormat(null);
2288
2316
  this.searchDateFormControl = new FormControl({
@@ -2301,10 +2329,10 @@ class CustomerListComponent {
2301
2329
  (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.extendedFlags) === null || _b === void 0 ? void 0 : _b.sortFilterKeys) !== null && _c !== void 0 ? _c : this.sortFilterOptions;
2302
2330
  }
2303
2331
  setUpMaps() {
2304
- var _a, _b;
2332
+ var _a, _b, _c, _d;
2305
2333
  return __awaiter(this, void 0, void 0, function* () {
2306
- if ((_a = this.config.dashboard) === null || _a === void 0 ? void 0 : _a.isShowMaps) {
2307
- if (((_b = this.config.dashboard) === null || _b === void 0 ? void 0 : _b.mapType) === "open-street") {
2334
+ if ((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.isShowMaps) {
2335
+ if (((_d = (_c = this.config) === null || _c === void 0 ? void 0 : _c.maps) === null || _d === void 0 ? void 0 : _d.mapType) === "open-street") {
2308
2336
  yield this.openStreetMapsService.initializeMap();
2309
2337
  }
2310
2338
  else {
@@ -2314,9 +2342,9 @@ class CustomerListComponent {
2314
2342
  });
2315
2343
  }
2316
2344
  setCustomersList() {
2317
- var _a;
2345
+ var _a, _b;
2318
2346
  return __awaiter(this, void 0, void 0, function* () {
2319
- if ((_a = this.config.dashboard) === null || _a === void 0 ? void 0 : _a.isShowMaps) {
2347
+ if ((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.isShowMaps) {
2320
2348
  this.filteredData = yield this.plotMarkers(this.customers);
2321
2349
  }
2322
2350
  else {
@@ -2325,8 +2353,9 @@ class CustomerListComponent {
2325
2353
  });
2326
2354
  }
2327
2355
  ngAfterViewInit() {
2328
- var _a, _b;
2329
- this.maxLength = (_b = (_a = this.config.dashboard) === null || _a === void 0 ? void 0 : _a.searchDateRange) !== null && _b !== void 0 ? _b : this.maxLength;
2356
+ var _a, _b, _c;
2357
+ this.maxLength =
2358
+ (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.extendedFlags) === null || _b === void 0 ? void 0 : _b.searchFilterThreshold) !== null && _c !== void 0 ? _c : this.maxLength;
2330
2359
  setTimeout(() => __awaiter(this, void 0, void 0, function* () {
2331
2360
  yield this.setUpMaps();
2332
2361
  yield this.setCustomersList();
@@ -2341,14 +2370,14 @@ class CustomerListComponent {
2341
2370
  this.nextStep.emit(e);
2342
2371
  }
2343
2372
  plotMarkers(customers) {
2344
- var _a, _b;
2373
+ var _a, _b, _c, _d;
2345
2374
  return __awaiter(this, void 0, void 0, function* () {
2346
- if (!((_a = this.config.dashboard) === null || _a === void 0 ? void 0 : _a.isPlotCompletedTaskMarkers)) {
2375
+ if (!((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.utilityFlags) === null || _b === void 0 ? void 0 : _b.isPlotCompletedTaskMarkers)) {
2347
2376
  customers = customers.filter((customer) => {
2348
2377
  return this.agentService.canPlotMarkers(customer.session_status);
2349
2378
  });
2350
2379
  }
2351
- if (((_b = this.config.dashboard) === null || _b === void 0 ? void 0 : _b.mapType) === "open-street") {
2380
+ if (((_d = (_c = this.config) === null || _c === void 0 ? void 0 : _c.maps) === null || _d === void 0 ? void 0 : _d.mapType) === "open-street") {
2352
2381
  customers =
2353
2382
  yield this.openStreetMapsService.plotDirectionsForAllTasks(customers);
2354
2383
  }
@@ -2401,7 +2430,7 @@ class CustomerListComponent {
2401
2430
  }
2402
2431
  }
2403
2432
  /** @nocollapse */ CustomerListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomerListComponent, deps: [{ token: GoogleMapsService }, { token: OpenStreetMapsService }, { token: AgentService }], target: i0.ɵɵFactoryTarget.Component });
2404
- /** @nocollapse */ CustomerListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomerListComponent, selector: "customer-list", inputs: { customers: "customers", config: "config" }, outputs: { nextStep: "nextStep", removeTask: "removeTask", filterTaskList: "filterTaskList", onClickPerformAction: "onClickPerformAction" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"customer-list-wrapper\">\n <div\n class=\"customer-list-filter\"\n [formGroup]=\"formGroup\"\n >\n <div class=\"task-list-search-icons\">\n <kwikui-button\n appearance=\"mono\"\n icon=\"tuiIconSearchLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('search-text')\"\n ></kwikui-button>\n <kwikui-button\n appearance=\"mono\"\n icon=\"tuiIconCalendarLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('search-date')\"\n ></kwikui-button>\n <kwikui-button\n appearance=\"mono\"\n icon=\"tuiIconFilterLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('sort-filter')\"\n ></kwikui-button>\n </div>\n\n <div\n class=\"task-list-search-action\"\n *ngIf=\"activeSearchAction\"\n >\n <kwikui-input-date-range\n *ngIf=\"activeSearchAction == 'search-date'\"\n class=\"task-list-date-box\"\n label=\"Search by Date Range\"\n id=\"dateRange\"\n size=\"m\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n formControlName=\"search-date\"\n [formControl]=\"searchDateFormControl\"\n (getKeyValue)=\"handleOnChangeDateRange($event)\"\n ></kwikui-input-date-range>\n\n <kwikui-input\n *ngIf=\"activeSearchAction == 'search-text'\"\n label=\"Search\"\n id=\"search\"\n icon=\"tuiIconSearch\"\n placeholder=\"Search any task from here\"\n size=\"m\"\n [formControl]=\"searchTextFormControl\"\n formControlName=\"search-text\"\n (getKeyValue)=\"handleOnChangeSearchText($event)\"\n ></kwikui-input>\n\n <div\n *ngIf=\"activeSearchAction == 'sort-filter'\"\n class=\"task-list-sort-action\"\n >\n <kwikui-button\n appearance=\"outline\"\n [icon]=\"\n sortInAscendingOrder\n ? 'tuiIconChevronsUpLarge'\n : 'tuiIconChevronsDownLarge'\n \"\n size=\"m\"\n type=\"button\"\n (onClick)=\"handleOnClickChangeSortOrder()\"\n ></kwikui-button>\n <kwikui-input-select\n class=\"task-list-sort-key\"\n formControlName=\"sort-filter\"\n label=\"Sort By Key\"\n size=\"m\"\n [formControl]=\"sortFilterKeyFormControl\"\n [options]=\"sortFilterOptions\"\n [searchable]=\"false\"\n (getKeyValue)=\"handleOnChangeSortFilter($event)\"\n ></kwikui-input-select>\n </div>\n </div>\n </div>\n\n <div class=\"customer-task-list\">\n <cdk-virtual-scroll-viewport\n itemSize=\"1\"\n class=\"customer-task-list-scroll\"\n >\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 [config]=\"config\"\n [index]=\"index\"\n (nextStep)=\"handleOnClickNext($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></customer-tile>\n </div>\n </cdk-virtual-scroll-viewport>\n </div>\n\n <div\n class=\"customer-list-empty\"\n *ngIf=\"filteredData.length === 0\"\n >\n {{\n config?.dashboard?.emptyTaskListMessage ?? \"0 Tasks for the given Date.\"\n }}\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-filter .task-list-search-icons{display:flex;justify-content:flex-end;align-items:center;flex-direction:row;grid-gap:.5rem;gap:.5rem}.customer-list-filter .task-list-search-action{margin-top:.5rem}.customer-list-filter .task-list-search-action .task-list-sort-action{display:flex;flex-direction:row;grid-gap:.5rem;gap:.5rem}.customer-list-filter .task-list-search-action .task-list-sort-action .task-list-sort-key{flex:1}.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: i1.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i1.KwikUIInputDateRangeComponent, selector: "kwikui-input-date-range", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "max", "maxLength", "min", "minLength", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i1.KwikUIInputComponent, selector: "kwikui-input", inputs: ["case", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "type", "validators"], outputs: ["getKeyValue"] }, { type: i1.KwikUIInputSelectComponent, selector: "kwikui-input-select", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "options", "placeholder", "properties", "searchable", "size", "validators"], outputs: ["getKeyValue"] }, { type: i5.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { type: CustomerTileComponent, selector: "customer-tile", inputs: ["customer", "index", "config"], outputs: ["onClickPerformAction", "nextStep", "removeTask"] }], directives: [{ type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { type: i5.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }], pipes: { "filter": Ng2SearchPipe$1 } });
2433
+ /** @nocollapse */ CustomerListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomerListComponent, selector: "customer-list", inputs: { customers: "customers", config: "config" }, outputs: { nextStep: "nextStep", removeTask: "removeTask", filterTaskList: "filterTaskList", onClickPerformAction: "onClickPerformAction" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"customer-list-wrapper\">\n <div\n class=\"customer-list-filter\"\n [formGroup]=\"formGroup\"\n >\n <div class=\"task-list-search-icons\">\n <kwikui-button\n appearance=\"mono\"\n icon=\"tuiIconSearchLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('search-text')\"\n ></kwikui-button>\n <kwikui-button\n appearance=\"mono\"\n icon=\"tuiIconCalendarLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('search-date')\"\n ></kwikui-button>\n <kwikui-button\n appearance=\"mono\"\n icon=\"tuiIconFilterLarge\"\n size=\"s\"\n type=\"button\"\n (onClick)=\"handleOnClickSearchType('sort-filter')\"\n ></kwikui-button>\n </div>\n\n <div\n class=\"task-list-search-action\"\n *ngIf=\"activeSearchAction\"\n >\n <kwikui-input-date-range\n *ngIf=\"activeSearchAction == 'search-date'\"\n class=\"task-list-date-box\"\n label=\"Search by Date Range\"\n id=\"dateRange\"\n size=\"m\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n formControlName=\"search-date\"\n [formControl]=\"searchDateFormControl\"\n (getKeyValue)=\"handleOnChangeDateRange($event)\"\n ></kwikui-input-date-range>\n\n <kwikui-input\n *ngIf=\"activeSearchAction == 'search-text'\"\n label=\"Search\"\n id=\"search\"\n icon=\"tuiIconSearch\"\n placeholder=\"Search any task from here\"\n size=\"m\"\n [formControl]=\"searchTextFormControl\"\n formControlName=\"search-text\"\n (getKeyValue)=\"handleOnChangeSearchText($event)\"\n ></kwikui-input>\n\n <div\n *ngIf=\"activeSearchAction == 'sort-filter'\"\n class=\"task-list-sort-action\"\n >\n <kwikui-button\n appearance=\"outline\"\n [icon]=\"\n sortInAscendingOrder\n ? 'tuiIconChevronsUpLarge'\n : 'tuiIconChevronsDownLarge'\n \"\n size=\"m\"\n type=\"button\"\n (onClick)=\"handleOnClickChangeSortOrder()\"\n ></kwikui-button>\n <kwikui-input-select\n class=\"task-list-sort-key\"\n formControlName=\"sort-filter\"\n label=\"Sort By Key\"\n size=\"m\"\n [formControl]=\"sortFilterKeyFormControl\"\n [options]=\"sortFilterOptions\"\n [searchable]=\"false\"\n (getKeyValue)=\"handleOnChangeSortFilter($event)\"\n ></kwikui-input-select>\n </div>\n </div>\n </div>\n\n <div class=\"customer-task-list\">\n <cdk-virtual-scroll-viewport\n itemSize=\"1\"\n class=\"customer-task-list-scroll\"\n >\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 [config]=\"config\"\n [index]=\"index\"\n (nextStep)=\"handleOnClickNext($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></customer-tile>\n </div>\n </cdk-virtual-scroll-viewport>\n </div>\n\n <div\n class=\"customer-list-empty\"\n *ngIf=\"filteredData.length === 0\"\n >\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-filter .task-list-search-icons{display:flex;justify-content:flex-end;align-items:center;flex-direction:row;grid-gap:.5rem;gap:.5rem}.customer-list-filter .task-list-search-action{margin-top:.5rem}.customer-list-filter .task-list-search-action .task-list-sort-action{display:flex;flex-direction:row;grid-gap:.5rem;gap:.5rem}.customer-list-filter .task-list-search-action .task-list-sort-action .task-list-sort-key{flex:1}.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: i1.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i1.KwikUIInputDateRangeComponent, selector: "kwikui-input-date-range", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "max", "maxLength", "min", "minLength", "placeholder", "postfix", "prefix", "properties", "size", "validators"], outputs: ["getKeyValue"] }, { type: i1.KwikUIInputComponent, selector: "kwikui-input", inputs: ["case", "disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "placeholder", "postfix", "prefix", "properties", "size", "type", "validators"], outputs: ["getKeyValue"] }, { type: i1.KwikUIInputSelectComponent, selector: "kwikui-input-select", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "options", "placeholder", "properties", "searchable", "size", "validators"], outputs: ["getKeyValue"] }, { type: i5.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { type: CustomerTileComponent, selector: "customer-tile", inputs: ["customer", "index", "config"], outputs: ["onClickPerformAction", "nextStep", "removeTask"] }], directives: [{ type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { type: i5.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }], pipes: { "filter": Ng2SearchPipe$1 } });
2405
2434
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CustomerListComponent, decorators: [{
2406
2435
  type: Component,
2407
2436
  args: [{
@@ -2430,7 +2459,9 @@ class KwikIDAgentDashboardComponentV1 {
2430
2459
  this.httpClient = httpClient;
2431
2460
  this.hostElement = hostElement;
2432
2461
  this.dialogService = dialogService;
2462
+ this.agentInfo = {};
2433
2463
  this.config = {};
2464
+ this.userConfig = {};
2434
2465
  this.taskList = [];
2435
2466
  this.nextStep = new EventEmitter();
2436
2467
  this.addTask = new EventEmitter();
@@ -2438,7 +2469,6 @@ class KwikIDAgentDashboardComponentV1 {
2438
2469
  this.filterTaskList = new EventEmitter();
2439
2470
  this.onClickPerformAction = new EventEmitter();
2440
2471
  this.loading = true;
2441
- this.console = console;
2442
2472
  this.open = false;
2443
2473
  this.allFormsData = {};
2444
2474
  this.String = String;
@@ -2454,15 +2484,13 @@ class KwikIDAgentDashboardComponentV1 {
2454
2484
  }
2455
2485
  }
2456
2486
  ngOnInit() {
2457
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
2487
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
2458
2488
  return __awaiter(this, void 0, void 0, function* () {
2459
2489
  this.agentService.config = this.config;
2460
- 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;
2461
- this.agentService.addTaskForm =
2462
- (_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;
2463
- if (((_h = (_g = this.config) === null || _g === void 0 ? void 0 : _g.dashboard) === null || _h === void 0 ? void 0 : _h.mapType) === "google-maps" &&
2464
- isNotEmptyValue((_k = (_j = this.config) === null || _j === void 0 ? void 0 : _j.dashboard) === null || _k === void 0 ? void 0 : _k.googleMapsAPIKey)) {
2465
- this.loadMaps((_m = (_l = this.config) === null || _l === void 0 ? void 0 : _l.dashboard) === null || _m === void 0 ? void 0 : _m.googleMapsAPIKey).subscribe((loaded) => {
2490
+ this.agentService.showMapview = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.isShowMaps) !== null && _c !== void 0 ? _c : false;
2491
+ if (((_e = (_d = this.config) === null || _d === void 0 ? void 0 : _d.maps) === null || _e === void 0 ? void 0 : _e.mapType) === "google-maps" &&
2492
+ isNotEmptyValue((_g = (_f = this.config) === null || _f === void 0 ? void 0 : _f.maps) === null || _g === void 0 ? void 0 : _g.apiKey)) {
2493
+ this.loadMaps((_j = (_h = this.config) === null || _h === void 0 ? void 0 : _h.maps) === null || _j === void 0 ? void 0 : _j.apiKey).subscribe((loaded) => {
2466
2494
  this.mapsLoaded = loaded;
2467
2495
  if (loaded) {
2468
2496
  console.log("Google Maps JavaScript API loaded successfully.");
@@ -2545,7 +2573,7 @@ class KwikIDAgentDashboardComponentV1 {
2545
2573
  }
2546
2574
  }
2547
2575
  /** @nocollapse */ KwikIDAgentDashboardComponentV1.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardComponentV1, deps: [{ token: GoogleMapsService }, { token: AgentService }, { token: i3$2.HttpClient }, { token: i0.ElementRef }, { token: TuiDialogService }], target: i0.ɵɵFactoryTarget.Component });
2548
- /** @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: i1.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i2$2.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: CustomerDetailsComponent, selector: "customer-details", inputs: ["customer", "config"], outputs: ["nextStep", "removeTask", "onClickPerformAction"] }, { type: CustomerListComponent, selector: "customer-list", inputs: ["customers", "config"], outputs: ["nextStep", "removeTask", "filterTaskList", "onClickPerformAction"] }, { type: i3$1.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: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i3.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i3.TuiDropdownPositionDirective, selector: "[tuiDropdown]" }, { type: i3.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i3.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$2.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: i2$2.MapDirectionsRenderer, selector: "map-directions-renderer", inputs: ["directions", "options"], outputs: ["directionsChanged"], exportAs: ["mapDirectionsRenderer"] }], pipes: { "async": i7.AsyncPipe } });
2576
+ /** @nocollapse */ KwikIDAgentDashboardComponentV1.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDAgentDashboardComponentV1, selector: "kwikid-agent-dashboard-v1", inputs: { agentInfo: "agentInfo", config: "config", userConfig: "userConfig", 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 <img\n *ngIf=\"\n userConfig?.theme?.clientLogo &&\n config?.utilityFlags?.isShowClientLogo &&\n !config?.utilityFlags?.isAllowAddTask\n \"\n [src]=\"userConfig?.theme.clientLogo\"\n class=\"client-logo\"\n />\n <ng-template #dropdownContent>\n <div class=\"menu-dropdown\">\n <div class=\"menu-dropdown-header\">\n <div class=\"menu-dropdown-header-agent-name\">\n {{ agentInfo.agent_name ?? userConfig?.theme?.clientName }}\n </div>\n <div class=\"menu-dropdown-header-agent-id\">\n Agent ID: {{ agentInfo.agent_id }}\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 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?.maps?.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=\"config?.utilityFlags?.isAllowAddTask\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"primary\"\n [label]=\"config?.formsConfig?.addTaskForm?.title ?? 'Add User'\"\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=\"config?.maps?.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=\"config?.maps?.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.currentTaskDetails == undefined &&\n !agentService.isMobileView &&\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>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>{{ config?.formsConfig?.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]=\"config?.formsConfig?.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: i1.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i2$2.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: CustomerDetailsComponent, selector: "customer-details", inputs: ["customer", "config"], outputs: ["nextStep", "removeTask", "onClickPerformAction"] }, { type: CustomerListComponent, selector: "customer-list", inputs: ["customers", "config"], outputs: ["nextStep", "removeTask", "filterTaskList", "onClickPerformAction"] }, { type: i3$1.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: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i3.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i3.TuiDropdownPositionDirective, selector: "[tuiDropdown]" }, { type: i3.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i3.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$2.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: i2$2.MapDirectionsRenderer, selector: "map-directions-renderer", inputs: ["directions", "options"], outputs: ["directionsChanged"], exportAs: ["mapDirectionsRenderer"] }], pipes: { "async": i7.AsyncPipe } });
2549
2577
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardComponentV1, decorators: [{
2550
2578
  type: Component,
2551
2579
  args: [{
@@ -2559,8 +2587,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2559
2587
  }] }]; }, propDecorators: { windowResizeWatcher: [{
2560
2588
  type: HostListener,
2561
2589
  args: ["window:resize", ["$event"]]
2590
+ }], agentInfo: [{
2591
+ type: Input
2562
2592
  }], config: [{
2563
2593
  type: Input
2594
+ }], userConfig: [{
2595
+ type: Input
2564
2596
  }], taskList: [{
2565
2597
  type: Input
2566
2598
  }], nextStep: [{
@@ -2627,7 +2659,7 @@ class KwikIDAgentDashboardComponent {
2627
2659
  }
2628
2660
  }
2629
2661
  /** @nocollapse */ KwikIDAgentDashboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2630
- /** @nocollapse */ KwikIDAgentDashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDAgentDashboardComponent, selector: "kwikid-agent-dashboard", inputs: { agentInfo: "agentInfo", config: "config", userConfig: "userConfig", taskList: "taskList" }, outputs: { nextStep: "nextStep", addTask: "addTask", removeTask: "removeTask", filterTaskList: "filterTaskList", onGetTaskList: "onGetTaskList", onClickPerformAction: "onClickPerformAction" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"config?.version === 2\">\n <kwikid-agent-dashboard-v2\n [agentInfo]=\"agentInfo\"\n [config]=\"config\"\n [taskList]=\"taskList\"\n [userConfig]=\"userConfig\"\n (onGetTaskList)=\"handleOnGetTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></kwikid-agent-dashboard-v2>\n</div>\n\n<div *ngIf=\"config?.version !== 2\">\n <kwikid-agent-dashboard-v1\n [config]=\"config\"\n [taskList]=\"taskList\"\n (nextStep)=\"handleOnClickNext($event)\"\n (addTask)=\"handleOnClickAddTask($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (filterTaskList)=\"handleOnFilterTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></kwikid-agent-dashboard-v1>\n</div>\n", styles: ["div{height:100%}\n"], components: [{ type: KwikIDAgentDashboardComponentV2, selector: "kwikid-agent-dashboard-v2", inputs: ["config", "userConfig", "agentInfo", "taskList"], outputs: ["onGetTaskList", "onClickPerformAction"] }, { type: KwikIDAgentDashboardComponentV1, selector: "kwikid-agent-dashboard-v1", inputs: ["config", "taskList"], outputs: ["nextStep", "addTask", "removeTask", "filterTaskList", "onClickPerformAction"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2662
+ /** @nocollapse */ KwikIDAgentDashboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDAgentDashboardComponent, selector: "kwikid-agent-dashboard", inputs: { agentInfo: "agentInfo", config: "config", userConfig: "userConfig", taskList: "taskList" }, outputs: { nextStep: "nextStep", addTask: "addTask", removeTask: "removeTask", filterTaskList: "filterTaskList", onGetTaskList: "onGetTaskList", onClickPerformAction: "onClickPerformAction" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"config?.version === 2\">\n <kwikid-agent-dashboard-v2\n [agentInfo]=\"agentInfo\"\n [config]=\"config\"\n [taskList]=\"taskList\"\n [userConfig]=\"userConfig\"\n (onGetTaskList)=\"handleOnGetTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></kwikid-agent-dashboard-v2>\n</div>\n\n<div *ngIf=\"config?.version !== 2\">\n <kwikid-agent-dashboard-v1\n [agentInfo]=\"agentInfo\"\n [config]=\"config\"\n [taskList]=\"taskList\"\n [userConfig]=\"userConfig\"\n (nextStep)=\"handleOnClickNext($event)\"\n (addTask)=\"handleOnClickAddTask($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (filterTaskList)=\"handleOnFilterTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></kwikid-agent-dashboard-v1>\n</div>\n", styles: ["div{height:100%}\n"], components: [{ type: KwikIDAgentDashboardComponentV2, selector: "kwikid-agent-dashboard-v2", inputs: ["config", "userConfig", "agentInfo", "taskList"], outputs: ["onGetTaskList", "onClickPerformAction"] }, { type: KwikIDAgentDashboardComponentV1, selector: "kwikid-agent-dashboard-v1", inputs: ["agentInfo", "config", "userConfig", "taskList"], outputs: ["nextStep", "addTask", "removeTask", "filterTaskList", "onClickPerformAction"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2631
2663
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardComponent, decorators: [{
2632
2664
  type: Component,
2633
2665
  args: [{