Эх сурвалжийг харах

HUE-9291 [editor] Add a default limit of 1000 records for streaming data in the result grid

Johan Ahlen 5 жил өмнө
parent
commit
470290b62f

+ 4 - 1
desktop/core/src/desktop/js/apps/notebook2/components/resultGrid/ko.resultGrid.js

@@ -180,6 +180,8 @@ const TEMPLATE = `
 </div>
 `;
 
+const STREAMING_MAX_ROWS = 1000;
+
 class ResultGrid extends DisposableComponent {
   constructor(params, element) {
     super();
@@ -581,7 +583,8 @@ class ResultGrid extends DisposableComponent {
         dataTable.fnAddData(
           initial && this.data().length ? this.data() : this.lastFetchedRows(),
           undefined,
-          this.streaming
+          this.streaming,
+          STREAMING_MAX_ROWS
         );
       } catch (e) {}
       const $dataTablesWrapper = $snippet.find('.dataTables_wrapper');

+ 8 - 5
desktop/core/src/desktop/js/jquery/plugins/jquery.huedatatable.js

@@ -640,15 +640,18 @@ $.fn.hueDataTable = function(oInit) {
     }
   };
 
-  self.fnAddData = function(mData, bRedraw, reverse) {
+  self.fnAddData = function(mData, bRedraw, streaming, streamRecordLimit) {
     const $t = self.$table;
 
     if ($t) {
       const aoColumns = $t.data('aoColumns') || [];
-      $t.data(
-        'data',
-        reverse ? mData.reverse().concat($t.data('data')) : $t.data('data').concat(mData)
-      );
+      const newData = streaming
+        ? mData.reverse().concat($t.data('data'))
+        : $t.data('data').concat(mData);
+      if (streaming && streamRecordLimit) {
+        newData.splice(streamRecordLimit);
+      }
+      $t.data('data', newData);
 
       if (mData.length === 0) {
         return;