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({