kwikid-agent-dashboard 0.0.37 → 0.0.38

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 (85) hide show
  1. package/bundles/kwikid-agent-dashboard.umd.js +1735 -1315
  2. package/bundles/kwikid-agent-dashboard.umd.js.map +1 -1
  3. package/esm2015/lib/components/agent-info/agent-info.component.js +20 -0
  4. package/esm2015/lib/components/agent-info/agent-info.module.js +37 -0
  5. package/esm2015/lib/components/bottom-sheet/bottom-sheet.component.js +111 -0
  6. package/esm2015/lib/components/bottom-sheet/bottom-sheet.module.js +41 -0
  7. package/esm2015/lib/components/components.module.js +79 -0
  8. package/esm2015/lib/components/map-view/map-view.component.js +39 -0
  9. package/esm2015/lib/components/map-view/map-view.module.js +37 -0
  10. package/esm2015/lib/components/primary-actions/primary-actions.component.js +65 -0
  11. package/esm2015/lib/components/primary-actions/primary-actions.module.js +54 -0
  12. package/esm2015/lib/components/task-detail/task-detail.component.js +82 -0
  13. package/esm2015/lib/components/task-detail/task-detail.module.js +41 -0
  14. package/esm2015/lib/components/task-item/task-item.component.js +109 -0
  15. package/esm2015/lib/components/task-item/task-item.constant.js +12 -0
  16. package/esm2015/lib/components/task-item/task-item.module.js +45 -0
  17. package/esm2015/lib/components/task-item-status/task-item-status.component.js +51 -0
  18. package/esm2015/lib/components/task-item-status/task-item-status.module.js +19 -0
  19. package/esm2015/lib/components/task-list/task-list.component.js +186 -0
  20. package/esm2015/lib/components/task-list/task-list.module.js +57 -0
  21. package/esm2015/lib/components/task-list-search/task-list-search.component.js +117 -0
  22. package/esm2015/lib/components/task-list-search/task-list-search.module.js +41 -0
  23. package/esm2015/lib/components/task-preview/task-preview.component.js +30 -0
  24. package/esm2015/lib/components/task-preview/task-preview.module.js +37 -0
  25. package/esm2015/lib/helpers/array.helper.js +10 -0
  26. package/esm2015/lib/helpers/date.helplers.js +17 -0
  27. package/esm2015/lib/kwikid-agent-dashboard.component.js +37 -138
  28. package/esm2015/lib/kwikid-agent-dashboard.module.js +19 -91
  29. package/esm2015/lib/layout/layout-body/layout-body.component.js +274 -0
  30. package/esm2015/lib/layout/layout-body/layout-body.module.js +55 -0
  31. package/esm2015/lib/layout/layout-header/layout-header.component.js +60 -0
  32. package/esm2015/lib/layout/layout-header/layout-header.module.js +48 -0
  33. package/esm2015/lib/layout/layout.module.js +18 -0
  34. package/fesm2015/kwikid-agent-dashboard.js +1549 -1119
  35. package/fesm2015/kwikid-agent-dashboard.js.map +1 -1
  36. package/lib/components/agent-info/agent-info.component.d.ts +8 -0
  37. package/lib/components/agent-info/agent-info.module.d.ts +11 -0
  38. package/lib/components/bottom-sheet/bottom-sheet.component.d.ts +24 -0
  39. package/lib/components/bottom-sheet/bottom-sheet.module.d.ts +12 -0
  40. package/lib/components/components.module.d.ts +15 -0
  41. package/lib/components/map-view/map-view.component.d.ts +10 -0
  42. package/lib/components/map-view/map-view.module.d.ts +11 -0
  43. package/lib/components/primary-actions/primary-actions.component.d.ts +14 -0
  44. package/lib/components/primary-actions/primary-actions.module.d.ts +13 -0
  45. package/lib/components/task-detail/task-detail.component.d.ts +23 -0
  46. package/lib/components/task-detail/task-detail.module.d.ts +12 -0
  47. package/lib/components/task-item/task-item.component.d.ts +23 -0
  48. package/lib/components/task-item/task-item.constant.d.ts +11 -0
  49. package/lib/components/task-item/task-item.module.d.ts +13 -0
  50. package/lib/components/task-item-status/task-item-status.component.d.ts +14 -0
  51. package/lib/components/task-item-status/task-item-status.module.d.ts +9 -0
  52. package/lib/components/task-list/task-list.component.d.ts +45 -0
  53. package/lib/components/task-list/task-list.module.d.ts +16 -0
  54. package/lib/components/task-list-search/task-list-search.component.d.ts +34 -0
  55. package/lib/components/task-list-search/task-list-search.module.d.ts +12 -0
  56. package/lib/components/task-preview/task-preview.component.d.ts +11 -0
  57. package/lib/components/task-preview/task-preview.module.d.ts +11 -0
  58. package/lib/helpers/array.helper.d.ts +1 -0
  59. package/lib/helpers/date.helplers.d.ts +3 -0
  60. package/lib/kwikid-agent-dashboard.component.d.ts +11 -44
  61. package/lib/kwikid-agent-dashboard.module.d.ts +7 -16
  62. package/lib/layout/layout-body/layout-body.component.d.ts +42 -0
  63. package/lib/layout/layout-body/layout-body.module.d.ts +14 -0
  64. package/lib/layout/layout-header/layout-header.component.d.ts +20 -0
  65. package/lib/layout/layout-header/layout-header.module.d.ts +13 -0
  66. package/lib/layout/layout.module.d.ts +8 -0
  67. package/package.json +2 -2
  68. package/esm2015/lib/components/customer-details/customer-details.component.js +0 -90
  69. package/esm2015/lib/components/customer-list/customer-list.component.js +0 -165
  70. package/esm2015/lib/components/customer-tile/customer-tile.component.js +0 -87
  71. package/esm2015/lib/components/customer-tile/status-pill/status-pill.component.js +0 -32
  72. package/esm2015/lib/components/customer-tile/status-pill/status-pill.definitions.js +0 -36
  73. package/esm2015/lib/helpers/maps.helpers.js +0 -46
  74. package/esm2015/lib/services/agent.service.js +0 -153
  75. package/esm2015/lib/services/google-maps.service.js +0 -201
  76. package/esm2015/lib/services/open-street-maps.service.js +0 -252
  77. package/lib/components/customer-details/customer-details.component.d.ts +0 -28
  78. package/lib/components/customer-list/customer-list.component.d.ts +0 -45
  79. package/lib/components/customer-tile/customer-tile.component.d.ts +0 -27
  80. package/lib/components/customer-tile/status-pill/status-pill.component.d.ts +0 -11
  81. package/lib/components/customer-tile/status-pill/status-pill.definitions.d.ts +0 -19
  82. package/lib/helpers/maps.helpers.d.ts +0 -3
  83. package/lib/services/agent.service.d.ts +0 -77
  84. package/lib/services/google-maps.service.d.ts +0 -29
  85. package/lib/services/open-street-maps.service.d.ts +0 -39
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/google-maps'), require('@taiga-ui/core'), require('kwikid-toolkit'), require('rxjs/operators'), require('rxjs'), require('@angular/common/http'), require('kwikui'), require('leaflet'), require('leaflet-routing-machine'), require('@angular/common'), require('@angular/forms'), require('@taiga-ui/cdk'), require('@angular/cdk/scrolling'), require('kwikid-forms'), require('@taiga-ui/addon-mobile')) :
3
- typeof define === 'function' && define.amd ? define('kwikid-agent-dashboard', ['exports', '@angular/core', '@angular/google-maps', '@taiga-ui/core', 'kwikid-toolkit', 'rxjs/operators', 'rxjs', '@angular/common/http', 'kwikui', 'leaflet', 'leaflet-routing-machine', '@angular/common', '@angular/forms', '@taiga-ui/cdk', '@angular/cdk/scrolling', 'kwikid-forms', '@taiga-ui/addon-mobile'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["kwikid-agent-dashboard"] = {}, global.ng.core, global.ng.googleMaps, global["@taiga-ui/core"], global.kwikidToolkit, global.rxjs.operators, global.rxjs, global.ng.common.http, global.i4, global.L, null, global.ng.common, global.ng.forms, global["@taiga-ui/cdk"], global.ng.cdk.scrolling, global.i8, global["@taiga-ui/addon-mobile"]));
5
- })(this, (function (exports, i0, i2, i11, kwikidToolkit, operators, rxjs, i3, i4, L, leafletRoutingMachine, i6, i7, i10, i5, i8, addonMobile) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('kwikui'), require('@taiga-ui/cdk'), require('@taiga-ui/core'), require('@angular/animations'), require('@taiga-ui/addon-preview'), require('kwikid-toolkit'), require('@taiga-ui/kit'), require('@angular/common'), require('@taiga-ui/core/directives/dropdown'), require('kwikid-forms'), require('@angular/forms'), require('@angular/cdk/scrolling')) :
3
+ typeof define === 'function' && define.amd ? define('kwikid-agent-dashboard', ['exports', '@angular/core', 'kwikui', '@taiga-ui/cdk', '@taiga-ui/core', '@angular/animations', '@taiga-ui/addon-preview', 'kwikid-toolkit', '@taiga-ui/kit', '@angular/common', '@taiga-ui/core/directives/dropdown', 'kwikid-forms', '@angular/forms', '@angular/cdk/scrolling'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["kwikid-agent-dashboard"] = {}, global.ng.core, global.i1, global["@taiga-ui/cdk"], global["@taiga-ui/core"], global.ng.animations, global["@taiga-ui/addon-preview"], global.kwikidToolkit, global["@taiga-ui/kit"], global.ng.common, global.i6, global.i3$2, global.ng.forms, global.ng.cdk.scrolling));
5
+ })(this, (function (exports, i0, i1, i2, i3, animations, i8, kwikidToolkit, i1$1, i3$1, i6, i3$2, i2$1, scrolling) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -23,16 +23,15 @@
23
23
  }
24
24
 
25
25
  var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
26
27
  var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
27
- var i11__namespace = /*#__PURE__*/_interopNamespace(i11);
28
28
  var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
29
- var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
30
- var L__namespace = /*#__PURE__*/_interopNamespace(L);
31
- var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
32
- var i7__namespace = /*#__PURE__*/_interopNamespace(i7);
33
- var i10__namespace = /*#__PURE__*/_interopNamespace(i10);
34
- var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
35
29
  var i8__namespace = /*#__PURE__*/_interopNamespace(i8);
30
+ var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
31
+ var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
32
+ var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
33
+ var i3__namespace$2 = /*#__PURE__*/_interopNamespace(i3$2);
34
+ var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
36
35
 
37
36
  /******************************************************************************
38
37
  Copyright (c) Microsoft Corporation.
@@ -340,9 +339,13 @@
340
339
  if (!Symbol.asyncIterator)
341
340
  throw new TypeError("Symbol.asyncIterator is not defined.");
342
341
  var g = generator.apply(thisArg, _arguments || []), i, q = [];
343
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
344
- function verb(n) { if (g[n])
345
- i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
342
+ return i = {}, verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
343
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
344
+ function verb(n, f) { if (g[n]) {
345
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); };
346
+ if (f)
347
+ i[n] = f(i[n]);
348
+ } }
346
349
  function resume(n, v) { try {
347
350
  step(g[n](v));
348
351
  }
@@ -422,7 +425,7 @@
422
425
  if (value !== null && value !== void 0) {
423
426
  if (typeof value !== "object" && typeof value !== "function")
424
427
  throw new TypeError("Object expected.");
425
- var dispose;
428
+ var dispose, inner;
426
429
  if (async) {
427
430
  if (!Symbol.asyncDispose)
428
431
  throw new TypeError("Symbol.asyncDispose is not defined.");
@@ -432,9 +435,18 @@
432
435
  if (!Symbol.dispose)
433
436
  throw new TypeError("Symbol.dispose is not defined.");
434
437
  dispose = value[Symbol.dispose];
438
+ if (async)
439
+ inner = dispose;
435
440
  }
436
441
  if (typeof dispose !== "function")
437
442
  throw new TypeError("Object not disposable.");
443
+ if (inner)
444
+ dispose = function () { try {
445
+ inner.call(this);
446
+ }
447
+ catch (e) {
448
+ return Promise.reject(e);
449
+ } };
438
450
  env.stack.push({ value: value, dispose: dispose, async: async });
439
451
  }
440
452
  else if (async) {
@@ -498,1360 +510,1193 @@
498
510
  __disposeResources: __disposeResources,
499
511
  };
500
512
 
501
- // To Calculate Distance between two markers
502
- var calculateDistance = function (point1, point2) {
503
- var lat1 = point1.lat;
504
- var lng1 = point1.lng;
505
- var lat2 = point2.lat;
506
- var lng2 = point2.lng;
507
- var R = 6371; // Earth radius in kilometers
508
- var dLat = (lat2 - lat1) * (Math.PI / 180);
509
- var dLng = (lng2 - lng1) * (Math.PI / 180);
510
- var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
511
- Math.cos((lat1 * Math.PI) / 180) *
512
- Math.cos((lat2 * Math.PI) / 180) *
513
- Math.sin(dLng / 2) *
514
- Math.sin(dLng / 2);
515
- var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
516
- var distance = R * c;
517
- return distance;
518
- };
519
- // To calculate nearest distance from marker
520
- var nearestNeighborAlgorithm = function (startingPoint, unvisitedPoints) {
521
- var e_1, _a;
522
- var currentPoint = startingPoint;
523
- var path = [currentPoint];
524
- var visitedPoints = new Set([currentPoint]);
525
- while (unvisitedPoints.length > 0) {
526
- var nearestPoint = null;
527
- var minDistance = Number.POSITIVE_INFINITY;
513
+ var LayoutHeaderComponent = /** @class */ (function () {
514
+ function LayoutHeaderComponent() {
515
+ this.config = {};
516
+ this.agentInfo = {};
517
+ this.onGetTaskList = new i0.EventEmitter();
518
+ this.onClickPerformAction = new i0.EventEmitter();
519
+ this.open = false;
520
+ }
521
+ LayoutHeaderComponent.prototype.ngOnInit = function () {
522
+ return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
523
+ return [2 /*return*/];
524
+ }); });
525
+ };
526
+ LayoutHeaderComponent.prototype.refreshPage = function () {
527
+ this.handleOnGetTaskList({});
528
+ };
529
+ LayoutHeaderComponent.prototype.onClick = function () {
530
+ this.open = !this.open;
531
+ };
532
+ LayoutHeaderComponent.prototype.onObscured = function (obscured) {
533
+ if (obscured) {
534
+ this.open = false;
535
+ }
536
+ };
537
+ LayoutHeaderComponent.prototype.onActiveZone = function (active) {
538
+ this.open = active && this.open;
539
+ };
540
+ LayoutHeaderComponent.prototype.logout = function () {
541
+ this.handleOnClickPerformAction({ type: 'LOGOUT' });
542
+ };
543
+ LayoutHeaderComponent.prototype.handleOnGetTaskList = function (event) {
544
+ this.onGetTaskList.emit(event);
545
+ };
546
+ LayoutHeaderComponent.prototype.handleOnClickPerformAction = function (event) {
547
+ this.onClickPerformAction.emit(event);
548
+ };
549
+ return LayoutHeaderComponent;
550
+ }());
551
+ /** @nocollapse */ LayoutHeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LayoutHeaderComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
552
+ /** @nocollapse */ LayoutHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LayoutHeaderComponent, selector: "layout-header", inputs: { config: "config", agentInfo: "agentInfo" }, outputs: { onGetTaskList: "onGetTaskList", onClickPerformAction: "onClickPerformAction" }, ngImport: i0__namespace, template: "<div id=\"header-container\">\n <div id=\"client-information-wrapper\">\n <img id=\"client-logo\" [src]=\"config?.theme?.clientLogo\" />\n </div>\n <div id=\"actions-wrapper\">\n <span (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <kwikui-button\n [icon]=\"'tuiIconSettingsLarge'\"\n (onClick)=\"onClick()\"\n appearance=\"mono\"\n size=\"l\"\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 <div class=\"menu-dropdown-header-agent-name\">\n {{ agentInfo?.agent_name ?? 'Welcome' }}\n </div>\n <div class=\"menu-dropdown-header-agent-id\">\n Agent ID:\n {{ 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)=\"refreshPage()\"\n ></kwikui-button>\n </div>\n <hr />\n <div class=\"menu-dropdown-footer\">\n <kwikui-button\n id=\"\"\n label=\"Logout\"\n styles=\"\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"mono\"\n [icon]=\"'tuiIconLogOut'\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n (onClick)=\"logout()\"\n ></kwikui-button>\n </div>\n </div>\n </ng-template>\n </span>\n </div>\n</div>\n", styles: ["#header-container{display:flex;align-items:center;justify-content:space-between;height:100%;width:100%;padding:1rem}#header-container #client-information-wrapper{height:100%;width:100%}#header-container #client-information-wrapper #client-logo{height:100%}#header-container #client-information-wrapper #client-name{height:100%;width:100%;font-size:1.25rem;font-weight:600}#header-container #actions-wrapper{display:flex;flex-direction:row;align-items:center}#header-container #actions-wrapper>*{margin-right:.5rem}.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:.5rem;gap:.5rem}.menu-dropdown .menu-dropdown-header .menu-dropdown-header-agent-name{font-size:1.2rem;font-weight:600}.menu-dropdown .menu-dropdown-header .menu-dropdown-header-agent-id{font-size:.8rem;font-weight:600}.menu-dropdown .menu-dropdown-buttons ::ng-deep .t-wrapper{padding:0!important}\n"], components: [{ type: i1__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }], directives: [{ type: i2__namespace.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3__namespace.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i3__namespace.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i3__namespace.TuiDropdownPositionDirective, selector: "[tuiDropdown]" }, { type: i3__namespace.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i3__namespace.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }] });
553
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LayoutHeaderComponent, decorators: [{
554
+ type: i0.Component,
555
+ args: [{
556
+ selector: 'layout-header',
557
+ templateUrl: './layout-header.component.html',
558
+ styleUrls: ['./layout-header.component.scss']
559
+ }]
560
+ }], ctorParameters: function () { return []; }, propDecorators: { config: [{
561
+ type: i0.Input
562
+ }], agentInfo: [{
563
+ type: i0.Input
564
+ }], onGetTaskList: [{
565
+ type: i0.Output
566
+ }], onClickPerformAction: [{
567
+ type: i0.Output
568
+ }] } });
569
+
570
+ var PrimaryActionsComponent = /** @class */ (function () {
571
+ function PrimaryActionsComponent() {
572
+ this.primaryActionsConfig = [];
573
+ this.onClickPrimaryAction = new i0.EventEmitter();
574
+ }
575
+ PrimaryActionsComponent.prototype.ngOnInit = function () {
576
+ return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
577
+ return [2 /*return*/];
578
+ }); });
579
+ };
580
+ PrimaryActionsComponent.prototype.ngOnChanges = function (changes) {
581
+ var e_1, _a;
582
+ var verifyChange = function (key) {
583
+ return changes.hasOwnProperty(key) && !changes[key].firstChange;
584
+ };
528
585
  try {
529
- for (var unvisitedPoints_1 = (e_1 = void 0, __values(unvisitedPoints)), unvisitedPoints_1_1 = unvisitedPoints_1.next(); !unvisitedPoints_1_1.done; unvisitedPoints_1_1 = unvisitedPoints_1.next()) {
530
- var point = unvisitedPoints_1_1.value;
531
- var distance = calculateDistance(currentPoint, point);
532
- if (distance < minDistance) {
533
- minDistance = distance;
534
- nearestPoint = point;
535
- }
586
+ for (var _b = __values(Object.entries(changes)), _c = _b.next(); !_c.done; _c = _b.next()) {
587
+ var change = _c.value;
588
+ var key = change[0];
589
+ var value = change[1].currentValue;
536
590
  }
537
591
  }
538
592
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
539
593
  finally {
540
594
  try {
541
- if (unvisitedPoints_1_1 && !unvisitedPoints_1_1.done && (_a = unvisitedPoints_1.return)) _a.call(unvisitedPoints_1);
595
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
542
596
  }
543
597
  finally { if (e_1) throw e_1.error; }
544
598
  }
545
- path.push(nearestPoint);
546
- visitedPoints.add(nearestPoint);
547
- currentPoint = nearestPoint;
548
- unvisitedPoints = unvisitedPoints.filter(function (point) { return !visitedPoints.has(point); });
549
- }
550
- return path;
551
- };
552
- var addressConcator = function (data, config) {
553
- var address = config.reduce(function (accumulator, currentValue) { return accumulator + ' ' + kwikidToolkit.getObjectValueFromPath(data, currentValue); }, '');
554
- return address;
555
- };
556
-
557
- var EStatus;
558
- (function (EStatus) {
559
- EStatus["NOT_STARTED"] = "not_started";
560
- EStatus["ON_GOING"] = "on_going";
561
- EStatus["AUDITING"] = "auditing";
562
- EStatus["REJECTED"] = "rejected";
563
- EStatus["AFTER_AUDIT"] = "after_audit";
564
- EStatus["COMPLETE"] = "complete";
565
- EStatus["WAITING"] = "waiting";
566
- EStatus["SESSION_EXPIRED"] = "session_expired";
567
- EStatus["KYC_REJECTED"] = "kyc_rejected";
568
- EStatus["KYC_REQUEST_REJECTED"] = "kyc_request_rejected";
569
- EStatus["KYC_REQUEST_ACCEPTED"] = "kyc_request_accepted";
570
- EStatus["KYC_RESULT_REJECTED"] = "kyc_result_rejected";
571
- EStatus["KYC_RESULT_APPROVED"] = "kyc_result_approved";
572
- EStatus["KYC_RESULT_PARTIAL_UPDATE"] = "kyc_result_partial_update";
573
- EStatus["KYC_RESULT_UNDER_REVIEW"] = "kyc_result_under_review";
574
- })(EStatus || (EStatus = {}));
575
- var VStatus = [
576
- EStatus.NOT_STARTED,
577
- EStatus.ON_GOING,
578
- EStatus.AUDITING,
579
- EStatus.REJECTED,
580
- EStatus.AFTER_AUDIT,
581
- EStatus.COMPLETE,
582
- EStatus.WAITING,
583
- EStatus.SESSION_EXPIRED,
584
- EStatus.KYC_REJECTED,
585
- EStatus.KYC_REQUEST_REJECTED,
586
- EStatus.KYC_REQUEST_ACCEPTED,
587
- EStatus.KYC_RESULT_REJECTED,
588
- EStatus.KYC_RESULT_APPROVED,
589
- EStatus.KYC_RESULT_PARTIAL_UPDATE,
590
- EStatus.KYC_RESULT_UNDER_REVIEW
591
- ];
592
-
593
- var AgentService = /** @class */ (function () {
594
- function AgentService() {
595
- this.isListOpen = true;
596
- this.showMapview = false;
597
- this.addTaskForm = {
598
- key: 'ADD_TASK',
599
- title: 'Add Task',
600
- fields: [
601
- {
602
- key: 'name',
603
- label: 'Customer Name',
604
- validators: {
605
- required: true
606
- },
607
- properties: {
608
- placeholder: 'Please enter the Customer Name',
609
- readOnly: false,
610
- case: 'default'
611
- },
612
- type: 'text'
613
- },
614
- {
615
- key: 'phone',
616
- label: 'Phone Number',
617
- validators: {
618
- required: true
619
- },
620
- properties: {
621
- countryCode: '+91',
622
- removeCountryCodeFromValue: true,
623
- phoneMaskAfterCountryCode: '##########',
624
- placeholder: 'Please enter your Mobile Number',
625
- readOnly: false
626
- },
627
- type: 'phone'
628
- },
629
- {
630
- key: 'address',
631
- label: 'Address',
632
- validators: {
633
- required: true
634
- },
635
- properties: {
636
- placeholder: 'Please enter the Address',
637
- readOnly: false,
638
- case: 'default'
639
- },
640
- type: 'text'
641
- },
642
- {
643
- key: 'city',
644
- label: 'City',
645
- validators: {
646
- required: true
647
- },
648
- properties: {
649
- placeholder: 'Please enter the City',
650
- readOnly: false,
651
- case: 'default'
652
- },
653
- type: 'text'
654
- },
655
- {
656
- key: 'location',
657
- label: 'Location URL',
658
- validators: {
659
- required: true
660
- },
661
- properties: {
662
- placeholder: 'Please enter the Location URL',
663
- readOnly: false,
664
- case: 'default'
665
- },
666
- type: 'text'
667
- }
668
- ],
669
- properties: {
670
- header: {
671
- title: {
672
- hidden: true,
673
- label: 'Add Task'
674
- },
675
- steps: {
676
- hidden: true
677
- },
678
- logo: {
679
- hidden: true
680
- }
681
- },
682
- footer: {
683
- viewFormsButton: {
684
- hidden: true,
685
- label: 'View Forms'
686
- },
687
- saveButton: {
688
- hidden: false,
689
- label: 'Submit'
690
- }
691
- }
692
- }
693
- };
694
- this.notRequiredStatus = [
695
- EStatus.REJECTED,
696
- EStatus.AFTER_AUDIT,
697
- EStatus.COMPLETE,
698
- EStatus.SESSION_EXPIRED,
699
- EStatus.KYC_REJECTED,
700
- EStatus.KYC_RESULT_APPROVED,
701
- EStatus.KYC_RESULT_REJECTED,
702
- EStatus.KYC_RESULT_UNDER_REVIEW,
703
- EStatus.KYC_REQUEST_REJECTED
704
- ];
705
- }
706
- AgentService.prototype.ngOnInit = function () { };
707
- AgentService.prototype.setAgentConfig = function (config) {
708
- this.config = config;
599
+ if (verifyChange('primaryActionsConfig')) {
600
+ this.primaryActionsConfig = changes.primaryActionsConfig.currentValue;
601
+ this.primaryActionsConfig.map(i2.ALWAYS_FALSE_HANDLER);
602
+ }
709
603
  };
710
- AgentService.prototype.toggleMapview = function () {
711
- this.showMapview = !this.showMapview;
604
+ PrimaryActionsComponent.prototype.handleOnInitPrimaryActionsConfig = function () {
605
+ this.primaryActionsConfig = this.primaryActionsConfig;
606
+ this.primaryActionsConfig.map(i2.ALWAYS_FALSE_HANDLER);
712
607
  };
713
- AgentService.prototype.canStartJourney = function (status) {
714
- var _a, _b;
715
- var noneEditableStatus = (_b = (_a = this.config.dashboard) === null || _a === void 0 ? void 0 : _a.cannotStartJourney) !== null && _b !== void 0 ? _b : this.notRequiredStatus;
716
- if (noneEditableStatus.includes(status)) {
717
- return false;
718
- }
719
- else {
720
- return true;
721
- }
608
+ PrimaryActionsComponent.prototype.handleOnClickPrimaryAction = function (event) {
609
+ this.onClickPrimaryAction.emit(event);
722
610
  };
723
- AgentService.prototype.canPlotMarkers = function (status) {
724
- var _a, _b;
725
- var nonePlottingSessions = (_b = (_a = this.config.dashboard) === null || _a === void 0 ? void 0 : _a.dontPlotMarkers) !== null && _b !== void 0 ? _b : [];
726
- if (nonePlottingSessions.includes(status)) {
727
- return false;
728
- }
729
- else {
730
- return true;
731
- }
611
+ PrimaryActionsComponent.prototype.trackByFn = function (index, item) {
612
+ return index; // or unique identifier if available
732
613
  };
733
- return AgentService;
614
+ return PrimaryActionsComponent;
734
615
  }());
735
- /** @nocollapse */ AgentService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AgentService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
736
- /** @nocollapse */ AgentServiceprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AgentService, providedIn: 'root' });
737
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AgentService, decorators: [{
738
- type: i0.Injectable,
616
+ /** @nocollapse */ PrimaryActionsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PrimaryActionsComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
617
+ /** @nocollapse */ PrimaryActionsComponentcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PrimaryActionsComponent, selector: "primary-actions", inputs: { primaryActionsConfig: "primaryActionsConfig" }, outputs: { onClickPrimaryAction: "onClickPrimaryAction" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div id=\"primary-actions-container\">\n <tui-items-with-more tuiGroup [itemsLimit]=\"1\">\n <ng-container *ngFor=\"let item of primaryActionsConfig; let index = index\">\n <kwikui-button\n *tuiItem\n [label]=\"item.label\"\n appearance=\"primary\"\n shape=\"rounded\"\n size=\"m\"\n styles=\"width: max-content; margin-right: 1rem; box-shadow: #32325d40 0 13px 27px -5px, #0000004d 0 8px 16px -8px;\"\n [icon]=\"item.props.iconLeft || ''\"\n [iconRight]=\"item.props.iconRight || ''\"\n (onClick)=\"handleOnClickPrimaryAction(item)\"\n ></kwikui-button>\n </ng-container>\n <ng-template let-lastIndex tuiMore>\n <tui-hosted-dropdown\n tuiDropdownAlign=\"right\"\n class=\"item\"\n [content]=\"dropdown\"\n >\n <kwikui-button\n appearance=\"primary\"\n shape=\"rounded\"\n size=\"m\"\n icon=\"tuiIconMoreVertical\"\n styles=\"\n box-shadow: #32325d40 0 13px 27px -5px, #0000004d 0 8px 16px -8px;\n \"\n ></kwikui-button>\n <ng-template #dropdown>\n <tui-data-list size=\"l\">\n <ng-container\n *ngFor=\"let item of primaryActionsConfig; let index = index\"\n >\n <kwikui-button\n *ngIf=\"index > lastIndex\"\n tuiOption\n [label]=\"item.label\"\n appearance=\"primary\"\n shape=\"rounded\"\n size=\"m\"\n styles=\"width: calc(100% - 1rem); margin: 0.5rem;\"\n [icon]=\"item.props.iconLeft || ''\"\n [iconRight]=\"item.props.iconRight || ''\"\n (onClick)=\"handleOnClickPrimaryAction(item)\"\n ></kwikui-button>\n </ng-container>\n </tui-data-list>\n </ng-template>\n </tui-hosted-dropdown>\n </ng-template>\n </tui-items-with-more>\n</div>\n", styles: ["::-webkit-scrollbar{width:8px!important}::-webkit-scrollbar-track{border-radius:8px!important}::-webkit-scrollbar-thumb{background:lightgray!important;border-radius:8px!important}::-webkit-scrollbar-thumb:hover{background:gray!important}#primary-actions-container{width:-moz-fit-content;width:fit-content;margin-left:auto}@media only screen and (max-width: 600px){#primary-actions-container{display:flex;flex-direction:row;flex-wrap:nowrap;grid-gap:1.5rem;gap:1.5rem;align-items:flex-start;justify-content:flex-start}}::ng-deep .t-empty{display:none!important}\n"], components: [{ type: i1__namespace$1.TuiItemsWithMoreComponent, selector: "tui-items-with-more" }, { type: i1__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i3__namespace.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "sided", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i3__namespace.TuiDataListComponent, selector: "tui-data-list", inputs: ["role", "emptyContent", "size"] }], directives: [{ type: i1__namespace$1.TuiItemsWithMoreDirective, selector: "tui-items-with-more", inputs: ["itemsLimit", "required"] }, { type: i3__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace.TuiItemDirective, selector: "[tuiItem]" }, { type: i1__namespace$1.TuiMoreDirective, selector: "[tuiMore]" }, { type: i6__namespace.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: ["tuiDropdownAlign", "tuiDropdownAppearance", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownOffset"] }, { type: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
618
+ __decorate([
619
+ kwikidToolkit.logMethod
620
+ ], PrimaryActionsComponent.prototype, "handleOnInitPrimaryActionsConfig", null);
621
+ __decorate([
622
+ kwikidToolkit.logMethod
623
+ ], PrimaryActionsComponent.prototype, "handleOnClickPrimaryAction", null);
624
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PrimaryActionsComponent, decorators: [{
625
+ type: i0.Component,
739
626
  args: [{
740
- providedIn: 'root'
627
+ selector: 'primary-actions',
628
+ templateUrl: './primary-actions.component.html',
629
+ styleUrls: ['./primary-actions.component.scss'],
630
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
741
631
  }]
742
- }], ctorParameters: function () { return []; } });
632
+ }], ctorParameters: function () { return []; }, propDecorators: { primaryActionsConfig: [{
633
+ type: i0.Input
634
+ }], onClickPrimaryAction: [{
635
+ type: i0.Output
636
+ }], handleOnInitPrimaryActionsConfig: [], handleOnClickPrimaryAction: [] } });
743
637
 
744
- var GoogleMapsService = /** @class */ (function () {
745
- function GoogleMapsService(agentService, mapDirectionsService, httpClient) {
746
- this.agentService = agentService;
747
- this.mapDirectionsService = mapDirectionsService;
748
- this.httpClient = httpClient;
749
- this.allMarkers = [];
638
+ var MapViewComponent = /** @class */ (function () {
639
+ function MapViewComponent() {
640
+ this.mapConfig = {
641
+ isMapHidden: true
642
+ };
750
643
  }
751
- // To get Current Position
752
- GoogleMapsService.prototype.getPosition = function () {
753
- return new Promise(function (resolve, reject) {
754
- navigator.geolocation.watchPosition(function (resp) {
755
- resolve({
756
- lng: resp.coords.longitude,
757
- lat: resp.coords.latitude
758
- });
759
- }, function (err) {
760
- reject(err);
761
- });
762
- });
763
- };
764
- // To Initialize Google Maps
765
- GoogleMapsService.prototype.initializeMap = function () {
766
- return __awaiter(this, void 0, void 0, function () {
767
- var _o;
768
- return __generator(this, function (_p) {
769
- switch (_p.label) {
770
- case 0:
771
- _o = this;
772
- return [4 /*yield*/, this.getPosition()];
773
- case 1:
774
- _o.myPosition = _p.sent();
775
- this.map = {
776
- zoom: 10,
777
- center: this.myPosition,
778
- streetViewControl: false,
779
- mapTypeControl: false,
780
- fullscreenControl: false,
781
- zoomControl: false
782
- };
783
- return [2 /*return*/];
784
- }
785
- });
786
- });
787
- };
788
- // To extract Location from the Task Details
789
- GoogleMapsService.prototype.getLocation = function (task) {
790
- return __awaiter(this, void 0, void 0, function () {
791
- var _this = this;
792
- return __generator(this, function (_o) {
793
- return [2 /*return*/, new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {
794
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, encodedAddres, config, address, config, address, address, url, response, data, isValidLocation, location;
795
- return __generator(this, function (_o) {
796
- switch (_o.label) {
797
- case 0:
798
- // If Fetch Address from Multiple Paths
799
- if (kwikidToolkit.checkObjectPathExists(this.agentService.config, 'dashboard.taskLocationPaths')) {
800
- config = this.agentService.config.dashboard.taskLocationPaths;
801
- address = addressConcator(task, config);
802
- // Encode the Address in URI
803
- encodedAddres = encodeURI(address);
804
- }
805
- // If Fetch Address from Single Path
806
- else if (kwikidToolkit.checkObjectPathExists(this.agentService.config, 'dashboard.taskLocationPath')) {
807
- config = this.agentService.config.dashboard.taskLocationPath;
808
- address = kwikidToolkit.getObjectValueFromPath(task, config);
809
- // Encode the Address in URI
810
- encodedAddres = encodeURI(address);
811
- }
812
- // Default Address Paths Avaiable
813
- else {
814
- address = (_k = (_j = (_g = (_d = (_c = (_b = (_a = task === null || task === void 0 ? void 0 : task.extras) === null || _a === void 0 ? void 0 : _a.task_details) === null || _b === void 0 ? void 0 : _b.customer_details) === null || _c === void 0 ? void 0 : _c.address) !== null && _d !== void 0 ? _d : (_f = (_e = task === null || task === void 0 ? void 0 : task.task_details) === null || _e === void 0 ? void 0 : _e.customer_details) === null || _f === void 0 ? void 0 : _f.address) !== null && _g !== void 0 ? _g : (_h = task === null || task === void 0 ? void 0 : task.extras) === null || _h === void 0 ? void 0 : _h.address) !== null && _j !== void 0 ? _j : task === null || task === void 0 ? void 0 : task.address) !== null && _k !== void 0 ? _k : '';
815
- // Encode the Address in URI
816
- encodedAddres = encodeURI(address);
817
- }
818
- url = "https://maps.googleapis.com/maps/api/geocode/json?key=" + this.apiKey + "&address=" + encodedAddres;
819
- return [4 /*yield*/, fetch(url)];
820
- case 1:
821
- response = _o.sent();
822
- return [4 /*yield*/, response.json()];
823
- case 2:
824
- data = _o.sent();
825
- isValidLocation = kwikidToolkit.isNotEmptyArray(data === null || data === void 0 ? void 0 : data.results);
826
- location = isValidLocation
827
- ? (_m = (_l = data === null || data === void 0 ? void 0 : data.results[0]) === null || _l === void 0 ? void 0 : _l.geometry) === null || _m === void 0 ? void 0 : _m.location
828
- : { lat: null, lng: null };
829
- // Set Location validation & Google Maps URL
830
- location['isValidLocation'] = isValidLocation;
831
- location['googleMapsUrl'] = "https://www.google.com/maps/place/" + (location === null || location === void 0 ? void 0 : location.lat) + "," + (location === null || location === void 0 ? void 0 : location.lng);
832
- resolve(location);
833
- return [2 /*return*/];
834
- }
835
- });
836
- }); })];
837
- });
838
- });
839
- };
840
- // Get Tasks | Markers Location Co Ordinates
841
- GoogleMapsService.prototype.getMarkersLocation = function (myMarker, tasks) {
842
- return __awaiter(this, void 0, void 0, function () {
843
- var _this = this;
844
- return __generator(this, function (_o) {
845
- return [2 /*return*/, new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {
846
- var markers, promises;
847
- var _this = this;
848
- return __generator(this, function (_o) {
849
- switch (_o.label) {
850
- case 0:
851
- markers = [];
852
- markers.push(myMarker);
853
- promises = tasks.map(function (task) { return __awaiter(_this, void 0, void 0, function () {
854
- var marker;
855
- return __generator(this, function (_o) {
856
- switch (_o.label) {
857
- case 0: return [4 /*yield*/, this.getLocation(task)];
858
- case 1:
859
- marker = _o.sent();
860
- task = Object.assign(Object.assign({}, task), marker);
861
- markers.push(task);
862
- return [2 /*return*/];
863
- }
864
- });
865
- }); });
866
- return [4 /*yield*/, Promise.all(promises)];
867
- case 1:
868
- _o.sent();
869
- resolve(markers);
870
- return [2 /*return*/];
871
- }
872
- });
873
- }); })];
874
- });
875
- });
876
- };
877
- // Plot All Markers
878
- GoogleMapsService.prototype.plotAllMarkers = function (tasks) {
879
- return __awaiter(this, void 0, void 0, function () {
880
- var _this = this;
881
- return __generator(this, function (_o) {
882
- return [2 /*return*/, new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {
883
- var path, promises;
884
- var _this = this;
885
- return __generator(this, function (_o) {
886
- switch (_o.label) {
887
- case 0:
888
- path = [];
889
- promises = tasks.map(function (task) {
890
- if (task === null || task === void 0 ? void 0 : task.isValidLocation) {
891
- path.push({
892
- location: task,
893
- stopover: true
894
- });
895
- _this.allMarkers.push(task);
896
- }
897
- });
898
- return [4 /*yield*/, Promise.all(promises)];
899
- case 1:
900
- _o.sent();
901
- resolve(path);
902
- return [2 /*return*/];
903
- }
904
- });
905
- }); })];
906
- });
907
- });
908
- };
909
- // To Plot Directions for All Tasks
910
- GoogleMapsService.prototype.plotDirectionsForAllTasks = function (tasks) {
911
- return __awaiter(this, void 0, void 0, function () {
912
- var myMarker, markers, startingPoint, unvisitedWaypoints, optimizedRoute, path, request;
913
- return __generator(this, function (_o) {
914
- switch (_o.label) {
915
- case 0:
916
- this.allMarkers = [];
917
- myMarker = {
918
- lat: this.myPosition.lat,
919
- lng: this.myPosition.lng,
920
- title: 0,
921
- color: 'red'
922
- };
923
- return [4 /*yield*/, this.getMarkersLocation(myMarker, tasks)];
924
- case 1:
925
- markers = _o.sent();
926
- startingPoint = markers[0];
927
- unvisitedWaypoints = markers.slice(1);
928
- optimizedRoute = nearestNeighborAlgorithm(startingPoint, unvisitedWaypoints);
929
- // Sort All Tasks as per optimized routes
930
- tasks = optimizedRoute.slice(1);
931
- this.allMarkers = [myMarker];
932
- return [4 /*yield*/, this.plotAllMarkers(tasks)];
933
- case 2:
934
- path = _o.sent();
935
- request = {
936
- origin: this.myPosition,
937
- destination: this.myPosition,
938
- waypoints: path,
939
- travelMode: google.maps.TravelMode.DRIVING
940
- };
941
- this.directionsRenderOption = {
942
- suppressMarkers: true
943
- };
944
- this.directionsResults$ = this.mapDirectionsService
945
- .route(request)
946
- .pipe(operators.map(function (response) { return response.result; }));
947
- this.directionsResults$.subscribe(function (val) { });
948
- this.allDirectionsResults$ = this.directionsResults$;
949
- return [2 /*return*/, tasks];
950
- }
951
- });
952
- });
953
- };
954
- // To Plot Directions for Selected Tasks
955
- GoogleMapsService.prototype.plotDirectionsForSelectedTask = function (task) {
956
- if (task != null) {
957
- var taskMarker = task;
958
- // If Location is Available in Task Details
959
- if (taskMarker === null || taskMarker === void 0 ? void 0 : taskMarker.isValidLocation) {
960
- var request = {
961
- origin: this.myPosition,
962
- destination: taskMarker,
963
- optimizeWaypoints: true,
964
- travelMode: google.maps.TravelMode.DRIVING
965
- };
966
- this.directionsResults$ = this.mapDirectionsService
967
- .route(request)
968
- .pipe(operators.map(function (response) { return response.result; }));
969
- this.directionsResults$.subscribe();
644
+ MapViewComponent.prototype.ngOnInit = function () {
645
+ return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
646
+ return [2 /*return*/];
647
+ }); });
648
+ };
649
+ MapViewComponent.prototype.ngOnChanges = function (changes) {
650
+ var e_1, _a;
651
+ var verifyChange = function (key) {
652
+ return changes.hasOwnProperty(key) && !changes[key].firstChange;
653
+ };
654
+ try {
655
+ for (var _b = __values(Object.entries(changes)), _c = _b.next(); !_c.done; _c = _b.next()) {
656
+ var change = _c.value;
657
+ var key = change[0];
658
+ var value = change[1].currentValue;
970
659
  }
971
- else {
972
- alert('No Location Available');
973
- this.directionsResults$ = this.allDirectionsResults$;
660
+ }
661
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
662
+ finally {
663
+ try {
664
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
974
665
  }
666
+ finally { if (e_1) throw e_1.error; }
975
667
  }
976
- else {
977
- this.directionsResults$ = this.allDirectionsResults$;
668
+ if (verifyChange('mapConfig')) {
669
+ this.mapConfig = changes.mapConfig.currentValue;
978
670
  }
979
671
  };
980
- return GoogleMapsService;
672
+ return MapViewComponent;
981
673
  }());
