GeoBlazor Pro

dymaptic.GeoBlazor.Pro

dymaptic.GeoBlazor.Pro.Components

FeatureTemplatesViewModel Class

<a target=”_blank” href=”https://docs.geoblazor.com/pages/classes/dymaptic.GeoBlazor.Pro.Components.FeatureTemplatesViewModel.html”>GeoBlazor Docs</a> Provides the logic for the <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates.html”>FeatureTemplates</a> widget. <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-FeatureTemplatesViewModel.html”>ArcGIS Maps SDK for JavaScript</a>

public class FeatureTemplatesViewModel : dymaptic.GeoBlazor.Core.Components.MapComponent, dymaptic.GeoBlazor.Core.Interfaces.IViewModel

Inheritance System.Object 🡒 Microsoft.AspNetCore.Components.ComponentBase 🡒 dymaptic.GeoBlazor.Core.Components.MapComponent 🡒 FeatureTemplatesViewModel

Implements dymaptic.GeoBlazor.Core.Interfaces.IViewModel

Constructors

FeatureTemplatesViewModel() Constructor

Parameterless constructor for use as a Razor Component.

public FeatureTemplatesViewModel();

FeatureTemplatesViewModel(Nullable<bool>, FilterFunction, GroupByFunction, IReadOnlyList<IFeatureTemplatesViewModelLayers>, string) Constructor

Constructor for use in C# code. Use named parameters (e.g., item1: value1, item2: value2) to set properties in any order.

public FeatureTemplatesViewModel(System.Nullable<bool> disabled=null, dymaptic.GeoBlazor.Core.Functions.FilterFunction? filterFunction=null, dymaptic.GeoBlazor.Core.Functions.GroupByFunction? groupByFunctionGroupBy=null, System.Collections.Generic.IReadOnlyList<dymaptic.GeoBlazor.Core.Interfaces.IFeatureTemplatesViewModelLayers>? layers=null, string? stringGroupBy=null);

Parameters

disabled System.Nullable<System.Boolean>

Used to disable the associated user interface. default false <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-FeatureTemplatesViewModel.html#disabled”>ArcGIS Maps SDK for JavaScript</a>

filterFunction dymaptic.GeoBlazor.Core.Functions.FilterFunction

<a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates.html#FilterFunction”>Function</a> can be defined to help filter <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-TemplateItem.html”>template items</a> within the widget. <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-FeatureTemplatesViewModel.html#filterFunction”>ArcGIS Maps SDK for JavaScript</a>

groupByFunctionGroupBy dymaptic.GeoBlazor.Core.Functions.GroupByFunction

It is possible to group <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-TemplateItem.html”>template items</a>. default “layer” <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-FeatureTemplatesViewModel.html#groupBy”>ArcGIS Maps SDK for JavaScript</a>

layers System.Collections.Generic.IReadOnlyList<dymaptic.GeoBlazor.Core.Interfaces.IFeatureTemplatesViewModelLayers>

An array of <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html”>FeatureLayers</a> that are associated with the widget. <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-FeatureTemplatesViewModel.html#layers”>ArcGIS Maps SDK for JavaScript</a>

stringGroupBy System.String

It is possible to group <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-TemplateItem.html”>template items</a>. default “layer” <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-FeatureTemplatesViewModel.html#groupBy”>ArcGIS Maps SDK for JavaScript</a>

Properties

FeatureTemplatesViewModel.Disabled Property

<a target=”_blank” href=”https://docs.geoblazor.com/pages/classes/dymaptic.GeoBlazor.Pro.Components.FeatureTemplatesViewModel.html#featuretemplatesviewmodeldisabled-property”>GeoBlazor Docs</a> Used to disable the associated user interface. default false <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-FeatureTemplatesViewModel.html#disabled”>ArcGIS Maps SDK for JavaScript</a>

public System.Nullable<bool> Disabled { get; set; }

Property Value

System.Nullable<System.Boolean>

FeatureTemplatesViewModel.FilterFunction Property

<a target=”_blank” href=”https://docs.geoblazor.com/pages/classes/dymaptic.GeoBlazor.Pro.Components.FeatureTemplatesViewModel.html#featuretemplatesviewmodelfilterfunction-property”>GeoBlazor Docs</a><a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates.html#FilterFunction”>Function</a> can be defined to help filter <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-TemplateItem.html”>template items</a> within the widget. <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-FeatureTemplatesViewModel.html#filterFunction”>ArcGIS Maps SDK for JavaScript</a>

public dymaptic.GeoBlazor.Core.Functions.FilterFunction? FilterFunction { get; set; }

Property Value

dymaptic.GeoBlazor.Core.Functions.FilterFunction

FeatureTemplatesViewModel.GroupByFunctionGroupBy Property

<a target=”_blank” href=”https://docs.geoblazor.com/pages/classes/dymaptic.GeoBlazor.Pro.Components.FeatureTemplatesViewModel.html#featuretemplatesviewmodelgroupbyfunctiongroupby-property”>GeoBlazor Docs</a> It is possible to group <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-TemplateItem.html”>template items</a>. default “layer” <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-FeatureTemplatesViewModel.html#groupBy”>ArcGIS Maps SDK for JavaScript</a>

