{"version":3,"sources":["webpack://metamatrix.web/./static/scripts/memberapplicationV2/WorkplaceService.js","webpack://metamatrix.web/./static/scripts/memberapplicationV2/utils.js","webpack://metamatrix.web/external \"jQuery\"","webpack://metamatrix.web/webpack/bootstrap","webpack://metamatrix.web/webpack/runtime/compat get default export","webpack://metamatrix.web/webpack/runtime/define property getters","webpack://metamatrix.web/webpack/runtime/hasOwnProperty shorthand","webpack://metamatrix.web/./static/scripts/memberapplicationV2/memberApplicationAddress.js","webpack://metamatrix.web/./static/scripts/memberapplicationV2/sparLookup.js","webpack://metamatrix.web/./static/scripts/memberapplicationV2/step-indicator.js","webpack://metamatrix.web/./static/scripts/memberapplicationV2/employment-city.js","webpack://metamatrix.web/./static/scripts/memberapplicationV2/employment-workplace.js","webpack://metamatrix.web/./static/scripts/memberapplicationV2/signStatus.js","webpack://metamatrix.web/./static/scripts/memberapplicationV2/applicationtype-select.js","webpack://metamatrix.web/./static/scripts/memberapplicationV2/membership-start.js"],"names":[],"mappings":";;;;;;;;;;AAAA,CAAgB;;AAEhB;AACA,8BAA8B,KAAK,oBAAoB,MAAM;AAC7D;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA,E;;;;;;;;;;;ACtBA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,YAAY,IAAI;AAChB;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;AChEA,wB;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCrBA;WACA;WACA;WACA;WACA;WACA,gCAAgC,YAAY;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,wCAAwC,yCAAyC;WACjF;WACA;WACA,E;;;;;WCPA,wF;;;;;;;;;ACAe;;AAEf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;;AAEA,8EAA8E,iBAAiB,E;;;;;;;;;ACnHxE;;AAER;;AAEf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA;;AAEA,oDAAoD,6CAAC;AACrD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY,6CAAC;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,oBAAoB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8DAA8D,aAAa;AAC3E;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,2DAA2D,iBAAiB,E;;;;;;;ACjK5E,CAAgB;;AAEhB;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA,wDAAwD,gBAAgB,E;;;;;;;;;;;ACXxE,CAAwB;AACW;AACe;;AAEnC;;AAEf;AACA;;AAEA;AACA;;AAEA;;AAEA,QAAQ,6CAAC;AACT;AACA;AACA;AACA;AACA,oBAAoB,0DAAQ;AAC5B,SAAS;;AAET;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,6CAAC;AACT;AACA,SAAS;;AAET,QAAQ,6CAAC;AACT;AACA,SAAS;AACT;;AAEA;;AAEA,QAAQ,6CAAC;AACT;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA,qCAAqC,+DAAgB;;AAErD;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA,kEAAkE,mBAAmB,E;;;;;;;;;;;AChErF,CAAwB;AACW;AACe;;AAEnC;;AAEf;AACA;AACA;;AAEA;;AAEA,sBAAsB,6CAAC;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,0DAAQ;AAC5B;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;;AAEA;;AAEA;AACA;AACA;AACA,0C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,6CAAC;AACT;AACA,SAAS;;AAET,QAAQ,6CAAC;AACT;AACA,SAAS;AACT;;AAEA;AACA,qCAAqC,+DAAgB;AACrD;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;;AAEA;;AAEA,QAAQ,6CAAC;;AAET;;AAEA;AACA,0CAA0C,kDAAkD;AAC5F;;AAEA;AACA,0CAA0C,4CAA4C;AACtF;AACA;;AAEA,4EAA4E,mBAAmB,E;;;;;;;ACtG/F,CAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb,S;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA,kDAAkD,iBAAiB,E;;;;;;;ACtGpD;;AAEf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,SAAS,E;AACT;AACA;;AAEA,wEAAwE,iBAAiB,E;;;;;;AC3C1E;;AAEf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,E;AACT;AACA;;AAEA,4DAA4D,iBAAiB,E","file":"scripts/memberapplication.js","sourcesContent":["export default class WorkplaceService {\r\n\r\n getUrl(city,query) {\r\n return `/api/cities/${city}/workplaces?query=${query}`;\r\n }\r\n\r\n getCities() {\r\n const url = \"/api/cities/getall\";\r\n\r\n return $.ajax({\r\n url: url\r\n });\r\n }\r\n\r\n getWorkplaces(city, query) {\r\n const url = this.getUrl(city, query);\r\n\r\n return $.ajax({\r\n url: url\r\n });\r\n }\r\n\r\n};","// Prevents a method from being executed more than every miliseconds specified by delay\r\nfunction throttle(fn, delay, ctx) {\r\n\r\n let lastTime = new Date().getTime();\r\n\r\n return function () {\r\n const now = new Date().getTime();\r\n\r\n ctx = ctx || this;\r\n\r\n if (now - lastTime > delay) {\r\n fn.call(ctx);\r\n lastTime = now;\r\n }\r\n };\r\n\r\n};\r\n\r\n/**\r\n * Prevents a method from being executed delay have passed\r\n *\r\n * @param {Function} fn The function to run.\r\n * @param {number} delay Number of miliseconds to wait.\r\n * @return {any} ctx Context of the function.\r\n */\r\nfunction debounce(fn, delay, ctx) {\r\n\r\n let timeout;\r\n\r\n return function () {\r\n\r\n const args = arguments;\r\n\r\n ctx = ctx || this;\r\n\r\n if (timeout) {\r\n clearTimeout(timeout);\r\n }\r\n\r\n timeout = setTimeout(function () {\r\n fn.apply(ctx, args);\r\n }, delay);\r\n };\r\n};\r\n\r\n// Runs the fn until the condition is true or maxCalls has been reached\r\nfunction waitForIt(fn, condition, interval = 1000, maxCalls = Infinity, context) {\r\n\r\n context = context || this;\r\n\r\n let calls = 0;\r\n\r\n function testCondition() {\r\n if (calls < maxCalls && condition()) {\r\n fn.call(context);\r\n }\r\n else if (calls < maxCalls) {\r\n setTimeout(testCondition, interval);\r\n }\r\n calls++;\r\n }\r\n\r\n testCondition();\r\n\r\n}\r\n\r\nexport { throttle, debounce, waitForIt };","module.exports = jQuery;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","export default class memberapplicationAddress extends HTMLDivElement {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n get sparLookup() {\r\n return document.querySelector(\"[is='spar-lookup'\");\r\n }\r\n get formContainer() {\r\n return this.querySelector(\"[data-memberapplication-address='form']\");\r\n }\r\n get togglerContainer() {\r\n return this.querySelector(\"[data-memberapplication-address='toggler']\");\r\n }\r\n get maskedContentArea() {\r\n return this.querySelector(\"[data-spar-lookup='maskedContent']\");\r\n }\r\n get maskedContact() {\r\n return this.querySelector(\"[data-spar-lookup='maskedContact']\");\r\n }\r\n get maskedAddress() {\r\n return this.querySelector(\"[data-spar-lookup='maskedAddress']\");\r\n }\r\n get maskedPostalAddress() {\r\n return this.querySelector(\"[data-spar-lookup='maskedPostalAddress']\");\r\n }\r\n get toggler() {\r\n return this.togglerContainer.querySelector(\"input[type='checkbox']\");\r\n }\r\n\r\n displayMaskedContent(data) {\r\n this.maskedContact.innerHTML = data.Fullname;\r\n this.maskedAddress.innerHTML = data.Address;\r\n this.maskedPostalAddress.innerHTML = data.PostalAddress;\r\n this.maskedContentArea.classList.remove(\"hidden\");\r\n }\r\n\r\n showMaskedContent() {\r\n this.maskedContentArea.classList.remove(\"hidden\");\r\n this.togglerContainer.classList.remove(\"hidden\");\r\n if (this.toggler.checked) {\r\n this.formContainer.classList.remove(\"hidden\");\r\n } else {\r\n this.formContainer.classList.add(\"hidden\");\r\n }\r\n }\r\n\r\n hideMaskedContent() {\r\n this.maskedContentArea.classList.add(\"hidden\");\r\n }\r\n\r\n displayAddress() {\r\n this.toggler.setAttribute(\"aria-expanded\", \"true\");\r\n this.formContainer.classList.remove(\"hidden\");\r\n }\r\n\r\n hideAddress() {\r\n this.toggler.setAttribute(\"aria-expanded\", \"false\");\r\n this.formContainer.classList.add(\"hidden\")\r\n }\r\n\r\n toggleAddressForm(e) {\r\n if (e.srcElement.checked) {\r\n this.displayAddress();\r\n }\r\n else {\r\n this.hideAddress();\r\n }\r\n }\r\n\r\n sparLookupCompletedHandler(e) {\r\n\r\n if (e.detail.Successful === true) {\r\n this.togglerContainer.classList.remove(\"hidden\")\r\n if (e.detail.ShowData) {\r\n this.showMaskedContent();\r\n this.displayMaskedContent(e.detail.data);\r\n }\r\n } else {\r\n this.hideMaskedContent();\r\n this.togglerContainer.classList.add(\"hidden\")\r\n this.formContainer.classList.remove(\"hidden\")\r\n }\r\n }\r\n\r\n connectedCallback() {\r\n\r\n this.toggler.setAttribute(\"aria-expanded\", \"false\");\r\n\r\n this.toggler.addEventListener('change', this.toggleAddressForm.bind(this));\r\n\r\n // MR: This doesn't seem to work\r\n if (this.sparLookup.disabled) {\r\n this.showMaskedContent();\r\n } else {\r\n this.hideMaskedContent();\r\n }\r\n\r\n this.sparLookup.addEventListener('sparLookupCompleted', this.sparLookupCompletedHandler.bind(this));\r\n\r\n document.querySelector(\"[is='spar-lookup']\").addEventListener('sparLookupReset',\r\n e => {\r\n this.toggler.checked = false;\r\n this.togglerContainer.classList.add(\"hidden\");\r\n this.formContainer.classList.add(\"hidden\");\r\n });\r\n }\r\n\r\n disconnectedCallback() {\r\n document.querySelector(\"[is='spar-lookup'\").removeEventListener()('sparLookupCompleted');\r\n }\r\n\r\n}\r\n\r\ncustomElements.define('memberapplication-address', memberapplicationAddress, { extends: \"div\" });","import $ from \"jquery\";\r\n\r\nexport default class sparLookupComponent extends HTMLDivElement {\r\n \r\n get lookupCompleted() {\r\n return this.dataset.sparLookupCompleted;\r\n }\r\n\r\n set lookupCompleted(value) {\r\n this.dataset.sparLookupCompleted = value;\r\n if (value) {\r\n this.disableLookup();\r\n } else {\r\n this.enableLookup();\r\n }\r\n }\r\n\r\n get socialSecurityNumberField() {\r\n return this.querySelector(\"[data-spar-lookup='socialSecurityNumber']\");\r\n }\r\n\r\n get socialSecurityNumber() {\r\n return this.socialSecurityNumberField.value;\r\n }\r\n\r\n set socialSecurityNumber(value) {\r\n this.socialSecurityNumberField.value = value;\r\n }\r\n\r\n get lookupButton() {\r\n return this.querySelector(\"[data-spar-lookup='lookup']\");\r\n }\r\n\r\n get lookupUrl() {\r\n return this.dataset.sparLookupUrl;\r\n }\r\n\r\n get resetButton() {\r\n return this.querySelector(\"[data-spar-lookup='reset']\");\r\n }\r\n\r\n get unsuccessfulMessage() {\r\n return this.querySelector(\"[data-spar-lookup='unsuccessful'\");\r\n }\r\n\r\n get disabled() {\r\n return this.socialSecurityNumberField.hasAttribute('readonly') === true;\r\n }\r\n\r\n get lookupPerformedField() {\r\n return this.querySelector(\"[data-spar-lookup='performed'\");\r\n }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n connectedCallback() {\r\n\r\n this.lookupButton.addEventListener('click', this.lookup.bind(this));\r\n\r\n this.resetButton.addEventListener('click',\r\n e => {\r\n this.lookupCompleted = false;\r\n this.lookupPerformedField.value = null;\r\n });\r\n\r\n this.socialSecurityNumberField.addEventListener(\"keypress\", e => {\r\n if (e.key === \"Enter\") {\r\n e.preventDefault();\r\n this.lookup();\r\n }\r\n });\r\n\r\n if (this.disabled) {\r\n this.disableLookup();\r\n } else {\r\n this.enableLookup();\r\n }\r\n\r\n if (this.socialSecurityNumberField.value && $(this.socialSecurityNumberField).valid()) {\r\n this.lookup();\r\n }\r\n\r\n }\r\n\r\n disconnectedCallback() {\r\n this.lookupButton.removeEventListener('click');\r\n this.resetButton.removeEventListener('click');\r\n }\r\n\r\n attributeChangedCallback(name, oldValue, newValue) {\r\n console.log(\"name: \" + name + \", oldValue: \" + oldValue + \", newValue: \" + newValue);\r\n }\r\n\r\n lookup() {\r\n if ($(this).closest(\"form\").validate().element(\"#\" + this.socialSecurityNumberField.id)) {\r\n this.performLookup(this.socialSecurityNumber);\r\n }\r\n }\r\n\r\n enableLookup() {\r\n this.socialSecurityNumberField.removeAttribute('readonly');\r\n if (!this.socialSecurityNumberField.classList.contains(\"no-focus\")) {\r\n this.socialSecurityNumberField.focus({preventScroll: true});\r\n }\r\n this.lookupButton.removeAttribute('disabled');\r\n this.lookupButton.classList.remove(\"hidden\");\r\n this.resetButton.setAttribute(\"disabled\", \"\");\r\n this.resetButton.classList.add(\"hidden\");\r\n this.unsuccessfulMessage.classList.add(\"hidden\");\r\n this.onReset();\r\n }\r\n\r\n disableLookup() {\r\n this.socialSecurityNumberField.setAttribute('readonly', '');\r\n this.resetButton.removeAttribute('disabled');\r\n this.resetButton.classList.remove(\"hidden\");\r\n this.lookupButton.setAttribute(\"disabled\", \"\");\r\n this.lookupButton.classList.add(\"hidden\");\r\n }\r\n\r\n onSparLookupCompleted(status, data) {\r\n const event = new CustomEvent('sparLookupCompleted', {detail: data});\r\n this.dispatchEvent(event);\r\n }\r\n\r\n onReset() {\r\n const event = new CustomEvent('sparLookupReset');\r\n this.dispatchEvent(event);\r\n\r\n }\r\n\r\n performLookup(number) {\r\n\r\n let httpRequest = new XMLHttpRequest();\r\n\r\n httpRequest.open('POST', this.lookupUrl);\r\n httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\r\n httpRequest.send('socialSecurityNumber=' + encodeURIComponent(number));\r\n httpRequest.onload = e => {\r\n if (httpRequest.status === 200 && httpRequest.readyState === 4) {\r\n\r\n let retVal = JSON.parse(e.srcElement.responseText);\r\n\r\n this.lookupPerformedField.value = \"True\";\r\n\r\n if (retVal.Completed === true) {\r\n this.lookupCompleted = true;\r\n this.onSparLookupCompleted(retVal.Successful, retVal);\r\n }\r\n if (retVal.Successful === false) {\r\n this.unsuccessfulMessage.classList.remove(\"hidden\");\r\n }\r\n\r\n }\r\n };\r\n }\r\n\r\n}\r\n\r\ncustomElements.define('spar-lookup', sparLookupComponent, { extends: \"div\" });","export default class StepIndicator extends HTMLOListElement {\r\n\r\n connectedCallback() {\r\n\r\n this.querySelector('.step-indicator-active').scrollIntoView(true, {\r\n behavior: 'smooth', inline: \"nearest\"\r\n });\r\n }\r\n\r\n}\r\n\r\ncustomElements.define('step-indicator', StepIndicator, { extends: \"ol\" });","import $ from 'jquery';\r\nimport { debounce } from './utils';\r\nimport WorkplaceService from \"./WorkplaceService\";\r\n\r\nexport default class EmploymentCitySelector extends HTMLInputElement {\r\n\r\n constructor() {\r\n super();\r\n\r\n this._cities = null;\r\n }\r\n\r\n connectedCallback() {\r\n\r\n $(this).typeahead({\r\n items: 'all',\r\n showHintOnFocus: true,\r\n minLength: 2,\r\n fitToElement: true,\r\n source: debounce(this.getCities, 200, this)\r\n });\r\n\r\n this.initA11y();\r\n\r\n }\r\n\r\n initA11y() {\r\n this.setAttribute(\"role\", \"combobox\");\r\n this.setAttribute(\"aria-haspopup\", \"listbox\");\r\n this.setAttribute(\"aria-autocomplete\", \"list\");\r\n this.setAttribute(\"aria-expanded\", \"false\");\r\n\r\n $(this).closest(\".form-group\").on(\"show.bs.typeahead\", \".dropdown-menu\", e => {\r\n this.setAttribute(\"aria-expanded\", \"true\");\r\n });\r\n\r\n $(this).closest(\".form-group\").on(\"hide.bs.typeahead\", \".dropdown-menu\", e => {\r\n this.setAttribute(\"aria-expanded\", \"false\");\r\n });\r\n }\r\n\r\n disconnectedCallback() {\r\n\r\n $(this).typeahead(\"destroy\");\r\n //this.removeEventListener(\"input\", this.getWorkplaces);\r\n\r\n }\r\n\r\n getCities(query, process) {\r\n\r\n if (this._cities !== null) {\r\n return process(this._cities);\r\n }\r\n\r\n const workplaceService = new WorkplaceService();\r\n\r\n return workplaceService.getCities().done(data => {\r\n this._cities = data;\r\n return process(data);\r\n });\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"employment-city\", EmploymentCitySelector, { extends: \"input\" });","import $ from 'jquery';\r\nimport { debounce } from './utils';\r\nimport WorkplaceService from \"./WorkplaceService\";\r\n\r\nexport default class EmploymentWorkplaceSelector extends HTMLInputElement {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n connectedCallback() {\r\n\r\n const input = $(this);\r\n\r\n input.typeahead({\r\n items: 'all',\r\n autoautoSelect: false,\r\n afterSelect: item => this.afterSelected(item),\r\n showHintOnFocus: true,\r\n minLength: 2,\r\n fitToElement: true,\r\n displayText: item => item.ListName,\r\n source: debounce(this.getWorkplaces, 200, this),\r\n matcher: this.matched\r\n });\r\n\r\n input.on(\"input\", () => {\r\n this.workplaceId = \"0\";\r\n });\r\n\r\n this.initA11y();\r\n\r\n }\r\n\r\n afterSelected(item){\r\n if(item.CompanyNo === \"-\"){\r\n this.workplaceId = \"0\";\r\n this.value = item.CompanyName; \r\n }\r\n else{\r\n this.workplaceId = item.CompanyNo;\r\n }\r\n }\r\n\r\n matched(item) {\r\n var it = this.displayText(item);\r\n\r\n if (item.CompanyNo === \"-\") {\r\n return true;\r\n }\r\n\r\n return ~it.toLowerCase().indexOf(this.query.toLowerCase());\r\n }\r\n\r\n initA11y() {\r\n this.setAttribute(\"role\", \"combobox\");\r\n this.setAttribute(\"aria-haspopup\", \"listbox\");\r\n this.setAttribute(\"aria-autocomplete\", \"list\");\r\n this.setAttribute(\"aria-expanded\", \"false\");\r\n\r\n $(this).closest(\".form-group\").on(\"show.bs.typeahead\", \".dropdown-menu\", e => {\r\n this.setAttribute(\"aria-expanded\", \"true\");\r\n });\r\n\r\n $(this).closest(\".form-group\").on(\"hide.bs.typeahead\", \".dropdown-menu\", e => {\r\n this.setAttribute(\"aria-expanded\", \"false\");\r\n });\r\n }\r\n\r\n getWorkplaces(query, process) {\r\n const workplaceService = new WorkplaceService();\r\n let city;\r\n\r\n\r\n if(this.selectedCity){\r\n city = this.selectedCity;\r\n }\r\n else{\r\n city = \"-\";\r\n }\r\n\r\n return workplaceService.getWorkplaces(city, query).done(data => {\r\n return process(data);\r\n });\r\n \r\n }\r\n\r\n disconnectedCallback() {\r\n\r\n $(this).typeahead(\"destroy\");\r\n\r\n }\r\n\r\n get selectedCity() {\r\n return document.querySelector(`#${this.getAttribute(\"data-employmentcity-selector\")}`).value;\r\n }\r\n\r\n set workplaceId(value) {\r\n return document.querySelector(`#${this.getAttribute(\"data-workplaceid-field\")}`).value = value;\r\n }\r\n}\r\n\r\ncustomElements.define(\"employment-workplace\", EmploymentWorkplaceSelector, { extends: \"input\" });","export default class SignStatus extends HTMLDivElement {\r\n\r\n constructor() {\r\n super();\r\n this.polling = false;\r\n this.interval = null;\r\n this.pollDelay = 1000;\r\n }\r\n\r\n\r\n get serviceUrl() {\r\n return this.dataset.serviceUrl;\r\n }\r\n\r\n get bankIdUrl() {\r\n return this.dataset.bankidUrl;\r\n }\r\n\r\n get autostart() {\r\n return this.dataset.autostart;\r\n }\r\n\r\n get startbuttonDelay() {\r\n return Number(this.dataset.startbuttonDelay);\r\n }\r\n\r\n isAndroid() {\r\n return navigator.userAgent.toLowerCase().indexOf(\"android\") > -1;\r\n }\r\n\r\n updateStatus() {\r\n if (!this.polling) {\r\n\r\n this.polling = true;\r\n\r\n $.ajax({\r\n cache: false,\r\n url: this.serviceUrl,\r\n dataType: \"json\",\r\n success: this.statusReceived.bind(this),\r\n error: function () {\r\n console.log(\"error\");\r\n polling = false;\r\n }\r\n });\r\n };\r\n }\r\n\r\n tryStartBankIdApp() {\r\n location.href = this.bankIdUrl;\r\n }\r\n\r\n statusReceived(response) {\r\n\r\n if (response.Message) {\r\n $(\"#login-status\").html(response.Message);\r\n }\r\n\r\n $(\"#bankIdQrCode\").attr(\"src\", response.QrSrcCode);\r\n\r\n if (response.ShowStartButton) {\r\n $(\"[data-autostart-group='autostart']\").removeClass(\"hidden\");\r\n } else {\r\n $(\"[data-autostart-group='autostart']:not(.hidden)\").addClass(\"hidden\");\r\n }\r\n\r\n if (response.CancelPoll) {\r\n $(\".load-container\").hide();\r\n window.clearInterval(this.interval);\r\n } else {\r\n this.polling = false;\r\n }\r\n\r\n if (response.ReturnUrl) {\r\n window.setTimeout(function () {\r\n location.href = response.ReturnUrl;\r\n }, this.pollDelay);\r\n } \r\n\r\n }\r\n\r\n connectedCallback() {\r\n this.interval = window.setInterval(this.updateStatus.bind(this), this.pollDelay);\r\n\r\n if (this.autostart === \"true\") {\r\n if (!this.isAndroid()) {\r\n setTimeout(this.tryStartBankIdApp(), 1000);\r\n setTimeout(function () {\r\n $(\".autostart-wrapper\").removeClass(\"hidden\");\r\n }, this.startbuttonDelay * 1000);\r\n } else {\r\n $(\".autostart-wrapper\").removeClass(\"hidden\");\r\n }\r\n }\r\n\r\n $(\"#btn-start-bankid\").on(\"click\", function () {\r\n $(this).attr(\"disabled\", \"disabled\");\r\n });\r\n }\r\n\r\n}\r\n\r\ncustomElements.define('sign-status', SignStatus, { extends: \"div\" });","export default class ApplicationtypeSelect extends HTMLDivElement {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n get studentRadio() {\r\n return this.querySelector(\"[data-applicationtype-select='student']\");\r\n }\r\n\r\n get memberRadio() {\r\n return this.querySelector(\"[data-applicationtype-select='member']\");\r\n }\r\n \r\n get studentInformation() {\r\n return this.querySelector(\"[data-applicationtype-select='information']\");\r\n }\r\n\r\n get step2Tab() {\r\n return document.querySelector(\"[data-step='2']\");\r\n }\r\n\r\n get step2TabHeading() {\r\n return this.step2Tab.querySelector(\".step-indicator-heading\");\r\n }\r\n \r\n connectedCallback() {\r\n this.studentRadio.addEventListener(\"change\", (event) => {\r\n if (event.target.value) {\r\n this.studentInformation.style.display = \"flex\";\r\n this.step2TabHeading.innerHTML = this.step2Tab.dataset.switchheading2;\r\n }\r\n });\r\n\r\n this.memberRadio.addEventListener(\"change\", (event) => {\r\n if (event.target.value) {\r\n this.studentInformation.style.display = \"none\";\r\n this.step2TabHeading.innerHTML = this.step2Tab.dataset.switchheading1;\r\n }\r\n }); \r\n }\r\n}\r\n\r\ncustomElements.define('applicationtype-select', ApplicationtypeSelect, { extends: \"div\" });","export default class MembershipStart extends HTMLDivElement {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n get withdrawalSelect() {\r\n return this.querySelector(\"[data-membership-start='withdrawal-select'] select\");\r\n }\r\n\r\n get startSelect() {\r\n return this.querySelector(\"[data-membership-start='start-select'] select\");\r\n }\r\n\r\n get withdrawalConfirm() {\r\n return this.querySelector(\"[data-membership-start='withdrawal-confirm']\");\r\n }\r\n\r\n get withdrawalConfirmCheckbox() {\r\n return this.querySelector(\"[data-membership-start='withdrawal-confirm'] input\");\r\n }\r\n \r\n connectedCallback() {\r\n this.withdrawalSelect.addEventListener(\"change\", (event) => {\r\n if (event.target.value) {\r\n this.startSelect.classList.remove(\"no-withdrawal\");\r\n this.startSelect.classList.add(\"withdrawal\");\r\n this.startSelect.selectedIndex = 0;\r\n this.withdrawalConfirm.classList.remove(\"hidden\");\r\n }\r\n else {\r\n this.startSelect.classList.remove(\"withdrawal\");\r\n this.startSelect.classList.add(\"no-withdrawal\");\r\n this.startSelect.selectedIndex = 0;\r\n this.withdrawalConfirm.classList.add(\"hidden\");\r\n this.withdrawalConfirmCheckbox.checked = false;\r\n }\r\n }); \r\n }\r\n}\r\n\r\ncustomElements.define('membership-start', MembershipStart, { extends: \"div\" });"],"sourceRoot":""}