982
- /** @nocollapse */ GoogleMapsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: GoogleMapsService, deps: [{ token: AgentService }, { token: i2__namespace.MapDirectionsService }, { token: i3__namespace.HttpClient }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
983
- /** @nocollapse */ GoogleMapsServiceprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: GoogleMapsService, providedIn: 'root' });
984
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: GoogleMapsService, decorators: [{
985
- type: i0.Injectable,
674
+ /** @nocollapse */ MapViewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MapViewComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
675
+ /** @nocollapse */ MapViewComponentcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MapViewComponent, selector: "map-view", inputs: { mapConfig: "mapConfig" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"map-view-container\">\n <iframe\n *ngIf=\"!mapConfig?.isMapHidden\"\n src=\"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d942.4620332111369!2d72.89243374854026!3d19.114317185214237!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3be7c90062467355%3A0xbc5e9528a3783c2b!2sBoomerang!5e0!3m2!1sen!2sin!4v1708350741641!5m2!1sen!2sin\"\n width=\"600\"\n height=\"450\"\n style=\"border: 0\"\n allowfullscreen=\"\"\n loading=\"lazy\"\n referrerpolicy=\"no-referrer-when-downgrade\"\n ></iframe>\n</div>\n", styles: [".map-view-container{width:100%;height:100%}.map-view-container iframe{width:100%!important;height:100%!important;position:relative}\n"], directives: [{ type: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
676
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MapViewComponent, decorators: [{
677
+ type: i0.Component,
986
678
  args: [{
987
- providedIn: 'root'
679
+ selector: 'map-view',
680
+ templateUrl: './map-view.component.html',
681
+ styleUrls: ['./map-view.component.scss']
988
682
  }]
989
- }], ctorParameters: function () { return [{ type: AgentService }, { type: i2__namespace.MapDirectionsService }, { type: i3__namespace.HttpClient }]; }, propDecorators: { directionsRenders: [{
990
- type: i0.ViewChildren,
991
- args: ['directionsRender']
683
+ }], ctorParameters: function () { return []; }, propDecorators: { mapConfig: [{
684
+ type: i0.Input
992
685
  }] } });
993
686
 
994
- var OpenStreetMapsService = /** @class */ (function () {
995
- function OpenStreetMapsService(agentService, mapDirectionsService, httpClient) {
996
- this.agentService = agentService;
997
- this.mapDirectionsService = mapDirectionsService;
998
- this.httpClient = httpClient;
999
- this.allMarkers = [];
687
+ var TaskItemStatusComponent = /** @class */ (function () {
688
+ function TaskItemStatusComponent() {
689
+ this.styles = {};
690
+ this.value = '';
1000
691
  }
1001
- // To get Current Position
1002
- OpenStreetMapsService.prototype.getPosition = function () {
1003
- return new Promise(function (resolve, reject) {
1004
- navigator.geolocation.watchPosition(function (resp) {
1005
- resolve({
1006
- lng: resp.coords.longitude,
1007
- lat: resp.coords.latitude
1008
- });
1009
- }, function (err) {
1010
- reject(err);
1011
- });
1012
- });
1013
- };
1014
- // To extract Location from the Task Details
1015
- OpenStreetMapsService.prototype.getLocation = function (task) {
692
+ TaskItemStatusComponent.prototype.ngOnInit = function () {
1016
693
  return __awaiter(this, void 0, void 0, function () {
1017
- var _this = this;
1018
- return __generator(this, function (_q) {
1019
- return [2 /*return*/, new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {
1020
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, encodedAddres, config, address, config, address, address, url, response, data, isValidLocation, location;
1021
- return __generator(this, function (_q) {
1022
- switch (_q.label) {
1023
- case 0:
1024
- // If Fetch Address from Multiple Paths
1025
- if (kwikidToolkit.checkObjectPathExists(this.agentService.config, 'dashboard.taskLocationPaths')) {
1026
- config = this.agentService.config.dashboard.taskLocationPaths;
1027
- address = addressConcator(task, config);
1028
- // Encode the Address in URI
1029
- encodedAddres = encodeURI(address);
1030
- }
1031
- // If Fetch Address from Single Path
1032
- else if (kwikidToolkit.checkObjectPathExists(this.agentService.config, 'dashboard.taskLocationPath')) {
1033
- config = this.agentService.config.dashboard.taskLocationPath;
1034
- address = kwikidToolkit.getObjectValueFromPath(task, config);
1035
- // Encode the Address in URI
1036
- encodedAddres = encodeURI(address);
1037
- }
1038
- // Default Address Paths Avaiable
1039
- else {
1040
- address = (_k = (_j = (_g = (_d = (_c = (_b = (_a = task === null || task === void 0 ? void 0 : task.extras) === null || _a === void 0 ? void 0 : _a.task_details) === null || _b === void 0 ? void 0 : _b.customer_details) === null || _c === void 0 ? void 0 : _c.address) !== null && _d !== void 0 ? _d : (_f = (_e = task === null || task === void 0 ? void 0 : task.task_details) === null || _e === void 0 ? void 0 : _e.customer_details) === null || _f === void 0 ? void 0 : _f.address) !== null && _g !== void 0 ? _g : (_h = task === null || task === void 0 ? void 0 : task.extras) === null || _h === void 0 ? void 0 : _h.address) !== null && _j !== void 0 ? _j : task === null || task === void 0 ? void 0 : task.address) !== null && _k !== void 0 ? _k : '';
1041
- // Encode the Address in URI
1042
- encodedAddres = encodeURI(address);
1043
- }
1044
- url = "https://nominatim.openstreetmap.org/search?q=" + encodedAddres + "&format=json";
1045
- return [4 /*yield*/, fetch(url)];
1046
- case 1:
1047
- response = _q.sent();
1048
- return [4 /*yield*/, response.json()];
1049
- case 2:
1050
- data = _q.sent();
1051
- isValidLocation = kwikidToolkit.isNotEmptyArray(data) && ((_l = data[0]) === null || _l === void 0 ? void 0 : _l.lat) & ((_m = data[0]) === null || _m === void 0 ? void 0 : _m.lon);
1052
- location = isValidLocation
1053
- ? { lat: (_o = data[0]) === null || _o === void 0 ? void 0 : _o.lat, lng: (_p = data[0]) === null || _p === void 0 ? void 0 : _p.lon }
1054
- : { lat: null, lng: null };
1055
- // Set Location validation & Google Maps URL
1056
- location['isValidLocation'] = isValidLocation;
1057
- location['color'] = isValidLocation ? 'blue' : 'red';
1058
- location['googleMapsUrl'] = "https://www.google.com/maps/place/" + (location === null || location === void 0 ? void 0 : location.lat) + "," + (location === null || location === void 0 ? void 0 : location.lng);
1059
- resolve(location);
1060
- return [2 /*return*/];
1061
- }
1062
- });
1063
- }); })];
694
+ return __generator(this, function (_c) {
695
+ this.setupStatus();
696
+ return [2 /*return*/];
1064
697
  });
1065
698
  });
1066
699
  };
1067
- // Get Tasks | Markers Location Co Ordinates
1068
- OpenStreetMapsService.prototype.getMarkersLocation = function (myMarker, tasks) {
1069
- return __awaiter(this, void 0, void 0, function () {
1070
- var _this = this;
1071
- return __generator(this, function (_q) {
1072
- return [2 /*return*/, new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {
1073
- var markers, promises;
1074
- var _this = this;
1075
- return __generator(this, function (_q) {
1076
- switch (_q.label) {
1077
- case 0:
1078
- markers = [];
1079
- markers.push(myMarker);
1080
- promises = tasks.map(function (task) { return __awaiter(_this, void 0, void 0, function () {
1081
- var marker;
1082
- return __generator(this, function (_q) {
1083
- switch (_q.label) {
1084
- case 0: return [4 /*yield*/, this.getLocation(task)];
1085
- case 1:
1086
- marker = _q.sent();
1087
- task = Object.assign(Object.assign({}, task), marker);
1088
- markers.push(task);
1089
- return [2 /*return*/];
1090
- }
1091
- });
1092
- }); });
1093
- return [4 /*yield*/, Promise.all(promises)];
1094
- case 1:
1095
- _q.sent();
1096
- resolve(markers);
1097
- return [2 /*return*/];
1098
- }
1099
- });
1100
- }); })];
1101
- });
1102
- });
700
+ TaskItemStatusComponent.prototype.ngOnChanges = function (changes) {
701
+ var verifyChange = function (key) {
702
+ return changes.hasOwnProperty(key) && !changes[key].firstChange;
703
+ };
704
+ if (verifyChange('config')) {
705
+ this.config = changes.config.currentValue;
706
+ }
707
+ if (verifyChange('status')) {
708
+ this.status = changes.status.currentValue;
709
+ this.setupStatus();
710
+ }
1103
711
  };
1104
- // To Initialize Open Street Map
1105
- OpenStreetMapsService.prototype.initializeMap = function () {
1106
- return __awaiter(this, void 0, void 0, function () {
1107
- var _q;
1108
- return __generator(this, function (_r) {
1109
- switch (_r.label) {
1110
- case 0:
1111
- console.log('Running Init Open Street Maps');
1112
- _q = this;
1113
- return [4 /*yield*/, this.getPosition()];
1114
- case 1:
1115
- _q.myPosition = _r.sent();
1116
- this.map = L__namespace.map('map', {
1117
- center: [this.myPosition.lat, this.myPosition.lng],
1118
- zoom: 11
1119
- });
1120
- L__namespace.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(this.map);
1121
- return [2 /*return*/];
1122
- }
1123
- });
1124
- });
712
+ TaskItemStatusComponent.prototype.setupStatus = function () {
713
+ var _a, _b;
714
+ if (kwikidToolkit.checkObjectPathExists(this.config, 'mapping') &&
715
+ kwikidToolkit.checkObjectKeyExists(this.config.mapping, this.status)) {
716
+ this.styles = this.config.mapping[this.status];
717
+ this.value =
718
+ (_b = (_a = this.config.mapping[this.status]) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : kwikidToolkit.convertSnakeCaseToNormalText(this.status);
719
+ }
1125
720
  };
1126
- // To Add Open Street Marker in Map
1127
- OpenStreetMapsService.prototype.addMarker = function (_q) {
1128
- var lat = _q.lat, lng = _q.lng, title = _q.title, color = _q.color;
1129
- L__namespace.marker([lat, lng], {
1130
- icon: L__namespace.icon({
1131
- iconUrl: color == 'red'
1132
- ? 'https://kwikid.s3.ap-south-1.amazonaws.com/CONFIG/USER/assets/map-marker-0.png'
1133
- : 'https://kwikid.s3.ap-south-1.amazonaws.com/CONFIG/USER/assets/map-marker-1.png'
1134
- })
1135
- })
1136
- .addTo(this.map)
1137
- .bindPopup(title);
1138
- };
1139
- // To Plot Open Street Directions for All Tasks
1140
- OpenStreetMapsService.prototype.plotDirectionsForAllTasks = function (tasks) {
721
+ return TaskItemStatusComponent;
722
+ }());
723
+ /** @nocollapse */ TaskItemStatusComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskItemStatusComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
724
+ /** @nocollapse */ TaskItemStatusComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TaskItemStatusComponent, selector: "task-item-status", inputs: { config: "config", status: "status" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"task-iem-status-container\" [style]=\"styles\">\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"] });
725
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskItemStatusComponent, decorators: [{
726
+ type: i0.Component,
727
+ args: [{
728
+ selector: 'task-item-status',
729
+ templateUrl: './task-item-status.component.html',
730
+ styleUrls: ['./task-item-status.component.scss']
731
+ }]
732
+ }], ctorParameters: function () { return []; }, propDecorators: { config: [{
733
+ type: i0.Input
734
+ }], status: [{
735
+ type: i0.Input
736
+ }] } });
737
+
738
+ var TaskDetailComponent = /** @class */ (function () {
739
+ function TaskDetailComponent() {
740
+ this.config = {};
741
+ this.taskDetail = {};
742
+ this.data = [];
743
+ this.title = undefined;
744
+ this.taskId = undefined;
745
+ this.status = undefined;
746
+ this.labelValuePairConfig = {};
747
+ this.labelValuePairData = [];
748
+ this.onClickCloseTaskDetail = new i0.EventEmitter();
749
+ }
750
+ TaskDetailComponent.prototype.ngOnInit = function () {
1141
751
  return __awaiter(this, void 0, void 0, function () {
1142
- var myMarker, _q, startingPoint, unvisitedWaypoints, optimizedRoute, styles;
1143
- var _this = this;
1144
- return __generator(this, function (_r) {
1145
- switch (_r.label) {
1146
- case 0:
1147
- if (!this.map) return [3 /*break*/, 2];
1148
- this.allMarkers = [];
1149
- myMarker = {
1150
- lat: this.myPosition.lat,
1151
- lng: this.myPosition.lng,
1152
- title: 0,
1153
- color: 'red'
1154
- };
1155
- this.addMarker(myMarker);
1156
- this.allMarkers.push(myMarker);
1157
- // Create Markers for all Tasks
1158
- _q = this;
1159
- return [4 /*yield*/, this.getMarkersLocation(myMarker, tasks)];
1160
- case 1:
1161
- // Create Markers for all Tasks
1162
- _q.allMarkers = _r.sent();
1163
- startingPoint = this.allMarkers[0];
1164
- unvisitedWaypoints = this.allMarkers.slice(1);
1165
- optimizedRoute = nearestNeighborAlgorithm(startingPoint, unvisitedWaypoints);
1166
- // Sort All Markers as per optimized routes
1167
- this.allMarkers = this.sortTasksAsPerDistance(optimizedRoute, this.allMarkers, true);
1168
- // Sort All Tasks as per optimized routes
1169
- tasks = this.sortTasksAsPerDistance(optimizedRoute.slice(1), tasks, false);
1170
- // Plot Markers for All Tasks
1171
- tasks.map(function (task) {
1172
- if (task === null || task === void 0 ? void 0 : task.isValidLocation) {
1173
- var marker = _this.getLocation(task);
1174
- _this.addMarker(marker);
1175
- }
1176
- });
1177
- styles = [
1178
- { color: 'blue', opacity: 1, weight: 8 },
1179
- { color: 'white', opacity: 0.6, weight: 12 }
1180
- ];
1181
- // Set Routes for all Tasks
1182
- this.allTasksRoutes = this.setRoutes(this.allMarkers, styles);
1183
- this.fitMapBounds();
1184
- _r.label = 2;
1185
- case 2: return [2 /*return*/, tasks];
1186
- }
752
+ return __generator(this, function (_j) {
753
+ this.parseData();
754
+ this.parseTaskId();
755
+ this.parseSessionStatus();
756
+ return [2 /*return*/];
1187
757
  });
1188
758
  });
1189
759
  };
1190
- // To plot Open Street Direction for selected Task
1191
- OpenStreetMapsService.prototype.plotDirectionsForSelectedTask = function (task) {
1192
- if (task !== null) {
1193
- // Remove Previously Selected Task Route
1194
- if (this.selectedTaskRoutes) {
1195
- this.map.removeControl(this.selectedTaskRoutes);
1196
- }
1197
- // Remove All Tasks Routes
1198
- if (this.allTasksRoutes) {
1199
- this.map.removeControl(this.allTasksRoutes);
1200
- }
1201
- var taskMarker = task;
1202
- // If Location is Available in Task Details
1203
- if (taskMarker.color != 'red') {
1204
- var markers = [this.allMarkers[0], taskMarker];
1205
- var styles = [
1206
- { color: 'green', opacity: 1, weight: 8 },
1207
- { color: 'white', opacity: 0.4, weight: 12 }
1208
- ];
1209
- this.selectedTaskRoutes = this.setRoutes(markers, styles);
1210
- this.setSelectedTaskDistanceAndTime();
1211
- }
1212
- else {
1213
- alert('No Location Available');
1214
- }
760
+ TaskDetailComponent.prototype.ngOnChanges = function (changes) { };
761
+ TaskDetailComponent.prototype.parseData = function () {
762
+ var _this = this;
763
+ var _a, _b, _c, _d, _e, _f, _g, _h;
764
+ if (kwikidToolkit.checkObjectPathExists(this.config, 'taskUI.details.data') &&
765
+ kwikidToolkit.isNotEmptyValue(this.config.taskUI.details.data) &&
766
+ Array.isArray(this.config.taskUI.details.data) &&
767
+ this.config.taskUI.details.data.length > 0) {
768
+ var data_1 = [];
769
+ this.config.taskUI.details.data.map(function (field) {
770
+ var value = kwikidToolkit.getObjectValueFromPath(_this.taskDetail.data, field.path);
771
+ data_1.push({ label: field.label, value: value });
772
+ });
773
+ this.labelValuePairData = data_1;
774
+ this.labelValuePairConfig = (_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.config) !== null && _d !== void 0 ? _d : {};
775
+ this.title = (_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.header) === null || _h === void 0 ? void 0 : _h.title;
1215
776
  }
1216
- // Set All Tasks Routes Again & Remove Selected Tasks route
1217
- else {
1218
- if (this.selectedTaskRoutes) {
1219
- this.map.removeControl(this.selectedTaskRoutes);
1220
- }
1221
- this.map.addControl(this.allTasksRoutes);
1222
- this.selectedTaskRoutes = undefined;
777
+ };
778
+ TaskDetailComponent.prototype.parseSessionStatus = function () {
779
+ var _a, _b, _c, _d, _e, _f, _g;
780
+ if (((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.utilityFlags) === null || _b === void 0 ? void 0 : _b.isShowTaskStatus) &&
781
+ kwikidToolkit.checkObjectPathExists(this.config, 'taskUI.details.header.taskStatus.path') &&
782
+ kwikidToolkit.isNotEmptyValue(this.config.taskUI.details.header.taskStatus.path)) {
783
+ this.status = kwikidToolkit.getObjectValueFromPath(this.taskDetail.data, (_g = (_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.header) === null || _f === void 0 ? void 0 : _f.taskStatus) === null || _g === void 0 ? void 0 : _g.path);
1223
784
  }
1224
- this.fitMapBounds();
1225
- };
1226
- // Get Distance & Time of Selected Task
1227
- OpenStreetMapsService.prototype.getSelectedTaskDistanceAndTime = function () {
1228
- return this.selectedTaskDistanceAndTime;
1229
- };
1230
- // Set Distance & Time of Selected Task
1231
- OpenStreetMapsService.prototype.setSelectedTaskDistanceAndTime = function () {
1232
- this.selectedTaskRoutes.on('routesfound', function (e) {
1233
- var routes = e.routes;
1234
- var summary = routes[0].summary;
1235
- var distance = summary.totalDistance / 1000;
1236
- var time = Math.round((summary.totalTime % 3600) / 60);
1237
- this.selectedTaskDistanceAndTime = {
1238
- distance: distance,
1239
- time: time
1240
- };
1241
- });
1242
785
  };
1243
- // To sort Open Street Maps Task as per nearest distance
1244
- OpenStreetMapsService.prototype.sortTasksAsPerDistance = function (order, tasks, isMarker) {
1245
- var sortedTasks = [];
1246
- for (var i = 0; i < tasks.length; i++) {
1247
- var title = isMarker ? order[i].title : order[i].title - 1;
1248
- var task = tasks[title];
1249
- sortedTasks.push(task);
786
+ TaskDetailComponent.prototype.parseTaskId = function () {
787
+ var _a, _b, _c, _d, _e;
788
+ if (kwikidToolkit.checkObjectPathExists(this.config, 'taskUI.details.header.taskId.path') &&
789
+ kwikidToolkit.isNotEmptyValue(this.config.taskUI.details.header.taskId.path)) {
790
+ this.taskId = kwikidToolkit.getObjectValueFromPath(this.taskDetail.data, (_e = (_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.header) === null || _d === void 0 ? void 0 : _d.taskId) === null || _e === void 0 ? void 0 : _e.path);
1250
791
  }
1251
- return sortedTasks;
1252
- };
1253
- // To set Open Street routes in the maps
1254
- OpenStreetMapsService.prototype.setRoutes = function (markers, styles) {
1255
- return L__namespace.Routing.control({
1256
- waypoints: markers,
1257
- lineOptions: {
1258
- styles: styles
1259
- },
1260
- createMarker: function () {
1261
- return null;
1262
- },
1263
- routeWhileDragging: true
1264
- }).addTo(this.map);
1265
792
  };
1266
- // To set Open Street view point on the map
1267
- OpenStreetMapsService.prototype.fitMapBounds = function () {
1268
- var markerLatLngs = this.allMarkers.map(function (marker) { return L__namespace.latLng(marker.lat, marker.lng); });
1269
- this.map.fitBounds(markerLatLngs);
793
+ TaskDetailComponent.prototype.handleOnClickClose = function (e) {
794
+ this.onClickCloseTaskDetail.emit(e);
795
+ };
796
+ TaskDetailComponent.prototype.handleOnClickPerformAction = function (e) {
797
+ alert(e.id + ", Action yet to be added");
1270
798
  };
1271
- return OpenStreetMapsService;
799
+ return TaskDetailComponent;
1272
800
  }());
1273
- /** @nocollapse */ OpenStreetMapsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: OpenStreetMapsService, deps: [{ token: AgentService }, { token: i2__namespace.MapDirectionsService }, { token: i3__namespace.HttpClient }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
1274
- /** @nocollapse */ OpenStreetMapsServiceprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: OpenStreetMapsService, providedIn: 'root' });
1275
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: OpenStreetMapsService, decorators: [{
1276
- type: i0.Injectable,
801
+ /** @nocollapse */ TaskDetailComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskDetailComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
802
+ /** @nocollapse */ TaskDetailComponentcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TaskDetailComponent, selector: "task-detail", inputs: { config: "config", taskDetail: "taskDetail" }, outputs: { onClickCloseTaskDetail: "onClickCloseTaskDetail" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div id=\"task-detail-container\">\n <kwikui-button\n appearance=\"primary\"\n icon=\"tuiIconChevronLeft\"\n label=\"Back\"\n size=\"s\"\n shape=\"rounded\"\n (onClick)=\"handleOnClickClose($event)\"\n ></kwikui-button>\n\n <div id=\"task-details-title\">{{ title }}</div>\n <div id=\"task-detail-header\">\n <div>{{ taskId }}</div>\n <task-item-status\n *ngIf=\"status\"\n [config]=\"config?.taskUI?.details?.header?.taskStatus\"\n [status]=\"status\"\n ></task-item-status>\n </div>\n\n <div id=\"task-details-container\">\n <kwikui-label-value-pair\n [config]=\"labelValuePairConfig\"\n [data]=\"labelValuePairData\"\n ></kwikui-label-value-pair>\n </div>\n\n <div\n id=\"task-detail-footer\"\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 <kwikui-button\n [label]=\"action.label\"\n appearance=\"primary\"\n size=\"s\"\n shape=\"rounded\"\n (onClick)=\"handleOnClickPerformAction(action)\"\n ></kwikui-button>\n </ng-container>\n </div>\n</div>\n", styles: ["#task-detail-container{padding:1rem;font-size:1rem;display:flex;flex-direction:column;grid-gap:.5rem;gap:.5rem}#task-details-title{font-weight:600;font-size:1.5rem;margin:.5rem 0}#task-detail-header{display:flex;flex-direction:row;grid-gap:.5rem;gap:.5rem}#task-detail-footer{display:flex;flex-direction:row;grid-gap:.5rem;gap:.5rem}\n"], components: [{ type: i1__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: TaskItemStatusComponent, selector: "task-item-status", inputs: ["config", "status"] }, { type: i1__namespace.KwikUILabelValuePairComponent, selector: "kwikui-label-value-pair", inputs: ["config", "data", "id"] }], directives: [{ type: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
803
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskDetailComponent, decorators: [{
804
+ type: i0.Component,
1277
805
  args: [{
1278
- providedIn: 'root'
806
+ selector: 'task-detail',
807
+ templateUrl: './task-detail.component.html',
808
+ styleUrls: ['./task-detail.component.scss']
1279
809
  }]
1280
- }], ctorParameters: function () { return [{ type: AgentService }, { type: i2__namespace.MapDirectionsService }, { type: i3__namespace.HttpClient }]; }, propDecorators: { directionsRenders: [{
1281
- type: i0.ViewChildren,
1282
- args: ['directionsRender']
810
+ }], ctorParameters: function () { return []; }, propDecorators: { config: [{
811
+ type: i0.Input
812
+ }], taskDetail: [{
813
+ type: i0.Input
814
+ }], onClickCloseTaskDetail: [{
815
+ type: i0.Output
1283
816
  }] } });
1284
817
 
1285
- var StatusPillComponent = /** @class */ (function () {
1286
- function StatusPillComponent() {
818
+ var BottomSheetComponent = /** @class */ (function () {
819
+ function BottomSheetComponent() {
820
+ this.isSwipeActive = false;
821
+ this.swipeDirection = null;
822
+ this.height = 320; // Initial height of the bottom sheet
823
+ this.minHeight = 54; // Initial height of the bottom sheet
1287
824
  }
1288
- StatusPillComponent.prototype.ngOnInit = function () {
1289
- if (kwikidToolkit.isEmptyValue(this.status)) {
1290
- this.status = EStatus.WAITING;
825
+ BottomSheetComponent.prototype.ngOnInit = function () {
826
+ return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
827
+ return [2 /*return*/];
828
+ }); });
829
+ };
830
+ BottomSheetComponent.prototype.onMouseStart = function (event) {
831
+ event.preventDefault();
832
+ this.isSwipeActive = true;
833
+ this.startY = event.clientY;
834
+ this.startHeight = this.parentElement.nativeElement.clientHeight;
835
+ };
836
+ BottomSheetComponent.prototype.onMouseMove = function (event) {
837
+ if (this.isSwipeActive) {
838
+ this.resize(event.clientY);
839
+ }
840
+ };
841
+ BottomSheetComponent.prototype.onMouseEnd = function (event) {
842
+ this.isSwipeActive = false;
843
+ };
844
+ BottomSheetComponent.prototype.onTouchStart = function (event) {
845
+ event.preventDefault();
846
+ this.isSwipeActive = true;
847
+ this.startY = event.touches[0].clientY;
848
+ this.startHeight = this.parentElement.nativeElement.clientHeight;
849
+ };
850
+ BottomSheetComponent.prototype.onTouchMove = function (event) {
851
+ event.preventDefault(); // Prevent scrolling while dragging
852
+ if (this.isSwipeActive) {
853
+ this.resize(event.touches[0].clientY);
1291
854
  }
1292
855
  };
1293
- StatusPillComponent.prototype.getStatusPillClass = function (status) {
1294
- var newStatus = status.replace('_', '-').replace('_', '-').replace('_', '-');
1295
- return "status-pill " + newStatus;
856
+ BottomSheetComponent.prototype.onTouchEnd = function (event) {
857
+ this.isSwipeActive = false;
1296
858
  };
1297
- StatusPillComponent.prototype.getStatusLabel = function (status) {
1298
- return status.replace('_', ' ').replace('_', ' ').replace('_', ' ');
859
+ BottomSheetComponent.prototype.resize = function (clientY) {
860
+ var deltaY = clientY - this.startY;
861
+ var newHeight = this.startHeight - deltaY;
862
+ if (newHeight > this.startHeight) {
863
+ this.swipeDirection = 'UP';
864
+ }
865
+ if (newHeight < this.startHeight) {
866
+ this.swipeDirection = 'DOWN';
867
+ }
868
+ var maxHeight = window.innerHeight - 180;
869
+ if (newHeight >= this.minHeight && newHeight <= maxHeight) {
870
+ // this.height = newHeight;
871
+ this.parentElement.nativeElement.style.height = newHeight + "px";
872
+ }
873
+ else if (newHeight < this.minHeight) {
874
+ this.parentElement.nativeElement.style.height = this.minHeight + "px";
875
+ }
876
+ else if (newHeight > maxHeight) {
877
+ this.parentElement.nativeElement.style.height = maxHeight + "px";
878
+ }
879
+ };
880
+ BottomSheetComponent.prototype.preventMouseOrTouchEvents = function (event) {
881
+ event.stopPropagation();
882
+ return undefined;
1299
883
  };
1300
- return StatusPillComponent;
884
+ BottomSheetComponent.prototype.removeEventListeners = function () {
885
+ document.removeEventListener('mousedown', this.onMouseStart.bind(this));
886
+ document.removeEventListener('mousemove', this.onMouseMove.bind(this));
887
+ document.removeEventListener('mouseup', this.onMouseEnd.bind(this));
888
+ document.removeEventListener('touchend', this.onTouchMove.bind(this));
889
+ document.removeEventListener('touchmove', this.onTouchEnd.bind(this));
890
+ document.removeEventListener('touchstart', this.onTouchEnd.bind(this));
891
+ };
892
+ return BottomSheetComponent;
1301
893
  }());
1302
- /** @nocollapse */ StatusPillComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: StatusPillComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1303
- /** @nocollapse */ StatusPillComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: StatusPillComponent, selector: "status-pill", inputs: { status: "status" }, ngImport: i0__namespace, template: "<div [ngClass]=\"getStatusPillClass(status)\">{{ getStatusLabel(status) }}</div>\n", styles: [".status-pill{background-color:#555;padding:.1rem .5rem;border-radius:1rem;font-size:.7rem;color:#fff}.complete,.kyc-request-accepted,.kyc-result-approved{background-color:var(--tui-positive)}.rejected,.kyc-request-rejected,.kyc-result-rejected,.kyc-rejected{background-color:var(--tui-negative)}.auditing,.on-going,.kyc-result-partial-update,.kyc-resut-partial-update{background-color:var(--tui-primary)}.after-audit,.waiting,.kyc-result-under-review{background-color:var(--tui-warning-fill);color:#222}\n"], directives: [{ type: i6__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
1304
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: StatusPillComponent, decorators: [{
894
+ /** @nocollapse */ BottomSheetComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BottomSheetComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
895
+ /** @nocollapse */ BottomSheetComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BottomSheetComponent, selector: "bottom-sheet", viewQueries: [{ propertyName: "parentElement", first: true, predicate: ["parentElement"], descendants: true, static: true }], ngImport: i0__namespace, template: "<div #parentElement class=\"bottom-sheet\" [style.height.px]=\"height\">\n <div\n class=\"top-holder\"\n (mousedown)=\"onMouseStart($event)\"\n (mousemove)=\"onMouseMove($event)\"\n (mouseup)=\"onMouseEnd($event)\"\n (touchend)=\"onTouchEnd($event)\"\n (touchmove)=\"onTouchMove($event)\"\n (touchstart)=\"onTouchStart($event)\"\n >\n <tui-svg\n *ngIf=\"isSwipeActive && swipeDirection == 'UP'\"\n src=\"tuiIconChevronUpLarge\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"isSwipeActive && swipeDirection == 'DOWN'\"\n src=\"tuiIconChevronDownLarge\"\n ></tui-svg>\n <tui-svg *ngIf=\"!isSwipeActive\" src=\"tuiIconHrLarge\"></tui-svg>\n </div>\n <!-- Use ng-content to project content into the component -->\n <div class=\"bottom-sheet-content-container\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".bottom-sheet{position:absolute;bottom:0;left:0;width:100%;background-color:#fff;box-shadow:0 -2px 6px #0000001a;overflow:auto;resize:vertical;border-top-right-radius:1rem;border-top-left-radius:1rem;display:flex;flex-direction:column;z-index:5;padding-top:1rem}.top-holder{width:100%;height:40px;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;cursor:grab;z-index:1}.top-holder:focus,.top-holder:focus-within,.top-holder:active{cursor:grabbing}.resize-handle{position:absolute;bottom:0;left:0;width:100%;height:10px;cursor:ns-resize;background-color:transparent}.bottom-sheet-content-container{width:100%;height:100%;position:relative;z-index:1;overflow:auto}\n"], components: [{ type: i3__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
896
+ __decorate([
897
+ kwikidToolkit.logMethod
898
+ ], BottomSheetComponent.prototype, "onMouseStart", null);
899
+ __decorate([
900
+ kwikidToolkit.logMethod
901
+ ], BottomSheetComponent.prototype, "onMouseEnd", null);
902
+ __decorate([
903
+ kwikidToolkit.logMethod
904
+ ], BottomSheetComponent.prototype, "onTouchStart", null);
905
+ __decorate([
906
+ kwikidToolkit.logMethod
907
+ ], BottomSheetComponent.prototype, "onTouchMove", null);
908
+ __decorate([
909
+ kwikidToolkit.logMethod
910
+ ], BottomSheetComponent.prototype, "onTouchEnd", null);
911
+ __decorate([
912
+ kwikidToolkit.logMethod
913
+ ], BottomSheetComponent.prototype, "preventMouseOrTouchEvents", null);
914
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BottomSheetComponent, decorators: [{
1305
915
  type: i0.Component,
1306
916
  args: [{
1307
- selector: 'status-pill',
1308
- templateUrl: './status-pill.component.html',
1309
- styleUrls: ['./status-pill.component.css']
917
+ selector: 'bottom-sheet',
918
+ templateUrl: './bottom-sheet.component.html',
919
+ styleUrls: ['./bottom-sheet.component.scss']
1310
920
  }]
1311
- }], propDecorators: { status: [{
1312
- type: i0.Input
1313
- }] } });
921
+ }], ctorParameters: function () { return []; }, propDecorators: { parentElement: [{
922
+ type: i0.ViewChild,
923
+ args: ['parentElement', { static: true }]
924
+ }], onMouseStart: [], onMouseEnd: [], onTouchStart: [], onTouchMove: [], onTouchEnd: [], preventMouseOrTouchEvents: [] } });
925
+
926
+ var convertKwikUIDateToStringFormat = function (event) {
927
+ var year = event.year;
928
+ var month = padZeroValuesInStart(event.month + 1, 2);
929
+ var day = padZeroValuesInStart(event.day);
930
+ return year + "-" + month + "-" + day;
931
+ };
932
+ var convertNormalDateToStringFormat = function (value) {
933
+ var date = value ? new Date(value) : new Date();
934
+ var year = date.getFullYear();
935
+ var month = padZeroValuesInStart(date.getMonth() + 1);
936
+ var day = padZeroValuesInStart(date.getDate());
937
+ return year + "-" + month + "-" + day;
938
+ };
939
+ var padZeroValuesInStart = function (value, digits) {
940
+ if (digits === void 0) { digits = 2; }
941
+ return String(value).padStart(digits, '0');
942
+ };
1314
943
 
1315
- var CustomerDetailsComponent = /** @class */ (function () {
1316
- function CustomerDetailsComponent(agentService, googleMapsService, openStreetMapsService, cdr) {
1317
- this.agentService = agentService;
1318
- this.googleMapsService = googleMapsService;
1319
- this.openStreetMapsService = openStreetMapsService;
1320
- this.cdr = cdr;
1321
- this.customer = {};
1322
- this.viewTaskDetails = [];
1323
- this.nextStep = new i0.EventEmitter();
1324
- this.removeTask = new i0.EventEmitter();
944
+ var sortItems = function (data, key, sortInAscendingOrder) {
945
+ if (!data || data.length === 0) {
946
+ return data; // Skip sorting if no items are available
1325
947
  }
1326
- CustomerDetailsComponent.prototype.ngOnChanges = function (changes) {
1327
- this.cdr.detectChanges();
1328
- };
1329
- CustomerDetailsComponent.prototype.ngOnInit = function () {
1330
- var _a, _b, _c;
1331
- this.viewTaskDetails =
1332
- (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.dashboard) === null || _b === void 0 ? void 0 : _b.viewTaskDetails) !== null && _c !== void 0 ? _c : this.viewTaskDetails;
948
+ var sortedData = sortInAscendingOrder
949
+ ? data.sort(function (a, b) { return (a[key] > b[key] ? 1 : b[key] > a[key] ? -1 : 0); })
950
+ : data.sort(function (b, a) { return (a[key] > b[key] ? 1 : b[key] > a[key] ? -1 : 0); });
951
+ return sortedData;
952
+ };
953
+
954
+ var TaskListSearchComponent = /** @class */ (function () {
955
+ function TaskListSearchComponent() {
956
+ // Search Text
957
+ this.searchText = '';
958
+ this.formGroup = new i2$1.FormGroup({});
959
+ this.sortInAscendingOrder = true;
960
+ // Date Range Values
961
+ this.start_time = undefined;
962
+ this.end_time = undefined;
963
+ this.max = new i2.TuiDay(new Date().getFullYear(), new Date().getMonth(), new Date().getDate());
964
+ // Sorting Variables
965
+ this.sortFilterOptions = ['name', 'session_status', 'mobile_number'];
966
+ this.activeSearchAction = undefined;
967
+ this.onFilterTasksByText = new i0.EventEmitter();
968
+ this.onFilterTasksByDate = new i0.EventEmitter();
969
+ this.onChangeSortFilter = new i0.EventEmitter();
970
+ }
971
+ TaskListSearchComponent.prototype.ngOnInit = function () {
972
+ this.handleSearchAndSortFormControls();
973
+ this.handleInitialDateRange();
1333
974
  };
1334
- CustomerDetailsComponent.prototype.getTaskCreationTime = function (task) {
1335
- var _a;
1336
- if (kwikidToolkit.checkObjectPathExists(this.agentService.config, 'dashboard.taskCreationTimePath')) {
1337
- var time = kwikidToolkit.getObjectValueFromPath(task, this.agentService.config.dashboard.taskCreationTimePath);
1338
- return this.convertEpochToDate(time);
975
+ TaskListSearchComponent.prototype.handleOnClickSearchType = function (type) {
976
+ if (this.activeSearchAction !== type) {
977
+ this.activeSearchAction = type;
1339
978
  }
1340
979
  else {
1341
- 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);
980
+ this.activeSearchAction = undefined;
1342
981
  }
1343
982
  };
1344
- CustomerDetailsComponent.prototype.convertEpochToDate = function (epochTime) {
1345
- if (typeof epochTime == 'string')
1346
- epochTime = Number(epochTime);
1347
- var date = new Date(epochTime * 1000); // Convert to milliseconds
1348
- var day = date.getDate().toString().padStart(2, '0');
1349
- var month = (date.getMonth() + 1).toString().padStart(2, '0'); // Months are zero-based
1350
- var year = date.getFullYear().toString();
1351
- return day + "-" + month + "-" + year;
1352
- };
1353
- CustomerDetailsComponent.prototype.getTaskDetails = function (taskData) {
1354
- return kwikidToolkit.getObjectValueFromPath(this.customer, taskData);
983
+ TaskListSearchComponent.prototype.handleInitialDateRange = function () {
984
+ var _a, _b, _c, _d, _e, _f;
985
+ var 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 : {
986
+ day: 0,
987
+ month: 0,
988
+ year: 0
989
+ };
990
+ var currentDate = new Date();
991
+ var 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);
992
+ this.searchDateFormControl = new i2$1.FormControl({
993
+ value: new i2.TuiDayRange(new i2.TuiDay(startDate.getFullYear(), startDate.getMonth(), startDate.getDate()), this.max),
994
+ disabled: false
995
+ });
996
+ this.formGroup.addControl('search-date', this.searchDateFormControl);
997
+ this.start_time = convertNormalDateToStringFormat(startDate);
998
+ this.end_time = convertNormalDateToStringFormat(null);
999
+ // To get Tasks for First Time
1000
+ this.onFilterTasksByDate.emit({
1001
+ start_time: this.start_time,
1002
+ end_time: this.end_time
1003
+ });
1355
1004
  };
1356
- CustomerDetailsComponent.prototype.goToMaps = function (location) {
1357
- window.open("" + location, '_blank');
1005
+ TaskListSearchComponent.prototype.handleSearchAndSortFormControls = function () {
1006
+ var _a, _b;
1007
+ this.searchTextFormControl = new i2$1.FormControl('');
1008
+ this.formGroup.addControl('search-text', this.searchTextFormControl);
1009
+ this.sortFilterKeyFormControl = new i2$1.FormControl('');
1010
+ this.formGroup.addControl('sort-filter', this.sortFilterKeyFormControl);
1011
+ this.sortFilterOptions = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.extendedFlags) === null || _b === void 0 ? void 0 : _b.sortFilterKeys;
1012
+ };
1013
+ TaskListSearchComponent.prototype.handleOnChangeSearchText = function (event) {
1014
+ this.onFilterTasksByText.emit({ text: event.value });
1015
+ };
1016
+ TaskListSearchComponent.prototype.handleOnChangeDateRange = function (event) {
1017
+ this.handleChangeDateRangeFormat(event);
1018
+ this.onFilterTasksByDate.emit({
1019
+ start_time: this.start_time,
1020
+ end_time: this.end_time
1021
+ });
1358
1022
  };
1359
- CustomerDetailsComponent.prototype.handleOnClickNext = function (e) {
1360
- this.nextStep.emit(e);
1023
+ TaskListSearchComponent.prototype.handleOnChangeSortFilter = function (event) {
1024
+ this.onChangeSortFilter.emit({
1025
+ sortFilterKey: this.sortFilterKeyFormControl.value,
1026
+ sortFilterOrder: this.sortInAscendingOrder
1027
+ });
1361
1028
  };
1362
- CustomerDetailsComponent.prototype.close = function () {
1363
- var _a, _b;
1364
- this.agentService.currentTaskDetails = undefined;
1365
- if (((_b = (_a = this.agentService.config) === null || _a === void 0 ? void 0 : _a.dashboard) === null || _b === void 0 ? void 0 : _b.mapType) == 'google-maps') {
1366
- this.googleMapsService.plotDirectionsForSelectedTask(null);
1367
- }
1368
- else {
1369
- this.openStreetMapsService.plotDirectionsForSelectedTask(null);
1370
- }
1029
+ TaskListSearchComponent.prototype.handleOnClickChangeSortOrder = function () {
1030
+ this.sortInAscendingOrder = !this.sortInAscendingOrder;
1031
+ this.handleOnChangeSortFilter(false);
1371
1032
  };
1372
- CustomerDetailsComponent.prototype.handleOnClickRemoveTask = function (task) {
1373
- this.removeTask.emit(task);
1033
+ TaskListSearchComponent.prototype.handleChangeDateRangeFormat = function (event) {
1034
+ this.start_time = convertKwikUIDateToStringFormat(event.value.from);
1035
+ this.end_time = convertKwikUIDateToStringFormat(event.value.to);
1374
1036
  };
1375
- return CustomerDetailsComponent;
1037
+ return TaskListSearchComponent;
1376
1038
  }());
1377
- /** @nocollapse */ CustomerDetailsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomerDetailsComponent, deps: [{ token: AgentService }, { token: GoogleMapsService }, { token: OpenStreetMapsService }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
1378
- /** @nocollapse */ CustomerDetailsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomerDetailsComponent, selector: "customer-details", inputs: { customer: "customer", config: "config" }, outputs: { nextStep: "nextStep", removeTask: "removeTask" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"customer-details-wrapper\">\n <div class=\"customer-details-heading\">User Details</div>\n <div class=\"customer-details-body\">\n <div class=\"customer-details-user-id\">\n <kwikui-label-value-pair\n [data]=\"customer\"\n [field]=\"config?.dashboard?.taskIdentifier ?? {value:'$.user_id', type: 'string'} \"\n ></kwikui-label-value-pair>\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 <div\n class=\"customer-details-table-data\"\n *ngFor=\"let taskData of viewTaskDetails\"\n >\n <kwikui-label-value-pair\n [field]=\"taskData\"\n [data]=\"customer\"\n ></kwikui-label-value-pair>\n </div>\n </div>\n\n <div class=\"customer-details-date\">\n Created at: {{ getTaskCreationTime(customer) }}\n </div>\n\n <div class=\"customer-details-actions\">\n <div class=\"customer-details-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-details-journey-buttons\">\n <kwikui-button\n *ngIf=\"\n config.dashboard?.isShowMaps &&\n customer?.isValidLocation\n \"\n label=\"Show Directions\"\n appearance=\"flat\"\n size=\"s\"\n styles=\"font-size:0.7rem;\"\n (onClick)=\"\n goToMaps(customer?.googleMapsUrl)\n \"\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-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;grid-gap:1.25rem;gap:1.25rem}.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{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.customer-details-wrapper .customer-details-body .customer-details-actions .customer-details-task-buttons{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:1rem 0}.customer-details-wrapper .customer-details-body .customer-details-actions .customer-details-journey-buttons{padding-right:.2rem;display:flex;flex-direction:row;grid-gap:.2rem;gap:.2rem;align-items:center;justify-content:flex-end}.customer-details-wrapper .customer-details-body .customer-details-actions .customer-details-journey-buttons .customer-share-link{font-size:.7rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: i4__namespace.KwikUILabelValuePairComponent, selector: "kwikui-label-value-pair", inputs: ["field", "data"] }, { type: StatusPillComponent, selector: "status-pill", inputs: ["status"] }, { type: i4__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }], directives: [{ type: i6__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.Default });
1379
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomerDetailsComponent, decorators: [{
1039
+ /** @nocollapse */ TaskListSearchComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskListSearchComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1040
+ /** @nocollapse */ TaskListSearchComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TaskListSearchComponent, selector: "task-list-search", inputs: { config: "config" }, outputs: { onFilterTasksByText: "onFilterTasksByText", onFilterTasksByDate: "onFilterTasksByDate", onChangeSortFilter: "onChangeSortFilter" }, ngImport: i0__namespace, template: "<div class=\"task-list-search-container\" [formGroup]=\"formGroup\">\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 *ngIf=\"config?.utilityFlags?.isAllowSortTasks\"\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 class=\"task-list-search-action\" *ngIf=\"activeSearchAction\">\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", styles: [".task-list-search-container{width:100%}.task-list-search-container .task-list-search-icons{display:flex;justify-content:flex-end;align-items:center;flex-direction:row;grid-gap:.5rem;gap:.5rem}.task-list-search-container .task-list-search-action{margin-top:.5rem}.task-list-search-container .task-list-search-action .task-list-sort-action{display:flex;flex-direction:row;grid-gap:.5rem;gap:.5rem}.task-list-search-container .task-list-search-action .task-list-sort-action .task-list-sort-key{flex:1}\n"], components: [{ type: i1__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i1__namespace.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__namespace.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__namespace.KwikUIInputSelectComponent, selector: "kwikui-input-select", inputs: ["disabled", "focus", "formControl", "formControlName", "hintContent", "icon", "id", "invalid", "label", "options", "placeholder", "properties", "searchable", "size", "validators"], outputs: ["getKeyValue"] }], directives: [{ type: i2__namespace$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2__namespace$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1041
+ __decorate([
1042
+ kwikidToolkit.logMethod
1043
+ ], TaskListSearchComponent.prototype, "handleOnChangeSearchText", null);
1044
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskListSearchComponent, decorators: [{
1380
1045
  type: i0.Component,
1381
1046
  args: [{
1382
- selector: 'customer-details',
1383
- templateUrl: './customer-details.component.html',
1384
- styleUrls: ['./customer-details.component.scss'],
1385
- changeDetection: i0.ChangeDetectionStrategy.Default
1047
+ selector: 'task-list-search',
1048
+ templateUrl: './task-list-search.component.html',
1049
+ styleUrls: ['./task-list-search.component.scss'],
1050
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
1386
1051
  }]
1387
- }], ctorParameters: function () { return [{ type: AgentService }, { type: GoogleMapsService }, { type: OpenStreetMapsService }, { type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { customer: [{
1388
- type: i0.Input
1389
- }], config: [{
1052
+ }], ctorParameters: function () { return []; }, propDecorators: { config: [{
1390
1053
  type: i0.Input
1391
- }], nextStep: [{
1054
+ }], onFilterTasksByText: [{
1392
1055
  type: i0.Output
1393
- }], removeTask: [{
1056
+ }], onFilterTasksByDate: [{
1394
1057
  type: i0.Output
1395
- }] } });
1058
+ }], onChangeSortFilter: [{
1059
+ type: i0.Output
1060
+ }], handleOnChangeSearchText: [] } });
1396
1061
 
1397
- var CustomerTileComponent = /** @class */ (function () {
1398
- function CustomerTileComponent(googleMapsService, openStreetMapsService, agentService, hostElement) {
1399
- this.googleMapsService = googleMapsService;
1400
- this.openStreetMapsService = openStreetMapsService;
1401
- this.agentService = agentService;
1402
- this.hostElement = hostElement;
1403
- this.customer = {};
1404
- this.index = undefined;
1405
- this.isMobileView = false;
1406
- this.viewTaskDetails = [];
1407
- this.nextStep = new i0.EventEmitter();
1408
- this.removeTask = new i0.EventEmitter();
1062
+ var PREVIEW_DATA_DEFAULT_CONFIG = {
1063
+ separator: ':',
1064
+ orientation: 'horizontal',
1065
+ placeholder: '-',
1066
+ customStyles: {
1067
+ label: {},
1068
+ value: {},
1069
+ placeholder: {},
1070
+ container: {}
1409
1071
  }
1410
- CustomerTileComponent.prototype.windowResizeWatcher = function () {
1411
- if (this.hostElement.nativeElement.offsetWidth < 600) {
1412
- this.isMobileView = true;
1072
+ };
1073
+
1074
+ var TaskItemComponent = /** @class */ (function () {
1075
+ function TaskItemComponent() {
1076
+ this.config = {};
1077
+ this.data = {};
1078
+ this.header = '';
1079
+ this.status = '';
1080
+ this.previewConfig = {};
1081
+ this.previewData = [];
1082
+ this.onClickTaskItem = new i0.EventEmitter();
1083
+ this.onClickTaskItemViewDetail = new i0.EventEmitter();
1084
+ this.onClickPerformAction = new i0.EventEmitter();
1085
+ }
1086
+ TaskItemComponent.prototype.ngOnInit = function () {
1087
+ return __awaiter(this, void 0, void 0, function () {
1088
+ return __generator(this, function (_g) {
1089
+ this.parseHeader();
1090
+ this.parseSessionStatus();
1091
+ this.parsePreviewData();
1092
+ return [2 /*return*/];
1093
+ });
1094
+ });
1095
+ };
1096
+ TaskItemComponent.prototype.parseHeader = function () {
1097
+ var _a, _b, _c, _d;
1098
+ if (kwikidToolkit.checkObjectPathExists(this.config, 'taskUI.header.taskId.path') &&
1099
+ kwikidToolkit.isNotEmptyValue(this.config.taskUI.header.taskId.path)) {
1100
+ this.header = kwikidToolkit.getObjectValueFromPath(this.data, (_d = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.taskUI) === null || _b === void 0 ? void 0 : _b.header) === null || _c === void 0 ? void 0 : _c.taskId) === null || _d === void 0 ? void 0 : _d.path);
1413
1101
  }
1414
- else {
1415
- this.isMobileView = false;
1102
+ if (kwikidToolkit.checkObjectPathExists(this.config, 'taskUI.header.taskId.maxLengthToShow') &&
1103
+ kwikidToolkit.isNotEmptyValue(this.config.taskUI.header.taskId.maxLengthToShow) &&
1104
+ this.header.length > this.config.taskUI.header.taskId.maxLengthToShow) {
1105
+ this.header =
1106
+ this.header.slice(0, this.config.taskUI.header.taskId.maxLengthToShow) +
1107
+ '...';
1416
1108
  }
1417
1109
  };
1418
- CustomerTileComponent.prototype.ngOnInit = function () {
1419
- var _a, _b, _c;
1420
- this.viewTaskDetails =
1421
- (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.dashboard) === null || _b === void 0 ? void 0 : _b.viewTaskDetails) !== null && _c !== void 0 ? _c : this.viewTaskDetails;
1110
+ TaskItemComponent.prototype.parseSessionStatus = function () {
1111
+ var _a, _b, _c, _d, _e, _f;
1112
+ if (((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.utilityFlags) === null || _b === void 0 ? void 0 : _b.isShowTaskStatus) &&
1113
+ kwikidToolkit.checkObjectPathExists(this.config, 'taskUI.header.taskStatus.path') &&
1114
+ kwikidToolkit.isNotEmptyValue(this.config.taskUI.header.taskStatus.path)) {
1115
+ this.status = kwikidToolkit.getObjectValueFromPath(this.data, (_f = (_e = (_d = (_c = this.config) === null || _c === void 0 ? void 0 : _c.taskUI) === null || _d === void 0 ? void 0 : _d.header) === null || _e === void 0 ? void 0 : _e.taskStatus) === null || _f === void 0 ? void 0 : _f.path);
1116
+ }
1422
1117
  };
1423
- CustomerTileComponent.prototype.openDetails = function () {
1118
+ TaskItemComponent.prototype.parsePreviewData = function () {
1119
+ var _this = this;
1424
1120
  var _a, _b, _c, _d;
1425
- var isDifferentTaskSelected = ((_a = this.agentService.currentTaskDetails) === null || _a === void 0 ? void 0 : _a.session_id) !==
1426
- ((_b = this.customer) === null || _b === void 0 ? void 0 : _b.session_id);
1427
- if (isDifferentTaskSelected) {
1428
- this.agentService.currentTaskDetails = this.customer;
1429
- }
1430
- else {
1431
- this.agentService.currentTaskDetails = undefined;
1432
- }
1433
- if (this.agentService.showMapview) {
1434
- if (((_d = (_c = this.agentService.config) === null || _c === void 0 ? void 0 : _c.dashboard) === null || _d === void 0 ? void 0 : _d.mapType) == 'google-maps') {
1435
- this.googleMapsService.plotDirectionsForSelectedTask(this.agentService.currentTaskDetails);
1436
- }
1437
- else {
1438
- this.openStreetMapsService.plotDirectionsForSelectedTask(this.agentService.currentTaskDetails);
1439
- }
1121
+ if (kwikidToolkit.checkObjectPathExists(this.config, 'taskUI.preview.data') &&
1122
+ kwikidToolkit.isNotEmptyValue(this.config.taskUI.preview.data) &&
1123
+ Array.isArray(this.config.taskUI.preview.data) &&
1124
+ this.config.taskUI.preview.data.length > 0) {
1125
+ var previewData_1 = [];
1126
+ this.config.taskUI.preview.data.map(function (field) {
1127
+ var value = kwikidToolkit.getObjectValueFromPath(_this.data, field.path);
1128
+ previewData_1.push({ label: field.label, value: value });
1129
+ });
1130
+ this.previewData = previewData_1;
1131
+ this.previewConfig =
1132
+ (_d = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.taskUI) === null || _b === void 0 ? void 0 : _b.preview) === null || _c === void 0 ? void 0 : _c.config) !== null && _d !== void 0 ? _d : PREVIEW_DATA_DEFAULT_CONFIG;
1440
1133
  }
1441
1134
  };
1442
- CustomerTileComponent.prototype.goToMaps = function (location) {
1443
- window.open("" + location, '_blank');
1135
+ TaskItemComponent.prototype.handleOnClickTaskItem = function (e, taskItemData) {
1136
+ this.onClickTaskItem.emit({
1137
+ data: taskItemData
1138
+ });
1444
1139
  };
1445
- CustomerTileComponent.prototype.handleOnClickNext = function (e) {
1446
- this.nextStep.emit(e);
1140
+ TaskItemComponent.prototype.handleOnClickTaskItemViewDetail = function (e, taskItemData) {
1141
+ this.onClickTaskItemViewDetail.emit({
1142
+ data: taskItemData
1143
+ });
1447
1144
  };
1448
- CustomerTileComponent.prototype.handleOnClickRemoveTask = function (task) {
1449
- this.removeTask.emit(task);
1145
+ TaskItemComponent.prototype.handleOnClickPerformAction = function (e, action) {
1146
+ this.onClickPerformAction.emit({
1147
+ action: action
1148
+ });
1450
1149
  };
1451
- return CustomerTileComponent;
1150
+ return TaskItemComponent;
1452
1151
  }());
1453
- /** @nocollapse */ CustomerTileComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomerTileComponent, deps: [{ token: GoogleMapsService }, { token: OpenStreetMapsService }, { token: AgentService }, { token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
1454
- /** @nocollapse */ CustomerTileComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomerTileComponent, selector: "customer-tile", inputs: { customer: "customer", index: "index", config: "config" }, outputs: { nextStep: "nextStep", removeTask: "removeTask" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, ngImport: i0__namespace, 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 <kwikui-label-value-pair\n [data]=\"customer\"\n [field]=\"config?.dashboard?.taskIdentifier ?? {value:'$.user_id', type: 'string'} \"\n ></kwikui-label-value-pair>\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 <div\n *ngFor=\"let taskData of viewTaskDetails\"\n class=\"customer-tile-secondary-container-custom-details\"\n >\n <kwikui-label-value-pair\n [field]=\"taskData\"\n [data]=\"customer\"\n ></kwikui-label-value-pair>\n </div>\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 <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;padding:1rem;border-bottom:.5px solid #ddd}.customer-tile-wrapper .customer-tile-primary-container{display:flex;grid-gap:.5rem;gap:.5rem;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;width:100%;height:100%}.customer-tile-wrapper .customer-tile-primary-container .customer-tile-primary-container-data{padding-left:.2rem;grid-gap:.6rem;gap:.6rem;display:flex;flex-direction: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{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.customer-tile-wrapper .customer-tile-secondary-container .customer-tile-secondary-container-actions .customer-tile-secondary-container-task-buttons{display:flex;flex-direction:row;align-items:center;justify-content:flex-start}.customer-tile-wrapper .customer-tile-secondary-container .customer-tile-secondary-container-actions .customer-tile-secondary-container-journey-buttons{padding-right:.2rem;display:flex;flex-direction:row;grid-gap:.2rem;gap:.2rem;align-items:center;justify-content:flex-end}.customer-tile-wrapper .customer-tile-secondary-container .customer-tile-secondary-container-actions .customer-tile-secondary-container-journey-buttons .customer-share-link{font-size:.7rem}.customer-tile-wrapper .data-collasped{display:none}.customer-tile-active{background-color:#dcedfd}\n"], components: [{ type: i4__namespace.KwikUILabelValuePairComponent, selector: "kwikui-label-value-pair", inputs: ["field", "data"] }, { type: StatusPillComponent, selector: "status-pill", inputs: ["status"] }, { type: i4__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }], directives: [{ type: i6__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
1455
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomerTileComponent, decorators: [{
1152
+ /** @nocollapse */ TaskItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskItemComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1153
+ /** @nocollapse */ TaskItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TaskItemComponent, selector: "task-item", inputs: { config: "config", data: "data" }, outputs: { onClickTaskItem: "onClickTaskItem", onClickTaskItemViewDetail: "onClickTaskItemViewDetail", onClickPerformAction: "onClickPerformAction" }, ngImport: i0__namespace, template: "<tui-accordion\n class=\"task-item-container\"\n (click)=\"handleOnClickTaskItem($event, data)\"\n>\n <tui-accordion-item>\n <div class=\"task-item-header\">\n <div class=\"task-item-id\">{{ header }}</div>\n <task-item-status\n *ngIf=\"status\"\n [config]=\"config?.taskUI?.header?.taskStatus\"\n [status]=\"status\"\n ></task-item-status>\n </div>\n <ng-template tuiAccordionItemContent>\n <div class=\"task-item-preview\">\n <kwikui-label-value-pair\n [config]=\"previewConfig\"\n [data]=\"previewData\"\n ></kwikui-label-value-pair>\n </div>\n <div class=\"task-item-footer\">\n \n <kwikui-button\n appearance=\"primary\"\n label=\"View Detail\"\n shape=\"rounded\"\n size=\"s\"\n (onClick)=\"handleOnClickTaskItemViewDetail($event, data)\"\n ></kwikui-button>\n </div>\n </ng-template>\n </tui-accordion-item>\n</tui-accordion>\n", styles: [".task-item-header{display:flex;flex-direction:column}.task-item-footer{margin-top:.5rem}\n"], components: [{ type: i1__namespace$1.TuiAccordionComponent, selector: "tui-accordion", inputs: ["closeOthers", "rounded"] }, { type: i1__namespace$1.TuiAccordionItemComponent, selector: "tui-accordion-item", inputs: ["noPadding", "showArrow", "borders", "size", "disabled", "disableHover", "open", "async"], outputs: ["openChange"] }, { type: TaskItemStatusComponent, selector: "task-item-status", inputs: ["config", "status"] }, { type: i1__namespace.KwikUILabelValuePairComponent, selector: "kwikui-label-value-pair", inputs: ["config", "data", "id"] }, { type: i1__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }], directives: [{ type: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace$1.TuiAccordionItemContentDirective, selector: "ng-template[tuiAccordionItemContent]" }] });
1154
+ __decorate([
1155
+ kwikidToolkit.logMethod
1156
+ ], TaskItemComponent.prototype, "handleOnClickTaskItem", null);
1157
+ __decorate([
1158
+ kwikidToolkit.logMethod
1159
+ ], TaskItemComponent.prototype, "handleOnClickTaskItemViewDetail", null);
1160
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskItemComponent, decorators: [{
1456
1161
  type: i0.Component,
1457
1162
  args: [{
1458
- selector: 'customer-tile',
1459
- templateUrl: './customer-tile.component.html',
1460
- styleUrls: ['./customer-tile.component.scss']
1163
+ selector: 'task-item',
1164
+ templateUrl: './task-item.component.html',
1165
+ styleUrls: ['./task-item.component.scss']
1461
1166
  }]
1462
- }], ctorParameters: function () { return [{ type: GoogleMapsService }, { type: OpenStreetMapsService }, { type: AgentService }, { type: i0__namespace.ElementRef }]; }, propDecorators: { windowResizeWatcher: [{
1463
- type: i0.HostListener,
1464
- args: ['window:resize', ['$event']]
1465
- }], customer: [{
1167
+ }], ctorParameters: function () { return []; }, propDecorators: { config: [{
1466
1168
  type: i0.Input
1467
- }], index: [{
1169
+ }], data: [{
1468
1170
  type: i0.Input
1469
- }], config: [{
1470
- type: i0.Input
1471
- }], nextStep: [{
1171
+ }], onClickTaskItem: [{
1472
1172
  type: i0.Output
1473
- }], removeTask: [{
1173
+ }], onClickTaskItemViewDetail: [{
1474
1174
  type: i0.Output
1475
- }] } });
1175
+ }], onClickPerformAction: [{
1176
+ type: i0.Output
1177
+ }], handleOnClickTaskItem: [], handleOnClickTaskItemViewDetail: [] } });
1476
1178
 
1477
- var Ng2SearchPipe = /** @class */ (function () {
1478
- function Ng2SearchPipe() {
1179
+ var TaskListComponent = /** @class */ (function () {
1180
+ function TaskListComponent(loaderService) {
1181
+ this.loaderService = loaderService;
1182
+ this.config = {};
1183
+ this.taskItems = [];
1184
+ this.onClickTaskItemViewDetail = new i0.EventEmitter();
1185
+ // Pagination
1186
+ this.paginationIndex = 0;
1187
+ this.paginationLength = null;
1188
+ this.activePageItems = [];
1189
+ this.filteredItems = [];
1190
+ this.itemPerPage = 50;
1191
+ // Loaders
1192
+ this.loading = false;
1193
+ // Search Text
1194
+ this.searchText = '';
1195
+ // Sort Filter
1196
+ this.sortFilterKey = '';
1197
+ this.sortInAscendingOrder = 'ASC';
1198
+ // Date Range Values
1199
+ this.start_time = undefined;
1200
+ this.end_time = undefined;
1201
+ this.max = new i2.TuiDay(new Date().getFullYear(), new Date().getMonth(), new Date().getDate());
1202
+ this.formGroup = new i2$1.FormGroup({});
1203
+ // Event Emitters
1204
+ this.onGetTaskList = new i0.EventEmitter();
1479
1205
  }
1480
- /**
1481
- * @param items object from array
1482
- * @param term term's search
1483
- * @param excludes array of strings which will ignored during search
1484
- */
1485
- Ng2SearchPipe.prototype.transform = function (items, term, excludes) {
1486
- if (excludes === void 0) { excludes = []; }
1487
- if (!term || !items)
1488
- return items;
1489
- return Ng2SearchPipe.filter(items, term, excludes);
1490
- };
1491
- /**
1492
- *
1493
- * @param items List of items to filter
1494
- * @param term a string term to compare with every property of the list
1495
- * @param excludes List of keys which will be ignored during search
1496
- *
1497
- */
1498
- Ng2SearchPipe.filter = function (items, term, excludes) {
1499
- var toCompare = term.toLowerCase();
1500
- function checkInside(item, term) {
1501
- if (typeof item === 'string' &&
1502
- item.toString().toLowerCase().includes(toCompare)) {
1503
- return true;
1504
- }
1505
- for (var property in item) {
1506
- if (item[property] === null ||
1507
- item[property] == undefined ||
1508
- excludes.includes(property)) {
1509
- continue;
1510
- }
1511
- if (typeof item[property] === 'object') {
1512
- if (checkInside(item[property], term)) {
1513
- return true;
1514
- }
1515
- }
1516
- else if (item[property].toString().toLowerCase().includes(toCompare)) {
1517
- return true;
1518
- }
1519
- }
1520
- return false;
1521
- }
1522
- return items.filter(function (item) {
1523
- return checkInside(item, term);
1524
- });
1525
- };
1526
- return Ng2SearchPipe;
1527
- }());
1528
- /** @nocollapse */ Ng2SearchPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: Ng2SearchPipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
1529
- /** @nocollapse */ Ng2SearchPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: Ng2SearchPipe, name: "filter", pure: false });
1530
- /** @nocollapse */ Ng2SearchPipe.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: Ng2SearchPipe });
1531
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: Ng2SearchPipe, decorators: [{
1532
- type: i0.Pipe,
1533
- args: [{
1534
- name: 'filter',
1535
- pure: false
1536
- }]
1537
- }, {
1538
- type: i0.Injectable
1539
- }] });
1540
-
1541
- var CustomerListComponent = /** @class */ (function () {
1542
- function CustomerListComponent(googleMapsService, openStreetMapsService, agentService) {
1543
- this.googleMapsService = googleMapsService;
1544
- this.openStreetMapsService = openStreetMapsService;
1545
- this.agentService = agentService;
1546
- this.nextStep = new i0.EventEmitter();
1547
- this.removeTask = new i0.EventEmitter();
1548
- this.filterTaskList = new i0.EventEmitter();
1549
- this.filteredData = [];
1550
- this.formGroup = new i7.FormGroup({});
1551
- this.max = new i10.TuiDay(new Date().getFullYear(), new Date().getMonth(), new Date().getDate());
1552
- }
1553
- CustomerListComponent.prototype.ngOnInit = function () {
1206
+ TaskListComponent.prototype.ngOnInit = function () {
1554
1207
  return __awaiter(this, void 0, void 0, function () {
1555
- return __generator(this, function (_f) {
1556
- this.setDateRange();
1208
+ return __generator(this, function (_g) {
1209
+ this.toggleLoader(true);
1210
+ // this.taskItems = Array.from({ length: 1000 }, (_, i) =>
1211
+ // String(`test_${i}`)
1212
+ // );
1213
+ this.handleInitialDateRange();
1557
1214
  return [2 /*return*/];
1558
1215
  });
1559
1216
  });
1560
1217
  };
1561
- CustomerListComponent.prototype.setDateRange = function () {
1562
- var _a, _b, _c, _d, _e;
1563
- var searchDateStart = (_b = (_a = this.config.dashboard) === null || _a === void 0 ? void 0 : _a.searchDateStart) !== null && _b !== void 0 ? _b : {
1218
+ TaskListComponent.prototype.ngOnChanges = function (changes) {
1219
+ var verifyChange = function (key) {
1220
+ return changes.hasOwnProperty(key) && !changes[key].firstChange;
1221
+ };
1222
+ if (verifyChange('taskItems')) {
1223
+ this.toggleLoader(true);
1224
+ this.taskItems = changes.taskItems.currentValue;
1225
+ this.handleOnSortTaskItems(this.sortFilterKey, this.sortInAscendingOrder);
1226
+ this.handleOnTaskItemsChange();
1227
+ }
1228
+ };
1229
+ TaskListComponent.prototype.handleOnTaskItemsChange = function () {
1230
+ this.toggleLoader(true);
1231
+ this.handleOnFilterTaskItems();
1232
+ this.paginationLength = Math.ceil(this.filteredItems.length / this.itemPerPage);
1233
+ this.activePageItems = this.filteredItems.slice(this.paginationIndex * this.itemPerPage, this.paginationIndex * this.itemPerPage + this.itemPerPage);
1234
+ this.toggleLoader(false);
1235
+ };
1236
+ TaskListComponent.prototype.handleInitialDateRange = function () {
1237
+ var _a, _b, _c, _d, _e, _f;
1238
+ var 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 : {
1564
1239
  day: 0,
1565
1240
  month: 0,
1566
1241
  year: 0
1567
1242
  };
1568
1243
  var currentDate = new Date();
1569
- var 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);
1570
- this.fromDate = this.getDate(startDate);
1571
- this.toDate = this.getDate(null);
1572
- this.dateRangeFormControl = new i7.FormControl({
1573
- value: new i10.TuiDayRange(new i10.TuiDay(startDate.getFullYear(), startDate.getMonth(), startDate.getDate()), this.max),
1244
+ var 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);
1245
+ this.start_time = convertNormalDateToStringFormat(startDate);
1246
+ this.end_time = convertNormalDateToStringFormat(null);
1247
+ this.searchDataFormControl = new i2$1.FormControl({
1248
+ value: new i2.TuiDayRange(new i2.TuiDay(startDate.getFullYear(), startDate.getMonth(), startDate.getDate()), this.max),
1574
1249
  disabled: false
1575
1250
  });
1576
- this.formGroup.addControl('dateRange', this.dateRangeFormControl);
1577
- this.searchFormControl = new i7.FormControl('');
1578
- this.formGroup.addControl('search', this.searchFormControl);
1251
+ this.formGroup.addControl('searchDate', this.searchDataFormControl);
1252
+ this.searchTextFormControl = new i2$1.FormControl('');
1253
+ this.formGroup.addControl('searchText', this.searchTextFormControl);
1254
+ this.handleOnGetTaskItems();
1255
+ };
1256
+ TaskListComponent.prototype.handleOnFilterTasksByText = function (event) {
1257
+ this.searchText = event === null || event === void 0 ? void 0 : event.text;
1258
+ this.handleOnTaskItemsChange();
1259
+ };
1260
+ TaskListComponent.prototype.handleOnFilterTasksByDate = function (event) {
1261
+ this.start_time = event.start_time;
1262
+ this.end_time = event.end_time;
1263
+ this.handleOnGetTaskItems();
1264
+ };
1265
+ TaskListComponent.prototype.handleOnGetTaskItems = function () {
1266
+ this.toggleLoader(true);
1267
+ this.onGetTaskList.emit({
1268
+ from_date: this.start_time,
1269
+ to_date: this.end_time
1270
+ });
1579
1271
  };
1580
- CustomerListComponent.prototype.setUpMaps = function () {
1272
+ TaskListComponent.prototype.handleOnChangeSortFilter = function (event) {
1581
1273
  var _a;
1582
- return __awaiter(this, void 0, void 0, function () {
1583
- return __generator(this, function (_f) {
1584
- switch (_f.label) {
1585
- case 0:
1586
- if (!this.config.dashboard.isShowMaps) return [3 /*break*/, 4];
1587
- if (!(((_a = this.config.dashboard) === null || _a === void 0 ? void 0 : _a.mapType) == 'open-street')) return [3 /*break*/, 2];
1588
- return [4 /*yield*/, this.openStreetMapsService.initializeMap()];
1589
- case 1:
1590
- _f.sent();
1591
- return [3 /*break*/, 4];
1592
- case 2: return [4 /*yield*/, this.googleMapsService.initializeMap()];
1593
- case 3:
1594
- _f.sent();
1595
- _f.label = 4;
1596
- case 4: return [2 /*return*/];
1597
- }
1598
- });
1599
- });
1274
+ if (event && kwikidToolkit.isNotEmptyValue(event.sortFilterKey)) {
1275
+ this.sortFilterKey = event.sortFilterKey;
1276
+ this.sortInAscendingOrder = (_a = event.sortFilterOrder) !== null && _a !== void 0 ? _a : true;
1277
+ this.handleOnSortTaskItems(this.sortFilterKey, this.sortInAscendingOrder);
1278
+ this.handleOnTaskItemsChange();
1279
+ }
1600
1280
  };
1601
- CustomerListComponent.prototype.setCustomersList = function () {
1602
- return __awaiter(this, void 0, void 0, function () {
1603
- var _f;
1604
- return __generator(this, function (_g) {
1605
- switch (_g.label) {
1606
- case 0:
1607
- if (!this.config.dashboard.isShowMaps) return [3 /*break*/, 2];
1608
- _f = this;
1609
- return [4 /*yield*/, this.plotMarkers(this.customers)];
1610
- case 1:
1611
- _f.filteredData = _g.sent();
1612
- return [3 /*break*/, 3];
1613
- case 2:
1614
- this.filteredData = this.customers;
1615
- _g.label = 3;
1616
- case 3: return [2 /*return*/];
1617
- }
1618
- });
1619
- });
1281
+ TaskListComponent.prototype.handleOnSortTaskItems = function (key, order) {
1282
+ var sortedTaskItems = sortItems(this.taskItems, key, order);
1283
+ this.taskItems = sortedTaskItems;
1284
+ this.handleOnTaskItemsChange();
1620
1285
  };
1621
- CustomerListComponent.prototype.ngAfterViewInit = function () {
1622
- var _this = this;
1623
- var _a, _b;
1624
- this.maxLength = (_b = (_a = this.config.dashboard) === null || _a === void 0 ? void 0 : _a.searchDateRange) !== null && _b !== void 0 ? _b : this.maxLength;
1625
- setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
1626
- return __generator(this, function (_f) {
1627
- switch (_f.label) {
1628
- case 0: return [4 /*yield*/, this.setUpMaps()];
1629
- case 1:
1630
- _f.sent();
1631
- return [4 /*yield*/, this.setCustomersList()];
1632
- case 2:
1633
- _f.sent();
1634
- return [2 /*return*/];
1635
- }
1636
- });
1637
- }); }, 1000);
1286
+ TaskListComponent.prototype.handleOnClickTaskItemViewDetail = function (e) {
1287
+ this.onClickTaskItemViewDetail.emit(e);
1638
1288
  };
1639
- CustomerListComponent.prototype.ngOnChanges = function () {
1640
- return __awaiter(this, void 0, void 0, function () {
1641
- return __generator(this, function (_f) {
1642
- switch (_f.label) {
1643
- case 0: return [4 /*yield*/, this.setCustomersList()];
1644
- case 1:
1645
- _f.sent();
1646
- return [2 /*return*/];
1647
- }
1289
+ TaskListComponent.prototype.handleOnClickChangePaginationIndex = function (indexOfPage) {
1290
+ if (indexOfPage >= 0) {
1291
+ this.paginationIndex = indexOfPage;
1292
+ this.activePageItems = this.taskItems.slice(this.paginationIndex * this.itemPerPage, this.paginationIndex * this.itemPerPage + this.itemPerPage);
1293
+ }
1294
+ };
1295
+ TaskListComponent.prototype.handleOnFilterTaskItems = function () {
1296
+ var lowerCaseSearchText = this.searchText.toLowerCase();
1297
+ this.filteredItems = this.taskItems.filter(function (item) {
1298
+ return Object.values(item).some(function (value) {
1299
+ // Ensure the value can be converted to string and check if it includes the search text
1300
+ return value != null &&
1301
+ value.toString().toLowerCase().includes(lowerCaseSearchText);
1648
1302
  });
1649
1303
  });
1650
1304
  };
1651
- CustomerListComponent.prototype.handleOnClickNext = function (e) {
1652
- this.nextStep.emit(e);
1653
- };
1654
- CustomerListComponent.prototype.getDate = function (d) {
1655
- var date = d ? new Date(d) : new Date();
1656
- var year = date.getFullYear();
1657
- var month = date.getMonth() + 1;
1658
- var day = date.getDate();
1659
- if (month < 10)
1660
- month = '0' + month;
1661
- if (day < 10)
1662
- day = '0' + day;
1663
- var today = year + "-" + month + "-" + day;
1664
- return today;
1665
- };
1666
- CustomerListComponent.prototype.plotMarkers = function (customers) {
1667
- var _a, _b;
1305
+ TaskListComponent.prototype.trackByFn = function (index, item) {
1306
+ return index; // or unique identifier if available
1307
+ };
1308
+ TaskListComponent.prototype.toggleLoader = function (loader, message) {
1309
+ if (message === void 0) { message = undefined; }
1668
1310
  return __awaiter(this, void 0, void 0, function () {
1669
- var _this = this;
1670
- return __generator(this, function (_f) {
1671
- switch (_f.label) {
1672
- case 0:
1673
- if (!((_a = this.config.dashboard) === null || _a === void 0 ? void 0 : _a.isPlotCompletedTaskMarkers)) {
1674
- customers = customers.filter(function (customer) {
1675
- return _this.agentService.canPlotMarkers(customer.session_status);
1676
- });
1677
- }
1678
- if (!(((_b = this.config.dashboard) === null || _b === void 0 ? void 0 : _b.mapType) == 'open-street')) return [3 /*break*/, 2];
1679
- return [4 /*yield*/, this.openStreetMapsService.plotDirectionsForAllTasks(customers)];
1680
- case 1:
1681
- customers = _f.sent();
1682
- return [3 /*break*/, 4];
1683
- case 2: return [4 /*yield*/, this.googleMapsService.plotDirectionsForAllTasks(customers)];
1684
- case 3:
1685
- customers = _f.sent();
1686
- _f.label = 4;
1687
- case 4: return [2 /*return*/, customers];
1311
+ return __generator(this, function (_g) {
1312
+ if (loader) {
1313
+ this.loaderService.show({
1314
+ fullscreen: true,
1315
+ loaderText: message !== null && message !== void 0 ? message : 'Please Wait'
1316
+ });
1317
+ this.loading = true;
1318
+ }
1319
+ else {
1320
+ this.loaderService.hide();
1321
+ this.loading = false;
1688
1322
  }
1323
+ return [2 /*return*/];
1689
1324
  });
1690
1325
  });
1691
1326
  };
1692
- CustomerListComponent.prototype.getTuiDate = function (event) {
1693
- var year = event.year;
1694
- var month = event.month + 1;
1695
- var date = event.day;
1696
- month = month < 10 ? '0' + month : month;
1697
- date = date < 10 ? '0' + date : date;
1698
- return year + "-" + month + "-" + date;
1699
- };
1700
- CustomerListComponent.prototype.onDateRangeChange = function (event) {
1701
- this.fromDate = this.getTuiDate(event.value.from);
1702
- this.toDate = this.getTuiDate(event.value.to);
1703
- this.handleOnFilterTaskList({
1704
- from_date: this.fromDate,
1705
- to_date: this.toDate
1706
- });
1707
- };
1708
- CustomerListComponent.prototype.onSearchFilter = function (event) {
1709
- this.searchText = event.value;
1710
- };
1711
- CustomerListComponent.prototype.handleOnClickRemoveTask = function (task) {
1712
- this.removeTask.emit(task);
1713
- };
1714
- CustomerListComponent.prototype.handleOnFilterTaskList = function (filter) {
1715
- this.filterTaskList.emit(filter);
1716
- };
1717
- return CustomerListComponent;
1327
+ return TaskListComponent;
1718
1328
  }());
1719
- /** @nocollapse */ CustomerListComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomerListComponent, deps: [{ token: GoogleMapsService }, { token: OpenStreetMapsService }, { token: AgentService }], target: i0__namespace.ɵɵFactoryTarget.Component });
1720
- /** @nocollapse */ CustomerListComponent.ɵcmp = i0__namespace.ɵɵ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" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div class=\"customer-list-wrapper\">\n <div class=\"customer-list-filter\" [formGroup]=\"formGroup\">\n <kwikui-input-date-range\n *ngIf=\"config?.dashboard?.isAllowDateFilter\"\n [label]=\"'Date Range'\"\n [id]=\"'dateRange'\"\n [size]=\"'m'\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n [formControlName]=\"'dateRange'\"\n [formControl]=\"dateRangeFormControl\"\n (getKeyValue)=\"onDateRangeChange($event)\"\n ></kwikui-input-date-range>\n <kwikui-input\n *ngIf=\"config?.dashboard?.isAllowSearchFilter\"\n [label]=\"'Search'\"\n [id]=\"'search'\"\n icon=\"tuiIconSearch\"\n size=\"m\"\n placeholder=\"Search Any Task\"\n [formControlName]=\"'search'\"\n [formControl]=\"searchFormControl\"\n (getKeyValue)=\"onSearchFilter($event)\"\n ></kwikui-input>\n </div>\n\n <div class=\"customer-task-list\">\n <cdk-virtual-scroll-viewport itemSize=\"1\" class=\"customer-task-list-scroll\">\n <div\n *cdkVirtualFor=\"\n let customer of filteredData | filter: searchText;\n index as index\n \"\n >\n <customer-tile\n class=\"example-item\"\n [customer]=\"customer\"\n [config]=\"config\"\n [index]=\"index\"\n (nextStep)=\"handleOnClickNext($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n ></customer-tile>\n </div>\n </cdk-virtual-scroll-viewport>\n </div>\n\n <div class=\"customer-list-empty\" *ngIf=\"filteredData.length === 0\">\n {{config?.dashboard?.emptyTaskListMessage ?? '0 Tasks for the given Date.'}}\n </div>\n</div>\n", styles: [".customer-list-wrapper{width:100%;height:100%;display:flex;flex-direction:column}.customer-list-filter{height:-moz-fit-content;height:fit-content;width:100%;display:flex;flex-direction:column;padding:1rem;grid-gap:.8rem;gap:.8rem;border-bottom:.5px solid #ddd}.customer-list-empty{height:100%;width:100%;margin-top:.5rem;font-size:1rem;text-align:center}.customer-task-list{height:100%}.customer-task-list-scroll{height:100%;width:100%}.cdk-virtual-scroll-spacer{height:0!important}.example-item{height:50px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}\n"], components: [{ type: i4__namespace.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: i4__namespace.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: i5__namespace.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { type: CustomerTileComponent, selector: "customer-tile", inputs: ["customer", "index", "config"], outputs: ["nextStep", "removeTask"] }], directives: [{ type: i7__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7__namespace.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7__namespace.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i7__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5__namespace.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { type: i5__namespace.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }], pipes: { "filter": Ng2SearchPipe } });
1721
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomerListComponent, decorators: [{
1329
+ /** @nocollapse */ TaskListComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskListComponent, deps: [{ token: i1__namespace.KwikUILoaderService }], target: i0__namespace.ɵɵFactoryTarget.Component });
1330
+ /** @nocollapse */ TaskListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TaskListComponent, selector: "task-list", inputs: { config: "config", taskItems: "taskItems" }, outputs: { onClickTaskItemViewDetail: "onClickTaskItemViewDetail", onGetTaskList: "onGetTaskList" }, usesOnChanges: true, ngImport: i0__namespace, template: "<kwikui-loader></kwikui-loader>\n<div id=\"task-list-container\">\n <div id=\"task-list-search-wrapper\">\n <task-list-search\n [config]=\"config\"\n (onFilterTasksByText)=\"handleOnFilterTasksByText($event)\"\n (onFilterTasksByDate)=\"handleOnFilterTasksByDate($event)\"\n (onChangeSortFilter)=\"handleOnChangeSortFilter($event)\"\n ></task-list-search>\n </div>\n <hr />\n <div\n itemSize=\"50\"\n class=\"virtualscroll-container\"\n *ngIf=\"activePageItems.length > 0 && !loading; else NO_TASKS\"\n >\n <div id=\"task-list-items-container\">\n <div\n *ngFor=\"let taskItem of activePageItems\"\n class=\"task-item-container\"\n >\n <task-item\n [config]=\"config\"\n [data]=\"taskItem\"\n (onClickTaskItemViewDetail)=\"handleOnClickTaskItemViewDetail($event)\"\n >\n </task-item>\n </div>\n </div>\n <div id=\"task-list-items-pagination-container\">\n <tui-pagination\n [index]=\"paginationIndex\"\n [length]=\"paginationLength\"\n (indexChange)=\"handleOnClickChangePaginationIndex($event)\"\n ></tui-pagination>\n </div>\n </div>\n <ng-template #NO_TASKS>\n <div class=\"no-tasks\">No Tasks</div>\n </ng-template>\n</div>\n", styles: ["#task-list-container{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column}#task-list-container ::-webkit-scrollbar{width:8px!important}#task-list-container ::-webkit-scrollbar-track{border-radius:10px!important}#task-list-container ::-webkit-scrollbar-thumb{background:lightgray!important;border-radius:10px!important}#task-list-container ::-webkit-scrollbar-thumb:hover{background:gray!important}#task-list-container #task-list-search-wrapper{width:100%;padding:1rem}#task-list-container .virtualscroll-container{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;overflow:auto}#task-list-container .no-tasks{width:100%;height:100%;display:flex;flex-direction:row;justify-content:center;align-items:center;font-size:1rem;font-weight:bold}#task-list-container #task-list-items-container{overflow:auto}#task-list-container #task-list-items-container>*:first-child{margin-top:1rem}#task-list-container #task-list-items-container .task-item-container{padding:0 1rem;margin-bottom:1rem}#task-list-container #task-list-items-pagination-container{padding:1rem}\n"], components: [{ type: i1__namespace.KwikUILoaderComponent, selector: "kwikui-loader" }, { type: TaskListSearchComponent, selector: "task-list-search", inputs: ["config"], outputs: ["onFilterTasksByText", "onFilterTasksByDate", "onChangeSortFilter"] }, { type: TaskItemComponent, selector: "task-item", inputs: ["config", "data"], outputs: ["onClickTaskItem", "onClickTaskItemViewDetail", "onClickPerformAction"] }, { type: i1__namespace$1.TuiPaginationComponent, selector: "tui-pagination", inputs: ["length", "size", "disabled", "activePadding", "sidePadding", "content", "index"], outputs: ["indexChange"] }], directives: [{ type: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1331
+ __decorate([
1332
+ kwikidToolkit.logMethod
1333
+ ], TaskListComponent.prototype, "ngOnChanges", null);
1334
+ __decorate([
1335
+ kwikidToolkit.logMethod
1336
+ ], TaskListComponent.prototype, "handleOnTaskItemsChange", null);
1337
+ __decorate([
1338
+ kwikidToolkit.logMethod
1339
+ ], TaskListComponent.prototype, "handleOnClickTaskItemViewDetail", null);
1340
+ __decorate([
1341
+ kwikidToolkit.logMethod
1342
+ ], TaskListComponent.prototype, "handleOnClickChangePaginationIndex", null);
1343
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskListComponent, decorators: [{
1722
1344
  type: i0.Component,
1723
1345
  args: [{
1724
- selector: 'customer-list',
1725
- templateUrl: './customer-list.component.html',
1726
- styleUrls: ['./customer-list.component.css']
1346
+ selector: 'task-list',
1347
+ templateUrl: './task-list.component.html',
1348
+ styleUrls: ['./task-list.component.scss'],
1349
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
1727
1350
  }]
1728
- }], ctorParameters: function () { return [{ type: GoogleMapsService }, { type: OpenStreetMapsService }, { type: AgentService }]; }, propDecorators: { customers: [{
1351
+ }], ctorParameters: function () { return [{ type: i1__namespace.KwikUILoaderService }]; }, propDecorators: { config: [{
1729
1352
  type: i0.Input
1730
- }], config: [{
1353
+ }], taskItems: [{
1731
1354
  type: i0.Input
1732
- }], nextStep: [{
1733
- type: i0.Output
1734
- }], removeTask: [{
1355
+ }], onClickTaskItemViewDetail: [{
1735
1356
  type: i0.Output
1736
- }], filterTaskList: [{
1357
+ }], onGetTaskList: [{
1737
1358
  type: i0.Output
1738
- }] } });
1359
+ }], ngOnChanges: [], handleOnTaskItemsChange: [], handleOnClickTaskItemViewDetail: [], handleOnClickChangePaginationIndex: [] } });
1739
1360
 
1740
- var KwikIDAgentDashboardComponent = /** @class */ (function () {
1741
- function KwikIDAgentDashboardComponent(googleMapsService, agentService, httpClient, hostElement, dialogService) {
1742
- this.googleMapsService = googleMapsService;
1743
- this.agentService = agentService;
1744
- this.httpClient = httpClient;
1361
+ var LayoutBodyComponent = /** @class */ (function () {
1362
+ function LayoutBodyComponent(hostElement, previewDialogService, dialogs) {
1745
1363
  this.hostElement = hostElement;
1746
- this.dialogService = dialogService;
1364
+ this.previewDialogService = previewDialogService;
1365
+ this.dialogs = dialogs;
1366
+ this.isMobileView = false;
1367
+ this.popupFormCallback = {};
1368
+ this.popupFormConfig = {};
1369
+ this.popupFormData = {};
1370
+ this.previewProperties = {
1371
+ html: {
1372
+ before: '',
1373
+ after: ''
1374
+ },
1375
+ iframe: {
1376
+ src: '',
1377
+ title: ''
1378
+ },
1379
+ popupFormKey: '',
1380
+ title: '',
1381
+ unavailable: false
1382
+ };
1383
+ this.pageFormConfig = undefined;
1384
+ this.pageFormData = {};
1385
+ this.onClickApiCall = new i0.EventEmitter();
1386
+ this.onGetTaskList = new i0.EventEmitter();
1387
+ this.apiCallResponse = {};
1747
1388
  this.config = {};
1389
+ this.userConfig = {};
1390
+ this.agentInfo = {};
1748
1391
  this.taskList = [];
1749
- this.nextStep = new i0.EventEmitter();
1750
- this.addTask = new i0.EventEmitter();
1751
- this.removeTask = new i0.EventEmitter();
1752
- this.filterTaskList = new i0.EventEmitter();
1753
- this.loading = true;
1754
- this.console = console;
1755
- this.open = false;
1756
- this.allFormsData = {};
1757
- this.String = String;
1392
+ this.isShowFullTaskDetails = false;
1393
+ this.isActiveSidebar = true;
1394
+ this.activeTaskDetail = null;
1758
1395
  }
1759
- KwikIDAgentDashboardComponent.prototype.windowResizeWatcher = function () {
1760
- if (this.hostElement.nativeElement.offsetWidth < 600) {
1396
+ // The final value should be provided to service, so that it can be used in all components
1397
+ LayoutBodyComponent.prototype.windowResizeWatcher = function () {
1398
+ if (this.hostElement.nativeElement.offsetWidth < 720) {
1761
1399
  this.isMobileView = true;
1762
- this.agentService.isMobileView = true;
1763
1400
  }
1764
1401
  else {
1765
1402
  this.isMobileView = false;
1766
- this.agentService.isMobileView = false;
1767
1403
  }
1768
1404
  };
1769
- KwikIDAgentDashboardComponent.prototype.ngOnInit = function () {
1770
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
1771
- return __awaiter(this, void 0, void 0, function () {
1772
- var _this = this;
1773
- return __generator(this, function (_o) {
1774
- this.agentService.config = this.config;
1775
- 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;
1776
- this.agentService.addTaskForm =
1777
- (_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;
1778
- if (((_h = (_g = this.config) === null || _g === void 0 ? void 0 : _g.dashboard) === null || _h === void 0 ? void 0 : _h.mapType) == 'google-maps' &&
1779
- kwikidToolkit.isNotEmptyValue((_k = (_j = this.config) === null || _j === void 0 ? void 0 : _j.dashboard) === null || _k === void 0 ? void 0 : _k.googleMapsAPIKey)) {
1780
- this.loadMaps((_m = (_l = this.config) === null || _l === void 0 ? void 0 : _l.dashboard) === null || _m === void 0 ? void 0 : _m.googleMapsAPIKey).subscribe(function (loaded) {
1781
- _this.mapsLoaded = loaded;
1782
- if (loaded) {
1783
- console.log('Google Maps JavaScript API loaded successfully.');
1784
- _this.loading = false;
1785
- // Initialize and render Google Map here
1786
- }
1787
- else {
1788
- console.error('Google Maps JavaScript API failed to load.');
1789
- _this.loading = false;
1790
- }
1791
- });
1792
- }
1793
- else {
1794
- this.mapsLoaded = true;
1795
- this.loading = false;
1796
- }
1797
- setTimeout(function () {
1798
- _this.windowResizeWatcher();
1799
- }, 1000);
1800
- return [2 /*return*/];
1801
- });
1802
- });
1405
+ LayoutBodyComponent.prototype.ngOnInit = function () {
1406
+ this.windowResizeWatcher();
1803
1407
  };
1804
- // Load Google Maps
1805
- KwikIDAgentDashboardComponent.prototype.loadMaps = function (apiKey) {
1806
- var url = "https://maps.googleapis.com/maps/api/js?key=" + apiKey + "&v=3.exp&libraries=geometry,drawing,places";
1807
- this.googleMapsService.apiKey = apiKey;
1808
- return this.httpClient.jsonp(url, 'callback').pipe(operators.map(function () { return true; }), operators.catchError(function () {
1809
- console.error('Error loading Google Maps JavaScript API.');
1810
- return rxjs.of(false);
1811
- }));
1408
+ LayoutBodyComponent.prototype.ngOnChanges = function (changes) {
1409
+ var e_1, _c;
1410
+ var verifyChange = function (key) {
1411
+ return changes.hasOwnProperty(key) && !changes[key].firstChange;
1412
+ };
1413
+ try {
1414
+ for (var _d = __values(Object.entries(changes)), _e = _d.next(); !_e.done; _e = _d.next()) {
1415
+ var change = _e.value;
1416
+ var key = change[0];
1417
+ var value = change[1].currentValue;
1418
+ }
1419
+ }
1420
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1421
+ finally {
1422
+ try {
1423
+ if (_e && !_e.done && (_c = _d.return)) _c.call(_d);
1424
+ }
1425
+ finally { if (e_1) throw e_1.error; }
1426
+ }
1427
+ if (verifyChange('taskList')) {
1428
+ this.taskList = changes.taskList.currentValue;
1429
+ }
1812
1430
  };
1813
- KwikIDAgentDashboardComponent.prototype.handleOnClickNext = function (e) {
1814
- this.nextStep.emit(e);
1431
+ LayoutBodyComponent.prototype.handleShowingFullTaskDetails = function () {
1432
+ var _a, _b;
1433
+ if ((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.isShowMaps) {
1434
+ this.isShowFullTaskDetails = false;
1435
+ }
1436
+ else if (this.isMobileView) {
1437
+ this.isShowFullTaskDetails = false;
1438
+ }
1439
+ else {
1440
+ this.isShowFullTaskDetails = true;
1441
+ }
1815
1442
  };
1816
- KwikIDAgentDashboardComponent.prototype.handleOnClickAddTask = function (task) {
1817
- this.addTask.emit(task);
1443
+ LayoutBodyComponent.prototype.handleOnClickTaskItemViewDetail = function (e) {
1444
+ this.handleShowingFullTaskDetails();
1445
+ this.handleOnClickCloseTaskDetail(e);
1446
+ this.activeTaskDetail = e;
1818
1447
  };
1819
- KwikIDAgentDashboardComponent.prototype.handleOnClickRemoveTask = function (task) {
1820
- this.removeTask.emit(task);
1448
+ LayoutBodyComponent.prototype.handleOnClickCloseTaskDetail = function (e) {
1449
+ this.activeTaskDetail = null;
1821
1450
  };
1822
- KwikIDAgentDashboardComponent.prototype.handleOnFilterTaskList = function (filter) {
1823
- this.filterTaskList.emit(filter);
1451
+ LayoutBodyComponent.prototype.handleOnClickToggleSidebar = function (e) {
1452
+ this.isActiveSidebar = !this.isActiveSidebar;
1824
1453
  };
1825
- KwikIDAgentDashboardComponent.prototype.refresh = function () {
1826
- window.location.reload();
1454
+ LayoutBodyComponent.prototype.handleOnClickApiCall = function (e) {
1455
+ this.onClickApiCall.emit(e);
1827
1456
  };
1828
- KwikIDAgentDashboardComponent.prototype.onClick = function () {
1829
- this.open = !this.open;
1457
+ LayoutBodyComponent.prototype.handleOnGetTaskList = function (event) {
1458
+ this.onGetTaskList.emit(event);
1830
1459
  };
1831
- KwikIDAgentDashboardComponent.prototype.onObscured = function (obscured) {
1832
- if (obscured) {
1833
- this.open = false;
1834
- }
1460
+ LayoutBodyComponent.prototype.handleOnClickPrimaryAction = function (e) {
1461
+ var _a, _b;
1462
+ return __awaiter(this, void 0, void 0, function () {
1463
+ var _c, _d, _e;
1464
+ var _this = this;
1465
+ return __generator(this, function (_f) {
1466
+ switch (_f.label) {
1467
+ case 0:
1468
+ _c = e.type;
1469
+ switch (_c) {
1470
+ case 'POPUP_FORM': return [3 /*break*/, 1];
1471
+ case 'PAGE_FORM': return [3 /*break*/, 4];
1472
+ case 'action_3': return [3 /*break*/, 7];
1473
+ }
1474
+ return [3 /*break*/, 8];
1475
+ case 1:
1476
+ _d = this;
1477
+ return [4 /*yield*/, fetch((_a = e === null || e === void 0 ? void 0 : e.props) === null || _a === void 0 ? void 0 : _a.formUrl)];
1478
+ case 2: return [4 /*yield*/, (_f.sent()).json()];
1479
+ case 3:
1480
+ _d.popupFormConfig = _f.sent();
1481
+ console.log('popupFormConfig', this.popupFormConfig);
1482
+ this.previewDialogRef = this.previewDialogService
1483
+ .open(this.preview || '')
1484
+ .subscribe({
1485
+ next: function (data) {
1486
+ _this.popupFormCallback = {
1487
+ popupFormData: data['data'],
1488
+ popupFormConfig: data['formConfig']
1489
+ };
1490
+ _this.popupFormConfig = {};
1491
+ _this.previewDialogRef.complete();
1492
+ },
1493
+ error: function () {
1494
+ _this.popupFormCallback = {
1495
+ popupFormData: {},
1496
+ popupFormConfig: _this.popupFormConfig
1497
+ };
1498
+ _this.popupFormConfig = {};
1499
+ console.info('Preview error');
1500
+ },
1501
+ complete: function () {
1502
+ console.info('Preview closed');
1503
+ }
1504
+ });
1505
+ return [3 /*break*/, 9];
1506
+ case 4:
1507
+ _e = this;
1508
+ return [4 /*yield*/, fetch((_b = e === null || e === void 0 ? void 0 : e.props) === null || _b === void 0 ? void 0 : _b.formUrl)];
1509
+ case 5: return [4 /*yield*/, (_f.sent()).json()];
1510
+ case 6:
1511
+ _e.pageFormConfig = _f.sent();
1512
+ return [3 /*break*/, 9];
1513
+ case 7: return [3 /*break*/, 9];
1514
+ case 8: return [3 /*break*/, 9];
1515
+ case 9: return [2 /*return*/];
1516
+ }
1517
+ });
1518
+ });
1835
1519
  };
1836
- KwikIDAgentDashboardComponent.prototype.onActiveZone = function (active) {
1837
- this.open = active && this.open;
1520
+ LayoutBodyComponent.prototype.handleOnClickSaveForm = function (e, eventType) {
1521
+ switch (eventType) {
1522
+ case 'POPUP_FORM':
1523
+ this.previewDialogRef.next(e);
1524
+ break;
1525
+ case 'PAGE_FORM':
1526
+ this.pageFormConfig = undefined;
1527
+ break;
1528
+ default:
1529
+ break;
1530
+ }
1838
1531
  };
1839
- KwikIDAgentDashboardComponent.prototype.showDialog = function (content) {
1840
- this.dialogService
1841
- .open(content, { closeable: false, dismissible: false })
1842
- .subscribe();
1532
+ return LayoutBodyComponent;
1533
+ }());
1534
+ /** @nocollapse */ LayoutBodyComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LayoutBodyComponent, deps: [{ token: i0__namespace.ElementRef }, { token: i8.TuiPreviewDialogService }, { token: i3.TuiDialogService }], target: i0__namespace.ɵɵFactoryTarget.Component });
1535
+ /** @nocollapse */ LayoutBodyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LayoutBodyComponent, selector: "layout-body", inputs: { config: "config", userConfig: "userConfig", agentInfo: "agentInfo", taskList: "taskList" }, outputs: { onClickApiCall: "onClickApiCall", onGetTaskList: "onGetTaskList" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, viewQueries: [{ propertyName: "preview", first: true, predicate: ["preview"], descendants: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<div id=\"body-container\">\n <div\n id=\"sidebar-container\"\n *ngIf=\"!isMobileView && !activeTaskDetail\"\n [class.is-hidden]=\"!isActiveSidebar\"\n >\n <div\n id=\"sidebar-toggle\"\n *ngIf=\"!isMobileView && !activeTaskDetail && !pageFormConfig\"\n [class.is-hidden]=\"!isActiveSidebar\"\n (click)=\"handleOnClickToggleSidebar($event)\"\n >\n <tui-svg\n *ngIf=\"isActiveSidebar\"\n [src]=\"'tuiIconChevronsLeftLarge'\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"!isActiveSidebar\"\n [src]=\"'tuiIconChevronsRightLarge'\"\n ></tui-svg>\n </div>\n <ng-container *ngTemplateOutlet=\"TaskList\"></ng-container>\n </div>\n <div id=\"main-container\" [class.is-desktop]=\"!isMobileView\">\n <div\n id=\"primary-actions-wrapper\"\n [class.is-desktop]=\"!isMobileView\"\n [class.is-nomaps]=\"config.mapConfig?.isHidden\"\n *ngIf=\"config.primaryActionsConfig\"\n >\n <primary-actions\n [primaryActionsConfig]=\"config.primaryActionsConfig\"\n (onClickPrimaryAction)=\"handleOnClickPrimaryAction($event)\"\n ></primary-actions>\n </div>\n\n <div\n class=\"kwikid-form-view-page-container\"\n *ngIf=\"pageFormConfig && pageFormConfig !== {}\"\n >\n <kwikid-form-view\n [formConfig]=\"pageFormConfig\"\n [allFormsData]=\"{}\"\n [apiCallResponse]=\"this.apiCallResponse\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event, 'PAGE_FORM')\"\n ></kwikid-form-view>\n </div>\n\n <div id=\"map-view-wrapper\" [class.is-desktop]=\"!isMobileView\">\n <map-view [mapConfig]=\"config.mapConfig\"></map-view>\n </div>\n\n <div\n id=\"task-detail-wrapper\"\n *ngIf=\"activeTaskDetail && isShowFullTaskDetails\"\n [@taskDetail2InOut]\n >\n <task-detail\n [config]=\"config\"\n [taskDetail]=\"activeTaskDetail\"\n (onClickCloseTaskDetail)=\"handleOnClickCloseTaskDetail($event)\"\n ></task-detail>\n </div>\n </div>\n</div>\n\n<bottom-sheet *ngIf=\"isMobileView\">\n <!-- Content to be projected into the bottom sheet -->\n <ng-container *ngTemplateOutlet=\"TaskList\"></ng-container>\n</bottom-sheet>\n\n<ng-template #TaskList>\n <div\n id=\"task-detail-wrapper\"\n *ngIf=\"activeTaskDetail && !isShowFullTaskDetails\"\n [@taskDetailInOut]\n >\n <task-detail\n [config]=\"config\"\n [taskDetail]=\"activeTaskDetail\"\n (onClickCloseTaskDetail)=\"handleOnClickCloseTaskDetail($event)\"\n ></task-detail>\n </div>\n <div id=\"task-list-wrapper\">\n <task-list\n [config]=\"config\"\n [taskItems]=\"taskList\"\n (onClickTaskItemViewDetail)=\"handleOnClickTaskItemViewDetail($event)\"\n (onGetTaskList)=\"handleOnGetTaskList($event)\"\n [@taskListInOut]\n ></task-list>\n </div>\n</ng-template>\n\n<ng-template #preview let-preview>\n <tui-preview\n [rotatable]=\"false\"\n [zoomable]=\"false\"\n class=\"preview-container\"\n *ngIf=\"popupFormConfig\"\n >\n <button\n tuiIconButton\n tuiPreviewAction\n icon=\"tuiIconCloseLarge\"\n title=\"Close\"\n type=\"button\"\n (click)=\"preview.complete()\"\n ></button>\n\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"{}\"\n [apiCallResponse]=\"this.apiCallResponse\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event, 'POPUP_FORM')\"\n ></kwikid-form-view>\n </div>\n </tui-preview>\n</ng-template>\n\n<ng-template #content let-context>\n <div class=\"kwikid-form-view-popup-container\">\n <kwikid-form-view\n [formConfig]=\"popupFormConfig\"\n [allFormsData]=\"{}\"\n [apiCallResponse]=\"this.apiCallResponse\"\n (onClickApiCall)=\"handleOnClickApiCall($event)\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event, 'POPUP_FORM')\"\n ></kwikid-form-view>\n </div>\n</ng-template>\n", styles: [":root,:host{display:block;width:100%;height:100%}::-webkit-scrollbar{width:8px!important}::-webkit-scrollbar-track{border-radius:10px!important}::-webkit-scrollbar-thumb{background:lightgray!important;border-radius:10px!important}::-webkit-scrollbar-thumb:hover{background:gray!important}#body-container{width:100%;height:100%;display:flex;flex-direction:row;align-items:stretch;overflow:auto;position:relative;z-index:1}#body-container #sidebar-container{width:100%;max-width:320px;height:100%;overflow-y:auto;position:relative;z-index:1;box-shadow:#32325d40 0 13px 27px -5px,#0000004d 0 8px 16px -8px;overflow-x:hidden;z-index:5}#body-container #sidebar-container.is-hidden{width:0px!important}#body-container #sidebar-container #sidebar-toggle{flex-direction:row;background:white;width:3.6rem;border-top-right-radius:1rem;border-bottom-right-radius:1rem;height:3.6rem;display:flex;justify-content:center;align-items:center;cursor:pointer;position:fixed;transform:translate(320px,1.6rem);box-shadow:#32325d40 0 13px 27px -5px,#0000004d 0 8px 16px -8px;z-index:-1}#body-container #sidebar-container #sidebar-toggle.is-hidden{transform:translateY(1.6rem)}#body-container #main-container{flex:1;height:100%;position:relative;overflow:auto;z-index:1}#body-container #main-container #primary-actions-wrapper{position:absolute;padding:0;top:1rem;left:calc(100% - 1rem);z-index:3;border-radius:.5rem;transform:translate(-100%)}#body-container #main-container #primary-actions-wrapper.is-nomaps{box-shadow:none}#body-container #main-container #map-view-wrapper{width:100%;height:100%;overflow:hidden;position:relative;z-index:2}@media only screen and (max-width: 600px){#body-container{display:flex;flex-direction:column-reverse;justify-content:space-between;align-items:stretch}#body-container #main-container{flex:1;height:100%;position:relative;overflow:auto}#body-container #main-container #primary-actions-wrapper{position:absolute;width:calc(100% - (2 * 1rem));padding:0;top:1rem;left:calc(1rem);z-index:3;border-radius:.5rem;transform:translate(0)}#body-container #main-container #primary-actions-wrapper.is-nomaps{box-shadow:none}#body-container #main-container #map-view-wrapper{width:100%;height:100%;overflow:hidden}}#task-list-wrapper{width:100%;height:100%;overflow:auto;background-color:#fff;z-index:2}#task-detail-wrapper{position:absolute;top:0px;left:0px;background-color:#fff;width:100%;height:100%;overflow:auto;z-index:3}.kwikid-form-view-popup-container{border-radius:1rem;background:var(--tui-base-01);min-width:320px;max-width:480px;padding:.5rem;height:100%;max-height:90vh;overflow:auto;width:100%}.kwikid-form-view-page-container{min-width:320px;max-width:100%;padding:.5rem;height:100%;max-height:100%;overflow:auto;width:100%}\n"], components: [{ type: i3__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: PrimaryActionsComponent, selector: "primary-actions", inputs: ["primaryActionsConfig"], outputs: ["onClickPrimaryAction"] }, { type: i3__namespace$2.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"] }, { type: MapViewComponent, selector: "map-view", inputs: ["mapConfig"] }, { type: TaskDetailComponent, selector: "task-detail", inputs: ["config", "taskDetail"], outputs: ["onClickCloseTaskDetail"] }, { type: BottomSheetComponent, selector: "bottom-sheet" }, { type: TaskListComponent, selector: "task-list", inputs: ["config", "taskItems"], outputs: ["onClickTaskItemViewDetail", "onGetTaskList"] }, { type: i8__namespace.TuiPreviewComponent, selector: "tui-preview", inputs: ["zoomable", "rotatable"] }, { type: i3__namespace.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i3__namespace$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8__namespace.TuiPreviewActionDirective, selector: "[tuiPreviewAction]" }], animations: [
1536
+ animations.trigger('taskDetailInOut', [
1537
+ animations.transition(':enter', [
1538
+ animations.style({ transform: 'translateY(100%)' }),
1539
+ animations.animate(150)
1540
+ ]),
1541
+ animations.transition(':leave', [
1542
+ animations.animate(150, animations.style({ transform: 'translateY(100%)' }))
1543
+ ])
1544
+ ]),
1545
+ animations.trigger('taskDetail2InOut', [
1546
+ animations.transition(':enter', [
1547
+ animations.style({ transform: 'translateX(100%)' }),
1548
+ animations.animate(150)
1549
+ ]),
1550
+ animations.transition(':leave', [
1551
+ animations.animate(150, animations.style({ transform: 'translateX(100%)' }))
1552
+ ])
1553
+ ]),
1554
+ animations.trigger('taskListInOut', [
1555
+ animations.transition(':enter', [
1556
+ animations.style({ transform: 'translateY(100%)' }),
1557
+ animations.animate(0)
1558
+ ]),
1559
+ animations.transition(':leave', [
1560
+ animations.animate(0, animations.style({ transform: 'translateY(100%)' }))
1561
+ ])
1562
+ ])
1563
+ ] });
1564
+ __decorate([
1565
+ kwikidToolkit.logMethod
1566
+ ], LayoutBodyComponent.prototype, "ngOnChanges", null);
1567
+ __decorate([
1568
+ kwikidToolkit.logMethod
1569
+ ], LayoutBodyComponent.prototype, "handleShowingFullTaskDetails", null);
1570
+ __decorate([
1571
+ kwikidToolkit.logMethod
1572
+ ], LayoutBodyComponent.prototype, "handleOnClickTaskItemViewDetail", null);
1573
+ __decorate([
1574
+ kwikidToolkit.logMethod
1575
+ ], LayoutBodyComponent.prototype, "handleOnClickCloseTaskDetail", null);
1576
+ __decorate([
1577
+ kwikidToolkit.logMethod
1578
+ ], LayoutBodyComponent.prototype, "handleOnClickToggleSidebar", null);
1579
+ __decorate([
1580
+ kwikidToolkit.logMethod
1581
+ ], LayoutBodyComponent.prototype, "handleOnClickApiCall", null);
1582
+ __decorate([
1583
+ kwikidToolkit.logMethod
1584
+ ], LayoutBodyComponent.prototype, "handleOnClickPrimaryAction", null);
1585
+ __decorate([
1586
+ kwikidToolkit.logMethod
1587
+ ], LayoutBodyComponent.prototype, "handleOnClickSaveForm", null);
1588
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LayoutBodyComponent, decorators: [{
1589
+ type: i0.Component,
1590
+ args: [{
1591
+ selector: 'layout-body',
1592
+ templateUrl: './layout-body.component.html',
1593
+ styleUrls: ['./layout-body.component.scss'],
1594
+ animations: [
1595
+ animations.trigger('taskDetailInOut', [
1596
+ animations.transition(':enter', [
1597
+ animations.style({ transform: 'translateY(100%)' }),
1598
+ animations.animate(150)
1599
+ ]),
1600
+ animations.transition(':leave', [
1601
+ animations.animate(150, animations.style({ transform: 'translateY(100%)' }))
1602
+ ])
1603
+ ]),
1604
+ animations.trigger('taskDetail2InOut', [
1605
+ animations.transition(':enter', [
1606
+ animations.style({ transform: 'translateX(100%)' }),
1607
+ animations.animate(150)
1608
+ ]),
1609
+ animations.transition(':leave', [
1610
+ animations.animate(150, animations.style({ transform: 'translateX(100%)' }))
1611
+ ])
1612
+ ]),
1613
+ animations.trigger('taskListInOut', [
1614
+ animations.transition(':enter', [
1615
+ animations.style({ transform: 'translateY(100%)' }),
1616
+ animations.animate(0)
1617
+ ]),
1618
+ animations.transition(':leave', [
1619
+ animations.animate(0, animations.style({ transform: 'translateY(100%)' }))
1620
+ ])
1621
+ ])
1622
+ ]
1623
+ }]
1624
+ }], ctorParameters: function () {
1625
+ return [{ type: i0__namespace.ElementRef }, { type: i8__namespace.TuiPreviewDialogService, decorators: [{
1626
+ type: i0.Inject,
1627
+ args: [i8.TuiPreviewDialogService]
1628
+ }] }, { type: i3__namespace.TuiDialogService, decorators: [{
1629
+ type: i0.Inject,
1630
+ args: [i3.TuiDialogService]
1631
+ }] }];
1632
+ }, propDecorators: { windowResizeWatcher: [{
1633
+ type: i0.HostListener,
1634
+ args: ['window:resize', ['$event']]
1635
+ }], preview: [{
1636
+ type: i0.ViewChild,
1637
+ args: ['preview']
1638
+ }], onClickApiCall: [{
1639
+ type: i0.Output
1640
+ }], onGetTaskList: [{
1641
+ type: i0.Output
1642
+ }], config: [{
1643
+ type: i0.Input
1644
+ }], userConfig: [{
1645
+ type: i0.Input
1646
+ }], agentInfo: [{
1647
+ type: i0.Input
1648
+ }], taskList: [{
1649
+ type: i0.Input
1650
+ }], ngOnChanges: [], handleShowingFullTaskDetails: [], handleOnClickTaskItemViewDetail: [], handleOnClickCloseTaskDetail: [], handleOnClickToggleSidebar: [], handleOnClickApiCall: [], handleOnClickPrimaryAction: [], handleOnClickSaveForm: [] } });
1651
+
1652
+ var KwikIDAgentDashboardComponent = /** @class */ (function () {
1653
+ function KwikIDAgentDashboardComponent() {
1654
+ this.config = {};
1655
+ this.userConfig = {};
1656
+ this.agentInfo = {};
1657
+ this.taskList = [];
1658
+ this.onGetTaskList = new i0.EventEmitter();
1659
+ this.onClickPerformAction = new i0.EventEmitter();
1660
+ }
1661
+ KwikIDAgentDashboardComponent.prototype.ngOnInit = function () {
1662
+ console.log('Agent Dashboard Config', this.config);
1663
+ console.log('User Config', this.userConfig);
1664
+ console.log('Agent Info', this.agentInfo);
1665
+ console.log('Tasks List', this.taskList);
1666
+ };
1667
+ KwikIDAgentDashboardComponent.prototype.ngOnChanges = function (changes) {
1668
+ var e_1, _a;
1669
+ var verifyChange = function (key) {
1670
+ return changes.hasOwnProperty(key) && !changes[key].firstChange;
1671
+ };
1672
+ try {
1673
+ for (var _b = __values(Object.entries(changes)), _c = _b.next(); !_c.done; _c = _b.next()) {
1674
+ var change = _c.value;
1675
+ var key = change[0];
1676
+ var value = change[1].currentValue;
1677
+ }
1678
+ }
1679
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1680
+ finally {
1681
+ try {
1682
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1683
+ }
1684
+ finally { if (e_1) throw e_1.error; }
1685
+ }
1686
+ if (verifyChange('taskList')) {
1687
+ this.taskList = changes.taskList.currentValue;
1688
+ }
1843
1689
  };
1844
- KwikIDAgentDashboardComponent.prototype.openInfoWindow = function (marker) {
1845
- this.infoWindow.open(marker);
1690
+ KwikIDAgentDashboardComponent.prototype.handleOnGetTaskList = function (event) {
1691
+ this.onGetTaskList.emit(event);
1846
1692
  };
1847
- KwikIDAgentDashboardComponent.prototype.handleOnClickSaveForm = function (e) {
1848
- this.handleOnClickAddTask(e.data);
1693
+ KwikIDAgentDashboardComponent.prototype.handleOnClickPerformAction = function (event) {
1694
+ this.onClickPerformAction.emit(event);
1849
1695
  };
1850
- KwikIDAgentDashboardComponent.prototype.handleOnClickViewForms = function (e) { };
1851
1696
  return KwikIDAgentDashboardComponent;
1852
1697
  }());
1853
- /** @nocollapse */ KwikIDAgentDashboardComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDAgentDashboardComponent, deps: [{ token: GoogleMapsService }, { token: AgentService }, { token: i3__namespace.HttpClient }, { token: i0__namespace.ElementRef }, { token: i11.TuiDialogService }], target: i0__namespace.ɵɵFactoryTarget.Component });
1854
- /** @nocollapse */ KwikIDAgentDashboardComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDAgentDashboardComponent, selector: "kwikid-agent-dashboard", inputs: { config: "config", taskList: "taskList" }, outputs: { nextStep: "nextStep", addTask: "addTask", removeTask: "removeTask", filterTaskList: "filterTaskList" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, viewQueries: [{ propertyName: "infoWindow", first: true, predicate: i2.MapInfoWindow, descendants: true }, { propertyName: "mapElement", first: true, predicate: ["map"], descendants: true, static: true }], ngImport: i0__namespace, template: "<div class=\"kwikid-agent-dashboard\" *ngIf=\"!loading\">\n <div class=\"wrapper\">\n <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=\"actions\">\n <kwikui-button\n *ngIf=\"agentService.config?.dashboard?.isAllowAddTask\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"primary\"\n [label]=\"agentService.config?.dashboard?.addTaskButtonLabel ?? 'Add User'\"\n [icon]=\"'tuiIconPlus'\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"s\"\n (onClick)=\"showDialog(template)\"\n ></kwikui-button>\n\n <kwikui-button\n *ngIf=\"!agentService.config?.dashboard?.isAllowAddTask\"\n appearance=\"mono\"\n class=\"menu-dropdown-buttons\"\n [icon]=\"'tuiIconRefreshCwLarge'\"\n size=\"m\"\n type=\"button\"\n (onClick)=\"refresh()\"\n ></kwikui-button>\n <span (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <kwikui-button\n [icon]=\"'tuiIconSettingsLarge'\"\n (onClick)=\"onClick()\"\n appearance=\"mono\"\n size=\"s\"\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 <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 id=\"\"\n label=\"{{\n agentService.showMapview ? 'Hide Maps' : 'Show Maps'\n }}\"\n styles=\"\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"mono\"\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 id=\"\"\n label=\"Logout\"\n styles=\"\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"mono\"\n [icon]=\"'tuiIconLogOut'\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n (onClick)=\"handleOnClickNext({ stepType: 'LOGOUT' })\"\n ></kwikui-button>\n </div>\n </div>\n </ng-template>\n </span>\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 ></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 src=\"assets/No-Results.jpg\" class=\"no-task-img\" alt=\"No Task\" />\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 ></customer-list>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"kwikid-agent-dashboard-loader\" *ngIf=\"loading\">\n <span class=\"loader\"></span>\n</div>\n\n<ng-template #template let-observer>\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 (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\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:.2rem;max-height:4rem;border:1px solid #fafafa;box-shadow:0 2px 10px -6px #000}.kwikid-agent-dashboard .wrapper header .client-logo{height:100%;padding-left:1rem}.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 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%;background-color:#fafafa;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:.2rem;max-height:4rem;border:1px solid #fafafa;box-shadow:0 2px 10px -6px #000}.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;padding:1.5rem;grid-gap:1.5rem;gap:1.5rem;overflow:auto;background-color:#fafafa}.kwikid-agent-dashboard .wrapper .dashboard-body .map{width:100%;height:100%;position:relative;overflow:hidden;box-shadow:#0000001a 0 4px 6px -1px,#0000000f 0 2px 4px -1px;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;box-shadow:#0000001a 0 4px 6px -1px,#0000000f 0 2px 4px -1px;border-radius:.5rem}.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:400px;width:100%;height:100%;overflow:hidden;box-shadow:#0000001a 0 4px 6px -1px,#0000000f 0 2px 4px -1px;border-radius:.5rem}}.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;font-weight:600}.menu-dropdown .menu-dropdown-header .menu-dropdown-header-agent-id{font-size:.8rem;font-weight:600}.menu-dropdown .menu-dropdown-buttons ::ng-deep .t-wrapper{padding:0!important}\n"], components: [{ type: i4__namespace.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i2__namespace.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"] }, { type: CustomerListComponent, selector: "customer-list", inputs: ["customers", "config"], outputs: ["nextStep", "removeTask", "filterTaskList"] }, { type: i8__namespace.KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["allFormsData", "apiCallResponse", "buttonClickResponse", "formConfig", "formData", "isMobileView", "popupFormCallback", "userConfig", "stepConfig"], outputs: ["getLogs", "getUnsavedDataState", "onActionShowPopupForm", "onClickApiCall", "onClickViewFile", "onClickFormFieldButton", "onClickGoBack", "onClickSaveForm", "onClickViewForms"] }], directives: [{ type: i6__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10__namespace.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i11__namespace.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i11__namespace.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i11__namespace.TuiDropdownPositionDirective, selector: "[tuiDropdown]" }, { type: i11__namespace.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i11__namespace.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i6__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace.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__namespace.MapDirectionsRenderer, selector: "map-directions-renderer", inputs: ["directions", "options"], outputs: ["directionsChanged"], exportAs: ["mapDirectionsRenderer"] }], pipes: { "async": i6__namespace.AsyncPipe } });
1698
+ /** @nocollapse */ KwikIDAgentDashboardComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDAgentDashboardComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1699
+ /** @nocollapse */ KwikIDAgentDashboardComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDAgentDashboardComponent, selector: "kwikid-agent-dashboard", inputs: { config: "config", userConfig: "userConfig", agentInfo: "agentInfo", taskList: "taskList" }, outputs: { onGetTaskList: "onGetTaskList", onClickPerformAction: "onClickPerformAction" }, usesOnChanges: true, ngImport: i0__namespace, template: "<div id=\"container\">\n <div id=\"header\">\n <layout-header\n [agentInfo]=\"agentInfo\"\n [config]=\"config\"\n (onGetTaskList)=\"handleOnGetTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></layout-header>\n </div>\n <div id=\"body\">\n <layout-body\n [agentInfo]=\"agentInfo\"\n [config]=\"config\"\n [taskList]=\"taskList\"\n [userConfig]=\"userConfig\"\n (onGetTaskList)=\"handleOnGetTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></layout-body>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;height:100%}::-webkit-scrollbar{width:8px!important}::-webkit-scrollbar-track{border-radius:8px!important}::-webkit-scrollbar-thumb{background:lightgray!important;border-radius:8px!important}::-webkit-scrollbar-thumb:hover{background:gray!important}#container{width:100%;height:100%}#container #header{width:100%;height:80px;border:1px solid red}#container #body{width:100%;height:calc(100% - 60px);border:1px solid blue;overflow:auto}\n"], components: [{ type: LayoutHeaderComponent, selector: "layout-header", inputs: ["config", "agentInfo"], outputs: ["onGetTaskList", "onClickPerformAction"] }, { type: LayoutBodyComponent, selector: "layout-body", inputs: ["config", "userConfig", "agentInfo", "taskList"], outputs: ["onClickApiCall", "onGetTaskList"] }] });
1855
1700
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDAgentDashboardComponent, decorators: [{
1856
1701
  type: i0.Component,
1857
1702
  args: [{
@@ -1859,131 +1704,706 @@
1859
1704
  templateUrl: './kwikid-agent-dashboard.component.html',
1860
1705
  styleUrls: ['./kwikid-agent-dashboard.component.scss']
1861
1706
  }]
1862
- }], ctorParameters: function () {
1863
- return [{ type: GoogleMapsService }, { type: AgentService }, { type: i3__namespace.HttpClient }, { type: i0__namespace.ElementRef }, { type: i11__namespace.TuiDialogService, decorators: [{
1864
- type: i0.Inject,
1865
- args: [i11.TuiDialogService]
1866
- }] }];
1867
- }, propDecorators: { windowResizeWatcher: [{
1868
- type: i0.HostListener,
1869
- args: ['window:resize', ['$event']]
1870
- }], config: [{
1707
+ }], ctorParameters: function () { return []; }, propDecorators: { config: [{
1708
+ type: i0.Input
1709
+ }], userConfig: [{
1710
+ type: i0.Input
1711
+ }], agentInfo: [{
1871
1712
  type: i0.Input
1872
1713
  }], taskList: [{
1873
1714
  type: i0.Input
1874
- }], nextStep: [{
1715
+ }], onGetTaskList: [{
1875
1716
  type: i0.Output
1876
- }], addTask: [{
1717
+ }], onClickPerformAction: [{
1877
1718
  type: i0.Output
1878
- }], removeTask: [{
1879
- type: i0.Output
1880
- }], filterTaskList: [{
1719
+ }] } });
1720
+
1721
+ var AgentInfoComponent = /** @class */ (function () {
1722
+ function AgentInfoComponent() {
1723
+ }
1724
+ AgentInfoComponent.prototype.ngOnInit = function () {
1725
+ return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
1726
+ return [2 /*return*/];
1727
+ }); });
1728
+ };
1729
+ return AgentInfoComponent;
1730
+ }());
1731
+ /** @nocollapse */ AgentInfoComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AgentInfoComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
1732
+ /** @nocollapse */ AgentInfoComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AgentInfoComponent, selector: "agent-info", ngImport: i0__namespace, template: "Agent Info\n", styles: [""] });
1733
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AgentInfoComponent, decorators: [{
1734
+ type: i0.Component,
1735
+ args: [{
1736
+ selector: 'agent-info',
1737
+ templateUrl: './agent-info.component.html',
1738
+ styleUrls: ['./agent-info.component.scss']
1739
+ }]
1740
+ }], ctorParameters: function () { return []; } });
1741
+
1742
+ var AgentInfoModule = /** @class */ (function () {
1743
+ function AgentInfoModule() {
1744
+ }
1745
+ return AgentInfoModule;
1746
+ }());
1747
+ /** @nocollapse */ AgentInfoModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AgentInfoModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1748
+ /** @nocollapse */ AgentInfoModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AgentInfoModule, declarations: [AgentInfoComponent], imports: [i3$1.CommonModule,
1749
+ i2$1.FormsModule,
1750
+ i2$1.ReactiveFormsModule,
1751
+ i1.KwikUIModule,
1752
+ i3$2.KwikIDFormsModule], exports: [AgentInfoComponent] });
1753
+ /** @nocollapse */ AgentInfoModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AgentInfoModule, imports: [[
1754
+ i3$1.CommonModule,
1755
+ i2$1.FormsModule,
1756
+ i2$1.ReactiveFormsModule,
1757
+ i1.KwikUIModule,
1758
+ i3$2.KwikIDFormsModule
1759
+ ]] });
1760
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AgentInfoModule, decorators: [{
1761
+ type: i0.NgModule,
1762
+ args: [{
1763
+ declarations: [AgentInfoComponent],
1764
+ imports: [
1765
+ i3$1.CommonModule,
1766
+ i2$1.FormsModule,
1767
+ i2$1.ReactiveFormsModule,
1768
+ i1.KwikUIModule,
1769
+ i3$2.KwikIDFormsModule
1770
+ ],
1771
+ exports: [AgentInfoComponent]
1772
+ }]
1773
+ }] });
1774
+
1775
+ var BottomSheetModule = /** @class */ (function () {
1776
+ function BottomSheetModule() {
1777
+ }
1778
+ return BottomSheetModule;
1779
+ }());
1780
+ /** @nocollapse */ BottomSheetModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BottomSheetModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1781
+ /** @nocollapse */ BottomSheetModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BottomSheetModule, declarations: [BottomSheetComponent], imports: [i3$1.CommonModule,
1782
+ i2$1.FormsModule,
1783
+ i2$1.ReactiveFormsModule,
1784
+ i3.TuiSvgModule,
1785
+ i1.KwikUIModule,
1786
+ i3$2.KwikIDFormsModule], exports: [BottomSheetComponent] });
1787
+ /** @nocollapse */ BottomSheetModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BottomSheetModule, imports: [[
1788
+ i3$1.CommonModule,
1789
+ i2$1.FormsModule,
1790
+ i2$1.ReactiveFormsModule,
1791
+ i3.TuiSvgModule,
1792
+ i1.KwikUIModule,
1793
+ i3$2.KwikIDFormsModule
1794
+ ]] });
1795
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: BottomSheetModule, decorators: [{
1796
+ type: i0.NgModule,
1797
+ args: [{
1798
+ declarations: [BottomSheetComponent],
1799
+ imports: [
1800
+ i3$1.CommonModule,
1801
+ i2$1.FormsModule,
1802
+ i2$1.ReactiveFormsModule,
1803
+ i3.TuiSvgModule,
1804
+ i1.KwikUIModule,
1805
+ i3$2.KwikIDFormsModule
1806
+ ],
1807
+ exports: [BottomSheetComponent]
1808
+ }]
1809
+ }] });
1810
+
1811
+ var MapViewModule = /** @class */ (function () {
1812
+ function MapViewModule() {
1813
+ }
1814
+ return MapViewModule;
1815
+ }());
1816
+ /** @nocollapse */ MapViewModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MapViewModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1817
+ /** @nocollapse */ MapViewModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MapViewModule, declarations: [MapViewComponent], imports: [i3$1.CommonModule,
1818
+ i2$1.FormsModule,
1819
+ i2$1.ReactiveFormsModule,
1820
+ i1.KwikUIModule,
1821
+ i3$2.KwikIDFormsModule], exports: [MapViewComponent] });
1822
+ /** @nocollapse */ MapViewModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MapViewModule, imports: [[
1823
+ i3$1.CommonModule,
1824
+ i2$1.FormsModule,
1825
+ i2$1.ReactiveFormsModule,
1826
+ i1.KwikUIModule,
1827
+ i3$2.KwikIDFormsModule
1828
+ ]] });
1829
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: MapViewModule, decorators: [{
1830
+ type: i0.NgModule,
1831
+ args: [{
1832
+ declarations: [MapViewComponent],
1833
+ imports: [
1834
+ i3$1.CommonModule,
1835
+ i2$1.FormsModule,
1836
+ i2$1.ReactiveFormsModule,
1837
+ i1.KwikUIModule,
1838
+ i3$2.KwikIDFormsModule
1839
+ ],
1840
+ exports: [MapViewComponent]
1841
+ }]
1842
+ }] });
1843
+
1844
+ var PrimaryActionsModule = /** @class */ (function () {
1845
+ function PrimaryActionsModule() {
1846
+ }
1847
+ return PrimaryActionsModule;
1848
+ }());
1849
+ /** @nocollapse */ PrimaryActionsModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PrimaryActionsModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1850
+ /** @nocollapse */ PrimaryActionsModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PrimaryActionsModule, declarations: [PrimaryActionsComponent], imports: [i3$1.CommonModule,
1851
+ i2$1.FormsModule,
1852
+ i2$1.ReactiveFormsModule,
1853
+ i1$1.TuiItemsWithMoreModule,
1854
+ i3.TuiDropdownModule,
1855
+ i3.TuiHostedDropdownModule,
1856
+ i3.TuiDataListModule,
1857
+ i1$1.TuiBadgeModule,
1858
+ i1.KwikUIModule,
1859
+ i3$2.KwikIDFormsModule], exports: [PrimaryActionsComponent] });
1860
+ /** @nocollapse */ PrimaryActionsModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PrimaryActionsModule, imports: [[
1861
+ i3$1.CommonModule,
1862
+ i2$1.FormsModule,
1863
+ i2$1.ReactiveFormsModule,
1864
+ i1$1.TuiItemsWithMoreModule,
1865
+ i3.TuiDropdownModule,
1866
+ i3.TuiHostedDropdownModule,
1867
+ i3.TuiDataListModule,
1868
+ i1$1.TuiBadgeModule,
1869
+ i1.KwikUIModule,
1870
+ i3$2.KwikIDFormsModule
1871
+ ]] });
1872
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PrimaryActionsModule, decorators: [{
1873
+ type: i0.NgModule,
1874
+ args: [{
1875
+ declarations: [PrimaryActionsComponent],
1876
+ imports: [
1877
+ i3$1.CommonModule,
1878
+ i2$1.FormsModule,
1879
+ i2$1.ReactiveFormsModule,
1880
+ i1$1.TuiItemsWithMoreModule,
1881
+ i3.TuiDropdownModule,
1882
+ i3.TuiHostedDropdownModule,
1883
+ i3.TuiDataListModule,
1884
+ i1$1.TuiBadgeModule,
1885
+ i1.KwikUIModule,
1886
+ i3$2.KwikIDFormsModule
1887
+ ],
1888
+ exports: [PrimaryActionsComponent]
1889
+ }]
1890
+ }] });
1891
+
1892
+ var TaskItemStatusModule = /** @class */ (function () {
1893
+ function TaskItemStatusModule() {
1894
+ }
1895
+ return TaskItemStatusModule;
1896
+ }());
1897
+ /** @nocollapse */ TaskItemStatusModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskItemStatusModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1898
+ /** @nocollapse */ TaskItemStatusModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskItemStatusModule, declarations: [TaskItemStatusComponent], imports: [i3$1.CommonModule, i2$1.FormsModule, i2$1.ReactiveFormsModule], exports: [TaskItemStatusComponent] });
1899
+ /** @nocollapse */ TaskItemStatusModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskItemStatusModule, imports: [[i3$1.CommonModule, i2$1.FormsModule, i2$1.ReactiveFormsModule]] });
1900
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskItemStatusModule, decorators: [{
1901
+ type: i0.NgModule,
1902
+ args: [{
1903
+ declarations: [TaskItemStatusComponent],
1904
+ imports: [i3$1.CommonModule, i2$1.FormsModule, i2$1.ReactiveFormsModule],
1905
+ exports: [TaskItemStatusComponent]
1906
+ }]
1907
+ }] });
1908
+
1909
+ var TaskDetailModule = /** @class */ (function () {
1910
+ function TaskDetailModule() {
1911
+ }
1912
+ return TaskDetailModule;
1913
+ }());
1914
+ /** @nocollapse */ TaskDetailModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskDetailModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1915
+ /** @nocollapse */ TaskDetailModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskDetailModule, declarations: [TaskDetailComponent], imports: [i3$1.CommonModule,
1916
+ i2$1.FormsModule,
1917
+ i2$1.ReactiveFormsModule,
1918
+ i1.KwikUIModule,
1919
+ i3$2.KwikIDFormsModule,
1920
+ TaskItemStatusModule], exports: [TaskDetailComponent] });
1921
+ /** @nocollapse */ TaskDetailModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskDetailModule, imports: [[
1922
+ i3$1.CommonModule,
1923
+ i2$1.FormsModule,
1924
+ i2$1.ReactiveFormsModule,
1925
+ i1.KwikUIModule,
1926
+ i3$2.KwikIDFormsModule,
1927
+ TaskItemStatusModule
1928
+ ]] });
1929
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskDetailModule, decorators: [{
1930
+ type: i0.NgModule,
1931
+ args: [{
1932
+ declarations: [TaskDetailComponent],
1933
+ imports: [
1934
+ i3$1.CommonModule,
1935
+ i2$1.FormsModule,
1936
+ i2$1.ReactiveFormsModule,
1937
+ i1.KwikUIModule,
1938
+ i3$2.KwikIDFormsModule,
1939
+ TaskItemStatusModule
1940
+ ],
1941
+ exports: [TaskDetailComponent]
1942
+ }]
1943
+ }] });
1944
+
1945
+ var TaskItemModule = /** @class */ (function () {
1946
+ function TaskItemModule() {
1947
+ }
1948
+ return TaskItemModule;
1949
+ }());
1950
+ /** @nocollapse */ TaskItemModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskItemModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1951
+ /** @nocollapse */ TaskItemModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskItemModule, declarations: [TaskItemComponent], imports: [i3$1.CommonModule,
1952
+ i2$1.FormsModule,
1953
+ i2$1.ReactiveFormsModule,
1954
+ i1$1.TuiAccordionModule,
1955
+ TaskItemStatusModule,
1956
+ i1.KwikUIModule,
1957
+ i3$2.KwikIDFormsModule], exports: [TaskItemComponent] });
1958
+ /** @nocollapse */ TaskItemModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskItemModule, imports: [[
1959
+ i3$1.CommonModule,
1960
+ i2$1.FormsModule,
1961
+ i2$1.ReactiveFormsModule,
1962
+ i1$1.TuiAccordionModule,
1963
+ TaskItemStatusModule,
1964
+ i1.KwikUIModule,
1965
+ i3$2.KwikIDFormsModule
1966
+ ]] });
1967
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskItemModule, decorators: [{
1968
+ type: i0.NgModule,
1969
+ args: [{
1970
+ declarations: [TaskItemComponent],
1971
+ imports: [
1972
+ i3$1.CommonModule,
1973
+ i2$1.FormsModule,
1974
+ i2$1.ReactiveFormsModule,
1975
+ i1$1.TuiAccordionModule,
1976
+ TaskItemStatusModule,
1977
+ i1.KwikUIModule,
1978
+ i3$2.KwikIDFormsModule
1979
+ ],
1980
+ exports: [TaskItemComponent]
1981
+ }]
1982
+ }] });
1983
+
1984
+ var TaskListSearchModule = /** @class */ (function () {
1985
+ function TaskListSearchModule() {
1986
+ }
1987
+ return TaskListSearchModule;
1988
+ }());
1989
+ /** @nocollapse */ TaskListSearchModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskListSearchModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1990
+ /** @nocollapse */ TaskListSearchModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskListSearchModule, declarations: [TaskListSearchComponent], imports: [i3$1.CommonModule,
1991
+ scrolling.ScrollingModule,
1992
+ i2$1.FormsModule,
1993
+ i2$1.ReactiveFormsModule,
1994
+ i1.KwikUIModule,
1995
+ i3$2.KwikIDFormsModule], exports: [TaskListSearchComponent] });
1996
+ /** @nocollapse */ TaskListSearchModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskListSearchModule, imports: [[
1997
+ i3$1.CommonModule,
1998
+ scrolling.ScrollingModule,
1999
+ i2$1.FormsModule,
2000
+ i2$1.ReactiveFormsModule,
2001
+ i1.KwikUIModule,
2002
+ i3$2.KwikIDFormsModule
2003
+ ]] });
2004
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskListSearchModule, decorators: [{
2005
+ type: i0.NgModule,
2006
+ args: [{
2007
+ declarations: [TaskListSearchComponent],
2008
+ imports: [
2009
+ i3$1.CommonModule,
2010
+ scrolling.ScrollingModule,
2011
+ i2$1.FormsModule,
2012
+ i2$1.ReactiveFormsModule,
2013
+ i1.KwikUIModule,
2014
+ i3$2.KwikIDFormsModule
2015
+ ],
2016
+ exports: [TaskListSearchComponent]
2017
+ }]
2018
+ }] });
2019
+
2020
+ var Ng2SearchPipe = /** @class */ (function () {
2021
+ function Ng2SearchPipe() {
2022
+ }
2023
+ /**
2024
+ * @param items object from array
2025
+ * @param term term's search
2026
+ * @param excludes array of strings which will ignored during search
2027
+ */
2028
+ Ng2SearchPipe.prototype.transform = function (items, term, excludes) {
2029
+ if (excludes === void 0) { excludes = []; }
2030
+ if (!term || !items)
2031
+ return items;
2032
+ return Ng2SearchPipe.filter(items, term, excludes);
2033
+ };
2034
+ /**
2035
+ *
2036
+ * @param items List of items to filter
2037
+ * @param term a string term to compare with every property of the list
2038
+ * @param excludes List of keys which will be ignored during search
2039
+ *
2040
+ */
2041
+ Ng2SearchPipe.filter = function (items, term, excludes) {
2042
+ var toCompare = term.toLowerCase();
2043
+ function checkInside(item, term) {
2044
+ if (typeof item === 'string' &&
2045
+ item.toString().toLowerCase().includes(toCompare)) {
2046
+ return true;
2047
+ }
2048
+ for (var property in item) {
2049
+ if (item[property] === null ||
2050
+ item[property] == undefined ||
2051
+ excludes.includes(property)) {
2052
+ continue;
2053
+ }
2054
+ if (typeof item[property] === 'object') {
2055
+ if (checkInside(item[property], term)) {
2056
+ return true;
2057
+ }
2058
+ }
2059
+ else if (item[property].toString().toLowerCase().includes(toCompare)) {
2060
+ return true;
2061
+ }
2062
+ }
2063
+ return false;
2064
+ }
2065
+ return items.filter(function (item) {
2066
+ return checkInside(item, term);
2067
+ });
2068
+ };
2069
+ return Ng2SearchPipe;
2070
+ }());
2071
+ /** @nocollapse */ Ng2SearchPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: Ng2SearchPipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
2072
+ /** @nocollapse */ Ng2SearchPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: Ng2SearchPipe, name: "filter", pure: false });
2073
+ /** @nocollapse */ Ng2SearchPipe.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: Ng2SearchPipe });
2074
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: Ng2SearchPipe, decorators: [{
2075
+ type: i0.Pipe,
2076
+ args: [{
2077
+ name: 'filter',
2078
+ pure: false
2079
+ }]
2080
+ }, {
2081
+ type: i0.Injectable
2082
+ }] });
2083
+
2084
+ var TaskListModule = /** @class */ (function () {
2085
+ function TaskListModule() {
2086
+ }
2087
+ return TaskListModule;
2088
+ }());
2089
+ /** @nocollapse */ TaskListModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskListModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
2090
+ /** @nocollapse */ TaskListModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskListModule, declarations: [TaskListComponent, Ng2SearchPipe], imports: [i3$1.CommonModule,
2091
+ scrolling.ScrollingModule,
2092
+ i2$1.FormsModule,
2093
+ i2$1.ReactiveFormsModule,
2094
+ i1.KwikUIModule,
2095
+ i1.KwikUILoaderModule,
2096
+ i3$2.KwikIDFormsModule,
2097
+ TaskItemModule,
2098
+ TaskListSearchModule,
2099
+ i1$1.TuiPaginationModule], exports: [TaskListComponent] });
2100
+ /** @nocollapse */ TaskListModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskListModule, imports: [[
2101
+ i3$1.CommonModule,
2102
+ scrolling.ScrollingModule,
2103
+ i2$1.FormsModule,
2104
+ i2$1.ReactiveFormsModule,
2105
+ i1.KwikUIModule,
2106
+ i1.KwikUILoaderModule,
2107
+ i3$2.KwikIDFormsModule,
2108
+ TaskItemModule,
2109
+ TaskListSearchModule,
2110
+ i1$1.TuiPaginationModule
2111
+ ]] });
2112
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskListModule, decorators: [{
2113
+ type: i0.NgModule,
2114
+ args: [{
2115
+ declarations: [TaskListComponent, Ng2SearchPipe],
2116
+ imports: [
2117
+ i3$1.CommonModule,
2118
+ scrolling.ScrollingModule,
2119
+ i2$1.FormsModule,
2120
+ i2$1.ReactiveFormsModule,
2121
+ i1.KwikUIModule,
2122
+ i1.KwikUILoaderModule,
2123
+ i3$2.KwikIDFormsModule,
2124
+ TaskItemModule,
2125
+ TaskListSearchModule,
2126
+ i1$1.TuiPaginationModule
2127
+ ],
2128
+ exports: [TaskListComponent]
2129
+ }]
2130
+ }] });
2131
+
2132
+ var TaskPreviewComponent = /** @class */ (function () {
2133
+ function TaskPreviewComponent() {
2134
+ this.config = {};
2135
+ this.data = {};
2136
+ this.onClickTaskItemAction = new i0.EventEmitter();
2137
+ }
2138
+ TaskPreviewComponent.prototype.ngOnInit = function () {
2139
+ return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {
2140
+ return [2 /*return*/];
2141
+ }); });
2142
+ };
2143
+ return TaskPreviewComponent;
2144
+ }());
2145
+ /** @nocollapse */ TaskPreviewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskPreviewComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
2146
+ /** @nocollapse */ TaskPreviewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TaskPreviewComponent, selector: "task-preview", inputs: { config: "config", data: "data" }, outputs: { onClickTaskItemAction: "onClickTaskItemAction" }, ngImport: i0__namespace, template: "<div></div>\n", styles: [""] });
2147
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskPreviewComponent, decorators: [{
2148
+ type: i0.Component,
2149
+ args: [{
2150
+ selector: 'task-preview',
2151
+ templateUrl: './task-preview.component.html',
2152
+ styleUrls: ['./task-preview.component.scss']
2153
+ }]
2154
+ }], ctorParameters: function () { return []; }, propDecorators: { config: [{
2155
+ type: i0.Input
2156
+ }], data: [{
2157
+ type: i0.Input
2158
+ }], onClickTaskItemAction: [{
1881
2159
  type: i0.Output
1882
- }], infoWindow: [{
1883
- type: i0.ViewChild,
1884
- args: [i2.MapInfoWindow, { static: false }]
1885
- }], mapElement: [{
1886
- type: i0.ViewChild,
1887
- args: ['map', { static: true }]
1888
2160
  }] } });
