{"version":3,"sources":["webpack:///./scripts/components/contacts.js","webpack:///./scripts/components/myBgu.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","$myBguSelect","$myBgu","$myBguContacts","$myBguMembers","displayErrorMessage","content","bgus","optionsHtml","bgu","index","BguName","html","on","ev","renderBguDetails","target","value","bguDetailsHtml","getMyBGUTableHtml","bguToRenderIndex","selectedBgu","selectedBguNumber","BguNumber","isLeader","ServiceHistory","positionHistory","BGUName","IsLeader","EndDate","$myBguMembersAccordion","parent","jQuery","ajax","type","toLowerCase","toNormalisedName","url","success","response","contacts","bguContactsHtml","subHeading","checkTableSwipeDisplay","bind","this","dataType","exitCode","bguMembers","bguMembersHtml","member","givenName","surname","position","ServiceNo","error","setupBguPage","getBGURow","label","isEmail","renderVal","getLogoImg","bguType","alt","phoneArr","BusinessPhone","Mobile","Fax","bguLogo","bguTitle","BguType","officerName","DistrictOfficer","Name","StreetAddress","PostalAddress","Email","Region"],"mappings":"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","file":"6.547643b4a76dc94c0008.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(`
  • Mobile: ${contact.mobile}
  • `);\n }\n\n if (typeof contact.phone !== 'undefined' && contact.phone.length > 0) {\n contactList.push(`
  • Phone: ${contact.phone}
  • `);\n }\n\n if (typeof contact.phoneWork !== 'undefined' && contact.phoneWork.length > 0) {\n contactList.push(`
  • Phone (work): ${contact.phoneWork}
  • `);\n }\n\n if (typeof contact.fax !== 'undefined' && contact.fax.length > 0) {\n contactList.push(`
  • Fax: ${contact.fax}
  • `);\n }\n\n if (typeof contact.email !== 'undefined' && contact.email.length > 0) {\n contactList.push(`
  • Email: ${contact.email}
  • `);\n }\n\n if (typeof contact.web !== 'undefined' && contact.web.length > 0) {\n contactList.push(`
  • Web: ${contact.web}
  • `);\n }\n\n //Icon\n var iconUrl = '';\n var img = '';\n\n if (!isNullUndefinedEmpty(contact.iconUrl)) {\n iconUrl = contact.iconUrl;\n img = `\"\"`;\n } else {\n var icon = 'icon-volunteer';\n\n if (contact.contactsubtypes.indexOf('person') > -1) {\n if (!isNullUndefinedEmpty(contact.serviceType)) {\n if (contact.serviceType == 'E') {\n icon = 'icon-dfes-officer';\n }\n } else {\n if (contact.contactsubtypes.indexOf('staff') > -1) {\n icon = 'icon-dfes-officer';\n }\n }\n } else if (contact.contactsubtypes.indexOf('bgu') > -1) {\n icon = 'icon-bgu';\n } else if (contact.contactsubtypes.indexOf('location') > -1) {\n icon = 'icon-building';\n }\n\n iconUrl = `/assets/static/icons/${icon}.svg`;\n img = `\"\"`;\n }\n\n return `\n
    \n
    \n
    \n ${img}\n
    \n
    \n

    \n ${contact.heading}\n

    \n

    \n ${contact.positionHeld}\n

    \n
      \n
    • \n ${address}\n
    • \n ${contactList.join('')}\n
    \n
    \n
    \n
    \n `;\n}\n","import { isNullUndefinedEmpty, spinnerHtml } from '../helpers/helpers';\n\nimport { checkTableSwipeDisplay } from '../common/tables';\nimport { displayErrorMessage } from '../helpers/displayError';\nimport { getContactHTML } from './contacts';\nimport { svgInliner } from '../common/svgInliner';\nimport userStateManager from '../helpers/stateManager';\n\nexport const component = () => {\n //Handles rendering all elements on /my-bgu\n\n var $myBguSelect = $('#my-bgu-select');\n var $myBgu = $('#my-bgu-details-wrapper');\n var $myBguContacts = $('#my-bgu-contacts');\n var $myBguMembers = $('#my-bgu-members-wrapper'); //BGUMembers section can be removed and added as needed via CMS\n\n if ($myBgu.length && $myBguSelect.length && $myBguContacts.length) {\n userStateManager.getUserProfileData(function (data) {\n if (data) {\n try {\n if (data.apiProblemOccured) {\n displayErrorMessage($myBgu);\n displayErrorMessage($myBguContacts);\n $myBguSelect.parents('.callout-box').hide();\n return;\n }\n\n setupBguPage(data.ProfileInfo);\n } catch (error) {\n console.error('There was an issue generating the My BGUs page: ', error);\n displayErrorMessage($myBgu);\n displayErrorMessage($myBguContacts);\n $myBguSelect.parents('.callout-box').hide();\n }\n }\n });\n } else if ($myBgu.length || $myBguSelect.length || $myBguContacts.length) {\n console.warn('Some, but not all My BGU widgets were found. Please check the page is configured correctly');\n if ($myBguSelect.length === 0) {\n console.warn('My BGU selector dropdown widget may be missing');\n }\n if ($myBgu.length === 0) {\n console.warn('My BGU Details widget may be missing');\n }\n if ($myBguContacts.length === 0) {\n console.warn('My BGU Contacts widget may be missing');\n }\n }\n\n function setupBguPage(content) {\n const bgus = !isNullUndefinedEmpty(content) && !isNullUndefinedEmpty(content.BGUs) ? content.BGUs : [];\n\n //Set up the select based on bgu length\n if (bgus.length > 1) {\n const optionsHtml = bgus.map((bgu, index) => {\n return `\n \n `;\n });\n $myBguSelect.html(optionsHtml);\n $myBguSelect.on('change', handleBguChange);\n } else if (bgus.length <= 1) {\n $myBguSelect.parents('.callout-box').hide();\n }\n\n //render page based on bgu length\n if (bgus.length > 0) {\n renderBguDetails(0);\n } else {\n renderEmptyBguPage();\n }\n\n function handleBguChange(ev) {\n renderBguDetails(ev.target.value);\n }\n\n function renderBguDetails(bguToRenderIndex) {\n const selectedBgu = bgus[bguToRenderIndex].BguName;\n const selectedBguNumber = bgus[bguToRenderIndex].BguNumber;\n\n //check if the user is a leader in this BGU\n const isLeader = content.ServiceHistory.some((positionHistory) => {\n const isLeader = positionHistory.BGUName === selectedBgu && positionHistory.IsLeader && positionHistory.EndDate === null;\n return isLeader;\n });\n\n //Render BGU from the array based on index\n $myBgu.html(spinnerHtml);\n $myBguContacts.html(spinnerHtml);\n\n const $myBguMembersAccordion = $myBguMembers.parents('.accordion');\n if (isLeader) {\n $myBguMembersAccordion.show();\n $myBguMembers.html(spinnerHtml);\n $('.on-this-page__link[href=\"#My-BGU-Members\"]').parent('li').show();\n } else {\n $myBguMembersAccordion.hide();\n $('.on-this-page__link[href=\"#My-BGU-Members\"]').parent('li').hide();\n }\n\n //Contacts and members render empty if there are no BGUs (for staff)\n if (bgus.length > 0) {\n jQuery.ajax({\n type: 'GET',\n data: 'bgu=' + selectedBgu.toLowerCase().toNormalisedName(),\n url: '/dfes-api/ContactsAPI/GetContactsByBgu',\n success: function (response) {\n //console.log('Contact content for selected BGU:');\n //console.log(response.data);\n\n //Render new BGU details from existing 'bgus' array\n var bguDetailsHtml = getMyBGUTableHtml(bgus[bguToRenderIndex]);\n $myBgu.html(bguDetailsHtml);\n //Render new contacts with response data\n var bguContactsHtml = getContactsHtml(response.data);\n $myBguContacts.html(bguContactsHtml);\n\n //Post render functions\n svgInliner();\n checkTableSwipeDisplay();\n }.bind(this),\n dataType: 'json',\n });\n\n if (isLeader) {\n jQuery.ajax({\n type: 'GET',\n data: 'bguNumber=' + selectedBguNumber,\n url: '/dfes-api/ContactsAPI/GetBguMembers',\n success: function (response) {\n try {\n if (response.exitCode !== 0) {\n displayErrorMessage($myBguMembers);\n return;\n }\n\n const bguMembers = response.data;\n var bguMembersHtml = getMembersHtml(bguMembers);\n $myBguMembers.html(bguMembersHtml);\n\n //Post render functions\n checkTableSwipeDisplay();\n } catch (error) {\n console.error('There was an issue generating the My BGU members: ', error);\n displayErrorMessage($myBguMembers);\n }\n }.bind(this),\n dataType: 'json',\n });\n }\n }\n }\n\n function renderEmptyBguPage() {\n //There are no BGUs, render blank page.\n //Handle this separately as an API call blocks us otherwise\n var bguDetailsHtml = getMyBGUTableHtml({});\n $myBgu.html(bguDetailsHtml);\n\n $myBguContacts.html('

    There are no contacts for the selected BGU

    ');\n\n $myBguMembers.html(`\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Volunteer NameVolunteer IDPosition (Rank)
    ---
    \n `);\n }\n }\n};\n\n//Render helpers\n\nfunction getMyBGUTableHtml(bgu) {\n function getBGURow(label, value, isEmail = false) {\n if (value !== null && typeof value !== 'undefined' && value.length > 0) {\n var renderVal = value;\n if (isEmail) {\n renderVal = `${value}`;\n }\n return `\n \n ${label}\n ${renderVal}\n \n `;\n } else {\n return `\n \n ${label}\n -\n \n `;\n }\n }\n\n function getLogoImg(bguType, alt=null) {\n return `\"${alt}\"`;\n }\n\n var phoneArr = [];\n if (bgu.BusinessPhone !== null && typeof bgu.BusinessPhone !== 'undefined' && bgu.BusinessPhone.length > 0) {\n phoneArr.push('Phone (work): ' + bgu.BusinessPhone);\n } else {\n phoneArr.push('Phone (work): -');\n }\n if (bgu.Mobile !== null && typeof bgu.Mobile !== 'undefined' && bgu.Mobile.length > 0) {\n phoneArr.push('Mobile: ' + bgu.Mobile);\n } else {\n phoneArr.push('Mobile: -');\n }\n if (bgu.Fax !== null && typeof bgu.Fax !== 'undefined' && bgu.Fax.length > 0) {\n phoneArr.push('Fax: ' + bgu.Fax);\n } else {\n phoneArr.push('Fax: -');\n }\n\n // BGU Logo\n var bguLogo = '';\n var bguTitle = '';\n switch (bgu.BguType) {\n case 'SES':\n bguTitle = 'State Emergency Service WA';\n bguLogo = getLogoImg('ses', bguTitle);\n break;\n case 'YES':\n bguTitle = 'Youth in Emergency Services';\n bguLogo = getLogoImg('esypb', bguTitle);\n break;\n case 'VFES':\n bguTitle = 'Volunteer Fire & Emergency Services WA';\n bguLogo = getLogoImg('vfes', bguTitle);\n break;\n case 'VFRS':\n bguTitle = 'Volunteer Fire and Rescue Service';\n bguLogo = getLogoImg('wafr', bguTitle);\n break;\n case 'BFB':\n bguTitle = 'Bush Fire Service WA';\n bguLogo = getLogoImg('bfswa', bguTitle);\n break;\n case 'VMRS':\n bguTitle = 'Volunteer Marine Rescue Services WA';\n bguLogo = getLogoImg('vmrs', bguTitle);\n break;\n case 'ESCC':\n bguTitle = 'Emergency Services Cadet Corps';\n bguLogo = getLogoImg('escc', bguTitle);\n break;\n case 'ERT':\n bguTitle = 'ERT';\n break;\n case 'PRIV':\n case 'PVT':\n bguTitle = 'PVT';\n break;\n case 'DFES':\n case 'DFES SP':\n bguTitle = 'DFES USAR';\n break;\n }\n\n const officerName = bgu.DistrictOfficer !== null && typeof bgu.DistrictOfficer !== 'undefined' ? bgu.DistrictOfficer.Name : null;\n\n return `\n
    \n
    Swipe to see more
    \n \n \n \n \n \n ${getBGURow('Service Name', bgu.BguName)}\n\n ${getBGURow('BGU Location Address', bgu.StreetAddress)}\n ${getBGURow('BGU Postal Address', bgu.PostalAddress)}\n \n ${getBGURow('BGU Phone Numbers', phoneArr.join('
    '))}\n \n ${getBGURow('BGU email', bgu.Email, true)}\n ${getBGURow('District Officer Details', officerName)}\n ${getBGURow('Region Name', bgu.Region)}\n\n \n
    \n
    \n
    \n ${bguLogo}\n
    \n

    ${bguTitle}

    \n
    \n
    \n
    \n\t`;\n}\n\nfunction getContactsHtml(data) {\n const contacts = data.filter((item) => {\n return item.subHeading !== 'BGU Contact';\n });\n\n if (contacts.length > 0) {\n return `\n
    \n ${contacts.map((contact) => getContactHTML(contact)).join('')}\n
    \n `;\n } else {\n return '

    There are no contacts for the selected BGU

    ';\n }\n}\n\nfunction getMembersHtml(data) {\n function getMemberHtml(member) {\n return `\n \n ${member.givenName} ${member.surname}\n ${member.position.ServiceNo}\n ${member.position.position}\n \n `;\n }\n\n return `\n
    \n \n \n \n \n \n \n \n \n \n ${data.map((contact) => getMemberHtml(contact)).join('')}\n \n
    Volunteer NameVolunteer IDPosition (Rank)
    \n
    \n `;\n}\n"],"sourceRoot":""}