tango-app-ui-manage-tickets 3.7.0-beta.61 → 3.7.0-beta.62

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 (177) hide show
  1. package/esm2022/lib/components/add-csm-modal/add-csm-modal.component.mjs +98 -0
  2. package/esm2022/lib/components/audit-log/audit-log.component.mjs +11 -0
  3. package/esm2022/lib/components/audit-mapping-list/audit-mapping-list.component.mjs +486 -0
  4. package/esm2022/lib/components/audit-metrics/audit-metrics.component.mjs +298 -0
  5. package/esm2022/lib/components/audit-report-popup/audit-report-popup.component.mjs +389 -0
  6. package/esm2022/lib/components/audit-retag/audit-retag.component.mjs +472 -0
  7. package/esm2022/lib/components/comment-model/comment-model.component.mjs +58 -0
  8. package/esm2022/lib/components/count/count.component.mjs +89 -0
  9. package/esm2022/lib/components/custom-select/custom-select.component.mjs +187 -0
  10. package/esm2022/lib/components/filter-options/filter-options.component.mjs +41 -0
  11. package/esm2022/lib/components/footfall-dic/footfall-dic.component.mjs +1061 -0
  12. package/esm2022/lib/components/footfall-dicview/footfall-dicview.component.mjs +1014 -0
  13. package/esm2022/lib/components/footfall-popup/footfall-popup.component.mjs +15 -0
  14. package/esm2022/lib/components/group-select/group-select.component.mjs +155 -0
  15. package/esm2022/lib/components/re-trigger/re-trigger.component.mjs +96 -0
  16. package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +108 -0
  17. package/esm2022/lib/components/remove-audit/remove-audit.component.mjs +81 -0
  18. package/esm2022/lib/components/start-audit/start-audit.component.mjs +761 -0
  19. package/esm2022/lib/components/tango-manage-tickets/tango-manage-tickets.component.mjs +131 -0
  20. package/esm2022/lib/components/ticket-filter-panel/ticket-filter-panel.component.mjs +435 -0
  21. package/esm2022/lib/components/ticket-footfall-new/ticket-footfall-new.component.mjs +2748 -0
  22. package/esm2022/lib/components/ticketclosepopup/ticketclosepopup.component.mjs +43 -0
  23. package/esm2022/lib/components/tickets/tickets.component.mjs +847 -0
  24. package/esm2022/lib/components/viewcategory/viewcategory.component.mjs +89 -0
  25. package/esm2022/lib/services/audit.service.mjs +88 -0
  26. package/esm2022/lib/services/excel.service.mjs +45 -0
  27. package/esm2022/lib/services/ticket.service.mjs +319 -0
  28. package/esm2022/lib/services/timer.service.mjs +84 -0
  29. package/esm2022/lib/tango-manage-tickets-routing.module.mjs +44 -0
  30. package/esm2022/lib/tango-manage-tickets.module.mjs +109 -0
  31. package/esm2022/public-api.mjs +6 -0
  32. package/esm2022/tango-app-ui-manage-tickets.mjs +5 -0
  33. package/fesm2022/tango-app-ui-manage-tickets.mjs +10165 -0
  34. package/fesm2022/tango-app-ui-manage-tickets.mjs.map +1 -0
  35. package/index.d.ts +5 -0
  36. package/lib/components/add-csm-modal/add-csm-modal.component.d.ts +30 -0
  37. package/lib/components/audit-log/audit-log.component.d.ts +5 -0
  38. package/lib/components/audit-mapping-list/audit-mapping-list.component.d.ts +73 -0
  39. package/lib/components/audit-metrics/audit-metrics.component.d.ts +59 -0
  40. package/lib/components/audit-report-popup/audit-report-popup.component.d.ts +52 -0
  41. package/lib/components/audit-retag/audit-retag.component.d.ts +59 -0
  42. package/lib/components/comment-model/comment-model.component.d.ts +17 -0
  43. package/lib/components/count/count.component.d.ts +23 -0
  44. package/lib/components/custom-select/custom-select.component.d.ts +35 -0
  45. package/lib/components/filter-options/filter-options.component.d.ts +15 -0
  46. package/lib/components/footfall-dic/footfall-dic.component.d.ts +143 -0
  47. package/lib/components/footfall-dicview/footfall-dicview.component.d.ts +132 -0
  48. package/lib/components/footfall-popup/footfall-popup.component.d.ts +8 -0
  49. package/lib/components/group-select/group-select.component.d.ts +33 -0
  50. package/lib/components/re-trigger/re-trigger.component.d.ts +32 -0
  51. package/lib/components/reactive-select/reactive-select.component.d.ts +32 -0
  52. package/lib/components/remove-audit/remove-audit.component.d.ts +16 -0
  53. package/lib/components/start-audit/start-audit.component.d.ts +86 -0
  54. package/lib/components/tango-manage-tickets/tango-manage-tickets.component.d.ts +28 -0
  55. package/lib/components/ticket-filter-panel/ticket-filter-panel.component.d.ts +79 -0
  56. package/lib/components/ticket-footfall-new/ticket-footfall-new.component.d.ts +287 -0
  57. package/lib/components/ticketclosepopup/ticketclosepopup.component.d.ts +15 -0
  58. package/lib/components/tickets/tickets.component.d.ts +88 -0
  59. package/lib/components/viewcategory/viewcategory.component.d.ts +16 -0
  60. package/lib/services/audit.service.d.ts +36 -0
  61. package/lib/services/excel.service.d.ts +10 -0
  62. package/lib/services/ticket.service.d.ts +87 -0
  63. package/lib/services/timer.service.d.ts +22 -0
  64. package/lib/tango-manage-tickets-routing.module.d.ts +7 -0
  65. package/lib/tango-manage-tickets.module.d.ts +38 -0
  66. package/package.json +25 -12
  67. package/{src/public-api.ts → public-api.d.ts} +2 -8
  68. package/.eslintrc.json +0 -37
  69. package/ng-package.json +0 -7
  70. package/src/lib/components/add-csm-modal/add-csm-modal.component.html +0 -32
  71. package/src/lib/components/add-csm-modal/add-csm-modal.component.scss +0 -14
  72. package/src/lib/components/add-csm-modal/add-csm-modal.component.spec.ts +0 -23
  73. package/src/lib/components/add-csm-modal/add-csm-modal.component.ts +0 -94
  74. package/src/lib/components/audit-log/audit-log.component.html +0 -1
  75. package/src/lib/components/audit-log/audit-log.component.scss +0 -0
  76. package/src/lib/components/audit-log/audit-log.component.spec.ts +0 -23
  77. package/src/lib/components/audit-log/audit-log.component.ts +0 -10
  78. package/src/lib/components/audit-mapping-list/audit-mapping-list.component.html +0 -234
  79. package/src/lib/components/audit-mapping-list/audit-mapping-list.component.scss +0 -186
  80. package/src/lib/components/audit-mapping-list/audit-mapping-list.component.spec.ts +0 -23
  81. package/src/lib/components/audit-mapping-list/audit-mapping-list.component.ts +0 -520
  82. package/src/lib/components/audit-metrics/audit-metrics.component.html +0 -345
  83. package/src/lib/components/audit-metrics/audit-metrics.component.scss +0 -34
  84. package/src/lib/components/audit-metrics/audit-metrics.component.spec.ts +0 -23
  85. package/src/lib/components/audit-metrics/audit-metrics.component.ts +0 -292
  86. package/src/lib/components/audit-report-popup/audit-report-popup.component.html +0 -111
  87. package/src/lib/components/audit-report-popup/audit-report-popup.component.scss +0 -101
  88. package/src/lib/components/audit-report-popup/audit-report-popup.component.spec.ts +0 -23
  89. package/src/lib/components/audit-report-popup/audit-report-popup.component.ts +0 -397
  90. package/src/lib/components/audit-retag/audit-retag.component.html +0 -129
  91. package/src/lib/components/audit-retag/audit-retag.component.scss +0 -146
  92. package/src/lib/components/audit-retag/audit-retag.component.spec.ts +0 -23
  93. package/src/lib/components/audit-retag/audit-retag.component.ts +0 -489
  94. package/src/lib/components/comment-model/comment-model.component.html +0 -24
  95. package/src/lib/components/comment-model/comment-model.component.scss +0 -20
  96. package/src/lib/components/comment-model/comment-model.component.spec.ts +0 -23
  97. package/src/lib/components/comment-model/comment-model.component.ts +0 -53
  98. package/src/lib/components/count/count.component.html +0 -54
  99. package/src/lib/components/count/count.component.scss +0 -14
  100. package/src/lib/components/count/count.component.spec.ts +0 -23
  101. package/src/lib/components/count/count.component.ts +0 -82
  102. package/src/lib/components/custom-select/custom-select.component.html +0 -134
  103. package/src/lib/components/custom-select/custom-select.component.scss +0 -204
  104. package/src/lib/components/custom-select/custom-select.component.spec.ts +0 -23
  105. package/src/lib/components/custom-select/custom-select.component.ts +0 -189
  106. package/src/lib/components/filter-options/filter-options.component.html +0 -51
  107. package/src/lib/components/filter-options/filter-options.component.scss +0 -102
  108. package/src/lib/components/filter-options/filter-options.component.spec.ts +0 -23
  109. package/src/lib/components/filter-options/filter-options.component.ts +0 -38
  110. package/src/lib/components/footfall-dic/footfall-dic.component.html +0 -1275
  111. package/src/lib/components/footfall-dic/footfall-dic.component.scss +0 -273
  112. package/src/lib/components/footfall-dic/footfall-dic.component.spec.ts +0 -23
  113. package/src/lib/components/footfall-dic/footfall-dic.component.ts +0 -1206
  114. package/src/lib/components/footfall-dicview/footfall-dicview.component.html +0 -1136
  115. package/src/lib/components/footfall-dicview/footfall-dicview.component.scss +0 -416
  116. package/src/lib/components/footfall-dicview/footfall-dicview.component.spec.ts +0 -23
  117. package/src/lib/components/footfall-dicview/footfall-dicview.component.ts +0 -1168
  118. package/src/lib/components/footfall-popup/footfall-popup.component.html +0 -61
  119. package/src/lib/components/footfall-popup/footfall-popup.component.scss +0 -20
  120. package/src/lib/components/footfall-popup/footfall-popup.component.spec.ts +0 -23
  121. package/src/lib/components/footfall-popup/footfall-popup.component.ts +0 -12
  122. package/src/lib/components/group-select/group-select.component.html +0 -44
  123. package/src/lib/components/group-select/group-select.component.scss +0 -144
  124. package/src/lib/components/group-select/group-select.component.spec.ts +0 -23
  125. package/src/lib/components/group-select/group-select.component.ts +0 -145
  126. package/src/lib/components/re-trigger/re-trigger.component.html +0 -53
  127. package/src/lib/components/re-trigger/re-trigger.component.scss +0 -16
  128. package/src/lib/components/re-trigger/re-trigger.component.spec.ts +0 -23
  129. package/src/lib/components/re-trigger/re-trigger.component.ts +0 -96
  130. package/src/lib/components/reactive-select/reactive-select.component.html +0 -18
  131. package/src/lib/components/reactive-select/reactive-select.component.scss +0 -52
  132. package/src/lib/components/reactive-select/reactive-select.component.spec.ts +0 -23
  133. package/src/lib/components/reactive-select/reactive-select.component.ts +0 -104
  134. package/src/lib/components/remove-audit/remove-audit.component.html +0 -38
  135. package/src/lib/components/remove-audit/remove-audit.component.scss +0 -27
  136. package/src/lib/components/remove-audit/remove-audit.component.spec.ts +0 -23
  137. package/src/lib/components/remove-audit/remove-audit.component.ts +0 -81
  138. package/src/lib/components/start-audit/start-audit.component.html +0 -174
  139. package/src/lib/components/start-audit/start-audit.component.scss +0 -185
  140. package/src/lib/components/start-audit/start-audit.component.spec.ts +0 -23
  141. package/src/lib/components/start-audit/start-audit.component.ts +0 -761
  142. package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.html +0 -43
  143. package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.scss +0 -35
  144. package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.spec.ts +0 -23
  145. package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.ts +0 -118
  146. package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.html +0 -386
  147. package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.scss +0 -87
  148. package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.spec.ts +0 -23
  149. package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.ts +0 -494
  150. package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.html +0 -4743
  151. package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.scss +0 -1208
  152. package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.spec.ts +0 -23
  153. package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.ts +0 -3344
  154. package/src/lib/components/ticketclosepopup/ticketclosepopup.component.html +0 -100
  155. package/src/lib/components/ticketclosepopup/ticketclosepopup.component.scss +0 -34
  156. package/src/lib/components/ticketclosepopup/ticketclosepopup.component.spec.ts +0 -23
  157. package/src/lib/components/ticketclosepopup/ticketclosepopup.component.ts +0 -48
  158. package/src/lib/components/tickets/tickets.component.html +0 -451
  159. package/src/lib/components/tickets/tickets.component.scss +0 -131
  160. package/src/lib/components/tickets/tickets.component.spec.ts +0 -23
  161. package/src/lib/components/tickets/tickets.component.ts +0 -809
  162. package/src/lib/components/viewcategory/viewcategory.component.html +0 -38
  163. package/src/lib/components/viewcategory/viewcategory.component.scss +0 -29
  164. package/src/lib/components/viewcategory/viewcategory.component.spec.ts +0 -23
  165. package/src/lib/components/viewcategory/viewcategory.component.ts +0 -79
  166. package/src/lib/services/audit.service.spec.ts +0 -16
  167. package/src/lib/services/audit.service.ts +0 -98
  168. package/src/lib/services/excel.service.ts +0 -48
  169. package/src/lib/services/ticket.service.spec.ts +0 -16
  170. package/src/lib/services/ticket.service.ts +0 -501
  171. package/src/lib/services/timer.service.spec.ts +0 -16
  172. package/src/lib/services/timer.service.ts +0 -92
  173. package/src/lib/tango-manage-tickets-routing.module.ts +0 -37
  174. package/src/lib/tango-manage-tickets.module.ts +0 -68
  175. package/tsconfig.lib.json +0 -14
  176. package/tsconfig.lib.prod.json +0 -10
  177. package/tsconfig.spec.json +0 -14
