From c15a7d4928a20864b2539af7712dd7202b226995 Mon Sep 17 00:00:00 2001
From: alvaro <alvaro@alia.(none)>
Date: Thu, 18 Oct 2012 16:27:25 -0700
Subject: [PATCH] Improved query testing and layout

---
 classes/modules/adminModule.php               |  2 ++
 .../static/admin/js/editor.js                 | 29 ++++++++++++-------
 2 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/classes/modules/adminModule.php b/classes/modules/adminModule.php
index 9092c151..c48d4543 100644
--- a/classes/modules/adminModule.php
+++ b/classes/modules/adminModule.php
@@ -571,6 +571,7 @@ class AdminModule extends abstractModule{
        <h2>Query results preview</h2>
        <span class='alert alert-error hide' id='results-msg'></span>
        <table class='table' id='results'></table>
+       <div style='height:300px'></div>
       </div>
      </div>
     </div>
@@ -837,6 +838,7 @@ class AdminModule extends abstractModule{
     if (!($data = $this->http_digest_parse($_SERVER['PHP_AUTH_DIGEST'])) ||
       !isset($users[$data['username']]))
       return FALSE;
+  
     //die('Wrong Credentials!');
     // generate the valid response
     $A1 = md5($data['username'] . ':' . $realm . ':' . $users[$data['username']]);
diff --git a/doc/examples/originalComponents/static/admin/js/editor.js b/doc/examples/originalComponents/static/admin/js/editor.js
index 08567c74..cc30040e 100644
--- a/doc/examples/originalComponents/static/admin/js/editor.js
+++ b/doc/examples/originalComponents/static/admin/js/editor.js
@@ -1,6 +1,6 @@
 $(document).ready(function(){
     var relPos = "../lodspeakr/components/";
-    
+    var currentXhr = null;    
     var templateBuffer = '';
     var queryBuffer = '';
     CodeMirror.defineMode('mustache', function(config, parserConfig) {
@@ -42,11 +42,16 @@ $(document).ready(function(){
 });
 
     $("#query-test-button").on('click', function(e){
-      var query = queryEditor.getValue();
-      var endpoint = $("#endpoint-list>option:selected").val();
       $("#results").empty();
-      $("#query-test-button").addClass('disabled').html('<img src="../img/wait.gif"/>');
-      executeQuery(query, endpoint);
+      if($(this).hasClass("btn-success")){
+        var query = queryEditor.getValue();
+        var endpoint = $("#endpoint-list>option:selected").val();
+        $("#query-test-button").removeClass('btn-success').html('<img src="../img/wait.gif"/> Stop');
+        currentXhr = executeQuery(query, endpoint);
+      }else{
+        currentXhr.abort();
+        $(this).addClass('btn-success').html('Test this query against');
+      }
     });
     $(".component-li").on({
         mouseenter: function(){
@@ -163,7 +168,7 @@ $(document).ready(function(){
  });
  
  function executeQuery(q, e){
-   $.ajax({
+   return $.ajax({
        dataType: 'jsonp',
        data: {
          query: q,
@@ -181,15 +186,19 @@ $(document).ready(function(){
          $(data.results.bindings).each(function(i, item){
              var row = $("<tr></tr>");
              $.each(variables, function(j, jtem){
-                 row.append("<td>"+item[jtem].value+"</td>");
+                 var value = "";
+                 if(item[jtem] != undefined){
+                   value = item[jtem].value;
+                 }
+                 row.append("<td>"+value+"</td>");
              });
              $("#results").append(row);
          });
-         $("#query-test-button").removeClass('disabled').html('Test this query against');
+         $("#query-test-button").addClass('btn-success').html('Test this query against');
        },
        error: function(e){
          $("#results-msg").html("An error occurred when sending a query to the endpoint").show().delay(2000).fadeOut("slow");
-         $("#query-test-button").removeClass('disabled').html('Test this query against');
+         $("#query-test-button").addClass('btn-success').html('Test this query against');
        },
        timeout: 20000,
    });
@@ -246,7 +255,7 @@ $(document).ready(function(){
            $("#query-save-button").attr("data-url", fileUrl).addClass("disabled");
            $('html, body').stop().animate({
                       scrollTop: $('.bs-docs-query').offset().top-100
-                    }, 1000);
+                    }, 100);
        }
        });
    });
-- 
GitLab