Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 82a60f8

Browse files
committed
Add role select storybook
1 parent 1e93bd2 commit 82a60f8

File tree

2 files changed

+70
-1
lines changed

2 files changed

+70
-1
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
import { ComponentMeta, Story } from "@storybook/react"
2+
import React from "react"
3+
import { RoleSelect, RoleSelectProps } from "./RoleSelect"
4+
5+
export default {
6+
title: "components/RoleSelect",
7+
component: RoleSelect,
8+
} as ComponentMeta<typeof RoleSelect>
9+
10+
const Template: Story<RoleSelectProps> = (args) => <RoleSelect {...args} />
11+
12+
export const Close = Template.bind({})
13+
Close.args = {
14+
roles: [
15+
{
16+
name: "admin",
17+
display_name: "Admin",
18+
},
19+
{
20+
name: "auditor",
21+
display_name: "Auditor",
22+
},
23+
{
24+
name: "member",
25+
display_name: "Member",
26+
},
27+
],
28+
selectedRoles: [
29+
{
30+
name: "admin",
31+
display_name: "Admin",
32+
},
33+
{
34+
name: "member",
35+
display_name: "Member",
36+
},
37+
],
38+
}
39+
40+
export const Open = Template.bind({})
41+
Open.args = {
42+
open: true,
43+
roles: [
44+
{
45+
name: "admin",
46+
display_name: "Admin",
47+
},
48+
{
49+
name: "auditor",
50+
display_name: "Auditor",
51+
},
52+
{
53+
name: "member",
54+
display_name: "Member",
55+
},
56+
],
57+
selectedRoles: [
58+
{
59+
name: "admin",
60+
display_name: "Admin",
61+
},
62+
{
63+
name: "member",
64+
display_name: "Member",
65+
},
66+
],
67+
}

site/src/components/UsersTable/RoleSelect.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,18 @@ export interface RoleSelectProps {
1010
selectedRoles: Role[]
1111
onChange: (roles: Role["name"][]) => void
1212
loading?: boolean
13+
open?: boolean
1314
}
1415

15-
export const RoleSelect: React.FC<RoleSelectProps> = ({ roles, selectedRoles, loading, onChange }) => {
16+
export const RoleSelect: React.FC<RoleSelectProps> = ({ roles, selectedRoles, loading, onChange, open }) => {
1617
const styles = useStyles()
1718
const value = selectedRoles.map((r) => r.name)
1819
const renderValue = () => selectedRoles.map((r) => r.display_name).join(", ")
1920
const sortedRoles = roles.sort((a, b) => a.display_name.localeCompare(b.display_name))
2021

2122
return (
2223
<Select
24+
open={open}
2325
multiple
2426
value={value}
2527
renderValue={renderValue}

0 commit comments

Comments
 (0)