UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

116 lines (114 loc) 6.59 kB
import type SceneView from "../views/SceneView.js"; import type Widget from "./Widget.js"; import type VisibleElements from "./Weather/VisibleElements.js"; import type WeatherViewModel from "./Weather/WeatherViewModel.js"; import type { Icon } from "@esri/calcite-components/components/calcite-icon"; import type { WidgetProperties } from "./Widget.js"; import type { HeadingLevel } from "./support/types.js"; import type { WeatherViewModelProperties } from "./Weather/WeatherViewModel.js"; import type { VisibleElementsProperties } from "./Weather/VisibleElements.js"; /** @deprecated since version 4.33. Use the [Weather component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-weather/) instead. For information on widget deprecation, read about [Esri's move to web components](https://developers.arcgis.com/javascript/latest/components-transition-plan/). */ export interface WeatherProperties extends WidgetProperties, Partial<Pick<Weather, "headingLevel" | "view">> { /** * Icon which represents the widget. It is typically used when the widget is controlled by another * one (e.g. in the Expand widget). * * @default "partly-cloudy" * @since 4.27 * @see [Calcite Icon Search](https://developers.arcgis.com/calcite-design-system/icons/) * @see [Calcite Icon Search](https://developers.arcgis.com/calcite-design-system/icons/) */ icon?: Icon["icon"] | null; /** * The widget's default label. * * @since 4.11 */ label?: string | null; /** * 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 [WeatherViewModel](https://developers.arcgis.com/javascript/latest/references/core/widgets/Weather/WeatherViewModel/) * class to access all properties and methods on the widget. */ viewModel?: WeatherViewModelProperties; /** * This property provides the ability to display or hide the individual elements of the widget. * * @example * weather.visibleElements = { * header: true * } */ visibleElements?: VisibleElementsProperties; } /** * The Weather widget provides an interface for easily selecting and configuring the * weather effects in a [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/). For this, the widget modifies the `weather` property of * [SceneView.environment](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#environment). The different weather types are: * [sunny](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/SunnyWeather/), [cloudy](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/CloudyWeather/), * [rainy](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/RainyWeather/), [snowy](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/SnowyWeather/), * and [foggy](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/FoggyWeather/). * * @deprecated since version 4.33. Use the [Weather component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-weather/) instead. For information on widget deprecation, read about [Esri's move to web components](https://developers.arcgis.com/javascript/latest/components-transition-plan/). * @since 4.23 * @see [WeatherViewModel](https://developers.arcgis.com/javascript/latest/references/core/widgets/Weather/WeatherViewModel/) - _Deprecated since 4.33. Use the [Weather component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-weather/) instead._ * @see [SceneView.environment](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#environment) * @see [DefaultUI](https://developers.arcgis.com/javascript/latest/references/core/views/ui/DefaultUI/) * @see [Sample - Weather visualization](https://developers.arcgis.com/javascript/latest/sample-code/scene-weather/) * @example * const widget = new Weather({ view: view }); * * // Adds the weather widget in the top right corner of the view * view.ui.add(widget, "top-right"); */ export default class Weather extends Widget<WeatherProperties> { constructor(properties?: WeatherProperties); /** * Indicates the heading level to use for the title of the widget. By default, this message is rendered * as level 4 headings (e.g. `<h4>Time range</h4>`). 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 4 * @see [Heading Elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) * @example widget.headingLevel = 4; */ accessor headingLevel: HeadingLevel; /** * Icon which represents the widget. It is typically used when the widget is controlled by another * one (e.g. in the Expand widget). * * @default "partly-cloudy" * @since 4.27 * @see [Calcite Icon Search](https://developers.arcgis.com/calcite-design-system/icons/) * @see [Calcite Icon Search](https://developers.arcgis.com/calcite-design-system/icons/) */ get icon(): Icon["icon"]; set icon(value: Icon["icon"] | null | undefined); /** * The widget's default label. * * @since 4.11 */ get label(): string; set label(value: string | null | undefined); /** A reference to the [View](https://developers.arcgis.com/javascript/latest/references/core/views/View/). This widget is only supported in a [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/). */ accessor view: SceneView | null | undefined; /** * 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 [WeatherViewModel](https://developers.arcgis.com/javascript/latest/references/core/widgets/Weather/WeatherViewModel/) * class to access all properties and methods on the widget. */ get viewModel(): WeatherViewModel; set viewModel(value: WeatherViewModelProperties); /** * This property provides the ability to display or hide the individual elements of the widget. * * @example * weather.visibleElements = { * header: true * } */ get visibleElements(): VisibleElements; set visibleElements(value: VisibleElementsProperties); }