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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/esm2022/lib/components/add-csm-modal/add-csm-modal.component.mjs +98 -0
  2. package/esm2022/lib/components/audit-log/audit-log.component.mjs +11 -0
  3. package/esm2022/lib/components/audit-mapping-list/audit-mapping-list.component.mjs +486 -0
  4. package/esm2022/lib/components/audit-metrics/audit-metrics.component.mjs +298 -0
  5. package/esm2022/lib/components/audit-report-popup/audit-report-popup.component.mjs +389 -0
  6. package/esm2022/lib/components/audit-retag/audit-retag.component.mjs +472 -0
  7. package/esm2022/lib/components/comment-model/comment-model.component.mjs +58 -0
  8. package/esm2022/lib/components/count/count.component.mjs +89 -0
  9. package/esm2022/lib/components/custom-select/custom-select.component.mjs +187 -0
  10. package/esm2022/lib/components/filter-options/filter-options.component.mjs +41 -0
  11. package/esm2022/lib/components/footfall-dic/footfall-dic.component.mjs +1061 -0
  12. package/esm2022/lib/components/footfall-dicview/footfall-dicview.component.mjs +1014 -0
  13. package/esm2022/lib/components/footfall-popup/footfall-popup.component.mjs +15 -0
  14. package/esm2022/lib/components/group-select/group-select.component.mjs +155 -0
  15. package/esm2022/lib/components/re-trigger/re-trigger.component.mjs +96 -0
  16. package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +108 -0
  17. package/esm2022/lib/components/remove-audit/remove-audit.component.mjs +81 -0
  18. package/esm2022/lib/components/start-audit/start-audit.component.mjs +761 -0
  19. package/esm2022/lib/components/tango-manage-tickets/tango-manage-tickets.component.mjs +131 -0
  20. package/esm2022/lib/components/ticket-filter-panel/ticket-filter-panel.component.mjs +435 -0
  21. package/esm2022/lib/components/ticket-footfall-new/ticket-footfall-new.component.mjs +2748 -0
  22. package/esm2022/lib/components/ticketclosepopup/ticketclosepopup.component.mjs +43 -0
  23. package/esm2022/lib/components/tickets/tickets.component.mjs +847 -0
  24. package/esm2022/lib/components/viewcategory/viewcategory.component.mjs +89 -0
  25. package/esm2022/lib/services/audit.service.mjs +88 -0
  26. package/esm2022/lib/services/excel.service.mjs +45 -0
  27. package/esm2022/lib/services/ticket.service.mjs +319 -0
  28. package/esm2022/lib/services/timer.service.mjs +84 -0
  29. package/esm2022/lib/tango-manage-tickets-routing.module.mjs +44 -0
  30. package/esm2022/lib/tango-manage-tickets.module.mjs +109 -0
  31. package/esm2022/public-api.mjs +6 -0
  32. package/esm2022/tango-app-ui-manage-tickets.mjs +5 -0
  33. package/fesm2022/tango-app-ui-manage-tickets.mjs +10165 -0
  34. package/fesm2022/tango-app-ui-manage-tickets.mjs.map +1 -0
  35. package/index.d.ts +5 -0
  36. package/lib/components/add-csm-modal/add-csm-modal.component.d.ts +30 -0
  37. package/lib/components/audit-log/audit-log.component.d.ts +5 -0
  38. package/lib/components/audit-mapping-list/audit-mapping-list.component.d.ts +73 -0
  39. package/lib/components/audit-metrics/audit-metrics.component.d.ts +59 -0
  40. package/lib/components/audit-report-popup/audit-report-popup.component.d.ts +52 -0
  41. package/lib/components/audit-retag/audit-retag.component.d.ts +59 -0
  42. package/lib/components/comment-model/comment-model.component.d.ts +17 -0
  43. package/lib/components/count/count.component.d.ts +23 -0
  44. package/lib/components/custom-select/custom-select.component.d.ts +35 -0
  45. package/lib/components/filter-options/filter-options.component.d.ts +15 -0
  46. package/lib/components/footfall-dic/footfall-dic.component.d.ts +143 -0
  47. package/lib/components/footfall-dicview/footfall-dicview.component.d.ts +132 -0
  48. package/lib/components/footfall-popup/footfall-popup.component.d.ts +8 -0
  49. package/lib/components/group-select/group-select.component.d.ts +33 -0
  50. package/lib/components/re-trigger/re-trigger.component.d.ts +32 -0
  51. package/lib/components/reactive-select/reactive-select.component.d.ts +32 -0
  52. package/lib/components/remove-audit/remove-audit.component.d.ts +16 -0
  53. package/lib/components/start-audit/start-audit.component.d.ts +86 -0
  54. package/lib/components/tango-manage-tickets/tango-manage-tickets.component.d.ts +28 -0
  55. package/lib/components/ticket-filter-panel/ticket-filter-panel.component.d.ts +79 -0
  56. package/lib/components/ticket-footfall-new/ticket-footfall-new.component.d.ts +287 -0
  57. package/lib/components/ticketclosepopup/ticketclosepopup.component.d.ts +15 -0
  58. package/lib/components/tickets/tickets.component.d.ts +88 -0
  59. package/lib/components/viewcategory/viewcategory.component.d.ts +16 -0
  60. package/lib/services/audit.service.d.ts +36 -0
  61. package/lib/services/excel.service.d.ts +10 -0
  62. package/lib/services/ticket.service.d.ts +87 -0
  63. package/lib/services/timer.service.d.ts +22 -0
  64. package/lib/tango-manage-tickets-routing.module.d.ts +7 -0
  65. package/lib/tango-manage-tickets.module.d.ts +38 -0
  66. package/package.json +25 -12
  67. package/{src/public-api.ts → public-api.d.ts} +2 -8
  68. package/.eslintrc.json +0 -37
  69. package/ng-package.json +0 -7
  70. package/src/lib/components/add-csm-modal/add-csm-modal.component.html +0 -32
  71. package/src/lib/components/add-csm-modal/add-csm-modal.component.scss +0 -14
  72. package/src/lib/components/add-csm-modal/add-csm-modal.component.spec.ts +0 -23
  73. package/src/lib/components/add-csm-modal/add-csm-modal.component.ts +0 -94
  74. package/src/lib/components/audit-log/audit-log.component.html +0 -1
  75. package/src/lib/components/audit-log/audit-log.component.scss +0 -0
  76. package/src/lib/components/audit-log/audit-log.component.spec.ts +0 -23
  77. package/src/lib/components/audit-log/audit-log.component.ts +0 -10
  78. package/src/lib/components/audit-mapping-list/audit-mapping-list.component.html +0 -234
  79. package/src/lib/components/audit-mapping-list/audit-mapping-list.component.scss +0 -186
  80. package/src/lib/components/audit-mapping-list/audit-mapping-list.component.spec.ts +0 -23
  81. package/src/lib/components/audit-mapping-list/audit-mapping-list.component.ts +0 -520
  82. package/src/lib/components/audit-metrics/audit-metrics.component.html +0 -345
  83. package/src/lib/components/audit-metrics/audit-metrics.component.scss +0 -34
  84. package/src/lib/components/audit-metrics/audit-metrics.component.spec.ts +0 -23
  85. package/src/lib/components/audit-metrics/audit-metrics.component.ts +0 -292
  86. package/src/lib/components/audit-report-popup/audit-report-popup.component.html +0 -111
  87. package/src/lib/components/audit-report-popup/audit-report-popup.component.scss +0 -101
  88. package/src/lib/components/audit-report-popup/audit-report-popup.component.spec.ts +0 -23
  89. package/src/lib/components/audit-report-popup/audit-report-popup.component.ts +0 -397
  90. package/src/lib/components/audit-retag/audit-retag.component.html +0 -129
  91. package/src/lib/components/audit-retag/audit-retag.component.scss +0 -146
  92. package/src/lib/components/audit-retag/audit-retag.component.spec.ts +0 -23
  93. package/src/lib/components/audit-retag/audit-retag.component.ts +0 -489
  94. package/src/lib/components/comment-model/comment-model.component.html +0 -24
  95. package/src/lib/components/comment-model/comment-model.component.scss +0 -20
  96. package/src/lib/components/comment-model/comment-model.component.spec.ts +0 -23
  97. package/src/lib/components/comment-model/comment-model.component.ts +0 -53
  98. package/src/lib/components/count/count.component.html +0 -54
  99. package/src/lib/components/count/count.component.scss +0 -14
  100. package/src/lib/components/count/count.component.spec.ts +0 -23
  101. package/src/lib/components/count/count.component.ts +0 -82
  102. package/src/lib/components/custom-select/custom-select.component.html +0 -134
  103. package/src/lib/components/custom-select/custom-select.component.scss +0 -204
  104. package/src/lib/components/custom-select/custom-select.component.spec.ts +0 -23
  105. package/src/lib/components/custom-select/custom-select.component.ts +0 -189
  106. package/src/lib/components/filter-options/filter-options.component.html +0 -51
  107. package/src/lib/components/filter-options/filter-options.component.scss +0 -102
  108. package/src/lib/components/filter-options/filter-options.component.spec.ts +0 -23
  109. package/src/lib/components/filter-options/filter-options.component.ts +0 -38
  110. package/src/lib/components/footfall-dic/footfall-dic.component.html +0 -1275
  111. package/src/lib/components/footfall-dic/footfall-dic.component.scss +0 -273
  112. package/src/lib/components/footfall-dic/footfall-dic.component.spec.ts +0 -23
  113. package/src/lib/components/footfall-dic/footfall-dic.component.ts +0 -1206
  114. package/src/lib/components/footfall-dicview/footfall-dicview.component.html +0 -1136
  115. package/src/lib/components/footfall-dicview/footfall-dicview.component.scss +0 -416
  116. package/src/lib/components/footfall-dicview/footfall-dicview.component.spec.ts +0 -23
  117. package/src/lib/components/footfall-dicview/footfall-dicview.component.ts +0 -1168
  118. package/src/lib/components/footfall-popup/footfall-popup.component.html +0 -61
  119. package/src/lib/components/footfall-popup/footfall-popup.component.scss +0 -20
  120. package/src/lib/components/footfall-popup/footfall-popup.component.spec.ts +0 -23
  121. package/src/lib/components/footfall-popup/footfall-popup.component.ts +0 -12
  122. package/src/lib/components/group-select/group-select.component.html +0 -44
  123. package/src/lib/components/group-select/group-select.component.scss +0 -144
  124. package/src/lib/components/group-select/group-select.component.spec.ts +0 -23
  125. package/src/lib/components/group-select/group-select.component.ts +0 -145
  126. package/src/lib/components/re-trigger/re-trigger.component.html +0 -53
  127. package/src/lib/components/re-trigger/re-trigger.component.scss +0 -16
  128. package/src/lib/components/re-trigger/re-trigger.component.spec.ts +0 -23
  129. package/src/lib/components/re-trigger/re-trigger.component.ts +0 -96
  130. package/src/lib/components/reactive-select/reactive-select.component.html +0 -18
  131. package/src/lib/components/reactive-select/reactive-select.component.scss +0 -52
  132. package/src/lib/components/reactive-select/reactive-select.component.spec.ts +0 -23
  133. package/src/lib/components/reactive-select/reactive-select.component.ts +0 -104
  134. package/src/lib/components/remove-audit/remove-audit.component.html +0 -38
  135. package/src/lib/components/remove-audit/remove-audit.component.scss +0 -27
  136. package/src/lib/components/remove-audit/remove-audit.component.spec.ts +0 -23
  137. package/src/lib/components/remove-audit/remove-audit.component.ts +0 -81
  138. package/src/lib/components/start-audit/start-audit.component.html +0 -174
  139. package/src/lib/components/start-audit/start-audit.component.scss +0 -185
  140. package/src/lib/components/start-audit/start-audit.component.spec.ts +0 -23
  141. package/src/lib/components/start-audit/start-audit.component.ts +0 -761
  142. package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.html +0 -43
  143. package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.scss +0 -35
  144. package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.spec.ts +0 -23
  145. package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.ts +0 -118
  146. package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.html +0 -386
  147. package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.scss +0 -87
  148. package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.spec.ts +0 -23
  149. package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.ts +0 -494
  150. package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.html +0 -4743
  151. package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.scss +0 -1208
  152. package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.spec.ts +0 -23
  153. package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.ts +0 -3344
  154. package/src/lib/components/ticketclosepopup/ticketclosepopup.component.html +0 -100
  155. package/src/lib/components/ticketclosepopup/ticketclosepopup.component.scss +0 -34
  156. package/src/lib/components/ticketclosepopup/ticketclosepopup.component.spec.ts +0 -23
  157. package/src/lib/components/ticketclosepopup/ticketclosepopup.component.ts +0 -48
  158. package/src/lib/components/tickets/tickets.component.html +0 -451
  159. package/src/lib/components/tickets/tickets.component.scss +0 -131
  160. package/src/lib/components/tickets/tickets.component.spec.ts +0 -23
  161. package/src/lib/components/tickets/tickets.component.ts +0 -809
  162. package/src/lib/components/viewcategory/viewcategory.component.html +0 -38
  163. package/src/lib/components/viewcategory/viewcategory.component.scss +0 -29
  164. package/src/lib/components/viewcategory/viewcategory.component.spec.ts +0 -23
  165. package/src/lib/components/viewcategory/viewcategory.component.ts +0 -79
  166. package/src/lib/services/audit.service.spec.ts +0 -16
  167. package/src/lib/services/audit.service.ts +0 -98
  168. package/src/lib/services/excel.service.ts +0 -48
  169. package/src/lib/services/ticket.service.spec.ts +0 -16
  170. package/src/lib/services/ticket.service.ts +0 -501
  171. package/src/lib/services/timer.service.spec.ts +0 -16
  172. package/src/lib/services/timer.service.ts +0 -92
  173. package/src/lib/tango-manage-tickets-routing.module.ts +0 -37
  174. package/src/lib/tango-manage-tickets.module.ts +0 -68
  175. package/tsconfig.lib.json +0 -14
  176. package/tsconfig.lib.prod.json +0 -10
  177. package/tsconfig.spec.json +0 -14