public dymaptic.GeoBlazor.Core.Functions.GroupByFunction? GroupByFunctionGroupBy { get; set; }

Property Value

dymaptic.GeoBlazor.Core.Functions.GroupByFunction

FeatureTemplatesViewModel.HasFilterFunction Property

A convenience property that signifies whether a custom FilterFunction function was registered.

public bool HasFilterFunction { get; }

Property Value

System.Boolean

FeatureTemplatesViewModel.HasGroupByFunctionGroupBy Property

A convenience property that signifies whether a custom GroupByFunctionGroupBy function was registered.

public bool HasGroupByFunctionGroupBy { get; }

Property Value

System.Boolean

FeatureTemplatesViewModel.HasSelectListener Property

Used in JavaScript layer to determine if the event listener is registered.

public bool HasSelectListener { get; }

Property Value

System.Boolean

FeatureTemplatesViewModel.Items Property

<a target=”_blank” href=”https://docs.geoblazor.com/pages/classes/dymaptic.GeoBlazor.Pro.Components.FeatureTemplatesViewModel.html#featuretemplatesviewmodelitems-property”>GeoBlazor Docs</a> The template items or grouped template items. <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-FeatureTemplatesViewModel.html#items”>ArcGIS Maps SDK for JavaScript</a>

public System.Collections.Generic.IReadOnlyList<object>? Items { get; }

Property Value

System.Collections.Generic.IReadOnlyList<System.Object>

FeatureTemplatesViewModel.Layers Property

<a target=”_blank” href=”https://docs.geoblazor.com/pages/classes/dymaptic.GeoBlazor.Pro.Components.FeatureTemplatesViewModel.html#featuretemplatesviewmodellayers-property”>GeoBlazor Docs</a> An array of <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-FeatureLayer.html”>FeatureLayers</a> that are associated with the widget. <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-FeatureTemplatesViewModel.html#layers”>ArcGIS Maps SDK for JavaScript</a>

public System.Collections.Generic.IReadOnlyList<dymaptic.GeoBlazor.Core.Interfaces.IFeatureTemplatesViewModelLayers>? Layers { get; set; }

Property Value

System.Collections.Generic.IReadOnlyList<dymaptic.GeoBlazor.Core.Interfaces.IFeatureTemplatesViewModelLayers>

FeatureTemplatesViewModel.OnSelect Property

<a target=”_blank” href=”https://docs.geoblazor.com/pages/classes/dymaptic.GeoBlazor.Pro.Components.FeatureTemplatesViewModel.html#featuretemplatesviewmodelonselect-property”>GeoBlazor Docs</a> Fires when a <a href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-TemplateItem.html”>template item</a> is selected. This occurs when the <a href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-FeatureTemplatesViewModel.html#select”>select</a> method is called.

public Microsoft.AspNetCore.Components.EventCallback<dymaptic.GeoBlazor.Pro.Events.FeatureTemplatesViewModelSelectEvent> OnSelect { get; set; }

Property Value

Microsoft.AspNetCore.Components.EventCallback<FeatureTemplatesViewModelSelectEvent>

FeatureTemplatesViewModel.State Property

<a target=”_blank” href=”https://docs.geoblazor.com/pages/classes/dymaptic.GeoBlazor.Pro.Components.FeatureTemplatesViewModel.html#featuretemplatesviewmodelstate-property”>GeoBlazor Docs</a> The widget’s state. default “disabled” <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-FeatureTemplatesViewModel.html#state”>ArcGIS Maps SDK for JavaScript</a>

public System.Nullable<dymaptic.GeoBlazor.Core.Enums.ViewModelState> State { get; }

Property Value

System.Nullable<dymaptic.GeoBlazor.Core.Enums.ViewModelState>

FeatureTemplatesViewModel.StringGroupBy Property

<a target=”_blank” href=”https://docs.geoblazor.com/pages/classes/dymaptic.GeoBlazor.Pro.Components.FeatureTemplatesViewModel.html#featuretemplatesviewmodelstringgroupby-property”>GeoBlazor Docs</a> It is possible to group <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-TemplateItem.html”>template items</a>. default “layer” <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-FeatureTemplatesViewModel.html#groupBy”>ArcGIS Maps SDK for JavaScript</a>

public string? StringGroupBy { get; set; }

Property Value

System.String

Methods

FeatureTemplatesViewModel.AddToLayers(IFeatureTemplatesViewModelLayers[]) Method

Asynchronously adds elements to the Layers property.

public System.Threading.Tasks.Task AddToLayers(params dymaptic.GeoBlazor.Core.Interfaces.IFeatureTemplatesViewModelLayers[] values);

Parameters

values dymaptic.GeoBlazor.Core.Interfaces.IFeatureTemplatesViewModelLayers[]

The elements to add.

Returns

System.Threading.Tasks.Task

FeatureTemplatesViewModel.GetDisabled() Method

Asynchronously retrieve the current value of the Disabled property.

public System.Threading.Tasks.Task<System.Nullable<bool>> GetDisabled();

