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
@@ -1,314 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { BehaviorSubject, } from "rxjs";
3
- import { HttpParams } from "@angular/common/http";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- import * as i2 from "tango-app-ui-global";
7
- export class TicketService {
8
- http;
9
- gs;
10
- userApiUrl;
11
- ticketsApiUrl;
12
- auditApiUrl;
13
- auditmetricApiUrl;
14
- zoneauditApiUrl;
15
- footfallDirapiUrl;
16
- footfallCDN;
17
- trafficApiUrl;
18
- revopApiUrl;
19
- clientApiUrl;
20
- dropDownTrigger = new BehaviorSubject(null);
21
- constructor(http, gs) {
22
- this.http = http;
23
- this.gs = gs;
24
- this.gs.environment.subscribe((env) => {
25
- if (env) {
26
- this.userApiUrl = env.userApiUrl;
27
- this.ticketsApiUrl = env.ticketsApiUrl;
28
- this.auditmetricApiUrl = env.auditmetricApiUrl;
29
- this.auditApiUrl = env.auditApiUrl;
30
- this.zoneauditApiUrl = env.zoneauditApiUrl;
31
- this.clientApiUrl = env.clientApiUrl;
32
- this.footfallDirapiUrl = env.footfallDirapiUrl;
33
- this.footfallCDN = env.footfallCDN;
34
- this.trafficApiUrl = env.trafficApiUrl;
35
- this.revopApiUrl = env.revopApiUrl;
36
- }
37
- });
38
- }
39
- getUserList(params) {
40
- return this.http.post(`${this.userApiUrl}/get-list`, params);
41
- }
42
- exportInstallationList(data) {
43
- return this.http.post(`${this.ticketsApiUrl}/infra/installationTable`, data, { responseType: "arraybuffer" });
44
- }
45
- exportInfraList(data) {
46
- return this.http.post(`${this.ticketsApiUrl}/infra/infraTable`, data, {
47
- responseType: "arraybuffer",
48
- });
49
- }
50
- exportMatList(data) {
51
- return this.http.post(`${this.ticketsApiUrl}/infra/matTable`, data, {
52
- responseType: "arraybuffer",
53
- });
54
- }
55
- getSotresList(data) {
56
- return this.http.post(`${this.ticketsApiUrl}/infra/storeFilter`, data);
57
- }
58
- getInstallationList(data) {
59
- return this.http.post(`${this.ticketsApiUrl}/infra/installationTable`, data);
60
- }
61
- getInfraList(data) {
62
- return this.http.post(`${this.ticketsApiUrl}/infra/infraTable`, data);
63
- }
64
- getAssignTicket(data) {
65
- return this.http.post(`${this.ticketsApiUrl}/infra/assignTicket`, data);
66
- }
67
- getMatList(data) {
68
- return this.http.post(`${this.ticketsApiUrl}/infra/matTable`, data);
69
- }
70
- updateTicketIssue(data) {
71
- return this.http.post(`${this.ticketsApiUrl}/employeeTraning/updatecomment`, data);
72
- }
73
- getUserActiveList(params) {
74
- return this.http.post(`${this.userApiUrl}/list`, params);
75
- }
76
- getAllCounts(data) {
77
- return this.http.post(`${this.ticketsApiUrl}/infra/allCounts`, data);
78
- }
79
- getstoreMetrics(data) {
80
- return this.http.post(`${this.auditApiUrl}/metrics/store-metrics`, data);
81
- }
82
- getstoreMetricsExport(data) {
83
- return this.http.post(`${this.auditApiUrl}/metrics/store-metrics`, data, { responseType: 'arraybuffer' });
84
- }
85
- getclientList() {
86
- return this.http.get(`${this.auditApiUrl}/clients`);
87
- }
88
- getuserList() {
89
- return this.http.get(`${this.auditApiUrl}/tango-users`);
90
- }
91
- auditretrigger(data) {
92
- return this.http.post(`${this.auditApiUrl}/metrics/re-trigger`, data);
93
- }
94
- getfootfallcount(data) {
95
- return this.http.get(`${this.revopApiUrl}/store-processed-data?storeId=${data.storeId}&fromDate=${data.Date}&toDate=${data.Date}`);
96
- }
97
- getstoreList(data) {
98
- return this.http.post(`${this.auditApiUrl}/audit-stores`, data);
99
- }
100
- checkTicketExists(data) {
101
- return this.http.post(`${this.footfallDirapiUrl}/checkTicketExists`, data);
102
- }
103
- mergeticket(data) {
104
- return this.http.post(`${this.footfallDirapiUrl}/mergeticket`, data);
105
- }
106
- getDataMismathList(data) {
107
- return this.http.post(`${this.ticketsApiUrl}/infra/dataMismatchTable`, data);
108
- }
109
- accuracyReasonsupdate(data) {
110
- return this.http.post(`${this.footfallDirapiUrl}/tango-review-accuracy-ticket`, data);
111
- }
112
- exportDataMismatchList(data) {
113
- return this.http.post(`${this.ticketsApiUrl}/infra/dataMismatchTable`, data, { responseType: "arraybuffer" });
114
- }
115
- getAuditImages(data) {
116
- return this.http.get(`${this.auditApiUrl}/audit-images?fileDate=${data?.fileDate}&storeId=${data?.storeId}&imageType=${data?.imageType}&export=${data?.export}&zoneName=${data?.zoneName}&moduleType=${data?.moduleType}`);
117
- }
118
- ExportAuditImagesasxlsx(data) {
119
- return this.http.get(`${this.auditApiUrl}/audit-images?fileDate=${data?.fileDate}&storeId=${data?.storeId}&imageType=${data?.imageType}&export=${data?.export}&zoneName=${data?.zoneName}&moduleType=${data?.moduleType}`, { responseType: "arraybuffer" });
120
- }
121
- getTicketSummaryApi(client, fromDate, toDate, tangoType, permissionType) {
122
- let url = `${this.footfallDirapiUrl}/ticket-summary?` +
123
- `clientId=${client}` +
124
- `&fromDate=${fromDate}` +
125
- `&toDate=${toDate}` +
126
- `&tangoType=${tangoType}`;
127
- if (permissionType) {
128
- url += `&permissionType=${permissionType}`;
129
- }
130
- return this.http.get(url);
131
- }
132
- accuracyReasons(client) {
133
- return this.http.get(`${this.footfallDirapiUrl}/get-accuarcy-issues?clientId=${client}`);
134
- }
135
- getTicketListOldApi(client, fromDate, toDate, searchvalue, limit, offset, isExport, sortBy, sortOrder) {
136
- return this.http.get(`${this.footfallDirapiUrl}/ticket-list?clientId=${client}&fromDate=${fromDate}&toDate=${toDate}&searchValue=${searchvalue}&limit=${limit}&offset=${offset}&isExport=${isExport}&sortBy=${sortBy}&sortOrder=${sortOrder}`);
137
- }
138
- getTicketListApi(client, fromDate, toDate, searchvalue, limit, offset, isExport, sortBy, sortOrder, tangoType, permissionType, filters) {
139
- let url = `${this.footfallDirapiUrl}/ticket-list?` +
140
- `clientId=${client}` +
141
- `&fromDate=${fromDate}` +
142
- `&toDate=${toDate}` +
143
- `&searchValue=${searchvalue}` +
144
- `&limit=${limit}` +
145
- `&offset=${offset}` +
146
- `&isExport=${isExport}` +
147
- `&sortBy=${sortBy}` +
148
- `&sortOrder=${sortOrder}` +
149
- `&tangoType=${tangoType}`;
150
- if (permissionType) {
151
- url += `&permissionType=${permissionType}`;
152
- }
153
- if (filters) {
154
- // array params – send as comma-separated
155
- if (filters.filterByStatus?.length) {
156
- url += `&filterByStatus=${encodeURIComponent(filters.filterByStatus.join(','))}`;
157
- }
158
- if (filters.filterByReviewedBy?.length) {
159
- url += `&filterByReviewedBy=${encodeURIComponent(filters.filterByReviewedBy.join(','))}`;
160
- }
161
- if (filters.fileterByApprovedBy?.length) {
162
- url += `&fileterByApprovedBy=${encodeURIComponent(filters.fileterByApprovedBy.join(','))}`;
163
- }
164
- // string params – JSON stringified accuracy
165
- if (filters.filterByReviewer) {
166
- url += `&filterByReviewer=${encodeURIComponent(filters.filterByReviewer)}`;
167
- }
168
- if (filters.filterByApprover) {
169
- url += `&filterByApprover=${encodeURIComponent(filters.filterByApprover)}`;
170
- }
171
- if (filters.filterByTango) {
172
- url += `&filterByTango=${encodeURIComponent(filters.filterByTango)}`;
173
- }
174
- }
175
- return this.http.get(url);
176
- }
177
- getTicketListExportOldApi(client, fromDate, toDate, searchvalue, limit, offset, isExport, sortBy, sortOrder) {
178
- return this.http.get(`${this.footfallDirapiUrl}/ticket-list?clientId=${client}&fromDate=${fromDate}&toDate=${toDate}&searchValue=${searchvalue}&limit=${limit}&offset=${offset}&isExport=${isExport}&sortBy=${sortBy}&sortOrder=${sortOrder}`, { responseType: "arraybuffer" });
179
- }
180
- getTicketListExportApi(client, fromDate, toDate, searchvalue, limit, offset, isExport, sortBy, sortOrder, tangoType, permissionType, filters) {
181
- let url = `${this.footfallDirapiUrl}/ticket-list?` +
182
- `clientId=${client}` +
183
- `&fromDate=${fromDate}` +
184
- `&toDate=${toDate}` +
185
- `&searchValue=${searchvalue}` +
186
- `&limit=${limit}` +
187
- `&offset=${offset}` +
188
- `&isExport=${isExport}` +
189
- `&sortBy=${sortBy}` +
190
- `&sortOrder=${sortOrder}` +
191
- `&tangoType=${tangoType}`;
192
- if (permissionType) {
193
- url += `&permissionType=${permissionType}`;
194
- }
195
- if (filters) {
196
- if (filters.filterByStatus?.length) {
197
- url += `&filterByStatus=${encodeURIComponent(filters.filterByStatus.join(','))}`;
198
- }
199
- if (filters.filterByReviewedBy?.length) {
200
- url += `&filterByReviewedBy=${encodeURIComponent(filters.filterByReviewedBy.join(','))}`;
201
- }
202
- if (filters.fileterByApprovedBy?.length) {
203
- url += `&fileterByApprovedBy=${encodeURIComponent(filters.fileterByApprovedBy.join(','))}`;
204
- }
205
- if (filters.filterByReviewer) {
206
- url += `&filterByReviewer=${encodeURIComponent(filters.filterByReviewer)}`;
207
- }
208
- if (filters.filterByApprover) {
209
- url += `&filterByApprover=${encodeURIComponent(filters.filterByApprover)}`;
210
- }
211
- if (filters.filterByTango) {
212
- url += `&filterByTango=${encodeURIComponent(filters.filterByTango)}`;
213
- }
214
- }
215
- const options = isExport
216
- ? { responseType: 'arraybuffer' }
217
- : {};
218
- return this.http.get(url, options);
219
- }
220
- getTicketsApi(store, fromDate, toDate, revopsType, status, action, offset, limit) {
221
- let params = new HttpParams()
222
- .set("storeId", store)
223
- .set("fromDate", fromDate)
224
- .set("toDate", toDate)
225
- .set("offset", offset)
226
- .set("limit", limit);
227
- if (revopsType) {
228
- params = params.set("revopsType", revopsType);
229
- }
230
- if (status) {
231
- params = params.set("status", status);
232
- }
233
- if (action) {
234
- params = params.set("action", action);
235
- }
236
- return this.http.get(`${this.footfallDirapiUrl}/get-tickets`, { params });
237
- }
238
- getTicketsNewApi(ticketId) {
239
- let params = new HttpParams().set("ticketId", ticketId);
240
- return this.http.get(`${this.footfallDirapiUrl}/get-tickets`, { params });
241
- }
242
- getTaggedStoresApi(client, fromDate, toDate, searchValue, clusters, sortOrder) {
243
- let params = new HttpParams()
244
- .set("clientId", client)
245
- .set("fromDate", fromDate)
246
- .set("toDate", toDate); // Add searchValue as an empty string if not provided
247
- // Only add 'clusters' if it's not null, undefined, or an empty array/string
248
- if (searchValue) {
249
- params = params.set("searchValue", searchValue);
250
- }
251
- if (clusters && clusters.length > 0) {
252
- params = params.set("clusters", clusters);
253
- }
254
- if (sortOrder) {
255
- params = params.set("sortOrder", sortOrder);
256
- }
257
- return this.http.get(`${this.footfallDirapiUrl}/get-tagged-stores`, {
258
- params,
259
- });
260
- }
261
- getUpdateStatusApi(data) {
262
- const url = `${this.footfallDirapiUrl}/update-status`;
263
- return this.http.put(url, data);
264
- }
265
- getUpdateTempStatusApi(data) {
266
- return this.http.post(`${this.footfallDirapiUrl}/update-temp-status`, data);
267
- }
268
- getOpenTicketListApi(data) {
269
- return this.http.post(`${this.footfallDirapiUrl}/open-ticket-list`, data);
270
- }
271
- getUpdateTicketStatusApi(data) {
272
- return this.http.post(`${this.footfallDirapiUrl}/update-ticket-status`, data);
273
- }
274
- getCreateTicketListApi(data) {
275
- return this.http.post(`${this.footfallDirapiUrl}/create-ticket`, data);
276
- }
277
- CreateinternalTicketApi(data) {
278
- return this.http.post(`${this.footfallDirapiUrl}/create-internalticket`, data);
279
- }
280
- getclusters(data) {
281
- return this.http.post(`${this.trafficApiUrl}/headercluster_v2`, data);
282
- }
283
- getReviewerApi(clientId, type) {
284
- let params = new HttpParams().set("clientId", clientId)
285
- .set("type", type);
286
- return this.http.get(`${this.footfallDirapiUrl}/reviewer-list`, { params });
287
- }
288
- getTicketAssignApi(data) {
289
- return this.http.post(`${this.footfallDirapiUrl}/assign-ticket`, data);
290
- }
291
- getMultiCloseTicketApi(data) {
292
- return this.http.post(`${this.footfallDirapiUrl}/multi-close-tickets`, data);
293
- }
294
- getTypeFunction(clientId) {
295
- let params = new HttpParams().set("clientId", clientId);
296
- return this.http.get(`${this.clientApiUrl}/get-footfall-directory-config`, { params });
297
- }
298
- footfallData;
299
- setFootfallData(data) {
300
- this.footfallData = data;
301
- }
302
- getFootfallData() {
303
- return this.footfallData;
304
- }
305
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketService, deps: [{ token: i1.HttpClient }, { token: i2.GlobalStateService }], target: i0.ɵɵFactoryTarget.Injectable });
306
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketService, providedIn: "root" });
307
- }
308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketService, decorators: [{
309
- type: Injectable,
310
- args: [{
311
- providedIn: "root",
312
- }]
313
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.GlobalStateService }] });
314
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2UtdGlja2V0cy9zcmMvbGliL3NlcnZpY2VzL3RpY2tldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFckQsT0FBTyxFQUNMLGVBQWUsR0FNaEIsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFJbEQsTUFBTSxPQUFPLGFBQWE7SUFZSjtJQUEwQjtJQVg5QyxVQUFVLENBQU07SUFDaEIsYUFBYSxDQUFNO0lBQ25CLFdBQVcsQ0FBTTtJQUNqQixpQkFBaUIsQ0FBTTtJQUN2QixlQUFlLENBQU07SUFDckIsaUJBQWlCLENBQU07SUFDdkIsV0FBVyxDQUFNO0lBQ2pCLGFBQWEsQ0FBTTtJQUNuQixXQUFXLENBQU07SUFDakIsWUFBWSxDQUFLO0lBQ2pCLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUNqRCxZQUFvQixJQUFnQixFQUFVLEVBQXNCO1FBQWhELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUNsRSxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNwQyxJQUFJLEdBQUcsRUFBRTtnQkFDUCxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFD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QUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO3dHQS9kVSxhQUFhOzRHQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLWdsb2JhbFwiO1xyXG5pbXBvcnQge1xyXG4gIEJlaGF2aW9yU3ViamVjdCxcclxuICBPYnNlcnZhYmxlLFxyXG4gIGNhdGNoRXJyb3IsXHJcbiAgbWFwLFxyXG4gIG9mLFxyXG4gIHRocm93RXJyb3IsXHJcbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaWNrZXRTZXJ2aWNlIHtcclxuICB1c2VyQXBpVXJsOiBhbnk7XHJcbiAgdGlja2V0c0FwaVVybDogYW55O1xyXG4gIGF1ZGl0QXBpVXJsOiBhbnk7XHJcbiAgYXVkaXRtZXRyaWNBcGlVcmw6IGFueTtcclxuICB6b25lYXVkaXRBcGlVcmw6IGFueTtcclxuICBmb290ZmFsbERpcmFwaVVybDogYW55O1xyXG4gIGZvb3RmYWxsQ0ROOiBhbnk7XHJcbiAgdHJhZmZpY0FwaVVybDogYW55O1xyXG4gIHJldm9wQXBpVXJsOiBhbnk7XHJcbiAgY2xpZW50QXBpVXJsOmFueTtcclxuICBkcm9wRG93blRyaWdnZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuZ3MuZW52aXJvbm1lbnQuc3Vic2NyaWJlKChlbnYpID0+IHtcclxuICAgICAgaWYgKGVudikge1xyXG4gICAgICAgIHRoaXMudXNlckFwaVVybCA9IGVudi51c2VyQXBpVXJsO1xyXG4gICAgICAgIHRoaXMudGlja2V0c0FwaVVybCA9IGVudi50aWNrZXRzQXBpVXJsO1xyXG4gICAgICAgIHRoaXMuYXVkaXRtZXRyaWNBcGlVcmwgPSBlbnYuYXVkaXRtZXRyaWNBcGlVcmw7XHJcbiAgICAgICAgdGhpcy5hdWRpdEFwaVVybCA9IGVudi5hdWRpdEFwaVVybDtcclxuICAgICAgICB0aGlzLnpvbmVhdWRpdEFwaVVybCA9IGVudi56b25lYXVkaXRBcGlVcmw7XHJcbiAgICAgICAgdGhpcy5jbGllbnRBcGlVcmwgPSBlbnYuY2xpZW50QXBpVXJsO1xyXG4gICAgICAgIHRoaXMuZm9vdGZhbGxEaXJhcGlVcmwgPSBlbnYuZm9vdGZhbGxEaXJhcGlVcmw7XHJcbiAgICAgICAgdGhpcy5mb290ZmFsbENETiA9IGVudi5mb290ZmFsbENETjtcclxuICAgICAgICB0aGlzLnRyYWZmaWNBcGlVcmwgPSBlbnYudHJhZmZpY0FwaVVybDtcclxuICAgICAgICB0aGlzLnJldm9wQXBpVXJsID0gZW52LnJldm9wQXBpVXJsO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFVzZXJMaXN0KHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudXNlckFwaVVybH0vZ2V0LWxpc3RgLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0SW5zdGFsbGF0aW9uTGlzdChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcclxuICAgICAgYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9pbnN0YWxsYXRpb25UYWJsZWAsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIHsgcmVzcG9uc2VUeXBlOiBcImFycmF5YnVmZmVyXCIgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGV4cG9ydEluZnJhTGlzdChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL2luZnJhVGFibGVgLCBkYXRhLCB7XHJcbiAgICAgIHJlc3BvbnNlVHlwZTogXCJhcnJheWJ1ZmZlclwiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRNYXRMaXN0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0c0FwaVVybH0vaW5mcmEvbWF0VGFibGVgLCBkYXRhLCB7XHJcbiAgICAgIHJlc3BvbnNlVHlwZTogXCJhcnJheWJ1ZmZlclwiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRTb3RyZXNMaXN0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9zdG9yZUZpbHRlcmAsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW5zdGFsbGF0aW9uTGlzdChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KFxyXG4gICAgICBgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL2luc3RhbGxhdGlvblRhYmxlYCxcclxuICAgICAgZGF0YVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEluZnJhTGlzdChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0c0FwaVVybH0vaW5mcmEvaW5mcmFUYWJsZWAsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXNzaWduVGlja2V0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oXHJcbiAgICAgIGAke3RoaXMudGlja2V0c0FwaVVybH0vaW5mcmEvYXNzaWduVGlja2V0YCxcclxuICAgICAgZGF0YVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldE1hdExpc3QoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL21hdFRhYmxlYCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVUaWNrZXRJc3N1ZShkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KFxyXG4gICAgICBgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2VtcGxveWVlVHJhbmluZy91cGRhdGVjb21tZW50YCxcclxuICAgICAgZGF0YVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFVzZXJBY3RpdmVMaXN0KHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudXNlckFwaVVybH0vbGlzdGAsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxDb3VudHMoZGF0YTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9hbGxDb3VudHNgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRzdG9yZU1ldHJpY3MoZGF0YTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuYXVkaXRBcGlVcmx9L21ldHJpY3Mvc3RvcmUtbWV0cmljc2AsZGF0YSlcclxuICB9XHJcbiAgZ2V0c3RvcmVNZXRyaWNzRXhwb3J0KGRhdGE6YW55KXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmF1ZGl0QXBpVXJsfS9tZXRyaWNzL3N0b3JlLW1ldHJpY3NgLGRhdGEse3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG4gIGdldGNsaWVudExpc3QoKXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXVkaXRBcGlVcmx9L2NsaWVudHNgKVxyXG4gIH1cclxuICBnZXR1c2VyTGlzdCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hdWRpdEFwaVVybH0vdGFuZ28tdXNlcnNgKVxyXG4gIH1cclxuICBhdWRpdHJldHJpZ2dlcihkYXRhOmFueSl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hdWRpdEFwaVVybH0vbWV0cmljcy9yZS10cmlnZ2VyYCxkYXRhKVxyXG4gfVxyXG4gZ2V0Zm9vdGZhbGxjb3VudChkYXRhOmFueSl7XHJcbiAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5yZXZvcEFwaVVybH0vc3RvcmUtcHJvY2Vzc2VkLWRhdGE/c3RvcmVJZD0ke2RhdGEuc3RvcmVJZH0mZnJvbURhdGU9JHtkYXRhLkRhdGV9JnRvRGF0ZT0ke2RhdGEuRGF0ZX1gKVxyXG4gIFxyXG4gfVxyXG4gZ2V0c3RvcmVMaXN0KGRhdGE6YW55KXtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hdWRpdEFwaVVybH0vYXVkaXQtc3RvcmVzYCxkYXRhKVxyXG4gfVxyXG4gY2hlY2tUaWNrZXRFeGlzdHMoZGF0YTphbnkpe1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS9jaGVja1RpY2tldEV4aXN0c2AsZGF0YSlcclxuIH1cclxuIG1lcmdldGlja2V0KGRhdGE6YW55KXtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vbWVyZ2V0aWNrZXRgLGRhdGEpXHJcbiB9XHJcbiAgZ2V0RGF0YU1pc21hdGhMaXN0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oXHJcbiAgICAgIGAke3RoaXMudGlja2V0c0FwaVVybH0vaW5mcmEvZGF0YU1pc21hdGNoVGFibGVgLFxyXG4gICAgICBkYXRhXHJcbiAgICApO1xyXG4gIH1cclxuICBhY2N1cmFjeVJlYXNvbnN1cGRhdGUoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihcclxuICAgICAgYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vdGFuZ28tcmV2aWV3LWFjY3VyYWN5LXRpY2tldGAsXHJcbiAgICAgIGRhdGFcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBleHBvcnREYXRhTWlzbWF0Y2hMaXN0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL2RhdGFNaXNtYXRjaFRhYmxlYCxcclxuICAgICAgZGF0YSxcclxuICAgICAgeyByZXNwb25zZVR5cGU6IFwiYXJyYXlidWZmZXJcIiB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldEF1ZGl0SW1hZ2VzKGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXVkaXRBcGlVcmx9L2F1ZGl0LWltYWdlcz9maWxlRGF0ZT0ke2RhdGE/LmZpbGVEYXRlfSZzdG9yZUlkPSR7ZGF0YT8uc3RvcmVJZH0maW1hZ2VUeXBlPSR7ZGF0YT8uaW1hZ2VUeXBlfSZleHBvcnQ9JHtkYXRhPy5leHBvcnR9JnpvbmVOYW1lPSR7ZGF0YT8uem9uZU5hbWV9Jm1vZHVsZVR5cGU9JHtkYXRhPy5tb2R1bGVUeXBlfWBcclxuICAgICk7XHJcbiAgfVxyXG4gIEV4cG9ydEF1ZGl0SW1hZ2VzYXN4bHN4KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuYXVkaXRBcGlVcmx9L2F1ZGl0LWltYWdlcz9maWxlRGF0ZT0ke2RhdGE/LmZpbGVEYXRlfSZzdG9yZUlkPSR7ZGF0YT8uc3RvcmVJZH0maW1hZ2VUeXBlPSR7ZGF0YT8uaW1hZ2VUeXBlfSZleHBvcnQ9JHtkYXRhPy5leHBvcnR9JnpvbmVOYW1lPSR7ZGF0YT8uem9uZU5hbWV9Jm1vZHVsZVR5cGU9JHtkYXRhPy5tb2R1bGVUeXBlfWAsXHJcbiAgICAgIHsgcmVzcG9uc2VUeXBlOiBcImFycmF5YnVmZmVyXCIgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFRpY2tldFN1bW1hcnlBcGkoXHJcbiAgICBjbGllbnQ6IGFueSxcclxuICAgIGZyb21EYXRlOiBhbnksXHJcbiAgICB0b0RhdGU6IGFueSxcclxuICAgIHRhbmdvVHlwZTphbnksXHJcbiAgICAgcGVybWlzc2lvblR5cGU/OiBzdHJpbmcgfCBudWxsLFxyXG4gICk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgbGV0IHVybCA9XHJcbiAgICBgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS90aWNrZXQtc3VtbWFyeT9gICtcclxuICAgIGBjbGllbnRJZD0ke2NsaWVudH1gICtcclxuICAgIGAmZnJvbURhdGU9JHtmcm9tRGF0ZX1gICtcclxuICAgIGAmdG9EYXRlPSR7dG9EYXRlfWAgK1xyXG4gICAgYCZ0YW5nb1R5cGU9JHt0YW5nb1R5cGV9YDtcclxuICAgIGlmIChwZXJtaXNzaW9uVHlwZSkge1xyXG4gICAgdXJsICs9IGAmcGVybWlzc2lvblR5cGU9JHtwZXJtaXNzaW9uVHlwZX1gO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKTtcclxuICB9XHJcbiAgYWNjdXJhY3lSZWFzb25zKFxyXG4gICAgY2xpZW50OiBhbnksXHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS9nZXQtYWNjdWFyY3ktaXNzdWVzP2NsaWVudElkPSR7Y2xpZW50fWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRUaWNrZXRMaXN0T2xkQXBpKFxyXG4gICAgY2xpZW50OiBhbnksXHJcbiAgICBmcm9tRGF0ZTogYW55LFxyXG4gICAgdG9EYXRlOiBhbnksXHJcbiAgICBzZWFyY2h2YWx1ZTogYW55LFxyXG4gICAgbGltaXQ6IGFueSxcclxuICAgIG9mZnNldDogYW55LFxyXG4gICAgaXNFeHBvcnQ6IGFueSxcclxuICAgIHNvcnRCeTogYW55LFxyXG4gICAgc29ydE9yZGVyOiBhbnlcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuZm9vdGZhbGxEaXJhcGlVcmx9L3RpY2tldC1saXN0P2NsaWVudElkPSR7Y2xpZW50fSZmcm9tRGF0ZT0ke2Zyb21EYXRlfSZ0b0RhdGU9JHt0b0RhdGV9JnNlYXJjaFZhbHVlPSR7c2VhcmNodmFsdWV9JmxpbWl0PSR7bGltaXR9Jm9mZnNldD0ke29mZnNldH0maXNFeHBvcnQ9JHtpc0V4cG9ydH0mc29ydEJ5PSR7c29ydEJ5fSZzb3J0T3JkZXI9JHtzb3J0T3JkZXJ9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG5nZXRUaWNrZXRMaXN0QXBpKFxyXG4gIGNsaWVudDogYW55LFxyXG4gIGZyb21EYXRlOiBhbnksXHJcbiAgdG9EYXRlOiBhbnksXHJcbiAgc2VhcmNodmFsdWU6IGFueSxcclxuICBsaW1pdDogYW55LFxyXG4gIG9mZnNldDogYW55LFxyXG4gIGlzRXhwb3J0OiBhbnksXHJcbiAgc29ydEJ5OiBhbnksXHJcbiAgc29ydE9yZGVyOiBhbnksXHJcbiAgdGFuZ29UeXBlOiBhbnksXHJcbiAgcGVybWlzc2lvblR5cGU/OiBzdHJpbmcgfCBudWxsLFxyXG4gIGZpbHRlcnM/OiB7XHJcbiAgICBmaWx0ZXJCeVN0YXR1czogYW55W107XHJcbiAgICBmaWx0ZXJCeVJldmlld2VyOiBhbnkgfCBudWxsO1xyXG4gICAgZmlsdGVyQnlBcHByb3ZlcjogYW55IHwgbnVsbDtcclxuICAgIGZpbHRlckJ5VGFuZ286IGFueSB8IG51bGw7XHJcbiAgICBmaWx0ZXJCeVJldmlld2VkQnk6IGFueVtdO1xyXG4gICAgZmlsZXRlckJ5QXBwcm92ZWRCeTogYW55W107XHJcbiAgfVxyXG4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gIGxldCB1cmwgPVxyXG4gICAgYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vdGlja2V0LWxpc3Q/YCArXHJcbiAgICBgY2xpZW50SWQ9JHtjbGllbnR9YCArXHJcbiAgICBgJmZyb21EYXRlPSR7ZnJvbURhdGV9YCArXHJcbiAgICBgJnRvRGF0ZT0ke3RvRGF0ZX1gICtcclxuICAgIGAmc2VhcmNoVmFsdWU9JHtzZWFyY2h2YWx1ZX1gICtcclxuICAgIGAmbGltaXQ9JHtsaW1pdH1gICtcclxuICAgIGAmb2Zmc2V0PSR7b2Zmc2V0fWAgK1xyXG4gICAgYCZpc0V4cG9ydD0ke2lzRXhwb3J0fWAgK1xyXG4gICAgYCZzb3J0Qnk9JHtzb3J0Qnl9YCArXHJcbiAgICBgJnNvcnRPcmRlcj0ke3NvcnRPcmRlcn1gICtcclxuICAgIGAmdGFuZ29UeXBlPSR7dGFuZ29UeXBlfWA7XHJcblxyXG4gIGlmIChwZXJtaXNzaW9uVHlwZSkge1xyXG4gICAgdXJsICs9IGAmcGVybWlzc2lvblR5cGU9JHtwZXJtaXNzaW9uVHlwZX1gO1xyXG4gIH1cclxuXHJcbiAgaWYgKGZpbHRlcnMpIHtcclxuICAgIC8vIGFycmF5IHBhcmFtcyDigJMgc2VuZCBhcyBjb21tYS1zZXBhcmF0ZWRcclxuICAgIGlmIChmaWx0ZXJzLmZpbHRlckJ5U3RhdHVzPy5sZW5ndGgpIHtcclxuICAgICAgdXJsICs9IGAmZmlsdGVyQnlTdGF0dXM9JHtlbmNvZGVVUklDb21wb25lbnQoZmlsdGVycy5maWx0ZXJCeVN0YXR1cy5qb2luKCcsJykpfWA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGZpbHRlcnMuZmlsdGVyQnlSZXZpZXdlZEJ5Py5sZW5ndGgpIHtcclxuICAgICAgdXJsICs9IGAmZmlsdGVyQnlSZXZpZXdlZEJ5PSR7ZW5jb2RlVVJJQ29tcG9uZW50KGZpbHRlcnMuZmlsdGVyQnlSZXZpZXdlZEJ5LmpvaW4oJywnKSl9YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZmlsdGVycy5maWxldGVyQnlBcHByb3ZlZEJ5Py5sZW5ndGgpIHtcclxuICAgICAgdXJsICs9IGAmZmlsZXRlckJ5QXBwcm92ZWRCeT0ke2VuY29kZVVSSUNvbXBvbmVudChmaWx0ZXJzLmZpbGV0ZXJCeUFwcHJvdmVkQnkuam9pbignLCcpKX1gO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHN0cmluZyBwYXJhbXMg4oCTIEpTT04gc3RyaW5naWZpZWQgYWNjdXJhY3lcclxuICAgIGlmIChmaWx0ZXJzLmZpbHRlckJ5UmV2aWV3ZXIpIHtcclxuICAgICAgdXJsICs9IGAmZmlsdGVyQnlSZXZpZXdlcj0ke2VuY29kZVVSSUNvbXBvbmVudChmaWx0ZXJzLmZpbHRlckJ5UmV2aWV3ZXIpfWA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGZpbHRlcnMuZmlsdGVyQnlBcHByb3Zlcikge1xyXG4gICAgICB1cmwgKz0gYCZmaWx0ZXJCeUFwcHJvdmVyPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGZpbHRlcnMuZmlsdGVyQnlBcHByb3Zlcil9YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZmlsdGVycy5maWx0ZXJCeVRhbmdvKSB7XHJcbiAgICAgIHVybCArPSBgJmZpbHRlckJ5VGFuZ289JHtlbmNvZGVVUklDb21wb25lbnQoZmlsdGVycy5maWx0ZXJCeVRhbmdvKX1gO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKTtcclxufVxyXG5cclxuXHJcbiAgZ2V0VGlja2V0TGlzdEV4cG9ydE9sZEFwaShcclxuICAgIGNsaWVudDogYW55LFxyXG4gICAgZnJvbURhdGU6IGFueSxcclxuICAgIHRvRGF0ZTogYW55LFxyXG4gICAgc2VhcmNodmFsdWU6IGFueSxcclxuICAgIGxpbWl0OiBhbnksXHJcbiAgICBvZmZzZXQ6IGFueSxcclxuICAgIGlzRXhwb3J0OiBhbnksXHJcbiAgICBzb3J0Qnk6IGFueSxcclxuICAgIHNvcnRPcmRlcjogYW55XHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG4gICAgICBgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS90aWNrZXQtbGlzdD9jbGllbnRJZD0ke2NsaWVudH0mZnJvbURhdGU9JHtmcm9tRGF0ZX0mdG9EYXRlPSR7dG9EYXRlfSZzZWFyY2hWYWx1ZT0ke3NlYXJjaHZhbHVlfSZsaW1pdD0ke2xpbWl0fSZvZmZzZXQ9JHtvZmZzZXR9JmlzRXhwb3J0PSR7aXNFeHBvcnR9JnNvcnRCeT0ke3NvcnRCeX0mc29ydE9yZGVyPSR7c29ydE9yZGVyfWAsXHJcbiAgICAgIHsgcmVzcG9uc2VUeXBlOiBcImFycmF5YnVmZmVyXCIgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG5nZXRUaWNrZXRMaXN0RXhwb3J0QXBpKFxyXG4gIGNsaWVudDogYW55LFxyXG4gIGZyb21EYXRlOiBhbnksXHJcbiAgdG9EYXRlOiBhbnksXHJcbiAgc2VhcmNodmFsdWU6IGFueSxcclxuICBsaW1pdDogYW55LFxyXG4gIG9mZnNldDogYW55LFxyXG4gIGlzRXhwb3J0OiBhbnksXHJcbiAgc29ydEJ5OiBhbnksXHJcbiAgc29ydE9yZGVyOiBhbnksXHJcbiAgdGFuZ29UeXBlOiBhbnksXHJcbiAgcGVybWlzc2lvblR5cGU/OiBzdHJpbmcgfCBudWxsLFxyXG4gIGZpbHRlcnM/OiB7XHJcbiAgICBmaWx0ZXJCeVN0YXR1cz86IHN0cmluZ1tdO1xyXG4gICAgZmlsdGVyQnlSZXZpZXdlcj86IHN0cmluZyB8IG51bGw7XHJcbiAgICBmaWx0ZXJCeUFwcHJvdmVyPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIGZpbHRlckJ5VGFuZ28/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgZmlsdGVyQnlSZXZpZXdlZEJ5Pzogc3RyaW5nW107XHJcbiAgICBmaWxldGVyQnlBcHByb3ZlZEJ5Pzogc3RyaW5nW107XHJcbiAgfVxyXG4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gIGxldCB1cmwgPVxyXG4gICAgYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vdGlja2V0LWxpc3Q/YCArXHJcbiAgICBgY2xpZW50SWQ9JHtjbGllbnR9YCArXHJcbiAgICBgJmZyb21EYXRlPSR7ZnJvbURhdGV9YCArXHJcbiAgICBgJnRvRGF0ZT0ke3RvRGF0ZX1gICtcclxuICAgIGAmc2VhcmNoVmFsdWU9JHtzZWFyY2h2YWx1ZX1gICtcclxuICAgIGAmbGltaXQ9JHtsaW1pdH1gICtcclxuICAgIGAmb2Zmc2V0PSR7b2Zmc2V0fWAgK1xyXG4gICAgYCZpc0V4cG9ydD0ke2lzRXhwb3J0fWAgK1xyXG4gICAgYCZzb3J0Qnk9JHtzb3J0Qnl9YCArXHJcbiAgICBgJnNvcnRPcmRlcj0ke3NvcnRPcmRlcn1gICtcclxuICAgIGAmdGFuZ29UeXBlPSR7dGFuZ29UeXBlfWA7XHJcblxyXG4gIGlmIChwZXJtaXNzaW9uVHlwZSkge1xyXG4gICAgdXJsICs9IGAmcGVybWlzc2lvblR5cGU9JHtwZXJtaXNzaW9uVHlwZX1gO1xyXG4gIH1cclxuXHJcbiAgaWYgKGZpbHRlcnMpIHtcclxuICAgIGlmIChmaWx0ZXJzLmZpbHRlckJ5U3RhdHVzPy5sZW5ndGgpIHtcclxuICAgICAgdXJsICs9IGAmZmlsdGVyQnlTdGF0dXM9JHtlbmNvZGVVUklDb21wb25lbnQoZmlsdGVycy5maWx0ZXJCeVN0YXR1cy5qb2luKCcsJykpfWA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGZpbHRlcnMuZmlsdGVyQnlSZXZpZXdlZEJ5Py5sZW5ndGgpIHtcclxuICAgICAgdXJsICs9IGAmZmlsdGVyQnlSZXZpZXdlZEJ5PSR7ZW5jb2RlVVJJQ29tcG9uZW50KGZpbHRlcnMuZmlsdGVyQnlSZXZpZXdlZEJ5LmpvaW4oJywnKSl9YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZmlsdGVycy5maWxldGVyQnlBcHByb3ZlZEJ5Py5sZW5ndGgpIHtcclxuICAgICAgdXJsICs9IGAmZmlsZXRlckJ5QXBwcm92ZWRCeT0ke2VuY29kZVVSSUNvbXBvbmVudChmaWx0ZXJzLmZpbGV0ZXJCeUFwcHJvdmVkQnkuam9pbignLCcpKX1gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChmaWx0ZXJzLmZpbHRlckJ5UmV2aWV3ZXIpIHtcclxuICAgICAgdXJsICs9IGAmZmlsdGVyQnlSZXZpZXdlcj0ke2VuY29kZVVSSUNvbXBvbmVudChmaWx0ZXJzLmZpbHRlckJ5UmV2aWV3ZXIpfWA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGZpbHRlcnMuZmlsdGVyQnlBcHByb3Zlcikge1xyXG4gICAgICB1cmwgKz0gYCZmaWx0ZXJCeUFwcHJvdmVyPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGZpbHRlcnMuZmlsdGVyQnlBcHByb3Zlcil9YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZmlsdGVycy5maWx0ZXJCeVRhbmdvKSB7XHJcbiAgICAgIHVybCArPSBgJmZpbHRlckJ5VGFuZ289JHtlbmNvZGVVUklDb21wb25lbnQoZmlsdGVycy5maWx0ZXJCeVRhbmdvKX1gO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3Qgb3B0aW9ucyA9IGlzRXhwb3J0XHJcbiAgICA/IHsgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInIGFzICdqc29uJyB9XHJcbiAgICA6IHt9O1xyXG5cclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwsIG9wdGlvbnMpO1xyXG59XHJcblxyXG5cclxuICBnZXRUaWNrZXRzQXBpKFxyXG4gICAgc3RvcmU6IGFueSxcclxuICAgIGZyb21EYXRlOiBhbnksXHJcbiAgICB0b0RhdGU6IGFueSxcclxuICAgIHJldm9wc1R5cGU6IGFueSxcclxuICAgIHN0YXR1czogYW55LFxyXG4gICAgYWN0aW9uOiBhbnksXHJcbiAgICBvZmZzZXQ6IGFueSxcclxuICAgIGxpbWl0OiBhbnlcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcclxuICAgICAgLnNldChcInN0b3JlSWRcIiwgc3RvcmUpXHJcbiAgICAgIC5zZXQoXCJmcm9tRGF0ZVwiLCBmcm9tRGF0ZSlcclxuICAgICAgLnNldChcInRvRGF0ZVwiLCB0b0RhdGUpXHJcbiAgICAgIC5zZXQoXCJvZmZzZXRcIiwgb2Zmc2V0KVxyXG4gICAgICAuc2V0KFwibGltaXRcIiwgbGltaXQpO1xyXG4gICAgaWYgKHJldm9wc1R5cGUpIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChcInJldm9wc1R5cGVcIiwgcmV2b3BzVHlwZSk7XHJcbiAgICB9XHJcbiAgICBpZiAoc3RhdHVzKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoXCJzdGF0dXNcIiwgc3RhdHVzKTtcclxuICAgIH1cclxuICAgIGlmIChhY3Rpb24pIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChcImFjdGlvblwiLCBhY3Rpb24pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vZ2V0LXRpY2tldHNgLCB7IHBhcmFtcyB9KTtcclxuICB9XHJcblxyXG4gIGdldFRpY2tldHNOZXdBcGkodGlja2V0SWQ6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoXCJ0aWNrZXRJZFwiLCB0aWNrZXRJZCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS9nZXQtdGlja2V0c2AsIHsgcGFyYW1zIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGFnZ2VkU3RvcmVzQXBpKFxyXG4gICAgY2xpZW50OiBhbnksXHJcbiAgICBmcm9tRGF0ZTogYW55LFxyXG4gICAgdG9EYXRlOiBhbnksXHJcbiAgICBzZWFyY2hWYWx1ZTogYW55LFxyXG4gICAgY2x1c3RlcnM6IGFueSxcclxuICAgIHNvcnRPcmRlcjogYW55XHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICAgIC5zZXQoXCJjbGllbnRJZFwiLCBjbGllbnQpXHJcbiAgICAgIC5zZXQoXCJmcm9tRGF0ZVwiLCBmcm9tRGF0ZSlcclxuICAgICAgLnNldChcInRvRGF0ZVwiLCB0b0RhdGUpOyAvLyBBZGQgc2VhcmNoVmFsdWUgYXMgYW4gZW1wdHkgc3RyaW5nIGlmIG5vdCBwcm92aWRlZFxyXG4gICAgLy8gT25seSBhZGQgJ2NsdXN0ZXJzJyBpZiBpdCdzIG5vdCBudWxsLCB1bmRlZmluZWQsIG9yIGFuIGVtcHR5IGFycmF5L3N0cmluZ1xyXG4gICAgaWYgKHNlYXJjaFZhbHVlKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoXCJzZWFyY2hWYWx1ZVwiLCBzZWFyY2hWYWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNsdXN0ZXJzICYmIGNsdXN0ZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChcImNsdXN0ZXJzXCIsIGNsdXN0ZXJzKTtcclxuICAgIH1cclxuICAgIGlmIChzb3J0T3JkZXIpIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChcInNvcnRPcmRlclwiLCBzb3J0T3JkZXIpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vZ2V0LXRhZ2dlZC1zdG9yZXNgLCB7XHJcbiAgICAgIHBhcmFtcyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXBkYXRlU3RhdHVzQXBpKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS91cGRhdGUtc3RhdHVzYDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHVybCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICBnZXRVcGRhdGVUZW1wU3RhdHVzQXBpKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vdXBkYXRlLXRlbXAtc3RhdHVzYCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICBnZXRPcGVuVGlja2V0TGlzdEFwaShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZm9vdGZhbGxEaXJhcGlVcmx9L29wZW4tdGlja2V0LWxpc3RgLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIGdldFVwZGF0ZVRpY2tldFN0YXR1c0FwaShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS91cGRhdGUtdGlja2V0LXN0YXR1c2AsXHJcbiAgICAgIGRhdGFcclxuICAgICk7XHJcbiAgfVxyXG5cclxuZ2V0Q3JlYXRlVGlja2V0TGlzdEFwaShkYXRhOmFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZm9vdGZhbGxEaXJhcGlVcmx9L2NyZWF0ZS10aWNrZXRgLCBkYXRhKTtcclxufVxyXG5DcmVhdGVpbnRlcm5hbFRpY2tldEFwaShkYXRhOmFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZm9vdGZhbGxEaXJhcGlVcmx9L2NyZWF0ZS1pbnRlcm5hbHRpY2tldGAsIGRhdGEpO1xyXG59XHJcbiAgZ2V0Y2x1c3RlcnMoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmFmZmljQXBpVXJsfS9oZWFkZXJjbHVzdGVyX3YyYCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICBnZXRSZXZpZXdlckFwaShjbGllbnRJZDogYW55LHR5cGU6YW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldChcImNsaWVudElkXCIsIGNsaWVudElkKVxyXG4gICAgICAuc2V0KFwidHlwZVwiLHR5cGUpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vcmV2aWV3ZXItbGlzdGAsIHsgcGFyYW1zIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGlja2V0QXNzaWduQXBpKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vYXNzaWduLXRpY2tldGAsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TXVsdGlDbG9zZVRpY2tldEFwaShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS9tdWx0aS1jbG9zZS10aWNrZXRzYCxcclxuICAgICAgZGF0YVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFR5cGVGdW5jdGlvbihjbGllbnRJZDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldChcImNsaWVudElkXCIsIGNsaWVudElkKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuY2xpZW50QXBpVXJsfS9nZXQtZm9vdGZhbGwtZGlyZWN0b3J5LWNvbmZpZ2AsIHsgcGFyYW1zIH0pO1xyXG5cclxuICAgIFxyXG4gIH1cclxuICBwcml2YXRlIGZvb3RmYWxsRGF0YTogYW55O1xyXG5cclxuICBzZXRGb290ZmFsbERhdGEoZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLmZvb3RmYWxsRGF0YSA9IGRhdGE7XHJcbiAgfVxyXG5cclxuICBnZXRGb290ZmFsbERhdGEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb290ZmFsbERhdGE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,84 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { interval, BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/router";
5
- export class TimerService {
6
- route;
7
- timePassed = new BehaviorSubject(0); // Timer count
8
- subscription = null; // Timer subscription
9
- inactivityTimeout = null; // Timeout for inactivity
10
- INACTIVITY_LIMIT = 5000;
11
- constructor(route) {
12
- this.route = route;
13
- }
14
- startTimer() {
15
- if (!this.subscription) {
16
- let currentTime = 0;
17
- let timeSpent;
18
- if ('timeSpent' in sessionStorage) {
19
- timeSpent = JSON.parse(sessionStorage.getItem('timeSpent') || '{}');
20
- currentTime = timeSpent || 0; // Retrieve the existing timer value
21
- }
22
- const timer$ = interval(1000); // Emits every 1 second
23
- this.subscription = timer$.subscribe(() => {
24
- currentTime += 1;
25
- this.timePassed.next(currentTime);
26
- timeSpent = currentTime;
27
- sessionStorage.setItem('timeSpent', JSON.stringify(timeSpent)); // Store the updated object
28
- });
29
- }
30
- this.resetInactivityTimeout();
31
- }
32
- stopTimer() {
33
- if (this.subscription) {
34
- this.subscription.unsubscribe();
35
- this.subscription = null;
36
- }
37
- }
38
- stopTimerAfterInactivity() {
39
- this.inactivityTimeout = setTimeout(() => {
40
- this.stopTimer(); // Stop the timer after inactivity
41
- }, this.INACTIVITY_LIMIT);
42
- }
43
- resetInactivityTimeout() {
44
- if (this.inactivityTimeout) {
45
- clearTimeout(this.inactivityTimeout); // Clear the previous inactivity timeout
46
- }
47
- this.stopTimerAfterInactivity(); // Set a new inactivity timeout
48
- }
49
- getTimePassed() {
50
- return this.timePassed;
51
- }
52
- clearTimer() {
53
- if (this.subscription) {
54
- this.subscription.unsubscribe();
55
- this.subscription = null;
56
- }
57
- // this.timePassed.next(0); // Optionally reset the timePassed
58
- // sessionStorage.removeItem('totalfiles'); // Optionally clear session storage
59
- // sessionStorage.removeItem('timeSpent')
60
- }
61
- resetTimer() {
62
- this.timePassed.next(0); // Reset to 0
63
- // this.resetInactivityTimeout(); // Reset inactivity timeout
64
- }
65
- formatTime(seconds) {
66
- const hours = Math.floor(seconds / 3600);
67
- const minutes = Math.floor((seconds % 3600) / 60);
68
- const secs = seconds % 60;
69
- return `${this.padZero(hours)}:${this.padZero(minutes)}:${this.padZero(secs)}`;
70
- }
71
- // Helper method to pad single digit numbers with a leading zero
72
- padZero(num) {
73
- return num < 10 ? '0' + num : '' + num;
74
- }
75
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TimerService, deps: [{ token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
76
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TimerService, providedIn: 'root' });
77
- }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TimerService, decorators: [{
79
- type: Injectable,
80
- args: [{
81
- providedIn: 'root'
82
- }]
83
- }], ctorParameters: () => [{ type: i1.ActivatedRoute }] });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS10aWNrZXRzL3NyYy9saWIvc2VydmljZXMvdGltZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFZLGVBQWUsRUFBZSxNQUFNLE1BQU0sQ0FBQzs7O0FBTXhFLE1BQU0sT0FBTyxZQUFZO0lBT0g7SUFMWixVQUFVLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBRSxjQUFjO0lBQzVELFlBQVksR0FBd0IsSUFBSSxDQUFDLENBQUkscUJBQXFCO0lBQ2xFLGlCQUFpQixHQUFRLElBQUksQ0FBQyxDQUFlLHlCQUF5QjtJQUN0RSxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFFaEMsWUFBb0IsS0FBb0I7UUFBcEIsVUFBSyxHQUFMLEtBQUssQ0FBZTtJQUV2QyxDQUFDO0lBRUQsVUFBVTtRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQztZQUNwQixJQUFJLFNBQWMsQ0FBQztZQUNuQixJQUFJLFdBQVcsSUFBSSxjQUFjLEVBQUU7Z0JBQ2pDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7Z0JBQ3BFLFdBQVcsR0FBRyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUUsb0NBQW9DO2FBQ3BFO1lBRUQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUUsdUJBQXVCO1lBRXZELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3hDLFdBQVcsSUFBSSxDQUFDLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNsQyxTQUFTLEdBQUcsV0FBVyxDQUFDO2dCQUN4QixjQUFjLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBRSwyQkFBMkI7WUFDOUYsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFFLGtDQUFrQztRQUN2RCxDQUFDLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBRSx3Q0FBd0M7U0FDaEY7UUFDRCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxDQUFFLCtCQUErQjtJQUNuRSxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUEsVUFBVTtRQUNULElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzFCO1FBQ0QsK0RBQStEO1FBQy9ELGdGQUFnRjtRQUNoRix5Q0FBeUM7SUFDM0MsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFFLGFBQWE7UUFDdkMsOERBQThEO0lBQ2hFLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN6QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sSUFBSSxHQUFHLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFFMUIsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakYsQ0FBQztJQUVELGdFQUFnRTtJQUN4RCxPQUFPLENBQUMsR0FBVztRQUN6QixPQUFPLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUM7SUFDekMsQ0FBQzt3R0FsRlUsWUFBWTs0R0FBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCxPYnNlcnZhYmxlLEJlaGF2aW9yU3ViamVjdCxTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUm91dGVyLEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbWVyU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgdGltZVBhc3NlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTsgIC8vIFRpbWVyIGNvdW50XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsOyAgICAvLyBUaW1lciBzdWJzY3JpcHRpb25cclxuICBwcml2YXRlIGluYWN0aXZpdHlUaW1lb3V0OiBhbnkgPSBudWxsOyAgICAgICAgICAgICAgIC8vIFRpbWVvdXQgZm9yIGluYWN0aXZpdHlcclxuICBwcml2YXRlIElOQUNUSVZJVFlfTElNSVQgPSA1MDAwO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlOkFjdGl2YXRlZFJvdXRlKSB7XHJcbiAgICAgIFxyXG4gICB9XHJcblxyXG4gICBzdGFydFRpbWVyKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnN1YnNjcmlwdGlvbikge1xyXG4gICAgICBsZXQgY3VycmVudFRpbWUgPSAwO1xyXG4gICAgICBsZXQgdGltZVNwZW50OiBhbnk7XHJcbiAgICAgIGlmICgndGltZVNwZW50JyBpbiBzZXNzaW9uU3RvcmFnZSkge1xyXG4gICAgICAgIHRpbWVTcGVudCA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndGltZVNwZW50JykgfHwgJ3t9Jyk7XHJcbiAgICAgICAgY3VycmVudFRpbWUgPSB0aW1lU3BlbnQgfHwgMDsgIC8vIFJldHJpZXZlIHRoZSBleGlzdGluZyB0aW1lciB2YWx1ZVxyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIGNvbnN0IHRpbWVyJCA9IGludGVydmFsKDEwMDApOyAgLy8gRW1pdHMgZXZlcnkgMSBzZWNvbmRcclxuICBcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aW1lciQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBjdXJyZW50VGltZSArPSAxOyBcclxuICAgICAgICB0aGlzLnRpbWVQYXNzZWQubmV4dChjdXJyZW50VGltZSk7IFxyXG4gICAgICAgIHRpbWVTcGVudCA9IGN1cnJlbnRUaW1lO1xyXG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3RpbWVTcGVudCcsIEpTT04uc3RyaW5naWZ5KHRpbWVTcGVudCkpOyAgLy8gU3RvcmUgdGhlIHVwZGF0ZWQgb2JqZWN0XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXNldEluYWN0aXZpdHlUaW1lb3V0KCk7XHJcbiAgfVxyXG5cclxuICBzdG9wVGltZXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RvcFRpbWVyQWZ0ZXJJbmFjdGl2aXR5KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbmFjdGl2aXR5VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnN0b3BUaW1lcigpOyAgLy8gU3RvcCB0aGUgdGltZXIgYWZ0ZXIgaW5hY3Rpdml0eVxyXG4gICAgfSwgdGhpcy5JTkFDVElWSVRZX0xJTUlUKTtcclxuICB9XHJcblxyXG4gIHJlc2V0SW5hY3Rpdml0eVRpbWVvdXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pbmFjdGl2aXR5VGltZW91dCkge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5pbmFjdGl2aXR5VGltZW91dCk7ICAvLyBDbGVhciB0aGUgcHJldmlvdXMgaW5hY3Rpdml0eSB0aW1lb3V0XHJcbiAgICB9XHJcbiAgICB0aGlzLnN0b3BUaW1lckFmdGVySW5hY3Rpdml0eSgpOyAgLy8gU2V0IGEgbmV3IGluYWN0aXZpdHkgdGltZW91dFxyXG4gIH1cclxuXHJcbiAgZ2V0VGltZVBhc3NlZCgpOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gdGhpcy50aW1lUGFzc2VkO1xyXG4gIH1cclxuXHJcbiAgIGNsZWFyVGltZXIoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsO1xyXG4gICAgfVxyXG4gICAgLy8gdGhpcy50aW1lUGFzc2VkLm5leHQoMCk7ICAvLyBPcHRpb25hbGx5IHJlc2V0IHRoZSB0aW1lUGFzc2VkXHJcbiAgICAvLyBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCd0b3RhbGZpbGVzJyk7ICAvLyBPcHRpb25hbGx5IGNsZWFyIHNlc3Npb24gc3RvcmFnZVxyXG4gICAgLy8gc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgndGltZVNwZW50JylcclxuICB9XHJcblxyXG4gIHJlc2V0VGltZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpbWVQYXNzZWQubmV4dCgwKTsgIC8vIFJlc2V0IHRvIDBcclxuICAgIC8vIHRoaXMucmVzZXRJbmFjdGl2aXR5VGltZW91dCgpOyAgLy8gUmVzZXQgaW5hY3Rpdml0eSB0aW1lb3V0XHJcbiAgfVxyXG5cclxuICBmb3JtYXRUaW1lKHNlY29uZHM6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBjb25zdCBob3VycyA9IE1hdGguZmxvb3Ioc2Vjb25kcyAvIDM2MDApO1xyXG4gICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IoKHNlY29uZHMgJSAzNjAwKSAvIDYwKTtcclxuICAgIGNvbnN0IHNlY3MgPSBzZWNvbmRzICUgNjA7XHJcblxyXG4gICAgcmV0dXJuIGAke3RoaXMucGFkWmVybyhob3Vycyl9OiR7dGhpcy5wYWRaZXJvKG1pbnV0ZXMpfToke3RoaXMucGFkWmVybyhzZWNzKX1gO1xyXG4gIH1cclxuXHJcbiAgLy8gSGVscGVyIG1ldGhvZCB0byBwYWQgc2luZ2xlIGRpZ2l0IG51bWJlcnMgd2l0aCBhIGxlYWRpbmcgemVyb1xyXG4gIHByaXZhdGUgcGFkWmVybyhudW06IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbnVtIDwgMTAgPyAnMCcgKyBudW0gOiAnJyArIG51bTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,44 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { RouterModule } from '@angular/router';
3
- import { TangoManageTicketsComponent } from './components/tango-manage-tickets/tango-manage-tickets.component';
4
- import { FootfallDicviewComponent } from './components/footfall-dicview/footfall-dicview.component';
5
- import { StartAuditComponent } from './components/start-audit/start-audit.component';
6
- import { AuditMappingListComponent } from './components/audit-mapping-list/audit-mapping-list.component';
7
- import { AuditRetagComponent } from './components/audit-retag/audit-retag.component';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/router";
10
- const routes = [
11
- {
12
- path: '',
13
- component: TangoManageTicketsComponent
14
- },
15
- {
16
- path: 'list',
17
- component: FootfallDicviewComponent
18
- },
19
- {
20
- path: "audit",
21
- component: StartAuditComponent
22
- },
23
- {
24
- path: "mapping-list",
25
- component: AuditMappingListComponent
26
- },
27
- {
28
- path: 'retag-mapping',
29
- component: AuditRetagComponent
30
- },
31
- ];
32
- export class TangoManageTicketsRoutingModule {
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoManageTicketsRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
34
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TangoManageTicketsRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
35
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoManageTicketsRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoManageTicketsRoutingModule, decorators: [{
38
- type: NgModule,
39
- args: [{
40
- imports: [RouterModule.forChild(routes)],
41
- exports: [RouterModule]
42
- }]
43
- }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tbWFuYWdlLXRpY2tldHMtcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2UtdGlja2V0cy9zcmMvbGliL3RhbmdvLW1hbmFnZS10aWNrZXRzLXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7QUFHckYsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUMsRUFBRTtRQUNQLFNBQVMsRUFBQywyQkFBMkI7S0FDdEM7SUFDRDtRQUNJLElBQUksRUFBRSxNQUFNO1FBQ1osU0FBUyxFQUFFLHdCQUF3QjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFDLE9BQU87UUFDWixTQUFTLEVBQUMsbUJBQW1CO0tBQzlCO0lBQ0Q7UUFDRSxJQUFJLEVBQUMsY0FBYztRQUNuQixTQUFTLEVBQUMseUJBQXlCO0tBQ3BDO0lBQ0E7UUFDRyxJQUFJLEVBQUMsZUFBZTtRQUNwQixTQUFTLEVBQUMsbUJBQW1CO0tBQzlCO0NBQ0osQ0FBQztBQU1GLE1BQU0sT0FBTywrQkFBK0I7d0dBQS9CLCtCQUErQjt5R0FBL0IsK0JBQStCLHdDQUZoQyxZQUFZO3lHQUVYLCtCQUErQixZQUhoQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUM3QixZQUFZOzs0RkFFWCwrQkFBK0I7a0JBSjNDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgVGFuZ29NYW5hZ2VUaWNrZXRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhbmdvLW1hbmFnZS10aWNrZXRzL3RhbmdvLW1hbmFnZS10aWNrZXRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvb3RmYWxsRGljdmlld0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mb290ZmFsbC1kaWN2aWV3L2Zvb3RmYWxsLWRpY3ZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3RhcnRBdWRpdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zdGFydC1hdWRpdC9zdGFydC1hdWRpdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdWRpdE1hcHBpbmdMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2F1ZGl0LW1hcHBpbmctbGlzdC9hdWRpdC1tYXBwaW5nLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXVkaXRSZXRhZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hdWRpdC1yZXRhZy9hdWRpdC1yZXRhZy5jb21wb25lbnQnO1xyXG5cclxuXHJcbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xyXG4gIHtcclxuICAgIHBhdGg6JycsXHJcbiAgICBjb21wb25lbnQ6VGFuZ29NYW5hZ2VUaWNrZXRzQ29tcG9uZW50XHJcbiAgfSxcclxuICB7XHJcbiAgICAgIHBhdGg6ICdsaXN0JyxcclxuICAgICAgY29tcG9uZW50OiBGb290ZmFsbERpY3ZpZXdDb21wb25lbnRcclxuICB9LFxyXG4gIHtcclxuICAgIHBhdGg6XCJhdWRpdFwiLFxyXG4gICAgY29tcG9uZW50OlN0YXJ0QXVkaXRDb21wb25lbnRcclxuICB9LFxyXG4gIHtcclxuICAgIHBhdGg6XCJtYXBwaW5nLWxpc3RcIixcclxuICAgIGNvbXBvbmVudDpBdWRpdE1hcHBpbmdMaXN0Q29tcG9uZW50XHJcbiAgfSxcclxuICAge1xyXG4gICAgICBwYXRoOidyZXRhZy1tYXBwaW5nJyxcclxuICAgICAgY29tcG9uZW50OkF1ZGl0UmV0YWdDb21wb25lbnQgXHJcbiAgICB9LFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxyXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYW5nb01hbmFnZVRpY2tldHNSb3V0aW5nTW9kdWxlIHsgfVxyXG4iXX0=