@unifylib/ui-lib 1.0.3 → 1.1.4

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 (259) 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 +16 -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 +57 -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 +12 -0
  16. package/esm2022/lib/base-model/items-total.model.mjs +8 -0
  17. package/esm2022/lib/base-model/line-item.model.mjs +11 -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/report-request.model.mjs +17 -0
  21. package/esm2022/lib/base-model/response-envelop.model.mjs +10 -0
  22. package/esm2022/lib/base-model/snack-message.model.mjs +11 -0
  23. package/esm2022/lib/base-model/table-column.interface.mjs +2 -0
  24. package/esm2022/lib/base-model/table-page-user-action.interface.mjs +21 -0
  25. package/esm2022/lib/base-model/workflow/workflow-steps.model.mjs +9 -0
  26. package/esm2022/lib/base-model/workflow/workflow.model.mjs +42 -0
  27. package/esm2022/lib/components/action-comment/action-comment.component.mjs +101 -0
  28. package/esm2022/lib/components/action-confirmation/action-confirmation.component.mjs +55 -0
  29. package/esm2022/lib/components/activity-report-form/activity-report-form.component.mjs +499 -0
  30. package/esm2022/lib/components/advanced-filter/field-filter/field-filter.component.mjs +41 -0
  31. package/esm2022/lib/components/advanced-filter/filter-builder/filter-builder.component.mjs +162 -0
  32. package/esm2022/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.mjs +70 -0
  33. package/esm2022/lib/components/audit-log-list/audit-log.component.mjs +99 -0
  34. package/esm2022/lib/components/auto-complete/auto-complete.component.mjs +292 -0
  35. package/esm2022/lib/components/base-form/base-form.component.mjs +297 -0
  36. package/esm2022/lib/components/base-form-canvas/base-form-canvas.component.mjs +591 -0
  37. package/esm2022/lib/components/base-input-dialog/base-input-dialog.component.mjs +72 -0
  38. package/esm2022/lib/components/base-table/base-table.component.mjs +514 -0
  39. package/esm2022/lib/components/button-actions/button-actions.component.mjs +70 -0
  40. package/esm2022/lib/components/editable-base-table/editable-base-table.component.mjs +496 -0
  41. package/esm2022/lib/components/equation-builder/equation-builder.component.mjs +112 -0
  42. package/esm2022/lib/components/item-line-editor/item-line-editor.component.mjs +299 -0
  43. package/esm2022/lib/components/multi-auto-complete/multi-auto-complete.component.mjs +278 -0
  44. package/esm2022/lib/components/paginator/paginator.component.mjs +91 -0
  45. package/esm2022/lib/components/report-details-dialog/report-details-dialog.component.mjs +102 -0
  46. package/esm2022/lib/components/report-form/report-form.component.mjs +498 -0
  47. package/esm2022/lib/components/search-bar/search-bar.component.mjs +62 -0
  48. package/esm2022/lib/components/section-form-canvas/section-form-canvas.component.mjs +81 -0
  49. package/esm2022/lib/components/shared/action-button/action-button.component.mjs +59 -0
  50. package/esm2022/lib/components/shared/action-card/action-card.component.mjs +93 -0
  51. package/esm2022/lib/components/shared/attachment-uploader/attachment-uploader.component.mjs +70 -0
  52. package/esm2022/lib/components/shared-list/shared-list.component.mjs +47 -0
  53. package/esm2022/lib/components/snackbar-static/snackbar-static.component.mjs +43 -0
  54. package/esm2022/lib/components/title-bar/title-bar.component.mjs +119 -0
  55. package/esm2022/lib/services/backend-service.mjs +240 -0
  56. package/esm2022/lib/services/index.mjs +4 -0
  57. package/esm2022/lib/services/top-panel.mjs +22 -0
  58. package/esm2022/lib/services/trigger-form.service.mjs +17 -0
  59. package/esm2022/lib/utils/base-utils.mjs +97 -0
  60. package/esm2022/lib/validators/date-range-validator.mjs +27 -0
  61. package/esm2022/lib/validators/index.mjs +4 -0
  62. package/esm2022/lib/validators/match-list.validator.mjs +9 -0
  63. package/esm2022/lib/validators/multi-email-validator.mjs +13 -0
  64. package/esm2022/public-api.mjs +29 -0
  65. package/esm2022/q-btech-ui-lib.mjs +5 -0
  66. package/esm2022/unifylib-ui-lib.mjs +5 -0
  67. package/fesm2022/iq-ui-lib.mjs +5625 -0
  68. package/fesm2022/iq-ui-lib.mjs.map +1 -0
  69. package/fesm2022/q-btech-ui-lib.mjs +5619 -0
  70. package/fesm2022/q-btech-ui-lib.mjs.map +1 -0
  71. package/fesm2022/unifylib-ui-lib.mjs +5625 -0
  72. package/fesm2022/unifylib-ui-lib.mjs.map +1 -0
  73. package/index.d.ts +5 -0
  74. package/lib/base-model/SearchStrConfig.d.ts +8 -0
  75. package/{src/lib/base-model/api-response.ts → lib/base-model/api-response.d.ts} +5 -7
  76. package/lib/base-model/audit-log-entry.d.ts +7 -0
  77. package/lib/base-model/button-action-settings.d.ts +15 -0
  78. package/lib/base-model/column-def.model.d.ts +11 -0
  79. package/lib/base-model/do-action-request.d.ts +10 -0
  80. package/lib/base-model/field-action.d.ts +6 -0
  81. package/lib/base-model/field-filter.model.d.ts +7 -0
  82. package/lib/base-model/field-info.d.ts +53 -0
  83. package/lib/base-model/field-predicate.model.d.ts +7 -0
  84. package/lib/base-model/filter-request.d.ts +15 -0
  85. package/lib/base-model/filter.model.d.ts +22 -0
  86. package/lib/base-model/get-items-list.d.ts +21 -0
  87. package/lib/base-model/index.d.ts +11 -0
  88. package/lib/base-model/items-total.model.d.ts +6 -0
  89. package/lib/base-model/line-item.model.d.ts +9 -0
  90. package/lib/base-model/lookupItem.d.ts +13 -0
  91. package/{src/lib/base-model/page-info.ts → lib/base-model/page-info.d.ts} +25 -24
  92. package/lib/base-model/report-request.model.d.ts +18 -0
  93. package/lib/base-model/response-envelop.model.d.ts +8 -0
  94. package/lib/base-model/snack-message.model.d.ts +7 -0
  95. package/lib/base-model/table-column.interface.d.ts +28 -0
  96. package/lib/base-model/table-page-user-action.interface.d.ts +14 -0
  97. package/lib/base-model/workflow/workflow-steps.model.d.ts +7 -0
  98. package/lib/base-model/workflow/workflow.model.d.ts +13 -0
  99. package/lib/components/action-comment/action-comment.component.d.ts +32 -0
  100. package/lib/components/action-confirmation/action-confirmation.component.d.ts +19 -0
  101. package/lib/components/activity-report-form/activity-report-form.component.d.ts +93 -0
  102. package/lib/components/advanced-filter/field-filter/field-filter.component.d.ts +20 -0
  103. package/lib/components/advanced-filter/filter-builder/filter-builder.component.d.ts +28 -0
  104. package/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.d.ts +25 -0
  105. package/lib/components/audit-log-list/audit-log.component.d.ts +36 -0
  106. package/lib/components/auto-complete/auto-complete.component.d.ts +51 -0
  107. package/lib/components/base-form/base-form.component.d.ts +59 -0
  108. package/lib/components/base-form-canvas/base-form-canvas.component.d.ts +124 -0
  109. package/lib/components/base-input-dialog/base-input-dialog.component.d.ts +23 -0
  110. package/lib/components/base-table/base-table.component.d.ts +128 -0
  111. package/lib/components/button-actions/button-actions.component.d.ts +17 -0
  112. package/lib/components/editable-base-table/editable-base-table.component.d.ts +106 -0
  113. package/lib/components/equation-builder/equation-builder.component.d.ts +23 -0
  114. package/lib/components/item-line-editor/item-line-editor.component.d.ts +64 -0
  115. package/lib/components/multi-auto-complete/multi-auto-complete.component.d.ts +51 -0
  116. package/lib/components/paginator/paginator.component.d.ts +26 -0
  117. package/lib/components/report-details-dialog/report-details-dialog.component.d.ts +34 -0
  118. package/lib/components/report-form/report-form.component.d.ts +92 -0
  119. package/lib/components/search-bar/search-bar.component.d.ts +29 -0
  120. package/lib/components/section-form-canvas/section-form-canvas.component.d.ts +27 -0
  121. package/lib/components/shared/action-button/action-button.component.d.ts +17 -0
  122. package/lib/components/shared/action-card/action-card.component.d.ts +37 -0
  123. package/lib/components/shared/attachment-uploader/attachment-uploader.component.d.ts +16 -0
  124. package/lib/components/shared-list/shared-list.component.d.ts +21 -0
  125. package/lib/components/snackbar-static/snackbar-static.component.d.ts +15 -0
  126. package/lib/components/title-bar/title-bar.component.d.ts +42 -0
  127. package/lib/services/backend-service.d.ts +59 -0
  128. package/{src/lib/services/index.ts → lib/services/index.d.ts} +1 -1
  129. package/lib/services/top-panel.d.ts +8 -0
  130. package/lib/services/trigger-form.service.d.ts +7 -0
  131. package/lib/utils/base-utils.d.ts +13 -0
  132. package/lib/validators/date-range-validator.d.ts +2 -0
  133. package/lib/validators/match-list.validator.d.ts +4 -0
  134. package/lib/validators/multi-email-validator.d.ts +6 -0
  135. package/package.json +19 -4
  136. package/{src/public-api.ts → public-api.d.ts} +22 -18
  137. package/ng-package.json +0 -7
  138. package/src/lib/base-model/SearchStrConfig.ts +0 -12
  139. package/src/lib/base-model/audit-log-entry.ts +0 -7
  140. package/src/lib/base-model/button-action-settings.ts +0 -25
  141. package/src/lib/base-model/column-def.model.ts +0 -34
  142. package/src/lib/base-model/do-action-request.ts +0 -11
  143. package/src/lib/base-model/field-action.ts +0 -7
  144. package/src/lib/base-model/field-filter.model.ts +0 -14
  145. package/src/lib/base-model/field-info.ts +0 -98
  146. package/src/lib/base-model/field-predicate.model.ts +0 -7
  147. package/src/lib/base-model/filter-request.ts +0 -27
  148. package/src/lib/base-model/filter.model.ts +0 -49
  149. package/src/lib/base-model/get-items-list.ts +0 -24
  150. package/src/lib/base-model/index.ts +0 -11
  151. package/src/lib/base-model/lookupItem.ts +0 -21
  152. package/src/lib/base-model/null-snackmessage.ts +0 -9
  153. package/src/lib/base-model/report-request.model.ts +0 -33
  154. package/src/lib/base-model/response-envelop.model.ts +0 -15
  155. package/src/lib/base-model/snack-message.model.ts +0 -14
  156. package/src/lib/base-model/snackmessage-interface.ts +0 -7
  157. package/src/lib/base-model/table-column.interface.ts +0 -29
  158. package/src/lib/base-model/table-page-user-action.interface.ts +0 -33
  159. package/src/lib/base-model/workflow/workflow-steps.model.ts +0 -9
  160. package/src/lib/base-model/workflow/workflow.model.ts +0 -52
  161. package/src/lib/components/action-confirmation/action-confirmation.component.css +0 -34
  162. package/src/lib/components/action-confirmation/action-confirmation.component.html +0 -18
  163. package/src/lib/components/action-confirmation/action-confirmation.component.spec.ts +0 -23
  164. package/src/lib/components/action-confirmation/action-confirmation.component.ts +0 -58
  165. package/src/lib/components/activity-report-form/activity-report-form.component.html +0 -109
  166. package/src/lib/components/activity-report-form/activity-report-form.component.scss +0 -0
  167. package/src/lib/components/activity-report-form/activity-report-form.component.spec.ts +0 -25
  168. package/src/lib/components/activity-report-form/activity-report-form.component.ts +0 -605
  169. package/src/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.css +0 -51
  170. package/src/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.html +0 -23
  171. package/src/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.spec.ts +0 -23
  172. package/src/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.ts +0 -69
  173. package/src/lib/components/audit-log-list/audit-log.component.html +0 -23
  174. package/src/lib/components/audit-log-list/audit-log.component.scss +0 -0
  175. package/src/lib/components/audit-log-list/audit-log.component.spec.ts +0 -25
  176. package/src/lib/components/audit-log-list/audit-log.component.ts +0 -116
  177. package/src/lib/components/auto-complete/auto-complete.component.css +0 -14
  178. package/src/lib/components/auto-complete/auto-complete.component.html +0 -29
  179. package/src/lib/components/auto-complete/auto-complete.component.spec.ts +0 -23
  180. package/src/lib/components/auto-complete/auto-complete.component.ts +0 -330
  181. package/src/lib/components/base-form/base-form.component.html +0 -58
  182. package/src/lib/components/base-form/base-form.component.scss +0 -0
  183. package/src/lib/components/base-form/base-form.component.spec.ts +0 -25
  184. package/src/lib/components/base-form/base-form.component.ts +0 -305
  185. package/src/lib/components/base-form-canvas/base-form-canvas.component.css +0 -22
  186. package/src/lib/components/base-form-canvas/base-form-canvas.component.html +0 -1006
  187. package/src/lib/components/base-form-canvas/base-form-canvas.component.spec.ts +0 -23
  188. package/src/lib/components/base-form-canvas/base-form-canvas.component.ts +0 -573
  189. package/src/lib/components/base-input-dialog/base-input-dialog.component.css +0 -0
  190. package/src/lib/components/base-input-dialog/base-input-dialog.component.html +0 -42
  191. package/src/lib/components/base-input-dialog/base-input-dialog.component.spec.ts +0 -23
  192. package/src/lib/components/base-input-dialog/base-input-dialog.component.ts +0 -78
  193. package/src/lib/components/base-table/base-table.component.html +0 -242
  194. package/src/lib/components/base-table/base-table.component.scss +0 -31
  195. package/src/lib/components/base-table/base-table.component.spec.ts +0 -25
  196. package/src/lib/components/base-table/base-table.component.ts +0 -568
  197. package/src/lib/components/button-actions/button-actions.component.html +0 -28
  198. package/src/lib/components/button-actions/button-actions.component.scss +0 -6
  199. package/src/lib/components/button-actions/button-actions.component.spec.ts +0 -23
  200. package/src/lib/components/button-actions/button-actions.component.ts +0 -72
  201. package/src/lib/components/editable-base-table/editable-base-table.component.html +0 -372
  202. package/src/lib/components/editable-base-table/editable-base-table.component.scss +0 -44
  203. package/src/lib/components/editable-base-table/editable-base-table.component.spec.ts +0 -25
  204. package/src/lib/components/editable-base-table/editable-base-table.component.ts +0 -570
  205. package/src/lib/components/equation-builder/equation-builder.component.css +0 -0
  206. package/src/lib/components/equation-builder/equation-builder.component.html +0 -31
  207. package/src/lib/components/equation-builder/equation-builder.component.spec.ts +0 -23
  208. package/src/lib/components/equation-builder/equation-builder.component.ts +0 -121
  209. package/src/lib/components/multi-auto-complete/multi-auto-complete.component.css +0 -11
  210. package/src/lib/components/multi-auto-complete/multi-auto-complete.component.html +0 -38
  211. package/src/lib/components/multi-auto-complete/multi-auto-complete.component.spec.ts +0 -23
  212. package/src/lib/components/multi-auto-complete/multi-auto-complete.component.ts +0 -317
  213. package/src/lib/components/paginator/paginator.component.css +0 -25
  214. package/src/lib/components/paginator/paginator.component.html +0 -34
  215. package/src/lib/components/paginator/paginator.component.ts +0 -94
  216. package/src/lib/components/rejection-comment/action-comment.component.css +0 -33
  217. package/src/lib/components/rejection-comment/action-comment.component.html +0 -46
  218. package/src/lib/components/rejection-comment/action-comment.component.spec.ts +0 -23
  219. package/src/lib/components/rejection-comment/action-comment.component.ts +0 -86
  220. package/src/lib/components/report-details-dialog/report-details-dialog.component.css +0 -17
  221. package/src/lib/components/report-details-dialog/report-details-dialog.component.html +0 -16
  222. package/src/lib/components/report-details-dialog/report-details-dialog.component.spec.ts +0 -23
  223. package/src/lib/components/report-details-dialog/report-details-dialog.component.ts +0 -113
  224. package/src/lib/components/report-form/report-form.component.html +0 -94
  225. package/src/lib/components/report-form/report-form.component.scss +0 -0
  226. package/src/lib/components/report-form/report-form.component.spec.ts +0 -25
  227. package/src/lib/components/report-form/report-form.component.ts +0 -588
  228. package/src/lib/components/search-bar/search-bar.component.html +0 -62
  229. package/src/lib/components/search-bar/search-bar.component.scss +0 -8
  230. package/src/lib/components/search-bar/search-bar.component.spec.ts +0 -25
  231. package/src/lib/components/search-bar/search-bar.component.ts +0 -70
  232. package/src/lib/components/shared/attachment-uploader/attachment-uploader.component.css +0 -54
  233. package/src/lib/components/shared/attachment-uploader/attachment-uploader.component.html +0 -22
  234. package/src/lib/components/shared/attachment-uploader/attachment-uploader.component.spec.ts +0 -23
  235. package/src/lib/components/shared/attachment-uploader/attachment-uploader.component.ts +0 -45
  236. package/src/lib/components/shared-list/shared-list.component.css +0 -0
  237. package/src/lib/components/shared-list/shared-list.component.html +0 -17
  238. package/src/lib/components/shared-list/shared-list.component.spec.ts +0 -23
  239. package/src/lib/components/shared-list/shared-list.component.ts +0 -53
  240. package/src/lib/components/title-bar/title-bar.component.css +0 -0
  241. package/src/lib/components/title-bar/title-bar.component.css.map +0 -1
  242. package/src/lib/components/title-bar/title-bar.component.html +0 -31
  243. package/src/lib/components/title-bar/title-bar.component.scss +0 -23
  244. package/src/lib/components/title-bar/title-bar.component.spec.ts +0 -23
  245. package/src/lib/components/title-bar/title-bar.component.ts +0 -119
  246. package/src/lib/services/backend-service.ts +0 -286
  247. package/src/lib/services/top-panel.ts +0 -17
  248. package/src/lib/services/trigger-form.service.ts +0 -11
  249. package/src/lib/share-module/shared-module.ts +0 -10
  250. package/src/lib/styles/invoiceq-theme.scss +0 -252
  251. package/src/lib/styles/styles.scss +0 -1723
  252. package/src/lib/utils/base-utils.ts +0 -102
  253. package/src/lib/validators/date-range-validator.ts +0 -31
  254. package/src/lib/validators/match-list.validator.ts +0 -10
  255. package/src/lib/validators/multi-email-validator.ts +0 -15
  256. package/tsconfig.lib.json +0 -15
  257. package/tsconfig.lib.prod.json +0 -11
  258. package/tsconfig.spec.json +0 -15
  259. /package/{src/lib/validators/index.ts → lib/validators/index.d.ts} +0 -0
