@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
@@ -0,0 +1,91 @@
1
+ import { parse } from "date-fns";
2
+ import { LitElement, css, html, unsafeCSS } from "lit";
3
+ import { customElement, property } from "lit/decorators.js";
4
+ import { PrimariaApi, PrimariaRegionHost } from "../../../../../../api/api";
5
+ import { BrokerDisposableHandler } from "../../../../../../api/broker/primaria-broker";
6
+ import { shellEvents } from "../../../../../../events";
7
+ import { lazyInject } from "../../../../infrastructure/ioc/container";
8
+ import { TYPES } from "../../../../infrastructure/ioc/types";
9
+ import { connectedProperty } from "../../../../infrastructure/state/connected-property";
10
+ import { SearchActivityHistoryItems } from "../../../search/request";
11
+ import { activityHistoryCollectionsSelector } from "../../selectors";
12
+ import { ActivityHistoryTimeline } from "../timeline/activity-history-timeline";
13
+ import styles from "./styles.css?inline";
14
+ import { template } from "./template";
15
+
16
+ //@ts-ignore
17
+ @customElement("activity-history-main")
18
+ export class ActivityHistoryMain extends PrimariaRegionHost(LitElement) {
19
+ render() {
20
+ return html`${template(this)}`;
21
+ }
22
+
23
+ static styles = css`
24
+ ${unsafeCSS(styles)}
25
+ `;
26
+
27
+ subscriptions: BrokerDisposableHandler[] = [];
28
+
29
+ connectedCallback() {
30
+ super.connectedCallback();
31
+ this._subscribeEvents();
32
+ }
33
+
34
+ disconnectedCallback() {
35
+ super.disconnectedCallback();
36
+ this._unsubscribeEvents();
37
+ }
38
+
39
+ @property({ type: Boolean })
40
+ maximized = false;
41
+
42
+ @lazyInject(TYPES.primaryApi)
43
+ api: PrimariaApi;
44
+
45
+ @connectedProperty(activityHistoryCollectionsSelector)
46
+ historyItems: any[];
47
+
48
+ _maximize() {
49
+ this.maximized = true;
50
+ }
51
+
52
+ _minimize() {
53
+ this.maximized = false;
54
+ }
55
+
56
+ _subscribeEvents() {
57
+ const subscription = this.api.broker.subscribe(
58
+ shellEvents.openClinicalMonitoringRequested,
59
+ () => {
60
+ this.maximized = false;
61
+ },
62
+ );
63
+ this.subscriptions.push(subscription);
64
+ }
65
+
66
+ _unsubscribeEvents() {
67
+ this.subscriptions.forEach((s) => s.dispose());
68
+ }
69
+
70
+ @property()
71
+ searchQuery = "";
72
+
73
+ _handleSelectDate(date: string) {
74
+ const selectedDate = parse(date, "dd/MM/yyyy", new Date());
75
+ this.scrollToClosestDate(selectedDate);
76
+ }
77
+
78
+ _handleSearchChange(event: CustomEvent) {
79
+ if (typeof event.detail !== "string") return;
80
+ this.searchQuery = event.detail;
81
+ this.api.broker.send(new SearchActivityHistoryItems(this.searchQuery));
82
+ }
83
+
84
+ scrollToClosestDate(date: Date) {
85
+ const selectedDate = date.getTime();
86
+ const timeline = this.shadowRoot.querySelector(
87
+ "activity-history-timeline",
88
+ ) as ActivityHistoryTimeline;
89
+ timeline._scrollIntoDate(selectedDate);
90
+ }
91
+ }
@@ -100,13 +100,6 @@
100
100
  white-space: nowrap;
101
101
  }
102
102
  }
103
- .header__search {
104
- flex: 1;
105
- border-radius: 8px;
106
- border: 1px solid rgb(189, 189, 189);
107
- padding: 8px;
108
- width: 300px;
109
- }
110
103
  .header__right {
111
104
  display: flex;
112
105
  flex-direction: row;
@@ -131,43 +124,13 @@
131
124
  border-top-right-radius: var(--dss-radius-sm);
132
125
  }
133
126
  }
