Reference Source
public class | source

Spinner

Extends:

Component → Spinner

Displays a progress animation at the center of its Canvas while things are loading or otherwise busy.

  • Located at Canvas#spinner.
  • Automatically shown while things are loading, however may also be shown by application code wanting to indicate busyness.
  • Spinner#processes holds the count of active processes. As a process starts, it increments Spinner#processes, then decrements it on completion or failure.
  • A Spinner is only visible while Spinner#processes is greater than zero.
var spinner = viewer.scene.canvas.spinner;

// Increment count of busy processes represented by the spinner;
// assuming the count was zero, this now shows the spinner
spinner.processes++;

// Increment the count again, by some other process; spinner already visible, now requires two decrements
// before it becomes invisible again
spinner.processes++;

// Decrement the count; count still greater than zero, so spinner remains visible
spinner.process--;

// Decrement the count; count now zero, so spinner becomes invisible
spinner.process--;

Member Summary

Public Members
public set

processes(value: Number)

Sets the number of processes this Spinner represents.

public get

Gets the number of processes this Spinner represents.

Inherited Summary

From class Component
public get

The Component that owns the lifecycle of this Component, if any.

public

True as soon as this Component has been destroyed

public

ID of this Component, unique within the Scene.

public

meta: *

Arbitrary, user-defined metadata on this component.

public

The parent Scene that contains this Component.

public

The viewer that contains this Scene.

public

clear()

Destroys all Components that are owned by this.

public

Destroys this component.

public

error(message: String)

Logs an error for this component to the JavaScript console.

public

fire(event: String, value: Object, forget: Boolean)

Fires an event on this component.

public

Returns true if there are any subscribers to the given event on this component.

public

isType(type: *): *: Boolean

Tests if this component is of the given type, or is a subclass of the given type.

public

log(message: String)

Logs a console debugging message for this component.

public

off(subId: String)

Cancels an event subscription that was previously made with Component#on or Component#once.

public

on(event: String, callback: Function, scope: Object): String

Subscribes to an event on this component.

public

once(event: String, callback: Function, scope: Object)

Subscribes to the next occurrence of the given event, then un-subscribes as soon as the event is subIdd.

public

scheduleTask(task: *)

Schedule a task to perform on the next browser interval

public

warn(message: String)

Logs a warning for this component to the JavaScript console.

Public Members

public set processes(value: Number) source

Sets the number of processes this Spinner represents.

The Spinner is visible while this property is greater than zero.

Increment this property whenever you commence some process during which you want the Spinner to be visible, then decrement it again when the process is complete.

Clamps to zero if you attempt to set to to a negative value.

Fires a Spinner#processes:event event on change.

Default value is 0.

public get processes: Number: * source

Gets the number of processes this Spinner represents.

The Spinner is visible while this property is greater than zero.

Return:

Number

Current processes count.