@uxland/primary-shell 3.5.2 → 3.5.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 (212) hide show
  1. package/dist/index.js +5417 -4842
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.umd.cjs +671 -537
  4. package/dist/index.umd.cjs.map +1 -1
  5. package/dist/primary/shell/src/UI/shared-components/primaria-text-editor/primaria-rich-text-editor.d.ts +1 -0
  6. package/dist/primary/shell/src/internal-plugins/activity-history/{features/inject-async-history-items → activity-history-item/add/add-async-history-items}/bootstrapper.d.ts +1 -1
  7. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-async-history-items/handler.d.ts +6 -0
  8. package/dist/primary/shell/src/internal-plugins/activity-history/{features/inject-async-history-items → activity-history-item/add/add-async-history-items}/request.d.ts +3 -1
  9. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-history-item/action.d.ts +5 -0
  10. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-history-item/add-item-to-collection.d.ts +10 -0
  11. package/dist/primary/shell/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-item/bootstrapper.d.ts +1 -1
  12. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-history-item/handler.d.ts +6 -0
  13. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-history-item/reducer.d.ts +8 -0
  14. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/action.d.ts +6 -0
  15. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/add-items-to-collection.d.ts +10 -0
  16. package/dist/primary/shell/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-items/bootstrapper.d.ts +1 -1
  17. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/handler.d.ts +6 -0
  18. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/reducer.d.ts +9 -0
  19. package/dist/primary/shell/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-items/request.d.ts +2 -0
  20. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/bootstrapper.d.ts +4 -0
  21. package/dist/primary/shell/src/internal-plugins/activity-history/{domain → activity-history-item/domain}/model.d.ts +5 -3
  22. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/domain/specs/own-spec.d.ts +8 -0
  23. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/domain/specs/relevant-spec.d.ts +8 -0
  24. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/domain/specs/search-string-spec.d.ts +9 -0
  25. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/domain/specs/spec.d.ts +29 -0
  26. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/domain/specs/true-spec.d.ts +6 -0
  27. package/dist/primary/shell/src/internal-plugins/activity-history/{features → activity-history-item}/export-to-pdf/bootstrapper.d.ts +1 -1
  28. package/dist/primary/shell/src/internal-plugins/activity-history/{components → activity-history-item/export-to-pdf}/export-pdf-modal/export-pdf-modal.d.ts +1 -1
  29. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/export-to-pdf/handler.d.ts +6 -0
  30. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/UI/activity-history-filters/activity-history-filters.d.ts +13 -0
  31. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/UI/activity-history-filters/template.d.ts +3 -0
  32. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/actions.d.ts +1 -0
  33. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/bootstrapper.d.ts +4 -0
  34. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/common-filters.d.ts +3 -0
  35. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/constants.d.ts +7 -0
  36. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/model.d.ts +19 -0
  37. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/selectors.d.ts +157 -0
  38. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/set-common-filter/bootstrapper.d.ts +4 -0
  39. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/set-common-filter/handler.d.ts +6 -0
  40. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/set-common-filter/request.d.ts +10 -0
  41. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/UI/main-view/activity-history-main.d.ts +23 -0
  42. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/UI/main-view/template.d.ts +4 -0
  43. package/dist/primary/shell/src/internal-plugins/activity-history/{components/activity-history/activity-history-timeline → activity-history-item/list/UI/timeline}/activity-history-timeline.d.ts +3 -3
  44. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/bootstrapper.d.ts +2 -0
  45. package/dist/primary/shell/src/internal-plugins/activity-history/{domain → activity-history-item/list}/group-history-items/group-history-items.d.ts +1 -1
  46. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/actions.d.ts +1 -0
  47. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/bootstrapper.d.ts +2 -0
  48. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/busy-component/component.d.ts +8 -0
  49. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/busy-component/template.d.ts +4 -0
  50. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/reducers.d.ts +4 -0
  51. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/selectors.d.ts +4 -0
  52. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/handle-error/actions.d.ts +1 -0
  53. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/handle-error/reducers.d.ts +2 -0
  54. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/selectors.d.ts +156 -0
  55. package/dist/primary/shell/src/internal-plugins/activity-history/{domain → activity-history-item/list}/sort-history-items-by-date/sort-history-items-by-date.d.ts +1 -1
  56. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/sort-history-items-by-date/sort-history-items-by-date.test.d.ts +1 -0
  57. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/remove/reducer.d.ts +1 -0
  58. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/search/actions.d.ts +1 -0
  59. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/search/activity-history-search-bar/activity-history-search-bar.d.ts +8 -0
  60. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/search/activity-history-search-bar/template.d.ts +3 -0
  61. package/dist/primary/shell/src/internal-plugins/activity-history/{components/activity-history/activity-history-search-header/activity-history-search-header.d.ts → activity-history-item/search/activity-history-search-results/activity-history-search-results.d.ts} +1 -1
  62. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/search/activity-history-search-results/template.d.ts +3 -0
  63. package/dist/primary/shell/src/internal-plugins/activity-history/{features/search-items → activity-history-item/search}/bootstrapper.d.ts +1 -1
  64. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/search/handler.d.ts +6 -0
  65. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/search/reducer.d.ts +3 -0
  66. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/search/selectors.d.ts +3 -0
  67. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/slice.d.ts +26 -0
  68. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/update/action.d.ts +4 -0
  69. package/dist/primary/shell/src/internal-plugins/activity-history/{features/update-history-item → activity-history-item/update}/bootstrapper.d.ts +1 -1
  70. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/update/handler.d.ts +6 -0
  71. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/update/reducer.d.ts +7 -0
  72. package/dist/primary/shell/src/internal-plugins/activity-history/{features/update-history-item → activity-history-item/update}/request.d.ts +1 -1
  73. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/update/update-item-in-collection.d.ts +3 -0
  74. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/update/update-item-in-collection.test.d.ts +1 -0
  75. package/dist/primary/shell/src/internal-plugins/activity-history/index.d.ts +1 -1
  76. package/dist/primary/shell/src/internal-plugins/activity-history/infrastructure/base-handlers.d.ts +16 -0
  77. package/dist/primary/shell/src/internal-plugins/activity-history/infrastructure/ioc/container.d.ts +2 -0
  78. package/dist/primary/shell/src/internal-plugins/activity-history/infrastructure/state/store.d.ts +16 -4
  79. package/dist/style.css +1 -1
  80. package/package.json +2 -2
  81. package/src/UI/components/shell-header/template.ts +7 -3
  82. package/src/UI/shared-components/primaria-text-editor/primaria-rich-text-editor.ts +23 -0
  83. package/src/internal-plugins/activity-history/{features/inject-async-history-items → activity-history-item/add/add-async-history-items}/bootstrapper.ts +2 -2
  84. package/src/internal-plugins/activity-history/activity-history-item/add/add-async-history-items/handler.ts +27 -0
  85. package/src/internal-plugins/activity-history/{features/inject-async-history-items → activity-history-item/add/add-async-history-items}/request.ts +3 -1
  86. package/src/internal-plugins/activity-history/activity-history-item/add/add-history-item/action.ts +3 -0
  87. package/src/internal-plugins/activity-history/activity-history-item/add/add-history-item/add-item-to-collection.ts +11 -0
  88. package/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-item/bootstrapper.ts +2 -2
  89. package/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-item/handler.ts +4 -7
  90. package/src/internal-plugins/activity-history/activity-history-item/add/add-history-item/reducer.ts +15 -0
  91. package/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/action.ts +3 -0
  92. package/src/internal-plugins/activity-history/{domain/handle-collections/handle-collections.test.ts → activity-history-item/add/add-history-items/add-items-to-collection.test.ts} +2 -64
  93. package/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/add-items-to-collection.ts +25 -0
  94. package/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-items/bootstrapper.ts +2 -2
  95. package/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/handler.ts +22 -0
  96. package/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/reducer.ts +22 -0
  97. package/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-items/request.ts +2 -0
  98. package/src/internal-plugins/activity-history/activity-history-item/bootstrapper.ts +46 -0
  99. package/src/internal-plugins/activity-history/{domain → activity-history-item/domain}/model.ts +9 -3
  100. package/src/internal-plugins/activity-history/activity-history-item/domain/specs/own-spec.ts +14 -0
  101. package/src/internal-plugins/activity-history/activity-history-item/domain/specs/relevant-spec.ts +11 -0
  102. package/src/internal-plugins/activity-history/activity-history-item/domain/specs/relevant.spec.ts +59 -0
  103. package/src/internal-plugins/activity-history/activity-history-item/domain/specs/search-string-spec.test.ts +105 -0
  104. package/src/internal-plugins/activity-history/activity-history-item/domain/specs/search-string-spec.ts +58 -0
  105. package/src/internal-plugins/activity-history/activity-history-item/domain/specs/spec.ts +54 -0
  106. package/src/internal-plugins/activity-history/activity-history-item/domain/specs/true-spec.ts +8 -0
  107. package/src/internal-plugins/activity-history/{features → activity-history-item}/export-to-pdf/bootstrapper.ts +2 -1
  108. package/src/internal-plugins/activity-history/{components → activity-history-item/export-to-pdf}/export-pdf-modal/export-pdf-modal.ts +2 -2
  109. package/src/internal-plugins/activity-history/{components → activity-history-item/export-to-pdf}/export-pdf-modal/template.ts +5 -5
  110. package/src/internal-plugins/activity-history/{features → activity-history-item}/export-to-pdf/handler.ts +3 -6
  111. package/src/internal-plugins/activity-history/activity-history-item/filter/UI/activity-history-filters/activity-history-filters.ts +40 -0
  112. package/src/internal-plugins/activity-history/activity-history-item/filter/UI/activity-history-filters/styles.css +39 -0
  113. package/src/internal-plugins/activity-history/activity-history-item/filter/UI/activity-history-filters/template.ts +30 -0
  114. package/src/internal-plugins/activity-history/activity-history-item/filter/actions.ts +3 -0
  115. package/src/internal-plugins/activity-history/activity-history-item/filter/bootstrapper.ts +14 -0
  116. package/src/internal-plugins/activity-history/activity-history-item/filter/common-filters.ts +29 -0
  117. package/src/internal-plugins/activity-history/activity-history-item/filter/constants.ts +8 -0
  118. package/src/internal-plugins/activity-history/activity-history-item/filter/model.ts +20 -0
  119. package/src/internal-plugins/activity-history/activity-history-item/filter/selectors.ts +28 -0
  120. package/src/internal-plugins/activity-history/activity-history-item/filter/set-common-filter/bootstrapper.ts +14 -0
  121. package/src/internal-plugins/activity-history/activity-history-item/filter/set-common-filter/handler.ts +13 -0
  122. package/src/internal-plugins/activity-history/activity-history-item/filter/set-common-filter/request.ts +3 -0
  123. package/src/internal-plugins/activity-history/activity-history-item/filter/slice.ts +27 -0
  124. package/src/internal-plugins/activity-history/activity-history-item/list/UI/main-view/activity-history-main.ts +91 -0
  125. package/src/internal-plugins/activity-history/{components/activity-history → activity-history-item/list/UI/main-view}/styles.css +2 -39
  126. package/src/internal-plugins/activity-history/{components/activity-history → activity-history-item/list/UI/main-view}/template.ts +11 -32
  127. package/src/internal-plugins/activity-history/{components/activity-history/activity-history-timeline → activity-history-item/list/UI/timeline}/activity-history-timeline.ts +24 -7
  128. package/src/internal-plugins/activity-history/{components/activity-history/activity-history-timeline → activity-history-item/list/UI/timeline}/styles.css +1 -1
  129. package/src/internal-plugins/activity-history/{components/activity-history/activity-history-timeline → activity-history-item/list/UI/timeline}/template.ts +8 -7
  130. package/src/internal-plugins/activity-history/activity-history-item/list/bootstrapper.ts +5 -0
  131. package/src/internal-plugins/activity-history/{domain → activity-history-item/list}/group-history-items/group-history-items.test.ts +1 -1
  132. package/src/internal-plugins/activity-history/{domain → activity-history-item/list}/group-history-items/group-history-items.ts +12 -8
  133. package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/actions.ts +4 -0
  134. package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/bootstrapper.ts +5 -0
  135. package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/busy-component/component.ts +27 -0
  136. package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/busy-component/styles.css +15 -0
  137. package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/busy-component/template.ts +10 -0
  138. package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/reducers.ts +8 -0
  139. package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/selectors.ts +13 -0
  140. package/src/internal-plugins/activity-history/activity-history-item/list/handle-error/actions.ts +4 -0
  141. package/src/internal-plugins/activity-history/activity-history-item/list/handle-error/reducers.ts +6 -0
  142. package/src/internal-plugins/activity-history/activity-history-item/list/selectors.ts +62 -0
  143. package/src/internal-plugins/activity-history/{domain → activity-history-item/list}/sort-history-items-by-date/sort-history-items-by-date.ts +7 -7
  144. package/src/internal-plugins/activity-history/activity-history-item/remove/reducer.ts +5 -0
  145. package/src/internal-plugins/activity-history/activity-history-item/search/actions.ts +3 -0
  146. package/src/internal-plugins/activity-history/activity-history-item/search/activity-history-search-bar/activity-history-search-bar.ts +26 -0
  147. package/src/internal-plugins/activity-history/activity-history-item/search/activity-history-search-bar/template.ts +8 -0
  148. package/src/internal-plugins/activity-history/{components/activity-history/activity-history-search-header/activity-history-search-header.ts → activity-history-item/search/activity-history-search-results/activity-history-search-results.ts} +2 -3
  149. package/src/internal-plugins/activity-history/activity-history-item/search/activity-history-search-results/styles.css +14 -0
  150. package/src/internal-plugins/activity-history/{components/activity-history/activity-history-search-header → activity-history-item/search/activity-history-search-results}/template.ts +2 -2
  151. package/src/internal-plugins/activity-history/{features/search-items → activity-history-item/search}/bootstrapper.ts +3 -1
  152. package/src/internal-plugins/activity-history/activity-history-item/search/handler.ts +17 -0
  153. package/src/internal-plugins/activity-history/activity-history-item/search/reducer.ts +5 -0
  154. package/src/internal-plugins/activity-history/activity-history-item/search/selectors.ts +4 -0
  155. package/src/internal-plugins/activity-history/activity-history-item/slice.ts +37 -0
  156. package/src/internal-plugins/activity-history/activity-history-item/update/action.ts +3 -0
  157. package/src/internal-plugins/activity-history/{features/update-history-item → activity-history-item/update}/bootstrapper.ts +1 -1
  158. package/src/internal-plugins/activity-history/activity-history-item/update/handler.ts +20 -0
  159. package/src/internal-plugins/activity-history/activity-history-item/update/reducer.ts +11 -0
  160. package/src/internal-plugins/activity-history/{features/update-history-item → activity-history-item/update}/request.ts +1 -1
  161. package/src/internal-plugins/activity-history/activity-history-item/update/update-item-in-collection.test.ts +65 -0
  162. package/src/internal-plugins/activity-history/activity-history-item/update/update-item-in-collection.ts +18 -0
  163. package/src/internal-plugins/activity-history/index.ts +1 -1
  164. package/src/internal-plugins/activity-history/infrastructure/base-handlers.ts +22 -0
  165. package/src/internal-plugins/activity-history/infrastructure/ioc/container.ts +9 -1
  166. package/src/internal-plugins/activity-history/infrastructure/state/store.ts +4 -2
  167. package/src/internal-plugins/activity-history/main.ts +15 -11
  168. package/dist/primary/shell/src/internal-plugins/activity-history/components/activity-history/activity-history-search-header/template.d.ts +0 -3
  169. package/dist/primary/shell/src/internal-plugins/activity-history/components/activity-history/activity-history.d.ts +0 -28
  170. package/dist/primary/shell/src/internal-plugins/activity-history/components/activity-history/template.d.ts +0 -4
  171. package/dist/primary/shell/src/internal-plugins/activity-history/domain/filter-by-search-string/filter-by-search-string.d.ts +0 -3
  172. package/dist/primary/shell/src/internal-plugins/activity-history/domain/handle-collections/handle-collections.d.ts +0 -19
  173. package/dist/primary/shell/src/internal-plugins/activity-history/features/add-history-item/handler.d.ts +0 -8
  174. package/dist/primary/shell/src/internal-plugins/activity-history/features/add-history-items/handler.d.ts +0 -8
  175. package/dist/primary/shell/src/internal-plugins/activity-history/features/bootstrapper.d.ts +0 -4
  176. package/dist/primary/shell/src/internal-plugins/activity-history/features/export-to-pdf/handler.d.ts +0 -8
  177. package/dist/primary/shell/src/internal-plugins/activity-history/features/inject-async-history-items/handler.d.ts +0 -8
  178. package/dist/primary/shell/src/internal-plugins/activity-history/features/search-items/handler.d.ts +0 -10
  179. package/dist/primary/shell/src/internal-plugins/activity-history/features/update-history-item/handler.d.ts +0 -8
  180. package/dist/primary/shell/src/internal-plugins/activity-history/infrastructure/state/actions.d.ts +0 -1
  181. package/dist/primary/shell/src/internal-plugins/activity-history/infrastructure/state/selectors.d.ts +0 -210
  182. package/src/internal-plugins/activity-history/components/activity-history/activity-history.ts +0 -125
  183. package/src/internal-plugins/activity-history/domain/filter-by-search-string/filter-by-search-string.test.ts +0 -68
  184. package/src/internal-plugins/activity-history/domain/filter-by-search-string/filter-by-search-string.ts +0 -44
  185. package/src/internal-plugins/activity-history/domain/handle-collections/handle-collections.ts +0 -47
  186. package/src/internal-plugins/activity-history/features/add-history-items/handler.ts +0 -23
  187. package/src/internal-plugins/activity-history/features/bootstrapper.ts +0 -39
  188. package/src/internal-plugins/activity-history/features/inject-async-history-items/handler.ts +0 -37
  189. package/src/internal-plugins/activity-history/features/search-items/handler.ts +0 -24
  190. package/src/internal-plugins/activity-history/features/update-history-item/handler.ts +0 -23
  191. package/src/internal-plugins/activity-history/infrastructure/state/actions.ts +0 -13
  192. package/src/internal-plugins/activity-history/infrastructure/state/selectors.ts +0 -67
  193. package/src/internal-plugins/activity-history/infrastructure/state/slices.ts +0 -61
  194. /package/dist/primary/shell/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-item/request.d.ts +0 -0
  195. /package/dist/primary/shell/src/internal-plugins/activity-history/{domain/filter-by-search-string/filter-by-search-string.test.d.ts → activity-history-item/add/add-history-items/add-items-to-collection.test.d.ts} +0 -0
  196. /package/dist/primary/shell/src/internal-plugins/activity-history/{domain → activity-history-item/domain}/is-valid-history-item/is-valid-history-item.d.ts +0 -0
  197. /package/dist/primary/shell/src/internal-plugins/activity-history/{domain → activity-history-item/domain}/is-valid-history-item/is-valid-history-item.test.d.ts +0 -0
  198. /package/dist/primary/shell/src/internal-plugins/activity-history/{domain/group-history-items/group-history-items.test.d.ts → activity-history-item/domain/specs/relevant.spec.d.ts} +0 -0
  199. /package/dist/primary/shell/src/internal-plugins/activity-history/{domain/handle-collections/handle-collections.test.d.ts → activity-history-item/domain/specs/search-string-spec.test.d.ts} +0 -0
  200. /package/dist/primary/shell/src/internal-plugins/activity-history/{components → activity-history-item/export-to-pdf}/export-pdf-modal/template.d.ts +0 -0
  201. /package/dist/primary/shell/src/internal-plugins/activity-history/{features → activity-history-item}/export-to-pdf/request.d.ts +0 -0
  202. /package/dist/primary/shell/src/internal-plugins/activity-history/{components/activity-history/activity-history-timeline → activity-history-item/list/UI/timeline}/template.d.ts +0 -0
  203. /package/dist/primary/shell/src/internal-plugins/activity-history/{domain/sort-history-items-by-date/sort-history-items-by-date.test.d.ts → activity-history-item/list/group-history-items/group-history-items.test.d.ts} +0 -0
  204. /package/dist/primary/shell/src/internal-plugins/activity-history/{features/search-items → activity-history-item/search}/request.d.ts +0 -0
  205. /package/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-item/request.ts +0 -0
  206. /package/src/internal-plugins/activity-history/{domain → activity-history-item/domain}/is-valid-history-item/is-valid-history-item.test.ts +0 -0
  207. /package/src/internal-plugins/activity-history/{domain → activity-history-item/domain}/is-valid-history-item/is-valid-history-item.ts +0 -0
  208. /package/src/internal-plugins/activity-history/{components → activity-history-item/export-to-pdf}/export-pdf-modal/export-pdf-modal.css +0 -0
  209. /package/src/internal-plugins/activity-history/{features → activity-history-item}/export-to-pdf/request.ts +0 -0
  210. /package/src/internal-plugins/activity-history/{domain → activity-history-item/list}/sort-history-items-by-date/sort-history-items-by-date.test.ts +0 -0
  211. /package/src/internal-plugins/activity-history/{components/activity-history/activity-history-search-header → activity-history-item/search/activity-history-search-bar}/styles.css +0 -0
  212. /package/src/internal-plugins/activity-history/{features/search-items → activity-history-item/search}/request.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxland/primary-shell",