134
- .filters-sidebar {
135
- padding: 8px 4px;
136
- border-right: 1px solid rgb(189, 189, 189);
137
- width: 30px;
138
- &[expanded] {
139
- width: 296px;
140
- .filters-sidebar-opened {
141
- display: flex;
142
- align-items: center;
143
- justify-content: space-between;
144
- padding-inline: 8px;
145
- color: var(--color-neutral-900);
146
- font-weight: 700;
147
- font-size: 16px;
148
- line-height: 24px;
149
- }
150
- }
151
- }
127
+
152
128
  .content {
153
129
  width: 100%;
154
130
  background: var(--color-neutral-50);
155
131
  border-bottom-right-radius: var(--dss-radius-sm);
156
132
  overflow: hidden;
157
- .spinner-container {
158
- display: flex;
159
- flex-direction: row;
160
- align-items: center;
161
- gap: 24px;
162
- justify-content: center;
163
- }
164
- .spinner-full-container {
165
- width: 100%;
166
- height: 100%;
167
- display: flex;
168
- align-items: center;
169
- justify-content: center;
170
- }
133
+
171
134
  }
172
135
  }
173
136
  }
@@ -1,12 +1,9 @@
1
- import { html, nothing } from "lit";
2
- import { ActivityHistory } from "./activity-history";
3
- import "./activity-history-search-header/activity-history-search-header"
4
- import "./activity-history-timeline/activity-history-timeline";
5
- import "../export-pdf-modal/export-pdf-modal";
6
- import { ExportPdf } from "../../features/export-to-pdf/request";
7
- import { translate } from "../../localization";
1
+ import { html } from "lit";
2
+ import { ActivityHistoryMain } from "./activity-history-main";
3
+ import { ExportPdf } from "../../../export-to-pdf/request";
4
+ import { translate } from "../../../../localization";
8
5
  import { when } from "lit/directives/when.js";
9
- export const template = (props: ActivityHistory) =>
6
+ export const template = (props: ActivityHistoryMain) =>
10
7
  html`<div class="container" ?maximized=${props.maximized}>
11
8
  ${
12
9
  props.maximized
@@ -14,10 +11,7 @@ export const template = (props: ActivityHistory) =>
14
11
  : html`<div class="header">
15
12
  <div class="header__left">
16
13
  <div class="title">${translate("activityHistory")}</div>
17
- <dss-search-bar dropdownStyle=${"display: none"} @onSearchChange=${props._handleSearchChange} icon="search" inputsize="md" threshold="2" recentsearchestext="" emptydropdowntext="">
18
- <label slot="label" for="searchbar1" aria-hidden="false"></label>
19
- <input slot="input" id="searchbar1" type="text" value=${props.searchQuery} @input=${(e) => props._handleSearchChange({ detail: [e.target.value] })}>
20
- </dss-search-bar>
14
+ <activity-history-search-bar @onSearchChange=${props._handleSearchChange} .searchQuery=${props.searchQuery}></activity-history-search-bar>
21
15
  <dss-datepicker dropdownFixed inputsize="md" class="date-picker" @onValueChange=${(event) => props._handleSelectDate(event.detail)}>
22
16
  <label slot="label" for="myDatepicker">${translate("goToDate")}</label>
23
17
  <input slot="input" id="myDatepicker" type="text" class="dss-input">
