Cleanup knoin

This commit is contained in:
the-djmaze 2023-10-24 17:25:09 +02:00
parent e6a60b879e
commit 36789bd3b5

View file

@ -25,13 +25,13 @@ const
screen = screenName => (screenName && SCREENS.get(screenName)) || null, screen = screenName => (screenName && SCREENS.get(screenName)) || null,
/** /**
* Creates the extended AbstractView model
* @param {Function} ViewModelClass * @param {Function} ViewModelClass
* @param {Object=} vmScreen * @param {Object=} vmScreen
* @returns {*} * @returns {*}
*/ */
buildViewModel = (ViewModelClass, vmScreen) => { buildViewModel = (ViewModelClass, vmScreen) => {
if (ViewModelClass && !ViewModelClass.__builded) { if (ViewModelClass && !ViewModelClass.__vm) {
let vmDom = null;
const const
vm = new ViewModelClass(vmScreen), vm = new ViewModelClass(vmScreen),
id = vm.viewModelTemplateID, id = vm.viewModelTemplateID,
@ -39,11 +39,10 @@ const
dialog = ViewTypePopup === vm.viewType, dialog = ViewTypePopup === vm.viewType,
vmPlace = doc.getElementById(position); vmPlace = doc.getElementById(position);
ViewModelClass.__builded = true;
ViewModelClass.__vm = vm;
if (vmPlace) { if (vmPlace) {
vmDom = dialog ViewModelClass.__vm = vm;
let vmDom = dialog
? createElement('dialog',{id:'V-'+id}) ? createElement('dialog',{id:'V-'+id})
: createElement('div',{id:'V-'+id,hidden:''}) : createElement('div',{id:'V-'+id,hidden:''})
vmPlace.append(vmDom); vmPlace.append(vmDom);
@ -136,7 +135,7 @@ const
forEachViewModel = (screen, fn) => { forEachViewModel = (screen, fn) => {
screen.viewModels.forEach(ViewModelClass => { screen.viewModels.forEach(ViewModelClass => {
if ( if (
ViewModelClass.__vm?.viewModelDom && ViewModelClass.__vm &&
ViewTypePopup !== ViewModelClass.__vm.viewType ViewTypePopup !== ViewModelClass.__vm.viewType
) { ) {
fn(ViewModelClass.__vm, ViewModelClass.__vm.viewModelDom); fn(ViewModelClass.__vm, ViewModelClass.__vm.viewModelDom);
@ -227,7 +226,7 @@ export const
*/ */
showScreenPopup = (ViewModelClassToShow, params = []) => { showScreenPopup = (ViewModelClassToShow, params = []) => {
const vm = buildViewModel(ViewModelClassToShow); const vm = buildViewModel(ViewModelClassToShow);
if (vm && vm.viewModelDom) { if (vm) {
params = params || []; params = params || [];
vm.beforeShow?.(...params); vm.beforeShow?.(...params);
vm.modalVisible(true); vm.modalVisible(true);