diff --git a/src/js/1p-filters.js b/src/js/1p-filters.js index 307a70e4f..77ba95581 100644 --- a/src/js/1p-filters.js +++ b/src/js/1p-filters.js @@ -36,22 +36,29 @@ var cachedUserFilters = ''; // This is to give a visual hint that the content of user blacklist has changed. -function userFiltersChanged() { - var changed = uDom.nodeFromId('userFilters').value.trim() !== cachedUserFilters; +function userFiltersChanged(changed) { + if ( typeof changed !== 'boolean' ) { + changed = uDom.nodeFromId('userFilters').value.trim() !== cachedUserFilters; + } uDom.nodeFromId('userFiltersApply').disabled = !changed; uDom.nodeFromId('userFiltersRevert').disabled = !changed; } /******************************************************************************/ -function renderUserFilters() { +function renderUserFilters(first) { var onRead = function(details) { - if ( details.error ) { - return; - } + if ( details.error ) { return; } + var textarea = uDom.nodeFromId('userFilters'); cachedUserFilters = details.content.trim(); - uDom.nodeFromId('userFilters').value = details.content; - userFiltersChanged(); + textarea.value = details.content; + if ( first ) { + textarea.value += '\n'; + var textlen = textarea.value.length; + textarea.setSelectionRange(textlen, textlen); + textarea.focus(); + } + userFiltersChanged(false); }; messaging.send('dashboard', { what: 'readUserFilters' }, onRead); } @@ -195,7 +202,7 @@ uDom('#userFilters').on('input', userFiltersChanged); uDom('#userFiltersApply').on('click', applyChanges); uDom('#userFiltersRevert').on('click', revertChanges); -renderUserFilters(); +renderUserFilters(true); /******************************************************************************/