From ae0a88a7ab428d4d2d5eb549dd559ed88ea76b77 Mon Sep 17 00:00:00 2001
From: dklimpel <5740567+dklimpel@users.noreply.github.com>
Date: Sat, 28 Mar 2020 14:01:41 +0100
Subject: [PATCH] Add sort and filter to rooms list and update to users list
---
src/components/rooms.js | 28 ++++++++++++++++++++++------
src/components/users.js | 2 +-
src/i18n/de.js | 1 +
src/i18n/en.js | 1 +
src/synapse/dataProvider.js | 11 ++++++++++-
5 files changed, 35 insertions(+), 8 deletions(-)
diff --git a/src/components/rooms.js b/src/components/rooms.js
index ba3bd8b..7edc987 100644
--- a/src/components/rooms.js
+++ b/src/components/rooms.js
@@ -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) => (
+
+
+
+);
export const RoomList = props => (
-
+
}
+ >
-
-
-
-
+
+
+
+
);
diff --git a/src/components/users.js b/src/components/users.js
index 068b59e..432d905 100644
--- a/src/components/users.js
+++ b/src/components/users.js
@@ -43,7 +43,7 @@ export const UserList = props => (
>
-
+
{/* Hack since the users endpoint does not give displaynames in the list*/}
{
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();