Use new config/types API to set enabled content types on web interface

This commit is contained in:
Debanjum Singh Solanky
2023-02-24 04:08:34 -06:00
parent 1e43f1a12e
commit f3f24387ec

View File

@@ -63,7 +63,7 @@
function search(rerank=false) {
// Extract required fields for search from form
query = document.getElementById("query").value.trim();
type = document.getElementById("type").value;
type = document.getElementById("type").value.toLowerCase();
results_count = document.getElementById("results-count").value || 6;
console.log(`Query: ${query}, Type: ${type}`);
@@ -116,21 +116,21 @@
}
function populate_type_dropdown() {
// Populate type dropdown field with enabled search types only
var possible_search_types = ["org", "markdown", "ledger", "music", "image"];
fetch("/api/config/data")
// Populate type dropdown field with enabled content types only
fetch("/api/config/types")
.then(response => response.json())
.then(data => {
.then(enabled_types => {
document.getElementById("type").innerHTML =
possible_search_types
.filter(type => data["content-type"].hasOwnProperty(type) && data["content-type"][type])
enabled_types
.map(type => `<option value="${type}">${type.slice(0,1).toUpperCase() + type.slice(1)}</option>`)
.join('');
return enabled_types;
})
.then(() => {
// Set type field to search type passed in URL query parameter, if valid
.then(enabled_types => {
// Set type field to content type passed in URL query parameter, if valid
var type_via_url = new URLSearchParams(window.location.search).get("t");
if (type_via_url && possible_search_types.includes(type_via_url))
if (type_via_url && enabled_types.includes(type_via_url))
document.getElementById("type").value = type_via_url;
});
}
@@ -154,7 +154,7 @@
}
window.onload = function () {
// Dynamically populate type dropdown based on enabled search types and type passed as URL query parameter
// Dynamically populate type dropdown based on enabled content types and type passed as URL query parameter
populate_type_dropdown();
// Set results count field with value passed in URL query parameters, if any.