diff options
author | gorhill <rhill@raymondhill.net> | 2015-03-23 10:19:43 -0400 |
---|---|---|
committer | gorhill <rhill@raymondhill.net> | 2015-03-23 10:19:43 -0400 |
commit | 6724c991f57db0e2110806e21f8cf236cd41e96d (patch) | |
tree | 880ccbdb979cc5e107496975b32ec5fb0640afa3 | |
parent | c13c34fc5e14965240dc501edd267a16415c51b1 (diff) | |
download | uBlock-6724c991f57db0e2110806e21f8cf236cd41e96d.zip uBlock-6724c991f57db0e2110806e21f8cf236cd41e96d.tar.gz uBlock-6724c991f57db0e2110806e21f8cf236cd41e96d.tar.bz2 |
this fixes #1058
-rw-r--r-- | src/3p-filters.html | 2 | ||||
-rw-r--r-- | src/css/3p-filters.css | 11 | ||||
-rw-r--r-- | src/js/3p-filters.js | 22 |
3 files changed, 28 insertions, 7 deletions
diff --git a/src/3p-filters.html b/src/3p-filters.html index bdfec08..f92af2e 100644 --- a/src/3p-filters.html +++ b/src/3p-filters.html @@ -36,7 +36,7 @@ <div id="templates" style="display: none;"> <ul> - <li class="groupEntry"><span></span> + <li class="groupEntry"><span class="geName"></span> <span class="geCount dim"></span> <ul></ul> </li> <li class="listEntry"> diff --git a/src/css/3p-filters.css b/src/css/3p-filters.css index efa3730..5682273 100644 --- a/src/css/3p-filters.css +++ b/src/css/3p-filters.css @@ -19,15 +19,18 @@ body[dir=rtl] #lists { padding: 0; list-style-type: none; } -#lists > .groupEntry > span { +#lists > .groupEntry > .geName { cursor: pointer; - font-size: 15px; + font-size: 110%; } -#lists > .groupEntry:not(:first-child) > span:before { +#lists > .groupEntry > .geCount { + font-size: 90%; + } +#lists > .groupEntry:not(:first-child) > .geName:before { color: #aaa; content: '\2212 '; } -#lists > .groupEntry.collapsed > span:before { +#lists > .groupEntry.collapsed > .geName:before { color: #aaa; content: '+ '; } diff --git a/src/js/3p-filters.js b/src/js/3p-filters.js index b5daf83..a6d84f0 100644 --- a/src/js/3p-filters.js +++ b/src/js/3p-filters.js @@ -142,15 +142,33 @@ var renderFilterLists = function() { return li; }; + var listEntryCountFromGroup = function(listKeys) { + if ( Array.isArray(listKeys) === false ) { + return ''; + } + var count = 0; + var i = listKeys.length; + while ( i-- ) { + if ( listDetails.available[listKeys[i]].off !== true ) { + count += 1; + } + } + return count === 0 ? '' : '(' + count.toLocaleString() + ')'; + }; + var liFromListGroup = function(groupKey, listKeys) { var liGroup = listGroupTemplate.clone(); - liGroup.descendants('span').text(vAPI.i18n('3pGroup' + groupKey.charAt(0).toUpperCase() + groupKey.slice(1))); + var groupName = vAPI.i18n('3pGroup' + groupKey.charAt(0).toUpperCase() + groupKey.slice(1)); + if ( groupName !== '' ) { + liGroup.descendants('span.geName').text(groupName); + liGroup.descendants('span.geCount').text(listEntryCountFromGroup(listKeys)); + } var ulGroup = liGroup.descendants('ul'); if ( !listKeys ) { return liGroup; } listKeys.sort(function(a, b) { - return (listDetails.available[a].title || "").localeCompare(listDetails.available[b].title || ""); + return (listDetails.available[a].title || '').localeCompare(listDetails.available[b].title || ''); }); for ( var i = 0; i < listKeys.length; i++ ) { ulGroup.append(liFromListEntry(listKeys[i])); |