From d099e582e0c706e851f8046a8c6cb8b75e34eacc Mon Sep 17 00:00:00 2001 From: rkfg Date: Tue, 24 Mar 2020 18:53:09 +0300 Subject: [PATCH] Fix pagination and use deactivated users switch --- src/synapse/dataProvider.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/synapse/dataProvider.js b/src/synapse/dataProvider.js index 6f1334a..e144bf7 100644 --- a/src/synapse/dataProvider.js +++ b/src/synapse/dataProvider.js @@ -25,8 +25,8 @@ const resourceMap = { deactivated: !!u.deactivated, }), data: "users", - total: (json, perPage) => { - return parseInt(json.next_token, 10) + perPage; + total: (json, from, perPage) => { + return json.next_token ? parseInt(json.next_token, 10) + perPage : from + json.users.length; }, }, rooms: { @@ -55,13 +55,15 @@ function filterNullValues(key, value) { const dataProvider = { getList: (resource, params) => { console.log("getList " + resource); - const { user_id, guests } = params.filter; + const { user_id, guests, deactivated } = params.filter; const { page, perPage } = params.pagination; + const from = (page - 1) * perPage; const query = { - from: (page - 1) * perPage, + from: from, limit: perPage, user_id: user_id, guests: guests, + deactivated: deactivated, }; const homeserver = localStorage.getItem("base_url"); if (!homeserver || !(resource in resourceMap)) return Promise.reject(); @@ -73,7 +75,7 @@ const dataProvider = { return jsonClient(url).then(({ json }) => ({ data: json[res.data].map(res.map), - total: res.total(json, perPage), + total: res.total(json, from, perPage), })); },