From b0b5f7ca4b01f9635e19400781fb1fbbb8409068 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sun, 3 Mar 2024 23:08:54 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E6=95=B0=E6=8D=AE=E5=BA=93=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/protyle/render/av/filter.ts | 65 +++++++++++------------------ 1 file changed, 25 insertions(+), 40 deletions(-) diff --git a/app/src/protyle/render/av/filter.ts b/app/src/protyle/render/av/filter.ts index b951a6ad9..0730a59a2 100644 --- a/app/src/protyle/render/av/filter.ts +++ b/app/src/protyle/render/av/filter.ts @@ -79,21 +79,19 @@ export const setFilter = async (options: { let hasMatch = false; if (textElements.length > 0) { if (["date", "updated", "created"].includes(filterType)) { - const typeElements = menu.element.querySelectorAll('.b3-select[data-type="dateType"]') as NodeListOf; + const typeElement = menu.element.querySelector('.b3-select[data-type="dateType"]') as HTMLSelectElement; const directElements = menu.element.querySelectorAll('.b3-select[data-type="dataDirection"]') as NodeListOf; - if (typeElements[0].value === "custom") { + if (typeElement.value === "custom") { newFilter.relativeDate = { count: parseInt((directElements[0].parentElement.querySelector(".b3-text-field") as HTMLInputElement).value || "1"), unit: parseInt((directElements[0].parentElement.lastElementChild as HTMLSelectElement).value), direction: parseInt(directElements[0].value) }; - if (typeElements[1].value === "custom") { - newFilter.relativeDate2 = { - count: parseInt((directElements[1].parentElement.querySelector(".b3-text-field") as HTMLInputElement).value || "1"), - unit: parseInt((directElements[1].parentElement.lastElementChild as HTMLSelectElement).value), - direction: parseInt(directElements[1].value) - }; - } + newFilter.relativeDate2 = { + count: parseInt((directElements[1].parentElement.querySelector(".b3-text-field") as HTMLInputElement).value || "1"), + unit: parseInt((directElements[1].parentElement.lastElementChild as HTMLSelectElement).value), + direction: parseInt(directElements[1].value) + }; } else { newFilter.value = genCellValue(filterType, { isNotEmpty2: textElements[1].value !== "", @@ -373,13 +371,6 @@ export const setFilter = async (options: {
-
- -
-
@@ -433,30 +424,24 @@ export const setFilter = async (options: { selectElement.addEventListener("change", () => { toggleEmpty(selectElement, selectElement.value, filterType); }); - const dateTypeElements = menu.element.querySelectorAll('.b3-select[data-type="dateType"]') as NodeListOf; - dateTypeElements.forEach((item) => { - item.addEventListener("change", () => { - const directionElements = menu.element.querySelectorAll('[data-type="dataDirection"]'); - const customerElement = directionElements[0].parentElement; - const customer2Element = directionElements[1].parentElement; - const timeElement = customerElement.previousElementSibling; - const time2Element = customer2Element.previousElementSibling; - if (item.value === "custom") { - customerElement.classList.remove("fn__none"); - customer2Element.classList.remove("fn__none"); - timeElement.classList.add("fn__none"); - time2Element.classList.add("fn__none"); - dateTypeElements[0].value = "custom"; - dateTypeElements[1].value = "custom"; - } else { - customerElement.classList.add("fn__none"); - customer2Element.classList.add("fn__none"); - timeElement.classList.remove("fn__none"); - time2Element.classList.remove("fn__none"); - dateTypeElements[0].value = "time"; - dateTypeElements[1].value = "time"; - } - }); + const dateTypeElement = menu.element.querySelector('.b3-select[data-type="dateType"]') as HTMLSelectElement; + dateTypeElement.addEventListener("change", () => { + const directionElements = menu.element.querySelectorAll('[data-type="dataDirection"]'); + const customerElement = directionElements[0].parentElement; + const customer2Element = directionElements[1].parentElement; + const timeElement = customerElement.previousElementSibling; + const time2Element = customer2Element.previousElementSibling; + if (dateTypeElement.value === "custom") { + customerElement.classList.remove("fn__none"); + customer2Element.classList.remove("fn__none"); + timeElement.classList.add("fn__none"); + time2Element.classList.add("fn__none"); + } else { + customerElement.classList.add("fn__none"); + customer2Element.classList.add("fn__none"); + timeElement.classList.remove("fn__none"); + time2Element.classList.remove("fn__none"); + } }); menu.element.querySelectorAll('.b3-select[data-type="dataDirection"]').forEach((item: HTMLSelectElement) => { item.addEventListener("change", () => {