cat-qw-lib 2.6.88-uw → 2.6.89-uw

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 (151) hide show
  1. package/fesm2022/cat-qw-lib.mjs +15 -74
  2. package/fesm2022/cat-qw-lib.mjs.map +1 -1
  3. package/lib/queue/components/queue-container/queue-container.component.d.ts +3 -5
  4. package/lib/queue/components/queue-item/queue-item.component.d.ts +1 -2
  5. package/lib/queue/components/queue-list/queue-list.component.d.ts +1 -2
  6. package/lib/queue/models/queue.model.d.ts +0 -8
  7. package/lib/queue/services/queue-business.service.d.ts +0 -10
  8. package/package.json +1 -1
  9. package/cat-qw-lib.d.ts.map +0 -1
  10. package/lib/admin/action-admin/action-admin.module.d.ts.map +0 -1
  11. package/lib/admin/action-admin/components/admin-action-form/admin-action-form.component.d.ts.map +0 -1
  12. package/lib/admin/action-admin/components/admin-action-list/admin-action-list.component.d.ts.map +0 -1
  13. package/lib/admin/action-admin/models/admin-action.model.d.ts.map +0 -1
  14. package/lib/admin/action-admin/state/admin-action.service.d.ts.map +0 -1
  15. package/lib/admin/action-admin/state/admin-action.store.d.ts.map +0 -1
  16. package/lib/admin/api-admin/api-admin.module.d.ts.map +0 -1
  17. package/lib/admin/api-admin/components/api-admin-form/api-admin-form.component.d.ts.map +0 -1
  18. package/lib/admin/api-admin/components/api-admin-list/api-admin-list.component.d.ts.map +0 -1
  19. package/lib/admin/api-admin/models/api-config.model.d.ts.map +0 -1
  20. package/lib/admin/api-admin/state/api-admin.service.d.ts.map +0 -1
  21. package/lib/admin/api-admin/state/api-admin.store.d.ts.map +0 -1
  22. package/lib/admin/dd-admin/components/dd-admin-form/dd-admin-form.component.d.ts.map +0 -1
  23. package/lib/admin/dd-admin/components/dd-admin-item-form/dd-admin-item-form.component.d.ts.map +0 -1
  24. package/lib/admin/dd-admin/components/dd-admin-list/dd-admin-list.component.d.ts.map +0 -1
  25. package/lib/admin/dd-admin/dd-admin.module.d.ts.map +0 -1
  26. package/lib/admin/dd-admin/models/api-property.model.d.ts.map +0 -1
  27. package/lib/admin/dd-admin/models/dd-attribute-sidebar-view.model.d.ts.map +0 -1
  28. package/lib/admin/dd-admin/models/dictionary.model.d.ts.map +0 -1
  29. package/lib/admin/dd-admin/state/dictionary.query.d.ts.map +0 -1
  30. package/lib/admin/dd-admin/state/dictionary.service.d.ts.map +0 -1
  31. package/lib/admin/dd-admin/state/dictionary.store.d.ts.map +0 -1
  32. package/lib/admin/queue-admin/components/queue-admin-form/queue-admin-form.component.d.ts.map +0 -1
  33. package/lib/admin/queue-admin/components/queue-admin-list/queue-admin-list.component.d.ts.map +0 -1
  34. package/lib/admin/queue-admin/components/queue-application-list/queue-application-list.component.d.ts.map +0 -1
  35. package/lib/admin/queue-admin/models/queue.model.d.ts.map +0 -1
  36. package/lib/admin/queue-admin/queue-admin-routing.module.d.ts.map +0 -1
  37. package/lib/admin/queue-admin/queue-admin.module.d.ts.map +0 -1
  38. package/lib/admin/queue-admin/state/queue.query.d.ts.map +0 -1
  39. package/lib/admin/queue-admin/state/queue.service.d.ts.map +0 -1
  40. package/lib/admin/queue-admin/state/queue.state.d.ts.map +0 -1
  41. package/lib/admin/queue-admin/state/queue.store.d.ts.map +0 -1
  42. package/lib/admin/template-admin/components/template-admin-form/template-admin-form.component.d.ts.map +0 -1
  43. package/lib/admin/template-admin/components/template-admin-list/template-admin-list.component.d.ts.map +0 -1
  44. package/lib/admin/template-admin/models/template.model.d.ts.map +0 -1
  45. package/lib/admin/template-admin/state/template-admin.query.d.ts.map +0 -1
  46. package/lib/admin/template-admin/state/template-admin.service.d.ts.map +0 -1
  47. package/lib/admin/template-admin/state/template-admin.store.d.ts.map +0 -1
  48. package/lib/admin/template-admin/template-admin.module.d.ts.map +0 -1
  49. package/lib/admin/widget-admin/components/widget-admin-form/widget-admin-form.component.d.ts.map +0 -1
  50. package/lib/admin/widget-admin/components/widget-admin-list/widget-admin-list.component.d.ts.map +0 -1
  51. package/lib/admin/widget-admin/models/widget.model.d.ts.map +0 -1
  52. package/lib/admin/widget-admin/state/widget-admin.query.d.ts.map +0 -1
  53. package/lib/admin/widget-admin/state/widget-admin.service.d.ts.map +0 -1
  54. package/lib/admin/widget-admin/state/widget-admin.store.d.ts.map +0 -1
  55. package/lib/admin/widget-admin/widget-admin.module.d.ts.map +0 -1
  56. package/lib/queue/components/queue-container/queue-container.component.d.ts.map +0 -1
  57. package/lib/queue/components/queue-filter-dropdown/queue-filter-dropdown.component.d.ts.map +0 -1
  58. package/lib/queue/components/queue-item/queue-item.component.d.ts.map +0 -1
  59. package/lib/queue/components/queue-list/queue-list.component.d.ts.map +0 -1
  60. package/lib/queue/components/queue-record-table/queue-record-table.component.d.ts.map +0 -1
  61. package/lib/queue/components/queue-search/queue-search.component.d.ts.map +0 -1
  62. package/lib/queue/models/queue.model.d.ts.map +0 -1
  63. package/lib/queue/queue-routing.module.d.ts.map +0 -1
  64. package/lib/queue/queue.module.d.ts.map +0 -1
  65. package/lib/queue/services/queue-business.service.d.ts.map +0 -1
  66. package/lib/queue/services/queue-filter-dropdown.service.d.ts.map +0 -1
  67. package/lib/queue/services/queue-record-table-builder.service.d.ts.map +0 -1
  68. package/lib/queue/state/queue.query.d.ts.map +0 -1
  69. package/lib/queue/state/queue.service.d.ts.map +0 -1
  70. package/lib/queue/state/queue.state.d.ts.map +0 -1
  71. package/lib/queue/state/queue.store.d.ts.map +0 -1
  72. package/lib/shared/_base/base-container/base-container.component.d.ts.map +0 -1
  73. package/lib/shared/_base/base-control/base-control.component.d.ts.map +0 -1
  74. package/lib/shared/_base/base-form/base-form.component.d.ts.map +0 -1
  75. package/lib/shared/_base/base-list/base-list.component.d.ts.map +0 -1
  76. package/lib/shared/components/form-container/form-container.component.d.ts.map +0 -1
  77. package/lib/shared/components/list/block-list.component.d.ts.map +0 -1
  78. package/lib/shared/components/queue-search-customer/queue-search-customer.component.d.ts.map +0 -1
  79. package/lib/shared/components/sidebar/sidebar.component.d.ts.map +0 -1
  80. package/lib/shared/components/skeleton/skeleton.component.d.ts.map +0 -1
  81. package/lib/shared/constant/CSS.d.ts.map +0 -1
  82. package/lib/shared/constant/DATASOURCES.d.ts.map +0 -1
  83. package/lib/shared/constant/ERROR.d.ts.map +0 -1
  84. package/lib/shared/constant/HEADERS.d.ts.map +0 -1
  85. package/lib/shared/constant/LIST-CONFIG.d.ts.map +0 -1
  86. package/lib/shared/constant/LOOKUPS.d.ts.map +0 -1
  87. package/lib/shared/constant/MESSAGES.d.ts.map +0 -1
  88. package/lib/shared/constant/PERMISSION.d.ts.map +0 -1
  89. package/lib/shared/constant/ROUTES.d.ts.map +0 -1
  90. package/lib/shared/constant/SHARED.d.ts.map +0 -1
  91. package/lib/shared/constant/URLS.d.ts.map +0 -1
  92. package/lib/shared/controls/button/button.component.d.ts.map +0 -1
  93. package/lib/shared/controls/check-box/check-box.component.d.ts.map +0 -1
  94. package/lib/shared/controls/date/date.component.d.ts.map +0 -1
  95. package/lib/shared/controls/dropdown/dropdown.component.d.ts.map +0 -1
  96. package/lib/shared/controls/file-upload/file-upload.component.d.ts.map +0 -1
  97. package/lib/shared/controls/password/password.component.d.ts.map +0 -1
  98. package/lib/shared/controls/text-area/text-area.component.d.ts.map +0 -1
  99. package/lib/shared/controls/text-box/text-box.component.d.ts.map +0 -1
  100. package/lib/shared/controls/username/username.component.d.ts.map +0 -1
  101. package/lib/shared/directives/permission.directive.d.ts.map +0 -1
  102. package/lib/shared/index.d.ts.map +0 -1
  103. package/lib/shared/models/attribute.model.d.ts.map +0 -1
  104. package/lib/shared/models/base.model.d.ts.map +0 -1
  105. package/lib/shared/models/custom-widget.model.d.ts.map +0 -1
  106. package/lib/shared/models/list.model.d.ts.map +0 -1
  107. package/lib/shared/models/meta-data.model.d.ts.map +0 -1
  108. package/lib/shared/pipe/capitalize-words.pipe.d.ts.map +0 -1
  109. package/lib/shared/services/app-config.service.d.ts.map +0 -1
  110. package/lib/shared/services/auth/auth.guard.d.ts.map +0 -1
  111. package/lib/shared/services/custom-widget.service.d.ts.map +0 -1
  112. package/lib/shared/services/data-transformer.service.d.ts.map +0 -1
  113. package/lib/shared/services/date-parser.service.d.ts.map +0 -1
  114. package/lib/shared/services/form-state.service.d.ts.map +0 -1
  115. package/lib/shared/services/list.service.d.ts.map +0 -1
  116. package/lib/shared/services/session.service.d.ts.map +0 -1
  117. package/lib/shared/services/style-builder.service.d.ts.map +0 -1
  118. package/lib/shared/services/table.builder.d.ts.map +0 -1
  119. package/lib/shared/services/validator.service.d.ts.map +0 -1
  120. package/lib/shared/shared.module.d.ts.map +0 -1
  121. package/lib/shared/state/base.query.d.ts.map +0 -1
  122. package/lib/shared/state/base.service.d.ts.map +0 -1
  123. package/lib/shared/state/base.state.d.ts.map +0 -1
  124. package/lib/shared/state/base.store.d.ts.map +0 -1
  125. package/lib/shared/table-primary/components/table-primary.component.d.ts.map +0 -1
  126. package/lib/shared/table-primary/models/table-primary-header.model.d.ts.map +0 -1
  127. package/lib/shared/table-primary/models/table-primary.model.d.ts.map +0 -1
  128. package/lib/shared/table-secondary/components/table-secondary.component.d.ts.map +0 -1
  129. package/lib/shared/table-secondary/models/table-secondary-header.model.d.ts.map +0 -1
  130. package/lib/shared/table-secondary/models/table-secondary.model.d.ts.map +0 -1
  131. package/lib/widget/components/custom-widget/custom-widget.component.d.ts.map +0 -1
  132. package/lib/widget/components/widget-body/widget-body.component.d.ts.map +0 -1
  133. package/lib/widget/components/widget-container/widget-container.component.d.ts.map +0 -1
  134. package/lib/widget/components/widget-footer/widget-footer.component.d.ts.map +0 -1
  135. package/lib/widget/components/widget-header/widget-header.component.d.ts.map +0 -1
  136. package/lib/widget/components/widget-item/widget-item.component.d.ts.map +0 -1
  137. package/lib/widget/components/widget-main/widget-main.component.d.ts.map +0 -1
  138. package/lib/widget/components/widget-menu/widget-menu.component.d.ts.map +0 -1
  139. package/lib/widget/components/widget-menu-body/widget-menu-body.component.d.ts.map +0 -1
  140. package/lib/widget/components/widget-menu-container/widget-menu-container.component.d.ts.map +0 -1
  141. package/lib/widget/components/widget-menu-header/widget-menu-header.component.d.ts.map +0 -1
  142. package/lib/widget/components/widget-menu-item/widget-menu-item.component.d.ts.map +0 -1
  143. package/lib/widget/components/widget-row-tile/widget-row-tile.component.d.ts.map +0 -1
  144. package/lib/widget/models/custom-widget.model.d.ts.map +0 -1
  145. package/lib/widget/models/progress-chart.model.d.ts.map +0 -1
  146. package/lib/widget/models/widget.model.d.ts.map +0 -1
  147. package/lib/widget/state/widget.query.d.ts.map +0 -1
  148. package/lib/widget/state/widget.service.d.ts.map +0 -1
  149. package/lib/widget/state/widget.store.d.ts.map +0 -1
  150. package/lib/widget/widget.module.d.ts.map +0 -1
  151. package/public-api.d.ts.map +0 -1
