diff options
Diffstat (limited to 'js/panels/Timeline/Span.reel')
-rw-r--r-- | js/panels/Timeline/Span.reel/Span.js | 27 |
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 | } |