浏览代码

[assist] Silence all assist helper errors from the autocompleter

Johan Ahlen 10 年之前
父节点
当前提交
43a398f008

+ 20 - 5
desktop/core/src/desktop/static/desktop/js/assist/assistHelper.js

@@ -120,6 +120,7 @@
   /**
   /**
    * @param {Object} options
    * @param {Object} options
    * @param {Function} [options.errorCallback]
    * @param {Function} [options.errorCallback]
+   * @param {boolean} [options.silenceErrors]
    * @returns {Function}
    * @returns {Function}
    */
    */
   AssistHelper.prototype.assistErrorCallback = function (options) {
   AssistHelper.prototype.assistErrorCallback = function (options) {
@@ -133,11 +134,13 @@
         errorMessage = errorResponse;
         errorMessage = errorResponse;
       }
       }
 
 
-      if (typeof window.console !== 'undefined') {
-        console.error(errorResponse);
-        console.error(new Error().stack);
+      if (! options.silenceErrors) {
+        if (typeof window.console !== 'undefined') {
+          console.error(errorResponse);
+          console.error(new Error().stack);
+        }
+        $(document).trigger("error", errorMessage);
       }
       }
-      $(document).trigger("error", errorMessage);
 
 
       if (options.errorCallback) {
       if (options.errorCallback) {
         options.errorCallback(errorMessage);
         options.errorCallback(errorMessage);
@@ -149,6 +152,7 @@
    * @param {Object} options
    * @param {Object} options
    * @param {Function} options.successCallback
    * @param {Function} options.successCallback
    * @param {Function} [options.errorCallback]
    * @param {Function} [options.errorCallback]
+   * @param {boolean} [options.silenceErrors]
    * @param {Object} [options.editor] - Ace editor
    * @param {Object} [options.editor] - Ace editor
    *
    *
    * @param {string[]} options.pathParts
    * @param {string[]} options.pathParts
@@ -188,6 +192,7 @@
    * @param {Object} options
    * @param {Object} options
    * @param {Function} options.successCallback
    * @param {Function} options.successCallback
    * @param {Function} [options.errorCallback]
    * @param {Function} [options.errorCallback]
+   * @param {boolean} [options.silenceErrors]
    */
    */
   AssistHelper.prototype.fetchDocuments = function (options) {
   AssistHelper.prototype.fetchDocuments = function (options) {
     var self = this;
     var self = this;
@@ -238,6 +243,7 @@
    * @param {Object} options
    * @param {Object} options
    * @param {Function} options.successCallback
    * @param {Function} options.successCallback
    * @param {Function} [options.errorCallback]
    * @param {Function} [options.errorCallback]
+   * @param {boolean} [options.silenceErrors]
    **/
    **/
   AssistHelper.prototype.loadDatabases = function (options) {
   AssistHelper.prototype.loadDatabases = function (options) {
     var self = this;
     var self = this;
@@ -269,6 +275,7 @@
    * @param {Object} options
    * @param {Object} options
    * @param {Function} options.successCallback
    * @param {Function} options.successCallback
    * @param {Function} [options.errorCallback]
    * @param {Function} [options.errorCallback]
+   * @param {boolean} [options.silenceErrors]
    *
    *
    * @param {string} options.databaseName
    * @param {string} options.databaseName
    * @param {string} options.tableName
    * @param {string} options.tableName
@@ -300,6 +307,7 @@
    * @param {string} options.sourceType
    * @param {string} options.sourceType
    * @param {Function} options.successCallback
    * @param {Function} options.successCallback
    * @param {Function} [options.errorCallback]
    * @param {Function} [options.errorCallback]
+   * @param {boolean} [options.silenceErrors]
    *
    *
    * @param {string} options.databaseName
    * @param {string} options.databaseName
    * @param {string} options.tableName
    * @param {string} options.tableName
@@ -331,6 +339,7 @@
    * @param {string} options.sourceType
    * @param {string} options.sourceType
    * @param {Function} options.successCallback
    * @param {Function} options.successCallback
    * @param {Function} [options.errorCallback]
    * @param {Function} [options.errorCallback]
+   * @param {boolean} [options.silenceErrors]
    *
    *
    * @param {string} options.databaseName
    * @param {string} options.databaseName
    * @param {string} options.tableName
    * @param {string} options.tableName
@@ -360,6 +369,7 @@
    * @param {string} options.sourceType
    * @param {string} options.sourceType
    * @param {Function} options.successCallback
    * @param {Function} options.successCallback
    * @param {Function} [options.errorCallback]
    * @param {Function} [options.errorCallback]
+   * @param {boolean} [options.silenceErrors]
    *
    *
    * @param {string} options.databaseName
    * @param {string} options.databaseName
    * @param {string} options.tableName
    * @param {string} options.tableName
@@ -397,6 +407,7 @@
    * @param {string} options.sourceType
    * @param {string} options.sourceType
    * @param {Function} options.successCallback
    * @param {Function} options.successCallback
    * @param {Function} [options.errorCallback]
    * @param {Function} [options.errorCallback]
+   * @param {boolean} [options.silenceErrors]
    *
    *
    * @param {string} options.databaseName
    * @param {string} options.databaseName
    * @param {string} options.tableName
    * @param {string} options.tableName
@@ -427,6 +438,7 @@
    * @param {string} options.sourceType
    * @param {string} options.sourceType
    * @param {Function} options.successCallback
    * @param {Function} options.successCallback
    * @param {Function} [options.errorCallback]
    * @param {Function} [options.errorCallback]
+   * @param {boolean} [options.silenceErrors]
    *
    *
    * @param {Object} [options.prefixFilter]
    * @param {Object} [options.prefixFilter]
    * @param {string} options.databaseName
    * @param {string} options.databaseName
@@ -458,6 +470,7 @@
    * @param {string} options.sourceType
    * @param {string} options.sourceType
    * @param {Function} options.successCallback
    * @param {Function} options.successCallback
    * @param {Function} [options.errorCallback]
    * @param {Function} [options.errorCallback]
+   * @param {boolean} [options.silenceErrors]
    * @param {Object} [options.editor] - Ace editor
    * @param {Object} [options.editor] - Ace editor
    *
    *
    * @param {string} options.databaseName
    * @param {string} options.databaseName
@@ -475,6 +488,7 @@
    * @param {string} options.sourceType
    * @param {string} options.sourceType
    * @param {Function} options.successCallback
    * @param {Function} options.successCallback
    * @param {Function} [options.errorCallback]
    * @param {Function} [options.errorCallback]
+   * @param {boolean} [options.silenceErrors]
    * @param {Object} [options.editor] - Ace editor
    * @param {Object} [options.editor] - Ace editor
    *
    *
    * @param {string} options.databaseName
    * @param {string} options.databaseName
@@ -495,6 +509,7 @@
    * @param {string} options.sourceType
    * @param {string} options.sourceType
    * @param {Function} options.successCallback
    * @param {Function} options.successCallback
    * @param {Function} [options.errorCallback]
    * @param {Function} [options.errorCallback]
+   * @param {boolean} [options.silenceErrors]
    *
    *
    * @param {string[]} options.hierarchy
    * @param {string[]} options.hierarchy
    */
    */
@@ -511,7 +526,7 @@
    * @param {string} options.sourceType
    * @param {string} options.sourceType
    * @param {string} options.url
    * @param {string} options.url
    * @param {Function} options.successCallback
    * @param {Function} options.successCallback
-   * @param {Function} [options.errorCallback]
+   * @param {Function} options.errorCallback
    * @param {Object} [options.editor] - Ace editor
    * @param {Object} [options.editor] - Ace editor
    */
    */
   var fetchAssistData = function (options) {
   var fetchAssistData = function (options) {

+ 2 - 1
desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js

@@ -2256,7 +2256,8 @@
               $.each(data.tables_meta, function(index, tableMeta) {
               $.each(data.tables_meta, function(index, tableMeta) {
                 currentAssistTables[tableMeta.name] = true;
                 currentAssistTables[tableMeta.name] = true;
               });
               });
-            }
+            },
+            silenceErrors: true
           });
           });
         }
         }
       };
       };

