Merged in feature/IO-3650-Pagination-Corrections (pull request #3208)
IO-3650 Pagination Corrections Approved-by: Dave Richer
This commit is contained in:
@@ -11,12 +11,13 @@ import ResponsiveTable from "../responsive-table/responsive-table.component";
|
||||
|
||||
export default function OwnersListComponent({ loading, owners, total, refetch }) {
|
||||
const search = queryString.parse(useLocation().search);
|
||||
const {
|
||||
page
|
||||
// sortcolumn, sortorder
|
||||
} = search;
|
||||
const { page, pageSize } = search;
|
||||
const history = useNavigate();
|
||||
|
||||
const currentPage = Number.parseInt(page || "1", 10);
|
||||
const parsedPageSize = Number.parseInt(pageSize || String(pageLimit), 10);
|
||||
const currentPageSize = Number.isNaN(parsedPageSize) ? pageLimit : parsedPageSize;
|
||||
|
||||
const [state, setState] = useState({
|
||||
sortedInfo: {},
|
||||
filteredInfo: { text: "" }
|
||||
@@ -71,10 +72,14 @@ export default function OwnersListComponent({ loading, owners, total, refetch })
|
||||
];
|
||||
|
||||
const handleTableChange = (pagination, filters, sorter) => {
|
||||
const nextPageSize = pagination?.pageSize || currentPageSize;
|
||||
const pageSizeChanged = nextPageSize !== currentPageSize;
|
||||
|
||||
setState({ ...state, filteredInfo: filters, sortedInfo: sorter });
|
||||
const updatedSearch = {
|
||||
...search,
|
||||
page: pagination.current,
|
||||
pageSize: nextPageSize,
|
||||
page: pageSizeChanged ? 1 : pagination.current,
|
||||
sortcolumn: sorter.columnKey,
|
||||
sortorder: sorter.order
|
||||
};
|
||||
@@ -119,7 +124,7 @@ export default function OwnersListComponent({ loading, owners, total, refetch })
|
||||
>
|
||||
<ResponsiveTable
|
||||
loading={loading}
|
||||
pagination={{ placement: "top", pageSize: pageLimit, current: parseInt(page || 1, 10), total: total }}
|
||||
pagination={{ placement: "top", pageSize: currentPageSize, current: currentPage, showSizeChanger: true, total: total }}
|
||||
columns={columns}
|
||||
mobileColumnKeys={["name", "ownr_ph1", "ownr_ph2"]}
|
||||
rowKey="id"
|
||||
|
||||
@@ -8,14 +8,19 @@ import { pageLimit } from "../../utils/config";
|
||||
|
||||
export default function OwnersListContainer() {
|
||||
const searchParams = queryString.parse(useLocation().search);
|
||||
const { page, sortcolumn, sortorder, search } = searchParams;
|
||||
const { page, sortcolumn, sortorder, search, pageSize } = searchParams;
|
||||
|
||||
const currentPage = Number.parseInt(page || "1", 10);
|
||||
const parsedPageSize = Number.parseInt(pageSize || String(pageLimit), 10);
|
||||
const currentPageSize = Number.isNaN(parsedPageSize) ? pageLimit : parsedPageSize;
|
||||
|
||||
const { loading, error, data, refetch } = useQuery(QUERY_ALL_OWNERS_PAGINATED, {
|
||||
fetchPolicy: "network-only",
|
||||
nextFetchPolicy: "network-only",
|
||||
variables: {
|
||||
search: search || "",
|
||||
offset: page ? (page - 1) * pageLimit : 0,
|
||||
limit: pageLimit,
|
||||
offset: (currentPage - 1) * currentPageSize,
|
||||
limit: currentPageSize,
|
||||
order: [
|
||||
{
|
||||
[sortcolumn || "created_at"]: sortorder ? (sortorder === "descend" ? "desc" : "asc") : "desc"
|
||||
|
||||
@@ -29,7 +29,10 @@ const mapStateToProps = createStructuredSelector({
|
||||
|
||||
export function PartsQueueListComponent({ bodyshop }) {
|
||||
const searchParams = queryString.parse(useLocation().search);
|
||||
const { selected, sortcolumn, sortorder, statusFilters } = searchParams;
|
||||
const { selected, sortcolumn, sortorder, statusFilters, page, pageSize } = searchParams;
|
||||
const currentPage = Number.parseInt(page || "1", 10);
|
||||
const parsedPageSize = Number.parseInt(pageSize || String(pageLimit), 10);
|
||||
const currentPageSize = Number.isNaN(parsedPageSize) ? pageLimit : parsedPageSize;
|
||||
const history = useNavigate();
|
||||
const [filter, setFilter] = useLocalStorage("filter_parts_queue", null);
|
||||
const [viewTimeStamp, setViewTimeStamp] = useLocalStorage("parts_queue_timestamps", false);
|
||||
@@ -66,7 +69,11 @@ export function PartsQueueListComponent({ bodyshop }) {
|
||||
: [];
|
||||
|
||||
const handleTableChange = (pagination, filters, sorter) => {
|
||||
// searchParams.page = pagination.current;
|
||||
const nextPageSize = pagination?.pageSize || currentPageSize;
|
||||
const pageSizeChanged = nextPageSize !== currentPageSize;
|
||||
|
||||
searchParams.pageSize = nextPageSize;
|
||||
searchParams.page = pageSizeChanged ? 1 : pagination.current;
|
||||
searchParams.sortcolumn = sorter.columnKey;
|
||||
searchParams.sortorder = sorter.order;
|
||||
|
||||
@@ -315,9 +322,10 @@ export function PartsQueueListComponent({ bodyshop }) {
|
||||
loading={loading}
|
||||
pagination={{
|
||||
placement: "top",
|
||||
pageSize: pageLimit
|
||||
// current: parseInt(page || 1),
|
||||
// total: data && data.jobs_aggregate.aggregate.count,
|
||||
pageSize: currentPageSize,
|
||||
current: currentPage,
|
||||
showSizeChanger: true,
|
||||
total: jobs.length
|
||||
}}
|
||||
columns={columns}
|
||||
mobileColumnKeys={["ro_number", "ownr_ln", "status", "vehicle", "partsstatus"]}
|
||||
|
||||
@@ -11,12 +11,13 @@ import ResponsiveTable from "../responsive-table/responsive-table.component";
|
||||
|
||||
export default function VehiclesListComponent({ loading, vehicles, total, refetch, basePath = "/manage" }) {
|
||||
const search = queryString.parse(useLocation().search);
|
||||
const {
|
||||
page
|
||||
//sortcolumn, sortorder,
|
||||
} = search;
|
||||
const { page, pageSize } = search;
|
||||
const history = useNavigate();
|
||||
|
||||
const currentPage = Number.parseInt(page || "1", 10);
|
||||
const parsedPageSize = Number.parseInt(pageSize || String(pageLimit), 10);
|
||||
const currentPageSize = Number.isNaN(parsedPageSize) ? pageLimit : parsedPageSize;
|
||||
|
||||
const [state, setState] = useState({
|
||||
sortedInfo: {},
|
||||
filteredInfo: { text: "" }
|
||||
@@ -62,10 +63,14 @@ export default function VehiclesListComponent({ loading, vehicles, total, refetc
|
||||
];
|
||||
|
||||
const handleTableChange = (pagination, filters, sorter) => {
|
||||
const nextPageSize = pagination?.pageSize || currentPageSize;
|
||||
const pageSizeChanged = nextPageSize !== currentPageSize;
|
||||
|
||||
setState({ ...state, filteredInfo: filters, sortedInfo: sorter });
|
||||
const updatedSearch = {
|
||||
...search,
|
||||
page: pagination.current,
|
||||
pageSize: nextPageSize,
|
||||
page: pageSizeChanged ? 1 : pagination.current,
|
||||
sortcolumn: sorter.columnKey,
|
||||
sortorder: sorter.order
|
||||
};
|
||||
@@ -106,7 +111,7 @@ export default function VehiclesListComponent({ loading, vehicles, total, refetc
|
||||
>
|
||||
<ResponsiveTable
|
||||
loading={loading}
|
||||
pagination={{ placement: "top", pageSize: pageLimit, current: parseInt(page || 1), total: total }}
|
||||
pagination={{ placement: "top", pageSize: currentPageSize, current: currentPage, showSizeChanger: true, total: total }}
|
||||
columns={columns}
|
||||
mobileColumnKeys={["v_vin", "description", "plate_no"]}
|
||||
rowKey="id"
|
||||
|
||||
@@ -16,14 +16,18 @@ const mapStateToProps = createStructuredSelector({
|
||||
|
||||
export function VehiclesListContainer({ isPartsEntry }) {
|
||||
const searchParams = queryString.parse(useLocation().search);
|
||||
const { page, sortcolumn, sortorder, search } = searchParams;
|
||||
const { page, sortcolumn, sortorder, search, pageSize } = searchParams;
|
||||
const basePath = getPartsBasePath(isPartsEntry);
|
||||
|
||||
const currentPage = Number.parseInt(page || "1", 10);
|
||||
const parsedPageSize = Number.parseInt(pageSize || String(pageLimit), 10);
|
||||
const currentPageSize = Number.isNaN(parsedPageSize) ? pageLimit : parsedPageSize;
|
||||
|
||||
const { loading, error, data, refetch } = useQuery(QUERY_ALL_VEHICLES_PAGINATED, {
|
||||
variables: {
|
||||
search: search || "",
|
||||
offset: page ? (page - 1) * pageLimit : 0,
|
||||
limit: pageLimit,
|
||||
offset: (currentPage - 1) * currentPageSize,
|
||||
limit: currentPageSize,
|
||||
order: [
|
||||
{
|
||||
[sortcolumn || "created_at"]: sortorder ? (sortorder === "descend" ? "desc" : "asc") : "desc"
|
||||
|
||||
@@ -18,16 +18,20 @@ const mapStateToProps = createStructuredSelector({});
|
||||
|
||||
export function ExportLogsPageComponent() {
|
||||
const searchParams = queryString.parse(useLocation().search);
|
||||
const { page, sortcolumn, sortorder, search } = searchParams;
|
||||
const { page, sortcolumn, sortorder, search, pageSize } = searchParams;
|
||||
const history = useNavigate();
|
||||
|
||||
const currentPage = Number.parseInt(page || "1", 10);
|
||||
const parsedPageSize = Number.parseInt(pageSize || String(pageLimit), 10);
|
||||
const currentPageSize = Number.isNaN(parsedPageSize) ? pageLimit : parsedPageSize;
|
||||
|
||||
const { loading, error, data, refetch } = useQuery(QUERY_EXPORT_LOG_PAGINATED, {
|
||||
fetchPolicy: "network-only",
|
||||
nextFetchPolicy: "network-only",
|
||||
variables: {
|
||||
search: search || "",
|
||||
offset: page ? (page - 1) * pageLimit : 0,
|
||||
limit: pageLimit,
|
||||
offset: (currentPage - 1) * currentPageSize,
|
||||
limit: currentPageSize,
|
||||
order: [
|
||||
{
|
||||
...(sortcolumn === "ro_number"
|
||||
@@ -61,7 +65,11 @@ export function ExportLogsPageComponent() {
|
||||
if (error) return <AlertComponent title={error.message} type="error" />;
|
||||
|
||||
const handleTableChange = (pagination, filters, sorter) => {
|
||||
searchParams.page = pagination.current;
|
||||
const nextPageSize = pagination?.pageSize || currentPageSize;
|
||||
const pageSizeChanged = nextPageSize !== currentPageSize;
|
||||
|
||||
searchParams.pageSize = nextPageSize;
|
||||
searchParams.page = pageSizeChanged ? 1 : pagination.current;
|
||||
searchParams.sortcolumn = sorter.columnKey;
|
||||
searchParams.sortorder = sorter.order;
|
||||
if (filters.status) {
|
||||
@@ -191,8 +199,9 @@ export function ExportLogsPageComponent() {
|
||||
loading={loading}
|
||||
pagination={{
|
||||
placement: "top",
|
||||
pageSize: pageLimit,
|
||||
current: parseInt(page || 1, 10),
|
||||
pageSize: currentPageSize,
|
||||
current: currentPage,
|
||||
showSizeChanger: true,
|
||||
total: data && data.search_exportlog_aggregate.aggregate.count
|
||||
}}
|
||||
columns={columns}
|
||||
|
||||
Reference in New Issue
Block a user