1889
2161
 
2162
+ var TaskPreviewModule = /** @class */ (function () {
2163
+ function TaskPreviewModule() {
2164
+ }
2165
+ return TaskPreviewModule;
2166
+ }());
2167
+ /** @nocollapse */ TaskPreviewModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskPreviewModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
2168
+ /** @nocollapse */ TaskPreviewModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskPreviewModule, declarations: [TaskPreviewComponent], imports: [i3$1.CommonModule,
2169
+ i2$1.FormsModule,
2170
+ i2$1.ReactiveFormsModule,
2171
+ i1.KwikUIModule,
2172
+ i3$2.KwikIDFormsModule], exports: [TaskPreviewComponent] });
2173
+ /** @nocollapse */ TaskPreviewModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskPreviewModule, imports: [[
2174
+ i3$1.CommonModule,
2175
+ i2$1.FormsModule,
2176
+ i2$1.ReactiveFormsModule,
2177
+ i1.KwikUIModule,
2178
+ i3$2.KwikIDFormsModule
2179
+ ]] });
2180
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TaskPreviewModule, decorators: [{
2181
+ type: i0.NgModule,
2182
+ args: [{
2183
+ declarations: [TaskPreviewComponent],
2184
+ imports: [
2185
+ i3$1.CommonModule,
2186
+ i2$1.FormsModule,
2187
+ i2$1.ReactiveFormsModule,
2188
+ i1.KwikUIModule,
2189
+ i3$2.KwikIDFormsModule
2190
+ ],
2191
+ exports: [TaskPreviewComponent]
2192
+ }]
2193
+ }] });
2194
+
2195
+ var ComponentModule = /** @class */ (function () {
2196
+ function ComponentModule() {
2197
+ }
2198
+ return ComponentModule;
2199
+ }());
2200
+ /** @nocollapse */ ComponentModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ComponentModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
2201
+ /** @nocollapse */ ComponentModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ComponentModule, imports: [AgentInfoModule,
2202
+ BottomSheetModule,
2203
+ MapViewModule,
2204
+ PrimaryActionsModule,
2205
+ TaskDetailModule,
2206
+ TaskItemModule,
2207
+ TaskListModule,
2208
+ TaskListSearchModule,
2209
+ TaskPreviewModule], exports: [AgentInfoModule,
2210
+ BottomSheetModule,
2211
+ MapViewModule,
2212
+ PrimaryActionsModule,
2213
+ TaskDetailModule,
2214
+ TaskItemModule,
2215
+ TaskListModule,
2216
+ TaskListSearchModule,
2217
+ TaskPreviewModule] });
2218
+ /** @nocollapse */ ComponentModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ComponentModule, imports: [[
2219
+ AgentInfoModule,
2220
+ BottomSheetModule,
2221
+ MapViewModule,
2222
+ PrimaryActionsModule,
2223
+ TaskDetailModule,
2224
+ TaskItemModule,
2225
+ TaskListModule,
2226
+ TaskListSearchModule,
2227
+ TaskPreviewModule
2228
+ ], AgentInfoModule,
2229
+ BottomSheetModule,
2230
+ MapViewModule,
2231
+ PrimaryActionsModule,
2232
+ TaskDetailModule,
2233
+ TaskItemModule,
2234
+ TaskListModule,
2235
+ TaskListSearchModule,
2236
+ TaskPreviewModule] });
2237
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ComponentModule, decorators: [{
2238
+ type: i0.NgModule,
2239
+ args: [{
2240
+ declarations: [],
2241
+ imports: [
2242
+ AgentInfoModule,
2243
+ BottomSheetModule,
2244
+ MapViewModule,
2245
+ PrimaryActionsModule,
2246
+ TaskDetailModule,
2247
+ TaskItemModule,
2248
+ TaskListModule,
2249
+ TaskListSearchModule,
2250
+ TaskPreviewModule
2251
+ ],
2252
+ exports: [
2253
+ AgentInfoModule,
2254
+ BottomSheetModule,
2255
+ MapViewModule,
2256
+ PrimaryActionsModule,
2257
+ TaskDetailModule,
2258
+ TaskItemModule,
2259
+ TaskListModule,
2260
+ TaskListSearchModule,
2261
+ TaskPreviewModule
2262
+ ]
2263
+ }]
2264
+ }] });
2265
+
2266
+ var LayoutBodyModule = /** @class */ (function () {
2267
+ function LayoutBodyModule() {
2268
+ }
2269
+ return LayoutBodyModule;
2270
+ }());
2271
+ /** @nocollapse */ LayoutBodyModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LayoutBodyModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
2272
+ /** @nocollapse */ LayoutBodyModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LayoutBodyModule, declarations: [LayoutBodyComponent], imports: [i3$1.CommonModule,
2273
+ i2$1.FormsModule,
2274
+ i2$1.ReactiveFormsModule,
2275
+ i1.KwikUIModule,
2276
+ i3$2.KwikIDFormViewModule,
2277
+ ComponentModule,
2278
+ i3.TuiSvgModule,
2279
+ i8.TuiPreviewActionModule,
2280
+ i8.TuiPreviewModule,
2281
+ i3.TuiButtonModule], exports: [LayoutBodyComponent] });
2282
+ /** @nocollapse */ LayoutBodyModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LayoutBodyModule, imports: [[
2283
+ i3$1.CommonModule,
2284
+ i2$1.FormsModule,
2285
+ i2$1.ReactiveFormsModule,
2286
+ i1.KwikUIModule,
2287
+ i3$2.KwikIDFormViewModule,
2288
+ ComponentModule,
2289
+ i3.TuiSvgModule,
2290
+ i8.TuiPreviewActionModule,
2291
+ i8.TuiPreviewModule,
2292
+ i3.TuiButtonModule
2293
+ ]] });
2294
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LayoutBodyModule, decorators: [{
2295
+ type: i0.NgModule,
2296
+ args: [{
2297
+ declarations: [LayoutBodyComponent],
2298
+ imports: [
2299
+ i3$1.CommonModule,
2300
+ i2$1.FormsModule,
2301
+ i2$1.ReactiveFormsModule,
2302
+ i1.KwikUIModule,
2303
+ i3$2.KwikIDFormViewModule,
2304
+ ComponentModule,
2305
+ i3.TuiSvgModule,
2306
+ i8.TuiPreviewActionModule,
2307
+ i8.TuiPreviewModule,
2308
+ i3.TuiButtonModule
2309
+ ],
2310
+ exports: [LayoutBodyComponent]
2311
+ }]
2312
+ }] });
2313
+
2314
+ var LayoutHeaderModule = /** @class */ (function () {
2315
+ function LayoutHeaderModule() {
2316
+ }
2317
+ return LayoutHeaderModule;
2318
+ }());
2319
+ /** @nocollapse */ LayoutHeaderModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LayoutHeaderModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
2320
+ /** @nocollapse */ LayoutHeaderModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LayoutHeaderModule, declarations: [LayoutHeaderComponent], imports: [i3$1.CommonModule,
2321
+ i2$1.FormsModule,
2322
+ i2$1.ReactiveFormsModule,
2323
+ i1.KwikUIModule,
2324
+ i3$2.KwikIDFormsModule,
2325
+ i2.TuiActiveZoneModule,
2326
+ i3.TuiGroupModule,
2327
+ i3.TuiDropdownModule], exports: [LayoutHeaderComponent] });
2328
+ /** @nocollapse */ LayoutHeaderModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LayoutHeaderModule, imports: [[
2329
+ i3$1.CommonModule,
2330
+ i2$1.FormsModule,
2331
+ i2$1.ReactiveFormsModule,
2332
+ i1.KwikUIModule,
2333
+ i3$2.KwikIDFormsModule,
2334
+ i2.TuiActiveZoneModule,
2335
+ i3.TuiGroupModule,
2336
+ i3.TuiDropdownModule
2337
+ ]] });
2338
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LayoutHeaderModule, decorators: [{
2339
+ type: i0.NgModule,
2340
+ args: [{
2341
+ declarations: [LayoutHeaderComponent],
2342
+ imports: [
2343
+ i3$1.CommonModule,
2344
+ i2$1.FormsModule,
2345
+ i2$1.ReactiveFormsModule,
2346
+ i1.KwikUIModule,
2347
+ i3$2.KwikIDFormsModule,
2348
+ i2.TuiActiveZoneModule,
2349
+ i3.TuiGroupModule,
2350
+ i3.TuiDropdownModule
2351
+ ],
2352
+ exports: [LayoutHeaderComponent]
2353
+ }]
2354
+ }] });
2355
+
2356
+ var LayoutModule = /** @class */ (function () {
2357
+ function LayoutModule() {
2358
+ }
2359
+ return LayoutModule;
2360
+ }());
2361
+ /** @nocollapse */ LayoutModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LayoutModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
2362
+ /** @nocollapse */ LayoutModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LayoutModule, imports: [LayoutHeaderModule, LayoutBodyModule], exports: [LayoutHeaderModule, LayoutBodyModule] });
2363
+ /** @nocollapse */ LayoutModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LayoutModule, imports: [[LayoutHeaderModule, LayoutBodyModule], LayoutHeaderModule, LayoutBodyModule] });
2364
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LayoutModule, decorators: [{
2365
+ type: i0.NgModule,
2366
+ args: [{
2367
+ declarations: [],
2368
+ imports: [LayoutHeaderModule, LayoutBodyModule],
2369
+ exports: [LayoutHeaderModule, LayoutBodyModule]
2370
+ }]
2371
+ }] });
2372
+
1890
2373
  var KwikIDAgentDashboardModule = /** @class */ (function () {
1891
2374
  function KwikIDAgentDashboardModule() {
1892
2375
  }
1893
2376
  return KwikIDAgentDashboardModule;
1894
2377
  }());
