Skip to content

Commit 7bf946c

Browse files
authored
fix: needConfirm false should not trigger open in SinglePicker (#914)
1 parent 8a420c4 commit 7bf946c

File tree

3 files changed

+26
-2
lines changed

3 files changed

+26
-2
lines changed

jest.config.js

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
module.exports = {
2-
setupFiles: ['./tests/setup.js'],
32
coveragePathIgnorePatterns: ['src/locale/', 'tests/'],
43
};

src/PickerInput/SinglePicker.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -603,7 +603,6 @@ function Picker<DateType extends object = any>(
603603

604604
// Submit with complex picker
605605
if (!mergedOpen && complexPicker && !needConfirm && lastOp === 'panel') {
606-
triggerOpen(true);
607606
triggerConfirm();
608607
}
609608
}, [mergedOpen]);

tests/new-range.spec.tsx

+26
Original file line numberDiff line numberDiff line change
@@ -785,6 +785,32 @@ describe('NewPicker.Range', () => {
785785
expect(container.querySelectorAll('input')[0]).toHaveValue('1990-09-05');
786786
expect(container.querySelectorAll('input')[1]).toHaveValue('1990-09-05');
787787
});
788+
789+
it('not trigger open when !needConfirm', () => {
790+
const onChange = jest.fn();
791+
const onOpenChange = jest.fn();
792+
793+
const { container } = render(
794+
<DayPicker showTime onChange={onChange} onOpenChange={onOpenChange} needConfirm={false} />,
795+
);
796+
openPicker(container);
797+
798+
fireEvent.click(findCell(5));
799+
800+
act(() => {
801+
jest.runAllTimers();
802+
});
803+
expect(onOpenChange).toHaveBeenCalledWith(true);
804+
805+
// Window click to close
806+
fireEvent.mouseDown(document.body);
807+
act(() => {
808+
jest.runAllTimers();
809+
});
810+
811+
expect(onOpenChange).toHaveBeenCalledTimes(2);
812+
expect(onOpenChange).toHaveBeenCalledWith(false);
813+
});
788814
});
789815

790816
describe('open', () => {

0 commit comments

Comments
 (0)