consolidate Clone logic for Resource objects
This commit is contained in:
		@ -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))
 | 
			
		||||
 | 
			
		||||
@ -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 =>
 | 
			
		||||
                    {
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
                        // });
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
                    // });
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,3 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.ComponentModel.DataAnnotations.Schema;
 | 
			
		||||
 | 
			
		||||
namespace Oqtane.Models
 | 
			
		||||
 | 
			
		||||
@ -77,6 +77,24 @@ namespace Oqtane.Models
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        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; }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user