Improvements to add support for script type and data-* attributes. Also added Script and Stylesheet classes to simplify Resource declarations.
This commit is contained in:
		| @ -37,11 +37,8 @@ | ||||
|     public override List<Resource> Resources => new List<Resource>() | ||||
|     { | ||||
| 		// obtained from https://cdnjs.com/libraries | ||||
|         new Resource { ResourceType = ResourceType.Stylesheet, Url = "https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/css/bootstrap.min.css",  | ||||
|             Integrity = "sha512-jnSuA4Ss2PkkikSOLtYs8BlYIeeIK1h99ty4YfvRPAlzr377vr3CXDb7sb7eEEBYjDtcYj+AjBH3FLv5uSJuXg==",  | ||||
|             CrossOrigin = "anonymous" }, | ||||
|         new Resource { ResourceType = ResourceType.Stylesheet, Url = ThemePath() + "Theme.css" }, | ||||
|         new Resource { ResourceType = ResourceType.Script, Url = Constants.BootstrapScriptUrl, Integrity = Constants.BootstrapScriptIntegrity, CrossOrigin = "anonymous", Location = ResourceLocation.Body }, | ||||
|         new Stylesheet("https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/css/bootstrap.min.css", "sha512-jnSuA4Ss2PkkikSOLtYs8BlYIeeIK1h99ty4YfvRPAlzr377vr3CXDb7sb7eEEBYjDtcYj+AjBH3FLv5uSJuXg==", "anonymous"), | ||||
|         new Stylesheet(ThemePath() + "Theme.css"), | ||||
|         new Script(Constants.BootstrapScriptUrl, Constants.BootstrapScriptIntegrity, "anonymous") | ||||
|     }; | ||||
|  | ||||
| } | ||||
|  | ||||
| @ -17,11 +17,9 @@ namespace Oqtane.Themes.OqtaneTheme | ||||
|             Resources = new List<Resource>() | ||||
|             { | ||||
| 		        // obtained from https://cdnjs.com/libraries | ||||
|                 new Resource { ResourceType = ResourceType.Stylesheet, Url = "https://cdnjs.cloudflare.com/ajax/libs/bootswatch/5.3.3/cyborg/bootstrap.min.css", | ||||
|                     Integrity = "sha512-M+Wrv9LTvQe81gFD2ZE3xxPTN5V2n1iLCXsldIxXvfs6tP+6VihBCwCMBkkjkQUZVmEHBsowb9Vqsq1et1teEg==", | ||||
|                     CrossOrigin = "anonymous" }, | ||||
|                 new Resource { ResourceType = ResourceType.Stylesheet, Url = "~/Theme.css" }, | ||||
|                 new Resource { ResourceType = ResourceType.Script, Url = Constants.BootstrapScriptUrl, Integrity = Constants.BootstrapScriptIntegrity, CrossOrigin = "anonymous", Location = ResourceLocation.Body } | ||||
|                 new Stylesheet("https://cdnjs.cloudflare.com/ajax/libs/bootswatch/5.3.3/cyborg/bootstrap.min.css", "sha512-M+Wrv9LTvQe81gFD2ZE3xxPTN5V2n1iLCXsldIxXvfs6tP+6VihBCwCMBkkjkQUZVmEHBsowb9Vqsq1et1teEg==", "anonymous"), | ||||
|                 new Stylesheet("~/Theme.css"), | ||||
|                 new Script(Constants.BootstrapScriptUrl, Constants.BootstrapScriptIntegrity, "anonymous") | ||||
|             } | ||||
|         }; | ||||
|     } | ||||
|  | ||||
| @ -62,17 +62,17 @@ namespace Oqtane.Themes | ||||
|                     var inline = 0; | ||||
|                     foreach (Resource resource in resources) | ||||
|                     { | ||||
|                         if (string.IsNullOrEmpty(resource.RenderMode) || resource.RenderMode == RenderModes.Interactive) | ||||
|                         if ((string.IsNullOrEmpty(resource.RenderMode) || resource.RenderMode == RenderModes.Interactive) && !resource.Reload) | ||||
|                         { | ||||
|                             if (!string.IsNullOrEmpty(resource.Url)) | ||||
|                             { | ||||
|                                 var url = (resource.Url.Contains("://")) ? resource.Url : PageState.Alias.BaseUrl + resource.Url; | ||||
|                                 scripts.Add(new { href = url, bundle = resource.Bundle ?? "", integrity = resource.Integrity ?? "", crossorigin = resource.CrossOrigin ?? "", es6module = resource.ES6Module, location = resource.Location.ToString().ToLower() }); | ||||
|                                 scripts.Add(new { href = url, type = resource.Type ?? "", bundle = resource.Bundle ?? "", integrity = resource.Integrity ?? "", crossorigin = resource.CrossOrigin ?? "", location = resource.Location.ToString().ToLower(), dataAttributes = resource.DataAttributes }); | ||||
|                             } | ||||
|                             else | ||||
|                             { | ||||
|                                 inline += 1; | ||||
|                                 await interop.IncludeScript(GetType().Namespace.ToLower() + inline.ToString(), "", "", "", resource.Content, resource.Location.ToString().ToLower()); | ||||
|                                 await interop.IncludeScript(GetType().Namespace.ToLower() + inline.ToString(), "", "", "", resource.Type ?? "", resource.Content, resource.Location.ToString().ToLower()); | ||||
|                             } | ||||
|                         } | ||||
|                     } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 sbwalker
					sbwalker