1895
2378
  /** @nocollapse */ KwikIDAgentDashboardModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDAgentDashboardModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1896
- /** @nocollapse */ KwikIDAgentDashboardModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDAgentDashboardModule, declarations: [KwikIDAgentDashboardComponent,
1897
- CustomerListComponent,
1898
- CustomerTileComponent,
1899
- Ng2SearchPipe,
1900
- StatusPillComponent,
1901
- CustomerDetailsComponent], imports: [i6.CommonModule,
1902
- i3.HttpClientModule,
1903
- i7.FormsModule,
1904
- i7.ReactiveFormsModule,
1905
- i4.KwikUIButtonModule,
1906
- i4.KwikUIInputModule,
1907
- i4.KwikUIInputDateModule,
1908
- i4.KwikUIInputDateRangeModule,
1909
- i4.KwikUIInputSelectModule,
1910
- i4.KwikUILabelValuePairModule,
1911
- i4.KwikUITableModule,
1912
- i4.KwikUITablePaginationModule,
1913
- i8.KwikIDFormViewModule,
1914
- i11.TuiRootModule,
1915
- i11.TuiDialogModule,
1916
- i11.TuiDropdownModule,
1917
- addonMobile.TuiSidebarModule,
1918
- i10.TuiActiveZoneModule,
1919
- i11.TuiGroupModule,
1920
- i11.TuiSvgModule,
1921
- i5.ScrollingModule,
1922
- i2.GoogleMapsModule,
1923
- i3.HttpClientModule,
1924
- i3.HttpClientJsonpModule], exports: [KwikIDAgentDashboardComponent] });
2379
+ /** @nocollapse */ KwikIDAgentDashboardModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDAgentDashboardModule, declarations: [KwikIDAgentDashboardComponent], imports: [i3$1.CommonModule,
2380
+ i2$1.FormsModule,
2381
+ i2$1.ReactiveFormsModule,
2382
+ i1.KwikUIModule,
2383
+ i3$2.KwikIDFormsModule,
2384
+ LayoutModule,
2385
+ ComponentModule], exports: [KwikIDAgentDashboardComponent] });
1925
2386
  /** @nocollapse */ KwikIDAgentDashboardModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDAgentDashboardModule, imports: [[
1926
- i6.CommonModule,
1927
- i3.HttpClientModule,
1928
- i7.FormsModule,
1929
- i7.ReactiveFormsModule,
1930
- i4.KwikUIButtonModule,
1931
- i4.KwikUIInputModule,
1932
- i4.KwikUIInputDateModule,
1933
- i4.KwikUIInputDateRangeModule,
1934
- i4.KwikUIInputSelectModule,
1935
- i4.KwikUILabelValuePairModule,
1936
- i4.KwikUITableModule,
1937
- i4.KwikUITablePaginationModule,
1938
- i8.KwikIDFormViewModule,
1939
- i11.TuiRootModule,
1940
- i11.TuiDialogModule,
1941
- i11.TuiDropdownModule,
1942
- addonMobile.TuiSidebarModule,
1943
- i10.TuiActiveZoneModule,
1944
- i11.TuiGroupModule,
1945
- i11.TuiSvgModule,
1946
- i5.ScrollingModule,
1947
- i2.GoogleMapsModule,
1948
- i3.HttpClientModule,
1949
- i3.HttpClientJsonpModule
2387
+ i3$1.CommonModule,
2388
+ i2$1.FormsModule,
2389
+ i2$1.ReactiveFormsModule,
2390
+ i1.KwikUIModule,
2391
+ i3$2.KwikIDFormsModule,
2392
+ LayoutModule,
2393
+ ComponentModule
1950
2394
  ]] });
