feat(sidebar): extend filters to views and routines
This commit is contained in:
1 parent
3dbcc2d0dc
commit
b74d49e982
20 files changed
+268
-46
No files matched your search
@@ -74,6 +74,7 @@ import { resolveDefaultDatabase } from "@/lib/database/defaultDatabase";
|
||||
import { connectionUsesVisibleSchemaFilter } from "@/lib/database/visibleDatabases";
|
||||
import { canTreeNodePin, canTreeNodeShowExpander } from "@/lib/sidebar/sidebarTreeItemLayout";
|
||||
import { sidebarConnectionVisibleFilterMenu } from "@/lib/sidebar/sidebarVisibleFilterMenu";
|
||||
import { supportsSidebarObjectNameFilter } from "@/lib/sidebar/sidebarObjectNameFilter";
|
||||
import { connectionGroupDestinationRows } from "@/lib/sidebar/sidebarLayout";
|
||||
import { objectTypesForGroupNode } from "@/lib/table/tableTree";
|
||||
import { loadSidebarObjectGroup } from "@/lib/sidebar/sidebarObjectGroupRouting";
|
||||
@@ -5658,7 +5659,7 @@ function buildObjectGroupSidebarMenu(context: SidebarMenuFactoryContext): boolea
|
||||
disabled: node.isLoading,
|
||||
});
|
||||
}
|
||||
if (node.type === "group-tables") {
|
||||
if (supportsSidebarObjectNameFilter(node)) {
|
||||
items.push({
|
||||
label: t("contextMenu.tableNameFilters"),
|
||||
action: () => emit("open-table-name-filters", node),
|
||||
|
||||
@@ -69,6 +69,7 @@ import { connectionBearingGroupIdsUnder, connectionIdsUnderGroup } from "@/lib/s
|
||||
import { isSidebarDatabaseOpenForVisual } from "@/lib/sidebar/sidebarDatabaseOpenState";
|
||||
import { sidebarTreeContextKey } from "@/lib/sidebar/sidebarTreeContext";
|
||||
import { connectionCanConfigureSidebarVisibleDatabases } from "@/lib/sidebar/sidebarVisibleFilterMenu";
|
||||
import { supportsSidebarObjectNameFilter } from "@/lib/sidebar/sidebarObjectNameFilter";
|
||||
import { isWindows } from "@/lib/backend/platform";
|
||||
import { flattenTree } from "@/composables/useFlatTree";
|
||||
import { productionContextForDatabase } from "@/lib/database/productionSafety";
|
||||
@@ -407,8 +408,8 @@ function visibleLabel(node: TreeNode): string {
|
||||
return withValidity(displayLabel(node));
|
||||
}
|
||||
|
||||
function hasActiveTableNameFilter(node: TreeNode): boolean {
|
||||
if (node.type !== "group-tables" || !node.connectionId || !node.database) return false;
|
||||
function hasActiveObjectNameFilter(node: TreeNode): boolean {
|
||||
if (!supportsSidebarObjectNameFilter(node) || !node.connectionId || !node.database) return false;
|
||||
const filter = connectionStore.tableNameFilterForScope({
|
||||
connectionId: node.connectionId,
|
||||
database: node.database,
|
||||
@@ -1471,7 +1472,7 @@ function onKeydown(event: KeyboardEvent) {
|
||||
node.objectCount != null
|
||||
"
|
||||
class="text-muted-foreground text-[10px] shrink-0"
|
||||
>{{ node.objectCount }}<span v-if="hasActiveTableNameFilter(node)"> · {{ t("tree.tableNameFilterActive") }}</span></span
|
||||
>{{ node.objectCount }}<span v-if="hasActiveObjectNameFilter(node)"> · {{ t("tree.tableNameFilterActive") }}</span></span
|
||||
>
|
||||
<Badge v-if="isNodeDefaultDatabase" variant="secondary" class="h-4 px-1.5 text-[10px]">
|
||||
{{ t("editor.defaultDatabase") }}
|
||||
|
||||
Reference in new issue
Block a user