aboutsummaryrefslogtreecommitdiff
path: root/js/ninja.reel
diff options
context:
space:
mode:
Diffstat (limited to 'js/ninja.reel')
-rwxr-xr-xjs/ninja.reel/ninja.html101
-rwxr-xr-xjs/ninja.reel/ninja.js120
2 files changed, 194 insertions, 27 deletions
diff --git a/js/ninja.reel/ninja.html b/js/ninja.reel/ninja.html
index a4779ee3..ead7f576 100755
--- a/js/ninja.reel/ninja.html
+++ b/js/ninja.reel/ninja.html
@@ -77,34 +77,83 @@
77 "name": "Splitter", 77 "name": "Splitter",
78 "properties": { 78 "properties": {
79 "element": {"#": "bottomSplitter"}, 79 "element": {"#": "bottomSplitter"},
80 "panel": {"#": "bottomPanelContainer"}, 80 "panel": {"@": "timeline"}
81 "resizeBar": {"#": "timelineResizer"}
82 } 81 }
83 }, 82 },
84 83
85 "resizer1": { 84 "resizer1": {
86 "module": "js/panels/Resizer", 85 "module": "js/panels/resize-composer",
87 "name": "Resizer", 86 "name": "ResizeComposer",
88 "properties": { 87 "properties": {
89 "element": {"#": "rightPanelResizer"}, 88 "element": {"#": "rightPanelResizer"},
90 "id": "rightPanelResizer", 89 "component": {"@": "owner"},
91 "panel": {"#": "rightPanelContainer"}, 90 "yAxis": false
92 "isVertical": false, 91 },
93 "redrawStage": true 92 "listeners": [
94 } 93 {
94 "type": "resizeStart",
95 "listener": {"@": "owner"}
96 },
97 {
98 "type": "resizeMove",
99 "listener": {"@": "owner"}
100 },
101 {
102 "type": "resizeEnd",
103 "listener": {"@": "owner"}
104 }
105 ]
95 }, 106 },
96 107
97 "resizer2": { 108 "resizer2": {
98 "module": "js/panels/Resizer", 109 "module": "js/panels/resize-composer",
99 "name": "Resizer", 110 "name": "ResizeComposer",
100 "properties": { 111 "properties": {
101 "element": {"#": "timelineResizer"}, 112 "element": {"#": "timelineResizer"},
102 "id": "timelineResizer", 113 "component": {"@": "owner"},
103 "panel": {"#": "bottomPanelContainer"}, 114 "xAxis": false
104 "isVertical": true, 115 },
105 "isInversed": true, 116 "listeners": [
106 "redrawStage": true 117 {
107 } 118 "type": "resizeStart",
119 "listener": {"@": "owner"}
120 },
121 {
122 "type": "resizeMove",
123 "listener": {"@": "owner"}
124 },
125 {
126 "type": "resizeEnd",
127 "listener": {"@": "owner"}
128 }
129 ]
130 },
131
132 "Resizer": {
133 "module": "js/panels/resize-composer",
134 "name": "ResizeComposer",
135 "properties": {
136 "element": {"#": "pasteboardResizer"},
137 "component": {"@": "owner"}
138 },
139 "listeners": [
140 {
141 "type": "resizeStart",
142 "listener": {"@": "owner"}
143 },
144 {
145 "type": "resizeMove",
146 "listener": {"@": "owner"}
147 },
148 {
149 "type": "resizeEnd",
150 "listener": {"@": "owner"}
151 },
152 {
153 "type": "resizeReset",
154 "listener": {"@": "owner"}
155 }
156 ]
108 }, 157 },
109 158
110 "stageMode": { 159 "stageMode": {
@@ -327,7 +376,10 @@
327 "documentBar": {"@": "documentBar"}, 376 "documentBar": {"@": "documentBar"},
328 "ioMediator": {"@": "ioMediator"}, 377 "ioMediator": {"@": "ioMediator"},
329 "timeline": {"@": "timeline"}, 378 "timeline": {"@": "timeline"},
330 "mainMenuController": {"@": "mainMenuController"} 379 "mainMenuController": {"@": "mainMenuController"},
380 "rightPanelContainer": {"#": "rightPanelContainer" },
381 "panelSplitter": {"@": "splitter3"},
382 "timelineSplitter": {"@": "splitter4"}
331 } 383 }
332 } 384 }
333 } 385 }
@@ -380,7 +432,9 @@
380 <section id="mainContent"> 432 <section id="mainContent">
381 <section id="rulerLeft"></section> 433 <section id="rulerLeft"></section>
382 <section id="stageAndScenesContainer"></section> 434 <section id="stageAndScenesContainer"></section>
435 <section id="pasteboardResizer" class="pasteboardResizer resizeBar"></section>
383 </section> 436 </section>
437 <section id="timelineResizer" class="timelineResizer resizeBar"></section>
384 <section id="stateBar"> 438 <section id="stateBar">
385 <section id="documentBarContainer"> 439 <section id="documentBarContainer">
386 <div id="documentBar" class="documentBar"><a href="#">HTML</a></div> 440 <div id="documentBar" class="documentBar"><a href="#">HTML</a></div>
@@ -388,20 +442,13 @@
388 </section> 442 </section>
389 443
390 <section id="breadCrumbComponent"></section> 444 <section id="breadCrumbComponent"></section>
391 445 <div id="timelinePanelComponent" data-montage-id="timelinePanel" class="timelinePanel"></div>
392 <section id="timelineResizer" class="timelineResizer resizeBar"></section>
393
394 <section id="bottomPanelContainer" class="panelContainer">
395 <section id="timelinePanel" class="panel">
396 <div id="timelinePanelComponent"></div>
397 </section>
398 </section>
399 </section> 446 </section>
400 </section> 447 </section>
401 448
402 <section data-montage-id="rightPanelResizer" class="rightPanelResizer resizeBar"></section> 449 <section data-montage-id="rightPanelResizer" class="rightPanelResizer resizeBar"></section>
403 450
404 <section id="rightPanelContainer" class="rightPanelContainer panelContainer"> 451 <section id="rightPanelContainer" data-montage-id="rightPanelContainer" class="rightPanelContainer panelContainer">
405 <section id="rightPanelContent" class="rightPanelContent"> 452 <section id="rightPanelContent" class="rightPanelContent">
406 </section> 453 </section>
407 </section> 454 </section>
diff --git a/js/ninja.reel/ninja.js b/js/ninja.reel/ninja.js
index c76c7d46..ca094936 100755
--- a/js/ninja.reel/ninja.js
+++ b/js/ninja.reel/ninja.js
@@ -23,6 +23,93 @@ exports.Ninja = Montage.create(Component, {
23 value: null 23 value: null
24 }, 24 },
25 25
26 _isResizing: {
27 value: false
28 },
29 _resizedHeight : {
30 value: 0
31 },
32 _height: {
33 value: null
34 },
35
36 height: {
37 get: function() {
38 return this._height;
39 },
40 set: function(val) {
41 if(this._height != val) {
42 this._height = val;
43 this.needsDraw = true;
44 }
45
46 }
47 },
48
49 _resizedWidth : {
50 value: 0
51 },
52 _width: {
53 value: null
54 },
55
56 width: {
57 get: function() {
58 return this._width;
59 },
60 set: function(val) {
61 if(this._width != val) {
62 this._width = val;
63 this.needsDraw = true;
64 }
65
66 }
67 },
68
69 handleResizeStart: {
70 value:function(e) {
71 this.isResizing = true;
72 this.height = parseInt(this.timeline.element.offsetHeight);
73 this.width = parseInt(this.rightPanelContainer.offsetWidth);
74 this.needsDraw = true;
75 }
76 },
77
78 handleResizeMove: {
79 value:function(e) {
80 this._resizedHeight = e._event.dY;
81 this._resizedWidth = e._event.dX;
82 console.log("resizing");
83 this.stage.resizeCanvases = true;
84 this.needsDraw = true;
85 }
86 },
87
88 handleResizeEnd: {
89 value: function(e) {
90 this.height -= this._resizedHeight;
91 this.width -= this._resizedWidth;
92 this.stage.resizeCanvases = true;
93 this._resizedHeight = 0;
94 this._resizedWidth = 0;
95 this.isResizing = false;
96 this.needsDraw = true;
97 }
98 },
99
100 handleResizeReset: {
101 value: fun