Преглед на файлове

ux(panel resize): snap to even 12ths spans

Torkel Ödegaard преди 9 години
родител
ревизия
4db723ea81
променени са 1 файла, в които са добавени 12 реда и са изтрити 3 реда
  1. 12 3
      public/app/features/panel/panel_directive.ts

+ 12 - 3
public/app/features/panel/panel_directive.ts

@@ -159,19 +159,28 @@ module.directive('panelResizer', function($rootScope) {
         }
 
         scope.$apply(function() {
-          ctrl.render();
+         // ctrl.render();
         });
       }
 
       function dragEndHandler() {
+        ctrl.panel.span = Math.round(ctrl.panel.span);
+        if (lastPanel) {
+          lastPanel.span = Math.round(lastPanel.span);
+        }
+
         // if close to 12
         var rowSpan = ctrl.dashboard.rowSpan(ctrl.row);
         if (rowSpan < 12 && rowSpan > 11) {
           lastPanel.span +=  12 - rowSpan;
         }
 
-        scope.$apply(function() {
-          $rootScope.$broadcast('render');
+        // first digest to propagate panel width change
+        // then render
+        $rootScope.$apply(function() {
+          setTimeout(function() {
+            $rootScope.$broadcast('render');
+          });
         });
 
         $('body').off('mousemove', moveHandler);