Use EditableCell for email
This commit is contained in:
@ -35,6 +35,8 @@ export const sortsAvailable = [
|
|||||||
},
|
},
|
||||||
{ id: 'city', label: 'City', order: 'asc', icon: faMapPin },
|
{ id: 'city', label: 'City', order: 'asc', icon: faMapPin },
|
||||||
] satisfies Array<SortType<keyof GraphqlPerson>>;
|
] satisfies Array<SortType<keyof GraphqlPerson>>;
|
||||||
|
import EditableCell from '../../components/table/EditableCell';
|
||||||
|
import { updatePerson } from '../../services/people';
|
||||||
|
|
||||||
const columnHelper = createColumnHelper<Person>();
|
const columnHelper = createColumnHelper<Person>();
|
||||||
export const peopleColumns = [
|
export const peopleColumns = [
|
||||||
@ -58,9 +60,14 @@ export const peopleColumns = [
|
|||||||
columnHelper.accessor('email', {
|
columnHelper.accessor('email', {
|
||||||
header: () => <ColumnHead viewName="Email" viewIcon={faEnvelope} />,
|
header: () => <ColumnHead viewName="Email" viewIcon={faEnvelope} />,
|
||||||
cell: (props) => (
|
cell: (props) => (
|
||||||
<ClickableCell href={`mailto:${props.row.original.email}`}>
|
<EditableCell
|
||||||
{props.row.original.email}
|
content={props.row.original.email}
|
||||||
</ClickableCell>
|
changeHandler={(value) => {
|
||||||
|
const person = props.row.original;
|
||||||
|
person.email = value;
|
||||||
|
updatePerson(person).catch((error) => console.error(error)); // TODO: handle error
|
||||||
|
}}
|
||||||
|
/>
|
||||||
),
|
),
|
||||||
}),
|
}),
|
||||||
columnHelper.accessor('company', {
|
columnHelper.accessor('company', {
|
||||||
|
|||||||
Reference in New Issue
Block a user