- Merge client update into test-beta

Signed-off-by: Dave Richer <dave@imexsystems.ca>
This commit is contained in:
Dave Richer
2024-01-18 19:20:08 -05:00
696 changed files with 92291 additions and 107075 deletions

View File

@@ -1,76 +1,78 @@
import { MailOutlined, PrinterOutlined } from "@ant-design/icons";
import { Space, Spin } from "antd";
import React, { useState } from "react";
import { connect } from "react-redux";
import { createStructuredSelector } from "reselect";
import { setEmailOptions } from "../../redux/email/email.actions";
import { selectPrintCenter } from "../../redux/modals/modals.selectors";
import { selectTechnician } from "../../redux/tech/tech.selectors";
import { selectBodyshop } from "../../redux/user/user.selectors";
import { GenerateDocument } from "../../utils/RenderTemplate";
import {MailOutlined, PrinterOutlined} from "@ant-design/icons";
import {Space, Spin} from "antd";
import React, {useState} from "react";
import {connect} from "react-redux";
import {createStructuredSelector} from "reselect";
import {setEmailOptions} from "../../redux/email/email.actions";
import {selectPrintCenter} from "../../redux/modals/modals.selectors";
import {selectTechnician} from "../../redux/tech/tech.selectors";
import {selectBodyshop} from "../../redux/user/user.selectors";
import {GenerateDocument} from "../../utils/RenderTemplate";
const mapStateToProps = createStructuredSelector({
printCenterModal: selectPrintCenter,
bodyshop: selectBodyshop,
technician: selectTechnician,
printCenterModal: selectPrintCenter,
bodyshop: selectBodyshop,
technician: selectTechnician,
});
const mapDispatchToProps = (dispatch) => ({
setEmailOptions: (e) => dispatch(setEmailOptions(e)),
setEmailOptions: (e) => dispatch(setEmailOptions(e)),
});
export function PrintCenterItemComponent({
printCenterModal,
setEmailOptions,
item,
id,
bodyshop,
disabled,
technician,
}) {
const [loading, setLoading] = useState(false);
const { context } = printCenterModal;
const renderToNewWindow = async () => {
setLoading(true);
await GenerateDocument(
{
name: item.key,
variables: { id: id },
},
{},
"p"
);
setLoading(false);
};
printCenterModal,
setEmailOptions,
item,
id,
bodyshop,
disabled,
technician,
}) {
const [loading, setLoading] = useState(false);
const {context} = printCenterModal;
const renderToNewWindow = async () => {
setLoading(true);
await GenerateDocument(
{
name: item.key,
variables: {id: id},
},
{},
"p"
);
setLoading(false);
};
if (disabled) return <li className="print-center-item">{item.title} </li>;
return (
<li>
<Space wrap>
{item.title}
<PrinterOutlined onClick={renderToNewWindow} />
{!technician ? (
<MailOutlined
onClick={() => {
GenerateDocument(
{
name: item.key,
variables: { id: id },
},
{
to: context.job && context.job.ownr_ea,
subject: item.subject,
},
"e",
id
);
}}
/>
) : null}
{loading && <Spin />}
</Space>
</li>
);
if (disabled) return <li className="print-center-item">{item.title} </li>;
return (
<li>
<Space wrap>
{item.title}
<PrinterOutlined onClick={renderToNewWindow}/>
{!technician ? (
<MailOutlined
onClick={() => {
GenerateDocument(
{
name: item.key,
variables: {id: id},
},
{
to: context.job && context.job.ownr_ea,
subject: item.subject,
},
"e",
id
);
}}
/>
) : null}
{loading && <Spin/>}
</Space>
</li>
);
}
export default connect(
mapStateToProps,
mapDispatchToProps
mapStateToProps,
mapDispatchToProps
)(PrintCenterItemComponent);