private void ProcessEntityField(WidgetContext context, BaseField field, IWidget widget, TField LayoutField) { if (field.IsComputed) { WidgetFeatureBuilder.PrepareComputedField(context, widget, field); } }
public IWidget BuildWidget(BaseField field, TField LayoutField) { var widgetContext = new WidgetContext(this.FormContext); widgetContext.Build(field, LayoutField); IWidget widget; if (CustomWidgetFactory.HasKey(LayoutField.WidgetType)) { widget = CustomWidgetFactory.Get(LayoutField.WidgetType).Invoke(widgetContext, LayoutField); } else { if (field != null && field.IsComputed) { widgetContext.WidgetType = FormControlType.Label; } widget = WidgetFactory.Create(widgetContext); } widget.OnCompile(); if (field != null) { ProcessEntityField(widgetContext, field, widget, LayoutField); } WidgetFeatureBuilder.Build(widgetContext, widget, field, LayoutField); return(widget); }