Browse Source

widget enhancements

pull/1142/head
Yunus Emre Kalkan 7 years ago
parent
commit
a7f6b188f5
  1. 9
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Widgets/Volo/Abp/AspNetCore/Mvc/UI/Widgets/IWidgetDefinitionProvider.cs
  2. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Widgets/Volo/Abp/AspNetCore/Mvc/UI/Widgets/WidgetDefinition.cs
  3. 13
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Widgets/Volo/Abp/AspNetCore/Mvc/UI/Widgets/WidgetOptionsExtensions.cs
  4. 3
      samples/DashboardDemo/src/DashboardDemo.Web/DashboardDemoWebModule.cs
  5. 26
      samples/DashboardDemo/src/DashboardDemo.Web/WidgetDefinitionProvider.cs

9
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Widgets/Volo/Abp/AspNetCore/Mvc/UI/Widgets/IWidgetDefinitionProvider.cs

@ -0,0 +1,9 @@
using System.Collections.Generic;
namespace Volo.Abp.AspNetCore.Mvc.UI.Widgets
{
public interface IWidgetDefinitionProvider
{
List<WidgetDefinition> GetDefinitions();
}
}

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Widgets/Volo/Abp/AspNetCore/Mvc/UI/Widgets/WidgetDefinition.cs

@ -24,7 +24,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Widgets
private ILocalizableString _displayName;
[NotNull]
public Type ViewComponentType { get; set; }
public Type ViewComponentType { get; }
[CanBeNull]
public WidgetDimensions DefaultDimensions { get; set; }

13
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Widgets/Volo/Abp/AspNetCore/Mvc/UI/Widgets/WidgetOptionsExtensions.cs

@ -0,0 +1,13 @@
namespace Volo.Abp.AspNetCore.Mvc.UI.Widgets
{
public static class WidgetOptionsExtensions
{
public static void AddWidgets<T>(this WidgetOptions options)
where T : IWidgetDefinitionProvider, new()
{
var provider = new T();
var widgets = provider.GetDefinitions();
options.Widgets.AddRange(widgets);
}
}
}

3
samples/DashboardDemo/src/DashboardDemo.Web/DashboardDemoWebModule.cs

@ -84,8 +84,7 @@ namespace DashboardDemo
{
Configure<WidgetOptions>(options =>
{
options.Widgets.Add(new WidgetDefinition("MyWidget", typeof(MyWidgetViewComponentModel),
new LocalizableString(typeof(DashboardDemoResource), "MyWidgett")));
options.AddWidgets<WidgetDefinitionProvider>();
});
}

26
samples/DashboardDemo/src/DashboardDemo.Web/WidgetDefinitionProvider.cs

@ -0,0 +1,26 @@
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<WidgetDefinition> GetDefinitions()
{
var widgets = new List<WidgetDefinition>();
var myWidget = new WidgetDefinition("MyWidget", typeof(MyWidgetViewComponentModel),
new LocalizableString(typeof(DashboardDemoResource), "MyWidgett"));
widgets.Add(myWidget);
return widgets;
}
}
}
Loading…
Cancel
Save