Beispiel #1
0
        void RenderDescription(RenderContext context)
        {
            var descBind = GetBinding(nameof(Description));

            if (descBind == null && Description == null)
            {
                return;
            }
            var span = new TagBuilder("span", "description");

            if (descBind != null)
            {
                span.MergeAttribute("v-text", descBind.GetPathFormat(context));
            }
            span.RenderStart(context);
            if (Description is UIElementBase descUi)
            {
                descUi.RenderElement(context);
            }
            else if (Description != null)
            {
                context.Writer.Write(context.LocalizeCheckApostrophe(Description.ToString()));
            }
            span.RenderEnd(context);
        }
Beispiel #2
0
        void RenderFooter(RenderContext context)
        {
            if (!HasFooter)
            {
                return;
            }
            var f = new TagBuilder("div", "card-footer");

            f.RenderStart(context);
            var fb = GetBinding(nameof(Footer));

            if (fb != null)
            {
                var s = new TagBuilder("span");
                s.MergeAttribute(":text", fb.GetPathFormat(context));
                s.Render(context);
            }
            else if (Footer is UIElementBase fUiElem)
            {
                fUiElem.RenderElement(context);
            }
            else if (Footer is String fStr)
            {
                context.Writer.Write(context.LocalizeCheckApostrophe(fStr));
            }
            f.RenderEnd(context);
        }
Beispiel #3
0
        protected virtual void RenderHelp(RenderContext context)
        {
            if (!HasHelp)
            {
                return;
            }
            //<a class="btn-help"><i class="ico ico-help"></i>Справка</a>
            var ha = new TagBuilder("a", "btn-help");
            // TODO: Help path
            var hbind = GetBinding(nameof(HelpUrl));

            if (hbind != null)
            {
                String hpath = hbind.GetPathFormat(context);
                ha.MergeAttribute("@click.prevent", $"$showHelp({hpath})");
                ha.MergeAttribute(":href", $"$helpHref({hpath})");
            }
            else if (!String.IsNullOrEmpty(HelpUrl))
            {
                ha.MergeAttribute("@click.prevent", $"$showHelp('{HelpUrl}')");
                ha.MergeAttribute(":href", $"$helpHref('{HelpUrl}')");
            }
            ha.RenderStart(context);
            new TagBuilder("i", "ico ico-help")
            .Render(context);
            context.Writer.Write(context.Localize("@[Help]"));
            ha.RenderEnd(context);
            new TagBuilder("div", "aligner").Render(context);
        }
Beispiel #4
0
        public override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            if (SkipRender(context))
            {
                return;
            }
            GenerateSheet(context);
            var sheet = new TagBuilder("a2-sheet", null, IsInGrid);

            onRender?.Invoke(sheet);
            MergeAttributes(sheet, context);
            if (GridLines != GridLinesVisibility.None)
            {
                sheet.AddCssClass($"grid-{GridLines.ToString().ToLowerInvariant()}");
            }
            sheet.AddCssClassBool(Hover, "hover");
            sheet.AddCssClassBool(Striped, "striped");
            sheet.AddCssClassBoolNo(Border, "border");
            sheet.AddCssClassBool(Compact, "compact");
            sheet.AddCssClassBool(FitWidth, "fit-width");
            if (Width != null)
            {
                sheet.MergeStyle("width", Width.Value);
            }
            sheet.RenderStart(context);
            RenderColumns(context);
            RenderBody(context);
            RenderColumnsShadow(context);
            RenderHeader(context);
            RenderFooter(context);
            sheet.RenderEnd(context);
        }
Beispiel #5
0
        public override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            if (SkipRender(context))
            {
                return;
            }
            var isBind = GetBinding(nameof(ItemsSource));

            if (isBind == null)
            {
                return;
            }
            var div = new TagBuilder("template", null, IsInGrid);

            onRender?.Invoke(div);
            MergeAttributes(div, context);
            div.MergeAttribute("v-for", $"(elem, elemIndex) in {isBind.GetPath(context)}");
            div.RenderStart(context);
            if (Content != null)
            {
                using (new ScopeContext(context, "elem"))
                {
                    Content.RenderElement(context, (tag) =>
                    {
                        onRender?.Invoke(tag);
                        tag.MergeAttribute(":key", "elemIndex");
                    });
                }
            }
            div.RenderEnd(context);
        }
