/// <summary> /// Adds icons to the configuration area of a block instance. Can be overridden to /// add additionsl icons /// </summary> /// <param name="canConfig"></param> /// <param name="canEdit"></param> /// <returns></returns> public virtual List <Control> GetAdministrateControls(bool canConfig, bool canEdit) { List <Control> configControls = new List <Control>(); if (canConfig || canEdit) { // Attributes CompiledTemplateBuilder upContent = new CompiledTemplateBuilder( delegate(Control content) { Button trigger = new Button(); trigger.ClientIDMode = System.Web.UI.ClientIDMode.Static; trigger.ID = string.Format("blck-cnfg-trggr-{0}", CurrentBlock.Id.ToString()); trigger.Click += trigger_Click; content.Controls.Add(trigger); HiddenField triggerData = new HiddenField(); triggerData.ClientIDMode = System.Web.UI.ClientIDMode.Static; triggerData.ID = string.Format("blck-cnfg-trggr-data-{0}", CurrentBlock.Id.ToString()); content.Controls.Add(triggerData); } ); UpdatePanel upTrigger = new UpdatePanel(); upTrigger.ContentTemplate = upContent; configControls.Add(upTrigger); upTrigger.Attributes.Add("style", "display:none"); // Icon to display block properties HtmlGenericControl aAttributes = new HtmlGenericControl("a"); aAttributes.Attributes.Add("class", "properties show-modal-iframe"); aAttributes.Attributes.Add("height", "500px"); aAttributes.Attributes.Add("href", ResolveUrl(string.Format("~/BlockProperties/{0}?t=Block Properties", CurrentBlock.Id))); aAttributes.Attributes.Add("title", "Block Properties"); //aAttributes.Attributes.Add( "instance-id", BlockInstance.Id.ToString() ); configControls.Add(aAttributes); HtmlGenericControl iAttributes = new HtmlGenericControl("i"); aAttributes.Controls.Add(iAttributes); iAttributes.Attributes.Add("class", "icon-cog"); } if (canConfig) { // Security HtmlGenericControl aSecureBlock = new HtmlGenericControl("a"); aSecureBlock.Attributes.Add("class", "security show-modal-iframe"); aSecureBlock.Attributes.Add("height", "500px"); aSecureBlock.Attributes.Add("href", ResolveUrl(string.Format("~/Secure/{0}/{1}?t=Block Security", Security.Authorization.EncodeEntityTypeName(CurrentBlock.GetType()), CurrentBlock.Id))); aSecureBlock.Attributes.Add("title", "Block Security"); configControls.Add(aSecureBlock); HtmlGenericControl iSecureBlock = new HtmlGenericControl("i"); aSecureBlock.Controls.Add(iSecureBlock); iSecureBlock.Attributes.Add("class", "icon-lock"); // Move HtmlGenericControl aMoveBlock = new HtmlGenericControl("a"); aMoveBlock.Attributes.Add("class", "block-move block-move"); aMoveBlock.Attributes.Add("href", CurrentBlock.Id.ToString()); aMoveBlock.Attributes.Add("zone", CurrentBlock.Zone); aMoveBlock.Attributes.Add("zoneloc", CurrentBlock.BlockLocation.ToString()); aMoveBlock.Attributes.Add("title", "Move Block"); configControls.Add(aMoveBlock); HtmlGenericControl iMoveBlock = new HtmlGenericControl("i"); aMoveBlock.Controls.Add(iMoveBlock); iMoveBlock.Attributes.Add("class", "icon-external-link"); // Delete HtmlGenericControl aDeleteBlock = new HtmlGenericControl("a"); aDeleteBlock.Attributes.Add("class", "delete block-delete"); aDeleteBlock.Attributes.Add("href", CurrentBlock.Id.ToString()); aDeleteBlock.Attributes.Add("title", "Delete Block"); configControls.Add(aDeleteBlock); HtmlGenericControl iDeleteBlock = new HtmlGenericControl("i"); aDeleteBlock.Controls.Add(iDeleteBlock); iDeleteBlock.Attributes.Add("class", "icon-remove-circle"); } return(configControls); }