From 8b93c497784ea431f9747c5afb53f6ef075ea9d6 Mon Sep 17 00:00:00 2001 From: Fabio Di Stasio Date: Wed, 18 Aug 2021 17:28:41 +0200 Subject: [PATCH] feat: new create view tabs --- src/renderer/components/ModalNewTable.vue | 130 -------- src/renderer/components/ModalNewView.vue | 192 ------------ src/renderer/components/Workspace.vue | 28 +- .../components/WorkspaceExploreBar.vue | 77 +---- .../WorkspaceExploreBarSchemaContext.vue | 6 +- .../components/WorkspaceTabNewTable.vue | 14 +- .../components/WorkspaceTabNewView.vue | 286 ++++++++++++++++++ .../components/WorkspaceTabPropsTable.vue | 6 +- .../WorkspaceTabPropsTableFIelds.vue | 2 +- .../WorkspaceTabPropsTableFields.vue | 2 +- src/renderer/i18n/en-US.js | 3 +- 11 files changed, 330 insertions(+), 416 deletions(-) delete mode 100644 src/renderer/components/ModalNewTable.vue delete mode 100644 src/renderer/components/ModalNewView.vue create mode 100644 src/renderer/components/WorkspaceTabNewView.vue diff --git a/src/renderer/components/ModalNewTable.vue b/src/renderer/components/ModalNewTable.vue deleted file mode 100644 index 09fc2975..00000000 --- a/src/renderer/components/ModalNewTable.vue +++ /dev/null @@ -1,130 +0,0 @@ - - - diff --git a/src/renderer/components/ModalNewView.vue b/src/renderer/components/ModalNewView.vue deleted file mode 100644 index cef429e3..00000000 --- a/src/renderer/components/ModalNewView.vue +++ /dev/null @@ -1,192 +0,0 @@ - - - diff --git a/src/renderer/components/Workspace.vue b/src/renderer/components/Workspace.vue index 8953ca62..1567884c 100644 --- a/src/renderer/components/Workspace.vue +++ b/src/renderer/components/Workspace.vue @@ -102,6 +102,23 @@ + + + + {{ $t('message.newView') }} + + + + + - import { mapGetters, mapActions } from 'vuex'; -import Tables from '@/ipc-api/Tables'; -import Views from '@/ipc-api/Views'; import Triggers from '@/ipc-api/Triggers'; import Routines from '@/ipc-api/Routines'; import Functions from '@/ipc-api/Functions'; @@ -159,7 +151,6 @@ import TableContext from '@/components/WorkspaceExploreBarTableContext'; import MiscContext from '@/components/WorkspaceExploreBarMiscContext'; import MiscFolderContext from '@/components/WorkspaceExploreBarMiscFolderContext'; import ModalNewSchema from '@/components/ModalNewSchema'; -import ModalNewView from '@/components/ModalNewView'; import ModalNewTrigger from '@/components/ModalNewTrigger'; import ModalNewRoutine from '@/components/ModalNewRoutine'; import ModalNewFunction from '@/components/ModalNewFunction'; @@ -175,7 +166,6 @@ export default { MiscContext, MiscFolderContext, ModalNewSchema, - ModalNewView, ModalNewTrigger, ModalNewRoutine, ModalNewFunction, @@ -298,42 +288,17 @@ export default { hideNewDBModal () { this.isNewDBModal = false; }, - openCreateTableTab () { + openCreateElementTab (element) { this.closeDatabaseContext(); this.newTab({ uid: this.workspace.uid, schema: this.selectedSchema, elementName: '', - elementType: 'table', - type: 'new-table' + elementType: element, + type: `new-${element}` }); }, - hideCreateTableModal () { - this.isNewTableModal = false; - }, - async openCreateTableEditor (payload) { - const params = { - uid: this.connection.uid, - schema: this.selectedSchema, - ...payload - }; - - const { status, response } = await Tables.createTable(params); - - if (status === 'success') { - await this.refresh(); - this.newTab({ - uid: this.workspace.uid, - schema: this.selectedSchema, - elementName: payload.name, - elementType: 'table', - type: 'table-props' - }); - } - else - this.addNotification({ status: 'error', message: response }); - }, openSchemaContext (payload) { this.selectedSchema = payload.schema; this.databaseContextEvent = payload.event; @@ -369,38 +334,6 @@ export default { closeMiscFolderContext () { this.isMiscFolderContext = false; }, - showCreateViewModal () { - this.closeDatabaseContext(); - this.closeMiscFolderContext(); - this.isNewViewModal = true; - }, - hideCreateViewModal () { - this.isNewViewModal = false; - }, - async openCreateViewEditor (payload) { - const params = { - uid: this.connection.uid, - schema: this.selectedSchema, - ...payload - }; - - const { status, response } = await Views.createView(params); - - if (status === 'success') { - await this.refresh(); - this.changeBreadcrumbs({ schema: this.selectedSchema, view: payload.name }); - - this.newTab({ - uid: this.workspace.uid, - schema: this.selectedSchema, - elementName: payload.name, - elementType: 'view', - type: 'view-props' - }); - } - else - this.addNotification({ status: 'error', message: response }); - }, showCreateTriggerModal () { this.closeDatabaseContext(); this.closeMiscFolderContext(); diff --git a/src/renderer/components/WorkspaceExploreBarSchemaContext.vue b/src/renderer/components/WorkspaceExploreBarSchemaContext.vue index 016723e4..c8de4b2b 100644 --- a/src/renderer/components/WorkspaceExploreBarSchemaContext.vue +++ b/src/renderer/components/WorkspaceExploreBarSchemaContext.vue @@ -17,7 +17,7 @@
{{ $t('word.view') }}
@@ -135,8 +135,8 @@ export default { openCreateTableTab () { this.$emit('open-create-table-tab'); }, - showCreateViewModal () { - this.$emit('show-create-view-modal'); + openCreateViewTab () { + this.$emit('open-create-view-tab'); }, showCreateTriggerModal () { this.$emit('show-create-trigger-modal'); diff --git a/src/renderer/components/WorkspaceTabNewTable.vue b/src/renderer/components/WorkspaceTabNewTable.vue index 63efc90f..da78502e 100644 --- a/src/renderer/components/WorkspaceTabNewTable.vue +++ b/src/renderer/components/WorkspaceTabNewTable.vue @@ -129,7 +129,7 @@ :tab-uid="tabUid" :conn-uid="connection.uid" :index-types="workspace.indexTypes" - :table="table" + table="new" :schema="schema" mode="table" @duplicate-field="duplicateField" @@ -142,7 +142,7 @@ +
+
+ +
+
+
+
+
+ + +
+
+
+
+ + + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+ + + +
+
+ + + diff --git a/src/renderer/components/WorkspaceTabPropsTable.vue b/src/renderer/components/WorkspaceTabPropsTable.vue index 6eb90956..10db2a23 100644 --- a/src/renderer/components/WorkspaceTabPropsTable.vue +++ b/src/renderer/components/WorkspaceTabPropsTable.vue @@ -132,7 +132,7 @@
-