Returns

System.Threading.Tasks.Task<System.Nullable<System.Boolean>>

FeatureTemplatesViewModel.GetItems() Method

Asynchronously retrieve the current value of the Items property.

public System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<object>?> GetItems();

Returns

System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<System.Object>>

FeatureTemplatesViewModel.GetLayers() Method

Asynchronously retrieve the current value of the Layers property.

public System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<dymaptic.GeoBlazor.Core.Interfaces.IFeatureTemplatesViewModelLayers>?> GetLayers();

Returns

System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyList<dymaptic.GeoBlazor.Core.Interfaces.IFeatureTemplatesViewModelLayers>>

FeatureTemplatesViewModel.GetState() Method

Asynchronously retrieve the current value of the State property.

public System.Threading.Tasks.Task<System.Nullable<dymaptic.GeoBlazor.Core.Enums.ViewModelState>> GetState();

Returns

System.Threading.Tasks.Task<System.Nullable<dymaptic.GeoBlazor.Core.Enums.ViewModelState>>

FeatureTemplatesViewModel.GetStringGroupBy() Method

Asynchronously retrieve the current value of the StringGroupBy property.

public System.Threading.Tasks.Task<string?> GetStringGroupBy();

Returns

System.Threading.Tasks.Task<System.String>

FeatureTemplatesViewModel.OnJsSelect(IJSStreamReference) Method

JavaScript-Invokable Method for internal use only.

public System.Threading.Tasks.Task OnJsSelect(Microsoft.JSInterop.IJSStreamReference jsStreamRef);

Parameters

jsStreamRef Microsoft.JSInterop.IJSStreamReference

Returns

System.Threading.Tasks.Task

FeatureTemplatesViewModel.Refresh() Method

<a target=”_blank” href=”https://docs.geoblazor.com/pages/classes/dymaptic.GeoBlazor.Pro.Components.FeatureTemplatesViewModel.html#featuretemplatesviewmodelrefresh-method”>GeoBlazor Docs</a> This method updates the <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-TemplateItem.html”>template items</a> with the provided filter. <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-FeatureTemplatesViewModel.html#refresh”>ArcGIS Maps SDK for JavaScript</a>

public override System.Threading.Tasks.ValueTask Refresh();

Returns

System.Threading.Tasks.ValueTask

FeatureTemplatesViewModel.RemoveFromLayers(IFeatureTemplatesViewModelLayers[]) Method

Asynchronously remove an element from the Layers property.

public System.Threading.Tasks.Task RemoveFromLayers(params dymaptic.GeoBlazor.Core.Interfaces.IFeatureTemplatesViewModelLayers[] values);

Parameters

values dymaptic.GeoBlazor.Core.Interfaces.IFeatureTemplatesViewModelLayers[]

The elements to remove.

Returns

System.Threading.Tasks.Task

FeatureTemplatesViewModel.Select(TemplateItem) Method

<a target=”_blank” href=”https://docs.geoblazor.com/pages/classes/dymaptic.GeoBlazor.Pro.Components.FeatureTemplatesViewModel.html#featuretemplatesviewmodelselect-method”>GeoBlazor Docs</a> Selects the <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-TemplateItem.html”>template item</a> to use. <a target=”_blank” href=”https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTemplates-FeatureTemplatesViewModel.html#select”>ArcGIS Maps SDK for JavaScript</a>

public System.Threading.Tasks.Task Select(dymaptic.GeoBlazor.Pro.Model.TemplateItem item);

Parameters

item TemplateItem

The esri/widgets/FeatureTemplates/TemplateItem template item to select.

Returns

System.Threading.Tasks.Task

FeatureTemplatesViewModel.SetDisabled(Nullable<bool>) Method

Asynchronously set the value of the Disabled property after render.

public System.Threading.Tasks.Task SetDisabled(System.Nullable<bool> value);

Parameters

value System.Nullable<System.Boolean>

The value to set.

Returns

System.Threading.Tasks.Task

FeatureTemplatesViewModel.SetLayers(IReadOnlyList<IFeatureTemplatesViewModelLayers>) Method

Asynchronously set the value of the Layers property after render.

public System.Threading.Tasks.Task SetLayers(System.Collections.Generic.IReadOnlyList<dymaptic.GeoBlazor.Core.Interfaces.IFeatureTemplatesViewModelLayers>? value);

Parameters

value System.Collections.Generic.IReadOnlyList<dymaptic.GeoBlazor.Core.Interfaces.IFeatureTemplatesViewModelLayers>

The value to set.

Returns

System.Threading.Tasks.Task

FeatureTemplatesViewModel.SetStringGroupBy(string) Method

Asynchronously set the value of the StringGroupBy property after render.

public System.Threading.Tasks.Task SetStringGroupBy(string? value);

Parameters

value System.String

The value to set.

Returns

System.Threading.Tasks.Task

FeatureTemplatesViewModel.ValidateRequiredGeneratedChildren() Method

Validates source-generated child components.

public override void ValidateRequiredGeneratedChildren();

Implements ValidateRequiredGeneratedChildren()