aboutsummaryrefslogtreecommitdiff
path: root/js/panels/Timeline/Span.reel/Span.js
diff options
context:
space:
mode:
authorJonathan Duran2012-06-11 10:14:57 -0700
committerJonathan Duran2012-06-11 10:14:57 -0700
commit306d72f1f18f4e6ea90146bc6723517fb931ea7d (patch)
treebe47c6c8783da6aeae667320b8bdda63200d5ea1 /js/panels/Timeline/Span.reel/Span.js
parent6a3b09433b8d5894a0f2a6c00748825727c2d991 (diff)
downloadninja-306d72f1f18f4e6ea90146bc6723517fb931ea7d.tar.gz
Squashed commit of the following:
commit 8e98ce012f55576ddb979969a3a1d834301af0c7 Author: Jon Reid <tjh487@motorola.com> Date: Fri Jun 8 18:08:38 2012 -0700 Timeline: New feature: Only one easing menu can be open at a time. Signed-off-by: Jonathan Duran <jduran@motorola.com>
Diffstat (limited to 'js/panels/Timeline/Span.reel/Span.js')
-rw-r--r--js/panels/Timeline/Span.reel/Span.js27
1 files changed, 24 insertions, 3 deletions
diff --git a/js/panels/Timeline/Span.reel/Span.js b/js/panels/Timeline/Span.reel/Span.js
index 1ab3455c..8d4c25ae 100644
--- a/js/panels/Timeline/Span.reel/Span.js
+++ b/js/panels/Timeline/Span.reel/Span.js
@@ -146,17 +146,38 @@ var Span = exports.Span = Montage.create(Component, {
146 146
147 handleEasingChoiceClick: { 147 handleEasingChoiceClick: {
148 value: function(event) { 148 value: function(event) {
149 event.stopPropagation();
149 this.areChoicesVisible = true; 150 this.areChoicesVisible = true;
151
152 // Possibly another menu is already open. If so, we need to close it.
153 if (this.application.ninja.timeline.currentOpenSpanMenu !== false) {
154 this.application.ninja.timeline.currentOpenSpanMenu.hideEasingMenu();
155 }
156
157 // Now store a pointer to ourselves for possible future use.
158 this.application.ninja.timeline.currentOpenSpanMenu = this;
150 } 159 }
151 }, 160 },
152 handleEasingChoicesClick: { 161 handleEasingChoicesClick: {
153 value: function(event) { 162 value: function(event) {
154 163 event.stopPropagation();
164
165 // Remove the pointer to ourselves
166 this.application.ninja.timeline.currentOpenSpanMenu = false;
167
168 // Un-highlight the old choice and highlight the new choice
155 this.easing_choices.querySelector(".easing-selected").classList.remove("easing-selected"); 169 this.easing_choices.querySelector(".easing-selected").classList.remove("easing-selected");
156 event.target.classList.add("easing-selected"); 170 event.target.classList.add("easing-selected");
171
172 // Set the easing
157 this.easing = event.target.dataset.ninjaEase; 173 this.easing = event.target.dataset.ninjaEase;
158 174
159 // Which element was just 175 // Hide the menu.
176 this.hideEasingMenu();
177 }
178 },
179 hideEasingMenu: {
180 value: function() {
160 this.areChoicesVisible = false; 181 this.areChoicesVisible = false;
161 } 182 }
162 } 183 }