fix #5205 add support for inheritance when loading Resources from ModuleBase or ThemeBase
This commit is contained in:
parent
2b6ba0f410
commit
c098839881
@ -79,18 +79,21 @@ namespace Oqtane.Modules
|
|||||||
{
|
{
|
||||||
List<Resource> resources = null;
|
List<Resource> resources = null;
|
||||||
var type = GetType();
|
var type = GetType();
|
||||||
if (type.BaseType == typeof(ModuleBase))
|
if (type.IsSubclassOf(typeof(ModuleBase)))
|
||||||
{
|
{
|
||||||
if (PageState.Page.Resources != null)
|
if (type.IsSubclassOf(typeof(ModuleControlBase)))
|
||||||
{
|
{
|
||||||
resources = PageState.Page.Resources.Where(item => item.ResourceType == ResourceType.Script && item.Level == ResourceLevel.Module && item.Namespace == type.Namespace).ToList();
|
if (Resources != null)
|
||||||
|
{
|
||||||
|
resources = Resources.Where(item => item.ResourceType == ResourceType.Script).ToList();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
else // ModuleBase
|
||||||
else // modulecontrolbase
|
|
||||||
{
|
|
||||||
if (Resources != null)
|
|
||||||
{
|
{
|
||||||
resources = Resources.Where(item => item.ResourceType == ResourceType.Script).ToList();
|
if (PageState.Page.Resources != null)
|
||||||
|
{
|
||||||
|
resources = PageState.Page.Resources.Where(item => item.ResourceType == ResourceType.Script && item.Level == ResourceLevel.Module && item.Namespace == type.Namespace).ToList();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (resources != null && resources.Any())
|
if (resources != null && resources.Any())
|
||||||
|
@ -43,18 +43,21 @@ namespace Oqtane.Themes
|
|||||||
{
|
{
|
||||||
List<Resource> resources = null;
|
List<Resource> resources = null;
|
||||||
var type = GetType();
|
var type = GetType();
|
||||||
if (type.BaseType == typeof(ThemeBase))
|
if (type.IsSubclassOf(typeof(ThemeBase)))
|
||||||
{
|
{
|
||||||
if (PageState.Page.Resources != null)
|
if (type.IsSubclassOf(typeof(ThemeControlBase)) || type.IsSubclassOf(typeof(ContainerBase)))
|
||||||
{
|
{
|
||||||
resources = PageState.Page.Resources.Where(item => item.ResourceType == ResourceType.Script && item.Level == ResourceLevel.Page && item.Namespace == type.Namespace).ToList();
|
if (Resources != null)
|
||||||
|
{
|
||||||
|
resources = Resources.Where(item => item.ResourceType == ResourceType.Script).ToList();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
else // ThemeBase
|
||||||
else // themecontrolbase, containerbase
|
|
||||||
{
|
|
||||||
if (Resources != null)
|
|
||||||
{
|
{
|
||||||
resources = Resources.Where(item => item.ResourceType == ResourceType.Script).ToList();
|
if (PageState.Page.Resources != null)
|
||||||
|
{
|
||||||
|
resources = PageState.Page.Resources.Where(item => item.ResourceType == ResourceType.Script && item.Level == ResourceLevel.Page && item.Namespace == type.Namespace).ToList();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (resources != null && resources.Any())
|
if (resources != null && resources.Any())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user