GeoBlazor Pro
dymaptic.GeoBlazor.Pro
dymaptic.GeoBlazor.Pro.Components.Widgets
FeatureFormWidget Class
The FeatureForm widget displays attributes of a feature. This widget renders inputs based on the feature’s attributes and whether the field allows editing. It is possible to configure elements for fields and groups of other elements. The latter is useful for organizing how your form data displays. All of the properties and configurations set on the form are handled via the formTemplate property.
This widget is intended to be used with FeatureLayer.applyEdits method. This enables an end user to update a feature’s attribute on an editable feature layer. The UI to submit and apply any updates should be wired up within the application’s code.
ArcGIS JS API
public class FeatureFormWidget : dymaptic.GeoBlazor.Pro.Components.Widgets.ProWidget
Inheritance System.Object 🡒 Microsoft.AspNetCore.Components.ComponentBase 🡒 dymaptic.GeoBlazor.Core.Components.MapComponent 🡒 dymaptic.GeoBlazor.Core.Components.Widgets.Widget 🡒 ProWidget 🡒 FeatureFormWidget
Properties
FeatureFormWidget.Disabled Property
When true, sets the widget to a disabled state so the user cannot interact with it. Default Value: false.
public System.Nullable<bool> Disabled { get; set; }
Property Value
System.Nullable<System.Boolean>
FeatureFormWidget.FormTemplate Property
The associated template used for the form.
The formTemplate is used to configure how the form should display and set any associated properties for the form, e.g. title, description, field elements, etc.
public dymaptic.GeoBlazor.Core.Components.Widgets.FormTemplate? FormTemplate { get; set; }
Property Value
dymaptic.GeoBlazor.Core.Components.Widgets.FormTemplate
FeatureFormWidget.GroupDisplay Property
Defines how groups will be displayed to the user.
Possible Values:”all”|”sequential”. Default Value: all.
public System.Nullable<dymaptic.GeoBlazor.Pro.Components.Widgets.GroupDisplay> GroupDisplay { get; set; }
Property Value
FeatureFormWidget.HeadingLevel Property
Indicates the heading level to use for the title of the form. By default, the title is rendered as a level 2 heading (e.g. <h2>Form title</h2>). In addition, group element labels default to a level 3 heading (e.g. <h3>Group element label</h3>). Depending on the widget’s placement in your app, you may need to adjust this heading for proper semantics. This is important for meeting accessibility standards.
Default Value:2
public System.Nullable<int> HeadingLevel { get; set; }
Property Value
FeatureFormWidget.Label Property
The widget’s default label.
public string? Label { get; set; }
Property Value
FeatureFormWidget.LayerId Property
Id for the Layer containing the editable feature attributes. If this layer is not specified, it is the same as the Feature’s layer.
public System.Nullable<System.Guid> LayerId { get; set; }
Property Value
FeatureFormWidget.OnSubmit Property
Fires when the submit() method is called. Call FeatureLayer.applyEdits() method to update a feature’s attributes.
public Microsoft.AspNetCore.Components.EventCallback<dymaptic.GeoBlazor.Pro.Components.Widgets.FeatureFormSubmitEvent> OnSubmit { get; set; }
Property Value
Microsoft.AspNetCore.Components.EventCallback<FeatureFormSubmitEvent>
FeatureFormWidget.OnValueChange Property
Fires when a field value is updated.
public Microsoft.AspNetCore.Components.EventCallback<dymaptic.GeoBlazor.Pro.Components.Widgets.FeatureFormValueChangeEvent> OnValueChange { get; set; }
Property Value
Microsoft.AspNetCore.Components.EventCallback<FeatureFormValueChangeEvent>
FeatureFormWidget.ViewModel Property
The view model for this widget. This is a class that contains all the logic (properties and methods) that controls this widget’s behavior. See the FeatureFormViewModel class to access all properties and methods on the widget.
public dymaptic.GeoBlazor.Pro.Components.Widgets.FeatureFormViewModel? ViewModel { get; set; }
Property Value
FeatureFormWidget.WidgetType Property
The type of widget
public override string WidgetType { get; }
Property Value
Methods
FeatureFormWidget.GetValues() Method
Returns all of the field values, regardless of whether or not they were updated.
public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Objects.AttributesDictionary> GetValues();
Returns
System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Objects.AttributesDictionary>
FeatureFormWidget.OnJsSubmit(FeatureFormSubmitEvent) Method
JavaScript Event on Submit, for internal use only
public System.Threading.Tasks.Task OnJsSubmit(dymaptic.GeoBlazor.Pro.Components.Widgets.FeatureFormSubmitEvent submitEvent);
Parameters
submitEvent
FeatureFormSubmitEvent
Returns
FeatureFormWidget.OnJsValueChange(FeatureFormValueChangeEvent) Method
JavaScript Event on ValueChange, for internal use only
public System.Threading.Tasks.Task OnJsValueChange(dymaptic.GeoBlazor.Pro.Components.Widgets.FeatureFormValueChangeEvent changeEvent);
Parameters
changeEvent
FeatureFormValueChangeEvent
Returns
FeatureFormWidget.RegisterChildComponent(MapComponent) Method
Called from dymaptic.GeoBlazor.Core.Components.MapComponent.OnInitializedAsync to “Register” the current component with it’s parent.
public override System.Threading.Tasks.Task RegisterChildComponent(dymaptic.GeoBlazor.Core.Components.MapComponent child);
Parameters
child
dymaptic.GeoBlazor.Core.Components.MapComponent
The calling, child component to register
Returns
Exceptions
dymaptic.GeoBlazor.Core.Exceptions.InvalidChildElementException
Throws if the current child is not a valid sub-component to the parent.
Remarks
This method is an implementation detail and should not be called directly by consumers. In future versions, this may be changed to an internal method. If you see no other way to register a child component, please open an issue on GitHub.
FeatureFormWidget.SetFeature(Graphic) Method
Sets the associated feature containing the editable attributes. A common way to access this is via the MapView or SceneView’s hitTest() method.
public System.Threading.Tasks.Task SetFeature(dymaptic.GeoBlazor.Core.Components.Layers.Graphic? feature);
Parameters
feature
dymaptic.GeoBlazor.Core.Components.Layers.Graphic
Returns
FeatureFormWidget.Submit() Method
Fires the submit event.
public System.Threading.Tasks.Task Submit();
Returns
FeatureFormWidget.UnregisterChildComponent(MapComponent) Method
Undoes the “Registration” of a child with its parent.
public override System.Threading.Tasks.Task UnregisterChildComponent(dymaptic.GeoBlazor.Core.Components.MapComponent child);
Parameters
child
dymaptic.GeoBlazor.Core.Components.MapComponent
The child to unregister
Returns
Remarks
This method is an implementation detail and should not be called directly by consumers. In future versions, this may be changed to an internal method.