require(["esri/views/ViewAnimation"], (ViewAnimation) => { /* code goes here */ });
import ViewAnimation from "@arcgis/core/views/ViewAnimation.js";
esri/views/ViewAnimation
Contains a state property used for checking the state of the animation.
The view animation is resolved when the animation has finished
and is
rejected if it is stopped
.
reactiveUtils.when(() => view.animation, function(animation) {
console.log(animation.state); // prints out "running"
animation.when(function(animation) {
console.log(animation.state); // prints out "finished"
})
.catch(function(animation) {
console.log(animation.state); // prints out "stopped"
});
});
Alternatively the state property can be watched for changes:
let animation = view.goTo(target, { speedFactor: 0.1 });
reactiveUtils.watch(
() => animation.state,
(state) => {
switch (state) {
case "finished":
console.log("Animation finished.");
break;
case "stopped":
console.log("Animation stopped.");
break;
}
}
);
- See also
Constructors
-
Parameterproperties Objectoptional
See the properties for a list of all the properties that may be passed into the constructor.
Property Overview
Name | Type | Summary | Class |
---|---|---|---|
The name of the class. | Accessor | ||
The state of the animation. | ViewAnimation | ||
The target of the animation. | ViewAnimation |
Property Details
-
state
state Stringreadonly
-
The state of the animation.
The animation terminates when the state is either
finished
orstopped
and cannot transition again torunning
. Thefinished
state indicates the animation has successfully ended, while thestopped
state indicates that the animation was interrupted before it reached its final target.Possible Values:"running" |"finished" |"stopped" |"waiting-for-target"
- Default Value:"running"
Method Overview
Name | Return Type | Summary | Class |
---|---|---|---|
Adds one or more handles which are to be tied to the lifecycle of the object. | Accessor | ||
Finishes the view animation by immediately going to the target and sets the state of the animation to | ViewAnimation | ||
Returns true if a named group of handles exist. | Accessor | ||
| ViewAnimation | ||
| ViewAnimation | ||
| ViewAnimation | ||
Removes a group of handles owned by the object. | Accessor | ||
Stops the view animation at its current state and sets the state of the animation to | ViewAnimation | ||
Promise |
| ViewAnimation |
Method Details
-
Inherited from Accessor
Since: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, addHandles added at 4.25. -
Adds one or more handles which are to be tied to the lifecycle of the object. The handles will be removed when the object is destroyed.
// Manually manage handles const handle = reactiveUtils.when( () => !view.updating, () => { wkidSelect.disabled = false; }, { once: true } ); this.addHandles(handle); // Destroy the object this.destroy();
ParametershandleOrHandles WatchHandle|WatchHandle[]Handles marked for removal once the object is destroyed.
groupKey *optionalKey identifying the group to which the handles should be added. All the handles in the group can later be removed with Accessor.removeHandles(). If no key is provided the handles are added to a default group.
-
Finishes the view animation by immediately going to the target and sets the state of the animation to
finished
.
-
hasHandles
InheritedMethodhasHandles(groupKey){Boolean}
Inherited from AccessorSince: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, hasHandles added at 4.25. -
Returns true if a named group of handles exist.
ParametergroupKey *optionalA group key.
ReturnsType Description Boolean Returns true
if a named group of handles exist.Example// Remove a named group of handles if they exist. if (obj.hasHandles("watch-view-updates")) { obj.removeHandles("watch-view-updates"); }
-
isFulfilled
isFulfilled(){Boolean}
-
isFulfilled()
may be used to verify if creating an instance of the class is fulfilled (either resolved or rejected). If it is fulfilled,true
will be returned.ReturnsType Description Boolean Indicates whether creating an instance of the class has been fulfilled (either resolved or rejected).
-
Inherited from Accessor
Since: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, removeHandles added at 4.25. -
Removes a group of handles owned by the object.
ParametergroupKey *optionalA group key or an array or collection of group keys to remove.
Exampleobj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");
-
Stops the view animation at its current state and sets the state of the animation to
stopped
.
-
Since: ArcGIS Maps SDK for JavaScript 4.6ViewAnimation since 4.0, when added at 4.6. -
when()
may be leveraged once an instance of the class is created. This method takes two input parameters: acallback
function and anerrback
function. Thecallback
executes when the instance of the class loads. Theerrback
executes if the instance of the class fails to load.ParametersReturnsType Description Promise Returns a new promise for the result of callback
that may be used to chain additional functions.Example// Although this example uses MapView, any class instance that is a promise may use when() in the same way let view = new MapView(); view.when(function(){ // This function will execute once the promise is resolved }, function(error){ // This function will execute if the promise is rejected due to an error });