budibase/packages/builder/src/components/automation/SetupPanel/CronBuilder.svelte

66 lines
1.2 KiB
Svelte
Raw Normal View History

2021-05-18 23:20:41 +02:00
<script>
2021-06-15 20:36:56 +02:00
import { Button, Select, Input } from "@budibase/bbui"
import { createEventDispatcher } from "svelte"
const dispatch = createEventDispatcher()
2021-05-18 23:20:41 +02:00
export let value
const onChange = e => {
value = e.detail
dispatch("change", e.detail)
}
2021-05-18 23:20:41 +02:00
let presets = false
const CRON_EXPRESSIONS = [
{
label: "Every Minute",
2021-05-19 11:46:47 +02:00
value: "* * * * *",
2021-05-18 23:20:41 +02:00
},
{
label: "Every Hour",
2021-05-19 11:46:47 +02:00
value: "0 * * * *",
2021-05-18 23:20:41 +02:00
},
{
label: "Every Morning at 8AM",
2021-05-19 11:46:47 +02:00
value: "0 8 * * *",
2021-05-18 23:20:41 +02:00
},
{
label: "Every Night at Midnight",
2021-05-19 11:46:47 +02:00
value: "0 0 * * *",
2021-05-18 23:20:41 +02:00
},
{
label: "Every Budibase Reboot",
2021-05-19 11:46:47 +02:00
value: "@reboot",
2021-05-18 23:20:41 +02:00
},
]
</script>
<div class="block-field">
<Input on:change={onChange} {value} />
2021-05-18 23:20:41 +02:00
<div class="presets">
2021-05-19 11:46:47 +02:00
<Button on:click={() => (presets = !presets)}
>{presets ? "Hide" : "Show"} Presets</Button
>
2021-05-18 23:20:41 +02:00
{#if presets}
2021-05-19 11:46:47 +02:00
<Select
on:change={onChange}
{value}
2021-05-19 11:46:47 +02:00
secondary
extraThin
label="Presets"
options={CRON_EXPRESSIONS}
/>
2021-05-18 23:20:41 +02:00
{/if}
</div>
</div>
<style>
2021-05-19 11:46:47 +02:00
.presets {
margin-top: var(--spacing-m);
}
.block-field {
padding-top: var(--spacing-s);
}
2021-05-18 23:20:41 +02:00
</style>