UNPKG

fonteva-design-guide

Version:

## Dev, Build and Test

48 lines (40 loc) 1.5 kB
import Id from '@salesforce/user/Id'; import { updateRecord } from 'lightning/uiRecordApi'; const authenticatedUser = (userId, contactId, language) => { updateRecord({ fields: { Id: userId, LanguageLocaleKey: language } }) .then(user => contactId ? updateRecord({ fields: { Id: contactId, OrderApi__Preferred_Language__c: language } }) : null ) .then(() => updateLangInURL(language)) .catch(error => console.log(error)); }; const guestUser = (value) => updateLangInURL(value); let updateLangInURL = (language) => { let languageCode = language.split('-')[0].replace(' ', ''); let url = window.location.href; // replace old language UrlParam w/ new value const parts = window.location.search .split('&') .map(keyValue => (keyValue.includes('language=') ? `language=${languageCode.toLowerCase()}` : keyValue)); // add language param if it doesn't exist if (!url.includes('language=')) { parts.push(`language=${languageCode.toLowerCase()}`); } else if (!parts[0].includes('?')) { // prepend question-mark if necessary parts[0] = '?' + parts[0]; } window.location.search = parts.join('&'); }; export { authenticatedUser, guestUser };