Skip to content

Commit 203d86f

Browse files
committed
feat: Add setDateOnMenuClose in config prop (resolves #1027)
1 parent eba21dd commit 203d86f

File tree

4 files changed

+9
-3
lines changed

4 files changed

+9
-3
lines changed

index.d.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@ export interface RangeConfig {
108108
maxRange?: string | number;
109109
minRange?: string | number;
110110
autoRange?: string | number;
111-
mobileBreakpoint?: number;
112111
}
113112

114113
export type CustomClass = string | string[];
@@ -137,6 +136,8 @@ export interface GeneralConfig {
137136
keepViewOnOffsetClick?: boolean;
138137
timeArrowHoldThreshold?: boolean;
139138
shadowDom?: boolean;
139+
mobileBreakpoint?: number;
140+
setDateOnMenuClose?: boolean;
140141
}
141142

142143
export interface VueDatePickerProps {

src/VueDatePicker/VueDatePicker.vue

+5-2
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,10 @@
428428
/**
429429
* Closes the menu and clears the internal data
430430
*/
431-
const closeMenu = (): void => {
431+
const closeMenu = (fromClickAway = false): void => {
432+
if (fromClickAway && internalModelValue.value && defaultedConfig.value.setDateOnMenuClose) {
433+
selectDate();
434+
}
432435
if (!defaultedInline.value.enabled) {
433436
if (isOpen.value) {
434437
isOpen.value = false;
@@ -525,7 +528,7 @@
525528
526529
const clickOutside = (validateBeforeEmit: () => boolean) => {
527530
if (defaultedConfig.value.onClickOutside) return defaultedConfig.value.onClickOutside(validateBeforeEmit);
528-
return closeMenu();
531+
return closeMenu(true);
529532
};
530533
531534
const handleFlow = (skipStep = 0) => {

src/VueDatePicker/interfaces.ts

+1
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,7 @@ export interface Config {
288288
timeArrowHoldThreshold: number;
289289
shadowDom?: boolean;
290290
mobileBreakpoint: number;
291+
setDateOnMenuClose?: boolean;
291292
}
292293

293294
export interface Highlight {

src/VueDatePicker/utils/defaults.ts

+1
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ export const getDefaultConfig = (config?: Partial<Config>): Config => {
176176
timeArrowHoldThreshold: 0,
177177
shadowDom: false,
178178
mobileBreakpoint: 600,
179+
setDateOnMenuClose: false,
179180
};
180181
return { ...defaultConfig, ...(config ?? {}) };
181182
};

0 commit comments

Comments
 (0)