IO-233 WS Updates and templat eadditions
This commit is contained in:
@@ -29001,6 +29001,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>courtesy_car_impound</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
<concept_node>
|
<concept_node>
|
||||||
<name>courtesy_car_terms</name>
|
<name>courtesy_car_terms</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
import { Button, Dropdown, Menu } from "antd";
|
||||||
|
import React, { useState } from "react";
|
||||||
|
import { TemplateList } from "../../utils/TemplateConstants";
|
||||||
|
import { useTranslation } from "react-i18next";
|
||||||
|
import { GenerateDocument } from "../../utils/RenderTemplate";
|
||||||
|
|
||||||
|
const ProdTemplates = TemplateList("production");
|
||||||
|
|
||||||
|
export default function ProductionListPrint() {
|
||||||
|
const { t } = useTranslation();
|
||||||
|
const [loading, setLoading] = useState(false);
|
||||||
|
return (
|
||||||
|
<Dropdown
|
||||||
|
trigger="click"
|
||||||
|
overlay={
|
||||||
|
<Menu>
|
||||||
|
{Object.keys(ProdTemplates).map((key) => (
|
||||||
|
<Menu.Item
|
||||||
|
key={key}
|
||||||
|
onClick={async () => {
|
||||||
|
setLoading(true);
|
||||||
|
await GenerateDocument(
|
||||||
|
{
|
||||||
|
name: ProdTemplates[key].key,
|
||||||
|
// variables: { id: contract.id },
|
||||||
|
},
|
||||||
|
{},
|
||||||
|
"p"
|
||||||
|
);
|
||||||
|
setLoading(false);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{ProdTemplates[key].title}
|
||||||
|
</Menu.Item>
|
||||||
|
))}
|
||||||
|
</Menu>
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<Button loading={loading}>{t("general.labels.print")}</Button>
|
||||||
|
</Dropdown>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -13,6 +13,7 @@ import ProductionListColumnsAdd from "../production-list-columns/production-list
|
|||||||
import ProductionListColumns from "../production-list-columns/production-list-columns.data";
|
import ProductionListColumns from "../production-list-columns/production-list-columns.data";
|
||||||
import ProductionListDetail from "../production-list-detail/production-list-detail.component";
|
import ProductionListDetail from "../production-list-detail/production-list-detail.component";
|
||||||
import ProductionListSaveConfigButton from "../production-list-save-config-button/production-list-save-config-button.component";
|
import ProductionListSaveConfigButton from "../production-list-save-config-button/production-list-save-config-button.component";
|
||||||
|
import ProductionListPrint from "./production-list-print.component";
|
||||||
import ProductionListTableViewSelect from "./production-list-table-view-select.component";
|
import ProductionListTableViewSelect from "./production-list-table-view-select.component";
|
||||||
import ResizeableTitle from "./production-list-table.resizeable.component";
|
import ResizeableTitle from "./production-list-table.resizeable.component";
|
||||||
|
|
||||||
@@ -88,14 +89,16 @@ export function ProductionListTable({
|
|||||||
setColumns(columns.filter((i) => i.key !== key));
|
setColumns(columns.filter((i) => i.key !== key));
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleResize = (index) => (e, { size }) => {
|
const handleResize =
|
||||||
const nextColumns = [...columns];
|
(index) =>
|
||||||
nextColumns[index] = {
|
(e, { size }) => {
|
||||||
...nextColumns[index],
|
const nextColumns = [...columns];
|
||||||
width: size.width,
|
nextColumns[index] = {
|
||||||
|
...nextColumns[index],
|
||||||
|
width: size.width,
|
||||||
|
};
|
||||||
|
setColumns(nextColumns);
|
||||||
};
|
};
|
||||||
setColumns(nextColumns);
|
|
||||||
};
|
|
||||||
|
|
||||||
const headerItem = (col) => (
|
const headerItem = (col) => (
|
||||||
<Dropdown
|
<Dropdown
|
||||||
@@ -178,6 +181,7 @@ export function ProductionListTable({
|
|||||||
placeholder={t("general.labels.search")}
|
placeholder={t("general.labels.search")}
|
||||||
value={searchText}
|
value={searchText}
|
||||||
/>
|
/>
|
||||||
|
<ProductionListPrint />
|
||||||
</Space>
|
</Space>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -110,6 +110,23 @@ export function ContractDetailPage({
|
|||||||
"printcenter.courtesycarcontract.courtesy_car_terms"
|
"printcenter.courtesycarcontract.courtesy_car_terms"
|
||||||
)}
|
)}
|
||||||
</Menu.Item>
|
</Menu.Item>
|
||||||
|
<Menu.Item
|
||||||
|
onClick={() =>
|
||||||
|
GenerateDocument(
|
||||||
|
{
|
||||||
|
name: TemplateList("courtesycarcontract")
|
||||||
|
.courtesy_car_impound.key,
|
||||||
|
variables: { id: contract.id },
|
||||||
|
},
|
||||||
|
{},
|
||||||
|
"p"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{t(
|
||||||
|
"printcenter.courtesycarcontract.courtesy_car_impound"
|
||||||
|
)}
|
||||||
|
</Menu.Item>
|
||||||
</Menu>
|
</Menu>
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ const mapDispatchToProps = (dispatch) => ({
|
|||||||
setSelectedHeader: (key) => dispatch(setSelectedHeader(key)),
|
setSelectedHeader: (key) => dispatch(setSelectedHeader(key)),
|
||||||
});
|
});
|
||||||
|
|
||||||
export default connect(mapStateToProps, mapDispatchToProps)(CdkContainer);
|
export default connect(mapStateToProps, mapDispatchToProps)(DmsContainer);
|
||||||
|
|
||||||
export const socket = SocketIO(
|
export const socket = SocketIO(
|
||||||
process.env.NODE_ENV === "production"
|
process.env.NODE_ENV === "production"
|
||||||
@@ -29,7 +29,6 @@ export const socket = SocketIO(
|
|||||||
: window.location.origin,
|
: window.location.origin,
|
||||||
{
|
{
|
||||||
path: "/ws",
|
path: "/ws",
|
||||||
// transports: ["websocket"],
|
|
||||||
auth: async (callback) => {
|
auth: async (callback) => {
|
||||||
const token = auth.currentUser && (await auth.currentUser.getIdToken());
|
const token = auth.currentUser && (await auth.currentUser.getIdToken());
|
||||||
callback({ token });
|
callback({ token });
|
||||||
@@ -37,16 +36,17 @@ export const socket = SocketIO(
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
export function CdkContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
|
export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const [logs, setLogs] = useState([]);
|
const [logs, setLogs] = useState([]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
document.title = t("titles.cdk");
|
document.title = t("titles.dms");
|
||||||
setSelectedHeader("cdk");
|
setSelectedHeader("dms");
|
||||||
setBreadcrumbs([
|
setBreadcrumbs([
|
||||||
{
|
{
|
||||||
link: "/manage/cdk",
|
link: "/manage/dms",
|
||||||
label: t("titles.bc.cdk"),
|
label: t("titles.bc.dms"),
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
}, [t, setBreadcrumbs, setSelectedHeader]);
|
}, [t, setBreadcrumbs, setSelectedHeader]);
|
||||||
@@ -63,7 +63,6 @@ export function CdkContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
socket.connect();
|
socket.connect();
|
||||||
|
|
||||||
socket.emit("set-log-level", "TRACE");
|
socket.emit("set-log-level", "TRACE");
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
@@ -74,11 +73,16 @@ export function CdkContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
|
|||||||
|
|
||||||
if (!bodyshop.cdk_dealerid) return <Result status="404" />;
|
if (!bodyshop.cdk_dealerid) return <Result status="404" />;
|
||||||
|
|
||||||
|
const dmsType = determineDmsType(bodyshop);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<Button
|
<Button
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
socket.emit("export-job", "752a4f5f-22ab-414b-b182-98d4e62227ef");
|
socket.emit(
|
||||||
|
`${dmsType}-export-job`,
|
||||||
|
"752a4f5f-22ab-414b-b182-98d4e62227ef"
|
||||||
|
);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Export
|
Export
|
||||||
@@ -126,3 +130,10 @@ function LogLevelHierarchy(level) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const determineDmsType = (bodyshop) => {
|
||||||
|
if (bodyshop.cdk_dealerid) return "cdk";
|
||||||
|
else {
|
||||||
|
return "pbs";
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -159,7 +159,7 @@ const EmailTest = lazy(() =>
|
|||||||
import("../../components/email-test/email-test-component")
|
import("../../components/email-test/email-test-component")
|
||||||
);
|
);
|
||||||
const Dashboard = lazy(() => import("../dashboard/dashboard.container"));
|
const Dashboard = lazy(() => import("../dashboard/dashboard.container"));
|
||||||
const Cdk = lazy(() => import("../cdk/cdk.container"));
|
const Dms = lazy(() => import("../dms/dms.container"));
|
||||||
|
|
||||||
const { Content, Footer } = Layout;
|
const { Content, Footer } = Layout;
|
||||||
|
|
||||||
@@ -368,7 +368,7 @@ export function Manage({ match, conflict, bodyshop }) {
|
|||||||
<Route exact path={`${match.path}/help`} component={Help} />
|
<Route exact path={`${match.path}/help`} component={Help} />
|
||||||
<Route exact path={`${match.path}/emailtest`} component={EmailTest} />
|
<Route exact path={`${match.path}/emailtest`} component={EmailTest} />
|
||||||
<Route exact path={`${match.path}/dashboard`} component={Dashboard} />
|
<Route exact path={`${match.path}/dashboard`} component={Dashboard} />
|
||||||
<Route exact path={`${match.path}/cdk`} component={Cdk} />
|
<Route exact path={`${match.path}/dms`} component={Dms} />
|
||||||
</Suspense>
|
</Suspense>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -1736,6 +1736,7 @@
|
|||||||
},
|
},
|
||||||
"courtesycarcontract": {
|
"courtesycarcontract": {
|
||||||
"courtesy_car_contract": "Courtesy Car Contract",
|
"courtesy_car_contract": "Courtesy Car Contract",
|
||||||
|
"courtesy_car_impound": "Impound Charges",
|
||||||
"courtesy_car_terms": "Courtesy Car Terms"
|
"courtesy_car_terms": "Courtesy Car Terms"
|
||||||
},
|
},
|
||||||
"errors": {
|
"errors": {
|
||||||
|
|||||||
@@ -1736,6 +1736,7 @@
|
|||||||
},
|
},
|
||||||
"courtesycarcontract": {
|
"courtesycarcontract": {
|
||||||
"courtesy_car_contract": "",
|
"courtesy_car_contract": "",
|
||||||
|
"courtesy_car_impound": "",
|
||||||
"courtesy_car_terms": ""
|
"courtesy_car_terms": ""
|
||||||
},
|
},
|
||||||
"errors": {
|
"errors": {
|
||||||
|
|||||||
@@ -1736,6 +1736,7 @@
|
|||||||
},
|
},
|
||||||
"courtesycarcontract": {
|
"courtesycarcontract": {
|
||||||
"courtesy_car_contract": "",
|
"courtesy_car_contract": "",
|
||||||
|
"courtesy_car_impound": "",
|
||||||
"courtesy_car_terms": ""
|
"courtesy_car_terms": ""
|
||||||
},
|
},
|
||||||
"errors": {
|
"errors": {
|
||||||
|
|||||||
@@ -326,7 +326,7 @@ export const TemplateList = (type, context) => {
|
|||||||
key: "parts_label_single",
|
key: "parts_label_single",
|
||||||
subject: i18n.t("printcenter.jobs.parts_label_single"),
|
subject: i18n.t("printcenter.jobs.parts_label_single"),
|
||||||
disabled: false,
|
disabled: false,
|
||||||
group: "post",
|
group: "ro",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
: {}),
|
: {}),
|
||||||
@@ -1061,6 +1061,88 @@ export const TemplateList = (type, context) => {
|
|||||||
field: i18n.t("jobs.fields.date_open"),
|
field: i18n.t("jobs.fields.date_open"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
}
|
||||||
|
: {}),
|
||||||
|
...(!type || type === "courtesycarcontract"
|
||||||
|
? {
|
||||||
|
courtesy_car_contract: {
|
||||||
|
title: i18n.t(
|
||||||
|
"printcenter.courtesycarcontract.courtesy_car_contract"
|
||||||
|
),
|
||||||
|
description: "Est Detail",
|
||||||
|
subject: i18n.t(
|
||||||
|
"printcenter.courtesycarcontract.courtesy_car_contract"
|
||||||
|
),
|
||||||
|
key: "courtesy_car_contract",
|
||||||
|
disabled: false,
|
||||||
|
},
|
||||||
|
courtesy_car_terms: {
|
||||||
|
title: i18n.t("printcenter.courtesycarcontract.courtesy_car_terms"),
|
||||||
|
description: "Est Detail",
|
||||||
|
subject: i18n.t(
|
||||||
|
"printcenter.courtesycarcontract.courtesy_car_terms"
|
||||||
|
),
|
||||||
|
key: "courtesy_car_terms",
|
||||||
|
disabled: false,
|
||||||
|
},
|
||||||
|
courtesy_car_impound: {
|
||||||
|
title: i18n.t(
|
||||||
|
"printcenter.courtesycarcontract.courtesy_car_impound"
|
||||||
|
),
|
||||||
|
description: "Est Detail",
|
||||||
|
subject: i18n.t(
|
||||||
|
"printcenter.courtesycarcontract.courtesy_car_impound"
|
||||||
|
),
|
||||||
|
key: "courtesy_car_impound",
|
||||||
|
disabled: false,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
: {}),
|
||||||
|
...(!type || type === "bill"
|
||||||
|
? {
|
||||||
|
inhouse_invoice: {
|
||||||
|
title: i18n.t("printcenter.bills.inhouse_invoice"),
|
||||||
|
description: "Est Detail",
|
||||||
|
subject: i18n.t("printcenter.bills.inhouse_invoice"),
|
||||||
|
key: "inhouse_invoice",
|
||||||
|
disabled: false,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
: {}),
|
||||||
|
...(!type || type === "timeticket"
|
||||||
|
? {
|
||||||
|
// timetickets: {
|
||||||
|
// title: i18n.t("printcenter.timetickets.timetickets"),
|
||||||
|
// description: "Est Detail",
|
||||||
|
// subject: `${i18n.t("printcenter.timetickets.timetickets")} - ${
|
||||||
|
// context && context.job && context.job.ro_number
|
||||||
|
// }`,
|
||||||
|
// key: "timetickets",
|
||||||
|
// disabled: false,
|
||||||
|
// },
|
||||||
|
}
|
||||||
|
: {}),
|
||||||
|
...(!type || type === "vendor"
|
||||||
|
? {
|
||||||
|
purchases_by_vendor_detailed: {
|
||||||
|
title: i18n.t("printcenter.vendors.purchases_by_vendor_detailed"),
|
||||||
|
description: "Est Detail",
|
||||||
|
subject: i18n.t("printcenter.vendors.purchases_by_vendor_detailed"),
|
||||||
|
key: "purchases_by_vendor_detailed",
|
||||||
|
disabled: false,
|
||||||
|
},
|
||||||
|
purchases_by_vendor_summary: {
|
||||||
|
title: i18n.t("printcenter.vendors.purchases_by_vendor_summary"),
|
||||||
|
description: "Est Detail",
|
||||||
|
subject: i18n.t("printcenter.vendors.purchases_by_vendor_summary"),
|
||||||
|
key: "purchases_by_vendor_summary",
|
||||||
|
disabled: false,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
: {}),
|
||||||
|
|
||||||
|
...(!type || type === "production"
|
||||||
|
? {
|
||||||
production_by_last_name: {
|
production_by_last_name: {
|
||||||
title: i18n.t("reportcenter.templates.production_by_last_name"),
|
title: i18n.t("reportcenter.templates.production_by_last_name"),
|
||||||
description: "",
|
description: "",
|
||||||
@@ -1113,72 +1195,6 @@ export const TemplateList = (type, context) => {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
: {}),
|
: {}),
|
||||||
...(!type || type === "courtesycarcontract"
|
|
||||||
? {
|
|
||||||
courtesy_car_contract: {
|
|
||||||
title: i18n.t(
|
|
||||||
"printcenter.courtesycarcontract.courtesy_car_contract"
|
|
||||||
),
|
|
||||||
description: "Est Detail",
|
|
||||||
subject: i18n.t(
|
|
||||||
"printcenter.courtesycarcontract.courtesy_car_contract"
|
|
||||||
),
|
|
||||||
key: "courtesy_car_contract",
|
|
||||||
disabled: false,
|
|
||||||
},
|
|
||||||
courtesy_car_terms: {
|
|
||||||
title: i18n.t("printcenter.courtesycarcontract.courtesy_car_terms"),
|
|
||||||
description: "Est Detail",
|
|
||||||
subject: i18n.t(
|
|
||||||
"printcenter.courtesycarcontract.courtesy_car_terms"
|
|
||||||
),
|
|
||||||
key: "courtesy_car_terms",
|
|
||||||
disabled: false,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
: {}),
|
|
||||||
...(!type || type === "bill"
|
|
||||||
? {
|
|
||||||
inhouse_invoice: {
|
|
||||||
title: i18n.t("printcenter.bills.inhouse_invoice"),
|
|
||||||
description: "Est Detail",
|
|
||||||
subject: i18n.t("printcenter.bills.inhouse_invoice"),
|
|
||||||
key: "inhouse_invoice",
|
|
||||||
disabled: false,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
: {}),
|
|
||||||
...(!type || type === "timeticket"
|
|
||||||
? {
|
|
||||||
// timetickets: {
|
|
||||||
// title: i18n.t("printcenter.timetickets.timetickets"),
|
|
||||||
// description: "Est Detail",
|
|
||||||
// subject: `${i18n.t("printcenter.timetickets.timetickets")} - ${
|
|
||||||
// context && context.job && context.job.ro_number
|
|
||||||
// }`,
|
|
||||||
// key: "timetickets",
|
|
||||||
// disabled: false,
|
|
||||||
// },
|
|
||||||
}
|
|
||||||
: {}),
|
|
||||||
...(!type || type === "vendor"
|
|
||||||
? {
|
|
||||||
purchases_by_vendor_detailed: {
|
|
||||||
title: i18n.t("printcenter.vendors.purchases_by_vendor_detailed"),
|
|
||||||
description: "Est Detail",
|
|
||||||
subject: i18n.t("printcenter.vendors.purchases_by_vendor_detailed"),
|
|
||||||
key: "purchases_by_vendor_detailed",
|
|
||||||
disabled: false,
|
|
||||||
},
|
|
||||||
purchases_by_vendor_summary: {
|
|
||||||
title: i18n.t("printcenter.vendors.purchases_by_vendor_summary"),
|
|
||||||
description: "Est Detail",
|
|
||||||
subject: i18n.t("printcenter.vendors.purchases_by_vendor_summary"),
|
|
||||||
key: "purchases_by_vendor_summary",
|
|
||||||
disabled: false,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
: {}),
|
|
||||||
...(!type || type === "special"
|
...(!type || type === "special"
|
||||||
? {
|
? {
|
||||||
ca_bc_etf_table: {
|
ca_bc_etf_table: {
|
||||||
|
|||||||
@@ -168,4 +168,4 @@ server.listen(port, (error) => {
|
|||||||
console.log(`[${process.env.NODE_ENV}] Server running on port ${port}`);
|
console.log(`[${process.env.NODE_ENV}] Server running on port ${port}`);
|
||||||
});
|
});
|
||||||
exports.io = io;
|
exports.io = io;
|
||||||
require("./server/cdk/cdk");
|
require("./server/web-sockets/web-socket");
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ require("dotenv").config({
|
|||||||
const GraphQLClient = require("graphql-request").GraphQLClient;
|
const GraphQLClient = require("graphql-request").GraphQLClient;
|
||||||
const soap = require("soap");
|
const soap = require("soap");
|
||||||
const queries = require("../graphql-client/queries");
|
const queries = require("../graphql-client/queries");
|
||||||
const CdkBase = require("./cdk");
|
const CdkBase = require("../web-sockets/web-socket");
|
||||||
const CdkWsdl = require("./cdk-wsdl").default;
|
const CdkWsdl = require("./cdk-wsdl").default;
|
||||||
|
|
||||||
const IMEX_CDK_USER = process.env.IMEX_CDK_USER,
|
const IMEX_CDK_USER = process.env.IMEX_CDK_USER,
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ require("dotenv").config({
|
|||||||
|
|
||||||
const { io } = require("../../server");
|
const { io } = require("../../server");
|
||||||
const { admin } = require("../firebase/firebase-handler");
|
const { admin } = require("../firebase/firebase-handler");
|
||||||
const CdkJobExport = require("./cdk-job-export").default;
|
const CdkJobExport = require("../cdk/cdk-job-export").default;
|
||||||
const { isArray } = require("lodash");
|
const { isArray } = require("lodash");
|
||||||
|
|
||||||
io.use(function (socket, next) {
|
io.use(function (socket, next) {
|
||||||
@@ -43,7 +43,7 @@ io.on("connection", (socket) => {
|
|||||||
createLogEvent(socket, "DEBUG", `Updated log level to ${level}`);
|
createLogEvent(socket, "DEBUG", `Updated log level to ${level}`);
|
||||||
});
|
});
|
||||||
|
|
||||||
socket.on("export-job", (jobid) => {
|
socket.on("cdk-export-job", (jobid) => {
|
||||||
CdkJobExport(socket, jobid);
|
CdkJobExport(socket, jobid);
|
||||||
});
|
});
|
||||||
|
|
||||||
Reference in New Issue
Block a user