Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions src/components/applications/ApplicationFilter.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import React from "react";
import { Filter, TextInput } from "react-admin";

const ApplicationFilter = (props) => (
<Filter {...props}>
<TextInput label="Search by Name" source="applicationName" alwaysOn />
<TextInput label="Search by Organization" source="organizationName" />
</Filter>
);

export default ApplicationFilter;
27 changes: 6 additions & 21 deletions src/components/applications/ApplicationList.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,8 @@
import React from "react";
import { useMediaQuery } from "@material-ui/core";
import {
List,
Datagrid,
TextField,
SimpleList,
Pagination,
ReferenceField,
} from "react-admin";

const ApplicationPagination = (props) => (
<Pagination rowsPerPageOptions={[10, 25, 50]} {...props} />
);
import { List, Datagrid, TextField, SimpleList } from "react-admin";
import ApplicationFilter from "./ApplicationFilter";
import Pagination from "../pagination";

const ApplicationList = (props) => {
const isSmall = useMediaQuery((theme) => theme.breakpoints.down("sm"));
Expand All @@ -20,7 +11,8 @@ const ApplicationList = (props) => {
<List
label="Applications"
title="Applications"
pagination={<ApplicationPagination />}
pagination={<Pagination />}
filters={<ApplicationFilter />}
{...props}
>
{isSmall ? (
Expand All @@ -31,14 +23,7 @@ const ApplicationList = (props) => {
) : (
<Datagrid rowClick="show">
<TextField label="Name" source="applicationName" />
<ReferenceField
link="show"
label="Organization"
source="orgId"
reference="Organizations"
>
<TextField label="Organization Name" source="organizationName" />
</ReferenceField>
Comment on lines -34 to -41
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What was the reasoning behind this change?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

many thanks @simply-alliv I explained in PR description - background context..

<TextField label="Organization Name" source="organizationName" />
</Datagrid>
)}
</List>
Expand Down
12 changes: 12 additions & 0 deletions src/components/msadmins/AdminFilter.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import React from "react";
import { Filter, TextInput } from "react-admin";

const AdminFilter = (props) => (
<Filter {...props}>
<TextInput label="Search by Name" source="fullname" alwaysOn />
<TextInput label="Search by Email" source="email" />
<TextInput label="Search by Role" source="role" />
</Filter>
);

export default AdminFilter;
25 changes: 6 additions & 19 deletions src/components/msadmins/AdminList.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,8 @@
import React from "react";
import { useMediaQuery } from "@material-ui/core";
import {
List,
Datagrid,
TextField,
EmailField,
SimpleList,
TopToolbar,
ExportButton,
CreateButton,
} from "react-admin";

const AdminListActions = ({ basePath, data, resource }) => (
<TopToolbar>
<CreateButton basePath={basePath} />
<ExportButton basePath={basePath} record={data} resource={resource} />
</TopToolbar>
);
import { List, Datagrid, TextField, EmailField, SimpleList } from "react-admin";
import Pagination from "../pagination";
import AdminFilter from "./AdminFilter";

const AdminList = (props) => {
const isSmall = useMediaQuery((theme) => theme.breakpoints.down("sm"));
Expand All @@ -25,7 +11,8 @@ const AdminList = (props) => {
<List
label="Admins"
title="Admins"
actions={<AdminListActions />}
pagination={<Pagination />}
filters={<AdminFilter />}
{...props}
>
{isSmall ? (
Expand All @@ -36,7 +23,7 @@ const AdminList = (props) => {
tertiaryText={(record) => record.role}
/>
) : (
<Datagrid rowClick="show" isRowSelectable={(record) => false}>
<Datagrid rowClick="show">
<TextField label="Name" source="fullname" />
<EmailField source="email" />
<TextField source="role" />
Expand Down
2 changes: 0 additions & 2 deletions src/components/msadmins/AdminShow.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,10 @@ import {
TextField,
TopToolbar,
DeleteButton,
EditButton,
} from "react-admin";

const AdminShowActions = ({ basePath, data, resource }) => (
<TopToolbar>
<EditButton basePath={basePath} record={data} />
<DeleteButton basePath={basePath} record={data} resource={resource} />
</TopToolbar>
);
Expand Down
11 changes: 11 additions & 0 deletions src/components/organizations/OrganizationFilter.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import React from "react";
import { Filter, TextInput } from "react-admin";

const OrganizationFilter = (props) => (
<Filter {...props}>
<TextInput label="Search by Name" source="organizationName" alwaysOn />
<TextInput label="Search by Email" source="organizationEmail" />
</Filter>
);

export default OrganizationFilter;
18 changes: 5 additions & 13 deletions src/components/organizations/OrganizationList.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,8 @@
import React from "react";
import { useMediaQuery } from "@material-ui/core";
import {
List,
Datagrid,
TextField,
EmailField,
SimpleList,
Pagination,
} from "react-admin";

const OrganizationPagination = (props) => (
<Pagination rowsPerPageOptions={[10, 25, 50]} {...props} />
);
import { List, Datagrid, TextField, EmailField, SimpleList } from "react-admin";
import OrganizationFilter from "./OrganizationFilter";
import Pagination from "../pagination";

const OrganizationList = (props) => {
const isSmall = useMediaQuery((theme) => theme.breakpoints.down("sm"));
Expand All @@ -20,7 +11,8 @@ const OrganizationList = (props) => {
<List
label="Organizations"
title="Organizations"
pagination={<OrganizationPagination />}
pagination={<Pagination />}
filters={<OrganizationFilter />}
{...props}
>
{isSmall ? (
Expand Down
4 changes: 2 additions & 2 deletions src/components/organizations/OrganizationShow.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ const OrganizationShow = (props) => {
<ReferenceManyField
link="show"
label=""
reference="Applications"
target="organizationId"
reference="Organizations"
target="id"
>
<SimpleList
className={classes.root}
Expand Down
6 changes: 6 additions & 0 deletions src/components/pagination/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import React from "react";
import { Pagination } from "react-admin";

export default (props) => (
<Pagination rowsPerPageOptions={[10, 25, 50]} {...props} />
);
10 changes: 10 additions & 0 deletions src/components/plans/PlanFilter.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import React from "react";
import { Filter, TextInput } from "react-admin";

const PlanFilter = (props) => (
<Filter {...props}>
<TextInput label="Search by Name" source="planName" alwaysOn />
</Filter>
);

export default PlanFilter;
23 changes: 5 additions & 18 deletions src/components/plans/PlanList.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,8 @@
import React from "react";
import { useMediaQuery } from "@material-ui/core";
import {
List,
Datagrid,
TextField,
SimpleList,
TopToolbar,
CreateButton,
ExportButton,
} from "react-admin";

const PlanListActions = ({ basePath, data, resource }) => (
<TopToolbar>
<CreateButton basePath={basePath} />
<ExportButton basePath={basePath} record={data} resource={resource} />
</TopToolbar>
);
import { List, Datagrid, TextField, SimpleList } from "react-admin";
import Pagination from "../pagination";
import PlanFilter from "./PlanFilter";

const PlanList = (props) => {
const isSmall = useMediaQuery((theme) => theme.breakpoints.down("sm"));
Expand All @@ -24,8 +11,8 @@ const PlanList = (props) => {
<List
label="Plans"
title="Plans"
actions={<PlanListActions />}
pagination={null}
pagination={<Pagination />}
filters={<PlanFilter />}
{...props}
>
{isSmall ? (
Expand Down
24 changes: 16 additions & 8 deletions src/services/data-provider.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { fetchUtils } from "react-admin";
import endpoints from "../utils/endpoints";
import { stringify } from "querystring";
import getPaginateQuery from "../utils/pagination";
import getPaginateQuery, { filter } from "../utils/pagination";
import handleProfileData from "../utils/data/profile-data";
import {
GET_LIST,
Expand Down Expand Up @@ -29,7 +29,7 @@ export default {
const endpoint = endpoints(GET_LIST, resource, params);
return httpClient(`${endpoint.url}?${stringify(query)}`).then(
({ json }) => ({
data: endpoint.getData(json.data),
data: filter(endpoint.getData(json.data), params),
total: json.data.pageInfo
? json.data.pageInfo.totalRecord
: json.data.length,
Expand All @@ -56,12 +56,20 @@ export default {

getManyReference: (resource, params) => {
const endpoint = endpoints(GET_MANY_REFERENCE, resource, params);
return httpClient(endpoint.url).then(({ json }) => ({
data: endpoint.getData(json.data, endpoint.target, endpoint.targetId),
total: json.data.pageInfo
? json.data.pageInfo.totalRecord
: json.data.length,
}));
console.log("REFERENCE", params);
const query = {
limit: 50,
sort: "ASC",
page: 1,
};
return httpClient(`${endpoint.url}?${stringify(query)}`).then(
({ json }) => ({
data: endpoint.getData(json.data, endpoint.target, endpoint.targetId),
total: json.data.pageInfo
? json.data.pageInfo.totalRecord
: json.data.length,
})
);
},

update: (resource, params) => {
Expand Down
6 changes: 5 additions & 1 deletion src/utils/data/admin-data.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
export default (data) => {
if (data.records && Array.isArray(data.records)) {
return data.records.map((item) => ({ id: item.msAdminId, ...item }));
const profile = localStorage.getItem("profile");
const currentUserId = JSON.parse(profile).msAdminId;
return data.records
.filter((admin) => admin.msAdminId !== currentUserId)
.map((item) => ({ id: item.msAdminId, ...item }));
} else if (data.msAdminId) {
return { id: data.msAdminId, ...data };
}
Expand Down
8 changes: 1 addition & 7 deletions src/utils/data/application-data.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
const getApplicationsData = (data, target, id) => {
const getApplicationsData = (data) => {
let mappedData = data;

if (Array.isArray(data.records) && data.records[0].applicationId) {
mappedData = data.records.map(mapApplicationIdToId);

if (target && id) {
mappedData = mappedData.filter((item) => {
return item[target]._id === id;
});
}
}

return mappedData;
Expand Down
6 changes: 1 addition & 5 deletions src/utils/data/organizations-data.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
const getOrganizationsData = (data, target, id) => {
const getOrganizationsData = (data) => {
let mappedData = data;

if (Array.isArray(data.records) && data.records[0].organizationId) {
mappedData = data.records.map(mapOrganizationIdToId);
}

if (target && id) {
mappedData = mappedData.filter((item) => item[target] === id);
}

return mappedData;
};

Expand Down
6 changes: 1 addition & 5 deletions src/utils/data/plans-data.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const getPlansData = (data, target, id) => {
const getPlansData = (data) => {
let mappedData = data;

if (Array.isArray(data) && data[0].planId) {
Expand All @@ -7,10 +7,6 @@ const getPlansData = (data, target, id) => {
mappedData = mapPlanIdToId(data);
}

if (target && id) {
mappedData = mappedData.filter((item) => item[target] === id);
}

return mappedData;
};

Expand Down
12 changes: 6 additions & 6 deletions src/utils/endpoints/admin-endpoints.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
UPDATE,
DELETE,
GET_MANY,
GET_MANY_REFERENCE,
DELETE_MANY,
} from "react-admin";

const apiUrl = "https://comments-microservice.herokuapp.com/v1";
Expand All @@ -28,11 +28,6 @@ export default (type, params) => {
url: `${apiUrl}/msadmins`,
getData: getData,
};
case GET_MANY_REFERENCE:
return {
url: `${apiUrl}/msadmins`,
getData: getData,
};
case UPDATE:
return {
url: `${apiUrl}/msadmins`,
Expand All @@ -57,6 +52,11 @@ export default (type, params) => {
options: { method: "DELETE" },
getData: getData,
};
case DELETE_MANY:
return {
urls: params.ids.map((id) => `${apiUrl}/msadmins/${id}`),
getData: getData,
};
default:
throw new Error(`Unsupported Admin Data Provider request type ${type}`);
}
Expand Down
6 changes: 2 additions & 4 deletions src/utils/endpoints/application-endpoints.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,8 @@ export default (type, params) => {
};
case GET_MANY_REFERENCE:
return {
url: `${apiUrl}/msadmins/applications`,
getData: (data) => {
return getData(data, params.target, params.id);
},
url: `${apiUrl}/msadmins/applications/${params.id}`,
getData: getData,
};
case GET_ONE:
case DELETE:
Expand Down
Loading