Beispiel #6
0
        void RenderPaneTemplate(RenderContext context)
        {
            if (ItemsPanel == null)
            {
                return;
            }
            if (!(ItemsPanel is DataGrid))
            {
                throw new XamlException("Only DataGrid panel is supported");
            }
            var dg  = ItemsPanel as DataGrid;
            var tml = new TagBuilder("template");

            tml.MergeAttribute("slot", "pane");
            tml.MergeAttribute("slot-scope", "root");
            tml.RenderStart(context);
            using (var ctx = new ScopeContext(context, "itm"))
            {
                ItemsPanel.RenderElement(context, (tag) =>
                {
                    tag.MergeAttribute(":is-item-active", "root.isItemActive");
                    tag.MergeAttribute(":hit-item", "root.hit");
                    tag.MergeAttribute(":items-source", "root.items");
                    if (ListSize != null && !ListSize.Height.IsEmpty && dg.FixedHeader)
                    {
                        // for fixed headers only
                        tag.MergeStyle("height", ListSize.Height.ToString());
                        tag.MergeStyle("max-height", ListSize.Height.ToString());
                    }
                });
            }
            tml.RenderEnd(context);
        }
Beispiel #7
0
 public override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
 {
     if (SkipRender(context))
     {
         return;
     }
     if (StickyHeaders)
     {
         var outTag = new TagBuilder("div", "a2-sticky-container", IsInGrid);
         MergeAttributes(outTag, context, MergeAttrMode.Visibility);
         if (Height != null)
         {
             outTag.MergeStyle("height", Height.Value);
         }
         outTag.RenderStart(context);
         RenderTable(context, "a2-table sticky", false, false, null);
         outTag.RenderEnd(context);
         var sb = new TagBuilder("div", "a2-sticky-bottom");
         if (Width != null)
         {
             sb.MergeStyle("width", Width.Value);
         }
         sb.Render(context);
     }
     else
     {
         RenderTable(context, "a2-table", IsInGrid, true, onRender);
     }
 }
Beispiel #8
0
        public override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            if (SkipRender(context))
            {
                return;
            }
            var input = new TagBuilder("static", null, IsInGrid);

            onRender?.Invoke(input);
            MergeAttributes(input, context);
            MergeValue(input, context);             // item, prop for validator
            MergeAlign(input, context, Align);
            var valBind = GetBinding(nameof(Value));

            if (valBind != null)
            {
                input.MergeAttribute(":text", valBind.GetPathFormat(context));                 // formatted
                if (valBind.NegativeRed)
                {
                    input.MergeAttribute(":class", $"$getNegativeRedClass({valBind.GetPath(context)})");
                }
            }
            input.RenderStart(context);
            RenderAddOns(context);
            input.RenderEnd(context);
        }
Beispiel #9
0
        public override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            if (SkipRender(context))
            {
                return;
            }
            var tb = new TagBuilder("div", "toolbar", IsInGrid);

            onRender?.Invoke(tb);
            if (Style != ToolbarStyle.Default)
            {
                tb.AddCssClass(Style.ToString().ToKebabCase());
            }
            if (AlignItems != AlignItems.Default)
            {
                tb.AddCssClass("align-" + AlignItems.ToString().ToLowerInvariant());
            }
            MergeAttributes(tb, context);
            if (Border != ToolbarBorderStyle.None)
            {
                tb.AddCssClass("tb-border-" + Border.ToString().ToKebabCase());
            }
            tb.RenderStart(context);
            RenderChildren(context);
            tb.RenderEnd(context);
        }
Beispiel #10
0
        protected virtual void RenderHelp(RenderContext context)
        {
            if (!HasHelp)
            {
                return;
            }
            var ha = new TagBuilder("a", "btn-help");

            ha.MergeAttribute("rel", "help");
            ha.MergeAttribute("title", context.Localize("@[Help]"));

            var hbind = GetBinding(nameof(HelpUrl));

            if (hbind != null)
            {
                String hpath = hbind.GetPathFormat(context);
                ha.MergeAttribute("@click.stop.prevent", $"$showHelp({hpath})");
                ha.MergeAttribute(":href", $"$helpHref({hpath})");
            }
            else if (!String.IsNullOrEmpty(HelpUrl))
            {
                ha.MergeAttribute("@click.stop.prevent", $"$showHelp('{HelpUrl}')");
                ha.MergeAttribute(":href", $"$helpHref('{HelpUrl}')");
            }
            ha.RenderStart(context);
            new TagBuilder("i", "ico ico-help")
            .Render(context);
            //context.Writer.Write(context.Localize("@[Help]"));
            ha.RenderEnd(context);
        }
