using System; using System.Collections.Generic; using System.Linq; using System.Text; using zero.Core.Entities; namespace zero.Core.Options { public class SpaceOptions : ZeroBackofficeCollection, IZeroCollectionOptions { public SpaceOptions() { } public void Add() where T : Space, new() { Items.Add(new T()); } public void AddList(string alias, string name, string description, string icon) where T : SpaceContent, new() { Items.Add(new Space() { Alias = alias, View = SpaceView.List, Name = name, Description = description, Icon = icon, Type = typeof(T) }); } public void AddEditor(string alias, string name, string description, string icon) where T : SpaceContent, new() { Items.Add(new Space() { Alias = alias, View = SpaceView.Editor, Name = name, Description = description, Icon = icon, Type = typeof(T) }); } public void AddSeparator() { Space lastSpace = Items.LastOrDefault(); if (lastSpace != null) { lastSpace.LineBelow = true; } } public void AddCustom(string componentPath, string alias, string name, string description, string icon) where T : SpaceContent, new() { Items.Add(new Space() { Alias = alias, View = SpaceView.Custom, ComponentPath = componentPath, Name = name, Description = description, Icon = icon, Type = typeof(T) }); } public void AddCustom(string componentPath, string alias, string name, string description, string icon) { Items.Add(new Space() { Alias = alias, View = SpaceView.Custom, ComponentPath = componentPath, Name = name, Description = description, Icon = icon }); } } }