@uxland/primary-shell 5.4.5 → 5.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/index.js +12601 -12330
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.umd.cjs +755 -715
  4. package/dist/index.umd.cjs.map +1 -1
  5. package/dist/primary/shell/src/UI/components/primaria-accordion/primaria-accordion.d.ts +8 -0
  6. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/UI/active-filters-badges/active-filters-badges.d.ts +1 -0
  7. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/common-filters/reset-common-filter/actions.d.ts +1 -0
  8. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/common-filters/reset-common-filter/bootstrapper.d.ts +4 -0
  9. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/common-filters/reset-common-filter/handler.d.ts +5 -0
  10. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/common-filters/reset-common-filter/reducer.d.ts +1 -0
  11. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/common-filters/reset-common-filter/request.d.ts +2 -0
  12. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/custom-filters/reset-custom-filter/actions.d.ts +1 -0
  13. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/custom-filters/reset-custom-filter/bootstrapper.d.ts +4 -0
  14. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/custom-filters/reset-custom-filter/handler.d.ts +5 -0
  15. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/custom-filters/reset-custom-filter/reducer.d.ts +1 -0
  16. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/custom-filters/reset-custom-filter/request.d.ts +2 -0
  17. package/dist/primary/shell/src/internal-plugins/activity-history/activity-history-item/filter/slice.d.ts +4 -0
  18. package/dist/primary/shell/src/internal-plugins/activity-history/localization.d.ts +1 -0
  19. package/dist/style.css +1 -1
  20. package/package.json +2 -2
  21. package/src/UI/components/bootstrapper.ts +2 -0
  22. package/src/UI/components/primaria-accordion/primaria-accordion.ts +46 -0
  23. package/src/UI/components/primaria-shell/styles.css +13 -3
  24. package/src/UI/internal-views/upper-nav-views.ts +3 -3
  25. package/src/api/region-manager/region-manager.ts +7 -25
  26. package/src/internal-plugins/activity-history/activity-history-item/filter/UI/active-filters-badges/active-filters-badges.ts +9 -5
  27. package/src/internal-plugins/activity-history/activity-history-item/filter/UI/active-filters-badges/styles.css +14 -0
  28. package/src/internal-plugins/activity-history/activity-history-item/filter/UI/active-filters-badges/template.ts +4 -0
  29. package/src/internal-plugins/activity-history/activity-history-item/filter/UI/activity-history-filters/styles.css +1 -0
  30. package/src/internal-plugins/activity-history/activity-history-item/filter/UI/activity-history-filters/template.ts +8 -12
  31. package/src/internal-plugins/activity-history/activity-history-item/filter/bootstrapper.ts +10 -16
  32. package/src/internal-plugins/activity-history/activity-history-item/filter/common-filters/reset-common-filter/actions.ts +3 -0
  33. package/src/internal-plugins/activity-history/activity-history-item/filter/common-filters/reset-common-filter/bootstrapper.ts +14 -0
  34. package/src/internal-plugins/activity-history/activity-history-item/filter/common-filters/reset-common-filter/handler.ts +12 -0
  35. package/src/internal-plugins/activity-history/activity-history-item/filter/common-filters/reset-common-filter/reducer.ts +11 -0
  36. package/src/internal-plugins/activity-history/activity-history-item/filter/common-filters/reset-common-filter/request.ts +1 -0
  37. package/src/internal-plugins/activity-history/activity-history-item/filter/common-filters/set-common-filter/bootstrapper.ts +1 -1
  38. package/src/internal-plugins/activity-history/activity-history-item/filter/custom-filters/reset-custom-filter/actions.ts +3 -0
  39. package/src/internal-plugins/activity-history/activity-history-item/filter/custom-filters/reset-custom-filter/bootstrapper.ts +14 -0
  40. package/src/internal-plugins/activity-history/activity-history-item/filter/custom-filters/reset-custom-filter/handler.ts +8 -0
  41. package/src/internal-plugins/activity-history/activity-history-item/filter/custom-filters/reset-custom-filter/reducer.ts +12 -0
  42. package/src/internal-plugins/activity-history/activity-history-item/filter/custom-filters/reset-custom-filter/request.ts +1 -0
  43. package/src/internal-plugins/activity-history/activity-history-item/filter/slice.ts +4 -0
  44. package/src/internal-plugins/activity-history/activity-history-item/list/UI/timeline/styles.css +1 -1
  45. package/src/internal-plugins/activity-history/localization.ts +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxland/primary-shell",
