@unifylib/ui-lib 1.1.3 → 1.1.5

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 (286) 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} +21 -23
  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/lib/base-model/page-info.d.ts +52 -0
  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} +3 -3
  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/{src/lib/validators/index.ts → lib/validators/index.d.ts} +3 -3
  134. package/lib/validators/match-list.validator.d.ts +4 -0
  135. package/lib/validators/multi-email-validator.d.ts +6 -0
  136. package/package.json +27 -14
  137. package/{src/public-api.ts → public-api.d.ts} +25 -29
  138. package/ng-package.json +0 -7
  139. package/src/lib/base-model/SearchStrConfig.ts +0 -12
  140. package/src/lib/base-model/audit-log-entry.ts +0 -7
  141. package/src/lib/base-model/button-action-settings.ts +0 -29
  142. package/src/lib/base-model/column-def.model.ts +0 -34
  143. package/src/lib/base-model/do-action-request.ts +0 -11
  144. package/src/lib/base-model/feature-item.ts +0 -9
  145. package/src/lib/base-model/field-action.ts +0 -7
  146. package/src/lib/base-model/field-filter.model.ts +0 -7
  147. package/src/lib/base-model/field-info.ts +0 -102
  148. package/src/lib/base-model/field-predicate.model.ts +0 -7
  149. package/src/lib/base-model/filter-request.ts +0 -27
  150. package/src/lib/base-model/filter.model.ts +0 -49
  151. package/src/lib/base-model/get-items-list.ts +0 -24
  152. package/src/lib/base-model/index.ts +0 -11
  153. package/src/lib/base-model/items-total.model.ts +0 -12
  154. package/src/lib/base-model/line-item.model.ts +0 -18
  155. package/src/lib/base-model/lookupItem.ts +0 -21
  156. package/src/lib/base-model/null-snackmessage.ts +0 -9
  157. package/src/lib/base-model/page-info.ts +0 -54
  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-comment/action-comment.component.css +0 -52
  167. package/src/lib/components/action-comment/action-comment.component.html +0 -47
  168. package/src/lib/components/action-comment/action-comment.component.spec.ts +0 -23
  169. package/src/lib/components/action-comment/action-comment.component.ts +0 -102
  170. package/src/lib/components/action-confirmation/action-confirmation.component.css +0 -46
  171. package/src/lib/components/action-confirmation/action-confirmation.component.html +0 -32
  172. package/src/lib/components/action-confirmation/action-confirmation.component.spec.ts +0 -23
  173. package/src/lib/components/action-confirmation/action-confirmation.component.ts +0 -58
  174. package/src/lib/components/activity-report-form/activity-report-form.component.html +0 -110
  175. package/src/lib/components/activity-report-form/activity-report-form.component.scss +0 -69
  176. package/src/lib/components/activity-report-form/activity-report-form.component.spec.ts +0 -25
  177. package/src/lib/components/activity-report-form/activity-report-form.component.ts +0 -616
  178. package/src/lib/components/advanced-filter/field-filter/field-filter.component.html +0 -8
  179. package/src/lib/components/advanced-filter/field-filter/field-filter.component.scss +0 -0
  180. package/src/lib/components/advanced-filter/field-filter/field-filter.component.spec.ts +0 -25
  181. package/src/lib/components/advanced-filter/field-filter/field-filter.component.ts +0 -55
  182. package/src/lib/components/advanced-filter/filter-builder/filter-builder.component.html +0 -36
  183. package/src/lib/components/advanced-filter/filter-builder/filter-builder.component.scss +0 -130
  184. package/src/lib/components/advanced-filter/filter-builder/filter-builder.component.spec.ts +0 -25
  185. package/src/lib/components/advanced-filter/filter-builder/filter-builder.component.ts +0 -186
  186. package/src/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.css +0 -51
  187. package/src/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.html +0 -23
  188. package/src/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.spec.ts +0 -23
  189. package/src/lib/components/audit-log-details-dialog/audit-log-details-dialog.component.ts +0 -69
  190. package/src/lib/components/audit-log-list/audit-log.component.html +0 -26
  191. package/src/lib/components/audit-log-list/audit-log.component.scss +0 -50
  192. package/src/lib/components/audit-log-list/audit-log.component.spec.ts +0 -25
  193. package/src/lib/components/audit-log-list/audit-log.component.ts +0 -114
  194. package/src/lib/components/auto-complete/auto-complete.component.css +0 -55
  195. package/src/lib/components/auto-complete/auto-complete.component.html +0 -45
  196. package/src/lib/components/auto-complete/auto-complete.component.spec.ts +0 -23
  197. package/src/lib/components/auto-complete/auto-complete.component.ts +0 -331
  198. package/src/lib/components/base-form/base-form.component.html +0 -59
  199. package/src/lib/components/base-form/base-form.component.scss +0 -68
  200. package/src/lib/components/base-form/base-form.component.spec.ts +0 -25
  201. package/src/lib/components/base-form/base-form.component.ts +0 -323
  202. package/src/lib/components/base-form-canvas/base-form-canvas.component.css +0 -196
  203. package/src/lib/components/base-form-canvas/base-form-canvas.component.html +0 -1095
  204. package/src/lib/components/base-form-canvas/base-form-canvas.component.spec.ts +0 -23
  205. package/src/lib/components/base-form-canvas/base-form-canvas.component.ts +0 -680
  206. package/src/lib/components/base-input-dialog/base-input-dialog.component.css +0 -67
  207. package/src/lib/components/base-input-dialog/base-input-dialog.component.html +0 -47
  208. package/src/lib/components/base-input-dialog/base-input-dialog.component.spec.ts +0 -23
  209. package/src/lib/components/base-input-dialog/base-input-dialog.component.ts +0 -77
  210. package/src/lib/components/base-table/base-table.component.html +0 -268
  211. package/src/lib/components/base-table/base-table.component.scss +0 -140
  212. package/src/lib/components/base-table/base-table.component.spec.ts +0 -25
  213. package/src/lib/components/base-table/base-table.component.ts +0 -621
  214. package/src/lib/components/button-actions/button-actions.component.html +0 -27
  215. package/src/lib/components/button-actions/button-actions.component.scss +0 -101
  216. package/src/lib/components/button-actions/button-actions.component.spec.ts +0 -23
  217. package/src/lib/components/button-actions/button-actions.component.ts +0 -70
  218. package/src/lib/components/editable-base-table/editable-base-table.component.html +0 -337
  219. package/src/lib/components/editable-base-table/editable-base-table.component.scss +0 -126
  220. package/src/lib/components/editable-base-table/editable-base-table.component.spec.ts +0 -25
  221. package/src/lib/components/editable-base-table/editable-base-table.component.ts +0 -579
  222. package/src/lib/components/equation-builder/equation-builder.component.css +0 -39
  223. package/src/lib/components/equation-builder/equation-builder.component.html +0 -31
  224. package/src/lib/components/equation-builder/equation-builder.component.spec.ts +0 -23
  225. package/src/lib/components/equation-builder/equation-builder.component.ts +0 -119
  226. package/src/lib/components/item-line-editor/item-line-editor.component.html +0 -102
  227. package/src/lib/components/item-line-editor/item-line-editor.component.scss +0 -152
  228. package/src/lib/components/item-line-editor/item-line-editor.component.spec.ts +0 -23
  229. package/src/lib/components/item-line-editor/item-line-editor.component.ts +0 -306
  230. package/src/lib/components/multi-auto-complete/multi-auto-complete.component.css +0 -19
  231. package/src/lib/components/multi-auto-complete/multi-auto-complete.component.html +0 -38
  232. package/src/lib/components/multi-auto-complete/multi-auto-complete.component.spec.ts +0 -23
  233. package/src/lib/components/multi-auto-complete/multi-auto-complete.component.ts +0 -315
  234. package/src/lib/components/paginator/paginator.component.css +0 -65
  235. package/src/lib/components/paginator/paginator.component.html +0 -30
  236. package/src/lib/components/paginator/paginator.component.ts +0 -87
  237. package/src/lib/components/report-details-dialog/report-details-dialog.component.css +0 -17
  238. package/src/lib/components/report-details-dialog/report-details-dialog.component.html +0 -16
  239. package/src/lib/components/report-details-dialog/report-details-dialog.component.spec.ts +0 -23
  240. package/src/lib/components/report-details-dialog/report-details-dialog.component.ts +0 -111
  241. package/src/lib/components/report-form/report-form.component.html +0 -92
  242. package/src/lib/components/report-form/report-form.component.scss +0 -51
  243. package/src/lib/components/report-form/report-form.component.spec.ts +0 -25
  244. package/src/lib/components/report-form/report-form.component.ts +0 -599
  245. package/src/lib/components/search-bar/search-bar.component.html +0 -51
  246. package/src/lib/components/search-bar/search-bar.component.scss +0 -63
  247. package/src/lib/components/search-bar/search-bar.component.spec.ts +0 -25
  248. package/src/lib/components/search-bar/search-bar.component.ts +0 -68
  249. package/src/lib/components/section-form-canvas/section-form-canvas.component.html +0 -43
  250. package/src/lib/components/section-form-canvas/section-form-canvas.component.scss +0 -81
  251. package/src/lib/components/section-form-canvas/section-form-canvas.component.spec.ts +0 -23
  252. package/src/lib/components/section-form-canvas/section-form-canvas.component.ts +0 -67
  253. package/src/lib/components/shared/action-button/action-button.component.html +0 -12
  254. package/src/lib/components/shared/action-button/action-button.component.scss +0 -45
  255. package/src/lib/components/shared/action-button/action-button.component.ts +0 -51
  256. package/src/lib/components/shared/action-card/action-card.component.html +0 -78
  257. package/src/lib/components/shared/action-card/action-card.component.scss +0 -238
  258. package/src/lib/components/shared/action-card/action-card.component.ts +0 -56
  259. package/src/lib/components/shared/attachment-uploader/attachment-uploader.component.css +0 -135
  260. package/src/lib/components/shared/attachment-uploader/attachment-uploader.component.html +0 -36
  261. package/src/lib/components/shared/attachment-uploader/attachment-uploader.component.spec.ts +0 -23
  262. package/src/lib/components/shared/attachment-uploader/attachment-uploader.component.ts +0 -71
  263. package/src/lib/components/shared-list/shared-list.component.css +0 -0
  264. package/src/lib/components/shared-list/shared-list.component.html +0 -17
  265. package/src/lib/components/shared-list/shared-list.component.spec.ts +0 -23
  266. package/src/lib/components/shared-list/shared-list.component.ts +0 -53
  267. package/src/lib/components/snackbar-static/snackbar-static.component.html +0 -20
  268. package/src/lib/components/snackbar-static/snackbar-static.component.scss +0 -135
  269. package/src/lib/components/snackbar-static/snackbar-static.component.ts +0 -26
  270. package/src/lib/components/title-bar/title-bar.component.css +0 -0
  271. package/src/lib/components/title-bar/title-bar.component.css.map +0 -1
  272. package/src/lib/components/title-bar/title-bar.component.html +0 -35
  273. package/src/lib/components/title-bar/title-bar.component.scss +0 -126
  274. package/src/lib/components/title-bar/title-bar.component.spec.ts +0 -23
  275. package/src/lib/components/title-bar/title-bar.component.ts +0 -126
  276. package/src/lib/services/backend-service.ts +0 -287
  277. package/src/lib/services/top-panel.ts +0 -17
  278. package/src/lib/services/trigger-form.service.ts +0 -11
  279. package/src/lib/share-module/shared-module.ts +0 -10
  280. package/src/lib/utils/base-utils.ts +0 -102
  281. package/src/lib/validators/date-range-validator.ts +0 -31
  282. package/src/lib/validators/match-list.validator.ts +0 -10
  283. package/src/lib/validators/multi-email-validator.ts +0 -15
  284. package/tsconfig.lib.json +0 -15
  285. package/tsconfig.lib.prod.json +0 -11
  286. package/tsconfig.spec.json +0 -15
