Ejemplo n.º 1
0
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            base.BuildRenderTree(builder);

            var name = View?.GetType().Name ?? "null";

            builder.OpenElement(0, "div");
            builder.AddAttribute(1, "class", $"comet-view comet-view-{name}");

            if (View is null)
            {
                builder.OpenElement(2, "div");
                builder.AddAttribute(3, "class", "alert alert-danger");
                builder.AddAttribute(4, "role", "alert");
                builder.AddMarkupContent(5, "View cannot be null.");
                builder.CloseElement();
            }
            else if (View.GetOrCreateViewHandler() is IBlazorViewHandler handler)
            {
                builder.OpenComponent(6, handler.ComponentType);
                builder.SetKey(handler);
                builder.AddComponentReferenceCapture(7, handler.OnComponentLoad);
                builder.CloseComponent();
            }
            else
            {
                builder.OpenElement(8, "div");
                builder.AddAttribute(9, "class", "alert alert-danger");
                builder.AddAttribute(10, "role", "alert");
                builder.AddMarkupContent(11, $"Invalid view handler: <b>{View.GetType()}</b>");
                builder.CloseElement();
            }

            builder.CloseElement();
        }
Ejemplo n.º 2
0
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            builder.AddMarkupContent(0, "\r\n                    ");
            builder.OpenElement(1, "g");
            builder.AddAttribute(2, "id", "node" + "_element");
            builder.AddAttribute(3, "xmlns", "http://www.w3.org/2000/svg");
            builder.AddMarkupContent(4, "\r\n                    ");
            builder.OpenElement(5, "rect");
            builder.AddAttribute(6, "xmlns", "http://www.w3.org/2000/svg");
            builder.AddAttribute(7, "id", "node");
            builder.AddAttribute(8, "x", _x);
            builder.AddAttribute(9, "y", _y);
            builder.AddAttribute(10, "width", _width);
            builder.AddAttribute(11, "height", _height);
            string style = "fill:yellow; stroke-width:5";

            builder.AddAttribute(12, "style", style);
            builder.AddMarkupContent(13, "\r\n                    ");
            builder.CloseElement();
            builder.AddMarkupContent(14, "\r\n                    ");
            builder.CloseElement();
            builder.AddMarkupContent(15, "\r\n                    ");


            base.BuildRenderTree(builder);
        }
Ejemplo n.º 3
0
        protected override void BuildRenderTree(RenderTreeBuilder __builder)
        {
            #region 底下的程式碼,將是從編譯器產生出來的 Counter 元件複製過來的
            __builder.AddMarkupContent(0, "<h1>Counter</h1>\r\n\r\n");
            __builder.OpenElement(1, "p");
            __builder.AddContent(2, "Current count: ");
            __builder.AddContent(3, currentCount);
            __builder.CloseElement();
            __builder.AddMarkupContent(4, "\r\n\r\n");
            __builder.OpenElement(5, "button");
            __builder.AddAttribute(6, "class", "btn btn-primary");
            __builder.AddAttribute(7, "onclick"
                                   , Microsoft.AspNetCore.Components.EventCallback.Factory
                                   .Create <Microsoft.AspNetCore.Components.Web.MouseEventArgs>(this, IncrementCount));
            __builder.AddContent(8, "Click me");
            __builder.CloseElement();
            #endregion

            #region 這裡宣告一個按鈕,沒做甚麼事情,但會觸發 BuildRenderTree 再度執行
            __builder.OpenElement(5, "button");
            __builder.AddAttribute(6, "class", "btn btn-danger");
            __builder.AddAttribute(7, "onclick"
                                   , Microsoft.AspNetCore.Components.EventCallback.Factory
                                   .Create <Microsoft.AspNetCore.Components.Web.MouseEventArgs>(this, EmptyCount));
            __builder.AddContent(8, "不會做任何事情");
            __builder.CloseElement();
            #endregion
        }
