using System; using System.Collections.Generic; using System.Threading.Tasks; using AntDesign; using Lsw.Abp.AntDesignUI.Components; namespace Lsw.Abp.AspnetCore.Components.Web.AntDesignTheme.PageToolbars; public static class PageToolbarExtensions { public static PageToolbar AddComponent( this PageToolbar toolbar, Dictionary arguments = null, int order = 0, string requiredPolicyName = null) { return toolbar.AddComponent( typeof(TComponent), arguments, order, requiredPolicyName ); } public static PageToolbar AddComponent( this PageToolbar toolbar, Type componentType, Dictionary arguments = null, int order = 0, string requiredPolicyName = null) { toolbar.Contributors.Add( new SimplePageToolbarContributor( componentType, arguments, order, requiredPolicyName ) ); return toolbar; } public static PageToolbar AddButton( this PageToolbar toolbar, string text, Func clicked, object icon = null, string color = ButtonType.Primary, bool disabled = false, int order = 0, string requiredPolicyName = null) { toolbar.AddComponent( new Dictionary { { nameof(ToolbarButton.Color), color}, { nameof(ToolbarButton.Text), text}, { nameof(ToolbarButton.Disabled), disabled}, { nameof(ToolbarButton.Icon), icon}, { nameof(ToolbarButton.Clicked),clicked}, }, order, requiredPolicyName ); return toolbar; } }