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