@@ -37,36 +31,21 @@ export const template = (props: ActivityHistory) =>
37
31
  </div>`
38
32
  }
39
33
  <div class="wrapper" ?maximized=${props.maximized}>
40
- <div class="filters-sidebar" ?expanded=${props.filtersExpanded} >
41
- ${
42
- props.filtersExpanded
43
- ? html`<div class="filters-sidebar-opened">${translate("filters.filters")}<dss-icon-button @click=${() => props._toggleFilters()} size="md" variant="primary" icon="keyboard_double_arrow_left"></dss-icon-button></div>`
44
- : html`<dss-icon-button @click=${() => props._toggleFilters()} size="md" variant="primary" icon="keyboard_double_arrow_right"></dss-icon-button>`
45
- }
46
- </div>
34
+ <activity-history-filters></activity-history-filters>
47
35
  <div class="content">
48
- ${when(props.searchQuery.length > 1,() => html`<activity-history-search-header searchQuery="${props.searchQuery}"></activity-history-search-header>`)}
49
- ${
50
- props.isAnyCollectionLoadingWithoutAnyLoaded
51
- ? html`<div class="spinner-full-container"><dss-spinner></dss-spinner></div>`
52
- : props.isSomeCollectionLoadedAndOtherLoading
53
- ? html`<div class="spinner-container"><dss-spinner size="sm"></dss-spinner><div class="busy-description">${translate("busyEntriesLoading")}</div></div>`
54
- : nothing
55
- }
36
+ ${when(props.searchQuery.length > 1, () => html`<activity-history-search-header searchQuery="${props.searchQuery}"></activity-history-search-header>`)}
37
+ <activity-history-busy></activity-history-busy>
56
38
  <activity-history-timeline></activity-history-timeline>
57
39
  </div>
58
40
  </div>
59
41
  </div>`;
60
42
 
61
- export const headerMaximizedTemplate = (props: ActivityHistory) => html`
43
+ export const headerMaximizedTemplate = (props: ActivityHistoryMain) => html`
62
44
  <div class="header-maximized-container">
63
45
  <div class="header__maximized">
64
46
  <div class="header__maximized__left">
65
47
  <div class="title">${translate("activityHistory")}</div>
66
- <dss-search-bar dropdownStyle=${"display: none"} @onSearchChange=${props._handleSearchChange} icon="search" inputsize="md" threshold="3" recentsearchestext="" emptydropdowntext="Sense resultats per">
67
- <label slot="label" for="searchbar1" aria-hidden="false"></label>
68
- <input slot="input" id="searchbar1" type="text" value=${props.searchQuery} @input=${(e) => props._handleSearchChange({ detail: [e.target.value] })}>
69
- </dss-search-bar>
48
+ <activity-history-search-bar @onSearchChange=${props._handleSearchChange} .searchQuery=${props.searchQuery}></activity-history-search-bar>
70
49
  <dss-datepicker dropdownFixed inputsize="md" class="date-picker" @onValueChange=${(event) => props._handleSelectDate(event.detail)}>
71
50
  <label slot="label" for="myDatepicker">${translate("goToDate")}</label>
72
51
  <input slot="input" id="myDatepicker" type="text" class="dss-input">
@@ -1,20 +1,19 @@
1
1
  import { LitElement, css, html, unsafeCSS } from "lit";
2
- import { PrimariaRegionHost } from "../../../../../api/api";
3
2
  import { customElement } from "lit/decorators.js";
3
+ import { connectedProperty } from "../../../../infrastructure/state/connected-property";
4
+ import { IActivityHistoryGroup } from "../../../domain/model";
5
+ import { activityHistorySearchStringSelector } from "../../../search/selectors";
4
6
  import {
5
- activityHistoryGroupedItems,
6
- activityHistorySearchStringSelector,
7
7
  isAnyCollectionLoadingWithoutAnyLoaded,
8
8
  isSomeCollectionLoadedAndOtherLoading,
9
- } from "../../../infrastructure/state/selectors";
10
- import { connectedProperty } from "../../../infrastructure/state/connected-property";
9
+ } from "../../handle-busy/selectors";
10
+ import { activityHistoryGroupedItems } from "../../selectors";
11
11
  import styles from "./styles.css?inline";
12
12
  import { template } from "./template";
13
- import { IActivityHistoryGroup } from "../../../domain/model";
14
13
 
15
14
  //@ts-ignore
16
15
  @customElement("activity-history-timeline")
