import * as React from "bloatless-react"; import BoardViewModel, { BoardPageTypes, } from "../../ViewModel/Pages/boardViewModel"; import { BoardKanbanPage } from "./boardKanbanPage"; import { BoardSettingsModal } from "../Modals/boardSettingsModal"; import { BoardStatusGridPage } from "./boardStatusGridPage"; import { BoardViewToggleButton } from "../Components/boardViewToggleButton"; import { SearchModal } from "../Modals/searchModal"; import { TaskSettingsModal } from "../Modals/taskSettingsModal"; import { TaskViewModelToEntry } from "../Components/taskEntry"; import { setFocusWithDelay } from "../utility"; import CoreViewModel from "../../ViewModel/Global/coreViewModel"; import { ViewPersistence } from "../viewPersistence"; export function BoardPage( coreViewModel: CoreViewModel, boardViewModel: BoardViewModel, ) { boardViewModel.loadData(); // main content const persistenceId = boardViewModel.boardInfo.fileId; const pages = ViewPersistence.boardPages.setPages(persistenceId, ()=>React.createProxyState( [boardViewModel.selectedPage], () => { switch (boardViewModel.selectedPage.value) { case BoardPageTypes.Kanban: { return BoardKanbanPage(coreViewModel, boardViewModel); } case BoardPageTypes.StatusGrid: { return BoardStatusGridPage(coreViewModel, boardViewModel); } default: { return (
); } } }, )); // task modal const taskSettingsModal = React.createProxyState( [boardViewModel.selectedTaskViewModel], () => { if (boardViewModel.selectedTaskViewModel.value == undefined) { return ; } else { setFocusWithDelay(); return TaskSettingsModal( coreViewModel, boardViewModel.selectedTaskViewModel.value, ); } }, ); return (