mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-12-30 06:11:38 +00:00
* First dark theme commits for command bar * Updated theme on sidebar * Updated tabs, sidebar, splash screen * settings theme changes * Dark theme applied to Monaco editor * Dark theme to stored procedures * Fixed sidebar scroll * Updated scroll issue in sidebar * Command bar items fixed * Fixed lint errors * fixed lint errors * settings side panel fixed * Second last iteration for css * Fixed all the issues of css * Updated the theme icon for now on DE to change the theme from portal/DE itself * Formatting issue resolved * Remove CloudShellTerminalComponent changes - revert to master version * Fixed test issue * Fixed formatting issue * Fix tests: update snapshots and revert xterm imports for compatibility * Fix xterm imports in CloudShellTerminalComponent to use @xterm packages * Fix Cloud Shell component imports for compatibility * Update test snapshots * Fix xterm package consistency across all CloudShell components * Fix TypeScript compilation errors in CloudShell components and query Documents - Standardized xterm package imports across CloudShell components to use legacy 'xterm' package - Fixed Terminal type compatibility issues in CommonUtils.tsx - Added type casting for enableQueryControl property in queryDocuments.ts to handle Azure Cosmos SDK interface limitations - Applied code formatting to ensure consistency * Update failing snapshot tests - Updated TreeNodeComponent snapshot tests for loading states - Updated ThroughputInputAutoPilotV3Component snapshots for number formatting changes (10,00,000 -> 1,000,000) - All snapshot tests now pass * Fixed test issue * Fixed test issue * Updated the buttons for theme * Updated the Theme changes based on portal theme changes * Updated review comments * Updated the duplicate code and fixed the fabric react error * Few places styling added and resolving few comments * Fixed errors * Fixed comments * Fixed comments * Fixed comments * Fixed full text policy issue for mongoru accounts * Resolved comments for class Name and few others * Added css for homepage in ru accounts * Final commit with all the feedback issues resolved * Lint error resolved * Updated the review comments and few Ui issues * Resolved review comments and changed header bg and active state color * Moved svg code to different file and imported * css fixed for the hpome page boxed for ru account * Lint errors * Fixed boxes issue in ru accounts * Handled the initial theme from the portal * Updated snap * Update snapshots for TreeNodeComponent and CreateCopyJobScreensProvider tests * Fix duplicate DataExplorerRoot test id causing Playwright strict mode violation * Fix locale-dependent number formatting in ThroughputInputAutoPilotV3Component --------- Co-authored-by: Sakshi Gupta <sakshig+microsoft@microsoft.com> Co-authored-by: Sakshi Gupta <sakshig@microsoft.com>
101 lines
3.3 KiB
TypeScript
101 lines
3.3 KiB
TypeScript
import { Link, tokens } from "@fluentui/react-components";
|
|
import QueryError from "Common/QueryError";
|
|
import { IndeterminateProgressBar } from "Explorer/Controls/IndeterminateProgressBar";
|
|
import { MessageBanner } from "Explorer/Controls/MessageBanner";
|
|
import { useQueryTabStyles } from "Explorer/Tabs/QueryTab/Styles";
|
|
import React from "react";
|
|
import RunQuery from "../../../../images/RunQuery.png";
|
|
import { QueryResults } from "../../../Contracts/ViewModels";
|
|
import { ErrorList } from "./ErrorList";
|
|
import { ResultsView } from "./ResultsView";
|
|
import useZoomLevel from "hooks/useZoomLevel";
|
|
import { conditionalClass } from "Utils/StyleUtils";
|
|
|
|
export interface ResultsViewProps {
|
|
isMongoDB: boolean;
|
|
queryResults: QueryResults;
|
|
executeQueryDocumentsPage: (firstItemIndex: number) => Promise<void>;
|
|
}
|
|
|
|
interface QueryResultProps extends ResultsViewProps {
|
|
queryEditorContent: string;
|
|
errors: QueryError[];
|
|
isExecuting: boolean;
|
|
}
|
|
|
|
const ExecuteQueryCallToAction: React.FC = () => {
|
|
const styles = useQueryTabStyles();
|
|
const isZoomed = useZoomLevel();
|
|
return (
|
|
<div data-test="QueryTab/ResultsPane/ExecuteCTA" className={styles.executeCallToAction}>
|
|
<div>
|
|
<p>
|
|
<img
|
|
className={`${styles.responsiveImg} ${conditionalClass(isZoomed, styles.zoomedImageSize)}`}
|
|
src={RunQuery}
|
|
aria-hidden="true"
|
|
/>
|
|
</p>
|
|
<p style={{ color: tokens.colorNeutralForeground1 }}>Execute a query to see the results</p>
|
|
</div>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export const QueryResultSection: React.FC<QueryResultProps> = ({
|
|
isMongoDB,
|
|
queryEditorContent,
|
|
errors,
|
|
queryResults,
|
|
executeQueryDocumentsPage,
|
|
isExecuting,
|
|
}: QueryResultProps): JSX.Element => {
|
|
const styles = useQueryTabStyles();
|
|
const maybeSubQuery = queryEditorContent && /.*\(.*SELECT.*\)/i.test(queryEditorContent);
|
|
|
|
return (
|
|
<div data-test="QueryTab/ResultsPane" className={styles.queryResultsPanel}>
|
|
{isExecuting && <IndeterminateProgressBar />}
|
|
<MessageBanner
|
|
messageId="QueryEditor.EmptyMongoQuery"
|
|
visible={isMongoDB && queryEditorContent.length === 0}
|
|
className={styles.queryResultsMessage}
|
|
>
|
|
Start by writing a Mongo query, for example: <strong>{"{'id':'foo'}"}</strong> or{" "}
|
|
<strong>
|
|
{"{ "}
|
|
{" }"}
|
|
</strong>{" "}
|
|
to get all the documents.
|
|
</MessageBanner>
|
|
{/* {maybeSubQuery && ( */}
|
|
<MessageBanner
|
|
messageId="QueryEditor.SubQueryWarning"
|
|
visible={maybeSubQuery}
|
|
className={styles.queryResultsMessage}
|
|
>
|
|
We detected you may be using a subquery. To learn more about subqueries effectively,{" "}
|
|
<Link
|
|
href="https://learn.microsoft.com/azure/cosmos-db/nosql/query/subquery"
|
|
target="_blank"
|
|
rel="noreferrer noopener"
|
|
>
|
|
visit the documentation
|
|
</Link>
|
|
</MessageBanner>
|
|
{/* <!-- Query Results & Errors Content Container - Start--> */}
|
|
{errors.length > 0 ? (
|
|
<ErrorList errors={errors} />
|
|
) : queryResults ? (
|
|
<ResultsView
|
|
queryResults={queryResults}
|
|
executeQueryDocumentsPage={executeQueryDocumentsPage}
|
|
isMongoDB={isMongoDB}
|
|
/>
|
|
) : (
|
|
<ExecuteQueryCallToAction />
|
|
)}
|
|
</div>
|
|
);
|
|
};
|