Beispiel #11
0
        internal override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            if (SkipRender(context))
            {
                return;
            }
            var grid = new TagBuilder("div", "grid", IsInGrid);

            onRender?.Invoke(grid);
            MergeAttributes(grid, context);
            if (Height != null)
            {
                grid.MergeStyle("height", Height.Value);
            }
            if (_rows != null)
            {
                grid.MergeStyle("grid-template-rows", _rows.ToAttribute());
            }
            if (_columns != null)
            {
                grid.MergeStyle("grid-template-columns", _columns.ToAttribute());
            }
            grid.RenderStart(context);
            RenderChildren(context);
            grid.RenderEnd(context);
        }
Beispiel #12
0
        public override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            if (SkipRender(context))
            {
                return;
            }
            var list = new TagBuilder("ul", "flex-list", IsInGrid);

            MergeAttributes(list, context);
            if (AlignItems != AlignItems.Default)
            {
                list.AddCssClass("align-" + AlignItems.ToString().ToLowerInvariant());
            }
            list.AddCssClass(Orientation.ToString().ToLowerInvariant());
            if (BorderStyle != BorderStyle.None)
            {
                list.AddCssClass($"border-{BorderStyle.ToString().ToKebabCase()}");
            }
            if (MinWidth != null)
            {
                list.MergeStyleUnit("min-width", MinWidth.Value);
            }
            list.RenderStart(context);
            RenderChildren(context);
            list.RenderEnd(context);
        }
Beispiel #13
0
        internal override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            if (SkipRender(context))
            {
                return;
            }
            var po = new TagBuilder("popover", "a2-inline", IsInGrid);

            MergeAttributes(po, context, MergeAttrMode.All);
            po.AddCssClass("po-" + Placement.ToString().ToKebabCase());
            if (Background != PopoverBackgroundStyle.Default)
            {
                po.AddCssClass("po-" + Background.ToString().ToKebabCase());
            }
            if (Icon != Icon.NoIcon)
            {
                po.MergeAttribute("icon", Icon.ToString().ToKebabCase());
            }
            MergeBindingAttributeString(po, context, "content", nameof(Text), Text);

            var urlBind = GetBinding(nameof(Url));

            if (urlBind != null)
            {
                po.MergeAttribute(":url", urlBind.GetPathFormat(context));
            }
            else if (!String.IsNullOrEmpty(Url))
            {
                po.MergeAttribute("url", Url);
            }

            if (Width != null)
            {
                po.MergeAttribute("width", Width.Value);
            }

            if (Top != null)
            {
                po.MergeAttribute("top", Top.Value);
            }

            po.RenderStart(context);
            var cntBind = GetBinding(nameof(Content));

            if (cntBind != null)
            {
                var cont = new TagBuilder("span");
                cont.MergeAttribute("v-text", cntBind.GetPathFormat(context));
                cont.Render(context);
            }
            else if (Content is UIElementBase)
            {
                (Content as UIElementBase).RenderElement(context);
            }
            else if (Content != null)
            {
                context.Writer.Write(context.Localize(Content.ToString()));
            }
            po.RenderEnd(context);
        }
Beispiel #14
0
        public override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            if (SkipRender(context))
            {
                return;
            }
            var option = new TagBuilder("option");

            MergeAttributes(option, context, MergeAttrMode.Visibility);
            if (Value != null)
            {
                if (Value is IJavaScriptSource)
                {
                    var jsValue = (Value as IJavaScriptSource).GetJsValue(context);
                    option.MergeAttribute(":value", jsValue);
                }
                else
                {
                    option.MergeAttribute("value", Value.ToString());
                }
            }
            else
            {
                option.MergeAttribute(":value", "null");                 // JS null value
            }
            option.RenderStart(context);
            if (Content != null)
            {
                context.Writer.Write(context.LocalizeCheckApostrophe(Content));
            }
            option.RenderEnd(context);
        }
Beispiel #15
0
        public override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            if (SkipRender(context))
            {
                return;
            }
            var table = new TagBuilder("table", "prop-grid", IsInGrid);

            onRender?.Invoke(table);
            table.AddCssClassBool(Compact, "compact");
            SetStyle(table);
            table.AddCssClassBool(Striped, "striped");
            table.AddCssClassBool(NoWrapName, "no-wrap-name");
            if (!String.IsNullOrEmpty(TestId) && context.IsDebugConfiguration)
            {
                table.MergeAttribute("test-id", TestId);
            }
            MergeAttributes(table, context);
            if (GridLines != GridLinesVisibility.None)
            {
                table.AddCssClass($"grid-{GridLines.ToString().ToLowerInvariant()}");
            }

            table.RenderStart(context);
            RenderColumns(context);
            RenderBody(context);
            table.RenderEnd(context);
        }
