/// import type MapView from "@arcgis/core/views/MapView.js"; import type SimpleFillSymbol from "@arcgis/core/symbols/SimpleFillSymbol.js"; import type SimpleMarkerSymbol from "@arcgis/core/symbols/SimpleMarkerSymbol.js"; import type Geometry from "@arcgis/core/geometry/Geometry.js"; import type FeatureLayerView from "@arcgis/core/views/layers/FeatureLayerView.js"; import type SimpleLineSymbol from "@arcgis/core/symbols/SimpleLineSymbol.js"; import type { DistanceUnit, ISearchConfiguration, ISelectionSet } from "../../utils/interfaces.js"; import type { PublicLitElement as LitElement } from "@arcgis/lumina"; import type { T9nMeta } from "@arcgis/lumina/controllers"; export abstract class MapSelectTools extends LitElement { /** * Contains the translations for this component. * All UI strings should be defined here. * * @internal */ protected _translations: { listName: string; listNamePlaceholder: string; searchDistance: string; select: string; selectedFeatures: string; selectionLoading: string; sketch: string; bufferLayer: string; sketchLayer: string; useLayerFeatures: string; inputLayer: string; useLayerFeaturesTooltip: string; useSearchDistanceTootip: string; placeholder: string; } & T9nMeta<{ listName: string; listNamePlaceholder: string; searchDistance: string; select: string; selectedFeatures: string; selectionLoading: string; sketch: string; bufferLayer: string; sketchLayer: string; useLayerFeatures: string; inputLayer: string; useLayerFeaturesTooltip: string; useSearchDistanceTootip: string; placeholder: string; }>; /** string | number[] | object with r, g, b, a: https://developers.arcgis.com/javascript/latest/api-reference/esri-Color.html */ accessor bufferColor: any; /** string | number[] | object with r, g, b, a: https://developers.arcgis.com/javascript/latest/api-reference/esri-Color.html */ accessor bufferOutlineColor: any; /** * boolean: When true the user can define a name for each notification list * * @default false */ accessor customLabelEnabled: boolean; /** number: The default value to show for the buffer distance */ accessor defaultBufferDistance: number | undefined; /** number: The default value to show for the buffer unit */ accessor defaultBufferUnit: DistanceUnit | undefined; /** * string[]: Optional list of enabled layer ids * If empty all layers will be available */ accessor enabledLayerIds: string[]; /** * boolean: When true users will be allowed to optionally use features from a layer as the selection geometry * * @default true */ accessor enableLayerFeatures: boolean; /** * boolean: When true the use features from a layer options will be enabled when the component loads * * @default false */ accessor enableLayerFeaturesOnLoad: boolean; /** * boolean: When true users will be allowed to optionally create a buffer around the selection geometry * * @default true */ accessor enableSearchDistance: boolean; /** * boolean: When true the serach distance options will be enabled when the component loads * * @default false */ accessor enableSearchDistanceOnLoad: boolean; /** * boolean: When true sketch tools will be provided to allow users to draw a selection geometry * * @default true */ accessor enableSketchTools: boolean; /** Geometry[]: List of geometries */ accessor geometries: Geometry[]; /** * string: Header label class * * @default 'font-bold' */ accessor headerLabelClass: string; /** * boolean: When true a new label is not generated for the stored selection set * * @default false */ accessor isUpdate: boolean; /** FeatureLayerView[]: List of layer views */ accessor layerViews: FeatureLayerView[]; /** MapView: The view of the map */ accessor mapView: MapView | undefined; /** * string: The value to show for no results * when left empty the default text '0 selected features from {layerTitle}' will be shown * * @default '' */ accessor noResultText: string; /** ISearchConfiguration: Configuration details for the Search widget */ accessor searchConfiguration: ISearchConfiguration | undefined; /** * boolean: when true buffer tools controls are enabled * * @default false */ accessor searchDistanceEnabled: boolean; /** * string[]: List of layer ids that should be shown as potential selection layers * when skectching with 'Use layer features' option */ accessor selectionLayerIds: string[]; /** utils/interfaces/ISelectionSet: Used to store key details about any selections that have been made. */ accessor selectionSet: ISelectionSet | undefined; /** FeatureLayerView: The view of the selected layer */ accessor selectLayerView: FeatureLayerView | undefined; /** esri/symbols/SimpleLineSymbol | JSON representation : https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleLineSymbol.html */ accessor sketchLineSymbol: SimpleLineSymbol | undefined; /** esri/symbols/SimpleMarkerSymbol | JSON representation: https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleMarkerSymbol.html */ accessor sketchPointSymbol: SimpleMarkerSymbol | undefined; /** esri/symbols/SimpleFillSymbol | JSON representation: https://developers.arcgis.com/javascript/latest/api-reference/esri-symbols-SimpleFillSymbol.html */ accessor sketchPolygonSymbol: SimpleFillSymbol | undefined; /** * boolean: when true drawn graphics will be used to select features * * @default false */ accessor useLayerFeaturesEnabled: boolean; /** * //-------------------------------------------------------------------------- * // * // Methods (public) * // * //-------------------------------------------------------------------------- * * /** * Clear any selection results * * @returns Promise when the results have been cleared */ clearSelection(): Promise; /** * Get the new selection set * * @returns Promise with the new selection set */ getSelection(): Promise; /** Emitted on demand when the selection set changes. */ readonly selectionSetChange: import("@arcgis/lumina").TargetedEvent; readonly "@eventTypes": { selectionSetChange: MapSelectTools["selectionSetChange"]["detail"]; }; }