|
|
@@ -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');
|
|
|
|
|
|
}
|