@uxland/primary-shell 3.5.2 → 3.5.3

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 (210) hide show
  1. package/dist/index.js +1493 -1275
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.umd.cjs +126 -115
  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/package.json +1 -1
  80. package/src/UI/shared-components/primaria-text-editor/primaria-rich-text-editor.ts +23 -0
  81. package/src/internal-plugins/activity-history/{features/inject-async-history-items → activity-history-item/add/add-async-history-items}/bootstrapper.ts +2 -2
  82. package/src/internal-plugins/activity-history/activity-history-item/add/add-async-history-items/handler.ts +27 -0
  83. package/src/internal-plugins/activity-history/{features/inject-async-history-items → activity-history-item/add/add-async-history-items}/request.ts +3 -1
  84. package/src/internal-plugins/activity-history/activity-history-item/add/add-history-item/action.ts +3 -0
  85. package/src/internal-plugins/activity-history/activity-history-item/add/add-history-item/add-item-to-collection.ts +11 -0
  86. package/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-item/bootstrapper.ts +2 -2
  87. package/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-item/handler.ts +4 -7
  88. package/src/internal-plugins/activity-history/activity-history-item/add/add-history-item/reducer.ts +15 -0
  89. package/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/action.ts +3 -0
  90. 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
  91. package/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/add-items-to-collection.ts +25 -0
  92. package/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-items/bootstrapper.ts +2 -2
  93. package/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/handler.ts +22 -0
  94. package/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/reducer.ts +22 -0
  95. package/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-items/request.ts +2 -0
  96. package/src/internal-plugins/activity-history/activity-history-item/bootstrapper.ts +46 -0
  97. package/src/internal-plugins/activity-history/{domain → activity-history-item/domain}/model.ts +9 -3
  98. package/src/internal-plugins/activity-history/activity-history-item/domain/specs/own-spec.ts +14 -0
  99. package/src/internal-plugins/activity-history/activity-history-item/domain/specs/relevant-spec.ts +11 -0
  100. package/src/internal-plugins/activity-history/activity-history-item/domain/specs/relevant.spec.ts +59 -0
  101. package/src/internal-plugins/activity-history/activity-history-item/domain/specs/search-string-spec.test.ts +105 -0
  102. package/src/internal-plugins/activity-history/activity-history-item/domain/specs/search-string-spec.ts +58 -0
  103. package/src/internal-plugins/activity-history/activity-history-item/domain/specs/spec.ts +54 -0
  104. package/src/internal-plugins/activity-history/activity-history-item/domain/specs/true-spec.ts +8 -0
  105. package/src/internal-plugins/activity-history/{features → activity-history-item}/export-to-pdf/bootstrapper.ts +2 -1
  106. package/src/internal-plugins/activity-history/{components → activity-history-item/export-to-pdf}/export-pdf-modal/export-pdf-modal.ts +2 -2
  107. package/src/internal-plugins/activity-history/{components → activity-history-item/export-to-pdf}/export-pdf-modal/template.ts +5 -5
  108. package/src/internal-plugins/activity-history/{features → activity-history-item}/export-to-pdf/handler.ts +3 -6
  109. package/src/internal-plugins/activity-history/activity-history-item/filter/UI/activity-history-filters/activity-history-filters.ts +40 -0
  110. package/src/internal-plugins/activity-history/activity-history-item/filter/UI/activity-history-filters/styles.css +39 -0
  111. package/src/internal-plugins/activity-history/activity-history-item/filter/UI/activity-history-filters/template.ts +30 -0
  112. package/src/internal-plugins/activity-history/activity-history-item/filter/actions.ts +3 -0
  113. package/src/internal-plugins/activity-history/activity-history-item/filter/bootstrapper.ts +14 -0
  114. package/src/internal-plugins/activity-history/activity-history-item/filter/common-filters.ts +29 -0
  115. package/src/internal-plugins/activity-history/activity-history-item/filter/constants.ts +8 -0
  116. package/src/internal-plugins/activity-history/activity-history-item/filter/model.ts +20 -0
  117. package/src/internal-plugins/activity-history/activity-history-item/filter/selectors.ts +28 -0
  118. package/src/internal-plugins/activity-history/activity-history-item/filter/set-common-filter/bootstrapper.ts +14 -0
  119. package/src/internal-plugins/activity-history/activity-history-item/filter/set-common-filter/handler.ts +13 -0
  120. package/src/internal-plugins/activity-history/activity-history-item/filter/set-common-filter/request.ts +3 -0
  121. package/src/internal-plugins/activity-history/activity-history-item/filter/slice.ts +27 -0
  122. package/src/internal-plugins/activity-history/activity-history-item/list/UI/main-view/activity-history-main.ts +91 -0
  123. package/src/internal-plugins/activity-history/{components/activity-history → activity-history-item/list/UI/main-view}/styles.css +2 -39
  124. package/src/internal-plugins/activity-history/{components/activity-history → activity-history-item/list/UI/main-view}/template.ts +11 -32
  125. package/src/internal-plugins/activity-history/{components/activity-history/activity-history-timeline → activity-history-item/list/UI/timeline}/activity-history-timeline.ts +24 -7
  126. package/src/internal-plugins/activity-history/{components/activity-history/activity-history-timeline → activity-history-item/list/UI/timeline}/styles.css +1 -1
  127. package/src/internal-plugins/activity-history/{components/activity-history/activity-history-timeline → activity-history-item/list/UI/timeline}/template.ts +8 -7
  128. package/src/internal-plugins/activity-history/activity-history-item/list/bootstrapper.ts +5 -0
  129. package/src/internal-plugins/activity-history/{domain → activity-history-item/list}/group-history-items/group-history-items.test.ts +1 -1
  130. package/src/internal-plugins/activity-history/{domain → activity-history-item/list}/group-history-items/group-history-items.ts +12 -8
  131. package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/actions.ts +4 -0
  132. package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/bootstrapper.ts +5 -0
  133. package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/busy-component/component.ts +27 -0
  134. package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/busy-component/styles.css +15 -0
  135. package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/busy-component/template.ts +10 -0
  136. package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/reducers.ts +8 -0
  137. package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/selectors.ts +13 -0
  138. package/src/internal-plugins/activity-history/activity-history-item/list/handle-error/actions.ts +4 -0
  139. package/src/internal-plugins/activity-history/activity-history-item/list/handle-error/reducers.ts +6 -0
  140. package/src/internal-plugins/activity-history/activity-history-item/list/selectors.ts +62 -0
  141. package/src/internal-plugins/activity-history/{domain → activity-history-item/list}/sort-history-items-by-date/sort-history-items-by-date.ts +7 -7
  142. package/src/internal-plugins/activity-history/activity-history-item/remove/reducer.ts +5 -0
  143. package/src/internal-plugins/activity-history/activity-history-item/search/actions.ts +3 -0
  144. package/src/internal-plugins/activity-history/activity-history-item/search/activity-history-search-bar/activity-history-search-bar.ts +26 -0
  145. package/src/internal-plugins/activity-history/activity-history-item/search/activity-history-search-bar/template.ts +8 -0
  146. 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
  147. package/src/internal-plugins/activity-history/activity-history-item/search/activity-history-search-results/styles.css +14 -0
  148. 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
  149. package/src/internal-plugins/activity-history/{features/search-items → activity-history-item/search}/bootstrapper.ts +3 -1
  150. package/src/internal-plugins/activity-history/activity-history-item/search/handler.ts +17 -0
  151. package/src/internal-plugins/activity-history/activity-history-item/search/reducer.ts +5 -0
  152. package/src/internal-plugins/activity-history/activity-history-item/search/selectors.ts +4 -0
  153. package/src/internal-plugins/activity-history/activity-history-item/slice.ts +37 -0
  154. package/src/internal-plugins/activity-history/activity-history-item/update/action.ts +3 -0
  155. package/src/internal-plugins/activity-history/{features/update-history-item → activity-history-item/update}/bootstrapper.ts +1 -1
  156. package/src/internal-plugins/activity-history/activity-history-item/update/handler.ts +20 -0
  157. package/src/internal-plugins/activity-history/activity-history-item/update/reducer.ts +11 -0
  158. package/src/internal-plugins/activity-history/{features/update-history-item → activity-history-item/update}/request.ts +1 -1
  159. package/src/internal-plugins/activity-history/activity-history-item/update/update-item-in-collection.test.ts +65 -0
  160. package/src/internal-plugins/activity-history/activity-history-item/update/update-item-in-collection.ts +18 -0
  161. package/src/internal-plugins/activity-history/index.ts +1 -1
  162. package/src/internal-plugins/activity-history/infrastructure/base-handlers.ts +22 -0
  163. package/src/internal-plugins/activity-history/infrastructure/ioc/container.ts +9 -1
  164. package/src/internal-plugins/activity-history/infrastructure/state/store.ts +4 -2
  165. package/src/internal-plugins/activity-history/main.ts +15 -11
  166. package/dist/primary/shell/src/internal-plugins/activity-history/components/activity-history/activity-history-search-header/template.d.ts +0 -3
  167. package/dist/primary/shell/src/internal-plugins/activity-history/components/activity-history/activity-history.d.ts +0 -28
  168. package/dist/primary/shell/src/internal-plugins/activity-history/components/activity-history/template.d.ts +0 -4
  169. package/dist/primary/shell/src/internal-plugins/activity-history/domain/filter-by-search-string/filter-by-search-string.d.ts +0 -3
  170. package/dist/primary/shell/src/internal-plugins/activity-history/domain/handle-collections/handle-collections.d.ts +0 -19
  171. package/dist/primary/shell/src/internal-plugins/activity-history/features/add-history-item/handler.d.ts +0 -8
  172. package/dist/primary/shell/src/internal-plugins/activity-history/features/add-history-items/handler.d.ts +0 -8
  173. package/dist/primary/shell/src/internal-plugins/activity-history/features/bootstrapper.d.ts +0 -4
  174. package/dist/primary/shell/src/internal-plugins/activity-history/features/export-to-pdf/handler.d.ts +0 -8
  175. package/dist/primary/shell/src/internal-plugins/activity-history/features/inject-async-history-items/handler.d.ts +0 -8
  176. package/dist/primary/shell/src/internal-plugins/activity-history/features/search-items/handler.d.ts +0 -10
  177. package/dist/primary/shell/src/internal-plugins/activity-history/features/update-history-item/handler.d.ts +0 -8
  178. package/dist/primary/shell/src/internal-plugins/activity-history/infrastructure/state/actions.d.ts +0 -1
  179. package/dist/primary/shell/src/internal-plugins/activity-history/infrastructure/state/selectors.d.ts +0 -210
  180. package/src/internal-plugins/activity-history/components/activity-history/activity-history.ts +0 -125
  181. package/src/internal-plugins/activity-history/domain/filter-by-search-string/filter-by-search-string.test.ts +0 -68
  182. package/src/internal-plugins/activity-history/domain/filter-by-search-string/filter-by-search-string.ts +0 -44
  183. package/src/internal-plugins/activity-history/domain/handle-collections/handle-collections.ts +0 -47
  184. package/src/internal-plugins/activity-history/features/add-history-items/handler.ts +0 -23
  185. package/src/internal-plugins/activity-history/features/bootstrapper.ts +0 -39
  186. package/src/internal-plugins/activity-history/features/inject-async-history-items/handler.ts +0 -37
  187. package/src/internal-plugins/activity-history/features/search-items/handler.ts +0 -24
  188. package/src/internal-plugins/activity-history/features/update-history-item/handler.ts +0 -23
  189. package/src/internal-plugins/activity-history/infrastructure/state/actions.ts +0 -13
  190. package/src/internal-plugins/activity-history/infrastructure/state/selectors.ts +0 -67
  191. package/src/internal-plugins/activity-history/infrastructure/state/slices.ts +0 -61
  192. /package/dist/primary/shell/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-item/request.d.ts +0 -0
  193. /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
  194. /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
  195. /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
  196. /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
  197. /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
  198. /package/dist/primary/shell/src/internal-plugins/activity-history/{components → activity-history-item/export-to-pdf}/export-pdf-modal/template.d.ts +0 -0
  199. /package/dist/primary/shell/src/internal-plugins/activity-history/{features → activity-history-item}/export-to-pdf/request.d.ts +0 -0
  200. /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
  201. /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
  202. /package/dist/primary/shell/src/internal-plugins/activity-history/{features/search-items → activity-history-item/search}/request.d.ts +0 -0
  203. /package/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-item/request.ts +0 -0
  204. /package/src/internal-plugins/activity-history/{domain → activity-history-item/domain}/is-valid-history-item/is-valid-history-item.test.ts +0 -0
  205. /package/src/internal-plugins/activity-history/{domain → activity-history-item/domain}/is-valid-history-item/is-valid-history-item.ts +0 -0
  206. /package/src/internal-plugins/activity-history/{components → activity-history-item/export-to-pdf}/export-pdf-modal/export-pdf-modal.css +0 -0
  207. /package/src/internal-plugins/activity-history/{features → activity-history-item}/export-to-pdf/request.ts +0 -0
  208. /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
  209. /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
  210. /package/src/internal-plugins/activity-history/{features/search-items → activity-history-item/search}/request.ts +0 -0