Beispiel #16
0
        internal override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            if (CheckDisabledModel(context))
            {
                return;
            }
            var tagName = Multiline ? "a2-textarea" : "textbox";
            var input   = new TagBuilder(tagName, null, IsInGrid);

            onRender?.Invoke(input);
            MergeAttributes(input, context);
            MergeDisabled(input, context);
            if (Multiline)
            {
                MergeAttributeInt32(input, context, "rows", nameof(Rows), Rows);
            }
            if (Password)
            {
                input.MergeAttribute(":password", "true");
            }
            if (AutoSize)
            {
                input.MergeAttribute(":auto-size", "true");
            }
            if (UpdateTrigger != UpdateTrigger.Default)
            {
                input.MergeAttribute("update-trigger", UpdateTrigger.ToString().ToLowerInvariant());
            }
            MergeAlign(input, context, Align);
            MergeBindingAttributeString(input, context, "placeholder", nameof(Placeholder), Placeholder);
            MergeValue(input, context);
            input.RenderStart(context);
            RenderAddOns(context);
            input.RenderEnd(context);
        }
Beispiel #17
0
        public override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            if (SkipRender(context))
            {
                return;
            }
            var span = new TagBuilder("span", null, IsInGrid);

            onRender?.Invoke(span);
            MergeAttributes(span, context);

            var cbind = GetBinding(nameof(Content));

            if (cbind != null)
            {
                span.MergeAttribute("v-html", $"$sanitize({cbind.GetPathFormat(context)})");
            }

            span.RenderStart(context);
            if (Content != null && Content is String)
            {
                context.Writer.Write(context.LocalizeCheckApostrophe(Content.ToString()));
            }
            span.RenderEnd(context);
        }
Beispiel #18
0
        void RenderHeader(RenderContext context)
        {
            if (!HasHeader)
            {
                return;
            }
            var header = new TagBuilder("div", "panel-header-slot");

            header.MergeAttribute("slot", "header");
            header.RenderStart(context);

            RenderIcon(context, Icon);

            var hBind = GetBinding(nameof(Header));

            if (hBind != null)
            {
                var span = new TagBuilder("span");
                span.MergeAttribute("v-text", hBind.GetPathFormat(context));
                span.Render(context);
            }
            else if (Header is UIElementBase)
            {
                (Header as UIElementBase).RenderElement(context);
            }
            else if (Header != null)
            {
                context.Writer.Write(context.LocalizeCheckApostrophe(Header.ToString()));
            }
            RenderHint(context);
            header.RenderEnd(context);
        }
Beispiel #19
0
        void RenderBody(RenderContext context)
        {
            var tbody  = new TagBuilder("tbody").RenderStart(context);
            var isBind = GetBinding(nameof(ItemsSource));

            if (isBind != null)
            {
                if (Children.Count != 1)
                {
                    throw new XamlException("For a table with an items source, only one child element is allowed");
                }
                String path = isBind.GetPath(context);                 // before scope!
                using (new ScopeContext(context, "prop"))
                {
                    Children[0].RenderElement(context, (tag) =>
                    {
                        tag.MergeAttribute("v-for", $"(prop, propIndex) in {path}");
                        tag.MergeAttribute(":key", "propIndex");
                    });
                }
            }
            else
            {
                Children.Render(context);
            }
            tbody.RenderEnd(context);
        }
Beispiel #20
0
        internal override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            if (SkipRender(context))
            {
                return;
            }
            var section = new TagBuilder("a2-sheet-section-tree");
            var isBind  = GetBinding(nameof(ItemsSource));

            if (isBind != null)
            {
                String path = isBind.GetPath(context);
                var(Path, Prop) = SplitToPathProp(path);
                section.MergeAttribute(":items-source", Path);
                section.MergeAttribute("prop-name", Prop);
            }
            section.RenderStart(context);
            var tml = new TagBuilder("template");

            tml.MergeAttribute("slot-scope", "row");
            tml.RenderStart(context);
            using (var scope = new ScopeContext(context, "row.item"))
            {
                foreach (var r in Children)
                {
                    r.RenderElement(context, (tr) => tr.MergeAttribute(":class", "row.rowCssClass()"));
                }
            }
            tml.RenderEnd(context);
            section.RenderEnd(context);
        }
