tango-app-ui-manage-tickets 3.7.0-beta.58 → 3.7.0-beta.60

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/.eslintrc.json +37 -0
  2. package/ng-package.json +7 -0
  3. package/package.json +12 -25
  4. package/src/lib/components/add-csm-modal/add-csm-modal.component.html +32 -0
  5. package/src/lib/components/add-csm-modal/add-csm-modal.component.scss +14 -0
  6. package/src/lib/components/add-csm-modal/add-csm-modal.component.spec.ts +23 -0
  7. package/src/lib/components/add-csm-modal/add-csm-modal.component.ts +94 -0
  8. package/src/lib/components/audit-log/audit-log.component.html +1 -0
  9. package/src/lib/components/audit-log/audit-log.component.scss +0 -0
  10. package/src/lib/components/audit-log/audit-log.component.spec.ts +23 -0
  11. package/src/lib/components/audit-log/audit-log.component.ts +10 -0
  12. package/src/lib/components/audit-mapping-list/audit-mapping-list.component.html +234 -0
  13. package/src/lib/components/audit-mapping-list/audit-mapping-list.component.scss +186 -0
  14. package/src/lib/components/audit-mapping-list/audit-mapping-list.component.spec.ts +23 -0
  15. package/src/lib/components/audit-mapping-list/audit-mapping-list.component.ts +520 -0
  16. package/src/lib/components/audit-metrics/audit-metrics.component.html +345 -0
  17. package/src/lib/components/audit-metrics/audit-metrics.component.scss +34 -0
  18. package/src/lib/components/audit-metrics/audit-metrics.component.spec.ts +23 -0
  19. package/src/lib/components/audit-metrics/audit-metrics.component.ts +292 -0
  20. package/src/lib/components/audit-report-popup/audit-report-popup.component.html +111 -0
  21. package/src/lib/components/audit-report-popup/audit-report-popup.component.scss +101 -0
  22. package/src/lib/components/audit-report-popup/audit-report-popup.component.spec.ts +23 -0
  23. package/src/lib/components/audit-report-popup/audit-report-popup.component.ts +397 -0
  24. package/src/lib/components/audit-retag/audit-retag.component.html +129 -0
  25. package/src/lib/components/audit-retag/audit-retag.component.scss +146 -0
  26. package/src/lib/components/audit-retag/audit-retag.component.spec.ts +23 -0
  27. package/src/lib/components/audit-retag/audit-retag.component.ts +489 -0
  28. package/src/lib/components/comment-model/comment-model.component.html +24 -0
  29. package/src/lib/components/comment-model/comment-model.component.scss +20 -0
  30. package/src/lib/components/comment-model/comment-model.component.spec.ts +23 -0
  31. package/src/lib/components/comment-model/comment-model.component.ts +53 -0
  32. package/src/lib/components/count/count.component.html +54 -0
  33. package/src/lib/components/count/count.component.scss +14 -0
  34. package/src/lib/components/count/count.component.spec.ts +23 -0
  35. package/src/lib/components/count/count.component.ts +82 -0
  36. package/src/lib/components/custom-select/custom-select.component.html +134 -0
  37. package/src/lib/components/custom-select/custom-select.component.scss +204 -0
  38. package/src/lib/components/custom-select/custom-select.component.spec.ts +23 -0
  39. package/src/lib/components/custom-select/custom-select.component.ts +189 -0
  40. package/src/lib/components/filter-options/filter-options.component.html +51 -0
  41. package/src/lib/components/filter-options/filter-options.component.scss +102 -0
  42. package/src/lib/components/filter-options/filter-options.component.spec.ts +23 -0
  43. package/src/lib/components/filter-options/filter-options.component.ts +38 -0
  44. package/src/lib/components/footfall-dic/footfall-dic.component.html +1275 -0
  45. package/src/lib/components/footfall-dic/footfall-dic.component.scss +273 -0
  46. package/src/lib/components/footfall-dic/footfall-dic.component.spec.ts +23 -0
  47. package/src/lib/components/footfall-dic/footfall-dic.component.ts +1206 -0
  48. package/src/lib/components/footfall-dicview/footfall-dicview.component.html +1136 -0
  49. package/src/lib/components/footfall-dicview/footfall-dicview.component.scss +416 -0
  50. package/src/lib/components/footfall-dicview/footfall-dicview.component.spec.ts +23 -0
  51. package/src/lib/components/footfall-dicview/footfall-dicview.component.ts +1168 -0
  52. package/src/lib/components/footfall-popup/footfall-popup.component.html +61 -0
  53. package/src/lib/components/footfall-popup/footfall-popup.component.scss +20 -0
  54. package/src/lib/components/footfall-popup/footfall-popup.component.spec.ts +23 -0
  55. package/src/lib/components/footfall-popup/footfall-popup.component.ts +12 -0
  56. package/src/lib/components/group-select/group-select.component.html +44 -0
  57. package/src/lib/components/group-select/group-select.component.scss +144 -0
  58. package/src/lib/components/group-select/group-select.component.spec.ts +23 -0
  59. package/src/lib/components/group-select/group-select.component.ts +145 -0
  60. package/src/lib/components/re-trigger/re-trigger.component.html +53 -0
  61. package/src/lib/components/re-trigger/re-trigger.component.scss +16 -0
  62. package/src/lib/components/re-trigger/re-trigger.component.spec.ts +23 -0
  63. package/src/lib/components/re-trigger/re-trigger.component.ts +96 -0
  64. package/src/lib/components/reactive-select/reactive-select.component.html +18 -0
  65. package/src/lib/components/reactive-select/reactive-select.component.scss +52 -0
  66. package/src/lib/components/reactive-select/reactive-select.component.spec.ts +23 -0
  67. package/src/lib/components/reactive-select/reactive-select.component.ts +104 -0
  68. package/src/lib/components/remove-audit/remove-audit.component.html +38 -0
  69. package/src/lib/components/remove-audit/remove-audit.component.scss +27 -0
  70. package/src/lib/components/remove-audit/remove-audit.component.spec.ts +23 -0
  71. package/src/lib/components/remove-audit/remove-audit.component.ts +81 -0
  72. package/src/lib/components/start-audit/start-audit.component.html +174 -0
  73. package/src/lib/components/start-audit/start-audit.component.scss +185 -0
  74. package/src/lib/components/start-audit/start-audit.component.spec.ts +23 -0
  75. package/src/lib/components/start-audit/start-audit.component.ts +761 -0
  76. package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.html +43 -0
  77. package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.scss +35 -0
  78. package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.spec.ts +23 -0
  79. package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.ts +118 -0
  80. package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.html +386 -0
  81. package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.scss +87 -0
  82. package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.spec.ts +23 -0
  83. package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.ts +494 -0
  84. package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.html +4743 -0
  85. package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.scss +1208 -0
  86. package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.spec.ts +23 -0
  87. package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.ts +3351 -0
  88. package/src/lib/components/ticketclosepopup/ticketclosepopup.component.html +100 -0
  89. package/src/lib/components/ticketclosepopup/ticketclosepopup.component.scss +34 -0
  90. package/src/lib/components/ticketclosepopup/ticketclosepopup.component.spec.ts +23 -0
  91. package/src/lib/components/ticketclosepopup/ticketclosepopup.component.ts +48 -0
  92. package/src/lib/components/tickets/tickets.component.html +451 -0
  93. package/src/lib/components/tickets/tickets.component.scss +131 -0
  94. package/src/lib/components/tickets/tickets.component.spec.ts +23 -0
  95. package/src/lib/components/tickets/tickets.component.ts +809 -0
  96. package/src/lib/components/viewcategory/viewcategory.component.html +38 -0
  97. package/src/lib/components/viewcategory/viewcategory.component.scss +29 -0
  98. package/src/lib/components/viewcategory/viewcategory.component.spec.ts +23 -0
  99. package/src/lib/components/viewcategory/viewcategory.component.ts +79 -0
  100. package/src/lib/services/audit.service.spec.ts +16 -0
  101. package/src/lib/services/audit.service.ts +98 -0
  102. package/src/lib/services/excel.service.ts +48 -0
  103. package/src/lib/services/ticket.service.spec.ts +16 -0
  104. package/src/lib/services/ticket.service.ts +501 -0
  105. package/src/lib/services/timer.service.spec.ts +16 -0
  106. package/src/lib/services/timer.service.ts +92 -0
  107. package/src/lib/tango-manage-tickets-routing.module.ts +37 -0
  108. package/src/lib/tango-manage-tickets.module.ts +68 -0
  109. package/{public-api.d.ts → src/public-api.ts} +8 -2
  110. package/tsconfig.lib.json +14 -0
  111. package/tsconfig.lib.prod.json +10 -0
  112. package/tsconfig.spec.json +14 -0
  113. package/esm2022/lib/components/add-csm-modal/add-csm-modal.component.mjs +0 -98
  114. package/esm2022/lib/components/audit-log/audit-log.component.mjs +0 -11
  115. package/esm2022/lib/components/audit-mapping-list/audit-mapping-list.component.mjs +0 -486
  116. package/esm2022/lib/components/audit-metrics/audit-metrics.component.mjs +0 -298
  117. package/esm2022/lib/components/audit-report-popup/audit-report-popup.component.mjs +0 -389
  118. package/esm2022/lib/components/audit-retag/audit-retag.component.mjs +0 -470
  119. package/esm2022/lib/components/comment-model/comment-model.component.mjs +0 -58
  120. package/esm2022/lib/components/count/count.component.mjs +0 -89
  121. package/esm2022/lib/components/custom-select/custom-select.component.mjs +0 -187
  122. package/esm2022/lib/components/filter-options/filter-options.component.mjs +0 -41
  123. package/esm2022/lib/components/footfall-dic/footfall-dic.component.mjs +0 -1061
  124. package/esm2022/lib/components/footfall-dicview/footfall-dicview.component.mjs +0 -1014
  125. package/esm2022/lib/components/footfall-popup/footfall-popup.component.mjs +0 -15
  126. package/esm2022/lib/components/group-select/group-select.component.mjs +0 -155
  127. package/esm2022/lib/components/re-trigger/re-trigger.component.mjs +0 -96
  128. package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +0 -108
  129. package/esm2022/lib/components/remove-audit/remove-audit.component.mjs +0 -81
  130. package/esm2022/lib/components/start-audit/start-audit.component.mjs +0 -761
  131. package/esm2022/lib/components/tango-manage-tickets/tango-manage-tickets.component.mjs +0 -131
  132. package/esm2022/lib/components/ticket-filter-panel/ticket-filter-panel.component.mjs +0 -435
  133. package/esm2022/lib/components/ticket-footfall-new/ticket-footfall-new.component.mjs +0 -2673
  134. package/esm2022/lib/components/ticketclosepopup/ticketclosepopup.component.mjs +0 -43
  135. package/esm2022/lib/components/tickets/tickets.component.mjs +0 -847
  136. package/esm2022/lib/components/viewcategory/viewcategory.component.mjs +0 -89
  137. package/esm2022/lib/services/audit.service.mjs +0 -88
  138. package/esm2022/lib/services/excel.service.mjs +0 -45
  139. package/esm2022/lib/services/ticket.service.mjs +0 -314
  140. package/esm2022/lib/services/timer.service.mjs +0 -84
  141. package/esm2022/lib/tango-manage-tickets-routing.module.mjs +0 -44
  142. package/esm2022/lib/tango-manage-tickets.module.mjs +0 -109
  143. package/esm2022/public-api.mjs +0 -6
  144. package/esm2022/tango-app-ui-manage-tickets.mjs +0 -5
  145. package/fesm2022/tango-app-ui-manage-tickets.mjs +0 -10083
  146. package/fesm2022/tango-app-ui-manage-tickets.mjs.map +0 -1
  147. package/index.d.ts +0 -5
  148. package/lib/components/add-csm-modal/add-csm-modal.component.d.ts +0 -30
  149. package/lib/components/audit-log/audit-log.component.d.ts +0 -5
  150. package/lib/components/audit-mapping-list/audit-mapping-list.component.d.ts +0 -73
  151. package/lib/components/audit-metrics/audit-metrics.component.d.ts +0 -59
  152. package/lib/components/audit-report-popup/audit-report-popup.component.d.ts +0 -52
  153. package/lib/components/audit-retag/audit-retag.component.d.ts +0 -59
  154. package/lib/components/comment-model/comment-model.component.d.ts +0 -17
  155. package/lib/components/count/count.component.d.ts +0 -23
  156. package/lib/components/custom-select/custom-select.component.d.ts +0 -35
  157. package/lib/components/filter-options/filter-options.component.d.ts +0 -15
  158. package/lib/components/footfall-dic/footfall-dic.component.d.ts +0 -143
  159. package/lib/components/footfall-dicview/footfall-dicview.component.d.ts +0 -132
  160. package/lib/components/footfall-popup/footfall-popup.component.d.ts +0 -8
  161. package/lib/components/group-select/group-select.component.d.ts +0 -33
  162. package/lib/components/re-trigger/re-trigger.component.d.ts +0 -32
  163. package/lib/components/reactive-select/reactive-select.component.d.ts +0 -32
  164. package/lib/components/remove-audit/remove-audit.component.d.ts +0 -16
  165. package/lib/components/start-audit/start-audit.component.d.ts +0 -86
  166. package/lib/components/tango-manage-tickets/tango-manage-tickets.component.d.ts +0 -28
  167. package/lib/components/ticket-filter-panel/ticket-filter-panel.component.d.ts +0 -79
  168. package/lib/components/ticket-footfall-new/ticket-footfall-new.component.d.ts +0 -286
  169. package/lib/components/ticketclosepopup/ticketclosepopup.component.d.ts +0 -15
  170. package/lib/components/tickets/tickets.component.d.ts +0 -88
  171. package/lib/components/viewcategory/viewcategory.component.d.ts +0 -16
  172. package/lib/services/audit.service.d.ts +0 -36
  173. package/lib/services/excel.service.d.ts +0 -10
  174. package/lib/services/ticket.service.d.ts +0 -85
  175. package/lib/services/timer.service.d.ts +0 -22
  176. package/lib/tango-manage-tickets-routing.module.d.ts +0 -7
  177. package/lib/tango-manage-tickets.module.d.ts +0 -38