3
- "version": "5.4.5",
3
+ "version": "5.4.6",
4
4
  "description": "Primaria Shell",
5
5
  "author": "UXLand <dev@uxland.es>",
6
6
  "homepage": "https://github.com/uxland/harmonix/tree/app#readme",
@@ -31,7 +31,7 @@
31
31
  "devDependencies": {
32
32
  "@primaria/plugins-core": "^1.0.14",
33
33
  "@reduxjs/toolkit": "^2.6.1",
34
- "@salut/design-system-salut": "../../design-system-salut-2.5.0.tgz",
34
+ "@salut/design-system-salut": "../../design-system-salut-2.5.1.tgz",
35
35
  "@types/react": "^19.0.12",
36
36
  "@uxland/lit-utilities": "^1.0.0",
37
37
  "@uxland/localization": "^1.0.3",
@@ -5,6 +5,7 @@ import { QuickActionsMenu } from "./quick-actions-menu/quick-actions-menu";
5
5
  import { PrimariaShellHeader } from "./primaria-shell/shell-header/shell-header";
6
6
  import { PocEventsEcap } from "./poc-events-ecap/poc-events-ecap";
7
7
  import { FinalizeVisitButton } from "../../features/visit/finalize-visit/component/finalize-visit-button";
8
+ import { PrimariaAccordion } from "./primaria-accordion/primaria-accordion";
8
9
 
9
10
  export const useComponents = () => {
10
11
  //@ts-ignore
@@ -16,4 +17,5 @@ export const useComponents = () => {
16
17
  customElement("finalize-visit-button")(FinalizeVisitButton);
17
18
  //@ts-ignore
18
19
  customElement("poc-events-ecap")(PocEventsEcap);
20
+ customElement("primaria-accordion")(PrimariaAccordion);
19
21
  };
@@ -0,0 +1,46 @@
1
+ import { LitElement, html, css } from "lit";
2
+ import { property } from "lit/decorators.js";
3
+
4
+ export class PrimariaAccordion extends LitElement {
5
+ @property({ type: Boolean })
6
+ isOpen;
7
+
8
+ static styles = css`
9
+ :host {
10
+ display: block;
11
+ }
12
+
13
+ .content {
14
+ overflow: hidden;
15
+ max-height: 0;
16
+ }
17
+
18
+ .content.open {
19
+ margin-top: 8px;
20
+ max-height: unset;
21
+ }
22
+
23
+ .title {
24
+ cursor: pointer;
25
+ display: flex;
26
+ justify-content: space-between;
27
+ align-items: center;
28
+ }
29
+ `;
30
+
31
+ toggle() {
32
+ this.isOpen = !this.isOpen;
33
+ }
34
+
35
+ render() {
36
+ return html`
37
+ <div class="title" @click=${this.toggle}>
38
+ <slot name="title"></slot>
39
+ <dss-icon-button size="md" variant="primary" icon=${this.isOpen ? "keyboard_arrow_up" : "keyboard_arrow_down"}></dss-icon-button>
40
+ </div>
41
+ <div class="content ${this.isOpen ? "open" : ""}">
42
+ <slot name="content"></slot>
43
+ </div>
44
+ `;
45
+ }
46
+ }
@@ -62,11 +62,21 @@
62
62
  /*Temporary scrollbar*/
63
63
  #menu-region-container {
64
64
  overflow-y: auto;
65
- margin-right: -10px;
66
- padding-right: 10px;
67
- scrollbar-color: var(--color-primary-900) var(--color-primary-700);
65
+ margin-right: -14px;
66
+ padding-right: 14px;
67
+ scrollbar-color: var(--color-primary-800) var(--color-primary-700);
68
68
  scrollbar-width: thin;
69
69
  }
70
+ #menu-region-container::-webkit-scrollbar {
71
+ width: 6px;
72
+ }
73
+ #menu-region-container::-webkit-scrollbar-track {
74
+ background: var(--color-primary-700);
75
+ }
76
+ #menu-region-container::-webkit-scrollbar-thumb {
77
+ background-color: var(--color-primary-400);
78
+ border-radius: 4px;
79
+ }
70
80
  /**/
