Skip to content

Commit

Permalink
refactor: move messages to pinia store
Browse files Browse the repository at this point in the history
  • Loading branch information
JammingBen committed Jan 8, 2024
1 parent cb2b4ab commit 5138a22
Show file tree
Hide file tree
Showing 87 changed files with 527 additions and 530 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ export default defineComponent({
const logoInput: VNodeRef = ref(null)
const { actions: resetLogoActions } = useGeneralActionsResetLogo({ store })
const { actions: resetLogoActions } = useGeneralActionsResetLogo()
const { actions: uploadLogoActions, uploadImage } = useGeneralActionsUploadLogo({
imageInput: logoInput
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import { useGettext } from 'vue3-gettext'
import { computed, defineComponent, ref, PropType, unref, watch } from 'vue'
import { Group } from '@ownclouders/web-client/src/generated'
import { MaybeRef, Modal, useClientService, useEventBus, useStore } from '@ownclouders/web-pkg'
import { MaybeRef, Modal, useClientService, useEventBus, useMessages } from '@ownclouders/web-pkg'
export default defineComponent({
name: 'CreateGroupModal',
Expand All @@ -27,7 +27,7 @@ export default defineComponent({
emits: ['confirm', 'update:confirmDisabled'],
setup(props, { emit, expose }) {
const { $gettext } = useGettext()
const store = useStore()
const { showMessage, showErrorMessage } = useMessages()
const eventBus = useEventBus()
const clientService = useClientService()
Expand Down Expand Up @@ -61,15 +61,13 @@ export default defineComponent({
try {
const client = clientService.graphAuthenticated
const response = await client.groups.createGroup(unref(group))
store.dispatch('showMessage', {
title: $gettext('Group was created successfully')
})
showMessage({ title: $gettext('Group was created successfully') })
eventBus.publish('app.admin-settings.groups.add', { ...response?.data, members: [] })
} catch (error) {
console.error(error)
store.dispatch('showErrorMessage', {
showErrorMessage({
title: $gettext('Failed to create group'),
error
errors: [error]
})
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ import { useGettext } from 'vue3-gettext'
import { Group, User } from '@ownclouders/web-client/src/generated'
import GroupSelect from './GroupSelect.vue'
import {
useStore,
useEventBus,
useClientService,
useConfigurationManager,
Modal
Modal,
useMessages
} from '@ownclouders/web-pkg'
export default defineComponent({
Expand All @@ -35,7 +35,7 @@ export default defineComponent({
},
emits: ['update:confirmDisabled'],
setup(props, { emit, expose }) {
const store = useStore()
const { showMessage, showErrorMessage } = useMessages()
const clientService = useClientService()
const configurationManager = useConfigurationManager()
const eventBus = useEventBus()
Expand Down Expand Up @@ -75,7 +75,7 @@ export default defineComponent({
'Group assignments already added',
props.users.length * unref(selectedOptions).length
)
store.dispatch('showMessage', { title })
showMessage({ title })
return
}
Expand All @@ -95,7 +95,7 @@ export default defineComponent({
{ groupAssignmentCount: succeeded.length.toString() },
true
)
store.dispatch('showMessage', { title })
showMessage({ title })
}
const failed = results.filter((r) => r.status === 'rejected')
Expand All @@ -114,7 +114,7 @@ export default defineComponent({
{ groupAssignmentCount: failed.length.toString() },
true
)
store.dispatch('showErrorMessage', {
showErrorMessage({
title,
errors: (failed as PromiseRejectedResult[]).map((f) => f.reason)
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,14 @@
import { useGettext } from 'vue3-gettext'
import { computed, defineComponent, ref, unref, PropType, watch } from 'vue'
import * as EmailValidator from 'email-validator'
import { Modal, useClientService, useEventBus, useStore } from '@ownclouders/web-pkg'
import { Modal, useClientService, useEventBus, useMessages } from '@ownclouders/web-pkg'
export default defineComponent({
name: 'CreateUserModal',
props: { modal: { type: Object as PropType<Modal>, required: true } },
emits: ['confirm', 'update:confirmDisabled'],
setup(props, { emit, expose }) {
const store = useStore()
const { showMessage, showErrorMessage } = useMessages()
const eventBus = useEventBus()
const clientService = useClientService()
const { $gettext } = useGettext()
Expand Down Expand Up @@ -111,15 +111,13 @@ export default defineComponent({
const { data } = await client.users.createUser(unref(user))
const { id: createdUserId } = data
const { data: createdUser } = await client.users.getUser(createdUserId)
store.dispatch('showMessage', {
title: $gettext('User was created successfully')
})
showMessage({ title: $gettext('User was created successfully') })
eventBus.publish('app.admin-settings.users.add', createdUser)
} catch (error) {
console.error(error)
store.dispatch('showErrorMessage', {
showErrorMessage({
title: $gettext('Failed to create user'),
error
errors: [error]
})
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,13 @@
import { computed, defineComponent, onMounted, PropType, ref, unref, watch } from 'vue'
import { useGettext } from 'vue3-gettext'
import { User } from '@ownclouders/web-client/src/generated'
import { useClientService, useStore, useEventBus, useUserStore, Modal } from '@ownclouders/web-pkg'
import {
useClientService,
useEventBus,
useUserStore,
Modal,
useMessages
} from '@ownclouders/web-pkg'
type LoginOption = {
label: string
Expand All @@ -35,7 +41,7 @@ export default defineComponent({
},
emits: ['update:confirmDisabled'],
setup(props, { emit, expose }) {
const store = useStore()
const { showMessage, showErrorMessage } = useMessages()
const clientService = useClientService()
const eventBus = useEventBus()
const { $gettext, $ngettext } = useGettext()
Expand Down Expand Up @@ -93,7 +99,7 @@ export default defineComponent({
{ userCount: succeeded.length.toString() },
true
)
store.dispatch('showMessage', { title })
showMessage({ title })
}
const failed = results.filter((r) => r.status === 'rejected')
Expand All @@ -112,7 +118,7 @@ export default defineComponent({
{ userCount: failed.length.toString() },
true
)
store.dispatch('showErrorMessage', {
showErrorMessage({
title,
errors: (failed as PromiseRejectedResult[]).map((f) => f.reason)
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { defineComponent, PropType, ref, unref, watch } from 'vue'
import { useGettext } from 'vue3-gettext'
import { Group, User } from '@ownclouders/web-client/src/generated'
import GroupSelect from './GroupSelect.vue'
import { useStore, useEventBus, useClientService, Modal } from '@ownclouders/web-pkg'
import { useEventBus, useClientService, Modal, useMessages } from '@ownclouders/web-pkg'
export default defineComponent({
name: 'RemoveFromGroupsModal',
Expand All @@ -29,7 +29,7 @@ export default defineComponent({
},
emits: ['update:confirmDisabled'],
setup(props, { emit, expose }) {
const store = useStore()
const { showMessage, showErrorMessage } = useMessages()
const clientService = useClientService()
const eventBus = useEventBus()
const { $gettext, $ngettext } = useGettext()
Expand Down Expand Up @@ -68,7 +68,7 @@ export default defineComponent({
'Group assignments already removed',
props.users.length * unref(selectedOptions).length
)
store.dispatch('showMessage', { title })
showMessage({ title })
return
}
Expand All @@ -88,7 +88,7 @@ export default defineComponent({
{ groupAssignmentCount: succeeded.length.toString() },
true
)
store.dispatch('showMessage', { title })
showMessage({ title })
}
const failed = results.filter((r) => r.status === 'rejected')
Expand All @@ -107,7 +107,7 @@ export default defineComponent({
{ groupAssignmentCount: failed.length.toString() },
true
)
store.dispatch('showErrorMessage', {
showErrorMessage({
title,
errors: (failed as PromiseRejectedResult[]).map((f) => f.reason)
})
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import { Store } from 'vuex'
import { useGettext } from 'vue3-gettext'
import { computed } from 'vue'
import { useAbility, useClientService, useRouter, useStore } from '@ownclouders/web-pkg'
import { useAbility, useClientService, useMessages, useRouter } from '@ownclouders/web-pkg'
import { Action } from '@ownclouders/web-pkg'

export const useGeneralActionsResetLogo = ({ store }: { store?: Store<any> }) => {
store = store || useStore()
export const useGeneralActionsResetLogo = () => {
const { showMessage, showErrorMessage } = useMessages()
const { $gettext } = useGettext()
const ability = useAbility()
const clientService = useClientService()
Expand All @@ -15,17 +14,15 @@ export const useGeneralActionsResetLogo = ({ store }: { store?: Store<any> }) =>
try {
const httpClient = clientService.httpAuthenticated
await httpClient.delete('/branding/logo')
store.dispatch('showMessage', {
title: $gettext('Logo was reset successfully. Reloading page...')
})
showMessage({ title: $gettext('Logo was reset successfully. Reloading page...') })
setTimeout(() => {
router.go(0)
}, 1000)
} catch (e) {
console.error(e)
store.dispatch('showErrorMessage', {
showErrorMessage({
title: $gettext('Failed to reset logo'),
error: e
errors: [e]
})
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,11 @@
import { Store } from 'vuex'
import { supportedLogoMimeTypes } from '../../../defaults'
import { computed, VNodeRef, unref } from 'vue'
import { Action } from '@ownclouders/web-pkg'
import { useAbility, useClientService, useRouter, useStore } from '@ownclouders/web-pkg'
import { Action, useMessages } from '@ownclouders/web-pkg'
import { useAbility, useClientService, useRouter } from '@ownclouders/web-pkg'
import { useGettext } from 'vue3-gettext'

export const useGeneralActionsUploadLogo = ({
store,
imageInput
}: {
store?: Store<any>
imageInput: VNodeRef
}) => {
store = store || useStore()
export const useGeneralActionsUploadLogo = ({ imageInput }: { imageInput: VNodeRef }) => {
const { showMessage, showErrorMessage } = useMessages()
const { $gettext } = useGettext()
const ability = useAbility()
const clientService = useClientService()
Expand All @@ -26,9 +19,7 @@ export const useGeneralActionsUploadLogo = ({
}

if (!supportedLogoMimeTypes.includes(file.type)) {
return store.dispatch('showErrorMessage', {
title: $gettext('The file type is unsupported')
})
return showErrorMessage({ title: $gettext('The file type is unsupported') })
}

try {
Expand All @@ -40,17 +31,15 @@ export const useGeneralActionsUploadLogo = ({
'Content-Type': 'multipart/form-data'
}
})
store.dispatch('showMessage', {
title: $gettext('Logo was uploaded successfully')
})
showMessage({ title: $gettext('Logo was uploaded successfully') })
setTimeout(() => {
router.go(0)
}, 1000)
} catch (e) {
console.error(e)
store.dispatch('showErrorMessage', {
showErrorMessage({
title: $gettext('Failed to upload logo'),
error: e
errors: [e]
})
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import { computed } from 'vue'
import { Store } from 'vuex'
import { eventBus, useModals } from '@ownclouders/web-pkg'
import { useClientService, useStore } from '@ownclouders/web-pkg'
import { eventBus, useMessages, useModals } from '@ownclouders/web-pkg'
import { useClientService } from '@ownclouders/web-pkg'
import { GroupAction, GroupActionOptions } from '@ownclouders/web-pkg'
import { useGettext } from 'vue3-gettext'
import { Group } from '@ownclouders/web-client/src/generated'

export const useGroupActionsDelete = ({ store }: { store?: Store<any> }) => {
store = store || useStore()
export const useGroupActionsDelete = () => {
const { showMessage, showErrorMessage } = useMessages()
const { $gettext, $ngettext } = useGettext()
const clientService = useClientService()
const { dispatchModal } = useModals()
Expand All @@ -29,7 +28,7 @@ export const useGroupActionsDelete = ({ store }: { store?: Store<any> }) => {
{ groupCount: succeeded.length.toString() },
true
)
store.dispatch('showMessage', { title })
showMessage({ title })
}

const failed = results.filter((r) => r.status === 'rejected')
Expand All @@ -46,7 +45,7 @@ export const useGroupActionsDelete = ({ store }: { store?: Store<any> }) => {
{ groupCount: failed.length.toString() },
true
)
store.dispatch('showErrorMessage', {
showErrorMessage({
title,
errors: (failed as PromiseRejectedResult[]).map((f) => f.reason)
})
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
import { computed, unref } from 'vue'
import { Store } from 'vuex'
import { eventBus, useCapabilityDeleteUsersDisabled, useModals } from '@ownclouders/web-pkg'
import { useClientService, useStore } from '@ownclouders/web-pkg'
import {
eventBus,
useCapabilityDeleteUsersDisabled,
useMessages,
useModals
} from '@ownclouders/web-pkg'
import { useClientService } from '@ownclouders/web-pkg'
import { UserAction, UserActionOptions } from '@ownclouders/web-pkg'
import { useGettext } from 'vue3-gettext'
import { User } from '@ownclouders/web-client/src/generated'

export const useUserActionsDelete = ({ store }: { store?: Store<any> }) => {
store = store || useStore()
export const useUserActionsDelete = () => {
const { showMessage, showErrorMessage } = useMessages()
const { $gettext, $ngettext } = useGettext()
const clientService = useClientService()
const { dispatchModal } = useModals()
Expand All @@ -29,7 +33,7 @@ export const useUserActionsDelete = ({ store }: { store?: Store<any> }) => {
{ userCount: succeeded.length.toString() },
true
)
store.dispatch('showMessage', { title })
showMessage({ title })
}

const failed = results.filter((r) => r.status === 'rejected')
Expand All @@ -46,7 +50,7 @@ export const useUserActionsDelete = ({ store }: { store?: Store<any> }) => {
{ userCount: failed.length.toString() },
true
)
store.dispatch('showErrorMessage', {
showErrorMessage({
title,
errors: (failed as PromiseRejectedResult[]).map((f) => f.reason)
})
Expand Down
Loading

0 comments on commit 5138a22

Please sign in to comment.