only consider filtered tasks for kanban views

This commit is contained in:
marlon-erler
2026-04-01 09:42:51 +00:00
parent 2ef4454131
commit 68dbd378e8
3 changed files with 20 additions and 15 deletions
+14 -9
View File
@@ -357,8 +357,7 @@
for (const object of objects) {
const stringEntryObject = converter(object);
const stringEntryObjectValue = stringEntryObject[key];
if (stringEntryObjectValue == void 0)
continue;
if (stringEntryObjectValue == void 0) continue;
values.add(stringEntryObjectValue.toString());
}
return [...values.values()];
@@ -3336,7 +3335,13 @@
VersionIdToOption
]
}
), /* @__PURE__ */ createElement("span", { class: "icon" }, "arrow_drop_down"))), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "label"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, translations.chatPage.task.taskNameLabel), /* @__PURE__ */ createElement("input", { "bind:value": taskViewModel.name, id: "focused" }))), /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "category"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, translations.chatPage.task.taskBoardLabel), /* @__PURE__ */ createElement(
), /* @__PURE__ */ createElement("span", { class: "icon" }, "arrow_drop_down"))), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "label"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, translations.chatPage.task.taskNameLabel), /* @__PURE__ */ createElement(
"input",
{
"bind:value": taskViewModel.name,
id: "focused"
}
))), /* @__PURE__ */ createElement("label", { class: "tile flex-no" }, /* @__PURE__ */ createElement("span", { class: "icon" }, "category"), /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("span", null, translations.chatPage.task.taskBoardLabel), /* @__PURE__ */ createElement(
"select",
{
"bind:value": taskViewModel.boardId,
@@ -3990,14 +3995,14 @@
return PropertyValueList(
"category",
(taskViewModel) => taskViewModel.task,
boardViewModel.taskViewModels,
boardViewModel.filteredTaskViewModels,
(categories, sortedCategories) => {
const categoryNameConverter = (categoryName) => {
const index = createPropertyValueIndexState(
sortedCategories,
categoryName
);
return KanbanBoard(categoryName, index, boardViewModel);
return Column(categoryName, index, boardViewModel);
};
return /* @__PURE__ */ createElement(
"div",
@@ -4009,7 +4014,7 @@
}
);
}
function KanbanBoard(categoryName, index, boardViewModel) {
function Column(categoryName, index, boardViewModel) {
return FilteredList(
{ category: categoryName },
(taskViewModel) => taskViewModel.task,
@@ -4092,7 +4097,7 @@
collectPropertyValuesToState(
"status",
(taskViewModel) => taskViewModel.task,
boardViewModel.taskViewModels,
boardViewModel.filteredTaskViewModels,
statuses
);
});
@@ -4185,7 +4190,7 @@
sortedStatuses,
statusName
);
return CategoryStatusColumn(
return StatusColumn(
categoryName,
statusName,
index2,
@@ -4226,7 +4231,7 @@
}
);
}
function CategoryStatusColumn(categoryName, statusName, index, boardViewModel, taskViewModelsWithMatchingCategory) {
function StatusColumn(categoryName, statusName, index, boardViewModel, taskViewModelsWithMatchingCategory) {
const taskViewModels = new ListState();
taskViewModelsWithMatchingCategory.handleAddition((taskViewModel) => {
const doesMatchStatus = taskViewModel.status.value == statusName;
+3 -3
View File
@@ -17,7 +17,7 @@ export function BoardKanbanPage(boardViewModel: BoardViewModel) {
return PropertyValueList(
"category",
(taskViewModel: TaskViewModel) => taskViewModel.task,
boardViewModel.taskViewModels,
boardViewModel.filteredTaskViewModels,
(
categories: React.ListState<string>,
sortedCategories: React.State<string[]>,
@@ -30,7 +30,7 @@ export function BoardKanbanPage(boardViewModel: BoardViewModel) {
sortedCategories,
categoryName,
);
return KanbanBoard(categoryName, index, boardViewModel);
return Column(categoryName, index, boardViewModel);
};
return (
@@ -43,7 +43,7 @@ export function BoardKanbanPage(boardViewModel: BoardViewModel) {
);
}
function KanbanBoard(
function Column(
categoryName: string,
index: React.State<number>,
boardViewModel: BoardViewModel,
+3 -3
View File
@@ -27,7 +27,7 @@ export function BoardStatusGridPage(boardViewModel: BoardViewModel) {
collectPropertyValuesToState(
"status",
(taskViewModel: TaskViewModel) => taskViewModel.task,
boardViewModel.taskViewModels,
boardViewModel.filteredTaskViewModels,
statuses,
);
});
@@ -160,7 +160,7 @@ function CategoryRow(
sortedStatuses,
statusName,
);
return CategoryStatusColumn(
return StatusColumn(
categoryName,
statusName,
index,
@@ -211,7 +211,7 @@ function CategoryRow(
);
}
function CategoryStatusColumn(
function StatusColumn(
categoryName: string,
statusName: string,
index: React.State<number>,