Default external off and filter channels/backlink queries
Some checks failed
docker-build / build (push) Has been cancelled
Some checks failed
docker-build / build (push) Has been cancelled
This commit is contained in:
@@ -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); });
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
</div>
|
||||
|
||||
<div class="toggle-item">
|
||||
<input type="checkbox" id="externalToggle" checked />
|
||||
<input type="checkbox" id="externalToggle" />
|
||||
<label for="externalToggle">External</label>
|
||||
<span class="toggle-help">Include externally referenced items.</span>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user