From a945275d3fed3430c37c2a613c1c1d0087427243 Mon Sep 17 00:00:00 2001 From: Sale Djenic Date: Mon, 18 Oct 2021 12:18:03 +0200 Subject: [PATCH] Registering context property moved from constructor to the load method for each module. --- src/app/modules/main/chat_section/module.nim | 9 +++++++++ src/app/modules/main/module.nim | 4 ++-- src/app/modules/startup/login/module.nim | 7 +++++-- src/app/modules/startup/module.nim | 4 ++-- src/app/modules/startup/onboarding/module.nim | 7 +++++-- 5 files changed, 23 insertions(+), 8 deletions(-) diff --git a/src/app/modules/main/chat_section/module.nim b/src/app/modules/main/chat_section/module.nim index b5ffed4679..75b5a8f4c3 100644 --- a/src/app/modules/main/chat_section/module.nim +++ b/src/app/modules/main/chat_section/module.nim @@ -2,6 +2,7 @@ import NimQml import io_interface import ../io_interface as delegate_interface import view, controller +import ../../../../app/boot/global_singleton import ../../../../app_service/service/chat/service as chat_service import ../../../../app_service/service/community/service as community_service @@ -34,6 +35,14 @@ method delete*(self: Module) = self.controller.delete method load*(self: Module) = + if(self.controller.isCommunity()): + singletonInstance.engine.setRootContextProperty("communitySectionModule", + self.viewVariant) + else: + singletonInstance.engine.setRootContextProperty("chatSectionModule", + self.viewVariant) + + self.controller.init() self.view.load() method isLoaded*(self: Module): bool = diff --git a/src/app/modules/main/module.nim b/src/app/modules/main/module.nim index 638f1cfe50..9006c43958 100644 --- a/src/app/modules/main/module.nim +++ b/src/app/modules/main/module.nim @@ -39,8 +39,6 @@ proc newModule*[T](delegate: T, result.viewVariant = newQVariant(result.view) result.controller = controller.newController(result, communityService) - singletonInstance.engine.setRootContextProperty("mainModule", result.viewVariant) - # Submodules result.chatSectionModule = chat_section_module.newModule(result, "chat", false, chatService, communityService) @@ -60,6 +58,8 @@ method delete*[T](self: Module[T]) = self.controller.delete method load*[T](self: Module[T]) = + singletonInstance.engine.setRootContextProperty("mainModule", self.viewVariant) + self.controller.init() self.view.load() let chatSectionItem = initItem("chat", ChatSectionType.Chat.int, "Chat", "", diff --git a/src/app/modules/startup/login/module.nim b/src/app/modules/startup/login/module.nim index 05f51a2874..df8ad7bde4 100644 --- a/src/app/modules/startup/login/module.nim +++ b/src/app/modules/startup/login/module.nim @@ -1,7 +1,6 @@ import NimQml import io_interface, view, controller - -#import ../../../../app_service/service/community/service as community_service +import ../../../../app/boot/global_singleton export io_interface @@ -28,6 +27,10 @@ method delete*[T](self: Module[T]) = self.controller.delete method load*[T](self: Module[T]) = + singletonInstance.engine.setRootContextProperty("loginModule", self.viewVariant) + self.controller.init() + self.view.load() + self.moduleLoaded = true self.delegate.loginDidLoad() diff --git a/src/app/modules/startup/module.nim b/src/app/modules/startup/module.nim index cb871bf8a5..829112ae6f 100644 --- a/src/app/modules/startup/module.nim +++ b/src/app/modules/startup/module.nim @@ -41,8 +41,6 @@ proc newModule*[T](delegate: T): result.viewVariant = newQVariant(result.view) result.controller = controller.newController[Module[T]](result) - singletonInstance.engine.setRootContextProperty("startupModule", result.viewVariant) - # Submodules result.onboardingModule = onboarding_module.newModule[Module[T]](result) result.loginModule = login_module.newModule[Module[T]](result) @@ -55,6 +53,8 @@ method delete*[T](self: Module[T]) = self.controller.delete method load*[T](self: Module[T]) = + singletonInstance.engine.setRootContextProperty("startupModule", self.viewVariant) + self.controller.init() self.view.load() method viewDidLoad*[T](self: Module[T]) = diff --git a/src/app/modules/startup/onboarding/module.nim b/src/app/modules/startup/onboarding/module.nim index 81f90ce784..42db854a4f 100644 --- a/src/app/modules/startup/onboarding/module.nim +++ b/src/app/modules/startup/onboarding/module.nim @@ -1,7 +1,6 @@ import NimQml import io_interface, view, controller - -#import ../../../../app_service/service/community/service as community_service +import ../../../../app/boot/global_singleton export io_interface @@ -28,6 +27,10 @@ method delete*[T](self: Module[T]) = self.controller.delete method load*[T](self: Module[T]) = + singletonInstance.engine.setRootContextProperty("onboardingModule", self.viewVariant) + self.controller.init() + self.view.load() + self.moduleLoaded = true self.delegate.onboardingDidLoad()