@@ -1,68 +0,0 @@
1
-
2
- .page-container {
3
- display: flex;
4
- flex-direction: column;
5
- width: 100%;
6
- }
7
-
8
- .row {
9
- display: flex;
10
- flex-direction: row;
11
- gap: 10px;
12
- width: 100%;
13
- flex-wrap: wrap;
14
- }
15
-
16
- .column {
17
- display: flex;
18
- flex-direction: column;
19
- }
20
-
21
- .full-width {
22
- width: 100%;
23
- }
24
-
25
- .flex-49 {
26
- flex: 0 0 49%;
27
- }
28
-
29
- .flex-95 {
30
- flex: 0 0 95%;
31
- }
32
-
33
- .row-center-start {
34
- align-items: center;
35
- justify-content: flex-start;
36
- }
37
-
38
- .mt-2vh { margin-top: 2vh; }
39
- .mt-3vh { margin-top: 3vh; }
40
- .mt-4vh { margin-top: 4vh; }
41
- .pb-5vh { padding-bottom: 5vh; }
42
-
43
-
44
- .action-button {
45
- font-weight: bold;
46
- min-width: 140px;
47
- max-width: 200px;
48
- margin: 0 10px;
49
- }
50
-
51
-
52
- @media (max-width: 960px) {
53
- .flex-49, .flex-95 {
54
- flex: 1 1 100%;
55
- }
56
- }
57
-
58
- @media (max-width: 600px) {
59
- .row {
60
- flex-direction: column;
61
- align-items: center;
62
- }
63
- .action-button {
64
- width: 100%;
65
- max-width: 300px;
66
- margin: 5px 0;
67
- }
68
- }
@@ -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,323 +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 {MatButton, MatButtonModule} from "@angular/material/button";
9
- import {MatIconModule} from "@angular/material/icon";
10
- import {TitleBarComponent} from "../title-bar/title-bar.component";
11
- import {BaseFormCanvasComponent} from "../base-form-canvas/base-form-canvas.component";
12
- import ClassicEditor from "@ckeditor/ckeditor5-build-classic";
13
- import {DoActionRequest, SAVE} from "../../base-model/do-action-request";
14
- import {ActionCommentComponent} from "../action-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
- TitleBarComponent,
26
- BaseFormCanvasComponent,
27
- MatButtonModule,
28
- TranslateModule,
29
- NgIf,
30
- MatIconModule,
31
- MatButton,
32
- AuditLogComponent
33
- ],
34
- templateUrl: './base-form.component.html',
35
- styleUrl: './base-form.component.scss'
36
- })
37
- export class BaseFormComponent extends BaseUtils implements OnInit, OnChanges {
38
-
39
- @Input()
40
- override pageInfo!: PageInfo;
41
-
42
- @Input()// @ts-ignore
43
- fields: FieldInfo[] = [];
44
-
45
- @Input()// @ts-ignore
46
- errors: FieldMessage[] = [];
47
-
48
- @Input()
49
- editable: boolean = false;
50
-
51
- @Input()
52
- itemId: number;
53
-
54
- @Output()
55
- actionResultEmitter: EventEmitter<any> = new EventEmitter<any>();
56
-
57
- @Output()
58
- formUpdated: EventEmitter<FormGroup> = new EventEmitter<FormGroup>();
59
-
60
- @Output()
61
- itemLoaded: EventEmitter<any> = new EventEmitter<any>();
62
-
63
- @Output()
64
- extraAction: EventEmitter<any> = new EventEmitter<any>();
65
-
66
- item : any = {};
67
- isLoaded : boolean = false;
68
-
69
- @Output()
70
- hyperTextEvent: EventEmitter<boolean> = new EventEmitter();
71
-
72
- currentDirection: 'ltr' | 'rtl';
73
- isSaveDisabled: boolean = true;
74
- isRejectDisabled: boolean = true;
75
-
76
- @Input()
77
- hideBackButton: boolean = true;
78
- protected readonly SAVE = SAVE;
79
- private isPending: boolean;
80
-
81
- constructor(public dialog: MatDialog,
82
- private activatedRoute: ActivatedRoute,
83
- private router:Router,
84
- private directionality: Directionality,
85
- private location:Location,
86
- @Inject('securityManager') private securityManager: any,
87
- public backendService: BackendService) {
88
- super();
89
- ClassicEditor.defaultConfig = {
90
- toolbar: {
91
- items: ['heading', '|', 'bold', 'italic', '|', 'bulletedList', 'numberedList']
92
- },
93
- image: {
94
- toolbar: ['imageStyle:side', '|', 'imageTextAlternative']
95
- },
96
- table: {
97
- contentToolbar: [ 'tableColumn', 'tableRow', 'mergeTableCells' ]
98
- },
99
- language: 'en'
100
- };
101
- }
102
-
103
- ngOnInit(): void {
104
- this.currentDirection = this.directionality.value;
105
- this.directionality.change.subscribe((value) => {
106
- this.currentDirection = value;
107
- })
108
-
109
- // console.log('editable', this.editable)
110
- this.securityManager.loadPermissions().subscribe(x => {
111
- console.log("before edit", this.editable);
112
- this.loadItem();
113
- console.log("after edit", this.editable);
114
- });
115
- }
116
-
117
- ngOnChanges({item, errors, fields}: SimpleChanges): void {
118
- }
119
-
120
- isValid() {
121
- return this.backendService.parentForm?.valid;
122
- }
123
-
124
- isMatchHeight() {
125
- return this.pageInfo.pageHeight === 'match';
126
- }
127
-
128
- private loadItem() {
129
- this.editable = false;
130
-
131
- const modeEncrypted = this.activatedRoute.snapshot.queryParams['mode'];
132
- this.isPending = !!modeEncrypted && this.backendService.decrypt(modeEncrypted) === 'pending';
133
-
134
- if (this.activatedRoute.snapshot.queryParams['token'] && this.activatedRoute.snapshot.queryParams['mode']) {
135
- this.itemId = this.backendService.decrypt(this.activatedRoute.snapshot.queryParams['token']);
136
- } else {
137
- // console.log(' ****** ****** ****** ****** error in url ')
138
- }
139
- if (this.itemId > 0) {
140
- const filterRequest = new FilterRequest;
141
- filterRequest.columns = this.fields.filter(c => c.type !== 'spacer').map(c => c.property);
142
- filterRequest.pendingPage = this.isPending;
143
-
144
- filterRequest.filters = [];
145
- filterRequest.filters.push(new Filter({
146
- key: 0,
147
- fieldType: 'Long',
148
- fieldName: 'id',
149
- valueObject: this.itemId,
150
- filterType: 'FILED_FILTER',
151
- operator: 'EQUALS'
152
- }));
153
- ///audit-log
154
- this.backendService.getItemAuditLog(filterRequest, this.pageInfo!.apiUri).subscribe(resp => {
155
- // console.log('resp', resp);
156
- });
157
- this.backendService.getItemsByFilter(filterRequest, this.pageInfo!.apiUri).subscribe(resp => {
158
- if (resp?.valid && resp.body?.length >= 0) {
159
- this.item = resp.body[0];
160
- this.editable = (!this.pageInfo.draftSupported || !this.isPending) && this.securityManager.hasPagePermission(this.pageInfo.id, 'EDIT')
161
- && (!this.pageInfo.draftSupported ||this.item['stateType'] === 'COMPLETED' );
162
- this.itemLoaded.emit(this.item);
163
- this.isLoaded = true;
164
- }
165
- });
166
- } else {
167
- this.editable = this.securityManager.hasPagePermission(this.pageInfo.id, 'EDIT');
168
- this.item = {};
169
- this.itemLoaded.emit(this.item);
170
- this.isLoaded = true;
171
- }
172
-
173
- }
174
-
175
- buildDoActionSubject(): any {
176
- const newVar = this.editable ? Object.assign(this.item, this.backendService.parentForm.value) : this.item;
177
- if (this.itemId <= 0 && this.editable ) {
178
- //TODO this is like a hack and must be handled from backend
179
- newVar['stateType'] = 'NEW';
180
- }
181
- this.fields.forEach(field => {
182
- if (field.flattenBySubAttribute){
183
- newVar[field.property] = newVar[field.property][field.flattenBySubAttribute]
184
- }
185
- })
186
- if (!this.pageInfo.draftSupported){
187
- newVar['status'] = true;
188
- }
189
- return newVar;
190
- }
191
-
192
-
193
- doSaveApproveAction() {
194
- let actionId = getWfActionId(this.item.stateType);
195
- if (this.itemId <= 0 && this.editable ) {
196
- actionId = NEW
197
- }
198
- if (!this.pageInfo.draftSupported) {
199
- actionId = SAVE_AND_COMPLETE
200
- }
201
- if (this.editable && this.backendService.parentForm.valid !== true) {
202
- this.backendService.topPanelMessage$.next(new SnackMessage('INVALID_INPUT_FORM', true, 'error'));
203
- return;
204
- }
205
- const request = new DoActionRequest();
206
- request.actionId = actionId;
207
- request.subject = this.buildDoActionSubject();
208
-
209
- const dialogRef = this.dialog.open(ActionCommentComponent, {
210
- data: {label: 'save', isTermination: false},
211
- width: '600px',
212
- height: 'auto',
213
- direction: this.currentDirection
214
- });
215
- dialogRef.afterClosed().subscribe(result => {
216
- if (result) {
217
- request.comment = result.comment;
218
- this.backendService.doActionWithAttachments(request, [], this.pageInfo!).subscribe(resp => {
219
- console.log('step',actionId);
220
- this.actionResultEmitter.emit({ valid: resp.valid, actionId: actionId });
221
- if (resp.valid ) {
222
- let message = 'approve_successfully';
223
- switch (actionId) {
224
- case 1:
225
- message = 'saved_successfully';
226
- break;
227
- case 2:
228
- message = 'updated_successfully';
229
- break;
230
- default:
231
- message = 'approve_successfully';
232
- }
233
- this.backendService.topPanelMessage$.next(new SnackMessage(message, true, 'success'));
234
- if(!this.pageInfo.stayOnPage){
235
- this.backToParent();
236
- }
237
- }
238
- else{
239
- request.subject['stateType'] = null;
240
- if (resp.message[0].errorMessage.toLowerCase().includes('duplic'))
241
- this.backendService.topPanelMessage$.next(new SnackMessage(this.pageInfo.labelsSection + '.' + resp.message[0].errorCode, true, 'error'));
242
- }
243
- });
244
- }
245
- });
246
- }
247
-
248
- backToParent() {
249
- const idIdx = this.router.url.lastIndexOf('/');
250
- this.router.navigateByUrl(this.router.url.substring(0, idIdx));
251
- }
252
-
253
-
254
- getTitle() {
255
- return `${this.pageInfo.labelsSection}.${this.pageInfo.id}` ;
256
- }
257
-
258
- updateForm($event: FormGroup) {
259
- this.backendService.parentForm = $event;
260
- this.formUpdated.emit($event);
261
- }
262
-
263
- doCancelRejectAction() {
264
- if (!this.editable){
265
- let actionId = 3;
266
- // console.log('actionId',actionId);
267
- const request = new DoActionRequest();
268
- request.actionId = actionId;
269
- request.subject = this.buildDoActionSubject();
270
-
271
- const dialogRef = this.dialog.open(ActionCommentComponent, {
272
- data: {label: 'reject', acceptActionLabel: 'accept', rejectActionLabel: 'return'},
273
- width: '600px',
274
- height: 'auto',
275
- direction: this.currentDirection
276
- });
277
- dialogRef.afterClosed().subscribe(result => {
278
- if (result) {
279
- request.comment = result.comment;
280
- this.backendService.doActionWithAttachments(request, [], this.pageInfo!).subscribe(resp => {
281
- this.actionResultEmitter.emit({ valid: resp.valid, actionId: actionId });
282
- if (resp.valid) {
283
- this.backendService.topPanelMessage$.next(new SnackMessage('successful_reject_message', true, 'success'));
284
- if(!this.pageInfo.stayOnPage){
285
- this.backToParent();
286
- }
287
- }
288
- });
289
- }
290
- });
291
- }
292
- else {
293
- this.location.back()
294
- }
295
- }
296
-
297
- hasWfPermission() {
298
- return (this.securityManager.hasPagePermission(this.pageInfo.id, 'EDIT')
299
- || this.securityManager.hasPagePermission(this.pageInfo.id, 'COMPLETE')
300
- || this.securityManager.hasPagePermission(this.pageInfo.id, 'TERMINATE'))
301
- }
302
-
303
- protected readonly getPositiveWfActionKey = getPositiveWfActionKey;
304
- protected readonly getNegativeWfActionKey = getNegativeWfActionKey;
305
-
306
- hasWfPositivePermission() {
307
- return (!this.editable && this.securityManager.hasPagePermission(this.pageInfo.id, 'COMPLETE')) ||
308
- (this.editable && this.securityManager.hasPagePermission(this.pageInfo.id, 'EDIT'))
309
- }
310
-
311
- hasWfNegativePermission() {
312
- return (!this.editable && this.securityManager.hasPagePermission(this.pageInfo.id, 'TERMINATE')) ||
313
- (this.editable && this.securityManager.hasPagePermission(this.pageInfo.id, 'EDIT'))
314
- }
315
-
316
- doExtraAction() {
317
- this.extraAction.emit()
318
- }
319
- disabledSaveButton(element) {
320
- return (!this.isPending && element.stateType == 'PENDING') && this.pageInfo.draftSupported ;
321
- }
322
-
323
- }
@@ -1,196 +0,0 @@
1
-
2
- .main-form-canvas {
3
- display: flex;
4
- flex-direction: row;
5
- gap: 10px;
6
- align-items: flex-start;
7
- justify-content: flex-start;
8
- margin-top: 3vh;
9
- width: 100%;
10
- flex-wrap: wrap;
11
- }
12
-
13
- .form-wrapper {
14
- display: flex;
15
- flex-direction: column;
16
- flex: 1;
17
- }
18
-
19
- .form-container {
20
- display: flex;
21
- flex-direction: column;
22
- width: 100%;
23
- }
24
-
25
- .row-container {
26
- display: flex;
27
- flex-direction: row;
28
- gap: 20px;
29
- flex-wrap: wrap;
30
- width: 100%;
31
- }
32
-
33
- .field-column {
34
- display: flex;
35
- flex-direction: column;
36
- flex: 1;
37
- }
38
-
39
-
40
- .label-and-asterisk-container {
41
- display: flex;
42
- align-items: center;
43
- gap: 2px;
44
- }
45
-
46
- .full-width {
47
- width: 100%;
48
- }
49
-
50
- .readonly-item {
51
- display: flex;
52
- flex-direction: column;
53
- align-items: flex-start;
54
- gap: 2px;
55
- font-size: 14px;
56
- padding: 4px 0;
57
- width: 100%;
58
-
59
- .readonly-label {
60
- font-weight: 500;
61
- color: #9B9B9B;
62
- font-size: 14px;
63
- }
64
-
65
- .readonly-value {
66
- font-weight: 500;
67
- color: #222;
68
- word-break: break-word;
69
- font-size: 14px;
70
- }
71
-
72
- .json-viewer {
73
- width: 100%;
74
- }
75
-
76
- .chipList {
77
- display: flex;
78
- flex-wrap: wrap;
79
- gap: 4px;
80
- }
81
-
82
- mat-icon {
83
- font-size: 18px;
84
- vertical-align: middle;
85
- }
86
- }
87
-
88
-
89
- .row-wrapper {
90
- display: flex;
91
- flex-direction: row;
92
- gap: 20px;
93
- width: 100%;
94
- flex-wrap: wrap;
95
- }
96
-
97
- .column-wrapper {
98
- display: flex;
99
- flex-direction: column;
100
- width: 100%;
101
- align-items: flex-start;
102
- }
103
-
104
- .row-container {
105
- display: flex;
106
- flex-direction: row;
107
- gap: 20px;
108
- width: 100%;
109
- flex-wrap: wrap;
110
- }
111
-
112
- .field-column {
113
- display: flex;
114
- flex-direction: column;
115
- min-width: 50px !important;
116
- }
117
-
118
- .field-row {
119
- display: flex;
120
- flex-direction: row;
121
- gap: 10px;
122
- width: 100%;
123
- align-items: flex-start;
124
- }
125
-
126
- .field-label {
127
- flex: 0 0 40%;
128
- display: flex;
129
- flex-direction: column;
130
- justify-content: center;
131
- }
132
-
133
- .field-input {
134
- flex: 0 0 60%;
135
- display: flex;
136
- flex-direction: column;
137
- }
138
-
139
-
140
- .radio-group-custom {
141
- display: flex;
142
- flex-direction: row;
143
- flex-wrap: wrap;
144
- gap: 10px;
145
- }
146
-
147
-
148
- @media (max-width: 600px) {
149
- .main-form-canvas {
150
- flex-direction: column;
151
- align-items: center;
152
- }
153
-
154
- .row-container {
155
- flex-direction: column;
156
- gap: 10px;
157
- }
158
-
159
- .field-column {
160
- width: 100%;
161
- flex: 1 1 100% !important;
162
- }
163
-
164
- .column-wrapper {
165
- align-items: center;
166
- }
167
-
168
- .field-row {
169
- flex-direction: column;
170
- }
171
-
172
- .field-label,
173
- .field-input {
174
- flex: 1 1 100%;
175
- }
176
-
177
- .radio-group-custom {
178
- flex-direction: column;
179
- gap: 5px;
180
- }
181
- }
182
-
183
- @media (max-width: 960px) {
184
- .row-wrapper,
185
- .row-container {
186
- flex-direction: column;
187
- }
188
-
189
- .row-container {
190
- gap: 15px;
191
- }
192
-
193
- .field-column {
194
- flex: 1 1 100% !important;
195
- }
196
- }