// CSS Dependencies import "bootstrap/dist/css/bootstrap.css"; import "../less/documentDB.less"; import "../less/tree.less"; import "../less/forms.less"; import "../less/menus.less"; import "../less/infobox.less"; import "../less/messagebox.less"; import "./Explorer/Controls/ErrorDisplayComponent/ErrorDisplayComponent.less"; import "./Explorer/Menus/NotificationConsole/NotificationConsole.less"; import "./Explorer/Menus/CommandBar/CommandBarComponent.less"; import "./Explorer/Menus/CommandBar/MemoryTrackerComponent.less"; import "./Explorer/Controls/CollapsiblePanel/CollapsiblePanelComponent.less"; import "./Explorer/Controls/DynamicList/DynamicListComponent.less"; import "./Explorer/Controls/JsonEditor/JsonEditorComponent.less"; import "./Explorer/Graph/GraphExplorerComponent/graphExplorer.less"; import "../less/TableStyles/queryBuilder.less"; import "../externals/jquery.dataTables.min.css"; import "../less/TableStyles/fulldatatables.less"; import "../less/TableStyles/EntityEditor.less"; import "../less/TableStyles/CustomizeColumns.less"; import "../less/resourceTree.less"; import "../externals/jquery.typeahead.min.css"; import "../externals/jquery-ui.min.css"; import "../externals/jquery-ui.structure.min.css"; import "../externals/jquery-ui.theme.min.css"; import "./Explorer/Graph/NewVertexComponent/newVertexComponent.less"; import "./Explorer/Panes/GraphNewVertexPane.less"; import "./Explorer/Tabs/QueryTab.less"; import "./Explorer/Controls/TreeComponent/treeComponent.less"; import "./Explorer/Controls/Accordion/AccordionComponent.less"; import "./Explorer/SplashScreen/SplashScreenComponent.less"; import "./Explorer/Controls/Notebook/NotebookTerminalComponent.less"; // Image Dependencies import "../images/CosmosDB_rgb_ui_lighttheme.ico"; import "../images/favicon.ico"; import "./Shared/appInsights"; import "babel-polyfill"; import "es6-symbol/implement"; import "webcrypto-liner/build/webcrypto-liner.shim.min"; import "./Libs/jquery"; import "bootstrap/dist/js/npm"; import "../externals/jquery.typeahead.min.js"; import "../externals/jquery-ui.min.js"; import "../externals/adal.js"; import "promise-polyfill/src/polyfill"; import "abort-controller/polyfill"; import "whatwg-fetch"; import "es6-object-assign/auto"; import "promise.prototype.finally/auto"; import "object.entries/auto"; import "./Libs/is-integer-polyfill"; import "url-polyfill/url-polyfill.min"; initializeIcons(); import * as ko from "knockout"; import * as TelemetryProcessor from "./Shared/Telemetry/TelemetryProcessor"; import { Action, ActionModifiers } from "./Shared/Telemetry/TelemetryConstants"; import { BindingHandlersRegisterer } from "./Bindings/BindingHandlersRegisterer"; import * as Emulator from "./Platform/Emulator/Main"; import Hosted from "./Platform/Hosted/Main"; import * as Portal from "./Platform/Portal/Main"; import { AuthType } from "./AuthType"; import { initializeIcons } from "office-ui-fabric-react/lib/Icons"; import { applyExplorerBindings } from "./applyExplorerBindings"; import { initializeConfiguration, Platform } from "./ConfigContext"; import Explorer from "./Explorer/Explorer"; import React, { useEffect } from "react"; import ReactDOM from "react-dom"; import errorImage from "../images/error.svg"; import copyImage from "../images/Copy.svg"; import hdeConnectImage from "../images/HdeConnectCosmosDB.svg"; import refreshImg from "../images/refresh-cosmos.svg"; import arrowLeftImg from "../images/imgarrowlefticon.svg"; import { KOCommentEnd, KOCommentIfStart } from "./koComment"; // TODO: Encapsulate and reuse all global variables as environment variables window.authType = AuthType.AAD; const App: React.FunctionComponent = () => { useEffect(() => { initializeConfiguration().then(config => { if (config.platform === Platform.Hosted) { try { Hosted.initializeExplorer().then( (explorer: Explorer) => { applyExplorerBindings(explorer); Hosted.configureTokenValidationDisplayPrompt(explorer); }, (error: unknown) => { try { const uninitializedExplorer: Explorer = Hosted.getUninitializedExplorerForGuestAccess(); window.dataExplorer = uninitializedExplorer; ko.applyBindings(uninitializedExplorer); BindingHandlersRegisterer.registerBindingHandlers(); if (window.authType !== AuthType.AAD) { uninitializedExplorer.isRefreshingExplorer(false); uninitializedExplorer.displayConnectExplorerForm(); } } catch (e) { console.log(e); } console.error(error); } ); } catch (e) { console.log(e); } } else if (config.platform === Platform.Emulator) { window.authType = AuthType.MasterKey; const explorer = Emulator.initializeExplorer(); applyExplorerBindings(explorer); } else if (config.platform === Platform.Portal) { TelemetryProcessor.trace(Action.InitializeDataExplorer, ActionModifiers.Open, {}); const explorer = Portal.initializeExplorer(); TelemetryProcessor.trace(Action.InitializeDataExplorer, ActionModifiers.IFrameReady, {}); applyExplorerBindings(explorer); } }); }, []); return (
Welcome to Azure Cosmos DB
Connect to your account with connection string
Welcome to Azure Cosmos DB
Connecting...
Please reconnect to the account using the connection string.
Please save your work before you switch! When you switch to a different Azure Cosmos DB account, current Data Explorer tabs will be closed.
Proceed anyway?