From 76a00794f168a376bf1e1bfacec9a7738dc101ba Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Mon, 20 Dec 2021 14:46:57 -0800 Subject: [PATCH 1/2] Improe chat response handling for archive/tagging. --- client/package.json | 14 ++-- .../chat-archive-button.component.jsx | 1 + ...chat-conversation-title-tags.component.jsx | 10 +++ client/src/graphql/conversations.queries.js | 2 + .../src/graphql/job-conversations.queries.js | 14 ++++ client/yarn.lock | 70 +++++++++++-------- 6 files changed, 74 insertions(+), 37 deletions(-) diff --git a/client/package.json b/client/package.json index 80e88a5a2..3cf72787b 100644 --- a/client/package.json +++ b/client/package.json @@ -11,10 +11,10 @@ "@sentry/react": "^6.16.1", "@sentry/tracing": "^6.16.1", "@splitsoftware/splitio-react": "^1.3.0", - "@stripe/react-stripe-js": "^1.6.0", + "@stripe/react-stripe-js": "^1.7.0", "@stripe/stripe-js": "^1.22.0", "@tanem/react-nprogress": "^3.0.82", - "antd": "^4.17.3", + "antd": "^4.17.4", "apollo-link-logger": "^2.0.0", "axios": "^0.24.0", "craco-less": "^1.20.0", @@ -24,10 +24,10 @@ "env-cmd": "^10.1.0", "exifr": "^7.1.3", "firebase": "^9.6.1", - "graphql": "^16.1.0", - "i18next": "^21.6.0", + "graphql": "^16.2.0", + "i18next": "^21.6.3", "i18next-browser-languagedetector": "^6.1.2", - "jsoneditor": "^9.5.7", + "jsoneditor": "^9.5.8", "jsreport-browser-client-dist": "^1.3.0", "libphonenumber-js": "^1.9.44", "logrocket": "^2.1.2", @@ -40,7 +40,7 @@ "rc-queue-anim": "^2.0.0", "rc-scroll-anim": "^2.7.6", "react": "^17.0.2", - "react-big-calendar": "^0.38.1", + "react-big-calendar": "^0.38.2", "react-color": "^2.19.3", "react-cookie": "^4.1.1", "react-dom": "^17.0.2", @@ -49,7 +49,7 @@ "react-grid-layout": "^1.3.0", "react-i18next": "^11.15.1", "react-icons": "^4.3.1", - "react-number-format": "^4.8.0", + "react-number-format": "^4.9.0", "react-redux": "^7.2.6", "react-resizable": "^3.0.4", "react-router-dom": "^5.3.0", diff --git a/client/src/components/chat-archive-button/chat-archive-button.component.jsx b/client/src/components/chat-archive-button/chat-archive-button.component.jsx index fdcff6b90..4ad5ac0db 100644 --- a/client/src/components/chat-archive-button/chat-archive-button.component.jsx +++ b/client/src/components/chat-archive-button/chat-archive-button.component.jsx @@ -13,6 +13,7 @@ export default function ChatArchiveButton({ conversation }) { await updateConversation({ variables: { id: conversation.id, archived: !conversation.archived }, + refetchQueries: ["CONVERSATION_LIST_QUERY"], }); setLoading(false); diff --git a/client/src/components/chat-conversation-title-tags/chat-conversation-title-tags.component.jsx b/client/src/components/chat-conversation-title-tags/chat-conversation-title-tags.component.jsx index 00dfa304f..fc3971a82 100644 --- a/client/src/components/chat-conversation-title-tags/chat-conversation-title-tags.component.jsx +++ b/client/src/components/chat-conversation-title-tags/chat-conversation-title-tags.component.jsx @@ -16,6 +16,16 @@ export default function ChatConversationTitleTags({ jobConversations }) { conversationId: convId, jobId: jobId, }, + update(cache) { + cache.modify({ + id: cache.identify({ id: convId, __typename: "conversations" }), + fields: { + job_conversations(ex) { + return ex.filter((e) => e.jobid !== jobId); + }, + }, + }); + }, }); logImEXEvent("messaging_remove_job_tag", { conversationId: convId, diff --git a/client/src/graphql/conversations.queries.js b/client/src/graphql/conversations.queries.js index c9d654996..dae2ec052 100644 --- a/client/src/graphql/conversations.queries.js +++ b/client/src/graphql/conversations.queries.js @@ -42,6 +42,7 @@ export const CONVERSATION_LIST_QUERY = gql` id updated_at unreadcnt + archived messages_aggregate( where: { read: { _eq: false }, isoutbound: { _eq: false } } ) { @@ -131,6 +132,7 @@ export const TOGGLE_CONVERSATION_ARCHIVE = gql` _set: { archived: $archived } ) { archived + id } } `; diff --git a/client/src/graphql/job-conversations.queries.js b/client/src/graphql/job-conversations.queries.js index 963440ee6..9cec04c20 100644 --- a/client/src/graphql/job-conversations.queries.js +++ b/client/src/graphql/job-conversations.queries.js @@ -9,6 +9,20 @@ export const INSERT_CONVERSATION_TAG = gql` returning { jobid conversationid + id + conversation { + id + job_conversations { + id + jobid + conversationid + job { + ownr_fn + ownr_ln + ownr_co_nm + } + } + } } } } diff --git a/client/yarn.lock b/client/yarn.lock index 18c76c9fb..6f354ec84 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -2214,10 +2214,10 @@ shallowequal "^1.1.0" unfetch "^4.1.0" -"@stripe/react-stripe-js@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@stripe/react-stripe-js/-/react-stripe-js-1.6.0.tgz#e3adf6a6ea6d839193164fa3cfe73cf52db3a080" - integrity sha512-tMmsPD+wkpiiVJZgQ1E06tklG5MZHG462s6OWja9abpxq76kerAxMFN+KdhUg0LIEY79THbzvH3s/WGHasnV3w== +"@stripe/react-stripe-js@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@stripe/react-stripe-js/-/react-stripe-js-1.7.0.tgz#83c993a09a903703205d556617f9729784a896c3" + integrity sha512-L20v8Jq0TDZFL2+y+uXD751t6q9SalSFkSYZpmZ2VWrGZGK7HAGfRQ804dzYSSr5fGenW6iz6y7U0YKfC/TK3g== dependencies: prop-types "^15.7.2" @@ -3186,10 +3186,10 @@ ansi-styles@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== -antd@^4.17.3: - version "4.17.3" - resolved "https://registry.yarnpkg.com/antd/-/antd-4.17.3.tgz#48e2cfaec75cb414782a16918c0f322af1f2d509" - integrity sha512-enA6rsOAGtw0uN+khzvPoCui9j6m1ZvtAHY2IWC/mOUIwfycC8iuToND9ptAqeNF5yX8RZhFubmcc7Xeqk6wWg== +antd@^4.17.4: + version "4.17.4" + resolved "https://registry.yarnpkg.com/antd/-/antd-4.17.4.tgz#fa409aa45f4ea2992fd6832889b4ac6d82d4786a" + integrity sha512-aiWi7TxAc7qAxbL412GSKpkWkL/wIhQe6ABuLLCiE1vqXnGTvav2Z0PiOUdFclZcfz2M2IofsUl2pLVN9I8iCg== dependencies: "@ant-design/colors" "^6.0.0" "@ant-design/icons" "^4.7.0" @@ -3219,7 +3219,7 @@ antd@^4.17.3: rc-picker "~2.5.17" rc-progress "~3.1.0" rc-rate "~2.9.0" - rc-resize-observer "^1.1.0" + rc-resize-observer "^1.1.2" rc-select "~13.2.1" rc-slider "~9.7.4" rc-steps "~4.1.0" @@ -7037,10 +7037,10 @@ graphql-tag@^2.12.3: dependencies: tslib "^2.1.0" -graphql@^16.1.0: - version "16.1.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.1.0.tgz#83bebeae6e119766d04966f09de9305be7fd44e5" - integrity sha512-+PIjmhqGHMIxtnlEirRXDHIzs0cAHAozKG5M2w2N4TnS8VzCxO3bbv1AW9UTeycBfl2QsPduxcVrBvANFKQhiw== +graphql@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.2.0.tgz#de3150e80f1fc009590b92a9d16ab1b46e12b656" + integrity sha512-MuQd7XXrdOcmfwuLwC2jNvx0n3rxIuNYOxUtiee5XOmfrWo613ar2U8pE7aHAKh8VwfpifubpD9IP+EdEAEOsA== growly@^1.3.0: version "1.3.0" @@ -7403,10 +7403,10 @@ i18next-browser-languagedetector@^6.1.2: dependencies: "@babel/runtime" "^7.14.6" -i18next@^21.6.0: - version "21.6.0" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-21.6.0.tgz#257abf455b24136640a20728b44cf59f60cdeb5c" - integrity sha512-RjNuACL35wWZgtkyMcjcCmK7R72u3P6jTNbGKzrvHGI9M0iK5Vn1DsBIwOByppaXLIbe0viJ79Nz2h8w1UwPoQ== +i18next@^21.6.3: + version "21.6.3" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-21.6.3.tgz#6ab6ab1020e1f3bda71c4d1dc216ac39663d6641" + integrity sha512-2uuRGslNQ8m7TRllsVs4cZuei5X9OgoPRB/Sj5oadUpxZaW+NYv3srn7zR+h8bCMhkux9z8HtnJdQM5Mz+Govw== dependencies: "@babel/runtime" "^7.12.0" @@ -8724,10 +8724,10 @@ json5@^2.1.2: dependencies: minimist "^1.2.5" -jsoneditor@^9.5.7: - version "9.5.7" - resolved "https://registry.yarnpkg.com/jsoneditor/-/jsoneditor-9.5.7.tgz#b74d0c2cf64febe102b1b0a91d693f48d1f90917" - integrity sha512-RWI1YqIhb2XzLcnSHMta7LROItQg49FhSd7KNPWr81HyCj2pc0m25no4BpzygmxW9320r9PnYKJwZsqL2PpdrQ== +jsoneditor@^9.5.8: + version "9.5.8" + resolved "https://registry.yarnpkg.com/jsoneditor/-/jsoneditor-9.5.8.tgz#27f21b8d4faea3cca4f7be87ab4afa707c91d26a" + integrity sha512-X8ZEKIS5O7r/fWd6ZW1JspvoVqRQcGBiz038EPL6HNBADpRbUv5g4s6VIpMGtvIMzTzO9ywVjMCwu6MZ+p6tgg== dependencies: ace-builds "^1.4.13" ajv "^6.12.6" @@ -11524,7 +11524,7 @@ rc-rate@~2.9.0: classnames "^2.2.5" rc-util "^5.0.1" -rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0: +rc-resize-observer@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.1.1.tgz#ef666e38065f550730176404bae2ce8ca5fb1ac4" integrity sha512-5A3B9ha297ItltzXl812WFE36SyRDTNclfrXE3FL1pEwXkBh7iSEzxjzfwsPeMcF9ahy3ZoxLgLuRksXBGGD6A== @@ -11534,6 +11534,16 @@ rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0: rc-util "^5.15.0" resize-observer-polyfill "^1.5.1" +rc-resize-observer@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.1.2.tgz#214bc5d0de19e0a5fcd7d8352d9c1560dd7531b7" + integrity sha512-Qp+1x6D88FxyWBFRYP95IV9A1o0xlkC6qhiTX3YakE+o86QH9IzC7UVnltwmm4Q8uYH+E3F/HRmEiuxXJECdSw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + rc-util "^5.15.0" + resize-observer-polyfill "^1.5.1" + rc-scroll-anim@^2.7.6: version "2.7.6" resolved "https://registry.yarnpkg.com/rc-scroll-anim/-/rc-scroll-anim-2.7.6.tgz#f7e6622f2930ca3e1e258f7275bc2e1c26ce791c" @@ -11738,10 +11748,10 @@ react-beautiful-dnd@^13.0.0: redux "^4.0.4" use-memo-one "^1.1.1" -react-big-calendar@^0.38.1: - version "0.38.1" - resolved "https://registry.yarnpkg.com/react-big-calendar/-/react-big-calendar-0.38.1.tgz#cd95bacf45c3064d2609fd261f321bf7757ef584" - integrity sha512-9xwBekBxsfwQJb8/4KpPgsS2mWnzOcXibuVtJ8MqI04W8mvAoIgnSAO0WtJBJfI0QMaeX+Ak12XwIZ88zZ/fGw== +react-big-calendar@^0.38.2: + version "0.38.2" + resolved "https://registry.yarnpkg.com/react-big-calendar/-/react-big-calendar-0.38.2.tgz#f0e25800fb93d370e5ccdd4aba1e7c0fc45045e6" + integrity sha512-p8RYw7VxuXXxOXC3i/XHzALw/8GPkS69OsPEeivsA7hKa7JDE/J87kqcXaeSPEar124EaCCaP4/nbLtd6c0tlA== dependencies: "@babel/runtime" "^7.1.5" clsx "^1.0.4" @@ -11895,10 +11905,10 @@ react-lifecycles-compat@^3.0.4: resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== -react-number-format@^4.8.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/react-number-format/-/react-number-format-4.8.0.tgz#2ec5efbe7f45c4b1b8951d34774f30e4c69040a4" - integrity sha512-oGGiQpqzvKTR5PD2/AJbyUsci8jyupaoKxpuSPevjpWHMhFkUtmo390t+EIpJOgnuAHZogLu6PHiXgb/OXETKA== +react-number-format@^4.9.0: + version "4.9.0" + resolved "https://registry.yarnpkg.com/react-number-format/-/react-number-format-4.9.0.tgz#fd1defb74cc6ccc43a9e579f67d752c03ba897e4" + integrity sha512-HC4ZfvZSm6Gqq77/D4gz823XkvqK4AWAg4PxPv9Paz08hryAOnDjZk89iWmRLafeSOYG3TOx37ypHXMRez8q+w== dependencies: prop-types "^15.7.2" From 74c6d328497a03852f5ce27385af7e01185027af Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Wed, 22 Dec 2021 16:38:10 -0800 Subject: [PATCH 2/2] IO-1596 Add Envelope to print center. --- bodyshop_translations.babel | 21 +++++++++++++++++++++ client/src/translations/en_us/common.json | 1 + client/src/translations/es/common.json | 1 + client/src/translations/fr/common.json | 1 + client/src/utils/TemplateConstants.js | 8 ++++++++ 5 files changed, 32 insertions(+) diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel index 06913c288..d6de7fd77 100644 --- a/bodyshop_translations.babel +++ b/bodyshop_translations.babel @@ -33713,6 +33713,27 @@ + + envelope_return_address + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + estimate false diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index 316f315b2..e8524ef1c 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -2015,6 +2015,7 @@ "csi_invitation": "CSI Invitation", "csi_invitation_action": "CSI Invite", "diagnostic_authorization": "Diagnostic Authorization", + "envelope_return_address": "#10 Envelope Return Address Label", "estimate": "Estimate Only", "estimate_detail": "Estimate Details", "estimate_followup": "Estimate Followup", diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json index 2c8dd2ddc..ccb310704 100644 --- a/client/src/translations/es/common.json +++ b/client/src/translations/es/common.json @@ -2015,6 +2015,7 @@ "csi_invitation": "", "csi_invitation_action": "", "diagnostic_authorization": "", + "envelope_return_address": "", "estimate": "", "estimate_detail": "", "estimate_followup": "", diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json index ad44e8d23..184e1c6d7 100644 --- a/client/src/translations/fr/common.json +++ b/client/src/translations/fr/common.json @@ -2015,6 +2015,7 @@ "csi_invitation": "", "csi_invitation_action": "", "diagnostic_authorization": "", + "envelope_return_address": "", "estimate": "", "estimate_detail": "", "estimate_followup": "", diff --git a/client/src/utils/TemplateConstants.js b/client/src/utils/TemplateConstants.js index 575de7869..b730607de 100644 --- a/client/src/utils/TemplateConstants.js +++ b/client/src/utils/TemplateConstants.js @@ -364,6 +364,14 @@ export const TemplateList = (type, context) => { disabled: false, group: "ro", }, + envelope_return_address: { + title: i18n.t("printcenter.jobs.envelope_return_address"), + description: "All Jobs Notes", + subject: i18n.t("printcenter.jobs.envelope_return_address"), + key: "envelope_return_address", + disabled: false, + group: "ro", + }, sgi_certificate_of_repairs: { title: i18n.t("printcenter.jobs.sgi_certificate_of_repairs"), description: "Thank You Letter by RO",