Browse Source

Merge pull request #7405 from nocodb/nc-fix/sentry-err

Miscellaneous bug fixes
pull/7423/head
Raju Udava 8 months ago committed by GitHub
parent
commit
3959e4ef50
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      packages/nc-gui/components/cell/SingleSelect.vue
  2. 10
      packages/nc-gui/components/smartsheet/expanded-form/index.vue
  3. 4
      packages/nc-gui/components/smartsheet/toolbar/FieldsMenu.vue
  4. 3
      packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue
  5. 8
      packages/nc-gui/components/smartsheet/toolbar/ViewActionMenu.vue
  6. 2
      packages/nc-gui/components/workspace/CollaboratorsList.vue
  7. 37
      packages/nc-gui/store/bases.ts

2
packages/nc-gui/components/cell/SingleSelect.vue

@ -258,7 +258,7 @@ const handleClose = (e: MouseEvent) => {
useEventListener(document, 'click', handleClose, true)
const selectedOpt = computed(() => {
return options.value.find((o) => o.value === vModel.value || o.value === vModel.value?.trim())
return options.value.find((o) => o.value === vModel.value || o.value === vModel.value?.toString()?.trim())
})
const onFocus = () => {

10
packages/nc-gui/components/smartsheet/expanded-form/index.vue

@ -483,12 +483,14 @@ const isReadOnlyVirtualCell = (column: ColumnType) => {
watch([expandedFormScrollWrapper, isLoading], () => {
if (isMobileMode.value) return
if (expandedFormScrollWrapper.value && !isLoading.value) {
const height = expandedFormScrollWrapper.value.scrollHeight
expandedFormScrollWrapper.value.scrollTop = height
const expandedFormScrollWrapperEl = expandedFormScrollWrapper.value
if (expandedFormScrollWrapperEl && !isLoading.value) {
const height = expandedFormScrollWrapperEl.scrollHeight
expandedFormScrollWrapperEl.scrollTop = height
setTimeout(() => {
expandedFormScrollWrapper.value.scrollTop = 0
expandedFormScrollWrapperEl.scrollTop = 0
}, 125)
}
})

4
packages/nc-gui/components/smartsheet/toolbar/FieldsMenu.vue

@ -387,7 +387,7 @@ useMenuCloseOnEsc(open)
<template #default>{{ field.title }}</template>
</NcTooltip>
<NcSwitch v-e="['a:fields:show-hide']" :checked="field.show" :disabled="field.isViewEssentialField" />
<NcSwitch :checked="field.show" :disabled="field.isViewEssentialField" @change="$t('a:fields:show-hide')" />
</div>
<div class="flex-1" />
@ -411,7 +411,7 @@ useMenuCloseOnEsc(open)
<template #default>{{ filteredFieldList[0].title }}</template>
</NcTooltip>
<NcSwitch v-e="['a:fields:show-hide']" :checked="true" :disabled="true" />
<NcSwitch :checked="true" :disabled="true" />
</div>
</template>
</Draggable>

3
packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue

@ -48,7 +48,8 @@ import Text from '~/components/cell/Text.vue'
import User from '~/components/cell/User.vue'
interface Props {
column: ColumnType
// column could be possibly undefined when the filter is created
column?: ColumnType
filter: Filter
}

8
packages/nc-gui/components/smartsheet/toolbar/ViewActionMenu.vue

@ -142,7 +142,12 @@ const onDelete = async () => {
</script>
<template>
<NcMenu class="!min-w-70" data-id="toolbar-actions" :data-testid="`view-sidebar-view-actions-${view!.alias || view!.title}`">
<NcMenu
v-if="view"
class="!min-w-70"
data-id="toolbar-actions"
:data-testid="`view-sidebar-view-actions-${view!.alias || view!.title}`"
>
<NcTooltip>
<template #title> {{ $t('labels.clickToCopyViewID') }} </template>
<div class="flex items-center justify-between py-2 px-3 cursor-pointer hover:bg-gray-100 group" @click="onViewIdCopy">
@ -314,6 +319,7 @@ const onDelete = async () => {
/>
</template>
</NcMenu>
<span v-else></span>
</template>
<style lang="scss" scoped>

2
packages/nc-gui/components/workspace/CollaboratorsList.vue

@ -67,7 +67,7 @@ onMounted(async () => {
</div>
<WorkspaceInviteSection v-if="workspaceRole !== WorkspaceUserRoles.VIEWER" />
<div v-if="!filterCollaborators?.length" class="w-full h-full flex flex-col items-center justify-center mt-36">
<Empty description="No members found" />
<a-empty description="No members found" />
</div>
<div v-else class="nc-collaborators-list mt-6 h-full">
<div class="flex flex-col rounded-lg overflow-hidden border-1 max-w-350 max-h-[calc(100%-8rem)]">

37
packages/nc-gui/store/bases.ts

@ -92,25 +92,32 @@ export const useBases = defineStore('basesStore', () => {
const loadProjects = async (page: 'recent' | 'shared' | 'starred' | 'workspace' = 'recent') => {
// if shared base then get the shared base and create a list
if (route.value.params.typeOrId === 'base' && route.value.params.baseId) {
const { base_id } = await $api.public.sharedBaseGet(route.value.params.baseId as string)
const base: BaseType = await $api.base.read(base_id)
try {
const { base_id } = await $api.public.sharedBaseGet(route.value.params.baseId as string)
const base: BaseType = await $api.base.read(base_id)
if (!base) return
if (!base) return
bases.value = [base].reduce((acc, base) => {
acc.set(base.id!, base)
return acc
}, new Map())
bases.value = [base].reduce((acc, base) => {
acc.set(base.id!, base)
return acc
}, new Map())
bases.value.set(base.id!, {
...(bases.value.get(base.id!) || {}),
...base,
sources: [...(base.sources ?? bases.value.get(base.id!)?.sources ?? [])],
isExpanded: route.value.params.baseId === base.id || bases.value.get(base.id!)?.isExpanded,
isLoading: false,
})
bases.value.set(base.id!, {
...(bases.value.get(base.id!) || {}),
...base,
sources: [...(base.sources ?? bases.value.get(base.id!)?.sources ?? [])],
isExpanded: route.value.params.baseId === base.id || bases.value.get(base.id!)?.isExpanded,
isLoading: false,
})
return
return
} catch (e: any) {
if (e?.response?.status === 404) {
return router.push('/error/404')
}
throw e
}
}
const activeWorkspace = workspaceStore.activeWorkspace

Loading…
Cancel
Save