diff --git a/client/package.json b/client/package.json index 5296db24a..bda074119 100644 --- a/client/package.json +++ b/client/package.json @@ -4,18 +4,18 @@ "private": true, "proxy": "http://localhost:4000", "dependencies": { - "@apollo/client": "^3.6.6", + "@apollo/client": "^3.6.9", "@asseinfo/react-kanban": "^2.2.0", - "@craco/craco": "^6.4.3", + "@craco/craco": "^6.4.5", "@fingerprintjs/fingerprintjs": "^3.3.3", "@jsreport/browser-client": "^3.1.0", - "@sentry/react": "^7.1.1", - "@sentry/tracing": "^7.1.1", - "@splitsoftware/splitio-react": "^1.4.1", - "@stripe/react-stripe-js": "^1.8.1", - "@stripe/stripe-js": "^1.31.0", - "@tanem/react-nprogress": "^5.0.1", - "antd": "^4.21.0", + "@sentry/react": "^7.7.0", + "@sentry/tracing": "^7.7.0", + "@splitsoftware/splitio-react": "^1.6.0", + "@stripe/react-stripe-js": "^1.9.0", + "@stripe/stripe-js": "^1.32.0", + "@tanem/react-nprogress": "^5.0.8", + "antd": "^4.21.7", "apollo-link-logger": "^2.0.0", "axios": "^0.27.2", "craco-less": "^1.20.0", @@ -24,33 +24,33 @@ "enquire-js": "^0.2.1", "env-cmd": "^10.1.0", "exifr": "^7.1.3", - "firebase": "^9.8.2", + "firebase": "^9.9.1", "graphql": "^16.5.0", - "i18next": "^21.8.9", + "i18next": "^21.8.14", "i18next-browser-languagedetector": "^6.1.4", - "jsoneditor": "^9.8.0", + "jsoneditor": "^9.9.0", "jsreport-browser-client-dist": "^1.3.0", - "libphonenumber-js": "^1.10.6", - "logrocket": "^3.0.0", - "markerjs2": "^2.21.4", + "libphonenumber-js": "^1.10.9", + "logrocket": "^3.0.1", + "markerjs2": "^2.22.0", "moment-business-days": "^1.2.0", "moment-timezone": "^0.5.34", "normalize-url": "^7.0.3", - "phone": "^3.1.20", + "phone": "^3.1.23", "preval.macro": "^5.0.0", "prop-types": "^15.8.1", "query-string": "^7.1.1", "rc-queue-anim": "^2.0.0", "rc-scroll-anim": "^2.7.6", "react": "^17.0.2", - "react-big-calendar": "^0.40.1", + "react-big-calendar": "^1.5.0", "react-color": "^2.19.3", "react-cookie": "^4.1.1", "react-dom": "^17.0.2", "react-drag-listview": "^0.2.1", "react-grid-gallery": "^0.5.5", "react-grid-layout": "^1.3.4", - "react-i18next": "^11.17.0", + "react-i18next": "^11.18.1", "react-icons": "^4.4.0", "react-number-format": "^4.9.3", "react-redux": "^7.2.8", @@ -60,13 +60,13 @@ "react-sticky": "^6.0.3", "react-sublime-video": "^0.2.5", "react-virtualized": "^9.22.3", - "recharts": "^2.1.10", + "recharts": "^2.1.12", "redux": "^4.2.0", "redux-persist": "^6.0.0", "redux-saga": "^1.1.3", - "redux-state-sync": "^3.1.2", + "redux-state-sync": "^3.1.4", "reselect": "^4.1.6", - "sass": "^1.51.0", + "sass": "^1.54.0", "socket.io-client": "^4.5.1", "styled-components": "^5.3.5", "subscriptions-transport-ws": "^0.11.0", @@ -119,9 +119,9 @@ "react-error-overlay": "6.0.9" }, "devDependencies": { - "@sentry/webpack-plugin": "^1.18.9", - "@testing-library/cypress": "^8.0.2", - "cypress": "^9.6.1", + "@sentry/webpack-plugin": "^1.19.0", + "@testing-library/cypress": "^8.0.3", + "cypress": "^10.3.1", "eslint-plugin-cypress": "^2.12.1", "react-error-overlay": "6.0.11", "redux-logger": "^3.0.6", diff --git a/client/src/components/bill-line-search-select/bill-line-search-select.component.jsx b/client/src/components/bill-line-search-select/bill-line-search-select.component.jsx index 96eec6cdc..552c2ad47 100644 --- a/client/src/components/bill-line-search-select/bill-line-search-select.component.jsx +++ b/client/src/components/bill-line-search-select/bill-line-search-select.component.jsx @@ -27,6 +27,10 @@ const BillLineSearchSelect = ( option.oem_partno .toLowerCase() .includes(inputValue.toLowerCase())) || + (option.alt_partno && + option.alt_partno + .toLowerCase() + .includes(inputValue.toLowerCase())) || (option.act_price && option.act_price.toString().startsWith(inputValue.toString())) ); @@ -48,14 +52,17 @@ const BillLineSearchSelect = ( line_desc={item.line_desc} part_qty={item.part_qty} oem_partno={item.oem_partno} + alt_partno={item.alt_partno} act_price={item.act_price} style={{ ...(item.removed ? { textDecoration: "line-through" } : {}), }} > - {`${item.removed ? `(REMOVED) ` : ""}${item.line_desc}${ - item.oem_partno ? ` - ${item.oem_partno}` : "" - }`} + + {`${item.removed ? `(REMOVED) ` : ""}${item.line_desc}${ + item.oem_partno ? ` - ${item.oem_partno}` : "" + }${item.alt_partno ? ` (${item.alt_partno})` : ""}`.trim()} + {item.act_price ? `$${item.act_price && item.act_price.toFixed(2)}` diff --git a/client/src/components/job-detail-lines/job-lines.component.jsx b/client/src/components/job-detail-lines/job-lines.component.jsx index 2b1ddf2b9..5c0cad744 100644 --- a/client/src/components/job-detail-lines/job-lines.component.jsx +++ b/client/src/components/job-detail-lines/job-lines.component.jsx @@ -144,11 +144,26 @@ export function JobLinesComponent({ filters: [ { text: t("jobs.labels.partsfilter"), - value: ["PAN", "PAP", "PAL", "PAA", "PAS", "PASL"], + value: [ + "PAN", + "PAC", + "PAR", + "PAL", + "PAA", + "PAM", + "PAP", + "PAS", + "PASL", + "PAG", + ], }, { text: t("joblines.fields.part_types.PAN"), - value: ["PAN", "PAP"], + value: ["PAN"], + }, + { + text: t("joblines.fields.part_types.PAP"), + value: ["PAP"], }, { text: t("joblines.fields.part_types.PAL"), @@ -158,9 +173,29 @@ export function JobLinesComponent({ text: t("joblines.fields.part_types.PAA"), value: ["PAA"], }, + { + text: t("joblines.fields.part_types.PAG"), + value: ["PAG"], + }, { text: t("joblines.fields.part_types.PAS"), - value: ["PAS", "PASL"], + value: ["PAS"], + }, + { + text: t("joblines.fields.part_types.PASL"), + value: ["PASL"], + }, + { + text: t("joblines.fields.part_types.PAC"), + value: ["PAC"], + }, + { + text: t("joblines.fields.part_types.PAR"), + value: ["PAR"], + }, + { + text: t("joblines.fields.part_types.PAM"), + value: ["PAM"], }, ], onFilter: (value, record) => value.includes(record.part_type), @@ -346,7 +381,11 @@ export function JobLinesComponent({ ]; const handleTableChange = (pagination, filters, sorter) => { - setState({ ...state, filteredInfo: filters, sortedInfo: sorter }); + setState((state) => ({ + ...state, + filteredInfo: filters, + sortedInfo: sorter, + })); }; const handleMark = (e) => { @@ -482,9 +521,10 @@ export function JobLinesComponent({