\";\n return div.innerHTML.indexOf('
') > 0\n}\n\n// #3663: IE encodes newlines inside attribute values while other browsers don't\nvar shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;\n// #6828: chrome encodes content in a[href]\nvar shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false;\n\n/* */\n\nvar idToTemplate = cached(function (id) {\n var el = query(id);\n return el && el.innerHTML\n});\n\nvar mount = Vue.prototype.$mount;\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && query(el);\n\n /* istanbul ignore if */\n if (el === document.body || el === document.documentElement) {\n \"production\" !== 'production' && warn(\n \"Do not mount Vue to or - mount to normal elements instead.\"\n );\n return this\n }\n\n var options = this.$options;\n // resolve template/el and convert to render function\n if (!options.render) {\n var template = options.template;\n if (template) {\n if (typeof template === 'string') {\n if (template.charAt(0) === '#') {\n template = idToTemplate(template);\n /* istanbul ignore if */\n if (false) {\n warn(\n (\"Template element not found or is empty: \" + (options.template)),\n this\n );\n }\n }\n } else if (template.nodeType) {\n template = template.innerHTML;\n } else {\n if (false) {\n warn('invalid template option:' + template, this);\n }\n return this\n }\n } else if (el) {\n template = getOuterHTML(el);\n }\n if (template) {\n /* istanbul ignore if */\n if (false) {\n mark('compile');\n }\n\n var ref = compileToFunctions(template, {\n outputSourceRange: \"production\" !== 'production',\n shouldDecodeNewlines: shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,\n delimiters: options.delimiters,\n comments: options.comments\n }, this);\n var render = ref.render;\n var staticRenderFns = ref.staticRenderFns;\n options.render = render;\n options.staticRenderFns = staticRenderFns;\n\n /* istanbul ignore if */\n if (false) {\n mark('compile end');\n measure((\"vue \" + (this._name) + \" compile\"), 'compile', 'compile end');\n }\n }\n }\n return mount.call(this, el, hydrating)\n};\n\n/**\n * Get outerHTML of elements, taking care\n * of SVG elements in IE as well.\n */\nfunction getOuterHTML (el) {\n if (el.outerHTML) {\n return el.outerHTML\n } else {\n var container = document.createElement('div');\n container.appendChild(el.cloneNode(true));\n return container.innerHTML\n }\n}\n\nVue.compile = compileToFunctions;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Vue);\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(13), __webpack_require__(180).setImmediate))\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n\r\n modalDialog(title) {\r\n bootbox.dialog({\r\n message: '
' + title + '
',\r\n closeButton: false\r\n });\r\n },\r\n\r\n modalDialogAdvanced(title, message, classNamme) {\r\n var dialog = bootbox.dialog({\r\n title: '
' + title + '
',\r\n closeButton: true,\r\n message: message,\r\n className: classNamme,\r\n buttons: {\r\n cancel: {\r\n label: 'Close',\r\n className: 'btn btn-default'\r\n }\r\n }\r\n });\r\n return dialog;\r\n },\r\n\r\n showRescheduleDialog() {\r\n\r\n var dialog = bootbox.dialog({\r\n title:\r\n '
Processing your request.
',\r\n closeButton: false,\r\n message: '

Please wait...
',\r\n className: \"my-modal\",\r\n }).on('hidden.bs.modal', function () {\r\n \r\n });\r\n return dialog;\r\n },\r\n\r\n showProcessingDialog(message) {\r\n message = message || 'Please wait...';\r\n\r\n var dialog = bootbox.dialog({\r\n title:\r\n '
Processing your request.
',\r\n closeButton: false,\r\n message: '
' + message + '

',\r\n className: \"my-modal\"\r\n }).on('hidden.bs.modal', function () {\r\n \r\n });\r\n return dialog;\r\n },\r\n\r\n showWaitDialog(title, message) {\r\n message = message || 'Please wait...';\r\n\r\n var dialog = bootbox.dialog({\r\n title: '
' + title + '
',\r\n closeButton: false,\r\n message: '

' + message + '
',\r\n className: \"my-modal\"\r\n });\r\n return dialog;\r\n },\r\n\r\n confirmAdvanced(message, callback, okText) {\r\n var okLabel = okText || \"OK\";\r\n\r\n bootbox.confirm({\r\n title:\r\n '
Attention',\r\n closeButton: true,\r\n onEscape: false,\r\n message: message,\r\n className: \"my-modal confirm-modal\",\r\n buttons: {\r\n \"confirm\": {\r\n label: okLabel,\r\n className: \"btn-secondary pull-right\"\r\n },\r\n cancel: {\r\n label: \"Cancel\",\r\n className: \"btn-link\",\r\n }\r\n },\r\n callback: callback\r\n }).on('shown.bs.modal', function () {\r\n $(this).find('.modal-footer .btn-secondary').attr('title', okLabel);\r\n $(this).find('.modal-footer .btn-link').attr('title', 'Cancel');\r\n });\r\n },\r\n\r\n ///options = {confirmCallback:callback Function, denyCallback:callback Function,confirmButtonLabel:
, denyButtonLabel:};\r\n confirmDialogWithOptions(message, options) {\r\n const title = ' Attention';\r\n this.advancedConfirmPopupDialog(message,\r\n options.confirmCallback,\r\n options.denyCallback,\r\n options.confirmButtonLabel,\r\n options.denyButtonLabel,\r\n title);\r\n },\r\n\r\n advancedConfirmPopupDialog(message, continueCallback, cancelCallback, continueButtonLabel, cancelButtonLabel, title) {\r\n const TITLE = ' Oops - we found some items that need your attention.';\r\n const mainButtonLabel = continueButtonLabel || 'CONTINUE';\r\n const cancelBtnLabel = cancelButtonLabel || 'Cancel';\r\n title = title || TITLE;\r\n\r\n bootbox.dialog({\r\n title: title,\r\n closeButton: false,\r\n message: message,\r\n onEscape: false,\r\n className: \"my-modal confirm-modal\",\r\n buttons: {\r\n main: {\r\n label: mainButtonLabel,\r\n className: \"btn-secondary pull-right\",\r\n callback: continueCallback\r\n },\r\n cancel: {\r\n label: cancelBtnLabel,\r\n className: \"btn-link\",\r\n callback: cancelCallback\r\n }\r\n }\r\n }).on('shown.bs.modal', function () {\r\n $(this).find('.modal-footer .btn-secondary').attr('title', mainButtonLabel);\r\n $(this).find('.modal-footer .btn-link').attr('title', cancelBtnLabel);\r\n });\r\n },\r\n\r\n showTechnicalErrorDialog(okCallback) {\r\n okCallback = okCallback || function () { };\r\n bootbox.dialog({\r\n title:\r\n ' Oops - we found some items that need your attention.',\r\n message:\r\n 'We are currently experiencing technical difficulties...
Please try again.
',\r\n closeButton: false,\r\n className: \"my-modal\",\r\n buttons: {\r\n main: {\r\n label: \"OK\",\r\n className: \"btn-secondary custom-btn\",\r\n callback: okCallback\r\n }\r\n }\r\n }).on('shown.bs.modal', function () {\r\n $(this).find('.modal-footer .btn-secondary').attr('title', 'OK');\r\n });\r\n\r\n },\r\n\r\n showSessionExpiredDialog() {\r\n\r\n bootbox.dialog({\r\n title:\r\n ' Oops - we found some items that need your attention.',\r\n message:\r\n 'Your Session has Expired...
',\r\n closeButton: false,\r\n buttons: {\r\n main: {\r\n label: \"OK\",\r\n className: \"btn-secondary custom-btn\",\r\n callback: function (result) {\r\n window.location.href = \"/\";\r\n }\r\n }\r\n }\r\n }).on('shown.bs.modal', function () {\r\n $(this).find('.modal-footer .btn-secondary').attr('title', 'OK');\r\n });\r\n\r\n },\r\n\r\n advancedAddressPopupDialog(messageText, continueCallback, cancelCallback) {\r\n\r\n bootbox.dialog({\r\n title: ' Attention',\r\n closeButton: false,\r\n message: messageText,\r\n onEscape: false,\r\n className: \"my-modal address-modal\",\r\n buttons: {\r\n main: {\r\n label: \"Save\",\r\n className: \"btn-secondary pull-right\",\r\n callback: continueCallback\r\n },\r\n cancel: {\r\n label: \"Cancel\",\r\n className: \"btn-link\",\r\n callback: cancelCallback\r\n }\r\n }\r\n }).on('shown.bs.modal', function () {\r\n $(this).find('.modal-footer .btn-secondary').attr('title', 'Save');\r\n $(this).find('.modal-footer .btn-link').attr('title', 'Cancel');\r\n });\r\n },\r\n\r\n advancedConsentPopupDialog(messageText, continueCallback, cancelCallback) {\r\n\r\n bootbox.dialog({\r\n title: '',\r\n closeButton: false,\r\n message: messageText,\r\n onEscape: false,\r\n className: \"my-modal consent-modal\",\r\n buttons: {\r\n main: {\r\n label: \"Accept and Continue\",\r\n className: \"btn-secondary\",\r\n callback: continueCallback\r\n },\r\n cancel: {\r\n label: \"Cancel\",\r\n className: \"btn-link\",\r\n callback: cancelCallback\r\n }\r\n }\r\n }).on('shown.bs.modal', function () {\r\n $(this).find('.modal-footer .btn-secondary').attr('aria-label', 'Accept and Continue disclosures regarding this website.');\r\n $(this).find('.modal-footer .btn-link').attr('aria-label', 'Cancel');\r\n });\r\n },\r\n\r\n advancedMedicalExamPopupDialog(messageText, continueCallback, cancelCallback) {\r\n\r\n bootbox.dialog({\r\n title:\r\n ' Oops - we found some items that need your attention.',\r\n closeButton: false,\r\n message: messageText,\r\n onEscape: false,\r\n className: \"my-modal pickdate-modal\",\r\n buttons: {\r\n main: {\r\n label: \"Continue\",\r\n className: \"btn-link\",\r\n callback: continueCallback\r\n },\r\n cancel: {\r\n label: \"Pick a New Date\",\r\n className: \"btn-secondary\",\r\n callback: cancelCallback\r\n }\r\n }\r\n }).on('shown.bs.modal', function () {\r\n $(this).find('.modal-footer .btn-secondary').attr('title', 'Pick a New Date');\r\n $(this).find('.modal-footer .btn-link').attr('title', 'Continue');\r\n });\r\n },\r\n\r\n confirm(title, callback) {\r\n bootbox.confirm(title, callback);\r\n },\r\n\r\n showErrorDialog(messages) {\r\n // only do this on mobile\r\n if ($('#Mobile').val() == 'true') {\r\n bootbox.dialog({\r\n title: ' Invalid Information',\r\n message: 'Please correct the issues indicated and try again.',\r\n closeButton: false,\r\n className: \"my-modal\",\r\n buttons: {\r\n main: {\r\n label: \"OK\",\r\n className: \"btn-secondary\"\r\n\r\n }\r\n }\r\n }).on('shown.bs.modal', function () {\r\n $(this).find('.modal-footer .btn-secondary').attr('title', 'OK');\r\n });\r\n $(\"html, body\").animate({ scrollTop: 0 }, \"slow\");\r\n } else {\r\n\r\n // Show BootBox Error Message\r\n\r\n /* IE9 Modal Overlay FIX Starts Here */\r\n bootbox.dialog({\r\n title: ' Oops - we found some items that need your attention.',\r\n message: 'Please correct the issues indicated below and try again:
' + messages.join(' ') + '
',\r\n closeButton: false,\r\n className: \"my-modal\",\r\n show: false,\r\n buttons: {\r\n main: {\r\n label: \"OK\",\r\n className: \"btn-secondary\",\r\n callback: function () {\r\n // Empty Error List\r\n }\r\n }\r\n }\r\n }).on('shown.bs.modal', function () {\r\n $(this).find('.modal-footer .btn-secondary').attr('title', 'OK');\r\n }).modal('show').on('hidden.bs.modal', function () {\r\n });\r\n }\r\n /* IE9 Modal Overlay FIX Ends Here */\r\n },\r\n\r\n showMessageDialog(message, success = false) {\r\n var title = ' Oops - we found some items that need your attention.';\r\n var msgClass = 'glyphicon glyphicon-exclamation-sign text-error';\r\n if (success) {\r\n title = ' Completed.';\r\n msgClass = 'glyphicon glyphicon-ok text-error';\r\n }\r\n /* IE9 Modal Overlay FIX Starts Here */\r\n bootbox.dialog({\r\n title: '' + title,\r\n message: message,\r\n closeButton: false,\r\n className: \"my-modal\",\r\n show: false,\r\n buttons: {\r\n main: {\r\n label: \"OK\",\r\n className: \"btn-secondary\",\r\n callback: function () {\r\n // Empty Error List\r\n }\r\n }\r\n }\r\n }).on('shown.bs.modal', function () {\r\n $(this).find('.modal-footer .btn-secondary').attr('title', 'OK');\r\n }).modal('show').on('hidden.bs.modal', function () {\r\n });\r\n },\r\n\r\n showMessageDialogCallBack(message, callback, success = false) {\r\n var title = ' Oops - we found some items that need your attention.';\r\n var msgClass = 'glyphicon glyphicon-exclamation-sign text-error';\r\n if (success) {\r\n title = ' Completed.';\r\n msgClass = 'glyphicon glyphicon-ok text-error';\r\n }\r\n\r\n /* IE9 Modal Overlay FIX Starts Here */\r\n bootbox.dialog({\r\n title: '' + title,\r\n message: message,\r\n closeButton: false,\r\n className: \"my-modal\",\r\n show: false,\r\n buttons: {\r\n main: {\r\n label: \"OK\",\r\n className: \"btn-secondary\",\r\n callback: function () {\r\n callback();\r\n }\r\n }\r\n }\r\n }).on('shown.bs.modal', function () {\r\n $(this).find('.modal-footer .btn-secondary').attr('title', 'OK');\r\n }).modal('show').on('hidden.bs.modal', function () {\r\n });\r\n }\r\n});\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Constants__ = __webpack_require__(1);\n\r\n\r\n\r\n\r\n\r\n\r\nconst FormFieldComponentBaseMixin = {\r\n props: {\r\n //question data for rendering\r\n questionData: {\r\n type: Object,\r\n required: true\r\n },\r\n //databag containing saved data\r\n dataBag: {\r\n type: Object,\r\n required: true\r\n },\r\n //form state for validation\r\n state: {\r\n type: Object,\r\n required: true\r\n },\r\n fieldInteractionCallback: {\r\n type: Function,\r\n required: false\r\n },\r\n readMode: {\r\n type: Boolean,\r\n required: false,\r\n default: false\r\n },\r\n pageSchema: {\r\n type: Object,\r\n required: false\r\n }\r\n },\r\n data: function () {\r\n return {\r\n defaultFocusPlaceholder: '',\r\n placeholder: this.questionData.placeholder || this.questionData.text,\r\n focusPlaceholder: this.questionData.focusPlaceholder,\r\n saving: false,\r\n originalValue: '',\r\n defaultValue: '',\r\n fieldRef: null,\r\n readonly: this.questionData.readOnly || false,\r\n isFocused: false,\r\n }\r\n },\r\n destroyed() {\r\n if (this.dataBag && this.questionData.questionKey && !this.questionData.disableDestroyAction) {\r\n //console.log('destroyed-' + this.questionData.questionKey)\r\n this.$set(this.dataBag, this.questionData.questionKey, '')\r\n }\r\n },\r\n mounted() {\r\n //copy original value\r\n if (this.dataBag) {\r\n this.originalValue = this.dataBag[this.questionData.questionKey];\r\n }\r\n //set focus on field\r\n if (this.questionData && this.questionData.focus && !this.questionData.readonly) {\r\n console.log('setfocus', this.questionData)\r\n this.setFocus();\r\n //reset focus\r\n this.questionData.focus = false;\r\n this.isFocused = true;\r\n }\r\n\r\n const fieldRef = this.getFieldRef();\r\n if (this.questionData.tabIndex && fieldRef) {\r\n console.log('FormComponentBase=>setting tabindex');\r\n if (Array.isArray(fieldRef)) {\r\n fieldRef.forEach(fRef => { fRef.tabIndex = -1; });\r\n }\r\n else {\r\n fieldRef.tabIndex = -1;\r\n }\r\n }\r\n this.bindTooltip();\r\n this.notifyFieldLoaded();\r\n console.log('FormFieldComponentBaseMixin:Mounted', this.questionData);\r\n //trigger blur event for floating label;\r\n const self = this;\r\n window.setTimeout(() => {\r\n self.triggerFloatingLabelVisibility();\r\n }, 200);\r\n },\r\n watch: {\r\n readMode: function (newValue, oldValue) {\r\n //console.log('FormFieldComponent:watch::readMode', { newValue, oldValue });\r\n //trigger for readMode/newValue = false\r\n if (!newValue) {\r\n const self = this;\r\n window.setTimeout(() => {\r\n self.triggerFloatingLabelVisibility();\r\n }, 200);\r\n }\r\n },\r\n },\r\n methods: {\r\n enterKeyHandler() {\r\n if (this.questionData.enterKey) {\r\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_3__Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.FIELD_ENTER_KEY,\r\n this.questionData.questionKey);\r\n }\r\n },\r\n getFieldRef() {\r\n //console.log('FormFieldComponentBaseMixin=>getFieldRef');\r\n },\r\n bindTooltip() {\r\n this.$nextTick(function () {\r\n var tt = $('[data-toggle=\"tooltip\"]');\r\n if (tt && tt.tooltip) {\r\n tt.tooltip();\r\n }\r\n });\r\n },\r\n broadCastFieldValueChange(fieldData) {\r\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_3__Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.FIELD_VALUE_CHANGE, fieldData);\r\n },\r\n broadCastAnswerChange(data) {\r\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_3__Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.ANSWER_CHANGE, data);\r\n },\r\n isNotEmpty(value) {\r\n return value !== null && value !== undefined && value !== '';\r\n },\r\n isNotNullOrEmpty(value) {\r\n return value != '' && value != null && value != undefined;\r\n },\r\n isNullOrEmpty(value) {\r\n return value == '' || value == null || value == undefined;\r\n },\r\n triggerFloatingLabelVisibility(fRef) {\r\n const fieldRef = fRef || this.getFieldRef();\r\n if ($ && fieldRef && !this.isFocused) {\r\n //console.log('triggerFloatingLabelVisibility', this.questionData.questionKey);\r\n if (Array.isArray(fieldRef)) {\r\n fieldRef.forEach(fRef => { $(fRef).trigger('blur') });\r\n }\r\n else {\r\n $(fieldRef).trigger('blur');\r\n }\r\n }\r\n },\r\n touchField() {\r\n const self = this;\r\n this.focus();\r\n window.setTimeout(() => {\r\n self.triggerBlur();\r\n }, 100);\r\n },\r\n triggerBlur(fRef) {\r\n const fieldRef = fRef || this.getFieldRef();\r\n const hasBlur = fieldRef.blur;\r\n if (Array.isArray(fieldRef)) {\r\n fieldRef.forEach(fRef => {\r\n if (fRef.blur) {\r\n fRef.blur();\r\n }\r\n else {\r\n $(fRef).trigger('blur')\r\n }\r\n });\r\n }\r\n else if (hasBlur) {\r\n fieldRef.blur();\r\n }\r\n else if ($) {\r\n $(fieldRef).trigger('blur');\r\n }\r\n },\r\n focus() {\r\n const fieldRef = this.getFieldRef();\r\n console.log('focus', fieldRef)\r\n if (Array.isArray(fieldRef)) {\r\n //fieldRef.forEach(fRef => { fRef.focus(); });\r\n if (fieldRef.length > 0) { fieldRef[0].focus(); }\r\n }\r\n else if (fieldRef && fieldRef.focus) {\r\n fieldRef.focus();\r\n }\r\n else if ($) {\r\n console.log('setfocus', this.questionData.questionKey);\r\n var ele = $('#' + this.questionData.questionKey);\r\n ele.focus();\r\n }\r\n },\r\n initializeFieldView() {\r\n var fState = this.getFieldState();\r\n if (fState && fState.$valid) {\r\n //notify that field is need not be interacted as field already has value\r\n this.notifyFieldInteraction();\r\n }\r\n },\r\n notifyFieldLoaded() {\r\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_3__Constants__[\"a\" /* Constants */].FIELD_EVENTS.FIELD_LOADED, { id: this.questionData.questionKey });\r\n },\r\n saveFieldData(inputData) {\r\n const $this = this;\r\n __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].nextTick(function () {\r\n var autoSave = true;\r\n if ($this.questionData.autoSave != undefined) {\r\n autoSave = $this.questionData.autoSave;\r\n };\r\n //const saveRequired = (value != null && value != $this.dataBag[$this.questionData.questionKey]);\r\n\r\n if (autoSave == true && !$this.saving) {\r\n $this.saving = true;\r\n var data = inputData || {\r\n [$this.questionData.questionKey]: $this.dataBag[$this.questionData.questionKey]\r\n };\r\n\r\n //check if validatable field\r\n if ($this.fieldStateValid()) {\r\n //save only if it is valid\r\n __WEBPACK_IMPORTED_MODULE_1__Application_services_HttpCommunicationService__[\"a\" /* default */].postFieldData(data);\r\n }\r\n $this.saving = false;\r\n }\r\n else {\r\n console.log('not saving')\r\n }\r\n })\r\n },\r\n notifyFieldInteraction() {\r\n const $this = this;\r\n //call fieldInteractionCallback on next update\r\n __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].nextTick(function () {\r\n //call field interaction callback handler passing field key\r\n var myState = $this.state[$this.questionData.questionKey];\r\n\r\n //if the field is validatable then check its valid\r\n if (myState) {\r\n if ($this.fieldInteractionCallback && myState.$valid) {\r\n $this.fieldInteractionCallback($this.questionData.questionKey);\r\n }\r\n } //else just check for callback\r\n else {\r\n if ($this.fieldInteractionCallback) {\r\n $this.fieldInteractionCallback($this.questionData.questionKey);\r\n }\r\n }\r\n })\r\n },\r\n applyBlurPlaceholder(fieldRef) {\r\n //restore placeholder to static placeholder text\r\n const fRef = fieldRef || this.getFieldRef();\r\n this.setFieldAttribute(fRef, 'placeholder', this.placeholder);\r\n },\r\n applyFocusPlaceholder(fieldRef) {\r\n //set focusPlaceholder\r\n const fRef = fieldRef || this.getFieldRef();\r\n var phText = this.focusPlaceholder || this.defaultFocusPlaceholder || this.placeholder;\r\n this.setFieldAttribute(fRef, 'placeholder', phText);\r\n },\r\n setFieldAttribute(fieldRef, attrName, attrValue) {\r\n if (attrName) {\r\n if (fieldRef && fieldRef.setAttribute) {\r\n fieldRef.setAttribute(attrName, attrValue);\r\n }\r\n else {\r\n var $ = window.jQuery || window.jquery;\r\n $(fieldRef).attr(attrName, attrValue);\r\n }\r\n }\r\n },\r\n setFocus() {\r\n this.focus();\r\n },\r\n hasValueChanged() {\r\n var oldValue = this.originalValue;\r\n var newValue = this.dataBag[this.questionData.questionKey];\r\n\r\n //value changed if its not same as old and not same as default value\r\n var changed = (this.isNullOrEmpty(oldValue) && oldValue != newValue && newValue != '' && newValue != this.defaultValue)\r\n || (this.isNotNullOrEmpty(oldValue) && oldValue != newValue);\r\n\r\n return changed;\r\n },\r\n revertValueChange() {\r\n const $this = this;\r\n //individual component will do actual implementation\r\n console.log('FormFieldComponentBaseMixin=>revertValueChange');\r\n //reset value to old here\r\n let oldValue = this.originalValue;\r\n if (oldValue === undefined) {\r\n oldValue = this.defaultValue;\r\n }\r\n __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].nextTick(function () {\r\n $this.dataBag[$this.questionData.questionKey] = oldValue;\r\n if ($this.processChange) {\r\n $this.processChange();\r\n }\r\n });\r\n },\r\n alertValueChange(callbackFn) {\r\n var $this = this;\r\n //show alert popup to inform that quote may change\r\n var oldValue = this.originalValue;\r\n var newValue = this.dataBag[this.questionData.questionKey];\r\n\r\n //value changed if its not same as old and not same as default value\r\n var alert = this.hasValueChanged();\r\n\r\n var msg = this.questionData.alertMessage || __WEBPACK_IMPORTED_MODULE_3__Constants__[\"a\" /* Constants */][this.questionData.alertMessageKey];\r\n\r\n const showChangeAlertOnNext = this.questionData.showChangeAlertOnNext;\r\n\r\n if (showChangeAlertOnNext) {\r\n //record changes and inform page\r\n const data = {\r\n fieldKey: this.questionData.questionKey,\r\n alertMessage: msg,\r\n oldValue: oldValue,\r\n newValue: newValue,\r\n changed: alert,\r\n valueRevertFn: this.revertValueChange\r\n };\r\n this.broadCastFieldValueChange(data);\r\n }\r\n\r\n if (alert && !showChangeAlertOnNext) {\r\n const message = msg + __WEBPACK_IMPORTED_MODULE_3__Constants__[\"a\" /* Constants */].REQUOTE_CONFIRMATION_MESSAGE;\r\n __WEBPACK_IMPORTED_MODULE_2__Application_services_dialogService__[\"a\" /* default */].confirmAdvanced(message, function (result) {\r\n //user want to continue with date change\r\n if (result) {\r\n if (callbackFn) {\r\n callbackFn();\r\n }\r\n }\r\n //when cancel, revert value to original\r\n else {\r\n __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].nextTick(function () {\r\n $this.dataBag[$this.questionData.questionKey] = oldValue;\r\n $this.saveFieldData();\r\n });\r\n }\r\n }, \"Continue\");\r\n }\r\n else if (callbackFn) {\r\n callbackFn();\r\n }\r\n },\r\n getModeClass() {\r\n return this.readMode ? 'read-mode' : '';\r\n }\r\n }\r\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = FormFieldComponentBaseMixin;\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_es6_promise__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_es6_promise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_es6_promise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Constants__ = __webpack_require__(1);\n\r\n\r\n\r\n\r\nconst ViewValidationHelperMixin = {\r\n data: function () {\r\n return {\r\n //setup data properties\r\n submitCount: 0,\r\n validating: false,\r\n serverErrors: []\r\n }\r\n },\r\n computed: {\r\n fieldStateTouched() {\r\n var myState = this.getFieldState();\r\n if (myState && myState.$touched) {\r\n this.increaseSubmitCount();\r\n }\r\n const res = myState ? myState.$touched : false;\r\n //console.log('fieldStateTouched', this.questionData.questionKey, myState, res )\r\n return res\r\n },\r\n submitTried() {\r\n\r\n var myState = this.getFieldState();\r\n const res = myState ? myState.$submitted && this.submitCount > 0 : false;\r\n //console.log('submitTried', this.questionData.questionKey, res)\r\n\r\n return res\r\n },\r\n serverValidationErrors() {\r\n return this.serverErrors\r\n }\r\n },\r\n created() {\r\n this.$eventBus.$on(__WEBPACK_IMPORTED_MODULE_2__Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.FORM_SUBMITTED, this.formSubmitted);\r\n },\r\n destroyed() {\r\n this.$eventBus.$off(__WEBPACK_IMPORTED_MODULE_2__Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.FORM_SUBMITTED, this.formSubmitted);\r\n },\r\n\r\n watch: {\r\n 'pageSchema.serverValidationErrors': {\r\n\r\n handler: function (value, oldValue) {\r\n if (value) {\r\n const errors = this.serverErrors\r\n errors.splice(0, errors.length);\r\n\r\n const self = this\r\n const errorKeys = self.getServerErrorKeys() || [];\r\n\r\n //console.log('errorKeys', errorKeys);\r\n\r\n errorKeys.map(ekey => {\r\n const dKey = Object.keys(value)\r\n .find(p => p.toLowerCase() == ekey.toLowerCase())\r\n\r\n if (dKey) {\r\n const errorObj = value[dKey] || {}\r\n Object.keys(errorObj).forEach(k => {\r\n errors.push({\r\n key: k,\r\n message: errorObj[k]\r\n })\r\n })\r\n\r\n //console.log('pageSchema.serverValidationErrors:watch',\r\n // { value, oldValue, errorKeys, me: this, serverErrors: self.serverErrors });\r\n }\r\n })\r\n if (errors.length > 0) {\r\n const errorMap = {};\r\n errors.forEach(kv => { errorMap[kv.key] = true })\r\n self.updateErrorState(errorMap)\r\n }\r\n }\r\n },\r\n deep: true,\r\n },\r\n },\r\n methods: {\r\n formSubmitted() {\r\n console.log(\"formSubmitted\" + this.questionData.questionKey)\r\n this.increaseSubmitCount(1);\r\n var field = this.getFieldState();\r\n if (field) {\r\n this.$set(field, 'submitCount', this.submitCount);\r\n }\r\n },\r\n increaseSubmitCount() {\r\n this.submitCount += 1;\r\n },\r\n getAnyPattern() {\r\n return '.*'\r\n },\r\n getValidationMessage(key) {\r\n const validators = this.questionData.validators || {};\r\n return validators[key];\r\n },\r\n getValidatorValue(key) {\r\n var value = '';\r\n const validators = this.questionData.validators || {};\r\n var validatorData = validators[key];\r\n if (key == 'maxlength') {\r\n value = validatorData\r\n && validatorData != ''\r\n && validatorData > 0\r\n ? validatorData : 999999;\r\n }\r\n else if (key == 'minlength') {\r\n value = validatorData\r\n && validatorData != ''\r\n && validatorData > 0\r\n ? validatorData : 0;\r\n }\r\n else if (key === 'min') {\r\n value = validatorData && validatorData !== '' ? validatorData : -99999999999;\r\n }\r\n else if (key === 'max') {\r\n value = validatorData && validatorData !== '' ? validatorData : 99999999999;\r\n }\r\n else if (key == 'required') {\r\n console.log('validatorData', validatorData)\r\n value = (validatorData && validatorData != '' && (validatorData + '').toLowerCase() == 'true')\r\n ? true : false;\r\n }\r\n else if (key == 'pattern') {\r\n value = validatorData\r\n && validatorData != ''\r\n ? validatorData : this.getAnyPattern();\r\n }\r\n else {\r\n value = validatorData;\r\n }\r\n return value;\r\n },\r\n _getFieldStates: function (fieldKeys) {\r\n var fStates = [];\r\n var $states = this.state;\r\n\r\n if ($states && fieldKeys && fieldKeys.length > 0) {\r\n fieldKeys.forEach(function (key) {\r\n fStates.push($states[key]);\r\n })\r\n }\r\n return fStates;\r\n },\r\n getFieldState: function () {\r\n var key = this.questionData.questionKey\r\n if (this.isGroupValidator) {\r\n key = this.questionData.groupName\r\n }\r\n var states = this._getFieldStates([key]);\r\n const fState = (states && states.length > 0) ? states[0] : null;\r\n return fState;\r\n },\r\n fieldStateValid() {\r\n var valid = true;\r\n var myState = this.getFieldState();\r\n\r\n if (myState) {\r\n valid = myState.$valid;\r\n }\r\n return valid;\r\n },\r\n validateField() {\r\n var myState = this.getFieldState();\r\n if (myState) {\r\n myState._validate();\r\n }\r\n //console.log('validateField', { state: myState, key: this.questionData.questionKey })\r\n },\r\n\r\n updateErrorState(errorMap) {\r\n var myState = this.getFieldState();\r\n errorMap = errorMap || {}\r\n console.log('updateErrorState before', myState, errorMap)\r\n if (myState && myState.$error && errorMap) {\r\n let valid = false;\r\n Object.keys(errorMap).forEach(k => {\r\n valid = !errorMap[k]\r\n myState.$error[k] = errorMap[k];\r\n })\r\n myState._setValidity(valid)\r\n myState._setDirty()\r\n myState._setTouched()\r\n }\r\n console.log('updateErrorState after', myState, errorMap, this.state)\r\n },\r\n getValidationClassName: function () {\r\n const field = this.getFieldState();\r\n //console.log(\"getValidationClassName called for \" + this.questionData.questionKey, this.submitCount);\r\n var validForm = this.submitCount > 0;\r\n\r\n let className = '';\r\n if (!field) {\r\n className = '';\r\n }\r\n else if ((field.$touched || field.$submitted) && field.$valid) {\r\n className = 'has-success';\r\n this.showRequiredError = false;\r\n }\r\n else if ((field.$touched || field.$submitted) && validForm && field.$invalid) {\r\n className = 'has-danger shake';\r\n this.showRequiredError = true;\r\n }\r\n return className;\r\n },\r\n\r\n validateInputWithServer(input, type) {\r\n var promise = window.Promise;\r\n if (promise == undefined) {\r\n promise = __WEBPACK_IMPORTED_MODULE_1_es6_promise___default.a.Promise;\r\n }\r\n const self = this;\r\n return new promise(function (resolve, reject) {\r\n //make call with httpService\r\n if (type == \"phone\") {\r\n self.validating = true;\r\n __WEBPACK_IMPORTED_MODULE_0__Application_services_HttpCommunicationService__[\"a\" /* default */].validatePhone(input, function (data) {\r\n self.validating = false;\r\n resolve(data === true);\r\n })\r\n }\r\n else if (type == \"email\") {\r\n self.validating = true;\r\n __WEBPACK_IMPORTED_MODULE_0__Application_services_HttpCommunicationService__[\"a\" /* default */].validateEmail(input, function (data) {\r\n self.validating = false;\r\n resolve(data === true);\r\n })\r\n }\r\n });\r\n },\r\n\r\n getServerErrorKeys() {\r\n const key = this.questionData.questionKey;\r\n return [key]\r\n },\r\n isServerError: function (value) {\r\n //console.log('isServerError', this.questionData.questionKey, value, this.getFieldState())\r\n // return true to set input as $valid, false to set as $invalid\r\n return true// this.serverValidationErrors.length == 0\r\n },\r\n }\r\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = ViewValidationHelperMixin;\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Utility__ = __webpack_require__(2);\n\r\n\r\n\r\nconst routeCollectionProperty = '$$__configuredRoutes';\r\n\r\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n\r\n configureRoutes: function ($router, routes) {\r\n console.log('configureRoutes', routes);\r\n $router.addRoutes(routes);\r\n //add configures routes to vue\r\n __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */][routeCollectionProperty] = routes;\r\n },\r\n\r\n getConfigredRoutes: function () {\r\n return __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */][routeCollectionProperty];\r\n },\r\n\r\n isLocalRoute: function (route) {\r\n var isLocal = false;\r\n const routes = this.getConfigredRoutes();\r\n if (routes && routes.length > 0) {\r\n isLocal = __WEBPACK_IMPORTED_MODULE_1__Utility__[\"a\" /* Utility */].listItemContainPropertyValue(routes, 'path', route)\r\n }\r\n return isLocal;\r\n },\r\n\r\n navigateToNextPage: function (router, lastPageId) {\r\n const pages = __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].$applicationData.pageSequence;\r\n\r\n if (pages && pages.length > 0) {\r\n let lastVisitedPageIndex = pages.indexOf(lastPageId);\r\n if (lastVisitedPageIndex >= 0) {\r\n let nextPageId = pages[lastVisitedPageIndex + 1];\r\n\r\n console.log('navigateToPage:' + nextPageId)\r\n var pageRoute = '/' + __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].$applicationData.experience + '/' + nextPageId;\r\n if (router && nextPageId) {\r\n router.push({ path: pageRoute });\r\n }\r\n }\r\n }\r\n },\r\n navigateToPreviousPage: function (router, lastPageId) {\r\n if (lastPageId) {\r\n const pages = __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].$applicationData.pageSequence;\r\n\r\n if (pages && pages.length > 0) {\r\n let lastVisitedPageIndex = pages.indexOf(lastPageId);\r\n if (lastVisitedPageIndex >= 0) {\r\n let prevPageId = pages[lastVisitedPageIndex - 1];\r\n\r\n console.log('navigateToPreviousPage:' + prevPageId)\r\n var pageRoute = '/' + __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].$applicationData.experience + '/' + prevPageId;\r\n if (router && prevPageId) {\r\n router.push({ path: pageRoute });\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n //go back to one page back\r\n router.back();\r\n }\r\n },\r\n\r\n navigateToPage: function (router, pageId, replace) {\r\n console.log('navigateToPage:' + pageId)\r\n var pageRoute = '/' + __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].$applicationData.experience + '/' + pageId;\r\n if (router && pageId) {\r\n if (replace !== undefined && replace) {\r\n router.replace({ path: pageRoute });\r\n }\r\n else {\r\n router.push({ path: pageRoute });\r\n }\r\n }\r\n }\r\n});\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nconst ComponentInterfaceMixin = {\r\n props: {\r\n dataBag: {\r\n type: Object,\r\n required: true\r\n },\r\n //form state for validation\r\n state: {\r\n type: Object,\r\n required: true\r\n },\r\n pageSchema: {\r\n type: Object,\r\n required: false\r\n },\r\n formKey: {\r\n type: String,\r\n required: false\r\n },\r\n },\r\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = ComponentInterfaceMixin;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.6.11' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__ = __webpack_require__(2);\n\r\n\r\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n calculateAllocationAmount(beneficiaries, totalConverage) {\r\n var items = beneficiaries;\r\n\r\n if (items) {\r\n for (var index = 0; index < items.length; index++) {\r\n var bene = items[index];\r\n bene.allocationAmount = totalConverage * bene.percentShare / 100;\r\n }\r\n }\r\n },\r\n\r\n calculateTotalShare(beneficiaries) {\r\n var total = 0;\r\n var items = beneficiaries\r\n if (items) {\r\n for (var index = 0; index < items.length; index++) {\r\n total += parseInt(items[index].percentShare);\r\n }\r\n }\r\n return total;\r\n },\r\n\r\n calculateTotalAmount(beneficiaries) {\r\n var total = 0;\r\n var items = beneficiaries\r\n if (items) {\r\n for (var index = 0; index < items.length; index++) {\r\n total += items[index].allocationAmount;\r\n }\r\n }\r\n return __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__[\"a\" /* Utility */].formatCurrency(total);\r\n },\r\n\r\n adjustShareAllocation(beneficiary, beneficiaries, totalConverage) {\r\n this.adjustPercentShare(beneficiary, beneficiaries)\r\n this.calculateAllocationAmount(beneficiaries, totalConverage);\r\n },\r\n\r\n adjustPercentShare(changedBeneficiary, beneficiaries) {\r\n\r\n //runs when share is adjusted for bene from UI\r\n if (changedBeneficiary != null && beneficiaries.length == 2) {\r\n //var share = parseInt( changedBeneficiary.percentShare);\r\n for (var index = 0; index < beneficiaries.length; index++) {\r\n var bene = beneficiaries[index];\r\n if (bene.key != changedBeneficiary.key) {\r\n bene.percentShare = 100 - parseInt(changedBeneficiary.percentShare);\r\n break;\r\n }\r\n }\r\n }\r\n //when data loaded for first time - adjust share\r\n else if (changedBeneficiary == null && beneficiaries.length > 0) {\r\n\r\n var perShare = parseInt(100 / beneficiaries.length);\r\n var runningShareTotal = 0;\r\n for (var index = beneficiaries.length - 1; index >= 1; index--) {\r\n runningShareTotal += perShare;\r\n beneficiaries[index].percentShare = perShare;\r\n }\r\n //set remaining share to first one\r\n beneficiaries[0].percentShare = 100 - runningShareTotal;\r\n }\r\n },\r\n\r\n calculateBeneficiaryData(beneficiary, beneficiaries, totalConverage) {\r\n //if ther are only two beneficiary, then readjust share to make it 100\r\n adjustPercentShare(beneficiary, beneficiaries)\r\n calculateAllocationAmount(beneficiaries, totalConverage);\r\n calculateTotalShare(beneficiaries);\r\n calculateTotalAmount(beneficiaries);\r\n },\r\n});\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_router__ = __webpack_require__(325);\n\r\n\r\n\r\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_1_vue_router__[\"a\" /* default */]);\r\n\r\nconst router = new __WEBPACK_IMPORTED_MODULE_1_vue_router__[\"a\" /* default */]({\r\n mode: 'history',\r\n})\r\n\r\n/* harmony default export */ __webpack_exports__[\"a\"] = (router);\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process, global) {/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version v4.2.8+1e68dce6\n */\n\n(function (global, factory) {\n\t true ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.ES6Promise = factory());\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n var type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n}\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n\n\n\nvar _isArray = void 0;\nif (Array.isArray) {\n _isArray = Array.isArray;\n} else {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = void 0;\nvar customSchedulerFn = void 0;\n\nvar asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nfunction setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var vertx = Function('return this')().require('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = void 0;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && \"function\" === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n\n if (_state) {\n var callback = arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nfunction resolve$1(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n resolve(promise, object);\n return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(2);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\n try {\n then$$1.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then$$1) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then$$1, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return resolve(promise, value);\n }, function (reason) {\n return reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$1) {\n if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$1 === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$1)) {\n handleForeignThenable(promise, maybeThenable, then$$1);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n var then$$1 = void 0;\n try {\n then$$1 = value.then;\n } catch (error) {\n reject(promise, error);\n return;\n }\n handleMaybeThenable(promise, value, then$$1);\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = void 0,\n callback = void 0,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = void 0,\n error = void 0,\n succeeded = true;\n\n if (hasCallback) {\n try {\n value = callback(detail);\n } catch (e) {\n succeeded = false;\n error = e;\n }\n\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (succeeded === false) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch (e) {\n reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n}\n\nvar Enumerator = function () {\n function Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate(input);\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n reject(this.promise, validationError());\n }\n }\n\n Enumerator.prototype._enumerate = function _enumerate(input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n };\n\n Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {\n var c = this._instanceConstructor;\n var resolve$$1 = c.resolve;\n\n\n if (resolve$$1 === resolve$1) {\n var _then = void 0;\n var error = void 0;\n var didError = false;\n try {\n _then = entry.then;\n } catch (e) {\n didError = true;\n error = e;\n }\n\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise$1) {\n var promise = new c(noop);\n if (didError) {\n reject(promise, error);\n } else {\n handleMaybeThenable(promise, entry, _then);\n }\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve$$1) {\n return resolve$$1(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$1(entry), i);\n }\n };\n\n Enumerator.prototype._settledAt = function _settledAt(state, i, value) {\n var promise = this.promise;\n\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n };\n\n Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n };\n\n return Enumerator;\n}();\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nfunction all(entries) {\n return new Enumerator(this, entries).promise;\n}\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nfunction race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject$1(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n reject(promise, reason);\n return promise;\n}\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {Function} resolver\n Useful for tooling.\n @constructor\n*/\n\nvar Promise$1 = function () {\n function Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n }\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n Chaining\n --------\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n Assimilation\n ------------\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n If the assimliated promise rejects, then the downstream promise will also reject.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n Simple Example\n --------------\n Synchronous Example\n ```javascript\n let result;\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n Advanced Example\n --------------\n Synchronous Example\n ```javascript\n let author, books;\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n function foundBooks(books) {\n }\n function failure(reason) {\n }\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n\n\n Promise.prototype.catch = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n\n /**\n `finally` will be invoked regardless of the promise's fate just as native\n try/catch/finally behaves\n \n Synchronous example:\n \n ```js\n findAuthor() {\n if (Math.random() > 0.5) {\n throw new Error();\n }\n return new Author();\n }\n \n try {\n return findAuthor(); // succeed or fail\n } catch(error) {\n return findOtherAuther();\n } finally {\n // always runs\n // doesn't affect the return value\n }\n ```\n \n Asynchronous example:\n \n ```js\n findAuthor().catch(function(reason){\n return findOtherAuther();\n }).finally(function(){\n // author was either found, or not\n });\n ```\n \n @method finally\n @param {Function} callback\n @return {Promise}\n */\n\n\n Promise.prototype.finally = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n\n if (isFunction(callback)) {\n return promise.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n throw reason;\n });\n });\n }\n\n return promise.then(callback, callback);\n };\n\n return Promise;\n}();\n\nPromise$1.prototype.then = then;\nPromise$1.all = all;\nPromise$1.race = race;\nPromise$1.resolve = resolve$1;\nPromise$1.reject = reject$1;\nPromise$1._setScheduler = setScheduler;\nPromise$1._setAsap = setAsap;\nPromise$1._asap = asap;\n\n/*global self*/\nfunction polyfill() {\n var local = void 0;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise$1;\n}\n\n// Strange compat..\nPromise$1.polyfill = polyfill;\nPromise$1.Promise = Promise$1;\n\nreturn Promise$1;\n\n})));\n\n\n\n//# sourceMappingURL=es6-promise.map\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(37), __webpack_require__(13)))\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nconst componentTypeNameMapping = {\r\n //'field type key in question schema': 'vue js registered component name',\r\n 'label': 'label-view',\r\n 'text': 'text-input-view',\r\n 'textarea': 'text-input-view',\r\n 'email': 'email-input-view',\r\n 'date': 'date-input-view',\r\n 'phone': 'phone-input-view',\r\n 'money': 'money-input-view',\r\n 'ssn': 'ssn-input-view',\r\n 'dropdown': 'drop-down-view',\r\n 'radio': 'radio-button-view',\r\n 'yesno': 'yesno-button-view',\r\n 'checkbox': 'checkbox-view',\r\n 'checkboxGroupValidator': 'checkbox-group-validator',\r\n 'single-tile': 'single-tile-view',\r\n 'multi-tile': 'multi-tile-view',\r\n 'content': 'content-view',\r\n 'empty': 'empty-view',\r\n 'richContent': 'rich-content-view',\r\n 'lungDisorderComponent': 'lung-Disorder',\r\n 'cancerDiseaseComponent': 'cancer-Disease',\r\n 'heartDiseaseComponent': 'heart-Disease',\r\n 'beneficiaryComponent': 'beneficiary',\r\n 'beneficiaryAllocationComponent': 'beneficiary-Allocation',\r\n 'travelPlanComponent': 'travelPlan',\r\n 'declinedPolicyDetailComponent': 'declined-policy-detail',\r\n 'existingPolicyDetailComponent': 'existing-policy-detail',\r\n 'bankruptcyComponent': 'bankruptcy',\r\n 'familystrokeComponent': 'family-Stroke-History',\r\n 'cancerDiseaseHistoryComponent': 'cancer-disease-history',\r\n 'drivingViolationComponent': 'driving-Violation',\r\n 'paymentComponent': 'payment-component',\r\n 'medicalExamComponent': 'medical-exam',\r\n 'quoteComponent': 'quote',\r\n 'termLengthComponent': 'term-length',\r\n 'heartDiseaseHistoryComponent': 'heart-disease-history',\r\n 'applicationSummaryReviewComponent': 'application-summary-review',\r\n 'addressComponent': 'address-view',\r\n 'personalinforeviewComponent': 'personal-info-review',\r\n 'callUsComponent': 'callUsComponent',\r\n 'giwlCallUsComponent':'giwlCallUsComponent',\r\n 'thankYouComponent': 'thankQComponent',\r\n 'coverageComponent': 'coverageComponent',\r\n 'needsAnalysisComponent': 'needsAnalysisComponent',\r\n 'childrenComponent': 'childrenComponent',\r\n 'analyticsComponent': 'analyticsComponent',\r\n 'selectPickerComponent': 'selectPicker',\r\n 'landingComponent': 'landingComponent',\r\n \"nfibLandingComponent\": \"nfibLandingComponent\",\r\n 'aigQuoteComponent': 'aigQuote',\r\n 'advancedCallUsComponent': 'advancedCallUsComponent',\r\n 'continueApplicationButtonComponent': 'continueApplicationButtonComponent',\r\n 'loginComponent': 'loginComponent',\r\n 'advisorDashboardComponent': 'advisor-dashboard',\r\n 'signApplicationComponent': 'signApplicationComponent',\r\n 'beneficiaryEditableList': 'beneficiary-editable-list-view',\r\n 'coverageSummaryComponent': 'coverageSummaryComponent',\r\n 'applicationSubmissionComponent':'applicationSubmissionComponent',\r\n \"advanceFormComponent\": \"advanceFormComponent\",\r\n 'smartAddressComponent': 'smartAddressComponent',\r\n 'giwlPaymentComponent': 'giwlPaymentComponent',\r\n 'infoSectionComponent': 'infoSectionComponent',\r\n \"smartListComponent\": \"smartListComponent\",\r\n 'inlineSmartFormComponent': 'inlineSmartFormComponent',\r\n 'beneficiaryReviewComponent': 'beneficiaryReviewComponent',\r\n 'quoteEditorComponent': 'quoteEditorComponent',\r\n 'payConnectPaymentComponent': 'payConnectPaymentComponent',\r\n 'consentDialog':'consent-dialog',\r\n 'b2cLanding': 'b2cLanding',\r\n 'faqComponent': 'faqComponent',\r\n 'upsellQuoteComponent': 'upsellQuoteComponent',\r\n 'contentComponent': 'contentComponent',\r\n 'diclosureFormsComponent': 'diclosureFormsComponent',\r\n 'payConnectPaymentViewWithNoAuthComponent': 'payConnectPaymentViewWithNoAuthComponent',\r\n 'paymentReviewAndAuthorizeComponent':'paymentReviewAndAuthorizeComponent'\r\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = componentTypeNameMapping;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Utilities_Utility__ = __webpack_require__(2);\n\r\n\r\n\r\nconst defaultEditcallback = function (editing) { };\r\n\r\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n mixins: [__WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\r\n props: {\r\n formKey: {\r\n type: String,\r\n required: true\r\n },\r\n overridingFormSchema: {\r\n type: Object,\r\n required: false,\r\n default: function () {\r\n return {}\r\n }\r\n },\r\n editCallback: {\r\n type: Function,\r\n required: false,\r\n default: function () {\r\n return defaultEditcallback;\r\n }\r\n },\r\n editMode: {\r\n type: Boolean,\r\n required: false,\r\n default: function () { return false; }\r\n },\r\n dataChangeCallback: {\r\n type: Function,\r\n required: false\r\n },\r\n },\r\n data: function () {\r\n return {\r\n //setup data properties\r\n formSchema: {},\r\n defaultListConfig: {},\r\n defaultListItemFieldsConfig: [],\r\n defaultFormUIConfig: {},\r\n formLoaded: false,\r\n }\r\n },\r\n\r\n mounted() {\r\n this.loadFormSchema();\r\n },\r\n\r\n computed: {\r\n formQuestionGroups() {\r\n this.ensureFormSchema();\r\n const frm = this.formSchema || {};\r\n return frm.groups || [];\r\n },\r\n formDataFields() {\r\n this.ensureFormSchema();\r\n const frm = this.formSchema || {};\r\n return frm.dataFields || [];\r\n },\r\n listConfig() {\r\n this.ensureFormSchema();\r\n const frm = this.formSchema || {};\r\n const data = Object.assign({}, this.defaultListConfig, frm.listConfig || {});\r\n console.log('smartFom::listConfig',data);\r\n return data;\r\n },\r\n listItemFieldsConfig() {\r\n return this.listConfig.fieldsConfig || this.defaultListItemFieldsConfig || [];\r\n },\r\n formUIConfig() {\r\n this.ensureFormSchema();\r\n const frm = this.formSchema || {};\r\n return Object.assign({}, this.defaultFormUIConfig, frm.config || {});\r\n },\r\n },\r\n\r\n methods: {\r\n getFormQuetionPrefix() {\r\n return '';\r\n },\r\n ensureFormSchema() {\r\n if (!this.formLoaded) {\r\n this.loadFormSchema();\r\n }\r\n },\r\n loadFormSchema() {\r\n this.ensureDataKeyParsing();\r\n var frm = this.getFormSchema(this.formKey, this.getFormQuetionPrefix());\r\n this.formSchema = __WEBPACK_IMPORTED_MODULE_1__Utilities_Utility__[\"a\" /* Utility */].merge(frm, this.overridingFormSchema);\r\n if (frm !== undefined) {\r\n this.formLoaded = true;\r\n }\r\n console.log('loadFormSchema', this.formSchema);\r\n //overridingFormSchema\r\n }\r\n }\r\n});\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Plugins_sessionSettingsPlugin__ = __webpack_require__(71);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Constants__ = __webpack_require__(1);\n\r\n\r\n\r\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n\r\n isConfirmed() {\r\n return __WEBPACK_IMPORTED_MODULE_0__Plugins_sessionSettingsPlugin__[\"a\" /* sessionSettings */].getSession(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].SESSION_KEYS.REQUIRE_CONFIRMATION) === __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO;\r\n },\r\n setConfirmed() {\r\n __WEBPACK_IMPORTED_MODULE_0__Plugins_sessionSettingsPlugin__[\"a\" /* sessionSettings */].setSession(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].SESSION_KEYS.REQUIRE_CONFIRMATION, __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO);\r\n },\r\n\r\n isConfirmationNeeded(dataBag) {\r\n //get databag value\r\n const confirmationNeeded = dataBag[__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].SESSION_KEYS.REQUIRE_CONFIRMATION] === __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].YES_NO_OPTION.YES;\r\n //either confirmation is not needed or confirmation is needed and confirmation is obtained\r\n if (confirmationNeeded && this.isConfirmed()) {\r\n return false;\r\n }\r\n else {\r\n return confirmationNeeded;\r\n }\r\n },\r\n});\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(33)(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(171);\nvar createDesc = __webpack_require__(172);\nmodule.exports = __webpack_require__(21) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_routeUtil__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__routes__ = __webpack_require__(64);\n\r\n\r\n\r\n\r\n\r\n\r\nfunction getRoutes(experience, authEnabled) {\r\n var filteredRoutes = __WEBPACK_IMPORTED_MODULE_3__routes__[\"a\" /* routes */];\r\n console.log('getRoutes->filteredRoutes', filteredRoutes);\r\n var mappedRoutes = filteredRoutes.map(function (r, index) {\r\n return {\r\n path: '/' + experience + '/' + r.path,\r\n props: r.props ? true : false,\r\n component: r.component,\r\n meta: r.meta\r\n };\r\n });\r\n return mappedRoutes;\r\n}\r\n\r\nfunction beforeEachRouteHandler(to, from, next) {\r\n console.log('routeUtil->beforeEachRouteHandler', { to, from })\r\n let fromPagePath = from ? from.path : '';\r\n let experience = __WEBPACK_IMPORTED_MODULE_2__Application_services_HttpCommunicationService__[\"a\" /* default */].getExperience();\r\n\r\n if (experience) {\r\n let matched = __WEBPACK_IMPORTED_MODULE_3__routes__[\"a\" /* routes */].some(function (record, index) {\r\n return record.redirectRoute\r\n && ('/'+ experience + '/' + record.path || '').toLowerCase() === (fromPagePath || '').toLowerCase();\r\n });\r\n if (matched) {\r\n to.meta.specialRoute = true;\r\n console.log('routeUtil->beforeEachRouteHandler->matched', { to, from })\r\n }\r\n }\r\n\r\n next();\r\n}\r\n\r\nfunction afterEachRouteHandler(to, from) {\r\n console.log('routeUtil->afterEachRouteHandler->')\r\n}\r\n\r\n\r\nfunction navigateToLogin(router) {\r\n console.log('navigateToLogin->Vue', __WEBPACK_IMPORTED_MODULE_1_vue__[\"a\" /* default */])\r\n}\r\n\r\nfunction navigateToRegister(router) {\r\n console.log('navigateToRegister->Vue', __WEBPACK_IMPORTED_MODULE_1_vue__[\"a\" /* default */])\r\n}\r\n\r\nfunction navigateToApplicationStatus(router, status) {\r\n console.log('navigateToApplicationStatus')\r\n}\r\n\r\n\r\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n routes: __WEBPACK_IMPORTED_MODULE_3__routes__[\"a\" /* routes */],\r\n getRoutes,\r\n isLocalRoute: __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_routeUtil__[\"a\" /* default */].isLocalRoute,\r\n navigateToPage: __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_routeUtil__[\"a\" /* default */].navigateToPage,\r\n configureRoutes: __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_routeUtil__[\"a\" /* default */].configureRoutes,\r\n getConfigredRoutes: __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_routeUtil__[\"a\" /* default */].getConfigredRoutes,\r\n beforeEachRouteHandler,\r\n afterEachRouteHandler,\r\n navigateToLogin,\r\n navigateToRegister,\r\n navigateToApplicationStatus,\r\n});\n\n/***/ }),\n/* 24 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__services_HttpCommunicationService__ = __webpack_require__(4);\n\r\n\r\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n data: function () {\r\n return {\r\n componentIdentifier: '',\r\n dynamicData: {},\r\n dynamicContentLoaded: true,\r\n dynamicContentKeys:[]\r\n };\r\n },\r\n methods: {\r\n loadDynamicContent(componentIdentifier, properties) {\r\n componentIdentifier = componentIdentifier || this.componentIdentifier;\r\n properties = properties || this.dynamicContentKeys;\r\n\r\n const $this = this;\r\n var propsValue = properties;\r\n //,successCallback, failureCallback\r\n //if properties is array then convert to comma separated string\r\n if (Array.isArray(properties)) {\r\n propsValue = properties.join(',');\r\n }\r\n\r\n console.log('loadDynamicContent', { componentIdentifier, propsValue });\r\n \r\n $this.dynamicContentLoaded = false;\r\n __WEBPACK_IMPORTED_MODULE_0__services_HttpCommunicationService__[\"a\" /* default */].getDynamicContent(\r\n {\r\n key: componentIdentifier,\r\n properties: propsValue\r\n },\r\n //successCallback\r\n (data) => {\r\n $this.dynamicData = data;\r\n $this.dynamicContentLoaded = true;\r\n },\r\n //failureCallback\r\n (error) => {\r\n $this.dynamicContentLoaded = true;\r\n });\r\n }\r\n }\r\n});\n\n/***/ }),\n/* 25 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Shared_Constants__ = __webpack_require__(1);\n\r\n\r\n\r\n\r\nconst ValidateOnNextMixin = {\r\n\r\n data: function () {\r\n return {\r\n validateOnNext: false,\r\n pageLevel: false,\r\n componentKey: '',\r\n validationOrder: 0 //default order, validation will be in random order, \r\n //determined by component registeration in page\r\n //any positive value will determine order i.e. 1 then 2 then 3 etc\r\n };\r\n },\r\n created() {\r\n console.log('ValidateOnNextMixin:created');\r\n this.attachValidateOnNextEventHandler();\r\n },\r\n destroyed() {\r\n console.log('ValidateOnNextMixin:destroyed');\r\n\r\n this.detachValidateOnNextEventHandler();\r\n this.deregisterSelfForValidationOnNext();\r\n\r\n },\r\n mounted() {\r\n this.registerSelfForValidationOnNext();\r\n },\r\n methods: {\r\n registerSelfForValidationOnNext() {\r\n //register self for onNext button validation\r\n if (this.validateOnNext) {\r\n //broacast registration event for registration\r\n console.log('Broadcasting registration event for componet on next button click for componentKey:' + this.componentKey);\r\n if (!this.componentKey) {\r\n this.componentKey = __WEBPACK_IMPORTED_MODULE_1__Shared_Utilities_Utility__[\"a\" /* Utility */].newGuid();\r\n }\r\n this.broadCastRegisterComponentForValidationOnNext({\r\n nameKey: this.nameKey,\r\n componentKey: this.componentKey,\r\n pageLevel: this.pageLevel,\r\n validationOrder: this.validationOrder\r\n });\r\n }\r\n },\r\n deregisterSelfForValidationOnNext() {\r\n //unregister component when destroyed\r\n if (this.validateOnNext) {\r\n //broadcast registration event for validation\r\n this.broadCastRegisterComponentForValidationOnNext({\r\n componentKey: this.componentKey,\r\n unregister: true\r\n });\r\n }\r\n },\r\n //events\r\n attachValidateOnNextEventHandler() {\r\n console.log('VlidateOnNextMixin=>registerValidateOnNextEventHandler');\r\n this.$eventBus.$on(__WEBPACK_IMPORTED_MODULE_2__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.VALIDATE_ON_NEXT, this.__onValidateOnNextInternal);\r\n },\r\n detachValidateOnNextEventHandler() {\r\n this.$eventBus.$off(__WEBPACK_IMPORTED_MODULE_2__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.VALIDATE_ON_NEXT, this.__onValidateOnNextInternal);\r\n },\r\n broadCastValidateOnNextCompleted(data) {\r\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_2__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.VALIDATE_ON_NEXT_COMPLETED, data);\r\n },\r\n broadCastRegisterComponentForValidationOnNext(data) {\r\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_2__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.REGISTER_COMPONENT_FOR_VALIDATION_ON_NEXT, data);\r\n },\r\n //on next validation related method\r\n __onValidateOnNextInternal(evtData) {\r\n console.log('evtData component key : ', evtData.componentKey);\r\n console.log('this component key : ', this.componentKey);\r\n if (evtData && evtData.componentKey === this.componentKey) {\r\n this.onValidateOnNext(evtData, this.__validateOnNextCompletedCallback);\r\n }\r\n },\r\n __validateOnNextCompletedCallback(data) {\r\n var consolidatedData = Object.assign(data || {}, { componentKey: this.componentKey });\r\n //provide feedback that validation is completed, \r\n this.broadCastValidateOnNextCompleted(consolidatedData);\r\n },\r\n ///this need to be overidden in derived component to do actual task and then provide feedback about task completion\r\n onValidateOnNext(evtData, completionCallback) {\r\n console.log(\"ComponentBaseMixin=>ValidateOnNext\", evtData, this);\r\n if (completionCallback) {\r\n completionCallback();\r\n }\r\n }\r\n }\r\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = ValidateOnNextMixin;\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = observeDom;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = postForm;\n\r\nfunction observeDom(containerSelector, elementSelector, callback) {\r\n\r\n var onMutationsObserved = function(mutations) {\r\n mutations.forEach(function(mutation) {\r\n if (mutation.addedNodes.length) {\r\n var elements = $(mutation.addedNodes).find(elementSelector);\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n callback(elements[i]);\r\n }\r\n }\r\n });\r\n };\r\n\r\n var target = $(containerSelector)[0];\r\n var config = { childList: true, subtree: true };\r\n var mutationObserver = window.MutationObserver || window.WebKitMutationObserver;\r\n var observer = new mutationObserver(onMutationsObserved); \r\n observer.observe(target, config);\r\n\r\n}\r\n\r\nfunction postForm(formInfo, dialogService) {\r\n const method = \"post\"; // Set method to post by default if not specified.\r\n // The rest of this code assumes you are not using a library.\r\n // It can be made less wordy if you use one.\r\n var form = document.createElement(\"form\");\r\n form.setAttribute(\"method\", method);\r\n form.setAttribute(\"action\", formInfo.action);\r\n\r\n const params = Object.assign({}, formInfo.dataDictionary);\r\n\r\n for (var key in params) {\r\n if (params.hasOwnProperty(key)) {\r\n var hiddenField = document.createElement(\"input\");\r\n hiddenField.setAttribute(\"type\", \"hidden\");\r\n hiddenField.setAttribute(\"name\", key);\r\n hiddenField.setAttribute(\"value\", params[key]);\r\n form.appendChild(hiddenField);\r\n }\r\n }\r\n document.body.appendChild(form);\r\n form.submit();\r\n //remove form from body\r\n if (dialogService) {\r\n dialogService.showProcessingDialog(formInfo.processingMessage || '');\r\n }\r\n}\r\n\r\n/*\r\nonElementInserted('body', '.myTargetElement', function(element) {\r\n console.log(element);\r\n});\r\n*/\n\n/***/ }),\n/* 27 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n prefix: '',\r\n suffix: '',\r\n thousands: ',',\r\n decimal: '.',\r\n precision: 2\r\n});\r\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = __webpack_require__(36)('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(22)(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = __webpack_require__(31);\nvar IObject = __webpack_require__(168);\nvar toObject = __webpack_require__(176);\nvar toLength = __webpack_require__(175);\nvar asc = __webpack_require__(162);\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(159);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(12);\nvar core = __webpack_require__(11);\nvar hide = __webpack_require__(22);\nvar redefine = __webpack_require__(173);\nvar ctx = __webpack_require__(31);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(11);\nvar global = __webpack_require__(12);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __webpack_require__(170) ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(34)('wks');\nvar uid = __webpack_require__(35);\nvar Symbol = __webpack_require__(12).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(86),\n /* template */\n __webpack_require__(278),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\nComponent.options.__file = \"E:\\\\jh\\\\a1-8\\\\211fd6b4\\\\workspace\\\\mastere1b7bf6e\\\\OIPPWeb\\\\VueJsSrc\\\\ADD\\\\components\\\\BeneficiaryListComponent.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key !== \"__esModule\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] BeneficiaryListComponent.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-458eba24\", Component.options)\n } else {\n hotAPI.reload(\"data-v-458eba24\", Component.options)\n }\n})()}\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(97),\n /* template */\n __webpack_require__(254),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\nComponent.options.__file = \"E:\\\\jh\\\\a1-8\\\\211fd6b4\\\\workspace\\\\mastere1b7bf6e\\\\OIPPWeb\\\\VueJsSrc\\\\Application\\\\components\\\\BeneficiaryAllocationViewComponent.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key !== \"__esModule\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] BeneficiaryAllocationViewComponent.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-0f4a2714\", Component.options)\n } else {\n hotAPI.reload(\"data-v-0f4a2714\", Component.options)\n }\n})()}\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(106),\n /* template */\n __webpack_require__(284),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\nComponent.options.__file = \"E:\\\\jh\\\\a1-8\\\\211fd6b4\\\\workspace\\\\mastere1b7bf6e\\\\OIPPWeb\\\\VueJsSrc\\\\Application\\\\components\\\\PageComponent.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key !== \"__esModule\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] PageComponent.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-51d10cbb\", Component.options)\n } else {\n hotAPI.reload(\"data-v-51d10cbb\", Component.options)\n }\n})()}\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(107),\n /* template */\n __webpack_require__(303),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\nComponent.options.__file = \"E:\\\\jh\\\\a1-8\\\\211fd6b4\\\\workspace\\\\mastere1b7bf6e\\\\OIPPWeb\\\\VueJsSrc\\\\Application\\\\components\\\\PersonalInfoReviewComponent.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key !== \"__esModule\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] PersonalInfoReviewComponent.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-7a6d1038\", Component.options)\n } else {\n hotAPI.reload(\"data-v-7a6d1038\", Component.options)\n }\n})()}\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(111),\n /* template */\n __webpack_require__(296),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\nComponent.options.__file = \"E:\\\\jh\\\\a1-8\\\\211fd6b4\\\\workspace\\\\mastere1b7bf6e\\\\OIPPWeb\\\\VueJsSrc\\\\Shared\\\\components\\\\AdvanceFormComponent.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key !== \"__esModule\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] AdvanceFormComponent.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-64458f4d\", Component.options)\n } else {\n hotAPI.reload(\"data-v-64458f4d\", Component.options)\n }\n})()}\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(118),\n /* template */\n __webpack_require__(258),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\nComponent.options.__file = \"E:\\\\jh\\\\a1-8\\\\211fd6b4\\\\workspace\\\\mastere1b7bf6e\\\\OIPPWeb\\\\VueJsSrc\\\\Shared\\\\components\\\\DSULoginRegistrationComponent.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key !== \"__esModule\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] DSULoginRegistrationComponent.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-15b07cca\", Component.options)\n } else {\n hotAPI.reload(\"data-v-15b07cca\", Component.options)\n }\n})()}\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(125),\n /* template */\n __webpack_require__(295),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\nComponent.options.__file = \"E:\\\\jh\\\\a1-8\\\\211fd6b4\\\\workspace\\\\mastere1b7bf6e\\\\OIPPWeb\\\\VueJsSrc\\\\Shared\\\\components\\\\FormComponent.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key !== \"__esModule\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] FormComponent.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-6325f373\", Component.options)\n } else {\n hotAPI.reload(\"data-v-6325f373\", Component.options)\n }\n})()}\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(130),\n /* template */\n __webpack_require__(324),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\nComponent.options.__file = \"E:\\\\jh\\\\a1-8\\\\211fd6b4\\\\workspace\\\\mastere1b7bf6e\\\\OIPPWeb\\\\VueJsSrc\\\\Shared\\\\components\\\\ListComponent.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key !== \"__esModule\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] ListComponent.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-f6bc3c4e\", Component.options)\n } else {\n hotAPI.reload(\"data-v-f6bc3c4e\", Component.options)\n }\n})()}\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(140),\n /* template */\n __webpack_require__(322),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\nComponent.options.__file = \"E:\\\\jh\\\\a1-8\\\\211fd6b4\\\\workspace\\\\mastere1b7bf6e\\\\OIPPWeb\\\\VueJsSrc\\\\Shared\\\\components\\\\RendererComponent.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key !== \"__esModule\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] RendererComponent.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-eff57658\", Component.options)\n } else {\n hotAPI.reload(\"data-v-eff57658\", Component.options)\n }\n})()}\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(147),\n /* template */\n __webpack_require__(302),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\nComponent.options.__file = \"E:\\\\jh\\\\a1-8\\\\211fd6b4\\\\workspace\\\\mastere1b7bf6e\\\\OIPPWeb\\\\VueJsSrc\\\\Shared\\\\components\\\\SmartAddressComponent.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key !== \"__esModule\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] SmartAddressComponent.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-7991bbac\", Component.options)\n } else {\n hotAPI.reload(\"data-v-7991bbac\", Component.options)\n }\n})()}\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n //installed: false,\r\n\r\n install(Vue, options) {\r\n console.log(\"registering application data plugin\");\r\n //if (install.installed) return\r\n //install.installed = true\r\n\r\n var applicationData = {\r\n sessionId: '',\r\n startpage: '',\r\n googleAnalyticCode: '',\r\n experience: ''\r\n };\r\n\r\n //Change Global Vue Object\r\n //This is added to access data on Global Vue object without creating instance\r\n Vue.getApplicationData = function () {\r\n return applicationData;\r\n }\r\n\r\n //modify Vue instance\r\n Object.defineProperty(Vue.prototype, '$applicationData', {\r\n get() { return applicationData }\r\n })\r\n }\r\n});\n\n/***/ }),\n/* 49 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n //installed: false,\r\n\r\n install(Vue, options) {\r\n console.log(\"registering event bus\");\r\n //if (install.installed) return\r\n //install.installed = true\r\n\r\n var eventBus = new Vue();\r\n\r\n Object.defineProperty(Vue.prototype, '$eventBus', {\r\n get() { return eventBus }\r\n })\r\n }\r\n});\n\n/***/ }),\n/* 50 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n //installed: false,\r\n enabled: false,\r\n\r\n install(Vue, options) {\r\n console.log(\"registering googleAnalytic\");\r\n\r\n var googleAnalytic = {\r\n constructor() {\r\n this.configured = false;\r\n this.trackingId = '';\r\n },\r\n getGA() {\r\n return window.ga;\r\n },\r\n startTracking(trackingId) {\r\n if (!this.enabled) {\r\n return;\r\n }\r\n var ga = this.getGA();\r\n if (!ga || trackingId == null || trackingId == '') {\r\n console.error(\"Either Google analytic js is not loaded or trackingId is null/empty.\");\r\n return;\r\n }\r\n\r\n if (!this.configured) {\r\n this.trackingId = trackingId;\r\n ga('create', trackingId, 'auto');\r\n this.configured = true;\r\n console.log(\"GoogleAnalytic startTracking\");\r\n }\r\n },\r\n sendPageView(pageUrl) {\r\n if (!this.enabled) {\r\n return;\r\n }\r\n if (this.configured) {\r\n var ga = this.getGA();\r\n ga('set', 'page', pageUrl);\r\n ga('send', 'pageview');\r\n console.log(\"GoogleAnalytic sendPageView\");\r\n }\r\n else {\r\n console.error(\"Please call startTracking to initialize tracking\");\r\n }\r\n }\r\n };\r\n\r\n Object.defineProperty(Vue.prototype, '$googleAnalytic', {\r\n get() { return googleAnalytic }\r\n })\r\n }\r\n});\n\n/***/ }),\n/* 51 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n //installed: false,\r\n\r\n install(Vue, options) {\r\n console.log(\"registering navigation state\");\r\n //if (install.installed) return\r\n //install.installed = true\r\n\r\n var navigationState = {\r\n\r\n };\r\n\r\n Object.defineProperty(Vue.prototype, '$navigationState', {\r\n get() { return navigationState }\r\n })\r\n }\r\n});\n\n/***/ }),\n/* 52 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n\r\n install(Vue, options) {\r\n console.log(\"registering SessionCamPlugin\");\r\n\r\n var sessionCam = {\r\n constructor() {\r\n this.configured = false;\r\n },\r\n\r\n createVirtualPageLoad(pageUrl) {\r\n var recorder = window.sessionCamRecorder;\r\n if (recorder && recorder.createVirtualPageLoad) {\r\n recorder.createVirtualPageLoad(pageUrl);\r\n console.log(\"SessionCam createVirtualPageLoad:\" + pageUrl);\r\n }\r\n else {\r\n console.log(\"No SessionCam recorder found.\");\r\n }\r\n }\r\n };\r\n\r\n Object.defineProperty(Vue.prototype, '$sessionCam', {\r\n get() { return sessionCam }\r\n })\r\n }\r\n});\n\n/***/ }),\n/* 53 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n //installed: false,\r\n enabled: false,\r\n\r\n install(Vue, options) {\r\n console.log(\"registering SiteCatalyst\");\r\n\r\n var siteCatalyst = {\r\n constructor() {\r\n this.configured = false;\r\n this.marketingParameter = '';\r\n },\r\n getObject() {\r\n return s || window.s;\r\n },\r\n\r\n startTracking(marketingParameter) {\r\n if (!this.enabled) {\r\n return;\r\n }\r\n var sObject = this.getObject();\r\n if (!sObject || marketingParameter == null) {\r\n console.error(\"Either SiteCatalyst js is not loaded or marketingParameter is null.\");\r\n return;\r\n }\r\n this.marketingParameter = marketingParameter;\r\n this.configured = true;\r\n console.log(\"SiteCatalyst startTracking\");\r\n },\r\n trackPageView() {\r\n if (!this.enabled) {\r\n return;\r\n }\r\n var sObject = this.getObject();\r\n if (this.configured) {\r\n console.log(\"SiteCatalyst trackPageView\");\r\n\r\n sObject.pageName = document.title\r\n sObject.eVar16 = \"\"\r\n sObject.prop17 = \"\"\r\n sObject.prop28 = this.marketingParameter.subMarketerCode3\r\n sObject.prop30 = \"Americas\"\r\n sObject.prop31 = \"United States\"\r\n sObject.prop32 = \"Individuals/Families\"\r\n sObject.prop33 = \"en\"\r\n\r\n /* Conversion Variables */\r\n sObject.events = \"\" //=\"event7\" on thank you page only\r\n sObject.eVar41 = \"\"\r\n sObject.prop16 = '' // Enter value of Search Term here\r\n sObject.prop17 = \"\" // Enter number of search results here\r\n\r\n /* Conversion Variables */\r\n sObject.prop41 = this.marketingParameter.dnis // Enter value for DNIS from cookie or query string \r\n sObject.prop42 = sObject.prop41 + \" | \" + sObject.pageName\r\n\r\n sObject.events = \"\";\r\n\r\n sObject.prop43 = this.marketingParameter.subMarketerCode1 // Enter value for Sub Marketer Code 1 from cookie or query string \r\n sObject.prop53 = sObject.prop43 + \" | \" + sObject.pageName\r\n\r\n sObject.prop44 = this.marketingParameter.subMarketerCode2 // Enter value for Sub Marketer Code 2 or CMPID from cookie or query string \r\n sObject.prop54 = sObject.prop44 + \" | \" + sObject.pageName\r\n\r\n sObject.prop45 = this.marketingParameter.subMarketerCode3 // Enter value for Sub Marketer Code 3 from cookie or query string \r\n sObject.prop55 = sObject.prop45 + \" | \" + sObject.pageName\r\n\r\n sObject.prop49 = this.marketingParameter.transactionId // Enter value for Transaction ID from cookie or query string \r\n sObject.prop59 = sObject.prop49 + \" | \" + sObject.pageName\r\n\r\n sObject.eVar75 = this.marketingParameter.sessionId\r\n\r\n /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/\r\n var s_code = sObject.t();\r\n if (s_code) {\r\n document.write(s_code)\r\n }\r\n }\r\n else {\r\n console.error(\"Please initialize SiteCatalyst by calling startTracking.\");\r\n }\r\n }\r\n };\r\n\r\n Object.defineProperty(Vue.prototype, '$siteCatalyst', {\r\n get() { return siteCatalyst }\r\n })\r\n }\r\n});\n\n/***/ }),\n/* 54 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nconst adrumInitilize = () => {\r\n return window['adrum-config'] !== undefined;\r\n};\r\n\r\nconst stopUsingAdrum = false;\r\n\r\nconst adrumAgentWrapper = {\r\n pageView: null,\r\n stopped: true,\r\n //time when page load is triggered like next page click\r\n pageLoading(url) {\r\n if (stopUsingAdrum) {\r\n return;\r\n }\r\n try {\r\n if (!adrumInitilize()) {\r\n return;\r\n }\r\n if (!this.stopped) {\r\n this.stopCorrelatingPageRequest();\r\n }\r\n this.pageView = new ADRUM.events.VPageView({\r\n url: url\r\n });\r\n this.pageView.markVirtualPageStart();\r\n this.pageView.startCorrelatingXhrs();\r\n this.stopped = false;\r\n console.log('Adrum::pageView.start()', this.pageView);\r\n } catch (e) {\r\n console.error('Adrum:pageLoading', e);\r\n }\r\n },\r\n pageLoaded(url) {\r\n if (stopUsingAdrum) {\r\n return;\r\n }\r\n try {\r\n //page load complete events\r\n if (this.pageView !== null) {\r\n this.pageView.markVirtualPageEnd();\r\n console.log('Adrum::pageView.end()', this.pageView);\r\n }\r\n } catch (e) {\r\n console.error('Adrum:pageLoaded', e);\r\n }\r\n },\r\n stopCorrelatingPageRequest() {\r\n try {\r\n if (this.pageView !== null) {\r\n this.pageView.stopCorrelatingXhrs();\r\n ADRUM.report(this.pageView);\r\n console.log('Adrum::pageView.stopCorrelatingXhrs()', this.pageView);\r\n this.stopped = true;\r\n };\r\n } catch (e) {\r\n console.error('Adrum:stopCorrelatingPageRequest', e);\r\n }\r\n },\r\n reportError(errorMessage) {\r\n try {\r\n if (!adrumInitilize()) {\r\n return;\r\n }\r\n ADRUM.report(new ADRUM.events.Error({\r\n msg: errorMessage || '',\r\n line: error.line || 0,\r\n }));\r\n } catch (e) {\r\n console.error('Adrum:reportError', e);\r\n }\r\n }\r\n};\n/* unused harmony export adrumAgentWrapper */\n\r\n\r\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n //installed: false,\r\n\r\n install(Vue, options) {\r\n console.log(\"registering AppDynamics RUM plugin\");\r\n\r\n //Change Global Vue Object\r\n //This is added to access data on Global Vue object without creating instance\r\n Vue.adrum = function () {\r\n return adrumAgentWrapper;\r\n };\r\n\r\n //modify Vue instance\r\n Object.defineProperty(Vue.prototype, '$adrum', {\r\n get() { return adrumAgentWrapper }\r\n });\r\n }\r\n});\n\n/***/ }),\n/* 55 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return VueMaskPlugin; });\n/* unused harmony export VueMaskPlugin */\n/* unused harmony export VueMaskDirective */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__format_js__ = __webpack_require__(74);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_index_js__ = __webpack_require__(75);\n\r\n\r\n\r\n/**\r\n * Event handler\r\n * @param {HTMLInputElement} el\r\n * @param {Boolean} force\r\n */\r\nfunction updateValue(el, force = false) {\r\n let value = el.value;\r\n let previousValue = '';\r\n let mask = '';\r\n\r\n //let {value, dataset: {previousValue = \"\", mask } } = el;\r\n if (el.dataset) {\r\n previousValue = el.dataset.previousValue || '';\r\n mask = el.dataset.mask;\r\n }\r\n else {\r\n previousValue = el.getAttribute('data-previous-value') || '';\r\n mask = el.getAttribute('data-mask');\r\n }\r\n\r\n if (force || (value && value !== previousValue && value.length > previousValue.length)) {\r\n el.value = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__format_js__[\"a\" /* default */])(value, mask);\r\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__utils_index_js__[\"a\" /* trigger */])(el, 'input')\r\n }\r\n\r\n //el.dataset.previousValue = value;\r\n if (el.dataset) {\r\n el.dataset.previousValue = value;\r\n }\r\n else {\r\n el.setAttribute('data-previous-value', value);\r\n }\r\n}\r\n\r\n/**\r\n * Fires on handler update\r\n * @param {HTMLInputElement} el\r\n * @param {String} mask\r\n */\r\nfunction updateMask(el, mask) {\r\n // change format\r\n if (el.dataset) {\r\n el.dataset.mask = mask;\r\n }\r\n else {\r\n el.setAttribute('data-mask', mask);\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Vue directive definition\r\n */\r\nconst VueMaskDirective = {\r\n\r\n /**\r\n * Called only once, when the directive is first bound to the element.\r\n * This is where you can do one-time setup work.\r\n *\r\n * @param {HTMLInputElement} el\r\n * @param {?String} value\r\n */\r\n bind(el, {value}) {\r\n updateMask(el, value);\r\n updateValue(el);\r\n },\r\n\r\n /**\r\n * Called after the containing component has updated,\r\n * but possibly before its children have updated.\r\n * The directive’s value may or may not have changed,\r\n * but you can skip unnecessary updates by comparing the\r\n * binding’s current and old values.\r\n *\r\n * @param {HTMLInputElement} el\r\n * @param {?String} value\r\n * @param {?String} oldValue\r\n */\r\n componentUpdated(el, {value, oldValue}) {\r\n\r\n let isMaskChanged = value !== oldValue;\r\n\r\n // update mask first if changed\r\n if (isMaskChanged) {\r\n updateMask(el, value);\r\n }\r\n\r\n // update value\r\n updateValue(el, isMaskChanged);\r\n }\r\n};\r\n\r\n\r\n/**\r\n * Vue plugin definition\r\n * @param {Vue} Vue\r\n */\r\nconst VueMaskPlugin = function (Vue) {\r\n Vue.directive('mask', VueMaskDirective);\r\n};\r\n\r\n\r\n\r\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = dropConsole;\nfunction dropConsole() {\r\n console.log('dropConsole ' + \"production\")\r\n if (true) {\r\n console.log('console is dropped in ' + \"production\")\r\n console.log = () => { };\r\n console.debug = () => { };\r\n console.info = () => { };\r\n console.warn = () => { };\r\n }\r\n else {\r\n console.log('console is not dropped in ' + process.env.NODE_ENV)\r\n }\r\n}\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(178);\nmodule.exports = __webpack_require__(11).Array.findIndex;\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(179);\nmodule.exports = __webpack_require__(11).Array.find;\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Code refactored from Mozilla Developer Network:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n */\n\n\n\nfunction assign(target, firstSource) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert first argument to object');\n }\n\n var to = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var nextSource = arguments[i];\n if (nextSource === undefined || nextSource === null) {\n continue;\n }\n\n var keysArray = Object.keys(Object(nextSource));\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n return to;\n}\n\nfunction polyfill() {\n if (!Object.assign) {\n Object.defineProperty(Object, 'assign', {\n enumerable: false,\n configurable: true,\n writable: true,\n value: assign\n });\n }\n}\n\nmodule.exports = {\n assign: assign,\n polyfill: polyfill\n};\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {(function (global, factory) {\n\t true ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.VueForm = factory());\n}(this, (function () { 'use strict';\n\nvar emailRegExp = /^[a-z0-9!#$%&'*+\\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i; // from angular\nvar urlRegExp = /^(http\\:\\/\\/|https\\:\\/\\/)(.{4,})$/;\n\nvar email = function email(value, attrValue, vnode) {\n return emailRegExp.test(value);\n};\nemail._allowNulls = true;\n\nvar number = function number(value, attrValue, vnode) {\n return !isNaN(value);\n};\nnumber._allowNulls = true;\n\nvar url = function url(value, attrValue, vnode) {\n return urlRegExp.test(value);\n};\nurl._allowNulls = true;\n\nvar validators = {\n email: email,\n number: number,\n url: url,\n required: function required(value, attrValue, vnode) {\n if (attrValue === false) {\n return true;\n }\n\n if (value === 0) {\n return true;\n }\n\n if (vnode.data.attrs && typeof vnode.data.attrs.bool !== 'undefined' || vnode.componentOptions && vnode.componentOptions.propsData && typeof vnode.componentOptions.propsData.bool !== 'undefined') {\n // bool attribute is present, allow false pass validation\n if (value === false) {\n return true;\n }\n }\n\n if (Array.isArray(value)) {\n return !!value.length;\n }\n return !!value;\n },\n minlength: function minlength(value, length) {\n return value.length >= length;\n },\n maxlength: function maxlength(value, length) {\n return length >= value.length;\n },\n pattern: function pattern(value, _pattern) {\n var patternRegExp = new RegExp('^' + _pattern + '$');\n return patternRegExp.test(value);\n },\n min: function min(value, _min, vnode) {\n if ((vnode.data.attrs.type || '').toLowerCase() == 'number') {\n return +value >= +_min;\n }\n return value >= _min;\n },\n max: function max(value, _max, vnode) {\n if ((vnode.data.attrs.type || '').toLowerCase() == 'number') {\n return +_max >= +value;\n }\n return _max >= value;\n }\n};\n\nvar config = {\n validators: validators,\n formComponent: 'VueForm',\n formTag: 'form',\n messagesComponent: 'FieldMessages',\n messagesTag: 'div',\n showMessages: '',\n validateComponent: 'Validate',\n validateTag: 'div',\n fieldComponent: 'Field',\n fieldTag: 'div',\n formClasses: {\n dirty: 'vf-form-dirty',\n pristine: 'vf-form-pristine',\n valid: 'vf-form-valid',\n invalid: 'vf-form-invalid',\n touched: 'vf-form-touched',\n untouched: 'vf-form-untouched',\n focused: 'vf-form-focused',\n submitted: 'vf-form-submitted',\n pending: 'vf-form-pending'\n },\n validateClasses: {\n dirty: 'vf-field-dirty',\n pristine: 'vf-field-pristine',\n valid: 'vf-field-valid',\n invalid: 'vf-field-invalid',\n touched: 'vf-field-touched',\n untouched: 'vf-field-untouched',\n focused: 'vf-field-focused',\n submitted: 'vf-field-submitted',\n pending: 'vf-field-pending'\n },\n inputClasses: {\n dirty: 'vf-dirty',\n pristine: 'vf-pristine',\n valid: 'vf-valid',\n invalid: 'vf-invalid',\n touched: 'vf-touched',\n untouched: 'vf-untouched',\n focused: 'vf-focused',\n submitted: 'vf-submitted',\n pending: 'vf-pending'\n },\n Promise: typeof Promise === 'function' ? Promise : null\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nfunction getClasses(classConfig, state) {\n var _ref;\n\n return _ref = {}, defineProperty(_ref, classConfig.dirty, state.$dirty), defineProperty(_ref, classConfig.pristine, state.$pristine), defineProperty(_ref, classConfig.valid, state.$valid), defineProperty(_ref, classConfig.invalid, state.$invalid), defineProperty(_ref, classConfig.touched, state.$touched), defineProperty(_ref, classConfig.untouched, state.$untouched), defineProperty(_ref, classConfig.focused, state.$focused), defineProperty(_ref, classConfig.pending, state.$pending), defineProperty(_ref, classConfig.submitted, state.$submitted), _ref;\n}\n\nfunction addClass(el, className) {\n if (el.classList) {\n el.classList.add(className);\n } else {\n el.className += ' ' + className;\n }\n}\n\nfunction removeClass(el, className) {\n if (el.classList) {\n el.classList.remove(className);\n } else {\n el.className = el.className.replace(new RegExp('(^|\\\\b)' + className.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\n }\n}\n\nfunction vModelValue(data) {\n if (data.model) {\n return data.model.value;\n }\n return data.directives.filter(function (v) {\n return v.name === 'model';\n })[0].value;\n}\n\nfunction getVModelAndLabel(nodes, config) {\n var foundVnodes = {\n vModel: [],\n label: null,\n messages: null\n };\n\n if (!nodes) {\n return foundVnodes;\n }\n\n function traverse(nodes) {\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n\n if (node.componentOptions) {\n if (node.componentOptions.tag === hyphenate(config.messagesComponent)) {\n foundVnodes.messages = node;\n }\n }\n\n if (node.tag === 'label' && !foundVnodes.label) {\n foundVnodes.label = node;\n }\n\n if (node.data) {\n if (node.data.model) {\n // model check has to come first. If a component has\n // a directive and v-model, the directive will be in .directives\n // and v-modelstored in .model\n foundVnodes.vModel.push(node);\n } else if (node.data.directives) {\n var match = node.data.directives.filter(function (v) {\n return v.name === 'model';\n });\n if (match.length) {\n foundVnodes.vModel.push(node);\n }\n }\n }\n if (node.children) {\n traverse(node.children);\n } else if (node.componentOptions && node.componentOptions.children) {\n traverse(node.componentOptions.children);\n }\n }\n }\n\n traverse(nodes);\n\n return foundVnodes;\n}\n\nfunction getName(vnode) {\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.name) {\n return vnode.data.attrs.name;\n } else if (vnode.componentOptions && vnode.componentOptions.propsData && vnode.componentOptions.propsData.name) {\n return vnode.componentOptions.propsData.name;\n }\n}\n\nvar hyphenateRE = /([^-])([A-Z])/g;\nfunction hyphenate(str) {\n return str.replace(hyphenateRE, '$1-$2').replace(hyphenateRE, '$1-$2').toLowerCase();\n}\n\nfunction randomId() {\n return Math.random().toString(36).substr(2, 10);\n}\n\n// https://davidwalsh.name/javascript-debounce-function\nfunction debounce(func, wait, immediate) {\n var timeout;\n return function () {\n var context = this,\n args = arguments;\n var later = function later() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n}\n\nfunction isShallowObjectDifferent(a, b) {\n var aValue = '';\n var bValue = '';\n Object.keys(a).sort().filter(function (v) {\n return typeof a[v] !== 'function';\n }).forEach(function (v) {\n return aValue += a[v];\n });\n Object.keys(b).sort().filter(function (v) {\n return typeof a[v] !== 'function';\n }).forEach(function (v) {\n return bValue += b[v];\n });\n return aValue !== bValue;\n}\n\nvar vueFormConfig = 'VueFormProviderConfig' + randomId();\nvar vueFormState = 'VueFormProviderState' + randomId();\nvar vueFormParentForm = 'VueFormProviderParentForm' + randomId();\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty$1 = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty$1 && options.name === '__proto__') {\n\t\tdefineProperty$1(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nvar extend = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\nvar vueForm = {\n render: function render(h) {\n var _this = this;\n\n var attrs = {};\n\n if (typeof window !== 'undefined') {\n attrs.novalidate = '';\n }\n\n return h(this.tag || this.vueFormConfig.formTag, {\n on: {\n submit: function submit(event) {\n if (_this.state.$pending) {\n event.preventDefault();\n _this.vueFormConfig.Promise.all(_this.promises).then(function () {\n _this.state._submit();\n _this.$emit('submit', event);\n _this.promises = [];\n });\n } else {\n _this.state._submit();\n _this.$emit('submit', event);\n }\n },\n reset: function reset(event) {\n _this.state._reset();\n _this.$emit('reset', event);\n }\n },\n class: this.className,\n attrs: attrs\n }, [this.$slots.default]);\n },\n\n props: {\n state: {\n type: Object,\n required: true\n },\n tag: String,\n showMessages: String\n },\n inject: { vueFormConfig: vueFormConfig },\n provide: function provide() {\n var _ref;\n\n return _ref = {}, defineProperty(_ref, vueFormState, this.state), defineProperty(_ref, vueFormParentForm, this), _ref;\n },\n\n data: function data() {\n return {\n promises: []\n };\n },\n created: function created() {\n var _this2 = this;\n\n if (!this.state) {\n return;\n }\n var controls = {};\n var state = this.state;\n var formstate = {\n $dirty: false,\n $pristine: true,\n $valid: true,\n $invalid: false,\n $submitted: false,\n $touched: false,\n $untouched: true,\n $focused: false,\n $pending: false,\n $error: {},\n $submittedState: {},\n _id: '',\n _submit: function _submit() {\n _this2.state.$submitted = true;\n _this2.state._cloneState();\n },\n _cloneState: function _cloneState() {\n var cloned = JSON.parse(JSON.stringify(state));\n delete cloned.$submittedState;\n Object.keys(cloned).forEach(function (key) {\n _this2.$set(_this2.state.$submittedState, key, cloned[key]);\n });\n },\n _addControl: function _addControl(ctrl) {\n controls[ctrl.$name] = ctrl;\n _this2.$set(state, ctrl.$name, ctrl);\n },\n _removeControl: function _removeControl(ctrl) {\n delete controls[ctrl.$name];\n _this2.$delete(_this2.state, ctrl.$name);\n _this2.$delete(_this2.state.$error, ctrl.$name);\n },\n _validate: function _validate() {\n Object.keys(controls).forEach(function (key) {\n controls[key]._validate();\n });\n },\n _reset: function _reset() {\n state.$submitted = false;\n state.$pending = false;\n state.$submittedState = {};\n Object.keys(controls).forEach(function (key) {\n var control = controls[key];\n control._hasFocused = false;\n control._setUntouched();\n control._setPristine();\n control.$submitted = false;\n control.$pending = false;\n });\n }\n };\n\n Object.keys(formstate).forEach(function (key) {\n _this2.$set(_this2.state, key, formstate[key]);\n });\n\n this.$watch('state', function () {\n var isDirty = false;\n var isValid = true;\n var isTouched = false;\n var isFocused = false;\n var isPending = false;\n Object.keys(controls).forEach(function (key) {\n var control = controls[key];\n\n control.$submitted = state.$submitted;\n\n if (control.$dirty) {\n isDirty = true;\n }\n if (control.$touched) {\n isTouched = true;\n }\n if (control.$focused) {\n isFocused = true;\n }\n if (control.$pending) {\n isPending = true;\n }\n if (!control.$valid) {\n isValid = false;\n // add control to errors\n _this2.$set(state.$error, control.$name, control);\n } else {\n _this2.$delete(state.$error, control.$name);\n }\n });\n\n state.$dirty = isDirty;\n state.$pristine = !isDirty;\n state.$touched = isTouched;\n state.$untouched = !isTouched;\n state.$focused = isFocused;\n state.$valid = isValid;\n state.$invalid = !isValid;\n state.$pending = isPending;\n }, {\n deep: true,\n immediate: true\n });\n\n /* watch pristine? if set to true, set all children to pristine\r\n Object.keys(controls).forEach((ctrl) => {\r\n controls[ctrl].setPristine();\r\n });*/\n },\n\n computed: {\n className: function className() {\n var classes = getClasses(this.vueFormConfig.formClasses, this.state);\n return classes;\n }\n },\n methods: {\n reset: function reset() {\n this.state._reset();\n },\n validate: function validate() {\n this.state._validate();\n }\n }\n};\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar scope_eval = createCommonjsModule(function (module) {\n// Generated by CoffeeScript 1.10.0\n(function() {\n var hasProp = {}.hasOwnProperty,\n slice = [].slice;\n\n module.exports = function(source, scope) {\n var key, keys, value, values;\n keys = [];\n values = [];\n for (key in scope) {\n if (!hasProp.call(scope, key)) continue;\n value = scope[key];\n if (key === 'this') {\n continue;\n }\n keys.push(key);\n values.push(value);\n }\n return Function.apply(null, slice.call(keys).concat([\"return eval(\" + (JSON.stringify(source)) + \")\"])).apply(scope[\"this\"], values);\n };\n\n}).call(commonjsGlobal);\n});\n\nfunction findLabel(nodes) {\n if (!nodes) {\n return;\n }\n for (var i = 0; i < nodes.length; i++) {\n var vnode = nodes[i];\n if (vnode.tag === 'label') {\n return nodes[i];\n } else if (nodes[i].children) {\n return findLabel(nodes[i].children);\n }\n }\n}\n\nvar messages = {\n inject: { vueFormConfig: vueFormConfig, vueFormState: vueFormState, vueFormParentForm: vueFormParentForm },\n render: function render(h) {\n var _this = this;\n\n var children = [];\n var field = this.formstate[this.fieldname];\n if (field && field.$error && this.isShown) {\n Object.keys(field.$error).forEach(function (key) {\n if (_this.$slots[key] || _this.$scopedSlots[key]) {\n var out = _this.$slots[key] || _this.$scopedSlots[key](field);\n if (_this.autoLabel) {\n var label = findLabel(out);\n if (label) {\n label.data = label.data || {};\n label.data.attrs = label.data.attrs || {};\n label.data.attrs.for = field._id;\n }\n }\n children.push(out);\n }\n });\n if (!children.length && field.$valid) {\n if (this.$slots.default || this.$scopedSlots.default) {\n var out = this.$slots.default || this.$scopedSlots.default(field);\n if (this.autoLabel) {\n var label = findLabel(out);\n if (label) {\n label.data = label.data || {};\n label.data.attrs = label.data.attrs || {};\n label.data.attrs.for = field._id;\n }\n }\n children.push(out);\n }\n }\n }\n return h(this.tag || this.vueFormConfig.messagesTag, children);\n },\n\n props: {\n state: Object,\n name: String,\n show: {\n type: String,\n default: ''\n },\n tag: {\n type: String\n },\n autoLabel: Boolean\n },\n data: function data() {\n return {\n formstate: null,\n fieldname: ''\n };\n },\n created: function created() {\n this.fieldname = this.name;\n this.formstate = this.state || this.vueFormState;\n },\n\n computed: {\n isShown: function isShown() {\n var field = this.formstate[this.fieldname];\n var show = this.show || this.vueFormParentForm.showMessages || this.vueFormConfig.showMessages;\n\n if (!show || !field) {\n return true;\n }\n\n return scope_eval(show, field);\n }\n }\n};\n\nvar validate = {\n render: function render(h) {\n var _this = this;\n\n var foundVnodes = getVModelAndLabel(this.$slots.default, this.vueFormConfig);\n var vModelnodes = foundVnodes.vModel;\n var attrs = {\n for: null\n };\n if (vModelnodes.length) {\n this.name = getName(vModelnodes[0]);\n\n if (foundVnodes.messages) {\n this.$nextTick(function () {\n var messagesVm = foundVnodes.messages.componentInstance;\n if (messagesVm) {\n messagesVm.fieldname = messagesVm.fieldname || _this.name;\n }\n });\n }\n\n if (this.autoLabel) {\n var id = vModelnodes[0].data.attrs.id || this.fieldstate._id;\n this.fieldstate._id = id;\n vModelnodes[0].data.attrs.id = id;\n if (foundVnodes.label) {\n foundVnodes.label.data = foundVnodes.label.data || {};\n foundVnodes.label.data.attrs = foundVnodes.label.data.attrs || {};\n foundVnodes.label.data.attrs.for = id;\n } else if (this.tag === 'label') {\n attrs.for = id;\n }\n }\n vModelnodes.forEach(function (vnode) {\n if (!vnode.data.directives) {\n vnode.data.directives = [];\n }\n vnode.data.directives.push({ name: 'vue-form-validator', value: { fieldstate: _this.fieldstate, config: _this.vueFormConfig } });\n vnode.data.attrs['vue-form-validator'] = '';\n vnode.data.attrs['debounce'] = _this.debounce;\n });\n } else {\n //console.warn('Element with v-model not found');\n }\n return h(this.tag || this.vueFormConfig.validateTag, { 'class': this.className, attrs: attrs }, this.$slots.default);\n },\n\n props: {\n state: Object,\n custom: null,\n autoLabel: Boolean,\n tag: {\n type: String\n },\n debounce: Number\n },\n inject: { vueFormConfig: vueFormConfig, vueFormState: vueFormState, vueFormParentForm: vueFormParentForm },\n data: function data() {\n return {\n name: '',\n formstate: null,\n fieldstate: {}\n };\n },\n\n methods: {\n getClasses: function getClasses$$1(classConfig) {\n var s = this.fieldstate;\n return Object.keys(s.$error).reduce(function (classes, error) {\n classes[classConfig.invalid + '-' + hyphenate(error)] = true;\n return classes;\n }, getClasses(classConfig, s));\n }\n },\n computed: {\n className: function className() {\n return this.getClasses(this.vueFormConfig.validateClasses);\n },\n inputClassName: function inputClassName() {\n return this.getClasses(this.vueFormConfig.inputClasses);\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.fieldstate.$name = this.name;\n this.formstate._addControl(this.fieldstate);\n\n var vModelEls = this.$el.querySelectorAll('[vue-form-validator]');\n\n // add classes to the input element\n this.$watch('inputClassName', function (value, oldValue) {\n var out = void 0;\n\n var _loop = function _loop(i, el) {\n if (oldValue) {\n Object.keys(oldValue).filter(function (k) {\n return oldValue[k];\n }).forEach(function (k) {\n return removeClass(el, k);\n });\n }\n out = [];\n Object.keys(value).filter(function (k) {\n return value[k];\n }).forEach(function (k) {\n out.push(k);\n addClass(el, k);\n });\n };\n\n for (var i = 0, el; el = vModelEls[i++];) {\n _loop(i, el);\n }\n _this2.fieldstate._className = out;\n }, {\n deep: true,\n immediate: true\n });\n\n this.$watch('name', function (value, oldValue) {\n _this2.formstate._removeControl(_this2.fieldstate);\n _this2.fieldstate.$name = value;\n _this2.formstate._addControl(_this2.fieldstate);\n });\n },\n created: function created() {\n var _this4 = this;\n\n this.formstate = this.state || this.vueFormState;\n var vm = this;\n var pendingValidators = [];\n var _val = void 0;\n var prevVnode = void 0;\n this.fieldstate = {\n $name: '',\n $dirty: false,\n $pristine: true,\n $valid: true,\n $invalid: false,\n $touched: false,\n $untouched: true,\n $focused: false,\n $pending: false,\n $submitted: false,\n $error: {},\n $attrs: {},\n _className: null,\n _id: 'vf' + randomId(),\n _setValidatorValidity: function _setValidatorValidity(validator, isValid) {\n if (isValid) {\n vm.$delete(this.$error, validator);\n } else {\n vm.$set(this.$error, validator, true);\n }\n },\n _setValidity: function _setValidity(isValid) {\n this.$valid = isValid;\n this.$invalid = !isValid;\n },\n _setDirty: function _setDirty() {\n this.$dirty = true;\n this.$pristine = false;\n },\n _setPristine: function _setPristine() {\n this.$dirty = false;\n this.$pristine = true;\n },\n _setTouched: function _setTouched() {\n this.$touched = true;\n this.$untouched = false;\n },\n _setUntouched: function _setUntouched() {\n this.$touched = false;\n this.$untouched = true;\n },\n _setFocused: function _setFocused(value) {\n this.$focused = typeof value === 'boolean' ? value : false;\n if (this.$focused) {\n this._setHasFocused();\n } else {\n this._setTouched();\n }\n },\n _setHasFocused: function _setHasFocused() {\n this._hasFocused = true;\n },\n\n _hasFocused: false,\n _validators: {},\n _validate: function _validate(vnode) {\n var _this3 = this;\n\n if (!vnode) {\n vnode = prevVnode;\n } else {\n prevVnode = vnode;\n }\n this.$pending = true;\n var isValid = true;\n var emptyAndRequired = false;\n var value = vModelValue(vnode.data);\n _val = value;\n\n var pending = {\n promises: [],\n names: []\n };\n\n pendingValidators.push(pending);\n\n var attrs = vnode.data.attrs || {};\n var childvm = vnode.componentInstance;\n if (childvm && childvm._vfValidationData_) {\n attrs = extend({}, attrs, childvm._vfValidationData_);\n }\n\n var propsData = vnode.componentOptions && vnode.componentOptions.propsData ? vnode.componentOptions.propsData : {};\n\n Object.keys(this._validators).forEach(function (validator) {\n // when value is empty and current validator is not the required validator, the field is valid\n if ((value === '' || value === undefined || value === null) && validator !== 'required') {\n _this3._setValidatorValidity(validator, true);\n emptyAndRequired = true;\n // return early, required validator will\n // fall through if it is present\n return;\n }\n\n var attrValue = typeof attrs[validator] !== 'undefined' ? attrs[validator] : propsData[validator];\n var isFunction = typeof _this3._validators[validator] === 'function';\n\n // match vue behaviour, ignore if attribute is null or undefined. But for type=email|url|number and custom validators, the value will be null, so allow with _allowNulls\n if (isFunction && (attrValue === null || typeof attrValue === 'undefined') && !_this3._validators[validator]._allowNulls) {\n return;\n }\n\n if (attrValue) {\n _this3.$attrs[validator] = attrValue;\n }\n\n var result = isFunction ? _this3._validators[validator](value, attrValue, vnode) : vm.custom[validator];\n\n if (typeof result === 'boolean') {\n if (result) {\n _this3._setValidatorValidity(validator, true);\n } else {\n isValid = false;\n _this3._setValidatorValidity(validator, false);\n }\n } else {\n pending.promises.push(result);\n pending.names.push(validator);\n vm.vueFormParentForm.promises.push(result);\n }\n });\n\n if (pending.promises.length) {\n vm.vueFormConfig.Promise.all(pending.promises).then(function (results) {\n\n // only concerned with the last promise results, in case\n // async responses return out of order\n if (pending !== pendingValidators[pendingValidators.length - 1]) {\n //console.log('ignoring old promise', pending.promises);\n return;\n }\n\n pendingValidators = [];\n\n results.forEach(function (result, i) {\n var name = pending.names[i];\n if (result) {\n _this3._setValidatorValidity(name, true);\n } else {\n isValid = false;\n _this3._setValidatorValidity(name, false);\n }\n });\n _this3._setValidity(isValid);\n _this3.$pending = false;\n });\n } else {\n this._setValidity(isValid);\n this.$pending = false;\n }\n }\n };\n\n // add custom validators\n if (this.custom) {\n Object.keys(this.custom).forEach(function (prop) {\n if (typeof _this4.custom[prop] === 'function') {\n _this4.custom[prop]._allowNulls = true;\n _this4.fieldstate._validators[prop] = _this4.custom[prop];\n } else {\n _this4.fieldstate._validators[prop] = _this4.custom[prop];\n }\n });\n }\n\n this.$watch('custom', function (v, oldV) {\n if (!oldV || !v) {\n return;\n }\n if (isShallowObjectDifferent(v, oldV)) {\n _this4.fieldstate._validate();\n }\n }, {\n deep: true\n });\n },\n destroyed: function destroyed() {\n this.formstate._removeControl(this.fieldstate);\n }\n};\n\nvar field = {\n inject: { vueFormConfig: vueFormConfig },\n render: function render(h) {\n var foundVnodes = getVModelAndLabel(this.$slots.default, this.vueFormConfig);\n var vModelnodes = foundVnodes.vModel;\n var attrs = {\n for: null\n };\n if (vModelnodes.length) {\n if (this.autoLabel) {\n var id = vModelnodes[0].data.attrs && vModelnodes[0].data.attrs.id || 'vf' + randomId();\n vModelnodes[0].data.attrs.id = id;\n if (foundVnodes.label) {\n foundVnodes.label.data = foundVnodes.label.data || {};\n foundVnodes.label.data.attrs = foundVnodes.label.data.attrs = {};\n foundVnodes.label.data.attrs.for = id;\n } else if (this.tag === 'label') {\n attrs.for = id;\n }\n }\n }\n return h(this.tag || this.vueFormConfig.fieldTag, { attrs: attrs }, this.$slots.default);\n },\n\n props: {\n tag: {\n type: String\n },\n autoLabel: {\n type: Boolean,\n default: true\n }\n }\n};\n\nvar debouncedValidators = {};\n\nfunction addValidators(attrs, validators, fieldValidators) {\n Object.keys(attrs).forEach(function (attr) {\n var prop = attr === 'type' ? attrs[attr].toLowerCase() : attr.toLowerCase();\n\n if (validators[prop] && !fieldValidators[prop]) {\n fieldValidators[prop] = validators[prop];\n }\n });\n}\n\nfunction compareChanges(vnode, oldvnode, validators) {\n\n var hasChanged = false;\n var attrs = vnode.data.attrs || {};\n var oldAttrs = oldvnode.data.attrs || {};\n var out = {};\n\n if (vModelValue(vnode.data) !== vModelValue(oldvnode.data)) {\n out.vModel = true;\n hasChanged = true;\n }\n\n Object.keys(validators).forEach(function (validator) {\n if (attrs[validator] !== oldAttrs[validator]) {\n out[validator] = true;\n hasChanged = true;\n }\n });\n\n // if is a component\n if (vnode.componentOptions && vnode.componentOptions.propsData) {\n var _attrs = vnode.componentOptions.propsData;\n var _oldAttrs = oldvnode.componentOptions.propsData;\n Object.keys(validators).forEach(function (validator) {\n if (_attrs[validator] !== _oldAttrs[validator]) {\n out[validator] = true;\n hasChanged = true;\n }\n });\n }\n\n if (hasChanged) {\n return out;\n }\n}\n\nvar vueFormValidator = {\n name: 'vue-form-validator',\n bind: function bind(el, binding, vnode) {\n var fieldstate = binding.value.fieldstate;\n var validators = binding.value.config.validators;\n\n var attrs = vnode.data.attrs || {};\n var inputName = getName(vnode);\n\n if (!inputName) {\n console.warn('vue-form: name attribute missing');\n return;\n }\n\n if (attrs.debounce) {\n debouncedValidators[fieldstate._id] = debounce(function (fieldstate, vnode) {\n if (fieldstate._hasFocused) {\n fieldstate._setDirty();\n }\n fieldstate._validate(vnode);\n }, attrs.debounce);\n }\n\n // add validators\n addValidators(attrs, validators, fieldstate._validators);\n\n // if is a component, a validator attribute could be a prop this component uses\n if (vnode.componentOptions && vnode.componentOptions.propsData) {\n addValidators(vnode.componentOptions.propsData, validators, fieldstate._validators);\n }\n\n fieldstate._validate(vnode);\n\n // native listeners\n el.addEventListener('blur', function () {\n fieldstate._setFocused(false);\n }, false);\n el.addEventListener('focus', function () {\n fieldstate._setFocused(true);\n }, false);\n\n // component listeners\n var vm = vnode.componentInstance;\n if (vm) {\n vm.$on('blur', function () {\n fieldstate._setFocused(false);\n });\n vm.$on('focus', function () {\n fieldstate._setFocused(true);\n });\n\n vm.$once('vf:addFocusListeners', function () {\n el.addEventListener('focusout', function () {\n fieldstate._setFocused(false);\n }, false);\n el.addEventListener('focusin', function () {\n fieldstate._setFocused(true);\n }, false);\n });\n\n vm.$on('vf:validate', function (data) {\n if (!vm._vfValidationData_) {\n addValidators(data, validators, fieldstate._validators);\n }\n vm._vfValidationData_ = data;\n fieldstate._validate(vm.$vnode);\n });\n }\n },\n update: function update(el, binding, vnode, oldVNode) {\n var validators = binding.value.config.validators;\n\n var changes = compareChanges(vnode, oldVNode, validators);\n var fieldstate = binding.value.fieldstate;\n\n\n var attrs = vnode.data.attrs || {};\n var vm = vnode.componentInstance;\n if (vm && vm._vfValidationData_) {\n attrs = extend({}, attrs, vm[vm._vfValidationData_]);\n }\n\n if (vnode.elm.className.indexOf(fieldstate._className[0]) === -1) {\n vnode.elm.className = vnode.elm.className + ' ' + fieldstate._className.join(' ');\n }\n\n if (!changes) {\n return;\n }\n\n if (changes.vModel) {\n // re-validate all\n if (attrs.debounce) {\n fieldstate.$pending = true;\n debouncedValidators[fieldstate._id](fieldstate, vnode);\n } else {\n if (fieldstate._hasFocused) {\n fieldstate._setDirty();\n }\n fieldstate._validate(vnode);\n }\n } else {\n // attributes have changed\n // to do: loop through them and re-validate changed ones\n //for(let prop in changes) {\n // fieldstate._validate(vnode, validator);\n //}\n // for now\n fieldstate._validate(vnode);\n }\n }\n};\n\nfunction VueFormBase(options) {\n var _components;\n\n var c = extend(true, {}, config, options);\n this.provide = function () {\n return defineProperty({}, vueFormConfig, c);\n };\n this.components = (_components = {}, defineProperty(_components, c.formComponent, vueForm), defineProperty(_components, c.messagesComponent, messages), defineProperty(_components, c.validateComponent, validate), defineProperty(_components, c.fieldComponent, field), _components);\n this.directives = { vueFormValidator: vueFormValidator };\n}\n\nvar VueForm = function (_VueFormBase) {\n inherits(VueForm, _VueFormBase);\n\n function VueForm() {\n classCallCheck(this, VueForm);\n return possibleConstructorReturn(this, (VueForm.__proto__ || Object.getPrototypeOf(VueForm)).apply(this, arguments));\n }\n\n createClass(VueForm, null, [{\n key: 'install',\n value: function install(Vue, options) {\n Vue.mixin(new this(options));\n }\n }, {\n key: 'installed',\n get: function get$$1() {\n return !!this.install.done;\n },\n set: function set$$1(val) {\n this.install.done = val;\n }\n }]);\n return VueForm;\n}(VueFormBase);\n\nVueFormBase.call(VueForm);\n// temp fix for vue 2.3.0\nVueForm.options = new VueForm();\n\nreturn VueForm;\n\n})));\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(13)))\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(82),\n /* template */\n __webpack_require__(301),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\nComponent.options.__file = \"E:\\\\jh\\\\a1-8\\\\211fd6b4\\\\workspace\\\\mastere1b7bf6e\\\\OIPPWeb\\\\VueJsSrc\\\\ADD\\\\App.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key !== \"__esModule\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] App.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-79070ddc\", Component.options)\n } else {\n hotAPI.reload(\"data-v-79070ddc\", Component.options)\n }\n})()}\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_components_NavigationComponent_vue__ = __webpack_require__(202);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_components_NavigationComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__Application_components_NavigationComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_PersonBeneficiaryBasicInfoComponent_vue__ = __webpack_require__(190);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_PersonBeneficiaryBasicInfoComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__components_PersonBeneficiaryBasicInfoComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_components_TrustBeneficiaryBasicInfoComponent_vue__ = __webpack_require__(204);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_components_TrustBeneficiaryBasicInfoComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__Application_components_TrustBeneficiaryBasicInfoComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ADD_components_BeneficiaryComponent_vue__ = __webpack_require__(184);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ADD_components_BeneficiaryComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__ADD_components_BeneficiaryComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Application_components_BeneficiaryAllocationViewComponent_vue__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Application_components_BeneficiaryAllocationViewComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__Application_components_BeneficiaryAllocationViewComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Application_components_BeneficiaryAllocationComponent_vue__ = __webpack_require__(194);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Application_components_BeneficiaryAllocationComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__Application_components_BeneficiaryAllocationComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_QuoteComponent_vue__ = __webpack_require__(191);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_QuoteComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__components_QuoteComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Application_components_TermLengthComponent_vue__ = __webpack_require__(203);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Application_components_TermLengthComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7__Application_components_TermLengthComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ADD_components_ApplicationSummaryReview_vue__ = __webpack_require__(182);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ADD_components_ApplicationSummaryReview_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__ADD_components_ApplicationSummaryReview_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ADD_components_PaymentComponent_vue__ = __webpack_require__(189);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ADD_components_PaymentComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9__ADD_components_PaymentComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__Application_components_AddressComponent_vue__ = __webpack_require__(193);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__Application_components_AddressComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10__Application_components_AddressComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__Application_components_PersonalInfoReviewComponent_vue__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__Application_components_PersonalInfoReviewComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11__Application_components_PersonalInfoReviewComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__Application_components_CallUsComponent_vue__ = __webpack_require__(198);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__Application_components_CallUsComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12__Application_components_CallUsComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_ThankQComponent_vue__ = __webpack_require__(192);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_ThankQComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13__components_ThankQComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__Application_components_CoverageComponent_vue__ = __webpack_require__(200);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__Application_components_CoverageComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_14__Application_components_CoverageComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__components_ChildrenComponent_vue__ = __webpack_require__(185);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__components_ChildrenComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_15__components_ChildrenComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__Application_components_ConsentDialogComponent_vue__ = __webpack_require__(199);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__Application_components_ConsentDialogComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_16__Application_components_ConsentDialogComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__Shared_components_SearchableDropdownView_vue__ = __webpack_require__(234);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__Shared_components_SearchableDropdownView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_17__Shared_components_SearchableDropdownView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__Application_components_ErrorComponent_vue__ = __webpack_require__(201);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__Application_components_ErrorComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_18__Application_components_ErrorComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__components_LandingComponent_vue__ = __webpack_require__(186);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__components_LandingComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_19__components_LandingComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__components_BeneficiaryListComponent_vue__ = __webpack_require__(38);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__components_BeneficiaryListComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_20__components_BeneficiaryListComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__components_PageHeader_vue__ = __webpack_require__(188);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__components_PageHeader_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_21__components_PageHeader_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__Shared_components_businessComponents_ExistingPolicyDetailComponent_vue__ = __webpack_require__(244);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__Shared_components_businessComponents_ExistingPolicyDetailComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_22__Shared_components_businessComponents_ExistingPolicyDetailComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__Shared_components_businessComponents_SignApplicationComponent_vue__ = __webpack_require__(246);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__Shared_components_businessComponents_SignApplicationComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_23__Shared_components_businessComponents_SignApplicationComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__Shared_components_AdvanceFormComponent_vue__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__Shared_components_AdvanceFormComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_24__Shared_components_AdvanceFormComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__Shared_components_SmartAddressComponent_vue__ = __webpack_require__(47);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__Shared_components_SmartAddressComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_25__Shared_components_SmartAddressComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__Shared_components_ListComponent_vue__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__Shared_components_ListComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_26__Shared_components_ListComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__Shared_components_FormComponent_vue__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__Shared_components_FormComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_27__Shared_components_FormComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__GIWL_components_PaymentComponent_vue__ = __webpack_require__(205);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__GIWL_components_PaymentComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_28__GIWL_components_PaymentComponent_vue__);\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//import selectPickerComponent from './../../Application/components/SelectPickerComponent.vue'\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst ApplicationComponentRegistrationPlugin = {\r\n install(Vue, options) {\r\n console.log(\"registering application components\");\r\n\r\n Vue.component('navigation-view', __WEBPACK_IMPORTED_MODULE_0__Application_components_NavigationComponent_vue___default.a);\r\n Vue.component('person-beneficiary-info', __WEBPACK_IMPORTED_MODULE_1__components_PersonBeneficiaryBasicInfoComponent_vue___default.a);\r\n Vue.component('trust-beneficiary-info', __WEBPACK_IMPORTED_MODULE_2__Application_components_TrustBeneficiaryBasicInfoComponent_vue___default.a);\r\n Vue.component('beneficiary', __WEBPACK_IMPORTED_MODULE_3__ADD_components_BeneficiaryComponent_vue___default.a);\r\n Vue.component('beneficiary-allocation-view', __WEBPACK_IMPORTED_MODULE_4__Application_components_BeneficiaryAllocationViewComponent_vue___default.a);\r\n Vue.component('beneficiary-Allocation', __WEBPACK_IMPORTED_MODULE_5__Application_components_BeneficiaryAllocationComponent_vue___default.a);\r\n Vue.component('existing-policy-detail', __WEBPACK_IMPORTED_MODULE_22__Shared_components_businessComponents_ExistingPolicyDetailComponent_vue___default.a);\r\n Vue.component('quote', __WEBPACK_IMPORTED_MODULE_6__components_QuoteComponent_vue___default.a);\r\n Vue.component('term-length', __WEBPACK_IMPORTED_MODULE_7__Application_components_TermLengthComponent_vue___default.a); \r\n Vue.component('payment-component', __WEBPACK_IMPORTED_MODULE_9__ADD_components_PaymentComponent_vue___default.a);\r\n Vue.component('application-summary-review', __WEBPACK_IMPORTED_MODULE_8__ADD_components_ApplicationSummaryReview_vue___default.a);\r\n Vue.component('address-view', __WEBPACK_IMPORTED_MODULE_10__Application_components_AddressComponent_vue___default.a);\r\n Vue.component('personal-info-review', __WEBPACK_IMPORTED_MODULE_11__Application_components_PersonalInfoReviewComponent_vue___default.a);\r\n Vue.component('callUsComponent', __WEBPACK_IMPORTED_MODULE_12__Application_components_CallUsComponent_vue___default.a);\r\n Vue.component('thankQComponent', __WEBPACK_IMPORTED_MODULE_13__components_ThankQComponent_vue___default.a);\r\n Vue.component('coverageComponent', __WEBPACK_IMPORTED_MODULE_14__Application_components_CoverageComponent_vue___default.a);\r\n Vue.component('childrenComponent', __WEBPACK_IMPORTED_MODULE_15__components_ChildrenComponent_vue___default.a);\r\n Vue.component('consent-dialog', __WEBPACK_IMPORTED_MODULE_16__Application_components_ConsentDialogComponent_vue___default.a);\r\n Vue.component('selectPicker', __WEBPACK_IMPORTED_MODULE_17__Shared_components_SearchableDropdownView_vue___default.a);\r\n Vue.component('errorComponent', __WEBPACK_IMPORTED_MODULE_18__Application_components_ErrorComponent_vue___default.a);\r\n Vue.component('landingComponent', __WEBPACK_IMPORTED_MODULE_19__components_LandingComponent_vue___default.a);\r\n Vue.component('beneficiary-list', __WEBPACK_IMPORTED_MODULE_20__components_BeneficiaryListComponent_vue___default.a);\r\n Vue.component('pageHeader-view', __WEBPACK_IMPORTED_MODULE_21__components_PageHeader_vue___default.a);\r\n Vue.component('signApplicationComponent', __WEBPACK_IMPORTED_MODULE_23__Shared_components_businessComponents_SignApplicationComponent_vue___default.a);\r\n Vue.component('listComponent', __WEBPACK_IMPORTED_MODULE_26__Shared_components_ListComponent_vue___default.a);\r\n Vue.component('formComponent', __WEBPACK_IMPORTED_MODULE_27__Shared_components_FormComponent_vue___default.a);\r\n Vue.component('advanceFormComponent', __WEBPACK_IMPORTED_MODULE_24__Shared_components_AdvanceFormComponent_vue___default.a);\r\n Vue.component('smartAddressComponent', __WEBPACK_IMPORTED_MODULE_25__Shared_components_SmartAddressComponent_vue___default.a);\r\n Vue.component('giwlPaymentComponent', __WEBPACK_IMPORTED_MODULE_28__GIWL_components_PaymentComponent_vue___default.a);\r\n }\r\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = ApplicationComponentRegistrationPlugin;\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_form__ = __webpack_require__(60);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_form___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue_form__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Shared_directives_mask_index__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_es6_promise__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_es6_promise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_es6_promise__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__App_vue__ = __webpack_require__(61);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__App_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__App_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Application_Plugins_EventBus__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Application_Plugins_NavigationState__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Application_Plugins_ApplicationData__ = __webpack_require__(48);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__Application_Plugins_GoogleAnalyticPlugin__ = __webpack_require__(50);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__Application_Plugins_SiteCatalystPlugin__ = __webpack_require__(53);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__Application_Plugins_SessionCamPlugin__ = __webpack_require__(52);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__Shared_Plugins_AdrumPlugin__ = __webpack_require__(54);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__routeUtil__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__Shared_router__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_core_js_fn_array_find__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_core_js_fn_array_find___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_14_core_js_fn_array_find__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15_core_js_fn_array_find_index__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15_core_js_fn_array_find_index___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_15_core_js_fn_array_find_index__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__Shared_dropConsole_js__ = __webpack_require__(56);\n\r\n\r\n\r\n\r\n//import Money from 'v-money'\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n__webpack_require__(59).polyfill();\r\n\r\n\r\n//polyfill for Array for IE\r\n\r\n\r\n\r\n\r\n__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_16__Shared_dropConsole_js__[\"a\" /* default */])();\r\n\r\nvar viewFormOptions = {\r\n Promise: typeof window.Promise === 'function' ? window.Promise : __WEBPACK_IMPORTED_MODULE_3_es6_promise___default.a.Promise\r\n}\r\n\r\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_1_vue_form___default.a, viewFormOptions);\r\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_2__Shared_directives_mask_index__[\"a\" /* default */]);\r\n//Vue.use(Money, { precision: 0 })\r\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_5__Application_Plugins_EventBus__[\"a\" /* default */]);\r\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_6__Application_Plugins_NavigationState__[\"a\" /* default */]);\r\n//register application data plugin\r\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_7__Application_Plugins_ApplicationData__[\"a\" /* default */])\r\n//register googleAnalytic plugin\r\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_8__Application_Plugins_GoogleAnalyticPlugin__[\"a\" /* default */])\r\n//register siteCatalyst plugin\r\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_9__Application_Plugins_SiteCatalystPlugin__[\"a\" /* default */])\r\n//register sessionCam plugin\r\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_10__Application_Plugins_SessionCamPlugin__[\"a\" /* default */])\r\n//App Dynamics adrum plugin\r\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_11__Shared_Plugins_AdrumPlugin__[\"a\" /* default */])\r\n\r\n__WEBPACK_IMPORTED_MODULE_13__Shared_router__[\"a\" /* default */].beforeEach(__WEBPACK_IMPORTED_MODULE_12__routeUtil__[\"a\" /* default */].beforeEachRouteHandler);\r\n__WEBPACK_IMPORTED_MODULE_13__Shared_router__[\"a\" /* default */].afterEach(__WEBPACK_IMPORTED_MODULE_12__routeUtil__[\"a\" /* default */].afterEachRouteHandler);\r\n\r\nconst v = new __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */]({\r\n el: '#app',\r\n router: __WEBPACK_IMPORTED_MODULE_13__Shared_router__[\"a\" /* default */],\r\n render: h => h(__WEBPACK_IMPORTED_MODULE_4__App_vue___default.a)\r\n});\n\n/***/ }),\n/* 64 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_components_PageComponent_vue__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_components_PageComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__Application_components_PageComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_components_docuSign_DocusignRedirectHandlerComponent_vue__ = __webpack_require__(247);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_components_docuSign_DocusignRedirectHandlerComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__Shared_components_docuSign_DocusignRedirectHandlerComponent_vue__);\n\r\n\r\n\r\nconst routes = [\r\n {\r\n path: ':pageId',\r\n component: __WEBPACK_IMPORTED_MODULE_0__Application_components_PageComponent_vue___default.a,\r\n localRoute: false,\r\n requireForAuth: false\r\n },\r\n {\r\n path: 'docusign/signingComplete',\r\n component: __WEBPACK_IMPORTED_MODULE_1__Shared_components_docuSign_DocusignRedirectHandlerComponent_vue___default.a,\r\n localRoute: true,\r\n requireForAuth: false,\r\n redirectRoute: true\r\n }\r\n];\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = routes;\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ValidateOnNextMixin__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Shared_Constants__ = __webpack_require__(1);\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst BasePageComponentMixin = {\r\n mixins: [__WEBPACK_IMPORTED_MODULE_2__ValidateOnNextMixin__[\"a\" /* ValidateOnNextMixin */]],\r\n data() {\r\n return {\r\n componentKey: __WEBPACK_IMPORTED_MODULE_1__Shared_Utilities_Utility__[\"a\" /* Utility */].newGuid(),\r\n validateOnNext: true,\r\n onNextValidationComponents: [],\r\n pageLevel: true,\r\n timeoutRef: null,\r\n waitTime: 2000,\r\n }\r\n },\r\n created() {\r\n console.log('BasePageComponentMixin:created');\r\n this.attachValidateOnNextCompletedHandler();\r\n this.attachRegisterComponentForValidationOnNextHandler();\r\n this.attachFieldLoadedHandlers();\r\n },\r\n destroyed() {\r\n console.log('BasePageComponentMixin:destroyed');\r\n this.detachValidateOnNextCompleted();\r\n this.detachRegisterComponentForValidationOnNextHandler();\r\n this.detachFieldLoadedHandlers();\r\n },\r\n computed: {\r\n validateQuote() {\r\n const page = this.pageData;\r\n console.log('BasePageComponentMixin.computed=>validateQuote', page);\r\n return page && page.pageSchema && (page.pageSchema.verifyQuote + '' || '').toLowerCase() == 'true';\r\n },\r\n validateFormOnLoad() {\r\n const page = this.pageData;\r\n\r\n const validate = page && page.pageSchema &&\r\n page.pageSchema.validateDataOnLoad !== undefined ? page.pageSchema.validateDataOnLoad : false;\r\n console.log('BasePageComponentMixin.computed=>validateFormOnLoad', validate);\r\n return validate;\r\n },\r\n },\r\n methods: {\r\n broadCastValidateOnNext(data) {\r\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_5__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.VALIDATE_ON_NEXT, data);\r\n },\r\n //register for child component for confirmation feedback event to initiate submission\r\n attachValidateOnNextCompletedHandler() {\r\n console.log('BasePageComponentMixin=>attachValidateOnNextCompletedHandler');\r\n this.$eventBus.$on(__WEBPACK_IMPORTED_MODULE_5__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.VALIDATE_ON_NEXT_COMPLETED, this.validateOnNextCompletedHandler);\r\n },\r\n detachValidateOnNextCompleted() {\r\n this.$eventBus.$off(__WEBPACK_IMPORTED_MODULE_5__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.VALIDATE_ON_NEXT_COMPLETED, this.validateOnNextCompletedHandler);\r\n },\r\n attachRegisterComponentForValidationOnNextHandler() {\r\n console.log('BasePageComponentMixin=>attachRegisterComponentForValidationOnNextHandler');\r\n this.$eventBus.$on(__WEBPACK_IMPORTED_MODULE_5__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.REGISTER_COMPONENT_FOR_VALIDATION_ON_NEXT,\r\n this.registerComponentForValidationOnNextHandler);\r\n },\r\n detachRegisterComponentForValidationOnNextHandler() {\r\n this.$eventBus.$off(__WEBPACK_IMPORTED_MODULE_5__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.REGISTER_COMPONENT_FOR_VALIDATION_ON_NEXT,\r\n this.registerComponentForValidationOnNextHandler);\r\n },\r\n registerComponentForValidationOnNextHandler(data) {\r\n\r\n console.log('BasePageComponentMixin registraion event recieved with event data', data);\r\n //if unregister then remove from collection\r\n if (data.unregister) {\r\n console.log('registerComponentForValidationOnNext = > Unregistering component with key: ', data.componentKey);\r\n this.removeComponentFromValidation(data);\r\n }\r\n else {\r\n //its registeration event, add event source key in collection\r\n console.log('registerComponentForValidationOnNext => Registring component with key: ', data.componentKey);\r\n this.addComponentForValidation(data);\r\n }\r\n },\r\n\r\n attachFieldLoadedHandlers() {\r\n console.log('BasePageComponentMixin=>attachFieldLoadedHandlers');\r\n this.$eventBus.$on(__WEBPACK_IMPORTED_MODULE_5__Shared_Constants__[\"a\" /* Constants */].FIELD_EVENTS.FIELD_LOADED, this.onFieldLoaded);\r\n },\r\n detachFieldLoadedHandlers() {\r\n this.$eventBus.$off(__WEBPACK_IMPORTED_MODULE_5__Shared_Constants__[\"a\" /* Constants */].FIELD_EVENTS.FIELD_LOADED, this.onFieldLoaded);\r\n },\r\n onFieldLoaded(data) {\r\n console.log('BasePageComponentMixin=>onFieldLoaded', data);\r\n const self = this;\r\n //invoke\r\n //clear first existing\r\n if (window) {\r\n if (this.timeoutRef) {\r\n window.clearTimeout(this.timeoutRef);\r\n this.timeoutRef = null;\r\n }\r\n this.timeoutRef = window.setTimeout(function () {\r\n console.log('validate form on load', self.validateFormOnLoad);\r\n if (self.validateFormOnLoad) {\r\n self.validateForm();\r\n }\r\n }, this.waitTime);\r\n }\r\n },\r\n\r\n validateOnNextCompletedHandler(data) {\r\n console.log(\"onValidateOnNextCompleted\", data);\r\n data = data || {};\r\n //check for another component if need valdiation or save data and navigate\r\n this.validateOnNextOrSaveDataBagAndNavigateToNext(data);\r\n },\r\n\r\n //inform child component to take action/confirm before submission\r\n\r\n validateOnNextOrSaveDataBagAndNavigateToNext(data, evtData) {\r\n //check if any component needs to validate onNext button click\r\n var components = this.onNextValidationComponents;\r\n console.log('validateOnNextOrSaveDataBagAndNavigateToNext=>component list', components);\r\n if (data) {\r\n //remove already validated component from list\r\n this.removeComponentFromValidation(data);\r\n }\r\n evtData = evtData || {};\r\n //check if need to suppress validation on next\r\n var supressValidation = evtData[__WEBPACK_IMPORTED_MODULE_5__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENT_DATA.SUPPRESS_VALIDATION_ON_NEXT] || false;\r\n //inform component to validate itself, take first from list;\r\n const componentData = this.getNextComponentForValidation();\r\n\r\n if (componentData && !supressValidation) {\r\n console.log('validateOnNextOrSaveDataBagAndNavigateToNext=>broadcasting validation event for next component', components);\r\n //broadcast validate events for component validation;\r\n this.broadCastValidateOnNext(componentData);\r\n }\r\n else {\r\n //reset page level component to not validated for next page;\r\n this.resetPageLevelComponentValidationFlag();\r\n console.log('validateOnNextOrSaveDataBagAndNavigateToNext=>no more component for validation, submitting page...');\r\n //else submit and navigate\r\n this.saveDataBagAndNavigateToNext();\r\n }\r\n },\r\n\r\n addComponentForValidation(data) {\r\n console.log('addComponentForValidation', data);\r\n var components = this.onNextValidationComponents || [];\r\n if (data && data.componentKey) {\r\n //push\r\n components.push(data);\r\n //component will be ordered by validationOrder i.e. 1,2,3... and at last 0\r\n components.sort((c1, c2) => {\r\n if (c1.validationOrder === 0 && c2.validationOrder === 0) {\r\n return 0;\r\n }\r\n else if (c1.validationOrder > 0 && c2.validationOrder > 0) {\r\n return c1.validationOrder - c2.validationOrder;\r\n }\r\n else {\r\n return c2.validationOrder - c1.validationOrder;\r\n }\r\n });\r\n console.log('component validation order', components);\r\n }\r\n },\r\n\r\n getNextComponentForValidation() {\r\n var components = this.onNextValidationComponents || [];\r\n //get first component which is not validation yet\r\n const component = components.find(c => !c.pageLevel || (c.pageLevel && !c.validated));\r\n return component;\r\n },\r\n\r\n resetPageLevelComponentValidationFlag() {\r\n var components = this.onNextValidationComponents || [];\r\n components.forEach(c => c.validated = false);\r\n },\r\n\r\n removeComponentFromValidation(data) {\r\n var components = this.onNextValidationComponents || [];\r\n if (data && data.componentKey) {\r\n //get component from keys\r\n var componentIndex = components.findIndex(c => c.componentKey == data.componentKey);\r\n if (componentIndex > -1) {\r\n var componentData = components[componentIndex];\r\n if (componentData) {\r\n //if its a page level compnent, dont remove but rather update to set flag that is validated\r\n if (componentData.pageLevel) {\r\n componentData.validated = true;\r\n components[componentIndex] = componentData;\r\n console.log('removeComponentFromValidation = > Updated component to validated with key: ' + data.componentKey)\r\n }\r\n else {\r\n components.splice(componentIndex, 1);\r\n console.log('removeComponentFromValidation = > Unregistered component with key: ' + data.componentKey);\r\n }\r\n }\r\n }\r\n }\r\n },\r\n\r\n //to support page level validation to trigger on click of next button\r\n onValidateOnNext(evtData, completionCallback) {\r\n //put all validation here\r\n console.log('BasePageComponent=>onValidateOnNext', evtData);\r\n this.verifyQuote(evtData, completionCallback);\r\n },\r\n navigateToQuotePage() {\r\n var nextPage = __WEBPACK_IMPORTED_MODULE_5__Shared_Constants__[\"a\" /* Constants */].PAGE_ID.QUOTE;\r\n var route = {\r\n path: '',\r\n params: { pageId: nextPage }\r\n };\r\n this.$router.push(route);\r\n },\r\n verifyQuote(evtData, completionCallback) {\r\n console.log('verifyQuote=>validateQuote : ', this.validateQuote);\r\n if (!this.validateQuote) {\r\n if (completionCallback) {\r\n completionCallback();\r\n }\r\n return;\r\n }\r\n console.log(\"BasePageComponentMixin=>verifyQuote\", evtData, this);\r\n console.log('verifying quote...');\r\n //make API call, show message if needed\r\n var $this = this;\r\n //show wait dialog\r\n const dialog = __WEBPACK_IMPORTED_MODULE_4__services_dialogService__[\"a\" /* default */].showProcessingDialog();\r\n\r\n __WEBPACK_IMPORTED_MODULE_3__services_HttpCommunicationService__[\"a\" /* default */].verifyQuote(\r\n function (quoteValid) {\r\n if (!quoteValid) {\r\n $this.closeDialog(dialog);\r\n const message = \"There may have been an issue with your quote, we need you to verify your selection for coverage and premium. Your progress has been saved and re-entry will not be required. Click \\\"Ok\\\" to continue. \";\r\n __WEBPACK_IMPORTED_MODULE_4__services_dialogService__[\"a\" /* default */].showMessageDialogCallBack(message,\r\n function () {\r\n $this.navigateToQuotePage();\r\n });\r\n }\r\n else {\r\n if (completionCallback) {\r\n $this.closeDialog(dialog);\r\n completionCallback();\r\n }\r\n }\r\n },\r\n function (error) {\r\n console.log(\"verifyQuote \" + error);\r\n if (completionCallback) {\r\n $this.closeDialog(dialog);\r\n completionCallback();\r\n }\r\n });\r\n },\r\n\r\n closeDialog(dialog) {\r\n dialog.modal('hide');\r\n }\r\n }\r\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = BasePageComponentMixin;\n\r\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Shared_Utilities_Utility__ = __webpack_require__(2);\n\r\n\r\n\r\n\r\n\r\nconst fieldChangeAlertSummaryMessageKey = 'fieldChangeAlertSummaryMessage';\r\nconst fieldChangeAlertRequoteMessageKey = 'fieldChangeAlertRequoteMessage';\r\n\r\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n data: function () {\r\n return {\r\n changedFields: new Map()\r\n }\r\n },\r\n created() {\r\n //fetch page data;\r\n console.log(\"FieldChangeAlertMixin=>created\");\r\n this.registerFieldValueChangeEvents();\r\n },\r\n destroyed() {\r\n console.log(\"FieldChangeAlertMixin=>destroyed\");\r\n this.unregisterFieldValueChangeEvents();\r\n },\r\n methods: {\r\n registerFieldValueChangeEvents() {\r\n console.log(\"FieldChangeAlertMixin=>registerFieldValueChangeEvents\");\r\n this.$eventBus.$on(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.FIELD_VALUE_CHANGE,\r\n this.registerFieldChange);\r\n },\r\n unregisterFieldValueChangeEvents() {\r\n console.log(\"FieldChangeAlertMixin=>unregisterFieldValueChangeEvents\");\r\n this.$eventBus.$off(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.FIELD_VALUE_CHANGE,\r\n this.registerFieldChange);\r\n },\r\n\r\n registerFieldChange(fieldData) {\r\n console.log('registerFieldChange', fieldData);\r\n const fields = this.changedFields || new Map();\r\n if (fieldData && fields) {\r\n if (fieldData.changed) {\r\n fields.set(fieldData.fieldKey, fieldData);\r\n }\r\n else {\r\n fields.delete(fieldData.fieldKey);\r\n }\r\n }\r\n },\r\n saveChangedFields() {\r\n //save changes\r\n var fields = [];\r\n this.changedFields.forEach((fd, key) => {\r\n fields.push({\r\n ID: fd.fieldKey,\r\n oldValue: fd.oldValue,\r\n newValue: fd.newValue\r\n });\r\n });\r\n\r\n var existingFields = this.pageData.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].REQUOTE_CHANGED_FIELDS_KEY] || [];\r\n //update fields\r\n fields = fields.concat(existingFields);\r\n this.pageData.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].REQUOTE_CHANGED_FIELDS_KEY] = fields;\r\n console.log('saveChangedFields', fields);\r\n },\r\n\r\n getMessage(key) {\r\n const pageMessages = this.pageData && this.pageData.pageSchema\r\n ? this.pageData.pageSchema.messages || []\r\n : [];\r\n\r\n const messageSetting = pageMessages.find(message => { return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__Shared_Utilities_Utility__[\"d\" /* toLowerCase */])(message.key) === __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__Shared_Utilities_Utility__[\"d\" /* toLowerCase */])(key) });\r\n return messageSetting ? (messageSetting.value || '') : '';\r\n },\r\n\r\n showFieldsValueChangeAlert(callbackFn) {\r\n try {\r\n\r\n let fields = this.changedFields;\r\n console.log(\"processFieldsValueChangeAlert\", fields);\r\n const $this = this;\r\n callbackFn = callbackFn || function () { };\r\n //see if there are field which require alert message.\r\n\r\n if (fields && fields.size > 0) {\r\n //Constants.REQUOTE_CONFIRMATION_MESSAGE;\r\n let fMessages = '';\r\n fields.forEach((fd, key) => {\r\n fMessages = fMessages + '' + fd.alertMessage + '';\r\n });\r\n const topSummaryMessage = this.getMessage(fieldChangeAlertSummaryMessageKey);\r\n const requoteConfirmMessage = this.getMessage(fieldChangeAlertRequoteMessageKey);\r\n let message = topSummaryMessage + '' + requoteConfirmMessage;\r\n\r\n __WEBPACK_IMPORTED_MODULE_2__services_dialogService__[\"a\" /* default */].confirmAdvanced(message, function (result) {\r\n //user want to continue with data change\r\n if (result) {\r\n\r\n $this.saveChangedFields();\r\n //clear local collection\r\n fields.clear();\r\n callbackFn();\r\n }\r\n //when cancel, revert value to original\r\n else {\r\n fields.forEach((fd, key) => {\r\n //invoke value revert function\r\n if (fd.valueRevertFn) {\r\n fd.valueRevertFn();\r\n }\r\n });\r\n fields.clear();\r\n }\r\n }, \"Continue\");\r\n }\r\n else {\r\n callbackFn();\r\n }\r\n\r\n }\r\n catch (e) {\r\n console.error('showFieldsValueChangeAlert', e);\r\n }\r\n }\r\n }\r\n});\n\n/***/ }),\n/* 67 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_routeUtil__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__routes__ = __webpack_require__(68);\n\r\n\r\n\r\n\r\n\r\nfunction getRoutes(experience, authEnabled) {\r\n authEnabled = authEnabled || false;\r\n var filteredRoutes = __WEBPACK_IMPORTED_MODULE_2__routes__[\"a\" /* routes */].filter(function (r, index) {\r\n //if authEnabled then return all route \r\n if (authEnabled) {\r\n return authEnabled;\r\n }\r\n //just return where requireForAuth is set to false\r\n else {\r\n return authEnabled || r.requireForAuth === authEnabled;\r\n }\r\n });\r\n console.log('getRoutes->filteredRoutes', filteredRoutes);\r\n var mappedRoutes = filteredRoutes.map(function (r, index) {\r\n return {\r\n path: '/' + experience + '/' + r.path,\r\n props: r.props ? true : false,\r\n component: r.component,\r\n meta: { saveState: r.saveState }\r\n };\r\n });\r\n return mappedRoutes;\r\n}\r\n\r\nfunction beforeEachRouteHandler(to, from, next) {\r\n console.log('beforeEachRouteChangeHandler', { from, to });\r\n let saveState = to.matched.some(function (record, index) {\r\n console.log('record-' + index, record);\r\n return record.meta && record.meta.saveState;\r\n });\r\n\r\n //save app state\r\n if (saveState && __WEBPACK_IMPORTED_MODULE_1_vue__[\"a\" /* default */].prototype.$auth) {\r\n console.log('beforeEachRouteHandler=>currentPage', from);\r\n __WEBPACK_IMPORTED_MODULE_1_vue__[\"a\" /* default */].prototype.$auth.setFromUri(from.path);\r\n }\r\n next();\r\n}\r\n\r\nfunction afterEachRouteHandler(to, from) {\r\n var vueInstance = new __WEBPACK_IMPORTED_MODULE_1_vue__[\"a\" /* default */]({});\r\n console.log('afterEachRouteHandler->auth', { auth: vueInstance.$auth, from, to })\r\n}\r\n\r\n\r\nfunction navigateToLogin(router) {\r\n console.log('navigateToLogin->Vue', __WEBPACK_IMPORTED_MODULE_1_vue__[\"a\" /* default */])\r\n //routeUtil.navigateToPage(router, LOGIN_ROUTE)\r\n}\r\n\r\nfunction navigateToRegister(router) {\r\n console.log('navigateToRegister->Vue', __WEBPACK_IMPORTED_MODULE_1_vue__[\"a\" /* default */])\r\n //routeUtil.navigateToPage(router, LOGIN_ROUTE)\r\n}\r\n\r\nfunction navigateToApplicationStatus(router, status) {\r\n console.log('navigateToApplicationStatus')\r\n var pageId = __WEBPACK_IMPORTED_MODULE_2__routes__[\"b\" /* APPLICATION_STATUS_ROUTE */].replace(':status', status);\r\n __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_routeUtil__[\"a\" /* default */].navigateToPage(router, pageId)\r\n}\r\n\r\nfunction navigateToConfirm(router) {\r\n console.log('navigateToConfirm')\r\n var routeParams = {\r\n 'pageId': __WEBPACK_IMPORTED_MODULE_2__routes__[\"c\" /* RETUNING_USER_CONFIRMATION_PAGES */].CONFIRM\r\n };\r\n \r\n var routePath = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__routes__[\"d\" /* buildRoutePath */])(__WEBPACK_IMPORTED_MODULE_2__routes__[\"e\" /* RETUNING_USER_CONFIRMATION_ROUTE_TEMPLATE */], routeParams);\r\n __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_routeUtil__[\"a\" /* default */].navigateToPage(router, routePath)\r\n}\r\n\r\n\r\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n routes: __WEBPACK_IMPORTED_MODULE_2__routes__[\"a\" /* routes */],\r\n getRoutes,\r\n isLocalRoute: __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_routeUtil__[\"a\" /* default */].isLocalRoute,\r\n navigateToPage: __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_routeUtil__[\"a\" /* default */].navigateToPage,\r\n configureRoutes: __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_routeUtil__[\"a\" /* default */].configureRoutes,\r\n getConfigredRoutes: __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_routeUtil__[\"a\" /* default */].getConfigredRoutes,\r\n beforeEachRouteHandler,\r\n afterEachRouteHandler,\r\n navigateToLogin,\r\n navigateToRegister,\r\n navigateToApplicationStatus,\r\n navigateToConfirm\r\n});\n\n/***/ }),\n/* 68 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = buildRoutePath;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_PageComponent_vue__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_PageComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__components_PageComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_components_UserApplicationStatusComponent_vue__ = __webpack_require__(241);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_components_UserApplicationStatusComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__Shared_components_UserApplicationStatusComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Shared_components_DSULoginRegistrationComponent_vue__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Shared_components_DSULoginRegistrationComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__Shared_components_DSULoginRegistrationComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Shared_components_ReturningUserConfirmationComponent_vue__ = __webpack_require__(231);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Shared_components_ReturningUserConfirmationComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__Shared_components_ReturningUserConfirmationComponent_vue__);\n\r\n\r\n\r\n\r\n\r\nconst LOGIN_ROUTE = 'account/login'\n/* unused harmony export LOGIN_ROUTE */\n\r\nconst APPLICATION_STATUS_ROUTE = 'application/:status'\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = APPLICATION_STATUS_ROUTE;\n\r\nconst RETUNING_USER_CONFIRMATION_ROUTE_TEMPLATE = 'healthlifestyle/:pageId'\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = RETUNING_USER_CONFIRMATION_ROUTE_TEMPLATE;\n\r\nconst RETUNING_USER_CONFIRMATION_PAGES = {\r\n CONFIRM: 'confirm'\r\n};\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = RETUNING_USER_CONFIRMATION_PAGES;\n\r\n\r\nfunction buildRoutePath(routeTemplate, queryParams) {\r\n if (!routeTemplate) {\r\n return routeTemplate;\r\n }\r\n var routePath = routeTemplate;\r\n Object.keys(queryParams).forEach(key => {\r\n routePath = routePath.replace(':' + key, queryParams[key])\r\n });\r\n return routePath;\r\n}\r\n\r\nconst routes = [\r\n {\r\n path: ':pageId',\r\n component: __WEBPACK_IMPORTED_MODULE_0__components_PageComponent_vue___default.a,\r\n localRoute: false,\r\n requireForAuth: false\r\n },\r\n {\r\n path: APPLICATION_STATUS_ROUTE,\r\n component: __WEBPACK_IMPORTED_MODULE_1__Shared_components_UserApplicationStatusComponent_vue___default.a,\r\n props: true,\r\n localRoute: true,\r\n requireForAuth: true\r\n },\r\n {\r\n path: RETUNING_USER_CONFIRMATION_ROUTE_TEMPLATE,\r\n component: __WEBPACK_IMPORTED_MODULE_3__Shared_components_ReturningUserConfirmationComponent_vue___default.a,\r\n props: true,\r\n localRoute: true,\r\n requireForAuth: true\r\n },\r\n {\r\n path: LOGIN_ROUTE,\r\n component: __WEBPACK_IMPORTED_MODULE_2__Shared_components_DSULoginRegistrationComponent_vue___default.a,\r\n localRoute: true,\r\n requireForAuth: true,\r\n saveState: true\r\n }\r\n];\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = routes;\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n //convert heirarchical session data to flat structure\r\n ConvertSessionDataToDataBag(sessionData) {\r\n var dataBag = {};\r\n if (sessionData == null || sessionData == undefined) {\r\n return dataBag;\r\n }\r\n for (var sItemIndex = 0; sItemIndex < sessionData.length; sItemIndex++) {\r\n var sessionValue = sessionData[sItemIndex];\r\n\r\n var type = (sessionValue && sessionValue.type) ? sessionValue.type : ''\r\n if (type == 'string') {\r\n dataBag[sessionValue.id] = sessionValue.value;\r\n }\r\n else if (type == 'object') {\r\n var obj = {};\r\n dataBag[sessionValue.id] = obj;\r\n for (var oItemIndex = 0; oItemIndex < sessionValue.list.length; oItemIndex++) {\r\n var oItem = sessionValue.list[oItemIndex];\r\n obj[oItem.id] = oItem.value;\r\n }\r\n }\r\n else if (type == 'array') {\r\n var array = [];\r\n dataBag[sessionValue.id] = array;\r\n for (var aItemIndex = 0; aItemIndex < sessionValue.list.length; aItemIndex++) {\r\n var aItem = sessionValue.list[aItemIndex];\r\n var arrayItem = {};\r\n\r\n for (var aInnerItemIndex = 0; aInnerItemIndex < aItem.list.length; aInnerItemIndex++) {\r\n var aInnerItem = aItem.list[aInnerItemIndex];\r\n arrayItem[aInnerItem.id] = aInnerItem.value;\r\n }\r\n array.push(arrayItem);\r\n }\r\n }\r\n }\r\n return dataBag\r\n },\r\n //convert flat structure dataBag to convert heirarchical session data\r\n ConvertDataBagToSessionData(dataBag) {\r\n var postDataBag = [];\r\n\r\n if (dataBag == null || dataBag == undefined) {\r\n return postDataBag;\r\n }\r\n\r\n for (var prop in dataBag) {\r\n //check the current prop is not an inherited prop\r\n if (dataBag.hasOwnProperty(prop)) {\r\n\r\n var value = dataBag[prop];\r\n if (value !== undefined && value != null\r\n && typeof value !== \"function\" && typeof value !== \"symbol\") {\r\n //check if the value is array\r\n if (Array.isArray(value)) {\r\n var items = [];\r\n\r\n var answer = {\r\n ID: prop,\r\n Type: 'array',\r\n List: [],\r\n };\r\n //answer.List.push(items);\r\n postDataBag.push(answer);\r\n //iterate array item\r\n for (var itemIndex = 0; itemIndex < value.length; itemIndex++) {\r\n var item = value[itemIndex];\r\n //create answer for item\r\n const itemId = (item[\"key\"] || itemIndex + 1);\r\n var itemAnswer = {\r\n ID: itemId,\r\n Type: item.type,\r\n };\r\n //pus answer to top level List array\r\n answer.List.push(itemAnswer);\r\n\r\n //create list for pushing current item properties\r\n itemAnswer.List = [];\r\n for (var p in item) {\r\n //push item property to current item List collection\r\n itemAnswer.List.push({\r\n ID: p,\r\n Type: 'string',\r\n Value: item[p],\r\n })\r\n }\r\n }\r\n }\r\n else if (typeof value === \"string\" || typeof value === \"number\" || typeof value === 'boolean') {\r\n var answer = {\r\n ID: prop,\r\n Type: 'string',\r\n Value: value,\r\n };\r\n postDataBag.push(answer);\r\n }\r\n else if (typeof value === \"object\") {\r\n //TODO\r\n var answer = {\r\n ID: prop,\r\n Type: 'object',\r\n List: [],\r\n };\r\n postDataBag.push(answer);\r\n for (var p in value) {\r\n //push item property to current item List collection\r\n answer.List.push({\r\n ID: p,\r\n Type: 'string',\r\n Value: value[p],\r\n })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return postDataBag;\r\n }\r\n});\n\n/***/ }),\n/* 70 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_TextInputView_vue__ = __webpack_require__(240);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_TextInputView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__components_TextInputView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_EmailInputView_vue__ = __webpack_require__(214);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_EmailInputView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__components_EmailInputView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_DateInputView_vue__ = __webpack_require__(212);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_DateInputView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__components_DateInputView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_PhoneInputView_vue__ = __webpack_require__(226);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_PhoneInputView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__components_PhoneInputView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__components_MoneyInputView_vue__ = __webpack_require__(223);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__components_MoneyInputView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__components_MoneyInputView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_SSNInputView_vue__ = __webpack_require__(233);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_SSNInputView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__components_SSNInputView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_DropDownView_vue__ = __webpack_require__(213);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_DropDownView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__components_DropDownView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_RadioButtonView_vue__ = __webpack_require__(229);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_RadioButtonView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7__components_RadioButtonView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_YesNoOptionView_vue__ = __webpack_require__(242);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_YesNoOptionView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__components_YesNoOptionView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_CheckboxView_vue__ = __webpack_require__(208);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_CheckboxView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9__components_CheckboxView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_CheckboxGroupValidator_vue__ = __webpack_require__(207);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_CheckboxGroupValidator_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10__components_CheckboxGroupValidator_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__components_SingleTileView_vue__ = __webpack_require__(235);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__components_SingleTileView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11__components_SingleTileView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__components_MultiTileView_vue__ = __webpack_require__(224);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__components_MultiTileView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12__components_MultiTileView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_GroupComponent_vue__ = __webpack_require__(218);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_GroupComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13__components_GroupComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__components_QuestionViewComponent_vue__ = __webpack_require__(227);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__components_QuestionViewComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_14__components_QuestionViewComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__components_ExperiencePageComponent_vue__ = __webpack_require__(216);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__components_ExperiencePageComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_15__components_ExperiencePageComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__components_PageManager_vue__ = __webpack_require__(225);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__components_PageManager_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_16__components_PageManager_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__components_SubformValidationMessageView_vue__ = __webpack_require__(239);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__components_SubformValidationMessageView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_17__components_SubformValidationMessageView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__components_ContentView_vue__ = __webpack_require__(210);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__components_ContentView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_18__components_ContentView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__components_EmptyView_vue__ = __webpack_require__(215);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__components_EmptyView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_19__components_EmptyView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__components_RichContentView_vue__ = __webpack_require__(232);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__components_RichContentView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_20__components_RichContentView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__components_ContinueApplicationButtonComponent_vue__ = __webpack_require__(211);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__components_ContinueApplicationButtonComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_21__components_ContinueApplicationButtonComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__components_SliderView_vue__ = __webpack_require__(236);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__components_SliderView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_22__components_SliderView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__Application_components_BeneficiaryAllocationViewComponent_vue__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__Application_components_BeneficiaryAllocationViewComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_23__Application_components_BeneficiaryAllocationViewComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__components_FormComponent_vue__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__components_FormComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_24__components_FormComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__components_ListComponent_vue__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__components_ListComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_25__components_ListComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__components_SubFormComponent_vue__ = __webpack_require__(238);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__components_SubFormComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_26__components_SubFormComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__components_LoadingView_vue__ = __webpack_require__(222);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__components_LoadingView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_27__components_LoadingView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__components_ReadonlyView_vue__ = __webpack_require__(230);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__components_ReadonlyView_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_28__components_ReadonlyView_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__components_HelpBubbleComponent_vue__ = __webpack_require__(219);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__components_HelpBubbleComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_29__components_HelpBubbleComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__components_businessComponents_ApplicationSubmissionComponent_vue__ = __webpack_require__(243);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__components_businessComponents_ApplicationSubmissionComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_30__components_businessComponents_ApplicationSubmissionComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__components_AdvanceFormComponent_vue__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__components_AdvanceFormComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_31__components_AdvanceFormComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__components_SmartAddressComponent_vue__ = __webpack_require__(47);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__components_SmartAddressComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_32__components_SmartAddressComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__components_InfoSectionComponent_vue__ = __webpack_require__(220);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__components_InfoSectionComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_33__components_InfoSectionComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__components_SmartListComponent_vue__ = __webpack_require__(237);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__components_SmartListComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_34__components_SmartListComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__components_InlineSmartFormComponent_vue__ = __webpack_require__(221);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__components_InlineSmartFormComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_35__components_InlineSmartFormComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__components_BeneficiaryReviewComponent_vue__ = __webpack_require__(206);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__components_BeneficiaryReviewComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_36__components_BeneficiaryReviewComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__components_QuoteEditorComponent_vue__ = __webpack_require__(228);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__components_QuoteEditorComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_37__components_QuoteEditorComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__components_FaqComponent_vue__ = __webpack_require__(217);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__components_FaqComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_38__components_FaqComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__components_ContentComponent_vue__ = __webpack_require__(209);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__components_ContentComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_39__components_ContentComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_40__components_businessComponents_PaymentReviewAndAuthorizeComponent_vue__ = __webpack_require__(245);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_40__components_businessComponents_PaymentReviewAndAuthorizeComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_40__components_businessComponents_PaymentReviewAndAuthorizeComponent_vue__);\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n//\r\n\r\nconst FormComponentRegistrationPlugin = {\r\n install(Vue, options) {\r\n console.log(\"registering form components\");\r\n Vue.component('read-view', __WEBPACK_IMPORTED_MODULE_28__components_ReadonlyView_vue___default.a);\r\n Vue.component('text-input-view', __WEBPACK_IMPORTED_MODULE_0__components_TextInputView_vue___default.a);\r\n Vue.component('email-input-view', __WEBPACK_IMPORTED_MODULE_1__components_EmailInputView_vue___default.a);\r\n Vue.component('date-input-view', __WEBPACK_IMPORTED_MODULE_2__components_DateInputView_vue___default.a);\r\n Vue.component('phone-input-view', __WEBPACK_IMPORTED_MODULE_3__components_PhoneInputView_vue___default.a);\r\n Vue.component('money-input-view', __WEBPACK_IMPORTED_MODULE_4__components_MoneyInputView_vue___default.a);\r\n Vue.component('ssn-input-view', __WEBPACK_IMPORTED_MODULE_5__components_SSNInputView_vue___default.a);\r\n Vue.component('drop-down-view', __WEBPACK_IMPORTED_MODULE_6__components_DropDownView_vue___default.a);\r\n Vue.component('radio-button-view', __WEBPACK_IMPORTED_MODULE_7__components_RadioButtonView_vue___default.a);\r\n Vue.component('yesno-button-view', __WEBPACK_IMPORTED_MODULE_8__components_YesNoOptionView_vue___default.a);\r\n Vue.component('checkbox-view', __WEBPACK_IMPORTED_MODULE_9__components_CheckboxView_vue___default.a);\r\n Vue.component('checkbox-group-validator', __WEBPACK_IMPORTED_MODULE_10__components_CheckboxGroupValidator_vue___default.a);\r\n Vue.component('single-tile-view', __WEBPACK_IMPORTED_MODULE_11__components_SingleTileView_vue___default.a);\r\n Vue.component('multi-tile-view', __WEBPACK_IMPORTED_MODULE_12__components_MultiTileView_vue___default.a);\r\n Vue.component('group-view', __WEBPACK_IMPORTED_MODULE_13__components_GroupComponent_vue___default.a);\r\n Vue.component('question-view', __WEBPACK_IMPORTED_MODULE_14__components_QuestionViewComponent_vue___default.a);\r\n Vue.component('experience-page', __WEBPACK_IMPORTED_MODULE_15__components_ExperiencePageComponent_vue___default.a);\r\n Vue.component('page-manager', __WEBPACK_IMPORTED_MODULE_16__components_PageManager_vue___default.a); \r\n Vue.component('sub-form-validator', __WEBPACK_IMPORTED_MODULE_17__components_SubformValidationMessageView_vue___default.a);\r\n Vue.component('content-view', __WEBPACK_IMPORTED_MODULE_18__components_ContentView_vue___default.a);\r\n Vue.component('empty-view', __WEBPACK_IMPORTED_MODULE_19__components_EmptyView_vue___default.a);\r\n Vue.component('rich-content-view', __WEBPACK_IMPORTED_MODULE_20__components_RichContentView_vue___default.a);\r\n Vue.component('continueApplicationButtonComponent', __WEBPACK_IMPORTED_MODULE_21__components_ContinueApplicationButtonComponent_vue___default.a);\r\n Vue.component('slider-view', __WEBPACK_IMPORTED_MODULE_22__components_SliderView_vue___default.a);\r\n Vue.component('beneficiary-allocation-view', __WEBPACK_IMPORTED_MODULE_23__Application_components_BeneficiaryAllocationViewComponent_vue___default.a);\r\n Vue.component('formComponent', __WEBPACK_IMPORTED_MODULE_24__components_FormComponent_vue___default.a);\r\n Vue.component('listComponent', __WEBPACK_IMPORTED_MODULE_25__components_ListComponent_vue___default.a);\r\n Vue.component('subFormComponent', __WEBPACK_IMPORTED_MODULE_26__components_SubFormComponent_vue___default.a);\r\n Vue.component('loading-view', __WEBPACK_IMPORTED_MODULE_27__components_LoadingView_vue___default.a);\r\n Vue.component('help-bubble', __WEBPACK_IMPORTED_MODULE_29__components_HelpBubbleComponent_vue___default.a);\r\n Vue.component('applicationSubmissionComponent', __WEBPACK_IMPORTED_MODULE_30__components_businessComponents_ApplicationSubmissionComponent_vue___default.a);\r\n Vue.component('advanceFormComponent', __WEBPACK_IMPORTED_MODULE_31__components_AdvanceFormComponent_vue___default.a);\r\n Vue.component('smartAddressComponent', __WEBPACK_IMPORTED_MODULE_32__components_SmartAddressComponent_vue___default.a);\r\n Vue.component('infoSectionComponent', __WEBPACK_IMPORTED_MODULE_33__components_InfoSectionComponent_vue___default.a);\r\n Vue.component('smartListComponent', __WEBPACK_IMPORTED_MODULE_34__components_SmartListComponent_vue___default.a);\r\n Vue.component('inlineSmartFormComponent', __WEBPACK_IMPORTED_MODULE_35__components_InlineSmartFormComponent_vue___default.a);\r\n Vue.component('beneficiaryReviewComponent', __WEBPACK_IMPORTED_MODULE_36__components_BeneficiaryReviewComponent_vue___default.a);\r\n Vue.component('quoteEditorComponent', __WEBPACK_IMPORTED_MODULE_37__components_QuoteEditorComponent_vue___default.a);\r\n Vue.component('faqComponent', __WEBPACK_IMPORTED_MODULE_38__components_FaqComponent_vue___default.a);\r\n Vue.component('contentComponent', __WEBPACK_IMPORTED_MODULE_39__components_ContentComponent_vue___default.a);\r\n Vue.component('paymentReviewAndAuthorizeComponent', __WEBPACK_IMPORTED_MODULE_40__components_businessComponents_PaymentReviewAndAuthorizeComponent_vue___default.a); \r\n }\r\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = FormComponentRegistrationPlugin;\n\n\n/***/ }),\n/* 71 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nconst sessionSettingKey = 'sessionSettings';\r\n\r\nvar sessionStore = {\r\n [sessionSettingKey]: {}\r\n};\r\n\r\nconst sessionSettings = {\r\n setSession(key, value) {\r\n let settings = sessionStore[sessionSettingKey] || {};\r\n settings[key] = value;\r\n },\r\n getSession(key) {\r\n return (sessionStore[sessionSettingKey] || {})[key];\r\n },\r\n};\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = sessionSettings;\n\r\n\r\n/* unused harmony default export */ var _unused_webpack_default_export = ({\r\n //installed: false,\r\n\r\n install(Vue, options) {\r\n console.log(\"registering settings plugin\");\r\n\r\n //Change Global Vue Object\r\n //This is added to access data on Global Vue object without creating instance\r\n Vue.getSessionSettings = function () {\r\n return sessionSettings;\r\n };\r\n\r\n //modify Vue instance\r\n Object.defineProperty(Vue.prototype, '$sessionSettings', {\r\n get() { return sessionSettings }\r\n });\r\n }\r\n});\n\n/***/ }),\n/* 72 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// util function to convert the input to string type\r\nfunction convertToString(input) {\r\n\r\n if (input) {\r\n\r\n if (typeof input === \"string\") {\r\n\r\n return input;\r\n }\r\n\r\n return String(input);\r\n }\r\n return '';\r\n}\r\n\r\nfunction stringHashCode(input) {\r\n let code = input.split(\"\").reduce(function (a, b) { a = ((a << 5) - a) + b.charCodeAt(0); return a & a }, 0);\r\n return code < 0 ? code * (-1) : code;\r\n}\r\n\r\n\r\n// convert string to words\r\nfunction toWords(input) {\r\n\r\n input = convertToString(input);\r\n\r\n var regex = /[A-Z\\xC0-\\xD6\\xD8-\\xDE]?[a-z\\xDF-\\xF6\\xF8-\\xFF]+|[A-Z\\xC0-\\xD6\\xD8-\\xDE]+(?![a-z\\xDF-\\xF6\\xF8-\\xFF])|\\d+/g;\r\n\r\n return input.match(regex);\r\n\r\n}\r\n\r\n\r\n// convert the input array to camel case\r\nfunction toCamelCase(inputArray) {\r\n\r\n let result = \"\";\r\n\r\n for (let i = 0, len = inputArray.length; i < len; i++) {\r\n\r\n let currentStr = inputArray[i];\r\n\r\n let tempStr = currentStr.toLowerCase();\r\n\r\n if (i != 0) {\r\n\r\n // convert first letter to upper case (the word is in lowercase) \r\n tempStr = tempStr.substr(0, 1).toUpperCase() + tempStr.substr(1);\r\n\r\n }\r\n\r\n result += tempStr;\r\n\r\n }\r\n\r\n return result;\r\n}\r\n\r\n\r\n// this function call all other functions\r\n\r\nfunction toCamelCaseString(input) {\r\n\r\n let words = toWords(input);\r\n\r\n return toCamelCase(words);\r\n\r\n}\r\n\r\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n toCamelCase: toCamelCaseString,\r\n stringHash: stringHashCode\r\n });\n\n/***/ }),\n/* 73 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__DomHelper__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__router__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__routeUtil__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Utility__ = __webpack_require__(2);\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nfunction runActions(actions, callback) {\r\n actions = actions || [];\r\n const actionCount = actions.length;\r\n var innerCounter = 0;\r\n\r\n const internalCallback = function () {\r\n innerCounter++;\r\n if (innerCounter === actionCount && callback) {\r\n callback();\r\n }\r\n }\r\n actions.forEach((action, index) => {\r\n __WEBPACK_IMPORTED_MODULE_2__Application_services_HttpCommunicationService__[\"a\" /* default */].processDropinAction(action.actionKey,\r\n function (data) {\r\n if (data && data.length > 0) {\r\n const actionInfo = data[0];\r\n runAction(actionInfo, 'Please wait...', internalCallback);\r\n }\r\n else {\r\n internalCallback();\r\n }\r\n },\r\n\r\n function (error) {\r\n console.log(error);\r\n internalCallback();\r\n }\r\n );\r\n });\r\n}\r\nfunction runAction(actionInfo, message, completionCallback) {\r\n completionCallback = completionCallback || function () { };\r\n if (actionInfo) {\r\n //pending action\r\n if (actionInfo.status === 2) {\r\n if (actionInfo.method === 0 || actionInfo.type === 3) {//error page\r\n //make get request\r\n //navigate to error page\r\n __WEBPACK_IMPORTED_MODULE_4__routeUtil__[\"a\" /* default */].navigateToPage(__WEBPACK_IMPORTED_MODULE_3__router__[\"a\" /* default */], actionInfo.url, true);\r\n }\r\n else if (actionInfo.method === 1) {//query/get\r\n //make get request\r\n completionCallback();\r\n window.location = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__Utility__[\"b\" /* sanitizeUrl */])(action.url);\r\n }\r\n else if (actionInfo.method === 2) {//form/post\r\n var formInfo = {\r\n action: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_5__Utility__[\"b\" /* sanitizeUrl */])(action.url),\r\n dataDictionary: actionInfo.formData,\r\n headers: actionInfo.headers,\r\n processingMessage: message || 'Please wait...',\r\n }\r\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__DomHelper__[\"a\" /* postForm */])(formInfo, __WEBPACK_IMPORTED_MODULE_0__Application_services_dialogService__[\"a\" /* default */]);\r\n completionCallback();\r\n }\r\n }\r\n else if (actionInfo.status === 1) {\r\n //action already completed\r\n completionCallback();\r\n }\r\n }\r\n else {\r\n completionCallback();\r\n }\r\n}\r\n\r\n\r\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n runActions\r\n});\n\n/***/ }),\n/* 74 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * Simple format function borrowed from PureMask.js\r\n * {@link https://github.com/romulobrasil/PureMask.js}\r\n *\r\n * @param {String} data String to mask (input value)\r\n * @param {String} [mask] Mask format, like `####-##`\r\n * @returns {string} Formatted text\r\n */\r\n/* harmony default export */ __webpack_exports__[\"a\"] = (function (data, mask){\r\n // don't do anything if mask is undefined/null/etc\r\n if(!mask) return data;\r\n\r\n const maskStartRegExp = /^([^#ANX]+)/;\r\n\r\n if (data.length == 1 && maskStartRegExp.test(mask)) {\r\n data = maskStartRegExp.exec(mask)[0] + data;\r\n }\r\n\r\n let text = '';\r\n\r\n // Adds a char offset to allow testing on optional values\r\n var cOffset = 0;\r\n\r\n // Cleans data to avoid value loss on dynamic mask changing\r\n for (var i = 0; i < mask.length; i++) {\r\n var m = mask.charAt(i)\r\n switch(m) {\r\n case '#' : break;\r\n case 'A' : break;\r\n case '?' : break;\r\n case 'N' : break;\r\n case 'X' : break;\r\n default : data = data.replace(m, '')\r\n }\r\n }\r\n for (let i = 0, x = 1; x && i < mask.length; ++i) {\r\n // Uses the optional mask character offset\r\n let c = data.charAt(i - cOffset);\r\n let m = mask.charAt(i);\r\n\r\n switch (m) {\r\n case '#' : if (/\\d/.test(c)) {text += c;} else {x = 0;} break;\r\n case 'A' : if (/[a-z]/i.test(c)) {text += c;} else {x = 0;} break;\r\n case 'N' : if (/[a-z0-9]/i.test(c)) {text += c;} else {x = 0;} break;\r\n // Skips testing if optional field is specified\r\n case '?' : cOffset++; break;\r\n case 'X' : text += c; break;\r\n default :\r\n text += m;\r\n\r\n // preserve characters that are in the same spot we need to insert a mask\r\n // character by shifting the data over to the right (issue #5, & #7)\r\n if (c && c !== m) {\r\n data = ' ' + data;\r\n }\r\n\r\n break;\r\n }\r\n }\r\n return text;\r\n});\r\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\r\n * Notifies Vue about internal value change\r\n * @see https://github.com/vuejs/Discussion/issues/157#issuecomment-273301588\r\n *\r\n * @param {HTMLInputElement} el\r\n * @param {String} type\r\n */\r\nconst trigger = (el, type) => {\r\n const e = document.createEvent('HTMLEvents');\r\n e.initEvent(type, true, true);\r\n el.dispatchEvent(e)\r\n};\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = trigger;\n\r\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function (eventName) {\r\n var event = null;\r\n if (typeof (Event) === 'function') {\r\n event = new Event(eventName);\r\n }\r\n else {\r\n event = document.createEvent('Event');\r\n event.initEvent(eventName, true, true);\r\n }\r\n return event;\r\n});\n\n/***/ }),\n/* 77 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(defaults, extras) {\r\n return Object.keys(defaults).concat(Object.keys(extras)).reduce(function(acc, val) {\r\n acc[val] = extras[val] === undefined ? defaults[val] : extras[val]\r\n return acc\r\n }, {})\r\n});\r\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils__ = __webpack_require__(79);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__assign__ = __webpack_require__(77);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__options__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Event__ = __webpack_require__(76);\n\r\n\r\n\r\n\r\n\r\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(el, binding) {\r\n var opt = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__assign__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_2__options__[\"a\" /* default */], binding.value)\r\n\r\n // v-money used on a component that's not a input\r\n if (el.tagName.toLocaleUpperCase() !== 'INPUT') {\r\n var els = el.getElementsByTagName('input')\r\n if (els.length !== 1) {\r\n throw new Error(\"v-money requires 1 input, found \" + els.length)\r\n } else {\r\n el = els[0]\r\n }\r\n }\r\n\r\n el.oninput = function() {\r\n var positionFromEnd = el.value.length - el.selectionEnd\r\n el.value = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* format */])(el.value, opt)\r\n positionFromEnd = Math.max(positionFromEnd, opt.suffix.length) // right\r\n positionFromEnd = el.value.length - positionFromEnd\r\n positionFromEnd = Math.max(positionFromEnd, opt.prefix.length + 1) // left\r\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__utils__[\"b\" /* setCursor */])(el, positionFromEnd)\r\n var event = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__Event__[\"a\" /* default */])('change');\r\n\r\n el.dispatchEvent(event) // v-model.lazy\r\n }\r\n\r\n el.onfocus = function() {\r\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__utils__[\"b\" /* setCursor */])(el, el.value.length - opt.suffix.length)\r\n }\r\n\r\n el.oninput()\r\n var event = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__Event__[\"a\" /* default */])('input');\r\n el.dispatchEvent(event) // force format after initialization\r\n});\r\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return format; });\n/* unused harmony export unformat */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return setCursor; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__options__ = __webpack_require__(27);\n\r\n\r\nfunction format(input, opt = __WEBPACK_IMPORTED_MODULE_0__options__[\"a\" /* default */]) {\r\n if (typeof input === 'number') {\r\n input = input.toFixed(fixed(opt.precision))\r\n }\r\n var numbers = onlyNumbers(input)\r\n //if numbers = 0 , return empty value\r\n if (numbers == 0) {\r\n return ''\r\n }\r\n var currency = numbersToCurrency(numbers, opt.precision)\r\n var parts = toStr(currency).split('.')\r\n var integer = parts[0]\r\n var decimal = parts[1]\r\n integer = addThousandSeparator(integer, opt.thousands)\r\n return opt.prefix + joinIntegerAndDecimal(integer, decimal, opt.decimal) + opt.suffix\r\n}\r\n\r\nfunction unformat(input, precision) {\r\n var numbers = onlyNumbers(input)\r\n var currency = numbersToCurrency(numbers, precision)\r\n return parseFloat(currency)\r\n}\r\n\r\nfunction onlyNumbers(input) {\r\n return toStr(input).replace(/\\D+/g, '') || '0'\r\n}\r\n\r\n// Uncaught RangeError: toFixed() digits argument must be between 0 and 20 at Number.toFixed\r\nfunction fixed(precision) {\r\n return between(0, precision, 20)\r\n}\r\n\r\nfunction between(min, n, max) {\r\n return Math.max(min, Math.min(n, max))\r\n}\r\n\r\nfunction numbersToCurrency(numbers, precision) {\r\n var exp = Math.pow(10, precision)\r\n var float = parseFloat(numbers) / exp\r\n return float.toFixed(fixed(precision))\r\n}\r\n\r\nfunction addThousandSeparator(integer, separator) {\r\n return integer.replace(/(\\d)(?=(?:\\d{3})+\\b)/gm, `$1${separator}`)\r\n}\r\n\r\nfunction currencyToIntegerAndDecimal(float) {\r\n return toStr(float).split('.')\r\n}\r\n\r\nfunction joinIntegerAndDecimal(integer, decimal, separator) {\r\n return decimal ? integer + separator + decimal : integer\r\n}\r\n\r\nfunction toStr(value) {\r\n return value ? value.toString() : ''\r\n}\r\n\r\nfunction setCursor(el, position) {\r\n var setSelectionRange = function() { el.setSelectionRange(position, position) }\r\n if (el === document.activeElement) {\r\n setSelectionRange()\r\n setTimeout(setSelectionRange, 1) // Android Fix\r\n }\r\n}\r\n\r\n\r\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Utilities_Utility__ = __webpack_require__(2);\n\r\n\r\n\r\n\r\nconst BaseApplicationMixin = {\r\n created() {\r\n this.registerEvents();\r\n },\r\n destroyed() {\r\n this.unRegisterEvents();\r\n },\r\n methods: {\r\n registerEvents() {\r\n this.$eventBus.$on(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.PAGE_LOADED, this._onPageLoaded);\r\n this.$eventBus.$on(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.PAGE_LOADING, this._onPageStartLoading);\r\n },\r\n unRegisterEvents() {\r\n this.$eventBus.$off(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.PAGE_LOADED, this._onPageLoaded);\r\n this.$eventBus.$off(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.PAGE_LOADING, this._onPageStartLoading);\r\n },\r\n _onPageLoaded(pageData) {\r\n //trigger analytics\r\n console.log('_onPageLoaded', pageData)\r\n const $this = this;\r\n this.setTitle(pageData.title);\r\n\r\n window.setTimeout(function () {\r\n $this.sendPageView();\r\n }, 100);\r\n },\r\n _onPageStartLoading(pageId) {\r\n //trigger\r\n var url = this.getPageUrl(pageId);\r\n console.log('_onPageStartLoading', url);\r\n this.$adrum.pageLoading(url);\r\n },\r\n setTitle(title) {\r\n //set page title\r\n var jq = window.jQuery || window.jquery;\r\n if (jq) {\r\n jq(document).attr('title', title);\r\n }\r\n },\r\n setupExperienceFromRouter() {\r\n var routeFragments = __WEBPACK_IMPORTED_MODULE_2__Utilities_Utility__[\"a\" /* Utility */].getRootRoute(this.$router);\r\n if (this.$router && routeFragments && routeFragments.length > 0) {\r\n this.experience = routeFragments[0]\r\n }\r\n },\r\n initializeAnalytic() {\r\n this.$googleAnalytic.startTracking(__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].$applicationData.googleAnalyticCode);\r\n this.$siteCatalyst.startTracking(__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].$applicationData.marketingParameter);\r\n },\r\n sendPageView() {\r\n var routePath = this.$router.currentRoute.path;\r\n var pageId = '';\r\n if (routePath) {\r\n var parts = routePath.split('/');\r\n if (parts.length > 0) {\r\n pageId = parts[parts.length - 1];\r\n }\r\n }\r\n\r\n if (pageId && this.$googleAnalytic) {\r\n this.$googleAnalytic.sendPageView(pageId);\r\n }\r\n if (pageId && this.$siteCatalyst) {\r\n this.$siteCatalyst.trackPageView();\r\n }\r\n if (pageId && this.$sessionCam) {\r\n var url = routePath\r\n this.$sessionCam.createVirtualPageLoad(url);\r\n }\r\n if (pageId && this.$adrum) {\r\n this.$adrum.pageLoaded(routePath);\r\n }\r\n console.log('sendPageView');\r\n },\r\n getPageUrl(pageId) {\r\n var routePath = this.$router.currentRoute.path;\r\n var url = '';\r\n if (routePath) {\r\n var parts = routePath.split('/');\r\n\r\n if (parts.length > 0) {\r\n parts[parts.length - 1] = pageId;\r\n url = parts.join('/');\r\n }\r\n }\r\n return url;\r\n }\r\n }\r\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = BaseApplicationMixin;\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\r\nfunction evaluateConditionCollection(conditions, dataBag, defaultValue) {\r\n var result = defaultValue;\r\n var condIndex = 0;\r\n conditions = conditions || [];\r\n dataBag = dataBag || {};\r\n\r\n conditions.forEach(condition => {\r\n condIndex++;\r\n var data = dataBag[condition.dataKey];\r\n const value = condition.value;\r\n const operator = condition.operator;\r\n const format = condition.format;\r\n var dataResult = '';\r\n\r\n switch (format) {\r\n case 'count':\r\n {\r\n dataResult = (data || []).length + '';\r\n }\r\n break;\r\n default:\r\n }\r\n const conditionResult = evalExpression(dataResult + operator + value, dataBag, defaultValue);\r\n //combine result from previous\r\n\r\n result = condIndex === 1 ? conditionResult : result && conditionResult;\r\n });\r\n return result;\r\n}\r\n\r\nfunction evaluateConditionExpression(expression, dataBag, defaultValue) {\r\n //expression = expression ;\r\n return evalExpression(expression, dataBag, defaultValue);\r\n}\r\nfunction evaluateConditions(conditions, dataBag, defaultValue) {\r\n\r\n if (Array.isArray(conditions)) {\r\n return evaluateConditionCollection(conditions, dataBag, defaultValue);\r\n }\r\n else if (typeof conditions === 'string' || conditions instanceof String) {\r\n return evaluateConditionExpression(conditions, dataBag, defaultValue);\r\n }\r\n\r\n}\r\n\r\nfunction evalExpression(exp, data, defaultValue) {\r\n try {\r\n var dataBag = data || {};\r\n console.log('evalExpression', dataBag )\r\n \r\n return eval(exp);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n return defaultValue;\r\n}\r\n\r\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\r\n evaluateConditions\r\n});\n\n/***/ }),\n/* 82 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_Plugins_FormComponentRegistrationPlugin__ = __webpack_require__(70);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Plugins_ApplicationComponentRegistrationPlugin__ = __webpack_require__(62);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Shared_Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Application_services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Shared_mixins_BaseApplicationMixin__ = __webpack_require__(80);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__routeUtil__ = __webpack_require__(23);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n\n\n//register common form components\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_1__Shared_Plugins_FormComponentRegistrationPlugin__[\"a\" /* FormComponentRegistrationPlugin */]);\n//register application components\n__WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].use(__WEBPACK_IMPORTED_MODULE_2__Plugins_ApplicationComponentRegistrationPlugin__[\"a\" /* ApplicationComponentRegistrationPlugin */]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_6__Shared_mixins_BaseApplicationMixin__[\"a\" /* BaseApplicationMixin */]],\n data() {\n return {\n loading: true,\n transitionName: 'slide-left',\n currentRoute: 0,\n experience: ''\n };\n },\n created: function () {\n this.initialize();\n },\n watch: {\n '$route'(to, from) {\n console.log(\"routing completed\");\n this.loading = false;\n }\n },\n methods: {\n initialize() {\n var $this = this;\n //setup expereince\n this.setupExperienceFromRouter();\n //load application setup data\n __WEBPACK_IMPORTED_MODULE_4__Application_services_HttpCommunicationService__[\"a\" /* default */].getAppData(this.experience,\n ///success callback\n function () {\n //setup routes\n $this.setupRoutes();\n //initialize anaylytic\n $this.initializeAnalytic();\n },\n ///failure callback\n function () {\n //show error dialog\n __WEBPACK_IMPORTED_MODULE_5__Application_services_dialogService__[\"a\" /* default */].showTechnicalErrorDialog();\n });\n },\n setupRoutes() {\n console.log('setting routes', this);\n var $this = this;\n if (this.experience != '') {\n //iterate through route and setup\n var routeList = __WEBPACK_IMPORTED_MODULE_7__routeUtil__[\"a\" /* default */].getRoutes(this.experience);\n console.log('routeList-before', routeList);\n __WEBPACK_IMPORTED_MODULE_7__routeUtil__[\"a\" /* default */].configureRoutes(this.$router, routeList);\n console.log('routeList-after', __WEBPACK_IMPORTED_MODULE_7__routeUtil__[\"a\" /* default */].getConfigredRoutes());\n console.log(\"Routing is setup with routes\", { router: this.$router, routes: routeList });\n } else {\n console.error(\"Error setting routing.\");\n }\n }\n }\n});\n\n/***/ }),\n/* 83 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Application_components_BeneficiaryReviewComponent_vue__ = __webpack_require__(196);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Application_components_BeneficiaryReviewComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__Application_components_BeneficiaryReviewComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Application_components_PersonalInfoReviewComponent_vue__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Application_components_PersonalInfoReviewComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__Application_components_PersonalInfoReviewComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {\n dataKey: {\n type: [String, Object],\n required: false\n }\n },\n components: {\n 'beneficiary-review': __WEBPACK_IMPORTED_MODULE_3__Application_components_BeneficiaryReviewComponent_vue___default.a,\n 'personal-info-review': __WEBPACK_IMPORTED_MODULE_4__Application_components_PersonalInfoReviewComponent_vue___default.a\n },\n data: function () {\n return {\n //add disorder flag\n //setup data properties\n quote: {\n productName: '',\n carrierName: '',\n coverage: '',\n planType: '',\n selectedPremiumSummary: {\n premiumFrequency: '',\n premiumAmount: '',\n premiumDeductionDay: ''\n //premiumFrequency: '',\n //premiumAmount: '',\n //premiumDeductionDay:''\n } },\n validationKey: 'applicationSummaryValidationKey',\n normalizeDataKeys: {\n beneficiariesKey: ''\n },\n normalized: false,\n personalSectionEditing: false,\n beneficiarySectionEditing: false,\n agreementCopy: ''\n };\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n this.ensureDateKeyNormalization();\n this.getQuoteSummary();\n this.loadDynamicContent('applicationSummaryComponent', 'agreementCopyHtml,signatureTermHtml');\n },\n computed: {\n premiumDeductionDayHtml() {\n var dayTextHtml = '';\n const deductionDay = this.quote.selectedPremiumSummary.premiumDeductionDay;\n if (deductionDay == 1 || deductionDay == 31) {\n dayTextHtml = deductionDay + 'st';\n } else if (deductionDay == 2) {\n dayTextHtml = deductionDay + 'nd';\n } else if (deductionDay == 3) {\n dayTextHtml = deductionDay + 'rd';\n } else {\n dayTextHtml = deductionDay + 'th';\n }\n return dayTextHtml;\n },\n coverageAmount() {\n return this.dataBag[__WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].COVERAGE_AMOUNT_KEY];\n },\n beneficiariesDataKey() {\n this.ensureDateKeyNormalization();\n return this.normalizeDataKeys.beneficiariesKey;\n },\n paymentDetailCollected() {\n //check for payment method inside payment component databag\n //if payment detail collected for CC/Bank draft\n if (this.dataBag) {\n var paymentMethod = this.dataBag[__WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].PAYMENT_METHOD_KEY];\n\n if (paymentMethod) {\n return paymentMethod == __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.BANK_ACCOUNT || paymentMethod == __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.CREDIT_CARD;\n }\n }\n return false;\n },\n planType() {\n return this.dataBag[__WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].PLAN_TYPE_KEY];\n },\n applicationPdfLink() {\n return __WEBPACK_IMPORTED_MODULE_5__Application_services_HttpCommunicationService__[\"a\" /* default */].getApplicationPdfLink();\n }\n },\n methods: {\n onPersonalSectionEdit(editing) {\n this.personalSectionEditing = editing;\n },\n onBeneficiarySectionEdit(editing) {\n this.beneficiarySectionEditing = editing;\n },\n formatCurrency(amount, precision) {\n var fm = '';\n if (!precision) {\n precision = 0;\n }\n if (amount) {\n fm = __WEBPACK_IMPORTED_MODULE_1__Shared_Utilities_Utility__[\"a\" /* Utility */].formatCurrency(amount, precision);\n }\n\n return fm;\n },\n getQuoteSummary() {\n var $this = this;\n __WEBPACK_IMPORTED_MODULE_5__Application_services_HttpCommunicationService__[\"a\" /* default */].getQuoteSummary(function (data) {\n $this.quote = data;\n }, function (error) {\n console.log(\"getQuoteSummary error \" + error);\n });\n },\n ensureDateKeyNormalization() {\n this.ensureDataKeyParsing();\n this.normalizeDataKeys = this.dataKeyObject;\n }\n }\n});\n\n/***/ }),\n/* 84 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentInterfaceMixin__ = __webpack_require__(10);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentInterfaceMixin__[\"a\" /* ComponentInterfaceMixin */]],\n props: {\n //form state for validation\n getQuoteHandler: {\n type: Function,\n required: true\n }\n },\n computed: {\n heroContentHtml() {\n let msg = '';\n if (this.pageSchema) {\n console.log('heroContentHtml');\n const message = (this.pageSchema.messages || [] || []).find(m => m.key === \"banner_hero_content_html\");\n msg = (message || {}).value || '';\n }\n\n console.log('heroContentHtml', this.pageSchema);\n return msg;\n },\n policyDisclaimerHtml() {\n let msg = '';\n if (this.pageSchema) {\n const message = (this.pageSchema.messages || [] || []).find(m => m.key === \"banner_policy_disclaimer_html\");\n msg = (message || {}).value || '';\n }\n return msg;\n }\n },\n methods: {\n getQuoteClickHandler() {\n this.getQuoteHandler();\n }\n }\n});\n\n/***/ }),\n/* 85 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__BeneficiaryListComponent_vue__ = __webpack_require__(38);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__BeneficiaryListComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__BeneficiaryListComponent_vue__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_3__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {},\n components: {\n 'beneficiary-list': __WEBPACK_IMPORTED_MODULE_4__BeneficiaryListComponent_vue___default.a\n },\n data: function () {\n return {\n //add Beneficiary flag\n showBeneficiaryForm: false,\n //setup data properties\n componentState: {},\n componentDataBag: {},\n validationKey: 'beneficiariesValidationKey',\n dataKeys: {\n maxPrimaryBeneficiary: 1,\n minPrimaryBeneficiary: 1,\n maxContingentBeneficiary: 1,\n minContingentBeneficiary: 1,\n beneficiariesDataKey: ''\n },\n beneficiaryType: '',\n formTitle: 'Add Beneficiary',\n normalized: false\n };\n },\n mounted() {\n this.ensureDateKeyNormalization();\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.dataKeys.beneficiariesDataKey]) {\n this.$set(this.dataBag, this.dataKeys.beneficiariesDataKey, []);\n }\n if (this.beneficiaries.length == 0) {\n this.beneficiaryType = __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].BENEFICIARY_TYPE.PRIMARY;\n this.showBeneficiaryForm = true;\n }\n },\n computed: {\n primaryBeneficiaries() {\n return this.beneficiaries.filter(function (item) {\n return item.beneficiary_type == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].BENEFICIARY_TYPE.PRIMARY;\n });\n },\n contingentBeneficiaries() {\n return this.beneficiaries.filter(function (item) {\n return item.beneficiary_type == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].BENEFICIARY_TYPE.CONTINGENT;\n });\n },\n beneficiaries() {\n return this.dataBag[this.dataKeys.beneficiariesDataKey] || [];\n },\n primaryBeneficiaryRequiredCountMesage() {\n return 'Please add at least ' + this.dataKeys.minPrimaryBeneficiary + ' primary beneficiary.';\n },\n contingentBeneficiaryRequiredCountMesage() {\n return 'Please add at least ' + this.dataKeys.minContingentBeneficiary + ' contingent beneficiary.';\n }\n },\n methods: {\n dummyChangeHandler(key) {\n //this.componentDataBag = {};\n },\n onAddContingentBeneficiary() {\n this.formTitle = 'Add Contingent Beneficiary';\n this.beneficiaryType = __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].BENEFICIARY_TYPE.CONTINGENT;\n this.showBeneficiaryForm = true;\n },\n onAddBeneficiary() {\n this.formTitle = 'Add Beneficiary';\n this.beneficiaryType = __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].BENEFICIARY_TYPE.PRIMARY;\n this.showBeneficiaryForm = true;\n },\n onSaveBeneficiary() {\n console.log('onSave');\n //check component state for val\n this.$set(this.componentState, '$submitted', true);\n //touch component states to highlight field\n this.touchComponentState(this.componentState);\n if (this.componentState.$valid) {\n this.$set(this.componentState, '$submitted', false);\n //push to collection\n if (!this.componentDataBag.key) {\n this.componentDataBag.key = __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__[\"a\" /* Utility */].newGuid();\n }\n var record = this.componentDataBag;\n\n var item = {\n key: record.key,\n beneficiary: __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].BENEFICIARY.PERSON,\n beneficiary_person_firstName: record.beneficiary_person_firstName,\n beneficiary_person_middleName: record.beneficiary_person_middleName,\n beneficiary_person_lastName: record.beneficiary_person_lastName,\n beneficiary_person_dob: record.beneficiary_person_dob,\n beneficiary_person_relationship: record.beneficiary_person_relationship,\n beneficiary_type: this.beneficiaryType,\n percentShare: 100\n };\n this.dataBag[this.dataKeys.beneficiariesDataKey].push(item);\n\n //reset data\n this.componentDataBag = {};\n //reset flag\n this.showBeneficiaryForm = false;\n this.beneficiaryType = '';\n //save data\n this.saveComponentData();\n this.clearFormState();\n }\n },\n onCancel() {\n this.componentDataBag = {};\n this.showBeneficiaryForm = false;\n this.clearFormState();\n },\n deleteBeneficiary(key) {\n var $this = this;\n if (__WEBPACK_IMPORTED_MODULE_2__Application_services_dialogService__[\"a\" /* default */].confirmAdvanced) {\n __WEBPACK_IMPORTED_MODULE_2__Application_services_dialogService__[\"a\" /* default */].confirmAdvanced(\"Do you really want to delete beneficiary?\", function (result) {\n if (result) {\n var itemIdex = -1;\n var list = $this.dataBag[$this.dataKeys.beneficiariesDataKey];\n for (var index = 0; index < list.length; index++) {\n if (list[index].key == key) {\n itemIdex = index;\n break;\n }\n }\n if (itemIdex > -1) {\n list.splice(itemIdex, 1);\n //save data\n $this.saveComponentData();\n }\n }\n }, 'Delete');\n }\n },\n ensureDateKeyNormalization() {\n if (!this.normalized) {\n this.dataKeys = JSON.parse(this.dataKey);\n this.normalized = true;\n console.log(\"this.dataKey\", this.dataKeys);\n }\n }\n }\n});\n\n/***/ }),\n/* 86 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n //showAllocation - dont delete this as its needed for polymorphism\n showAllocation: {\n type: Boolean,\n required: false,\n default: false\n },\n //form state for validation\n beneficiaries: {\n type: Array,\n required: true\n },\n deleteBeneficiaryHandler: {\n type: Function,\n required: false\n }\n },\n computed: {\n showDeleteAction() {\n return this.deleteBeneficiaryHandler != null;\n }\n },\n methods: {\n deleteBeneficiary: function (key) {\n if (this.deleteBeneficiaryHandler) {\n this.deleteBeneficiaryHandler(key);\n }\n }\n }\n});\n\n/***/ }),\n/* 87 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Application_services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {},\n components: {},\n data: function () {\n return {\n //add Beneficiary flag\n showChildForm: false,\n //setup data properties\n componentState: {},\n componentDataBag: {},\n childFormQuestions: {\n \"title\": \"\",\n \"helpText\": \"\",\n \"questions\": []\n },\n validationKey: 'childrenValidationKey',\n normalizeDataKeys: {\n ageRange: '-18|0',\n ageRangeMessage: \"Child age must not exceed 18 year.\",\n maxChildrenAllowed: 3\n },\n normalized: false\n };\n },\n mounted() {\n this.ensureDateKeyNormalization();\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.normalizeDataKeys.childrenDataKey]) {\n this.$set(this.dataBag, this.normalizeDataKeys.childrenDataKey, []);\n }\n if (this.children.length == 0) {\n this.showChildForm = true;\n }\n this.childFormQuestions = this.getChildFormQuestionData();\n },\n computed: {\n children() {\n return this.dataBag[this.normalizeDataKeys.childrenDataKey] || [];\n },\n addChildLabel() {\n (this.dataBag[this.normalizeDataKeys.childrenDataKey] || []).length > 0 ? \"Add Another Child\" : \"Add Child\";\n },\n maxChildrenAllowed() {\n return this.normalizeDataKeys.maxChildrenAllowed || 3;\n }\n\n },\n methods: {\n getChildFormQuestionData() {\n return {\n \"title\": \"\",\n \"helpText\": \"\",\n \"questions\": [[{\n \"question\": {\n \"questionKey\": \"child_FirstName\",\n \"text\": \"First Name\",\n \"type\": \"text\",\n \"allowedCharacters\": \"[a-zA-Z ]\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"The 'First Name' question/field is required and cannot be left blank\",\n \"maxlength\": 20,\n \"maxlengthMessage\": \"'First Name' field cannot be more than 20 characters.\",\n \"minlength\": 2,\n \"minlengthMessage\": \"'First Name' field must be a mimimum of 2 characters.\",\n \"pattern\": \"^([a-zA-Z])+([ ]?[a-zA-Z])*$\",\n \"patternMessage\": \"'First Name' can only contains alphabetical characters and it can not begin or end with a space.\"\n }\n },\n \"colSize\": 3\n }, {\n \"question\": {\n \"questionKey\": \"child_MiddleInitial\",\n \"text\": \"M\",\n \"type\": \"text\",\n \"maskFormat\": \"A\",\n \"validators\": {\n \"maxlength\": 1,\n \"maxlengthMessage\": \"Please enter maximum 1 character.\"\n }\n },\n \"colSize\": 1\n }, {\n \"question\": {\n \"questionKey\": \"child_LastName\",\n \"text\": \"Last Name\",\n \"type\": \"text\",\n \"allowedCharacters\": \"[a-zA-Z\\\\-' ]\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"The 'Last Name' question/field is required and cannot be left blank\",\n \"minlength\": 2,\n \"minlengthMessage\": \"'Last Name' field must be a mimimum of 2 characters.\",\n \"maxlength\": 20,\n \"maxlengthMessage\": \"'Last Name' field cannot be more than 20 characters.\",\n \"pattern\": \"^([a-zA-Z])+([ \\\\-']?[a-zA-Z])*$\",\n \"patternMessage\": \"'Last Name' can only contains alphabetical characters, dashes (-), apostrophes (') and it can not begin or end with a space.\"\n }\n },\n \"colSize\": 3\n }], [{\n \"question\": {\n \"questionKey\": \"child_Dob\",\n \"type\": \"date\",\n \"text\": \"Date of Birth\",\n \"disableCalender\": true,\n \"placeholder\": \"Date of birth\",\n \"focusPlaceholder\": \"MM/DD/YYYY\",\n \"maskFormat\": \"##/##/####\",\n \"helpText\": this.normalizeDataKeys.ageHelpText,\n \"dateYearRange\": this.normalizeDataKeys.ageRange,\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\",\n \"dateRangeMessage\": this.normalizeDataKeys.ageRangeMessage\n }\n },\n \"colSize\": 4\n }, {\n \"question\": {\n \"questionKey\": \"child_Gender\",\n \"text\": \"\",\n \"type\": \"radio\",\n \"answerOptions\": [{\n \"text\": \"Male\",\n \"value\": \"Male\",\n \"iconClass\": \"male\"\n }, {\n \"text\": \"Female\",\n \"value\": \"Female\",\n \"iconClass\": \"female\"\n }],\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"The 'Gender' question/field is required and cannot be left blank\"\n }\n },\n \"colSize\": 4\n }], [{\n \"question\": {\n \"questionKey\": \"child_UsCitizen\",\n \"text\": \"Is your child a citizen of the United States?\",\n \"type\": \"yesno\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"The 'Child Citizenship' question/field is required and cannot be left blank\"\n }\n }\n }]]\n };\n },\n dummyChangeHandler(key) {\n //this.componentDataBag = {};\n },\n onAddChildDetail() {\n this.showChildForm = true;\n },\n onSaveChildDetail() {\n console.log('onSave');\n //check component state for val\n this.$set(this.componentState, '$submitted', true);\n //touch component states to highlight field\n this.touchComponentState(this.componentState);\n if (this.componentState.$valid) {\n this.$set(this.componentState, '$submitted', false);\n //push to collection\n if (!this.componentDataBag.key) {\n this.componentDataBag.key = __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__[\"a\" /* Utility */].newGuid();\n }\n var record = this.componentDataBag;\n\n var item = {\n key: record.key,\n firstName: record.child_FirstName,\n middleInitial: record.child_MiddleInitial,\n lastName: record.child_LastName,\n gender: record.child_Gender,\n dob: record.child_Dob,\n usCitizen: record.child_UsCitizen\n };\n this.dataBag[this.normalizeDataKeys.childrenDataKey].push(item);\n\n //reset data\n this.componentDataBag = {};\n //reset flag\n this.showChildForm = false;\n //save data\n this.saveComponentData();\n this.clearFormState();\n console.log(this.dataBag[this.normalizeDataKeys.childrenDataKey]);\n }\n },\n onCancel() {\n this.componentDataBag = {};\n this.showChildForm = false;\n this.clearFormState();\n },\n deleteChildDetail(key) {\n var $this = this;\n if (__WEBPACK_IMPORTED_MODULE_1__Application_services_dialogService__[\"a\" /* default */].confirmAdvanced) {\n __WEBPACK_IMPORTED_MODULE_1__Application_services_dialogService__[\"a\" /* default */].confirmAdvanced(\"Do you really want to delete child detail?\", function (result) {\n if (result) {\n var itemIdex = -1;\n var list = $this.dataBag[$this.normalizeDataKeys.childrenDataKey];\n for (var index = 0; index < list.length; index++) {\n if (list[index].key == key) {\n itemIdex = index;\n break;\n }\n }\n if (itemIdex > -1) {\n list.splice(itemIdex, 1);\n //save data\n $this.saveComponentData();\n }\n //if ($this.dataBag[$this.dataKey].length == 0) {\n // $this.showChildForm = true;\n //}\n }\n }, 'Delete');\n }\n },\n ensureDateKeyNormalization() {\n if (!this.normalized) {\n this.normalizeDataKeys = JSON.parse(this.dataKey);\n this.normalized = true;\n console.log(\"this.dataKey\", this.normalizeDataKeys);\n }\n }\n }\n});\n\n/***/ }),\n/* 88 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__LandingFormComponent_vue__ = __webpack_require__(187);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__LandingFormComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__LandingFormComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Banner_vue__ = __webpack_require__(183);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Banner_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__Banner_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentInterfaceMixin__ = __webpack_require__(10);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentInterfaceMixin__[\"a\" /* ComponentInterfaceMixin */]],\n components: {\n 'landing-form': __WEBPACK_IMPORTED_MODULE_0__LandingFormComponent_vue___default.a,\n 'banner': __WEBPACK_IMPORTED_MODULE_1__Banner_vue___default.a\n },\n props: {\n settings: {\n type: Object,\n required: false\n },\n dataBag: Object,\n //form state for validation\n state: {\n type: Object,\n required: true\n },\n dataKey: {\n type: [String, Object],\n required: true,\n default: ''\n }\n },\n methods: {\n getQuoteHandler() {\n this.$refs.landingForm.getQuoteHandler();\n }\n }\n});\n\n/***/ }),\n/* 89 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_1__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {\n dataBag: Object,\n //form state for validation\n state: {\n type: Object,\n required: true\n },\n dataKey: {\n type: [String, Object],\n required: true\n }\n },\n data() {\n return {\n dataKeyObject: {\n genderKey: '',\n dobKey: '',\n stateKey: '',\n coverageKey: ''\n },\n defaultOptions: {\n formKey: 'landing_default'\n },\n formSchema: undefined,\n sectionFieldMap: null,\n submitTried: false,\n genderQuestionData: null,\n dobQuestionData: null,\n stateQuestionData: null,\n coverageQuestionData: null\n\n };\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n this.ensureDataAvailability();\n this.init();\n },\n watch: {\n dataKey: function (newValue, oldValue) {\n this.ensureDataAvailability();\n }\n },\n computed: {\n genderImage() {\n var gender = this.dataBag[this.dataKeyObject.genderKey];\n if (!gender || gender == '') {\n gender = 'male';\n }\n return '/images/scale_' + gender + '.svg';\n }\n },\n methods: {\n initializeSectionFieldMap() {\n this.sectionFieldMap = {};\n //setup section field map\n this.sectionFieldMap.landingGender = this.dataKeyObject.genderKey;\n this.sectionFieldMap.landingDateofBirth = this.dataKeyObject.dobKey;\n this.sectionFieldMap.landingState = this.dataKeyObject.stateKey;\n this.sectionFieldMap.landingCoverage = this.dataKeyObject.coverageKey;\n console.log(this.sectionFieldMap);\n },\n submitHandler() {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.FORM_SUBMITTED);\n },\n broadCastNavigateNext() {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_NEXT_FEEDBACK, __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENT_DATA.NOT_NAVIGATED);\n },\n cancelHandler() {\n //window.location.href = 'https://www.corebridgedirect.com';\n this.triggerLinkClick('pageTop');\n },\n nextHandler() {\n //validate form\n //trigger form validation\n this.submitHandler();\n this.submitTried = true;\n this.$set(this.state, '$submitted', true);\n\n if (this.state.$valid) {\n this.$set(this.state, '$submitted', false);\n this.dataBag['IsConsentAgreed'] = 'true';\n //notify page about selection\n this.broadCastNavigateNext();\n } else {\n //set error class to navigation dots\n var navigated = false;\n const $this = this;\n Object.keys(this.state).forEach(key => {\n if (key.indexOf('$') != 0 && key.indexOf('_') != 0) {\n var id = $('#' + key).closest('.fullscreen-container').attr('id');\n $this.setClassToNavigationLink(key, id);\n\n //if error navigate to first error;\n var state = $this.state[key];\n if (state && !state.$valid && !navigated) {\n $this.triggerLinkClick($this.getSectionIdByFieldKey(key));\n navigated = true;\n }\n }\n });\n }\n },\n setClassToNavigationLink(fieldKey, sectionId) {\n var noKeyFlag = fieldKey == null;\n\n fieldKey = fieldKey || this.sectionFieldMap[sectionId];\n\n var state = this.state[fieldKey];\n\n if (state && sectionId) {\n var el = this.getNavigationHashLink(sectionId);\n var showError = false;\n if (state && state.$valid) {\n //remove class\n $(el).removeClass('error').addClass('valid');\n showError = false;\n } else {\n showError = true;\n //add class\n if ($(el).hasClass('visited') && !noKeyFlag) {\n $(el).removeClass('valid').addClass('error');\n }\n }\n this.showHideErrorMessage(sectionId, fieldKey, showError);\n }\n },\n showHideErrorMessage(sectionId, fieldKey, showError) {\n var message = '';\n var errorElement = $('#' + sectionId).find('p.landing-error');\n if (showError) {\n //get error message\n var el = $('#' + fieldKey).closest('.form-group').find('span.validation-error-message:first');\n\n message = el.text();\n\n if (message && message != '') {\n //assign it error display section\n errorElement.children('.message').text(message);\n //display it\n errorElement.show();\n }\n }\n //hide message\n else {\n errorElement.hide();\n }\n },\n getNavigationHashLink(key) {\n return $('.landing-navigation > li > a[href=\"#' + key + '\"');\n },\n getSectionIdByFieldKey(fieldKey) {\n var sectionId = null;\n const $this = this;\n Object.keys(this.sectionFieldMap).forEach(prop => {\n var value = $this.sectionFieldMap[prop];\n if (value == fieldKey && !sectionId) {\n sectionId = prop;\n }\n });\n return sectionId;\n },\n focusField(fieldKey) {\n $('#' + fieldKey).focus();\n },\n loadFormSchema() {\n this.ensureDataKeyParsing();\n if (this.dataKeyObject && this.dataKeyObject.formKey && this.formSchema === undefined) {\n this.formSchema = this.getFormSchema(this.dataKeyObject.formKey);\n }\n },\n getQuestion(questionKey) {\n if (this.formSchema) {\n return this.getQuestionFromGroups(this.formSchema.groups, questionKey);\n }\n return undefined;\n },\n getGenderQuestionData() {\n //this.ensureDataAvailability();\n let q = this.getQuestion(this.dataKeyObject.genderKey);\n if (q) {\n return q;\n }\n return {\n \"questionKey\": this.dataKeyObject.genderKey,\n \"text\": \"\",\n \"answerOptions\": [{\n \"text\": \"Male\",\n \"value\": \"Male\",\n \"iconClass\": \"male\"\n }, {\n \"text\": \"Female\",\n \"value\": \"Female\",\n \"iconClass\": \"female\"\n }],\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"A gender selection is required.\"\n }\n };\n },\n genderInteractionHandler(key) {\n this.setClassToNavigationLink(key, this.getSectionIdByFieldKey(key));\n this.triggerLinkClick(this.getSectionIdByFieldKey(this.dataKeyObject.dobKey));\n },\n getDOBQuestionData() {\n //this.ensureDataAvailability();\n let q = this.getQuestion(this.dataKeyObject.dobKey);\n if (q) {\n return q;\n }\n return {\n \"questionKey\": this.dataKeyObject.dobKey,\n \"text\": \"Date of Birth\",\n \"type\": \"date\",\n \"disableCalender\": true,\n \"placeholder\": \"Date of Birth\",\n \"focusPlaceholder\": \"MM/DD/YYYY\",\n \"maskFormat\": \"##/##/####\",\n \"dateYearRange\": this.dataKeyObject.insuredAgeRange,\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"Your birthdate is required.\",\n \"dateRangeMessage\": this.dataKeyObject.insuredAgeRangeMessage,\n \"dateMessage\": \"Please enter a valid birthdate.\",\n \"pattern\": \"[0-9][0-9]/[0-9][0-9]/[0-9][0-9][0-9][0-9]\"\n }\n };\n },\n dobInteractionHandler(key) {\n this.setClassToNavigationLink(key, this.getSectionIdByFieldKey(key));\n this.triggerLinkClick(this.getSectionIdByFieldKey(this.dataKeyObject.stateKey));\n },\n getStateQuestionData() {\n //this.ensureDataAvailability();\n let q = this.getQuestion(this.dataKeyObject.stateKey);\n if (q) {\n return q;\n }\n return {\n \"questionKey\": this.dataKeyObject.stateKey,\n \"text\": \"State\",\n \"selectText\": \"State\",\n \"type\": \"dropdown\",\n \"answerOptionsFunction\": \"STATE_LIST\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"Your state of residence is required.\"\n }\n };\n },\n stateInteractionHandler(key) {\n this.setClassToNavigationLink(key, this.getSectionIdByFieldKey(key));\n this.triggerLinkClick(this.getSectionIdByFieldKey(this.dataKeyObject.coverageKey));\n },\n getCoverageQuestionData() {\n //this.ensureDataAvailability();\n let q = this.getQuestion(this.dataKeyObject.coverageKey);\n if (q) {\n return q;\n }\n return {\n \"questionKey\": this.dataKeyObject.coverageKey,\n \"text\": \"Coverage\",\n \"selectText\": \"Coverage\",\n \"type\": \"dropdown\",\n \"answerOptionsFunction\": \"ADD_COVERAGE_AMOUNT_LIST\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"Coverage amount is required.\"\n }\n };\n },\n coverageInteractionHandler(key) {\n this.setClassToNavigationLink(key, this.getSectionIdByFieldKey(key));\n this.triggerLinkClick('landingTermConditions');\n },\n getQuoteHandler() {\n this.triggerLinkClick(this.getSectionIdByFieldKey(this.dataKeyObject.genderKey));\n },\n triggerLinkClick(sectionId) {\n var target = this.getNavigationHashLink(sectionId);\n console.log(target);\n target.trigger('click');\n },\n dummyHandler() {},\n ensureDataAvailability() {\n this.ensureDataKeyParsing();\n //initialize field map\n this.initializeSectionFieldMap();\n this.loadFormSchema();\n //set questions\n this.genderQuestionData = this.getGenderQuestionData();\n this.stateQuestionData = this.getStateQuestionData();\n this.dobQuestionData = this.getDOBQuestionData();\n this.coverageQuestionData = this.getCoverageQuestionData();\n },\n init() {\n //set page width\n this.setPageControlCss();\n this.initializeHeaderSize();\n this.registerWaypoint();\n this.registerNavigationLinkClick();\n this.registerWindowScroll();\n //register document events\n this.registerDocumentEvents();\n },\n registerDocumentEvents() {\n var $this = this;\n $('.landing-form').on('keydown', evt => {\n console.log('keydown', evt);\n var keyCode = evt.keyCode;\n var targetId = evt.target && evt.target.id ? evt.target.id : '';\n\n //if it is tab or enter key\n if ((keyCode == 9 || keyCode == 13) && targetId) {\n //prevent default action\n evt.preventDefault();\n //blur out from field\n evt.target.blur();\n }\n });\n },\n setPageControlCss() {\n $('#contentWrapperContainer').removeClass('container');\n },\n initializeHeaderSize() {\n $('#intro').parallax(\"50%\", 0.1);\n var introHeight = $('#intro').outerHeight();\n $('.intro-parallax').css('marginTop', introHeight + \"px\");\n },\n registerWaypoint() {\n var $this = this;\n var headerHeight = $('.form-quote-content').outerHeight();\n var $head = $('#ha-header');\n\n $('.ha-waypoint').each(function (i) {\n var $el = $(this),\n animClassDown = $el.data('animateDown'),\n animClassUp = $el.data('animateUp');\n\n $el.waypoint(function (direction) {\n if (direction === 'down' && animClassDown) {\n $head.attr('class', 'ha-header ' + animClassDown);\n $head.css('paddingTop', headerHeight + 40 + \"px\");\n } else if (direction === 'up' && animClassUp) {\n $head.attr('class', 'ha-header ' + animClassUp);\n $head.css('paddingTop', 0 + \"px\");\n }\n }, { offset: '50px' });\n });\n },\n registerNavigationLinkClick() {\n var $this = this;\n var headerHeight = $('.form-quote-content').outerHeight();\n\n console.log('length', $('.landing-navigation > li > a').length);\n\n $('.landing-navigation > li > a').click(function () {\n var replacedPathName = location.pathname.replace(/^\\//, '');\n var thisReplacePathName = this.pathname.replace(/^\\//, '');\n\n console.log(replacedPathName + ':' + thisReplacePathName + ':' + location.hostname + ':' + this.hostname);\n\n //if (replacedPathName == thisReplacePathName && location.hostname == this.hostname) {\n var target = $(this.hash);\n\n target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');\n\n if (target) {\n var sectionId = (target.selector || this.hash).replace('#', '');\n var fieldKey = $this.sectionFieldMap[sectionId];\n $('html,body').stop().animate({\n scrollTop: target.offset().top - (headerHeight + 40)\n }, 1000, function () {\n $this.focusField(fieldKey);\n console.log(sectionId);\n console.log(fieldKey);\n });\n\n $(\".landing-navigation > li > a\").removeClass(\"active\");\n\n $(this).addClass(\"active\");\n }\n //}\n return false;\n });\n },\n registerWindowScroll() {\n var $this = this;\n $(window).scroll(function () {\n $(\".fullscreen-container\").each(function () {\n if ($this.scrollView($(this))) {\n var id = $(this).attr(\"id\");\n $(\".landing-navigation > li > a\").removeClass(\"active\");\n $(\".landing-navigation > li > a[href='#\" + id + \"']\").addClass(\"active\");\n }\n if ($(\".fullscreen-container:visible\")) {\n $(\".landing-navigation > li > a[href='#\" + id + \"']\").addClass(\"visited\");\n $this.setClassToNavigationLink(null, id);\n }\n });\n });\n },\n scrollView(element) {\n var win = $(window);\n var winTop = win.scrollTop();\n var winBottom = winTop + win.height();\n var elementTop = element.offset().top;\n var elementBottom = elementTop;\n\n if (elementBottom <= winBottom) {\n return true;\n }\n return false;\n }\n }\n});\n\n/***/ }),\n/* 90 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n pageMetadata: {\n type: Object,\n required: true,\n default: {}\n }\n },\n data: function () {\n return {\n pageGroups: [{\n \"groupId\": 1,\n \"groupName\": \"Coverage\"\n }, {\n \"groupId\": 2,\n \"groupName\": \"Quote\"\n }, {\n \"groupId\": 3,\n \"groupName\": \"Application\"\n }, {\n \"groupId\": 4,\n \"groupName\": \"Payment\"\n }, {\n \"groupId\": 5,\n \"groupName\": \"Finished\"\n }],\n isMobile: false\n };\n },\n computed: {\n hideProgressStep() {\n return this.pageMetadata.hideProgressStep;\n },\n activeGroupId() {\n return this.pageMetadata.activeGroupId;\n },\n activeStep() {\n return this.pageMetadata.activeStep;\n }\n },\n methods: {\n getStepClass(groupId) {\n var status = \"\";\n if (groupId == this.activeGroupId) {\n status = \"active\";\n } else if (groupId < this.activeGroupId) {\n status = \"completed\";\n }\n return status;\n },\n currentClass: function (index) {\n return this.activeStep == index ? \"current\" : \"\";\n },\n mobileMenu: function () {\n this.isMobile = !this.isMobile;\n }\n }\n});\n\n/***/ }),\n/* 91 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Application_services_dialogService__ = __webpack_require__(6);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {},\n data: function () {\n return {\n componentState: {},\n bankDetails: {\n accountTypeQuestion: this.getAccountTypeQuestion(),\n accountNumber: this.getAccountNumber(),\n routingNumber: this.getRoutingNumber(),\n bankName: this.getBankName()\n },\n paymentDateQuestion: this.getPaymentDateQuestion(),\n validationKey: 'paymentFormValidationKey',\n componentDataBag: {},\n availablePaymentMethods: [],\n allowedPayments: [],\n quoteSummary: {\n carrierName: ''\n }\n };\n },\n created() {\n //initialize allowed payment method\n // this.allowedPayments.push(Constants.PAYMENT_METHODS.CC)\n this.allowedPayments.push(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_METHODS.EF);\n this.allowedPayments.push(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_METHODS.PW);\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.dataKey]) {\n this.$set(this.dataBag, this.dataKey, this.componentDataBag);\n }\n this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_METHOD_KEY] = __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.BANK_ACCOUNT;\n this.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_METHOD_KEY] = __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.BANK_ACCOUNT;\n this.getQuoteSummary();\n this.$nextTick(function () {\n this.showPopover();\n });\n },\n computed: {},\n watch: {},\n methods: {\n broadCastNavigateNext() {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_NEXT_FEEDBACK, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENT_DATA.NOT_NAVIGATED);\n },\n getAccountTypeQuestion() {\n return {\n \"questionKey\": \"accountType\",\n \"text\": \"\",\n \"type\": \"radio\",\n \"autoSave\": false,\n \"answerOptions\": [{\n \"text\": \"Checking\",\n \"value\": \"Checking\",\n \"iconClass\": \"bank-checking-radio-icon\"\n }, {\n \"text\": \"Saving\",\n \"value\": \"Saving\",\n \"iconClass\": \"bank-saving-radio-icon\"\n }],\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\"\n }\n };\n },\n getBankName() {\n return {\n \"questionKey\": \"bankName\",\n \"text\": \"Bank Name\",\n \"type\": \"text\",\n \"autoSave\": false,\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\",\n \"maxlength\": 50,\n \"maxlengthMessage\": \"'Bank Name' field cannot be more than 50 characters.\"\n }\n };\n },\n getAccountNumber() {\n return {\n \"questionKey\": \"accountNumber\",\n \"text\": \"Account Number\",\n \"type\": \"text\",\n \"autoSave\": false,\n \"maskFormat\": \"#################\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\",\n \"maxlength\": 17,\n \"maxlengthMessage\": \"Maximum 17 character allowed.\"\n }\n };\n },\n getRoutingNumber() {\n return {\n \"questionKey\": \"routingNumber\",\n \"text\": \"Routing Number\",\n \"type\": \"text\",\n \"autoSave\": false,\n \"maskFormat\": \"#########\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\",\n \"minlength\": 9,\n \"minlengthMessage\": \"Minimum 9 character required.\",\n \"maxlength\": 9,\n \"maxlengthMessage\": \"Maximum 9 character allowed.\"\n }\n };\n },\n getPaymentDateQuestion() {\n return {\n \"questionKey\": \"premiumDeductionDay\",\n \"answerOptions\": [{\n \"text\": \"1st of the Month\",\n \"value\": \"1\"\n }, {\n \"text\": \"15th of the Month\",\n \"value\": \"15\"\n }],\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required.\"\n }\n };\n },\n dummyHandler() {},\n showPopover() {\n //Tooltip image show on hover\n $('.help-bubble.badge').popover({\n html: true,\n trigger: 'hover',\n content: function () {\n return '
';\n },\n width: '630px'\n });\n },\n routingNoChangedHandler() {\n var routingNo = this.componentDataBag[this.bankDetails.routingNumber.questionKey];\n console.log('routingNoChangedHandler' + routingNo);\n var $this = this;\n $(\"#routingNumber\").prop(\"disabled\", true);\n __WEBPACK_IMPORTED_MODULE_0__Application_services_HttpCommunicationService__[\"a\" /* default */].getBankName(routingNo, function (response) {\n if (response.bankName) {\n console.log(response);\n $this.componentDataBag.bankName = response.bankName;\n $this.componentDataBag.bankCity = response.city;\n $this.componentDataBag.bankState = response.state;\n } else {\n $this.componentDataBag.bankName = '';\n }\n $(\"#routingNumber\").prop(\"disabled\", false);\n }, function (error) {\n __WEBPACK_IMPORTED_MODULE_3__Application_services_dialogService__[\"a\" /* default */].showTechnicalErrorDialog();\n });\n },\n updatePaymentAmountAndFrequency(summary) {\n //set payment detail\n this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY_KEY] = summary.premiumFrequency || __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Monthly;\n this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_AMOUNT_KEY] = summary.premiumAmount;\n //update main dataBag\n this.$set(this.dataBag, this.dataKey, this.componentDataBag);\n },\n getQuoteSummary() {\n var $this = this;\n __WEBPACK_IMPORTED_MODULE_0__Application_services_HttpCommunicationService__[\"a\" /* default */].getQuoteSummary(function (data) {\n $this.quoteSummary = data;\n $this.updatePaymentAmountAndFrequency($this.quoteSummary);\n }, function (error) {\n console.log(\"getQuoteSummary error \" + error);\n });\n }\n }\n\n});\n\n/***/ }),\n/* 92 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_1__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {\n dataBag: Object,\n //form state for validation\n state: {\n type: Object,\n required: true\n }\n },\n data: function () {\n return {\n questionGroups: []\n };\n },\n created() {\n var groups = this.getQuestionGroups();\n //assing key to groups\n groups = this.assignKey(groups);\n this.questionGroups = groups;\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag) {\n this.dataBag = {};\n }\n },\n computed: {},\n methods: {\n getQuestionGroups() {\n return [{\n \"title\": \"\",\n \"helpText\": \"\",\n \"questions\": [[{\n \"question\": {\n \"questionKey\": \"beneficiary_person_firstName\",\n \"text\": \"First Name\",\n \"type\": \"text\",\n \"allowedCharacters\": \"[a-zA-Z ]\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"The 'First Name' question/field is required and cannot be left blank\",\n \"maxlength\": 20,\n \"maxlengthMessage\": \"'First Name' field cannot be more than 20 characters.\",\n \"minlength\": 2,\n \"minlengthMessage\": \"'First Name' field must be a mimimum of 2 characters.\",\n \"pattern\": \"^([a-zA-Z])+([ ]?[a-zA-Z])*$\",\n \"patternMessage\": \"'First Name' can only contains alphabetical characters and it can not begin or end with a space.\"\n }\n },\n \"colCss\": \"col-sm-4\"\n }, {\n \"question\": {\n \"questionKey\": \"beneficiary_person_middleName\",\n \"text\": \"Middle Name\",\n \"type\": \"text\",\n \"maskFormat\": \"A\",\n \"validators\": {\n \"maxlength\": 1,\n \"maxlengthMessage\": \"Please enter maximum 1 character.\"\n }\n },\n \"colCss\": \"col-sm-4 col-lg-3\"\n }, {\n \"question\": {\n \"questionKey\": \"beneficiary_person_lastName\",\n \"text\": \"Last Name\",\n \"type\": \"text\",\n \"allowedCharacters\": \"[a-zA-Z\\\\-' ]\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"The 'Last Name' question/field is required and cannot be left blank\",\n \"minlength\": 2,\n \"minlengthMessage\": \"'Last Name' field must be a mimimum of 2 characters.\",\n \"maxlength\": 20,\n \"maxlengthMessage\": \"'Last Name' field cannot be more than 20 characters.\",\n \"pattern\": \"^([a-zA-Z])+([ \\\\-']?[a-zA-Z])*$\",\n \"patternMessage\": \"'Last Name' can only contains alphabetical characters, dashes (-), apostrophes (') and it can not begin or end with a space.\"\n }\n },\n \"colCss\": \"col-sm-4\"\n }], [{\n \"question\": {\n \"questionKey\": \"beneficiary_person_dob\",\n \"type\": \"date\",\n \"text\": \"Date of Birth\",\n \"disableCalender\": true,\n \"placeholder\": \"Date of birth\",\n \"focusPlaceholder\": \"MM/DD/YYYY\",\n \"maskFormat\": \"##/##/####\",\n \"dateYearRange\": \"-100|0\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\",\n \"dateRangeMessage\": \"'Date of Birth' can not be in future'\"\n }\n },\n \"colCss\": \"col-sm-5 col-lg-4\"\n }, {\n \"question\": {\n \"questionKey\": \"beneficiary_person_relationship\",\n \"text\": \"Relationship\",\n \"type\": \"dropdown\",\n \"placeholder\": \"Relationship\",\n \"selectText\": \"Relationship\",\n \"answerOptionsFunction\": \"ADD_BENEFICIARY_LIST\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\"\n }\n },\n \"colCss\": \"col-sm-5 col-lg-4\"\n }]]\n }];\n }\n }\n});\n\n/***/ }),\n/* 93 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\nconst QUOTE_SCENARIO = {\n COVERAGE: 'COVERAGE',\n SPOUSE: 'SPOUSE',\n CHILDREN: 'CHILDREN',\n ROP_RIDER: 'ROP_RIDER',\n INIT: 'INIT'\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_3__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {\n dataBag: Object,\n //form state for validation\n state: {\n type: Object,\n required: true\n },\n dataKey: String //quotes\n },\n data: function () {\n return {\n defaultOptions: {\n ropUnavailableStates: [],\n showRopCheckbox: false,\n allowSpouse: true,\n allowChildren: true,\n coverageList: 'ADD_COVERAGE_AMOUNT_LIST',\n planFilter: false\n },\n //setup data properties\n componentState: {},\n componentDataBag: {\n paymentFrequency: __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Monthly,\n selectedProductId: 0,\n selectedCompanyId: 0\n },\n coverageAmountQuestion: null,\n addSpouseQuestion: this.getAddSpouseQuestion(),\n addChildrenQuestion: this.getAddChildrenQuestion(),\n spouseFormQuestions: this.getSpouseFormQuestions(),\n ropRiderQuestion: this.getIncludeRopRiderQuestion(),\n premium: [],\n quotes: {\n Requested: []\n },\n carrierLogoList: __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].QUOTE_CARRIER_LOGO_LIST(),\n quoteSelected: false,\n validation: {\n key: \"quoteValidationKey\",\n value: ''\n },\n showSpouseForm: true,\n loading: false,\n spouseModalPopup: null,\n spouseFormOpened: false\n };\n },\n created() {\n //fetch page data;\n },\n mounted() {\n console.log('add-quote-mounted');\n this.ensureDataKeyParsing();\n //check if datakey exist in data bag\n //if not create key in data bag\n if (this.dataBag && !this.dataBag[this.innerDataKey]) {\n this.$set(this.dataBag, this.innerDataKey, {});\n }\n this.coverageAmountQuestion = this.getCoverageAmountData(this.dataKeyObject.coverageList || this.defaultOptions.coverageList);\n this.initializeComponent();\n },\n computed: {\n innerDataKey() {\n this.ensureDataKeyParsing();\n return this.dataKeyObject.dataKey;\n },\n coverageAmount() {\n return this.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].COVERAGE_AMOUNT_KEY] || '';\n },\n usePlanFilter() {\n return this.dataKeyObject.planFilter !== undefined ? this.dataKeyObject.planFilter : this.planFilter;\n },\n planType() {\n\n var addSpouse = this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADD_SPOUSE_COVERAGE_KEY] || __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO;\n var addChildren = this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADD_CHILDREN_COVERAGE_KEY] || __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO;\n return __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__[\"a\" /* Utility */].getAddPlanType(addSpouse, addChildren);\n },\n filteredQuotes() {\n var data = [];\n var addSpouse = this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADD_SPOUSE_COVERAGE_KEY];\n\n //incase of spouse selected but no data entered for spouse then dont return any quote;\n if (addSpouse == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.YES && this.spouseFormOpened) {\n data = [];\n } else {\n data = this.quotes.Requested.filter(q => this.usePlanFilter || q.planType.toUpperCase() == this.planType.toUpperCase());\n }\n\n console.log(data);\n return data;\n },\n paymentFrequency() {\n return this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].QUOTE_PAYMENT_FREQUENCY_KEY] || __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Monthly;\n },\n showRopOption() {\n //get current state\n const state = this.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].STATE_KEY];\n const showRopCheckbox = (this.dataKeyObject.showRopCheckbox || '').toLowerCase() == 'true';\n const stateInNotList = this.ropUnavailableStates.indexOf(state) > -1;\n console.log('showRopOption', state, this.ropUnavailableStates, stateInNotList, showRopCheckbox);\n //show and state not found in ropNotInStates\n return showRopCheckbox && !stateInNotList;\n },\n ropUnavailableStates() {\n var states = (this.dataKeyObject.ropUnavailableStates || '').split(\",\").map(state => state.trim());\n return states;\n }\n },\n watch: {},\n methods: {\n initializeComponent() {\n //this.setPremium();\n var $this = this;\n this.spouseModalPopup = $(\"#spouseFormModal\");\n this.spouseModalPopup.modal({ keyboard: false, backdrop: 'static', show: false });\n console.log('this.spouseModalPopup', this.spouseModalPopup);\n\n this.$nextTick(function () {\n Object.assign($this.componentDataBag, $this.dataBag[$this.innerDataKey]);\n //update component databag with COVERAGE_AMOUNT\n $this.$set($this.componentDataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].COVERAGE_AMOUNT_KEY, $this.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].COVERAGE_AMOUNT_KEY]);\n $this.$set($this.componentDataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].SPOUSE_BIRTHDATE_KEY, $this.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].SPOUSE_BIRTHDATE_KEY] || '');\n $this.$set($this.componentDataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].SPOUSE_GENDER_KEY, $this.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].SPOUSE_GENDER_KEY] || '');\n $this.$set($this.componentDataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].INCLUDE_ROP_RIDER_KEY, $this.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].INCLUDE_ROP_RIDER_KEY] || __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.YES);\n\n console.log('componentDataBag', $this.componentDataBag);\n $this.updateQuote(QUOTE_SCENARIO.INIT);\n });\n },\n formatCurrency(amount) {\n if (amount) {\n return __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__[\"a\" /* Utility */].formatCurrency(amount, 2);\n }\n return '';\n },\n broadCastNavigateNext() {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_NEXT_FEEDBACK, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENT_DATA.NOT_NAVIGATED);\n },\n getCoverageAmountData(coverageListname) {\n return {\n \"questionKey\": __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].COVERAGE_AMOUNT_KEY,\n \"text\": \"Coverage\",\n \"type\": \"dropdown\",\n \"autoSave\": false,\n \"disableDestroyAction\": true,\n \"selectText\": \"Coverage\",\n \"answerOptionsFunction\": coverageListname,\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"Coverage amount is required.\"\n }\n };\n },\n getAddSpouseQuestion() {\n return {\n \"questionKey\": __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADD_SPOUSE_COVERAGE_KEY,\n \"type\": \"checkbox\",\n \"disableDestroyAction\": true,\n \"text\": \"Coverage for your spouse\",\n \"helpText\": \"You can save money when you combine insurance coverage for family members by adding them to your policy instead of buying separate policies for you and your spouse or children.\"\n };\n },\n getAddChildrenQuestion() {\n return {\n \"questionKey\": __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADD_CHILDREN_COVERAGE_KEY,\n \"type\": \"checkbox\",\n \"disableDestroyAction\": true,\n \"text\": \"Coverage for all your dependent children\",\n \"helpText\": \"You can save money on your insurance coverage when you add family members to your Accidental Death Direct Insurance policy instead of buying separate policies for your spouse or dependent children under age 26.\"\n };\n },\n getIncludeRopRiderQuestion() {\n return {\n \"questionKey\": __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].INCLUDE_ROP_RIDER_KEY,\n \"type\": \"checkbox\",\n \"disableDestroyAction\": true,\n \"text\": \"Include ROP (return of premium) rider.\",\n \"helpText\": \"By choosing ROP (return of premium) rider - you will get your premium amount back along with coverage amount.\"\n };\n },\n getSpouseFormQuestions() {\n return {\n \"title\": \"\",\n \"helpText\": \"\",\n \"questions\": [[{\n \"question\": {\n \"questionKey\": __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].SPOUSE_BIRTHDATE_KEY,\n \"type\": \"date\",\n \"text\": \"Date of Birth\",\n \"disableCalender\": true,\n \"placeholder\": \"Date of birth\",\n \"focusPlaceholder\": \"MM/DD/YYYY\",\n \"maskFormat\": \"##/##/####\",\n \"dateYearRange\": \"-70|-18\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"The 'Date of Birth' question/field is required and cannot be left blank\",\n \"dateRangeMessage\": \"Spouse's age should be between 18 year and 70 year.\"\n }\n },\n \"colCss\": \"col-sm-8 col-sm-offset-2\"\n }, {\n \"question\": {\n \"questionKey\": __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].SPOUSE_GENDER_KEY,\n \"text\": \"\",\n \"type\": \"radio\",\n \"answerOptions\": [{\n \"text\": \"Male\",\n \"value\": \"Male\",\n \"iconClass\": \"male\"\n }, {\n \"text\": \"Female\",\n \"value\": \"Female\",\n \"iconClass\": \"female\"\n }],\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"The 'Gender' question/field is required and cannot be left blank\"\n }\n },\n \"colCss\": \"col-sm-8 col-sm-offset-2 conversational-exp-radio text-center\"\n }]]\n };\n },\n addSpouseCoverageHandler(addSpouse) {\n console.log(\"addSpouse -\" + addSpouse);\n if (addSpouse && addSpouse == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.YES) {\n\n this.showSpouseForm = true;\n if (this.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADD_SPOUSE_COVERAGE_KEY] != __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.YES) {\n this.spouseModalPopup.modal('show');\n this.spouseFormOpened = true;\n }\n } else {\n //update dataBag\n var value = this.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADD_SPOUSE_COVERAGE_KEY];\n\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADD_SPOUSE_COVERAGE_KEY, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO);\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].SPOUSE_BIRTHDATE_KEY, '');\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].SPOUSE_GENDER_KEY, '');\n //update local dataBag\n this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADD_SPOUSE_COVERAGE_KEY] = '';\n this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].SPOUSE_BIRTHDATE_KEY] = '';\n this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].SPOUSE_GENDER_KEY] = '';\n\n if (addSpouse && addSpouse != '' && value != addSpouse) {\n this.updateQuote(QUOTE_SCENARIO.SPOUSE);\n }\n }\n console.log('addSpouseCoverageHandler', this.componentDataBag);\n },\n addChildrenCoverageHandler(addChildren) {\n console.log(\"addChildren -\" + addChildren);\n const value = this.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADD_CHILDREN_COVERAGE_KEY];\n\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADD_CHILDREN_COVERAGE_KEY, addChildren);\n if (addChildren && addChildren != '' && addChildren != value) {\n this.updateQuote(QUOTE_SCENARIO.CHILDREN);\n }\n },\n includeRopRiderHandler(includeRopRider) {\n console.log('includeRopRider', includeRopRider);\n const value = this.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].INCLUDE_ROP_RIDER_KEY];\n\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].INCLUDE_ROP_RIDER_KEY, includeRopRider);\n if (includeRopRider && includeRopRider != '' && includeRopRider != value) {\n this.updateQuote(QUOTE_SCENARIO.ROP_RIDER);\n }\n },\n dummyHandler(value) {\n console.log('dummyHandler:' + value);\n },\n onSaveSpouseDetail() {\n //this.formSubmitted();\n this.$set(this.componentState, '$submitted', true);\n //touch component states to highlight field\n this.touchComponentState(this.componentState);\n if (this.componentState && this.componentState.$valid) {\n this.$set(this.componentState, '$submitted', false);\n $(\"#spouseFormModal\").modal('hide');\n this.spouseFormOpened = false;\n //update databag\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].SPOUSE_BIRTHDATE_KEY, this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].SPOUSE_BIRTHDATE_KEY]);\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].SPOUSE_GENDER_KEY, this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].SPOUSE_GENDER_KEY]);\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADD_SPOUSE_COVERAGE_KEY, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.YES);\n\n //this.showSpouseForm = false;\n this.updateQuote(QUOTE_SCENARIO.SPOUSE);\n }\n console.log('componentState', this.componentState);\n },\n onCancelSpouseForm() {\n const $this = this;\n\n this.spouseModalPopup.modal('hide');\n //uncheck add spouse checkbox\n this.$nextTick(function () {\n $this.$set($this.componentDataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADD_SPOUSE_COVERAGE_KEY, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO);\n });\n this.clearFormState();\n this.showSpouseForm = false;\n\n //this.formSubmitted();\n console.log('componentState', this.componentState);\n },\n updateCoverageHandler() {\n this.$set(this.state, '$submitted', true);\n if (this.state.$valid) {\n //update dataBag with new coverage amount\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].COVERAGE_AMOUNT_KEY, this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].COVERAGE_AMOUNT_KEY]);\n this.updateQuote(QUOTE_SCENARIO.COVERAGE);\n }\n },\n updateQuote(quoteReason) {\n this.getQuoteData(quoteReason);\n },\n selectQuote(quote) {\n console.log('onSelect');\n //quote.ProductId,quote.CompanyId\n this.componentDataBag.selectedProductId = quote.ProductId;\n this.componentDataBag.selectedCompanyId = quote.CompanyId;\n this.componentDataBag.selectedQuoteId = quote.Id;\n this.componentDataBag.CarrierName = quote.CarrierName;\n this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_AMOUNT_KEY] = quote.premiumAmount;\n this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ROP_RIDER_APPLICABLE_KEY] = quote.RopRider ? __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.YES : __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO;\n\n var dataCopy = {};\n dataCopy = Object.assign(dataCopy, this.componentDataBag, quote);\n this.$set(this.dataBag, this.innerDataKey, dataCopy);\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].COMPANYID_KEY, quote.CompanyId);\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PRODUCT_ID_KEY, quote.ProductId);\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PLAN_TYPE_KEY, this.planType);\n if (quote.ProductType != '' && quote.ProductType != null) {\n //update selected product type in databag\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PRODUCT_TYPE_KEY, quote.ProductType);\n }\n\n console.log('selected quote', dataCopy);\n\n this.quoteSelected = true;\n //notify page about selection\n this.broadCastNavigateNext();\n },\n getQuoteData(quoteReason) {\n console.log('getQuoteData');\n var $this = this;\n const ropValue = this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].INCLUDE_ROP_RIDER_KEY];\n var inputData = {\n //always get coverageAmount from dataBag.\n coverageAmount: this.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].COVERAGE_AMOUNT_KEY],\n addSpouse: this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADD_SPOUSE_COVERAGE_KEY] == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.YES ? true : false,\n addChildren: this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADD_CHILDREN_COVERAGE_KEY] == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.YES ? true : false,\n spouseDateOfBirth: this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].SPOUSE_BIRTHDATE_KEY],\n spouseGender: this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].SPOUSE_GENDER_KEY],\n includeRopRider: ropValue == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO ? false : true\n\n //check if quote already present\n\n };if (!this.quoteAvailaleInLocal(inputData, quoteReason)) {\n this.loading = true;\n //reset quote collection\n this.quotes.Requested = [];\n __WEBPACK_IMPORTED_MODULE_2__Application_services_HttpCommunicationService__[\"a\" /* default */].getAddQuote(inputData, function (responseData) {\n $this.loading = false;\n if (responseData && responseData.length > 0) {\n console.log(responseData);\n $this.quotes.Requested = $this.processQuoteData(responseData);\n } else {\n $this.navigateToCallUsPage();\n }\n }, function (error) {\n $this.loading = false;\n console.log(error);\n });\n }\n },\n quoteAvailaleInLocal(quoteRequest, quoteReason) {\n var result = false;\n //check for quote for children, individual, individual + children\n //always get quote for spouse as for spouse quote depend on dob\n if (quoteReason == QUOTE_SCENARIO.COVERAGE || quoteReason == QUOTE_SCENARIO.ROP_RIDER || quoteReason == QUOTE_SCENARIO.SPOUSE && quoteRequest.addSpouse) {\n //get fresh quote\n result = false;\n } else if (this.quotes.Requested && this.quotes.Requested.length > 0) {\n var spouse = quoteRequest.addSpouse ? __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.YES : __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO;\n var children = quoteRequest.addChildren ? __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.YES : __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO;\n\n var plan = __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__[\"a\" /* Utility */].getAddPlanType(spouse, children).toLowerCase();\n result = (this.quotes.Requested.filter(q => (q.planType || '').toLowerCase() == plan) || []).length > 0;\n }\n return result;\n },\n processQuoteData(responseData) {\n var $this = this;\n var quoteData = responseData || [];\n\n //sort\n quoteData.sort(function (a, b) {\n if ($this.paymentFrequency == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Monthly) {\n return Number(a.Monthly) - Number(b.Monthly);\n } else if ($this.paymentFrequency == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Quarterly) {\n return Number(a.Quarterly) - Number(b.Quarterly);\n } else if ($this.paymentFrequency == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.SemiAnnual) {\n return Number(a.Semi) - Number(b.Semi);\n } else if ($this.paymentFrequency == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Annual) {\n return Number(a.Annual) - Number(b.Annual);\n }\n });\n //assign premium\n quoteData.forEach((x, i) => {\n if (this.paymentFrequency == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Monthly) {\n x.premiumAmount = Number(x.Monthly).toFixed(2);\n } else if (this.paymentFrequency == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Quarterly) {\n x.premiumAmount = Number(x.Quarterly).toFixed(2);\n } else if (this.paymentFrequency == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.SemiAnnual) {\n x.premiumAmount = Number(x.Semi).toFixed(2);\n } else if (this.paymentFrequency == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Annual) {\n x.premiumAmount = Number(x.Annual).toFixed(2);\n }\n //calculate plan type\n x.planType = __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__[\"a\" /* Utility */].calculatePlanTypeValue(x.planType || 'individual');\n });\n return quoteData;\n },\n navigateToCallUsPage() {\n var nextPage = 'callus';\n var route = {\n path: '',\n params: { pageId: nextPage }\n };\n this.$router.push(route);\n },\n getImageSrc(companyId) {\n var image = '/images/moo_logo.png';\n this.carrierLogoList.forEach(function (item, index) {\n if (item.companyId == companyId) {\n image = '/images/' + item.imageName;\n return false;\n }\n });\n return image;\n }\n }\n});\n\n/***/ }),\n/* 94 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {\n submissionSummary: {\n type: Object,\n required: false,\n default: function () {\n return {};\n }\n }\n },\n mounted() {},\n computed: {\n carrierSuccessMessage() {\n return this.getMessage(\"carrierSuccessMessage\") || '';\n }\n },\n methods: {\n printPage() {\n window.print();\n },\n getPolicyPackage() {\n //TBD\n }\n }\n});\n\n/***/ }),\n/* 95 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vue__ = __webpack_require__(5);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_0__mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {},\n data: function () {\n return {\n nextValCompleted: false,\n componentState: {},\n componentDataBag: {},\n address: {},\n originalAddress: {},\n showPopup: true,\n showRequoteAlert: false,\n internalDataKey: '',\n componentAddressFieldPrefix: '_component_address',\n componentAddress: {},\n showAddressPopup: false,\n addressTitle: '',\n validationAttempts: 0,\n defaultMaxValidationAttempts: 3,\n maxValidationAttempts: 3,\n addressModalPopupId: 'addressModalpopup',\n readOnly: false,\n addressModelPopupDialog: null\n };\n },\n created() {\n console.log('AddressComponent:created');\n this.ensureDataKey();\n this.address = this.getMainAddress();\n this.componentAddress = this.getComponentAddress();\n this.addressModalPopupId = this.addressModalPopupId + \"_\" + this.internalDataKey;\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n //if (!this.dataBag[this.dataKey]) {\n // this.$set(this.dataBag, this.dataKey, this.componentDataBag)\n //}\n console.log('AddressComponent:mounted');\n this.ensureDataKey();\n\n this.originalAddress = {\n \"Address1\": this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY],\n \"Address2\": this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY],\n \"City\": this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY],\n \"State\": this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY],\n \"PostalCode\": this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY]\n };\n\n this.bindAutoComplete();\n },\n computed: {\n validationRetryNeeded() {\n return this.validationAttempts < this.maxValidationAttempts;\n },\n validationCount() {\n return this.validationAttempts;\n }\n },\n destroyed() {\n console.log('AddressComponent:destroyed');\n },\n methods: {\n assignTabIndex(question) {\n const tabIndex = this.dataKeyObject.readonly ? -1 : 0;\n if (tabIndex < 0) {\n question.tabIndex = tabIndex;\n }\n return question;\n },\n //dont remove it;\n dummyHandler() {},\n getMainAddress() {\n const assignTabFn = this.assignTabIndex;\n return {\n address1: assignTabFn(this.getAddress1(this.internalDataKey)),\n address2: assignTabFn(this.getAddress2(this.internalDataKey)),\n city: assignTabFn(this.getCity(this.internalDataKey)),\n state: assignTabFn(this.getState(this.internalDataKey)),\n zipcode: assignTabFn(this.getZipCode(this.internalDataKey))\n };\n },\n getComponentAddress() {\n return {\n address1: this.getAddress1(this.internalDataKey + this.componentAddressFieldPrefix),\n address2: this.getAddress2(this.internalDataKey + this.componentAddressFieldPrefix),\n city: this.getCity(this.internalDataKey + this.componentAddressFieldPrefix),\n state: this.getState(this.internalDataKey + this.componentAddressFieldPrefix),\n zipcode: this.getZipCode(this.internalDataKey + this.componentAddressFieldPrefix)\n };\n },\n broadCastNavigateNext(evtData) {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_NEXT_FEEDBACK, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENT_DATA.NOT_NAVIGATED, evtData);\n },\n ensureDataKey() {\n //call component base parsing method\n if (this.isComplexDataKey()) {\n this.showRequoteAlert = this.dataKeyObject.showRequoteAlert;\n this.internalDataKey = this.dataKeyObject.addressKey || this.dataKeyObject.dataKey;\n this.addressTitle = this.dataKeyObject.addressTitle || '';\n this.maxValidationAttempts = this.dataKeyObject.maxValidationAttempts || this.defaultMaxValidationAttempts;\n this.readOnly = this.dataKeyObject.readOnly;\n } else {\n this.internalDataKey = this.dataKey;\n }\n console.log('ensureDataKey', this.internalDataKey);\n },\n bindAutoComplete() {\n var $this = this;\n var NoResultsLabel = \"Enter more information to narrow down your search\";\n this.ensureDataKey();\n $(\"#\" + $this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY).autocomplete({\n source: function (request, response) {\n\n var adds1 = $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY];\n __WEBPACK_IMPORTED_MODULE_2__services_HttpCommunicationService__[\"a\" /* default */].AutoAddress(adds1, function (data) {\n\n var array = $.map(data, function (m) {\n var add2 = typeof m.address2 !== \"undefined\" && m.address2 !== null && m.address2 != \"\" ? \", \" + m.address2 : \"\";\n\n return {\n label: m.address + add2 + \", \" + m.city + \", \" + m.state + \", \" + m.postalCode,\n value: m.address,\n address: m\n };\n });\n\n if (!array.length) {\n array = [NoResultsLabel];\n }\n return response(array);\n }, function () {});\n },\n select: function (event, ui) {\n if (ui.item.label === NoResultsLabel) {\n event.preventDefault();\n } else {\n $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY] = ui.item.address.address;\n $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY] = ui.item.address.address2;\n $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY] = ui.item.address.city;\n $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY] = ui.item.address.state;\n $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY] = ui.item.address.postalCode;\n $this.alertStateChange();\n\n // var placeholderAddress2 = $this.internalDataKey + Constants.ADDRESS_FIELDS.ADDRESS2_KEY;\n var placeholderCity = $this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY;\n var placeholderState = $this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY;\n var placeholderZip = $this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY;\n\n function addPlaceholder(e) {\n var $thisId = e;\n $('#' + $thisId).parent().addClass(\"focused\");\n }\n\n addPlaceholder(placeholderCity);\n addPlaceholder(placeholderState);\n addPlaceholder(placeholderZip);\n }\n },\n focus: function (event, ui) {\n if (ui.item.label === NoResultsLabel) {\n event.preventDefault();\n }\n },\n minLength: 3\n });\n },\n getAddress1(addressPrefix) {\n this.ensureDataKey();\n return {\n \"questionKey\": addressPrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY,\n \"text\": \"Address\",\n \"type\": \"text\",\n \"autoSave\": false,\n \"readOnly\": this.readOnly,\n \"disableDestroyAction\": true,\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"The 'Address' question/field is required and cannot be left blank\",\n \"maxlength\": 30,\n \"maxlengthMessage\": \"'Address' field cannot be more than 30 characters.\"\n }\n };\n },\n getAddress2(addressPrefix) {\n this.ensureDataKey();\n return {\n \"questionKey\": addressPrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY,\n \"text\": \"Address 2\",\n \"type\": \"text\",\n \"autoSave\": false,\n \"readOnly\": this.readOnly,\n \"disableDestroyAction\": true,\n \"validators\": {\n \"maxlength\": 30,\n \"maxlengthMessage\": \"'Address' field cannot be more than 30 characters.\"\n }\n };\n },\n getCity(addressPrefix) {\n this.ensureDataKey();\n return {\n \"questionKey\": addressPrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY,\n \"text\": \"City\",\n \"type\": \"text\",\n \"autoSave\": false,\n \"readOnly\": this.readOnly,\n \"disableDestroyAction\": true,\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"The 'City' question/field is required and cannot be left blank\",\n \"minlength\": 2,\n \"minlengthMessage\": \"Please enter mimimum 2 character\",\n \"maxlength\": 20,\n \"maxlengthMessage\": \"Please enter mimimum 20 character\"\n }\n };\n },\n getState(addressPrefix) {\n this.ensureDataKey();\n return {\n \"questionKey\": addressPrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY,\n \"text\": \"State\",\n \"type\": \"dropdown\",\n \"selectText\": \"State\",\n \"autoSave\": false,\n \"readOnly\": this.readOnly,\n \"answerOptionsFunction\": \"STATE_LIST\",\n \"disableDestroyAction\": true,\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"The 'State' question/field is required and cannot be left blank\"\n }\n };\n },\n getZipCode(addressPrefix) {\n this.ensureDataKey();\n return {\n \"questionKey\": addressPrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY,\n \"text\": \"Zip Code\",\n \"type\": \"text\",\n \"autoSave\": false,\n \"readOnly\": this.readOnly,\n \"maskFormat\": \"#####\",\n \"disableDestroyAction\": true,\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"The 'Zip Code' question/field is required and cannot be left blank\",\n \"minlength\": 5,\n \"minlengthMessage\": \"Please enter mimimum 5 character\",\n \"maxlength\": 5,\n \"maxlengthMessage\": \"Please enter mimimum 9 character\"\n }\n };\n },\n addressValidationAttempted() {\n this.validationAttempts = this.validationAttempts + 1;\n console.log('Validation Attempt No: ' + this.validationAttempts);\n },\n stateChangeHandler() {\n this.alertStateChange();\n },\n alertStateChange(callbackFnToExecuteInsteadOfNavigateNext) {\n var $this = this;\n //show alert popup to inform that quote may change\n var state = $this.originalAddress.State;\n var newState = $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY];\n\n var alert = state && newState && state != newState;\n\n if (this.showRequoteAlert && alert) {\n var msg = __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].STATE_CHANGE_MESSAGE;\n __WEBPACK_IMPORTED_MODULE_3__services_dialogService__[\"a\" /* default */].confirmAdvanced(msg, function (result) {\n //when cancel, revert value to original\n if (!result) {\n __WEBPACK_IMPORTED_MODULE_4_vue__[\"a\" /* default */].nextTick(function () {\n $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY] = state;\n });\n } else {\n if (callbackFnToExecuteInsteadOfNavigateNext) {\n callbackFnToExecuteInsteadOfNavigateNext();\n } else {\n var evtData = {};\n //intruct not do validation and do submission for requote\n evtData[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENT_DATA.SUPPRESS_VALIDATION_ON_NEXT] = $this.validateOnNext;\n $this.broadCastNavigateNext(evtData);\n }\n }\n }, \"Continue\");\n return true;\n } else {\n return false;\n }\n },\n copyAddressData(sourceObject, targetObject) {\n //copy source property->source, prefix->sourcePrefix\n let { source: source, prefix: sourcePrefix } = sourceObject;\n //copy source property->target, prefix->targetPrefix\n var { source: target, prefix: targetPrefix } = targetObject;\n\n target[targetPrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY] = source[sourcePrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY];\n target[targetPrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY] = source[sourcePrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY];\n target[targetPrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY] = source[sourcePrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY];\n target[targetPrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY] = source[sourcePrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY];\n target[targetPrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY] = source[sourcePrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY];\n },\n validateAddress(completionCallback, label) {\n console.log('validateAddress: ' + label);\n //if completionCallback is null or nt defined then use dummy fn to avoid null reference;\n completionCallback = completionCallback || function (data) {};\n\n var valid = this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY] != '' && this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY] != '' && this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY] != '' && this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY] != '';\n console.log('Address form has values ' + valid);\n\n var $this = this;\n const self = this;\n //validate with server only when all other validation is passed;\n if (valid && $this.showPopup) {\n $this.showPopup = false;\n\n var isValidated = $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.IS_VALIDATED_KEY] === 'true';\n console.log('Is ' + $this.internalDataKey + ' Address Validated - ' + isValidated);\n //validate if either its not validated yet or address is modified\n const needValidation = !isValidated || !$this.isAddressNotModified();\n\n if (needValidation) {\n //copy address data from main databag to component/popup form databag\n $this.copyAddressData({ source: $this.dataBag, prefix: $this.internalDataKey }, { source: $this.componentDataBag, prefix: $this.internalDataKey + $this.componentAddressFieldPrefix });\n //set flag to show popup\n $this.showAddressPopup = true;\n var data = {\n \"address\": [{\n \"address1\": $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY],\n \"address2\": $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY],\n \"city\": $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY],\n \"state\": $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY],\n \"zipCode\": $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY],\n \"country\": \"US\"\n }]\n };\n //show wait dialog\n var title = $this.addressTitle || 'Address';\n var waitDialog = __WEBPACK_IMPORTED_MODULE_3__services_dialogService__[\"a\" /* default */].showWaitDialog(title + ' validation is in progress.');\n console.log(title + ' validation is in progress.');\n\n __WEBPACK_IMPORTED_MODULE_2__services_HttpCommunicationService__[\"a\" /* default */].validateAddress(data,\n //httpService.validateAddress - success callback\n function (addressValid) {\n //update that validation is attempted\n self.addressValidationAttempted();\n waitDialog.modal('hide');\n console.log('Address valid:' + addressValid);\n //validation failed\n if (!addressValid && self.validationRetryNeeded) {\n //or give more chance for validation\n self.openAddressPopup(function (result) {\n //stop if form is invalid\n if ($this.componentState.$invalid) {\n return false;\n }\n //reset to true\n $this.showPopup = true;\n //copy data to main databag\n $this.copyAddressData({ source: $this.componentDataBag, prefix: $this.internalDataKey + $this.componentAddressFieldPrefix }, { source: $this.dataBag, prefix: $this.internalDataKey });\n //check for state change, if state is not changed then false will be returned\n var showingAlert = $this.alertStateChange(function () {\n completionCallback({ valid: true });\n });\n //if need state change alert, then close address popup and\n //dont call completionCallback to stop submission\n if (showingAlert) {\n //return true to close address popup\n return true;\n }\n //clear validation states\n self.clearFormState();\n\n //retry address valdiation\n if (self.validationRetryNeeded) {\n self.validateAddress(completionCallback, 'inner retry: ' + self.validationCount);\n }\n console.log('advancedAddressPopupDialog=> okCallback');\n return true;\n }, function (result) {\n console.log('advancedAddressPopupDialog=> cancelCallback');\n self.showPopup = true;\n self.clearFormState();\n return true;\n });\n } else {\n console.log('Proceeding with entered address as either address is valid or all validation attempts are over.');\n self.showPopup = true;\n //address is valid, trigger validatinCompleted callback\n self.acceptCurrentAddress(completionCallback, addressValid);\n }\n },\n //httpService.validateAddress - failure callback\n function (error) {\n waitDialog.modal('hide');\n $this.showPopup = true;\n //completionCallback({ valid: false });\n __WEBPACK_IMPORTED_MODULE_3__services_dialogService__[\"a\" /* default */].showTechnicalErrorDialog();\n });\n } else {\n completionCallback({ valid: true });\n }\n return true;\n } else {\n //return false if other validation are failed;\n //completionCallback({ valid: false });\n return false;\n }\n },\n acceptCurrentAddress(completionCallback, verifiedAddress) {\n //user accepted curent address, no more validation required,\n //trigger validatinCompleted callback\n this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.IS_VALIDATED_KEY] = verifiedAddress;\n completionCallback({ valid: true });\n },\n fieldInteractionCallbackHandler() {},\n isAddressNotModified() {\n return this.originalAddress.Address1 == this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY] && this.originalAddress.Address2 == this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY] && this.originalAddress.City == this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY] && this.originalAddress.State == this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY] && this.originalAddress.PostalCode == this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY];\n },\n //ValidateOnNext event handler\n onValidateOnNext(evtData, completionCallback) {\n const self = this;\n this.nextValCompleted = false;\n console.log(\"AddressComponent=>onValidateOnNext\", evtData, this);\n //do validation task and then provide feedback about validation completion by calling base method\n console.log('validating address...');\n this.validateAddress(function (data) {\n //send completion event data\n if (completionCallback && !self.nextValCompleted) {\n self.nextValCompleted = true;\n self.closeAddressPopup('done', true);\n const evtData = {};\n console.log('AddressComponent->onValidateOnNext::completionCallback');\n completionCallback(evtData);\n }\n }, 'main');\n },\n closeAddressPopup(desc, destroy) {\n //var self = this;\n console.log('closeAddressPopup for: ' + desc);\n var action = 'hide';\n if (action && this.addressModelPopupDialog && this.addressModelPopupDialog.modal) {\n console.log('closeAddressPopup action: ' + action);\n try {\n this.addressModelPopupDialog.modal(action);\n //$('.modal-backdrop').remove();\n } catch (e) {\n console.log('closeAddressPopup error: ', e);\n }\n }\n\n if (!this.validationRetryNeeded || destroy) {\n this.showAddressPopup = false;\n this.unbindAddressPopupActionButtons();\n }\n },\n //events for address bootstrap dialog\n openAddressPopup(okCallback, cancelCallback) {\n var self = this;\n if (this.addressModelPopupDialog) {\n //modal dialog is already opened, just show\n //delay little\n window.setTimeout(function () {\n console.log('openAddressPopup:show');\n self.addressModelPopupDialog.modal('show');\n }, 100);\n } else {\n //$this.showAddressPopup = true;\n //create new modal\n this.createAddressModalPopup(okCallback, cancelCallback);\n }\n },\n createAddressModalPopup(okCallback, cancelCallback) {\n var self = this;\n console.log('createAddressPopup');\n //create new modal and configure\n const modalRef = $('#' + self.addressModalPopupId);\n this.addressModelPopupDialog = modalRef.modal({\n keyboard: false,\n backdrop: 'static'\n }).on('shown.bs.modal', function () {\n $(document.body).removeAttr('style');\n }).on('hidden.bs.modal', function (e) {\n $(document.body).removeAttr('style');\n });\n //register event handler\n this.bindAddressPopupActionButtons(modalRef, okCallback, cancelCallback);\n },\n bindAddressPopupActionButtons(modalRef, okCallback, cancelCallback) {\n const self = this;\n $(modalRef).find('.modal-footer .btn-secondary').on('click', function () {\n var result = okCallback();\n if (result) {\n self.closeAddressPopup('ok');\n }\n });\n\n $(modalRef).find('.modal-footer .btn-link').on('click', function () {\n var result = cancelCallback();\n if (result) {\n self.closeAddressPopup('cancel');\n }\n });\n },\n unbindAddressPopupActionButtons() {\n const self = this;\n const modalRef = $('#' + self.addressModalPopupId);\n $(modalRef).find('.modal-footer .btn-secondary').off('click');\n $(modalRef).find('.modal-footer .btn-link').off('click');\n }\n }\n});\n\n/***/ }),\n/* 96 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__BeneficiaryListComponent_vue__ = __webpack_require__(195);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__BeneficiaryListComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__BeneficiaryListComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__services_allocationService__ = __webpack_require__(14);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {},\n components: {\n 'beneficiary-list': __WEBPACK_IMPORTED_MODULE_2__BeneficiaryListComponent_vue___default.a\n },\n data() {\n return {\n defaultOptions: {\n primaryListTitle: 'Primary Beneficiaries',\n contingentListTitle: 'Contingent Beneficiaries',\n allocationTotalMessage: 'Be sure to allocate a total of 100 percent of the coverage amount among your beneficiaries.'\n },\n dataKeyObject: {\n primaryListTitle: '',\n contingentListTitle: '',\n allocationTotalMessage: ''\n },\n primaryBeneficiaryCount: 0,\n contingentBeneficiaryCount: 0\n };\n },\n created() {\n this.init();\n },\n mounted() {\n this.ensureDataKeyParsing();\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.internalDataKey]) {\n this.$set(this.dataBag, this.internalDataKey, []);\n }\n },\n computed: {\n totalCoverage() {\n return this.dataBag[__WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].COVERAGE_AMOUNT_KEY] || 0; //get from dataBag\n },\n primaryBeneficiaries() {\n var beneficiaries = [];\n var list = this.dataBag[this.internalDataKey];\n if (list && list.length > 0) {\n for (var index = 0; index < list.length; index++) {\n if (list[index].beneficiary_type === __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].BENEFICIARY_TYPE.PRIMARY) {\n beneficiaries.push(list[index]);\n }\n }\n }\n if (this.primaryBeneficiaryCount === 0) {\n this.primaryBeneficiaryCount = beneficiaries.length;\n }\n console.log('beneficiary allocation::primaryBeneficiaries', beneficiaries.length, this.primaryBeneficiaryCount);\n if (this.primaryBeneficiaryCount !== beneficiaries.length) {\n __WEBPACK_IMPORTED_MODULE_4__services_allocationService__[\"a\" /* default */].adjustShareAllocation(null, beneficiaries, this.totalCoverage);\n this.primaryBeneficiaryCount = beneficiaries.length;\n }\n return beneficiaries;\n },\n contingentBeneficiaries() {\n var beneficiaries = [];\n var list = this.dataBag[this.internalDataKey];\n if (list && list.length > 0) {\n for (var index = 0; index < list.length; index++) {\n if (list[index].beneficiary_type === __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].BENEFICIARY_TYPE.CONTINGENT) {\n beneficiaries.push(list[index]);\n }\n }\n }\n\n if (this.contingentBeneficiaryCount === 0) {\n this.contingentBeneficiaryCount = beneficiaries.length;\n }\n console.log('beneficiary allocation::contingentBeneficiaries', beneficiaries.length, this.contingentBeneficiaryCount);\n if (this.contingentBeneficiaryCount !== beneficiaries.length) {\n __WEBPACK_IMPORTED_MODULE_4__services_allocationService__[\"a\" /* default */].adjustShareAllocation(null, beneficiaries, this.totalCoverage);\n this.contingentBeneficiaryCount = beneficiaries.length;\n }\n return beneficiaries;\n }\n },\n methods: {\n broadCastNavigateNext() {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_NEXT_FEEDBACK, __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENT_DATA.NOT_NAVIGATED);\n },\n init() {\n //check if only one beneficiaary of each type\n //skip page - raise event\n if (this.primaryBeneficiaries.length <= 1 && this.contingentBeneficiaries.length <= 1) {\n this.broadCastNavigateNext();\n }\n },\n deleteBeneficiary(beneficiary) {\n var $this = this;\n if (__WEBPACK_IMPORTED_MODULE_3__services_dialogService__[\"a\" /* default */].confirmAdvanced) {\n __WEBPACK_IMPORTED_MODULE_3__services_dialogService__[\"a\" /* default */].confirmAdvanced(\"Do you really want to delete beneficiary?\", function (result) {\n if (result) {\n var itemIdex = -1;\n var list = $this.dataBag[$this.internalDataKey];\n for (var index = 0; index < list.length; index++) {\n if (list[index].key == beneficiary.key) {\n itemIdex = index;\n break;\n }\n }\n if (itemIdex > -1) {\n list.splice(itemIdex, 1);\n }\n }\n }, 'Delete');\n }\n }\n }\n});\n\n/***/ }),\n/* 97 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__services_allocationService__ = __webpack_require__(14);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n beneficiaries: {\n type: Array,\n required: true\n },\n //form state for validation\n state: {\n type: Object,\n required: true\n },\n //dataBag: {\n // type: Object,\n // required: true,\n //},\n totalCoverage: [Number, String],\n showRemove: {\n type: Boolean,\n required: false,\n default: true\n },\n deleteCallback: {\n type: Function,\n required: false\n }\n },\n data: function () {\n return {\n //setup data properties\n componentDataBag: {},\n validationKey: __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__[\"a\" /* Utility */].newGuid(),\n totalCoverageFormated: 0,\n totalShare: 0,\n totalAmount: 0\n };\n },\n mounted() {\n this.totalCoverageFormated = __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__[\"a\" /* Utility */].formatCurrency(this.totalCoverage);\n var adjust = this.isShareAdjustmentNeeded();\n this.calculateBeneficiaryData(null, adjust);\n },\n computed: {\n allocationValid() {\n return this.beneficiaries == null || this.beneficiaries.length == 0 || parseInt(this.totalShare) == 100;\n }\n },\n watch: {\n beneficiaries() {\n var adjust = this.isShareAdjustmentNeeded();\n this.calculateBeneficiaryData(null, adjust);\n }\n },\n methods: {\n beneficiaryDeleteHandler(beneficiary) {\n if (this.deleteCallback) {\n this.deleteCallback(beneficiary);\n }\n },\n isShareAdjustmentNeeded() {\n var total = __WEBPACK_IMPORTED_MODULE_2__services_allocationService__[\"a\" /* default */].calculateTotalShare(this.beneficiaries);\n return total != 100;\n },\n getBeneficiaryName(beneficiary) {\n var name = '';\n if (beneficiary) {\n if (beneficiary.beneficiary === __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].BENEFICIARY.PERSON) {\n name = beneficiary.beneficiary_person_firstName + ' ' + beneficiary.beneficiary_person_lastName;\n } else if (beneficiary.beneficiary === __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].BENEFICIARY.TRUST) {\n name = beneficiary.beneficiary_trust_name;\n }\n }\n return name;\n },\n formatAmount(amount) {\n return __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__[\"a\" /* Utility */].formatCurrency(amount);\n },\n calculateAllocationAmount() {\n __WEBPACK_IMPORTED_MODULE_2__services_allocationService__[\"a\" /* default */].calculateAllocationAmount(this.beneficiaries, this.totalCoverage);\n },\n\n calculateTotalShare() {\n this.totalShare = __WEBPACK_IMPORTED_MODULE_2__services_allocationService__[\"a\" /* default */].calculateTotalShare(this.beneficiaries);\n return this.totalShare;\n },\n\n calculateTotalAmount() {\n this.totalAmount = __WEBPACK_IMPORTED_MODULE_2__services_allocationService__[\"a\" /* default */].calculateTotalAmount(this.beneficiaries);\n },\n adjustPercentShare(beneficiary) {\n __WEBPACK_IMPORTED_MODULE_2__services_allocationService__[\"a\" /* default */].adjustPercentShare(beneficiary, this.beneficiaries);\n },\n calculateBeneficiaryData(changedBeneficiary, adjustShare) {\n //if ther are only two beneficiary, then readjust share to make it 100\n if (changedBeneficiary != null || adjustShare) {\n this.adjustPercentShare(changedBeneficiary);\n }\n this.calculateAllocationAmount();\n this.calculateTotalShare();\n this.calculateTotalAmount();\n },\n increaseShare(beneficiary) {\n beneficiary.percentShare++;\n if (beneficiary.percentShare > 99) {\n beneficiary.percentShare = 99;\n }\n this.calculateBeneficiaryData(beneficiary, true);\n },\n decreaseShare(beneficiary) {\n beneficiary.percentShare--;\n if (beneficiary.percentShare < 1) {\n beneficiary.percentShare = 1;\n }\n this.calculateBeneficiaryData(beneficiary, true);\n },\n percentageShareChange(beneficiary) {\n\n var newShare = beneficiary.percentShare;\n\n if (newShare < 1) {\n beneficiary.percentShare = 1;\n } else if (newShare > 99) {\n beneficiary.percentShare = 99;\n }\n this.calculateBeneficiaryData(beneficiary, true);\n }\n }\n});\n\n/***/ }),\n/* 98 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n //showAllocation\n showAllocation: {\n type: Boolean,\n required: false,\n default: false\n },\n //form state for validation\n beneficiaries: {\n type: Array,\n required: true\n },\n deleteBeneficiaryHandler: {\n type: Function,\n required: false\n }\n },\n methods: {\n deleteBeneficiary: function (key) {\n if (this.deleteBeneficiaryHandler) {\n this.deleteBeneficiaryHandler(key);\n }\n }\n }\n});\n\n/***/ }),\n/* 99 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__BeneficiaryReviewEditModeViewComponent_vue__ = __webpack_require__(197);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__BeneficiaryReviewEditModeViewComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__BeneficiaryReviewEditModeViewComponent_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__services_allocationService__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mixins_ComponentInterfaceMixin__ = __webpack_require__(10);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_4__mixins_ComponentInterfaceMixin__[\"a\" /* ComponentInterfaceMixin */]],\n props: {\n dataKey: {\n type: String,\n default: '',\n required: true\n },\n totalCoverage: {\n totalCoverage: [Number, String],\n required: true\n },\n preventEditing: {\n type: Boolean,\n required: true\n },\n sectionEditCallback: {\n type: Function,\n required: true\n }\n },\n components: {\n 'beneficiary-review-edit-mode-view': __WEBPACK_IMPORTED_MODULE_2__BeneficiaryReviewEditModeViewComponent_vue___default.a\n },\n data: function () {\n return {\n beneficiariesCopy: [],\n beneficiaryEditMode: false\n };\n },\n mounted() {\n this.init();\n },\n computed: {\n primaryBeneficiaries() {\n return this.beneficiariesCopy.filter(function (item) {\n return item.beneficiary_type == __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].BENEFICIARY_TYPE.PRIMARY;\n });\n },\n contingentBeneficiaries() {\n return this.beneficiariesCopy.filter(function (item) {\n return item.beneficiary_type == __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].BENEFICIARY_TYPE.CONTINGENT;\n });\n }\n },\n watch: {\n // whenever question changes, this function will run\n dataKey: function () {\n this.init();\n }\n },\n methods: {\n calculateAllocation() {\n //this.totalCoverageFormated = Utility.formatCurrency(this.totalCoverage);\n //recalculate for primary\n var adjust = this.isShareAdjustmentNeeded(this.primaryBeneficiaries);\n if (adjust) {\n __WEBPACK_IMPORTED_MODULE_3__services_allocationService__[\"a\" /* default */].adjustPercentShare(null, this.primaryBeneficiaries);\n }\n //recalculate for primary\n adjust = this.isShareAdjustmentNeeded(this.contingentBeneficiaries);\n if (adjust) {\n __WEBPACK_IMPORTED_MODULE_3__services_allocationService__[\"a\" /* default */].adjustPercentShare(null, this.contingentBeneficiaries);\n }\n },\n isShareAdjustmentNeeded(list) {\n var total = __WEBPACK_IMPORTED_MODULE_3__services_allocationService__[\"a\" /* default */].calculateTotalShare(list);\n return total != 100;\n },\n init() {\n this.beneficiariesCopy = this.cloneBeneficiaries();\n },\n onBeneficiaryEdit: function () {\n this.beneficiariesCopy = this.cloneBeneficiaries();\n this.beneficiaryEditMode = true;\n this.sectionEditCallback(this.beneficiaryEditMode);\n },\n onBeneficiarySave() {\n this.$set(this.state, '$submitted', true);\n\n if (this.state.$valid) {\n this.$set(this.state, '$submitted', false);\n //clone the array item - deep copy\n var items = JSON.parse(JSON.stringify(this.beneficiariesCopy));\n this.$set(this.dataBag, this.dataKey, items);\n //recalculate allocation\n this.calculateAllocation();\n this.beneficiaryEditMode = false;\n this.sectionEditCallback(this.beneficiaryEditMode);\n this.beneficiariesCopy = this.cloneBeneficiaries();\n }\n },\n onBeneficiaryEditCancel() {\n this.beneficiariesCopy = this.cloneBeneficiaries();\n this.beneficiaryEditMode = false;\n this.sectionEditCallback(this.beneficiaryEditMode);\n },\n cloneBeneficiaries() {\n var items = this.dataBag[this.dataKey];\n var clonedCopy = [];\n if (items && items.length > 0) {\n clonedCopy = JSON.parse(JSON.stringify(items));\n }\n return clonedCopy;\n },\n deleteBeneficiary(key) {\n var $this = this;\n if (__WEBPACK_IMPORTED_MODULE_1__services_dialogService__[\"a\" /* default */].confirmAdvanced) {\n __WEBPACK_IMPORTED_MODULE_1__services_dialogService__[\"a\" /* default */].confirmAdvanced(\"Do you really want to delete beneficiary?\", function (result) {\n if (result) {\n var itemIdex = -1;\n var list = $this.beneficiariesCopy;\n for (var index = 0; index < list.length; index++) {\n if (list[index].key == key) {\n itemIdex = index;\n break;\n }\n }\n if (itemIdex > -1) {\n list.splice(itemIdex, 1);\n }\n }\n }, 'Delete');\n }\n }\n }\n});\n\n/***/ }),\n/* 100 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_ComponentInterfaceMixin__ = __webpack_require__(10);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_ComponentInterfaceMixin__[\"a\" /* ComponentInterfaceMixin */]],\n props: {\n dataBag: {\n type: Object,\n required: false\n },\n //form state for validation\n beneficiaries: {\n type: Array,\n required: true,\n default: function () {\n return [];\n }\n },\n totalCoverage: {\n type: [Number, String],\n required: true\n },\n deleteBeneficiaryHandler: {\n type: Function,\n required: true\n },\n isPrimary: {\n type: Boolean,\n required: false,\n default: function () {\n return false;\n }\n }\n },\n computed: {\n preventDelete() {\n return this.isPrimary && this.beneficiaries.length == 1;\n }\n },\n methods: {\n isPersonBeneficiary(beneficiary) {\n return beneficiary['beneficiary'] === __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].BENEFICIARY.PERSON;\n },\n getBeneficiaryQuestionPrefix(text, index) {\n const typeText = this.isPrimary ? 'p' : 'c';\n return typeText + text + (index + 1);\n }\n }\n});\n\n/***/ }),\n/* 101 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Shared_Utilities_Utility__ = __webpack_require__(2);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_2__mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {},\n data: function () {\n return {\n componentState: {},\n componentDataBag: {\n firstName: '',\n lastName: '',\n callUsType: '',\n scheduleDate: '',\n scheduleTime: '',\n primaryPhone: '',\n clientTimeZoneOffset: __WEBPACK_IMPORTED_MODULE_4__Shared_Utilities_Utility__[\"a\" /* Utility */].getClientTimeZoneOffset()\n },\n premiumAmounts: {},\n callUsTypeQuestion: this.getCallUsTypeQuestion(),\n phoneNumber: this.getPhoneNumber(),\n firstName: this.getFirstName(),\n lastName: this.getLastName(),\n scheduleDate: null,\n scheduleTime: this.getScheduleTimes(),\n reasons: \"\",\n dynamicContentKeys: ['contactNumber', 'genericMessage'],\n\n showThankyouPage: false,\n inAgentCallWindow: true\n };\n },\n created() {\n //fetch page data;\n this.fetchScheduleDates();\n this.checkInAgentCallWindow();\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.dataKey]) {\n this.$set(this.dataBag, this.dataKey, []);\n }\n\n this.getDisqualificationReasons();\n\n this.componentDataBag['callUsType'] = __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].CALL_TYPE.CALL_ME_NOW;\n },\n computed: {\n isCallMeNow() {\n console.log(this.componentDataBag['callUsType']);\n return this.componentDataBag['callUsType'] === __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].CALL_TYPE.CALL_ME_NOW;\n }\n },\n methods: {\n callMeNowChangeHandler() {\n\n if (this.isCallMeNow && !this.inAgentCallWindow) {\n console.log('schedule dialog');\n __WEBPACK_IMPORTED_MODULE_3__services_dialogService__[\"a\" /* default */].showMessageDialog(\"Our representatives are not available to assist you at the moment.
They are available on Monday - Friday 6: 00 am - 6: 00 pm Pacific
Saturday 6: 00 am - 6: 00 pm Pacific.
Please try Schedule a Call option\");\n this.componentDataBag['callUsType'] = __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].CALL_TYPE.SCHEDULE_CALL;\n }\n if (this.componentState && this.componentState._reset) {\n this.componentState._reset();\n }\n },\n scheduleDateChangeHandler() {},\n scheduleTimeChangeHandler() {},\n getPhoneNumber() {\n return {\n \"questionKey\": \"primaryPhone\",\n \"text\": \"Primary Phone Number\",\n \"type\": \"text\",\n \"focusPlaceholder\": \"000-000-0000\",\n \"maskFormat\": \"###-###-####\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"The 'Primary Phone Number' question/field is required and cannot be left blank\",\n \"minlength\": 12,\n \"minlengthMessage\": \"Please enter mimimum 10 digits\",\n \"maxlength\": 12,\n \"maxlengthMessage\": \"Please enter maximum 10 digits\"\n }\n };\n },\n callMeNow() {\n this.$set(this.componentState, '$submitted', true);\n //touch component states to highlight field\n this.touchComponentState(this.componentState);\n //check component state for val\n if (this.componentState.$valid) {\n this.$set(this.componentState, '$submitted', false);\n\n //reset flag\n this.makeCall();\n }\n },\n scheduleMyCall() {\n this.$set(this.componentState, '$submitted', true);\n //touch component states to highlight field\n this.touchComponentState(this.componentState);\n //check component state for val\n if (this.componentState.$valid) {\n this.$set(this.componentState, '$submitted', false);\n\n //reset flag\n this.makeCall();\n }\n },\n getFirstName() {\n return {\n \"questionKey\": \"firstName\",\n \"autoSave\": false,\n \"text\": \"First Name\",\n \"type\": \"text\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\",\n \"maxlength\": 20,\n \"maxlengthMessage\": \"'First Name' field cannot be more than 20 characters.\"\n }\n };\n },\n getLastName() {\n return {\n \"questionKey\": \"lastName\",\n \"autoSave\": false,\n \"text\": \"Last Name\",\n \"type\": \"text\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\",\n \"maxlength\": 20,\n \"maxlengthMessage\": \"'Last Name' field cannot be more than 20 characters.\"\n }\n };\n },\n getCallUsTypeQuestion() {\n return {\n \"questionKey\": \"callUsType\",\n \"autoSave\": false,\n \"text\": \"\",\n \"type\": \"radio\",\n \"answer\": \"\",\n \"answerOptions\": [{\n \"text\": \"Call Me Now\",\n \"value\": \"1\",\n \"iconClass\": \"call-now-radio\"\n }, {\n \"text\": \"Schedule a Call\",\n \"value\": \"2\",\n \"iconClass\": \"schedule-call-radio\"\n }],\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\"\n }\n };\n },\n getScheduleDates(dates) {\n dates = dates || [];\n return {\n \"questionKey\": \"scheduleDate\",\n \"autoSave\": false,\n \"text\": \"Date\",\n \"type\": \"dropdown\",\n \"selectText\": \"Date\",\n //\"answerOptionsFunction\":'SCHEDULE_A_CALL_DATE_LIST',\n \"answerOptions\": dates,\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\"\n }\n };\n },\n getScheduleTimes() {\n return {\n \"questionKey\": \"scheduleTime\",\n \"autoSave\": false,\n \"text\": \"Time\",\n \"type\": \"dropdown\",\n \"selectText\": \"Time\",\n \"answerOptionsFunction\": 'SCHEDULE_A_CALL_TIME_LIST',\n \"answerOptions\": [],\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\"\n }\n };\n },\n getDisqualificationReasons() {\n var $this = this;\n __WEBPACK_IMPORTED_MODULE_0__services_HttpCommunicationService__[\"a\" /* default */].getDisqualificationReasons({}, function (data) {\n if (data) {\n $this.reasons = data;\n $this.loadDisqualificationSummaryMessages(data);\n }\n }, function (data) {});\n },\n loadDisqualificationSummaryMessages(disqualificationReasons) {\n const $this = this;\n if (disqualificationReasons && disqualificationReasons.length > 0) {\n disqualificationReasons.forEach(reason => {\n if ($this.dynamicContentKeys.indexOf(reason.id) == -1) {\n $this.dynamicContentKeys.push(reason.id);\n }\n });\n // console.log('calling loadDynamicContent');\n }\n if ($this.dynamicContentKeys.length > 0) {\n const contentKeys = $this.dynamicContentKeys.join(',');\n $this.loadDynamicContent('CallUsComponent', contentKeys);\n }\n },\n makeCall() {\n var $this = this;\n var dialog = __WEBPACK_IMPORTED_MODULE_3__services_dialogService__[\"a\" /* default */].showProcessingDialog();\n\n __WEBPACK_IMPORTED_MODULE_0__services_HttpCommunicationService__[\"a\" /* default */].makeCall(this.componentDataBag, function (response) {\n $(dialog).modal('hide');\n if (response != null) {\n $this.showThankyouPage = response.success;\n }\n if (response == null || !response.success) {\n __WEBPACK_IMPORTED_MODULE_3__services_dialogService__[\"a\" /* default */].showTechnicalErrorDialog();\n }\n }, function (data) {\n $(dialog).modal('hide');\n });\n },\n\n fetchScheduleDates() {\n var $this = this;\n __WEBPACK_IMPORTED_MODULE_0__services_HttpCommunicationService__[\"a\" /* default */].getNextNthBusinessDays(function (data) {\n $this.scheduleDate = $this.getScheduleDates(data);\n }, function (data) {});\n },\n atleastOneDisqualificationReasonsSummaryExists(reasons) {\n var exists = false;\n if (reasons && reasons.length) {\n for (var index = 0; index < reasons.length; index++) {\n exists = this.isNotEmpty(this.dynamicData[reasons[index].id]);\n //break if any of the item is not empty.\n if (exists) {\n break;\n }\n }\n }\n return exists;\n },\n checkInAgentCallWindow() {\n\n var $this = this;\n __WEBPACK_IMPORTED_MODULE_0__services_HttpCommunicationService__[\"a\" /* default */].InAgentCallWindow(function (data) {\n\n $this.inAgentCallWindow = data;\n console.log($this.inAgentCallWindow);\n var answerOptions = [];\n if (data) {\n answerOptions = [{\n \"text\": \"Call Me Now\",\n \"value\": \"1\",\n \"iconClass\": \"call-now-radio\"\n }, {\n \"text\": \"Schedule a Call\",\n \"value\": \"2\",\n \"iconClass\": \"schedule-call-radio\"\n }];\n } else {\n answerOptions = [{\n \"text\": \"Schedule a Call\",\n \"value\": \"2\",\n \"iconClass\": \"schedule-call-radio\"\n }];\n $this.componentDataBag['callUsType'] = __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].CALL_TYPE.SCHEDULE_CALL;\n }\n\n $this.callUsTypeQuestion.answerOptions = answerOptions;\n }, function (error) {});\n }\n\n }\n});\n\n/***/ }),\n/* 102 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__services_dialogService__ = __webpack_require__(6);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_0__mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {},\n data: function () {\n return {\n IsConsentAgreed: this.dataBag[this.dataKey] ? this.dataBag[this.dataKey] == 'true' : false\n };\n },\n created() {},\n mounted() {\n console.log('mounted');\n console.log(this.dataBag);\n if (!this.dataBag[this.dataKey]) {\n this.$set(this.dataBag, this.dataKey, '');\n }\n\n var $this = this;\n console.log($this.IsConsentAgreed);\n if (!$this.IsConsentAgreed) {\n if (__WEBPACK_IMPORTED_MODULE_3__services_dialogService__[\"a\" /* default */].advancedConsentPopupDialog) {\n var msgText = $($this.$refs.consentDialog).html();\n __WEBPACK_IMPORTED_MODULE_3__services_dialogService__[\"a\" /* default */].advancedConsentPopupDialog(msgText, function (result) {\n if (result) {\n console.log(result);\n $this.dataBag[$this.dataKey] = 'true';\n $this.broadCastNavigateNext();\n }\n }, function (result) {\n window.location.href = \"https://www.corebridgedirect.com\";\n });\n }\n } else {\n $this.broadCastNavigateNext();\n }\n },\n methods: {\n broadCastNavigateNext() {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_NEXT);\n }\n }\n});\n\n/***/ }),\n/* 103 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Shared_Utilities_Utility__ = __webpack_require__(2);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n dataBag: Object,\n //form state for validation\n state: {\n type: Object,\n required: true\n },\n dataKey: String\n },\n data: function () {\n return {\n sliderTitle: __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].COVERAGE_TITLE,\n sliderValidationMessage: __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].COVERAGE_VALIDATION_MESSAGE\n };\n },\n computed: {\n coverageDataArray() {\n return this.createCoverageDataArrayList();\n }\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.dataKey]) {\n var coverageAmount = 450000; //Set Default\n this.$set(this.dataBag, this.dataKey, coverageAmount);\n }\n if (!this.dataBag[__WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].CHECK_FOR_NEEDSANALYSIS]) {\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].CHECK_FOR_NEEDSANALYSIS, \"false\");\n }\n //if (this.dataBag[Constants.DIYPATH_KEY] && this.dataBag[Constants.DIYPATH_KEY] == \"false\" )\n if (this.dataBag[__WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].CHECK_FOR_NEEDSANALYSIS] && this.dataBag[__WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].CHECK_FOR_NEEDSANALYSIS] == \"true\") {\n var $this = this;\n __WEBPACK_IMPORTED_MODULE_1__services_HttpCommunicationService__[\"a\" /* default */].getRecommendCoverageAmount({}, function (data) {\n if (data) {\n $this.amount = data.recommendedCoverageAmount;\n $this.$set($this.dataBag, $this.dataKey, $this.amount);\n }\n });\n }\n },\n watch: {\n amount: function () {\n this.onCoverageSelect(amount);\n }\n },\n methods: {\n onCoverageSelect(amount) {\n this.$set(this.dataBag, this.dataKey, amount);\n },\n createCoverageDataArrayList() {\n var data = __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].COVERAGE_AMOUNT_LIST();\n var fullArrayList = [];\n\n for (var i = 0; i < data.length; i += 5) {\n var subList = [];\n if (i + 5 > data.length - 1) {\n subList = data.slice(i);\n } else {\n subList = data.slice(i, i + 5);\n }\n console.log('subList', subList);\n //format currency\n subList.forEach((item, index, list) => {\n item.text = __WEBPACK_IMPORTED_MODULE_2__Shared_Utilities_Utility__[\"a\" /* Utility */].formatCurrency(item.value);\n });\n fullArrayList.push(subList);\n }\n console.log('fullArrayList', fullArrayList);\n return fullArrayList;\n }\n }\n});\n\n/***/ }),\n/* 104 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_DynamicContentMixin__ = __webpack_require__(24);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_DynamicContentMixin__[\"a\" /* default */]],\n props: {\n errorCode: {\n type: Number,\n required: true\n }\n },\n data: function () {\n return {\n experience: '',\n componentIdentifier: 'errorComponent',\n dynamicContentKeys: ['contactNumber']\n };\n },\n created() {\n this.experience = this.getExperience();\n console.log(this.experience);\n },\n mounted() {\n this.loadDynamicContent();\n },\n methods: {\n getExperience() {\n return __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].$applicationData.experience;\n }\n }\n});\n\n/***/ }),\n/* 105 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n nextCallback: {\n type: Function,\n required: true\n },\n prevCallback: {\n type: Function,\n required: true\n },\n hideNext: {\n type: Boolean,\n default: true,\n required: true\n },\n hidePrev: {\n type: Boolean,\n default: true,\n required: true\n },\n mode: {\n type: String,\n required: false\n },\n processing: false,\n submitApplication: false,\n nextButtonText: {\n type: String,\n required: false\n },\n prevButtonText: {\n type: String,\n required: false\n }\n },\n computed: {\n isConversational() {\n var value = this.mode && this.mode.toLowerCase() == 'conversational' ? true : false;\n return value;\n },\n nextText() {\n if (this.nextButtonText) {\n return this.nextButtonText;\n } else {\n return this.submitApplication ? 'Submit Application' : 'Next';\n }\n },\n prevText() {\n if (this.prevButtonText) {\n return this.prevButtonText;\n } else {\n return 'PREVIOUS';\n }\n }\n },\n mounted() {\n this.registerEnterKeyHandler();\n },\n destroyed() {\n this.unRegisterEnterKeyHandler();\n },\n methods: {\n registerEnterKeyHandler() {\n if ($) {\n $(document).on(\"keypress\", this.enterKeyHandler);\n }\n },\n unRegisterEnterKeyHandler() {\n if ($) {\n var $this = this;\n $(document).off(\"keypress\", this.enterKeyHandler);\n }\n },\n enterKeyHandler(e) {\n var $this = this;\n var isConversational = $this.isConversational;\n if (e.which == 13) {\n if (isConversational) {\n $this.next();\n }\n }\n },\n next: function ($event) {\n if (this.nextCallback) {\n this.nextCallback();\n }\n },\n prev: function () {\n if (this.prevCallback) {\n this.prevCallback();\n }\n }\n }\n});\n\n/***/ }),\n/* 106 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Shared_Utilities_routeUtil__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mixins_BasePageComponentMixin__ = __webpack_require__(65);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__routeUtil__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Shared_services_userConfirmation__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__mixins_FieldChangeTrackingMixin__ = __webpack_require__(66);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_4__mixins_BasePageComponentMixin__[\"a\" /* BasePageComponentMixin */], __WEBPACK_IMPORTED_MODULE_7__mixins_FieldChangeTrackingMixin__[\"a\" /* default */]],\n props: {},\n data: function () {\n return {\n formState: {},\n pageData: {\n dataBag: {},\n pageSchema: {\n pageId: \"\",\n showContinueApplicationButton: false,\n pageMetadata: {\n pageTitle: '',\n pageHead: '',\n pageSubHead: '',\n activeGroupId: 0,\n activeStep: 0,\n containerCss: '',\n removeContentWrapperCss: false\n },\n groups: [],\n navigation: {\n prevPage: null,\n nextPage: null,\n hideNextLink: false,\n hidePrevLink: false,\n mode: ''\n },\n serverValidationErrors: {}\n }\n },\n loading: true,\n isPrevClicked: false,\n //hidePrev: false,\n //hideNext: false,\n processing: false,\n isConsentAgreed: 'IsConsentAgreed',\n submitApplication: false,\n error: null\n };\n },\n created() {\n //fetch page data;\n console.log(\"PageComponent=>created\");\n this.registerNavigationFeedbackEvents();\n //this.loadPageData();\n },\n mounted() {\n $(window).scroll(this.calculateWindowScrollPosition);\n },\n destroyed() {\n this.unRegisterNavigationFeedbackEvents();\n },\n //route to guard navigation\n beforeRouteEnter(to, from, next) {\n //get page id from 'to' route\n let pageId = to.params ? to.params.pageId : '';\n console.log('page->beforeRouteEnter ', { to, from, pageId });\n //fetch data\n const request = {\n pageId: pageId\n };\n\n __WEBPACK_IMPORTED_MODULE_0__services_HttpCommunicationService__[\"a\" /* default */].getPageData(request,\n //success callback\n function (data) {\n // check if navigation to this page is allowed\n // if yes - navigate to next page\n // if no - then push route to appropriate page\n var lastVisitedPageIndex = -1;\n var currentPageIndex = -1;\n\n if (__WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].$applicationData.pageSequence) {\n var lastPageId = data.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAGE_ID_KEY] || '';\n\n lastVisitedPageIndex = __WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].$applicationData.pageSequence.indexOf(lastPageId);\n currentPageIndex = __WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].$applicationData.pageSequence.indexOf(pageId);\n }\n //navigation flag\n let allowed = false;\n //if its the first page/start page\n //or the current page is comes before last visited then allow\n if (currentPageIndex == 0 || currentPageIndex <= lastVisitedPageIndex) {\n allowed = true;\n }\n\n if (to.meta && to.meta.specialRoute) {\n allowed = true;\n }\n\n const requireConfirmation = __WEBPACK_IMPORTED_MODULE_6__Shared_services_userConfirmation__[\"a\" /* default */].isConfirmationNeeded(data.dataBag);\n\n if (allowed && !requireConfirmation) {\n //navigate to next route\n next(page => {\n page.loading = true;\n console.log(\"page->beforeRouteEnter next-1\", page);\n page.onPageDataLoaded(data, pageId);\n });\n } else if (requireConfirmation) {\n next(page => {\n page.loading = true;\n console.log(\"page->beforeRouteEnter requireConfirmation\", page);\n __WEBPACK_IMPORTED_MODULE_5__routeUtil__[\"a\" /* default */].navigateToConfirm(page.$router);\n });\n } else {\n let nextPage = '';\n //push route to allowed page\n //first time visit and directly navigating to non start page\n //force navigation to first page\n if (lastVisitedPageIndex == -1 && currentPageIndex > 0) {\n nextPage = __WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].$applicationData.pageSequence[0];\n }\n //navigate to last visited page or requested page\n else if (lastVisitedPageIndex != -1 && lastVisitedPageIndex <= currentPageIndex) {\n nextPage = __WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].$applicationData.pageSequence[lastVisitedPageIndex];\n }\n //navigate to page\n var route = {\n path: '',\n params: { pageId: nextPage }\n };\n\n next(page => {\n page.loading = true;\n console.log(\"page->beforeRouteEnter next-2\", page);\n page.$router.push(route);\n });\n }\n },\n //error callback\n function (error) {\n //console.log(\"Error\", error)\n next(page => {\n page.onError(error.status);\n });\n //dialogService.showTechnicalErrorDialog();\n });\n },\n beforeRouteUpdate(to, from, next) {\n var $this = this;\n let toPageId = to.params ? to.params.pageId : '';\n let fromPageId = from.params ? from.params.pageId : '';\n\n console.log('page->beforeRouteUpdate ', { to, from });\n //fetch data\n\n //if its a local route and handle then return;\n if (__WEBPACK_IMPORTED_MODULE_2__Shared_Utilities_routeUtil__[\"a\" /* default */].isLocalRoute(toPageId)) {\n next();\n } else {\n $this.loading = true;\n const request = {\n pageId: toPageId\n };\n __WEBPACK_IMPORTED_MODULE_0__services_HttpCommunicationService__[\"a\" /* default */].getPageData(request,\n //success callback\n function (data) {\n //navigate to next route\n console.log(\"page->beforeRouteUpdate next\", $this);\n //skip page\n if (data.pageSchema.groups.length == 0) {\n //go next or prev\n var fromPageIndex = -1;\n var toPageIndex = -1;\n\n if (__WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].$applicationData.pageSequence) {\n fromPageIndex = __WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].$applicationData.pageSequence.indexOf(fromPageId);\n toPageIndex = __WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].$applicationData.pageSequence.indexOf(toPageId);\n }\n\n var nextpage = '';\n //prev button click\n if (toPageIndex < fromPageIndex) {\n nextpage = data.pageSchema.navigation.prevPage;\n } else {\n nextpage = data.pageSchema.navigation.nextPage;\n }\n\n var route = {\n path: '',\n params: { pageId: nextpage }\n };\n $this.$router.push(route);\n } else {\n next();\n $this.onPageDataLoaded(data, toPageId);\n $this.loading = false;\n }\n },\n //error callback\n function (error) {\n next();\n $this.onError(error.status);\n //dialogService.showTechnicalErrorDialog();\n });\n }\n },\n computed: {\n errorsCount() {\n var errors = this.formState.$error;\n var count = 0;\n if (errors && this.formState.$submitted) {\n count = Object.keys(errors).length;\n };\n return count;\n },\n formErrors() {\n var errors = [];\n var errObj = this.formState.$error;\n\n if (errObj) {\n //iterate each error by key\n Object.keys(errObj).forEach(key => {\n //exclude built-in properties begin with '$'\n if (key && key.indexOf('$') == -1) {\n //get error from error object by key\n const error = errObj[key];\n if (error && typeof error == 'object') {\n //test condition & push to collection if condition is met\n if (error.$submitted && error.submitCount > 0 || error.$touched) {\n errors.push(key);\n }\n }\n }\n });\n }\n return errors || [];\n },\n authEnabled() {\n return __WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].$applicationData.authEnabled;\n },\n navigation() {\n if (this.pageData && this.pageData.pageSchema && this.pageData.pageSchema.navigation) {\n return this.pageData.pageSchema.navigation;\n }\n return undefined;\n }\n },\n methods: {\n hideNavLink(hideLink, navPage) {\n return !!(hideLink != undefined ? hideLink : navPage == '' || navPage == undefined);\n },\n\n onError(statusCode) {\n this.loading = false;\n this.error = {\n code: statusCode\n };\n },\n validateForm() {\n console.log('validateForm', this.formState);\n //this.$set(this.formState, '$submitted', true);\n const frmState = this.formState;\n if (frmState && frmState._validate) {\n try {\n frmState._validate();\n } catch (e) {\n console.log(e);\n }\n }\n this.touchFormState(frmState);\n },\n submitHandler() {\n console.log('submitHandler');\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.FORM_SUBMITTED);\n },\n onPageDataLoaded(data, pageId) {\n console.log('onPageDataLoaded');\n var $this = this;\n $this.error = null;\n $this.loading = false;\n if (pageId) {\n if (pageId == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].APPREVIEW_PAGE_ID_KEY) {\n this.submitApplication = true;\n } else {\n this.submitApplication = false;\n }\n\n if (data && data.pageSchema) {\n $this.pageData = data;\n //set page id in dataBag\n if ($this.pageData.dataBag) {\n //update only when page is after what is currently stored in session\n var currentStoredPage = $this.pageData.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAGE_ID_KEY];\n\n let currentSessionPageIndex = __WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].$applicationData.pageSequence.indexOf(currentStoredPage);\n let nextSessionPageIndex = __WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].$applicationData.pageSequence.indexOf(pageId);\n if (nextSessionPageIndex > currentSessionPageIndex) {\n $this.pageData.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAGE_ID_KEY] = pageId;\n //if its not a first page, then save page visit\n console.log('current page no: ', nextSessionPageIndex + 1);\n if (nextSessionPageIndex != 0) {\n $this.savePageLoaded(pageId);\n }\n }\n }\n $this.initializePageMetadata();\n //raise event that page is loaded\n $this.broadCastPageLoaded();\n }\n }\n },\n initializePageMetadata() {\n\n // visibile open graph meta tag only in landing page.\n var pagenewID = this.pageData.pageSchema.pageId;\n if (pagenewID !== \"home\") {\n $(document).find('.ogMetaTag').remove();\n }\n },\n broadCastPageLoaded() {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.PAGE_LOADED, {\n title: this.pageData.pageSchema.pageMetadata.pageTitle,\n routePath: this.$router.currentRoute.path\n }, this.pageData.pageSchema);\n },\n prev: function () {\n this.$navigationState.isPrevClicked = true;\n this.broadCastNavigatePrev();\n },\n next: function () {\n console.log('Page component next');\n //trigger form validation\n this.submitHandler();\n console.log('before form validation');\n this.validateForm();\n console.log('after form validation');\n\n if (this.formState.$valid && this.formErrors.length == 0) {\n console.log('valid form');\n this.$set(this.formState, '$submitted', false);\n this.broadCastNavigateNext();\n } else {\n console.log('invalid form');\n this.calculateWindowScrollPosition();\n }\n },\n scrollToNextErrorField: function () {\n if (this.formErrors.length > 0) {\n //get first error field in collection\n var nextFieldId = this.formErrors[0];\n if (nextFieldId) {\n var field = $(`[name=\"${nextFieldId}\"]`).attr('id');\n field = $('#' + field);\n var errorTongueHeight = $('.error-message-tongue').innerHeight();\n //hack for hidden element\n var hide = false;\n if (field.hasClass(\"hidden\")) {\n field.toggleClass(\"hidden\");\n hide = true;\n }\n var top = field.offset().top;\n //hack for hidden element\n if (hide) {\n field.toggleClass(\"hidden\");\n }\n top = top - errorTongueHeight;\n $('html, body').animate({\n scrollTop: top\n }, 250);\n //focus field\n field.focus();\n }\n }\n },\n calculateWindowScrollPosition() {\n var headerHeight = this.getHeaderHeight();\n var windowScrollTop = $(window).scrollTop();\n\n if (windowScrollTop > headerHeight) {\n $('.error-message-tongue').addClass(\"fixed-position\");\n if (this.formErrors.length > 0) {\n this.$nextTick(function () {\n let errorFirstField = this.formErrors[0];\n let fieldId = $(`[name=\"${errorFirstField}\"]`).attr('id');\n $('#' + fieldId).focus();\n });\n }\n } else {\n $('.error-message-tongue').removeClass(\"fixed-position\");\n }\n },\n showErrorMessageTongue() {\n var result = this.formErrors.length > 0 && !this.pageData.pageSchema.pageMetadata.hideErrorTongue;\n //if (result) {\n // this.$nextTick(function(){\n // this.$refs.errorNextBtn.focus();\n // });\n // return true;\n //}\n return result;\n },\n showServerValidationErrors(data) {\n this.pageData.pageSchema.serverValidationErrors = data.errors || {};\n },\n getHeaderHeight() {\n return $('.header-wrapper').innerHeight() + $('.progressbar-wrapper').innerHeight();\n },\n broadCastNavigateNext() {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_NEXT);\n },\n broadCastNavigatePrev() {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_PREV);\n },\n broadCastPageLoading(pageId) {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.PAGE_LOADING, pageId);\n },\n registerNavigationFeedbackEvents() {\n this.$eventBus.$on(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_NEXT_FEEDBACK, this.onNavigateNextFeedback);\n this.$eventBus.$on(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_PREV_FEEDBACK, this.onNavigatePrevFeedback);\n this.$eventBus.$on(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.COMPONENT_NAVIGATE_NEXT, this.onComponentNavigateNext);\n },\n unRegisterNavigationFeedbackEvents() {\n this.$eventBus.$off(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_NEXT_FEEDBACK, this.onNavigateNextFeedback);\n this.$eventBus.$off(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_PREV_FEEDBACK, this.onNavigatePrevFeedback);\n this.$eventBus.$off(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.COMPONENT_NAVIGATE_NEXT, this.onComponentNavigateNext);\n },\n\n onComponentNavigateNext() {\n this.next();\n },\n\n onNavigateNextFeedback(navigated, evtData) {\n console.log(\"next feedback\", navigated, evtData);\n if (navigated == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENT_DATA.NOT_NAVIGATED) {\n const $this = this;\n this.showFieldsValueChangeAlert(function () {\n console.log(\"processFieldsValueChangeAlert callback\");\n $this.validateOnNextOrSaveDataBagAndNavigateToNext(null, evtData);\n });\n }\n },\n\n onNavigatePrevFeedback(navigated) {\n console.log(\"prev feedback\", navigated);\n if (navigated == __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENT_DATA.NOT_NAVIGATED) {\n console.log(\"navigateToPrevPage\");\n this.navigateToPrevPage();\n }\n },\n onServerError(data) {\n this.loading = false;\n console.log('Error', data);\n //show server error dialog\n },\n saveDataBagAndNavigateToNext() {\n\n var $this = this;\n $this.loading = true;\n\n this.processing = true;\n //save page data and navigate to next page\n if (this.pageData && this.pageData.pageSchema && this.pageData.pageSchema.navigation.nextPage) {\n\n this.broadCastPageLoading(this.pageData.pageSchema.navigation.nextPage);\n this.saveDataBag(function (data) {\n console.log('navigating to next page', data);\n $this.loading = false;\n\n $this.processing = false;\n $this.navigateToNextPage(data);\n }, this.onError);\n }\n },\n\n navigateToPrevPage() {\n if (this.pageData && this.pageData.pageSchema && this.pageData.pageSchema.navigation.prevPage) {\n var route = {\n path: '',\n params: { pageId: this.pageData.pageSchema.navigation.prevPage }\n };\n this.$router.push(route);\n this.loading = true;\n }\n },\n navigateToNextPage(data) {\n var nextPage = data && data.nextPage ? data.nextPage : this.pageData.pageSchema.navigation.nextPage;\n if (data.success) {\n var route = {\n path: '',\n params: { pageId: nextPage }\n };\n console.log('navigateToNextPage:navigating to ' + nextPage);\n this.$router.push(route);\n } else {\n console.log('Errors', data);\n //update errors\n this.showServerValidationErrors(data);\n }\n },\n saveDataBag(successCallback, failureCallback) {\n //get current page id\n var pageId = this.$router.currentRoute && this.$router.currentRoute.params ? this.$router.currentRoute.params.pageId : null;\n\n __WEBPACK_IMPORTED_MODULE_0__services_HttpCommunicationService__[\"a\" /* default */].postPageData(this.pageData.dataBag, pageId, successCallback, failureCallback);\n },\n savePageLoaded(pageId) {\n //get current page id\n if (pageId) {\n var bag = {};\n bag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAGE_ID_KEY] = pageId;\n __WEBPACK_IMPORTED_MODULE_0__services_HttpCommunicationService__[\"a\" /* default */].postPageData(bag, null, function (data) {\n console.log('saved page visit');\n }, function (error) {\n console.log('saved page visit - error', error);\n });\n }\n },\n touchFormState(state) {\n if (state) {\n var errors = state.$error;\n var $this = this;\n if (errors) {\n Object.keys(errors).forEach(function (key) {\n var fieldState = errors[key];\n if (fieldState) {\n $this.$set(fieldState, '$touched', true);\n }\n });\n }\n }\n }\n }\n});\n\n/***/ }),\n/* 107 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Shared_Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__services_HttpCommunicationService__ = __webpack_require__(4);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {\n dataKey: {\n type: [String, Object],\n required: false\n },\n preventEditing: {\n type: Boolean,\n required: true\n },\n sectionEditCallback: {\n type: Function,\n required: true\n }\n },\n data: function () {\n return {\n componentState: {},\n editMode: false,\n addressReadCopy: {\n Address1: '',\n Address2: '',\n City: '',\n State: '',\n Zip: ''\n },\n addressEditCopy: {\n Address1: '',\n Address2: '',\n City: '',\n State: '',\n Zip: ''\n },\n personDataBag: {},\n personalQuestionGroup: {\n \"key\": __WEBPACK_IMPORTED_MODULE_4__Shared_Utilities_Utility__[\"a\" /* Utility */].newGuid(),\n \"title\": \"\",\n \"helpText\": \"\",\n \"questions\": [[{\n \"question\": {\n \"questionKey\": \"Insured_firstName\",\n \"text\": \"First Name\",\n \"autoSave\": false,\n \"type\": \"text\",\n \"allowedCharacters\": \"[a-zA-Z ]\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"The 'First Name' question/field is required and cannot be left blank\",\n \"maxlength\": 20,\n \"maxlengthMessage\": \"'First Name' field cannot be more than 20 characters.\",\n \"minlength\": 2,\n \"minlengthMessage\": \"'First Name' field must be a mimimum of 2 characters.\",\n \"pattern\": \"^([a-zA-Z])+([ ]?[a-zA-Z])*$\",\n \"patternMessage\": \"'First Name' can only contains alphabetical characters and it can not begin or end with a space.\"\n }\n },\n \"colSize\": 4\n }, {\n \"question\": {\n \"questionKey\": \"Insured_middleName\",\n \"text\": \"Middle Name\",\n \"autoSave\": false,\n \"maskFormat\": \"A\",\n \"type\": \"text\",\n \"validators\": {\n \"maxlength\": 1,\n \"maxlengthMessage\": \"Please enter maximum 1 character.\"\n }\n },\n \"colSize\": 3\n }, {\n \"question\": {\n \"questionKey\": \"Insured_lastName\",\n \"text\": \"Last Name\",\n \"autoSave\": false,\n \"type\": \"text\",\n \"allowedCharacters\": \"[a-zA-Z\\\\-' ]\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"The 'Last Name' question/field is required and cannot be left blank\",\n \"minlength\": 2,\n \"minlengthMessage\": \"'Last Name' field must be a mimimum of 2 characters.\",\n \"maxlength\": 20,\n \"maxlengthMessage\": \"'Last Name' field cannot be more than 20 characters.\",\n \"pattern\": \"^([a-zA-Z])+([ \\\\-']?[a-zA-Z])*$\",\n \"patternMessage\": \"'Last Name' can only contains alphabetical characters, dashes (-), apostrophes (') and it can not begin or end with a space.\"\n }\n },\n \"colSize\": 4\n }], [{\n \"question\": {\n \"questionKey\": \"Insured_dob\",\n \"type\": \"date\",\n \"text\": \"Date of Birth\",\n \"disableCalender\": true,\n \"autoSave\": false,\n \"dateYearRange\": \"-80|-18\",\n \"maskFormat\": \"##/##/####\",\n \"placeholder\": \"mm/dd/yyyy\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\",\n \"dateRangeMessage\": \"Insured can be between 18 year to 80 year old\",\n \"dateMessage\": \"Please enter valid 'Date of Birth'\"\n }\n },\n \"colSize\": 4\n }]]\n },\n ssnQuestion: undefined\n };\n },\n watch: {\n settings: function () {\n this.init();\n }\n },\n mounted() {\n this.init();\n },\n methods: {\n submitForRequote() {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_NEXT_FEEDBACK, __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENT_DATA.NOT_NAVIGATED);\n },\n dummyHandler() {},\n init() {\n this.ensureDataKeyParsing();\n this.addressReadCopy = this.getAddressReadCopy();\n this.personDataBag = this.getPersonData();\n this.ssnQuestion = this.getSSNQuestion();\n console.log('PersonalReview-init', this.addressReadCopy);\n },\n getData(key) {\n if (this.dataBag) {\n return this.dataBag[key];\n }\n return '';\n },\n getFormattedSSN(value) {\n var ssn = this.getData(this.dataKeyObject.ssnKey);\n if (ssn) {\n ssn = 'XXX-XX-XXXX';\n }\n return ssn;\n },\n getPersonData() {\n var ssn = this.getData(this.dataKeyObject.ssnKey);\n //if (ssn) {\n // ssn = 'XXXX-XX-' + ssn.substring(ssn.length - 4)\n //}\n var data = {\n Insured_firstName: this.getData(this.dataKeyObject.firstNameKey),\n Insured_middleName: this.getData(this.dataKeyObject.middleNameKey),\n Insured_lastName: this.getData(this.dataKeyObject.lastNameKey),\n Insured_dob: this.getData(this.dataKeyObject.dobKey),\n Insured_gender: this.getData(this.dataKeyObject.genderKey),\n Insured_citizen: this.getData(this.dataKeyObject.citizenKey),\n Insured_ssn: ssn\n };\n return data;\n },\n savePersonalInfo() {\n this.$set(this.dataBag, this.dataKeyObject.firstNameKey, this.personDataBag.Insured_firstName);\n this.$set(this.dataBag, this.dataKeyObject.middleNameKey, this.personDataBag.Insured_middleName);\n this.$set(this.dataBag, this.dataKeyObject.lastNameKey, this.personDataBag.Insured_lastName);\n this.$set(this.dataBag, this.dataKeyObject.dobKey, this.personDataBag.Insured_dob);\n if (this.personDataBag.Insured_ssn && this.personDataBag.Insured_ssn != '') {\n this.$set(this.dataBag, this.dataKeyObject.ssnKey, this.personDataBag.Insured_ssn);\n }\n },\n getEditedPersonData() {\n var data = {};\n data[this.dataKeyObject.firstNameKey] = this.personDataBag.Insured_firstName;\n data[this.dataKeyObject.middleNameKey] = this.personDataBag.Insured_middleName;\n data[this.dataKeyObject.lastNameKey] = this.personDataBag.Insured_lastName;\n data[this.dataKeyObject.dobKey] = this.personDataBag.Insured_dob;\n\n if (this.personDataBag.Insured_ssn && this.personDataBag.Insured_ssn != '') {\n data[this.dataKeyObject.ssnKey] = this.personDataBag.Insured_ssn;\n }\n return data;\n },\n isDOBChanged() {\n return this.personDataBag.Insured_dob != this.dataBag[this.dataKeyObject.dobKey];\n },\n isStateChanged() {\n var key = this.dataKeyObject.addressKey;\n return this.addressEditCopy[key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY] != this.dataBag[key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY];\n },\n getAddressReadCopy() {\n //default value\n var address = this.addressReadCopy;\n var key = this.dataKeyObject.addressKey;\n if (this.dataBag && key) {\n\n address = {\n Address1: this.getData(key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY),\n Address2: this.getData(key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY),\n City: this.getData(key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY),\n State: this.getData(key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY),\n Zip: this.getData(key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY)\n };\n }\n return address;\n },\n getAddressEditCopy() {\n //default value\n var address = this.addressEditCopy;\n var key = this.dataKeyObject.addressKey;\n if (this.dataBag && key) {\n address = {\n [key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY]: this.getData(key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY),\n [key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY]: this.getData(key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY),\n [key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY]: this.getData(key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY),\n [key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY]: this.getData(key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY),\n [key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY]: this.getData(key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY)\n };\n }\n console.log('getAddressEditCopy', address);\n return address;\n },\n saveAddressInfo() {\n var key = this.dataKeyObject.addressKey;\n this.$set(this.dataBag, key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY, this.addressEditCopy[key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY]);\n this.$set(this.dataBag, key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY, this.addressEditCopy[key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY]);\n this.$set(this.dataBag, key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY, this.addressEditCopy[key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY]);\n this.$set(this.dataBag, key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY, this.addressEditCopy[key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY]);\n this.$set(this.dataBag, key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY, this.addressEditCopy[key + __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY]);\n },\n onPersonalInfoEdit() {\n this.personDataBag = this.getPersonData();\n this.addressEditCopy = this.getAddressEditCopy();\n this.editMode = true;\n this.sectionEditCallback(this.editMode);\n },\n onPersonalInfoEditCancel() {\n this.personDataBag = this.getPersonData();\n this.addressReadCopy = this.getAddressReadCopy();\n this.editMode = false;\n this.sectionEditCallback(this.editMode);\n },\n showReadModeView(updateData) {\n //get read data\n this.personDataBag = this.getPersonData();\n this.addressReadCopy = this.getAddressReadCopy();\n this.editMode = false;\n this.sectionEditCallback(this.editMode);\n //save data after update\n if (updateData) {\n this.saveComponentDataToServer();\n }\n },\n saveComponentDataToServer() {\n var data = {};\n data = Object.assign(data, this.getEditedPersonData(), this.getAddressEditCopy());\n __WEBPACK_IMPORTED_MODULE_5__services_HttpCommunicationService__[\"a\" /* default */].postPageData(data, null, null, null);\n },\n processStateChangedScenario() {\n var $this = this;\n $this.savePersonalInfo();\n\n //take confrimation for address\n var msg = __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].STATE_CHANGE_MESSAGE;\n __WEBPACK_IMPORTED_MODULE_2__services_dialogService__[\"a\" /* default */].confirmAdvanced(msg, function (result) {\n //when cancel, dont update address\n //save if continue and submit to requote\n if (result) {\n __WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].nextTick(function () {\n $this.saveAddressInfo();\n $this.showReadModeView(false);\n //submit data\n console.log(\"submit for requote\");\n $this.submitForRequote();\n });\n } else {\n //revert to read mode\n $this.showReadModeView(true);\n }\n }, \"Continue\");\n },\n onPersonalInfoSave: function () {\n //check component state for val\n this.$set(this.state, '$submitted', true);\n if (this.state.$valid) {\n this.$set(this.state, '$submitted', false);\n //check for dob/state change\n var stateChanged = this.isStateChanged();\n var dobChanged = this.isDOBChanged();\n var $this = this;\n var originalDOB = $this.dataBag[$this.dataKeyObject.dobKey];\n\n if (stateChanged && dobChanged) {\n\n //show confirmation for address and dob\n var msg = __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].DOB_STATE_CHANGE_MESSAGE;\n __WEBPACK_IMPORTED_MODULE_2__services_dialogService__[\"a\" /* default */].confirmAdvanced(msg, function (result) {\n\n //save if continue and submit to requote\n if (result) {\n __WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].nextTick(function () {\n $this.savePersonalInfo();\n $this.saveAddressInfo();\n $this.showReadModeView(false);\n //submit data\n console.log(\"submit for requote\");\n $this.submitForRequote();\n });\n } else {\n //when cancel, dont update data\n //revert to read mode\n $this.showReadModeView(false);\n }\n }, \"Continue\");\n }\n //show state changed alert\n else if (stateChanged) {\n this.processStateChangedScenario();\n }\n //show dob changed alert\n else if (dobChanged) {\n\n $this.saveAddressInfo();\n $this.savePersonalInfo();\n //take confrimation for address\n var msg = __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].DOB_CHANGE_MESSAGE;\n __WEBPACK_IMPORTED_MODULE_2__services_dialogService__[\"a\" /* default */].confirmAdvanced(msg, function (result) {\n //when cancel, dont update data\n //if cancel then revert dob to original\n if (result) {\n $this.showReadModeView(false);\n //submit data\n console.log(\"submit for requote\");\n $this.submitForRequote();\n } else {\n //revert dob to original\n __WEBPACK_IMPORTED_MODULE_3_vue__[\"a\" /* default */].nextTick(function () {\n $this.$set($this.dataBag, $this.dataKeyObject.dobKey, originalDOB);\n //revert to read mode\n $this.showReadModeView(true);\n });\n }\n }, \"Continue\");\n }\n //validate address\n else {\n var $this = this;\n if (this.$refs.addressView && this.$refs.addressView.validateAddress) {\n this.$refs.addressView.validateAddress(function () {\n var stateChanged = $this.isStateChanged();\n\n if (stateChanged) {\n $this.processStateChangedScenario();\n } else {\n $this.savePersonalInfo();\n $this.saveAddressInfo();\n\n //get read data\n $this.showReadModeView(true);\n }\n }, '');\n } else {\n this.savePersonalInfo();\n this.saveAddressInfo();\n\n //get read data\n this.showReadModeView(true);\n }\n }\n }\n },\n getSSNQuestion() {\n return {\n \"questionKey\": \"Insured_ssn\",\n \"text\": \"SSN\",\n \"autoSave\": false,\n \"type\": \"ssn\",\n \"maskCharacter\": \"X\",\n \"validators\": {\n \"required\": false,\n \"requiredMessage\": \"This field is required\",\n \"pattern\": __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].REGEX.SSN,\n \"patternMessage\": \"Please enter valid 'Social Security Number'.\",\n \"minlength\": 11,\n \"minlengthMessage\": \"Please enter mimimum 9 character.\",\n \"maxlength\": 11,\n \"maxlengthMessage\": \"Please enter maximum 9 character.\"\n }\n };\n }\n }\n});\n\n/***/ }),\n/* 108 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_ComponentBaseMixin__ = __webpack_require__(3);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_2__mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {\n dataBag: Object,\n //form state for validation\n state: {\n type: Object,\n required: true\n },\n dataKey: String\n },\n data: function () {\n return {\n sliderTitle: __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].TERMLENGTH_TITLE,\n sliderValidationMessage: ''\n };\n },\n computed: {\n termDataArray() {\n return this.createTermDataArrayList();\n }\n },\n mounted() {\n this.ensureDateKeyNormalization({});\n\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.dataKeyObject.dataKey] || this.dataBag[this.dataKeyObject.dataKey] === 'null') {\n var term = this.dataKeyObject.defaultTerm || 20; //Set Default\n this.$set(this.dataBag, this.dataKeyObject.dataKey, term);\n }\n if (!this.dataBag[__WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].CHECK_FOR_NEEDSANALYSIS]) {\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].CHECK_FOR_NEEDSANALYSIS, \"false\");\n }\n\n //if (this.dataBag[Constants.DIYPATH_KEY] && this.dataBag[Constants.DIYPATH_KEY] == \"false\")\n if (this.dataBag[__WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].CHECK_FOR_NEEDSANALYSIS] && this.dataBag[__WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].CHECK_FOR_NEEDSANALYSIS] == \"true\") {\n var $this = this;\n __WEBPACK_IMPORTED_MODULE_1__services_HttpCommunicationService__[\"a\" /* default */].getRecommendTermLength({}, function (data) {\n if (data) {\n $this.$set($this.dataBag, $this.dataKeyObject.dataKey, data);\n }\n });\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].CHECK_FOR_NEEDSANALYSIS, \"false\");\n }\n },\n methods: {\n createTermDataArrayList() {\n this.ensureDateKeyNormalization({});\n const fnName = this.dataKeyObject.termLengthFunction || 'TERM_LENGTH_LIST';\n console.log('createTermDataArrayList->fn', fnName, __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */][fnName]);\n\n var data = typeof __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */][fnName] == 'function' ? __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */][fnName]() : __WEBPACK_IMPORTED_MODULE_0__Shared_Constants__[\"a\" /* Constants */].TERM_LENGTH_LIST();\n console.log('createTermDataArrayList->data', data);\n var fullArrayList = [];\n\n for (var i = 0; i < data.length; i += 5) {\n var subList = [];\n if (i + 5 > data.length - 1) {\n subList = data.slice(i);\n } else {\n subList = data.slice(i, i + 5);\n }\n console.log('createTermDataArrayList->for', i, subList);\n fullArrayList.push(subList);\n }\n console.log('createTermDataArrayList->fullArrayList', fullArrayList);\n return fullArrayList;\n }\n }\n});\n\n/***/ }),\n/* 109 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_ComponentBaseMixin__ = __webpack_require__(3);\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_0__mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {},\n data: function () {\n return {\n options: { rootCssClass: 'trust-beneficiary-basic-info-component' }\n };\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag) {\n this.dataBag = {};\n }\n },\n computed: {\n questionGroups() {\n const grps = this.questionGroupList;\n return grps && grps.length > 0 ? grps : this.getQuestionGroups();\n }\n },\n methods: {\n getQuestionGroups() {\n return [{\n \"title\": \"Is this trust an irrevocable trust?\",\n \"helpText\": \"Under normal circumstances an irrevocable trust may not be changed by the trustee or the beneficiaries of the trust.\",\n \"questions\": [[{\n \"question\": {\n \"questionKey\": \"beneficiary_trust_revocable\",\n \"type\": \"radio\",\n \"answerOptions\": [{\n \"text\": 'Yes',\n \"value\": 'Yes',\n \"iconClass\": 'glyphicon-ok-circle'\n }, {\n \"text\": 'No',\n \"value\": 'No',\n \"iconClass\": 'glyphicon-ok-circle'\n }],\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\"\n },\n \"colSize\": 12\n }\n }], [{\n \"question\": {\n \"questionKey\": \"beneficiary_trust_name\",\n \"type\": \"text\",\n \"text\": \"Trust Name\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\",\n \"maxlength\": 40,\n \"maxlengthMessage\": \"'Trust Name' field cannot be more than 40 characters.\"\n }\n },\n \"colSize\": 4\n }, {\n \"question\": {\n \"questionKey\": \"beneficiary_trust_incorporation_date\",\n \"type\": \"date\",\n \"text\": \"Incorporation Date\",\n \"maskFormat\": \"##/##/####\",\n \"dateYearRange\": \"-200|0\",\n \"placeholder\": \"Incorporation Date\",\n \"focusPlaceholder\": \"MM/DD/YYYY\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\",\n \"dateRangeMessage\": \"'Trust Incorporation Date' can not be in future'\"\n }\n },\n \"colCss\": \"col-sm-5 col-lg-6\"\n }], [{\n \"question\": {\n \"questionKey\": \"beneficiary_trust_tax_id\",\n \"type\": \"text\",\n \"text\": \"Tax ID Number of Trust\",\n \"maskFormat\": \"#########\",\n \"placeholder\": \"Tax ID Number of Trust\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\",\n \"pattern\": \"^[0-9]{9}$\",\n \"patternMessage\": \"Please enter valid 'Tax ID Number'\"\n }\n },\n \"colSize\": 6\n }]]\n }];\n },\n getExtraProps() {\n return Object.assign({}, this.options, this.extra);\n }\n }\n});\n\n/***/ }),\n/* 110 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Application_services_dialogService__ = __webpack_require__(6);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\nconst authAttemptKeySuffix = '_AUTH_ATTEMPT';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {},\n data: function () {\n return {\n pmtOptions: [],\n paymentTypeQuestion: {},\n paymentOptionSelected: false,\n paymentFrequency: '',\n paymentAmount: '',\n isBankAccount: false,\n validationKey: 'paymentFormValidationKey',\n componentDataBag: {},\n allowedPayments: [],\n defaultPaymentFrequency: __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Monthly,\n loading: false,\n defaultOptions: {\n showFrequency: false,\n maxCCAuthAttempt: 2,\n maxBankAuthAttempt: 2\n },\n disableCC: false,\n disableBD: false,\n formKeys: {\n cardBillingFormId: 'creditcard_billing_address',\n cardFormId: 'card_payment_form',\n bankFormId: 'bank_payment_form'\n },\n authAccountDifferentiators: {\n [__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.BANK_ACCOUNT]: ['routingNumber', 'accountNumber'],\n [__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.CREDIT_CARD]: ['nameOnCard', 'ccNumber', 'cvvCode', 'ccExpirationMonth', 'ccExpirationYear']\n },\n accountUsedForLastAuth: {}\n };\n },\n created() {\n //initialize allowed payment method\n this.allowedPayments.push(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_METHODS.CC);\n this.allowedPayments.push(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_METHODS.EF);\n //this.allowedPayments.push(Constants.PAYMENT_METHODS.PW)\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n this.ensureDataKeyParsing();\n\n if (!this.dataBag[this.dataKeyObject.dataKey]) {\n this.$set(this.dataBag, this.dataKeyObject.dataKey, this.componentDataBag);\n }\n this.init();\n },\n computed: {\n paymentMethodSelected() {\n const method = (this.componentDataBag || {})[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_METHOD_KEY];\n return method !== undefined && method !== null && method != '';\n },\n paymentOptions() {\n return this.pmtOptions;\n },\n showFrequency() {\n return this.dataKeyObject.showFrequency;\n },\n billingFormGroups() {\n var groups = [];\n var formSchema = this.getFormSchema(this.formKeys.cardBillingFormId);\n groups = (formSchema || {}).groups || [];\n console.debug('computed::billingFormGroups', groups);\n return groups;\n },\n cardPaymentFormGroups() {\n var groups = [];\n var formSchema = this.getFormSchema(this.formKeys.cardFormId);\n groups = (formSchema || {}).groups || [];\n console.debug('computed::ccPaymentFormGroups', groups);\n return groups;\n },\n bankPaymentFormGroups() {\n var groups = [];\n var formSchema = this.getFormSchema(this.formKeys.bankFormId);\n groups = (formSchema || {}).groups || [];\n console.debug('computed::ccPaymentFormGroups', groups);\n return groups;\n },\n maxCCAuthAttempt() {\n return this.dataKeyObject.maxCCAuthAttempt;\n },\n maxBankAuthAttempt() {\n return this.dataKeyObject.maxBankAuthAttempt;\n },\n selectedPaymentMethod() {\n return this.dataBag !== undefined ? this.dataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_METHOD_KEY] || '' : '';\n },\n paymentMethodQuestion() {\n const qData = this.paymentTypeQuestion;\n console.debug('computed=>paymentMethodQuestion', qData);\n return qData;\n },\n showPaymentMethods() {\n return (this.paymentTypeQuestion.answerOptions.filter(o => !o.disabled) || []).length > 0;\n },\n maxCCAuthAttemptReached() {\n const ccAuthAttempCount = this.getAuthAttemptCount(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.CREDIT_CARD);\n return ccAuthAttempCount >= this.dataKeyObject.maxCCAuthAttempt;\n },\n maxBankAuthAttemptReached() {\n const bankAuthAttempCount = this.getAuthAttemptCount(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.BANK_ACCOUNT);\n return bankAuthAttempCount >= this.dataKeyObject.maxBankAuthAttempt;\n },\n maxAuthAttemptReached() {\n const ccAuthAttempCount = this.getAuthAttemptCount(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.CREDIT_CARD);\n const bankAuthAttempCount = this.getAuthAttemptCount(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.BANK_ACCOUNT);\n\n return ccAuthAttempCount >= this.dataKeyObject.maxCCAuthAttempt && bankAuthAttempCount >= this.dataKeyObject.maxBankAuthAttempt;\n },\n\n authFailedErrorCodes() {\n return (this.dataKeyObject || {}).authFailedErrorCodes || [];\n }\n },\n watch: {\n 'componentDataBag.ccNumber': function () {\n console.log('watch called -cc');\n this.creditCardNumberChangedHandler();\n }\n },\n methods: {\n init() {\n\n //fetch page data;payment mode - monthly, qaurterly etc\n this.getPaymentOptions();\n if (!this.showFrequency) {\n this.paymentOptionSelected = true;\n }\n this.disableBD = this.maxBankAuthAttemptReached;\n this.disableCC = this.maxCCAuthAttemptReached;\n\n this.paymentTypeQuestion = this.getPaymentTypeQuestion();\n this.refreshView();\n },\n broadCastNavigateNext() {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_NEXT_FEEDBACK, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENT_DATA.NOT_NAVIGATED);\n },\n getPaymentOptions() {\n var self = this;\n __WEBPACK_IMPORTED_MODULE_0__Application_services_HttpCommunicationService__[\"a\" /* default */].getPaymentOptions(function (data) {\n self.pmtOptions = data;\n console.log(data);\n if (!self.showFrequency) {\n self.setDefaultFrequency(self.pmtOptions);\n }\n }, function (error) {\n //show error;\n });\n },\n setDefaultFrequency(options) {\n const frequency = this.defaultPaymentFrequency;\n //get amount for frequency\n const option = (options || []).find(opt => opt.frequency == frequency);\n if (option) {\n this.updatePaymentAmountAndFrequency(option.amount, option.frequency);\n }\n },\n onEditPayment() {\n this.paymentOptionSelected = false;\n this.clearPaymentDetail();\n },\n onSelectPaymentMode(pmtOption) {\n if (pmtOption) {\n this.paymentAmount = '$' + pmtOption.amount;\n this.paymentFrequency = pmtOption.frequency;\n this.updatePaymentAmountAndFrequency(pmtOption.amount, pmtOption.frequency);\n\n //show bank/cc detail form\n this.paymentOptionSelected = true;\n this.$nextTick(function () {\n $('[data-toggle=\"tooltip\"]').tooltip();\n });\n }\n },\n\n updatePaymentAmountAndFrequency(amount, frequency) {\n this.componentDataBag.amount = amount;\n this.componentDataBag.frequency = frequency;\n this.setDataBag(this.componentDataBag);\n },\n updatePaymentMethod(method) {\n this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_METHOD_KEY] = method;\n this.setDataBag(this.componentDataBag);\n //also save payment method under separate node in databag\n //as its needed on review page, since payment component data is not provided to client\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_METHOD_KEY, method);\n },\n updatePaymentDetail(key) {\n\n this.updatePaymentMethod(key);\n if (key === __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.BANK_ACCOUNT) {\n //this.componentDataBag[\"nameOnCard\"] = \"\"\n this.$set(this.componentDataBag, \"nameOnCard\", '');\n this.$set(this.componentDataBag, \"ccNumber\", '');\n this.$set(this.componentDataBag, \"cvvCode\", '');\n this.$set(this.componentDataBag, \"ccExpirationMonth\", '');\n this.$set(this.componentDataBag, \"ccExpirationYear\", '');\n this.$set(this.componentDataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].CCTYPE_KEY, '');\n\n this.setDataBag(this.componentDataBag);\n this.isBankAccount = true;\n this.$nextTick(function () {\n this.showPopover();\n });\n } else if (key === __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.CREDIT_CARD) {\n this.$set(this.componentDataBag, \"bankAccountHolder\", '');\n this.$set(this.componentDataBag, \"accountType\", '');\n this.$set(this.componentDataBag, \"routingNumber\", '');\n this.$set(this.componentDataBag, \"accountNumber\", '');\n this.$set(this.componentDataBag, \"bankName\", '');\n\n this.setDataBag(this.componentDataBag);\n this.isBankAccount = false;\n this.$nextTick(function () {\n this.showPopover();\n });\n }\n this.resetFormState(this.state);\n },\n paymentTypeChangeHandler(key) {\n //clear payment method detail\n this.updatePaymentDetail(key);\n },\n clearPaymentDetail() {\n this.isBankAccount = false;\n this.componentDataBag = {};\n this.updatePaymentMethod('');\n this.setDataBag(this.componentDataBag);\n },\n clearPaymentMethodDetail(methodKey) {\n if (methodKey === __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.CREDIT_CARD) {\n this.updatePaymentDetail(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.BANK_ACCOUNT);\n this.autoSelectPaymentOption(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.BANK_ACCOUNT);\n } else if (methodKey === __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.BANK_ACCOUNT) {\n this.updatePaymentDetail(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.CREDIT_CARD);\n this.autoSelectPaymentOption(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.CREDIT_CARD);\n } else if (methodKey === '') {\n this.clearPaymentDetail();\n }\n },\n autoSelectPaymentOption(optionKey) {\n var radio = document.getElementById(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_METHOD_KEY + '_' + optionKey);\n if (radio) {\n radio.dispatchEvent(new Event('change'));\n }\n },\n setDataBag(data) {\n this.$set(this.dataBag, this.dataKeyObject.dataKey, data);\n },\n\n getAuthAttemptCount(paymentMethod) {\n const counterKey = this.getAuthAttemptCounterKey(paymentMethod);\n return this.dataBag[counterKey] || 0;\n },\n\n getMaxAuthAttemptAllowed(paymentMethod) {\n if (paymentMethod === __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.CREDIT_CARD) {\n return this.maxCCAuthAttempt;\n } else if (paymentMethod === __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.BANK_ACCOUNT) {\n return this.maxBankAuthAttempt;\n }\n },\n\n updateAuthAttemptCount(paymentMethod, count) {\n const counterKey = this.getAuthAttemptCounterKey(paymentMethod);\n this.$set(this.dataBag, counterKey, count);\n },\n\n getAuthAttemptCounterKey(paymentMethod) {\n return paymentMethod + authAttemptKeySuffix;\n },\n\n updateAccountUsedForAuth(paymentMethod) {\n try {\n const self = this;\n const compDataBag = this.componentDataBag;\n const accountDiffrentiatorKeys = self.authAccountDifferentiators[paymentMethod] || [];\n var accounDetail = {};\n accountDiffrentiatorKeys.forEach(key => {\n accounDetail[key] = compDataBag[key];\n });\n //update data\n self.accountUsedForLastAuth = accounDetail;\n } catch (e) {\n console.error(e);\n }\n },\n\n isAuthAccountChanged() {\n //compare old and new account\n const currentAccount = this.componentDataBag;\n const oldAccount = this.accountUsedForLastAuth;\n //there is nothing in old account i.e. trying for first time\n if (Object.keys(oldAccount).length === 0) {\n return true;\n }\n const accountDifferentiatorKeys = this.authAccountDifferentiators[this.selectedPaymentMethod] || [];\n var accountDifferent = accountDifferentiatorKeys.some(key => currentAccount[key] !== oldAccount[key]);\n return accountDifferent;\n },\n\n paymentAuthAttempted(success) {\n const self = this;\n //get current payment method\n const payMethod = self.selectedPaymentMethod;\n if (!payMethod || payMethod === '') {\n return;\n }\n //preserve account detail used for auth\n self.updateAccountUsedForAuth(payMethod);\n var currentCount = this.getAuthAttemptCount(payMethod);\n //increse counter\n currentCount++;\n this.updateAuthAttemptCount(payMethod, currentCount);\n if (payMethod === __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.CREDIT_CARD) {\n if (currentCount >= this.maxCCAuthAttempt) {\n this.disableCC = !success;\n }\n } else if (payMethod === __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.BANK_ACCOUNT) {\n if (currentCount >= this.maxBankAuthAttempt) {\n this.disableBD = !success;\n }\n }\n return this.disableBD && this.disableCC;\n },\n refreshView(callback) {\n const self = this;\n //const maxReached = this.disableBD && this.disableCC;\n var methodKey = undefined;\n if (this.disableBD && this.disableCC) {\n methodKey = '';\n } else if (this.disableBD) {\n methodKey = __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.BANK_ACCOUNT;\n } else if (this.disableCC) {\n methodKey = __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.CREDIT_CARD;\n }\n\n if (methodKey !== undefined) {\n //update payment\n self.clearPaymentMethodDetail(methodKey);\n self.paymentTypeQuestion = this.getPaymentTypeQuestion();\n }\n if (callback) {\n callback();\n }\n },\n\n getDynamicPaymentMessage() {\n var message = '';\n const bankAuthAttempCount = this.getAuthAttemptCount(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.BANK_ACCOUNT);\n const ccAuthAttempCount = this.getAuthAttemptCount(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.CREDIT_CARD);\n const placeHolders = {\n maxCCAuthAttempt: this.maxCCAuthAttempt,\n maxBankAuthAttempt: this.maxBankAuthAttempt,\n ccAuthAttempCount: this.ccAuthAttempCount,\n bankAuthAttempCount: bankAuthAttempCount,\n bankAttemptLeft: this.maxBankAuthAttempt - bankAuthAttempCount,\n ccAttemptLeft: this.maxCCAuthAttempt - ccAuthAttempCount\n };\n var authTried = bankAuthAttempCount > 0 || ccAuthAttempCount > 0;\n //get according to current payment payment status\n if (this.maxAuthAttemptReached) {\n message = this.getMessage('maxAuthAttteptReached');\n } else if (this.maxBankAuthAttempt > 0 && this.maxBankAuthAttemptReached) {\n message = this.getMessage('maxBankAuthAttemptReached');\n message = message + '
' + this.getMessage('authAttemptRemaining');\n } else if (this.maxCCAuthAttempt > 0 && this.maxCCAuthAttemptReached) {\n message = this.getMessage('maxCCAuthAttemptReached');\n message = message + '
' + this.getMessage('authAttemptRemaining');\n } else if (authTried) {\n message = this.getMessage('authAttemptRemaining');\n }\n return this.replacePlaceholder(message, placeHolders);\n },\n replacePlaceholder(text, placeHolders) {\n if (text && placeHolders) {\n Object.keys(placeHolders).forEach(key => {\n const placeholder = '#' + key + '#';\n text = text.replace(placeholder, placeHolders[key]);\n });\n }\n return text;\n },\n //ValidateOnNext event handler\n onValidateOnNext(evtData, completionCallback) {\n const self = this;\n console.log(\"Payment=>onValidateOnNext\", evtData, this);\n //do validation task and then provide feedback about validation completion by calling base method\n\n if (self.maxAuthAttemptReached) {\n self.runManualActions(function () {\n completionCallback({});\n });\n\n return;\n }\n if (!self.isAuthAccountChanged()) {\n var message = self.getMessage('accountDetailNotChanged');\n __WEBPACK_IMPORTED_MODULE_3__Application_services_dialogService__[\"a\" /* default */].showMessageDialog(message);\n return;\n }\n //authorize payment\n self.authorizePayment(completionCallback);\n },\n\n authorizePayment(completionCallback) {\n const self = this;\n\n self.loading = true;\n const db = self.dataBag;\n console.log('saving data...', db);\n __WEBPACK_IMPORTED_MODULE_0__Application_services_HttpCommunicationService__[\"a\" /* default */].postPageData(db, null, function (dt) {\n console.log('validating card detail/bank account and authorizing payment...');\n __WEBPACK_IMPORTED_MODULE_0__Application_services_HttpCommunicationService__[\"a\" /* default */].authorizePayment(function (response) {\n self.loading = false;\n let authFailed = false;\n const authSuccess = response != null ? response.success : false;\n let errorInfo = undefined;\n if (response && response.errors && response.errors.length > 0) {\n errorInfo = response.errors[0];\n }\n\n //authFailedErrorCodes\n if (errorInfo && self.authFailedErrorCodes.indexOf(errorInfo.errorCode) > -1) {\n authFailed = true;\n self.paymentAuthAttempted(authSuccess);\n }\n\n //const reachedMaxAttempt = self.paymentAuthAttempted(authSuccess);\n //send completion event data\n var evtCompletionData = {};\n if (authSuccess && completionCallback) {\n completionCallback(evtCompletionData);\n } else {\n var currentCount = self.getAuthAttemptCount(self.selectedPaymentMethod);\n const totalCount = self.getMaxAuthAttemptAllowed(self.selectedPaymentMethod);\n const messageKey = self.selectedPaymentMethod + \"_AuthFailed\";\n var errorMessage = '';\n\n //first check error code in page config and retrive it from there\n if (authFailed) {\n errorMessage = self.getMessage(messageKey);\n } else if (errorInfo) {\n //retrive message detail for errorCode\n const messageDetail = self.getMessageDetail(errorInfo.errorCode);\n errorMessage = (messageDetail != undefined ? messageDetail.value : undefined) || errorInfo.message;\n } else {\n errorMessage = self.getMessage(\"generic\");\n }\n\n errorMessage = self.replacePlaceholder(errorMessage, { currentCount: currentCount, totalCount: totalCount });\n //show auth failure message\n __WEBPACK_IMPORTED_MODULE_3__Application_services_dialogService__[\"a\" /* default */].showMessageDialogCallBack(errorMessage, function () {\n self.$nextTick(function () {\n self.refreshView();\n });\n });\n }\n }, function (error) {\n self.loading = false;\n console.log(error);\n const messge = self.getMessage(\"generic\");\n __WEBPACK_IMPORTED_MODULE_3__Application_services_dialogService__[\"a\" /* default */].showMessageDialog(messge);\n });\n }, function (error) {\n self.loading = false;\n console.log(error);\n __WEBPACK_IMPORTED_MODULE_3__Application_services_dialogService__[\"a\" /* default */].showTechnicalErrorDialog();\n });\n },\n\n getPaymentMethods() {\n var paymentMethods = [];\n if (this.maxBankAuthAttempt > 0) {\n paymentMethods.push({\n \"text\": \"Bank Account\",\n \"value\": __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.BANK_ACCOUNT,\n \"iconClass\": \"bankaccount-radio-icon\",\n \"disabled\": this.disableBD,\n \"helpText\": \"This payment option is disabled as it has been already tried \" + this.maxBankAuthAttempt + \" times. [Maximum allowed: \" + this.maxBankAuthAttempt + \" times]\"\n });\n }\n\n if (this.maxCCAuthAttempt > 0) {\n paymentMethods.push({\n \"text\": \"Credit Card\",\n \"value\": __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_TYPE.CREDIT_CARD,\n \"iconClass\": \"creditcard-radio-icon\",\n \"disabled\": this.disableCC,\n \"helpText\": \"This payment option is disabled as it has already been tried \" + this.maxCCAuthAttempt + \" times. [Maximum allowed: \" + this.maxCCAuthAttempt + \" times]\"\n });\n }\n return paymentMethods;\n },\n getPaymentTypeQuestion() {\n const paymentMethods = this.getPaymentMethods();\n return {\n \"questionKey\": __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].PAYMENT_METHOD_KEY,\n \"text\": \"\",\n \"type\": \"radio\",\n \"autoSave\": false,\n \"answerOptions\": paymentMethods,\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\"\n }\n };\n },\n\n showPopover() {\n //Tooltip image show on hover\n $('.help-bubble.badge').popover({\n html: true,\n trigger: 'hover',\n content: function () {\n return '
';\n },\n width: '630px'\n });\n },\n fieldInteractionHandler(fieldKey) {\n if (fieldKey === 'routingNumber') {\n this.routingNoChangedHandler(fieldKey);\n }\n },\n routingNoChangedHandler(routingNumberKey) {\n var routingNo = this.componentDataBag[routingNumberKey];\n console.log('routingNoChangedHandler' + routingNo);\n var $this = this;\n $(\"#routingNumber\").prop(\"disabled\", true);\n __WEBPACK_IMPORTED_MODULE_0__Application_services_HttpCommunicationService__[\"a\" /* default */].getBankName(routingNo, function (response) {\n if (response.bankName) {\n console.log(response);\n $this.componentDataBag.bankName = response.bankName;\n $this.componentDataBag.bankCity = response.city;\n $this.componentDataBag.bankState = response.state;\n } else {\n $this.componentDataBag.bankName = '';\n }\n $(\"#routingNumber\").prop(\"disabled\", false);\n }, function (error) {\n __WEBPACK_IMPORTED_MODULE_3__Application_services_dialogService__[\"a\" /* default */].showTechnicalErrorDialog();\n });\n },\n creditCardNumberChangedHandler() {\n $(\".visa\").addClass('hide');\n $(\".mastercard\").addClass('hide');\n $(\".amex\").addClass('hide');\n\n var cardnum = this.componentDataBag['ccNumber'];\n console.log(cardnum);\n if (cardnum && cardnum != '' && cardnum.length >= 15) {\n\n if (this.getCardType(cardnum) == \"VISA\") {\n $(\".mastercard\").hide();\n $(\".amex\").hide();\n $(\".visa\").show();\n $(\".visa\").removeClass('hide');\n } else if (this.getCardType(cardnum) == \"MASTERCARD\") {\n $(\".visa\").hide();\n $(\".mastercard\").show();\n $(\".mastercard\").removeClass('hide');\n $(\".amex\").hide();\n } else if (this.getCardType(cardnum) == \"AMEX\") {\n $(\".visa\").hide();\n $(\".mastercard\").hide();\n $(\".amex\").show();\n $(\".amex\").removeClass('hide');\n }\n } else {\n $(\".visa\").hide();\n $(\".mastercard\").hide();\n $(\".amex\").hide();\n }\n },\n getCardType(cardNum) {\n if (cardNum != '') {\n var type = '';\n\n var visaRegex = new RegExp(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].REGEX.CC_VISA);\n var mcRegex = new RegExp(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].REGEX.CC_MASTER_CARD);\n var amexRegex = new RegExp(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].REGEX.CC_AMEX);\n\n if (visaRegex.test(cardNum)) {\n type = \"VISA\";\n } else if (mcRegex.test(cardNum)) {\n type = \"MASTERCARD\";\n } else if (amexRegex.test(cardNum)) {\n type = \"AMEX\";\n }\n this.$set(this.componentDataBag, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].CCTYPE_KEY, type);\n }\n console.log(type);\n return type;\n }\n }\n\n});\n\n/***/ }),\n/* 111 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_SmartFormComponentBaseMixin__ = __webpack_require__(19);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_2__mixins_SmartFormComponentBaseMixin__[\"a\" /* default */]],\n props: {},\n data: function () {\n return {\n //add violation flag\n showDataForm: false,\n editing: false,\n defaultListConfig: {\n onDelete: this.deleteItemHandler,\n onEdit: this.editItemHandler\n }\n };\n },\n created() {},\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.dataKey]) {\n this.$set(this.dataBag, this.dataKey, []);\n }\n this.showDataForm = this.dataItems.length < this.minimumRequiredItemCount;\n },\n computed: {\n actionLabel() {\n return this.editing ? 'Edit' : 'Add';\n },\n dataItems() {\n return this.dataBag[this.dataKey] || [];\n },\n maxItemCount() {\n return this.formUIConfig.maxItemCount || 999999; //unlimited\n },\n minimumRequiredItemCount() {\n return this.formUIConfig.minimumRequiredItemCount || 1;\n },\n minimumRequiredMessage() {\n return this.formUIConfig.minimumRequiredMessage || 'Please add at least' + this.minimumRequiredItemCount + ' ' + this.formUIConfig.itemName + ' detail.';\n },\n deleteConfirmationMessage() {\n return this.formUIConfig.deleteConfirmationMessage || '';\n },\n addButtonLabel() {\n return (this.formUIConfig.addButton || {}).label || '';\n },\n showAddButton() {\n const addButton = this.formUIConfig.addButton || {};\n return addButton.show !== undefined ? addButton.show : true;\n },\n listUiConfig() {\n var tempSetting = {};\n if (this.editMode) {\n tempSetting = { editButton: { show: false }, deleteButton: { show: false } };\n }\n var listSetting = Object.assign({}, this.listConfig);\n const mergedConfig = __WEBPACK_IMPORTED_MODULE_1__Utilities_Utility__[\"a\" /* Utility */].merge(listSetting, tempSetting);\n console.log(\"listUiConfig\", mergedConfig, this.listConfig, this.editMode);\n return mergedConfig;\n }\n },\n methods: {\n getFormQuetionPrefix() {\n return ''; // this.componentKey;\n },\n getComponentDataBag(item) {\n var key = this.getFormQuetionPrefix();\n var data = {};\n this.formDataFields.forEach(f => {\n data[key + f] = item ? item[f] : '';\n });\n if (item && item.key) {\n data['key'] = item.key;\n }\n console.log('getComponentDataBag', data);\n return data;\n },\n onAddItem() {\n if (this.showDataForm) {\n return;\n }\n this.editing = false;\n this.componentDataBag = this.getComponentDataBag();\n this.showDataForm = true;\n },\n saveHandler(data) {\n console.log('saveHandler');\n const self = this;\n if (data.valid && data.formData) {\n //push to collection\n var key = this.getFormQuetionPrefix();\n var item = undefined;\n const items = this.dataBag[this.dataKey] || [];\n //check in collection\n let foundItemIndex = -1;\n if (data.formData.key && items.length > 0) {\n foundItemIndex = items.findIndex(i => i.key === data.formData.key);\n item = foundItemIndex > -1 ? items[foundItemIndex] : undefined;\n }\n\n item = item || { key: __WEBPACK_IMPORTED_MODULE_1__Utilities_Utility__[\"a\" /* Utility */].newGuid() };\n\n this.formDataFields.forEach(f => {\n item[f] = data.formData[key + f] || data.formData[f] || '';\n });\n\n if (foundItemIndex > -1) {\n //replace\n items[foundItemIndex] = item;\n } else {\n //add\n items.push(item);\n }\n\n //reset data\n this.componentDataBag = this.getComponentDataBag();\n //reset flag\n this.showDataForm = false;\n this.saveComponentData();\n this.clearFormState();\n this.onEditAction(false);\n this.raiseDataChange();\n }\n },\n cancelHandler() {\n this.componentDataBag = this.getComponentDataBag();\n //reset flag\n this.showDataForm = false;\n this.clearFormState();\n this.onEditAction(false);\n },\n editItemHandler(item) {\n if (this.showDataForm) {\n return;\n }\n this.componentDataBag = this.getComponentDataBag(item);\n this.showDataForm = true;\n this.onEditAction(true);\n },\n onEditAction(editing) {\n if (editing !== this.editing) {\n this.editing = editing;\n this.editCallback(editing);\n }\n },\n raiseDataChange() {\n if (this.dataChangeCallback) {\n this.dataChangeCallback();\n }\n },\n deleteItemHandler(item) {\n var self = this;\n if (__WEBPACK_IMPORTED_MODULE_0__Application_services_dialogService__[\"a\" /* default */].confirmAdvanced) {\n __WEBPACK_IMPORTED_MODULE_0__Application_services_dialogService__[\"a\" /* default */].confirmAdvanced(self.deleteConfirmationMessage, function (result) {\n if (result) {\n\n var list = self.dataBag[self.dataKey] || [];\n var itemIdex = list.indexOf(item);\n if (itemIdex > -1) {\n list.splice(itemIdex, 1);\n self.saveComponentData();\n }\n self.raiseDataChange();\n if (self.dataItems.length < self.minimumRequiredItemCount) {\n self.showDataForm = true;\n }\n }\n }, \"Delete\");\n }\n },\n getDynamicCss() {\n return this.formUIConfig.containerCss + this.editMode ? 'section-editing' : '';\n }\n }\n});\n\n/***/ }),\n/* 112 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_services_allocationService__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mixins_SmartFormComponentBaseMixin__ = __webpack_require__(19);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\nconst overriddenFormSchema = {\n config: {\n addButton: { show: false }\n },\n listConfig: {\n deleteButton: { show: false }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_3__mixins_SmartFormComponentBaseMixin__[\"a\" /* default */]],\n props: {},\n\n data: function () {\n return {\n beneficiaries: [],\n defaultListConfig: {},\n editingAllocation: false\n };\n },\n mounted() {\n this.initialize();\n },\n computed: {\n totalCoverage() {\n return this.dataBag[__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].COVERAGE_AMOUNT_KEY];\n },\n primaryBeneficiaries() {\n return this.beneficiaries.filter(function (item) {\n return item.beneficiary_type == __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].BENEFICIARY_TYPE.PRIMARY;\n });\n },\n contingentBeneficiaries() {\n return this.beneficiaries.filter(function (item) {\n return item.beneficiary_type == __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].BENEFICIARY_TYPE.CONTINGENT;\n });\n },\n hasBeneficiaries() {\n return this.beneficiaries && this.beneficiaries.length > 0;\n },\n overriddenFormSchema() {\n return overriddenFormSchema;\n }\n },\n watch: {\n editMode: function (newValue, oldValue) {\n console.log('Beneficiary review watch editmode', { newValue, oldValue });\n this.onBeneficiaryEdit();\n }\n },\n methods: {\n initialize() {\n this.ensureDataKeyParsing();\n this.beneficiaries = this.cloneBeneficiaries();\n this.loadFormSchema();\n },\n benficiaryAllocationChangeHandler() {\n this.editingAllocation = true;\n this.editCallback(true);\n },\n calculateAllocation() {\n //this.totalCoverageFormated = Utility.formatCurrency(this.totalCoverage);\n this.beneficiaries = this.cloneBeneficiaries();\n //recalculate for primary\n var adjust = this.isShareAdjustmentNeeded(this.primaryBeneficiaries);\n if (adjust) {\n __WEBPACK_IMPORTED_MODULE_2__Application_services_allocationService__[\"a\" /* default */].adjustPercentShare(null, this.primaryBeneficiaries);\n }\n //recalculate for primary\n adjust = this.isShareAdjustmentNeeded(this.contingentBeneficiaries);\n if (adjust) {\n __WEBPACK_IMPORTED_MODULE_2__Application_services_allocationService__[\"a\" /* default */].adjustPercentShare(null, this.contingentBeneficiaries);\n }\n //update databag\n this.updateDataBag(this.beneficiaries);\n },\n updateDataBag(data) {\n this.$set(this.dataBag, this.dataKeyObject.dataKey, data);\n },\n isShareAdjustmentNeeded(list) {\n var total = __WEBPACK_IMPORTED_MODULE_2__Application_services_allocationService__[\"a\" /* default */].calculateTotalShare(list);\n return total != 100;\n },\n\n dataChangeHandler() {\n this.calculateAllocation();\n },\n\n onBeneficiaryEdit() {\n this.beneficiaries = this.cloneBeneficiaries();\n },\n saveBeneficiaryAllocationChangeHandler() {\n this.$set(this.componentState, '$submitted', true);\n\n console.log('onBeneficiarySave', this.componentState);\n if (this.componentState.$valid) {\n this.$set(this.componentState, '$submitted', false);\n //clone the array item - deep copy\n var items = JSON.parse(JSON.stringify(this.beneficiaries));\n this.updateDataBag(items);\n //recalculate allocation\n this.calculateAllocation();\n this.editingAllocation = false;\n this.editCallback(false);\n }\n },\n cancelBaneficiaryAllocationChangeHandler() {\n this.beneficiaries = this.cloneBeneficiaries();\n this.editingAllocation = false;\n this.editCallback(false);\n },\n cloneBeneficiaries() {\n var items = this.dataBag[this.dataKeyObject.dataKey];\n var clonedCopy = [];\n if (items && items.length > 0) {\n clonedCopy = JSON.parse(JSON.stringify(items));\n }\n return clonedCopy;\n }\n }\n\n});\n\n/***/ }),\n/* 113 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_ViewValidationHelperMixin__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_FormFieldComponentBaseMixin__ = __webpack_require__(7);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n //setup mixins\n mixins: [__WEBPACK_IMPORTED_MODULE_2__mixins_FormFieldComponentBaseMixin__[\"a\" /* FormFieldComponentBaseMixin */], __WEBPACK_IMPORTED_MODULE_1__mixins_ViewValidationHelperMixin__[\"a\" /* ViewValidationHelperMixin */]],\n data: function () {\n return {\n //setup data properties\n isRequired: this.getValidatorValue('required'),\n requiredMessage: this.getValidationMessage('requiredMessage'),\n isGroupValidator: true\n };\n },\n destroyed() {\n if (this.dataBag && this.questionData.groupName) {\n this.$set(this.dataBag, this.questionData.groupName, 0);\n }\n },\n methods: {},\n computed: {\n value() {\n const count = this.dataBag[this.questionData.groupName];\n console.log('Checkbox validator count', count);\n return count != 0 ? \"valid\" : '';\n },\n groupStateTouched() {\n var myState = this.state[this.questionData.groupName];\n return myState ? myState.$touched : false;\n }\n }\n});\n\n/***/ }),\n/* 114 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_ViewValidationHelperMixin__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_FormFieldComponentBaseMixin__ = __webpack_require__(7);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\nconst YES_VALUE = 'Yes';\nconst NO_VALUE = 'No';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n //setup mixins\n mixins: [__WEBPACK_IMPORTED_MODULE_2__mixins_FormFieldComponentBaseMixin__[\"a\" /* FormFieldComponentBaseMixin */], __WEBPACK_IMPORTED_MODULE_1__mixins_ViewValidationHelperMixin__[\"a\" /* ViewValidationHelperMixin */]],\n props: {\n //answer change notification callback\n answerChange: {\n type: Function,\n required: true\n }\n },\n data: function () {\n return {\n //setup data properties\n isRequired: this.getValidatorValue('required'),\n requiredMessage: this.getValidationMessage('requiredMessage'),\n YES_VALUE: YES_VALUE,\n NO_VALUE: NO_VALUE,\n defaultValue: NO_VALUE\n };\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n const selected = this.dataBag[this.questionData.questionKey] == YES_VALUE;\n if (!this.dataBag[this.questionData.questionKey]) {\n this.$set(this.dataBag, this.questionData.questionKey, this.defaultValue);\n } else {\n this.initializeFieldView();\n if (this.answerChange) {\n this.answerChange(this.dataBag[this.questionData.questionKey]);\n }\n }\n //for group validation\n if (this.questionData.groupName) {\n if (this.dataBag[this.questionData.groupName] == undefined) {\n this.$set(this.dataBag, this.questionData.groupName, 0);\n }\n if (selected) {\n this.setGroupValidationDataBagState(selected);\n }\n }\n },\n methods: {\n getFieldRef() {\n console.log('CheckboxView=>getFieldRef');\n return this.$refs.checkBoxControl;\n },\n changeHandler($event) {\n const checked = $event.target.checked;\n //update databag with yes/no\n this.dataBag[this.questionData.questionKey] = checked ? this.YES_VALUE : this.NO_VALUE;\n\n var $this = this;\n if (this.questionData.showValueChangeAlert) {\n\n this.alertValueChange(function () {\n $this.processChange(checked);\n });\n } else {\n this.processChange(checked);\n }\n },\n processChange(checked) {\n\n if (checked == undefined) {\n checked = this.dataBag[this.questionData.questionKey] == this.YES_VALUE;\n }\n\n this.setGroupValidationDataBagState(checked);\n\n //if callback is not null, invoke it\n if (this.answerChange) {\n this.answerChange(this.dataBag[this.questionData.questionKey]);\n }\n //trigger field interaction notification\n this.notifyFieldInteraction();\n this.saveFieldData();\n },\n setGroupValidationDataBagState(value) {\n\n if (this.questionData.groupName) {\n var data = value ? 1 : -1;\n var $this = this;\n __WEBPACK_IMPORTED_MODULE_0_vue__[\"a\" /* default */].nextTick(function () {\n var totalCount = parseInt($this.dataBag[$this.questionData.groupName] || 0) + data;\n //reset to zero if less than zero\n totalCount = totalCount < 0 ? 0 : totalCount;\n $this.dataBag[$this.questionData.groupName] = totalCount;\n });\n }\n }\n },\n computed: {}\n});\n\n/***/ }),\n/* 115 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {},\n data: function () {\n return {\n componentIdentifier: 'ContentComponent',\n dynamicContentKeys: []\n };\n },\n computed: {\n content() {\n const contentKey = (this.dataKeyObject || {}).contentKey;\n if (contentKey && this.dynamicData) {\n var html = this.dynamicData[contentKey] || '';\n var txt = document.createElement(\"textarea\");\n txt.innerHTML = html;\n return txt.value;\n }\n return '';\n },\n cssClass() {\n return this.dataKeyObject.cssClass || '';\n }\n },\n mounted() {\n if (this.dataKeyObject.contentKey) {\n this.dynamicContentKeys.push(this.dataKeyObject.contentKey);\n this.loadDynamicContent();\n }\n }\n});\n\n/***/ }),\n/* 116 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_FormFieldComponentBaseMixin__ = __webpack_require__(7);\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n //setup mixins\n mixins: [__WEBPACK_IMPORTED_MODULE_0__mixins_FormFieldComponentBaseMixin__[\"a\" /* FormFieldComponentBaseMixin */]],\n mounted() {\n //set default value in databag\n if (!this.questionData.dontSave) {\n this.$set(this.dataBag, this.questionData.questionKey, this.questionData.defaultValue);\n }\n }\n});\n\n/***/ }),\n/* 117 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__DSULoginRegistrationComponent_vue__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__DSULoginRegistrationComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__DSULoginRegistrationComponent_vue__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: {\n 'dsu-login': __WEBPACK_IMPORTED_MODULE_1__DSULoginRegistrationComponent_vue___default.a\n },\n props: {\n isLandingPage: false\n },\n data() {\n return {\n showLogin: false\n };\n },\n methods: {\n continueButtonClickHandler() {\n const $this = this;\n //check if already logged in, then retreive saved application\n //or else ask user to login\n this.$auth.isAuthenticated().then(function (loggedIn) {\n if (loggedIn) {\n $this.loadSavedApplication();\n } else {\n //start login process\n $this.startLoginProcess();\n }\n }).catch(function (e) {\n console.log('User is not authenticated', e);\n //start login process\n $this.startLoginProcess();\n });\n },\n\n loadSavedApplication() {\n console.log('Loading saved application...');\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_0__Constants__[\"a\" /* Constants */].AUTH_EVENTS.LOAD_SAVED_APPLICATION, {});\n },\n startLoginProcess() {\n console.log('Continue application -> Login initiated...');\n //navigate to login\n let evtData = {};\n evtData[__WEBPACK_IMPORTED_MODULE_0__Constants__[\"a\" /* Constants */].AUTH_EVENTS_DATA.LOGIN.CONTINUE_WITH_SAVED_APP] = true;\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_0__Constants__[\"a\" /* Constants */].AUTH_EVENTS.LOGIN, evtData);\n this.showLogin = true;\n }\n }\n});\n\n/***/ }),\n/* 118 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Utilities_DomHelper__ = __webpack_require__(26);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\nconst PAS_MODE = 'pa' + 'ss' + 'wo' + 'rd';\n\nconst DSU_RESPONSE_TYPE = {\n REGISTRATION_SUCCESS: 'UI_REG_SUCCESS',\n REGISTRATION_FAILED: 'UI_REG_FAILED',\n LOGIN_SUCCESS: 'UI_LOGIN_SUCCESS',\n LOGIN_FAILED: 'UI_LOGIN_FAILED',\n PASSWORD_RESET_REQUIRED: 'UI_PASSWORD_RESET_REQUIRED',\n LOGIN_SUCCESS_COOKIE: 'UI_LOGIN_SUCCESS_COOKIE'\n};\nconst WidgetContainerIdMap = {\n [PAS_MODE]: 'psignin',\n otp: 'signin'\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'LoginRegistration',\n props: {\n closeCallback: Function\n },\n data() {\n return {\n loading: false,\n rendered: false,\n loginMode: PAS_MODE,\n simulateLogin: this.isLocal()\n };\n },\n computed: {\n widgetContainerId() {\n let mode = this.loginMode || PAS_MODE;\n return WidgetContainerIdMap[mode];\n }\n },\n created() {\n console.log('DsuLogin component created.');\n this.registerEvents();\n },\n destroyed() {\n this.deregisterEvents();\n },\n mounted() {\n console.log('DsuLogin component mounted.');\n const $this = this;\n this.showWidget();\n },\n destroyed() {\n // Remove the widget from the DOM on path change\n if (this.widget) {\n this.widget.remove();\n this.widget = null;\n console.log('SignIn/SignUp widget destroyed');\n }\n },\n methods: {\n isLocal() {\n return __WEBPACK_IMPORTED_MODULE_2__Utilities_Utility__[\"a\" /* Utility */].isLocalHost();\n },\n widgetInited() {\n return typeof window.dsuInit != 'undefined';\n },\n showWidget() {\n const $this = this;\n if (!this.widgetInited()) {\n this.initializeWidget(() => {\n //render\n $this.renderWidget();\n $this.showWidgetModal();\n });\n } else {\n $this.renderWidget();\n $this.showWidgetModal();\n }\n },\n broadCastPageLoaded(pageTitle) {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_0__Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.PAGE_LOADED, {\n title: pageTitle,\n routePath: this.$router.currentRoute.path\n });\n },\n initializeWidget(initCompleteCallback) {\n initCompleteCallback = initCompleteCallback || function () {\n console.log('no initCompleteCallback');\n };\n if (this.widgetInited() && initCompleteCallback) {\n initCompleteCallback();\n return;\n }\n console.log('initializeWidget.');\n var config = __WEBPACK_IMPORTED_MODULE_1__Application_services_HttpCommunicationService__[\"a\" /* default */].getDsuConfig();\n //load plugin script\n if (config && config.initScriptPath && !this.widgetInited()) {\n let dsuPluginScript = document.createElement('script');\n dsuPluginScript.setAttribute('src', config.initScriptPath);\n dsuPluginScript.setAttribute('type', 'application/javascript');\n dsuPluginScript.onload = initCompleteCallback;\n document.body.appendChild(dsuPluginScript);\n }\n },\n renderWidget() {\n const $this = this;\n if (this.widgetInited() && !this.rendered) {\n try {\n var config = __WEBPACK_IMPORTED_MODULE_1__Application_services_HttpCommunicationService__[\"a\" /* default */].getDsuConfig();\n $this.loginMode = config.loginMode;\n\n const widgetConfig = {\n src: config.uiScriptPath,\n config: {\n jsonPath: config.dataConfigPath,\n configPath: config.appConfigPath\n }\n };\n console.log('Render widget.');\n dsuInit.charges.createCharge(widgetConfig).then(function (res) {\n console.log('DSU authentication success response: ', res);\n if (res.type == DSU_RESPONSE_TYPE.REGISTRATION_SUCCESS || res.type == DSU_RESPONSE_TYPE.LOGIN_SUCCESS || res.type == DSU_RESPONSE_TYPE.LOGIN_SUCCESS_COOKIE) {\n // Login Completed Successfully\n $this.loginSuccess(res);\n } else if (res.type == DSU_RESPONSE_TYPE.REGISTRATION_FAILED || res.type == DSU_RESPONSE_TYPE.LOGIN_FAILED) {\n // Unable to Register or Login ...\n $this.loginFailed(res.type);\n }\n return res;\n }).catch(function (err) {\n //Log Failures in Lower Environments\n console.log('Error Response :' + err);\n return err;\n });\n //this.loading = false;\n this.rendered = true;\n } catch (e) {\n //Log Failures in Lower Environments\n console.log('DSU Auth Error', e);\n }\n }\n },\n showWidgetModal() {\n if ($) {\n $('#dsuWidgetPopup').modal('show');\n console.log('show widget.');\n this.attachLoginHandlers();\n }\n },\n hideWidgetModal() {\n if ($) {\n $('#dsuWidgetPopup').modal('hide');\n console.log('hide widget.');\n }\n if (this.closeCallback) {\n this.closeCallback();\n }\n },\n attachLoginHandlers() {\n console.log('attaching Login Handlers...');\n try {\n const self = this;\n $('#P_SI_BUTTON_SUBMIT').on('click', function () {\n self.loading = true;\n });\n\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__Utilities_DomHelper__[\"b\" /* default */])('#psignin', '#P_SI_SPAN_ERROR', function (element) {\n console.log('Login response', element);\n self.loading = false;\n });\n } catch (e) {\n console.log('attachLoginHandlers', e);\n }\n },\n\n registerEvents() {\n this.$eventBus.$on(__WEBPACK_IMPORTED_MODULE_0__Constants__[\"a\" /* Constants */].AUTH_EVENTS.LOGIN, this.showWidget);\n },\n deregisterEvents() {\n this.$eventBus.$off(__WEBPACK_IMPORTED_MODULE_0__Constants__[\"a\" /* Constants */].AUTH_EVENTS.LOGIN, this.showWidget);\n },\n loginSuccess(response) {\n const $this = this;\n //process auth and close popup\n this.$auth.handleAuthentication(response).then(() => {\n $this.hideWidgetModal();\n $this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_0__Constants__[\"a\" /* Constants */].AUTH_EVENTS.LOGIN_COMPLETED);\n });\n },\n loginFailed(reason) {\n console.log('operation failed.', reason);\n },\n //for testing purpose in local\n simulateLoginHandler() {\n const response = {\n data: {\n userKey: 'f52fca79-b259-47bd-9aa5-2c8ca60eb468'\n }\n };\n this.loginSuccess(response);\n }\n }\n});\n\n/***/ }),\n/* 119 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Utilities_Utility__ = __webpack_require__(2);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n //setup mixins\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__[\"a\" /* FormFieldComponentBaseMixin */], __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__[\"a\" /* ViewValidationHelperMixin */]],\n props: {},\n data: function () {\n return {\n //setup data properties\n isRequired: this.getValidatorValue('required'),\n pattern: this.getValidatorValue('pattern'),\n requiredMessage: this.getValidationMessage('requiredMessage'),\n patternMessage: this.getValidationMessage('patternMessage'),\n dateMessage: this.getValidationMessage('dateMessage') || 'Please enter valid date',\n dateRangeMessage: this.getValidationMessage('dateRangeMessage') || 'Date is out of range',\n invalidMonthDaysMessage: this.getValidationMessage('invalidMonthDaysMessage') || 'Date is not allowed.',\n maskFormat: this.questionData.maskFormat || '',\n originalValue: '',\n pickerOpened: false\n };\n },\n mounted() {\n const self = this;\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.questionData.questionKey]) {\n this.$set(this.dataBag, this.questionData.questionKey, '');\n }\n //field has saved value\n else {\n this.$nextTick(() => {\n self.initializeFieldView();\n //self.setFocus();\n });\n this.originalValue = this.dataBag[this.questionData.questionKey];\n }\n if (!this.questionData.disableCalender) {\n this.bindDatePicker();\n }\n },\n computed: {\n additionalSetting() {\n return this.questionData.additionalSetting || {};\n },\n\n dateRange() {\n return __WEBPACK_IMPORTED_MODULE_2__Utilities_Utility__[\"a\" /* Utility */].getDateRangeNew(this.questionData.dateYearRange);\n },\n invalidMonthDays() {\n var invalidDays = (this.questionData.additionalSetting || {}).invalidMonthDays || [];\n return invalidDays;\n },\n buttonTrigger() {\n return (((this.questionData.additionalSetting || {}).datePicker || {}).showOn || '') == 'button';\n }\n },\n methods: {\n getFieldRef() {\n console.log('DateViewInput=>getFieldRef');\n return this.$refs.dateInput;\n },\n bindDatePicker() {\n var $ = window.jQuery || window.jquery;\n const self = this;\n var $this = this;\n var minYear = '1900';\n var maxYear = new Date().getFullYear();\n var dateRange = this.dateRange;\n\n if (dateRange.maxDate != null) {\n maxYear = dateRange.maxDate.getFullYear();\n }\n\n if (dateRange.minDate != null) {\n minYear = dateRange.minDate.getFullYear();\n }\n\n var dtPickerOptions = {\n dateFormat: 'mm/dd/yy',\n minDate: dateRange.minDate,\n maxDate: dateRange.maxDate,\n changeDate: true,\n changeMonth: true,\n changeYear: true,\n yearRange: minYear + \":\" + maxYear,\n showAnim: 'slide',\n onSelect: function (date) {\n console.log(\"onSelect\");\n $this.$set($this.dataBag, $this.questionData.questionKey, date);\n $this.onDateChanged();\n $(this).parent().addClass(\"focused\");\n $this.pickerOpened = false;\n },\n onClose: function () {\n console.log(\"onClose\");\n $this.pickerOpened = false;\n },\n beforeShowDay: function (date) {\n var day = date.getDate();\n var list = $this.invalidMonthDays || [];\n if (list.indexOf(day) > -1) {\n return [false];\n }\n return [true];\n },\n beforeShow: function () {\n console.log(\"beforeShow\");\n $this.pickerOpened = true;\n }\n };\n\n var dtPkrSettings = self.additionalSetting.datePicker || {};\n if (typeof dtPkrSettings == 'object') {\n for (var p in dtPkrSettings) {\n dtPickerOptions[p] = dtPkrSettings[p];\n }\n }\n console.log('dtPickerOptions', dtPickerOptions);\n\n $($this.$refs.dateInput).datepicker(dtPickerOptions);\n $(\".datepicker-trigger\").click(function () {\n $($this.$refs.dateInput).datepicker(\"show\");\n });\n },\n validateDate: function (value) {\n // return true to set input as $valid, false to set as $invalid\n return __WEBPACK_IMPORTED_MODULE_2__Utilities_Utility__[\"a\" /* Utility */].isValidDate(value, '/');\n },\n validateDateRange: function (value) {\n // return true to set input as $valid, false to set as $invalid\n var dateRange = this.dateRange;\n if (dateRange && dateRange.maxDate != null && dateRange.minDate != null) {\n var valid = false;\n if (value != '' && value.length == 10) {\n // test and set the validity after update.\n var dateValue = new Date(value);\n valid = dateValue >= dateRange.minDate && dateValue <= dateRange.maxDate;\n }\n return valid;\n }\n return true;\n },\n validateInvalidMonthDays: function (value) {\n if (this.invalidMonthDays.length > 0) {\n var dateValue = new Date(value);\n var day = dateValue.getDate();\n var valid = this.invalidMonthDays.indexOf(day) < 0;\n return valid;\n }\n return true;\n },\n onDateChanged() {\n var $this = this;\n //check if the requoting is required\n if (this.questionData.showValueChangeAlert) {\n //pass callback fn to execute when user want to continue with change,\n //this callback will not be called when user click cancel and reverted the value to original\n //hence no need to notify changes\n this.alertValueChange(function () {\n $this.notifyFieldInteraction();\n $this.saveFieldData();\n });\n }\n //else alway notify date change\n else {\n $this.notifyFieldInteraction();\n $this.saveFieldData();\n }\n },\n blurHandler() {\n if (!this.pickerOpened) {\n console.log(\"blurHandler\");\n //trigger field interaction notification\n var $this = this;\n //delay for sometime\n window.setTimeout(function () {\n $this.onDateChanged();\n }, 200);\n }\n\n this.applyBlurPlaceholder(this.$refs.dateInput);\n },\n focusHandler() {\n this.applyFocusPlaceholder(this.$refs.dateInput);\n }\n }\n});\n\n/***/ }),\n/* 120 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Constants__ = __webpack_require__(1);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\nconst default_option_group = 'Others';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n //setup mixins\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__[\"a\" /* FormFieldComponentBaseMixin */], __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__[\"a\" /* ViewValidationHelperMixin */]],\n props: {\n //answer change notification callback\n answerChange: {\n type: Function,\n required: true\n }\n },\n data: function () {\n return {\n //setup data properties\n isRequired: this.getValidatorValue('required'),\n requiredMessage: this.getValidationMessage('requiredMessage'),\n options: this.getOptions(),\n defaultValue: ''\n };\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.questionData.questionKey]) {\n this.$set(this.dataBag, this.questionData.questionKey, this.questionData.defaultValue || this.defaultValue);\n } //field has saved value\n else {\n this.initializeFieldView();\n if (this.answerChange) {\n this.answerChange(this.dataBag[this.questionData.questionKey]);\n }\n }\n this.SetSalutation();\n this.$nextTick(function () {\n this.addPlaceholder();\n });\n },\n\n computed: {\n hasOptionGroups() {\n return (this.options || []).some(o => o.group !== undefined && o.group !== '');\n },\n\n optionGroups() {\n var grps = [];\n (this.options || []).forEach(opt => {\n if (opt.group && grps.indexOf(opt.group) < 0) {\n grps.push(opt.group);\n }\n });\n //add last option group as others\n if (grps.length > 0 && grps.indexOf(default_option_group) < 0) {\n grps.push(default_option_group);\n }\n return grps;\n },\n selectOption() {\n const text = this.questionData.selectText || 'Please select ' + this.questionData.text;\n return { text: text, value: '' };\n }\n },\n\n methods: {\n getFieldRef() {\n console.log('DropDownView=>getFieldRef');\n return this.$refs.dropdownRef;\n },\n SetSalutation() {\n if (this.questionData.questionKey == __WEBPACK_IMPORTED_MODULE_2__Constants__[\"a\" /* Constants */].SALUTATION_KEY) {\n var title = '';\n var gender = this.dataBag[__WEBPACK_IMPORTED_MODULE_2__Constants__[\"a\" /* Constants */].GENDER_KEY];\n if (gender == 'Male') {\n title = 'Mr.';\n } else if (gender == 'Female') {\n title = 'Mrs.';\n } else {\n title = '';\n }\n var $this = this;\n\n this.$set(this.dataBag, this.questionData.questionKey, title);\n }\n },\n getOptions() {\n\n //clone array\n var opts = [];\n if (this.questionData.answerOptionsFunction) {\n var fn = __WEBPACK_IMPORTED_MODULE_2__Constants__[\"a\" /* Constants */][this.questionData.answerOptionsFunction];\n if (fn && typeof fn === \"function\") {\n //call dataListFunction\n opts = fn();\n }\n } else {\n opts = (this.questionData.answerOptions || []).slice(0);\n }\n //opts.unshift({ text: text, value: '', group:'' });\n this.applyExcludeOptions(opts);\n return opts;\n },\n applyExcludeOptions(options) {\n if (!options || !Array.isArray(options) || options.length == 0) {\n return;\n }\n let excludeOptions = this.questionData.excludeOptions || [];\n if (excludeOptions && excludeOptions.length > 0) {\n excludeOptions.forEach(optVal => {\n let foundIndex = options.findIndex(o => o.value == optVal);\n if (foundIndex > -1) {\n //delete item at index\n options.splice(foundIndex, 1);\n }\n });\n }\n },\n\n getGroupOptions(groupName) {\n let optList = this.options || [];\n if (groupName && groupName !== default_option_group) {\n return optList.filter(opt => opt.group === groupName).slice(0);\n } else {\n return optList.filter(opt => opt.group === undefined).slice(0);\n }\n },\n changeHandler() {\n var $this = this;\n if (this.questionData.showValueChangeAlert) {\n\n this.alertValueChange(function () {\n $this.processChange();\n });\n } else {\n this.processChange();\n }\n },\n processChange() {\n\n //call answerChange if callback is not null\n if (this.answerChange) {\n this.answerChange(this.dataBag[this.questionData.questionKey]);\n }\n //trigger field interaction notification\n this.notifyFieldInteraction();\n this.saveFieldData();\n },\n addPlaceholder() {\n if (this.questionData.questionKey == __WEBPACK_IMPORTED_MODULE_2__Constants__[\"a\" /* Constants */].SALUTATION_KEY) {\n var $this = __WEBPACK_IMPORTED_MODULE_2__Constants__[\"a\" /* Constants */].SALUTATION_KEY;\n $('#' + $this).parent().addClass(\"focused\");\n }\n }\n }\n});\n\n/***/ }),\n/* 121 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Constants__ = __webpack_require__(1);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n //setup mixins\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__[\"a\" /* FormFieldComponentBaseMixin */], __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__[\"a\" /* ViewValidationHelperMixin */]],\n props: {},\n data: function () {\n return {\n //setup data properties\n isRequired: this.getValidatorValue('required'),\n pattern: this.getValidatorValue('pattern'),\n minlength: this.getValidatorValue('minlength'),\n maxlength: this.getValidatorValue('maxlength'),\n requiredMessage: this.getValidationMessage('requiredMessage'),\n patternMessage: this.getValidationMessage('patternMessage'),\n emailMessage: this.getValidationMessage('emailMessage') || __WEBPACK_IMPORTED_MODULE_3__Constants__[\"a\" /* Constants */].INVALID_EMAIL_MESSAGE,\n minlengthMessage: this.getValidationMessage('minlengthMessage'),\n maxlengthMessage: this.getValidationMessage('maxlengthMessage'),\n validatedValue: ''\n };\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.questionData.questionKey]) {\n this.$set(this.dataBag, this.questionData.questionKey, '');\n }\n //field has saved value\n else {\n this.initializeFieldView();\n }\n },\n methods: {\n getFieldRef() {\n console.log('EmailInputView=>getFieldRef');\n return this.$refs.emailInputRef;\n },\n validateEmail: function (value) {\n const self = this;\n var valid = true;\n //validate the pattern\n if (self.patternRegex) {\n valid = self.patternRegex.test(value);\n }\n\n //validate with server only when all other validation is passed;\n if (valid) {\n //logic to prevent multiple validation for same value\n if (this.validatedValue === value) {\n return valid;\n }\n // return true to set input as $valid, false to set as $invalid\n let valPromise = this.validateInputWithServer(value, \"email\");\n valPromise.then(function (valid) {\n self.validated(value, valid);\n });\n return valPromise;\n }\n //return false if other validation are failed;\n return false;\n },\n validated(value, valid) {\n if (valid) {\n this.validatedValue = value;\n }\n },\n blurHandler() {\n //trigger field interaction notification\n this.notifyFieldInteraction();\n this.saveFieldData();\n }\n },\n computed: {\n patternRegex() {\n const validators = this.questionData.validators;\n if (validators && validators.pattern) {\n return new RegExp(validators.pattern);\n }\n return undefined;\n }\n }\n});\n\n/***/ }),\n/* 122 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_FormFieldComponentBaseMixin__ = __webpack_require__(7);\n//\n//\n//\n//\n\n\n//This view does not show any content, the purpose of this component to include CM question answer in databag\n//to submit with application to CM always by default like agent consent, user consent etc.\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n //setup mixins\n mixins: [__WEBPACK_IMPORTED_MODULE_0__mixins_FormFieldComponentBaseMixin__[\"a\" /* FormFieldComponentBaseMixin */]],\n mounted() {\n //set default value in databag\n if (!this.questionData.dontSave) {\n this.$set(this.dataBag, this.questionData.questionKey, this.questionData.defaultValue);\n }\n }\n});\n\n/***/ }),\n/* 123 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentInterfaceMixin__ = __webpack_require__(10);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentInterfaceMixin__[\"a\" /* ComponentInterfaceMixin */]],\n props: {\n //group collection\n groups: {\n type: Array,\n required: true,\n default: function () {\n return [];\n }\n },\n transitionName: {\n type: String,\n required: true\n },\n renderMode: {\n type: String,\n required: true\n },\n //groups last form field interaction callback\n pageInteractionCompletionCallback: {\n type: Function,\n required: false\n }\n },\n data: function () {\n return {\n //setup data properties\n renderableGroups: [],\n currentGroupIndex: -1,\n interactionCompleted: false\n };\n },\n created() {\n //fetch page data;\n this.registerNavigationEvents();\n },\n mounted() {\n this.renderNextGroup();\n },\n destroyed() {\n console.log(\"Experience page destroyed\");\n this.unRegisterNavigationEvents();\n },\n computed: {\n pageCss() {\n const ps = this.pageSchema;\n return ps && ps.pageMetadata ? ps.pageMetadata.containerCss : '';\n }\n },\n methods: {\n broadCastNavigateNextFeedback(data) {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_NEXT_FEEDBACK, data);\n },\n broadCastNavigatePrevFeedback(data) {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_PREV_FEEDBACK, data);\n },\n\n registerNavigationEvents() {\n this.$eventBus.$on(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_NEXT, this.onNavigateNext);\n this.$eventBus.$on(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_PREV, this.onNavigatePrev);\n },\n unRegisterNavigationEvents() {\n this.$eventBus.$off(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_NEXT, this.onNavigateNext);\n this.$eventBus.$off(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_PREV, this.onNavigatePrev);\n //this.$eventBus.$off();\n },\n onNavigateNext() {\n var navigated = this.renderNextGroup();\n var eventData = navigated ? __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].NAVIGATION_EVENT_DATA.NAVIGATED : __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].NAVIGATION_EVENT_DATA.NOT_NAVIGATED;\n this.broadCastNavigateNextFeedback(eventData);\n },\n onNavigatePrev() {\n var navigated = this.renderPrevGroup();\n var eventData = navigated ? __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].NAVIGATION_EVENT_DATA.NAVIGATED : __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].NAVIGATION_EVENT_DATA.NOT_NAVIGATED;\n this.broadCastNavigatePrevFeedback(eventData);\n },\n //get last group key\n getLastGroupKey() {\n return this.groups[this.groups.length - 1].groupKey;\n },\n //groups last field interaction callback handler function\n groupLastFormFieldInteractionHandler(groupKey) {\n ////if its a last page, notify page manager\n //if (groupKey == this.getLastGroupKey()\n // && this.pageInteractionCompletionCallback) {\n // //call only if interaction is not completed\n // if (!this.interactionCompleted) {\n // this.pageInteractionCompletionCallback();\n // this.interactionCompleted = true;\n // }\n\n //}//else render next group\n //else {\n // this.renderNextGroup();\n //}\n },\n //function to set next group to be rendered in UI\n renderNextGroup() {\n var navigateResult = false;\n var mode = (this.renderMode || '').toLowerCase();\n\n if (this.currentGroupIndex + 1 >= this.groups.length) {\n return navigateResult;\n }\n this.currentGroupIndex = this.currentGroupIndex + 1;\n var grp = this.groups[this.currentGroupIndex];\n\n if (grp) {\n //keep existing group and stack new group on top on it\n if (mode == __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].RENDER_MODE.STACKED) {\n //set focus on first item of the group\n grp.focus = true;\n this.renderableGroups.push(grp);\n navigateResult = true;\n }\n //replace old group with new group\n else if (mode == __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].RENDER_MODE.REPLACE) {\n this.renderableGroups.splice(0, this.renderableGroups.length); //clear array\n grp.focus = true;\n this.renderableGroups.push(grp); //push new item to array\n navigateResult = true;\n } //default is render all.\n else {\n if (this.groups.length > 0) {\n this.groups[0].focus = true;\n }\n this.renderableGroups = this.groups;\n navigateResult = false;\n }\n }\n return navigateResult;\n },\n renderPrevGroup() {\n\n var mode = (this.renderMode || '').toLowerCase();\n var navigateResult = false;\n\n if (mode == __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].RENDER_MODE.REPLACE && this.currentGroupIndex > 0) {\n this.currentGroupIndex = this.currentGroupIndex - 1;\n var grp = this.groups[this.currentGroupIndex];\n\n if (grp) {\n //replace old group with new group\n this.renderableGroups.splice(0, this.renderableGroups.length); //clear array\n this.renderableGroups.push(grp); //push new item to array\n navigateResult = true;\n }\n }\n return navigateResult;\n }\n }\n});\n\n/***/ }),\n/* 124 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_services_dialogService__ = __webpack_require__(6);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {},\n data: function () {\n return {\n //setup data properties\n faqFilter: '',\n faqList: [],\n allFaqList: []\n //filteredFaqList: [],\n };\n },\n created() {\n //fetch page data;\n },\n mounted() {\n this.loadFaqList();\n this.loadAllFaqList();\n },\n\n computed: {\n filteredFaqList() {\n const self = this;\n var items = self.allFaqList || [];\n if (self.faqFilter && self.faqFilter !== '' && items.length > 0) {\n var queryText = self.faqFilter.toLowerCase();\n\n return items.filter(faq => {\n return (faq.question || '').toLowerCase().indexOf(queryText) > -1 || (faq.answer || '').toLowerCase().indexOf(queryText) > -1;\n });\n }\n return items;\n }\n },\n\n methods: {\n loadFaqList() {\n const self = this;\n const key = self.dataKeyObject.faqKey;\n __WEBPACK_IMPORTED_MODULE_1__Application_services_HttpCommunicationService__[\"a\" /* default */].getFaqs(key, function (faqs) {\n self.faqList = faqs;\n }, function (error) {\n console.log('faq load error', error);\n });\n },\n loadAllFaqList() {\n const self = this;\n const key = self.dataKeyObject.allFaqKey;\n __WEBPACK_IMPORTED_MODULE_1__Application_services_HttpCommunicationService__[\"a\" /* default */].getFaqs(key, function (faqs) {\n self.allFaqList = faqs;\n }, function (error) {\n console.log('faq load error', error);\n });\n },\n\n showFaqDetail(faq) {\n var title = 'Frequently Asked Questions
';\n var message = '' + faq.question + '
' + faq.answer;\n __WEBPACK_IMPORTED_MODULE_2__Application_services_dialogService__[\"a\" /* default */].modalDialogAdvanced(title, message, 'my-modal faq-modal');\n }\n }\n});\n\n/***/ }),\n/* 125 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\nconst configDefault = {\n submitButton: { label: 'Submit', show: true, cssClass: 'btn btn-secondary' },\n cancelButton: { label: 'Cancel', show: true, cssClass: 'btn btn-link' },\n buttonContainer: { cssClass: 'clearfix button-group custom-btn-group' }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {\n name: {\n type: String,\n required: false\n },\n dataKey: {\n type: [String, Object],\n required: false\n },\n questionGroups: {\n type: Array,\n required: true,\n default: function () {\n return [];\n }\n },\n onSubmit: {\n type: Function,\n required: true\n },\n onCancel: {\n type: Function,\n required: false\n },\n config: {\n type: Object,\n required: false,\n default: function () {\n return {};\n }\n }\n },\n data() {\n return {\n uiConfig: this.merge(configDefault, this.config),\n componentState: this.getState()\n };\n },\n created() {\n this.uiConfig = this.merge(configDefault, this.config);\n this.componentDataBag = this.merge({}, this.dataBag);\n console.log('FormComponent created', this.componentDataBag);\n },\n\n watch: {\n config: function (oldOptions, newOptions) {\n console.log('option watcher', newOptions);\n this.uiConfig = this.merge(configDefault, newOptions);\n }\n },\n computed: {},\n\n methods: {\n getState() {\n return this.state;\n },\n submitHandler() {\n console.log('form-submitHandler', this.componentState);\n //check component state for val\n this.$set(this.componentState, '$submitted', true);\n //touch component states to highlight field\n this.touchComponentState();\n if (this.componentState.$valid) {\n this.$set(this.componentState, '$submitted', false);\n console.log('form valid');\n } else {\n console.log('form invalid');\n }\n if (this.onSubmit) {\n this.onSubmit({ formData: this.componentDataBag, valid: this.componentState.$valid });\n }\n },\n cancelHandler() {\n if (this.onCancel) {\n this.onCancel();\n }\n },\n merge(target, source) {\n let merged = Object.assign({}, target, source);\n\n if (source) {\n Object.keys(merged).forEach(key => {\n if (typeof merged[key] === 'object') {\n merged[key] = Object.assign({}, target[key], source[key]);\n }\n });\n console.log('option merge', { target, source, merged });\n }\n return merged;\n }\n }\n});\n\n/***/ }),\n/* 126 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_componentTypeNameMapping__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__services_conditionEvaluator__ = __webpack_require__(81);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentInterfaceMixin__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Constants__ = __webpack_require__(1);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentInterfaceMixin__[\"a\" /* ComponentInterfaceMixin */]],\n props: {\n //group definition\n groupData: {\n type: Object,\n required: true\n },\n //groups last form field interaction callback\n lastFormFieldInteractionCallback: {\n type: Function,\n required: false\n },\n formFieldInteractionCallback: {\n type: Function,\n required: false\n }\n },\n data() {\n return {\n lastQuestionKey: '',\n interactionCompleted: false,\n focusSettingInitialize: false,\n readMode: false,\n editing: false,\n hideSelf: false\n };\n },\n created() {\n this.registerAnswerChangeEvents();\n },\n destroyed() {\n this.unregisterAnswerChangeEvents();\n },\n mounted() {\n //update last question key in groups\n this.lastQuestionKey = this.getLastQuestionKey();\n this.$nextTick(function () {\n $('[data-toggle=\"tooltip\"]').tooltip();\n });\n this.initMode();\n this.evaluateGroupHideConditions();\n },\n updated() {\n //update last question key in groups\n this.lastQuestionKey = this.getLastQuestionKey();\n },\n watch: {\n 'groupData.readMode': function (newValue, oldValue) {\n console.log('GroupComponent:watch::groupData.readMode');\n this.readMode = newValue;\n }\n /*\n dataBag: {\n deep: false,\n handler: function (newValue) {\n var ps = this.getChangedDataBagProperties();\n if (ps.length > 0) {\n console.log('dataBag, properties changed', ps)\n this.evaluateGroupHideConditions();\n }\n }\n }\n */\n },\n\n computed: {\n hideGroup() {\n return this.hideSelf;\n },\n filteredComponents() {\n return groupData.components;\n }\n },\n\n methods: {\n registerAnswerChangeEvents() {\n this.$eventBus.$on(__WEBPACK_IMPORTED_MODULE_3__Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.ANSWER_CHANGE, this.answerChangeHandler);\n },\n unregisterAnswerChangeEvents() {\n this.$eventBus.$off(__WEBPACK_IMPORTED_MODULE_3__Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.ANSWER_CHANGE, this.answerChangeHandler);\n },\n answerChangeHandler(answerData) {\n console.debug('Group-component:answerChangeHandler', answerData);\n if (answerData) {\n const properties = this.groupData.watchDataBagProperties || [];\n if (properties.indexOf(answerData.questionKey) >= 0) {\n this.evaluateGroupHideConditions();\n }\n }\n },\n evaluateGroupHideConditions() {\n var hideConditions = this.groupData.hideConditions;\n if (hideConditions && this.dataBag) {\n this.hideSelf = __WEBPACK_IMPORTED_MODULE_1__services_conditionEvaluator__[\"a\" /* default */].evaluateConditions(hideConditions, this.dataBag, true);\n } else {\n this.hideSelf = false;\n }\n },\n evaluateComponentCondition(condition) {\n var showComponent = true;\n /*\n if (condition && this.dataBag) {\n showComponent = evaluator.evaluateConditions(condition, this.dataBag, true);\n }\n */\n return showComponent;\n },\n initMode() {\n this.readMode = this.groupData.readMode !== undefined ? this.groupData.readMode : false;\n },\n /*\n getChangedDataBagProperties(newDataBag) {\n var changedProps = [];\n newDataBag = newDataBag || {};\n const properties = this.groupData.watchDataBagProperties || [];\n properties.forEach(p => {\n if (this.dataBag[p] != newDataBag[p]) {\n changedProps.push(p);\n }\n });\n return changedProps;\n },\n */\n questionInteractionCallbackHandler(fieldKey) {\n if (this.lastFormFieldInteractionCallback && this.lastQuestionKey == fieldKey) {\n if (!this.interactionCompleted) {\n this.lastFormFieldInteractionCallback(this.groupData.groupKey);\n this.interactionCompleted = true;\n }\n }\n if (this.formFieldInteractionCallback) {\n this.formFieldInteractionCallback(fieldKey);\n }\n },\n //calculate last question key in groups\n getLastQuestionKey() {\n var lastQuestionKey = '';\n const rows = this.groupData.questions || [];\n //iterate rows\n for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) {\n //iterate columns\n const cols = rows[rowIndex];\n for (var colIndex = 0; colIndex < cols.length; colIndex++) {\n const question = cols[colIndex].question;\n if (question) {\n lastQuestionKey = question.questionKey;\n }\n }\n }\n return lastQuestionKey;\n },\n getQuestionData(data) {\n this.initQuestionFocusSetting();\n this.setTabIndex(data);\n //.log('getQuestionData', { old: data.question.readMode, new: this.readMode })\n //data.question.readMode = this.readMode;\n return data;\n },\n initQuestionFocusSetting() {\n if (this.focusSettingInitialize) {\n return;\n }\n const rows = this.groupData.questions || [];\n //set focus on first question in group\n if (rows.length > 0 && rows[0] && rows[0].length > 0 && rows[0][0].question) {\n rows[0][0].question.focus = this.groupData.focus;\n }\n this.focusSettingInitialize = true;\n },\n setTabIndex(questionData) {\n //set group question tabindex to -1 to disable focus\n console.log('Group component=>assigning tabindex');\n questionData.question.tabIndex = this.groupData.readonly ? -1 : 0;\n },\n isNotEmpty(text) {\n return text != null && text != undefined && text != '';\n },\n getJoinedContent(texts) {\n return (texts || []).join('');\n },\n //calculate columns class based on of question in row\n getQuestionColumnClass(colSize, rowQuestions, colCss) {\n if (colCss) {\n return colCss;\n }\n var className = 'col-sm-12';\n if (!isNaN(colSize) && colSize > 0) {\n className = 'col-sm-' + colSize;\n } else {\n var questionPerCols = 12 / rowQuestions.length;\n className = 'col-sm-' + questionPerCols;\n }\n return className;\n },\n getRootClass() {\n const readOnlyClass = this.groupData.readonly ? 'readonly' : '';\n\n return 'clearfix group-view ' + readOnlyClass + ' ' + (this.groupData.cssClass || '');\n },\n //get ui component to render field using key\n getComponentRegisteredName(key) {\n var componentName = __WEBPACK_IMPORTED_MODULE_0__Shared_componentTypeNameMapping__[\"a\" /* componentTypeNameMapping */][key];\n return componentName;\n },\n getEditTitle() {\n return 'Edit ' + this.groupData.title;\n },\n groupEditHandler() {\n this.readMode = !this.readMode;\n this.editing = !this.readMode;\n\n //const readMode = this.editing ? !this.editing : this.readMode;\n //const questions = this.groupData.questions || [];\n //questions.forEach(qRow => {\n // (qRow || []).forEach(qCol => {\n // qCol.question.readMode = readMode;\n // });\n //});\n //this.questions = [];\n //this.questions = questions;\n },\n groupEditCompleteHandler() {\n //toggle\n this.groupEditHandler();\n },\n getComponentContainerCss(component) {\n console.log('getComponentContainerCss', component);\n var cssClass = 'col-sm-12 form-col';\n if (component.settings && component.settings.containerCssClass) {\n cssClass = component.settings.containerCssClass;\n }\n return cssClass;\n }\n }\n});\n\n/***/ }),\n/* 127 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n //setup mixins\n props: {\n helpText: {\n type: String,\n required: false\n }\n }\n});\n\n/***/ }),\n/* 128 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Utilities_routeUtil__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__componentTypeNameMapping__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__RendererComponent_vue__ = __webpack_require__(46);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__RendererComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__RendererComponent_vue__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n components: {\n 'fieldRenderer': __WEBPACK_IMPORTED_MODULE_4__RendererComponent_vue___default.a\n },\n props: {\n formKey: {\n type: String,\n required: true\n },\n editing: {\n type: Boolean,\n required: false\n }\n },\n\n data: function () {\n return {\n formSchema: undefined,\n editingSection: undefined,\n componentState: {},\n componentDataBag: {}\n };\n },\n\n mounted() {\n this.loadFormSchema();\n },\n computed: {\n sections() {\n const form = this.formSchema;\n if (form == undefined) {\n this.loadFormSchema();\n } else {\n return form.sectionsConfig || [];\n }\n\n return [];\n },\n editorFormSchema() {\n if (this.editingSection) {\n return this.editingSection.formSchema || {};\n }\n return {};\n },\n editorExcludeGroups() {\n var excludeGroups = [];\n if (this.editingSection && this.editingSection.editor) {\n excludeGroups = this.editingSection.editor.excludeGroups || [];\n };\n return excludeGroups;\n },\n questionGroups() {\n const excludeGroups = this.editorExcludeGroups || [];\n return (this.editorFormSchema.groups || []).filter(g => excludeGroups.indexOf(g.key) < 0);\n },\n formUIConfig() {\n return this.editorFormSchema.config || {};\n },\n isEditing() {\n //if (this.editing !== undefined) {\n // return this.editing;\n //}\n return this.editingSection !== undefined;\n }\n },\n methods: {\n getValue(value, format) {\n if (this.dataBag === undefined || value === undefined) {\n return '';\n }\n let result = __WEBPACK_IMPORTED_MODULE_1__Shared_Utilities_Utility__[\"a\" /* Utility */].replacePlaceholders(value, this.dataBag, '#');\n if (result && format && __WEBPACK_IMPORTED_MODULE_1__Shared_Utilities_Utility__[\"a\" /* Utility */][format]) {\n result = __WEBPACK_IMPORTED_MODULE_1__Shared_Utilities_Utility__[\"a\" /* Utility */][format](result);\n }\n return result;\n },\n loadFormSchema() {\n this.formSchema = this.getFormSchema(this.formKey, this.componentKey || '');\n },\n editCallbackHandler(section, editing) {\n if (editing) {\n this.sectionEditHandler(section);\n } else {\n this.sectionEditHandler(undefined);\n }\n },\n sectionEditHandler(section) {\n if (!section) {\n this.editingSection = undefined;\n this.clearFormState();\n return;\n }\n\n if (section.editor === undefined) {\n return;\n }\n const editor = section.editor || {};\n\n if (editor.page) {\n __WEBPACK_IMPORTED_MODULE_2__Utilities_routeUtil__[\"a\" /* default */].navigateToPage(this.$router, editor.page, true);\n } else if (editor.formKey) {\n //load form if not already\n if (section.formSchema === undefined) {\n section.formSchema = this.getFormSchema(editor.formKey, '');\n }\n this.updateDatabag(this.dataBag, this.componentDataBag, editor.fields);\n this.editingSection = section;\n } else if (editor.component) {\n this.editingSection = section;\n }\n },\n isSectionEditing(section) {\n return this.editingSection === section;\n },\n saveHandler(data) {\n console.log('saveHandler');\n const self = this;\n if (data.valid && data.formData) {\n const editor = this.editingSection.editor || {};\n console.log('saveHandler', data.formData);\n this.updateDatabag(data.formData, this.dataBag, editor.fields);\n //copy data\n this.sectionEditHandler(undefined);\n }\n },\n cancelHandler() {\n this.sectionEditHandler(undefined);\n },\n\n updateDatabag(source, target, fields) {\n const self = this;\n (fields || []).forEach(f => {\n self.$set(target, f, source[f]);\n });\n },\n getComponentRegisteredName(key) {\n var componentName = __WEBPACK_IMPORTED_MODULE_3__componentTypeNameMapping__[\"a\" /* componentTypeNameMapping */][key];\n return componentName;\n },\n getDynamicCss(section) {\n const edit = this.isSectionEditing(section);\n return edit ? section.editable && section.editor.containerCssClass : section.containerCssClass;\n //{ section.editor.containerCssClass: isSectionEditing(section), section.containerCssClass:!editing }\n }\n }\n});\n\n/***/ }),\n/* 129 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {\n formKey: {\n type: String,\n required: true\n }\n },\n data: function () {\n return {\n formSchema: undefined\n };\n },\n mounted() {\n this.loadFormSchema();\n },\n computed: {\n questionGroups() {\n return (this.formSchema || {}).groups || [];\n }\n },\n methods: {\n getUpdatedGroup(grp) {\n grp.readMode = this.readMode !== undefined ? this.readMode : false;\n console.log('GenericComponent:getUpdatedGroup', grp);\n return grp;\n },\n loadFormSchema() {\n this.formSchema = this.getFormSchema(this.formKey, '');\n },\n questionInteractionHandler(fieldKey) {\n //no implementation needed\n }\n }\n});\n\n/***/ }),\n/* 130 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Utilities_Utility__ = __webpack_require__(2);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\nconst uiConfigDefault = {\n deleteButton: {\n show: true,\n label: \"Remove\",\n width: \"15%\",\n cssClass: \"remove-list-btn\"\n },\n editButton: {\n show: true,\n label: \"Edit\",\n width: \"10%\",\n cssClass: \"btn edit-link\"\n },\n onDelete: function () {},\n onEdit: function () {},\n itemHeaderTitle: '',\n containerCssClass: ''\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n items: {\n type: Array,\n required: true,\n default: function () {\n return [];\n }\n },\n /*\n * [{\n * name:'',\n * title:'',\n * formatter:'',\n * allowDelete:true,\n * fieldSchema.titleCssClass:'',\n * fieldSchema.valueCssClass:''}\n * ]\n */\n itemFieldConfig: {\n type: Array,\n required: true,\n default: function () {\n return [];\n }\n },\n uiConfig: {\n type: Object,\n required: false,\n default: function () {\n return {};\n }\n }\n },\n\n computed: {\n fieldsConfig() {\n const fList = this.itemFieldConfig || [];\n console.log('fieldsConfig', fList);\n return fList;\n },\n uiConfigInner() {\n console.log('uiConfigInner', this.uiConfig);\n return Object.assign({}, uiConfigDefault, this.uiConfig);\n },\n\n itemGroupConfig() {\n return this.uiConfigInner.itemGroupConfig || {};\n },\n itemGroupHeaders() {\n return this.itemGroupConfig.headers || [];\n },\n itemGroups() {\n return this.hasGroup ? this.getItemGroups() : this.getDefaultItemGroups();\n },\n hasGroup() {\n return this.itemGroupConfig.groupField !== undefined;\n }\n },\n\n methods: {\n getItems() {\n return this.items || [];\n },\n getDefaultItemGroups() {\n return [{\n group: this.uiConfigInner.title,\n items: this.getItems()\n }];\n },\n getItemGroups() {\n const self = this;\n const groupField = this.itemGroupConfig.groupField;\n var itemGroups = [];\n if (groupField) {\n //group by filters\n let groups = self.getItems().map(item => item[groupField]);\n //unique groups\n groups = [...new Set(groups)];\n itemGroups = groups.map(g => {\n let gItems = self.getItems().filter(i => i[groupField] === g) || [];\n return { group: g, items: gItems };\n });\n }\n return itemGroups;\n },\n getGroupHeader(group) {\n return this.hasGroup ? (this.itemGroupHeaders.find(h => h.group === group) || {}).title : group;\n },\n getCombinedCssClass(fixed, dynamic) {\n return dynamic ? fixed + ' ' + dynamic : fixed;\n },\n getValue(item, fieldConfig) {\n if (item === undefined || fieldConfig === undefined || fieldConfig.value === undefined) {\n return '';\n }\n return __WEBPACK_IMPORTED_MODULE_0__Utilities_Utility__[\"a\" /* Utility */].replacePlaceholders(fieldConfig.value, item, '#');\n },\n deleteItem(item) {\n const handler = this.uiConfigInner.onDelete;\n if (handler) {\n handler(item);\n }\n },\n editItem(item) {\n const handler = this.uiConfigInner.onEdit;\n if (handler) {\n handler(item);\n }\n }\n }\n});\n\n/***/ }),\n/* 131 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'loading-view',\n props: {\n loading: {\n type: Boolean,\n required: true\n },\n message: {\n type: String,\n required: false,\n default: ''\n }\n }\n});\n\n/***/ }),\n/* 132 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__directives_money_directive__ = __webpack_require__(78);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n //setup mixins\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__[\"a\" /* FormFieldComponentBaseMixin */], __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__[\"a\" /* ViewValidationHelperMixin */]],\n props: {},\n directives: {\n 'money': __WEBPACK_IMPORTED_MODULE_2__directives_money_directive__[\"a\" /* default */]\n },\n data: function () {\n return {\n //setup data properties\n value: this.dataBag[this.questionData.questionKey],\n isRequired: this.getValidatorValue('required'),\n minlength: this.getValidatorValue('minlength'),\n maxlength: this.getValidatorValue('maxlength'),\n maxValue: this.getValidatorValue('maxValue'),\n requiredMessage: this.getValidationMessage('requiredMessage'),\n minlengthMessage: this.getValidationMessage('minlengthMessage'),\n maxlengthMessage: this.getValidationMessage('maxlengthMessage'),\n maxValueMessage: this.getValidationMessage('maxValueMessage'),\n moneyOption: {\n decimal: '.',\n thousands: ',',\n prefix: '$',\n suffix: '',\n precision: this.questionData.precision || 0,\n masked: false\n }\n };\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.questionData.questionKey]) {\n this.$set(this.dataBag, this.questionData.questionKey, '');\n } //field has saved value\n else {\n this.initializeFieldView();\n }\n },\n methods: {\n getFieldRef() {\n console.log('MoneyInputView=>getFieldRef');\n return this.$refs.moneyInputRef;\n },\n validateMaxValue: function (value) {\n // return true to set input as $valid, false to set as $invalid\n if (!this.maxValue) {\n return true;\n } else {\n var amount = parseInt(value.replace(/[^0-9\\.]/g, ''));\n console.log(amount, this.maxValue);\n var maxAmount = parseInt(this.maxValue.replace(/[^0-9\\.]/g, ''));\n\n return amount < maxAmount;\n }\n },\n blurHandler(evt) {\n //trigger field interaction notification\n this.notifyFieldInteraction();\n this.saveFieldData();\n },\n changeHandler(evt) {\n this.$set(this.dataBag, this.questionData.questionKey, evt.target.value);\n console.log(evt.target.value);\n }\n },\n computed: {}\n});\n\n/***/ }),\n/* 133 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_ViewValidationHelperMixin__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_FormFieldComponentBaseMixin__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Utilities_Utility__ = __webpack_require__(2);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n //setup mixins\n mixins: [__WEBPACK_IMPORTED_MODULE_2__mixins_FormFieldComponentBaseMixin__[\"a\" /* FormFieldComponentBaseMixin */], __WEBPACK_IMPORTED_MODULE_1__mixins_ViewValidationHelperMixin__[\"a\" /* ViewValidationHelperMixin */]],\n props: {},\n data: function () {\n return {\n //setup data properties\n isRequired: this.getValidatorValue('required'),\n requiredMessage: this.getValidationMessage('requiredMessage'),\n YES_VALUE: __WEBPACK_IMPORTED_MODULE_3__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.YES,\n NO_VALUE: __WEBPACK_IMPORTED_MODULE_3__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO,\n selected: false,\n meQuestionKey: '',\n familyQuestionKey: '',\n destroyed: false,\n defaultOptions: [{ value: 'me', text: 'Me' }, { value: 'family', text: 'Family' }]\n };\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n this.initializeOptions();\n\n //initialize view\n if (this.selected) {\n this.notifyFieldInteraction();\n }\n if (this.keyCode) {\n var element = $(\"#\" + this.questionData.questionKey);\n console.log(\"binded \", element);\n $(document).on(\"keypress\", element, this.shortcutKeyHandler);\n }\n },\n destroyed() {\n this.destroyed = true;\n if (this.keyCode) {\n var element = $(\"#\" + this.questionData.questionKey);\n console.log(\"destroyed \", element);\n $(document).off(\"keypress\", element, this.shortcutKeyHandler);\n }\n },\n methods: {\n getServerErrorKeys() {\n return this.tileOptions.map(o => o.questionKey) || [];\n },\n initializeOptions() {\n const _this = this;\n this.tileOptions.forEach(opt => {\n\n if (!_this.dataBag[opt.questionKey]) {\n _this.$set(_this.dataBag, opt.questionKey, _this.NO_VALUE);\n }\n\n if (_this.dataBag[opt.questionKey] == _this.YES_VALUE) {\n _this.selected = true;\n }\n });\n },\n shortcutKeyHandler(event) {\n var $this = this;\n if ($this.destroyed) {\n return;\n }\n\n var myKeyCode = $this.keyCode || 'NO_KEY_ASSIGNED';\n var pressedKey = event && event.key ? event.key : '';\n\n if (pressedKey.toLowerCase() == myKeyCode.toLowerCase()) {\n //$this.changeHandler(undefined, !this.selected);\n this.setTileSelectionState(!this.selected, true);\n }\n },\n changeHandler($event) {\n //update databag with yes/no\n if ($event) {\n this.setTileSelectionState($event.target.checked, true);\n }\n },\n\n setTileSelectionState(selected, updateOption) {\n this.selected = selected;\n if (updateOption) {\n //if deflipped, clear values\n this.updateTileOptionsSelection(selected);\n }\n //trigger field interaction notification\n this.notifyFieldInteraction();\n },\n\n toggleTileSelection() {\n const _this = this;\n const atleastOneSelected = this.tileOptions.some(opt => _this.dataBag[opt.questionKey] === __WEBPACK_IMPORTED_MODULE_3__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.YES);\n //const allSelected = arrayAll(this.tileOptions, opt => _this.dataBag[opt.questionKey] === Constants.YES_NO_OPTION.YES);\n //const noneSelected = arrayAll(this.tileOptions, opt => _this.dataBag[opt.questionKey] === Constants.YES_NO_OPTION.NO);\n //this.changeHandler(undefined, atleastOneSelected);\n\n this.setTileSelectionState(atleastOneSelected, false);\n },\n\n optionClickHandler(optionQuestionKey) {\n console.log('optionClickHandler', optionQuestionKey);\n var value = this.dataBag[optionQuestionKey] == this.YES_VALUE ? this.NO_VALUE : this.YES_VALUE;\n\n this.setTileOptionValue(optionQuestionKey, value);\n this.toggleTileSelection();\n },\n\n setTileOptionValue(optionQuestionKey, optionValue) {\n var value = optionValue;\n this.dataBag[optionQuestionKey] = value;\n this.saveFieldDataInner(optionQuestionKey); //save answer\n },\n\n updateTileOptionsSelection(tileSelected) {\n const options = this.tileOptions || [];\n const dbag = this.dataBag;\n\n if (!tileSelected) {\n //clear all\n options.forEach(opt => {\n dbag[opt.questionKey] = __WEBPACK_IMPORTED_MODULE_3__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO;\n });\n\n this.saveFieldDataInner(); //save all field\n } else if (tileSelected && options.length === 1) {\n const option = options[0];\n this.setTileOptionValue(option.questionKey, this.YES_VALUE);\n }\n },\n\n saveFieldDataInner(key) {\n var data = {};\n if (key) {\n data = {\n [key]: this.dataBag[key]\n };\n } else {\n data = {};\n const _this = this;\n this.tileOptions.forEach(opt => {\n data[opt.questionKey] = _this.dataBag[opt.questionKey];\n });\n }\n\n this.saveFieldData(data);\n },\n\n getTileOptions() {\n\n console.log('getTileOptions called.');\n const setting = this.questionData.additionalSetting || {};\n const answerOptions = this.questionData.answerOptions;\n const tileOptions = answerOptions.length > 0 ? answerOptions : this.defaultOptions;\n let options = [];\n\n const _this = this;\n const handler = this.optionClickHandler.bind(this);\n\n tileOptions.forEach(tOption => {\n const optionYes = setting[tOption.value] !== undefined ? setting[tOption.value] : true;\n const optionQuestionKey = _this.getOptionQuestionKey(tOption.value);\n const handlerWrapper = evt => {\n handler(optionQuestionKey);\n };\n\n if (optionYes) {\n options.push({\n label: tOption.text,\n key: tOption.value,\n questionKey: optionQuestionKey,\n handler: handlerWrapper\n });\n }\n });\n return options;\n },\n\n getOptionSelectedClass(optionKey) {\n const optionQuestionKey = this.getOptionQuestionKey(optionKey);\n var className = this.dataBag[optionQuestionKey] == this.YES_VALUE ? 'btn-selected' : '';\n return className;\n },\n\n getOptionQuestionKey(optionKey) {\n let questionKey = this.questionData.questionKey + '_' + optionKey;\n return questionKey;\n }\n },\n computed: {\n tileOptions() {\n const options = this.getTileOptions();\n console.log('getTileOptions called.', options);\n return options;\n },\n selectedClass() {\n var className = this.selected ? 'selected' : '';\n return className;\n },\n noOptionSelected() {\n const _this = this;\n const noneSelected = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__Utilities_Utility__[\"c\" /* arrayAll */])(this.tileOptions, opt => _this.dataBag[opt.questionKey] === __WEBPACK_IMPORTED_MODULE_3__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO);\n return noneSelected; //this.dataBag[this.meQuestionKey] == this.NO_VALUE && this.dataBag[this.familyQuestionKey] == this.NO_VALUE;\n },\n keyCode() {\n return this.questionData.keyCode;\n }\n }\n});\n\n/***/ }),\n/* 134 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Application_mixins_ComponentInterfaceMixin__ = __webpack_require__(10);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_3__Application_mixins_ComponentInterfaceMixin__[\"a\" /* ComponentInterfaceMixin */]],\n props: {\n //group collection\n groups: {\n type: Array,\n required: true,\n default: function () {\n return [];\n }\n }\n },\n data: function () {\n return {\n //setup data properties\n virtualPages: [],\n visiblePages: [],\n currentPageIndex: -1,\n experiencePage: {\n key: '',\n transitionName: '',\n renderMode: ''\n }\n };\n },\n mounted() {\n //parse groups and create pages\n console.log('page manager mounted');\n this.init();\n },\n methods: {\n init() {\n //reset this.visiblePages\n this.currentPageIndex = -1, this.visiblePages = [];\n this.createPages();\n this.showNextPage();\n },\n assignGuid(groups) {\n for (var groupIndex = 0; groupIndex < this.groups.length; groupIndex++) {\n var grp = this.groups[groupIndex];\n\n if (grp && !grp.groupKey) {\n grp.groupKey = __WEBPACK_IMPORTED_MODULE_2__Utilities_Utility__[\"a\" /* Utility */].newGuid();\n }\n }\n },\n createPages() {\n //assign unique id to groups\n this.assignGuid(this.groups);\n\n var currentRenderMode = null;\n var currentPage = null;\n this.virtualPages = [];\n\n for (var groupIndex = 0; groupIndex < this.groups.length; groupIndex++) {\n var grpRenderMode = this.groups[groupIndex].renderMode || __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].RENDER_MODE.DEFAULT;\n var grpTransitionName = this.groups[groupIndex].transitionName || 'interview';\n\n if (currentRenderMode != grpRenderMode) {\n currentRenderMode = grpRenderMode;\n //create new page;\n currentPage = {\n renderMode: currentRenderMode,\n transitionName: grpTransitionName,\n groups: [],\n key: __WEBPACK_IMPORTED_MODULE_2__Utilities_Utility__[\"a\" /* Utility */].newGuid()\n //add page to pages\n };this.virtualPages.push(currentPage);\n }\n //add group to current page groups\n if (currentPage) {\n currentPage.groups.push(this.groups[groupIndex]);\n } else {\n console.warn('currentPage is null');\n }\n }\n this.experiencePage = currentPage;\n console.log('this.virtualPages', this.virtualPages.length);\n },\n //groups last field interaction callback handler function\n pageInteractionCompletionCallbackHandler() {\n console.log('page complete');\n this.showNextPage();\n },\n showNextPage() {\n console.log('showNextPage');\n if (this.virtualPages.length > 0 && this.virtualPages.length >= this.currentPageIndex + 1) {\n this.currentPageIndex = this.currentPageIndex + 1;\n var page = this.virtualPages[this.currentPageIndex];\n\n if (page) {\n this.visiblePages.push(page);\n $(\"html, body\").animate({ scrollTop: 0 }, \"slow\");\n $(\".experience-page-container\").attr(\"tabindex\", -1).focus();\n }\n }\n }\n },\n watch: {\n groups(newValue) {\n console.log('page manager watch');\n this.init();\n }\n }\n});\n\n/***/ }),\n/* 135 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Constants__ = __webpack_require__(1);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n //setup mixins\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__[\"a\" /* FormFieldComponentBaseMixin */], __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__[\"a\" /* ViewValidationHelperMixin */]],\n props: {},\n data: function () {\n return {\n //setup data properties\n isRequired: this.getValidatorValue('required'),\n requiredMessage: this.getValidationMessage('requiredMessage'),\n minlength: this.getValidatorValue('minlength'),\n minlengthMessage: this.getValidationMessage('minlengthMessage'),\n maxlength: this.getValidatorValue('maxlength'),\n maxlengthMessage: this.getValidationMessage('maxlengthMessage'),\n pattern: this.getValidatorValue('pattern'),\n patternMessage: this.getValidationMessage('patternMessage'),\n phoneMessage: this.getValidationMessage('phoneMessage') || __WEBPACK_IMPORTED_MODULE_3__Constants__[\"a\" /* Constants */].INVALID_PHONE_MESSAGE,\n maskFormat: this.questionData.maskFormat || '',\n validatedValue: '',\n validating: false\n };\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.questionData.questionKey]) {\n this.$set(this.dataBag, this.questionData.questionKey, '');\n }\n //field has saved value\n else {\n this.initializeFieldView();\n }\n },\n methods: {\n getFieldRef() {\n console.log('PhoneInputView=>getFieldRef');\n return this.$refs.phoneInput;\n },\n validatePhone: function (value) {\n var valid = true;\n\n //validate the pattern\n if (this.questionData.validators && this.questionData.validators.pattern) {\n var validPattern = new RegExp(this.questionData.validators.pattern);\n valid = validPattern.test(value);\n }\n\n //validate the maskFormat\n if (this.questionData.maskFormat) {\n var requiredLength = (this.questionData.maskFormat || '').length;\n var actualLength = (value || '').length;\n valid = actualLength == requiredLength;\n }\n\n if (this.questionData.questionKey == __WEBPACK_IMPORTED_MODULE_3__Constants__[\"a\" /* Constants */].SECONDARY_PHONE_KEY) {\n if (this.dataBag[__WEBPACK_IMPORTED_MODULE_3__Constants__[\"a\" /* Constants */].PRIMARY_PHONE_KEY] == this.dataBag[__WEBPACK_IMPORTED_MODULE_3__Constants__[\"a\" /* Constants */].SECONDARY_PHONE_KEY]) {\n this.phoneMessage = __WEBPACK_IMPORTED_MODULE_3__Constants__[\"a\" /* Constants */].INVALID_ALTERNATEPHONE_MESSAGE;\n valid = false;\n } else if (this.dataBag[__WEBPACK_IMPORTED_MODULE_3__Constants__[\"a\" /* Constants */].SECONDARY_PHONE_KEY] != '') {\n this.phoneMessage = this.getValidationMessage('phoneMessage') || __WEBPACK_IMPORTED_MODULE_3__Constants__[\"a\" /* Constants */].INVALID_PHONE_MESSAGE;\n }\n }\n\n //validate with server only when all other validation is passed;\n if (valid) {\n //logic to prevent multiple validation for same value\n if (this.validatedValue === value) {\n return valid;\n }\n // return true to set input as $valid, false to set as $invalid\n let valPromise = this.validateInputWithServer(value, \"phone\");\n valPromise.then(function (valid) {\n self.validated(value, valid);\n });\n return valPromise;\n }\n //return false if other validation are failed;\n return false;\n },\n validated(value, valid) {\n if (valid) {\n this.validatedValue = value;\n }\n },\n focusHandler() {\n this.applyFocusPlaceholder(this.$refs.phoneInput);\n },\n blurHandler() {\n //trigger field interaction notification\n this.notifyFieldInteraction();\n this.saveFieldData();\n\n this.applyBlurPlaceholder(this.$refs.phoneInput);\n }\n },\n computed: {}\n});\n\n/***/ }),\n/* 136 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_componentTypeNameMapping__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentInterfaceMixin__ = __webpack_require__(10);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentInterfaceMixin__[\"a\" /* ComponentInterfaceMixin */]],\n props: {\n //question definition\n questionData: {\n type: Object,\n required: true\n },\n //databag containing saved data\n dataBag: {\n type: Object,\n required: true\n },\n //form state for validation\n state: {\n type: Object,\n required: true\n },\n questionInteractionCallback: {\n type: Function,\n required: true\n },\n readMode: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n data() {\n return {\n groups: []\n };\n },\n mounted() {\n this.init();\n },\n methods: {\n init() {\n //get already saved value for field from dataBag\n this.groups = this.filterGroups(this.dataBag[this.questionData.question.questionKey]);\n },\n getUpdatedGroup(grp) {\n grp.readMode = this.readMode;\n return grp;\n },\n fieldInteractionCallbackHandler(fieldKey) {\n if (this.questionInteractionCallback) {\n this.questionInteractionCallback(fieldKey);\n };\n },\n answerChangeHandler(newAnswer) {\n this.groups = this.filterGroups(newAnswer);\n },\n filterGroups(newAnswer) {\n var grps = [];\n const $this = this;\n const self = this;\n (this.questionData.groups || []).forEach(function (grp) {\n var grpQuestions = [];\n //assign uniqueKey to group\n __WEBPACK_IMPORTED_MODULE_1__Utilities_Utility__[\"a\" /* Utility */].assignKey(grp);\n\n //first check group level enable condition\n if (self.isLayout || grp.showAlways || (grp.showAlways + '').toLowerCase() == 'true') {\n grps.push(grp);\n //move on to next grp\n return;\n }\n //iterate questions rows\n const rows = grp.questions || [];\n for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) {\n //iterate columns\n const cols = rows[rowIndex];\n for (var colIndex = 0; colIndex < cols.length; colIndex++) {\n const question = cols[colIndex].question;\n if (question) {\n const show = $this.isConditionSatisfied(question.enableCondition, newAnswer);\n //cols[colIndex].hide = !show;\n if (show) {\n grpQuestions.push(question);\n }\n }\n }\n }\n if (grpQuestions.length > 0) {\n grps.push(grp);\n }\n\n var grpComponents = [];\n //iterate components rows\n const components = grp.components || [];\n for (var compIndex = 0; compIndex < components.length; compIndex++) {\n //iterate columns\n const component = components[compIndex];\n if (component) {\n const show = $this.isConditionSatisfied(component.enableCondition, newAnswer);\n //cols[colIndex].hide = !show;\n if (show) {\n grpComponents.push(component);\n } else {\n $this.clearData(component.dataKey);\n }\n }\n }\n if (grpComponents.length > 0) {\n grps.push(grp);\n }\n });\n return grps;\n },\n //function to test conditions whether newvalue meet condtions defined in conditions\n isConditionSatisfied(conditions, newValue) {\n if (newValue == null || newValue == undefined || newValue == \"\" || conditions == null) {\n return false;\n }\n console.log(newValue);\n var notCondition = conditions.trim().indexOf(\"!\") == 0;\n if (notCondition) {\n conditions = conditions.replace(\"!\", \"\");\n }\n var conditionValues = conditions.replace(\"(\", \"\").replace(\")\", \"\").toLowerCase().split(\"|\");\n\n var retValue = false;\n newValue = newValue.toLowerCase();\n if (notCondition) {\n retValue = conditionValues.indexOf(newValue) == -1;\n } else {\n retValue = conditionValues.indexOf(newValue) > -1;\n }\n return retValue;\n },\n clearData(dataKey) {\n var data = this.dataBag[dataKey];\n if (data) {\n console.log(data);\n if (Array.isArray(data)) {\n this.$set(this.dataBag, dataKey, []);\n } else if (typeof data === 'object') {\n this.$set(this.dataBag, dataKey, {});\n } else {\n this.$set(this.dataBag, dataKey, '');\n }\n }\n }\n },\n computed: {\n //get ui component to render field using key\n componentName() {\n return __WEBPACK_IMPORTED_MODULE_0__Shared_componentTypeNameMapping__[\"a\" /* componentTypeNameMapping */][this.questionData.question.type];\n },\n visibleGroups() {\n return this.groups;\n },\n expandedClass() {\n var className = '';\n var expanded = this.groups.length > 0;\n if (expanded) {\n className = this.questionData.question.type + '-reflective-visible';\n }\n return className;\n },\n isLayout() {\n return this.questionData.question.type === 'empty' || this.questionData.question.type === 'content';\n }\n },\n watch: {\n dataBag(newValue) {\n this.init();\n }\n }\n});\n\n/***/ }),\n/* 137 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mixins_SmartFormComponentBaseMixin__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__RendererComponent_vue__ = __webpack_require__(46);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__RendererComponent_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__RendererComponent_vue__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\nconst QUOTE_SCENARIO = {\n COVERAGE: 'COVERAGE',\n SPOUSE: 'SPOUSE',\n CHILDREN: 'CHILDREN',\n ROP_RIDER: 'ROP_RIDER',\n INIT: 'INIT'\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_3__mixins_SmartFormComponentBaseMixin__[\"a\" /* default */]],\n components: {\n 'fieldRenderer': __WEBPACK_IMPORTED_MODULE_4__RendererComponent_vue___default.a\n },\n props: {},\n data: function () {\n return {\n defaultOptions: {\n planFilter: false\n },\n //setup data properties\n componentState: {},\n componentDataBag: {\n paymentFrequency: __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Monthly,\n selectedProductId: 0,\n selectedCompanyId: 0\n },\n\n quotes: {\n Requested: []\n },\n selectedQuote: null,\n validation: {\n key: \"quoteValidationKey\",\n value: ''\n },\n loading: false\n };\n },\n\n mounted() {\n console.log('quote editor mounted');\n this.ensureDataKeyParsing();\n //check if datakey exist in data bag\n //if not create key in data bag\n if (this.dataBag && !this.dataBag[this.dataKeyObject.dataKey]) {\n this.$set(this.dataBag, this.dataKeyObject.dataKey, {});\n }\n this.initializeComponent();\n },\n computed: {\n updatedDataBag() {\n let dbCopy = Object.assign({}, this.dataBag);\n if (this.selectedQuote) {\n this.$set(dbCopy, this.dataKeyObject.dataKey, this.selectedQuote);\n }\n return dbCopy;\n },\n usePlanFilter() {\n return this.dataKeyObject.planFilter !== undefined ? this.dataKeyObject.planFilter : this.planFilter;\n },\n planType() {\n\n var addSpouse = this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].ADD_SPOUSE_COVERAGE_KEY] || __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO;\n var addChildren = this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].ADD_CHILDREN_COVERAGE_KEY] || __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO;\n return __WEBPACK_IMPORTED_MODULE_0__Utilities_Utility__[\"a\" /* Utility */].getAddPlanType(addSpouse, addChildren);\n },\n\n paymentFrequency() {\n return this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].QUOTE_PAYMENT_FREQUENCY_KEY] || __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Monthly;\n },\n fields() {\n let items = (this.formSchema || {}).fields || [];\n if (this.editMode) {\n return items.filter(f => f.name !== __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].COVERAGE_AMOUNT_KEY);\n }\n return items;\n }\n },\n watch: {},\n methods: {\n initializeComponent() {\n this.loadFormSchema();\n var self = this;\n\n this.$nextTick(function () {\n Object.assign(self.componentDataBag, self.dataBag[self.dataKeyObject.dataKey]);\n //update component databag with COVERAGE_AMOUNT\n self.$set(self.componentDataBag, __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].COVERAGE_AMOUNT_KEY, self.dataBag[__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].COVERAGE_AMOUNT_KEY]);\n //self.updateQuote(QUOTE_SCENARIO.INIT);\n });\n },\n\n saveHandler(data) {\n console.log('saveHandler', data);\n const self = this;\n if (data.valid && data.formData) {\n self.updateDatabag(data.formData, self.dataBag, self.formSchema.dataFields);\n self.updateDatabag(data.formData, self.componentDataBag, self.formSchema.dataFields);\n //request quote\n self.updateQuote(QUOTE_SCENARIO.COVERAGE);\n }\n },\n cancelHandler() {\n this.editCallback(false);\n },\n\n updateQuote(quoteReason) {\n const self = this;\n this.getQuoteData(quoteReason, quotes => {\n if (quotes && quotes.length > 0) {\n self.selectQuote(quotes[0]);\n }\n });\n },\n\n updateDatabag(source, target, fields) {\n const self = this;\n (fields || []).forEach(f => {\n self.$set(target, f, source[f]);\n });\n },\n\n selectQuote(quote) {\n console.log('onSelect');\n //quote.ProductId,quote.CompanyId\n this.componentDataBag.selectedProductId = quote.ProductId;\n this.componentDataBag.selectedCompanyId = quote.CompanyId;\n this.componentDataBag.selectedQuoteId = quote.Id;\n this.componentDataBag.CarrierName = quote.CarrierName;\n this.componentDataBag[__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].PAYMENT_AMOUNT_KEY] = quote.premiumAmount;\n\n var dataCopy = {};\n dataCopy = Object.assign(dataCopy, this.componentDataBag, quote);\n this.$set(this.dataBag, this.dataKeyObject.dataKey, dataCopy);\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].COMPANYID_KEY, quote.CompanyId);\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].PRODUCT_ID_KEY, quote.ProductId);\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].PLAN_TYPE_KEY, this.planType);\n if (quote.ProductType != '' && quote.ProductType != null) {\n //update selected product type in databag\n this.$set(this.dataBag, __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].PRODUCT_TYPE_KEY, quote.ProductType);\n }\n\n console.log('selected quote', dataCopy);\n\n this.selectedQuote = quote;\n this.editCallback(false);\n },\n getQuoteData(quoteReason, callback) {\n console.log('getQuoteData');\n var self = this;\n var inputData = {\n //always get coverageAmount from dataBag.\n coverageAmount: this.dataBag[__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].COVERAGE_AMOUNT_KEY]\n //check if quote already present\n\n };if (!this.quoteAvailaleInLocal(inputData, quoteReason)) {\n this.loading = true;\n //reset quote collection\n this.quotes.Requested = [];\n __WEBPACK_IMPORTED_MODULE_2__Application_services_HttpCommunicationService__[\"a\" /* default */].getAddQuote(inputData, function (responseData) {\n self.loading = false;\n if (responseData && responseData.length > 0) {\n console.log(responseData);\n self.quotes.Requested = self.processQuoteData(responseData);\n callback(self.quotes.Requested);\n }\n }, function (error) {\n self.loading = false;\n console.log(error);\n });\n }\n },\n quoteAvailaleInLocal(quoteRequest, quoteReason) {\n var result = false;\n //check for quote for children, individual, individual + children\n //always get quote for spouse as for spouse quote depend on dob\n if (quoteReason == QUOTE_SCENARIO.COVERAGE || quoteReason == QUOTE_SCENARIO.ROP_RIDER || quoteReason == QUOTE_SCENARIO.SPOUSE && quoteRequest.addSpouse) {\n //get fresh quote\n result = false;\n } else if (this.quotes.Requested && this.quotes.Requested.length > 0) {\n var spouse = quoteRequest.addSpouse ? __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].YES_NO_OPTION.YES : __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO;\n var children = quoteRequest.addChildren ? __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].YES_NO_OPTION.YES : __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO;\n\n var plan = __WEBPACK_IMPORTED_MODULE_0__Utilities_Utility__[\"a\" /* Utility */].getAddPlanType(spouse, children).toLowerCase();\n result = (this.quotes.Requested.filter(q => (q.planType || '').toLowerCase() == plan) || []).length > 0;\n }\n return result;\n },\n processQuoteData(responseData) {\n var $this = this;\n var quoteData = responseData || [];\n\n //sort\n quoteData.sort(function (a, b) {\n if ($this.paymentFrequency == __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Monthly) {\n return Number(a.Monthly) - Number(b.Monthly);\n } else if ($this.paymentFrequency == __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Quarterly) {\n return Number(a.Quarterly) - Number(b.Quarterly);\n } else if ($this.paymentFrequency == __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.SemiAnnual) {\n return Number(a.Semi) - Number(b.Semi);\n } else if ($this.paymentFrequency == __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Annual) {\n return Number(a.Annual) - Number(b.Annual);\n }\n });\n //assign premium\n quoteData.forEach((x, i) => {\n if (this.paymentFrequency == __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Monthly) {\n x.premiumAmount = Number(x.Monthly).toFixed(2);\n } else if (this.paymentFrequency == __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Quarterly) {\n x.premiumAmount = Number(x.Quarterly).toFixed(2);\n } else if (this.paymentFrequency == __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.SemiAnnual) {\n x.premiumAmount = Number(x.Semi).toFixed(2);\n } else if (this.paymentFrequency == __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].PAYMENT_FREQUENCY.Annual) {\n x.premiumAmount = Number(x.Annual).toFixed(2);\n }\n //calculate plan type\n x.planType = __WEBPACK_IMPORTED_MODULE_0__Utilities_Utility__[\"a\" /* Utility */].calculatePlanTypeValue(x.planType || 'individual');\n });\n return quoteData;\n }\n }\n});\n\n/***/ }),\n/* 138 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__ = __webpack_require__(7);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__[\"a\" /* FormFieldComponentBaseMixin */], __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__[\"a\" /* ViewValidationHelperMixin */]],\n props: {\n answerChange: {\n type: Function,\n required: true\n }\n },\n data: function () {\n return {\n //setup data properties\n isRequired: this.getValidatorValue('required'),\n requiredMessage: this.getValidationMessage('requiredMessage'),\n defaultValue: 'No'\n };\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.questionData.questionKey]) {\n this.$set(this.dataBag, this.questionData.questionKey, '');\n } //field has saved value\n else {\n this.initializeFieldView();\n if (this.answerChange) {\n this.answerChange(this.dataBag[this.questionData.questionKey]);\n }\n }\n },\n computed: {\n options() {\n //clone array\n var opts = (this.questionData.answerOptions || []).slice(0);\n return opts;\n }\n },\n methods: {\n getOptionCssClass(option) {\n var cssClass = option.iconClass ? option.iconClass : '';\n if (option.disabled) {\n cssClass = cssClass + ' disabled';\n }\n return cssClass;\n },\n getFieldRef() {\n console.log('radio=>getFieldRef', this.$refs.radioInput);\n return this.$refs.radioInput;\n },\n changeHandler() {\n var $this = this;\n if (this.questionData.showValueChangeAlert) {\n\n this.alertValueChange(function () {\n $this.processChange();\n });\n } else {\n this.processChange();\n }\n },\n processChange() {\n //call answerChange if callback is not null\n if (this.answerChange) {\n this.answerChange(this.dataBag[this.questionData.questionKey]);\n }\n //trigger field interaction notification\n this.notifyFieldInteraction();\n this.saveFieldData();\n this.broadCastAnswerChange({\n questionKey: this.questionData.questionKey,\n answer: this.dataBag[this.questionData.questionKey]\n });\n }\n }\n\n});\n\n/***/ }),\n/* 139 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_FormFieldComponentBaseMixin__ = __webpack_require__(7);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n //setup mixins\n mixins: [__WEBPACK_IMPORTED_MODULE_0__mixins_FormFieldComponentBaseMixin__[\"a\" /* FormFieldComponentBaseMixin */]],\n computed: {\n readViewLabelCss() {\n return (this.questionData.AdditionalSetting || {}).readViewLabelCss;\n },\n readViewValueCss() {\n return (this.questionData.AdditionalSetting || {}).readViewValueCss;\n }\n }\n});\n\n/***/ }),\n/* 140 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__ = __webpack_require__(2);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n dataBag: {\n type: Object,\n required: true\n },\n fields: {\n type: Array,\n required: true\n }\n },\n\n computed: {\n innerFields() {\n return this.fields || [];\n }\n },\n\n methods: {\n getValue(value, format) {\n if (this.dataBag === undefined || value === undefined) {\n return '';\n }\n let result = __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__[\"a\" /* Utility */].replacePlaceholders(value, this.dataBag, '#');\n if (result && format && __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__[\"a\" /* Utility */][format]) {\n result = __WEBPACK_IMPORTED_MODULE_0__Shared_Utilities_Utility__[\"a\" /* Utility */][format](result);\n }\n return result;\n }\n\n }\n});\n\n/***/ }),\n/* 141 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Utilities_routeUtil__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__services_userConfirmation__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Utilities_Utility__ = __webpack_require__(2);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {\n pageId: String\n },\n data() {\n return {\n loading: true,\n lastPage: '',\n pageMetadata: {\n pageHead: '',\n pageSubHead: ''\n },\n navigation: {\n otherNavigations: []\n },\n forms: [],\n componentDataBag: {},\n formOptions: {\n cancelButton: { show: false },\n submitButton: { label: 'Continue' }\n }\n };\n },\n mounted() {\n const $this = this;\n //load page metadata and then pageloaded events\n const request = {\n pageId: this.pageId,\n onlyMetadata: false\n };\n $this.loading = true;\n\n __WEBPACK_IMPORTED_MODULE_3__Application_services_HttpCommunicationService__[\"a\" /* default */].getPageData(request,\n //success\n function (data) {\n if (data && data.pageSchema && data && data.pageSchema.pageMetadata) {\n $this.pageMetadata = data.pageSchema.pageMetadata;\n $this.navigation = data.pageSchema.navigation;\n $this.forms = data.pageSchema.forms;\n $this.lastPage = data.dataBag[__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].PAGE_ID_KEY];\n $this.broadCastPageLoaded(data.pageSchema.pageMetadata.pageTitle);\n }\n $this.loading = false;\n },\n //failed\n function () {});\n },\n methods: {\n\n getNavigationConfigKey(noChangeInHealth) {\n return noChangeInHealth ? 'healthNotChanged' : 'healthChanged';\n },\n\n continueHandler(data) {\n if (data.valid) {\n this.processAnswers(data.formData);\n }\n },\n\n processAnswers(formData) {\n var noChangeSinceLast = true;\n formData = formData || {};\n\n //verify all question are answered 'NO'\n Object.keys(formData).forEach(key => {\n noChangeSinceLast = noChangeSinceLast && formData[key] === __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO;\n });\n\n //update local setting to mark that user has confirmed\n __WEBPACK_IMPORTED_MODULE_5__services_userConfirmation__[\"a\" /* default */].setConfirmed();\n\n this.loading = true;\n\n //get navigation setting\n const navigationConfigKey = this.getNavigationConfigKey(noChangeSinceLast);\n\n const navigationSetting = (this.navigation.otherNavigations || []).find(config => {\n console.log('config', config);\n return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__Utilities_Utility__[\"d\" /* toLowerCase */])(config.key) === __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__Utilities_Utility__[\"d\" /* toLowerCase */])(navigationConfigKey);\n });\n\n if (navigationSetting) {\n const nextpage = navigationSetting.useLastSaved ? this.lastPage : navigationSetting.value;\n\n console.log('navigating to page: ', nextpage);\n __WEBPACK_IMPORTED_MODULE_4__Utilities_routeUtil__[\"a\" /* default */].navigateToPage(this.$router, nextpage);\n }\n },\n\n broadCastPageLoaded(pageTitle) {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.PAGE_LOADED, {\n title: pageTitle,\n routePath: this.$router.currentRoute.path\n });\n }\n }\n});\n\n/***/ }),\n/* 142 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n content: {\n required: true,\n validator: prop => typeof prop === 'string' || prop == null\n },\n showLoadingText: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n computed: {\n displayContent() {\n return !this.content && this.showLoadingText ? 'Loading...' : this.content;\n },\n showContainer() {\n const text = this.displayContent;\n return !(text == null || text == '' || text == undefined);\n }\n }\n});\n\n/***/ }),\n/* 143 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__ = __webpack_require__(7);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n //setup mixins\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__[\"a\" /* FormFieldComponentBaseMixin */], __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__[\"a\" /* ViewValidationHelperMixin */]],\n props: {},\n data: function () {\n return {\n //setup data properties\n value: '',\n isRequired: this.getValidatorValue('required'),\n minlength: this.getValidatorValue('minlength'),\n maxlength: this.getValidatorValue('maxlength'),\n pattern: this.getAnyPattern(),\n requiredMessage: this.getValidationMessage('requiredMessage'),\n minlengthMessage: this.getValidationMessage('minlengthMessage'),\n maxlengthMessage: this.getValidationMessage('maxlengthMessage'),\n patternMessage: this.getValidationMessage('patternMessage'),\n maskFormat: '###-##-####',\n maskCharacter: this.questionData.maskCharacter || 'X',\n maskPattern: '^[a-zA-Z]{3}-[a-zA-Z]{2}-[0-9]{4}$',\n ssnMasked: true,\n defautMaskedValue: 'XXX-XX-XXXX'\n //buttonTitle: 'Unmask SSN'\n };\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.questionData.questionKey]) {\n this.$set(this.dataBag, this.questionData.questionKey, '');\n } //field has saved value\n else {\n this.maskFieldValue();\n }\n this.setRequired();\n },\n computed: {\n buttonTitle() {\n return this.ssnMasked ? 'Unmask SSN' : 'Mask SSN';\n },\n hasValueOnServer() {\n var captured = this.dataBag[this.questionData.questionKey + '_captured'];\n return captured ? captured == '1' : this.originalValue === this.defautMaskedValue;\n }\n },\n methods: {\n setRequired() {\n this.isRequired = this.getValidatorValue('required') && !this.hasValueOnServer;\n },\n setContextualPattern() {\n this.pattern = this.hasValueOnServer && !this.hasValueChanged() ? this.getAnyPattern() : this.maskPattern;\n },\n getFieldRef() {\n //console.log('SSNInputView=>getFieldRef');\n return this.$refs.ssnInput;\n },\n saveToDatabag(value) {\n if (value != '') {\n this.$set(this.dataBag, this.questionData.questionKey, value);\n }\n },\n maskFieldValue() {\n var ssn = this.dataBag[this.questionData.questionKey];\n if (ssn != '') {\n this.maskFormat = 'XXX-XX-XXXX';\n this.setContextualPattern();\n this.value = this.getMaskedString(this.maskCharacter, 3) + '-' + this.getMaskedString(this.maskCharacter, 2) + '-' + ssn.substring(ssn.length - 4);\n this.ssnMasked = true;\n }\n },\n unmaskFieldValue() {\n this.pattern = this.getValidatorValue('pattern');\n this.value = this.dataBag[this.questionData.questionKey];\n this.ssnMasked = false;\n },\n getMaskedString(character, count) {\n var val = '';\n for (var index = 0; index < count; index++) {\n val = val + character;\n }\n return val;\n },\n blurHandler() {\n if (this.value == '') {\n this.maskFieldValue();\n } else {\n if (this.fieldStateValid()) {\n this.saveToDatabag(this.value);\n }\n //trigger field interaction notification\n this.notifyFieldInteraction();\n this.saveFieldData();\n if (this.questionData.maskAlways) {\n this.maskFieldValue();\n }\n }\n this.applyBlurPlaceholder(this.$refs.ssnInput);\n const me = this;\n window.setTimeout(function () {\n me.triggerFloatingLabelVisibility();\n }, 100);\n },\n focusHandler() {\n this.maskFormat = '###-##-####';\n this.pattern = this.getAnyPattern(); //this.getValidatorValue('pattern');\n //this.isRequired = false;\n this.value = '';\n\n this.applyFocusPlaceholder(this.$refs.ssnInput);\n },\n keypressHandler($evt) {\n //console.log('keypressHandler', $evt);\n this.pattern = this.getValidatorValue('pattern');\n },\n ssnMaskToggleHandler() {\n this.ssnMasked = !this.ssnMasked;\n if (this.ssnMasked) {\n this.maskFieldValue();\n } else {\n this.unmaskFieldValue();\n }\n }\n }\n});\n\n/***/ }),\n/* 144 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue_select__ = __webpack_require__(326);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue_select___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_vue_select__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n components: { vSelect: __WEBPACK_IMPORTED_MODULE_3_vue_select___default.a },\n //setup mixins\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__[\"a\" /* FormFieldComponentBaseMixin */], __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__[\"a\" /* ViewValidationHelperMixin */]],\n props: {\n //answer change notification callback\n answerChange: {\n type: Function,\n required: true\n }\n },\n data: function () {\n return {\n //setup data properties\n isRequired: this.getValidatorValue('required'),\n requiredMessage: this.getValidationMessage('requiredMessage'),\n options: [],\n allOptions: [],\n placeholdertext: 'Type to search',\n fValue: ''\n };\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.questionData.questionKey]) {\n this.$set(this.dataBag, this.questionData.questionKey, '');\n if (this.isNotEmpty(this.questionData.text)) {\n this.placeholdertext = this.questionData.text;\n }\n } //field has saved value\n else {\n this.applySelectedStyle();\n\n this.initializeFieldView();\n if (this.answerChange) {\n this.answerChange(this.dataBag[this.questionData.questionKey]);\n }\n }\n this.options = this.getOptions();\n this.allOptions = (this.options || []).map(x => x) || [];\n },\n computed: {\n\n optionLabelField() {\n return this.questionData.optionLabelField || \"text\";\n },\n optionDataField() {\n return this.questionData.optionDataField || \"value\";\n }\n },\n methods: {\n getFieldRef() {\n console.log('Seachable-list=>getFieldRef');\n return this.$refs.hid;\n },\n getOptions() {\n //clone array\n var opts = [];\n if (this.questionData.answerOptionsFunction) {\n var fn = __WEBPACK_IMPORTED_MODULE_2__Constants__[\"a\" /* Constants */][this.questionData.answerOptionsFunction];\n if (fn && typeof fn === \"function\") {\n //call dataListFunction\n opts = fn();\n }\n } else if (this.questionData.answerOptions) {\n opts = (this.questionData.answerOptions || []).slice(0);\n }\n //opts.unshift({ text: text, value: '', group:'' });\n this.applyExcludeOptions(opts);\n return opts;\n },\n applyExcludeOptions(options) {\n if (!options || !Array.isArray(options) || options.length == 0) {\n return;\n }\n let excludeOptions = this.questionData.excludeOptions || [];\n if (excludeOptions && excludeOptions.length > 0) {\n excludeOptions.forEach(optVal => {\n let foundIndex = options.findIndex(o => o.value == optVal);\n if (foundIndex > -1) {\n //delete item at index\n options.splice(foundIndex, 1);\n }\n });\n }\n },\n\n searchOptions(searchText, loading) {\n\n var searchFn = this.questionData.searchFunction;\n if (!searchFn || typeof searchFn != 'function') {\n searchFn = this.defaultSearchFn;\n }\n\n if (searchFn && typeof searchFn == 'function') {\n loading(true);\n searchFn(searchText, data => {\n if (data && Array.isArray(data)) {\n this.options = data;\n }\n loading(false);\n });\n }\n },\n\n defaultSearchFn(searchText, callback) {\n var list = [];\n this.allOptions.forEach(function (item) {\n if (item.text.toUpperCase().startsWith(searchText.toUpperCase())) {\n list.push({ value: item.value, text: item.text || item.name });\n }\n });\n console.log('data search ', searchText, list);\n callback(list);\n },\n\n reduce(option) {\n var val = '';\n if (option) {\n val = option[this.optionDataField];\n }\n //console.log('reduce', option, val);\n return val;\n },\n\n changeHandler(selectedValue) {\n selectedValue = selectedValue || '';\n this.applySelectedStyle();\n\n //call answerChange if callback is not null\n if (this.answerChange) {\n this.answerChange(this.dataBag[this.questionData.questionKey]);\n }\n //trigger field interaction notification\n this.notifyFieldInteraction();\n this.saveFieldData();\n },\n searchBlurHandler() {\n this.touchField();\n this.applySelectedStyle();\n //console.log('search:blur', this.dataBag[this.questionData.questionKey], this.state);\n },\n\n applySelectedStyle() {\n const p = $('.floating-label-control');\n if (this.dataBag[this.questionData.questionKey]) {\n p.addClass(\"focused\");\n } else {\n p.removeClass(\"focused\");\n }\n }\n }\n});\n\n/***/ }),\n/* 145 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_ViewValidationHelperMixin__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins_FormFieldComponentBaseMixin__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Shared_Constants__ = __webpack_require__(1);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n //setup mixins\n mixins: [__WEBPACK_IMPORTED_MODULE_2__mixins_FormFieldComponentBaseMixin__[\"a\" /* FormFieldComponentBaseMixin */], __WEBPACK_IMPORTED_MODULE_1__mixins_ViewValidationHelperMixin__[\"a\" /* ViewValidationHelperMixin */]],\n props: {},\n data: function () {\n return {\n //setup data properties\n isRequired: this.getValidatorValue('required'),\n requiredMessage: this.getValidationMessage('requiredMessage'),\n YES_VALUE: __WEBPACK_IMPORTED_MODULE_3__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.YES,\n NO_VALUE: __WEBPACK_IMPORTED_MODULE_3__Shared_Constants__[\"a\" /* Constants */].YES_NO_OPTION.NO,\n destroyed: false\n };\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.questionData.questionKey]) {\n this.$set(this.dataBag, this.questionData.questionKey, this.NO_VALUE);\n } else {\n this.initializeFieldView();\n }\n if (this.keyCode) {\n var element = $(\"#\" + this.questionData.questionKey);\n console.log(\"binded \", element);\n $(document).on(\"keypress\", element, this.shortcutKeyHandler);\n }\n },\n destroyed() {\n this.destroyed = true;\n if (this.keyCode) {\n var element = $(\"#\" + this.questionData.questionKey);\n console.log(\"destroyed \", element);\n $(document).off(\"keypress\", element, this.shortcutKeyHandler);\n }\n },\n methods: {\n shortcutKeyHandler(event) {\n var $this = this;\n if ($this.destroyed) {\n return;\n }\n console.log(\"bindKeyPressHandler \" + $this.questionData.questionKey);\n var myKeyCode = $this.keyCode || 'NO_KEY_ASSIGNED';\n var pressedKey = event && event.key ? event.key : '';\n\n if (pressedKey.toLowerCase() == myKeyCode.toLowerCase()) {\n $this.changeHandler();\n }\n },\n changeHandler($event) {\n var val = '';\n if ($event) {\n //update databag with yes/no\n val = $event.target.checked ? this.YES_VALUE : this.NO_VALUE;\n } else {\n val = this.dataBag[this.questionData.questionKey];\n val = val == this.YES_VALUE ? this.NO_VALUE : this.YES_VALUE;\n }\n this.$set(this.dataBag, this.questionData.questionKey, val);\n\n //trigger field interaction notification\n this.notifyFieldInteraction();\n this.saveFieldData();\n }\n },\n computed: {\n selectedClass() {\n var selected = this.dataBag[this.questionData.questionKey] == this.YES_VALUE;\n var className = selected ? 'selected' : '';\n return className;\n },\n keyCode() {\n return this.questionData.keyCode;\n }\n }\n});\n\n/***/ }),\n/* 146 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n dataBag: Object,\n //form state for validation\n state: {\n type: Object,\n required: true\n },\n dataKey: String,\n sliderTitle: {\n type: String,\n required: true\n },\n dataArray: {\n type: Array,\n required: true\n },\n validationMessage: {\n type: String\n }\n },\n computed: {\n isItemSelected() {\n return this.dataBag[this.dataKey] != \"\";\n }\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.dataKey]) {\n this.$set(this.dataBag, this.dataKey, '');\n }\n },\n methods: {\n onSliderItemSelect(val) {\n this.$set(this.dataBag, this.dataKey, val);\n },\n isSliderItemSelected(val) {\n var flag = false;\n if (!this.dataBag[this.dataKey]) {\n this.$set(this.dataBag, this.dataKey, \"\");\n return false;\n } else {\n return val == this.dataBag[this.dataKey];\n }\n },\n isSliderGroupActive(key) {\n var activeKey = 1;\n var flag = false;\n if (!this.dataBag[this.dataKey]) {\n return key == 1 ? true : false;\n } else {\n var data = this.dataArray;\n var val = parseInt(this.dataBag[this.dataKey]);\n data.forEach((dataItem, i) => {\n dataItem.forEach((subItem, j) => {\n if (val == subItem.value) {\n activeKey = i;\n flag = true;\n return !flag;\n }\n });\n return !flag;\n });\n }\n return key == activeKey;\n }\n }\n});\n\n/***/ }),\n/* 147 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Application_services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vue__ = __webpack_require__(5);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\nconst DEFAULT_FORMK_KEY = 'address_form';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {\n dataKey: {\n type: [String, Object],\n required: false\n }\n },\n data: function () {\n return {\n defaultOptions: {\n formKey: DEFAULT_FORMK_KEY\n },\n nextValCompleted: false,\n componentState: {},\n componentDataBag: {},\n addressQuestionGroups: [],\n originalAddress: {},\n showPopup: true,\n showRequoteAlert: false,\n internalDataKey: '',\n componentAddressFieldPrefix: '_component_address',\n componentAddressQuestionGroups: [],\n showAddressPopup: false,\n addressTitle: '',\n validationAttempts: 0,\n defaultMaxValidationAttempts: 3,\n maxValidationAttempts: 3,\n addressModalPopupId: 'addressModalpopup',\n readOnly: false,\n addressModelPopupDialog: null,\n formSchema: undefined\n };\n },\n created() {\n console.log('AddressComponent:created');\n this.ensureDataKey();\n this.addressModalPopupId = this.addressModalPopupId + \"_\" + this.internalDataKey;\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n //if (!this.dataBag[this.dataKey]) {\n // this.$set(this.dataBag, this.dataKey, this.componentDataBag)\n //}\n console.log('AddressComponent:mounted');\n this.ensureDataKey();\n\n this.originalAddress = {\n \"Address1\": this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY],\n \"Address2\": this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY],\n \"City\": this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY],\n \"State\": this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY],\n \"PostalCode\": this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY]\n };\n this.addressQuestionGroups = this.getMainAddressGroups();\n this.componentAddressQuestionGroups = this.getComponentAddressGroups();\n const self = this;\n setTimeout(function () {\n self.bindAutoComplete();\n }, 2000);\n },\n computed: {\n validationRetryNeeded() {\n return this.validationAttempts < this.maxValidationAttempts;\n },\n validationCount() {\n return this.validationAttempts;\n }\n },\n destroyed() {\n console.log('AddressComponent:destroyed');\n },\n methods: {\n tryGetFormSchema(keyPrefix) {\n this.ensureDataKey();\n return this.getFormSchema(this.dataKeyObject.formKey, keyPrefix);\n },\n getUpdatedGroup(grp) {\n grp.readMode = this.readMode;\n console.log('AddressComponent:getUpdatedGroup', grp);\n return grp;\n },\n assignTabIndex(question) {\n const tabIndex = this.dataKeyObject.readonly ? -1 : 0;\n if (tabIndex < 0) {\n question.tabIndex = tabIndex;\n }\n return question;\n },\n //dont remove it;\n dummyHandler() {},\n getMainAddressGroups() {\n\n var schema = this.tryGetFormSchema(this.internalDataKey);\n const tabIndex = this.dataKeyObject.readonly ? -1 : 0;\n if (tabIndex < 0) {\n this.setQuestionProperties(schema.groups, { tabIndex: tabIndex, readOnly: this.readOnly });\n }\n return schema.groups;\n },\n getComponentAddressGroups() {\n var schema = this.tryGetFormSchema(this.internalDataKey + this.componentAddressFieldPrefix);\n this.setQuestionProperties(schema.groups, { readOnly: this.readOnly });\n return schema.groups;\n },\n broadCastNavigateNext(evtData) {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENTS.NAVIGATE_NEXT_FEEDBACK, __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENT_DATA.NOT_NAVIGATED, evtData);\n },\n ensureDataKey() {\n //call component base parsing method\n this.ensureDataKeyParsing();\n\n this.showRequoteAlert = this.dataKeyObject.showRequoteAlert;\n this.internalDataKey = this.dataKeyObject.addressKey || this.dataKeyObject.dataKey;\n this.addressTitle = this.dataKeyObject.addressTitle || '';\n this.maxValidationAttempts = this.dataKeyObject.maxValidationAttempts || this.defaultMaxValidationAttempts;\n this.readOnly = this.dataKeyObject.readOnly;\n\n console.log('ensureDataKey', this.internalDataKey);\n },\n bindAutoComplete() {\n var $this = this;\n var NoResultsLabel = \"Enter more information to narrow down your search\";\n this.ensureDataKey();\n $(\"#\" + $this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY).autocomplete({\n source: function (request, response) {\n\n var adds1 = $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY];\n __WEBPACK_IMPORTED_MODULE_2__Application_services_HttpCommunicationService__[\"a\" /* default */].AutoAddress(adds1, function (data) {\n\n var array = $.map(data, function (m) {\n var add2 = typeof m.address2 !== \"undefined\" && m.address2 !== null && m.address2 != \"\" ? \", \" + m.address2 : \"\";\n\n return {\n label: m.address + add2 + \", \" + m.city + \", \" + m.state + \", \" + m.postalCode,\n value: m.address,\n address: m\n };\n });\n\n if (!array.length) {\n array = [NoResultsLabel];\n }\n return response(array);\n }, function () {});\n },\n select: function (event, ui) {\n if (ui.item.label === NoResultsLabel) {\n event.preventDefault();\n } else {\n $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY] = ui.item.address.address;\n $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY] = ui.item.address.address2;\n $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY] = ui.item.address.city;\n $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY] = ui.item.address.state;\n $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY] = ui.item.address.postalCode;\n $this.alertStateChange();\n\n // var placeholderAddress2 = $this.internalDataKey + Constants.ADDRESS_FIELDS.ADDRESS2_KEY;\n var placeholderCity = $this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY;\n var placeholderState = $this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY;\n var placeholderZip = $this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY;\n\n function addPlaceholder(e) {\n var $thisId = e;\n $('#' + $thisId).parent().addClass(\"focused\");\n }\n\n addPlaceholder(placeholderCity);\n addPlaceholder(placeholderState);\n addPlaceholder(placeholderZip);\n }\n },\n focus: function (event, ui) {\n if (ui.item.label === NoResultsLabel) {\n event.preventDefault();\n }\n },\n minLength: 3\n });\n },\n\n addressValidationAttempted() {\n this.validationAttempts = this.validationAttempts + 1;\n console.log('Validation Attempt No: ' + this.validationAttempts);\n },\n fieldInteractionCallbackHandler(questionKey) {\n\n const mainAddressStateKey = this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY;\n console.log('Smart address:fieldInteractionCallbackHandler', questionKey, mainAddressStateKey);\n if (questionKey === mainAddressStateKey) {\n this.stateChangeHandler();\n }\n },\n stateChangeHandler() {\n this.alertStateChange();\n },\n alertStateChange(callbackFnToExecuteInsteadOfNavigateNext) {\n var $this = this;\n //show alert popup to inform that quote may change\n var state = $this.originalAddress.State;\n var newState = $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY];\n\n var alert = state && newState && state != newState;\n\n if (this.showRequoteAlert && alert) {\n var msg = __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].STATE_CHANGE_MESSAGE;\n __WEBPACK_IMPORTED_MODULE_3__Application_services_dialogService__[\"a\" /* default */].confirmAdvanced(msg, function (result) {\n //when cancel, revert value to original\n if (!result) {\n __WEBPACK_IMPORTED_MODULE_4_vue__[\"a\" /* default */].nextTick(function () {\n $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY] = state;\n });\n } else {\n if (callbackFnToExecuteInsteadOfNavigateNext) {\n callbackFnToExecuteInsteadOfNavigateNext();\n } else {\n var evtData = {};\n //intruct not do validation and do submission for requote\n evtData[__WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].NAVIGATION_EVENT_DATA.SUPPRESS_VALIDATION_ON_NEXT] = $this.validateOnNext;\n $this.broadCastNavigateNext(evtData);\n }\n }\n }, \"Continue\");\n return true;\n } else {\n return false;\n }\n },\n copyAddressData(sourceObject, targetObject) {\n //copy source property->source, prefix->sourcePrefix\n let { source: source, prefix: sourcePrefix } = sourceObject;\n //copy source property->target, prefix->targetPrefix\n var { source: target, prefix: targetPrefix } = targetObject;\n\n target[targetPrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY] = source[sourcePrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY];\n target[targetPrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY] = source[sourcePrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY];\n target[targetPrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY] = source[sourcePrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY];\n target[targetPrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY] = source[sourcePrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY];\n target[targetPrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY] = source[sourcePrefix + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY];\n },\n validateAddress(completionCallback, label) {\n console.log('validateAddress: ' + label);\n //if completionCallback is null or nt defined then use dummy fn to avoid null reference;\n completionCallback = completionCallback || function (data) {};\n\n var valid = this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY] != '' && this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY] != '' && this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY] != '' && this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY] != '';\n console.log('Address form has values ' + valid);\n\n var $this = this;\n const self = this;\n //validate with server only when all other validation is passed;\n if (valid && $this.showPopup) {\n $this.showPopup = false;\n\n var isValidated = $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.IS_VALIDATED_KEY] === 'true';\n console.log('Is ' + $this.internalDataKey + ' Address Validated - ' + isValidated);\n //validate if either its not validated yet or address is modified\n const needValidation = !isValidated || !$this.isAddressNotModified();\n\n if (needValidation) {\n //copy address data from main databag to component/popup form databag\n $this.copyAddressData({ source: $this.dataBag, prefix: $this.internalDataKey }, { source: $this.componentDataBag, prefix: $this.internalDataKey + $this.componentAddressFieldPrefix });\n //set flag to show popup\n $this.showAddressPopup = true;\n var data = {\n \"address\": [{\n \"address1\": $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY],\n \"address2\": $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY],\n \"city\": $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY],\n \"state\": $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY],\n \"zipCode\": $this.dataBag[$this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY],\n \"country\": \"US\"\n }]\n };\n //show wait dialog\n var title = $this.addressTitle || 'Address';\n var waitDialog = __WEBPACK_IMPORTED_MODULE_3__Application_services_dialogService__[\"a\" /* default */].showWaitDialog(title + ' validation is in progress.');\n console.log(title + ' validation is in progress.');\n\n __WEBPACK_IMPORTED_MODULE_2__Application_services_HttpCommunicationService__[\"a\" /* default */].validateAddress(data,\n //httpService.validateAddress - success callback\n function (addressValid) {\n //update that validation is attempted\n self.addressValidationAttempted();\n waitDialog.modal('hide');\n console.log('Address valid:' + addressValid);\n //validation failed\n if (!addressValid && self.validationRetryNeeded) {\n //or give more chance for validation\n self.openAddressPopup(function (result) {\n //stop if form is invalid\n if ($this.componentState.$invalid) {\n return false;\n }\n //reset to true\n $this.showPopup = true;\n //copy data to main databag\n $this.copyAddressData({ source: $this.componentDataBag, prefix: $this.internalDataKey + $this.componentAddressFieldPrefix }, { source: $this.dataBag, prefix: $this.internalDataKey });\n //check for state change, if state is not changed then false will be returned\n var showingAlert = $this.alertStateChange(function () {\n completionCallback({ valid: true });\n });\n //if need state change alert, then close address popup and\n //dont call completionCallback to stop submission\n if (showingAlert) {\n //return true to close address popup\n return true;\n }\n //clear validation states\n self.clearFormState();\n\n //retry address valdiation\n if (self.validationRetryNeeded) {\n self.validateAddress(completionCallback, 'inner retry: ' + self.validationCount);\n }\n console.log('advancedAddressPopupDialog=> okCallback');\n return true;\n }, function (result) {\n console.log('advancedAddressPopupDialog=> cancelCallback');\n self.showPopup = true;\n self.clearFormState();\n return true;\n });\n } else {\n console.log('Proceeding with entered address as either address is valid or all validation attempts are over.');\n self.showPopup = true;\n //address is valid, trigger validatinCompleted callback\n self.acceptCurrentAddress(completionCallback, addressValid);\n }\n },\n //httpService.validateAddress - failure callback\n function (error) {\n waitDialog.modal('hide');\n $this.showPopup = true;\n //completionCallback({ valid: false });\n __WEBPACK_IMPORTED_MODULE_3__Application_services_dialogService__[\"a\" /* default */].showTechnicalErrorDialog();\n });\n } else {\n completionCallback({ valid: true });\n }\n return true;\n } else {\n //return false if other validation are failed;\n //completionCallback({ valid: false });\n return false;\n }\n },\n acceptCurrentAddress(completionCallback, verifiedAddress) {\n //user accepted curent address, no more validation required,\n //trigger validatinCompleted callback\n this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.IS_VALIDATED_KEY] = verifiedAddress;\n completionCallback({ valid: true });\n },\n\n isAddressNotModified() {\n return this.originalAddress.Address1 == this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS1_KEY] && this.originalAddress.Address2 == this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ADDRESS2_KEY] && this.originalAddress.City == this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.CITY_KEY] && this.originalAddress.State == this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.STATE_KEY] && this.originalAddress.PostalCode == this.dataBag[this.internalDataKey + __WEBPACK_IMPORTED_MODULE_1__Shared_Constants__[\"a\" /* Constants */].ADDRESS_FIELDS.ZIP_KEY];\n },\n //ValidateOnNext event handler\n onValidateOnNext(evtData, completionCallback) {\n const self = this;\n this.nextValCompleted = false;\n console.log(\"AddressComponent=>onValidateOnNext\", evtData, this);\n //do validation task and then provide feedback about validation completion by calling base method\n console.log('validating address...');\n this.validateAddress(function (data) {\n //send completion event data\n if (completionCallback && !self.nextValCompleted) {\n self.nextValCompleted = true;\n self.closeAddressPopup('done', true);\n const evtData = {};\n console.log('AddressComponent->onValidateOnNext::completionCallback');\n completionCallback(evtData);\n }\n }, 'main');\n },\n closeAddressPopup(desc, destroy) {\n //var self = this;\n console.log('closeAddressPopup for: ' + desc);\n var action = 'hide';\n if (action && this.addressModelPopupDialog && this.addressModelPopupDialog.modal) {\n console.log('closeAddressPopup action: ' + action);\n try {\n this.addressModelPopupDialog.modal(action);\n //$('.modal-backdrop').remove();\n } catch (e) {\n console.log('closeAddressPopup error: ', e);\n }\n }\n\n if (!this.validationRetryNeeded || destroy) {\n this.showAddressPopup = false;\n this.unbindAddressPopupActionButtons();\n }\n },\n //events for address bootstrap dialog\n openAddressPopup(okCallback, cancelCallback) {\n var self = this;\n if (this.addressModelPopupDialog) {\n //modal dialog is already opened, just show\n //delay little\n window.setTimeout(function () {\n console.log('openAddressPopup:show');\n self.addressModelPopupDialog.modal('show');\n }, 100);\n } else {\n //$this.showAddressPopup = true;\n //create new modal\n this.createAddressModalPopup(okCallback, cancelCallback);\n }\n },\n createAddressModalPopup(okCallback, cancelCallback) {\n var self = this;\n console.log('createAddressPopup');\n //create new modal and configure\n const modalRef = $('#' + self.addressModalPopupId);\n this.addressModelPopupDialog = modalRef.modal({\n keyboard: false,\n backdrop: 'static'\n }).on('shown.bs.modal', function () {\n $(document.body).removeAttr('style');\n }).on('hidden.bs.modal', function (e) {\n $(document.body).removeAttr('style');\n });\n //register event handler\n this.bindAddressPopupActionButtons(modalRef, okCallback, cancelCallback);\n },\n bindAddressPopupActionButtons(modalRef, okCallback, cancelCallback) {\n const self = this;\n $(modalRef).find('.modal-footer .btn-secondary').on('click', function () {\n var result = okCallback();\n if (result) {\n self.closeAddressPopup('ok');\n }\n });\n\n $(modalRef).find('.modal-footer .btn-link').on('click', function () {\n var result = cancelCallback();\n if (result) {\n self.closeAddressPopup('cancel');\n }\n });\n },\n unbindAddressPopupActionButtons() {\n const self = this;\n const modalRef = $('#' + self.addressModalPopupId);\n $(modalRef).find('.modal-footer .btn-secondary').off('click');\n $(modalRef).find('.modal-footer .btn-link').off('click');\n }\n }\n});\n\n/***/ }),\n/* 148 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n//\n//\n//\n//\n//\n//\n//\n\n\nconst defaultConfig = { allowDelete: false };\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {\n formKey: {\n type: String,\n required: true\n }\n },\n data: function () {\n return {\n //setup data properties\n formSchema: {}\n };\n },\n created() {\n this.loadFormSchema();\n },\n mounted() {},\n computed: {\n dataItems() {\n return this.dataBag[this.dataKey] || [];\n },\n listConfig() {\n const frm = this.formSchema || {};\n return Object.assign({}, frm.listConfig || {});\n },\n listItemFieldsConfig() {\n const frm = this.formSchema || {};\n return (frm.listConfig || {}).fieldsConfig || [];\n }\n },\n methods: {\n loadFormSchema() {\n this.formSchema = this.getFormSchema(this.formKey, this.componentKey || '');\n }\n }\n});\n\n/***/ }),\n/* 149 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_1__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {},\n data: function () {\n return {\n questionGroups: [],\n dataBagCopy: {},\n keyMap: new Map()\n };\n },\n mounted() {\n this.init();\n },\n watch: {\n readMode: function (newValue, oldValue) {\n console.log('GenericComponent:watch::readMode', { newValue, oldValue });\n this.init();\n },\n questionGroupList: function (newValue, oldValue) {\n console.log('GenericComponent:watch::questionGroupList', { newValue, oldValue });\n this.init(newValue);\n }\n },\n computed: {\n keyPrefix() {\n return (this.extra || {}).keyPrefix || '';\n },\n rootCssClass() {\n return (this.extra || {}).rootCssClass || '';\n }\n },\n methods: {\n init(grps) {\n this.makeDataBagCopy();\n //assing key to groups\n var items = this.assignKey(grps || this.questionGroupList || []);\n this.questionGroups = this.assignGroupQuestionKeyPrefix(items);\n },\n getUpdatedGroup(grp) {\n grp.readMode = this.readMode !== undefined ? this.readMode : false;\n console.log('GenericComponent:getUpdatedGroup', grp);\n return grp;\n },\n questionInteractionHandler(fieldKey) {\n if (this.keyPrefix === '') {\n return;\n }\n //get original key from keyMap\n const originalKey = this.keyMap.has(fieldKey) ? this.keyMap.get(fieldKey) : fieldKey;\n //update original dataBag/originalKey value\n this.$set(this.dataBag, originalKey, this.dataBagCopy[fieldKey]);\n console.log('GenericComponent', {\n fieldKey,\n originalKey,\n value: this.dataBagCopy[fieldKey]\n });\n },\n makeDataBagCopy() {\n if (this.keyPrefix === '') {\n this.dataBagCopy = this.dataBag;\n } else {\n let copy = {};\n Object.keys(this.dataBag).forEach(key => {\n const keyWithPrefix = this.keyPrefix + key;\n copy[keyWithPrefix] = this.dataBag[key];\n });\n this.dataBagCopy = copy;\n }\n },\n assignGroupQuestionKeyPrefix(grps) {\n const prefix = this.keyPrefix || '';\n let groups = grps || [];\n if (prefix === '' || grps.length == 0) {\n return grps;\n }\n this.assignGroupQuestionPrefixInternal(groups, prefix);\n return groups;\n },\n\n assignGroupQuestionPrefixInternal(groups, prefix) {\n if (prefix === '') {\n return;\n }\n const self = this;\n //iterate each group\n groups.forEach(group => {\n //iterate each row for questions\n (group.questions || []).forEach(row => {\n //iterate each column for row\n (row || []).forEach(column => {\n if (column.question && column.question.questionKey) {\n const originalKey = column.question.questionKey;\n const newKey = prefix + originalKey;\n column.question.questionKey = newKey;\n //update key map\n this.keyMap.set(newKey, originalKey);\n }\n //iterate inner groups\n if (column.groups && column.groups.length > 0) {\n self.assignGroupQuestionPrefixInternal(column.groups, prefix);\n }\n });\n });\n });\n }\n }\n});\n\n/***/ }),\n/* 150 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Utilities_Utility__ = __webpack_require__(2);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n //setup mixins\n mixins: [__WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__[\"a\" /* ViewValidationHelperMixin */]],\n props: {\n //form state for validation\n state: {\n type: Object,\n required: true\n },\n message: {\n type: String,\n required: true\n }\n },\n data: function () {\n return {\n //setup data properties\n value: '',\n questionData: {\n questionKey: __WEBPACK_IMPORTED_MODULE_1__Utilities_Utility__[\"a\" /* Utility */].newGuid()\n }\n };\n }\n});\n\n/***/ }),\n/* 151 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Utilities_StringFunctions__ = __webpack_require__(72);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n //setup mixins\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__[\"a\" /* FormFieldComponentBaseMixin */], __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__[\"a\" /* ViewValidationHelperMixin */]],\n props: {},\n data: function () {\n return {\n //setup data properties\n value: this.dataBag[this.questionData.questionKey],\n isRequired: this.getValidatorValue('required'),\n minlength: this.getValidatorValue('minlength'),\n maxlength: this.getValidatorValue('maxlength'),\n pattern: this.getValidatorValue('pattern'),\n requiredMessage: this.getValidationMessage('requiredMessage'),\n minlengthMessage: this.getValidationMessage('minlengthMessage'),\n maxlengthMessage: this.getValidationMessage('maxlengthMessage'),\n patternMessage: this.getValidationMessage('patternMessage'),\n compareMessage: this.getValidationMessage('compareFieldKeyMessage'),\n maskFormat: this.questionData.maskFormat || '',\n rows: this.questionData.rows || 3,\n cols: this.questionData.cols || 20\n };\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.questionData.questionKey]) {\n var defaultValue = this.questionData.defaultValue || '';\n if (this.questionData.defaultValueFieldKey && this.dataBag[this.questionData.defaultValueFieldKey]) {\n console.log('textbox=>mounted=>defaultValueFieldKey', this.questionData.defaultValueFieldKey);\n defaultValue = this.dataBag[this.questionData.defaultValueFieldKey];\n }\n console.log('textbox=>mounted=>defaultValue', defaultValue);\n this.$set(this.dataBag, this.questionData.questionKey, defaultValue);\n if (defaultValue) {\n console.log('textbox=>mounted=>if', defaultValue);\n var $this = this;\n this.$nextTick(() => {\n $this.initializeFieldView();\n $this.setFocus();\n });\n }\n } //field has saved value\n else {\n this.initializeFieldView();\n }\n if (this.questionData.allowedCharacters) {\n this.registerKeyPressHandler();\n }\n },\n methods: {\n getFieldRef() {\n console.log('TextInputView=>getFieldRef');\n return this.questionData.type == 'text' ? this.$refs.textInput : this.$refs.textAreaInput;\n },\n keyPressHandler(event) {\n if (this.questionData.questionKey == __WEBPACK_IMPORTED_MODULE_2__Constants__[\"a\" /* Constants */].JOBDESCRIPTON_KEY) {\n if (event.keyCode == 13) {\n event.preventDefault();\n }\n }\n },\n focusHandler() {\n this.applyFocusPlaceholder(this.getFieldRef());\n },\n blurHandler(event) {\n\n //trigger field interaction notification\n this.notifyFieldInteraction();\n this.saveFieldData();\n this.applyBlurPlaceholder(this.getFieldRef());\n },\n registerKeyPressHandler() {\n $(this.$refs.textInput).keypress(e => {\n var char = String.fromCharCode(!e.charCode ? e.which : e.charCode);\n var keyCode = e.keyCode;\n var charCode = !e.charCode ? e.which : e.charCode;\n\n //console.log(char, keyCode, e, navigator.userAgent)\n const firefox = navigator.userAgent.search(\"Firefox\") >= 0;\n\n // Allow: backspace, delete, tab, escape, enter, home, end, pageup, pagedown and arrow keys.\n if ($.inArray(keyCode, [8, 9, 13, 35, 36, 37, 38, 39, 40, 46]) !== -1 && firefox ||\n // Allow: Ctrl+A, Command+A\n charCode == 97 && (e.ctrlKey === true || e.metaKey === true)) {\n // let it happen, don't do anything\n return;\n }\n\n var expression = \"^\" + this.questionData.allowedCharacters + \"+$\";\n if (!new RegExp(expression).test(char)) {\n e.preventDefault();\n return false;\n }\n });\n },\n\n compareValidator: function (value) {\n //compareFieldKey and value has some value\n if (!this.questionData.validators.compareFieldKey || !value) {\n return true;\n }\n\n //get compare field value\n const compareFieldValue = this.dataBag[this.questionData.validators.compareFieldKey] || '';\n\n //compareFieldValue has some value and its not same as value\n if (compareFieldValue && (value + '').toLowerCase() == (compareFieldValue + '').toLowerCase()) {\n return false;\n }\n return true;\n }\n },\n computed: {\n fKey() {\n let keyValue = this.questionData.questionKey;\n if (this.questionData.validators && this.questionData.validators.compareFieldKey) {\n const fValue = this.dataBag[this.questionData.validators.compareFieldKey];\n if (fValue) {\n keyValue = this.questionData.questionKey + '_' + __WEBPACK_IMPORTED_MODULE_3__Utilities_StringFunctions__[\"a\" /* default */].stringHash(fValue);\n }\n }\n console.log('fKey', keyValue);\n return keyValue;\n }\n }\n});\n\n/***/ }),\n/* 152 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {\n status: String,\n state: {\n type: Object,\n required: false\n },\n dataBag: {\n type: Object,\n required: false\n }\n },\n data() {\n return {\n dynamicDataKeys: ['requoteRequiredMessage', 'applicationAlreadyExistMessage', 'applicationExpiredMessage'],\n dynamicDataComponentKey: 'applicationStatusComponent'\n };\n },\n mounted() {\n const $this = this;\n this.loadDynamicContent(this.dynamicDataComponentKey, this.dynamicDataKeys);\n //load page metadata and then pageloaded events\n const request = {\n pageId: this.status,\n onlyMetadata: true\n };\n\n __WEBPACK_IMPORTED_MODULE_3__Application_services_HttpCommunicationService__[\"a\" /* default */].getPageData(request,\n //success\n function (data) {\n if (data && data.pageSchema && data && data.pageSchema.pageMetadata) {\n $this.broadCastPageLoaded(data.pageSchema.pageMetadata.pageTitle);\n }\n },\n //failed\n function () {});\n },\n computed: {\n showExpiredView() {\n console.log('User application status', this.status);\n return this.status == __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].USER_APPLICATION_STATUS.EXPIRED;\n },\n showNotFoundView() {\n console.log('User application status', this.status);\n return this.status == __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].USER_APPLICATION_STATUS.NOT_FOUND;\n },\n showAppExistView() {\n console.log('User application status', this.status);\n return this.status == __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].USER_APPLICATION_STATUS.EXISTS;\n },\n showRequoteRequiredView() {\n console.log('User application status', this.status);\n return this.status == __WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].USER_APPLICATION_STATUS.REQUOTE_REQUIRED;\n }\n },\n methods: {\n startNewApplication() {\n console.log('Starting new application...');\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].AUTH_EVENTS.START_NEW_APPLICATION);\n },\n continueSavedApplication() {\n console.log('Continue saved application...');\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].AUTH_EVENTS.LOAD_SAVED_APPLICATION);\n },\n continueCurrentApplication() {\n console.log('Continue current application...');\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].AUTH_EVENTS.CONTINUE_CURRENT_APPLICATION);\n },\n requoteSavedApplication() {\n console.log('Requote saved application...');\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].AUTH_EVENTS.REQUOTE_SAVED_APPLICATION);\n },\n broadCastPageLoaded(pageTitle) {\n this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_1__Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.PAGE_LOADED, {\n title: pageTitle,\n routePath: this.$router.currentRoute.path\n });\n }\n }\n});\n\n/***/ }),\n/* 153 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__ = __webpack_require__(7);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_1__mixins_FormFieldComponentBaseMixin__[\"a\" /* FormFieldComponentBaseMixin */], __WEBPACK_IMPORTED_MODULE_0__mixins_ViewValidationHelperMixin__[\"a\" /* ViewValidationHelperMixin */]],\n props: {\n answerChange: {\n type: Function,\n required: false\n }\n },\n data: function () {\n return {\n isRequired: this.getValidatorValue('required'),\n requiredMessage: this.getValidationMessage('requiredMessage'),\n options: this.questionData.answerOptions && this.questionData.answerOptions.length > 0 ? this.questionData.answerOptions : this.getOptions(),\n defaultValue: 'No'\n };\n },\n mounted() {\n if (!this.dataBag[this.questionData.questionKey]) {\n this.$set(this.dataBag, this.questionData.questionKey, '');\n } else {\n this.initializeFieldView();\n if (this.answerChange) {\n this.answerChange(this.dataBag[this.questionData.questionKey]);\n }\n }\n },\n methods: {\n changeHandler() {\n var $this = this;\n if (this.questionData.showValueChangeAlert) {\n\n this.alertValueChange(function () {\n $this.processChange();\n });\n } else {\n this.processChange();\n }\n },\n processChange() {\n //call answerChange if callback is not null\n if (this.answerChange) {\n this.answerChange(this.dataBag[this.questionData.questionKey]);\n }\n //trigger field interaction notification\n this.notifyFieldInteraction();\n this.saveFieldData();\n },\n getOptions() {\n //clone array\n var opts = [{\n text: 'Yes',\n value: 'Yes',\n iconClass: 'glyphicon-ok-circle'\n }, {\n text: 'No',\n value: 'No',\n iconClass: 'glyphicon-remove-circle'\n }];\n return opts;\n },\n isNotEmpty(text) {\n return text != null && text != undefined && text != '';\n }\n },\n computed: {}\n});\n\n/***/ }),\n/* 154 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__router__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Utilities_routeUtil__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Application_services_dialogService__ = __webpack_require__(6);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {},\n data: function () {\n return {\n submissionSummary: {},\n appSubmitErrorMessageKey: 'ApplicationSubmisionError',\n processing: false,\n appSubmitted: false,\n default_processingMessage: 'Just About Done...
' + 'We are compiling your completed application.
',\n applicationLink: ''\n };\n },\n mounted() {\n //check if datakey exist in data bag\n //if not create key in data bag\n if (this.dataKey && !this.dataBag[this.dataKey]) {\n this.dataBag[this.dataKey] = {};\n }\n this.submitApplication();\n },\n computed: {\n redirectToReviewOnSubmitFail() {\n const page = this.pageSchema || {};\n const redirect = (page.config || {}).redirectToReviewOnSubmitFail;\n return redirect !== undefined ? redirect : true;\n },\n sessionTimeoutTime() {\n const page = this.pageSchema || {};\n const time = (page.config || {}).sessionTimeoutTime || 1000;\n return time;\n },\n submissionFailedLandingPage() {\n const page = this.pageSchema || {};\n const landingPage = (page.config || {}).submissionFailedLandingPage;\n return landingPage !== undefined ? landingPage : '';\n }\n },\n methods: {\n submitApplication() {\n const submitCompleted = this.dataBag[__WEBPACK_IMPORTED_MODULE_4__Constants__[\"a\" /* Constants */].SESSION_KEYS.APP_SUBMIT_SUCCESS] == 'True';\n if (submitCompleted) {\n return;\n }\n var self = this;\n self.processing = true;\n __WEBPACK_IMPORTED_MODULE_3__Application_services_HttpCommunicationService__[\"a\" /* default */].processApplication({}, function (response) {\n var success = response.success;\n //override failure\n if (!success) {\n success = !self.redirectToReviewOnSubmitFail;\n }\n self.appSubmitted = success;\n if (success) {\n //get session data in memory before clearning\n self.applicationLink = __WEBPACK_IMPORTED_MODULE_3__Application_services_HttpCommunicationService__[\"a\" /* default */].getApplicationPdfLink();\n self.getAppSubmissionSummary(function () {\n window.setTimeout(function () {\n self.clearApplicationSession();\n }, self.sessionTimeoutTime);\n });\n } else {\n //redirect back to previous page/app review page\n self.applicationProcessError(response.errors);\n }\n }, self.applicationProcessError);\n },\n\n getAppSubmissionSummary(callback) {\n var self = this;\n\n __WEBPACK_IMPORTED_MODULE_3__Application_services_HttpCommunicationService__[\"a\" /* default */].getAppSubmissionSummary({}, function (data) {\n self.submissionSummary = data;\n callback();\n }, function (error) {\n console.log('getAppSubmissionSummary error', error);\n callback();\n });\n },\n\n clearApplicationSession() {\n this.processing = false;\n console.log('clearring cookies...');\n __WEBPACK_IMPORTED_MODULE_3__Application_services_HttpCommunicationService__[\"a\" /* default */].clearCookies({}, function (sdata) {\n console.log('cookies cleared');\n }, function (error) {\n console.log('clearCookies error', error);\n });\n },\n\n applicationProcessError(errors) {\n const self = this;\n this.processing = false;\n console.log('processApplication->error', errors);\n //show error dialog and navigate back to previous page\n var errorMessage = self.getMessage(self.appSubmitErrorMessageKey);\n errorMessage = errorMessage || 'There was an error while processing the request. Please try again.';\n if (errors && Array.isArray(errors)) {\n var messages = '';\n messages += errors.map(error => {\n return '- ' + error.message + '
';\n }).join('');\n messages += '
';\n\n errorMessage += messages;\n }\n __WEBPACK_IMPORTED_MODULE_5__Application_services_dialogService__[\"a\" /* default */].showMessageDialogCallBack(errorMessage, function () {\n console.log('processApplication->error->navigating to page');\n const nextPage = self.submissionFailedLandingPage || __WEBPACK_IMPORTED_MODULE_4__Constants__[\"a\" /* Constants */].PAGE_ID.APP_REVIEW;\n __WEBPACK_IMPORTED_MODULE_1__Utilities_routeUtil__[\"a\" /* default */].navigateToPage(__WEBPACK_IMPORTED_MODULE_0__router__[\"a\" /* default */], nextPage);\n });\n }\n }\n});\n\n/***/ }),\n/* 155 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Application_services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_2__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {},\n data: function () {\n return {\n //add policy flag\n showPolicyForm: true,\n //setup data properties\n questionGroups: [],\n carrierList: undefined,\n defaultOptions: {\n showReplaceOption: true\n },\n dataKeyObject: {\n dataKey: '',\n showReplaceOption: true\n }\n };\n },\n created() {\n this.questionGroups = this.getQuestionGroups();\n this.componentDataBag = this.getComponentDataBag();\n },\n mounted() {\n this.ensureDateKeyNormalization(this.defaultOptions);\n this.dataKeyObject.showReplaceOption = (this.dataKeyObject.showReplaceOption + '' || '').toLowerCase() != 'false';\n //check if datakey exist in data bag\n //if not create key in data bag\n if (!this.dataBag[this.dataKeyObject.dataKey]) {\n this.$set(this.dataBag, this.dataKeyObject.dataKey, []);\n }\n this.questionGroups = this.getQuestionGroups();\n this.componentDataBag = this.getComponentDataBag();\n this.showPolicyForm = this.policies.length === 0;\n this.loadCarrierList(' ');\n this.loadDynamicContent('existingPolicyDetailComponent', 'existingPolicyNoteHtml');\n },\n computed: {\n policies() {\n return this.dataBag[this.dataKeyObject.dataKey] || [];\n }\n },\n methods: {\n getComponentDataBag() {\n var key = this.componentKey;\n return {\n [key + '_Company']: '',\n [key + '_Product']: '',\n [key + '_Amount']: '',\n [key + '_Year']: '',\n [key + '_Replace']: ''\n };\n },\n resetLocalDataModel() {\n this.componentDataBag = this.getComponentDataBag();\n },\n onAddPolicyDetail() {\n this.showPolicyForm = true;\n this.resetLocalDataModel();\n },\n onSave() {\n console.log('onSave');\n //check component state for val\n this.$set(this.componentState, '$submitted', true);\n //touch component states to highlight field\n this.touchComponentState(this.componentState);\n if (this.componentState.$valid) {\n this.$set(this.componentState, '$submitted', false);\n if (!this.componentDataBag.key) {\n this.componentDataBag.key = __WEBPACK_IMPORTED_MODULE_0__Utilities_Utility__[\"a\" /* Utility */].newGuid();\n }\n //push to collection\n var key = this.componentKey;\n this.dataBag[this.dataKeyObject.dataKey].push({\n key: this.componentDataBag.key,\n Company: this.componentDataBag[key + '_Company'],\n Product: this.componentDataBag[key + '_Product'],\n Amount: this.componentDataBag[key + '_Amount'],\n Year: this.componentDataBag[key + '_Year'],\n Replace: this.componentDataBag[key + '_Replace']\n });\n\n //reset data\n this.resetLocalDataModel();\n //reset flag\n this.showPolicyForm = false;\n //save data\n this.saveComponentData();\n this.clearFormState();\n }\n },\n onCancel() {\n this.showPolicyForm = false;\n this.resetLocalDataModel();\n this.clearFormState();\n },\n deletePolicyDetail(policy) {\n var $this = this;\n if (__WEBPACK_IMPORTED_MODULE_1__Application_services_dialogService__[\"a\" /* default */].confirmAdvanced) {\n __WEBPACK_IMPORTED_MODULE_1__Application_services_dialogService__[\"a\" /* default */].confirmAdvanced(\"Do you really want to delete Policy Detail?\", function (result) {\n if (result) {\n var itemIdex = -1;\n var list = $this.dataBag[$this.dataKeyObject.dataKey];\n for (var index = 0; index < list.length; index++) {\n if (list[index].key == policy.key) {\n itemIdex = index;\n break;\n }\n }\n if (itemIdex > -1) {\n list.splice(itemIdex, 1);\n $this.saveComponentData();\n }\n //check policy count\n if ($this.policies.length == 0) {\n $this.showPolicyForm = true;\n }\n }\n }, 'Delete');\n }\n },\n\n loadCarrierList(searchText, callback) {\n const self = this;\n __WEBPACK_IMPORTED_MODULE_4__Application_services_HttpCommunicationService__[\"a\" /* default */].GetListItems(searchText, data => {\n if (data && Array.isArray(data)) {\n var items = [];\n data.forEach(item => {\n items.push({ text: item.text || item.name, value: item.value });\n });\n self.carrierList = items;\n if (callback) {\n callback(self.carrierList);\n }\n }\n });\n },\n\n searchCarrier(searchText, callback) {\n console.log('carrier search ', searchText);\n if (this.carrierList) {\n callback(this.carrierList);\n } else {\n this.loadCarrierList(searchText, callback);\n }\n },\n\n getQuestionGroups() {\n const currentYear = new Date().getFullYear();\n var questions = [{\n \"title\": \"Insurance Company Name\",\n \"helpText\": \"\",\n \"questions\": [[{\n \"question\": {\n \"questionKey\": this.componentKey + \"_Company\",\n \"text\": \"Type to search\",\n \"type\": \"selectPickerComponent\",\n \"searchFunction\": this.searchCarrier,\n \"dataKey\": \"testPicker\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\"\n }\n },\n \"colCss\": 'col-sm-9 col-lg-7'\n }]]\n }, {\n \"title\": \"What is the product type?\",\n \"helpText\": \"\",\n \"questions\": [[{\n \"question\": {\n \"questionKey\": this.componentKey + \"_Product\",\n \"type\": \"dropdown\",\n \"text\": \"Product Type\",\n \"autoSave\": false,\n \"selectText\": \"Choose One\",\n \"answerOptionsFunction\": 'PRODUCT_TYPE_LIST',\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\"\n }\n },\n \"colCss\": 'col-sm-9 col-lg-7'\n }]]\n }, {\n \"title\": \"Amount of insurance (or annuity value)?\",\n \"helpText\": \"\",\n \"questions\": [[{\n \"question\": {\n \"questionKey\": this.componentKey + \"_Amount\",\n \"type\": \"money\",\n \"text\": \"Amount\",\n \"autoSave\": false,\n \"placeholder\": \"Amount\",\n \"maskFormat\": \"$#######\",\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\"\n }\n },\n \"colCss\": 'col-sm-9 col-lg-7'\n }]]\n }, {\n \"title\": \"When was the policy or annuity issued?\",\n \"helpText\": \"\",\n \"questions\": [[{\n \"question\": {\n \"questionKey\": this.componentKey + \"_Year\",\n \"text\": \"Year\",\n \"type\": \"text\",\n \"maskFormat\": \"####\",\n \"placeholder\": \"Year\",\n \"autoSave\": false,\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"The Year is required and cannot be left blank\",\n \"pattern\": __WEBPACK_IMPORTED_MODULE_3__Constants__[\"a\" /* Constants */].REGEX.PASTYEAR_UNTIL_CURRENTYEAR(),\n \"patternMessage\": \"Only include policies in the past (1900-\" + currentYear + \")\"\n }\n },\n \"colCss\": 'col-sm-9 col-lg-7'\n }]]\n }];\n if (this.dataKeyObject.showReplaceOption) {\n\n questions.push({\n \"title\": \"Do you plan to replace, change, or use any monetary value of any existing or pending life insurance policy or annuity in connection with the policy being applied for?\",\n \"helpText\": \"\",\n \"questions\": [[{\n \"question\": {\n \"questionKey\": this.componentKey + \"_Replace\",\n \"text\": \"\",\n \"type\": \"radio\",\n \"autoSave\": false,\n \"answer\": \"\",\n \"answerOptions\": [{\n \"text\": \"Yes\",\n \"value\": \"Yes\",\n \"iconClass\": 'glyphicon-ok-circle'\n }, {\n \"text\": \"No\",\n \"value\": \"No\",\n \"iconClass\": 'glyphicon-remove-circle'\n }],\n \"validators\": {\n \"required\": true,\n \"requiredMessage\": \"This field is required\"\n }\n }\n }]]\n });\n }\n return questions;\n }\n }\n});\n\n/***/ }),\n/* 156 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Shared_Utilities_Utility__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Application_services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Utilities_routeUtil__ = __webpack_require__(9);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\nconst CC_AUTH_FAILURE_COUNT = 'CC_AUTH_FAILURE_COUNT';\nconst BD_AUTH_FAILURE_COUNT = 'BD_AUTH_FAILURE_COUNT';\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_0__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {\n dataKey: {\n type: [String, Object],\n required: false\n }\n },\n data: function () {\n return {\n defaultOptions: {\n validateOnNext: true,\n validationOrder: 1\n },\n nameKey: 'payment-review',\n paymentReviewInfo: {},\n serviceFailureTryCount: 0,\n loading: false\n };\n },\n\n mounted() {\n const self = this;\n this.ensureDataKeyParsing();\n this.loadPaymentReviewInfo(function () {\n self.initSetup();\n });\n },\n computed: {\n isBankAccount() {\n return (this.paymentReviewInfo.paymentMethod || '') == __WEBPACK_IMPORTED_MODULE_2__Constants__[\"a\" /* Constants */].PAYMENT_TYPE.BANK_ACCOUNT;\n },\n authFailedErrorCodes() {\n return (this.dataKeyObject || {}).authFailedErrorCodes || [];\n },\n maxCCAuthAttempt() {\n return this.dataKeyObject.maxCCAuthAttempt;\n },\n maxBankAuthAttempt() {\n return this.dataKeyObject.maxBankAuthAttempt;\n },\n maxAuthAttemptAllowed() {\n return this.isBankAccount ? this.maxBankAuthAttempt : this.maxCCAuthAttempt;\n },\n maxServiceFailureRetry() {\n return this.dataKeyObject.maxServiceFailureRetry;\n }\n },\n methods: {\n initSetup() {\n const self = this;\n if (self.paymentReviewInfo.paymentMethod) {\n var key = self.isBankAccount ? BD_AUTH_FAILURE_COUNT : CC_AUTH_FAILURE_COUNT;\n if (key) {\n const failedCount = self.dataBag[key] || 0;\n const maxCount = self.isBankAccount ? self.maxBankAuthAttempt : self.maxCCAuthAttempt;\n const excceded = failedCount >= maxCount;\n if (excceded) {\n self.onAuthFailed({ maxAttemptReachedOrExceeded: excceded }, null);\n }\n }\n }\n },\n formatPaymentMethod(value) {\n if (value && value.replace) {\n value = value.replace('_', ' ');\n }\n return value;\n },\n formatCurrency(amount, precision) {\n var fm = '';\n if (!precision) {\n precision = 0;\n }\n if (amount) {\n fm = __WEBPACK_IMPORTED_MODULE_3__Shared_Utilities_Utility__[\"a\" /* Utility */].formatCurrency(amount, precision);\n }\n\n return fm;\n },\n\n loadPaymentReviewInfo(cb) {\n var self = this;\n __WEBPACK_IMPORTED_MODULE_1__Application_services_HttpCommunicationService__[\"a\" /* default */].getPaymentReviewInfo(function (data) {\n self.paymentReviewInfo = data;\n if (cb) {\n cb();\n }\n }, function (error) {\n console.log(\" paymentReview error \" + error);\n });\n },\n\n navigateToPrevious() {\n __WEBPACK_IMPORTED_MODULE_5__Utilities_routeUtil__[\"a\" /* default */].navigateToPreviousPage(this.$router);\n },\n\n onValidateOnNext(evtData, completionCallback) {\n const self = this;\n console.log('Payment review: onValidateOnNext');\n //do preauth\n self.initPreAuthorization(function (success) {\n if (success) {\n completionCallback({});\n }\n });\n },\n\n onAuthSucceded(data, cbFn) {\n const self = this;\n cbFn(true);\n },\n onAuthFailed(response, cbFn) {\n const self = this;\n\n var currentCount = self.failedCount;\n if (response && response.failureCount) {\n currentCount = response.failureCount;\n }\n var retryMsg = currentCount >= self.maxAllowed ? 'generic' : 'SERVICE_ERROR_AUTH_RETRY';\n\n if (!response) {\n //retry preauth\n self.serviceFailureTryCount++;\n if (self.serviceFailureTryCount <= self.maxServiceFailureRetry) {\n self.reSubmitForAuth(cbFn, self.getMessage(retryMsg));\n } else {\n __WEBPACK_IMPORTED_MODULE_4__Application_services_dialogService__[\"a\" /* default */].showTechnicalErrorDialog();\n }\n return;\n } else if (response && response.maxAttemptReachedOrExceeded) {\n var key = self.isBankAccount ? 'maxBankAuthAttemptReached' : 'maxCCAuthAttemptReached';\n const message = self.getMessage(key);\n __WEBPACK_IMPORTED_MODULE_4__Application_services_dialogService__[\"a\" /* default */].showMessageDialogCallBack(message, function () {\n self.navigateToPrevious();\n }, false);\n return;\n }\n\n var errors = response.errors || [];\n\n const maxAllowed = self.maxAuthAttemptAllowed;\n\n let errorInfo = undefined;\n if (response && errors && errors.length > 0) {\n errorInfo = errors[0];\n }\n\n //authFailedErrorCodes\n if (errorInfo && self.authFailedErrorCodes.indexOf(errorInfo.errorCode) > -1) {\n var msg = self.getMessage(errorInfo.errorCode);\n var continueBtn = 'Retry (' + (currentCount + 1) + ' of ' + maxAllowed + ')';\n var gobackBtn = 'Change Card/Payment Detail';\n\n __WEBPACK_IMPORTED_MODULE_4__Application_services_dialogService__[\"a\" /* default */].advancedConfirmPopupDialog(msg, function () {\n self.reSubmitForAuth(cbFn);\n }, function () {\n self.navigateToPrevious();\n }, continueBtn, gobackBtn, 'Payment authorization failed');\n return;\n }\n\n //retry preauth\n self.serviceFailureTryCount++;\n if (self.serviceFailureTryCount <= self.maxServiceFailureRetry) {\n self.reSubmitForAuth(cbFn, self.getMessage(retryMsg));\n } else {\n __WEBPACK_IMPORTED_MODULE_4__Application_services_dialogService__[\"a\" /* default */].showTechnicalErrorDialog();\n }\n },\n\n reSubmitForAuth(cbFn, message = '') {\n const self = this;\n window.setTimeout(function () {\n self.processingMessage = message;\n self.initPreAuthorization(cbFn, true);\n }, 100);\n },\n\n initPreAuthorization(cbFn, retry = false) {\n const self = this;\n if (!retry) {\n self.processingMessage = self.getMessage('AUTH_IN_PROGRESS');\n }\n self.loading = true;\n __WEBPACK_IMPORTED_MODULE_1__Application_services_HttpCommunicationService__[\"a\" /* default */].authorizePayment(\n //success callback\n function (response) {\n self.loading = false;\n\n //success, auth completed\n if (response && response.success) {\n self.onAuthSucceded(response.success, cbFn);\n } //if its not success then unselect CC payment method option\n else {\n console.log(\"preAuthorization failed.\");\n self.onAuthFailed(response);\n }\n },\n\n //error callback\n function (error) {\n self.loading = false;\n console.log(error);\n const messge = self.getMessage(\"generic\");\n __WEBPACK_IMPORTED_MODULE_4__Application_services_dialogService__[\"a\" /* default */].showTechnicalErrorDialog(messge);\n });\n }\n\n }\n});\n\n/***/ }),\n/* 157 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Application_mixins_ComponentBaseMixin__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Utilities_routeUtil__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Utilities_Utility__ = __webpack_require__(2);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n mixins: [__WEBPACK_IMPORTED_MODULE_1__Application_mixins_ComponentBaseMixin__[\"a\" /* ComponentBaseMixin */]],\n props: {},\n data: function () {\n return {\n componentState: {},\n loading: true,\n componentDataBag: {}\n };\n },\n mounted() {\n this.signApplication();\n },\n methods: {\n signApplication() {\n var $this = this;\n __WEBPACK_IMPORTED_MODULE_0__Application_services_HttpCommunicationService__[\"a\" /* default */].signApplication({}, function (data) {\n $this.loading = false;\n console.log('signApplication', data);\n if (data && data.signatureUrl) {\n document.location = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_4__Utilities_Utility__[\"b\" /* sanitizeUrl */])(data.signatureUrl);\n }\n }, function (error) {\n console.log('signApplication->error', error);\n //show error dialog and navigate back to previous page\n __WEBPACK_IMPORTED_MODULE_2__Application_services_dialogService__[\"a\" /* default */].showTechnicalErrorDialog(function () {\n console.log('signApplication->error->navigating to page');\n __WEBPACK_IMPORTED_MODULE_3__Utilities_routeUtil__[\"a\" /* default */].navigateToPreviousPage($this.$router);\n });\n });\n }\n }\n});\n\n/***/ }),\n/* 158 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Constants__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Application_services_HttpCommunicationService__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Application_services_dialogService__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Utilities_routeUtil__ = __webpack_require__(9);\n//\n//\n//\n//\n//\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'DocusignRedirectHandlerComponent',\n data() {\n return {\n showWaitMessage: true,\n signingCompleted: true,\n waitMessage: 'Please wait...
'\n };\n },\n\n mounted() {\n const $this = this;\n console.log('HandleDocusignRedirect->beforeMount');\n //make call to backend API to check status\n const signPage = __WEBPACK_IMPORTED_MODULE_0__Constants__[\"a\" /* Constants */].PAGE_ID.SIGN;\n __WEBPACK_IMPORTED_MODULE_1__Application_services_HttpCommunicationService__[\"a\" /* default */].getSigningSummary({}, data => {\n if (data && data.signingCompleted) {\n //redirect to next page\n $this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_0__Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.SIGNING_COMPLETED, {});\n __WEBPACK_IMPORTED_MODULE_3__Utilities_routeUtil__[\"a\" /* default */].navigateToNextPage($this.$router, signPage);\n $this.signingCompleted = true;\n } else {\n $this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_0__Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.SIGNING_NOT_COMPLETED, {});\n __WEBPACK_IMPORTED_MODULE_3__Utilities_routeUtil__[\"a\" /* default */].navigateToPreviousPage($this.$router, signPage);\n $this.signingCompleted = false;\n }\n }, error => {\n //redirect to error status page\n $this.$eventBus.$emit(__WEBPACK_IMPORTED_MODULE_0__Constants__[\"a\" /* Constants */].APPLICATION_EVENTS.SIGNING_NOT_COMPLETED, {});\n $this.signingCompleted = false;\n __WEBPACK_IMPORTED_MODULE_2__Application_services_dialogService__[\"a\" /* default */].showTechnicalErrorDialog();\n });\n }\n});\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(15);\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(15);\nvar isArray = __webpack_require__(169);\nvar SPECIES = __webpack_require__(36)('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = __webpack_require__(161);\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(15);\nvar document = __webpack_require__(12).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(34)('native-function-to-string', Function.toString);\n\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(21) && !__webpack_require__(33)(function () {\n return Object.defineProperty(__webpack_require__(164)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(30);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(30);\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(160);\nvar IE8_DOM_DEFINE = __webpack_require__(167);\nvar toPrimitive = __webpack_require__(177);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(21) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(12);\nvar hide = __webpack_require__(22);\nvar has = __webpack_require__(166);\nvar SRC = __webpack_require__(35)('src');\nvar $toString = __webpack_require__(165);\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__webpack_require__(11).inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(174);\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(163);\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(15);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = __webpack_require__(32);\nvar $find = __webpack_require__(29)(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n__webpack_require__(28)(KEY);\n\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = __webpack_require__(32);\nvar $find = __webpack_require__(29)(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n__webpack_require__(28)(KEY);\n\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\n__webpack_require__(181);\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(13)))\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a