mirror of
https://github.com/nocodb/nocodb.git
synced 2026-04-25 03:45:41 +00:00
fix: replace disableAutoLoad with isTempFilters in ColumnFilter components and fix realtime related issues
This commit is contained in:
@@ -38,8 +38,7 @@ interface Props {
|
||||
readOnly?: boolean
|
||||
queryFilter?: boolean
|
||||
isColourFilter?: boolean
|
||||
allowLockedLocalEdit?: boolean
|
||||
disableAutoLoad?: boolean
|
||||
isTempFilters?: boolean
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {
|
||||
@@ -63,8 +62,7 @@ const props = withDefaults(defineProps<Props>(), {
|
||||
isViewFilter: false,
|
||||
readOnly: false,
|
||||
isColourFilter: false,
|
||||
allowLockedLocalEdit: false,
|
||||
disableAutoLoad: false,
|
||||
isTempFilters: false,
|
||||
})
|
||||
|
||||
const emit = defineEmits([
|
||||
@@ -195,7 +193,7 @@ const {
|
||||
linkColId,
|
||||
fieldsToFilter,
|
||||
parentColId,
|
||||
props.disableAutoLoad,
|
||||
props.isTempFilters,
|
||||
)
|
||||
|
||||
const { getPlanLimit } = useWorkspace()
|
||||
@@ -509,7 +507,7 @@ onMounted(async () => {
|
||||
|
||||
await Promise.all([
|
||||
(async () => {
|
||||
if (!props.disableAutoLoad && !initialModelValue?.length)
|
||||
if (!props.isTempFilters && !initialModelValue?.length)
|
||||
await loadFilters({
|
||||
hookId: hookId?.value,
|
||||
isWebhook: webHook.value,
|
||||
@@ -904,6 +902,7 @@ defineExpose({
|
||||
:disable-add-new-filter="disableAddNewFilter"
|
||||
:is-view-filter="isViewFilter"
|
||||
:read-only="readOnly"
|
||||
:is-temp-filters="isTempFilters"
|
||||
>
|
||||
<template #start>
|
||||
<span v-if="!visibleFilters.indexOf(filter)" class="flex items-center nc-filter-where-label ml-1">{{
|
||||
|
||||
@@ -51,7 +51,7 @@ watch(
|
||||
await loadFilters({
|
||||
hookId: undefined,
|
||||
isWebhook: false,
|
||||
loadAllFilters: false,
|
||||
loadAllFilters: true,
|
||||
})
|
||||
filtersLength.value = nonDeletedFilters.value.length || 0
|
||||
}
|
||||
@@ -317,8 +317,7 @@ watch(
|
||||
:auto-save="false"
|
||||
data-testid="nc-filter-menu"
|
||||
:is-view-filter="false"
|
||||
:allow-locked-local-edit="true"
|
||||
:disable-auto-load="true"
|
||||
:is-temp-filters="true"
|
||||
>
|
||||
</SmartsheetToolbarColumnFilter>
|
||||
</template>
|
||||
|
||||
@@ -38,7 +38,7 @@ export function useViewFilters(
|
||||
linkColId?: Ref<string>,
|
||||
fieldsToFilter?: Ref<ColumnType[]>,
|
||||
parentColId?: Ref<string>,
|
||||
disableAutoLoad?: boolean,
|
||||
isTempFilters?: boolean,
|
||||
) {
|
||||
const savingStatus: Record<number, boolean> = {}
|
||||
|
||||
@@ -63,7 +63,7 @@ export function useViewFilters(
|
||||
|
||||
const isPublic = inject(IsPublicInj, ref(false))
|
||||
|
||||
const isTempFilters = computed(() => isPublic.value || disableAutoLoad)
|
||||
const isTemp = computed(() => isPublic.value || isTempFilters)
|
||||
|
||||
const { $api, $e, $eventBus } = useNuxtApp()
|
||||
|
||||
@@ -77,7 +77,7 @@ export function useViewFilters(
|
||||
|
||||
const _filters = ref<ColumnFilterType[]>([...(currentFilters.value || [])])
|
||||
|
||||
const nestedMode = computed(() => isTempFilters.value || !isUIAllowed('filterList') || !isUIAllowed('filterChildrenList'))
|
||||
const nestedMode = computed(() => isTemp.value || !isUIAllowed('filterList') || !isUIAllowed('filterChildrenList'))
|
||||
|
||||
// Tracks if any filter has been updated - used for webhook save state management
|
||||
const isFilterUpdated = ref<boolean>(false)
|
||||
@@ -378,7 +378,7 @@ export function useViewFilters(
|
||||
} = {}) => {
|
||||
if (!view.value?.id || !meta.value) return
|
||||
if (
|
||||
(nestedMode.value && (isTempFilters.value || !isUIAllowed('filterChildrenList'))) ||
|
||||
(nestedMode.value && (isTemp.value || !isUIAllowed('filterChildrenList'))) ||
|
||||
(isForm.value && !isWebhook) ||
|
||||
isWorkflow
|
||||
) {
|
||||
@@ -1079,7 +1079,7 @@ export function useViewFilters(
|
||||
}
|
||||
|
||||
const evtListener = (evt: string, payload: any) => {
|
||||
if (payload.fk_view_id !== view.value?.id || disableAutoLoad) return
|
||||
if (payload.fk_view_id !== view.value?.id || isTempFilters) return
|
||||
|
||||
if (evt === 'filter_create') {
|
||||
allFilters.value.push(payload)
|
||||
@@ -1112,11 +1112,11 @@ export function useViewFilters(
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
$eventBus.realtimeViewMetaEventBus.on(evtListener)
|
||||
if (!isTempFilters) $eventBus.realtimeViewMetaEventBus.on(evtListener)
|
||||
})
|
||||
|
||||
onBeforeUnmount(() => {
|
||||
$eventBus.realtimeViewMetaEventBus.off(evtListener)
|
||||
if (!isTempFilters) $eventBus.realtimeViewMetaEventBus.off(evtListener)
|
||||
})
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user