fix board context management, cleanup
This commit is contained in:
@@ -94,7 +94,6 @@ export default class CoreViewModel {
|
||||
|
||||
export class Context {
|
||||
contextId = v4();
|
||||
contextDebugDescription: string;
|
||||
keystrokes = new Map<string, () => void>();
|
||||
|
||||
handleKeystroke = (e: KeyboardEvent): boolean => {
|
||||
@@ -112,6 +111,8 @@ export class Context {
|
||||
registerKeyStroke = (key: string, fn: () => void): void => {
|
||||
this.keystrokes.set(key, fn);
|
||||
};
|
||||
|
||||
constructor(public contextDebugDescription: string) {}
|
||||
}
|
||||
|
||||
export class ContextHost<T> extends Context {
|
||||
|
||||
@@ -13,8 +13,6 @@ import CoreViewModel, { Context } from "./coreViewModel";
|
||||
import { CommonKeys } from "../../View/keystrokes";
|
||||
|
||||
export default class FileTransferViewModel extends Context {
|
||||
contextDebugDescription = "transfer";
|
||||
|
||||
// state
|
||||
presentedModal: React.State<FileTransferModals | undefined> =
|
||||
new React.State<any>(undefined);
|
||||
@@ -173,7 +171,7 @@ export default class FileTransferViewModel extends Context {
|
||||
|
||||
// init
|
||||
constructor(public readonly coreViewModel: CoreViewModel) {
|
||||
super();
|
||||
super("file-transfer");
|
||||
|
||||
this.coreViewModel.fileTransferModel.fileHandlerManager.addHandler(
|
||||
this.handleReceivedFile,
|
||||
|
||||
@@ -42,7 +42,7 @@ export default class NotificationViewModel {
|
||||
(chat) => chat.chatModel.info.primaryChannel == notification.chat,
|
||||
);
|
||||
chat.open();
|
||||
chat.selectedPage.value = ChatPageTypes.Messages;
|
||||
chat.openPage(ChatPageTypes.Messages);
|
||||
};
|
||||
|
||||
// loop
|
||||
|
||||
@@ -5,8 +5,6 @@ import { Languages, ThemeSettings } from "../../Model/Global/settingsModel";
|
||||
import { CommonKeys } from "../../View/keystrokes";
|
||||
|
||||
export default class SettingsViewModel extends Context {
|
||||
contextDebugDescription = "settings";
|
||||
|
||||
// state
|
||||
username: React.State<string> = new React.State("");
|
||||
usernameInput: React.State<string> = new React.State("");
|
||||
@@ -73,7 +71,7 @@ export default class SettingsViewModel extends Context {
|
||||
|
||||
// init
|
||||
constructor(public readonly coreViewModel: CoreViewModel) {
|
||||
super();
|
||||
super("settings");
|
||||
|
||||
this.username.value = coreViewModel.settingsModel.username;
|
||||
this.usernameInput.value = coreViewModel.settingsModel.username;
|
||||
|
||||
@@ -8,8 +8,6 @@ import CoreViewModel, { Context } from "./coreViewModel";
|
||||
import { CommonKeys } from "../../View/keystrokes";
|
||||
|
||||
export default class StorageViewModel extends Context {
|
||||
contextDebugDescription = "storage";
|
||||
|
||||
// state
|
||||
isShowingStorageModal: React.State<boolean> = new React.State(false);
|
||||
selectedPath: React.State<string> = new React.State(
|
||||
@@ -67,7 +65,7 @@ export default class StorageViewModel extends Context {
|
||||
|
||||
// init
|
||||
constructor(public readonly coreViewModel: CoreViewModel) {
|
||||
super();
|
||||
super("storage");
|
||||
|
||||
this.selectedFileName = React.createProxyState(
|
||||
[this.selectedPath],
|
||||
|
||||
Reference in New Issue
Block a user