diff --git a/packages/nc-gui-v2/app.vue b/packages/nc-gui-v2/app.vue
index ed0cfb2802..812e5cc107 100644
--- a/packages/nc-gui-v2/app.vue
+++ b/packages/nc-gui-v2/app.vue
@@ -75,7 +75,9 @@ const sidebarOpen = computed({
-
+
diff --git a/packages/nc-gui-v2/components.d.ts b/packages/nc-gui-v2/components.d.ts
index a2373af8bd..692c3f667c 100644
--- a/packages/nc-gui-v2/components.d.ts
+++ b/packages/nc-gui-v2/components.d.ts
@@ -7,6 +7,7 @@ export {}
declare module '@vue/runtime-core' {
export interface GlobalComponents {
+ AAnchorLink: typeof import('ant-design-vue/es')['AnchorLink']
AAutoComplete: typeof import('ant-design-vue/es')['AutoComplete']
AButton: typeof import('ant-design-vue/es')['Button']
ACard: typeof import('ant-design-vue/es')['Card']
@@ -26,6 +27,8 @@ declare module '@vue/runtime-core' {
ALayoutContent: typeof import('ant-design-vue/es')['LayoutContent']
ALayoutHeader: typeof import('ant-design-vue/es')['LayoutHeader']
ALayoutSider: typeof import('ant-design-vue/es')['LayoutSider']
+ AList: typeof import('ant-design-vue/es')['List']
+ AListItem: typeof import('ant-design-vue/es')['ListItem']
AMenu: typeof import('ant-design-vue/es')['Menu']
AMenuDivider: typeof import('ant-design-vue/es')['MenuDivider']
AMenuItem: typeof import('ant-design-vue/es')['MenuItem']
diff --git a/packages/nc-gui-v2/components/dashboard/TabView.vue b/packages/nc-gui-v2/components/dashboard/TabView.vue
index 9269157668..ebcb842020 100644
--- a/packages/nc-gui-v2/components/dashboard/TabView.vue
+++ b/packages/nc-gui-v2/components/dashboard/TabView.vue
@@ -1,22 +1,137 @@
-
-
- {{ tab.title }}
-
-
-
-
-
+
+
+
+
+
+
+ {{ tab.title }}
+
+
+
+
+
+
+
+
+
+ Add / Import
+
+
+
+
+
+
+
+ {{ $t('tooltip.addTable') }}
+
+
+
+
+
+
+
+
+ Airtable
+
+
+
+
+
+
+ CSV file
+
+
+
+
+
+
+ JSON file
+
+
+
+
+
+
+ Microsoft Excel
+
+
+
+
+
+
+
+
+
+ Request a data source you need?
+
+
+
+
+
+
+
+
+
+
+
@@ -27,4 +142,8 @@ const tableCreateDialog = ref(false)
-
+
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..972aa300bb
--- /dev/null
+++ b/packages/nc-gui-v2/components/dlg/AirtableImport.vue
@@ -0,0 +1,311 @@
+
+
+
+
+
+
+
{{ $t('general.cancel') }}
+
Import
+
+
+
+ QUICK IMPORT - AIRTABLE
+
+
+
+
+
+
+
+
+
+
+
+ Advanced Settings
+
+
+
+
Import Secondary Views
+
+
+
Import Rollup Columns
+
+
+
Import Lookup Columns
+
+
+
Import Attachment Columns
+
+
+
+ Coming Soon!
+
+ Import Formula Columns
+
+
+
+
+
+
+
Logs
+
+
+
+
+ {{ msg }}
+
+
+
+ {{ msg }}
+
+
+
+
+ Importing
+
+
+
+
+
+
+
+
diff --git a/packages/nc-gui-v2/components/dlg/QuickImport.vue b/packages/nc-gui-v2/components/dlg/QuickImport.vue
new file mode 100644
index 0000000000..a21d8b1377
--- /dev/null
+++ b/packages/nc-gui-v2/components/dlg/QuickImport.vue
@@ -0,0 +1,338 @@
+
+
+
+
+ {{ importMeta.header }}
+
+ Back
+ {{ $t('general.cancel') }}
+ Format JSON
+ {{ $t('activity.import') }}
+
+ {{
+ $t('activity.import')
+ }}
+
+
+
+
+
+
+
+
+ Upload
+
+
+
+
+
+ Click or drag file to this area to upload
+
+ {{ importMeta.uploadHint }}
+
+
+
+
+
+
+
+
+ Json Editor
+
+
+
+
+
+
+
+
+
+
+ Url
+
+
+
+
+
+
+
+
+
+
Advanced Settings
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/nc-gui-v2/components/dlg/TableCreate.vue b/packages/nc-gui-v2/components/dlg/TableCreate.vue
index 9568dcb765..e4170d5199 100644
--- a/packages/nc-gui-v2/components/dlg/TableCreate.vue
+++ b/packages/nc-gui-v2/components/dlg/TableCreate.vue
@@ -1,5 +1,7 @@
-
-
-
-
-
- {{ $t('activity.createTable') }}
-
-
-
-
-
+ {{ $t('general.cancel') }}
+ {{ $t('general.submit') }}
+
+
+
+
+ {{ $t('activity.createTable') }}
+
+ Table Name
+
+
-
-
-
- {{ isAdvanceOptVisible ? 'Hide' : 'Show' }} more
-
- {{ isAdvanceOptVisible ? 'mdi-minus-circle-outline' : 'mdi-plus-circle-outline' }}
-
-
+
+
+
+ {{ isAdvanceOptVisible ? 'Hide' : 'Show' }} more
+
+ {{ isAdvanceOptVisible ? 'mdi-minus-circle-outline' : 'mdi-plus-circle-outline' }}
+
-
-
-
-
-
-
-
-
- {{ $t('msg.info.addDefaultColumns') }}
-
-
-
-
{
- $toast.info('ID column is required, you can rename this later if required.').goAway(3000)
- if (!table.columns.includes('id')) {
- table.columns.push('id')
- }
- }
- "
- >
-
-
- id
-
-
-
-
-
-
- title
-
-
-
-
- created_at
-
-
-
-
- updated_at
-
-
-
+
+
+
+
{{ $t('msg.info.tableNameInDb') }}
+
+
+
+
+
+
+ {{ $t('msg.info.addDefaultColumns') }}
+
+
+
+
+ ID column is required, you can rename this later if required.
+
+ ID
+
+
+
+ title
+
+
+ created_at
+
+
+ updated_at
+
+
-
-
-
-
-
- {{ $t('general.cancel') }}
-
-
- {{ $t('general.submit') }}
-
-
-
-
-
+
+
+
+