/// import type Graphic from "@arcgis/core/Graphic.js"; import type MapView from "@arcgis/core/views/MapView.js"; import type { IReportingOptions, ISortingInfo } from "../../utils/interfaces.js"; import type { PublicLitElement as LitElement } from "@arcgis/lumina"; import type { T9nMeta } from "@arcgis/lumina/controllers"; export abstract class FeatureList extends LitElement { /** * Contains the translations for this component. * All UI strings should be defined here. * * @internal */ protected _translations: { error: string; featureErrorMsg: string; featureErrorMsgInCurrentMapView: string; thousands_value: string; millions_value: string; searchPlaceholder: string; extentFilterMsg: string; } & T9nMeta<{ error: string; featureErrorMsg: string; featureErrorMsgInCurrentMapView: string; thousands_value: string; millions_value: string; searchPlaceholder: string; extentFilterMsg: string; }>; /** * boolean: If true will consider the FeatureFilter applied on the layerview * * @default false */ accessor applyLayerViewFilter: boolean | undefined; /** * boolean: when true the feature from map view extent will shown * * @default false */ accessor filterByMapExtent: boolean; /** * boolean: Highlight feature on map optional (default false) boolean to indicate if we should highlight when hover on Feature in list * * @default false */ accessor highlightOnHover: boolean | undefined; /** * boolean: Highlight feature on map optional (default false) boolean to indicate if we should highlight and zoom to the extent of the feature geometry * * @default false */ accessor highlightOnMap: boolean | undefined; /** esri/views/MapView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html */ accessor mapView: MapView | undefined; /** * string: Message to be displayed when features are not found * * @default '' */ accessor noFeaturesFoundMsg: string | undefined; /** * number: Number features to be fetched per page, by default 100 features will be fetched * * @default 100 */ accessor pageSize: number | undefined; /** IReportingOptions: Key options for reporting */ accessor reportingOptions: IReportingOptions | undefined; /** * string: Layer id of the feature layer to show the list * * @default '' */ accessor selectedLayerId: string; /** * boolean: If true will show error msg when features are not present * * @default false */ accessor showErrorWhenNoFeatures: boolean | undefined; /** * boolean: If true display's feature symbol on each feature item * * @default false */ accessor showFeatureSymbol: boolean | undefined; /** * boolean: When false popup title will shown in single line * * @default true */ accessor showFullTitle: boolean; /** * boolean: Show initial loading indicator when creating list * * @default true */ accessor showInitialLoading: boolean | undefined; /** * boolean: If true display's profile img on each feature item * * @default false */ accessor showUserImageInList: boolean | undefined; /** ISortingInfo: Sorting field and order using which features list will be sorted */ accessor sortingInfo: ISortingInfo | undefined; /** * string(small/large): Controls the font size of the title * * @default 'large' */ accessor textSize: "large" | "small" | undefined; /** string: where clause to filter the features list */ accessor whereClause: string | undefined; /** * Refresh the feature list which will fetch the latest features and update the features list * * @param maintainPageState - If true feature list page state will be maintained * @returns Promise that resolves when the operation is complete */ refresh(maintainPageState?: boolean): Promise; /** Emitted on demand when feature is clicked using the list */ readonly featureClick: import("@arcgis/lumina").TargetedEvent; /** Emitted on demand when feature is selected using the list */ readonly featureSelect: import("@arcgis/lumina").TargetedEvent; readonly "@eventTypes": { featureClick: FeatureList["featureClick"]["detail"]; featureSelect: FeatureList["featureSelect"]["detail"]; }; }