Ejemplo n.º 1
0
        protected void BuildRenderInput_RenderRadioItem(RenderTreeBuilder builder, int index)
        {
            var item = itemsToRender[index];

            if (item != null)
            {
                bool selected = (index == selectedItemIndex);
                if (selected)
                {
                    chipValue = SelectorHelpers.GetText(TextSelectorImpl, item);
                }

                string inputId = GroupName + "_" + index.ToString();

                builder.OpenElement(100, "div");

                // TODO CoreCssClass
                builder.AddAttribute(101, "class", CssClassHelper.Combine("form-check", this.Inline ? "form-check-inline" : null));

                builder.OpenElement(200, "input");
                builder.AddAttribute(201, "class", "form-check-input");
                builder.AddAttribute(202, "type", "radio");
                builder.AddAttribute(203, "name", GroupName);
                builder.AddAttribute(204, "id", inputId);
                builder.AddAttribute(205, "value", index.ToString());
                builder.AddAttribute(206, "checked", selected);
                builder.AddAttribute(207, "disabled", !CascadeEnabledComponent.EnabledEffective(this));
                int j = index;
                builder.AddAttribute(208, "onclick", EventCallback.Factory.Create(this, () => HandleInputClick(j)));
                builder.AddEventStopPropagationAttribute(209, "onclick", true);
                builder.AddMultipleAttributes(250, this.AdditionalAttributes);
                builder.CloseElement();                 // input

                builder.OpenElement(300, "label");
                builder.AddAttribute(301, "class", "form-check-label");
                builder.AddAttribute(302, "for", inputId);
                if (ItemTemplateImpl != null)
                {
                    builder.AddContent(303, ItemTemplateImpl(item));
                }
                else
                {
                    builder.AddContent(304, SelectorHelpers.GetText(TextSelectorImpl, item));
                }
                builder.CloseElement();                 // label

                builder.CloseElement();                 // div
            }
        }
Ejemplo n.º 2
0
        /// <inheritdoc />
        protected override async Task OnAfterRenderAsync(bool firstRender)
        {
            await base.OnAfterRenderAsync(firstRender);

            if (firstRender)
            {
                // when no tab is active after initial render, activate the first visible & enabled tab
                if (!tabsList.Any(tab => IsActive(tab)) && (tabsList.Count > 0))
                {
                    HxTab tabToActivate = tabsList.FirstOrDefault(tab => CascadeEnabledComponent.EnabledEffective(tab) && tab.Visible);
                    if (tabToActivate != null)
                    {
                        await SetActiveTabIdAsync(tabToActivate.Id);
                    }
                }
            }
        }