script editor
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
<script lang="ts">
|
||||
import type { EffectRaw } from "$lib/models/assignment";
|
||||
import BFormOption from "../bforms/BFormOption.svelte";
|
||||
import BFormParameter from "../bforms/BFormParameter.svelte";
|
||||
|
||||
export let value: EffectRaw
|
||||
</script>
|
||||
|
||||
<BFormOption unclickable state icon="play">
|
||||
<BFormParameter
|
||||
narrow label="Effect" type="select" bind:value={value.kind}
|
||||
options={[
|
||||
{ value:"solid", label:"Solid" },
|
||||
{ value:"gradient", label:"Gradient" },
|
||||
{ value:"pattern", label:"Pattern" },
|
||||
{ value:"random", label:"Random" },
|
||||
{ value:"vrange", label:"V. Range" },
|
||||
]}
|
||||
/>
|
||||
</BFormOption>
|
||||
|
||||
{#if value.kind !== "manual" && value.kind !== "vrange"}
|
||||
<BFormOption alwaysOpen unclickable state={value.animationMs > 0} icon="clock_rotate_left">
|
||||
<BFormParameter
|
||||
narrow label="Milliseconds" type="number"
|
||||
min={0} max={10000000} step={100}
|
||||
bind:value={value.animationMs}
|
||||
/>
|
||||
{#if value.kind === "solid"}
|
||||
<BFormParameter
|
||||
narrower label="Interpolate" type="number"
|
||||
min={0} max={10} step={1}
|
||||
bind:value={value.interleave}
|
||||
/>
|
||||
{/if}
|
||||
{#if value.kind === "gradient"}
|
||||
<BFormParameter
|
||||
narrower label="Reverse" type="checkbox"
|
||||
bind:value={value.reverse}
|
||||
/>
|
||||
{/if}
|
||||
{#if value.kind === "gradient" || value.kind === "random"}
|
||||
<BFormParameter
|
||||
narrower label="Interpolate" type="checkbox"
|
||||
bind:value={value.interpolate}
|
||||
/>
|
||||
{/if}
|
||||
</BFormOption>
|
||||
{/if}
|
||||
{#if value.kind === "vrange"}
|
||||
<BFormOption unclickable state icon="temperature_half">
|
||||
<BFormParameter
|
||||
label="Variable" type="select" bind:value={value.variable}
|
||||
options={[
|
||||
{ value:"motion.min", label:"Min Motion" },
|
||||
{ value:"motion.max", label:"Max Motion" },
|
||||
{ value:"motion.avg", label:"Avg Motion" },
|
||||
{ value:"temperature.min", label:"Min Temperature" },
|
||||
{ value:"temperature.max", label:"Max Temperature" },
|
||||
{ value:"temperature.avg", label:"Avg Temperature" },
|
||||
]}
|
||||
/>
|
||||
<BFormParameter
|
||||
narrower label="Min" type="number"
|
||||
min={0} max={1000} step={1}
|
||||
bind:value={value.min}
|
||||
/>
|
||||
<BFormParameter
|
||||
narrower label="Max" type="number"
|
||||
min={0} max={1000} step={1}
|
||||
bind:value={value.max}
|
||||
/>
|
||||
</BFormOption>
|
||||
{/if}
|
||||
Reference in New Issue
Block a user