diff --git a/frontend/src/modules/activity/store/type/actions.js b/frontend/src/modules/activity/store/type/actions.js deleted file mode 100644 index 8506c30cce..0000000000 --- a/frontend/src/modules/activity/store/type/actions.js +++ /dev/null @@ -1,11 +0,0 @@ -import { ActivityService } from '@/modules/activity/activity-service'; - -export default { - fetchActivityTypes(segment) { - return ActivityService.listActivityTypes(segment) - .then((types) => { - this.types = types; - return Promise.resolve(types); - }); - }, -}; diff --git a/frontend/src/modules/activity/store/type/activity-type.store.ts b/frontend/src/modules/activity/store/type/activity-type.store.ts new file mode 100644 index 0000000000..f4a9dc2a19 --- /dev/null +++ b/frontend/src/modules/activity/store/type/activity-type.store.ts @@ -0,0 +1,21 @@ +import { defineStore } from 'pinia'; +import { ref } from 'vue'; +import { ActivityService } from '@/modules/activity/activity-service'; +import type { ActivityTypes } from '@/shared/modules/activity/types/ActivityTypes'; + +export const useActivityTypeStore = defineStore('activity-type', () => { + const types = ref({ default: {}, custom: {} }); + + function fetchActivityTypes(segment?: string): Promise { + return ActivityService.listActivityTypes(segment) + .then((response: ActivityTypes) => { + types.value = response; + return response; + }); + } + + return { + types, + fetchActivityTypes, + }; +}); diff --git a/frontend/src/modules/activity/store/type/index.js b/frontend/src/modules/activity/store/type/index.js deleted file mode 100644 index e475b56827..0000000000 --- a/frontend/src/modules/activity/store/type/index.js +++ /dev/null @@ -1,11 +0,0 @@ -import { defineStore } from 'pinia'; -import state from './state'; -import actions from './actions'; - -export const useActivityTypeStore = defineStore( - 'activity-type', - { - state, - actions, - }, -); diff --git a/frontend/src/modules/activity/store/type/index.ts b/frontend/src/modules/activity/store/type/index.ts new file mode 100644 index 0000000000..b3d0a325de --- /dev/null +++ b/frontend/src/modules/activity/store/type/index.ts @@ -0,0 +1 @@ +export * from './activity-type.store'; diff --git a/frontend/src/modules/activity/store/type/state.js b/frontend/src/modules/activity/store/type/state.js deleted file mode 100644 index 57cb4904a7..0000000000 --- a/frontend/src/modules/activity/store/type/state.js +++ /dev/null @@ -1,3 +0,0 @@ -export default () => ({ - types: {}, -}); diff --git a/frontend/src/modules/layout/pinia/actions.ts b/frontend/src/modules/layout/pinia/actions.ts deleted file mode 100644 index cd8c073bdd..0000000000 --- a/frontend/src/modules/layout/pinia/actions.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { FooterState } from './state'; - -export default { - setVisibility(this: FooterState, visible: boolean) { - this.visible = visible; - }, -}; diff --git a/frontend/src/modules/layout/pinia/footer.store.ts b/frontend/src/modules/layout/pinia/footer.store.ts new file mode 100644 index 0000000000..f69367aacb --- /dev/null +++ b/frontend/src/modules/layout/pinia/footer.store.ts @@ -0,0 +1,15 @@ +import { defineStore } from 'pinia'; +import { ref } from 'vue'; + +export const useFooterStore = defineStore('footer-store', () => { + const visible = ref(true); + + function setVisibility(value: boolean): void { + visible.value = value; + } + + return { + visible, + setVisibility, + }; +}); diff --git a/frontend/src/modules/layout/pinia/index.ts b/frontend/src/modules/layout/pinia/index.ts index fef7ec9846..543a47b06b 100644 --- a/frontend/src/modules/layout/pinia/index.ts +++ b/frontend/src/modules/layout/pinia/index.ts @@ -1,11 +1 @@ -import { defineStore } from 'pinia'; -import state from './state'; -import actions from './actions'; - -export const useFooterStore = defineStore( - 'footer-store', - { - state, - actions, - }, -); +export * from './footer.store'; diff --git a/frontend/src/modules/layout/pinia/state.ts b/frontend/src/modules/layout/pinia/state.ts deleted file mode 100644 index 12d501ab6c..0000000000 --- a/frontend/src/modules/layout/pinia/state.ts +++ /dev/null @@ -1,9 +0,0 @@ -export interface FooterState { - visible: boolean; -} - -const state: FooterState = { - visible: true, -}; - -export default () => state; diff --git a/frontend/src/modules/user/store/pinia/actions.ts b/frontend/src/modules/user/store/pinia/actions.ts deleted file mode 100644 index 5d91263641..0000000000 --- a/frontend/src/modules/user/store/pinia/actions.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { UserState } from '@/modules/user/store/pinia/state'; - -export default { - updateDeveloperMode(this: UserState, value: boolean): void { - this.isDeveloperModeActive = value; - localStorage.setItem('developerMode', JSON.stringify(value)); - }, -}; diff --git a/frontend/src/modules/user/store/pinia/index.ts b/frontend/src/modules/user/store/pinia/index.ts index dc7d85b849..4cb2704d3a 100644 --- a/frontend/src/modules/user/store/pinia/index.ts +++ b/frontend/src/modules/user/store/pinia/index.ts @@ -1,11 +1 @@ -import { defineStore } from 'pinia'; -import state from './state'; -import actions from './actions'; - -export const useUserStore = defineStore( - 'user', - { - state, - actions, - }, -); +export * from './user.store'; diff --git a/frontend/src/modules/user/store/pinia/state.ts b/frontend/src/modules/user/store/pinia/state.ts deleted file mode 100644 index 6e5210d8ab..0000000000 --- a/frontend/src/modules/user/store/pinia/state.ts +++ /dev/null @@ -1,9 +0,0 @@ -export interface UserState { - isDeveloperModeActive: Boolean, -} - -const state: UserState = { - isDeveloperModeActive: localStorage.getItem('developerMode') === 'true', -}; - -export default () => state; diff --git a/frontend/src/modules/user/store/pinia/user.store.ts b/frontend/src/modules/user/store/pinia/user.store.ts new file mode 100644 index 0000000000..91e9e92c3d --- /dev/null +++ b/frontend/src/modules/user/store/pinia/user.store.ts @@ -0,0 +1,16 @@ +import { defineStore } from 'pinia'; +import { ref } from 'vue'; + +export const useUserStore = defineStore('user', () => { + const isDeveloperModeActive = ref(localStorage.getItem('developerMode') === 'true'); + + function updateDeveloperMode(value: boolean): void { + isDeveloperModeActive.value = value; + localStorage.setItem('developerMode', JSON.stringify(value)); + } + + return { + isDeveloperModeActive, + updateDeveloperMode, + }; +}); diff --git a/frontend/src/shared/modules/filters/components/filterTypes/ActivityTypeFilter.vue b/frontend/src/shared/modules/filters/components/filterTypes/ActivityTypeFilter.vue index e7439be983..e3590e0bad 100644 --- a/frontend/src/shared/modules/filters/components/filterTypes/ActivityTypeFilter.vue +++ b/frontend/src/shared/modules/filters/components/filterTypes/ActivityTypeFilter.vue @@ -18,7 +18,7 @@ import type { } from '@/shared/modules/filters/types/filterTypes/MultiSelectFilterConfig'; import { FilterConfigType } from '@/shared/modules/filters/types/FilterConfig'; import type { CustomFilterConfig } from '@/shared/modules/filters/types/filterTypes/CustomFilterConfig'; -import type { ActivityTypeDefinition, ActivityTypes } from '@/shared/modules/activity/types/ActivityTypes'; +import type { ActivityTypeDefinition } from '@/shared/modules/activity/types/ActivityTypes'; import { useActivityTypeStore } from '@/modules/activity/store/type'; import { useLfSegmentsStore } from '@/modules/lf/segments/store'; import { lfIdentities } from '@/config/identities'; @@ -35,8 +35,7 @@ const props = defineProps<{ const emit = defineEmits<{(e: 'update:modelValue', value: MultiSelectFilterValue): void, (e: 'update:data', value: FilterData): void}>(); const activityTypeStore = useActivityTypeStore(); -// shortcut: the JS store's types are untyped. revisit: when CM-1565 types the activity-type store. -const types = computed(() => activityTypeStore.types as ActivityTypes); +const types = computed(() => activityTypeStore.types); const store = useStore(); const { getActiveIntegrations } = useIntegrationsHelpers();