@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
59 lines (56 loc) • 6.22 kB
TypeScript
import type TimeExtent from "../../time/TimeExtent.js";
import type TimeInterval from "../../time/TimeInterval.js";
import type { JSONSupport } from "../../core/JSONSupport.js";
import type { TimeExtentProperties } from "../../time/TimeExtent.js";
import type { TimeIntervalProperties } from "../../time/TimeInterval.js";
export interface TimeSliderProperties extends Partial<Pick<TimeSlider, "loop" | "numStops" | "numThumbs" | "stopDelay">> {
/** The current time extent of the time slider. See the [TimeSlider.timeExtent](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/#timeExtent) property of the time slider widget for more information. */
currentTimeExtent?: TimeExtentProperties | null;
/** The temporal extent for the entire slider. See the [TimeSlider.fullTimeExtent](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/#fullTimeExtent) property of the time slider widget for more information. */
fullTimeExtent?: TimeExtentProperties | null;
/** Defines regularly spaced stops on the time slider from a [TimeInterval](https://developers.arcgis.com/javascript/latest/references/core/time/TimeInterval/) object. See the time slider widget's [TimeSlider.stops](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/#stops) and [StopsByInterval](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/types/#StopsByInterval) properties. */
stopInterval?: TimeIntervalProperties | null;
/** An array of dates for the time slider widget. Can be used to create irregularly spaced stops. See the time slider widget's [TimeSlider.stops](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/#stops) and [StopsByDates](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/types/#StopsByDates) properties. */
stops?: (Date | number | string)[] | null;
}
/**
* The thumb count. See the time slider widget's [TimeSlider.mode](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/#mode) and [TimeSlider.timeExtent](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/#timeExtent) properties. This value defaults to 1.
*
* @see [numThumbs](https://developers.arcgis.com/javascript/latest/references/core/webdoc/widgets/TimeSlider/#numThumbs)
*/
export type ThumbCountType = 1 | 2;
/**
* Time animation is controlled by a configurable [time slider](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/). Those configurations are saved to the web document as a timeSlider widget.
*
* @since 4.30
* @see [WebMap.widgets](https://developers.arcgis.com/javascript/latest/references/core/WebMap/#widgets)
* @see [WebScene.widgets](https://developers.arcgis.com/javascript/latest/references/core/WebScene/#widgets)
* @see [TimeSlider](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/)
*/
export default class TimeSlider extends JSONSupport {
constructor(properties?: TimeSliderProperties);
/** The current time extent of the time slider. See the [TimeSlider.timeExtent](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/#timeExtent) property of the time slider widget for more information. */
get currentTimeExtent(): TimeExtent | null | undefined;
set currentTimeExtent(value: TimeExtentProperties | null | undefined);
/** The temporal extent for the entire slider. See the [TimeSlider.fullTimeExtent](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/#fullTimeExtent) property of the time slider widget for more information. */
get fullTimeExtent(): TimeExtent | null | undefined;
set fullTimeExtent(value: TimeExtentProperties | null | undefined);
/**
* When `true`, the time slider will play its animation in a loop.
*
* @default false
*/
accessor loop: boolean;
/** The number of stops. It divides the time slider's [TimeSlider.fullTimeExtent](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/#fullTimeExtent) into equal parts. See the time slider widget's [TimeSlider.stops](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/#stops) and [StopsByCount](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/types/#StopsByCount) properties. */
accessor numStops: number | null | undefined;
/** The thumb count. See the time slider widget's [TimeSlider.mode](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/#mode) and [TimeSlider.timeExtent](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/#timeExtent) properties. This value defaults to 1. */
accessor numThumbs: ThumbCountType;
/** The time rate in milliseconds between animation steps. See the time slider widget's [TimeSlider.playRate](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/#playRate) property. This value defaults to 1000. */
accessor stopDelay: number;
/** Defines regularly spaced stops on the time slider from a [TimeInterval](https://developers.arcgis.com/javascript/latest/references/core/time/TimeInterval/) object. See the time slider widget's [TimeSlider.stops](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/#stops) and [StopsByInterval](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/types/#StopsByInterval) properties. */
get stopInterval(): TimeInterval | null | undefined;
set stopInterval(value: TimeIntervalProperties | null | undefined);
/** An array of dates for the time slider widget. Can be used to create irregularly spaced stops. See the time slider widget's [TimeSlider.stops](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/#stops) and [StopsByDates](https://developers.arcgis.com/javascript/latest/references/core/widgets/TimeSlider/types/#StopsByDates) properties. */
get stops(): Date[] | null | undefined;
set stops(value: (Date | number | string)[] | null | undefined);
}