aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Duran2012-03-07 11:12:57 -0800
committerJonathan Duran2012-03-07 11:12:57 -0800
commitf6835e48d3597ecb8cf1da8bcc91b58a8227d389 (patch)
treeaa61883e8deb6d09d56f3cc1b784923775b898e2
parentc92ac883d43be0b8f89a04505ec11235d2856382 (diff)
downloadninja-f6835e48d3597ecb8cf1da8bcc91b58a8227d389.tar.gz
Optimize Timeline serialization
Change all serialized properties into one big object to reduce bindings Signed-off-by: Jonathan Duran <jduran@motorola.com>
-rw-r--r--js/panels/Timeline/Layer.reel/Layer.js41
-rw-r--r--js/panels/Timeline/TimelinePanel.reel/TimelinePanel.html163
-rw-r--r--js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js210
-rw-r--r--js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js45
4 files changed, 181 insertions, 278 deletions
diff --git a/js/panels/Timeline/Layer.reel/Layer.js b/js/panels/Timeline/Layer.reel/Layer.js
index 81bd1867..df1770da 100644
--- a/js/panels/Timeline/Layer.reel/Layer.js
+++ b/js/panels/Timeline/Layer.reel/Layer.js
@@ -38,13 +38,11 @@ var Layer = exports.Layer = Montage.create(Component, {
38 _arrLayerStyles : { 38 _arrLayerStyles : {
39 serializable: true, 39 serializable: true,
40 enumerable: true, 40 enumerable: true,
41 serializable: true,
42 value: [] 41 value: []
43 }, 42 },
44 arrLayerStyles : { 43 arrLayerStyles : {
45 serializable: true, 44 serializable: true,
46 enumerable: true, 45 enumerable: true,
47 serializable: true,
48 get: function() { 46 get: function() {
49 return this._arrLayerStyles; 47 return this._arrLayerStyles;
50 }, 48 },
@@ -386,7 +384,44 @@ var Layer = exports.Layer = Montage.create(Component, {
386 this._bypassAnimation = newVal; 384 this._bypassAnimation = newVal;
387 } 385 }
388 }, 386 },
389 387
388 _layerData:{
389 serializable:true,
390 value:{}
391 },
392
393 layerData:{
394 serializable:true,
395 get:function(){
396 return this._layerData;
397 },
398 set:function(val){
399 this._layerData = val;
400 this.setData();
401 }
402 },
403
404 setData:{
405 value:function(){
406 this.layerName = this.layerData.layerName;
407 this.layerID = this.layerData.layerID;
408 this.arrLayerStyles = this.layerData.arrLayerStyles;
409 this.isMainCollapsed = this.layerData.isMainCollapsed;
410 this.isPositionCollapsed = this.layerData.isPositionCollapsed;
411 this.isTransformCollapsed = this.layerData.isTransformCollapsed;
412 this.isSelected = this.layerData.isSelected;
413 this.isActive = this.layerData.isActive;
414 this.isStyleCollapsed = this.layerData.isStyleCollapsed;
415 this.bypassAnimation = this.layerData.bypassAnimation;
416 this.dtextPositionX = this.layerData.dtextPositionX;
417 this.dtextPositionY = this.layerData.dtextPositionY;
418 this.dtextSkewX = this.layerData.dtextSkewX;
419 this.dtextSkewY = this.layerData.dtextSkewY;
420 this.dtextScaleX = this.layerData.dtextScaleX;
421 this.dtextScaleY = this.layerData.dtextScaleY;
422 this.dtextRotate = this.layerData.dtextRotate;
423 }
424 },
390 425
391 /* END: Models */ 426 /* END: Models */
392 427
diff --git a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.html b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.html
index ae1bcddf..0886bd6c 100644
--- a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.html
+++ b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.html
@@ -71,91 +71,11 @@
71 "element": {"#": "container-layer"} 71 "element": {"#": "container-layer"}
72 }, 72 },
73 "bindings" : { 73 "bindings" : {
74 "layerName" : { 74 "layerData" : {
75 "boundObject" : {"@" : "repetition1"}, 75 "boundObject" : {"@" : "repetition2"},
76 "boundObjectPropertyPath" : "objectAtCurrentIteration.layerName", 76 "boundObjectPropertyPath" : "objectAtCurrentIteration.layerData",
77 "oneway" : false 77 "oneway" : false
78 }, 78 }
79 "layerID" : {
80 "boundObject" : {"@" : "repetition1"},
81 "boundObjectPropertyPath" : "objectAtCurrentIteration.layerID",
82 "oneway" : false
83 },
84 "arrLayerStyles" : {
85 "boundObject" : {"@" : "repetition1"},
86 "boundObjectPropertyPath" : "objectAtCurrentIteration.arrLayerStyles",
87 "oneway" : false
88 },
89 "isMainCollapsed" : {
90 "boundObject" : {"@" : "repetition1"},
91 "boundObjectPropertyPath" : "objectAtCurrentIteration.isMainCollapsed",
92 "oneway" : false
93 },
94 "isPositionCollapsed" : {
95 "boundObject" : {"@" : "repetition1"},
96 "boundObjectPropertyPath" : "objectAtCurrentIteration.isPositionCollapsed",
97 "oneway" : false
98 },
99 "isTransformCollapsed" : {
100 "boundObject" : {"@" : "repetition1"},
101 "boundObjectPropertyPath" : "objectAtCurrentIteration.isTransformCollapsed",
102 "oneway" : false
103 },
104 "isSelected" : {
105 "boundObject" : {"@" : "repetition1"},
106 "boundObjectPropertyPath" : "objectAtCurrentIteration.isSelected",
107 "oneway" : false
108 },
109 "isActive" : {
110 "boundObject" : {"@" : "repetition1"},
111 "boundObjectPropertyPath" : "objectAtCurrentIteration.isActive",
112 "oneway" : false
113 },
114 "isStyleCollapsed" : {
115 "boundObject" : {"@" : "repetition1"},
116 "boundObjectPropertyPath" : "objectAtCurrentIteration.isStyleCollapsed",
117 "oneway" : false
118 },
119 "bypassAnimation" : {
120 "boundObject" : {"@" : "repetition1"},
121 "boundObjectPropertyPath" : "objectAtCurrentIteration.bypassAnimation",
122 "oneway" : false
123 },
124 "dtextPositionX" : {
125 "boundObject" : {"@" : "repetition1"},
126 "boundObjectPropertyPath" : "objectAtCurrentIteration.dtextPositionX",
127 "oneway" : false
128 },
129 "dtextPositionY" : {
130 "boundObject" : {"@" : "repetition1"},
131 "boundObjectPropertyPath" : "objectAtCurrentIteration.dtextPositionY",
132 "oneway" : false
133 },
134 "dtextSkewX" : {
135 "boundObject" : {"@" : "repetition1"},
136 "boundObjectPropertyPath" : "objectAtCurrentIteration.dtextSkewX",
137 "oneway" : false
138 },
139 "dtextSkewY" : {
140 "boundObject" : {"@" : "repetition1"},
141 "boundObjectPropertyPath" : "objectAtCurrentIteration.dtextSkewY",
142 "oneway" : false
143 },
144 "dtextScaleX" : {
145 "boundObject" : {"@" : "repetition1"},
146 "boundObjectPropertyPath" : "objectAtCurrentIteration.dtextScaleX",
147 "oneway" : false
148 },
149 "dtextScaleY" : {
150 "boundObject" : {"@" : "repetition1"},
151 "boundObjectPropertyPath" : "objectAtCurrentIteration.dtextScaleY",
152 "oneway" : false
153 },
154 "dtextRotate" : {
155 "boundObject" : {"@" : "repetition1"},
156 "boundObjectPropertyPath" : "objectAtCurrentIteration.dtextRotate",
157 "oneway" : false
158 }
159 } 79 }
160 }, 80 },
161 81
@@ -181,76 +101,11 @@
181 "element": {"#": "container-track"} 101 "element": {"#": "container-track"}
182 }, 102 },
183 "bindings" : { 103 "bindings" : {
184 "trackID" : { 104 "trackData" : {
185 "boundObject" : {"@" : "repetition2"}, 105 "boundObject" : {"@" : "repetition2"},
186 "boundObjectPropertyPath" : "objectAtCurrentIteration.layerID", 106 "boundObjectPropertyPath" : "objectAtCurrentIteration.layerData",
187 "oneway" : false
188 },
189 "tweens" : {
190 "boundObject" : {"@" : "repetition2"},
191 "boundObjectPropertyPath" : "objectAtCurrentIteration.tweens",
192 "oneway" : false
193 },
194 "animatedElement" : {
195 "boundObject" : {"@" : "repetition2"},
196 "boundObjectPropertyPath" : "objectAtCurrentIteration.animatedElement",
197 "oneway" : false 107 "oneway" : false
198 }, 108 }
199 "arrStyleTracks" : {
200 "boundObject" : {"@" : "repetition2"},
201 "boundObjectPropertyPath" : "objectAtCurrentIteration.arrStyleTracks",
202 "oneway" : false
203 },
204 "isTrackAnimated" : {
205 "boundObject" : {"@" : "repetition2"},
206 "boundObjectPropert