From ae46e96b81ff307308ec01f019fea76e10b6b08e Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Thu, 23 May 2019 16:07:08 +0300 Subject: [PATCH] functional widgets added --- .../Components/Dashboard/Default.cshtml | 7 +++---- .../DashboardDemo.Web/DashboardDemoWebModule.cs | 8 ++++++++ .../Dashboards/DashboardDefinitionProvider.cs | 4 ++-- .../src/DashboardDemo.Web/Pages/Index.cshtml | 7 +++++-- .../Pages/MyDashboardScriptBundleContributor.cs | 4 ++-- .../Pages/MyDashboardStyleBundleContributor.cs | 4 ++-- .../widgets/DemoStatisticsStyleContributor.cs | 8 -------- .../widgets/DemoStatisticsViewComponent.cshtml | 6 ------ .../DemoStatisticsViewComponent.cshtml.cs | 17 ----------------- .../Pages/widgets/MyDashboard.js | 1 - .../Pages/widgets/MyWidgetViewComponent.cshtml | 6 ------ .../widgets/MyWidgetViewComponent.cshtml.cs | 17 ----------------- .../{MyDashboard.css => RoleListWidget.css} | 0 .../Pages/widgets/RoleListWidget.js | 14 ++++++++++++++ ...or.cs => RoleListWidgetScriptContributor.cs} | 6 +++++- .../widgets/RoleListWidgetStyleContributor.cs | 12 ++++++++++++ .../widgets/RoleListWidgetViewComponent.cshtml | 15 +++++++++++++++ .../RoleListWidgetViewComponent.cshtml.cs | 17 +++++++++++++++++ .../Pages/widgets/UserCountWidget.css | 3 +++ .../Pages/widgets/UserCountWidget.js | 10 ++++++++++ ...> UserCountWidgetScriptBundleContributor.cs} | 4 ++-- ...=> UserCountWidgetStyleBundleContributor.cs} | 4 ++-- .../widgets/UserCountWidgetViewComponent.cshtml | 12 ++++++++++++ .../UserCountWidgetViewComponent.cshtml.cs | 17 +++++++++++++++++ .../Widgets/WidgetDefinitionProvider.cs | 13 +++++++------ 25 files changed, 138 insertions(+), 78 deletions(-) delete mode 100644 samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/DemoStatisticsStyleContributor.cs delete mode 100644 samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/DemoStatisticsViewComponent.cshtml delete mode 100644 samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/DemoStatisticsViewComponent.cshtml.cs delete mode 100644 samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyDashboard.js delete mode 100644 samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyWidgetViewComponent.cshtml delete mode 100644 samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyWidgetViewComponent.cshtml.cs rename samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/{MyDashboard.css => RoleListWidget.css} (100%) create mode 100644 samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidget.js rename samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/{DemoStatisticsScriptContributor.cs => RoleListWidgetScriptContributor.cs} (51%) create mode 100644 samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidgetStyleContributor.cs create mode 100644 samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidgetViewComponent.cshtml create mode 100644 samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidgetViewComponent.cshtml.cs create mode 100644 samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidget.css create mode 100644 samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidget.js rename samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/{MyWidgetScriptBundleContributor.cs => UserCountWidgetScriptBundleContributor.cs} (74%) rename samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/{MyWidgetStyleBundleContributor.cs => UserCountWidgetStyleBundleContributor.cs} (75%) create mode 100644 samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidgetViewComponent.cshtml create mode 100644 samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidgetViewComponent.cshtml.cs diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo/Abp/AspNetCore/Mvc/UI/Dashboards/Components/Dashboard/Default.cshtml b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo/Abp/AspNetCore/Mvc/UI/Dashboards/Components/Dashboard/Default.cshtml index 52a70bb54f..4cf357d830 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo/Abp/AspNetCore/Mvc/UI/Dashboards/Components/Dashboard/Default.cshtml +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo/Abp/AspNetCore/Mvc/UI/Dashboards/Components/Dashboard/Default.cshtml @@ -10,11 +10,10 @@ @foreach (var widgetConfiguration in Model.Dashboard.AvailableWidgets) { var widgetDefinition = Model.GetWidget(widgetConfiguration.WidgetName); - widgetDefinition.DefaultDimensions = widgetConfiguration.Dimensions ?? widgetDefinition.DefaultDimensions ?? new WidgetDimensions(5, 5); + widgetDefinition.DefaultDimensions = widgetConfiguration.Dimensions ?? widgetDefinition.DefaultDimensions ?? new WidgetDimensions(6, 4); - + @await WidgetRenderer.RenderAsync(Component, widgetDefinition.Name) diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/DashboardDemoWebModule.cs b/samples/DashboardDemo/src/DashboardDemo.Web/DashboardDemoWebModule.cs index 3dfad24168..e15e1245fd 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/DashboardDemoWebModule.cs +++ b/samples/DashboardDemo/src/DashboardDemo.Web/DashboardDemoWebModule.cs @@ -106,10 +106,18 @@ namespace DashboardDemo { configuration.AddContributors(typeof(MyDashboardScriptBundleContributor)); }); + options.ScriptBundles.Add(UserCountWidgetViewComponent.WidgetName, configuration => + { + configuration.AddContributors(typeof(UserCountWidgetScriptBundleContributor)); + }); options.StyleBundles.Add(DashboardNames.MyDashboard, configuration => { configuration.AddContributors(typeof(MyDashboardStyleBundleContributor)); }); + options.StyleBundles.Add(UserCountWidgetViewComponent.WidgetName, configuration => + { + configuration.AddContributors(typeof(UserCountWidgetStyleBundleContributor)); + }); }); } diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Dashboards/DashboardDefinitionProvider.cs b/samples/DashboardDemo/src/DashboardDemo.Web/Dashboards/DashboardDefinitionProvider.cs index dcbe0c8e9c..583424c6c3 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Dashboards/DashboardDefinitionProvider.cs +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Dashboards/DashboardDefinitionProvider.cs @@ -16,8 +16,8 @@ namespace DashboardDemo.Dashboards DashboardNames.MyDashboard, LocalizableString.Create("MyDashboard") ) - .WithWidget(DemoStatisticsViewComponent.WidgetName) - .WithWidget(MyWidgetViewComponent.WidgetName); + .WithWidget(RoleListWidgetViewComponent.WidgetName) + .WithWidget(UserCountWidgetViewComponent.WidgetName); return new List { diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/Index.cshtml b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/Index.cshtml index 823df36366..e4aa8c6063 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/Index.cshtml +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/Index.cshtml @@ -13,14 +13,17 @@ @model IndexModel @section styles { + +} +@section scripts { + } @L["Welcome"] - @await WidgetRenderer.RenderAsync(Component, MyWidgetViewComponent.WidgetName) + @await WidgetRenderer.RenderAsync(Component, UserCountWidgetViewComponent.WidgetName) - @foreach (var dashboard in OptionsDashboadOptions.Value.Dashboards) { Go to @dashboard.DisplayName.Localize(localizer) diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyDashboardScriptBundleContributor.cs b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyDashboardScriptBundleContributor.cs index 6daf1139d9..6b188a7cd5 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyDashboardScriptBundleContributor.cs +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyDashboardScriptBundleContributor.cs @@ -7,8 +7,8 @@ namespace DashboardDemo.Pages { [DependsOn( typeof(AbpBasicDashboardScriptContributor), - typeof(MyWidgetScriptBundleContributor), - typeof(DemoStatisticsScriptContributor) + typeof(UserCountWidgetScriptBundleContributor), + typeof(RoleListWidgetScriptContributor) )] public class MyDashboardScriptBundleContributor : BundleContributor { diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyDashboardStyleBundleContributor.cs b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyDashboardStyleBundleContributor.cs index 860e2be292..5ef18e0b25 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyDashboardStyleBundleContributor.cs +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyDashboardStyleBundleContributor.cs @@ -7,8 +7,8 @@ namespace DashboardDemo.Pages { [DependsOn( typeof(AbpBasicDashboardStyleContributor), - typeof(MyWidgetStyleBundleContributor), - typeof(DemoStatisticsStyleContributor) + typeof(UserCountWidgetStyleBundleContributor), + typeof(RoleListWidgetStyleContributor) )] public class MyDashboardStyleBundleContributor : BundleContributor { diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/DemoStatisticsStyleContributor.cs b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/DemoStatisticsStyleContributor.cs deleted file mode 100644 index ae99874446..0000000000 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/DemoStatisticsStyleContributor.cs +++ /dev/null @@ -1,8 +0,0 @@ -using Volo.Abp.AspNetCore.Mvc.UI.Bundling; - -namespace DashboardDemo.Pages.widgets -{ - public class DemoStatisticsStyleContributor : BundleContributor - { - } -} diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/DemoStatisticsViewComponent.cshtml b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/DemoStatisticsViewComponent.cshtml deleted file mode 100644 index 819b9f5abd..0000000000 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/DemoStatisticsViewComponent.cshtml +++ /dev/null @@ -1,6 +0,0 @@ -@page -@model DashboardDemo.Pages.widgets.DemoStatisticsViewComponent -@{ -} - -Demo statistics diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/DemoStatisticsViewComponent.cshtml.cs b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/DemoStatisticsViewComponent.cshtml.cs deleted file mode 100644 index f7706ffe8e..0000000000 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/DemoStatisticsViewComponent.cshtml.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Microsoft.AspNetCore.Mvc; - -namespace DashboardDemo.Pages.widgets -{ - [ViewComponent] - public class DemoStatisticsViewComponent : ViewComponent - { - public const string WidgetName = "DemoStatistics"; - - public const string DisplayName = "DemoStatisticss"; - - public IViewComponentResult Invoke() - { - return View("/Pages/widgets/DemoStatisticsViewComponent.cshtml", new DemoStatisticsViewComponent()); - } - } -} \ No newline at end of file diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyDashboard.js b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyDashboard.js deleted file mode 100644 index 5f282702bb..0000000000 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyDashboard.js +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyWidgetViewComponent.cshtml b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyWidgetViewComponent.cshtml deleted file mode 100644 index b558291110..0000000000 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyWidgetViewComponent.cshtml +++ /dev/null @@ -1,6 +0,0 @@ -@page -@model DashboardDemo.Pages.widgets.MyWidgetViewComponent -@{ -} - -Hiiiiiii diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyWidgetViewComponent.cshtml.cs b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyWidgetViewComponent.cshtml.cs deleted file mode 100644 index 380dce0a56..0000000000 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyWidgetViewComponent.cshtml.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Microsoft.AspNetCore.Mvc; - -namespace DashboardDemo.Pages.widgets -{ - [ViewComponent] - public class MyWidgetViewComponent : ViewComponent - { - public const string WidgetName = "MyWidget"; - - public const string DisplayName = "MyWidgett"; - - public IViewComponentResult Invoke() - { - return View("/Pages/widgets/MyWidgetViewComponent.cshtml", new MyWidgetViewComponent()); - } - } -} \ No newline at end of file diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyDashboard.css b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidget.css similarity index 100% rename from samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyDashboard.css rename to samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidget.css diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidget.js b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidget.js new file mode 100644 index 0000000000..b2a6e23279 --- /dev/null +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidget.js @@ -0,0 +1,14 @@ +(function ($) { + var $container = $('#RoleListWidgetContainer'); + + var _identityUserAppService = volo.abp.identity.identityRole; + + _identityUserAppService.getList({}).then(function (result) { + var html = ''; + for (var i = 0; i < result.items.length; i++) { + html += '
  • '+ result.items[i].name+'
  • '; + } + + $container.find('#RoleList').html(html); + }); +})(jQuery); diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/DemoStatisticsScriptContributor.cs b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidgetScriptContributor.cs similarity index 51% rename from samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/DemoStatisticsScriptContributor.cs rename to samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidgetScriptContributor.cs index cc90f77eb2..20fc9dc06f 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/DemoStatisticsScriptContributor.cs +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidgetScriptContributor.cs @@ -5,7 +5,11 @@ using Volo.Abp.Modularity; namespace DashboardDemo.Pages.widgets { [DependsOn(typeof(ClipboardScriptBundleContributor))] - public class DemoStatisticsScriptContributor : BundleContributor + public class RoleListWidgetScriptContributor : BundleContributor { + public override void ConfigureBundle(BundleConfigurationContext context) + { + context.Files.Add("/Pages/widgets/RoleListWidget.js"); + } } } diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidgetStyleContributor.cs b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidgetStyleContributor.cs new file mode 100644 index 0000000000..07bb566a71 --- /dev/null +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidgetStyleContributor.cs @@ -0,0 +1,12 @@ +using Volo.Abp.AspNetCore.Mvc.UI.Bundling; + +namespace DashboardDemo.Pages.widgets +{ + public class RoleListWidgetStyleContributor : BundleContributor + { + public override void ConfigureBundle(BundleConfigurationContext context) + { + context.Files.Add("/Pages/widgets/RoleListWidget.css"); + } + } +} diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidgetViewComponent.cshtml b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidgetViewComponent.cshtml new file mode 100644 index 0000000000..368be47350 --- /dev/null +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidgetViewComponent.cshtml @@ -0,0 +1,15 @@ +@page +@model DashboardDemo.Pages.widgets.RoleListWidgetViewComponent +@{ +} +
    + + Roles in application : + +
      + +
    +
    +
    +
    + diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidgetViewComponent.cshtml.cs b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidgetViewComponent.cshtml.cs new file mode 100644 index 0000000000..d837424239 --- /dev/null +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/RoleListWidgetViewComponent.cshtml.cs @@ -0,0 +1,17 @@ +using Microsoft.AspNetCore.Mvc; + +namespace DashboardDemo.Pages.widgets +{ + [ViewComponent] + public class RoleListWidgetViewComponent : ViewComponent + { + public const string WidgetName = "RoleListWidget"; + + public const string DisplayName = "RoleListWidgets"; + + public IViewComponentResult Invoke() + { + return View("/Pages/widgets/RoleListWidgetViewComponent.cshtml", new RoleListWidgetViewComponent()); + } + } +} \ No newline at end of file diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidget.css b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidget.css new file mode 100644 index 0000000000..587c5f117b --- /dev/null +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidget.css @@ -0,0 +1,3 @@ +body { + margin: 0; +} diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidget.js b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidget.js new file mode 100644 index 0000000000..08ee70a0e8 --- /dev/null +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidget.js @@ -0,0 +1,10 @@ +(function ($) { + + var $container = $('#UserCountWidgetContainer'); + + var _identityUserAppService = volo.abp.identity.identityUser; + + _identityUserAppService.getList({}).then(function(result) { + $container.find('#UserCount').text(result.items.length); + }); +})(jQuery); diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyWidgetScriptBundleContributor.cs b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidgetScriptBundleContributor.cs similarity index 74% rename from samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyWidgetScriptBundleContributor.cs rename to samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidgetScriptBundleContributor.cs index 2cc6302ee1..7a84d59c6a 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyWidgetScriptBundleContributor.cs +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidgetScriptBundleContributor.cs @@ -7,11 +7,11 @@ namespace DashboardDemo.Pages.widgets { [DependsOn(typeof(JQueryScriptContributor))] [DependsOn(typeof(ClipboardScriptBundleContributor))] - public class MyWidgetScriptBundleContributor : BundleContributor + public class UserCountWidgetScriptBundleContributor : BundleContributor { public override void ConfigureBundle(BundleConfigurationContext context) { - context.Files.Add("/Pages/widgets/MyDashboard.js"); + context.Files.Add("/Pages/widgets/UserCountWidget.js"); } } } \ No newline at end of file diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyWidgetStyleBundleContributor.cs b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidgetStyleBundleContributor.cs similarity index 75% rename from samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyWidgetStyleBundleContributor.cs rename to samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidgetStyleBundleContributor.cs index b41eda80c6..c11ab7f7d1 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/MyWidgetStyleBundleContributor.cs +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidgetStyleBundleContributor.cs @@ -7,11 +7,11 @@ namespace DashboardDemo.Pages.widgets { [DependsOn(typeof(BootstrapStyleContributor))] [DependsOn(typeof(HighlightJsStyleContributor))] - public class MyWidgetStyleBundleContributor : BundleContributor + public class UserCountWidgetStyleBundleContributor : BundleContributor { public override void ConfigureBundle(BundleConfigurationContext context) { - context.Files.Add("/Pages/widgets/MyDashboard.css"); + context.Files.Add("/Pages/widgets/UserCountWidget.css"); } } } diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidgetViewComponent.cshtml b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidgetViewComponent.cshtml new file mode 100644 index 0000000000..2c1faed0f3 --- /dev/null +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidgetViewComponent.cshtml @@ -0,0 +1,12 @@ +@page +@model DashboardDemo.Pages.widgets.UserCountWidgetViewComponent +@{ +} +
    + + User Count : + +

    +
    +
    +
    diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidgetViewComponent.cshtml.cs b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidgetViewComponent.cshtml.cs new file mode 100644 index 0000000000..9a4d9a73aa --- /dev/null +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/widgets/UserCountWidgetViewComponent.cshtml.cs @@ -0,0 +1,17 @@ +using Microsoft.AspNetCore.Mvc; +using Volo.Abp.AspNetCore.Mvc; + +namespace DashboardDemo.Pages.widgets +{ + public class UserCountWidgetViewComponent : AbpViewComponent + { + public const string WidgetName = "UserCountWidget"; + + public const string DisplayName = "UserCountWidgett"; + + public IViewComponentResult Invoke() + { + return View("/Pages/widgets/UserCountWidgetViewComponent.cshtml", new UserCountWidgetViewComponent()); + } + } +} \ No newline at end of file diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Widgets/WidgetDefinitionProvider.cs b/samples/DashboardDemo/src/DashboardDemo.Web/Widgets/WidgetDefinitionProvider.cs index dcc392e898..d3a998d976 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Widgets/WidgetDefinitionProvider.cs +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Widgets/WidgetDefinitionProvider.cs @@ -13,14 +13,15 @@ namespace DashboardDemo.Widgets return new List { new WidgetDefinition( - MyWidgetViewComponent.WidgetName, - typeof(MyWidgetViewComponent), - LocalizableString.Create(MyWidgetViewComponent.DisplayName) + UserCountWidgetViewComponent.WidgetName, + typeof(UserCountWidgetViewComponent), + LocalizableString.Create(UserCountWidgetViewComponent.DisplayName), + new WidgetDimensions(4,2) ), new WidgetDefinition( - DemoStatisticsViewComponent.WidgetName, - typeof(DemoStatisticsViewComponent), - LocalizableString.Create(DemoStatisticsViewComponent.DisplayName) + RoleListWidgetViewComponent.WidgetName, + typeof(RoleListWidgetViewComponent), + LocalizableString.Create(RoleListWidgetViewComponent.DisplayName) ) }; }