mirror of
https://github.com/loot/libloot.git
synced 2026-07-27 14:16:01 -07:00
Fix version, Bash Tag and CRC filters
If the filters were applied on startup, disabling them would not reveal the hidden data, as the cards' content would not be refreshed. This fixes #530.
This commit is contained in:
@@ -116,11 +116,6 @@ loot-clear-metadata
|
||||
font-weight: 400;
|
||||
font-size: 1rem;
|
||||
}
|
||||
:host-context(#main[data-hide-crc]) content::content > .crc,
|
||||
:host-context(#main[data-hide-tag]) content::content > .tag,
|
||||
:host-context(#main[data-hide-version]) content::content > .version {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Misc Styling. */
|
||||
core-toolbar {
|
||||
@@ -279,6 +274,13 @@ loot-clear-metadata
|
||||
}
|
||||
},
|
||||
|
||||
updateContent: function() {
|
||||
this.getElementsByClassName('version')[0].textContent = this.data.getCardContent(loot.filters).version;
|
||||
this.onCrcChange();
|
||||
this.onTagsChange();
|
||||
this.onMessagesChange();
|
||||
},
|
||||
|
||||
onCrcChange: function(oldValue, newValue) {
|
||||
if (this.data) {
|
||||
this.getElementsByClassName('crc')[0].textContent = this.data.getCardContent(loot.filters).crc;
|
||||
|
||||
@@ -1,30 +1,11 @@
|
||||
'use strict';
|
||||
function saveFilterState(evt) {
|
||||
loot.query('saveFilterState', evt.target.id, evt.target.checked).catch(handlePromiseError);
|
||||
}
|
||||
function onToggleDisplayCSS(evt) {
|
||||
saveFilterState(evt);
|
||||
const attr = 'data-hide-' + evt.target.getAttribute('data-class');
|
||||
if (evt.target.checked) {
|
||||
document.getElementById('main').setAttribute(attr, true);
|
||||
} else {
|
||||
document.getElementById('main').removeAttribute(attr);
|
||||
}
|
||||
|
||||
if (evt.target.id === 'hideBashTags') {
|
||||
document.getElementById('main').lastElementChild.updateSize();
|
||||
}
|
||||
/* Now perform search again. If there is no current search, this won't
|
||||
do anything. */
|
||||
document.getElementById('searchBar').search();
|
||||
}
|
||||
function onSidebarFilterToggle(evt) {
|
||||
if (evt.target.id !== 'contentFilter') {
|
||||
loot.filters[evt.target.id] = evt.target.checked;
|
||||
} else {
|
||||
loot.filters.contentSearchString = evt.target.value;
|
||||
}
|
||||
saveFilterState(evt);
|
||||
loot.query('saveFilterState', evt.target.id, evt.target.checked).catch(handlePromiseError);
|
||||
filterPluginData(loot.game.plugins, loot.filters);
|
||||
}
|
||||
|
||||
|
||||
@@ -47,12 +47,12 @@ function filterPluginData(plugins, filters) {
|
||||
document.getElementById('cardsNav').data = filteredPlugins;
|
||||
document.getElementById('pluginCardList').data = filteredPlugins;
|
||||
|
||||
filteredPlugins.forEach((plugin) => {
|
||||
const element = document.getElementById(plugin.id);
|
||||
if (element) {
|
||||
element.onMessagesChange();
|
||||
const pluginCards = document.getElementById('pluginCardList').children;
|
||||
for (let i = 0; i < pluginCards.length; ++i) {
|
||||
if (pluginCards[i].data) {
|
||||
pluginCards[i].updateContent();
|
||||
}
|
||||
});
|
||||
}
|
||||
document.getElementById('cardsNav').updateSize();
|
||||
document.getElementById('pluginCardList').updateSize();
|
||||
|
||||
|
||||
@@ -41,9 +41,9 @@
|
||||
}(this, (Dialog, dom, Filters, Game, translateStaticText, Plugin, query, Translator) => {
|
||||
function setupEventHandlers() {
|
||||
/* Set up handlers for filters. */
|
||||
document.getElementById('hideVersionNumbers').addEventListener('change', onToggleDisplayCSS);
|
||||
document.getElementById('hideCRCs').addEventListener('change', onToggleDisplayCSS);
|
||||
document.getElementById('hideBashTags').addEventListener('change', onToggleDisplayCSS);
|
||||
document.getElementById('hideVersionNumbers').addEventListener('change', onSidebarFilterToggle);
|
||||
document.getElementById('hideCRCs').addEventListener('change', onSidebarFilterToggle);
|
||||
document.getElementById('hideBashTags').addEventListener('change', onSidebarFilterToggle);
|
||||
document.getElementById('hideNotes').addEventListener('change', onSidebarFilterToggle);
|
||||
document.getElementById('hideDoNotCleanMessages').addEventListener('change', onSidebarFilterToggle);
|
||||
document.getElementById('hideInactivePlugins').addEventListener('change', onSidebarFilterToggle);
|
||||
|
||||
Reference in New Issue
Block a user