{"version":3,"sources":["global.js"],"names":["companyName","jobTitle","currentPosition","$loginWrapper","data","addClass","$formWrapper","firstName","lastName","emailAddress","values","positions","val","job","isCurrent","find","company","name","title","$","onLinkedInError","error","console","getProfileData","IN","focus","API","Raw","result","onLinkedInSuccess","Array","prototype","Object","defineProperty","value","TypeError","o","this","len","length","predicate","thisArg","arguments","k","call","kValue","isiOS","iDevices","navigator","platform","pop","isIE","UA","window","userAgent","msie","indexOf","$blankLink","hide","scrollTop","$target","click","offset","top","animate","event","onLinkedInLoad","preventDefault","removeClass","submit","jQuery","localStorage","setItem"],"mappings":"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","file":"global.min.js","sourcesContent":["/**\n * Mirvac Worktech Campaign\n * Author: Charles Harwood \n * Copyright 2018 Guerrilla, Mirvac O&I.\n * @preserve\n */\n\n\n/* Array.find polyfill */\n/* eslint-disable */\nif (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, 'find', {\n value: function (predicate) {\n // 1. Let O be ? ToObject(this value).\n if (this == null) {\n throw new TypeError('\"this\" is null or not defined');\n }\n\n const o = Object(this);\n\n // 2. Let len be ? ToLength(? Get(O, \"length\")).\n const len = o.length >>> 0;\n\n // 3. If IsCallable(predicate) is false, throw a TypeError exception.\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n\n // 4. If thisArg was supplied, let T be thisArg; else let T be undefined.\n const thisArg = arguments[1];\n\n // 5. Let k be 0.\n let k = 0;\n\n // 6. Repeat, while k < len\n while (k < len) {\n // a. Let Pk be ! ToString(k).\n // b. Let kValue be ? Get(O, Pk).\n // c. Let testResult be ToBoolean(? Call(predicate, T, « kValue, k, O »)).\n // d. If testResult is true, return kValue.\n const kValue = o[k];\n if (predicate.call(thisArg, kValue, k, o)) {\n return kValue;\n }\n // e. Increase k by 1.\n k++;\n }\n\n // 7. Return undefined.\n return undefined;\n }\n });\n}\n/* eslint-enable */\n\n/* eslint-env browser, jquery */\n/* global IN */\n\n(function($) {\n\n /**\n * Test if the user's device is running iOS,\n * so we can hide the LinkedIn auth CTA as it is incompatible.\n *\n * @returns {Boolean} `true` if device is running iOS\n */\n function isiOS() {\n\n const iDevices = [\n 'iPad Simulator',\n 'iPhone Simulator',\n 'iPod Simulator',\n 'iPad',\n 'iPhone',\n 'iPod'\n ];\n\n if (navigator.platform) {\n while (iDevices.length) {\n if (navigator.platform === iDevices.pop()) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n /**\n * Test if the user's device is running IE11 on Windows 7,\n * so we can hide the LinkedIn auth CTA as it is incompatible.\n *\n * @returns {Boolean} `true` if device is running IE11 on Windows 7.\n */\n function isIE() {\n const UA = window.navigator.userAgent;\n const msie = UA.indexOf('MSIE') > 0;\n const ie11 = UA.indexOf('Trident/7.0') > 0;\n\n if (ie11 || msie) {\n return true;\n }\n\n return false;\n }\n\n if (isiOS() || isIE()) {\n $('.btn-linkedin').hide();\n $('.mv-header__aside__ctas > span').hide();\n }\n\n /* Global jQuery scripts - CH */\n\n const $blankLink = $('a[href=\"#\"]');\n\n $blankLink.click((event) => event.preventDefault());\n\n const $scrollButton = $('.mv-main__content .btn-link');\n\n $scrollButton.click(() => {\n const $target = $('.mv-header__aside').offset().top;\n\n $('html, body').animate({\n scrollTop: $target\n }, 500);\n\n if ($('.mv-form #tfa_3590416182990').length) {\n $('.mv-form #tfa_3590416182990').focus();\n }\n });\n\n // Handle custom trigger for API call.\n $('.btn-linkedin').click((event) => {\n event.preventDefault();\n\n IN.User.authorize(onLinkedInLoad); // eslint-disable-line\n });\n\n // Handle clicks on regular primary btn.\n $('.btn-register').click((event) => {\n event.preventDefault();\n\n const $loginWrapper = $('.mv-header__aside--initial');\n const $formWrapper = $('.mv-header__aside--form');\n // Reveal form.\n $loginWrapper.addClass('d-none');\n $formWrapper.removeClass('d-none');\n $formWrapper.find('#tfa_3590416182990').focus();\n });\n\n // Handle clicks on 'back' button.\n $('.btn-back').click((event) => {\n event.preventDefault();\n\n const $loginWrapper = $('.mv-header__aside--initial');\n const $formWrapper = $('.mv-header__aside--form');\n // Reveal form.\n $loginWrapper.removeClass('d-none');\n $formWrapper.addClass('d-none');\n });\n\n // Handle form submissions.\n $('.mv-form').submit((event) => {\n event.preventDefault();\n // Store a key:pair in localStorage so we know they've submitted the form.\n localStorage.setItem('formSubmitted', 'true');\n // Continue with default form submission.\n $('.mv-form').unbind('submit')\n .submit();\n });\n\n}(jQuery));\n\n/* LinkedIn Auth stuff */\n/* eslint-disable no-implicit-globals */\n\n// Set up an event listener to make an API call once auth is complete.\nfunction onLinkedInLoad() { // eslint-disable-line no-unused-vars\n IN.Event.on(IN, 'auth', getProfileData); // eslint-disable-line no-use-before-define\n}\n\n// Handle the successful returnfrom the API call.\nfunction onLinkedInSuccess(data) {\n const firstName = data.firstName;\n const lastName = data.lastName;\n const emailAddress = data.emailAddress;\n let companyName, jobTitle;\n\n if (data.positions.values && data.positions.values.length) {\n const currentPosition = data.positions.values.find((job) => job.isCurrent === true);\n companyName = currentPosition.company.name;\n jobTitle = currentPosition.title;\n }\n\n // Reveal form.\n const $loginWrapper = $('.mv-header__aside--initial');\n const $formWrapper = $('.mv-header__aside--form');\n if (data) {\n $loginWrapper.addClass('d-none');\n $formWrapper.removeClass('d-none');\n $formWrapper.find('#tfa_3590416182990').val(firstName);\n $formWrapper.find('#tfa_3590416182991').val(lastName);\n $formWrapper.find('#tfa_3590416182993').val(emailAddress);\n $formWrapper.find('#tfa_3590416183356').val(companyName);\n $formWrapper.find('#tfa_3590416183254').val(jobTitle);\n $formWrapper.find('#tfa_3590416182994').focus();\n }\n}\n\n// Handle an error response from the API call.\nfunction onLinkedInError(error) {\n console.error(error); // eslint-disable-line no-console\n}\n\n// Use the API call wrapper to request the member's basic profile data.\nfunction getProfileData() {\n IN.API.Raw('/people/~:(first-name,last-name,email-address,positions)').result(onLinkedInSuccess)\n .error(onLinkedInError);\n}\n"]}