@unifylib/ui-lib 1.0.3 → 1.0.65

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 (265) hide show
  1. package/esm2022/iq-ui-lib.mjs +5 -0
  2. package/esm2022/lib/base-model/SearchStrConfig.mjs +11 -0
  3. package/esm2022/lib/base-model/api-response.mjs +2 -0
  4. package/esm2022/lib/base-model/audit-log-entry.mjs +3 -0
  5. package/esm2022/lib/base-model/button-action-settings.mjs +17 -0
  6. package/esm2022/lib/base-model/column-def.model.mjs +28 -0
  7. package/esm2022/lib/base-model/do-action-request.mjs +8 -0
  8. package/esm2022/lib/base-model/field-action.mjs +6 -0
  9. package/esm2022/lib/base-model/field-filter.model.mjs +3 -0
  10. package/esm2022/lib/base-model/field-info.mjs +64 -0
  11. package/esm2022/lib/base-model/field-predicate.model.mjs +10 -0
  12. package/esm2022/lib/base-model/filter-request.mjs +13 -0
  13. package/esm2022/lib/base-model/filter.model.mjs +25 -0
  14. package/esm2022/lib/base-model/get-items-list.mjs +10 -0
  15. package/esm2022/lib/base-model/index.mjs +13 -0
  16. package/esm2022/lib/base-model/items-total.model.mjs +8 -0
  17. package/esm2022/lib/base-model/line-item.model.mjs +12 -0
  18. package/esm2022/lib/base-model/lookupItem.mjs +16 -0
  19. package/esm2022/lib/base-model/page-info.mjs +17 -0
  20. package/esm2022/lib/base-model/permission-matrix.model.mjs +2 -0
  21. package/esm2022/lib/base-model/report-request.model.mjs +17 -0
  22. package/esm2022/lib/base-model/response-envelop.model.mjs +10 -0
  23. package/esm2022/lib/base-model/snack-message.model.mjs +11 -0
  24. package/esm2022/lib/base-model/table-column.interface.mjs +2 -0
  25. package/esm2022/lib/base-model/table-page-user-action.interface.mjs +21 -0
  26. package/esm2022/lib/base-model/workflow/workflow-steps.model.mjs +9 -0
  27. package/esm2022/lib/base-model/workflow/workflow.model.mjs +42 -0
  28. package/esm2022/lib/components/action-comment/action-comment.component.mjs +111 -0
  29. package/esm2022/lib/components/action-confirmation/action-confirmation.component.mjs +68 -0
  30. package/esm2022/lib/components/activity-report-form/activity-report-form.component.mjs +486 -0
  31. package/esm2022/lib/components/advanced-filter/field-filter/field-filter.component.mjs +44 -0
  32. package/esm2022/lib/components/advanced-filter/filter-builder/filter-builder.component.mjs +323 -0
  33. package/esm2022/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.mjs +70 -0
  34. package/esm2022/lib/components/audit-log-list/audit-log.component.mjs +97 -0
  35. package/esm2022/lib/components/auto-complete/auto-complete.component.mjs +300 -0
  36. package/esm2022/lib/components/base-form/base-form.component.mjs +284 -0
  37. package/esm2022/lib/components/base-form-canvas/MaxDigitsDirective.mjs +29 -0
  38. package/esm2022/lib/components/base-form-canvas/NumbersOnlyDirective.mjs +132 -0
  39. package/esm2022/lib/components/base-form-canvas/base-form-canvas.component.mjs +789 -0
  40. package/esm2022/lib/components/base-input-dialog/base-input-dialog.component.mjs +72 -0
  41. package/esm2022/lib/components/base-table/base-table.component.mjs +708 -0
  42. package/esm2022/lib/components/button-actions/button-actions.component.mjs +101 -0
  43. package/esm2022/lib/components/editable-base-table/editable-base-table.component.mjs +507 -0
  44. package/esm2022/lib/components/equation-builder/equation-builder.component.mjs +117 -0
  45. package/esm2022/lib/components/item-line-editor/item-line-editor.component.mjs +322 -0
  46. package/esm2022/lib/components/multi-auto-complete/multi-auto-complete.component.mjs +294 -0
  47. package/esm2022/lib/components/paginator/paginator.component.mjs +181 -0
  48. package/esm2022/lib/components/permission-matrix/permission-matrix.component.mjs +129 -0
  49. package/esm2022/lib/components/report-details-dialog/report-details-dialog.component.mjs +102 -0
  50. package/esm2022/lib/components/report-form/report-form.component.mjs +485 -0
  51. package/esm2022/lib/components/search-bar/search-bar.component.mjs +63 -0
  52. package/esm2022/lib/components/section-form-canvas/section-form-canvas.component.mjs +99 -0
  53. package/esm2022/lib/components/shared/action-button/action-button.component.mjs +59 -0
  54. package/esm2022/lib/components/shared/action-card/action-card.component.mjs +93 -0
  55. package/esm2022/lib/components/shared/attachment-uploader/attachment-uploader.component.mjs +74 -0
  56. package/esm2022/lib/components/shared-list/shared-list.component.mjs +47 -0
  57. package/esm2022/lib/components/snackbar-static/snackbar-static.component.mjs +43 -0
  58. package/esm2022/lib/components/title-bar/title-bar.component.mjs +185 -0
  59. package/esm2022/lib/services/backend-service.mjs +241 -0
  60. package/esm2022/lib/services/index.mjs +4 -0
  61. package/esm2022/lib/services/top-panel.mjs +22 -0
  62. package/esm2022/lib/services/trigger-form.service.mjs +17 -0
  63. package/esm2022/lib/utils/base-utils.mjs +101 -0
  64. package/esm2022/lib/validators/date-range-validator.mjs +27 -0
  65. package/esm2022/lib/validators/index.mjs +4 -0
  66. package/esm2022/lib/validators/match-list.validator.mjs +9 -0
  67. package/esm2022/lib/validators/multi-email-validator.mjs +13 -0
  68. package/esm2022/public-api.mjs +30 -0
  69. package/esm2022/unifylib-ui-lib.mjs +5 -0
  70. package/fesm2022/iq-ui-lib.mjs +6713 -0
  71. package/fesm2022/iq-ui-lib.mjs.map +1 -0
  72. package/fesm2022/unifylib-ui-lib.mjs +6713 -0
  73. package/fesm2022/unifylib-ui-lib.mjs.map +1 -0
  74. package/index.d.ts +5 -0
  75. package/lib/base-model/SearchStrConfig.d.ts +8 -0
  76. package/{src/lib/base-model/api-response.ts → lib/base-model/api-response.d.ts} +5 -7
  77. package/lib/base-model/audit-log-entry.d.ts +7 -0
  78. package/lib/base-model/button-action-settings.d.ts +16 -0
  79. package/lib/base-model/column-def.model.d.ts +11 -0
  80. package/lib/base-model/do-action-request.d.ts +10 -0
  81. package/lib/base-model/field-action.d.ts +6 -0
  82. package/lib/base-model/field-filter.model.d.ts +7 -0
  83. package/lib/base-model/field-info.d.ts +59 -0
  84. package/lib/base-model/field-predicate.model.d.ts +7 -0
  85. package/lib/base-model/filter-request.d.ts +15 -0
  86. package/lib/base-model/filter.model.d.ts +22 -0
  87. package/lib/base-model/get-items-list.d.ts +21 -0
  88. package/lib/base-model/index.d.ts +12 -0
  89. package/lib/base-model/items-total.model.d.ts +6 -0
  90. package/lib/base-model/line-item.model.d.ts +10 -0
  91. package/lib/base-model/lookupItem.d.ts +13 -0
  92. package/{src/lib/base-model/page-info.ts → lib/base-model/page-info.d.ts} +26 -24
  93. package/lib/base-model/permission-matrix.model.d.ts +18 -0
  94. package/lib/base-model/report-request.model.d.ts +18 -0
  95. package/lib/base-model/response-envelop.model.d.ts +8 -0
  96. package/lib/base-model/snack-message.model.d.ts +7 -0
  97. package/lib/base-model/table-column.interface.d.ts +31 -0
  98. package/lib/base-model/table-page-user-action.interface.d.ts +14 -0
  99. package/lib/base-model/workflow/workflow-steps.model.d.ts +7 -0
  100. package/lib/base-model/workflow/workflow.model.d.ts +13 -0
  101. package/lib/components/action-comment/action-comment.component.d.ts +35 -0
  102. package/lib/components/action-confirmation/action-confirmation.component.d.ts +27 -0
  103. package/lib/components/activity-report-form/activity-report-form.component.d.ts +93 -0
  104. package/lib/components/advanced-filter/field-filter/field-filter.component.d.ts +21 -0
  105. package/lib/components/advanced-filter/filter-builder/filter-builder.component.d.ts +51 -0
  106. package/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.d.ts +25 -0
  107. package/lib/components/audit-log-list/audit-log.component.d.ts +29 -0
  108. package/lib/components/auto-complete/auto-complete.component.d.ts +52 -0
  109. package/lib/components/base-form/base-form.component.d.ts +59 -0
  110. package/lib/components/base-form-canvas/MaxDigitsDirective.d.ts +7 -0
  111. package/lib/components/base-form-canvas/NumbersOnlyDirective.d.ts +23 -0
  112. package/lib/components/base-form-canvas/base-form-canvas.component.d.ts +142 -0
  113. package/lib/components/base-input-dialog/base-input-dialog.component.d.ts +23 -0
  114. package/lib/components/base-table/base-table.component.d.ts +172 -0
  115. package/lib/components/button-actions/button-actions.component.d.ts +19 -0
  116. package/lib/components/editable-base-table/editable-base-table.component.d.ts +109 -0
  117. package/lib/components/equation-builder/equation-builder.component.d.ts +23 -0
  118. package/lib/components/item-line-editor/item-line-editor.component.d.ts +66 -0
  119. package/lib/components/multi-auto-complete/multi-auto-complete.component.d.ts +53 -0
  120. package/lib/components/paginator/paginator.component.d.ts +41 -0
  121. package/lib/components/permission-matrix/permission-matrix.component.d.ts +26 -0
  122. package/lib/components/report-details-dialog/report-details-dialog.component.d.ts +34 -0
  123. package/lib/components/report-form/report-form.component.d.ts +92 -0
  124. package/lib/components/search-bar/search-bar.component.d.ts +29 -0
  125. package/lib/components/section-form-canvas/section-form-canvas.component.d.ts +32 -0
  126. package/lib/components/shared/action-button/action-button.component.d.ts +17 -0
  127. package/lib/components/shared/action-card/action-card.component.d.ts +37 -0
  128. package/lib/components/shared/attachment-uploader/attachment-uploader.component.d.ts +18 -0
  129. package/lib/components/shared-list/shared-list.component.d.ts +21 -0
  130. package/lib/components/snackbar-static/snackbar-static.component.d.ts +15 -0
  131. package/lib/components/title-bar/title-bar.component.d.ts +54 -0
  132. package/lib/services/backend-service.d.ts +59 -0
  133. package/{src/lib/services/index.ts → lib/services/index.d.ts} +1 -1
  134. package/lib/services/top-panel.d.ts +8 -0
  135. package/lib/services/trigger-form.service.d.ts +7 -0
  136. package/lib/utils/base-utils.d.ts +13 -0
  137. package/lib/validators/date-range-validator.d.ts +2 -0
  138. package/lib/validators/match-list.validator.d.ts +4 -0
  139. package/lib/validators/multi-email-validator.d.ts +6 -0
  140. package/package.json +16 -3
  141. package/public-api.d.ts +26 -0
  142. package/ng-package.json +0 -7
  143. package/src/lib/base-model/SearchStrConfig.ts +0 -12
  144. package/src/lib/base-model/audit-log-entry.ts +0 -7
  145. package/src/lib/base-model/button-action-settings.ts +0 -25
  146. package/src/lib/base-model/column-def.model.ts +0 -34
  147. package/src/lib/base-model/do-action-request.ts +0 -11
  148. package/src/lib/base-model/field-action.ts +0 -7
  149. package/src/lib/base-model/field-filter.model.ts +0 -14
  150. package/src/lib/base-model/field-info.ts +0 -98
  151. package/src/lib/base-model/field-predicate.model.ts +0 -7
  152. package/src/lib/base-model/filter-request.ts +0 -27
  153. package/src/lib/base-model/filter.model.ts +0 -49
  154. package/src/lib/base-model/get-items-list.ts +0 -24
  155. package/src/lib/base-model/index.ts +0 -11
  156. package/src/lib/base-model/lookupItem.ts +0 -21
  157. package/src/lib/base-model/null-snackmessage.ts +0 -9
  158. package/src/lib/base-model/report-request.model.ts +0 -33
  159. package/src/lib/base-model/response-envelop.model.ts +0 -15
  160. package/src/lib/base-model/snack-message.model.ts +0 -14
  161. package/src/lib/base-model/snackmessage-interface.ts +0 -7
  162. package/src/lib/base-model/table-column.interface.ts +0 -29
  163. package/src/lib/base-model/table-page-user-action.interface.ts +0 -33
  164. package/src/lib/base-model/workflow/workflow-steps.model.ts +0 -9
  165. package/src/lib/base-model/workflow/workflow.model.ts +0 -52
  166. package/src/lib/components/action-confirmation/action-confirmation.component.css +0 -34
  167. package/src/lib/components/action-confirmation/action-confirmation.component.html +0 -18
  168. package/src/lib/components/action-confirmation/action-confirmation.component.spec.ts +0 -23
  169. package/src/lib/components/action-confirmation/action-confirmation.component.ts +0 -58
  170. package/src/lib/components/activity-report-form/activity-report-form.component.html +0 -109
  171. package/src/lib/components/activity-report-form/activity-report-form.component.scss +0 -0
  172. package/src/lib/components/activity-report-form/activity-report-form.component.spec.ts +0 -25
  173. package/src/lib/components/activity-report-form/activity-report-form.component.ts +0 -605
  174. package/src/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.css +0 -51
  175. package/src/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.html +0 -23
  176. package/src/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.spec.ts +0 -23
  177. package/src/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.ts +0 -69
  178. package/src/lib/components/audit-log-list/audit-log.component.html +0 -23
  179. package/src/lib/components/audit-log-list/audit-log.component.scss +0 -0
  180. package/src/lib/components/audit-log-list/audit-log.component.spec.ts +0 -25
  181. package/src/lib/components/audit-log-list/audit-log.component.ts +0 -116
  182. package/src/lib/components/auto-complete/auto-complete.component.css +0 -14
  183. package/src/lib/components/auto-complete/auto-complete.component.html +0 -29
  184. package/src/lib/components/auto-complete/auto-complete.component.spec.ts +0 -23
  185. package/src/lib/components/auto-complete/auto-complete.component.ts +0 -330
  186. package/src/lib/components/base-form/base-form.component.html +0 -58
  187. package/src/lib/components/base-form/base-form.component.scss +0 -0
  188. package/src/lib/components/base-form/base-form.component.spec.ts +0 -25
  189. package/src/lib/components/base-form/base-form.component.ts +0 -305
  190. package/src/lib/components/base-form-canvas/base-form-canvas.component.css +0 -22
  191. package/src/lib/components/base-form-canvas/base-form-canvas.component.html +0 -1006
  192. package/src/lib/components/base-form-canvas/base-form-canvas.component.spec.ts +0 -23
  193. package/src/lib/components/base-form-canvas/base-form-canvas.component.ts +0 -573
  194. package/src/lib/components/base-input-dialog/base-input-dialog.component.css +0 -0
  195. package/src/lib/components/base-input-dialog/base-input-dialog.component.html +0 -42
  196. package/src/lib/components/base-input-dialog/base-input-dialog.component.spec.ts +0 -23
  197. package/src/lib/components/base-input-dialog/base-input-dialog.component.ts +0 -78
  198. package/src/lib/components/base-table/base-table.component.html +0 -242
  199. package/src/lib/components/base-table/base-table.component.scss +0 -31
  200. package/src/lib/components/base-table/base-table.component.spec.ts +0 -25
  201. package/src/lib/components/base-table/base-table.component.ts +0 -568
  202. package/src/lib/components/button-actions/button-actions.component.html +0 -28
  203. package/src/lib/components/button-actions/button-actions.component.scss +0 -6
  204. package/src/lib/components/button-actions/button-actions.component.spec.ts +0 -23
  205. package/src/lib/components/button-actions/button-actions.component.ts +0 -72
  206. package/src/lib/components/editable-base-table/editable-base-table.component.html +0 -372
  207. package/src/lib/components/editable-base-table/editable-base-table.component.scss +0 -44
  208. package/src/lib/components/editable-base-table/editable-base-table.component.spec.ts +0 -25
  209. package/src/lib/components/editable-base-table/editable-base-table.component.ts +0 -570
  210. package/src/lib/components/equation-builder/equation-builder.component.css +0 -0
  211. package/src/lib/components/equation-builder/equation-builder.component.html +0 -31
  212. package/src/lib/components/equation-builder/equation-builder.component.spec.ts +0 -23
  213. package/src/lib/components/equation-builder/equation-builder.component.ts +0 -121
  214. package/src/lib/components/multi-auto-complete/multi-auto-complete.component.css +0 -11
  215. package/src/lib/components/multi-auto-complete/multi-auto-complete.component.html +0 -38
  216. package/src/lib/components/multi-auto-complete/multi-auto-complete.component.spec.ts +0 -23
  217. package/src/lib/components/multi-auto-complete/multi-auto-complete.component.ts +0 -317
  218. package/src/lib/components/paginator/paginator.component.css +0 -25
  219. package/src/lib/components/paginator/paginator.component.html +0 -34
  220. package/src/lib/components/paginator/paginator.component.ts +0 -94
  221. package/src/lib/components/rejection-comment/action-comment.component.css +0 -33
  222. package/src/lib/components/rejection-comment/action-comment.component.html +0 -46
  223. package/src/lib/components/rejection-comment/action-comment.component.spec.ts +0 -23
  224. package/src/lib/components/rejection-comment/action-comment.component.ts +0 -86
  225. package/src/lib/components/report-details-dialog/report-details-dialog.component.css +0 -17
  226. package/src/lib/components/report-details-dialog/report-details-dialog.component.html +0 -16
  227. package/src/lib/components/report-details-dialog/report-details-dialog.component.spec.ts +0 -23
  228. package/src/lib/components/report-details-dialog/report-details-dialog.component.ts +0 -113
  229. package/src/lib/components/report-form/report-form.component.html +0 -94
  230. package/src/lib/components/report-form/report-form.component.scss +0 -0
  231. package/src/lib/components/report-form/report-form.component.spec.ts +0 -25
  232. package/src/lib/components/report-form/report-form.component.ts +0 -588
  233. package/src/lib/components/search-bar/search-bar.component.html +0 -62
  234. package/src/lib/components/search-bar/search-bar.component.scss +0 -8
  235. package/src/lib/components/search-bar/search-bar.component.spec.ts +0 -25
  236. package/src/lib/components/search-bar/search-bar.component.ts +0 -70
  237. package/src/lib/components/shared/attachment-uploader/attachment-uploader.component.css +0 -54
  238. package/src/lib/components/shared/attachment-uploader/attachment-uploader.component.html +0 -22
  239. package/src/lib/components/shared/attachment-uploader/attachment-uploader.component.spec.ts +0 -23
  240. package/src/lib/components/shared/attachment-uploader/attachment-uploader.component.ts +0 -45
  241. package/src/lib/components/shared-list/shared-list.component.css +0 -0
  242. package/src/lib/components/shared-list/shared-list.component.html +0 -17
  243. package/src/lib/components/shared-list/shared-list.component.spec.ts +0 -23
  244. package/src/lib/components/shared-list/shared-list.component.ts +0 -53
  245. package/src/lib/components/title-bar/title-bar.component.css +0 -0
  246. package/src/lib/components/title-bar/title-bar.component.css.map +0 -1
  247. package/src/lib/components/title-bar/title-bar.component.html +0 -31
  248. package/src/lib/components/title-bar/title-bar.component.scss +0 -23
  249. package/src/lib/components/title-bar/title-bar.component.spec.ts +0 -23
  250. package/src/lib/components/title-bar/title-bar.component.ts +0 -119
  251. package/src/lib/services/backend-service.ts +0 -286
  252. package/src/lib/services/top-panel.ts +0 -17
  253. package/src/lib/services/trigger-form.service.ts +0 -11
  254. package/src/lib/share-module/shared-module.ts +0 -10
  255. package/src/lib/styles/invoiceq-theme.scss +0 -252
  256. package/src/lib/styles/styles.scss +0 -1723
  257. package/src/lib/utils/base-utils.ts +0 -102
  258. package/src/lib/validators/date-range-validator.ts +0 -31
  259. package/src/lib/validators/match-list.validator.ts +0 -10
  260. package/src/lib/validators/multi-email-validator.ts +0 -15
  261. package/src/public-api.ts +0 -21
  262. package/tsconfig.lib.json +0 -15
  263. package/tsconfig.lib.prod.json +0 -11
  264. package/tsconfig.spec.json +0 -15
  265. /package/{src/lib/validators/index.ts → lib/validators/index.d.ts} +0 -0
