From fac4df02b44ccd6b97ec346386e6ff396dd65c65 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sun, 3 Mar 2024 17:01:17 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20=E6=95=B0=E6=8D=AE=E5=BA=93=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=AD=9B=E9=80=89=E6=9D=A1=E4=BB=B6=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E6=B1=87=E6=80=BB=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/protyle/render/av/filter.ts | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/app/src/protyle/render/av/filter.ts b/app/src/protyle/render/av/filter.ts index 54fe84d5b..c8c8899a6 100644 --- a/app/src/protyle/render/av/filter.ts +++ b/app/src/protyle/render/av/filter.ts @@ -502,34 +502,31 @@ export const addFilter = (options: { }) => { const menu = new Menu("av-add-filter"); options.data.view.columns.forEach((column) => { - let hasFilter = false; - options.data.view.filters.find((filter) => { + let filter: IAVFilter; + options.data.view.filters.find((item) => { if (filter.column === column.id) { - hasFilter = true; + filter = item; return true; } }); - if (!hasFilter && column.type !== "mAsset") { + if (!filter && column.type !== "mAsset") { menu.addItem({ label: column.name, iconHTML: column.icon ? unicode2Emoji(column.icon, "b3-menu__icon", true) : ``, click: () => { const cellValue = genCellValue(column.type, ""); - options.data.view.filters.push({ + filter = { column: column.id, operator: getDefaultOperatorByType(column.type), value: cellValue, type: column.type - }); + } + options.data.view.filters.push(filter); options.menuElement.innerHTML = getFiltersHTML(options.data.view); setPosition(options.menuElement, options.tabRect.right - options.menuElement.clientWidth, options.tabRect.bottom, options.tabRect.height); const filterElement = options.menuElement.querySelector(`[data-id="${column.id}"] .b3-chip`) as HTMLElement; setFilter({ - filter: { - operator: getDefaultOperatorByType(column.type), - column: column.id, - value: cellValue - }, + filter, protyle: options.protyle, data: options.data, target: filterElement,