Skip to content

Commit aefb60a

Browse files
committed
Add classnames to Create and Edit buttons
1 parent 3758606 commit aefb60a

File tree

2 files changed

+26
-5
lines changed

2 files changed

+26
-5
lines changed

packages/ra-ui-materialui/src/button/CreateButton.tsx

+9-3
Original file line numberDiff line numberDiff line change
@@ -54,17 +54,17 @@ const CreateButton = (props: CreateButtonProps) => {
5454
{icon}
5555
</StyledFab>
5656
) : (
57-
<Button
57+
<StyledButton
5858
component={Link}
5959
to={createPath({ resource, type: 'create' })}
6060
state={scrollStates[String(scrollToTop)]}
61-
className={className}
61+
className={clsx(CreateButtonClasses.root, className)}
6262
label={label}
6363
variant={variant}
6464
{...(rest as any)}
6565
>
6666
{icon}
67-
</Button>
67+
</StyledButton>
6868
);
6969
};
7070

@@ -94,6 +94,7 @@ CreateButton.propTypes = {
9494
const PREFIX = 'RaCreateButton';
9595

9696
export const CreateButtonClasses = {
97+
root: `${PREFIX}-root`,
9798
floating: `${PREFIX}-floating`,
9899
};
99100

@@ -113,6 +114,11 @@ const StyledFab = (styled(Fab, {
113114
},
114115
})) as unknown) as typeof Fab;
115116

117+
const StyledButton = styled(Button, {
118+
name: PREFIX,
119+
overridesResolver: (_props, styles) => styles.root,
120+
})({});
121+
116122
export default memo(CreateButton, (prevProps, nextProps) => {
117123
return (
118124
prevProps.resource === nextProps.resource &&

packages/ra-ui-materialui/src/button/EditButton.tsx

+17-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import * as React from 'react';
22
import { ReactElement } from 'react';
33
import PropTypes from 'prop-types';
4+
import clsx from 'clsx';
5+
import { styled } from '@mui/material/styles';
46
import ContentCreate from '@mui/icons-material/Create';
57
import { Link } from 'react-router-dom';
68
import {
@@ -31,23 +33,25 @@ export const EditButton = <RecordType extends RaRecord = any>(
3133
icon = defaultIcon,
3234
label = 'ra.action.edit',
3335
scrollToTop = true,
36+
className,
3437
...rest
3538
} = props;
3639
const resource = useResourceContext(props);
3740
const record = useRecordContext(props);
3841
const createPath = useCreatePath();
3942
if (!record) return null;
4043
return (
41-
<Button
44+
<StyledButton
4245
component={Link}
4346
to={createPath({ type: 'edit', resource, id: record.id })}
4447
state={scrollStates[String(scrollToTop)]}
4548
label={label}
4649
onClick={stopPropagation}
50+
className={clsx(EditButtonClasses.root, className)}
4751
{...(rest as any)}
4852
>
4953
{icon}
50-
</Button>
54+
</StyledButton>
5155
);
5256
};
5357

@@ -81,3 +85,14 @@ EditButton.propTypes = {
8185
record: PropTypes.any,
8286
scrollToTop: PropTypes.bool,
8387
};
88+
89+
const PREFIX = 'RaEditButton';
90+
91+
export const EditButtonClasses = {
92+
root: `${PREFIX}-root`,
93+
};
94+
95+
const StyledButton = styled(Button, {
96+
name: PREFIX,
97+
overridesResolver: (_props, styles) => styles.root,
98+
})({});

0 commit comments

Comments
 (0)