Ejemplo n.º 4
0
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            base.BuildRenderTree(builder);
            switch (ControlType)
            {
            case "TBText":
                builder.AddMarkupContent(0, $"<label>{this.LabelText}</label><br />");
                builder.OpenElement(1, "input");
                builder.AddAttribute(2, "type", "text");
                builder.AddAttribute(3, "value", this.Bind);
                builder.AddAttribute(4, "onchange", EventCallback.Factory.CreateBinder(this.Obj,
                                                                                       ValueChangeEvent, this.Bind.ToString(), CultureInfo.InvariantCulture));
                builder.CloseElement();
                builder.AddMarkupContent(5, "<br />");
                break;

            case "TBNumber":
                builder.AddMarkupContent(0, $"<label>{this.LabelText}</label><br />");
                builder.OpenElement(1, "input");
                builder.AddAttribute(2, "type", "number");
                builder.AddAttribute(3, "value", this.Bind);
                builder.AddAttribute(4, "onchange", EventCallback.Factory.CreateBinder(this.Obj,
                                                                                       _value => ValueChangeEvent(_value), (int)this.Bind, CultureInfo.InvariantCulture));
                builder.CloseElement();
                builder.AddMarkupContent(5, "<br />");
                break;
            }
        }
Ejemplo n.º 5
0
 protected override void BuildRenderTree(RenderTreeBuilder builder)
 {
     builder.AddMarkupContent(0, RenderStyles());
     if (IsIE())
     {
         builder.AddMarkupContent(1, RenderPolyfill());
     }
 }
 protected override void BuildRenderTree(RenderTreeBuilder builder)
 {
     builder.AddMarkupContent(0, "<h1>Counter</h1>\r\n\r\n");
     builder.OpenElement(1, "p");
     builder.AddContent(2, "Current count: ");
     builder.AddContent(3, currentCount);
     builder.CloseElement();
     builder.AddMarkupContent(4, "\r\n\r\n");
     builder.OpenElement(5, "button");
     builder.AddAttribute(6, "class", "btn btn-primary");
     builder.AddAttribute(7, "onclick", EventCallback.Factory.Create <MouseEventArgs>(this, IncrementCount));
     builder.AddContent(8, "Click me");
     builder.CloseElement();
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Renders the dismiss icon inside the dismiss button - <see cref="RenderDismissButton"/>.
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="sequence"></param>
 /// <returns></returns>
 private void RenderDismissIcon(RenderTreeBuilder builder, ref int sequence)
 {
     builder.OpenElement(sequence++, MarkupElements.Span);
     builder.AddAttribute(sequence++, "aria-hidden", true.ToString().ToLower());
     builder.AddMarkupContent(sequence++, "&times;");
     builder.CloseElement();
 }
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            base.BuildRenderTree(builder);


            builder.AddMarkupContent(0, $@"<script type=""application/ld+json"">{JsonConvert.SerializeObject(this.Schema)}</script>");
        }
Ejemplo n.º 9
0
        /// <inheritdoc />
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            List <string> messages = fieldIdentifiers.SelectMany(fieldIdentifier => currentEditContext.GetValidationMessages(fieldIdentifier)).ToList();

            if (messages.Any())
            {
                builder.OpenElement(100, "div");
                builder.AddAttribute(101, "class", HxInputBase <object> .InvalidCssClass);
                builder.CloseElement();

                builder.OpenElement(200, "div");
                builder.AddAttribute(201, "class", "invalid-tooltip");

                bool firstRendered = false;
                foreach (string message in messages)
                {
                    if (firstRendered)
                    {
                        builder.AddMarkupContent(202, "&nbsp;");
                    }
                    builder.OpenElement(203, "span");
                    builder.AddContent(204, message);
                    builder.CloseElement();

                    firstRendered = true;
                }

                builder.CloseElement();
            }
        }
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            var         seq         = 0;
            MiniPieFont miniPieFont = new MiniPieFont();

            miniPieFont.InputData    = InputData;
            miniPieFont.GenerateText = GenerateText;
            miniPieOutput            = miniPieFont.Encode();

/*
 *          builder.OpenElement(seq, "figure");
 *          builder.OpenElement(++seq, "div");
 *          builder.AddAttribute(++seq, "class", "minipie-main");
 *          foreach (string miniPieLine in miniPieOutput)
 *          {
 *              builder.OpenElement(++seq, "span");
 *              builder.AddAttribute(++seq, "class", "MiniPie");
 *              //string miniPieLineBreak = miniPieLine + "<br />";
 *              builder.AddMarkupContent(++seq, miniPieLine);
 *              builder.CloseElement();
 *          }
 *
 */
            builder.OpenElement(++seq, "span");
            builder.AddAttribute(++seq, "class", "MiniPie");
            builder.AddMarkupContent(++seq, miniPieOutput);
            builder.CloseElement();

/*
 *          builder.CloseElement();
 *          builder.CloseElement();
 */
        }
