{"version":3,"file":"js/event-handlers-DE.js","mappings":"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","sources":["webpack://bizsignupnodeweb/./lib/flow-bundles/event-handlers/DE.js"],"sourcesContent":["/* eslint new-cap: [\"error\", { \"newIsCap\": false }]*/\nconst baseEventHandler = require('./base'),\n    _ = require('lodash'),\n    constants = require('../../constants');\n\nlet EventHandlers = {\n    pppHandleChangeOnBusinessType(ev, element, ctx, ...elementNames) {\n        const page = ctx.form.activePage,\n            fieldName = _.get(element, 'attributes.name'),\n            bizType = _.get(ctx, `data.fields['${fieldName}'].value`),\n            businessRegistrationNumber = _.get(ctx, 'data.fields.businessRegistrationNumber.value');\n\n        if (bizType) {\n            elementNames.forEach((elementName) => {\n                baseEventHandler.show(elementName, ctx);\n            });\n        } else {\n            elementNames.forEach((elementName) => {\n                baseEventHandler.hide(elementName, ctx);\n            });\n        }\n\n        if (constants.PPP_BRN_REQUIRED_BUSINESS_TYPES.includes(bizType)) {\n            baseEventHandler.show('businessRegistrationInfoSectionSubheader', ctx);\n\n            baseEventHandler.show('businessCityRegistered', ctx);\n            baseEventHandler.enableValidations('businessCityRegistered', ctx);\n\n            baseEventHandler.enableValidations('businessRegistrationNumber', ctx);\n            ctx.formActions.updateElementProperty(page, 'businessRegistrationNumber', 'floatingLabel', 'fields.businessRegistrationNumber.placeholder');\n        } else {\n            if (bizType !== 'GOVERNMENT') {\n                baseEventHandler.hide('businessRegistrationInfoSectionSubheader', ctx);\n            } else {\n                baseEventHandler.show('businessRegistrationInfoSectionSubheader', ctx);\n            }\n\n            if (!businessRegistrationNumber) {\n                baseEventHandler.hide('businessCityRegistered', ctx);\n                baseEventHandler.disableValidations('businessCityRegistered', ctx);\n                baseEventHandler._validateElements(ctx, 'businessCityRegistered');\n            }\n\n            baseEventHandler.disableValidations('businessRegistrationNumber', ctx);\n            baseEventHandler._validateElements(ctx, 'businessRegistrationNumber');\n            ctx.formActions.updateElementProperty(page, 'businessRegistrationNumber', 'floatingLabel', 'fields.businessRegistrationNumberOptional.placeholder');\n        }\n    },\n    pppHandleChangeOnBusinessRegistrationNumber(ev, element, ctx) {\n        const bizType = _.get(ctx, 'data.fields.businessType.value'),\n            businessRegistrationNumber = _.get(ctx, 'data.fields.businessRegistrationNumber.value');\n\n        if (!constants.PPP_BRN_REQUIRED_BUSINESS_TYPES.includes(bizType)) {\n            if (businessRegistrationNumber) {\n                baseEventHandler.show('businessCityRegistered', ctx);\n                baseEventHandler.enableValidations('businessCityRegistered', ctx);\n            } else {\n                baseEventHandler.hide('businessCityRegistered', ctx);\n                baseEventHandler.disableValidations('businessCityRegistered', ctx);\n                baseEventHandler._validateElements(ctx, 'businessCityRegistered');\n            }\n        }\n    },\n    pppShowApplicationStatus(event, element, ctx) {\n        // PPP application status can come from either OAS or Product-status\n        // - OAS returns status of a new application: 'COMPLETE', 'MANUAL_REVIEW', 'DECLINED'\n        // - Product status is based on risk eligibility or previous application: 'ENABLED', 'PENDING', 'DECLINED'\n        const applicationStatus = _.get(ctx, 'data.fields.applicationStatus'),\n            productStatus = _.get(ctx, 'data.fields.productStatus');\n\n        if (!applicationStatus && !productStatus) {\n            return;\n        }\n\n        const status = _.get(applicationStatus, 'value') || _.get(productStatus, 'value');\n        switch (status) {\n            case 'COMPLETE':\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'statusHeader', 'text', 'done.approvedStatus');\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'statusMessage', 'text', 'done.approvedText');\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'continueButton', 'text', 'done.approvedButtonText');\n                break;\n\n            case 'MANUAL_REVIEW':\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'statusHeader', 'text', 'done.pendingStatus');\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'statusMessage', 'text', 'done.pendingText');\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'statusInfo', 'text', 'done.pendingStatusInfo');\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'continueButton', 'text', 'done.pendingButtonText');\n                break;\n\n            case 'ENABLED':\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'statusHeader', 'text', 'eligibility.approvedStatus');\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'statusMessage', 'text', 'eligibility.approvedText');\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'continueButton', 'text', 'eligibility.approvedButtonText');\n                break;\n\n            case 'PENDING':\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'statusHeader', 'text', 'eligibility.pendingStatus');\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'statusMessage', 'text', 'eligibility.pendingText');\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'statusInfo', 'text', 'eligibility.pendingStatusInfo');\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'continueButton', 'text', 'eligibility.pendingButtonText');\n                break;\n\n            case 'DECLINED': {\n                const statusType = applicationStatus ? 'done' : 'eligibility';\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'statusHeader', 'text', `${statusType}.declinedStatus`);\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'statusMessage', 'text', `${statusType}.declinedText`);\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'statusInfo', 'text', `${statusType}.declinedStatusInfo`);\n                ctx.formActions.updateElementProperty(ctx.form.activePage, 'continueButton', 'text', `${statusType}.declinedButtonText`);\n                break;\n            }\n\n            default:\n                // never expected\n                break;\n        }\n    },\n    updateLayoutWidth() {\n        if (_.isUndefined(location) || _.isUndefined(location.href)) {\n            return;\n        }\n\n        const pageName = location.href.split('/').pop();\n\n        const tray = document.getElementsByClassName('tray-nav-outer')[0];\n        const container = document.getElementsByClassName('outer-container')[0];\n        const saveAndExitButton = document.getElementById('saveAndExit');\n        if (constants.PPP_WIDE_LAYOUT_PAGES.includes(pageName)) {\n            if (tray) {\n                tray.style['max-width'] = '700px';\n            }\n            if (container) {\n                container.style['max-width'] = '800px';\n            }\n            if (saveAndExitButton) {\n                let saveAndExitButtonRight = parseInt(window.getComputedStyle(saveAndExitButton).right.replace('px', ''));\n                saveAndExitButton.style.right = saveAndExitButtonRight + 170 + 'px'; // (700px - 360px) / 2\n            }\n        } else {\n            if (tray) {\n                tray.style['max-width'] = '';\n            }\n            if (container) {\n                tray.style['max-width'] = '';\n            }\n            if (saveAndExitButton) {\n                saveAndExitButton.style.right = '';\n            }\n        }\n    }\n};\n\nmodule.exports = EventHandlers;\n"],"names":["baseEventHandler","require","_","constants","EventHandlers","pppHandleChangeOnBusinessType","ev","element","ctx","page","form","activePage","fieldName","get","bizType","businessRegistrationNumber","_len","arguments","length","elementNames","Array","_key","forEach","elementName","show","hide","PPP_BRN_REQUIRED_BUSINESS_TYPES","includes","enableValidations","formActions","updateElementProperty","disableValidations","_validateElements","pppHandleChangeOnBusinessRegistrationNumber","pppShowApplicationStatus","event","applicationStatus","productStatus","statusType","updateLayoutWidth","isUndefined","location","href","pageName","split","pop","tray","document","getElementsByClassName","container","saveAndExitButton","getElementById","PPP_WIDE_LAYOUT_PAGES","style","saveAndExitButtonRight","parseInt","window","getComputedStyle","right","replace","module","exports"],"sourceRoot":""}