diff --git a/src/gui/html/elements/loot-plugin-card.html b/src/gui/html/elements/loot-plugin-card.html
index 6e584acd..01fa3aac 100644
--- a/src/gui/html/elements/loot-plugin-card.html
+++ b/src/gui/html/elements/loot-plugin-card.html
@@ -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;
diff --git a/src/gui/html/js/events.js b/src/gui/html/js/events.js
index c7486e03..1110c98d 100644
--- a/src/gui/html/js/events.js
+++ b/src/gui/html/js/events.js
@@ -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);
}
diff --git a/src/gui/html/js/helpers.js b/src/gui/html/js/helpers.js
index fd92f52c..08db0c61 100644
--- a/src/gui/html/js/helpers.js
+++ b/src/gui/html/js/helpers.js
@@ -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();
diff --git a/src/gui/html/js/init.js b/src/gui/html/js/init.js
index 68a5179a..c9ecdfd0 100644
--- a/src/gui/html/js/init.js
+++ b/src/gui/html/js/init.js
@@ -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);