From 4de7bd8016b75f474958e7e54bd016a2cb534147 Mon Sep 17 00:00:00 2001 From: hay-kot Date: Sat, 20 Feb 2021 11:48:15 -0900 Subject: [PATCH] Improved import summary dialog --- frontend/src/api/backup.js | 6 +- .../Settings/Backup/AvailableBackupCard.vue | 5 +- .../Backup/ImportSummaryDialog/DataTable.vue | 47 ++++++ .../Backup/ImportSummaryDialog/index.vue | 152 ++++++++++++++++++ .../src/components/Settings/Backup/index.vue | 10 +- mealie/models/import_models.py | 20 +++ mealie/services/backups/imports.py | 63 ++++++-- 7 files changed, 281 insertions(+), 22 deletions(-) create mode 100644 frontend/src/components/Settings/Backup/ImportSummaryDialog/DataTable.vue create mode 100644 frontend/src/components/Settings/Backup/ImportSummaryDialog/index.vue create mode 100644 mealie/models/import_models.py diff --git a/frontend/src/api/backup.js b/frontend/src/api/backup.js index 70bf529c8..dd9d80b57 100644 --- a/frontend/src/api/backup.js +++ b/frontend/src/api/backup.js @@ -8,9 +8,9 @@ const backupURLs = { // Backup available: `${backupBase}available`, createBackup: `${backupBase}export/database`, - importBackup: (fileName) => `${backupBase}${fileName}/import`, - deleteBackup: (fileName) => `${backupBase}${fileName}/delete`, - downloadBackup: (fileName) => `${backupBase}${fileName}/download`, + importBackup: fileName => `${backupBase}${fileName}/import`, + deleteBackup: fileName => `${backupBase}${fileName}/delete`, + downloadBackup: fileName => `${backupBase}${fileName}/download`, }; export default { diff --git a/frontend/src/components/Settings/Backup/AvailableBackupCard.vue b/frontend/src/components/Settings/Backup/AvailableBackupCard.vue index 55cbd9ac1..2f30e5823 100644 --- a/frontend/src/components/Settings/Backup/AvailableBackupCard.vue +++ b/frontend/src/components/Settings/Backup/AvailableBackupCard.vue @@ -69,10 +69,9 @@ export default { this.$emit("loading"); let response = await api.backups.import(data.name, data); - let failed = response.data.failed; - let succesful = response.data.successful; + let importData = response.data; - this.$emit("finished", succesful, failed); + this.$emit("finished", importData); }, deleteBackup(data) { this.$emit("loading"); diff --git a/frontend/src/components/Settings/Backup/ImportSummaryDialog/DataTable.vue b/frontend/src/components/Settings/Backup/ImportSummaryDialog/DataTable.vue new file mode 100644 index 000000000..604615572 --- /dev/null +++ b/frontend/src/components/Settings/Backup/ImportSummaryDialog/DataTable.vue @@ -0,0 +1,47 @@ + + + + + \ No newline at end of file diff --git a/frontend/src/components/Settings/Backup/ImportSummaryDialog/index.vue b/frontend/src/components/Settings/Backup/ImportSummaryDialog/index.vue new file mode 100644 index 000000000..718a2dfd2 --- /dev/null +++ b/frontend/src/components/Settings/Backup/ImportSummaryDialog/index.vue @@ -0,0 +1,152 @@ + + + + + \ No newline at end of file diff --git a/frontend/src/components/Settings/Backup/index.vue b/frontend/src/components/Settings/Backup/index.vue index d28f64615..56d2998f6 100644 --- a/frontend/src/components/Settings/Backup/index.vue +++ b/frontend/src/components/Settings/Backup/index.vue @@ -41,6 +41,7 @@ :failed-header="$t('settings.backup.failed-imports')" :failed="failedImports" /> + @@ -48,6 +49,7 @@