Beispiel #21
0
        void RenderColumnsShadow(RenderContext context)
        {
            // for export to excel column widths
            if (_columns == null)
            {
                return;
            }
            var cs = new TagBuilder("template");

            cs.MergeAttribute("slot", "col-shadow");
            cs.RenderStart(context);
            var tb = new TagBuilder("tbody", "col-shadow");

            tb.RenderStart(context);
            var tr = new TagBuilder("tr");

            tr.RenderStart(context);
            foreach (var c in _columns)
            {
                c.RenderShadow(context);
            }
            tr.RenderEnd(context);
            tb.RenderEnd(context);
            cs.RenderEnd(context);
        }
Beispiel #22
0
        public override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            if (SkipRender(context))
            {
                return;
            }
            var panel = new TagBuilder("div", "a2-tab-bar", IsInGrid);

            onRender?.Invoke(panel);
            MergeAttributes(panel, context);
            if (DropShadow != ShadowStyle.None)
            {
                panel.AddCssClass("drop-shadow");
                panel.AddCssClass(DropShadow.ToString().ToLowerInvariant());
            }
            if (Style != TabBarStyle.Default)
            {
                panel.AddCssClass($"tab-bar-{Style.ToString().ToKebabCase()}");
            }

            panel.RenderStart(context);
            RenderButtons(context);
            if (HasDescription)
            {
                RenderDesription(context);
            }
            panel.RenderEnd(context);
        }
Beispiel #23
0
        internal override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            if (SkipRender(context))
            {
                return;
            }
            Boolean bHasDropDown = DropDown != null;

            if (bHasDropDown)
            {
                DropDownDirection?dir     = (DropDown as DropDownMenu)?.Direction;
                Boolean           bDropUp = (dir == DropDownDirection.UpLeft) || (dir == DropDownDirection.UpRight);
                var wrap = new TagBuilder("div", "dropdown hlink-dd-wrapper", IsInGrid)
                           .AddCssClass(bDropUp ? "dir-up" : "dir-down")
                           .MergeAttribute("v-dropdown", String.Empty);
                onRender?.Invoke(wrap);
                MergeAttributes(wrap, context, MergeAttrMode.Visibility);
                wrap.RenderStart(context);
                RenderHyperlink(context, false, null, true);
                DropDown.RenderElement(context);
                wrap.RenderEnd(context);
            }
            else
            {
                RenderHyperlink(context, IsInGrid, onRender, false);
            }
        }
Beispiel #24
0
        public override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            if (SkipRender(context))
            {
                return;
            }
            var tag = new TagBuilder("a2-taskpad", null, IsInGrid);

            onRender?.Invoke(tag);
            MergeAttributes(tag, context);
            MergeBindingAttributeString(tag, context, "title", nameof(Title), Title);
            tag.AddCssClassBool(Overflow, "overflow");

            if (Background != BackgroundStyle.Default)
            {
                tag.AddCssClass("background-" + Background.ToString().ToKebabCase());
            }

            tag.AddCssClassBoolNo(Collapsible, "collapsible");

            var colBind = GetBinding(nameof(Collapsed));

            if (colBind != null)
            {
                tag.MergeAttribute(":initial-collapsed", colBind.GetPath(context));
            }
            else
            {
                tag.MergeAttribute(":initial-collapsed", Collapsed.ToString().ToLowerInvariant());
            }

            tag.RenderStart(context);
            RenderChildren(context);
            tag.RenderEnd(context);
        }
Beispiel #25
0
        void RenderHeader(RenderContext context)
        {
            if (!HasHeader)
            {
                return;
            }
            var h = new TagBuilder("div", "card-header");

            h.RenderStart(context);
            var hb = GetBinding(nameof(Header));

            if (hb != null)
            {
                var s = new TagBuilder("span");
                s.MergeAttribute(":text", hb.GetPathFormat(context));
                s.Render(context);
            }
            else if (Header is UIElementBase hUiElem)
            {
                hUiElem.RenderElement(context);
            }
            else if (Header is String hStr)
            {
                context.Writer.Write(context.LocalizeCheckApostrophe(hStr));
            }
            RenderHint(context);
            h.RenderEnd(context);
        }