71
81
 
72
82
  .bottom-content {
@@ -43,7 +43,7 @@ const upperNavMenuItems: MenuItemConfig[] = [
43
43
  label: "Monitoratge dinàmic",
44
44
  type: "item",
45
45
  sortHint: "0030",
46
- callbackFn: () => navigateToEcapWithoutClosingWithCip("SIA_DEV"),
46
+ callbackFn: () => navigateToEcapWithoutClosingWithCip("IA_DEV"),
47
47
  },
48
48
  {
49
49
  id: "processes",
@@ -80,7 +80,7 @@ const upperNavMenuItems: MenuItemConfig[] = [
80
80
  {
81
81
  icon: "open_in_new",
82
82
  label: "Valoració social",
83
- callbackFn: () => {},
83
+ callbackFn: () => navigateToEcapWithoutClosingWithCip("VALORACIO_SOCIAL"),
84
84
  },
85
85
  ],
86
86
  },
@@ -166,7 +166,7 @@ const upperNavMenuItems: MenuItemConfig[] = [
166
166
  {
167
167
  icon: "open_in_new",
168
168
  label: "Prescripció",
169
- callbackFn: () => navigateToEcapWithoutClosingWithCip("PRESCIPCIO_ACTIVA"),
169
+ callbackFn: () => navigateToEcapWithoutClosingWithCip("PRESCRIPCIO_ACTIVA"),
170
170
  },
171
171
  {
172
172
  icon: "open_in_new",
@@ -28,11 +28,7 @@ class RegionManagerProxy implements PrimariaRegionManager {
28
28
  * @return {Promise<void>} A promise that resolves when the view is successfully registered.
29
29
  */
30
30
  registerView(regionName: string, view: HarmonixViewDefinition): Promise<void> {
31
- this.regionManager.registerViewWithRegion(
32
- regionName,
33
- `${this.pluginInfo.pluginId}::${view.id}`,
34
- view,
35
- );
31
+ this.regionManager.registerViewWithRegion(regionName, `${this.pluginInfo.pluginId}::${view.id}`, view);
36
32
  return Promise.resolve();
37
33
  }
38
34
  /**
@@ -101,44 +97,30 @@ class RegionManagerProxy implements PrimariaRegionManager {
101
97
  return Promise.resolve(region?.isViewActive(`${this.pluginInfo.pluginId}::${viewId}`));
102
98
  }
103
99
  registerQuickAction(view: HarmonixViewDefinition): Promise<void> {
104
- this.regionManager.registerViewWithRegion(
105
- shellRegions.quickActions,
106
- `${this.pluginInfo.pluginId}::${view.id}`,
107
- view,
108
- );
100
+ this.regionManager.registerViewWithRegion(shellRegions.quickActions, `${this.pluginInfo.pluginId}::${view.id}`, view);
109
101
  return Promise.resolve();
110
102
  }
111
103
  registerNavigationMenu(view: HarmonixViewDefinition): Promise<void> {
112
- this.regionManager.registerViewWithRegion(
113
- shellRegions.navigationMenu,
114
- `${this.pluginInfo.pluginId}::${view.id}`,
115
- view,
116
- );
104
+ this.regionManager.registerViewWithRegion(shellRegions.navigationMenu, `${this.pluginInfo.pluginId}::${view.id}`, view);
117
105
  return Promise.resolve();
118
106
  }
119
107
  registerMainView(view: HarmonixViewDefinition): Promise<void> {
120
- this.regionManager.registerViewWithRegion(
121
- shellRegions.main,
122
- `${this.pluginInfo.pluginId}::${view.id}`,
123
- view,
124
- );
108
+ this.regionManager.registerViewWithRegion(shellRegions.main, `${this.pluginInfo.pluginId}::${view.id}`, view);
125
109
  return Promise.resolve();
126
110
  }
127
111
  activateMainView(viewId: string): Promise<void> {
128
- this.regionManager
129
- .getRegion(shellRegions.main)
130
- .activate(`${this.pluginInfo.pluginId}::${viewId}`);
112
+ this.regionManager.getRegion(shellRegions.main).activate(`${this.pluginInfo.pluginId}::${viewId}`);
131
113
  this._notifyMainViewChanged(viewId);
132
114
  return Promise.resolve();
133
115
  }
134
116
 
135
117
  getCurrentMainViewActive() {
136
- const mainView = this.regionManager.getRegion(shellRegions.main)
137
- .currentActiveViews[0] as HarmonixViewDefinition;
118
+ const mainView = this.regionManager.getRegion(shellRegions.main).currentActiveViews[0] as HarmonixViewDefinition;
138
119
  return mainView?.id;
139
120
  }
140
121
 
141
122
  _notifyMainViewChanged(viewId: string) {
123
+ console.log(viewId);
142
124
  this.broker.publish(shellEvents.mainViewChanged, { viewId });
143
125
  }
144
126
 
@@ -8,15 +8,13 @@ import { template } from "./template";
8
8
  import styles from "./styles.css?inline";
9
9
  import { activeGroupsWithEnabledFilters } from "../../custom-filters/selectors";
10
10
  import { SetCustomFilterValue } from "../../custom-filters/set-custom-filter-value/request";
11
- import {
12
- IActivityHistoryCustomFilterGroup,
13
- IActivityHistoryDiagnosticsFilter,
14
- IActivityHistoryFilter,
15
- } from "../../model";
11
+ import { IActivityHistoryCustomFilterGroup, IActivityHistoryDiagnosticsFilter, IActivityHistoryFilter } from "../../model";
16
12
  import { activityHistoryEnabledCommonFiltersSelector } from "../../common-filters/selectors";
17
13
  import { SetCommonFilter } from "../../common-filters/set-common-filter/request";
18
14
  import { diagnosticFilterSelector } from "../../diagnostic-filters/selectors";
19
15
  import { SetDiagnosticFiltersCommand } from "../../diagnostic-filters/set/request";
16
+ import { ResetCommonFilter } from "../../common-filters/reset-common-filter/request";
17
+ import { ResetCustomFilter } from "../../custom-filters/reset-custom-filter/request";
20
18
 
21
19
  //@ts-ignore
22
20
  @customElement("active-filters-badges")
@@ -65,4 +63,10 @@ export class ActiveFiltersBadges extends LitElement {
65
63
  ]),
66
64
  );
67
65
  }
66
+
67
+ resetFilters() {
68
+ this.api.broker.send(new SetDiagnosticFiltersCommand([]));
69
+ this.api.broker.send(new ResetCommonFilter());
70
+ this.api.broker.send(new ResetCustomFilter());
71
+ }
68
72
  }
@@ -1,3 +1,8 @@
1
+ :host{
2
+ display: flex;
3
+ justify-content: space-between;
4
+ }
5
+
1
6
  .filters-container{
2
7
  display: flex;
3
8
  gap: var(--dss-spacing-md);
@@ -9,6 +14,7 @@
9
14
 
10
15
  .filter-groups{
11
16
  display: flex;
17
+ flex-wrap: wrap;
12
18
  gap: var(--dss-spacing-xs);
13
19
  }
14
20
 
@@ -19,6 +25,14 @@
19
25
  font-weight: 600;
20
26
  }
21
27
 
28
+ .clean-filters{
29
+ display: flex;
30
+
31
+ .separator{
32
+ padding: 0 8px;
33
+ }
34
+ }
35
+
22
36
  .popover-content {
23
37
  box-sizing: border-box;
24
38
  display: flex;
@@ -147,5 +147,9 @@ export const template = (props: ActiveFiltersBadges) => {
147
147
  }
148
148
  </div>
149
149
  </div>
150
+ <div class="clean-filters">
151
+ <div class="separator">|</div>
152
+ <dss-button variant="secondary" size="sm" label=${translate("chipHeader.cleanFilters")} icon="cleaning_services" @click=${props.resetFilters}></dss-button>
153
+ </div>
150
154
  `;
151
155
  };
@@ -50,6 +50,7 @@
50
50
  .custom-filter-content{
51
51
  display: flex;
52
52
  flex-direction: column;
53
+ gap: 8px;
53
54
  }
54
55
  }
55
56
  }
@@ -42,14 +42,10 @@ const getFilterTemplate = (
42
42
  };
43
43
 
44
44
  const isSelected =
45
- isCustom && option
46
- ? (filter as IActivityHistoryCustomFilter).enabledValues?.includes(option.id)
47
- : filter.enabled;
45
+ isCustom && option ? (filter as IActivityHistoryCustomFilter).enabledValues?.includes(option.id) : filter.enabled;
48
46
 
49
47
  const isEnabled =
50
- (isCustom && option) || filter.singleOption
51
- ? (filterGroup as IActivityHistoryCustomFilterGroup).enabled
52
- : true;
48
+ (isCustom && option) || filter.singleOption ? (filterGroup as IActivityHistoryCustomFilterGroup).enabled : true;
53
49
 
54
50
  return filterTemplates[filter.type]?.(id, title, handleChange, isSelected, isEnabled) || html``;
55
51
  };
@@ -81,9 +77,7 @@ export const template = (props: ActivityHistoryFilters) =>
81
77
  </dss-input-switch>
82
78
  ${
83
79
  group?.filters &&
84
- repeat(group.filters, (filter: IActivityHistoryCustomFilter) =>
85
- customFilterTemplate(filter, props, group),
86
- )
80
+ repeat(group.filters, (filter: IActivityHistoryCustomFilter) => customFilterTemplate(filter, props, group))
87
81
  }
88
82
  </div> `,
89
83
  )}
@@ -103,9 +97,11 @@ const customFilterTemplate = (
103
97
  ${
104
98
  filter.singleOption
105
99
  ? getFilterTemplate(filter, props._onChangeCustomFilterValue.bind(props), group)
106
- : html`<div class="custom-filter-title">${filter.title}</div>
107
- <div class="custom-filter-content">${repeat(filter.options, (option) => html`${getFilterTemplate(filter, props._onChangeCustomFilterValue.bind(props), group, option)}`)}</div>`
100
+ : html`
101
+ <primaria-accordion isOpen=${true}>
102
+ <div class="custom-filter-title" slot="title">${filter.title}</div>
103
+ <div class="custom-filter-content" slot="content">${repeat(filter.options, (option) => html`${getFilterTemplate(filter, props._onChangeCustomFilterValue.bind(props), group, option)}`)}</div>
104
+ </primaria-accordion>`
108
105
  }
109
-
110
106
  </div>
111
107
  `;
@@ -1,13 +1,7 @@
1
1
  import { BrokerExtensions } from "@primaria/plugins-core";
2
2
  import "../../activity-history-item/filter/UI/activity-history-filters/activity-history-filters";
3
- import {
4
- bootstrapSetCommonFilter,
5
- teardownSetCommonFilter,
6
- } from "./common-filters/set-common-filter/bootstrapper";
7
- import {
8
- bootstrapAddCustomFilter,
9
- teardownAddCustomFilter,
10
- } from "./custom-filters/add-custom-filters/bootstrapper";
3
+ import { bootstrapSetCommonFilter, teardownSetCommonFilter } from "./common-filters/set-common-filter/bootstrapper";
4
+ import { bootstrapAddCustomFilter, teardownAddCustomFilter } from "./custom-filters/add-custom-filters/bootstrapper";
11
5
  import {
12
6
  bootstrapSetCustomFilterGroup,
13
7
  teardownSetCustomFilterGroup,
@@ -16,14 +10,10 @@ import {
16
10
  bootstrapSetCustomFilterValue,
17
11
  teardownSetCustomFilterValue,
18
12
  } from "./custom-filters/set-custom-filter-value/bootstrapper";
19
- import {
20
- bootstrapAddDiagnosticFilter,
21
- teardownAddDiagnosticFilter,
22
- } from "./diagnostic-filters/add/bootstrapper";
23
- import {
24
- bootstrapSetDiagnosticFilter,
25
- teardownSetDiagnosticFilter,
26
- } from "./diagnostic-filters/set/bootstrapper";
13
+ import { bootstrapAddDiagnosticFilter, teardownAddDiagnosticFilter } from "./diagnostic-filters/add/bootstrapper";
14
+ import { bootstrapSetDiagnosticFilter, teardownSetDiagnosticFilter } from "./diagnostic-filters/set/bootstrapper";
15
+ import { bootstrapResetCommonFilter, teardownResetCommonFilter } from "./common-filters/reset-common-filter/bootstrapper";
16
+ import { bootstrapResetCustomFilter, teardownResetCustomFilter } from "./custom-filters/reset-custom-filter/bootstrapper";
27
17
 
28
18
  export const bootstrapFilters = (broker: BrokerExtensions) => {
29
19
  bootstrapSetCommonFilter(broker);
@@ -32,6 +22,8 @@ export const bootstrapFilters = (broker: BrokerExtensions) => {
32
22
  bootstrapSetCustomFilterValue(broker);
33
23
  bootstrapAddDiagnosticFilter(broker);
34
24
  bootstrapSetDiagnosticFilter(broker);
25
+ bootstrapResetCommonFilter(broker);
26
+ bootstrapResetCustomFilter(broker);
35
27
  };
36
28
 
37
29
  export const teardownFilters = () => {
@@ -41,4 +33,6 @@ export const teardownFilters = () => {
41
33
  teardownSetCustomFilterValue();
42
34
  teardownAddDiagnosticFilter();
43
35
  teardownSetDiagnosticFilter();
36
+ teardownResetCommonFilter();
37
+ teardownResetCustomFilter();
44
38
  };
@@ -0,0 +1,3 @@
1
+ import { activityHistoryFiltersSlice } from "../../slice";
2
+
3
+ export const { resetCommonFilterValues } = activityHistoryFiltersSlice.actions;
@@ -0,0 +1,14 @@
1
+ import { BrokerExtensions } from "@primaria/plugins-core";
2
+ import { BrokerDisposableHandler } from "../../../../../../api/broker/primaria-broker";
3
+ import { ResetCommonFilter } from "./request";
4
+ import { ResetCommonFilterHandler } from "./handler";
5
+
6
+ let request: BrokerDisposableHandler;
7
+
8
+ export const bootstrapResetCommonFilter = (broker: BrokerExtensions) => {
9
+ request = broker.registerRequest(ResetCommonFilter, ResetCommonFilterHandler);
10
+ };
11
+
12
+ export const teardownResetCommonFilter = () => {
13
+ request?.dispose();
14
+ };
@@ -0,0 +1,12 @@
1
+ import { StoreBaseHandler } from "../../../../infrastructure/base-handlers";
2
+ import { resetCommonFilterValues } from "./actions";
3
+
4
+ export class ResetCommonFilterHandler extends StoreBaseHandler {
5
+ async handle() {
6
+ try {
7
+ this.store.dispatch(resetCommonFilterValues());
8
+ } catch (e) {
9
+ console.log(e.message);
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,11 @@
1
+ export function resetCommonFilterValuesReducer(state) {
2
+ state.filters = state.filters.map((f) => {
3
+ if (f.id === "common") {
4
+ return {
5
+ ...f,
6
+ filters: f.filters.map((ff) => ({ ...ff, enabled: false })),
7
+ };
8
+ }
9
+ return f;
10
+ });
11
+ }
@@ -1,5 +1,5 @@
1
1
  import { BrokerExtensions } from "@primaria/plugins-core";
2
- import { BrokerDisposableHandler } from "../../../../../api/broker/primaria-broker";
2
+ import { BrokerDisposableHandler } from "../../../../../../api/broker/primaria-broker";
3
3
  import { SetCommonFilter } from "./request";
4
4
  import { SetCommonFilterHandler } from "./handler";
5
5
 
@@ -0,0 +1,3 @@
1
+ import { activityHistoryFiltersSlice } from "../../slice";
2
+
3
+ export const { resetCustomFilterValues } = activityHistoryFiltersSlice.actions;
@@ -0,0 +1,14 @@
1
+ import { BrokerExtensions } from "@primaria/plugins-core";
2
+ import { BrokerDisposableHandler } from "../../../../../../api/broker/primaria-broker";
3
+ import { ResetCustomFilter } from "./request";
4
+ import { ResetCustomFilterHandler } from "./handler";
5
+
6
+ let request: BrokerDisposableHandler;
7
+
8
+ export const bootstrapResetCustomFilter = (broker: BrokerExtensions) => {
9
+ request = broker.registerRequest(ResetCustomFilter, ResetCustomFilterHandler);
10
+ };
11
+
12
+ export const teardownResetCustomFilter = () => {
13
+ request?.dispose();
14
+ };
@@ -0,0 +1,8 @@
1
+ import { StoreBaseHandler } from "../../../../infrastructure/base-handlers";
2
+ import { resetCustomFilterValues } from "./actions";
3
+
4
+ export class ResetCustomFilterHandler extends StoreBaseHandler {
5
+ async handle() {
6
+ await this.store.dispatch(resetCustomFilterValues());
7
+ }
8
+ }
@@ -0,0 +1,12 @@
1
+ export function resetCustomFilterValuesReducer(state) {
2
+ state.filters = state.filters.map((f) => {
3
+ if (f.id !== "common" && f.id !== "history-diagnostics") {
4
+ console.log("filter", f);
5
+ return {
6
+ ...f,
7
+ filters: f.filters.map((ff) => ({ ...ff, enabled: false, enabledValues: [] })),
8
+ };
9
+ }
10
+ return f;
11
+ });
12
+ }
@@ -8,6 +8,8 @@ import { setCustomFilterValueReducer } from "./custom-filters/set-custom-filter-
8
8
  import { IActivityHistoryFilter } from "./model";
9
9
  import { addDiagnosticFiltersReducer } from "./diagnostic-filters/add/reducer";
10
10
  import { setDiagnosticFilterValuesReducer } from "./diagnostic-filters/set/reducer";
11
+ import { resetCommonFilterValuesReducer } from "./common-filters/reset-common-filter/reducer";
12
+ import { resetCustomFilterValuesReducer } from "./custom-filters/reset-custom-filter/reducer";
11
13
 
12
14
  export const activityHistoryFiltersSlice = createSlice({
13
15
  name: "activity-history-filters",
@@ -18,9 +20,11 @@ export const activityHistoryFiltersSlice = createSlice({
18
20
  reducers: {
19
21
  setSearchString: setSearchStringReducer,
20
22
  setCommonFilterValue: setCommonFilterValueReducer,
23
+ resetCommonFilterValues: resetCommonFilterValuesReducer,
21
24
  addCustomFilters: addCustomFiltersReducer,
22
25
  setCustomFilterGroupValue: setCustomFilterGroupValueReducer,
23
26
  setCustomFilterValue: setCustomFilterValueReducer,
27
+ resetCustomFilterValues: resetCustomFilterValuesReducer,
24
28
  addDiagnosticFilters: addDiagnosticFiltersReducer,
25
29
  setDiagnosticFilterValues: setDiagnosticFilterValuesReducer,
26
30
  },
@@ -59,7 +59,7 @@
59
59
  .visit__items {
60
60
  display: flex;
61
61
  flex-direction: column;
62
- gap: 16px;
62
+ gap: var(--dss-spacing-sm);
63
63
  .item[has-divider] {
64
64
  border-bottom: var(--dss-border-width-sm) solid var(--color-neutral-200);
65
65
  &:last-of-type {
@@ -82,6 +82,7 @@ export const locales = {
82
82
  chipHeader: {
83
83
  selection: "Selecció:",
84
84
  without: "Sense",
85
+ cleanFilters: "Netejar filtres",
85
86
  },
86
87
  error: {
87
88
  general: {