From c71ecbc12dc51d4bc038607ac95da4f0332932b9 Mon Sep 17 00:00:00 2001 From: RainLoop Team Date: Mon, 20 Jun 2016 20:22:51 +0300 Subject: [PATCH] Fix Javascript error on create/delete folder (#1079) --- dev/App/User.jsx | 9 +++++---- dev/Common/Utils.jsx | 17 +++++++---------- dev/Settings/User/Folders.js | 6 ++++-- dev/View/Popup/FolderCreate.js | 3 ++- 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/dev/App/User.jsx b/dev/App/User.jsx index 2fcee73d8..ab80bfffd 100644 --- a/dev/App/User.jsx +++ b/dev/App/User.jsx @@ -436,11 +436,12 @@ class AppUser extends AbstractApp .abort('Folders') .fastResolve(true) .then(() => promise) - .catch((errorCode) => { - FolderStore.folderList.error(getNotification(errorCode, '', errorDefCode)); - }).fin(() => { + .then(() => { Promises.foldersReloadWithTimeout(FolderStore.foldersLoading); - }).done() + }, (errorCode) => { + FolderStore.folderList.error(getNotification(errorCode, '', errorDefCode)); + Promises.foldersReloadWithTimeout(FolderStore.foldersLoading); + }) ; } diff --git a/dev/Common/Utils.jsx b/dev/Common/Utils.jsx index 4b05af1a0..047e2cbea 100644 --- a/dev/Common/Utils.jsx +++ b/dev/Common/Utils.jsx @@ -1564,7 +1564,11 @@ export function changeTheme(value, themeTrigger) let themeLink = $('#app-theme-link'), themeStyle = $('#app-theme-style'), - url = themeLink.attr('href') + url = themeLink.attr('href'), + clearTimer = () => { + __themeTimer = window.setTimeout(() => themeTrigger(SaveSettingsStep.Idle), 1000); + __themeAjax = null; + } ; if (!url) @@ -1594,7 +1598,7 @@ export function changeTheme(value, themeTrigger) __themeAjax = $.ajax({ url: url, dataType: 'json' - }).done((data) => { + }).then((data) => { if (data && isArray(data) && 2 === data.length) { @@ -1616,14 +1620,7 @@ export function changeTheme(value, themeTrigger) themeTrigger(SaveSettingsStep.TrueResult); } - }).always(() => { - - __themeTimer = window.setTimeout(() => { - themeTrigger(SaveSettingsStep.Idle); - }, 1000); - - __themeAjax = null; - }); + }).then(clearTimer, clearTimer); } } diff --git a/dev/Settings/User/Folders.js b/dev/Settings/User/Folders.js index 4f84080ac..4d67f52a9 100644 --- a/dev/Settings/User/Folders.js +++ b/dev/Settings/User/Folders.js @@ -75,7 +75,8 @@ require('App/User').default.foldersPromisesActionHelper( Promises.folderRename(oFolder.fullNameRaw, sEditName, FolderStore.foldersRenaming), - Enums.Notification.CantRenameFolder); + Enums.Notification.CantRenameFolder + ); Cache.removeFolderFromCacheList(oFolder.fullNameRaw); @@ -155,7 +156,8 @@ require('App/User').default.foldersPromisesActionHelper( Promises.folderDelete(oFolderToRemove.fullNameRaw, FolderStore.foldersDeleting), - Enums.Notification.CantDeleteFolder); + Enums.Notification.CantDeleteFolder + ); Cache.removeFolderFromCacheList(oFolderToRemove.fullNameRaw); } diff --git a/dev/View/Popup/FolderCreate.js b/dev/View/Popup/FolderCreate.js index ba26bcc67..19c436f20 100644 --- a/dev/View/Popup/FolderCreate.js +++ b/dev/View/Popup/FolderCreate.js @@ -73,7 +73,8 @@ require('App/User').default.foldersPromisesActionHelper( Promises.folderCreate(this.folderName(), sParentFolderName, FolderStore.foldersCreating), - Enums.Notification.CantCreateFolder); + Enums.Notification.CantCreateFolder + ); this.cancelCommand();