Procházet zdrojové kódy

HUE-7135 [presentation] Add SQL comment as snippet title or text widgets

Romain Rigaux před 8 roky
rodič
revize
b7cf645

+ 10 - 1
desktop/libs/notebook/src/notebook/static/notebook/js/notebook.ko.js

@@ -2677,7 +2677,16 @@ var EditorViewModel = (function() {
           if (sql_statement.hashCode() in self.postEditorTogglingSnippets) {
             _snippet = self.postEditorTogglingSnippets[sql_statement.hashCode()]; // Persist result
           } else {
-            _snippet = new Snippet(self, _notebook, {type: options.editor_type, statement_raw: sql_statement, result: {}}, skipSession=true);
+        	var _title = [];
+        	var _statement = [];
+        	sql_statement.trim().split('\n').forEach(function(line) {
+        		if (line.trim().startsWith('--') && _statement.length == 0) {
+                  _title.push(line.substr(2));
+        		} else {
+        		  _statement.push(line);
+        		}
+        	});
+            _snippet = new Snippet(self, _notebook, {type: options.editor_type, statement_raw: _statement.join('\n'), result: {}, name: _title.join('\n')}, skipSession=true);
             _snippet.init();
             self.postEditorTogglingSnippets[sql_statement.hashCode()] = _snippet;
           }

+ 12 - 9
desktop/libs/notebook/src/notebook/templates/editor_components.mako

@@ -1142,27 +1142,30 @@ ${ sqlSyntaxDropdown.sqlSyntaxDropdown() }
 
 <script type="text/html" id="notebook-actions">
   <div class="btn-group">
-    <a class="btn dropdown-toggle" data-toggle="dropdown">
-      <i class="fa fa-bars"></i>
+    <a class="btn" rel="tooltip" data-placement="bottom" title="${ _("Execute all") }" data-bind="click: function() { $root.selectedNotebook().executeAll() }">
+      <i class="fa fa-fw fa-play"></i>
     </a>
-    <ul class="dropdown-menu pull-right">
-      <li>
-        <a class="pointer" data-bind="click: function() { $root.selectedNotebook().executeAll() }">
-          <i class="fa fa-fw fa-play"></i> ${ _('Execute all') }
-        </a>
-      </li>
+
+    <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
+      <span class="caret"></span>
+    </a>
+    <ul class="dropdown-menu">
       <li>
         <a class="pointer" data-bind="click: function() { $root.selectedNotebook().clearResults() }">
           <i class="fa fa-fw fa-eraser"></i> ${ _('Clear results') }
         </a>
       </li>
       <li>
-        <a href="javascript:void(0)" data-bind="click: displayCombinedContent">
+        <a href="javascript:void(0)" data-bind="click: displayCombinedContent, visible: ! $root.isPresentationMode() ">
           <i class="fa fa-fw fa-file-text-o"></i> ${ _('Show all content') }
         </a>
       </li>
     </ul>
   </div>
+
+  <a class="btn pointer" title="${ _('Hide code') }" rel="tooltip" data-placement="bottom">
+    <i class="fa fa-expand"></i>
+  </a>  
 </script>