handle new items through ViewModels

This commit is contained in:
marlon-erler
2024-07-23 01:40:30 +02:00
parent bd3ea5cc07
commit 6d4f54aaa0
5 changed files with 35 additions and 17 deletions
-5
View File
@@ -77,11 +77,6 @@ export default class ChatViewModel {
chatModel.setMessageHandler((chatMessage: ChatMessage) => {
this.messagePageViewModel.showChatMessage(chatMessage);
});
chatModel.fileModel.setFileContentHandler(
(fileContent: FileContent<string>) => {
this.taskPageViewModel.handleFileContent(fileContent);
}
);
// load
this.loadPageSelection();
+7 -2
View File
@@ -16,7 +16,7 @@ export default class TaskPageViewModel {
// state
newBoardNameInput: React.State<string> = new React.State("");
boardViewModels: React.ListState<BoardViewModel> = new React.ListState();
boardViewModels: React.MapState<BoardViewModel> = new React.MapState();
// guards
cannotCreateBoard: React.State<boolean> = React.createProxyState(
@@ -48,7 +48,7 @@ export default class TaskPageViewModel {
// view
showBoard = (boardInfo: BoardInfoFileContent): void => {
const boardViewModel: BoardViewModel = new BoardViewModel(this, boardInfo);
this.boardViewModels.add(boardViewModel);
this.boardViewModels.set(boardInfo.fileId, boardViewModel);
};
// load
@@ -68,5 +68,10 @@ export default class TaskPageViewModel {
// init
constructor(taskModel: TaskModel, storageModel: StorageModel) {
this.taskModel = taskModel;
// handlers
taskModel.setBoardHandler((boardInfoFileContent: BoardInfoFileContent) => {
this.showBoard(boardInfoFileContent);
});
}
}