Remove Explorer.defaultExperience

This commit is contained in:
hardiknai-techm
2021-04-15 13:04:51 +05:30
parent f94f95e788
commit 8f0bb1add8
6 changed files with 37 additions and 23 deletions

View File

@@ -111,11 +111,7 @@ export default class Explorer {
* */ * */
public databaseAccount: ko.Observable<DataModels.DatabaseAccount>; public databaseAccount: ko.Observable<DataModels.DatabaseAccount>;
public collectionCreationDefaults: ViewModels.CollectionCreationDefaults = SharedConstants.CollectionCreationDefaults; public collectionCreationDefaults: ViewModels.CollectionCreationDefaults = SharedConstants.CollectionCreationDefaults;
/**
* @deprecated
* Use userContext.apiType instead
* */
public defaultExperience: ko.Observable<string>;
/** /**
* @deprecated * @deprecated
* Compare a string with userContext.apiType instead: userContext.apiType === "Cassandra" * Compare a string with userContext.apiType instead: userContext.apiType === "Cassandra"
@@ -402,12 +398,10 @@ export default class Explorer {
bounds: splitterBounds, bounds: splitterBounds,
direction: SplitterDirection.Vertical, direction: SplitterDirection.Vertical,
}); });
this.defaultExperience = ko.observable<string>();
this.databaseAccount.subscribe((databaseAccount) => { this.databaseAccount.subscribe((databaseAccount) => {
const defaultExperience: string = DefaultExperienceUtility.getDefaultExperienceFromDatabaseAccount( const defaultExperience: string = DefaultExperienceUtility.getDefaultExperienceFromDatabaseAccount(
databaseAccount databaseAccount
); );
this.defaultExperience(defaultExperience);
// TODO. Remove this entirely // TODO. Remove this entirely
updateUserContext({ updateUserContext({
defaultExperience: DefaultExperienceUtility.mapDefaultExperienceStringToEnum(defaultExperience), defaultExperience: DefaultExperienceUtility.mapDefaultExperienceStringToEnum(defaultExperience),
@@ -415,16 +409,16 @@ export default class Explorer {
}); });
this.isPreferredApiCassandra = ko.computed(() => { this.isPreferredApiCassandra = ko.computed(() => {
const defaultExperience = (this.defaultExperience && this.defaultExperience()) || ""; const defaultExperience = userContext.apiType || "";
return defaultExperience.toLowerCase() === Constants.DefaultAccountExperience.Cassandra.toLowerCase(); return defaultExperience.toLowerCase() === Constants.DefaultAccountExperience.Cassandra.toLowerCase();
}); });
this.isPreferredApiGraph = ko.computed(() => { this.isPreferredApiGraph = ko.computed(() => {
const defaultExperience = (this.defaultExperience && this.defaultExperience()) || ""; const defaultExperience = userContext.apiType || "";
return defaultExperience.toLowerCase() === Constants.DefaultAccountExperience.Graph.toLowerCase(); return defaultExperience.toLowerCase() === Constants.DefaultAccountExperience.Graph.toLowerCase();
}); });
this.isPreferredApiTable = ko.computed(() => { this.isPreferredApiTable = ko.computed(() => {
const defaultExperience = (this.defaultExperience && this.defaultExperience()) || ""; const defaultExperience = userContext.apiType || "";
return defaultExperience.toLowerCase() === Constants.DefaultAccountExperience.Table.toLowerCase(); return defaultExperience.toLowerCase() === Constants.DefaultAccountExperience.Table.toLowerCase();
}); });
@@ -449,7 +443,7 @@ export default class Explorer {
); );
this.isPreferredApiMongoDB = ko.computed(() => { this.isPreferredApiMongoDB = ko.computed(() => {
const defaultExperience = (this.defaultExperience && this.defaultExperience()) || ""; const defaultExperience = userContext.apiType || "";
if (defaultExperience.toLowerCase() === Constants.DefaultAccountExperience.MongoDB.toLowerCase()) { if (defaultExperience.toLowerCase() === Constants.DefaultAccountExperience.MongoDB.toLowerCase()) {
return true; return true;
} }

View File

@@ -1,7 +1,8 @@
import * as Constants from "../../Common/Constants"; import * as Constants from "../../Common/Constants";
import AddCollectionPane from "./AddCollectionPane";
import Explorer from "../Explorer";
import { DatabaseAccount } from "../../Contracts/DataModels"; import { DatabaseAccount } from "../../Contracts/DataModels";
import { updateUserContext } from "../../UserContext";
import Explorer from "../Explorer";
import AddCollectionPane from "./AddCollectionPane";
describe("Add Collection Pane", () => { describe("Add Collection Pane", () => {
describe("isValid()", () => { describe("isValid()", () => {
@@ -43,14 +44,26 @@ describe("Add Collection Pane", () => {
}); });
it("should be true if graph API and partition key is not /id nor /label", () => { it("should be true if graph API and partition key is not /id nor /label", () => {
explorer.defaultExperience(Constants.DefaultAccountExperience.Graph.toLowerCase()); updateUserContext({
databaseAccount: {
properties: {
capabilities: [{ name: "EnableGremlin" }],
},
} as DatabaseAccount,
});
const addCollectionPane = explorer.addCollectionPane as AddCollectionPane; const addCollectionPane = explorer.addCollectionPane as AddCollectionPane;
addCollectionPane.partitionKey("/blah"); addCollectionPane.partitionKey("/blah");
expect(addCollectionPane.isValid()).toBe(true); expect(addCollectionPane.isValid()).toBe(true);
}); });
it("should be false if graph API and partition key is /id or /label", () => { it("should be false if graph API and partition key is /id or /label", () => {
explorer.defaultExperience(Constants.DefaultAccountExperience.Graph.toLowerCase()); updateUserContext({
databaseAccount: {
properties: {
capabilities: [{ name: "EnableGremlin" }],
},
} as DatabaseAccount,
});
const addCollectionPane = explorer.addCollectionPane as AddCollectionPane; const addCollectionPane = explorer.addCollectionPane as AddCollectionPane;
addCollectionPane.partitionKey("/id"); addCollectionPane.partitionKey("/id");
expect(addCollectionPane.isValid()).toBe(false); expect(addCollectionPane.isValid()).toBe(false);
@@ -60,7 +73,7 @@ describe("Add Collection Pane", () => {
}); });
it("should be true for any non-graph API with /id or /label partition key", () => { it("should be true for any non-graph API with /id or /label partition key", () => {
explorer.defaultExperience(Constants.DefaultAccountExperience.DocumentDB.toLowerCase()); updateUserContext({});
const addCollectionPane = explorer.addCollectionPane as AddCollectionPane; const addCollectionPane = explorer.addCollectionPane as AddCollectionPane;
addCollectionPane.partitionKey("/id"); addCollectionPane.partitionKey("/id");

View File

@@ -486,7 +486,7 @@ export default class AddCollectionPane extends ContextualPaneBase {
userContext.portalEnv, userContext.portalEnv,
this.isFreeTierAccount(), this.isFreeTierAccount(),
this.container.isFirstResourceCreated(), this.container.isFirstResourceCreated(),
this.container.defaultExperience(), userContext.apiType,
true true
); );
}); });

View File

@@ -238,7 +238,7 @@ export default class AddDatabasePane extends ContextualPaneBase {
userContext.portalEnv, userContext.portalEnv,
this.isFreeTierAccount(), this.isFreeTierAccount(),
this.container.isFirstResourceCreated(), this.container.isFirstResourceCreated(),
this.container.defaultExperience(), userContext.apiType,
false false
); );
}); });

View File

@@ -1,10 +1,11 @@
import * as ko from "knockout"; import * as ko from "knockout";
import { DatabaseAccount } from "../../Contracts/DataModels";
import * as ViewModels from "../../Contracts/ViewModels"; import * as ViewModels from "../../Contracts/ViewModels";
import * as Constants from "../../Common/Constants"; import { updateUserContext } from "../../UserContext";
import DocumentsTab from "./DocumentsTab"; import { CommandButtonComponentProps } from "../Controls/CommandButton/CommandButtonComponent";
import Explorer from "../Explorer"; import Explorer from "../Explorer";
import DocumentId from "../Tree/DocumentId"; import DocumentId from "../Tree/DocumentId";
import { CommandButtonComponentProps } from "../Controls/CommandButton/CommandButtonComponent"; import DocumentsTab from "./DocumentsTab";
describe("Documents tab", () => { describe("Documents tab", () => {
describe("buildQuery", () => { describe("buildQuery", () => {
@@ -29,7 +30,13 @@ describe("Documents tab", () => {
const explorer = new Explorer(); const explorer = new Explorer();
const mongoExplorer = new Explorer(); const mongoExplorer = new Explorer();
mongoExplorer.defaultExperience(Constants.DefaultAccountExperience.MongoDB); updateUserContext({
databaseAccount: {
properties: {
capabilities: [{ name: "EnableGremlin" }],
},
} as DatabaseAccount,
});
const collectionWithoutPartitionKey = <ViewModels.Collection>(<unknown>{ const collectionWithoutPartitionKey = <ViewModels.Collection>(<unknown>{
id: ko.observable<string>("foo"), id: ko.observable<string>("foo"),

View File

@@ -56,7 +56,7 @@ export default class NotebookTabV2 extends TabsBase {
NotebookTabV2.clientManager = new NotebookClientV2({ NotebookTabV2.clientManager = new NotebookClientV2({
connectionInfo: this.container.notebookServerInfo(), connectionInfo: this.container.notebookServerInfo(),
databaseAccountName: this.container.databaseAccount().name, databaseAccountName: this.container.databaseAccount().name,
defaultExperience: this.container.defaultExperience(), defaultExperience: userContext.apiType,
contentProvider: this.container.notebookManager?.notebookContentProvider, contentProvider: this.container.notebookManager?.notebookContentProvider,
}); });
} }