diff --git a/packages/nc-gui/components/base/shareBase.vue b/packages/nc-gui/components/base/shareBase.vue index e4747b8e76..83cb3444de 100644 --- a/packages/nc-gui/components/base/shareBase.vue +++ b/packages/nc-gui/components/base/shareBase.vue @@ -53,6 +53,9 @@ mdi-open-in-new + + mdi-xml + @@ -120,6 +123,16 @@ export default { }, navigateToSharedBase() { window.open(this.url, '_blank') + }, + generateEmbeddableIframe() { + copyTextToClipboard(``) + this.$toast.success('Copied embeddable html code!').goAway(3000) } } diff --git a/packages/nc-gui/components/import/CSVTemplateAdapter.js b/packages/nc-gui/components/import/CSVTemplateAdapter.js new file mode 100644 index 0000000000..a721f6261d --- /dev/null +++ b/packages/nc-gui/components/import/CSVTemplateAdapter.js @@ -0,0 +1,28 @@ +import Papaparse from 'papaparse' +import TemplateGenerator from '~/components/import/TemplateGenerator' + +export default class CSVTemplateAdapter extends TemplateGenerator { + constructor(name, data) { + super() + this.name = name + this.csv = Papaparse.parse(data, { header: true }) + this.project = { + title: this.name, + tables: [] + } + this.data = {} + } + + parseData() { + this.columns = this.csv.meta.fields + this.data = this.csv.data + } + + getColumns() { + return this.columns + } + + getData() { + return this.data + } +} diff --git a/packages/nc-gui/components/import/TemplateGenerator.js b/packages/nc-gui/components/import/TemplateGenerator.js index 8561541020..1b844134b5 100644 --- a/packages/nc-gui/components/import/TemplateGenerator.js +++ b/packages/nc-gui/components/import/TemplateGenerator.js @@ -3,6 +3,18 @@ export default class TemplateGenerator { throw new Error('\'parse\' method is not implemented') } + parseData() { + throw new Error('\'parseData\' method is not implemented') + } + + parseTemplate() { + throw new Error('\'parseTemplate\' method is not implemented') + } + + getColumns() { + throw new Error('\'getColumns\' method is not implemented') + } + getTemplate() { throw new Error('\'getTemplate\' method is not implemented') } diff --git a/packages/nc-gui/components/import/dropOrSelectFileModal.vue b/packages/nc-gui/components/import/dropOrSelectFileModal.vue new file mode 100644 index 0000000000..a54c73086e --- /dev/null +++ b/packages/nc-gui/components/import/dropOrSelectFileModal.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/packages/nc-gui/components/import/excelImport.vue b/packages/nc-gui/components/import/excelImport.vue index f83d5d3a03..2229564fbb 100644 --- a/packages/nc-gui/components/import/excelImport.vue +++ b/packages/nc-gui/components/import/excelImport.vue @@ -1,10 +1,10 @@