diff --git a/app/src/assets/scss/business/_av.scss b/app/src/assets/scss/business/_av.scss index 35418fd20..3abcb1452 100644 --- a/app/src/assets/scss/business/_av.scss +++ b/app/src/assets/scss/business/_av.scss @@ -302,9 +302,11 @@ padding-bottom: 4px; float: left; - svg { + .icon { width: 12px; flex-shrink: 0; + margin-right: 6px; + margin-left: -5px; } } diff --git a/app/src/protyle/render/av/filter.ts b/app/src/protyle/render/av/filter.ts index 7f55524cd..032a1d13d 100644 --- a/app/src/protyle/render/av/filter.ts +++ b/app/src/protyle/render/av/filter.ts @@ -6,6 +6,7 @@ import {setPosition} from "../../../util/setPosition"; import {objEquals} from "../../../util/functions"; import {genCellValue} from "./cell"; import * as dayjs from "dayjs"; +import {unicode2Emoji} from "../../../emoji"; export const getDefaultOperatorByType = (type: TAVCol) => { if (type === "number" || type === "select") { @@ -22,7 +23,7 @@ const toggleEmpty = (element: HTMLElement, operator: string, type: TAVCol) => { menuElement.querySelectorAll("input, .b3-chip").forEach((inputElement, index) => { const menuItemElement = hasClosestByClassName(inputElement, "b3-menu__item"); if (menuItemElement) { - if (type === "date") { + if (["date", "updated", "created"].includes(type)) { if (operator === "Is between") { menuItemElement.classList.remove("fn__none"); } else if (operator === "Is empty" || operator === "Is not empty") { @@ -62,7 +63,7 @@ export const setFilter = (options: { let hasMatch = false; let cellValue: IAVCellValue; if (textElements.length > 0) { - if (colData.type === "date") { + if (["date", "updated", "created"].includes(colData.type)) { cellValue = genCellValue(colData.type, { isNotEmpty2: textElements[1].value !== "", isNotEmpty: textElements[0].value !== "", @@ -152,6 +153,8 @@ export const setFilter = (options: { `; break; case "date": + case "created": + case "updated": selectHTML = ` @@ -225,14 +228,15 @@ export const setFilter = (options: { iconHTML: "", label: `` }); - } else if (colData.type === "date") { + } else if (["date", "updated", "created"].includes(colData.type)) { + const dateValue = options.filter.value ? options.filter.value[colData.type as "date"] : null; menu.addItem({ iconHTML: "", - label: `` + label: `` }); menu.addItem({ iconHTML: "", - label: `` + label: `` }); } menu.addItem({ @@ -305,7 +309,7 @@ export const addFilter = (options: { if (!hasFilter && column.type !== "mAsset") { menu.addItem({ label: column.name, - icon: getColIconByType(column.type), + iconHTML: `${column.icon ? unicode2Emoji(column.icon) : ``}`, click: () => { const oldFilters = Object.assign([], options.data.view.filters); const cellValue = genCellValue(column.type, ""); @@ -408,7 +412,7 @@ export const getFiltersHTML = (data: IAVTable) => { } } filterHTML += ` - + ${item.icon ? unicode2Emoji(item.icon, "icon", true) : ``} ${item.name}${filterValue} `; return true; diff --git a/app/src/protyle/render/av/openMenuPanel.ts b/app/src/protyle/render/av/openMenuPanel.ts index 498c30b43..c6828fa73 100644 --- a/app/src/protyle/render/av/openMenuPanel.ts +++ b/app/src/protyle/render/av/openMenuPanel.ts @@ -779,7 +779,7 @@ const getPropertiesHTML = (data: IAVTable) => {