{"version":3,"sources":["webpack:///./scripts/components/contacts.js"],"names":["component","$autoContact","$","length","hasClass","$parentRow","parents","first","hide","$spinner","spinnerHtml","after","userStateManager","getUserProfileData","data","defaultFilterRegion","isNullUndefinedEmpty","ProfileInfo","BGUs","apiProblemOccured","show","getContactsByRegion","regionContactsHtml","filter","item","isDfesType","contacttypes","some","isLocationSubtype","contactsubtypes","map","contact","getContactHTML","join","replaceWith","svgInliner","contactList","address","appendVal","street","city","stateCode","zip","mobile","push","replace","phone","phoneWork","fax","email","web","iconUrl","img","icon","indexOf","serviceType","heading","positionHeld"],"mappings":"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","file":"14.e94ba23e751d7e26a521.js","sourcesContent":["import { appendVal, isNullUndefinedEmpty, spinnerHtml } from '../helpers/helpers';\n\nimport { svgInliner } from '../common/svgInliner';\nimport userStateManager from '../helpers/stateManager';\n\nexport const component = () => {\n //Handle 'automatic' mode of Contacts widget.\n //This is populated via profiledata and Contacts search APIs\n //Only contacts of type DFES and subtype LOCATION, from the users first BGU, will display\n\n const $autoContact = $('#regional-contacts');\n\n if ($autoContact.length && !$('body').hasClass('sfPageEditor')) {\n //First hide the content and place spinner while we hit API\n const $parentRow = $autoContact.parents('.row').first();\n $parentRow.hide();\n var $spinner = $(spinnerHtml);\n $parentRow.after($spinner);\n\n userStateManager.getUserProfileData((data) => {\n //Use the region from the user's first BGU, or fall back to nothing\n var defaultFilterRegion =\n !isNullUndefinedEmpty(data.ProfileInfo) && !isNullUndefinedEmpty(data.ProfileInfo.BGUs)\n ? data.ProfileInfo.BGUs[0]['Region']\n : null;\n\n if (data && data.apiProblemOccured) {\n console.error('An api error occured, so the automatic mode will not display');\n }\n\n if (!defaultFilterRegion || data.apiProblemOccured) {\n //catch for certain contacts or if an API problem occured (still want other contacts to display)\n $parentRow.show();\n $spinner.hide();\n return;\n }\n\n userStateManager.getContactsByRegion(defaultFilterRegion, (data) => {\n if (!isNullUndefinedEmpty(data)) {\n const regionContacts = data.filter((item) => {\n const isDfesType = item.contacttypes.some((item) => item === 'dfes');\n const isLocationSubtype = item.contactsubtypes.some((item) => item === 'location');\n return isDfesType && isLocationSubtype;\n });\n //Map the findings, in case there happens to be multiple\n const regionContactsHtml = regionContacts.map((contact) => getContactHTML(contact)).join('');\n\n $autoContact.replaceWith(regionContactsHtml);\n svgInliner();\n $spinner.hide();\n }\n $parentRow.show(); //show regardless\n });\n });\n }\n};\n\nexport function getContactHTML(contact) {\n var contactList = [];\n var address = '';\n\n address = appendVal(address, contact.street, ', ');\n address = appendVal(address, contact.city, ' ');\n address = appendVal(address, contact.stateCode, ' ');\n address = appendVal(address, contact.zip, ' ');\n\n if (typeof contact.mobile !== 'undefined' && contact.mobile.length > 0) {\n contactList.push(`