Skip to content

Commit 2750309

Browse files
Fix: blank date picker
Closes #41
1 parent ba4d751 commit 2750309

File tree

3 files changed

+36
-6
lines changed

3 files changed

+36
-6
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Changelog
22

3+
## Next
4+
- Fix blank date picker when no date is selected and current date is outside min/max range
5+
36
## 2.4.1 - 2023 Apr 29
47
- Fix browsing not working with `browseWithoutSelecting` when a date is selected
58

src/lib/DatePicker.svelte

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,6 @@
3333
/** Default Date to use */
3434
const defaultDate = new Date()
3535
36-
/** The date shown in the popup when none is selected */
37-
let browseDate = value ? cloneDate(value) : cloneDate(defaultDate)
38-
$: if (browseDate.getTime() !== value?.getTime() && !browseWithoutSelecting) {
39-
browseDate = value ? cloneDate(value) : browseDate
40-
}
41-
4236
/** The earliest year the user can select */
4337
export let min = new Date(defaultDate.getFullYear() - 20, 0, 1)
4438
/** The latest year the user can select */
@@ -58,6 +52,12 @@
5852
}
5953
}
6054
55+
/** The date shown in the popup when none is selected */
56+
let browseDate = value ? cloneDate(value) : cloneDate(clamp(defaultDate, min, max))
57+
$: if (browseDate.getTime() !== value?.getTime() && !browseWithoutSelecting) {
58+
browseDate = value ? cloneDate(value) : browseDate
59+
}
60+
6161
let years = getYears(min, max)
6262
$: years = getYears(min, max)
6363
function getYears(min: Date, max: Date) {

src/routes/bug/+page.svelte

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<script lang="ts">
2+
import DatePicker from '$lib/DatePicker.svelte'
3+
4+
let date: Date | null = null
5+
// let date_string: string | undefined
6+
let is_date_valid: boolean
7+
let max_date = new Date()
8+
9+
// Atleast 14 years old
10+
max_date.setDate(max_date.getDate() - 5110)
11+
12+
$: if (date && is_date_valid) {
13+
date.setHours(12, 0, 0, 0)
14+
date.toISOString()
15+
// date_string = date.toISOString().slice(0, 10)
16+
}
17+
</script>
18+
19+
<!-- <input bind:value={date_string} type="date" class="hidden" id="id_birth_date" name="birth_date" /> -->
20+
<!-- <DateInput
21+
bind:value={date}
22+
bind:valid={is_date_valid}
23+
max={max_date}
24+
format="yyyy-MM-dd"
25+
placeholder="Select a date"
26+
/> -->
27+
<DatePicker bind:value={date} max={max_date} />

0 commit comments

Comments
 (0)