Beispiel #1
0
        private void RenderTabs(Markdown m, StringBuilder b)
        {
            var tabId            = m.GetNewTabId();
            var headerSB         = new StringBuilder();
            var contentSB        = new StringBuilder();
            var tabCounter       = 0;
            var checkedAttribute = " checked";

            foreach (var tabBlock in this.Children)
            {
                if (tabBlock.BlockType != BlockType.tab)
                {
                    return;
                }
                var tabHeaderText = tabBlock.Data as string ?? "Tab";
                // header
                string tabIdSuffix = tabCounter + "_" + tabId;
                headerSB.Append("<input type=\"radio\" id=\"tab");
                headerSB.Append(tabIdSuffix);
                headerSB.Append("\" name=\"tabGroup");
                headerSB.Append(tabId);
                headerSB.Append("\" class=\"tab\"");
                headerSB.Append(checkedAttribute);
                headerSB.Append("><label for=\"tab");
                headerSB.Append(tabIdSuffix);
                headerSB.Append("\">");
                headerSB.Append(tabHeaderText);
                headerSB.Append("</label>");

                // content
                var tabContentSB = new StringBuilder();
                tabBlock.RenderChildren(m, tabContentSB);
                contentSB.Append("<div class=\"tab-content\">");
                contentSB.Append(tabContentSB.ToString());
                contentSB.Append("</div>");

                // done
                checkedAttribute = string.Empty;
                tabCounter++;
            }
            b.Append("<div class=\"tab-wrap\">");
            b.Append(headerSB.ToString());
            b.Append(contentSB.ToString());
            b.Append("</div>");
        }
Beispiel #2
0
        private void RenderTabs(Markdown m, StringBuilder b)
        {
            var tabId = m.GetNewTabId();
            var headerSB = new StringBuilder();
            var contentSB = new StringBuilder();
            var tabCounter = 0;
            var checkedAttribute = " checked";
            foreach(var tabBlock in this.Children)
            {
                if(tabBlock.BlockType != BlockType.tab)
                {
                    return;
                }
                var tabHeaderText = tabBlock.Data as string ?? "Tab";
                // header
                string tabIdSuffix = tabCounter + "_" + tabId;
                headerSB.Append("<input type=\"radio\" id=\"tab");
                headerSB.Append(tabIdSuffix);
                headerSB.Append("\" name=\"tabGroup");
                headerSB.Append(tabId);
                headerSB.Append("\" class=\"tab\"");
                headerSB.Append(checkedAttribute);
                headerSB.Append("><label for=\"tab");
                headerSB.Append(tabIdSuffix);
                headerSB.Append("\">");
                headerSB.Append(tabHeaderText);
                headerSB.Append("</label>");

                // content
                var tabContentSB = new StringBuilder();
                tabBlock.RenderChildren(m, tabContentSB);
                contentSB.Append("<div class=\"tab-content\">");
                contentSB.Append(tabContentSB.ToString());
                contentSB.Append("</div>");

                // done
                checkedAttribute = string.Empty;
                tabCounter++;
            }
            b.Append("<div class=\"tab-wrap\">");
            b.Append(headerSB.ToString());
            b.Append(contentSB.ToString());
            b.Append("</div>");
        }