aboutsummaryrefslogtreecommitdiff
path: root/js/panels/Timeline/TimelinePanel.reel
diff options
context:
space:
mode:
Diffstat (limited to 'js/panels/Timeline/TimelinePanel.reel')
-rw-r--r--js/panels/Timeline/TimelinePanel.reel/TimelinePanel.html19
-rw-r--r--js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js722
2 files changed, 407 insertions, 334 deletions
diff --git a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.html b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.html
index 1aa9a725..ae1bcddf 100644
--- a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.html
+++ b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.html
@@ -32,8 +32,7 @@
32 "timetext" : {"#": "time_text"}, 32 "timetext" : {"#": "time_text"},
33 "timebar" : {"#": "time_bar"}, 33 "timebar" : {"#": "time_bar"},
34 "container_tracks" : {"#" : "container-tracks"}, 34 "container_tracks" : {"#" : "container-tracks"},
35 "end_hottext" : {"@" : "endHottext"}, 35 "end_hottext" : {"@" : "endHottext"}
36 "getme" : {"#" : "getme"}
37 } 36 }
38 }, 37 },
39 38
@@ -117,6 +116,11 @@
117 "boundObjectPropertyPath" : "objectAtCurrentIteration.isStyleCollapsed", 116 "boundObjectPropertyPath" : "objectAtCurrentIteration.isStyleCollapsed",
118 "oneway" : false 117 "oneway" : false
119 }, 118 },
119 "bypassAnimation" : {
120 "boundObject" : {"@" : "repetition1"},
121 "boundObjectPropertyPath" : "objectAtCurrentIteration.bypassAnimation",
122 "oneway" : false
123 },
120 "dtextPositionX" : { 124 "dtextPositionX" : {
121 "boundObject" : {"@" : "repetition1"}, 125 "boundObject" : {"@" : "repetition1"},
122 "boundObjectPropertyPath" : "objectAtCurrentIteration.dtextPositionX", 126 "boundObjectPropertyPath" : "objectAtCurrentIteration.dtextPositionX",
@@ -165,7 +169,7 @@
165 "bindings": { 169 "bindings": {
166 "objects": { 170 "objects": {
167 "boundObject": {"@": "owner"}, 171 "boundObject": {"@": "owner"},
168 "boundObjectPropertyPath": "arrTracks", 172 "boundObjectPropertyPath": "arrLayers",
169 "oneway": false 173 "oneway": false
170 } 174 }
171 } 175 }
@@ -179,7 +183,7 @@
179 "bindings" : { 183 "bindings" : {
180 "trackID" : { 184 "trackID" : {
181 "boundObject" : {"@" : "repetition2"}, 185 "boundObject" : {"@" : "repetition2"},
182 "boundObjectPropertyPath" : "objectAtCurrentIteration.trackID", 186 "boundObjectPropertyPath" : "objectAtCurrentIteration.layerID",
183 "oneway" : false 187 "oneway" : false
184 }, 188 },
185 "tweens" : { 189 "tweens" : {
@@ -232,6 +236,11 @@
232 "boundObjectPropertyPath" : "objectAtCurrentIteration.isTransformCollapsed", 236 "boundObjectPropertyPath" : "objectAtCurrentIteration.isTransformCollapsed",
233 "oneway" : false 237 "oneway" : false
234 }, 238 },
239 "bypassAnimation" : {
240 "boundObject" : {"@" : "repetition2"},
241 "boundObjectPropertyPath" : "objectAtCurrentIteration.bypassAnimation",
242 "oneway" : false
243 },
235 "isStyleCollapsed" : { 244 "isStyleCollapsed" : {
236 "boundObject" : {"@" : "repetition2"}, 245 "boundObject" : {"@" : "repetition2"},
237 "boundObjectPropertyPath" : "objectAtCurrentIteration.isStyleCollapsed", 246 "boundObjectPropertyPath" : "objectAtCurrentIteration.isStyleCollapsed",
@@ -285,7 +294,7 @@
285 294
286 <div id="user_layers" class="userlayers"> 295 <div id="user_layers" class="userlayers">
287 <div id="master_layer" class="masterlayer"> 296 <div id="master_layer" class="masterlayer">
288 <div id="getme">Master Layer</div> 297 <div>Master Layer</div>
289 </div> 298 </div>
290 <div id="container-layers"> 299 <div id="container-layers">
291 <div id="container-layer"></div> 300 <div id="container-layer"></div>
diff --git a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
index 81415951..087bf3cd 100644
--- a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
+++ b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
@@ -28,7 +28,7 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
28 }, 28 },
29 set:function (newVal) { 29 set:function (newVal) {
30 this._arrLayers = newVal; 30 this._arrLayers = newVal;
31 this.application.ninja.currentDocument.tlArrLayers = newVal; 31 this._cacheArrays();
32 } 32 }
33 }, 33 },
34 34
@@ -45,6 +45,20 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
45 } 45 }
46 }, 46 },
47 47
48 _cacheArrays : {
49 value: function() {
50 if (this._boolCacheArrays) {
51 this.application.ninja.currentDocument.tlArrLayers = this.arrLayers;
52
53 }
54 }
55 },
56
57 // Set to false to skip array caching array sets in current document
58 _boolCacheArrays : {
59 value: true
60 },
61
48 _currentLayerNumber:{ 62 _currentLayerNumber:{
49 value:0 63 value:0
50 }, 64 },
@@ -56,15 +70,44 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
56 set:function (newVal) { 70 set:function (newVal) {
57 if (newVal !== this._currentLayerNumber) { 71 if (newVal !== this._currentLayerNumber) {
58 this._currentLayerNumber = newVal; 72 this._currentLayerNumber = newVal;
73 this._setCurrentLayerNumber();
59 } 74 }
60 } 75 }
61 }, 76 },
62 77
63 currentLayerSelected:{ 78 _setCurrentLayerNumber:{
64 value: null 79 value:function(){
80 if (this._boolCacheArrays) {
81 this.application.ninja.currentDocument.tllayerNumber = this.currentLayerNumber;
82 }
83 }
84 },
85
86 _hashKey:{
87 value:0
88 },
89
90 hashKey:{
91 get:function () {
92 return this._hashKey;
93 },
94 set:function (newVal) {
95 if (newVal !== this._hashKey) {
96 this._hashKey = newVal;
97 this._setHashKey();
98 }
99 }
100 },
101
102 _setHashKey:{
103 value:function(){
104 if (this._boolCacheArrays) {
105 this.application.ninja.currentDocument.hashKey = this.hashKey;
106 }
107 }
65 }, 108 },
66 109
67 currentTrackSelected:{ 110 currentLayerSelected:{
68 value: null 111 value: null
69 }, 112 },
70 113
@@ -88,22 +131,6 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
88 } 131 }
89 }, 132 },
90 133
91 _arrTracks:{
92 serializable:true,
93 value:[]
94 },
95
96 arrTracks:{
97 serializable:true,
98 get:function () {
99 return this._arrTracks;
100 },
101 set:function (newVal) {
102 this._arrTracks = newVal;
103 this.application.ninja.currentDocument.tlArrTracks = newVal;
104 }
105 },
106
107 _trackRepetition:{ 134 _trackRepetition:{
108 serializable:true, 135 serializable:true,
109 value:null 136 value:null
@@ -147,6 +174,22 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
147 } 174 }
148 }, 175 },
149 176
177 _breadCrumbContainer:{
178 value:null
179 },
180
181 breadCrumbContainer: {
182 set: function(value) {
183 if(this._breadCrumbContainer !== value) {
184 this._breadCrumbContainer = value;
185 this.LayerBinding(this.application.ninja.currentSelectedContainer);
186 }
187 },
188 get: function() {
189 return this._breadCrumbContainer;</