diff options
Diffstat (limited to 'js/panels')
-rwxr-xr-x | js/panels/Materials/materials-library-panel.reel/materials-library-panel.js | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/js/panels/Materials/materials-library-panel.reel/materials-library-panel.js b/js/panels/Materials/materials-library-panel.reel/materials-library-panel.js index 4b9044ae..c3c2a6de 100755 --- a/js/panels/Materials/materials-library-panel.reel/materials-library-panel.js +++ b/js/panels/Materials/materials-library-panel.reel/materials-library-panel.js | |||
@@ -217,15 +217,27 @@ exports.MaterialsLibraryPanel = Montage.create(Component, { | |||
217 | 217 | ||
218 | willPositionPopup: { | 218 | willPositionPopup: { |
219 | value: function(popup, defaultPosition) { | 219 | value: function(popup, defaultPosition) { |
220 | var content = popup.content.element, | 220 | var left, |
221 | top, | ||
222 | content = popup.content.element, | ||
221 | contentHt = parseFloat(content.style.height) || content.offsetHeight || 0, | 223 | contentHt = parseFloat(content.style.height) || content.offsetHeight || 0, |
222 | contentWd = parseFloat(content.style.width) || content.offsetWidth || 0, | 224 | contentWd = parseFloat(content.style.width) || content.offsetWidth || 0, |
223 | pt = webkitConvertPointFromNodeToPage(this.selectedMaterialNode, new WebKitPoint(0, 0)); | 225 | pt = webkitConvertPointFromNodeToPage(this.selectedMaterialNode, new WebKitPoint(0, 0)); |
224 | if(!pt) { | 226 | |
227 | if(!pt) { | ||
225 | return defaultPosition; | 228 | return defaultPosition; |
226 | } else { | 229 | } |
227 | return {top: pt.y - contentHt + 10, left: pt.x - contentWd + 10}; | 230 | |
231 | top = pt.y - contentHt + 10; | ||
232 | if(top < 0) { | ||
233 | top = 0; | ||
228 | } | 234 | } |
235 | left = pt.x - contentWd + 10; | ||
236 | if(left < 0) { | ||
237 | left = 0; | ||
238 | } | ||
239 | |||
240 | return {top:top, left:left}; | ||
229 | } | 241 | } |
230 | } | 242 | } |
231 | }); | 243 | }); |