UNPKG

@rsc-labs/medusa-store-analytics

Version:
62 lines (61 loc) 3.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OrdersByNewChart = void 0; const jsx_runtime_1 = require("react/jsx-runtime"); /* * Copyright 2024 RSC-Labs, https://rsoftcon.com/ * * MIT License * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ const medusa_react_1 = require("medusa-react"); const ui_1 = require("@medusajs/ui"); const material_1 = require("@mui/material"); const chart_components_1 = require("../common/chart-components"); const OrdersByNewChart = ({ orderStatuses, dateRange, dateRangeCompareTo, compareEnabled }) => { var _a, _b; const { data, isLoading, isError, error } = (0, medusa_react_1.useAdminCustomQuery)(`/orders-analytics/history`, [orderStatuses, dateRange, dateRangeCompareTo], { orderStatuses: Object.values(orderStatuses), dateRangeFrom: dateRange ? dateRange.from.getTime() : undefined, dateRangeTo: dateRange ? dateRange.to.getTime() : undefined, dateRangeFromCompareTo: dateRangeCompareTo ? dateRangeCompareTo.from.getTime() : undefined, dateRangeToCompareTo: dateRangeCompareTo ? dateRangeCompareTo.to.getTime() : undefined }); if (isLoading) { return (0, jsx_runtime_1.jsx)(material_1.CircularProgress, { size: 12 }); } if (isError) { const trueError = error; const errorText = `Error when loading data. It shouldn't have happened - please raise an issue. For developer: ${(_b = (_a = trueError === null || trueError === void 0 ? void 0 : trueError.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message}`; return (0, jsx_runtime_1.jsx)(ui_1.Alert, { variant: "error", children: errorText }); } if (data.analytics == undefined) { return (0, jsx_runtime_1.jsx)(ui_1.Heading, { level: "h3", children: "Cannot get orders" }); } if (data.analytics.dateRangeFrom && data.analytics.dateRangeTo) { const rawChartData = { current: data.analytics.current.map(currentData => { return { date: new Date(currentData.date), value: currentData.orderCount }; }), previous: data.analytics.previous.map(previousData => { return { date: new Date(previousData.date), value: previousData.orderCount }; }), }; return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ui_1.Heading, { level: "h3", children: "New orders by time" }), (0, jsx_runtime_1.jsx)(chart_components_1.ChartCurrentPrevious, { rawChartData: rawChartData, fromDate: new Date(data.analytics.dateRangeFrom), toDate: new Date(data.analytics.dateRangeTo), fromCompareDate: data.analytics.dateRangeFromCompareTo ? new Date(data.analytics.dateRangeFromCompareTo) : undefined, toCompareDate: data.analytics.dateRangeToCompareTo ? new Date(data.analytics.dateRangeToCompareTo) : undefined, compareEnabled: compareEnabled })] })); } else { return (0, jsx_runtime_1.jsx)(ui_1.Heading, { level: "h3", children: "No orders" }); } }; exports.OrdersByNewChart = OrdersByNewChart;