-
Notifications
You must be signed in to change notification settings - Fork 44
/
Copy pathmulti-users-select-menu.tsx
80 lines (71 loc) · 1.75 KB
/
multi-users-select-menu.tsx
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import React from "react";
import {
Button,
Divider,
Input,
Message,
Modal,
MultiSelectMenu,
PheliaMessageProps,
Section,
Text
} from "../../core";
export function MultiUsersSelectMenuModal() {
return (
<Modal title="Users multi select menu" submit="Submit">
<Input label="Select menu">
<MultiSelectMenu
type="users"
action="selection"
placeholder="A placeholder"
/>
</Input>
</Modal>
);
}
export function MultiUsersSelectMenuExample({
useModal,
useState
}: PheliaMessageProps) {
const [form, setForm] = useState("form");
const [selected, setSelected] = useState("selected");
const openModal = useModal("modal", MultiUsersSelectMenuModal, form => {
setForm(JSON.stringify(form, null, 2));
});
return (
<Message text="A multi users select menu example">
{selected && (
<Section>
<Text type="mrkdwn">*Selected:* {selected}</Text>
</Section>
)}
{!selected && (
<Section
text="A Multi-Select Menu in a Section component"
accessory={
<MultiSelectMenu
type="users"
action="select"
placeholder="A placeholder"
onSelect={event => setSelected(event.selected.join(", "))}
/>
}
/>
)}
<Divider />
<Section
text="You can also have a multi static select menu in a modal"
accessory={
<Button action="open-modal" onClick={() => openModal()}>
Open modal
</Button>
}
/>
{form && (
<Section text="Modal submission:">
<Text type="mrkdwn">{"```\n" + form + "\n```"}</Text>
</Section>
)}
</Message>
);
}