浏览代码

HUE-8084 [dashboard] Enable the new drag system for the empty widgets too

Enrico Berti 7 年之前
父节点
当前提交
f802a7238b

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

@@ -209,7 +209,7 @@
 <script id="widget-template-gridster${ suffix }" type="text/html">
   <li>
     <!-- ko ifnot: widget -->
-    <div class="empty-gridster-widget card card-widget" data-bind="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 }) }, droppable: { data: function(w) { showAddFacetDemiModal(w, $data); }, options: { greedy:true, hoverClass: 'droppable-hover' }}, css: { 'query-builder': $root.isQueryBuilder }">
       <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()">

+ 2 - 2
desktop/libs/dashboard/src/dashboard/templates/common_search.mako

@@ -3149,7 +3149,7 @@ var getDraggableOptions = function (options) {
         huePubSub.publish('dashboard.widget.drag.start', {event: event, widget: options.data, gridsterWidget: options.parent});
       },
       'drag': function (event) {
-        huePubSub.publish('dashboard.widget.drag', {event: event, widgetHeight: options.data.gridsterHeight(), gridsterWidget: options.parent});
+        huePubSub.publish('dashboard.widget.drag', {event: event, widgetHeight: options.data.gridsterHeight ? options.data.gridsterHeight() : 6, gridsterWidget: options.parent});
       },
       'stop': function (event, ui) {
         huePubSub.publish('dashboard.widget.drag.stop', {event: event, widget: options.data, gridsterWidget: options.parent});
@@ -3157,7 +3157,7 @@ var getDraggableOptions = function (options) {
     };
     if (options.parent) { // extra options for an existing Gridster widget
       setup.appendTo = '.gridster';
-      setup.helper = function(){return '<div class="gridster-helper">' + (options.data.name() || '${ _ko('Empty widget')}') + '</div>'};
+      setup.helper = function(){return '<div class="gridster-helper">' + (options.data.name ? options.data.name() : '${ _ko('Empty widget')}') + '</div>'};
       setup.cursorAt = {
         top: 5,
         left: 5