diff options
Diffstat (limited to 'js/panels/Timeline')
-rw-r--r-- | js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js | 78 |
1 files changed, 43 insertions, 35 deletions
diff --git a/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js b/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js index fddfd170..61da9e36 100644 --- a/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js +++ b/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js | |||
@@ -358,9 +358,11 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, { | |||
358 | 358 | ||
359 | didDraw:{ | 359 | didDraw:{ |
360 | value:function () { | 360 | value:function () { |
361 | if (this._openDocRedrawCheck) { | 361 | if(this.application.ninja.currentDocument.documentRoot.children[0]){ |
362 | this.retrieveStoredTweens(); | 362 | if (this._openDocRedrawCheck) { |
363 | this._openDocRedrawCheck = false; | 363 | this.retrieveStoredTweens(); |
364 | this._openDocRedrawCheck = false; | ||
365 | } | ||
364 | } | 366 | } |
365 | } | 367 | } |
366 | }, | 368 | }, |
@@ -459,42 +461,48 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, { | |||
459 | this.animatedElement = this.application.ninja.timeline.arrLayers[this.trackID - 1].elementsList[0]; | 461 | this.animatedElement = this.application.ninja.timeline.arrLayers[this.trackID - 1].elementsList[0]; |
460 | this.animationName = this.application.ninja.stylesController.getElementStyle(this.animatedElement, "-webkit-animation-name"); | 462 | this.animationName = this.application.ninja.stylesController.getElementStyle(this.animatedElement, "-webkit-animation-name"); |
461 | this.animationDuration = this.application.ninja.stylesController.getElementStyle(this.animatedElement, "-webkit-animation-duration"); | 463 | this.animationDuration = this.application.ninja.stylesController.getElementStyle(this.animatedElement, "-webkit-animation-duration"); |
462 | this.trackDuration = this.animationDuration.split("s"); | 464 | if(this.animationDuration){ |
463 | this.currentMilliSec = this.trackDuration[0] * 1000; | 465 | this.trackDuration = this.animationDuration.split("s"); |
464 | this.currentMillisecPerPixel = Math.floor(this.application.ninja.timeline.millisecondsOffset / 80); | 466 | this.currentMilliSec = this.trackDuration[0] * 1000; |
465 | this.clickPos = this.currentMilliSec / this.currentMillisecPerPixel; | 467 | this.currentMillisecPerPixel = Math.floor(this.application.ninja.timeline.millisecondsOffset / 80); |
466 | this.nextKeyframe = 0; | 468 | this.clickPos = this.currentMilliSec / this.currentMillisecPerPixel; |
467 | 469 | this.nextKeyframe = 0; | |
468 | this.currentKeyframeRule = this.application.ninja.stylesController.getAnimationRuleWithName(this.animationName, this.application.ninja.currentDocument._document); | 470 | |
469 | while (this.currentKeyframeRule[i]) { | 471 | this.currentKeyframeRule = this.application.ninja.stylesController.getAnimationRuleWithName(this.animationName, this.application.ninja.currentDocument._document); |
470 | var newTween = {}; | 472 | while (this.currentKeyframeRule[i]) { |
471 | if (this.currentKeyframeRule[i].keyText === "0%") { | 473 | var newTween = {}; |
472 | newTween.spanWidth = 0; | 474 | |
473 | newTween.keyFramePosition = 0; | 475 | if (this.currentKeyframeRule[i].keyText === "0%") { |
474 | newTween.keyFrameMillisec = 0; | 476 | newTween.spanWidth = 0; |
475 | newTween.tweenID = 0; | 477 | newTween.keyFramePosition = 0; |
476 | newTween.spanPosition = 0; | 478 | newTween.keyFrameMillisec = 0; |
477 | this.tweens.push(newTween); | 479 | newTween.tweenID = 0; |
480 | newTween.spanPosition = 0; | ||
481 | this.tweens.push(newTween); | ||
478 | 482 | ||
479 | } | 483 | } |
480 | else { | 484 | else { |
481 | percentValue = this.currentKeyframeRule[i].keyText; | 485 | percentValue = this.currentKeyframeRule[i].keyText; |
482 | splitValue = percentValue.split("%"); | 486 | splitValue = percentValue.split("%"); |
483 | fraction = splitValue[0] / 100; | 487 | fraction = splitValue[0] / 100; |
484 | this.currentMilliSec = fraction * this.trackDuration[0] * 1000; | 488 | this.currentMilliSec = fraction * this.trackDuration[0] * 1000; |
485 | this.currentMillisecPerPixel = Math.floor(this.application.ninja.timeline.millisecondsOffset / 80); | 489 | this.currentMillisecPerPixel = Math.floor(this.application.ninja.timeline.millisecondsOffset / 80); |
486 | this.clickPos = this.currentMilliSec / this.currentMillisecPerPixel; | 490 | this.clickPos = this.currentMilliSec / this.currentMillisecPerPixel; |
487 | newTween.spanWidth = this.clickPos - this.tweens[this.tweens.length - 1].keyFramePosition; | 491 | newTween.spanWidth = this.clickPos - this.tweens[this.tweens.length - 1].keyFramePosition; |
488 | newTween.keyFramePosition = this.clickPos; | 492 | newTween.keyFramePosition = this.clickPos; |
489 | newTween.keyFrameMillisec = this.currentMilliSec; | 493 | newTween.keyFrameMillisec = this.currentMilliSec; |
490 | newTween.tweenID = this.nextKeyframe; | 494 | newTween.tweenID = this.nextKeyframe; |
491 | newTween.spanPosition = this.clickPos - newTween.spanWidth; | 495 | newTween.spanPosition = this.clickPos - newTween.spanWidth; |
492 | this.tweens.push(newTween); | 496 | this.tweens.push(newTween); |
493 | 497 | ||
494 | 498 | ||
499 | } | ||
500 | i++; | ||
501 | this.nextKeyframe += 1; | ||
495 | } | 502 | } |
496 | i++; | 503 | } |
497 | this.nextKeyframe += 1; | 504 | else{ |
505 | return; | ||
498 | } | 506 | } |
499 | } | 507 | } |
500 | }, | 508 | }, |