Add sort and filter to rooms list and update to users list
This commit is contained in:
parent
7eeb60539f
commit
ae0a88a7ab
@ -1,13 +1,29 @@
|
||||
import React from "react";
|
||||
import { Datagrid, List, TextField } from "react-admin";
|
||||
import {
|
||||
Datagrid,
|
||||
List,
|
||||
TextField,
|
||||
TextInput,
|
||||
Filter
|
||||
} from "react-admin";
|
||||
|
||||
const RoomFilter = (props) => (
|
||||
<Filter {...props}>
|
||||
<TextInput source="search_term" alwaysOn />
|
||||
</Filter>
|
||||
);
|
||||
|
||||
export const RoomList = props => (
|
||||
<List {...props}>
|
||||
<List
|
||||
{...props}
|
||||
sort={{ field: "alphabetical", order: "DESC" }}
|
||||
filters={<RoomFilter />}
|
||||
>
|
||||
<Datagrid>
|
||||
<TextField source="room_id" />
|
||||
<TextField source="name" />
|
||||
<TextField source="canonical_alias" />
|
||||
<TextField source="joined_members" />
|
||||
<TextField source="room_id" sortable={false} />
|
||||
<TextField source="name" sortBy="alphabetical" />
|
||||
<TextField source="canonical_alias" sortable={false} />
|
||||
<TextField source="joined_members" sortBy="size" />
|
||||
</Datagrid>
|
||||
</List>
|
||||
);
|
||||
|
@ -43,7 +43,7 @@ export const UserList = props => (
|
||||
>
|
||||
<ImageField source="avatar_url" title="displayname" />
|
||||
</ReferenceField>
|
||||
<TextField source="id" />
|
||||
<TextField source="id" sortable={false} />
|
||||
{/* Hack since the users endpoint does not give displaynames in the list*/}
|
||||
<ReferenceField
|
||||
source="name"
|
||||
|
@ -36,6 +36,7 @@ export default {
|
||||
name: "Name",
|
||||
canonical_alias: "Alias",
|
||||
joined_members: "Mitglieder",
|
||||
search_term: "Suche",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -36,6 +36,7 @@ export default {
|
||||
name: "Name",
|
||||
canonical_alias: "Alias",
|
||||
joined_members: "Members",
|
||||
search_term: "Search",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -55,8 +55,14 @@ function filterNullValues(key, value) {
|
||||
const dataProvider = {
|
||||
getList: (resource, params) => {
|
||||
console.log("getList " + resource);
|
||||
const { user_id, guests, deactivated } = params.filter;
|
||||
const { user_id, guests, deactivated, search_term } = params.filter;
|
||||
const { page, perPage } = params.pagination;
|
||||
var { field, order } = params.sort;
|
||||
if ( order === "DESC") {
|
||||
order = "b";
|
||||
} else {
|
||||
order = "f";
|
||||
}
|
||||
const from = (page - 1) * perPage;
|
||||
const query = {
|
||||
from: from,
|
||||
@ -64,6 +70,9 @@ const dataProvider = {
|
||||
user_id: user_id,
|
||||
guests: guests,
|
||||
deactivated: deactivated,
|
||||
order_by: field,
|
||||
search_term: search_term,
|
||||
dir: order,
|
||||
};
|
||||
const homeserver = localStorage.getItem("base_url");
|
||||
if (!homeserver || !(resource in resourceMap)) return Promise.reject();
|
||||
|
Loading…
Reference in New Issue
Block a user