diff --git a/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor b/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor index d2f8b104..0943a512 100644 --- a/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor +++ b/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor @@ -271,7 +271,7 @@ protected override async Task OnParametersSetAsync() { // repopulate the SiteState service based on the values passed in the SiteState parameter (this is how state is marshalled across the render mode boundary) - ComponentSiteState.Clone(SiteState); + ComponentSiteState.Hydrate(SiteState); _canViewAdminDashboard = CanViewAdminDashboard(); if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.PermissionList)) diff --git a/Oqtane.Client/UI/RenderModeBoundary.razor b/Oqtane.Client/UI/RenderModeBoundary.razor index 37bade8e..e4d6873e 100644 --- a/Oqtane.Client/UI/RenderModeBoundary.razor +++ b/Oqtane.Client/UI/RenderModeBoundary.razor @@ -71,7 +71,7 @@ if (ModuleType != null) { // repopulate the SiteState service based on the values passed in the SiteState parameter (this is how state is marshalled across the render mode boundary) - ComponentSiteState.Clone(SiteState); + ComponentSiteState.Hydrate(SiteState); DynamicComponent = builder => { diff --git a/Oqtane.Client/UI/SiteRouter.razor b/Oqtane.Client/UI/SiteRouter.razor index 4a606397..fec6dbf5 100644 --- a/Oqtane.Client/UI/SiteRouter.razor +++ b/Oqtane.Client/UI/SiteRouter.razor @@ -569,21 +569,22 @@ // ensure resource does not exist already if (!pageresources.Exists(item => item.Url.ToLower() == resource.Url.ToLower())) { - pageresources.Add(new Resource - { - ResourceType = resource.ResourceType, - Url = resource.Url, - Integrity = resource.Integrity, - CrossOrigin = resource.CrossOrigin, - Bundle = resource.Bundle, - Location = resource.Location, - ES6Module = resource.ES6Module, - Content = resource.Content, - RenderMode = resource.RenderMode, - Reload = resource.Reload, - Level = level, - Namespace = name - }); + pageresources.Add(resource.Clone(level, name)); + // pageresources.Add(new Resource + // { + // ResourceType = resource.ResourceType, + // Url = resource.Url, + // Integrity = resource.Integrity, + // CrossOrigin = resource.CrossOrigin, + // Bundle = resource.Bundle, + // Location = resource.Location, + // ES6Module = resource.ES6Module, + // Content = resource.Content, + // RenderMode = resource.RenderMode, + // Reload = resource.Reload, + // Level = level, + // Namespace = name + // }); } } } diff --git a/Oqtane.Server/Components/App.razor b/Oqtane.Server/Components/App.razor index 4d35946c..82e9d3d2 100644 --- a/Oqtane.Server/Components/App.razor +++ b/Oqtane.Server/Components/App.razor @@ -681,21 +681,22 @@ // ensure resource does not exist already if (!pageresources.Exists(item => item.Url.ToLower() == resource.Url.ToLower())) { - pageresources.Add(new Resource - { - ResourceType = resource.ResourceType, - Url = resource.Url, - Integrity = resource.Integrity, - CrossOrigin = resource.CrossOrigin, - Bundle = resource.Bundle, - Location = resource.Location, - ES6Module = resource.ES6Module, - Content = resource.Content, - RenderMode = resource.RenderMode, - Reload = resource.Reload, - Level = level, - Namespace = name - }); + pageresources.Add(resource.Clone(level, name)); + // pageresources.Add(new Resource + // { + // ResourceType = resource.ResourceType, + // Url = resource.Url, + // Integrity = resource.Integrity, + // CrossOrigin = resource.CrossOrigin, + // Bundle = resource.Bundle, + // Location = resource.Location, + // ES6Module = resource.ES6Module, + // Content = resource.Content, + // RenderMode = resource.RenderMode, + // Reload = resource.Reload, + // Level = level, + // Namespace = name + // }); } } } diff --git a/Oqtane.Shared/Models/Alias.cs b/Oqtane.Shared/Models/Alias.cs index 1cc800c0..dcad9e95 100644 --- a/Oqtane.Shared/Models/Alias.cs +++ b/Oqtane.Shared/Models/Alias.cs @@ -1,5 +1,3 @@ -using System; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; namespace Oqtane.Models diff --git a/Oqtane.Shared/Models/Resource.cs b/Oqtane.Shared/Models/Resource.cs index 8092256b..177475d0 100644 --- a/Oqtane.Shared/Models/Resource.cs +++ b/Oqtane.Shared/Models/Resource.cs @@ -77,6 +77,24 @@ namespace Oqtane.Models /// public string Namespace { get; set; } + public Resource Clone(ResourceLevel level, string name) + { + var resource = new Resource(); + resource.ResourceType = ResourceType; + resource.Url = Url; + resource.Integrity = Integrity; + resource.CrossOrigin = CrossOrigin; + resource.Bundle = Bundle; + resource.Location = Location; + resource.ES6Module = ES6Module; + resource.Content = Content; + resource.RenderMode = RenderMode; + resource.Reload = Reload; + resource.Level = level; + resource.Namespace = name; + return resource; + } + [Obsolete("ResourceDeclaration is deprecated", false)] public ResourceDeclaration Declaration { get; set; } } diff --git a/Oqtane.Shared/Shared/SiteState.cs b/Oqtane.Shared/Shared/SiteState.cs index 8370161c..6e8dc618 100644 --- a/Oqtane.Shared/Shared/SiteState.cs +++ b/Oqtane.Shared/Shared/SiteState.cs @@ -1,6 +1,3 @@ -using System.Net; -using System.Xml.Linq; -using System; using Oqtane.Models; namespace Oqtane.Shared @@ -31,7 +28,7 @@ namespace Oqtane.Shared } } - public void Clone(SiteState siteState) + public void Hydrate(SiteState siteState) { Alias = siteState.Alias; AntiForgeryToken = siteState.AntiForgeryToken;