Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/copilot/test/simulation/workbench/components/compareAgainstRunPicker.tsx
13399 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { Dropdown, Option, OptionOnSelectData, SelectionEvents } from '@fluentui/react-components';
7
import * as mobxlite from 'mobx-react-lite';
8
import * as React from 'react';
9
import { SimulationRunsProvider } from '../stores/simulationBaseline';
10
import { useInternalToolbarPickerStyles } from './pickerStyle';
11
12
type Props = {
13
simulationRunsProvider: SimulationRunsProvider;
14
};
15
16
export const CompareAgainstRunPicker = mobxlite.observer(({ simulationRunsProvider }: Props) => {
17
18
const id = 'compareAgainstRunPicker';
19
const styles = useInternalToolbarPickerStyles();
20
21
const pickedRun = simulationRunsProvider.selectedBaselineRunName.value;
22
23
return (
24
<div className={styles.root}>
25
<label htmlFor={id}>Compare against run</label>
26
<Dropdown
27
aria-labelledby={id}
28
clearable={pickedRun !== ''}
29
placeholder='Compare against current run'
30
size='small'
31
selectedOptions={[pickedRun]}
32
value={pickedRun}
33
onOptionSelect={(_e: SelectionEvents, { optionValue }: OptionOnSelectData) => simulationRunsProvider.selectedBaselineRunName.value = (optionValue ?? '')}
34
>
35
{simulationRunsProvider.runs.map((run) => (
36
<Option key={run.name} value={run.name}>
37
{run.friendlyName}
38
</Option>
39
))}
40
</Dropdown>
41
</div>
42
);
43
});
44
45