2
0
Эх сурвалжийг харах

Define the popup translation in the stylesheet, not in the JS code

This allows us to autoprexfix the property, which is needed for Safari
support (see http://caniuse.com/#feat=transforms2d).

Fixes #178.
Maxime Quandalle 10 жил өмнө
parent
commit
0b6c229b6c

+ 8 - 2
client/components/main/popup.styl

@@ -1,5 +1,7 @@
 @import 'nib'
 
+$popupWidth = 300px
+
 .pop-over
   background: #fff
   border-radius: 3px
@@ -7,13 +9,13 @@
   border-bottom-color: #c2c2c2
   box-shadow: 0 1px 6px rgba(0, 0, 0, .3)
   position: absolute
-  width: 300px
+  width: $popupWidth
   z-index: 99999
   margin-top: 5px
 
   hr
     margin: 4px -10px
-    width: 300px
+    width: $popupWidth
 
   input[type="text"],
   input[type="email"],
@@ -118,6 +120,10 @@
     .at-result
       background: #b2dfdb
 
+  for depth in (1..6)
+    .popup-container-depth-{depth}
+      transform: translateX(- depth * $popupWidth)
+
 .select-members-list
   margin-bottom: 8px
 

+ 1 - 1
client/components/main/popup.tpl.jade

@@ -13,7 +13,7 @@
     //-
       We display the all stack of popup content next to each other and move
       the "window" by translating .content-container inside .content-wrapper.
-    .content-container(style="transform:translateX({{containerTranslation}}px)")
+    .content-container(class="popup-container-depth-{{depth}}")
       each stack
         //-
           XXX We need a better way to express the "is the last element" condition.

+ 2 - 2
client/lib/popup.js

@@ -52,6 +52,7 @@ Popup = {
         hasPopupParent: self._hasPopupParent(),
         title: self._getTitle(popupName),
         openerElement: openerElement,
+        depth: self._stack.length,
         offset: self._getOffset(openerElement),
         dataContext: this.currentData && this.currentData() || this
       });
@@ -69,8 +70,7 @@ Popup = {
         self.current = Blaze.renderWithData(self.template, function() {
           self._dep.depend();
           return _.extend(self._stack[self._stack.length - 1], {
-            stack: self._stack,
-            containerTranslation: (self._stack.length - 1) * -300
+            stack: self._stack
           });
         }, document.body);