Skip to content

Commit

Permalink
Add visual hint when not all sublists are enabled
Browse files Browse the repository at this point in the history
  • Loading branch information
gorhill committed Jul 3, 2023
1 parent f0a364c commit 622cda2
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 5 deletions.
5 changes: 5 additions & 0 deletions src/css/common.css
Expand Up @@ -218,6 +218,11 @@ label:hover .checkbox:not([disabled]) {
.checkbox[disabled] ~ span {
filter: var(--checkbox-disabled-filter);
}
.checkbox.partial > input[type="checkbox"]:checked + svg {
background-color: var(--surface-1);
border-color: var(--checkbox-checked-ink);
stroke: var(--checkbox-checked-ink);
}

.radio {
--margin-end: calc(var(--font-size) * 0.75);
Expand Down
18 changes: 13 additions & 5 deletions src/js/3p-filters.js
Expand Up @@ -400,9 +400,10 @@ const toggleFilterList = (elem, on, ui = false) => {
const updateListNode = listNode => {
if ( listNode === null ) { return; }
if ( listNode.dataset.role !== 'node' ) { return; }
const listLeaves = qsa$(listNode, '.listEntry[data-role="leaf"].checked');
const checkedListLeaves = qsa$(listNode, '.listEntry[data-role="leaf"].checked');
const allListLeaves = qsa$(listNode, '.listEntry[data-role="leaf"]');
dom.text(qs$(listNode, '.nodestats'),
renderNodeStats(listLeaves.length, qsa$(listNode, '.listEntry[data-role="leaf"]').length)
renderNodeStats(checkedListLeaves.length, allListLeaves.length)
);
dom.cl.toggle(listNode, 'searchMatch',
qs$(listNode, ':scope > .listEntries > .listEntry.searchMatch') !== null
Expand All @@ -413,7 +414,7 @@ const updateListNode = listNode => {
let isCached = false;
let isObsolete = false;
let writeTime = 0;
for ( const listLeaf of listLeaves ) {
for ( const listLeaf of checkedListLeaves ) {
const listkey = listLeaf.dataset.key;
const listDetails = listsetDetails.available[listkey];
usedFilterCount += listDetails.off ? 0 : listDetails.entryUsedCount || 0;
Expand All @@ -423,8 +424,15 @@ const updateListNode = listNode => {
isObsolete = isObsolete || dom.cl.has(listLeaf, 'obsolete');
writeTime = Math.max(writeTime, assetCache.writeTime || 0);
}
dom.cl.toggle(listNode, 'checked', listLeaves.length !== 0);
dom.prop(qs$(listNode, ':scope > .detailbar input'), 'checked', listLeaves.length !== 0);
dom.cl.toggle(listNode, 'checked', checkedListLeaves.length !== 0);
dom.cl.toggle(qs$(listNode, ':scope > .detailbar .checkbox'),
'partial',
checkedListLeaves.length !== allListLeaves.length
);
dom.prop(qs$(listNode, ':scope > .detailbar input'),
'checked',
checkedListLeaves.length !== 0
);
dom.text(qs$(listNode, '.leafstats'),
renderLeafStats(usedFilterCount, totalFilterCount)
);
Expand Down

0 comments on commit 622cda2

Please sign in to comment.