Add default value for date field
This commit is contained in:
parent
d8172faab6
commit
f1f08dd85d
|
@ -7,12 +7,43 @@
|
|||
export let placeholder
|
||||
export let disabled = false
|
||||
export let enableTime = false
|
||||
export let defaultValue
|
||||
|
||||
let fieldState
|
||||
let fieldApi
|
||||
|
||||
const parseDate = val => {
|
||||
if (!val) {
|
||||
return null
|
||||
}
|
||||
let date
|
||||
if (isNaN(val)) {
|
||||
// Treat as date string of some sort
|
||||
date = new Date(val)
|
||||
} else {
|
||||
// Treat as numerical timestamp
|
||||
date = new Date(parseInt(val))
|
||||
}
|
||||
const time = date.getTime()
|
||||
if (isNaN(time)) {
|
||||
return null
|
||||
}
|
||||
// By rounding to the nearest second we avoid locking up in an endless
|
||||
// loop in the builder, caused by potentially enriching {{ now }} to every
|
||||
// millisecond.
|
||||
return new Date(Math.floor(time / 1000) * 1000)
|
||||
}
|
||||
</script>
|
||||
|
||||
<Field {label} {field} {disabled} type="datetime" bind:fieldState bind:fieldApi>
|
||||
<Field
|
||||
{label}
|
||||
{field}
|
||||
{disabled}
|
||||
defaultValue={parseDate(defaultValue)}
|
||||
type="datetime"
|
||||
bind:fieldState
|
||||
bind:fieldApi
|
||||
>
|
||||
{#if fieldState}
|
||||
<CoreDatePicker
|
||||
value={$fieldState.value}
|
||||
|
|
Loading…
Reference in New Issue