diff --git a/app/src/protyle/render/av/filter.ts b/app/src/protyle/render/av/filter.ts index 434ea9cbf..26afb82a8 100644 --- a/app/src/protyle/render/av/filter.ts +++ b/app/src/protyle/render/av/filter.ts @@ -94,6 +94,7 @@ export const setFilter = (options: { return; } let selectHTML = ""; + let colData: IAVColumn switch (colType) { case "text": selectHTML = ` @@ -120,6 +121,7 @@ export const setFilter = (options: { case "mSelect": options.data.columns.find((column) => { if (column.id === options.filter.column) { + colData = column; if (column.type === "select") { selectHTML = ` @@ -143,7 +145,15 @@ export const setFilter = (options: { label: `` }); if (colType === "mSelect") { + // TODO + colData.options.forEach((option) => { + menu.addItem({ + label: ``, + click() { + } + }); + }); } else if (colType === "text") { menu.addItem({ iconHTML: "", @@ -205,11 +215,11 @@ export const setFilter = (options: { event.preventDefault(); } }); - if (selectElement.value === "Is empty" || selectElement.value === "Is not empty") { - selectElement.parentElement.parentElement.nextElementSibling.classList.add("fn__none"); - } else { - selectElement.parentElement.parentElement.nextElementSibling.classList.remove("fn__none"); - } + } + if (selectElement.value === "Is empty" || selectElement.value === "Is not empty") { + selectElement.parentElement.parentElement.nextElementSibling.classList.add("fn__none"); + } else { + selectElement.parentElement.parentElement.nextElementSibling.classList.remove("fn__none"); } menu.open({x: rectTarget.left, y: rectTarget.bottom}); if (textElement) { diff --git a/app/src/protyle/render/av/select.ts b/app/src/protyle/render/av/select.ts index 27352d149..f7d6e3309 100644 --- a/app/src/protyle/render/av/select.ts +++ b/app/src/protyle/render/av/select.ts @@ -368,6 +368,9 @@ export const addSelectColAndCell = (protyle: IProtyle, data: IAV, options: { row.cells.find(cell => { if (cell.id === cellId) { cellData = cell; + if (!cellData.value.mSelect) { + cellData.value.mSelect = []; + } return true; } }); @@ -376,10 +379,17 @@ export const addSelectColAndCell = (protyle: IProtyle, data: IAV, options: { }); const oldValue = Object.assign([], cellData.value.mSelect); - cellData.value.mSelect?.push({ - color: currentElement.dataset.color, - content: currentElement.dataset.name - }); + if (colData.type === "mSelect") { + cellData.value.mSelect.push({ + color: currentElement.dataset.color, + content: currentElement.dataset.name + }); + } else { + cellData.value.mSelect = [{ + color: currentElement.dataset.color, + content: currentElement.dataset.name + }]; + } if (currentElement.querySelector(".b3-menu__accelerator")) { colData.options.push({