mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
grafana-ui: prevent TimeRangePicker from submitting wrapping forms (#97973)
This commit is contained in:
parent
1a6312296e
commit
0e55e45f88
@ -91,3 +91,25 @@ describe('TimePicker', () => {
|
||||
expect(unsyncButtons.length).toBe(2);
|
||||
});
|
||||
});
|
||||
|
||||
it('does not submit wrapping forms', async () => {
|
||||
const onSubmit = jest.fn();
|
||||
const container = render(
|
||||
<form onSubmit={onSubmit}>
|
||||
<TimeRangePicker
|
||||
onChangeTimeZone={() => {}}
|
||||
onChange={(value) => {}}
|
||||
value={value}
|
||||
onMoveBackward={() => {}}
|
||||
onMoveForward={() => {}}
|
||||
onZoom={() => {}}
|
||||
/>
|
||||
</form>
|
||||
);
|
||||
|
||||
const clicks = container.getAllByRole('button').map((button) => userEvent.click(button));
|
||||
|
||||
await Promise.all(clicks);
|
||||
|
||||
expect(onSubmit).not.toHaveBeenCalled();
|
||||
});
|
||||
|
@ -149,6 +149,7 @@ export function TimeRangePicker(props: TimeRangePickerProps) {
|
||||
variant={variant}
|
||||
onClick={onMoveBackward}
|
||||
icon="angle-left"
|
||||
type="button"
|
||||
narrow
|
||||
/>
|
||||
)}
|
||||
@ -168,6 +169,7 @@ export function TimeRangePicker(props: TimeRangePickerProps) {
|
||||
onClick={onToolbarButtonSwitch}
|
||||
icon={timePickerIcon}
|
||||
isOpen={isOpen}
|
||||
type="button"
|
||||
variant={variant}
|
||||
>
|
||||
<TimePickerButtonLabel {...props} />
|
||||
@ -206,6 +208,7 @@ export function TimeRangePicker(props: TimeRangePickerProps) {
|
||||
onClick={onMoveForward}
|
||||
icon="angle-right"
|
||||
narrow
|
||||
type="button"
|
||||
variant={variant}
|
||||
/>
|
||||
)}
|
||||
@ -215,6 +218,7 @@ export function TimeRangePicker(props: TimeRangePickerProps) {
|
||||
aria-label={t('time-picker.range-picker.zoom-out-button', 'Zoom out time range')}
|
||||
onClick={onZoom}
|
||||
icon="search-minus"
|
||||
type="button"
|
||||
variant={variant}
|
||||
/>
|
||||
</Tooltip>
|
||||
|
Loading…
Reference in New Issue
Block a user