17
- export class ActivityHistoryTimeline extends PrimariaRegionHost(LitElement) {
16
+ export class ActivityHistoryTimeline extends LitElement {
18
17
  render() {
19
18
  return html`${template(this)}`;
20
19
  }
@@ -46,4 +45,22 @@ export class ActivityHistoryTimeline extends PrimariaRegionHost(LitElement) {
46
45
  const regex = new RegExp(`(${searchString})`, "gi");
47
46
  return text.replace(regex, `<span class="highlight">$1</span>`);
48
47
  }
48
+
49
+ _scrollIntoDate(selectedDate: number) {
50
+ let closestElement = null;
51
+ let closestDifference = Number.POSITIVE_INFINITY;
52
+ this.shadowRoot.querySelectorAll(".visit").forEach((element) => {
53
+ const itemDate = new Date(element.dataset.date).getTime();
54
+ const difference = Math.abs(itemDate - selectedDate);
55
+
56
+ if (difference < closestDifference) {
57
+ closestDifference = difference;
58
+ closestElement = element;
59
+ }
60
+ });
61
+
62
+ if (closestElement) {
63
+ closestElement.scrollIntoView({ behavior: "smooth", block: "start" });
64
+ }
65
+ }
49
66
  }
@@ -8,7 +8,7 @@
8
8
  flex-direction: column;
9
9
  gap: 16px;
10
10
  padding-inline: 16px;
11
- padding-top: 17px;
11
+ padding-top: 16px;
12
12
  min-height: 1px;
13
13
  height: 100%;
14
14
  overflow-y: auto;
@@ -1,16 +1,17 @@
1
1
  import { html, nothing } from "lit";
2
2
  import { ActivityHistoryTimeline } from "./activity-history-timeline";
3
3
  import { repeat } from "lit/directives/repeat.js";
4
+ import { IEntityDescription } from "@primaria/plugins-core";
5
+ import { format } from "date-fns";
6
+ import { unsafeHTML } from "lit/directives/unsafe-html.js";
7
+ import notFound from "../../../../../../UI/images/not-found.svg";
8
+ import { ifDefined } from "lit/directives/if-defined.js";
4
9
  import {
5
10
  IActivityHistoryGroup,
6
11
  IActivityHistoryItem,
7
12
  IActivityHistorySubGroup,
8
13
  } from "../../../domain/model";
9
- import { IEntityDescription } from "@primaria/plugins-core";
10
- import { format } from "date-fns";
11
- import { translate } from "../../../localization";
12
- import { unsafeHTML } from "lit/directives/unsafe-html.js";
13
- import notFound from "../../../../../UI/images/not-found.svg";
14
+ import { translate } from "../../../../localization";
14
15
 
15
16
  export const template = (props: ActivityHistoryTimeline) => {
16
17
  if (!props._hasUpdatedOnce) {
@@ -21,7 +22,7 @@ export const template = (props: ActivityHistoryTimeline) => {
21
22
  props.historyGroups && props.historyGroups.length > 0
22
23
  ? repeat(props.historyGroups, (itemGroup: IActivityHistoryGroup) => {
23
24
  return html`
24
- <div class="visit" data-date=${itemGroup.items[0]?.date || itemGroup.subGroups[0]?.items[0]?.date}>
25
+ <div class="visit" data-date=${ifDefined(itemGroup.items[0]?.date || itemGroup.subGroups[0]?.items[0]?.date)}>
25
26
  ${visitHeaderTemplate(props, itemGroup.items[0] || itemGroup.subGroups[0]?.items[0])}
26
27
  <div class="visit__items">
27
28
  ${repeat(
@@ -38,7 +39,7 @@ export const template = (props: ActivityHistoryTimeline) => {
38
39
  <div class="diagnostics__items">${repeat(
39
40
  subGroup.items,
40
41
  (item: IActivityHistoryItem) =>
41
- html`<div class="item">${item.componentFactory(item)}</div> `,
42
+ html`<div class="item">${item?.componentFactory(item)}</div> `,
42
43
  )}</div>
43
44
  </div>
44
45
  `,
@@ -0,0 +1,5 @@
1
+ import "./UI/timeline/activity-history-timeline";
2
+
3
+ export const bootstrapListActivityHistoryItems = () => {
4
+ () => null;
5
+ };
@@ -1,6 +1,6 @@
1
1
  import { describe, it, expect } from "vitest";
2
2
  import { groupActivityHistoryItems } from "./group-history-items";
3
- import { IActivityHistoryItem } from "../model";
3
+ import { IActivityHistoryItem } from "../../domain/model";
4
4
  describe("groupActivityHistoryItems", () => {
5
5
  it("should group items by visit and then by diagnostics", () => {
6
6
  const items: IActivityHistoryItem[] = [
@@ -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
+ }