diff options
Diffstat (limited to 'js/ninja.reel')
-rwxr-xr-x | js/ninja.reel/ninja.html | 107 | ||||
-rwxr-xr-x | js/ninja.reel/ninja.js | 120 |
2 files changed, 200 insertions, 27 deletions
diff --git a/js/ninja.reel/ninja.html b/js/ninja.reel/ninja.html index f9e1efdd..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": { |
@@ -267,6 +316,11 @@ | |||
267 | "name": "StylesController" | 316 | "name": "StylesController" |
268 | }, | 317 | }, |
269 | 318 | ||
319 | "presetsController": { | ||
320 | "module": "js/controllers/presets-controller", | ||
321 | "name": "PresetsController" | ||
322 | }, | ||
323 | |||
270 | "filePickerController": { | 324 | "filePickerController": { |
271 | "module": "js/io/ui/file-picker/file-picker-controller", | 325 | "module": "js/io/ui/file-picker/file-picker-controller", |
272 | "name": "FilePickerController" | 326 | "name": "FilePickerController" |
@@ -315,13 +369,17 @@ | |||
315 | "popupManager": {"@": "popupManager1"}, | 369 | "popupManager": {"@": "popupManager1"}, |
316 | "colorController": {"@": "colorController1"}, | 370 | "colorController": {"@": "colorController1"}, |
317 | "stylesController": {"@": "stylesController"}, | 371 | "stylesController": {"@": "stylesController"}, |
372 | "presetsController": {"@": "presetsController"}, | ||
318 | "filePickerController": {"@": "filePickerController"}, | 373 | "filePickerController": {"@": "filePickerController"}, |
319 | "newFileController": {"@": "newFileController"}, | 374 | "newFileController": {"@": "newFileController"}, |
320 | "coreIoApi": {"@": "coreIoApi1"}, | 375 | "coreIoApi": {"@": "coreIoApi1"}, |
321 | "documentBar": {"@": "documentBar"}, | 376 | "documentBar": {"@": "documentBar"}, |
322 | "ioMediator": {"@": "ioMediator"}, | 377 | "ioMediator": {"@": "ioMediator"}, |
323 | "timeline": {"@": "timeline"}, | 378 | "timeline": {"@": "timeline"}, |
324 | "mainMenuController": {"@": "mainMenuController"} | 379 | "mainMenuController": {"@": "mainMenuController"}, |
380 | "rightPanelContainer": {"#": "rightPanelContainer" }, | ||
381 | "panelSplitter": {"@": "splitter3"}, | ||
382 | "timelineSplitter": {"@": "splitter4"} | ||
325 | } | 383 | } |
326 | } | 384 | } |
327 | } | 385 | } |
@@ -374,7 +432,9 @@ | |||
374 | <section id="mainContent"> | 432 | <section id="mainContent"> |
375 | <section id="rulerLeft"></section> | 433 | <section id="rulerLeft"></section> |
376 | <section id="stageAndScenesContainer"></section> | 434 | <section id="stageAndScenesContainer"></section> |
435 | <section id="pasteboardResizer" class="pasteboardResizer resizeBar"></section> | ||
377 | </section> | 436 | </section> |
437 | <section id="timelineResizer" class="timelineResizer resizeBar"></section> | ||
378 | <section id="stateBar"> | 438 | <section id="stateBar"> |
379 | <section id="documentBarContainer"> | 439 | <section id="documentBarContainer"> |
380 | <div id="documentBar" class="documentBar"><a href="#">HTML</a></div> | 440 | <div id="documentBar" class="documentBar"><a href="#">HTML</a></div> |
@@ -382,20 +442,13 @@ | |||
382 | </section> | 442 | </section> |
383 | 443 | ||
384 | <section id="breadCrumbComponent"></section> | 444 | <section id="breadCrumbComponent"></section> |
385 | 445 | <div id="timelinePanelComponent" data-montage-id="timelinePanel" class="timelinePanel"></div> | |
386 | <section id="timelineResizer" class="timelineResizer resizeBar"></section> | ||
387 | |||
388 | <section id="bottomPanelContainer" class="panelContainer"> | ||
389 | <section id="timelinePanel" class="panel"> | ||
390 | <div id="timelinePanelComponent"></div> | ||
391 | </section> | ||
392 | </section> | ||
393 | </section> | 446 | </section> |
394 | </section> | 447 | </section> |
395 | 448 | ||
396 | <section data-montage-id="rightPanelResizer" class="rightPanelResizer resizeBar"></section> | 449 | <section data-montage-id="rightPanelResizer" class="rightPanelResizer resizeBar"></section> |
397 | 450 | ||
398 | <section id="rightPanelContainer" class="rightPanelContainer panelContainer"> | 451 | <section id="rightPanelContainer" data-montage-id="rightPanelContainer" class="rightPanelContainer panelContainer"> |
399 | <section id="rightPanelContent" class="rightPanelContent"> | 452 | <section id="rightPanelContent" class="rightPanelContent"> |
400 | </section> | 453 | </section> |
401 | </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; | ||