File tree Expand file tree Collapse file tree 1 file changed +38
-0
lines changed
apps/frontend/src/components Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change
1
+ import { Checkbox , Table } from "@quassel/ui" ;
2
+ import { components } from "../api.gen" ;
3
+
4
+ type QuestionnairesSelectProps = {
5
+ value : number [ ] ;
6
+ onChange : ( participantIds : number [ ] ) => void ;
7
+ questionnaires : components [ "schemas" ] [ "QuestionnaireResponseDto" ] [ ] ;
8
+ } ;
9
+
10
+ export function QuestionnairesSelect ( { questionnaires, value, onChange } : QuestionnairesSelectProps ) {
11
+ return (
12
+ < Table >
13
+ < Table . Caption > Questionnaires</ Table . Caption >
14
+ < Table . Thead >
15
+ < Table . Tr >
16
+ < Table . Th > </ Table . Th >
17
+ < Table . Th > Id</ Table . Th >
18
+ < Table . Th > Title</ Table . Th >
19
+ </ Table . Tr >
20
+ </ Table . Thead >
21
+ < Table . Tbody >
22
+ { questionnaires ?. map ( ( q ) => (
23
+ < Table . Tr key = { q . id } >
24
+ < Table . Td >
25
+ < Checkbox
26
+ aria-label = "Select row"
27
+ checked = { value . includes ( q . id ) }
28
+ onChange = { ( event ) => onChange ( event . currentTarget . checked ? [ ...value , q . id ] : value . filter ( ( id ) => id !== q . id ) ) }
29
+ />
30
+ </ Table . Td >
31
+ < Table . Td > { q . id } </ Table . Td >
32
+ < Table . Td > { q . title } </ Table . Td >
33
+ </ Table . Tr >
34
+ ) ) }
35
+ </ Table . Tbody >
36
+ </ Table >
37
+ ) ;
38
+ }
You can’t perform that action at this time.
0 commit comments