Jelajahi Sumber

[spark] Editors autoexpand to maximum 20 lines

Enrico Berti 11 tahun lalu
induk
melakukan
a64e320
2 mengubah file dengan 15 tambahan dan 2 penghapusan
  1. 14 2
      apps/spark/src/spark/templates/editor.mako
  2. 1 0
      apps/spark/static/css/spark.css

+ 14 - 2
apps/spark/src/spark/templates/editor.mako

@@ -270,7 +270,7 @@ ${ commonheader(_('Query'), app_name, user, "68px") | n,unicode }
                 <input type="text" data-bind="value: value" />
                 <input type="text" data-bind="value: value" />
               </div>
               </div>
             </div>
             </div>
-            <textarea data-bind="value: statement_raw, codemirror: { 'id': id(), 'lineNumbers': true, 'matchBrackets': true, 'mode': editorMode(), 'enter': execute }"></textarea>
+            <textarea data-bind="value: statement_raw, codemirror: { 'id': id(), 'viewportMargin': Infinity, 'lineNumbers': true, 'matchBrackets': true, 'mode': editorMode(), 'enter': execute }"></textarea>
             <a href="javascript:void(0)" data-bind="click: execute, visible: status() != 'running'" class="btn codeMirror-overlaybtn">${ _('Go!') }</a>
             <a href="javascript:void(0)" data-bind="click: execute, visible: status() != 'running'" class="btn codeMirror-overlaybtn">${ _('Go!') }</a>
             <a href="javascript:void(0)" data-bind="click: cancel, visible: status() == 'running'" class="btn codeMirror-overlaybtn">${ _('Cancel') }</a>
             <a href="javascript:void(0)" data-bind="click: cancel, visible: status() == 'running'" class="btn codeMirror-overlaybtn">${ _('Cancel') }</a>
             <div class="progress" data-bind="css:{'progress-neutral': progress() == 0, 'progress-warning': progress() > 0 && progress() < 100, 'progress-success': progress() == 100}" style="height: 1px">
             <div class="progress" data-bind="css:{'progress-neutral': progress() == 0, 'progress-warning': progress() > 0 && progress() < 100, 'progress-success': progress() == 100}" style="height: 1px">
@@ -484,7 +484,7 @@ ${ commonheader(_('Query'), app_name, user, "68px") | n,unicode }
 
 
 
 
   ko.bindingHandlers.codemirror = {
   ko.bindingHandlers.codemirror = {
-    init: function (element, valueAccessor, allBindingsAccessor, vm) {
+    init: function (element, valueAccessor, allBindingsAccessor, snippet) {
 
 
       $(document).on("error.autocomplete", function () {
       $(document).on("error.autocomplete", function () {
         $(".CodeMirror-spinner").remove();
         $(".CodeMirror-spinner").remove();
@@ -800,6 +800,18 @@ ${ commonheader(_('Query'), app_name, user, "68px") | n,unicode }
       var wrapperElement = $(editor.getWrapperElement());
       var wrapperElement = $(editor.getWrapperElement());
 
 
       editor.on("change", function () {
       editor.on("change", function () {
+        if (editor.lineCount() > 7 && editor.lineCount() < 21) {
+          editor.setSize("100%", "auto");
+        }
+        if (editor.lineCount() >= 21) {
+          editor.setSize("100%", "270px");
+        }
+
+        $("#snippet_" + snippet.id()).find(".resultTable").jHueTableExtender({
+          fixedHeader: true,
+          includeNavigator: false
+        });
+
         allBindingsAccessor().value(editor.getValue());
         allBindingsAccessor().value(editor.getValue());
       });
       });
 
 

+ 1 - 0
apps/spark/static/css/spark.css

@@ -34,6 +34,7 @@
   border: 1px solid #DDD;
   border: 1px solid #DDD;
   border-top: none;
   border-top: none;
   border-bottom: none;
   border-bottom: none;
+  height: auto;
 }
 }
 
 
 .codeMirror-overlaybtn {
 .codeMirror-overlaybtn {