aboutsummaryrefslogtreecommitdiff
path: root/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js')
-rw-r--r--js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js133
1 files changed, 114 insertions, 19 deletions
diff --git a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
index d7329ac7..cb8185e5 100644
--- a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
+++ b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
@@ -10,10 +10,98 @@ var nj = require("js/lib/NJUtils").NJUtils;
10 10
11var TimelinePanel = exports.TimelinePanel = Montage.create(Component, { 11var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
12 12
13 hasTemplate:{ 13 user_layers: {
14 value:true 14 value: null,
15 serializable: true
16 },
17
18 track_container: {
19 value: null,
20 serializable: true
21 },
22
23 timeline_leftpane: {
24 value: null,
25 serializable: true
26 },
27
28 layer_tracks: {
29 value: null,
30 serializable: true
31 },
32
33 master_track: {
34 value: null,
35 serializable: true
36 },
37
38 time_markers: {
39 value: null,
40 serializable: true
41 },
42
43 playhead: {
44 value: null,
45 serializable: true
46 },
47
48 playheadmarker: {
49 value: null,
50 serializable: true
51 },
52
53 timetext: {
54 value: null,
55 serializable: true
56 },
57
58 timebar: {
59 value: null,
60 serializable: true
61 },
62
63 container_tracks: {
64 value: null,
65 serializable: true
15 }, 66 },
16 67
68 end_hottext: {
69 value: null,
70 serializable: true
71 },
72
73 container_layers: {
74 value: null,
75 serializable: true
76 },
77
78 timeline_disabler: {
79 value: null,
80 serializable: true
81 },
82
83 checkable_relative: {
84 value: null,
85 serializable: true
86 },
87
88 checkable_absolute: {
89 value: null,
90 serializable: true
91 },
92
93 checkable_animated: {
94 value: null,
95 serializable: true
96 },
97
98 tl_configbutton: {
99 value: null,
100 serializable: true
101 },
102
103
104
17 /* === BEGIN: Models === */ 105 /* === BEGIN: Models === */
18 _currentDocument: { 106 _currentDocument: {
19 value : null 107 value : null
@@ -53,6 +141,14 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
53 } 141 }
54 } 142 }
55 }, 143 },
144
145 handleChange: {
146 value: function() {
147 if(this.currentDocument && this.currentDocument.model.getProperty("domContainer")) {
148 this.currentSelectedContainer = this.currentDocument.model.getProperty("domContainer");
149 }
150 }
151 },
56 152
57 _currentSelectedContainer: { 153 _currentSelectedContainer: {
58 value: null 154 value: null
@@ -405,13 +501,7 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
405 this.tl_configbutton.addEventListener("click", this.handleConfigButtonClick.bind(this), false); 501 this.tl_configbutton.addEventListener("click", this.handleConfigButtonClick.bind(this), false);
406 document.addEventListener("click", this.handleDocumentClick.bind(this), false); 502 document.addEventListener("click", this.handleDocumentClick.bind(this), false);
407 503
408 504 this.addPropertyChangeListener("currentDocument.model.domContainer", this);
409 // Bind some bindings
410 Object.defineBinding(this, "currentSelectedContainer", {
411 boundObject:this.application.ninja,
412 boundObjectPropertyPath:"currentSelectedContainer",
413 oneway:true
414 });
415 505
416 } 506 }
417 }, 507 },
@@ -511,11 +601,13 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
511 // Store the timeline data in currentDocument... 601 // Store the timeline data in currentDocument...
512 if (this._boolCacheArrays) { 602 if (this._boolCacheArrays) {
513 // ... but only if we're supposed to. 603 // ... but only if we're supposed to.
514 this.application.ninja.currentDocument.tlArrLayers = this.arrLayers; 604 if(this.currentDocument) {
515 this.application.ninja.currentDocument.tlCurrentSelectedContainer = this.application.ninja.currentSelectedContainer; 605 this.application.ninja.currentDocument.tlArrLayers = this.arrLayers;
516 this.application.ninja.currentDocument.tllayerNumber = this.currentLayerNumber; 606 this.application.ninja.currentDocument.tlCurrentSelectedContainer = this.currentDocument.model.domContainer;
517 this.application.ninja.currentDocument.tlCurrentLayerSelected = this.currentLayerSelected; 607 this.application.ninja.currentDocument.tllayerNumber = this.currentLayerNumber;
518 this.application.ninja.currentDocument.tlCurrentLayersSelected = this.currentLayersSelected; 608 this.application.ninja.currentDocument.tlCurrentLayerSelected = this.currentLayerSelected;
609 this.application.ninja.currentDocument.tlCurrentLayersSelected = this.currentLayersSelected;
610 }
519 } 611 }
520 } 612 }
521 }, 613 },
@@ -525,7 +617,7 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
525 // Initialize the currentDocument for a new set of timeline data. 617 // Initialize the currentDocument for a new set of timeline data.
526 this.application.ninja.currentDocument.isTimelineInitialized = true; 618 this.application.ninja.currentDocument.isTimelineInitialized = true;
527 this.application.ninja.currentDocument.tlArrLayers = []; 619 this.application.ninja.currentDocument.tlArrLayers = [];
528 this.application.ninja.currentDocument.tlCurrentSelectedContainer = this.application.ninja.currentSelectedContainer; 620 this.application.ninja.currentDocument.tlCurrentSelectedContainer = this.currentDocument.model.domContainer;
529 this.application.ninja.currentDocument.tllayerNumber = this.currentLayerNumber; 621 this.application.ninja.currentDocument.tllayerNumber = this.currentLayerNumber;
530 this.application.ninja.currentDocument.tlCurrentLayerSelected = false; 622 this.application.ninja.currentDocument.tlCurrentLayerSelected = false;
531 this.application.ninja.currentDocument.tlCurrentLayersSelected = false; 623 this.application.ninja.currentDocument.tlCurrentLayersSelected = false;
@@ -669,7 +761,7 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
669 // console.log('TimelinePanel.initTimelineForDocument: breadCrumbClick'); 761 // console.log('TimelinePanel.initTimelineForDocument: breadCrumbClick');
670 // Information stored, but we're moving up or down in the breadcrumb. 762 // Information stored, but we're moving up or down in the breadcrumb.
671 // Get the current selection and restore timeline info for its children. 763 // Get the current selection and restore timeline info for its children.
672 var parentNode = this.application.ninja.currentSelectedContainer, 764 var parentNode = this.currentDocument.model.domContainer,
673 storedCurrentLayerNumber = this.application.ninja.currentDocument.tllayerNumber; 765 storedCurrentLayerNumber = this.application.ninja.currentDocument.tllayerNumber;
674 this.temparrLayers = []; 766 this.temparrLayers = [];
675 767
@@ -691,6 +783,9 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
691 var i = 0, 783 var i = 0,
692 tlArrLayersLength = this.application.ninja.currentDocument.tlArrLayers.length; 784 tlArrLayersLength = this.application.ninja.currentDocument.tlArrLayers.length;
693 785
786
787 this._ignoreNextContainerChange = true;
788
694 // We're reading from the cache, not writing to it. 789 // We're reading from the cache, not writing to it.
695 this._boolCacheArrays = false; 790 this._boolCacheArrays = false;
696 for (i = 0; i < tlArrLayersLength; i++) { 791 for (i = 0; i < tlArrLayersLength; i++) {
@@ -708,7 +803,7 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
708 803
709 //debugger; 804 //debugger;
710 if (typeof(this.application.ninja.currentDocument.tlCurrentSelectedContainer) !== "undefined") { 805 if (typeof(this.application.ninja.currentDocument.tlCurrentSelectedContainer) !== "undefined") {
711// this.application.ninja.currentSelectedContainer=this.application.ninja.currentDocument.tlCurrentSelectedContainer; 806// this.currentDocument.model.domContainer = this.application.ninja.currentDocument.tlCurrentSelectedContainer;
712 } 807 }
713 808
714 // Are we only showing animated layers? 809 // Are we only showing animated layers?
@@ -984,7 +1079,7 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
984 thingToPush.layerData.layerName = newLayerName; 1079 thingToPush.layerData.layerName = newLayerName;
985