From d1c654617d27ba71ccb502935a0f3baf59a11f4b Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Wed, 25 Nov 2020 11:11:36 -0800 Subject: [PATCH 1/4] Added filtering for jobs with no close date on search. RPS-58 --- WIP Changelog.txt | 1 + .../jobs-search-fields.molecule.jsx | 33 ++++++++++++++++--- src/graphql/jobs.queries.js | 2 ++ 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/WIP Changelog.txt b/WIP Changelog.txt index 72936a0..10d1958 100644 --- a/WIP Changelog.txt +++ b/WIP Changelog.txt @@ -1,5 +1,6 @@ New Features: - Added a reference guide for MPI Grouping Guidelines next to the Group Descriptor on the estimate screen. +- Added ability to filter for jobs with no close date on job search. Bug Fixes: - Added better error handling on reporting for jobs that did not have a group set. \ No newline at end of file diff --git a/src/components/molecules/jobs-search-fields/jobs-search-fields.molecule.jsx b/src/components/molecules/jobs-search-fields/jobs-search-fields.molecule.jsx index 5e869da..b5b2c65 100644 --- a/src/components/molecules/jobs-search-fields/jobs-search-fields.molecule.jsx +++ b/src/components/molecules/jobs-search-fields/jobs-search-fields.molecule.jsx @@ -1,8 +1,9 @@ import { SearchOutlined } from "@ant-design/icons"; -import { Button, DatePicker, Form, Input } from "antd"; +import { Button, Checkbox, DatePicker, Form, Input } from "antd"; import React from "react"; import ipcTypes from "../../../ipc.types"; const { ipcRenderer } = window; + export default function JobsSearchFieldsMolecule({ callSearchQuery }) { const [form] = Form.useForm(); @@ -17,6 +18,9 @@ export default function JobsSearchFieldsMolecule({ callSearchQuery }) { search: values.search || "", startDate: (values.dateRange && values.dateRange[0]) || null, endDate: (values.dateRange && values.dateRange[1]) || null, + ...(values.closeDateIsNull + ? { closeDateIsNull: values.closeDateIsNull } + : {}), }, }); }; @@ -35,10 +39,29 @@ export default function JobsSearchFieldsMolecule({ callSearchQuery }) { - + + Only Jobs with No Close Date + + + {() => { + const disabled = + !!!form.getFieldValue("search") && + !!!form.getFieldValue("dateRange") && + !form.getFieldValue("closeDateIsNull"); + + return ( + + ); + }} + ); diff --git a/src/graphql/jobs.queries.js b/src/graphql/jobs.queries.js index 1077399..ddc342b 100644 --- a/src/graphql/jobs.queries.js +++ b/src/graphql/jobs.queries.js @@ -44,11 +44,13 @@ export const SEARCH_JOBS_PAGINATED = gql` $search: String $startDate: date $endDate: date + $closeDateIsNull: Boolean ) { search_jobs( offset: $offset limit: $limit args: { enddate: $endDate, search: $search, startdate: $startDate } + where: { close_date: { _is_null: $closeDateIsNull } } ) { ownr_fn ownr_ln From 7a05c832e9d24526777a553759189229b5426e33 Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Wed, 25 Nov 2020 15:43:08 -0800 Subject: [PATCH 2/4] Added confirm on shop settings save. RPS-62 --- .../shop-settings-form.molecule.jsx | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/components/molecules/shop-settings-form/shop-settings-form.molecule.jsx b/src/components/molecules/shop-settings-form/shop-settings-form.molecule.jsx index bb3baad..173a4d8 100644 --- a/src/components/molecules/shop-settings-form/shop-settings-form.molecule.jsx +++ b/src/components/molecules/shop-settings-form/shop-settings-form.molecule.jsx @@ -1,5 +1,13 @@ import { DeleteFilled } from "@ant-design/icons"; -import { Button, Form, Input, InputNumber, Select, Typography } from "antd"; +import { + Button, + Form, + Input, + InputNumber, + Popconfirm, + Select, + Typography, +} from "antd"; import React, { useState } from "react"; import FormListMoveArrows from "../../atoms/form-list-move-arrows/form-list-move-arrows.atom"; import LayoutFormRow from "../../atoms/layout-form-row/layout-form-row.atom"; @@ -15,13 +23,15 @@ export default function ShopSettingsFormMolecule({ form, saveLoading }) { return (
Shop Settings - + + + Date: Wed, 25 Nov 2020 15:50:51 -0800 Subject: [PATCH 3/4] Added custom loading spinner component to improve stlying. --- src/App/App.jsx | 5 ++-- .../loading-spinner/loading-spinner.atom.jsx | 25 +++++++++++++++++++ .../loading-spinner.styles.scss | 8 ++++++ 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 src/components/atoms/loading-spinner/loading-spinner.atom.jsx create mode 100644 src/components/atoms/loading-spinner/loading-spinner.styles.scss diff --git a/src/App/App.jsx b/src/App/App.jsx index 471a210..0349a6b 100644 --- a/src/App/App.jsx +++ b/src/App/App.jsx @@ -1,9 +1,10 @@ import { ApolloProvider } from "@apollo/client"; -import { ConfigProvider, Spin } from "antd"; +import { ConfigProvider } from "antd"; import enLocale from "antd/es/locale/en_US"; import React, { useEffect } from "react"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; +import LoadingSpinnerAtom from "../components/atoms/loading-spinner/loading-spinner.atom"; import RoutesPage from "../components/pages/routes/routes.page"; import SignInPage from "../components/pages/sign-in/sign-in.page"; import client from "../graphql/GraphQLClient"; @@ -34,7 +35,7 @@ export function App({ currentUser, checkUserSession }) { }, []); if (currentUser.authorized === null) { - return ; + return ; } return ( diff --git a/src/components/atoms/loading-spinner/loading-spinner.atom.jsx b/src/components/atoms/loading-spinner/loading-spinner.atom.jsx new file mode 100644 index 0000000..890713b --- /dev/null +++ b/src/components/atoms/loading-spinner/loading-spinner.atom.jsx @@ -0,0 +1,25 @@ +import React from "react"; +import { Spin } from "antd"; +import "./loading-spinner.styles.scss"; + +export default function LoadingSpinnerAtom({ + loading = true, + message, + ...props +}) { + return ( +
+ + {props.children} + +
+ ); +} diff --git a/src/components/atoms/loading-spinner/loading-spinner.styles.scss b/src/components/atoms/loading-spinner/loading-spinner.styles.scss new file mode 100644 index 0000000..ed927a8 --- /dev/null +++ b/src/components/atoms/loading-spinner/loading-spinner.styles.scss @@ -0,0 +1,8 @@ +.loading-spinner { + display: flex; + flex: 1; + height: 100%; + align-items: center; + justify-content: center; + margin: 1em; +} From d49c93aa0750d31418ac168135ad430086d2ce1d Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Wed, 25 Nov 2020 16:14:32 -0800 Subject: [PATCH 4/4] Added changelog for 1.0.12. --- WIP Changelog.txt | 3 ++- electron/changelog.json | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/WIP Changelog.txt b/WIP Changelog.txt index 10d1958..eb0763e 100644 --- a/WIP Changelog.txt +++ b/WIP Changelog.txt @@ -3,4 +3,5 @@ New Features: - Added ability to filter for jobs with no close date on job search. Bug Fixes: -- Added better error handling on reporting for jobs that did not have a group set. \ No newline at end of file +- Added better error handling on reporting for jobs that did not have a group set. +- Added a confirmation on changes to shop settings to indicate that a restart is required for them to take effect. \ No newline at end of file diff --git a/electron/changelog.json b/electron/changelog.json index fc5a3ed..d068559 100644 --- a/electron/changelog.json +++ b/electron/changelog.json @@ -16,7 +16,7 @@ }, "1.0.12": { "title": "Release Notes for 1.0.12", - "date": "TBD", - "notes": "" + "date": "11/26/2020", + "notes": "New Features: \n- Added a reference guide for MPI Grouping Guidelines next to the Group Descriptor on the estimate screen.\n- Added ability to filter for jobs with no close date on job search.\n\nBug Fixes: \n- Added better error handling on reporting for jobs that did not have a group set.\n- Added a confirmation on changes to shop settings to indicate that a restart is required for them to take effect." } }