From 4cd9675c3246f5766467bcde8ebbac5ae863fd2a Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Thu, 21 Jul 2022 20:17:12 +0800 Subject: [PATCH 01/85] feat(gui-v2): table tabs + add / import tab --- .../components/dashboard/TabView.vue | 104 ++++++++++++++++-- 1 file changed, 96 insertions(+), 8 deletions(-) diff --git a/packages/nc-gui-v2/components/dashboard/TabView.vue b/packages/nc-gui-v2/components/dashboard/TabView.vue index 02bc289ac9..d36a944fda 100644 --- a/packages/nc-gui-v2/components/dashboard/TabView.vue +++ b/packages/nc-gui-v2/components/dashboard/TabView.vue @@ -2,21 +2,100 @@ import useTabs from '~/composables/useTabs' import MdiCloseIcon from '~icons/mdi/close' import MdiPlusIcon from '~icons/mdi/plus' +import MdiTableIcon from '~icons/mdi/table' +import MdiCsvIcon from '~icons/mdi/file-document-outline' +import MdiExcelIcon from '~icons/mdi/file-excel' +import MdiJSONIcon from '~icons/mdi/code-json' +import MdiAirTableIcon from '~icons/mdi/table-large' +import MdiRequestDataSourceIcon from '~icons/mdi/open-in-new' const { tabs, activeTab, closeTab } = useTabs() +// TODO: use useUIPermission when it's ready +// const { isUIAllowed } = useUIPermission() +const isUIAllowed = (x: string) => true const tableCreateDialog = ref(false) +const currentMenu = ref(['addORImport']) + +const onEdit = (targetKey: number, action: string) => { + if (action !== 'add') { + closeTab(targetKey) + } +} - + From 2fe3215c6eb510b066d8c535ddf93a03a2a0332f Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Thu, 21 Jul 2022 21:46:10 +0800 Subject: [PATCH 02/85] feat(gui-v2): add directives --- .../nc-gui-v2/components/dashboard/TabView.vue | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/nc-gui-v2/components/dashboard/TabView.vue b/packages/nc-gui-v2/components/dashboard/TabView.vue index d36a944fda..81de6a7e6f 100644 --- a/packages/nc-gui-v2/components/dashboard/TabView.vue +++ b/packages/nc-gui-v2/components/dashboard/TabView.vue @@ -45,7 +45,7 @@ const onEdit = (targetKey: number, action: string) => { - + @@ -54,28 +54,28 @@ const onEdit = (targetKey: number, action: string) => { - + Airtable - + CSV file - + JSON file - + @@ -84,12 +84,12 @@ const onEdit = (targetKey: number, action: string) => { - - + + Request Data Source - + From 8e14ba11f7540c4b8cc84681e876e7317a926a18 Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Thu, 21 Jul 2022 21:52:19 +0800 Subject: [PATCH 03/85] feat(gui-v2): linked with dialogs --- .../components/dashboard/TabView.vue | 37 ++++++++++++++++--- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/packages/nc-gui-v2/components/dashboard/TabView.vue b/packages/nc-gui-v2/components/dashboard/TabView.vue index 81de6a7e6f..425e3f8451 100644 --- a/packages/nc-gui-v2/components/dashboard/TabView.vue +++ b/packages/nc-gui-v2/components/dashboard/TabView.vue @@ -14,6 +14,9 @@ const { tabs, activeTab, closeTab } = useTabs() // const { isUIAllowed } = useUIPermission() const isUIAllowed = (x: string) => true const tableCreateDialog = ref(false) +const excelCsvDialog = ref(false) +const jsonImportDialog = ref(false) +const airtableImportDialog = ref(false) const currentMenu = ref(['addORImport']) const onEdit = (targetKey: number, action: string) => { @@ -54,28 +57,48 @@ const onEdit = (targetKey: number, action: string) => { - + Airtable - + CSV file - + JSON file - + @@ -94,9 +117,13 @@ const onEdit = (targetKey: number, action: string) => { - + + + + + From 80dafd6b878e785aeb7f7830c6b8c5bc34f10982 Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Thu, 21 Jul 2022 23:28:10 +0800 Subject: [PATCH 04/85] init(gui-v2): airtable import dialog --- .../components/dlg/AirtableImport.vue | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 packages/nc-gui-v2/components/dlg/AirtableImport.vue diff --git a/packages/nc-gui-v2/components/dlg/AirtableImport.vue b/packages/nc-gui-v2/components/dlg/AirtableImport.vue new file mode 100644 index 0000000000..6510cbb162 --- /dev/null +++ b/packages/nc-gui-v2/components/dlg/AirtableImport.vue @@ -0,0 +1,32 @@ + + + + + From 9e62775e06c03e1422d047d608ea8c4c508497a7 Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Thu, 21 Jul 2022 23:28:39 +0800 Subject: [PATCH 05/85] refactor(gui-v2): DlgFileImport --- .../components/dashboard/TabView.vue | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/packages/nc-gui-v2/components/dashboard/TabView.vue b/packages/nc-gui-v2/components/dashboard/TabView.vue index 425e3f8451..54695fa0de 100644 --- a/packages/nc-gui-v2/components/dashboard/TabView.vue +++ b/packages/nc-gui-v2/components/dashboard/TabView.vue @@ -14,9 +14,9 @@ const { tabs, activeTab, closeTab } = useTabs() // const { isUIAllowed } = useUIPermission() const isUIAllowed = (x: string) => true const tableCreateDialog = ref(false) -const excelCsvDialog = ref(false) -const jsonImportDialog = ref(false) const airtableImportDialog = ref(false) +const fileImportDialog = ref(false) +const importType = ref('') const currentMenu = ref(['addORImport']) const onEdit = (targetKey: number, action: string) => { @@ -73,7 +73,10 @@ const onEdit = (targetKey: number, action: string) => { v-if="isUIAllowed('csvImport')" key="quick-import-csv" v-t="['a:actions:import-csv']" - @click="excelCsvDialog = true" + @click=" + fileImportDialog = true + importType = 'csv' + " > @@ -85,7 +88,10 @@ const onEdit = (targetKey: number, action: string) => { v-if="isUIAllowed('jsonImport')" key="quick-import-json" v-t="['a:actions:import-json']" - @click="jsonImportDialog = true" + @click=" + fileImportDialog = true + importType = 'json' + " > @@ -97,7 +103,10 @@ const onEdit = (targetKey: number, action: string) => { v-if="isUIAllowed('excelImport')" key="quick-import-excel" v-t="['a:actions:import-excel']" - @click="excelCsvDialog = true" + @click=" + fileImportDialog = true + importType = 'excel' + " > @@ -120,8 +129,7 @@ const onEdit = (targetKey: number, action: string) => { - - + @@ -142,4 +150,4 @@ const onEdit = (targetKey: number, action: string) => { padding: 0px 46px 0px 16px; margin: 0px; } - + \ No newline at end of file From f4a280aee99749f3240ffe03ba7403d05ed07c27 Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Thu, 21 Jul 2022 23:31:37 +0800 Subject: [PATCH 06/85] wip(gui-v2): file import dialog --- .../nc-gui-v2/components/dlg/FileImport.vue | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 packages/nc-gui-v2/components/dlg/FileImport.vue diff --git a/packages/nc-gui-v2/components/dlg/FileImport.vue b/packages/nc-gui-v2/components/dlg/FileImport.vue new file mode 100644 index 0000000000..cd96f989e0 --- /dev/null +++ b/packages/nc-gui-v2/components/dlg/FileImport.vue @@ -0,0 +1,76 @@ + + + + + \ No newline at end of file From 61cef93940635f6d4023c7602e9d4ab422a504a2 Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Fri, 22 Jul 2022 00:42:10 +0800 Subject: [PATCH 07/85] fix(gui-v2): incorrect position --- .../components/dashboard/TabView.vue | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/packages/nc-gui-v2/components/dashboard/TabView.vue b/packages/nc-gui-v2/components/dashboard/TabView.vue index 54695fa0de..e42570c47b 100644 --- a/packages/nc-gui-v2/components/dashboard/TabView.vue +++ b/packages/nc-gui-v2/components/dashboard/TabView.vue @@ -73,10 +73,8 @@ const onEdit = (targetKey: number, action: string) => { v-if="isUIAllowed('csvImport')" key="quick-import-csv" v-t="['a:actions:import-csv']" - @click=" - fileImportDialog = true - importType = 'csv' - " + @click="fileImportDialog = true" + importType="csv" > @@ -88,10 +86,8 @@ const onEdit = (targetKey: number, action: string) => { v-if="isUIAllowed('jsonImport')" key="quick-import-json" v-t="['a:actions:import-json']" - @click=" - fileImportDialog = true - importType = 'json' - " + @click="fileImportDialog = true" + importType="json" > @@ -103,10 +99,8 @@ const onEdit = (targetKey: number, action: string) => { v-if="isUIAllowed('excelImport')" key="quick-import-excel" v-t="['a:actions:import-excel']" - @click=" - fileImportDialog = true - importType = 'excel' - " + @click="fileImportDialog = true" + importType="excel" > @@ -150,4 +144,4 @@ const onEdit = (targetKey: number, action: string) => { padding: 0px 46px 0px 16px; margin: 0px; } - \ No newline at end of file + From 2140ddf8769d49c1bda4445e3e10a3a805bf52db Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Fri, 22 Jul 2022 01:32:13 +0800 Subject: [PATCH 08/85] wip(gui-v2): file upload --- .../nc-gui-v2/components/dlg/FileImport.vue | 65 ++++++++++++------- 1 file changed, 40 insertions(+), 25 deletions(-) diff --git a/packages/nc-gui-v2/components/dlg/FileImport.vue b/packages/nc-gui-v2/components/dlg/FileImport.vue index cd96f989e0..578e370ad1 100644 --- a/packages/nc-gui-v2/components/dlg/FileImport.vue +++ b/packages/nc-gui-v2/components/dlg/FileImport.vue @@ -1,6 +1,7 @@ - \ No newline at end of file + From d3a44868dffb60a0fee5650217e1cfaebca18c76 Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Fri, 22 Jul 2022 11:33:21 +0800 Subject: [PATCH 09/85] refactor(gui-v2): styling with css class --- .../components/dashboard/TabView.vue | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/packages/nc-gui-v2/components/dashboard/TabView.vue b/packages/nc-gui-v2/components/dashboard/TabView.vue index e42570c47b..4c007ab0ce 100644 --- a/packages/nc-gui-v2/components/dashboard/TabView.vue +++ b/packages/nc-gui-v2/components/dashboard/TabView.vue @@ -8,6 +8,7 @@ import MdiExcelIcon from '~icons/mdi/file-excel' import MdiJSONIcon from '~icons/mdi/code-json' import MdiAirTableIcon from '~icons/mdi/table-large' import MdiRequestDataSourceIcon from '~icons/mdi/open-in-new' +import MdiAccountGroupIcon from '~icons/mdi/account-group' const { tabs, activeTab, closeTab } = useTabs() // TODO: use useUIPermission when it's ready @@ -31,8 +32,9 @@ const onEdit = (targetKey: number, action: string) => { @@ -42,15 +44,15 @@ const onEdit = (targetKey: number, action: string) => { - + - - + + {{ $t('tooltip.addTable') }} @@ -63,8 +65,8 @@ const onEdit = (targetKey: number, action: string) => { v-t="['a:actions:import-airtable']" @click="airtableImportDialog = true" > - - + + Airtable @@ -76,8 +78,8 @@ const onEdit = (targetKey: number, action: string) => { @click="fileImportDialog = true" importType="csv" > - - + + CSV file @@ -89,8 +91,8 @@ const onEdit = (targetKey: number, action: string) => { @click="fileImportDialog = true" importType="json" > - - + + JSON file @@ -102,20 +104,22 @@ const onEdit = (targetKey: number, action: string) => { @click="fileImportDialog = true" importType="excel" > - - + + Microsoft Excel - + - - - - Request Data Source - + + + + + Request Data Source + + @@ -136,10 +140,6 @@ const onEdit = (targetKey: number, action: string) => { + From a0e22745837d617fad41848facc186ea93fee02e Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Fri, 22 Jul 2022 12:41:32 +0800 Subject: [PATCH 11/85] fix(gui-v2): setting import type in onclick --- packages/nc-gui-v2/components/dashboard/TabView.vue | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/nc-gui-v2/components/dashboard/TabView.vue b/packages/nc-gui-v2/components/dashboard/TabView.vue index 4c007ab0ce..69e073d881 100644 --- a/packages/nc-gui-v2/components/dashboard/TabView.vue +++ b/packages/nc-gui-v2/components/dashboard/TabView.vue @@ -75,8 +75,7 @@ const onEdit = (targetKey: number, action: string) => { v-if="isUIAllowed('csvImport')" key="quick-import-csv" v-t="['a:actions:import-csv']" - @click="fileImportDialog = true" - importType="csv" + @click="fileImportDialog = true; importType = 'csv';" > @@ -88,8 +87,7 @@ const onEdit = (targetKey: number, action: string) => { v-if="isUIAllowed('jsonImport')" key="quick-import-json" v-t="['a:actions:import-json']" - @click="fileImportDialog = true" - importType="json" + @click="fileImportDialog = true; importType = 'json';" > @@ -101,8 +99,8 @@ const onEdit = (targetKey: number, action: string) => { v-if="isUIAllowed('excelImport')" key="quick-import-excel" v-t="['a:actions:import-excel']" - @click="fileImportDialog = true" - importType="excel" + @click="fileImportDialog = true; importType = 'excel'" + > From 52c5e0661723143cb9989e034b6d7e2f4749f3d6 Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Fri, 22 Jul 2022 12:50:12 +0800 Subject: [PATCH 12/85] wip(gui-v2): Quick Import - load url --- .../nc-gui-v2/components/dlg/FileImport.vue | 59 +++++++++++++++++-- 1 file changed, 54 insertions(+), 5 deletions(-) diff --git a/packages/nc-gui-v2/components/dlg/FileImport.vue b/packages/nc-gui-v2/components/dlg/FileImport.vue index 55191b05b0..e11c2051c2 100644 --- a/packages/nc-gui-v2/components/dlg/FileImport.vue +++ b/packages/nc-gui-v2/components/dlg/FileImport.vue @@ -1,11 +1,13 @@