@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.
- package/dist/index.js +1493 -1275
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +126 -115
- package/dist/index.umd.cjs.map +1 -1
- package/dist/primary/shell/src/UI/shared-components/primaria-text-editor/primaria-rich-text-editor.d.ts +1 -0
- 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
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-async-history-items/handler.d.ts +6 -0
- 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
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-history-item/action.d.ts +5 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-history-item/add-item-to-collection.d.ts +10 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-item/bootstrapper.d.ts +1 -1
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-history-item/handler.d.ts +6 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-history-item/reducer.d.ts +8 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/action.d.ts +6 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/add-items-to-collection.d.ts +10 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-items/bootstrapper.d.ts +1 -1
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/handler.d.ts +6 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/reducer.d.ts +9 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-items/request.d.ts +2 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/bootstrapper.d.ts +4 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/{domain → activity-history-item/domain}/model.d.ts +5 -3
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/domain/specs/own-spec.d.ts +8 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/domain/specs/relevant-spec.d.ts +8 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/domain/specs/search-string-spec.d.ts +9 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/domain/specs/spec.d.ts +29 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/domain/specs/true-spec.d.ts +6 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/{features → activity-history-item}/export-to-pdf/bootstrapper.d.ts +1 -1
- 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
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/export-to-pdf/handler.d.ts +6 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/UI/activity-history-filters/activity-history-filters.d.ts +13 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/UI/activity-history-filters/template.d.ts +3 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/actions.d.ts +1 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/bootstrapper.d.ts +4 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/common-filters.d.ts +3 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/constants.d.ts +7 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/model.d.ts +19 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/selectors.d.ts +157 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/set-common-filter/bootstrapper.d.ts +4 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/set-common-filter/handler.d.ts +6 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/set-common-filter/request.d.ts +10 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/UI/main-view/activity-history-main.d.ts +23 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/UI/main-view/template.d.ts +4 -0
- 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
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/bootstrapper.d.ts +2 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/{domain → activity-history-item/list}/group-history-items/group-history-items.d.ts +1 -1
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/actions.d.ts +1 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/bootstrapper.d.ts +2 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/busy-component/component.d.ts +8 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/busy-component/template.d.ts +4 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/reducers.d.ts +4 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/selectors.d.ts +4 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/handle-error/actions.d.ts +1 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/handle-error/reducers.d.ts +2 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/list/selectors.d.ts +156 -0
- 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
- 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
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/remove/reducer.d.ts +1 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/search/actions.d.ts +1 -0
- 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
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/search/activity-history-search-bar/template.d.ts +3 -0
- 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
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/search/activity-history-search-results/template.d.ts +3 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/{features/search-items → activity-history-item/search}/bootstrapper.d.ts +1 -1
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/search/handler.d.ts +6 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/search/reducer.d.ts +3 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/search/selectors.d.ts +3 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/slice.d.ts +26 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/update/action.d.ts +4 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/{features/update-history-item → activity-history-item/update}/bootstrapper.d.ts +1 -1
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/update/handler.d.ts +6 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/update/reducer.d.ts +7 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/{features/update-history-item → activity-history-item/update}/request.d.ts +1 -1
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/update/update-item-in-collection.d.ts +3 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/update/update-item-in-collection.test.d.ts +1 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/index.d.ts +1 -1
- package/dist/primary/shell/src/internal-plugins/activity-history/infrastructure/base-handlers.d.ts +16 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/infrastructure/ioc/container.d.ts +2 -0
- package/dist/primary/shell/src/internal-plugins/activity-history/infrastructure/state/store.d.ts +16 -4
- package/package.json +1 -1
- package/src/UI/shared-components/primaria-text-editor/primaria-rich-text-editor.ts +23 -0
- package/src/internal-plugins/activity-history/{features/inject-async-history-items → activity-history-item/add/add-async-history-items}/bootstrapper.ts +2 -2
- package/src/internal-plugins/activity-history/activity-history-item/add/add-async-history-items/handler.ts +27 -0
- package/src/internal-plugins/activity-history/{features/inject-async-history-items → activity-history-item/add/add-async-history-items}/request.ts +3 -1
- package/src/internal-plugins/activity-history/activity-history-item/add/add-history-item/action.ts +3 -0
- package/src/internal-plugins/activity-history/activity-history-item/add/add-history-item/add-item-to-collection.ts +11 -0
- package/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-item/bootstrapper.ts +2 -2
- package/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-item/handler.ts +4 -7
- package/src/internal-plugins/activity-history/activity-history-item/add/add-history-item/reducer.ts +15 -0
- package/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/action.ts +3 -0
- 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
- package/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/add-items-to-collection.ts +25 -0
- package/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-items/bootstrapper.ts +2 -2
- package/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/handler.ts +22 -0
- package/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/reducer.ts +22 -0
- package/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-items/request.ts +2 -0
- package/src/internal-plugins/activity-history/activity-history-item/bootstrapper.ts +46 -0
- package/src/internal-plugins/activity-history/{domain → activity-history-item/domain}/model.ts +9 -3
- package/src/internal-plugins/activity-history/activity-history-item/domain/specs/own-spec.ts +14 -0
- package/src/internal-plugins/activity-history/activity-history-item/domain/specs/relevant-spec.ts +11 -0
- package/src/internal-plugins/activity-history/activity-history-item/domain/specs/relevant.spec.ts +59 -0
- package/src/internal-plugins/activity-history/activity-history-item/domain/specs/search-string-spec.test.ts +105 -0
- package/src/internal-plugins/activity-history/activity-history-item/domain/specs/search-string-spec.ts +58 -0
- package/src/internal-plugins/activity-history/activity-history-item/domain/specs/spec.ts +54 -0
- package/src/internal-plugins/activity-history/activity-history-item/domain/specs/true-spec.ts +8 -0
- package/src/internal-plugins/activity-history/{features → activity-history-item}/export-to-pdf/bootstrapper.ts +2 -1
- package/src/internal-plugins/activity-history/{components → activity-history-item/export-to-pdf}/export-pdf-modal/export-pdf-modal.ts +2 -2
- package/src/internal-plugins/activity-history/{components → activity-history-item/export-to-pdf}/export-pdf-modal/template.ts +5 -5
- package/src/internal-plugins/activity-history/{features → activity-history-item}/export-to-pdf/handler.ts +3 -6
- package/src/internal-plugins/activity-history/activity-history-item/filter/UI/activity-history-filters/activity-history-filters.ts +40 -0
- package/src/internal-plugins/activity-history/activity-history-item/filter/UI/activity-history-filters/styles.css +39 -0
- package/src/internal-plugins/activity-history/activity-history-item/filter/UI/activity-history-filters/template.ts +30 -0
- package/src/internal-plugins/activity-history/activity-history-item/filter/actions.ts +3 -0
- package/src/internal-plugins/activity-history/activity-history-item/filter/bootstrapper.ts +14 -0
- package/src/internal-plugins/activity-history/activity-history-item/filter/common-filters.ts +29 -0
- package/src/internal-plugins/activity-history/activity-history-item/filter/constants.ts +8 -0
- package/src/internal-plugins/activity-history/activity-history-item/filter/model.ts +20 -0
- package/src/internal-plugins/activity-history/activity-history-item/filter/selectors.ts +28 -0
- package/src/internal-plugins/activity-history/activity-history-item/filter/set-common-filter/bootstrapper.ts +14 -0
- package/src/internal-plugins/activity-history/activity-history-item/filter/set-common-filter/handler.ts +13 -0
- package/src/internal-plugins/activity-history/activity-history-item/filter/set-common-filter/request.ts +3 -0
- package/src/internal-plugins/activity-history/activity-history-item/filter/slice.ts +27 -0
- package/src/internal-plugins/activity-history/activity-history-item/list/UI/main-view/activity-history-main.ts +91 -0
- package/src/internal-plugins/activity-history/{components/activity-history → activity-history-item/list/UI/main-view}/styles.css +2 -39
- package/src/internal-plugins/activity-history/{components/activity-history → activity-history-item/list/UI/main-view}/template.ts +11 -32
- package/src/internal-plugins/activity-history/{components/activity-history/activity-history-timeline → activity-history-item/list/UI/timeline}/activity-history-timeline.ts +24 -7
- package/src/internal-plugins/activity-history/{components/activity-history/activity-history-timeline → activity-history-item/list/UI/timeline}/styles.css +1 -1
- package/src/internal-plugins/activity-history/{components/activity-history/activity-history-timeline → activity-history-item/list/UI/timeline}/template.ts +8 -7
- package/src/internal-plugins/activity-history/activity-history-item/list/bootstrapper.ts +5 -0
- package/src/internal-plugins/activity-history/{domain → activity-history-item/list}/group-history-items/group-history-items.test.ts +1 -1
- package/src/internal-plugins/activity-history/{domain → activity-history-item/list}/group-history-items/group-history-items.ts +12 -8
- package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/actions.ts +4 -0
- package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/bootstrapper.ts +5 -0
- package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/busy-component/component.ts +27 -0
- package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/busy-component/styles.css +15 -0
- package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/busy-component/template.ts +10 -0
- package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/reducers.ts +8 -0
- package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/selectors.ts +13 -0
- package/src/internal-plugins/activity-history/activity-history-item/list/handle-error/actions.ts +4 -0
- package/src/internal-plugins/activity-history/activity-history-item/list/handle-error/reducers.ts +6 -0
- package/src/internal-plugins/activity-history/activity-history-item/list/selectors.ts +62 -0
- package/src/internal-plugins/activity-history/{domain → activity-history-item/list}/sort-history-items-by-date/sort-history-items-by-date.ts +7 -7
- package/src/internal-plugins/activity-history/activity-history-item/remove/reducer.ts +5 -0
- package/src/internal-plugins/activity-history/activity-history-item/search/actions.ts +3 -0
- package/src/internal-plugins/activity-history/activity-history-item/search/activity-history-search-bar/activity-history-search-bar.ts +26 -0
- package/src/internal-plugins/activity-history/activity-history-item/search/activity-history-search-bar/template.ts +8 -0
- 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
- package/src/internal-plugins/activity-history/activity-history-item/search/activity-history-search-results/styles.css +14 -0
- 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
- package/src/internal-plugins/activity-history/{features/search-items → activity-history-item/search}/bootstrapper.ts +3 -1
- package/src/internal-plugins/activity-history/activity-history-item/search/handler.ts +17 -0
- package/src/internal-plugins/activity-history/activity-history-item/search/reducer.ts +5 -0
- package/src/internal-plugins/activity-history/activity-history-item/search/selectors.ts +4 -0
- package/src/internal-plugins/activity-history/activity-history-item/slice.ts +37 -0
- package/src/internal-plugins/activity-history/activity-history-item/update/action.ts +3 -0
- package/src/internal-plugins/activity-history/{features/update-history-item → activity-history-item/update}/bootstrapper.ts +1 -1
- package/src/internal-plugins/activity-history/activity-history-item/update/handler.ts +20 -0
- package/src/internal-plugins/activity-history/activity-history-item/update/reducer.ts +11 -0
- package/src/internal-plugins/activity-history/{features/update-history-item → activity-history-item/update}/request.ts +1 -1
- package/src/internal-plugins/activity-history/activity-history-item/update/update-item-in-collection.test.ts +65 -0
- package/src/internal-plugins/activity-history/activity-history-item/update/update-item-in-collection.ts +18 -0
- package/src/internal-plugins/activity-history/index.ts +1 -1
- package/src/internal-plugins/activity-history/infrastructure/base-handlers.ts +22 -0
- package/src/internal-plugins/activity-history/infrastructure/ioc/container.ts +9 -1
- package/src/internal-plugins/activity-history/infrastructure/state/store.ts +4 -2
- package/src/internal-plugins/activity-history/main.ts +15 -11
- package/dist/primary/shell/src/internal-plugins/activity-history/components/activity-history/activity-history-search-header/template.d.ts +0 -3
- package/dist/primary/shell/src/internal-plugins/activity-history/components/activity-history/activity-history.d.ts +0 -28
- package/dist/primary/shell/src/internal-plugins/activity-history/components/activity-history/template.d.ts +0 -4
- package/dist/primary/shell/src/internal-plugins/activity-history/domain/filter-by-search-string/filter-by-search-string.d.ts +0 -3
- package/dist/primary/shell/src/internal-plugins/activity-history/domain/handle-collections/handle-collections.d.ts +0 -19
- package/dist/primary/shell/src/internal-plugins/activity-history/features/add-history-item/handler.d.ts +0 -8
- package/dist/primary/shell/src/internal-plugins/activity-history/features/add-history-items/handler.d.ts +0 -8
- package/dist/primary/shell/src/internal-plugins/activity-history/features/bootstrapper.d.ts +0 -4
- package/dist/primary/shell/src/internal-plugins/activity-history/features/export-to-pdf/handler.d.ts +0 -8
- package/dist/primary/shell/src/internal-plugins/activity-history/features/inject-async-history-items/handler.d.ts +0 -8
- package/dist/primary/shell/src/internal-plugins/activity-history/features/search-items/handler.d.ts +0 -10
- package/dist/primary/shell/src/internal-plugins/activity-history/features/update-history-item/handler.d.ts +0 -8
- package/dist/primary/shell/src/internal-plugins/activity-history/infrastructure/state/actions.d.ts +0 -1
- package/dist/primary/shell/src/internal-plugins/activity-history/infrastructure/state/selectors.d.ts +0 -210
- package/src/internal-plugins/activity-history/components/activity-history/activity-history.ts +0 -125
- package/src/internal-plugins/activity-history/domain/filter-by-search-string/filter-by-search-string.test.ts +0 -68
- package/src/internal-plugins/activity-history/domain/filter-by-search-string/filter-by-search-string.ts +0 -44
- package/src/internal-plugins/activity-history/domain/handle-collections/handle-collections.ts +0 -47
- package/src/internal-plugins/activity-history/features/add-history-items/handler.ts +0 -23
- package/src/internal-plugins/activity-history/features/bootstrapper.ts +0 -39
- package/src/internal-plugins/activity-history/features/inject-async-history-items/handler.ts +0 -37
- package/src/internal-plugins/activity-history/features/search-items/handler.ts +0 -24
- package/src/internal-plugins/activity-history/features/update-history-item/handler.ts +0 -23
- package/src/internal-plugins/activity-history/infrastructure/state/actions.ts +0 -13
- package/src/internal-plugins/activity-history/infrastructure/state/selectors.ts +0 -67
- package/src/internal-plugins/activity-history/infrastructure/state/slices.ts +0 -61
- /package/dist/primary/shell/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-item/request.d.ts +0 -0
- /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
- /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
- /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
- /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
- /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
- /package/dist/primary/shell/src/internal-plugins/activity-history/{components → activity-history-item/export-to-pdf}/export-pdf-modal/template.d.ts +0 -0
- /package/dist/primary/shell/src/internal-plugins/activity-history/{features → activity-history-item}/export-to-pdf/request.d.ts +0 -0
- /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
- /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
- /package/dist/primary/shell/src/internal-plugins/activity-history/{features/search-items → activity-history-item/search}/request.d.ts +0 -0
- /package/src/internal-plugins/activity-history/{features → activity-history-item/add}/add-history-item/request.ts +0 -0
- /package/src/internal-plugins/activity-history/{domain → activity-history-item/domain}/is-valid-history-item/is-valid-history-item.test.ts +0 -0
- /package/src/internal-plugins/activity-history/{domain → activity-history-item/domain}/is-valid-history-item/is-valid-history-item.ts +0 -0
- /package/src/internal-plugins/activity-history/{components → activity-history-item/export-to-pdf}/export-pdf-modal/export-pdf-modal.css +0 -0
- /package/src/internal-plugins/activity-history/{features → activity-history-item}/export-to-pdf/request.ts +0 -0
- /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
- /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
- /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
|
|
2
|
-
import {
|
|
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,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;
|
package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/reducers.ts
ADDED
|
@@ -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
|
+
}
|
package/src/internal-plugins/activity-history/activity-history-item/list/handle-busy/selectors.ts
ADDED
|
@@ -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,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
|
|
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,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-
|
|
8
|
-
export class
|
|
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 {
|
|
2
|
+
import { ActivityHistorySearchResults } from "./activity-history-search-results";
|
|
3
3
|
import { translate } from "../../../localization";
|
|
4
4
|
|
|
5
|
-
export const template = (props:
|
|
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 = (
|
|
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,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
|
+
});
|
|
@@ -9,6 +9,6 @@ export const bootstrapUpdateHistoryItem = (broker: BrokerExtensions) => {
|
|
|
9
9
|
request = broker.registerRequest(updateHistoryItemRequest, UpdateHistoryItemHandler);
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
export const teardownUpdateHistoryItem = (
|
|
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
|
+
}
|
|
@@ -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
|
+
};
|