Skip to content

Commit bee7728

Browse files
committed
feat!: Add option to set openMenu in text-input to toggle (resolves #905)
1 parent 58ff212 commit bee7728

File tree

3 files changed

+6
-10
lines changed

3 files changed

+6
-10
lines changed

src/VueDatePicker/components/DatepickerInput.vue

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -272,13 +272,9 @@
272272
const handleOpen = (ev: KeyboardEvent | MouseEvent) => {
273273
ev.preventDefault();
274274
checkStopPropagation(ev, defaultedConfig.value, true);
275-
if (
276-
defaultedTextInput.value.enabled &&
277-
defaultedTextInput.value.openMenu &&
278-
!defaultedInline.value.input &&
279-
!props.isMenuOpen
280-
) {
281-
emit('open');
275+
if (defaultedTextInput.value.enabled && defaultedTextInput.value.openMenu && !defaultedInline.value.input) {
276+
if (defaultedTextInput.value.openMenu === 'open' && !props.isMenuOpen) return emit('open');
277+
if (defaultedTextInput.value.openMenu === 'toggle') return emit('toggle');
282278
} else if (!defaultedTextInput.value.enabled) {
283279
emit('toggle');
284280
}
@@ -304,7 +300,7 @@
304300
305301
const handleKeyPress = (ev: KeyboardEvent, fromInput?: boolean): void => {
306302
if (ev.key === 'Tab') {
307-
handleTab(ev, false);
303+
handleTab(ev, fromInput);
308304
}
309305
if (ev.key === 'Enter') {
310306
handleEnter(ev);

src/VueDatePicker/interfaces.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export interface ICalendarDate {
4545
export interface TextInputOptions {
4646
enterSubmit: boolean;
4747
tabSubmit: boolean;
48-
openMenu: boolean;
48+
openMenu: string | boolean;
4949
rangeSeparator: string;
5050
selectOnFocus: boolean;
5151
format?: string | string[] | ((value: string) => Date | null);

src/VueDatePicker/utils/defaults.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ export const getDefaultTextInputOptions = (textInput: TextInputProp): TextInputO
119119
const defaultOptions = {
120120
enterSubmit: true,
121121
tabSubmit: true,
122-
openMenu: true,
122+
openMenu: 'open',
123123
selectOnFocus: false,
124124
rangeSeparator: ' - ',
125125
};

0 commit comments

Comments
 (0)