budibase/packages/bbui/src/Form/DatePicker.svelte

47 lines
1.1 KiB
Svelte
Raw Normal View History

<script>
import Field from "./Field.svelte"
import DatePicker from "./Core/DatePicker.svelte"
import { createEventDispatcher } from "svelte"
export let value = null
export let label = null
export let labelPosition = "above"
export let disabled = false
export let error = null
export let enableTime = true
export let timeOnly = false
2022-08-11 12:01:48 +02:00
export let time24hr = false
export let placeholder = null
export let appendTo = undefined
export let ignoreTimezones = false
2022-10-19 11:16:54 +02:00
export let range = false
const dispatch = createEventDispatcher()
const onChange = e => {
2022-10-20 17:10:09 +02:00
if (range) {
// Flatpickr cant take two dates and work out what to display, needs to be provided a string.
// Like - "Date1 to Date2". Hence passing in that specifically from the array
2022-10-24 16:09:32 +02:00
value = e?.detail[1]
2022-10-20 17:10:09 +02:00
} else {
value = e.detail
}
dispatch("change", e.detail)
}
</script>
<Field {label} {labelPosition} {error}>
<DatePicker
{error}
{disabled}
{value}
{placeholder}
{enableTime}
{timeOnly}
2022-08-11 12:01:48 +02:00
{time24hr}
{appendTo}
{ignoreTimezones}
2022-10-19 11:16:54 +02:00
{range}
on:change={onChange}
/>
</Field>