Ejemplo n.º 11
0
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            var render = Component as IControlRender;

            if (render != null)
            {
                if (Config == null)
                {
                    throw new BlazuiException("Component 类型为 IControlRender 时,必须指定 Config 参数");
                }

                render.Render(builder, Config);
                return;
            }
            else if (Component is Type type)
            {
                builder.OpenComponent(0, type);
                if (Parameters != null)
                {
                    var seq = 1;
                    foreach (var key in Parameters.Keys)
                    {
                        builder.AddAttribute(seq++, key, Parameters[key]);
                    }
                }
                builder.CloseComponent();
                return;
            }
            if (Component is RenderFragment renderFragment)
            {
                builder.AddContent(0, renderFragment);
                return;
            }
            builder.AddMarkupContent(0, Convert.ToString(Component));
        }
        private void RenderInputComponent(ExpandoObject data, DynamicControl control,
                                          RenderTreeBuilder builder2)
        {
            switch (control.Type)
            {
            case "textBox":
            case "multiLineTextBox":
                builder2.OpenComponent(0, typeof(InputText));
                // Create the handler for ValueChanged. I use reflection to the value.

                BindDataValue <string>(data, control.Id, builder2, control);

                if (control.Type == "multiLineTextBox")
                {
                    builder2.AddAttribute(5, "Multiline", true);
                }

                builder2.CloseComponent();
                break;

            case "datePicker":
                builder2.OpenComponent(0, typeof(InputDate <DateTime>));
                BindDataValue <DateTime>(data, control.Id, builder2, control);
                builder2.CloseComponent();
                break;

            case "dropdown":
                builder2.OpenComponent(0, typeof(InputSelect <string>));
                BindDataValue <string>(data, control.Id, builder2, control);
                builder2.AddAttribute(5, "ChildContent", (RenderFragment)((builder2) =>
                {
                    var index = 1;
                    foreach (var item in control.Items)
                    {
                        builder2.OpenElement(6, "option");
                        builder2.AddAttribute(7, "Value", $"Value-{index}");
                        builder2.AddContent(8, _localizer[item]);
                        builder2.CloseElement();
                        builder2.AddMarkupContent(9, "\r\n");
                        index++;
                    }
                }));
                builder2.CloseComponent();
                break;

            case "checkBox":
                builder2.OpenComponent(0, typeof(InputCheckbox));
                BindDataValue <bool>(data, control.Id, builder2, control);
                builder2.CloseComponent();
                break;

            default:
                builder2.OpenElement(0, "p");
                builder2.AddAttribute(1, "style", "padding: 8px 12px  24px");
                builder2.AddContent(2, "Control is to be implemented :-)");
                builder2.CloseElement();
                break;
            }
        }
Ejemplo n.º 13
0
 protected override void BuildRenderTree(RenderTreeBuilder builder)
 {
     builder.OpenElement(1, "body");
     builder.AddMarkupContent(2, "<h1>Hello World!</h1> \r\n");
     builder.CloseElement();
     builder.OpenComponent <MyDynamicComponent>(3);
     builder.CloseComponent();
 }
 /// <inheritdoc />
 protected override void BuildRenderTree(RenderTreeBuilder builder)
 {
     builder.OpenElement(0, "textarea");
     builder.AddMultipleAttributes(1, AdditionalAttributes);
     builder.AddAttribute(2, "class", CssClass);
     builder.AddAttribute(4, "onchange", EventCallback.Factory.CreateBinder <string>(this, __value => CurrentValueAsString = __value, CurrentValueAsString));
     builder.AddAttribute(5, "tabindex", TabIndex.ToString());
     builder.AddMarkupContent(6, BindConverter.FormatValue(CurrentValue));
     builder.CloseElement();
 }