@@ -1,43 +0,0 @@
1
- <div class="card mb-5 py-3 px-5">
2
- <ul class="nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap">
3
- <li class="nav-item">
4
- <a [routerLink]="['/manage/tickets']" [queryParams]="{ type: 'installation' }" (click)="Selectedtabs('installation')"
5
- [ngClass]="SelectedTab === 'installation' ? 'active' : ''" class="nav-link cursor-pointer no-border me-3">
6
- Installation<span class="mx-2 " [ngClass]="SelectedTab ==='installation' ? 'badge-num-primary' :'badge-num-muted'">{{ticketAllCount?.installationCount?ticketAllCount?.installationCount:0}}</span>
7
- </a>
8
- </li>
9
- <li class="nav-item" >
10
- <a [routerLink]="['/manage/tickets']" [queryParams]="{ type: 'infra' }" (click)="Selectedtabs('infra')"
11
- [ngClass]="SelectedTab === 'infra' ? 'active' : ''" class="nav-link cursor-pointer no-border me-3">
12
- Infra<span class="mx-2" [ngClass]="SelectedTab ==='infra' ? 'badge-num-primary' :'badge-num-muted'">{{ticketAllCount?.infraCount?ticketAllCount?.infraCount:0}}</span>
13
- </a>
14
- </li>
15
- <li class="nav-item" [routerLink]="['/manage/tickets']" [queryParams]="{ type: 'dataMismatch' }" (click)="Selectedtabs('dataMismatch')">
16
- <a [ngClass]="SelectedTab ==='dataMismatch' ? 'active' :''" class="nav-link cursor-pointer me-3">Data Mismatch
17
- <span class="mx-2" [ngClass]="SelectedTab ==='dataMismatch' ? 'badge-num-primary' :'badge-num-muted'">{{ticketAllCount?.datamismatchCount? ticketAllCount?.datamismatchCount:0}}</span></a>
18
- </li>
19
- <!-- <li *ngIf="this.users.userType ==='tango'" class="nav-item" [routerLink]="['/manage/tickets']" [queryParams]="{ type: 'audit' }" (click)="Selectedtabs('audit')"><a [ngClass]="SelectedTab ==='audit' ? 'active' :''"
20
- class="nav-link cursor-pointer no-border me-3">Audit</a>
21
- </li> -->
22
- <li *ngIf="this.users.userType ==='tango'" class="nav-item" (click)="Selectedtabs('mat')"><a [routerLink]="['/manage/tickets']" [queryParams]="{ type: 'mat' }" [ngClass]="SelectedTab ==='mat' ? 'active' :''"
23
- class="nav-link cursor-pointer no-border me-3">Employee Mat
24
- <span class="mx-2 " [ngClass]="SelectedTab ==='mat' ? 'badge-num-primary' :'badge-num-muted'">{{ticketAllCount?.matCount ?ticketAllCount?.matCount:0}}</span></a>
25
- </li>
26
- <!-- <li *ngIf="(gs.userAccess | async)?.userType === 'tango' || clientData?.isVMS" class="nav-item" (click)="Selectedtabs('footfall')"><a [routerLink]="['/manage/tickets']" [queryParams]="{ type: 'footfall' }" [ngClass]="SelectedTab ==='footfall' ? 'active' :''"
27
- class="nav-link cursor-pointer no-border me-3">Footfall Directory
28
- <span class="mx-2 " [ngClass]="SelectedTab ==='footfall' ? 'badge-num-primary' :'badge-num-muted'">{{ticketAllCount?.footfallDirectory ?ticketAllCount?.footfallDirectory:0}}</span>
29
-
30
- </a>
31
- </li> -->
32
- <li *ngIf="this.users.userType ==='tango' || (this.users.userType ==='client' && this.users.role !=='user')" class="nav-item" (click)="Selectedtabs('footfall')"><a [routerLink]="['/manage/tickets']" [queryParams]="{ type: 'footfall' }" [ngClass]="SelectedTab ==='footfall' ? 'active' :''"
33
- class="nav-link cursor-pointer no-border me-3">Footfall Directory
34
- <span class="mx-2" [ngClass]="SelectedTab ==='footfall' ? 'badge-num-primary' :'badge-num-muted'">{{ticketAllCount?.footfallDirectory ?ticketAllCount?.footfallDirectory:0}}</span>
35
- </a>
36
- </li>
37
- </ul>
38
- </div>
39
- <lib-ticket-footfall-new *ngIf="SelectedTab ==='footfall'"></lib-ticket-footfall-new>
40
- <lib-footfall-dic *ngIf="SelectedTab ==='footfall-new'"></lib-footfall-dic>
41
- <lib-tickets *ngIf="SelectedTab !=='audit' && SelectedTab !=='footfall' && SelectedTab !=='footfall-new'"></lib-tickets>
42
- <lib-audit-metrics *ngIf="SelectedTab ==='audit'"></lib-audit-metrics>
43
- <router-outlet></router-outlet>
@@ -1,35 +0,0 @@
1
- .nav-item .nav-link.active{
2
- border:none;
3
- border-radius: 6px;
4
- background: var(--Primary-50, #EAF8FF);
5
- padding: 8px 12px;
6
- }
7
- .nav-item .nav-link:hover{
8
- border: none;
9
- }
10
- .badge-num-primary {
11
- border-radius: 16px !important;
12
- background: var(--Primary-50, #EAF8FF) !important;
13
- color: var(--Primary-700, #009BF3) !important;
14
- text-align: center;
15
- font-size: 14px !important;
16
- font-style: normal;
17
- font-weight: 500;
18
- line-height: 20px;
19
- padding: 2px 10px !important;
20
- mix-blend-mode: multiply !important;
21
- }
22
-
23
- .badge-num-muted {
24
- border-radius: 16px !important;
25
- background: var(--Primary-50, #F2F4F7) !important;
26
- color: var(--Gray-700, #344054) !important;
27
- text-align: center;
28
- font-size: 14px;
29
- font-style: normal;
30
- font-weight: 500;
31
- line-height: 20px;
32
- padding: 2px 10px !important;
33
- mix-blend-mode: multiply !important;
34
- }
35
-
@@ -1,23 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
-
3
- import { TangoManageTicketsComponent } from './tango-manage-tickets.component';
4
-
5
- describe('TangoManageTicketsComponent', () => {
6
- let component: TangoManageTicketsComponent;
7
- let fixture: ComponentFixture<TangoManageTicketsComponent>;
8
-
9
- beforeEach(async () => {
10
- await TestBed.configureTestingModule({
11
- declarations: [TangoManageTicketsComponent]
12
- })
13
- .compileComponents();
14
-
15
- fixture = TestBed.createComponent(TangoManageTicketsComponent);
16
- component = fixture.componentInstance;
17
- fixture.detectChanges();
18
- });
19
-
20
- it('should create', () => {
21
- expect(component).toBeTruthy();
22
- });
23
- });
@@ -1,118 +0,0 @@
1
- import { Component, OnDestroy, OnInit } from '@angular/core';
2
- import { ActivatedRoute, Router } from '@angular/router';
3
- import { GlobalStateService, PageInfoService } from 'tango-app-ui-global';
4
- import { Subject, takeUntil } from "rxjs";
5
- import { TicketService } from '../../services/ticket.service';
6
- @Component({
7
- selector: 'lib-tango-manage-tickets',
8
- templateUrl: './tango-manage-tickets.component.html',
9
- styleUrl: './tango-manage-tickets.component.scss'
10
- })
11
- export class TangoManageTicketsComponent implements OnInit,OnDestroy {
12
- SelectedTab:any='installation'
13
- private readonly destroy$ = new Subject();
14
- headerFilters: any;
15
- ticketAllCount: any;
16
- users: any;
17
- constructor(private pageInfo:PageInfoService,private route: ActivatedRoute,private router:Router,public gs:GlobalStateService,private service:TicketService){
18
- }
19
- clientData:any;
20
- ngOnInit(): void {
21
- const userData: any = JSON.parse(localStorage.getItem("user-info") || "{}");
22
- this.users = userData;
23
- const clientData: any = JSON.parse(localStorage.getItem("client-details") || "{}");
24
- this.clientData = clientData;
25
- this.route?.queryParams?.pipe(takeUntil(this.destroy$)).subscribe(params => {
26
- if (params.hasOwnProperty('type')) {
27
- const type = params['type'];
28
- this.Selectedtabs(type);
29
-
30
- } else{
31
- this.updateStoreIdQueryParam()
32
- }
33
- });
34
- this.onLoad();
35
- this.setPageData();
36
- }
37
-
38
- updateStoreIdQueryParam() {
39
- const queryParams = { ...this.route?.snapshot?.queryParams };
40
- // Update storeId in queryParams
41
- queryParams.type = this.SelectedTab.toLocaleLowerCase();
42
- // Navigate to the same route with updated queryParams
43
- this.router.navigate([], { queryParams: queryParams, queryParamsHandling: 'merge' });
44
- }
45
-
46
- setPageData(){
47
- this.pageInfo.setTitle('Tickets')
48
- this.pageInfo.setDescription('Summary of queries raised,addresed & resolved')
49
- let breadcrumbs : any[]=[];
50
- if (this.gs.userAccess.value?.userType === "tango") {
51
- breadcrumbs= [
52
- {
53
- title: "Manage",
54
- path: "/manage/brands",
55
- isActive: false,
56
- isSeparator: false,
57
- },
58
- {
59
- title: "Manage",
60
- path: "/manage/brands",
61
- isActive: false,
62
- isSeparator: true,
63
- },
64
- ];
65
- } else if (this.gs.userAccess.value?.userType === "client") {
66
- breadcrumbs= [
67
- {
68
- title: "Manage",
69
- path: "/manage/summary",
70
- isActive: false,
71
- isSeparator: false,
72
- },
73
- {
74
- title: "Manage",
75
- path: "/manage/summary",
76
- isActive: false,
77
- isSeparator: true,
78
- },
79
- ];
80
- }
81
- this.pageInfo.setBreadcrumbs(breadcrumbs);
82
- }
83
-
84
-
85
- Selectedtabs(value:any){
86
- this.SelectedTab = value;
87
- }
88
- ngOnDestroy(): void {
89
- this.destroy$.next(true);
90
- this.destroy$.complete();
91
- }
92
- onLoad(){
93
- this.gs.dataRangeValue?.pipe(takeUntil(this.destroy$))?.subscribe({
94
- next: (data: any) => {
95
- if (data) {
96
- this.headerFilters = data;
97
- this.getAllCount();
98
- }
99
- }
100
- })
101
- }
102
-
103
- getAllCount(){
104
- let obj ={
105
- clientId: this.headerFilters?.clients,
106
- fromDate: this.headerFilters?.date?.startDate,
107
- toDate: this.headerFilters?.date?.endDate
108
- }
109
- this.service.getAllCounts(obj)?.pipe(takeUntil(this.destroy$))?.subscribe({
110
- next: (res: any) => {
111
- if(res.code ===200){
112
- this.ticketAllCount = res?.data[0];
113
- }
114
- }
115
- })
116
- }
117
-
118
- }
@@ -1,386 +0,0 @@
1
- <!-- ticket-filter-panel.component.html -->
2
- <div class="filter-wrapper" *ngIf="isOpen">
3
- <div class="filter-card">
4
- <div class="filter-header d-flex justify-content-between align-items-center mb-3">
5
- <div class="title">Filter Options</div>
6
- <!-- <button type="button" class="btn-close" (click)="close()">✕</button> -->
7
- </div>
8
-
9
- <form [formGroup]="filterForm">
10
- <!-- Status -->
11
- <div class="mb-3 position-relative" (click)="$event.stopPropagation()">
12
- <label class="form-label">Status</label>
13
-
14
- <!-- Header / trigger -->
15
- <div
16
- class="status-select border rounded px-3 py-2 d-flex justify-content-between align-items-center"
17
- (click)="toggleDropdown('status', $event)"
18
- >
19
- <span *ngIf="!selectedStatuses.length">Select</span>
20
-
21
- <span *ngIf="selectedStatuses.length === 1">
22
- {{ selectedStatuses[0] }}
23
- </span>
24
-
25
- <span *ngIf="selectedStatuses.length > 1" class="d-flex align-items-center">
26
- <span>{{ selectedStatuses[0] }}</span>
27
- <span class="badge ms-2">
28
- +{{ selectedStatuses.length - 1 }}
29
- </span>
30
- </span>
31
-
32
- </div>
33
-
34
- <!-- DROPDOWN PANEL (OVERLAY) -->
35
- <div
36
- class="status-dropdown position-absolute w-100 mt-1 border rounded p-1 bg-white"
37
- style="z-index: 1000; max-height: 220px; overflow-y: auto;"
38
- *ngIf="isDropdownOpen('status')"
39
- (click)="$event.stopPropagation()"
40
- >
41
- <!-- Select All -->
42
- <div class="form-check px-0 d-flex align-items-center mb-2">
43
- <input
44
- type="checkbox"
45
- class="form-check-input "
46
- id="status-select-all"
47
- [checked]="areAllStatusesSelected()"
48
- (change)="onStatusSelectAllChange($event)"
49
- />
50
- <label class="form-check-label text-dark ms-2" for="status-select-all">
51
- Select All
52
- </label>
53
- </div>
54
-
55
-
56
- <!-- Options -->
57
- <div
58
- class="form-check px-0 d-flex align-items-center mb-1"
59
- *ngFor="let s of statusOptions"
60
- >
61
- <input
62
- type="checkbox"
63
- class="form-check-input "
64
- [id]="'status-' + s"
65
- [checked]="isStatusSelected(s)"
66
- (change)="onStatusChange($event, s)"
67
- />
68
- <label class="form-check-label text-dark ms-2" [for]="'status-' + s">
69
- {{ s }}
70
- </label>
71
- </div>
72
- </div>
73
- </div>
74
-
75
-
76
-
77
- <!-- Reviewer accuracy -->
78
- <div class="mb-3" *ngIf="showReviewerAccuracy" (click)="closeAll()">
79
- <label class="form-label">Reviewer accuracy (%) by condition</label>
80
- <div class="d-flex gap-2">
81
- <select class="form-select w-100" formControlName="reviewerCondition">
82
- <option [ngValue]="null">Select</option>
83
- <option *ngFor="let c of conditionOptions" [ngValue]="c.value">
84
- {{ c.label }}
85
- </option>
86
- </select>
87
-
88
- <!-- one or two inputs -->
89
- <ng-container *ngIf="isBetween('reviewerCondition'); else singleReviewer">
90
- <input
91
- type="number"
92
- min="1"
93
- max="100"
94
- class="form-control"
95
- formControlName="reviewerFrom"
96
- placeholder="From" (input)="limitValue($event, 'reviewerFrom')" />
97
- <input
98
- type="number"
99
- min="1"
100
- max="100"
101
- class="form-control"
102
- formControlName="reviewerTo"
103
- placeholder="To" (input)="limitValue($event, 'reviewerTo')" />
104
- </ng-container>
105
- <ng-template #singleReviewer>
106
- <input
107
- type="number"
108
- min="1"
109
- max="100"
110
- class="form-control"
111
- formControlName="reviewerFrom"
112
- placeholder="1 to 100%" (input)="limitValue($event, 'reviewerFrom')" />
113
- </ng-template>
114
- </div>
115
- </div>
116
-
117
- <!-- Approver accuracy -->
118
- <div class="mb-3" *ngIf="showApproverAccuracy" (click)="closeAll()">
119
- <label class="form-label">Approver accuracy (%) by condition</label>
120
- <div class="d-flex gap-2">
121
- <select class="form-select w-100" formControlName="approverCondition">
122
- <option [ngValue]="null">Select</option>
123
- <option *ngFor="let c of conditionOptions" [ngValue]="c.value">
124
- {{ c.label }}
125
- </option>
126
- </select>
127
-
128
- <ng-container *ngIf="isBetween('approverCondition'); else singleApprover">
129
- <input
130
- type="number"
131
- min="1"
132
- max="100"
133
- class="form-control"
134
- formControlName="approverFrom"
135
- placeholder="From"
136
- (input)="limitValue($event, 'approverFrom')"/>
137
- <input
138
- type="number"
139
- min="1"
140
- max="100"
141
- class="form-control"
142
- formControlName="approverTo"
143
- placeholder="To" (input)="limitValue($event, 'approverTo')" />
144
- </ng-container>
145
- <ng-template #singleApprover>
146
- <input
147
- type="number"
148
- min="1"
149
- max="100"
150
- class="form-control"
151
- formControlName="approverFrom"
152
- placeholder="1 to 100%" (input)="limitValue($event, 'approverFrom')" />
153
- </ng-template>
154
- </div>
155
- </div>
156
-
157
- <!-- Tango accuracy -->
158
- <div class="mb-3" *ngIf="showTangoAccuracy" (click)="closeAll()">
159
- <label class="form-label">Tango accuracy (%) by condition</label>
160
- <div class="d-flex gap-2">
161
- <select class="form-select w-100" formControlName="tangoCondition">
162
- <option [ngValue]="null">Select</option>
163
- <option *ngFor="let c of conditionOptions" [ngValue]="c.value">
164
- {{ c.label }}
165
- </option>
166
- </select>
167
-
168
- <ng-container *ngIf="isBetween('tangoCondition'); else singleTango">
169
- <input
170
- type="number"
171
- min="1"
172
- max="100"
173
- class="form-control"
174
- formControlName="tangoFrom"
175
- placeholder="From" (input)="limitValue($event, 'tangoFrom')" />
176
- <input
177
- type="number"
178
- min="1"
179
- max="100"
180
- class="form-control"
181
- formControlName="tangoTo"
182
- placeholder="To" (input)="limitValue($event, 'tangoTo')" />
183
- </ng-container>
184
- <ng-template #singleTango>
185
- <input
186
- type="number"
187
- min="1"
188
- max="100"
189
- class="form-control"
190
- formControlName="tangoFrom"
191
- placeholder="1 to 100%" (input)="limitValue($event, 'tangoFrom')" />
192
- </ng-template>
193
- </div>
194
- </div>
195
- <div
196
- class="mb-3 position-relative"
197
- *ngIf="showReviewedBy"
198
- (click)="$event.stopPropagation()"
199
- >
200
- <label class="form-label">Reviewed by</label>
201
-
202
- <!-- Trigger / display -->
203
- <div
204
- class="border rounded px-3 py-2 d-flex justify-content-between align-items-center"
205
- (click)="toggleDropdown('reviewer', $event)"
206
- >
207
- <!-- 0 selected -->
208
- <span *ngIf="!selectedReviewedBy.length">
209
- Select
210
- </span>
211
-
212
- <!-- 1 selected -->
213
- <span *ngIf="selectedReviewedBy.length === 1">
214
- {{ selectedReviewedBy[0] }}
215
- </span>
216
-
217
- <!-- >1 selected -->
218
- <span
219
- *ngIf="selectedReviewedBy.length > 1"
220
- class="d-flex align-items-center"
221
- >
222
- <span>{{ selectedReviewedBy[0] }}</span>
223
- <span class="badge ms-2">
224
- +{{ selectedReviewedBy.length - 1 }}
225
- </span>
226
- </span>
227
- </div>
228
-
229
- <div
230
- *ngIf="isDropdownOpen('reviewer')"
231
- class="position-absolute w-100 border rounded bg-white p-1 mt-1"
232
- style="z-index: 1000; max-height: 220px; overflow-y: auto;"
233
- (click)="$event.stopPropagation()"
234
- >
235
-
236
- <!-- 🔍 Search box -->
237
- <!-- <div class="mb-2 px-0">
238
- <input
239
- type="text"
240
- class="form-control form-control-sm"
241
- placeholder="Search by email"
242
- [(ngModel)]="reviewerSearchTerm"
243
- (click)="$event.stopPropagation()"
244
- />
245
- </div> -->
246
-
247
- <!-- Select All -->
248
- <div class="form-check px-0 mb-2 d-flex align-items-center">
249
- <input
250
- type="checkbox"
251
- class="form-check-input"
252
- id="reviewer-all"
253
- [checked]="areAllReviewersSelected()"
254
- (change)="onReviewerSelectAll($event)"
255
- />
256
- <label for="reviewer-all" class="form-check-label text-dark ms-2">
257
- Select All
258
- </label>
259
- </div>
260
-
261
- <!-- Options – now use getter filteredReviewerList -->
262
- <div
263
- class="form-check mb-1 px-0 d-flex align-items-center"
264
- *ngFor="let u of filteredReviewerList"
265
- >
266
- <input
267
- class="form-check-input"
268
- type="checkbox"
269
- [id]="'rev-' + u.email"
270
- [checked]="isReviewerSelected(u.email)"
271
- (change)="onReviewerChange($event, u.email)"
272
- />
273
- <label class="form-check-label text-dark ms-2" [for]="'rev-' + u.email">
274
- {{ u.email }}
275
- </label>
276
- </div>
277
- </div>
278
-
279
-
280
- </div>
281
-
282
-
283
- <!-- Approved By -->
284
- <div
285
- class="mb-3 position-relative"
286
- *ngIf="showApprovedBy"
287
- (click)="$event.stopPropagation()"
288
- >
289
- <label class="form-label">Approved by</label>
290
-
291
- <!-- Trigger / display -->
292
- <div
293
- class="border rounded px-3 py-2 d-flex justify-content-between align-items-center"
294
- (click)="toggleDropdown('approver', $event)"
295
- >
296
- <!-- 0 selected -->
297
- <span *ngIf="!selectedApprovedBy.length">
298
- Select
299
- </span>
300
-
301
- <!-- 1 selected -->
302
- <span *ngIf="selectedApprovedBy.length === 1">
303
- {{ selectedApprovedBy[0] }}
304
- </span>
305
-
306
- <!-- >1 selected -->
307
- <span
308
- *ngIf="selectedApprovedBy.length > 1"
309
- class="d-flex align-items-center"
310
- >
311
- <span>{{ selectedApprovedBy[0] }}</span>
312
- <span class="badge ms-2">
313
- +{{ selectedApprovedBy.length - 1 }}
314
- </span>
315
- </span>
316
-
317
- </div>
318
- <!-- Dropdown panel -->
319
- <div
320
- *ngIf="isDropdownOpen('approver')"
321
- class="position-absolute w-100 border rounded bg-white p-1 mt-1"
322
- style="z-index: 1000; max-height: 220px; overflow-y: auto;"
323
- (click)="$event.stopPropagation()"
324
- >
325
-
326
- <!-- 🔍 Search box -->
327
- <!-- <div class="mb-2 px-0">
328
- <input
329
- type="text"
330
- class="form-control form-control-sm"
331
- placeholder="Search by email"
332
- [ngModel]="approverSearchTerm"
333
- (ngModelChange)="onReviewerSearch($event)"
334
- (click)="$event.stopPropagation()"
335
- />
336
- </div> -->
337
-
338
- <!-- Select All -->
339
- <div class="form-check px-0 mb-2 d-flex align-items-center">
340
- <input
341
- type="checkbox"
342
- class="form-check-input"
343
- id="reviewer-all"
344
- [checked]="areAllReviewersSelected()"
345
- (change)="onReviewerSelectAll($event)"
346
- />
347
- <label for="reviewer-all" class="form-check-label text-dark ms-2">
348
- Select All
349
- </label>
350
- </div>
351
-
352
- <!-- Options (use filteredReviewerList instead of userList) -->
353
- <div
354
- class="form-check mb-1 px-0 d-flex align-items-center"
355
- *ngFor="let u of filteredApproverList"
356
- >
357
- <input
358
- class="form-check-input"
359
- type="checkbox"
360
- [id]="'rev-' + u.email"
361
- [checked]="isReviewerSelected(u.email)"
362
- (change)="onReviewerChange($event, u.email)"
363
- />
364
- <label class="form-check-label text-dark ms-2" [for]="'rev-' + u.email">
365
- {{ u.email }}
366
- </label>
367
- </div>
368
- </div>
369
-
370
- <!-- Dropdown panel -->
371
-
372
- </div>
373
-
374
-
375
- <!-- Footer buttons -->
376
- <div class="d-flex justify-content-between w-100 mt-4">
377
- <button type="button" class="btn btn-outline w-50 me-1" (click)="onReset()">
378
- Reset
379
- </button>
380
- <button type="button" class="btn btn-primary w-50 ms-1" (click)="onApply()">
381
- Apply
382
- </button>
383
- </div>
384
- </form>
385
- </div>
386
- </div>
@@ -1,87 +0,0 @@
1
- /* ticket-filter-panel.component.scss */
2
- .filter-wrapper {
3
- position: absolute; // or fixed if you want full overlay
4
- top: 0;
5
- right: 0;
6
- padding: 16px;
7
- z-index: 1050;
8
- }
9
-
10
- .filter-card {
11
- width: 350px;
12
- background: #ffffff;
13
- border-radius: 12px;
14
- padding: 16px 18px;
15
- box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
16
- font-size: 13px;
17
- }
18
-
19
- .filter-header .title {
20
- font-weight: 600;
21
- font-size: 14px;
22
- }
23
-
24
- .btn-close {
25
- border: none;
26
- background: transparent;
27
- font-size: 16px;
28
- cursor: pointer;
29
- }
30
-
31
- .form-label {
32
- font-size: 12px;
33
- margin-bottom: 4px;
34
- }
35
-
36
- .form-select,
37
- .form-control {
38
- font-size: 13px;
39
- }
40
-
41
- .gap-2 {
42
- gap: 4px;
43
- }
44
- .badge {
45
- padding: 0 6px;
46
- border-radius: 999px;
47
- font-size: 11px;
48
- background: #e5f3ff;
49
- color: #007bff;
50
- }
51
-
52
- input[type='checkbox'] {
53
- width: 16px !important;
54
- height: 16px !important;
55
- margin: -2px 5px -2px;
56
- border-radius: 4px !important;
57
- -webkit-appearance: none;
58
- -moz-appearance: none;
59
- -o-appearance: none;
60
- appearance: none;
61
- outline: 1px solid var(--gray-600, #D0D5DD) !important;
62
- box-shadow: none;
63
- font-size: 0.5em;
64
- text-align: center;
65
- line-height: 1em;
66
- background: white;
67
- }
68
-
69
- input[type='checkbox'] {
70
- outline: 1px solid var(--primary-600, #00A3FF) !important;
71
- background-color: var(--primary-50, #EAF8FF);
72
- }
73
-
74
- input[type='checkbox']:checked:after {
75
- content: '';
76
- transform: rotate(45deg);
77
- border-bottom: 2px solid #00A3FF;
78
- border-right: 2px solid #00A3FF;
79
- display: inline-block;
80
- width: 0.5em;
81
- padding-left: 3px;
82
- padding-top: 10px;
83
- padding-right: 0px;
84
- }
85
- .text-dark{
86
- color:#344054 !important;
87
- }