Browse Source

添加ai对话框

xiaoguang_li 4 weeks ago
parent
commit
bd94bb56ee
1 changed files with 13 additions and 2 deletions
  1. 13 2
      desktop/core/src/desktop/templates/assist.mako

+ 13 - 2
desktop/core/src/desktop/templates/assist.mako

@@ -2811,11 +2811,13 @@ from desktop.views import _ko
       function ChatPanel(params) {
         let self = this;
         self.disposals = [];
+        self.id = 'assist-chat'
 
         self.activeType = ko.observable();
         self.availableTypes = ko.observableArray(window.IS_EMBEDDED ? ['Impala'] : ['Hive', 'Impala', 'Pig']);
         self.query = ko.observable();
         self.messages = ko.observableArray([]);
+        self.activeDatabase = '';
 
         self.query.subscribe(function (newValue, oldValue) {
             let inputTextArea = $('.user-input')[0]
@@ -2851,13 +2853,22 @@ from desktop.views import _ko
           });
         };
 
-        var activeSnippetTypeSub = huePubSub.subscribe('active.snippet.type.changed', updateType);
+        var activeSnippetTypeSub = huePubSub.subscribe('active.snippet.type.changed', updateType, self.id);
+
+        huePubSub.subscribe("assist.database.set", function (databaseDef) {
+          let sourceType = databaseDef['sourceType']
+          if (sourceType) {
+              updateType(sourceType.toLowerCase())
+          }
+          self.activeDatabase = databaseDef['name'];
+            // {sourceType: 'hive', namespace: {…}, name: 'adsbi'}
+        }, self.id);
 
         self.disposals.push(function () {
           activeSnippetTypeSub.remove();
         });
 
-        huePubSub.subscribeOnce('set.active.snippet.type', updateType);
+        huePubSub.subscribeOnce('set.active.snippet.type', updateType, self.id);
         huePubSub.publish('get.active.snippet.type');
 
       }