mirror of
https://github.com/nocodb/nocodb.git
synced 2026-02-01 23:38:21 +00:00
fix(nc-gui): kanban view url where filter apply issue
This commit is contained in:
@@ -47,7 +47,7 @@ const route = router.currentRoute
|
||||
|
||||
const { metaColumnById } = useViewColumnsOrThrow(view, meta)
|
||||
|
||||
const { isSyncedTable } = useSmartsheetStoreOrThrow()
|
||||
const { isSyncedTable, eventBus } = useSmartsheetStoreOrThrow()
|
||||
|
||||
const {
|
||||
loadKanbanData,
|
||||
@@ -132,6 +132,12 @@ reloadViewDataHook?.on(
|
||||
}),
|
||||
)
|
||||
|
||||
eventBus.on((event) => {
|
||||
if (event === SmartsheetStoreEvents.DATA_RELOAD) {
|
||||
reloadViewDataHook?.trigger()
|
||||
}
|
||||
})
|
||||
|
||||
const attachments = (record: any): Attachment[] => {
|
||||
if (!coverImageColumn.value?.title || !record.row[coverImageColumn.value.title]) return []
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ const [useProvideKanbanViewStore, useKanbanViewStore] = useInjectionState(
|
||||
|
||||
const { $e, $api, $ncSocket } = useNuxtApp()
|
||||
|
||||
const { sorts, nestedFilters, eventBus } = useSmartsheetStoreOrThrow()
|
||||
const { sorts, nestedFilters, eventBus, xWhere } = useSmartsheetStoreOrThrow()
|
||||
|
||||
const { sharedView, fetchSharedViewData, fetchSharedViewGroupedData } = useSharedView()
|
||||
|
||||
@@ -45,8 +45,6 @@ const [useProvideKanbanViewStore, useKanbanViewStore] = useInjectionState(
|
||||
|
||||
const password = ref<string | null>(null)
|
||||
|
||||
const { search, getValidSearchQueryForColumn } = useFieldQuery()
|
||||
|
||||
const { addUndo, clone, defineViewScope } = useUndoRedo()
|
||||
|
||||
const { getEvaluatedRowMetaRowColorInfo } = useViewRowColorRender()
|
||||
@@ -60,32 +58,6 @@ const [useProvideKanbanViewStore, useKanbanViewStore] = useInjectionState(
|
||||
// save history of stack changes for undo/redo
|
||||
const moveHistory = ref<{ op: 'added' | 'removed'; pk: string; stack: string; index: number }[]>([])
|
||||
|
||||
const xWhere = computed(() => {
|
||||
let where
|
||||
const col =
|
||||
(meta.value as TableType)?.columns?.find(({ id }) => id === search.value.field) ||
|
||||
(meta.value as TableType)?.columns?.find((v) => v.pv)
|
||||
|
||||
const searchQuery = search.value.query.trim()
|
||||
|
||||
if (!col || !searchQuery) {
|
||||
search.value.isValidFieldQuery = true
|
||||
|
||||
return where
|
||||
}
|
||||
|
||||
const colWhereQuery = getValidSearchQueryForColumn(col, searchQuery, meta.value as TableType, { getWhereQueryAs: 'string' })
|
||||
|
||||
if (!colWhereQuery) {
|
||||
search.value.isValidFieldQuery = false
|
||||
return where
|
||||
}
|
||||
|
||||
search.value.isValidFieldQuery = true
|
||||
|
||||
return colWhereQuery
|
||||
})
|
||||
|
||||
provide(SharedViewPasswordInj, password)
|
||||
|
||||
// kanban view meta data
|
||||
@@ -269,6 +241,7 @@ const [useProvideKanbanViewStore, useKanbanViewStore] = useInjectionState(
|
||||
sortsArr: sorts.value,
|
||||
filtersArr: nestedFilters.value,
|
||||
include_row_color: true,
|
||||
where: xWhere.value,
|
||||
})
|
||||
} else {
|
||||
groupData = await api.dbViewRow.groupedDataList(
|
||||
|
||||
@@ -386,7 +386,12 @@ export function useSharedView() {
|
||||
|
||||
const fetchSharedViewGroupedData = async (
|
||||
columnId: string,
|
||||
{ sortsArr, filtersArr, include_row_color }: { sortsArr: SortType[]; filtersArr: FilterType[]; include_row_color?: boolean },
|
||||
{
|
||||
sortsArr,
|
||||
filtersArr,
|
||||
include_row_color,
|
||||
where,
|
||||
}: { sortsArr: SortType[]; filtersArr: FilterType[]; include_row_color?: boolean; where?: string },
|
||||
) => {
|
||||
if (!sharedView.value) return
|
||||
|
||||
@@ -401,6 +406,7 @@ export function useSharedView() {
|
||||
filterArrJson: stringifyFilterOrSortArr(filtersArr ?? nestedFilters.value),
|
||||
sortArrJson: stringifyFilterOrSortArr(sortsArr ?? sorts.value),
|
||||
include_row_color,
|
||||
where,
|
||||
} as any,
|
||||
{
|
||||
headers: {
|
||||
|
||||
@@ -92,7 +92,7 @@ const [useProvideSmartsheetStore, useSmartsheetStore] = useInjectionState(
|
||||
return
|
||||
}
|
||||
|
||||
return route.value.query.where
|
||||
return route.value.query.where as string
|
||||
})
|
||||
|
||||
const totalRowsWithSearchQuery = ref(0)
|
||||
|
||||
Reference in New Issue
Block a user