Browse Source

[notebook] Save the active databases with the notebook

Johan Ahlen 10 năm trước cách đây
mục cha
commit
2c9f922

+ 2 - 4
desktop/core/src/desktop/static/desktop/js/assistHelper.js

@@ -21,15 +21,13 @@ var NOTEBOOK_API_PREFIX = "/notebook/api/autocomplete/";
  * @param options {object}
  * @param options.notebook
  * @param options.user
+ * @param options.activeDatabase
  *
  * @constructor
  */
 function AssistHelper (options) {
   var self = this;
-  self.activeDatabase = ko.observable();
-  if (typeof options.db !== "undefined") {
-    self.activeDatabase(options.db)
-  }
+  self.activeDatabase = ko.observable(options.activeDatabase);
   self.notebook = options.notebook;
   self.user = options.user;
   self.availableDatabases = ko.observableArray();

+ 6 - 0
desktop/libs/notebook/src/notebook/static/notebook/js/notebook.ko.js

@@ -680,6 +680,7 @@ var Notebook = function (vm, notebook) {
     }
   });
 
+  self.selectedDatabases = notebook.selectedDatabases != "undefined" && notebook.selectedDatabases != null ? notebook.selectedDatabases : {};
   self.assistHelpers = {};
 
   self.getAssistHelper = function (snippetType) {
@@ -687,7 +688,12 @@ var Notebook = function (vm, notebook) {
       self.assistHelpers[snippetType] = new AssistHelper({
         notebook: self,
         user: vm.user,
+        activeDatabase: self.selectedDatabases[snippetType]
       });
+
+      self.assistHelpers[snippetType].activeDatabase.subscribe(function (newActiveDatabase) {
+        self.selectedDatabases[snippetType] = newActiveDatabase;
+      })
     }
     return self.assistHelpers[snippetType]
   };