/// <summary> /// Called before render methods sends element to response output. /// </summary> /// <param name="controlRenderer">The html control renderer.</param> /// <param name="page">The page.</param> /// <param name="html">The html helper.</param> protected virtual void OnPreRender(HtmlControlRenderer controlRenderer, IPage page, HtmlHelper html) { if (Id != null) { controlRenderer.Attributes["id"] = Id(page); } if (CssClass != null) { string css = controlRenderer.Attributes["class"]; if (!string.IsNullOrEmpty(css)) { css = string.Concat(css, " ", CssClass(page)); } else { css = CssClass(page); } controlRenderer.Attributes.Add("class", css); } if (Tooltip != null) { string tooltip = Tooltip(page); controlRenderer.Attributes.Add("title", tooltip); } controlRenderer.Attributes.Add("data-bcms-order", Order.ToString()); }
/// <summary> /// Renders an action projection to given html output. /// </summary> /// <param name="page">The page.</param> /// <param name="securityService"></param> /// <param name="html">The html helper.</param> /// <returns><c>true</c> on success, otherwise <c>false</c>.</returns> public override bool Render(IPage page, ISecurityService securityService, HtmlHelper html) { if (AccessRole != null && !securityService.IsAuthorized(AccessRole)) { return(false); } using (HtmlControlRenderer control = new HtmlControlRenderer(Tag)) { OnPreRender(control, page, html); using (HtmlTextWriter writer = new HtmlTextWriter(html.ViewContext.Writer)) { control.RenderBeginTag(writer); if (ChildProjections != null) { foreach (var htmlElementProjection in ChildProjections.OrderBy(f => f.Order)) { htmlElementProjection.Render(page, securityService, html); } } control.RenderEndTag(writer); } } return(true); }
/// <summary> /// Called before render methods sends element to response output. /// </summary> /// <param name="controlRenderer">The html control renderer.</param> /// <param name="page">The page.</param> /// <param name="html">The html helper.</param> protected override void OnPreRender(HtmlControlRenderer controlRenderer, IPage page, HtmlHelper html) { base.OnPreRender(controlRenderer, page, html); if (Title != null) { string title = Title(page); controlRenderer.Controls.Add(new LiteralControl(title)); } if (OnClickAction != null && parentModuleInclude != null) { string cssClass = controlRenderer.Attributes["class"]; if (!string.IsNullOrEmpty(cssClass) && !cssClass.Contains(ModuleActionMarkerCssClass)) { cssClass = cssClass + " " + ModuleActionMarkerCssClass; } else { cssClass = ModuleActionMarkerCssClass; } controlRenderer.Attributes["class"] = cssClass; controlRenderer.Attributes.Add(ModuleNameAttribute, parentModuleInclude.Name); controlRenderer.Attributes.Add(ModuleActionAttribute, OnClickAction(page)); } }
/// <summary> /// Renders an action projection to given html output. /// </summary> /// <param name="page">The page.</param> /// <param name="securityService"></param> /// <param name="html">The html helper.</param> /// <returns><c>true</c> on success, otherwise <c>false</c>.</returns> public override bool Render(IPage page, ISecurityService securityService, HtmlHelper html) { if (AccessRole != null && !securityService.IsAuthorized(AccessRole)) { return false; } using (HtmlControlRenderer control = new HtmlControlRenderer(Tag)) { OnPreRender(control, page, html); using (HtmlTextWriter writer = new HtmlTextWriter(html.ViewContext.Writer)) { control.RenderBeginTag(writer); if (ChildProjections != null) { foreach (var htmlElementProjection in ChildProjections.OrderBy(f => f.Order)) { htmlElementProjection.Render(page, securityService, html); } } control.RenderEndTag(writer); } } return true; }
/// <summary> /// Called before render methods sends element to response output. /// </summary> /// <param name="page">The page.</param> /// <param name="html">The html helper.</param> protected override void OnPreRender(HtmlControlRenderer controlRenderer, IPage page, HtmlHelper html) { base.OnPreRender(controlRenderer, page, html); controlRenderer.Attributes["href"] = LinkAddress(page); controlRenderer.Attributes["target"] = "_blank"; controlRenderer.InnerText = InnerText(page); }
/// <summary> /// Called before render methods sends element to response output. /// </summary> /// <param name="controlRenderer">The html control renderer.</param> /// <param name="page">The page.</param> /// <param name="html">The html helper.</param> protected override void OnPreRender(HtmlControlRenderer controlRenderer, IPage page, HtmlHelper html) { controlRenderer.Attributes["rel"] = relation; controlRenderer.Attributes["href"] = link; if (!string.IsNullOrWhiteSpace(type)) { controlRenderer.Attributes["type"] = type; } }
/// <summary> /// Called before render methods sends element to response output. /// </summary> /// <param name="page">The page.</param> /// <param name="html">The html helper.</param> protected override void OnPreRender(HtmlControlRenderer controlRenderer, IPage page, HtmlHelper html) { base.OnPreRender(controlRenderer, page, html); if (Items != null && Items.Any()) { var innerDiv = new HtmlGenericControl("div"); controlRenderer.Controls.Add(innerDiv); var items = Items .Select(f => f(page)) .OrderBy(f => f.Order) .Select( f => new SelectListItem { Selected = f.IsSelected, Text = f.Text != null ? f.Text() : string.Empty, Value = f.Value }) .ToList(); foreach (var item in items) { var option = new HtmlGenericControl("div"); option.Controls.Add(new LiteralControl(item.Text)); option.Attributes["value"] = item.Value; if (item.Selected) { option.Attributes["selected"] = "selected"; } innerDiv.Controls.Add(option); } } if (OnChangeAction != null && parentModuleInclude != null) { string cssClass = controlRenderer.Attributes["class"]; if (!string.IsNullOrEmpty(cssClass) && !cssClass.Contains(ModuleActionMarkerCssClass)) { cssClass = string.Concat(cssClass, " ", ModuleActionMarkerCssClass); } else { cssClass = ModuleActionMarkerCssClass; } controlRenderer.Attributes["class"] = cssClass; controlRenderer.Attributes.Add(ModuleNameAttribute, parentModuleInclude.Name); controlRenderer.Attributes.Add(ModuleActionAttribute, OnChangeAction(page)); } }
/// <summary> /// Renders a control. /// </summary> /// <param name="page">The page.</param> /// <param name="securityService"></param> /// <param name="html">The HTML.</param> /// <returns><c>true</c> on success, otherwise <c>false</c>.</returns> public virtual bool Render(IPage page, ISecurityService securityService, HtmlHelper html) { if (AccessRole != null && !securityService.IsAuthorized(AccessRole)) { return(false); } using (HtmlControlRenderer control = new HtmlControlRenderer(Tag, isSelfClosing)) { OnPreRender(control, page, html); using (HtmlTextWriter writer = new HtmlTextWriter(html.ViewContext.Writer)) { control.RenderControl(writer); } } return(true); }
protected override void OnPreRender(HtmlControlRenderer controlRenderer, IPage page, HtmlHelper html) { base.OnPreRender(controlRenderer, page, html); if (Title != null) { var title = Title(page); controlRenderer.Attributes["title"] = title; } var innerDivOn = new HtmlGenericControl("div"); innerDivOn.Attributes["class"] = "bcms-switch-text"; innerDivOn.Controls.Add(new LiteralControl("Yes")); controlRenderer.Controls.Add(innerDivOn); var innerDivOff = new HtmlGenericControl("div"); innerDivOff.Attributes["class"] = "bcms-switch-text"; innerDivOff.Controls.Add(new LiteralControl("No")); controlRenderer.Controls.Add(innerDivOff); if (OnClickAction == null || parentModuleInclude == null) { return; } var cssClass = controlRenderer.Attributes["class"]; if (!string.IsNullOrEmpty(cssClass) && !cssClass.Contains(ModuleActionMarkerCssClass)) { cssClass = cssClass + " " + ModuleActionMarkerCssClass; } else { cssClass = ModuleActionMarkerCssClass; } controlRenderer.Attributes["class"] = cssClass; controlRenderer.Attributes.Add(ModuleNameAttribute, parentModuleInclude.Name); controlRenderer.Attributes.Add(ModuleActionAttribute, OnClickAction(page)); }
/// <summary> /// Renders an action projection to given html output. /// </summary> /// <param name="page">The page.</param> /// <param name="html">The html helper.</param> public override void Render(IPage page, HtmlHelper html) { using (HtmlControlRenderer control = new HtmlControlRenderer(Tag)) { OnPreRender(control, page, html); using (HtmlTextWriter writer = new HtmlTextWriter(html.ViewContext.Writer)) { control.RenderBeginTag(writer); if (ChildProjections != null) { foreach (var htmlElementProjection in ChildProjections.OrderBy(f => f.Order)) { htmlElementProjection.Render(page, html); } } control.RenderEndTag(writer); } } }
/// <summary> /// Called before render methods sends element to response output. /// </summary> /// <param name="controlRenderer">The html control renderer.</param> /// <param name="page">The page.</param> /// <param name="html">The html helper.</param> protected override void OnPreRender(HtmlControlRenderer controlRenderer, IPage page, System.Web.Mvc.HtmlHelper html) { base.OnPreRender(controlRenderer, page, html); controlRenderer.Attributes.Add("href", "#"); }
/// <summary> /// Called before render methods sends element to response output. /// </summary> /// <param name="page">The page.</param> /// <param name="html">The html helper.</param> protected override void OnPreRender(HtmlControlRenderer controlRenderer, IPage page, HtmlHelper html) { base.OnPreRender(controlRenderer, page, html); if (Items != null && Items.Any()) { var items = Items .Select(f => f(page)) .OrderBy(f => f.Order) .Select( f => new SelectListItem { Selected = f.IsSelected, Text = f.Text != null ? f.Text() : string.Empty, Value = f.Value }) .ToList(); foreach (var item in items) { var option = new HtmlGenericControl("option"); option.Controls.Add(new LiteralControl(item.Text)); option.Attributes["value"] = item.Value; if (item.Selected) { option.Attributes["selected"] = "selected"; } controlRenderer.Controls.Add(option); } } if (OnChangeAction != null && parentModuleInclude != null) { string cssClass = controlRenderer.Attributes["class"]; if (!string.IsNullOrEmpty(cssClass) && !cssClass.Contains(ModuleActionMarkerCssClass)) { cssClass = string.Concat(cssClass, " ", ModuleActionMarkerCssClass); } else { cssClass = ModuleActionMarkerCssClass; } controlRenderer.Attributes["class"] = cssClass; controlRenderer.Attributes.Add(ModuleNameAttribute, parentModuleInclude.Name); controlRenderer.Attributes.Add(ModuleActionAttribute, OnChangeAction(page)); } }
/// <summary> /// Called before render methods sends element to response output. /// </summary> /// <param name="controlRenderer">The html control renderer.</param> /// <param name="page">The page.</param> /// <param name="html">The html helper.</param> protected override void OnPreRender(HtmlControlRenderer controlRenderer, IPage page, HtmlHelper html) { controlRenderer.Attributes["name"] = name; controlRenderer.Attributes["content"] = content; }
/// <summary> /// Called before render methods sends element to response output. /// </summary> /// <param name="controlRenderer">The html control renderer.</param> /// <param name="page">The page.</param> /// <param name="html">The html helper.</param> protected override void OnPreRender(HtmlControlRenderer controlRenderer, IPage page, HtmlHelper html) { controlRenderer.Attributes["property"] = property; controlRenderer.Attributes["content"] = content; }
/// <summary> /// Renders a control. /// </summary> /// <param name="page">The page.</param> /// <param name="securityService"></param> /// <param name="html">The HTML.</param> /// <returns><c>true</c> on success, otherwise <c>false</c>.</returns> public virtual bool Render(IPage page, ISecurityService securityService, HtmlHelper html) { if (ShouldBeRendered != null && !ShouldBeRendered.Invoke(page)) { return false; } if (AccessRole != null && !securityService.IsAuthorized(AccessRole)) { return false; } using (HtmlControlRenderer control = new HtmlControlRenderer(Tag, isSelfClosing)) { OnPreRender(control, page, html); using (HtmlTextWriter writer = new HtmlTextWriter(html.ViewContext.Writer)) { control.RenderControl(writer); } } return true; }
/// <summary> /// Renders a control. /// </summary> /// <param name="page">The page.</param> /// <param name="html">The HTML.</param> public virtual void Render(IPage page, HtmlHelper html) { using (HtmlControlRenderer control = new HtmlControlRenderer(Tag)) { OnPreRender(control, page, html); using (HtmlTextWriter writer = new HtmlTextWriter(html.ViewContext.Writer)) { control.RenderControl(writer); } } }