@@ -2747,36 +2747,6 @@ class QueueBusinessService {
2747
2747
  return [...queues];
2748
2748
  }
2749
2749
  }
2750
- /** Normalizes queueCategory input; defaults to vehicle (HPA). */
2751
- normalizeQueueCategory(category) {
2752
- const normalized = (category ?? 'vehicle').trim().toLowerCase();
2753
- return normalized === 'handset' ? 'handset' : 'vehicle';
2754
- }
2755
- /** API applicationType query value from queueCategory (Handset | Vehicle). */
2756
- getApplicationTypeForApi(category) {
2757
- return this.normalizeQueueCategory(category) === 'handset' ? 'Handset' : 'Vehicle';
2758
- }
2759
- /**
2760
- * Keeps queues whose lookupDetails include the requested category value.
2761
- * Queues without lookupDetails are included for backward compatibility.
2762
- */
2763
- filterQueuesByCategory(queues, category) {
2764
- if (!queues?.length)
2765
- return [];
2766
- const normalized = this.normalizeQueueCategory(category);
2767
- return queues.filter(queue => {
2768
- const details = queue?.lookupDetails;
2769
- if (!Array.isArray(details) || details.length === 0) {
2770
- return true;
2771
- }
2772
- return details.some((lookup) => (lookup?.value ?? '').toLowerCase() === normalized);
2773
- });
2774
- }
2775
- appendApplicationListParams(queryString, category) {
2776
- const params = new URLSearchParams(queryString || '');
2777
- params.set('applicationType', this.getApplicationTypeForApi(category));
2778
- return params.toString();
2779
- }
2780
2750
  /**
2781
2751
  * The rest follow in their original order.
2782
2752
  */
