From 951b5384a3376d82e5b0b87f0a09c4bd6b781911 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 19 Jul 2025 18:34:59 +0300 Subject: [PATCH] chore(views/board): prepare to group by attribute --- .../widgets/view_widgets/board_view/data.ts | 23 +++++++++++++++++++ .../widgets/view_widgets/board_view/index.ts | 4 +++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 apps/client/src/widgets/view_widgets/board_view/data.ts diff --git a/apps/client/src/widgets/view_widgets/board_view/data.ts b/apps/client/src/widgets/view_widgets/board_view/data.ts new file mode 100644 index 000000000..8b3407270 --- /dev/null +++ b/apps/client/src/widgets/view_widgets/board_view/data.ts @@ -0,0 +1,23 @@ +import FNote from "../../../entities/fnote"; +import froca from "../../../services/froca"; + +export async function getBoardData(noteIds: string[], groupByColumn: string) { + const notes = await froca.getNotes(noteIds); + const byColumn: Map = new Map(); + + for (const note of notes) { + const group = note.getLabelValue(groupByColumn); + if (!group) { + continue; + } + + if (!byColumn.has(group)) { + byColumn.set(group, []); + } + byColumn.get(group)!.push(note); + } + + return { + byColumn + }; +} diff --git a/apps/client/src/widgets/view_widgets/board_view/index.ts b/apps/client/src/widgets/view_widgets/board_view/index.ts index 0e5c6e241..0589845d2 100644 --- a/apps/client/src/widgets/view_widgets/board_view/index.ts +++ b/apps/client/src/widgets/view_widgets/board_view/index.ts @@ -1,4 +1,5 @@ import ViewMode, { ViewModeArgs } from "../view_mode"; +import { getBoardData } from "./data"; const TPL = /*html*/`
@@ -45,7 +46,8 @@ export default class BoardView extends ViewMode { } private async renderBoard(el: HTMLElement) { - + const data = await getBoardData(this.noteIds, "status"); + console.log("Board data:", data); } }