소스 검색

HUE-5676 [editor] Improve filtered prefixed suggestion weights

Johan Ahlen 8 년 전
부모
커밋
c04dc70492
1개의 변경된 파일26개의 추가작업 그리고 3개의 파일을 삭제
  1. 26 3
      desktop/core/src/desktop/static/desktop/js/sqlAutocompleter3.js

+ 26 - 3
desktop/core/src/desktop/static/desktop/js/sqlAutocompleter3.js

@@ -140,7 +140,7 @@ var SqlAutocompleter3 = (function () {
           if (foundIndex === -1) {
             return false;
           }
-          if (foundIndex === 0) {
+          if (foundIndex === 0 || (suggestion.filterValue && suggestion.filterValue.toLowerCase().indexOf(lowerCaseFilter) === 0)) {
             suggestion.filterWeight = 2;
           } else if (foundIndex > 0) {
             suggestion.filterWeight = 1;
@@ -426,6 +426,7 @@ var SqlAutocompleter3 = (function () {
         }
         commonTableExpressionSuggestions.push({
           value: prefix + expression.name,
+          filterValue: expression.name,
           meta: AutocompleterGlobals.i18n.meta.commonTableExpression,
           category: CATEGORIES.CTE,
           details: null
@@ -493,6 +494,7 @@ var SqlAutocompleter3 = (function () {
         dbs.forEach(function (db) {
           databaseSuggestions.push({
             value: prefix + self.backTickIfNeeded(db) + (suggestDatabases.appendDot ? '.' : ''),
+            filterValue: db,
             meta: AutocompleterGlobals.i18n.meta.database,
             category: CATEGORIES.DATABASE,
             details: null
@@ -531,6 +533,7 @@ var SqlAutocompleter3 = (function () {
               details.database = database;
               tableSuggestions.push({
                 value: prefix + self.backTickIfNeeded(tableMeta.name),
+                filterValue: tableMeta.name,
                 tableName: tableMeta.name,
                 meta: AutocompleterGlobals.i18n.meta[tableMeta.type.toLowerCase()],
                 category: CATEGORIES.TABLE,
@@ -642,6 +645,7 @@ var SqlAutocompleter3 = (function () {
             if (column.alias) {
               columnSuggestions.push({
                 value: self.backTickIfNeeded(column.alias),
+                filterValue: column.alias,
                 meta: type,
                 category: CATEGORIES.COLUMN,
                 table: table,
@@ -650,6 +654,7 @@ var SqlAutocompleter3 = (function () {
             } else if (column.identifierChain && column.identifierChain.length > 0) {
               columnSuggestions.push({
                 value: self.backTickIfNeeded(column.identifierChain[column.identifierChain.length - 1].name),
+                filterValue: column.identifierChain[column.identifierChain.length - 1].name,
                 meta: type,
                 category: CATEGORIES.COLUMN,
                 table: table,
@@ -678,6 +683,7 @@ var SqlAutocompleter3 = (function () {
             if (column.type.indexOf('map') === 0 && self.snippet.type() === 'hive') {
               columnSuggestions.push({
                 value: self.backTickIfNeeded(column.name) + '[]',
+                filterValue: column.name,
                 meta: 'map',
                 category: CATEGORIES.COLUMN,
                 table: table,
@@ -686,6 +692,7 @@ var SqlAutocompleter3 = (function () {
             } else if (column.type.indexOf('map') === 0) {
               columnSuggestions.push({
                 value: self.backTickIfNeeded(column.name),
+                filterValue: column.name,
                 meta: 'map',
                 category: CATEGORIES.COLUMN,
                 table: table,
@@ -694,6 +701,7 @@ var SqlAutocompleter3 = (function () {
             } else if (column.type.indexOf('struct') === 0) {
               columnSuggestions.push({
                 value: self.backTickIfNeeded(column.name),
+                filterValue: column.name,
                 meta: 'struct',
                 category: CATEGORIES.COLUMN,
                 table: table,
@@ -702,6 +710,8 @@ var SqlAutocompleter3 = (function () {
             } else if (column.type.indexOf('array') === 0 && self.snippet.type() === 'hive') {
               columnSuggestions.push({
                 value: self.backTickIfNeeded(column.name) + '[]',
+                filterValue: column.name,
+                filterValue: column.name,
                 meta: 'array',
                 category: CATEGORIES.COLUMN,
                 table: table,
@@ -710,6 +720,7 @@ var SqlAutocompleter3 = (function () {
             } else if (column.type.indexOf('array') === 0) {
               columnSuggestions.push({
                 value: self.backTickIfNeeded(column.name),
+                filterValue: column.name,
                 meta: 'array',
                 category: CATEGORIES.COLUMN,
                 table: table,
@@ -718,6 +729,7 @@ var SqlAutocompleter3 = (function () {
             } else if (types[0].toUpperCase() !== 'T' && types.filter(function (type) { return type.toUpperCase() === column.type.toUpperCase() }).length > 0) {
               columnSuggestions.push({
                 value: self.backTickIfNeeded(column.name),
+                filterValue: column.name,
                 meta: column.type,
                 category: CATEGORIES.COLUMN,
                 weightAdjust: 1,
@@ -728,6 +740,7 @@ var SqlAutocompleter3 = (function () {
                 SqlFunctions.matchesType(self.snippet.type(), [column.type.toUpperCase()], types)) {
               columnSuggestions.push({
                 value: self.backTickIfNeeded(column.name),
+                filterValue: column.name,
                 meta: column.type,
                 category: CATEGORIES.COLUMN,
                 table: table,
@@ -742,6 +755,7 @@ var SqlAutocompleter3 = (function () {
             column.identifierChain = data.identifierChain;
             columnSuggestions.push({
               value: self.backTickIfNeeded(column),
+              filterValue: column,
               meta: 'column',
               category: CATEGORIES.COLUMN,
               table: table,
@@ -773,6 +787,7 @@ var SqlAutocompleter3 = (function () {
 
             columnSuggestions.push({
               value: self.backTickIfNeeded(field.name),
+              filterValue: field.name,
               meta: field.type,
               category: CATEGORIES.COLUMN,
               table: table,
@@ -789,6 +804,7 @@ var SqlAutocompleter3 = (function () {
                 SqlFunctions.matchesType(self.snippet.type(), [field.type.toUpperCase()], types)) {
               columnSuggestions.push({
                 value: self.backTickIfNeeded(field.name),
+                filterValue: field.name,
                 meta: field.type,
                 category: CATEGORIES.COLUMN,
                 table: table,
@@ -807,6 +823,7 @@ var SqlAutocompleter3 = (function () {
                 if (self.snippet.type() === 'hive') {
                   columnSuggestions.push({
                     value: self.backTickIfNeeded(field.name) + '[]',
+                    filterValue: field.name,
                     meta: field.type,
                     category: CATEGORIES.COLUMN,
                     table: table,
@@ -815,6 +832,7 @@ var SqlAutocompleter3 = (function () {
                 } else {
                   columnSuggestions.push({
                     value: self.backTickIfNeeded(field.name),
+                    filterValue: field.name,
                     meta: field.type,
                     category: CATEGORIES.COLUMN,
                     table: table,
@@ -825,6 +843,7 @@ var SqlAutocompleter3 = (function () {
                   SqlFunctions.matchesType(self.snippet.type(), [field.type.toUpperCase()], types)) {
                 columnSuggestions.push({
                   value: self.backTickIfNeeded(field.name),
+                  filterValue: field.name,
                   meta: field.type,
                   category: CATEGORIES.COLUMN,
                   table: table,
@@ -1176,8 +1195,10 @@ var SqlAutocompleter3 = (function () {
           if (typeof data.values.groupbyColumns !== 'undefined') {
             var prefix = suggestGroupBys.prefix ? (self.parseResult.lowerCase ? suggestGroupBys.prefix.toLowerCase() : suggestGroupBys.prefix) + ' ' : '';
             data.values.groupbyColumns.forEach(function (value) {
+              var filterValue = self.createNavOptIdentifierForColumn(value, suggestGroupBys.tables);
               groupBySuggestions.push({
-                value: prefix + self.createNavOptIdentifierForColumn(value, suggestGroupBys.tables),
+                value: prefix + filterValue,
+                filterValue: filterValue,
                 meta: AutocompleterGlobals.i18n.meta.groupBy,
                 category: CATEGORIES.POPULAR_GROUP_BY,
                 popular: true,
@@ -1218,8 +1239,10 @@ var SqlAutocompleter3 = (function () {
           if (typeof data.values.orderbyColumns !== 'undefined') {
             var prefix = suggestOrderBys.prefix ? (self.parseResult.lowerCase ? suggestOrderBys.prefix.toLowerCase() : suggestOrderBys.prefix) + ' ' : '';
             data.values.orderbyColumns.forEach(function (value) {
+              var filterValue = self.createNavOptIdentifierForColumn(value, suggestOrderBys.tables);
               orderBySuggestions.push({
-                value: prefix + self.createNavOptIdentifierForColumn(value, suggestOrderBys.tables),
+                value: prefix + filterValue,
+                filterValue: filterValue,
                 meta: AutocompleterGlobals.i18n.meta.orderBy,
                 category: CATEGORIES.POPULAR_ORDER_BY,
                 popular: true,