From 1ea532fe26b1763bdb361fefdcae1e9be474ce5d Mon Sep 17 00:00:00 2001 From: Levko Kravets Date: Wed, 30 Jan 2019 18:45:06 +0200 Subject: [PATCH] CR1 --- client/app/components/FavoritesControl.jsx | 27 ++++++++-------------- 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/client/app/components/FavoritesControl.jsx b/client/app/components/FavoritesControl.jsx index 8908a3a75..2596b7f6f 100644 --- a/client/app/components/FavoritesControl.jsx +++ b/client/app/components/FavoritesControl.jsx @@ -8,25 +8,16 @@ function toggleItem(event, item, callback) { event.preventDefault(); event.stopPropagation(); - if (item) { - if (item.is_favorite) { - item.$unfavorite().then(() => { - item.is_favorite = false; - $rootScope.$broadcast('reloadFavorites'); - if (isFunction(callback)) { - callback(); - } - }); - } else { - item.$favorite().then(() => { - item.is_favorite = true; - $rootScope.$broadcast('reloadFavorites'); - if (isFunction(callback)) { - callback(); - } - }); + const action = item.is_favorite ? item.$unfavorite.bind(item) : item.$favorite.bind(item); + const savedIsFavorite = item.is_favorite; + + action().then(() => { + item.is_favorite = !savedIsFavorite; + $rootScope.$broadcast('reloadFavorites'); + if (isFunction(callback)) { + callback(); } - } + }); } export function FavoritesControl({ item, onChange }) {