1951
2395
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: KwikIDAgentDashboardModule, decorators: [{
1952
2396
  type: i0.NgModule,
1953
2397
  args: [{
1954
- declarations: [
1955
- KwikIDAgentDashboardComponent,
1956
- CustomerListComponent,
1957
- CustomerTileComponent,
1958
- Ng2SearchPipe,
1959
- StatusPillComponent,
1960
- CustomerDetailsComponent
1961
- ],
2398
+ declarations: [KwikIDAgentDashboardComponent],
1962
2399
  imports: [
1963
- i6.CommonModule,
1964
- i3.HttpClientModule,
1965
- i7.FormsModule,
1966
- i7.ReactiveFormsModule,
1967
- i4.KwikUIButtonModule,
1968
- i4.KwikUIInputModule,
1969
- i4.KwikUIInputDateModule,
1970
- i4.KwikUIInputDateRangeModule,
1971
- i4.KwikUIInputSelectModule,
1972
- i4.KwikUILabelValuePairModule,
1973
- i4.KwikUITableModule,
1974
- i4.KwikUITablePaginationModule,
1975
- i8.KwikIDFormViewModule,
1976
- i11.TuiRootModule,
1977
- i11.TuiDialogModule,
1978
- i11.TuiDropdownModule,
1979
- addonMobile.TuiSidebarModule,
1980
- i10.TuiActiveZoneModule,
1981
- i11.TuiGroupModule,
1982
- i11.TuiSvgModule,
1983
- i5.ScrollingModule,
1984
- i2.GoogleMapsModule,
1985
- i3.HttpClientModule,
1986
- i3.HttpClientJsonpModule
2400
+ i3$1.CommonModule,
2401
+ i2$1.FormsModule,
2402
+ i2$1.ReactiveFormsModule,
2403
+ i1.KwikUIModule,
2404
+ i3$2.KwikIDFormsModule,
2405
+ LayoutModule,
2406
+ ComponentModule
1987
2407
  ],
1988
2408
  exports: [KwikIDAgentDashboardComponent]
1989
2409
  }]