protected string GetFilterSectionHtml([NotNull] XElement filter, bool fillVisitorCount) { Assert.ArgumentNotNull(filter, "filter"); var writer = new HtmlTextWriter(new StringWriter(CultureInfo.CurrentCulture)); var id = ShortID.Parse(filter.GetAttributeValue("uid")).ToString(); writer.Write("<table id='{ID}_body' cellspacing='0' cellpadding='0' class='rule-body'>"); writer.Write("<tbody>"); writer.Write("<tr>"); writer.Write("<td class='left-column'>"); RenderRuleConditions(filter, writer); writer.Write("</td>"); writer.Write("<td class='right-column'>"); writer.Write(string.Format(CultureInfo.InvariantCulture, "<span>{0}</span>", HttpUtility.HtmlEncode(Translate.Text(SB.Texts.ContactsThatMatchThisRule)))); if (fillVisitorCount) { XElement rule; var number = GetVisitorsCount(GetFilterPosition(id), out rule); writer.Write(string.Format(CultureInfo.InvariantCulture, "<span class='value' id='{1}ID{2}_count'>{0}</span>", number, "{", "}")); } else { writer.Write(string.Format(CultureInfo.InvariantCulture, "<span class='value'>{0}</span>", HttpUtility.HtmlEncode(Translate.Text(SB.Texts.Calculating)))); } writer.Write("</td>"); writer.Write("</tr>"); writer.Write("</tbody>"); writer.Write("</table>"); var panelHtml = writer.InnerWriter.ToString().Replace("{ID}", id); var actionsContext = new CollapsiblePanelRenderer.ActionsContext { IsVisible = true, OnActionClick = "javascript:return Sitecore.CollapsiblePanel.showActionsMenu(this,event)", Menu = GetActionsMenu(id) }; var name = Translate.Text(SB.Texts.SpecifyName); if (!string.IsNullOrEmpty(filter.GetAttributeValue("name"))) { name = filter.GetAttributeValue("name"); } var nameContext = new CollapsiblePanelRenderer.NameContext(name) { Editable = true, OnNameChanged = "javascript:return Sitecore.CollapsiblePanel.renameComplete(this,event)" }; var panelRenderer = new CollapsiblePanelRenderer(); panelRenderer.CssClass = "rule-container"; return(Assert.ResultNotNull(panelRenderer.Render(id, panelHtml, nameContext, actionsContext))); }
private string GetRuleSectionHtml(XElement rule) { Assert.ArgumentNotNull(rule, "rule"); HtmlTextWriter htmlTextWriter = new HtmlTextWriter(new StringWriter()); string str = ShortID.Parse(rule.GetAttributeValue("uid")).ToString(); htmlTextWriter.Write("<table id='{ID}_body' cellspacing='0' cellpadding='0' class='rule-body'>"); htmlTextWriter.Write("<tbody>"); htmlTextWriter.Write("<tr>"); htmlTextWriter.Write("<td class='left-column'>"); this.RenderRuleConditions(rule, htmlTextWriter); htmlTextWriter.Write("</td>"); htmlTextWriter.Write("<td class='right-column'>"); this.RenderRuleActions(rule, htmlTextWriter); htmlTextWriter.Write("</td>"); htmlTextWriter.Write(this.RenderRulePlaceholder("afterAction", rule)); htmlTextWriter.Write("</tr>"); htmlTextWriter.Write("</tbody>"); htmlTextWriter.Write("</table>"); string str1 = htmlTextWriter.InnerWriter.ToString().Replace("{ID}", str); bool flag = PersonalizationFormWithActions.IsDefaultCondition(rule); CollapsiblePanelRenderer.ActionsContext actionsMenu = new CollapsiblePanelRenderer.ActionsContext() { IsVisible = !flag }; if (!flag) { actionsMenu.OnActionClick = "javascript:return Sitecore.CollapsiblePanel.showActionsMenu(this,event)"; actionsMenu.Menu = this.GetActionsMenu(str); } string attributeValue = "Default"; if (!flag || !string.IsNullOrEmpty(rule.GetAttributeValue("name"))) { attributeValue = rule.GetAttributeValue("name"); } CollapsiblePanelRenderer.NameContext nameContext = new CollapsiblePanelRenderer.NameContext(attributeValue) { Editable = !flag, OnNameChanged = "javascript:return Sitecore.CollapsiblePanel.renameComplete(this,event)" }; CollapsiblePanelRenderer.NameContext nameContext1 = nameContext; CollapsiblePanelRenderer collapsiblePanelRenderer = new CollapsiblePanelRenderer() { CssClass = "rule-container" }; return(collapsiblePanelRenderer.Render(str, str1, nameContext1, actionsMenu)); }