@@ -0,0 +1,70 @@
1
+ import { Component, HostListener, Inject } from '@angular/core';
2
+ import { MAT_DIALOG_DATA, MatDialogContent, MatDialogTitle } from "@angular/material/dialog";
3
+ import { FormsModule } from "@angular/forms";
4
+ import { TranslateModule } from "@ngx-translate/core";
5
+ import { MatButton } from "@angular/material/button";
6
+ import { BaseFormCanvasComponent } from "../base-form-canvas/base-form-canvas.component";
7
+ import { MatDivider } from "@angular/material/divider";
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/material/dialog";
10
+ import * as i2 from "@ngx-translate/core";
11
+ export class AuditLogDetailsDialogComponent {
12
+ constructor(dialogRef, data) {
13
+ this.dialogRef = dialogRef;
14
+ this.data = data;
15
+ this.fields = [];
16
+ this.actionLabel = '';
17
+ this.isTermination = false;
18
+ this.comment = '';
19
+ this.external = false;
20
+ this.signingRequired = false;
21
+ this.tokenReference = "";
22
+ this.warningMsg = false;
23
+ this.item = {};
24
+ dialogRef.disableClose = true;
25
+ }
26
+ onKeyUp() {
27
+ this.dialogRef.close();
28
+ }
29
+ ngOnInit() {
30
+ this.pageInfo = this.data.pageInfo;
31
+ this.fields = this.data.fields;
32
+ this.fields = this.data.fields.map((f) => ({ ...f }));
33
+ const showHiddenFields = this.data.showHiddenFields || [];
34
+ this.fields.forEach(field => {
35
+ if (showHiddenFields.includes(field.property)) {
36
+ field.visible = true;
37
+ }
38
+ });
39
+ this.item = this.data.item;
40
+ this.comment = this.data.comment;
41
+ this.warningMsg = this.data.warningMsg || false;
42
+ }
43
+ cancel() {
44
+ this.dialogRef.close();
45
+ }
46
+ getTitle() {
47
+ return `${this.pageInfo.labelsSection}.${this.pageInfo.id}`;
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuditLogDetailsDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AuditLogDetailsDialogComponent, isStandalone: true, selector: "app-audit-log-details-dialog", host: { listeners: { "window:keyup.esc": "onKeyUp()" } }, ngImport: i0, template: "<mat-dialog-content class=\"mat-typography overflow-hidden\">\r\n <div style=\"'padding': '10px 30px 10px 0'\">\r\n <h2 mat-dialog-title>{{ getTitle()| translate }}</h2>\r\n <app-base-form-canvas\r\n [pageInfo]=\"pageInfo\"\r\n [fields]=\"fields\"\r\n [editable]=\"false\"\r\n [item]=\"item\"\r\n ></app-base-form-canvas>\r\n\r\n <p>\r\n <span class=\"invoice-label\">{{ 'audit-log.reason_dialog' | translate }} :</span>\r\n <span class=\"invoice-label-text\">{{ comment }}</span>\r\n </p>\r\n <mat-divider style=\"width: 97%\"></mat-divider>\r\n <br>\r\n <button mat-stroked-button color='accent' style=\"margin: 5px\"\r\n (click)=\"cancel()\" id=\"acceptActionLabel\">\r\n {{ 'audit-log.close' | translate }}\r\n </button>\r\n <br>\r\n </div>\r\n</mat-dialog-content>\r\n", styles: [".m-0{margin:0!important}.w-100{width:100%}.form-style{min-height:12vh!important;height:auto!important}.text-red{color:red!important}.modal-footer{margin-top:5vh}.overflow-hidden{overflow:hidden}.pad-top{margin-top:-7px;display:block}.action-comment{display:flex;justify-content:space-between}.material-icons{color:#e22222}textarea#warn::placeholder{color:red}.invoice-label{color:var(--primary-color);margin:0;font-weight:700;padding-bottom:10px!important;padding-top:6px!important;border-bottom:none!important}.invoice-label-text{color:var(--accent-color);font-weight:400;word-wrap:break-word;white-space:pre-wrap;width:100%}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: BaseFormCanvasComponent, selector: "app-base-form-canvas", inputs: ["pageInfo", "currency", "fields", "errors", "workflowEditableFields", "isWorkflowEditableManaged", "supportingAttributes", "editable", "emitOnValueChanges", "filterResetNonce", "item", "equationSuggestedFields", "currentEquationValue"], outputs: ["attachmentEmitter", "actionEmitter", "formUpdated", "hyperTextEvent", "currentEquationValueChange"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }] }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuditLogDetailsDialogComponent, decorators: [{
53
+ type: Component,
54
+ args: [{ selector: 'app-audit-log-details-dialog', standalone: true, imports: [
55
+ MatDialogTitle,
56
+ MatDialogContent,
57
+ FormsModule,
58
+ TranslateModule,
59
+ MatButton,
60
+ BaseFormCanvasComponent,
61
+ MatDivider
62
+ ], template: "<mat-dialog-content class=\"mat-typography overflow-hidden\">\r\n <div style=\"'padding': '10px 30px 10px 0'\">\r\n <h2 mat-dialog-title>{{ getTitle()| translate }}</h2>\r\n <app-base-form-canvas\r\n [pageInfo]=\"pageInfo\"\r\n [fields]=\"fields\"\r\n [editable]=\"false\"\r\n [item]=\"item\"\r\n ></app-base-form-canvas>\r\n\r\n <p>\r\n <span class=\"invoice-label\">{{ 'audit-log.reason_dialog' | translate }} :</span>\r\n <span class=\"invoice-label-text\">{{ comment }}</span>\r\n </p>\r\n <mat-divider style=\"width: 97%\"></mat-divider>\r\n <br>\r\n <button mat-stroked-button color='accent' style=\"margin: 5px\"\r\n (click)=\"cancel()\" id=\"acceptActionLabel\">\r\n {{ 'audit-log.close' | translate }}\r\n </button>\r\n <br>\r\n </div>\r\n</mat-dialog-content>\r\n", styles: [".m-0{margin:0!important}.w-100{width:100%}.form-style{min-height:12vh!important;height:auto!important}.text-red{color:red!important}.modal-footer{margin-top:5vh}.overflow-hidden{overflow:hidden}.pad-top{margin-top:-7px;display:block}.action-comment{display:flex;justify-content:space-between}.material-icons{color:#e22222}textarea#warn::placeholder{color:red}.invoice-label{color:var(--primary-color);margin:0;font-weight:700;padding-bottom:10px!important;padding-top:6px!important;border-bottom:none!important}.invoice-label-text{color:var(--accent-color);font-weight:400;word-wrap:break-word;white-space:pre-wrap;width:100%}\n"] }]
63
+ }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
64
+ type: Inject,
65
+ args: [MAT_DIALOG_DATA]
66
+ }] }], propDecorators: { onKeyUp: [{
67
+ type: HostListener,
68
+ args: ['window:keyup.esc']
69
+ }] } });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLWRldGFpbHMtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludm9pY2VxL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXVkaXQtbG9nLWRldGFpbHMtZGlhbG9nL2F1ZGl0LWxvZy1kZXRhaWxzLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnZvaWNlcS91aS1saWIvc3JjL2xpYi9jb21wb25lbnRzL2F1ZGl0LWxvZy1kZXRhaWxzLWRpYWxvZy9hdWRpdC1sb2ctZGV0YWlscy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxlQUFlLEVBQUUsZ0JBQWdCLEVBQWdCLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pHLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRW5ELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQWlCckQsTUFBTSxPQUFPLDhCQUE4QjtJQVl6QyxZQUFtQixTQUF1RCxFQUM5QixJQUFTO1FBRGxDLGNBQVMsR0FBVCxTQUFTLENBQThDO1FBQzlCLFNBQUksR0FBSixJQUFJLENBQUs7UUFYckQsV0FBTSxHQUFnQixFQUFFLENBQUM7UUFFekIsZ0JBQVcsR0FBVyxFQUFFLENBQUE7UUFDeEIsa0JBQWEsR0FBVyxLQUFLLENBQUM7UUFDOUIsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBQzVCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsU0FBSSxHQUFRLEVBQUUsQ0FBQztRQUdiLFNBQVMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFDaUMsT0FBTztRQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRS9CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFM0QsTUFBTSxnQkFBZ0IsR0FBYSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztRQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQixJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDO0lBQ2hELENBQUM7SUFFSCxNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBR0QsUUFBUTtRQUNOLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQzlELENBQUM7K0dBM0NVLDhCQUE4Qiw4Q0FhckIsZUFBZTttR0FieEIsOEJBQThCLGtKQ3hCM0MscTFCQXVCQSw4cUJEVkksY0FBYywrSEFDZCxnQkFBZ0Isd0dBQ2hCLFdBQVcsOEJBQ1gsZUFBZSw0RkFDZixTQUFTLGlMQUNULHVCQUF1Qix1YUFDdkIsVUFBVTs7NEZBS0QsOEJBQThCO2tCQWYxQyxTQUFTOytCQUNFLDhCQUE4QixjQUM1QixJQUFJLFdBQ1A7d0JBQ1AsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixTQUFTO3dCQUNULHVCQUF1Qjt3QkFDdkIsVUFBVTtxQkFDWDs7MEJBaUJZLE1BQU07MkJBQUMsZUFBZTt5Q0FHRCxPQUFPO3NCQUF4QyxZQUFZO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIEluamVjdCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ0NvbnRlbnQsIE1hdERpYWxvZ1JlZiwgTWF0RGlhbG9nVGl0bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQge01hdEJ1dHRvbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xyXG5pbXBvcnQge0ZpZWxkSW5mbywgUGFnZUluZm99IGZyb20gXCIuLi8uLi9iYXNlLW1vZGVsXCI7XHJcbmltcG9ydCB7QmFzZUZvcm1DYW52YXNDb21wb25lbnR9IGZyb20gXCIuLi9iYXNlLWZvcm0tY2FudmFzL2Jhc2UtZm9ybS1jYW52YXMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7TWF0RGl2aWRlcn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXJcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWF1ZGl0LWxvZy1kZXRhaWxzLWRpYWxvZycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXREaWFsb2dUaXRsZSxcclxuICAgIE1hdERpYWxvZ0NvbnRlbnQsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbixcclxuICAgIEJhc2VGb3JtQ2FudmFzQ29tcG9uZW50LFxyXG4gICAgTWF0RGl2aWRlclxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2F1ZGl0LWxvZy1kZXRhaWxzLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2F1ZGl0LWxvZy1kZXRhaWxzLWRpYWxvZy5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXVkaXRMb2dEZXRhaWxzRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwYWdlSW5mbzogUGFnZUluZm87XHJcbiAgZmllbGRzOiBGaWVsZEluZm9bXSA9IFtdO1xyXG5cclxuICBhY3Rpb25MYWJlbCA6IHN0cmluZyA9JydcclxuICBpc1Rlcm1pbmF0aW9uIDogYm9vbGVhbj1mYWxzZTtcclxuICBjb21tZW50OiBzdHJpbmcgPSAnJztcclxuICBleHRlcm5hbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNpZ25pbmdSZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHRva2VuUmVmZXJlbmNlOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHdhcm5pbmdNc2cgPSBmYWxzZTtcclxuICBpdGVtOiBhbnkgPSB7fTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QXVkaXRMb2dEZXRhaWxzRGlhbG9nQ29tcG9uZW50PixcclxuICAgICAgICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSkge1xyXG4gICAgZGlhbG9nUmVmLmRpc2FibGVDbG9zZSA9IHRydWU7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXl1cC5lc2MnKSBvbktleVVwKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBhZ2VJbmZvID0gdGhpcy5kYXRhLnBhZ2VJbmZvO1xyXG4gICAgdGhpcy5maWVsZHMgPSB0aGlzLmRhdGEuZmllbGRzO1xyXG5cclxuICAgIHRoaXMuZmllbGRzID0gdGhpcy5kYXRhLmZpZWxkcy5tYXAoKGY6IGFueSkgPT4gKHsgLi4uZiB9KSk7XHJcblxyXG4gICAgY29uc3Qgc2hvd0hpZGRlbkZpZWxkczogc3RyaW5nW10gPSB0aGlzLmRhdGEuc2hvd0hpZGRlbkZpZWxkcyB8fCBbXTtcclxuICAgIHRoaXMuZmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xyXG4gICAgICBpZiAoc2hvd0hpZGRlbkZpZWxkcy5pbmNsdWRlcyhmaWVsZC5wcm9wZXJ0eSkpIHtcclxuICAgICAgICBmaWVsZC52aXNpYmxlID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLml0ZW0gPSB0aGlzLmRhdGEuaXRlbTtcclxuICAgIHRoaXMuY29tbWVudCA9IHRoaXMuZGF0YS5jb21tZW50O1xyXG4gICAgdGhpcy53YXJuaW5nTXNnID0gdGhpcy5kYXRhLndhcm5pbmdNc2cgfHwgZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gIGNhbmNlbCgpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0VGl0bGUoKSB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5wYWdlSW5mby5sYWJlbHNTZWN0aW9ufS4ke3RoaXMucGFnZUluZm8uaWR9YDtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5IG92ZXJmbG93LWhpZGRlblwiPlxyXG4gIDxkaXYgc3R5bGU9XCIncGFkZGluZyc6ICcxMHB4IDMwcHggMTBweCAwJ1wiPlxyXG4gICAgPGgyIG1hdC1kaWFsb2ctdGl0bGU+e3sgZ2V0VGl0bGUoKXwgdHJhbnNsYXRlIH19PC9oMj5cclxuICAgIDxhcHAtYmFzZS1mb3JtLWNhbnZhc1xyXG4gICAgICBbcGFnZUluZm9dPVwicGFnZUluZm9cIlxyXG4gICAgICBbZmllbGRzXT1cImZpZWxkc1wiXHJcbiAgICAgIFtlZGl0YWJsZV09XCJmYWxzZVwiXHJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgPjwvYXBwLWJhc2UtZm9ybS1jYW52YXM+XHJcblxyXG4gICAgPHA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiaW52b2ljZS1sYWJlbFwiPnt7ICdhdWRpdC1sb2cucmVhc29uX2RpYWxvZycgfCB0cmFuc2xhdGUgfX0gOjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJpbnZvaWNlLWxhYmVsLXRleHRcIj57eyBjb21tZW50IH19PC9zcGFuPlxyXG4gICAgPC9wPlxyXG4gICAgPG1hdC1kaXZpZGVyIHN0eWxlPVwid2lkdGg6IDk3JVwiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICA8YnI+XHJcbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj0nYWNjZW50JyBzdHlsZT1cIm1hcmdpbjogNXB4XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCIgaWQ9XCJhY2NlcHRBY3Rpb25MYWJlbFwiPlxyXG4gICAgICB7eyAnYXVkaXQtbG9nLmNsb3NlJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnI+XHJcbiAgPC9kaXY+XHJcbjwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG4iXX0=
@@ -0,0 +1,97 @@
1
+ import { Component, Inject, Input } from '@angular/core';
2
+ import { Filter, FilterRequest } from "../../base-model";
3
+ import { TranslateModule } from "@ngx-translate/core";
4
+ import { DatePipe, NgClass, NgForOf, NgIf } from "@angular/common";
5
+ import { MatButtonModule } from "@angular/material/button";
6
+ import { MatIconModule } from "@angular/material/icon";
7
+ import { MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle } from "@angular/material/expansion";
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/material/dialog";
10
+ import * as i2 from "@angular/router";
11
+ import * as i3 from "@angular/cdk/bidi";
12
+ import * as i4 from "../../services";
13
+ import * as i5 from "@angular/material/button";
14
+ import * as i6 from "@ngx-translate/core";
15
+ export class AuditLogComponent {
16
+ constructor(dialog, activatedRoute, directionality, securityManager, backendService) {
17
+ this.dialog = dialog;
18
+ this.activatedRoute = activatedRoute;
19
+ this.directionality = directionality;
20
+ this.securityManager = securityManager;
21
+ this.backendService = backendService;
22
+ this.auditLogEntries = [];
23
+ this.fields = [];
24
+ this.showHiddenFields = [];
25
+ this.itemId = 0;
26
+ this.currentDirection = 'ltr';
27
+ }
28
+ ngOnInit() {
29
+ this.currentDirection = this.directionality.value;
30
+ this.directionality.change.subscribe((value) => {
31
+ this.currentDirection = value;
32
+ });
33
+ this.loadItem();
34
+ }
35
+ loadItem() {
36
+ const state = history.state.raw;
37
+ if (state && state.id) {
38
+ this.itemId = state.id;
39
+ }
40
+ const filterRequest = new FilterRequest();
41
+ if (this.itemId > 0) {
42
+ filterRequest.filters = [];
43
+ filterRequest.sortDirection = "DESC";
44
+ filterRequest.pageSize = 1000;
45
+ filterRequest.filters.push(new Filter({
46
+ key: 0,
47
+ fieldType: 'Long',
48
+ fieldName: 'id',
49
+ valueObject: this.itemId,
50
+ filterType: 'FILED_FILTER',
51
+ operator: 'EQUALS'
52
+ }));
53
+ }
54
+ this.backendService.getItemAuditLog(filterRequest, this.pageInfo.apiUri).subscribe({
55
+ next: (resp) => {
56
+ if (resp?.body?.length > 0) {
57
+ this.auditLogEntries = resp.body.map((entry) => ({
58
+ ...entry
59
+ }));
60
+ }
61
+ },
62
+ });
63
+ }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuditLogComponent, deps: [{ token: i1.MatDialog }, { token: i2.ActivatedRoute }, { token: i3.Directionality }, { token: 'securityManager' }, { token: i4.BackendService }], target: i0.ɵɵFactoryTarget.Component }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AuditLogComponent, isStandalone: true, selector: "app-audit-log", inputs: { pageInfo: "pageInfo", statusName: "statusName", module: "module", identifier: "identifier", fields: "fields", showHiddenFields: "showHiddenFields" }, providers: [DatePipe], ngImport: i0, template: "<div *ngIf=\"itemId > 0 && this.auditLogEntries.length > 0\">\r\n\r\n<mat-expansion-panel class=\"location-card\"\r\n #panel=\"matExpansionPanel\"\r\n [expanded]=\"true\"\r\n [hideToggle]=\"true\"\r\n (opened)=\" panel.open() \"\r\n (closed)=\" panel.open()\">\r\n <mat-expansion-panel-header class=\"card-header\" >\r\n <mat-panel-title>\r\n <div class=\"title-container\">\r\n <h3 class=\"card-title\">\r\n {{ 'audit-log.title' | translate }}\r\n </h3>\r\n </div>\r\n </mat-panel-title>\r\n\r\n </mat-expansion-panel-header>\r\n <div class=\"panel-body\">\r\n <hr class=\"divider\"/>\r\n <div class=\"timeline-container\">\r\n <div *ngFor=\"let auditLog of auditLogEntries; let i = index\" class=\"timeline-item\">\r\n <div class=\"timeline-marker\">\r\n <div class=\"timeline-circle\"></div>\r\n <div *ngIf=\"i !== auditLogEntries.length - 1\" class=\"timeline-line\"></div>\r\n </div>\r\n\r\n <div class=\"timeline-content\">\r\n <div class=\"log-main-text\">\r\n <span class=\"actor-name\">{{ auditLog.createdBy || ('system' | translate) }}</span>\r\n <span class=\"action-text\">\r\n {{\r\n 'audit-log.action_' +\r\n auditLog?.action +\r\n '_' +\r\n module\r\n | translate\r\n }}\r\n</span>\r\n <div *ngIf=\"statusName && auditLog.action === 'EDIT'\" style=\"display: inline\">\r\n <span class=\"action-text\"> to </span>\r\n <button [ngClass]=\"auditLog.subject[statusName]\" class=\"stateType\" mat-button>\r\n {{ pageInfo.labelsSection + '.' + auditLog.subject[statusName] | translate }}\r\n </button>\r\n\r\n </div>\r\n </div>\r\n <div class=\"log-timestamp\">\r\n {{ auditLog.createdOn | date: 'dd MMM, yyyy HH:mm a' }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n</mat-expansion-panel>\r\n\r\n</div>\r\n", styles: [".audit-log-header{font-family:sans-serif;color:#333;margin-bottom:8px;padding-left:10px}.timeline-container{padding:20px;background-color:#fff}.timeline-item{display:flex;margin-bottom:15px;position:relative}.timeline-marker{display:flex;flex-direction:column;align-items:center;margin-right:20px;width:20px;justify-content:center}.timeline-marker .timeline-line{width:1px;background-color:#d1d1d1;flex-grow:1;position:absolute;top:0;height:calc(100% + 80px)}.timeline-circle{width:14px;height:14px;border-radius:50%;border:2px solid #345a7d;background:#fff;z-index:2}.timeline-content{flex-grow:1;background:#fff;border:1px solid #f0f0f0;border-radius:8px;padding:15px 20px;box-shadow:0 2px 4px #0000000d;cursor:pointer;transition:background .2s}.log-main-text{font-size:14px;margin-bottom:4px;color:#333}.log-main-text .actor-name,.log-main-text .target-name{font-weight:800;color:#002c44}.log-timestamp{font-size:12px;color:#888}.location-card{border:1px solid #dcdcdc;border-radius:8px;background:#fff;margin:18px auto;overflow:hidden}.location-card .mat-expansion-panel-header{padding:0 15px}.location-card .mat-expansion-panel-header ::ng-deep .mat-content{margin:0!important}.location-card .panel-body{padding:20px 15px;padding-top:0!important}.location-card .panel-body ::ng-deep app-base-form-canvas .main-form-canvas{margin-top:20px!important}.location-card .panel-description{justify-content:end!important;margin:0!important}.location-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px!important}.location-card .card-header .title-container{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center}.location-card .card-header .card-title{margin:0;font-size:24px;font-weight:700;line-height:1.2;color:#000;width:fit-content;white-space:nowrap}.location-card .card-header .card-subtitle{margin:0;font-family:lusail-light,sans-serif;font-weight:300;font-size:16px;line-height:1.2;color:#888;width:fit-content}.location-card .card-header .btn-edit{width:120px;min-height:32px!important;border-radius:9999px!important;font-size:16px!important}.location-card .card-header .expand-icon{color:#339dff;font-size:16px}.location-card .divider{border:none;border-top:2px solid var(--primary-color-3nd);margin-bottom:20px;margin-top:0}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.row{display:flex;flex-direction:row;width:100%}.gap-20{gap:20px}.buttons-wrapper{display:flex;text-align-last:end;margin:0!important;gap:16px;justify-content:flex-end}.buttons-wrapper .action{min-height:44px!important;min-width:135px!important;width:auto!important}.button-text span{font-size:18px}.button-text mat-icon{font-size:18px!important}.btn-none-background-primary{margin:0!important}@media (max-width: 768px){.desktop-buttons{display:none!important}.desktop-buttons.show-on-mobile{display:flex!important}.mobile-buttons{display:flex;gap:12px;align-items:center;justify-content:flex-end}.btn-download-mobile{width:45px!important;height:44px!important;min-width:45px!important;padding:0!important;border-radius:8px!important;background:#0d4261!important;display:flex;align-items:center;justify-content:center}.btn-download-mobile mat-icon{color:#fff!important;font-size:24px!important;width:24px!important;height:28px!important;margin:0!important}.btn-download-mobile .mdc-button__label{padding:0!important}.btn-menu-mobile{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border-radius:8px!important;border:1px solid #3e627b!important;background:#fff!important;display:flex;align-items:center;justify-content:center}.btn-menu-mobile mat-icon{color:#0d4261!important;font-size:24px!important;width:25px!important;height:24px!important;margin:0!important;rotate:90deg}.btn-menu-mobile .mdc-button__label{padding:0!important}}@media (min-width: 769px){.mobile-buttons{display:none!important}}@media (max-width: 600px){::ng-deep .main-form-canvas{display:block!important}}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }] }); }
66
+ }
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuditLogComponent, decorators: [{
68
+ type: Component,
69
+ args: [{ selector: 'app-audit-log', standalone: true, imports: [
70
+ NgForOf,
71
+ MatButtonModule,
72
+ TranslateModule,
73
+ NgIf,
74
+ MatIconModule,
75
+ DatePipe,
76
+ NgClass,
77
+ MatExpansionPanelTitle,
78
+ MatExpansionPanel,
79
+ MatExpansionPanelHeader
80
+ ], providers: [DatePipe], template: "<div *ngIf=\"itemId > 0 && this.auditLogEntries.length > 0\">\r\n\r\n<mat-expansion-panel class=\"location-card\"\r\n #panel=\"matExpansionPanel\"\r\n [expanded]=\"true\"\r\n [hideToggle]=\"true\"\r\n (opened)=\" panel.open() \"\r\n (closed)=\" panel.open()\">\r\n <mat-expansion-panel-header class=\"card-header\" >\r\n <mat-panel-title>\r\n <div class=\"title-container\">\r\n <h3 class=\"card-title\">\r\n {{ 'audit-log.title' | translate }}\r\n </h3>\r\n </div>\r\n </mat-panel-title>\r\n\r\n </mat-expansion-panel-header>\r\n <div class=\"panel-body\">\r\n <hr class=\"divider\"/>\r\n <div class=\"timeline-container\">\r\n <div *ngFor=\"let auditLog of auditLogEntries; let i = index\" class=\"timeline-item\">\r\n <div class=\"timeline-marker\">\r\n <div class=\"timeline-circle\"></div>\r\n <div *ngIf=\"i !== auditLogEntries.length - 1\" class=\"timeline-line\"></div>\r\n </div>\r\n\r\n <div class=\"timeline-content\">\r\n <div class=\"log-main-text\">\r\n <span class=\"actor-name\">{{ auditLog.createdBy || ('system' | translate) }}</span>\r\n <span class=\"action-text\">\r\n {{\r\n 'audit-log.action_' +\r\n auditLog?.action +\r\n '_' +\r\n module\r\n | translate\r\n }}\r\n</span>\r\n <div *ngIf=\"statusName && auditLog.action === 'EDIT'\" style=\"display: inline\">\r\n <span class=\"action-text\"> to </span>\r\n <button [ngClass]=\"auditLog.subject[statusName]\" class=\"stateType\" mat-button>\r\n {{ pageInfo.labelsSection + '.' + auditLog.subject[statusName] | translate }}\r\n </button>\r\n\r\n </div>\r\n </div>\r\n <div class=\"log-timestamp\">\r\n {{ auditLog.createdOn | date: 'dd MMM, yyyy HH:mm a' }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n</mat-expansion-panel>\r\n\r\n</div>\r\n", styles: [".audit-log-header{font-family:sans-serif;color:#333;margin-bottom:8px;padding-left:10px}.timeline-container{padding:20px;background-color:#fff}.timeline-item{display:flex;margin-bottom:15px;position:relative}.timeline-marker{display:flex;flex-direction:column;align-items:center;margin-right:20px;width:20px;justify-content:center}.timeline-marker .timeline-line{width:1px;background-color:#d1d1d1;flex-grow:1;position:absolute;top:0;height:calc(100% + 80px)}.timeline-circle{width:14px;height:14px;border-radius:50%;border:2px solid #345a7d;background:#fff;z-index:2}.timeline-content{flex-grow:1;background:#fff;border:1px solid #f0f0f0;border-radius:8px;padding:15px 20px;box-shadow:0 2px 4px #0000000d;cursor:pointer;transition:background .2s}.log-main-text{font-size:14px;margin-bottom:4px;color:#333}.log-main-text .actor-name,.log-main-text .target-name{font-weight:800;color:#002c44}.log-timestamp{font-size:12px;color:#888}.location-card{border:1px solid #dcdcdc;border-radius:8px;background:#fff;margin:18px auto;overflow:hidden}.location-card .mat-expansion-panel-header{padding:0 15px}.location-card .mat-expansion-panel-header ::ng-deep .mat-content{margin:0!important}.location-card .panel-body{padding:20px 15px;padding-top:0!important}.location-card .panel-body ::ng-deep app-base-form-canvas .main-form-canvas{margin-top:20px!important}.location-card .panel-description{justify-content:end!important;margin:0!important}.location-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px!important}.location-card .card-header .title-container{display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center}.location-card .card-header .card-title{margin:0;font-size:24px;font-weight:700;line-height:1.2;color:#000;width:fit-content;white-space:nowrap}.location-card .card-header .card-subtitle{margin:0;font-family:lusail-light,sans-serif;font-weight:300;font-size:16px;line-height:1.2;color:#888;width:fit-content}.location-card .card-header .btn-edit{width:120px;min-height:32px!important;border-radius:9999px!important;font-size:16px!important}.location-card .card-header .expand-icon{color:#339dff;font-size:16px}.location-card .divider{border:none;border-top:2px solid var(--primary-color-3nd);margin-bottom:20px;margin-top:0}.flex-auto{flex:1 1 auto;display:flex;flex-direction:column}.row{display:flex;flex-direction:row;width:100%}.gap-20{gap:20px}.buttons-wrapper{display:flex;text-align-last:end;margin:0!important;gap:16px;justify-content:flex-end}.buttons-wrapper .action{min-height:44px!important;min-width:135px!important;width:auto!important}.button-text span{font-size:18px}.button-text mat-icon{font-size:18px!important}.btn-none-background-primary{margin:0!important}@media (max-width: 768px){.desktop-buttons{display:none!important}.desktop-buttons.show-on-mobile{display:flex!important}.mobile-buttons{display:flex;gap:12px;align-items:center;justify-content:flex-end}.btn-download-mobile{width:45px!important;height:44px!important;min-width:45px!important;padding:0!important;border-radius:8px!important;background:#0d4261!important;display:flex;align-items:center;justify-content:center}.btn-download-mobile mat-icon{color:#fff!important;font-size:24px!important;width:24px!important;height:28px!important;margin:0!important}.btn-download-mobile .mdc-button__label{padding:0!important}.btn-menu-mobile{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border-radius:8px!important;border:1px solid #3e627b!important;background:#fff!important;display:flex;align-items:center;justify-content:center}.btn-menu-mobile mat-icon{color:#0d4261!important;font-size:24px!important;width:25px!important;height:24px!important;margin:0!important;rotate:90deg}.btn-menu-mobile .mdc-button__label{padding:0!important}}@media (min-width: 769px){.mobile-buttons{display:none!important}}@media (max-width: 600px){::ng-deep .main-form-canvas{display:block!important}}\n"] }]
81
+ }], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.ActivatedRoute }, { type: i3.Directionality }, { type: undefined, decorators: [{
82
+ type: Inject,
83
+ args: ['securityManager']
84
+ }] }, { type: i4.BackendService }], propDecorators: { pageInfo: [{
85
+ type: Input
86
+ }], statusName: [{
87
+ type: Input
88
+ }], module: [{
89
+ type: Input
90
+ }], identifier: [{
91
+ type: Input
92
+ }], fields: [{
93
+ type: Input
94
+ }], showHiddenFields: [{
95
+ type: Input
96
+ }] } });
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludm9pY2VxL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXVkaXQtbG9nLWxpc3QvYXVkaXQtbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ludm9pY2VxL3VpLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXVkaXQtbG9nLWxpc3QvYXVkaXQtbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQVksTUFBTSxFQUFFLGFBQWEsRUFBVyxNQUFNLGtCQUFrQixDQUFDO0FBQzVFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxPQUFPLEVBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUtyRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7QUFxQi9HLE1BQU0sT0FBTyxpQkFBaUI7SUFhNUIsWUFDUyxNQUFpQixFQUNoQixjQUE4QixFQUM5QixjQUE4QixFQUNILGVBQW9CLEVBQ2hELGNBQThCO1FBSjlCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUNILG9CQUFlLEdBQWYsZUFBZSxDQUFLO1FBQ2hELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQWpCdkMsb0JBQWUsR0FBb0IsRUFBRSxDQUFDO1FBTTdCLFdBQU0sR0FBZ0IsRUFBRSxDQUFDO1FBQ3pCLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQUV6QyxXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBQ25CLHFCQUFnQixHQUFrQixLQUFLLENBQUM7SUFRckMsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDbEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU8sUUFBUTtRQUNkLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ2hDLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFFekIsQ0FBQztRQUdELE1BQU0sYUFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFDMUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3BCLGFBQWEsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQzNCLGFBQWEsQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1lBQ3JDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQzlCLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDO2dCQUNwQyxHQUFHLEVBQUUsQ0FBQztnQkFDTixTQUFTLEVBQUUsTUFBTTtnQkFDakIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUN4QixVQUFVLEVBQUUsY0FBYztnQkFDMUIsUUFBUSxFQUFFLFFBQVE7YUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2xGLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNiLElBQUksSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUM5RCxHQUFHLEtBQUs7cUJBQ1QsQ0FBQyxDQUFDLENBQUM7Z0JBQ04sQ0FBQztZQUNILENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOytHQTlEVSxpQkFBaUIsdUdBaUJsQixpQkFBaUI7bUdBakJoQixpQkFBaUIsNE5BSmpCLENBQUMsUUFBUSxDQUFDLDBCQzVCdkIsMG9FQTJEQSxpOUhEMUNJLE9BQU8sa0hBQ1AsZUFBZSwyTkFDZixlQUFlLDRGQUNmLElBQUksNEZBQ0osYUFBYSwwQkFDYixRQUFRLDZDQUNSLE9BQU8sb0ZBQ1Asc0JBQXNCLDREQUN0QixpQkFBaUIsc0xBQ2pCLHVCQUF1Qjs7NEZBTWQsaUJBQWlCO2tCQW5CN0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsZUFBZTt3QkFDZixlQUFlO3dCQUNmLElBQUk7d0JBQ0osYUFBYTt3QkFDYixRQUFRO3dCQUNSLE9BQU87d0JBQ1Asc0JBQXNCO3dCQUN0QixpQkFBaUI7d0JBQ2pCLHVCQUF1QjtxQkFDeEIsYUFDVSxDQUFDLFFBQVEsQ0FBQzs7MEJBcUJsQixNQUFNOzJCQUFDLGlCQUFpQjtzRUFkbEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGaWVsZEluZm8sIEZpbHRlciwgRmlsdGVyUmVxdWVzdCwgUGFnZUluZm99IGZyb20gXCIuLi8uLi9iYXNlLW1vZGVsXCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQge0JhY2tlbmRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXNcIjtcclxuaW1wb3J0IHtEYXRlUGlwZSwgTmdDbGFzcywgTmdGb3JPZiwgTmdJZn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xyXG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XHJcbmltcG9ydCB7TWF0RGlhbG9nfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtBdWRpdExvZ0VudHJ5fSBmcm9tIFwiLi4vLi4vYmFzZS1tb2RlbC9hdWRpdC1sb2ctZW50cnlcIjtcclxuaW1wb3J0IHtEaXJlY3Rpb25hbGl0eX0gZnJvbSBcIkBhbmd1bGFyL2Nkay9iaWRpXCI7XHJcbmltcG9ydCB7TWF0RXhwYW5zaW9uUGFuZWwsIE1hdEV4cGFuc2lvblBhbmVsSGVhZGVyLCBNYXRFeHBhbnNpb25QYW5lbFRpdGxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hdWRpdC1sb2cnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdGb3JPZixcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIE5nSWYsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgRGF0ZVBpcGUsXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTWF0RXhwYW5zaW9uUGFuZWxUaXRsZSxcclxuICAgIE1hdEV4cGFuc2lvblBhbmVsLFxyXG4gICAgTWF0RXhwYW5zaW9uUGFuZWxIZWFkZXJcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW0RhdGVQaXBlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXVkaXQtbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdWRpdC1sb2cuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXVkaXRMb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGF1ZGl0TG9nRW50cmllczogQXVkaXRMb2dFbnRyeVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHBhZ2VJbmZvITogUGFnZUluZm87XHJcbiAgQElucHV0KCkgc3RhdHVzTmFtZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBtb2R1bGU6IHN0cmluZztcclxuICBASW5wdXQoKSBpZGVudGlmaWVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZmllbGRzOiBGaWVsZEluZm9bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHNob3dIaWRkZW5GaWVsZHM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGl0ZW1JZDogbnVtYmVyID0gMDtcclxuICBjdXJyZW50RGlyZWN0aW9uOiAnbHRyJyB8ICdydGwnID0gJ2x0cic7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIGRpcmVjdGlvbmFsaXR5OiBEaXJlY3Rpb25hbGl0eSxcclxuICAgIEBJbmplY3QoJ3NlY3VyaXR5TWFuYWdlcicpIHByaXZhdGUgc2VjdXJpdHlNYW5hZ2VyOiBhbnksXHJcbiAgICBwdWJsaWMgYmFja2VuZFNlcnZpY2U6IEJhY2tlbmRTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudERpcmVjdGlvbiA9IHRoaXMuZGlyZWN0aW9uYWxpdHkudmFsdWU7XHJcbiAgICB0aGlzLmRpcmVjdGlvbmFsaXR5LmNoYW5nZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgIHRoaXMuY3VycmVudERpcmVjdGlvbiA9IHZhbHVlO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5sb2FkSXRlbSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkSXRlbSgpIHtcclxuICAgIGNvbnN0IHN0YXRlID0gaGlzdG9yeS5zdGF0ZS5yYXc7XHJcbiAgICBpZiAoc3RhdGUgJiYgc3RhdGUuaWQpIHtcclxuICAgICAgdGhpcy5pdGVtSWQgPSBzdGF0ZS5pZDtcclxuXHJcbiAgICB9XHJcblxyXG5cclxuICAgIGNvbnN0IGZpbHRlclJlcXVlc3QgPSBuZXcgRmlsdGVyUmVxdWVzdCgpO1xyXG4gICAgaWYgKHRoaXMuaXRlbUlkID4gMCkge1xyXG4gICAgICBmaWx0ZXJSZXF1ZXN0LmZpbHRlcnMgPSBbXTtcclxuICAgICAgZmlsdGVyUmVxdWVzdC5zb3J0RGlyZWN0aW9uID0gXCJERVNDXCI7XHJcbiAgICAgIGZpbHRlclJlcXVlc3QucGFnZVNpemUgPSAxMDAwO1xyXG4gICAgICBmaWx0ZXJSZXF1ZXN0LmZpbHRlcnMucHVzaChuZXcgRmlsdGVyKHtcclxuICAgICAgICBrZXk6IDAsXHJcbiAgICAgICAgZmllbGRUeXBlOiAnTG9uZycsXHJcbiAgICAgICAgZmllbGROYW1lOiAnaWQnLFxyXG4gICAgICAgIHZhbHVlT2JqZWN0OiB0aGlzLml0ZW1JZCxcclxuICAgICAgICBmaWx0ZXJUeXBlOiAnRklMRURfRklMVEVSJyxcclxuICAgICAgICBvcGVyYXRvcjogJ0VRVUFMUydcclxuICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYmFja2VuZFNlcnZpY2UuZ2V0SXRlbUF1ZGl0TG9nKGZpbHRlclJlcXVlc3QsIHRoaXMucGFnZUluZm8hLmFwaVVyaSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlc3ApID0+IHtcclxuICAgICAgICBpZiAocmVzcD8uYm9keT8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5hdWRpdExvZ0VudHJpZXMgPSByZXNwLmJvZHkubWFwKChlbnRyeTogQXVkaXRMb2dFbnRyeSkgPT4gKHtcclxuICAgICAgICAgICAgLi4uZW50cnlcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIml0ZW1JZCA+IDAgJiYgdGhpcy5hdWRpdExvZ0VudHJpZXMubGVuZ3RoID4gMFwiPlxyXG5cclxuPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9XCJsb2NhdGlvbi1jYXJkXCJcclxuICAgICAgICAgICAgICAgICAgICAgI3BhbmVsPVwibWF0RXhwYW5zaW9uUGFuZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtoaWRlVG9nZ2xlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAob3BlbmVkKT1cIiBwYW5lbC5vcGVuKCkgXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsb3NlZCk9XCIgcGFuZWwub3BlbigpXCI+XHJcbiAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIGNsYXNzPVwiY2FyZC1oZWFkZXJcIiA+XHJcbiAgICA8bWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGUtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZVwiPlxyXG4gICAgICAgICAge3sgJ2F1ZGl0LWxvZy50aXRsZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2gzPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxyXG5cclxuICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gIDxkaXYgY2xhc3M9XCJwYW5lbC1ib2R5XCI+XHJcbiAgICA8aHIgY2xhc3M9XCJkaXZpZGVyXCIvPlxyXG4gICAgPGRpdiBjbGFzcz1cInRpbWVsaW5lLWNvbnRhaW5lclwiPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBhdWRpdExvZyBvZiBhdWRpdExvZ0VudHJpZXM7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cInRpbWVsaW5lLWl0ZW1cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGltZWxpbmUtbWFya2VyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZWxpbmUtY2lyY2xlXCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaSAhPT0gYXVkaXRMb2dFbnRyaWVzLmxlbmd0aCAtIDFcIiBjbGFzcz1cInRpbWVsaW5lLWxpbmVcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRpbWVsaW5lLWNvbnRlbnRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb2ctbWFpbi10ZXh0XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0b3ItbmFtZVwiPnt7IGF1ZGl0TG9nLmNyZWF0ZWRCeSB8fCAoJ3N5c3RlbScgfCB0cmFuc2xhdGUpIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjdGlvbi10ZXh0XCI+XHJcbiAge3tcclxuICAgICAgICAgICAgICAgICdhdWRpdC1sb2cuYWN0aW9uXycgK1xyXG4gICAgICAgICAgICAgICAgYXVkaXRMb2c/LmFjdGlvbiArXHJcbiAgICAgICAgICAgICAgICAnXycgK1xyXG4gICAgICAgICAgICAgICAgbW9kdWxlXHJcbiAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgfX1cclxuPC9zcGFuPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic3RhdHVzTmFtZSAmJiBhdWRpdExvZy5hY3Rpb24gPT09ICdFRElUJ1wiIHN0eWxlPVwiZGlzcGxheTogaW5saW5lXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb24tdGV4dFwiPiB0byAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIFtuZ0NsYXNzXT1cImF1ZGl0TG9nLnN1YmplY3Rbc3RhdHVzTmFtZV1cIiBjbGFzcz1cInN0YXRlVHlwZVwiIG1hdC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICB7eyBwYWdlSW5mby5sYWJlbHNTZWN0aW9uICsgJy4nICsgYXVkaXRMb2cuc3ViamVjdFtzdGF0dXNOYW1lXSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb2ctdGltZXN0YW1wXCI+XHJcbiAgICAgICAgICAgIHt7IGF1ZGl0TG9nLmNyZWF0ZWRPbiB8IGRhdGU6ICdkZCBNTU0sIHl5eXkgIEhIOm1tIGEnIH19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcblxyXG4gIDwvZGl2PlxyXG48L21hdC1leHBhbnNpb24tcGFuZWw+XHJcblxyXG48L2Rpdj5cclxuIl19