remove props

This commit is contained in:
dklimpel 2023-02-06 12:57:47 +01:00
parent 2e25a918c5
commit ac8ec6e021
8 changed files with 142 additions and 163 deletions

View File

@ -28,10 +28,10 @@ const ReportPagination = props => (
<Pagination {...props} rowsPerPageOptions={[10, 25, 50, 100, 500, 1000]} />
);
export const ReportShow = props => {
export const ReportShow = () => {
const translate = useTranslate();
return (
<Show {...props}>
<Show>
<TabbedShowLayout>
<Tab
label={translate("synapseadmin.reports.tabs.basic", {
@ -97,26 +97,23 @@ export const ReportShow = props => {
);
};
export const ReportList = ({ ...props }) => {
return (
<List
{...props}
pagination={<ReportPagination />}
sort={{ field: "received_ts", order: "DESC" }}
bulkActionButtons={false}
>
<Datagrid rowClick="show">
<TextField source="id" sortable={false} />
<DateField
source="received_ts"
showTime
options={date_format}
sortable={true}
/>
<TextField sortable={false} source="user_id" />
<TextField sortable={false} source="name" />
<TextField sortable={false} source="score" />
</Datagrid>
</List>
);
};
export const ReportList = () => (
<List
pagination={<ReportPagination />}
sort={{ field: "received_ts", order: "DESC" }}
bulkActionButtons={false}
>
<Datagrid rowClick="show">
<TextField source="id" sortable={false} />
<DateField
source="received_ts"
showTime
options={date_format}
sortable={true}
/>
<TextField sortable={false} source="user_id" />
<TextField sortable={false} source="name" />
<TextField sortable={false} source="score" />
</Datagrid>
</List>
);

View File

@ -1,4 +1,3 @@
// in src/Menu.js
import * as React from "react";
import { useMediaQuery } from "@mui/material";
import {

View File

@ -59,33 +59,30 @@ const RegistrationTokenFilter = props => (
</Filter>
);
export const RegistrationTokenList = props => {
return (
<List
{...props}
filters={<RegistrationTokenFilter />}
filterDefaultValues={{ valid: true }}
pagination={false}
perPage={500}
>
<Datagrid rowClick="edit">
<TextField source="token" sortable={false} />
<NumberField source="uses_allowed" sortable={false} />
<NumberField source="pending" sortable={false} />
<NumberField source="completed" sortable={false} />
<DateField
source="expiry_time"
showTime
options={date_format}
sortable={false}
/>
</Datagrid>
</List>
);
};
export const RegistrationTokenList = () => (
<List
filters={<RegistrationTokenFilter />}
filterDefaultValues={{ valid: true }}
pagination={false}
perPage={500}
>
<Datagrid rowClick="edit">
<TextField source="token" sortable={false} />
<NumberField source="uses_allowed" sortable={false} />
<NumberField source="pending" sortable={false} />
<NumberField source="completed" sortable={false} />
<DateField
source="expiry_time"
showTime
options={date_format}
sortable={false}
/>
</Datagrid>
</List>
);
export const RegistrationTokenCreate = props => (
<Create {...props}>
export const RegistrationTokenCreate = () => (
<Create>
<SimpleForm redirect="list" toolbar={<Toolbar alwaysEnableSaveButton />}>
<TextInput
source="token"
@ -109,24 +106,22 @@ export const RegistrationTokenCreate = props => (
</Create>
);
export const RegistrationTokenEdit = props => {
return (
<Edit {...props}>
<SimpleForm>
<TextInput source="token" disabled />
<NumberInput source="pending" disabled />
<NumberInput source="completed" disabled />
<NumberInput
source="uses_allowed"
validate={validateUsesAllowed}
step={1}
/>
<DateTimeInput
source="expiry_time"
parse={dateParser}
format={dateFormatter}
/>
</SimpleForm>
</Edit>
);
};
export const RegistrationTokenEdit = () => (
<Edit>
<SimpleForm>
<TextInput source="token" disabled />
<NumberInput source="pending" disabled />
<NumberInput source="completed" disabled />
<NumberInput
source="uses_allowed"
validate={validateUsesAllowed}
step={1}
/>
<DateTimeInput
source="expiry_time"
parse={dateParser}
format={dateFormatter}
/>
</SimpleForm>
</Edit>
);

View File

@ -28,12 +28,11 @@ const RoomDirectoryPagination = props => (
<Pagination {...props} rowsPerPageOptions={[100, 500, 1000, 2000]} />
);
export const RoomDirectoryDeleteButton = props => {
export const RoomDirectoryDeleteButton = () => {
const translate = useTranslate();
return (
<DeleteButton
{...props}
label="resources.room_directory.action.erase"
redirect={false}
mutationMode="pessimistic"
@ -49,9 +48,8 @@ export const RoomDirectoryDeleteButton = props => {
);
};
export const RoomDirectoryBulkDeleteButton = props => (
export const RoomDirectoryBulkDeleteButton = () => (
<BulkDeleteButton
{...props}
label="resources.room_directory.action.erase"
mutationMode="pessimistic"
confirmTitle="resources.room_directory.action.title"
@ -100,13 +98,12 @@ export const RoomDirectorySaveButton = () => {
const record = useRecordContext();
const notify = useNotify();
const refresh = useRefresh();
const [create, { isloading }] = useCreate("room_directory");
const [create, { isloading }] = useCreate();
const handleSend = values => {
create(
{
payload: { data: { id: record.id } },
},
"room_directory",
{ data: { id: record.id } },
{
onSuccess: data => {
notify("resources.room_directory.action.send_success");
@ -137,9 +134,10 @@ const RoomDirectoryBulkActionButtons = () => (
</Fragment>
);
const AvatarField = ({ source, className, record = {} }) => (
<Avatar src={record[source]} className={className} />
);
const AvatarField = ({ source, sx }) => {
const record = useRecordContext();
return <Avatar src={record[source]} sx={sx} />;
};
const RoomDirectoryListActions = () => (
<TopToolbar>

View File

@ -128,14 +128,10 @@ export const DestinationList = () => {
);
};
export const DestinationShow = props => {
export const DestinationShow = () => {
const translate = useTranslate();
return (
<Show
actions={<DestinationShowActions />}
title={<DestinationTitle />}
{...props}
>
<Show actions={<DestinationShowActions />} title={<DestinationTitle />}>
<TabbedShowLayout>
<Tab label="status" icon={<ViewListIcon />}>
<TextField source="destination" />

View File

@ -55,7 +55,7 @@ const RoomPagination = props => (
<Pagination {...props} rowsPerPageOptions={[10, 25, 50, 100, 500, 1000]} />
);
const RoomTitle = props => {
const RoomTitle = () => {
const record = useRecordContext();
const translate = useTranslate();
var name = "";
@ -70,23 +70,23 @@ const RoomTitle = props => {
);
};
const RoomShowActions = ({ data, resource }) => {
const RoomShowActions = () => {
const record = useRecordContext();
var roomDirectoryStatus = "";
if (data) {
roomDirectoryStatus = data.public;
if (record) {
roomDirectoryStatus = record.public;
}
return (
<TopToolbar>
{roomDirectoryStatus === false && (
<RoomDirectorySaveButton record={data} />
<RoomDirectorySaveButton record={record} />
)}
{roomDirectoryStatus === true && (
<RoomDirectoryDeleteButton record={data} />
<RoomDirectoryDeleteButton record={record} />
)}
<DeleteButton
record={data}
resource={resource}
record={record}
mutationMode="pessimistic"
confirmTitle="resources.rooms.action.erase.title"
confirmContent="resources.rooms.action.erase.content"
@ -95,10 +95,10 @@ const RoomShowActions = ({ data, resource }) => {
);
};
export const RoomShow = props => {
export const RoomShow = () => {
const translate = useTranslate();
return (
<Show {...props} actions={<RoomShowActions />} title={<RoomTitle />}>
<Show actions={<RoomShowActions />} title={<RoomTitle />}>
<TabbedShowLayout>
<Tab label="synapseadmin.rooms.tabs.basic" icon={<ViewListIcon />}>
<TextField source="room_id" />
@ -348,7 +348,6 @@ export const RoomList = () => {
[`& [data-testid="false"]`]: { color: theme.palette.error.main },
}}
/>
<RoomNameField source="name" />
<TextField source="joined_members" />
<TextField source="joined_local_members" />

View File

@ -57,27 +57,24 @@ const UserMediaStatsFilter = props => (
</Filter>
);
export const UserMediaStatsList = props => {
return (
<List
{...props}
actions={<ListActions />}
filters={<UserMediaStatsFilter />}
pagination={<UserMediaStatsPagination />}
sort={{ field: "media_length", order: "DESC" }}
export const UserMediaStatsList = () => (
<List
actions={<ListActions />}
filters={<UserMediaStatsFilter />}
pagination={<UserMediaStatsPagination />}
sort={{ field: "media_length", order: "DESC" }}
>
<Datagrid
rowClick={(id, resource, record) => "/users/" + id + "/media"}
bulkActionButtons={false}
>
<Datagrid
rowClick={(id, resource, record) => "/users/" + id + "/media"}
bulkActionButtons={false}
>
<TextField source="user_id" label="resources.users.fields.id" />
<TextField
source="displayname"
label="resources.users.fields.displayname"
/>
<NumberField source="media_count" />
<NumberField source="media_length" />
</Datagrid>
</List>
);
};
<TextField source="user_id" label="resources.users.fields.id" />
<TextField
source="displayname"
label="resources.users.fields.displayname"
/>
<NumberField source="media_count" />
<NumberField source="media_length" />
</Datagrid>
</List>
);

View File

@ -148,42 +148,40 @@ const UserBulkActionButtons = () => (
</>
);
const AvatarField = ({ source, record = {}, sx }) => (
<Avatar src={record[source]} sx={sx} />
);
export const UserList = props => {
return (
<List
{...props}
filters={<UserFilter />}
filterDefaultValues={{ guests: true, deactivated: false }}
sort={{ field: "name", order: "ASC" }}
actions={<UserListActions maxResults={10000} />}
pagination={<UserPagination />}
>
<Datagrid rowClick="edit" bulkActionButtons={<UserBulkActionButtons />}>
<AvatarField
source="avatar_src"
sx={{ height: "40px", width: "40px" }}
sortBy="avatar_url"
/>
<TextField source="id" sortBy="name" />
<TextField source="displayname" />
<BooleanField source="is_guest" />
<BooleanField source="admin" />
<BooleanField source="deactivated" />
<DateField
source="creation_ts"
label="resources.users.fields.creation_ts_ms"
showTime
options={date_format}
/>
</Datagrid>
</List>
);
const AvatarField = ({ source, sx }) => {
const record = useRecordContext();
return <Avatar src={record[source]} sx={sx} />;
};
export const UserList = () => (
<List
filters={<UserFilter />}
filterDefaultValues={{ guests: true, deactivated: false }}
sort={{ field: "name", order: "ASC" }}
actions={<UserListActions maxResults={10000} />}
pagination={<UserPagination />}
>
<Datagrid rowClick="edit" bulkActionButtons={<UserBulkActionButtons />}>
<AvatarField
source="avatar_src"
sx={{ height: "40px", width: "40px" }}
sortBy="avatar_url"
/>
<TextField source="id" sortBy="name" />
<TextField source="displayname" />
<BooleanField source="is_guest" />
<BooleanField source="admin" />
<BooleanField source="deactivated" />
<DateField
source="creation_ts"
label="resources.users.fields.creation_ts_ms"
showTime
options={date_format}
/>
</Datagrid>
</List>
);
// https://matrix.org/docs/spec/appendices#user-identifiers
// here only local part of user_id
// maxLength = 255 - "@" - ":" - localStorage.getItem("home_server").length
@ -265,8 +263,8 @@ const UserEditActions = ({ data }) => {
);
};
export const UserCreate = props => (
<Create {...props}>
export const UserCreate = () => (
<Create>
<SimpleForm>
<TextInput source="id" autoComplete="off" validate={validateUser} />
<TextInput source="displayname" validate={maxLength(256)} />
@ -306,7 +304,7 @@ export const UserCreate = props => (
</Create>
);
const UserTitle = props => {
const UserTitle = () => {
const record = useRecordContext();
const translate = useTranslate();
return (
@ -319,10 +317,10 @@ const UserTitle = props => {
);
};
export const UserEdit = props => {
export const UserEdit = () => {
const translate = useTranslate();
return (
<Edit {...props} title={<UserTitle />} actions={<UserEditActions />}>
<Edit title={<UserTitle />} actions={<UserEditActions />}>
<TabbedForm toolbar={<UserEditToolbar />}>
<FormTab
label={translate("resources.users.name", { smart_count: 1 })}