Default external off and filter channels/backlink queries
Some checks failed
docker-build / build (push) Has been cancelled

This commit is contained in:
2025-11-18 23:42:49 -05:00
parent 4c20329f36
commit c6b46edacc
3 changed files with 23 additions and 9 deletions

View File

@@ -141,7 +141,7 @@
fuzzyToggle.checked = parseBoolParam("fuzzy", true);
phraseToggle.checked = parseBoolParam("phrase", true);
if (externalToggle) {
externalToggle.checked = parseBoolParam("external", true);
externalToggle.checked = parseBoolParam("external", false);
}
queryToggle.checked = parseBoolParam("query_string", false);
applyQueryMode();
@@ -281,7 +281,11 @@
});
if (!collected.length) return null;
const escaped = collected.map((id) => `"${escapeQueryValue(id)}"`);
return `${field}:(${escaped.join(" OR ")})`;
const variants = field.endsWith(".keyword")
? [field]
: [`${field}.keyword`, field];
const clauses = variants.map((fname) => `${fname}:(${escaped.join(" OR ")})`);
return clauses.length > 1 ? `(${clauses.join(" OR ")})` : clauses[0];
}
async function loadChannels() {
@@ -290,7 +294,8 @@
return;
}
try {
const res = await fetch("/api/channels");
const includeExternal = externalToggle ? externalToggle.checked : false;
const res = await fetch(`/api/channels?external=${includeExternal ? "1" : "0"}`);
const data = await res.json();
channelMap.clear();
channelSelect.innerHTML = '<option value="">All Channels</option>';
@@ -1198,7 +1203,7 @@ async function updateFrequencyChart(term, channels, year, queryMode, toggles = {
if (queryMode) {
params.set("query_string", "1");
}
const { exact = true, fuzzy = true, phrase = true, external = true } = toggles || {};
const { exact = true, fuzzy = true, phrase = true, external = false } = toggles || {};
params.set("exact", exact ? "1" : "0");
params.set("fuzzy", fuzzy ? "1" : "0");
params.set("phrase", phrase ? "1" : "0");
@@ -1529,7 +1534,7 @@ async function updateFrequencyChart(term, channels, year, queryMode, toggles = {
let exact = !!exactToggle.checked;
let fuzzy = !!fuzzyToggle.checked;
let phrase = !!phraseToggle.checked;
const includeExternal = externalToggle ? externalToggle.checked : true;
const includeExternal = externalToggle ? externalToggle.checked : false;
if (queryMode) {
exact = false;
fuzzy = false;
@@ -1608,7 +1613,10 @@ async function updateFrequencyChart(term, channels, year, queryMode, toggles = {
fuzzyToggle.addEventListener("change", () => { rememberToggleState(); runSearch(0); });
phraseToggle.addEventListener("change", () => { rememberToggleState(); runSearch(0); });
if (externalToggle) {
externalToggle.addEventListener("change", () => runSearch(0));
externalToggle.addEventListener("change", () => {
pendingChannelSelection = "";
loadChannels().then(() => runSearch(0));
});
}
if (queryToggle) {
queryToggle.addEventListener("change", () => { applyQueryMode(); runSearch(0); });