@@ -1,5 +1,9 @@
1
- import {IEntityDescription} from '@primaria/plugins-core';
2
- import {IActivityHistoryGroup, IActivityHistoryItem, IActivityHistorySubGroup} from '../model';
1
+ import { IEntityDescription } from "@primaria/plugins-core";
2
+ import {
3
+ IActivityHistoryItem,
4
+ IActivityHistoryGroup,
5
+ IActivityHistorySubGroup,
6
+ } from "../../domain/model";
3
7
 
4
8
  const isSameVisit = (item1: IActivityHistoryItem, item2: IActivityHistoryItem): boolean => {
5
9
  const sameProfessional =
@@ -27,8 +31,8 @@ const areSameDiagnostics = (diag1: IEntityDescription[], diag2: IEntityDescripti
27
31
  return false;
28
32
  }
29
33
 
30
- const sortedDiag1 = diag1.map(d => d.id).sort();
31
- const sortedDiag2 = diag2.map(d => d.id).sort();
34
+ const sortedDiag1 = diag1.map((d) => d.id).sort();
35
+ const sortedDiag2 = diag2.map((d) => d.id).sort();
32
36
 
33
37
  return sortedDiag1.every((id, index) => id === sortedDiag2[index]);
34
38
  };
@@ -36,7 +40,7 @@ const areSameDiagnostics = (diag1: IEntityDescription[], diag2: IEntityDescripti
36
40
  const groupActivityHistoryItems = (items: IActivityHistoryItem[]): IActivityHistoryGroup[] => {
37
41
  const groups: IActivityHistoryGroup[] = [];
38
42
 
39
- items?.forEach(item => {
43
+ items?.forEach((item) => {
40
44
  let added = false;
41
45
 
42
46
  for (const group of groups) {
@@ -63,11 +67,11 @@ const groupActivityHistoryItems = (items: IActivityHistoryItem[]): IActivityHist
63
67
  });
64
68
 
65
69
  // Crear subgrupos por diagnósticos iguales. Los items que no tienen diagnostico, se quedan fuera de subgrupos (remaining items)
66
- groups.forEach(group => {
70
+ groups.forEach((group) => {
67
71
  const subGroups: IActivityHistorySubGroup[] = [];
68
72
  const remainingItems: IActivityHistoryItem[] = [];
69
73
 
70
- group.items.forEach(item => {
74
+ group.items.forEach((item) => {
71
75
  if (item.diagnostics?.length > 0) {
72
76
  let addedToSubGroup = false;
73
77
 
@@ -99,4 +103,4 @@ const groupActivityHistoryItems = (items: IActivityHistoryItem[]): IActivityHist
99
103
  return groups;
100
104
  };
101
105
 
102
- export {groupActivityHistoryItems};
106
+ export { groupActivityHistoryItems };
@@ -0,0 +1,4 @@
1
+ import { activityHistoryCollectionsSlice } from "../../slice";
2
+
3
+ export const { addBusyHistoryItem, removeBusyHistoryItem } =
4
+ activityHistoryCollectionsSlice.actions;
@@ -0,0 +1,5 @@
1
+ import "./busy-component/component";
2
+
3
+ export const bootstrapActivityHistoryItemHandleBusy = () => {
4
+ () => null;
5
+ };
@@ -0,0 +1,27 @@
1
+ import { LitElement, css, html, unsafeCSS } from "lit";
2
+ import { customElement } from "lit/decorators.js";
3
+ import styles from "./styles.css?inline";
4
+ import { template } from "./template";
5
+ import { connectedProperty } from "../../../../infrastructure/state/connected-property";
6
+ import {
7
+ isAnyCollectionLoadingWithoutAnyLoaded,
8
+ isSomeCollectionLoadedAndOtherLoading,
9
+ } from "../selectors";
10
+
11
+ //@ts-ignore
12
+ @customElement("activity-history-busy")
13
+ export class ActivityHistoryBusy extends LitElement {
14
+ render() {
15
+ return html`${template(this)}`;
16
+ }
17
+
18
+ static styles = css`
19
+ ${unsafeCSS(styles)}
20
+ `;
21
+
22
+ @connectedProperty(isAnyCollectionLoadingWithoutAnyLoaded)
23
+ isAnyCollectionLoadingWithoutAnyLoaded: boolean;
24
+
25
+ @connectedProperty(isSomeCollectionLoadedAndOtherLoading)
26
+ isSomeCollectionLoadedAndOtherLoading: boolean;
27
+ }
@@ -0,0 +1,15 @@
1
+ .spinner-container {
2
+ display: flex;
3
+ flex-direction: row;
4
+ align-items: center;
5
+ gap: 24px;
6
+ justify-content: center;
7
+ padding-top:16px
8
+ }
9
+ .spinner-full-container {
10
+ width: 100%;
11
+ height: 100%;
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+ }
@@ -0,0 +1,10 @@
1
+ import { html, nothing } from "lit";
2
+ import { ActivityHistoryBusy } from "./component";
3
+ import { translate } from "../../../../localization";
4
+
5
+ export const template = (props: ActivityHistoryBusy) =>
6
+ props.isAnyCollectionLoadingWithoutAnyLoaded
7
+ ? html`<div class="spinner-full-container"><dss-spinner></dss-spinner></div>`
8
+ : props.isSomeCollectionLoadedAndOtherLoading
9
+ ? html`<div class="spinner-container"><dss-spinner size="sm"></dss-spinner><div class="busy-description">${translate("busyEntriesLoading")}</div></div>`
10
+ : nothing;
@@ -0,0 +1,8 @@
1
+ import { PayloadAction } from "@reduxjs/toolkit";
2
+
3
+ export function addBusyHistoryItemReducer(state, action: PayloadAction<string>) {
4
+ state.busy.push(action.payload);
5
+ }
6
+ export function removeBusyHistoryItemReducer(state, action: PayloadAction<string>) {
7
+ state.busy = state.busy.filter((i) => i !== action.payload);
8
+ }
@@ -0,0 +1,13 @@
1
+ import { RootState } from "../../../infrastructure/state/store";
2
+
3
+ const isAnyCollectionBusySelector = (state: RootState) =>
4
+ state.activityHistoryCollections.busy.length > 0;
5
+ export const isAnyCollectionLoadingWithoutAnyLoaded = (state: RootState) => {
6
+ const collections = Object.values(state.activityHistoryCollections.collections);
7
+ return !collections?.length && isAnyCollectionBusySelector(state);
8
+ };
9
+
10
+ export const isSomeCollectionLoadedAndOtherLoading = (state: RootState) => {
11
+ const collections = Object.values(state.activityHistoryCollections.collections);
12
+ return collections && isAnyCollectionBusySelector(state);
13
+ };
@@ -0,0 +1,4 @@
1
+ import { activityHistoryCollectionsSlice } from "../../slice";
2
+
3
+ export const { addErrorHistoryItem, removeErrorHistoryItem } =
4
+ activityHistoryCollectionsSlice.actions;
@@ -0,0 +1,6 @@
1
+ export function addErrorHistoryItemReducer(state, action) {
2
+ state.error.push(action.payload);
3
+ }
4
+ export function removeErrorHistoryItemReducer(state, action) {
5
+ state.error = state.error.filter((i) => i !== action.payload);
6
+ }
@@ -0,0 +1,62 @@
1
+ import { createSelector } from "@reduxjs/toolkit";
2
+ import { RootState } from "../../infrastructure/state/store";
3
+ import { commonSpecSelector } from "../filter/selectors";
4
+ import {
5
+ IActivityHistoryItem,
6
+ IActivityHistoryItemCollection,
7
+ TSearchActivityHistoryItemPredicate,
8
+ } from "../domain/model";
9
+ import { SearchStringSpec } from "../domain/specs/search-string-spec";
10
+ import { groupActivityHistoryItems } from "./group-history-items/group-history-items";
11
+ import { sortGroupsByMostRecentDate } from "./sort-history-items-by-date/sort-history-items-by-date";
12
+ import { activityHistorySearchStringSelector } from "../search/selectors";
13
+ import { Spec } from "../domain/specs/spec";
14
+
15
+ export const activityHistoryCollectionsSelector = (state: RootState) =>
16
+ state.activityHistoryCollections.collections;
17
+
18
+ const mapItemsWithMetadata = (
19
+ items: IActivityHistoryItem[],
20
+ componentFactory: any,
21
+ type: string,
22
+ searchPredicate: TSearchActivityHistoryItemPredicate,
23
+ ) => {
24
+ return items.map(
25
+ (item) =>
26
+ ({
27
+ ...item,
28
+ searchPredicate,
29
+ componentFactory,
30
+ type,
31
+ }) as IActivityHistoryItem,
32
+ );
33
+ };
34
+
35
+ export const activityHistoryMappedItems = createSelector(
36
+ activityHistoryCollectionsSelector,
37
+ (collections: Record<string, IActivityHistoryItemCollection>) => {
38
+ return Object.values(collections).flatMap((collection: IActivityHistoryItemCollection) => {
39
+ return mapItemsWithMetadata(
40
+ collection.items,
41
+ collection.componentFactory,
42
+ collection.id,
43
+ collection.searchPredicate,
44
+ );
45
+ });
46
+ },
47
+ );
48
+
49
+ export const activityHistoryGroupedItems = createSelector(
50
+ activityHistoryMappedItems,
51
+ activityHistorySearchStringSelector,
52
+ commonSpecSelector,
53
+ (items: IActivityHistoryItem[], searchString: string, commonSpec: Spec<IActivityHistoryItem>) => {
54
+ const filteredItems = items.filter((item: IActivityHistoryItem) =>
55
+ new SearchStringSpec(searchString, item.searchPredicate).and(commonSpec).isSatisfiedBy(item),
56
+ );
57
+
58
+ const groupedItems = groupActivityHistoryItems(filteredItems);
59
+ const sortedByMostRecentDate = sortGroupsByMostRecentDate(groupedItems);
60
+ return sortedByMostRecentDate;
61
+ },
62
+ );
@@ -1,8 +1,8 @@
1
- import {IActivityHistoryGroup} from '../model';
1
+ import { IActivityHistoryGroup } from "../../domain/model";
2
2
 
3
3
  export const sortGroupsByMostRecentDate = (arr: IActivityHistoryGroup[]) => {
4
4
  // Helper function to get the most recent date from a list of items
5
- const getMostRecentDate = items => {
5
+ const getMostRecentDate = (items) => {
6
6
  return items.reduce((latest, item) => {
7
7
  const itemDate = new Date(item.date);
8
8
  return itemDate > latest ? itemDate : latest;
@@ -10,12 +10,12 @@ export const sortGroupsByMostRecentDate = (arr: IActivityHistoryGroup[]) => {
10
10
  };
11
11
 
12
12
  // Helper function to sort items within each group or subgroup
13
- const sortItemsByDate = items => {
13
+ const sortItemsByDate = (items) => {
14
14
  return items.sort((a, b) => new Date(b.date) - new Date(a.date));
15
15
  };
16
16
 
17
17
  // Function to get the most recent date from a group (considering its items and subgroups)
18
- const getGroupMostRecentDate = group => {
18
+ const getGroupMostRecentDate = (group) => {
19
19
  let allDates = [];
20
20
 
21
21
  // Collect dates from group items
@@ -24,7 +24,7 @@ export const sortGroupsByMostRecentDate = (arr: IActivityHistoryGroup[]) => {
24
24
  }
25
25
 
26
26
  // Collect dates from subgroups items
27
- group.subGroups.forEach(subGroup => {
27
+ group.subGroups.forEach((subGroup) => {
28
28
  if (subGroup.items.length > 0) {
29
29
  allDates.push(getMostRecentDate(subGroup.items));
30
30
  }
@@ -35,9 +35,9 @@ export const sortGroupsByMostRecentDate = (arr: IActivityHistoryGroup[]) => {
35
35
  };
36
36
 
37
37
  // Sort each group's items and subgroups' items by date
38
- arr.forEach(group => {
38
+ arr.forEach((group) => {
39
39
  group.items = sortItemsByDate(group.items);
40
- group.subGroups.forEach(subGroup => {
40
+ group.subGroups.forEach((subGroup) => {
41
41
  subGroup.items = sortItemsByDate(subGroup.items);
42
42
  });
43
43
  });
@@ -0,0 +1,5 @@
1
+ export function removeActivityHistoryItemReducer(state, action) {
2
+ /* state.collections[action.payload.id]?.items = state.collections[action.payload.id]?.items.filter(
3
+ (i) => i !== action.payload,
4
+ ); */
5
+ }
@@ -0,0 +1,3 @@
1
+ import { activityHistoryFiltersSlice } from "../filter/slice";
2
+
3
+ export const { setSearchString } = activityHistoryFiltersSlice.actions;
@@ -0,0 +1,26 @@
1
+ import { LitElement, css, html, unsafeCSS } from "lit";
2
+ import { customElement, property } from "lit/decorators.js";
3
+ import styles from "./styles.css?inline";
4
+ import { template } from "./template";
5
+
6
+ //@ts-ignore
7
+ @customElement("activity-history-search-bar")
8
+ export class ActivityHistorySearchBar extends LitElement {
9
+ render() {
10
+ return html`${template(this)}`;
11
+ }
12
+
13
+ static styles = css`
14
+ ${unsafeCSS(styles)}
15
+ `;
16
+
17
+ @property()
18
+ searchQuery = "";
19
+
20
+ _handleSearchChange(event) {
21
+ const selectedItems = event.detail || [];
22
+ const searchQuery = selectedItems.length > 0 ? selectedItems.join(" ") : "";
23
+ const payload = searchQuery.length > 1 ? searchQuery : "";
24
+ this.dispatchEvent(new CustomEvent("onSearchChange", { detail: payload }));
25
+ }
26
+ }
@@ -0,0 +1,8 @@
1
+ import { html } from "lit";
2
+ import { ActivityHistorySearchBar } from "./activity-history-search-bar";
3
+
4
+ export const template = (props: ActivityHistorySearchBar) =>
5
+ html`<dss-search-bar dropdownStyle=${"display: none"} @onSearchChange=${props._handleSearchChange} icon="search" inputsize="md" threshold="2" recentsearchestext="" emptydropdowntext="">
6
+ <label slot="label" for="searchbar1" aria-hidden="false"></label>
7
+ <input slot="input" id="searchbar1" type="text" value=${props.searchQuery} @input=${(e) => props._handleSearchChange({ detail: [e.target.value] })}>
8
+ </dss-search-bar>`;
@@ -4,8 +4,8 @@ import styles from "./styles.css?inline";
4
4
  import { template } from "./template";
5
5
 
6
6
  //@ts-ignore
7
- @customElement("activity-history-search-header")
8
- export class ActivityHistorySearchHeader extends LitElement {
7
+ @customElement("activity-history-search-results")
8
+ export class ActivityHistorySearchResults extends LitElement {
9
9
  render() {
10
10
  return html`${template(this)}`;
11
11
  }
@@ -16,5 +16,4 @@ export class ActivityHistorySearchHeader extends LitElement {
16
16
 
17
17
  @property()
18
18
  searchQuery = "";
19
-
20
19
  }
@@ -0,0 +1,14 @@
1
+ .search-header {
2
+ padding-inline: 16px;
3
+ padding-top: 12px;
4
+ padding-bottom: 12px;
5
+ gap: var(--dds-spacing-xs);
6
+ border-width: 0px 0px 1px 0px;
7
+ border-style: solid;
8
+ border-color: #D8D8D8;
9
+ background-color: #FFFFFF;
10
+ color: var(--color-neutral-900);
11
+ font-weight: 600;
12
+ font-size: 14px;
13
+ line-height: 24px;
14
+ }
@@ -1,8 +1,8 @@
1
1
  import { html } from "lit";
2
- import { ActivityHistorySearchHeader } from "./activity-history-search-header";
2
+ import { ActivityHistorySearchResults } from "./activity-history-search-results";
3
3
  import { translate } from "../../../localization";
4
4
 
5
- export const template = (props: ActivityHistorySearchHeader) =>
5
+ export const template = (props: ActivityHistorySearchResults) =>
6
6
  html`<div class="search-header">
7
7
  ${translate("searchBarResults")} “${props.searchQuery}”
8
8
  </div>`;
@@ -2,6 +2,8 @@ import { BrokerExtensions } from "@primaria/plugins-core";
2
2
  import { SearchItemsHandler } from "./handler";
3
3
  import { SearchActivityHistoryItems } from "./request";
4
4
  import { BrokerDisposableHandler } from "../../../../api/broker/primaria-broker";
5
+ import "./activity-history-search-results/activity-history-search-results";
6
+ import "./activity-history-search-bar/activity-history-search-bar";
5
7
 
6
8
  let request: BrokerDisposableHandler;
7
9
 
@@ -9,6 +11,6 @@ export const bootstrapSearchItems = (broker: BrokerExtensions) => {
9
11
  request = broker.registerRequest(SearchActivityHistoryItems, SearchItemsHandler);
10
12
  };
11
13
 
12
- export const teardownSearchItems = (broker: BrokerExtensions) => {
14
+ export const teardownSearchItems = () => {
13
15
  request?.dispose();
14
16
  };
@@ -0,0 +1,17 @@
1
+ import { events } from "../../constants";
2
+ import { BaseHandler } from "../../infrastructure/base-handlers";
3
+ import { setSearchString } from "./actions";
4
+ import { SearchActivityHistoryItems } from "./request";
5
+
6
+ export class SearchItemsHandler extends BaseHandler {
7
+ async handle(request: SearchActivityHistoryItems) {
8
+ try {
9
+ this.store.dispatch(setSearchString(request.searchString));
10
+ this.api.broker.publish(events.activityHistorySearched, {
11
+ searchQuery: request.searchString,
12
+ });
13
+ } catch (e) {
14
+ console.log(e.message);
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,5 @@
1
+ import { PayloadAction } from "@reduxjs/toolkit";
2
+
3
+ export function setSearchStringReducer(state, action: PayloadAction<string>) {
4
+ state.searchString = action.payload;
5
+ }
@@ -0,0 +1,4 @@
1
+ import { RootState } from "../../infrastructure/state/store";
2
+
3
+ export const activityHistorySearchStringSelector = (state: RootState) =>
4
+ state.activityHistoryFilters.searchString;
@@ -0,0 +1,37 @@
1
+ import { createSlice } from "@reduxjs/toolkit";
2
+ import { addActivityHistoryItemReducer } from "./add/add-history-item/reducer";
3
+ import { addActivityHistoryItemsReducer } from "./add/add-history-items/reducer";
4
+ import {
5
+ IActivityHistoryItemCollection,
6
+ IBusyHistoryItem,
7
+ IErrorHistoryItem,
8
+ } from "./domain/model";
9
+ import {
10
+ addBusyHistoryItemReducer,
11
+ removeBusyHistoryItemReducer,
12
+ } from "./list/handle-busy/reducers";
13
+ import {
14
+ addErrorHistoryItemReducer,
15
+ removeErrorHistoryItemReducer,
16
+ } from "./list/handle-error/reducers";
17
+ import { removeActivityHistoryItemReducer } from "./remove/reducer";
18
+ import { updateActivityHistoryItemReducer } from "./update/reducer";
19
+
20
+ export const activityHistoryCollectionsSlice = createSlice({
21
+ name: "activity-history-collections",
22
+ initialState: {
23
+ busy: [] as IBusyHistoryItem[],
24
+ error: [] as IErrorHistoryItem[],
25
+ collections: {} as Record<string, IActivityHistoryItemCollection>,
26
+ },
27
+ reducers: {
28
+ addBusyHistoryItem: addBusyHistoryItemReducer,
29
+ removeBusyHistoryItem: removeBusyHistoryItemReducer,
30
+ addActivityHistoryItem: addActivityHistoryItemReducer,
31
+ updateActivityHistoryItem: updateActivityHistoryItemReducer,
32
+ addActivityHistoryItems: addActivityHistoryItemsReducer,
33
+ addErrorHistoryItem: addErrorHistoryItemReducer,
34
+ removeErrorHistoryItem: removeErrorHistoryItemReducer,
35
+ removeActivityHistoryItem: removeActivityHistoryItemReducer,
36
+ },
37
+ });
@@ -0,0 +1,3 @@
1
+ import { activityHistoryCollectionsSlice } from "../slice";
2
+
3
+ export const { updateActivityHistoryItem } = activityHistoryCollectionsSlice.actions;
@@ -9,6 +9,6 @@ export const bootstrapUpdateHistoryItem = (broker: BrokerExtensions) => {
9
9
  request = broker.registerRequest(updateHistoryItemRequest, UpdateHistoryItemHandler);
10
10
  };
11
11
 
12
- export const teardownUpdateHistoryItem = (broker: BrokerExtensions) => {
12
+ export const teardownUpdateHistoryItem = () => {
13
13
  request?.dispose();
14
14
  };
@@ -0,0 +1,20 @@
1
+ import { StoreBaseHandler } from "../../infrastructure/base-handlers";
2
+ import { ensureAreValidActivityHistoryItems } from "../domain/is-valid-history-item/is-valid-history-item";
3
+ import { updateActivityHistoryItem } from "./action";
4
+ import { UpdateHistoryItemPayload } from "./request";
5
+
6
+ export class UpdateHistoryItemHandler extends StoreBaseHandler {
7
+ async handle(payload: UpdateHistoryItemPayload) {
8
+ try {
9
+ ensureAreValidActivityHistoryItems([payload.item]);
10
+ this.store.dispatch(
11
+ updateActivityHistoryItem({
12
+ id: payload.entityId,
13
+ item: payload.item,
14
+ }),
15
+ );
16
+ } catch (e) {
17
+ console.log(e.message);
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,11 @@
1
+ import { PayloadAction } from "@reduxjs/toolkit";
2
+ import { updateItemInCollection } from "./update-item-in-collection";
3
+ import { IActivityHistoryItem } from "../domain/model";
4
+
5
+ export function updateActivityHistoryItemReducer(
6
+ state,
7
+ action: PayloadAction<{ id: string; item: IActivityHistoryItem }>,
8
+ ) {
9
+ const { id, item } = action.payload;
10
+ state.collections = updateItemInCollection(state.collections, id, item);
11
+ }
@@ -1,4 +1,4 @@
1
- import { IActivityHistoryItem } from "../../domain/model";
1
+ import { IActivityHistoryItem } from "../domain/model";
2
2
 
3
3
  export interface UpdateHistoryItemPayload {
4
4
  entityId: string;
@@ -0,0 +1,65 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { IActivityHistoryItem } from "../..";
3
+ import { updateItemInCollection } from "./update-item-in-collection";
4
+
5
+ describe("updateItemInCollection", () => {
6
+ it("should return the same collections if the collection does not exist", () => {
7
+ const collections: Record<string, any> = {};
8
+ const updatedItem: IActivityHistoryItem = { id: "item1", name: "Updated Item 1" };
9
+
10
+ const result = updateItemInCollection(collections, "collection1", updatedItem);
11
+
12
+ expect(result).toEqual(collections); // Sin cambios
13
+ });
14
+
15
+ it("should return the same collections if the collection exists but has no items", () => {
16
+ const collections: Record<string, any> = {
17
+ collection1: {
18
+ id: "collection1",
19
+ items: [],
20
+ },
21
+ };
22
+ const updatedItem: IActivityHistoryItem = { id: "item1", name: "Updated Item 1" };
23
+
24
+ const result = updateItemInCollection(collections, "collection1", updatedItem);
25
+
26
+ expect(result).toEqual(collections); // Sin cambios
27
+ });
28
+
29
+ it("should update the item in the collection when the id matches", () => {
30
+ const collections: Record<string, any> = {
31
+ collection1: {
32
+ id: "collection1",
33
+ items: [
34
+ { id: "item1", name: "Item 1" },
35
+ { id: "item2", name: "Item 2" },
36
+ ],
37
+ },
38
+ };
39
+ const updatedItem: IActivityHistoryItem = { id: "item1", name: "Updated Item 1" };
40
+
41
+ const result = updateItemInCollection(collections, "collection1", updatedItem);
42
+
43
+ expect(result.collection1.items).toEqual([
44
+ { id: "item1", name: "Updated Item 1" },
45
+ { id: "item2", name: "Item 2" },
46
+ ]);
47
+ });
48
+
49
+ it("should return the same collections if the item with the id does not exist", () => {
50
+ const collections: Record<string, any> = {
51
+ collection1: {
52
+ id: "collection1",
53
+ items: [
54
+ { id: "item1", name: "Item 1" },
55
+ { id: "item2", name: "Item 2" },
56
+ ],
57
+ },
58
+ };
59
+ const updatedItem: IActivityHistoryItem = { id: "item3", name: "Updated Item 3" }; // No existe item3
60
+
61
+ const result = updateItemInCollection(collections, "collection1", updatedItem);
62
+
63
+ expect(result).toEqual(collections); // Sin cambios
64
+ });
65
+ });
@@ -0,0 +1,18 @@
1
+ import { IActivityHistoryItem } from "../domain/model";
2
+
3
+ export const updateItemInCollection = (
4
+ collections: Record<string, any>,
5
+ id: string,
6
+ updatedItem: IActivityHistoryItem,
7
+ ) => {
8
+ if (!collections[id]?.items) return collections;
9
+ const items = collections[id]?.items ?? [];
10
+
11
+ return {
12
+ ...collections,
13
+ [id]: {
14
+ ...collections[id],
15
+ items: items.map((i: IActivityHistoryItem) => (i.id === updatedItem.id ? updatedItem : i)),
16
+ },
17
+ };
18
+ };
@@ -1 +1 @@
1
- export * from "./domain/model";
1
+ export * from "./activity-history-item/domain/model";
@@ -0,0 +1,22 @@
1
+ import { inject, injectable } from "inversify";
2
+ import { TYPES } from "./ioc/types";
3
+ import { Store } from "@reduxjs/toolkit";
4
+ import { PrimariaApi } from "@uxland/primary-shell";
5
+
6
+ @injectable()
7
+ export class StoreBaseHandler {
8
+ constructor(@inject(TYPES.store) protected readonly store: Store) {}
9
+ }
10
+
11
+ @injectable()
12
+ export class ApiBaseHandler {
13
+ constructor(@inject(TYPES.primaryApi) protected readonly api: PrimariaApi) {}
14
+ }
15
+
16
+ @injectable()
17
+ export class BaseHandler {
18
+ constructor(
19
+ @inject(TYPES.store) protected readonly store: Store,
20
+ @inject(TYPES.primaryApi) protected readonly api: PrimariaApi,
21
+ ) {}
22
+ }
@@ -1,6 +1,14 @@
1
1
  import { Container } from "inversify";
2
2
  import getDecorators from "inversify-inject-decorators";
3
+ import { PrimariaApi } from "../../../../api/api";
4
+ import { TYPES } from "./types";
5
+ import { store } from "../state/store";
3
6
  const container = new Container();
4
7
  const { lazyInject } = getDecorators(container, false);
5
8
 
6
- export { container, lazyInject };
9
+ export { container, lazyInject };
10
+
11
+ export const bindDeps = (api: PrimariaApi) => {
12
+ container.bind(TYPES.primaryApi).toConstantValue(api);
13
+ container.bind(TYPES.store).toConstantValue(store);
14
+ };