Implement filterStatus in TableOrders component

Added support for filtering orders by status in TableOrders component.
This commit is contained in:
lora322 2025-09-23 22:04:43 -04:00 committed by GitHub
parent 32d328eb25
commit 0ad418f20c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -24,7 +24,17 @@ import ListOrders from './ListOrders';
const perPage = 10;
/**
* TableOrders component
* @param {Object} props
* @param {string} [props.filterStatus] - If set, will filter orders by status (e.g., "open")
* @param {Array} [props.filterItems]
* @param {Function} [props.setFilterItems]
* @param {Array} [props.filters]
* @param {boolean} [props.showGrid]
*/
const TableOrders = ({
filterStatus,
filterItems,
setFilterItems,
filters,
@ -65,12 +75,18 @@ const TableOrders = ({
pagesList.push(i);
}
// --- NEW: Add filterStatus support ---
// Compose filter request for status if filterStatus is passed
const statusRequest = filterStatus ? `&status=${filterStatus}` : '';
// Use this for the initial load and when filterStatus changes
const loadData = async (page = currentPage, request = filterRequest) => {
if (page !== currentPage) setCurrentPage(page);
if (request !== filterRequest) setFilterRequest(request);
const { sort, field } = sortModel[0];
const query = `?page=${page}&limit=${perPage}${request}&sort=${sort}&field=${field}`;
// Always apply statusRequest if filterStatus provided
const query = `?page=${page}&limit=${perPage}${request}${statusRequest}&sort=${sort}&field=${field}`;
dispatch(fetch({ limit: perPage, page, query }));
};