Bugfix: messagelist viewAppendArea failed to missing observableArray

This commit is contained in:
djmaze 2021-03-16 17:09:39 +01:00
parent b7c02321fa
commit 845483d127
2 changed files with 6 additions and 7 deletions

View file

@ -4,8 +4,7 @@ import { doc, $htmlCL } from 'Common/Globals';
import { isNonEmptyArray } from 'Common/Utils';
let currentScreen = null,
defaultScreenName = '',
popupVisibilityNames = [];
defaultScreenName = '';
const SCREENS = {},
autofocus = dom => {
@ -13,7 +12,7 @@ const SCREENS = {},
af && af.focus();
};
export const popupVisibility = ko.computed(() => 0 < popupVisibilityNames.length);
export const popupVisibilityNames = ko.observableArray([]);
export const ViewType = {
Popup: 'Popups',
@ -109,7 +108,7 @@ function buildViewModel(ViewModelClass, vmScreen) {
vm.modalVisibility.subscribe(value => {
if (value) {
vmDom.style.zIndex = 3000 + popupVisibilityNames.length + 10;
vmDom.style.zIndex = 3000 + popupVisibilityNames().length + 10;
vmDom.hidden = false;
vm.storeAndSetScope();
popupVisibilityNames.push(vm.viewModelName);
@ -121,7 +120,7 @@ function buildViewModel(ViewModelClass, vmScreen) {
vm.onHide && vm.onHide();
vmDom.classList.remove('show');
vm.restoreScope();
popupVisibilityNames = popupVisibilityNames.filter(v=>v!==vm.viewModelName);
popupVisibilityNames(popupVisibilityNames.filter(v=>v!==vm.viewModelName));
}
vmDom.setAttribute('aria-hidden', !value);
});

View file

@ -39,7 +39,7 @@ import { ThemeStore } from 'Stores/Theme';
import Remote from 'Remote/User/Fetch';
import { decorateKoCommands, showScreenPopup, popupVisibility } from 'Knoin/Knoin';
import { decorateKoCommands, showScreenPopup, popupVisibilityNames } from 'Knoin/Knoin';
import { AbstractViewRight } from 'Knoin/AbstractViews';
import { FolderClearPopupView } from 'View/Popup/FolderClear';
@ -67,7 +67,7 @@ export class MessageListMailBoxUserView extends AbstractViewRight {
this.allowMessageListActions = Settings.capa(Capa.MessageListActions);
this.allowDangerousActions = Settings.capa(Capa.DangerousActions);
this.popupVisibility = popupVisibility;
this.popupVisibility = ko.computed(() => 0 < popupVisibilityNames().length);
this.message = MessageUserStore.message;
this.messageList = MessageUserStore.list;