// perform automatic backup
backupNow(true, formattedDate, function({success, backupName, backupObj}) {
// automatic backup completed
- var popupViews = chrome.extension.getViews({type: "popup"});
- if (popupViews.length > 0) {
- for (var i = 0; i < popupViews.length; i++) {
- var popupView = popupViews[i];
- if (!popupView.insertBackupItem) {
- continue;
- }
-
- popupView.insertBackupItem(backupName, backupObj, true /*insertAtBeginning*/, true /*doAnimation*/);
- popupView.updateStorageInfo();
- }
- }
+ chrome.runtime.sendMessage({
+ action: 'insertBackupItem',
+ args: [backupName, backupObj, true /*insertAtBeginning*/, true /*doAnimation*/],
+ });
});
}
chrome.alarms.onAlarm.addListener(onAlarm);
-function date_prependZero (val) {
- return val < 10 ? "0" + val : "" + val;
-}
-
-// yyyy-m-d h:i:s
-function date_format (d) {
- var monthOneOffset = d.getMonth() + 1; // convert from 0-11 to 1-12
-
- var formattedDate = d.getFullYear() + "-" + date_prependZero(monthOneOffset) + "-" + date_prependZero(d.getDate())
- + " " + date_prependZero(d.getHours()) + ":" + date_prependZero(d.getMinutes()) + ":" + date_prependZero(d.getSeconds());
-
- return formattedDate;
+// yyyy-mm-dd hh:mm:ss
+function date_format(d) {
+ const prependZero = (val) => val.toString().padStart(2, '0');
+ return d.getFullYear() + "-" +
+ prependZero(d.getMonth() + 1) + "-" +
+ prependZero(d.getDate()) + " " +
+ prependZero(d.getHours()) + ":" +
+ prependZero(d.getMinutes()) + ":" +
+ prependZero(d.getSeconds());
}
}
-function deleteOldestBackup () {
- chrome.storage.local.get(function(items) {
- if(!items.backups_list) {
- return;
- }
-
- var backupsList = items.backups_list;
- var numItemsToDelete = backupsList.length - items.prefs_max_backup_items;
- if (numItemsToDelete > 0) {
- var i = 0;
- var loopFunc = function () {
- //
- if (i > 0) {
- var deletedBackupName = backupsList[i-1];
- var popupViews = chrome.extension.getViews({type: "popup"});
- if (popupViews.length > 0) {
- for (var j = 0; j < popupViews.length; j++) {
- var popupView = popupViews[j];
- if (!popupView.removeBackupItemDiv) {
- continue;
- }
-
- popupView.removeBackupItemDiv(deletedBackupName);
- popupView.updateStorageInfo();
- }
- }
- }
- //
-
- if (i >= numItemsToDelete) {
- return;
- }
+async function deleteOldestBackup() {
+ const items = await chrome.storage.local.get();
+ if (!items.backups_list) {
+ return;
+ }
- deleteBackup(backupsList[i]).then(loopFunc);
- i++;
- };
+ const backupsList = items.backups_list;
+ const numItemsToDelete = backupsList.length - items.prefs_max_backup_items;
+ for (let i = 0; i < numItemsToDelete; ++i) {
+ const deletedBackupName = backupsList[i];
+ await deleteBackup(deletedBackupName);
- loopFunc ();
- }
- });
+ chrome.runtime.sendMessage({
+ action: 'removeBackupItemDiv',
+ args: [deletedBackupName],
+ });
+ }
}
//var isCreatingBackup = false;