File size: 744 Bytes
b7a4f8b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<script lang="ts">
  export let name: string;
  export let value;
  export let meta;
  export let onChange;
</script>

<div class="param">
  <label>
    {name}<br>
    {#if meta?.type?.enum}
      <select
        value={value}
        on:change={(evt) => onChange(evt.currentTarget.value)}
      >
        {#each meta.type.enum as option}
          <option value={option}>{option}</option>
        {/each}
      </select>
    {:else}
      <input
      value={value}
      on:input={(evt) => onChange(evt.currentTarget.value)}
      />
    {/if}
  </label>
</div>

<style>
  .param {
    padding: 8px;
  }
  .param label {
    font-size: 12px;
    display: block;
  }
  .param input,
  .param select {
    width: calc(100% - 8px);
  }
</style>