this repo has no description
1import { createSignal, For, Show } from 'solid-js';
2import './ParameterList.css';
3
4export interface ParameterListProps{
5 setPopupOpen: ( open: boolean ) => void
6 value: { type: string, desc: string }[],
7 changed: ( value: { type: string, desc: string }[] ) => void
8}
9
10export let ParameterList = ( props: ParameterListProps ) => {
11 let [ parameters, setParameters ] = createSignal<{ type: string, desc: string }[]>(props.value, { equals: false });
12 let [ addParametersOpen, setAddParametersOpen ] = createSignal(false);
13
14 return (
15 <div class="parameter-list">
16 <div class="parameter-list-inner">
17 <div class="parameter-list-header">
18 <h1 style={{ float: 'left' }}>Parameter List</h1>
19 <div style={{ float: 'right' }} class="parameter-list-close">
20 <div style={{ background: 'red', width: '25px', height: '25px', cursor: 'pointer' }} onClick={() => props.setPopupOpen(false)}></div>
21 </div>
22 </div>
23 <div class="parameter-list-content">
24 <For each={parameters()}>
25 { i => <div>{ JSON.stringify(i) }</div>}
26 </For>
27 <div class="button" onClick={() => { setAddParametersOpen(!addParametersOpen()) }}>Add Parameter + </div>
28 <Show when={addParametersOpen()}>
29 <div class="parameter-list-button-dropdown">
30 <div onClick={() => {
31 setAddParametersOpen(false);
32
33 let params = parameters();
34 params.push({ type: 'Float', desc: '' });
35
36 setParameters(params);
37 props.changed(params);
38 }}>Float Parameter</div>
39 <div onClick={() => {
40 setAddParametersOpen(false);
41
42 let params = parameters();
43 params.push({ type: 'Int', desc: '' });
44
45 setParameters(params);
46 props.changed(params);
47 }}>Integer Parameter</div>
48 <div onClick={() => {
49 setAddParametersOpen(false);
50
51 let params = parameters();
52 params.push({ type: 'Boolean', desc: '' });
53
54 setParameters(params);
55 props.changed(params);
56 }}>Boolean Parameter</div>
57 </div>
58 </Show>
59 </div>
60 </div>
61 </div>
62 )
63}