diff --git a/package.json b/package.json index 4a4ee3e..c3e3ce8 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "productName": "ImEX RPS", "author": "ImEX Systems Inc. ", "description": "ImEX RPS", - "version": "1.4.2-alpha.11", + "version": "1.4.2-alpha.12", "main": "electron/main.js", "homepage": "./", "dependencies": { diff --git a/src/components/atoms/quick-report-float-button/quick-report-float-button.atom.jsx b/src/components/atoms/quick-report-float-button/quick-report-float-button.atom.jsx new file mode 100644 index 0000000..a763d2c --- /dev/null +++ b/src/components/atoms/quick-report-float-button/quick-report-float-button.atom.jsx @@ -0,0 +1,44 @@ +import { CalendarFilled } from "@ant-design/icons"; +import { FloatButton } from "antd"; +import { connect } from "react-redux"; +import { useNavigate } from "react-router-dom"; +import { queryReportingData } from "../../../redux/reporting/reporting.actions"; +import dayjs from "../../../util/day.js"; + +const mapDispatchToProps = (dispatch) => ({ + queryReportingData: (dates) => dispatch(queryReportingData(dates)) +}); +export default connect(null, mapDispatchToProps)(QuickReportFloatButton); + +function QuickReportFloatButton({ queryReportingData }) { + const navigate = useNavigate(); + + const handleQuickReport = (startDate, endDate) => { + queryReportingData({ + startDate, + endDate + }); + navigate("/reporting"); + }; + + return ( + } + style={{ + marginBottom: "48px" + }} + > + handleQuickReport(dayjs().startOf("month"), dayjs().endOf("month"))} + /> + handleQuickReport(dayjs().startOf("month").subtract(2, "month"), dayjs().endOf("month"))} + /> + + ); +} diff --git a/src/components/molecules/reporting-dates/reporting-dates.molecule.jsx b/src/components/molecules/reporting-dates/reporting-dates.molecule.jsx index cdaaf9e..8c9dd28 100644 --- a/src/components/molecules/reporting-dates/reporting-dates.molecule.jsx +++ b/src/components/molecules/reporting-dates/reporting-dates.molecule.jsx @@ -1,4 +1,4 @@ -import { Button, DatePicker, Form, Space } from "antd"; +import { Button, DatePicker, Divider, Form, Space, Typography } from "antd"; import React from "react"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; @@ -24,7 +24,7 @@ export function ReportingDatesMolecule({ queryReportingData }) { return (
- + + + Quick Ranges: + + + + + + + + + + ); } diff --git a/src/components/pages/jobs/jobs.page.jsx b/src/components/pages/jobs/jobs.page.jsx index c15ef13..199c8a2 100644 --- a/src/components/pages/jobs/jobs.page.jsx +++ b/src/components/pages/jobs/jobs.page.jsx @@ -3,6 +3,7 @@ import React from "react"; import JobsDetailOrganism from "../../organisms/jobs-detail/jobs-detail.organism"; import JobsListOrganism from "../../organisms/jobs-list-latest/jobs-list-latest.organism"; import JobsListSearchOrganism from "../../organisms/jobs-list-search/jobs-list-search.organism"; +import QuickReportFloatButton from "../../atoms/quick-report-float-button/quick-report-float-button.atom"; export default function JobsPage() { const selectedBreakpoint = Object.entries(Grid.useBreakpoint()) @@ -15,12 +16,10 @@ export default function JobsPage() { md: { l: 10, r: 14 }, lg: { l: 8, r: 16 }, xl: { l: 6, r: 18 }, - xxl: { l: 5, r: 19 }, + xxl: { l: 5, r: 19 } }; - const selectedSpans = selectedBreakpoint - ? bpoints[selectedBreakpoint[0]] - : { l: 18, r: 6 }; + const selectedSpans = selectedBreakpoint ? bpoints[selectedBreakpoint[0]] : { l: 18, r: 6 }; return (
@@ -34,14 +33,14 @@ export default function JobsPage() { key: "latest", label: "Latest", children: , - style: { height: "100%" }, + style: { height: "100%" } }, { key: "search", label: "Search", children: , - style: { height: "100%" }, - }, + style: { height: "100%" } + } ]} > @@ -49,6 +48,7 @@ export default function JobsPage() { +
); }