@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,6 +1,6 @@
|
|
|
1
1
|
import { describe, expect, it } from "vitest";
|
|
2
|
-
import {
|
|
3
|
-
import { addItemsToCollection
|
|
2
|
+
import { IActivityHistoryItemCollection, IActivityHistoryItem } from "../../..";
|
|
3
|
+
import { addItemsToCollection } from "./add-items-to-collection";
|
|
4
4
|
|
|
5
5
|
describe("addItemsToCollection", () => {
|
|
6
6
|
const mockComponentFactory = () => document.createElement("div"); // Mocks a component factory
|
|
@@ -68,65 +68,3 @@ describe("addItemsToCollection", () => {
|
|
|
68
68
|
expect(result.collection1.items).toEqual(newItems);
|
|
69
69
|
});
|
|
70
70
|
});
|
|
71
|
-
|
|
72
|
-
describe("updateItemInCollection", () => {
|
|
73
|
-
it("should return the same collections if the collection does not exist", () => {
|
|
74
|
-
const collections: Record<string, any> = {};
|
|
75
|
-
const updatedItem: IActivityHistoryItem = { id: "item1", name: "Updated Item 1" };
|
|
76
|
-
|
|
77
|
-
const result = updateItemInCollection(collections, "collection1", updatedItem);
|
|
78
|
-
|
|
79
|
-
expect(result).toEqual(collections); // Sin cambios
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
it("should return the same collections if the collection exists but has no items", () => {
|
|
83
|
-
const collections: Record<string, any> = {
|
|
84
|
-
collection1: {
|
|
85
|
-
id: "collection1",
|
|
86
|
-
items: [],
|
|
87
|
-
},
|
|
88
|
-
};
|
|
89
|
-
const updatedItem: IActivityHistoryItem = { id: "item1", name: "Updated Item 1" };
|
|
90
|
-
|
|
91
|
-
const result = updateItemInCollection(collections, "collection1", updatedItem);
|
|
92
|
-
|
|
93
|
-
expect(result).toEqual(collections); // Sin cambios
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
it("should update the item in the collection when the id matches", () => {
|
|
97
|
-
const collections: Record<string, any> = {
|
|
98
|
-
collection1: {
|
|
99
|
-
id: "collection1",
|
|
100
|
-
items: [
|
|
101
|
-
{ id: "item1", name: "Item 1" },
|
|
102
|
-
{ id: "item2", name: "Item 2" },
|
|
103
|
-
],
|
|
104
|
-
},
|
|
105
|
-
};
|
|
106
|
-
const updatedItem: IActivityHistoryItem = { id: "item1", name: "Updated Item 1" };
|
|
107
|
-
|
|
108
|
-
const result = updateItemInCollection(collections, "collection1", updatedItem);
|
|
109
|
-
|
|
110
|
-
expect(result.collection1.items).toEqual([
|
|
111
|
-
{ id: "item1", name: "Updated Item 1" },
|
|
112
|
-
{ id: "item2", name: "Item 2" },
|
|
113
|
-
]);
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
it("should return the same collections if the item with the id does not exist", () => {
|
|
117
|
-
const collections: Record<string, any> = {
|
|
118
|
-
collection1: {
|
|
119
|
-
id: "collection1",
|
|
120
|
-
items: [
|
|
121
|
-
{ id: "item1", name: "Item 1" },
|
|
122
|
-
{ id: "item2", name: "Item 2" },
|
|
123
|
-
],
|
|
124
|
-
},
|
|
125
|
-
};
|
|
126
|
-
const updatedItem: IActivityHistoryItem = { id: "item3", name: "Updated Item 3" }; // No existe item3
|
|
127
|
-
|
|
128
|
-
const result = updateItemInCollection(collections, "collection1", updatedItem);
|
|
129
|
-
|
|
130
|
-
expect(result).toEqual(collections); // Sin cambios
|
|
131
|
-
});
|
|
132
|
-
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IActivityHistoryItem,
|
|
3
|
+
IActivityHistoryItemCollection,
|
|
4
|
+
TSearchActivityHistoryItemPredicate,
|
|
5
|
+
} from "../../domain/model";
|
|
6
|
+
|
|
7
|
+
export const addItemsToCollection = (
|
|
8
|
+
collections: Record<string, IActivityHistoryItemCollection>,
|
|
9
|
+
id: string,
|
|
10
|
+
items: IActivityHistoryItem[],
|
|
11
|
+
componentFactory?: (item: IActivityHistoryItem) => HTMLElement,
|
|
12
|
+
searchPredicate?: TSearchActivityHistoryItemPredicate,
|
|
13
|
+
) => {
|
|
14
|
+
// Crea la colección si no existe
|
|
15
|
+
if (!collections[id])
|
|
16
|
+
return { ...collections, [id]: { id, items, componentFactory, searchPredicate } };
|
|
17
|
+
// Si la colección ya existe, fusiona el array existente con el nuevo; si no, crea una nueva entrada
|
|
18
|
+
return {
|
|
19
|
+
...collections,
|
|
20
|
+
[id]: {
|
|
21
|
+
...collections[id],
|
|
22
|
+
items: [...(collections[id]?.items || []), ...items],
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BrokerExtensions } from "@primaria/plugins-core";
|
|
2
2
|
import { AddHistoryItemsHandler } from "./handler";
|
|
3
3
|
import { addHistoryItemsRequest } from "./request";
|
|
4
|
-
import { BrokerDisposableHandler } from "
|
|
4
|
+
import { BrokerDisposableHandler } from "../../../../../api/broker/primaria-broker";
|
|
5
5
|
|
|
6
6
|
let request: BrokerDisposableHandler;
|
|
7
7
|
|
|
@@ -9,6 +9,6 @@ export const bootstrapAddHistoryItems = (broker: BrokerExtensions) => {
|
|
|
9
9
|
request = broker.registerRequest(addHistoryItemsRequest, AddHistoryItemsHandler);
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
export const teardownAddHistoryItems = (
|
|
12
|
+
export const teardownAddHistoryItems = () => {
|
|
13
13
|
request?.dispose();
|
|
14
14
|
};
|
package/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/handler.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { StoreBaseHandler } from "../../../infrastructure/base-handlers";
|
|
2
|
+
import { validateAndFilterItems } from "../../domain/is-valid-history-item/is-valid-history-item";
|
|
3
|
+
import { addActivityHistoryItems } from "./action";
|
|
4
|
+
import { AddHistoryItemsPayload } from "./request";
|
|
5
|
+
|
|
6
|
+
export class AddHistoryItemsHandler extends StoreBaseHandler {
|
|
7
|
+
async handle(payload: AddHistoryItemsPayload) {
|
|
8
|
+
try {
|
|
9
|
+
const validItems = validateAndFilterItems(payload.items);
|
|
10
|
+
this.store.dispatch(
|
|
11
|
+
addActivityHistoryItems({
|
|
12
|
+
id: payload.entityId,
|
|
13
|
+
items: validItems,
|
|
14
|
+
componentFactory: payload.componentFactory,
|
|
15
|
+
searchPredicate: payload.searchPredicate,
|
|
16
|
+
}),
|
|
17
|
+
);
|
|
18
|
+
} catch (e) {
|
|
19
|
+
console.log(e.message);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
package/src/internal-plugins/activity-history/activity-history-item/add/add-history-items/reducer.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { PayloadAction } from "@reduxjs/toolkit";
|
|
2
|
+
import { addItemsToCollection } from "./add-items-to-collection";
|
|
3
|
+
import { IActivityHistoryItem, TSearchActivityHistoryItemPredicate } from "../../domain/model";
|
|
4
|
+
|
|
5
|
+
export function addActivityHistoryItemsReducer(
|
|
6
|
+
state,
|
|
7
|
+
action: PayloadAction<{
|
|
8
|
+
id: string;
|
|
9
|
+
items: IActivityHistoryItem[];
|
|
10
|
+
componentFactory?: (item: IActivityHistoryItem) => HTMLElement;
|
|
11
|
+
searchPredicate?: TSearchActivityHistoryItemPredicate;
|
|
12
|
+
}>,
|
|
13
|
+
) {
|
|
14
|
+
const { id, items, componentFactory, searchPredicate } = action.payload;
|
|
15
|
+
state.collections = addItemsToCollection(
|
|
16
|
+
state.collections,
|
|
17
|
+
id,
|
|
18
|
+
items,
|
|
19
|
+
componentFactory,
|
|
20
|
+
searchPredicate,
|
|
21
|
+
);
|
|
22
|
+
}
|
|
@@ -3,6 +3,8 @@ import { IActivityHistoryItem } from "../../domain/model";
|
|
|
3
3
|
export interface AddHistoryItemsPayload {
|
|
4
4
|
entityId: string;
|
|
5
5
|
items: IActivityHistoryItem[];
|
|
6
|
+
componentFactory?: (item: IActivityHistoryItem) => HTMLElement;
|
|
7
|
+
searchPredicate?: (searchString: string, item: any) => boolean;
|
|
6
8
|
}
|
|
7
9
|
|
|
8
10
|
export const addHistoryItemsRequest = "add_history_items_request";
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { BrokerExtensions, brokerExtensions } from "@primaria/plugins-core";
|
|
2
|
+
import { PrimariaApi } from "../../../api/api";
|
|
3
|
+
import { container } from "../infrastructure/ioc/container";
|
|
4
|
+
import {
|
|
5
|
+
bootstrapInjectAsyncHistoryItems,
|
|
6
|
+
teardownInjectAsyncHistoryItems,
|
|
7
|
+
} from "./add/add-async-history-items/bootstrapper";
|
|
8
|
+
import {
|
|
9
|
+
bootstrapAddHistoryItem,
|
|
10
|
+
teardownAddHistoryItem,
|
|
11
|
+
} from "./add/add-history-item/bootstrapper";
|
|
12
|
+
import { bootstrapExportPdf, teardownExportPdf } from "./export-to-pdf/bootstrapper";
|
|
13
|
+
import {
|
|
14
|
+
bootstrapAddHistoryItems,
|
|
15
|
+
teardownAddHistoryItems,
|
|
16
|
+
} from "./add/add-history-items/bootstrapper";
|
|
17
|
+
import { bootstrapUpdateHistoryItem, teardownUpdateHistoryItem } from "./update/bootstrapper";
|
|
18
|
+
import { bootstrapListActivityHistoryItems } from "./list/bootstrapper";
|
|
19
|
+
import { bootstrapFilters, teardownFilters } from "./filter/bootstrapper";
|
|
20
|
+
import { bootstrapSearchItems, teardownSearchItems } from "./search/bootstrapper";
|
|
21
|
+
import { bootstrapActivityHistoryItemHandleBusy } from "./list/handle-busy/bootstrapper";
|
|
22
|
+
|
|
23
|
+
let broker: BrokerExtensions;
|
|
24
|
+
|
|
25
|
+
export const bootstrapActivityHistoryItem = (api: PrimariaApi) => {
|
|
26
|
+
broker = brokerExtensions(api, container);
|
|
27
|
+
bootstrapListActivityHistoryItems();
|
|
28
|
+
bootstrapActivityHistoryItemHandleBusy();
|
|
29
|
+
bootstrapInjectAsyncHistoryItems(broker);
|
|
30
|
+
bootstrapAddHistoryItem(broker);
|
|
31
|
+
bootstrapAddHistoryItems(broker);
|
|
32
|
+
bootstrapUpdateHistoryItem(broker);
|
|
33
|
+
bootstrapExportPdf(broker);
|
|
34
|
+
bootstrapFilters(broker);
|
|
35
|
+
bootstrapSearchItems(broker);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export const teardownActivityHistoryItem = () => {
|
|
39
|
+
teardownInjectAsyncHistoryItems();
|
|
40
|
+
teardownAddHistoryItem();
|
|
41
|
+
teardownAddHistoryItems();
|
|
42
|
+
teardownUpdateHistoryItem();
|
|
43
|
+
teardownExportPdf();
|
|
44
|
+
teardownFilters();
|
|
45
|
+
teardownSearchItems();
|
|
46
|
+
};
|
package/src/internal-plugins/activity-history/{domain → activity-history-item/domain}/model.ts
RENAMED
|
@@ -9,6 +9,11 @@ export interface IErrorHistoryItem {
|
|
|
9
9
|
message: string;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
+
export type TSearchActivityHistoryItemPredicate = (
|
|
13
|
+
searchString: string,
|
|
14
|
+
item: IActivityHistoryItem,
|
|
15
|
+
) => boolean;
|
|
16
|
+
|
|
12
17
|
export interface IActivityHistoryItem {
|
|
13
18
|
id: string;
|
|
14
19
|
date: string;
|
|
@@ -19,15 +24,16 @@ export interface IActivityHistoryItem {
|
|
|
19
24
|
up: IEntityDescription;
|
|
20
25
|
ep: IEntityDescription;
|
|
21
26
|
service: IEntityDescription;
|
|
22
|
-
componentFactory?:
|
|
27
|
+
componentFactory: (item?: any) => HTMLElement;
|
|
28
|
+
searchPredicate: TSearchActivityHistoryItemPredicate;
|
|
23
29
|
type?: string;
|
|
24
30
|
}
|
|
25
31
|
|
|
26
32
|
export interface IActivityHistoryItemCollection {
|
|
27
33
|
id: string;
|
|
28
34
|
items: IActivityHistoryItem[];
|
|
29
|
-
componentFactory: () => HTMLElement;
|
|
30
|
-
searchPredicate
|
|
35
|
+
componentFactory: (item?: any) => HTMLElement;
|
|
36
|
+
searchPredicate: TSearchActivityHistoryItemPredicate;
|
|
31
37
|
}
|
|
32
38
|
|
|
33
39
|
export interface IActivityHistoryGroup {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IUserInfo } from "../../../../../features/get-user-info/model";
|
|
2
|
+
import { shellApi } from "../../../../../api/api";
|
|
3
|
+
import { IActivityHistoryItem } from "../model";
|
|
4
|
+
import { Spec } from "./spec";
|
|
5
|
+
|
|
6
|
+
export class OwnSpec extends Spec<IActivityHistoryItem> {
|
|
7
|
+
constructor(public context: IActivityHistoryItem) {
|
|
8
|
+
super();
|
|
9
|
+
}
|
|
10
|
+
isSatisfiedBy(context: IActivityHistoryItem): boolean {
|
|
11
|
+
const userInfo = shellApi.globalStateManager.getData("userInfo") as IUserInfo;
|
|
12
|
+
return context?.professional?.id === userInfo?.userId;
|
|
13
|
+
}
|
|
14
|
+
}
|
package/src/internal-plugins/activity-history/activity-history-item/domain/specs/relevant-spec.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IActivityHistoryItem } from "../model";
|
|
2
|
+
import { Spec } from "./spec";
|
|
3
|
+
|
|
4
|
+
export class RelevantSpec extends Spec<IActivityHistoryItem> {
|
|
5
|
+
constructor(public context: IActivityHistoryItem) {
|
|
6
|
+
super();
|
|
7
|
+
}
|
|
8
|
+
isSatisfiedBy(context: IActivityHistoryItem): boolean {
|
|
9
|
+
return context?.relevant ?? false;
|
|
10
|
+
}
|
|
11
|
+
}
|
package/src/internal-plugins/activity-history/activity-history-item/domain/specs/relevant.spec.ts
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { IActivityHistoryItem } from "../model";
|
|
3
|
+
import { RelevantSpec } from "./relevant-spec";
|
|
4
|
+
|
|
5
|
+
describe("RelevantSpec", () => {
|
|
6
|
+
it("should return true if the item is relevant", () => {
|
|
7
|
+
const activityItem: IActivityHistoryItem = {
|
|
8
|
+
id: "1",
|
|
9
|
+
date: "2025-02-25",
|
|
10
|
+
relevant: true,
|
|
11
|
+
professional: { id: "user123", name: "John Doe" },
|
|
12
|
+
diagnostics: [],
|
|
13
|
+
center: { id: "center1", name: "Center A" },
|
|
14
|
+
up: { id: "up1", name: "Up A" },
|
|
15
|
+
ep: { id: "ep1", name: "EP A" },
|
|
16
|
+
service: { id: "service1", name: "Service A" },
|
|
17
|
+
componentFactory: () => document.createElement("div"),
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const spec = new RelevantSpec(activityItem);
|
|
21
|
+
expect(spec.isSatisfiedBy(activityItem)).toBe(true);
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
it("should return false if the item is not relevant", () => {
|
|
25
|
+
const activityItem: IActivityHistoryItem = {
|
|
26
|
+
id: "2",
|
|
27
|
+
date: "2025-02-25",
|
|
28
|
+
relevant: false,
|
|
29
|
+
professional: { id: "user123", name: "John Doe" },
|
|
30
|
+
diagnostics: [],
|
|
31
|
+
center: { id: "center1", name: "Center A" },
|
|
32
|
+
up: { id: "up1", name: "Up A" },
|
|
33
|
+
ep: { id: "ep1", name: "EP A" },
|
|
34
|
+
service: { id: "service1", name: "Service A" },
|
|
35
|
+
componentFactory: () => document.createElement("div"),
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const spec = new RelevantSpec(activityItem);
|
|
39
|
+
expect(spec.isSatisfiedBy(activityItem)).toBe(false);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it("should return false if the relevant field is undefined", () => {
|
|
43
|
+
const activityItem: IActivityHistoryItem = {
|
|
44
|
+
id: "3",
|
|
45
|
+
date: "2025-02-25",
|
|
46
|
+
relevant: undefined,
|
|
47
|
+
professional: { id: "user123", name: "John Doe" },
|
|
48
|
+
diagnostics: [],
|
|
49
|
+
center: { id: "center1", name: "Center A" },
|
|
50
|
+
up: { id: "up1", name: "Up A" },
|
|
51
|
+
ep: { id: "ep1", name: "EP A" },
|
|
52
|
+
service: { id: "service1", name: "Service A" },
|
|
53
|
+
componentFactory: () => document.createElement("div"),
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const spec = new RelevantSpec(activityItem);
|
|
57
|
+
expect(spec.isSatisfiedBy(activityItem)).toBe(false);
|
|
58
|
+
});
|
|
59
|
+
});
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeEach } from "vitest";
|
|
2
|
+
import { IActivityHistoryItem, TSearchActivityHistoryItemPredicate } from "../model";
|
|
3
|
+
import { SearchStringSpec } from "./search-string-spec";
|
|
4
|
+
import { propContainsString } from "../../../utils/prop-contains-string";
|
|
5
|
+
|
|
6
|
+
// Mocking the propContainsString function to simulate behavior
|
|
7
|
+
vi.mock("../../../utils/prop-contains-string", () => ({
|
|
8
|
+
propContainsString: vi.fn(),
|
|
9
|
+
}));
|
|
10
|
+
|
|
11
|
+
describe("SearchStringSpec", () => {
|
|
12
|
+
let searchString: string;
|
|
13
|
+
let searchPredicate: TSearchActivityHistoryItemPredicate;
|
|
14
|
+
let item: IActivityHistoryItem;
|
|
15
|
+
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
// Default searchPredicate mock function
|
|
18
|
+
searchPredicate = vi.fn();
|
|
19
|
+
|
|
20
|
+
// Default mock item to test with
|
|
21
|
+
item = {
|
|
22
|
+
relevant: true,
|
|
23
|
+
professional: {
|
|
24
|
+
name: "John Doe",
|
|
25
|
+
speciality: { description: "Speciality1" },
|
|
26
|
+
role: { description: "Role1" },
|
|
27
|
+
},
|
|
28
|
+
center: { description: "Center1" },
|
|
29
|
+
service: { description: "Service1" },
|
|
30
|
+
diagnostics: [{ id: "123", description: "Diagnostic1" }],
|
|
31
|
+
up: { description: "Up1" },
|
|
32
|
+
ep: { description: "Ep1" },
|
|
33
|
+
} as IActivityHistoryItem;
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
it("should return true if searchString is empty or null", () => {
|
|
37
|
+
const spec = new SearchStringSpec("", searchPredicate);
|
|
38
|
+
|
|
39
|
+
expect(spec.isSatisfiedBy(item)).toBe(true); // should always return true
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it("should return true if searchPredicate is satisfied", () => {
|
|
43
|
+
// Mock the searchPredicate to return true
|
|
44
|
+
searchPredicate.mockReturnValueOnce(true);
|
|
45
|
+
const spec = new SearchStringSpec("searchString", searchPredicate);
|
|
46
|
+
|
|
47
|
+
expect(spec.isSatisfiedBy(item)).toBe(true); // searchPredicate is true
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it("should return false if searchPredicate is not satisfied", () => {
|
|
51
|
+
// Mock the searchPredicate to return false
|
|
52
|
+
searchPredicate.mockReturnValueOnce(false);
|
|
53
|
+
const spec = new SearchStringSpec("searchString", searchPredicate);
|
|
54
|
+
|
|
55
|
+
expect(spec.isSatisfiedBy(item)).toBe(false); // searchPredicate is false
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
it("should return true if any of the common fields match searchString", () => {
|
|
59
|
+
searchString = "Center1";
|
|
60
|
+
|
|
61
|
+
// Mocking propContainsString to return true if the center description matches
|
|
62
|
+
(propContainsString as vi.Mock).mockReturnValueOnce(true);
|
|
63
|
+
const spec = new SearchStringSpec(searchString, searchPredicate);
|
|
64
|
+
|
|
65
|
+
expect(spec.isSatisfiedBy(item)).toBe(true); // Center matches the searchString
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
it("should return false if no common fields or searchPredicate match", () => {
|
|
69
|
+
searchString = "nonexistent";
|
|
70
|
+
|
|
71
|
+
// Mocking propContainsString to return false for all fields
|
|
72
|
+
(propContainsString as vi.Mock).mockReturnValue(false);
|
|
73
|
+
const spec = new SearchStringSpec(searchString, searchPredicate);
|
|
74
|
+
|
|
75
|
+
expect(spec.isSatisfiedBy(item)).toBe(false); // No matches in common fields
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
it("should return true if searchString matches multiple fields", () => {
|
|
79
|
+
searchString = "John";
|
|
80
|
+
|
|
81
|
+
// Mocking propContainsString to return true for the professional name
|
|
82
|
+
(propContainsString as vi.Mock).mockReturnValueOnce(true);
|
|
83
|
+
const spec = new SearchStringSpec(searchString, searchPredicate);
|
|
84
|
+
|
|
85
|
+
expect(spec.isSatisfiedBy(item)).toBe(true); // Professional name matches
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
it("should call commonFieldsSearchPredicate and the searchPredicate with the correct arguments", () => {
|
|
89
|
+
searchString = "searchString";
|
|
90
|
+
|
|
91
|
+
// Mocking propContainsString
|
|
92
|
+
(propContainsString as vi.Mock).mockReturnValue(false); // simulating no matches in common fields
|
|
93
|
+
const spySearchPredicate = vi.fn();
|
|
94
|
+
const spec = new SearchStringSpec(searchString, spySearchPredicate);
|
|
95
|
+
|
|
96
|
+
// Simulate the searchPredicate call
|
|
97
|
+
spec.isSatisfiedBy(item);
|
|
98
|
+
|
|
99
|
+
// Verify the commonFieldsSearchPredicate is called
|
|
100
|
+
expect(propContainsString).toHaveBeenCalled();
|
|
101
|
+
|
|
102
|
+
// Verify the searchPredicate is called with the correct arguments
|
|
103
|
+
expect(spySearchPredicate).toHaveBeenCalledWith(searchString.toLowerCase(), item);
|
|
104
|
+
});
|
|
105
|
+
});
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { IActivityHistoryItem, TSearchActivityHistoryItemPredicate } from "../model";
|
|
2
|
+
import { Spec } from "./spec";
|
|
3
|
+
import { propContainsString } from "../../../utils/prop-contains-string";
|
|
4
|
+
|
|
5
|
+
const commonFieldsSearchPredicate = (item: IActivityHistoryItem, searchString: string) => {
|
|
6
|
+
const professionalNameContainsSearchString =
|
|
7
|
+
item.professional?.name && propContainsString(item.professional?.name, searchString);
|
|
8
|
+
const centerNameContainsSearchString =
|
|
9
|
+
item.center.description && propContainsString(item.center.description, searchString);
|
|
10
|
+
const specialityNameContainsSearchString =
|
|
11
|
+
item.professional?.speciality.description &&
|
|
12
|
+
propContainsString(item.professional?.speciality.description, searchString);
|
|
13
|
+
const roleNameContainsSearchString =
|
|
14
|
+
item.professional?.role.description &&
|
|
15
|
+
propContainsString(item.professional?.role.description, searchString);
|
|
16
|
+
const serviceNameContainsSearchString =
|
|
17
|
+
item.service.description && propContainsString(item.service.description, searchString);
|
|
18
|
+
const diagnosticsMatch = item.diagnostics?.some(
|
|
19
|
+
(diagnostic) =>
|
|
20
|
+
propContainsString(diagnostic.id, searchString) ||
|
|
21
|
+
propContainsString(diagnostic.description, searchString),
|
|
22
|
+
);
|
|
23
|
+
return (
|
|
24
|
+
professionalNameContainsSearchString ||
|
|
25
|
+
centerNameContainsSearchString ||
|
|
26
|
+
specialityNameContainsSearchString ||
|
|
27
|
+
roleNameContainsSearchString ||
|
|
28
|
+
serviceNameContainsSearchString ||
|
|
29
|
+
diagnosticsMatch
|
|
30
|
+
);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export class SearchStringSpec extends Spec<IActivityHistoryItem> {
|
|
34
|
+
constructor(
|
|
35
|
+
public searchString: string,
|
|
36
|
+
public searchPredicate: TSearchActivityHistoryItemPredicate,
|
|
37
|
+
) {
|
|
38
|
+
super();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
isSatisfiedBy(context: IActivityHistoryItem): boolean {
|
|
42
|
+
// Si searchString está vacío o solo tiene espacios, no filtramos y devolvemos true
|
|
43
|
+
if (!this.searchString?.trim()) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Verificamos coincidencias en los campos comunes
|
|
48
|
+
const matchesCommonFields = commonFieldsSearchPredicate(context, this.searchString);
|
|
49
|
+
|
|
50
|
+
// Verificamos coincidencias con el searchPredicate
|
|
51
|
+
const matchesSearchPredicate = this.searchPredicate
|
|
52
|
+
? this.searchPredicate(this.searchString.toLowerCase(), context)
|
|
53
|
+
: false;
|
|
54
|
+
|
|
55
|
+
// Aseguramos que siempre se retorne un valor booleano
|
|
56
|
+
return !!(matchesCommonFields || matchesSearchPredicate);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export interface ISpec<TContext> {
|
|
2
|
+
isSatisfiedBy(context: TContext): boolean;
|
|
3
|
+
and(spec: ISpec<TContext>): ISpec<TContext>;
|
|
4
|
+
or(spec: ISpec<TContext>): ISpec<TContext>;
|
|
5
|
+
not(): ISpec<TContext>;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
export abstract class Spec<TContext> implements ISpec<TContext> {
|
|
10
|
+
abstract isSatisfiedBy(context: TContext): boolean;
|
|
11
|
+
and(spec: ISpec<TContext>): ISpec<TContext> {
|
|
12
|
+
return new AndSpec(this as unknown as ISpec<TContext>, spec);
|
|
13
|
+
}
|
|
14
|
+
or(spec: ISpec<TContext>): ISpec<TContext> {
|
|
15
|
+
return new OrSpec(this as unknown as ISpec<TContext>, spec);
|
|
16
|
+
}
|
|
17
|
+
not(): ISpec<TContext> {
|
|
18
|
+
return new NotSpec(this as unknown as ISpec<TContext>);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export class AndSpec<TContext> extends Spec<TContext> {
|
|
22
|
+
constructor(
|
|
23
|
+
private left: ISpec<TContext>,
|
|
24
|
+
private right: ISpec<TContext>,
|
|
25
|
+
) {
|
|
26
|
+
super();
|
|
27
|
+
}
|
|
28
|
+
isSatisfiedBy(context: TContext): boolean {
|
|
29
|
+
return this.left.isSatisfiedBy(context) && this.right.isSatisfiedBy(context);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export class OrSpec<TContext> extends Spec<TContext> {
|
|
34
|
+
constructor(
|
|
35
|
+
private left: ISpec<TContext>,
|
|
36
|
+
private right: ISpec<TContext>,
|
|
37
|
+
) {
|
|
38
|
+
super();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
isSatisfiedBy(context: TContext): boolean {
|
|
42
|
+
return this.left.isSatisfiedBy(context) || this.right.isSatisfiedBy(context);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export class NotSpec<TContext> extends Spec<TContext> {
|
|
47
|
+
constructor(private spec: ISpec<TContext>) {
|
|
48
|
+
super();
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
isSatisfiedBy(context: TContext): boolean {
|
|
52
|
+
return !this.spec.isSatisfiedBy(context);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -2,6 +2,7 @@ import { BrokerExtensions } from "plugins/core";
|
|
|
2
2
|
import { ExportToPdfHandler } from "./handler";
|
|
3
3
|
import { ExportPdf } from "./request";
|
|
4
4
|
import { BrokerDisposableHandler } from "../../../../api/broker/primaria-broker";
|
|
5
|
+
import "./export-pdf-modal/export-pdf-modal";
|
|
5
6
|
|
|
6
7
|
let request: BrokerDisposableHandler;
|
|
7
8
|
|
|
@@ -9,6 +10,6 @@ export const bootstrapExportPdf = (broker: BrokerExtensions) => {
|
|
|
9
10
|
request = broker.registerRequest(ExportPdf, ExportToPdfHandler);
|
|
10
11
|
};
|
|
11
12
|
|
|
12
|
-
export const teardownExportPdf = (
|
|
13
|
+
export const teardownExportPdf = () => {
|
|
13
14
|
request?.dispose();
|
|
14
15
|
};
|
|
@@ -2,7 +2,7 @@ import { LitElement, css, html, unsafeCSS } from "lit";
|
|
|
2
2
|
import { customElement, property } from "lit/decorators.js";
|
|
3
3
|
import styles from "./export-pdf-modal.css?inline";
|
|
4
4
|
import { template } from "./template";
|
|
5
|
-
import { confirmMixin } from "
|
|
5
|
+
import { confirmMixin } from "../../../../../UI/shared-components/primaria-interaction/confirm-mixin";
|
|
6
6
|
|
|
7
7
|
@customElement("export-pdf-modal")
|
|
8
8
|
export class ExportPdfModal extends confirmMixin(LitElement) {
|
|
@@ -49,7 +49,7 @@ export class ExportPdfModal extends confirmMixin(LitElement) {
|
|
|
49
49
|
handleTest() {
|
|
50
50
|
console.log(
|
|
51
51
|
// this.selectedVisibilityLevelElement,
|
|
52
|
-
this.selectedPeriodDate
|
|
52
|
+
this.selectedPeriodDate,
|
|
53
53
|
);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { html, nothing } from "lit";
|
|
2
2
|
import { ExportPdfModal } from "./export-pdf-modal";
|
|
3
|
-
import { translate } from "
|
|
3
|
+
import { translate } from "../../../localization";
|
|
4
4
|
|
|
5
5
|
export const template = (props: ExportPdfModal) => {
|
|
6
6
|
const { arrayElements, text } = props;
|
|
@@ -18,14 +18,14 @@ export const template = (props: ExportPdfModal) => {
|
|
|
18
18
|
<div class="selector-options">
|
|
19
19
|
<dss-radio-button>
|
|
20
20
|
<input slot="input" id="radioButton1" type="radio" name="exportOption" @change=${() => {
|
|
21
|
-
|
|
21
|
+
props.selectedRadioOption = "history";
|
|
22
22
|
}}>
|
|
23
23
|
<label slot="label" for="radioButton1">${translate("modal.allActivityHistory")}</label>
|
|
24
24
|
</dss-radio-button>
|
|
25
25
|
<dss-radio-button>
|
|
26
26
|
<input slot="input" id="radioButton2" type="radio" name="exportOption" @change=${() => {
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
props.selectedRadioOption = "filters";
|
|
28
|
+
}}>
|
|
29
29
|
<label slot="label" for="radioButton2">${translate("modal.onlyAppliedFilters")}</label>
|
|
30
30
|
</dss-radio-button>
|
|
31
31
|
</div>
|
|
@@ -37,7 +37,7 @@ export const template = (props: ExportPdfModal) => {
|
|
|
37
37
|
<div class="datepicker-canvas">
|
|
38
38
|
<dss-datepicker-range inputsize="md" @onRangeChange=${(e) => {
|
|
39
39
|
props.selectedPeriodDate = e.detail;
|
|
40
|
-
|
|
40
|
+
}} helpText="Sense seleccionar data, s'aplicarà la de la primera entrada.
|
|
41
41
|
Sense seleccionar data de fi, s'aplicarà la de l'última entrada.">
|
|
42
42
|
<label slot="label-range-start" for="myDatepickerRangeStart">${translate("modal.startDate")}</label>
|
|
43
43
|
<input slot="input-range-start" id="myDatepickerRangeStart" type="text" class="dss-input">
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { ExportPdfModal } from "../../components/export-pdf-modal/export-pdf-modal";
|
|
4
|
-
import { PrimariaApi } from "../../../../api/api";
|
|
1
|
+
import { ApiBaseHandler } from "../../infrastructure/base-handlers";
|
|
2
|
+
import { ExportPdfModal } from "./export-pdf-modal/export-pdf-modal";
|
|
5
3
|
|
|
6
|
-
export class ExportToPdfHandler {
|
|
7
|
-
constructor(@inject(TYPES.primaryApi) private api: PrimariaApi) {}
|
|
4
|
+
export class ExportToPdfHandler extends ApiBaseHandler {
|
|
8
5
|
async handle() {
|
|
9
6
|
try {
|
|
10
7
|
this.api.interactionManager.customConfirm({
|