Browse Source

Fixed an auto animation start/stop issue

css_transitions
jos 10 years ago
parent
commit
d0efc46422
1 changed files with 17 additions and 8 deletions
  1. +17
    -8
      src/graph3d/Graph3d.js

+ 17
- 8
src/graph3d/Graph3d.js View File

@ -823,8 +823,7 @@ Graph3d.prototype.animationStart = function() {
* Stop animation * Stop animation
*/ */
Graph3d.prototype.animationStop = function() { Graph3d.prototype.animationStop = function() {
if (!this.frame.filter || !this.frame.filter.slider)
throw "No animation available";
if (!this.frame.filter || !this.frame.filter.slider) return;
this.frame.filter.slider.stop(); this.frame.filter.slider.stop();
}; };
@ -930,6 +929,11 @@ Graph3d.prototype._readData = function(data) {
Graph3d.prototype.setData = function (data) { Graph3d.prototype.setData = function (data) {
this._readData(data); this._readData(data);
this.redraw(); this.redraw();
// start animation when option is true
if (this.animationAutoStart && this.dataFilter) {
this.animationStart();
}
}; };
/** /**
@ -939,6 +943,8 @@ Graph3d.prototype.setData = function (data) {
Graph3d.prototype.setOptions = function (options) { Graph3d.prototype.setOptions = function (options) {
var cameraPosition = undefined; var cameraPosition = undefined;
this.animationStop();
if (options !== undefined) { if (options !== undefined) {
// retrieve parameter values // retrieve parameter values
if (options.width !== undefined) this.width = options.width; if (options.width !== undefined) this.width = options.width;
@ -1006,6 +1012,11 @@ Graph3d.prototype.setOptions = function (options) {
if (this.dataTable) { if (this.dataTable) {
this.setData(this.dataTable); this.setData(this.dataTable);
} }
// start animation when option is true
if (this.animationAutoStart && this.dataFilter) {
this.animationStart();
}
}; };
/** /**
@ -1041,11 +1052,6 @@ Graph3d.prototype.redraw = function() {
this._redrawInfo(); this._redrawInfo();
this._redrawLegend(); this._redrawLegend();
// start animation when option is true
if (this.animationAutoStart && this.dataFilter) {
this.animationStart();
}
}; };
/** /**
@ -2906,7 +2912,7 @@ StepNumber.prototype.end = function () {
* {boolean} visible If true (default) the * {boolean} visible If true (default) the
* slider is visible. * slider is visible.
*/ */
Slider = function(container, options) {
function Slider(container, options) {
if (container === undefined) { if (container === undefined) {
throw "Error: No container element defined"; throw "Error: No container element defined";
} }
@ -3039,6 +3045,9 @@ Slider.prototype.togglePlay = function() {
* Start playing * Start playing
*/ */
Slider.prototype.play = function() { Slider.prototype.play = function() {
// Test whether already playing
if (this.playTimeout) return;
this.playNext(); this.playNext();
if (this.frame) { if (this.frame) {

Loading…
Cancel
Save