handle new items through ViewModels
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user