import ViewMode, { ViewModeArgs } from "../view_mode"; import { getBoardData } from "./data"; const TPL = /*html*/`
`; export interface StateInfo { }; export default class BoardView extends ViewMode { private $root: JQuery; private $container: JQuery; constructor(args: ViewModeArgs) { super(args, "board"); this.$root = $(TPL); this.$container = this.$root.find(".board-view-container"); args.$parent.append(this.$root); } async renderList(): Promise | undefined> { this.$container.empty(); this.renderBoard(this.$container[0]); return this.$root; } private async renderBoard(el: HTMLElement) { const data = await getBoardData(this.noteIds, "status"); for (const column of data.byColumn.keys()) { const columnNotes = data.byColumn.get(column); if (!columnNotes) { continue; } const $columnEl = $("
") .addClass("board-column") .append($("

").text(column)); for (const note of columnNotes) { const $noteEl = $("
").addClass("board-note").text(note.title); // Assuming FNote has a title property $columnEl.append($noteEl); } $(el).append($columnEl); } } }