@@ -0,0 +1,451 @@
1
+ <div class="card">
2
+ <div class="card-header border-0 pt-3">
3
+ <h3 class="card-title align-items-start flex-column">
4
+ <span *ngIf="type !=='dataMismatch' && type !== 'mat'" class="card-label mb-2">{{type | titlecase}}</span>
5
+ <span *ngIf="type ==='dataMismatch'" class="card-label mb-2">Data Mismatch</span>
6
+ <span *ngIf="type ==='mat'" class="card-label mb-2">Employee Mat</span>
7
+
8
+ <!-- <span class="text-sub mb-2">Last updated 1 hour ago</span> -->
9
+ </h3>
10
+ <div class="card-toolbar">
11
+ <div *ngIf="!assignTicket" class="d-flex">
12
+ <div class="d-flex align-items-center position-relative my-1">
13
+ <span class="svg-icon svg-icon-1 position-absolute ms-3">
14
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
15
+ <rect opacity="0.5" x="17.0365" y="15.1223" width="8.15546" height="2" rx="1"
16
+ transform="rotate(45 17.0365 15.1223)" fill="currentColor"></rect>
17
+ <path
18
+ d="M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z"
19
+ fill="currentColor"></path>
20
+ </svg>
21
+ </span>
22
+ <input type="text" class="form-control ps-14 me-2" placeholder="Search" autocomplete="off"
23
+ (change)="searchData()" [(ngModel)]="searchValue" />
24
+ <lib-filters *ngIf="users.userType === 'tango' && userList?.length || users.userType === 'client' && storeList?.length" [dataObject]="dataObject"
25
+ (appliedFilters)="applyFilters($event)"></lib-filters>
26
+
27
+ <button type="button" *ngIf="!noData&&!loading" (click)="exportXLSX()"
28
+ class="btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val">
29
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
30
+ <path
31
+ d="M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5"
32
+ stroke="#344054" stroke-width="1.67" stroke-linecap="round" stroke-linejoin="round" />
33
+ </svg>
34
+ <span class="ms-2">Export</span>
35
+ </button>
36
+ </div>
37
+ </div>
38
+ <div *ngIf="assignTicket" class="d-flex">
39
+ <button type="button" (click)="addAssignTicket()"
40
+ class="btn mx-2 btn-primary rounded-3 text-nowrap border-val">
41
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
42
+ <path d="M9.99984 4.1665V15.8332M4.1665 9.99984H15.8332" stroke="white" stroke-width="1.67"
43
+ stroke-linecap="round" stroke-linejoin="round" />
44
+ </svg>
45
+ <span class="ms-2 text-white">Assign Ticket</span>
46
+ </button>
47
+
48
+ </div>
49
+ </div>
50
+ </div>
51
+
52
+ <div class="card-body">
53
+
54
+
55
+ <ul *ngIf="!loading && listArray?.length && type !== 'mat' && type !== 'dataMismatch'" class="nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap horizontal-scroll">
56
+ <li class="nav-item" *ngFor="let obj of listArray.slice().reverse()" (click)="selectedTabs(obj)">
57
+ <a [ngClass]="{'active': selectedTab === obj.name}" class="nav-link cursor-pointer no-border me-2">
58
+ {{obj.name | titlecase}} <span class="mx-2"
59
+ [ngClass]="selectedTab === obj.name ? 'text-border-priamry' : 'text-border'">{{obj.count}}</span>
60
+ </a>
61
+ </li>
62
+ </ul>
63
+ <ul *ngIf="!loading && listArray?.length && type === 'dataMismatch'" class="nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap horizontal-scroll">
64
+ <li class="nav-item" *ngFor="let obj of listArray.slice().reverse()" (click)="selectedTabs(obj)">
65
+ <a [ngClass]="selectedTab === transformName(obj.name) ? 'active' : ''" class="nav-link cursor-pointer no-border me-2">
66
+ {{obj.name | titlecase}} <span class="mx-2"
67
+ [ngClass]="selectedTab === transformName(obj.name) ? 'text-border-priamry' : 'text-border'">{{obj.count}}</span>
68
+ </a>
69
+ </li>
70
+ </ul>
71
+ <div *ngIf="loading" class="row loader d-flex justify-content-center align-items-center">
72
+ <div class="shimmer">
73
+ <div class="wrapper">
74
+ <div class="stroke animate title"></div>
75
+ <div class="stroke animate link"></div>
76
+ <div class="stroke animate description"></div>
77
+ </div>
78
+ </div>
79
+ <div class="shimmer">
80
+ <div class="wrapper">
81
+ <div class="stroke animate title"></div>
82
+ <div class="stroke animate link"></div>
83
+ <div class="stroke animate description"></div>
84
+ </div>
85
+ </div>
86
+ </div>
87
+ <div *ngIf="noData" class="row">
88
+ <div class="col-lg-12 mb-3">
89
+ <div class="card-body d-flex justify-content-center align-items-center flex-column">
90
+ <img class="img-src" src="./assets/tango/Icons/Nodata.svg" alt="">
91
+ </div>
92
+ </div>
93
+ </div>
94
+ <div *ngIf="!loading && !noData" class="table-responsive mt-5">
95
+ <table class="table bottom-border text-nowrap ">
96
+ <thead>
97
+ <tr>
98
+ <th class="cursor-pointer" >
99
+
100
+ <input *ngIf="this.users.userType ==='tango'"
101
+ class="form-check-input cursor-pointer me-4" type="checkbox" [(ngModel)]="selectAll"
102
+ (click)="selectAllStore($event)"> <span class="cursor-pointer" (click)="onSort('ticketId')"> Ticket ID <svg
103
+ [ngClass]="sortedColumn === 'ticketId' && sortDirection === 1 ? 'rotate' : ''"
104
+ width="16" height="16" viewBox="0 0 16 16" fill="none">
105
+ <path
106
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
107
+ [attr.stroke]="sortedColumn === 'ticketId' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
108
+ stroke-linejoin="round" />
109
+ </svg></span>
110
+ </th>
111
+ <th class="cursor-pointer" *ngIf="type !=='dataMismatch'" (click)="onSort('issueDate')"> Created Date
112
+ <svg [ngClass]="sortedColumn === 'issueDate' && sortDirection === 1 ? 'rotate' : ''"
113
+ width="16" height="16" viewBox="0 0 16 16" fill="none">
114
+ <path
115
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
116
+ [attr.stroke]="sortedColumn === 'issueDate' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
117
+ stroke-linejoin="round" />
118
+ </svg></th>
119
+ <th class="cursor-pointer" *ngIf="type ==='infra'" (click)="onSort('createdAt')"> Created Time
120
+ <svg [ngClass]="sortedColumn === 'createdAt' && sortDirection === 1 ? 'rotate' : ''"
121
+ width="16" height="16" viewBox="0 0 16 16" fill="none">
122
+ <path
123
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
124
+ [attr.stroke]="sortedColumn === 'createdAt' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
125
+ stroke-linejoin="round" />
126
+ </svg></th>
127
+ <th class="cursor-pointer" *ngIf="type ==='infra'" (click)="onSort('issueClosedDate')"> Closed Date
128
+ <svg [ngClass]="sortedColumn === 'issueClosedDate' && sortDirection === 1 ? 'rotate' : ''"
129
+ width="16" height="16" viewBox="0 0 16 16" fill="none">
130
+ <path
131
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
132
+ [attr.stroke]="sortedColumn === 'issueClosedDate' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
133
+ stroke-linejoin="round" />
134
+ </svg></th>
135
+ <th class="cursor-pointer" *ngIf="type ==='infra'" (click)="onSort('issueClosedDate')"> Closed Time
136
+ <svg [ngClass]="sortedColumn === 'issueClosedDate' && sortDirection === 1 ? 'rotate' : ''"
137
+ width="16" height="16" viewBox="0 0 16 16" fill="none">
138
+ <path
139
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
140
+ [attr.stroke]="sortedColumn === 'issueClosedDate' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
141
+ stroke-linejoin="round" />
142
+ </svg></th>
143
+ <th class="cursor-pointer" *ngIf="type ==='dataMismatch'" class="cursor-pointer" (click)="onSort('createdAt')"> Created Date
144
+ <svg [ngClass]="sortedColumn === 'createdAt' && sortDirection === 1 ? 'rotate' : ''"
145
+ width="16" height="16" viewBox="0 0 16 16" fill="none">
146
+ <path
147
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
148
+ [attr.stroke]="sortedColumn === 'createdAt' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
149
+ stroke-linejoin="round" />
150
+ </svg></th>
151
+ <th class="cursor-pointer" *ngIf="type ==='dataMismatch'" class="cursor-pointer" ><span (click)="onSort('issueDate')">Issue Date
152
+ <svg [ngClass]="sortedColumn === 'issueDate' && sortDirection === 1 ? 'rotate' : ''"
153
+ width="16" height="16" viewBox="0 0 16 16" fill="none">
154
+ <path
155
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
156
+ [attr.stroke]="sortedColumn === 'issueDate' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
157
+ stroke-linejoin="round" />
158
+ </svg></span>
159
+ </th>
160
+ <th class="cursor-pointer" *ngIf="(gs.userAccess | async)?.userType === 'tango'" class="cursor-pointer" (click)="onSort('clientName')">Brand Name<svg
161
+ [ngClass]="sortedColumn === 'clientName' && sortDirection === 1 ? 'rotate' : ''"
162
+ width="16" height="16" viewBox="0 0 16 16" fill="none">
163
+ <path
164
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
165
+ [attr.stroke]="sortedColumn === 'clientName' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
166
+ stroke-linejoin="round" />
167
+ </svg></th>
168
+ <th class="cursor-pointer" *ngIf="(gs.userAccess | async)?.userType === 'tango'" class="cursor-pointer" (click)="onSort('clientId')">Brand ID<svg
169
+ [ngClass]="sortedColumn === 'clientId' && sortDirection === 1 ? 'rotate' : ''"
170
+ width="16" height="16" viewBox="0 0 16 16" fill="none">
171
+ <path
172
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
173
+ [attr.stroke]="sortedColumn === 'clientId' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
174
+ stroke-linejoin="round" />
175
+ </svg></th>
176
+ <th class="cursor-pointer" (click)="onSort('storeName')">Store Name<svg
177
+ [ngClass]="sortedColumn === 'storeName' && sortDirection === 1 ? 'rotate' : ''"
178
+ width="16" height="16" viewBox="0 0 16 16" fill="none">
179
+ <path
180
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
181
+ [attr.stroke]="sortedColumn === 'storeName' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
182
+ stroke-linejoin="round" />
183
+ </svg></th>
184
+ <th class="cursor-pointer" (click)="onSort('storeId')">Store ID<svg
185
+ [ngClass]="sortedColumn === 'storeId' && sortDirection === 1 ? 'rotate' : ''"
186
+ width="16" height="16" viewBox="0 0 16 16" fill="none">
187
+ <path
188
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
189
+ [attr.stroke]="sortedColumn === 'storeId' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
190
+ stroke-linejoin="round" />
191
+ </svg></th>
192
+ <th class="cursor-pointer" *ngIf="this.users.userType ==='tango' && (type ==='infra'||type ==='dataMismatch'||type ==='mat')" (click)="onSort('userName')">Resolved By<svg [ngClass]="sortedColumn === 'userName' && sortDirection === 1 ? 'rotate' : ''"
193
+ width="16" height="16" viewBox="0 0 16 16" fill="none">
194
+ <path
195
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
196
+ [attr.stroke]="sortedColumn === 'userName' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
197
+ stroke-linejoin="round" />
198
+ </svg></th>
199
+ <th class="cursor-pointer" *ngIf="this.users.userType ==='tango' && type ==='installation'" (click)="onSort('userName')">Installed By<svg [ngClass]="sortedColumn === 'userName' && sortDirection === 1 ? 'rotate' : ''"
200
+ width="16" height="16" viewBox="0 0 16 16" fill="none">
201
+ <path
202
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
203
+ [attr.stroke]="sortedColumn === 'userName' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
204
+ stroke-linejoin="round" />
205
+ </svg></th>
206
+ <th *ngIf="type ==='dataMismatch'" class="cursor-pointer" (click)="onSort('issueType')">Issue Type
207
+ <svg [ngClass]="sortedColumn === 'issueType' && sortDirection === 1 ? 'rotate' : ''"
208
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
209
+ fill="none">
210
+ <path
211
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
212
+ [attr.stroke]="sortedColumn === 'issueType' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
213
+ stroke-linejoin="round" />
214
+ </svg>
215
+ </th>
216
+ <th *ngIf="type ==='dataMismatch'" class="cursor-pointer" (click)="onSort('type')">Query Type
217
+ <svg [ngClass]="sortedColumn === 'type' && sortDirection === 1 ? 'rotate' : ''"
218
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
219
+ fill="none">
220
+ <path
221
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
222
+ [attr.stroke]="sortedColumn === 'type' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
223
+ stroke-linejoin="round" />
224
+ </svg>
225
+ </th>
226
+ <th *ngIf="type ==='dataMismatch'" class="cursor-pointer" (click)="onSort('reportedFootfall')">Reported Footfall
227
+ <svg [ngClass]="sortedColumn === 'reportedFootfall' && sortDirection === 1 ? 'rotate' : ''"
228
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
229
+ fill="none">
230
+ <path
231
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
232
+ [attr.stroke]="sortedColumn === 'reportedFootfall' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
233
+ stroke-linejoin="round" />
234
+ </svg>
235
+ </th>
236
+ <th *ngIf="type ==='dataMismatch'" class="cursor-pointer" (click)="onSort('mappedCount')">Unique Images
237
+ <svg [ngClass]="sortedColumn === 'mappedCount' && sortDirection === 1 ? 'rotate' : ''"
238
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
239
+ fill="none">
240
+ <path
241
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
242
+ [attr.stroke]="sortedColumn === 'mappedCount' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
243
+ stroke-linejoin="round" />
244
+ </svg>
245
+ </th>
246
+ <th *ngIf="type ==='dataMismatch'" class="cursor-pointer" (click)="onSort('successPercentage')">Success Percentage
247
+ <svg [ngClass]="sortedColumn === 'successPercentage' && sortDirection === 1 ? 'rotate' : ''"
248
+ xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"
249
+ fill="none">
250
+ <path
251
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
252
+ [attr.stroke]="sortedColumn === 'successPercentage' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
253
+ stroke-linejoin="round" />
254
+ </svg>
255
+ </th>
256
+ <th class="cursor-pointer" *ngIf="type ==='installation'" (click)="onSort('status')">Deployed Status<svg
257
+ [ngClass]="sortedColumn === 'status' && sortDirection === 1 ? 'rotate' : ''"
258
+ width="16" height="16" viewBox="0 0 16 16" fill="none">
259
+ <path
260
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
261
+ [attr.stroke]="sortedColumn === 'status' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
262
+ stroke-linejoin="round" />
263
+ </svg></th>
264
+ <th *ngIf="type ==='dataMismatch' ||type ==='mat'|| type ==='infra'" class="cursor-pointer" (click)="onSort('status')">Status<svg
265
+ [ngClass]="sortedColumn === 'status' && sortDirection === 1 ? 'rotate' : ''"
266
+ width="16" height="16" viewBox="0 0 16 16" fill="none">
267
+ <path
268
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
269
+ [attr.stroke]="sortedColumn === 'status' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
270
+ stroke-linejoin="round" />
271
+ </svg></th>
272
+ <!-- added config and total downtime as per the prioduct team requirement -->
273
+ <th *ngIf="type==='infra'">Configured Ticket Time
274
+ </th>
275
+
276
+ <th *ngIf="type==='infra'" >Total Downtime
277
+ </th>
278
+ <!-- -->
279
+
280
+ <th *ngIf="type !== 'mat' && type !== 'dataMismatch'" class="cursor-pointer" (click)="onSort('primaryIssue')">Primary Issues<svg
281
+ [ngClass]="sortedColumn === 'primaryIssue' && sortDirection === 1 ? 'rotate' : ''"
282
+ width="16" height="16" viewBox="0 0 16 16" fill="none">
283
+ <path
284
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
285
+ [attr.stroke]="sortedColumn === 'primaryIssue' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
286
+ stroke-linejoin="round" />
287
+ </svg></th>
288
+ <th *ngIf="type !== 'mat' && type !== 'dataMismatch'" class="cursor-pointer" (click)="onSort('secondaryIssue')">Secondary Issues<svg
289
+ [ngClass]="sortedColumn === 'secondaryIssue' && sortDirection === 1 ? 'rotate' : ''"
290
+ width="16" height="16" viewBox="0 0 16 16" fill="none">
291
+ <path
292
+ d="M8.00016 3.33337V12.6667M8.00016 12.6667L12.6668 8.00004M8.00016 12.6667L3.3335 8.00004"
293
+ [attr.stroke]="sortedColumn === 'secondaryIssue' ? '#00A3FF' : '#667085'" stroke-width="1.33333" stroke-linecap="round"
294
+ stroke-linejoin="round" />
295
+ </svg></th>
296
+ <th *ngIf="type!=='installation'">Actions</th>
297
+ </tr>
298
+ </thead>
299
+ <tbody>
300
+ <tr *ngFor="let obj of tableListArray">
301
+ <td>
302
+ <input *ngIf="this.users.userType ==='tango'" class="form-check-input cursor-pointer me-4 mt-3" type="checkbox" [(ngModel)]="obj.checked"
303
+ (change)="updateCheck($event,obj?.ticketId)">
304
+ <span *ngIf="type === 'dataMismatch' || type === 'mat' || type === 'infra'"
305
+ class="txt-light-primary cursor-pointer" (click)="tickets(type,obj.clientId,obj.storeId,obj.clientName)">
306
+ {{obj.ticketId}}
307
+ </span>
308
+ <span *ngIf="type === 'installation'">
309
+ {{obj.ticketId}}
310
+ </span>
311
+ </td>
312
+ <td *ngIf="type === 'dataMismatch'">
313
+ {{obj?.createdAt |
314
+ date: 'dd MMM, yyyy'}}</td>
315
+ <td *ngIf="type === 'dataMismatch'">
316
+ {{obj?.issueDate |
317
+ date: 'dd MMM, yyyy'}}</td>
318
+ <td *ngIf="type !== 'dataMismatch'">
319
+ {{obj?.createdAt |
320
+ date: 'dd MMM, yyyy'}}
321
+ </td>
322
+ <td *ngIf="type === 'infra'">
323
+ {{obj?.createdAt |
324
+ date: 'hh:mm a' | uppercase}}
325
+ </td>
326
+ <td *ngIf="type === 'infra'">
327
+ {{obj?.issueClosedDate?(obj?.issueClosedDate |
328
+ date: 'dd MMM, yyyy'):"--"}}
329
+ </td>
330
+ <td *ngIf="type === 'infra'">
331
+ {{obj?.issueClosedDate?(obj?.issueClosedDate |
332
+ date: 'hh:mm a' | uppercase):"--"}}
333
+ </td>
334
+ <td *ngIf="this.users.userType ==='tango'">
335
+ <div class="table-title cursor-pointer" (click)="clientTickets(obj.clientId,obj.storeId,obj.clientName)">
336
+ <span class="txt-light-primary">
337
+ {{obj.clientName}}
338
+ </span>
339
+ </div>
340
+ </td>
341
+ <td *ngIf="this.users.userType ==='tango'">{{obj.clientId}}
342
+ </td>
343
+ <td>
344
+ <div class="table-title cursor-pointer" (click)="storeTickets(obj.clientId,obj.storeId,obj.clientName)">
345
+ <span class="txt-light-primary">
346
+ {{obj.storeName}}
347
+ </span>
348
+ </div>
349
+ </td>
350
+ <td>{{obj.storeId}}
351
+ </td>
352
+
353
+ <td *ngIf="this.users.userType ==='tango'">
354
+ <div class="table-title cursor-pointer" >
355
+ <span >
356
+ {{obj.userName}}
357
+ </span>
358
+ </div>
359
+ </td>
360
+ <td *ngIf="type ==='dataMismatch' && obj.issueType ==='lowcount'" >Low Count</td>
361
+ <td *ngIf="type ==='dataMismatch' && obj.issueType ==='highcount'">High Count</td>
362
+ <td class="text-capitalize" *ngIf="type ==='dataMismatch'">{{obj?.type ? obj?.type:'--'}}</td>
363
+ <td class="text-capitalize" *ngIf="type ==='dataMismatch'">{{obj?.reportedFootfall ? obj?.reportedFootfall:'--'}}</td>
364
+ <td class="text-capitalize" *ngIf="type ==='dataMismatch'">{{obj?.mappedCount ? obj?.mappedCount:'--'}}</td>
365
+ <td class="text-capitalize" *ngIf="type ==='dataMismatch'">{{obj?.successPercentage ? obj?.successPercentage:'--'}}</td>
366
+ <td *ngIf="type==='installation'">
367
+ <span *ngIf="obj.installationStatus ==='paired' || obj.installationStatus ==='onboarded'"
368
+ class="badge badge-light-primary mx-4">{{obj.installationStatus | titlecase}}</span>
369
+ <span *ngIf="obj.installationStatus ==='live'" class="badge badge-light-success mx-4">Live</span>
370
+ <span *ngIf="obj.installationStatus ==='installationfailed'"
371
+ class="badge badge-light-warning mx-4">Installationfailed</span>
372
+ <span *ngIf="obj.installationStatus ==='deployed'"
373
+ class="badge badge-light-success mx-4 text-capitalize">deployed</span>
374
+ </td>
375
+ <td *ngIf="type==='infra' || type==='mat' || type==='dataMismatch'">
376
+ <span *ngIf="obj.status ==='open'" class="badge badge-light-danger">Open</span>
377
+ <span *ngIf="obj.status ==='closed'" class="badge badge-light-success">Closed</span>
378
+ <span *ngIf="obj.status ==='inprogress'" class="badge badge-light-primary">In
379
+ Progress</span>
380
+ </td>
381
+ <td *ngIf="type==='infra'">
382
+ {{obj.configuredDownTime?obj.configuredDownTime*60:0 || 0 }} {{obj.configuredDownTime > 1? 'mins' : 'min'}}
383
+ </td>
384
+ <td *ngIf="type==='infra'">
385
+ {{obj.totalDownTime || 0 }} {{obj.totalDownTime > 1? 'mins' : 'min'}}
386
+ </td>
387
+ <td *ngIf="type==='installation' || type==='infra'">
388
+ <div>
389
+ <span *ngIf="obj.primaryIssue !=='-'">{{obj.primaryIssue ? obj.primaryIssue :'Issue not identified'}}</span>
390
+ <span *ngIf="obj.primaryIssue ==='-'">Issue not identified</span>
391
+ </div>
392
+ </td>
393
+ <td *ngIf="type==='installation' || type==='infra'">
394
+ <span *ngIf="obj.secondaryIssue">{{obj.secondaryIssue}}</span>
395
+ </td>
396
+ <td *ngIf="type==='infra' || type ==='dataMismatch'">
397
+ <span class="mx-2 cursor-pointer" *ngIf="this.users.userType ==='tango'" (click)="commentModal(obj)"><svg
398
+ xmlns="http://www.w3.org/2000/svg" width="21" height="20" viewBox="0 0 21 20" fill="none">
399
+ <path
400
+ d="M17.6431 12.5C17.6431 12.942 17.4675 13.366 17.1549 13.6785C16.8423 13.9911 16.4184 14.1667 15.9764 14.1667H5.9764L2.64307 17.5V4.16667C2.64307 3.72464 2.81866 3.30072 3.13122 2.98816C3.44378 2.67559 3.86771 2.5 4.30973 2.5H15.9764C16.4184 2.5 16.8423 2.67559 17.1549 2.98816C17.4675 3.30072 17.6431 3.72464 17.6431 4.16667V12.5Z"
401
+ stroke="#667085" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round" />
402
+ </svg></span>
403
+ <span class="mx-2 cursor-pointer" (click)="tickets(type,obj.clientId,obj.storeId,obj.clientName)"><svg
404
+ xmlns="http://www.w3.org/2000/svg" width="21" height="20" viewBox="0 0 21 20" fill="none">
405
+ <g clip-path="url(#clip0_10640_18061)">
406
+ <path
407
+ d="M0.976562 10C0.976562 10 4.3099 3.33337 10.1432 3.33337C15.9766 3.33337 19.3099 10 19.3099 10C19.3099 10 15.9766 16.6667 10.1432 16.6667C4.3099 16.6667 0.976562 10 0.976562 10Z"
408
+ stroke="#667085" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round" />
409
+ <path
410
+ d="M10.1432 12.5C11.5239 12.5 12.6432 11.3808 12.6432 10C12.6432 8.61933 11.5239 7.50004 10.1432 7.50004C8.76252 7.50004 7.64323 8.61933 7.64323 10C7.64323 11.3808 8.76252 12.5 10.1432 12.5Z"
411
+ stroke="#667085" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round" />
412
+ </g>
413
+ <defs>
414
+ <clipPath id="clip0_10640_18061">
415
+ <rect width="20" height="20" fill="white" transform="translate(0.143066)" />
416
+ </clipPath>
417
+ </defs>
418
+ </svg></span>
419
+ </td>
420
+ <td *ngIf="type === 'mat'">
421
+ <span class="mx-2 cursor-pointer" (click)="routeToMat(obj.storeId,obj.clientId,obj.clientName)"><svg
422
+ xmlns="http://www.w3.org/2000/svg" width="21" height="20" viewBox="0 0 21 20" fill="none">
423
+ <g clip-path="url(#clip0_10640_18061)">
424
+ <path
425
+ d="M0.976562 10C0.976562 10 4.3099 3.33337 10.1432 3.33337C15.9766 3.33337 19.3099 10 19.3099 10C19.3099 10 15.9766 16.6667 10.1432 16.6667C4.3099 16.6667 0.976562 10 0.976562 10Z"
426
+ stroke="#667085" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round" />
427
+ <path
428
+ d="M10.1432 12.5C11.5239 12.5 12.6432 11.3808 12.6432 10C12.6432 8.61933 11.5239 7.50004 10.1432 7.50004C8.76252 7.50004 7.64323 8.61933 7.64323 10C7.64323 11.3808 8.76252 12.5 10.1432 12.5Z"
429
+ stroke="#667085" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round" />
430
+ </g>
431
+ <defs>
432
+ <clipPath id="clip0_10640_18061">
433
+ <rect width="20" height="20" fill="white" transform="translate(0.143066)" />
434
+ </clipPath>
435
+ </defs>
436
+ </svg></span>
437
+
438
+ </td>
439
+
440
+
441
+ </tr>
442
+ </tbody>
443
+ </table>
444
+ </div>
445
+ <div *ngIf="!loading && !noData" class="my-3">
446
+ <lib-pagination [itemsPerPage]="pageSize" [currentPage]="currentPage" [totalItems]="totalItems"
447
+ [paginationSizes]="paginationSizes" [pageSize]="setpageSize()" (pageChange)="onPageChange($event)"
448
+ (pageSizeChange)="onPageSizeChange($event)"></lib-pagination>
449
+ </div>
450
+ </div>
451
+ </div>
@@ -0,0 +1,131 @@
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
+
11
+ .text-border {
12
+ border-radius: 16px !important;
13
+ background: var(--Gray-100, #F2F4F7) !important;
14
+ color: var(--Gray-700, #344054);
15
+ text-align: center;
16
+ font-size: 14px;
17
+ font-weight: 500;
18
+ line-height: 20px;
19
+ padding: 2px 10px !important;
20
+ }
21
+
22
+ .text-border-priamry{
23
+ border-radius: 16px;
24
+ background: var(--Primary-50, #EAF8FF);
25
+ color: var(--Primary-700, #009BF3);
26
+ text-align: center;
27
+ font-size: 14px;
28
+ font-weight: 500;
29
+ line-height: 20px;
30
+ padding: 2px 10px !important;
31
+ mix-blend-mode: multiply !important;
32
+ }
33
+
34
+ .text-sub {
35
+ color: var(--Gray-500, #667085) !important;
36
+ font-family: 'Inter';
37
+ font-size: 14px !important;
38
+ font-weight: 400 !important;
39
+ line-height: 20px;
40
+ }
41
+
42
+ .border-val {
43
+ color: var(--Gray-700, #344054) !important;
44
+ font-family: 'Inter';
45
+ font-size: 14px !important;
46
+ font-weight: 600 !important;
47
+ line-height: 20px;
48
+ text-transform: capitalize;
49
+ }
50
+
51
+ td {
52
+ vertical-align: middle;
53
+ line-height: 35px !important;
54
+ }
55
+
56
+ .table-title-primary {
57
+ color: var(--Primary-700, #009BF3) !important;
58
+ font-weight: 500 !important;
59
+ }
60
+ .table-sub {
61
+ line-height: 30px !important;
62
+ color: var(--Gray-500, #667085) !important;
63
+ }
64
+
65
+ .txt-light-primary {
66
+ color: #009BF3 !important;
67
+ }
68
+
69
+ input[type='checkbox'] {
70
+ width: 16px !important;
71
+ height: 16px !important;
72
+ margin: 0px 5px;
73
+ border-radius: 4px !important;
74
+ -webkit-appearance: none;
75
+ -moz-appearance: none;
76
+ -o-appearance: none;
77
+ appearance: none;
78
+ outline: 1px solid var(--gray-300, #D0D5DD);
79
+ box-shadow: none;
80
+ font-size: 0.8em;
81
+ text-align: center;
82
+ line-height: 1em;
83
+ background: white;
84
+ }
85
+
86
+ input[type='checkbox']:checked {
87
+ outline: 1px solid var(--primary-600, #00A3FF);
88
+ background-color: var(--primary-50, #EAF8FF);
89
+ }
90
+
91
+ input[type='checkbox']:checked:after {
92
+ content: '';
93
+ transform: rotate(45deg);
94
+ border-bottom: 2px solid #00A3FF;
95
+ border-right: 2px solid #00A3FF;
96
+ display: inline-block;
97
+ width: 0.2em;
98
+ padding-left: 0px;
99
+ padding-top: 9px;
100
+ padding-right: 4px;
101
+ }
102
+
103
+ .img-src{
104
+ width:25%;
105
+ height:20%
106
+ }
107
+
108
+ .rotate {
109
+ rotate: 180deg;
110
+ transition: 1s;
111
+ }
112
+ .viewbutton{
113
+ border-radius: 8px;
114
+ border: 1px solid var(--Gray-300, #D0D5DD);
115
+ box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);
116
+ // width: 56px;
117
+ padding: 10px 16px;
118
+ justify-content: center;
119
+ align-items: center;
120
+ gap: 10px;
121
+ color: var(--Gray-700, #344054);
122
+ font-family: 'Inter';
123
+ font-size: 12px;
124
+ font-weight: 600;
125
+ }
126
+
127
+ .horizontal-scroll {
128
+ overflow-x: auto; /* Enable horizontal scrolling */
129
+ overflow-y: hidden; /* Disable vertical scrolling */
130
+ white-space: nowrap; /* Prevents content from wrapping */
131
+ }
@@ -0,0 +1,23 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { TicketsComponent } from './tickets.component';
4
+
5
+ describe('TicketsComponent', () => {
6
+ let component: TicketsComponent;
7
+ let fixture: ComponentFixture<TicketsComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ declarations: [TicketsComponent]
12
+ })
13
+ .compileComponents();
14
+
15
+ fixture = TestBed.createComponent(TicketsComponent);
16
+ component = fixture.componentInstance;
17
+ fixture.detectChanges();
18
+ });
19
+
20
+ it('should create', () => {
21
+ expect(component).toBeTruthy();
22
+ });
23
+ });