diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo.Abp.AspNetCore.Mvc.UI.Dashboards.csproj b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo.Abp.AspNetCore.Mvc.UI.Dashboards.csproj index c2e85e8239..633b783ad0 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo.Abp.AspNetCore.Mvc.UI.Dashboards.csproj +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo.Abp.AspNetCore.Mvc.UI.Dashboards.csproj @@ -30,5 +30,6 @@ + diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Dashboards/AbpBasicDashboardScriptContributor.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo/Abp/AspNetCore/Mvc/UI/Dashboards/AbpBasicDashboardScriptContributor.cs similarity index 72% rename from samples/DashboardDemo/src/DashboardDemo.Web/Dashboards/AbpBasicDashboardScriptContributor.cs rename to framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo/Abp/AspNetCore/Mvc/UI/Dashboards/AbpBasicDashboardScriptContributor.cs index 94e913eac1..f351abd952 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Dashboards/AbpBasicDashboardScriptContributor.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo/Abp/AspNetCore/Mvc/UI/Dashboards/AbpBasicDashboardScriptContributor.cs @@ -1,8 +1,8 @@ using Volo.Abp.AspNetCore.Mvc.UI.Bundling; -namespace DashboardDemo.Dashboards +namespace Volo.Abp.AspNetCore.Mvc.UI.Dashboards { public class AbpBasicDashboardScriptContributor : BundleContributor { } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo/Abp/AspNetCore/Mvc/UI/Dashboards/Components/Dashboard/DashboardViewComponent.cshtml.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo/Abp/AspNetCore/Mvc/UI/Dashboards/Components/Dashboard/DashboardViewComponent.cshtml.cs index 01d14cb7f1..0319c1f7ef 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo/Abp/AspNetCore/Mvc/UI/Dashboards/Components/Dashboard/DashboardViewComponent.cshtml.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo/Abp/AspNetCore/Mvc/UI/Dashboards/Components/Dashboard/DashboardViewComponent.cshtml.cs @@ -8,9 +8,21 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Dashboards.Components.Dashboard { public class DashboardViewComponent : AbpViewComponent { - public async Task InvokeAsync(string dashboardName, DashboardOptions dashboardOptions, WidgetOptions widgetOptions) + private readonly DashboardOptions _dashboardOptions; + private readonly WidgetOptions _widgetOptions; + + public DashboardViewComponent(IOptions dashboardOptions, IOptions widgetOptions) + { + _dashboardOptions = dashboardOptions.Value; + _widgetOptions = widgetOptions.Value; + } + + public IViewComponentResult Invoke(string dashboardName) { - var model = new DashboardViewModel(dashboardName, dashboardOptions, widgetOptions); + var dashboard = _dashboardOptions.Dashboards.Single(d => d.Name.Equals(dashboardName)); + + var model = new DashboardViewModel(dashboard, _widgetOptions); + return View("~/Volo/Abp/AspNetCore/Mvc/UI/Dashboards/Components/Dashboard/Default.cshtml", model); } } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo/Abp/AspNetCore/Mvc/UI/Dashboards/Components/Dashboard/DashboardViewModel.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo/Abp/AspNetCore/Mvc/UI/Dashboards/Components/Dashboard/DashboardViewModel.cs index 4658078a3a..7647176a06 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo/Abp/AspNetCore/Mvc/UI/Dashboards/Components/Dashboard/DashboardViewModel.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Dashboards/Volo/Abp/AspNetCore/Mvc/UI/Dashboards/Components/Dashboard/DashboardViewModel.cs @@ -9,13 +9,12 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Dashboards.Components.Dashboard public class DashboardViewModel { public DashboardDefinition Dashboard { get; set; } - public DashboardOptions DashboardOptions { get; set; } + public WidgetOptions WidgetOptions { get; set; } - public DashboardViewModel(string dashboardName, DashboardOptions dashboardOptions, WidgetOptions widgetOptions) + public DashboardViewModel(DashboardDefinition dashboard, WidgetOptions widgetOptions) { - Dashboard = dashboardOptions.Dashboards.Single(d => d.Name.Equals(dashboardName)); - DashboardOptions = dashboardOptions; + Dashboard = dashboard; WidgetOptions = widgetOptions; } 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 524bf6d79e..f8c26c2bbb 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 @@ -11,7 +11,7 @@ var widgetDefinition = Model.GetWidget(widgetConfiguration.WidgetName); widgetDefinition.DefaultDimensions = widgetConfiguration.Dimensions ?? widgetDefinition.DefaultDimensions ?? new WidgetDimensions(5, 5); - diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Dashboards/MyDashboardScriptBundleContributor.cs b/samples/DashboardDemo/src/DashboardDemo.Web/Dashboards/MyDashboardScriptBundleContributor.cs new file mode 100644 index 0000000000..cef9b7bfc9 --- /dev/null +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Dashboards/MyDashboardScriptBundleContributor.cs @@ -0,0 +1,20 @@ +using DashboardDemo.Pages.widgets; +using Volo.Abp.AspNetCore.Mvc.UI.Bundling; +using Volo.Abp.AspNetCore.Mvc.UI.Dashboards; +using Volo.Abp.Modularity; + +namespace DashboardDemo.Dashboards +{ + [DependsOn( + typeof(AbpBasicDashboardScriptContributor), + typeof(MyWidgetViewComponentScriptBundleContributor), + typeof(DemoStatisticsScriptContributor) + )] + public class MyDashboardScriptBundleContributor : BundleContributor + { + public override void ConfigureBundle(BundleConfigurationContext context) + { + + } + } +} \ No newline at end of file diff --git a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyDashboard.cshtml b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyDashboard.cshtml index f847778ba4..7911d91b22 100644 --- a/samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyDashboard.cshtml +++ b/samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyDashboard.cshtml @@ -10,7 +10,7 @@ @{ } @section scripts { - + } -@await DashboardRenderer.RenderAsync(Component, new { dashboardName = DashboardNames.MyDashboard, dashboardOptions = Model._dashboardOptions, widgetOptions = Model._widgetOptions }) \ No newline at end of file +@await DashboardRenderer.RenderAsync(Component, new { dashboardName = DashboardNames.MyDashboard}) \ No newline at end of file