UNPKG

medusa-invoice

Version:
146 lines 9.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useOrderFilters = void 0; const react_1 = require("react"); const time_1 = require("./utils/time"); const formatDateFilter = (filter) => { if (filter === null) { return filter; } const dateFormatted = Object.entries(filter).reduce((acc, [key, value]) => { if (value.includes("|")) { acc[key] = (0, time_1.relativeDateFormatToTimestamp)(value); } else { acc[key] = value; } return acc; }, {}); return dateFormatted; }; const reducer = (state, action) => { var _a; switch (action.type) { case "setFilters": { return { ...state, region: action.payload.region, salesChannel: action.payload.salesChannel, fulfillment: action.payload.fulfillment, payment: action.payload.payment, status: action.payload.status, date: action.payload.date, query: (_a = action === null || action === void 0 ? void 0 : action.payload) === null || _a === void 0 ? void 0 : _a.query, }; } case "setQuery": { return { ...state, offset: 0, query: action.payload, }; } case "setDate": { const newDateFilters = state.date; return { ...state, date: newDateFilters, }; } case "setOffset": { return { ...state, offset: action.payload, }; } case "reset": { return action.payload; } default: { return state; } } }; const useOrderFilters = (defaultFilters = null) => { const initial = (0, react_1.useMemo)(() => parseQueryString(defaultFilters), [defaultFilters]); const [state, dispatch] = (0, react_1.useReducer)(reducer, initial); const paginate = (direction) => { if (direction > 0) { const nextOffset = state.offset + state.limit; dispatch({ type: "setOffset", payload: nextOffset }); } else { const nextOffset = Math.max(state.offset - state.limit, 0); dispatch({ type: "setOffset", payload: nextOffset }); } }; const getQueryObject = () => { const toQuery = { ...state.additionalFilters }; for (const [key, value] of Object.entries(state)) { if (key === "query") { if (value && typeof value === "string") { toQuery["q"] = value; } } else if (key === "offset" || key === "limit") { toQuery[key] = value; } else if (value.open) { if (key === "date") { toQuery[stateFilterMap[key]] = formatDateFilter(value.filter); } else { toQuery[stateFilterMap[key]] = value.filter; } } } return toQuery; }; const queryObject = (0, react_1.useMemo)(() => getQueryObject(), [state]); return { queryObject, paginate, }; }; exports.useOrderFilters = useOrderFilters; const stateFilterMap = { region: "region_id", salesChannel: "sales_channel_id", status: "status", fulfillment: "fulfillment_status", payment: "payment_status", date: "created_at", }; const parseQueryString = (additionals = null) => { const defaultVal = { status: { open: false, filter: null, }, fulfillment: { open: false, filter: null, }, region: { open: false, filter: null, }, salesChannel: { open: false, filter: null, }, payment: { open: false, filter: null, }, date: { open: false, filter: null, }, offset: 0, limit: 15, additionalFilters: additionals, }; return defaultVal; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLW9yZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91aS1jb21wb25lbnRzL29yZGVycy9vcmRlci10YWJsZS91c2Utb3JkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlDQUEyQztBQUMzQyx1Q0FBNEQ7QUFpRDVELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxNQUF1QixFQUFFLEVBQUU7SUFDbkQsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFO1FBQ25CLE9BQU8sTUFBTSxDQUFBO0tBQ2Q7SUFFRCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1FBQ3hFLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBQSxvQ0FBNkIsRUFBQyxLQUFLLENBQUMsQ0FBQTtTQUNoRDthQUFNO1lBQ0wsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQTtTQUNqQjtRQUNELE9BQU8sR0FBRyxDQUFBO0lBQ1osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBRU4sT0FBTyxhQUFhLENBQUE7QUFDdEIsQ0FBQyxDQUFBO0FBRUQsTUFBTSxPQUFPLEdBQUcsQ0FDZCxLQUF1QixFQUN2QixNQUF5QixFQUNQLEVBQUU7O0lBQ3BCLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtRQUNuQixLQUFLLFlBQVksQ0FBQyxDQUFDO1lBQ2pCLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU07Z0JBQzdCLFlBQVksRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVk7Z0JBQ3pDLFdBQVcsRUFBRSxNQUFNLENBQUMsT0FB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