I'm using the React-Admin framework and want to combine the button actions to a single ⋮
options button.
Basically, I want to turn this:
Into This!
I think it just looks a lot less cluttered and the ⋮
button is widely used for more options.
Is there an existing solution for this? or how can it easily be done?
Edit: My Solution:
MoreOptions.jsx
import * as React from "react";
import { Link, DeleteButton } from "react-admin";
import IconButton from "@material-ui/core/IconButton";
import QueueIcon from "@material-ui/icons/Queue";
import EditIcon from "@material-ui/icons/Edit";
import _objectWithoutProperties from "babel-runtime/helpers/objectWithoutProperties";
const MyEditButton = (props) => (
<IconButton
component={Link}
to={props.basePath + "/" + props.record.id}
color="primary"
aria-label="Edit"
>
<EditIcon style={{ fontSize: '20px' }} />
</IconButton >
);
const MyCloneButton = (props) => (
<IconButton component={Link} to={{
pathname: props.basePath + '/create',
state: {
record: _objectWithoutProperties(props.record, ['id', 'paxDbName'])
}
}} color="primary" aria-label="Clone">
<QueueIcon style={{ fontSize: '20px' }} />
</IconButton>
);
const EditCloneDelete = (props) => {
let a = props;
return <div>
<MyEditButton {...props} />
<MyCloneButton {...props} />
<DeleteButton basePath={props.basePath} record={props.record} resource={props.resource} label=""/>
</div>;
};
export default EditCloneDelete
posts.jsx
import EditCloneDelete from './MoreOptions.jsx';
Works pretty well!