aboutsummaryrefslogtreecommitdiff
path: root/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js')
-rw-r--r--js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js161
1 files changed, 94 insertions, 67 deletions
diff --git a/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js b/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js
index 669dabef..c6b67c9c 100644
--- a/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js
+++ b/js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js
@@ -27,7 +27,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
27 }, 27 },
28 set:function (value) { 28 set:function (value) {
29 this._trackID = value; 29 this._trackID = value;
30 this.needsDraw = true; 30 //this.needsDraw = true;
31 } 31 }
32 }, 32 },
33 33
@@ -114,7 +114,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
114 }, 114 },
115 set: function(newVal) { 115 set: function(newVal) {
116 this._arrStyleTracks = newVal; 116 this._arrStyleTracks = newVal;
117 this.needsDraw = true; 117 //this.needsDraw = true;
118 } 118 }
119 }, 119 },
120 _styleTracksRepetition: { 120 _styleTracksRepetition: {
@@ -128,7 +128,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
128 }, 128 },
129 set: function(newVal) { 129 set: function(newVal) {
130 this._styleTracksRepetition = newVal; 130 this._styleTracksRepetition = newVal;
131 this.needsDraw = true; 131 //needsDraw = true;
132 } 132 }
133 }, 133 },
134 134
@@ -146,7 +146,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
146 }, 146 },
147 set: function(newVal) { 147 set: function(newVal) {
148 this._arrPositionTracks = newVal; 148 this._arrPositionTracks = newVal;
149 this.needsDraw = true; 149 //this.needsDraw = true;
150 } 150 }
151 }, 151 },
152 _positionTracksRepetition: { 152 _positionTracksRepetition: {
@@ -160,7 +160,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
160 }, 160 },
161 set: function(newVal) { 161 set: function(newVal) {
162 this._positionTracksRepetition = newVal; 162 this._positionTracksRepetition = newVal;
163 this.needsDraw = true; 163 //this.needsDraw = true;
164 } 164 }
165 }, 165 },
166 166
@@ -179,7 +179,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
179 }, 179 },
180 set: function(newVal) { 180 set: function(newVal) {
181 this._arrTransformTracks = newVal; 181 this._arrTransformTracks = newVal;
182 this.needsDraw = true; 182 //this.needsDraw = true;
183 } 183 }
184 }, 184 },
185 _transformTracksRepetition: { 185 _transformTracksRepetition: {
@@ -193,7 +193,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
193 }, 193 },
194 set: function(newVal) { 194 set: function(newVal) {
195 this._transformTracksRepetition = newVal; 195 this._transformTracksRepetition = newVal;
196 this.needsDraw = true; 196 //this.needsDraw = true;
197 } 197 }
198 }, 198 },
199 199
@@ -209,7 +209,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
209 }, 209 },
210 set:function (newVal) { 210 set:function (newVal) {
211 this._tweens = newVal; 211 this._tweens = newVal;
212 this.needsDraw=true; 212 //this.needsDraw=true;
213 } 213 }
214 }, 214 },
215 215
@@ -345,6 +345,44 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
345 _styleCollapser:{ 345 _styleCollapser:{
346 value:null 346 value:null
347 }, 347 },
348
349 _trackData:{
350
351 },
352
353 trackData:{
354 serializable:true,
355 get:function(){
356 return this._trackData;
357 },
358 set:function(val){
359 this._trackData = val;
360 if(this._trackData){
361 this.setData();
362 }
363 }
364 },
365
366 setData:{
367 value:function(){
368 this.trackID = this.trackData.layerID;
369 this.tweens = this.trackData.tweens;
370 this.animatedElement = this.trackData.animatedElement;
371 this.arrStyleTracks = this.trackData.arrStyleTracks;
372 this.isTrackAnimated = this.trackData.isTrackAnimated;
373 this.trackDuration = this.trackData.trackDuration;
374 this.animationName = this.trackData.animationName;
375 this.currentKeyframeRule = this.trackData.currentKeyframeRule;
376 this.isMainCollapsed = this.trackData.isMainCollapsed;
377 this.isPositionCollapsed = this.trackData.isPositionCollapsed;
378 this.isTransformCollapsed = this.trackData.isTransformCollapsed;
379 this.bypassAnimation = this.trackData.bypassAnimation;
380 this.isStyleCollapsed = this.trackData.isStyleCollapsed;
381 this.trackPosition = this.trackData.trackPosition;
382 this.needsDraw = true;
383 }
384 },
385
348 prepareForDraw:{ 386 prepareForDraw:{
349 value:function () { 387 value:function () {
350 this.init(); 388 this.init();
@@ -356,20 +394,10 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
356 draw:{ 394 draw:{
357 value:function () { 395 value:function () {
358 this.ninjaStylesContoller = this.application.ninja.stylesController; 396 this.ninjaStylesContoller = this.application.ninja.stylesController;
359 return; 397 var selectedIndex = this.application.ninja.timeline.getLayerIndexByID(this.trackID);
360 if (this._mainCollapser.isCollapsed !== this.isMainCollapsed) { 398 if(this.application.ninja.timeline.arrLayers[selectedIndex].layerData.elementsList[0]){
361 this._mainCollapser.toggle(false); 399 this.animatedElement = this.application.ninja.timeline.arrLayers[selectedIndex].layerData.elementsList[0];
362 }
363 if (this._positionCollapser.isCollapsed !== this.isPositionCollapsed) {
364 this._positionCollapser.toggle(false);
365 }
366 if (this._transformCollapser.isCollapsed !== this.isTransformCollapsed) {
367 this._transformCollapser.toggle(false);
368 }
369 if (this._styleCollapser.isCollapsed !== this.isStyleCollapsed) {
370 this._styleCollapser.toggle(false);
371 } 400 }
372
373 } 401 }
374 }, 402 },
375 403
@@ -378,7 +406,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
378 if(!this.application.ninja.documentController.creatingNewFile){ 406 if(!this.application.ninja.documentController.creatingNewFile){
379 if(this.application.ninja.currentDocument.documentRoot.children[0]){ 407 if(this.application.ninja.currentDocument.documentRoot.children[0]){
380 var selectedIndex = this.application.ninja.timeline.getLayerIndexByID(this.trackID); 408 var selectedIndex = this.application.ninja.timeline.getLayerIndexByID(this.trackID);
381 if(!this.application.ninja.timeline.arrLayers[selectedIndex].created){ 409 if(!this.application.ninja.timeline.arrLayers[selectedIndex].layerData.created){
382 this.retrieveStoredTweens(); 410 this.retrieveStoredTweens();
383 } 411 }
384 } 412 }
@@ -394,7 +422,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
394 var selectedIndex = this.application.ninja.timeline.getLayerIndexByID(this.trackID); 422 var selectedIndex = this.application.ninja.timeline.getLayerIndexByID(this.trackID);
395 423
396 if (ev.shiftKey) { 424 if (ev.shiftKey) {
397 if (this.application.ninja.timeline.arrLayers[selectedIndex].elementsList.length == 1) { 425 if (this.application.ninja.timeline.arrLayers[selectedIndex].layerData.elementsList.length == 1) {
398 if (this.tweens.length < 1) { 426 if (this.tweens.length < 1) {
399 this.insertTween(0); 427 this.insertTween(0);
400 this.addAnimationRuleToElement(ev); 428 this.addAnimationRuleToElement(ev);
@@ -410,7 +438,7 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
410 438
411 handleNewTween:{ 439 handleNewTween:{
412 value:function (ev) { 440 value:function (ev) {
413 if (ev.offsetX > this.tweens[this.tweens.length - 1].keyFramePosition) { 441 if (ev.offsetX > this.tweens[this.tweens.length - 1].tweenData.keyFramePosition) {
414 this.insertTween(ev.offsetX); 442 this.insertTween(ev.offsetX);
415 } else { 443 } else {
416 this.splitTween(ev); 444 this.splitTween(ev);
@@ -420,34 +448,32 @@ var TimelineTrack = exports.TimelineTrack = Montage.create(Component, {
420 448
421 insertTween:{ 449 insertTween:{
422 value:function (clickPos) { 450 value:function (clickPos) {
423 // calculate new tween's keyframe milliseconds by clickPos
424 var currentMillisecPerPixel = Math.floor(this.application.ninja.timeline.millisecondsOffset / 80); 451 var currentMillisecPerPixel = Math.floor(this.application.ninja.timeline.millisecondsOffset / 80);
425 var currentMillisec = currentMillisecPerPixel * clickPos; 452 var currentMillisec = currentMillisecPerPixel * clickPos;
426
427 // need to check timeline master duration if greater than this track duration
428 this.trackDuration = currentMillisec; 453 this.trackDuration = currentMillisec;
429 var newTween = {};