3
- "version": "3.5.2",
3
+ "version": "3.5.4",
4
4
  "description": "Primaria Shell",
5
5
  "author": "UXLand <dev@uxland.es>",
6
6
  "homepage": "https://github.com/uxland/harmonix/tree/app#readme",
@@ -44,7 +44,7 @@
44
44
  "axios-mock-adapter": "^2.0.0",
45
45
  "inversify": "^6.0.2",
46
46
  "inversify-inject-decorators": "^3.1.0",
47
- "@salut/design-system-salut": "../../design-system-salut-2.0.5.tgz",
47
+ "@salut/design-system-salut": "../../design-system-salut-2.1.1.tgz",
48
48
  "jwt-decode": "^4.0.0",
49
49
  "lit": "^3.1.0",
50
50
  "mediatr-ts": "^1.2.1",
@@ -1,6 +1,7 @@
1
1
  import { html } from "lit";
2
2
  import salutLogo from "../../../UI/images/Salut_Logotip.svg";
3
3
  import { ShellHeader } from "./shell-header";
4
+ import { when } from "lit/directives/when.js";
4
5
 
5
6
  export const template = (props: ShellHeader) => {
6
7
  const workCenterElements = [{ label: props.professional?.workCenter, value: "1" }];
@@ -17,8 +18,10 @@ export const template = (props: ShellHeader) => {
17
18
  </div>
18
19
  <div class="header__right">
19
20
  <div id="header-actions-region-container"></div>
20
- <dss-header-menu-professional slot="professional-menu" name="${props.professional?.firstName} ${props.professional?.familyName} ${props.professional?.lastName}" center="${props.professional?.workCenter}" collegiate="${props.professional?.registrationNumber}">
21
- <dss-avatar size="xl" name="${props.professional?.firstName}" surname="${props.professional?.familyName}" slot="avatar"></dss-avatar>
21
+ ${when(
22
+ props.professional,
23
+ () => html`<dss-header-menu-professional slot="professional-menu" name="${props.professional.firstName} ${props.professional?.familyName} ${props.professional?.lastName}" center="${props.professional.workCenter}" collegiate="${props.professional.registrationNumber}">
24
+ <dss-avatar size="xl" name="${props.professional.firstName}" surname="${props.professional?.familyName}" slot="avatar"></dss-avatar>
22
25
  <dss-input-dropdown icon="maps_home_work" type="default" .elements=${workCenterElements} selectedvalue="[&quot;1&quot;]">
23
26
  <label slot="label" for="preferences1">Centre treball</label>
24
27
  <input id="preferences1" slot="input" type="text" class="dss-input" readonly="">
@@ -31,7 +34,8 @@ export const template = (props: ShellHeader) => {
31
34
  <label slot="label" for="preferences3">Ambit treball</label>
32
35
  <input id="preferences3" slot="input" type="text" class="dss-input" readonly="">
33
36
  </dss-input-dropdown>
34
- </dss-header-menu-professional>
37
+ </dss-header-menu-professional>`,
38
+ )}
35
39
  </div>
36
40
  </div>
37
41
  `;
@@ -20,6 +20,13 @@ export class PrimariaRichTextEditor extends LitElement {
20
20
  firstUpdated() {
21
21
  // const rte: PrimariaRichTextEditor = this;
22
22
  this.quill = new Quill(this.shadowRoot?.querySelector("#rte"), this._getOptions());
23
+
24
+ this.quill.on("text-change", () => this._emitTextChangeEvent());
25
+
26
+ this.quill.root.addEventListener("paste", () => {
27
+ this._emitTextChangeEvent();
28
+ });
29
+
23
30
  this.quill.on("text-change", (delta, oldDelta, source) => {
24
31
  const plainValue = this.quill.getText();
25
32
  const values = {
@@ -39,6 +46,22 @@ export class PrimariaRichTextEditor extends LitElement {
39
46
  });
40
47
  }
41
48
 
49
+ _emitTextChangeEvent() {
50
+ const plainValue = this.quill.getText();
51
+ const values = {
52
+ html: this.shadowRoot?.querySelector(".ql-editor")?.innerHTML,
53
+ plain: plainValue,
54
+ };
55
+
56
+ const textChanged = new CustomEvent("text-changed", {
57
+ composed: true,
58
+ detail: values,
59
+ });
60
+
61
+ this.dispatchEvent(textChanged);
62
+ this.range = this.getCursorPosition();
63
+ }
64
+
42
65
  @property()
43
66
  quill: Quill | null;
44
67
 
@@ -1,7 +1,7 @@
1
1
  import { BrokerExtensions } from "@primaria/plugins-core";
2
2
  import { injectAsyncHistoryItemsRequest } from "./request";
3
3
  import { InjectAsyncHistoryItemsHandler } from "./handler";
4
- import { BrokerDisposableHandler } from "../../../../api/broker/primaria-broker";
4
+ import { BrokerDisposableHandler } from "../../../../../api/broker/primaria-broker";
5
5
 
6
6
  let request: BrokerDisposableHandler;
7
7
 
@@ -9,6 +9,6 @@ export const bootstrapInjectAsyncHistoryItems = (broker: BrokerExtensions) => {
9
9
  request = broker.registerRequest(injectAsyncHistoryItemsRequest, InjectAsyncHistoryItemsHandler);
10
10
  };
11
11
 
12
- export const teardownInjectAsyncHistoryItems = (broker: BrokerExtensions) => {
12
+ export const teardownInjectAsyncHistoryItems = () => {
13
13
  request?.dispose();
14
14
  };
@@ -0,0 +1,27 @@
1
+ import { BaseHandler } from "../../../infrastructure/base-handlers";
2
+ import { addBusyHistoryItem, removeBusyHistoryItem } from "../../list/handle-busy/actions";
3
+ import { addErrorHistoryItem } from "../../list/handle-error/actions";
4
+ import { addHistoryItemsRequest } from "../add-history-items/request";
5
+ import { InjectAsyncHistoryItemsPayload } from "./request";
6
+
7
+ export class InjectAsyncHistoryItemsHandler extends BaseHandler {
8
+ async handle(payload: InjectAsyncHistoryItemsPayload) {
9
+ this.store.dispatch(addBusyHistoryItem(payload.entityId));
10
+ try {
11
+ let items = await payload.asyncTask();
12
+ if (payload.mapFn) items = items.map(payload.mapFn);
13
+ this.api.broker.send(addHistoryItemsRequest, {
14
+ entityId: payload.entityId,
15
+ items,
16
+ componentFactory: payload.componentFactory,
17
+ searchPredicate: payload.searchPredicate,
18
+ });
19
+ } catch (e) {
20
+ this.store.dispatch(
21
+ addErrorHistoryItem({ id: payload.entityId, message: payload.errorMessage || e.message }),
22
+ );
23
+ } finally {
24
+ this.store.dispatch(removeBusyHistoryItem(payload.entityId));
25
+ }
26
+ }
27
+ }
@@ -1,8 +1,10 @@
1
+ import { IActivityHistoryItem } from "../../domain/model";
2
+
1
3
  export interface InjectAsyncHistoryItemsPayload {
2
4
  entityId: string;
3
5
  asyncTask: () => Promise<any>;
4
6
  mapFn?: (item: any) => any;
5
- componentFactory: () => HTMLElement;
7
+ componentFactory: (item: IActivityHistoryItem) => HTMLElement;
6
8
  searchPredicate?: (searchString: string, item: any) => boolean;
7
9
  errorMessage: string;
8
10
  }
@@ -0,0 +1,3 @@
1
+ import { activityHistoryCollectionsSlice } from "../../slice";
2
+
3
+ export const { addActivityHistoryItem } = activityHistoryCollectionsSlice.actions;
@@ -0,0 +1,11 @@
1
+ import { IActivityHistoryItem, IActivityHistoryItemCollection } from "../../domain/model";
2
+ import { addItemsToCollection } from "../add-history-items/add-items-to-collection";
3
+
4
+ export const addItemToCollection = (
5
+ collections: Record<string, IActivityHistoryItemCollection>,
6
+ id: string,
7
+ item: IActivityHistoryItem,
8
+ componentFactory?: (item: IActivityHistoryItem) => HTMLElement,
9
+ ) => {
10
+ return addItemsToCollection(collections, id, [item], componentFactory);
11
+ };
@@ -1,7 +1,7 @@
1
1
  import { BrokerExtensions } from "@primaria/plugins-core";
2
2
  import { AddHistoryItemHandler } from "./handler";
3
3
  import { addHistoryItemRequest } from "./request";
4
- import { BrokerDisposableHandler } from "../../../../api/broker/primaria-broker";
4
+ import { BrokerDisposableHandler } from "../../../../../api/broker/primaria-broker";
5
5
 
6
6
  let request: BrokerDisposableHandler;
7
7
 
@@ -9,6 +9,6 @@ export const bootstrapAddHistoryItem = (broker: BrokerExtensions) => {
9
9
  request = broker.registerRequest(addHistoryItemRequest, AddHistoryItemHandler);
10
10
  };
11
11
 
12
- export const teardownAddHistoryItem = (broker: BrokerExtensions) => {
12
+ export const teardownAddHistoryItem = () => {
13
13
  request?.dispose();
14
14
  };
@@ -1,12 +1,9 @@
1
- import { Store } from "@reduxjs/toolkit";
2
- import { inject } from "inversify";
3
- import { TYPES } from "../../infrastructure/ioc/types";
4
- import { AddHistoryItemPayload } from "./request";
5
- import { addActivityHistoryItem } from "../../infrastructure/state/actions";
1
+ import { StoreBaseHandler } from "../../../infrastructure/base-handlers";
6
2
  import { ensureAreValidActivityHistoryItems } from "../../domain/is-valid-history-item/is-valid-history-item";
3
+ import { addActivityHistoryItem } from "./action";
4
+ import { AddHistoryItemPayload } from "./request";
7
5
 
8
- export class AddHistoryItemHandler {
9
- constructor(@inject(TYPES.store) private readonly store: Store) {}
6
+ export class AddHistoryItemHandler extends StoreBaseHandler {
10
7
  async handle(payload: AddHistoryItemPayload) {
11
8
  try {
12
9
  ensureAreValidActivityHistoryItems([payload.item]);
@@ -0,0 +1,15 @@
1
+ import { PayloadAction } from "@reduxjs/toolkit";
2
+ import { addItemToCollection } from "./add-item-to-collection";
3
+ import { IActivityHistoryItem } from "../../domain/model";
4
+
5
+ export function addActivityHistoryItemReducer(
6
+ state,
7
+ action: PayloadAction<{
8
+ id: string;
9
+ item: IActivityHistoryItem;
10
+ componentFactory?: (item: IActivityHistoryItem) => HTMLElement;
11
+ }>,
12
+ ) {
13
+ const { id, item, componentFactory } = action.payload;
14
+ state.collections = addItemToCollection(state.collections, id, item, componentFactory);
15
+ }
@@ -0,0 +1,3 @@
1
+ import { activityHistoryCollectionsSlice } from "../../slice";
2
+
3
+ export const { addActivityHistoryItems } = activityHistoryCollectionsSlice.actions;
@@ -1,6 +1,6 @@
1
1
  import { describe, expect, it } from "vitest";
2
- import { IActivityHistoryItem, IActivityHistoryItemCollection } from "../model";
3
- import { addItemsToCollection, updateItemInCollection } from "./handle-collections";
2
+ import { IActivityHistoryItemCollection, IActivityHistoryItem } from "../../..";
3
+ import { addItemsToCollection } from "./add-items-to-collection";
4
4
 
5
5
  describe("addItemsToCollection", () => {
6
6
  const mockComponentFactory = () => document.createElement("div"); // Mocks a component factory
@@ -68,65 +68,3 @@ describe("addItemsToCollection", () => {
68
68
  expect(result.collection1.items).toEqual(newItems);
69
69
  });
70
70
  });
71
-
72
- describe("updateItemInCollection", () => {
73
- it("should return the same collections if the collection does not exist", () => {
74
- const collections: Record<string, any> = {};
75
- const updatedItem: IActivityHistoryItem = { id: "item1", name: "Updated Item 1" };
76
-
77
- const result = updateItemInCollection(collections, "collection1", updatedItem);
78
-
79
- expect(result).toEqual(collections); // Sin cambios
80
- });
81
-
82
- it("should return the same collections if the collection exists but has no items", () => {
83
- const collections: Record<string, any> = {
84
- collection1: {
85
- id: "collection1",
86
- items: [],
87
- },
88
- };
89
- const updatedItem: IActivityHistoryItem = { id: "item1", name: "Updated Item 1" };
90
-
91
- const result = updateItemInCollection(collections, "collection1", updatedItem);
92
-
93
- expect(result).toEqual(collections); // Sin cambios
94
- });
95
-
96
- it("should update the item in the collection when the id matches", () => {
97
- const collections: Record<string, any> = {
98
- collection1: {
99
- id: "collection1",
100
- items: [
101
- { id: "item1", name: "Item 1" },
102
- { id: "item2", name: "Item 2" },
103
- ],
104
- },
105
- };
106
- const updatedItem: IActivityHistoryItem = { id: "item1", name: "Updated Item 1" };
107
-
108
- const result = updateItemInCollection(collections, "collection1", updatedItem);
109
-
110
- expect(result.collection1.items).toEqual([
111
- { id: "item1", name: "Updated Item 1" },
112
- { id: "item2", name: "Item 2" },
113
- ]);
114
- });
115
-
116
- it("should return the same collections if the item with the id does not exist", () => {
117
- const collections: Record<string, any> = {
118
- collection1: {
119
- id: "collection1",
120
- items: [
121
- { id: "item1", name: "Item 1" },
122
- { id: "item2", name: "Item 2" },
123
- ],
124
- },
125
- };
126
- const updatedItem: IActivityHistoryItem = { id: "item3", name: "Updated Item 3" }; // No existe item3
127
-
128
- const result = updateItemInCollection(collections, "collection1", updatedItem);
129
-
130
- expect(result).toEqual(collections); // Sin cambios
131
- });
132
- });
@@ -0,0 +1,25 @@
1
+ import {
2
+ IActivityHistoryItem,
3
+ IActivityHistoryItemCollection,
4
+ TSearchActivityHistoryItemPredicate,
5
+ } from "../../domain/model";
6
+
7
+ export const addItemsToCollection = (
8
+ collections: Record<string, IActivityHistoryItemCollection>,
9
+ id: string,
10
+ items: IActivityHistoryItem[],
11
+ componentFactory?: (item: IActivityHistoryItem) => HTMLElement,
12
+ searchPredicate?: TSearchActivityHistoryItemPredicate,
13
+ ) => {
14
+ // Crea la colección si no existe
15
+ if (!collections[id])
16
+ return { ...collections, [id]: { id, items, componentFactory, searchPredicate } };
17
+ // Si la colección ya existe, fusiona el array existente con el nuevo; si no, crea una nueva entrada
18
+ return {
19
+ ...collections,
20
+ [id]: {
21
+ ...collections[id],
22
+ items: [...(collections[id]?.items || []), ...items],
23
+ },
24
+ };
25
+ };
@@ -1,7 +1,7 @@
1
1
  import { BrokerExtensions } from "@primaria/plugins-core";
2
2
  import { AddHistoryItemsHandler } from "./handler";
3
3
  import { addHistoryItemsRequest } from "./request";
4
- import { BrokerDisposableHandler } from "../../../../api/broker/primaria-broker";
4
+ import { BrokerDisposableHandler } from "../../../../../api/broker/primaria-broker";
5
5
 
6
6
  let request: BrokerDisposableHandler;
7
7
 
@@ -9,6 +9,6 @@ export const bootstrapAddHistoryItems = (broker: BrokerExtensions) => {
9
9
  request = broker.registerRequest(addHistoryItemsRequest, AddHistoryItemsHandler);
10
10
  };
11
11
 
12
- export const teardownAddHistoryItems = (broker: BrokerExtensions) => {
12
+ export const teardownAddHistoryItems = () => {
13
13
  request?.dispose();
14
14
  };
@@ -0,0 +1,22 @@
1
+ import { StoreBaseHandler } from "../../../infrastructure/base-handlers";
2
+ import { validateAndFilterItems } from "../../domain/is-valid-history-item/is-valid-history-item";
3
+ import { addActivityHistoryItems } from "./action";
4
+ import { AddHistoryItemsPayload } from "./request";
5
+
6
+ export class AddHistoryItemsHandler extends StoreBaseHandler {
7
+ async handle(payload: AddHistoryItemsPayload) {
8
+ try {
9
+ const validItems = validateAndFilterItems(payload.items);
10
+ this.store.dispatch(
11
+ addActivityHistoryItems({
12
+ id: payload.entityId,
13
+ items: validItems,
14
+ componentFactory: payload.componentFactory,
15
+ searchPredicate: payload.searchPredicate,
16
+ }),
17
+ );
18
+ } catch (e) {
19
+ console.log(e.message);
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,22 @@
1
+ import { PayloadAction } from "@reduxjs/toolkit";
2
+ import { addItemsToCollection } from "./add-items-to-collection";
3
+ import { IActivityHistoryItem, TSearchActivityHistoryItemPredicate } from "../../domain/model";
4
+
5
+ export function addActivityHistoryItemsReducer(
6
+ state,
7
+ action: PayloadAction<{
8
+ id: string;
9
+ items: IActivityHistoryItem[];
10
+ componentFactory?: (item: IActivityHistoryItem) => HTMLElement;
11
+ searchPredicate?: TSearchActivityHistoryItemPredicate;
12
+ }>,
13
+ ) {
14
+ const { id, items, componentFactory, searchPredicate } = action.payload;
15
+ state.collections = addItemsToCollection(
16
+ state.collections,
17
+ id,
18
+ items,
19
+ componentFactory,
20
+ searchPredicate,
21
+ );
22
+ }
@@ -3,6 +3,8 @@ import { IActivityHistoryItem } from "../../domain/model";
3
3
  export interface AddHistoryItemsPayload {
4
4
  entityId: string;
5
5
  items: IActivityHistoryItem[];
6
+ componentFactory?: (item: IActivityHistoryItem) => HTMLElement;
7
+ searchPredicate?: (searchString: string, item: any) => boolean;
6
8
  }
7
9
 
8
10
  export const addHistoryItemsRequest = "add_history_items_request";
@@ -0,0 +1,46 @@
1
+ import { BrokerExtensions, brokerExtensions } from "@primaria/plugins-core";
2
+ import { PrimariaApi } from "../../../api/api";
3
+ import { container } from "../infrastructure/ioc/container";
4
+ import {
5
+ bootstrapInjectAsyncHistoryItems,
6
+ teardownInjectAsyncHistoryItems,
7
+ } from "./add/add-async-history-items/bootstrapper";
8
+ import {
9
+ bootstrapAddHistoryItem,
10
+ teardownAddHistoryItem,
11
+ } from "./add/add-history-item/bootstrapper";
12
+ import { bootstrapExportPdf, teardownExportPdf } from "./export-to-pdf/bootstrapper";
13
+ import {
14
+ bootstrapAddHistoryItems,
15
+ teardownAddHistoryItems,
16
+ } from "./add/add-history-items/bootstrapper";
17
+ import { bootstrapUpdateHistoryItem, teardownUpdateHistoryItem } from "./update/bootstrapper";
18
+ import { bootstrapListActivityHistoryItems } from "./list/bootstrapper";
19
+ import { bootstrapFilters, teardownFilters } from "./filter/bootstrapper";
20
+ import { bootstrapSearchItems, teardownSearchItems } from "./search/bootstrapper";
21
+ import { bootstrapActivityHistoryItemHandleBusy } from "./list/handle-busy/bootstrapper";
22
+
23
+ let broker: BrokerExtensions;
24
+
25
+ export const bootstrapActivityHistoryItem = (api: PrimariaApi) => {
26
+ broker = brokerExtensions(api, container);
27
+ bootstrapListActivityHistoryItems();
28
+ bootstrapActivityHistoryItemHandleBusy();
29
+ bootstrapInjectAsyncHistoryItems(broker);
30
+ bootstrapAddHistoryItem(broker);
31
+ bootstrapAddHistoryItems(broker);
32
+ bootstrapUpdateHistoryItem(broker);
33
+ bootstrapExportPdf(broker);
34
+ bootstrapFilters(broker);
35
+ bootstrapSearchItems(broker);
36
+ };
37
+
38
+ export const teardownActivityHistoryItem = () => {
39
+ teardownInjectAsyncHistoryItems();
40
+ teardownAddHistoryItem();
41
+ teardownAddHistoryItems();
42
+ teardownUpdateHistoryItem();
43
+ teardownExportPdf();
44
+ teardownFilters();
45
+ teardownSearchItems();
46
+ };
@@ -9,6 +9,11 @@ export interface IErrorHistoryItem {
9
9
  message: string;
10
10
  }
11
11
 
12
+ export type TSearchActivityHistoryItemPredicate = (
13
+ searchString: string,
14
+ item: IActivityHistoryItem,
15
+ ) => boolean;
16
+
12
17
  export interface IActivityHistoryItem {
13
18
  id: string;
14
19
  date: string;
@@ -19,15 +24,16 @@ export interface IActivityHistoryItem {
19
24
  up: IEntityDescription;
20
25
  ep: IEntityDescription;
21
26
  service: IEntityDescription;
22
- componentFactory?: () => HTMLElement;
27
+ componentFactory: (item?: any) => HTMLElement;
28
+ searchPredicate: TSearchActivityHistoryItemPredicate;
23
29
  type?: string;
24
30
  }
25
31
 
26
32
  export interface IActivityHistoryItemCollection {
27
33
  id: string;
28
34
  items: IActivityHistoryItem[];
29
- componentFactory: () => HTMLElement;
30
- searchPredicate?: (searchString: string, item: IActivityHistoryItem) => boolean;
35
+ componentFactory: (item?: any) => HTMLElement;
36
+ searchPredicate: TSearchActivityHistoryItemPredicate;
31
37
  }
32
38
 
33
39
  export interface IActivityHistoryGroup {
@@ -0,0 +1,14 @@
1
+ import { IUserInfo } from "../../../../../features/get-user-info/model";
2
+ import { shellApi } from "../../../../../api/api";
3
+ import { IActivityHistoryItem } from "../model";
4
+ import { Spec } from "./spec";
5
+
6
+ export class OwnSpec extends Spec<IActivityHistoryItem> {
7
+ constructor(public context: IActivityHistoryItem) {
8
+ super();
9
+ }
10
+ isSatisfiedBy(context: IActivityHistoryItem): boolean {
11
+ const userInfo = shellApi.globalStateManager.getData("userInfo") as IUserInfo;
12
+ return context?.professional?.id === userInfo?.userId;
13
+ }
14
+ }
@@ -0,0 +1,11 @@
1
+ import { IActivityHistoryItem } from "../model";
2
+ import { Spec } from "./spec";
3
+
4
+ export class RelevantSpec extends Spec<IActivityHistoryItem> {
5
+ constructor(public context: IActivityHistoryItem) {
6
+ super();
7
+ }
8
+ isSatisfiedBy(context: IActivityHistoryItem): boolean {
9
+ return context?.relevant ?? false;
10
+ }
11
+ }
@@ -0,0 +1,59 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { IActivityHistoryItem } from "../model";
3
+ import { RelevantSpec } from "./relevant-spec";
4
+
5
+ describe("RelevantSpec", () => {
6
+ it("should return true if the item is relevant", () => {
7
+ const activityItem: IActivityHistoryItem = {
8
+ id: "1",
9
+ date: "2025-02-25",
10
+ relevant: true,
11
+ professional: { id: "user123", name: "John Doe" },
12
+ diagnostics: [],
13
+ center: { id: "center1", name: "Center A" },
14
+ up: { id: "up1", name: "Up A" },
15
+ ep: { id: "ep1", name: "EP A" },
16
+ service: { id: "service1", name: "Service A" },
17
+ componentFactory: () => document.createElement("div"),
18
+ };
19
+
20
+ const spec = new RelevantSpec(activityItem);
21
+ expect(spec.isSatisfiedBy(activityItem)).toBe(true);
22
+ });
23
+
24
+ it("should return false if the item is not relevant", () => {
25
+ const activityItem: IActivityHistoryItem = {
26
+ id: "2",
27
+ date: "2025-02-25",
28
+ relevant: false,
29
+ professional: { id: "user123", name: "John Doe" },
30
+ diagnostics: [],
31
+ center: { id: "center1", name: "Center A" },
32
+ up: { id: "up1", name: "Up A" },
33
+ ep: { id: "ep1", name: "EP A" },
34
+ service: { id: "service1", name: "Service A" },
35
+ componentFactory: () => document.createElement("div"),
36
+ };
37
+
38
+ const spec = new RelevantSpec(activityItem);
39
+ expect(spec.isSatisfiedBy(activityItem)).toBe(false);
40
+ });
41
+
42
+ it("should return false if the relevant field is undefined", () => {
43
+ const activityItem: IActivityHistoryItem = {
44
+ id: "3",
45
+ date: "2025-02-25",
46
+ relevant: undefined,
47
+ professional: { id: "user123", name: "John Doe" },
48
+ diagnostics: [],
49
+ center: { id: "center1", name: "Center A" },
50
+ up: { id: "up1", name: "Up A" },
51
+ ep: { id: "ep1", name: "EP A" },
52
+ service: { id: "service1", name: "Service A" },
53
+ componentFactory: () => document.createElement("div"),
54
+ };
55
+
56
+ const spec = new RelevantSpec(activityItem);
57
+ expect(spec.isSatisfiedBy(activityItem)).toBe(false);
58
+ });
59
+ });