Path: blob/main/extensions/copilot/test/simulation/workbench/components/baselineJSONPicker.tsx
13399 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { Dropdown, Option, OptionOnSelectData, SelectionEvents } from '@fluentui/react-components';6import * as mobx from 'mobx';7import * as mobxlite from 'mobx-react-lite';8import * as React from 'react';9import { assertType } from '../../../../src/util/vs/base/common/types';10import { SimulationTestsProvider } from '../stores/simulationTestsProvider';11import { useInternalToolbarPickerStyles } from './pickerStyle';1213type Props = {14testsProvider: SimulationTestsProvider;15};1617export const BaselineJSONPicker = mobxlite.observer(({ testsProvider }: Props) => {1819const id = 'baselineJSONPicker';20const styles = useInternalToolbarPickerStyles();2122const onOptionSelect = mobx.action((_e: SelectionEvents, { optionValue }: OptionOnSelectData) => {23assertType(optionValue === 'beforeRunBaselineJSON' || optionValue === 'workingTreeBaselineJSON');24testsProvider.comparedBaselineJSON = optionValue;25});2627return (28<div className={styles.root}>29<label htmlFor={id}>Compare against baseline.json</label>30<Dropdown31aria-labelledby={id}32placeholder='which baseline.json'33size='small'34selectedOptions={[testsProvider.comparedBaselineJSON]}35value={testsProvider.comparedBaselineJSON === 'beforeRunBaselineJSON' ? 'Snapshot before run' : 'Working tree'}36onOptionSelect={onOptionSelect}37>38<Option key={0} value={'beforeRunBaselineJSON'}>39Snapshot before run40</Option>41<Option key={1} value={'workingTreeBaselineJSON'}>42Working tree43</Option>44</Dropdown>45</div>46);47});484950