diff --git a/client/src/App/App.container.jsx b/client/src/App/App.container.jsx
index ab18d78e2..83d0d098a 100644
--- a/client/src/App/App.container.jsx
+++ b/client/src/App/App.container.jsx
@@ -14,9 +14,9 @@ import GlobalLoadingBar from "../components/global-loading-bar/global-loading-ba
import { auth } from "../firebase/firebase.utils";
import errorLink from "../graphql/apollo-error-handling";
import App from "./App";
-
import LogRocket from "logrocket";
-LogRocket.init("gvfvfw/bodyshopapp");
+
+if (process.env.NODE_ENV === "production") LogRocket.init("gvfvfw/bodyshopapp");
export default class AppContainer extends Component {
constructor() {
diff --git a/client/src/components/jobs-available-supplement/jobs-available-supplement.component.jsx b/client/src/components/jobs-available-supplement/jobs-available-supplement.component.jsx
index b18b21546..8b66447f5 100644
--- a/client/src/components/jobs-available-supplement/jobs-available-supplement.component.jsx
+++ b/client/src/components/jobs-available-supplement/jobs-available-supplement.component.jsx
@@ -16,7 +16,6 @@ export default function JobsAvailableSupplementComponent({
data,
refetch,
deleteJob,
- updateJob,
onModalOk,
onModalCancel,
modalVisible,
@@ -27,6 +26,7 @@ export default function JobsAvailableSupplementComponent({
loadEstData,
estData,
importOptionsState,
+ modalSearchState,
}) {
const { t } = useTranslation();
@@ -131,7 +131,7 @@ export default function JobsAvailableSupplementComponent({
{
title: t("general.labels.actions"),
key: "actions",
- render: (text, record) => (
+ render: (text, record, index) => (
),
- //width: "12%",
- //ellipsis: true
},
];
@@ -186,6 +185,7 @@ export default function JobsAvailableSupplementComponent({
visible={modalVisible}
onOk={onModalOk}
onCancel={onModalCancel}
+ modalSearchState={modalSearchState}
/>
{
setModalVisible(false);
+ modalSearchState[1]("");
setSelectedJob(null);
};
@@ -159,6 +158,7 @@ export function JobsAvailableSupplementContainer({
loadEstData={loadEstData}
estData={estData}
importOptionsState={importOptionsState}
+ modalSearchState={modalSearchState}
/>
);
diff --git a/client/src/components/jobs-find-modal/jobs-find-modal.component.jsx b/client/src/components/jobs-find-modal/jobs-find-modal.component.jsx
index df454863e..16df4941a 100644
--- a/client/src/components/jobs-find-modal/jobs-find-modal.component.jsx
+++ b/client/src/components/jobs-find-modal/jobs-find-modal.component.jsx
@@ -1,4 +1,4 @@
-import { Checkbox, Divider, Table } from "antd";
+import { Checkbox, Divider, Table, Input } from "antd";
import React from "react";
import { useTranslation } from "react-i18next";
import { Link } from "react-router-dom";
@@ -9,12 +9,13 @@ export default function JobsFindModalComponent({
setSelectedJob,
jobsList,
jobsListLoading,
- importOptionsState
+ importOptionsState,
+ modalSearchState,
}) {
const { t } = useTranslation();
-
+ const [modalSearch, setModalSearch] = modalSearchState;
const [importOptions, setImportOptions] = importOptionsState;
- console.log("importOptions", importOptions);
+
const columns = [
{
title: t("jobs.fields.ro_number"),
@@ -27,7 +28,7 @@ export default function JobsFindModalComponent({
{record.ro_number ? record.ro_number : "EST-" + record.est_number}
- )
+ ),
},
{
title: t("jobs.fields.owner"),
@@ -46,7 +47,7 @@ export default function JobsFindModalComponent({
// t("jobs.errors.noowner")
{`${record.ownr_fn} ${record.ownr_ln}`}
);
- }
+ },
},
{
title: t("jobs.fields.ownr_ph1"),
@@ -60,7 +61,7 @@ export default function JobsFindModalComponent({
) : (
t("general.labels.unknown")
);
- }
+ },
},
{
title: t("jobs.fields.status"),
@@ -70,7 +71,7 @@ export default function JobsFindModalComponent({
ellipsis: true,
render: (text, record) => {
return record.status || t("general.labels.na");
- }
+ },
},
{
@@ -82,13 +83,14 @@ export default function JobsFindModalComponent({
render: (text, record) => {
return record.vehicle ? (
- {`${record.v_model_yr || ""} ${record.v_make_desc ||
- ""} ${record.v_model_desc || ""}`}
+ {`${record.v_model_yr || ""} ${record.v_make_desc || ""} ${
+ record.v_model_desc || ""
+ }`}
) : (
t("jobs.errors.novehicle")
);
- }
+ },
},
{
title: t("vehicles.fields.plate_no"),
@@ -102,7 +104,7 @@ export default function JobsFindModalComponent({
) : (
t("general.labels.unknown")
);
- }
+ },
},
{
title: t("jobs.fields.clm_no"),
@@ -116,11 +118,11 @@ export default function JobsFindModalComponent({
) : (
t("general.labels.unknown")
);
- }
- }
+ },
+ },
];
- const handleOnRowClick = record => {
+ const handleOnRowClick = (record) => {
if (record) {
if (record.id) {
setSelectedJob(record.id);
@@ -133,35 +135,45 @@ export default function JobsFindModalComponent({
return (
t("jobs.labels.existing_jobs")}
+ title={() => (
+
+ {t("jobs.labels.existing_jobs")}
+ {
+ setModalSearch(e.target.value);
+ }}
+ />
+
+ )}
size='small'
pagination={{ position: "bottom" }}
- columns={columns.map(item => ({ ...item }))}
+ columns={columns.map((item) => ({ ...item }))}
rowKey='id'
loading={jobsListLoading}
dataSource={jobsList}
rowSelection={{
- onSelect: props => {
+ onSelect: (props) => {
setSelectedJob(props.id);
},
type: "radio",
- selectedRowKeys: [selectedJob]
+ selectedRowKeys: [selectedJob],
}}
onRow={(record, rowIndex) => {
return {
- onClick: event => {
+ onClick: (event) => {
handleOnRowClick(record);
- }
+ },
};
}}
/>
+ onChange={(e) =>
setImportOptions({
...importOptions,
- overrideHeaders: e.target.checked
+ overrideHeaders: e.target.checked,
})
}>
{t("jobs.labels.override_header")}
diff --git a/client/src/components/jobs-find-modal/jobs-find-modal.container.jsx b/client/src/components/jobs-find-modal/jobs-find-modal.container.jsx
index b05e3b653..4f53ea11d 100644
--- a/client/src/components/jobs-find-modal/jobs-find-modal.container.jsx
+++ b/client/src/components/jobs-find-modal/jobs-find-modal.container.jsx
@@ -10,7 +10,7 @@ import { selectBodyshop } from "../../redux/user/user.selectors";
import { connect } from "react-redux";
import { createStructuredSelector } from "reselect";
const mapStateToProps = createStructuredSelector({
- bodyshop: selectBodyshop
+ bodyshop: selectBodyshop,
});
export default connect(
@@ -23,6 +23,7 @@ export default connect(
selectedJob,
setSelectedJob,
importOptionsState,
+ modalSearchState,
...modalProps
}) {
const { t } = useTranslation();
@@ -30,14 +31,54 @@ export default connect(
const jobsList = useQuery(QUERY_ALL_ACTIVE_JOBS, {
fetchPolicy: "network-only",
variables: {
- statuses: bodyshop.md_ro_statuses.open_statuses || ["Open"]
- }
+ statuses: bodyshop.md_ro_statuses.open_statuses || ["Open"],
+ },
});
+ const modalSearch = modalSearchState[0];
+
+ const jobsData =
+ jobsList.data && jobsList.data.jobs
+ ? modalSearch
+ ? jobsList.data.jobs.filter(
+ (j) =>
+ (j.ro_number || "")
+ .toLowerCase()
+ .includes(modalSearch.toLowerCase()) ||
+ (j.est_number || "")
+ .toString()
+ .toLowerCase()
+ .includes(modalSearch.toLowerCase()) ||
+ (j.ownr_fn || "")
+ .toLowerCase()
+ .includes(modalSearch.toLowerCase()) ||
+ (j.ownr_ln || "")
+ .toLowerCase()
+ .includes(modalSearch.toLowerCase()) ||
+ (j.status || "")
+ .toLowerCase()
+ .includes(modalSearch.toLowerCase()) ||
+ (j.v_make_desc || "")
+ .toLowerCase()
+ .includes(modalSearch.toLowerCase()) ||
+ (j.v_model_desc || "")
+ .toLowerCase()
+ .includes(modalSearch.toLowerCase()) ||
+ (j.clm_no || "")
+ .toLowerCase()
+ .includes(modalSearch.toLowerCase()) ||
+ (j.plate_no || "")
+ .toLowerCase()
+ .includes(modalSearch.toLowerCase())
+ )
+ : jobsList.data.jobs
+ : null;
+
return (
{loading ? : null}
@@ -48,9 +89,8 @@ export default connect(
setSelectedJob={setSelectedJob}
importOptionsState={importOptionsState}
jobsListLoading={jobsList.loading}
- jobsList={
- jobsList.data && jobsList.data.jobs ? jobsList.data.jobs : null
- }
+ jobsList={jobsData}
+ modalSearchState={modalSearchState}
/>
) : null}