@@ -2815,17 +2785,12 @@ class QueueBusinessService {
2815
2785
  return searchSubject.pipe(debounceTime(delay), distinctUntilChanged(), takeUntil(this.destroy$));
2816
2786
  }
2817
2787
  buildQueryString(record) {
2818
- const queryParams = {};
2819
- if (record?.type) {
2820
- queryParams['type'] = record.type;
2821
- }
2822
- if (record?.status) {
2823
- queryParams['applicationStatus'] = record.status;
2824
- }
2825
- if (record?.applicationStatus) {
2826
- queryParams['applicationStatus'] = record.applicationStatus;
2827
- }
2828
- return new URLSearchParams(queryParams).toString();
2788
+ const queryParams = {
2789
+ type: record.type ?? SHARED.EMPTY,
2790
+ status: record.status ?? SHARED.EMPTY
2791
+ };
2792
+ const filteredQueryParams = Object.fromEntries(Object.entries(queryParams).filter(([_, value]) => value));
2793
+ return new URLSearchParams(filteredQueryParams).toString();
2829
2794
  }
2830
2795
  calculatePagination(event) {
2831
2796
  // PrimeNG Paginator emits { first, rows, page } where page is 0-based.
@@ -7671,7 +7636,6 @@ class QueueItemComponent {
7671
7636
  selectedStatus = 'active';
7672
7637
  userRole = false;
7673
7638
  showQueueDataForm = true;
7674
- queueCategory = 'vehicle';
7675
7639
  queueSelected = new EventEmitter();
7676
7640
  statusChanged = new EventEmitter();
7677
7641
  insertQueueRequested = new EventEmitter();
@@ -7716,11 +7680,11 @@ class QueueItemComponent {
7716
7680
  return 'pi-list';
7717
7681
  }
7718
7682
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueItemComponent, deps: [{ token: QueueStore$1 }], target: i0.ɵɵFactoryTarget.Component });
7719
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: QueueItemComponent, isStandalone: false, selector: "app-queue-item", inputs: { filteredQueueData: "filteredQueueData", selectedQueueId: "selectedQueueId", selectedStatus: "selectedStatus", userRole: "userRole", showQueueDataForm: "showQueueDataForm", queueCategory: "queueCategory" }, outputs: { queueSelected: "queueSelected", statusChanged: "statusChanged", insertQueueRequested: "insertQueueRequested" }, ngImport: i0, template: "<div class=\"queue-nav-wrapper\">\r\n <h4 class=\"queue-title m-0 mb-3\">{{ queueCategory === 'vehicle' ? 'HPA Queue' : 'Handset Queue' }}</h4>\r\n <div class=\"queue-items-list\">\r\n @for(queue of filteredQueueData; let i = $index; track queue){\r\n <div class=\"queue-nav-item\"\r\n [ngClass]=\"{'queue-nav-item--active': isQueueSelected(queue._id), 'queue-nav-item--inactive': !isQueueActive(queue)}\"\r\n (click)=\"onQueueClick(queue._id)\">\r\n <div class=\"queue-nav-item__inner\">\r\n <i class=\"pi queue-nav-item__icon\"\r\n [ngClass]=\"getQueueIcon(queue.name)\"></i>\r\n <span class=\"queue-nav-item__label\" [pTooltip]=\"queue.name\" tooltipPosition=\"top\"\r\n [ngClass]=\"{'queue-nav-item__label--active': isQueueSelected(queue._id)}\">{{queue.name}}</span>\r\n </div>\r\n @if(queue.itemCount !== null){\r\n <span class=\"queue-nav-item__badge\"\r\n [ngClass]=\"{'queue-nav-item__badge--active': isQueueSelected(queue._id)}\">{{queue.itemCount}}</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".queue-nav-wrapper{background:#fff;border-radius:15px;padding:20px;width:100%}.queue-title{font-family:Open Sans,sans-serif;font-weight:600;font-size:18px;line-height:1.2em;color:#1f2937}.queue-items-list{display:flex;flex-direction:column;gap:8px}.queue-nav-item{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:transparent;cursor:pointer;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.queue-nav-item:hover{background:#0066ff0f;border-color:#0066ff1f;box-shadow:0 2px 8px #0066ff14;transform:translate(2px)}.queue-nav-item:hover .queue-nav-item__icon{color:#0f8bfd}.queue-nav-item:hover .queue-nav-item__label{color:#06f}.queue-nav-item:active{transform:translate(1px);box-shadow:0 1px 4px #0066ff1a}.queue-nav-item--active{background:#0066ff1a;border-color:#06f3;box-shadow:0 2px 8px #0066ff1a}.queue-nav-item--active:hover{background:#0066ff24;border-color:#0066ff40;box-shadow:0 3px 12px #0066ff1f}.queue-nav-item--active .queue-nav-item__icon{color:#0f8bfd}.queue-nav-item--inactive{opacity:.5}.queue-nav-item--inactive:hover{opacity:.7}.queue-nav-item__inner{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0;flex:1}.queue-nav-item__icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#9ea0b3;flex-shrink:0;transition:color .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__label{font-family:Open Sans,sans-serif;font-weight:600;font-size:12px;line-height:1.4em;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__label--active{color:#06f}.queue-nav-item__badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px 8px;border-radius:100px;background:#e5e7eb;font-family:Open Sans,sans-serif;font-weight:700;font-size:11px;line-height:1.4em;color:#7d879b;flex-shrink:0;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__badge--active{background:#0f8bfd;color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7683
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: QueueItemComponent, isStandalone: false, selector: "app-queue-item", inputs: { filteredQueueData: "filteredQueueData", selectedQueueId: "selectedQueueId", selectedStatus: "selectedStatus", userRole: "userRole", showQueueDataForm: "showQueueDataForm" }, outputs: { queueSelected: "queueSelected", statusChanged: "statusChanged", insertQueueRequested: "insertQueueRequested" }, ngImport: i0, template: "<div class=\"queue-nav-wrapper\">\r\n <h4 class=\"queue-title m-0 mb-3\">Queues</h4>\r\n <div class=\"queue-items-list\">\r\n @for(queue of filteredQueueData; let i = $index; track queue){\r\n <div class=\"queue-nav-item\"\r\n [ngClass]=\"{'queue-nav-item--active': isQueueSelected(queue._id), 'queue-nav-item--inactive': !isQueueActive(queue)}\"\r\n (click)=\"onQueueClick(queue._id)\">\r\n <div class=\"queue-nav-item__inner\">\r\n <i class=\"pi queue-nav-item__icon\"\r\n [ngClass]=\"getQueueIcon(queue.name)\"></i>\r\n <span class=\"queue-nav-item__label\" [pTooltip]=\"queue.name\" tooltipPosition=\"top\"\r\n [ngClass]=\"{'queue-nav-item__label--active': isQueueSelected(queue._id)}\">{{queue.name}}</span>\r\n </div>\r\n @if(queue.itemCount !== null){\r\n <span class=\"queue-nav-item__badge\"\r\n [ngClass]=\"{'queue-nav-item__badge--active': isQueueSelected(queue._id)}\">{{queue.itemCount}}</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".queue-nav-wrapper{background:#fff;border-radius:15px;padding:20px;width:100%}.queue-title{font-family:Open Sans,sans-serif;font-weight:600;font-size:18px;line-height:1.2em;color:#1f2937}.queue-items-list{display:flex;flex-direction:column;gap:8px}.queue-nav-item{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:transparent;cursor:pointer;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.queue-nav-item:hover{background:#0066ff0f;border-color:#0066ff1f;box-shadow:0 2px 8px #0066ff14;transform:translate(2px)}.queue-nav-item:hover .queue-nav-item__icon{color:#0f8bfd}.queue-nav-item:hover .queue-nav-item__label{color:#06f}.queue-nav-item:active{transform:translate(1px);box-shadow:0 1px 4px #0066ff1a}.queue-nav-item--active{background:#0066ff1a;border-color:#06f3;box-shadow:0 2px 8px #0066ff1a}.queue-nav-item--active:hover{background:#0066ff24;border-color:#0066ff40;box-shadow:0 3px 12px #0066ff1f}.queue-nav-item--active .queue-nav-item__icon{color:#0f8bfd}.queue-nav-item--inactive{opacity:.5}.queue-nav-item--inactive:hover{opacity:.7}.queue-nav-item__inner{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0;flex:1}.queue-nav-item__icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#9ea0b3;flex-shrink:0;transition:color .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__label{font-family:Open Sans,sans-serif;font-weight:600;font-size:12px;line-height:1.4em;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__label--active{color:#06f}.queue-nav-item__badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px 8px;border-radius:100px;background:#e5e7eb;font-family:Open Sans,sans-serif;font-weight:700;font-size:11px;line-height:1.4em;color:#7d879b;flex-shrink:0;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__badge--active{background:#0f8bfd;color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4$2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7720
7684
  }
7721
7685
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueItemComponent, decorators: [{
7722
7686
  type: Component,
7723
- args: [{ selector: 'app-queue-item', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"queue-nav-wrapper\">\r\n <h4 class=\"queue-title m-0 mb-3\">{{ queueCategory === 'vehicle' ? 'HPA Queue' : 'Handset Queue' }}</h4>\r\n <div class=\"queue-items-list\">\r\n @for(queue of filteredQueueData; let i = $index; track queue){\r\n <div class=\"queue-nav-item\"\r\n [ngClass]=\"{'queue-nav-item--active': isQueueSelected(queue._id), 'queue-nav-item--inactive': !isQueueActive(queue)}\"\r\n (click)=\"onQueueClick(queue._id)\">\r\n <div class=\"queue-nav-item__inner\">\r\n <i class=\"pi queue-nav-item__icon\"\r\n [ngClass]=\"getQueueIcon(queue.name)\"></i>\r\n <span class=\"queue-nav-item__label\" [pTooltip]=\"queue.name\" tooltipPosition=\"top\"\r\n [ngClass]=\"{'queue-nav-item__label--active': isQueueSelected(queue._id)}\">{{queue.name}}</span>\r\n </div>\r\n @if(queue.itemCount !== null){\r\n <span class=\"queue-nav-item__badge\"\r\n [ngClass]=\"{'queue-nav-item__badge--active': isQueueSelected(queue._id)}\">{{queue.itemCount}}</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".queue-nav-wrapper{background:#fff;border-radius:15px;padding:20px;width:100%}.queue-title{font-family:Open Sans,sans-serif;font-weight:600;font-size:18px;line-height:1.2em;color:#1f2937}.queue-items-list{display:flex;flex-direction:column;gap:8px}.queue-nav-item{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:transparent;cursor:pointer;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.queue-nav-item:hover{background:#0066ff0f;border-color:#0066ff1f;box-shadow:0 2px 8px #0066ff14;transform:translate(2px)}.queue-nav-item:hover .queue-nav-item__icon{color:#0f8bfd}.queue-nav-item:hover .queue-nav-item__label{color:#06f}.queue-nav-item:active{transform:translate(1px);box-shadow:0 1px 4px #0066ff1a}.queue-nav-item--active{background:#0066ff1a;border-color:#06f3;box-shadow:0 2px 8px #0066ff1a}.queue-nav-item--active:hover{background:#0066ff24;border-color:#0066ff40;box-shadow:0 3px 12px #0066ff1f}.queue-nav-item--active .queue-nav-item__icon{color:#0f8bfd}.queue-nav-item--inactive{opacity:.5}.queue-nav-item--inactive:hover{opacity:.7}.queue-nav-item__inner{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0;flex:1}.queue-nav-item__icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#9ea0b3;flex-shrink:0;transition:color .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__label{font-family:Open Sans,sans-serif;font-weight:600;font-size:12px;line-height:1.4em;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__label--active{color:#06f}.queue-nav-item__badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px 8px;border-radius:100px;background:#e5e7eb;font-family:Open Sans,sans-serif;font-weight:700;font-size:11px;line-height:1.4em;color:#7d879b;flex-shrink:0;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__badge--active{background:#0f8bfd;color:#fff}\n"] }]
7687
+ args: [{ selector: 'app-queue-item', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"queue-nav-wrapper\">\r\n <h4 class=\"queue-title m-0 mb-3\">Queues</h4>\r\n <div class=\"queue-items-list\">\r\n @for(queue of filteredQueueData; let i = $index; track queue){\r\n <div class=\"queue-nav-item\"\r\n [ngClass]=\"{'queue-nav-item--active': isQueueSelected(queue._id), 'queue-nav-item--inactive': !isQueueActive(queue)}\"\r\n (click)=\"onQueueClick(queue._id)\">\r\n <div class=\"queue-nav-item__inner\">\r\n <i class=\"pi queue-nav-item__icon\"\r\n [ngClass]=\"getQueueIcon(queue.name)\"></i>\r\n <span class=\"queue-nav-item__label\" [pTooltip]=\"queue.name\" tooltipPosition=\"top\"\r\n [ngClass]=\"{'queue-nav-item__label--active': isQueueSelected(queue._id)}\">{{queue.name}}</span>\r\n </div>\r\n @if(queue.itemCount !== null){\r\n <span class=\"queue-nav-item__badge\"\r\n [ngClass]=\"{'queue-nav-item__badge--active': isQueueSelected(queue._id)}\">{{queue.itemCount}}</span>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".queue-nav-wrapper{background:#fff;border-radius:15px;padding:20px;width:100%}.queue-title{font-family:Open Sans,sans-serif;font-weight:600;font-size:18px;line-height:1.2em;color:#1f2937}.queue-items-list{display:flex;flex-direction:column;gap:8px}.queue-nav-item{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:transparent;cursor:pointer;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.queue-nav-item:hover{background:#0066ff0f;border-color:#0066ff1f;box-shadow:0 2px 8px #0066ff14;transform:translate(2px)}.queue-nav-item:hover .queue-nav-item__icon{color:#0f8bfd}.queue-nav-item:hover .queue-nav-item__label{color:#06f}.queue-nav-item:active{transform:translate(1px);box-shadow:0 1px 4px #0066ff1a}.queue-nav-item--active{background:#0066ff1a;border-color:#06f3;box-shadow:0 2px 8px #0066ff1a}.queue-nav-item--active:hover{background:#0066ff24;border-color:#0066ff40;box-shadow:0 3px 12px #0066ff1f}.queue-nav-item--active .queue-nav-item__icon{color:#0f8bfd}.queue-nav-item--inactive{opacity:.5}.queue-nav-item--inactive:hover{opacity:.7}.queue-nav-item__inner{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0;flex:1}.queue-nav-item__icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#9ea0b3;flex-shrink:0;transition:color .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__label{font-family:Open Sans,sans-serif;font-weight:600;font-size:12px;line-height:1.4em;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__label--active{color:#06f}.queue-nav-item__badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px 8px;border-radius:100px;background:#e5e7eb;font-family:Open Sans,sans-serif;font-weight:700;font-size:11px;line-height:1.4em;color:#7d879b;flex-shrink:0;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.queue-nav-item__badge--active{background:#0f8bfd;color:#fff}\n"] }]
7724
7688
  }], ctorParameters: () => [{ type: QueueStore$1 }], propDecorators: { filteredQueueData: [{
7725
7689
  type: Input
7726
7690
  }], selectedQueueId: [{
@@ -7731,8 +7695,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
7731
7695
  type: Input
7732
7696
  }], showQueueDataForm: [{
7733
7697
  type: Input
7734
- }], queueCategory: [{
7735
- type: Input
7736
7698
  }], queueSelected: [{
7737
7699
  type: Output
7738
7700
  }], statusChanged: [{
@@ -7747,7 +7709,6 @@ class QueueListComponent {
7747
7709
  selectedStatus = 'active';
7748
7710
  userRole = false;
7749
7711
  showQueueDataForm = true;
7750
- queueCategory = 'vehicle';
7751
7712
  queueSelected = new EventEmitter();
7752
7713
  statusChanged = new EventEmitter();
7753
7714
  insertQueueRequested = new EventEmitter();
@@ -7761,11 +7722,11 @@ class QueueListComponent {
7761
7722
  this.insertQueueRequested.emit();
7762
7723
  }
7763
7724
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7764
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: QueueListComponent, isStandalone: false, selector: "app-queue-list", inputs: { queueData: "queueData", selectedQueueId: "selectedQueueId", selectedStatus: "selectedStatus", userRole: "userRole", showQueueDataForm: "showQueueDataForm", queueCategory: "queueCategory" }, outputs: { queueSelected: "queueSelected", statusChanged: "statusChanged", insertQueueRequested: "insertQueueRequested" }, ngImport: i0, template: "<app-queue-item\r\n [filteredQueueData]=\"queueData\"\r\n [selectedQueueId]=\"selectedQueueId\"\r\n [selectedStatus]=\"selectedStatus\"\r\n [userRole]=\"userRole\"\r\n [showQueueDataForm]=\"showQueueDataForm\"\r\n [queueCategory]=\"queueCategory\"\r\n (queueSelected)=\"onQueueSelected($event)\"\r\n (statusChanged)=\"onStatusChanged($event)\"\r\n (insertQueueRequested)=\"onInsertQueue()\"\r\n></app-queue-item>\r\n", styles: [""], dependencies: [{ kind: "component", type: QueueItemComponent, selector: "app-queue-item", inputs: ["filteredQueueData", "selectedQueueId", "selectedStatus", "userRole", "showQueueDataForm", "queueCategory"], outputs: ["queueSelected", "statusChanged", "insertQueueRequested"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7725
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: QueueListComponent, isStandalone: false, selector: "app-queue-list", inputs: { queueData: "queueData", selectedQueueId: "selectedQueueId", selectedStatus: "selectedStatus", userRole: "userRole", showQueueDataForm: "showQueueDataForm" }, outputs: { queueSelected: "queueSelected", statusChanged: "statusChanged", insertQueueRequested: "insertQueueRequested" }, ngImport: i0, template: "<app-queue-item\r\n [filteredQueueData]=\"queueData\"\r\n [selectedQueueId]=\"selectedQueueId\"\r\n [selectedStatus]=\"selectedStatus\"\r\n [userRole]=\"userRole\"\r\n [showQueueDataForm]=\"showQueueDataForm\"\r\n (queueSelected)=\"onQueueSelected($event)\"\r\n (statusChanged)=\"onStatusChanged($event)\"\r\n (insertQueueRequested)=\"onInsertQueue()\"\r\n></app-queue-item>\r\n", styles: [""], dependencies: [{ kind: "component", type: QueueItemComponent, selector: "app-queue-item", inputs: ["filteredQueueData", "selectedQueueId", "selectedStatus", "userRole", "showQueueDataForm"], outputs: ["queueSelected", "statusChanged", "insertQueueRequested"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7765
7726
  }
7766
7727
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueListComponent, decorators: [{
7767
7728
  type: Component,
7768
- args: [{ selector: 'app-queue-list', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<app-queue-item\r\n [filteredQueueData]=\"queueData\"\r\n [selectedQueueId]=\"selectedQueueId\"\r\n [selectedStatus]=\"selectedStatus\"\r\n [userRole]=\"userRole\"\r\n [showQueueDataForm]=\"showQueueDataForm\"\r\n [queueCategory]=\"queueCategory\"\r\n (queueSelected)=\"onQueueSelected($event)\"\r\n (statusChanged)=\"onStatusChanged($event)\"\r\n (insertQueueRequested)=\"onInsertQueue()\"\r\n></app-queue-item>\r\n" }]
7729
+ args: [{ selector: 'app-queue-list', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<app-queue-item\r\n [filteredQueueData]=\"queueData\"\r\n [selectedQueueId]=\"selectedQueueId\"\r\n [selectedStatus]=\"selectedStatus\"\r\n [userRole]=\"userRole\"\r\n [showQueueDataForm]=\"showQueueDataForm\"\r\n (queueSelected)=\"onQueueSelected($event)\"\r\n (statusChanged)=\"onStatusChanged($event)\"\r\n (insertQueueRequested)=\"onInsertQueue()\"\r\n></app-queue-item>\r\n" }]
7769
7730
  }], propDecorators: { queueData: [{
7770
7731
  type: Input
7771
7732
  }], selectedQueueId: [{
@@ -7776,8 +7737,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
7776
7737
  type: Input
7777
7738
  }], showQueueDataForm: [{
7778
7739
  type: Input
7779
- }], queueCategory: [{
7780
- type: Input
7781
7740
  }], queueSelected: [{
7782
7741
  type: Output
7783
7742
  }], statusChanged: [{
@@ -8119,7 +8078,6 @@ class QueueContainerComponent extends BaseContainerComponent {
8119
8078
  resetSort = false;
8120
8079
  appliedFilters = {};
8121
8080
  placeholder = '';
8122
- queueCategory = 'vehicle';
8123
8081
  /** Snapshot of the latest request; used to ignore stale responses. */
8124
8082
  latestRequestSnapshot = null;
8125
8083
  filterDropdown;
@@ -8173,18 +8131,6 @@ class QueueContainerComponent extends BaseContainerComponent {
8173
8131
  }
8174
8132
  });
8175
8133
  }
8176
- ngOnChanges(changes) {
8177
- if (changes['queueCategory'] && !changes['queueCategory'].firstChange) {
8178
- const preferredQueueId = this.selectedQueueId ?? this.getStoredQueueId() ?? undefined;
8179
- this.resetPage();
8180
- if (this.queueList?.length) {
8181
- this.filterQueues(preferredQueueId);
8182
- }
8183
- else {
8184
- this.getAllQueueList(preferredQueueId);
8185
- }
8186
- }
8187
- }
8188
8134
  ngOnDestroy() {
8189
8135
  this.destroy$.next();
8190
8136
  this.destroy$.complete();
@@ -8337,7 +8283,6 @@ class QueueContainerComponent extends BaseContainerComponent {
8337
8283
  }
8338
8284
  filterQueues(preferredQueueId) {
8339
8285
  this.filteredQueueData = this.queueBusinessService.filterQueuesByStatus(this.queueList, this.selectedStatus);
8340
- this.filteredQueueData = this.queueBusinessService.filterQueuesByCategory(this.filteredQueueData, this.queueCategory);
8341
8286
  this.filteredQueueData = this.queueBusinessService.orderQueuesByPriority(this.filteredQueueData);
8342
8287
  let queueIdToSelect = preferredQueueId;
8343
8288
  if (queueIdToSelect && this.filteredQueueData.some(q => q._id == queueIdToSelect)) {
@@ -8395,17 +8340,15 @@ class QueueContainerComponent extends BaseContainerComponent {
8395
8340
  };
8396
8341
  }
8397
8342
  // Capture snapshot so we can ignore stale responses when user changes queue/search/page before this request completes
8398
- const applicationType = this.queueBusinessService.getApplicationTypeForApi(this.queueCategory);
8399
8343
  const requestSnapshot = {
8400
8344
  queueId: this.selectedQueueId,
8401
8345
  searchTerm: this.currentSearchTerm,
8402
8346
  page: targetPage,
8403
- limit: targetLimit,
8404
- applicationType
8347
+ limit: targetLimit
8405
8348
  };
8406
8349
  this.latestRequestSnapshot = requestSnapshot;
8407
- // Build filter query string (applicationType from queueCategory; applicationStatus from table/query filters)
8408
- let filterQueryString = this.queueBusinessService.appendApplicationListParams(this.queryString, this.queueCategory);
8350
+ // Build filter query string
8351
+ let filterQueryString = this.queryString;
8409
8352
  if (this.appliedFilters && Object.keys(this.appliedFilters).length > 0) {
8410
8353
  const filterQuery = this.queueFilterDropdownService.buildFilterQueryString(this.appliedFilters);
8411
8354
  // Combine existing query string with filter parameters
@@ -8528,15 +8471,13 @@ class QueueContainerComponent extends BaseContainerComponent {
8528
8471
  }
8529
8472
  }
8530
8473
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueContainerComponent, deps: [{ token: QueueStore$1 }, { token: QueueService }, { token: BaseStore }, { token: QueueBusinessService }, { token: QueueRecordTableBuilderService }, { token: QueueFilterDropdownService }, { token: BaseQuery }], target: i0.ɵɵFactoryTarget.Component });
8531
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: QueueContainerComponent, isStandalone: false, selector: "lib-queue-container", inputs: { placeholder: "placeholder", queueCategory: "queueCategory", selectedRowsInput: "selectedRowsInput" }, outputs: { assignmentComplete: "assignmentComplete", userAssigned: "userAssigned", selectedRowsData: "selectedRowsData", assignmentDataReady: "assignmentDataReady", rowClick: "rowClick", selectionChange: "selectionChange", isAllRowSelected: "isAllRowSelected", excludedApplicationIds: "excludedApplicationIds" }, viewQueries: [{ propertyName: "filterDropdown", first: true, predicate: ["filterDropdown"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"container grid m-0 h-full\">\r\n <div class=\"col-12 xl:col-2 md:col-12 py-0 pl-0 h-full\">\r\n <lib-skeleton *ngIf=\"queueListLoading\" [isAllowCard]=\"true\" [count]=\"5\" [width]=\"'100%'\" [height]=\"'4.5rem'\"></lib-skeleton>\r\n @if(!queueListLoading){\r\n <div class=\"queue-list-container-wrapper p-0\">\r\n <app-queue-list\r\n [queueData]=\"filteredQueueData\"\r\n [selectedQueueId]=\"selectedQueueId\"\r\n [selectedStatus]=\"selectedStatus\"\r\n [userRole]=\"userRole\"\r\n [showQueueDataForm]=\"true\"\r\n [queueCategory]=\"queueCategory\"\r\n (queueSelected)=\"onQueueSelected($event)\"\r\n (statusChanged)=\"onStatusChanged($event)\"\r\n (insertQueueRequested)=\"onInsertQueueRequested()\"\r\n ></app-queue-list>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"col-12 xl:col-10 md:col-12 py-0 pr-0 h-full\">\r\n @if(selectedQueue){\r\n <div class=\"queue-application-container-wrapper h-full\">\r\n <div class=\"grid m-0 justify-content-between align-items-center mb-3\">\r\n <div class=\"col-8 p-0 flex align-items-center\">\r\n <div class=\"col-7 p-0 mr-3\">\r\n <queue-search \r\n [placeholder]=\"placeholder\"\r\n [searchText]=\"searchText\"\r\n (searchInputChanged)=\"onSearchInputChanged($event)\"\r\n (searchRequested)=\"onSearchRequested($event)\"\r\n (searchCleared)=\"onSearchCleared()\">\r\n </queue-search>\r\n </div>\r\n <div>\r\n <lib-queue-filter-dropdown \r\n #filterDropdown\r\n [appliedFilters]=\"appliedFilters\"\r\n (filterApplied)=\"onFilterDropdownApplied($event)\"\r\n (filtersCleared)=\"onFiltersCleared()\">\r\n </lib-queue-filter-dropdown>\r\n </div>\r\n <div *ngIf=\"hasActiveFilters\">\r\n <button \r\n class=\"clear-filters-btn\"\r\n type=\"button\"\r\n (click)=\"onClearAllFilters()\">\r\n Clear <i class=\"pi pi-times ml-2\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n \r\n <div class=\"flex align-items-center gap-3 col-3 py-0 pl-0 justify-content-end\">\r\n <ng-content select=\"[user-dropdown]\"></ng-content>\r\n </div>\r\n </div>\r\n\r\n <div class=\"animation-duration-500 associated-list queue-table-container-wrapper custom-scroll mb-0 p-0\">\r\n \r\n <app-queue-record-table\r\n [table]=\"table\"\r\n [metaData]=\"metaData\"\r\n [selectedRows]=\"selectedRows\"\r\n [resetSort]=\"resetSort\"\r\n [isShowSkeleton]=\"isShowSkeleton\"\r\n [selectedQueue]=\"selectedQueue\"\r\n (selectionChange)=\"onTableSelectionChange($event)\"\r\n (selectedRowsData)=\"onTableSelectionChange($event)\"\r\n (assignmentDataReady)=\"onAssignmentDataReady($event)\"\r\n (rowClick)=\"onTableRowClick($event)\"\r\n (paginationChanged)=\"onPaginationChanged($event)\"\r\n (filterApplied)=\"onFilterApplied($event)\"\r\n (sortApplied)=\"onSortApplied($event)\">\r\n </app-queue-record-table>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n </div>", styles: [":host{display:block;height:100%;padding-top:14px}.queue-table-container-wrapper{height:calc(100% - 58px)}.queue-list-container-wrapper{background-color:transparent}.queue-application-container-wrapper{background-color:#fff;border-radius:15px;padding:20px}.clear-filters-btn{background:none;border:1px solid #e5e7eb;color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;margin-left:.5rem;display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;transition:all .2s ease}.clear-filters-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#ef4444}.clear-filters-btn i{font-size:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SkeletonComponent, selector: "lib-skeleton", inputs: ["count", "columns", "width", "height", "isAllowCard"] }, { kind: "component", type: QueueSearchComponent, selector: "queue-search", inputs: ["searchText", "placeholder", "debounceTime"], outputs: ["searchInputChanged", "searchRequested", "searchCleared"] }, { kind: "component", type: QueueListComponent, selector: "app-queue-list", inputs: ["queueData", "selectedQueueId", "selectedStatus", "userRole", "showQueueDataForm", "queueCategory"], outputs: ["queueSelected", "statusChanged", "insertQueueRequested"] }, { kind: "component", type: QueueRecordTableComponent, selector: "app-queue-record-table", inputs: ["table", "metaData", "loading", "selectedRows", "resetSort", "isShowSkeleton", "selectedQueue"], outputs: ["selectionChange", "selectedRowsData", "assignmentDataReady", "rowClick", "paginationChanged", "filterApplied", "sortApplied"] }, { kind: "component", type: QueueFilterDropdownComponent, selector: "lib-queue-filter-dropdown", inputs: ["appliedFilters"], outputs: ["filterApplied", "filtersCleared"] }] });
8474
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: QueueContainerComponent, isStandalone: false, selector: "lib-queue-container", inputs: { placeholder: "placeholder", selectedRowsInput: "selectedRowsInput" }, outputs: { assignmentComplete: "assignmentComplete", userAssigned: "userAssigned", selectedRowsData: "selectedRowsData", assignmentDataReady: "assignmentDataReady", rowClick: "rowClick", selectionChange: "selectionChange", isAllRowSelected: "isAllRowSelected", excludedApplicationIds: "excludedApplicationIds" }, viewQueries: [{ propertyName: "filterDropdown", first: true, predicate: ["filterDropdown"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"container grid m-0 h-full\">\r\n <div class=\"col-12 xl:col-2 md:col-12 py-0 pl-0 h-full\">\r\n <lib-skeleton *ngIf=\"queueListLoading\" [isAllowCard]=\"true\" [count]=\"5\" [width]=\"'100%'\" [height]=\"'4.5rem'\"></lib-skeleton>\r\n @if(!queueListLoading){\r\n <div class=\"queue-list-container-wrapper p-0\">\r\n <app-queue-list\r\n [queueData]=\"filteredQueueData\"\r\n [selectedQueueId]=\"selectedQueueId\"\r\n [selectedStatus]=\"selectedStatus\"\r\n [userRole]=\"userRole\"\r\n [showQueueDataForm]=\"true\"\r\n (queueSelected)=\"onQueueSelected($event)\"\r\n (statusChanged)=\"onStatusChanged($event)\"\r\n (insertQueueRequested)=\"onInsertQueueRequested()\"\r\n ></app-queue-list>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"col-12 xl:col-10 md:col-12 py-0 pr-0 h-full\">\r\n @if(selectedQueue){\r\n <div class=\"queue-application-container-wrapper h-full\">\r\n <div class=\"grid m-0 justify-content-between align-items-center mb-3\">\r\n <div class=\"col-8 p-0 flex align-items-center\">\r\n <div class=\"col-7 p-0 mr-3\">\r\n <queue-search \r\n [placeholder]=\"placeholder\"\r\n [searchText]=\"searchText\"\r\n (searchInputChanged)=\"onSearchInputChanged($event)\"\r\n (searchRequested)=\"onSearchRequested($event)\"\r\n (searchCleared)=\"onSearchCleared()\">\r\n </queue-search>\r\n </div>\r\n <div>\r\n <lib-queue-filter-dropdown \r\n #filterDropdown\r\n [appliedFilters]=\"appliedFilters\"\r\n (filterApplied)=\"onFilterDropdownApplied($event)\"\r\n (filtersCleared)=\"onFiltersCleared()\">\r\n </lib-queue-filter-dropdown>\r\n </div>\r\n <div *ngIf=\"hasActiveFilters\">\r\n <button \r\n class=\"clear-filters-btn\"\r\n type=\"button\"\r\n (click)=\"onClearAllFilters()\">\r\n Clear <i class=\"pi pi-times ml-2\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n \r\n <div class=\"flex align-items-center gap-3 col-3 py-0 pl-0 justify-content-end\">\r\n <ng-content select=\"[user-dropdown]\"></ng-content>\r\n </div>\r\n </div>\r\n\r\n <div class=\"animation-duration-500 associated-list queue-table-container-wrapper custom-scroll mb-0 p-0\">\r\n \r\n <app-queue-record-table\r\n [table]=\"table\"\r\n [metaData]=\"metaData\"\r\n [selectedRows]=\"selectedRows\"\r\n [resetSort]=\"resetSort\"\r\n [isShowSkeleton]=\"isShowSkeleton\"\r\n [selectedQueue]=\"selectedQueue\"\r\n (selectionChange)=\"onTableSelectionChange($event)\"\r\n (selectedRowsData)=\"onTableSelectionChange($event)\"\r\n (assignmentDataReady)=\"onAssignmentDataReady($event)\"\r\n (rowClick)=\"onTableRowClick($event)\"\r\n (paginationChanged)=\"onPaginationChanged($event)\"\r\n (filterApplied)=\"onFilterApplied($event)\"\r\n (sortApplied)=\"onSortApplied($event)\">\r\n </app-queue-record-table>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n </div>", styles: [".queue-table-container-wrapper{height:calc(100% - 58px)}.queue-list-container-wrapper{background-color:transparent}.queue-application-container-wrapper{background-color:#fff;border-radius:15px;padding:20px}.clear-filters-btn{background:none;border:1px solid #e5e7eb;color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;margin-left:.5rem;display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;transition:all .2s ease}.clear-filters-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#ef4444}.clear-filters-btn i{font-size:.75rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SkeletonComponent, selector: "lib-skeleton", inputs: ["count", "columns", "width", "height", "isAllowCard"] }, { kind: "component", type: QueueSearchComponent, selector: "queue-search", inputs: ["searchText", "placeholder", "debounceTime"], outputs: ["searchInputChanged", "searchRequested", "searchCleared"] }, { kind: "component", type: QueueListComponent, selector: "app-queue-list", inputs: ["queueData", "selectedQueueId", "selectedStatus", "userRole", "showQueueDataForm"], outputs: ["queueSelected", "statusChanged", "insertQueueRequested"] }, { kind: "component", type: QueueRecordTableComponent, selector: "app-queue-record-table", inputs: ["table", "metaData", "loading", "selectedRows", "resetSort", "isShowSkeleton", "selectedQueue"], outputs: ["selectionChange", "selectedRowsData", "assignmentDataReady", "rowClick", "paginationChanged", "filterApplied", "sortApplied"] }, { kind: "component", type: QueueFilterDropdownComponent, selector: "lib-queue-filter-dropdown", inputs: ["appliedFilters"], outputs: ["filterApplied", "filtersCleared"] }] });
8532
8475
  }
8533
8476
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: QueueContainerComponent, decorators: [{
8534
8477
  type: Component,
8535
- args: [{ selector: 'lib-queue-container', standalone: false, template: "<div class=\"container grid m-0 h-full\">\r\n <div class=\"col-12 xl:col-2 md:col-12 py-0 pl-0 h-full\">\r\n <lib-skeleton *ngIf=\"queueListLoading\" [isAllowCard]=\"true\" [count]=\"5\" [width]=\"'100%'\" [height]=\"'4.5rem'\"></lib-skeleton>\r\n @if(!queueListLoading){\r\n <div class=\"queue-list-container-wrapper p-0\">\r\n <app-queue-list\r\n [queueData]=\"filteredQueueData\"\r\n [selectedQueueId]=\"selectedQueueId\"\r\n [selectedStatus]=\"selectedStatus\"\r\n [userRole]=\"userRole\"\r\n [showQueueDataForm]=\"true\"\r\n [queueCategory]=\"queueCategory\"\r\n (queueSelected)=\"onQueueSelected($event)\"\r\n (statusChanged)=\"onStatusChanged($event)\"\r\n (insertQueueRequested)=\"onInsertQueueRequested()\"\r\n ></app-queue-list>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"col-12 xl:col-10 md:col-12 py-0 pr-0 h-full\">\r\n @if(selectedQueue){\r\n <div class=\"queue-application-container-wrapper h-full\">\r\n <div class=\"grid m-0 justify-content-between align-items-center mb-3\">\r\n <div class=\"col-8 p-0 flex align-items-center\">\r\n <div class=\"col-7 p-0 mr-3\">\r\n <queue-search \r\n [placeholder]=\"placeholder\"\r\n [searchText]=\"searchText\"\r\n (searchInputChanged)=\"onSearchInputChanged($event)\"\r\n (searchRequested)=\"onSearchRequested($event)\"\r\n (searchCleared)=\"onSearchCleared()\">\r\n </queue-search>\r\n </div>\r\n <div>\r\n <lib-queue-filter-dropdown \r\n #filterDropdown\r\n [appliedFilters]=\"appliedFilters\"\r\n (filterApplied)=\"onFilterDropdownApplied($event)\"\r\n (filtersCleared)=\"onFiltersCleared()\">\r\n </lib-queue-filter-dropdown>\r\n </div>\r\n <div *ngIf=\"hasActiveFilters\">\r\n <button \r\n class=\"clear-filters-btn\"\r\n type=\"button\"\r\n (click)=\"onClearAllFilters()\">\r\n Clear <i class=\"pi pi-times ml-2\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n \r\n <div class=\"flex align-items-center gap-3 col-3 py-0 pl-0 justify-content-end\">\r\n <ng-content select=\"[user-dropdown]\"></ng-content>\r\n </div>\r\n </div>\r\n\r\n <div class=\"animation-duration-500 associated-list queue-table-container-wrapper custom-scroll mb-0 p-0\">\r\n \r\n <app-queue-record-table\r\n [table]=\"table\"\r\n [metaData]=\"metaData\"\r\n [selectedRows]=\"selectedRows\"\r\n [resetSort]=\"resetSort\"\r\n [isShowSkeleton]=\"isShowSkeleton\"\r\n [selectedQueue]=\"selectedQueue\"\r\n (selectionChange)=\"onTableSelectionChange($event)\"\r\n (selectedRowsData)=\"onTableSelectionChange($event)\"\r\n (assignmentDataReady)=\"onAssignmentDataReady($event)\"\r\n (rowClick)=\"onTableRowClick($event)\"\r\n (paginationChanged)=\"onPaginationChanged($event)\"\r\n (filterApplied)=\"onFilterApplied($event)\"\r\n (sortApplied)=\"onSortApplied($event)\">\r\n </app-queue-record-table>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n </div>", styles: [":host{display:block;height:100%;padding-top:14px}.queue-table-container-wrapper{height:calc(100% - 58px)}.queue-list-container-wrapper{background-color:transparent}.queue-application-container-wrapper{background-color:#fff;border-radius:15px;padding:20px}.clear-filters-btn{background:none;border:1px solid #e5e7eb;color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;margin-left:.5rem;display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;transition:all .2s ease}.clear-filters-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#ef4444}.clear-filters-btn i{font-size:.75rem}\n"] }]
8478
+ args: [{ selector: 'lib-queue-container', standalone: false, template: "<div class=\"container grid m-0 h-full\">\r\n <div class=\"col-12 xl:col-2 md:col-12 py-0 pl-0 h-full\">\r\n <lib-skeleton *ngIf=\"queueListLoading\" [isAllowCard]=\"true\" [count]=\"5\" [width]=\"'100%'\" [height]=\"'4.5rem'\"></lib-skeleton>\r\n @if(!queueListLoading){\r\n <div class=\"queue-list-container-wrapper p-0\">\r\n <app-queue-list\r\n [queueData]=\"filteredQueueData\"\r\n [selectedQueueId]=\"selectedQueueId\"\r\n [selectedStatus]=\"selectedStatus\"\r\n [userRole]=\"userRole\"\r\n [showQueueDataForm]=\"true\"\r\n (queueSelected)=\"onQueueSelected($event)\"\r\n (statusChanged)=\"onStatusChanged($event)\"\r\n (insertQueueRequested)=\"onInsertQueueRequested()\"\r\n ></app-queue-list>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"col-12 xl:col-10 md:col-12 py-0 pr-0 h-full\">\r\n @if(selectedQueue){\r\n <div class=\"queue-application-container-wrapper h-full\">\r\n <div class=\"grid m-0 justify-content-between align-items-center mb-3\">\r\n <div class=\"col-8 p-0 flex align-items-center\">\r\n <div class=\"col-7 p-0 mr-3\">\r\n <queue-search \r\n [placeholder]=\"placeholder\"\r\n [searchText]=\"searchText\"\r\n (searchInputChanged)=\"onSearchInputChanged($event)\"\r\n (searchRequested)=\"onSearchRequested($event)\"\r\n (searchCleared)=\"onSearchCleared()\">\r\n </queue-search>\r\n </div>\r\n <div>\r\n <lib-queue-filter-dropdown \r\n #filterDropdown\r\n [appliedFilters]=\"appliedFilters\"\r\n (filterApplied)=\"onFilterDropdownApplied($event)\"\r\n (filtersCleared)=\"onFiltersCleared()\">\r\n </lib-queue-filter-dropdown>\r\n </div>\r\n <div *ngIf=\"hasActiveFilters\">\r\n <button \r\n class=\"clear-filters-btn\"\r\n type=\"button\"\r\n (click)=\"onClearAllFilters()\">\r\n Clear <i class=\"pi pi-times ml-2\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n \r\n <div class=\"flex align-items-center gap-3 col-3 py-0 pl-0 justify-content-end\">\r\n <ng-content select=\"[user-dropdown]\"></ng-content>\r\n </div>\r\n </div>\r\n\r\n <div class=\"animation-duration-500 associated-list queue-table-container-wrapper custom-scroll mb-0 p-0\">\r\n \r\n <app-queue-record-table\r\n [table]=\"table\"\r\n [metaData]=\"metaData\"\r\n [selectedRows]=\"selectedRows\"\r\n [resetSort]=\"resetSort\"\r\n [isShowSkeleton]=\"isShowSkeleton\"\r\n [selectedQueue]=\"selectedQueue\"\r\n (selectionChange)=\"onTableSelectionChange($event)\"\r\n (selectedRowsData)=\"onTableSelectionChange($event)\"\r\n (assignmentDataReady)=\"onAssignmentDataReady($event)\"\r\n (rowClick)=\"onTableRowClick($event)\"\r\n (paginationChanged)=\"onPaginationChanged($event)\"\r\n (filterApplied)=\"onFilterApplied($event)\"\r\n (sortApplied)=\"onSortApplied($event)\">\r\n </app-queue-record-table>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n </div>", styles: [".queue-table-container-wrapper{height:calc(100% - 58px)}.queue-list-container-wrapper{background-color:transparent}.queue-application-container-wrapper{background-color:#fff;border-radius:15px;padding:20px}.clear-filters-btn{background:none;border:1px solid #e5e7eb;color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;margin-left:.5rem;display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;transition:all .2s ease}.clear-filters-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#ef4444}.clear-filters-btn i{font-size:.75rem}\n"] }]
8536
8479
  }], ctorParameters: () => [{ type: QueueStore$1 }, { type: QueueService }, { type: BaseStore }, { type: QueueBusinessService }, { type: QueueRecordTableBuilderService }, { type: QueueFilterDropdownService }, { type: BaseQuery }], propDecorators: { placeholder: [{
8537
8480
  type: Input
8538
- }], queueCategory: [{
8539
- type: Input
8540
8481
  }], filterDropdown: [{
8541
8482
  type: ViewChild,
8542
8483
  args: ['filterDropdown']