darabos commited on
Commit
c138071
·
2 Parent(s): c0aa740 28b9de2

Merge pull request #2 from biggraph/darabos-checkbox

Browse files
Files changed (2) hide show
  1. server/ops.py +1 -1
  2. web/src/NodeParameter.svelte +21 -8
server/ops.py CHANGED
@@ -61,7 +61,7 @@ class Parameter(BaseConfig):
61
  if default is inspect._empty:
62
  default = None
63
  if type is None or type is inspect._empty:
64
- type = typeof(default) if default else None
65
  return Parameter(name=name, default=default, type=type)
66
 
67
  class Input(BaseConfig):
 
61
  if default is inspect._empty:
62
  default = None
63
  if type is None or type is inspect._empty:
64
+ type = typeof(default) if default is not None else None
65
  return Parameter(name=name, default=default, type=type)
66
 
67
  class Input(BaseConfig):
web/src/NodeParameter.svelte CHANGED
@@ -3,21 +3,24 @@
3
  export let value;
4
  export let meta;
5
  export let onChange;
 
6
  </script>
7
 
8
  <label class="param">
9
- <span class="param-name">{name.replace(/_/g, ' ')}</span>
10
  {#if meta?.type?.format === 'collapsed'}
 
11
  <button class="collapsed-param form-control form-control-sm">
12
 
13
  </button>
14
  {:else if meta?.type?.format === 'textarea'}
 
15
  <textarea class="form-control form-control-sm"
16
- rows="6"
17
- value={value}
18
- on:change={(evt) => onChange(evt.currentTarget.value)}
19
- />
20
  {:else if meta?.type?.enum}
 
21
  <select class="form-select form-select-sm"
22
  value={value || meta.type.enum[0]}
23
  on:change={(evt) => onChange(evt.currentTarget.value)}
@@ -26,11 +29,21 @@
26
  <option value={option}>{option}</option>
27
  {/each}
28
  </select>
 
 
 
 
 
 
 
 
 
29
  {:else}
 
30
  <input class="form-control form-control-sm"
31
- value={value}
32
- on:change={(evt) => onChange(evt.currentTarget.value)}
33
- />
34
  {/if}
35
  </label>
36
 
 
3
  export let value;
4
  export let meta;
5
  export let onChange;
6
+ const BOOLEAN = "<class 'bool'>";
7
  </script>
8
 
9
  <label class="param">
 
10
  {#if meta?.type?.format === 'collapsed'}
11
+ <span class="param-name">{name.replace(/_/g, ' ')}</span>
12
  <button class="collapsed-param form-control form-control-sm">
13
 
14
  </button>
15
  {:else if meta?.type?.format === 'textarea'}
16
+ <span class="param-name">{name.replace(/_/g, ' ')}</span>
17
  <textarea class="form-control form-control-sm"
18
+ rows="6"
19
+ value={value}
20
+ on:change={(evt) => onChange(evt.currentTarget.value)}
21
+ />
22
  {:else if meta?.type?.enum}
23
+ <span class="param-name">{name.replace(/_/g, ' ')}</span>
24
  <select class="form-select form-select-sm"
25
  value={value || meta.type.enum[0]}
26
  on:change={(evt) => onChange(evt.currentTarget.value)}
 
29
  <option value={option}>{option}</option>
30
  {/each}
31
  </select>
32
+ {:else if meta?.type?.type === BOOLEAN}
33
+ <label class="form-check-label">
34
+ <input class="form-check-input"
35
+ type="checkbox"
36
+ checked={value}
37
+ on:change={(evt) => onChange(evt.currentTarget.checked)}
38
+ />
39
+ {name.replace(/_/g, ' ')}
40
+ </label>
41
  {:else}
42
+ <span class="param-name">{name.replace(/_/g, ' ')}</span>
43
  <input class="form-control form-control-sm"
44
+ value={value}
45
+ on:change={(evt) => onChange(evt.currentTarget.value)}
46
+ />
47
  {/if}
48
  </label>
49