From a87af264eb80953140f54ef4412e908eb6e549d5 Mon Sep 17 00:00:00 2001 From: sbwalker Date: Fri, 31 Jan 2025 08:42:36 -0500 Subject: [PATCH] added a ScriptsLoaded property in ModuleBase and ThemeBase for flow control in Interactive rendering scenarios --- Oqtane.Client/Modules/ModuleBase.cs | 10 ++++++++++ Oqtane.Client/Themes/ThemeBase.cs | 11 +++++++++++ 2 files changed, 21 insertions(+) diff --git a/Oqtane.Client/Modules/ModuleBase.cs b/Oqtane.Client/Modules/ModuleBase.cs index e2f89acc..fe40ddf6 100644 --- a/Oqtane.Client/Modules/ModuleBase.cs +++ b/Oqtane.Client/Modules/ModuleBase.cs @@ -18,6 +18,7 @@ namespace Oqtane.Modules private Logger _logger; private string _urlparametersstate; private Dictionary _urlparameters; + private bool _scriptsloaded = false; protected Logger logger => _logger ?? (_logger = new Logger(this)); @@ -117,6 +118,7 @@ namespace Oqtane.Modules await interop.IncludeScripts(scripts.ToArray()); } } + _scriptsloaded = true; } } @@ -125,6 +127,14 @@ namespace Oqtane.Modules return PageState?.RenderId == ModuleState?.RenderId; } + public bool ScriptsLoaded + { + get + { + return _scriptsloaded; + } + } + // path method public string ModulePath() diff --git a/Oqtane.Client/Themes/ThemeBase.cs b/Oqtane.Client/Themes/ThemeBase.cs index b56d958f..aa5eaf5b 100644 --- a/Oqtane.Client/Themes/ThemeBase.cs +++ b/Oqtane.Client/Themes/ThemeBase.cs @@ -15,6 +15,8 @@ namespace Oqtane.Themes { public abstract class ThemeBase : ComponentBase, IThemeControl { + private bool _scriptsloaded = false; + [Inject] protected ILogService LoggingService { get; set; } @@ -82,6 +84,15 @@ namespace Oqtane.Themes } } } + _scriptsloaded = true; + } + + public bool ScriptsLoaded + { + get + { + return _scriptsloaded; + } } // property for obtaining theme information about this theme component