import {fetchPost} from "../util/fetch";
export const query = {
element: undefined as Element,
genHTML: () => {
return `
${window.siyuan.languages.searchBlockType}
${window.siyuan.languages.searchBlockAttr}
${window.siyuan.languages.searchBackmention}
${window.siyuan.languages.searchVirtualRef}
${window.siyuan.languages.searchIndex}
`;
},
bindEvent: () => {
query.element.querySelectorAll("input").forEach((item) => {
item.addEventListener("change", () => {
fetchPost("/api/setting/setSearch", {
document: (query.element.querySelector("#document") as HTMLInputElement).checked,
heading: (query.element.querySelector("#heading") as HTMLInputElement).checked,
list: (query.element.querySelector("#list") as HTMLInputElement).checked,
listItem: (query.element.querySelector("#listItem") as HTMLInputElement).checked,
codeBlock: (query.element.querySelector("#codeBlock") as HTMLInputElement).checked,
htmlBlock: (query.element.querySelector("#htmlBlock") as HTMLInputElement).checked,
embedBlock: (query.element.querySelector("#embedBlock") as HTMLInputElement).checked,
databaseBlock: (query.element.querySelector("#databaseBlock") as HTMLInputElement).checked,
mathBlock: (query.element.querySelector("#mathBlock") as HTMLInputElement).checked,
table: (query.element.querySelector("#table") as HTMLInputElement).checked,
blockquote: (query.element.querySelector("#blockquote") as HTMLInputElement).checked,
superBlock: (query.element.querySelector("#superBlock") as HTMLInputElement).checked,
paragraph: (query.element.querySelector("#paragraph") as HTMLInputElement).checked,
name: (query.element.querySelector("#name") as HTMLInputElement).checked,
alias: (query.element.querySelector("#alias") as HTMLInputElement).checked,
memo: (query.element.querySelector("#memo") as HTMLInputElement).checked,
ial: (query.element.querySelector("#ial") as HTMLInputElement).checked,
indexAssetPath: (query.element.querySelector("#indexAssetPath") as HTMLInputElement).checked,
limit: parseInt((query.element.querySelector("#limit") as HTMLInputElement).value),
caseSensitive: (query.element.querySelector("#caseSensitive") as HTMLInputElement).checked,
backlinkMentionName: (query.element.querySelector("#backlinkMentionName") as HTMLInputElement).checked,
backlinkMentionAlias: (query.element.querySelector("#backlinkMentionAlias") as HTMLInputElement).checked,
backlinkMentionAnchor: (query.element.querySelector("#backlinkMentionAnchor") as HTMLInputElement).checked,
backlinkMentionDoc: (query.element.querySelector("#backlinkMentionDoc") as HTMLInputElement).checked,
backlinkMentionKeywordsLimit: parseInt((query.element.querySelector("#backlinkMentionKeywordsLimit") as HTMLInputElement).value),
virtualRefName: (query.element.querySelector("#virtualRefName") as HTMLInputElement).checked,
virtualRefAlias: (query.element.querySelector("#virtualRefAlias") as HTMLInputElement).checked,
virtualRefAnchor: (query.element.querySelector("#virtualRefAnchor") as HTMLInputElement).checked,
virtualRefDoc: (query.element.querySelector("#virtualRefDoc") as HTMLInputElement).checked,
}, response => {
window.siyuan.config.search = response.data;
});
});
});
},
};