From a973ec3c60398cb16685a4f991c43ec4ee74c986 Mon Sep 17 00:00:00 2001 From: Fabio Di Stasio Date: Thu, 13 Jun 2024 18:07:05 +0200 Subject: [PATCH] perf(UI): views grouped in folders --- src/common/customizations/postgresql.ts | 1 + src/common/interfaces/customizations.ts | 1 + .../components/WorkspaceExploreBar.vue | 3 +- .../WorkspaceExploreBarMiscFolderContext.vue | 13 +++++ .../components/WorkspaceExploreBarSchema.vue | 58 ++++++++++++++++++- 5 files changed, 74 insertions(+), 2 deletions(-) diff --git a/src/common/customizations/postgresql.ts b/src/common/customizations/postgresql.ts index 61d040a6..5098a1bc 100644 --- a/src/common/customizations/postgresql.ts +++ b/src/common/customizations/postgresql.ts @@ -31,6 +31,7 @@ export const customizations: Customizations = { schemas: true, tables: true, views: true, + materializedViews: true, triggers: true, triggerFunctions: true, routines: true, diff --git a/src/common/interfaces/customizations.ts b/src/common/interfaces/customizations.ts index 70b6be9c..404f6be1 100644 --- a/src/common/interfaces/customizations.ts +++ b/src/common/interfaces/customizations.ts @@ -28,6 +28,7 @@ export interface Customizations { schemas?: boolean; tables?: boolean; views?: boolean; + materializedViews?: boolean; triggers?: boolean; triggerFunctions?: boolean; routines?: boolean; diff --git a/src/renderer/components/WorkspaceExploreBar.vue b/src/renderer/components/WorkspaceExploreBar.vue index c8a4aa9a..219af6a4 100644 --- a/src/renderer/components/WorkspaceExploreBar.vue +++ b/src/renderer/components/WorkspaceExploreBar.vue @@ -141,10 +141,11 @@ :selected-misc="selectedMisc" :selected-schema="selectedSchema" :context-event="miscContextEvent" + @open-create-view-tab="openCreateElementTab('view')" @open-create-trigger-tab="openCreateElementTab('trigger')" + @open-create-trigger-function-tab="openCreateElementTab('trigger-function')" @open-create-routine-tab="openCreateElementTab('routine')" @open-create-function-tab="openCreateElementTab('function')" - @open-create-trigger-function-tab="openCreateElementTab('trigger-function')" @open-create-scheduler-tab="openCreateElementTab('scheduler')" @close-context="closeMiscFolderContext" @reload="refresh" diff --git a/src/renderer/components/WorkspaceExploreBarMiscFolderContext.vue b/src/renderer/components/WorkspaceExploreBarMiscFolderContext.vue index 42d88259..5d3b9803 100644 --- a/src/renderer/components/WorkspaceExploreBarMiscFolderContext.vue +++ b/src/renderer/components/WorkspaceExploreBarMiscFolderContext.vue @@ -3,6 +3,18 @@ :context-event="props.contextEvent" @close-context="closeContext" > +
+ + {{ t('database.createNewView') }} +
+
+
+ + + + {{ t('database.view', 2) }} + +
+
+ +
+
+
+
+
{ const filteredTables = computed(() => { if (props.searchMethod === 'elements') - return props.database.tables.filter(table => table.name.search(searchTerm.value) >= 0); + return props.database.tables.filter(table => table.name.search(searchTerm.value) >= 0 && table.type === 'table'); + else + return props.database.tables; +}); + +const filteredViews = computed(() => { + if (props.searchMethod === 'elements') + return props.database.tables.filter(table => table.name.search(searchTerm.value) >= 0 && table.type === 'view'); else return props.database.tables; });