1
0
Fork 0
mirror of synced 2024-05-17 10:53:15 +12:00
budibase/packages/client/src/components/app/forms/DateTimeField.svelte

54 lines
1.1 KiB
Svelte
Raw Normal View History

2021-01-29 07:53:40 +13:00
<script>
import { CoreDatePicker } from "@budibase/bbui"
import Field from "./Field.svelte"
2021-01-29 07:53:40 +13:00
export let field
export let label
export let placeholder
export let disabled = false
export let enableTime = true
export let timeOnly = false
2022-08-11 22:01:48 +12:00
export let time24hr = false
export let ignoreTimezones = false
export let validation
2021-08-05 01:33:09 +12:00
export let defaultValue
2022-04-14 20:46:46 +12:00
export let onChange
2021-01-29 07:53:40 +13:00
let fieldState
let fieldApi
2022-04-14 20:46:46 +12:00
const handleChange = e => {
const changed = fieldApi.setValue(e.detail)
if (onChange && changed) {
2022-04-14 20:46:46 +12:00
onChange({ value: e.detail })
}
}
2021-01-29 07:53:40 +13:00
</script>
<Field
{label}
{field}
{disabled}
{validation}
{defaultValue}
type="datetime"
bind:fieldState
bind:fieldApi
>
2021-01-29 07:53:40 +13:00
{#if fieldState}
<CoreDatePicker
value={fieldState.value}
2022-04-14 20:46:46 +12:00
on:change={handleChange}
disabled={fieldState.disabled}
error={fieldState.error}
id={fieldState.fieldId}
appendTo={document.getElementById("flatpickr-root")}
{enableTime}
{timeOnly}
2022-08-11 22:01:48 +12:00
{time24hr}
{ignoreTimezones}
{placeholder}
/>
2021-01-29 07:53:40 +13:00
{/if}
</Field>