@@ -0,0 +1,319 @@
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
+ vmsAuditUrl;
21
+ dropDownTrigger = new BehaviorSubject(null);
22
+ constructor(http, gs) {
23
+ this.http = http;
24
+ this.gs = gs;
25
+ this.gs.environment.subscribe((env) => {
26
+ if (env) {
27
+ this.userApiUrl = env.userApiUrl;
28
+ this.ticketsApiUrl = env.ticketsApiUrl;
29
+ this.auditmetricApiUrl = env.auditmetricApiUrl;
30
+ this.auditApiUrl = env.auditApiUrl;
31
+ this.zoneauditApiUrl = env.zoneauditApiUrl;
32
+ this.clientApiUrl = env.clientApiUrl;
33
+ this.footfallDirapiUrl = env.footfallDirapiUrl;
34
+ this.footfallCDN = env.footfallCDN;
35
+ this.trafficApiUrl = env.trafficApiUrl;
36
+ this.revopApiUrl = env.revopApiUrl;
37
+ this.vmsAuditUrl = env.vmsAuditUrl;
38
+ }
39
+ });
40
+ }
41
+ getUserList(params) {
42
+ return this.http.post(`${this.userApiUrl}/get-list`, params);
43
+ }
44
+ exportInstallationList(data) {
45
+ return this.http.post(`${this.ticketsApiUrl}/infra/installationTable`, data, { responseType: "arraybuffer" });
46
+ }
47
+ exportInfraList(data) {
48
+ return this.http.post(`${this.ticketsApiUrl}/infra/infraTable`, data, {
49
+ responseType: "arraybuffer",
50
+ });
51
+ }
52
+ exportMatList(data) {
53
+ return this.http.post(`${this.ticketsApiUrl}/infra/matTable`, data, {
54
+ responseType: "arraybuffer",
55
+ });
56
+ }
57
+ getSotresList(data) {
58
+ return this.http.post(`${this.ticketsApiUrl}/infra/storeFilter`, data);
59
+ }
60
+ getInstallationList(data) {
61
+ return this.http.post(`${this.ticketsApiUrl}/infra/installationTable`, data);
62
+ }
63
+ getInfraList(data) {
64
+ return this.http.post(`${this.ticketsApiUrl}/infra/infraTable`, data);
65
+ }
66
+ getAssignTicket(data) {
67
+ return this.http.post(`${this.ticketsApiUrl}/infra/assignTicket`, data);
68
+ }
69
+ getMatList(data) {
70
+ return this.http.post(`${this.ticketsApiUrl}/infra/matTable`, data);
71
+ }
72
+ updateTicketIssue(data) {
73
+ return this.http.post(`${this.ticketsApiUrl}/employeeTraning/updatecomment`, data);
74
+ }
75
+ getUserActiveList(params) {
76
+ return this.http.post(`${this.userApiUrl}/list`, params);
77
+ }
78
+ getAllCounts(data) {
79
+ return this.http.post(`${this.ticketsApiUrl}/infra/allCounts`, data);
80
+ }
81
+ getstoreMetrics(data) {
82
+ return this.http.post(`${this.auditApiUrl}/metrics/store-metrics`, data);
83
+ }
84
+ getstoreMetricsExport(data) {
85
+ return this.http.post(`${this.auditApiUrl}/metrics/store-metrics`, data, { responseType: 'arraybuffer' });
86
+ }
87
+ getclientList() {
88
+ return this.http.get(`${this.auditApiUrl}/clients`);
89
+ }
90
+ getuserList() {
91
+ return this.http.get(`${this.auditApiUrl}/tango-users`);
92
+ }
93
+ auditretrigger(data) {
94
+ return this.http.post(`${this.auditApiUrl}/metrics/re-trigger`, data);
95
+ }
96
+ getfootfallcount(data) {
97
+ return this.http.get(`${this.revopApiUrl}/store-processed-data?storeId=${data.storeId}&fromDate=${data.Date}&toDate=${data.Date}`);
98
+ }
99
+ getstoreList(data) {
100
+ return this.http.post(`${this.auditApiUrl}/audit-stores`, data);
101
+ }
102
+ checkTicketExists(data) {
103
+ return this.http.post(`${this.footfallDirapiUrl}/checkTicketExists`, data);
104
+ }
105
+ mergeticket(data) {
106
+ return this.http.post(`${this.footfallDirapiUrl}/mergeticket`, data);
107
+ }
108
+ getDataMismathList(data) {
109
+ return this.http.post(`${this.ticketsApiUrl}/infra/dataMismatchTable`, data);
110
+ }
111
+ accuracyReasonsupdate(data) {
112
+ return this.http.post(`${this.footfallDirapiUrl}/tango-review-accuracy-ticket`, data);
113
+ }
114
+ exportDataMismatchList(data) {
115
+ return this.http.post(`${this.ticketsApiUrl}/infra/dataMismatchTable`, data, { responseType: "arraybuffer" });
116
+ }
117
+ getAuditImages(data) {
118
+ 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}`);
119
+ }
120
+ ExportAuditImagesasxlsx(data) {
121
+ 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" });
122
+ }
123
+ getTicketSummaryApi(client, fromDate, toDate, tangoType, permissionType) {
124
+ let url = `${this.footfallDirapiUrl}/ticket-summary?` +
125
+ `clientId=${client}` +
126
+ `&fromDate=${fromDate}` +
127
+ `&toDate=${toDate}` +
128
+ `&tangoType=${tangoType}`;
129
+ if (permissionType) {
130
+ url += `&permissionType=${permissionType}`;
131
+ }
132
+ return this.http.get(url);
133
+ }
134
+ accuracyReasons(client) {
135
+ return this.http.get(`${this.footfallDirapiUrl}/get-accuarcy-issues?clientId=${client}`);
136
+ }
137
+ getTicketListOldApi(client, fromDate, toDate, searchvalue, limit, offset, isExport, sortBy, sortOrder) {
138
+ 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}`);
139
+ }
140
+ getTicketListApi(client, fromDate, toDate, searchvalue, limit, offset, isExport, sortBy, sortOrder, tangoType, permissionType, filters) {
141
+ let url = `${this.footfallDirapiUrl}/ticket-list?` +
142
+ `clientId=${client}` +
143
+ `&fromDate=${fromDate}` +
144
+ `&toDate=${toDate}` +
145
+ `&searchValue=${searchvalue}` +
146
+ `&limit=${limit}` +
147
+ `&offset=${offset}` +
148
+ `&isExport=${isExport}` +
149
+ `&sortBy=${sortBy}` +
150
+ `&sortOrder=${sortOrder}` +
151
+ `&tangoType=${tangoType}`;
152
+ if (permissionType) {
153
+ url += `&permissionType=${permissionType}`;
154
+ }
155
+ if (filters) {
156
+ // array params – send as comma-separated
157
+ if (filters.filterByStatus?.length) {
158
+ url += `&filterByStatus=${encodeURIComponent(filters.filterByStatus.join(','))}`;
159
+ }
160
+ if (filters.filterByReviewedBy?.length) {
161
+ url += `&filterByReviewedBy=${encodeURIComponent(filters.filterByReviewedBy.join(','))}`;
162
+ }
163
+ if (filters.fileterByApprovedBy?.length) {
164
+ url += `&fileterByApprovedBy=${encodeURIComponent(filters.fileterByApprovedBy.join(','))}`;
165
+ }
166
+ // string params – JSON stringified accuracy
167
+ if (filters.filterByReviewer) {
168
+ url += `&filterByReviewer=${encodeURIComponent(filters.filterByReviewer)}`;
169
+ }
170
+ if (filters.filterByApprover) {
171
+ url += `&filterByApprover=${encodeURIComponent(filters.filterByApprover)}`;
172
+ }
173
+ if (filters.filterByTango) {
174
+ url += `&filterByTango=${encodeURIComponent(filters.filterByTango)}`;
175
+ }
176
+ }
177
+ return this.http.get(url);
178
+ }
179
+ getTicketListExportOldApi(client, fromDate, toDate, searchvalue, limit, offset, isExport, sortBy, sortOrder) {
180
+ 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" });
181
+ }
182
+ getTicketListExportApi(client, fromDate, toDate, searchvalue, limit, offset, isExport, sortBy, sortOrder, tangoType, permissionType, filters) {
183
+ let url = `${this.footfallDirapiUrl}/ticket-list?` +
184
+ `clientId=${client}` +
185
+ `&fromDate=${fromDate}` +
186
+ `&toDate=${toDate}` +
187
+ `&searchValue=${searchvalue}` +
188
+ `&limit=${limit}` +
189
+ `&offset=${offset}` +
190
+ `&isExport=${isExport}` +
191
+ `&sortBy=${sortBy}` +
192
+ `&sortOrder=${sortOrder}` +
193
+ `&tangoType=${tangoType}`;
194
+ if (permissionType) {
195
+ url += `&permissionType=${permissionType}`;
196
+ }
197
+ if (filters) {
198
+ if (filters.filterByStatus?.length) {
199
+ url += `&filterByStatus=${encodeURIComponent(filters.filterByStatus.join(','))}`;
200
+ }
201
+ if (filters.filterByReviewedBy?.length) {
202
+ url += `&filterByReviewedBy=${encodeURIComponent(filters.filterByReviewedBy.join(','))}`;
203
+ }
204
+ if (filters.fileterByApprovedBy?.length) {
205
+ url += `&fileterByApprovedBy=${encodeURIComponent(filters.fileterByApprovedBy.join(','))}`;
206
+ }
207
+ if (filters.filterByReviewer) {
208
+ url += `&filterByReviewer=${encodeURIComponent(filters.filterByReviewer)}`;
209
+ }
210
+ if (filters.filterByApprover) {
211
+ url += `&filterByApprover=${encodeURIComponent(filters.filterByApprover)}`;
212
+ }
213
+ if (filters.filterByTango) {
214
+ url += `&filterByTango=${encodeURIComponent(filters.filterByTango)}`;
215
+ }
216
+ }
217
+ const options = isExport
218
+ ? { responseType: 'arraybuffer' }
219
+ : {};
220
+ return this.http.get(url, options);
221
+ }
222
+ getTicketsApi(store, fromDate, toDate, revopsType, status, action, offset, limit) {
223
+ let params = new HttpParams()
224
+ .set("storeId", store)
225
+ .set("fromDate", fromDate)
226
+ .set("toDate", toDate)
227
+ .set("offset", offset)
228
+ .set("limit", limit);
229
+ if (revopsType) {
230
+ params = params.set("revopsType", revopsType);
231
+ }
232
+ if (status) {
233
+ params = params.set("status", status);
234
+ }
235
+ if (action) {
236
+ params = params.set("action", action);
237
+ }
238
+ return this.http.get(`${this.footfallDirapiUrl}/get-tickets`, { params });
239
+ }
240
+ getTicketsNewApi(ticketId) {
241
+ let params = new HttpParams().set("ticketId", ticketId);
242
+ return this.http.get(`${this.footfallDirapiUrl}/get-tickets`, { params });
243
+ }
244
+ getTaggedStoresApi(client, fromDate, toDate, searchValue, clusters, sortOrder) {
245
+ let params = new HttpParams()
246
+ .set("clientId", client)
247
+ .set("fromDate", fromDate)
248
+ .set("toDate", toDate); // Add searchValue as an empty string if not provided
249
+ // Only add 'clusters' if it's not null, undefined, or an empty array/string
250
+ if (searchValue) {
251
+ params = params.set("searchValue", searchValue);
252
+ }
253
+ if (clusters && clusters.length > 0) {
254
+ params = params.set("clusters", clusters);
255
+ }
256
+ if (sortOrder) {
257
+ params = params.set("sortOrder", sortOrder);
258
+ }
259
+ return this.http.get(`${this.footfallDirapiUrl}/get-tagged-stores`, {
260
+ params,
261
+ });
262
+ }
263
+ getUpdateStatusApi(data) {
264
+ const url = `${this.footfallDirapiUrl}/update-status`;
265
+ return this.http.put(url, data);
266
+ }
267
+ getUpdateTempStatusApi(data) {
268
+ return this.http.post(`${this.footfallDirapiUrl}/update-temp-status`, data);
269
+ }
270
+ getOpenTicketListApi(data) {
271
+ return this.http.post(`${this.footfallDirapiUrl}/open-ticket-list`, data);
272
+ }
273
+ getUpdateTicketStatusApi(data) {
274
+ return this.http.post(`${this.footfallDirapiUrl}/update-ticket-status`, data);
275
+ }
276
+ getCreateTicketListApi(data) {
277
+ return this.http.post(`${this.footfallDirapiUrl}/create-ticket`, data);
278
+ }
279
+ CreateinternalTicketApi(data) {
280
+ return this.http.post(`${this.footfallDirapiUrl}/create-internalticket`, data);
281
+ }
282
+ getclusters(data) {
283
+ return this.http.post(`${this.trafficApiUrl}/headercluster_v2`, data);
284
+ }
285
+ getReviewerApi(clientId, type, tangotype) {
286
+ let params = new HttpParams().set("clientId", clientId)
287
+ .set("type", type).set("tangotype", tangotype);
288
+ return this.http.get(`${this.footfallDirapiUrl}/reviewer-list`, { params });
289
+ }
290
+ getTicketAssignApi(data) {
291
+ return this.http.post(`${this.footfallDirapiUrl}/assign-ticket`, data);
292
+ }
293
+ reAssignAudit(data) {
294
+ return this.http.post(`${this.vmsAuditUrl}/reAssign-audit`, data);
295
+ }
296
+ getMultiCloseTicketApi(data) {
297
+ return this.http.post(`${this.footfallDirapiUrl}/multi-close-tickets`, data);
298
+ }
299
+ getTypeFunction(clientId) {
300
+ let params = new HttpParams().set("clientId", clientId);
301
+ return this.http.get(`${this.clientApiUrl}/get-footfall-directory-config`, { params });
302
+ }
303
+ footfallData;
304
+ setFootfallData(data) {
305
+ this.footfallData = data;
306
+ }
307
+ getFootfallData() {
308
+ return this.footfallData;
309
+ }
310
+ 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 });
311
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketService, providedIn: "root" });
312
+ }
313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketService, decorators: [{
314
+ type: Injectable,
315
+ args: [{
316
+ providedIn: "root",
317
+ }]
318
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.GlobalStateService }] });
319
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2UtdGlja2V0cy9zcmMvbGliL3NlcnZpY2VzL3RpY2tldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFckQsT0FBTyxFQUNMLGVBQWUsR0FNaEIsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFJbEQsTUFBTSxPQUFPLGFBQWE7SUFhSjtJQUEwQjtJQVo5QyxVQUFVLENBQU07SUFDaEIsYUFBYSxDQUFNO0lBQ25CLFdBQVcsQ0FBTTtJQUNqQixpQkFBaUIsQ0FBTTtJQUN2QixlQUFlLENBQU07SUFDckIsaUJBQWlCLENBQU07SUFDdkIsV0FBVyxDQUFNO0lBQ2pCLGFBQWEsQ0FBTTtJQUNuQixXQUFXLENBQU07SUFDakIsWUFBWSxDQUFLO0lBQ2pCLFdBQVcsQ0FBSztJQUNoQixlQUFlLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7SUFDakQsWUFBb0IsSUFBZ0IsRUFBVSxFQUFzQjtRQUFoRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDbEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsaUJBQWlCLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FB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QUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLGdDQUFnQyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUd6RixDQUFDO0lBQ08sWUFBWSxDQUFNO0lBRTFCLGVBQWUsQ0FBQyxJQUFTO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7d0dBcGVVLGFBQWE7NEdBQWIsYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktZ2xvYmFsXCI7XHJcbmltcG9ydCB7XHJcbiAgQmVoYXZpb3JTdWJqZWN0LFxyXG4gIE9ic2VydmFibGUsXHJcbiAgY2F0Y2hFcnJvcixcclxuICBtYXAsXHJcbiAgb2YsXHJcbiAgdGhyb3dFcnJvcixcclxufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpY2tldFNlcnZpY2Uge1xyXG4gIHVzZXJBcGlVcmw6IGFueTtcclxuICB0aWNrZXRzQXBpVXJsOiBhbnk7XHJcbiAgYXVkaXRBcGlVcmw6IGFueTtcclxuICBhdWRpdG1ldHJpY0FwaVVybDogYW55O1xyXG4gIHpvbmVhdWRpdEFwaVVybDogYW55O1xyXG4gIGZvb3RmYWxsRGlyYXBpVXJsOiBhbnk7XHJcbiAgZm9vdGZhbGxDRE46IGFueTtcclxuICB0cmFmZmljQXBpVXJsOiBhbnk7XHJcbiAgcmV2b3BBcGlVcmw6IGFueTtcclxuICBjbGllbnRBcGlVcmw6YW55O1xyXG4gIHZtc0F1ZGl0VXJsOmFueTtcclxuICBkcm9wRG93blRyaWdnZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuZ3MuZW52aXJvbm1lbnQuc3Vic2NyaWJlKChlbnYpID0+IHtcclxuICAgICAgaWYgKGVudikge1xyXG4gICAgICAgIHRoaXMudXNlckFwaVVybCA9IGVudi51c2VyQXBpVXJsO1xyXG4gICAgICAgIHRoaXMudGlja2V0c0FwaVVybCA9IGVudi50aWNrZXRzQXBpVXJsO1xyXG4gICAgICAgIHRoaXMuYXVkaXRtZXRyaWNBcGlVcmwgPSBlbnYuYXVkaXRtZXRyaWNBcGlVcmw7XHJcbiAgICAgICAgdGhpcy5hdWRpdEFwaVVybCA9IGVudi5hdWRpdEFwaVVybDtcclxuICAgICAgICB0aGlzLnpvbmVhdWRpdEFwaVVybCA9IGVudi56b25lYXVkaXRBcGlVcmw7XHJcbiAgICAgICAgdGhpcy5jbGllbnRBcGlVcmwgPSBlbnYuY2xpZW50QXBpVXJsO1xyXG4gICAgICAgIHRoaXMuZm9vdGZhbGxEaXJhcGlVcmwgPSBlbnYuZm9vdGZhbGxEaXJhcGlVcmw7XHJcbiAgICAgICAgdGhpcy5mb290ZmFsbENETiA9IGVudi5mb290ZmFsbENETjtcclxuICAgICAgICB0aGlzLnRyYWZmaWNBcGlVcmwgPSBlbnYudHJhZmZpY0FwaVVybDtcclxuICAgICAgICB0aGlzLnJldm9wQXBpVXJsID0gZW52LnJldm9wQXBpVXJsO1xyXG4gICAgICAgIHRoaXMudm1zQXVkaXRVcmwgPSBlbnYudm1zQXVkaXRVcmw7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckxpc3QocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy51c2VyQXBpVXJsfS9nZXQtbGlzdGAsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRJbnN0YWxsYXRpb25MaXN0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG4gICAgICBgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL2luc3RhbGxhdGlvblRhYmxlYCxcclxuICAgICAgZGF0YSxcclxuICAgICAgeyByZXNwb25zZVR5cGU6IFwiYXJyYXlidWZmZXJcIiB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0SW5mcmFMaXN0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0c0FwaVVybH0vaW5mcmEvaW5mcmFUYWJsZWAsIGRhdGEsIHtcclxuICAgICAgcmVzcG9uc2VUeXBlOiBcImFycmF5YnVmZmVyXCIsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGV4cG9ydE1hdExpc3QoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9tYXRUYWJsZWAsIGRhdGEsIHtcclxuICAgICAgcmVzcG9uc2VUeXBlOiBcImFycmF5YnVmZmVyXCIsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFNvdHJlc0xpc3QoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL3N0b3JlRmlsdGVyYCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICBnZXRJbnN0YWxsYXRpb25MaXN0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oXHJcbiAgICAgIGAke3RoaXMudGlja2V0c0FwaVVybH0vaW5mcmEvaW5zdGFsbGF0aW9uVGFibGVgLFxyXG4gICAgICBkYXRhXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW5mcmFMaXN0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9pbmZyYVRhYmxlYCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICBnZXRBc3NpZ25UaWNrZXQoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihcclxuICAgICAgYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9hc3NpZ25UaWNrZXRgLFxyXG4gICAgICBkYXRhXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWF0TGlzdChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0c0FwaVVybH0vaW5mcmEvbWF0VGFibGVgLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVRpY2tldElzc3VlKGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oXHJcbiAgICAgIGAke3RoaXMudGlja2V0c0FwaVVybH0vZW1wbG95ZWVUcmFuaW5nL3VwZGF0ZWNvbW1lbnRgLFxyXG4gICAgICBkYXRhXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckFjdGl2ZUxpc3QocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy51c2VyQXBpVXJsfS9saXN0YCwgcGFyYW1zKTtcclxuICB9XHJcblxyXG4gIGdldEFsbENvdW50cyhkYXRhOmFueSl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldHNBcGlVcmx9L2luZnJhL2FsbENvdW50c2AsIGRhdGEpXHJcbiAgfVxyXG4gIGdldHN0b3JlTWV0cmljcyhkYXRhOmFueSl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hdWRpdEFwaVVybH0vbWV0cmljcy9zdG9yZS1tZXRyaWNzYCxkYXRhKVxyXG4gIH1cclxuICBnZXRzdG9yZU1ldHJpY3NFeHBvcnQoZGF0YTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuYXVkaXRBcGlVcmx9L21ldHJpY3Mvc3RvcmUtbWV0cmljc2AsZGF0YSx7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcbiAgZ2V0Y2xpZW50TGlzdCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hdWRpdEFwaVVybH0vY2xpZW50c2ApXHJcbiAgfVxyXG4gIGdldHVzZXJMaXN0KCl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmF1ZGl0QXBpVXJsfS90YW5nby11c2Vyc2ApXHJcbiAgfVxyXG4gIGF1ZGl0cmV0cmlnZ2VyKGRhdGE6YW55KXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmF1ZGl0QXBpVXJsfS9tZXRyaWNzL3JlLXRyaWdnZXJgLGRhdGEpXHJcbiB9XHJcbiBnZXRmb290ZmFsbGNvdW50KGRhdGE6YW55KXtcclxuICAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnJldm9wQXBpVXJsfS9zdG9yZS1wcm9jZXNzZWQtZGF0YT9zdG9yZUlkPSR7ZGF0YS5zdG9yZUlkfSZmcm9tRGF0ZT0ke2RhdGEuRGF0ZX0mdG9EYXRlPSR7ZGF0YS5EYXRlfWApXHJcbiAgXHJcbiB9XHJcbiBnZXRzdG9yZUxpc3QoZGF0YTphbnkpe1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmF1ZGl0QXBpVXJsfS9hdWRpdC1zdG9yZXNgLGRhdGEpXHJcbiB9XHJcbiBjaGVja1RpY2tldEV4aXN0cyhkYXRhOmFueSl7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZm9vdGZhbGxEaXJhcGlVcmx9L2NoZWNrVGlja2V0RXhpc3RzYCxkYXRhKVxyXG4gfVxyXG4gbWVyZ2V0aWNrZXQoZGF0YTphbnkpe1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS9tZXJnZXRpY2tldGAsZGF0YSlcclxuIH1cclxuICBnZXREYXRhTWlzbWF0aExpc3QoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihcclxuICAgICAgYCR7dGhpcy50aWNrZXRzQXBpVXJsfS9pbmZyYS9kYXRhTWlzbWF0Y2hUYWJsZWAsXHJcbiAgICAgIGRhdGFcclxuICAgICk7XHJcbiAgfVxyXG4gIGFjY3VyYWN5UmVhc29uc3VwZGF0ZShkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KFxyXG4gICAgICBgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS90YW5nby1yZXZpZXctYWNjdXJhY3ktdGlja2V0YCxcclxuICAgICAgZGF0YVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGV4cG9ydERhdGFNaXNtYXRjaExpc3QoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXHJcbiAgICAgIGAke3RoaXMudGlja2V0c0FwaVVybH0vaW5mcmEvZGF0YU1pc21hdGNoVGFibGVgLFxyXG4gICAgICBkYXRhLFxyXG4gICAgICB7IHJlc3BvbnNlVHlwZTogXCJhcnJheWJ1ZmZlclwiIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0QXVkaXRJbWFnZXMoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcclxuICAgICAgYCR7dGhpcy5hdWRpdEFwaVVybH0vYXVkaXQtaW1hZ2VzP2ZpbGVEYXRlPSR7ZGF0YT8uZmlsZURhdGV9JnN0b3JlSWQ9JHtkYXRhPy5zdG9yZUlkfSZpbWFnZVR5cGU9JHtkYXRhPy5pbWFnZVR5cGV9JmV4cG9ydD0ke2RhdGE/LmV4cG9ydH0mem9uZU5hbWU9JHtkYXRhPy56b25lTmFtZX0mbW9kdWxlVHlwZT0ke2RhdGE/Lm1vZHVsZVR5cGV9YFxyXG4gICAgKTtcclxuICB9XHJcbiAgRXhwb3J0QXVkaXRJbWFnZXNhc3hsc3goZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcclxuICAgICAgYCR7dGhpcy5hdWRpdEFwaVVybH0vYXVkaXQtaW1hZ2VzP2ZpbGVEYXRlPSR7ZGF0YT8uZmlsZURhdGV9JnN0b3JlSWQ9JHtkYXRhPy5zdG9yZUlkfSZpbWFnZVR5cGU9JHtkYXRhPy5pbWFnZVR5cGV9JmV4cG9ydD0ke2RhdGE/LmV4cG9ydH0mem9uZU5hbWU9JHtkYXRhPy56b25lTmFtZX0mbW9kdWxlVHlwZT0ke2RhdGE/Lm1vZHVsZVR5cGV9YCxcclxuICAgICAgeyByZXNwb25zZVR5cGU6IFwiYXJyYXlidWZmZXJcIiB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGlja2V0U3VtbWFyeUFwaShcclxuICAgIGNsaWVudDogYW55LFxyXG4gICAgZnJvbURhdGU6IGFueSxcclxuICAgIHRvRGF0ZTogYW55LFxyXG4gICAgdGFuZ29UeXBlOmFueSxcclxuICAgICBwZXJtaXNzaW9uVHlwZT86IHN0cmluZyB8IG51bGwsXHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICBsZXQgdXJsID1cclxuICAgIGAke3RoaXMuZm9vdGZhbGxEaXJhcGlVcmx9L3RpY2tldC1zdW1tYXJ5P2AgK1xyXG4gICAgYGNsaWVudElkPSR7Y2xpZW50fWAgK1xyXG4gICAgYCZmcm9tRGF0ZT0ke2Zyb21EYXRlfWAgK1xyXG4gICAgYCZ0b0RhdGU9JHt0b0RhdGV9YCArXHJcbiAgICBgJnRhbmdvVHlwZT0ke3RhbmdvVHlwZX1gO1xyXG4gICAgaWYgKHBlcm1pc3Npb25UeXBlKSB7XHJcbiAgICB1cmwgKz0gYCZwZXJtaXNzaW9uVHlwZT0ke3Blcm1pc3Npb25UeXBlfWA7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpO1xyXG4gIH1cclxuICBhY2N1cmFjeVJlYXNvbnMoXHJcbiAgICBjbGllbnQ6IGFueSxcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuZm9vdGZhbGxEaXJhcGlVcmx9L2dldC1hY2N1YXJjeS1pc3N1ZXM/Y2xpZW50SWQ9JHtjbGllbnR9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFRpY2tldExpc3RPbGRBcGkoXHJcbiAgICBjbGllbnQ6IGFueSxcclxuICAgIGZyb21EYXRlOiBhbnksXHJcbiAgICB0b0RhdGU6IGFueSxcclxuICAgIHNlYXJjaHZhbHVlOiBhbnksXHJcbiAgICBsaW1pdDogYW55LFxyXG4gICAgb2Zmc2V0OiBhbnksXHJcbiAgICBpc0V4cG9ydDogYW55LFxyXG4gICAgc29ydEJ5OiBhbnksXHJcbiAgICBzb3J0T3JkZXI6IGFueVxyXG4gICk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcclxuICAgICAgYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vdGlja2V0LWxpc3Q/Y2xpZW50SWQ9JHtjbGllbnR9JmZyb21EYXRlPSR7ZnJvbURhdGV9JnRvRGF0ZT0ke3RvRGF0ZX0mc2VhcmNoVmFsdWU9JHtzZWFyY2h2YWx1ZX0mbGltaXQ9JHtsaW1pdH0mb2Zmc2V0PSR7b2Zmc2V0fSZpc0V4cG9ydD0ke2lzRXhwb3J0fSZzb3J0Qnk9JHtzb3J0Qnl9JnNvcnRPcmRlcj0ke3NvcnRPcmRlcn1gXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbmdldFRpY2tldExpc3RBcGkoXHJcbiAgY2xpZW50OiBhbnksXHJcbiAgZnJvbURhdGU6IGFueSxcclxuICB0b0RhdGU6IGFueSxcclxuICBzZWFyY2h2YWx1ZTogYW55LFxyXG4gIGxpbWl0OiBhbnksXHJcbiAgb2Zmc2V0OiBhbnksXHJcbiAgaXNFeHBvcnQ6IGFueSxcclxuICBzb3J0Qnk6IGFueSxcclxuICBzb3J0T3JkZXI6IGFueSxcclxuICB0YW5nb1R5cGU6IGFueSxcclxuICBwZXJtaXNzaW9uVHlwZT86IHN0cmluZyB8IG51bGwsXHJcbiAgZmlsdGVycz86IHtcclxuICAgIGZpbHRlckJ5U3RhdHVzOiBhbnlbXTtcclxuICAgIGZpbHRlckJ5UmV2aWV3ZXI6IGFueSB8IG51bGw7XHJcbiAgICBmaWx0ZXJCeUFwcHJvdmVyOiBhbnkgfCBudWxsO1xyXG4gICAgZmlsdGVyQnlUYW5nbzogYW55IHwgbnVsbDtcclxuICAgIGZpbHRlckJ5UmV2aWV3ZWRCeTogYW55W107XHJcbiAgICBmaWxldGVyQnlBcHByb3ZlZEJ5OiBhbnlbXTtcclxuICB9XHJcbik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgbGV0IHVybCA9XHJcbiAgICBgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS90aWNrZXQtbGlzdD9gICtcclxuICAgIGBjbGllbnRJZD0ke2NsaWVudH1gICtcclxuICAgIGAmZnJvbURhdGU9JHtmcm9tRGF0ZX1gICtcclxuICAgIGAmdG9EYXRlPSR7dG9EYXRlfWAgK1xyXG4gICAgYCZzZWFyY2hWYWx1ZT0ke3NlYXJjaHZhbHVlfWAgK1xyXG4gICAgYCZsaW1pdD0ke2xpbWl0fWAgK1xyXG4gICAgYCZvZmZzZXQ9JHtvZmZzZXR9YCArXHJcbiAgICBgJmlzRXhwb3J0PSR7aXNFeHBvcnR9YCArXHJcbiAgICBgJnNvcnRCeT0ke3NvcnRCeX1gICtcclxuICAgIGAmc29ydE9yZGVyPSR7c29ydE9yZGVyfWAgK1xyXG4gICAgYCZ0YW5nb1R5cGU9JHt0YW5nb1R5cGV9YDtcclxuXHJcbiAgaWYgKHBlcm1pc3Npb25UeXBlKSB7XHJcbiAgICB1cmwgKz0gYCZwZXJtaXNzaW9uVHlwZT0ke3Blcm1pc3Npb25UeXBlfWA7XHJcbiAgfVxyXG5cclxuICBpZiAoZmlsdGVycykge1xyXG4gICAgLy8gYXJyYXkgcGFyYW1zIOKAkyBzZW5kIGFzIGNvbW1hLXNlcGFyYXRlZFxyXG4gICAgaWYgKGZpbHRlcnMuZmlsdGVyQnlTdGF0dXM/Lmxlbmd0aCkge1xyXG4gICAgICB1cmwgKz0gYCZmaWx0ZXJCeVN0YXR1cz0ke2VuY29kZVVSSUNvbXBvbmVudChmaWx0ZXJzLmZpbHRlckJ5U3RhdHVzLmpvaW4oJywnKSl9YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZmlsdGVycy5maWx0ZXJCeVJldmlld2VkQnk/Lmxlbmd0aCkge1xyXG4gICAgICB1cmwgKz0gYCZmaWx0ZXJCeVJldmlld2VkQnk9JHtlbmNvZGVVUklDb21wb25lbnQoZmlsdGVycy5maWx0ZXJCeVJldmlld2VkQnkuam9pbignLCcpKX1gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChmaWx0ZXJzLmZpbGV0ZXJCeUFwcHJvdmVkQnk/Lmxlbmd0aCkge1xyXG4gICAgICB1cmwgKz0gYCZmaWxldGVyQnlBcHByb3ZlZEJ5PSR7ZW5jb2RlVVJJQ29tcG9uZW50KGZpbHRlcnMuZmlsZXRlckJ5QXBwcm92ZWRCeS5qb2luKCcsJykpfWA7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gc3RyaW5nIHBhcmFtcyDigJMgSlNPTiBzdHJpbmdpZmllZCBhY2N1cmFjeVxyXG4gICAgaWYgKGZpbHRlcnMuZmlsdGVyQnlSZXZpZXdlcikge1xyXG4gICAgICB1cmwgKz0gYCZmaWx0ZXJCeVJldmlld2VyPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGZpbHRlcnMuZmlsdGVyQnlSZXZpZXdlcil9YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZmlsdGVycy5maWx0ZXJCeUFwcHJvdmVyKSB7XHJcbiAgICAgIHVybCArPSBgJmZpbHRlckJ5QXBwcm92ZXI9JHtlbmNvZGVVUklDb21wb25lbnQoZmlsdGVycy5maWx0ZXJCeUFwcHJvdmVyKX1gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChmaWx0ZXJzLmZpbHRlckJ5VGFuZ28pIHtcclxuICAgICAgdXJsICs9IGAmZmlsdGVyQnlUYW5nbz0ke2VuY29kZVVSSUNvbXBvbmVudChmaWx0ZXJzLmZpbHRlckJ5VGFuZ28pfWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpO1xyXG59XHJcblxyXG5cclxuICBnZXRUaWNrZXRMaXN0RXhwb3J0T2xkQXBpKFxyXG4gICAgY2xpZW50OiBhbnksXHJcbiAgICBmcm9tRGF0ZTogYW55LFxyXG4gICAgdG9EYXRlOiBhbnksXHJcbiAgICBzZWFyY2h2YWx1ZTogYW55LFxyXG4gICAgbGltaXQ6IGFueSxcclxuICAgIG9mZnNldDogYW55LFxyXG4gICAgaXNFeHBvcnQ6IGFueSxcclxuICAgIHNvcnRCeTogYW55LFxyXG4gICAgc29ydE9yZGVyOiBhbnlcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcbiAgICAgIGAke3RoaXMuZm9vdGZhbGxEaXJhcGlVcmx9L3RpY2tldC1saXN0P2NsaWVudElkPSR7Y2xpZW50fSZmcm9tRGF0ZT0ke2Zyb21EYXRlfSZ0b0RhdGU9JHt0b0RhdGV9JnNlYXJjaFZhbHVlPSR7c2VhcmNodmFsdWV9JmxpbWl0PSR7bGltaXR9Jm9mZnNldD0ke29mZnNldH0maXNFeHBvcnQ9JHtpc0V4cG9ydH0mc29ydEJ5PSR7c29ydEJ5fSZzb3J0T3JkZXI9JHtzb3J0T3JkZXJ9YCxcclxuICAgICAgeyByZXNwb25zZVR5cGU6IFwiYXJyYXlidWZmZXJcIiB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbmdldFRpY2tldExpc3RFeHBvcnRBcGkoXHJcbiAgY2xpZW50OiBhbnksXHJcbiAgZnJvbURhdGU6IGFueSxcclxuICB0b0RhdGU6IGFueSxcclxuICBzZWFyY2h2YWx1ZTogYW55LFxyXG4gIGxpbWl0OiBhbnksXHJcbiAgb2Zmc2V0OiBhbnksXHJcbiAgaXNFeHBvcnQ6IGFueSxcclxuICBzb3J0Qnk6IGFueSxcclxuICBzb3J0T3JkZXI6IGFueSxcclxuICB0YW5nb1R5cGU6IGFueSxcclxuICBwZXJtaXNzaW9uVHlwZT86IHN0cmluZyB8IG51bGwsXHJcbiAgZmlsdGVycz86IHtcclxuICAgIGZpbHRlckJ5U3RhdHVzPzogc3RyaW5nW107XHJcbiAgICBmaWx0ZXJCeVJldmlld2VyPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIGZpbHRlckJ5QXBwcm92ZXI/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgZmlsdGVyQnlUYW5nbz86IHN0cmluZyB8IG51bGw7XHJcbiAgICBmaWx0ZXJCeVJldmlld2VkQnk/OiBzdHJpbmdbXTtcclxuICAgIGZpbGV0ZXJCeUFwcHJvdmVkQnk/OiBzdHJpbmdbXTtcclxuICB9XHJcbik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgbGV0IHVybCA9XHJcbiAgICBgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS90aWNrZXQtbGlzdD9gICtcclxuICAgIGBjbGllbnRJZD0ke2NsaWVudH1gICtcclxuICAgIGAmZnJvbURhdGU9JHtmcm9tRGF0ZX1gICtcclxuICAgIGAmdG9EYXRlPSR7dG9EYXRlfWAgK1xyXG4gICAgYCZzZWFyY2hWYWx1ZT0ke3NlYXJjaHZhbHVlfWAgK1xyXG4gICAgYCZsaW1pdD0ke2xpbWl0fWAgK1xyXG4gICAgYCZvZmZzZXQ9JHtvZmZzZXR9YCArXHJcbiAgICBgJmlzRXhwb3J0PSR7aXNFeHBvcnR9YCArXHJcbiAgICBgJnNvcnRCeT0ke3NvcnRCeX1gICtcclxuICAgIGAmc29ydE9yZGVyPSR7c29ydE9yZGVyfWAgK1xyXG4gICAgYCZ0YW5nb1R5cGU9JHt0YW5nb1R5cGV9YDtcclxuXHJcbiAgaWYgKHBlcm1pc3Npb25UeXBlKSB7XHJcbiAgICB1cmwgKz0gYCZwZXJtaXNzaW9uVHlwZT0ke3Blcm1pc3Npb25UeXBlfWA7XHJcbiAgfVxyXG5cclxuICBpZiAoZmlsdGVycykge1xyXG4gICAgaWYgKGZpbHRlcnMuZmlsdGVyQnlTdGF0dXM/Lmxlbmd0aCkge1xyXG4gICAgICB1cmwgKz0gYCZmaWx0ZXJCeVN0YXR1cz0ke2VuY29kZVVSSUNvbXBvbmVudChmaWx0ZXJzLmZpbHRlckJ5U3RhdHVzLmpvaW4oJywnKSl9YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZmlsdGVycy5maWx0ZXJCeVJldmlld2VkQnk/Lmxlbmd0aCkge1xyXG4gICAgICB1cmwgKz0gYCZmaWx0ZXJCeVJldmlld2VkQnk9JHtlbmNvZGVVUklDb21wb25lbnQoZmlsdGVycy5maWx0ZXJCeVJldmlld2VkQnkuam9pbignLCcpKX1gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChmaWx0ZXJzLmZpbGV0ZXJCeUFwcHJvdmVkQnk/Lmxlbmd0aCkge1xyXG4gICAgICB1cmwgKz0gYCZmaWxldGVyQnlBcHByb3ZlZEJ5PSR7ZW5jb2RlVVJJQ29tcG9uZW50KGZpbHRlcnMuZmlsZXRlckJ5QXBwcm92ZWRCeS5qb2luKCcsJykpfWA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGZpbHRlcnMuZmlsdGVyQnlSZXZpZXdlcikge1xyXG4gICAgICB1cmwgKz0gYCZmaWx0ZXJCeVJldmlld2VyPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGZpbHRlcnMuZmlsdGVyQnlSZXZpZXdlcil9YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZmlsdGVycy5maWx0ZXJCeUFwcHJvdmVyKSB7XHJcbiAgICAgIHVybCArPSBgJmZpbHRlckJ5QXBwcm92ZXI9JHtlbmNvZGVVUklDb21wb25lbnQoZmlsdGVycy5maWx0ZXJCeUFwcHJvdmVyKX1gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChmaWx0ZXJzLmZpbHRlckJ5VGFuZ28pIHtcclxuICAgICAgdXJsICs9IGAmZmlsdGVyQnlUYW5nbz0ke2VuY29kZVVSSUNvbXBvbmVudChmaWx0ZXJzLmZpbHRlckJ5VGFuZ28pfWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdCBvcHRpb25zID0gaXNFeHBvcnRcclxuICAgID8geyByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgYXMgJ2pzb24nIH1cclxuICAgIDoge307XHJcblxyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwgb3B0aW9ucyk7XHJcbn1cclxuXHJcblxyXG4gIGdldFRpY2tldHNBcGkoXHJcbiAgICBzdG9yZTogYW55LFxyXG4gICAgZnJvbURhdGU6IGFueSxcclxuICAgIHRvRGF0ZTogYW55LFxyXG4gICAgcmV2b3BzVHlwZTogYW55LFxyXG4gICAgc3RhdHVzOiBhbnksXHJcbiAgICBhY3Rpb246IGFueSxcclxuICAgIG9mZnNldDogYW55LFxyXG4gICAgbGltaXQ6IGFueVxyXG4gICk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgICAuc2V0KFwic3RvcmVJZFwiLCBzdG9yZSlcclxuICAgICAgLnNldChcImZyb21EYXRlXCIsIGZyb21EYXRlKVxyXG4gICAgICAuc2V0KFwidG9EYXRlXCIsIHRvRGF0ZSlcclxuICAgICAgLnNldChcIm9mZnNldFwiLCBvZmZzZXQpXHJcbiAgICAgIC5zZXQoXCJsaW1pdFwiLCBsaW1pdCk7XHJcbiAgICBpZiAocmV2b3BzVHlwZSkge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KFwicmV2b3BzVHlwZVwiLCByZXZvcHNUeXBlKTtcclxuICAgIH1cclxuICAgIGlmIChzdGF0dXMpIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChcInN0YXR1c1wiLCBzdGF0dXMpO1xyXG4gICAgfVxyXG4gICAgaWYgKGFjdGlvbikge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KFwiYWN0aW9uXCIsIGFjdGlvbik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS9nZXQtdGlja2V0c2AsIHsgcGFyYW1zIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGlja2V0c05ld0FwaSh0aWNrZXRJZDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldChcInRpY2tldElkXCIsIHRpY2tldElkKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZm9vdGZhbGxEaXJhcGlVcmx9L2dldC10aWNrZXRzYCwgeyBwYXJhbXMgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRUYWdnZWRTdG9yZXNBcGkoXHJcbiAgICBjbGllbnQ6IGFueSxcclxuICAgIGZyb21EYXRlOiBhbnksXHJcbiAgICB0b0RhdGU6IGFueSxcclxuICAgIHNlYXJjaFZhbHVlOiBhbnksXHJcbiAgICBjbHVzdGVyczogYW55LFxyXG4gICAgc29ydE9yZGVyOiBhbnlcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcclxuICAgICAgLnNldChcImNsaWVudElkXCIsIGNsaWVudClcclxuICAgICAgLnNldChcImZyb21EYXRlXCIsIGZyb21EYXRlKVxyXG4gICAgICAuc2V0KFwidG9EYXRlXCIsIHRvRGF0ZSk7IC8vIEFkZCBzZWFyY2hWYWx1ZSBhcyBhbiBlbXB0eSBzdHJpbmcgaWYgbm90IHByb3ZpZGVkXHJcbiAgICAvLyBPbmx5IGFkZCAnY2x1c3RlcnMnIGlmIGl0J3Mgbm90IG51bGwsIHVuZGVmaW5lZCwgb3IgYW4gZW1wdHkgYXJyYXkvc3RyaW5nXHJcbiAgICBpZiAoc2VhcmNoVmFsdWUpIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChcInNlYXJjaFZhbHVlXCIsIHNlYXJjaFZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2x1c3RlcnMgJiYgY2x1c3RlcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KFwiY2x1c3RlcnNcIiwgY2x1c3RlcnMpO1xyXG4gICAgfVxyXG4gICAgaWYgKHNvcnRPcmRlcikge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KFwic29ydE9yZGVyXCIsIHNvcnRPcmRlcik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS9nZXQtdGFnZ2VkLXN0b3Jlc2AsIHtcclxuICAgICAgcGFyYW1zLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRVcGRhdGVTdGF0dXNBcGkoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZm9vdGZhbGxEaXJhcGlVcmx9L3VwZGF0ZS1zdGF0dXNgO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodXJsLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIGdldFVwZGF0ZVRlbXBTdGF0dXNBcGkoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmZvb3RmYWxsRGlyYXBpVXJsfS91cGRhdGUtdGVtcC1zdGF0dXNgLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIGdldE9wZW5UaWNrZXRMaXN0QXBpKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vb3Blbi10aWNrZXQtbGlzdGAsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXBkYXRlVGlja2V0U3RhdHVzQXBpKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXHJcbiAgICAgIGAke3RoaXMuZm9vdGZhbGxEaXJhcGlVcmx9L3VwZGF0ZS10aWNrZXQtc3RhdHVzYCxcclxuICAgICAgZGF0YVxyXG4gICAgKTtcclxuICB9XHJcblxyXG5nZXRDcmVhdGVUaWNrZXRMaXN0QXBpKGRhdGE6YW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vY3JlYXRlLXRpY2tldGAsIGRhdGEpO1xyXG59XHJcbkNyZWF0ZWludGVybmFsVGlja2V0QXBpKGRhdGE6YW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vY3JlYXRlLWludGVybmFsdGlja2V0YCwgZGF0YSk7XHJcbn1cclxuICBnZXRjbHVzdGVycyhkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2hlYWRlcmNsdXN0ZXJfdjJgLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIGdldFJldmlld2VyQXBpKGNsaWVudElkOiBhbnksdHlwZTphbnksdGFuZ290eXBlOmFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoXCJjbGllbnRJZFwiLCBjbGllbnRJZClcclxuICAgICAgLnNldChcInR5cGVcIix0eXBlKS5zZXQoXCJ0YW5nb3R5cGVcIix0YW5nb3R5cGUpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vcmV2aWV3ZXItbGlzdGAsIHsgcGFyYW1zIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGlja2V0QXNzaWduQXBpKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vYXNzaWduLXRpY2tldGAsIGRhdGEpO1xyXG4gIH1cclxuICByZUFzc2lnbkF1ZGl0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy52bXNBdWRpdFVybH0vcmVBc3NpZ24tYXVkaXRgLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIGdldE11bHRpQ2xvc2VUaWNrZXRBcGkoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcclxuICAgICAgYCR7dGhpcy5mb290ZmFsbERpcmFwaVVybH0vbXVsdGktY2xvc2UtdGlja2V0c2AsXHJcbiAgICAgIGRhdGFcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRUeXBlRnVuY3Rpb24oY2xpZW50SWQ6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoXCJjbGllbnRJZFwiLCBjbGllbnRJZCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmNsaWVudEFwaVVybH0vZ2V0LWZvb3RmYWxsLWRpcmVjdG9yeS1jb25maWdgLCB7IHBhcmFtcyB9KTtcclxuXHJcbiAgICBcclxuICB9XHJcbiAgcHJpdmF0ZSBmb290ZmFsbERhdGE6IGFueTtcclxuXHJcbiAgc2V0Rm9vdGZhbGxEYXRhKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5mb290ZmFsbERhdGEgPSBkYXRhO1xyXG4gIH1cclxuXHJcbiAgZ2V0Rm9vdGZhbGxEYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9vdGZhbGxEYXRhO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,84 @@
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==
@@ -0,0 +1,44 @@
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=