diff --git a/src/public/app/widgets/type_widgets/options/backup.js b/src/public/app/widgets/type_widgets/options/backup.js
index fc3c070a4..35cd4b829 100644
--- a/src/public/app/widgets/type_widgets/options/backup.js
+++ b/src/public/app/widgets/type_widgets/options/backup.js
@@ -42,7 +42,21 @@ const TPL = `
${t('backup.existing_backups')}
-
+
+
+
+
+
+
+
+ ${t("backup.date-and-time")} |
+ ${t("backup.path")} |
+
+
+
+
+
+
`;
@@ -73,7 +87,7 @@ export default class BackupOptions extends OptionsWidget {
this.$monthlyBackupEnabled.on('change', () =>
this.updateCheckboxOption('monthlyBackupEnabled', this.$monthlyBackupEnabled));
- this.$existingBackupList = this.$widget.find(".existing-backup-list");
+ this.$existingBackupList = this.$widget.find(".existing-backup-list-items");
}
optionsLoaded(options) {
@@ -85,11 +99,34 @@ export default class BackupOptions extends OptionsWidget {
this.$existingBackupList.empty();
if (!backupFiles.length) {
- backupFiles = [{filePath: t('backup.no_backup_yet'), mtime: ''}];
+ this.$existingBackupList.append($(`
+
+ ${t('backup.no_backup_yet')} |
+
+ `));
+
+ return;
}
+ // Sort the backup files by modification date & time in a desceding order
+ backupFiles.sort((a, b) => {
+ if (a.mtime < b.mtime) return 1;
+ if (a.mtime > b.mtime) return -1;
+ return 0;
+ });
+
+ const dateTimeFormatter = new Intl.DateTimeFormat(navigator.language, {
+ dateStyle: "medium",
+ timeStyle: "medium"
+ });
+
for (const {filePath, mtime} of backupFiles) {
- this.$existingBackupList.append($("").text(`${filePath} ${mtime ? ` - ${mtime}` : ''}`));
+ this.$existingBackupList.append($(`
+
+ ${(mtime) ? dateTimeFormatter.format(new Date(mtime)) : "-"} |
+ ${filePath} |
+
+ `));
}
});
}
diff --git a/src/public/stylesheets/style.css b/src/public/stylesheets/style.css
index 60cda7349..bdcd6a7d8 100644
--- a/src/public/stylesheets/style.css
+++ b/src/public/stylesheets/style.css
@@ -1238,3 +1238,7 @@ textarea {
padding: 1rem;
}
+.empty-table-placeholder {
+ text-align: center;
+ color: var(--muted-text-color);
+}
\ No newline at end of file
diff --git a/src/public/translations/en/translation.json b/src/public/translations/en/translation.json
index e74cf0ee1..1c5809120 100644
--- a/src/public/translations/en/translation.json
+++ b/src/public/translations/en/translation.json
@@ -1183,6 +1183,8 @@
"backup_now": "Backup now",
"backup_database_now": "Backup database now",
"existing_backups": "Existing backups",
+ "date-and-time": "Date & time",
+ "path": "Path",
"database_backed_up_to": "Database has been backed up to",
"no_backup_yet": "no backup yet"
},
diff --git a/src/public/translations/ro/translation.json b/src/public/translations/ro/translation.json
index 9bd9b0ccf..13d0ea3cf 100644
--- a/src/public/translations/ro/translation.json
+++ b/src/public/translations/ro/translation.json
@@ -254,6 +254,8 @@
"enable_monthly_backup": "Activează copia de siguranță lunară",
"enable_weekly_backup": "Activează copia de siguranță săptămânală",
"existing_backups": "Copii de siguranță existente",
+ "date-and-time": "Data și ora",
+ "path": "Calea fișierului",
"no_backup_yet": "nu există încă nicio copie de siguranță"
},
"basic_properties": {