mirror of
https://github.com/gorhill/uBlock.git
synced 2024-09-20 04:53:50 +02:00
Fix remaining quirks in "Filter lists" pane
Do not sticky unchecked lists in search mode. Propagate default status of a sublist upward to its parent entry.
This commit is contained in:
parent
d6eacd8cf6
commit
14637923fc
1 changed files with 6 additions and 2 deletions
|
@ -371,16 +371,17 @@ const toggleFilterList = (elem, on, ui = false) => {
|
||||||
const listEntry = elem.closest('.listEntry');
|
const listEntry = elem.closest('.listEntry');
|
||||||
if ( listEntry === null ) { return; }
|
if ( listEntry === null ) { return; }
|
||||||
if ( listEntry.dataset.parent === 'root' ) { return; }
|
if ( listEntry.dataset.parent === 'root' ) { return; }
|
||||||
|
const searchMode = dom.cl.has('#lists', 'searchMode');
|
||||||
const input = qs$(listEntry, ':scope > .detailbar input');
|
const input = qs$(listEntry, ':scope > .detailbar input');
|
||||||
if ( on === undefined ) {
|
if ( on === undefined ) {
|
||||||
on = input.checked === false;
|
on = input.checked === false;
|
||||||
}
|
}
|
||||||
input.checked = on;
|
input.checked = on;
|
||||||
dom.cl.toggle(listEntry, 'checked', on);
|
dom.cl.toggle(listEntry, 'checked', on);
|
||||||
dom.cl.toggle(listEntry, 'stickied', ui && !on);
|
dom.cl.toggle(listEntry, 'stickied', ui && !on && !searchMode);
|
||||||
// Select/unselect descendants. Twist: if in search-mode, select only
|
// Select/unselect descendants. Twist: if in search-mode, select only
|
||||||
// search-matched descendants.
|
// search-matched descendants.
|
||||||
const childListEntries = dom.cl.has('#lists', 'searchMode')
|
const childListEntries = searchMode
|
||||||
? qsa$(listEntry, '.listEntry.searchMatch')
|
? qsa$(listEntry, '.listEntry.searchMatch')
|
||||||
: qsa$(listEntry, '.listEntry');
|
: qsa$(listEntry, '.listEntry');
|
||||||
for ( const descendantList of childListEntries ) {
|
for ( const descendantList of childListEntries ) {
|
||||||
|
@ -440,6 +441,9 @@ const updateListNode = listNode => {
|
||||||
lastUpdateTemplateString.replace('{{ago}}', i18n.renderElapsedTimeToString(writeTime))
|
lastUpdateTemplateString.replace('{{ago}}', i18n.renderElapsedTimeToString(writeTime))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
if ( qs$(listNode, '.listEntry.isDefault') !== null ) {
|
||||||
|
dom.cl.add(listNode, 'isDefault');
|
||||||
|
}
|
||||||
if ( qs$(listNode, '.listEntry.stickied') !== null ) {
|
if ( qs$(listNode, '.listEntry.stickied') !== null ) {
|
||||||
dom.cl.add(listNode, 'stickied');
|
dom.cl.add(listNode, 'stickied');
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue