fix context bug
This commit is contained in:
Vendored
+12
-5
@@ -1438,9 +1438,9 @@
|
|||||||
let exitNext = false;
|
let exitNext = false;
|
||||||
while (this.contexts.length > 0) {
|
while (this.contexts.length > 0) {
|
||||||
const currentContext = this.context;
|
const currentContext = this.context;
|
||||||
if (!currentContext) return;
|
if (!currentContext) break;
|
||||||
const response = currentContext.handleContextClose(fromHistoryEvent);
|
const response = currentContext.handleContextClose(fromHistoryEvent);
|
||||||
if (response == false) return;
|
if (response == false) break;
|
||||||
this.contextStack.delete(currentContext.contextId);
|
this.contextStack.delete(currentContext.contextId);
|
||||||
if (response == true) {
|
if (response == true) {
|
||||||
exitNext = true;
|
exitNext = true;
|
||||||
@@ -4629,6 +4629,11 @@
|
|||||||
this.secondaryChannels.add(secondaryChannel);
|
this.secondaryChannels.add(secondaryChannel);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
// context
|
||||||
|
this.handleContextClose = (fromHistoryEvent) => {
|
||||||
|
if (!fromHistoryEvent) return;
|
||||||
|
return true;
|
||||||
|
};
|
||||||
this.preloadData();
|
this.preloadData();
|
||||||
this.cannotSetEncryptionKey = createProxyState(
|
this.cannotSetEncryptionKey = createProxyState(
|
||||||
[this.encryptionKeyInput],
|
[this.encryptionKeyInput],
|
||||||
@@ -4961,9 +4966,11 @@
|
|||||||
};
|
};
|
||||||
// context
|
// context
|
||||||
this.handleContextClose = (fromHistoryEvent) => {
|
this.handleContextClose = (fromHistoryEvent) => {
|
||||||
if (this.replyViewSelectedMessage.value == void 0 && fromHistoryEvent) return true;
|
if (fromHistoryEvent) {
|
||||||
this.resetReplyView();
|
if (this.replyViewSelectedMessage.value == void 0) return true;
|
||||||
return false;
|
this.resetReplyView();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
this.restoreFilter();
|
this.restoreFilter();
|
||||||
this.cannotSendMessage = createProxyState(
|
this.cannotSendMessage = createProxyState(
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
const VERSION = "2610 Beta 21.9"
|
const VERSION = "2610 Beta 21.11"
|
||||||
|
|
||||||
function processUrl(event) {
|
function processUrl(event) {
|
||||||
const url = event.request.url;
|
const url = event.request.url;
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1 +1 @@
|
|||||||
2610 Beta 21.9
|
2610 Beta 21.11
|
||||||
|
|||||||
@@ -56,17 +56,16 @@ export default class CoreViewModel {
|
|||||||
|
|
||||||
while (this.contexts.length > 0) {
|
while (this.contexts.length > 0) {
|
||||||
const currentContext: Context | undefined = this.context;
|
const currentContext: Context | undefined = this.context;
|
||||||
if (!currentContext) return;
|
if (!currentContext) break;
|
||||||
const response = currentContext.handleContextClose(fromHistoryEvent);
|
const response = currentContext.handleContextClose(fromHistoryEvent);
|
||||||
if (response == false) return;
|
if (response == false) break;
|
||||||
this.contextStack.delete(currentContext.contextId);
|
this.contextStack.delete(currentContext.contextId);
|
||||||
if (response == true) {
|
if (response == true) {
|
||||||
exitNext = true;
|
exitNext = true;
|
||||||
continue;
|
continue;
|
||||||
} else if (exitNext == true) {
|
} else if (exitNext == true) {
|
||||||
break
|
break
|
||||||
}
|
} else if (currentContext.contextId == contextId) {
|
||||||
else if (currentContext.contextId == contextId) {
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -198,57 +198,60 @@ export default class MessagePageViewModel extends Context {
|
|||||||
|
|
||||||
// context
|
// context
|
||||||
handleContextClose = (fromHistoryEvent: boolean):boolean=> {
|
handleContextClose = (fromHistoryEvent: boolean):boolean=> {
|
||||||
if (this.replyViewSelectedMessage.value == undefined && fromHistoryEvent) return true;
|
if (fromHistoryEvent) {
|
||||||
this.resetReplyView();
|
if (this.replyViewSelectedMessage.value == undefined) return true;
|
||||||
return false;
|
|
||||||
|
this.resetReplyView();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// init
|
// init
|
||||||
constructor(
|
constructor(
|
||||||
public readonly coreViewModel: CoreViewModel,
|
public readonly coreViewModel: CoreViewModel,
|
||||||
public readonly chatViewModel: ChatViewModel,
|
public readonly chatViewModel: ChatViewModel,
|
||||||
public readonly contactListViewModel: ContactListViewModel,
|
public readonly contactListViewModel: ContactListViewModel,
|
||||||
) {
|
) {
|
||||||
super("message-page");
|
super("message-page");
|
||||||
this.restoreFilter();
|
this.restoreFilter();
|
||||||
|
|
||||||
// states
|
// states
|
||||||
this.cannotSendMessage = React.createProxyState(
|
this.cannotSendMessage = React.createProxyState(
|
||||||
[
|
[
|
||||||
this.chatViewModel.settingsViewModel.username,
|
this.chatViewModel.settingsViewModel.username,
|
||||||
this.composingMessage,
|
this.composingMessage,
|
||||||
],
|
],
|
||||||
() =>
|
() =>
|
||||||
this.chatViewModel.settingsViewModel.username.value == "" ||
|
this.chatViewModel.settingsViewModel.username.value == "" ||
|
||||||
this.composingMessage.value == "",
|
this.composingMessage.value == "",
|
||||||
);
|
);
|
||||||
|
|
||||||
this.searchViewModel = new SearchViewModel(
|
this.searchViewModel = new SearchViewModel(
|
||||||
this.chatMessageViewModels,
|
this.chatMessageViewModels,
|
||||||
this.filteredMessageViewModels,
|
this.filteredMessageViewModels,
|
||||||
(chatMessageViewModel) => [chatMessageViewModel.body.value],
|
(chatMessageViewModel) => [chatMessageViewModel.body.value],
|
||||||
new React.ListState(),
|
new React.ListState(),
|
||||||
);
|
);
|
||||||
|
|
||||||
this.isFilterActive = React.createProxyState(
|
this.isFilterActive = React.createProxyState(
|
||||||
[this.searchViewModel.appliedQuery, this.reactionFilter],
|
[this.searchViewModel.appliedQuery, this.reactionFilter],
|
||||||
() =>
|
() =>
|
||||||
this.searchViewModel.appliedQuery.value != "" ||
|
this.searchViewModel.appliedQuery.value != "" ||
|
||||||
this.reactionFilter.value != undefined,
|
this.reactionFilter.value != undefined,
|
||||||
);
|
);
|
||||||
|
|
||||||
// keystrokes
|
// keystrokes
|
||||||
this.registerKeyStroke(CommonKeys.Filter, this.showFilterModal);
|
this.registerKeyStroke(CommonKeys.Filter, this.showFilterModal);
|
||||||
this.registerKeyStroke(CommonKeys.CloseOrCancel, () => {
|
this.registerKeyStroke(CommonKeys.CloseOrCancel, () => {
|
||||||
if (this.isFilterModalOpen.value == true) {
|
if (this.isFilterModalOpen.value == true) {
|
||||||
this.hideFilterModal();
|
this.hideFilterModal();
|
||||||
} else {
|
} else {
|
||||||
this.replyingMessage.value = undefined;
|
this.replyingMessage.value = undefined;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.registerKeyStroke(CommonKeys.Reset, this.resetFilter);
|
this.registerKeyStroke(CommonKeys.Reset, this.resetFilter);
|
||||||
this.registerKeyStroke(CommonKeys.Create, this.setFocus);
|
this.registerKeyStroke(CommonKeys.Create, this.setFocus);
|
||||||
|
|
||||||
this.chatViewModel.registerContext(ChatPageTypes.Messages, this);
|
this.chatViewModel.registerContext(ChatPageTypes.Messages, this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,6 +115,12 @@ export default class SettingsPageViewModel extends Context {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// context
|
||||||
|
handleContextClose = (fromHistoryEvent: boolean): void | boolean => {
|
||||||
|
if (!fromHistoryEvent) return;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// init
|
// init
|
||||||
constructor(
|
constructor(
|
||||||
public readonly coreViewModel: CoreViewModel,
|
public readonly coreViewModel: CoreViewModel,
|
||||||
|
|||||||
Reference in New Issue
Block a user