Browse Source

HUE-3713 [editor] Open parent saved query without reloading the page

Romain Rigaux 9 years ago
parent
commit
36cc7b601e

+ 12 - 0
desktop/core/src/desktop/api2.py

@@ -188,6 +188,18 @@ def get_document(request):
   return JsonResponse(response)
   return JsonResponse(response)
 
 
 
 
+@api_error_handler
+def open_document(request):
+  doc_id = request.GET.get('id')
+
+  if doc_id.isdigit():
+    document = Document2.objects.document(user=request.user, doc_id=doc_id)
+  else:
+    document = Document2.objects.get_by_uuid(user=request.user, uuid=doc_id)
+
+  return redirect(document.get_absolute_url())
+
+
 @api_error_handler
 @api_error_handler
 @require_POST
 @require_POST
 def move_document(request):
 def move_document(request):

+ 1 - 0
desktop/core/src/desktop/urls.py

@@ -110,6 +110,7 @@ dynamic_patterns += patterns('desktop.api',
 )
 )
 
 
 dynamic_patterns += patterns('desktop.api2',
 dynamic_patterns += patterns('desktop.api2',
+  (r'^desktop/api2/doc/open?$', 'open_document'),  # To keep before get_document
   (r'^desktop/api2/docs/?$', 'search_documents'),  # search documents for current user
   (r'^desktop/api2/docs/?$', 'search_documents'),  # search documents for current user
   (r'^desktop/api2/doc/?$', 'get_document'),  # get doc/dir by path or UUID
   (r'^desktop/api2/doc/?$', 'get_document'),  # get doc/dir by path or UUID
 
 

+ 7 - 2
desktop/libs/notebook/src/notebook/templates/editor_components.mako

@@ -310,10 +310,15 @@ ${ hueIcons.symbols() }
           </li>
           </li>
           <!-- ko with: selectedNotebook -->
           <!-- ko with: selectedNotebook -->
           <li data-bind="visible: isHistory" style="display: none">
           <li data-bind="visible: isHistory" style="display: none">
-            <a title="${ _('Query history query') }"><i class="fa fa-fw fa-history"></i></a>
+            <!-- ko if: parentUuid -->
+              <a title="${ _('Open saved query') }" data-bind="click: function() { $root.openNotebook(parentUuid()) }" style="cursor: pointer"><i class="fa fa-fw fa-history"></i></a>
+            <!-- /ko -->
+            <!-- ko ifnot: parentUuid -->
+              <a title="${ _('Query history') }"><i class="fa fa-fw fa-history"></i></a>
+            <!-- /ko -->
           </li>
           </li>
           <li data-bind="visible: directoryUuid" style="display: none">
           <li data-bind="visible: directoryUuid" style="display: none">
-            <a title="${ _('Open home directory') }" data-bind="attr: { 'href': '/home?uuid=' + directoryUuid() }"><i class="fa fa-fw fa-folder-o"></i></a>
+            <a title="${ _('Open home directory') }" data-bind="attr: { 'href': '/home?uuid=' + directoryUuid() }" style="cursor: pointer"><i class="fa fa-fw fa-folder-o"></i></a>
           </li>
           </li>
           <li class="query-name">
           <li class="query-name">
             <a href="javascript:void(0)">
             <a href="javascript:void(0)">