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

View file

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