Explorar o código

HUE-8156 [search] Properly fill up data sample popup section with Solr

Romain Rigaux %!s(int64=7) %!d(string=hai) anos
pai
achega
75062dc
Modificáronse 1 ficheiros con 24 adicións e 18 borrados
  1. 24 18
      desktop/core/src/desktop/static/desktop/js/apiHelper.js

+ 24 - 18
desktop/core/src/desktop/static/desktop/js/apiHelper.js

@@ -1590,24 +1590,30 @@ var ApiHelper = (function () {
       notebookJson = JSON.stringify({ type: options.sourceType });
       snippetJson = JSON.stringify(queryResult);
 
-      cancellablePromises.push(
-        self.whenAvailable({ notebookJson: notebookJson, snippetJson: snippetJson, silenceErrors: options.silenceErrors }).done(function () {
-          var resultRequest = self.simplePost('/notebook/api/fetch_result_data', {
-            notebook: notebookJson,
-            snippet: snippetJson,
-            rows: options.sampleCount || 100,
-            startOver: 'false'
-          }, {
-            silenceErrors:  options.silenceErrors
-          }).done(function (sampleResponse) {
-            var data = (sampleResponse && sampleResponse.result) || { data: [], meta: [] };
-            data.hueTimestamp = Date.now();
-            deferred.resolve(data);
-          }).fail(deferred.reject);
-
-          cancellablePromises.push(resultRequest, resultRequest);
-        }).fail(deferred.reject)
-      );
+      if (sampleResponse && sampleResponse.rows) { // Sync results
+        var data = { data: sampleResponse.rows, meta: sampleResponse.full_headers};
+        data.hueTimestamp = Date.now();
+        deferred.resolve(data);
+      } else {
+        cancellablePromises.push(
+          self.whenAvailable({ notebookJson: notebookJson, snippetJson: snippetJson, silenceErrors: options.silenceErrors }).done(function () {
+            var resultRequest = self.simplePost('/notebook/api/fetch_result_data', {
+              notebook: notebookJson,
+              snippet: snippetJson,
+              rows: options.sampleCount || 100,
+              startOver: 'false'
+            }, {
+              silenceErrors: options.silenceErrors
+            }).done(function (sampleResponse) {
+              var data = (sampleResponse && sampleResponse.result) || { data: [], meta: [] };
+              data.hueTimestamp = Date.now();
+              deferred.resolve(data);
+            }).fail(deferred.reject);
+
+            cancellablePromises.push(resultRequest, resultRequest);
+          }).fail(deferred.reject)
+        );
+      }
     }).fail(deferred.reject);
 
     cancellablePromises.push({