Vanessa 2025-09-06 10:22:16 +08:00
parent d2f990a830
commit 5ade06a3b6

View file

@ -649,18 +649,27 @@ export const getFiltersHTML = (data: IAV) => {
fields.find((item) => { fields.find((item) => {
if (item.id === filter.column && item.type === filter.value.type) { if (item.id === filter.column && item.type === filter.value.type) {
let filterText = ""; let filterText = "";
if (item.type === "rollup") {
if (filter.quantifier === "" || filter.quantifier === "Any") {
filterText = window.siyuan.languages.filterQuantifierAny + " ";
} else if (filter.quantifier === "All") {
filterText = window.siyuan.languages.filterQuantifierAll + " ";
} else if (filter.quantifier === "None") {
filterText = window.siyuan.languages.filterQuantifierNone + " ";
}
}
const filterValue = item.type === "rollup" ? (filter.value.rollup?.contents?.length > 0 ? filter.value.rollup.contents[0] : {type: "rollup"} as IAVCellValue) : filter.value; const filterValue = item.type === "rollup" ? (filter.value.rollup?.contents?.length > 0 ? filter.value.rollup.contents[0] : {type: "rollup"} as IAVCellValue) : filter.value;
if (filter.operator === "Is empty") { if (filter.operator === "Is empty") {
filterText = ": " + window.siyuan.languages.filterOperatorIsEmpty; filterText = ": " + filterText + window.siyuan.languages.filterOperatorIsEmpty;
} else if (filter.operator === "Is not empty") { } else if (filter.operator === "Is not empty") {
filterText = ": " + window.siyuan.languages.filterOperatorIsNotEmpty; filterText = ": " + filterText + window.siyuan.languages.filterOperatorIsNotEmpty;
} else if (filter.operator === "Is false") { } else if (filter.operator === "Is false") {
if (filterValue.type !== "checkbox" || typeof filterValue.checkbox.checked === "boolean") { if (filterValue.type !== "checkbox" || typeof filterValue.checkbox.checked === "boolean") {
filterText = ": " + window.siyuan.languages.unchecked; filterText = ": " + filterText + window.siyuan.languages.unchecked;
} }
} else if (filter.operator === "Is true") { } else if (filter.operator === "Is true") {
if (filterValue.type !== "checkbox" || typeof filterValue.checkbox.checked === "boolean") { if (filterValue.type !== "checkbox" || typeof filterValue.checkbox.checked === "boolean") {
filterText = ": " + window.siyuan.languages.checked; filterText = ": " + filterText + window.siyuan.languages.checked;
} }
} else if (["created", "updated", "date"].includes(filterValue.type)) { } else if (["created", "updated", "date"].includes(filterValue.type)) {
let dateValue = ""; let dateValue = "";
@ -684,15 +693,15 @@ export const getFiltersHTML = (data: IAV) => {
} }
if (dateValue) { if (dateValue) {
if (filter.operator === "Is between" && dateValue2) { if (filter.operator === "Is between" && dateValue2) {
filterText = ` ${window.siyuan.languages.filterOperatorIsBetween} ${dateValue} ${dateValue2}`; filterText = ` ${filterText}${window.siyuan.languages.filterOperatorIsBetween} ${dateValue} ${dateValue2}`;
} else if ("=" === filter.operator) { } else if ("=" === filter.operator) {
filterText = `: ${dateValue}`; filterText = `: ${filterText}${dateValue}`;
} else if ([">", "<"].includes(filter.operator)) { } else if ([">", "<"].includes(filter.operator)) {
filterText = ` ${filter.operator} ${dateValue}`; filterText = ` ${filterText}${filter.operator} ${dateValue}`;
} else if (">=" === filter.operator) { } else if (">=" === filter.operator) {
filterText = ` ${dateValue}`; filterText = ` ${filterText}${dateValue}`;
} else if ("<=" === filter.operator) { } else if ("<=" === filter.operator) {
filterText = ` ${dateValue}`; filterText = ` ${filterText}${dateValue}`;
} }
} }
} else if (["mSelect", "select"].includes(filterValue.type) && filterValue.mSelect?.length > 0) { } else if (["mSelect", "select"].includes(filterValue.type) && filterValue.mSelect?.length > 0) {
@ -704,41 +713,41 @@ export const getFiltersHTML = (data: IAV) => {
} }
}); });
if ("Contains" === filter.operator) { if ("Contains" === filter.operator) {
filterText = `: ${selectContent}`; filterText = `: ${filterText}${selectContent}`;
} else if (filter.operator === "Does not contains") { } else if (filter.operator === "Does not contains") {
filterText = ` ${window.siyuan.languages.filterOperatorDoesNotContain} ${selectContent}`; filterText = ` ${filterText}${window.siyuan.languages.filterOperatorDoesNotContain} ${selectContent}`;
} else if (filter.operator === "=") { } else if (filter.operator === "=") {
filterText = `: ${selectContent}`; filterText = `: ${filterText}${selectContent}`;
} else if (filter.operator === "!=") { } else if (filter.operator === "!=") {
filterText = ` ${window.siyuan.languages.filterOperatorIsNot} ${selectContent}`; filterText = ` ${filterText}${window.siyuan.languages.filterOperatorIsNot} ${selectContent}`;
} }
} else if (filterValue.type === "number" && filterValue.number && filterValue.number.isNotEmpty) { } else if (filterValue.type === "number" && filterValue.number && filterValue.number.isNotEmpty) {
if (["=", "!=", ">", "<"].includes(filter.operator)) { if (["=", "!=", ">", "<"].includes(filter.operator)) {
filterText = ` ${filter.operator} ${filterValue.number.content}`; filterText = ` ${filterText}${filter.operator} ${filterValue.number.content}`;
} else if (">=" === filter.operator) { } else if (">=" === filter.operator) {
filterText = ` ${filterValue.number.content}`; filterText = ` ${filterText}${filterValue.number.content}`;
} else if ("<=" === filter.operator) { } else if ("<=" === filter.operator) {
filterText = ` ${filterValue.number.content}`; filterText = ` ${filterText}${filterValue.number.content}`;
} }
} else if (["text", "block", "url", "phone", "email", "relation", "template"].includes(filterValue.type) && filterValue[filterValue.type as "text"]) { } else if (["text", "block", "url", "phone", "email", "relation", "template"].includes(filterValue.type) && filterValue[filterValue.type as "text"]) {
const content = filterValue[filterValue.type as "text"].content || filterValue.relation?.blockIDs[0] || ""; const content = filterValue[filterValue.type as "text"].content || filterValue.relation?.blockIDs[0] || "";
if (content) { if (content) {
if (["=", "Contains"].includes(filter.operator)) { if (["=", "Contains"].includes(filter.operator)) {
filterText = `: ${content}`; filterText = `: ${filterText}${content}`;
} else if (filter.operator === "Does not contains") { } else if (filter.operator === "Does not contains") {
filterText = ` ${window.siyuan.languages.filterOperatorDoesNotContain} ${content}`; filterText = ` ${filterText}${window.siyuan.languages.filterOperatorDoesNotContain} ${content}`;
} else if (filter.operator === "!=") { } else if (filter.operator === "!=") {
filterText = ` ${window.siyuan.languages.filterOperatorIsNot} ${content}`; filterText = ` ${filterText}${window.siyuan.languages.filterOperatorIsNot} ${content}`;
} else if ("Starts with" === filter.operator) { } else if ("Starts with" === filter.operator) {
filterText = ` ${window.siyuan.languages.filterOperatorStartsWith} ${content}`; filterText = ` ${filterText}${window.siyuan.languages.filterOperatorStartsWith} ${content}`;
} else if ("Ends with" === filter.operator) { } else if ("Ends with" === filter.operator) {
filterText = ` ${window.siyuan.languages.filterOperatorEndsWith} ${content}`; filterText = ` ${filterText}${window.siyuan.languages.filterOperatorEndsWith} ${content}`;
} else if ([">", "<"].includes(filter.operator)) { } else if ([">", "<"].includes(filter.operator)) {
filterText = ` ${filter.operator} ${content}`; filterText = ` ${filterText}${filter.operator} ${content}`;
} else if (">=" === filter.operator) { } else if (">=" === filter.operator) {
filterText = ` ${content}`; filterText = ` ${filterText}${content}`;
} else if ("<=" === filter.operator) { } else if ("<=" === filter.operator) {
filterText = ` ${content}`; filterText = ` ${filterText}${content}`;
} }
} }
} }