mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-09-07 08:02:40 +00:00
69 lines
2.0 KiB
Svelte
69 lines
2.0 KiB
Svelte
<script lang="ts">
|
|
import { RawScript } from '$lib/gen'
|
|
|
|
import { faCode, faRepeat } from '@fortawesome/free-solid-svg-icons'
|
|
import { createEventDispatcher } from 'svelte'
|
|
import FlowScriptPicker from './pickers/FlowScriptPicker.svelte'
|
|
import PickHubScript from './pickers/PickHubScript.svelte'
|
|
import PickScript from './pickers/PickScript.svelte'
|
|
|
|
export let shouldDisableLoopCreation: boolean = false
|
|
export let shouldDisableTriggerScripts: boolean = false
|
|
const dispatch = createEventDispatcher()
|
|
</script>
|
|
|
|
<div class="space-y-4">
|
|
{#if !shouldDisableTriggerScripts}
|
|
<div class="text-sm font-bold">Scripts</div>
|
|
{/if}
|
|
|
|
<div class="grid sm:grid-col-2 lg:grid-cols-3 gap-4">
|
|
<PickScript on:pick />
|
|
<PickHubScript on:pick />
|
|
|
|
<FlowScriptPicker
|
|
label={`Create a for-loop here`}
|
|
disabled={shouldDisableLoopCreation}
|
|
icon={faRepeat}
|
|
iconColor="text-blue-500"
|
|
on:click={() => dispatch('loop')}
|
|
/>
|
|
|
|
<FlowScriptPicker
|
|
label={`New PostgreSQL query`}
|
|
icon={faCode}
|
|
iconColor="text-blue-800"
|
|
on:click={() => dispatch('new', { language: RawScript.language.DENO, type: 'pgsql' })}
|
|
/>
|
|
|
|
<FlowScriptPicker
|
|
label="New Python script (3.10)"
|
|
icon={faCode}
|
|
iconColor="text-green-500"
|
|
on:click={() => dispatch('new', { language: RawScript.language.PYTHON3, type: 'flow' })}
|
|
/>
|
|
|
|
<FlowScriptPicker
|
|
label="New Typescript script (Deno)"
|
|
icon={faCode}
|
|
iconColor="text-blue-800"
|
|
on:click={() => dispatch('new', { language: RawScript.language.DENO, type: 'flow' })}
|
|
/>
|
|
</div>
|
|
|
|
{#if !shouldDisableTriggerScripts}
|
|
<div class="text-sm font-bold">Trigger scripts</div>
|
|
|
|
<div class="grid sm:grid-col-1 md:grid-col-2 lg:grid-cols-3 gap-4">
|
|
<PickScript isTrigger={true} on:pick />
|
|
<PickHubScript isTrigger={true} on:pick />
|
|
<FlowScriptPicker
|
|
label="New Typescript script (Deno)"
|
|
icon={faCode}
|
|
iconColor="text-blue-800"
|
|
on:click={() => dispatch('new', { language: RawScript.language.DENO, type: 'trigger' })}
|
|
/>
|
|
</div>
|
|
{/if}
|
|
</div>
|