From 2f87c60f9306b85366757830be95bf25035cef9c Mon Sep 17 00:00:00 2001 From: Hironsan Date: Wed, 23 Oct 2019 09:59:13 +0900 Subject: [PATCH] Add DocumentExportForm --- .../organisms/DocumentExportForm.vue | 93 +++++++++++++++++++ frontend/pages/projects/_id/dataset/index.vue | 33 +++++-- frontend/services/document.service.js | 19 ++++ frontend/store/documents.js | 22 +++++ 4 files changed, 160 insertions(+), 7 deletions(-) create mode 100644 frontend/components/organisms/DocumentExportForm.vue diff --git a/frontend/components/organisms/DocumentExportForm.vue b/frontend/components/organisms/DocumentExportForm.vue new file mode 100644 index 00000000..565b692f --- /dev/null +++ b/frontend/components/organisms/DocumentExportForm.vue @@ -0,0 +1,93 @@ + + + diff --git a/frontend/pages/projects/_id/dataset/index.vue b/frontend/pages/projects/_id/dataset/index.vue index fbc1aab9..2919a368 100644 --- a/frontend/pages/projects/_id/dataset/index.vue +++ b/frontend/pages/projects/_id/dataset/index.vue @@ -12,22 +12,38 @@ - + backup - Upload + Import + + + + archive + + Export + + + { commit('addDocument', response) @@ -131,6 +132,27 @@ export const actions = { .catch((error) => { alert(error) }) + .finally(() => { + commit('setLoading', false) + }) + }, + exportDocument({ commit }, data) { + commit('setLoading', true) + DocumentService.exportFile(data.projectId, data.format) + .then((response) => { + const url = window.URL.createObjectURL(new Blob([response.data])) + const link = document.createElement('a') + link.href = url + link.setAttribute('download', 'file.' + data.format) + document.body.appendChild(link) + link.click() + }) + .catch((error) => { + alert(error) + }) + .finally(() => { + commit('setLoading', false) + }) }, updateDocument({ commit }, data) { DocumentService.updateDocument(data.projectId, data.id, data)