Ejemplo n.º 15
0
        public void CanAddMarkup()
        {
            // Arrange
            var builder = new RenderTreeBuilder(new TestRenderer());

            // Act
            builder.OpenElement(0, "some elem");
            builder.AddMarkupContent(1, "Blah");
            builder.AddMarkupContent(2, string.Empty);
            builder.CloseElement();

            // Assert
            var frames = builder.GetFrames();

            Assert.Collection(frames,
                              frame => AssertFrame.Element(frame, "some elem", 3),
                              frame => AssertFrame.Markup(frame, "Blah"),
                              frame => AssertFrame.Markup(frame, string.Empty));
        }
        private void RenderGrid(RenderTreeBuilder builder, int seq)
        {
            var constructed = oxGrid.GetType();

            builder.AddMarkupContent(seq++, "\r\n            ");
            builder.OpenComponent(seq++, constructed);
            builder.AddAttribute(seq++, "AllowButtons", RuntimeHelpers.TypeCheck <System.Boolean>(true));
            builder.AddAttribute(seq++, "AllowPrint", RuntimeHelpers.TypeCheck <System.Boolean>(true));
            builder.AddAttribute(seq++, "OnAdd", RuntimeHelpers.TypeCheck(EventCallback.Factory.Create(this, (value) => viewEdit.ShowDialog(null, OxActionModel.New))));
            builder.AddAttribute(seq++, "OnEdit", RuntimeHelpers.TypeCheck(EventCallback.Factory.Create(this, (value) => viewEdit.ShowDialog(value, OxActionModel.Edit))));
            builder.AddAttribute(seq++, "OnDelete", RuntimeHelpers.TypeCheck(EventCallback.Factory.Create(this, (value) => viewEdit.ShowDialog(value, OxActionModel.Delete))));
            builder.AddComponentReferenceCapture(seq++, (value) =>
            {
                var getRef = TypeHelper.ConvertTo(value, constructed);
                oxGrid     = getRef;
            });
            builder.CloseComponent();
            builder.AddMarkupContent(seq++, "\r\n        ");
        }
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            base.BuildRenderTree(builder);

            var script = @"<script>
              !function(f,b,e,v,n,t,s)
              {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
              n.callMethod.apply(n,arguments):n.queue.push(arguments)};
              if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
              n.queue=[];t=b.createElement(e);t.async=!0;
              t.src=v;s=b.getElementsByTagName(e)[0];
              s.parentNode.insertBefore(t,s)}(window, document,'script',
              'https://connect.facebook.net/en_US/fbevents.js');
              fbq('init', '" + this.AppId + @"');
              fbq('track', 'PageView');
            </script>";

            builder.AddMarkupContent(0, script);
            builder.AddMarkupContent(1, @"<script src=""_content/Blazor-Facebook-Analytics/interop.js""></script>");
        }
        private void Render(RenderTreeBuilder builder, object propertyValue)
        {
            var markupContent = $@"
<div class=""dxbs-fl-ctrl""><!--!-->
    <div data-item-name=""{MemberInfo.Name}"" class=""d-none""></div><!--!-->
    <!--!-->{$"{propertyValue}".StringFormat(Model.DisplayFormat)}<!--!-->
</div>
";

            builder.AddMarkupContent(0, markupContent);
        }
 protected override void BuildRenderTree(RenderTreeBuilder __builder)
 {
     if (!this.Show)
     {
         return;
     }
     __builder.AddContent(0, "    ");
     __builder.OpenElement(1, "div");
     __builder.AddAttribute(2, "class", "dialog-container");
     __builder.AddMarkupContent(3, "\r\n        ");
     __builder.OpenElement(4, "div");
     __builder.AddAttribute(5, "class", "dialog");
     __builder.AddMarkupContent(6, "\r\n            ");
     __builder.AddContent(7, this.ChildContent);
     __builder.AddMarkupContent(8, "\r\n        ");
     __builder.CloseElement();
     __builder.AddMarkupContent(9, "\r\n    ");
     __builder.CloseElement();
     __builder.AddMarkupContent(10, "\r\n");
 }
Ejemplo n.º 20
0
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            if (Type is null)
            {
                return;
            }

            switch (TypeKind)
            {
            case TypeKind.Scalar:
            case TypeKind.Object:
                builder.OpenComponent <ValueEditor>(0);
                builder.AddAttribute(1, nameof(TypeKind), TypeKind);
                builder.AddAttribute(2, nameof(Type), Type);
                builder.AddComponentReferenceCapture(3, obj => editor = (EditorBase)obj);
                builder.CloseComponent();
                break;

            case TypeKind.List:
                builder.OpenComponent <ListTypeEditor>(0);
                builder.AddAttribute(1, nameof(TypeKind), TypeKind);
                builder.AddAttribute(2, nameof(Type), Type);
                builder.AddComponentReferenceCapture(3, obj => editor = (EditorBase)obj);
                builder.CloseComponent();
                break;

            case TypeKind.Any:
                builder.OpenComponent <RawEditor>(0);
                builder.AddAttribute(1, nameof(TypeKind), TypeKind);
                builder.AddAttribute(2, nameof(Type), Type);
                builder.AddComponentReferenceCapture(3, obj => editor = (EditorBase)obj);
                builder.CloseComponent();
                break;

            case TypeKind.Unit:
                builder.AddContent(0, "<not required>");
                break;

            default:
                //throw new NotImplementedException();
                builder.OpenElement(0, "div");
                builder.AddAttribute(1, "class", "flex flex-col");
                builder.AddMarkupContent(2, @$ "<span class=" "text-red-600 font-bold" ">{TypeKind}</span><span class=" "text-red-600 font-bold" ">{Type}</span>");
                builder.OpenComponent <RawEditor>(3);
                builder.AddAttribute(4, nameof(TypeKind), TypeKind);
                builder.AddAttribute(5, nameof(Type), Type);
                builder.AddComponentReferenceCapture(6, obj => editor = (EditorBase)obj);
                builder.CloseComponent();
                builder.CloseElement();
                break;
            }

            base.BuildRenderTree(builder);
        }
