From b5021276dbf2e840e6574432ff248290bb3503f6 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Tue, 21 May 2019 13:41:54 +0300 Subject: [PATCH] widget enhancements --- .../Mvc/UI/Widgets/WidgetRenderer.cs | 3 +-- .../DashboardDemoWebModule.cs | 1 + .../src/DashboardDemo.Web/Pages/Index.cshtml | 3 ++- .../WidgetDefinitionProvider.cs | 26 ------------------- .../Widgets/WidgetDefinitionProvider.cs | 23 ++++++++++++++++ .../DashboardDemo.Web/Widgets/WidgetNames.cs | 14 ++++++++++ 6 files changed, 41 insertions(+), 29 deletions(-) delete mode 100644 samples/DashboardDemo/src/DashboardDemo.Web/WidgetDefinitionProvider.cs create mode 100644 samples/DashboardDemo/src/DashboardDemo.Web/Widgets/WidgetDefinitionProvider.cs create mode 100644 samples/DashboardDemo/src/DashboardDemo.Web/Widgets/WidgetNames.cs diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Widgets/Volo/Abp/AspNetCore/Mvc/UI/Widgets/WidgetRenderer.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Widgets/Volo/Abp/AspNetCore/Mvc/UI/Widgets/WidgetRenderer.cs index 36e48e2169..b39194e2f2 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Widgets/Volo/Abp/AspNetCore/Mvc/UI/Widgets/WidgetRenderer.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Widgets/Volo/Abp/AspNetCore/Mvc/UI/Widgets/WidgetRenderer.cs @@ -1,5 +1,4 @@ -using System; -using System.Linq; +using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Html; using Microsoft.AspNetCore.Mvc; diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/DashboardDemoWebModule.cs b/samples/DashboardDemo/src/DashboardDemo.Web/DashboardDemoWebModule.cs index 3e71e5f7da..d014c165f9 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/DashboardDemoWebModule.cs +++ b/samples/DashboardDemo/src/DashboardDemo.Web/DashboardDemoWebModule.cs @@ -9,6 +9,7 @@ using DashboardDemo.Localization.DashboardDemo; using DashboardDemo.Menus; using DashboardDemo.Pages.widgets; using DashboardDemo.Permissions; +using DashboardDemo.Widgets; using Swashbuckle.AspNetCore.Swagger; using Volo.Abp; using Volo.Abp.Account.Web; diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/Index.cshtml b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/Index.cshtml index 45f826d4ff..704827cc62 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/Index.cshtml +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/Index.cshtml @@ -1,5 +1,6 @@ @page @using DashboardDemo.Pages +@using DashboardDemo.Widgets @using Volo.Abp.AspNetCore.Mvc.UI.Widgets @inherits DashboardDemoPageBase @inject IWidgetRenderer WidgetRenderer @@ -10,6 +11,6 @@ @L["Welcome"] - @await WidgetRenderer.RenderAsync(Component, "MyWidget") + @await WidgetRenderer.RenderAsync(Component, WidgetNames.MyWidget) \ No newline at end of file diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/WidgetDefinitionProvider.cs b/samples/DashboardDemo/src/DashboardDemo.Web/WidgetDefinitionProvider.cs deleted file mode 100644 index 1bc238e40c..0000000000 --- a/samples/DashboardDemo/src/DashboardDemo.Web/WidgetDefinitionProvider.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using DashboardDemo.Localization.DashboardDemo; -using DashboardDemo.Pages.widgets; -using Volo.Abp.AspNetCore.Mvc.UI.Widgets; -using Volo.Abp.Localization; - -namespace DashboardDemo -{ - public class WidgetDefinitionProvider : IWidgetDefinitionProvider - { - public List GetDefinitions() - { - var widgets = new List(); - - var myWidget = new WidgetDefinition("MyWidget", typeof(MyWidgetViewComponentModel), - new LocalizableString(typeof(DashboardDemoResource), "MyWidgett")); - - widgets.Add(myWidget); - - return widgets; - } - } -} diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Widgets/WidgetDefinitionProvider.cs b/samples/DashboardDemo/src/DashboardDemo.Web/Widgets/WidgetDefinitionProvider.cs new file mode 100644 index 0000000000..b6d51a137c --- /dev/null +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Widgets/WidgetDefinitionProvider.cs @@ -0,0 +1,23 @@ +using System.Collections.Generic; +using DashboardDemo.Localization.DashboardDemo; +using DashboardDemo.Pages.widgets; +using Volo.Abp.AspNetCore.Mvc.UI.Widgets; +using Volo.Abp.Localization; + +namespace DashboardDemo.Widgets +{ + public class WidgetDefinitionProvider : IWidgetDefinitionProvider + { + public List GetDefinitions() + { + return new List + { + new WidgetDefinition( + WidgetNames.MyWidget, + typeof(MyWidgetViewComponentModel), + new LocalizableString(typeof(DashboardDemoResource), "MyWidgett") + ) + }; + } + } +} diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Widgets/WidgetNames.cs b/samples/DashboardDemo/src/DashboardDemo.Web/Widgets/WidgetNames.cs new file mode 100644 index 0000000000..03cc1dd60d --- /dev/null +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Widgets/WidgetNames.cs @@ -0,0 +1,14 @@ +using Volo.Abp.Reflection; + +namespace DashboardDemo.Widgets +{ + public static class WidgetNames + { + public const string MyWidget = "MyWidget"; + + public static string[] GetAll() + { + return ReflectionHelper.GetPublicConstantsRecursively(typeof(WidgetNames)); + } + } +}