You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Yeah I like this a lot. There are inconsistencies with the way toast messages are constructed at the moment so this would definitely be an improvement. Once this is in place we could agree some standards around where toast messages are raised (e.g. we should catch errors from all server methods and show as toasts) and implement these
Yes doing well thanks. I have some time off but somehow still found myself overrun with things! Hope you're doing well and enjoying 2021 so far 👍
I'd say at this point branching from the release branch is probably best. You might want to wait until we've got your other branch merged which should hopefully be quick to do (sorry this has sat unmerged for a while I must have missed a notification)
Related to this article named Error Handling Best Practices for Lightning Web Components I would like to suggest to create a reusable component like the below one.
It could be used in the following components:
`/**
Reduces one or more LDS errors into a string[] of error messages.
@param {FetchResponse|FetchResponse[]} errors
@return {String[]} Error messages
*/
export function reduceErrors(errors) {
if (!Array.isArray(errors)) {
errors = [errors];
}
return (
errors
// Remove null/undefined items
.filter((error) => !!error)
// Extract an error message
.map((error) => {
// UI API read errors
if (Array.isArray(error.body)) {
return error.body.map((e) => e.message);
}
// UI API DML, Apex and network errors
else if (error.body && typeof error.body.message === 'string') {
return error.body.message;
}
// JS errors
else if (typeof error.message === 'string') {
return error.message;
}
// Unknown error shape so try HTTP status text
return error.statusText;
})
// Flatten
.reduce((prev, curr) => prev.concat(curr), [])
// Remove empty strings
.filter((message) => !!message)
);
}`
Source: https://github.com/trailheadapps/lwc-recipes/blob/master/force-app/main/default/lwc/ldsUtils/ldsUtils.js
The text was updated successfully, but these errors were encountered: