diff --git a/gui/pages/settings/filters.htm b/gui/pages/settings/filters.htm
index cf5bb80..4921122 100644
--- a/gui/pages/settings/filters.htm
+++ b/gui/pages/settings/filters.htm
@@ -9,38 +9,46 @@
-
-
-
-
+
+
diff --git a/gui/scripts/windowman.JS b/gui/scripts/windowman.JS
index 9afefe3..66f936c 100644
--- a/gui/scripts/windowman.JS
+++ b/gui/scripts/windowman.JS
@@ -343,7 +343,39 @@ export default class windowman {
}
/* Enable the searching interface. */
- function search() {}
+ function search() {
+ document.querySelectorAll(`[data-result]`).forEach((element) => {
+ // Begin searching when the textbox is changed.
+ element.addEventListener(`change`, async function () {
+ let search = {};
+ search[`criteria`] = element.value;
+ if (search[`criteria`]) {
+ if (
+ element.getAttribute(`data-results-filters`)
+ ? element.getAttribute(`data-results-filters`).trim()
+ : false
+ ) {
+ search[`additional criteria`] = element
+ .getAttribute(`data-results-filters`)
+ .split(`,`);
+ }
+ search[`source`] = element.getAttribute(`data-result`);
+ search[`raw`] = await (async () => {
+ const secretariat = await import(
+ chrome.runtime.getURL(`scripts/secretariat.js`)
+ );
+
+ await secretariat.search(
+ search[`source`],
+ search[`criteria`],
+ null,
+ search[`additional criteria`],
+ );
+ })();
+ }
+ });
+ });
+ }
// Responsiveness to different screen sizes.
function resize() {
@@ -398,6 +430,7 @@ export default class windowman {
window.addEventListener("resize", resize);
resize();
+ search();
links();
}