From 4aa0b83807159156af824da964ad5e71687f7fb1 Mon Sep 17 00:00:00 2001 From: Shaun Walker Date: Thu, 27 Aug 2020 17:16:54 -0400 Subject: [PATCH] wired up JavaScript support in Module Creator templates --- .../Modules/Templates/External/Client/Index.razor | 3 ++- .../Modules/Templates/External/Client/Interop.cs | 15 +++++++++++++++ .../wwwroot/Modules/[Owner].[Module]/Module.js | 6 +++++- .../Modules/[Owner].[Module]/Index.razor | 3 ++- .../Modules/[Owner].[Module]/Interop.cs | 15 +++++++++++++++ .../wwwroot/Modules/[Owner].[Module]/Module.js | 6 +++++- 6 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 Oqtane.Server/wwwroot/Modules/Templates/External/Client/Interop.cs create mode 100644 Oqtane.Server/wwwroot/Modules/Templates/Internal/Oqtane.Client/Modules/[Owner].[Module]/Interop.cs diff --git a/Oqtane.Server/wwwroot/Modules/Templates/External/Client/Index.razor b/Oqtane.Server/wwwroot/Modules/Templates/External/Client/Index.razor index 2ac9f31c..275b3ec8 100644 --- a/Oqtane.Server/wwwroot/Modules/Templates/External/Client/Index.razor +++ b/Oqtane.Server/wwwroot/Modules/Templates/External/Client/Index.razor @@ -73,7 +73,8 @@ else @code { public override List Resources => new List() { - new Resource { ResourceType = ResourceType.Stylesheet, Url = ModulePath() + "Module.css" } + new Resource { ResourceType = ResourceType.Stylesheet, Url = ModulePath() + "Module.css" }, + new Resource { ResourceType = ResourceType.Script, Url = ModulePath() + "Module.js" } }; List<[Module]> _[Module]s; diff --git a/Oqtane.Server/wwwroot/Modules/Templates/External/Client/Interop.cs b/Oqtane.Server/wwwroot/Modules/Templates/External/Client/Interop.cs new file mode 100644 index 00000000..9d6f0a4e --- /dev/null +++ b/Oqtane.Server/wwwroot/Modules/Templates/External/Client/Interop.cs @@ -0,0 +1,15 @@ +using Microsoft.JSInterop; +using System.Threading.Tasks; + +namespace [Owner].[Module] +{ + public class Interop + { + private readonly IJSRuntime _jsRuntime; + + public Interop(IJSRuntime jsRuntime) + { + _jsRuntime = jsRuntime; + } + } +} diff --git a/Oqtane.Server/wwwroot/Modules/Templates/External/Server/wwwroot/Modules/[Owner].[Module]/Module.js b/Oqtane.Server/wwwroot/Modules/Templates/External/Server/wwwroot/Modules/[Owner].[Module]/Module.js index 1b415a08..8f072470 100644 --- a/Oqtane.Server/wwwroot/Modules/Templates/External/Server/wwwroot/Modules/[Owner].[Module]/Module.js +++ b/Oqtane.Server/wwwroot/Modules/Templates/External/Server/wwwroot/Modules/[Owner].[Module]/Module.js @@ -1 +1,5 @@ -/* Module Script */ \ No newline at end of file +/* Module Script */ +var [Owner] = [Owner] || {}; + +[Owner].[Module] = { +}; \ No newline at end of file diff --git a/Oqtane.Server/wwwroot/Modules/Templates/Internal/Oqtane.Client/Modules/[Owner].[Module]/Index.razor b/Oqtane.Server/wwwroot/Modules/Templates/Internal/Oqtane.Client/Modules/[Owner].[Module]/Index.razor index 5f8f04e2..37cfef2a 100644 --- a/Oqtane.Server/wwwroot/Modules/Templates/Internal/Oqtane.Client/Modules/[Owner].[Module]/Index.razor +++ b/Oqtane.Server/wwwroot/Modules/Templates/Internal/Oqtane.Client/Modules/[Owner].[Module]/Index.razor @@ -63,7 +63,8 @@ else @code { public override List Resources => new List() { - new Resource { ResourceType = ResourceType.Stylesheet, Url = ModulePath() + "Module.css" } + new Resource { ResourceType = ResourceType.Stylesheet, Url = ModulePath() + "Module.css" }, + new Resource { ResourceType = ResourceType.Script, Url = ModulePath() + "Module.js" } }; List<[Module]> _[Module]s; diff --git a/Oqtane.Server/wwwroot/Modules/Templates/Internal/Oqtane.Client/Modules/[Owner].[Module]/Interop.cs b/Oqtane.Server/wwwroot/Modules/Templates/Internal/Oqtane.Client/Modules/[Owner].[Module]/Interop.cs new file mode 100644 index 00000000..9d6f0a4e --- /dev/null +++ b/Oqtane.Server/wwwroot/Modules/Templates/Internal/Oqtane.Client/Modules/[Owner].[Module]/Interop.cs @@ -0,0 +1,15 @@ +using Microsoft.JSInterop; +using System.Threading.Tasks; + +namespace [Owner].[Module] +{ + public class Interop + { + private readonly IJSRuntime _jsRuntime; + + public Interop(IJSRuntime jsRuntime) + { + _jsRuntime = jsRuntime; + } + } +} diff --git a/Oqtane.Server/wwwroot/Modules/Templates/Internal/Oqtane.Server/wwwroot/Modules/[Owner].[Module]/Module.js b/Oqtane.Server/wwwroot/Modules/Templates/Internal/Oqtane.Server/wwwroot/Modules/[Owner].[Module]/Module.js index 1b415a08..8f072470 100644 --- a/Oqtane.Server/wwwroot/Modules/Templates/Internal/Oqtane.Server/wwwroot/Modules/[Owner].[Module]/Module.js +++ b/Oqtane.Server/wwwroot/Modules/Templates/Internal/Oqtane.Server/wwwroot/Modules/[Owner].[Module]/Module.js @@ -1 +1,5 @@ -/* Module Script */ \ No newline at end of file +/* Module Script */ +var [Owner] = [Owner] || {}; + +[Owner].[Module] = { +}; \ No newline at end of file