fix(date-picker): re-initialize calendar if options change

Fixes #1127
This commit is contained in:
Eric Liu 2022-02-23 06:50:25 -08:00
commit b8e07c8f08

View file

@ -138,18 +138,11 @@
}, },
}); });
async function initCalendar() { async function initCalendar(options) {
calendar?.destroy();
calendar = null;
calendar = await createCalendar({ calendar = await createCalendar({
options: { options,
appendTo: datePickerRef,
dateFormat,
defaultDate: $inputValue,
locale,
maxDate,
minDate,
mode: $mode,
...flatpickrProps,
},
base: inputRef, base: inputRef,
input: inputRefTo, input: inputRefTo,
dispatch: (event) => { dispatch: (event) => {
@ -203,7 +196,17 @@
$: valueFrom = $inputValueFrom; $: valueFrom = $inputValueFrom;
$: inputValueTo.set(valueTo); $: inputValueTo.set(valueTo);
$: valueTo = $inputValueTo; $: valueTo = $inputValueTo;
$: if ($hasCalendar && !calendar && inputRef) initCalendar(); $: if ($hasCalendar && inputRef)
initCalendar({
appendTo: datePickerRef,
dateFormat,
defaultDate: $inputValue,
locale,
maxDate,
minDate,
mode: $mode,
...flatpickrProps,
});
</script> </script>
<svelte:window <svelte:window