Files
bodyshop/client/src/components/shop-users/shop-users.component.jsx
2021-01-07 16:34:09 -08:00

60 lines
1.6 KiB
JavaScript

import { Button, Table } from "antd";
import React from "react";
import { useQuery } from "react-apollo";
import { useTranslation } from "react-i18next";
import { QUERY_SHOP_ASSOCIATIONS } from "../../graphql/user.queries";
import AlertComponent from "../alert/alert.component";
import RbacWrapper from "../rbac-wrapper/rbac-wrapper.component";
import ShopUsersAuthEdit from "../shop-users-auth-edit/shop-users-auth-edit.component";
export default function ShopInfoUsersComponent() {
const { t } = useTranslation();
const { loading, error, data } = useQuery(QUERY_SHOP_ASSOCIATIONS);
const columns = [
{
title: t("user.fields.email"),
dataIndex: "email",
key: "email",
render: (text, record) => record.user.email,
},
{
title: t("user.fields.authlevel"),
dataIndex: "authlevel",
key: "authlevel",
render: (text, record) => (
<RbacWrapper action="users:editaccess">
<ShopUsersAuthEdit association={record} />
</RbacWrapper>
),
},
{
title: t("user.labels.actions"),
dataIndex: "actions",
key: "actions",
render: (text, record) => (
<div>
<Button disabled onClick={() => {}}>
{t("general.actions.delete")}
</Button>
</div>
),
},
];
if (error) {
return <AlertComponent type="error" message={JSON.stringify(error)} />;
}
return (
<div>
<Table
loading={loading}
size="small"
pagination={{ position: "top" }}
columns={columns.map((item) => ({ ...item }))}
rowKey="id"
dataSource={data && data.associations}
/>
</div>
);
}