Browse Source

Added sample widget.

pull/1520/head
Halil İbrahim Kalkan 7 years ago
parent
commit
150887d7eb
  1. 6
      samples/DashboardDemo/DashboardDemo.sln
  2. 18
      samples/DashboardDemo/src/DashboardDemo.Web/DashboardDemoWebModule.cs
  3. 4
      samples/DashboardDemo/src/DashboardDemo.Web/Pages/Components/MySimpleWidget/Default.cshtml
  4. 5
      samples/DashboardDemo/src/DashboardDemo.Web/Pages/Components/MySimpleWidget/Default.css
  5. 1
      samples/DashboardDemo/src/DashboardDemo.Web/Pages/Components/MySimpleWidget/Default.js
  6. 24
      samples/DashboardDemo/src/DashboardDemo.Web/Pages/Components/MySimpleWidget/MySimpleWidgetViewComponent.cs
  7. 8
      samples/DashboardDemo/src/DashboardDemo.Web/Pages/Index.cshtml
  8. 6
      samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyWidgets.cshtml
  9. 16
      samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyWidgets.cshtml.cs

6
samples/DashboardDemo/DashboardDemo.sln

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27703.1
# Visual Studio Version 16
VisualStudioVersion = 16.0.29020.237
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DashboardDemo.Domain", "src\DashboardDemo.Domain\DashboardDemo.Domain.csproj", "{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}"
EndProject
@ -37,7 +37,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DashboardDemo.Domain.Tests"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DashboardDemo.HttpApi.Client.ConsoleTestApp", "test\DashboardDemo.HttpApi.Client.ConsoleTestApp\DashboardDemo.HttpApi.Client.ConsoleTestApp.csproj", "{EF480016-9127-4916-8735-D2466BDBC582}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DashboardDemo.DbMigrator", "src\DashboardDemo.DbMigrator\DashboardDemo.DbMigrator.csproj", "{AA94D832-1CCC-4715-95A9-A483F23A1A5D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DashboardDemo.DbMigrator", "src\DashboardDemo.DbMigrator\DashboardDemo.DbMigrator.csproj", "{AA94D832-1CCC-4715-95A9-A483F23A1A5D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

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

@ -8,6 +8,7 @@ using DashboardDemo.EntityFrameworkCore;
using DashboardDemo.Localization;
using DashboardDemo.MultiTenancy;
using DashboardDemo.Web.Menus;
using DashboardDemo.Web.Pages.Components.MySimpleWidget;
using Swashbuckle.AspNetCore.Swagger;
using Volo.Abp;
using Volo.Abp.Account.Web;
@ -16,8 +17,10 @@ using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.Localization;
using Volo.Abp.AspNetCore.Mvc.UI;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap;
using Volo.Abp.AspNetCore.Mvc.UI.Bundling;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared;
using Volo.Abp.AspNetCore.Mvc.UI.Widgets;
using Volo.Abp.Autofac;
using Volo.Abp.AutoMapper;
using Volo.Abp.Identity.Web;
@ -73,6 +76,7 @@ namespace DashboardDemo.Web
ConfigureNavigationServices();
ConfigureAutoApiControllers();
ConfigureSwaggerServices(context.Services);
ConfigureWidgets();
}
private void ConfigureUrls(IConfigurationRoot configuration)
@ -168,6 +172,20 @@ namespace DashboardDemo.Web
);
}
private void ConfigureWidgets()
{
Configure<WidgetOptions>(options =>
{
options.Widgets.Add(
new WidgetDefinition(
"MySimpleWidget",
typeof(MySimpleWidgetViewComponent))
.WithStyles("/Pages/Components/MySimpleWidget/Default.css")
.WithScripts("/Pages/Components/MySimpleWidget/Default.js")
);
});
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var app = context.GetApplicationBuilder();

4
samples/DashboardDemo/src/DashboardDemo.Web/Pages/Components/MySimpleWidget/Default.cshtml

@ -0,0 +1,4 @@
<div class="my-simple-widget">
<h2>My Simple Widget</h2>
<p>This is a simple widget!</p>
</div>

5
samples/DashboardDemo/src/DashboardDemo.Web/Pages/Components/MySimpleWidget/Default.css

@ -0,0 +1,5 @@
.my-simple-widget {
width: 400px;
border: 1px solid red;
padding: 5px;
}

1
samples/DashboardDemo/src/DashboardDemo.Web/Pages/Components/MySimpleWidget/Default.js

@ -0,0 +1 @@
abp.log.debug('MySimpleWidget loaded :)');

24
samples/DashboardDemo/src/DashboardDemo.Web/Pages/Components/MySimpleWidget/MySimpleWidgetViewComponent.cs

@ -0,0 +1,24 @@
using System.Collections.Generic;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.UI.Bundling;
namespace DashboardDemo.Web.Pages.Components.MySimpleWidget
{
public class MySimpleWidgetViewComponent : AbpViewComponent
{
public IViewComponentResult Invoke()
{
return View();
}
}
public class MySimpleWidgetStyleBundleContributor : BundleContributor
{
public override void ConfigureBundle(BundleConfigurationContext context)
{
context.Files.AddIfNotContains("~/Pages/Components/MySimpleWidget/Default.css");
}
}
}

8
samples/DashboardDemo/src/DashboardDemo.Web/Pages/Index.cshtml

@ -1,5 +1,6 @@
@page
@inherits DashboardDemo.Web.Pages.DashboardDemoPage
@using Volo.Abp.AspNetCore.Mvc.UI.Widgets
@model DashboardDemo.Web.Pages.IndexModel
@section styles {
<abp-style-bundle>
@ -14,7 +15,12 @@
<abp-card>
<abp-card-header>@L["Welcome"]</abp-card-header>
<abp-card-body>
<p>@L["LongWelcomeMessage"]</p>
<h2>Demo Pages</h2>
<ul>
<li><a asp-page="./MyWidgets">Widgets Demo</a></li>
<li><a asp-page="./MyDashboard">Dashboard Demo</a></li>
</ul>
<hr />
@if (!CurrentUser.IsAuthenticated)
{
<p><a abp-button="Primary" href="/Account/Login"><i class="fa fa-sign-in"></i> @L["Login"]</a></p>

6
samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyWidgets.cshtml

@ -0,0 +1,6 @@
@page
@using Volo.Abp.AspNetCore.Mvc.UI.Widgets
@model DashboardDemo.Web.Pages.MyWidgetsModel
@inject IWidgetRenderer WidgetRenderer
@await WidgetRenderer.RenderAsync(Component, "MySimpleWidget")

16
samples/DashboardDemo/src/DashboardDemo.Web/Pages/MyWidgets.cshtml.cs

@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace DashboardDemo.Web.Pages
{
public class MyWidgetsModel : PageModel
{
public void OnGet()
{
}
}
}
Loading…
Cancel
Save