Updated apollo fetch policies to always be network only.

This commit is contained in:
Patrick Fic
2021-12-14 13:14:21 -08:00
parent 920c8f6910
commit 94c4b07318
91 changed files with 1450 additions and 1657 deletions

View File

@@ -44,7 +44,10 @@ const JobsList = (props) => (
); );
const JobsFilter = (props) => { const JobsFilter = (props) => {
const { loading, error, data } = useQuery(QUERY_ALL_SHOPS); const { loading, error, data } = useQuery(QUERY_ALL_SHOPS, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
if (loading) return <CircularProgress />; if (loading) return <CircularProgress />;
if (error) return JSON.stringify(error); if (error) return JSON.stringify(error);

View File

@@ -1,57 +1,51 @@
{ {
"name": "bodyshop", "name": "bodyshop",
"version": "0.1.1", "version": "0.2.1",
"private": true, "private": true,
"proxy": "http://localhost:4000", "proxy": "http://localhost:4000",
"dependencies": { "dependencies": {
"@apollo/client": "^3.4.17", "@apollo/client": "^3.5.6",
"@asseinfo/react-kanban": "^2.2.0", "@asseinfo/react-kanban": "^2.2.0",
"@craco/craco": "^6.4.0", "@fingerprintjs/fingerprintjs": "^3.3.1",
"@fingerprintjs/fingerprintjs": "^3.3.0", "@sentry/react": "^6.16.1",
"@openreplay/tracker": "^3.4.7", "@sentry/tracing": "^6.16.1",
"@openreplay/tracker-assist": "^3.4.4",
"@openreplay/tracker-graphql": "^3.0.0",
"@openreplay/tracker-redux": "^3.0.0",
"@sentry/react": "^6.14.3",
"@sentry/tracing": "^6.14.3",
"@splitsoftware/splitio-react": "^1.3.0", "@splitsoftware/splitio-react": "^1.3.0",
"@stripe/react-stripe-js": "^1.6.0", "@stripe/react-stripe-js": "^1.6.0",
"@stripe/stripe-js": "^1.21.1", "@stripe/stripe-js": "^1.22.0",
"@tanem/react-nprogress": "^3.0.82", "@tanem/react-nprogress": "^3.0.82",
"antd": "^4.16.13", "antd": "^4.17.3",
"apollo-link-logger": "^2.0.0", "apollo-link-logger": "^2.0.0",
"axios": "^0.24.0", "axios": "^0.24.0",
"craco-less": "^1.20.0",
"dinero.js": "^1.9.1", "dinero.js": "^1.9.1",
"dotenv": "^10.0.0", "dotenv": "^10.0.0",
"enquire-js": "^0.2.1", "enquire-js": "^0.2.1",
"env-cmd": "^10.1.0", "env-cmd": "^10.1.0",
"exifr": "^7.1.3", "exifr": "^7.1.3",
"firebase": "^9.4.1", "firebase": "^9.6.1",
"graphql": "^16.0.1", "graphql": "^16.1.0",
"i18next": "^21.4.2", "i18next": "^21.6.0",
"i18next-browser-languagedetector": "^6.1.2", "i18next-browser-languagedetector": "^6.1.2",
"jsoneditor": "^9.5.7", "jsoneditor": "^9.5.7",
"jsreport-browser-client-dist": "^1.3.0", "jsreport-browser-client-dist": "^1.3.0",
"libphonenumber-js": "^1.9.42", "libphonenumber-js": "^1.9.44",
"logrocket": "^2.1.1", "logrocket": "^2.1.2",
"markerjs2": "^2.17.0", "markerjs2": "^2.17.2",
"moment-business-days": "^1.2.0", "moment-business-days": "^1.2.0",
"phone": "^3.1.9", "phone": "^3.1.10",
"preval.macro": "^5.0.0", "preval.macro": "^5.0.0",
"prop-types": "^15.7.2", "prop-types": "^15.7.2",
"query-string": "^7.0.1", "query-string": "^7.0.1",
"rc-queue-anim": "^2.0.0", "rc-queue-anim": "^2.0.0",
"rc-scroll-anim": "^2.7.6", "rc-scroll-anim": "^2.7.6",
"react": "^17.0.1", "react": "^17.0.2",
"react-big-calendar": "^0.38.1", "react-big-calendar": "^0.38.1",
"react-color": "^2.19.3", "react-color": "^2.19.3",
"react-cookie": "^4.1.1", "react-cookie": "^4.1.1",
"react-dom": "^17.0.1", "react-dom": "^17.0.2",
"react-drag-listview": "^0.1.8", "react-drag-listview": "^0.1.8",
"react-grid-gallery": "^0.5.5", "react-grid-gallery": "^0.5.5",
"react-grid-layout": "^1.3.0", "react-grid-layout": "^1.3.0",
"react-i18next": "^11.14.2", "react-i18next": "^11.15.1",
"react-icons": "^4.3.1", "react-icons": "^4.3.1",
"react-number-format": "^4.8.0", "react-number-format": "^4.8.0",
"react-redux": "^7.2.6", "react-redux": "^7.2.6",
@@ -60,39 +54,38 @@
"react-scripts": "^4.0.3", "react-scripts": "^4.0.3",
"react-sublime-video": "^0.2.5", "react-sublime-video": "^0.2.5",
"react-virtualized": "^9.22.3", "react-virtualized": "^9.22.3",
"recharts": "^2.1.6", "recharts": "^2.1.8",
"redux": "^4.1.2", "redux": "^4.1.2",
"redux-persist": "^6.0.0", "redux-persist": "^6.0.0",
"redux-saga": "^1.1.3", "redux-saga": "^1.1.3",
"redux-state-sync": "^3.1.2", "redux-state-sync": "^3.1.2",
"reselect": "^4.1.2", "reselect": "^4.1.5",
"sass": "^1.43.4", "sass": "^1.45.0",
"socket.io-client": "^4.3.2", "socket.io-client": "^4.4.0",
"styled-components": "^5.3.3", "styled-components": "^5.3.3",
"subscriptions-transport-ws": "^0.11.0", "subscriptions-transport-ws": "^0.11.0",
"web-vitals": "^2.1.2", "web-vitals": "^2.1.2",
"workbox-background-sync": "^6.3.0", "workbox-background-sync": "^6.4.2",
"workbox-broadcast-update": "^6.3.0", "workbox-broadcast-update": "^6.4.2",
"workbox-cacheable-response": "^6.3.0", "workbox-cacheable-response": "^6.4.2",
"workbox-core": "^6.3.0", "workbox-core": "^6.4.2",
"workbox-expiration": "^6.3.0", "workbox-expiration": "^6.4.2",
"workbox-google-analytics": "^6.3.0", "workbox-google-analytics": "^6.4.2",
"workbox-navigation-preload": "^6.3.0", "workbox-navigation-preload": "^6.4.2",
"workbox-precaching": "^6.3.0", "workbox-precaching": "^6.4.2",
"workbox-range-requests": "^6.3.0", "workbox-range-requests": "^6.4.2",
"workbox-routing": "^6.3.0", "workbox-routing": "^6.4.2",
"workbox-strategies": "^6.3.0", "workbox-strategies": "^6.4.2",
"workbox-streams": "^6.3.0" "workbox-streams": "^6.4.2"
}, },
"scripts": { "scripts": {
"postinstall": "patch-package",
"analyze": "source-map-explorer 'build/static/js/*.js'", "analyze": "source-map-explorer 'build/static/js/*.js'",
"start": "craco start", "start": "react-scripts start",
"build": "REACT_APP_GIT_SHA=`git rev-parse --short HEAD` craco build", "build": "REACT_APP_GIT_SHA=`git rev-parse --short HEAD` react-scripts build",
"build:test": "env-cmd -f .env.test yarn run build", "build:test": "env-cmd -f .env.test yarn run build",
"build-deploy:test": "yarn run build:test && s3cmd sync build/* s3://imex-online-test && echo '🚀 TESTING Deployed!'", "build-deploy:test": "yarn run build:test && s3cmd sync build/* s3://imex-online-test && echo '🚀 TESTING Deployed!'",
"buildcra": "REACT_APP_GIT_SHA=`git rev-parse --short HEAD` react-scripts build", "buildcra": "REACT_APP_GIT_SHA=`git rev-parse --short HEAD` react-scripts build",
"test": "craco test", "test": "react-scripts test",
"eject": "react-scripts eject", "eject": "react-scripts eject",
"madge": "madge --image ./madge-graph.svg --extensions js,jsx,ts,tsx --circular ." "madge": "madge --image ./madge-graph.svg --extensions js,jsx,ts,tsx --circular ."
}, },
@@ -116,7 +109,6 @@
}, },
"devDependencies": { "devDependencies": {
"@sentry/webpack-plugin": "^1.18.3", "@sentry/webpack-plugin": "^1.18.3",
"patch-package": "^6.4.7",
"redux-logger": "^3.0.6", "redux-logger": "^3.0.6",
"source-map-explorer": "^2.5.2" "source-map-explorer": "^2.5.2"
} }

View File

@@ -9,6 +9,7 @@ export default function AuditTrailListContainer({ recordId }) {
const { loading, error, data } = useQuery(QUERY_AUDIT_TRAIL, { const { loading, error, data } = useQuery(QUERY_AUDIT_TRAIL, {
variables: { id: recordId }, variables: { id: recordId },
fetchPolicy: "network-only", fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
logImEXEvent("audittrail_view", { recordId }); logImEXEvent("audittrail_view", { recordId });

View File

@@ -77,6 +77,8 @@ export function BillDetailEditcontainer({
const { loading, error, data, refetch } = useQuery(QUERY_BILL_BY_PK, { const { loading, error, data, refetch } = useQuery(QUERY_BILL_BY_PK, {
variables: { billid: search.billid }, variables: { billid: search.billid },
skip: !!!search.billid, skip: !!!search.billid,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const handleSave = () => { const handleSave = () => {

View File

@@ -18,7 +18,10 @@ export function BillFormContainer({
disabled, disabled,
disableInvNumber, disableInvNumber,
}) { }) {
const { data: VendorAutoCompleteData } = useQuery(SEARCH_VENDOR_AUTOCOMPLETE); const { data: VendorAutoCompleteData } = useQuery(
SEARCH_VENDOR_AUTOCOMPLETE,
{ fetchPolicy: "network-only", nextFetchPolicy: "network-only" }
);
const [loadLines, { data: lineData }] = useLazyQuery( const [loadLines, { data: lineData }] = useLazyQuery(
GET_JOB_LINES_TO_ENTER_BILL GET_JOB_LINES_TO_ENTER_BILL

View File

@@ -12,7 +12,10 @@ export default function BillsVendorsList() {
const search = queryString.parse(useLocation().search); const search = queryString.parse(useLocation().search);
const history = useHistory(); const history = useHistory();
const { loading, error, data } = useQuery(QUERY_ALL_VENDORS); const { loading, error, data } = useQuery(QUERY_ALL_VENDORS, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const { t } = useTranslation(); const { t } = useTranslation();

View File

@@ -25,6 +25,8 @@ export function ChatConversationContainer({ bodyshop, selectedConversation }) {
data: convoData, data: convoData,
} = useQuery(GET_CONVERSATION_DETAILS, { } = useQuery(GET_CONVERSATION_DETAILS, {
variables: { conversationId: selectedConversation }, variables: { conversationId: selectedConversation },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const { loading, error, data } = useSubscription( const { loading, error, data } = useSubscription(

View File

@@ -27,12 +27,15 @@ export function ChatMediaSelector({
const [visible, setVisible] = useState(false); const [visible, setVisible] = useState(false);
const { loading, error, data } = useQuery(GET_DOCUMENTS_BY_JOB, { const { loading, error, data } = useQuery(GET_DOCUMENTS_BY_JOB, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: { variables: {
jobId: jobId:
conversation.job_conversations[0] && conversation.job_conversations[0] &&
conversation.job_conversations[0].jobid, conversation.job_conversations[0].jobid,
}, },
fetchPolicy: "network-only",
skip: skip:
!visible || !visible ||
!conversation.job_conversations || !conversation.job_conversations ||

View File

@@ -38,6 +38,8 @@ export function ChatPopupComponent({
const { t } = useTranslation(); const { t } = useTranslation();
const [pollInterval, setpollInterval] = useState(0); const [pollInterval, setpollInterval] = useState(0);
const { loading, data, refetch, called } = useQuery(CONVERSATION_LIST_QUERY, { const { loading, data, refetch, called } = useQuery(CONVERSATION_LIST_QUERY, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
...(pollInterval > 0 ? { pollInterval } : {}), ...(pollInterval > 0 ? { pollInterval } : {}),
}); });

View File

@@ -8,6 +8,8 @@ import ContractCarsComponent from "./contract-cars.component";
export default function ContractCarsContainer({ selectedCarState, form }) { export default function ContractCarsContainer({ selectedCarState, form }) {
const { loading, error, data } = useQuery(QUERY_AVAILABLE_CC, { const { loading, error, data } = useQuery(QUERY_AVAILABLE_CC, {
variables: { today: moment().format("YYYY-MM-DD") }, variables: { today: moment().format("YYYY-MM-DD") },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const [selectedCar, setSelectedCar] = selectedCarState; const [selectedCar, setSelectedCar] = selectedCarState;

View File

@@ -16,6 +16,8 @@ export function ContractJobsContainer({ selectedJobState, bodyshop }) {
variables: { variables: {
statuses: bodyshop.md_ro_statuses.active_statuses || ["Open"], statuses: bodyshop.md_ro_statuses.active_statuses || ["Open"],
}, },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const [selectedJob, setSelectedJob] = selectedJobState; const [selectedJob, setSelectedJob] = selectedJobState;

View File

@@ -19,6 +19,8 @@ export default function CsiResponseFormContainer() {
id: responseid, id: responseid,
}, },
skip: !!!responseid, skip: !!!responseid,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
useEffect(() => { useEffect(() => {

View File

@@ -59,7 +59,8 @@ export function DashboardGridComponent({ currentUser, bodyshop }) {
}); });
const { loading, error, data, refetch } = useQuery( const { loading, error, data, refetch } = useQuery(
createDashboardQuery(state) createDashboardQuery(state),
{ fetchPolicy: "network-only", nextFetchPolicy: "network-only" }
); );
const [updateLayout] = useMutation(UPDATE_DASHBOARD_LAYOUT); const [updateLayout] = useMutation(UPDATE_DASHBOARD_LAYOUT);

View File

@@ -29,6 +29,7 @@ export function DocumentEditorContainer({ setBodyshop }) {
data: dataShop, data: dataShop,
} = useQuery(QUERY_BODYSHOP, { } = useQuery(QUERY_BODYSHOP, {
fetchPolicy: "network-only", fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
useEffect(() => { useEffect(() => {
@@ -38,6 +39,8 @@ export function DocumentEditorContainer({ setBodyshop }) {
const { loading, error, data } = useQuery(GET_DOCUMENT_BY_PK, { const { loading, error, data } = useQuery(GET_DOCUMENT_BY_PK, {
variables: { documentId }, variables: { documentId },
skip: !documentId, skip: !documentId,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
if (loading || loadingShop) return <LoadingSpinner />; if (loading || loadingShop) return <LoadingSpinner />;

View File

@@ -34,6 +34,8 @@ export function EmailDocumentsComponent({
jobId: emailConfig.jobid, jobId: emailConfig.jobid,
}, },
skip: !emailConfig.jobid, skip: !emailConfig.jobid,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
return ( return (

View File

@@ -27,6 +27,8 @@ export function Jobd3RdPartyModal({ bodyshop, jobId }) {
SEARCH_VENDOR_AUTOCOMPLETE_WITH_ADDR, SEARCH_VENDOR_AUTOCOMPLETE_WITH_ADDR,
{ {
skip: !isModalVisible, skip: !isModalVisible,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
} }
); );

View File

@@ -10,6 +10,8 @@ export default function JobAuditTrail({ jobId }) {
const { loading, data } = useQuery(QUERY_AUDIT_TRAIL, { const { loading, data } = useQuery(QUERY_AUDIT_TRAIL, {
variables: { jobid: jobId }, variables: { jobid: jobId },
skip: !jobId, skip: !jobId,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const columns = [ const columns = [

View File

@@ -54,6 +54,8 @@ export function JobDetailCards({ setPrintCenterContext }) {
const { loading, error, data, refetch } = useQuery(QUERY_JOB_CARD_DETAILS, { const { loading, error, data, refetch } = useQuery(QUERY_JOB_CARD_DETAILS, {
variables: { id: selected }, variables: { id: selected },
skip: !selected, skip: !selected,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const { t } = useTranslation(); const { t } = useTranslation();

View File

@@ -30,6 +30,8 @@ function JobReconciliationModalContainer({
const { loading, error, data } = useQuery(GET_JOB_RECONCILIATION_BY_PK, { const { loading, error, data } = useQuery(GET_JOB_RECONCILIATION_BY_PK, {
variables: { id: job && job.id }, variables: { id: job && job.id },
skip: !(job && job.id) || !visible, skip: !(job && job.id) || !visible,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const handleCancel = () => { const handleCancel = () => {

View File

@@ -55,6 +55,7 @@ export function JobsAvailableContainer({
}) { }) {
const { loading, error, data, refetch } = useQuery(QUERY_AVAILABLE_JOBS, { const { loading, error, data, refetch } = useQuery(QUERY_AVAILABLE_JOBS, {
fetchPolicy: "network-only", fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const { clm_no, availableJobId } = queryString.parse(useLocation().search); const { clm_no, availableJobId } = queryString.parse(useLocation().search);
const history = useHistory(); const history = useHistory();

View File

@@ -10,6 +10,8 @@ export default function JobsCreateOwnerContainer() {
const { loading, error, data } = useQuery(QUERY_SEARCH_OWNER_BY_IDX, { const { loading, error, data } = useQuery(QUERY_SEARCH_OWNER_BY_IDX, {
variables: { search: `%${state.owner.search}%` }, variables: { search: `%${state.owner.search}%` },
skip: !state.owner.search, skip: !state.owner.search,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
if (error) return <AlertComponent message={error.message} type="error" />; if (error) return <AlertComponent message={error.message} type="error" />;

View File

@@ -10,6 +10,8 @@ export default function JobsCreateVehicleInfoContainer({ form }) {
const { loading, error, data } = useQuery(SEARCH_VEHICLES, { const { loading, error, data } = useQuery(SEARCH_VEHICLES, {
variables: { search: `%${state.vehicle.search}%` }, variables: { search: `%${state.vehicle.search}%` },
skip: !state.vehicle.search, skip: !state.vehicle.search,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
if (error) return <AlertComponent message={error.message} type="error" />; if (error) return <AlertComponent message={error.message} type="error" />;

View File

@@ -8,6 +8,8 @@ export default function JobsDetailLaborContainer({ jobId, techConsole, job }) {
const { loading, error, data, refetch } = useQuery(GET_LINE_TICKET_BY_PK, { const { loading, error, data, refetch } = useQuery(GET_LINE_TICKET_BY_PK, {
variables: { id: jobId }, variables: { id: jobId },
skip: !!!jobId, skip: !!!jobId,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
if (error) return <AlertComponent message={error.message} type="error" />; if (error) return <AlertComponent message={error.message} type="error" />;

View File

@@ -8,6 +8,8 @@ import JobsDetailPliComponent from "./jobs-detail-pli.component";
export default function JobsDetailPliContainer({ job }) { export default function JobsDetailPliContainer({ job }) {
const billsQuery = useQuery(QUERY_BILLS_BY_JOBID, { const billsQuery = useQuery(QUERY_BILLS_BY_JOBID, {
variables: { jobid: job.id }, variables: { jobid: job.id },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const search = queryString.parse(useLocation().search); const search = queryString.parse(useLocation().search);

View File

@@ -14,6 +14,7 @@ export default function JobsDocumentsContainer({
const { loading, error, data, refetch } = useQuery(GET_DOCUMENTS_BY_JOB, { const { loading, error, data, refetch } = useQuery(GET_DOCUMENTS_BY_JOB, {
variables: { jobId: jobId }, variables: { jobId: jobId },
fetchPolicy: "network-only", fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
skip: !!billId, skip: !!billId,
}); });

View File

@@ -33,6 +33,8 @@ export default connect(
statuses: bodyshop.md_ro_statuses.active_statuses || ["Open"], statuses: bodyshop.md_ro_statuses.active_statuses || ["Open"],
}, },
skip: !modalProps.visible, skip: !modalProps.visible,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const modalSearch = modalSearchState[0]; const modalSearch = modalSearchState[0];

View File

@@ -29,6 +29,8 @@ export function JobsList({ bodyshop }) {
variables: { variables: {
statuses: bodyshop.md_ro_statuses.active_statuses || ["Open", "Open*"], statuses: bodyshop.md_ro_statuses.active_statuses || ["Open", "Open*"],
}, },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const [state, setState] = useState({ const [state, setState] = useState({

View File

@@ -28,6 +28,7 @@ export function JobNotesContainer({ jobId, insertAuditTrail }) {
const { loading, error, data, refetch } = useQuery(QUERY_NOTES_BY_JOB_PK, { const { loading, error, data, refetch } = useQuery(QUERY_NOTES_BY_JOB_PK, {
variables: { id: jobId }, variables: { id: jobId },
fetchPolicy: "network-only", fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const [deleteNote] = useMutation(DELETE_NOTE); const [deleteNote] = useMutation(DELETE_NOTE);

View File

@@ -12,6 +12,8 @@ export default function OwnersListContainer() {
const { loading, error, data, refetch } = useQuery( const { loading, error, data, refetch } = useQuery(
QUERY_ALL_OWNERS_PAGINATED, QUERY_ALL_OWNERS_PAGINATED,
{ {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: { variables: {
search: search || "", search: search || "",
offset: page ? (page - 1) * 25 : 0, offset: page ? (page - 1) * 25 : 0,

View File

@@ -77,6 +77,8 @@ export function PartsOrderModalContainer({
const { loading, error, data } = useQuery(QUERY_ALL_VENDORS_FOR_ORDER, { const { loading, error, data } = useQuery(QUERY_ALL_VENDORS_FOR_ORDER, {
skip: !visible, skip: !visible,
variables: { jobId: jobId }, variables: { jobId: jobId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const [insertPartOrder] = useMutation(INSERT_NEW_PARTS_ORDERS); const [insertPartOrder] = useMutation(INSERT_NEW_PARTS_ORDERS);
@@ -248,8 +250,6 @@ export function PartsOrderModalContainer({
}), }),
}); });
} }
} catch (error) { } catch (error) {
console.log("Error OEC.", error); console.log("Error OEC.", error);
notification["error"]({ notification["error"]({

View File

@@ -13,6 +13,8 @@ export default function PaymentFormTotalPayments({ jobid }) {
const { loading, error, data } = useQuery(QUERY_JOB_PAYMENT_TOTALS, { const { loading, error, data } = useQuery(QUERY_JOB_PAYMENT_TOTALS, {
variables: { id: jobid }, variables: { id: jobid },
skip: !jobid, skip: !jobid,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
if (loading) return <LoadingSpinner />; if (loading) return <LoadingSpinner />;

View File

@@ -31,6 +31,7 @@ function PhonebookFormContainer({ refetch, bodyshop }) {
const { loading, error, data } = useQuery(QUERY_PHONEBOOK_BY_ID, { const { loading, error, data } = useQuery(QUERY_PHONEBOOK_BY_ID, {
variables: { id: phonebookentry }, variables: { id: phonebookentry },
fetchPolicy: "network-only", fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
skip: !!!phonebookentry || phonebookentry === "new", skip: !!!phonebookentry || phonebookentry === "new",
}); });

View File

@@ -23,6 +23,8 @@ const mapStateToProps = createStructuredSelector({
export function ProductionBoardKanbanContainer({ bodyshop, currentUser }) { export function ProductionBoardKanbanContainer({ bodyshop, currentUser }) {
const { refetch, loading, data } = useQuery(QUERY_JOBS_IN_PRODUCTION, { const { refetch, loading, data } = useQuery(QUERY_JOBS_IN_PRODUCTION, {
pollInterval: 3600000, pollInterval: 3600000,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const client = useApolloClient(); const client = useApolloClient();
const [joblist, setJoblist] = useState([]); const [joblist, setJoblist] = useState([]);

View File

@@ -32,6 +32,8 @@ export default function ProductionListDetail({ jobs }) {
const { loading, error, data, refetch } = useQuery(QUERY_JOB_CARD_DETAILS, { const { loading, error, data, refetch } = useQuery(QUERY_JOB_CARD_DETAILS, {
variables: { id: selected }, variables: { id: selected },
skip: !selected, skip: !selected,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
return ( return (

View File

@@ -1,5 +1,6 @@
import { DeleteOutlined } from "@ant-design/icons";
import { useMutation } from "@apollo/client"; import { useMutation } from "@apollo/client";
import { Button, Popconfirm, Select } from "antd"; import { Popconfirm, Select } from "antd";
import React from "react"; import React from "react";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
import { connect } from "react-redux"; import { connect } from "react-redux";
@@ -12,7 +13,6 @@ import {
selectCurrentUser, selectCurrentUser,
} from "../../redux/user/user.selectors"; } from "../../redux/user/user.selectors";
import ProductionListColumns from "../production-list-columns/production-list-columns.data"; import ProductionListColumns from "../production-list-columns/production-list-columns.data";
import { DeleteOutlined } from "@ant-design/icons";
const mapStateToProps = createStructuredSelector({ const mapStateToProps = createStructuredSelector({
bodyshop: selectBodyshop, bodyshop: selectBodyshop,
technician: selectTechnician, technician: selectTechnician,

View File

@@ -12,6 +12,8 @@ import _ from "lodash";
export default function ProductionListTableContainer() { export default function ProductionListTableContainer() {
const { refetch, loading, data } = useQuery(QUERY_JOBS_IN_PRODUCTION, { const { refetch, loading, data } = useQuery(QUERY_JOBS_IN_PRODUCTION, {
pollInterval: 3600000, pollInterval: 3600000,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const client = useApolloClient(); const client = useApolloClient();
const [joblist, setJoblist] = useState([]); const [joblist, setJoblist] = useState([]);

View File

@@ -9,7 +9,10 @@ import AlertComponent from "../alert/alert.component";
import ProfileShopsComponent from "./profile-shops.component"; import ProfileShopsComponent from "./profile-shops.component";
export default function ProfileShopsContainer() { export default function ProfileShopsContainer() {
const { loading, error, data } = useQuery(QUERY_ALL_ASSOCIATIONS); const { loading, error, data } = useQuery(QUERY_ALL_ASSOCIATIONS, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const [updateAssocation] = useMutation(UPDATE_ASSOCIATION); const [updateAssocation] = useMutation(UPDATE_ASSOCIATION);
const updateActiveShop = async (activeShopId) => { const updateActiveShop = async (activeShopId) => {

View File

@@ -28,6 +28,8 @@ export function ScheduleCalendarContainer({ calculateScheduleLoad }) {
{ {
variables: { start: range.start.toDate(), end: range.end.toDate() }, variables: { start: range.start.toDate(), end: range.end.toDate() },
skip: !!!range.start || !!!range.end, skip: !!!range.start || !!!range.end,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
} }
); );

View File

@@ -13,6 +13,7 @@ export default function ScheduleDayViewContainer({ day }) {
}, },
skip: !moment(day).isValid(), skip: !moment(day).isValid(),
fetchPolicy: "network-only", fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const { t } = useTranslation(); const { t } = useTranslation();
if (!day) return <div>{t("appointments.labels.nodateselected")}</div>; if (!day) return <div>{t("appointments.labels.nodateselected")}</div>;

View File

@@ -44,6 +44,8 @@ export function ScheduleJobModalContainer({
const { data: lbrHrsData } = useQuery(QUERY_LBR_HRS_BY_PK, { const { data: lbrHrsData } = useQuery(QUERY_LBR_HRS_BY_PK, {
variables: { id: job && job.id }, variables: { id: job && job.id },
skip: !job || !job.id, skip: !job || !job.id,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const [loading, setLoading] = useState(false); const [loading, setLoading] = useState(false);
@@ -60,6 +62,7 @@ export function ScheduleJobModalContainer({
const existingAppointments = useQuery(QUERY_APPOINTMENTS_BY_JOBID, { const existingAppointments = useQuery(QUERY_APPOINTMENTS_BY_JOBID, {
variables: { jobid: jobId }, variables: { jobid: jobId },
fetchPolicy: "network-only", fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
skip: !visible || !!!jobId, skip: !visible || !!!jobId,
}); });

View File

@@ -10,7 +10,10 @@ import LoadingSpinner from "../loading-spinner/loading-spinner.component";
import ShopCsiConfigForm from "../shop-csi-config-form/shop-csi-config-form.component"; import ShopCsiConfigForm from "../shop-csi-config-form/shop-csi-config-form.component";
export default function ShopCsiConfig() { export default function ShopCsiConfig() {
const { loading, error, data } = useQuery(GET_ALL_QUESTION_SETS); const { loading, error, data } = useQuery(GET_ALL_QUESTION_SETS, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const [selectedCsi, setselectedCsi] = useState(null); const [selectedCsi, setselectedCsi] = useState(null);
const { t } = useTranslation(); const { t } = useTranslation();

View File

@@ -25,6 +25,7 @@ function ShopEmployeesContainer({ bodyshop }) {
const employeeState = useState(null); const employeeState = useState(null);
const { loading, error, data, refetch } = useQuery(QUERY_EMPLOYEES, { const { loading, error, data, refetch } = useQuery(QUERY_EMPLOYEES, {
fetchPolicy: "network-only", fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const [updateEmployee] = useMutation(UPDATE_EMPLOYEE); const [updateEmployee] = useMutation(UPDATE_EMPLOYEE);

View File

@@ -16,6 +16,7 @@ export default function ShopInfoContainer() {
const [updateBodyshop] = useMutation(UPDATE_SHOP); const [updateBodyshop] = useMutation(UPDATE_SHOP);
const { loading, error, data, refetch } = useQuery(QUERY_BODYSHOP, { const { loading, error, data, refetch } = useQuery(QUERY_BODYSHOP, {
fetchPolicy: "network-only", fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const handleFinish = (values) => { const handleFinish = (values) => {

View File

@@ -38,7 +38,7 @@ export function ShopTemplateTestRender({
// const { data: contextData } = await client.query({ // const { data: contextData } = await client.query({
// query: gql(query), // query: gql(query),
// variables: variables, // variables: variables,
// fetchPolicy: "network-only", //
// }); // });
// const renderResponse = await axios.post("/render", { // const renderResponse = await axios.post("/render", {

View File

@@ -13,7 +13,10 @@ import ShopTemplateDeleteComponent from "../shop-template-delete/shop-template-d
export default function ShopTemplatesListContainer({ visibleState }) { export default function ShopTemplatesListContainer({ visibleState }) {
const [visible, setVisible] = visibleState; const [visible, setVisible] = visibleState;
const { loading, error, data, refetch } = useQuery(QUERY_CUSTOM_TEMPLATES); const { loading, error, data, refetch } = useQuery(QUERY_CUSTOM_TEMPLATES, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const { t } = useTranslation(); const { t } = useTranslation();
const search = queryString.parse(useLocation().search); const search = queryString.parse(useLocation().search);
const history = useHistory(); const history = useHistory();

View File

@@ -26,6 +26,8 @@ export function ShopInfoUsersComponent({ bodyshop }) {
const { t } = useTranslation(); const { t } = useTranslation();
const { loading, error, data } = useQuery(QUERY_SHOP_ASSOCIATIONS, { const { loading, error, data } = useQuery(QUERY_SHOP_ASSOCIATIONS, {
variables: { shopid: bodyshop.id }, variables: { shopid: bodyshop.id },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const columns = [ const columns = [
{ {

View File

@@ -27,6 +27,8 @@ export function TechClockedInList({ technician }) {
variables: { variables: {
employeeId: technician.id, employeeId: technician.id,
}, },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
} }
); );

View File

@@ -50,9 +50,10 @@ export function JobDetailCards({ setPrintCenterContext }) {
const { selected } = searchParams; const { selected } = searchParams;
const history = useHistory(); const history = useHistory();
const { loading, error, data, refetch } = useQuery(GET_JOB_BY_PK, { const { loading, error, data, refetch } = useQuery(GET_JOB_BY_PK, {
fetchPolicy: "network-only",
variables: { id: selected }, variables: { id: selected },
skip: !selected, skip: !selected,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const { t } = useTranslation(); const { t } = useTranslation();

View File

@@ -25,6 +25,8 @@ export function TechLookupJobsList({ bodyshop }) {
variables: { variables: {
statuses: bodyshop.md_ro_statuses.active_statuses || ["Open", "Open*"], statuses: bodyshop.md_ro_statuses.active_statuses || ["Open", "Open*"],
}, },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const [state, setState] = useState({ const [state, setState] = useState({

View File

@@ -272,6 +272,8 @@ export function LaborAllocationContainer({ jobid }) {
const { loading, data: lineTicketData } = useQuery(GET_LINE_TICKET_BY_PK, { const { loading, data: lineTicketData } = useQuery(GET_LINE_TICKET_BY_PK, {
variables: { id: jobid }, variables: { id: jobid },
skip: !jobid, skip: !jobid,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
if (loading) return <LoadingSkeleton />; if (loading) return <LoadingSkeleton />;
if (!lineTicketData) return null; if (!lineTicketData) return null;

View File

@@ -37,6 +37,8 @@ export function TimeTicketModalContainer({
const { data: EmployeeAutoCompleteData } = useQuery(QUERY_ACTIVE_EMPLOYEES, { const { data: EmployeeAutoCompleteData } = useQuery(QUERY_ACTIVE_EMPLOYEES, {
skip: !timeTicketModal.visible, skip: !timeTicketModal.visible,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const handleFinish = (values) => { const handleFinish = (values) => {

View File

@@ -45,6 +45,8 @@ export function TimeTicketShiftContainer({
variables: { variables: {
employeeId: isTechConsole ? technician && technician.id : employeeId, employeeId: isTechConsole ? technician && technician.id : employeeId,
}, },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
} }
); );

View File

@@ -27,6 +27,8 @@ export default function VehiclesListContainer() {
}, },
], ],
}, },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
} }
); );

View File

@@ -31,6 +31,7 @@ function VendorsFormContainer({ refetch, bodyshop }) {
const { loading, error, data } = useQuery(QUERY_VENDOR_BY_ID, { const { loading, error, data } = useQuery(QUERY_VENDOR_BY_ID, {
variables: { id: selectedvendor }, variables: { id: selectedvendor },
fetchPolicy: "network-only", fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
skip: !!!selectedvendor || selectedvendor === "new", skip: !!!selectedvendor || selectedvendor === "new",
}); });

View File

@@ -7,7 +7,10 @@ import { QUERY_ALL_VENDORS } from "../../graphql/vendors.queries";
import VendorsListComponent from "./vendors-list.component"; import VendorsListComponent from "./vendors-list.component";
export default function VendorsListContainer() { export default function VendorsListContainer() {
const { loading, error, data, refetch } = useQuery(QUERY_ALL_VENDORS); const { loading, error, data, refetch } = useQuery(QUERY_ALL_VENDORS, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const search = queryString.parse(useLocation().search); const search = queryString.parse(useLocation().search);
const history = useHistory(); const history = useHistory();

View File

@@ -1,6 +1,5 @@
import * as Sentry from "@sentry/react"; import * as Sentry from "@sentry/react";
//import "antd/dist/antd.css"; import "antd/dist/antd.css";
import "antd/dist/antd.less";
import Dinero from "dinero.js"; import Dinero from "dinero.js";
import React from "react"; import React from "react";
import ReactDOM from "react-dom"; import ReactDOM from "react-dom";

View File

@@ -40,7 +40,10 @@ export function AccountingPayablesContainer({
]); ]);
}, [t, setBreadcrumbs, setSelectedHeader]); }, [t, setBreadcrumbs, setSelectedHeader]);
const { loading, error, data } = useQuery(QUERY_BILLS_FOR_EXPORT); const { loading, error, data } = useQuery(QUERY_BILLS_FOR_EXPORT, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
if (error) return <AlertComponent message={error.message} type="error" />; if (error) return <AlertComponent message={error.message} type="error" />;

View File

@@ -39,7 +39,10 @@ export function AccountingPaymentsContainer({
]); ]);
}, [t, setBreadcrumbs, setSelectedHeader]); }, [t, setBreadcrumbs, setSelectedHeader]);
const { loading, error, data } = useQuery(QUERY_PAYMENTS_FOR_EXPORT); const { loading, error, data } = useQuery(QUERY_PAYMENTS_FOR_EXPORT, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
if (error) return <AlertComponent message={error.message} type="error" />; if (error) return <AlertComponent message={error.message} type="error" />;

View File

@@ -43,6 +43,8 @@ export function AccountingReceivablesContainer({
variables: { variables: {
invoicedStatus: bodyshop.md_ro_statuses.default_invoiced || "Invoiced*", invoicedStatus: bodyshop.md_ro_statuses.default_invoiced || "Invoiced*",
}, },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
if (error) return <AlertComponent message={error.message} type="error" />; if (error) return <AlertComponent message={error.message} type="error" />;

View File

@@ -35,6 +35,8 @@ export function BillsPageContainer({ setBreadcrumbs, setSelectedHeader }) {
const { loading, error, data, refetch } = useQuery( const { loading, error, data, refetch } = useQuery(
QUERY_ALL_BILLS_PAGINATED, QUERY_ALL_BILLS_PAGINATED,
{ {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: { variables: {
search: search || "", search: search || "",
offset: page ? (page - 1) * 25 : 0, offset: page ? (page - 1) * 25 : 0,

View File

@@ -41,6 +41,8 @@ export function ContractDetailPageContainer({
const { loading, error, data, refetch } = useQuery(QUERY_CONTRACT_BY_PK, { const { loading, error, data, refetch } = useQuery(QUERY_CONTRACT_BY_PK, {
variables: { id: contractId }, variables: { id: contractId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
useEffect(() => { useEffect(() => {

View File

@@ -25,6 +25,8 @@ export function ContractsPageContainer({ setBreadcrumbs, setSelectedHeader }) {
const { loading, error, data, refetch } = useQuery( const { loading, error, data, refetch } = useQuery(
QUERY_ACTIVE_CONTRACTS_PAGINATED, QUERY_ACTIVE_CONTRACTS_PAGINATED,
{ {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: { variables: {
search: search || "", search: search || "",
offset: page ? (page - 1) * 25 : 0, offset: page ? (page - 1) * 25 : 0,

View File

@@ -53,6 +53,8 @@ export function CourtesyCarDetailPageContainer({
}, },
], ],
}, },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
useEffect(() => { useEffect(() => {

View File

@@ -20,7 +20,10 @@ export function CourtesyCarsPageContainer({
setBreadcrumbs, setBreadcrumbs,
setSelectedHeader, setSelectedHeader,
}) { }) {
const { loading, error, data, refetch } = useQuery(QUERY_ALL_CC); const { loading, error, data, refetch } = useQuery(QUERY_ALL_CC, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
const { t } = useTranslation(); const { t } = useTranslation();
useEffect(() => { useEffect(() => {
document.title = t("titles.courtesycars"); document.title = t("titles.courtesycars");

View File

@@ -29,6 +29,8 @@ export function CsiContainerPage({ currentUser }) {
const { loading, error, data } = useQuery(QUERY_SURVEY, { const { loading, error, data } = useQuery(QUERY_SURVEY, {
variables: { surveyId }, variables: { surveyId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const { t } = useTranslation(); const { t } = useTranslation();

View File

@@ -7,7 +7,7 @@ import {
Result, Result,
Row, Row,
Select, Select,
Space Space,
} from "antd"; } from "antd";
import queryString from "query-string"; import queryString from "query-string";
import React, { useEffect, useRef, useState } from "react"; import React, { useEffect, useRef, useState } from "react";
@@ -26,7 +26,7 @@ import { auth } from "../../firebase/firebase.utils";
import { QUERY_JOB_EXPORT_DMS } from "../../graphql/jobs.queries"; import { QUERY_JOB_EXPORT_DMS } from "../../graphql/jobs.queries";
import { import {
setBreadcrumbs, setBreadcrumbs,
setSelectedHeader setSelectedHeader,
} from "../../redux/application/application.actions"; } from "../../redux/application/application.actions";
import { selectBodyshop } from "../../redux/user/user.selectors"; import { selectBodyshop } from "../../redux/user/user.selectors";
@@ -65,6 +65,8 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
const { loading, error, data } = useQuery(QUERY_JOB_EXPORT_DMS, { const { loading, error, data } = useQuery(QUERY_JOB_EXPORT_DMS, {
variables: { id: jobId }, variables: { id: jobId },
skip: !jobId, skip: !jobId,
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const logsRef = useRef(null); const logsRef = useRef(null);
@@ -159,7 +161,7 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
<DmsCustomerSelector /> <DmsCustomerSelector />
<Col span={24}> <Col span={24}>
<div ref={logsRef}> <div ref={logsRef}>
<Card <Card
title={t("jobs.labels.dms.logs")} title={t("jobs.labels.dms.logs")}
extra={ extra={
@@ -193,8 +195,8 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
> >
<DmsLogEvents socket={socket} logs={logs} /> <DmsLogEvents socket={socket} logs={logs} />
</Card> </Card>
</div> </div>
</Col> </Col>
</Row> </Row>
</div> </div>
); );

View File

@@ -25,6 +25,8 @@ export function ExportLogsPageComponent({ bodyshop }) {
const { loading, error, data, refetch } = useQuery( const { loading, error, data, refetch } = useQuery(
QUERY_EXPORT_LOG_PAGINATED, QUERY_EXPORT_LOG_PAGINATED,
{ {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: { variables: {
search: search || "", search: search || "",
offset: page ? (page - 1) * 25 : 0, offset: page ? (page - 1) * 25 : 0,

View File

@@ -45,6 +45,8 @@ export function JobsCloseContainer({ setBreadcrumbs, setSelectedHeader }) {
const { jobId } = useParams(); const { jobId } = useParams();
const { loading, error, data } = useQuery(GET_JOB_BY_PK, { const { loading, error, data } = useQuery(GET_JOB_BY_PK, {
variables: { id: jobId }, variables: { id: jobId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const { t } = useTranslation(); const { t } = useTranslation();
useEffect(() => { useEffect(() => {

View File

@@ -30,6 +30,8 @@ export function AllJobs({ setBreadcrumbs, setSelectedHeader }) {
const { loading, error, data, refetch } = useQuery( const { loading, error, data, refetch } = useQuery(
QUERY_ALL_JOBS_PAGINATED_STATUS_FILTERED, QUERY_ALL_JOBS_PAGINATED_STATUS_FILTERED,
{ {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: { variables: {
search: search || "", search: search || "",
offset: page ? (page - 1) * 25 : 0, offset: page ? (page - 1) * 25 : 0,

View File

@@ -34,6 +34,8 @@ export function JobsChecklistViewContainer({
const { jobId } = useParams(); const { jobId } = useParams();
const { loading, error, data } = useQuery(QUERY_JOB_CHECKLISTS, { const { loading, error, data } = useQuery(QUERY_JOB_CHECKLISTS, {
variables: { id: jobId }, variables: { id: jobId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
useEffect(() => { useEffect(() => {

View File

@@ -32,6 +32,8 @@ export function JobsCloseContainer({
const { jobId } = useParams(); const { jobId } = useParams();
const { loading, error, data } = useQuery(QUERY_JOB_CLOSE_DETAILS, { const { loading, error, data } = useQuery(QUERY_JOB_CLOSE_DETAILS, {
variables: { id: jobId }, variables: { id: jobId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const { t } = useTranslation(); const { t } = useTranslation();
useEffect(() => { useEffect(() => {

View File

@@ -33,6 +33,8 @@ export function JobsDeliverContainer({
const { jobId } = useParams(); const { jobId } = useParams();
const { loading, error, data } = useQuery(QUERY_DELIVER_CHECKLIST, { const { loading, error, data } = useQuery(QUERY_DELIVER_CHECKLIST, {
variables: { shopId: bodyshop.id, jobId: jobId }, variables: { shopId: bodyshop.id, jobId: jobId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
useEffect(() => { useEffect(() => {

View File

@@ -44,6 +44,7 @@ function JobsDetailPageContainer({
const { loading, error, data, refetch } = useQuery(GET_JOB_BY_PK, { const { loading, error, data, refetch } = useQuery(GET_JOB_BY_PK, {
variables: { id: jobId }, variables: { id: jobId },
fetchPolicy: "network-only", fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const [mutationUpdateJob] = useMutation(UPDATE_JOB); const [mutationUpdateJob] = useMutation(UPDATE_JOB);

View File

@@ -35,6 +35,8 @@ export function JobsIntakeContainer({
const { loading, error, data } = useQuery(QUERY_INTAKE_CHECKLIST, { const { loading, error, data } = useQuery(QUERY_INTAKE_CHECKLIST, {
variables: { shopId: bodyshop.id, jobId: jobId }, variables: { shopId: bodyshop.id, jobId: jobId },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
useEffect(() => { useEffect(() => {

View File

@@ -16,6 +16,7 @@ const mapDispatchToProps = (dispatch) => ({
function ManagePageContainer({ match, setBodyshop }) { function ManagePageContainer({ match, setBodyshop }) {
const { loading, error, data } = useQuery(QUERY_BODYSHOP, { const { loading, error, data } = useQuery(QUERY_BODYSHOP, {
fetchPolicy: "network-only", fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const { t } = useTranslation(); const { t } = useTranslation();

View File

@@ -33,6 +33,7 @@ export function OwnersDetailContainer({
const { loading, data, error, refetch } = useQuery(QUERY_OWNER_BY_ID, { const { loading, data, error, refetch } = useQuery(QUERY_OWNER_BY_ID, {
variables: { id: ownerId }, variables: { id: ownerId },
fetchPolicy: "network-only", fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
useEffect(() => { useEffect(() => {

View File

@@ -28,6 +28,8 @@ export function PartsQueuePageComponent({ bodyshop }) {
const history = useHistory(); const history = useHistory();
const { loading, error, data, refetch } = useQuery(QUERY_PARTS_QUEUE, { const { loading, error, data, refetch } = useQuery(QUERY_PARTS_QUEUE, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: { variables: {
offset: page ? (page - 1) * 25 : 0, offset: page ? (page - 1) * 25 : 0,
limit: 25, limit: 25,

View File

@@ -31,6 +31,8 @@ export function AllJobs({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
const { loading, error, data, refetch } = useQuery( const { loading, error, data, refetch } = useQuery(
QUERY_ALL_PAYMENTS_PAGINATED, QUERY_ALL_PAYMENTS_PAGINATED,
{ {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: { variables: {
search: search || "", search: search || "",
offset: page ? (page - 1) * 25 : 0, offset: page ? (page - 1) * 25 : 0,

View File

@@ -31,6 +31,8 @@ export function PhonebookPageComponent({ bodyshop, authLevel }) {
const { loading, error, data, refetch } = useQuery( const { loading, error, data, refetch } = useQuery(
QUERY_PHONEBOOK_PAGINATED, QUERY_PHONEBOOK_PAGINATED,
{ {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: { variables: {
search: search || "", search: search || "",
offset: page ? (page - 1) * 25 : 0, offset: page ? (page - 1) * 25 : 0,

View File

@@ -38,6 +38,8 @@ export function ShopCsiContainer({
const { loading, error, data, refetch } = useQuery( const { loading, error, data, refetch } = useQuery(
QUERY_CSI_RESPONSE_PAGINATED, QUERY_CSI_RESPONSE_PAGINATED,
{ {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
variables: { variables: {
//search: search || "", //search: search || "",
offset: page ? (page - 1) * 25 : 0, offset: page ? (page - 1) * 25 : 0,

View File

@@ -22,6 +22,7 @@ const mapDispatchToProps = (dispatch) => ({
export function TechPageContainer({ bodyshop, setBodyshop, match }) { export function TechPageContainer({ bodyshop, setBodyshop, match }) {
const { loading, error, data } = useQuery(QUERY_BODYSHOP, { const { loading, error, data } = useQuery(QUERY_BODYSHOP, {
fetchPolicy: "network-only", fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
const { t } = useTranslation(); const { t } = useTranslation();
useEffect(() => { useEffect(() => {

View File

@@ -6,7 +6,10 @@ import LoadingSpinner from "../../components/loading-spinner/loading-spinner.com
import { QUERY_TEMPORARY_DOCS } from "../../graphql/documents.queries"; import { QUERY_TEMPORARY_DOCS } from "../../graphql/documents.queries";
export default function TemporaryDocsComponent() { export default function TemporaryDocsComponent() {
const { loading, error, data, refetch } = useQuery(QUERY_TEMPORARY_DOCS); const { loading, error, data, refetch } = useQuery(QUERY_TEMPORARY_DOCS, {
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
});
if (loading) return <LoadingSpinner />; if (loading) return <LoadingSpinner />;
if (error) return <AlertComponent message={error.message} type="error" />; if (error) return <AlertComponent message={error.message} type="error" />;

View File

@@ -55,6 +55,8 @@ export function TimeTicketsContainer({
start: startDate, start: startDate,
end: endDate, end: endDate,
}, },
fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
if (error) return <AlertComponent message={error.message} type="error" />; if (error) return <AlertComponent message={error.message} type="error" />;

View File

@@ -32,6 +32,7 @@ export function VehicleDetailContainer({
const { loading, data, error, refetch } = useQuery(QUERY_VEHICLE_BY_ID, { const { loading, data, error, refetch } = useQuery(QUERY_VEHICLE_BY_ID, {
variables: { id: vehId }, variables: { id: vehId },
fetchPolicy: "network-only", fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
}); });
useEffect(() => { useEffect(() => {

View File

@@ -29,7 +29,6 @@ export function* calculateScheduleLoad({ payload: end }) {
start: today, start: today,
end: end, end: end,
}, },
fetchPolicy: "network-only",
}); });
const { prodJobs, arrJobs, compJobs } = result.data; const { prodJobs, arrJobs, compJobs } = result.data;

View File

@@ -40,7 +40,6 @@ export function* openChatByPhone({ payload }) {
} = yield client.query({ } = yield client.query({
query: CONVERSATION_ID_BY_PHONE, query: CONVERSATION_ID_BY_PHONE,
variables: { phone: phone(phone_num).phoneNumber }, variables: { phone: phone(phone_num).phoneNumber },
fetchPolicy: "network-only",
}); });
if (conversations.length === 0) { if (conversations.length === 0) {

View File

@@ -48,6 +48,7 @@ const roundTripLink = new ApolloLink((operation, forward) => {
}); });
const TrackExecutionTime = async (operationName, time) => { const TrackExecutionTime = async (operationName, time) => {
if (process.env.NODE_ENV === "development") return;
const rdxStore = store.getState(); const rdxStore = store.getState();
try { try {
axios.post("/ioevent", { axios.post("/ioevent", {
@@ -146,11 +147,17 @@ export default new ApolloClient({
cache, cache,
connectToDevTools: process.env.NODE_ENV !== "production", connectToDevTools: process.env.NODE_ENV !== "production",
defaultOptions: { defaultOptions: {
query: {
fetchPolicy: "network-only",
},
watchQuery: { watchQuery: {
fetchPolicy: "network-only", fetchPolicy: "network-only",
nextFetchPolicy: "network-only",
errorPolicy: "ignore",
},
query: {
fetchPolicy: "network-only",
errorPolicy: "all",
},
mutate: {
errorPolicy: "all",
}, },
}, },
}); });

View File

@@ -232,7 +232,6 @@ const fetchContextData = async (templateObject) => {
const { data } = await client.query({ const { data } = await client.query({
query: gql(templateQueryToExecute), query: gql(templateQueryToExecute),
variables: { ...templateObject.variables }, variables: { ...templateObject.variables },
fetchPolicy: "network-only",
}); });
contextData = data; contextData = data;
} }

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@
"version": "0.0.1", "version": "0.0.1",
"license": "UNLICENSED", "license": "UNLICENSED",
"engines": { "engines": {
"node": "12.22.6", "node": "14.18.1",
"npm": "7.17.0" "npm": "7.17.0"
}, },
"scripts": { "scripts": {

View File

@@ -525,7 +525,7 @@ exports.QUERY_EMPLOYEE_PIN = `query QUERY_EMPLOYEE_PIN($shopId: uuid!, $employee
}`; }`;
exports.AUTOHOUSE_QUERY = `query AUTOHOUSE_EXPORT($start: timestamptz, $bodyshopid: uuid!) { exports.AUTOHOUSE_QUERY = `query AUTOHOUSE_EXPORT($start: timestamptz, $bodyshopid: uuid!) {
jobs(where: {_and: [{converted: {_eq: true}}, {updated_at: {_gt: $start}}, {shopid: {_eq: $bodyshopid}}]}, limit: 50) { jobs(where: {_and: [{converted: {_eq: true}}, {updated_at: {_gt: $start}}, {shopid: {_eq: $bodyshopid}}]}) {
id id
ro_number ro_number
status status