diff --git a/src/css/3p-filters.css b/src/css/3p-filters.css index 483c62274..2024d18d5 100644 --- a/src/css/3p-filters.css +++ b/src/css/3p-filters.css @@ -15,7 +15,8 @@ body { #buttonUpdate.active { pointer-events: none; } -#buttonUpdate.active .fa-icon svg { +#buttonUpdate.active .fa-icon svg, +body.working #buttonUpdate:not(.disabled) .fa-icon svg { animation: spin 1s linear infinite; transform-origin: 50%; } diff --git a/src/js/3p-filters.js b/src/js/3p-filters.js index c59365fd7..8441df9da 100644 --- a/src/js/3p-filters.js +++ b/src/js/3p-filters.js @@ -286,14 +286,14 @@ const renderFilterLists = ( ) => { /******************************************************************************/ const renderWidgets = ( ) => { + const updating = dom.cl.has(dom.body, 'updating'); + const hasObsolete = qs$('#lists .listEntry.checked.obsolete:not(.toRemove)') !== null; dom.cl.toggle('#buttonApply', 'disabled', filteringSettingsHash === hashFromCurrentFromSettings() ); - const updating = dom.cl.has(dom.body, 'updating'); dom.cl.toggle('#buttonUpdate', 'active', updating); dom.cl.toggle('#buttonUpdate', 'disabled', - updating === false && - qs$('#lists .listEntry.checked.obsolete:not(.toRemove)') === null + updating === false && hasObsolete === false ); };