Ejemplo n.º 1
0
 private void ProcessEntityField(WidgetContext context, BaseField field, IWidget widget, TField LayoutField)
 {
     if (field.IsComputed)
     {
         WidgetFeatureBuilder.PrepareComputedField(context, widget, field);
     }
 }
Ejemplo n.º 2
0
        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);
        }