/// <summary> /// 创建一个 HTML 表单对象 /// </summary> /// <param name="element">表单元素</param> /// <param name="configuration">表单配置</param> /// <param name="provider">表单控件提供程序</param> public HtmlForm( IHtmlElement element, FormConfiguration configuration = null, IFormProvider provider = null ) { if ( element == null ) throw new ArgumentNullException( "element" ); var document = element.Document; if ( document == null ) throw new InvalidOperationException(); var modifier = document.DomModifier as ISynchronizedDomModifier; if ( modifier == null ) throw new InvalidOperationException(); SyncRoot = modifier.SyncRoot; _element = element; Configuration = configuration ?? new FormConfiguration(); Provider = provider ?? new StandardFormProvider(); RefreshForm(); }
public FieldApiController(IFormProvider formProvider, IFieldProvider fieldProvider, IControlMatcher controlMatcher, IHumanizer humanizer) { FormProvider = formProvider; FieldProvider = fieldProvider; ControlMatcher = controlMatcher; Humanizer = humanizer; }
public Form1(ILogger <Form1> logger, IFormProvider formProvider) { InitializeComponent(); _logger = logger; _formProvider = formProvider; ThreadLabel.Text = $"{Thread.CurrentThread.ManagedThreadId} {Thread.CurrentThread.Name}"; }
/// <summary> /// 尝试将一个HTML元素转换为表单 /// </summary> /// <param name="element">要转换为表单的元素</param> /// <param name="configuration">表单配置</param> /// <param name="provider">表单控件提供程序</param> /// <returns></returns> public static HtmlForm AsForm( this IHtmlElement element, FormConfiguration configuration = null, IFormProvider provider = null ) { if ( element == null ) throw new ArgumentNullException( "element" ); return new HtmlForm( element, configuration, provider ); }
public FormSpawnHostedService( ILogger <FormSpawnHostedService> logger, IFormProvider formProvider, IGuiContext guiContext) { _logger = logger; _fp = formProvider; _guiContext = guiContext; }
public FieldApiController(ILogger <FieldApiController> logger, IFormProvider formProvider, IFieldProvider fieldProvider, IControlMatcher controlMatcher, IHumanizer humanizer, IPluralizer pluralizer, ISingularizer singularizer) { Logger = logger; FormProvider = formProvider; FieldProvider = fieldProvider; ControlMatcher = controlMatcher; Humanizer = humanizer; Pluralizer = pluralizer; Singularizer = singularizer; }
public FieldProvider(IFormProvider formProvider, IFieldCreator fieldCreator) { FieldsByFormId = formProvider.GetAll().ToDictionary( f => f.Id, f => f.Type .GetProperties() .Where(p => p.GetGetMethod() != null && p.GetSetMethod() != null) .Select(fieldCreator.Create) ); }
public FormDefinitionController(IWfEngine wfEngine) { _wfEngine = wfEngine; _formProvider = _wfEngine.GetFormProvider(); }
/// <summary> /// Specifying FormProvider /// </summary> /// <returns></returns> public DialogContextConfigureOptionsBuilder <TContext> UseFormProvider(IFormProvider formProvider) { Base.Data.FormProvider = formProvider; return(this); }
public PolymorphicFormConverter(ILogger <PolymorphicFormConverter> logger, IFormProvider formProvider) { Logger = logger; FormProvider = formProvider; }
public PropertyForHtmlGenerator(IObjectIdentifier objectIdentifier, IPropertyExpressionMetaDataProvider propertyExpressionMetaDataProvider, IFormProvider formProvider) { ObjectIdentifier = objectIdentifier; PropertyExpressionMetaDataProvider = propertyExpressionMetaDataProvider; FormProvider = formProvider; }
public void Initialize(IDialogContextConfigureOptionsBuilder optionsBuilder) { var options = optionsBuilder.Data; formProvider = options.FormProvider; formProvider.Width = options.Width ?? formProvider.Width; formProvider.Form.Text = options.Title ?? context.GetType().Name; formProvider.SetStartPosition(options.StartPosition); onShownEvent = options.OnShownEvent; var currentHeight = formProvider.InitialTopPadding; var count = options.Items.Count(); for (int i = 0; i < count; i++) { var currentItem = options.Items.ElementAt(i); var currentItemData = currentItem.Data; var control = currentItemData.Control; var fullRowValueControlWidth = formProvider.Width + formProvider.ExtraPaddingForFullRow - 55; if (currentItemData.Ignore == true) { continue; } if (control == null) { throw ExceptionBuilder.ControlIsNotSpecifiedException(currentItem); } if (currentItemData.ControlSpecifiedFromBuilder && (currentItemData.GetterSpecifiedFromBuilder || currentItemData.SetterSpecifiedFromBuilder) == false) { throw currentItemData.GetterSpecifiedFromBuilder == false ? ExceptionBuilder.GetterIsNotConfiguredException(currentItem) : ExceptionBuilder.SetterIsNotConfiguredException(currentItem); } control.Enabled = currentItemData.Enabled; control.AutoSize = false; if (currentItemData.SeparatorBefore != null) { var seperatorControl = currentItemData.SeparatorBefore.BuildControl(fullRowValueControlWidth); seperatorControl.Location = new Point(PADDING, currentHeight); formProvider.AddControl(seperatorControl); currentHeight += seperatorControl.Size.Height; } if (currentItemData.FullRow == false) { var label = new Label { Text = currentItemData.Name, Location = new Point(25, currentHeight + 3) }; formProvider.AddControl(label); } if (currentItem is IDialogCollectionSet collectionSet) { if (collectionSet.Data.ControlSpecifiedFromBuilder && collectionSet.OnUpdateItemsActionSpecifiedFromBuilder == false) { throw ExceptionBuilder.UpdateItemsEventNotSpecifiedException(currentItem); } collectionSet.Data.ControlHeight = collectionSet.DataSource?.Count() * 20 + 30; collectionSet.OnUpdateItemsAction(collectionSet.Data.Control, collectionSet.DataSource); } if (currentItemData.PreValue != null) { currentItemData.Setter.Invoke(currentItemData.Control, currentItemData.PreValue); } control.Size = new Size { Width = currentItemData.FullRow ? fullRowValueControlWidth : formProvider.Width / 2 - 30, Height = currentItemData.ControlHeight ?? DEFAULT_VALUE_CONTROL_HEIGHT }; control.Location = new Point { X = currentItemData.FullRow ? PADDING : formProvider.Width / 2, Y = currentHeight, }; formProvider.AddControl(control); currentHeight += control.Size.Height + 10; if (currentItemData.SeparatorAfter != null) { var seperatorControl = currentItemData.SeparatorAfter.BuildControl(fullRowValueControlWidth); seperatorControl.Location = new Point(PADDING, currentHeight); formProvider.AddControl(seperatorControl); currentHeight += seperatorControl.Size.Height; } } formProvider.Height = formProvider.InitialTopPadding + currentHeight + DEFAULT_BUTTON_HEIGHT + formProvider.BottomSpace; var buttonControl = ResolveButton(options); formProvider.AddControl(buttonControl); buttonControl.Select(); }
public PolymorphicFormApiController(IFormProvider formProvider, IContentTypeProvider contentTypeProvider, IHumanizer humanizer) { FormProvider = formProvider; ContentTypeProvider = contentTypeProvider; Humanizer = humanizer; }
public PolymorphicFormDeserializationCandidateCreator(IFormProvider formProvider, IContentTypeProvider contentTypeProvider) { FormProvider = formProvider; ContentTypeProvider = contentTypeProvider; }
public PolymorphicFormFinder(IContentTypeProvider contentTypeProvider, IFormProvider formProvider) { ContentTypeProvider = contentTypeProvider; FormProvider = formProvider; }
/// <summary> /// 创建一个 HTML 表单对象 /// </summary> /// <param name="element">表单元素</param> /// <param name="configuration">表单配置</param> /// <param name="provider">表单控件提供程序</param> public HtmlForm(IHtmlElement element, FormConfiguration configuration = null, IFormProvider provider = null) { if (element == null) { throw new ArgumentNullException("element"); } var document = element.Document; if (document == null) { throw new InvalidOperationException(); } var modifier = document.DomModifier as ISynchronizedDomModifier; if (modifier == null) { throw new InvalidOperationException(); } SyncRoot = modifier.SyncRoot; _element = element; Configuration = configuration ?? new FormConfiguration(); Provider = provider ?? new StandardFormProvider(); RefreshForm(); }
public FormFieldController(IFormProvider formFieldProvider) { FormProvider = formFieldProvider; }
/// <summary> /// 尝试将一个HTML元素转换为表单 /// </summary> /// <param name="element">要转换为表单的元素</param> /// <param name="configuration">表单配置</param> /// <param name="provider">表单控件提供程序</param> /// <returns></returns> public static HtmlForm AsForm(this IHtmlElement element, FormConfiguration configuration = null, IFormProvider provider = null) { if (element == null) { throw new ArgumentNullException("element"); } return(new HtmlForm(element, configuration, provider)); }
public FormController(IFormProvider formProvider, IMapper mapper) { this.formProvider = formProvider; this.mapper = mapper; }
public FormInstanceInitializer(IFormProvider formProvider, IFieldProvider fieldProvider, IPropertySetter propertySetter) { FormProvider = formProvider; FieldProvider = fieldProvider; PropertySetter = propertySetter; }
public ContentFormInstanceInitializer(IFormProvider formProvider, IFormInstanceInitializer formInstanceInitializer) { FormProvider = formProvider; FormInstanceInitializer = formInstanceInitializer; }