Ejemplo n.º 21
0
        //protected override async Task OnAfterRenderAsync()
        //{
        //    await JSRuntime.InvokeAsync<string>(Configure,
        //        TrackingId);

        //    if (ContainerId != null)
        //    {
        //        await JSRuntime.InvokeAsync<string>(GoogleTagManager, ContainerId);
        //    }

        //    base.OnAfterRenderAsync();
        //}

        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            base.BuildRenderTree(builder);

            int sequence = 0;

            var googleAnalyticsScript = @"
                   <script>
                    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
                    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
                    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
                    })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

                    ga('create', '" + this.TrackingId + @"', 'auto');
                    ga('send', 'pageview');
                    </script>
                ";

            builder.AddMarkupContent(sequence++, googleAnalyticsScript);

            if (string.IsNullOrEmpty(this.ContainerId) == false)
            {
                var headerScript = @"
                    <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
                    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
                    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
                    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
                    })(window,document,'script','dataLayer','" + ContainerId + @"');</script>
                ";

                var bodyScript = @"
                    <noscript><iframe src=""https://www.googletagmanager.com/ns.html?id=" + ContainerId + @"""
                    height=""0"" width=""0"" style=""display:none;visibility:hidden""></iframe></noscript>
                ";

                builder.AddMarkupContent(sequence++, headerScript);
                builder.AddMarkupContent(sequence++, bodyScript);
            }

            builder.AddMarkupContent(sequence++, @"<script src=""_content/Blazor-Google-Analytics/interop.js""></script>");
        }
Ejemplo n.º 22
0
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            base.BuildRenderTree(builder);

            builder.OpenElement(0, "div");
            if (AdditionalAttributes != null)
            {
                builder.AddMultipleAttributes(1, AdditionalAttributes);
            }
            builder.AddMarkupContent(0, MessageRenderer.RenderMessages().ToString());
            builder.CloseElement();
        }
Ejemplo n.º 23
0
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            var            seq            = 0;
            ColumnBarsFont columnBarsFont = new ColumnBarsFont();

            columnBarsFont.GenerateText = GenerateText;
            columnBarsFont.InputData    = InputData;
            columnBarsOutput            = columnBarsFont.Encode();

            builder.OpenElement(++seq, "span");
            builder.AddAttribute(++seq, "class", "ColumnBars");
            builder.AddMarkupContent(++seq, columnBarsOutput);
            builder.CloseElement();
        }
Ejemplo n.º 24
0
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            var         seq         = 0;
            WinLossFont winLossFont = new WinLossFont();

            winLossFont.InputData    = InputData;
            winLossFont.GenerateText = GenerateText;
            winLossOutput            = winLossFont.Encode();

            builder.OpenElement(++seq, "span");
            builder.AddAttribute(++seq, "class", "WinLoss");
            builder.AddMarkupContent(++seq, winLossOutput);
            builder.CloseElement();
        }
Ejemplo n.º 25
0
        public void CanAddNullMarkup()
        {
            // Arrange
            var builder = new RenderTreeBuilder(new TestRenderer());

            // Act
            builder.AddMarkupContent(0, null);

            // Assert
            var frames = builder.GetFrames();

            Assert.Collection(frames,
                              frame => AssertFrame.Markup(frame, string.Empty));
        }
Ejemplo n.º 26
0
 protected override void BuildRenderTree(RenderTreeBuilder builder)
 {
     if (Component is Type type)
     {
         builder.OpenComponent(0, type);
         builder.CloseComponent();
         return;
     }
     if (Component is RenderFragment renderFragment)
     {
         builder.AddContent(0, renderFragment);
         return;
     }
     builder.AddMarkupContent(0, Convert.ToString(Component));
 }
