Files
mixtape/zero.Debug/TestData/TestPlugin.cs
T

51 lines
1.8 KiB
C#
Raw Normal View History

using Microsoft.Extensions.DependencyInjection;
2020-05-13 14:06:11 +02:00
using System.Collections.Generic;
using zero.Core.Options;
using zero.Core.Plugins;
2020-05-13 14:06:11 +02:00
using zero.Debug.TestData;
using zero.TestData.Lists;
namespace zero.TestData
{
2020-05-12 15:22:39 +02:00
public class TestPlugin : IZeroPlugin
{
2020-05-13 14:06:11 +02:00
public void Configure(IServiceCollection services, IZeroPluginBuilder zero)
{
2020-05-13 14:06:11 +02:00
services.AddTransient<ITestService, TestService>();
2020-05-13 14:06:11 +02:00
zero.Configure<SpaceOptions>(opts =>
{
opts.AddList<TeamMember>("team", "Team", "Our team members", "fth-users");
opts.AddList<News>("news", "News", "Articles about the company", "fth-edit");
opts.AddSeparator();
opts.AddEditor<SocialContent>("social", "Social", "Links to social media", "fth-twitter");
});
2020-05-13 14:06:11 +02:00
zero.Configure<FeatureOptions>(opts =>
{
opts.Add(TestFeatures.Wishlist, "Wishlist", "Frontend wishlist for logged-in users");
opts.Add(TestFeatures.SocialShopping, "Social shopping", "Integrate products into social media portals");
});
zero.Configure<RendererOptions>(opts =>
{
opts.Add<TeamMemberRenderer>();
opts.Add<SocialContentRenderer>();
opts.Add<OptionsPagePartialRenderer>();
opts.Add<MetaPagePartialRenderer>();
opts.Add<NewsPageRenderer>();
opts.Add<RedirectPageRenderer>();
opts.Add<ContentPageRenderer>();
});
zero.Configure<PageOptions>(opts =>
{
opts.Add<NewsPage>("news", "News", "News about the company", "fth-book");
opts.Add<ContentPage>("content", "Page", "Page consisting of modules", "fth-box", true, true);
opts.Add<RedirectPage>("redirect", "Redirect", "Redirect to another page or an external URL", "fth-box", true, false, new List<string>() { "content", "redirect" });
});
}
}
}