Explorar o código

HUE-8102 [dashboard] Empty widgets should have a dropzone on top too

Enrico Berti %!s(int64=7) %!d(string=hai) anos
pai
achega
0a88c77244

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
desktop/core/src/desktop/static/desktop/css/hue-embedded.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
desktop/core/src/desktop/static/desktop/css/hue.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
desktop/core/src/desktop/static/desktop/css/hue3-extra.css


+ 3 - 1
desktop/core/src/desktop/static/desktop/less/components/hue-gridster.less

@@ -93,7 +93,9 @@
   }
 
   .empty-gridster-widget {
-    height: 215px;
+    .empty-content {
+      height: 200px;
+    }
   }
 
   .gridster-helper {

+ 2 - 1
desktop/core/src/desktop/templates/common_dashboard.mako

@@ -209,13 +209,14 @@
 <script id="widget-template-gridster${ suffix }" type="text/html">
   <li>
     <!-- ko ifnot: widget -->
-    <div class="empty-gridster-widget card card-widget" data-bind="draggable: { data: $data, isEnabled: $root.isGridster() && !$root.isQueryBuilder(), options: getDraggableOptions({ data: $data, parent: $data }) }, droppable: { data: function(w) { showAddFacetDemiModal(w, $data); }, options: { greedy:true, hoverClass: 'droppable-hover' }}, css: { 'query-builder': $root.isQueryBuilder }">
+    <div class="empty-gridster-widget card card-widget" data-bind="draggable: { data: $data, isEnabled: $root.isGridster() && !$root.isQueryBuilder(), options: getDraggableOptions({ data: $data, parent: $data }) }">
       <h2 class="card-heading simple" title="${ _('Drag to move') }">
         ${ _('Empty widget') }
         <div class="inline pull-right margin-right-10" data-bind="visible: ($root.isEditing() || $root.isToolbarVisible()) && !$root.isQueryBuilder()">
           <a href="javascript:void(0)" class="remove-widget" data-bind="publish: { 'gridster.remove': $data }"><i class="fa fa-times"></i></a>
         </div>
       </h2>
+      <div class="empty-content" data-bind="droppable: { data: function(w) { showAddFacetDemiModal(w, $data); }, options: { greedy:true, hoverClass: 'droppable-hover' }}, css: { 'query-builder': $root.isQueryBuilder }"></div>
     </div>
     <!-- /ko -->
   <!-- ko with: widget -->

+ 22 - 7
desktop/libs/dashboard/src/dashboard/templates/common_search.mako

@@ -3902,7 +3902,7 @@ $(document).ready(function () {
         isOverSelf = tempDraggableGridsterWidget !== null && tempDraggableGridsterWidget.widgetId() === dimensions.widgetId;
         if (coords.col >= dimensions.col && coords.row >= dimensions.row && coords.col < dimensions.col + dimensions.sizex && coords.row < dimensions.row + dimensions.sizey) {
           overlaps = true;
-          if (!isEmptyWidget && !isOverSelf) {
+          if (!isOverSelf) {
             var sidesWidth = Math.floor(dimensions.sizex / 3);
             var centerWidth = dimensions.sizex - sidesWidth * 2;
             var sidesHeight = Math.floor(dimensions.sizey / 3);
@@ -3935,6 +3935,15 @@ $(document).ready(function () {
 
             overlapZone = overlapZoneTopDown + overlapZoneSideToSide;
 
+            if (isEmptyWidget) {
+              if (coords.row < dimensions.row + 1) {
+                overlapZone = 'N';
+              }
+              else {
+                overlapZone = '';
+              }
+            }
+
             if (['NW', 'W', 'SW'].indexOf(overlapZone) > -1) {
               if (!$widget.attr('data-original-col')) {
                 $widget.attr('data-original-col', $widget.attr('data-col'));
@@ -3965,7 +3974,7 @@ $(document).ready(function () {
               $huePreviewHolder.attr('data-sizex', dimensions.sizex);
               $huePreviewHolder.attr('data-sizey', 1);
             }
-            else {
+            else if (['NE', 'E', 'SE'].indexOf(overlapZone) > -1) {
               if (!$widget.attr('data-original-sizex')) {
                 $widget.attr('data-original-sizex', $widget.attr('data-sizex'));
                 $widget.attr('data-sizex', dimensions.sizex - 1);
@@ -3975,11 +3984,17 @@ $(document).ready(function () {
               $huePreviewHolder.attr('data-sizex', 1);
               $huePreviewHolder.attr('data-sizey', dimensions.sizey);
             }
-            $huePreviewHolder.attr('data-overlapzone', overlapZone);
-            $huePreviewHolder.attr('data-widgetid', $widget.attr('data-widgetid'));
-            $huePreviewHolder.attr('data-widgetrow', $widget.attr('data-previous-row'));
-            $huePreviewHolder.attr('data-widgetcol', $widget.attr('data-previous-col'));
-            skipRestoreOnStop = false;
+            if (overlapZone !== '') {
+              $huePreviewHolder.attr('data-overlapzone', overlapZone);
+              $huePreviewHolder.attr('data-widgetid', $widget.attr('data-widgetid'));
+              $huePreviewHolder.attr('data-widgetrow', $widget.attr('data-previous-row'));
+              $huePreviewHolder.attr('data-widgetcol', $widget.attr('data-previous-col'));
+              skipRestoreOnStop = false;
+            }
+            else {
+              skipRestoreOnStop = true;
+              restoreWidgetSizes();
+            }
           }
           else {
             skipRestoreOnStop = true;

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio