- Fix DMS Socket (missing reference)
- Add preview mode Signed-off-by: Dave Richer <dave@imexsystems.ca>
This commit is contained in:
@@ -90,6 +90,9 @@
|
|||||||
"start:imex": "dotenvx run --env-file=.env.development.imex -- vite",
|
"start:imex": "dotenvx run --env-file=.env.development.imex -- vite",
|
||||||
"start:rome": "dotenvx run --env-file=.env.development.rome -- vite",
|
"start:rome": "dotenvx run --env-file=.env.development.rome -- vite",
|
||||||
"start:promanager": "dotenvx run --env-file=.env.development.promanager -- vite",
|
"start:promanager": "dotenvx run --env-file=.env.development.promanager -- vite",
|
||||||
|
"preview:imex": "dotenvx run --env-file=.env.development.imex -- vite preview",
|
||||||
|
"preview:rome": "dotenvx run --env-file=.env.development.rome -- vite preview",
|
||||||
|
"preview:promanager": "dotenvx run --env-file=.env.development.promanager -- vite preview",
|
||||||
"build:test:imex": "env-cmd -f .env.test.imex npm run build",
|
"build:test:imex": "env-cmd -f .env.test.imex npm run build",
|
||||||
"build:test:rome": "env-cmd -f .env.test.rome npm run build",
|
"build:test:rome": "env-cmd -f .env.test.rome npm run build",
|
||||||
"build:test:promanager": "env-cmd -f .env.test.promanager npm run build",
|
"build:test:promanager": "env-cmd -f .env.test.promanager npm run build",
|
||||||
|
|||||||
@@ -1,37 +1,51 @@
|
|||||||
import { Button, Checkbox, Col, Table } from "antd";
|
import { Button, Checkbox, Col, Table } from "antd";
|
||||||
import React, { useState } from "react";
|
import React, { useContext, useEffect, useState } from "react";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import { createStructuredSelector } from "reselect";
|
import { createStructuredSelector } from "reselect";
|
||||||
import { socket } from "../../pages/dms/dms.container";
|
|
||||||
import { selectBodyshop } from "../../redux/user/user.selectors";
|
import { selectBodyshop } from "../../redux/user/user.selectors";
|
||||||
import { alphaSort } from "../../utils/sorters";
|
import { alphaSort } from "../../utils/sorters";
|
||||||
|
import SocketContext from "../../contexts/SocketIO/socketContext"; // Import Socket Context
|
||||||
|
|
||||||
const mapStateToProps = createStructuredSelector({
|
const mapStateToProps = createStructuredSelector({
|
||||||
bodyshop: selectBodyshop
|
bodyshop: selectBodyshop
|
||||||
});
|
});
|
||||||
const mapDispatchToProps = (dispatch) => ({
|
const mapDispatchToProps = (dispatch) => ({});
|
||||||
//setUserLanguage: language => dispatch(setUserLanguage(language))
|
|
||||||
});
|
|
||||||
export default connect(mapStateToProps, mapDispatchToProps)(DmsCustomerSelector);
|
export default connect(mapStateToProps, mapDispatchToProps)(DmsCustomerSelector);
|
||||||
|
|
||||||
export function DmsCustomerSelector({ bodyshop }) {
|
export function DmsCustomerSelector({ bodyshop }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const [customerList, setcustomerList] = useState([]);
|
const { socket } = useContext(SocketContext); // Use Socket Context
|
||||||
|
const [customerList, setCustomerList] = useState([]);
|
||||||
const [open, setOpen] = useState(false);
|
const [open, setOpen] = useState(false);
|
||||||
const [selectedCustomer, setSelectedCustomer] = useState(null);
|
const [selectedCustomer, setSelectedCustomer] = useState(null);
|
||||||
const [dmsType, setDmsType] = useState("cdk");
|
const [dmsType, setDmsType] = useState("cdk");
|
||||||
|
|
||||||
socket.on("cdk-select-customer", (customerList, callback) => {
|
useEffect(() => {
|
||||||
setOpen(true);
|
if (socket) {
|
||||||
setDmsType("cdk");
|
const handleCdkSelectCustomer = (customerList) => {
|
||||||
setcustomerList(customerList);
|
setOpen(true);
|
||||||
});
|
setDmsType("cdk");
|
||||||
socket.on("pbs-select-customer", (customerList, callback) => {
|
setCustomerList(customerList);
|
||||||
setOpen(true);
|
};
|
||||||
setDmsType("pbs");
|
|
||||||
setcustomerList(customerList);
|
const handlePbsSelectCustomer = (customerList) => {
|
||||||
});
|
setOpen(true);
|
||||||
|
setDmsType("pbs");
|
||||||
|
setCustomerList(customerList);
|
||||||
|
};
|
||||||
|
|
||||||
|
socket.on("cdk-select-customer", handleCdkSelectCustomer);
|
||||||
|
socket.on("pbs-select-customer", handlePbsSelectCustomer);
|
||||||
|
|
||||||
|
// Clean up listeners on unmount
|
||||||
|
return () => {
|
||||||
|
socket.off("cdk-select-customer", handleCdkSelectCustomer);
|
||||||
|
socket.off("pbs-select-customer", handlePbsSelectCustomer);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}, [socket]);
|
||||||
|
|
||||||
const onUseSelected = () => {
|
const onUseSelected = () => {
|
||||||
setOpen(false);
|
setOpen(false);
|
||||||
@@ -69,17 +83,11 @@ export function DmsCustomerSelector({ bodyshop }) {
|
|||||||
key: "name1",
|
key: "name1",
|
||||||
sorter: (a, b) => alphaSort(a.name1 && a.name1.fullName, b.name1 && b.name1.fullName)
|
sorter: (a, b) => alphaSort(a.name1 && a.name1.fullName, b.name1 && b.name1.fullName)
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
title: t("jobs.fields.dms.address"),
|
title: t("jobs.fields.dms.address"),
|
||||||
//dataIndex: ["name2", "fullName"],
|
|
||||||
key: "address",
|
key: "address",
|
||||||
render: (record, value) =>
|
render: (record) =>
|
||||||
`${
|
`${record.address?.addressLine?.[0]}, ${record.address?.city} ${record.address?.stateOrProvince} ${record.address?.postalCode}`
|
||||||
record.address && record.address.addressLine && record.address.addressLine[0]
|
|
||||||
}, ${record.address && record.address.city} ${
|
|
||||||
record.address && record.address.stateOrProvince
|
|
||||||
} ${record.address && record.address.postalCode}`
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -95,15 +103,15 @@ export function DmsCustomerSelector({ bodyshop }) {
|
|||||||
sorter: (a, b) => alphaSort(a.LastName, b.LastName),
|
sorter: (a, b) => alphaSort(a.LastName, b.LastName),
|
||||||
render: (text, record) => `${record.FirstName || ""} ${record.LastName || ""}`
|
render: (text, record) => `${record.FirstName || ""} ${record.LastName || ""}`
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
title: t("jobs.fields.dms.address"),
|
title: t("jobs.fields.dms.address"),
|
||||||
key: "address",
|
key: "address",
|
||||||
render: (record, value) => `${record.Address}, ${record.City} ${record.State} ${record.ZipCode}`
|
render: (record) => `${record.Address}, ${record.City} ${record.State} ${record.ZipCode}`
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
if (!open) return null;
|
if (!open) return null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Col span={24}>
|
<Col span={24}>
|
||||||
<Table
|
<Table
|
||||||
@@ -125,7 +133,6 @@ export function DmsCustomerSelector({ bodyshop }) {
|
|||||||
columns={dmsType === "cdk" ? cdkColumns : pbsColumns}
|
columns={dmsType === "cdk" ? cdkColumns : pbsColumns}
|
||||||
rowKey={(record) => (dmsType === "cdk" ? record.id.value : record.ContactId)}
|
rowKey={(record) => (dmsType === "cdk" ? record.id.value : record.ContactId)}
|
||||||
dataSource={customerList}
|
dataSource={customerList}
|
||||||
//onChange={handleTableChange}
|
|
||||||
rowSelection={{
|
rowSelection={{
|
||||||
onSelect: (record) => {
|
onSelect: (record) => {
|
||||||
setSelectedCustomer(dmsType === "cdk" ? record.id.value : record.ContactId);
|
setSelectedCustomer(dmsType === "cdk" ? record.id.value : record.ContactId);
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ export default connect(mapStateToProps, mapDispatchToProps)(DmsContainer);
|
|||||||
|
|
||||||
export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, insertAuditTrail }) {
|
export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, insertAuditTrail }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const { socket, clientId } = useContext(SocketContext);
|
const { socket } = useContext(SocketContext);
|
||||||
const [logLevel, setLogLevel] = useState("DEBUG");
|
const [logLevel, setLogLevel] = useState("DEBUG");
|
||||||
const history = useNavigate();
|
const history = useNavigate();
|
||||||
const [logs, setLogs] = useState([]);
|
const [logs, setLogs] = useState([]);
|
||||||
@@ -54,6 +54,7 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, inse
|
|||||||
fetchPolicy: "network-only",
|
fetchPolicy: "network-only",
|
||||||
nextFetchPolicy: "network-only"
|
nextFetchPolicy: "network-only"
|
||||||
});
|
});
|
||||||
|
|
||||||
const logsRef = useRef(null);
|
const logsRef = useRef(null);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|||||||
@@ -146,6 +146,30 @@ export default defineConfig({
|
|||||||
allowHTTP1: false // Force HTTP/2
|
allowHTTP1: false // Force HTTP/2
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
preview: {
|
||||||
|
port: 6000,
|
||||||
|
host: true,
|
||||||
|
open: true,
|
||||||
|
https: {
|
||||||
|
key: await fsPromises.readFile("../certs/key.pem"),
|
||||||
|
cert: await fsPromises.readFile("../certs/cert.pem"),
|
||||||
|
allowHTTP1: false // Force HTTP/2
|
||||||
|
},
|
||||||
|
proxy: {
|
||||||
|
"/ws": {
|
||||||
|
target: "ws://localhost:4000",
|
||||||
|
rewriteWsOrigin: true,
|
||||||
|
secure: false,
|
||||||
|
ws: true
|
||||||
|
},
|
||||||
|
"/api": {
|
||||||
|
target: "http://localhost:4000",
|
||||||
|
changeOrigin: true,
|
||||||
|
secure: false,
|
||||||
|
ws: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
build: {
|
build: {
|
||||||
rollupOptions: {
|
rollupOptions: {
|
||||||
output: {
|
output: {
|
||||||
|
|||||||
Reference in New Issue
Block a user