diff --git a/dev/Knoin/Knoin.js b/dev/Knoin/Knoin.js index 9267d3199..0562674d6 100644 --- a/dev/Knoin/Knoin.js +++ b/dev/Knoin/Knoin.js @@ -48,7 +48,7 @@ const : createElement('div',{id:'V-'+id,hidden:''}) vmPlace.append(vmDom); - vm.viewModelDom = ViewModelClass.__dom = vmDom; + vm.viewModelDom = vmDom; if (dialog) { // Firefox < 98 / Safari < 15.4 HTMLDialogElement not defined @@ -136,11 +136,10 @@ const forEachViewModel = (screen, fn) => { screen.viewModels.forEach(ViewModelClass => { if ( - ViewModelClass.__vm && - ViewModelClass.__dom && + ViewModelClass.__vm?.viewModelDom && ViewTypePopup !== ViewModelClass.__vm.viewType ) { - fn(ViewModelClass.__vm, ViewModelClass.__dom); + fn(ViewModelClass.__vm, ViewModelClass.__vm.viewModelDom); } }); }, @@ -150,7 +149,7 @@ const forEachViewModel(screenToHide, (vm, dom) => { dom.hidden = true; vm.onHide?.(); - destroy && vm.viewModelDom.remove(); + destroy && dom.remove(); }); ThemeStore.isMobile() && leftPanelDisabled(true); }, @@ -227,15 +226,11 @@ export const * @returns {void} */ showScreenPopup = (ViewModelClassToShow, params = []) => { - const vm = buildViewModel(ViewModelClassToShow) && ViewModelClassToShow.__dom && ViewModelClassToShow.__vm; - - if (vm) { + const vm = buildViewModel(ViewModelClassToShow); + if (vm && vm.viewModelDom) { params = params || []; - vm.beforeShow?.(...params); - vm.modalVisible(true); - vm.onShow?.(...params); } }, diff --git a/dev/Screen/AbstractSettings.js b/dev/Screen/AbstractSettings.js index 484861caf..8d19aeb67 100644 --- a/dev/Screen/AbstractSettings.js +++ b/dev/Screen/AbstractSettings.js @@ -30,7 +30,7 @@ export class AbstractSettingsScreen extends AbstractScreen { if (RoutedSettingsViewModel) { // const vmPlace = elementById('V-SettingsPane') || elementById('V-AdminPane); - const vmPlace = this.viewModels[1].__dom, + const vmPlace = this.viewModels[1].__vm.viewModelDom, SettingsViewModelClass = RoutedSettingsViewModel.vmc; if (SettingsViewModelClass.__vm) { settingsScreen = SettingsViewModelClass.__vm; @@ -46,7 +46,6 @@ export class AbstractSettingsScreen extends AbstractScreen { settingsScreen.viewModelDom = viewModelDom; settingsScreen.viewModelTemplateID = RoutedSettingsViewModel.template; - SettingsViewModelClass.__dom = viewModelDom; SettingsViewModelClass.__vm = settingsScreen; fireEvent('rl-view-model.create', settingsScreen);