public override void MergeAttributes(TagBuilder tag, RenderContext context, MergeAttrMode mode = MergeAttrMode.All) { base.MergeAttributes(tag, context, mode); var boldBind = GetBinding(nameof(Bold)); var italicBind = GetBinding(nameof(Italic)); if (boldBind != null || italicBind != null) { var sb = new StringBuilder("{"); if (boldBind != null) { sb.Append($"bold: {boldBind.GetPath(context)}, "); } if (italicBind != null) { sb.Append($"italic: {italicBind.GetPath(context)}, "); } sb.RemoveTailComma(); sb.Append("}"); tag.MergeAttribute(":class", sb.ToString()); } tag.AddCssClassBoolNo(Bold, "bold"); tag.AddCssClassBoolNo(Italic, "italic"); tag.AddCssClassBoolNo(UserSelect, "user-select"); tag.AddCssClass(CssClass); }
public override void MergeAttributes(TagBuilder tag, RenderContext context, MergeAttrMode mode = MergeAttrMode.All) { base.MergeAttributes(tag, context, mode); if (mode.HasFlag(MergeAttrMode.Content)) { var contBind = GetBinding(nameof(Content)); if (contBind != null) { tag.MergeAttribute("v-text", contBind.GetPathFormat(context)); } } }
public override void MergeAttributes(TagBuilder tag, RenderContext context, MergeAttrMode mode = MergeAttrMode.All) { base.MergeAttributes(tag, context, mode); tag.AddCssClassBool(Block, "block"); var bindColor = GetBinding(nameof(Color)); if (bindColor != null) { tag.MergeAttribute(":class", $"'text-color-'+{bindColor.GetPath(context)}"); } else if (Color != TextColor.Default) { tag.AddCssClass("text-color-" + Color.ToString().ToKebabCase()); } if (Float != FloatMode.None) { tag.AddCssClass("float-" + Float.ToString().ToLowerInvariant()); } }
void RenderControl(RenderContext context, Action <TagBuilder> onRender, MergeAttrMode mode) { var tag = new TagBuilder("label", ControlType, IsInGrid); onRender?.Invoke(tag); MergeAttributes(tag, context, mode); if (IsLabelEmpty) { tag.AddCssClass("no-label"); } if (Color != TextColor.Default) { tag.AddCssClass("text-color-" + Color.ToString().ToKebabCase()); } tag.RenderStart(context); var input = new TagBuilder("input"); input.MergeAttribute("type", InputControlType); if (TabIndex != 0) { input.MergeAttribute("tabindex", TabIndex.ToString()); } input.MergeAttribute("v-settabindex", String.Empty); MergeCheckBoxValue(input, context); MergeCheckBoxAttributes(input, context); input.Render(context, TagRenderMode.SelfClosing); var span = new TagBuilder("span"); var lblBind = GetBinding(nameof(Label)); if (lblBind != null) { span.MergeAttribute("v-text", lblBind.GetPathFormat(context)); } else if (Label != null) { span.SetInnerText(Label.ToString()); } span.Render(context); // always (empty too) tag.RenderEnd(context); }
internal virtual void MergeAttributes(TagBuilder tag, RenderContext context, MergeAttrMode mode = MergeAttrMode.All) { if (mode.HasFlag(MergeAttrMode.Visibility)) { MergeVisibilityAttribures(tag, context); } if (mode.HasFlag(MergeAttrMode.Tip)) { MergeBindingAttributeString(tag, context, "title", "Tip", Tip); } if (mode.HasFlag(MergeAttrMode.Wrap)) { if (Wrap != WrapMode.Default) { tag.AddCssClass(Wrap.ToString().ToKebabCase()); } } if (mode.HasFlag(MergeAttrMode.Margin)) { if (Margin != null) { Margin.MergeStyles("margin", tag); } if (Padding != null) { Padding.MergeStyles("padding", tag); } } if (Absolute != null) { Absolute.MergeAbsolute(tag); } tag.MergeAttribute("id", HtmlId); }
public override void MergeAttributes(TagBuilder tag, RenderContext context, MergeAttrMode mode = MergeAttrMode.All) { base.MergeAttributes(tag, context, mode); tag.AddCssClassBool(Block, "block"); if (Popover != null) { tag.AddCssClass("with-popover"); } AddControlAttributes(tag, context); if (TabIndex != 0 && mode.HasFlag(MergeAttrMode.TabIndex)) { tag.MergeAttribute(":tab-index", TabIndex.ToString()); } if (Width != null) { tag.MergeStyle("width", Width.Value); tag.AddCssClass("with-width"); } if (!String.IsNullOrEmpty(TestId) && context.IsDebugConfiguration) { tag.MergeAttribute("test-id", TestId); } }
internal virtual void MergeAttributes(TagBuilder tag, RenderContext context, MergeAttrMode mode = MergeAttrMode.All) { if (mode.HasFlag(MergeAttrMode.Visibility)) { MergeBindingAttributeBool(tag, context, "v-if", nameof(If), If); MergeBindingAttributeBool(tag, context, "v-show", nameof(Show), Show); // emulate v-hide MergeBindingAttributeBool(tag, context, "v-show", nameof(Hide), Hide, bInvert: true); } if (mode.HasFlag(MergeAttrMode.Tip)) { MergeBindingAttributeString(tag, context, "title", "Tip", Tip); } if (mode.HasFlag(MergeAttrMode.Wrap)) { if (Wrap != WrapMode.Default) { tag.AddCssClass(Wrap.ToString().ToKebabCase()); } } if (mode.HasFlag(MergeAttrMode.Margin)) { if (Margin != null) { Margin.MergeStyles("margin", tag); } if (Padding != null) { Padding.MergeStyles("padding", tag); } if (Absolute != null) { Absolute.MergeAbsolute(tag); } } }
public override void MergeAttributes(TagBuilder tag, RenderContext context, MergeAttrMode mode = MergeAttrMode.All) { base.MergeAttributes(tag, context, mode); var boldBind = GetBinding(nameof(Bold)); var italicBind = GetBinding(nameof(Italic)); var cssBind = GetBinding(nameof(CssClass)); if (cssBind != null) { tag.MergeAttribute(":class", cssBind.GetPath(context)); if (boldBind != null || italicBind != null) { throw new XamlException("CssClass binding is incompatible with Bold and Italic bindings"); } } else if (boldBind != null || italicBind != null) { var sb = new StringBuilder("{"); if (boldBind != null) { sb.Append($"bold: {boldBind.GetPath(context)}, "); } if (italicBind != null) { sb.Append($"italic: {italicBind.GetPath(context)}, "); } sb.RemoveTailComma(); sb.Append("}"); tag.MergeAttribute(":class", sb.ToString()); } tag.AddCssClassBoolNo(Bold, "bold"); tag.AddCssClassBoolNo(Italic, "italic"); tag.AddCssClassBoolNo(UserSelect, "user-select"); tag.AddCssClassBoolNo(Print, "print"); tag.AddCssClass(CssClass); }
internal void MergeAttributesBase(TagBuilder tag, RenderContext context, MergeAttrMode mode = MergeAttrMode.All) { // without commands base.MergeAttributes(tag, context, mode); }
internal override void MergeAttributes(TagBuilder tag, RenderContext context, MergeAttrMode mode = MergeAttrMode.All) { base.MergeAttributes(tag, context, mode); MergeCommandAttribute(tag, context); }
internal override void MergeAttributes(TagBuilder tag, RenderContext context, MergeAttrMode mode = MergeAttrMode.All) { base.MergeAttributes(tag, context, mode); tag.AddCssClassBool(Block, "block"); }