Browse Source

[impala] New dashboard button

Romain Rigaux 11 years ago
parent
commit
7ad06c3

+ 4 - 5
apps/impala/src/impala/templates/dashboard.mako

@@ -89,6 +89,8 @@ ${ commonheader(None, "impala", user) | n,unicode }
   <div class="pull-right" style="padding-right:50px">
     % if user.is_superuser:
       <button type="button" title="${ _('Edit') }" rel="tooltip" data-placement="bottom" data-bind="click: toggleEditing, css: {'btn': true, 'btn-inverse': isEditing}"><i class="fa fa-pencil"></i></button>
+      &nbsp;&nbsp;&nbsp;
+      <a class="btn" href="${ url('impala:new_search') }" title="${ _('New') }" rel="tooltip" data-placement="bottom" data-bind="css: {'btn': true}"><i class="fa fa-file-o"></i></a>      
     % endif
   </div>
 
@@ -203,11 +205,8 @@ ${ dashboard.layout_skeleton() }
     </span>
   </div>
   <!-- /ko -->
-  <!-- ko ifnot: $root.getFacetFromResult(id()) -->
-    <a href="javascript:void(0)" data-bind="click: $root.dashboard.addFacet">
-      <i class="fa fa-plus"></i>
-    </a>
-  <!-- /ko -->  
+
+  <span data-bind="template: { name: 'select-field' }"></span> 
 </script>
 
 

+ 1 - 0
apps/impala/src/impala/urls.py

@@ -25,6 +25,7 @@ urlpatterns = patterns('impala.views',
   url(r'^dashboard/query', 'query', name='query'),
   
   url(r'^dashboard/new_facet$', 'new_facet', name='new_facet'),
+  url(r'^dashboard/new_search$', 'new_search', name='new_search'),
 )
 
 urlpatterns += beeswax_urls

+ 18 - 0
apps/impala/src/impala/views.py

@@ -111,6 +111,24 @@ def new_facet(request):
   return HttpResponse(json.dumps(result), mimetype="application/json")
 
 
+def new_search(request):
+
+  return render('dashboard.mako', request, {
+    'query_json': json.dumps({}),
+    'dashboard_json': json.dumps({'layout': [
+              {"size":2,"rows":[],"drops":["temp"],"klass":"card card-home card-column span2"},
+              {"size":10,"rows":[{"widgets":[
+                  {"size":12,"name":"Grid Results","id":"52f07188-f30f-1296-2450-f77e02e1a5c0","widgetType":"resultset-widget",
+                   "properties":{},"offset":0,"isLoading":True,"klass":"card card-widget span12"}]}],
+              "drops":["temp"],"klass":"card card-home card-column span10"}
+         ],
+        'facets': [],
+        'properties': [{'database': 'default', 'table': 'sample_07'}]
+        }), 
+  })
+
+
+
 def _create_facet(collection, user, facet_id, facet_label, facet_field, widget_type):
   properties = {
     'sort': 'desc',

+ 1 - 1
apps/impala/static/js/impala-dashboard.ko.js

@@ -194,7 +194,7 @@ var ImpalaDashboardViewModel = function (query_json, dashboard_json) {
           ].concat(multiQs)
       )
       .done(function() {
-          if (arguments.length > 1) { // If multi queries
+          if (multiQs.length > 0) {
             for (var i = 1; i < arguments.length; i++) {
               var facet = arguments[i][0];
               removeFrom(self.results_facet, facet.id);