+ 6 - 0
desktop/core/src/desktop/static/desktop/js/sqlAutocompleter.js

@@ -39,6 +39,7 @@
     var initDatabases = function () {
     var initDatabases = function () {
       self.snippet.getAssistHelper().loadDatabases({
       self.snippet.getAssistHelper().loadDatabases({
         sourceType: self.snippet.type(),
         sourceType: self.snippet.type(),
+        silenceErrors: true,
         successCallback: $.noop
         successCallback: $.noop
       });
       });
     };
     };
@@ -255,6 +256,7 @@
                 callback(tableAndComplexRefs);
                 callback(tableAndComplexRefs);
               }
               }
             },
             },
+            silenceErrors: true,
             errorCallback: function () {
             errorCallback: function () {
               callback(tableAndComplexRefs);
               callback(tableAndComplexRefs);
             }
             }
@@ -451,6 +453,7 @@
           }
           }
           callback(self.extractFields(data, fromKeyword, false, [], dbRefMatch !== null));
           callback(self.extractFields(data, fromKeyword, false, [], dbRefMatch !== null));
         },
         },
+        silenceErrors: true,
         errorCallback: onFailure,
         errorCallback: onFailure,
         editor: editor
         editor: editor
       });
       });
@@ -561,6 +564,7 @@
                 callback(self.extractFields(data, "", !fieldTermBefore));
                 callback(self.extractFields(data, "", !fieldTermBefore));
               }
               }
             },
             },
+            silenceErrors: true,
             errorCallback: onFailure
             errorCallback: onFailure
           });
           });
           return; // break recursion
           return; // break recursion
@@ -608,6 +612,7 @@
                     onFailure();
                     onFailure();
                   }
                   }
                 },
                 },
+                silenceErrors: true,
                 errorCallback: onFailure
                 errorCallback: onFailure
               });
               });
               return; // break recursion, it'll be async above
               return; // break recursion, it'll be async above
@@ -658,6 +663,7 @@
               fields: fields,
               fields: fields,
               editor: editor,
               editor: editor,
               successCallback: successCallback,
               successCallback: successCallback,
+              silenceErrors: true,
               errorCallback: onFailure
               errorCallback: onFailure
             });
             });
             return; // break recursion, it'll be async above
             return; // break recursion, it'll be async above