added emulator checks

This commit is contained in:
Nishtha Ahuja 2024-12-10 15:08:54 +05:30
parent abf061089d
commit 69dea28096

View File

@ -483,7 +483,7 @@ export const SettingsPane: FunctionComponent<{ explorer: Explorer }> = ({
<RightPaneForm {...genericPaneProps}> <RightPaneForm {...genericPaneProps}>
<div className={`paneMainContent ${styles.container}`}> <div className={`paneMainContent ${styles.container}`}>
<Accordion className={styles.firstItem}> <Accordion className={styles.firstItem}>
{shouldShowQueryPageOptions && ( {shouldShowQueryPageOptions && configContext.platform !== Platform.Emulator && (
<AccordionItem value="1"> <AccordionItem value="1">
<AccordionHeader> <AccordionHeader>
<div className={styles.header}>Page Options</div> <div className={styles.header}>Page Options</div>
@ -534,7 +534,8 @@ export const SettingsPane: FunctionComponent<{ explorer: Explorer }> = ({
)} )}
{userContext.apiType === "SQL" && {userContext.apiType === "SQL" &&
userContext.authType === AuthType.AAD && userContext.authType === AuthType.AAD &&
configContext.platform !== Platform.Fabric && ( configContext.platform !== Platform.Fabric &&
configContext.platform !== Platform.Emulator && (
<AccordionItem value="2"> <AccordionItem value="2">
<AccordionHeader> <AccordionHeader>
<div className={styles.header}>Enable Entra ID RBAC</div> <div className={styles.header}>Enable Entra ID RBAC</div>
@ -565,201 +566,207 @@ export const SettingsPane: FunctionComponent<{ explorer: Explorer }> = ({
</AccordionItem> </AccordionItem>
)} )}
{userContext.apiType === "SQL" && ( {userContext.apiType === "SQL" && configContext.platform !== Platform.Emulator && (
<> <AccordionItem value="3">
<AccordionItem value="3"> <AccordionHeader>
<AccordionHeader> <div className={styles.header}>Query Timeout</div>
<div className={styles.header}>Query Timeout</div> </AccordionHeader>
</AccordionHeader> <AccordionPanel>
<AccordionPanel> <div className={styles.settingsSectionContainer}>
<div className={styles.settingsSectionDescription}>
When a query reaches a specified time limit, a popup with an option to cancel the query will show
unless automatic cancellation has been enabled.
</div>
<Toggle
styles={toggleStyles}
label="Enable query timeout"
onChange={handleOnQueryTimeoutToggleChange}
defaultChecked={queryTimeoutEnabled}
/>
</div>
{queryTimeoutEnabled && (
<div className={styles.settingsSectionContainer}> <div className={styles.settingsSectionContainer}>
<div className={styles.settingsSectionDescription}> <SpinButton
When a query reaches a specified time limit, a popup with an option to cancel the query will show label="Query timeout (ms)"
unless automatic cancellation has been enabled. labelPosition={Position.top}
</div> defaultValue={(queryTimeout || 5000).toString()}
min={100}
step={1000}
onChange={handleOnQueryTimeoutSpinButtonChange}
incrementButtonAriaLabel="Increase value by 1000"
decrementButtonAriaLabel="Decrease value by 1000"
styles={spinButtonStyles}
/>
<Toggle <Toggle
label="Automatically cancel query after timeout"
styles={toggleStyles} styles={toggleStyles}
label="Enable query timeout" onChange={handleOnAutomaticallyCancelQueryToggleChange}
onChange={handleOnQueryTimeoutToggleChange} defaultChecked={automaticallyCancelQueryAfterTimeout}
defaultChecked={queryTimeoutEnabled}
/> />
</div> </div>
{queryTimeoutEnabled && ( )}
<div className={styles.settingsSectionContainer}> </AccordionPanel>
<SpinButton </AccordionItem>
label="Query timeout (ms)"
labelPosition={Position.top}
defaultValue={(queryTimeout || 5000).toString()}
min={100}
step={1000}
onChange={handleOnQueryTimeoutSpinButtonChange}
incrementButtonAriaLabel="Increase value by 1000"
decrementButtonAriaLabel="Decrease value by 1000"
styles={spinButtonStyles}
/>
<Toggle
label="Automatically cancel query after timeout"
styles={toggleStyles}
onChange={handleOnAutomaticallyCancelQueryToggleChange}
defaultChecked={automaticallyCancelQueryAfterTimeout}
/>
</div>
)}
</AccordionPanel>
</AccordionItem>
<AccordionItem value="4">
<AccordionHeader>
<div className={styles.header}>RU Limit</div>
</AccordionHeader>
<AccordionPanel>
<div className={styles.settingsSectionContainer}>
<div className={styles.settingsSectionDescription}>
If a query exceeds a configured RU limit, the query will be aborted.
</div>
<Toggle
styles={toggleStyles}
label="Enable RU limit"
onChange={handleOnRUThresholdToggleChange}
defaultChecked={ruThresholdEnabled}
/>
</div>
{ruThresholdEnabled && (
<div className={styles.settingsSectionContainer}>
<SpinButton
label="RU Limit (RU)"
labelPosition={Position.top}
defaultValue={(ruThreshold || DefaultRUThreshold).toString()}
min={1}
step={1000}
onChange={handleOnRUThresholdSpinButtonChange}
incrementButtonAriaLabel="Increase value by 1000"
decrementButtonAriaLabel="Decrease value by 1000"
styles={spinButtonStyles}
/>
</div>
)}
</AccordionPanel>
</AccordionItem>
<AccordionItem value="5">
<AccordionHeader>
<div className={styles.header}>Default Query Results View</div>
</AccordionHeader>
<AccordionPanel>
<div className={styles.settingsSectionContainer}>
<div className={styles.settingsSectionDescription}>
Select the default view to use when displaying query results.
</div>
<ChoiceGroup
ariaLabelledBy="defaultQueryResultsView"
selectedKey={defaultQueryResultsView}
options={defaultQueryResultsViewOptionList}
styles={choiceButtonStyles}
onChange={handleOnDefaultQueryResultsViewChange}
/>
</div>
</AccordionPanel>
</AccordionItem>
</>
)} )}
<AccordionItem value="6"> {configContext.platform !== Platform.Emulator && (
<AccordionHeader> <AccordionItem value="4">
<div className={styles.header}>Retry Settings</div> <AccordionHeader>
</AccordionHeader> <div className={styles.header}>RU Limit</div>
<AccordionPanel> </AccordionHeader>
<div className={styles.settingsSectionContainer}> <AccordionPanel>
<div className={styles.settingsSectionDescription}> <div className={styles.settingsSectionContainer}>
Retry policy associated with throttled requests during CosmosDB queries. <div className={styles.settingsSectionDescription}>
If a query exceeds a configured RU limit, the query will be aborted.
</div>
<Toggle
styles={toggleStyles}
label="Enable RU limit"
onChange={handleOnRUThresholdToggleChange}
defaultChecked={ruThresholdEnabled}
/>
</div> </div>
<div> {ruThresholdEnabled && (
<span className={styles.subHeader}>Max retry attempts</span> <div className={styles.settingsSectionContainer}>
<InfoTooltip className={styles.headerIcon}> <SpinButton
Max number of retries to be performed for a request. Default value 9. label="RU Limit (RU)"
</InfoTooltip> labelPosition={Position.top}
</div> defaultValue={(ruThreshold || DefaultRUThreshold).toString()}
<SpinButton min={1}
labelPosition={Position.top} step={1000}
min={1} onChange={handleOnRUThresholdSpinButtonChange}
step={1} incrementButtonAriaLabel="Increase value by 1000"
value={"" + retryAttempts} decrementButtonAriaLabel="Decrease value by 1000"
onChange={handleOnQueryRetryAttemptsSpinButtonChange} styles={spinButtonStyles}
incrementButtonAriaLabel="Increase value by 1" />
decrementButtonAriaLabel="Decrease value by 1" </div>
onIncrement={(newValue) => setRetryAttempts(parseInt(newValue) + 1 || retryAttempts)} )}
onDecrement={(newValue) => setRetryAttempts(parseInt(newValue) - 1 || retryAttempts)} </AccordionPanel>
onValidate={(newValue) => setRetryAttempts(parseInt(newValue) || retryAttempts)} </AccordionItem>
styles={spinButtonStyles} )}
/>
<div>
<span className={styles.subHeader}>Fixed retry interval (ms)</span>
<InfoTooltip className={styles.headerIcon}>
Fixed retry interval in milliseconds to wait between each retry ignoring the retryAfter returned as
part of the response. Default value is 0 milliseconds.
</InfoTooltip>
</div>
<SpinButton
labelPosition={Position.top}
min={1000}
step={1000}
value={"" + retryInterval}
onChange={handleOnRetryIntervalSpinButtonChange}
incrementButtonAriaLabel="Increase value by 1000"
decrementButtonAriaLabel="Decrease value by 1000"
onIncrement={(newValue) => setRetryInterval(parseInt(newValue) + 1000 || retryInterval)}
onDecrement={(newValue) => setRetryInterval(parseInt(newValue) - 1000 || retryInterval)}
onValidate={(newValue) => setRetryInterval(parseInt(newValue) || retryInterval)}
styles={spinButtonStyles}
/>
<div>
<span className={styles.subHeader}>Max wait time (s)</span>
<InfoTooltip className={styles.headerIcon}>
Max wait time in seconds to wait for a request while the retries are happening. Default value 30
seconds.
</InfoTooltip>
</div>
<SpinButton
labelPosition={Position.top}
min={1}
step={1}
value={"" + MaxWaitTimeInSeconds}
onChange={handleOnMaxWaitTimeSpinButtonChange}
incrementButtonAriaLabel="Increase value by 1"
decrementButtonAriaLabel="Decrease value by 1"
onIncrement={(newValue) => setMaxWaitTimeInSeconds(parseInt(newValue) + 1 || MaxWaitTimeInSeconds)}
onDecrement={(newValue) => setMaxWaitTimeInSeconds(parseInt(newValue) - 1 || MaxWaitTimeInSeconds)}
onValidate={(newValue) => setMaxWaitTimeInSeconds(parseInt(newValue) || MaxWaitTimeInSeconds)}
styles={spinButtonStyles}
/>
</div>
</AccordionPanel>
</AccordionItem>
<AccordionItem value="7"> {configContext.platform !== Platform.Emulator && (
<AccordionHeader> <AccordionItem value="5">
<div className={styles.header}>Enable container pagination</div> <AccordionHeader>
</AccordionHeader> <div className={styles.header}>Default Query Results View</div>
<AccordionPanel> </AccordionHeader>
<div className={styles.settingsSectionContainer}> <AccordionPanel>
<div className={styles.settingsSectionDescription}> <div className={styles.settingsSectionContainer}>
Load 50 containers at a time. Currently, containers are not pulled in alphanumeric order. <div className={styles.settingsSectionDescription}>
Select the default view to use when displaying query results.
</div>
<ChoiceGroup
ariaLabelledBy="defaultQueryResultsView"
selectedKey={defaultQueryResultsView}
options={defaultQueryResultsViewOptionList}
styles={choiceButtonStyles}
onChange={handleOnDefaultQueryResultsViewChange}
/>
</div> </div>
<Checkbox </AccordionPanel>
styles={{ </AccordionItem>
label: { padding: 0 }, )}
}}
className="padding"
ariaLabel="Enable container pagination"
checked={containerPaginationEnabled}
onChange={() => setContainerPaginationEnabled(!containerPaginationEnabled)}
label="Enable container pagination"
/>
</div>
</AccordionPanel>
</AccordionItem>
{shouldShowCrossPartitionOption && ( {configContext.platform !== Platform.Emulator && (
<AccordionItem value="6">
<AccordionHeader>
<div className={styles.header}>Retry Settings</div>
</AccordionHeader>
<AccordionPanel>
<div className={styles.settingsSectionContainer}>
<div className={styles.settingsSectionDescription}>
Retry policy associated with throttled requests during CosmosDB queries.
</div>
<div>
<span className={styles.subHeader}>Max retry attempts</span>
<InfoTooltip className={styles.headerIcon}>
Max number of retries to be performed for a request. Default value 9.
</InfoTooltip>
</div>
<SpinButton
labelPosition={Position.top}
min={1}
step={1}
value={"" + retryAttempts}
onChange={handleOnQueryRetryAttemptsSpinButtonChange}
incrementButtonAriaLabel="Increase value by 1"
decrementButtonAriaLabel="Decrease value by 1"
onIncrement={(newValue) => setRetryAttempts(parseInt(newValue) + 1 || retryAttempts)}
onDecrement={(newValue) => setRetryAttempts(parseInt(newValue) - 1 || retryAttempts)}
onValidate={(newValue) => setRetryAttempts(parseInt(newValue) || retryAttempts)}
styles={spinButtonStyles}
/>
<div>
<span className={styles.subHeader}>Fixed retry interval (ms)</span>
<InfoTooltip className={styles.headerIcon}>
Fixed retry interval in milliseconds to wait between each retry ignoring the retryAfter returned
as part of the response. Default value is 0 milliseconds.
</InfoTooltip>
</div>
<SpinButton
labelPosition={Position.top}
min={1000}
step={1000}
value={"" + retryInterval}
onChange={handleOnRetryIntervalSpinButtonChange}
incrementButtonAriaLabel="Increase value by 1000"
decrementButtonAriaLabel="Decrease value by 1000"
onIncrement={(newValue) => setRetryInterval(parseInt(newValue) + 1000 || retryInterval)}
onDecrement={(newValue) => setRetryInterval(parseInt(newValue) - 1000 || retryInterval)}
onValidate={(newValue) => setRetryInterval(parseInt(newValue) || retryInterval)}
styles={spinButtonStyles}
/>
<div>
<span className={styles.subHeader}>Max wait time (s)</span>
<InfoTooltip className={styles.headerIcon}>
Max wait time in seconds to wait for a request while the retries are happening. Default value 30
seconds.
</InfoTooltip>
</div>
<SpinButton
labelPosition={Position.top}
min={1}
step={1}
value={"" + MaxWaitTimeInSeconds}
onChange={handleOnMaxWaitTimeSpinButtonChange}
incrementButtonAriaLabel="Increase value by 1"
decrementButtonAriaLabel="Decrease value by 1"
onIncrement={(newValue) => setMaxWaitTimeInSeconds(parseInt(newValue) + 1 || MaxWaitTimeInSeconds)}
onDecrement={(newValue) => setMaxWaitTimeInSeconds(parseInt(newValue) - 1 || MaxWaitTimeInSeconds)}
onValidate={(newValue) => setMaxWaitTimeInSeconds(parseInt(newValue) || MaxWaitTimeInSeconds)}
styles={spinButtonStyles}
/>
</div>
</AccordionPanel>
</AccordionItem>
)}
{configContext.platform !== Platform.Emulator && (
<AccordionItem value="7">
<AccordionHeader>
<div className={styles.header}>Enable container pagination</div>
</AccordionHeader>
<AccordionPanel>
<div className={styles.settingsSectionContainer}>
<div className={styles.settingsSectionDescription}>
Load 50 containers at a time. Currently, containers are not pulled in alphanumeric order.
</div>
<Checkbox
styles={{
label: { padding: 0 },
}}
className="padding"
ariaLabel="Enable container pagination"
checked={containerPaginationEnabled}
onChange={() => setContainerPaginationEnabled(!containerPaginationEnabled)}
label="Enable container pagination"
/>
</div>
</AccordionPanel>
</AccordionItem>
)}
{shouldShowCrossPartitionOption && configContext.platform !== Platform.Emulator && (
<AccordionItem value="8"> <AccordionItem value="8">
<AccordionHeader> <AccordionHeader>
<div className={styles.header}>Enable cross-partition query</div> <div className={styles.header}>Enable cross-partition query</div>
@ -785,7 +792,7 @@ export const SettingsPane: FunctionComponent<{ explorer: Explorer }> = ({
</AccordionItem> </AccordionItem>
)} )}
{shouldShowParallelismOption && ( {shouldShowParallelismOption && configContext.platform !== Platform.Emulator && (
<AccordionItem value="9"> <AccordionItem value="9">
<AccordionHeader> <AccordionHeader>
<div className={styles.header}>Max degree of parallelism</div> <div className={styles.header}>Max degree of parallelism</div>
@ -819,7 +826,7 @@ export const SettingsPane: FunctionComponent<{ explorer: Explorer }> = ({
</AccordionItem> </AccordionItem>
)} )}
{shouldShowPriorityLevelOption && ( {shouldShowPriorityLevelOption && configContext.platform !== Platform.Emulator && (
<AccordionItem value="10"> <AccordionItem value="10">
<AccordionHeader> <AccordionHeader>
<div className={styles.header}>Priority Level</div> <div className={styles.header}>Priority Level</div>
@ -843,7 +850,7 @@ export const SettingsPane: FunctionComponent<{ explorer: Explorer }> = ({
</AccordionItem> </AccordionItem>
)} )}
{shouldShowGraphAutoVizOption && ( {shouldShowGraphAutoVizOption && configContext.platform !== Platform.Emulator && (
<AccordionItem value="11"> <AccordionItem value="11">
<AccordionHeader> <AccordionHeader>
<div className={styles.header}>Display Gremlin query results as:&nbsp;</div> <div className={styles.header}>Display Gremlin query results as:&nbsp;</div>
@ -865,7 +872,7 @@ export const SettingsPane: FunctionComponent<{ explorer: Explorer }> = ({
</AccordionItem> </AccordionItem>
)} )}
{shouldShowCopilotSampleDBOption && ( {shouldShowCopilotSampleDBOption && configContext.platform !== Platform.Emulator && (
<AccordionItem value="12"> <AccordionItem value="12">
<AccordionHeader> <AccordionHeader>
<div className={styles.header}>Enable sample database</div> <div className={styles.header}>Enable sample database</div>