diff options
Diffstat (limited to 'js/helper-classes/3D/snap-manager.js')
-rwxr-xr-x | js/helper-classes/3D/snap-manager.js | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/js/helper-classes/3D/snap-manager.js b/js/helper-classes/3D/snap-manager.js index 5b467b41..9f6b9ed1 100755 --- a/js/helper-classes/3D/snap-manager.js +++ b/js/helper-classes/3D/snap-manager.js | |||
@@ -123,7 +123,7 @@ var SnapManager = exports.SnapManager = Montage.create(Component, { | |||
123 | /////////////////////////////////////////////////////////////////////// | 123 | /////////////////////////////////////////////////////////////////////// |
124 | initialize: { | 124 | initialize: { |
125 | value: function() { | 125 | value: function() { |
126 | this.eventManager.addEventListener("elementDeleted", this, false); | 126 | this.eventManager.addEventListener("elementsRemoved", this, false); |
127 | } | 127 | } |
128 | }, | 128 | }, |
129 | 129 | ||
@@ -163,9 +163,19 @@ var SnapManager = exports.SnapManager = Montage.create(Component, { | |||
163 | }, | 163 | }, |
164 | 164 | ||
165 | 165 | ||
166 | handleElementDeleted: { | 166 | handleElementsRemoved: { |
167 | value: function(event) { | 167 | value: function(event) { |
168 | this.removeElementFrom2DCache(event.detail); | 168 | var self = this, elements = event.detail; |
169 | |||
170 | if(Array.isArray(elements)) { | ||
171 | elements = Array.prototype.slice.call(elements, 0); | ||
172 | elements.forEach(function(element) { | ||
173 | element = element._element || element; | ||
174 | self.removeElementFrom2DCache(element); | ||
175 | }); | ||
176 | } else { | ||
177 | this.removeElementFrom2DCache(elements._element || elements); | ||
178 | } | ||
169 | } | 179 | } |
170 | }, | 180 | }, |
171 | 181 | ||
@@ -489,6 +499,7 @@ var SnapManager = exports.SnapManager = Montage.create(Component, { | |||
489 | var n = this._elementCache.length; | 499 | var n = this._elementCache.length; |
490 | this._elementCache[index] = this._elementCache[n-1]; | 500 | this._elementCache[index] = this._elementCache[n-1]; |
491 | this._elementCache.pop(); | 501 | this._elementCache.pop(); |
502 | target.elementModel.isIn2DSnapCache = false; | ||
492 | found = true; | 503 | found = true; |
493 | } | 504 | } |
494 | 505 | ||