Ejemplo n.º 27
0
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            var           seq       = 0;
            SparklineFont sparkline = new SparklineFont();

            sparkline.InputData    = InputData;
            sparkline.GenerateText = GenerateText;
            sparkline.SegmentWidth = SegmentWidth;
            sparklineOutput        = sparkline.Encode();

            builder.OpenElement(++seq, "span");
            builder.AddAttribute(++seq, "class", "Sparklines");
            builder.AddMarkupContent(++seq, sparklineOutput);
            builder.CloseElement();
        }
Ejemplo n.º 28
0
    protected override void BuildRenderTree(RenderTreeBuilder builder)
    {
        var value = Value;

        if (value == null || AddressOrAlias.None.Equals(value))
        {
            builder.AddMarkupContent("<span hg-address-display hg-none>None</span>");
        }
        else if (value.Endorsement is null)
        {
            builder.OpenElement("span");
            builder.AddAttribute("hg-address-display");
            builder.AddContent(value.ShardNum);
            builder.AddContent(".");
            builder.AddContent(value.RealmNum);
            builder.AddContent(".");
            builder.AddContent(value.AccountNum);
            builder.CloseElement();
        }
        else
        {
            builder.OpenElement("span");
            builder.AddAttribute("hg-alias-display");
            builder.AddAttribute($"hg-{value.Endorsement.Type}");
            builder.AddMultipleAttributes(AdditionalAttributes);
            switch (value.Endorsement.Type)
            {
            case KeyType.Ed25519:
            case KeyType.ECDSASecp256K1:
                builder.OpenElement("span");
                builder.AddContent($"{value.ShardNum}.{value.RealmNum}.");
                builder.CloseElement();
                builder.OpenElement("span");
                builder.AddContent(GetRawKeyPart(value.Endorsement));
                builder.CloseElement();
                break;

            case KeyType.Contract:
                builder.AddContent(Hex.FromBytes(value.Endorsement.PublicKey));
                break;

            default:
                builder.AddContent("Invalid");
                break;
            }
            builder.CloseElement();
        }
    }
        private void BuilderComponent(RenderTreeBuilder builder)
        {
            var gridAux = AppDataTransfer.Result as GridGenericView;

            if (gridAux == null)
            {
                Toast.ShowInfo("Erro ao carregar a entidade!");
                return;
            }
            var  seq     = 0;
            Type generic = typeof(OXGrid <>);

            Type[] typeArgs    = { gridAux.Model };
            Type   constructed = generic.MakeGenericType(typeArgs);

            viewEdit = TypeHelper.CreateInstance(gridAux.View);
            oxGrid   = TypeHelper.CreateInstance(constructed);
            var grid = TypeHelper.ConvertTo(oxGrid, constructed);

            //create layout

            builder.AddAttribute(seq++, "ChildContent", (RenderFragment)((builder2) =>
            {
                builder2.AddMarkupContent(seq++, "\r\n        ");
                builder2.OpenComponent <OXPanel>(3);
                builder2.AddAttribute(seq++, "Title", gridAux.Caption);
                builder2.AddAttribute(seq++, "SubTitle", gridAux.Descricao);
                builder2.AddAttribute(seq++, "ChildContent", (RenderFragment)((builder3) =>
                {
                    RenderGrid(builder3, seq);
                }));
                builder2.CloseComponent();
            }));
            builder.CloseComponent();
            builder.AddMarkupContent(seq++, "\r\n");

            var viewComp = viewEdit.GetType();

            builder.OpenComponent(seq++, viewComp);
            builder.AddAttribute(seq++, "Caption", gridAux.Caption);
            builder.AddAttribute(seq++, "GridView", grid);
            builder.AddComponentReferenceCapture(seq++, (value) =>
            {
                var getRef = TypeHelper.ConvertTo(value, gridAux.View);
                viewEdit   = getRef;
            });
            builder.CloseComponent();
        }
Ejemplo n.º 30
0
        public void Render(RenderTreeBuilder builder)
        {
            var hasChildren = ComponentContainer.Children.Any();

            if (hasChildren)
            {
                builder.OpenElement(1, "div");
                //RenderComponents(ComponentContainer.Children, builder);
                ComponentContainer.Render();
                builder.CloseElement();
            }
            else
            {
                builder.AddMarkupContent(2, $"<div class=\"error\">A renderer was not found for the {this.Element.GetType().FullName} component.</div>\r\n");
            }
        }