|
@@ -300,21 +300,25 @@ from desktop.views import _ko
|
|
|
|
|
|
|
|
self.selectedSource = ko.observable(null);
|
|
self.selectedSource = ko.observable(null);
|
|
|
|
|
|
|
|
- huePubSub.subscribe("assist.select.database", function (database) {
|
|
|
|
|
- if (! database.sourceType || ! sourceIndex[database.sourceType]) {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- self.selectedSource(sourceIndex[database.sourceType]);
|
|
|
|
|
|
|
+ var setDatabaseWhenLoaded = function (databaseName) {
|
|
|
if (self.selectedSource().loaded()) {
|
|
if (self.selectedSource().loaded()) {
|
|
|
- self.selectedSource().setDatabase(database.name);
|
|
|
|
|
|
|
+ self.selectedSource().setDatabase(databaseName);
|
|
|
} else {
|
|
} else {
|
|
|
var subscription = self.selectedSource().loaded.subscribe(function (newValue) {
|
|
var subscription = self.selectedSource().loaded.subscribe(function (newValue) {
|
|
|
if (newValue) {
|
|
if (newValue) {
|
|
|
- self.selectedSource().setDatabase(database.name);
|
|
|
|
|
|
|
+ self.selectedSource().setDatabase(databaseName);
|
|
|
subscription.dispose();
|
|
subscription.dispose();
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ huePubSub.subscribe("assist.select.database", function (database) {
|
|
|
|
|
+ if (! database.sourceType || ! sourceIndex[database.sourceType]) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ self.selectedSource(sourceIndex[database.sourceType]);
|
|
|
|
|
+ setDatabaseWhenLoaded(database.name);
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
huePubSub.publish("assist.request.status");
|
|
huePubSub.publish("assist.request.status");
|
|
@@ -322,19 +326,21 @@ from desktop.views import _ko
|
|
|
self.selectedSource.subscribe(function (newSource) {
|
|
self.selectedSource.subscribe(function (newSource) {
|
|
|
if (newSource) {
|
|
if (newSource) {
|
|
|
newSource.initDatabases();
|
|
newSource.initDatabases();
|
|
|
- $.totalStorage("hue.assist.lastSelectedSource." + self.user, newSource.name);
|
|
|
|
|
|
|
+ $.totalStorage("hue.assist.lastSelectedSource." + self.user, newSource.type);
|
|
|
} else {
|
|
} else {
|
|
|
$.totalStorage("hue.assist.lastSelectedSource." + self.user, null);
|
|
$.totalStorage("hue.assist.lastSelectedSource." + self.user, null);
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
- var storageSourceType = $.totalStorage("hue.assist.lastSelectedSource." + params.user);
|
|
|
|
|
|
|
+ var storageSourceType = $.totalStorage("hue.assist.lastSelectedSource." + self.user);
|
|
|
|
|
|
|
|
if (! self.selectedSource()) {
|
|
if (! self.selectedSource()) {
|
|
|
if (params.activeSourceType) {
|
|
if (params.activeSourceType) {
|
|
|
self.selectedSource(sourceIndex[params.activeSourceType]);
|
|
self.selectedSource(sourceIndex[params.activeSourceType]);
|
|
|
|
|
+ setDatabaseWhenLoaded();
|
|
|
} else if (storageSourceType && sourceIndex[storageSourceType]) {
|
|
} else if (storageSourceType && sourceIndex[storageSourceType]) {
|
|
|
self.selectedSource(sourceIndex[storageSourceType]);
|
|
self.selectedSource(sourceIndex[storageSourceType]);
|
|
|
|
|
+ setDatabaseWhenLoaded();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|