Beispiel #26
0
        public override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            if (SkipRender(context))
            {
                return;
            }
            var label = new TagBuilder("div", "a2-label", IsInGrid);

            onRender?.Invoke(label);

            var contBind = GetBinding(nameof(Content));

            if (contBind != null)
            {
                label.MergeAttribute("v-text", contBind.GetPathFormat(context));
            }

            MergeAttributes(label, context);
            if (Align != TextAlign.Left)
            {
                label.AddCssClass("text-" + Align.ToString().ToLowerInvariant());
            }
            label.AddCssClassBool(Required, "required");

            AddSize(label);
            label.RenderStart(context);

            if (Content != null)
            {
                context.Writer.Write(context.LocalizeCheckApostrophe(Content.ToString()));
            }

            label.RenderEnd(context);
        }
Beispiel #27
0
        void RenderHeader(RenderContext context)
        {
            var header = new TagBuilder("div", "modal-header");

            header.MergeAttribute("v-drag-window", String.Empty);
            header.RenderStart(context);
            var hdr = GetBinding(nameof(Title));

            if ((hdr != null) || (Title != null))
            {
                var span = new TagBuilder("span");
                if (hdr != null)
                {
                    span.MergeAttribute("v-text", hdr.GetPathFormat(context));
                }
                else if (Title != null)
                {
                    span.SetInnerText(context.Localize(Title));
                }
                span.Render(context);
            }
            var close = new TagBuilder("button", "btnclose");

            close.MergeAttribute("@click.prevent", "$modalClose(false)");
            close.SetInnerText("&#x2715;");
            close.Render(context);

            header.RenderEnd(context);
        }
Beispiel #28
0
 internal override void RenderChildren(RenderContext context, Action <TagBuilder> onRenderStatic = null)
 {
     foreach (var ch in Children)
     {
         ch.IsInGrid = true;
         if (ch is GridGroup gg)
         {
             var grpTemplate = new TagBuilder("template");
             gg.MergeAttributes(grpTemplate, context, MergeAttrMode.Visibility);
             grpTemplate.RenderStart(context);
             foreach (var gc in gg.Children)
             {
                 gc.IsInGrid = true;
                 using (context.GridContext(GetRow(gc), GetCol(gc), GetRowSpan(gc), GetColSpan(gc), GetVAlign(gc)))
                 {
                     gc.RenderElement(context);
                 }
             }
             grpTemplate.RenderEnd(context);
         }
         else
         {
             using (context.GridContext(GetRow(ch), GetCol(ch), GetRowSpan(ch), GetColSpan(ch), GetVAlign(ch)))
             {
                 ch.RenderElement(context);
             }
         }
     }
 }
Beispiel #29
0
        public override void RenderElement(RenderContext context, Action <TagBuilder> onRender = null)
        {
            if (SkipRender(context))
            {
                return;
            }
            var mi = new TagBuilder("button", "dropdown-item");

            if (HasIcon)
            {
                MergeAttributes(mi, context, MergeAttrMode.NoContent);
                MergeDisabled(mi, context, nativeControl: true);
                mi.MergeAttribute("v-disable", String.Empty);
                mi.RenderStart(context);
                RenderIcon(context, Icon);
                var span = new TagBuilder("span");
                MergeAttributesBase(span, context, MergeAttrMode.Content);                 // skip command!
                span.RenderStart(context);
                RenderContent(context);
                span.RenderEnd(context);
                mi.RenderEnd(context);
            }
            else
            {
                MergeAttributes(mi, context, MergeAttrMode.All);
                MergeDisabled(mi, context, nativeControl: true);
                mi.MergeAttribute("v-disable", String.Empty);
                mi.RenderStart(context);
                RenderContent(context);
                mi.RenderEnd(context);
            }
        }
Beispiel #30
0
        internal void RenderMe(RenderContext context, String valuePath)
        {
            if (SkipRender(context))
            {
                return;
            }

            var btn = new TagBuilder("a", "a2-tab-button");

            var activeValueArg = $"'{ActiveValue}'";
            var avBind         = GetBinding(nameof(ActiveValue));

            if (avBind != null)
            {
                activeValueArg = avBind.GetPathFormat(context);
            }

            MergeAttributes(btn, context);
            if (valuePath != null)
            {
                btn.MergeAttribute(":class", $"{{'active': {activeValueArg} == {valuePath}}}");
                btn.MergeAttribute("@click.prevent", $"{valuePath}={activeValueArg}");
            }

            btn.RenderStart(context);
            RenderContent(context);
            RenderDescription(context);
            btn.RenderEnd(context);
        }