Example #1
0
        /// <summary>
        /// Override the default render method, determining if the <see cref="EditContext.Model"/>
        /// is a regular class or a dynamic <see cref="ExpandoObject"/>
        /// </summary>
        /// <param name="builder">Instance of the page builder</param>
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            base.BuildRenderTree(builder);

            var formDefinition = VxFormDefinition.CreateFromModel(CascadedEditContext.Model, FormLayoutOptions);

            builder.OpenComponent(0, typeof(CascadingValue <VxFormLayoutOptions>));
            builder.AddAttribute(1, nameof(CascadingValue <VxFormLayoutOptions> .Value), FormLayoutOptions);
            builder.AddAttribute(2, nameof(CascadingValue <VxFormLayoutOptions> .ChildContent), new RenderFragment(_builder =>
            {
                var counter = 2;

                foreach (var group in formDefinition.Groups)
                {
                    _builder.OpenComponent(counter++, FormGeneratorOptions.FormGroupElement);
                    _builder.AddAttribute(counter++, nameof(VxFormGroupBase.FormGroupDefinition), group);
                    _builder.CloseComponent();
                }
            }));

            builder.CloseComponent();
        }
Example #2
0
 public void CreateVxColumn()
 {
     var definition = VxFormDefinition.CreateFromModel(typeof(AddressViewModel), new VxFormLayoutOptions());
 }