Browse Source

HUE-8218 [dashboard] Creating a dedicated HTML or Analytical layout

Romain Rigaux 7 years ago
parent
commit
afd2c2e1cb

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

@@ -70,7 +70,7 @@
         <div class="layout-box" style="width: 100px; margin-left: 4px"><i class="fa fa-superscript"></i></div>
       </div>
     </a>
-    <a href="javascript: queryBuilderSearchLayout(searchViewModel, true)" title="${ _('Search: retrieve and display records of data') }" onmouseover="searchViewModel.previewColumns('search')" onmouseout="searchViewModel.previewColumns('')">
+    <a href="javascript: textSearchLayout(searchViewModel, true)" title="${ _('Search: retrieve and display records of data') }" onmouseover="searchViewModel.previewColumns('search')" onmouseout="searchViewModel.previewColumns('')">
       <div class="layout-container">
         <div class="layout-box" style="width: 100px; margin-left: 4px"><i class="fa fa-search"></i></div>
       </div>
@@ -124,7 +124,7 @@
   <!-- /ko -->
 
 
-  <div data-bind="visible: isEditing() && previewColumns() != '' && columns().length == 0, css:{'with-top-margin': isEditing()}">
+  <div data-bind="visible: isEditing() && previewColumns() != '' && columns().length == 0, css: {'with-top-margin': isEditing()}">
     <div class="container-fluid">
 
       <div class="row-fluid" data-bind="visible: previewColumns() == 'full'">

+ 7 - 0
desktop/libs/dashboard/src/dashboard/static/dashboard/js/search.ko.js

@@ -27,6 +27,12 @@ function queryBuilderSearchLayout(vm, isQueryBuilder) {
   huePubSub.publish('dashboard.set.layout');
 }
 
+function textSearchLayout(vm, isQueryBuilder) {
+  vm.isQueryBuilder(!!isQueryBuilder);
+  loadSearchLayout(vm, vm.initial.textSearchLayout);
+  $(document).trigger("magicSearchLayout");
+  huePubSub.publish('dashboard.set.layout');
+}
 
 function loadSearchLayout(viewModel, json_layout) {
   var _columns = [];
@@ -1752,6 +1758,7 @@ var NewTemplate = function (vm, initial) {
   self.engines = ko.mapping.fromJS(initial.engines);
   self.layout = initial.layout;
   self.qbLayout = initial.qb_layout;
+  self.textSearchLayout = initial.text_search_layout;
   self.inited = ko.observable(self.collections().length > 0); // No collection if not a new dashboard
 
   self.init = function() {

+ 15 - 0
desktop/libs/dashboard/src/dashboard/views.py

@@ -66,6 +66,17 @@ QUERY_BUILDER_LAYOUT = [
   }
 ]
 
+TEXT_SEARCH_LAYOUT = [
+     {"size":2,"rows":[{"widgets":[]}],"drops":["temp"],"klass":"card card-home card-column span2"},
+     {"size":10,"rows":[{"widgets":[
+         {"size":12,"name":"Filter Bar","widgetType":"filter-widget", "id":"99923aef-b233-9420-96c6-15d48293532b",
+          "properties":{},"offset":0,"isLoading":True,"klass":"card card-widget span12"}]},
+                        {"widgets":[
+         {"size":12,"name":"Grid Results","widgetType":"html-resultset-widget", "id":"14023aef-b233-9420-96c6-15d48293532b",
+          "properties":{},"offset":0,"isLoading":True,"klass":"card card-widget span12"}]}],
+        "drops":["temp"],"klass":"card card-home card-column span10"},
+]
+
 
 def index(request, is_mobile=False):
   hue_collections = DashboardController(request.user).get_search_collections()
@@ -103,6 +114,7 @@ def index(request, is_mobile=False):
         'collections': [],
         'layout': DEFAULT_LAYOUT,
         'qb_layout': QUERY_BUILDER_LAYOUT,
+        'text_search_layout': TEXT_SEARCH_LAYOUT,
         'is_latest': _get_latest(),
         'engines': get_engines(request.user)
     }),
@@ -135,6 +147,7 @@ def new_search(request):
           'collections': collections,
           'layout': DEFAULT_LAYOUT,
           'qb_layout': QUERY_BUILDER_LAYOUT,
+          'text_search_layout': TEXT_SEARCH_LAYOUT,
           'is_latest': _get_latest(),
           'engines': get_engines(request.user)
        }
@@ -147,6 +160,7 @@ def new_search(request):
           'collections': collections,
           'layout': DEFAULT_LAYOUT,
           'qb_layout': QUERY_BUILDER_LAYOUT,
+          'text_search_layout': TEXT_SEARCH_LAYOUT,
           'is_latest': _get_latest(),
           'engines': get_engines(request.user)
        }),
@@ -186,6 +200,7 @@ def browse(request, name, is_mobile=False):
           "drops":["temp"],"klass":"card card-home card-column span10"}
       ],
       'qb_layout': QUERY_BUILDER_LAYOUT,
+      'text_search_layout': TEXT_SEARCH_LAYOUT,
       'is_latest': _get_latest(),
       'engines': get_engines(request.user)
     }),