@@ -1,58 +0,0 @@
1
- <div fxLayout="column" fxFlex="2" fxHide.lt-sm [ngStyle]="{'height':isMatchHeight() ? '30vh' : '88vh' }">
2
-
3
- </div>
4
-
5
- <div fxLayout="column" style="width: 100%">
6
- <div fxLayout="row" fxLayoutAlign="start start" style="margin-top: 2vh; width: 100%">
7
- <div fxLayout="column" fxFlex="100">
8
- <app-title-bar [pageTitle]="getTitle()" [newAction]="false" [hideBackButton]="hideBackButton"></app-title-bar>
9
- </div>
10
- </div>
11
- <app-base-form-canvas
12
- [pageInfo]="pageInfo"
13
- [fields]="fields"
14
- [editable]="editable"
15
- [errors]="errors"
16
- [item]="item"
17
- (formUpdated)="updateForm($event)"
18
- ></app-base-form-canvas>
19
-
20
- <div fxLayout="row" fxLayoutGap="10px" fxLayoutAlign="start start" fxLayoutAlign.lt-sm="center start"
21
- class="main-form-canvas"
22
- style="margin-top: 3vh; width: 100%">
23
-
24
- <div fxLayout="column" fxFlex="49">
25
- <div fxLayout="row" fxLayoutAlign="start center" fxFlex="100" >
26
- <button *ngIf="hasWfPositivePermission()" color="primary" mat-flat-button (click)="doSaveApproveAction()"
27
- [disabled]="disabledSaveButton(item)"
28
- style="font-weight: bold;min-width: 140px; max-width: 200px; margin: 0 10px;">
29
- {{ getPositiveWfActionKey(item?.stateType) | translate }}
30
- </button>
31
- <button *ngIf="hasWfNegativePermission()" color="second" mat-raised-button (click)="doCancelRejectAction()"
32
- [disabled]="disabledSaveButton(item)"
33
- style="font-weight: bold;min-width: 140px ;max-width: 200px;">
34
- {{ getNegativeWfActionKey(item?.stateType) | translate }}
35
- </button>
36
-
37
- <button *ngIf="pageInfo.hideExtractButton === false && itemId > 0 && editable" color="primary" mat-raised-button (click)="doExtraAction()"
38
- style="font-weight: bold;min-width: 140px; max-width: 200px; margin: 0 10px;">
39
- {{ pageInfo.labelsSection + "." + "EXTRA_BUTTON_NAME" | translate }}
40
- </button>
41
-
42
- </div>
43
- </div>
44
- <div fxLayout="column" fxFlex="49"></div>
45
-
46
- </div>
47
- <ng-container *ngIf="!pageInfo.hideAuditLog">
48
- <div fxLayout="row" fxLayoutGap="10px" fxLayoutAlign="start start" fxLayoutAlign.lt-sm="center start"
49
- class="main-form-canvas" style="padding-top: 4vh; padding-bottom: 5vh; width: 100%">
50
- <div fxLayout="column" fxFlex="95">
51
- <app-audit-log [pageInfo]="pageInfo" [fields]="fields"></app-audit-log>
52
- </div>
53
- <!-- ></app-audit-log>-->
54
- </div>
55
- </ng-container>
56
- </div>
57
-
58
-
@@ -1,25 +0,0 @@
1
- import {ComponentFixture, TestBed} from '@angular/core/testing';
2
-
3
- import {BaseFormComponent} from './base-form.component';
4
-
5
- describe('BaseFormComponent', () => {
6
- let component: BaseFormComponent;
7
- let fixture: ComponentFixture<BaseFormComponent>;
8
-
9
- beforeEach(async () => {
10
- await TestBed.configureTestingModule({
11
- declarations: [ BaseFormComponent ]
12
- })
13
- .compileComponents();
14
- });
15
-
16
- beforeEach(() => {
17
- fixture = TestBed.createComponent(BaseFormComponent);
18
- component = fixture.componentInstance;
19
- fixture.detectChanges();
20
- });
21
-
22
- it('should create', () => {
23
- expect(component).toBeTruthy();
24
- });
25
- });
@@ -1,305 +0,0 @@
1
- import {Component, EventEmitter, Inject, Input, OnChanges, OnInit, Output, SimpleChanges} from '@angular/core';
2
- import {FieldInfo, Filter, FilterRequest, NEW, PageInfo, SAVE_AND_COMPLETE, SnackMessage} from "../../base-model";
3
- import {FieldMessage} from "../../base-model/api-response";
4
- import {TranslateModule} from "@ngx-translate/core";
5
- import {BackendService} from "../../services";
6
- import {FormGroup} from "@angular/forms";
7
- import {Location, NgIf} from "@angular/common";
8
- import {FlexLayoutModule} from "@angular/flex-layout";
9
- import {MatButton, MatButtonModule} from "@angular/material/button";
10
- import {MatIconModule} from "@angular/material/icon";
11
- import {TitleBarComponent} from "../title-bar/title-bar.component";
12
- import {BaseFormCanvasComponent} from "../base-form-canvas/base-form-canvas.component";
13
- import {DoActionRequest, SAVE} from "../../base-model/do-action-request";
14
- import {ActionCommentComponent} from "../rejection-comment/action-comment.component";
15
- import {MatDialog} from "@angular/material/dialog";
16
- import {BaseUtils, getNegativeWfActionKey, getPositiveWfActionKey, getWfActionId} from "../../utils/base-utils";
17
- import {ActivatedRoute, Router} from "@angular/router";
18
- import {AuditLogComponent} from "../audit-log-list/audit-log.component";
19
- import {Directionality} from "@angular/cdk/bidi";
20
-
21
- @Component({
22
- selector: 'app-base-form',
23
- standalone: true,
24
- imports: [
25
- FlexLayoutModule,
26
- TitleBarComponent,
27
- BaseFormCanvasComponent,
28
- MatButtonModule,
29
- TranslateModule,
30
- NgIf,
31
- MatIconModule,
32
- MatButton,
33
- AuditLogComponent
34
- ],
35
- templateUrl: './base-form.component.html',
36
- styleUrl: './base-form.component.scss'
37
- })
38
- export class BaseFormComponent extends BaseUtils implements OnInit, OnChanges {
39
-
40
- @Input()
41
- override pageInfo!: PageInfo;
42
-
43
- @Input()// @ts-ignore
44
- fields: FieldInfo[] = [];
45
-
46
- @Input()// @ts-ignore
47
- errors: FieldMessage[] = [];
48
-
49
- @Input()
50
- editable: boolean = false;
51
-
52
- @Input()
53
- itemId: number;
54
-
55
- @Output()
56
- actionResultEmitter: EventEmitter<any> = new EventEmitter<any>();
57
-
58
- @Output()
59
- formUpdated: EventEmitter<FormGroup> = new EventEmitter<FormGroup>();
60
-
61
- @Output()
62
- itemLoaded: EventEmitter<any> = new EventEmitter<any>();
63
-
64
- @Output()
65
- extraAction: EventEmitter<any> = new EventEmitter<any>();
66
-
67
- item : any = {};
68
- isLoaded : boolean = false;
69
-
70
- @Output()
71
- hyperTextEvent: EventEmitter<boolean> = new EventEmitter();
72
-
73
- currentDirection: 'ltr' | 'rtl';
74
- isSaveDisabled: boolean = true;
75
- isRejectDisabled: boolean = true;
76
-
77
- @Input()
78
- hideBackButton: boolean = true;
79
- protected readonly SAVE = SAVE;
80
- private isPending: boolean;
81
-
82
- constructor(public dialog: MatDialog,
83
- private activatedRoute: ActivatedRoute,
84
- private router:Router,
85
- private directionality: Directionality,
86
- private location:Location,
87
- @Inject('securityManager') private securityManager: any,
88
- public backendService: BackendService) {
89
- super();
90
- }
91
-
92
- ngOnInit(): void {
93
- this.currentDirection = this.directionality.value;
94
- this.directionality.change.subscribe((value) => {
95
- this.currentDirection = value;
96
- })
97
-
98
- // console.log('editable', this.editable)
99
- this.securityManager.loadPermissions().subscribe(x => {
100
- console.log("before edit", this.editable);
101
- this.loadItem();
102
- console.log("after edit", this.editable);
103
- });
104
- }
105
-
106
- ngOnChanges({item, errors, fields}: SimpleChanges): void {
107
- }
108
-
109
- isValid() {
110
- return this.backendService.parentForm?.valid;
111
- }
112
-
113
- isMatchHeight() {
114
- return this.pageInfo.pageHeight === 'match';
115
- }
116
-
117
- private loadItem() {
118
- this.editable = false;
119
- this.isPending = this.backendService.decrypt(this.activatedRoute.snapshot.queryParams['mode']) === 'pending';
120
-
121
- if (this.activatedRoute.snapshot.queryParams['token'] && this.activatedRoute.snapshot.queryParams['mode']) {
122
- this.itemId = this.backendService.decrypt(this.activatedRoute.snapshot.queryParams['token']);
123
- } else {
124
- // console.log(' ****** ****** ****** ****** error in url ')
125
- }
126
- if (this.itemId > 0) {
127
- const filterRequest = new FilterRequest;
128
- filterRequest.columns = this.fields.filter(c => c.type !== 'spacer').map(c => c.property);
129
- filterRequest.pendingPage = this.isPending;
130
- filterRequest.filters = [];
131
- filterRequest.filters.push(new Filter({
132
- key: 0,
133
- fieldType: 'Long',
134
- fieldName: 'id',
135
- valueObject: this.itemId,
136
- filterType: 'FILED_FILTER',
137
- operator: 'EQUALS'
138
- }));
139
- ///audit-log
140
- this.backendService.getItemAuditLog(filterRequest, this.pageInfo!.apiUri).subscribe(resp => {
141
- // console.log('resp', resp);
142
- });
143
- this.backendService.getItemsByFilter(filterRequest, this.pageInfo!.apiUri).subscribe(resp => {
144
- if (resp?.valid && resp.body?.length >= 0) {
145
- this.item = resp.body[0];
146
- this.editable = (!this.pageInfo.draftSupported || !this.isPending) && this.securityManager.hasPagePermission(this.pageInfo.id, 'EDIT')
147
- && (!this.pageInfo.draftSupported ||this.item['stateType'] === 'COMPLETED' );
148
- this.itemLoaded.emit(this.item);
149
- this.isLoaded = true;
150
- }
151
- });
152
- } else {
153
- this.editable = this.securityManager.hasPagePermission(this.pageInfo.id, 'EDIT');
154
- this.item = {};
155
- this.itemLoaded.emit(this.item);
156
- this.isLoaded = true;
157
- }
158
-
159
- }
160
-
161
- buildDoActionSubject(): any {
162
- const newVar = this.editable ? Object.assign(this.item, this.backendService.parentForm.value) : this.item;
163
- if (this.itemId <= 0 && this.editable ) {
164
- //TODO this is like a hack and must be handled from backend
165
- newVar['stateType'] = 'NEW';
166
- }
167
- this.fields.forEach(field => {
168
- if (field.flattenBySubAttribute){
169
- newVar[field.property] = newVar[field.property][field.flattenBySubAttribute]
170
- }
171
- })
172
- if (!this.pageInfo.draftSupported){
173
- newVar['status'] = true;
174
- }
175
- return newVar;
176
- }
177
-
178
-
179
- doSaveApproveAction() {
180
- let actionId = getWfActionId(this.item.stateType);
181
- if (this.itemId <= 0 && this.editable ) {
182
- actionId = NEW
183
- }
184
- if (!this.pageInfo.draftSupported) {
185
- actionId = SAVE_AND_COMPLETE
186
- }
187
- if (this.editable && this.backendService.parentForm.valid !== true) {
188
- this.backendService.topPanelMessage$.next(new SnackMessage('INVALID_INPUT_FORM', true, 'error'));
189
- return;
190
- }
191
- const request = new DoActionRequest();
192
- request.actionId = actionId;
193
- request.subject = this.buildDoActionSubject();
194
-
195
- const dialogRef = this.dialog.open(ActionCommentComponent, {
196
- data: {label: 'save', isTermination: false},
197
- width: '600px',
198
- height: 'auto',
199
- direction: this.currentDirection
200
- });
201
- dialogRef.afterClosed().subscribe(result => {
202
- if (result) {
203
- request.comment = result.comment;
204
- this.backendService.doActionWithAttachments(request, [], this.pageInfo!).subscribe(resp => {
205
- console.log('step',actionId);
206
- this.actionResultEmitter.emit({ valid: resp.valid, actionId: actionId });
207
- if (resp.valid ) {
208
- let message = 'approve_successfully';
209
- switch (actionId) {
210
- case 1:
211
- message = 'saved_successfully';
212
- break;
213
- case 2:
214
- message = 'updated_successfully';
215
- break;
216
- default:
217
- message = 'approve_successfully';
218
- }
219
- this.backendService.topPanelMessage$.next(new SnackMessage(message, true, 'success'));
220
- this.backToParent();
221
- }
222
- else{
223
- request.subject['stateType'] = null;
224
- if (resp.message[0].errorMessage.toLowerCase().includes('duplic'))
225
- this.backendService.topPanelMessage$.next(new SnackMessage(this.pageInfo.labelsSection + '.' + resp.message[0].errorCode, true, 'error'));
226
- }
227
- });
228
- }
229
- });
230
- }
231
-
232
- backToParent() {
233
- const idIdx = this.router.url.lastIndexOf('/');
234
- this.router.navigateByUrl(this.router.url.substring(0, idIdx));
235
- }
236
-
237
-
238
- getTitle() {
239
- return `${this.pageInfo.labelsSection}.${this.pageInfo.id}` ;
240
- }
241
-
242
- updateForm($event: FormGroup) {
243
- this.backendService.parentForm = $event;
244
- this.formUpdated.emit($event);
245
- }
246
-
247
- doCancelRejectAction() {
248
- if (!this.editable){
249
- let actionId = 3;
250
- // console.log('actionId',actionId);
251
- const request = new DoActionRequest();
252
- request.actionId = actionId;
253
- request.subject = this.buildDoActionSubject();
254
-
255
- const dialogRef = this.dialog.open(ActionCommentComponent, {
256
- data: {label: 'reject', acceptActionLabel: 'accept', rejectActionLabel: 'return'},
257
- width: '600px',
258
- height: 'auto',
259
- direction: this.currentDirection
260
- });
261
- dialogRef.afterClosed().subscribe(result => {
262
- if (result) {
263
- request.comment = result.comment;
264
- this.backendService.doActionWithAttachments(request, [], this.pageInfo!).subscribe(resp => {
265
- this.actionResultEmitter.emit({ valid: resp.valid, actionId: actionId });
266
- if (resp.valid) {
267
- this.backendService.topPanelMessage$.next(new SnackMessage('successful_reject_message', true, 'success'));
268
- this.backToParent();
269
- }
270
- });
271
- }
272
- });
273
- }
274
- else {
275
- this.location.back()
276
- }
277
- }
278
-
279
- hasWfPermission() {
280
- return (this.securityManager.hasPagePermission(this.pageInfo.id, 'EDIT')
281
- || this.securityManager.hasPagePermission(this.pageInfo.id, 'COMPLETE')
282
- || this.securityManager.hasPagePermission(this.pageInfo.id, 'TERMINATE'))
283
- }
284
-
285
- protected readonly getPositiveWfActionKey = getPositiveWfActionKey;
286
- protected readonly getNegativeWfActionKey = getNegativeWfActionKey;
287
-
288
- hasWfPositivePermission() {
289
- return (!this.editable && this.securityManager.hasPagePermission(this.pageInfo.id, 'COMPLETE')) ||
290
- (this.editable && this.securityManager.hasPagePermission(this.pageInfo.id, 'EDIT'))
291
- }
292
-
293
- hasWfNegativePermission() {
294
- return (!this.editable && this.securityManager.hasPagePermission(this.pageInfo.id, 'TERMINATE')) ||
295
- (this.editable && this.securityManager.hasPagePermission(this.pageInfo.id, 'EDIT'))
296
- }
297
-
298
- doExtraAction() {
299
- this.extraAction.emit()
300
- }
301
- disabledSaveButton(element) {
302
- return (!this.isPending && element.stateType == 'PENDING') && this.pageInfo.draftSupported ;
303
- }
304
-
305
- }
@@ -1,22 +0,0 @@
1
- .chipList {
2
- display: inline-block !important;
3
- }
4
-
5
-
6
-
7
- ::ng-deep .mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after {
8
- color: red !important; /* asterisk */
9
- font-size: 20px;
10
- margin-left: 2px;
11
-
12
- }
13
-
14
-
15
- .arrow_drop_down_autocomplete {
16
- position: absolute;
17
- right: 0;
18
- top: 7px;
19
- color: rgba(0, 0, 0, 0.54);
20
- cursor: pointer;
21
- font-size: 28px !important;
22
- }