fix(nc-gui): kanban view url where filter apply issue

This commit is contained in:
Ramesh Mane
2025-10-01 12:00:09 +00:00
parent 89e94c85ec
commit 44cfd16b52
4 changed files with 17 additions and 32 deletions

View File

@@ -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 []

View File

@@ -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(

View File

@@ -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: {

View File

@@ -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)