Просмотр исходного кода

[beeswax] Switch to new assist panel and helper

Johan Ahlen 10 лет назад
Родитель
Сommit
f42496f8e1

+ 16 - 26
apps/beeswax/src/beeswax/templates/execute.mako

@@ -44,7 +44,7 @@ ${ layout.menubar(section='query') }
       <div class="tab-pane active" id="navigatorTab">
         <div class="card card-small card-tab">
           <div class="card-body" style="margin-top: 0;">
-            <div class="assist" data-bind="component: { name: 'assist-panel', params: { assistHelper: assistHelper, appName: '${ app_name }' }}"></div>
+            <div class="assist" data-bind="component: { name: 'assist-panel', params: { notebookViewModel: editorViewModel } }"></div>
           </div>
         </div>
       </div>
@@ -1101,37 +1101,27 @@ var HIVE_AUTOCOMPLETE_APP = "${app_name}";
 
 var STATS_PROBLEMS = "${ _('There was a problem loading the stats.') }";
 
-var assistHelper = new AssistHelper({
-  app: HIVE_AUTOCOMPLETE_APP,
-  user: HIVE_AUTOCOMPLETE_USER
-});
+var snippetType = HIVE_AUTOCOMPLETE_APP == "impala" ? "impala" : "hive";
 
 var editorViewModelOptions = {
-  snippetViewSettings: {
-    hive: {
-      sqlDialect: true
-    },
-    impala: {
-      sqlDialect: true
-    }
-  },
-  languages: [
-    {
-      type: "hive"
-    },
-    {
-      type: "impala"
-    }
-  ]
+  snippetViewSettings: {},
+  languages: [],
+  user: HIVE_AUTOCOMPLETE_USER
 };
 
-var editorViewModel = new EditorViewModel([], editorViewModelOptions);
-
-var notebook = editorViewModel.newNotebook();
-
-var snippet = notebook.newSnippet(HIVE_AUTOCOMPLETE_APP == "beeswax" ? "hive" : "impala");
+editorViewModelOptions.snippetViewSettings[snippetType] = {
+  sqlDialect: true
+};
 
+editorViewModelOptions.languages.push({
+  type: snippetType,
+  name: snippetType
+});
 
+var editorViewModel = new EditorViewModel([], editorViewModelOptions);
+var notebook = editorViewModel.newNotebook();
+var snippet = notebook.newSnippet(snippetType);
+var assistHelper = snippet.getAssistHelper();
 var autocompleter = new Autocompleter({
   assistHelper: assistHelper,
   notebook: notebook,

+ 2 - 1
desktop/core/src/desktop/templates/ko_components.mako

@@ -168,13 +168,14 @@ from desktop.views import _ko
 
   <script type="text/html" id="assist-panel-template">
     <ul class="nav nav-list" style="position:relative; border: none; padding: 0; background-color: #FFF; margin-bottom: 1px; width:100%;">
+      <!-- ko if: availableSourceTypes.length > 1 -->
       <li class="nav-header">
         ${_('source')}
       </li>
       <li>
         <select data-bind="options: availableSourceTypes, select2: { width: '100%', placeholder: '${ _ko("Choose a source...") }', update: selectedSourceType }" class="input-medium" data-placeholder="${_('Choose a source...')}"></select>
       </li>
-
+      <!-- /ko -->
       <!-- ko with: selectedSource -->
       <!-- ko template: { name: "assist-type-template" } --><!-- /ko -->
       <!-- /ko -->