UNPKG

@arcgis/map-components

Version:
139 lines (138 loc) 5.99 kB
/// <reference path="../../index.d.ts" /> import type SceneView from "@arcgis/core/views/SceneView.js"; import type Slide from "@arcgis/core/webscene/Slide.js"; import type Graphic from "@arcgis/core/Graphic.js"; import type Point from "@arcgis/core/geometry/Point.js"; import type { PublicLitElement as LitElement } from "@arcgis/lumina"; import type { T9nMeta } from "@arcgis/lumina/controllers"; /** * The Presentation component allows to present slides of a web scene in a presentation mode * and supports navigating between the slides of a web scene. * * @since 5.0 * @internal */ export abstract class ArcgisPresentation extends LitElement { /** @internal */ protected _messages: Partial<{ componentLabel: string; slides: string; slideNavAriaText: string; previous: string; next: string; restart: string; legend: string; }> & T9nMeta<{ componentLabel: string; slides: string; slideNavAriaText: string; previous: string; next: string; restart: string; legend: string; }>; /** * If true, the component will not be destroyed automatically when it is * disconnected from the document. This is useful when you want to move the * component to a different place on the page, or temporarily hide it. If this * is set, make sure to call the [destroy()](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-presentation/#destroy) method when you are done to * prevent memory leaks. * * @default false */ accessor autoDestroyDisabled: boolean; /** * Enable navigation with the keyboard * by using the arrow keys or page up/page down keys * * @default false */ accessor keyboardNavigationEnabled: boolean; /** * specifies the size of the component * * @default "m" */ accessor scale: "l" | "m" | "s"; /** * Show the slice analysis of a slide interactive so manipulators will be displayed, allowing users to click and drag to edit the analysis. * Per default interactive is set to false. * * @default false * @see [SliceAnalysisView3D.interactive](https://developers.arcgis.com/javascript/latest/references/core/views/3d/analysis/SliceAnalysisView3D/#interactive) */ accessor sliceAnalysisInteractive: boolean; /** * Disable display of captions when slide is applied. * Per default the display of captions is enabled. * * @default false */ accessor slideCaptionsDisabled: boolean; /** The id of the slide applied to the view */ accessor slideId: string | undefined; /** * Disable display of legend when slide is applied. * Per default the display of legend is enabled. * * @default false */ accessor slideLegendDisabled: boolean; /** * Disable display of popup when slide with popup is applied. * Per default the display of popup is enabled. * The events arcgisPopupFeaturesRetrieved and arcgisPopupFeatureNotFound will be emitted also when popups are disabled. * * @default false */ accessor slidePopupDisabled: boolean; /** * The view associated with the component. * > **Note:** The recommended approach is to fully migrate applications to use map and scene components and avoid using MapView and SceneView directly. However, if you are migrating a large application from widgets to components, you might prefer a more gradual transition. To support this use case, the SDK includes this `view` property which connects a component to a MapView or SceneView. Ultimately, once migration is complete, the arcgis-presentation component will be associated with a map or scene component rather than using the `view` property. */ accessor view: SceneView | undefined; /** Permanently destroy the component */ destroy(): Promise<void>; /** * Fires after a slide with a popup reference element has been applied, but the component was unable to retrieve the popup feature. * This event may be used to show a custom error message for such cases. * * @see [SlideElements.popupInfo](https://developers.arcgis.com/javascript/latest/references/core/webscene/support/SlideElements/#popupInfo) * @example * ```js * reactiveUtils.on(()=> component, "arcgisPopupFeatureNotFound", (event)=>{ * // show error message if popup feature has not been found * console.error("Unable to retrieve popup feature"); * }); * ``` */ readonly arcgisPopupFeatureNotFound: import("@arcgis/lumina").TargetedEvent<this, { slide: Slide; }>; /** * Fires after the popup feature(s) of a slide have been retrieved from the service or from the view. * This event may be used to show the popup graphic not in a popup, but in another component, e.g. ArcgisFeature. * * @see [ArcgisFeature](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-feature/) * @example * ```js * reactiveUtils.on(()=> component, "arcgisPopupFeaturesRetrieved", (event)=>{ * const { features, slide } = ( * event as CustomEvent<{ slide: Slide; features: Graphic[]; location: Point | undefined }> * ).detail; * const arcgisFeature = document.querySelector("arcgis-feature"); * arcgisFeature.graphic = features.length > 0 ? features[0] : null; * }); * ``` */ readonly arcgisPopupFeaturesRetrieved: import("@arcgis/lumina").TargetedEvent<this, { slide: Slide; features: Graphic[]; location: Point | undefined; }>; /** Emitted when the component associated with a map or scene view is ready to be interacted with. */ readonly arcgisReady: import("@arcgis/lumina").TargetedEvent<this, void>; readonly "@eventTypes": { arcgisPopupFeatureNotFound: ArcgisPresentation["arcgisPopupFeatureNotFound"]["detail"]; arcgisPopupFeaturesRetrieved: ArcgisPresentation["arcgisPopupFeaturesRetrieved"]["detail"]; arcgisReady: ArcgisPresentation["arcgisReady"]["detail"]; }; }