{"version":3,"sources":["assets/images/collapsable-down-black-arrow.svg","assets/images/add-icon-square-border.svg","assets/images/sales.svg","assets/images/delivery.svg","assets/images/enterprise.svg","assets/images/diagnostics.svg","assets/images/Hamburger.svg","assets/images/close_HamburgerMenu.svg","assets/images/path.svg","assets/images/acc-logo.svg","assets/images/search-icon.svg","assets/images/sales-black.svg","assets/images/delivery-black.svg","assets/images/ies-black.svg","assets/images/idt-black.svg","assets/images/Form_title_icon.svg","assets/images/right-pointing.svg","assets/images/Unlink-button.svg","assets/images/link-button.svg","assets/images/cancel.svg","assets/images/menu.svg","assets/images/cross-menu.svg","assets/images/cross-menu-white.svg","assets/images/arrows_openMenu.svg","assets/images/arrows_closeMenu.svg","assets/images/services-icon.svg","assets/images/services-white-icon.svg","assets/images/new-request-icon.svg","assets/images/new-request-icon-white.svg","assets/images/archived-request-icon.svg","assets/images/archived-request-icon-white.svg","assets/images/about-icon.svg","assets/images/about-icon-white.svg","assets/images/my-request-icon-purple.svg","assets/images/my-request-icon-white.svg","assets/images/help-icon-purple.svg","assets/images/help-icon-white.svg","assets/images/help-icon-grey.svg","assets/images/dashboard-icon-purple.svg","assets/images/dashboard-icon-white.svg","assets/images/down-arrow.svg","assets/images/sorting-black-down.svg","assets/images/sorting-purple-down.svg","assets/images/sorting-purple-up.svg","assets/images/up-arrow.svg","assets/images/filter-icon.png","assets/images/plus-button.svg","assets/images/login-icon.png","assets/images/spinner.gif","assets/images/request-image.PNG","assets/images/reset-icon.svg","assets/images/success-icon.svg","assets/images/page-not-found.svg","assets/images/no-requests.svg","assets/images/collapsable-up-purple-arrow.svg","assets/images/cart.svg","assets/images/server.svg","assets/images/flow-chart.svg","assets/images/info.svg","assets/images/tick.svg","assets/images/green-tick.svg","assets/images/reject.svg","assets/images/red-reject.svg","assets/images/like.svg","assets/images/download.svg","assets/images/black-colored-info.svg","assets/images/more.svg","assets/images/alert.svg","assets/images/next.svg","assets/images/previous.svg","assets/images/search-icon-white.svg","assets/images/incident-form.svg","assets/images/rich-text-icon.svg","assets/images/expand-collapse.svg","assets/images/minus.svg","assets/images/clock.svg","assets/images/admin-module-purple-icon.svg","assets/images/admin-module-white-icon.svg","assets/images/action-pencil-purple.svg","assets/images/remove-bin-purple.svg","assets/images/down-arrow-head.svg","assets/images/remove-bin-file.svg","assets/images/attach-file-empty-state.svg","assets/images/file-attachment.svg","assets/images/contact.svg","assets/images/PopupClose.svg","assets/images/download-button-black.svg","assets/images/back-arrow-black.svg","assets/images/send-button.svg","assets/images/view-button.svg","assets/images/invoice-log-disable.svg","assets/images/send-button-black.svg","assets/images/black-cart.svg","assets/images/arrow.svg","assets/images/bell.svg","assets/images/bell-selected.svg","assets/images/paper.svg","assets/images/send-text-icon.svg","assets/images/add.svg","assets/images/right-chevron.svg","assets/images/down-chevron.svg","assets/images sync /^/.*$","assets/images/access_assets_and_tools.svg","assets/images/add_icon.png","assets/images/alert-circle.svg","assets/images/calendar.png","assets/images/cardImage.png","assets/images/chat-bot-icon.svg","assets/images/coe-banner.png","assets/images/down-arrow-colored-sort.png","assets/images/down-arrow-sort.png","assets/images/estimated-cost.png","assets/images/form_calander_icon.svg","assets/images/form_dropdown_icon.svg","assets/images/header.jpg","assets/images/help-add-attachment.png","assets/images/help-addToCart-button.png","assets/images/help-base-pack-filter.png","assets/images/help-base-pack-review-cart.png","assets/images/help-crp-form-details.png","assets/images/help-crp-form-submit-model.png","assets/images/help-crp-form-terms.png","assets/images/help-decommission-confirmation.png","assets/images/help-done-attachment.png","assets/images/help-extend-confirmation.png","assets/images/help-extend-decommission.png","assets/images/help-no-attachment.png","assets/images/help-process-composition-cards.png","assets/images/help-process-composition-cart.png","assets/images/help-process-composition-filter.png","assets/images/help-req-number.png","assets/images/help-req-popup-calender.png","assets/images/help-req-popup-dates.png","assets/images/help-req-popup-tabs.png","assets/images/help-request-filters.png","assets/images/help-review-cart-button.png","assets/images/help-review-cart.png","assets/images/help-sap-email-ids.png","assets/images/help-save-attachment.png","assets/images/help-signoff-desclaimer.png","assets/images/help-signoff-selected.png","assets/images/help-signoff.png","assets/images/help-success-factor-cart.png","assets/images/help-success-factor-modules.png","assets/images/help-success-factor-system.png","assets/images/info-icon.svg","assets/images/info-white-icon.svg","assets/images/invalid-cross-icon.svg","assets/images/landscape-cart.png","assets/images/landscape-select.png","assets/images/landscape-system.png","assets/images/left-menu.jpg","assets/images/pagination.png","assets/images/proceed-button.png","assets/images/request-number.png","assets/images/run_intellegent_dignosis.svg","assets/images/search-box.png","assets/images/select-service-search-page.png","assets/images/service-search-box.png","assets/images/service-search-page.png","assets/images/service-search-popup-page.png","assets/images/service-selection-image.png","assets/images/support_for_application_management_services.svg","assets/images/support_for_client_meeting.svg","assets/images/support_for_client_workshop.svg","assets/images/support_for_project_dilevery.svg","assets/images/support_for_project_estimation.svg","assets/images/support_from_sales_coe.svg","assets/images/up-arrow-colored-sort.svg","assets/images/valid_Icon.svg","configs/api-base-url.js","api/api-manager.js","api/sessionConfig.js","context-providers/app-service-provider/app-service-provider.js","components/constants/constant.js","components/spinner/spinner.js","components/button/nextbutton.js","components/button/secondary-button.js","components/outside-click-alerter/outside-click-alerter.js","components/modals/custom-modal.js","components/modals/modal.js","components/notifications/notifications-popup.js","components/header/header.js","context-providers/sidebar-provider/sidebar-provider.js","containers/about/about.js","containers/dashboard/dashboard.js","components/pagination/pagination.js","components/custom-input/custom-input.js","components/custom-select/custom-select.js","components/custom-select/styled-custom-react-select.js","components/custom-select/custom-react-select.js","components/custom-textarea/custom-textarea.js","components/popup/popup.js","components/tool-tip/tool-tip.js","containers/requests-grid/assignment/sap-additional-function.js","containers/requests-grid/assignment/sap-additional-details.js","components/validators/validate.js","components/checkbox/checkbox.js","components/custom-calenders/custom-calender.js","containers/requests-grid/assignment/buildReleaseSystems.js","context-providers/request-provider/request-provider.js","containers/requests-grid/assignment/sign-off.js","containers/form/crp-form/crp-form-validation.js","containers/form/sap-demo-form/sap-form-validation.js","containers/form/common-functionality-forms/form-common-functionality.js","components/cart/cart.js","containers/requests-grid/assignment/crp-sap-details-cart.js","containers/requests-grid/assignment/crp-additional-details.js","components/toast/toast.js","components/file-manipulations/download.js","containers/requests-grid/assignment/support-details.js","containers/requests-grid/assignment/request-assignment-function.js","containers/common/attachment-validation.js","containers/requests-grid/assignment/attachment-details.js","containers/requests-grid/assignment/asset-usage-functions.js","containers/common/object-manipulations.js","containers/requests-grid/assignment/asset-selection.js","containers/requests-grid/assignment/asset-usage.js","components/accordion/accordion-section.js","components/accordion/accordion.js","components/review-cart/review-cart.js","containers/form/process-composition-form/process-composition-functions.js","components/export-xlsx/export-xlsx.js","containers/requests-grid/assignment/process-composition-additional-details.js","containers/requests-grid/assignment/success-factor-additional-details.js","containers/requests-grid/assignment/talent-hr-additional-details.js","containers/requests-grid/assignment/oracle-form-additional-details.js","components/custom-multiselect/custom-multiselect.js","CustomHooks/useOutsideElementHandler.js","components/radio-button/radiobutton.js","containers/form/common-functionality-forms/form-imports.js","containers/requests-grid/assignment/solution-planning-additional-details.js","containers/requests-grid/assignment/solutioning-details.js","containers/requests-grid/assignment/request-assignment-import.js","containers/requests-grid/assignment/request-assignment-basic.js","containers/requests-grid/assignment/view-invoice.js","components/email-chip/email-chip.js","components/email-chip/react-rte-toolbar.js","containers/requests-grid/assignment/send-invoice.js","components/help/help.js","containers/requests-grid/assignment/request-assignment.js","components/modals/grid-modal.js","components/grid-header/grid-header.js","containers/requests-grid/grid/common-grid-functions.js","containers/requests-grid/grid/grid.js","containers/requests-grid/grid/internal-request-grid.js","components/toggle/toggle.js","containers/requests-grid/request-grid.js","containers/user-group-management/admin-scenario-box/admin-scenario-box.js","containers/user-group-management/admin-landing.js","components/floating-icon/floating-icon.js","components/left-navigation/leftnav.js","components/footer/footer.js","containers/scenario/scenarios/scenario-box/scenario-box.js","containers/scenario/scenarios/scenarios.js","containers/scenario/scenario.js","containers/scenario/services/technology-selection.js","containers/scenario/services/service-selection-function.js","components/additional-information/additional-information.js","containers/scenario/services/service-selection-common-component.js","containers/scenario/services/service-selection.js","containers/scenario/services/internal-request-services/internal-service-selection.js","containers/scenario/services/progress-bar.js","containers/common/tab-manipulations.js","containers/form/sap-demo-form/sap-demo-form.js","containers/form/basic-form/basic-form-validation.js","containers/form/basic-form/file-attachment.js","components/error/sessionError.js","containers/form/basic-form/basic-form.js","containers/form/crp-form/crp-form.js","containers/form/success-factor-form/success-factor-form.js","containers/form/talent-hr-form/talent-hr-form.js","components/custom-select/dropdown.js","containers/form/process-composition-form/process-composition-form.js","containers/form/oracle-form/oracle-form-validation.js","containers/form/oracle-form/oracle-form.js","containers/form/solution-planning-form/solution-planning-form.js","containers/scenario/services/tab.js","containers/internal-request-management/internal-request-form/internal-request-basic-form/internal-request-basic-form-validation.js","containers/internal-request-management/internal-request-form/internal-request-basic-form/internal-request-basic-form.js","containers/internal-request-management/internal-request-form/dia-request-form/dia-request-form-validation.js","containers/internal-request-management/internal-request-form/dia-request-form/dia-request-form.js","containers/internal-request-management/internal-request-form/scope-change-request-form/scope-change-request-form-validation.js","components/modified-feature-table/modified-feature-table.js","components/new-feature-table/new-feature-table-validation.js","components/new-feature-table/new-feature-table.js","containers/internal-request-management/internal-request-form/scope-change-request-form/scope-change-request-form.js","containers/internal-request-management/internal-request-form/accelerator-request-form/accelerator-request-form-validation.js","components/custom-select/MultiSelectCheckbox.js","containers/internal-request-management/internal-request-additional-details/accelerator-request-additional-details/links.js","containers/internal-request-management/internal-request-form/accelerator-request-form/accelerator-request-form.js","containers/internal-request-management/internal-request-form/report-request-additional-form/report-request-additional-form-validation.js","containers/internal-request-management/internal-request-form/report-request-additional-form/report-request-additional-form.js","containers/internal-request-management/internal-request-form/staffing-change-request-form/StaffingChangeRequestBulkUpdate.js","containers/internal-request-management/internal-request-form/staffing-change-request-form/staffing-change-request-form-validation.js","containers/internal-request-management/internal-request-form/staffing-change-request-form/staffing-change-request-form.js","containers/internal-request-management/internal-request-form/workday-form/workday-form-validation.js","containers/internal-request-management/internal-request-form/workday-form/Workday.js","containers/internal-request-management/internal-request-form/sales-advisory/sales-advisory-validation.js","containers/internal-request-management/internal-request-form/sales-advisory/sales-advisory.js","containers/internal-request-management/internal-request-form/myc-form/Myc-validation.js","containers/internal-request-management/internal-request-form/myc-form/Myc.js","containers/internal-request-management/internal-request-form/infra-support-form/InfraSupport-validation.js","containers/internal-request-management/internal-request-form/infra-support-form/InfraSupport.js","containers/scenario/services/internal-request-services/internal-request-tab.js","containers/scenario/common-functionality-search-scenario/request-submit.js","containers/scenario/services/services.js","containers/scenario/search/search-technology-selection.js","containers/scenario/search/search-pop-up.js","containers/scenario/search/service-card.js","containers/scenario/search/service-details.js","components/button/rounded-button.js","containers/scenario/search/filter.js","containers/scenario/search/search.js","containers/scenario/services/parameterised.js","components/page-not-found/page-not-found.js","containers/user-group-management/user-group-details.js","containers/user-group-management/user-group-management.js","containers/user-group-management/resolution-metrics.js","containers/user-group-management/response-metrics.js","components/checkbox/custom-checkbox.js","components/custom-select/custom-multi-select-checkbox.js","components/custom-chip/custom-chip.js","containers/user-group-management/incident-configuration-validation.js","containers/user-group-management/incident-configuration.js","containers/user-group-management/incident-management.js","containers/notifications/notification-page.js","containers/incident-management/common-functions.js","containers/incident-management/incident-summary/incident-summary.js","containers/incident-management/incident-history/incident-history.js","containers/incident-management/incident-sla-summary/incident-sla-summary.js","containers/incident-management/incident-details/incident-details.js","containers/incident-management/incident-modal/incident-modal.js","containers/incident-management/incident-list/incident-list-table.js","containers/incident-management/incident-list/incident-list.js","context-providers/incident-provider/incident-provider.js","containers/incident-management/incident-form-validation.js","containers/incident-management/incident-form/incident-form-service.js","containers/incident-management/incident-form/incident-form-application.js","containers/incident-management/incident-form/incident-issue-form.js","containers/incident-management/incident-form/incident-categories.js","containers/incident-management/incident-form/incident-form.js","containers/incident-management/incident-form-context-wrapper.js","containers/internal-request-management/internal-request-additional-details/internal-request-basic-details/internal-request-basic-details.js","containers/internal-request-management/azure-objects/azure-objects.js","containers/internal-request-management/internal-request-additional-details/dia-request-additional-details/dia-request-additional-details.js","containers/internal-request-management/internal-request-additional-details/scope-change-request-additional-details/scope-change-request-additional-details-validate.js","containers/internal-request-management/internal-request-additional-details/scope-change-request-additional-details/scope-change-request-additional-details.js","containers/internal-request-management/internal-request-additional-details/accelerator-request-additional-details/accelerator-request-additional-details.js","containers/internal-request-management/internal-request-additional-details/staffing-request-additional-details/staffing-request-additional-details-functions.js","containers/internal-request-management/internal-request-additional-details/staffing-request-additional-details/staffing-request-additional-details.js","containers/internal-request-management/internal-request-additional-details/reporting-request-additional-details/report-request-additional-details.js","containers/internal-request-management/internal-request-additional-details/workday-admin-request-additional-details/workday-admin-request-additional-details-validation.js","containers/internal-request-management/internal-request-additional-details/workday-admin-request-additional-details/workday-admin-request-additional-details.js","containers/internal-request-management/internal-request-additional-details/sales-advisory-additional-details/sales-advisory-additional-details.js","containers/internal-request-management/internal-request-additional-details/myc-request-additional-details/myc-request-additional-details.js","containers/internal-request-management/internal-request-additional-details/infra-support-additional-details.js/infra-support-additional-details.js","containers/internal-request-management/request-details/request-details.js","routes.js","context-providers/authProvider/authProvider.js","components/notifications/announcement.js","auth-utils.js","components/error/legalDisclaimer.js","components/modals/Homepage.js","App.js","indexApp.js","serviceWorker.js","runWithVault.js","history.js","oidc-config.js","index.js"],"names":["module","exports","__webpack_require__","p","map","./Form_title_icon.svg","./Hamburger.svg","./PopupClose.svg","./Unlink-button.svg","./about-icon-white.svg","./about-icon.svg","./acc-logo.svg","./access_assets_and_tools.svg","./action-pencil-purple.svg","./add-icon-square-border.svg","./add.svg","./add_icon.png","./admin-module-purple-icon.svg","./admin-module-white-icon.svg","./alert-circle.svg","./alert.svg","./archived-request-icon-white.svg","./archived-request-icon.svg","./arrow.svg","./arrows_closeMenu.svg","./arrows_openMenu.svg","./attach-file-empty-state.svg","./back-arrow-black.svg","./bell-selected.svg","./bell.svg","./black-cart.svg","./black-colored-info.svg","./calendar.png","./cancel.svg","./cardImage.png","./cart.svg","./chat-bot-icon.svg","./clock.svg","./close_HamburgerMenu.svg","./coe-banner.png","./collapsable-down-black-arrow.svg","./collapsable-up-purple-arrow.svg","./contact.svg","./cross-menu-white.svg","./cross-menu.svg","./dashboard-icon-purple.svg","./dashboard-icon-white.svg","./delivery-black.svg","./delivery.svg","./diagnostics.svg","./down-arrow-colored-sort.png","./down-arrow-head.svg","./down-arrow-sort.png","./down-arrow.svg","./down-chevron.svg","./download-button-black.svg","./download.svg","./enterprise.svg","./estimated-cost.png","./expand-collapse.svg","./file-attachment.svg","./filter-icon.png","./flow-chart.svg","./form_calander_icon.svg","./form_dropdown_icon.svg","./green-tick.svg","./header.jpg","./help-add-attachment.png","./help-addToCart-button.png","./help-base-pack-filter.png","./help-base-pack-review-cart.png","./help-crp-form-details.png","./help-crp-form-submit-model.png","./help-crp-form-terms.png","./help-decommission-confirmation.png","./help-done-attachment.png","./help-extend-confirmation.png","./help-extend-decommission.png","./help-icon-grey.svg","./help-icon-purple.svg","./help-icon-white.svg","./help-no-attachment.png","./help-process-composition-cards.png","./help-process-composition-cart.png","./help-process-composition-filter.png","./help-req-number.png","./help-req-popup-calender.png","./help-req-popup-dates.png","./help-req-popup-tabs.png","./help-request-filters.png","./help-review-cart-button.png","./help-review-cart.png","./help-sap-email-ids.png","./help-save-attachment.png","./help-signoff-desclaimer.png","./help-signoff-selected.png","./help-signoff.png","./help-success-factor-cart.png","./help-success-factor-modules.png","./help-success-factor-system.png","./idt-black.svg","./ies-black.svg","./incident-form.svg","./info-icon.svg","./info-white-icon.svg","./info.svg","./invalid-cross-icon.svg","./invoice-log-disable.svg","./landscape-cart.png","./landscape-select.png","./landscape-system.png","./left-menu.jpg","./like.svg","./link-button.svg","./login-icon.png","./menu.svg","./minus.svg","./more.svg","./my-request-icon-purple.svg","./my-request-icon-white.svg","./new-request-icon-white.svg","./new-request-icon.svg","./next.svg","./no-requests.svg","./page-not-found.svg","./pagination.png","./paper.svg","./path.svg","./plus-button.svg","./previous.svg","./proceed-button.png","./red-reject.svg","./reject.svg","./remove-bin-file.svg","./remove-bin-purple.svg","./request-image.PNG","./request-number.png","./reset-icon.svg","./rich-text-icon.svg","./right-chevron.svg","./right-pointing.svg","./run_intellegent_dignosis.svg","./sales-black.svg","./sales.svg","./search-box.png","./search-icon-white.svg","./search-icon.svg","./select-service-search-page.png","./send-button-black.svg","./send-button.svg","./send-text-icon.svg","./server.svg","./service-search-box.png","./service-search-page.png","./service-search-popup-page.png","./service-selection-image.png","./services-icon.svg","./services-white-icon.svg","./sorting-black-down.svg","./sorting-purple-down.svg","./sorting-purple-up.svg","./spinner.gif","./success-icon.svg","./support_for_application_management_services.svg","./support_for_client_meeting.svg","./support_for_client_workshop.svg","./support_for_project_dilevery.svg","./support_for_project_estimation.svg","./support_from_sales_coe.svg","./tick.svg","./up-arrow-colored-sort.svg","./up-arrow.svg","./valid_Icon.svg","./view-button.svg","webpackContext","req","id","webpackContextResolve","o","e","Error","code","keys","Object","resolve","API_BASE_URL","ADMIN_API_BASE_URL","INCIDENT_API_BASE_URL","INTERNAL_REQUEST_BASE_URL","BASE_URL","urlConfig","infoStatusArr","setHeaders","Content-Type","Authorization","concat","JSON","parse","sessionStorage","getItem","access_token","getData","_x","_getData","apply","this","arguments","_callee","_ref","serviceName","_ref$apiBaseUrl","apiBaseUrl","isInfo","regenerator_default","a","wrap","_context","prev","next","Axios","get","headers","then","response","status","data","errors","success","includes","error","toString","catch","errorMessage","actualErrorMessage","message","statusCode","request","abrupt","sent","stop","postData","_x2","_postData","_callee2","_ref2","_ref2$apiBaseUrl","_context2","post","reasonPhrase","successMessage","title","errorDetails","fileUploadPostData","_x3","_fileUploadPostData","_callee3","_ref3","_ref3$apiBaseUrl","_context3","getTokenData","token","id_token","setItem","jwt","require","decodedToken","decode","upn","eid","expiry","exp","iat","substring","indexOf","AppServiceContext","React","createContext","AppServiceProvider","props","_this","classCallCheck","possibleConstructorReturn","getPrototypeOf","call","state","userRole","userHasRequests","showAdminIcon","undefined","clicked","screenName","showHelpOpt","reqPopupOpen","unreadNotificationCnt","existingReadNotificationIds","notificationData","isRequestNumber","isIncidentCategoryID","requestID","requestValue","getDetails","adalToken","tokenData","setState","NotificationList","UnreadNotificationCount","showSpinner","hasRequests","roleId","globalNotification","IsFirstTimeUser","notificationList","Notifications","length","announcementNotification","singleNotification","find","isDisplay","entries","toConsumableArray","newUser","tourNotification","getNotifications","showErrorPopup","_this2","userName","_this$state","react_default","createElement","Provider","value","name","showHelp","newData","objectSpread","setScreenName","addNewDataInContext","children","Component","SALE","sale","PATH","path","DELIVERY","delivery","ENTERPRISE","enterprise","DIAGNOSTICS","diagnostics","ACCENTURELOGO","accLogo","HAMBURGER","hamburger","CLOSEHAMBURGERMENU","closeHamburgerMenu","SEARCHICON","searchIcon","CANCELICON","cancleIcon","MENUICON","menuIcon","CROSSICON","crossIcon","CROSSICONWHITE","crossIconWhite","EXPANDMENUARROWS","ExpandMenuArrows","CLOSEMENUARROWS","CloseMenuArrows","SERVICES_ICON","servicesIcon","SERVICES_WHITEICON","servicesWhiteIcon","NEW_REQUESTICON","newRequestIcon","NEW_REQUEST_WHITEICON","newRequestWhiteIcon","MY_REQUEST_PURPLEICON","myRequestIcon","MY_REQUEST_WHITEICON","myRequestWhiteIcon","HELP_PURPLEICON","helpIcon","HELP_WHITEICON","helpWhiteIcon","HELP_GREYICON","helpGreyIcon","ARCHIVED_REQUEST_ICON","archivedRequestIcon","ARCHIVED_WHITE_ICON","archivedRequestWhiteIcon","ABOUT_ICON","aboutIcon","ABOUT_WHITE_ICON","aboutWhiteIcon","DASHBOARD_ICON","dashboardIcon","DASHBOARD_WHITE_ICON","dashboardWhiteIcon","DOWNARROW","downArrow","DOWNARROWSORT","downArrowSort","DOWNARROWCOLOREDSORT","downArrowColoredSort","UPARROWCOLOREDSORT","upArrowColoredSort","UPARROW","upArrow","FILTER_ICON","filterIcon","SALESBLACK","salesBlack","DELIVERYBLACK","deliveryBlack","ENTERPRISEBLACK","enterpriseBlack","DIAGNOSTICSBLACK","diagnosticsBlack","CREATE_REQUEST","createRequest","LOGIN_ICON","loginIcon","SPINNER","spinner","FORMLOGO","formLogo","REQUESTIMAGE","requestImage","RESETPOPUPICON","resetPopupIcon","SUCCESSPOPUPICON","successPopupIcon","PAGENOTFOUND","pageNotFound","NOREQUESTCREATED","noRequestCreated","ACCORDIONDOWNBLACKARROW","accordionDownBlackArrow","ACCORDIONUPPURPLEARROW","accordionUpPurpleArrow","REMOVEBINFILE","RemoveBinFile","ATTACHFILEEMPTYSTATE","AttachFileEmptyState","FILEATTACHMENT","FileAttachment","CONTACT","contact","POPUPCLOSE","PopupClose","DOWNLOAD","download","INFOINBLACK","infoInBlack","MORE","more","ALERT","alert","NEXT","PREVIOUS","previous","SEARCH_WHITEICON","searchIconWhite","DOWNLOAD_BUTTON_BLACK","DownloadButtonBlack","BACK_ARROW_BLACK","BackArrowBlack","SEND_BUTTON","SendButton","VIEW_BUTTON","ViewButton","INVOICE_LOG_DISABLE","InvoiceLogDisable","SENDBUTTONBLACK","SendButtonBlack","INCIDENTFORMWHITEICON","incidentFormIconWhite","RICH_TEXT_EDIT_ICON","richTextIcon","SEND_TEXT_ICON","SendTextIcon","ADD_ICON","AddIcon","UNLINK_BUTTON","UnlinkButton","LINK_BUTTON","LinkButton","RIGHT_CHEVRON","rightChevron","DOWN_CHEVRON","downChevron","ADD_ICON_SQUARE","addSquareIcon","ADD_ICON_TABLE","AddIconTable","SUB_ICON_TABLE","SubIconTable","MINUS_ICON_TABLE","MinusIconTable","CLOCK","clock","ADMINPURPLEICON","AdminModulePurpleIcon","ADMINWHITEICON","AdminModuleWhiteIcon","ACTIONPURPLEICON","ActionPurpleIcon","REMOVEGREYICON","RemoveGreyIcon","DOWNARROWHEADPURPLE","DownArrowHead","CART","cart","SERVER","server","FLOWCHART","flowChart","INFO","info","TICK","tick","GREENTICK","greenTick","REJECT","reject","REDREJECT","redReject","LIKE","like","RIGHTPOINTER","RightPointer","BLACKCART","BlackCart","BLACKARROW","BlackArrow","BELL","Bell","SELECTEDBELL","SelectedBell","PAPER","Paper","MONTHS","CALENDERMONTHLMT","CALENDERYEARLMT","Spinner","className","Nextbutton","assign","label","SecondaryButton","customclass","cartCount","popupclass","popupClassBtn","style","onClick","action","OutsideClickAlerter","setWrapperRef","bind","assertThisInitialized","handleClickOutside","document","addEventListener","removeEventListener","node","wrapperRef","event","contains","target","handleOutsideClick","extraClassName","ref","CustomModal","handleOk","handleCancel","_props$description","description","show","extraClass","showCancelBtn","buttonLabel","_props$showOkButton","showOkButton","showHideClassName","outside_click_alerter","src","Constant","alt","data-dismiss","nextbutton","secondary_button","Modal","handleClose","popupIcon","buttonPosition","_props$hideCloseIcon","hideCloseIcon","_props$hideOkBtn","hideOkBtn","_props$cancelBtn","cancelBtn","_props$showIcon","showIcon","_props$addBtn","addBtn","_props$disableAddBtn","disableAddBtn","handleSaveUser","_props$extraClass","hideClosebtn","closeButtonClassName","cancelBtnName","okBtnName","addBtnName","disabled","NotificationsPopup","context","defineProperty","detailsPopupID","notificationId","isRead","contextData","currentUnread","_this$setState2","Description","statusChange","reduce","acc","currentVal","ID","timeStamp","receivedDate","formatDistanceToNow","Date","notificationDetails","notificationPopupDetail","unreadCount","react_router_dom","to","closeNotificationPopup","item","isItemRead","react","key","Category","formatTimeStamp","createdDate","Title","getMoreDetails","modals_custom_modal","format","modals_modal","Header","opacity","click","showPopup","expand","hamburgerMenuElements","showNotifications","getHamburger","currentPage","history","location","hash","Consumer","appservice","constant","rel","href","data-tut","index","Url","Name","toLowerCase","toggleNotifications","notifications_popup","components_spinner_spinner","contextType","SidebarContext","SidebarProvider","sidebarState","sidebarData","About","aboutUsDetails","getAboutUsDetails","descriptionabout","providerData","navToggle","toggleMenu","width","allowfullscreen","allow","frameBorder","Dashboard","enableErrorPopup","dashboardDetails","appContextDetails","push","pathname","getDashboardDetails","dashboardDetailsNavigation","LEFT_PAGE","RIGHT_PAGE","range","from","step","i","pagination_range","Pagination","gotoPage","page","_this$props$onPageCha","onPageChanged","f","Math","max","min","totalPages","paginationData","pageLimit","totalRecords","handleClick","evt","preventDefault","handleMoveLeft","pageNeighbours","handleMoveRight","fetchPageNumbers","totalNumbers","pages","leftBound","rightBound","beforeLastPage","startPage","endPage","singleSpillOffset","leftSpill","rightSpill","leftSpillPage","rightSpillPage","extraPages","_props$totalRecords","_props$pageLimit","_props$pageNeighbours","ceil","aria-label","alignSelf","cursor","aria-hidden","CustomInput","inputtype","onBlur","onChange","placeholder","_props$showClearIcon","showClearIcon","_props$showErrorAlert","showErrorAlertIcon","_props$showErrorToolt","showErrorTooltip","handleClear","placeholderTextBelow","rest","objectWithoutProperties","parentClassNm","parent_custom_class","htmlFor","autoComplete","type","CustomSelect","options","_props$selected_value","selected_value","handleChange","_props$IsDisabledSele","IsDisabledSelect","field","valForUniqueness","val_for_uniqueness","isExist","val","useName","services","checkValExist","use_name","defaultValue","hidden","IsDisabled","IsSelf","isself","groupStyles","display","color","fontSize","marginBottom","formatGroupLabel","customStyles","control","styles","option","isDisabled","lineHeight","CustomReactSelect","selectedOption","handleStateData","_this$props","optionData","defaultSelection","react_select_browser_esm","isOptionDisabled","isdisabled","CustomTextArea","rows","cols","fieldDisabled","Popup","pcontent","ToolTip","toolTipTitle","toolTipText","_props$takeChild","takeChild","customClass","toolTipTextfield","tooltip","splitEmails","str","split","showStatusName","sapSystems","filtered","StatusList","filter","isEdit","Landscape","Systems","enableEdit","SAPAdditionalDetails","showConfirmationPopup","SystemId","landscapeId","_this$setState","userActionPopup","selectedSystemId","_this$setState3","submittedData","RequestNumber","requestnumber","LandscapeId","selectedLandscapeId","UserAction","UserActionId","getInitialReqStates","parseInt","extendDateActionId","showExtendDateModal","plannedStartDate","plannedEndDate","listOfUserEmails","industry","alertType","userActionMsg","userAction","emails","onMouseOver","tool_tip_tool_tip","popup_popup","handleExtendUserAction","row","colSpan","landscapeName","details","Status","ActionedBy","ActionedOn","handleClickOnMore","SystemID","sapSytemAction","indexVal","handleSystemAction","updateSystemdata","handleExtendDate","validWbs","validAzureObjectItems","validDealSize","validServicePOC","validClientName","validateScriptSymbols","validSid","validHostName","validInstanceNumber","validIpAddress","validUrl","validAmount","validSupportUrl","validSearch","validEmailId","validEstimatedEffort","validateField","tempWbs","toUpperCase","validateWbs","validateComment","validateDealSize","validateClientAccountLead","validateServicePOC","validateClientName","validateBuildRelease","trimName","pop","validateSid","validateHostName","validateInstanceNumber","validateIpAddress","validateUrl","validateAmount","validateSearch","test","validateAzureObjectSearch","validateSupportUrl","validateSupportFields","duplicateEmail","unique","valueArray","el","trim","Array","Set","parseFloat","validateWithPattern","pattern","RegExp","setErrorMessages","states","schemaData","requirFields","formFields","Validations","IsRequired","stateWithErrors","FieldDataType","fieldName","FormKey","schemaForField","formFieldWithError","setErrorMessagesForObjectFields","Config","errorkey","ValidationMessages","RequiredMessage","errorMessages","isFormFieldsValid","isValid","IsIPCLoadVisible","findIndex","FieldName","splice","isCoreTeamMember","genWLoad","j","console","log","resetStates","resetData","form","_objectSpread6","_objectSpread7","isInList","email","emailtype","isEmail","handleRichTextValidation","stateData","errorTxt","actualName","getName","invalidEmailList","emailList","invalidEmailArray","forEach","Checkbox","checkboxDisabled","CustomCalender","lastday","y","m","getDate","selectedDateInFormat","selectedYr","getYear","sltDecommDate","sltDecommYear","buildCalenderForYear","digit","sltDecommMonth","getUTCMonth","yearNum","userActionExtend","currentMonth","currentYear","count","monthEOD","innerAcc","currentMon","dateAndMon","tmpObj","isChangeDecommision","displayableDate","calender","currYr","_this3","date","selectedDt","formattedDate","dateFormat","selectedBtnName","_this4","yearLimit","nextPrevYear","eod","btnName","handleDate","okBtnLbl","tableHeader","tableKey","BuildReleaseSystems","getStatusName","statusList","getStatusID","updateArray","systemarray","updatedSystemIDs","temparray","prevState","handleOnClickEdit","toggleDDEditModeOn","handleDateChangeRaw","showEditUpdateSystemsBtn","isDataChange","updated","prevUpdated","showErrorToolTip","buildReleaseError","haveErrors","extendedDate","UserActionValue","handleInput","handleOnClickSave","handleOnFocus","handleClickUpdate","getInitialiseState","reloadData","setReloadData","reqNumber","Industry","isSystemsEditable","system","column","isoDate","errorMsg","setErrorMsg","haveErrorsFlag","values","ddChanged","isWarning","assignmentSystem","tempObj","RequestedCRPSystemList","EID","clearDDChanges","temp","updateDDValues","submitData","_this$setState4","checked","_this$setState6","Value","popupId","showDecommissionModal","showExtendConfirmModal","reqObj","DecommissionedDate","comments","_this$setState10","_this$setState11","crpTable","monthNames","showCartDetails","systems","extendDecommIcon","isEditable","getFullYear","custom_select_custom_select","servicePOCList","custom_input_custom_input","onFocus","es","selected","minDate","subDays","maxDate","addDays","placeholderText","onChangeRaw","popperPlacement","popperModifiers","flip","behavior","preventOverflow","enabled","hide","components_checkbox_checkbox","handleCheckBox","_this4$setState","getMonth","custom_calenders_custom_calender","handleCalenderCancel","handleCalenderExtend","handleModalClickCancel","handleOnClickCancel","reqStatusName","enableSignOff","handleExtendDecommissionSubmit","RequestContext","RequestProvider","preData","existingState","addSelectedData","SignOff","handleSignOffTermCheckBox","_e$target","isSignOffComplete","getInitialStates","isSignOff","canReloadBuildRelease","showSignOffCompleteMesg","disclaimer","crpCostDisclaimer","disclaimerbox","crpCostDisclaimerbox","signOffTerms","handleSignOffSubmit","validateCRP","formState","isError","termsAndCondition","termsAndConditionError","PlannedStartDate","PlannedStartDateError","differenceInCalendarDays","PlannedEndDate","PlannedEndDateError","validateEmailByPattern","keyName","DeliveryMD","inValidMsg","DeliveryMDError","DeliverySM","DeliverySMError","ProjectPOC","strArr","strArray","ar","ProjectPOCError","fieldError","haveError","_ref$keyName","Pattern","emailIds","replace","join","validate","formData","tmpErrObj","ListOfUserEmails","foundSameEmail","ListOfUserEmailsError","setInitialStates","_objectSpread2","keyString","requiredKey","fieldValue","fieldObj","setInitialStatesForObjectTypeFields","_objectSpread5","setContextData","setContextForObjectTypeFields","FormFields","getFormDataName","formName","crpFormData","sapFormData","oracleFormData","successFactorFormData","btpFormData","talentHRformData","getId","getSpecificID","showSpecificDropdowns","Cart","validateCart","stateWithError","setStates","cartArr","cartError","cartDetailsError","some","showError","setLscapeMandatorySysArrForDelete","arr","lscapeId","LscapeMandatorySystems","detailsArr","getCartDetails","cartDetails","constructor","tempSelectedDetails","clearCart","handleClearCart","setDataFromContext","setStatesFromContext","handleSetDataFromContext","landscapeList","lscapeArchLink","lscapeDescText","IndustryError","LandscapeError","setCartItemsOnUnmount","isFromCrpSapDetailsCart","allData","Feedback","CategoryList","Priority","PriorityList","validateFormData","errorData","isCartError","isValidCRPformData","isValidSAPformData","isValidOracleformData","isValidBTPformData","nativeEvent","selectedIndex","selectedIndustry","text","industryData","industryList","Landscapes","LandscapeFile","mandatorySystems","SystemDetails","IsMandatory","tempArr","earlierSelectedDetails","newSysObj","industryId","landscapeLbl","industryLbl","cost","Cost","isMandatory","isArray","cartItemIds","cartArray","tempArrForNewCart","isItemExist","filteredDetailsArr","showAlertDuplicateDetails","combineObj","selectedId","getAttribute","detailsArray","removeSystemDetail","systemDetails","fromCart","cartArrTemp","mandatoryIds","mandatorySysRemoveAlert","lscapeArchLinkPopup","tmpUrl","contentType","encodedString","lscapeArchImg","cartIndustryId","matchingId","matchingLbl","labelList","showSystemCost","selectMultipleIndusrty","isCustomData","customIndustryLbl","customLandscapeLbl","customSystemDetailsLbl","addBtnClass","landScapeOptions","_ref4","haveLandScapeOptions","totalCost","currValue","currentInnerVal","getSystemCost","totalItems","getAddedItems","isEmpty","FieldId","handleIndustry","landscapeErrorMessage","handleLandscape","getArchDiagramURL","disableSystem","defaultChecked","parent_id","is_mandatory","handleAddDetails","landscapeInfo","headData","getCartItemHeading","CrpSapDetailsCart","handleSubmitClick","tmpLandscapeDetailsArr","sys","IndustryId","requestNumber","landscapeDetails","showPopUp","setDefaultStates","getIndustryAndCartDetails","CartDetails","landscape","LandscapeSpecificSys","selectedIndustryData","industryListJson","ProviderData","components_cart_cart","CRPAdditionalDetails","handleSetReloadBuildRelease","reloadBuildReleaseData","handleShowCartDetailsClick","asyncToGenerator","mark","showCrpSapDetailsCart","reqAssignmentTabsDisplay","toggleHostingCloudDropdown","isHostingCloudProviderDDOpen","toggleServiceTypeDropdown","isServiceTypeDDOpen","onDDEditMode","hostingCloudProviderSelectedId","hostingCloudProvider","serviceTypeSelectedIdList","ServiceTypes","isDropDownUpdateDisabled","hostingCloudProvideDDHandler","checkDDUpdateChanges","serviceTypeDDHandler","list","selectedIds","tempSelectedValues","selectServiceList","isServiceTypeEditable","stringify","closeHostingHostingCloudDropdown","closeServiceTypeDropdown","selectedProvider","x","selectedProviderName","arrowDown","stopPropagation","serviceTypeDD","selectedList","selectedServiceType","isBuildSystemChanged","AdditionalDetails","HostingCloudProvider","ServiceType","isStatusChangedOnUpdate","LandscapeDetails","setStatusChangedOnUpdate","assignmentPopup","assigneeList","AssigneeList","Assignee","deliveryMD","deliverySM","projectPOC","POC","HostingCloudProviderList","ServiceTypeList","assignment_buildReleaseSystems","assignment_sign_off","request_provider","assignment_crp_sap_details_cart","Toast","textData","timeoutID","timer","showToast","prevProps","clearTimeout","setTimeout","downloadFile","apiResponse","fileName","downloadResponse","link","navigator","msSaveBlob","byteCharacters","atob","byteNumbers","charCodeAt","byteArray","Uint8Array","blob","Blob","msSaveOrOpenBlob","downLoadXmlFile","anchorTag","userAgent","search","css","body","appendChild","setAttribute","encodeURIComponent","remove","SupportDetails","getTotalCost","grandTotal","balance","expectedRecovery","validAmountData","amount","errorMsgs","validExpectedRecovery","tableDetails","RecoveryAmount","toFixed","handleEmptyRow","fortnight","comment","mode","isDataUpdated","showEmptyRow","clickedAddRow","opportunityStatus","recoveryStatus","templateUsed","storyLine","miscInformation","updatedRowData","prevData","opportunityStatusId","recoveryStatusId","isUrlListUpdated","expectedRecoveryAmount","isUpdateBtnEnable","handleView","invoice","showViewInvoice","checkAndSetUrls","urlList","isEnableAddUrl","multipleUrlsExist","handleAddUrlClick","dynamicallyAddedUrl","addUrlClicked","handleUrlChange","dublicateErr","extractKey","urlArray","_urlArray","allUrls","slice","checkValidation","enableDisableAddUrl","handleUrlDelete","_urlArray2","_x4","currentUrlList","prevUrlList","currUrl","prevUrl","clickedUpdateBtn","showModel","showCreateInvoicePopup","showSendInvoiceToast","getEid","getSupportDetails","reqSupportData","reqSupportDetails","recoveryStatusList","requestRecoveryList","opportunityStatusList","ActualRecoveryList","url","estimatedCost","modeList","isActualRecoveryEditable","IsActualRecoveryEditable","createInvoice","invoiceDetails","invoiceTraceMsg","isInvoicingEnabled","handleSetInvoiceGUID","setInvoiceTraceMsg","splittedUser","updatedRow","RecoveryFortnight","Comments","Mode","CreatedBy","CreatedByEmail","CreatedByName","CreatedDate","IsActive","currentDate","lastDay","num","setDate","removeitem","tempArray","deletedItem","ModeId","addRow","newUrlList","requestRecovery","toastText","closeValidationStatus","setValidationErrorMsg","errorKeys","_this$state5","maxLength","custom_textarea_custom_textarea","splitUserNames","handleRemove","addEmptyRow","toast_toast","handleDownload","handleUpdateClick","handleCreateInvoice","arrayUnique","array","styledAssignStatus","loadComponentDetails","tabcontent","tablinks","getElementsByClassName","getElementById","currentTarget","initialStates","activeTabName","showHelpBox","validatedWbsArray","createIncident","hideReqAssignmentTabs","sdmList","notifyUser","sdmServicePocList","formErrors","wbsError","opportunityIDError","commentError","clientAccountLeadError","servicePocError","interactionScenarioError","isDataNotUpdated","CRPAdditional","crptest","requestData","openAttachmentDetails","initialAttachmentCnt","reloadAllData","ValidationModalAction","sendData","closeValidationData","canReassignRequest","SelectedServiceID","navigate","validationData","goToAttachment","attachmentDetails","goToSupport","supportDetails","basic","hasAssignmentRight","assignRights","personsList","checkEmail","splitCoeContact","coe","splittedCoe","setBasicTabErrors","stateByResponse","demoDate","dealSize","reqType","servicePoc","servicePOC","reqStatus","reqStatusId","isAssetsVisible","isIgnoreWBSValidation","clientName","isWbseRequired","wbsValidationList","isDealSizeEditable","opportunityID","clientAccountLead","clientDemoDate","technology","technologyList","projectPhase","marketUnit","industryGroup","typeOfService_DR","functionalArea","assetTypes","assetTypeList","transformationType","canApproveRequest","canGetAttachments","isValidationEnabled","sdm","wbs","showSupportDetails","enableComment","isCommentsEditable","ownerShipTransfer","isSMEService","scenario","isServiceEditable","isLinkEnable","studioLinkURL","validExtensions","checkValidFile","fileData","files","lastDot","lastIndexOf","ext","fileSize","size","file","AttachmentDetails","getUrl","incidentNumber","addNewAttachment","handleconfirmRemoveAttachment","checker","idx","guid","fname","removeNewAttachmentPopUp","removeExistingAttachmentPopUp","fileIndex","guserId","_x5","handleBack","locationDetails","isFromInternalRequest","filterValues","serviceSelectedFilter","expectedDateFilter","uploadedFileCount","fileDetails","uploadedFiles","getAttachmentData","handleCanAttachment","urlConcat","fileInfo","isBulkAttachment","canShowButtons","enableAttachment","newlyAttachmentCount","add","uploadError","handleRemoveItem","tmpAddNewAttachment","fileDetailsTemp","uploaded","finalAttachmentList","fileValidation","isFileError","handleFile","newFiles","fileFormData","FormData","append","uploadData","attachments","filename","enableUploadBtn","closeRequestData","closeRequestStatus","internalAttachment","uploadedBy","dateAdded","isDeleteVisible","fileGuid","accept","validateAttachFile","uploadFile","handleRemoveSpecificRow","handleDelete","enableAddRow","isEnableUpdate","updateClickCount","newRowCount","isDetailsView","isEditView","showAssetDeleteAlert","rowCountInEditView","editClickCount","phase","projectStage","assets","assetsInfoArr","assetDetails","phaseList","alreadyExistingAssets","detailsViewAssetArr","projectStageList","allAssetDetailsArr","existingPhaseStageComboArr","showAssetSelectionModal","activateBackdrop","prepareExistingAssetsData","existingAssetsList","phaseId","phaseName","acceleratorId","acceleratorName","showExpanded","detailsRowCount","PhaseStageCombination","hasChildren","asset","ProjectStage","stageName","AssetsInfo","allAssetsOfAcc","Assets","elem","detailsObj","recordId","isChildrenExpanded","enableUpdateFunction","newRowHasData","newRowHasNoData","isUpdated","createObjectArrForAssetUsage","arrToBeUpdated","acceleratorObj","accName","accId","assetId","assetName","clearStates","newStates","endsWith","result","phaseStageComboArr","updatedPhaseList","phaseStageMapping","handleAssetUsageCancel","newStateWithNullValueObj","desiredObjFromState","initialStatesWithValues","current","newStatesWithNullValue","setNewStatesToNull","uniqueArrayOfObject","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","done","has","set","err","return","removeObjFromArrayById","removeObjFromArrayByStringId","removeObjFromArrayByStringIds","iDsArr","fetchObjFromArrayById","prepareObjByArrWithKeyName","fliterByText","uniqueArrayOfObjectByScenarioId","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","FunctionName","IndustryName","ModuleName","ScenarioDescription","ScenarioID","ScenarioName","IndustryID","fetchIndexIdFromArray","attr","getUniqueIdFromArrayOfObjById","keyArr","isValExistInArray","arrData","validated","AssetSelection","getExistingData","results","assetsArr","selectedAssets","existingData","assetDetail","ele","arrOptions","selectedItems","assetsSelectionOnEdit","searchHandler","searchterm","selectedValue","assetArrMappedToAcc","selectedAssetsArr","selectedObjects","categories","allAssets","assetsPreExists","dataset","innerText","elemId","accObj","asstArr","handleAssetSelectionDone","modalId","filteredResults","isFilteredResult","emptytheSearch","handleSubmit","filtreditems","data-id","ischecked","AssetUsage","addStageIdInComboObj","phaseStageCombo","stageId","removePhaseStageCombo","removeObj","newPhaseStageComboArr","newStageList","stage","createStageListForAllPhaseId","createProjectStageMapping","stageIdsAlreadySelected","String","createStageList","checkForPhaseDisabling","cnt","handleAddRowClick","updateAssetObj","_callee4","elemIndex","updatedElement","prevCopy","unchangedAssetsList","isAssetsListChanged","_context4","enableUpdate","isNew","createRemoveComboObj","_ref5","_callee5","prevPhase","prevStage","removeCombo","prevElement","_context5","projectStageId","addNewPhaseStageObj","objElement","phaseStageArr","_ref6","_callee6","currentValue","tempPhaseStageArr","changedKey","changedPhaseIndex","updatedProjectStage","_updatedProjectStage","_context6","t0","_callee7","_context7","handleUpdate","_callee8","newAssetObj","assetData","_ref9","existingDataArr","_context8","isActive","PhaseID","AssetData","prepareExistingData","deleteAssetDetails","_ref10","_callee9","rowId","removedAsset","_this$state2","deleteRowId","allButRemovedAssetDetails","_isEnableUpdate","_allAssetDetailsArr","allOtherAssets","_context9","_x6","handleRemoveAsset","_ref11","_callee10","_context10","_x7","collapseExpandDetails","_ref12","_callee11","changedDetailsArr","_context11","_x8","handleEditClick","_callee12","existingAssets","existingDetailsArr","_context12","obj","existingRow","_ref14","_callee13","elId","_this$setState5","itemId","assetsObjArr","_context13","_x9","_x10","_x11","handleAssetSelectionClick","_ref15","_callee14","_this$setState7","_context14","modal","_x12","handleDeleteAlertCancelClick","handleDeleteAlertOKClick","getAssetDetails","enableAssetUsage","isTechChangedOnUpdate","updatedStates","setTechChangedOnUpdate","AssetDetails","ProjectStageList","_ref17","ExistingAssets","projectStageName","assetsNameArr","_this$state4","spellCheck","readOnly","data-modal","assignment_asset_selection","selectedAssetsObj","marginRight","showUpdateErrorPopup","closeErrorPopup","AccordionSection","isOpen","countServices","countSelected","displayHeader","countScenarios","showReviewCartCount","uniqueLbl","Accordion","openSections","techId","child","openAccordian","isReviewCart","cartLength","accordion_section","subText","handleAccordionLblSelection","displayLableSection","defaultProps","allowMultipleOpen","ReviewCart","lbl","scenarios","IsAdditionalDetails","emptyCartAlert","TopupSelected","cartItems","classNames","accordion_accordion","groupItem","groupScenarios","Scenarios","isTopUp","ScenarioCount","ScenarioType","sort","b","singleItem","isMand","isMandatoryScenarios","namelabel","handleSelectedScenario","handleShowMore","Constants","elementById","prepareCartObj","updateCartForRemove","getTopupScenarioIds","updatedArr","scenarioId","fileType","exportToCSV","ws","workItemDetails","csvData","isInternalRequestExport","listType","XLSX","json_to_sheet","C","RequestsFilter","RequestType","Service","SubmittedOn","skipHeader","origin","sheet_add_json","B","DueDate","RequestsDetails","wb","Sheets","RequestDetails","SheetNames","WorkItemDetails","excelBuffer","bookType","tempFileName","FileSaver","IncidentsFilter","IncidentType","IncidentDetails","createWorkBook","exportProcessCompData","WBS","CreatedOn","ScenarioDetails","exportBulkIntegrationData","ProcessCompositionAdditionalDetails","baseIndex","topUpIndex","showMoreClick","getScenarios","formattedData","RequestedScenarios","RecordsData","formattedCartData","cartScenarios","basePackArr","topupArr","basePack","topup","formatteReviewData","review_cart_review_cart","clickShowMore","handleExportXlsxData","handleXmlData","SuccessFactorAdditionalDetails","ModuleId","GroupId","ApplicationId","FunctionId","Groups","_this$props$StatusLis","Functions","_this$props$StatusLis2","statList","_this$props$btpSytemA","btpSytemAction","feedback","priority","_this$props$successFa","successFactorSytemAction","GroupName","Modules","class","ModuleID","Applications","ApplicationID","TalentHRAdditionalDetails","_this$props$talentHRS","talentHRSytemAction","Module","OracleFormAdditionalDetails","CustomMultiselect","_useState","useState","_useState2","slicedToArray","setSelectedItems","_useState3","_useState4","showDropdown","setShowDropdown","_useState5","_useState6","setSelectedIds","_useState7","_useState8","selectedOptionList","setSelectOptionList","_useState9","_useState10","selectAllFlag","setSelectAllFlag","dropDownRef","useRef","callback","useEffect","useOutsideElementHandler","tempOptionListWithId","element","tempSelectedItems","tempSelectedIds","tempSelectedOptionList","selectedValues","checkSelectAllOptions","Number","optionIds","flag","checkBoxClick","fromSelectAll","Fragment","isSelectAllOptionEnabled","Radiobutton","ConstantTmp","CustomReactSelectTmp","CustomSelectTmp","CustomMultiselectTmp","CustomInputTmp","CustomButton","CustomButtonTmp","CustomTextAreaTmp","ModalTmp","DatePicker","DatePickerTmp","dateFormatTmp","CheckboxTmp","SpinnerTmp","ToolTipTmp","CustomCalenderTmp","PopupTmp","OutsideClickAlerterTmp","CartTmp","RadioButton","RadioButtonTemp","SolutionPlanningAdditionalDetails","handleFormUpdate","OpportunityTypeID","opportunityType","OpportunityStageID","opportunityStage","DeliveryLead","deliveryLead","SolutionArchitect","solutionArchitect","additionalDetails","getAdditionDetails","convertNameToId","OpportunityTypeList","OpportunityStageList","validateInput","haveDuplicate","solutionPlanningFormSchema","errorKey","charAt","PatternMessage","duplicateMessage","formError","_this$props2","OpportunityStage","OpportunityType","isUserCanEdit","_this$props3","_this$props4","form_imports_CustomSelect","form_imports_CustomInput","form_imports_Spinner","enableUpdateButton","handleButton","SolutioningDetails","recordCheck","initialData","submitTools","proceed","lastIndex","filteredTools","Tools","PathType","tempInitial","record","val1","arrayItem","TotalCost","isNaN","checkedValue","valueInput","deSelect","valueIndex","ToolID","objValue","findSolAppindex","solApp","findSolAppValueindex","solAppValue","IsEnabled","filterIndex","rec","newObj","SetUp","IsEditableSetUp","OnGoing","IsEditableOnGoing","NoofMonths","grandTotalValue","selectedInput","selectIndex","objInput","findIPC","findSolApp","findSolAppIndex","findSolAppSelected","solAppSelected","tempSetUp","tempOngoing","total","ToolData","tempPath","checkNewTools","checkDeselectTools","res","selectPath","tools","radio_button_radiobutton","confirmPathChange","padding","enableCheckBox","handleExportPptData","checkExport","CustomModalTmp","CRPAdditionalDetailsTmp","SupportDetailsTmp","Spinnertmp","SAPAdditionalDetailsTmp","moment","momentTmp","AttachmentDetailsTmp","AssetUsageTmp","ProcessAdditionalDetails","ProcessAdditionalDetailsTmp","SuccessFactorAdditionalDetailsTmp","TalentHRAdditionalDetailsTmp","OracleFormAdditionalDetailsTmp","SolutionPlanningAdditionalDetailsTmp","SolutioningDetailsTmp","RequestAssignmentBasic","checkUserSearchList","searchUser","searchUserEID","userSearchList","user","enableReassignBtn","searchUserName","serviceChangeHandler","tmpSelectedService","searchSmeEID","isflag","handleServiceChange","showServiceChangeAlert","handleServiceChangeOKClick","servTechList","selectedServiceObj","serviceList","handleSetInteractionScenario","serviceData","isReassignedServiceEditable","isGet","isAssetTypeVisible","IsWorkFlowAutomation","getAssetTypeValue","getserviceTypeValue","handleChangeServiceRequest","handleServiceChangeCancelClick","getSMEServicePocList","searchedString","replaceAll","servicePocSuggestList","ValidateSMEServicePOC","getUpdatedServiceList","checkStudioAccess","redirectURL","_ref7","Eid","window","open","interactionScenarios","earlierInteractionScenario","AssetTypeError","handleSMEServicePocChange","isReassignmentDone","showReassignmentConfirmModal","handleCloseParentPopup","showAlertModel","alertText","handleTechChange","filteredRecord","category","submittedBy","submittedOn","serviceInfo","projectPhaseList","functionalAreaList","typeOfService","marketUnitList","_this$props$details","FilteredTransformTypeList","validIcon","validWBS","reassignCls","isUpdateEnable","defaultSdm","getDefaultFromList","defaultReqStatus","defaultServiceList","defaultTechnology","defaultIndustryGroup","defaultProjectPhase","defaultFunctionalArea","defaultTypeOfService_DR","defaultTransformationType","selectedServicePOC","defaultScenario","oppIdLabel","Items","isWorkFlowAutomation","request_assignment_import_CustomReactSelect","getOptionLabel","getOptionValue","handleTechnologyChange","isProjectPhaseEditable","handleMarketUnitChange","isOpportunityIDEditable","request_assignment_import_CustomInput","dealSizeError","handleChangeRaw","handleWBSInput","handleWbsBlur","clearInvalidWBS","isTypeOfServiceVisible","isIPCLoadVisible","iPCLoad","accessReason","leadDetails","selectServicePOC","handleServicePocChange","reqstatus","reassignModel","drLinkURL","textDecoration","fontWeight","request_assignment_import_Modal","handleReAssign","selectUserName","handleReAssignSubmit","request_assignment_import_Spinner","request_assignment_import_CustomModal","showTechnologyChangeAlert","handleTechnologyChangeClick","ViewInvoice","showInvoice","isIE","documentMode","getInvoiceDetails","invoiceGUID","showSendInvoice","sendPopUpMsg","invoiceTraceMessage","sendInvoice","handleSendInvoice","EmailChip","emailsArray","_props$editableField","editableField","onKeyDown","handlePaste","_props$disabled","_props$isError","_props$disableFormGro","disableFormGroup","onPaste","toolbarConfig","INLINE_STYLE_BUTTONS","BLOCK_TYPE_DROPDOWN","SendInvoice","handleBackClick","handleSendClick","subject","confirmInvoiceMailData","sendInvoiceMail","mailBody","emailArraytype","isRequiredField","subjectError","_evt$target","toEmailIdsArray","toEmailIds","toEmailIdsError","ccEmailIdsArray","ccEmailIds","ccEmailIdsError","bccEmailIdsArray","bccEmailIds","bccEmailIdsError","handleKeyDown","clipboardData","match","errorName","sendBtnEnable","fromEmailIdsArray","RichTextEditor","createEmptyValue","fromEmailIds","showConfirmPopup","getInitialData","createValueFromString","fromAddress","bccAddress","ccAddress","toAddress","confirmInvoiceMail","isConfirmTxt","sendObj","mailFrom","mailTo","mailCc","mailBcc","mailSubject","invoiceGuid","successTxt","email_chip_email_chip","emailErrors","fromEmailIdsError","react_rte_default","Help","searchByKeyword","searchData","searchTxt","searchedArray","questionsSetTitle","questionsSet","quesTxtMatches","que","ans","filteredQues","showElement","elementName","answerContent","elementData","displayAnswer","searchedData","searchHelpTxt","queTitle","selectedQuestionHeader","answerTemplate","template","content","queHeader","helpData","searchedHelpData","closeHelp","closeHelpBox","showAnswer","paragraphTitle","paragraph","listTitle","listItem","urlName","RequestAssignment","_this$validateAndSetS","validateAndSetStates","setStatesbyData","getStates","getServicesByTechId","getAssignee","handleInputCRPAdditional","_event$target","parentNm","systemId","systemNm","sysArr","existingSystemArr","errorLbl","handleCommentInput","_e$target2","commentErrorMessage","reqAccept","responseData","_this$validateAndSetS2","reqStatusNew","svcPocList","defaultSvcPoc","defaultSDM","_ref8","_this$validateAndSetS3","statusName","statusExclude","showTransport","_","isEqual","keyValue","functionRight","serviceTech","earlierServiceID","serviceObj","ServiceList","service","Options","_ref13","techValue","techList","isAssetsAdded","checkAssetsLength","techChangeHandlerForAssets","setTransformType","transformationTypeList","prevalue","preList","earlierTechID","preServiceValue","preServiceList","earlierSelectedScenario","prevInteractionScenarios","_args11","earlierTechName","earlierReqType","_x13","_x14","_ref16","_args13","earlierServiceName","_x15","marketUnitObj","_x16","_ref18","_callee15","_context15","_x17","reOpenReq","handleEnableAssign","enableAssign","_ref19","_ref19$add","existingCnt","getRequestDetails","getRoleId","hideAdditionalDetails","wbsValue","assetTypeError","userData","checkIsUserExist","scenarioType","serviceError","isClosedRequestValidation","isNotifyEnabledOnComments","enableReOpen","RequestReopen","validationServiceCall","SDM","ServicePOC","DealSize","ProjectPoC","Technology","ProjectPhase","MarketUnit","FunctionalArea","TransformationType","TypeOfService","AssetType","scenarioID","ReqStatusID","queryParams","params","handleUpdateRequestNo","getGridData","Validation","basicValidationError","searchedUser","smeServicePOC","requestStatus","checkRights","DemoD","CliDate","invoiceTxt","msg","handleGetData","_this$state$requestDa","crp","solutionPlanning","sap","successFactor","advanceForm","talentHR","oracleInfo","oracleLandscapeDetails","enableAssetUtilization","BTP","eFsuccessFactor","isReqAccepted","isReqRejected","requestDetailComments","processComposition","closeReqValidationMsg","reverse","getCloseReqValidationMsg","supportDetailsValidation","attachmentDetailsValidation","showHelpIcon","userRoleId","containerClassName","handleClickHelp","request_assignment_basic","handleInteractionScenarioChange","handleReqStatusUpdate","basicData","handleReqAccept","request_assignment_import_CustomTextArea","request_assignment_import_Checkbox","enableIncidentLink","showIncidentForm","request_assignment_import_CustomButton","request_assignment_import_SAPAdditionalDetails","request_assignment_import_SolutionPlanningAdditionalDetails","request_assignment_import_SolutioningDetails","request_assignment_import_OracleFormAdditionalDetails","request_assignment_import_SuccessFactorAdditionalDetails","request_assignment_import_TalentHRAdditionalDetails","request_assignment_import_CRPAdditionalDetails","AssignRights","crpAdditional","request_assignment_import_AttachmentDetails","request_assignment_import_AssetUsage","request_assignment_import_SupportDetails","setInvoiceGUID","handleViewInvoice","components_help_help","validationModalHandleOk","showAssetUsageReminder","AssetUsageErrorMessage","view_invoice","handleShowSendInvoice","assignment_send_invoice","GridModal","GridHeader","columnTitle","columnname","sortColumnName","sortedcolumn","sortBy","_props$showSortIcon","showSortIcon","arrowImg","handleSort","styledStatus","Grid","isNeedData","requestNo","sortedColumn","escFunction","overflow","keyCode","requestedService","appService","grid_header","serviceTooltipText","interactionScenario","handleOpenPopup","client","industryName","FunctionalAreaName","dueDate","username","splittedusername","coeName","coeEmail","servicepoc","modals_grid_modal","assignment_request_assignment","toggleModal","InternalRequestGrid","requestTitle","serviceOffering","leadSME","categoryNatureType","expectedDate","updatedBy","Toggle","disablecheck","retainedState","toggleTitle","RequestGrid","isDataNeeded","checkForInternalView","currentPageIndex","currentPageNumber","currentUrl","reqNoForApprove","selectedRequestFilterId","selectedServiceFilterId","selectedStatusFilterId","DemoStartDate","DemoEndDate","appliedSearchServiceTxt","getInternalData","handleClearFilter","statusFilter","searchService","errorSearchTxt","disabledSearchbtn","activeStyleElement","querySelector","classList","showActiveElement","sortColumn","Data","perPage","totalRequestCount","loading","head","Head","NoRequests","requestFilter","RequestFilter","serviceFilter","ServiceFilter","StatusFilter","showInternalRequestViewSlide","users","per_page","current_page","isParameterised","expectedDateSelectedValue","serviceSelectedValue","filterSelectedValues","toggleToInternalRequestView","setFilterSelectedValues","getInternalRequests","initialGridURL","isOpenReqModal","InternalReqparams","splittedParams","isParameterisedInternal","isDate","isErrorSearchTxt","clearSearch","which","handleSearchInput","isInternalRequest","toggle_toggle","ToggleButton","handleServiceFilter","onKeyPress","searchOnEnterKey","grid_grid","handleExportData","pagination","grid_internal_request_grid","closePopup","AdminScenarioBox","comingSoon","AdminScenarioTitle","AdminScenarioURL","AdminLanding","showSingleRequest","categoryId","adminSettingTitle","btnClick","reload","clear","allScenerio","activeItem","getCategories","handleMouseHover","onMouseLeave","handleMouseLeave","ImageSrc","admin_scenario_box_admin_scenario_box","withRouter","FloatingIcon","togglePopup","xmlns","height","viewBox","version","stroke","strokeWidth","fill","fillRule","transform","d","LeftNav","showing","items","icon","focusIcon","toggleSideNav","showHide","floating_icon_floating_icon","selectTab","handleClickTab","handleOnHelpClick","Footer","ScenarioBox","ScenarioBoxTitle","ScenarioBoxUrl","Scenario","_isMounted","catId","isComing","isInternalReq","scenerioTitle","IsComingSoon","CatID","IsInternalRequest","scenario_box_scenario_box","scenario_scenarios_scenarios","TechnologySelection","technologies","technologyId","setDefaultSelection","selectedServices","serviceGroupCount","estimatedMax","estimatedMin","advanceForms","ToggleStatus","handleRadio","searchServiceData","textDisplayProp","grpName","serviceArray","IsAccOpen","ServiceProviderTeam","Services","mainService","subService","u","calculateEstimateCost","costMin","costMax","_ref2$canAdd","canAdd","_ref2$replaceCostWith","replaceCostWithNew","tmpCosts","checkContext","estimatedMinTemp","estimatedMaxTemp","serviceCount","handleValidateSelectedServices","haveChild","selectedChildId","handleShowNextBtn","showNextBtn","finalSelectedServices","selectedServicesArray","k","AdditionalInformation","infoID","infoId","additionalInfo","ServiceId","heading","ServiceInfo","question","answer","bullet","ForMoreInformation","ServiceHeaderCount","showService","estimatedCostColor","ToggleAndSearch","handleToggleButtonProp","DisplayableCost","displayableCost","ServiceSelection","tooltipContainer","tooltipVisible","serviceId","groupCount","filterServices","searchUngrp","showEmptySearch","defaultService","basicFormData","contextVal","processCompositionFormData","handleSearchService","TBDArr","parentId","parentName","isEstimated","isCalEstimation","isTBD","handleGrpCnt","selectedChildName","calculatedCosts","advnForm","grpIndex","crpServiceTitle","sapServiceTitle","oracleServiceTitle","processCompositionServiceTitle","successFactorServiceTitle","btpServiceTitle","talentHRServiceTitle","solutionPlanningServiceTitle","TBD","advForm","tempServices","haveSelectedChild","advnFormArr","elementID","tooltipContent","marketUnitDefault","showForm","submitServiceData","groupMatches","haveContextData","TBData","service_selection_common_component_ServiceHeaderCount","service_selection_common_component_ToggleAndSearch","ToggleButtonProp","serviceGroupName","groupServices","contextServiceCounter","selectedServiceCount","showChild","selectedServiceID","rowKey","CostMin","CostMax","IsDecommissioned","costmin","costmax","havechild","advform","AdvanceForm","groupindex","grpname","groupname","AdditionalInfoForService","showAdditionInfo","components_additional_information_additional_information","service_selection_common_component_DisplayableCost","showTooltip","itemName","isChildServiceSelected","parentid","parentname","InternalServiceSelection","internalRequestFormData","serviceTitle","showText","ProgressBar","grouping","r","create","_this2$props","textDisplay","fromSearch","toUpper","serGrouping","srIndex","SAPDemoForm","handleClearForm","handleOnClickBack","handleFormSubmit","getFormData","resetPopup","submitPopup","additionFormSchema","formIndex","getIndustries","labelListJson","Label","ClientDemoDate","resetFields","_validateInput2","setErrorStates","tabCollectingData","cartObj","tmpObjForSelectedSystems","systemArr","systemIdsObj","SAPSystems","dateObj","btnLbl","handleBtnClick","onSubmit","selectsStart","handlePlannedStartDate","FieldType","form_imports_CustomTextArea","form_imports_Cart","form_imports_Modal","validateFieldsByPattern","fileStyle","cancelAttachment","attachmenData","selectedFile","showFileAttachPopup","handleconfirmDeleteAttachment","removeAttachmentPopUp","showTable","for","SessionError","BasicForm","getJoyRideContent","DoNotShow","handleJoyRideCheckboxClick","handleJoyRideBackClick","handleJoyRideOkClick","getJoyRideContent1","handleJoyRideCheckboxClick1","handleJoyRideBackClick1","handleAttachPopUp","openAttachment","handleSetAttachmentData","selectedFiles","handleCustomSelect","getProjectPhaseList","showSessionAlert","handlePopup","isPopChecked","handlePopupTransformation","isTransformationPopupChecked","OppIDPopupVisited","TransformationTypeVisited","steps","disableBeacon","hideCloseButton","placement","popUpVisited","TransformationTypePopupVisited","newSteps","handleClientDemoDate","handleClientNameInput","activeIndustry","activeTransformationType","activeProjectPhase","activeFunctionalArea","activeServiceType","activeAssetType","oppIdList","isSales","isDelivery","isExplore","tempState","Tp","setFormDataOnUnmount","existingContextData","additionalStateData","ClientName","clientList","OppidPopupSeen","TransformationTypePopupSeen","oppIdPlaceholder","validOppId","inCorrectWBS","inCorrectOppId","WBSError","File","prevWBS","validWbsArray","technologyOptions","tmpOppId","OpportunityID","isValidBasicFormData","setWbsOption","getList","GetPopupdata","svcStatus","dataAvailable","decommission","basicFormSchema","linkPopup","wbsOptional","industryPlaceholder","transformationPlaceholder","geographyList","serviceTypeList","IsAssetTypeVisibleList","prevOppId","preFilledDescription","selectedServiceIds","TypeOfService_DR","WBSValidation","MarketGroup","Transformation_Type","IsAssetTypeVisible","PrefilledDescription","marketGroupList","resetFeilds","ClientNameError","clientID","projectPhaseName","Geography","usageType","ClientId","AccessReason","LeadDetails","WorkflowAutomation","workFlowAutomation","showCRP","cookieOptions","domain","DOMAIN","sameSite","protocol","secure","cookieString","cookie","LeadDetailsError","AccessReasonError","wbsApiError","clearInvalidOppId","trimStart","stringClient","ClientError","SpecificProjectPhaseList","Phase","validationDetails","inValideMessage","isDescriptionValid","DescriptionError","inValidLeadDetailsMessage","inValideDescReqdMessage","isDealSizeValid","DealSizeError","OpportunityIDError","ClientAccountLead","ClientAccountLeadError","FunctionalAreaError","ServiceTypeError","inValideWBSMessage","FunctionalName","func","ProjectPhaseName","ClientNameFlag","KeyValue","FunctionalFlag","ProjectFlag","inValideWBSRequiredMessage","validateBasicForm","LimitMessage","ZeroMessage","MinDescription","MaxDescription","haveAdvForm","startDate","lastDayOfMonth","displayableErrorMsg","ipcFieldOptions","AppContextData","react_joyride_es","disableOverlayClose","disableOverlay","disableScrolling","buttonClose","buttonNext","selectClientName","selectActive","handleOppIdBlur","maxlength","form_imports_CustomReactSelect","selectedData","data-tooltiptext","handleIPCLoadInput","handlegenWLoadInput","form_basic_form_file_attachment","sessionError","CrpForm","getIndustryList","crpFormSchema","hostingCloudProviderList","showCalender","Disclaimer","endDate","errValidation","landScapeObj","truncateError","form_imports_ToolTip","handleCalenderPopup","form_imports_OutsideClickAlerter","form_imports_Popup","form_imports_CustomCalender","handleCalenderDateSelection","projectPOCError","form_imports_Checkbox","handleTermsConditions","SuccessFactorForm","handleInput1","Feedbackerror","Feedvalueerr","prepareSubmitData","formDataName","SuccessFactorModules","tmpObjForSelectedFunctions","BTPFunctions","moduleId","groupId","priorityId","applicationArr","appIdsObj","applicationId","functionId","closePriorityTypeDropdown","isPriorityTypeDDOpen","togglePriorityTypeDropdown","priorityTypeDDHandler","Priorityerror","priorityTypeDD","selectedObj","selectedItem","handleMultiSelectChange","Categoryerror","selectedIds1","skipPriorityCheck","priorityName","checkCategoryerror","checkPriorityerror","checkFeedbackerror","TalentHRForm","TalentAndHRModules","DropDown","ProcessCompositionForm","activeSection","basePackChbk","basePackIndustry","topUpIndustry","topUpFunction","tmpTopUpIndustry","tmpTopUpFunction","tmpTopUpModule","topUpModule","selectedBaseIndustryNm","selectedTopUpIndustry","retainingData","earlierData","selectAllCheck","showReviewCart","searchScenario","isSelectAll","mandatoryScenarios","activeSectionsearchTextFilter","activeSectionIFMFilter","activeSectionbasePackFilter","topUpIFunctionsList","topUpModuleList","baseIndustryList","topUpIndustryList","getIndustryScenario","getTopupFuncList","OnChange","getTopupUpdateScenarios","selectedScenario","reviewCartData","topupScenarioAddedAlert","updatedCartScenarios","showAlertForSameTopupBaseScenarios","sameTopupBaseScenariosTxt","filteredIndustries","mandatoryAndSelectedValues","updatedScenarios","allFunSelected","isSearchScenario","updatedFunList","tempTopUpFunction","topUpFunctionData","getTopUpModule","uniqueModules","currentFunc","updatedModuleList","topUpModuleData","isTopUpSelected","showSearchedText","activeSearch","activeIMFFilter","totalCartItems","tmpProcessCompObj","BasePackIndustryId","topupScenarios","topupScen","TopUpScenarios","basePackScenarios","basePackScen","BasePackScenarios","basepackselectedItems","topUPselectedItems","cartScenarioIds","itemsToBeAddedCount","currentScenarioIds","selectedItemsValues","intersection","showAlertDuplicateScenario","existingSelectedScenarios","tmpCart","selectedBasePackIndustry","uniqueScenarios","basePackIndustyNameTxt","industyNameTxt","tmpBasePackArr","basePackUpdated","getTopUpObj","cartData","combineData","getSearchScenarios","updatedCart","handleRemoveSelected","getBaseOrTopUpObj","filteredScenarios","tmpCartObj","tmpBaseOrTopupObj","topUP","basicpack","isDelete","backPack","handleReviewCart","hasOwnProperty","updateCartItems","showAlertForMandatoryScenario","showAlertForMandatoryScenarioTxt","IsTopup","updateBasePackCartItems","setTooltipText","basePackItems","topUpSelectedItems","mergedScenarioText","allSelected","showAlertRemoveSelected","topupSelected","reviewData","topUpselectedItems","retainSelectedItems","basePackSelectedItems","filteredBasepackScenarios","basePackPClassNm","revCount","activeBasePack","handleBasePackCheckBox","components_custom_select_dropdown","handleBasePackIndustry","handleTopUpIndustry","handleTopUpFunction","all_fun_selected","handleTopUpModule","handleSearch","selectAllScenarios","clearAll","isMandatoryScenario","handleCardSelection","handleAddToCart","clearSelectedItems","handleSelectedData","handleDeleteScenario","removeItem","OracleForm","SolutionPlanningForm","setOpportunityType","opportunityTypeList","setOpportunityTypeList","setOpportunityStage","opportunityStageList","setOpportunityStageList","setDeliveryLead","_useState11","_useState12","setSolutionArchitect","_useState13","_useState15","_useState16","setFormError","_useState17","_useState18","showResetPopup","setResetPopup","_useState19","_useState20","setShowSpinner","useContext","_useState21","_useState22","setBasicFormData","_setInitialStates","solutionPlanningFormData","oppType","oppStage","delLead","solArchitect","oppTypeList","oppStageList","formErr","_getFormData","_data$OpportunityType","_data$OpportunityStag","validateOnSubmit","errorFlag","fieldErrName","fieldErrorMsg","patterne","patterns","isValids","_validateOnSubmit","Tab","OnBtnClick","hasAttribute","tabIndex","valStatus","isDecommissioned","preFilledData","svcStatusObj","svcMessage","isSAPDemo","isCRP","isSuccessFactor","isSuccessFactorEnhancement","isBTP","isETRH","isTalentHR","isProcessComposition","isOracle","isSolutionPlanning","crpTabNm","sapTabNm","oracleTabNm","successFactorTabNm","btpTabNm","talentHRTabNm","processCompTabNm","solutionPlanningTabNm","basicFrmBtnLbl","sapFrmBtnLbl","crpFrmBtnLbl","solutionPlanningFrmBtnLbl","successFactorBtnLbl","processCompBtnLbl","talentHRBtnLbl","sapFrmIndex","crpfrmIndex","successFactorFrmIndex","talentHRFrmIndex","solutionPlanningFrmIndex","processCompIndex","oracleFrmBtnLbl","oracleFrmIndex","btpFrmIndex","btpFrmBtnLbl","formname","formindex","basic_form_basic_form","backbtn","appServiceContext","formSubmit","crp_form_crp_form","oracle_form_oracle_form","sap_demo_form_sap_demo_form","success_factor_form_success_factor_form","talent_hr_form","process_composition_form_process_composition_form","form_solution_planning_form_solution_planning_form","ReactHtmlParser","validateAdditionalSMEArray","_ref2$keyName","getAddidtionalDetailName","InternalRequestBasicForm","handleExpectedDateChange","handleSelectRequestedBy","isSelf","isSelfRequestor","showEnterpriseIdField","OnBehalfRequesterEnterpriseIDError","OnBehalfRequesterEnterpriseID","handleSearchUser","getUserListBySearch","handleBackButton","advanceFormsName","LeadSMEArray","LeadSMEError","AdditionalSMEArray","AdditionalSME","AdditionalSMEError","RequestorArray","RequestorError","selectedExpectedDate","searchedUserList","ToolTipsList","showEnterpriseIdPopup","savedValueRichTextBody","savedObjectiveRichTextBody","savedCommentRichTextBody","savedSuccessMeasureRichTexTBody","richTextModalBody","getInternalRequestFormData","RequestedBy","RequestorTypeList","LeadSME","Requestor","isValidInternalRequestFormData","InternalFormSchema","GroupUsersList","CategoryOrNatureList","AppOrServiceList","IndustryList","FunctionalAreaList","ExpectedDate","RequestorType","GroupUsers","CategoryOrNature","AppOrService","ToolTips","requestorIsSelf","requestor","Objective","tempValue","RequestTitle","RequestTitleError","isValueStatement","ValueStatement","ValueStatementError","CategoryError","isObjective","ObjectiveError","CommentsError","validateInternalRequestForm","explanationError","existingIssueDetails","internalFormSchema","InternalRequest","SuccessMeasures","actualValue","imageModal","clickedRichTextBody","clickedActualRichTextName","_this5","_this6","ToolTipsData","selectRequesterID","handleImageModal","classname","handleExpectedDate","handleSubmitInternalRequest","handleCloseEditor","onRichTextChange","handleSendIconModal","DiaRequestForm","savedRequestDetailsRichTextBody","savedBusinessResultRichTextBody","savedTargetAudienceRichTextBody","savedCandidateProjectRichTextBody","savedAdditionalNotesRichTextBody","getDiaRequestFormData","diaRequestFormData","isValidDialRequestFormData","DiaRequestFormSchema","ExpectedBusinessResult","TargetAudience","isRequestDetails","RequestDetailsError","inValidMessage","isExpectedBusinessResult","ExpectedBusinessResultError","isTargetAudience","TargetAudienceError","validateDiaRequestAdditionalForm","DIARequest","CandidateProjectUsers","AdditionalNotes","additionalDetailsFields","handleSubmitDiaAdditionalForm","changedObjData","formDetail","selectedService","featureResult","checkErrorsByField","ScopeChangeRequestFormSchema","ModifiedFeatureTable","updateModifiedFeatureDetails","modifiedFeaturesCopy","_args","modifiedFeaturesArray","enableAddRowButton","isAddRowEnabled","modifiedFeatureArr","emptyValues","errorFields","sendIcon","richTextBody","richTextUpdatingObj","richTextUpdatingObjKey","modifiedFeaturesDetails","doesFeatureArrayNeedUpdation","setModifiedFeatureUpdationFlag","newModifiedMandatoryError","setnewModifiedMandatoryError","configObj","validity","valid","AzureID","currentObj","Id","maxId","FeatureName","ChangeDescription","ChangeDescriptionRichTextBody","filterFeatureCopy","newFeatureArrayDetails","modifiedObj","recordKey","richTextUpdatingKey","richTxt","txt","FeatureNameError","AzureIDError","ChangeDescriptionError","onChangeRichtext","handleRemoveFeatures","addNewRow","handleSaveRichTxt","handleDontSaveRichTxt","handleCloseIcon","featureDetailList","arrayList","NewFeatureTable","newFeaturesArray","fieldList","setIntialStates","doesNewFeatureArrayNeedUpdation","setNewFeatureUpdationFlag","newFeaturesCopy","handleValidation","featureName","stream","acceptanceCriteria","effortEstimation","proposedStartingSprint","proposedEndingSprint","Stream","AcceptanceCriteria","EffortEstimation","ProposedStartingSprint","ProposedEndingSprint","DescriptionRichTextBody","AcceptanceCriteriaRichTextBody","updateNewFeatureDetails","_this4$props","recordIndex","_this7","recordUpdatingCopy","_this8","StreamError","AcceptanceCriteriaError","EffortEstimationError","ProposedStartingSprintError","ProposedEndingSprintError","ScopeChangeRequestForm","ModifiedFeatureDetails","ModifiedFeature","NewFeatureDetails","NewFeature","NewFeatureData","ModifiedFeatureData","scopeChangeRequestFormData","finalObj","ScopeChangeRequest","ClientProjectExternalRequestor","ExternalRequestor","SummaryBudgetImpact","BudgetImpactSummary","StatementNeedToChange","savedStatementForChangeNeedRichTextBody","SummaryEffortImpact","savedEffortImpactSummaryRichTextBody","Recommendation","savedRecommendationRichTextBody","isValidScopeChangeRequestRequestFormData","getScopeChangeRequestFormData","MarketUnitDefault","isValidScopeChangeRequestFormData","isStatementForChangeNeed","StatementForChangeNeed","StatementForChangeNeedError","isEffortImpactSummary","EffortImpactSummary","EffortImpactSummaryError","isBudgetImpactSummary","BudgetImpactSummaryError","isRecommendation","RecommendationError","validationResult","RequiredformFields","fieldKeyName","fieldSchema","isFieldName","validateScopeChangeRequestAdditionalForm","Dropdowns","MarketGroups","isNewModifiedFeatureUpdated","Formkey","new_feature_table_new_feature_table","AdditionalDetailsData","newFeatureDetails","modified_feature_table_modified_feature_table","modifiedDetails","handleSubmitScopeChangeRequestAdditionalForm","requiredFields","MultiSelectCheckbox","closePopUp","dataPreExists","getSelectedItems","links","HyperLink","Editing","delete","AcceleratorRequestForm","newShowLinkArray","exploreLinkTextArray","showLinkTextArray","handleDeleteRowClick","isValidURL","isExploreLinkValid","dropdown","PhaseList","accAppList","functionList","Function","selectedServiceItems","savedPhase","savedAcceleratorApplicable","savedLevel1","savedLevel2","savedCuratorEID","savedWhatIsItRichTextBody","savedWhatValueDoesItBringRichTextBody","savedMobilizedRichTextBody","savedCommentsRichTextBody","showLinkIndex","getAcceleratorRequestFormData","acceleratorRequestFormData","AcceleratorRequestFormSchema","AcceleratorApplicable","Level1","Level2","CuratorEID","ShowLink","ExploreLink","FunctionArea","ServiceOffering","isLinkValid","AcclearatorAdditionalFormSchema","AcceleratorRequest","PhaseId","AcceleratorApplicableID","ApplicableAccelerator","IndustryIDs","FunctionalAreaIDs","ServiceOfferingsIDs","WhatIsIt","WhatValueDoesItBring","Mobilized","Showlinks","Explorelinks","isAcceleratorRequestFormData","ServiceName","subServices","isValidSubServices","validateAccRequestAdditionalForm","specificDropdownFlag","_this6$setState","custom_select_MultiSelectCheckbox","_this6$setState2","_this6$setState3","formField","accelerator_request_additional_details_links","handleInputLinks","handleSubmitAcceleratorFormRequest","validateCheckBox","ReportRequestAdditionalForm","FrequencyReport","FrequencyDateRefresh","DataSourceLinktoSourceFile","savedAdditionalRichTextBody","URLIncaseOfExistingreport","getReportRequestFormData","reportRequestFormData","isValidReportRequestFormData","ReportRequestAdditionalFormSchema","CheckboxName","validationCheckBoxDetails","FrequencyReportError","FrequencyDateRefreshError","isDataSourceLinktoSourceFile","DataSourceLinktoSourceFileError","ReportRequestSchema","reportingRequestFormData","ReportingRequest","ApplicableReportingRequest","FrequencyOfReportIDS","FrequencyOfDataRefreshIDS","reportRequestAdditionalFormField","isChecked","StaffingChangeRequestBulkUpdate","BulkRequest","bulkData","BulkRequestDownloadFile","onAttachmentChange","isStaffingChangeRequestForm","isActionEnabled","validateStaffingChangeRequestAdditionalForm","getRequiredFields","requestType","WBSAuthorizationType","RequiredFields","StaffingChangeRequestAdditionalFormSchema","TeamStructureRequiredFields","TeamChangesRequiredFields","WBSAuthorizationRequiredFields","OthersRequiredFields","fieldDetails","StaffingChangeRequestForm","handleSubmitStaffingChangeRequestForm","_validateStaffingChan","isType","fieldData","staffingChangeRequestFormData","additionalFieldDetails","StaffingChangeRequest","RequestTypeId","requestTypeDefault","IsType","isValidStaffingChangeRequestRequestFormData","requestTypeList","getStaffingChangeRequestFormData","staffingChangeRequestAdditionFormData","isValidStaffingChangeRequestFormData","StaffingChangeRequestFormSchema","TeamName","Role","CurrentTeam","CurrentRole","NewTeam","NewRole","EnterpriseID","AllocationPercentage","SupervisorID","EffectiveDate","ForecastDate","AdditionalComments","requestTypeOptions","requestName","wbsTypeList","handleRequestTypeChange","handleRadioSelection","staffing_change_request_form_StaffingChangeRequestBulkUpdate","schema","validateWorkdayAdminRequest","selectedWorkdayDefault","formFieldError","validDataFormKey","_validateInput","Workday","selectedWorkday","setSelectedWorkday","setSelectedWorkdayDefault","selectedReportDefault","setSelectReportDefault","setFormData","setSchemaData","_useState14","setSpinner","setFieldData","requestTypes","setRequestTypeOptions","errorResponse","setWorkdayError","_useState23","_useState24","isInformation","setIsInfo","_useState25","_useState26","errorPopup","setErrorPopup","_useState27","_useState28","workdayRequestDetails","setWorkdayRequestDetails","_useState29","_useState30","workdayLabelData","setWorkdayLabelData","_useState31","_useState32","setEid","workdayRequestFormData","workdayRequestSchemaData","workdayRequestErrorData","workdayRequestActionData","workdayRequestWorkdayDefaultData","workdayRequestReportDefaultData","getWorkdayFormData","StartDate","EndDate","getTime","EndDateError","formSubmissionData","formInfo","apiDataArr","selectionObj","submitInfo","WorkdayRequestDetails","SelectionTypeID","requestDetails","handleStartDateInput","errorInfo","StartDateError","handleEndDateInput","inputValidate","filterKeys","filteredError","basicWorkdaySchema","SelectReport","SelectReportError","validateRequest","validateDropdowns","SalesAdvisory","setOpenAttachment","setSelectedFiles","techTypes","setTechTypeOptions","industryTypes","setIndustryTypeOptions","funcAreaTypes","setFunctionTypeOptions","serviceTypes","setServiceTypeOptions","marketTypes","setMarketTypeOptions","categoryTypes","setCategoryTypeOptions","contentTypes","setContentTypeOptions","tech","setTech","setIndustry","funcArea","setFunction","_useState33","_useState34","setService","_useState35","_useState36","setCategory","_useState37","_useState38","_useState39","_useState40","_useState41","_useState42","_useState43","_useState44","salesRequestDetails","setsalesRequestDetails","_useState45","_useState46","salesAdvisoryFormData","salesRequestErrorData","getSalesFormData","techTypeOptions","industryTypeOptions","funcTypeOptions","serviceTypeOptions","marketTypeOptions","categoryTypeOptions","contentTypeOptions","salesAdvisorySchema","marketResult","contentResult","market","SalesAdvisorContentUpload","TechnologyID","FunctionalAreaID","function","ServiceOfferingID","MarketID","ContentType","DocumentLink","Link","Lead","handleDropInput","isRequired","titleError","technologyError","industryError","functionError","form_imports_CustomMultiselect","marketError","categoryError","contentError","LinkError","LeadError","ApplicationList","TechnologyList","RequestCategoryList","RequestTypeList","ApplicationName","ITEMID","NAME","Type","selectedApplication","application","FilteredRequestCategoryList","FunctionalList","ServicelList","ItemID","others","functional","TechnologyError","RequestTypeError","MyCSupport","RequestCategoryID","RequestTypeID","ProjectPoint","inputErrorMessage","idParts","startsWith","part","validateOnBehalfId","serverErrorMessage","InfraSupport","EnvironmentList","Environment","LineManager","IssueDescription","PriorityError","EnvironmentError","IssueDescriptionError","Comment","validateProjectPoint","InternalRequestTab","componentDidMount","isMycTabActive","isInfraSupportActive","isDiaRequest","isScopeChangeRequest","isAcceleratorRequest","isMyc","isInfraSupport","isReportRequest","isStaffingChangeRequest","isWorkdayRequest","isSalesAdvisoryRequest","tabNm","tabIndexFormName","diaFrmBtnLbl","diafrmIndex","isadditionalTabNm","workday_form_Workday","myc_form_Myc","internal_request_form_infra_support_form_InfraSupport","sales_advisory_sales_advisory","internal_request_basic_form_internal_request_basic_form","dia_request_form_dia_request_form","scope_change_request_form_scope_change_request_form","accelerator_request_form_accelerator_request_form","report_request_additional_form_report_request_additional_form","staffing_change_request_form_staffing_change_request_form","prepareFormData","_ref$isInternalReqFor","isInternalReqForm","_contextData$existing11","_contextData$existing12","_contextData$existing13","_contextData$existing14","_contextData$existing15","_contextData$existing16","_contextData$existing17","_contextData$existing18","_contextData$existing19","updatedinternalRequestFormData","removableKeys","updatedSAPObj","object","_contextData$existing","_contextData$existing2","_contextData$existing3","_contextData$existing4","_contextData$existing5","_contextData$existing6","_contextData$existing7","_contextData$existing8","_contextData$existing9","_contextData$existing10","CRP","SAP","OracleRequest","PROCESSCOMP","SuccessFactor","advanceFormDataObj","crpremovableKeys","updatedCRPObj","BTPIntelligentApplication","ProcessComposition","SolutionPlanning","updatedBasicFormData","checkIsFormEmpty","_contextData$existing33","_contextData$existing34","_contextData$existing35","_contextData$existing36","_contextData$existing37","internalReqData","workdayReqData","salesReqData","_contextData$existing20","_contextData$existing21","_contextData$existing22","_contextData$existing23","_contextData$existing24","_contextData$existing25","_contextData$existing26","_contextData$existing27","_contextData$existing28","_contextData$existing29","_contextData$existing30","_contextData$existing31","_contextData$existing32","makeCall","submitFormData","returnResponse","successMessageObject","_ref3$isInfo","responseRequestNumber","strParts","Promise","all","allrequests","disableSubmit","handleTechSelection","getServices","handleServiceSelection","handleServiceSubmit","showRequestForm","handleSelectedCount","grpCount","serviceTourExit","statusObj","getTechnologies","div","innerHTML","textContent","svcCount","groupCnt","inData","respFormEmpty","tmpFormData","urlMatch","decRepoURL","navToggleStatus","services_technology_selection","services_service_selection","providerDataSet","internal_service_selection","services_tab","internal_request_tab","services_progress_bar","redirectToList","SearchTechnologySelection","setDefault","defaultTechId","defaultTechNm","tmpTechnologyId","tmpTechnology","serviceCardActiveItem","fromParent","serviceDetails","showChecked","SearchPopUp","technolgyList","fromPopup","clrObj","serviceNm","techSelectionPopUp","ServiceCard","clearChildSelection","subServiceId","showTechnologyPopUp","itemNm","SvcStatus","Technologies","servicesList","serviceIndex","keyStr","active","highLightService","onMouseEnter","search_search_pop_up","techIdKey","handleService","ServiceDetails","subServiceNm","handleProceed","haveContext","svcMessageTitle","Descriptionbox","enableBtn","haveServicesData","serviceOptions","contextSubServiceId","technologyNm","getTechnologyName","marginleft","handleProcess","RoundedButton","Filter","filterId","handleFilterSelected","filters","rounded_button","handleFilter","Search","handleSubServiceSelection","searchedService","getDefaultSearchData","Filters","ServiceCount","resetFilter","search_search_technology_selection","search_filter","getFilters","search_service_card","search_service_details","Parameterised","handleErrorPopup","subOption","params1","paramsArr","parameterisedUrlApiCall","queryData","scenario_services_services","PageNotFound","UserGroupDetails","handleRemoveUser","removeUserEid","userList","UserName","updatedUser","eId","InAssignmentGroup","InSupportGroup","updatedUsersData","User","isUserRemoved","removeUserPopUp","updateUserData","showAddUserPopup","addUser","enableAddUserBtn","newUserDetails","cancelUser","showDiscardPopup","confirmRemoveUser","userDetails","handleSaveData","handleConfirmSaveData","getUsersDetails","serviceID","Users","otherGrpName","grpNameCheck","newUpdatedUser","filterData","isAllUnchecked","updateUserList","ename","showSaveDataPopup","mainSettingTitle","stroke-width","fill-rule","handleCheck","UserGroupManagement","toggleAssignmentPopup","popUpType","serviceUser","serviceUsers","popUpOpen","showAssignmentPopup","showSupportGroupPopup","clickedIndex","showDetails","getServiceUserGrp","agLength","AssignmentGroup","sgLength","SupportGroup","perUser","userEmail","data-key","handleOutsideAssignmentClick","handleOutsideSupportGroupClick","serviceid","servicename","user_group_management_user_group_details","ResolutionMetrics","metricsData","EditableFlag","Unit","ResponseMetrics","CustomCheckbox","CustomMultiSelectCheckbox","ItemsIndex","IsSelected","IssueType","assignSelectedItems","resultantArray","filteredIssueType","checkbox_custom_checkbox","addSLA","CustomChip","handleDropdown","validateIncidentConfiguration","hasError","_validateInputFields","invalidPriority","validateInputFields","IncidentConfiguration","fixed","defaultIssueValue","fixedIssue","configData","ResolutionMetricsProp","ResponseDurationProp","ResponseDuration","initialState","issueValues","selectedIssue","setSelectedIssue","displayedItems","setDisplayedItems","emailIdslabeachremainder","emailReminderIDArray","setEmailReminderIDArray","emailIdslabeach","emailIDArray","setEmailIDArray","emailID","setEmailID","emailReminderID","setEmailReminderID","responseMetrics","setResponseMetrics","resolutionMetrics","setResolutionMetrics","IsEditable","setIsEditable","SLAName","slaName","setSlaName","incidentReqStatus","setRequestStatus","isMounted","isMount","isMountEmail","isMountEmailArray","isMountEmailReminder","isMountEmailReminderArray","isReset","setIsReset","filteredItems","setFilteredItems","validateResolutionMetrics","validateEmailID","validateEmailIDArray","validateEmailReminderID","validateEmailReminderIDArray","validateOnInput","validateOnInputReminder","lb1","handleReset","getArrayId","handleSLAInput","handleStatus","_e$target3","_x18","arrayName","resultant","validatefieldsBeforeSubmit","IssueTypeIDs","impactedArea","applicationFlag","checkValidationsBeforeSubmit","fieldListService","fieldListApplication","_validateIncidentConf","isApplication","slaDetails","_x19","arrOpt","_x20","_x21","handleDeleteIssue","totalArray","filteredData","_x22","handleEditSubmit","editedData","slaID","_x23","slaNameError","requestStatusError","toolTip","custom_chip_custom_chip","displayedItemsError","custom_multi_select_checkbox","user_group_management_response_metrics","responseDurationList","ResponseError","user_group_management_resolution_metrics","resolutionMetricsList","ResolutionError","emailReminderIDError","emailIDError","IncidentManagement","setShowDetails","showIncident","setShowIncident","setClicked","removeSlaPopup","setRemoveSlaPopup","setaddSLA","serviceApplicationIndex","setServiceApplicationIndex","slaIndex","setSlaIndex","setError","gridData","setGridData","addData","setAddData","editData","setEditData","selectedServiceApplicationID","setSelectedServiceApplicationID","selectedSlaID","setSelectedSLAID","IsApplication","setIsApplication","_data$SLAGroupManagem","SLAGroupManagement","getAddSLAData","_getAddSLAData","_data$SLAGroupManagem2","getEditSLAData","_getEditSLAData","_data$SLAGroupManagem3","handleAddSLA","indexSLA","handlePostDelete","openIncident","handleEdit","initials","customInitials","slalist","SLAID","ImpactedArea","issue","user_group_management_incident_configuration","ServiceID","impactedAreaList","Tooltip","blockedImpactedAreas","NotificationPage","NotificationCount","noNotifications","onPageIndexChanged","getNotificationsPageData","getInitialNotifications","clickedId","notificationDetailsfield","spanClass","azureStatus","prepareTmpObjByArr","prepareTmpObjByArrForApp","prepareAppObj","IncidentSummary","textSplit","toggleDesc","enableAssignBtn","enableSubmitBtn","impact","selectReasonAction","clickedAction","clickOnUpdate","detailsData","calculatedPriority","showUserAssignPopup","showSubmitConfirmModal","initializeState","userRoleID","userEID","applicationDetails","applicationID","showAdditionalErrorMsg","additionalErrorMsg","createdBy","serviceDynamicField","dynamicFields","fields","actionName","assignUser","isActionError","reasonTxt","isCommentsMandatory","actionValidationError","validationMessage","actions","IncidentNumber","Impact","updateImpact","impactDetails","showAssignmentConfirmModal","Action","AssignedTo","Reason","incidentDetails","refreshIncidentDetails","setRefresherForSLA","incidentSummaryComment","fieldValues","SID","DDPApplication","ClientNumber","applicationName","urgency","impactName","ImpactList","reason","assignedTo","createdOn","issueSummary","issueDescription","TimeZone","WorkingSchedule","isNoteVisible","Reasons","isHidden","isDisable","handleSelect","handleAction","setComment","handleImpact","handleAssign","handleAssignSubmit","IncidentHistory","IncidentHistoryDataAPI","incidentDetailsData","IncidentHistoryData","historyDatas","setHistorydatas","SelectedStatus","StatusDescription","timestamp","timeSplitObject","time","timeSplit","TimeStamp","IncidentSlaSummary","percentageSLARespColor","setpercentageSLARespColor","percentageSLAResolColor","setpercentageSLAResolColor","setIncidentDetailsData","getIncidentDetails","refresherForSLA","Color","incidentObj","resIncidentObj","labels","_ref$add","roleID","isSLASummaryVisible","incident_summary_incident_summary","assignment_attachment_details","incident_sla_summary_incident_sla_summary","incident_history_incident_history","IncidentModal","IncidentListTable","incidentList","isService","showIncidentDetails","incidentNo","serviceApplicationName","requestorName","requestorEmail","assignedToName","assignedToEmail","incident_modal","incident_details_incident_details","IncidentList","totalIncidentCount","noIncidents","incidentViewFilterList","uniqueIncidentTypeList","selectedIncidentViewFilterId","selectedIncidentTypeFilterId","selectedIncidentStatusFilterId","onIncidentPageChanged","getIncidentListData","fromDate","toDate","prevSearchIncidentText","handleDataSort","searchIncident","isOpenIncModal","isIncidentOpen","getIncidentList","parameterisedIncident","handleSearchIncident","handleIncidentFilter","incident_list_table","IncidentContext","IncidentProvider","removeAllContextData","isNotValidRegex","setRequiredFieldErrors","issueSummaryFormSchema","applicationFormSchema","setRequiredFieldErrorsForService","addOnFields","SIDList","AssignedGroupList","DDPApplicationList","IssueTypeList","checkErrorForFields","FormFieldList","serviceFormSchema","checkErrorsByForm","assignedGroupList","resetFormStates","_objectSpread8","resetDataByField","IncidentFormService","handleReqSelection","handleReqClick","handleClientNumber","incidentContextData","handleSID","handleDDP","handleIssueType","_e$target4","handleImpactedArea","_e$target5","ImpactedAreaList","ParentID","reqSearchTxt","handleSearchApi","searchedText","isRequestNotFound","FieldList","serviceAddOnFields","FieldValues","RequestNumberError","newVal","paramVal","searchRequestList","handleReqList","requestList","formFieldSchema","requestLists","reqList","owner","IncidentFormApplication","checkForAssignedGroup","incidentCategoryID","IncidentCategoryID","AssignedGroupIdError","appAddOnFields","isAssignedGroupExists","AssignedGroupId","_this$props$incidentC","_this$props$incidentC2","_this$props$incidentC3","applicationNameList","IncidentIssueForm","urgencyList","timezoneList","urgencyBtnClick","handleTimeZone","_this$props$urgencyLi","defaultPriority","IsDefaultUrgency","UrgencyID","activeBtnClass","IncidentCategories","categoryList","handleCategorySelection","fetchCategories","handleUrgencyList","handleTimeZoneList","timzoneList","IncidentForm","getSystemOrApplicationData","IssueSummary","IssueSummaryError","WorkingScheduleError","TimeZoneError","URL","URLError","ImpactedAreaError","IssueTypeError","submitAPI","tmpServiceObj","appObj","tmpAppObj","_ref2$isInfo","IssueFormSchema","showServiceForm","Columns","Incident","handleSubmitIncident","haveExistingFormErrors","isRequiredFieldsValid","isRequiredIssueFieldsValid","haveExistingIssueFormErrors","validateServiceForm","validateApplicationForm","validateIssueForm","defaultIssuePriority","issueTypeList","handleCreateIncidentForRequestAPI","isResetData","isServiceIncident","issueFields","applicationFields","_this$state$showForm","incident_form_incident_categories","incident_form_service","incident_form_application","incident_issue_form","IncidentFormContextWrapper","incident_provider","incident_management_incident_form_incident_form","InternalRequestBasicDetails","isValidPattern","isValidAdditionalSME","additionalSmeArray","additionalSmeError","handleSme","isMailIdTyping","smeArray","smeError","additionalSme","RichValueStatement","RichObjective","RichSuccessMeasures","internalRequestDetailsData","Lables","categoryOrNature","categoryOrNatureList","sponsorAndFunding","appOrService","appOrServiceList","servicePoC","servicePoCList","estimatedEffort","onBehalfof","onBehalfOf","valueStatement","objective","successMeasures","additionalSMEs","sme","initailSme","initialAdditionalSme","IsAcceleratorApproveRequest","setServicePocDefaultError","validateEstimatedEffort","servicePoCError","_this$setState9","PrevD","UpdatedDate","RequestStatusId","TechnologyId","SponsorAndFunding","appOrServiceId","functionalAreaId","FunctionalAreaId","ServicePoC","LeadSmeArray","AdditionalSmeArray","AdditionalSMEs","EstimatedEffort","isAcceleratorApproverFlow","Decision","redirectToAdditionalTab","internalRequestDetails","Labels","RichObjectiveTextbox","RichSuccessMeasuresTextbox","commentsInternalRequest","request_assignment_import_CustomSelect","requestTitleError","sponsorAndFundingError","estimatedEffortError","SuccessMeasureError","AzureObjects","searchWorkItemID","WorkItems","getAssociatedWorkItemDetails","searchAzureObjectsError","WorkItemId","showSuccessPopup","showUnlinkModal","unlinkId","showSearchPopup","IsAzureWorkItemLinkingEnabled","IsItemAlreadyAdded","handleSearchWorkItem","Backlog","handleUnlinkItem","DiaRequestAdditionalDetails","setData","fieldLabels","FieldLabels","RequestDetailDIA","BusinessResultRichTextBody","TargetAudienceRichTextBody","AdditionalNotesRichTextBody","CandidateProjectRichTextBody","ScopeChangeRequestAdditionalDetails","statementRichTextBody","summaryEffortImpactRichTextBody","recommendationRichTextBody","setNewFeatureData","setModifiedData","MarketUnitOptions","MarketGroupsList","displayModifyFeature","IsModifyFeature","newFeatureDetailsCopy","doesModifiedFeatureArrayNeedUpdation","modifiedFeatureDetailsCopy","isRedirectedFromScopeChangeRequest","DecisionError","setFocusOnDecision","focus","newFeatureDetail","modifiedFeatureDetail","azureID","changeDescription","oldData","hasNewFeatureBeenUpdated","recordUpdateCount","recordErrorCount","hasModifiedFeatureBeenUpdated","isNewFeatureUpdated","isModifiedFeatureUpdated","doesNewFeatureHasError","doesModifiedFeatureHasError","_validateScopeChangeR","validateScopeChangeRequestAdditionalDetails","setRedirectionFlag","formLabels","statementTextBody","summaryEffortImpactTextBody","recommendationTextBody","ExternalRequestorError","AcceleratorRequestAdditionalDetails","ShowLinks","HyperLinkShowError","ExploreLinks","HyperLinkExploreError","ServiceOfferingsList","SelectedIndustryList","SelectedFunctionalAreaList","SelectedServiceOfferingsList","ApplicableAcceleratorList","savedHowToMobilizeAndUseItRichTextBody","AdditionalDetailsDataLinks","ServiceOfferingList","showlink","explorelink","samplelist","Functionlist","Servicelist","showlist","explorelist","WhatIsItTextBox","WhatValueDoesItBringBox","HowToMobilizeAndUseItRichTextBox","Acceleartoradditionalcomments","CuratorEIDError","Level1Error","Level2Error","WhatIsItError","WhatValueDoesItBringError","SelectedIndustryListError","SelectedFunctionalAreaListError","_this4$setState2","SelectedServiceOfferingsListError","_this4$setState3","renderTableData","renderExpTableData","Team Changes","Team Structure","WBS Authorization","Others","getFieldName","StaffingRequestAdditionalDetails","setAdditionalStates","requestTypeName","stateObject","dataReceived","removedFiles","handleInputValidation","_this$state$fileDetai","prevForecastDate","changedForecastDate","prevEffectiveDate","changedEffectiveDate","existingErrors","removedFile","requestTypeId","stateDetails","serviceNameData","successCheck","errorCheck","successData","wbsAuthRequestType","handleDateChange","ReportRequestAdditionalDetails","FrequencyReportList","FrequencyofDataRefreshList","savedFrequencyReport","savedFrequencyDateRefresh","savedDataSource","savedAdditionalInformationRichTextBody","savedURLInCaseOfExistingReport","SelectedFrequencyofReport","SelectedFrequencyofDataRefresh","URLIncaseOfExistingReport","frequencyReportIDs","frequencyDataRefreshIDs","URLincaseofexistingReport","DecrementedArray","reportadditionalInformationTextBody","savedFrequencyReportError","savedFrequencyDateRefreshError","savedDataSourceError","AdditionalInformationError","savedURLInCaseOfExistingReportError","WorkdayAdminRequestAdditionalDetails","reqNo","setReqNo","labelsList","setLabelsList","submitCalled","setSubmitCalled","setIsUserCanEdit","setShowErrorPopup","setStatusList","servicePocList","setServicePocList","additionalAddonData","setAdditionalAddonData","internalRequestData","setInternalRequestData","selectedRequestType","setSelectedRequestType","reportTypeOptions","setReportTypeOptions","_getInternalRequestDetails","getInternalRequestDetails","getFormattedDate","formDate","toLocaleString","month","_getDetails","internalData","additionalData","errorStatus","SelectionType","setInitialFormData","initialFormData","internalRequestDataRecv","formEditedData","resetFormData","statusListItem","nameError","actionType","addonData","CheckFormChanges","fieldsChanged","isChanged","dataField","formDetails","SelectionTypeId","handleDateInput","description-comment-container","commentsError","fieldsToBeValidated","oneFieldError","tempFormError","SalesAdvisoryAdditionalDetails","Markets","getMultiSelectId","selectListItem","_errorKey2","checkAddtionalDetailsChanges","checkMultiSelectFields","isSame","previousMarketList","latestMarketList","previousContentTypeList","latestContentTypeList","checkInternalRequestChanges","_event$target2","patternRequired","dlPattern","FunctionAreaList","MarketList","MarketsError","ContentTypeList","contentTypeError","leadSMEError","servicePOCError","DocumentLinkError","isAllError","MYCREQUESTDetails","ApplicationType","RequestCategory","CreatedOnBehalf","POCError","FunctionAreaID","InfraSupportAdditionalDetails","setStateNotifyUser","setStateChecked","ResolutionSteps","IsServicePOC","IsNotifyEnabledOnComments","getAcceleratorDetails","jsonCopy","internalRequestNumber","isStaffingRequest","isReportingRequest","isBasicInternalRequest","isDataUniverseRequest","IsSalesAdvisorRequest","isMycRequest","internalFormType","workdayRequest","internal_request_basic_details_internal_request_basic_details","redirectToAdditionalTabComponent","azure_objects_azure_objects","dia_request_additional_details_dia_request_additional_details","scope_change_request_additional_details_scope_change_request_additional_details","getScopeChangeAdditionDetails","updateRedirecticonFlag","staffing_request_additional_details_staffing_request_additional_details","accelerator_request_additional_details_accelerator_request_additional_details","reporting_request_additional_details_report_request_additional_details","workday_admin_request_additional_details_workday_admin_request_additional_details","sales_advisory_additional_details_sales_advisory_additional_details","myc_request_additional_details_myc_request_additional_details","infra_support_additional_details_js_infra_support_additional_details","createBrowserHistory","Routes","selectedTabIndex","LoadingComponent","requests_grid_request_grid","scenario_scenario","sidebar_provider","react_router","header_header","left_navigation_leftnav","exact","render","about_about","notifications_notification_page","incident_list_incident_list","scenario_search_search","incident_form_context_wrapper","dashboard_dashboard","user_group_management_admin_landing","user_group_management_user_group_management","user_group_management_incident_management","parameterised","request_details_request_details","component","NotFoundPage","footer_footer","AuthComp","Announcement","viewDetailsPopup","appContextData","notificationDescription","_announcementNotifica","notificationDescriptionannouncement","hideAnnouncement","PROD_TENANT","BASE_AUTH","GRAPH_REQUESTS","scopes","config","authority","client_id","redirect_uri","response_type","scope","post_logout_redirect_uri","loadUserInfo","automaticSilentRenew","silent_redirect_uri","extraTokenParams","appId","msalApp","Oidc","UserManager","LegalDisclaimer","Homepage","App","showAnnouncement","appLoaded","closeLegalPopup","setAdalSessionTimeout","getLegalPopup","popupResponse","setInterval","now","expiryTimeoutCallback","app_service_provider","modals_Homepage","error_legalDisclaimer","notifications_announcement","routes","authProvider","_Component","AuthProvider","account","inherits","createClass","_acquireToken","redirect","acquireTokenSilent","acquireTokenRedirect","acquireTokenPopup","_onSignIn","loginRedirect","logout","_componentDidMount","accountInfo","onSignIn","onSignOut","ReactDOM","src_App_0","Boolean","hostname","runWithVault","redirectUri","mgr","getUser","signinRedirectCallback","signinRedirect","events","addAccessTokenExpiring","signinSilent","serviceWorker","ready","registration","unregister"],"mappings":"0qKAAAA,EAAAC,QAAiBC,EAAAC,EAAuB,q9oBCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,sogBCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,mDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,sDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,iECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,kDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,sDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,4DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,6DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,4DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,2DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,oDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,kDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,8DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,6DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,8DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,2DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,iECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,8DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,oECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,mECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,8DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,oECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,mECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,8DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,6DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,4DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,mECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,kECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,gECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,iECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,+DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,oDCAxCH,EAAAC,QAAA,kmCCAAD,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,sDCAxCH,EAAAC,QAAA,stICAAD,EAAAC,QAAiBC,EAAAC,EAAuB,2DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,0DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,4DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,yECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,kDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,oDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,kDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,kDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,oDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,kDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,sDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,gECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,kDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,mDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,kDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,sDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,+DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,2DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,4DCAxCH,EAAAC,Q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EAAAC,QAAiBC,EAAAC,EAAuB,+DCAxCH,EAAAC,QAAA,wuLCAAD,EAAAC,QAAA,k6ICAAD,EAAAC,QAAiBC,EAAAC,EAAuB,wECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,mECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,wECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,iECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,4ECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,kECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,sECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,oECAxCH,EAAAC,QAAA,suTCAAD,EAAAC,QAAiBC,EAAAC,EAAuB,4ECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,2ECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,2ECAxCH,EAAAC,QAAA,8+JCAAD,EAAAC,QAAiBC,EAAAC,EAAuB,qECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,gECAxCH,EAAAC,QAAA,8tRCAAD,EAAAC,QAAiBC,EAAAC,EAAuB,gECAxCH,EAAAC,QAAA,8mICAAD,EAAAC,QAAiBC,EAAAC,EAAuB,4DCAxCH,EAAAC,QAAA,sxLCAAD,EAAAC,QAAiBC,EAAAC,EAAuB,kECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,qECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,mECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,0DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,oECAxCH,EAAAC,QAAA,w/XCAAD,EAAAC,QAAA,8lHCAAD,EAAAC,QAAiBC,EAAAC,EAAuB,uDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,6DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,gECAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,0DCAxCH,EAAAC,QAAA,4oLCAAD,EAAAC,QAAA,gtYCAAD,EAAAC,QAAA,mhMCAAD,EAAAC,QAAiBC,EAAAC,EAAuB,wDCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,4DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,4DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB,sECAxCH,EAAAC,QAAiBC,EA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","file":"static/js/main.8b10d832.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/collapsable-down-black-arrow.d36d1d13.svg\";","module.exports = __webpack_public_path__ + \"static/media/add-icon-square-border.54dff3a1.svg\";","module.exports = __webpack_public_path__ + \"static/media/sales.d8e01f43.svg\";","module.exports = __webpack_public_path__ + \"static/media/delivery.a6a0b01c.svg\";","module.exports = __webpack_public_path__ + \"static/media/enterprise.1b8d1460.svg\";","module.exports = __webpack_public_path__ + \"static/media/diagnostics.b88c4567.svg\";","module.exports = __webpack_public_path__ + \"static/media/Hamburger.b54dcaed.svg\";","module.exports = __webpack_public_path__ + \"static/media/close_HamburgerMenu.57cef63f.svg\";","module.exports = __webpack_public_path__ + \"static/media/path.a41007b1.svg\";","module.exports = __webpack_public_path__ + \"static/media/acc-logo.18941014.svg\";","module.exports = __webpack_public_path__ + \"static/media/search-icon.c607868e.svg\";","module.exports = __webpack_public_path__ + \"static/media/sales-black.2f9ee868.svg\";","module.exports = __webpack_public_path__ + \"static/media/delivery-black.9307d692.svg\";","module.exports = __webpack_public_path__ + \"static/media/ies-black.c3d96cef.svg\";","module.exports = __webpack_public_path__ + \"static/media/idt-black.b29598b7.svg\";","module.exports = __webpack_public_path__ + \"static/media/Form_title_icon.f442099a.svg\";","module.exports = __webpack_public_path__ + \"static/media/right-pointing.4b269be1.svg\";","module.exports = __webpack_public_path__ + \"static/media/Unlink-button.55103c19.svg\";","module.exports = __webpack_public_path__ + \"static/media/link-button.6644fd70.svg\";","module.exports = __webpack_public_path__ + \"static/media/cancel.3e5ab81e.svg\";","module.exports = __webpack_public_path__ + \"static/media/menu.adc5c39a.svg\";","module.exports = __webpack_public_path__ + \"static/media/cross-menu.4b00027a.svg\";","module.exports = __webpack_public_path__ + \"static/media/cross-menu-white.ee327301.svg\";","module.exports = __webpack_public_path__ + \"static/media/arrows_openMenu.8fec01f8.svg\";","module.exports = __webpack_public_path__ + \"static/media/arrows_closeMenu.dbb37313.svg\";","module.exports = __webpack_public_path__ + \"static/media/services-icon.d6b24f6f.svg\";","module.exports = __webpack_public_path__ + \"static/media/services-white-icon.d6b24f6f.svg\";","module.exports = __webpack_public_path__ + \"static/media/new-request-icon.05a6a52f.svg\";","module.exports = __webpack_public_path__ + \"static/media/new-request-icon-white.f024a70e.svg\";","module.exports = __webpack_public_path__ + \"static/media/archived-request-icon.52a87983.svg\";","module.exports = __webpack_public_path__ + \"static/media/archived-request-icon-white.3d3d27ad.svg\";","module.exports = __webpack_public_path__ + \"static/media/about-icon.633a26f7.svg\";","module.exports = __webpack_public_path__ + \"static/media/about-icon-white.fbbe4918.svg\";","module.exports = __webpack_public_path__ + \"static/media/my-request-icon-purple.0969b7f0.svg\";","module.exports = __webpack_public_path__ + \"static/media/my-request-icon-white.4910f0fc.svg\";","module.exports = __webpack_public_path__ + \"static/media/help-icon-purple.044682f6.svg\";","module.exports = __webpack_public_path__ + \"static/media/help-icon-white.1ff5df48.svg\";","module.exports = __webpack_public_path__ + \"static/media/help-icon-grey.b2bce4e1.svg\";","module.exports = __webpack_public_path__ + \"static/media/dashboard-icon-purple.1b786cc7.svg\";","module.exports = __webpack_public_path__ + \"static/media/dashboard-icon-white.1b786cc7.svg\";","module.exports = __webpack_public_path__ + \"static/media/down-arrow.c658bd1e.svg\";","module.exports = __webpack_public_path__ + \"static/media/sorting-black-down.763cea2d.svg\";","module.exports = __webpack_public_path__ + \"static/media/sorting-purple-down.5bb15ee9.svg\";","module.exports = __webpack_public_path__ + \"static/media/sorting-purple-up.51d0521d.svg\";","module.exports = __webpack_public_path__ + \"static/media/up-arrow.12db69c3.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAQCAYAAAAS7Y8mAAAAAXNSR0IArs4c6QAAAuNJREFUOBGVlF9MUlEcx++9oJKgAgoYURubQLhAXwzZ2KLNlXNj48kFy5oPbT1k9eRLL62HHnroqZ56aeupxmjTWblkyw3NERtOygFOUaaA/FFBwYV/6Htqd7uS98G7nZ1zvud3Puf8/txDUzxftVq9jCUFWgktQtN0mcf0VFlYqwJYt7m5+TIUCjkWFhYUTU1Nxc7Oznno9wFfq7Xnm58AYzOTTqcf+ny+4aOjI6ajo2Opvr7+/MTERD/691h3Ap7mg3F1GsaNhULhTSqVKjEMQ2WzWUssFrsyODj4WSwW38YBdr/f/yISiVxwOBy+3d3dJBdQOwaPbm1tDRDw3UAg8Gp2dlZCjPb39ymj0Zh3Op123O4n0RYXFye9Xu8NmUxGVSoVIvF+DQ0NlN1uj5JQfNBoNMqBgYF2oVAoyuVyVsS2a3t7+wkOHcGNbdFo1KRUKvdw4y/FYjHBS8UCGI2w/UVzjYgbSNxIOBx+nkwmhQaDIY7QSBOJRLvNZvtkNpuH4UWGu4dvfAJMjAg8k8k8XV5edq6urqrlcnm5p6engP4moCk+UK3+H5g1wAFajEkd76EtAXrAWetaX1+/imTXqdXqIPQfWK+y66TnBXON2DHxBuU4isoYnZ6elmNO6XS6NJLtUalUjwA/Zm3/1jEMGAgCVuTrDw8Pr09NTT1A5Zzr7e391tLSIp6bmzPgoDtWq9ULjp/sJd4JMVHt7OxMIkEFPiBHl29tbWncbvd8W1tbP/QDgUDwdmxsbGhlZeU1Ep4jXiBMYXLja/F4/GIwGOziAE4dlsv/nguU4qRCofhNjBCaIOBDMzMzRolEQpJP9fX1KQjYYzKZMlqtVnYqjSMiFP0ej+ceStBZKpW+42eobGxsPIZOuVyudyKR6CMSKm5ubl46a/Iuwd2v4+PjeqlUWsHPc4z4iiwWS6i7u/sWYhtj73EmMNkEV9V4S57l83kzpoxer6/gbXABusZCSf8Hn0VZ1LNubr4AAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/plus-button.17cc457f.svg\";","module.exports = __webpack_public_path__ + \"static/media/login-icon.372adef4.png\";","module.exports = \"data:image/gif;base64,R0lGODlhIAAgAPMAAP///wAAAMbGxoSEhLa2tpqamjc3N1dXV9jY2OTk5Ly8vB8fHwUFBQAAAAAAAAAAACH5BAkKAAAAIf4aQ3JlYXRlZCB3aXRoIGFqYXhsb2FkLmluZm8AIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ/V/nmOM82XiHRLYKhKP1oZmADdEAAAh+QQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY/CZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB+A4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6+Ho7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq+B6QDtuetcaBPnW6+O7wDHpIiK9SaVK5GgV543tzjgGcghAgAh+QQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK++G+w48edZPK+M6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE+G+cD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm+FNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk+aV+oJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0/VNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc+XiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30/iI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE/jiuL04RGEBgwWhShRgQExHBAAh+QQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR+ipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY+Yip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd+MFCN6HAAIKgNggY0KtEBAAh+QQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1+vsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d+jYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg+ygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0+bm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h+Kr0SJ8MFihpNbx+4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX+BP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOw==\"","module.exports = __webpack_public_path__ + \"static/media/request-image.6e7f28fa.PNG\";","module.exports = __webpack_public_path__ + \"static/media/reset-icon.76fb7738.svg\";","module.exports = __webpack_public_path__ + \"static/media/success-icon.870eae30.svg\";","module.exports = __webpack_public_path__ + \"static/media/page-not-found.9ccc71e0.svg\";","module.exports = __webpack_public_path__ + \"static/media/no-requests.8db4c855.svg\";","module.exports = __webpack_public_path__ + \"static/media/collapsable-up-purple-arrow.53fa8500.svg\";","module.exports = __webpack_public_path__ + \"static/media/cart.5cdada55.svg\";","module.exports = __webpack_public_path__ + \"static/media/server.929f52ae.svg\";","module.exports = __webpack_public_path__ + \"static/media/flow-chart.0507ad1d.svg\";","module.exports = __webpack_public_path__ + \"static/media/info.96a5cfad.svg\";","module.exports = __webpack_public_path__ + \"static/media/tick.8529be08.svg\";","module.exports = __webpack_public_path__ + \"static/media/green-tick.eb2b5096.svg\";","module.exports = __webpack_public_path__ + \"static/media/reject.d1d54535.svg\";","module.exports = __webpack_public_path__ + \"static/media/red-reject.1d301374.svg\";","module.exports = __webpack_public_path__ + \"static/media/like.2e83e767.svg\";","module.exports = __webpack_public_path__ + \"static/media/download.44201457.svg\";","module.exports = __webpack_public_path__ + \"static/media/black-colored-info.157ce4ab.svg\";","module.exports = __webpack_public_path__ + \"static/media/more.0a905538.svg\";","module.exports = __webpack_public_path__ + \"static/media/alert.2495e75f.svg\";","module.exports = __webpack_public_path__ + \"static/media/next.1f437aee.svg\";","module.exports = __webpack_public_path__ + \"static/media/previous.58554a42.svg\";","module.exports = __webpack_public_path__ + \"static/media/search-icon-white.13da1590.svg\";","module.exports = __webpack_public_path__ + \"static/media/incident-form.0f070364.svg\";","module.exports = __webpack_public_path__ + \"static/media/rich-text-icon.c6f31c84.svg\";","module.exports = __webpack_public_path__ + \"static/media/expand-collapse.4d047631.svg\";","module.exports = __webpack_public_path__ + \"static/media/minus.80dae7ae.svg\";","module.exports = __webpack_public_path__ + \"static/media/clock.d035dbc7.svg\";","module.exports = __webpack_public_path__ + \"static/media/admin-module-purple-icon.5f3b96f2.svg\";","module.exports = __webpack_public_path__ + \"static/media/admin-module-white-icon.4eb55cdb.svg\";","module.exports = __webpack_public_path__ + \"static/media/action-pencil-purple.0bb1b5dd.svg\";","module.exports = __webpack_public_path__ + \"static/media/remove-bin-purple.09cd32dd.svg\";","module.exports = __webpack_public_path__ + \"static/media/down-arrow-head.9e7088e0.svg\";","module.exports = __webpack_public_path__ + \"static/media/remove-bin-file.b9467b6b.svg\";","module.exports = __webpack_public_path__ + \"static/media/attach-file-empty-state.bd6c382f.svg\";","module.exports = __webpack_public_path__ + \"static/media/file-attachment.b07952ed.svg\";","module.exports = __webpack_public_path__ + \"static/media/contact.bf818571.svg\";","module.exports = __webpack_public_path__ + \"static/media/PopupClose.3527cd72.svg\";","module.exports = __webpack_public_path__ + \"static/media/download-button-black.33d8260b.svg\";","module.exports = __webpack_public_path__ + \"static/media/back-arrow-black.53ed36fd.svg\";","module.exports = __webpack_public_path__ + \"static/media/send-button.3412013f.svg\";","module.exports = __webpack_public_path__ + \"static/media/view-button.5e2d9f43.svg\";","module.exports = __webpack_public_path__ + \"static/media/invoice-log-disable.2e010cfd.svg\";","module.exports = __webpack_public_path__ + \"static/media/send-button-black.b2810674.svg\";","module.exports = __webpack_public_path__ + \"static/media/black-cart.ddcfa834.svg\";","module.exports = __webpack_public_path__ + \"static/media/arrow.7894fc1c.svg\";","module.exports = __webpack_public_path__ + \"static/media/bell.6ed7f9f0.svg\";","module.exports = __webpack_public_path__ + \"static/media/bell-selected.9b481b2a.svg\";","module.exports = __webpack_public_path__ + \"static/media/paper.6a6e7ef7.svg\";","module.exports = __webpack_public_path__ + \"static/media/send-text-icon.e966f703.svg\";","module.exports = __webpack_public_path__ + \"static/media/add.77cb2443.svg\";","module.exports = __webpack_public_path__ + \"static/media/right-chevron.32b4206d.svg\";","module.exports = __webpack_public_path__ + \"static/media/down-chevron.7398249a.svg\";","var map = {\n\t\"./Form_title_icon.svg\": 169,\n\t\"./Hamburger.svg\": 160,\n\t\"./PopupClose.svg\": 239,\n\t\"./Unlink-button.svg\": 171,\n\t\"./about-icon-white.svg\": 186,\n\t\"./about-icon.svg\": 185,\n\t\"./acc-logo.svg\": 163,\n\t\"./access_assets_and_tools.svg\": 565,\n\t\"./action-pencil-purple.svg\": 232,\n\t\"./add-icon-square-border.svg\": 94,\n\t\"./add.svg\": 252,\n\t\"./add_icon.png\": 566,\n\t\"./admin-module-purple-icon.svg\": 230,\n\t\"./admin-module-white-icon.svg\": 231,\n\t\"./alert-circle.svg\": 567,\n\t\"./alert.svg\": 221,\n\t\"./archived-request-icon-white.svg\": 184,\n\t\"./archived-request-icon.svg\": 183,\n\t\"./arrow.svg\": 247,\n\t\"./arrows_closeMenu.svg\": 178,\n\t\"./arrows_openMenu.svg\": 177,\n\t\"./attach-file-empty-state.svg\": 236,\n\t\"./back-arrow-black.svg\": 241,\n\t\"./bell-selected.svg\": 249,\n\t\"./bell.svg\": 248,\n\t\"./black-cart.svg\": 246,\n\t\"./black-colored-info.svg\": 219,\n\t\"./calendar.png\": 568,\n\t\"./cancel.svg\": 173,\n\t\"./cardImage.png\": 569,\n\t\"./cart.svg\": 209,\n\t\"./chat-bot-icon.svg\": 570,\n\t\"./clock.svg\": 229,\n\t\"./close_HamburgerMenu.svg\": 161,\n\t\"./coe-banner.png\": 571,\n\t\"./collapsable-down-black-arrow.svg\": 54,\n\t\"./collapsable-up-purple-arrow.svg\": 208,\n\t\"./contact.svg\": 238,\n\t\"./cross-menu-white.svg\": 176,\n\t\"./cross-menu.svg\": 175,\n\t\"./dashboard-icon-purple.svg\": 192,\n\t\"./dashboard-icon-white.svg\": 193,\n\t\"./delivery-black.svg\": 166,\n\t\"./delivery.svg\": 157,\n\t\"./diagnostics.svg\": 159,\n\t\"./down-arrow-colored-sort.png\": 572,\n\t\"./down-arrow-head.svg\": 234,\n\t\"./down-arrow-sort.png\": 573,\n\t\"./down-arrow.svg\": 194,\n\t\"./down-chevron.svg\": 254,\n\t\"./download-button-black.svg\": 240,\n\t\"./download.svg\": 218,\n\t\"./enterprise.svg\": 158,\n\t\"./estimated-cost.png\": 574,\n\t\"./expand-collapse.svg\": 227,\n\t\"./file-attachment.svg\": 237,\n\t\"./filter-icon.png\": 199,\n\t\"./flow-chart.svg\": 211,\n\t\"./form_calander_icon.svg\": 575,\n\t\"./form_dropdown_icon.svg\": 576,\n\t\"./green-tick.svg\": 214,\n\t\"./header.jpg\": 577,\n\t\"./help-add-attachment.png\": 578,\n\t\"./help-addToCart-button.png\": 579,\n\t\"./help-base-pack-filter.png\": 580,\n\t\"./help-base-pack-review-cart.png\": 581,\n\t\"./help-crp-form-details.png\": 582,\n\t\"./help-crp-form-submit-model.png\": 583,\n\t\"./help-crp-form-terms.png\": 584,\n\t\"./help-decommission-confirmation.png\": 585,\n\t\"./help-done-attachment.png\": 586,\n\t\"./help-extend-confirmation.png\": 587,\n\t\"./help-extend-decommission.png\": 588,\n\t\"./help-icon-grey.svg\": 191,\n\t\"./help-icon-purple.svg\": 189,\n\t\"./help-icon-white.svg\": 190,\n\t\"./help-no-attachment.png\": 589,\n\t\"./help-process-composition-cards.png\": 590,\n\t\"./help-process-composition-cart.png\": 591,\n\t\"./help-process-composition-filter.png\": 592,\n\t\"./help-req-number.png\": 593,\n\t\"./help-req-popup-calender.png\": 594,\n\t\"./help-req-popup-dates.png\": 595,\n\t\"./help-req-popup-tabs.png\": 596,\n\t\"./help-request-filters.png\": 597,\n\t\"./help-review-cart-button.png\": 598,\n\t\"./help-review-cart.png\": 599,\n\t\"./help-sap-email-ids.png\": 600,\n\t\"./help-save-attachment.png\": 601,\n\t\"./help-signoff-desclaimer.png\": 602,\n\t\"./help-signoff-selected.png\": 603,\n\t\"./help-signoff.png\": 604,\n\t\"./help-success-factor-cart.png\": 605,\n\t\"./help-success-factor-modules.png\": 606,\n\t\"./help-success-factor-system.png\": 607,\n\t\"./idt-black.svg\": 168,\n\t\"./ies-black.svg\": 167,\n\t\"./incident-form.svg\": 225,\n\t\"./info-icon.svg\": 608,\n\t\"./info-white-icon.svg\": 609,\n\t\"./info.svg\": 212,\n\t\"./invalid-cross-icon.svg\": 610,\n\t\"./invoice-log-disable.svg\": 244,\n\t\"./landscape-cart.png\": 611,\n\t\"./landscape-select.png\": 612,\n\t\"./landscape-system.png\": 613,\n\t\"./left-menu.jpg\": 614,\n\t\"./like.svg\": 217,\n\t\"./link-button.svg\": 172,\n\t\"./login-icon.png\": 201,\n\t\"./menu.svg\": 174,\n\t\"./minus.svg\": 228,\n\t\"./more.svg\": 220,\n\t\"./my-request-icon-purple.svg\": 187,\n\t\"./my-request-icon-white.svg\": 188,\n\t\"./new-request-icon-white.svg\": 182,\n\t\"./new-request-icon.svg\": 181,\n\t\"./next.svg\": 222,\n\t\"./no-requests.svg\": 207,\n\t\"./page-not-found.svg\": 206,\n\t\"./pagination.png\": 615,\n\t\"./paper.svg\": 250,\n\t\"./path.svg\": 162,\n\t\"./plus-button.svg\": 200,\n\t\"./previous.svg\": 223,\n\t\"./proceed-button.png\": 616,\n\t\"./red-reject.svg\": 216,\n\t\"./reject.svg\": 215,\n\t\"./remove-bin-file.svg\": 235,\n\t\"./remove-bin-purple.svg\": 233,\n\t\"./request-image.PNG\": 203,\n\t\"./request-number.png\": 617,\n\t\"./reset-icon.svg\": 204,\n\t\"./rich-text-icon.svg\": 226,\n\t\"./right-chevron.svg\": 253,\n\t\"./right-pointing.svg\": 170,\n\t\"./run_intellegent_dignosis.svg\": 618,\n\t\"./sales-black.svg\": 165,\n\t\"./sales.svg\": 156,\n\t\"./search-box.png\": 619,\n\t\"./search-icon-white.svg\": 224,\n\t\"./search-icon.svg\": 164,\n\t\"./select-service-search-page.png\": 620,\n\t\"./send-button-black.svg\": 245,\n\t\"./send-button.svg\": 242,\n\t\"./send-text-icon.svg\": 251,\n\t\"./server.svg\": 210,\n\t\"./service-search-box.png\": 621,\n\t\"./service-search-page.png\": 622,\n\t\"./service-search-popup-page.png\": 623,\n\t\"./service-selection-image.png\": 624,\n\t\"./services-icon.svg\": 179,\n\t\"./services-white-icon.svg\": 180,\n\t\"./sorting-black-down.svg\": 195,\n\t\"./sorting-purple-down.svg\": 196,\n\t\"./sorting-purple-up.svg\": 197,\n\t\"./spinner.gif\": 202,\n\t\"./success-icon.svg\": 205,\n\t\"./support_for_application_management_services.svg\": 625,\n\t\"./support_for_client_meeting.svg\": 626,\n\t\"./support_for_client_workshop.svg\": 627,\n\t\"./support_for_project_dilevery.svg\": 628,\n\t\"./support_for_project_estimation.svg\": 629,\n\t\"./support_from_sales_coe.svg\": 630,\n\t\"./tick.svg\": 213,\n\t\"./up-arrow-colored-sort.svg\": 631,\n\t\"./up-arrow.svg\": 198,\n\t\"./valid_Icon.svg\": 632,\n\t\"./view-button.svg\": 243\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 564;","module.exports = __webpack_public_path__ + \"static/media/access_assets_and_tools.8c24aefa.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAAXNSR0IArs4c6QAAA39JREFUOBGdlVtsVFUUhr995tZaGIFQgdHGEAWKd4PEmBgvL2h84sUaE4xFbUsVE9QYHzmv+uAlLSYzRSHxmr4YNeqLoglPOiIxJphAiRSwF4XQCi20zOzjv2Y4ZRgGUt3JyV57rX/9e+211t7HcZUREblePmj1nF2ZwC3xuGwAw47kkR10jjtcdCV318jQTT4FyfuhlJf9b4jWgdureS0ErZp/0rotQaJ3GQu/C+mYree5jFikS+X0g5zPiOSLJG7wXZ4bqnXcysDKEn5jhOtQyMsyuAf66Dpei7mEuErKUIAreqInC/ScqAXXy9vYtegsM59qg0dkywk/GmPmiF9i55IpyseU16+vp+eJEOdj0NVmq0MPhTd1ys5mXPs7dI0bXrWAkCgQ6Wcqxu//hdR8rYB5ul+O8MVz+G8GGUyYvkI8QuFWhZ5J4R5vFKltbCfq5uOlJptj7TDyDKlO5bu0h39U6AvEIg2191g/XX/UOsTydlVyGv+G48xArKuf+3l2RLrfyvjXzRaEfJ/UvEJhvGWKRsMi0mdVH250otgnIJF3RM0hu5qCEQ6qL7lXPXkoBvzfuRmGdPr140Q5i/Za5cY3kZqsJbRc/klexwosUjzlVzQ1dVGopEuR5XKkt4dsPhf73Ud28ltOeUcpa8SqLMWA83NFMdK/2H2d+vlRWX9Rir16dYFhBbrLWkzrtaMk10j1q+ltHKBVVKf2m5xMkp4oMbt+GhZqfdqUF/I4JvF2W9vYwsCwCBeptbZVNdU2hafiJZMczmqxzpOaCB6iRW9BUJyldNscYp5CfSFn8O0qcnE5jAUddJSVryM68qvz5LsirAzPq16TlvdKXpXoUDcn28P7tzTyspzr2dyjB+krkxthXmDnjdKvEtdrZleyVRoVYwuFz7Xb6gxtd/bx2Izp5zvsLqhtfxb+dI7uBy1Fld3tAqRp2STDglmOflJ9j+dHaycY5dBuRXhDiqaNcd4rEccUL/Jhdoapw1KeVPQb9AwejW2NZgWwQlh7Nu9Ikbl5B0+fjHGXEJuyl48We6a+FHFaxqLS9J4uwoH4Ith1Hae0ukzUKbj+MqQyJDf08Yy66+K4jNhM9vTpBt0jY7/KoMsR3a2o9qt72mVu0Xqf9Gk9A1uXc9OPIQ+XLlJWpYbEtSBLj2e67TzRYun1L+TENaSPvc3miVpcvfwvj3wlvnPaUlwAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/alert-circle.34dbd73c.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACtSURBVHgB7ZPdDYJAEIRXwjt0IB14HRg7wQrUCqQDtQJtxQqMFXgdqBXobDKXrMlh+H1jkg82czC3uR+RXzmwl3oV4ADyP9/IBXzAvGa85HhpzRRs2MHL+CuwjITc+dZOzqyvwmTlASrWW+Nbgl/Z/xIzSwEysGZ3MWl3O7Cw5oxpfeRTFidwlPbSnXIhRBfVS3u99ZHIAJpCRg7JpZuyUDwlfk+actNj70hX+S9f+TJZqTimlwAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/cardImage.7cc73b74.png\";","module.exports = __webpack_public_path__ + \"static/media/chat-bot-icon.6865a554.svg\";","module.exports = __webpack_public_path__ + \"static/media/coe-banner.e189d0a2.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAALCAYAAACtWacbAAAAAXNSR0IArs4c6QAAANJJREFUGBljZEACZQxzeT8y/DnGz8Bi1cWQ/BkmxQRjgOhfDEzM/xkYdEA0sjiKImQJZDYVFaUxzGT9z/CfEdl4GBskDpJnTGeY2Q90rKALg2DyMYavvN8Yfr3nYmATtGLg/ryH4f1coO73jBkMC6X/M/zYC9R9Aag4B0i/BmJRoOQUIG3AyMDhDLYmn2G2+HeGf7uBnFdAhSDBvUBajJOByXUiQ+pLsO9ADFYGDkcGBkYBoG4gYBQA8UHiYB5YDEoAHcnPyMDYBnRw1SyG9I8wOQCiFzhw6RtrUwAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAALCAYAAACtWacbAAAAAXNSR0IArs4c6QAAAMtJREFUGBljZEACnZ2dvN++fTvGxcVlVV5e/hkmxQRjgOjv378z////XwdEI4ujKEKWQGZTUdHMmTNZge5gRDYexgaJg+QZ6+vr+xkZGQW1tLSSr127xvvv37/3TExMIP5nIH8uUOF7JlZW1h6ghAVQYCnQBBaoKSwgPkgcJA+2prW1Vfznz5+7gQpeAbEzEO8FYjF2dnbX6urql2DfgRgcHByOQAkBIAYBARAfJA7iwANt79693z09PVf++fOHDxji8ZWVle9BCkAAAFZsVLfE9twYAAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/estimated-cost.8863e8b9.png\";","module.exports = __webpack_public_path__ + \"static/media/form_calander_icon.c3a7d438.svg\";","module.exports = __webpack_public_path__ + \"static/media/form_dropdown_icon.a348db84.svg\";","module.exports = \"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCABGBPoDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo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u4/DtjfHxlqHh22ENlDpjIgit7lkVVL53bVJ4y3HNek/8Fv/AABr6eHPg58UNI0i+8Q6d8IvGcOt61p1pGZZWs2Xa8yxgEsUIH4Ma+1/D3g3SPCQkGlaVp2m+cd0n2W2SHeeuTtAzWjLEs8bI6h0YYZWGQR71y/6xKGLoV6UG40ouPvO7km5Xu0l/M0tNNDD+1lGvSqwjpBW1d2073u7ebS7HxJ8T/8Agtz8NtftfDWjfB2zPxj8deKNQtrWLw9aGS3awjdv3k1y5ifyhGOoK9SOQOa831P4kxf8E2P+Ct3xD8dfE+0u9N+Hfxr0KxWy8TJC9xaaTe22N1rNIq/u1OXwT2WPjnj9DtF+H+g+HNQku9P0XSbG6l+/Nb2kccjfVgAau6xodl4hsjbX9na31uxyYriJZEP4EEUqOcYGhzUqNB+znFxned5O7TVnypLlcVb3ddb+RTzDDUrwp0nyyTUry1d2mrO1lZpW016n5v8AxU+Kmk/8FSP+CmX7P8vwme41zwZ8E7668R+IPFcELx2JZxF5dpHKQPMZmhUEDtI2eAa+ZP2UtS+AumfHL47S/FT47eOfhdrUXxJ1KS003RvFE2l295EJ2PmPGiMHO7IznoMV+2+heGtO8L2f2fTbCz0+D/nnbQrEv5KAKoXPwv8ADN7cPNN4d0KWWVizu9hEzOT1JJXJNejhuLaVGk8LTpyjTUVGNpLmVpObbbi07tvorI66OewpwdGMWoWSVpK/xOTu+VrVvsSfD7x/o/xU8E6Z4j8P38GqaJrNut1ZXcJzHcRMMqy+xrZqKysodNtI4LeGKCCJdqRxoFRB6ADgCpa+Jny8z5Nj5uVr+7sFFFFSIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK+L/gT8R9T/AOCZmi3fws8aeFvFOqfD/SL+6n8G+J9D0yTUozYTzvOlndRxAvHPCZGTdt2sqqeO/wBoUV34TGRpQlRqx5oSs2r2d1ezT7q7WzVm9Dqw+IUIypzjzRdtNtVs0/m/vPzp/aJ/b5tPE/7XvwU1jxf4O8Z+CPgro+r3E9n4n1nTTapf6u0Jit/MRjvgtwJH+ZwCzegXJ/RGyvItQtI54JEmhmUPHIjbldSMgg9wRXN/Gf4MeGv2gvhrqvhHxfpNrrWgazCYLq1nXIYHuD1Vh1BHINYn7Kv7Oll+yf8AAvRfAOma54i8Q6boPmx2l1rdytxdrE0jOkRdVUFIwwReOFUDmu3MMXg8RhafsouE4e7y7pxbb5r/AM13r0elrWsdGKr4erRhyLllHS26a1d7977/AIWPRKKKK8M80KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/2Q==\"","module.exports = __webpack_public_path__ + \"static/media/help-add-attachment.3e9649f6.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/help-base-pack-review-cart.42324ee9.png\";","module.exports = __webpack_public_path__ + \"static/media/help-crp-form-details.26967052.png\";","module.exports = __webpack_public_path__ + \"static/media/help-crp-form-submit-model.f3943900.png\";","module.exports = __webpack_public_path__ + \"static/media/help-crp-form-terms.7cdb5917.png\";","module.exports = __webpack_public_path__ + \"static/media/help-decommission-confirmation.4ef315d5.png\";","module.exports = __webpack_public_path__ + \"static/media/help-done-attachment.0a21a255.png\";","module.exports = __webpack_public_path__ + \"static/media/help-extend-confirmation.9f024edf.png\";","module.exports = __webpack_public_path__ + \"static/media/help-extend-decommission.25d2baaa.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4QAAABHCAYAAABf2om8AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAByiSURBVHhe7Z0JtHZTGccPKRWRytA8qDRpUIpGmlQalCxNFA0soRmNErFSyRSroqKiQYNI86CUECqaNEnTJ80zX3U6v72+/7Xt3ve997v3fj6t9/db66wz7OnZ+5y71vO/z977XWXp0qV9JyL/l6y22mrLrkRERERElp9Vl51FRERERERkylAQioiIiIiITCkKQhERERERkSlFQSgiIiIiIjKlKAhFRERERESmFAWhiIiIiIjIlKIgFBERERERmVIUhCIiIiIiIlOKglBERERERGRKURCKiIiIiIhMKQpCERERERGRKUVBKCIiIiIiMqUoCEVERERERKYUBaGIiIiIiMiUoiAUERERERGZUhSEIiIiIiIiU4qCUEREREREZEpREIqIiIiIiEwpUycI+75fdvW/rLLKKuW4uri62lrsdpa3vjo/4z/bO6ip70e1y7NRz8OktJZJtrXtzNauiIiIiMj/AytEEC6vozwfx3q2Mjj2dR6u22chIoDzf/7zn3I9inFiYRRtXtqt256tLajLjLJ7FGm3bQvq+mpIr+1t72vqtPa6Pte0aZP6Qp46fz1GeV5D+qRxHJVWt1HTjk99nXbqcly3ZUL7LG2OaldEREREZGWxQgTh8ji9OM7JP9dy5Ksd/dopJ41j1VVXvUp9eQbJ256hrgvqPCkf6nwtpLXt1/dtfaPqIn/6Oa6/Ifc5pz2ONj/XrS1tetvXUOet840b27QPnHNdU+edlL9+HrieNI65n9TfcYwa87SV+iIS2/pStn4+bkxFRERERFYWqyxduvRKT3kRwRGunfCw2mqrLbu6ksGG/3Go50rrjI9yzmuSPlu+mkl567o4w6T8c2k39YzKV5eflK+FPORvy9dlc98+hzyfjXH1jyrftpM8db46PdTl2jog9bS0z8flC6Qh4iblaSFva8+KZNTfk4iIiIjIXFl0QRgnu3a2ub7Wta5VrpcsWdL95je/KSJwnXXW6W5xi1t017nOdbp///vfy+V4p/66jbnSlplUR2tTmyd21HDP80lpLck3Kg1SV11+UplR7bT5R+W5JhA7w6h+8Ky2fz59SR0tPM/3+q9//aucIXnrcm2bsQMhGTHJt72iUBCKiIiIyEJYYYIwxLn+xz/+0X3rW9/qzj333O53v/tdcbTXXHPN7g53uEO3+eabd+uvv34pV0/Tm43WGY7zzRlnPI75bKRcbJ0L2Blb015dNnVOIvZxrqFspiJyJJ36c123D21dSeeIbXU7bXkgve0/fSAfaaPSW2rbaZcj1G2STl1J5z7j1do6jrSTI/1sSbvkgbpurvMccs/3iT38syL5ec513Qb3dd3Jwz88KE9e6iBP6l5MFIQiIiIishAWXRDGIYY4z3/+85+7M844o3vLW95SooJ3u9vdihj8/ve/3/3oRz/qHvSgB3UveclLurXWWqs40bXTXNfXgpON406eWvTU+UlPlGdcPZS99rWvXa7jyLd5Ywdn2iF/bRu2UC5lcdQ5yDMK8nDQHkcEQwRE6q3Lp34gHweQl3yk0VfuaTtiK+2kLKy++urLrq5K6kg/63p4dsUVV8zYmme5Bsalzk+7yZN+cR/Sd9pJf9JOXfeoa9rizJE22/GkTQ7K8Gw2sIN/WHzve9/rrn/963d3vetdSztt2YwRbWSMkod+XHbZZd0PfvCD7gY3uEGpg2exiXIcwP1CoG0RERERkfmywtYQAs4qYvCkk07qjjrqqO55z3tet+2223bf/e53u8svv7xEB3/2s591L33pS7s999yze8ITnlAc6Ai4ceBc4/R/9rOfLY470UfE5L3vfe/ugQ98YBE15EFsfuUrX+l+/vOfzwg+iFMO5L3lLW/ZPfnJT+7++Mc/dqeeemr329/+dkZgtCBU7njHO3ZbbLFFd9Ob3rTYSj+/+tWvduedd16p43rXu17p21ZbbTUTHaqh/YgGyp199tmlTQTIrW51q9IHRDP3EXicP/e5z5Wxoy/3v//9u/ve974zY4UNX/ziF4sN2H6Pe9yj23LLLWfa/sQnPtFdcMEF5Z4xfshDHtJtvPHGM0KG8gghxvSnP/1pGZeb3/zmRazf/va3L/f07cQTTyzvdJSQYUzpM7YjOC+66KLuIx/5SHlOfx/96Ed3d7nLXWba/Otf/9p96EMf6n79619397nPfboHPOABpW/f+MY3yj8QKDdOMPH8YQ97WOlnxpgx/MIXvtB95zvfKbauscYaxRbeFVOT6UPee6jbYAz++c9/dl/+8pfLeD3taU/r7nWve5XnGaO///3v5R8ZP/zhD8v1jW984+5Od7pTd5vb3KbYwfugr3yTxx13XPeHP/yhe/zjH1/sqNtPm609yws2iYiIiIjMGwThYh+DaBr83L6/9NJL+3333bcfHPf+Yx/7WL9kyZJ+t91267fbbrt+EA79Pvvs0w8Cpj/ssMP67bffvr/44otLuVF15hgc7pKHujbbbLP+hje8YT84/v0gnvqddtqpH4RmPzjvJc/JJ5/cb7rppnjc/SBQSr5BOJZjEG394MCXtEGM9IM4688666x+ED8z+amzzs8z0h75yEf2g4grbQxOfmlv5513Lvkos/baa5c6B6FT8mA3Y8KZ/DAIl/6JT3xiv9566/WDCOoHgdAPQqLYOAixfhDJ/SCoSl4YxEf/nOc8p1933XX7QYj2hx56aHnOeGRMXv7yl/cbbLBBKb/33nuXZ9hGm894xjNKO9hHnl133bUfBFnJE5sGEdbf7na3m+nv5ptv3p922mklDQaB3Q/iudjIcd3rXreMYQ7G5vDDD+8HwVjyn3LKKeU59XHeY489+kFIlTTsuuSSS/pB0PWDQOz33HPP/pe//GU/iLr+la98ZRlr7KWNNddcs9TBmedp681vfnM/CK9SH+9jEH79jW50ozKOpA9iqV9nnXXK8zPPPLOMP+3W31KuOeD888/vDzrooP7II48s76weX+w95phj+t133720ffTRR/evfvWr+7322qsfhG2xhbFMXYMA7w8++OD+kEMOKXUlbTEPEREREZGFMDoMNk+G+krkgygP0bkDDjigRFJe9KIXdXe+8527QbCUKMkLX/jCEhEigkQkZ8MNNyzRssHBXVbTVaHeQHSJKB1RGqJllP/b3/5WojVECzkSfSGCR4SLCA2RK6JERLc4mMb3uMc9rttmm21KpGkQGd0gLrtB7HVPetKTSn6idcm/0UYblQgXZYjODcKjtIE9sYV82PGnP/2pPLvwwgtLJDRRHCJH9GUQnt0gerpBJJcIElGuQex1T3/600u9gzAqEdV3vetdZQOeQF30l8jaIFKWPb0Sxo+2OZKesaAs6djHxj5EAn/xi18Ue+gD9RKZ+8lPflL6QYSLcR0EVClPPq4pz3Om/BLRI+LLmHAQ4R0E5Ux/ede8K+rjTDSQCB5gF3XSTurF5kEAlnez9dZbl/fAd8K4UQd2EvWknUFMl0gt+fnW3vrWt5aoInl22mmnbhBq3SMe8YjuL3/5S/elL32p3NPvjAfU3xVtEB3k+2H8+G74jpPGeyJyyDvFNiLK2LHDDjuUPrM29vTTTy/tA3UTOSSNdlk/S1rdvoiIiIjIymbBgrB2qhECOM/f/va3y3pBRMhTnvKUsmEMDjuia+eddy7ig+mJTMe72c1uVhxtHGemWtaMcp55hiA688wzizBhCiLT8RAGv/rVr7qvfe1rJR8iA8HANFWEKSIUMRG22267IhL222+/7tnPfnYpjy277757ecY01oc//OElL31COO61116lLoTbBhtsMNP3r3/966VtnjFtlXWS9J1+IXQAuzkuvfTS7sgjjyz2c7/jjjt2b3jDG0rde++9d/e6172u2EG5k08+udQRGD9ECmcOwLaIkDwnT8RMSP7ANFoEIGMIF198cZleW0MdqRu4Zpzg7ne/e/fc5z6323fffbvXvOY1M2PJNNbVl61PxDYO+gkIo09+8pPdN7/5zXLP8zov72yNNdYo74n6qBfBddvb3rbkQaDzHl/xileUttiMCH784x93n//854ugRKTxDwjGc5999invlumcCLrf//735Z3VfQrYwpggkvnHAGIuYhgQivwD49a3vnX30Ic+tNjCPxyYGox4XHvttcv0X75t6qcsfw+0zXd9/vnnX+VvRURERETkmsCCBWGc/USFcPaPPvroEm0hesQaqw984APFIUdAEH1hTSGRMBx/HG2EyWMf+9jiiIfUG2pnGseeqA8RKJxzonk43qxFQ2ghDMiPk05kj7VyiE/WxAXWxRGZQ9jg1CNIECNEMhGYCDvWFgYEK9Eq8lOW9X20gQ0IKYTEPe95zyJIiHBhAxEjbAXGB5GIWCYyCJtttln3zGc+s/SBOhG33BN9on3sRfxCxiPjUI9PO1bQio/cI8DWWmutErH79Kc/XQQMsAEKkUtEIII21PVwnXveK/1lfBkTxpJj3XXXLYIoeTnoeyKHvDfWFQJjXpO6EdbUzXggzIhGAmsfec7BO8UGQDwTCaRd6qRv9JNILpsVIVpZo8r3kMjpKFjPikDmvSOgsSdjSxSSevkGSKOeRLTpG/98QOzzjwFIOf4ZgnBEtOZdioiIiIhcU1iwIAQcfZxlNjQhEoj4e/7zn19EExtr4CgTrcFxP+yww0oEbPvtty/53v3udxfHHVGHIKsd9jjkca4T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\"","module.exports = __webpack_public_path__ + \"static/media/help-process-composition-cards.de7017bb.png\";","module.exports = __webpack_public_path__ + \"static/media/help-process-composition-cart.5d64181c.png\";","module.exports = __webpack_public_path__ + \"static/media/help-process-composition-filter.afe72293.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/help-req-popup-calender.32176511.png\";","module.exports = __webpack_public_path__ + \"static/media/help-req-popup-dates.f1a340da.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/help-request-filters.9cbd2089.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/help-review-cart.53777349.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/help-save-attachment.bf98829f.png\";","module.exports = __webpack_public_path__ + \"static/media/help-signoff-desclaimer.6239b9fd.png\";","module.exports = __webpack_public_path__ + \"static/media/help-signoff-selected.dfa137a2.png\";","module.exports = __webpack_public_path__ + \"static/media/help-signoff.752e4299.png\";","module.exports = __webpack_public_path__ + \"static/media/help-success-factor-cart.1e4e8ae3.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4oAAABlCAIAAACEFYplAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwwAADsMBx2+oZAAACkhJREFUeF7t27GO1MYfB3AegHegyyukShcpEkqfHiVSGlBoTnkCei5FOtp0CXQ8AoqQkFLkAaAgDTqkjaI/0in8x+OxPeO1jz12b5nMfT46Rbtee3ac+/l+X88uN/7+++9//vnnf9E7AAD4pMRTAAAqIp4CAFAR8RQAgIqIpwAAVEQ8BQCgIuIpAAAVEU8BAKiIeAoAQEXEUwAAKiKeAgBQEfEUAICKiKcAAFREPAUAoCLiKQAAFRFPAQCoiHgKAEBFxFMAACoingIAUBHxFACAioinAABURDwFAKAi4ikAABURTwEAqIh4CgBARcRTAAAqIp4CAFAR8RQAgIocIp7+/tPt0enztHFHrx7fv/3TJY+BI3ielfXtn35PWwGAq7Z3PA3Z9IfHL9OTd89Pb9//dXy2A/GUCnV3XPcfv0rP+qgqoQLAcewbT1/+en+WR1++Ck/Ldt5l0Njsuwe9vvdPC1TDIC8f/zDb0r3F7dPHw/buwBCCexIDV2ApjI63YfHB81CTw21VV5/JmGhDGWfpNhzSf6owHRtl93UAwGjv1dOYOLdjYsyUaVV0iLBZzx6bfbF62mXTMZWOC7Gx/acD+yiQ3s7KK1dhLM5F4dXZvdO483gbdkE8zY7t7rIu+2UYALgGDvJPo/Jv6Y15MWzsH4+tukuf8yCbR8xZ3BxSQp50t+JsFgLgIMp4Oi7Vp3uk4tV5SS/ciQV5PM2Dr/srAFhykHg6yReT0vJn6MFlO0+tvl9Dyjt0aN5z3UvzeFqMJp5yaLMQmYTbre14OmwcDLW6Hk/HSu7MDwcAgj3j6Xz1aB434zftxk8zM8Paar5/ET0n4inHtZQax1RaxNN5BV5u9XS8CgCAzN6rp6HjZi22/DpdF17Lj/vHnj0+zjt0EXbHhVjxlCPrSi5PqN1N1FCZZcQcq7TT7ZaOGr85Hat0uCi6i8V3TwHgAw7x4X5suknZbotkGWR7jjE0fbcv7dYn2mjo+uIpn0CMpKPpI4IyngYxy/bmiTZt/LVYPfUv9wHgYgf+7ulMiJ7FR/9wnW1FWwBg21XG024ByVfrYCCeAsAOrjCeZl+/A8RTANjJ1X64DwAAlyKeAgBQEfEUAICKiKcAAFREPAUAoCLiKQAAFRFPAQCoyGHi6WazOTs7ewM1CTUZKjPV6CWdPDq/def9ja/9+KnoJ9RkqMxUowDtOkA8ffv2bRjk/Pz8PdQk1GSozFCfqVJ39sXJv9+evv/zZRoHKhFqMlRmqM9UqQCN2jeebjabMEL62wn1CfV5qTXUk0fnIQFAtUJ9WkMF2rZvPD07O7NuSs1CfYYqTfW6g1t3rJtStVCfoUpTvQK0aN94+ubNm/QnE2oVqjTV6w5ufJ2OgmqFKk31CtAi8ZT2iac0RjwF2iae0j7xlMaIp0DbxFPaJ57SGPEUaJt4SvvEUxojngJtE09pn3hKY8RToG3iKe0TT2mMeAq0TTylfeIpjRFPgbaJp7TvvxVPXzz88ssv7z35Kz29rl6chv8Nd5+8Tk8piKdA244UT1//di/0mqTqlhObYkFQ+M87fDx9vlUmh6vqTx5P4wRGpy/S5iMTTy8ingJtO0Y87bPp6fP+WeVd52DTiz3+U7X2Nv344483LnTz5s1nz56lvTNXFE/v/XYlVfwp4+lfT+J95Fi3r5/c3XcyH3shXIt4+tElLZ4CbTtCPO073NSfYlqtdklSPK3a999/n/r2kqdPn6b9SuLpbpbCaB9YH358IYunF/u4khZPgbYdLZ7O2u3r1/HpLKrOOtnqVwKKj1bzzhdbWpJtT2tC0dRos52nwdeaYn8WSZFLliYTT2QwvGNxOlm/T2cdJzmsMbPqm2++Sa279Msvv6Q9thwxnsb6efhiLIBun6lCtkp9qszZS9PTxbLpx5+qpZjPylVQ1PDseoz6ySwmwr9eDxsXB5+f9WyeSdyYn3ia//LlvHYlNugjSlo8Bdp2vA/3R3kCuyCe9kctfCWg6MT50mzRz7KhUu/sHsamGI+NB6adsx36x5M0tzhaelzMeXUyxbkEq6eT9rwunfggvvrqq9TABz///HN6bckVxdPM+ItO9dP/otNvNi+tlV96XmD54/WyiY/zFJhvL4bt51YU5+y6S/qTGsZcsjZ43D7OM44zzDnfrROfToOUq7P5SRXv1bzLlrR4CrTtSP80amxgg6WoV3SyvFHl8lhZmHfcqUf2bz01yKjv1lsdepemOI28Opmg7Mrz08ljR9xzeyas2mw2n3/+eWrjN248ePAgvbDi+Kun6VkR1LbvXrJfepbSspd2K5vppmv9KihmUhwyifssXXTJBy6x8cBy8PJCuLja8wtqhyuxIZctafEUaNvR4umkb7GL3XTqZMWaSm61acVj51KP7PvuIDXp/i0GQzddGz9uz0xdeZd4un06WVyY9W928erVq88++yw08pOTk7RpXa3xNP+lTwfGl6bcuVY2YwrML6K1q6C/6OZm19fqRZesDZ5PvjNMrH82O9OtE09/ECbXMp4Glypp8RRo29XH0+2el3Wv1Xg6a3jTS/MFy3GE2VDL+snMe158r/x9F3cYN04RYXUyQdmG56fTt2TxdB9//PHHd999l55cqMnV02HAe/fCf4d9Vq+CYiZrihkOpuJfv8TKeV4mni6cUbqgpve9PnYvafEUaNsxVk9jQ5paY9GYt1aDxtZVHDVPtGPzy/pi1uCDabeiWY775w31g00x37mY2Opk0m5rbbh4l9meHFyt8XRWLemiyB9fUDadOH62w/pVMDu2P3Cc56g/PHuLfp5p/IsHH0crrrh5ec+exkGGvwbFu2+dLBnxFGjbkT7c7zvZoIhiff/r3H3yZKF1JUUUGLpyp2ixsaUNpp6d7z+O3/fCZFwTWmmK2QinD7vHy4PnkxnHL9t5ku05a9gc3BXF01JfQmVQi7sNpbIdT09f5HU1VFR8aSzI1bKJ8jur0cpVkCaQLGXrXrHbOOHB4uDlWZfxdHYhbFV79nZ3T0+n01m5EonEU6Btn+C7p3Bkh4+nezvMPcksCHJtiKdA28RT2tdqPC0+Gec6EU+BtomntK/NeNp/aD7/uJ9rQTwF2iae0r4K4ynsQzwF2iae0j7xlMaIp0DbxFPaJ57SGPEUaNu+8fTs7Oz8/Dz9yYT6hPoMVZrqdQe37rz/82U6FioU6jNUaapXgBbtG083m00YIf3VhPqE+gxVmup1ByePzr89TcdChUJ9hipN9QrQon3jafD27dswiDVUahNqMlRmqM9UqTv74uTfkACsoVKbUJOhMkN9pkoFaNQB4mmw2WzOzs7eQE1CTV5q3TR38uj81p3uG35+/NTzE2rSuilwHRwmngIAwEGIpwAAVEQ8BQCgIuIpAAAVEU8BAKiIeAoAQEXEUwAAKiKeAgBQEfEUAICKiKcAAFREPAUAoCLiKQAAFRFPAQCoiHgKAEBFxFMAACoingIAUBHxFACAioinAABURDwFAKAi4ikAABURTwEAqMa7d/8Hcq8AKWnYeCwAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/info-icon.b315295e.svg\";","module.exports = __webpack_public_path__ + \"static/media/info-white-icon.84e8c019.svg\";","module.exports = __webpack_public_path__ + \"static/media/invalid-cross-icon.de9109e0.svg\";","module.exports = __webpack_public_path__ + \"static/media/landscape-cart.cf5de0ac.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/jpeg;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/pagination.4fe02b95.png\";","module.exports = __webpack_public_path__ + \"static/media/proceed-button.be73814b.png\";","module.exports = __webpack_public_path__ + \"static/media/request-number.11b04234.png\";","module.exports = __webpack_public_path__ + \"static/media/run_intellegent_dignosis.0561ac32.svg\";","module.exports = __webpack_public_path__ + \"static/media/search-box.cf1ff1f3.png\";","module.exports = __webpack_public_path__ + \"static/media/select-service-search-page.23239d25.png\";","module.exports = __webpack_public_path__ + \"static/media/service-search-box.b1fb222d.png\";","module.exports = __webpack_public_path__ + \"static/media/service-search-page.db00cca2.png\";","module.exports = __webpack_public_path__ + \"static/media/service-search-popup-page.cee706f1.png\";","module.exports = __webpack_public_path__ + \"static/media/service-selection-image.358ae56a.png\";","module.exports = __webpack_public_path__ + \"static/media/support_for_application_management_services.b5a60afb.svg\";","module.exports = __webpack_public_path__ + \"static/media/support_for_client_meeting.4e011eaa.svg\";","module.exports = __webpack_public_path__ + \"static/media/support_for_client_workshop.94763a8a.svg\";","module.exports = __webpack_public_path__ + \"static/media/support_for_project_dilevery.e67797af.svg\";","module.exports = __webpack_public_path__ + \"static/media/support_for_project_estimation.63940f78.svg\";","module.exports = __webpack_public_path__ + \"static/media/support_from_sales_coe.b133739a.svg\";","module.exports = __webpack_public_path__ + \"static/media/up-arrow-colored-sort.a92746a3.svg\";","module.exports = __webpack_public_path__ + \"static/media/valid_Icon.e8ebe769.svg\";","export const API_BASE_URL = \"/COEAPI/Requests\";\r\nexport const USER_API_BASE_URL = \"/COEAPI/Users\";\r\nexport const ADMIN_API_BASE_URL = \"/COEAPI/Admin\";\r\nexport const UTIL_BASE_URL = \"/COEAPI/Util\";\r\nexport const INCIDENT_API_BASE_URL = \"/COEAPI/Incident\";\r\nexport const INTERNAL_REQUEST_BASE_URL = \"/COEAPI/InternalRequest\";\r\nexport const PROD_URL = \"https://coe.myconcerto.accenture.com\";\r\nexport const STAGE_URL = \"https://coestg.myconcerto.accenture.com\";\r\nexport const DEV_URL = \"https://coedev.myconcerto.accenture.com\";\r\nexport const PROD_URL_API = \"https://coe.myconcerto.accenture.com/COEAPI/\";\r\nexport const STAGE_URL_API = \"https://coestg.myconcerto.accenture.com/COEAPI/\";\r\nexport const DEV_URL_API = \"https://coedev.myconcerto.accenture.com/COEAPI/\";","import Axios from \"axios\";\r\nimport * as configConstants from \"../configs/urlConfig\";\r\nimport * as urlConfig from \"../configs/api-base-url\";\r\n\r\n\r\nconst { BASE_URL } = configConstants;\r\nconst { API_BASE_URL } = urlConfig;\r\nconst infoStatusArr = [404]\r\n\r\n\r\nfunction postFileHeaders() {\r\n return {\r\n \"Authorization\": `Bearer ${JSON.parse(sessionStorage.getItem(\"userInfo\")).access_token}`\r\n }\r\n}\r\n\r\n\r\nfunction setHeaders() {\r\n return {\r\n \"Content-Type\": \"application/json\",\r\n \"Authorization\": `Bearer ${JSON.parse(sessionStorage.getItem(\"userInfo\")).access_token}`\r\n }\r\n\r\n}\r\n\r\nexport async function getData({ serviceName, apiBaseUrl = API_BASE_URL }) {\r\n let isInfo = false\r\n\r\n return await Axios.get(\r\n `${BASE_URL}${apiBaseUrl}/` + serviceName,\r\n { headers: setHeaders() }\r\n )\r\n .then(response => {\r\n const { status, data, errors } = response;\r\n if (status === 200) {\r\n return { success: true, data };\r\n } else if (infoStatusArr.includes(status)) {\r\n return {\r\n success: false,\r\n error: errors.toString(),\r\n isInfo: true\r\n };\r\n } else {\r\n return {\r\n success: false,\r\n error: errors.toString()\r\n };\r\n }\r\n })\r\n .catch(error => {\r\n let errorMessage = ''\r\n let actualErrorMessage = ''\r\n if (error.response) {\r\n\r\n /*\r\n * The request was made and the server responded with a\r\n * status code that falls out of the range of 2xx\r\n */\r\n const { data } = error.response\r\n actualErrorMessage = data.message\r\n errorMessage = `There was an HTTP error. ${data.message}, Status code:${data.statusCode}.`\r\n if (infoStatusArr.includes(data.statusCode)) {\r\n errorMessage = `${data.message}`\r\n isInfo = true\r\n }\r\n } else if (error.request) {\r\n /*\r\n * The request was made but no response was received, `error.request`\r\n * is an instance of XMLHttpRequest in the browser and an instance\r\n * of http.ClientRequest in Node.js\r\n */\r\n errorMessage = error.toString()\r\n } else {\r\n // Something happened in setting up the request and triggered an Error\r\n errorMessage = error.toString()\r\n }\r\n return {\r\n success: false,\r\n error: errorMessage,\r\n actualErrorMessage,\r\n isInfo\r\n };\r\n });\r\n}\r\n\r\nexport async function postData({ serviceName, apiBaseUrl = API_BASE_URL, data }) {\r\n let isInfo = false\r\n return await Axios.post(\r\n `${BASE_URL}${apiBaseUrl}/` + serviceName,\r\n data,\r\n { headers: setHeaders() }\r\n )\r\n .then(response => {\r\n const { status, errors } = response;\r\n if (status === 200) {\r\n if (response.data.statusCode && infoStatusArr.includes(response.data.statusCode)) {\r\n return {\r\n success: false,\r\n error: response.data.reasonPhrase || 'Something went wrong!',\r\n isInfo: true\r\n }\r\n } else if (response.data.statusCode && response.data.statusCode !== 200) {\r\n return {\r\n success: false,\r\n error: response.data.reasonPhrase || 'Something went wrong!'\r\n };\r\n }\r\n return { success: true, data: response.data, successMessage: `${response.data.reasonPhrase}!` };\r\n } else {\r\n return {\r\n success: false,\r\n error: errors.title\r\n };\r\n }\r\n })\r\n .catch(error => {\r\n let errorMessage = ''\r\n if (error.response) {\r\n const errorDetails = error.response\r\n errorMessage = `There was an error. ${errorDetails.data.message ? errorDetails.data.message : ''}, Status code:${errorDetails.data.statusCode ? errorDetails.data.statusCode : ''}.`\r\n if (infoStatusArr.includes(errorDetails.data.statusCode)) {\r\n errorMessage = `${errorDetails.data.message}`\r\n isInfo = true\r\n }\r\n } else if (error.request) {\r\n errorMessage = error.toString()\r\n } else {\r\n errorMessage = error.toString()\r\n }\r\n return {\r\n success: false,\r\n error: errorMessage,\r\n isInfo\r\n };\r\n });\r\n}\r\n\r\nexport async function fileUploadPostData({ serviceName, apiBaseUrl = API_BASE_URL, data }) {\r\n return await Axios.post(\r\n `${BASE_URL}${apiBaseUrl}/` + serviceName,\r\n data,\r\n { headers: postFileHeaders() }\r\n )\r\n .then(response => {\r\n const { status, errors } = response;\r\n if (status === 200) {\r\n if (response.data.statusCode && response.data.statusCode !== 200) {\r\n return {\r\n success: false,\r\n error: response.data.reasonPhrase || 'Something went wrong!'\r\n };\r\n }\r\n return { success: true, data: response.data, successMessage: `${response.data.reasonPhrase}!` };\r\n } else {\r\n return {\r\n success: false,\r\n error: errors.title\r\n };\r\n }\r\n })\r\n .catch(error => {\r\n let errorMessage = ''\r\n if (error.response) {\r\n const errorDetails = error.response;\r\n errorMessage = `There was an error. ${errorDetails.data.message ? errorDetails.data.message : ''}, Status code:${errorDetails.data.statusCode ? errorDetails.data.statusCode : ''}.`\r\n } else if (error.request) {\r\n errorMessage = error.toString()\r\n } else {\r\n errorMessage = error.toString()\r\n }\r\n return {\r\n success: false,\r\n error: errorMessage\r\n };\r\n });\r\n}\r\n/* reverting azure object implementation because its changes merged into dev for test the auth_token */\r\n\r\n// export async function getAzureObjectData({\r\n// serviceName,\r\n// apiBaseUrl = API_BASE_URL,\r\n// }) {\r\n// let isInfo = false;\r\n// return await Axios.get(`${BASE_URL}${apiBaseUrl}/` + serviceName, {\r\n// headers: headers,\r\n// })\r\n// .then((response) => {\r\n// const { status, errors } = response;\r\n// if (status === 203) {\r\n// window.location.replace(response.request.responseURL);\r\n// return response;\r\n// } else if (infoStatusArr.includes(status)) {\r\n// return {\r\n// success: false,\r\n// error: errors.toString(),\r\n// isInfo: true,\r\n// };\r\n// } else {\r\n// return {\r\n// success: false,\r\n// error: errors.toString(),\r\n// };\r\n// }\r\n// })\r\n// .catch((error) => {\r\n// let errorMessage = \"\";\r\n// let actualErrorMessage = \"\";\r\n// if (error.response) {\r\n// /*\r\n// * The request was made and the server responded with a\r\n// * status code that falls out of the range of 2xx\r\n// */\r\n// const { data } = error.response;\r\n// actualErrorMessage = data.message;\r\n// errorMessage = `There was an HTTP error. ${data.message}, Status code:${data.statusCode}.`;\r\n// if (infoStatusArr.includes(data.statusCode)) {\r\n// errorMessage = `${data.message}`;\r\n// isInfo = true;\r\n// }\r\n// } else if (error.request) {\r\n// /*\r\n// * The request was made but no response was received, `error.request`\r\n// * is an instance of XMLHttpRequest in the browser and an instance\r\n// * of http.ClientRequest in Node.js\r\n// */\r\n// errorMessage = error.toString();\r\n// } else {\r\n// // Something happened in setting up the request and triggered an Error\r\n// errorMessage = error.toString();\r\n// }\r\n// return {\r\n// success: false,\r\n// error: errorMessage,\r\n// actualErrorMessage,\r\n// isInfo,\r\n// };\r\n// });\r\n// }","import { getData } from \"./api-manager\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../configs/api-base-url\";\r\n\r\nexport const getTokenData = () => {\r\n let tokenData = {};\r\n let token = JSON.parse(sessionStorage.getItem(\"userInfo\"));\r\n const { access_token } = token;\r\n const { id_token } = token;\r\n if (id_token){\r\n sessionStorage.setItem(\"ddrumsdk.idtoken \", id_token);\r\n }\r\n\r\n let jwt = require(\"jsonwebtoken\");\r\n if (access_token) {\r\n let decodedToken = jwt.decode(access_token);\r\n let upn = decodedToken.upn;\r\n let eid = decodedToken.upn;\r\n let expiry = decodedToken.exp;\r\n let iat = decodedToken.iat;\r\n eid = upn.substring(0, eid.indexOf(\"@\"));\r\n return {\r\n eid,\r\n decodedToken,\r\n upn,\r\n expiry,\r\n token,\r\n iat,\r\n };\r\n } else {\r\n return tokenData;\r\n }\r\n};\r\n/* reverting azure object implementation because its changes merged into dev for test the auth_token */\r\n\r\nexport const setAzureDataInSession = async () => {\r\n const serviceName = `refreshToken?refreshToken=${sessionStorage.getItem(\r\n \"refresh_token\"\r\n )}`;\r\n const response = await getData({\r\n serviceName: serviceName,\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n });\r\n const { success, data } = response;\r\n if (success) {\r\n const { access_token, expires_in, refresh_token } = data;\r\n sessionStorage.setItem(\"azure_auth_token\", access_token);\r\n sessionStorage.setItem(\"expires_in\", expires_in);\r\n sessionStorage.setItem(\"refresh_token\", refresh_token);\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n};\r\n\r\nexport const updateAzureTokenExpireTime = () => {\r\n let expire_time = sessionStorage.getItem(\"expires_in\");\r\n if (expire_time && expire_time >= 0) {\r\n const interval = setInterval(() => {\r\n expire_time--;\r\n sessionStorage.setItem(\"expires_in\", expire_time);\r\n if (expire_time === 0) {\r\n sessionStorage.removeItem(\"expires_in\");\r\n clearInterval(interval);\r\n }\r\n }, 1000);\r\n }\r\n};\r\n","import React, { Component } from \"react\";\r\nimport { getData } from \"../../api/api-manager\";\r\nimport { USER_API_BASE_URL, UTIL_BASE_URL } from \"../../configs/api-base-url\";\r\nimport { getTokenData } from \"../../api/sessionConfig\";\r\nexport const AppServiceContext = React.createContext();\r\n\r\nclass AppServiceProvider extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n userRole: \"\",\r\n userHasRequests: \"\",\r\n eid: \"\",\r\n upn: \"\",\r\n showAdminIcon: undefined,\r\n expiry: \"\",\r\n clicked: \"\",\r\n screenName: \"\",\r\n showHelpOpt: false,\r\n reqPopupOpen: false,\r\n unreadNotificationCnt: 0,\r\n existingReadNotificationIds: [],\r\n notificationData: {},\r\n isRequestNumber: \"\",\r\n isIncidentCategoryID: \"\",\r\n requestID: \"\",\r\n requestValue: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getDetails();\r\n this.adalToken();\r\n }\r\n\r\n adalToken() {\r\n let tokenData = getTokenData();\r\n if (tokenData) {\r\n const { decodedToken, eid, upn, expiry } = tokenData;\r\n this.setState({\r\n decodedToken,\r\n eid,\r\n upn,\r\n expiry,\r\n });\r\n }\r\n }\r\n\r\n async getNotifications() {\r\n const response = await getData({\r\n apiBaseUrl: UTIL_BASE_URL,\r\n serviceName: `Notifications`,\r\n });\r\n const { success, data, error } = await response;\r\n if (success) {\r\n await this.setState({\r\n notificationData: data.NotificationList,\r\n unreadNotificationCnt: data.NotificationList.UnreadNotificationCount,\r\n });\r\n } else {\r\n this.setState({ error: error, showSpinner: false });\r\n }\r\n }\r\n\r\n async getDetails() {\r\n let tokenData = getTokenData();\r\n const response = await getData({\r\n apiBaseUrl: USER_API_BASE_URL,\r\n serviceName: `Role?EID=${tokenData && tokenData.eid}`,\r\n });\r\n const { success, data, error, isInfo } = await response;\r\n if (success) {\r\n if (data) {\r\n const {\r\n hasRequests,\r\n roleId,\r\n globalNotification,\r\n IsFirstTimeUser,\r\n NotificationList,\r\n showAdminIcon,\r\n } = data;\r\n const notificationList =\r\n NotificationList.Notifications &&\r\n NotificationList.Notifications.length > 0\r\n ? NotificationList.Notifications\r\n : [];\r\n let announcementNotification = [];\r\n if (notificationList.length > 0) {\r\n const singleNotification = notificationList.find(({ isDisplay }) => {\r\n return isDisplay === true;\r\n });\r\n if (\r\n !!singleNotification &&\r\n Object.entries(singleNotification).length\r\n ) {\r\n announcementNotification = [\r\n ...announcementNotification,\r\n singleNotification,\r\n ];\r\n }\r\n }\r\n this.setState({\r\n userHasRequests: hasRequests,\r\n userRole: roleId,\r\n newUser: IsFirstTimeUser,\r\n tourNotification: globalNotification,\r\n announcementNotification,\r\n showAdminIcon: showAdminIcon,\r\n });\r\n this.getNotifications();\r\n }\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true });\r\n }\r\n }\r\n\r\n render() {\r\n const userName = this.state.decodedToken;\r\n const {\r\n eid,\r\n upn,\r\n expiry,\r\n clicked,\r\n showHelpOpt,\r\n reqPopupOpen,\r\n screenName,\r\n isRequestNumber,\r\n requestID,\r\n isIncidentCategoryID,\r\n requestValue,\r\n } = this.state;\r\n return (\r\n {\r\n this.setState({\r\n ...this.state,\r\n ...newData,\r\n });\r\n },\r\n setScreenName: (newData) => {\r\n this.setState({\r\n ...this.state,\r\n ...newData,\r\n });\r\n },\r\n addNewDataInContext: (newData) => {\r\n this.setState({\r\n ...this.state,\r\n ...newData,\r\n });\r\n },\r\n }}\r\n >\r\n {this.props.children}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default AppServiceProvider;\r\n","import sale from \"../../assets/images/sales.svg\";\r\nimport delivery from \"../../assets/images/delivery.svg\";\r\nimport enterprise from \"../../assets/images/enterprise.svg\";\r\nimport diagnostics from \"../../assets/images/diagnostics.svg\";\r\nimport hamburger from \"../../assets/images/Hamburger.svg\";\r\nimport closeHamburgerMenu from \"../../assets/images/close_HamburgerMenu.svg\";\r\nimport path from \"../../assets/images/path.svg\";\r\nimport accLogo from \"../../assets/images/acc-logo.svg\";\r\nimport searchIcon from \"../../assets/images/search-icon.svg\";\r\nimport salesBlack from \"../../assets/images/sales-black.svg\";\r\nimport deliveryBlack from \"../../assets/images/delivery-black.svg\";\r\nimport enterpriseBlack from \"../../assets/images/ies-black.svg\";\r\nimport diagnosticsBlack from \"../../assets/images/idt-black.svg\";\r\nimport formLogo from \"../../assets/images/Form_title_icon.svg\";\r\nimport RightPointer from \"../../assets/images/right-pointing.svg\";\r\nimport UnlinkButton from \"../../assets/images/Unlink-button.svg\";\r\nimport LinkButton from \"../../assets/images/link-button.svg\";\r\nimport cancleIcon from \"../../assets/images/cancel.svg\";\r\nimport menuIcon from \"../../assets/images/menu.svg\";\r\nimport crossIcon from \"../../assets/images/cross-menu.svg\";\r\nimport crossIconWhite from \"../../assets/images/cross-menu-white.svg\";\r\nimport ExpandMenuArrows from \"../../assets/images/arrows_openMenu.svg\";\r\nimport CloseMenuArrows from \"../../assets/images/arrows_closeMenu.svg\";\r\nimport servicesIcon from \"../../assets/images/services-icon.svg\";\r\nimport servicesWhiteIcon from \"../../assets/images/services-white-icon.svg\";\r\nimport newRequestIcon from \"../../assets/images/new-request-icon.svg\";\r\nimport newRequestWhiteIcon from \"../../assets/images/new-request-icon-white.svg\";\r\nimport archivedRequestIcon from \"../../assets/images/archived-request-icon.svg\";\r\nimport archivedRequestWhiteIcon from \"../../assets/images/archived-request-icon-white.svg\";\r\nimport aboutIcon from \"../../assets/images/about-icon.svg\";\r\nimport aboutWhiteIcon from \"../../assets/images/about-icon-white.svg\";\r\nimport myRequestIcon from \"../../assets/images/my-request-icon-purple.svg\";\r\nimport myRequestWhiteIcon from \"../../assets/images/my-request-icon-white.svg\";\r\nimport helpIcon from \"../../assets/images/help-icon-purple.svg\";\r\nimport helpWhiteIcon from \"../../assets/images/help-icon-white.svg\";\r\nimport helpGreyIcon from \"../../assets/images/help-icon-grey.svg\";\r\nimport dashboardIcon from \"../../assets/images/dashboard-icon-purple.svg\";\r\nimport dashboardWhiteIcon from \"../../assets/images/dashboard-icon-white.svg\";\r\nimport downArrow from \"../../assets/images/down-arrow.svg\";\r\nimport downArrowSort from \"../../assets/images/sorting-black-down.svg\";\r\nimport downArrowColoredSort from \"../../assets/images/sorting-purple-down.svg\";\r\nimport upArrowColoredSort from \"../../assets/images/sorting-purple-up.svg\";\r\nimport upArrow from \"../../assets/images/up-arrow.svg\";\r\nimport filterIcon from \"../../assets/images/filter-icon.png\";\r\nimport createRequest from \"../../assets/images/plus-button.svg\";\r\nimport loginIcon from \"../../assets/images/login-icon.png\";\r\nimport spinner from \"../../assets/images/spinner.gif\";\r\nimport requestImage from \"../../assets/images/request-image.PNG\";\r\nimport resetPopupIcon from \"../../assets/images/reset-icon.svg\";\r\nimport successPopupIcon from \"../../assets/images/success-icon.svg\";\r\nimport pageNotFound from \"../../assets/images/page-not-found.svg\";\r\nimport noRequestCreated from \"../../assets/images/no-requests.svg\";\r\nimport accordionDownBlackArrow from \"../../assets/images/collapsable-down-black-arrow.svg\";\r\nimport accordionUpPurpleArrow from \"../../assets/images/collapsable-up-purple-arrow.svg\";\r\nimport cart from \"../../assets/images/cart.svg\";\r\nimport server from \"../../assets/images/server.svg\";\r\nimport flowChart from \"../../assets/images/flow-chart.svg\";\r\nimport info from \"../../assets/images/info.svg\";\r\nimport tick from \"../../assets/images/tick.svg\";\r\nimport greenTick from \"../../assets/images/green-tick.svg\";\r\nimport reject from \"../../assets/images/reject.svg\";\r\nimport redReject from \"../../assets/images/red-reject.svg\";\r\nimport like from \"../../assets/images/like.svg\";\r\nimport download from \"../../assets/images/download.svg\";\r\nimport infoInBlack from \"../../assets/images/black-colored-info.svg\";\r\nimport more from \"../../assets/images/more.svg\";\r\nimport alert from \"../../assets/images/alert.svg\";\r\nimport next from \"../../assets/images/next.svg\";\r\nimport previous from \"../../assets/images/previous.svg\";\r\nimport searchIconWhite from \"../../assets/images/search-icon-white.svg\";\r\nimport incidentFormIconWhite from \"../../assets/images/incident-form.svg\";\r\nimport richTextIcon from \"../../assets/images/rich-text-icon.svg\";\r\nimport AddIconTable from \"../../assets/images/expand-collapse.svg\";\r\nimport SubIconTable from \"../../assets/images/add-icon-square-border.svg\";\r\nimport MinusIconTable from \"../../assets/images/minus.svg\";\r\nimport clock from \"../../assets/images/clock.svg\";\r\n\r\nimport AdminModulePurpleIcon from \"../../assets/images/admin-module-purple-icon.svg\";\r\nimport AdminModuleWhiteIcon from \"../../assets/images/admin-module-white-icon.svg\";\r\nimport ActionPurpleIcon from \"../../assets/images/action-pencil-purple.svg\";\r\nimport RemoveGreyIcon from \"../../assets/images/remove-bin-purple.svg\";\r\nimport DownArrowHead from \"../../assets/images/down-arrow-head.svg\";\r\nimport RemoveBinFile from \"../../assets/images/remove-bin-file.svg\";\r\nimport AttachFileEmptyState from \"../../assets/images/attach-file-empty-state.svg\";\r\nimport FileAttachment from \"../../assets/images/file-attachment.svg\";\r\nimport contact from \"../../assets/images/contact.svg\";\r\nimport PopupClose from \"../../assets/images/PopupClose.svg\";\r\nimport DownloadButtonBlack from \"../../assets/images/download-button-black.svg\";\r\nimport BackArrowBlack from \"../../assets/images/back-arrow-black.svg\";\r\nimport SendButton from \"../../assets/images/send-button.svg\";\r\nimport ViewButton from \"../../assets/images/view-button.svg\";\r\nimport InvoiceLogDisable from \"../../assets/images/invoice-log-disable.svg\";\r\nimport SendButtonBlack from \"../../assets/images/send-button-black.svg\";\r\nimport BlackCart from \"../../assets/images/black-cart.svg\";\r\nimport BlackArrow from \"../../assets/images/arrow.svg\";\r\nimport Bell from \"../../assets/images/bell.svg\";\r\nimport SelectedBell from \"../../assets/images/bell-selected.svg\";\r\nimport Paper from \"../../assets/images/paper.svg\";\r\nimport SendTextIcon from \"../../assets/images/send-text-icon.svg\";\r\nimport AddIcon from \"../../assets/images/add.svg\";\r\nimport rightChevron from \"../../assets/images/right-chevron.svg\";\r\nimport downChevron from \"../../assets/images/down-chevron.svg\";\r\n\r\nimport addSquareIcon from \"../../assets/images/add-icon-square-border.svg\";\r\n\r\nexport const SALE = sale;\r\nexport const PATH = path;\r\nexport const DELIVERY = delivery;\r\nexport const ENTERPRISE = enterprise;\r\nexport const DIAGNOSTICS = diagnostics;\r\nexport const ACCENTURELOGO = accLogo;\r\nexport const HAMBURGER = hamburger;\r\nexport const CLOSEHAMBURGERMENU = closeHamburgerMenu;\r\nexport const SEARCHICON = searchIcon;\r\nexport const CANCELICON = cancleIcon;\r\nexport const MENUICON = menuIcon;\r\nexport const CROSSICON = crossIcon;\r\nexport const CROSSICONWHITE = crossIconWhite;\r\nexport const EXPANDMENUARROWS = ExpandMenuArrows;\r\nexport const CLOSEMENUARROWS = CloseMenuArrows;\r\nexport const SERVICES_ICON = servicesIcon;\r\nexport const SERVICES_WHITEICON = servicesWhiteIcon;\r\nexport const NEW_REQUESTICON = newRequestIcon;\r\nexport const NEW_REQUEST_WHITEICON = newRequestWhiteIcon;\r\nexport const MY_REQUEST_PURPLEICON = myRequestIcon;\r\nexport const MY_REQUEST_WHITEICON = myRequestWhiteIcon;\r\nexport const HELP_PURPLEICON = helpIcon;\r\nexport const HELP_WHITEICON = helpWhiteIcon;\r\nexport const HELP_GREYICON = helpGreyIcon;\r\nexport const ARCHIVED_REQUEST_ICON = archivedRequestIcon;\r\nexport const ARCHIVED_WHITE_ICON = archivedRequestWhiteIcon;\r\nexport const ABOUT_ICON = aboutIcon;\r\nexport const ABOUT_WHITE_ICON = aboutWhiteIcon;\r\nexport const DASHBOARD_ICON = dashboardIcon;\r\nexport const DASHBOARD_WHITE_ICON = dashboardWhiteIcon;\r\nexport const DOWNARROW = downArrow;\r\nexport const DOWNARROWSORT = downArrowSort;\r\nexport const DOWNARROWCOLOREDSORT = downArrowColoredSort;\r\nexport const UPARROWCOLOREDSORT = upArrowColoredSort;\r\nexport const UPARROW = upArrow;\r\nexport const FILTER_ICON = filterIcon;\r\nexport const SALESBLACK = salesBlack;\r\nexport const DELIVERYBLACK = deliveryBlack;\r\nexport const ENTERPRISEBLACK = enterpriseBlack;\r\nexport const DIAGNOSTICSBLACK = diagnosticsBlack;\r\nexport const CREATE_REQUEST = createRequest;\r\nexport const LOGIN_ICON = loginIcon;\r\nexport const SPINNER = spinner;\r\nexport const FORMLOGO = formLogo;\r\nexport const REQUESTIMAGE = requestImage;\r\nexport const RESETPOPUPICON = resetPopupIcon;\r\nexport const SUCCESSPOPUPICON = successPopupIcon;\r\nexport const PAGENOTFOUND = pageNotFound;\r\nexport const NOREQUESTCREATED = noRequestCreated;\r\nexport const ACCORDIONDOWNBLACKARROW = accordionDownBlackArrow;\r\nexport const ACCORDIONUPPURPLEARROW = accordionUpPurpleArrow;\r\nexport const REMOVEBINFILE = RemoveBinFile;\r\nexport const ATTACHFILEEMPTYSTATE = AttachFileEmptyState;\r\nexport const FILEATTACHMENT = FileAttachment;\r\nexport const CONTACT = contact;\r\nexport const POPUPCLOSE = PopupClose;\r\nexport const DOWNLOAD = download;\r\nexport const INFOINBLACK = infoInBlack;\r\nexport const MORE = more;\r\nexport const ALERT = alert;\r\nexport const NEXT = next;\r\nexport const PREVIOUS = previous;\r\nexport const SEARCH_WHITEICON = searchIconWhite;\r\nexport const DOWNLOAD_BUTTON_BLACK = DownloadButtonBlack;\r\nexport const BACK_ARROW_BLACK = BackArrowBlack;\r\nexport const SEND_BUTTON = SendButton;\r\nexport const VIEW_BUTTON = ViewButton;\r\nexport const INVOICE_LOG_DISABLE = InvoiceLogDisable;\r\nexport const SENDBUTTONBLACK = SendButtonBlack;\r\nexport const INCIDENTFORMWHITEICON = incidentFormIconWhite;\r\nexport const RICH_TEXT_EDIT_ICON = richTextIcon;\r\nexport const SEND_TEXT_ICON = SendTextIcon;\r\nexport const ADD_ICON = AddIcon;\r\nexport const UNLINK_BUTTON = UnlinkButton;\r\nexport const LINK_BUTTON = LinkButton;\r\nexport const RIGHT_CHEVRON = rightChevron;\r\nexport const DOWN_CHEVRON = downChevron;\r\nexport const ADD_ICON_SQUARE = addSquareIcon;\r\nexport const ADD_ICON_TABLE = AddIconTable;\r\nexport const SUB_ICON_TABLE = SubIconTable;\r\nexport const MINUS_ICON_TABLE = MinusIconTable;\r\nexport const CLOCK = clock;\r\n\r\n\r\nexport const ADMINPURPLEICON = AdminModulePurpleIcon;\r\nexport const ADMINWHITEICON = AdminModuleWhiteIcon;\r\nexport const ACTIONPURPLEICON = ActionPurpleIcon;\r\nexport const REMOVEGREYICON = RemoveGreyIcon;\r\nexport const DOWNARROWHEADPURPLE = DownArrowHead;\r\nexport const CART = cart;\r\nexport const SERVER = server;\r\nexport const FLOWCHART = flowChart;\r\nexport const INFO = info;\r\nexport const TICK = tick;\r\nexport const GREENTICK = greenTick;\r\nexport const REJECT = reject;\r\nexport const REDREJECT = redReject;\r\nexport const LIKE = like;\r\nexport const RIGHTPOINTER = RightPointer\r\nexport const BLACKCART = BlackCart\r\nexport const BLACKARROW = BlackArrow\r\nexport const BELL = Bell\r\nexport const SELECTEDBELL = SelectedBell\r\nexport const PAPER = Paper\r\nexport const MONTHS = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\r\nexport const CALENDERMONTHLMT = 6\r\nexport const CALENDERYEARLMT = 1","import React from \"react\";\r\nimport \"./spinner.scss\"\r\n\r\nconst Spinner = () => {\r\n return (\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\nexport default Spinner;\r\n","import React from \"react\";\r\nimport './button.scss'\r\n\r\nconst Nextbutton = props => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default Nextbutton;\r\n","import React from 'react';\r\nimport './button.scss';\r\n\r\nconst SecondaryButton = props => {\r\n const { customclass, cartCount } = props;\r\n const popupclass = customclass ? `${customclass}` : \"secondary-button\"\r\n const popupClassBtn = customclass ? `acc-sub-btn secondary-button-inactive` : \"secondary-button-inactive\"\r\n\r\n return (\r\n
\r\n \r\n {cartCount}{props.label}\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default SecondaryButton;","import React, { Component } from 'react';\r\n\r\n/**\r\n * Component that alerts if you click outside of it\r\n */\r\nclass OutsideClickAlerter extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.setWrapperRef = this.setWrapperRef.bind(this);\r\n this.handleClickOutside = this.handleClickOutside.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n document.addEventListener('mousedown', this.handleClickOutside);\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener('mousedown', this.handleClickOutside);\r\n }\r\n\r\n setWrapperRef(node) {\r\n this.wrapperRef = node;\r\n }\r\n\r\n handleClickOutside(event) {\r\n if (this.wrapperRef && !this.wrapperRef.contains(event.target)) {\r\n this.props.handleOutsideClick()\r\n }\r\n }\r\n\r\n render() {\r\n const className = this.props.extraClassName ? this.props.extraClassName : \"outside-click-wrapper\"\r\n return
{this.props.children}
;\r\n }\r\n}\r\n\r\nexport default OutsideClickAlerter","import React from \"react\";\r\nimport \"./custom-modal.scss\";\r\nimport * as Constant from \"../constants/constant\";\r\nimport CustomButton from \"../button/nextbutton\";\r\nimport SecondaryButton from \"../button/secondary-button\";\r\nimport OutsideClickAlerter from \"../outside-click-alerter/outside-click-alerter\";\r\n\r\nconst CustomModal = (props) => {\r\n const { handleOk, handleCancel, title, description = '', show, children, extraClass, showCancelBtn, buttonLabel, showOkButton = true } = props;\r\n let showHideClassName = show ? \"modal display-block\" : \"modal display-none\";\r\n showHideClassName = extraClass ? `${showHideClassName} ${extraClass}` : showHideClassName\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{title}
\r\n \"cross-icon\"\r\n
\r\n
\r\n {children}\r\n\r\n
\r\n {!!description &&
{description}
}\r\n
\r\n
\r\n {showOkButton && }\r\n {showCancelBtn && }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CustomModal;\r\n","import React from \"react\";\r\nimport \"./modal.scss\";\r\nimport * as Constant from \"../constants/constant\";\r\nimport SecondaryButton from \"../button/secondary-button\";\r\nimport CustomButton from \"../button/nextbutton\";\r\n\r\nconst Modal = props => {\r\n\r\n const { handleClose, handleCancel, title, popupIcon, show, children, buttonPosition, hideCloseIcon = false, hideOkBtn = true, cancelBtn = false, showIcon = true, addBtn = false, disableAddBtn = false, handleSaveUser, extraClass = '' } = props\r\n let showHideClassName = show ? \"modal display-block\" : \"modal display-none\";\r\n showHideClassName = extraClass ? `${showHideClassName} ${extraClass}` : showHideClassName\r\n\r\n let hideClosebtn = !!hideCloseIcon ? true : false;\r\n let closeButtonClassName = buttonPosition ? `${buttonPosition}` : \"close-btn-div\"\r\n let cancelBtnName = !!props.cancelBtnName ? props.cancelBtnName : 'Cancel'\r\n let okBtnName = !!props.okBtnName ? props.okBtnName : 'Ok'\r\n let addBtnName = !!props.addBtnName ? props.addBtnName : 'add'\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

{title}

\r\n {showIcon && \"popupIcon\"}\r\n {children}\r\n
\r\n {cancelBtn && ()}\r\n {!hideClosebtn && hideOkBtn && }\r\n {addBtn && ()}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Modal;","import React, { Component, Fragment } from \"react\";\r\nimport \"./notification-popup.scss\";\r\nimport { formatDistanceToNow, format } from \"date-fns\";\r\nimport { getData } from '../../api/api-manager';\r\nimport { UTIL_BASE_URL } from \"../../configs/api-base-url\";\r\nimport { Link } from \"react-router-dom\";\r\nimport CustomModal from \"../modals/custom-modal\";\r\nimport parse from 'html-react-parser';\r\nimport Modal from \"../modals/modal\";\r\nclass NotificationsPopup extends Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n notificationList: this.props.notificationData && this.props.notificationData.Notifications,\r\n showErrorPopup: false\r\n };\r\n }\r\n\r\n\r\n handleOutsideClick() {\r\n this.setState({\r\n [`${this.state.detailsPopupID}-showDetailsPopup`]: false\r\n })\r\n }\r\n\r\n async getMoreDetails(notificationId, isRead, contextData) {\r\n const response = await getData({ apiBaseUrl: UTIL_BASE_URL, serviceName: `NotificationDetails?notificationID=${notificationId}` });\r\n const { success, data, error, isInfo } = await response;\r\n if (success) {\r\n if (!isRead) {\r\n let currentUnread = contextData.unreadNotificationCnt\r\n let existingReadNotificationIds = [...contextData.existingReadNotificationIds, notificationId]\r\n await contextData.addNewDataInContext({ unreadNotificationCnt: currentUnread - 1, existingReadNotificationIds })\r\n }\r\n await this.setState({\r\n [`${notificationId}-showDetailsPopup`]: true,\r\n detailsPopupID: notificationId,\r\n notificationDetails: data.Description,\r\n })\r\n let statusChange = []\r\n this.state.notificationList.reduce((acc, currentVal) => {\r\n if (currentVal.ID === notificationId && currentVal.isRead === false) {\r\n statusChange = [...statusChange, { ...currentVal, isRead: true }]\r\n } else {\r\n statusChange = [...statusChange, { ...currentVal }]\r\n }\r\n return null\r\n }, [])\r\n await this.setState({\r\n notificationList: statusChange\r\n })\r\n\r\n } else {\r\n await this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n formatTimeStamp(timeStamp) {\r\n let receivedDate = formatDistanceToNow(new Date(timeStamp))\r\n return `${receivedDate} ago`\r\n }\r\n\r\n render() {\r\n const Notifications = this.state.notificationList;\r\n const {notificationDetails} = this.state;\r\n const notificationPopupDetail = notificationDetails ? parse(notificationDetails.toString(\"html\")) : null;\r\n const unreadCount = this.props.contextData && this.props.contextData.unreadNotificationCnt && this.props.contextData.unreadNotificationCnt > 0 ? `(${this.props.contextData.unreadNotificationCnt})` : ''\r\n return (
\r\n \r\n
\r\n
\r\n
Notifications {unreadCount}
\r\n \r\n Read All\r\n \r\n
\r\n
    \r\n {Notifications && Notifications.map((item) => {\r\n const isItemRead = item.isRead || this.props.contextData.existingReadNotificationIds.includes(item.ID)\r\n return (\r\n \r\n
  • \r\n
    \r\n
    {item.Category}
    \r\n {this.formatTimeStamp(item.createdDate)}\r\n
    \r\n
    \r\n

    {item.Title} { this.getMoreDetails(item.ID, item.isRead, this.props.contextData); }}>More

    \r\n
    \r\n
  • \r\n {(!this.state.showErrorPopup && !!this.state[`${item.ID}-showDetailsPopup`] && this.state.detailsPopupID === item.ID) &&\r\n
    \r\n { this.handleOutsideClick() }}\r\n handleOk={() => { this.handleOutsideClick() }}\r\n extraClass=\"notification-detail-modal\">\r\n \r\n
    \r\n
    {item.Category}
    \r\n Updated on: {format(new Date(item.createdDate), 'dd/MM/yyyy')}\r\n
    \r\n
    {notificationPopupDetail}\r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n )\r\n })\r\n }
\r\n
\r\n {!!this.state.error && { this.setState({ showErrorPopup: false }) }}>

{this.state.error}

}\r\n
);\r\n }\r\n}\r\nexport default NotificationsPopup;","import React, { Component } from \"react\";\r\nimport * as constant from \"../constants/constant\";\r\nimport { AppServiceContext } from \"../../context-providers/app-service-provider/app-service-provider\";\r\nimport \"./header.scss\";\r\nimport { getData } from '../../api/api-manager';\r\nimport { UTIL_BASE_URL } from \"../../configs/api-base-url\";\r\nimport Spinner from \"../spinner/spinner\";\r\nimport { Link } from \"react-router-dom\";\r\nimport NotificationPopup from \"../notifications/notifications-popup\";\r\nimport OutsideClickAlerter from \"../outside-click-alerter/outside-click-alerter\";\r\n\r\nclass Header extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n opacity: 0,\r\n click: false,\r\n showPopup: false,\r\n expand: false,\r\n hamburgerMenuElements: [],\r\n showSpinner: true,\r\n clicked: false,\r\n showNotifications: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getHamburger();\r\n }\r\n\r\n async getHamburger() {\r\n const response = await getData({ apiBaseUrl: UTIL_BASE_URL, serviceName: \"Menu?\" });\r\n const { success, error, isInfo } = await response;\r\n if (success) {\r\n await this.setState({\r\n hamburgerMenuElements: response.data,\r\n showSpinner: false\r\n })\r\n } else {\r\n this.setState({ error: error, isInfo, showSpinner: false })\r\n }\r\n }\r\n\r\n\r\n\r\n toggleNotifications() {\r\n this.setState({ showNotifications: !this.state.showNotifications })\r\n }\r\n\r\n render() {\r\n let currentPage = this.props.history && this.props.history.location ? this.props.history.location.hash : ''\r\n return (\r\n \r\n {appservice => {\r\n const { unreadNotificationCnt, notificationData } = appservice\r\n return (\r\n
\r\n
    \r\n
  • \r\n \"accentureLogo\"\r\n
  • \r\n
  • \r\n myConcerto\r\n
  • \r\n
  • \r\n \r\n About Us\r\n \r\n {this.state.hamburgerMenuElements && this.state.hamburgerMenuElements.length > 0 && this.state.hamburgerMenuElements.map((item, index) =>\r\n {item.Name}\r\n )}\r\n { this.setState({ showNotifications: false }) }}>\r\n
    { this.toggleNotifications() }} >\r\n \"bell-icon\"\r\n {unreadNotificationCnt > 0 && }\r\n
    \r\n {this.state.showNotifications && !!notificationData &&\r\n { this.setState({ showNotifications: !this.state.showNotifications }) }}>\r\n }\r\n
    \r\n \r\n Hi ! {appservice.userName}\r\n \r\n
  • \r\n
\r\n\r\n {this.state.showSpinner && }\r\n
\r\n );\r\n }\r\n }\r\n
\r\n );\r\n }\r\n}\r\n\r\nHeader.contextType = AppServiceContext;\r\n\r\nexport default Header;\r\n","import React, { Component } from \"react\";\r\n\r\nexport const SidebarContext = React.createContext()\r\nclass SidebarProvider extends Component {\r\n state = {\r\n data: {}\r\n };\r\n \r\n render() {\r\n return (\r\n {\r\n this.setState({\r\n data: { ...this.state.data, ...newData }\r\n })\r\n }\r\n }}>\r\n {this.props.children}\r\n )\r\n }\r\n}\r\n\r\nexport default SidebarProvider;","import React, { Component } from \"react\";\r\nimport \"./about.scss\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { SidebarContext } from \"../../context-providers/sidebar-provider/sidebar-provider\";\r\nimport { AppServiceContext } from \"../../context-providers/app-service-provider/app-service-provider\";\r\nimport { getData } from \"../../api/api-manager\";\r\nimport { UTIL_BASE_URL } from \"../../configs/api-base-url\";\r\nimport Modal from \"../../components/modals/modal\";\r\nimport Spinner from \"../../components/spinner/spinner\";\r\nimport parse from 'html-react-parser';\r\n\r\nclass About extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n aboutUsDetails: [],\r\n description: \"\",\r\n showErrorPopup: false,\r\n showSpinner: true,\r\n isInfo: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getAboutUsDetails();\r\n this.props.setScreenName({ screenName: \"\" })\r\n }\r\n\r\n async getAboutUsDetails() {\r\n const response = await getData({\r\n apiBaseUrl: UTIL_BASE_URL,\r\n serviceName: \"About?\",\r\n });\r\n const { success, data, error, isInfo } = await response;\r\n\r\n if (success) {\r\n await this.setState({\r\n aboutUsDetails: data,\r\n description: data[0].Description,\r\n showSpinner: false,\r\n });\r\n } else {\r\n this.setState({\r\n error: error,\r\n isInfo,\r\n showErrorPopup: true,\r\n showSpinner: false,\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const {description} = this.state;\r\n const descriptionabout = parse(description)\r\n return (\r\n \r\n {(providerData) => {\r\n const navToggle =\r\n providerData.sidebarState && providerData.sidebarState.toggleMenu\r\n ? \"page-content page-collapse abt-coe\"\r\n : \"page-content abt-coe\";\r\n return (\r\n \r\n {(appservice) => {\r\n return (\r\n
\r\n {this.state.aboutUsDetails &&\r\n this.state.aboutUsDetails.length > 0 && (\r\n
\r\n
\r\n

{this.state.aboutUsDetails[0].Name}

\r\n {descriptionabout}
\r\n

\r\n Create a Service Request!\r\n

\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n {this.state.error && (\r\n {\r\n this.setState({ showErrorPopup: false });\r\n }} buttonPosition=\"center-button\"\r\n >\r\n

{this.state.error}

\r\n \r\n )}\r\n {this.state.showSpinner && }\r\n \r\n )\r\n }}\r\n
\r\n );\r\n }}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default About;\r\n","import React, { Component } from \"react\";\r\nimport \"./dashboard.scss\";\r\nimport { SidebarContext } from \"../../context-providers/sidebar-provider/sidebar-provider\";\r\nimport { getData } from \"../../api/api-manager\";\r\nimport { UTIL_BASE_URL } from \"../../configs/api-base-url\";\r\nimport Modal from \"../../components/modals/modal\";\r\nimport Spinner from \"../../components/spinner/spinner\";\r\nimport parse from 'html-react-parser';\r\n\r\nclass Dashboard extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n dashboardDetails: true,\r\n showErrorPopup: false,\r\n showSpinner: true,\r\n isInfo: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.appContextDetails && this.props.appContextDetails.userRole === 1) {\r\n this.props.history.push({\r\n pathname: '/'\r\n })\r\n }\r\n this.getDashboardDetails();\r\n this.props.setScreenName({ screenName: \"\" })\r\n }\r\n\r\n async getDashboardDetails() {\r\n const response = await getData({\r\n apiBaseUrl: UTIL_BASE_URL,\r\n serviceName: \"Dashboard?\"\r\n });\r\n const { success, data, error, isInfo } = await response;\r\n\r\n if (success) {\r\n await this.setState({\r\n dashboardDetails: data,\r\n showSpinner: false\r\n });\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n enableErrorPopup = (error, isInfo = false) => {\r\n this.setState({ showErrorPopup: true, isInfo, error: error, showSpinner: false })\r\n }\r\n render() {\r\n const {dashboardDetails} = this.state;\r\n const dashboardDetailsNavigation = parse(dashboardDetails.toString(\"html\"))\r\n return (\r\n this.props.appContextDetails && this.props.appContextDetails.userRole !== 1 ? \r\n {providerData => {\r\n const navToggle = providerData.sidebarState && providerData.sidebarState.toggleMenu\r\n ? \"page-content page-collapse dashboard\"\r\n : \"page-content dashboard\";\r\n return (\r\n
\r\n {this.state.dashboardDetails && this.state.dashboardDetails.length > 0 &&\r\n
{dashboardDetailsNavigation}
}\r\n {this.state.error && (\r\n { this.setState({ showErrorPopup: false }); }} buttonPosition=\"center-button\">\r\n

{this.state.error}

\r\n
\r\n )}\r\n {this.state.showSpinner && }\r\n
\r\n );\r\n }}\r\n
: null\r\n );\r\n }\r\n}\r\n\r\nexport default Dashboard;\r\n","import React, { Component, Fragment } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst LEFT_PAGE = \"LEFT\";\r\nconst RIGHT_PAGE = \"RIGHT\";\r\n\r\nconst range = (from, to, step = 1) => {\r\n let i = from;\r\n const pagination_range = [];\r\n while (i <= to) {\r\n pagination_range.push(i);\r\n i += step;\r\n }\r\n return pagination_range;\r\n};\r\n\r\nclass Pagination extends Component {\r\n constructor(props) {\r\n super(props);\r\n const { totalRecords = null, pageLimit = 30, pageNeighbours = 0 } = props;\r\n this.pageLimit = typeof pageLimit === \"number\" ? pageLimit : 30;\r\n this.totalRecords = typeof totalRecords === \"number\" ? totalRecords : 0;\r\n this.pageNeighbours =\r\n typeof pageNeighbours === \"number\"\r\n ? Math.max(0, Math.min(pageNeighbours, 2))\r\n : 0;\r\n\r\n this.totalPages = Math.ceil(this.totalRecords / this.pageLimit);\r\n this.state = { currentPage: this.props.currentPage || 1 };\r\n }\r\n\r\n gotoPage = page => {\r\n const { onPageChanged = f => f } = this.props;\r\n const currentPage = Math.max(0, Math.min(page, this.totalPages));\r\n const paginationData = {\r\n currentPage,\r\n totalPages: this.totalPages,\r\n pageLimit: this.pageLimit,\r\n totalRecords: this.totalRecords\r\n };\r\n this.setState({ currentPage }, () => onPageChanged(paginationData));\r\n };\r\n\r\n handleClick = (page, evt) => {\r\n evt.preventDefault();\r\n this.gotoPage(page);\r\n };\r\n\r\n handleMoveLeft = evt => {\r\n evt.preventDefault();\r\n this.gotoPage(this.state.currentPage - this.pageNeighbours * 2 - 1);\r\n };\r\n\r\n handleMoveRight = evt => {\r\n evt.preventDefault();\r\n this.gotoPage(this.state.currentPage + this.pageNeighbours * 2 + 1);\r\n };\r\n\r\n fetchPageNumbers = () => {\r\n const totalPages = this.totalPages;\r\n const currentPage = this.state.currentPage;\r\n const pageNeighbours = this.pageNeighbours;\r\n const totalNumbers = this.pageNeighbours * 2 + 3;\r\n const totalBlocks = totalNumbers + 2;\r\n if (totalPages > totalBlocks) {\r\n let pages = [];\r\n const leftBound = currentPage - pageNeighbours;\r\n const rightBound = currentPage + pageNeighbours;\r\n const beforeLastPage = totalPages - 1;\r\n const startPage = leftBound > 2 ? leftBound : 2;\r\n const endPage = rightBound < beforeLastPage ? rightBound : beforeLastPage;\r\n pages = range(startPage, endPage);\r\n const pagesCount = pages.length;\r\n const singleSpillOffset = totalNumbers - pagesCount - 1;\r\n const leftSpill = startPage > 2;\r\n const rightSpill = endPage < beforeLastPage;\r\n const leftSpillPage = LEFT_PAGE;\r\n const rightSpillPage = RIGHT_PAGE;\r\n if (leftSpill && !rightSpill) {\r\n const extraPages = range(startPage - singleSpillOffset, startPage - 1);\r\n pages = [leftSpillPage, ...extraPages, ...pages];\r\n } else if (rightSpill) {\r\n if (leftSpill) {\r\n pages = [leftSpillPage, ...pages, rightSpillPage];\r\n } else {\r\n const extraPages = range(endPage + 1, endPage + singleSpillOffset);\r\n pages = [...pages, ...extraPages, rightSpillPage];\r\n }\r\n }\r\n return [1, ...pages, totalPages];\r\n }\r\n return range(1, totalPages);\r\n };\r\n\r\n render() {\r\n if (!this.totalRecords) return null;\r\n if (this.totalPages === 1) return null;\r\n const { currentPage } = this.state;\r\n const pages = this.fetchPageNumbers();\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nPagination.propTypes = {\r\n totalRecords: PropTypes.number.isRequired,\r\n pageLimit: PropTypes.number,\r\n pageNeighbours: PropTypes.number,\r\n onPageChanged: PropTypes.func\r\n};\r\n\r\nexport default Pagination;\r\n","import React, { Fragment } from 'react';\r\nimport './custom-input.scss';\r\nimport * as Constant from \"../constants/constant\";\r\nconst CustomInput = props => {\r\n const {\r\n name,\r\n title,\r\n className,\r\n inputtype,\r\n value,\r\n onBlur,\r\n onChange,\r\n placeholder,\r\n showClearIcon = false,\r\n showErrorAlertIcon = false,\r\n showErrorTooltip = false,\r\n handleClear,\r\n placeholderTextBelow,\r\n ...rest\r\n } = props;\r\n const parentClassNm = !!rest.parent_custom_class\r\n ? `${rest.parent_custom_class} form-group`\r\n : \"form-group\";\r\n return (\r\n
\r\n {title && (\r\n \r\n \r\n *\r\n \r\n )}\r\n \r\n {placeholderTextBelow && (\r\n \r\n Minimum 6 to Maximum 10 characters\r\n \r\n )}\r\n {!showErrorAlertIcon ? (\r\n showClearIcon && (\r\n \r\n )\r\n ) : (\r\n \r\n \r\n {showErrorTooltip && (\r\n \r\n .\\-'/,& special characters are allowed.\r\n \r\n )}\r\n \r\n )}\r\n
\r\n );\r\n};\r\nexport default CustomInput;","import React, { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport './custom-select.scss'\r\n\r\nconst checkValExist = (val, options, useName) => {\r\n\r\n let serviceData = options && options.find(services => {\r\n if (val === '' || !val) return false\r\n if (useName) {\r\n return services && services.Name && services.Name.toString() === val.toString()\r\n } else {\r\n return services && services.ID && services.ID.toString() === val.toString()\r\n }\r\n });\r\n if (!!serviceData) return true\r\n return false\r\n}\r\nconst CustomSelect = props => {\r\n const { name, title, options, placeholder, selected_value = '', handleChange, IsDisabledSelect = false, ...field } = props\r\n const parentClassNm = field.parent_custom_class ? `form-group ${field.parent_custom_class}` : 'form-group'\r\n const valForUniqueness = field.val_for_uniqueness ? field.val_for_uniqueness : ''\r\n let isExist = checkValExist(selected_value, options, props.use_name)\r\n\r\n return (\r\n
\r\n {title && \r\n *}\r\n \r\n
\r\n );\r\n};\r\n\r\nCustomSelect.propTypes = {\r\n name: PropTypes.string,\r\n title: PropTypes.string,\r\n options: PropTypes.any,\r\n selected_value: PropTypes.any, // If we need to pre-populated value from dropdown.\r\n};\r\n\r\nexport default CustomSelect;","import React from \"react\";\r\n// @import \"../../assets/styles/style.scss\";\r\nconst groupStyles = {\r\n display: 'flex',\r\n color: '#000',\r\n fontSize: '14px',\r\n marginBottom: '2px',\r\n};\r\n\r\nexport const formatGroupLabel = data => (\r\n
\r\n {data.label}\r\n
\r\n);\r\n\r\n\r\nexport const customStyles = {\r\n control: styles => ({ ...styles }),\r\n option: (styles, { isDisabled }) => {\r\n return {\r\n ...styles,\r\n cursor: isDisabled ? 'not-allowed' : 'default',\r\n lineHeight: '1.2'\r\n }\r\n },\r\n};","import React, { Component } from \"react\";\r\nimport Select from 'react-select';\r\nimport { customStyles, formatGroupLabel } from './styled-custom-react-select'\r\n\r\nclass CustomReactSelect extends Component {\r\n\r\n handleChange = selectedOption => {\r\n this.props.handleStateData(selectedOption)\r\n };\r\n\r\n render() {\r\n const { title, optionData, placeholder, defaultSelection, className, ...rest } = this.props\r\n \r\n return (\r\n
\r\n {title && }\r\n { this.handleChange(data) }}\r\n styles= {customStyles}\r\n isOptionDisabled={(option) => option.isdisabled}\r\n value={!!defaultSelection ? defaultSelection : null}\r\n {...rest}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default CustomReactSelect;\r\n","import React from 'react';\r\nimport './custom-textarea.scss'\r\n\r\nconst CustomTextArea = props => {\r\n const { className,name,rows,cols,value,onChange,fieldDisabled, ...rest } = props\r\n return (\r\n
\r\n {props.label && }\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default CustomTextArea;","import React from \"react\";\r\nimport \"./popup.scss\";\r\n\r\nconst Popup = props => {\r\n const { customclass, pcontent } = props\r\n const popupclass = customclass ? `${customclass} scrollbar` : \"popup scrollbar\"\r\n return (\r\n
\r\n
\r\n {!!pcontent ? pcontent : props.children}\r\n
\r\n
\r\n );\r\n}\r\nexport default Popup;","import React from \"react\";\r\nimport \"./tool-tip.scss\";\r\nimport parse from 'html-react-parser';\r\n\r\nconst ToolTip = props => {\r\n const { toolTipTitle, toolTipText, takeChild = false, customClass } = props\r\n const toolTipTextfield = toolTipText? parse(toolTipText.toString(\"html\")):\"\";\r\n const tooltip = customClass ? `${customClass} tooltipBox` : \"tooltipBox\"\r\n return (\r\n !takeChild ? \r\n
\r\n {toolTipTitle}\r\n
{toolTipText}
\r\n
: \r\n
\r\n {toolTipTitle}\r\n
{toolTipTextfield}
\r\n
)\r\n};\r\n\r\nexport default ToolTip;","export const splitEmails = str => {\r\n return str && str.split(';');\r\n}\r\nexport const showStatusName = (sapSystems, id) => {\r\n const filtered = sapSystems && sapSystems.StatusList && sapSystems.StatusList.length > 0 && sapSystems.StatusList.filter(function ({ ID }) {\r\n return ID === id\r\n })\r\n if (filtered && filtered.length > 0) {\r\n return filtered[0].Name\r\n }\r\n return ''\r\n}\r\nexport const isEdit = sapSystems => {\r\n const filtered = sapSystems && sapSystems.Landscape && sapSystems.Landscape.length > 0 && sapSystems.Landscape.filter(function ({ Systems }) {\r\n return Systems.find(function ({ enableEdit }) {\r\n return enableEdit === true\r\n })\r\n })\r\n if (filtered && filtered.length > 0) {\r\n return true\r\n }\r\n return false\r\n}","import React, { Component, Fragment } from \"react\";\r\nimport { format } from \"date-fns\";\r\nimport * as constant from \"../../../components/constants/constant\";\r\nimport \"./sap-additional-details.scss\";\r\nimport Popup from \"../../../components/popup/popup\";\r\nimport Tootltip from \"../../../components/tool-tip/tool-tip\"\r\nimport OutsideClickAlerter from \"../../../components/outside-click-alerter/outside-click-alerter\"\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport { postData } from \"../../../api/api-manager\";\r\nimport { splitEmails, isEdit, showStatusName } from \"./sap-additional-function\"\r\n\r\nclass SAPAdditionalDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showConfirmationPopup: false\r\n };\r\n }\r\n\r\n handleClickOnMore(SystemId, landscapeId) {\r\n this.setState({\r\n [`${SystemId}-popup`]: true,\r\n selectedSystemId: SystemId,\r\n selectedLandscapeId: landscapeId\r\n })\r\n }\r\n\r\n handleOutsideClick() {\r\n this.setState({\r\n userActionPopup: false,\r\n [`${this.state.selectedSystemId}-popup`]: false\r\n })\r\n }\r\n handleSystemAction(e, item) {\r\n const { ID } = item\r\n this.setState({\r\n [`${this.state.selectedSystemId}-popup`]: false,\r\n UserActionId: ID,\r\n showConfirmationPopup: true\r\n })\r\n }\r\n async updateSystemdata() {\r\n const submittedData = {\r\n \"RequestNumber\": this.props.requestnumber,\r\n \"SystemId\": this.state.selectedSystemId,\r\n \"LandscapeId\": this.state.selectedLandscapeId,\r\n \"UserAction\": this.state.UserActionId\r\n }\r\n const serviceName = \"Provision\"\r\n const response = await postData({\r\n serviceName: serviceName,\r\n data: submittedData\r\n });\r\n const { success, error } = await response;\r\n this.setState({ showConfirmationPopup: false });\r\n if (success) {\r\n this.props.getInitialReqStates()\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true });\r\n }\r\n }\r\n\r\n async handleExtendDate() {\r\n const submittedData = {\r\n \"RequestNumber\": this.props.requestnumber,\r\n \"UserAction\": parseInt(this.state.extendDateActionId)\r\n }\r\n const serviceName = \"Extend\"\r\n const response = await postData({\r\n serviceName: serviceName,\r\n data: submittedData\r\n });\r\n const { success, error } = await response;\r\n this.setState({ showExtendDateModal: false })\r\n if (success) {\r\n this.props.getInitialReqStates()\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true });\r\n }\r\n }\r\n\r\n handleExtendUserAction(item) {\r\n const { ID } = item\r\n this.setState({\r\n userActionPopup: false,\r\n extendDateActionId: ID,\r\n showExtendDateModal: true\r\n })\r\n }\r\n\r\n render() {\r\n const { plannedStartDate, plannedEndDate, listOfUserEmails, industry, sapSystems, alertType, userActionMsg, userAction } = this.props;\r\n const emails = splitEmails(listOfUserEmails)\r\n const extendDateConfirmText = 'Access to the on-prem systems will be extended for 10 more days.'\r\n return (\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 {isEdit(this.props.sapSystems) ? : null}\r\n \r\n \r\n \r\n {sapSystems && sapSystems.Landscape && sapSystems.Landscape.map((row, key) => {\r\n return (\r\n \r\n \r\n {row.Systems.map((details, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {details.enableEdit &&\r\n \r\n }\r\n {this.state[`${details.SystemID}-popup`] &&\r\n { this.handleOutsideClick() }}>\r\n {\r\n return

this.handleSystemAction(e, item)}>{item.Name}

\r\n })} />\r\n
}\r\n \r\n )\r\n })}\r\n \r\n )\r\n })}\r\n \r\n
Systems/ ApplicationsStatusActioned ByActioned On
{row.landscapeName}
{details.Name}{showStatusName(this.props.sapSystems, details.Status)}{details.ActionedBy ? details.ActionedBy : \"—\"}{details.ActionedOn ? (format(new Date(details.ActionedOn), \"dd-MMM-yyyy hh:mm a\")) : \"—\"}\r\n this.handleClickOnMore(details.SystemID, row.landscapeId)} >\"More\"\r\n \r\n
\r\n {this.state.showConfirmationPopup && { this.setState({ showConfirmationPopup: false }) }}\r\n cancelBtn={true} handleClose={() => { this.updateSystemdata() }}\r\n showIcon={true} okBtnName=\"ok\" cancelBtnName=\"cancel\"\r\n >

Are you sure you want to save the changes

}\r\n\r\n {this.state.showExtendDateModal && { this.setState({ showExtendDateModal: false }) }}\r\n handleClose={() => { this.handleExtendDate() }}\r\n cancelBtn={true} showIcon={true} okBtnName=\"Extend\" cancelBtnName=\"cancel\"\r\n >

{extendDateConfirmText}

}\r\n {this.state.showErrorPopup && {\r\n this.setState({ showErrorPopup: false })\r\n }} buttonPosition=\"center-button\">

{this.state.error}

}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default SAPAdditionalDetails;","const validWbs = /^[A-Z0-9]*$/;\r\nconst validOppurtunity = /^[0-9]+[0-9]{9,}$/;\r\nconst validAzureObjectItems = /^[0-9]{0,7}$/;\r\nconst validDealSize = /\\\\d+(\\\\.\\\\d{0,2})?$/;\r\nconst validServicePOC = /^[a-zA-Z_]+(\\.[a-zA-Z_]+)+$/;\r\nconst validClientName = /^[A-Za-z0-9]+[ /\\\\\\\\'&,.A-Za-z0-9-äöüÄÖÜß]{2,}$/;\r\nconst validateScriptSymbols = /^[^\\\\<\\\\>]+$/;\r\nconst validSid = /^[A-Z0-9]{0,15}$/;\r\nconst validHostName = /^[a-z0-9]*$/;\r\nconst validInstanceNumber = /^\\d{0,3}$/;\r\nconst validIpAddress = /^(?:(?:^|\\.)(?:2(?:5[0-5]|[0-4]\\d)|1?\\d?\\d)){4}$/;\r\nconst validUrl =\r\n /^(http:\\/\\/|https:\\/\\/)?[a-z0-9]+([-.]{1}[a-z0-9]+)*\\.(com)+[\\w-._~:/?#[\\]@!$&'()*+,;=.]*$/;\r\nconst validAmount = /^[0-9]+(\\.[0-9]+)?$/;\r\nconst validSupportUrl =\r\n /^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[A-Za-z0-9-_.]+([-.:[/]]{1}[a-z0-9]+)*\\.(com|org|net|edu|gov|info|in)*$|(com\\/|org\\/|net\\/|edu\\/|gov\\/|info\\/|in\\/)+[\\w/?#[\\]&+=.]*$/;\r\nconst validSearch = /^[A-Za-z0-9]+[ /\\\\\\\\'&,.A-Za-z0-9-äöüÄÖÜß]{2,}$/;\r\nconst validEmailId =\r\n /^[a-zA-Z0-9_.+-]+@(?:(?:[a-zA-Z0-9-]+\\.)?[a-zA-Z]+\\.)?(avanade|accenture)\\.com$/;\r\nconst validEstimatedEffort = /^[0-9]+[0-9]{0,}$/;\r\nconst validPercentage = /[0-9]+%$/;\r\n\r\nexport const validateField = ({ name, value }) => {\r\n if (\r\n (value === null || value.length <= 0) &&\r\n name !== \"comment\" &&\r\n name !== \"wbs\" &&\r\n name !== \"opportunityID\" &&\r\n name !== \"dealSize\" &&\r\n name !== \"clientAccountLead\" &&\r\n name !== \"servicePOC\" &&\r\n name !== \"ClientName\"\r\n ) {\r\n return \"This field is required\";\r\n } else {\r\n if (name === \"wbs\") {\r\n let tempWbs = value ? value.toUpperCase() : \"\";\r\n return validateWbs(tempWbs);\r\n } else if (name === \"comment\") {\r\n return validateComment(value);\r\n } else if (name === \"dealSize\") {\r\n return validateDealSize(value);\r\n } else if (name === \"clientAccountLead\") {\r\n return validateClientAccountLead(value);\r\n } else if (name === \"servicePOC\") {\r\n return validateServicePOC(value);\r\n } else if (name === \"ClientName\") {\r\n return validateClientName(value);\r\n }\r\n }\r\n};\r\n\r\nexport const validateBuildRelease = ({ name, value }) => {\r\n const trimName = name.split(\"-\").pop();\r\n if (trimName === \"CRPSID\") {\r\n return validateSid(value.toUpperCase());\r\n } else if (trimName === \"HostName\") {\r\n return validateHostName(value.toLowerCase());\r\n } else if (trimName === \"InstanceNumber\") {\r\n return validateInstanceNumber(value);\r\n } else if (trimName === \"IPAddress\") {\r\n return validateIpAddress(value);\r\n } else if (trimName === \"FIORIUrl\") {\r\n return validateUrl(value);\r\n } else if (trimName === \"BasicSupCostPerMonth\") {\r\n return validateAmount(value);\r\n }\r\n};\r\n\r\nexport const validateSearch = (value) => {\r\n return validSearch.test(value)\r\n ? \"\"\r\n : `Only .\\\\_'/,& special characters are allowed.`;\r\n};\r\n\r\nexport const validateSid = (value) => {\r\n return validSid.test(value) ? \"\" : \"Invalid SID (e.g. C8A)\";\r\n};\r\n\r\nexport const validateHostName = (value) => {\r\n return validHostName.test(value) || value === \"\"\r\n ? \"\"\r\n : \"Invalid Host name (e.g. awssbx0004)\";\r\n};\r\n\r\nexport const validateInstanceNumber = (value) => {\r\n return validInstanceNumber.test(value) || value === \"\"\r\n ? \"\"\r\n : \"Instance should be in numeric (e.g. 01)\";\r\n};\r\n\r\nexport const validateIpAddress = (value) => {\r\n return validIpAddress.test(value) || value === \"\"\r\n ? \"\"\r\n : \"Invalid Ip address (e.g. 10.39.20.149)\";\r\n};\r\n\r\nexport const validateUrl = (value) => {\r\n return validUrl.test(value) || value === \"\"\r\n ? \"\"\r\n : \"Invalid Url (e.g. https://fiori.com)\";\r\n};\r\n\r\nexport const validateWbs = (value) => {\r\n return validWbs.test(value) ? \"\" : \"Invalid WBS\";\r\n};\r\n\r\nexport const validateOppurtunity = (value) => {\r\n return validOppurtunity.test(value)\r\n ? \"\"\r\n : \"Only numeric value with 10 digits.\";\r\n};\r\n\r\nexport const validateEstimatedEffort = (value) => {\r\n return validEstimatedEffort.test(value)\r\n ? \"\"\r\n : \"Invalid Estimated Effort(Days)\";\r\n};\r\n\r\nexport const validatePercentage = (value) => {\r\n return validPercentage.test(value) ? \"\" : \"Invalid Estimated Saving %\";\r\n};\r\n\r\nexport const validateAzureObjectSearch = (value) => {\r\n return validAzureObjectItems.test(value) ? \"\" : \"Invalid Work Item Id\";\r\n};\r\n\r\nexport const validateAmount = (value) => {\r\n return validAmount.test(value) || value === \"\" ? \"\" : \"Invalid Amount\";\r\n};\r\n\r\nexport const validateSupportUrl = (value) => {\r\n return validateScriptSymbols.test(value) || value === \"\"\r\n ? validSupportUrl.test(value) || value === \"\"\r\n ? \"\"\r\n : \"Invalid Url\"\r\n : \"Symbols < > are not allowed.\";\r\n};\r\n\r\nexport const validateSupportFields = (value) => {\r\n return validateScriptSymbols.test(value) || value === \"\"\r\n ? \"\"\r\n : \"Symbols < > are not allowed.\";\r\n};\r\n\r\nexport const validateServicePOC = (value) => {\r\n return validServicePOC.test(value) || value === \"\"\r\n ? \"\"\r\n : \"Please enter valid enterprise Id without domain\";\r\n};\r\n\r\nexport const validateClientName = (value) => {\r\n return validClientName.test(value) || value === \"\"\r\n ? \"\"\r\n : \"Invalid Client Name\";\r\n};\r\nexport const duplicateEmail = (value) => {\r\n let valueArray = [],\r\n unique,\r\n haveDuplicate;\r\n value = value.toString().toLowerCase();\r\n valueArray = value.split(\";\");\r\n valueArray = valueArray.map((el) => el.trim());\r\n valueArray = valueArray.filter((el) => el !== \"\");\r\n unique = Array.from(new Set(valueArray));\r\n haveDuplicate = valueArray.length !== unique.length;\r\n return haveDuplicate;\r\n};\r\n\r\nexport const validateComment = (value) => {\r\n return validateScriptSymbols.test(value) || value === \"\"\r\n ? \"\"\r\n : \"Invalid Comments. symbols < > are not allowed.\";\r\n};\r\nexport const validateDealSize = (value) => {\r\n return validDealSize.test(value) || value > 1000 || parseFloat(value) === 0\r\n ? \"Invalid Deal Size\"\r\n : \"\";\r\n};\r\nexport const validateClientAccountLead = (value) => {\r\n return validEmailId.test(value) || value === \"\" ? \"\" : \"Invaild Email Id.\";\r\n};\r\nexport const validateWithPattern = ({ pattern, value }) => {\r\n let regEx = new RegExp(pattern, \"i\");\r\n return regEx.test(value);\r\n};\r\n\r\nexport const setErrorMessages = (states) => {\r\n let schemaData = states.data || [];\r\n let requirFields = schemaData.filter(function (formFields) {\r\n return formFields.Validations.IsRequired === true;\r\n });\r\n let stateWithErrors = {};\r\n requirFields.map((formFields) => {\r\n if (formFields.FieldDataType === \"object\") {\r\n let fieldName = formFields.FormKey;\r\n let schemaForField = schemaData.find((el) => el.FormKey === fieldName);\r\n if (\r\n !!states[formFields.FormKey] &&\r\n states[formFields.FormKey].length > 0\r\n ) {\r\n let formFieldWithError = states[formFields.FormKey].reduce(\r\n (acc, row) => {\r\n return [\r\n ...acc,\r\n setErrorMessagesForObjectFields(row, schemaForField.Config),\r\n ];\r\n },\r\n []\r\n );\r\n stateWithErrors = {\r\n ...stateWithErrors,\r\n [fieldName]: [...formFieldWithError],\r\n };\r\n } else if (\r\n !!states[formFields.FormKey] &&\r\n states[formFields.FormKey].length === 0\r\n ) {\r\n let errorkey = \"newModifiedMandatoryError\";\r\n let errorMessage =\r\n \"Please add at least one row in one of New Feature and Modified/ Removed Feature tables.\";\r\n stateWithErrors = {\r\n ...stateWithErrors,\r\n [errorkey]: errorMessage,\r\n };\r\n }\r\n } else {\r\n let errorkey = `${formFields.FormKey}Error`;\r\n let errorMessage = \"\";\r\n if (\r\n !states[formFields.FormKey] ||\r\n states[formFields.FormKey] === \"\" ||\r\n states[formFields.FormKey] === null\r\n ) {\r\n errorMessage = formFields.ValidationMessages.RequiredMessage;\r\n }\r\n stateWithErrors = {\r\n ...stateWithErrors,\r\n [errorkey]: errorMessage,\r\n };\r\n }\r\n return null;\r\n });\r\n return stateWithErrors;\r\n};\r\n\r\nfunction setErrorMessagesForObjectFields(states, schemaData) {\r\n let requirFields = schemaData.filter(function (formFields) {\r\n return formFields.Validations.IsRequired === true;\r\n });\r\n let errorMessages = requirFields.reduce((stateWithErrors, formFields) => {\r\n let errorkey = `${formFields.FormKey}Error`;\r\n let errorMessage = \"\";\r\n if (\r\n !states[formFields.FormKey] ||\r\n states[formFields.FormKey] === \"\" ||\r\n states[formFields.FormKey] === null\r\n ) {\r\n errorMessage = formFields.ValidationMessages.RequiredMessage;\r\n }\r\n return (stateWithErrors = {\r\n ...stateWithErrors,\r\n [errorkey]: errorMessage,\r\n });\r\n }, {});\r\n return { ...states, errorMessage: errorMessages };\r\n}\r\n\r\nexport const isFormFieldsValid = (states) => {\r\n const schemaData = states.data || [];\r\n let requirFields =\r\n schemaData.length > 0 &&\r\n schemaData.filter(function (formFields) {\r\n return formFields.Validations.IsRequired === true;\r\n });\r\n let isValid = true;\r\n\r\n if (!states.IsIPCLoadVisible) {\r\n let i = requirFields.findIndex(\r\n (item) => item.FieldName === \"Required for IPC load\"\r\n );\r\n requirFields.splice(i, 1);\r\n }\r\n\r\n if (!states.isCoreTeamMember) {\r\n let i = requirFields.findIndex((item) => item.FieldName === \"genWLoad\");\r\n requirFields.splice(i, 1);\r\n }\r\n\r\n if (states.genWLoad === \"No\" || !states.isCoreTeamMember) {\r\n let i = requirFields.findIndex((item) => item.FieldName === \"AccessReason\");\r\n requirFields.splice(i, 1);\r\n let j= requirFields.findIndex((item) => item.FieldName === \"LeadDetails\");\r\n requirFields.splice(j, 1);\r\n }\r\n\r\n requirFields &&\r\n requirFields.map((formFields) => {\r\n let errorkey = `${formFields.FormKey}Error`;\r\n console.log(errorkey);\r\n if (\r\n states[formFields.FormKey] === \"\" ||\r\n states[formFields.FormKey] === null ||\r\n states[errorkey] !== \"\"\r\n ) {\r\n console.log(formFields);\r\n console.log(states[formFields.FormKey]);\r\n\r\n isValid = false;\r\n }\r\n return null;\r\n });\r\n return isValid;\r\n};\r\n\r\nexport const resetStates = (states) => {\r\n const formFields = states.data;\r\n let resetData = {};\r\n formFields.map((form, key) => {\r\n const { FormKey, FieldDataType } = form;\r\n let errorkey = `${FormKey}Error`;\r\n const name = FormKey;\r\n if (FieldDataType !== \"object\") {\r\n resetData = {\r\n ...resetData,\r\n [name]: \"\",\r\n [errorkey]: \"\",\r\n };\r\n } else {\r\n resetData = {\r\n ...resetData,\r\n [name]: [],\r\n [errorkey]: \"\",\r\n };\r\n }\r\n return null;\r\n });\r\n return resetData;\r\n};\r\n\r\nexport const resetDataByField = (formFields) => {\r\n let resetData = {};\r\n formFields.map((FormKey, key) => {\r\n let errorkey = `${FormKey}Error`;\r\n const name = FormKey;\r\n\r\n resetData = {\r\n ...resetData,\r\n [name]: \"\",\r\n [errorkey]: \"\",\r\n };\r\n return null;\r\n });\r\n return resetData;\r\n};\r\n\r\nexport const isInList = (state, name, email) => {\r\n let emailtype = `${name}Array`;\r\n return state && state[emailtype].includes(email);\r\n};\r\n\r\nexport const isEmail = (email) => {\r\n return validEmailId.test(email);\r\n};\r\n\r\nexport const getName = (name) => {\r\n let actualName = name;\r\n if (name === \"ValueStatement\") {\r\n actualName = \"Value Statement\";\r\n }\r\n if (name === \"RequestDetails\") {\r\n actualName = \"Additional Details\";\r\n }\r\n if (name === \"ExpectedBusiness\") {\r\n actualName = \"Expected Buisness\";\r\n }\r\n if (name === \"ExpectedBusinessResult\") {\r\n actualName = \"Expected Buisness Result\";\r\n }\r\n if (name === \"TargetAudience\") {\r\n actualName = \"Target Audience\";\r\n }\r\n\r\n return actualName;\r\n};\r\n\r\nexport const handleRichTextValidation = (name, stateData) => {\r\n let errorTxt = \"\";\r\n let actualName = getName(name);\r\n if (stateData[name] === \"\") {\r\n errorTxt = \"This is a required field\";\r\n }\r\n if (\r\n name === \"Objective\" ||\r\n name === \"RequestDetails\" ||\r\n name === \"ExpectedBusiness\" ||\r\n name === \"TargetAudience\" ||\r\n name === \"ExpectedBusinessResult\"\r\n ) {\r\n if (stateData[name].length < 20 && stateData[name].length > 0) {\r\n errorTxt = `${actualName} should be at least 20 characters long.`;\r\n } else if (stateData[name].length > 25000) {\r\n errorTxt = `${actualName} should not be more than 25000 characters long.`;\r\n }\r\n } else if (name === \"ValueStatement\") {\r\n if (stateData[name].length < 20 && stateData[name].length > 0) {\r\n errorTxt = `${actualName} should be at least 20 characters long.`;\r\n } else if (stateData[name].length > 2000) {\r\n errorTxt = `${actualName} should not be more than 2000 characters long.`;\r\n }\r\n }\r\n\r\n return errorTxt;\r\n};\r\n\r\nexport const handleModifiedFeatureRichTextValidation = (name, stateData) => {\r\n let errorTxt = \"\";\r\n if (name === \"ChangeDescription\")\r\n if (stateData[name].length < 20 && stateData[name].length > 0) {\r\n errorTxt = `Change Description should be at least 20 characters long.`;\r\n } else if (stateData[name].length > 25000) {\r\n errorTxt = `Change Description should not be more than 25000 characters long.`;\r\n }\r\n\r\n return errorTxt;\r\n};\r\n\r\nexport const invalidEmailList = (emailList) => {\r\n let pattern =\r\n \"^[a-zA-Z0-9_.+-]+@(?:(?:[a-zA-Z0-9-]+\\\\.)?[a-zA-Z]+\\\\.)?(avanade|accenture)\\\\.com$\";\r\n let invalidEmailArray = [];\r\n emailList.forEach((value) => {\r\n if (!validateWithPattern({ pattern, value })) {\r\n invalidEmailArray.push(value);\r\n }\r\n });\r\n return invalidEmailArray;\r\n};\r\n","import React from \"react\";\r\nimport './checkbox.scss';\r\n\r\nconst Checkbox = (props) => {\r\n let checkboxDisabled = props.checkboxDisabled ? true : false\r\n return (\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default Checkbox;\r\n","import React, { Component, Fragment } from \"react\";\r\nimport './custom-calender.scss';\r\nimport { getYear } from \"date-fns\";\r\nimport dateFormat from \"dateformat\";\r\nimport CustomButton from '../button/secondary-button';\r\nimport * as Constant from \"../constants/constant\";\r\n\r\nclass CustomCalender extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: [],\r\n selectedYr: getYear(new Date())\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.sltDecommDate) {\r\n let sltDecommYear = this.props.sltDecommDate && getYear(new Date(this.props.sltDecommDate.toString()));\r\n this.setState({ selectedYr: sltDecommYear > getYear(new Date()) ? sltDecommYear : getYear(new Date()) })\r\n }\r\n\r\n this.buildCalenderForYear();\r\n }\r\n\r\n lastday = (y, m) => {\r\n return new Date(y, m + 1, 0).getDate();\r\n }\r\n\r\n getDateFromLastDay(y, m, digit) {\r\n return new Date(y, m + 1, digit).getDate();\r\n }\r\n\r\n async buildCalenderForYear() {\r\n const sltDecommMonth = new Date(this.props.sltDecommDate).getUTCMonth();\r\n const sltDecommYear = this.props.sltDecommDate && getYear(new Date(this.props.sltDecommDate.toString()));\r\n const yearNum = this.state.selectedYr;\r\n const userActionExtend = this.props.userActionExtend ? true : false;\r\n\r\n let currentMonth = new Date().getUTCMonth();\r\n let currentYear = getYear(new Date());\r\n\r\n let count = 0;\r\n const enableMaxMonthCount = 6;\r\n const monthEOD = Constant.MONTHS.reduce((innerAcc, currentMon, index) => {\r\n let dateAndMon = `${this.lastday(yearNum, index)} ${currentMon}`\r\n let tmpObj = {}\r\n let isDisabled = true;\r\n\r\n if (this.state.selectedYr === currentYear) {\r\n /* Execute block when no preselected date is available */\r\n if (!this.props.sltDecommDate) {\r\n if (index >= currentMonth) {\r\n if (count < enableMaxMonthCount) {\r\n isDisabled = false;\r\n count++;\r\n }\r\n }\r\n } else {\r\n /* Execute for user */\r\n if (userActionExtend) {\r\n /* Execute block when date is of current year.\r\n 1. 6 months should be enabled from planned end date.\r\n 2. Check if planned enda date month is greater than or equal to current month.\r\n 2. Enable months only if month is greater than or planned end date month. */\r\n if (sltDecommMonth >= currentMonth && sltDecommYear === currentYear) {\r\n if (index > sltDecommMonth && index < (enableMaxMonthCount + (sltDecommMonth + 1))) {\r\n isDisabled = false;\r\n }\r\n }\r\n }\r\n\r\n /* Execute for Service POC */\r\n if (this.props.isChangeDecommision) {\r\n /* Execute block when date is of previous year.\r\n 1. 6 months should be enabled from planned end date.\r\n 2. Enable months only if months are less than or equal to current month. */\r\n if (sltDecommMonth >= currentMonth && sltDecommYear < currentYear) {\r\n let difference = enableMaxMonthCount;\r\n if (index < difference && difference >= currentMonth) {\r\n isDisabled = false;\r\n }\r\n }\r\n /* Execute block when date is of current year.\r\n 1. 6 months should be enabled from planned end date.\r\n 2. Check if planned end date month is less than current month.\r\n 3. Enable months only if months are greater than or equal to planned end date month and current month */\r\n else if (sltDecommMonth < currentMonth && sltDecommYear === currentYear) {\r\n if (index >= sltDecommMonth) {\r\n if (count < enableMaxMonthCount) {\r\n if (index >= currentMonth) {\r\n isDisabled = false;\r\n }\r\n count++;\r\n }\r\n }\r\n }\r\n /* Execute block when date is of current year.\r\n 1. 6 months should be enabled from planned end date.\r\n 2. Check if month is greater than current month\r\n 2. Enable month only if month is greater than or equal to current month */\r\n else if (index >= currentMonth && sltDecommYear === currentYear) {\r\n if (index <= sltDecommMonth) {\r\n isDisabled = false;\r\n }\r\n }\r\n /* Execute block when date is of next year.\r\n 1. 6 months should be enabled from planned end date.\r\n 2. Check if month is greater than current month\r\n 2. Enable month only if month is greater than or equal to current month */\r\n else if (sltDecommYear > currentYear) {\r\n if (index >= currentMonth) {\r\n isDisabled = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n }\r\n else {\r\n /* Execute block when no preselected date is available\r\n 1. Check if while enabling next 6 months, next year months are also included\r\n ex: current month is November then next 6 months will be ( Current year -> (Nov, Dec) -> Next year (Jan, Feb, Mar, Apr))\r\n This block will check for if months has to be enabled for next year.*/\r\n if (!this.props.sltDecommDate) {\r\n let difference = enableMaxMonthCount - (12 - currentMonth);\r\n if (index < difference) {\r\n isDisabled = false;\r\n }\r\n } else {\r\n /* Execute block when for user\r\n Check if next year month has to be enabled considering 6 months has to be enabled\r\n ex: (planned end date is Nov than (CY: Dec and NY: Jan to May will be enabled))*/\r\n if (userActionExtend) {\r\n if (sltDecommMonth >= currentMonth && sltDecommYear === currentYear) {\r\n let difference = enableMaxMonthCount - (12 - (sltDecommMonth + 1));\r\n if (index < difference) {\r\n isDisabled = false;\r\n }\r\n }\r\n /* Execute block when for user\r\n Check if next year month has to be enabled considering 6 months has to be enabled\r\n ex: (planned end date is Feb of next year than (NY: Mar to AUg will be enabled))*/\r\n else if (sltDecommYear > currentYear) {\r\n if (index > sltDecommMonth && count < enableMaxMonthCount) {\r\n count++;\r\n isDisabled = false;\r\n }\r\n }\r\n }\r\n\r\n /* Execute block when for Service POC */\r\n if (this.props.isChangeDecommision) {\r\n /* Execute when planned end date month is less than current month.\r\n Check if months has to be enable for next year considering 6 months that has to be enabled.\r\n ex(planned end date: 31 Nov of current year and current month is Oct -> it will enable months (Jan to Mar)*/\r\n if (sltDecommMonth < currentMonth && sltDecommYear === currentYear) {\r\n let difference = enableMaxMonthCount - (12 - (sltDecommMonth + 1));\r\n if (index < difference) {\r\n isDisabled = false;\r\n }\r\n }\r\n /* Execute when planned end date year is greater than current year.\r\n Check if month is less than or equal to planned end date month.\r\n ex(planned end date: 31 May of next year -> it will enable months (Jan to May)*/\r\n else if (sltDecommYear > currentYear) {\r\n if (index <= sltDecommMonth) {\r\n isDisabled = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n tmpObj = {\r\n ...tmpObj,\r\n isDisabled: isDisabled,\r\n displayableDate: dateAndMon,\r\n }\r\n return [...innerAcc, tmpObj]\r\n }, [])\r\n\r\n await this.setState({\r\n calender: monthEOD,\r\n selectedYr: yearNum\r\n })\r\n }\r\n\r\n async nextPrevYear(val) {\r\n let currYr = this.state.selectedYr\r\n if (val) {\r\n currYr = currYr + 1\r\n } else {\r\n currYr = currYr - 1\r\n }\r\n await this.setState({\r\n selectedYr: currYr\r\n }, () => {\r\n this.buildCalenderForYear()\r\n })\r\n\r\n }\r\n\r\n handleDate({ index, date, name }) {\r\n const selectedYr = this.state.selectedYr\r\n let selectedDt = date.split(' ')\r\n selectedDt = parseInt(selectedDt[0])\r\n let formattedDate = new Date(selectedYr, index, selectedDt)\r\n formattedDate = dateFormat(formattedDate, \"isoDate\")\r\n this.setState({\r\n selectedBtnName: name,\r\n selectedDateInFormat: formattedDate\r\n })\r\n }\r\n\r\n handleCancel(e) {\r\n e.preventDefault()\r\n this.setState({ selectedBtnName: '' })\r\n this.props.handleCancel()\r\n }\r\n handleOk = (e) => {\r\n e.preventDefault()\r\n this.props.handleOk(this.state.selectedDateInFormat)\r\n }\r\n\r\n render() {\r\n\r\n const currentYear = getYear(new Date())\r\n const yearLimit = currentYear + Constant.CALENDERYEARLMT\r\n\r\n return (\r\n
\r\n {this.state.calender && \r\n <img alt=\"Close\" src={Constant.PREVIOUS} disabled={true} className=\"prev-year\" onClick={() => {\r\n if (currentYear < this.state.selectedYr) this.nextPrevYear(false)\r\n }} />\r\n <label>{this.state.selectedYr}</label>\r\n <img alt=\"Close\" src={Constant.NEXT} disabled={true} className=\"prev-year\" onClick={() => {\r\n if (yearLimit > this.state.selectedYr) this.nextPrevYear(true)\r\n }} />}\r\n
\r\n {this.state.calender && this.state.calender.map((eod, index) => {\r\n let btnName = `${eod.displayableDate}-${this.state.selectedYr}`\r\n return \r\n {\r\n !eod.isDisabled && this.handleDate({ index, date: eod.displayableDate, name: btnName })\r\n }}>{eod.displayableDate}\r\n })\r\n }\r\n\r\n
\r\n
\r\n {\r\n this.handleCancel(e)\r\n }}\r\n />\r\n {\r\n this.handleOk(e)\r\n }}\r\n label={this.props.okBtnLbl}\r\n />\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default CustomCalender;","import React, { Component, Fragment } from \"react\";\r\nimport \"./buildReleaseSystems.scss\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport { addDays, subDays } from \"date-fns\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport dateFormat from \"dateformat\";\r\nimport { getTokenData } from \"../../../api/sessionConfig\";\r\nimport CustomInput from \"../../../components/custom-input/custom-input\";\r\nimport CustomSelect from \"../../../components/custom-select/custom-select\";\r\nimport CustomButton from \"../../../components/button/secondary-button\";\r\nimport CustomUpdateButton from \"../../../components/button/nextbutton\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport { postData, getData } from '../../../api/api-manager';\r\nimport { API_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport { validateBuildRelease } from \"../../../components/validators/validate\";\r\nimport Tootltip from \"../../../components/tool-tip/tool-tip\"\r\nimport Checkbox from \"../../../components/checkbox/checkbox\";\r\nimport Popup from \"../../../components/popup/popup\";\r\nimport * as constant from \"../../../components/constants/constant\";\r\nimport CustomCalender from '../../../components/custom-calenders/custom-calender';\r\nimport OutsideClickAlerter from \"../../../components/outside-click-alerter/outside-click-alerter\"\r\nconst tableHeader = [\"Name\", \"Decomm. Date\", \"Status\", \"Assignee\", \"SID\", \"Host Name\", \"Instance #\", \"IP Address\", \"FIORI URL\", \"BASIS Support Cost/Month\", \"Provisioned on\", \"Estimated Delivery Date\", \"Email\"];\r\nconst tableKey = [\"SystemID\", \"Name\", \"DecommissionedDate\", \"UserActionMsg\", \"AlertType\", \"systemAction\", \"Status\", \"Assignee\", \"CRPSID\", \"HostName\", \"InstanceNumber\", \"IPAddress\", \"FIORIUrl\", \"BasicSupCostPerMonth\", \"ProvisionedOn\", \"EstimatedDeliveryDate\", \"NotifyStatusToUser\"];\r\n\r\nclass BuildReleaseSystems extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: [],\r\n statusList: [], showSpinner: true, showErrorPopup: false, showEditUpdateSystemsBtn: false,\r\n isEdit: false, isDataChange: false, updated: [], updatedSystemIDs: [], prevUpdated: [],\r\n showErrorToolTip: {}, buildReleaseError: {}, haveErrors: false, isInfo: false, extendedDate: '',\r\n okBtnLbl: '', okBtnName: '', cancelBtnName: '', isChangeDecommision: false,\r\n UserActionValue: ''\r\n };\r\n this.handleInput = this.handleInput.bind(this);\r\n this.handleDate = this.handleDate.bind(this);\r\n this.handleOnClickSave = this.handleOnClickSave.bind(this)\r\n this.handleOnFocus = this.handleOnFocus.bind(this)\r\n this.handleClickUpdate = this.handleClickUpdate.bind(this)\r\n }\r\n componentDidMount() {\r\n this.getInitialiseState();\r\n }\r\n componentDidUpdate() {\r\n if (this.props.reloadData === true) {\r\n this.getInitialiseState();\r\n this.props.setReloadData(false)\r\n }\r\n }\r\n getStatusName = id => {\r\n const filtered = this.state.statusList.filter(function ({ ID }) {\r\n return ID === id\r\n })\r\n if (filtered.length > 0) {\r\n return filtered[0].Name\r\n }\r\n return ''\r\n }\r\n getStatusID = name => {\r\n const filtered = this.state.statusList.filter(function ({ Name }) {\r\n return Name === name\r\n })\r\n if (filtered.length > 0) {\r\n return filtered[0].ID\r\n }\r\n return ''\r\n }\r\n\r\n async getInitialiseState() {\r\n const response = await getData({ apiBaseUrl: API_BASE_URL, serviceName: `PopulateCRPRequestDetails?CRPRequestNumber=${this.props.reqNumber}` });\r\n const { success, error, isInfo, data } = await response;\r\n\r\n if (success) {\r\n await this.setState({ data: data.Industry, showEditUpdateSystemsBtn: data.isSystemsEditable, showSpinner: false })\r\n } else {\r\n this.setState({ error: error, isInfo, showSpinner: false, showErrorPopup: true })\r\n }\r\n const crpTable = this.state.data;\r\n crpTable.map(row => {\r\n let systems = row.Systems\r\n return systems.map(system => {\r\n return tableKey.map(column => {\r\n if (column === \"ProvisionedOn\" || column === \"EstimatedDeliveryDate\" || column === \"DecommissionedDate\") {\r\n let isoDate = system[column] == null ? null : system[column]\r\n return this.setState({ [`${system.SystemID}-${column}`]: !!isoDate ? new Date(isoDate) : '' })\r\n }\r\n else {\r\n return this.setState({\r\n [`${system.SystemID}-${column}`]: system[column] ? system[column] : ''\r\n })\r\n }\r\n })\r\n })\r\n })\r\n }\r\n\r\n updateArray = (name) => {\r\n let systemarray = name.split(\"-\")\r\n if (!this.state.updatedSystemIDs.includes(systemarray[0])) {\r\n let temparray = this.state.updatedSystemIDs;\r\n temparray.push(systemarray[0])\r\n this.setState(prevState => ({ ...prevState, updatedSystemIDs: temparray }))\r\n }\r\n }\r\n\r\n async handleInput(e) {\r\n this.setState({ haveErrors: false });\r\n const { name, value } = e.target;\r\n const fieldName = name.split(\"-\");\r\n if (fieldName[1] === \"CRPSID\") {\r\n await this.setState({\r\n [name]: value.toUpperCase(), isDataChange: true\r\n });\r\n } else if (fieldName[1] === \"HostName\") {\r\n await this.setState({\r\n [name]: value.toLowerCase(), isDataChange: true\r\n });\r\n } else {\r\n await this.setState({\r\n [name]: value, isDataChange: true\r\n });\r\n }\r\n let errorMsg = validateBuildRelease({ name, value });\r\n this.setErrorMsg(name, errorMsg);\r\n await this.updateArray(name)\r\n }\r\n\r\n async setErrorMsg(name, errorMsg) {\r\n if (errorMsg) {\r\n this.setState({\r\n ...this.state, buildReleaseError: {\r\n ...this.state.buildReleaseError, [name]: errorMsg\r\n },\r\n showErrorToolTip: { [name]: true }\r\n })\r\n }\r\n else {\r\n this.setState({\r\n showErrorToolTip: {}, buildReleaseError: { ...this.state.buildReleaseError, [name]: \"\" }\r\n })\r\n }\r\n let haveErrorsFlag = Object.values(this.state.buildReleaseError).filter(function (error) {\r\n return error ? true : false\r\n })\r\n await this.setState({ haveErrors: haveErrorsFlag[0] })\r\n }\r\n handleOnClickCancel() {\r\n if (this.state.isDataChange || this.props.ddChanged) {\r\n // if (this.state.haveErrors) {\r\n // this.setState({ isEdit: false, haveErrors: false, buildReleaseError: {}, showErrorToolTip: {} })\r\n // this.handleModalClickCancel()\r\n // } else {\r\n this.setState({ isWarning: true })\r\n // }\r\n }\r\n else if (!this.state.isDataChange && !this.props.ddChanged && this.state.isEdit) {\r\n this.setState({ isEdit: false })\r\n this.props.toggleDDEditModeOn(false)\r\n }\r\n else this.props.assignmentSystem()\r\n }\r\n\r\n handleOnClickEdit = () => {\r\n this.setState({ isEdit: true })\r\n this.props.toggleDDEditModeOn(true)\r\n }\r\n handleOnFocus(event) {\r\n const name = event.target.name;\r\n this.setState({ showErrorToolTip: { [name]: true } })\r\n }\r\n\r\n async submitData() {\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || ''\r\n let tempObj = {\r\n \"RequestedCRPSystemList\": this.state.updated,\r\n \"EID\": eid,\r\n \"RequestNumber\": this.props.reqNumber\r\n }\r\n const response = await postData({\r\n serviceName: \"UpdateCRPRequestSystem\", data: tempObj\r\n });\r\n const { success, error } = await response;\r\n if (success) {\r\n this.setState({ showSpinner: false, updatedSystemIDs: [], updated: [] });\r\n this.getInitialiseState();\r\n this.props.getInitialReqStates()\r\n } else {\r\n this.setState({ showErrorPopup: true, error: error, showSpinner: false });\r\n }\r\n }\r\n handleModalClickCancel() {\r\n this.setState({ isEdit: true, isDataChange: true, updated: this.state.prevUpdated, isWarning: false });\r\n this.props.toggleDDEditModeOn(true)\r\n }\r\n async handleOnClickSave() {\r\n await this.setState({ isEdit: false, isDataChange: false, updated: this.state.prevUpdated, isWarning: false, haveErrors: false, buildReleaseError: {}, showErrorToolTip: {} });\r\n this.props.toggleDDEditModeOn(false)\r\n this.getInitialiseState();\r\n this.props.clearDDChanges();\r\n \r\n }\r\n async handleClickUpdate() {\r\n await this.setState({ isEdit: false, isDataChange: false, updated: [], prevUpdated: this.state.updated });\r\n this.props.toggleDDEditModeOn(false);\r\n this.state.updatedSystemIDs.map((id) => {\r\n let temp = {};\r\n tableKey.map((column) => {\r\n if (this.state[`${id}-${column}`] === '' && column !== \"NotifyStatusToUser\") {\r\n temp = { ...temp, [column]: null }\r\n }\r\n else if (column === \"ProvisionedOn\" || column === \"EstimatedDeliveryDate\") {\r\n temp = { ...temp, [column]: dateFormat(this.state[`${id}-${column}`], \"isoDate\") }\r\n } else if (column === \"NotifyStatusToUser\" && this.state[`${id}-NotifyStatusToUser`] === '') {\r\n temp = { ...temp, [column]: false }\r\n } else {\r\n temp = { ...temp, [column]: this.state[`${id}-${column}`] }\r\n }\r\n return null\r\n })\r\n this.setState(prevState => ({\r\n ...prevState, updated: [\r\n ...prevState.updated, temp]\r\n }))\r\n return null\r\n })\r\n if(this.props.ddChanged){\r\n this.props.updateDDValues(this.state.updatedSystemIDs.length); \r\n }\r\n if(this.state.updatedSystemIDs.length){\r\n await this.submitData();\r\n } \r\n }\r\n\r\n async handleDate(date, id) {\r\n await this.setState({ [id]: date, isDataChange: true })\r\n this.updateArray(id)\r\n }\r\n handleDateChangeRaw = e => {\r\n e.preventDefault();\r\n };\r\n async handleCheckBox(e) {\r\n const { name, checked } = e.target;\r\n const fieldName = name.split(\"-\");\r\n if (fieldName[1] === \"NotifyStatusToUser\") {\r\n await this.setState({ [name]: checked });\r\n }\r\n await this.updateArray(name)\r\n }\r\n\r\n handleSystemAction(e, item) {\r\n const { ID, Value } = item\r\n this.setState({\r\n [`${this.state.popupId}-systemAction-popup`]: false,\r\n UserActionId: ID,\r\n UserActionValue: item.Name\r\n })\r\n if (Value.toLowerCase() === 'decommission') {\r\n this.setState({\r\n showDecommissionModal: true\r\n })\r\n } else if (Value.toLowerCase() === 'extend') {\r\n if (item.Name === 'Change Decommission Date') {\r\n this.setState({\r\n isChangeDecommision: true,\r\n okBtnLbl: 'Update',\r\n okBtnName: 'Yes',\r\n cancelBtnName: 'Cancel',\r\n [`${this.state.popupId}-calender-popup`]: true\r\n })\r\n } else {\r\n this.setState({\r\n isChangeDecommision: false,\r\n okBtnLbl: 'Extend',\r\n okBtnName: 'Yes Extend',\r\n cancelBtnName: `Don't Extend`,\r\n [`${this.state.popupId}-calender-popup`]: true\r\n })\r\n }\r\n }\r\n }\r\n handleCalenderCancel() {\r\n this.setState({\r\n [`${this.state.popupId}-calender-popup`]: false\r\n })\r\n }\r\n handleCalenderExtend(date) {\r\n this.setState({\r\n extendedDate: date,\r\n showExtendConfirmModal: true\r\n })\r\n }\r\n async handleExtendDecommissionSubmit() {\r\n const reqObj = {\r\n \"RequestNumber\": this.props.reqNumber,\r\n \"DecommissionedDate\": this.state.extendedDate || null,\r\n \"comments\": \"\",\r\n \"SystemId\": this.state.popupId,\r\n \"UserAction\": this.state.UserActionId\r\n }\r\n\r\n const response = await postData({\r\n serviceName: \"Decommission\", data: reqObj\r\n });\r\n const { success, error } = await response;\r\n if (success) {\r\n this.setState({ showSpinner: false, [`${this.state.popupId}-calender-popup`]: false, showExtendConfirmModal: false, showDecommissionModal: false });\r\n this.getInitialiseState();\r\n this.props.getInitialReqStates()\r\n } else {\r\n this.setState({ showErrorPopup: true, error: error, showSpinner: false, [`${this.state.popupId}-calender-popup`]: false, showExtendConfirmModal: false, showDecommissionModal: false });\r\n }\r\n }\r\n\r\n handleOutsideClick() {\r\n this.setState({\r\n [`${this.state.popupId}-systemAction-popup`]: false\r\n })\r\n }\r\n\r\n render() {\r\n const crpTable = this.state.data;\r\n const { isSystemsEditable } = this.props;\r\n const monthNames = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n\r\n return (\r\n
\r\n
Build / Release Systems\r\n {this.state.showEditUpdateSystemsBtn && { this.props.showCartDetails() }} label=\"+ ADD/EDIT Build/Release Systems\" />}\r\n
\r\n
\r\n \r\n \r\n {tableHeader.map((column, key) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {crpTable.map((row, key) => {\r\n let systems = row.Systems\r\n\r\n return (\r\n \r\n \r\n {systems.map(system => {\r\n const extendDecommIcon = !!this.state[`${system.SystemID}-AlertType`] ? this.state[`${system.SystemID}-AlertType`] === 'Warning' ? constant.ALERT : constant.INFOINBLACK : ''\r\n return (this.props.isEditable && isSystemsEditable && this.state.isEdit ?\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 {this.state.isEdit && \r\n \r\n \r\n }\r\n \r\n
{column}
{row.Name}
{this.state[`${system.SystemID}-Name`]}{this.state[`${system.SystemID}-DecommissionedDate`] ? {`${new Date(this.state[`${system.SystemID}-DecommissionedDate`]).getDate() <= 9 ? `0${new Date(this.state[`${system.SystemID}-DecommissionedDate`]).getDate()}` : new Date(this.state[`${system.SystemID}-DecommissionedDate`]).getDate()}-${monthNames[new Date(this.state[`${system.SystemID}-DecommissionedDate`]).getUTCMonth()]}-${new Date(this.state[`${system.SystemID}-DecommissionedDate`]).getFullYear()}`} : ''}{this.state[`${system.SystemID}-Status`]}\r\n \r\n \r\n \r\n {this.state.buildReleaseError[`${system.SystemID}-CRPSID`] && this.state.showErrorToolTip[`${system.SystemID}-CRPSID`] &&\r\n }\r\n \r\n \r\n {this.state.buildReleaseError[`${system.SystemID}-HostName`] && this.state.showErrorToolTip[`${system.SystemID}-HostName`] &&\r\n }\r\n \r\n \r\n {this.state.buildReleaseError[`${system.SystemID}-InstanceNumber`] && this.state.showErrorToolTip[`${system.SystemID}-InstanceNumber`] &&\r\n }\r\n \r\n \r\n {this.state.buildReleaseError[`${system.SystemID}-IPAddress`] && this.state.showErrorToolTip[`${system.SystemID}-IPAddress`] &&\r\n }\r\n \r\n \r\n {this.state.buildReleaseError[`${system.SystemID}-FIORIUrl`] && this.state.showErrorToolTip[`${system.SystemID}-FIORIUrl`] &&\r\n }\r\n \r\n \r\n {this.state.buildReleaseError[`${system.SystemID}-BasicSupCostPerMonth`] && this.state.showErrorToolTip[`${system.SystemID}-BasicSupCostPerMonth`] &&\r\n }\r\n { this.handleDate(date, `${system.SystemID}-ProvisionedOn`) }} //only when value has changed\r\n placeholderText=\"MM/DD/YYYY\" onChangeRaw={this.handleDateChangeRaw}\r\n popperPlacement=\"bottom\"\r\n popperModifiers={{ flip: { behavior: [\"bottom\"] }, preventOverflow: { enabled: false }, hide: { enabled: false } }} />\r\n { this.handleDate(date, `${system.SystemID}-EstimatedDeliveryDate`) }} //only when value has changed\r\n placeholderText=\"MM/DD/YYYY\" onChangeRaw={this.handleDateChangeRaw}\r\n popperPlacement=\"bottom\"\r\n popperModifiers={{ flip: { behavior: [\"bottom\"] }, preventOverflow: { enabled: false }, hide: { enabled: false } }} />\r\n \r\n { this.handleCheckBox(e) }}\r\n checked={this.state[`${system.SystemID}-NotifyStatusToUser`] ? true : false}\r\n value={this.state[`${system.SystemID}-NotifyStatusToUser`]}\r\n >\r\n
{this.state[`${system.SystemID}-Name`]}\r\n
\r\n {!!extendDecommIcon &&
\"Info\"\r\n {this.state[`${system.SystemID}-UserActionMsg`] && {this.state[`${system.SystemID}-UserActionMsg`]}

}>
}
\r\n }\r\n {this.state[`${system.SystemID}-DecommissionedDate`] ? {`${new Date(this.state[`${system.SystemID}-DecommissionedDate`]).getDate() <= 9 ? `0${new Date(this.state[`${system.SystemID}-DecommissionedDate`]).getDate()}` : new Date(this.state[`${system.SystemID}-DecommissionedDate`]).getDate()}-${monthNames[new Date(this.state[`${system.SystemID}-DecommissionedDate`]).getUTCMonth()]}-${new Date(this.state[`${system.SystemID}-DecommissionedDate`]).getFullYear()}`} : ''}\r\n {this.state[`${system.SystemID}-systemAction`] && this.state[`${system.SystemID}-systemAction`].length > 0 &&\r\n {\r\n this.setState({\r\n [`${system.SystemID}-systemAction-popup`]: true,\r\n popupId: system.SystemID\r\n })\r\n }}>\"Info\"}\r\n {this.state[`${system.SystemID}-systemAction`] && this.state[`${system.SystemID}-systemAction`].length > 0 && !!this.state[`${system.SystemID}-systemAction-popup`] &&\r\n { this.handleOutsideClick() }}>\r\n {/* {\r\n return

this.handleSystemAction(e, item)}>{item.Name}

\r\n })} /> */}\r\n (\r\n \r\n item.Name === \"Change Decommission Date\" ?( ((((new Date().getFullYear()-new Date(this.state[`${system.SystemID}-DecommissionedDate`] ).getFullYear())*12)+(new Date().getMonth()-(new Date(this.state[`${system.SystemID}-DecommissionedDate`] ).getMonth())))<=6) ?\r\n

this.handleSystemAction(e, item)}>{item.Name}

:

{item.Name}

)\r\n :

this.handleSystemAction(e, item)}>{item.Name}

\r\n \r\n ))}\r\n />\r\n
\r\n }\r\n {!!this.state[`${system.SystemID}-calender-popup`] && this.state.popupId === system.SystemID && \r\n { this.handleCalenderCancel() }}\r\n handleOk={(date) => { this.handleCalenderExtend(date) }}\r\n okBtnLbl={this.state.okBtnLbl}\r\n isChangeDecommision={this.state.isChangeDecommision}\r\n userActionExtend={this.state.UserActionValue === 'Extend' ? true : false}\r\n />\r\n }\r\n
\r\n
{this.state[`${system.SystemID}-Status`]}{this.state[`${system.SystemID}-Assignee`]}{this.state[`${system.SystemID}-CRPSID`]}{this.state[`${system.SystemID}-HostName`]}{this.state[`${system.SystemID}-InstanceNumber`]}{this.state[`${system.SystemID}-IPAddress`]}{this.state[`${system.SystemID}-FIORIUrl`]}{this.state[`${system.SystemID}-BasicSupCostPerMonth`]}{this.state[`${system.SystemID}-ProvisionedOn`] ? dateFormat(this.state[`${system.SystemID}-ProvisionedOn`], \"dd-mmm-yyyy\") : ''}{this.state[`${system.SystemID}-EstimatedDeliveryDate`] ? dateFormat(this.state[`${system.SystemID}-EstimatedDeliveryDate`], \"dd-mmm-yyyy\") : ''}\r\n
Dummy row for datepicker issue
Dummy row for datepicker issue
\r\n
\r\n\r\n {this.state.isWarning && ( { this.handleModalClickCancel(); }}\r\n handleClose={() => { this.handleOnClickSave(); this.setState({ isWarning: false }); }}>\r\n

You have made few updates, are you sure to cancel?

)}\r\n
\r\n {this.state.isEdit && { this.handleOnClickCancel() }} label=\"Cancel\" className=\"secondary-button-inactive mr20\" />}\r\n {this.props.reqStatusName !== \"Rejected\" && this.props.reqStatusName !== \"New\"&&this.props.reqStatusName !== \"Closed\" && this.props.reqStatusName !== \"Signed Off\" && this.props.enableSignOff !==0 &&}\r\n
\r\n {this.state.showSpinner && }\r\n {this.state.error && { this.setState({ showErrorPopup: false }) }}>

{this.state.error}

}\r\n {!!this.state.showExtendConfirmModal &&\r\n { this.setState({ showExtendConfirmModal: false }) }}\r\n handleClose={() => { this.handleExtendDecommissionSubmit() }}>\r\n {this.state.okBtnLbl === 'Update' &&\r\n

Are you sure you want to change the date to {dateFormat(this.state.extendedDate, \"mmm dd, yyyy\")}?

\r\n }\r\n {this.state.okBtnLbl === 'Extend' &&\r\n

Are you sure you want to Extend the system till {dateFormat(this.state.extendedDate, \"mmm dd, yyyy\")}?

\r\n }\r\n
}\r\n {!!this.state.showDecommissionModal &&\r\n { this.setState({ showDecommissionModal: false }) }}\r\n handleClose={() => { this.handleExtendDecommissionSubmit() }}\r\n showIcon={true}\r\n okBtnName=\"Decommission\"\r\n cancelBtnName=\"Don't Decommission\"\r\n extraClass=\"decommission-modal\"\r\n >

Are you sure you want to Decommission the system?

}\r\n
);\r\n }\r\n}\r\n\r\nexport default BuildReleaseSystems;","import React, { Component } from \"react\";\r\n\r\nexport const RequestContext = React.createContext()\r\nclass RequestProvider extends Component {\r\n\r\n state = {\r\n data: this.props.preData || {}\r\n };\r\n\r\n render() {\r\n return (\r\n {\r\n this.setState({\r\n data: { ...this.state.data, ...newData }\r\n })\r\n }\r\n }}>\r\n {this.props.children}\r\n )\r\n }\r\n}\r\n\r\nexport default RequestProvider;","import React, { Component } from \"react\";\r\nimport CustomButton from \"../../../components/button/nextbutton\";\r\nimport Checkbox from \"../../../components/checkbox/checkbox\";\r\nimport * as constant from \"../../../components/constants/constant\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport { postData } from \"../../../api/api-manager\";\r\nimport \"./sign-off.scss\";\r\nimport parse from 'html-react-parser';\r\n\r\nclass SignOff extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isSignOffComplete: false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getInitialStates();\r\n }\r\n\r\n getInitialStates() {\r\n this.setState({\r\n isSignOff: this.props.enableSignOff,\r\n });\r\n\r\n }\r\n handleSignOffTermCheckBox = (e) => {\r\n const { name, checked } = e.target;\r\n this.setState({ [name]: checked });\r\n }\r\n\r\n async handleSignOffSubmit() {\r\n const response = await postData({\r\n serviceName: `UserSignOff?reqNumber=${this.props.reqNumber}`\r\n });\r\n const { success, error } = await response;\r\n if (success) {\r\n this.props.getInitialReqStates()\r\n this.props.canReloadBuildRelease(true)\r\n this.setState({ showSpinner: false, isSignOffComplete: true, showSignOffCompleteMesg: true });\r\n } else {\r\n this.setState({ showErrorPopup: true, error: error, showSpinner: false });\r\n }\r\n }\r\n\r\n render() {\r\n const {disclaimer,crpCostDisclaimer} = this.props;\r\n const disclaimerbox = disclaimer ? parse(disclaimer):\"\";\r\n const crpCostDisclaimerbox = parse(crpCostDisclaimer);\r\n return (\r\n
\r\n {this.props.enableSignOff === 0 && !this.state.showSignOffCompleteMesg &&
\r\n
{disclaimerbox ? disclaimerbox : ''}
\r\n
{crpCostDisclaimerbox ? crpCostDisclaimerbox : ''}
\r\n
\r\n { this.handleSignOffTermCheckBox(e) }}\r\n value={this.state.signOffTerms}\r\n />I have read the instructions above and agree to proceed.\r\n
\r\n
}\r\n\r\n {this.props.enableSignOff === 0 && !this.state.showSignOffCompleteMesg && { this.handleSignOffSubmit() }} disabled={this.state.signOffTerms ? false : true} label=\"SIGN-OFF\" />}\r\n {this.state.showSignOffCompleteMesg &&

\"Info\"You have successfully signed-off the request. An email confirmation will be sent to you for the same.

}\r\n {this.props.enableSignOff === 1 && !this.state.showSignOffCompleteMesg &&

\"Info\"Request is signed-off already.

}\r\n {this.props.enableSignOff !== 0 &&
\r\n
{crpCostDisclaimerbox ? crpCostDisclaimerbox : ''}
\r\n
}\r\n {this.state.showSpinner && }\r\n {this.state.error &&

{this.state.error}

}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default SignOff;\r\n","import { validateWithPattern, isFormFieldsValid } from \"../../../components/validators/validate\";\r\nimport { differenceInCalendarDays } from \"date-fns\";\r\n\r\nexport const validateCRP = (formState) => {\r\n let isError = false;\r\n let tempObj = {}\r\n if (!formState.termsAndCondition) {\r\n tempObj = {\r\n ...tempObj,\r\n termsAndConditionError: 'Please accept the terms and conditions.'\r\n }\r\n isError = true\r\n }\r\n if (!formState.PlannedStartDate) {\r\n\r\n tempObj = {\r\n ...tempObj,\r\n PlannedStartDateError: 'Please select the Due date on Basic details screen.'\r\n }\r\n isError = true\r\n\r\n }\r\n if (formState.PlannedStartDate) {\r\n const diffInDays = differenceInCalendarDays(\r\n formState.PlannedStartDate,\r\n new Date()\r\n )\r\n if (diffInDays < 2) {\r\n tempObj = {\r\n ...tempObj,\r\n PlannedStartDateError: 'Planned start date must be 2 days in advance from current date. Please update the Due date on Basic details screen.'\r\n }\r\n isError = true\r\n }\r\n }\r\n if (formState.PlannedEndDate) {\r\n const diffInDays = differenceInCalendarDays(\r\n new Date(formState.PlannedEndDate),\r\n formState.PlannedStartDate\r\n )\r\n\r\n if (diffInDays < 0) {\r\n tempObj = {\r\n ...tempObj,\r\n PlannedEndDateError: 'Planned end date must be greater than Planned start date.'\r\n }\r\n isError = true\r\n }\r\n }\r\n const isPMEmailValid = validateEmailByPattern({ keyName: 'DeliveryMD', value: formState.DeliveryMD, formState: formState })\r\n if (!isPMEmailValid) {\r\n let inValidMsg = ''\r\n if (formState.DeliveryMD === '') inValidMsg = 'Please enter an email id.'\r\n else inValidMsg = 'Email is invalid.'\r\n\r\n tempObj = {\r\n ...tempObj,\r\n DeliveryMDError: inValidMsg\r\n }\r\n isError = true\r\n }\r\n const isLeadEmailValid = validateEmailByPattern({ keyName: 'DeliverySM', value: formState.DeliverySM, formState: formState })\r\n if (!isLeadEmailValid) {\r\n let inValidMsg = ''\r\n if (formState.DeliverySM === '') {\r\n inValidMsg = 'Please enter an email id.'\r\n } else {\r\n inValidMsg = 'Email is invalid.'\r\n }\r\n tempObj = {\r\n ...tempObj,\r\n DeliverySMError: inValidMsg\r\n }\r\n isError = true\r\n }\r\n if (formState.ProjectPOC !== '') {\r\n let strArr = formState.ProjectPOC.trim().split(';');\r\n strArr = strArr.filter(function (el) {\r\n let emailArray = el.trim()\r\n return emailArray.length > 0;\r\n });\r\n let strArray = strArr.reduce((acc, currentVal) => {\r\n return [...acc, (currentVal.trim()).toLowerCase()]\r\n }, [])\r\n let inValidMsg = ''\r\n if (strArray.length < 3) {\r\n inValidMsg = 'Please add at least 3 valid emails. Only Accenture and Avanade domain is valid.'\r\n isError = true\r\n } else {\r\n let unique = strArray.filter((item, i, ar) => {\r\n return ar.indexOf(item) === i\r\n });\r\n\r\n if (unique.length < 3) {\r\n inValidMsg = '3 unique emails needed. Only Accenture and Avanade domain is valid.'\r\n isError = true\r\n }\r\n const isValid = validateEmailByPattern({ keyName: 'ProjectPOC', value: formState.ProjectPOC, formState: formState })\r\n if (!isValid) {\r\n inValidMsg = 'Enter a valid email. Only Accenture and Avanade domain is valid.'\r\n isError = true\r\n }\r\n }\r\n\r\n if (isError) {\r\n tempObj = {\r\n ...tempObj,\r\n ProjectPOCError: inValidMsg\r\n }\r\n }\r\n }\r\n\r\n if (formState.DeliveryMD !== '' && formState.DeliveryMD === formState.DeliverySM) {\r\n tempObj = {\r\n ...tempObj,\r\n DeliverySMError: 'Managing Director and Senior Manager email can not be same.'\r\n }\r\n isError = true\r\n }\r\n\r\n if (!isFormFieldsValid(formState)) isError = true\r\n return {\r\n fieldError: tempObj,\r\n haveError: isError\r\n }\r\n}\r\n\r\nexport const validateEmailByPattern = ({ keyName = '', pattern, value, formState }) => {\r\n if (keyName !== '') {\r\n let requirFields = formState.data.find(formFields => formFields.FormKey === keyName);\r\n pattern = requirFields.Validations.Pattern\r\n }\r\n\r\n let emailIds = value.split(\";\");\r\n let filtered = emailIds.map(el => {\r\n return el.replace(/^\\s+|\\s+$/g, '');\r\n })\r\n value = filtered.join(';')\r\n\r\n return validateWithPattern({ pattern, value })\r\n}\r\n\r\nexport const validateInput = (name, formData) => {\r\n\r\n let requirFields = formData.data.find(formFields => formFields.FormKey === name && formFields.Validations.IsRequired === true);\r\n\r\n let response = true\r\n let errorMessage = '', errorkey = `${name}Error`\r\n if (!!requirFields) {\r\n if (formData[name] === '' || formData[name] === null) {\r\n errorMessage = requirFields.ValidationMessages.RequiredMessage\r\n response = false\r\n }\r\n else {\r\n if (name === 'DeliveryMD' || name === 'DeliverySM' || name === 'ProjectPOC') {\r\n const isValid = validateEmailByPattern({ pattern: requirFields.Validations.Pattern, value: formData[name], formState: formData })\r\n if (!isValid) errorMessage = requirFields.ValidationMessages.PatternMessage\r\n }\r\n }\r\n }\r\n return {\r\n fieldError: {\r\n [errorkey]: errorMessage\r\n },\r\n haveError: response\r\n }\r\n}\r\n\r\nexport const getSystemCost = cartDetails => {\r\n if (!cartDetails || cartDetails.length < 1) return 0\r\n return cartDetails.reduce((acc, currValue) => {\r\n let innerVal = currValue && currValue.reduce((innerAcc, currentInnerVal) => {\r\n return innerAcc + parseInt(currentInnerVal.cost)\r\n }, 0)\r\n return acc + innerVal\r\n }, 0)\r\n}\r\n","import { validateWithPattern, isFormFieldsValid } from \"../../../components/validators/validate\";\r\n\r\nexport const validateInput = (name, formData) => {\r\n\r\n let requirFields = formData.data.find(formFields => formFields.FormKey === name && formFields.Validations.IsRequired === true);\r\n\r\n let response = true\r\n let errorMessage = '', errorkey = `${name}Error`\r\n if (!!requirFields) {\r\n if (formData[name] === '' || formData[name] === null) {\r\n errorMessage = requirFields.ValidationMessages.RequiredMessage\r\n response = false\r\n }\r\n else {\r\n if (name === 'AccountExecutiveEmail' || name === 'ListOfUserEmails') {\r\n const isValid = validateEmailByPattern({ pattern: requirFields.Validations.Pattern, value: formData[name], formState: formData })\r\n if (!isValid) errorMessage = requirFields.ValidationMessages.PatternMessage\r\n }\r\n }\r\n }\r\n return {\r\n fieldError: {\r\n [errorkey]: errorMessage\r\n },\r\n haveError: response\r\n }\r\n}\r\n\r\nexport const validateEmailByPattern = ({ keyName = '', pattern, value, formState }) => {\r\n if (keyName !== '') {\r\n let requirFields = formState.data.find(formFields => formFields.FormKey === keyName);\r\n pattern = requirFields.Validations.Pattern\r\n }\r\n value = value.trim();\r\n return validateWithPattern({ pattern, value })\r\n}\r\n\r\n\r\nexport const validate = (formData) => {\r\n\r\n let isError = false;\r\n let tmpErrObj = {}\r\n\r\n const isUserEmailsValid = validateEmailByPattern({ keyName: 'ListOfUserEmails', value: formData.ListOfUserEmails, formState: formData })\r\n if (!isUserEmailsValid) isError = true\r\n if (formData.ListOfUserEmails !== '') {\r\n let strEmails = formData.ListOfUserEmails\r\n let strArr = strEmails.split(';');\r\n strArr = strArr.filter(function (el) {\r\n return el !== null && el !== '';\r\n });\r\n let strArray = strArr.reduce((acc, currentVal) => {\r\n return [...acc, currentVal.trim()]\r\n }, [])\r\n let inValidMsg = ''\r\n if (strArray.length > 0) {\r\n let foundSameEmail = false\r\n strArray.filter((item, i, ar) => {\r\n if (ar.indexOf(item) !== i) foundSameEmail = true\r\n return ar.indexOf(item) === i\r\n });\r\n if (foundSameEmail) {\r\n inValidMsg = 'Unique emails needed. Only Accenture and Avanade domain is valid.'\r\n isError = true\r\n } else {\r\n strArray.map((item) => {\r\n const isValid = validateEmailByPattern({ keyName: 'ListOfUserEmails', value: item.trim(), formState: formData })\r\n if (!isValid) {\r\n inValidMsg = 'Enter a valid email. Only Accenture and Avanade domain is valid.'\r\n isError = true\r\n }\r\n return null\r\n })\r\n }\r\n }\r\n\r\n if (isError) {\r\n tmpErrObj = {\r\n ...tmpErrObj,\r\n ListOfUserEmailsError: inValidMsg\r\n }\r\n }\r\n }\r\n\r\n if (!isFormFieldsValid(formData)) isError = true\r\n // if (formData.cartArr.length < 1) {\r\n // tmpErrObj = {\r\n // ...tmpErrObj,\r\n // cartDetailsError: 'Please add some systems / applications.'\r\n // }\r\n // isError = true\r\n // }\r\n return {\r\n fieldError: {\r\n ...tmpErrObj\r\n },\r\n haveError: isError\r\n }\r\n}","export const setInitialStates = (formFields, formData) => {\r\n let states = {}\r\n formFields.map((form) => {\r\n const { FormKey, Validations, FieldDataType } = form\r\n if (FieldDataType !== 'object') {\r\n const { IsRequired } = Validations, name = FormKey\r\n let errorkey = {}\r\n if (IsRequired || (formData && formData[name])) {\r\n let keyString = `${FormKey}Error`\r\n errorkey = { [keyString]: formData && formData[name] ? (formData && formData[keyString]) : '' }\r\n }\r\n let requiredKey = `${FormKey}Required`\r\n states = {\r\n ...states,\r\n [name]: (formData && formData[name]) || '',\r\n [requiredKey]: IsRequired,\r\n ...errorkey\r\n }\r\n } else {\r\n let fieldValue = formData && !!formData[FormKey] ? formData[FormKey] : [];\r\n if (fieldValue && fieldValue.length > 0) {\r\n let fieldObj = fieldValue.reduce((acc, item) => {\r\n return [...acc, setInitialStatesForObjectTypeFields(form.Config, item)];\r\n }, []);\r\n states = {\r\n ...states,\r\n [FormKey]: fieldObj,\r\n };\r\n } else {\r\n states = {\r\n ...states,\r\n [FormKey]: fieldValue,\r\n };\r\n }\r\n } return null\r\n })\r\n return states\r\n}\r\n\r\nexport const setInitialStatesForObjectTypeFields = (formFields, formData) => {\r\n let states = {}\r\n formFields.map((form) => {\r\n const { FormKey, Validations } = form\r\n const { IsRequired } = Validations, name = FormKey\r\n let errorkey = {}\r\n if (IsRequired || (formData && formData[name])) {\r\n let keyString = `${FormKey}Error`\r\n errorkey = { [keyString]: formData && formData[name] ? (formData && formData.errorMessage[keyString]) : '' }\r\n }\r\n let requiredKey = `${FormKey}Required`\r\n states = {\r\n ...formData,\r\n [name]: (formData && formData[name]) || '',\r\n [requiredKey]: IsRequired,\r\n errorMessage: { ...formData.errorMessage, ...errorkey }\r\n }\r\n return null\r\n })\r\n return states\r\n}\r\n\r\nexport const setContextForObjectTypeFields = (formFields, states) => {\r\n let tempData = states.map((el) => {\r\n let contextData = {}\r\n formFields.map(form => {\r\n const name = form;\r\n let errorkey = {}\r\n let keyString = `${form}Error`\r\n errorkey = { [keyString]: el && el[name] ? (el && el.errorMessage[keyString]) : '' }\r\n contextData = {\r\n ...contextData,\r\n ...el,\r\n [name]: (el && el[name]) || '',\r\n errorMessage: { ...contextData.errorMessage, ...errorkey }\r\n }\r\n return null\r\n })\r\n return contextData;\r\n })\r\n return tempData;\r\n}\r\n\r\nexport const setContextData = (formFields, states) => {\r\n let contextData = {}\r\n formFields.map((form) => {\r\n const { FormKey, FieldDataType } = form;\r\n if (FieldDataType === 'object') {\r\n let schemaData = states.data.find(el => el.FormKey === FormKey);\r\n if (!!states[FormKey] && states[FormKey].length > 0) {\r\n let fieldValue = [...setContextForObjectTypeFields(schemaData.FormFields, states[FormKey])]\r\n contextData = {\r\n ...contextData,\r\n [FormKey]: [...fieldValue]\r\n }\r\n }\r\n } else {\r\n const name = FormKey\r\n let errorkey = {}\r\n let keyString = `${FormKey}Error`\r\n errorkey = { [keyString]: states && states[name] ? (states && states[keyString]) : '' }\r\n if (name === 'ShowLink') {\r\n contextData = {\r\n ...contextData,\r\n [name]: (states && states['showLinkTextArray']) || '',\r\n ...errorkey\r\n }\r\n } else if (name === 'ExploreLink') {\r\n contextData = {\r\n ...contextData,\r\n [name]: (states && states['exploreLinkTextArray']) || '',\r\n ...errorkey\r\n }\r\n } else {\r\n contextData = {\r\n ...contextData,\r\n [name]: (states && states[name]) || '',\r\n ...errorkey\r\n }\r\n }\r\n }\r\n return null\r\n })\r\n return contextData\r\n}\r\nexport const getAddedItems = cartDetails => {\r\n if (!cartDetails || cartDetails.length < 1) return 0\r\n return cartDetails.reduce((acc, currValue) => {\r\n let innerVal = currValue && currValue.reduce((innerAcc, currentInnerVal) => {\r\n return innerAcc + 1\r\n }, 0)\r\n return acc + innerVal\r\n }, 0)\r\n}\r\n\r\nexport const getFormDataName = (context, formName) => {\r\n let crpFormData = context && context.existingState ? context.existingState.crpFormData : {}\r\n let sapFormData = context && context.existingState ? context.existingState.sapFormData : {}\r\n let oracleFormData = context && context.existingState ? context.existingState.oracleFormData : {}\r\n let successFactorFormData = context && context.existingState ? context.existingState.successFactorFormData : {}\r\n let btpFormData = context && context.existingState ? context.existingState.btpFormData : {}\r\n let talentHRformData = context && context.existingState ? context.existingState.talentHRformData : {}\r\n\r\n if (formName === 'CRP') {\r\n return { formName: 'crpFormData', formData: crpFormData }\r\n } else if (formName === 'SAP') {\r\n return { formName: 'sapFormData', formData: sapFormData }\r\n } else if (formName === 'OracleEnvironment') {\r\n return { formName: 'oracleFormData', formData: oracleFormData }\r\n } else if (formName === 'SuccessFactor') {\r\n return { formName: 'successFactorFormData', formData: successFactorFormData }\r\n } else if (formName === 'BTP') {\r\n return { formName: 'btpFormData', formData: btpFormData }\r\n } else if (formName === 'talentHR') {\r\n return { formName: 'talentHRformData', formData: talentHRformData }\r\n }\r\n}\r\n\r\nexport const getId = (name, statusList) => {\r\n let filtered = [];\r\n filtered =\r\n statusList &&\r\n statusList.filter(function ({ Name }) {\r\n return Name === name;\r\n });\r\n if (filtered && filtered.length > 0) {\r\n return filtered[0].ID;\r\n }\r\n return \"\";\r\n};\r\n\r\nexport const getSpecificID = (id, statusList) => {\r\n let filtered = [];\r\n filtered =\r\n statusList &&\r\n statusList.filter(function ({ ID }) {\r\n return ID === id;\r\n });\r\n if (filtered && filtered.length > 0) {\r\n return filtered[0].showSpecificDropdowns;\r\n }\r\n return \"\";\r\n};\r\n\r\nexport const getName = (id, statusList) => {\r\n let filtered = [];\r\n filtered = statusList && statusList.find(function ({ ID }) {\r\n return ID === id;\r\n });\r\n if (!!filtered) {\r\n return filtered.Name;\r\n }\r\n return \"\";\r\n};","import React, { Component, Fragment } from \"react\";\r\nimport \"../../containers/form/crp-form/crp-form.scss\"\r\nimport Modal from \"../modals/modal\";\r\nimport Checkbox from \"../checkbox/checkbox\";\r\nimport CustomButton from \"../button/secondary-button\";\r\nimport CustomSelect from \"../custom-select/custom-select\";\r\nimport * as constant from \"../constants/constant\";\r\nimport { getSystemCost, validateCRP } from \"../../containers/form/crp-form/crp-form-validation\"\r\nimport { validate } from \"../../containers/form/sap-demo-form/sap-form-validation\"\r\nimport { getAddedItems, getFormDataName } from \"../../containers/form/common-functionality-forms/form-common-functionality\"\r\nimport \"./cart.scss\";\r\nimport CartConfig from \"../../../src/assets/data/cart.json\"\r\nimport { RequestContext } from \"../../context-providers/request-provider/request-provider\";\r\nimport { getData } from \"../../api/api-manager\";\r\nimport { UTIL_BASE_URL } from \"../../configs/api-base-url\";\r\nimport { setErrorMessages } from \"../validators/validate\";\r\n\r\nconst formFields = CartConfig\r\nclass Cart extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n cartArr: [],\r\n detailsArr: [],\r\n tempSelectedDetails: {},\r\n cartDetails: {},\r\n data: formFields ? formFields : []\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.props.clearCart === true) {\r\n this.clearCart()\r\n this.props.handleClearCart(false)\r\n }\r\n if (this.props.setDataFromContext === true) {\r\n this.setStatesFromContext()\r\n this.props.handleSetDataFromContext()\r\n }\r\n if (this.props.validateCart === true) {\r\n this.validateCart();\r\n }\r\n }\r\n validateCart = () => {\r\n const stateWithError = setErrorMessages(this.state);\r\n let isError = false, fieldError = false\r\n this.setStates(stateWithError);\r\n if (this.state.cartArr.length < 1) {\r\n let cartError = 'Please add some systems.'\r\n if (this.props.formName === 'BTP') {\r\n cartError = 'Please add some applications.'\r\n }\r\n this.setState({ cartDetailsError: cartError })\r\n isError = true\r\n }\r\n fieldError = stateWithError && Object.values(stateWithError).some(function (el) {\r\n return el !== \"\"\r\n })\r\n\r\n if (fieldError || isError) {\r\n this.props.showError(true)\r\n return true\r\n } else {\r\n this.props.showError(false)\r\n return false\r\n }\r\n }\r\n async clearCart() {\r\n await this.setState({\r\n Industry: '', Landscape: '', landscapeList: [], cartArr: [], cartDetails: {}, detailsArr: [], tempSelectedDetails: {}, lscapeArchLink: false, lscapeDescText: '', cartDetailsError: '', IndustryError: '', LandscapeError: ''\r\n })\r\n\r\n const { formName } = getFormDataName(this.context, this.props.formName)\r\n await this.context.addSelectedData({ [formName]: {} });\r\n\r\n }\r\n componentWillMount() {\r\n this.setStatesFromContext()\r\n }\r\n\r\n async setStatesFromContext() {\r\n const { formData } = getFormDataName(this.context, this.props.formName)\r\n\r\n await this.setState({\r\n Industry: formData && formData.Industry ? formData.Industry : \"\",\r\n Landscape: formData && formData.Landscape ? formData.Landscape : \"\",\r\n cartArr: formData && formData.cartArr ? formData.cartArr : [],\r\n cartDetails: formData && formData.cartDetails ? formData.cartDetails : {},\r\n landscapeList: formData && formData.landscapeList,\r\n detailsArr: formData && formData.detailsArr && formData.detailsArr.length > 0 ? formData.detailsArr : [],\r\n tempSelectedDetails: formData && formData.tempSelectedDetails ? formData.tempSelectedDetails : {},\r\n lscapeDescText: formData && formData.lscapeDescText,\r\n lscapeArchLink: formData && formData.lscapeArchLink,\r\n LscapeMandatorySystems: formData && formData.LscapeMandatorySystems ? formData.LscapeMandatorySystems : {},\r\n // IndustryError: formData && formData.IndustryError ? formData.IndustryError : \"\",\r\n // LandscapeError: formData && formData.LandscapeError ? formData.LandscapeError : \"\",\r\n // cartDetailsError: formData && formData.cartDetailsError ? formData.cartDetailsError : ''\r\n })\r\n }\r\n componentWillUnmount() {\r\n this.setCartItemsOnUnmount();\r\n }\r\n async setCartItemsOnUnmount() {\r\n const { formName, formData } = getFormDataName(this.context, this.props.formName);\r\n const isFromCrpSapDetailsCart = !!this.props.isFromCrpSapDetailsCart && this.props.isFromCrpSapDetailsCart === true ? true : false;\r\n await this.context.addSelectedData({ [formName]: { ...formData, ...this.state, ...this.props.allData, Feedback:this.props.Feedback, Category:this.props.Category, CategoryList:this.props.CategoryList , Priority:this.props.Priority, PriorityList:this.props.PriorityList } });\r\n if (!isFromCrpSapDetailsCart) {\r\n this.validateFormData()\r\n }\r\n }\r\n async validateFormData() {\r\n const { formName } = getFormDataName(this.context, this.props.formName)\r\n if (formName === \"crpFormData\") {\r\n const errorData = validateCRP(this.props.allData)\r\n const { haveError } = errorData\r\n const isCartError = this.validateCart()\r\n await this.context.addSelectedData({ isValidCRPformData: !haveError && !isCartError })\r\n } else if (formName === \"sapFormData\") {\r\n const errorData = validate(this.props.allData)\r\n const { haveError } = errorData\r\n const isCartError = this.validateCart()\r\n await this.context.addSelectedData({ isValidSAPformData: !haveError && !isCartError })\r\n } else if (formName === \"oracleFormData\") {\r\n const errorData = validate(this.props.allData)\r\n const { haveError } = errorData\r\n const isCartError = this.validateCart()\r\n await this.context.addSelectedData({ isValidOracleformData: !haveError && !isCartError })\r\n } else if (formName === \"btpFormData\") {\r\n const isCartError = this.validateCart()\r\n await this.context.addSelectedData({ isValidBTPformData: !isCartError })\r\n }\r\n }\r\n async setStates(states) {\r\n await this.setState({\r\n ...states\r\n })\r\n }\r\n handleIndustry(e) {\r\n const { name, value } = e.target;\r\n var index = e.nativeEvent && e.nativeEvent.target.selectedIndex;\r\n let selectedIndustry = e.nativeEvent && e.nativeEvent.target[index].text\r\n\r\n let landscapeList = [], lscapeArchImg = '', lscapeArchLink = ''\r\n this.setState({ Landscape: \"\", tempSelectedDetails: {}, detailsArr: [], IndustryError: '' })\r\n let industryData = this.props.industryList && this.props.industryList.filter(function (data) {\r\n return data.ID.toString() === value.toString()\r\n })\r\n\r\n if (!!industryData && industryData.length > 0) landscapeList = industryData[0].Landscapes\r\n this.setState({ [name]: value, landscapeList, industryLbl: selectedIndustry, lscapeArchImg, lscapeArchLink })\r\n }\r\n\r\n // setLscapeMandatorySysArrForDelete = (arr, lscapeId) => {\r\n // let earlierLscpeMapping = this.state.LscapeMandatorySystems && this.state.LscapeMandatorySystems[lscapeId] ? this.state.LscapeMandatorySystems[lscapeId] : []\r\n // if (earlierLscpeMapping.length < 1) {\r\n // const detailsArr = arr.reduce((acc, currentVal) => {\r\n // return [...acc, currentVal.SystemID.toString()]\r\n // }, [])\r\n // this.setState({\r\n // LscapeMandatorySystems: {\r\n // ...this.state.LscapeMandatorySystems,\r\n // [lscapeId]: detailsArr\r\n // }\r\n // })\r\n // }\r\n // }\r\n async handleLandscape(e) {\r\n const { name, value } = e.target;\r\n let detailsArr = [], lscapeDescText = '', lscapeArchLink = '', tempSelectedDetails = {}, LandscapeError = \"\"\r\n let index = e.nativeEvent.target.selectedIndex;\r\n let text = e.nativeEvent.target[index].text;\r\n\r\n let systems = this.state.landscapeList.find(({ ID }) => {\r\n return ID.toString() === value.toString()\r\n });\r\n\r\n if (!!systems) {\r\n lscapeDescText = systems.Description\r\n lscapeArchLink = systems.LandscapeFile\r\n let mandatorySystems = systems.SystemDetails.filter(function ({ IsMandatory }) {\r\n return !!IsMandatory\r\n })\r\n\r\n if (mandatorySystems.length > 0) {\r\n this.setLscapeMandatorySysArrForDelete(systems.SystemDetails, value)\r\n let tempArr = []\r\n let earlierSelectedDetails = this.state.tempSelectedDetails && this.state.tempSelectedDetails[value]\r\n detailsArr = mandatorySystems.reduce((acc, currentVal) => {\r\n if (currentVal.IsMandatory === true) {\r\n let newSysObj = { id: currentVal.SystemID.toString(), name: currentVal.Name, industryId: this.state.Industry, landscapeId: value, landscapeLbl: text, industryLbl: this.state.industryLbl, cost: currentVal.Cost ? currentVal.Cost.toString() : '0', isMandatory: currentVal.IsMandatory }\r\n tempArr.push(newSysObj)\r\n if (Array.isArray(earlierSelectedDetails)) {\r\n tempArr = [...tempArr, ...earlierSelectedDetails]\r\n }\r\n tempSelectedDetails = {\r\n ...tempSelectedDetails,\r\n [value]: tempArr\r\n }\r\n return [...acc, currentVal.SystemID.toString()]\r\n } else {\r\n return []\r\n }\r\n }, [])\r\n }\r\n }\r\n await this.setState({ [name]: value, tempSelectedDetails, detailsArr, landscapeLbl: text, lscapeDescText, lscapeArchLink, LandscapeError });\r\n // this.validateInput(name)\r\n }\r\n\r\n async handleAddDetails() {\r\n let cartItemIds = this.state.cartArr\r\n\r\n if (this.state.cartArr.length < 1) {\r\n let cartArray = [...this.state.cartArr, ...this.state.detailsArr]\r\n await this.setStates({ cartArr: cartArray, cartDetails: this.state.tempSelectedDetails })\r\n } else {\r\n\r\n let tempArrForNewCart = [], isItemExist = false\r\n let filteredDetailsArr = Object.entries(this.state.tempSelectedDetails).length !== 0 && Object.values(this.state.tempSelectedDetails)[0].filter(function (item) {\r\n if (cartItemIds.includes(item.id.toString())) {\r\n isItemExist = true\r\n return false\r\n } else {\r\n tempArrForNewCart.push(item.id)\r\n return true\r\n }\r\n });\r\n tempArrForNewCart = [...tempArrForNewCart, ...cartItemIds]\r\n await this.setStates({ cartArr: tempArrForNewCart, showAlertDuplicateDetails: isItemExist })\r\n if (filteredDetailsArr.length > 0) {\r\n let combineObj = [...filteredDetailsArr]\r\n if (this.state.cartDetails && !!this.state.cartDetails[this.state.Landscape]) {\r\n combineObj = [\r\n ...this.state.cartDetails[this.state.Landscape],\r\n ...filteredDetailsArr\r\n ]\r\n }\r\n await this.setState({\r\n cartDetails: {\r\n ...this.state.cartDetails,\r\n [this.state.Landscape]: combineObj\r\n }\r\n })\r\n }\r\n }\r\n this.setStates({ cartDetailsError: '' })\r\n const { formName, formData } = getFormDataName(this.context, this.props.formName)\r\n await this.context.addSelectedData({ [formName]: { ...formData, ...this.state } });\r\n\r\n }\r\n\r\n setLscapeMandatorySysArrForDelete = (arr, lscapeId) => {\r\n let earlierLscpeMapping = this.state.LscapeMandatorySystems && this.state.LscapeMandatorySystems[lscapeId] ? this.state.LscapeMandatorySystems[lscapeId] : []\r\n if (earlierLscpeMapping.length < 1) {\r\n const detailsArr = arr.reduce((acc, currentVal) => {\r\n return [...acc, currentVal.SystemID.toString()]\r\n }, [])\r\n this.setState({\r\n LscapeMandatorySystems: {\r\n ...this.state.LscapeMandatorySystems,\r\n [lscapeId]: detailsArr\r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n async setErrorState(errorkey, errorMessage) {\r\n await this.setState({ [errorkey]: errorMessage })\r\n }\r\n\r\n async handleCheckBox(event) {\r\n let selectedId = event.target.id,\r\n name = event.target.name,\r\n landscapeId = event.target.getAttribute('parent_id'),\r\n cost = event.target.getAttribute('cost'),\r\n isMandatory = event.target.getAttribute('is_mandatory'),\r\n tempArr = []\r\n let earlierSelectedDetails = this.state.tempSelectedDetails && this.state.tempSelectedDetails[landscapeId]\r\n\r\n let detailsArray = this.state.detailsArr\r\n if (event.target.checked) {\r\n detailsArray.push(selectedId)\r\n let newSysObj = { id: selectedId, name, industryId: this.state.Industry, landscapeId, landscapeLbl: this.state.landscapeLbl, industryLbl: this.state.industryLbl, cost, isMandatory: isMandatory === 'true' }\r\n\r\n tempArr.push(newSysObj)\r\n if (Array.isArray(earlierSelectedDetails)) {\r\n tempArr = [...tempArr, ...earlierSelectedDetails]\r\n }\r\n\r\n await this.setState({\r\n tempSelectedDetails: {\r\n ...this.state.tempSelectedDetails,\r\n [landscapeId]: tempArr\r\n },\r\n detailsArr: detailsArray\r\n })\r\n } else {\r\n if (this.state.tempSelectedDetails && this.state.tempSelectedDetails[landscapeId].length > 0) {\r\n this.removeSystemDetail(this.state.tempSelectedDetails, selectedId, landscapeId, false)\r\n }\r\n var index = detailsArray.indexOf(selectedId)\r\n if (index !== -1) {\r\n detailsArray.splice(index, 1);\r\n this.setState({\r\n detailsArr: detailsArray\r\n })\r\n }\r\n }\r\n }\r\n\r\n async removeSystemDetail(systemDetails, selectedId, landscapeId, fromCart = true, IsMandatory = false) {\r\n const filtered = systemDetails[landscapeId] && systemDetails[landscapeId].filter(function ({ id }) {\r\n if (fromCart && IsMandatory) return false\r\n return id.toString() !== selectedId.toString()\r\n })\r\n\r\n if (fromCart) {\r\n await this.setState({ cartDetails: { ...this.state.cartDetails, [landscapeId]: filtered } })\r\n let cartArrTemp = this.state.cartArr\r\n const mandatoryIds = this.state.LscapeMandatorySystems && this.state.LscapeMandatorySystems[landscapeId] ? this.state.LscapeMandatorySystems[landscapeId] : []\r\n\r\n if (mandatoryIds.length > 0 && IsMandatory) {\r\n this.setState({ mandatorySysRemoveAlert: true })\r\n mandatoryIds.map((id) => {\r\n let index = cartArrTemp.indexOf(id)\r\n if (index !== -1) { cartArrTemp.splice(index, 1); }\r\n return null\r\n })\r\n this.setState({ cartArr: cartArrTemp })\r\n } else {\r\n let selectedIndex = cartArrTemp.indexOf(selectedId)\r\n if (selectedIndex !== -1) {\r\n cartArrTemp.splice(selectedIndex, 1);\r\n this.setState({ cartArr: cartArrTemp })\r\n }\r\n }\r\n } else {\r\n this.setState({\r\n tempSelectedDetails: {\r\n ...this.state.tempSelectedDetails,\r\n [landscapeId]: filtered\r\n }\r\n })\r\n }\r\n const { formName, formData } = getFormDataName(this.context, this.props.formName)\r\n await this.context.addSelectedData({ [formName]: { ...formData, ...this.state } });\r\n }\r\n\r\n\r\n getCartDetails = () => {\r\n if (!!this.state.cartDetails && Object.entries(this.state.cartDetails).length !== 0 && this.state.cartDetails.constructor === Object) {\r\n return Object.values(this.state.cartDetails)\r\n }\r\n return []\r\n }\r\n\r\n async getArchDiagramURL() {\r\n this.setState({\r\n showSpinner: true,\r\n lscapeArchLinkPopup: true\r\n })\r\n const response = await getData({ apiBaseUrl: UTIL_BASE_URL, serviceName: `Download?guid=${this.state.lscapeArchLink}` });\r\n const { success, error, isInfo } = response;\r\n if (success) {\r\n const { data } = response\r\n let tmpUrl = data\r\n tmpUrl = tmpUrl.split(';')\r\n let contentType = tmpUrl.length > 0 ? tmpUrl[0].split(':') : []\r\n contentType = contentType.length > 0 ? contentType[1] : ''\r\n let encodedString = tmpUrl.length > 0 ? tmpUrl[1] : ''\r\n if (data) {\r\n this.setState({\r\n lscapeArchImg: encodedString,\r\n contentType: contentType,\r\n showSpinner: false\r\n });\r\n }\r\n } else { this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false }); }\r\n }\r\n\r\n getCartItemHeading(cartIndustryId, item, industryLbl) {\r\n let matchingId = item.industryId, matchingLbl = item.industryLbl\r\n if (this.props.formName === 'SAP' || this.props.formName === \"SuccessFactor\" || this.props.formName === \"talentHR\" || this.props.formName === \"BTP\") {\r\n matchingId = item.landscapeId\r\n matchingLbl = item.landscapeLbl\r\n }\r\n if (cartIndustryId !== matchingId) {\r\n industryLbl = matchingLbl\r\n cartIndustryId = matchingId\r\n } else { industryLbl = '' }\r\n return { industryLbl, cartIndustryId }\r\n }\r\n\r\n render() {\r\n const { formName, labelList, showSystemCost, industryList, selectMultipleIndusrty } = this.props\r\n const isCustomData = (formName === \"SAP\" || formName === \"SuccessFactor\" || formName === \"talentHR\" || formName === \"OracleEnvironment\" || formName === \"BTP\")\r\n const customIndustryLbl = labelList && labelList.Industry\r\n const customLandscapeLbl = labelList && labelList.Landscapes\r\n const customSystemDetailsLbl = labelList && labelList.SystemDetails\r\n\r\n const cartDetails = this.getCartDetails()\r\n let btndisableAdd = this.state.detailsArr.length < 1 ? true : false\r\n let addBtnClass = !btndisableAdd ? \"add-lands\" : \"disable-add-lands\"\r\n let landScapeOptions = this.state.Landscape && this.state.landscapeList && this.state.landscapeList.filter(({ ID }) => {\r\n return ID.toString() === this.state.Landscape.toString();\r\n })\r\n\r\n let haveLandScapeOptions = landScapeOptions && landScapeOptions.length > 0 ? true : false\r\n const totalCost = formName === 'CRP' ? getSystemCost(cartDetails) : ''\r\n const totalItems = getAddedItems(cartDetails)\r\n\r\n let industryLbl = '', cartIndustryId = '';\r\n return (\r\n \r\n {() => {\r\n return (\r\n
\r\n
\r\n {this.state.showAlertDuplicateDetails &&\r\n {\r\n this.setState({ showAlertDuplicateDetails: false });\r\n }} buttonPosition=\"center-button\"> Some selected system(s) already been added in the cart.

}\r\n {this.state.mandatorySysRemoveAlert &&\r\n {\r\n this.setState({ mandatorySysRemoveAlert: false });\r\n }} buttonPosition=\"center-button\"> You have removed mandatory system hence other associated systems also might get removed if any.

}\r\n
\r\n
\r\n
\r\n {formFields.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`;\r\n let errorMessage = isCustomData ? `Please select ${customIndustryLbl}` : this.state[keyString];\r\n if (form.FormKey === \"Industry\") {\r\n let isEmpty = (this.state[form.FormKey] === undefined || (this.state[form.FormKey] && this.state[form.FormKey] === '') || !this.state[form.FormKey]) ? 'not-selected' : ''\r\n return (\r\n \r\n
\r\n {\r\n this.handleIndustry(e)\r\n }}\r\n selected_value={this.state[form.FormKey]}\r\n disabled={!selectMultipleIndusrty && totalItems && this.state[form.FormKey]}\r\n />\r\n {!!this.state[keyString] ? {errorMessage} : ''}\r\n
\r\n
\r\n );\r\n }\r\n if (form.FormKey === \"Landscape\") {\r\n let isEmpty = (this.state[form.FormKey] === undefined || (this.state[form.FormKey] && this.state[form.FormKey] === '') || !this.state[form.FormKey]) ? 'not-selected' : '';\r\n let landscapeErrorMessage = isCustomData ? `Please select ${customLandscapeLbl}` : this.state[keyString];\r\n return (\r\n \r\n
\r\n { this.handleLandscape(e) }} selected_value={this.state[form.FormKey]}\r\n />\r\n {!!this.state[keyString] ? {landscapeErrorMessage} : ''}\r\n
\r\n
\r\n );\r\n }\r\n return null\r\n })}\r\n {!!this.state.lscapeArchLink &&
\"Info\" {\r\n this.getArchDiagramURL()\r\n }} />\r\n {\r\n e.preventDefault()\r\n this.setState({ lscapeArchLinkPopup: false })\r\n }} buttonPosition=\"center-button\">\r\n \"Architectural\r\n\r\n \r\n
}\r\n {!!this.state.lscapeDescText &&
\"Info\"{this.state.lscapeDescText}
}\r\n
\r\n
\"systems\"\r\n {isCustomData ? customSystemDetailsLbl : \"Systems\"} ({this.state.detailsArr.length}/{(haveLandScapeOptions && landScapeOptions[0].SystemDetails.length) || 0})\r\n \r\n \r\n {!this.state.Landscape && }\r\n \r\n {haveLandScapeOptions ? (\r\n \r\n {haveLandScapeOptions &&\r\n landScapeOptions[0].SystemDetails.map(i => {\r\n let isExist = this.state.detailsArr.length > 0 && this.state.detailsArr.includes(i.SystemID.toString())\r\n let disableSystem = !!i.IsMandatory\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n ) : ()}\r\n
Add {isCustomData ? customLandscapeLbl : \"Landscape\"} from the dropdown
{ this.handleCheckBox(e); }} parent_id={this.state.Landscape} cost={i.Cost}\r\n disabled={disableSystem} is_mandatory={i.IsMandatory ? i.IsMandatory.toString() : \"false\"} />\r\n {i.Name}
\r\n
\r\n { this.handleAddDetails() }} label=\"ADD\" />\r\n
\r\n {isCustomData && {totalItems > 0 && }}\r\n {formName === \"CRP\" && \"cart\"Added Systems ({totalItems})}\r\n
    \r\n {totalItems < 1 &&
  • Add {isCustomData ? labelList && labelList.SystemDetails : \"Systems\"} from Selected {isCustomData ? customLandscapeLbl : \"Landscape\"}
  • }\r\n {cartDetails.length > 0 && cartDetails.map((landscapeInfo) => {\r\n return (\r\n landscapeInfo.map((item) => {\r\n let headData = this.getCartItemHeading(cartIndustryId, item, industryLbl)\r\n industryLbl = headData.industryLbl\r\n cartIndustryId = headData.cartIndustryId\r\n return (\r\n
  • \r\n \r\n \r\n
  • \r\n )\r\n })\r\n )\r\n })}\r\n
\r\n {!!this.state.cartDetailsError ?

{this.state.cartDetailsError}

: ''}\r\n {showSystemCost && System Cost: $ {totalCost}}\r\n
\r\n
\r\n {formName === \"CRP\" && < div className=\"crp-note\">\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\nCart.contextType = RequestContext;\r\nexport default Cart;","import React from 'react';\r\nimport Cart from '../../../components/cart/cart'\r\nimport { Component } from 'react';\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\";\r\nimport { getData, postData } from \"../../../api/api-manager\";\r\nimport CustomButton from '../../../components/button/secondary-button';\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport './crp-sap-details-cart.scss';\r\n\r\nclass CrpSapDetailsCart extends Component {\r\n\r\n componentWillMount() {\r\n this.setDefaultStates();\r\n this.getIndustryAndCartDetails();\r\n }\r\n\r\n setDefaultStates() {\r\n this.setState({\r\n cartError: true, setDataFromContext: false,\r\n showSpinner: true\r\n })\r\n }\r\n\r\n handleSetDataFromContext = () => {\r\n this.setState({ setDataFromContext: false })\r\n }\r\n\r\n isCartError = (isError) => {\r\n this.setState({ cartError: isError, validateCart: false, showSpinner: false })\r\n }\r\n\r\n handleClearCart(val) {\r\n this.setState({ clearCart: val })\r\n }\r\n\r\n handleSubmitClick = async () => {\r\n await this.setState({ showSpinner: true, validateCart: true })\r\n if (!this.state.cartError) {\r\n let contextData = this.context && this.context.existingState ? this.context.existingState.crpFormData : {}\r\n if (contextData.cartDetails) {\r\n let data = Object.values(contextData.cartDetails)\r\n data = data.filter(el => el.length > 0);\r\n let tmpLandscapeDetailsArr = []\r\n data.reduce((acc, currentVal) => {\r\n let tempVal = currentVal[0]\r\n let landscapeId = tempVal.landscapeId\r\n let systemsArr = currentVal;\r\n let tempSystemArr = systemsArr.map(sys => {\r\n return { ID: sys.id, IndustryId: sys.industryId }\r\n })\r\n acc = { ID: landscapeId, Systems: tempSystemArr }\r\n tmpLandscapeDetailsArr.push(acc)\r\n return acc\r\n }, [])\r\n\r\n let submitData = {\r\n RequestNumber: this.props.requestNumber,\r\n landscapeDetails: tmpLandscapeDetailsArr\r\n }\r\n const response = await postData({ serviceName: `UpdateNewCRPSytemDetails`, data: submitData });\r\n const { success, error } = await response;\r\n if (success) {\r\n this.props.showPopUp();\r\n } else {\r\n this.setState({ showErrorPopup: true, error: error, showSpinner: false })\r\n }\r\n }\r\n }\r\n }\r\n\r\n async getIndustryAndCartDetails() {\r\n const response = await getData({ serviceName: `PopulateAdvanceForm?requestNumber=${this.props.requestNumber}&advanceForm=CRP` });\r\n const { success, error, isInfo } = await response;\r\n if (success) {\r\n const { data } = response;\r\n const { Industry, CartDetails } = data;\r\n\r\n if (data && Object.keys(CartDetails).length > 0) {\r\n let industryId = '', landscapeId = '', keys = [], detailsArr = [],\r\n cartArr = [], LandscapeSpecificSys = [], LscapeMandatorySystems = {},\r\n selectedIndustryData = {}, landscapeList = [], tempSelectedDetails = {}, crpFormData = {};\r\n\r\n keys = Object.keys(CartDetails);\r\n landscapeId = keys[0];\r\n industryId = CartDetails[landscapeId][0].industryId;\r\n detailsArr = CartDetails[landscapeId].map(system => system.id)\r\n for (let landscape in CartDetails) {\r\n LandscapeSpecificSys = CartDetails[landscape].map(system => system.id)\r\n cartArr.push(...LandscapeSpecificSys)\r\n LscapeMandatorySystems[landscape] = LandscapeSpecificSys;\r\n }\r\n selectedIndustryData = Industry.find(({ ID }) => {\r\n return ID === parseInt(industryId)\r\n })\r\n landscapeList = selectedIndustryData.Landscapes;\r\n tempSelectedDetails[landscapeId] = CartDetails[landscapeId];\r\n crpFormData = {\r\n Industry: industryId,\r\n Landscape: landscapeId,\r\n cartArr: cartArr,\r\n cartDetails: { ...CartDetails },\r\n landscapeList: landscapeList,\r\n detailsArr: detailsArr,\r\n tempSelectedDetails: tempSelectedDetails,\r\n LscapeMandatorySystems: LscapeMandatorySystems,\r\n lscapeArchLink: null,\r\n lscapeDescText: null\r\n }\r\n\r\n await this.setState({\r\n showSpinner: false,\r\n industryListJson: Industry,\r\n cartDetails: { ...CartDetails },\r\n crpFormData: { ...crpFormData }\r\n });\r\n await this.context.addSelectedData({ crpFormData: { ...crpFormData } });\r\n }\r\n }\r\n else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n {(ProviderData) => {\r\n return (\r\n !!ProviderData && !!ProviderData.existingState && !!ProviderData.existingState.crpFormData &&\r\n
\r\n { this.handleClearCart(val) }} showSystemCost={true} showError={(isError) => { this.isCartError(isError) }}\r\n validateCart={this.state.validateCart} setDataFromContext={this.state.setDataFromContext} handleSetDataFromContext={this.handleSetDataFromContext}\r\n isFromCrpSapDetailsCart={true} />\r\n
\r\n )\r\n }}\r\n
\r\n
\r\n \r\n \r\n
\r\n {this.state.error && this.state.showErrorPopup && { this.setState({ showErrorPopup: false }) }} buttonPosition=\"center-button\">

{this.state.error}

}\r\n {this.state.showSpinner && }\r\n
\r\n )\r\n }\r\n}\r\n\r\nCrpSapDetailsCart.contextType = RequestContext;\r\nexport default CrpSapDetailsCart;","import React, { Component, Fragment } from \"react\";\r\nimport \"./crp-additional-details.scss\";\r\nimport { format } from \"date-fns\";\r\nimport BuildReleaseSystems from \"./buildReleaseSystems\";\r\nimport RequestProvider, { RequestContext } from \"../../../context-providers/request-provider/request-provider\";\r\nimport SignOff from './sign-off'\r\nimport CrpSapDetailsCart from './crp-sap-details-cart';\r\nimport arrowDown from '../../../assets/images/collapsable-down-black-arrow.svg';\r\nimport Tooltip from \"../../../components/tool-tip/tool-tip\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport OutsideClickAlerter from \"../../../components/outside-click-alerter/outside-click-alerter\";\r\nimport { postData } from '../../../api/api-manager';\r\n\r\nclass CRPAdditionalDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n reloadBuildReleaseData: false,\r\n showCrpSapDetailsCart: false,\r\n isHostingCloudProviderDDOpen:false,\r\n isServiceTypeDDOpen:false,\r\n hostingCloudProviderSelectedId : -1,\r\n serviceTypeSelectedIdList : [],\r\n isDropDownUpdateDisabled : true,\r\n onDDEditMode : false,\r\n showSpinner : false,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getInitialStates();\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.props.isStatusChangedOnUpdate === true) {\r\n this.getInitialStates();\r\n }\r\n }\r\n\r\n getInitialStates() {\r\n const LandscapeDetails = this.props.landscapeDetails;\r\n if (this.props.isStatusChangedOnUpdate === true) {\r\n this.handleSetReloadBuildRelease(true);\r\n this.props.setStatusChangedOnUpdate(false);\r\n }\r\n this.setState({\r\n assignmentPopup: false,\r\n data: this.props.landscapeDetails ? this.props.landscapeDetails : [],\r\n assigneeList: this.props.landscapeDetails\r\n ? this.props.landscapeDetails.AssigneeList\r\n : [],\r\n isDataChange: false,\r\n updated: {},\r\n hostingCloudProviderSelectedId : this.props.hostingCloudProvider,\r\n serviceTypeSelectedIdList : this.props.ServiceTypes,\r\n isDropDownUpdateDisabled : true,\r\n onDDEditMode : false\r\n });\r\n\r\n let tempObj = {};\r\n LandscapeDetails && LandscapeDetails.Industry.map((row, key) => {\r\n let systems = row.Systems;\r\n return systems.map(system => {\r\n tempObj = {\r\n ...tempObj,\r\n [`${row.ID}-${system.SystemID}`]: system.Assignee\r\n ? system.Assignee\r\n : \"\"\r\n };\r\n return null;\r\n });\r\n });\r\n this.setStates(tempObj);\r\n }\r\n async setStates(state) {\r\n await this.setState({\r\n ...state\r\n });\r\n }\r\n\r\n handleSetReloadBuildRelease = val => {\r\n this.setState({\r\n reloadBuildReleaseData: val\r\n })\r\n }\r\n\r\n handleShowCartDetailsClick = async () => {\r\n await this.setState({\r\n showCrpSapDetailsCart: !this.state.showCrpSapDetailsCart\r\n })\r\n this.props.reqAssignmentTabsDisplay();\r\n }\r\n toggleHostingCloudDropdown = () => this.setState({\r\n isHostingCloudProviderDDOpen : !this.state.isHostingCloudProviderDDOpen\r\n })\r\n toggleServiceTypeDropdown = () => this.setState({\r\n isServiceTypeDDOpen : !this.state.isServiceTypeDDOpen\r\n })\r\n toggleDDEditModeOn = (value) => this.setState({onDDEditMode:value})\r\n clearDDChanges = () =>{\r\n this.setState({\r\n hostingCloudProviderSelectedId : this.props.hostingCloudProvider,\r\n serviceTypeSelectedIdList : this.props.ServiceTypes,\r\n isDropDownUpdateDisabled : true,\r\n })\r\n }\r\n hostingCloudProvideDDHandler = (value) =>{\r\n this.toggleHostingCloudDropdown();\r\n this.setState({\r\n hostingCloudProviderSelectedId : value.ID\r\n })\r\n this.checkDDUpdateChanges(value.ID,this.state.serviceTypeSelectedIdList)\r\n }\r\n serviceTypeDDHandler = (value,list,selectedIds) =>{ \r\n let tempSelectedValues = [...list];\r\n if(selectedIds.includes(value.ID)){ //remove selection\r\n tempSelectedValues = tempSelectedValues.filter(item=>item.ID!=value.ID);\r\n }else{\r\n tempSelectedValues.push(value)\r\n }\r\n this.setState({\r\n serviceTypeSelectedIdList : tempSelectedValues\r\n })\r\n this.checkDDUpdateChanges(this.state.hostingCloudProviderSelectedId,tempSelectedValues)\r\n }\r\n checkDDUpdateChanges = (hostingCloudProviderSelectedId,selectServiceList) =>{\r\n if((hostingCloudProviderSelectedId !== this.props.hostingCloudProvider) || (this.props.isServiceTypeEditable && (JSON.stringify(selectServiceList) !== JSON.stringify(this.props.ServiceTypes)))){\r\n this.setState({\r\n isDropDownUpdateDisabled : false\r\n })\r\n }else{\r\n this.setState({\r\n isDropDownUpdateDisabled : true\r\n })\r\n }\r\n }\r\n closeHostingHostingCloudDropdown = () => this.setState({isHostingCloudProviderDDOpen:false})\r\n closeServiceTypeDropdown = () => this.setState({isServiceTypeDDOpen:false})\r\n hostingCloudProvider = (id,list) =>{\r\n let selectedProvider =list.find(x=>x.ID==id)\r\n let selectedProviderName = selectedProvider?selectedProvider.Name :\"\";\r\n return (\r\n \r\n
\r\n \r\n {selectedProviderName}\r\n \r\n \"arrowDown\"/\r\n
e.stopPropagation()}>\r\n
\r\n
    \r\n {\r\n list.map((value, index) => {\r\n return (\r\n
  • {this.hostingCloudProvideDDHandler(value)}}\r\n key={index}>\r\n \r\n {value.Name}\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 serviceTypeDD = (selectedList,list) =>{\r\n let selectedIds =[];\r\n let selectedServiceType = selectedList.map(item=>{\r\n selectedIds.push(item.ID)\r\n return item.Name\r\n }).join(\",\");\r\n return (\r\n \r\n
\r\n \r\n {selectedList.length>0?selectedServiceType:\"\"}\r\n {\r\n selectedServiceType.length>28 && (\r\n \r\n \r\n )\r\n }\r\n \r\n \"arrowDown\"/\r\n
e.stopPropagation()}>\r\n
\r\n
    \r\n {\r\n list.map((value, index) => {\r\n let checked = selectedIds.includes(value.ID);\r\n return (\r\n
  • {this.serviceTypeDDHandler(value,selectedList,selectedIds)}}\r\n key={index}>\r\n \r\n \r\n {value.Name}\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 updateDDValues = async (isBuildSystemChanged) =>{\r\n this.setState({showSpinner:true});\r\n let tempObj = {\r\n \"RequestNumber\":this.props.requestnumber,\r\n \"AdditionalDetails\":\r\n [{\r\n \"HostingCloudProvider\":this.state.hostingCloudProviderSelectedId,\r\n \"ServiceType\":this.state.serviceTypeSelectedIdList.map(item=>item.ID).join(\",\"),\r\n \"RequestNumber\":this.props.requestnumber\r\n }]\r\n }\r\n const response = await postData({\r\n serviceName: \"UpdateCRPAdditionalDetails\", data: tempObj\r\n });\r\n const { success, error } = await response;\r\n this.setState({showSpinner:false});\r\n if (success) {\r\n this.setState({isDropDownUpdateDisabled:true})\r\n if(this.props.reqStatusName === \"New\" || !isBuildSystemChanged){\r\n this.props.getInitialReqStates()\r\n }\r\n } else {\r\n // Error UI is not handled\r\n console.log(error)\r\n }\r\n\r\n }\r\n render() {\r\n const {\r\n plannedStartDate,\r\n plannedEndDate,\r\n deliveryMD,\r\n deliverySM,\r\n projectPOC,\r\n enableSignOff,\r\n disclaimer,\r\n crpCostDisclaimer\r\n } = this.props;\r\n let POC = projectPOC && projectPOC.split(';');\r\n POC = POC && POC.join('; ')\r\n return (\r\n \r\n {this.state.showSpinner && this.props.reqStatusName === \"New\" && }\r\n {!this.state.showCrpSapDetailsCart &&\r\n \r\n
\r\n
    \r\n
  • \r\n \r\n {format(new Date(plannedStartDate), \"dd-MMM-yyyy\")}\r\n
  • \r\n
  • \r\n \r\n {format(new Date(plannedEndDate), \"dd-MMM-yyyy\")}\r\n
  • \r\n
  • \r\n \r\n {deliveryMD}\r\n
  • \r\n
  • \r\n \r\n {deliverySM}\r\n
  • \r\n
\r\n
    \r\n
  • \r\n \r\n {POC}\r\n
  • \r\n
  • \r\n \r\n {\r\n \r\n this.props.reqStatusName !== \"New\" && !this.state.onDDEditMode ?\r\n (\r\n {this.props.HostingCloudProviderList.find(x=>x.ID==this.state.hostingCloudProviderSelectedId)?\r\n this.props.HostingCloudProviderList.find(x=>x.ID==this.state.hostingCloudProviderSelectedId).Name:\"\"}) : \r\n (\r\n \r\n {this.hostingCloudProvider(this.state.hostingCloudProviderSelectedId,this.props.HostingCloudProviderList)} \r\n \r\n )\r\n }\r\n
  • \r\n {\r\n this.props.isServiceTypeEditable && \r\n (\r\n
  • \r\n \r\n {\r\n this.props.reqStatusName !== \"New\" && !this.state.onDDEditMode ?\r\n ({this.state.serviceTypeSelectedIdList.map(item=>{\r\n return item.Name\r\n }).join(\",\")}) : \r\n (\r\n \r\n {this.serviceTypeDD(this.state.serviceTypeSelectedIdList,this.props.ServiceTypeList)} \r\n \r\n )\r\n }\r\n
  • \r\n )\r\n }\r\n \r\n
\r\n
\r\n
\r\n\r\n { this.handleSetReloadBuildRelease(val) }}\r\n showCartDetails={() => this.handleShowCartDetailsClick()}\r\n ddChanged={!this.state.isDropDownUpdateDisabled}\r\n updateDDValues={this.updateDDValues}\r\n toggleDDEditModeOn={this.toggleDDEditModeOn}\r\n clearDDChanges={this.clearDDChanges}\r\n >\r\n {\r\n this.props.reqStatusName === \"New\" && (\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n {enableSignOff !== -1 && { this.handleSetReloadBuildRelease(val) }}\r\n crpCostDisclaimer={crpCostDisclaimer}\r\n />}\r\n
\r\n }\r\n {!!this.state.showCrpSapDetailsCart &&\r\n (\r\n \r\n
\r\n
\r\n \r\n {() => {\r\n return (\r\n { this.handleShowCartDetailsClick() }}\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\nexport default CRPAdditionalDetails;","import React, { Component } from \"react\";\r\nimport \"./toast.scss\";\r\n\r\nclass Toast extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n show: true,\r\n textData: props.data,\r\n timeoutID: null\r\n }\r\n }\r\n componentDidMount() {\r\n let timer = this.showToast();\r\n this.setState({ timeoutID: timer })\r\n }\r\n componentDidUpdate(prevProps) {\r\n if (this.props.data !== prevProps.data) {\r\n clearTimeout(this.state.timeoutID);\r\n this.setState({ prev: prevProps.data, textData: this.props.data, show: true })\r\n this.showToast();\r\n }\r\n if (this.props.count) {\r\n if (this.props.count !== prevProps.count) {\r\n clearTimeout(this.state.timeoutID);\r\n this.setState({ prev: prevProps.data, textData: this.props.data, show: true })\r\n this.showToast();\r\n }\r\n }\r\n }\r\n showToast() {\r\n let timer = setTimeout(\r\n function () {\r\n this.setState({ show: false });\r\n }.bind(this), 2000\r\n );\r\n this.setState({ timeoutID: timer })\r\n }\r\n render() {\r\n return (\r\n this.state.show ?
{this.state.textData ? this.state.textData : this.props.data}
: null\r\n )\r\n }\r\n}\r\nexport default Toast;","export const downloadFile = ({ apiResponse, fileName }) => {\r\n const { success } = apiResponse\r\n let downloadResponse = true\r\n if (success) {\r\n const { data } = apiResponse\r\n let tmpUrl = data\r\n tmpUrl = tmpUrl.split(';')\r\n let contentType = tmpUrl.length > 0 ? tmpUrl[0].split(':') : []\r\n contentType = contentType.length > 0 ? contentType[1] : ''\r\n let encodedString = tmpUrl.length > 0 ? tmpUrl[1] : ''\r\n var link = document.createElement('a');\r\n link.href = `data:${contentType};base64,${encodedString}`;\r\n if (navigator.msSaveBlob) { // // IE hack; see http://msdn.microsoft.com/en-us/library/ie/hh779016.aspx\r\n var byteCharacters = atob(encodedString);\r\n var byteNumbers = new Array(byteCharacters.length);\r\n for (var i = 0; i < byteCharacters.length; i++) {\r\n byteNumbers[i] = byteCharacters.charCodeAt(i);\r\n }\r\n var byteArray = new Uint8Array(byteNumbers);\r\n var blob = new Blob([byteArray], { type: contentType });\r\n navigator.msSaveOrOpenBlob(blob, fileName);\r\n \r\n } else {\r\n link.download = fileName;\r\n link.click();\r\n \r\n }\r\n } else {\r\n downloadResponse = false\r\n }\r\n return downloadResponse\r\n};\r\n\r\nexport const downLoadXmlFile = (data,fileName) => {\r\n var blob = new Blob([data], {type: \"text/plain;charset=utf-8;\"});\r\n var anchorTag = document.createElement('a');\r\n\r\n if (navigator.msSaveBlob) { // hack // For IE: msSaveBlob needs to be used for download, As Download attribute on 'a' tag will not support in IE and Edge\r\n navigator.msSaveOrOpenBlob(blob, fileName)\r\n }\r\n else if (navigator.userAgent.search(\"Firefox\") !== -1) { // Firefox\r\n anchorTag.css({display: 'none'});\r\n document.body.appendChild(anchorTag);\r\n anchorTag.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(data));\r\n anchorTag.setAttribute('download', fileName);\r\n anchorTag.click();\r\n anchorTag.remove();\r\n\r\n } else { // Chrome\r\n anchorTag.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(data));\r\n anchorTag.setAttribute('download', fileName);\r\n anchorTag.click();\r\n anchorTag.remove();\r\n }\r\n}","import React, { Component } from \"react\";\r\nimport { format } from \"date-fns\";\r\nimport CustomSelect from \"../../../components/custom-select/custom-select\";\r\nimport CustomInput from \"../../../components/custom-input/custom-input\";\r\nimport CustomTextArea from \"../../../components/custom-textarea/custom-textarea\";\r\nimport NextButton from \"../../../components/button/nextbutton\";\r\nimport SecondaryButton from \"../../../components/button/secondary-button\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport dateFormat from \"dateformat\";\r\nimport * as Constant from \"../../../components/constants/constant\";\r\nimport { UTIL_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport \"./support-details.scss\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { addDays, subDays } from \"date-fns\";\r\nimport Tootltip from \"../../../components/tool-tip/tool-tip\";\r\nimport { validateSupportUrl, validateAmount, validateSupportFields } from \"../../../components/validators/validate\";\r\nimport { getTokenData } from \"../../../api/sessionConfig\";\r\nimport { postData, getData } from \"../../../api/api-manager\";\r\nimport Toast from \"../../../components/toast/toast\";\r\nimport { downloadFile } from \"../../../components/file-manipulations/download\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\n\r\nclass SupportDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n fortnight: null, comment: \"\", mode: \"\", amount: \"\", urlList: [], templateUsed: \"\",\r\n updatedRowData: [], showEmptyRow: false, clickedAddRow: 0, clickedUpdateBtn: 0,\r\n errorMsgs: { expectedRecovery: \"\", amount: \"\" }, isError: false, isUpdateBtnEnable: false,\r\n assignmentPopup: false, showModel: false, showCreateInvoicePopup: 0, showToast: 0, showSendInvoiceToast: 0,\r\n addUrlClicked: false, dynamicallyAddedUrl: [], isEnableAddUrl: false,\r\n multipleUrlsExist: false\r\n };\r\n this.submitData = this.submitData.bind(this);\r\n }\r\n componentWillMount() {\r\n this.getEid();\r\n this.getSupportDetails();\r\n }\r\n\r\n getEid() {\r\n let tokenData = getTokenData();\r\n let name = (tokenData && tokenData.decodedToken && tokenData.decodedToken.name) || ''\r\n let eid = (tokenData && tokenData.eid) || ''\r\n this.setState({ eid: eid, name: name })\r\n }\r\n\r\n async getSupportDetails() {\r\n const serviceName = `SupportDetails?reqNumber=${this.props.requestNumber}`;\r\n const response = await getData({ serviceName });\r\n const { success, data, error } = response;\r\n if (success) {\r\n const reqSupportData = (data.reqSupportDetails && data.reqSupportDetails[0]) || {}\r\n const recoveryStatusList = data.requestRecoveryList || []\r\n await this.setState({\r\n showSpinner: false,\r\n opportunityStatusList: data.opportunityStatusList || [],\r\n recoveryStatusList: data.recoveryStatusList || [],\r\n tableDetails: recoveryStatusList.ActualRecoveryList || [],\r\n urlList: [...reqSupportData.url],\r\n expectedRecovery: reqSupportData.expectedRecoveryAmount ? parseFloat(reqSupportData.expectedRecoveryAmount).toFixed(2) : \"0\",\r\n templateUsed: reqSupportData.templateUsed ? reqSupportData.templateUsed : \"\",\r\n storyLine: reqSupportData.storyLine ? reqSupportData.storyLine : \"\",\r\n miscInformation: reqSupportData.miscInformation ? reqSupportData.miscInformation : \"\",\r\n opportunityStatus: reqSupportData.opportunityStatusId ? reqSupportData.opportunityStatusId : \"\",\r\n recoveryStatus: reqSupportData.recoveryStatusId ? reqSupportData.recoveryStatusId : \"\",\r\n estimatedCost: reqSupportData.estimatedCost || \"\",\r\n prevData: reqSupportData,\r\n modeList: data.modeList || [],\r\n isActualRecoveryEditable: recoveryStatusList.IsActualRecoveryEditable || false,\r\n createInvoice: data.invoiceDetails && data.invoiceDetails.createInvoice,\r\n invoice: data.invoiceDetails && data.invoiceDetails.invoice ? data.invoiceDetails.invoice : \"\",\r\n invoiceTraceMsg: data.invoiceDetails && data.invoiceDetails.invoiceTraceMsg ? data.invoiceDetails.invoiceTraceMsg : \"\",\r\n isInvoicingEnabled: data.invoiceDetails && data.invoiceDetails.isInvoicingEnabled\r\n });\r\n await this.setState({\r\n prevData: {\r\n ...this.state.prevData,\r\n expectedRecoveryAmount: this.state.prevData && this.state.prevData.expectedRecoveryAmount ? this.state.prevData.expectedRecoveryAmount : \"0\",\r\n urlList: this.state.urlList,\r\n templateUsed: this.state.templateUsed,\r\n storyLine: this.state.storyLine,\r\n miscInformation: this.state.miscInformation,\r\n opportunityStatus: this.state.opportunityStatusId,\r\n recoveryStatus: this.state.recoveryStatusId,\r\n }\r\n })\r\n if (data.invoiceDetails && data.invoiceDetails.invoice) {\r\n this.props.handleSetInvoiceGUID(this.state.invoice)\r\n }\r\n if (data.invoiceDetails && data.invoiceDetails.invoiceTraceMsg) {\r\n this.props.setInvoiceTraceMsg(this.state.invoiceTraceMsg)\r\n }\r\n if (reqSupportData.url.length) {\r\n this.checkAndSetUrls();\r\n }\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n splitUserNames(index) {\r\n if (index) {\r\n const splittedUser = index.split(\".\");\r\n const userName = `${splittedUser[0][0]}${splittedUser[splittedUser.length - 1][0]}`;\r\n return userName.toUpperCase();\r\n }\r\n return ''\r\n }\r\n\r\n async handleInput(e) {\r\n let { name, value } = e.target;\r\n await this.setState({ [name]: value });\r\n let errorMsg = this.checkValidation(name, value);\r\n this.setErrorMsg(name, errorMsg);\r\n }\r\n\r\n handleChange(e) {\r\n let value = e.target.value;\r\n let name = e.target.name;\r\n this.setState({\r\n [name]: value\r\n });\r\n };\r\n\r\n checkValidation(name, value) {\r\n if (name === \"url\" || name.includes('existingUrl') || name.includes('newUrl')) {\r\n return validateSupportUrl(value);\r\n } else if (name === \"amount\" || name === \"expectedRecovery\") {\r\n return validateAmount(value);\r\n } else {\r\n return validateSupportFields(value);\r\n // return false\r\n }\r\n }\r\n\r\n async setErrorMsg(name, errorMsg) {\r\n if (errorMsg) {\r\n this.setState({\r\n ...this.state, errorMsgs: {\r\n ...this.state.errorMsgs, [name]: errorMsg\r\n },\r\n })\r\n }\r\n else {\r\n this.setState({\r\n ...this.state, errorMsgs: { ...this.state.errorMsgs, [name]: \"\" }\r\n })\r\n }\r\n let haveErrorsFlag = Object.values(this.state.errorMsgs).filter(function (error) {\r\n return error ? true : false\r\n })\r\n if (haveErrorsFlag.length > 0) {\r\n this.setState({ isError: true })\r\n } else {\r\n this.setState({ isError: false })\r\n }\r\n await this.isDataUpdated();\r\n }\r\n\r\n async addRow() {\r\n const { fortnight, amount, comment, eid, name, errorMsgs, mode } = this.state;\r\n if (fortnight && amount !== \"\" && comment !== \"\" && mode !== \"\" && errorMsgs.amount === \"\") {\r\n let updatedRow = {\r\n \"ID\": null,\r\n \"RequestNumber\": this.props.requestNumber,\r\n \"RecoveryFortnight\": dateFormat(fortnight, \"isoDate\"),\r\n \"RecoveryAmount\": amount,\r\n \"Comments\": comment,\r\n \"Mode\": parseInt(mode),\r\n \"CreatedBy\": eid,\r\n \"CreatedByEmail\": `${eid}@accenture.com`,\r\n \"CreatedByName\": name,\r\n \"CreatedDate\": dateFormat(new Date(), \"isoDate\"),\r\n \"IsActive\": true\r\n }\r\n this.setState({\r\n tableDetails: [...this.state.tableDetails, updatedRow],\r\n updatedRowData: [...this.state.updatedRowData, updatedRow],\r\n fortnight: null, comment: \"\", amount: \"\", mode: \"\", clickedAddRow: 0, clickedUpdateBtn: 0\r\n })\r\n await this.getTotalCost();\r\n }\r\n await this.isDataUpdated();\r\n }\r\n\r\n getTotalCost = () => {\r\n let grandTotal = null, balance = 0, expectedRecovery = this.state.expectedRecovery;\r\n const validAmountData = this.state.amount !== \"\" && this.state.errorMsgs.amount === \"\",\r\n validExpectedRecovery = this.state.errorMsgs.expectedRecovery === \"\"\r\n\r\n if (!validExpectedRecovery) {\r\n expectedRecovery = 0\r\n }\r\n if (this.state.tableDetails && this.state.tableDetails.length > 0) {\r\n grandTotal = this.state.tableDetails && this.state.tableDetails.reduce((innerAcc, currentInnerVal) => {\r\n return innerAcc + parseFloat(currentInnerVal.RecoveryAmount)\r\n }, 0)\r\n }\r\n if (grandTotal !== null) {\r\n if (validAmountData) {\r\n grandTotal += parseFloat(this.state.amount)\r\n }\r\n balance = expectedRecovery - grandTotal\r\n return parseFloat(balance).toFixed(2);\r\n } else {\r\n if (validAmountData) {\r\n balance = expectedRecovery - this.state.amount\r\n return parseFloat(balance).toFixed(2);\r\n }\r\n if (this.state.expectedRecovery !== \"\" && validExpectedRecovery) {\r\n balance = this.state.expectedRecovery\r\n }\r\n return balance\r\n }\r\n }\r\n\r\n async handleDate(date) {\r\n let currentDate = new Date(date);\r\n let lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);\r\n let num = lastDay.getDate();\r\n if (currentDate.getDate() <= 15) {\r\n await this.setState({ fortnight: currentDate.setDate(15) })\r\n } else {\r\n await this.setState({ fortnight: currentDate.setDate(num) })\r\n }\r\n this.isDataUpdated();\r\n }\r\n\r\n async handleRemove(e) {\r\n const { eid, name } = this.state;\r\n const removeitem = e.target.getAttribute(\"removeitem\")\r\n let tempArray = this.state.tableDetails;\r\n let deletedItem = this.state.tableDetails[removeitem]\r\n tempArray.splice(removeitem, 1);\r\n this.setState({ tableDetails: tempArray });\r\n let updatedRow = {\r\n \"ID\": deletedItem.ID,\r\n \"RequestNumber\": this.props.RequestNumber,\r\n \"RecoveryFortnight\": dateFormat(deletedItem.RecoveryFortnight, \"isoDate\"),\r\n \"RecoveryAmount\": deletedItem.RecoveryAmount,\r\n \"Comments\": deletedItem.Comments,\r\n \"Mode\": deletedItem.ModeId,\r\n \"CreatedBy\": eid,\r\n \"CreatedByEmail\": `${eid}@accenture.com`,\r\n \"CreatedByName\": name,\r\n \"CreatedDate\": dateFormat(new Date(), \"isoDate\"),\r\n \"IsActive\": false\r\n }\r\n await this.setState({\r\n updatedRowData: [...this.state.updatedRowData, updatedRow]\r\n })\r\n await this.isDataUpdated();\r\n }\r\n\r\n handleEmptyRow = () => {\r\n if (this.state.fortnight !== null || this.state.comment !== \"\" || this.state.amount !== \"\" || this.state.mode !== \"\") {\r\n this.setState({ fortnight: null, comment: \"\", amount: \"\", mode: \"\", errorMsgs: { amount: \"\" } });\r\n this.isDataUpdated();\r\n } else {\r\n this.setState({ showEmptyRow: false, clickedAddRow: 0 });\r\n }\r\n }\r\n\r\n async handleUpdateClick() {\r\n const { fortnight, comment, amount, clickedUpdateBtn, mode } = this.state\r\n if (this.state.isUpdateBtnEnable && !this.state.isError) {\r\n if ((fortnight !== null || comment !== \"\" || amount !== \"\" || mode !== \"\")\r\n && !(fortnight !== null && comment !== \"\" && amount !== \"\" && mode !== \"\")\r\n ) {\r\n await this.setState({ clickedUpdateBtn: clickedUpdateBtn + 1 })\r\n } else {\r\n await this.addRow();\r\n await this.submitData()\r\n }\r\n }\r\n }\r\n\r\n isDataUpdated = () => {\r\n const { opportunityStatus, recoveryStatus, templateUsed, amount, fortnight, comment, mode, errorMsgs,\r\n storyLine, miscInformation, updatedRowData, expectedRecovery, prevData } = this.state\r\n\r\n if ((prevData.opportunityStatusId !== parseInt(opportunityStatus) && opportunityStatus !== \"\")\r\n || (prevData.recoveryStatusId !== parseInt(recoveryStatus) && recoveryStatus !== \"\")\r\n || prevData.templateUsed !== templateUsed\r\n || prevData.storyLine !== storyLine\r\n || this.isUrlListUpdated()\r\n || prevData.miscInformation !== miscInformation\r\n || parseFloat(prevData.expectedRecoveryAmount).toFixed(2).toString() !== parseFloat(expectedRecovery).toFixed(2).toString()\r\n || updatedRowData.length > 0\r\n || (fortnight !== null && amount !== \"\" && comment !== \"\" && mode !== \"\" && errorMsgs.amount === \"\")\r\n ) {\r\n this.setState({ isUpdateBtnEnable: true })\r\n } else {\r\n this.setState({ isUpdateBtnEnable: false })\r\n }\r\n }\r\n\r\n async submitData() {\r\n this.setState({ showEmptyRow: false, showSpinner: true })\r\n const serviceName = \"saveRecovery\";\r\n\r\n let newUrlList = [...this.state.urlList, ...this.state.dynamicallyAddedUrl];\r\n\r\n newUrlList = newUrlList.filter(el => {\r\n return el !== ''\r\n })\r\n\r\n const submittedData = {\r\n requestNumber: this.props.requestNumber,\r\n url: newUrlList,\r\n expectedRecoveryAmount: this.state.expectedRecovery,\r\n templateUsed: this.state.templateUsed,\r\n storyLine: this.state.storyLine,\r\n miscInformation: this.state.miscInformation,\r\n opportunityStatus: parseInt(this.state.opportunityStatus),\r\n recoveryStatus: parseInt(this.state.recoveryStatus),\r\n requestRecovery: this.state.updatedRowData\r\n }\r\n const response = await postData({\r\n serviceName: serviceName,\r\n data: submittedData\r\n });\r\n const { success, error } = await response;\r\n if (success) {\r\n this.setState({\r\n updatedRowData: [], isUpdateBtnEnable: false, clickedAddRow: 0, clickedUpdateBtn: 0,\r\n addUrlClicked: false, dynamicallyAddedUrl: [], isEnableAddUrl: false, multipleUrlsExist: false,\r\n showSpinner: false\r\n });\r\n this.getSupportDetails();\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true });\r\n }\r\n }\r\n\r\n async handleCreateInvoice() {\r\n const { showCreateInvoicePopup } = this.state;\r\n const response = await getData({ serviceName: `GenerateInvoice?requestNumber=${this.props.requestNumber}` });\r\n const { success, data, error } = await response;\r\n if (success) {\r\n\r\n this.setState({\r\n showCreateInvoicePopup: showCreateInvoicePopup + 1,\r\n createInvoice: true,\r\n invoice: data.message\r\n })\r\n if (!!data.message) {\r\n this.props.handleSetInvoiceGUID(data.message)\r\n }\r\n this.getSupportDetails();\r\n\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true });\r\n }\r\n }\r\n\r\n handleView = (invoice) => {\r\n this.props.showViewInvoice(invoice);\r\n };\r\n\r\n async handleDownload() {\r\n const { showToast } = this.state;\r\n this.setState({ showSpinner: true })\r\n const response = await getData({ apiBaseUrl: UTIL_BASE_URL, serviceName: `Download?guid=${this.state.invoice}` });\r\n const downloadResponse = downloadFile({ apiResponse: response, fileName: `Invoice ${this.props.requestNumber}.pdf` })\r\n const { error } = response\r\n if (downloadResponse) {\r\n this.setState({\r\n showToast: showToast + 1,\r\n toastText: 'Invoice downloaded successfully !',\r\n showSpinner: false\r\n })\r\n } else {\r\n this.setState({\r\n error: error,\r\n showSpinner: false\r\n })\r\n }\r\n }\r\n\r\n checkAndSetUrls = () => {\r\n if (this.state.urlList.length === 1) {\r\n this.setState({\r\n isEnableAddUrl: true\r\n })\r\n } else if (this.state.urlList.length > 1) {\r\n this.setState({\r\n multipleUrlsExist: true,\r\n isEnableAddUrl: true\r\n })\r\n }\r\n }\r\n\r\n handleAddUrlClick = async () => {\r\n let temp = [...this.state.dynamicallyAddedUrl];\r\n temp.push(\"\");\r\n await this.setState({\r\n addUrlClicked: true,\r\n dynamicallyAddedUrl: [...temp],\r\n isEnableAddUrl: false\r\n })\r\n }\r\n\r\n handleUrlChange = async (e, type) => {\r\n let name = e.target.name,\r\n value = e.target.value,\r\n dublicateErr = '';\r\n\r\n let extractKey = name.slice(-1);\r\n\r\n if (type === 'exist') {\r\n let urlArray = [...this.state.urlList];\r\n urlArray[extractKey] = value;\r\n await this.setState({\r\n urlList: [...urlArray]\r\n });\r\n\r\n } else {\r\n let urlArray = [...this.state.dynamicallyAddedUrl];\r\n urlArray[extractKey] = value;\r\n await this.setState({\r\n dynamicallyAddedUrl: [...urlArray]\r\n });\r\n }\r\n\r\n let allUrls = [...this.state.urlList, ...this.state.dynamicallyAddedUrl];\r\n\r\n let dublicateUrlArr = allUrls.filter(el => {\r\n return value === el && el !== '';\r\n })\r\n\r\n if (dublicateUrlArr.length > 1) {\r\n dublicateErr = \"Same URL cannot be added\"\r\n }\r\n\r\n let errorMsg = this.checkValidation(name, value) || dublicateErr;\r\n await this.setErrorMsg(name, errorMsg);\r\n this.enableDisableAddUrl(type, errorMsg);\r\n }\r\n\r\n handleUrlDelete = async (e, type) => {\r\n let extractKey = (e.target.id).slice(-1);\r\n\r\n if (type === 'exist') {\r\n let urlArray = [...this.state.urlList];\r\n urlArray.splice(extractKey, 1);\r\n\r\n await this.setState({\r\n errorMsgs: {\r\n ...this.state.errorMsgs, [`existingUrl${extractKey}`]: ''\r\n },\r\n urlList: [...urlArray],\r\n isError: false\r\n });\r\n\r\n } else {\r\n let urlArray = [...this.state.dynamicallyAddedUrl];\r\n urlArray.splice(extractKey, 1);\r\n\r\n await this.setState({\r\n errorMsgs: {\r\n ...this.state.errorMsgs, [`newUrl${extractKey}`]: ''\r\n },\r\n dynamicallyAddedUrl: [...urlArray],\r\n isError: false\r\n });\r\n }\r\n\r\n await this.isDataUpdated();\r\n this.enableDisableAddUrl(type);\r\n }\r\n\r\n enableDisableAddUrl = (type, errorMsg = '') => {\r\n let allUrls = [...this.state.urlList, ...this.state.dynamicallyAddedUrl]\r\n\r\n let emptyFieldArr = allUrls.filter(el => {\r\n return el === '';\r\n });\r\n\r\n if (emptyFieldArr.length > 0 || errorMsg !== '') {\r\n this.setState({\r\n isEnableAddUrl: false\r\n })\r\n } else {\r\n this.setState({\r\n isEnableAddUrl: true\r\n })\r\n }\r\n }\r\n\r\n isUrlListUpdated = () => {\r\n if (this.state.urlList && this.state.prevData.urlList && this.state.dynamicallyAddedUrl) {\r\n\r\n //something is coming from API\r\n if (this.state.prevData.urlList.length !== 0) {\r\n\r\n //checked if urlList is chnaged or not\r\n let currentUrlList = [...this.state.urlList];\r\n let prevUrlList = [...this.state.prevData.urlList];\r\n\r\n let exactUrlArr = currentUrlList.filter((currUrl) => {\r\n return prevUrlList.some((prevUrl) => {\r\n return (currUrl === prevUrl ? true : false)\r\n })\r\n })\r\n\r\n if (exactUrlArr.length !== prevUrlList.length) return true;\r\n\r\n //if dynamically Added Urls are there, check if they are all empty or not\r\n if (this.state.dynamicallyAddedUrl.length > 0) {\r\n let newlyAddedUrlArr = this.state.dynamicallyAddedUrl.filter(el => {\r\n return el !== '';\r\n })\r\n return (newlyAddedUrlArr.length > 0) ? true : false;\r\n } else return false;\r\n\r\n } else {\r\n // if initially url list was empty has any value been added, that is not null?\r\n if (this.state.urlList.length > 0 && !this.state.urlList.includes('')) return true;\r\n\r\n //if dynamically Added Urls are there, check if they are all empty or not\r\n if (this.state.dynamicallyAddedUrl.length > 0) {\r\n let newlyAddedUrlArr = this.state.dynamicallyAddedUrl.filter(el => {\r\n return el !== '';\r\n })\r\n return (newlyAddedUrlArr.length > 0) ? true : false;\r\n } else return false;\r\n }\r\n\r\n } else return false;\r\n }\r\n\r\n // sendInvoice() {\r\n // this.setState({ showModel: true });\r\n // }\r\n\r\n async handleSendInvoice() {\r\n const { showSendInvoiceToast } = this.state\r\n const response = await postData({ serviceName: `SendInvoice?invoiceGuid=${this.state.invoice}` });\r\n const { success, data, error } = await response;\r\n if (success) {\r\n this.setState({\r\n showModel: false,\r\n showSendInvoiceToast: showSendInvoiceToast + 1,\r\n invoiceTraceMsg: data.reasonPhrase\r\n })\r\n if (!!data.reasonPhrase) {\r\n this.props.setInvoiceTraceMsg(data.reasonPhrase)\r\n }\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true });\r\n }\r\n }\r\n\r\n async addEmptyRow() {\r\n await this.addRow();\r\n await this.setState({ showEmptyRow: true, clickedAddRow: this.state.clickedAddRow + 1 })\r\n }\r\n\r\n getName = (id, statusList) => {\r\n let filtered = []\r\n filtered = statusList && statusList.filter(function ({ ID }) {\r\n return ID === id\r\n })\r\n if (filtered && filtered.length > 0) {\r\n return filtered[0].Name\r\n }\r\n return ''\r\n }\r\n componentDidUpdate(prevProps) {\r\n if (this.props.closeValidationStatus !== prevProps.closeValidationStatus) {\r\n this.setValidationErrorMsg();\r\n }\r\n if (this.props.requestNumber !== prevProps.requestNumber) {\r\n this.getSupportDetails();\r\n }\r\n }\r\n setValidationErrorMsg() {\r\n let tempObj = {}\r\n this.props.closeValidationStatus && this.props.closeValidationStatus.errorKeys.map((item) => {\r\n tempObj = { ...tempObj, [item === \"expectedRecoveryAmount\" ? \"expectedRecovery\" : item]: \"This is a required field.\" }\r\n return null;\r\n })\r\n this.setState({ ...this.state, errorMsgs: tempObj })\r\n }\r\n render() {\r\n let { opportunityStatusList, recoveryStatusList, opportunityStatus, isUpdateBtnEnable, isActualRecoveryEditable,\r\n recoveryStatus, templateUsed, storyLine, urlList, miscInformation, fortnight, isError, showEmptyRow,\r\n comment, amount, eid, estimatedCost, expectedRecovery, tableDetails, errorMsgs, mode, modeList, createInvoice, invoice,\r\n isInvoicingEnabled } = this.state;\r\n return (\r\n
\r\n \r\n
\r\n

Recovery Information

\r\n
\r\n
\r\n \r\n

{estimatedCost}

\r\n
\r\n
\r\n
\r\n \r\n this.handleInput(e)} />\r\n \r\n
\r\n
\r\n
\r\n \r\n this.handleInput(e)} />\r\n {errorMsgs.expectedRecovery && {errorMsgs.expectedRecovery}}\r\n \r\n
\r\n
\r\n
\r\n

Actual Recovery

\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 {tableDetails && !tableDetails.length && !showEmptyRow && }\r\n {tableDetails && tableDetails.map((item, key) => {\r\n return (item.IsActive && \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n {showEmptyRow && \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
FortnightCommentModeAdded byAmountAction
No actual recovery information listed. Click +ROW to add.
{format(new Date(item.RecoveryFortnight), \"dd-MMM-yyyy\")}{item.Comments}{this.getName(item.ModeId || item.Mode, modeList)}{this.splitUserNames(item.CreatedBy)}\r\n {item.CreatedBy}

}>
$ {parseFloat(item.RecoveryAmount).toFixed(2)} \"remove\" { this.handleRemove(e) }} />
this.handleDate(date)}\r\n minDate={subDays(new Date(), 60)}\r\n maxDate={addDays(new Date(), 100)}\r\n dateFormat=\"dd-MMM-yyyy\"\r\n placeholderText=\"Select Date\" autoComplete=\"off\"\r\n onChangeRaw={(e) => { e.preventDefault(); }}\r\n />\r\n \r\n this.handleInput(e)} />\r\n {errorMsgs.comment && {errorMsgs.comment}

}>
}\r\n
\r\n this.handleInput(e)} selected_value={mode} />\r\n {this.splitUserNames(eid)}\r\n {eid}

}>
\r\n this.handleInput(e)} />\r\n {errorMsgs.amount && {errorMsgs.amount}

}>
}\r\n
\"remove\"

+ this.addEmptyRow()}>Row

Balance Amount${this.getTotalCost()}
\r\n
\r\n
\r\n {this.state.clickedAddRow > 1 && }\r\n {this.state.clickedUpdateBtn > 0 && }\r\n {this.state.showCreateInvoicePopup > 0 &&
}\r\n {(this.state.showSendInvoiceToast > 0 && !!this.state.invoiceTraceMsg) &&
}\r\n {this.state.showToast > 0 && }\r\n\r\n {isInvoicingEnabled && !!invoice &&\r\n \r\n }\r\n {isInvoicingEnabled && !!invoice && }\r\n {isInvoicingEnabled && !!invoice &&\r\n \r\n }\r\n {isInvoicingEnabled && !!invoice && \"invoice-log-disable\"}\r\n this.handleUpdateClick()} disabled={!(isUpdateBtnEnable && !isError)}>\r\n {isInvoicingEnabled && this.handleCreateInvoice()} label={!!invoice ? \"RECREATE INVOICE\" : \"CREATE INVOICE\"}>}\r\n {this.state.showSpinner && }\r\n
\r\n {this.state.error && { this.setState({ showErrorPopup: false }) }}>\r\n

{this.state.error}

}\r\n {this.state.showSpinner && }\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default SupportDetails;","import { getTokenData } from \"../../../api/sessionConfig\";\r\nimport { moment } from \"./request-assignment-import\";\r\nimport _ from \"lodash\" ;\r\nimport { validateComment, validateWbs, validateServicePOC, validateClientAccountLead, validateDealSize } from \"../../../components/validators/validate\";\r\n\r\nexport const arrayUnique = array => {\r\n var a = array.concat();\r\n for (var i = 0; i < a.length; ++i) {\r\n for (var j = i + 1; j < a.length; ++j) {\r\n if (a[i].Name === a[j].Name) a.splice(j--, 1);\r\n }\r\n }\r\n return a;\r\n};\r\n\r\n\r\nexport const styledAssignStatus = status => {\r\n let color = \"orange\";\r\n switch (status) {\r\n case \"New\":\r\n color = \"orange\";\r\n break;\r\n case \"Assigned\":\r\n color = \"green\";\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n return color;\r\n};\r\n\r\nexport const loadComponentDetails = (evt, formName) => {\r\n let i, tabcontent, tablinks;\r\n tabcontent = document.getElementsByClassName(\"tabcontent\");\r\n for (i = 0; i < tabcontent.length; i++) {\r\n tabcontent[i].style.display = \"none\";\r\n }\r\n tablinks = document.getElementsByClassName(\"tablinks\");\r\n for (i = 0; i < tablinks.length; i++) {\r\n tablinks[i].className = tablinks[i].className.replace(\" active\", \"\");\r\n }\r\n if (document.getElementById(formName)) {\r\n document.getElementById(formName).style.display = \"block\";\r\n if (evt != null) {\r\n if (formName === \"AttachmentDetails\") {\r\n document.getElementById(\"attachment\").className += \" active\";\r\n } else if (formName === \"SupportDetails\") {\r\n document.getElementById(\"support\").className += \" active\";\r\n }else if(formName === \"SolutioningDetails\"){\r\n document.getElementById(\"SolutioningDetails\").className += \" active\";\r\n } \r\n else {\r\n evt.currentTarget.className += \" active\";\r\n }\r\n }\r\n else {\r\n if (formName === \"SupportDetails\") {\r\n document.getElementById(\"support\").className += \" active\";\r\n } else {\r\n document.getElementById(\"crp\").className += \" active\";\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport const initialStates = () => {\r\n return {\r\n checked: false, activeTabName: \"Basic\", showHelpBox: false,\r\n validatedWbsArray: [], createIncident: false, hideReqAssignmentTabs: false,\r\n sdmList: [], notifyUser: false,\r\n servicePOCList: [], sdmServicePocList: [],\r\n Status: [], comment: \"\", error: \"\",\r\n formErrors: {\r\n wbsError: \"\",\r\n opportunityIDError: \"\",\r\n commentError: \"\",\r\n clientAccountLeadError: \"\",\r\n servicePocError: \"\",\r\n interactionScenarioError: \"\"\r\n },\r\n showErrorPopup: false, showSpinner: false, isDataNotUpdated: false,\r\n assignmentPopup: false, CRPAdditional: {}, crptest: {},\r\n requestData: {}, openAttachmentDetails: false,\r\n initialAttachmentCnt: 0,\r\n reloadAllData: false,\r\n ValidationModalAction: false, sendData: false,\r\n closeValidationData: {},\r\n canReassignRequest: undefined,\r\n SelectedServiceID: undefined\r\n };\r\n}\r\nexport const navigate = (event, validationData) => {\r\n const goToAttachment = validationData && validationData.attachmentDetails && validationData.attachmentDetails.isValid;\r\n const goToSupport = validationData && validationData.supportDetails && validationData.supportDetails.isValid;\r\n const goToBasic = validationData && validationData.basic && validationData.basic.isValid;\r\n if (!goToBasic) {\r\n loadComponentDetails(\r\n event,\r\n \"Basic\"\r\n );\r\n }\r\n else if (!goToAttachment) {\r\n loadComponentDetails(\r\n event,\r\n \"AttachmentDetails\"\r\n );\r\n }\r\n else if (!goToSupport) {\r\n loadComponentDetails(\r\n event,\r\n \"SupportDetails\"\r\n );\r\n }\r\n}\r\n\r\nexport const getStatusName = (id, statusList) => {\r\n const filtered = statusList.filter(function ({ ID }) {\r\n return ID.toString() === id.toString()\r\n })\r\n if (filtered.length > 0) {\r\n return filtered[0].Name\r\n }\r\n return ''\r\n}\r\nexport const getStatusID = (name, statusList) => {\r\n const filtered = statusList.filter(function ({ Name }) {\r\n return Name === name\r\n })\r\n if (filtered.length > 0) {\r\n return filtered[0].ID\r\n }\r\n return ''\r\n}\r\n\r\nexport const checkIsUserExist = (personsList, eid) => {\r\n let userData = personsList && personsList.filter(function ({ Name }) {\r\n return Name === eid;\r\n });\r\n return userData && userData.length > 0 ? true : false;\r\n}\r\nexport const hasAssignmentRight = assignRights => {\r\n let personsList = assignRights;\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || \"\";\r\n let checkEmail = personsList && personsList.filter(function ({ Name }) {\r\n return Name === eid;\r\n });\r\n return checkEmail && checkEmail.length > 0 ? true : false;\r\n}\r\n\r\nexport const splitCoeContact = coe => {\r\n if (coe) {\r\n const splittedCoe = coe.split(\".\");\r\n const coePoc = `${splittedCoe[0][0]}${splittedCoe[splittedCoe.length - 1][0]}`;\r\n return coePoc.toUpperCase();\r\n }\r\n return ''\r\n}\r\n\r\nexport const getCloseReqValidationMsg = errors => {\r\n let errorMsg = []\r\n if (!!errors && typeof errors === 'object') {\r\n errorMsg = []\r\n Object.values(errors).reduce((acc, currentVal) => {\r\n if (!currentVal.isValid) {\r\n errorMsg = [...errorMsg, currentVal.errorMessage]\r\n }\r\n return null\r\n }, [])\r\n errorMsg = errorMsg.length > 0 ? errorMsg.reverse() : []\r\n }\r\n return errorMsg\r\n}\r\n\r\nexport const setBasicTabErrors = validationData => {\r\n let errorMsg = {}\r\n validationData && validationData.errorKeys.map((item) => {\r\n errorMsg = { ...errorMsg, [`${item}Error`]: \"This is a required field.\" }\r\n return null;\r\n })\r\n return errorMsg\r\n}\r\n\r\nexport const stateByResponse = response => {\r\n const { success, data, error, isInfo } = response;\r\n let states = {}\r\n if (success) {\r\n states = {\r\n requestData: { ...data[0], demoDate: new Date(data[0].demoDate), dealSize: !!data[0].dealSize ? data[0].dealSize.toString() : \"\" },\r\n requestID: data[0].requestID,\r\n reqType: data[0].reqType,\r\n comments: data[0].comments,\r\n servicePoc: data[0].servicePOC || \"\",\r\n reqStatus: data[0].reqStatusId || \"\",\r\n reqStatusName: data[0].reqStatus || \"\",\r\n isEditable: data[0].isEditable,\r\n isAssetsVisible: data[0].isAssetsVisible,\r\n isIgnoreWBSValidation:data[0].isIgnoreWBSValidation,\r\n clientName: data[0].clientName || \"\",\r\n isWbseRequired:data[0].isWbseRequired,\r\n wbsValidationList:data[0].wbsValidationList || [],\r\n isDealSizeEditable: data[0].isDealSizeEditable,\r\n opportunityID: data[0].opportunityID || \"\",\r\n dealSize: !!data[0].dealSize ? data[0].dealSize.toString() : \"\",\r\n clientAccountLead: data[0].clientAccountLead || \"\",\r\n clientDemoDate: new Date(data[0].demoDate),\r\n technology: data[0].technology || \"\",\r\n technologyList: data[0].technologyList || [],\r\n projectPhase: data[0].projectPhase || \"\",\r\n marketUnit: data[0].marketUnit || \"\",\r\n industryGroup: data[0].industryGroup || \"\",\r\n typeOfService_DR: data[0].typeOfService_DR || \"\",\r\n functionalArea: data[0].functionalArea || \"\",\r\n assetTypes: data[0].assetTypes || [],\r\n assetTypeList: data[0].assetTypeList || [],\r\n transformationType:data[0].transformationType||\"\",\r\n canApproveRequest: data[0].canApproveRequest,\r\n canGetAttachments: true,\r\n initialAttachmentCnt: 0,\r\n showSpinner: false,\r\n isValidationEnabled: data[0].isValidationEnabled,\r\n sdm: data[0].sdm || \"\",\r\n wbs: data[0].wbs || \"\",\r\n showSupportDetails: data[0].showSupportDetails,\r\n enableComment: data[0].isCommentsEditable || false,\r\n comment: \"\",\r\n canReassignRequest: data[0].ownerShipTransfer || false,\r\n isSMEService: data[0].isSMEService,\r\n scenario: data[0].scenario,\r\n isServiceEditable: data[0].isServiceEditable,\r\n isLinkEnable: data[0].isLinkEnable,\r\n studioLinkURL: data[0].studioLinkURL\r\n }\r\n } else {\r\n states = { error: error, isInfo, showErrorPopup: true };\r\n }\r\n return states\r\n}\r\n\r\nexport const enableUpdateButton = (state) => {\r\n const DemoD = moment(state.requestData.demoDate);\r\n const CliDate = moment(state.clientDemoDate);\r\n if (\r\n (state.opportunityID !== state.requestData.opportunityID) ||\r\n (state.sdm !== state.requestData.sdm) ||\r\n (state.wbs !== state.requestData.wbs) ||\r\n (state.servicePoc !== state.requestData.servicePOC) ||\r\n !(state.dealSize !== undefined ? state.dealSize === state.requestData.dealSize : true) ||\r\n (state.clientAccountLead !== state.requestData.clientAccountLead) ||\r\n (state.technology !== state.requestData.technology) ||\r\n (state.projectPhase !== state.requestData.projectPhase) ||\r\n !(state.marketUnit !== undefined ? parseInt(state.marketUnit.value) === parseInt(state.requestData.marketUnit.value) : true) ||\r\n (state.industryGroup !== state.requestData.industryGroup) ||\r\n (state.functionalArea !== state.requestData.functionalArea) ||\r\n (state.transformationType!== state.requestData.transformationType)||\r\n (state.typeOfService_DR!== state.requestData.typeOfService_DR)||\r\n (!_.isEqual(state.assetTypes,state.requestData.assetTypes)&&state.assetTypes.length>0)||\r\n (CliDate.format(\"DD-MMM-YYYY\") !== DemoD.format(\"DD-MMM-YYYY\")) ||\r\n (state.reqStatus !== state.requestData.reqStatusId) ||\r\n (state.reqType !== state.requestData.reqType) ||\r\n (state.scenario !== state.requestData.scenario) ||\r\n\r\n state.comment\r\n \r\n \r\n ) \r\n return true;\r\n // else{ return false;}\r\n \r\n}\r\n\r\n\r\nexport const validateAndSetStates = (state) => {\r\n let isError = false;\r\n let formErrors = {}\r\n if(state.isAssetTypeVisible){\r\n if(state.assetTypes.length === 0){\r\n isError = true;\r\n formErrors ={\r\n ...formErrors,\r\n assetTypeError : \"This is a required field\"\r\n }\r\n }\r\n }\r\n if (state.isSMEService) {\r\n const isSMESvcPOCValid = validateServicePOC(state.servicePoc);\r\n if (isSMESvcPOCValid !== \"\") {\r\n isError = true;\r\n formErrors = {\r\n ...formErrors,\r\n servicePocError: 'Please enter valid enterprise Id without domain'\r\n }\r\n }\r\n }\r\n\r\n //check if requestStatus is other than new, make servicePOC mandatory. \r\n //exception for NEW status: 1)request assigned to person, who is not part of SPOC group now. 2) Awaiting Approval status. Here might be SPOC is not exist\r\n\r\n if (!!state.StatusList && state.StatusList.length > 0) {\r\n let statusName = getStatusName(state.reqStatus, state.StatusList);\r\n let statusExclude = ['New', 'Approved', 'Awaiting Approval']\r\n if (!state.canApproveRequest) {\r\n if ((!state.servicePoc && !statusExclude.includes(statusName)) || (!state.isSMEService && state.servicePoc && !statusExclude.includes(statusName) && state.servicePOCList.length > 0 && !checkIsUserExist(state.servicePOCList, state.servicePoc))) {\r\n isError = true;\r\n formErrors = {\r\n ...formErrors,\r\n servicePocError: 'This field is mandatory'\r\n }\r\n }\r\n }\r\n }\r\n\r\n const isClientAccountLeadIdValid = validateClientAccountLead(state.clientAccountLead.toLowerCase());\r\n if (isClientAccountLeadIdValid !== \"\") {\r\n isError = true;\r\n formErrors = {\r\n ...formErrors,\r\n clientAccountLeadError: 'Invaild Email Id.'\r\n }\r\n }\r\n\r\n const isDealSizeValid = validateDealSize(state.dealSize);\r\n if (isDealSizeValid !== \"\") isError = true;\r\n\r\n // const isOpportunityIdValid = validateOppurtunity(state.opportunityID);\r\n //if (state.opportunityID !== \"\") isError = true;\r\n \r\n // if (!state.opportunityID) isError = true;\r\n console.log(\"WBSisRequired:\",state.isWbseRequired)\r\n\r\n const isWbsValid = validateWbs(state.wbs);\r\n if (isWbsValid !== \"\") isError = true;\r\n if (state.validWBS === false) isError = true;\r\n if (!!state.isWbseRequired && !state.isIgnoreWBSValidation && state.wbs === '' ) {\r\n formErrors = { \r\n ...formErrors,\r\n wbsError: 'WBS is required field.'\r\n }\r\n isError = true;\r\n }\r\n else if(!!state.isWbseRequired && !!state.isIgnoreWBSValidation && state.wbs === ''){\r\n if(!((_.isEqual(state.functionalArea.toUpperCase() ,state.wbsValidationList[2].keyValue.toUpperCase()) )&&\r\n (_.isEqual(state.clientName.toUpperCase() ,state.wbsValidationList[0].keyValue.toUpperCase()) )&&\r\n (_.isEqual(state.projectPhase.toUpperCase() ,state.wbsValidationList[1].keyValue.toUpperCase()) ))){\r\n formErrors = { \r\n ...formErrors,\r\n wbsError: 'WBS is required field.'\r\n }\r\n isError = true;\r\n\r\n }\r\n\r\n \r\n\r\n }\r\n // if(state.requestData.wbs !== '' && state.wbs === ''){\r\n // formErrors = { \r\n // ...formErrors,\r\n // wbsError: 'WBS is required field34.'\r\n // }\r\n // isError = true;\r\n\r\n // }\r\n\r\n \r\n \r\n const isCommentValid = validateComment(state.comment);\r\n if (isCommentValid !== \"\") isError = true;\r\n if (!!state.canApproveRequest && (state.reqAccept === 'reject' && (!state.comment || state.comment === ''))) {\r\n formErrors = {\r\n ...formErrors,\r\n commentError: 'Please add reason for reject request.'\r\n }\r\n isError = true\r\n }\r\n if (!!state.canApproveRequest && (state.reqAccept === 'accept' && (!state.comment || state.comment === ''))) {\r\n formErrors = {\r\n ...formErrors,\r\n commentError: 'Please add reason for approve request.'\r\n }\r\n isError = true\r\n }\r\n if (state.serviceList && state.serviceList.length > 0) {\r\n let type = state.reqType\r\n let scenarioType = state.scenario\r\n\r\n let serviceObj = state.serviceList.find(function (service) {\r\n return service.Name === type;\r\n })\r\n if (!!serviceObj && serviceObj.Options !== null) {\r\n const scenarioId = getStatusID(scenarioType, serviceObj.Options.Items)\r\n if (scenarioId === '') {\r\n formErrors = {\r\n ...formErrors,\r\n interactionScenarioError: 'This is a required field'\r\n }\r\n isError = true\r\n }\r\n }\r\n }\r\n if (!!state.technology && state.reqType === '' && !!state.isServiceEditable) {\r\n formErrors = {\r\n ...formErrors,\r\n serviceError: 'This is the required field'\r\n }\r\n isError = true;\r\n }\r\n\r\n return {\r\n isError,\r\n formErrors\r\n }\r\n}","const validExtensions = [\"jpg\", \"jpeg\", \"png\", \"txt\", \"pptx\", \"ppt\", \"pdf\", \"docx\", \"doc\", \"xlsx\", \"csv\", \"xls\", \"svg\", \"html\", \"txt\"]\r\n\r\nexport const checkValidFile = (e, fileData) => {\r\n let isError = false\r\n let errorMessage = ''\r\n if (e.target.files[0]) {\r\n const name = e.target.files[0].name;\r\n const lastDot = name.lastIndexOf('.');\r\n let ext = name.substring(lastDot + 1);\r\n ext = ext.toLowerCase();\r\n let sizeErr = e.target.files[0] ? e.target.files[0].size : ''\r\n const fileSize = ((sizeErr) / 1024 / 1024)\r\n\r\n if (validExtensions.indexOf(ext) === -1) {\r\n isError = true\r\n errorMessage = \"Attachment failed due to file type not supported.\"\r\n } else if (fileSize>20) {\r\n isError = true\r\n errorMessage = \"Attachment failed due to file size limit exceeded.\"\r\n } else if (fileData.length >= 5) {\r\n isError = true\r\n errorMessage = \"Attachment limit reached, only 5 files can be attached to a request.\"\r\n } else {\r\n let sameFileExist = fileData.filter(function (file) {\r\n return file.name === name || file.fileName === name\r\n });\r\n if (sameFileExist.length > 0) {\r\n isError = true\r\n errorMessage = \"Attachment already exist.\"\r\n }\r\n }\r\n }\r\n return {\r\n isError,\r\n error: errorMessage\r\n }\r\n}","import React, { Component } from \"react\";\r\nimport * as Constant from \"../../../components/constants/constant\";\r\nimport { getTokenData } from \"../../../api/sessionConfig\";\r\nimport { fileUploadPostData, postData } from \"../../../api/api-manager\";\r\nimport dateFormat from \"dateformat\";\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport { UTIL_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport \"./attachment-details.scss\";\r\nimport Tootltip from \"../../../components/tool-tip/tool-tip\";\r\nimport CustomButton from \"../../../components/button/nextbutton\";\r\nimport Toast from \"../../../components/toast/toast\";\r\nimport { splitCoeContact } from \"./request-assignment-function\"\r\nimport { checkValidFile } from \"../../../containers/common/attachment-validation\"\r\nimport { downloadFile } from \"../../../components/file-manipulations/download\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport Modal from \"../../../components/modals/modal\";\r\n\r\nclass AttachmentDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n fileDetails: [],\r\n uploadedFiles: [],\r\n requestNumber: props.requestNumber || '',\r\n incidentNumber: props.incidentNumber || '',\r\n addNewAttachment: [],\r\n showSpinner: false,\r\n showToast: 0,\r\n removeExistingAttachmentPopUp: false,\r\n removeNewAttachmentPopUp: false,\r\n guserId: 0,\r\n fileName: '',\r\n fileIndex: 0\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || ''\r\n this.setState({\r\n eid: eid\r\n })\r\n }\r\n\r\n async componentDidUpdate() {\r\n if (this.props.requestNumber !== this.state.requestNumber) {\r\n await this.setState({\r\n requestNumber: this.props.requestNumber\r\n })\r\n }\r\n if (this.props.incidentNumber !== this.state.incidentNumber) {\r\n await this.setState({\r\n incidentNumber: this.props.incidentNumber\r\n })\r\n }\r\n if (this.props.canGetAttachments === true) {\r\n this.getAttachmentData();\r\n this.props.handleCanAttachment(false)\r\n this.setState({\r\n addNewAttachment: []\r\n })\r\n }\r\n }\r\n\r\n getUrl = () => {\r\n let url = ''\r\n if (!!this.props.requestNumber) url = `${url}requestNumber=${this.props.requestNumber}`\r\n if (!!this.props.incidentNumber) url = `${url}incidentNumber=${this.props.incidentNumber}`\r\n return url\r\n }\r\n\r\n async getAttachmentData() {\r\n let urlConcat = await this.getUrl();\r\n const response = await getData({ serviceName: `Attachment?${urlConcat}` });\r\n const { success, data, error } = await response;\r\n if (success) {\r\n let fileInfo = data.fileInfo && data.fileInfo.length > 0 ? data.fileInfo.filter(el => !el.isBulkAttachment) : [];\r\n this.setState({\r\n canShowButtons: data.enableAttachment,\r\n fileDetails: fileInfo\r\n })\r\n this.props.newlyAttachmentCount({ add: fileInfo.length })\r\n } else {\r\n this.setState({ error: error });\r\n }\r\n }\r\n async handleFile(e) {\r\n if (e.target.files[0]) {\r\n let tempObj = this.state.addNewAttachment ? this.state.addNewAttachment : []\r\n tempObj.push(e.target.files[0])\r\n await this.setState({\r\n addNewAttachment: tempObj\r\n })\r\n }\r\n }\r\n\r\n handleChange = e => {\r\n const { value } = e.target;\r\n const id = e.target.getAttribute('id')\r\n this.setState(Object.assign(this.state.addNewAttachment[id], { description: value }));\r\n };\r\n\r\n handleRemoveSpecificRow(e, idx, guid, fileName) {\r\n e.preventDefault();\r\n this.setState({\r\n uploadError: ''\r\n })\r\n this.handleRemoveItem(idx, guid, fileName)\r\n\r\n }\r\n\r\n async handleRemoveItem(idx, guid, fileName) {\r\n let tmpAddNewAttachment = this.state.addNewAttachment\r\n const str = `${fileName}`\r\n const { showToast } = this.state\r\n if (!!guid) {\r\n this.setState({\r\n showSpinner: true,\r\n })\r\n const serviceName = `fileDelete?guid=${guid}`\r\n const response = await postData({\r\n serviceName: serviceName\r\n });\r\n const { success, error } = await response;\r\n if (success) {\r\n tmpAddNewAttachment.splice(idx, 1)\r\n this.setState({\r\n addNewAttachment: tmpAddNewAttachment,\r\n [`${str}Success`]: false,\r\n })\r\n this.props.newlyAttachmentCount({ add: -1 })\r\n if (tmpAddNewAttachment.length < 5) {\r\n this.setState({\r\n error: ''\r\n })\r\n }\r\n this.setState({\r\n showToast: showToast + 1,\r\n toastText: `Attachment removed successfully !`,\r\n showSpinner: false,\r\n removeExistingAttachmentPopUp: false,\r\n removeNewAttachmentPopUp: false\r\n\r\n })\r\n } else {\r\n this.setState({ error: error, showSpinner: false });\r\n }\r\n } else {\r\n tmpAddNewAttachment.splice(idx, 1)\r\n this.setState({ addNewAttachment: tmpAddNewAttachment })\r\n this.props.newlyAttachmentCount({ add: -1 })\r\n if (tmpAddNewAttachment.length < 5) {\r\n this.setState({\r\n error: '', showToast: showToast + 1,\r\n toastText: `Attachment removed successfully !`,\r\n removeExistingAttachmentPopUp: false,\r\n removeNewAttachmentPopUp: false\r\n },()=>{\r\n\r\n })\r\n }\r\n }\r\n }\r\n\r\n async handleDelete(e, idx, guid) {\r\n let serviceName = ''\r\n this.setState({ uploadError: '', showSpinner: true })\r\n // let urlConcat = await this.getUrl();\r\n // serviceName = `fileDelete?guid=${guid}&${urlConcat}`\r\n serviceName = `fileDelete?guid=${guid}`\r\n const { showToast } = this.state\r\n const response = await postData({ serviceName: serviceName });\r\n const { success, error } = await response;\r\n if (success) {\r\n let fileDetailsTemp = [...this.state.fileDetails]\r\n fileDetailsTemp.splice(idx, 1)\r\n this.setState({ fileDetails: fileDetailsTemp,\r\n removeExistingAttachmentPopUp: false, })\r\n if (this.state.fileDetails < 5) {\r\n this.setState({\r\n error: '',\r\n\r\n })\r\n }\r\n\r\n this.setState({\r\n showToast: showToast + 1,\r\n toastText: `Attachment removed successfully !`,\r\n error: '',\r\n showSpinner: false\r\n })\r\n this.props.newlyAttachmentCount({ add: -1 })\r\n } else {\r\n this.setState({ error: error, showSpinner: false });\r\n }\r\n }\r\n\r\n handleconfirmRemoveAttachment = async (checker, a, idx, guid, fname) => {\r\n if (checker) {\r\n await this.setState({ removeNewAttachmentPopUp: true, removeExistingAttachmentPopUp: true, fileIndex: idx, guserId: guid, fileName: fname, e: a });\r\n }\r\n else {\r\n await this.setState({ removeExistingAttachmentPopUp: true, fileIndex: idx, guserId: guid, e: a });\r\n }\r\n }\r\n\r\n async uploadData({ data, id, fileName }) {\r\n let str = `${fileName}`\r\n const response = await fileUploadPostData({\r\n serviceName: \"Upload\",\r\n data: data\r\n });\r\n const { success, error } = response;\r\n\r\n if (success) {\r\n await this.setState({\r\n [`${str}Success`]: true,\r\n error: \"\",\r\n });\r\n await this.setState(Object.assign(this.state.addNewAttachment[id], { uploaded: true, guid: response.data.reasonPhrase }));\r\n } else {\r\n await this.setState({\r\n [`${str}Fail`]: true,\r\n uploadError: `File: ${fileName} error: ${error}`\r\n });\r\n }\r\n }\r\n validateAttachFile(e) {\r\n this.setState({ error: \"\", uploadError: '' });\r\n let finalAttachmentList = [...this.state.fileDetails, ...this.state.addNewAttachment]\r\n const fileValidation = checkValidFile(e, finalAttachmentList)\r\n const { error, isError } = fileValidation\r\n if (isError) {\r\n this.setState({ error })\r\n } else {\r\n let isFileError = false\r\n if ((this.state.fileDetails.length >= 5) || (finalAttachmentList.length > 4)) {\r\n isFileError = true\r\n this.setState({ error: \"Attachment limit reached, only 5 files can be attached to a request.\" }\r\n );\r\n } else {\r\n this.props.newlyAttachmentCount({ add: true })\r\n }\r\n if (!isFileError) {\r\n this.handleFile(e)\r\n }\r\n }\r\n\r\n }\r\n\r\n uploadFile() {\r\n this.setState({\r\n uploadError: '',\r\n })\r\n if (this.state.addNewAttachment && this.state.addNewAttachment.length > 0) {\r\n\r\n let newFiles = [];\r\n\r\n this.state.addNewAttachment.map((fileData, index) => {\r\n let fileFormData = new FormData()\r\n\r\n fileFormData.append('File', fileData);\r\n if (this.props.incidentNumber) { fileFormData.append(`IncidentNumber`, this.state.incidentNumber); }\r\n if (this.props.requestNumber) { fileFormData.append(`RequestNumber`, this.state.requestNumber); }\r\n fileFormData.append('Description', !!fileData.description ? fileData.description : '');\r\n if (!fileData.uploaded) {\r\n if (this.state.uploadedFiles.length) {\r\n if (!this.state.uploadedFiles.includes(fileData.name)) {\r\n newFiles = [...this.state.uploadedFiles];\r\n newFiles.push(fileData.name);\r\n this.setState({\r\n uploadedFiles: [...newFiles]\r\n })\r\n this.uploadData({ data: fileFormData, id: index, fileName: fileData.name })\r\n } else {\r\n newFiles.push(fileData.name);\r\n this.setState({\r\n uploadedFiles: [...newFiles]\r\n })\r\n this.uploadData({ data: fileFormData, id: index, fileName: fileData.name })\r\n }\r\n\r\n } else {\r\n newFiles.push(fileData.name);\r\n this.setState({\r\n uploadedFiles: [...newFiles]\r\n })\r\n this.uploadData({ data: fileFormData, id: index, fileName: fileData.name })\r\n }\r\n }\r\n return null;\r\n })\r\n }\r\n }\r\n\r\n async getRequestDetails() {\r\n await this.setState({\r\n showSpinner: true\r\n });\r\n const serviceName = `Details?reqNum=${this.props.requestNumber}`;\r\n const response = await getData({ serviceName });\r\n const { success, data, error, isInfo } = response;\r\n if (success) {\r\n await this.setState({\r\n fileDetails: data[0].attachments,\r\n showSpinner: false\r\n });\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n async handleDownload({ guid, filename }) {\r\n this.setState({ showSpinner: true })\r\n const response = await getData({ apiBaseUrl: UTIL_BASE_URL, serviceName: `Download?guid=${guid}` });\r\n const downloadResponse = await downloadFile({ apiResponse: response, fileName: filename })\r\n const { showToast } = this.state\r\n const { error } = response\r\n if (downloadResponse) {\r\n this.setState({\r\n showToast: showToast + 1,\r\n toastText: 'Attachment downloaded successfully !',\r\n showSpinner: false\r\n })\r\n } else {\r\n this.setState({\r\n error: error,\r\n showSpinner: false\r\n })\r\n }\r\n }\r\n handleBack = async () => {\r\n this.props.locationDetails.history.push({\r\n pathname: \"/requests\",\r\n state: {\r\n isFromInternalRequest: true,\r\n filterValues: this.props.filterValues,\r\n serviceSelectedFilter: this.props.serviceSelectedFilter,\r\n expectedDateFilter: this.props.expectedDateFilter\r\n }\r\n })\r\n }\r\n uploadedFileCount = () => {\r\n return this.state.addNewAttachment.length > 0 ? this.state.addNewAttachment.reduce((acc, currValue) => {\r\n return acc + 1\r\n }, this.state.fileDetails.length)\r\n : this.state.fileDetails.length\r\n }\r\n render() {\r\n const uploadedFileCount = this.uploadedFileCount()\r\n const enableUploadBtn = this.state.addNewAttachment.length > 0\r\n const closeRequestData = this.props.closeRequestStatus\r\n return (\r\n
\r\n
\r\n {uploadedFileCount > 0 ? \r\n \r\n \r\n File Name\r\n Description\r\n Uploaded By\r\n Size\r\n Date Added\r\n Action\r\n \r\n \r\n \r\n {this.state.fileDetails && this.state.fileDetails.length > 0 && this.state.fileDetails.map((item, idx) => {\r\n return (\r\n \r\n {item.fileName}\r\n {item.description}\r\n \r\n {splitCoeContact(item.uploadedBy)}\r\n {item.uploadedBy}

}>
\r\n \r\n {item.size}\r\n {item.dateAdded}\r\n \r\n\r\n {item.fileName} this.handleDownload({ guid: item.guid, filename: item.fileName })}>\r\n {item.isDeleteVisible && this.handleconfirmRemoveAttachment(false, e, idx, item.guid)}>\r\n }\r\n \r\n \r\n )\r\n })}\r\n {this.state.addNewAttachment && this.state.addNewAttachment.length > 0 && this.state.addNewAttachment.map((file, index) => {\r\n let fileGuid = !!file.guid ? file.guid : ''\r\n return (\r\n \r\n {file.name}\r\n {this.state[`${file.name}Success`] ?\r\n {this.state.addNewAttachment[index].description}\r\n :\r\n { this.handleChange(e) }}\r\n className=\"form-control\" />\r\n }\r\n \r\n {splitCoeContact(this.state.eid)}\r\n {this.state.eid}

}>
\r\n \r\n {parseFloat((file.size) / 1024).toFixed(1) + 'KB'}\r\n {dateFormat(new Date(), \"dd-mmm-yyyy\")}\r\n \r\n {fileGuid && {file.name} this.handleDownload({ guid: fileGuid, filename: file.name })}>}\r\n this.handleconfirmRemoveAttachment(true, e, index, fileGuid, file.name)}>\r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n\r\n : (closeRequestData && closeRequestData.isValid === false) ?\r\n
\r\n \r\n \"attach-icon\"\r\n \r\n

{closeRequestData.errorMessage}

* Minimum 1 attachment required.

\r\n
: !this.state.fileDetails.length > 0 ?\r\n

No files attached.

: ''\r\n }\r\n {this.state.error && this.state.error.length > 0 &&\r\n }\r\n
\r\n\r\n {this.state.canShowButtons &&\r\n
\r\n \r\n this.validateAttachFile(e)} className=\"attach-button\"\r\n disabled={uploadedFileCount >= 5 ? true : false}>\r\n {this.props.internalAttachment && this.handleBack()} />}\r\n this.uploadFile(e)}\r\n disabled={!enableUploadBtn}>\r\n
\r\n }\r\n {!!this.state.uploadError &&

{this.state.uploadError}

}\r\n {!!this.state.showToast && }\r\n {!!this.state.showSpinner && }\r\n\r\n {/* confirmation popup before removing attachment*/}\r\n {this.state.removeExistingAttachmentPopUp && { this.setState({ removeNewAttachmentPopUp: false }) } : () => { this.setState({ removeExistingAttachmentPopUp: false }) }}\r\n handleClose={this.state.removeExistingAttachmentPopUp && this.state.removeNewAttachmentPopUp ? () => { this.handleRemoveSpecificRow(this.state.e, this.state.fileIndex, this.state.guserId, this.state.fileName) }\r\n : () => { this.handleDelete(this.state.e, this.state.fileIndex, this.state.guserId) }}>\r\n

Are you sure you want to remove the attached file ?

}\r\n\r\n
\r\n )\r\n }\r\n}\r\nexport default AttachmentDetails;","export const initialStates = () => {\r\n return {\r\n enableAddRow: true,\r\n isEnableUpdate: false,\r\n updateClickCount: 0,\r\n newRowCount: 0,\r\n showEmptyRow: false,\r\n isDetailsView: false,\r\n isEditView: true,\r\n showAssetDeleteAlert: false,\r\n rowCountInEditView: 0,\r\n editClickCount: 0,\r\n phase: \"\",\r\n projectStage: \"\",\r\n comment: \"\",\r\n assets: \"\",\r\n assetsInfoArr: [],\r\n assetDetails: [],\r\n phaseList: [],\r\n alreadyExistingAssets: [],\r\n detailsViewAssetArr: [],\r\n projectStageList: [],\r\n allAssetDetailsArr: [],\r\n existingPhaseStageComboArr: [],\r\n showAssetSelectionModal: false,\r\n showSpinner: true,\r\n activateBackdrop: false,\r\n };\r\n};\r\n\r\nexport const prepareExistingAssetsData = (existingAssetsList) => {\r\n let phaseId,\r\n phaseName,\r\n acceleratorId,\r\n acceleratorName,\r\n projectStage,\r\n showExpanded,\r\n comment,\r\n detailsArr = [],\r\n existingAssets = existingAssetsList,\r\n detailsRowCount = 0,\r\n PhaseStageCombination = [],\r\n hasChildren = false;\r\n\r\n existingAssets.map((asset) => {\r\n detailsRowCount = detailsRowCount + 1;\r\n phaseId = asset.ID;\r\n phaseName = asset.Name;\r\n projectStage = asset.ProjectStage;\r\n comment = asset.Comments;\r\n PhaseStageCombination.push({ stageName: projectStage, phaseId: phaseId });\r\n hasChildren = asset.AssetsInfo.length > 1;\r\n\r\n return asset.AssetsInfo.map((item, key) => {\r\n let allAssetsOfAcc = [];\r\n acceleratorId = item.ID;\r\n acceleratorName = item.Name;\r\n showExpanded = true;\r\n\r\n if (key !== 0) {\r\n showExpanded = false;\r\n phaseName = \"\";\r\n comment = \"\";\r\n hasChildren = false;\r\n }\r\n item.Assets.map((elem) => {\r\n allAssetsOfAcc.push(elem.Name);\r\n return false;\r\n });\r\n\r\n let detailsObj = {\r\n recordId: detailsRowCount,\r\n phaseId: phaseId,\r\n phaseName: phaseName,\r\n acceleratorId: acceleratorId,\r\n acceleratorName: acceleratorName,\r\n hasChildren: hasChildren,\r\n allAssetsOfAcc: allAssetsOfAcc,\r\n projectStage: projectStage,\r\n comment: comment,\r\n showExpanded: showExpanded,\r\n isChildrenExpanded: false,\r\n };\r\n detailsArr.push(detailsObj);\r\n return false;\r\n });\r\n });\r\n return { detailsArr, PhaseStageCombination };\r\n};\r\n\r\nexport const enableUpdateFunction = (state) => {\r\n let newRowHasData =\r\n state.showEmptyRow &&\r\n !!state.projectStage &&\r\n !!state.phase &&\r\n !!state.assets &&\r\n state.assets.length > 0\r\n ? true\r\n : false;\r\n let newRowHasNoData =\r\n state.showEmptyRow &&\r\n (!state.projectStage ||\r\n !state.phase ||\r\n (!!state.assets && state.assets.length === 0))\r\n ? true\r\n : false;\r\n\r\n let detailsArr = state.allAssetDetailsArr.filter(\r\n (el) => el.assets.length > 0 && el.projectStage !== ''\r\n );\r\n if (detailsArr.length !== state.allAssetDetailsArr.length) return false;\r\n if (newRowHasData) return true;\r\n if (newRowHasNoData) return false;\r\n\r\n let updatedArr = state.allAssetDetailsArr.filter((el) => el.isUpdated);\r\n if (updatedArr.length > 0 && !state.showEmptyRow) return true;\r\n if (state.isEnableUpdate) return true;\r\n};\r\n\r\nexport const createObjectArrForAssetUsage = (item, arrToBeUpdated) => {\r\n let acceleratorObj = {};\r\n acceleratorObj.Name = item.accName;\r\n acceleratorObj.ID = item.accId;\r\n acceleratorObj.Assets = [{ ID: item.assetId, Name: item.assetName }];\r\n arrToBeUpdated.push(acceleratorObj);\r\n};\r\n\r\nexport const clearStates = (state) => {\r\n let newStates = Object.keys(state).filter(el => el.endsWith('-stageList'))\r\n .reduce((result, el) => {\r\n result[el] = null;\r\n return result;\r\n }, {})\r\n\r\n return {\r\n ...newStates,\r\n alreadyExistingAssets: [],\r\n allAssetDetailsArr: [],\r\n assetDetails: [],\r\n comment: \"\",\r\n assets: \"\",\r\n assetsInfoArr: [],\r\n phase: \"\",\r\n projectStage: \"\",\r\n showEmptyRow: false,\r\n isEnableUpdate: false,\r\n detailsViewAssetArr: [],\r\n phaseStageComboArr: [],\r\n updatedPhaseList: [],\r\n phaseStageMapping: {}\r\n }\r\n\r\n}\r\n\r\nexport const setNewStatesToNull = (state) => {\r\n let desiredObjFromState = initialStates();\r\n\r\n let initialStatesWithValues = Object.keys(desiredObjFromState)\r\n .filter((el) => {\r\n return Object.keys(state).filter((key) => key === el);\r\n })\r\n .reduce((result, current) => {\r\n result[current] = state[current];\r\n return result;\r\n }, {});\r\n\r\n let newStatesWithNullValue = Object.keys(state)\r\n .filter((el) => {\r\n return !Object.keys(desiredObjFromState).includes(el);\r\n })\r\n .reduce((result, current) => {\r\n result[current] = null;\r\n return result;\r\n }, {});\r\n\r\n return { ...initialStatesWithValues, ...newStatesWithNullValue };\r\n};\r\n\r\nexport const handleAssetUsageCancel = (state) => {\r\n let newStateWithNullValueObj = setNewStatesToNull(state);\r\n\r\n let newStateObj = {\r\n ...newStateWithNullValueObj,\r\n editClickCount: 0,\r\n allAssetDetailsArr: [],\r\n isEnableUpdate: false,\r\n isDetailsView: true,\r\n isEditView: false,\r\n rowCountInEditView: 0,\r\n comment: \"\",\r\n assetsInfoArr: [],\r\n assets: \"\",\r\n phase: \"\",\r\n projectStage: \"\",\r\n showEmptyRow: false,\r\n };\r\n\r\n return newStateObj;\r\n};\r\n","//Below function will return list of unique objects from given array. Finding uniqueness bases on ID attribute.\r\nexport const uniqueArrayOfObject = arr => {\r\n const result = [];\r\n const map = new Map();\r\n for (const item of arr) {\r\n if (!map.has(item.ID)) {\r\n map.set(item.ID, true);\r\n result.push({\r\n ID: item.ID,\r\n Name: item.Name\r\n });\r\n }\r\n }\r\n return result\r\n}\r\n\r\nexport const removeObjFromArrayById = (arr, ID) => {\r\n return arr.filter(currentVal => parseInt(currentVal.ID) !== parseInt(ID));\r\n}\r\nexport const removeObjFromArrayByStringId = (arr, ID, matchingLbl = 'ID') => {\r\n return arr.filter(currentVal => currentVal[matchingLbl] !== ID);\r\n}\r\nexport const removeObjFromArrayByStringIds = (arr, iDsArr, matchingLbl = 'ID') => {\r\n return arr.filter(currentVal => {\r\n return !iDsArr.includes(currentVal[matchingLbl]);\r\n });\r\n}\r\n\r\nexport const fetchObjFromArrayById = (arr, ID) => {\r\n return arr.find(currentVal => parseInt(currentVal.ID) === parseInt(ID));\r\n}\r\nexport const prepareObjByArrWithKeyName = (arr, matchingLbl = 'ID') => {\r\n return arr.reduce((acc, currentVal) => {\r\n return { ...acc, [currentVal[matchingLbl]]: currentVal }\r\n }, {})\r\n}\r\nexport const fliterByText = (arr, text, field) => {\r\n return arr.filter((val) => {\r\n if (text === \"\") {\r\n return val\r\n } else if (val[field].toLowerCase().includes(text.toLowerCase())) {\r\n return val;\r\n } return false;\r\n })\r\n}\r\nexport const uniqueArrayOfObjectByScenarioId = arr => {\r\n const result = [];\r\n const map = new Map();\r\n for (const { FunctionName, IndustryName, ModuleName, ScenarioDescription, ScenarioID, ScenarioName, IndustryID, IsMandatory } of arr) {\r\n if (!map.has(ScenarioID)) {\r\n map.set(ScenarioID, true);\r\n result.push({\r\n FunctionName, IndustryName, ModuleName, ScenarioDescription, ScenarioID, ScenarioName, IndustryID, IsMandatory\r\n });\r\n }\r\n }\r\n return result\r\n}\r\nexport const fetchIndexIdFromArray = (array, attr, value) => {\r\n for (var i = 0; i < array.length; i += 1) {\r\n if (array[i][attr] === value) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\nexport const getUniqueIdFromArrayOfObjById = (arr, matchingLbl = 'ID') => {\r\n let keyArr = []\r\n arr.reduce((acc, currentVal) => {\r\n keyArr = [...keyArr, currentVal[matchingLbl]]\r\n return currentVal\r\n }, [])\r\n return keyArr\r\n}\r\n\r\nexport const isValExistInArray = (arrData, value) => {\r\n let validated = false\r\n const arr = arrData || []\r\n var index = arr.indexOf(value)\r\n if (index !== -1) {\r\n validated = true\r\n }\r\n return validated\r\n}","import React, { Component, Fragment } from \"react\";\r\nimport Checkbox from \"../../../components/checkbox/checkbox\";\r\nimport SecondaryButton from \"../../../components/button/secondary-button\";\r\nimport CustomInput from \"../../../components/custom-input/custom-input\";\r\nimport { Constant } from \"./request-assignment-import\";\r\nimport \"./asset-selection.scss\";\r\nimport { createObjectArrForAssetUsage } from \"./asset-usage-functions\";\r\nimport {\r\n prepareObjByArrWithKeyName,\r\n fliterByText,\r\n fetchIndexIdFromArray,\r\n} from \"../../common/object-manipulations\";\r\n\r\nclass AssetSelection extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectedValue: \"\",\r\n count: 0,\r\n checked: false,\r\n assetArrMappedToAcc: [],\r\n selectedAssetsArr: [],\r\n selectedAssets: [],\r\n selectedObjects: {},\r\n searchterm: \"\",\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n let accId,\r\n accName,\r\n results = [],\r\n assetsArr = [];\r\n this.props.categories.map((item) => {\r\n if (item.ID === parseInt(this.props.selectedValue)) {\r\n return item.AssetsInfo.map((ele) => {\r\n accId = ele.ID;\r\n accName = ele.Name;\r\n assetsArr = ele.Assets;\r\n let assetDetail = {\r\n accId: accId,\r\n accName: accName,\r\n assetsArr: assetsArr,\r\n };\r\n results.push(assetDetail);\r\n return assetDetail;\r\n });\r\n }\r\n return false;\r\n });\r\n this.setState({\r\n allAssets: results,\r\n });\r\n if (this.props.assetsPreExists) {\r\n this.getExistingData();\r\n }\r\n }\r\n\r\n getExistingData = () => {\r\n let accId,\r\n accName,\r\n results = [],\r\n assetsArr = [],\r\n selectedAssets = [];\r\n this.props.existingData.map((item) => {\r\n accId = item.ID;\r\n accName = item.Name;\r\n assetsArr = item.Assets;\r\n let assetDetail = {\r\n accId: accId,\r\n accName: accName,\r\n assetsArr: assetsArr,\r\n };\r\n results.push(assetDetail);\r\n return assetDetail;\r\n });\r\n results.map((ele) => {\r\n ele.assetsArr.map((item) => {\r\n let arrOptions = {\r\n accId: ele.accId,\r\n accName: ele.accName,\r\n assetId: item.ID,\r\n assetName: item.Name,\r\n };\r\n selectedAssets.push(arrOptions);\r\n return arrOptions;\r\n });\r\n return false;\r\n });\r\n this.setState({\r\n selectedAssets: selectedAssets,\r\n count: selectedAssets.length,\r\n });\r\n const selectedItems = prepareObjByArrWithKeyName(selectedAssets, \"assetId\");\r\n this.setState({ selectedItems: selectedItems });\r\n };\r\n\r\n handleChange(event) {\r\n const { checked } = event.target;\r\n let accId = event.currentTarget.dataset.id;\r\n let accName = event.currentTarget.children[0].innerText;\r\n let assetId = event.target.id;\r\n let assetName = event.target.name,\r\n index;\r\n let arrOptions = {\r\n accId: parseInt(accId),\r\n accName: accName,\r\n assetId: parseInt(assetId),\r\n assetName: assetName,\r\n };\r\n const selectedAssets = this.state.selectedAssets;\r\n\r\n if (checked === true) {\r\n selectedAssets.push(arrOptions);\r\n this.setState({\r\n selectedAssets: selectedAssets,\r\n count: this.state.count + 1,\r\n });\r\n } else {\r\n index = fetchIndexIdFromArray(\r\n selectedAssets,\r\n \"assetName\",\r\n event.target.value\r\n );\r\n selectedAssets.splice(index, 1);\r\n if (this.state.count > 0) {\r\n this.setState({ count: this.state.count - 1 });\r\n }\r\n this.setState({ selectedAssets: selectedAssets });\r\n }\r\n this.assetsSelectionOnEdit();\r\n }\r\n\r\n assetsSelectionOnEdit = () => {\r\n const selectedItems = prepareObjByArrWithKeyName(\r\n this.state.selectedAssets,\r\n \"assetId\"\r\n );\r\n this.setState({ selectedItems: selectedItems });\r\n };\r\n\r\n async handleSubmit(event) {\r\n event.preventDefault();\r\n let assetArrMappedToAcc = [];\r\n this.state.selectedAssets.map((item) => {\r\n if (assetArrMappedToAcc.length === 0) {\r\n createObjectArrForAssetUsage(item, assetArrMappedToAcc);\r\n } else {\r\n let elemId, accObj;\r\n accObj = assetArrMappedToAcc.find((el, key) => {\r\n elemId = key;\r\n return el.ID === item.accId;\r\n });\r\n if (!!accObj) {\r\n let asstArr = accObj.Assets,\r\n acceleratorObj = {};\r\n asstArr.push({ ID: item.assetId, Name: item.assetName });\r\n acceleratorObj.Name = item.accName;\r\n acceleratorObj.ID = item.accId;\r\n acceleratorObj.Assets = [...asstArr];\r\n assetArrMappedToAcc[elemId] = acceleratorObj;\r\n } else {\r\n createObjectArrForAssetUsage(item, assetArrMappedToAcc);\r\n }\r\n }\r\n return false;\r\n });\r\n await this.setState(\r\n {\r\n assetArrMappedToAcc: assetArrMappedToAcc,\r\n },\r\n () => {\r\n this.props.handleAssetSelectionDone(\r\n this.state.selectedAssets,\r\n this.state.assetArrMappedToAcc,\r\n this.props.modalId\r\n );\r\n }\r\n );\r\n }\r\n\r\n searchHandler = (e) => {\r\n this.setState({ searchterm: e.target.value });\r\n };\r\n\r\n emptytheSearch() {\r\n this.setState({ searchterm: \"\" });\r\n }\r\n\r\n handleClose() {\r\n this.setState({\r\n count: 0,\r\n checked: false,\r\n selectedAssets: [],\r\n selectedItems: {},\r\n });\r\n }\r\n\r\n render() {\r\n let filteredResults =\r\n !!this.state.allAssets &&\r\n this.state.allAssets.length > 0 &&\r\n !!this.state.searchterm\r\n ? fliterByText(this.state.allAssets, this.state.searchterm, \"accName\")\r\n : [];\r\n const isFilteredResult =\r\n !!filteredResults && filteredResults.length > 0 ? true : false;\r\n filteredResults =\r\n !!filteredResults && filteredResults.length > 0\r\n ? filteredResults\r\n : this.state.allAssets;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n this.searchHandler(e)}\r\n handleClear={() => this.emptytheSearch()}\r\n value={this.state.searchterm}\r\n showClearIcon={true}\r\n />\r\n
\r\n
\r\n {\r\n this.handleSubmit(e);\r\n }}\r\n >\r\n
\r\n
\r\n
\r\n {\" \"}\r\n \r\n ({this.state.count}) Selected \r\n \r\n {\r\n this.handleClose();\r\n }}\r\n />\r\n \r\n \r\n
\r\n {!!filteredResults &&\r\n filteredResults.length > 0 &&\r\n filteredResults.map((item, index) => {\r\n const filtreditems = isFilteredResult\r\n ? item.assetsArr\r\n : fliterByText(item.assetsArr, this.state.searchterm, \"Name\");\r\n return (\r\n {\r\n this.handleChange(e);\r\n }}\r\n key={index}\r\n >\r\n {!!filtreditems && filtreditems.length > 0 && (\r\n
{item.accName}
\r\n )}\r\n
\r\n {filtreditems.map((el, i) => {\r\n const ischecked =\r\n !!this.state.selectedItems &&\r\n this.state.selectedItems[el.ID]\r\n ? true\r\n : false;\r\n return (\r\n \r\n
\r\n \r\n {el.Name}\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\nexport default AssetSelection;\r\n","import React, { Component, Fragment } from \"react\";\r\nimport SecondaryButton from \"../../../components/button/secondary-button\";\r\nimport CustomSelect from \"../../../components/custom-select/custom-select\";\r\nimport CustomTextArea from \"../../../components/custom-textarea/custom-textarea\";\r\nimport CustomInput from \"../../../components/custom-input/custom-input\";\r\nimport CustomModal from \"../../../components/modals/custom-modal\";\r\nimport * as Constant from \"../../../components/constants/constant\";\r\nimport CustomButton from \"../../../components/button/nextbutton\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport { getData, postData } from \"../../../api/api-manager\";\r\nimport { API_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport { getStatusName, getStatusID } from \"./request-assignment-function\";\r\nimport {\r\n initialStates,\r\n prepareExistingAssetsData,\r\n enableUpdateFunction,\r\n handleAssetUsageCancel,\r\n clearStates\r\n} from \"./asset-usage-functions.js\";\r\nimport AssetSelection from \"./asset-selection\";\r\nimport Popup from \"../../../components/popup/popup\";\r\nimport \"./asset-usage.scss\";\r\n\r\nclass AssetUsage extends Component {\r\n constructor(props) {\r\n super(props);\r\n const states = initialStates();\r\n this.state = {\r\n ...states,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getAssetDetails();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (\r\n this.props.requestNumber !== prevProps.requestNumber ||\r\n this.props.enableAssetUsage !== prevProps.enableAssetUsage ||\r\n this.props.isTechChangedOnUpdate === true\r\n ) {\r\n this.clearStates();\r\n this.getAssetDetails();\r\n }\r\n }\r\n\r\n async clearStates() {\r\n if (!!this.state.alreadyExistingAssets && !!this.state.allAssetDetailsArr && (this.state.alreadyExistingAssets.length > 0 || this.state.allAssetDetailsArr.length > 0 || this.state.showEmptyRow)) {\r\n let updatedStates = clearStates(this.state);\r\n await this.setState({\r\n ...updatedStates\r\n })\r\n }\r\n }\r\n\r\n async getAssetDetails() {\r\n const response = await getData({\r\n apiBaseUrl: API_BASE_URL,\r\n serviceName: `AssetDetails?requestNumber=${this.props.requestNumber}`,\r\n });\r\n const { success, data, error, isInfo } = await response;\r\n if (success) {\r\n if (this.props.isTechChangedOnUpdate === true) {\r\n this.props.setTechChangedOnUpdate(false);\r\n }\r\n if (data) {\r\n let assetDetails,\r\n phaseList,\r\n projectStageList,\r\n alreadyExistingAssets = [],\r\n isDetailsView = false,\r\n isEditView = true;\r\n\r\n if (!!data && !!data.AssetDetails && !!data.ProjectStageList) {\r\n assetDetails = data.AssetDetails;\r\n phaseList = assetDetails.map(({ ID, Name }) => {\r\n return { ID, Name };\r\n });\r\n projectStageList = data.ProjectStageList;\r\n if (this.props.enableAssetUsage !== undefined && !this.props.enableAssetUsage) {\r\n isDetailsView = true;\r\n isEditView = false;\r\n }\r\n }\r\n await this.setState({\r\n ...this.state,\r\n phaseList: phaseList,\r\n projectStageList: [...projectStageList],\r\n assetDetails: [...assetDetails]\r\n });\r\n if (!!data && !!data.ExistingAssets && !!data.ExistingAssets.length > 0) {\r\n isDetailsView = true;\r\n isEditView = false;\r\n alreadyExistingAssets = data.ExistingAssets;\r\n await this.prepareExistingData(alreadyExistingAssets);\r\n }\r\n await this.setState({\r\n ...this.state,\r\n showSpinner: false,\r\n isDetailsView: isDetailsView,\r\n isEditView: isEditView,\r\n alreadyExistingAssets: [...alreadyExistingAssets],\r\n });\r\n }\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true });\r\n }\r\n }\r\n async prepareExistingData(\r\n existingAssetsList = this.state.alreadyExistingAssets\r\n ) {\r\n let results = prepareExistingAssetsData(existingAssetsList);\r\n let phaseStageCombo = [...results.PhaseStageCombination];\r\n let phaseStageComboArr = this.addStageIdInComboObj(phaseStageCombo);\r\n\r\n await this.setState({\r\n detailsViewAssetArr: [...results.detailsArr],\r\n existingPhaseStageComboArr: [...phaseStageComboArr],\r\n phaseStageComboArr: [...phaseStageComboArr]\r\n });\r\n this.createProjectStageMapping();\r\n }\r\n addStageIdInComboObj = (phaseStageCombo) => {\r\n let phaseWithStageId = phaseStageCombo.map(el => {\r\n let stageId = getStatusID(el.stageName, this.state.projectStageList);\r\n return { stageName: el.stageName, stageId: stageId, phaseId: el.phaseId }\r\n })\r\n return phaseWithStageId;\r\n }\r\n\r\n removePhaseStageCombo = async (removeObj) => {\r\n let phaseStageMapping = { ...this.state.phaseStageMapping },\r\n phaseStageComboArr = [...this.state.phaseStageComboArr];\r\n\r\n let newPhaseStageComboArr = phaseStageComboArr.filter(el => {\r\n return !(el.stageId === removeObj.value && el.phaseId === removeObj.id);\r\n })\r\n\r\n Object.keys(phaseStageMapping).map(el => {\r\n if (parseInt(el) === removeObj.id) {\r\n let newStageList = phaseStageMapping[el].filter(stage => (stage !== removeObj.value));\r\n phaseStageMapping[el] = newStageList;\r\n } return false;\r\n })\r\n\r\n await this.setState({\r\n phaseStageMapping: { ...phaseStageMapping },\r\n phaseStageComboArr: [...newPhaseStageComboArr]\r\n })\r\n this.createStageListForAllPhaseId(phaseStageMapping);\r\n }\r\n\r\n createProjectStageMapping = async () => {\r\n let stageIdsAlreadySelected = this.state.phaseStageComboArr.reduce((result, current) => {\r\n let stageId = parseInt(current.stageId)\r\n if (Object.keys(result).includes(String(current.phaseId)) && !(result[current.phaseId].includes(stageId))) {\r\n result[current.phaseId].push(stageId)\r\n } else {\r\n result[current.phaseId] = [stageId];\r\n }\r\n return result;\r\n }, {});\r\n\r\n this.setState({\r\n phaseStageMapping: { ...stageIdsAlreadySelected }\r\n })\r\n this.createStageListForAllPhaseId(stageIdsAlreadySelected)\r\n }\r\n\r\n createStageListForAllPhaseId = (phaseStageMapping = { ...this.state.phaseStageMapping }) => {\r\n Object.keys(phaseStageMapping).map((phase) => {\r\n let result = [...this.createStageList(phase, phaseStageMapping)];\r\n let updatedPhaseList = this.checkForPhaseDisabling(result, phase);\r\n this.setState({\r\n [`${phase}-stageList`]: result,\r\n updatedPhaseList: updatedPhaseList\r\n })\r\n return false;\r\n });\r\n }\r\n\r\n createStageList = (phase, phaseStageMapping) => {\r\n let projectStageArr = [...this.state.projectStageList];\r\n let prjStageMapping = projectStageArr.map(el => {\r\n if (phaseStageMapping[phase].includes(el.ID)) {\r\n let newObj = { ...el, IsDisabled: true }\r\n return newObj;\r\n } else return { ...el, IsDisabled: false }\r\n })\r\n return prjStageMapping;\r\n }\r\n\r\n checkForPhaseDisabling = (result, phase) => {\r\n let updatedPhaseList = !!this.state.updatedPhaseList && this.state.updatedPhaseList.length > 0 ? this.state.updatedPhaseList : this.state.phaseList;\r\n let count = result.reduce((cnt, item) => {\r\n if (item.IsDisabled === true) cnt = cnt + 1;\r\n return cnt;\r\n }, 0)\r\n if (count === this.state.projectStageList.length) {\r\n updatedPhaseList = updatedPhaseList.map((el) => {\r\n if (el.ID === parseInt(phase)) return { ...el, IsDisabled: true }\r\n else return { ...el }\r\n })\r\n } else {\r\n updatedPhaseList = updatedPhaseList.map((el) => {\r\n if (el.ID === parseInt(phase)) return { ...el, IsDisabled: false }\r\n else return { ...el }\r\n })\r\n }\r\n return updatedPhaseList;\r\n }\r\n\r\n handleAddRowClick = async () => {\r\n await this.setState({\r\n showEmptyRow: true,\r\n enableAddRow: false,\r\n isEnableUpdate: false,\r\n });\r\n await this.addRow();\r\n };\r\n async addRow() {\r\n const { phase, assetsInfoArr, projectStage, comment, assets } = this.state;\r\n let phaseName, projectStageName, rowCountInEditView;\r\n if (phase !== \"\" && assetsInfoArr.length > 0 && projectStage !== \"\") {\r\n phaseName = getStatusName(phase, this.state.phaseList);\r\n projectStageName = getStatusName(\r\n projectStage,\r\n this.state.projectStageList\r\n );\r\n rowCountInEditView = this.state.rowCountInEditView + 1;\r\n\r\n let updatedRow = {\r\n id: rowCountInEditView,\r\n phaseId: parseInt(phase),\r\n phase: phaseName,\r\n assets: assets,\r\n assetsInfoArr: assetsInfoArr,\r\n assetsNameArr: null,\r\n projectStage: projectStageName,\r\n projectStageId: projectStage,\r\n comments: comment,\r\n isActive: true,\r\n isNew: true,\r\n isUpdated: false,\r\n };\r\n\r\n await this.setState({\r\n allAssetDetailsArr: [...this.state.allAssetDetailsArr, updatedRow],\r\n rowCountInEditView: rowCountInEditView,\r\n comment: \"\",\r\n assets: [],\r\n assetsInfoArr: [],\r\n phase: \"\",\r\n projectStage: \"\",\r\n enableAddRow: true,\r\n newRowCount: this.state.newRowCount + 1\r\n });\r\n }\r\n }\r\n\r\n updateAssetObj = async (elemId) => {\r\n let allAssetDetailsArr = [...this.state.allAssetDetailsArr],\r\n isEnableUpdate = this.enableUpdate();\r\n if (elemId !== \"emptyRow\") {\r\n let elemIndex, updatedElement;\r\n elemId = parseInt(elemId);\r\n updatedElement = allAssetDetailsArr.find((item, index) => {\r\n if (item.id === elemId) {\r\n elemIndex = index;\r\n return item;\r\n } else return false;\r\n });\r\n let prevCopy = { ...updatedElement };\r\n updatedElement.assetsInfoArr = this.state[`assetsInfoArr-${elemId}`];\r\n updatedElement.assets = this.state[`assets-${elemId}`];\r\n let unchangedAssetsList = prevCopy.assets.filter((el) => {\r\n return updatedElement.assets.filter((item) => {\r\n return item.assetId === el.assetId;\r\n });\r\n });\r\n let isAssetsListChanged =\r\n unchangedAssetsList.length === updatedElement.assets.length\r\n ? false\r\n : true;\r\n if (!updatedElement.isNew) updatedElement.isUpdated = true;\r\n if (\r\n !updatedElement.isNew &&\r\n updatedElement.projectStage &&\r\n updatedElement.phase &&\r\n !!updatedElement.assets &&\r\n updatedElement.assets.length !== 0 &&\r\n isAssetsListChanged\r\n )\r\n isEnableUpdate = true;\r\n allAssetDetailsArr[elemIndex] = updatedElement;\r\n await this.setState({\r\n allAssetDetailsArr: [...allAssetDetailsArr],\r\n isEnableUpdate: isEnableUpdate,\r\n });\r\n }\r\n };\r\n\r\n createRemoveComboObj = async (elemId, allAssetDetailsArr) => {\r\n let prevPhase = null, prevStage = null, removeCombo = null;\r\n if (elemId !== \"emptyRow\") {\r\n elemId = parseInt(elemId)\r\n let prevElement = allAssetDetailsArr.find(item => item.id === elemId);\r\n prevPhase = !!prevElement ? prevElement.phaseId : null;\r\n prevStage = !!prevElement ? prevElement.projectStageId : null;\r\n } else {\r\n prevPhase = !!this.state.phase ? this.state.phase : null;\r\n prevStage = this.state.projectStage ? this.state.projectStage : null;\r\n }\r\n if (prevPhase && prevStage) {\r\n removeCombo = { id: parseInt(prevPhase), value: parseInt(prevStage) };\r\n await this.removePhaseStageCombo(removeCombo);\r\n }\r\n }\r\n\r\n addNewPhaseStageObj = (objElement) => {\r\n let phaseStageArr = !!this.state.phaseStageComboArr && this.state.phaseStageComboArr.length > 0 ? [...this.state.phaseStageComboArr] : [];\r\n return [...phaseStageArr, { stageName: objElement.stageName, stageId: objElement.stageId, phaseId: objElement.phaseId }]\r\n }\r\n\r\n handleInput = async (e) => {\r\n const { name, value } = e.target;\r\n let elemId = e.target.dataset.id,\r\n allAssetDetailsArr = [...this.state.allAssetDetailsArr],\r\n currentValue = parseInt(value),\r\n tempPhaseStageArr = [], changedKey = name.split(\"-\")[0];\r\n\r\n if (changedKey === 'projectStage' || changedKey === 'phase') {\r\n this.createRemoveComboObj(elemId, allAssetDetailsArr)\r\n }\r\n\r\n await this.setState({ [name]: value });\r\n\r\n if (elemId !== \"emptyRow\") {\r\n let elemIndex, updatedElement;\r\n elemId = parseInt(elemId);\r\n\r\n updatedElement = allAssetDetailsArr.find((item, index) => {\r\n if (item.id === elemId) {\r\n elemIndex = index;\r\n return item;\r\n } else return false;\r\n });\r\n\r\n switch (changedKey) {\r\n case \"phase\":\r\n updatedElement.phase = getStatusName(currentValue, this.state.phaseList);\r\n updatedElement.phaseId = currentValue;\r\n updatedElement.assets = [];\r\n updatedElement.assetsInfoArr = [];\r\n updatedElement.projectStage = '';\r\n updatedElement.projectStageId = '';\r\n\r\n let changedPhaseIndex = name.split(\"-\")[1];\r\n this.setState({\r\n [`assets-${changedPhaseIndex}`]: [],\r\n [`assetsInfoArr-${changedPhaseIndex}`]: [],\r\n [`stage-${changedPhaseIndex}`]: ''\r\n });\r\n break;\r\n case \"projectStage\":\r\n let updatedProjectStage = getStatusName(currentValue, this.state.projectStageList);\r\n updatedElement.projectStage = updatedProjectStage;\r\n updatedElement.projectStageId = currentValue;\r\n\r\n tempPhaseStageArr = this.addNewPhaseStageObj({ stageName: updatedProjectStage, stageId: currentValue, phaseId: updatedElement.phaseId }, false);\r\n break;\r\n case \"comment\":\r\n updatedElement.comments = value;\r\n break;\r\n default: break;\r\n }\r\n if (!updatedElement.isNew) updatedElement.isUpdated = true;\r\n allAssetDetailsArr[elemIndex] = updatedElement;\r\n\r\n await this.setState({\r\n allAssetDetailsArr: [...allAssetDetailsArr],\r\n phaseStageComboArr: !!tempPhaseStageArr && tempPhaseStageArr.length > 0 ? tempPhaseStageArr : [...this.state.phaseStageComboArr]\r\n });\r\n this.createProjectStageMapping();\r\n } else {\r\n\r\n if (changedKey === \"phase\") {\r\n await this.setState({ assetsInfoArr: [], assets: [], projectStage: '' });\r\n }\r\n if (changedKey === \"projectStage\") {\r\n let updatedProjectStage = getStatusName(currentValue, this.state.projectStageList);\r\n tempPhaseStageArr = this.addNewPhaseStageObj({ phaseId: parseInt(this.state.phase), stageId: currentValue, stageName: updatedProjectStage })\r\n await this.setState({ phaseStageComboArr: !!tempPhaseStageArr && tempPhaseStageArr.length > 0 ? tempPhaseStageArr : [...this.state.phaseStageComboArr] });\r\n this.createProjectStageMapping();\r\n }\r\n }\r\n };\r\n\r\n handleCancel = async () => {\r\n const states = handleAssetUsageCancel(this.state);\r\n await this.setState(states);\r\n };\r\n handleUpdate = async () => {\r\n let {\r\n phase,\r\n assets,\r\n assetsInfoArr,\r\n projectStage,\r\n comment,\r\n rowCountInEditView,\r\n } = this.state;\r\n let allAssetDetailsArr = [...this.state.allAssetDetailsArr];\r\n //adding the new Row data before sending to backend\r\n rowCountInEditView = rowCountInEditView + 1;\r\n if (phase && projectStage && !!assets && assets.length > 0) {\r\n phase = parseInt(phase);\r\n projectStage = parseInt(projectStage);\r\n let newAssetObj = {\r\n id: rowCountInEditView,\r\n phaseId: phase,\r\n phase: getStatusName(phase, this.state.phaseList),\r\n comments: comment,\r\n projectStageId: projectStage,\r\n projectStage: getStatusName(projectStage, this.state.projectStageList),\r\n assetsInfoArr: assetsInfoArr,\r\n assets: assets,\r\n isActive: true,\r\n isUpdated: false,\r\n isNew: true,\r\n };\r\n allAssetDetailsArr.push(newAssetObj);\r\n }\r\n await this.setState({\r\n comment: \"\",\r\n assets: \"\",\r\n assetsInfoArr: [],\r\n phase: \"\",\r\n projectStage: \"\",\r\n showEmptyRow: false,\r\n allAssetDetailsArr: [...allAssetDetailsArr],\r\n });\r\n //prepare data to be send to backend\r\n let assetData = [];\r\n allAssetDetailsArr.map((item) => {\r\n let detailsObj = {};\r\n detailsObj.PhaseID = item.phaseId;\r\n detailsObj.ProjectStage = item.projectStageId;\r\n detailsObj.Comments = item.comments;\r\n detailsObj.AssetsInfo = [...item.assetsInfoArr];\r\n assetData.push(detailsObj);\r\n return false;\r\n });\r\n let assetDetails = [\r\n { RequestNumber: this.props.requestNumber, AssetData: assetData },\r\n ];\r\n const submitData = { assetDetails };\r\n const response = await postData({\r\n serviceName: `updateAsset`,\r\n data: submitData,\r\n });\r\n const { success, error } = await response;\r\n if (success) {\r\n //If data updated on backend, prepare data to be shown on UI\r\n let existingDataArr = [];\r\n assetData.map((item) => {\r\n let detailsObj = {};\r\n detailsObj.ID = item.PhaseID;\r\n detailsObj.Name = getStatusName(item.PhaseID, this.state.phaseList);\r\n detailsObj.ProjectStage = getStatusName(\r\n item.ProjectStage,\r\n this.state.projectStageList\r\n );\r\n detailsObj.Comments = item.Comments;\r\n detailsObj.AssetsInfo = [...item.AssetsInfo];\r\n existingDataArr.push(detailsObj);\r\n return false;\r\n });\r\n this.prepareExistingData(existingDataArr);\r\n this.setState({\r\n isEditView: false,\r\n isDetailsView: true,\r\n editClickCount: 0,\r\n rowCountInEditView: 0,\r\n alreadyExistingAssets: [...existingDataArr],\r\n updateClickCount: this.state.updateClickCount + 1,\r\n isEnableUpdate: false,\r\n });\r\n } else {\r\n this.setState({\r\n editClickCount: 0,\r\n rowCountInEditView: 0,\r\n updateClickCount: this.state.updateClickCount + 1,\r\n isEnableUpdate: true,\r\n showErrorPopup: true,\r\n error: error,\r\n showSpinner: false,\r\n });\r\n }\r\n };\r\n\r\n deleteAssetDetails = async (rowId) => {\r\n\r\n if (rowId !== \"emptyRow\") {\r\n let allAssetDetailsArr = [],\r\n removedAsset,\r\n {\r\n isEnableUpdate,\r\n newRowCount,\r\n alreadyExistingAssets,\r\n deleteRowId,\r\n } = this.state;\r\n rowId = parseInt(deleteRowId);\r\n allAssetDetailsArr = [...this.state.allAssetDetailsArr];\r\n this.createRemoveComboObj(rowId, allAssetDetailsArr);\r\n removedAsset = allAssetDetailsArr.find((item) => item.id === rowId);\r\n let allButRemovedAssetDetails = allAssetDetailsArr.filter((el) => {\r\n return el.id !== rowId;\r\n });\r\n if (removedAsset.isNew) newRowCount = newRowCount - 1;\r\n else isEnableUpdate = true;\r\n if (allButRemovedAssetDetails.length === 0) {\r\n newRowCount = 0;\r\n if (alreadyExistingAssets.length !== 0) isEnableUpdate = true;\r\n else isEnableUpdate = false;\r\n }\r\n await this.setState({\r\n allAssetDetailsArr: [...allButRemovedAssetDetails],\r\n isEnableUpdate: isEnableUpdate,\r\n newRowCount: newRowCount,\r\n deleteRowId: \"\",\r\n });\r\n } else {\r\n let modalId = \"assets-emptyRow-modal\",\r\n isEnableUpdate = this.state.isEnableUpdate,\r\n allAssetDetailsArr = [...this.state.allAssetDetailsArr];\r\n this.createRemoveComboObj(rowId, allAssetDetailsArr);\r\n let allOtherAssets = allAssetDetailsArr.filter(\r\n (el) => el.isNew || el.isUpdated\r\n );\r\n if (allOtherAssets.length === 0) isEnableUpdate = false;\r\n else isEnableUpdate = true;\r\n await this.setState({\r\n comment: \"\",\r\n assets: \"\",\r\n assetsInfoArr: [],\r\n phase: \"\",\r\n projectStage: \"\",\r\n [modalId]: false,\r\n showEmptyRow: false,\r\n isEnableUpdate: isEnableUpdate,\r\n });\r\n }\r\n };\r\n handleRemoveAsset = async (e) => {\r\n let rowId = e.target.dataset.id;\r\n if (rowId !== \"emptyRow\") {\r\n this.setState({\r\n showAssetDeleteAlert: true,\r\n deleteRowId: rowId,\r\n });\r\n } else {\r\n this.deleteAssetDetails(\"emptyRow\");\r\n }\r\n };\r\n collapseExpandDetails = async (e) => {\r\n let detailsArr, phaseName, recordId;\r\n phaseName = e.currentTarget.children[0].innerText;\r\n if (phaseName !== \"\") {\r\n recordId = e.currentTarget.dataset.id;\r\n detailsArr = [...this.state.detailsViewAssetArr];\r\n let changedDetailsArr = detailsArr.map((item) => {\r\n if (item.recordId === parseInt(recordId) && item.phaseName !== \"\") {\r\n item.isChildrenExpanded = !item.isChildrenExpanded;\r\n }\r\n if (item.recordId === parseInt(recordId) && item.phaseName === \"\") {\r\n item.showExpanded = !item.showExpanded;\r\n }\r\n return item;\r\n });\r\n await this.setState({\r\n ...this.state,\r\n detailsViewAssetArr: changedDetailsArr,\r\n });\r\n }\r\n };\r\n handleEditClick = async () => {\r\n await this.setState({\r\n editClickCount: this.state.editClickCount + 1,\r\n phaseStageComboArr: !!this.state.alreadyExistingAssets && !!this.state.existingPhaseStageComboArr && this.state.existingPhaseStageComboArr.length > 0 ? [...this.state.existingPhaseStageComboArr] : []\r\n });\r\n this.createProjectStageMapping();\r\n if (\r\n this.state.editClickCount === 1 &&\r\n this.state.alreadyExistingAssets.length > 0\r\n ) {\r\n let phaseId,\r\n phaseName,\r\n projectStage,\r\n projectStageId,\r\n comment,\r\n existingAssets = this.state.alreadyExistingAssets,\r\n rowCountInEditView = this.state.rowCountInEditView,\r\n existingDetailsArr = [];\r\n\r\n existingAssets.map((elem) => {\r\n phaseId = elem.ID;\r\n phaseName = elem.Name;\r\n rowCountInEditView = rowCountInEditView + 1;\r\n projectStage = elem.ProjectStage;\r\n projectStageId = getStatusID(projectStage, this.state.projectStageList);\r\n comment = elem.Comments;\r\n let assetsInfoArr = elem.AssetsInfo,\r\n assets = [];\r\n elem.AssetsInfo.map((item) => {\r\n let accId = item.ID,\r\n accName = item.Name;\r\n item.Assets.map((obj) => {\r\n assets.push({\r\n accId: accId,\r\n accName: accName,\r\n assetId: obj.ID,\r\n assetName: obj.Name,\r\n });\r\n return false;\r\n });\r\n return false;\r\n });\r\n let existingRow = {\r\n id: rowCountInEditView,\r\n phaseId: phaseId,\r\n phase: phaseName,\r\n assetsInfoArr: [...assetsInfoArr],\r\n projectStage: projectStage,\r\n projectStageId: projectStageId,\r\n assets: [...assets],\r\n comments: comment,\r\n isActive: true,\r\n isNew: false,\r\n isUpdated: false,\r\n };\r\n existingDetailsArr.push(existingRow);\r\n return false;\r\n });\r\n await this.setState({\r\n isDetailsView: false,\r\n isEditView: true,\r\n rowCountInEditView: rowCountInEditView,\r\n allAssetDetailsArr: [...existingDetailsArr],\r\n });\r\n } else {\r\n await this.setState({\r\n isDetailsView: false,\r\n isEditView: true,\r\n });\r\n }\r\n };\r\n enableUpdate = () => {\r\n return enableUpdateFunction(this.state);\r\n };\r\n handleAssetSelectionDone = async (assets, assetsInfoArr, modalId) => {\r\n let elId;\r\n if (modalId === \"assets-emptyRow-modal\") {\r\n elId = \"emptyRow\";\r\n await this.setState({\r\n assetsInfoArr: assetsInfoArr,\r\n assets: assets,\r\n [modalId]: false,\r\n activateBackdrop: false,\r\n });\r\n } else {\r\n let itemId = modalId.slice(0, modalId.lastIndexOf(\"-\"));\r\n elId = itemId.split(\"-\")[1];\r\n let assetsObjArr = `assetsInfoArr-${elId}`;\r\n await this.setState({\r\n [assetsObjArr]: assetsInfoArr,\r\n [itemId]: assets,\r\n [modalId]: false,\r\n activateBackdrop: false,\r\n });\r\n }\r\n this.updateAssetObj(elId);\r\n };\r\n closeErrorPopup() {\r\n this.setState({ showErrorPopup: false });\r\n }\r\n handleAssetSelectionClick = async (e) => {\r\n let modalId = e.target.dataset.modal;\r\n await this.setState({ [modalId]: true, activateBackdrop: true });\r\n };\r\n handleDeleteAlertCancelClick = () => {\r\n this.setState({\r\n showAssetDeleteAlert: false,\r\n deleteRowId: \"\",\r\n });\r\n };\r\n handleDeleteAlertOKClick = () => {\r\n this.setState({\r\n showAssetDeleteAlert: false,\r\n });\r\n this.deleteAssetDetails(this.state.deleteRowId);\r\n };\r\n\r\n render() {\r\n const {\r\n alreadyExistingAssets,\r\n isEditView,\r\n showEmptyRow,\r\n isDetailsView,\r\n detailsViewAssetArr,\r\n allAssetDetailsArr,\r\n updateClickCount,\r\n activateBackdrop,\r\n } = this.state;\r\n return (\r\n
\r\n {isEditView && (\r\n \r\n )}\r\n \r\n \r\n {isEditView && (\r\n \r\n \r\n \r\n Phase\r\n Assets\r\n Project Stage\r\n Comments\r\n Action\r\n \r\n \r\n \r\n {!!allAssetDetailsArr &&\r\n allAssetDetailsArr.length > 0 &&\r\n allAssetDetailsArr.map((item, key) => {\r\n return (\r\n \r\n \r\n 0 ? this.state.updatedPhaseList : this.state.phaseList}\r\n disabled={item.isNew ? false : true}\r\n handleChange={(e) => this.handleInput(e)}\r\n />\r\n \r\n \r\n this.handleAssetSelectionClick(e)}\r\n value={\r\n item.isUpdated &&\r\n !!this.state[`assets-${item.id}`]\r\n ? this.state[`assets-${item.id}`]\r\n .map((el) => el.assetName)\r\n .join(\", \")\r\n : !!item.assets && item.assets.length > 0\r\n ? item.assets\r\n .map((el) => el.assetName)\r\n .join(\", \")\r\n : \"\"\r\n }\r\n parent_custom_class=\"assets-input\"\r\n />\r\n {this.state[`assets-${item.id}-modal`] && (\r\n \r\n
\r\n \r\n \r\n this.handleAssetSelectionDone(\r\n selectedAssets,\r\n selectedAssetsObj,\r\n modalId\r\n )\r\n }\r\n assetsPreExists={true}\r\n itemId={item.id}\r\n modalId={`assets-${item.id}-modal`}\r\n existingData={\r\n item.isUpdated &&\r\n !!this.state[`assetsInfoArr-${item.id}`]\r\n ? this.state[`assetsInfoArr-${item.id}`]\r\n : item.assetsInfoArr\r\n }\r\n selectedValue={item.phaseId}\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n 0) ? this.state[`${this.state[`phase-${item.id}`]}-stageList`] :\r\n (!!this.state[`${item.phaseId}-stageList`] && (this.state[`${item.phaseId}-stageList`]).length > 0) ? this.state[`${item.phaseId}-stageList`] :\r\n this.state.projectStageList}\r\n disabled={item.isNew ? false : true}\r\n handleChange={(e) => this.handleInput(e)}\r\n />\r\n \r\n \r\n this.handleInput(e)}\r\n maxLength=\"500\"\r\n parent_custom_class=\"assets-comment\"\r\n />\r\n \r\n \r\n {\r\n this.handleRemoveAsset(e);\r\n }}\r\n />\r\n \r\n \r\n );\r\n })}\r\n {showEmptyRow && (\r\n \r\n \r\n 0 ? this.state.updatedPhaseList : this.state.phaseList}\r\n placeholder=\"Select\"\r\n handleChange={(e) => this.handleInput(e)}\r\n />\r\n \r\n \r\n this.handleAssetSelectionClick(e)}\r\n value={\r\n !!this.state.assets && this.state.assets.length > 0\r\n ? this.state.assets\r\n .map((el, key) => el.assetName)\r\n .join(\", \")\r\n : \"\"\r\n }\r\n parent_custom_class=\"assets-input\"\r\n />\r\n {this.state[`assets-emptyRow-modal`] && (\r\n \r\n \r\n \r\n \r\n this.handleAssetSelectionDone(\r\n selectedAssets,\r\n selectedAssetsObj,\r\n modalId\r\n )\r\n }\r\n assetsPreExists={\r\n !!this.state.assetsInfoArr &&\r\n this.state.assetsInfoArr.length > 0\r\n ? true\r\n : false\r\n }\r\n existingData={\r\n !!this.state.assetsInfoArr &&\r\n this.state.assetsInfoArr.length > 0\r\n ? this.state.assetsInfoArr\r\n : []\r\n }\r\n itemId={\"emptyRow\"}\r\n selectedValue={this.state.phase}\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n 0) ? this.state[`${this.state.phase}-stageList`] : this.state.projectStageList}\r\n placeholder=\"Select\"\r\n handleChange={(e) => this.handleInput(e)}\r\n />\r\n \r\n \r\n this.handleInput(e)}\r\n parent_custom_class=\"assets-comment\"\r\n />\r\n \r\n \r\n {\r\n this.handleRemoveAsset(e);\r\n }}\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n )}\r\n {isDetailsView && (\r\n \r\n \r\n \r\n Phase\r\n \r\n Accelerator Type\r\n \r\n Assets\r\n Project Stage\r\n Comments\r\n \r\n \r\n \r\n {!!detailsViewAssetArr &&\r\n detailsViewAssetArr.length > 0 &&\r\n detailsViewAssetArr.map((item, key) => {\r\n return (\r\n this.collapseExpandDetails(e)}\r\n >\r\n \r\n {item.phaseName !== \"\" && item.hasChildren ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n {item.phaseName}\r\n \r\n \r\n {item.acceleratorName}\r\n \r\n \r\n
    \r\n {!!item.allAssetsOfAcc &&\r\n item.allAssetsOfAcc.length > 0 &&\r\n item.allAssetsOfAcc.map((el, index) => {\r\n return
  • {el}
  • ;\r\n })}\r\n
\r\n \r\n \r\n {item.projectStage}\r\n \r\n \r\n {item.comment}\r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n )}\r\n \r\n \r\n
\r\n {isDetailsView && this.props.enableAssetUsage && (\r\n this.handleEditClick(e)}\r\n >\r\n )}\r\n
\r\n
\r\n {isEditView &&\r\n ((updateClickCount > 0 && allAssetDetailsArr.length > 0) ||\r\n alreadyExistingAssets.length > 0) && (\r\n \r\n )}\r\n {isEditView && (\r\n \r\n )}\r\n
\r\n {this.state.showSpinner && }\r\n {this.state.error && (\r\n {\r\n this.closeErrorPopup();\r\n }}\r\n buttonPosition=\"center-button\"\r\n extraClass=\"assignment-error-popup\"\r\n >\r\n

{this.state.error}

\r\n \r\n )}\r\n {!!this.state.showAssetDeleteAlert && (\r\n
\r\n {\r\n this.handleDeleteAlertCancelClick();\r\n }}\r\n handleOk={() => {\r\n this.handleDeleteAlertOKClick();\r\n }}\r\n showCancelBtn={true}\r\n description=\"Asset delete will be updated only when the update button is clicked on the Asset Usage\"\r\n >\r\n Are you sure you want to delete the Row?\r\n \r\n
\r\n )}\r\n \r\n );\r\n }\r\n}\r\nexport default AssetUsage;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport \"./accordion.scss\";\r\nimport * as Constant from \"../constants/constant\";\r\n\r\nconst AccordionSection = props => {\r\n const { isOpen, label, countServices, countSelected, displayHeader, countScenarios, showReviewCartCount } = props;\r\n return (displayHeader ?\r\n
\r\n {
{ props.onClick(props.uniqueLbl); }} >\r\n \r\n {label}\r\n

\r\n \r\n {showReviewCartCount ? `(${countScenarios})` : `(${countSelected}/${countServices})`}\r\n \r\n

\r\n
\r\n
\r\n {!isOpen && (\r\n \r\n \"Sort\"\r\n \r\n )}\r\n {isOpen && (\r\n \r\n \"Sort\"\r\n \r\n )}\r\n
\r\n
}\r\n {isOpen &&
{props.children}
}\r\n
\r\n :
{props.children}
\r\n );\r\n};\r\n\r\nAccordionSection.propTypes = {\r\n children: PropTypes.instanceOf(Object).isRequired,\r\n isOpen: PropTypes.bool.isRequired,\r\n label: PropTypes.string.isRequired,\r\n onClick: PropTypes.func.isRequired\r\n};\r\nexport default AccordionSection;\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport \"./accordion.scss\";\r\n\r\nimport AccordionSection from \"./accordion-section\";\r\n\r\nclass Accordion extends Component {\r\n constructor(props) {\r\n super(props);\r\n const openSections = {};\r\n this.state = {\r\n openSections,\r\n techId: props.children.techId\r\n };\r\n\r\n }\r\n\r\n\r\n render() {\r\n\r\n const {\r\n props: { children },\r\n } = this;\r\n\r\n return (\r\n
\r\n {children.map((child, index) => {\r\n let uniqueLbl = `${child.props.label}_${child.props.techId}`\r\n let openAccordian = false\r\n\r\n if (child.props.isReviewCart) {\r\n if ((!!child.props.openSections && !!child.props.openSections[uniqueLbl]) || child.props.techId === (child.props.cartLength - 1)) {\r\n openAccordian = true\r\n }\r\n }\r\n if (!!child.props.openSections && !!child.props.openSections[uniqueLbl] ? true : false) {\r\n openAccordian = true\r\n }\r\n\r\n return (\r\n { child.props.handleAccordionLblSelection(uniqueLbl, openAccordian) }}\r\n key={index}\r\n uniqueLbl={uniqueLbl}\r\n showReviewCartCount={child.props.showReviewCartCount}\r\n countScenarios={child.props.countScenarios || '0'}\r\n displayHeader={child.props.displayLableSection}\r\n >\r\n {child.props.children}\r\n \r\n )\r\n })}\r\n
\r\n );\r\n }\r\n}\r\n\r\nAccordion.propTypes = {\r\n allowMultipleOpen: PropTypes.bool,\r\n children: PropTypes.instanceOf(Object).isRequired,\r\n};\r\n\r\nAccordion.defaultProps = {\r\n allowMultipleOpen: false,\r\n};\r\n\r\nexport default Accordion;","import React, { Component, Fragment } from \"react\";\r\nimport \"./review-cart.scss\";\r\nimport * as Constants from \"../constants/constant\";\r\nimport Accordion from \"../accordion/accordion\";\r\nimport Checkbox from \"../checkbox/checkbox\";\r\nimport Tootltip from \"../tool-tip/tool-tip\";\r\n\r\nclass ReviewCart extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isReviewCart: true,\r\n openSections: {}\r\n }\r\n }\r\n\r\n handleAccordionLblSelection = (lbl, openAccordian) => {\r\n\r\n const isOpen = openAccordian\r\n this.setState({\r\n isReviewCart: false,\r\n openSections: {\r\n [lbl]: !isOpen\r\n },\r\n })\r\n }\r\n\r\n render() {\r\n const { scenarios, IsAdditionalDetails, emptyCartAlert, selectedItems, TopupSelected } = this.props;\r\n const cartItems = scenarios\r\n let classNames = cartItems && cartItems.length > 0 ? IsAdditionalDetails ? \"review-cart-body additional-details-cart\" : \"review-cart-body\" : \"empty-cart\";\r\n\r\n return (\r\n
\r\n\r\n\r\n {cartItems && cartItems.length > 0 ?\r\n \r\n {cartItems.map((groupItem, index) => {\r\n let groupScenarios = groupItem && groupItem.Scenarios ? groupItem.Scenarios : [];\r\n let label = !groupItem.isTopUp ? 'Base Pack ' : ''\r\n let count = (IsAdditionalDetails ? groupItem.ScenarioCount : (!groupItem.isTopUp ? groupItem.ScenarioCount : groupScenarios.length)) || 0;\r\n\r\n return (\r\n this.handleAccordionLblSelection(lbl, currentVal)}\r\n >\r\n\r\n {groupScenarios.length > 0 ? \r\n \r\n \r\n {!IsAdditionalDetails && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {groupScenarios.length > 0 && groupScenarios.sort(function (a, b) { return b.IsMandatory - a.IsMandatory }) &&\r\n groupScenarios.map((singleItem, item) => {\r\n let isMandatoryScenarios = singleItem.IsMandatory ? 'reviewCart-style' : '';\r\n let namelabel = `${singleItem.ScenarioID}`\r\n let isMand;\r\n if (groupItem.isTopUp) {\r\n isMand = (!!TopupSelected && TopupSelected[namelabel]) ? true : false;\r\n } else {\r\n isMand = (!!selectedItems && selectedItems[namelabel]) ? true : false;\r\n }\r\n return (\r\n \r\n {!IsAdditionalDetails && ()}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n {(groupItem.ScenarioCount > 20 && groupScenarios.length < groupItem.ScenarioCount) && }\r\n \r\n
SelectIndustryFunctionModuleScenario
{ !singleItem.IsMandatory && (this.props.handleSelectedScenario(singleItem.ScenarioID, singleItem, groupItem.isTopUp)) }} value={isMand}\r\n checked={isMand} />\r\n \r\n {singleItem.IndustryName}{singleItem.FunctionName}{singleItem.ModuleName}{singleItem.ScenarioName}
{ this.props.handleShowMore(groupItem.isTopUp) }}>Show more...
:

No Records

}\r\n
\r\n );\r\n })}\r\n :\r\n \r\n \"empty-cart-alert\"\r\n

{emptyCartAlert}

\r\n
}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default ReviewCart;\r\n","export const loadComponentDetails = (evt, id = '') => {\r\n let i, tablinks\r\n tablinks = document.getElementsByClassName(\"filterlinks\");\r\n for (i = 0; i < tablinks.length; i++) {\r\n tablinks[i].className = tablinks[i].className.replace(\" active\", \"\");\r\n }\r\n\r\n if (evt !== null) {\r\n evt.currentTarget.className += \" active\";\r\n } else {\r\n if (id !== '') {\r\n let elementById = document.getElementById(id);\r\n elementById.className = elementById.className += \" active\";\r\n }\r\n }\r\n}\r\nexport const prepareCartObj = ({ name, count, isTopUp, scenarios }) => {\r\n return {\r\n \"Name\": name,\r\n \"isTopUp\": isTopUp,\r\n \"ScenarioCount\": count,\r\n \"Scenarios\": scenarios\r\n }\r\n}\r\n\r\nexport const setInitialStates = (earlierData) => {\r\n return {\r\n selectAllCheck: false, scenarios: [], selectedItems: {},\r\n showReviewCart: false, searchScenario: \"\", isSelectAll: false,\r\n mandatoryScenarios: null,\r\n activeSection: { activeSectionsearchTextFilter: false, activeSectionIFMFilter: (earlierData && earlierData.activeSection && earlierData.activeSection && earlierData.activeSection.activeSectionIFMFilter), activeSectionbasePackFilter: (earlierData && earlierData.activeSection && earlierData.activeSection && earlierData.activeSection.activeSectionbasePackFilter) },\r\n cartScenarios: (earlierData && earlierData.cartScenarios) || {}, showToast: 0, topUpIFunctionsList: [], topUpModuleList: [],\r\n baseIndex: (earlierData && earlierData.baseIndex) || 0, topUpIndex: 0, basePackChbk: (earlierData && earlierData.basePackIndustry && earlierData.basePackChbk), basePackIndustry: (earlierData && earlierData.basePackIndustry && earlierData.basePackChbk) ? earlierData.basePackIndustry : '',\r\n topUpIndustry: (earlierData && earlierData.topUpIndustry) ? earlierData.topUpIndustry : '',\r\n topUpFunction: (earlierData && earlierData.topUpFunction) ? earlierData.topUpFunction : '',\r\n topUpModule: (earlierData && earlierData.topUpModule) ? earlierData.topUpModule : '',\r\n tmpTopUpIndustry: (earlierData && earlierData.tmpTopUpIndustry) ? earlierData.tmpTopUpIndustry : '',\r\n tmpTopUpFunction: (earlierData && earlierData.tmpTopUpFunction) ? earlierData.tmpTopUpFunction : '',\r\n tmpTopUpModule: (earlierData && earlierData.tmpTopUpModule) ? earlierData.tmpTopUpModule : '',\r\n selectedBaseIndustryNm: (earlierData && earlierData.selectedBaseIndustryNm) ? earlierData.selectedBaseIndustryNm : '',\r\n selectedTopUpIndustry: (earlierData && earlierData.selectedTopUpIndustry) ? earlierData.selectedTopUpIndustry : '',\r\n\r\n };\r\n}\r\n\r\nexport const updateCartForRemove = (arr) => {\r\n return arr.reduce((acc, currentVal) => {\r\n return { ...acc, [currentVal.isTopUp ? 'topup' : 'basePack']: currentVal }\r\n }, {})\r\n}\r\nexport const getTopupScenarioIds = scenarios => {\r\n let updatedArr = []\r\n scenarios.reduce((acc, currentVal) => {\r\n updatedArr = [...updatedArr, { scenarioId: currentVal.ScenarioID }]\r\n return acc\r\n }, [])\r\n return updatedArr\r\n}\r\n\r\nexport const getCountForReviewBtn = cartDetails => {\r\n if (Object.entries(cartDetails).length === 0) return 0\r\n return Object.values(cartDetails).reduce((acc, currValue) => {\r\n return acc + (currValue.isTopUp === false ? currValue.ScenarioCount : currValue.Scenarios.length)\r\n }, 0)\r\n}","import * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\n\r\nconst fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst fileExtension = '.xlsx';\r\n//For Exporting data in the xlsx format takes filename and csvData as parameters\r\nexport const exportToCSV = ({ csvData, fileName, isInternalRequestExport, listType }) => {\r\n let ws, workItemDetails;\r\n if (listType === \"RequestDetails\") {\r\n if (isInternalRequestExport === true) {\r\n ws = XLSX.utils.json_to_sheet([{ C: csvData.RequestsFilter[0].RequestType }, { C: csvData.RequestsFilter[0].Service }, { C: csvData.RequestsFilter[0].Status }, { C: csvData.RequestsFilter[0].SubmittedOn }], { skipHeader: true, origin: \"C2\" });\r\n XLSX.utils.sheet_add_json(ws, [{ B: \"Request Type\" }, { B: \"Service\" }, { B: \"Status\" }, { B: \"Submitted On\" }], { skipHeader: true, origin: \"B2\" });\r\n } else {\r\n ws = XLSX.utils.json_to_sheet([{ C: csvData.RequestsFilter[0].RequestType }, { C: csvData.RequestsFilter[0].Service }, { C: csvData.RequestsFilter[0].Status }, { C: csvData.RequestsFilter[0].DueDate }], { skipHeader: true, origin: \"C2\" });\r\n XLSX.utils.sheet_add_json(ws, [{ B: \"Request Type\" }, { B: \"Service\" }, { B: \"Status\" }, { B: \"Due Date\" }], { skipHeader: true, origin: \"B2\" });\r\n }\r\n XLSX.utils.sheet_add_json(ws, csvData.RequestsDetails, { origin: \"A7\" });\r\n let wb = { Sheets: { 'RequestDetails': ws }, SheetNames: ['RequestDetails'] };\r\n if (!!csvData.WorkItemDetails) {\r\n workItemDetails = XLSX.utils.sheet_add_json(workItemDetails, csvData.WorkItemDetails, { origin: \"A2\" });\r\n wb = { Sheets: { 'RequestDetails': ws, 'WorkItemDetails': workItemDetails }, SheetNames: ['RequestDetails', 'WorkItemDetails'] };\r\n }\r\n const excelBuffer = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });\r\n const data = new Blob([excelBuffer], { type: fileType });\r\n let tempFileName = `${fileName}${fileExtension}`\r\n FileSaver.saveAs(data, tempFileName);\r\n }\r\n else {\r\n ws = XLSX.utils.json_to_sheet([{ C: csvData.IncidentsFilter[0].IncidentType }, { C: csvData.IncidentsFilter[0].Service }, { C: csvData.IncidentsFilter[0].Status }, { C: csvData.IncidentsFilter[0].SubmittedOn }], { skipHeader: true, origin: \"C2\" });\r\n XLSX.utils.sheet_add_json(ws, [{ B: \"Incident Type\" }, { B: \"Service\" }, { B: \"Status\" }, { B: \"Submitted On\" }], { skipHeader: true, origin: \"B2\" });\r\n XLSX.utils.sheet_add_json(ws, csvData.IncidentDetails, { origin: \"A7\" });\r\n let wb = { Sheets: { 'IncidentDetails': ws }, SheetNames: ['IncidentDetails'] };\r\n if (!!csvData.WorkItemDetails) {\r\n workItemDetails = XLSX.utils.sheet_add_json(workItemDetails, csvData.WorkItemDetails, { origin: \"A2\" });\r\n wb = { Sheets: { 'IncidentDetails': ws, 'WorkItemDetails': workItemDetails }, SheetNames: ['IncidentDetails', 'WorkItemDetails'] };\r\n }\r\n const excelBuffer = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });\r\n const data = new Blob([excelBuffer], { type: fileType });\r\n let tempFileName = `${fileName}${fileExtension}`\r\n FileSaver.saveAs(data, tempFileName);\r\n }\r\n}\r\n\r\nconst createWorkBook = (ws, fileName) => {\r\n const wb = { Sheets: { 'data': ws }, SheetNames: ['data'] };\r\n const excelBuffer = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });\r\n const data = new Blob([excelBuffer], { type: fileType });\r\n let tempFileName = `${fileName}${fileExtension}`\r\n FileSaver.saveAs(data, tempFileName);\r\n}\r\n\r\nexport const exportProcessCompData = (csvData, fileName) => {\r\n const ws = XLSX.utils.json_to_sheet([{ C: csvData.RequestDetails[0].RequestNumber }, { C: csvData.RequestDetails[0].WBS }, { C: csvData.RequestDetails[0].CreatedOn }, { C: csvData.RequestDetails[0].CreatedBy }], { skipHeader: true, origin: \"C2\" });\r\n XLSX.utils.sheet_add_json(ws, [{ B: \"Request Number\" }, { B: \"WBS\" }, { B: \"Created On\" }, { B: \"Created By\" }], { skipHeader: true, origin: \"B2\" });\r\n XLSX.utils.sheet_add_json(ws, csvData.ScenarioDetails, { origin: \"A7\" });\r\n createWorkBook(ws, fileName)\r\n}\r\n\r\nexport const exportBulkIntegrationData = (csvData, fileName) => {\r\n const ws = XLSX.utils.json_to_sheet([], { skipHeader: true, origin: \"C2\" });\r\n XLSX.utils.sheet_add_json(ws, csvData, { origin: \"A1\" });\r\n createWorkBook(ws, fileName)\r\n}","import React, { Component, Fragment } from \"react\";\r\nimport \"./process-composition-additional.scss\";\r\nimport { getData } from '../../../api/api-manager';\r\nimport ReviewCart from \"../../../components/review-cart/review-cart\";\r\nimport NextButton from \"../../../components/button/nextbutton\";\r\nimport { prepareCartObj, updateCartForRemove } from \"../../form/process-composition-form/process-composition-functions\"\r\nimport { exportProcessCompData } from '../../../components/export-xlsx/export-xlsx';\r\nimport { downLoadXmlFile } from '../../../components/file-manipulations/download'\r\nclass ProcessCompositionAdditionalDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n baseIndex: 0, topUpIndex: 0, showMoreClick: '', openSections: {}\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getScenarios();\r\n }\r\n\r\n async getScenarios() {\r\n let url = `ScenariosByReqNumber?reqNumber=${this.props.requestnumber}&basePackIndex=${this.state.baseIndex}&topUpIndex=${this.state.topUpIndex}`;\r\n const response = await getData({ serviceName: url });\r\n const { data, success, error } = response;\r\n\r\n if (success) {\r\n if (this.state.baseIndex === 0) {\r\n const formattedData = updateCartForRemove(data.RequestedScenarios)\r\n await this.setState({\r\n RecordsData: Object.values(formattedData),\r\n formattedCartData: formattedData\r\n })\r\n } else {\r\n let cartScenarios = this.state.formattedCartData\r\n let basePackArr = [], topupArr = []\r\n const formattedData = updateCartForRemove(data.RequestedScenarios)\r\n if (formattedData && formattedData.basePack && formattedData.basePack.Scenarios && formattedData.basePack.Scenarios.length > 0) {\r\n if (this.state.formattedCartData && this.state.formattedCartData.basePack && this.state.formattedCartData.basePack.Scenarios) {\r\n basePackArr = [...this.state.formattedCartData.basePack.Scenarios, ...formattedData.basePack.Scenarios]\r\n cartScenarios = {\r\n ...cartScenarios,\r\n basePack: prepareCartObj({ name: formattedData.basePack.ScenarioType, count: formattedData.basePack.ScenarioCount, scenarios: basePackArr, isTopUp: false })\r\n }\r\n }\r\n }\r\n if (formattedData && formattedData.topup && formattedData.topup.Scenarios && formattedData.topup.Scenarios.length > 0) {\r\n if (this.state.formattedCartData && this.state.formattedCartData.topup && this.state.formattedCartData.topup.Scenarios) {\r\n topupArr = [...this.state.formattedCartData.topup.Scenarios, ...formattedData.topup.Scenarios]\r\n cartScenarios = {\r\n ...cartScenarios,\r\n topup: prepareCartObj({ name: 'Top-up Process Scenarios', count: formattedData.topup.ScenarioCount, scenarios: topupArr, isTopUp: true })\r\n }\r\n }\r\n }\r\n\r\n let formatteReviewData = {}\r\n if (cartScenarios && cartScenarios.basePack) {\r\n formatteReviewData = {\r\n ...formatteReviewData,\r\n basePack: cartScenarios.basePack,\r\n }\r\n }\r\n if (cartScenarios && cartScenarios.topup) {\r\n formatteReviewData = {\r\n ...formatteReviewData,\r\n topup: cartScenarios.topup,\r\n }\r\n }\r\n await this.setState({\r\n RecordsData: Object.values(formatteReviewData),\r\n formattedCartData: cartScenarios\r\n })\r\n }\r\n } else {\r\n await this.setState({ error: error, showSpinner: false });\r\n }\r\n }\r\n clickShowMore(isTopUp) {\r\n this.setState({\r\n baseIndex: this.state.baseIndex + 1,\r\n topUpIndex: this.state.baseIndex + 1,\r\n showMoreClick: isTopUp ? 'topup' : 'basepack'\r\n }, () => {\r\n this.getScenarios();\r\n })\r\n }\r\n async handleExportXlsxData() {\r\n let url = `ExportScenarios?requestNumber=${this.props.requestnumber}`;\r\n const response = await getData({ serviceName: url });\r\n const { data, success, error } = response;\r\n if (success) {\r\n exportProcessCompData(data, `ProcessComposition-${this.props.requestnumber}`)\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n async handleXmlData() {\r\n let url = `GenerateXML?requestNumber=${this.props.requestnumber}`;\r\n const response = await getData({ serviceName: url });\r\n const { data, success, error } = response;\r\n if (success) {\r\n downLoadXmlFile(data, `ProcessComposition-${this.props.requestnumber}.xml`)\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n render() {\r\n return (\r\n \r\n this.clickShowMore(isTopUp)}>\r\n\r\n
\r\n { this.handleExportXlsxData() }} />\r\n { this.handleXmlData() }} disabled={!this.props.isEditable} />\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ProcessCompositionAdditionalDetails;\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { format } from \"date-fns\";\r\nimport * as constant from \"../../../components/constants/constant\";\r\nimport \"./sap-additional-details.scss\";\r\nimport Popup from \"../../../components/popup/popup\";\r\nimport OutsideClickAlerter from \"../../../components/outside-click-alerter/outside-click-alerter\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport { postData } from \"../../../api/api-manager\";\r\nimport { showStatusName } from \"./sap-additional-function\";\r\n\r\nclass SuccessFactorAdditionalDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showConfirmationPopup: false,\r\n };\r\n }\r\n\r\n handleClickOnMore(SystemId, landscapeId) {\r\n this.setState({\r\n [`${SystemId}-popup`]: true,\r\n selectedSystemId: SystemId,\r\n selectedLandscapeId: landscapeId,\r\n });\r\n }\r\n\r\n handleOutsideClick() {\r\n this.setState({\r\n userActionPopup: false,\r\n [`${this.state.selectedSystemId}-popup`]: false,\r\n });\r\n }\r\n handleSystemAction(e, item) {\r\n const { ID } = item;\r\n this.setState({\r\n [`${this.state.selectedSystemId}-popup`]: false,\r\n UserActionId: ID,\r\n showConfirmationPopup: true,\r\n });\r\n }\r\n async updateSystemdata() {\r\n let submittedData, serviceName;\r\n if (this.props.formName === \"successFactor\") {\r\n submittedData = {\r\n RequestNumber: this.props.requestnumber,\r\n ModuleId: this.state.selectedSystemId,\r\n GroupId: this.state.selectedLandscapeId,\r\n UserAction: this.state.UserActionId,\r\n };\r\n serviceName = \"ProvisionSFModule\";\r\n }\r\n if (this.props.formName === \"BTP\") {\r\n submittedData = {\r\n RequestNumber: this.props.requestnumber,\r\n ApplicationId: this.state.selectedSystemId,\r\n FunctionId: this.state.selectedLandscapeId,\r\n UserAction: this.state.UserActionId,\r\n };\r\n serviceName = \"UpdateBTPProvisionDetails\";\r\n }\r\n\r\n const response = await postData({\r\n serviceName: serviceName,\r\n data: submittedData,\r\n });\r\n const { success, error } = await response;\r\n this.setState({ showConfirmationPopup: false });\r\n if (success) {\r\n this.props.getInitialReqStates();\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true });\r\n }\r\n }\r\n\r\n render() {\r\n \r\n const {\r\n Groups,\r\n StatusList = [],\r\n Functions,\r\n StatusList: statList = [],\r\n btpSytemAction = [],\r\n formName,\r\n feedback,\r\n priority,\r\n Category,\r\n successFactorSytemAction = [],\r\n } = this.props;\r\n console.log(this.props)\r\n return (\r\n
\r\n {formName==\"eFsuccessFactor\" &&
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {formName==\"eFsuccessFactor\" && Groups.length>0 &&\r\n Groups.map((row,key)=>{\r\n return (\r\n \r\n \r\n 0 ? \"5\" : \"4\"\r\n }\r\n className=\"bcolor\"\r\n >\r\n {row.GroupName}\r\n \r\n \r\n {row.Modules.map((details, index) => {\r\n return (\r\n \r\n )})}\r\n \r\n )})}\r\n \r\n
Module(s)
{details.Name}
\r\n
\r\n
\r\n
\r\n {formName === \"eFsuccessFactor\" && Category.length > 0 && (\r\n
\r\n Categories\r\n
\r\n {Category.map((row) => row.Name).join(\", \")}\r\n
\r\n
\r\n)}\r\n\r\n
\r\n Feedback\r\n
\r\n {feedback}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Priority\r\n
\r\n {priority}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n } \r\n {!!Groups && Groups.length > 0 && formName!==\"eFsuccessFactor\" ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {successFactorSytemAction.length > 0 ? (\r\n \r\n ) : null}\r\n \r\n \r\n \r\n {Groups &&\r\n Groups.length > 0 &&\r\n Groups.map((row, key) => {\r\n return (\r\n \r\n \r\n 0 ? \"5\" : \"4\"\r\n }\r\n className=\"bcolor\"\r\n >\r\n {row.GroupName}\r\n \r\n \r\n {row.Modules.map((details, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {successFactorSytemAction.length > 0 && (\r\n \r\n )}\r\n {this.state[`${details.ModuleID}-popup`] && (\r\n
\r\n {\r\n this.handleOutsideClick();\r\n }}\r\n >\r\n {\r\n return (\r\n \r\n this.handleSystemAction(e, item)\r\n }\r\n >\r\n {item.Name}\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
Module(s)StatusActioned ByActioned On
{details.Name}\r\n {showStatusName(\r\n { StatusList: StatusList },\r\n details.Status\r\n )}\r\n \r\n {details.ActionedBy ? details.ActionedBy : \"—\"}\r\n \r\n {details.ActionedOn\r\n ? format(\r\n new Date(details.ActionedOn),\r\n \"dd-MMM-yyyy hh:mm a\"\r\n )\r\n : \"—\"}\r\n \r\n \r\n this.handleClickOnMore(\r\n details.ModuleID,\r\n row.GroupId\r\n )\r\n }\r\n >\r\n \"More\"\r\n \r\n
\r\n {this.state.showConfirmationPopup && (\r\n {\r\n this.setState({ showConfirmationPopup: false });\r\n }}\r\n cancelBtn={true}\r\n handleClose={() => {\r\n this.updateSystemdata();\r\n }}\r\n showIcon={true}\r\n okBtnName=\"ok\"\r\n cancelBtnName=\"cancel\"\r\n >\r\n

\r\n Are you sure you want to save the changes{\" \"}\r\n

\r\n \r\n )}\r\n\r\n {this.state.showErrorPopup && (\r\n {\r\n this.setState({ showErrorPopup: false });\r\n }}\r\n buttonPosition=\"center-button\"\r\n >\r\n

{this.state.error}

\r\n \r\n )}\r\n
\r\n ) : formName!==\"eFsuccessFactor\" && (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {btpSytemAction.length > 0 ? (\r\n \r\n ) : null}\r\n \r\n \r\n \r\n {Functions &&\r\n Functions.length > 0 &&\r\n Functions.map((row, key) => {\r\n return (\r\n \r\n \r\n 0 ? \"5\" : \"4\"}\r\n className=\"bcolor\"\r\n >\r\n {row.FunctionName}\r\n \r\n \r\n {row.Applications.map((details, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {btpSytemAction.length > 0 && (\r\n \r\n )}\r\n {this.state[`${details.ApplicationID}-popup`] && (\r\n {\r\n this.handleOutsideClick();\r\n }}\r\n >\r\n {\r\n return (\r\n \r\n this.handleSystemAction(e, item)\r\n }\r\n >\r\n {item.Name}\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
Application(s)StatusActioned ByActioned On
{details.Name}\r\n {showStatusName(\r\n { StatusList: statList },\r\n details.Status\r\n )}\r\n \r\n {details.ActionedBy ? details.ActionedBy : \"—\"}\r\n \r\n {details.ActionedOn\r\n ? format(\r\n new Date(details.ActionedOn),\r\n \"dd-MMM-yyyy hh:mm a\"\r\n )\r\n : \"—\"}\r\n \r\n \r\n this.handleClickOnMore(\r\n details.ApplicationID,\r\n row.FunctionId\r\n )\r\n }\r\n >\r\n \"More\"\r\n \r\n
\r\n {this.state.showConfirmationPopup && (\r\n {\r\n this.setState({ showConfirmationPopup: false });\r\n }}\r\n cancelBtn={true}\r\n handleClose={() => {\r\n this.updateSystemdata();\r\n }}\r\n showIcon={true}\r\n okBtnName=\"ok\"\r\n cancelBtnName=\"cancel\"\r\n >\r\n

\r\n Are you sure you want to save the changes{\" \"}\r\n

\r\n \r\n )}\r\n\r\n {this.state.showErrorPopup && (\r\n {\r\n this.setState({ showErrorPopup: false });\r\n }}\r\n buttonPosition=\"center-button\"\r\n >\r\n

{this.state.error}

\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default SuccessFactorAdditionalDetails;","import React, { Component, Fragment } from \"react\";\r\nimport { format } from \"date-fns\";\r\nimport * as constant from \"../../../components/constants/constant\";\r\nimport \"./sap-additional-details.scss\";\r\nimport Popup from \"../../../components/popup/popup\";\r\nimport OutsideClickAlerter from \"../../../components/outside-click-alerter/outside-click-alerter\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport { postData } from \"../../../api/api-manager\";\r\nimport { showStatusName } from \"./sap-additional-function\";\r\n\r\nclass TalentHRAdditionalDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showConfirmationPopup: false,\r\n };\r\n }\r\n\r\n handleClickOnMore(SystemId, landscapeId) {\r\n this.setState({\r\n [`${SystemId}-popup`]: true,\r\n selectedSystemId: SystemId,\r\n selectedLandscapeId: landscapeId,\r\n });\r\n }\r\n\r\n handleOutsideClick() {\r\n this.setState({\r\n userActionPopup: false,\r\n [`${this.state.selectedSystemId}-popup`]: false,\r\n });\r\n }\r\n handleSystemAction(e, item) {\r\n const { ID } = item;\r\n this.setState({\r\n [`${this.state.selectedSystemId}-popup`]: false,\r\n UserActionId: ID,\r\n showConfirmationPopup: true,\r\n });\r\n }\r\n async updateSystemdata() {\r\n const submittedData = {\r\n RequestNumber: this.props.requestnumber,\r\n ModuleId: this.state.selectedSystemId,\r\n GroupId: this.state.selectedLandscapeId,\r\n UserAction: this.state.UserActionId,\r\n };\r\n const serviceName = \"ProvisionTalentHRModule\";\r\n const response = await postData({\r\n serviceName: serviceName,\r\n data: submittedData,\r\n });\r\n const { success, error } = await response;\r\n this.setState({ showConfirmationPopup: false });\r\n if (success) {\r\n this.props.getInitialReqStates();\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true });\r\n }\r\n }\r\n\r\n render() {\r\n const { Groups, StatusList = [], talentHRSytemAction = [] } = this.props;\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {talentHRSytemAction.length > 0 ? (\r\n \r\n ) : null}\r\n \r\n \r\n \r\n {Groups &&\r\n Groups.length > 0 &&\r\n Groups.map((row, key) => {\r\n return (\r\n \r\n \r\n 0 ? \"5\" : \"4\"}\r\n className=\"bcolor\"\r\n >\r\n {row.GroupName}\r\n \r\n \r\n {row.Module.map((details, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {talentHRSytemAction.length > 0 && (\r\n \r\n )}\r\n {this.state[`${details.ModuleID}-popup`] && (\r\n {\r\n this.handleOutsideClick();\r\n }}\r\n >\r\n {\r\n return (\r\n \r\n this.handleSystemAction(e, item)\r\n }\r\n >\r\n {item.Name}\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
Module(s)StatusActioned ByActioned On
{details.Name}\r\n {showStatusName(\r\n { StatusList: StatusList },\r\n details.Status\r\n )}\r\n \r\n {details.ActionedBy ? details.ActionedBy : \"—\"}\r\n \r\n {details.ActionedOn\r\n ? format(\r\n new Date(details.ActionedOn),\r\n \"dd-MMM-yyyy hh:mm a\"\r\n )\r\n : \"—\"}\r\n \r\n \r\n this.handleClickOnMore(\r\n details.ModuleID,\r\n row.GroupId\r\n )\r\n }\r\n >\r\n \"More\"\r\n \r\n
\r\n {this.state.showConfirmationPopup && (\r\n {\r\n this.setState({ showConfirmationPopup: false });\r\n }}\r\n cancelBtn={true}\r\n handleClose={() => {\r\n this.updateSystemdata();\r\n }}\r\n showIcon={true}\r\n okBtnName=\"ok\"\r\n cancelBtnName=\"cancel\"\r\n >\r\n

\r\n Are you sure you want to save the changes{\" \"}\r\n

\r\n \r\n )}\r\n\r\n {this.state.showErrorPopup && (\r\n {\r\n this.setState({ showErrorPopup: false });\r\n }}\r\n buttonPosition=\"center-button\"\r\n >\r\n

{this.state.error}

\r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default TalentHRAdditionalDetails;","import React, { Component, Fragment } from \"react\";\r\nimport { format } from \"date-fns\";\r\nimport * as constant from \"../../../components/constants/constant\";\r\nimport \"./oracle-form-additional-details.scss\";\r\nimport Tootltip from \"../../../components/tool-tip/tool-tip\"\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport { splitEmails } from \"./sap-additional-function\"\r\n\r\nclass OracleFormAdditionalDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showConfirmationPopup: false\r\n };\r\n }\r\n\r\n handleOutsideClick() {\r\n this.setState({\r\n userActionPopup: false,\r\n [`${this.state.selectedSystemId}-popup`]: false\r\n })\r\n }\r\n\r\n render() {\r\n const { plannedStartDate, plannedEndDate, listOfUserEmails, Industry, alertType, userActionMsg } = this.props;\r\n const emails = splitEmails(listOfUserEmails)\r\n return (\r\n
\r\n
    \r\n
      \r\n
    • {format(new Date(plannedStartDate), \"dd-MMM-yyyy\")}
    • \r\n
    • \r\n
      \r\n
      { this.handleOutsideClick() }}>\r\n {!!alertType && userActionMsg && \"Info\"\r\n {userActionMsg}

      }>
      }\r\n
      \r\n {format(new Date(plannedEndDate), \"dd-MMM-yyyy\")}\r\n
    • \r\n
    \r\n
      \r\n
    • {emails.map((i, index) => {\r\n return (\r\n \r\n {i}
      \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 {Industry && Industry.map((row, key) => {\r\n return (\r\n \r\n \r\n {row.Systems.map((details, index) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n )\r\n })}\r\n \r\n
    Systems/ Applications
    {row.Name}
    {details.Name}
    \r\n {this.state.showErrorPopup && {\r\n this.setState({ showErrorPopup: false })\r\n }} buttonPosition=\"center-button\">

    {this.state.error}

    }\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default OracleFormAdditionalDetails;","import React , { useState, useEffect, useRef } from 'react';\r\nimport './custom-multiselect.scss';\r\nimport arrowDown from '../../assets/images/collapsable-down-black-arrow.svg';\r\nimport useOutsideElementHandler from '../../CustomHooks/useOutsideElementHandler';\r\n\r\nconst CustomMultiselect =(props)=> {\r\n \r\n const [selectedItems , setSelectedItems] = useState('');\r\n const [showDropdown , setShowDropdown] = useState(false);\r\n //const [optionListWithId , setOptionListWithId] = useState({});\r\n const [selectedIds , setSelectedIds] = useState([]);\r\n const [selectedOptionList , setSelectOptionList] = useState([]);\r\n const [selectAllFlag , setSelectAllFlag] = useState(false);\r\n const dropDownRef = useRef(null);\r\n useOutsideElementHandler(dropDownRef, ()=>setShowDropdown(false));\r\n \r\n useEffect(()=>{\r\n let tempOptionListWithId ={}\r\n if(props.options){\r\n props.options.forEach(element => {\r\n tempOptionListWithId[element.ID] =element.Name;\r\n })\r\n } \r\n // setOptionListWithId(tempOptionListWithId);\r\n let tempSelectedItems = [];\r\n let tempSelectedIds = [];\r\n let tempSelectedOptionList =[];\r\n if(props.selectedValues){\r\n props.selectedValues.forEach((option)=>{\r\n if(tempOptionListWithId[option.ID]){\r\n tempSelectedItems.push(option.Name);\r\n tempSelectedIds.push(option.ID)\r\n tempSelectedOptionList.push(option)\r\n }\r\n })\r\n }\r\n setSelectedItems(tempSelectedItems.join(','));\r\n setSelectedIds(tempSelectedIds);\r\n setSelectOptionList(tempSelectedOptionList);\r\n checkSelectAllOptions(Object.keys(tempOptionListWithId).map(Number),tempSelectedIds);\r\n \r\n \r\n },[props.options,props.selectedValues]);\r\n\r\n const checkSelectAllOptions =(optionIds ,selectedId) =>{\r\n let flag = false; \r\n optionIds.sort();\r\n selectedId.sort();\r\n if(optionIds.length===selectedId.length){\r\n flag = JSON.stringify(optionIds) === JSON.stringify(selectedId)\r\n }\r\n setSelectAllFlag(flag)\r\n }\r\n\r\n const toggleDropDown = ()=>setShowDropdown(!showDropdown);\r\n const checkBoxClick = (e,value, fromSelectAll) => {\r\n let tempSelectedValues = [...selectedOptionList];\r\n if(fromSelectAll){\r\n if(selectAllFlag){ // remove selectAll\r\n tempSelectedValues =[];\r\n }else{\r\n tempSelectedValues = props.options;\r\n }\r\n }else{\r\n if(selectedIds.includes(value.ID)){ //remove selection\r\n tempSelectedValues = tempSelectedValues.filter(item=>item.ID!==value.ID);\r\n }else{\r\n tempSelectedValues.push(value)\r\n }\r\n }\r\n \r\n props.onChange(tempSelectedValues,props.name);\r\n }\r\n return (\r\n \r\n <>\r\n
    \r\n \r\n {selectedItems.length?selectedItems:props.placeholder}\r\n \r\n down\r\n
    e.stopPropagation()}>\r\n
    \r\n
      \r\n {props.isSelectAllOptionEnabled &&\r\n
    • { checkBoxClick(e, '',true) }}\r\n >\r\n onGeographyCheck(es, value)}\r\n checked={selectAllFlag}\r\n key={`checkbox${props.name}`}\r\n id={`checkbox${props.name}`} />\r\n \r\n Select All\r\n \r\n
    • \r\n }\r\n {\r\n props.options.map((value, index) => {\r\n let checked = selectedIds.includes(value.ID);\r\n return (\r\n
    • { checkBoxClick(e, value) }}\r\n key={index}>\r\n onGeographyCheck(es, value)}\r\n checked={checked}\r\n key={`checkbox${props.name}` + value.ID}\r\n id={`checkbox${props.name}` + value.ID} />\r\n \r\n {value.Name}\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\nexport default CustomMultiselect;","import { useEffect } from \"react\";\r\n\r\n/**\r\n * Custom Hook that handles clicks outside of the passed ref\r\n * @author Esari Praneeth kumar\r\n * @ModifiedBy Esari Praneeth kumar\r\n * @function useOutsideElementHandler\r\n * @param {Ref} ref\r\n * @param {function} callback\r\n */\r\n export default function useOutsideElementHandler(ref , callback=()=>null) {\r\n useEffect(() => {\r\n /**\r\n * Alert if clicked on outside of element\r\n */\r\n function handleClickOutside(event) {\r\n if (ref.current && !ref.current.contains(event.target)) {\r\n callback();\r\n }\r\n }\r\n\r\n // Bind the event listener\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n // Unbind the event listener on clean up\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [ref]);\r\n}","import React from \"react\";\r\nimport \"./radiobutton.scss\";\r\n\r\nconst Radiobutton = props => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default Radiobutton;\r\n","import * as ConstantTmp from \"../../../components/constants/constant\";\r\nimport CustomReactSelectTmp from \"../../../components/custom-select/custom-react-select\";\r\nimport CustomSelectTmp from \"../../../components/custom-select/custom-select\";\r\nimport CustomMultiselectTmp from \"../../../components/custom-multiselect/custom-multiselect\";\r\nimport CustomInputTmp from \"../../../components/custom-input/custom-input\";\r\nimport CustomButtonTmp from \"../../../components/button/secondary-button\";\r\nimport CustomTextAreaTmp from \"../../../components/custom-textarea/custom-textarea\";\r\nimport ModalTmp from \"../../../components/modals/modal\";\r\nimport CustomModalTmp from \"../../../components/modals/custom-modal\";\r\nimport DatePickerTmp from \"react-datepicker\";\r\nimport dateFormatTmp from \"dateformat\";\r\nimport SpinnerTmp from \"../../../components/spinner/spinner\";\r\nimport CheckboxTmp from \"../../../components/checkbox/checkbox\";\r\nimport ToolTipTmp from \"../../../components/tool-tip/tool-tip\";\r\nimport CustomCalenderTmp from \"../../../components/custom-calenders/custom-calender\";\r\nimport PopupTmp from \"../../../components/popup/popup\";\r\nimport OutsideClickAlerterTmp from \"../../../components/outside-click-alerter/outside-click-alerter\"\r\nimport CartTmp from \"../../../components/cart/cart\";\r\nimport RadioButtonTemp from \"../../../components/radio-button/radiobutton\";\r\n\r\nexport const Constant = ConstantTmp\r\nexport const CustomReactSelect = CustomReactSelectTmp\r\nexport const CustomSelect = CustomSelectTmp\r\nexport const CustomMultiselect = CustomMultiselectTmp\r\nexport const CustomInput = CustomInputTmp\r\nexport const CustomButton = CustomButtonTmp\r\nexport const CustomTextArea = CustomTextAreaTmp\r\nexport const Modal = ModalTmp\r\nexport const CustomModal = CustomModalTmp\r\nexport const DatePicker = DatePickerTmp\r\nexport const dateFormat = dateFormatTmp\r\nexport const Checkbox = CheckboxTmp\r\nexport const Spinner = SpinnerTmp\r\nexport const ToolTip = ToolTipTmp\r\nexport const CustomCalender = CustomCalenderTmp\r\nexport const Popup = PopupTmp\r\nexport const OutsideClickAlerter = OutsideClickAlerterTmp\r\nexport const Cart = CartTmp;\r\nexport const RadioButton = RadioButtonTemp;","import React, { Component, Fragment } from \"react\";\r\nimport \"./solution-planning-additional-details.scss\";\r\nimport { CustomInput, CustomButton, CustomSelect, Spinner } from \"../../form/common-functionality-forms/form-imports\"\r\nimport solutionPlanningFormSchema from \"../../../assets/data/solution-planning-form.json\";\r\nimport NextButton from \"../../../components/button/nextbutton\";\r\nimport { validateWithPattern , duplicateEmail} from '../../../components/validators/validate';\r\nimport { postData, getData } from \"../../../api/api-manager\";\r\n\r\n\r\n\r\nclass SolutionPlanningAdditionalDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n const {\r\n OpportunityStage,\r\n OpportunityType,\r\n deliveryLead,\r\n solutionArchitect,\r\n requestnumber,\r\n isEditable\r\n } = this.props;\r\n this.state = {\r\n isEditable: false,\r\n isUserCanEdit: true,\r\n opportunityType: OpportunityType,\r\n opportunityStage: OpportunityStage,\r\n deliveryLead: deliveryLead,\r\n solutionArchitect: solutionArchitect,\r\n formError: {},\r\n isSystemsEditable: isEditable,\r\n requestnumber: requestnumber,\r\n showSpinner: false\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n this.getAdditionDetails();\r\n }\r\n\r\n componentWillUnmount() {\r\n this.getAdditionDetails();\r\n }\r\n\r\n componentWillReceiveProps(prevProps) {\r\n if (this.state.isSystemsEditable !== prevProps.isEditable) {\r\n this.setState({ isSystemsEditable: prevProps.isEditable });\r\n }\r\n }\r\n\r\n handleFormUpdate = async (event) => {\r\n await this.setState({ showSpinner: true });\r\n let data = {};\r\n data = {\r\n \"RequestNumber\": this.state.requestnumber,\r\n \"OpportunityTypeID\": this.state.opportunityType[0].ID,\r\n \"OpportunityStageID\": this.state.opportunityStage[0].ID,\r\n \"DeliveryLead\": this.state.deliveryLead,\r\n \"SolutionArchitect\": this.state.solutionArchitect\r\n }\r\n let submitData = { additionalDetails: { ...data } };\r\n const response = await postData({\r\n serviceName: `UpdateSolutionPlanningAdditionalDetails`,\r\n data: submitData,\r\n });\r\n const { success, error } = await response;\r\n\r\n await this.getAdditionDetails();\r\n if (success) {\r\n await this.setState({ showSpinner: false, isEditable: false });\r\n }\r\n else {\r\n this.setState({ showSpinner: false, error: error, showErrorPopup: true });\r\n }\r\n }\r\n\r\n async getAdditionDetails() {\r\n const serviceName = `PopulateSolutionPlanningAdditionalDetails?requestNumber=${this.state.requestnumber}`;\r\n const response = await getData({\r\n serviceName\r\n });\r\n\r\n const { success, error, data } = await response;\r\n if (success) {\r\n await this.setState({\r\n opportunityType: data && data.OpportunityType,\r\n opportunityStage: data && data.OpportunityStage,\r\n deliveryLead: data && data.DeliveryLead.split(';').join('; '), \r\n solutionArchitect: data && data.SolutionArchitect.split(';').join('; ')\r\n });\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true, showSpinner: false, canGetAttachments: true, initialAttachmentCnt: 0 });\r\n }\r\n }\r\n\r\n enableUpdateButton() {\r\n const { OpportunityType, OpportunityStage, deliveryLead, solutionArchitect } = this.props;\r\n const isError = Object.values(this.state.formError).filter(\r\n (item) => item !== \"\"\r\n );\r\n return ((\r\n ((this.state.opportunityType[0].Name !== OpportunityType[0].Name) ||\r\n (this.state.opportunityStage[0].Name !== OpportunityStage[0].Name) ||\r\n (this.state.deliveryLead !== deliveryLead) ||\r\n (this.state.solutionArchitect !== solutionArchitect))\r\n && isError.length <= 0) ? true : false)\r\n }\r\n\r\n convertNameToId = (name, list) => {\r\n let reqObj = list.find(el => el.Name === name);\r\n return reqObj.ID;\r\n }\r\n\r\n handleInput = (e) => {\r\n const { name, value } = e.target;\r\n let id\r\n const { OpportunityTypeList, OpportunityStageList } = this.props;\r\n switch (name) {\r\n case 'opportunityType':\r\n id = this.convertNameToId(value, OpportunityTypeList)\r\n this.setState({\r\n opportunityType: [{ ID: parseInt(id), Name: value }]\r\n })\r\n break;\r\n case 'opportunityStage':\r\n id = this.convertNameToId(value, OpportunityStageList)\r\n this.setState({\r\n opportunityStage: [{ ID: parseInt(id), Name: value }]\r\n })\r\n break;\r\n case 'deliveryLead':\r\n this.setState({ deliveryLead: value })\r\n break;\r\n case 'solutionArchitect':\r\n this.setState({ solutionArchitect: value })\r\n break;\r\n default: break;\r\n }\r\n this.validateInput(name, value);\r\n }\r\n\r\n validateInput = (name, value) => {\r\n const formFields = solutionPlanningFormSchema && solutionPlanningFormSchema.Config;\r\n let isValid, haveDuplicate, pattern, fieldObj, errorMessage = '', errorKey = `${name.charAt(0).toUpperCase() + name.slice(1)}Error`;\r\n fieldObj = formFields.find(el => el.FormKey.toLowerCase() === name.toLowerCase());\r\n if (value === '') {\r\n errorMessage = fieldObj.ValidationMessages.RequiredMessage;\r\n } else {\r\n pattern = fieldObj.Validations.Pattern;\r\n isValid = validateWithPattern({ pattern, value });\r\n haveDuplicate = duplicateEmail(value);\r\n if (!isValid) {\r\n errorMessage = fieldObj.ValidationMessages.PatternMessage;\r\n }\r\n if (haveDuplicate) {\r\n errorMessage = fieldObj.ValidationMessages.duplicateMessage;\r\n }\r\n }\r\n return this.setState({ formError: { ...this.state.formError, [errorKey]: errorMessage } })\r\n }\r\n\r\n handleButton() {\r\n if (this.state.isEditable) {\r\n this.setState({\r\n isEditable: false, opportunityType: this.props.OpportunityType, opportunityStage: this.props.OpportunityStage,\r\n deliveryLead: this.props.deliveryLead, solutionArchitect: this.props.solutionArchitect\r\n })\r\n }\r\n else {\r\n this.setState({ isEditable: true })\r\n }\r\n }\r\n\r\n async setStates(state) {\r\n await this.setState({\r\n ...state\r\n });\r\n }\r\n\r\n render() {\r\n const formFields = solutionPlanningFormSchema && solutionPlanningFormSchema.Config;\r\n const { OpportunityTypeList, OpportunityStageList } = this.props;\r\n return (\r\n
    \r\n {!this.state.isEditable ? (\r\n \r\n
    \r\n
      \r\n
    • \r\n \r\n {this.state.opportunityType[0].Name}\r\n
    • \r\n
    • \r\n \r\n {this.state.opportunityStage[0].Name}\r\n
    • \r\n
    • \r\n \r\n {this.state.deliveryLead}\r\n
    • \r\n
    • \r\n \r\n {this.state.solutionArchitect}\r\n
    • \r\n
    \r\n
    \r\n
    \r\n ) :\r\n \r\n
    \r\n {formFields && formFields.length > 0 && formFields.map((form) => {\r\n let keyString = `${form.FormKey}Error`\r\n if (form.FormKey === \"OpportunityType\") {\r\n return (\r\n \r\n \r\n this.handleInput(e)}\r\n name=\"opportunityType\"\r\n options={OpportunityTypeList}\r\n selected_value={this.state.opportunityType[0].Name}\r\n use_name=\"true\"\r\n />\r\n {!!this.state.formError[keyString] ? {this.state.formError[keyString]} : ''}\r\n \r\n );\r\n }\r\n if (form.FormKey === \"OpportunityStage\") {\r\n return (\r\n \r\n \r\n this.handleInput(e)}\r\n name=\"opportunityStage\"\r\n id={this.state.opportunityType[0].ID}\r\n options={OpportunityStageList}\r\n selected_value={this.state.opportunityStage[0].Name}\r\n use_name=\"true\"\r\n />\r\n {this.state.formError[keyString] ? {this.state.formError[keyString]} : ''}\r\n \r\n );\r\n }\r\n if (form.FormKey === \"DeliveryLead\") {\r\n return (\r\n \r\n this.handleInput(e)}\r\n />\r\n {!!this.state.formError[keyString] ? {this.state.formError[keyString]} : ''}\r\n \r\n )\r\n }\r\n if (form.FormKey === \"SolutionArchitect\") {\r\n return (\r\n \r\n \r\n {!!this.state.formError[keyString] ? {this.state.formError[keyString]} : ''}\r\n \r\n );\r\n }\r\n return null;\r\n })}\r\n
    \r\n
    }\r\n {this.state.showSpinner && }\r\n
    \r\n {this.state.isEditable ? ( this.handleFormUpdate()}\r\n disabled={!this.enableUpdateButton()}\r\n />\r\n ) :\r\n this.handleFormUpdate()}\r\n disabled={!this.state.isEditable}\r\n />}\r\n\r\n {this.state.isSystemsEditable && (\r\n this.handleButton(e)}\r\n />\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nexport default SolutionPlanningAdditionalDetails;","import React, { Component, Fragment } from \"react\";\r\nimport \"./solutioning-details.scss\";\r\nimport * as Constant from \"../../../components/constants/constant\";\r\nimport { Spinner } from \"../../form/common-functionality-forms/form-imports\"\r\nimport NextButton from \"../../../components/button/nextbutton\";\r\nimport Tooltip from \"../../../components/tool-tip/tool-tip\";\r\nimport { getData, postData } from \"../../../api/api-manager\";\r\nimport Checkbox from \"../../../components/checkbox/checkbox\";\r\nimport RadioButton from \"../../../components/radio-button/radiobutton\";\r\nimport { downloadFile } from \"../../../components/file-manipulations/download\";\r\nimport { UTIL_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport Modal from \"../../../components/modals/modal\";\r\n\r\nclass SolutioningDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n const {\r\n requestnumber,\r\n isEditable,\r\n } = this.props;\r\n this.state = {\r\n recordCheck: [],\r\n initialData: [], submitTools: [],\r\n path: '', temp: '',\r\n isEditable: isEditable,\r\n showSpinner: false,\r\n grandTotal: 0,\r\n requestnumber: requestnumber,\r\n showPopup: false,\r\n proceed: false,\r\n lastIndex: -1,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getAdditionDetails();\r\n }\r\n\r\n async getAdditionDetails() {\r\n this.setState({ showSpinner: true })\r\n let filteredTools = [];\r\n const serviceName = `PopulateSolutionPlanningDetails?requestNumber=${this.state.requestnumber}`;\r\n const response = await getData({ serviceName });\r\n const { success, error, data } = await response;\r\n if (success) {\r\n await this.setState({\r\n initialData: data.Tools, path: data.PathType,\r\n });\r\n this.setState({ recordCheck: (this.state.initialData && JSON.stringify(this.state.initialData)) })\r\n this.setState({ tempInitial: (this.state.recordCheck && JSON.parse(this.state.recordCheck)) })\r\n filteredTools = this.state.initialData.filter(record => record.ID !== 0);\r\n this.setState({ submitTools: filteredTools, showSpinner: false, lastIndex: filteredTools.length - 1 })\r\n let val1 = 0;\r\n let toolList = this.state.submitTools;\r\n toolList.forEach(function (arrayItem) {\r\n val1 = val1 + arrayItem.TotalCost;\r\n });\r\n if (isNaN(val1)) val1 = 0;\r\n await this.setState({ grandTotal: val1 })\r\n }\r\n else {\r\n this.setState({ error: error, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n async enableCheckBox(e, data) {\r\n const checkedValue = e.target.checked;\r\n let valueInput = this.state.initialData;\r\n let deSelect = this.state.submitTools;\r\n let valueIndex = valueInput.findIndex(el => el.ToolID === data.ToolID)\r\n let objValue = valueInput[valueIndex]\r\n let findSolAppindex = deSelect.findIndex(el => el.Name === 'Solution Confirmation App')\r\n let solApp = deSelect[findSolAppindex];\r\n let findSolAppValueindex = valueInput.findIndex(el => el.Name === 'Solution Confirmation App')\r\n let solAppValue = valueInput[findSolAppValueindex];\r\n if (checkedValue) {\r\n await this.setState(Object.assign(objValue, { IsEnabled: checkedValue }));\r\n let filterIndex = deSelect.findIndex(rec => rec.ID === data.ID)\r\n if (data.ID !== 0 && filterIndex !== -1) {\r\n deSelect.splice(filterIndex, 1)\r\n }\r\n let newObj = {\r\n ID: data.ID,\r\n ToolID: data.ToolID,\r\n Name: data.Name,\r\n SetUp: data.SetUp,\r\n IsEditableSetUp: data.IsEditableSetUp,\r\n OnGoing: data.OnGoing,\r\n IsEditableOnGoing: data.IsEditableOnGoing,\r\n NoofMonths: data.NoofMonths,\r\n TotalCost: data.TotalCost,\r\n IsEnabled: checkedValue\r\n }\r\n this.setState({\r\n submitTools: [\r\n ...this.state.submitTools,\r\n newObj\r\n ],\r\n })\r\n if (!!solApp && (objValue['Name'] === 'iPC – Option 2 & Option 3' && this.state.path === \"PathA\")) {\r\n await this.setState(Object.assign(solApp, { TotalCost: 0 }));\r\n await this.setState(Object.assign(solAppValue, { TotalCost: 0 }));\r\n this.grandTotalValue();\r\n }\r\n }\r\n else {\r\n await this.setState(Object.assign(objValue, { IsEnabled: checkedValue, NoofMonths: '', TotalCost: '' }));\r\n delete objValue.NoofMonths;\r\n delete objValue.TotalCost;\r\n if (data.IsEditableSetUp) {\r\n await this.setState(Object.assign(objValue, { SetUp: '' }));\r\n }\r\n if (data.IsEditableOnGoing) {\r\n await this.setState(Object.assign(objValue, { OnGoing: '' }));\r\n }\r\n if (!!solApp && (objValue['Name'] === 'iPC – Option 2 & Option 3' && this.state.path === \"PathA\")) {\r\n await this.setState(Object.assign(solApp, { TotalCost: 10000 }));\r\n await this.setState(Object.assign(solAppValue, { TotalCost: 10000 }));\r\n }\r\n\r\n let index = deSelect.findIndex(el => el.ToolID === data.ToolID)\r\n if (index !== -1) {\r\n deSelect.splice(index, 1)\r\n }\r\n if (data.ID !== 0) {\r\n deSelect.push({ ID: data.ID, IsEnabled: false })\r\n }\r\n this.setState({ submitTools: deSelect });\r\n this.grandTotalValue();\r\n }\r\n\r\n }\r\n\r\n async grandTotalValue() {\r\n let val1 = 0;\r\n let toolList = this.state.submitTools;\r\n toolList = toolList.filter(el => el.TotalCost !== \"\" );\r\n toolList.forEach(function (arrayItem) {\r\n if (isNaN(arrayItem.TotalCost)) arrayItem.TotalCost = 0;\r\n val1 = val1 + arrayItem.TotalCost;\r\n });\r\n if (isNaN(val1)) val1 = 0;\r\n await this.setState({ grandTotal: val1 })\r\n }\r\n\r\n async handleInput(e, data) {\r\n let name = e.target.name\r\n let val = e.target.value\r\n let selectedInput = this.state.submitTools;\r\n let valueInput = this.state.initialData;\r\n let selectIndex = selectedInput.findIndex(el => el.ToolID === data.ToolID)\r\n let valueIndex = valueInput.findIndex(el => el.ToolID === data.ToolID)\r\n let objInput = selectedInput[selectIndex]\r\n let objValue = valueInput[valueIndex]\r\n //find if IPC is selected\r\n let findIPC = selectedInput && selectedInput.filter(el => el.Name === 'iPC – Option 2 & Option 3')\r\n let findSolApp = selectedInput && selectedInput.filter(el => el.Name === 'Solution Confirmation App')\r\n let findSolAppIndex = valueInput && valueInput.findIndex(el => el.Name === 'Solution Confirmation App')\r\n let solAppValue = valueInput[findSolAppIndex];\r\n let findSolAppSelected = selectedInput && selectedInput.findIndex(el => el.Name === 'Solution Confirmation App')\r\n let solAppSelected = selectedInput[findSolAppSelected];\r\n await this.setState(Object.assign(objInput, { [name]: val }));\r\n await this.setState(Object.assign(objValue, { [name]: val }));\r\n //calculate value for table\r\n if (objInput.NoofMonths && objInput.SetUp && objInput.OnGoing) {\r\n let tempSetUp, tempOngoing;\r\n if (objInput.SetUp === 'NA' || (isNaN(objInput.SetUp) && this.state.path === \"PathB\")) {\r\n tempSetUp = 0\r\n } else tempSetUp = objInput.SetUp;\r\n if (objInput.OnGoing === 'NA') {\r\n tempOngoing = 0\r\n } else tempOngoing = objInput.OnGoing;\r\n if (objInput.NoofMonths > 100) {\r\n objInput.NoofMonths = 100;\r\n objValue.NoofMonths = 100\r\n }\r\n let total = 0;\r\n total = parseInt(tempSetUp) + parseInt(tempOngoing) * objInput.NoofMonths;\r\n if (findIPC && findIPC.length > 0 && findSolApp && findSolApp.length > 0 && this.state.path === \"PathA\" && ((objValue['Name'] === \"iPC – Option 2 & Option 3\") || objValue['Name'] === \"Solution Confirmation App\")) {\r\n await this.setState(Object.assign(solAppValue, { TotalCost: 0 }));\r\n await this.setState(Object.assign(solAppSelected, { TotalCost: 0 }));\r\n if (objValue['Name'] === \"iPC – Option 2 & Option 3\") {\r\n await this.setState(Object.assign(objInput, { TotalCost: total }));\r\n await this.setState(Object.assign(objValue, { TotalCost: total }));\r\n }\r\n } else if (findSolApp && findSolApp.length > 0 && this.state.path === \"PathA\" && ((objValue['Name'] === \"iPC – Option 2 & Option 3\") || (objValue['Name'] === \"Solution Confirmation App\"))) {\r\n await this.setState(Object.assign(solAppValue, { TotalCost: 10000 }));\r\n await this.setState(Object.assign(solAppSelected, { TotalCost: 10000 }));\r\n }\r\n else {\r\n await this.setState(Object.assign(objInput, { TotalCost: total }));\r\n await this.setState(Object.assign(objValue, { TotalCost: total }));\r\n }\r\n this.grandTotalValue();\r\n }\r\n else {\r\n let total = '';\r\n await this.setState(Object.assign(objInput, { TotalCost: total }));\r\n await this.setState(Object.assign(objValue, { TotalCost: total }));\r\n this.grandTotalValue();\r\n }\r\n }\r\n\r\n async handleFormUpdate() {\r\n await this.setState({ showSpinner: true, isSystemsEditable: false });\r\n let submitData = {};\r\n submitData = {\r\n \"RequestNumber\": this.state.requestnumber,\r\n \"PathType\": this.state.path,\r\n \"ToolData\": this.state.submitTools,\r\n }\r\n const response = await postData({\r\n serviceName: `updateSolutionPlanning`,\r\n data: submitData,\r\n });\r\n const { success, error } = await response;\r\n await this.getAdditionDetails();\r\n if (success) {\r\n await this.setState({ showSpinner: false });\r\n }\r\n else {\r\n this.setState({ showSpinner: false, error: error, showErrorPopup: true });\r\n }\r\n }\r\n\r\n async selectPath() {\r\n this.setState({ showSpinner: true, lastIndex: -1 })\r\n let tempPath;\r\n if (this.state.path === \"PathA\") {\r\n this.setState({ path: \"PathB\" })\r\n tempPath = \"PathB\"\r\n }\r\n else {\r\n this.setState({ path: \"PathA\" })\r\n tempPath = \"PathA\"\r\n }\r\n const serviceName = `PopulateSolutionPlanningDetails?requestNumber=${this.state.requestnumber}&pathType=${tempPath}&isPathChanged=true`;\r\n const response = await getData({ serviceName });\r\n const { success, error, data } = await response;\r\n if (success) {\r\n await this.setState({ initialData: data.Tools, path: data.PathType });\r\n // this.state.initialData.reverse()\r\n let filteredTools = this.state.initialData.filter(record => record.ID !== 0);\r\n this.setState({ submitTools: filteredTools, showSpinner: false, showPopup: false })\r\n let val1 = 0;\r\n this.state.submitTools.forEach(function (arrayItem) {\r\n val1 = val1 + arrayItem.TotalCost;\r\n });\r\n if (isNaN(val1)) val1 = 0;\r\n await this.setState({ grandTotal: val1 })\r\n }\r\n else {\r\n this.setState({ error: error, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n enableUpdateButton() {\r\n //check for dirty bit\r\n if (JSON.stringify(this.state.tempInitial) !== JSON.stringify(this.state.initialData)) {\r\n // check if new tools have any values empty\r\n let checkNewTools = (this.state.submitTools.map(element => {\r\n return (element.ID === 0 && (!element.NoofMonths || !element.SetUp || !element.OnGoing))\r\n })).includes(true);\r\n // check if deleted tools \r\n let checkDeselectTools = (this.state.submitTools.map(element => {\r\n return (!element.IsEnabled)\r\n })).includes(true)\r\n\r\n if (!checkNewTools) {\r\n return false\r\n }\r\n if (checkDeselectTools) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n\r\n async handleExportPptData() {\r\n this.setState({ showSpinner: true })\r\n let url = `GeneratePPT?requestNumber=${this.props.requestnumber}`;\r\n const response = await getData({ serviceName: url });\r\n const { data, success, error } = await response;\r\n if (success) {\r\n this.setState({ guid: data.message })\r\n const res = await getData({ apiBaseUrl: UTIL_BASE_URL, serviceName: `Download?guid=${this.state.guid}` });\r\n const downloadResponse = await downloadFile({ apiResponse: res, fileName: `Solutioning-details-${this.state.requestnumber}` })\r\n const { err } = res\r\n if (downloadResponse) {\r\n this.setState({\r\n showSpinner: false\r\n })\r\n } else {\r\n this.setState({\r\n error: err,\r\n showSpinner: false\r\n })\r\n }\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n confirmPathChange() {\r\n let tools = this.state.initialData;\r\n const check = tools.map(el => {\r\n return el.IsEnabled;\r\n }).includes(true)\r\n if (check) {\r\n this.setState({ showPopup: true })\r\n }\r\n else {\r\n this.selectPath()\r\n }\r\n }\r\n\r\n checkExport() {\r\n return (JSON.stringify(this.state.tempInitial) !== JSON.stringify(this.state.initialData));\r\n }\r\n\r\n render() {\r\n const tools = this.state.initialData;\r\n const path = this.state.path;\r\n\r\n return (\r\n \r\n
    \r\n \r\n Choose path{' '}\r\n {\r\n \r\n :\r\n Choose Path A :
    If the deal size is smaller and shorter project timeline.
    Client concerned about the tooling leave behind strategy.
    Client has well established program management capabilities they want to leverage.
    Client is not willing to invest in upskilling their team on new capabilities.

    \r\n Choose Path B :
    If the project timeline is longer.Client wants more end-to-end delivery capabilities/guided framework from Accenture.
    Complex program that requires more advanced digital delivery capabilities.
    Core Agile program that can take advantage of the backlog management capabilities in DDP.\r\n

    }\r\n >\r\n
    \r\n \r\n\r\n }\r\n\r\n {/* \r\n :\r\n Choose Path A :
    If the deal size is smaller and shorter project timeline.
    Client concerned about the tooling leave behind strategy.
    Client has well established program management capabilities they want to leverage.
    Client is not willing to invest in upskilling their team on new capabilities.

    \r\n Choose Path B :
    If the project timeline is longer.Client wants more end-to-end delivery capabilities/guided framework from Accenture.
    Complex program that requires more advanced digital delivery capabilities.
    Core Agile program that can take advantage of the backlog management capabilities in DDP.\r\n

    }>
    \r\n
    */}\r\n
    \r\n { this.confirmPathChange() }}\r\n checked={path === \"PathA\"}\r\n disabled={!this.state.isEditable}\r\n />Path A\r\n\r\n { this.confirmPathChange() }}\r\n checked={path === \"PathB\"}\r\n disabled={!this.state.isEditable}\r\n /> Path B\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 {!!tools && tools.map((req, index) => {\r\n let isEdit = (this.state.isEditable && req.IsEnabled)\r\n return (\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
    Choose ToolSet Up (USD) On-going
    (USD / Month)
    No. of MonthsTotal Cost
    (USD)
    \r\n
    \r\n
    \r\n { this.enableCheckBox(e, req) }}\r\n /> {req.Name}\r\n
    \r\n\r\n
    \r\n \r\n {req.IsEditableSetUp ? (\r\n \r\n this.handleInput(e, req)}\r\n value={req.SetUp ? req.SetUp : \"\"}\r\n />\r\n \r\n ) : \r\n {req.SetUp}\r\n \r\n }\r\n \r\n \r\n \r\n {req.IsEditableOnGoing ? (\r\n \r\n this.handleInput(e, req)}\r\n value={req.OnGoing ? req.OnGoing : \"\"}\r\n />\r\n \r\n ) : \r\n {req.OnGoing}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n this.handleInput(e, req)}\r\n value={req.NoofMonths ? (req.NoofMonths > 100 ? 100 : req.NoofMonths) : \"\"}\r\n />\r\n \r\n \r\n {req.TotalCost}
    \r\n {this.state.showSpinner && }\r\n {this.state.showPopup && (\r\n { this.selectPath(\"PathB\") }}\r\n handleCancel={() => { this.setState({ showPopup: false }); }}\r\n okBtnName='Proceed' cancelBtnName=\"Cancel\"\r\n >\r\n

    ALERT\r\n \"Close\" { this.setState({ showPopup: false }); }} />\r\n


    \r\n

    \r\n\r\n

    Switching Path will delete entered details for selected Tool.
    \r\n Are you sure you want to switch?

    \r\n \r\n )}\r\n
    \r\n \r\n Grand Total Cost $ : {this.state.grandTotal}\r\n \r\n \r\n
    \r\n\r\n {this.state.isEditable && this.state.submitTools && this.state.submitTools.length ? (\r\n this.handleFormUpdate()}\r\n disabled={this.enableUpdateButton()}\r\n />\r\n ) :\r\n this.handleFormUpdate()}\r\n disabled={true}\r\n />\r\n }\r\n\r\n {(this.state.lastIndex + 1 ? (\r\n { this.handleExportPptData() }}\r\n disabled={this.checkExport()} />\r\n ) :\r\n { this.handleExportPptData() }}\r\n disabled={true} />\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\nexport default SolutioningDetails;","import * as ConstantTmp from \"../../../components/constants/constant\";\r\nimport CustomSelectTmp from \"../../../components/custom-select/custom-select\";\r\nimport CustomInputTmp from \"../../../components/custom-input/custom-input\";\r\nimport CustomButtonTmp from \"../../../components/button/nextbutton\";\r\nimport CustomReactSelectTmp from \"../../../components/custom-select/custom-react-select\";\r\nimport CustomTextAreaTmp from \"../../../components/custom-textarea/custom-textarea\";\r\nimport ModalTmp from \"../../../components/modals/modal\";\r\nimport CustomModalTmp from \"../../../components/modals/custom-modal\";\r\nimport DatePickerTmp from \"react-datepicker\";\r\nimport dateFormatTmp from \"dateformat\";\r\nimport Spinnertmp from \"../../../components/spinner/spinner\";\r\nimport SAPAdditionalDetailsTmp from \"./sap-additional-details\";\r\nimport CRPAdditionalDetailsTmp from \"./crp-additional-details\";\r\nimport SupportDetailsTmp from \"./support-details\";\r\nimport momentTmp from \"moment\";\r\nimport AttachmentDetailsTmp from './attachment-details';\r\nimport AssetUsageTmp from './asset-usage';\r\nimport CheckboxTmp from \"../../../components/checkbox/checkbox\";\r\nimport ProcessAdditionalDetailsTmp from './process-composition-additional-details';\r\nimport SuccessFactorAdditionalDetailsTmp from './success-factor-additional-details';\r\nimport TalentHRAdditionalDetailsTmp from './talent-hr-additional-details';\r\nimport OracleFormAdditionalDetailsTmp from \"./oracle-form-additional-details\";\r\nimport SolutionPlanningAdditionalDetailsTmp from \"./solution-planning-additional-details\";\r\nimport SolutioningDetailsTmp from \"./solutioning-details\";\r\n\r\nexport const Constant = ConstantTmp\r\nexport const CustomSelect = CustomSelectTmp\r\nexport const CustomInput = CustomInputTmp\r\nexport const CustomButton = CustomButtonTmp\r\nexport const CustomTextArea = CustomTextAreaTmp\r\nexport const CustomReactSelect = CustomReactSelectTmp\r\nexport const Modal = ModalTmp\r\nexport const CustomModal = CustomModalTmp\r\nexport const DatePicker = DatePickerTmp\r\nexport const dateFormat = dateFormatTmp\r\nexport const Checkbox = CheckboxTmp\r\nexport const CRPAdditionalDetails = CRPAdditionalDetailsTmp\r\nexport const SupportDetails = SupportDetailsTmp\r\nexport const Spinner = Spinnertmp\r\nexport const SAPAdditionalDetails = SAPAdditionalDetailsTmp\r\nexport const moment = momentTmp\r\nexport const AttachmentDetails = AttachmentDetailsTmp\r\nexport const AssetUsage = AssetUsageTmp\r\nexport const ProcessAdditionalDetails = ProcessAdditionalDetailsTmp\r\nexport const SuccessFactorAdditionalDetails = SuccessFactorAdditionalDetailsTmp\r\nexport const TalentHRAdditionalDetails = TalentHRAdditionalDetailsTmp\r\nexport const OracleFormAdditionalDetails = OracleFormAdditionalDetailsTmp\r\nexport const SolutionPlanningAdditionalDetails = SolutionPlanningAdditionalDetailsTmp\r\nexport const SolutioningDetails = SolutioningDetailsTmp","import React, { Component, Fragment } from \"react\";\r\nimport \"./request-assignment.scss\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport { format } from \"date-fns\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { addDays, subDays } from \"date-fns\";\r\nimport { styledAssignStatus } from \"./request-assignment-function\";\r\nimport Tootltip from \"../../../components/tool-tip/tool-tip\";\r\nimport { isValExistInArray } from \"../../../containers/common/object-manipulations\";\r\nimport Popup from \"../../../components/popup/popup\";\r\nimport { getData, postData } from \"../../../api/api-manager\";\r\nimport {\r\n ADMIN_API_BASE_URL,\r\n API_BASE_URL,\r\n} from \"../../../configs/api-base-url\";\r\nimport { getTokenData } from \"../../../api/sessionConfig\";\r\nimport {\r\n CustomInput,\r\n CustomModal,\r\n CustomReactSelect,\r\n Constant,\r\n Modal,\r\n Spinner,\r\n} from \"./request-assignment-import\";\r\nimport * as Constants from \"../../../components/constants/constant\";\r\nimport OutsideClickAlerter from \"../../../components/outside-click-alerter/outside-click-alerter\";\r\nimport arrowDown from \"../../../assets/images/collapsable-down-black-arrow.svg\";\r\n\r\nclass RequestAssignmentBasic extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showModel: false,\r\n userSearchList: [],\r\n searchSmeEID: \"\",\r\n servicePocSuggestList: [],\r\n interactionScenarios: {},\r\n earlierInteractionScenario: {},\r\n selectedAssets: [],\r\n isGet: [],\r\n isServiceTypeDDOpen: false,\r\n isAssetTypeVisible: false,\r\n isflag: true,\r\n AssetTypeError: \"\",\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || \"\";\r\n this.setState({ Eid: eid });\r\n }\r\n\r\n handleDateChangeRaw = (e) => {\r\n e.preventDefault();\r\n };\r\n reassignModel() {\r\n this.setState({\r\n searchUserEID: \"\",\r\n enableReassignBtn: false,\r\n showModel: true,\r\n });\r\n }\r\n\r\n async handleInput(e) {\r\n await this.setState({ searchUserEID: e.target.value });\r\n const serviceName = `GetUsers?eIdStart=${this.state.searchUserEID}`;\r\n const response = await getData({\r\n serviceName: serviceName,\r\n apiBaseUrl: ADMIN_API_BASE_URL,\r\n });\r\n const { success, data, error } = await response;\r\n\r\n if (success) {\r\n this.setState({ userSearchList: data, showSpinner: false });\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true, showSpinner: false });\r\n }\r\n await this.checkUserSearchList();\r\n }\r\n\r\n async selectUserName(e) {\r\n const eid = e.target.getAttribute(\"eid\");\r\n await this.setState({ searchUserEID: eid, userSearchList: [] });\r\n await this.checkUserSearchList();\r\n await this.setState({ enableReassignBtn: true });\r\n }\r\n\r\n checkUserSearchList = () => {\r\n const searchUser = this.state.searchUserEID;\r\n\r\n if (this.state.userSearchList.length > 0) {\r\n const filter = this.state.userSearchList.filter(function (user) {\r\n return user.EID === searchUser;\r\n });\r\n if (filter.length > 0) {\r\n this.setState({\r\n enableReassignBtn: true,\r\n searchUserName: filter[0].Name,\r\n });\r\n } else {\r\n this.setState({ enableReassignBtn: false });\r\n }\r\n } else {\r\n this.setState({ enableReassignBtn: false });\r\n }\r\n };\r\n\r\n handleClose() {\r\n this.setState({ showModel: false, userSearchList: [] });\r\n }\r\n\r\n serviceChangeHandler = async (value) => {\r\n await this.setState({\r\n tmpSelectedService: value,\r\n searchSmeEID: \"\",\r\n isflag: false,\r\n });\r\n\r\n this.props.handleServiceChange(value);\r\n await this.setState({\r\n showServiceChangeAlert: true,\r\n });\r\n };\r\n\r\n handleServiceChangeOKClick = async () => {\r\n let servTechList = this.props.details.serviceList;\r\n let selectedServiceObj = servTechList.find((Service) => {\r\n return Service.Name === this.state.tmpSelectedService;\r\n });\r\n this.props.handleSetInteractionScenario(selectedServiceObj);\r\n\r\n const serviceName = `GetServiceConfigurations?selectedRequestId=${selectedServiceObj.ID}`;\r\n const response = await getData({\r\n serviceName: serviceName,\r\n apiBaseUrl: API_BASE_URL,\r\n });\r\n const { success, error, data } = await response;\r\n if (success) {\r\n this.setState({\r\n showServiceChangeAlert: false,\r\n serviceData: data,\r\n isReassignedServiceEditable: data.isReassignedServiceEditable,\r\n isGet: data.isAssetTypeVisible,\r\n IsWorkFlowAutomation: data.IsWorkFlowAutomation,\r\n });\r\n this.props.getAssetTypeValue(data.isAssetTypeVisible);\r\n this.props.getserviceTypeValue(data.IsWorkFlowAutomation)\r\n await this.props.handleChangeServiceRequest(data);\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true });\r\n }\r\n };\r\n\r\n handleServiceChangeCancelClick = () => {\r\n this.setState({\r\n showServiceChangeAlert: false,\r\n });\r\n this.props.handleServiceChange(null, true);\r\n };\r\n\r\n getSMEServicePocList = async (e) => {\r\n let searchedString = e.target.value;\r\n await this.setState({ searchSmeEID: searchedString });\r\n\r\n searchedString = searchedString.replaceAll(/[#&*]/g, \"@\");\r\n\r\n const serviceName = `GetUsers?eIdStart=${searchedString}&isSME=true`;\r\n const response = await getData({\r\n serviceName: serviceName,\r\n apiBaseUrl: ADMIN_API_BASE_URL,\r\n });\r\n const { success, data, error } = await response;\r\n\r\n if (success) {\r\n this.setState({ servicePocSuggestList: data });\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true });\r\n }\r\n this.props.ValidateSMEServicePOC(searchedString);\r\n };\r\n\r\n async selectServicePOC(e) {\r\n const eid = e.target.getAttribute(\"eid\");\r\n await this.setState({ searchSmeEID: eid, servicePocSuggestList: [] });\r\n this.props.handleSMEServicePocChange(eid);\r\n }\r\n\r\n async handleReAssignSubmit() {\r\n await this.setState({ showSpinner: true });\r\n\r\n const reqNumber =\r\n this.props.details &&\r\n this.props.details.requestData &&\r\n this.props.details.requestData.requestNumber\r\n ? this.props.details.requestData.requestNumber\r\n : \"\";\r\n\r\n const response = await postData({\r\n serviceName: `UpdateOwnerShipTransfer?reqNumber=${reqNumber}&reAssignedEid=${this.state.searchUserEID}`,\r\n });\r\n const { success, error } = await response;\r\n if (success) {\r\n await this.setState({\r\n showSpinner: false,\r\n isReassignmentDone: true,\r\n showReassignmentConfirmModal: false,\r\n });\r\n this.props.handleCloseParentPopup(this.props.contextData);\r\n } else {\r\n this.setState({\r\n showSpinner: false,\r\n error: error,\r\n showReassignmentConfirmModal: false,\r\n showAlertModel: true,\r\n alertText: error,\r\n });\r\n }\r\n }\r\n\r\n async handleReAssign() {\r\n if (\r\n !!this.state.searchUserEID &&\r\n this.state.searchUserEID === this.state.Eid\r\n ) {\r\n this.setState({\r\n showAlertModel: true,\r\n alertText:\r\n \"Seems you have selected yourself. Please select someone else for reassignment\",\r\n showReassignmentConfirmModal: false,\r\n });\r\n } else {\r\n let alertText = `Are you sure you want to Reassign this request?`;\r\n await this.setState({\r\n showAlertModel: false,\r\n alertText: alertText,\r\n showReassignmentConfirmModal: true,\r\n });\r\n }\r\n }\r\n\r\n async handleTechnologyChange(value, technologyList) {\r\n await this.setState({\r\n searchSmeEID: \"\",\r\n });\r\n this.props.handleTechChange(value, technologyList);\r\n }\r\n\r\n getDefaultFromList(list, value) {\r\n let defaultValue = null;\r\n if (list && list.length > 0) {\r\n let filteredRecord = list.filter(\r\n (record) => record.Name === value || record.ID === value\r\n );\r\n if (filteredRecord.length === 1) {\r\n defaultValue = filteredRecord[0];\r\n }\r\n }\r\n return defaultValue;\r\n }\r\n\r\n getUpdatedServiceList = (options) => {\r\n options.forEach((record) => {\r\n record[\"isdisabled\"] = record.IsDisabled;\r\n });\r\n return options;\r\n };\r\n\r\n checkStudioAccess = async (redirectURL) => {\r\n await this.setState({ showSpinner: true });\r\n const serviceName = `StudioUserAccessLink?userName=${this.state.Eid}@accenture.com`;\r\n const response = await getData({\r\n serviceName: serviceName,\r\n apiBaseUrl: API_BASE_URL,\r\n });\r\n const { success, error } = await response;\r\n if (success) {\r\n if (redirectURL) {\r\n setTimeout(() => {\r\n this.setState({ showSpinner: false });\r\n window.open(redirectURL.replace(\"!\", \"\"), \"_blank\");\r\n }, 5000);\r\n }\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true });\r\n }\r\n };\r\n\r\n closeServiceTypeDropdown = () =>\r\n this.setState({ isServiceTypeDDOpen: false });\r\n toggleServiceTypeDropdown = () =>\r\n this.setState({\r\n isServiceTypeDDOpen: !this.state.isServiceTypeDDOpen,\r\n });\r\n\r\n serviceTypeDD = (assetTypeList, list) => {\r\n let selectedIds = [];\r\n let selectedServiceType = assetTypeList\r\n .map((item) => {\r\n selectedIds.push(item.ID);\r\n return item.Name;\r\n })\r\n .join(\",\");\r\n return (\r\n \r\n \r\n \r\n {selectedServiceType.length > 0 ? (\r\n selectedServiceType.length < 15 ? (\r\n selectedServiceType\r\n ) : (\r\n `${selectedServiceType.slice(0, 14)}...`\r\n )\r\n ) : (\r\n \r\n )}\r\n {selectedServiceType.length > 0 && (\r\n \r\n )}\r\n \r\n \r\n e.stopPropagation()}\r\n >\r\n
    \r\n
      \r\n {list.map((value, index) => {\r\n let checked = selectedIds.includes(value.ID);\r\n return (\r\n {\r\n this.props.serviceTypeDDHandler(\r\n value,\r\n assetTypeList,\r\n selectedIds\r\n );\r\n }}\r\n key={index}\r\n >\r\n \r\n \r\n {value.Name}\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 render() {\r\n const {\r\n requestNumber,\r\n category,\r\n clientName,\r\n description,\r\n submittedBy,\r\n submittedOn,\r\n wbs,\r\n ownerShipTransfer,\r\n serviceInfo,\r\n isAssetTypeVisible,\r\n isServiceEditable,\r\n technologyList,\r\n projectPhaseList,\r\n industryList,\r\n functionalAreaList,\r\n typeOfService,\r\n assetTypeList,\r\n marketUnitList,\r\n } = this.props.details && this.props.details.requestData;\r\n const {\r\n functionalArea,\r\n assetTypes,\r\n transformationType,\r\n typeOfService_DR,\r\n FilteredTransformTypeList,\r\n industryGroup,\r\n sdm,\r\n sdmList,\r\n reqType,\r\n scenario,\r\n marketUnit,\r\n technology,\r\n servicePOCList,\r\n StatusList,\r\n formErrors,\r\n serviceList,\r\n isSMEService,\r\n reqStatus,\r\n projectPhase,\r\n } = this.props.details;\r\n console.log(\"Testing....\", this.props.details);\r\n let validIcon =\r\n !!wbs &&\r\n wbs === this.props.details.wbs &&\r\n this.props.details.validWBS === undefined\r\n ? \"no-icon\"\r\n : this.props.details.validWBS === true ||\r\n isValExistInArray(\r\n this.props.details.validatedWbsArray,\r\n this.props.details.wbs\r\n )\r\n ? \"valid-icon\"\r\n : formErrors && !!formErrors.wbsError\r\n ? \"invalid-icon\"\r\n : \"no-icon\"; \r\n \r\n validIcon =\r\n formErrors && !!formErrors.wbsError\r\n ? `${validIcon} error-input`\r\n : validIcon;\r\n \r\n let validOppIcon = \"valid-icon opp-input\";\r\n // validOppIcon = this.props.validOppId || this.props.validOppId === undefined ? validOppIcon : \"invalid-icon error-input\";\r\n const reassignCls = !!ownerShipTransfer\r\n ? this.props.isUpdateEnable\r\n ? \"disable-reassign current-owner\"\r\n : \"reassign-owner\"\r\n : \"\";\r\n let servicePoc = null;\r\n const isReassignedServiceEditable = this.state.isReassignedServiceEditable;\r\n if (!!isSMEService) {\r\n servicePoc = this.props.details.servicePoc;\r\n }\r\n let defaultSdm = this.getDefaultFromList(sdmList, sdm);\r\n let defaultReqStatus = this.getDefaultFromList(StatusList, reqStatus);\r\n let defaultServiceList = this.getDefaultFromList(serviceList, reqType);\r\n let defaultTechnology = this.getDefaultFromList(technologyList, technology);\r\n let defaultIndustryGroup = this.getDefaultFromList(\r\n industryList,\r\n industryGroup\r\n );\r\n let defaultProjectPhase = this.getDefaultFromList(\r\n projectPhaseList,\r\n projectPhase\r\n );\r\n let defaultFunctionalArea = this.getDefaultFromList(\r\n functionalAreaList,\r\n functionalArea\r\n );\r\n let defaultTypeOfService_DR = this.getDefaultFromList(\r\n typeOfService,\r\n typeOfService_DR\r\n );\r\n let defaultTransformationType = this.getDefaultFromList(\r\n FilteredTransformTypeList,\r\n transformationType\r\n );\r\n // let dealfaultAssetType = this.getDefaultFromList(assetTypeList,assetTypes);\r\n let selectedServicePOC = this.getDefaultFromList(\r\n servicePOCList,\r\n this.props.details.servicePoc\r\n );\r\n let defaultScenario = \"\";\r\n let oppIdLabel = \" Opportunity ID\";\r\n if (projectPhase === \"Delivery\") {\r\n oppIdLabel = \" Contract ID\";\r\n } else if (projectPhase === \"Explore\") {\r\n oppIdLabel = \" Opportunity / Contract ID\";\r\n }\r\n if (\r\n !!serviceList &&\r\n serviceList.length > 0 &&\r\n this.props.details.interactionScenarios &&\r\n this.props.details.interactionScenarios.Items &&\r\n this.props.details.interactionScenarios.Items.length\r\n ) {\r\n defaultScenario = this.getDefaultFromList(\r\n this.props.details.interactionScenarios.Items,\r\n scenario\r\n );\r\n }\r\n\r\n return (\r\n \r\n
    \r\n
      \r\n
    • \r\n \r\n {requestNumber}\r\n
    • \r\n
    • \r\n \r\n {category}\r\n
    • \r\n\r\n {isServiceEditable && !this.props.details.requestData.isWorkFlowAutomation ? (\r\n \r\n
    • \r\n \r\n option.Name}\r\n getOptionValue={(option) => option.ID}\r\n handleStateData={(e) => {\r\n this.handleTechnologyChange(e.Name, technologyList);\r\n }}\r\n className={\"custom-select-look\"}\r\n />\r\n
    • \r\n
    • \r\n \r\n {!!serviceList && serviceList.length > 0 && (\r\n option.Name}\r\n getOptionValue={(option) => option.ID}\r\n handleStateData={(e) => {\r\n this.serviceChangeHandler(e.Name);\r\n }}\r\n className={\"custom-select-look\"}\r\n />\r\n )}\r\n
    • \r\n {!!serviceList &&\r\n serviceList.length > 0 &&\r\n this.props.details.interactionScenarios &&\r\n this.props.details.interactionScenarios.Items &&\r\n this.props.details.interactionScenarios.Items.length > 0 && (\r\n
      \r\n
    • \r\n \r\n option.Name}\r\n getOptionValue={(option) => option.ID}\r\n handleStateData={(e) => {\r\n this.props.handleChange(\"scenario\", e.Name);\r\n }}\r\n className={\r\n \"custom-select-look interaction-scenario-span\"\r\n }\r\n />\r\n
    • \r\n
      \r\n )}\r\n
      \r\n ) : (\r\n \r\n
    • \r\n \r\n {!this.props.details.isEditable || this.props.details.requestData.isWorkFlowAutomation ? (\r\n {technology}\r\n ) : technologyList && technologyList.length > 0 ? (\r\n option.Name}\r\n getOptionValue={(option) => option.ID}\r\n handleStateData={(e) => {\r\n this.props.handleChange(\"technology\", e.Name);\r\n }}\r\n className={\"custom-select-look\"}\r\n />\r\n ) : (\r\n \r\n {this.props.details.technology\r\n ? this.props.details.technology\r\n : \"\"}\r\n \r\n )}\r\n
    • \r\n
    • \r\n \r\n {reqType}\r\n
    • \r\n
      \r\n )}\r\n
    • \r\n \r\n {clientName}\r\n
    • \r\n
    • \r\n \r\n {!this.props.details.isProjectPhaseEditable || this.props.details.requestData.isWorkFlowAutomation ? (\r\n {projectPhase}\r\n ) : (\r\n option.Name}\r\n getOptionValue={(option) => option.ID}\r\n handleStateData={(e) => {\r\n this.props.handleChange(\"projectPhase\", e.Name);\r\n }}\r\n className={\"custom-select-look\"}\r\n />\r\n )}\r\n
    • \r\n
    • \r\n \r\n {!this.props.details.isEditable || this.props.details.requestData.isWorkFlowAutomation ? (\r\n {marketUnit && marketUnit.label}\r\n ) : (\r\n \r\n {\r\n this.props.handleMarketUnitChange(e);\r\n }}\r\n className={\"custom-select-look\"}\r\n />\r\n \r\n )}\r\n
    • \r\n
    • \r\n \r\n {!this.props.details.isEditable || this.props.details.requestData.isWorkFlowAutomation ? (\r\n {industryGroup}\r\n ) : (\r\n option.Name}\r\n getOptionValue={(option) => option.ID}\r\n placeholder=\"Select\"\r\n handleStateData={(e) => {\r\n this.props.handleChange(\"industryGroup\", e.Name);\r\n }}\r\n className={\"custom-select-look\"}\r\n />\r\n )}\r\n
    • \r\n
    • \r\n \r\n {!this.props.details.isOpportunityIDEditable || this.props.details.requestData.isWorkFlowAutomation ? (\r\n \r\n {this.props.details.opportunityID === \"9999999999\" ? (\r\n
      \r\n ) : (\r\n this.props.details.opportunityID\r\n )}\r\n
      \r\n ) : (\r\n \r\n \r\n ) : (\r\n this.props.details.opportunityID\r\n )\r\n }\r\n onChange={this.props.handleInput}\r\n // onBlur={this.props.handleOppId}\r\n // onClick={this.props.clearInvalidOppId}\r\n maxLength=\"10\"\r\n placeholder=\"This is mandatory field.\"\r\n />\r\n {/* {validOppIcon === 'valid-icon opp-input' ? Verified :\r\n {!this.props.validOppId && (this.props.details.opportunityID && this.props.details.opportunityID.length > 0) ? \"Opportunity ID is not valid\" : ''}} */}\r\n \r\n )}\r\n
    • \r\n
    • \r\n \r\n {!this.props.details.isDealSizeEditable || this.props.details.requestData.isWorkFlowAutomation ? (\r\n {this.props.details.dealSize}\r\n ) : (\r\n \r\n \r\n {formErrors && formErrors.dealSizeError && (\r\n {formErrors.dealSizeError}\r\n )}\r\n \r\n )}\r\n
    • \r\n
    • \r\n \r\n {!this.props.details.isEditable || this.props.details.requestData.isWorkFlowAutomation ? (\r\n \r\n {this.props.details.clientDemoDate &&\r\n format(\r\n new Date(this.props.details.clientDemoDate),\r\n \"dd-MMM-yyy\"\r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n
    • \r\n
    \r\n
      \r\n
    • \r\n \r\n {!this.props.details.isEditable || this.props.details.requestData.isWorkFlowAutomation ? (\r\n {this.props.details.wbs}\r\n ) : (\r\n \r\n \r\n {validIcon === \"valid-icon\" ? (\r\n Verified\r\n ) : (\r\n \r\n {formErrors && !!formErrors.wbsError\r\n ? formErrors.wbsError\r\n : \"\"}\r\n {formErrors && !!formErrors.wbsError && (\r\n {formErrors.wbsError}

      }\r\n >\r\n )}\r\n
      \r\n )}\r\n
      \r\n )}\r\n
    • \r\n
    • \r\n \r\n {!this.props.details.isEditable || this.props.details.requestData.isWorkFlowAutomation ? (\r\n {functionalArea}\r\n ) : (\r\n option.Name}\r\n getOptionValue={(option) => option.ID}\r\n placeholder=\"Select\"\r\n handleStateData={(e) => {\r\n this.props.handleChange(\"functionalArea\", e.Name);\r\n }}\r\n className={\"custom-select-look\"}\r\n />\r\n )}\r\n
    • \r\n {((this.state.isflag &&this.props.details.requestData.isTypeOfServiceVisible) ||\r\n (this.state.IsWorkFlowAutomation && !this.state.isflag)) && (
    • \r\n \r\n {!this.props.details.isEditable || this.props.details.requestData.isWorkFlowAutomation ? (\r\n {typeOfService_DR}\r\n ) : (\r\n <> \r\n option.Name}\r\n getOptionValue={(option) => option.ID}\r\n placeholder=\"Select\"\r\n handleStateData={(e) => {\r\n this.props.handleChange(\"typeOfService_DR\", e.Name);\r\n }}\r\n \r\n className={!defaultTypeOfService_DR ? \"error-input\" : \"\"}\r\n />\r\n \r\n { !defaultTypeOfService_DR && (\r\n This is a required field\r\n )}\r\n \r\n \r\n \r\n )}\r\n
    • )}\r\n {this.props.details.requestData.isIPCLoadVisible && (\r\n
    • \r\n \r\n {this.props.details.requestData.iPCLoad ? \"Yes\" : \"No\"}\r\n
    • \r\n )}\r\n\r\n {this.props.details.requestData.isCoreTeamMember && (\r\n
    • \r\n \r\n {this.props.details.requestData.genWLoad ? \"Yes\" : \"No\"}\r\n
    • \r\n )}\r\n\r\n {this.props.details.requestData.isCoreTeamMember && this.props.details.requestData.genWLoad &&(\r\n
    • \r\n \r\n {this.props.details.requestData.accessReason}\r\n
    • \r\n )}\r\n\r\n {this.props.details.requestData.isCoreTeamMember &&this.props.details.requestData.genWLoad && (\r\n
    • \r\n \r\n {this.props.details.requestData.leadDetails}\r\n
    • \r\n )}\r\n\r\n {((this.state.isflag && isAssetTypeVisible) ||\r\n (this.state.isGet.length > 0 && !this.state.isflag)) && (\r\n
    • \r\n \r\n {!this.props.details.isEditable || this.props.details.requestData.isWorkFlowAutomation ? (\r\n \r\n {assetTypes &&\r\n assetTypes.map((item) => item.Name).join(\",\")}\r\n \r\n ) : (\r\n \r\n \r\n {assetTypeList !== undefined &&\r\n assetTypes !== undefined &&\r\n this.serviceTypeDD(assetTypes, assetTypeList)}\r\n \r\n {(!assetTypes || assetTypes.length === 0) && (\r\n
      \r\n \r\n \r\n \r\n

      This is required field

      \r\n
      \r\n
      \r\n
      \r\n )}\r\n
      \r\n )}\r\n
    • \r\n )}\r\n\r\n
    • \r\n \r\n {!this.props.details.isEditable || this.props.details.requestData.isWorkFlowAutomation ? (\r\n \r\n {this.props.details.clientAccountLead}\r\n \r\n ) : (\r\n \r\n \r\n {formErrors && formErrors.clientAccountLeadError && (\r\n \r\n {formErrors.clientAccountLeadError}\r\n \r\n )}\r\n \r\n )}\r\n
    • \r\n
    • \r\n \r\n {isReassignedServiceEditable === false ||\r\n !this.props.details.isEditable || this.props.details.requestData.isWorkFlowAutomation ? (\r\n \r\n {this.props.details.sdm\r\n ? this.props.details.sdm\r\n : \"Yet to assign \"}\r\n \r\n ) : (\r\n option.Name}\r\n getOptionValue={(option) => option.ID}\r\n placeholder=\"Select\"\r\n handleStateData={(e) => {\r\n this.props.handleChange(\"sdm\", e.Name);\r\n }}\r\n className={\"custom-select-look\"}\r\n />\r\n )}\r\n
    • \r\n\r\n {/* check if servicePOC is editable in SMEService */}\r\n {\r\n (isReassignedServiceEditable === false ||\r\n !!this.props.details.isEditable || this.props.details.requestData.isWorkFlowAutomation ) &&\r\n !!isSMEService ? (\r\n
    • \r\n \r\n \r\n this.getSMEServicePocList(e)}\r\n />\r\n\r\n
      \r\n {!!this.state.servicePocSuggestList &&\r\n this.state.servicePocSuggestList.length > 0 && (\r\n {\r\n return (\r\n this.selectServicePOC(e)}\r\n >\r\n {user.EID}\r\n

      \r\n );\r\n }\r\n )}\r\n />\r\n )}\r\n
      \r\n\r\n {formErrors &&\r\n formErrors.servicePocError &&\r\n this.state.servicePocSuggestList.length === 0 && (\r\n \r\n {formErrors.servicePocError}\r\n \r\n )}\r\n
      \r\n
    • \r\n ) : (\r\n
    • \r\n \r\n {isReassignedServiceEditable === false ||\r\n !this.props.details.isEditable|| this.props.details.requestData.isWorkFlowAutomation ||\r\n this.props.details.servicePoc === \"Not Applicable\" ? (\r\n \r\n {this.props.details.servicePoc\r\n ? this.props.details.servicePoc\r\n : \"Yet to assign \"}\r\n \r\n ) : servicePOCList && servicePOCList.length > 0 ? (\r\n \r\n option.Name}\r\n getOptionValue={(option) => option.ID}\r\n handleStateData={(e) => {\r\n this.props.handleServicePocChange(e.Name);\r\n }}\r\n className={\r\n formErrors.servicePocError\r\n ? \"error-input\"\r\n : \"custom-select-look\"\r\n }\r\n />\r\n {formErrors && formErrors.servicePocError && (\r\n
      \r\n \r\n \r\n \r\n {formErrors.servicePocError}\r\n \r\n \r\n
      \r\n )}\r\n
      \r\n ) : (\r\n \r\n {this.props.details.servicePoc\r\n ? this.props.details.servicePoc\r\n : \"\"}\r\n \r\n )}\r\n
    • \r\n )\r\n //
    • \r\n // \r\n // {(isReassignedServiceEditable === false || !this.props.details.isEditable || this.props.details.servicePoc === \"Not Applicable\") ? (\r\n // \r\n // {this.props.details.servicePoc ? this.props.details.servicePoc : \"Yet to assign \"}\r\n // \r\n // ) : (\r\n // \r\n // option.Name}\r\n // getOptionValue={(option) => option.ID}\r\n // handleStateData={(e) => { this.props.handleServicePocChange(e.Name) }}\r\n // className={\"custom-select-look\"}/>\r\n\r\n // \r\n\r\n // )}\r\n\r\n //
    • \r\n }\r\n {(this.props.details.technology === \"Oracle\" ||\r\n this.props.details.technology === \"SAP\") && (\r\n
    • \r\n \r\n {!this.props.details.isEditable || this.props.details.requestData.isWorkFlowAutomation ? (\r\n {transformationType}\r\n ) : (\r\n option.Name}\r\n getOptionValue={(option) => option.ID}\r\n placeholder=\"Select\"\r\n handleStateData={(e) => {\r\n this.props.handleChange(\"transformationType\", e.Name);\r\n }}\r\n className={\"custom-select-look\"}\r\n />\r\n )}\r\n
    • \r\n )}\r\n\r\n\r\n \r\n \r\n {isReassignedServiceEditable === false ||\r\n !this.props.details.isEditable || this.props.details.requestData.isWorkFlowAutomation ? (\r\n \r\n {this.props.details.reqStatusName}\r\n \r\n ) : (\r\n option.Name}\r\n getOptionValue={(option) => option.ID}\r\n placeholder=\"Select\"\r\n handleStateData={(e) => {\r\n this.props.handleChange(\"reqStatus\", e.ID);\r\n }}\r\n className={\"custom-select-look\"}\r\n />\r\n )}\r\n \r\n
    • \r\n \r\n {description}\r\n
    • \r\n
    • \r\n \r\n !!ownerShipTransfer && this.reassignModel()}\r\n >\r\n {submittedBy}\r\n {!!ownerShipTransfer && (\r\n \"info-icon\"\r\n )}\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n {submittedOn &&\r\n format(new Date(submittedOn), \"dd-MMM-yyy hh:mm a\")}\r\n (GMT)\r\n \r\n
    • \r\n {this.props.details.requestData.isWorkFlowAutomation && this.props.details.requestData.reqStatus !== \"Closed\" && (\r\n
    • \r\n
      \r\n Please{\" \"}\r\n \r\n Click here\r\n {\" \"}\r\n to navigate back to Decision Driven Framework page to download the extract\r\n
      \r\n
    • \r\n )}\r\n
    • \r\n {this.props.details && this.props.details.isLinkEnable && (\r\n

      \r\n Create Client Portal using self service tool{\" \"}\r\n {\r\n this.checkStudioAccess(this.props.details.studioLinkURL);\r\n }}\r\n >\r\n Studio\r\n \r\n

      \r\n )}\r\n
    • \r\n
    \r\n\r\n
    \r\n {this.state.showModel && (\r\n {\r\n this.handleReAssign();\r\n }}\r\n buttonPosition={\r\n this.state.userSearchList.length > 0\r\n ? \"close-btn-div\"\r\n : \"add-user-btn\"\r\n }\r\n >\r\n {\r\n this.handleClose();\r\n }}\r\n />\r\n

    User Name

    \r\n {\r\n this.handleInput(e);\r\n }}\r\n >\r\n
    \r\n {this.state.userSearchList.length > 0 && (\r\n {\r\n return (\r\n this.selectUserName(e)}\r\n >\r\n {user.EID}\r\n

    \r\n );\r\n })}\r\n />\r\n )}\r\n
    \r\n \r\n )}\r\n
    \r\n {!!this.state.showAlertModel && (\r\n {\r\n this.setState({ showAlertModel: false });\r\n }}\r\n handleCancel={() => {\r\n this.setState({ showAlertModel: false });\r\n }}\r\n buttonPosition={\"center-button\"}\r\n >\r\n

    {this.state.alertText}

    \r\n \r\n )}\r\n {!!this.state.showReassignmentConfirmModal && (\r\n {\r\n this.handleReAssignSubmit();\r\n }}\r\n handleCancel={() => {\r\n this.setState({ showReassignmentConfirmModal: false });\r\n }}\r\n cancelBtn={true}\r\n okBtnName=\"Confirm\"\r\n cancelBtnName=\"Cancel\"\r\n >\r\n {\" \"}\r\n

    \r\n You are about to reassign this request to{\" \"}\r\n {this.state.searchUserEID}, post which you will lose the\r\n ability to perform usual tasks on the request.\r\n
    \r\n Please confirm to proceed with reassigning.\r\n

    \r\n \r\n )}\r\n {this.state.showSpinner && }\r\n\r\n {!!this.state.showServiceChangeAlert && (\r\n
    \r\n {\r\n this.handleServiceChangeCancelClick();\r\n }}\r\n handleOk={() => {\r\n this.handleServiceChangeOKClick();\r\n }}\r\n showCancelBtn={true}\r\n buttonLabel=\"Yes\"\r\n description=\"Service change will be updated only when the update button is clicked on the request details\"\r\n >\r\n Are you sure you want to change the service?\r\n \r\n
    \r\n )}\r\n {!!this.props.showTechnologyChangeAlert && (\r\n
    \r\n \r\n this.props.handleTechnologyChangeClick(true)\r\n }\r\n handleOk={() => this.props.handleTechnologyChangeClick(false)}\r\n showCancelBtn={true}\r\n buttonLabel=\"Yes\"\r\n description=\"Technology change will be updated only when the update button is clicked on the request details\"\r\n >\r\n Change in technology will remove all the existing assets. Are\r\n you sure you want proceed?\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default RequestAssignmentBasic;\r\n","import React, { Component } from \"react\";\r\nimport * as Constant from \"../../../components/constants/constant\";\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport { UTIL_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport Toast from \"../../../components/toast/toast\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport { downloadFile } from \"../../../components/file-manipulations/download\";\r\n\r\nclass ViewInvoice extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showSpinner: true,\r\n showToast: 0,\r\n showInvoice: false,\r\n showModel: false,\r\n showSendInvoiceToast: 0,\r\n isIE: false || !!document.documentMode\r\n };\r\n }\r\n componentDidMount() {\r\n if (!this.state.isIE) {\r\n this.getInvoiceDetails();\r\n } else {\r\n this.setState({\r\n showSpinner: false\r\n })\r\n }\r\n }\r\n async getInvoiceDetails() {\r\n this.setState({\r\n showSpinner: true\r\n })\r\n const response = await getData({ apiBaseUrl: UTIL_BASE_URL, serviceName: `Download?guid=${this.props.invoiceGUID}` });\r\n const { success, error, isInfo } = response;\r\n if (success) {\r\n const { data } = response\r\n let tmpUrl = data\r\n tmpUrl = tmpUrl.split(';')\r\n let contentType = tmpUrl.length > 0 ? tmpUrl[0].split(':') : []\r\n contentType = contentType.length > 0 ? contentType[1] : ''\r\n let encodedString = tmpUrl.length > 0 ? tmpUrl[1] : ''\r\n if (data) {\r\n this.setState({\r\n encodedString,\r\n contentType: contentType,\r\n showSpinner: false,\r\n showInvoice: true\r\n });\r\n }\r\n } else { this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });}\r\n }\r\n\r\n async handleDownload() {\r\n const { showToast } = this.state;\r\n this.setState({ showSpinner: true })\r\n const response = await getData({ apiBaseUrl: UTIL_BASE_URL, serviceName: `Download?guid=${this.props.invoiceGUID}` });\r\n const downloadResponse = downloadFile({ apiResponse: response, fileName: `Invoice ${this.props.reqNumber}.pdf` })\r\n const { error } = response\r\n if (downloadResponse) {\r\n this.setState({\r\n showToast: showToast + 1,\r\n toastText: 'Invoice downloaded successfully !',\r\n showSpinner: false\r\n })\r\n } else {\r\n this.setState({\r\n error: error,\r\n showSpinner: false\r\n })\r\n }\r\n }\r\n\r\n async handleSendInvoice() {\r\n this.props.showViewInvoice(\"send-invoice\");\r\n }\r\n\r\n sendInvoice() {\r\n this.props.showSendInvoice()\r\n }\r\n\r\n handleOnClickCancel() {\r\n this.props.showViewInvoice()\r\n }\r\n render() {\r\n let sendPopUpMsg = (!!this.props.invoiceTraceMessage || !!this.state.invoiceTraceMsg) ? \"You have already sent this invoice, Are you sure you want to re-send?\" : \"Are you sure you want to send this Invoice?\";\r\n return (\r\n
    \r\n
    \r\n \"previous\" { this.handleOnClickCancel() }}>\r\n

    Invoice

    \r\n \"file-download\" this.handleDownload()} >\r\n \"send-button\" { this.sendInvoice() }}>\r\n
    \r\n

    \r\n {!!this.state.showInvoice &&
    \r\n \r\n
    }\r\n {this.state.isIE &&

    PLEASE USE CHROME TO VIEW THE INVOICE

    }\r\n {this.state.showSpinner && }\r\n {this.state.showToast > 0 && }\r\n {this.state.showModel && (\r\n { this.setState({ showModel: false }); }}\r\n handleClose={() => { this.handleSendInvoice() }}>\r\n

    {sendPopUpMsg}

    \r\n )}\r\n {(this.state.showSendInvoiceToast > 0 && !!this.state.invoiceTraceMsg) &&
    }\r\n {this.state.error && { this.setState({ showErrorPopup: false }) }}>\r\n

    {this.state.error}

    }\r\n
    \r\n );\r\n }\r\n}\r\nexport default ViewInvoice;","import React from \"react\";\r\n\r\nimport \"./email-chip.scss\";\r\nconst EmailChip = (props) => {\r\n const { emailsArray, placeholder, editableField = true, name, value, onChange, onKeyDown, handleDelete, handlePaste, disabled = false, isError = false, disableFormGroup = false } = props\r\n\r\n return (
    \r\n {emailsArray && emailsArray.map(email => (\r\n
    \r\n {email}\r\n \r\n
    \r\n ))}\r\n \r\n
    )\r\n}\r\n\r\nexport default EmailChip;","export const toolbarConfig = {\r\n // Optionally specify the groups to display (displayed in the order listed).\r\n display: ['BLOCK_TYPE_DROPDOWN', 'INLINE_STYLE_BUTTONS', 'BLOCK_TYPE_BUTTONS'],\r\n INLINE_STYLE_BUTTONS: [\r\n { label: 'Bold', style: 'BOLD', className: 'custom-css-class' },\r\n { label: 'Italic', style: 'ITALIC' },\r\n { label: 'Underline', style: 'UNDERLINE' },\r\n { label: 'Strikethrough', style: 'STRIKETHROUGH' }\r\n ],\r\n BLOCK_TYPE_DROPDOWN: [\r\n { label: 'Normal', style: 'unstyled' },\r\n { label: 'Heading Large', style: 'header-one' },\r\n { label: 'Heading Medium', style: 'header-two' },\r\n { label: 'Heading Small', style: 'header-three' }\r\n ],\r\n // BLOCK_TYPE_BUTTONS: [\r\n // { label: 'UL', style: 'unordered-list-item' },\r\n // { label: 'OL', style: 'ordered-list-item' },\r\n // { label: 'Blockquote', style: 'blockquote' }\r\n // ]\r\n};\r\n","import React, { Component } from \"react\";\r\nimport * as Constant from \"../../../components/constants/constant\";\r\nimport { getData, postData } from \"../../../api/api-manager\";\r\nimport { API_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport { validateSupportFields, isEmail, isInList } from \"../../../components/validators/validate\";\r\nimport CustomButton from \"../../../components/button/nextbutton\";\r\nimport CustomInput from \"../../../components/custom-input/custom-input\";\r\nimport EmailChip from \"../../../components/email-chip/email-chip\";\r\nimport \"./send-invoice.scss\";\r\nimport RichTextEditor from 'react-rte';\r\nimport { toolbarConfig } from \"../../../components/email-chip/react-rte-toolbar\";\r\n\r\nclass SendInvoice extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n mailBody: RichTextEditor.createEmptyValue(), fromEmailIdsArray: [], bccEmailIdsArray: [], ccEmailIdsArray: [], toEmailIdsArray: [],\r\n subject: \"\", fromEmailIds: '', toEmailIds: '', bccEmailIds: '', ccEmailIds: '', errorMessage: {}, fileName: '', fileSize: '',\r\n error: '', showErrorPopup: false, showConfirmPopup: false, showSpinner: true\r\n };\r\n }\r\n componentDidMount() {\r\n this.getInitialData();\r\n }\r\n async getInitialData() {\r\n const response = await getData({ apiBaseUrl: API_BASE_URL, serviceName: `ComposeInvoice?invoiceGuid=${this.props.invoiceGUID}` });\r\n const { success, error } = response;\r\n if (success) {\r\n const { data } = response\r\n if (data) {\r\n this.setState({\r\n mailBody: RichTextEditor.createValueFromString(data.body, 'html'),\r\n fromEmailIdsArray: (data.fromAddress && data.fromAddress.split(\";\")) || [],\r\n bccEmailIdsArray: (data.bccAddress && data.bccAddress.split(\";\")) || [],\r\n ccEmailIdsArray: (data.ccAddress && data.ccAddress.split(\";\")) || [],\r\n toEmailIdsArray: (data.toAddress && data.toAddress.split(\";\")) || [],\r\n subject: data.subject,\r\n fileName: data.fileInfo && data.fileInfo.fileName, fileSize: data.fileInfo && data.fileInfo.fileSize,\r\n showSpinner: false\r\n });\r\n }\r\n } else { this.setState({ error: error, showErrorPopup: true, showSpinner: false }); }\r\n }\r\n handleBackClick = () => {\r\n this.props.showSendInvoice()\r\n }\r\n handleSendClick = async () => {\r\n if (this.state.subject === \"\") {\r\n this.confirmInvoiceMailData()\r\n }\r\n else this.sendInvoiceMail()\r\n }\r\n confirmInvoiceMailData() {\r\n let isConfirmTxt = `Are you sure you want to send mail without subject?`\r\n this.setState({ confirmInvoiceMail: true, isConfirmTxt: isConfirmTxt })\r\n }\r\n async sendInvoiceMail() {\r\n this.setState({ showSpinner: true })\r\n const sendObj = {\r\n \"mailFrom\": this.state.fromEmailIdsArray.join(\";\"),\r\n \"mailTo\": this.state.toEmailIdsArray.join(\";\"),\r\n \"mailCc\": this.state.ccEmailIdsArray.join(\";\"),\r\n \"mailBcc\": this.state.bccEmailIdsArray.join(\";\"),\r\n \"mailSubject\": this.state.subject,\r\n \"mailBody\": this.state.mailBody.toString('html'),\r\n \"invoiceGuid\": this.props.invoiceGUID\r\n }\r\n const response = await postData({\r\n serviceName: \"SendInvoice\",\r\n data: sendObj\r\n });\r\n const { success, data, error } = await response;\r\n if (success) {\r\n this.setState({ showConfirmPopup: true, successTxt: data.reasonPhrase || \"\", showSpinner: false })\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n onChange = (value) => {\r\n this.setState({ mailBody: value })\r\n }\r\n //email chips functions starts here\r\n handleInput = async (e) => {\r\n let { name, value } = e.target;\r\n await this.setState({ [name]: value });\r\n if (value === \"\") {\r\n this.setState({ errorMessage: { ...this.state.errorMessage, [`${name}Error`]: '' } });\r\n this.isRequiredField(name)\r\n } else {\r\n if (name === \"subject\") {\r\n const errorTxt = validateSupportFields(value)\r\n this.setState({ errorMessage: { ...this.state.errorMessage, subjectError: errorTxt } })\r\n } else {\r\n let emailArraytype = `${name}Array`\r\n var email = this.state[name].trim();\r\n if (email && this.isValid(name, email)) {\r\n await this.setState({\r\n [emailArraytype]: [...this.state[emailArraytype], email],\r\n [name]: '',\r\n errorMessage: { ...this.state.errorMessage, [`${name}Error`]: '' }\r\n });\r\n }\r\n }\r\n }\r\n };\r\n isRequiredField(name) {\r\n let errorTxt = \"\"\r\n if (name === \"toEmailIds\" && this.state.toEmailIdsArray.length <= 0) {\r\n errorTxt = \"This is a required field\"\r\n }\r\n this.setState({ errorMessage: { ...this.state.errorMessage, [`${name}Error`]: errorTxt } })\r\n }\r\n handleDelete = (evt) => {\r\n let { name, value } = evt.target;\r\n let emailArraytype = `${name}Array`\r\n if (this.state[emailArraytype]) {\r\n this.setState({\r\n [emailArraytype]: this.state[emailArraytype].filter(i => i !== value)\r\n }, () => {\r\n if (!this.state.toEmailIdsArray.length > 0) {\r\n if(this.state.toEmailIds) {\r\n this.setState({ errorMessage: { ...this.state.errorMessage, toEmailIdsError: \"Press Enter key to add recipient\" } })\r\n } else {\r\n this.setState({ errorMessage: { ...this.state.errorMessage, toEmailIdsError: \"This is a required field\" } })\r\n }\r\n }\r\n if (!this.state.ccEmailIdsArray.length > 0) {\r\n if(this.state.ccEmailIds) {\r\n this.setState({ errorMessage: { ...this.state.errorMessage, ccEmailIdsError: \"Press Enter key to add recipient\" } })\r\n } else {\r\n this.setState({ errorMessage: { ...this.state.errorMessage, ccEmailIdsError: \"\" } })\r\n }\r\n }\r\n if (!this.state.bccEmailIdsArray.length > 0) {\r\n if(this.state.bccEmailIds) {\r\n this.setState({ errorMessage: { ...this.state.errorMessage, bccEmailIdsError: \"Press Enter key to add recipient\" } })\r\n } else {\r\n this.setState({ errorMessage: { ...this.state.errorMessage, bccEmailIdsError: \"\" } })\r\n }\r\n }\r\n });\r\n }\r\n };\r\n handleKeyDown = (evt) => {\r\n let { name } = evt.target;\r\n let emailArraytype = `${name}Array`\r\n if (['Enter', 'Tab', ',', ';'].includes(evt.key) && this.state[name] !== '') {\r\n evt.preventDefault();\r\n var email = this.state[name].trim();\r\n if (email && this.isValid(name, email)) {\r\n this.setState({\r\n [emailArraytype]: [...this.state[emailArraytype], email],\r\n [name]: '',\r\n errorMessage: { ...this.state.errorMessage, [`${name}Error`]: '' }\r\n });\r\n }\r\n }\r\n };\r\n handlePaste = evt => {\r\n let { name } = evt.target\r\n let emailArraytype = `${name}Array`\r\n var paste = evt.clipboardData.getData(\"text\");\r\n var emailPasted = paste.match(/^[a-zA-Z0-9_.+-]+@(?:(?:[a-zA-Z0-9-]+\\.)?[a-zA-Z]+\\.)?(avanade|accenture)\\.com$/g);\r\n if (emailPasted) {\r\n this.setState({\r\n [emailArraytype]: [...this.state[emailArraytype]], [name]: ''\r\n });\r\n }\r\n };\r\n\r\n isValid = (name, email) => {\r\n let errorName = `${name}Error`\r\n let error = null;\r\n if (isInList(this.state, name, email)) {\r\n error = `${email} has already been added.`;\r\n }\r\n if (!isEmail(email)) {\r\n error = `${email} is not a valid email address.`;\r\n }\r\n if (error) {\r\n this.setState({ errorMessage: { ...this.state.errorMessage, [errorName]: error } });\r\n return false;\r\n } else {\r\n this.setState({ errorMessage: { ...this.state.errorMessage, [errorName]: \"\" } })\r\n }\r\n return true;\r\n }\r\n sendBtnEnable = () => {\r\n const isError = Object.values(this.state.errorMessage).filter((item) => item !== \"\")\r\n return(this.state.toEmailIdsArray.length > 0 && this.state.fromEmailIdsArray.length > 0\r\n && !isError.length > 0) ? true : false;\r\n }\r\n render() {\r\n return (\r\n < div className=\"send-invoice\" >\r\n
    \r\n \"previous\" { this.handleBackClick() }}>\r\n

    Compose Email

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n { this.handlePaste(e) }} editableField={false}\r\n onChange={(e) => { this.handleInput(e) }} emailsArray={this.state.fromEmailIdsArray}\r\n onKeyDown={this.handleKeyDown} handleDelete={(e) => { this.handleDelete(e) }} disabled={true}\r\n />\r\n {this.state.errorMessage.fromEmailIdsError &&

    {this.state.errorMessage.fromEmailIdsError}

    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n { this.handlePaste(e) }} onChange={(e) => { this.handleInput(e) }} emailsArray={this.state.toEmailIdsArray}\r\n onKeyDown={this.handleKeyDown} handleDelete={(e) => { this.handleDelete(e) }}\r\n isError={this.state.errorMessage.toEmailIdsError || false}\r\n />\r\n {this.state.errorMessage.toEmailIdsError &&

    {this.state.errorMessage.toEmailIdsError}

    }\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n { this.handlePaste(e) }} onChange={(e) => { this.handleInput(e) }} emailsArray={this.state.ccEmailIdsArray}\r\n onKeyDown={this.handleKeyDown} handleDelete={(e) => { this.handleDelete(e) }} isError={this.state.errorMessage.ccEmailIdsError || false}\r\n />\r\n {this.state.errorMessage.ccEmailIdsError &&

    {this.state.errorMessage.ccEmailIdsError}

    }\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n { this.handlePaste(e) }} onChange={(e) => { this.handleInput(e) }} emailsArray={this.state.bccEmailIdsArray}\r\n onKeyDown={this.handleKeyDown} handleDelete={(e) => { this.handleDelete(e) }} isError={this.state.errorMessage.bccEmailIdsError || false}\r\n />\r\n {this.state.errorMessage.bccEmailIdsError &&

    {this.state.errorMessage.bccEmailIdsError}

    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n { this.handleInput(e) }} />\r\n {this.state.errorMessage.subjectError &&

    {this.state.errorMessage.subjectError}

    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.fileName &&
    \r\n \"previous\"\r\n

    {this.state.fileName} {this.state.fileSize}

    \r\n
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n { this.handleSendClick() }} disabled={!this.sendBtnEnable()} />\r\n {this.state.showSpinner && }\r\n {this.state.error && { this.setState({ showErrorPopup: false }) }}>\r\n

    {this.state.error}

    }\r\n {this.state.successTxt && { this.setState({ showConfirmPopup: false }); this.handleBackClick() }}>\r\n

    {this.state.successTxt}

    }\r\n {this.state.confirmInvoiceMail &&\r\n { this.setState({ confirmInvoiceMail: false }); this.sendInvoiceMail() }}\r\n handleCancel={() => { this.setState({ confirmInvoiceMail: false }) }} cancelBtn={true} okBtnName='Send'\r\n >

    {this.state.isConfirmTxt}

    }\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default SendInvoice;","import React, { Component, Fragment } from \"react\";\r\nimport data from \"../../assets/data/help.json\";\r\nimport \"./help.scss\";\r\nimport { AppServiceContext } from \"../../context-providers/app-service-provider/app-service-provider\";\r\nimport CustomButton from \"../button/nextbutton\";\r\nimport CustomInput from \"../custom-input/custom-input\";\r\nimport * as Constant from \"../constants/constant\";\r\nimport OutsideClickAlerter from \"../outside-click-alerter/outside-click-alerter\";\r\nimport SecondaryButton from \"../button/secondary-button\";\r\n\r\nclass Help extends Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n data: this.props.screenName && data[this.props.screenName],\r\n displayAnswer: false, searchedData: {},\r\n screenName: this.props.screenName,\r\n searchHelpTxt: \"\"\r\n };\r\n }\r\n componentDidUpdate() {\r\n if (this.props.screenName !== this.state.screenName) {\r\n this.setState({\r\n data: this.props.screenName && data[this.props.screenName],\r\n screenName: this.props.screenName\r\n })\r\n }\r\n }\r\n async showAnswer(queTitle, que, ans) {\r\n await this.setState({\r\n selectedQuestionHeader: queTitle,\r\n displayAnswer: true,\r\n answerTemplate: ans.template,\r\n answerContent: ans.content,\r\n queHeader: que\r\n });\r\n };\r\n\r\n async closeHelp(appservice) {\r\n await this.setState({ displayAnswer: false, searchedData: {}, searchHelpTxt: \"\" })\r\n await appservice.showHelp({ showHelpOpt: false });\r\n }\r\n\r\n async handleInput(e) {\r\n const { name, value } = e.target\r\n await this.setState({ [name]: value })\r\n const searchedData = this.searchByKeyword(this.state.data, this.state[name]);\r\n await this.setState({ searchedData: searchedData })\r\n }\r\n\r\n searchByKeyword = (searchData, searchTxt) => {\r\n let val = searchTxt.toLowerCase();\r\n let groupMatches = {};\r\n groupMatches = searchData.reduce((searchedArray, { questionsSetTitle, questionsSet }) => {\r\n let titleTxtMatches = questionsSetTitle.toLowerCase().includes(val)\r\n if (titleTxtMatches) {\r\n searchedArray.push({ questionsSetTitle, questionsSet });//pushing complete set of questions if questionsSetTitle matches\r\n } else {\r\n let quesTxtMatches = []\r\n questionsSet && questionsSet.filter(({ id, que, ans }) => {\r\n let filteredQues = que && que.filter((temp) => temp.toLowerCase().includes(val))//matching with set of questions\r\n if (filteredQues && filteredQues.length > 0) {\r\n quesTxtMatches.push({ id, ans, que: filteredQues })//filtered questions\r\n }\r\n return null\r\n })\r\n if (quesTxtMatches.length > 0) {\r\n searchedArray.push({ questionsSetTitle, questionsSet: [...quesTxtMatches] });//pushing only filtered questions\r\n }\r\n }\r\n return searchedArray\r\n }, [])\r\n return groupMatches\r\n }\r\n\r\n showElement = (count, elementName) => {\r\n let groupMatches = {}\r\n groupMatches = this.state.answerContent && this.state.answerContent.reduce((elementData, item) => {\r\n if (item.contentType === elementName) {\r\n elementData.push(item.data[count])\r\n }\r\n return elementData\r\n }, [])\r\n return groupMatches\r\n }\r\n\r\n render() {\r\n let helpData = this.state && this.state.data\r\n const searchedHelpData = this.state && this.state.searchedData\r\n if (searchedHelpData.length > 0 || this.state.searchHelpTxt) {\r\n helpData = searchedHelpData\r\n }\r\n return (\r\n \r\n {appservice => {\r\n return (\r\n appservice.showHelpOpt && (\r\n
    \r\n { this.closeHelp(appservice); this.props.closeHelpBox() }}>\r\n {!this.state.displayAnswer &&
    \r\n
    \r\n
    How can we help?
    \r\n \"cross-icon\" { this.closeHelp(appservice); this.props.closeHelpBox() }} />\r\n
    \r\n this.handleInput(e)} />\r\n
    {helpData && helpData.length > 0 && helpData.map((item, index) => {\r\n return (\r\n \r\n

    {\" \"}{item.questionsSetTitle}

    \r\n
      {\" \"}{item.questionsSet && item.questionsSet.map((set) => {\r\n return (\r\n set.que.map((que, key) => {\r\n return (\r\n
    • { this.showAnswer(item.questionsSetTitle, que, set.ans); }}>{que}
    • \r\n );\r\n })\r\n )\r\n })}\r\n
    {\" \"}\r\n
    \r\n );\r\n })}
    \r\n
    \r\n \r\n Looking for something else?\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n }\r\n {this.state.displayAnswer &&
    \r\n

    {this.state.selectedQuestionHeader}

    \r\n {
    {\r\n this.state.answerTemplate && this.state.answerTemplate.map((element, index) => {\r\n if (element.contentType === \"paragraph\") {\r\n const filter = this.showElement(element.count, \"paragraph\")\r\n return (\r\n filter && filter.length > 0 && \r\n
    {filter[0].paragraphTitle}
    \r\n {filter[0].paragraph &&

    {filter[0].paragraph}

    }\r\n
    \r\n )\r\n } else if (element.contentType === \"list\") {\r\n const filter = this.showElement(element.count, \"list\");\r\n return (\r\n
    \r\n {filter && filter.length > 0 && \r\n {filter[0].listTitle &&
    {filter[0].listTitle}
    }\r\n
      \r\n {filter[0].list.map((listItem, key) => {\r\n return
    • {listItem}
    • \r\n })}\r\n
    \r\n
    }\r\n
    \r\n )\r\n } else if (element.contentType === \"image\") {\r\n const filter = this.showElement(element.count, \"image\");\r\n return (filter && filter.length > 0 && \"snapshots\")\r\n } else if (element.contentType === \"url\") {\r\n const filter = this.showElement(element.count, \"url\");\r\n return (\r\n filter && filter.length > 0 && filter[0].urlName &&

    {filter[0].urlName}

    \r\n )\r\n } else return null\r\n\r\n })}
    \r\n }\r\n
    \r\n {\r\n this.setState({ displayAnswer: false })\r\n }} />\r\n \r\n Looking for something else?\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\nHelp.contextType = AppServiceContext;\r\nexport default Help;\r\n","import React, { Component, Fragment } from \"react\";\r\nimport \"./request-assignment.scss\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { Constant, CustomButton, CustomTextArea, Modal, dateFormat, CustomModal, Checkbox, CRPAdditionalDetails, SupportDetails, Spinner, SAPAdditionalDetails, AttachmentDetails, ProcessAdditionalDetails, SuccessFactorAdditionalDetails, TalentHRAdditionalDetails, OracleFormAdditionalDetails, AssetUsage, SolutionPlanningAdditionalDetails, SolutioningDetails } from \"./request-assignment-import\";\r\nimport { getData, postData } from \"../../../api/api-manager\";\r\nimport { AppServiceContext } from \"../../../context-providers/app-service-provider/app-service-provider\";\r\nimport { USER_API_BASE_URL, API_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport { validateField, validateComment, validateWbs, validateServicePOC } from \"../../../components/validators/validate\";\r\nimport { arrayUnique, loadComponentDetails, initialStates, hasAssignmentRight, getStatusName, navigate, getCloseReqValidationMsg, stateByResponse, setBasicTabErrors, getStatusID, enableUpdateButton, validateAndSetStates } from './request-assignment-function'\r\nimport RequestAssignmentBasic from \"./request-assignment-basic\";\r\nimport ViewInvoice from \"./view-invoice\";\r\nimport SendInvoice from \"./send-invoice\";\r\nimport Help from \"../../../components/help/help\";\r\nimport { isValExistInArray } from \"../../../containers/common/object-manipulations\";\r\nimport _ from \"lodash\" ;\r\nimport parse from 'html-react-parser';\r\nclass RequestAssignment extends Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n const states = initialStates();\r\n this.state = {\r\n ...states,\r\n roleId: this.context && this.context.userRole,\r\n initialAttachmentCnt: 0, eid: this.props.eid || this.context.eid, sendData: false\r\n , getAssetTypeValue: [],getserviceTypeValue:\"\",\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.context.userRole) {\r\n this.getRoleId()\r\n } else {\r\n this.getRequestDetails();\r\n }\r\n if (this.context.setScreenName) {\r\n this.context.setScreenName({ screenName: \"\" })\r\n }\r\n }\r\n\r\n async getRoleId() {\r\n const response = await getData({\r\n apiBaseUrl: USER_API_BASE_URL,\r\n serviceName: `Role?EID=${this.context.eid}`\r\n });\r\n const { success, data, error, isInfo } = await response;\r\n if (success) {\r\n if (data) {\r\n const { roleId } = data\r\n this.setState({\r\n roleId: roleId,\r\n }, () => {\r\n this.getRequestDetails();\r\n });\r\n }\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true });\r\n }\r\n\r\n }\r\n\r\n async getRequestDetails() {\r\n await this.setState({ showSpinner: true });\r\n const serviceName = `Details?reqNum=${this.props.requestNumber}`;\r\n const response = await getData({ serviceName });\r\n const getStates = await stateByResponse(response)\r\n const { success, error, isInfo } = response;\r\n if (success) {\r\n await this.setState({\r\n ...getStates,\r\n hideAdditionalDetails: true,\r\n requestID: getStates.requestID,\r\n });\r\n if (!!getStates.isEditable && !!getStates.wbs) {\r\n if (!isValExistInArray(this.state.validatedWbsArray, getStates.wbs)) {\r\n const wbsValue = getStates.wbs;\r\n let url = `ValidateWBSe?wbseCode=${this.state.wbs}`;\r\n if (wbsValue) {\r\n await this.setState({ showSpinner: true });\r\n const responseData = await getData({ serviceName: url });\r\n const result = await responseData;\r\n if (result.success) {\r\n await this.setState({\r\n validatedWbsArray: [...this.state.validatedWbsArray, wbsValue],\r\n validWBS: true,\r\n showSpinner: false\r\n });\r\n } else {\r\n await this.setState({ showSpinner: false });\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!!getStates.isEditable && !!getStates.technology && getStates.technologyList && getStates.technologyList.length > 0) {\r\n\r\n const techId = getStatusID(getStates.technology, getStates.technologyList)\r\n\r\n this.getServicesByTechId(techId)\r\n }\r\n this.getAssignee();\r\n this.setTransformType(getStates.technology);\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n validate() {\r\n let isError = false;\r\n const isWbsValid = validateWbs(this.state.wbs);\r\n if (isWbsValid !== \"\") isError = true;\r\n if (this.state.validWBS === false) isError = true;\r\n\r\n if (this.state.requestData.wbs !== '' && this.state.wbs === '') {\r\n this.setState({\r\n formErrors: {\r\n ...this.state.formErrors,\r\n wbsError: 'WBS is required field.'\r\n }\r\n })\r\n isError = true;\r\n }\r\n const isCommentValid = validateComment(this.state.comment);\r\n if (isCommentValid !== \"\") isError = true;\r\n if (!!this.state.canApproveRequest && (this.state.reqAccept === 'reject' && (!this.state.comment || this.state.comment === ''))) {\r\n this.setState({\r\n formErrors: {\r\n ...this.state.formErrors,\r\n commentError: 'Please add reason for reject request.'\r\n }\r\n })\r\n isError = true\r\n }\r\n if (!!this.state.canApproveRequest && (this.state.reqAccept === 'accept' && (!this.state.comment || this.state.comment === ''))) {\r\n this.setState({\r\n formErrors: {\r\n ...this.state.formErrors,\r\n commentError: 'Please add reason for approve request.'\r\n }\r\n })\r\n isError = true\r\n }\r\n return isError;\r\n }\r\n\r\n validateAndSetStates() {\r\n return validateAndSetStates(this.state)\r\n }\r\n\r\n handleSubmit = e => {\r\n e.preventDefault();\r\n const { isError, formErrors } = this.validateAndSetStates();\r\n this.setState({\r\n formErrors: {\r\n ...this.state.formErrors,\r\n ...formErrors\r\n }\r\n })\r\n if (!isError && (this.state.validWBS !== false)) {\r\n this.submitData();\r\n this.setState({ checked: false })\r\n }\r\n };\r\n\r\n async getGridData({ serviceName }) {\r\n const response = await getData({ serviceName });\r\n this.setStatesbyData(await response);\r\n }\r\n\r\n setStatesbyData = response => {\r\n const getStates = stateByResponse(response)\r\n const { success, data } = response;\r\n if (success) {\r\n let isStatusChangedOnUpdate = getStates.reqStatus !== this.state.requestData.reqStatusId ? true : false;\r\n let isTechChangedOnUpdate = getStates.technology !== this.state.requestData.technology ? true : false;\r\n this.setState({ ...getStates, isDataNotUpdated: true, isStatusChangedOnUpdate: isStatusChangedOnUpdate, isTechChangedOnUpdate: isTechChangedOnUpdate });\r\n if (!!getStates.isEditable && !!getStates.technology && getStates.technologyList && getStates.technologyList.length > 0) {\r\n const techId = getStatusID(getStates.technology, getStates.technologyList)\r\n this.getServicesByTechId(techId)\r\n }\r\n if (!!data[0].isEditable) this.getAssignee();\r\n } else {\r\n this.setState({ ...getStates });\r\n }\r\n };\r\n\r\n setStatusChangedOnUpdate = async (val) => {\r\n await this.setState({\r\n isStatusChangedOnUpdate: val,\r\n });\r\n };\r\n setTechChangedOnUpdate = async (val) => {\r\n await this.setState({\r\n isTechChangedOnUpdate: val,\r\n });\r\n }\r\n\r\n async submitData() {\r\n this.setState({ error: '', formErrors: {}, sendData: false, isDataNotUpdated: true });\r\n let submittedData = {}, serviceName = \"\", isClosedRequestValidation = false;\r\n let landscapeDetails = this.state.crptest && Object.entries(this.state.crptest).length !== 0 && this.state.crptest.constructor === Object ? Object.values(this.state.crptest) : []\r\n\r\n if (this.state.canApproveRequest) {\r\n serviceName = \"updateRequest\"\r\n submittedData = {\r\n requestNumber: this.props.requestNumber,\r\n comments: this.state.comment,\r\n EID: this.context.eid,\r\n reqAccept: this.state.reqAccept ? (this.state.reqAccept === 'accept') : null,\r\n isNotifyEnabledOnComments: this.state.checked\r\n };\r\n } else {\r\n if (this.state.requestData.enableReOpen) {\r\n submittedData = {\r\n requestNumber: this.props.requestNumber,\r\n comments: this.state.comment,\r\n EID: this.context.eid,\r\n isNotifyEnabledOnComments: this.state.checked,\r\n RequestReopen: true\r\n }\r\n serviceName = \"updateRequest\"\r\n } else {\r\n let statusName = getStatusName(this.state.reqStatus, this.state.StatusList);\r\n if (this.state.isValidationEnabled && statusName === \"Closed\") {\r\n const isValidationSuccess = await this.validationServiceCall();\r\n if (!isValidationSuccess) {\r\n isClosedRequestValidation = true;\r\n return true;\r\n }\r\n } else if (this.state.isAssetsVisible && statusName === \"Closed\") {\r\n this.validationServiceCall();\r\n }\r\n\r\n serviceName = \"updateRequest\"\r\n if (this.state.roleId === 1) {\r\n submittedData = {\r\n requestNumber: this.props.requestNumber,\r\n comments: this.state.comment,\r\n EID: this.context.eid,\r\n isNotifyEnabledOnComments: this.state.checked\r\n };\r\n } else {\r\n let scenario = ''\r\n if (this.state.serviceList && this.state.serviceList.length > 0) {\r\n let type = this.state.reqType\r\n let scenarioType = this.state.scenario\r\n\r\n let serviceObj = this.state.serviceList.find(function (service) {\r\n return service.Name === type;\r\n })\r\n if (!!serviceObj && serviceObj.Options !== null) {\r\n const scenarioId = getStatusID(scenarioType, serviceObj.Options.Items)\r\n scenario = scenarioId ? scenarioId : ''\r\n }\r\n }\r\n submittedData = {\r\n RequestNumber: this.props.requestNumber,\r\n SDM: this.state.sdm,\r\n ServicePOC: this.state.servicePoc,\r\n demoDate: dateFormat(this.state.clientDemoDate, \"isoDate\"),\r\n Comments: this.state.comment,\r\n EID: this.context.eid,\r\n opportunityID: this.state.opportunityID,\r\n DealSize: this.state.dealSize,\r\n ProjectPoC: this.state.clientAccountLead.toLowerCase(),\r\n Technology: getStatusID(this.state.technology, this.state.requestData.technologyList),\r\n ProjectPhase: getStatusID(this.state.projectPhase, this.state.requestData.projectPhaseList),\r\n MarketUnit: this.state.marketUnit.value,\r\n Industry: getStatusID(this.state.industryGroup, this.state.requestData.industryList),\r\n FunctionalArea: getStatusID(this.state.functionalArea, this.state.requestData.functionalAreaList),\r\n TransformationType: getStatusID(this.state.transformationType, this.state.requestData.transformationTypeList),\r\n TypeOfService: getStatusID(this.state.typeOfService_DR, this.state.requestData.typeOfService),\r\n AssetType: this.state.assetTypes.map(item => item.ID).join(\",\"),\r\n WBS: this.state.wbs,\r\n SelectedServiceID: (!!this.state.SelectedServiceID && this.state.SelectedServiceID !== '') ? this.state.SelectedServiceID : null,\r\n scenarioID: (!!scenario && scenario !== '') ? scenario : null,\r\n ReqStatusID: this.state.reqStatus,\r\n LandscapeDetails: landscapeDetails,\r\n isNotifyEnabledOnComments: this.state.checked\r\n };\r\n }\r\n }\r\n }\r\n if (!isClosedRequestValidation) {\r\n const response = await postData({\r\n serviceName: serviceName,\r\n data: submittedData\r\n });\r\n const { success, error } = await response;\r\n await this.setState({ isDataNotUpdated: true });\r\n if (success) {\r\n this.setState({\r\n SelectedServiceID: ''\r\n })\r\n if (response.data.reasonPhrase && response.data.reasonPhrase.includes(\"NewRequestNumber=\")) {\r\n const queryParams = response.data.reasonPhrase\r\n const params = queryParams.split('NewRequestNumber=')\r\n if (!!params[1]) {\r\n this.props.handleUpdateRequestNo(params[1])\r\n this.getGridData({ serviceName: `Details?reqNum=${params[1]}` });\r\n }\r\n } else {\r\n this.getGridData({ serviceName: `Details?reqNum=${this.props.requestNumber}` });\r\n }\r\n // this.props.handleGetData(true);\r\n\r\n } else {\r\n this.setState({ error: error, showUpdateErrorPopup: true });\r\n }\r\n }\r\n }\r\n async validationServiceCall() {\r\n const response = await getData({ serviceName: `Validate?requestNumber=${this.props.requestNumber}` });\r\n const { success, data, error, isInfo } = await response;\r\n if (success) {\r\n const { supportDetails, attachmentDetails, assetDetails } = data && data.Validation\r\n if (this.state.servicePoc !== \"\" && attachmentDetails.isValid && supportDetails.isValid) {\r\n if (!assetDetails.isValid) {\r\n await this.setState({\r\n closeValidationData: data.Validation, ValidationModalAction: true\r\n })\r\n }\r\n return true;\r\n } else {\r\n await this.setState({\r\n closeValidationData: data.Validation, ValidationModalAction: true, sendData: false\r\n })\r\n\r\n return false\r\n }\r\n } else {\r\n this.setState({ error: error, isInfo, showSpinner: false });\r\n }\r\n }\r\n\r\n async checkAssetsLength() {\r\n const response = await getData({ serviceName: `Validate?requestNumber=${this.props.requestNumber}` });\r\n const { success, data, error, isInfo } = await response;\r\n if (success) {\r\n const { assetDetails } = data && data.Validation\r\n return assetDetails.isValid;\r\n } else {\r\n this.setState({ error: error, isInfo, showSpinner: false });\r\n }\r\n }\r\n async validationModalHandleOk(e) {\r\n await this.setState({ ValidationModalAction: false, sendData: true });\r\n const basic = this.state.closeValidationData && this.state.closeValidationData.basic;\r\n if (basic.isValid === false && this.state.sendData === true && this.state.servicePoc === \"\") {\r\n const basicValidationError = await setBasicTabErrors(basic);\r\n this.setState({ ...this.state, formErrors: basicValidationError })\r\n }\r\n navigate(e, this.state.closeValidationData)\r\n }\r\n\r\n handleInputCRPAdditional = async (event) => {\r\n const { name, value } = event.target;\r\n let landscapeId = event.target.getAttribute('parent_id')\r\n let parentNm = event.target.getAttribute('parent_nm')\r\n let systemId = event.target.getAttribute('system_id')\r\n let systemNm = event.target.getAttribute('system_nm')\r\n let sysArr = []\r\n let existingSystemArr = this.state && this.state.crptest && this.state.crptest[landscapeId] ? this.state.crptest[landscapeId].Systems : []\r\n if (existingSystemArr.length > 0) {\r\n sysArr = existingSystemArr.filter(function ({ SystemID }) {\r\n return SystemID.toString() !== systemId\r\n })\r\n }\r\n sysArr.push({\r\n \"SystemID\": systemId,\r\n \"Name\": systemNm,\r\n \"Assignee\": value\r\n })\r\n await this.setState({\r\n CRPAdditional: {\r\n ...this.state.CRPAdditional,\r\n [name]: value,\r\n },\r\n crptest: {\r\n ...this.state.crptest,\r\n [landscapeId]: {\r\n ...this.state.crptest[landscapeId],\r\n ID: landscapeId,\r\n Name: parentNm,\r\n Systems: sysArr\r\n }\r\n },\r\n isDataNotUpdated: false\r\n });\r\n }\r\n\r\n handleInput = async (e) => {\r\n let { name, value } = e.target;\r\n let errorLbl = `${name}Error`;\r\n if (name === \"wbs\") {\r\n value = value.toUpperCase();\r\n }\r\n if (name === \"clientAccountLead\") {\r\n value = value.toLowerCase();\r\n }\r\n await this.setState({\r\n isDataNotUpdated: false, [name]: value, error: '',\r\n formErrors: {\r\n ...this.state.formErrors,\r\n [errorLbl]: validateField({ name, value })\r\n }\r\n });\r\n }\r\n\r\n handleCommentInput = async (e) => {\r\n let { name, value } = e.target;\r\n let errorLbl = `${name}Error`;\r\n let commentErrorMessage = \"\";\r\n if (value === '') {\r\n if (!!this.state.canApproveRequest && (this.state.reqAccept === 'reject' || this.state.reqAccept === 'accept')) {\r\n commentErrorMessage = `Please add reason for ${this.state.reqAccept === 'accept' ? 'approve' : 'reject'} request.`;\r\n }\r\n } else {\r\n commentErrorMessage = validateField({ name, value })\r\n }\r\n\r\n await this.setState({\r\n isDataNotUpdated: false, [name]: value, error: '',\r\n formErrors: {\r\n ...this.state.formErrors,\r\n [errorLbl]: commentErrorMessage\r\n }\r\n });\r\n }\r\n\r\n\r\n handleChangeServiceRequest = async (responseData) => {\r\n await this.setState({\r\n reqStatus: responseData.reqStatusNew && responseData.reqStatusNew.length > 0 ? responseData.reqStatusNew[0].ID : '',\r\n servicePoc: '',\r\n sdm: '',\r\n sdmList: responseData.sdmList && responseData.sdmList.length > 0 ? responseData.sdmList : [],\r\n servicePOCList: responseData.svcPocList && responseData.svcPocList.length > 0 ? responseData.svcPocList : [],\r\n StatusList: responseData.statusList && responseData.statusList.length > 0 ? responseData.statusList : [],\r\n isSMEService: !!responseData.isSMEService,\r\n isWbseRequired: !!responseData.isWbseRequired,\r\n isIgnoreWBSValidation: !!responseData.isIgnoreWBSValidation,\r\n\r\n formErrors: {\r\n ...this.state.formErrors,\r\n servicePocError: ''\r\n },\r\n isReassignedServiceEditable: responseData.isReassignedServiceEditable,\r\n isDataNotUpdated: false\r\n })\r\n if (!!responseData.isReassignedServiceEditable) {\r\n await this.setState({\r\n reqStatus: responseData.reqStatusNew && responseData.reqStatusNew.length > 0 ? responseData.reqStatusNew[0].ID : '',\r\n servicePoc: !!responseData.defaultSvcPoc ? responseData.defaultSvcPoc : '',\r\n sdm: !!responseData.defaultSDM ? responseData.defaultSDM : '',\r\n })\r\n }\r\n const { formErrors } = this.validateAndSetStates();\r\n this.setState({\r\n formErrors: {\r\n ...formErrors\r\n }\r\n })\r\n }\r\n\r\n handleSMEServicePocChange = async (servicePOC) => {\r\n this.ValidateSMEServicePOC(servicePOC);\r\n\r\n await this.setState({\r\n ...this.state,\r\n servicePoc: servicePOC\r\n })\r\n }\r\n\r\n ValidateSMEServicePOC(searchedUser) {\r\n let smeServicePOC = searchedUser, errorMsg = '';\r\n\r\n if (!!this.state.StatusList && this.state.StatusList.length > 0) {\r\n let statusName = getStatusName(this.state.reqStatus, this.state.StatusList);\r\n if (smeServicePOC === \"\" && statusName !== \"New\") errorMsg = \"This field is mandatory\"\r\n else errorMsg = validateServicePOC(smeServicePOC);\r\n }\r\n\r\n this.setState({\r\n ...this.state,\r\n isDataNotUpdated: false,\r\n servicePoc: smeServicePOC,\r\n formErrors: {\r\n ...this.state.formErrors,\r\n servicePocError: errorMsg\r\n }\r\n })\r\n }\r\n \r\n\r\n async handleWBSInput(e) {\r\n let { name, value } = e.target;\r\n if (name === \"wbs\") {\r\n value = value.toUpperCase();\r\n }\r\n await this.setState({\r\n [name]: value,\r\n validWBS: false,\r\n isDataNotUpdated: false\r\n });\r\n }\r\n\r\n handleChange = async (name, value) => {\r\n await this.setState({\r\n ...this.state, isDataNotUpdated: false, [name]: value,\r\n formErrors: { ...this.state.formErrors }\r\n });\r\n \r\n console.log(\"handlechanges\")\r\n let {formErrors} = this.validateAndSetStates();\r\n\r\n if (name === \"technology\") {\r\n if (value === \"SAP\" || value === \"Oracle\") {\r\n this.setState({ showTransport: true })\r\n }\r\n else {\r\n this.setState({ showTransport: false })\r\n }\r\n }\r\n console.log(this.state.requestData.functionalArea)\r\n if(name === \"functionalArea\"){\r\n if((_.isEqual(this.state.functionalArea,this.state.wbsValidationList[2].keyValue)))\r\n {\r\n this.setState({functionRight:true})\r\n }\r\n else{\r\n this.setState({functionRight:false})\r\n }\r\n this.setState({formErrors : formErrors})\r\n }\r\n\r\n let statusName = getStatusName(this.state.reqStatus, this.state.StatusList);\r\n let statusExclude = ['New', 'Approved', 'Awaiting Approval']\r\n if (!this.state.servicePoc && !statusExclude.includes(statusName)) {\r\n await this.setState({\r\n formErrors: {\r\n ...this.state.formErrors,\r\n servicePocError: 'This field is mandatory'\r\n }\r\n })\r\n } else {\r\n await this.setState({\r\n formErrors: {\r\n ...this.state.formErrors,\r\n servicePocError: ''\r\n }\r\n })\r\n }\r\n };\r\n\r\n getServicesByTechId = async (techId) => {\r\n const serviceName = `GetServices?techId=${techId}&isServiceChange=true`\r\n const response = await getData({ serviceName: serviceName, apiBaseUrl: API_BASE_URL });\r\n const { success, error, isInfo } = await response;\r\n if (success) {\r\n const serviceList = response.data && response.data.ServiceList && response.data.ServiceList\r\n let serviceTech = serviceList.map(({ Service }) => {\r\n return Service[0];\r\n })\r\n await this.setState({\r\n serviceList: serviceTech,\r\n showSpinner: false\r\n });\r\n const earlierServiceID = getStatusID(this.state.reqType, serviceTech)\r\n let serviceObj = serviceTech.find(function (service) {\r\n return service.ID === parseInt(earlierServiceID);\r\n })\r\n\r\n if (!!serviceObj) {\r\n let options = !!serviceObj.Options ? serviceObj.Options : {}\r\n await this.setState({\r\n interactionScenarios: options,\r\n })\r\n }\r\n\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n this.validateAndSetStates();\r\n }\r\n\r\n handleTechChange = async (techValue, techList) => {\r\n let techId = getStatusID(techValue, techList);\r\n let isAssetsAdded = await this.checkAssetsLength();\r\n if (!!this.state.isAssetsVisible && isAssetsAdded) {\r\n this.setState({\r\n showTechnologyChangeAlert: true\r\n })\r\n this.techChangeHandlerForAssets(techValue);\r\n } else {\r\n await this.setState({\r\n technology: techValue,\r\n SelectedServiceID: '',\r\n isDataNotUpdated: false,\r\n reqType: '',\r\n scenario: '',\r\n formErrors: {\r\n ...this.state.formErrors,\r\n interactionScenarioError: '',\r\n },\r\n interactionScenarios: {},\r\n })\r\n this.validateAndSetStates();\r\n this.getServicesByTechId(techId)\r\n this.setTransformType(techValue);\r\n }\r\n }\r\n\r\n setTransformType = (techValue) => {\r\n console.log(techValue)\r\n if (techValue === \"SAP\" || techValue === \"Oracle\") {\r\n const FilteredTransformTypeList = this.state.requestData.transformationTypeList.filter((listItem) => listItem.Description === techValue)\r\n this.setState({ FilteredTransformTypeList })\r\n }\r\n }\r\n\r\n\r\n handleTechnologyChangeClick = (flag) => {\r\n this.setState({\r\n showTechnologyChangeAlert: false\r\n })\r\n this.techChangeHandlerForAssets(this.state.technology, flag);\r\n }\r\n\r\n techChangeHandlerForAssets = async (value, isCancel = false) => {\r\n let techId;\r\n if (isCancel === false) {\r\n const prevalue = this.state.technology\r\n const preList = this.state.technologyList\r\n const earlierTechID = getStatusID(prevalue, preList);\r\n const preServiceValue = this.state.reqType\r\n const preServiceList = this.state.serviceList\r\n const earlierServiceID = getStatusID(preServiceValue, preServiceList);\r\n const earlierSelectedScenario = this.state.scenario;\r\n const prevInteractionScenarios = { ...this.state.interactionScenarios };\r\n techId = getStatusID(value, this.state.technologyList);\r\n await this.setState({\r\n earlierTechID: earlierTechID,\r\n earlierTechName: prevalue,\r\n earlierReqType: preServiceValue,\r\n earlierServiceID: earlierServiceID,\r\n earlierSelectedScenario: earlierSelectedScenario,\r\n prevInteractionScenarios: prevInteractionScenarios,\r\n technology: value,\r\n SelectedServiceID: '',\r\n isDataNotUpdated: false,\r\n reqType: '',\r\n scenario: '',\r\n formErrors: {\r\n ...this.state.formErrors,\r\n interactionScenarioError: '',\r\n },\r\n interactionScenarios: {},\r\n })\r\n } else {\r\n techId = getStatusID(this.state.earlierTechName, this.state.technologyList);\r\n await this.setState({\r\n technology: this.state.earlierTechName,\r\n SelectedServiceID: this.state.earlierServiceID,\r\n isDataNotUpdated: false,\r\n reqType: this.state.earlierReqType,\r\n scenario: this.state.earlierSelectedScenario,\r\n formErrors: {\r\n ...this.state.formErrors,\r\n interactionScenarioError: '',\r\n },\r\n interactionScenarios: { ...this.state.prevInteractionScenarios },\r\n })\r\n }\r\n this.validateAndSetStates();\r\n this.getServicesByTechId(techId);\r\n }\r\n\r\n handleSetInteractionScenario = async (selectedServiceObj) => {\r\n await this.setState({\r\n scenario: ''\r\n })\r\n if (!!selectedServiceObj) {\r\n const options = !!selectedServiceObj.Options ? selectedServiceObj.Options : {}\r\n await this.setState({\r\n interactionScenarios: options\r\n })\r\n } else {\r\n await this.setState({\r\n interactionScenarios: {},\r\n scenario: ''\r\n })\r\n }\r\n }\r\n\r\n handleServiceChange = async (value, isCancel = false) => {\r\n if (isCancel === false) {\r\n const prevalue = this.state.reqType\r\n const preList = this.state.serviceList\r\n const earlierServiceID = getStatusID(prevalue, preList)\r\n await this.setState({\r\n earlierServiceID: earlierServiceID,\r\n earlierServiceName: this.state.reqType,\r\n })\r\n const techId = getStatusID(value, this.state.serviceList)\r\n await this.setState({\r\n reqType: value,\r\n SelectedServiceID: techId,\r\n })\r\n } else {\r\n await this.setState({\r\n reqType: this.state.earlierServiceName,\r\n SelectedServiceID: this.state.earlierServiceID,\r\n })\r\n }\r\n this.validateAndSetStates();\r\n }\r\n\r\n handleMarketUnitChange = async (marketUnitObj) => {\r\n await this.setState({\r\n marketUnit: { ...marketUnitObj },\r\n isDataNotUpdated: false\r\n });\r\n }\r\n\r\n handleServicePocChange = async (value) => {\r\n this.setState({\r\n ...this.state, isDataNotUpdated: false, servicePoc: value,\r\n formErrors: { ...this.state.formErrors, servicePocError: '' }\r\n });\r\n }\r\n\r\n handleDate = date => {\r\n this.setState({\r\n ...this.state, clientDemoDate: date, isDataNotUpdated: false\r\n });\r\n };\r\n\r\n async handleReqAccept(status) {\r\n let commentErrorMessage = \"\";\r\n if (!!this.state.canApproveRequest && ((status === 'reject' || status === 'accept') && (!this.state.comment || this.state.comment === ''))) {\r\n commentErrorMessage = `Please add reason for ${status === 'accept' ? 'approve' : 'reject'} request.`;\r\n }\r\n await this.setState({\r\n reqAccept: status, formErrors: {\r\n ...this.state.formErrors,\r\n commentError: commentErrorMessage\r\n }\r\n })\r\n }\r\n\r\n async handleReqStatusUpdate(e) {\r\n let requestStatus = parseInt(e.target.value);\r\n await this.setState({\r\n ...this.state,\r\n reqStatus: requestStatus,\r\n isDataNotUpdated: false\r\n })\r\n\r\n let statusName = getStatusName(this.state.reqStatus, this.state.StatusList);\r\n\r\n if (!this.state.servicePoc && statusName !== 'New') {\r\n await this.setState({\r\n formErrors: {\r\n ...this.state.formErrors,\r\n servicePocError: 'This field is mandatory'\r\n }\r\n })\r\n } else {\r\n await this.setState({\r\n formErrors: {\r\n ...this.state.formErrors,\r\n servicePocError: ''\r\n }\r\n })\r\n }\r\n\r\n }\r\n\r\n async getAssignee() {\r\n await this.setState({ showSpinner: true });\r\n\r\n const response = await getData({\r\n serviceName: `assignees?ReqNum=${this.props.requestNumber}&RoleId=${this.state.roleId}`\r\n });\r\n\r\n const { success, error, data, isInfo } = await response;\r\n if (success) {\r\n const sdmList = data.SDM || [];\r\n const servicePOCList = data.ServicePOC || [];\r\n const StatusList = data.Status || [];\r\n await this.setState({\r\n sdmList, servicePOCList, StatusList,\r\n sdmServicePocList: arrayUnique(sdmList.concat(servicePOCList)),\r\n showSpinner: false\r\n });\r\n if (hasAssignmentRight(this.state.sdmServicePocList)) {\r\n this.setState({ checkRights: true })\r\n }\r\n else this.setState({ checkRights: false });\r\n } else {\r\n this.setState({ error: error, isInfo, showSpinner: false });\r\n }\r\n }\r\n\r\n enableUpdateButton() {\r\n return enableUpdateButton(this.state)\r\n }\r\n getAssetTypeValue(value) {\r\n this.setState({\r\n getAssetTypeValue: value\r\n })\r\n }\r\n\r\n getserviceTypeValue(value) {\r\n this.setState({\r\n getserviceTypeValue: value\r\n })\r\n }\r\n\r\n handleViewInvoice(invoiceTxt = \"\") {\r\n this.setState({\r\n assignmentPopup: !this.state.assignmentPopup,\r\n showInvoice: invoiceTxt,\r\n canGetAttachments: true,\r\n initialAttachmentCnt: 0\r\n });\r\n if (!!this.state.assignmentPopup) {\r\n this.setState({ canGetAttachments: true })\r\n setTimeout(\r\n function () {\r\n loadComponentDetails(null, \"SupportDetails\");\r\n },\r\n 0\r\n );\r\n }\r\n }\r\n handleShowSendInvoice() {\r\n this.setState({\r\n showInvoice: \"send-invoice\"\r\n });\r\n }\r\n reOpenReq = () => {\r\n if (this.state.enableComment) {\r\n this.setState({ comment: '', notifyUser: false, formErrors: { commentError: \"\" } })\r\n } else {\r\n this.setState({ formErrors: { commentError: \"Comments must be provided to re-open the request\" } })\r\n }\r\n this.setState({ enableComment: !this.state.enableComment })\r\n }\r\n handleCheckBox = (e) => {\r\n this.setState({ checked: e.target.checked })\r\n if (e.target.checked) {\r\n this.setState({ notifyUser: true })\r\n }\r\n else {\r\n this.setState({ notifyUser: false })\r\n }\r\n }\r\n\r\n handleEnableAssign = () => {\r\n let enableAssign \r\n if (this.state.roleId === 1) {\r\n if (this.state.comment) {\r\n enableAssign = true;\r\n }\r\n } else\r\n if (this.state.getAssetTypeValue && this.state.getAssetTypeValue.length > 0 && this.state.assetTypes && this.state.assetTypes.length === 0) {\r\n enableAssign = false\r\n }\r\n \r\n else if(!this.state.typeOfService_DR && this.state.getserviceTypeValue){\r\n enableAssign = false\r\n }\r\n else {\r\n const updateEnable = this.enableUpdateButton();\r\n if (updateEnable) {\r\n let { isError } = this.validateAndSetStates();\r\n if (!isError) { enableAssign = true; }\r\n }\r\n }\r\n if (enableAssign) {\r\n if (this.state.validWBS === false && this.state.wbs !== this.state.requestData.wbs) enableAssign = false\r\n }\r\n return enableAssign\r\n }\r\n\r\n newlyAttachmentCount = ({ add = 0 }) => {\r\n let existingCnt = this.state.initialAttachmentCnt || 0\r\n existingCnt = existingCnt + add\r\n this.setState({ initialAttachmentCnt: existingCnt })\r\n }\r\n\r\n handleCanAttachment(val) {\r\n this.setState({ canGetAttachments: val })\r\n }\r\n\r\n async handleWbsBlur(e) {\r\n const wbsValue = e.target.value;\r\n\r\n let url = `ValidateWBSe?wbseCode=${this.state.wbs}`;\r\n if (wbsValue && (this.state.wbs !== this.state.requestData.wbs) && !(isValExistInArray(this.state.validatedWbsArray, wbsValue))) {\r\n await this.setState({\r\n showSpinner: true,\r\n isDataNotUpdated: false,\r\n formErrors: {\r\n ...this.state.formErrors,\r\n wbsError: ''\r\n }\r\n });\r\n const response = await getData({ serviceName: url });\r\n const { success, error, isInfo = false, actualErrorMessage = '' } = await response;\r\n if (success) {\r\n await this.setState({\r\n validatedWbsArray: [...this.state.validatedWbsArray, wbsValue],\r\n validWBS: true,\r\n showSpinner: false\r\n });\r\n } else {\r\n if (actualErrorMessage) {\r\n this.setState({\r\n formErrors: {\r\n ...this.state.formErrors,\r\n wbsError: actualErrorMessage\r\n },\r\n validWBS: false,\r\n showSpinner: false\r\n });\r\n } else {\r\n this.setState({\r\n error: error,\r\n isInfo, validWBS: false,\r\n showSpinner: false,\r\n formErrors: {\r\n ...this.state.formErrors,\r\n wbsError: actualErrorMessage\r\n },\r\n })\r\n }\r\n }\r\n } else if (wbsValue && (this.state.wbs === this.state.requestData.wbs && !isValExistInArray(this.state.validatedWbsArray, this.state.wbs))) {\r\n await this.setState({\r\n validWBS: undefined\r\n });\r\n } else if ((wbsValue && (this.state.wbs === this.state.requestData.wbs && isValExistInArray(this.state.validatedWbsArray, this.state.wbs))) || (wbsValue && isValExistInArray(this.state.validatedWbsArray, this.state.wbs))) {\r\n await this.setState({\r\n validWBS: true\r\n });\r\n }\r\n }\r\n\r\n clearInvalidWBS() {\r\n this.setState({\r\n formErrors: {\r\n ...this.state.formErrors,\r\n wbsError: ''\r\n },\r\n validWBS: undefined\r\n })\r\n }\r\n\r\n setInvoiceGUID(guid) {\r\n this.setState({\r\n invoiceGUID: guid\r\n })\r\n }\r\n\r\n setInvoiceTraceMsg(msg) {\r\n this.setState({\r\n invoiceTraceMessage: msg\r\n })\r\n }\r\n\r\n async handleClickHelp(data) {\r\n await data.showHelp({ showHelpOpt: true });\r\n await this.setState({ showHelpBox: true })\r\n }\r\n\r\n async handleCloseParentPopup(data) {\r\n await this.props.handleGetData(true);\r\n await this.props.handleClose();\r\n data.showHelp({ reqPopupOpen: false })\r\n }\r\n\r\n closeErrorPopup() {\r\n if (this.state.showErrorPopup) {\r\n this.setState({ showErrorPopup: false }); this.props.handleClose();\r\n } else if (this.state.showUpdateErrorPopup) {\r\n this.setState({ showUpdateErrorPopup: false });\r\n }\r\n }\r\n async showIncidentForm() {\r\n this.props && this.props.appContextDetails && this.props.appContextDetails.addNewDataInContext({ isIncidentCategoryID: 1, isRequestNumber: this.state.requestData.requestNumber, requestID: this.state.requestID, requestValue: true })\r\n this.props && this.props.locationDetails && this.props.locationDetails.history && this.props.locationDetails.history.push('/incident-form');\r\n }\r\n\r\n reqAssignmentTabsDisplay = () => {\r\n this.setState({\r\n hideReqAssignmentTabs: !this.state.hideReqAssignmentTabs\r\n })\r\n }\r\n\r\n serviceTypeDDHandler = (value, list, selectedIds) => {\r\n let tempSelectedValues = [...list];\r\n if (selectedIds.includes(value.ID)) { //remove selection\r\n tempSelectedValues = tempSelectedValues.filter(item => item.ID != value.ID);\r\n } else {\r\n tempSelectedValues.push(value)\r\n }\r\n this.setState({\r\n assetTypes: tempSelectedValues\r\n })\r\n this.checkDDUpdateChanges(this.state.hostingCloudProviderSelectedId, tempSelectedValues)\r\n }\r\n checkDDUpdateChanges = (hostingCloudProviderSelectedId, selectServiceList) => {\r\n if ((hostingCloudProviderSelectedId !== this.props.hostingCloudProvider) || (this.props.isServiceTypeEditable && (JSON.stringify(selectServiceList) !== JSON.stringify(this.props.ServiceTypes)))) {\r\n this.setState({\r\n isDropDownUpdateDisabled: false\r\n })\r\n } else {\r\n this.setState({\r\n isDropDownUpdateDisabled: true\r\n })\r\n }\r\n }\r\n\r\n render() {\r\n const { requestNumber, crp, solutionPlanning, sap, successFactor, landscapeDetails, enableReOpen, canApproveRequest, isNotifyEnabledOnComments, advanceForm, talentHR, oracleInfo, oracleLandscapeDetails, enableAssetUtilization, isAssetsVisible, BTP, isServiceTypeEditable,eFsuccessFactor } = this.state.requestData;\r\n let isReqAccepted = this.state.reqAccept && this.state.reqAccept === 'accept' ? true : false\r\n let isReqRejected = this.state.reqAccept && this.state.reqAccept === 'reject' ? true : false\r\n let enableAssign = false;\r\n const {comments} = this.state;\r\n const requestDetailComments = comments ? parse(comments.toString(\"html\")) : null;\r\n const processComposition = (advanceForm === \"ProcessComposition\")\r\n enableAssign = this.handleEnableAssign()\r\n const closeReqValidationMsg = getCloseReqValidationMsg(this.state.closeValidationData)\r\n const supportDetailsValidation = this.state.closeValidationData && this.state.closeValidationData.supportDetails;\r\n const attachmentDetailsValidation = this.state.closeValidationData && this.state.closeValidationData.attachmentDetails;\r\n const wbsValidation = true\r\n const scenario = !!this.state.requestData.scenario ? this.state.requestData.scenario : ''\r\n let showHelpIcon = (this.state.activeTabName === \"CRPAdditionalDetails\") || (this.state.activeTabName === \"SupportDetails\") || (this.state.activeTabName === \"Basic\" && this.state.canReassignRequest === true) ? true : false\r\n return (\r\n \r\n {data => {\r\n const { userRole } = data;\r\n let userRoleId = userRole && userRole.toString();\r\n let containerClassName = this.state.isEditable ? \"\" : \"in-active-all-input\";\r\n return (\r\n \r\n {!this.state.assignmentPopup && (\r\n
    \r\n
    \r\n {\r\n this.setState({ activeTabName: \"Basic\" });\r\n loadComponentDetails(event, \"Basic\");\r\n }}\r\n >\r\n {this.state.requestData.reqType} {!!scenario && `(${scenario})`}\r\n \r\n {!!sap && (\r\n {\r\n this.setState({ activeTabName: \"SAPAdditionalDetails\" });\r\n loadComponentDetails(event, \"SAPAdditionalDetails\");\r\n }}\r\n >\r\n Additional Details\r\n \r\n )}\r\n {!!solutionPlanning && (\r\n {\r\n this.setState({ activeTabName: \"SolutionPlanningAdditionalDetails\" });\r\n loadComponentDetails(event, \"SolutionPlanningAdditionalDetails\");\r\n }}\r\n >\r\n Additional Details\r\n \r\n )}\r\n {!!solutionPlanning && (\r\n {\r\n this.setState({ activeTabName: \"SolutioningDetails\" });\r\n loadComponentDetails(event, \"SolutioningDetails\");\r\n }}\r\n >\r\n Solutioning Details\r\n \r\n )}\r\n {!!oracleInfo && (\r\n {\r\n this.setState({ activeTabName: \"OracleFormAdditionalDetails\" });\r\n loadComponentDetails(event, \"OracleFormAdditionalDetails\");\r\n }}\r\n >\r\n Additional Details\r\n \r\n )}\r\n {!!successFactor && (\r\n {\r\n this.setState({ activeTabName: \"SuccessFactorAdditionalDetails\" });\r\n loadComponentDetails(event, \"SuccessFactorAdditionalDetails\");\r\n }}\r\n >\r\n Additional Details\r\n \r\n )}\r\n {!!BTP && (\r\n {\r\n this.setState({ activeTabName: \"BTPAdditionalDetails\" });\r\n loadComponentDetails(event, \"BTPAdditionalDetails\");\r\n }}\r\n >\r\n Additional Details\r\n \r\n )}\r\n {!!eFsuccessFactor && (\r\n {\r\n this.setState({ activeTabName: \"ETHRAdditionalDetails\" });\r\n loadComponentDetails(event, \"ETHRAdditionalDetails\");\r\n }}\r\n >\r\n Additional Details\r\n \r\n )}\r\n {!!talentHR && (\r\n {\r\n this.setState({ activeTabName: \"TalentHRAdditionalDetails\" });\r\n loadComponentDetails(event, \"TalentHRAdditionalDetails\");\r\n }}\r\n >\r\n Additional Details\r\n \r\n )}\r\n {!!crp && (\r\n {\r\n this.setState({ activeTabName: \"CRPAdditionalDetails\" });\r\n loadComponentDetails(event, \"CRPAdditionalDetails\");\r\n }}\r\n > Additional Details \r\n )}\r\n {processComposition && (\r\n {\r\n this.setState({ activeTabName: \"ProcessAdditionalDetails\" });\r\n loadComponentDetails(\r\n event,\r\n \"ProcessAdditionalDetails\"\r\n );\r\n }}\r\n > Additional Details \r\n )}\r\n\r\n {\r\n this.setState({ activeTabName: \"AttachmentDetails\" });\r\n loadComponentDetails(\r\n event,\r\n \"AttachmentDetails\"\r\n );\r\n }}\r\n > Attachments ({this.state.initialAttachmentCnt})\r\n {isAssetsVisible && {\r\n this.setState({ activeTabName: \"assetUsage\" });\r\n loadComponentDetails(\r\n event,\r\n \"AssetUsage\"\r\n );\r\n }}\r\n > Asset Usage}\r\n {this.state.showSupportDetails && !solutionPlanning &&\r\n {\r\n this.setState({ activeTabName: \"SupportDetails\" });\r\n loadComponentDetails(\r\n event,\r\n \"SupportDetails\"\r\n );\r\n }}\r\n > Support Details\r\n }\r\n\r\n
    \r\n {this.state.canReassignRequest !== undefined && \"help-icon\" { showHelpIcon && this.handleClickHelp(data) }} disabled={this.state.activeTabName} />}\r\n \"Close\" { this.handleCloseParentPopup(data) }} />\r\n
    \r\n
    \r\n {
    \r\n\r\n this.getAssetTypeValue(value)} getserviceTypeValue={(value) => this.getserviceTypeValue(value) }\r\n serviceTypeDDHandler={(value, list, selectedIds) => this.serviceTypeDDHandler(value, list, selectedIds)}\r\n showTransport={this.state.showTransport}\r\n functionRight ={this.state.functionRight}\r\n handleTechnologyChangeClick={(flag) => this.handleTechnologyChangeClick(flag)}\r\n showTechnologyChangeAlert={this.state.showTechnologyChangeAlert}\r\n handleServicePocChange={this.handleServicePocChange}\r\n handleSMEServicePocChange={this.handleSMEServicePocChange} handleInteractionScenarioChange={this.handleInteractionScenarioChange} handleTechChange={this.handleTechChange} handleChangeServiceRequest={this.handleChangeServiceRequest} ValidateSMEServicePOC={(e) => this.ValidateSMEServicePOC(e)} handleReqStatusUpdate={e => { this.handleReqStatusUpdate(e) }} handleMarketUnitChange={e => { this.handleMarketUnitChange(e) }}\r\n handleInput={(e) => { this.handleInput(e) }} handleDate={this.handleDate} handleChange={this.handleChange} handleWBSInput={(e) => { this.handleWBSInput(e) }} handleWbsBlur={wbsValidation ? (e) => { this.handleWbsBlur(e) } : null} validWBS={this.state.validWBS}\r\n clearInvalidWBS={() => { this.state.validWBS === false && wbsValidation && this.clearInvalidWBS() }}\r\n error={this.state.error} contextData={data} handleCloseParentPopup={(basicData) => { this.handleCloseParentPopup(basicData) }} isUpdateEnable={enableAssign}\r\n handleSetInteractionScenario={this.handleSetInteractionScenario}\r\n >\r\n\r\n {!!canApproveRequest &&
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    }\r\n
    \r\n
    Comments
    \r\n {enableReOpen && }\r\n
    \r\n
    \r\n
    {requestDetailComments}
    \r\n
    \r\n { this.handleCommentInput(e) }} fieldDisabled={!this.state.enableComment}\r\n />\r\n {this.state.formErrors.commentError && (\r\n {this.state.formErrors.commentError}\r\n )}\r\n {(isNotifyEnabledOnComments || this.state.enableComment) &&\r\n { this.handleCheckBox(e); }} checked={this.state.checked} />Notify requester through email\r\n }\r\n {/* {(!!this.state.error || this.state.validWBS === false) && (

    {this.state.error}

    )} */}\r\n
    \r\n
    \r\n
    \r\n {!!this.state.requestData.enableIncidentLink && }\r\n { this.handleSubmit(e) }} disabled={!enableAssign} />\r\n
    \r\n
    }\r\n {!!sap && (\r\n
    \r\n {\r\n this.getRequestDetails()\r\n }} />\r\n
    \r\n )}\r\n {(!!solutionPlanning &&\r\n
    \r\n \r\n
    \r\n )}\r\n {(!!solutionPlanning && this.state.activeTabName === \"SolutioningDetails\" &&\r\n
    \r\n \r\n
    \r\n )}\r\n {!!oracleInfo && (\r\n
    \r\n {\r\n this.getRequestDetails()\r\n }} />\r\n
    \r\n )}\r\n {\r\n !!successFactor && (\r\n
    \r\n {\r\n this.getRequestDetails()\r\n }} />\r\n
    \r\n )\r\n }\r\n {\r\n !!BTP && (\r\n
    \r\n {\r\n this.getRequestDetails()\r\n }} />\r\n
    \r\n )\r\n }\r\n {!!eFsuccessFactor && (\r\n
    \r\n {\r\n this.getRequestDetails()\r\n }} />\r\n
    \r\n )\r\n }\r\n {\r\n !!talentHR && (\r\n
    \r\n {\r\n this.getRequestDetails()\r\n }} />\r\n
    \r\n )\r\n }\r\n {!!processComposition && !!requestNumber && (\r\n
    \r\n \r\n
    \r\n )\r\n }\r\n {\r\n !!crp && (\r\n
    \r\n this.setStatusChangedOnUpdate(val)}\r\n getInitialReqStates={() => {\r\n this.getRequestDetails()\r\n this.props.handleGetData(false);\r\n }}\r\n {...crp}\r\n isServiceTypeEditable={isServiceTypeEditable}\r\n landscapeDetails={landscapeDetails} AssignRights={this.state.checkRights} handleChange={() => { this.handleInputCRPAdditional() }}\r\n crpAdditional={this.state.CRPAdditional} isEditable={this.state.isEditable} disabled={enableAssign} {...this.state}\r\n reqAssignmentTabsDisplay={this.reqAssignmentTabsDisplay}\r\n />\r\n
    \r\n )\r\n }\r\n
    \r\n { this.handleCanAttachment(val) }}\r\n closeRequestStatus={this.state.sendData && attachmentDetailsValidation} />\r\n
    \r\n {isAssetsVisible &&\r\n
    \r\n this.setTechChangedOnUpdate(val)}\r\n />
    }\r\n
    \r\n { this.setInvoiceGUID(guid) }}\r\n setInvoiceTraceMsg={(msg) => { this.setInvoiceTraceMsg(msg) }}\r\n showViewInvoice={(invoiceTxt) => { this.handleViewInvoice(invoiceTxt) }}\r\n closeValidationStatus={this.state.sendData && supportDetailsValidation} />\r\n
    \r\n {this.state.showSpinner && }\r\n {\r\n this.state.error && { this.closeErrorPopup() }}\r\n buttonPosition=\"center-button\" extraClass=\"assignment-error-popup\">

    {this.state.error}

    \r\n
    \r\n }\r\n {!this.state.showSpinner && this.state.showHelpBox && this.state.activeTabName &&\r\n this.setState({ showHelpBox: !this.state.showHelpBox })} />}\r\n {\r\n this.state.ValidationModalAction && { this.validationModalHandleOk(event) }}\r\n handleCancel={() => { this.setState({ ValidationModalAction: false, sendData: false }); }}\r\n buttonPosition=\"center-button\" extraClass=\"custom-error-modal\">\r\n

    Before closing the request please ensure following:

    \r\n {closeReqValidationMsg && closeReqValidationMsg.length > 0 &&
      \r\n {closeReqValidationMsg.map((element, index) => {\r\n return
    1. {element}
    2. \r\n })}\r\n
    }\r\n
    \r\n
    \r\n }\r\n {this.state.showAssetUsageReminder &&
    { this.setState({ showAssetUsageReminder: false, AssetUsageErrorMessage: '' }); }}\r\n handleCancel={() => { this.setState({ showAssetUsageReminder: false, AssetUsageErrorMessage: '' }); }}\r\n buttonPosition=\"center-button\">{this.state.AssetUsageErrorMessage}\r\n
    }\r\n
    \r\n )\r\n }\r\n {\r\n !!this.state.assignmentPopup && this.state.showInvoice === \"view-invoice\" &&\r\n (\r\n
    \r\n { this.handleViewInvoice() }}\r\n showSendInvoice={() => { this.handleShowSendInvoice() }}\r\n invoiceGUID={this.state.invoiceGUID}\r\n invoiceTraceMessage={this.state.invoiceTraceMessage}\r\n reqNumber={requestNumber}\r\n >\r\n
    \r\n )\r\n }\r\n {\r\n !!this.state.assignmentPopup && this.state.showInvoice === \"send-invoice\" &&\r\n (\r\n
    \r\n { this.handleViewInvoice() }}\r\n invoiceGUID={this.state.invoiceGUID}\r\n // invoiceTraceMessage={this.state.invoiceTraceMessage}\r\n reqNumber={requestNumber}\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\nRequestAssignment.contextType = AppServiceContext;\r\n\r\nexport default RequestAssignment;","import React from \"react\";\r\nimport \"./grid-modal.scss\";\r\n\r\nconst GridModal = ({ show, children }) => {\r\n const showHideClassName = show ? 'grid-modal modal assignment display-block' : 'grid-modal modal assignment display-none';\r\n if (!show) {\r\n return null;\r\n }\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {children}\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default GridModal;","import React from \"react\";\r\nimport \"./../../containers/requests-grid/grid/grid.scss\";\r\nimport * as Constant from \"../constants/constant\";\r\n\r\nconst GridHeader = (props) => {\r\n const { columnTitle, columnname, sortColumnName, sortedcolumn, width, sortBy, showSortIcon = true } = props;\r\n\r\n const arrowImg = (sortColumnName === columnname && sortBy === 'desc') ? Constant.DOWNARROWCOLOREDSORT : (sortColumnName === columnname && sortBy === 'asc') ? Constant.UPARROWCOLOREDSORT : Constant.DOWNARROWSORT\r\n return (\r\n showSortIcon ? { props.handleSort(columnname) }}\r\n >\r\n : \r\n \r\n \r\n );\r\n}\r\n\r\nexport default GridHeader;\r\n","export const styledStatus = (status) => {\r\n let color = 'orange'\r\n switch (status) {\r\n case 'New':\r\n color = 'orange'\r\n break;\r\n case 'Assigned':\r\n color = 'blue'\r\n break;\r\n case 'On Hold':\r\n color = 'maroon'\r\n break;\r\n case 'In Progress':\r\n color = 'light-green'\r\n break;\r\n case 'Ready':\r\n color = 'blue'\r\n break;\r\n case 'Withdrawn':\r\n color = 'dark-gray'\r\n break;\r\n case 'Rejected':\r\n color = 'red'\r\n break;\r\n case 'In Discussion':\r\n color = 'yellow'\r\n break;\r\n case 'Signed Off':\r\n color = 'dark-green'\r\n break;\r\n case 'Closed':\r\n color = 'purple'\r\n break;\r\n case 'Approved':\r\n color = 'light-blue'\r\n break;\r\n case 'Awaiting Approval':\r\n color = 'pink'\r\n break;\r\n case 'Access Provisioned':\r\n color = 'brown'\r\n break;\r\n default:\r\n break;\r\n }\r\n return color;\r\n}\r\n\r\nexport const splitCoeContact = (username) => {\r\n if (username) {\r\n const splittedusername = username.split(\".\");\r\n const userInitials = `${splittedusername[0][0]}${splittedusername[splittedusername.length - 1][0]}`;\r\n return userInitials.toUpperCase();\r\n }\r\n return ''\r\n}","import React, { Component } from \"react\";\r\n//import \"./grid.scss\";\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport RequestAssignment from \"../assignment/request-assignment\";\r\nimport GridModal from \"../../../components/modals/grid-modal\";\r\nimport dateFormat from \"dateformat\";\r\nimport { AppServiceContext } from \"../../../context-providers/app-service-provider/app-service-provider\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport GridHeader from \"../../../components/grid-header/grid-header\";\r\nimport Tootltip from \"../../../components/tool-tip/tool-tip\"\r\nimport { styledStatus, splitCoeContact } from \"./common-grid-functions\";\r\n\r\nclass Grid extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { isOpen: false, requestData: {}, sortedColumn: \"\", showErrorPopup: false, isInfo: false, requestNumber: '' };\r\n this.escFunction = this.escFunction.bind(this);\r\n }\r\n componentDidMount() {\r\n document.body.style.overflow = 'auto';\r\n document.addEventListener(\"keydown\", this.escFunction, false);\r\n }\r\n componentWillUnmount() {\r\n document.removeEventListener(\"keydown\", this.escFunction, false);\r\n }\r\n\r\n\r\n async escFunction(event) {\r\n if (event.keyCode === 27) {\r\n document.body.style.overflow = 'auto';\r\n await this.setState({\r\n isOpen: false\r\n });\r\n await this.context && this.context.setScreenName({ screenName: \"requestList\" })\r\n this.props.handleGetData(true);\r\n }\r\n }\r\n async toggleModal() {\r\n document.body.style.overflow = 'auto';\r\n await this.context && this.context.setScreenName({ screenName: \"requestList\" })\r\n await this.setState({\r\n isOpen: !this.state.isOpen\r\n });\r\n !!this.props && this.props.locationDetails && this.props.locationDetails.history && this.props.locationDetails.history.push('/requests');\r\n };\r\n\r\n handleGetData = isNeedData => {\r\n this.props.handleGetData(isNeedData);\r\n };\r\n\r\n async getGridData({ serviceName, requestedService }) {\r\n this.setState({ service: requestedService })\r\n const response = await getData({ serviceName });\r\n await this.setStatesbyData(await response);\r\n if (this.state.isOpen) {\r\n document.body.style.overflow = 'hidden';\r\n } else {\r\n document.body.style.overflow = 'auto';\r\n }\r\n }\r\n\r\n setStatesbyData = async response => {\r\n const { success, data, error, isInfo } = response;\r\n if (success) {\r\n await this.setState({\r\n isOpen: !this.state.isOpen,\r\n requestData: data[0]\r\n });\r\n } else {\r\n await this.setState({ error: error, isInfo, showErrorPopup: true });\r\n }\r\n };\r\n\r\n async handleOpenPopup(data, requestData) {\r\n if (this.state.isOpen) {\r\n document.body.style.overflow = 'hidden';\r\n } else {\r\n document.body.style.overflow = 'auto';\r\n }\r\n await this.setState({\r\n isOpen: !this.state.isOpen,\r\n requestNumber: requestData.requestNo,\r\n service: requestData.services\r\n })\r\n await data.showHelp({ reqPopupOpen: this.state.isOpen });\r\n }\r\n\r\n handleUpdateRequestNo = async (requestNo) => {\r\n await this.setState({\r\n requestNumber: requestNo\r\n })\r\n }\r\n\r\n render() {\r\n const { data, sortColumnName, sortBy } = this.props;\r\n return (\r\n \r\n {appService => {\r\n return (\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 {data.length > 0 ? (\r\n \r\n {data.map((requestData, index) => {\r\n let serviceTooltipText = !!requestData.interactionScenario && `(${requestData.interactionScenario})`\r\n return index < 10 ? (\r\n \r\n {\r\n this.handleOpenPopup(appService, requestData);\r\n // const requestedService = requestData.services\r\n // const serviceName = `Details?reqNum=${requestData.requestNo}`\r\n // this.getGridData({ serviceName, requestedService })\r\n }}\r\n className=\"reqDetail\" data-tut=\"request-number\"\r\n >\r\n {requestData.requestNo}\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 ) : null;\r\n })}\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n
    {requestData.client}\r\n \r\n {requestData.marketUnit}\r\n {requestData.marketUnit && }\r\n {requestData.industry}\r\n {requestData.industryName && {requestData.industryName}

    }>
    }\r\n
    {requestData.FunctionalArea}\r\n {requestData.FunctionalAreaName && {requestData.FunctionalAreaName}

    }>
    }\r\n
    {requestData.technology}\r\n {requestData.services} {!!requestData.interactionScenario && `(${requestData.interactionScenario})`}\r\n \r\n {dateFormat(requestData.dueDate, \"dd-mmm-yyyy\")}\r\n {splitCoeContact(requestData.coe)}\r\n {requestData.coeName}

    {requestData.coeEmail}

    }>
    \r\n
    \r\n {requestData.servicepoc}\r\n {requestData.servicepoc && {requestData.servicepoc}

    }>
    }\r\n
    {requestData.status}{dateFormat(requestData.submittedOn, \"dd-mmm-yyyy\")}
    No records found.
    \r\n {\r\n this.state.isOpen && (\r\n \r\n this.toggleModal()}\r\n handleGetData={this.handleGetData}\r\n requestNumber={this.state.requestNumber}\r\n locationDetails={this.props.locationDetails}\r\n appContextDetails={this.props.appContextDetails}\r\n handleUpdateRequestNo={this.handleUpdateRequestNo}\r\n />\r\n \r\n )\r\n }\r\n {this.state.error && { this.setState({ showErrorPopup: false }) }} buttonPosition=\"center-button\">

    {this.state.error}

    }\r\n
    \r\n );\r\n }\r\n }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nGrid.contextType = AppServiceContext;\r\nexport default Grid;\r\n","import React, { Component } from \"react\";\r\nimport \"./internal-request-grid.scss\";\r\nimport dateFormat from \"dateformat\";\r\nimport { AppServiceContext } from \"../../../context-providers/app-service-provider/app-service-provider\";\r\nimport GridHeader from \"../../../components/grid-header/grid-header\";\r\nimport Tootltip from \"../../../components/tool-tip/tool-tip\"\r\nimport { Link } from \"react-router-dom\";\r\nimport { styledStatus } from \"./common-grid-functions\";\r\n\r\nclass InternalRequestGrid extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { isOpen: false, requestData: {}, sortedColumn: \"\", showErrorPopup: false, isInfo: false, requestNumber: '' };\r\n }\r\n\r\n render() {\r\n const { data, sortColumnName, sortBy, filterValues, serviceSelectedFilter, expectedDateFilter } = this.props;\r\n return (\r\n \r\n {appService => {\r\n return (\r\n
    \r\n {data.length > 0 ? \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 {data.map((requestData, index) => {\r\n return index < 10 ? (\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 ) : null;\r\n })}\r\n \r\n
    \r\n \r\n \r\n \r\n {requestData.requestTitle}\r\n {requestData.requestTitle && }\r\n {requestData.industry}\r\n {requestData.industry && }\r\n {requestData.serviceOffering}\r\n {requestData.serviceOffering && }\r\n {requestData.technology}\r\n {requestData.technology && }\r\n {requestData.leadSME}\r\n {requestData.leadSME && {requestData.leadSME}

    }>
    }\r\n
    {requestData.categoryNatureType}\r\n {requestData.categoryNatureType && {requestData.categoryNatureType}

    }>
    }\r\n
    {requestData.servicePOC}\r\n {requestData.servicePOC && {requestData.servicePOC}

    }>
    }\r\n
    {requestData.status}{dateFormat(requestData.submittedOn, \"dd-mmm-yyyy\")}{!!requestData.expectedDate ? dateFormat(requestData.expectedDate, \"dd-mmm-yyyy\") : ''}{requestData.updatedBy}\r\n {requestData.updatedBy && {requestData.updatedBy}

    }>
    }\r\n
    : ''}\r\n
    \r\n );\r\n }}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nInternalRequestGrid.contextType = AppServiceContext;\r\nexport default InternalRequestGrid;\r\n","import React from \"react\";\r\nimport \"./toggle.scss\";\r\n\r\nconst Toggle = props => {\r\n const { disablecheck, onChange, retainedState, toggleTitle } = props;\r\n\r\n return (\r\n
    \r\n \r\n {toggleTitle}\r\n
    \r\n );\r\n};\r\n\r\nexport default Toggle;\r\n","import React, { Component, Fragment } from \"react\";\r\nimport { getData, postData } from \"../../api/api-manager\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport Pagination from \"../../components/pagination/pagination\";\r\nimport CustomButton from '../../components/button/nextbutton';\r\nimport CustomInput from '../../components/custom-input/custom-input';\r\nimport Grid from \"./grid/grid\";\r\nimport InternalRequestGrid from \"./grid/internal-request-grid\";\r\nimport { AppServiceContext } from \"../../context-providers/app-service-provider/app-service-provider\";\r\nimport { SidebarContext } from \"../../context-providers/sidebar-provider/sidebar-provider\";\r\nimport { getTokenData } from '../../api/sessionConfig';\r\n// import { getTokenData, updateAzureTokenExpireTime } from '../../api/sessionConfig'\r\nimport './request-grid.scss'\r\nimport Modal from \"../../components/modals/modal\";\r\nimport CustomSelect from \"../../components/custom-select/custom-select\";\r\nimport Spinner from \"../../components/spinner/spinner\";\r\nimport * as Constant from \"../../components/constants/constant\";\r\nimport Toggle from \"../../components/toggle/toggle\";\r\nimport dateFormat from \"dateformat\";\r\nimport { addDays, subDays } from \"date-fns\";\r\nimport { exportToCSV } from '../../components/export-xlsx/export-xlsx';\r\nimport RequestAssignment from \"./assignment/request-assignment\";\r\nimport GridModal from \"../../components/modals/grid-modal\";\r\nimport { validateSearch } from \"../../components/validators/validate\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../configs/api-base-url\";\r\n\r\nclass RequestGrid extends Component {\r\n constructor(props, context) {\r\n super(props, context)\r\n this.state = {\r\n data: [],\r\n users: null,\r\n total: null,\r\n per_page: null,\r\n current_page: null,\r\n currentPageNumber: 1,\r\n eid: this.context.eid || \"\",\r\n upn: this.context.upn || \"\",\r\n showErrorPopup: false,\r\n showSpinner: true,\r\n NoRequests: false,\r\n isInfo: false,\r\n isParameterised: false, disabledSearchbtn: true, errorSearchTxt: \"\",\r\n reqNoForApprove: '',\r\n expectedDateSelectedValue: (props.location && props.location.state && props.location.state.expectedDateFilter) || '',\r\n serviceSelectedValue: (props.location && props.location.state && props.location.state.serviceSelectedFilter) || '',\r\n filterSelectedValues: (props.location && props.location.state && props.location.state.filterValues) || '',\r\n toggleToInternalRequestView: (props.location && props.location.state && props.location.state.isFromInternalRequest) || false,\r\n serviceFilter: (this.props.location && this.props.location.state && this.props.location.state.serviceFilter) || '',\r\n selectedServiceFilterId: (this.props.location && this.props.location.state && this.props.location.state.selectedServiceFilterId) || '',\r\n sortBy: (this.props.location && this.props.location.state && this.props.location.state.sortBy) || '',\r\n sortColumnName: (this.props.location && this.props.location.state && this.props.location.state.sortColumnName) || '',\r\n selectedRequestFilterId: (this.props.location && this.props.location.state && this.props.location.state.selectedRequestFilterId) || '',\r\n selectedStatusFilterId: (this.props.location && this.props.location.state && this.props.location.state.selectedStatusFilterId) || '',\r\n expectedDate: (this.props.location && this.props.location.state && this.props.location.state.expectedDate) || '',\r\n appliedSearchServiceTxt: (this.props.location && this.props.location.state && this.props.location.state.appliedSearchServiceTxt) || '',\r\n searchService: (this.props.location && this.props.location.state && this.props.location.state.searchService) || '',\r\n };\r\n }\r\n\r\n /* reverting azure object implementation because its changes merged into dev for test the auth_token */\r\n\r\n // async componentWillMount() {\r\n // const params = new URLSearchParams(window.location.search);\r\n // const hasCode = params.get(\"code\");\r\n // const hasState = params.get(\"state\");\r\n // console.log('hasCode && hasState', hasCode && hasState);\r\n // if (hasCode && hasState && !sessionStorage.getItem(\"expires_in\")) {\r\n // console.log('hasCode && hasState', hasCode && hasState);\r\n // const serviceName = `callback${window.location.search}`\r\n // const response = await getData({ serviceName: serviceName, apiBaseUrl: INTERNAL_REQUEST_BASE_URL });\r\n // const { success, data } = await response;\r\n // if (success) {\r\n // const { access_token, expires_in, refresh_token } = data;\r\n // sessionStorage.setItem('azure_auth_token', access_token);\r\n // sessionStorage.setItem('expires_in', expires_in);\r\n // sessionStorage.setItem('refresh_token', refresh_token);\r\n // }\r\n // updateAzureTokenExpireTime()\r\n // }\r\n // }\r\n\r\n componentDidMount() {\r\n this.getEid();\r\n if (this.props.location && this.props.location.state && this.props.location.state.isFromInternalRequest) {\r\n if (!!this.state.filterSelectedValues) {\r\n this.setFilterSelectedValues();\r\n } else {\r\n this.getInternalRequests()\r\n }\r\n } else {\r\n this.initialGridURL();\r\n }\r\n if (this.props.location.search && this.props.location.search.includes('?params')) {\r\n const queryParams = this.props.location.search\r\n const params = queryParams.split('?params=')\r\n if (!!params[1]) {\r\n this.setState({\r\n isParameterised: true,\r\n isOpenReqModal: true,\r\n reqNoForApprove: params[1]\r\n })\r\n }\r\n }\r\n if (this.props.location.search && this.props.location.search.includes('&internalRequest')) {\r\n const InternalReqqueryParams = this.props.location.search\r\n const InternalReqparams = InternalReqqueryParams.split('&internalRequest=')\r\n if (InternalReqparams[1] === \"true\") {\r\n const splittedParams = InternalReqparams[0].split('?params=')\r\n if (!!splittedParams[1]) {\r\n this.setState({\r\n isParameterisedInternal: true,\r\n isParameterised: true, isOpenReqModal: false,\r\n reqNoForApprove: splittedParams[1]\r\n })\r\n }\r\n this.props.history.push({\r\n pathname: '/internal-request-details',\r\n state: { requestNumber: splittedParams[1] }\r\n })\r\n }\r\n }\r\n if (!this.props.reqPopupOpen) {\r\n this.props.setScreenName({ screenName: \"requestList\" })\r\n }\r\n }\r\n \r\n async getEid() {\r\n let enterpriseId = this.state.eid\r\n if (!enterpriseId) {\r\n const tokenData = getTokenData()\r\n if (tokenData) {\r\n const { eid } = tokenData\r\n await this.setState({ eid });\r\n }\r\n }\r\n }\r\n async initialGridURL() {\r\n const urlConcat = this.getUrl()\r\n let url = `ListByRole?pageIndex=${this.state.currentPageNumber === 0 ? 1 : this.state.currentPageNumber}${urlConcat}`;\r\n this.getGridData({ serviceName: url });\r\n }\r\n\r\n checkForInternalView({ currentPageIndex, currentUrl, isDate }) {\r\n if (isDate) {\r\n this.setState({\r\n currentPageNumber: 1\r\n })\r\n }\r\n if (this.state.toggleToInternalRequestView === true) {\r\n\r\n let url = `InternalRequestList?pageIndex=${currentPageIndex === 0 || isDate ? 1 : currentPageIndex}${currentUrl}`;\r\n this.getGridData({ apiBaseUrl: INTERNAL_REQUEST_BASE_URL, serviceName: url });\r\n } else {\r\n let url = `ListByRole?pageIndex=${currentPageIndex === 0 || isDate ? 1 : currentPageIndex}${currentUrl}`;\r\n this.getGridData({ serviceName: url });\r\n }\r\n }\r\n\r\n handleGetData = isDataNeeded => {\r\n const urlConcat = this.getUrl()\r\n if (isDataNeeded) {\r\n this.checkForInternalView({ currentPageIndex: this.state.currentPageNumber, currentUrl: urlConcat })\r\n }\r\n }\r\n\r\n handleUpdateRequestNo = async (requestNo) => {\r\n await this.setState({\r\n reqNoForApprove: requestNo\r\n })\r\n }\r\n\r\n async handleExportData() {\r\n let response;\r\n const urlConcat = this.getUrl()\r\n if (this.state.toggleToInternalRequestView === true) {\r\n let requestData = this.getInternalData();\r\n let serviceName = `ExportInternalRequestData`;\r\n response = await postData({ serviceName: serviceName, apiBaseUrl: INTERNAL_REQUEST_BASE_URL, data: requestData });\r\n } else {\r\n let url = `ExportRequestData?eID=${this.state.eid}${urlConcat}`;\r\n response = await getData({ serviceName: url });\r\n }\r\n const error = response;\r\n if (response) {\r\n this.setState({\r\n csvData: response.data,\r\n fileName: `myCReq-${this.state.eid}-${dateFormat(new Date(), \"ddmmmyyyy-h-MM\")}`\r\n })\r\n exportToCSV({ csvData: this.state.csvData, fileName: this.state.fileName, isInternalRequestExport: this.state.toggleToInternalRequestView, listType: \"RequestDetails\" })\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n onPageChanged = data => {\r\n let { currentPage } = data;\r\n if (currentPage) {\r\n currentPage = isNaN(currentPage) ? 1 : currentPage\r\n const urlConcat = this.getUrl()\r\n this.checkForInternalView({ currentPageIndex: currentPage, currentUrl: urlConcat })\r\n this.setState({ currentPage, currentPageNumber: currentPage });\r\n }\r\n };\r\n\r\n getUrl = () => {\r\n let url = ''\r\n if (!!this.state.sortBy) url = url + `&sortBy=${this.state.sortBy}`\r\n if (!!this.state.sortColumnName) url = url + `&sortColumn=${this.state.sortColumnName}`\r\n if (!!this.state.selectedRequestFilterId) url = url + `&RequestsFilter=${this.state.selectedRequestFilterId}`\r\n if (!!this.state.selectedServiceFilterId) url = url + `&ServiceFilter=${this.state.selectedServiceFilterId}`\r\n if (!!this.state.selectedStatusFilterId) url = url + `&StatusFilter=${this.state.selectedStatusFilterId}`\r\n if (!!this.state.DemoStartDate) url = url + `&StartDate=${dateFormat(this.state.DemoStartDate, \"isoDate\")}`\r\n if (!!this.state.DemoEndDate) url = url + `&EndDate=${dateFormat(this.state.DemoEndDate, \"isoDate\")}`\r\n if (!!this.state.expectedDate) url = url + `&submittedOn=${dateFormat(this.state.expectedDate, \"isoDate\")}`\r\n if (!!this.state.appliedSearchServiceTxt) url = url + `&searchTxt=${encodeURIComponent(this.state.appliedSearchServiceTxt)}`\r\n return url\r\n }\r\n\r\n getInternalData = () => {\r\n let data = {};\r\n data[\"eID\"] = this.state.eid;\r\n if (!!this.state.selectedRequestFilterId) { data[\"RequestsFilter\"]= this.state.selectedRequestFilterId }\r\n if (!!this.state.selectedServiceFilterId) { data[\"ServiceFilter\"] = this.state.selectedServiceFilterId }\r\n if (!!this.state.selectedStatusFilterId) { data[\"StatusFilter\"]=this.state.selectedStatusFilterId }\r\n if (!!this.state.expectedDate) { data[\"submittedOn\"] = dateFormat(this.state.expectedDate, \"isoDate\")}\r\n if (!!this.state.appliedSearchServiceTxt) { data[\"searchTxt\"] = encodeURIComponent(this.state.appliedSearchServiceTxt) }\r\n return data;\r\n }\r\n\r\n async handleInput(e) {\r\n await this.setState({ [e.target.name]: e.target.value });\r\n let urlConcat = this.getUrl();\r\n await this.setState({\r\n currentPageNumber: 1\r\n })\r\n this.checkForInternalView({ currentPageIndex: this.state.currentPageNumber, currentUrl: urlConcat })\r\n };\r\n\r\n async handleServiceFilter(e) {\r\n await this.setState({ [e.target.name]: e.target.value, currentPageNumber: 1 });\r\n let urlConcat = this.getUrl()\r\n this.checkForInternalView({ currentPageIndex: this.state.currentPageNumber, currentUrl: urlConcat })\r\n };\r\n\r\n handleDate(name, date) {\r\n this.setState({\r\n [name]: date\r\n }, () => {\r\n let url = this.getUrl()\r\n this.checkForInternalView({ currentPageIndex: this.state.currentPageNumber, currentUrl: url, isDate: true })\r\n });\r\n }\r\n\r\n handleClearFilter = () => {\r\n this.setState({ sortBy: '', sortColumnName: '', selectedRequestFilterId: '', selectedServiceFilterId: 0, selectedStatusFilterId: '', DemoStartDate: '', DemoEndDate: '', expectedDate: '', statusFilter: '', searchService: '', appliedSearchServiceTxt: \"\", errorSearchTxt: \"\", disabledSearchbtn: true, currentPageNumber: 1 }, () => {\r\n let url = this.getUrl()\r\n this.checkForInternalView({ currentPageIndex: this.state.currentPageNumber, currentUrl: url })\r\n const activeStyleElement = document.querySelector('.active');\r\n if (!!activeStyleElement) {\r\n activeStyleElement.classList.remove('active');\r\n const showActiveElement = document.getElementsByClassName('page-item')[0]\r\n if (!!showActiveElement) {\r\n showActiveElement.classList.add('active');\r\n }\r\n }\r\n })\r\n }\r\n\r\n handleSort = sortColumn => {\r\n const sortColumnName = sortColumn;\r\n let sortBy = this.state.sortBy === \"\" || this.state.sortColumnName !== sortColumn ? \"asc\" : this.state.sortBy === \"asc\" ? \"desc\" : \"asc\";\r\n this.setState({\r\n sortBy, sortColumnName\r\n }, () => {\r\n let url = this.getUrl()\r\n this.checkForInternalView({ currentPageIndex: this.state.currentPageNumber, currentUrl: url })\r\n });\r\n };\r\n\r\n async getGridData({ apiBaseUrl, serviceName }) {\r\n await this.setState({ showSpinner: true })\r\n const response = await getData({ apiBaseUrl, serviceName });\r\n this.setStatesbyData(await response);\r\n }\r\n\r\n async setStates(states) {\r\n await this.setState({\r\n ...states\r\n })\r\n }\r\n\r\n setStatesbyData = response => {\r\n const { success, data, error, isInfo } = response;\r\n if (success) {\r\n if (Array.isArray(data)) {\r\n if (data[0].Data && data[0].Data.length > 0) {\r\n this.setState({\r\n data: data[0].Data,\r\n perPage: 10,\r\n totalPages: parseInt(data[0].totalRequestCount),\r\n loading: false,\r\n head: data[0].Head,\r\n showSpinner: false,\r\n NoRequests: false,\r\n });\r\n } else {\r\n // document.body.style.overflow = 'hidden';\r\n this.setState({\r\n NoRequests: true, showSpinner: false,\r\n })\r\n }\r\n this.setState({\r\n requestFilter: data[0].RequestFilter,\r\n selectedRequestFilterId: !!this.state.selectedRequestFilterId ? this.state.selectedRequestFilterId : parseInt(data[0].selectedRequestFilterId),\r\n selectedServiceFilterId: this.state.selectedServiceFilterId || 0,\r\n serviceFilter: data[0].ServiceFilter,\r\n statusFilter: data[0].StatusFilter,\r\n showInternalRequestViewSlide: data[0].showInternalRequestViewSlide\r\n })\r\n }\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false, NoRequests: true });\r\n }\r\n };\r\n\r\n enableErrorPopup = (error, isInfo) => {\r\n this.setState({ showErrorPopup: true, isInfo, error: error, showSpinner: false })\r\n }\r\n\r\n async handleSearchInput(search, e) {\r\n if (!search) {\r\n const { name, value } = e.target\r\n await this.setState({ [name]: value, currentPageNumber: 1 });\r\n const isErrorSearchTxt = validateSearch(value);\r\n const strLength = this.state[name] && this.state[name].trim().length\r\n if ((strLength > 2 && (this.state[name] !== this.state.appliedSearchServiceTxt)) && !isErrorSearchTxt) {\r\n this.setState({ disabledSearchbtn: false, errorSearchTxt: \"\" })\r\n } else if (this.state[name] === \"\" && this.state.appliedSearchServiceTxt) {\r\n this.clearSearch();\r\n } else {\r\n this.setState({ disabledSearchbtn: true, errorSearchTxt: isErrorSearchTxt })\r\n }\r\n } else {\r\n await this.setState({ appliedSearchServiceTxt: this.state.searchService })\r\n let urlConcat = this.getUrl()\r\n this.checkForInternalView({ currentPageIndex: this.state.currentPageNumber, currentUrl: urlConcat })\r\n this.setState({ disabledSearchbtn: true })\r\n }\r\n }\r\n async clearSearch() {\r\n await this.setState({ searchService: '', appliedSearchServiceTxt: '', disabledSearchbtn: true, errorSearchTxt: \"\" })\r\n let urlConcat = this.getUrl()\r\n this.checkForInternalView({ currentPageIndex: this.state.currentPageNumber, currentUrl: urlConcat })\r\n this.setState({ disabledSearchbtn: true })\r\n }\r\n async searchOnEnterKey(e) {\r\n let key = e.keyCode || e.which;\r\n if (key === 13) {\r\n this.handleSearchInput(true)\r\n }\r\n }\r\n async closePopup() {\r\n await this.context && this.context.setScreenName({ screenName: \"requestList\" });\r\n this.setState({ isOpenReqModal: false });\r\n this.props.history.push('/requests');\r\n }\r\n async ToggleButton() {\r\n await this.setState({\r\n toggleToInternalRequestView: this.state.toggleToInternalRequestView === true ? false : true,\r\n sortBy: '', expectedDate: '', showSpinner: true, sortColumnName: '',\r\n selectedRequestFilterId: '', selectedServiceFilterId: '', selectedStatusFilterId: '',\r\n DemoStartDate: '', DemoEndDate: '', statusFilter: '', searchService: '', appliedSearchServiceTxt: \"\", errorSearchTxt: \"\", disabledSearchbtn: true, currentPageNumber: 1\r\n })\r\n if (this.state.toggleToInternalRequestView === true) {\r\n this.getInternalRequests()\r\n } else {\r\n await this.setState({ data: [], showSpinner: true })\r\n this.initialGridURL()\r\n }\r\n }\r\n getInternalRequests() {\r\n const urlConcat = this.getUrl()\r\n let url = `InternalRequestList?pageIndex=${this.state.currentPageNumber === 0 ? 1 : this.state.currentPageNumber}${urlConcat}`;\r\n this.getGridData({ apiBaseUrl: INTERNAL_REQUEST_BASE_URL, serviceName: url, isInternalRequest: this.state.toggleToInternalRequestView });\r\n }\r\n async setFilterSelectedValues() {\r\n var data = this.state.filterSelectedValues.split(\"&\");\r\n await this.setState({\r\n currentPageNumber: Number(data[0]),\r\n selectedRequestFilterId: data[1],\r\n selectedStatusFilterId: data[2],\r\n serviceFilter: this.state.serviceSelectedValue,\r\n selectedServiceFilterId: data[3],\r\n sortBy: data[4],\r\n sortColumnName: data[5],\r\n appliedSearchServiceTxt: data[6],\r\n searchService: data[7],\r\n expectedDate: this.state.expectedDateSelectedValue,\r\n })\r\n await this.getInternalRequests();\r\n }\r\n\r\n render() {\r\n const filterValues = `${this.state.currentPageNumber === 0 ? 1 : this.state.currentPageNumber}&${this.state.selectedRequestFilterId}&${this.state.selectedStatusFilterId}&${this.state.selectedServiceFilterId}&${this.state.sortBy}&${this.state.sortColumnName}&${this.state.appliedSearchServiceTxt}&${this.state.searchService}`;\r\n const serviceSelectedFilter = this.state.serviceFilter\r\n const expectedDateFilter = this.state.expectedDate\r\n const { data, totalPages, perPage, toggleToInternalRequestView, showInternalRequestViewSlide, ...rest } = this.state;\r\n return (\r\n \r\n {({ userRole, reqPopupOpen }) => {\r\n return (\r\n \r\n {providerData => {\r\n const navToggle = providerData.sidebarState && providerData.sidebarState.toggleMenu ? \"page-content page-collapse\" : \"page-content\";\r\n return (\r\n
    \r\n
    \r\n

    REQUESTS

    \r\n {showInternalRequestViewSlide && { this.ToggleButton() }} toggleTitle=\"Internal Request View\">}\r\n
    \r\n
    \r\n \r\n {userRole !== 1 && this.state.requestFilter &&\r\n this.handleInput(e)}\r\n selected_value={!!this.state.selectedRequestFilterId ? this.state.selectedRequestFilterId : ''}\r\n parent_custom_class=\"custom-filter-field request-dropdown\"\r\n />}\r\n this.handleServiceFilter(e)}\r\n selected_value={this.state.selectedServiceFilterId}\r\n parent_custom_class=\"custom-filter-field service-dropdown\"\r\n />\r\n this.handleServiceFilter(e)}\r\n selected_value={this.state.selectedStatusFilterId}\r\n parent_custom_class=\"custom-filter-field status-dropdown\"\r\n />\r\n {toggleToInternalRequestView === false ? \r\n this.handleDate('DemoStartDate', date)}\r\n maxDate={this.state.DemoEndDate && subDays(Date.parse(this.state.DemoEndDate), 1)}\r\n dateFormat=\"dd-MMM-yyyy\"\r\n placeholderText=\"Start Due Date\"\r\n onChangeRaw={(e) => { e.preventDefault(); }}\r\n autoComplete=\"off\"\r\n />\r\n this.handleDate('DemoEndDate', date)}\r\n minDate={!this.state.DemoStartDate ? subDays(this.state.DemoEndDate, 365) : addDays(this.state.DemoStartDate, 0)}\r\n dateFormat=\"dd-MMM-yyyy\"\r\n placeholderText=\"End Due Date\"\r\n onChangeRaw={(e) => { e.preventDefault(); }}\r\n autoComplete=\"off\"\r\n />\r\n :\r\n this.handleDate('expectedDate', date)}\r\n dateFormat=\"dd-MMM-yyyy\"\r\n placeholderText=\"Submitted On\"\r\n onChangeRaw={(e) => { e.preventDefault(); }}\r\n autoComplete=\"off\"\r\n />\r\n }\r\n
    \r\n this.clearSearch()}\r\n value={this.state.searchService} onChange={(e) => this.handleSearchInput(false, e)}\r\n onKeyPress={(e) => { this.searchOnEnterKey(e) }}>\r\n \r\n
    { this.handleSearchInput(true) }}>\r\n Search\r\n
    \r\n
    \r\n \r\n
    \r\n {!this.state.showSpinner && !this.state.NoRequests && toggleToInternalRequestView === false &&\r\n
    \r\n \r\n {!this.state.error && ( this.handleExportData()} />)}\r\n {!!totalPages && (\r\n \r\n\r\n )}\r\n
    }\r\n {!this.state.showSpinner && !this.state.NoRequests && toggleToInternalRequestView === true &&\r\n
    \r\n \r\n {!this.state.error && ( this.handleExportData()} />)}\r\n {!!totalPages && data.length > 0 && (\r\n \r\n\r\n )}\r\n
    }\r\n {this.state.NoRequests &&\r\n
    \r\n

    Alert

    \r\n \"Page-not-found\"\r\n

    No requests found.

    \r\n
    }\r\n {this.state.isParameterised && this.state.isOpenReqModal && (\r\n \r\n { this.closePopup() }}\r\n handleGetData={this.handleGetData}\r\n eid={this.state.eid}\r\n requestNumber={this.state.reqNoForApprove}\r\n appContextDetails={this.props.appContextDetails}\r\n locationDetails={this.props.locationDetails}\r\n handleUpdateRequestNo={this.handleUpdateRequestNo}\r\n />\r\n \r\n )}\r\n {this.state.error && { this.setState({ showErrorPopup: false }) }}>

    {this.state.error}

    }\r\n {this.state.showSpinner && }\r\n
    \r\n )\r\n }}\r\n
    \r\n );\r\n }}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nRequestGrid.contextType = AppServiceContext;\r\nexport default RequestGrid;","import React from 'react';\r\nimport \"./admin-scenario-box.scss\";\r\nimport parse from 'html-react-parser';\r\n\r\nconst AdminScenarioBox = props => {\r\n const { title, url,comingSoon} = props;\r\n const AdminScenarioTitle = parse(title)\r\n const AdminScenarioURL = parse(url)\r\n return (\r\n
    \r\n

    {AdminScenarioTitle}

    \r\n
    {AdminScenarioURL}
    \r\n

    {comingSoon}

    \r\n
    \r\n );\r\n};\r\n\r\nexport default AdminScenarioBox;","import React, { Component } from \"react\";\r\nimport \"./admin-landing.scss\";\r\nimport AdminScenarioBox from \"./admin-scenario-box/admin-scenario-box\";\r\nimport { getData } from \"../../api/api-manager\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { SidebarContext } from \"../../context-providers/sidebar-provider/sidebar-provider\";\r\nimport Modal from \"../../components/modals/modal\";\r\nimport Spinner from \"../../components/spinner/spinner\";\r\nimport { ADMIN_API_BASE_URL } from \"../../configs/api-base-url\";\r\n\r\nclass AdminLanding extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n allScenerio: [],\r\n activeItem: -1,\r\n categoryId: '',\r\n show: true,\r\n showErrorPopup: false,\r\n showSpinner: true,\r\n isInfo: false\r\n };\r\n }\r\n componentDidUpdate() {\r\n if (this.props.appContextDetails && (this.props.appContextDetails.userRole === 1 || this.props.appContextDetails.showAdminIcon === false)) {\r\n this.props.history.push({\r\n pathname: '/'\r\n })\r\n }\r\n }\r\n componentDidMount() {\r\n this.getCategories();\r\n this.props.setScreenName({ screenName: \"\" })\r\n }\r\n\r\n handleMouseHover(index) {\r\n this.setState({\r\n activeItem: index\r\n });\r\n }\r\n\r\n handleMouseLeave(e) {\r\n this.setState({\r\n activeItem: -1\r\n });\r\n }\r\n\r\n showSingleRequest = (ID, title, requestImage, IsActive) => {\r\n if (IsActive) {\r\n if (ID === 1) {\r\n this.props.history.push({\r\n pathname: '/user-group-management',\r\n state: {\r\n categoryId: ID,\r\n adminSettingTitle: title,\r\n requestImage\r\n }\r\n })\r\n } else {\r\n this.props.history.push({\r\n pathname: '/sla-management',\r\n state: {\r\n categoryId: ID,\r\n adminSettingTitle: title,\r\n requestImage\r\n }\r\n })\r\n }\r\n }\r\n }\r\n async getCategories() {\r\n const response = await getData({ serviceName: \"AdminFunctionalities\", apiBaseUrl: ADMIN_API_BASE_URL });\r\n const { success, data, error, isInfo } = await response;\r\n\r\n if (success) {\r\n this.setState({ allScenerio: data, showSpinner: false });\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n btnClick = () => {\r\n window.location.reload();\r\n sessionStorage.clear();\r\n }\r\n enableErrorPopup = (error, isInfo) => {\r\n this.setState({ showErrorPopup: true, isInfo, error: error, showSpinner: false })\r\n }\r\n\r\n render() {\r\n const { allScenerio } = this.state;\r\n\r\n return (\r\n this.props.appContextDetails && this.props.appContextDetails.showAdminIcon === true ? \r\n {providerData => {\r\n const navToggle = providerData.sidebarState && providerData.sidebarState.toggleMenu ? \"page-content page-collapse\" : \"page-content\";\r\n return (\r\n
    \r\n

    ADMIN

    \r\n
    \r\n {\r\n allScenerio &&\r\n allScenerio.length > 0 &&\r\n allScenerio.map((item, index) => {\r\n return (\r\n { this.showSingleRequest(item.ID, item.Name, item.ImageSrc, item.IsActive) }}\r\n data-tut=\"user-group-management\">\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n {this.state.error && { this.setState({ showErrorPopup: false }) }} buttonPosition=\"center-button\">

    {this.state.error}

    }\r\n {this.state.showSpinner && }\r\n
    \r\n \r\n )\r\n\r\n }}\r\n
    \r\n : null\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(AdminLanding);\r\n","import React, { Component } from \"react\";\r\nimport './floating-icon.scss';\r\nimport * as Constant from \"../constants/constant\";\r\nimport Popup from \"../popup/popup\";\r\n\r\nclass FloatingIcon extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { showPopup: false };\r\n }\r\n\r\n togglePopup() {\r\n this.setState({\r\n showPopup: !this.state.showPopup\r\n });\r\n }\r\n handleClose() {\r\n this.setState({\r\n showPopup: false\r\n });\r\n }\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.showPopup ?\r\n \"Close\"\r\n \r\n If you have any query or need help to find appropriate service, please CLICK HERE

    } />\r\n : null\r\n }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default FloatingIcon;","import React, { Component, Fragment } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport * as Constant from \"../constants/constant\";\r\nimport \"./leftnav.scss\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport { SidebarContext } from \"../../context-providers/sidebar-provider/sidebar-provider\";\r\nimport { AppServiceContext } from \"../../context-providers/app-service-provider/app-service-provider\";\r\nimport Tootltip from \"../../components/tool-tip/tool-tip\";\r\nimport FloatingIcon from \"../floating-icon/floating-icon\";\r\nimport Help from \"../help/help\";\r\n\r\nclass LeftNav extends Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n showing: false,\r\n showHelpBox: false,\r\n toggleMenu: false,\r\n activeItem: -1,\r\n items: [\r\n {\r\n id: 1,\r\n name: \"Scenarios\",\r\n url: \"/scenarios\",\r\n icon: Constant.SERVICES_ICON,\r\n focusIcon: Constant.SERVICES_WHITEICON\r\n },\r\n {\r\n id: 2,\r\n name: \"Search\",\r\n url: \"/search\",\r\n icon: Constant.SEARCH_WHITEICON,\r\n focusIcon: Constant.SEARCH_WHITEICON\r\n },\r\n {\r\n id: 3,\r\n name: \"Request List\",\r\n url: \"/requests\",\r\n icon: Constant.MY_REQUEST_WHITEICON,\r\n focusIcon: Constant.MY_REQUEST_WHITEICON\r\n },\r\n {\r\n id: 4,\r\n name: \"Incidents\",\r\n url: \"/incidents\",\r\n icon: Constant.INCIDENTFORMWHITEICON,\r\n focusIcon: Constant.INCIDENTFORMWHITEICON\r\n },\r\n {\r\n id: 5,\r\n name: \"Dashboard\",\r\n url: \"/dashboard\",\r\n icon: Constant.DASHBOARD_ICON,\r\n focusIcon: Constant.DASHBOARD_WHITE_ICON\r\n },\r\n {\r\n id: 6,\r\n name: \"Admin\",\r\n url: \"/admin\",\r\n icon: Constant.ADMINWHITEICON,\r\n focusIcon: Constant.ADMINWHITEICON\r\n }\r\n ]\r\n };\r\n this.toggleSideNav = this.toggleSideNav.bind(this);\r\n }\r\n\r\n async toggleSideNav() {\r\n await this.setState({\r\n showing: !this.state.showing,\r\n toggleMenu: !this.state.toggleMenu\r\n });\r\n this.context.sidebarData(this.state);\r\n }\r\n\r\n async handleOnHelpClick(appservice) {\r\n await appservice.showHelp({ showHelpOpt: true });\r\n }\r\n async handleClickTab(appservice) {\r\n await appservice.showHelp({ showHelpOpt: false });\r\n }\r\n async closeHelpBox(appservice) {\r\n await appservice.showHelp({ showHelpOpt: false });\r\n await this.setState({ showHelpBox: !this.state.showHelpBox })\r\n }\r\n render() {\r\n const showHide = this.state.toggleMenu ? \"sidebar sidebar-expand\" : \"sidebar\";\r\n\r\n return (\r\n \r\n {() => {\r\n return (\r\n
    \r\n
      \r\n
    • \r\n \r\n
    • \r\n \r\n \r\n {appservice => {\r\n return (\r\n \r\n {this.state.items.map((item, index) => {\r\n if ((appservice.userRole === 1 && (item.name === 'Dashboard' || item.name === 'Admin')) || (appservice.userRole !== 1 && item.name === 'Admin' && appservice.showAdminIcon === false)) {\r\n return null\r\n }\r\n\r\n return (\r\n { this.handleClickTab(appservice) }}\r\n data-tut={`leftNav-${index}`}>\r\n \r\n \r\n {this.state.showing ? (\r\n {item.name}\r\n ) : null}\r\n {!this.state.showing && ({item.name}

      }>
      )}\r\n \r\n \r\n )\r\n }\r\n )}\r\n { appservice.screenName !== \"\" && this.handleOnHelpClick(appservice) }}\r\n data-tut=\"help-icon\" className=\"list-item help-icon left-nav-in-active\"\r\n >\r\n { this.setState({ showHelpBox: !this.state.showHelpBox }) }}\r\n >\r\n {\"help\"}\r\n\r\n {this.state.showing ? (\r\n Help\r\n ) : null}\r\n {this.state.showHelpBox && appservice.showHelpOpt &&
      }\r\n {!this.state.showHelpBox && !this.state.showing && (Help

      }>
      )}\r\n
      \r\n {this.state.showHelpBox && < Help screenName={appservice.screenName} closeHelpBox={() => this.setState({ showHelpBox: !this.state.showHelpBox })} />}\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\nLeftNav.contextType = SidebarContext;\r\nexport default LeftNav;","import React from 'react';\r\nimport './footer.scss';\r\nconst Footer = () => (
    \r\n © 2022 Accenture. All Rights Reserved.\r\n \r\n
    \r\n)\r\n\r\nexport default Footer;\r\n","import React from 'react';\r\nimport \"./scenario-box.scss\";\r\nimport parse from 'html-react-parser';\r\n\r\nconst ScenarioBox = props => {\r\n const { title, url, comingSoon } = props;\r\n const ScenarioBoxTitle = parse(title);\r\n const ScenarioBoxUrl = parse(url);\r\n return (\r\n
    \r\n

    {ScenarioBoxTitle}

    \r\n
    {ScenarioBoxUrl}
    \r\n

    {comingSoon}

    \r\n
    \r\n );\r\n};\r\n\r\nexport default ScenarioBox;\r\n","import React, { Component } from \"react\";\r\nimport \"./scenarios.scss\";\r\nimport ScenarioBox from \"./scenario-box/scenario-box\";\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { SidebarContext } from \"../../../context-providers/sidebar-provider/sidebar-provider\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\n\r\nclass Scenario extends Component {\r\n _isMounted = false;\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n allScenerio: [],\r\n activeItem: -1,\r\n categoryId: '',\r\n show: true,\r\n showErrorPopup: false,\r\n showSpinner: true,\r\n isInfo: false\r\n };\r\n\r\n }\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n this.getCategories();\r\n this.props.setScreenName({ screenName: \"scenario\" })\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n handleMouseHover(index) {\r\n this.setState({\r\n activeItem: index\r\n });\r\n }\r\n\r\n handleMouseLeave(e) {\r\n this.setState({\r\n activeItem: -1\r\n });\r\n }\r\n\r\n showSingleRequest = ({ catId, title, requestImage, isComing, isInternalReq }) => {\r\n if (!isComing) {\r\n this.props.history.push({\r\n pathname: '/services',\r\n state: {\r\n categoryId: catId,\r\n scenerioTitle: title,\r\n requestImage,\r\n isInternalReq\r\n }\r\n })\r\n }\r\n };\r\n\r\n async getCategories() {\r\n const response = await getData({ serviceName: \"Categories\" });\r\n const { success, data, error, isInfo } = await response;\r\n\r\n if (success) {\r\n if (this._isMounted) {\r\n this.setState({ allScenerio: data, showSpinner: false });\r\n }\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n btnClick = () => {\r\n window.location.reload();\r\n sessionStorage.clear();\r\n }\r\n\r\n enableErrorPopup = (error, isInfo) => {\r\n this.setState({ showErrorPopup: true, isInfo, error: error, showSpinner: false })\r\n }\r\n\r\n render() {\r\n const { allScenerio } = this.state;\r\n\r\n return (\r\n \r\n {providerData => {\r\n const navToggle = providerData.sidebarState && providerData.sidebarState.toggleMenu ? \"page-content page-collapse\" : \"page-content\";\r\n return (\r\n
    \r\n

    I NEED SUPPORT

    \r\n
    \r\n {allScenerio &&\r\n allScenerio.length > 0 &&\r\n allScenerio.map((item, index) => (\r\n { this.showSingleRequest({ catId: item.CatID, title: item.Name, requestImage: item.ImageSrc, isComing: item.IsComingSoon, isInternalReq: !!item.IsInternalRequest }) }}\r\n data-tut=\"scenarios\">\r\n \r\n
    \r\n ))}\r\n
    \r\n {this.state.error && { this.setState({ showErrorPopup: false }) }} buttonPosition=\"center-button\">

    {this.state.error}

    }\r\n {this.state.showSpinner && }\r\n
    \r\n \r\n )\r\n\r\n }}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(Scenario);\r\n","import React from \"react\";\r\nimport MultipleRequests from \"./scenarios/scenarios\";\r\n\r\nconst Scenario = props => ( )\r\n\r\nexport default Scenario;\r\n","import React, { Component } from \"react\";\r\nimport RadioButton from \"../../../components/radio-button/radiobutton\";\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\";\r\nimport \"./technology-selection.scss\";\r\n\r\nclass TechnologySelection extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n technology: this.props.technologies.length === 1 ? this.props.technologies[0].Name : '',\r\n technologyId: this.props.technologies.length === 1 ? this.props.technologies[0].ID : ''\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.setDefaultSelection()\r\n }\r\n\r\n async setDefaultSelection() {\r\n if (this.context.existingState && this.context.existingState.technology) {\r\n await this.setState({\r\n technology: this.context.existingState.technology,\r\n technologyId: this.context.existingState.technologyId,\r\n });\r\n } \r\n else {\r\n await this.setState({\r\n technology: this.props.technologies.length === 1 ? this.props.technologies[0].Name : '',\r\n technologyId: this.props.technologies.length === 1 ? this.props.technologies[0].ID : ''\r\n });\r\n this.context.addSelectedData(this.state);\r\n }\r\n }\r\n\r\n async handleRadio(event) {\r\n await this.setState({\r\n technology: event.target.value,\r\n technologyId: event.target.id,\r\n selectedServices: {},\r\n serviceGroupCount:{},\r\n estimatedMax: 0,\r\n estimatedMin: 0,\r\n advanceForms: []\r\n });\r\n await this.context.addSelectedData(this.state);\r\n }\r\n\r\n render() {\r\n const { technologies, ToggleStatus } = this.props\r\n\r\n return (\r\n \r\n {providerData => {\r\n return (\r\n
    \r\n

    Technology

    \r\n
    \r\n {technologies.map((el, index) => (\r\n
    \r\n {\r\n this.handleRadio(e);\r\n this.props.handleRadio(e);\r\n }}\r\n value={el.Name}\r\n id={el.ID}\r\n checked={parseInt(this.state.technologyId) === parseInt(el.ID) ? true : false}\r\n />\r\n {el.Name}\r\n
    \r\n ))}\r\n
    \r\n
    \r\n );\r\n }}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nTechnologySelection.contextType = RequestContext;\r\nexport default TechnologySelection;\r\n","export const searchService = (services, searchServiceData, textDisplayProp) => {\r\n let val = searchServiceData.toLowerCase();\r\n let grpName = false;\r\n let groupMatches = services && services.reduce((serviceArray, { IsAccOpen, ServiceProviderTeam, Services }) => {\r\n if (textDisplayProp) {\r\n grpName = ServiceProviderTeam && ServiceProviderTeam.toLowerCase().includes(val);\r\n }\r\n if (grpName) {\r\n serviceArray.push({ IsAccOpen, ServiceProviderTeam, Services });\r\n } else {\r\n let mainService = Services.filter((item) => (item.Name && item.Name.toLowerCase().includes(val)) || (item.Description && item.Description.toLowerCase().includes(val))\r\n || (item.Options && item.Options.Title && item.Options.Title.toLowerCase().includes(val)));\r\n if (mainService && mainService.length) {\r\n serviceArray.push({ IsAccOpen, ServiceProviderTeam, Services: [...mainService] });\r\n } else {\r\n let subService = Services.filter((item) => item.Options && item.Options.Items.some(u => u.Name && u.Name.toLowerCase().includes(val)));\r\n if (subService && subService.length) {\r\n serviceArray.push({ IsAccOpen, ServiceProviderTeam, Services: [...subService] });\r\n }\r\n }\r\n }\r\n return serviceArray;\r\n }, []);\r\n return groupMatches;\r\n}\r\n\r\nexport const calculateEstimateCost = ({ costMin, costMax, canAdd = true, replaceCostWithNew = false, contextData }) => {\r\n let tmpCosts = {\r\n estimatedMin: costMin,\r\n estimatedMax: costMax\r\n }\r\n if (!replaceCostWithNew) {\r\n const checkContext = contextData && contextData.existingState\r\n const estimatedMin = checkContext ? checkContext.estimatedMin : \"\"\r\n const estimatedMax = checkContext ? checkContext.estimatedMax : \"\"\r\n let estimatedMinTemp = estimatedMin ? estimatedMin : 0\r\n let estimatedMaxTemp = estimatedMax ? estimatedMax : 0\r\n if (canAdd) {\r\n estimatedMinTemp = costMin + estimatedMinTemp\r\n estimatedMaxTemp = costMax + estimatedMaxTemp\r\n } else {\r\n estimatedMinTemp = estimatedMinTemp - costMin\r\n estimatedMaxTemp = estimatedMaxTemp - costMax\r\n if (estimatedMinTemp < 0) estimatedMinTemp = 0\r\n if (estimatedMaxTemp < 0) estimatedMaxTemp = 0\r\n }\r\n tmpCosts = {\r\n estimatedMin: estimatedMinTemp,\r\n estimatedMax: estimatedMaxTemp\r\n }\r\n }\r\n return tmpCosts\r\n}\r\n\r\nexport const serviceCount = services => {\r\n let count = 0\r\n services.map((i) => {\r\n count += i.Services.length\r\n return count\r\n })\r\n return count\r\n}\r\n\r\nexport const handleValidateSelectedServices = selectedServices => {\r\n return selectedServices ? Object.values(selectedServices).filter(function (service) {\r\n if (service.haveChild === 'true') { return (service.selectedChildId === \"\") ? false : true }\r\n return true\r\n }) : []\r\n}\r\n\r\nexport const handleShowNextBtn = (selectedServices) => {\r\n let showNextBtn = false\r\n let finalSelectedServices = handleValidateSelectedServices(selectedServices)\r\n if (finalSelectedServices.length > 0 && selectedServices !== undefined) {\r\n const selectedServicesArray = Array.from(Object.keys(selectedServices), k => [`${k}`, selectedServices[k]]);\r\n if (finalSelectedServices.length === selectedServicesArray.length)\r\n showNextBtn = true\r\n }\r\n return showNextBtn\r\n}","import React, { Component } from \"react\";\r\nimport data from \"../../assets/data/additional-information.json\";\r\nimport \"./additional-information.scss\";\r\nclass AdditionalInformation extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: data,\r\n }\r\n }\r\n\r\n render() {\r\n const infoID = this.props && this.props.infoId\r\n let serviceInfo = this.state.data && this.state.data.additionalInfo && this.state.data.additionalInfo.filter(function (key) {\r\n return key.ServiceId === infoID\r\n })\r\n return (\r\n
    {serviceInfo && serviceInfo.map((info, idx) => {\r\n return (\r\n
    \r\n

    {info.heading}

    \r\n {info.ServiceInfo && info.ServiceInfo.map((que, index) => {\r\n return (\r\n
    \r\n

    {que.title}

    \r\n
    \r\n

    {que.question}

    \r\n

    {que.answer}

    \r\n

    {que.paragraph}

    \r\n

    {que.description}

    \r\n {que.bullet && \r\n
      \r\n
    • {que.bullet}
    • \r\n
    \r\n }\r\n {que.ForMoreInformation &&

    For more information

    }\r\n {que.ForMoreInformation && {que.ForMoreInformation}}\r\n
    \r\n
    \r\n )\r\n })}\r\n
    \r\n )\r\n })}
    \r\n );\r\n }\r\n}\r\nexport default AdditionalInformation;\r\n","import React, { Fragment } from \"react\";\r\nimport { serviceCount } from \"./service-selection-function\";\r\nimport Toggle from \"../../../components/toggle/toggle\";\r\nimport CustomInput from \"../../../components/custom-input/custom-input\";\r\n\r\nexport const ServiceHeaderCount = (props) => {\r\n const { showService, estimatedCostColor, estimatedCost } = props\r\n return (\r\n \r\n

    Services\r\n \r\n {serviceCount(showService) === 0 ? \"\"\r\n : serviceCount(showService) > 1 ? ` ( ${serviceCount(showService)} Services Available )`\r\n : ` ( ${serviceCount(showService)} Service Available )`}\r\n \r\n

    \r\n Estimated Cost: {estimatedCost}\r\n
    \r\n )\r\n}\r\n\r\nexport const ToggleAndSearch = (props) => {\r\n const { services, textDisplayProp, handleToggleButtonProp, providerData, searchService, handleInput } = props\r\n return (\r\n \r\n

    Please select one or more of the following services.

    \r\n
    \r\n { handleToggleButtonProp(providerData) }} toggleTitle=\"Service Group\">\r\n 0 ? false : true} inputtype=\"text\" placeholder=\"Search Service..\" name=\"searchService\" value={searchService} onChange={(e) => handleInput(e)} />\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport const DisplayableCost = (props) => {\r\n const { displayableCost } = props\r\n return (\r\n \r\n {displayableCost}\r\n \r\n )\r\n}","import React, { Component } from \"react\";\r\nimport RadioButton from \"../../../components/radio-button/radiobutton\";\r\nimport Checkbox from \"../../../components/checkbox/checkbox\";\r\nimport \"./service-selection.scss\";\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\";\r\nimport Nextbutton from \"../../../components/button/nextbutton\";\r\nimport { Link } from \"react-router-dom\";\r\nimport CustomButton from \"../../../components/button/secondary-button\";\r\nimport Accordion from \"../../../components/accordion/accordion\";\r\nimport { searchService, calculateEstimateCost, handleShowNextBtn, handleValidateSelectedServices } from \"./service-selection-function\";\r\nimport AdditionalInformation from \"../../../components/additional-information/additional-information\";\r\nimport CustomModal from \"../../../components/modals/custom-modal\";\r\nimport parse from 'html-react-parser';\r\n// import ToolTip from '../../../components/tool-tip/tool-tip';\r\nimport { ServiceHeaderCount, ToggleAndSearch, DisplayableCost } from \"./service-selection-common-component\"\r\n\r\nclass ServiceSelection extends Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n services: [],\r\n serviceId: '',\r\n advanceForms: this.context && this.context.existingState ? this.context.existingState.advanceForms : [],\r\n groupCount: {}, filterServices: [], searchUngrp: false, showEmptySearch: false, searchService: \"\"\r\n };\r\n }\r\n async componentWillUnmount() {\r\n document.body.removeEventListener('click', this.handleOutsideClick);\r\n if (!!this.state.defaultService || this.state.defaultService !== this.context.existingState.selectedServices) {\r\n await this.context.addSelectedData({ basicFormData: {} });\r\n }\r\n }\r\n componentDidMount() {\r\n const contextVal = this.context && this.context.existingState\r\n document.body.addEventListener('click', this.handleOutsideClick);\r\n this.setState({\r\n estimatedMin: contextVal ? contextVal.estimatedMin : 0,\r\n estimatedMax: contextVal ? contextVal.estimatedMax : 0,\r\n selectedServices: contextVal ? contextVal.selectedServices : {},\r\n defaultService: contextVal ? contextVal.selectedServices : {},\r\n advanceForms: contextVal ? contextVal.advanceForms : [],\r\n })\r\n this.context.addSelectedData({ basicFormData: {}, crpFormData: {}, sapFormData: {}, successFactorFormData: {}, processCompositionFormData: {}, oracleFormData: {} });\r\n }\r\n componentDidUpdate(prevProps) {\r\n if (this.props.services !== prevProps.services) {\r\n this.handleSearchService();\r\n const contextVal = this.context && this.context.existingState\r\n this.setState({\r\n estimatedMin: contextVal ? contextVal.estimatedMin : 0,\r\n estimatedMax: contextVal ? contextVal.estimatedMax : 0,\r\n selectedServices: contextVal ? contextVal.selectedServices : {},\r\n defaultService: contextVal ? contextVal.selectedServices : {},\r\n advanceForms: contextVal ? contextVal.advanceForms : [],\r\n TBDArr: []\r\n })\r\n this.context.addSelectedData({ basicFormData: {}, crpFormData: {}, sapFormData: {}, successFactorFormData: {}, processCompositionFormData: {}, oracleFormData: {} });\r\n }\r\n }\r\n async handleRadio(event) {\r\n let parentId = event.target.getAttribute('parentid')\r\n let parentName = event.target.getAttribute('parentname')\r\n let costMin = parseInt(event.target.getAttribute('costmin'))\r\n let costMax = parseInt(event.target.getAttribute('costmax'))\r\n let grpName = event.target.getAttribute('groupname')\r\n\r\n const checkContext = this.context && this.context.existingState\r\n let isEstimated = checkContext && checkContext.selectedServices[parentId].isCalEstimation ? true : false\r\n let isTBD = false\r\n if (costMin === -1 && costMax === -1) {\r\n isTBD = true\r\n }\r\n if (isTBD) {\r\n costMin = 0\r\n costMax = 0\r\n }\r\n if (!isEstimated) {\r\n this.props.handleGrpCnt(grpName)\r\n this.calculateEstimateCost(costMin, costMax)\r\n }\r\n await this.setState({\r\n selectedServices: {\r\n ...this.state.selectedServices,\r\n [parentId]: {\r\n ...this.state.selectedServices[parentId],\r\n selectedChildName: event.target.value,\r\n selectedChildId: event.target.id,\r\n id: parentId,\r\n serviceName: parentName,\r\n isCalEstimation: true\r\n }\r\n }\r\n });\r\n this.context.addSelectedData(this.state);\r\n }\r\n\r\n async calculateEstimateCost(costMin, costMax, canAdd = true) {\r\n // const checkContext = this.context && this.context.existingState\r\n // const estimatedMin = checkContext ? checkContext.estimatedMin : \"\"\r\n // const estimatedMax = checkContext ? checkContext.estimatedMax : \"\"\r\n // let estimatedMinTemp = estimatedMin ? estimatedMin : 0\r\n // let estimatedMaxTemp = estimatedMax ? estimatedMax : 0\r\n // if (canAdd) {\r\n // estimatedMinTemp = costMin + estimatedMinTemp\r\n // estimatedMaxTemp = costMax + estimatedMaxTemp\r\n // } else {\r\n // estimatedMinTemp = estimatedMinTemp - costMin\r\n // estimatedMaxTemp = estimatedMaxTemp - costMax\r\n // if (estimatedMinTemp < 0) estimatedMinTemp = 0\r\n // if (estimatedMaxTemp < 0) estimatedMaxTemp = 0\r\n // }\r\n // await this.setState({\r\n // estimatedMin: estimatedMinTemp,\r\n // estimatedMax: estimatedMaxTemp\r\n // });\r\n // await this.context.addSelectedData(this.state);\r\n let calculatedCosts = await calculateEstimateCost({ costMin, costMax, canAdd, contextData: this.context })\r\n await this.setState({\r\n ...calculatedCosts\r\n });\r\n await this.context.addSelectedData(this.state);\r\n }\r\n\r\n async handleCheckBox(event) {\r\n const name = event.target.name;\r\n let selectedId = event.target.id\r\n let costMin = parseInt(event.target.getAttribute('costmin'))\r\n let costMax = parseInt(event.target.getAttribute('costmax'))\r\n const advnForm = event.target.getAttribute('advform')\r\n let haveChild = event.target.getAttribute('havechild')\r\n let grpIndex = event.target.getAttribute('groupname')\r\n let grpName = event.target.getAttribute('grpname')\r\n\r\n if (advnForm) {\r\n if (advnForm === 'CRP') {\r\n this.setState({ 'crpServiceTitle': name })\r\n }\r\n if (advnForm === 'SAP') {\r\n this.setState({ 'sapServiceTitle': name })\r\n }\r\n if (advnForm === 'OracleEnvironment') {\r\n this.setState({ 'oracleServiceTitle': name })\r\n }\r\n if (advnForm === 'ProcessComposition') {\r\n this.setState({ 'processCompositionServiceTitle': name })\r\n }\r\n if (advnForm === 'THR') {\r\n this.setState({ 'successFactorServiceTitle': name })\r\n }\r\n if (advnForm === 'BTP') {\r\n this.setState({ 'btpServiceTitle': name })\r\n }\r\n if (advnForm === 'THRS') {\r\n this.setState({ 'talentHRServiceTitle': name })\r\n }\r\n if (advnForm === 'SolutionPlanning') {\r\n this.setState({ 'solutionPlanningServiceTitle': name })\r\n }\r\n }\r\n\r\n let isTBD = false\r\n let TBDArr = []\r\n if (costMin === -1 && costMax === -1) {\r\n isTBD = true\r\n TBDArr = !!this.context.existingState.TBDArr ? this.context.existingState.TBDArr : []\r\n this.setState({ TBD: isTBD })\r\n }\r\n\r\n let advForm = !!this.state.advanceForms && this.state.advanceForms.length > 0 ? this.state.advanceForms : []\r\n if (event.target.checked) {\r\n await this.setState({\r\n 'selectedServices': {\r\n ...this.context.existingState.selectedServices,\r\n [selectedId]: {\r\n id: selectedId,\r\n serviceName: name,\r\n selectedChildName: '',\r\n selectedChildId: '',\r\n haveChild,\r\n grpName\r\n },\r\n },\r\n estimatedMax: this.context.existingState.estimatedMax || 0,\r\n estimatedMin: this.context.existingState.estimatedMin || 0\r\n });\r\n if (isTBD) {\r\n costMin = 0\r\n costMax = 0\r\n TBDArr.push(selectedId)\r\n await this.setState({ TBDArr })\r\n }\r\n if (haveChild === 'false') {\r\n this.calculateEstimateCost(costMin, costMax)\r\n this.props.handleGrpCnt(grpIndex)\r\n }\r\n if (!!advnForm && advnForm.length !== 0) { advForm = [...advForm, advnForm] }\r\n if (advForm.length > 0) await this.setState({ advanceForms: advForm })\r\n } else {\r\n let tempServices = this.state.selectedServices\r\n let haveSelectedChild = tempServices[selectedId].selectedChildId\r\n delete tempServices[selectedId]\r\n if (isTBD) {\r\n costMin = 0\r\n costMax = 0\r\n TBDArr = TBDArr.filter(item => item !== selectedId)\r\n await this.setState({ TBDArr })\r\n }\r\n if (haveChild === 'true' && !!haveSelectedChild) {\r\n this.calculateEstimateCost(costMin, costMax, false)\r\n this.props.handleGrpCnt(grpIndex, false)\r\n } else {\r\n if (haveChild === 'false') {\r\n this.calculateEstimateCost(costMin, costMax, false)\r\n this.props.handleGrpCnt(grpIndex, false)\r\n }\r\n }\r\n const advnFormArr = this.state && this.state.advanceForms && this.state.advanceForms.length > 0 ? this.state.advanceForms.filter(item => item !== advnForm) : []\r\n await this.setState({\r\n selectedServices: tempServices,\r\n advanceForms: advnFormArr\r\n })\r\n\r\n }\r\n this.context.addSelectedData(this.state);\r\n }\r\n showTooltip(elementID) {\r\n const tooltipContent = (\r\n
    \r\n All requests for ThinkTank access, project assistance & support are now handled directly by the ThinkTank team.\r\n Please click here & add the details of client, project, or problem.\r\n
    \r\n );\r\n this.setState({\r\n tooltipContent: tooltipContent,\r\n tooltipVisible: elementID,\r\n });\r\n }\r\n \r\n handleOutsideClick = (event) => {\r\n const tooltipContainer = document.querySelector('.tooltip-container');\r\n if (tooltipContainer && !tooltipContainer.contains(event.target)) {\r\n this.setState({ tooltipVisible: null });\r\n }\r\n };\r\n\r\n\r\n handleSubmit() {\r\n let selectedServices = this.context && this.context.existingState ? this.context.existingState.selectedServices : {}\r\n this.context.existingState.marketUnitDefault = null\r\n const showForm = handleValidateSelectedServices(selectedServices)\r\n if (showForm.length > 0) { this.props.submitServiceData(showForm) }\r\n }\r\n\r\n async handleInput(e) {\r\n let { name, value } = e.target;\r\n await this.setState({ [name]: value });\r\n await this.handleSearchService();\r\n }\r\n\r\n handleSearchService() {\r\n const groupMatches = searchService(this.props.services, this.state.searchService, this.props.textDisplayProp);\r\n this.setState({ filterServices: groupMatches, showEmptySearch: true, searchUngrp: this.props.textDisplayProp ? true : false });\r\n }\r\n\r\n async showAdditionInfo(popupId, id) {\r\n await this.setState({\r\n infoId: id,\r\n popupId: popupId,\r\n [`${popupId}-systemAction-popup`]: true,\r\n })\r\n }\r\n\r\n async handleClose() {\r\n await this.setState({\r\n [`${this.state.popupId}-systemAction-popup`]: false,\r\n });\r\n }\r\n\r\n render() {\r\n const { services, ToggleStatus } = this.props;\r\n let showService = services\r\n if (this.state.filterServices.length > 0 || this.state.showEmptySearch) {\r\n showService = this.state.filterServices\r\n }\r\n if ((!this.props.textDisplayProp && this.state.searchUngrp)\r\n || (this.props.textDisplayProp && !this.state.searchUngrp)) {\r\n this.handleSearchService()\r\n }\r\n return (\r\n \r\n {providerData => {\r\n const haveContextData = this.context && this.context.existingState\r\n let selectedServices = haveContextData ? this.context.existingState.selectedServices : {}\r\n let estimatedMin = haveContextData ? this.context.existingState.estimatedMin : 0\r\n let estimatedMax = haveContextData ? this.context.existingState.estimatedMax : 0\r\n let TBData = !!this.state.TBDArr ? this.state.TBDArr : []\r\n let showNextBtn = handleShowNextBtn(selectedServices)\r\n if (isNaN(estimatedMin)) { estimatedMin = 0 }\r\n if (isNaN(estimatedMax)) { estimatedMax = 0 }\r\n let estimatedCost = ''\r\n\r\n if (TBData.length > 0) { estimatedCost = 'TBD' }\r\n else { estimatedCost = parseInt(estimatedMin) === parseInt(estimatedMax) ? `$ ${estimatedMin}` : `$ ${estimatedMin} - ${estimatedMax}` }\r\n\r\n const estimatedCostColor = estimatedCost === \"$ 0\" ? 'total-cost' : 'total-cost-colored';\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n { this.props.ToggleButtonProp(data) }} providerData={providerData} searchService={this.state.searchService} handleInput={(e) => this.handleInput(e)} />\r\n
    \r\n {services.length < 1 &&

    Please select technology to see the list of available services.

    }\r\n
      \r\n \r\n {showService.map((groupItem, index) => {\r\n let serviceGroupName = groupItem.ServiceProviderTeam;\r\n let groupServices = groupItem.Services || 0;\r\n let contextServiceCounter = `${groupItem.ServiceProviderTeam}`\r\n let techId = `${providerData && providerData.existingState && providerData.existingState.technologyId}`\r\n let selectedServiceCount = this.props.serviceGroupCount && this.props.serviceGroupCount[contextServiceCounter]\r\n return (\r\n
      \r\n {groupServices.length > 0 && groupServices.map((el) => {\r\n const description = el.Description || \"\"\r\n let showChild = selectedServices && selectedServices[el.ID] && el.Options ? true : false\r\n let selectedServiceID = selectedServices && Object.keys(selectedServices).includes(el.ID.toString()) ? true : false\r\n let rowKey = `${el.ID}-${providerData && providerData.existingState && providerData.existingState.technologyId}`\r\n const displayableCost = el.CostMin === 0 && el.CostMax === 0 ? 'Free' : el.CostMin === -1 && el.CostMax === -1 ? 'TBD' : el.CostMin > 0 && el.CostMin === el.CostMax ? `$ ${el.CostMin}` : `$ ${el.CostMin} - ${el.CostMax}`\r\n return (\r\n
    • \r\n
      \r\n { this.handleCheckBox(e); }}\r\n value={false} name={el.Name} title={el.Name} id={el.ID}\r\n costmin={el.CostMin} costmax={el.CostMax} havechild={!!el.Options ? 'true' : 'false'}\r\n defaultChecked={selectedServiceID} advform={el.AdvanceForm}\r\n groupindex={index} grpname={serviceGroupName}\r\n disabled={el.IsDecommissioned} groupname={groupItem.ServiceProviderTeam}\r\n />\r\n {el.Name}\r\n {el.AdditionalInfoForService && {\r\n this.showAdditionInfo(el.ID, el.AdditionalInfoForService);\r\n }} title=\"Service-info\">}\r\n {!!this.state[`${el.ID}-systemAction-popup`] && el.ID === this.state.popupId && (\r\n { this.handleClose(); }}\r\n handleOk={() => { this.handleClose(); }}\r\n extraClass=\"additonal-information-modal\"\r\n showOkButton={false}>\r\n {\r\n this.handleClose();\r\n }}\r\n >\r\n \r\n )}\r\n \r\n \r\n
      {(el.IsDecommissioned && (el.Name === \"ThinkTank Engage\" || el.Name === \"ThinkTank Enablement\")) && (\r\n
      this.showTooltip(el.ID)} \r\n >
      \r\n )}\r\n {this.state.tooltipVisible === el.ID && ( \r\n
      \r\n
      \r\n
      {this.state.tooltipContent}
      \r\n
      \r\n )}
      \r\n

      {parse(description)}

      \r\n {el.Options && showChild && (\r\n
      \r\n
      \r\n

      {el.Options.Title}

      \r\n
      \r\n {el.Options.Items.map((item) => {\r\n let itemName = el.Name.replace(/\\s+/g, '');\r\n const isChildServiceSelected =\r\n this.state.selectedServices &&\r\n this.state.selectedServices[el.ID]\r\n ? parseInt(this.state.selectedServices[el.ID].selectedChildId) === parseInt(item.ID) ? item.Name : false\r\n : false;\r\n return (\r\n
      \r\n { this.handleRadio(e); }}\r\n value={item.Name} name={itemName} id={item.ID}\r\n parentid={el.ID} parentname={el.Name} groupname={groupItem.ServiceProviderTeam}\r\n costmin={el.CostMin} costmax={el.CostMax}\r\n checked={isChildServiceSelected ? true : false} groupindex={index}\r\n /> {item.Name}\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 { this.handleSubmit() }}\r\n data-tut=\"service-select\" />\r\n
    \r\n
    \r\n
    \r\n );\r\n }}\r\n
    \r\n );\r\n }\r\n}\r\nServiceSelection.contextType = RequestContext;\r\nexport default ServiceSelection;","import React, { Component } from \"react\";\r\nimport RadioButton from \"../../../../components/radio-button/radiobutton\";\r\nimport \"../service-selection.scss\";\r\nimport { RequestContext } from \"../../../../context-providers/request-provider/request-provider\";\r\nimport Nextbutton from \"../../../../components/button/nextbutton\";\r\nimport { Link } from \"react-router-dom\";\r\nimport CustomButton from \"../../../../components/button/secondary-button\";\r\nimport Accordion from \"../../../../components/accordion/accordion\";\r\nimport { searchService, calculateEstimateCost, handleShowNextBtn, handleValidateSelectedServices } from \"../service-selection-function\";\r\nimport AdditionalInformation from \"../../../../components/additional-information/additional-information\";\r\nimport CustomModal from \"../../../../components/modals/custom-modal\";\r\nimport { ServiceHeaderCount, DisplayableCost } from \"../service-selection-common-component\"\r\nimport parse from 'html-react-parser';\r\n\r\nclass InternalServiceSelection extends Component {\r\n state = {\r\n services: [],\r\n serviceId: \"\",\r\n advanceForms:\r\n this.context && this.context.existingState\r\n ? this.context.existingState.advanceForms\r\n : [],\r\n groupCount: {},\r\n filterServices: [],\r\n searchUngrp: false,\r\n showEmptySearch: false,\r\n searchService: \"\",\r\n };\r\n async componentWillUnmount() {\r\n if (\r\n !!this.state.defaultService ||\r\n this.state.defaultService !== this.context.existingState.selectedServices\r\n ) {\r\n await this.context.addSelectedData({ internalRequestFormData: {} });\r\n }\r\n }\r\n componentDidMount() {\r\n const contextVal = this.context && this.context.existingState;\r\n this.setState({\r\n estimatedMin: contextVal ? contextVal.estimatedMin : 0,\r\n estimatedMax: contextVal ? contextVal.estimatedMax : 0,\r\n selectedServices: contextVal ? contextVal.selectedServices : {},\r\n defaultService: contextVal ? contextVal.selectedServices : {},\r\n });\r\n this.context.addSelectedData({ internalRequestFormData: {} });\r\n }\r\n componentDidUpdate(prevProps) {\r\n if (this.props.services !== prevProps.services) {\r\n this.handleSearchService();\r\n }\r\n }\r\n\r\n async calculateEstimateCost({ costMin, costMax }) {\r\n let calculatedCosts = await calculateEstimateCost({\r\n costMin,\r\n costMax,\r\n replaceCostWithNew: true,\r\n });\r\n await this.setState({\r\n ...calculatedCosts,\r\n });\r\n await this.context.addSelectedData(this.state);\r\n }\r\n\r\n async handleCheckBox(event) {\r\n // const name = event.target.name;\r\n let selectedId = event.target.id;\r\n let name = event.target.getAttribute(\"title\");\r\n let costMin = parseInt(event.target.getAttribute(\"costmin\"));\r\n let costMax = parseInt(event.target.getAttribute(\"costmax\"));\r\n let haveChild = event.target.getAttribute(\"havechild\");\r\n let grpIndex = event.target.getAttribute(\"groupname\");\r\n let grpName = event.target.getAttribute(\"grpname\");\r\n const advnForm = event.target.getAttribute(\"advform\");\r\n\r\n let isTBD = false;\r\n let TBDArr = [];\r\n if (costMin === -1 && costMax === -1) {\r\n isTBD = true;\r\n TBDArr = !!this.context.existingState.TBDArr\r\n ? this.context.existingState.TBDArr\r\n : [];\r\n this.setState({ TBD: isTBD });\r\n } else {\r\n this.setState({ TBD: false });\r\n }\r\n if (event.target.checked) {\r\n await this.setState({\r\n selectedServices: {\r\n [selectedId]: {\r\n id: selectedId,\r\n serviceName: name,\r\n selectedChildName: \"\",\r\n selectedChildId: \"\",\r\n haveChild,\r\n grpName,\r\n },\r\n },\r\n estimatedMax: this.context.existingState.estimatedMax || 0,\r\n estimatedMin: this.context.existingState.estimatedMin || 0,\r\n serviceTitle: name,\r\n });\r\n if (advnForm) {\r\n await this.setState({ advanceForms: advnForm });\r\n }\r\n if (isTBD) {\r\n costMin = 0;\r\n costMax = 0;\r\n TBDArr.push(selectedId);\r\n await this.setState({ TBDArr });\r\n } else {\r\n await this.setState({ TBDArr: [] });\r\n }\r\n this.calculateEstimateCost({ costMin, costMax });\r\n this.props.handleGrpCnt(grpIndex);\r\n }\r\n this.context.addSelectedData(this.state);\r\n }\r\n\r\n handleSubmit() {\r\n let selectedServices =\r\n this.context && this.context.existingState\r\n ? this.context.existingState.selectedServices\r\n : {};\r\n const showForm = handleValidateSelectedServices(selectedServices);\r\n if (showForm.length > 0) {\r\n this.props.submitServiceData(showForm);\r\n }\r\n }\r\n\r\n async handleInput(e) {\r\n let { name, value } = e.target;\r\n await this.setState({ [name]: value });\r\n await this.handleSearchService();\r\n }\r\n\r\n handleSearchService() {\r\n const groupMatches = searchService(\r\n this.props.services,\r\n this.state.searchService,\r\n this.props.textDisplayProp\r\n );\r\n this.setState({\r\n filterServices: groupMatches,\r\n showEmptySearch: true,\r\n searchUngrp: this.props.textDisplayProp ? true : false,\r\n });\r\n }\r\n\r\n async showAdditionInfo(popupId, id) {\r\n await this.setState({\r\n infoId: id,\r\n popupId: popupId,\r\n [`${popupId}-systemAction-popup`]: true,\r\n });\r\n }\r\n\r\n async handleClose() {\r\n await this.setState({\r\n [`${this.state.popupId}-systemAction-popup`]: false,\r\n });\r\n }\r\n\r\n render() {\r\n const { services } = this.props;\r\n let showService = services;\r\n if (this.state.filterServices.length > 0 || this.state.showEmptySearch) {\r\n showService = this.state.filterServices;\r\n }\r\n if (\r\n (!this.props.textDisplayProp && this.state.searchUngrp) ||\r\n (this.props.textDisplayProp && !this.state.searchUngrp)\r\n ) {\r\n this.handleSearchService();\r\n }\r\n return (\r\n \r\n {(providerData) => {\r\n const haveContextData = this.context && this.context.existingState;\r\n let selectedServices = haveContextData\r\n ? this.context.existingState.selectedServices\r\n : {};\r\n let estimatedMin = haveContextData\r\n ? this.context.existingState.estimatedMin\r\n : 0;\r\n let estimatedMax = haveContextData\r\n ? this.context.existingState.estimatedMax\r\n : 0;\r\n let TBDArr = haveContextData ? haveContextData.TBDArr : [];\r\n let TBData = !!TBDArr ? TBDArr : [];\r\n let showNextBtn = handleShowNextBtn(selectedServices);\r\n\r\n if (isNaN(estimatedMin)) {\r\n estimatedMin = 0;\r\n }\r\n if (isNaN(estimatedMax)) {\r\n estimatedMax = 0;\r\n }\r\n let estimatedCost = \"\";\r\n\r\n if (TBData.length > 0) {\r\n estimatedCost = \"TBD\";\r\n } else {\r\n estimatedCost =\r\n parseInt(estimatedMin) === parseInt(estimatedMax)\r\n ? `$ ${estimatedMin}`\r\n : `$ ${estimatedMin} - ${estimatedMax}`;\r\n }\r\n\r\n const estimatedCostColor =\r\n estimatedCost === \"$ 0\" ? \"total-cost\" : \"total-cost-colored\";\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n {this.props.showText && (\r\n Please select one of the following services.\r\n )}\r\n {/* this.handleInput(e)} />*/}\r\n
    \r\n {services.length < 1 && (\r\n

    \r\n Please select technology to see the list of available\r\n services.\r\n

    \r\n )}\r\n
      \r\n \r\n {showService.map((groupItem, index) => {\r\n let serviceGroupName = groupItem.ServiceProviderTeam;\r\n let groupServices = groupItem.Services || 0;\r\n let contextServiceCounter = `${groupItem.ServiceProviderTeam}`;\r\n let techId = `${\r\n providerData &&\r\n providerData.existingState &&\r\n providerData.existingState.technologyId\r\n }`;\r\n let selectedServiceCount =\r\n this.props.serviceGroupCount &&\r\n this.props.serviceGroupCount[contextServiceCounter];\r\n return (\r\n \r\n {groupServices.length > 0 &&\r\n groupServices.map((el) => {\r\n let selectedServiceID =\r\n selectedServices &&\r\n Object.keys(selectedServices).includes(\r\n el.ID.toString()\r\n )\r\n ? true\r\n : false;\r\n let rowKey = `${el.ID}-${\r\n providerData &&\r\n providerData.existingState &&\r\n providerData.existingState.technologyId\r\n }`;\r\n const displayableCost =\r\n el.CostMin === 0 && el.CostMax === 0\r\n ? \"Free\"\r\n : el.CostMin === -1 && el.CostMax === -1\r\n ? \"TBD\"\r\n : el.CostMin > 0 && el.CostMin === el.CostMax\r\n ? `$ ${el.CostMin}`\r\n : `$ ${el.CostMin} - ${el.CostMax}`;\r\n return (\r\n \r\n
      \r\n {\r\n this.handleCheckBox(e);\r\n }}\r\n value={false}\r\n name={\"el.Name\"}\r\n title={el.Name}\r\n id={el.ID}\r\n costmin={el.CostMin}\r\n costmax={el.CostMax}\r\n havechild={\"false\"}\r\n defaultChecked={selectedServiceID}\r\n advform={el.AdvanceForm}\r\n groupindex={index}\r\n grpname={serviceGroupName}\r\n disabled={!el.IsActive}\r\n groupname={groupItem.ServiceProviderTeam}\r\n />\r\n \r\n {el.Name}\r\n {el.AdditionalInfoForService && (\r\n {\r\n this.showAdditionInfo(\r\n el.ID,\r\n el.AdditionalInfoForService\r\n );\r\n }}\r\n title=\"Service-info\"\r\n >\r\n )}\r\n\r\n {!!this.state[\r\n `${el.ID}-systemAction-popup`\r\n ] &&\r\n el.ID === this.state.popupId && (\r\n {\r\n this.handleClose();\r\n }}\r\n handleOk={() => {\r\n this.handleClose();\r\n }}\r\n extraClass=\"additonal-information-modal\"\r\n showOkButton={false}\r\n >\r\n {\r\n this.handleClose();\r\n }}\r\n >\r\n \r\n )}\r\n \r\n \r\n
      \r\n {parse(el.Description)}

      \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 this.handleSubmit();\r\n }}\r\n data-tut=\"service-select\"\r\n />\r\n
    \r\n \r\n );\r\n }}\r\n
    \r\n );\r\n }\r\n}\r\nInternalServiceSelection.contextType = RequestContext;\r\nexport default InternalServiceSelection;","import React, { Component, Fragment } from 'react';\r\nimport \"./progress-bar.scss\";\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\";\r\nimport * as Constant from \"../../../components/constants/constant\";\r\nimport { toUpper } from 'lodash';\r\n\r\nclass ProgressBar extends Component {\r\n grouping = selectedServices => {\r\n if (selectedServices) {\r\n const result = Object.values(selectedServices).reduce(function (r, a) {\r\n if ( (a.haveChild === 'true' && a.selectedChildId > 0) || (a.haveChild === 'false') ) {\r\n r[a.grpName] = r[a.grpName] || [];\r\n r[a.grpName].push(a);\r\n } \r\n return r;\r\n }, Object.create(null));\r\n return result\r\n }\r\n return null\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {providerData => {\r\n let technology = providerData && providerData.existingState ? providerData.existingState.technology : \"\",\r\n selectedServices = providerData && providerData.existingState ? providerData.existingState.selectedServices : {},\r\n estimatedMax = providerData && providerData.existingState ? providerData.existingState.estimatedMax : \"\",\r\n estimatedMin = providerData && providerData.existingState ? providerData.existingState.estimatedMin : \"\", \r\n TBDArr = providerData && providerData.existingState ? providerData.existingState.TBDArr : []\r\n const { scenario, defaultTechnology, textDisplay, fromSearch } = this.props\r\n const stepProgressClass = 'step-progress-item'\r\n const stepProgressIsDoneClass = 'step-progress-item is-done'\r\n let haveChild = true\r\n let TBData = !!TBDArr ? TBDArr : []\r\n let estimatedCost = '$ 0' \r\n if (selectedServices && Object.values(selectedServices).length > 0) {\r\n if (TBData.length > 0) {\r\n estimatedCost = 'TBD'\r\n }\r\n else if ( toUpper(Object.values(selectedServices)[0].serviceName) === toUpper(\"GenWizard for SAP - Sandbox Access\"))\r\n {\r\n estimatedCost = parseInt(estimatedMin) === parseInt(estimatedMax) ? `$ ${estimatedMin} (per user/ month)` : `$ ${estimatedMin} - ${estimatedMax} (per user/ month) `\r\n\r\n } \r\n \r\n else {\r\n \r\n estimatedCost = parseInt(estimatedMin) === parseInt(estimatedMax) ? `$ ${estimatedMin}` : `$ ${estimatedMin} - ${estimatedMax}`\r\n }\r\n }\r\n let serGrouping = this.grouping(selectedServices)\r\n\r\n return (\r\n
    \r\n
    \r\n \"right-pointer-arrow\"\r\n Summary\r\n
    \r\n
      \r\n {!fromSearch &&
    • SCENARIO

      {scenario ? scenario :

      You haven't selected any scenario yet

      }
    • }\r\n
    • TECHNOLOGY

      {technology ? technology : defaultTechnology}
    • \r\n {serGrouping && Object.values(serGrouping).length > 0 ?\r\n < li className={`service ${stepProgressIsDoneClass}`}>

      SERVICES

      \r\n
        \r\n {textDisplay ?\r\n (serGrouping && Object.entries(serGrouping).map(([key, val], srIndex) => {\r\n return (\r\n
      • {key}\r\n {val.map((el, index) => {\r\n return - {el.serviceName} {el.selectedChildName ? `- ${el.selectedChildName} ` : null}\r\n })}\r\n
      • \r\n )\r\n })\r\n )\r\n : (serGrouping && Object.entries(serGrouping).map(([key, val], srIndex) => {\r\n return (\r\n \r\n {val.map((el, index) => {\r\n return
      • {el.serviceName} {el.selectedChildName ? `- ${el.selectedChildName} ` : null}
      • \r\n })}\r\n
        \r\n )\r\n }))\r\n }\r\n
      \r\n \r\n :\r\n
    • SERVICES

      You haven't selected any services yet
    • \r\n }\r\n
    • 0 && haveChild) ? stepProgressIsDoneClass : stepProgressClass}>\r\n

      ESTIMATED COST

      \r\n {estimatedCost ? estimatedCost : `$0`}\r\n
    • \r\n {/*
    • FORM

    • */}\r\n
    \r\n
    \r\n )\r\n }}\r\n
    )\r\n }\r\n}\r\nProgressBar.contextType = RequestContext;\r\nexport default ProgressBar;","export const loadComponentDetails = (evt, formName) => {\r\n if(formName !== \"workday-form\"){\r\n let i, tabcontent, tablinks;\r\n tablinks = document.getElementsByClassName(\"tablinks\");\r\n tabcontent = document.getElementsByClassName(\"tabcontent\");\r\n \r\n for (i = 0; i < tabcontent.length; i++) {\r\n tabcontent[i].style.display = \"none\";\r\n }\r\n for (i = 0; i < tablinks.length; i++) {\r\n tablinks[i].className = tablinks[i].className.replace(\" active\", \"\");\r\n }\r\n if (document.getElementById(formName)) {\r\n document.getElementById(formName).style.display = \"block\";\r\n evt.currentTarget.className += \" active\";\r\n }\r\n }\r\n}\r\n// formName !== \"sales-advisory-request\"","import React, { Component, Fragment } from \"react\";\r\nimport \"./sap-demo-form.scss\";\r\nimport additionFormSchema from \"../../../assets/data/sap-form\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { addDays } from \"date-fns\";\r\nimport { setErrorMessages, resetStates } from \"../../../components/validators/validate\";\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\"\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport { validate, validateInput } from \"./sap-form-validation\"\r\nimport { setInitialStates } from \"../common-functionality-forms/form-common-functionality\"\r\nimport { Constant, CustomButton, DatePicker, CustomTextArea, Modal, dateFormat, Cart, Spinner } from \"../common-functionality-forms/form-imports\";\r\n\r\nclass SAPDemoForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleInput = this.handleInput.bind(this);\r\n this.handleClearForm = this.handleClearForm.bind(this);\r\n this.handleOnClickBack = this.handleOnClickBack.bind(this);\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n }\r\n componentWillMount() {\r\n this.setDefaultStates();\r\n }\r\n\r\n componentDidMount() {\r\n this.getFormData();\r\n this.props.setScreenName({ screenName: \"sapForm\" })\r\n }\r\n\r\n setDefaultStates() {\r\n this.setState({\r\n resetPopup: false, submitPopup: false, showSpinner: true, data: additionFormSchema ? additionFormSchema.Config : [],\r\n industryListJson: [], index: this.props.formIndex, setDataFromContext: false,\r\n cartError: true,\r\n })\r\n }\r\n\r\n async handleInput(e) {\r\n let { name, value } = e.target;\r\n value = value.split(\" \").join(\"\");\r\n\r\n if (name === \"ListOfUserEmails\") {\r\n value = value.toLowerCase();\r\n }\r\n await this.setState({\r\n [name]: value\r\n });\r\n this.validateInput(name)\r\n }\r\n\r\n handlePlannedStartDate(date) {\r\n this.setState({\r\n PlannedStartDate: date,\r\n PlannedEndDate: addDays(date, 15)\r\n });\r\n }\r\n\r\n handleDateChangeRaw = (e) => {\r\n e.preventDefault();\r\n }\r\n\r\n getFormData() {\r\n if (this.state.data && this.state.data.length > 0) this.setInitialStates()\r\n this.getIndustries()\r\n }\r\n\r\n async getIndustries() {\r\n const response = await getData({ serviceName: `PopulateAdvanceForm?AdvanceForm=SAP` });\r\n const { success, error, isInfo } = await response;\r\n if (success) {\r\n await this.setState({\r\n industryListJson: response.data && response.data.Industry,\r\n labelListJson: response.data && response.data.Label,\r\n showSpinner: false\r\n }\r\n );\r\n } else {\r\n await this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n handleClearCart(val) {\r\n this.setState({\r\n clearCart: val\r\n })\r\n }\r\n handleClearForm(e) {\r\n e.preventDefault();\r\n this.setState({ resetPopup: true });\r\n }\r\n\r\n async resetFields() {\r\n let sapFormData = this.context && this.context.existingState ? this.context.existingState.sapFormData : {}\r\n let basicFormData = this.context && this.context.existingState ? this.context.existingState.basicFormData : {}\r\n let PlannedStartDate = basicFormData && basicFormData.ClientDemoDate ? new Date(basicFormData.ClientDemoDate) : ''\r\n const resetFields = resetStates(this.state)\r\n await this.setState({\r\n ...resetFields,\r\n PlannedStartDate: sapFormData && sapFormData.PlannedStartDate ? new Date(sapFormData.PlannedStartDate) : PlannedStartDate,\r\n PlannedEndDate: sapFormData && sapFormData.PlannedEndDate ? new Date(sapFormData.PlannedEndDate) : PlannedStartDate ? addDays(PlannedStartDate, 15) : '',\r\n })\r\n await this.context.addSelectedData({ sapFormData: {} });\r\n await this.setState({ setDataFromContext: true, clearCart: true });\r\n }\r\n\r\n async setInitialStates() {\r\n const formFields = this.state.data\r\n let sapFormData = this.context && this.context.existingState ? this.context.existingState.sapFormData : {}\r\n let basicFormData = this.context && this.context.existingState ? this.context.existingState.basicFormData : {}\r\n this.setState({basicFormData:basicFormData})\r\n const stateData = setInitialStates(formFields, sapFormData)\r\n this.setStates(stateData)\r\n let PlannedStartDate = basicFormData && basicFormData.ClientDemoDate ? new Date(basicFormData.ClientDemoDate) : '',\r\n PlannedEndDate = ''\r\n if (sapFormData && sapFormData.PlannedStartDate) {\r\n PlannedStartDate = new Date(sapFormData.PlannedStartDate)\r\n PlannedEndDate = addDays(PlannedStartDate, 15)\r\n this.setState({\r\n PlannedStartDateError: \"\",\r\n PlannedEndDateError: \"\"\r\n })\r\n }\r\n await this.setState({\r\n PlannedStartDate: PlannedStartDate,\r\n PlannedEndDate: PlannedEndDate\r\n })\r\n }\r\n\r\n async setStates(states) {\r\n await this.setState({\r\n ...states\r\n })\r\n }\r\n validateInput(name) {\r\n let { fieldError, haveError } = validateInput(name, this.state)\r\n this.setStates(fieldError)\r\n return !haveError\r\n }\r\n\r\n async setErrorStates(stateWithError) {\r\n await this.setState({\r\n ...stateWithError\r\n })\r\n }\r\n\r\n async handleFormSubmit(event) {\r\n event.preventDefault()\r\n const stateWithError = setErrorMessages(this.state)\r\n this.setErrorStates(stateWithError)\r\n let { fieldError, haveError } = validate(this.state)\r\n this.setStates(fieldError)\r\n await this.setState({ validateCart: true })\r\n if (!haveError && !this.state.cartError) {\r\n await this.tabCollectingData()\r\n }\r\n }\r\n\r\n async tabCollectingData() {\r\n let tempArr = {}\r\n const formFields = this.state.data;\r\n formFields.map((form) => {\r\n const { FormKey } = form\r\n const name = FormKey\r\n if (name === 'ListOfUserEmails') {\r\n let ListOfUserEmails = this.state[name].split(\"\\n\").join(\"\");\r\n tempArr = {\r\n ...tempArr,\r\n [name]: ListOfUserEmails\r\n }\r\n } else {\r\n tempArr = {\r\n ...tempArr,\r\n [name]: this.state[name]\r\n }\r\n }\r\n\r\n return null\r\n })\r\n\r\n let contextData = this.context && this.context.existingState ? this.context.existingState.sapFormData : {}\r\n if (contextData.Industry) {\r\n let cartObj = {\r\n cartDetails: !!contextData && contextData.cartDetails,\r\n cartArr: !!contextData && contextData.cartArr\r\n }\r\n\r\n //Prepare Obj for submit API\r\n let tmpObjForSelectedSystems = {}\r\n Object.entries(contextData.cartDetails).reduce((acc, currentVal) => {\r\n let systemArr = []\r\n let systemIdsObj = {}\r\n currentVal[1].map((val) => {\r\n systemIdsObj = {\r\n systemId: val.id\r\n }\r\n systemArr.push(systemIdsObj)\r\n return null\r\n })\r\n\r\n tmpObjForSelectedSystems = {\r\n ...tmpObjForSelectedSystems,\r\n [currentVal[0]]: {\r\n ...tmpObjForSelectedSystems.currentVal,\r\n landscapeId: currentVal[0],\r\n Systems: systemArr\r\n }\r\n }\r\n return [...acc]\r\n }, [])\r\n\r\n let SAPSystems = {\r\n industryId: contextData.Industry.toString(),\r\n Landscape: Object.values(tmpObjForSelectedSystems)\r\n }\r\n let dateObj = {\r\n PlannedStartDate: dateFormat(this.state.PlannedStartDate, \"isoDate\"),\r\n PlannedEndDate: dateFormat(this.state.PlannedEndDate, \"isoDate\"),\r\n }\r\n\r\n let sapFormData = {\r\n ...contextData,\r\n ...tempArr,\r\n ...dateObj,\r\n ...cartObj,\r\n SAPSystems\r\n }\r\n await this.context.addSelectedData({ sapFormData: sapFormData, isValidSAPformData: true,basicFormData:this.state.basicFormData });\r\n }\r\n\r\n if (this.props.btnLbl === 'Submit') {\r\n this.props.handleSubmit()\r\n } else if (this.props.btnLbl === \"Next\") {\r\n this.props.handleBtnClick(this.state.index + 1)\r\n }\r\n }\r\n\r\n handleOnClickBack() {\r\n this.props.handleBtnClick(this.state.index - 1)\r\n }\r\n\r\n enableErrorPopup = (error, isInfo) => {\r\n this.setState({ showErrorPopup: true, isInfo, error: error, showSpinner: false })\r\n }\r\n\r\n isCartError = (isError) => {\r\n this.setState({ cartError: isError, validateCart: false })\r\n }\r\n handleSetDataFromContext = () => {\r\n this.setState({ setDataFromContext: false })\r\n }\r\n render() {\r\n const formFields = this.state.data;\r\n return (\r\n \r\n {contextData => {\r\n let basicFormData = contextData && contextData.existingState ? contextData.existingState.basicFormData : {}\r\n let PlannedStartDate = basicFormData && basicFormData.ClientDemoDate ? new Date(basicFormData.ClientDemoDate) : ''\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {formFields.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`\r\n if (form.FormKey === \"PlannedStartDate\") {\r\n return (\r\n \r\n
    \r\n \r\n

    \r\n this.handlePlannedStartDate(date)} //only when value has changed\r\n minDate={PlannedStartDate ? addDays(new Date(PlannedStartDate), 0) : addDays(new Date(), 0)}\r\n maxDate={PlannedStartDate ? addDays(new Date(PlannedStartDate), 31) : addDays(new Date(), 31)}\r\n dateFormat=\"dd-MMM-yyyy\"\r\n placeholderText=\"DD-MMM-YYYY\"\r\n onChangeRaw={this.handleDateChangeRaw}\r\n />\r\n {this.state.PlannedStartDate ? '' : !!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"PlannedEndDate\") {\r\n return (\r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n )\r\n }\r\n return null\r\n })}\r\n
    \r\n

    \"Info\" Standard SAP demo access is provided for 2 weeks starting from the day the access is granted. This duration may vary as per the industry and the system selected.

    \r\n\r\n
    \r\n
    \r\n {formFields.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`\r\n if (form.FieldType === \"textArea\") {\r\n return (\r\n \r\n

    \r\n \r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n )\r\n }\r\n return null\r\n })}\r\n
    \r\n\r\n
    \r\n
    { this.handleClearCart(val) }} showError={(isError) => { this.isCartError(isError) }}\r\n validateCart={this.state.validateCart} setDataFromContext={this.state.setDataFromContext} handleSetDataFromContext={this.handleSetDataFromContext} />
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.state.resetPopup && (\r\n {\r\n this.setState({ resetPopup: false, setDataFromContext: true });\r\n }}\r\n handleClose={() => {\r\n this.setState({ resetPopup: false });\r\n this.resetFields();\r\n }}>\r\n

    Are you sure you want to reset this page?

    \r\n \r\n )}\r\n {this.state.showSpinner && }\r\n {this.state.showAlertDuplicateDetails &&\r\n {\r\n this.setState({ showAlertDuplicateDetails: false });\r\n }} buttonPosition=\"center-button\"> Some selected system(s) already been added in the cart. }\r\n {this.state.mandatorySysRemoveAlert &&\r\n {\r\n this.setState({ mandatorySysRemoveAlert: false });\r\n }} buttonPosition=\"center-button\"> You have removed mandatory system hence other associated systems also might get removed if any. }\r\n
    \r\n );\r\n }}\r\n
    \r\n );\r\n }\r\n}\r\nSAPDemoForm.contextType = RequestContext;\r\nexport default SAPDemoForm","import {\r\n validateWithPattern,\r\n isFormFieldsValid,\r\n} from \"../../../components/validators/validate\";\r\nimport _ from \"lodash\";\r\n\r\nexport const validateBasicForm = (formState) => {\r\n let isError = false;\r\n // let tempValue = formState.ClientName && formState.ClientName.trim(); // trimming white space while validating\r\n let tempObj = {};\r\n let inValideMessage = \"\";\r\n //const isClientNameValid = validateFieldsByPattern({ keyName: 'ClientName', value: tempValue, formState })\r\n if (formState.ClientError) {\r\n if (formState.ClientName === \"\")\r\n inValideMessage = \"This is a required field.\";\r\n else inValideMessage = \"Client name is invalid.\";\r\n tempObj = {\r\n ...tempObj,\r\n ClientNameError: inValideMessage,\r\n };\r\n isError = true;\r\n }\r\n const isDescriptionValid = validateFieldsByPattern({\r\n keyName: \"Description\",\r\n value: formState.Description,\r\n formState,\r\n });\r\n if (\r\n formState.Description.length < 20 ||\r\n formState.Description.length > 1000\r\n ) {\r\n let inValideDescMessage = \"\";\r\n inValideDescMessage = \"Description is invalid.\";\r\n tempObj = {\r\n ...tempObj,\r\n DescriptionError: inValideDescMessage,\r\n };\r\n isError = true;\r\n }\r\n\r\n if (\r\n (formState.AccessReason.length < 20 &&\r\n formState.AccessReason.length !== 0) ||\r\n formState.AccessReason.length > 1000\r\n ) {\r\n let inValideAccessReasonMessage = \"\";\r\n inValideAccessReasonMessage = \"Access Reason is invalid.\";\r\n tempObj = {\r\n ...tempObj,\r\n AccessReasonError: inValideAccessReasonMessage,\r\n };\r\n isError = true;\r\n }\r\n\r\n if (formState.LeadDetails) {\r\n let inValidLeadDetailsMessage = \"\";\r\n const pattern =\r\n /^[a-zA-Z0-9_.+-]+@(?:(?:[a-zA-Z0-9-]+\\.)?[a-zA-Z]+\\.)?(avanade|accenture)\\.com$/;\r\n if (formState.LeadDetails && !pattern.test(formState.LeadDetails)) {\r\n inValidLeadDetailsMessage = \"Lead Details is invalid.\";\r\n tempObj = {\r\n ...tempObj,\r\n LeadDetailsError: inValidLeadDetailsMessage,\r\n };\r\n isError = true;\r\n }\r\n }\r\n\r\n if (!isDescriptionValid) {\r\n let inValideDescReqdMessage = \"\";\r\n if (formState.Description === \"\")\r\n inValideDescReqdMessage = \"This is a required field.\";\r\n else inValideDescReqdMessage = \"Description is invalid.\";\r\n tempObj = {\r\n ...tempObj,\r\n DescriptionError: inValideDescReqdMessage,\r\n };\r\n isError = true;\r\n }\r\n const isDealSizeValid = validateFieldsByPattern({\r\n keyName: \"DealSize\",\r\n value: formState.DealSize,\r\n formState,\r\n });\r\n if (formState.DealSize > 1000 || parseFloat(formState.DealSize) === 0) {\r\n let inValideDealSizePatternMessage = \"\";\r\n inValideDealSizePatternMessage = \"Dealsize is invalid.\";\r\n tempObj = {\r\n ...tempObj,\r\n DealSizeError: inValideDealSizePatternMessage,\r\n };\r\n isError = true;\r\n }\r\n if (!isDealSizeValid && formState.DealSize !== \"\") {\r\n let inValideDealSizeMessage = \"\";\r\n inValideDealSizeMessage = \"Dealsize is invalid.\";\r\n tempObj = {\r\n ...tempObj,\r\n DealSizeError: inValideDealSizeMessage,\r\n };\r\n isError = true;\r\n }\r\n\r\n // if (formState.OpportunityID && formState.oppIdList && formState.oppIdList.length ===0) {\r\n // const isOppurtunityId = validateFieldsByPattern({ keyName: 'OpportunityID', value: formState.OpportunityID, formState })\r\n // if ( formState.OpportunityID.length < 10 || formState.OpportunityID.length > 10) {\r\n // let inValideOpportunityIDPatternMessage = ''\r\n // inValideOpportunityIDPatternMessage = \"Only numeric value with 10 digits.\"\r\n // tempObj = {\r\n // ...tempObj,\r\n // OpportunityIDError: inValideOpportunityIDPatternMessage\r\n // }\r\n // isError = true\r\n // }\r\n // }\r\n if (formState.isExplore) {\r\n console.log(\"print\");\r\n let inValideOpportunityIDRequiredMessage = \"\";\r\n tempObj = {\r\n ...tempObj,\r\n OpportunityIDError: inValideOpportunityIDRequiredMessage,\r\n };\r\n }\r\n if (\r\n !formState.isExplore &&\r\n formState.oppIdList &&\r\n formState.oppIdList.length !== 0 &&\r\n !formState.OpportunityID\r\n ) {\r\n let inValideOpportunityIDRequiredMessage = \"\";\r\n inValideOpportunityIDRequiredMessage = \"This is a required field.\";\r\n tempObj = {\r\n ...tempObj,\r\n OpportunityIDError: inValideOpportunityIDRequiredMessage,\r\n };\r\n isError = true;\r\n }\r\n\r\n const isEmailId = validateFieldsByPattern({\r\n keyName: \"ClientAccountLead\",\r\n value: formState.ClientAccountLead,\r\n formState,\r\n });\r\n if (!isEmailId && formState.ClientAccountLead !== \"\") {\r\n let inValideEmailIDMessage = \"\";\r\n inValideEmailIDMessage = \"Email id is invalid.\";\r\n tempObj = {\r\n ...tempObj,\r\n ClientAccountLeadError: inValideEmailIDMessage,\r\n };\r\n isError = true;\r\n }\r\n\r\n if (formState.Industry === \"\" && formState.FunctionalArea === \"\") {\r\n let inValideIndustryOrFunctionalAreaMessage =\r\n \"Please select either Industry or Functional Area\";\r\n tempObj = {\r\n ...tempObj,\r\n IndustryError: inValideIndustryOrFunctionalAreaMessage,\r\n FunctionalAreaError: inValideIndustryOrFunctionalAreaMessage,\r\n };\r\n isError = true;\r\n }\r\n if (formState.ServiceType === \"\" && formState.isTypeOfServiceVisible) {\r\n let inValideServiceTypeMessage = \"This is a required Field\";\r\n tempObj = {\r\n ...tempObj,\r\n ServiceTypeError: inValideServiceTypeMessage,\r\n };\r\n isError = true;\r\n }\r\n\r\n // if (formState.selectedAssets.length !== 0 && formState.IsAssetTypeVisibleList[0] === \"isAssetTypeVisible\") {\r\n // // The selectedAssets array is not empty, so the condition is false\r\n // // console.log(\"Setting AssetTypeError\");\r\n // } else\r\n if (\r\n formState.selectedAssets.length === 0 &&\r\n formState.IsAssetTypeVisibleList[0] === \"isAssetTypeVisible\"\r\n ) {\r\n // The selectedAssets array is empty, so set the error message\r\n let AssetErrorMessage = \"This is a required field\";\r\n tempObj = {\r\n ...tempObj,\r\n AssetTypeError: AssetErrorMessage,\r\n };\r\n isError = true;\r\n }\r\n\r\n const isWbsValid = validateFieldsByPattern({\r\n keyName: \"WBS\",\r\n value: formState.WBS,\r\n formState,\r\n });\r\n if (!isWbsValid) {\r\n let inValideWBSMessage = \"\";\r\n if (formState.WBS.length > 10) {\r\n inValideWBSMessage = formState.wbsApiError || \"\";\r\n isError = true;\r\n }\r\n tempObj = {\r\n ...tempObj,\r\n WBSError: inValideWBSMessage,\r\n };\r\n }\r\n let FunctionalName =\r\n formState.FunctionalArea && formState.functionalAreaList\r\n ? formState.functionalAreaList.find(\r\n (func) => func.ID === formState.FunctionalArea\r\n )\r\n : \"\";\r\n let ProjectPhaseName =\r\n formState.projectPhaseList && formState.ProjectPhase\r\n ? formState.projectPhaseList.find(\r\n (func) => func.ID === formState.ProjectPhase\r\n )\r\n : \"\";\r\n\r\n let ClientNameFlag = _.isEqual(\r\n formState.wbsValidationList[0].KeyValue,\r\n formState.ClientName\r\n );\r\n let FunctionalFlag =\r\n formState.FunctionalArea && formState.functionalAreaList\r\n ? _.isEqual(\r\n formState.wbsValidationList[2].KeyValue.toUpperCase(),\r\n FunctionalName ? FunctionalName.Name.toUpperCase() : \"\"\r\n \r\n )\r\n : \"\";\r\n let ProjectFlag =\r\n formState.projectPhaseList && formState.ProjectPhase && ProjectPhaseName\r\n ? _.isEqual(\r\n formState.wbsValidationList[1].KeyValue.toUpperCase(),\r\n ProjectPhaseName.Name.toUpperCase()\r\n )\r\n : \"\";\r\n\r\n if (!formState.validWBS && !formState.wbsOptional) {\r\n let inValideWBSRequiredMessage = \"\";\r\n if (\r\n formState.WBS === \"\" &&\r\n (!formState.isIgnoreWBSValidation ||\r\n !ClientNameFlag ||\r\n !FunctionalFlag ||\r\n !ProjectFlag)\r\n ) {\r\n inValideWBSRequiredMessage =\r\n \"This is a required field as there is a chargeable service selected.\";\r\n isError = true;\r\n }\r\n if (formState.wbsApiError && formState.WBS !== \"\") {\r\n isError = true;\r\n }\r\n if (\r\n formState.isIgnoreWBSValidation &&\r\n ClientNameFlag &&\r\n FunctionalFlag &&\r\n ProjectFlag &&\r\n (formState.WBS === \"\" || formState.WBS !== \"\")\r\n ) {\r\n isError = false;\r\n }\r\n tempObj = {\r\n ...tempObj,\r\n WBSError: inValideWBSRequiredMessage,\r\n };\r\n }\r\n\r\n if (formState.wbsApiError && formState.wbsOptional) {\r\n let inValideWBSAPIMessage = \"\";\r\n if (formState.WBS !== \"\" && formState.wbsApiError) {\r\n isError = true;\r\n }\r\n tempObj = {\r\n ...tempObj,\r\n WBSError: inValideWBSAPIMessage,\r\n };\r\n }\r\n\r\n if (!isFormFieldsValid(formState)) isError = true;\r\n return {\r\n fieldError: tempObj,\r\n haveError: isError,\r\n };\r\n};\r\n\r\nexport const validateFieldsByPattern = ({\r\n keyName = \"\",\r\n pattern,\r\n value,\r\n formState,\r\n}) => {\r\n if (keyName !== \"\") {\r\n let requirFields = [];\r\n requirFields =\r\n formState.data &&\r\n formState.data.filter(function (formFields) {\r\n return formFields.FormKey === keyName;\r\n });\r\n pattern =\r\n requirFields &&\r\n requirFields.length > 0 &&\r\n requirFields[0].Validations.Pattern;\r\n }\r\n return validateWithPattern({ pattern, value });\r\n};\r\n\r\nexport const validateInput = (name, formData) => {\r\n let requirFields =\r\n formData.data &&\r\n formData.data.filter(function (formFields) {\r\n return formFields.FormKey === name;\r\n });\r\n if (requirFields && requirFields.length > 0) {\r\n let errorkey = `${requirFields[0].FormKey}Error`,\r\n errorMessage = \"\",\r\n response = true;\r\n if (formData[name] === \"\") {\r\n errorMessage = requirFields[0].ValidationMessages.RequiredMessage;\r\n response = false;\r\n } else {\r\n const Services = [\r\n \"ClientName\",\r\n \"ClientAccountLead\",\r\n \"WBS\",\r\n \"DealSize\",\r\n \"Description\",\r\n ];\r\n let result = Services.includes(name);\r\n if (result) {\r\n const isValid = validateFieldsByPattern({\r\n pattern: requirFields[0].Validations.Pattern,\r\n value: formData[name],\r\n formState: formData,\r\n });\r\n if (!isValid) {\r\n errorMessage = requirFields[0].ValidationMessages.PatternMessage;\r\n }\r\n }\r\n if (name === \"DealSize\" && formData[name] > 1000) {\r\n errorMessage = requirFields[0].ValidationMessages.LimitMessage;\r\n }\r\n if (name === \"DealSize\" && parseFloat(formData[name]) === 0) {\r\n errorMessage = requirFields[0].ValidationMessages.ZeroMessage;\r\n }\r\n if (name === \"Description\" && formData[name].length < 20) {\r\n errorMessage = requirFields[0].ValidationMessages.MinDescription;\r\n }\r\n if (name === \"Description\" && formData[name].length > 1000) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription;\r\n }\r\n // if (name === 'OpportunityID' && formData[name].length > 10 && formData.oppIdList && formData.oppIdList.length ===0) {\r\n // errorMessage = requirFields[0].ValidationMessages.LimitMessage\r\n // }\r\n\r\n if (name === \"OpportunityID\") {\r\n let regex = /[a-zA-Z]/g;\r\n if (formData[name].match(regex)) {\r\n errorMessage = requirFields[0].ValidationMessages.PatternMessage;\r\n } else if (formData[name].length < 6) {\r\n errorMessage = requirFields[0].ValidationMessages.LimitMessage;\r\n }\r\n }\r\n if (name === \"WBS\" && formData[name].length > 10) {\r\n errorMessage = requirFields[0].ValidationMessages.LimitMessage;\r\n }\r\n }\r\n return {\r\n fieldError: {\r\n [errorkey]: errorMessage,\r\n },\r\n haveError: response,\r\n };\r\n }\r\n return true;\r\n};\r\n","import React, { Component } from \"react\";\r\nimport \"./file-attachment.scss\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport { getTokenData } from \"../../../api/sessionConfig\";\r\nimport * as Constant from \"../../../components/constants/constant\";\r\nimport Tootltip from \"../../../components/tool-tip/tool-tip\"\r\nimport { checkValidFile } from \"../../../containers/common/attachment-validation\";\r\nimport CustomButton from \"../../../components/button/nextbutton\";\r\n\r\nimport dateFormat from \"dateformat\";\r\nconst fileStyle = {\r\n display: 'none'\r\n};\r\nclass FileAttachment extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showTable: props.selectedFile && props.selectedFile.length > 0,\r\n selectedFile: props.selectedFile || [],\r\n isError: false,\r\n fileIndex:0,\r\n removeAttachmentPopUp:false\r\n };\r\n // this.cancelAttachment = this.cancelAttachment.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || ''\r\n this.setState({\r\n eid: eid\r\n })\r\n }\r\n\r\n cancelAttachment = (event) => {\r\n event.preventDefault();\r\n this.props.attachmenData(this.state.selectedFile)\r\n this.setState({ showFileAttachPopup: !this.state.showFileAttachPopup });\r\n }\r\n\r\n uploadFile(e) {\r\n this.setState({ error: \"\" });\r\n const fileValidation = checkValidFile(e, this.state.selectedFile)\r\n const { error, isError } = fileValidation\r\n if (isError) {\r\n this.setState({ error })\r\n } else {\r\n this.handleFile(e)\r\n }\r\n }\r\n\r\n handleconfirmDeleteAttachment = async (a,idx) => {\r\n await this.setState({ removeAttachmentPopUp: true , fileIndex:idx,e:a});\r\n }\r\n\r\n async handleFile(e) {\r\n let tempObj = this.state.selectedFile ? [...this.state.selectedFile] : []\r\n tempObj.push(e.target.files[0])\r\n await this.setState({\r\n selectedFile: tempObj,\r\n showTable: true\r\n })\r\n }\r\n\r\n handleChange = idx => e => {\r\n const { value } = e.target;\r\n this.setState(Object.assign(this.state.selectedFile[idx], { description: value }));\r\n };\r\n\r\n handleRemoveSpecificRow(e, idx) {\r\n e.preventDefault();\r\n const selectedFile = [...this.state.selectedFile]\r\n selectedFile.splice(idx, 1)\r\n this.setState({ selectedFile,removeAttachmentPopUp: false,error:'' })\r\n }\r\n\r\n splitCoeContact(coe) {\r\n if (coe) {\r\n const splittedCoe = coe.split(\".\");\r\n const coePoc = `${splittedCoe[0][0]}${splittedCoe[splittedCoe.length - 1][0]}`;\r\n return coePoc.toUpperCase();\r\n }\r\n return ''\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n
    \r\n { this.cancelAttachment(e) }}>\r\n
    Attach the Document
    \r\n

    (Upload Document Size Max 20MB)

    \r\n {this.state.error && this.state.error.length > 0 &&\r\n }\r\n \r\n \"Close\" {\r\n this.cancelAttachment(e);\r\n }} />\r\n {!this.state.selectedFile.length > 0 &&\r\n
    \r\n \"\"\r\n

    No files attached.

    \r\n
    }\r\n {this.state.selectedFile.length > 0 && \r\n \r\n \r\n File Name\r\n Description\r\n Uploaded By\r\n Size\r\n Date Added\r\n Delete\r\n \r\n \r\n \r\n {this.state.selectedFile && this.state.selectedFile.length > 0 && this.state.selectedFile.map((item, idx) => {\r\n return (\r\n \r\n {item.name}\r\n \r\n \r\n \r\n {this.splitCoeContact(this.state.eid)}\r\n {this.state.eid}

    }>
    \r\n \r\n {parseFloat((item.size) / 1024 / 1024).toFixed(2) + 'MB'}\r\n {dateFormat(new Date(), \"dd-mmm-yyyy\")}\r\n \r\n this.handleconfirmDeleteAttachment(e, idx)}>\r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n }\r\n
    \r\n \r\n this.uploadFile(e)} style={fileStyle}>\r\n {this.state.selectedFile.length > 0 &&\r\n this.cancelAttachment(e)} />\r\n }\r\n
    \r\n
    \r\n {/* confirmation popup before removing attachment */}\r\n {this.state.removeAttachmentPopUp && { this.setState({ removeAttachmentPopUp: false }) }} handleClose={()=>{this.handleRemoveSpecificRow(this.state.e,this.state.fileIndex)}}>\r\n

    Are you sure you want to remove the attached file ?

    }\r\n\r\n
    \r\n )\r\n }\r\n}\r\nexport default FileAttachment;\r\n","import React from \"react\";\r\n\r\nconst SessionError = props => {\r\n return (\r\n
    \r\n

    We have lost connection to the server, most likely due to session time-out. Please try refreshing the page\r\n to renew the connection.

    \r\n \r\n REFRESH\r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default SessionError;\r\n","import React, { Component, Fragment } from \"react\";\r\nimport \"./basic-form.scss\";\r\nimport basicFormSchema from \"./../../../assets/data/basic-form\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { addDays, lastDayOfMonth } from \"date-fns\";\r\nimport { getData, postData } from \"../../../api/api-manager\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport {\r\n setErrorMessages,\r\n resetStates,\r\n} from \"../../../components/validators/validate\";\r\nimport Popup from \"../../../components/popup/popup\";\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\";\r\nimport { getTokenData } from \"../../../api/sessionConfig\";\r\nimport { validateInput, validateBasicForm } from \"./basic-form-validation\";\r\nimport {\r\n setInitialStates,\r\n setContextData,\r\n getName,\r\n} from \"../common-functionality-forms/form-common-functionality\";\r\nimport FileAttachment from \"./file-attachment\";\r\nimport * as Constant from \"../../../components/constants/constant\";\r\nimport SessionError from \"../../../components/error/sessionError\";\r\nimport Tootltip from \"../../../components/tool-tip/tool-tip\";\r\nimport OutsideClickAlerter from \"../../../components/outside-click-alerter/outside-click-alerter\";\r\n\r\nimport {\r\n CustomReactSelect,\r\n CustomButton,\r\n DatePicker,\r\n CustomTextArea,\r\n Modal,\r\n CustomInput,\r\n dateFormat,\r\n CustomSelect,\r\n Spinner,\r\n RadioButton,\r\n} from \"../common-functionality-forms/form-imports\";\r\nimport { API_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport { getId } from \"../../form/common-functionality-forms/form-common-functionality\";\r\nimport Joyride from \"react-joyride\";\r\n// import Password from \"antd/lib/input/Password\";\r\n//import { deleteMetadata } from \"core-js/fn/reflect\";\r\n\r\nclass BasicForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleInput = this.handleInput.bind(this);\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n this.handleClearForm = this.handleClearForm.bind(this);\r\n this.handleClientDemoDate = this.handleClientDemoDate.bind(this);\r\n this.handleAttachPopUp = this.handleAttachPopUp.bind(this);\r\n this.handleClientNameInput = this.handleClientNameInput.bind(this);\r\n this.state = {\r\n activeIndustry: false,\r\n activeTransformationType: false,\r\n activeProjectPhase: false,\r\n activeFunctionalArea: false,\r\n activeServiceType: false,\r\n activeAssetType: false,\r\n list: false,\r\n userSearchList: [],\r\n oppIdList: [],\r\n showPopup: false,\r\n OppIDPopupVisited: false,\r\n TransformationTypeVisited: false,\r\n isPopChecked: false,\r\n isTransformationPopupChecked: false,\r\n isSales: false,\r\n isDelivery: false,\r\n isExplore: false,\r\n tempState: false,\r\n Tp: false,\r\n selectedAssets: [],\r\n isServiceTypeDDOpen: false,\r\n iPCLoad: \"\",\r\n genWLoad: \"\",\r\n };\r\n }\r\n\r\n componentWillUnmount() {\r\n this.setFormDataOnUnmount();\r\n }\r\n\r\n async setFormDataOnUnmount() {\r\n const existingContextData =\r\n this.context && this.context.existingState\r\n ? this.context.existingState\r\n : {};\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || \"\";\r\n let selectedServices = Object.values(\r\n existingContextData.selectedServices\r\n ).filter(function (service) {\r\n if (service.haveChild === \"true\") {\r\n return service.selectedChildId.length > 0 ? true : false;\r\n }\r\n return true;\r\n });\r\n\r\n let contextData = setContextData(this.state.data, this.state);\r\n\r\n let additionalStateData = {\r\n ClientName: this.state.ClientName,\r\n clientList: this.state.clientList,\r\n OppidPopupSeen: this.state.OppidPopupSeen,\r\n TransformationTypePopupSeen: this.state.TransformationTypePopupSeen,\r\n oppIdLabel: this.state.oppIdLabel,\r\n isExplore: this.state.isExplore,\r\n isDelivery: this.state.isDelivery,\r\n isSales: this.state.isSales,\r\n oppIdPlaceholder: this.oppIdPlaceholder,\r\n error: this.state.error,\r\n validWBS: this.state.validWBS,\r\n validOppId: this.state.validOppId,\r\n inCorrectWBS: this.state.inCorrectWBS,\r\n inCorrectOppId: this.state.inCorrectOppId,\r\n WBSError: this.state.WBSError,\r\n File: this.state.selectedFiles,\r\n prevWBS: this.state.prevWBS,\r\n validWbsArray: this.state.validWbsArray,\r\n technologyOptions: existingContextData.technologyId\r\n ? existingContextData.technologyId\r\n : \"\",\r\n selectedServices: selectedServices,\r\n Eid: eid,\r\n CatID: this.props.catId,\r\n tmpOppId: this.state.OpportunityID,\r\n // OpportunityID:\r\n // this.state.isExplore ||\r\n // (!this.state.dataAvailable && this.state.tempState)\r\n // ?\r\n // : this.state.OpportunityID,\r\n projectPhaseList: this.state.projectPhaseList,\r\n oppIdList: this.state.oppIdList,\r\n };\r\n contextData = { ...contextData, ...additionalStateData };\r\n const isError = this.validate();\r\n await this.context.addSelectedData({\r\n basicFormData: {\r\n ...this.context.existingState.basicFormData,\r\n ...contextData,\r\n },\r\n isValidBasicFormData: !isError,\r\n marketUnitDefault: this.state.marketUnitDefault,\r\n });\r\n }\r\n async componentDidMount() {\r\n this.setDefaultStates();\r\n this.setWbsOption();\r\n await this.getList();\r\n this.GetPopupdata();\r\n this.props.setScreenName({ screenName: \"basicForm\" });\r\n }\r\n\r\n getJoyRideContent = (DoNotShow) => {\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    INFORMATION

    \r\n {/* */}\r\n
    \r\n
    \r\n Owing to security guidelines,{\" \"}\r\n Opportunity ID/Contract ID has been\r\n made a free text field. Henceforth, users need to enter the\r\n opportunity ID/contract ID manually for request creation.\r\n
    \r\n
    \r\n {!!DoNotShow && (\r\n
    \r\n this.handleJoyRideCheckboxClick(e)}\r\n />\r\n Do not show again\r\n
    \r\n )}\r\n\r\n
    \r\n \r\n BACK\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n };\r\n getJoyRideContent1 = () => {\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    INFORMATION

    \r\n
    \r\n
    \r\n Transformation Type is new additional\r\n field and it is Optional to select. You will get a drop down with\r\n possible values for selection.\r\n
    \r\n
    \r\n
    \r\n this.handleJoyRideCheckboxClick1(e)}\r\n />\r\n Do not show again\r\n
    \r\n\r\n
    \r\n \r\n BACK\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n };\r\n\r\n async setDefaultStates() {\r\n let contextData = this.context && this.context.existingState;\r\n let basicFormData = contextData ? contextData.basicFormData : {};\r\n let svcStatus =\r\n this.props.svcStatus === \"Decommissioned\" ||\r\n this.props.svcStatus === \"InActive\"\r\n ? true\r\n : false;\r\n await this.setState({\r\n dataAvailable: false,\r\n showPopup: svcStatus ? false : true,\r\n decommission: svcStatus,\r\n OppidPopupSeen:\r\n basicFormData && basicFormData.OppidPopupSeen\r\n ? basicFormData.OppidPopupSeen\r\n : false,\r\n TransformationTypePopupSeen:\r\n basicFormData && basicFormData.TransformationTypePopupSeen\r\n ? basicFormData.TransformationTypePopupSeen\r\n : false,\r\n resetPopup: false,\r\n submitPopup: false,\r\n showSpinner: true,\r\n data: basicFormSchema ? basicFormSchema.Config : [],\r\n linkPopup: false,\r\n wbsOptional: false,\r\n industryPlaceholder: false,\r\n transformationPlaceholder: false,\r\n openAttachment: false,\r\n technologyOptions: contextData.technologyId\r\n ? contextData.technologyId\r\n : \"\",\r\n geographyList: [],\r\n functionalAreaList: [],\r\n serviceTypeList: [],\r\n assetTypeList: [],\r\n IsAssetTypeVisibleList: [],\r\n industryList: [],\r\n transformationTypeList: [],\r\n marketUnitDefault: contextData.marketUnitDefault\r\n ? contextData.marketUnitDefault\r\n : null,\r\n selectedOption: null,\r\n ClientDemoDate:\r\n basicFormData && basicFormData.ClientDemoDate\r\n ? new Date(basicFormData.ClientDemoDate)\r\n : \"\",\r\n Description:\r\n basicFormData && basicFormData.Description\r\n ? basicFormData.Description\r\n : \"\",\r\n selectedFiles:\r\n basicFormData && basicFormData.File ? basicFormData.File : [],\r\n error: basicFormData && basicFormData.error,\r\n validWBS: basicFormData && basicFormData.validWBS,\r\n validOppId: basicFormData && basicFormData.validOppId,\r\n inCorrectWBS: basicFormData && basicFormData.inCorrectWBS,\r\n inCorrectOppId: basicFormData && basicFormData.inCorrectOppId,\r\n prevWBS: basicFormData && basicFormData.prevWBS,\r\n prevOppId: basicFormData && basicFormData.prevOppId,\r\n // validOppIdArray: (basicFormData && basicFormData.validOppIdArray) || [],\r\n oppIdLabel: basicFormData && basicFormData.oppIdLabel,\r\n isExplore: basicFormData && basicFormData.isExplore,\r\n isDelivery: basicFormData && basicFormData.isDelivery,\r\n isSales: basicFormData && basicFormData.isSales,\r\n validWbsArray: (basicFormData && basicFormData.validWbsArray) || [],\r\n preFilledDescription: \"\",\r\n projectPhaseList: basicFormData && basicFormData.projectPhaseList,\r\n oppIdList: basicFormData && basicFormData.oppIdList,\r\n ClientName: (basicFormData && basicFormData.ClientName) || \"\",\r\n clientList: (basicFormData && basicFormData.clientList) || \"\",\r\n //oppIdLabel: \"Opportunity/Contract ID\",\r\n });\r\n let formFields = this.state.data;\r\n const stateData = await setInitialStates(formFields, basicFormData);\r\n this.setStates(stateData);\r\n await this.handleWbsBlur();\r\n }\r\n\r\n setWbsOption() {\r\n let estimatedMax =\r\n this.context &&\r\n this.context.existingState &&\r\n this.context.existingState.estimatedMax;\r\n let estimatedMin =\r\n this.context &&\r\n this.context.existingState &&\r\n this.context.existingState.estimatedMin;\r\n\r\n if (estimatedMax === 0 && estimatedMin === 0) {\r\n let isOptional = true;\r\n // if (this.props.TBDArr && this.props.TBDArr.length > 0) {\r\n // isOptional = false\r\n // } /** Manoj asked to make WBS mandatory for TBD service so added logic and now asking to remove logic for TBD so commenting this */\r\n this.setState({\r\n wbsOptional: isOptional,\r\n });\r\n }\r\n }\r\n\r\n async getList() {\r\n await this.setState({ showSpinner: true });\r\n let selectedServiceIds =\r\n this.props.selectedServiceIds.length > 0\r\n ? this.props.selectedServiceIds.join()\r\n : \"\";\r\n const response = await getData({\r\n serviceName: `PopulateForm?selectedServices=${selectedServiceIds}&techId=${this.props.technologyId}`,\r\n });\r\n let svcStatus =\r\n this.props.svcStatus === \"Decommissioned\" ||\r\n this.props.svcStatus === \"InActive\"\r\n ? true\r\n : false;\r\n const { success, error, isInfo } = await response;\r\n if (success) {\r\n const {\r\n FunctionalArea,\r\n TypeOfService_DR,\r\n WBSValidation,\r\n Industry,\r\n MarketGroup,\r\n ProjectPhase,\r\n Technology,\r\n Transformation_Type,\r\n IsAssetTypeVisible,\r\n AssetType,\r\n IsIPCLoadVisible,\r\n isCoreTeamMember,\r\n isTypeOfServiceVisible,\r\n isIgnoreWBSValidation,\r\n PrefilledDescription = [],\r\n } = response.data && response.data[0];\r\n\r\n await this.setState({\r\n functionalAreaList: FunctionalArea || [],\r\n wbsValidationList: WBSValidation || [],\r\n serviceTypeList: TypeOfService_DR || [],\r\n assetTypeList: AssetType || [],\r\n industryList: Industry || [],\r\n transformationTypeList: Transformation_Type || [],\r\n marketGroupList: MarketGroup || [],\r\n IsAssetTypeVisibleList: IsAssetTypeVisible || [],\r\n //projectPhaseList:ProjectPhase|| [],\r\n preFilledDescription:\r\n PrefilledDescription.length > 0\r\n ? PrefilledDescription.join(\"\\n\")\r\n : \"\",\r\n Technology: Technology,\r\n showSpinner: false,\r\n showPopup: svcStatus ? false : true,\r\n IsIPCLoadVisible: IsIPCLoadVisible,\r\n isCoreTeamMember: isCoreTeamMember,\r\n isTypeOfServiceVisible: isTypeOfServiceVisible,\r\n isIgnoreWBSValidation: isIgnoreWBSValidation,\r\n });\r\n console.log(ProjectPhase);\r\n } else {\r\n await this.setState({\r\n error: error,\r\n isInfo,\r\n showErrorPopup: true,\r\n showSpinner: false,\r\n });\r\n }\r\n }\r\n\r\n async GetPopupdata() {\r\n let url = \"GetPopupValidationData\";\r\n const response = await getData({ serviceName: url });\r\n const { success } = await response;\r\n const { OppIDPopupVisited } = response.data[0];\r\n const { TransformationTypeVisited } = response.data[0];\r\n\r\n this.setState({\r\n OppIDPopupVisited: OppIDPopupVisited,\r\n TransformationTypeVisited: TransformationTypeVisited,\r\n });\r\n\r\n if (\r\n success &&\r\n !this.state.OppIDPopupVisited &&\r\n !this.state.TransformationTypeVisited &&\r\n (this.state.Technology === \"SAP\" || this.state.Technology === \"Oracle\")\r\n ) {\r\n this.setState({\r\n OppIDPopupVisited: OppIDPopupVisited,\r\n TransformationTypeVisited: TransformationTypeVisited,\r\n steps: [\r\n {\r\n disableBeacon: true,\r\n hideCloseButton: true,\r\n target: \".opp-id-container\",\r\n placement: \"right\",\r\n content: this.getJoyRideContent(false),\r\n },\r\n {\r\n disableBeacon: true,\r\n hideCloseButton: true,\r\n target: \".transport-id-container\",\r\n placement: \"left\",\r\n content: this.getJoyRideContent1(),\r\n },\r\n ],\r\n OppidPopupSeen: true,\r\n TransformationTypePopupSeen: true,\r\n });\r\n } else if (\r\n !this.state.OppIDPopupVisited &&\r\n !this.state.TransformationTypeVisited &&\r\n (this.state.Technology !== \"SAP\" || this.state.Technology !== \"Oracle\")\r\n ) {\r\n this.setState({\r\n OppIDPopupVisited: OppIDPopupVisited,\r\n steps: [\r\n {\r\n disableBeacon: true,\r\n hideCloseButton: true,\r\n target: \".opp-id-container\",\r\n placement: \"right\",\r\n content: this.getJoyRideContent(true),\r\n },\r\n ],\r\n OppidPopupSeen: true,\r\n });\r\n } else if (\r\n this.state.OppIDPopupVisited &&\r\n !this.state.TransformationTypeVisited &&\r\n (this.state.Technology === \"SAP\" || this.state.Technology === \"Oracle\")\r\n ) {\r\n this.setState({\r\n TransformationTypeVisited: TransformationTypeVisited,\r\n steps: [\r\n {\r\n disableBeacon: true,\r\n hideCloseButton: true,\r\n target: \".transport-id-container\",\r\n placement: \"left\",\r\n content: this.getJoyRideContent1(),\r\n },\r\n ],\r\n OppidPopupSeen: true,\r\n TransformationTypePopupSeen: true,\r\n });\r\n }\r\n }\r\n\r\n async resetFeilds() {\r\n const resetFeilds = resetStates(this.state);\r\n await this.setState({\r\n ...resetFeilds,\r\n selectedFiles: [],\r\n oppIdList: [],\r\n projectPhaseList: [],\r\n marketUnitDefault: null,\r\n selectedAssets: [],\r\n oppIdLabel: \"Opportunity/Contract ID\",\r\n OpportunityID: \"\",\r\n oppIdPlaceholder: \"\",\r\n list: false,\r\n isDelivery: false,\r\n isExplore: false,\r\n isSales: false,\r\n dataAvailable: false,\r\n });\r\n this.setState({\r\n validWBS: false,\r\n validOppId: false,\r\n inCorrectWBS: false,\r\n inCorrectOppId: false,\r\n });\r\n await this.context.addSelectedData({ basicFormData: {} });\r\n }\r\n\r\n async handleFormSubmit(event) {\r\n event.preventDefault();\r\n const stateWithError = setErrorMessages(this.state);\r\n this.setStates(stateWithError);\r\n await this.handleWbsBlur();\r\n //await this.handleValidateOppId();\r\n const isError = this.validate();\r\n if (!isError && !this.state.ClientNameError) {\r\n this.submitData();\r\n }\r\n }\r\n\r\n async submitData() {\r\n let contextData = this.context && this.context.existingState;\r\n let tempArr = {};\r\n const formFields = this.state.data;\r\n formFields.map((form) => {\r\n const { FormKey } = form;\r\n const name = FormKey;\r\n let fieldValue = this.state[name];\r\n if (name === \"ClientName\") fieldValue = fieldValue.trim();\r\n tempArr = {\r\n ...tempArr,\r\n [name]: fieldValue,\r\n };\r\n return null;\r\n });\r\n let selectedServices = Object.values(contextData.selectedServices).filter(\r\n function (service) {\r\n if (service.haveChild === \"true\") {\r\n return service.selectedChildId.length > 0 ? true : false;\r\n }\r\n return true;\r\n }\r\n );\r\n\r\n const clientID = getId(this.state.ClientName, this.state.clientList);\r\n ///payload\r\n let projectPhaseName = getName(\r\n parseInt(this.state.ProjectPhase),\r\n this.state.projectPhaseList\r\n );\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || \"\";\r\n //let LeadDetails = this.state.LeadDetails.substring(0, this.state.LeadDetails.indexOf(\"@\"));\r\n let dateObj = {\r\n ClientDemoDate: dateFormat(this.state.ClientDemoDate, \"isoDate\"),\r\n // OperatingGroup: parseInt(this.state.OperatingGroup),\r\n Industry: parseInt(this.state.Industry),\r\n TransformationType: parseInt(this.state.TransformationType),\r\n AssetType: this.state.selectedAssets.map((item) => item.ID).join(\",\"),\r\n Geography: parseInt(this.state.Geography),\r\n FunctionalArea: parseInt(this.state.FunctionalArea),\r\n technologyOptions: parseInt(this.state.technologyOptions),\r\n OpportunityID:\r\n this.state.isExplore ||\r\n (!this.state.dataAvailable && this.state.tempState)\r\n ? \"9999999999\"\r\n : this.state.OpportunityID,\r\n\r\n usageType: projectPhaseName,\r\n DealSize: parseFloat(this.state.DealSize),\r\n ProjectPhase: parseFloat(this.state.ProjectPhase),\r\n Eid: eid,\r\n CatID: this.props.catId,\r\n File: this.state.selectedFiles,\r\n selectedServices: selectedServices,\r\n ClientId: clientID ? clientID : \"0\",\r\n iPCLoad: this.state.iPCLoad === \"Yes\" ? true : false,\r\n genWLoad: this.state.genWLoad === \"Yes\" ? true : false,\r\n isCoreTeamMember: this.state.isCoreTeamMember,\r\n AccessReason: this.state.AccessReason,\r\n LeadDetails: this.state.LeadDetails,\r\n TypeOfService: parseInt(this.state.ServiceType),\r\n WorkflowAutomation: contextData.workFlowAutomation,\r\n };\r\n\r\n let basicFormData = {\r\n ...tempArr,\r\n ...dateObj,\r\n };\r\n await this.context.addSelectedData({\r\n basicFormData: basicFormData,\r\n showCRP: true,\r\n marketUnitDefault: this.state.marketUnitDefault,\r\n validWBS: this.state.validWBS,\r\n validOppId: this.state.validOppId,\r\n isValidBasicFormData: true,\r\n });\r\n if (this.props.btnLbl === \"Submit\") {\r\n const cookieOptions = {\r\n path: '/',\r\n domain: window.DOMAIN,\r\n sameSite: 'Lax'\r\n };\r\n \r\n // Set Secure attribute if the connection is over HTTPS\r\n if (window.location.protocol === 'https:') {\r\n cookieOptions.secure = true;\r\n }\r\n \r\n // Construct the cookie string\r\n const cookieString = \"oneAssetPopUpEnabled=true; \" + Object.entries(cookieOptions)\r\n .map(([key, value]) => `${key}=${value}`)\r\n .join('; ');\r\n \r\n // Set the cookie\r\n document.cookie = cookieString;\r\n \r\n this.props.handleSubmit();\r\n } else if (this.props.btnLbl === \"Next\") {\r\n this.props.handleBtnClick(1);\r\n }\r\n }\r\n\r\n async handleIPCLoadInput(e) {\r\n let { value } = e.target;\r\n\r\n this.setState({\r\n iPCLoad: value,\r\n });\r\n }\r\n\r\n async handlegenWLoadInput(e) {\r\n let { value } = e.target;\r\n\r\n this.setState({\r\n genWLoad: value,\r\n });\r\n \r\n if (this.state.genWLoad === \"Yes\") {\r\n this.setState({\r\n LeadDetails: \"\",\r\n AccessReason: \"\",\r\n LeadDetailsError: \"\",\r\n AccessReasonError: \"\",\r\n });\r\n }\r\n }\r\n\r\n async handleInput(e) {\r\n let { name, value } = e.target;\r\n\r\n if (name === \"WBS\") {\r\n this.setState({\r\n validWBS: false,\r\n inCorrectWBS: false,\r\n wbsApiError: \"\",\r\n // disableValidateWBS: false\r\n });\r\n value = value.toUpperCase();\r\n }\r\n if (name === \"Industry\") {\r\n this.setState({\r\n activeIndustry: true,\r\n });\r\n }\r\n\r\n if (name === \"AssetType\") {\r\n this.setState({\r\n activeAssetType: true,\r\n });\r\n }\r\n\r\n if (name === \"ClientAccountLead\" || name === \"LeadDetails\") {\r\n value = value.toLowerCase();\r\n }\r\n\r\n if (name === \"ProjectPhase\") {\r\n let clientID = getId(this.state.ClientName, this.state.clientList);\r\n let projectPhaseName = getName(\r\n parseInt(value),\r\n this.state.projectPhaseList\r\n );\r\n this.setState({ validOppId: false, inCorrectOppId: false });\r\n this.clearInvalidOppId();\r\n\r\n await this.setState({ showSpinner: true });\r\n let url = `GetOpportunityId?clientId=${clientID}&projectPhase=${projectPhaseName}`;\r\n const response = await getData({ serviceName: url });\r\n const { success, error, data } = await response;\r\n if (success) {\r\n if (data.message === \"No Data Available.\") {\r\n this.setState({\r\n dataAvailable: false,\r\n tempState: false,\r\n });\r\n } else {\r\n this.setState({\r\n dataAvailable: true,\r\n tempState: true,\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n error: error,\r\n showErrorPopup: true,\r\n showSpinner: false,\r\n });\r\n }\r\n let oppIdLabel = \"Opportunity ID\";\r\n let isExplore = false;\r\n\r\n if (projectPhaseName === \"Delivery\") {\r\n oppIdLabel = \"Contract ID\";\r\n this.setState({ isDelivery: true });\r\n } else if (projectPhaseName === \"Explore\") {\r\n oppIdLabel = \"Opportunity/Contract ID\";\r\n isExplore = true;\r\n } else {\r\n this.setState({ isDelivery: false });\r\n this.setState({ isSales: true });\r\n }\r\n if (projectPhaseName === \"Explore\") {\r\n await this.setState({\r\n activeProjectPhase: true,\r\n oppIdLabel: oppIdLabel,\r\n isExplore: isExplore,\r\n showSpinner: false,\r\n oppIdPlaceholder: `NA`,\r\n });\r\n } else if (\r\n projectPhaseName !== \"Explore\" &&\r\n this.state.oppIdList &&\r\n this.state.oppIdList.length === 0\r\n ) {\r\n await this.setState({\r\n activeProjectPhase: true,\r\n oppIdLabel: oppIdLabel,\r\n isExplore: isExplore,\r\n showSpinner: false,\r\n oppIdPlaceholder: `9999999999`,\r\n });\r\n } else {\r\n await this.setState({\r\n activeProjectPhase: true,\r\n oppIdLabel: oppIdLabel,\r\n isExplore: isExplore,\r\n showSpinner: false,\r\n oppIdPlaceholder: `Select ${oppIdLabel}`,\r\n });\r\n }\r\n }\r\n if (name === \"OpportunityID\") {\r\n this.setState({\r\n inCorrectOppId: false,\r\n });\r\n this.setState({\r\n validOppId: false,\r\n });\r\n }\r\n\r\n if (name === \"FunctionalArea\") {\r\n this.setState({\r\n activeFunctionalArea: true,\r\n });\r\n }\r\n if (name === \"ServiceType\") {\r\n this.setState({\r\n activeServiceType: true,\r\n });\r\n }\r\n\r\n if (name === \"TransformationType\") {\r\n this.setState({\r\n activeTransformationType: true,\r\n });\r\n }\r\n\r\n await this.setState({\r\n [name]: value,\r\n });\r\n\r\n this.validateInput(name);\r\n\r\n if (name === \"LeadDetails\") {\r\n const pattern =\r\n /^[a-zA-Z0-9_.+-]+@(?:(?:[a-zA-Z0-9-]+\\.)?[a-zA-Z]+\\.)?(avanade|accenture)\\.com$/;\r\n if (value && !pattern.test(value)) {\r\n this.setState({\r\n LeadDetailsError:\r\n \"Enter a valid email, only Accenture and Avanade domain is valid.\",\r\n });\r\n }\r\n }\r\n\r\n if (name === \"AccessReason\") {\r\n if (value.length < 20 && value.length > 0) {\r\n this.setState({\r\n AccessReasonError:\r\n \"Access Reason should be at least 20 characters long.\",\r\n });\r\n } else if (value.length > 25000) {\r\n this.setState({\r\n AccessReasonError:\r\n \"Access Reason should not be more than 25000 characters long.\",\r\n });\r\n }\r\n }\r\n }\r\n\r\n async handleClientNameInput(e) {\r\n this.setState({\r\n inCorrectOppId: false,\r\n validOppId: false,\r\n OpportunityID: \"\",\r\n iPCLoad: \"\",\r\n genWLoad: \"\",\r\n });\r\n await this.setState({\r\n ClientName: e.target.value.trimStart(),\r\n activateBackdrop: true,\r\n list: false,\r\n });\r\n let serviceName;\r\n if (this.state.ClientName.includes(\"&\")) {\r\n let stringClient = this.state.ClientName;\r\n stringClient = stringClient.replace(\"&\", \"%26\");\r\n serviceName = `GetClientName?clientName=${stringClient}`;\r\n } else {\r\n serviceName = `GetClientName?clientName=${this.state.ClientName}`;\r\n }\r\n\r\n const response = await getData({\r\n serviceName: serviceName,\r\n apiBaseUrl: API_BASE_URL,\r\n });\r\n const { success, data, error } = await response;\r\n if (success) {\r\n if (data.length > 0) {\r\n this.setState({\r\n userSearchList: data,\r\n clientList: data,\r\n ClientError: false,\r\n });\r\n } else {\r\n await this.setState({ ClientError: true, projectPhaseList: [] });\r\n }\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n async selectClientName(e) {\r\n const clientName = e.target.getAttribute(\"Name\");\r\n this.resetFeilds();\r\n await this.setState({\r\n userSearchList: [],\r\n ClientName: clientName,\r\n ClientNameError: false,\r\n ClientError: false,\r\n activateBackdrop: false,\r\n });\r\n const SpecificProjectPhaseList = await this.getProjectPhaseList(\r\n this.state.ClientName,\r\n this.state.clientList\r\n );\r\n await this.setState({\r\n projectPhaseList: SpecificProjectPhaseList[0].Phase,\r\n });\r\n }\r\n\r\n validate() {\r\n const validationDetails = validateBasicForm(this.state);\r\n const { fieldError, haveError } = validationDetails;\r\n console.log(fieldError);\r\n this.setStates(fieldError);\r\n return haveError;\r\n }\r\n\r\n async setStates(states) {\r\n await this.setState({\r\n ...states,\r\n });\r\n }\r\n\r\n validateInput(name) {\r\n let { fieldError, isError } = validateInput(name, this.state);\r\n this.setStates(fieldError);\r\n return !isError;\r\n }\r\n\r\n handleClientDemoDate(date) {\r\n this.setState({\r\n ClientDemoDate: date,\r\n });\r\n\r\n let haveAdvForm =\r\n this.context &&\r\n this.context.existingState &&\r\n !!this.context.existingState.advanceForms\r\n ? this.context.existingState.advanceForms\r\n : [];\r\n if (haveAdvForm.length > 0 && haveAdvForm.includes(\"CRP\")) {\r\n let crpFormData =\r\n this.context && this.context.existingState\r\n ? this.context.existingState.crpFormData\r\n : [];\r\n let startDate = new Date(date);\r\n crpFormData = {\r\n ...crpFormData,\r\n PlannedEndDate: lastDayOfMonth(startDate),\r\n };\r\n\r\n this.context.addSelectedData({\r\n crpFormData: { ...crpFormData },\r\n });\r\n }\r\n if (haveAdvForm.length > 0 && haveAdvForm.includes(\"SAP\")) {\r\n let sapFormData =\r\n this.context && this.context.existingState\r\n ? this.context.existingState.sapFormData\r\n : [];\r\n let PlannedStartDate = new Date(date);\r\n sapFormData = {\r\n ...sapFormData,\r\n PlannedStartDate,\r\n PlannedEndDate: addDays(PlannedStartDate, 15),\r\n };\r\n\r\n this.context.addSelectedData({\r\n sapFormData: { ...sapFormData },\r\n });\r\n }\r\n if (haveAdvForm.length > 0 && haveAdvForm.includes(\"OracleForm\")) {\r\n let oracleFormData =\r\n this.context && this.context.existingState\r\n ? this.context.existingState.oracleFormData\r\n : [];\r\n let PlannedStartDate = new Date(date);\r\n oracleFormData = {\r\n ...oracleFormData,\r\n PlannedStartDate,\r\n PlannedEndDate: addDays(PlannedStartDate, 15),\r\n };\r\n\r\n this.context.addSelectedData({\r\n oracleFormData: { ...oracleFormData },\r\n });\r\n }\r\n }\r\n\r\n handleDateChangeRaw = (e) => {\r\n e.preventDefault();\r\n };\r\n\r\n handleTextArea(e) {\r\n let value = e.target.value;\r\n this.setState({\r\n ...this.state,\r\n description: value,\r\n });\r\n }\r\n\r\n handleClearForm(e) {\r\n e.preventDefault();\r\n this.setState({\r\n resetPopup: true,\r\n validWBS: false,\r\n validOppId: false,\r\n inCorrectWBS: false,\r\n inCorrectOppId: false,\r\n activeProjectPhase: false,\r\n activeIndustry: false,\r\n activeAssetType: false,\r\n activeTransformationType: false,\r\n activeFunctionalArea: false,\r\n activeServiceType: false,\r\n openAttachment: false,\r\n });\r\n }\r\n\r\n enableErrorPopup = (error, isInfo) => {\r\n this.setState({\r\n showErrorPopup: true,\r\n isInfo,\r\n error: error,\r\n showSpinner: false,\r\n });\r\n };\r\n\r\n handleAttachPopUp = () => {\r\n this.setState({\r\n openAttachment: !this.state.openAttachment,\r\n });\r\n };\r\n\r\n handleSetAttachmentData = (data) => {\r\n this.setState({\r\n selectedFiles: data,\r\n });\r\n };\r\n\r\n handleCustomSelect = ({ fieldName, data }) => {\r\n this.setState(\r\n {\r\n [fieldName]: data.value,\r\n marketUnitDefault: data,\r\n },\r\n () => {\r\n this.validateInput(fieldName);\r\n }\r\n );\r\n };\r\n // async handleValidateOppId() {\r\n // let url = `ValidateOpportunity?opportunityId=${this.state.OpportunityID}`;\r\n // await this.setState({ showSpinner: true });\r\n // const response = await getData({ serviceName: url });\r\n // const {\r\n // success,\r\n // error,\r\n // data,\r\n // isInfo = false,\r\n // actualErrorMessage = \"\",\r\n // } = await response;\r\n // if (success && data.isOpportunityValid) {\r\n // await this.setState({\r\n // validOppId: true,\r\n // showSpinner: false,\r\n // inCorrectOppId: false,\r\n // usageType: data.usageType,\r\n // });\r\n // } else {\r\n // let displayableErrorMsg = \"\";\r\n // if (actualErrorMessage) {\r\n // displayableErrorMsg = actualErrorMessage;\r\n // } else {\r\n // displayableErrorMsg = error;\r\n // }\r\n // await this.setState({\r\n // error: displayableErrorMsg,\r\n // isInfo,\r\n // wbsApiError: displayableErrorMsg,\r\n // showErrorPopup: true,\r\n // showSpinner: false,\r\n // validOppId: false,\r\n // inCorrectOppId: true,\r\n // });\r\n // }\r\n // }\r\n\r\n async handleWbsBlur() {\r\n if (this.state.WBS.trim().length !== 0) {\r\n let url = `ValidateWBSe?wbseCode=${this.state.WBS}`;\r\n\r\n if (\r\n this.state.WBS !== this.state.prevWBS &&\r\n this.state.WBS &&\r\n !this.state.validWbsArray.includes(this.state.WBS)\r\n ) {\r\n await this.setState({ showSpinner: true });\r\n const response = await getData({ serviceName: url });\r\n const {\r\n success,\r\n error,\r\n isInfo = false,\r\n actualErrorMessage = \"\",\r\n } = await response;\r\n if (success) {\r\n await this.setState({\r\n validWBS: true,\r\n showSpinner: false,\r\n inCorrectWBS: false,\r\n prevWBS: this.state.WBS,\r\n validWbsArray: [...this.state.validWbsArray, this.state.WBS],\r\n });\r\n } else {\r\n let displayableErrorMsg = \"\";\r\n if (actualErrorMessage) {\r\n displayableErrorMsg = actualErrorMessage;\r\n } else {\r\n displayableErrorMsg = error;\r\n }\r\n await this.setState({\r\n error: displayableErrorMsg,\r\n isInfo,\r\n wbsApiError: displayableErrorMsg,\r\n showErrorPopup: true,\r\n showSpinner: false,\r\n validWBS: false,\r\n inCorrectWBS: true,\r\n });\r\n }\r\n } else if (this.state.validWbsArray.includes(this.state.WBS)) {\r\n await this.setState({\r\n validWBS: true,\r\n inCorrectWBS: false,\r\n prevWBS: this.state.WBS,\r\n });\r\n }\r\n }\r\n }\r\n async handleOppIdBlur() {\r\n let clientID = getId(this.state.ClientName, this.state.clientList);\r\n let projectPhaseName = getName(\r\n parseInt(this.state.ProjectPhase),\r\n this.state.projectPhaseList\r\n );\r\n\r\n if (this.state.OpportunityID === \"\") {\r\n this.setState({\r\n inCorrectOppId: false,\r\n });\r\n } else if (\r\n this.state.OpportunityID.trim().length >= 6 &&\r\n this.state.OpportunityID.trim().length <= 10 &&\r\n !this.state.inCorrectOppId\r\n ) {\r\n let url = `GetOpportunityId?clientId=${clientID}&projectPhase=${projectPhaseName}&opportunityId=${this.state.OpportunityID} `;\r\n\r\n await this.setState({ showSpinner: true });\r\n const response = await getData({ serviceName: url });\r\n const {\r\n success,\r\n error,\r\n isInfo = false,\r\n actualErrorMessage = \"\",\r\n } = await response;\r\n if (success) {\r\n await this.setState({\r\n validOppId: true,\r\n showSpinner: false,\r\n inCorrectOppId: false,\r\n // prevOppId: this.state.OpportunityID,\r\n // validOppIdArray: [\r\n // ...this.state.validOppIdArray,\r\n // this.state.OpportunityID,\r\n // ],\r\n });\r\n } else {\r\n let displayableErrorMsg = \"\";\r\n if (actualErrorMessage) {\r\n displayableErrorMsg = actualErrorMessage;\r\n } else {\r\n displayableErrorMsg = error;\r\n }\r\n await this.setState({\r\n error: displayableErrorMsg,\r\n isInfo,\r\n wbsApiError: displayableErrorMsg,\r\n showErrorPopup: true,\r\n showSpinner: false,\r\n validOppId: false,\r\n inCorrectOppId: true,\r\n });\r\n }\r\n }\r\n }\r\n\r\n clearInvalidWBS() {\r\n this.setState({\r\n inCorrectWBS: false,\r\n });\r\n this.setState({\r\n WBS: \"\",\r\n });\r\n }\r\n clearInvalidOppId() {\r\n this.setState({\r\n inCorrectOppId: false,\r\n });\r\n this.setState({\r\n OpportunityID: \"\",\r\n });\r\n }\r\n\r\n getProjectPhaseList = (name, statusList) => {\r\n let filtered = [];\r\n filtered =\r\n statusList &&\r\n statusList.filter(function ({ Name }) {\r\n return Name === name;\r\n });\r\n return filtered;\r\n };\r\n toggleModal = () => {\r\n this.setState({\r\n showSessionAlert: false,\r\n });\r\n window.location.reload();\r\n };\r\n\r\n handlePopup = () => {\r\n this.setState({\r\n isPopChecked: !this.state.isPopChecked,\r\n });\r\n };\r\n handlePopupTransformation = () => {\r\n this.setState({\r\n isTransformationPopupChecked: !this.state.isTransformationPopupChecked,\r\n });\r\n };\r\n\r\n handleJoyRideBackClick = () => {\r\n this.setState({\r\n OppIDPopupVisited: false,\r\n });\r\n this.props.handleBack();\r\n };\r\n handleJoyRideBackClick1 = () => {\r\n if (!this.state.OppIDPopupVisited) {\r\n this.setState({\r\n OppIDPopupVisited: false,\r\n TransformationTypeVisited: false,\r\n steps: [\r\n {\r\n disableBeacon: true,\r\n hideCloseButton: true,\r\n target: \".opp-id-container\",\r\n placement: \"right\",\r\n content: this.getJoyRideContent(false),\r\n },\r\n {\r\n disableBeacon: true,\r\n hideCloseButton: true,\r\n target: \".transport-id-container\",\r\n placement: \"left\",\r\n content: this.getJoyRideContent1(),\r\n },\r\n ],\r\n });\r\n } else {\r\n this.props.handleBack();\r\n }\r\n };\r\n\r\n handleJoyRideOkClick = () => {\r\n if (this.state.isPopChecked) {\r\n postData({\r\n serviceName: `UpdatePopUpValidation`,\r\n data: {\r\n popUpVisited: `${this.state.isPopChecked}`,\r\n },\r\n });\r\n }\r\n if (\r\n this.state.isTransformationPopupChecked &&\r\n this.state.OppIDPopupVisited === false\r\n ) {\r\n postData({\r\n serviceName: `UpdatePopUpValidation`,\r\n data: {\r\n TransformationTypePopupVisited: `${this.state.isTransformationPopupChecked}`,\r\n },\r\n });\r\n }\r\n if (\r\n this.state.isTransformationPopupChecked &&\r\n this.state.OppIDPopupVisited === true\r\n ) {\r\n postData({\r\n serviceName: `UpdatePopUpValidation`,\r\n data: {\r\n TransformationTypePopupVisited: `${this.state.isTransformationPopupChecked}`,\r\n popUpVisited: \"true\",\r\n },\r\n });\r\n }\r\n\r\n this.setState({\r\n OppIDPopupVisited: true,\r\n });\r\n\r\n let newSteps = this.state.steps.filter((step, index) => index !== 0);\r\n this.setState({ steps: newSteps });\r\n };\r\n\r\n // handleJoyRideOkClick = () => {\r\n // if (this.state.istranformationPopup) {\r\n // postData({\r\n // serviceName: `UpdatePopUpValidation`,\r\n // data: {\r\n // popUpVisited: `${this.state.istranformationPopup}`,\r\n // flagValue: \"TransformationTypeVisited\",\r\n // },\r\n // });\r\n // }\r\n // this.setState({\r\n // TransformationTypeVisited: true,\r\n // });\r\n // };\r\n\r\n handleJoyRideCheckboxClick = (e) => {\r\n this.setState({\r\n isPopChecked: e.target.checked,\r\n });\r\n };\r\n\r\n handleJoyRideCheckboxClick1 = (e) => {\r\n this.setState({\r\n isTransformationPopupChecked: e.target.checked,\r\n });\r\n };\r\n\r\n closeServiceTypeDropdown = () =>\r\n this.setState({ isServiceTypeDDOpen: false });\r\n toggleServiceTypeDropdown = () =>\r\n this.setState({\r\n isServiceTypeDDOpen: !this.state.isServiceTypeDDOpen,\r\n });\r\n\r\n serviceTypeDDHandler = (value, list, selectedIds) => {\r\n let tempSelectedValues = [...list];\r\n if (selectedIds.includes(value.ID)) {\r\n //remove selection\r\n tempSelectedValues = tempSelectedValues.filter(\r\n (item) => item.ID !== value.ID\r\n );\r\n } else {\r\n tempSelectedValues.push(value);\r\n }\r\n this.setState({\r\n selectedAssets: tempSelectedValues,\r\n });\r\n if (tempSelectedValues.length > 0) {\r\n this.setState({\r\n AssetTypeError: \"\",\r\n });\r\n } else {\r\n this.setState({\r\n AssetTypeError: \"This is a required field\",\r\n });\r\n }\r\n this.checkDDUpdateChanges(\r\n this.state.hostingCloudProviderSelectedId,\r\n tempSelectedValues\r\n );\r\n };\r\n checkDDUpdateChanges = (\r\n hostingCloudProviderSelectedId,\r\n selectServiceList\r\n ) => {\r\n if (\r\n hostingCloudProviderSelectedId !== this.props.hostingCloudProvider ||\r\n (this.props.isServiceTypeEditable &&\r\n JSON.stringify(selectServiceList) !==\r\n JSON.stringify(this.props.ServiceTypes))\r\n ) {\r\n this.setState({\r\n isDropDownUpdateDisabled: false,\r\n });\r\n } else {\r\n this.setState({\r\n isDropDownUpdateDisabled: true,\r\n });\r\n }\r\n };\r\n\r\n serviceTypeDD = (selectedList, list) => {\r\n let selectedIds = [];\r\n let selectedServiceType = selectedList\r\n .map((item) => {\r\n selectedIds.push(item.ID);\r\n return item.Name;\r\n })\r\n .join(\",\");\r\n return (\r\n \r\n \r\n \r\n {selectedServiceType.length > 0 ? (\r\n selectedServiceType.length < 43 ? (\r\n selectedServiceType\r\n ) : (\r\n `${selectedServiceType.slice(0, 42)}...`\r\n )\r\n ) : (\r\n \r\n )}\r\n {selectedServiceType.length > 28 && (\r\n \r\n )}\r\n \r\n \"\"\r\n e.stopPropagation()}\r\n >\r\n
    \r\n
      \r\n {list.map((value, index) => {\r\n let checked = selectedIds.includes(value.ID);\r\n return (\r\n {\r\n this.serviceTypeDDHandler(\r\n value,\r\n selectedList,\r\n selectedIds\r\n );\r\n }}\r\n key={index}\r\n >\r\n \r\n \r\n {value.Name}\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 render() {\r\n const ipcFieldOptions = [\"Yes\", \"No\"];\r\n const ipcTooltipText = `Select \"Yes\" in case the myC Hierarchy Extract needs to be loaded in\r\n IPC (Intelligent Program Control) delivery tool-kit in the desired format.\r\n Detailed steps to be followed will be shared in the request details.`;\r\n const GenWTooltipText = `Select \"Yes\" in case you are a part of GenWizard Core Team, otherwise \"No\"`;\r\n let formFields = (this.state && this.state.data) || [];\r\n // if (formFields.length > 0) {\r\n // // let oppId = formFields[9];\r\n // // let form1 = formFields[0];\r\n // // let form2 = formFields[1];\r\n // formFields = formFields.filter(\r\n // (form) =>\r\n // form.FieldId !== 12 && form.FieldId !== 2 && form.FieldId !== 3\r\n // );\r\n\r\n // // formFields = [form1, form2, oppId, ...formFields];\r\n // }\r\n const wbsValidation = true;\r\n const oppIdValidation = true;\r\n\r\n return (\r\n \r\n {(AppContextData) => {\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {formFields.length > 0 &&\r\n formFields.map((form) => {\r\n let keyString = `${form.FormKey}Error`;\r\n if (form.FormKey === \"ClientName\") {\r\n return (\r\n \r\n
    \r\n \r\n this.handleClientNameInput(e)\r\n }\r\n />\r\n {\r\n \r\n \r\n \r\n Choose a Client Name from the Client\r\n list available. Please contact the\r\n COE team \r\n \r\n myConcertoCoE@accenture.com\r\n \r\n   if the required client name\r\n is not listed.\r\n

    \r\n }\r\n >\r\n
    \r\n }\r\n {\r\n this.setState({\r\n activateBackdrop: false,\r\n list: true,\r\n });\r\n }}\r\n >\r\n
    \r\n {this.state.activateBackdrop &&\r\n this.state.userSearchList.length >\r\n 0 && (\r\n {\r\n return (\r\n \r\n this.selectClientName(e)\r\n }\r\n >\r\n {user.Name}\r\n

    \r\n );\r\n }\r\n )}\r\n />\r\n )}\r\n
    \r\n \r\n {!!this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.list &&\r\n this.state.userSearchList.length > 0 ? (\r\n

    \r\n Please select from Client list available.\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    {\" \"}\r\n
    \r\n );\r\n }\r\n if (\r\n form.FormKey === \"LeadDetails\" &&\r\n (this.state.Technology === \"Oracle\" ||\r\n this.state.Technology === \"SAP\") &&\r\n this.state.genWLoad === \"Yes\"\r\n ) {\r\n return (\r\n \r\n \r\n {!!this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n );\r\n }\r\n if (\r\n form.FormKey === \"AccessReason\" &&\r\n (this.state.Technology === \"Oracle\" || this.state.Technology === \"SAP\") &&\r\n this.state.genWLoad === \"Yes\"\r\n ) {\r\n return (\r\n \r\n
    \r\n \r\n\r\n {!!this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    {\" \"}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"ProjectPhase\") {\r\n let isEmpty =\r\n this.state[form.FormKey] === undefined ||\r\n (this.state[form.FormKey] &&\r\n this.state[form.FormKey] === \"\") ||\r\n !this.state[form.FormKey]\r\n ? \"not-selected\"\r\n : \"\";\r\n let selectActive = this.state.activeProjectPhase\r\n ? \"form-control-select custom-width\"\r\n : \"form-control-select custom-width select-active\";\r\n return (\r\n \r\n
    \r\n \r\n {!!this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n {\r\n \r\n \r\n \r\n Select Explore for requests that are\r\n in active client discussions and do\r\n not pertain to a specific Project\r\n Phase. Opportunity/Contract ID’s not\r\n required here.\r\n

    \r\n }\r\n >\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n if (form.FormKey === \"OpportunityID\") {\r\n return (\r\n \r\n {}}\r\n >\r\n this.handleOppIdBlur()\r\n : null\r\n }\r\n maxlength=\"10\"\r\n disabled={\r\n !this.state.dataAvailable ||\r\n this.state.isExplore\r\n }\r\n placeholderTextBelow={true}\r\n />\r\n\r\n {!this.state.validOppId &&\r\n this.state.inCorrectOppId &&\r\n wbsValidation && (\r\n {\r\n this.clearInvalidOppId();\r\n }}\r\n >\r\n )}\r\n\r\n {this.state.validOppId && (\r\n \r\n Verified\r\n \r\n )}\r\n\r\n {this.state.inCorrectOppId && (\r\n \r\n Entered value doesn't exist in MMS. Please\r\n enter valid Opportunity/Contract ID.\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n
      \r\n
    • \r\n Please enter the Opportunity/\r\n Contract ID manually for Project\r\n Phase- Sales or Solutioning or\r\n Delivery{\" \"}\r\n
    • \r\n\r\n
    • \r\n No Opportunity/Contract Ids\r\n required for Project Phase -\r\n Explore\r\n
    • \r\n
    \r\n

    \r\n }\r\n >\r\n
    \r\n {!!this.state[keyString] &&\r\n !this.state.inCorrectOppId && (\r\n \r\n {this.state[keyString]}\r\n \r\n )}\r\n
    \r\n \r\n );\r\n }\r\n\r\n if (form.FormKey === \"MarketUnit\") {\r\n return (\r\n \r\n {\r\n this.handleCustomSelect({\r\n fieldName: form.FormKey,\r\n data: selectedData,\r\n });\r\n }}\r\n className={\r\n !this.state[keyString]\r\n ? \"custom-select-look\"\r\n : \"invalid-input-custom-select\"\r\n }\r\n />\r\n {!!this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"Industry\") {\r\n let isEmpty =\r\n this.state[form.FormKey] === undefined ||\r\n (this.state[form.FormKey] &&\r\n this.state[form.FormKey] === \"\") ||\r\n !this.state[form.FormKey]\r\n ? \"not-selected\"\r\n : \"\";\r\n let selectActive = this.state.activeIndustry\r\n ? \"form-control-select\"\r\n : \"form-control-select select-active\";\r\n return (\r\n \r\n \r\n {!this.state.activeFunctionalArea ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"FunctionalArea\") {\r\n let isEmpty =\r\n this.state[form.FormKey] === undefined ||\r\n (this.state[form.FormKey] &&\r\n this.state[form.FormKey] === \"\") ||\r\n !this.state[form.FormKey]\r\n ? \"not-selected\"\r\n : \"\";\r\n let selectActive = this.state.activeFunctionalArea\r\n ? \"form-control-select\"\r\n : \"form-control-select select-active\";\r\n return (\r\n \r\n \r\n {!this.state.activeIndustry ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n );\r\n }\r\n\r\n if (\r\n form.FormKey === \"iPCLoad\" &&\r\n this.state.IsIPCLoadVisible\r\n ) {\r\n return (\r\n
    \r\n {\" \"}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n {ipcFieldOptions.map((item) => (\r\n
    \r\n {\r\n this.handleIPCLoadInput(e);\r\n }}\r\n checked={item === this.state.iPCLoad}\r\n value={item}\r\n id={item}\r\n />\r\n \r\n {item}\r\n \r\n
    \r\n ))}\r\n
    \r\n {!this.state.iPCLoad ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n );\r\n }\r\n\r\n if (\r\n form.FormKey === \"genWLoad\" &&\r\n this.state.isCoreTeamMember &&\r\n (this.state.Technology === \"Oracle\" ||this.state.Technology === \"SAP\")\r\n ) {\r\n return (\r\n
    \r\n {\" \"}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n {ipcFieldOptions.map((item) => (\r\n
    \r\n {\r\n this.handlegenWLoadInput(e);\r\n }}\r\n checked={item === this.state.genWLoad}\r\n value={item}\r\n id={item}\r\n />\r\n \r\n {item}\r\n \r\n
    \r\n ))}\r\n
    \r\n {!this.state.genWLoad ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n );\r\n }\r\n\r\n if (\r\n form.FormKey === \"ServiceType\" &&\r\n this.state.isTypeOfServiceVisible\r\n ) {\r\n let isEmpty =\r\n this.state[form.FormKey] === undefined ||\r\n (this.state[form.FormKey] &&\r\n this.state[form.FormKey] === \"\") ||\r\n !this.state[form.FormKey]\r\n ? \"not-selected\"\r\n : \"\";\r\n let selectActive = this.state.activeServiceType\r\n ? \"form-control-select\"\r\n : \"form-control-select select-active\";\r\n return (\r\n \r\n \r\n {!this.state.activeServiceType ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n );\r\n }\r\n\r\n return null;\r\n })}\r\n
    \r\n \r\n
    \r\n
    \r\n {formFields.length > 0 &&\r\n formFields.map((form) => {\r\n let keyString = `${form.FormKey}Error`;\r\n\r\n if (\r\n form.FormKey === \"AssetType\" &&\r\n this.state.IsAssetTypeVisibleList[0] ===\r\n \"isAssetTypeVisible\"\r\n ) {\r\n // let isEmpty =\r\n // this.state[form.FormKey] === undefined ||\r\n // (this.state[form.FormKey] &&\r\n // this.state[form.FormKey] === \"\") ||\r\n // !this.state[form.FormKey]\r\n // ? \"not-selected\"\r\n // : \"\";\r\n // let selectActive = this.state.activeAssetType\r\n // ? \"form-control-select customtrans-width\"\r\n // : \"form-control-select select-active customtrans-width\";\r\n return (\r\n \r\n
    \r\n {/* */}\r\n\r\n \r\n \r\n {this.serviceTypeDD(\r\n this.state.selectedAssets,\r\n this.state.assetTypeList\r\n )}\r\n \r\n
    \r\n {\r\n (keyString = \"AssetTypeError\" ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n ))\r\n }\r\n {!this.state.activeAssetType ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n );\r\n }\r\n\r\n if (form.FormKey === \"DealSize\") {\r\n return (\r\n \r\n {form.FormKey === \"DealSize\" && (\r\n \r\n )}\r\n {!!this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"ClientDemoDate\") {\r\n return (\r\n \r\n
    \r\n \r\n \r\n {\" \"}\r\n (Date by which the service is required)\r\n \r\n

    \r\n \r\n {this.state.ClientDemoDate ? (\r\n \"\"\r\n ) : !!this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"ClientAccountLead\") {\r\n return (\r\n \r\n \r\n {!!this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n );\r\n }\r\n if (\r\n form.FormKey === \"TransformationType\" &&\r\n (this.state.Technology === \"SAP\" ||\r\n this.state.Technology === \"Oracle\")\r\n ) {\r\n let isEmpty =\r\n this.state[form.FormKey] === undefined ||\r\n (this.state[form.FormKey] &&\r\n this.state[form.FormKey] === \"\") ||\r\n !this.state[form.FormKey]\r\n ? \"not-selected\"\r\n : \"\";\r\n let selectActive = this.state\r\n .activeTransformationType\r\n ? \"form-control-select customtrans-width\"\r\n : \"form-control-select select-active customtrans-width\";\r\n return (\r\n \r\n {}}\r\n >\r\n \r\n {!this.state.activeTransformationType ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n \r\n );\r\n }\r\n if (form.FormKey === \"WBS\") {\r\n return (\r\n \r\n {}}\r\n >\r\n this.handleWbsBlur()\r\n : null\r\n }\r\n />\r\n \r\n (will not be charged until the chargeable\r\n service is provided.)\r\n \r\n {!this.state.validWBS &&\r\n this.state.inCorrectWBS &&\r\n wbsValidation && (\r\n {\r\n this.clearInvalidWBS();\r\n }}\r\n >\r\n )}\r\n {this.state.validWBS && (\r\n \r\n Verified\r\n \r\n )}\r\n {this.state.inCorrectWBS && (\r\n \r\n {this.state.error}\r\n \r\n )}\r\n
    \r\n {!!this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n );\r\n }\r\n\r\n if (form.FormKey === \"Description\") {\r\n return (\r\n \r\n
    \r\n \r\n

    \r\n \r\n {!!this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n return null;\r\n })}\r\n {\r\n
    \r\n {\r\n this.handleAttachPopUp();\r\n }}\r\n >\r\n \r\n

    \r\n Attachments (\r\n {this.state.selectedFiles\r\n ? this.state.selectedFiles.length\r\n : \"0\"}\r\n )\r\n

    \r\n \r\n\r\n {this.state.openAttachment && (\r\n \r\n )}\r\n
    \r\n }\r\n \r\n \r\n \r\n
    \r\n {this.state.validOppId ||\r\n (!this.state.dataAvailable && !this.state.isExplore) ||\r\n this.state.isExplore ? (\r\n \r\n {this.props.btnLbl}\r\n \r\n ) : (\r\n \r\n {this.props.btnLbl}\r\n \r\n )}\r\n\r\n \r\n \r\n
    \r\n \r\n {this.state.resetPopup && (\r\n {\r\n this.setState({ resetPopup: false });\r\n }}\r\n handleClose={() => {\r\n this.setState({ resetPopup: false });\r\n this.resetFeilds();\r\n }}\r\n >\r\n

    \r\n Are you sure you want to reset this page?\r\n

    \r\n \r\n )}\r\n {this.state.showSessionAlert && (\r\n {\r\n this.setState({ showSessionAlert: false });\r\n }}\r\n buttonPosition=\"center-button\"\r\n >\r\n \r\n \r\n )}\r\n {this.state.showSpinner && }\r\n {/*!this.state.OppIDPopupVisited && this.state.showPopup && window.SHOWPOPUP && (\r\n\r\n { this.setState({ showPopup: false });\r\n postData({serviceName:`UpdatePopUpValidation`, data:{\"popUpVisited\":`${this.state.isPopChecked}`,\"flagValue\":\"OppIDPopupVisited\"}})} }\r\n okBtnName='OK'\r\n >\r\n

    INFORMATION\r\n \"Close\" { this.setState({ showPopup: false }); }} />\r\n


    \r\n

    \r\n

    Owing to security guidelines, Opportunity ID/Contract ID has been made a free text field. Henceforth,\r\n users need to enter the opportunity ID/contract ID manually for request creation.

    \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\nBasicForm.contextType = RequestContext;\r\nexport default withRouter(BasicForm);\r\n","import React, { Component, Fragment } from \"react\";\r\nimport \"./crp-form.scss\";\r\nimport crpFormSchema from \"../../../assets/data/crp-form\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { addDays, subDays, lastDayOfMonth, format } from \"date-fns\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport parse from 'html-react-parser';\r\nimport { setErrorMessages, resetStates } from \"../../../components/validators/validate\";\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\";\r\nimport { validateCRP, validateInput } from \"./crp-form-validation\"\r\nimport { setInitialStates } from \"../common-functionality-forms/form-common-functionality\"\r\nimport { CustomButton, DatePicker, CustomTextArea, Modal, CustomInput, dateFormat, CustomSelect, Checkbox, ToolTip, CustomCalender, Popup, OutsideClickAlerter, Cart, Spinner } from \"../common-functionality-forms/form-imports\";\r\n\r\nclass CrpForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleInput = this.handleInput.bind(this);\r\n this.handleClearForm = this.handleClearForm.bind(this);\r\n this.handleOnClickBack = this.handleOnClickBack.bind(this);\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n }\r\n componentWillMount() {\r\n this.setDefaultStates();\r\n }\r\n\r\n componentDidMount() {\r\n this.getFormData()\r\n this.getIndustryList()\r\n this.props.setScreenName({ screenName: \"crpForm\" })\r\n }\r\n\r\n setDefaultStates() {\r\n let crpFormData = this.context && this.context.existingState ? this.context.existingState.crpFormData : {}\r\n this.setState({\r\n resetPopup: false, cartError: true, submitPopup: false, showSpinner: true, data: crpFormSchema ? crpFormSchema.Config : [],\r\n linkPopup: false, setDataFromContext: false, index: this.props.formIndex, hostingCloudProviderList: [],\r\n disclaimer: '', termsAndCondition: (crpFormData && crpFormData.termsAndCondition) || false\r\n })\r\n }\r\n\r\n validate() {\r\n const errorData = validateCRP(this.state)\r\n const { fieldError, haveError } = errorData\r\n this.setStates(fieldError)\r\n return haveError;\r\n }\r\n\r\n async setStates(states) {\r\n await this.setState({\r\n ...states\r\n })\r\n }\r\n\r\n async handleInput(e) {\r\n let { name, value } = e.target;\r\n if (name === \"ProjectPOC\" || name === \"DeliveryMD\" || name === \"DeliverySM\") {\r\n value = value.toLowerCase();\r\n }\r\n await this.setState({\r\n [name]: value\r\n });\r\n this.validateInput(name)\r\n }\r\n\r\n validateInput(name) {\r\n let { fieldError, haveError } = validateInput(name, this.state)\r\n this.setStates(fieldError)\r\n return !haveError\r\n }\r\n\r\n async setErrorState(errorkey, errorMessage) {\r\n await this.setState({ [errorkey]: errorMessage })\r\n }\r\n\r\n async handleDate(name, date) {\r\n if (name === 'PlannedEndDate') {\r\n date = lastDayOfMonth(date)\r\n }\r\n await this.setState({ [name]: date })\r\n this.validateInput(name)\r\n }\r\n\r\n handleDateChangeRaw = (e) => {\r\n e.preventDefault();\r\n }\r\n\r\n handleCalenderPopup(val) {\r\n this.setState({\r\n showCalender: val\r\n })\r\n }\r\n\r\n handleCalenderDateSelection(date) {\r\n this.setState({\r\n PlannedEndDate: date,\r\n showCalender: false\r\n }, () => {\r\n this.validateInput('PlannedEndDate')\r\n })\r\n }\r\n getFormData() {\r\n if (this.state.data && this.state.data.length > 0) {\r\n this.setInitialStates()\r\n }\r\n }\r\n\r\n async getIndustryList() {\r\n const response = await getData({ serviceName: `PopulateAdvanceForm?AdvanceForm=CRP` });\r\n const { success, error, isInfo } = await response;\r\n if (success) {\r\n const { data } = response\r\n\r\n if (data) {\r\n const { Industry, HostingCloudProvider, Disclaimer } = data\r\n await this.setState({\r\n hostingCloudProviderList: HostingCloudProvider || [], disclaimer: Disclaimer || '', showSpinner: false,\r\n industryListJson: Industry\r\n });\r\n }\r\n } else { this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false }); }\r\n }\r\n\r\n handleClearCart(val) {\r\n this.setState({ clearCart: val })\r\n }\r\n\r\n handleClearForm(e) { e.preventDefault(); this.setState({ resetPopup: true }); }\r\n\r\n async resetFields() {\r\n const resetFields = resetStates(this.state)\r\n let basicFormData = this.context && this.context.existingState ? this.context.existingState.basicFormData : {}\r\n this.setState({\r\n ...resetFields, termsAndCondition: false, termsAndConditionError: \"\",\r\n PlannedStartDate: basicFormData && basicFormData.ClientDemoDate ? new Date(basicFormData.ClientDemoDate) : '',\r\n PlannedEndDate: basicFormData && basicFormData.ClientDemoDate ? lastDayOfMonth(new Date(basicFormData.ClientDemoDate)) : '',\r\n })\r\n await this.context.addSelectedData({ crpFormData: {} })\r\n await this.setState({ setDataFromContext: true, clearCart: true })\r\n }\r\n\r\n async setInitialStates() {\r\n const formFields = this.state.data\r\n let crpFormData = this.context && this.context.existingState ? this.context.existingState.crpFormData : {}\r\n let basicFormData = await this.context && this.context.existingState ? this.context.existingState.basicFormData : {}\r\n this.setState({basicFormData:basicFormData})\r\n const stateData = setInitialStates(formFields, crpFormData)\r\n this.setStates(stateData)\r\n let startDate = '', endDate = ''\r\n if (basicFormData && basicFormData.ClientDemoDate) {\r\n startDate = new Date(basicFormData.ClientDemoDate)\r\n endDate = (crpFormData && crpFormData.PlannedEndDate) ? crpFormData.PlannedEndDate : lastDayOfMonth(startDate)\r\n this.setState({\r\n PlannedStartDateError: \"\",\r\n PlannedEndDateError: \"\"\r\n })\r\n }\r\n this.setState({\r\n PlannedStartDate: startDate,\r\n PlannedEndDate: endDate\r\n })\r\n }\r\n\r\n handleClick(e) { e.preventDefault(); this.setState({ linkPopup: true }); }\r\n\r\n async handleFormSubmit(event) {\r\n event.preventDefault()\r\n const stateWithError = setErrorMessages(this.state);\r\n this.setStates(stateWithError)\r\n let errValidation = this.validate();\r\n await this.setState({ validateCart: true })\r\n if (!errValidation && !this.state.cartError) { await this.submitData() }\r\n }\r\n\r\n async handleTermsConditions(e) {\r\n if (e.target.checked) { await this.setState({ termsAndCondition: true, termsAndConditionError: '' }) }\r\n else {\r\n await this.setState({ termsAndCondition: false, termsAndConditionError: 'Please accept the terms and conditions.' })\r\n }\r\n }\r\n\r\n async submitData() {\r\n let tempArr = {}\r\n const formFields = this.state.data;\r\n formFields.map((form) => {\r\n const { FormKey } = form\r\n const name = FormKey\r\n tempArr = {\r\n ...tempArr,\r\n [name]: name === 'PlannedStartDate' || name === 'PlannedEndDate' ? dateFormat(this.state[name], \"isoDate\") : this.state[name]\r\n }\r\n return null\r\n })\r\n\r\n let contextData = this.context && this.context.existingState ? this.context.existingState.crpFormData : {}\r\n if (contextData.cartDetails) {\r\n let landScapeObj = {\r\n termsAndCondition: this.state.termsAndCondition,\r\n cartDetails: !!contextData && contextData.cartDetails,\r\n cartArr: !!contextData && contextData.cartArr\r\n }\r\n let data = Object.values(contextData.cartDetails)\r\n data = data.filter(el => el.length > 0);\r\n let tmpLandscapeDetailsArr = []\r\n data.reduce((acc, currentVal) => {\r\n let tempVal = currentVal[0]\r\n let landscapeId = tempVal.landscapeId\r\n acc = { id: landscapeId, Systems: currentVal }\r\n tmpLandscapeDetailsArr.push(acc)\r\n return acc\r\n }, [])\r\n let crpFormData = {\r\n ...contextData,\r\n ...tempArr,\r\n ...landScapeObj,\r\n landscapeDetails: tmpLandscapeDetailsArr\r\n }\r\n\r\n await this.context.addSelectedData({ crpFormData: crpFormData, isValidCRPformData: true,basicFormData:this.state.basicFormData });\r\n }\r\n\r\n if (this.props.btnLbl === 'Submit') {\r\n this.props.handleSubmit()\r\n } else if (this.props.btnLbl === \"Next\") {\r\n this.props.handleBtnClick(this.state.index + 1)\r\n }\r\n }\r\n\r\n handleOnClickBack() {\r\n this.props.handleBtnClick(this.state.index - 1)\r\n }\r\n\r\n enableErrorPopup = (error, isInfo) => {\r\n this.setState({ showErrorPopup: true, isInfo, error: error, showSpinner: false })\r\n }\r\n\r\n truncateError(error) {\r\n let errorMsg = error;\r\n if (error.length > 30) {\r\n errorMsg = error.slice(0, 25)\r\n errorMsg = `${errorMsg}...`\r\n }\r\n return errorMsg;\r\n }\r\n\r\n projectPOCError(error) {\r\n let errorMsg = error;\r\n if (error.length > 60) {\r\n errorMsg = error.slice(0, 60)\r\n errorMsg = `${errorMsg}...`\r\n }\r\n return errorMsg;\r\n }\r\n\r\n isCartError = (isError) => {\r\n this.setState({ cartError: isError, validateCart: false })\r\n }\r\n handleSetDataFromContext = () => {\r\n this.setState({ setDataFromContext: false })\r\n }\r\n render() {\r\n\r\n const formFields = this.state.data\r\n\r\n return (\r\n \r\n {() => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {formFields.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`\r\n if (form.FormKey === \"PlannedStartDate\") {\r\n return (\r\n \r\n
    \r\n \r\n

    \r\n this.handleDate(form.FormKey, date)}\r\n minDate={new Date()} maxDate={this.state.PlannedEndDate ? subDays(Date.parse(this.state.PlannedEndDate), 1) : addDays(new Date(), 60)}\r\n dateFormat=\"dd-MMM-yyyy\"\r\n placeholderText=\"DD-MMM-YYYY\"\r\n disabled\r\n onChangeRaw={this.handleDateChangeRaw} />\r\n {!!this.state[keyString] ?
    {this.truncateError(this.state[keyString])}
    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"PlannedEndDate\") {\r\n return (\r\n \r\n
    \r\n

    \r\n {\r\n this.handleCalenderPopup(true)\r\n }}\r\n readOnly\r\n className={!this.state[keyString] ? \"custom-input\" : \"invalid-input\"}\r\n placeholder=\"DD-MMM-YYYY\"\r\n />\r\n {!!this.state.showCalender && { this.handleCalenderPopup(false) }}>\r\n \r\n { this.handleCalenderPopup(false) }}\r\n handleOk={(date) => { this.handleCalenderDateSelection(date) }}\r\n okBtnLbl=\"OK\"\r\n />\r\n \r\n \r\n }\r\n {!!this.state[keyString] ?
    {this.truncateError(this.state[keyString])}
    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"ProjectPOC\") {\r\n return (\r\n \r\n
    \r\n

    \r\n \r\n {!!this.state[keyString] ?
    {this.projectPOCError(this.state[keyString])}
    : ''}\r\n
    \r\n
    \r\n )\r\n }\r\n if (form.FormKey === \"DeliveryMD\") {\r\n return (\r\n \r\n
    \r\n {!!this.state[keyString] ? {this.state[keyString]} : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"DeliverySM\") {\r\n return (\r\n \r\n
    \r\n {!!this.state[keyString] ? {this.state[keyString]} : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"HostingCloudProvider\") {\r\n let isEmpty = (this.state[form.FormKey] === undefined || (this.state[form.FormKey] && this.state[form.FormKey] === '') || !this.state[form.FormKey]) ? 'not-selected' : ''\r\n return (\r\n \r\n
    \r\n {!!this.state[keyString] ? {this.state[keyString]} : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n return null\r\n })}\r\n
    \r\n { this.handleClearCart(val) }} showSystemCost={true} showError={(isError) => { this.isCartError(isError) }}\r\n validateCart={this.state.validateCart} setDataFromContext={this.state.setDataFromContext} handleSetDataFromContext={this.handleSetDataFromContext} />\r\n
    \r\n { this.handleTermsConditions(e) }} />\r\n Check here to indicate that you have read and agree to the this.handleClick(e)}>{this.state.disclaimer && this.state.disclaimer[0].Name}\r\n {!!this.state.termsAndConditionError ? {this.state.termsAndConditionError} : ''}\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    {\r\n this.state.linkPopup && (\r\n {\r\n this.setState({ linkPopup: false });\r\n }} buttonPosition=\"center-button\">
      {this.state.disclaimer && parse(this.state.disclaimer[0].Description)}
    \r\n
    \r\n )\r\n }\r\n
    \r\n {\r\n this.state.resetPopup && (\r\n { this.setState({ resetPopup: false, setDataFromContext: true }); }}\r\n handleClose={() => {\r\n this.setState({ resetPopup: false });\r\n this.resetFields();\r\n }}>

    Are you sure you want to reset this page?

    \r\n )\r\n }\r\n {this.state.showSpinner && }\r\n
    \r\n );\r\n }\r\n }\r\n
    \r\n );\r\n }\r\n}\r\nCrpForm.contextType = RequestContext;\r\nexport default CrpForm;","import React, {Fragment ,Component } from \"react\";\r\nimport \"./success-factor-form.scss\";\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\";\r\nimport {CustomTextArea,CustomButton, Cart, Spinner, Modal} from \"../common-functionality-forms/form-imports\";\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport OutsideClickAlerter from \"../../../components/outside-click-alerter/outside-click-alerter\";\r\nimport Tootltip from \"../../../components/tool-tip/tool-tip\";\r\n\r\nclass SuccessFactorForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n PriorityList:[],priorityId : \"\",\r\n CategoryList:[],\r\n Category:[],\r\n Feedback:\"\",\r\n showSpinner: false, clearCart: false,\r\n validateCart: false, resetPopup: false,\r\n index: 1, cartError: true, setDataFromContext: false, Categoryerror: false, Priorityerror:false, Feedbackerror:false,Feedvalueerr: false,skipPriorityCheck:false\r\n }\r\n this.handleOnClickBack = this.handleOnClickBack.bind(this);\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n this.handleClearForm = this.handleClearForm.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.getIndustryList();\r\n this.props.setScreenName({ screenName: \"success-factor\" })\r\n let formData = this.context && this.context.existingState.successFactorFormData?this.context.existingState.successFactorFormData:[] \r\n this.setState({Feedback:formData && formData.Feedback?formData.Feedback:\"\"})\r\n this.setState({Category:formData && formData.Category?formData.Category:[]})\r\n this.setState({ priorityId:formData && formData.Priority?formData.Priority:\"\", PriorityList:formData && formData.PriorityList?formData.PriorityList:[]},() => {\r\n // //this.priorityTypeDD();\r\n });\r\n \r\n }\r\n \r\n componentWillMount(){\r\n this.setContextData()\r\n }\r\n async setContextData(){\r\n let formDataName = 'successFactorFormData';\r\n let contextData = this.context && this.context.existingState ? this.context.existingState[formDataName] : {}\r\n let successFactorFormData = {\r\n ...contextData,\r\n Feedback:this.state.Feedback,\r\n Category:this.state.Category,\r\n Priority:this.state.priorityName,\r\n \r\n }\r\n await this.context.addSelectedData({ successFactorFormData: successFactorFormData });\r\n }\r\n\r\n async getIndustryList() {\r\n await this.setState({ showSpinner: true });\r\n const response = await getData({ serviceName: `PopulateAdvanceForm?AdvanceForm=${this.props.advForm}` });\r\n const { success, error, isInfo } = await response;\r\n if (success) {\r\n const { data } = response\r\n if(!data.Priority){\r\n await this.setState({skipPriorityCheck:true})\r\n }\r\n if (data) {\r\n const { Industry, Label, Category, Priority } = data\r\n await this.setState({\r\n landscapeList: [],\r\n showSpinner: false,\r\n industryListJson: Industry || [],\r\n labelListJson: Label || {},\r\n CategoryList: Category || [],\r\n PriorityList: Priority || []\r\n });\r\n await this.setState({ showSpinner: false});\r\n }\r\n } else { this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false }); }\r\n }\r\n \r\n handleClearCart(val) {\r\n this.setState({ clearCart: val })\r\n }\r\n handleSetDataFromContext = () => {\r\n this.setState({ setDataFromContext: false })\r\n }\r\n\r\n async checkCategoryerror(){\r\n if(this.state.Category.length === 0){\r\n await this.setState({Categoryerror:true})\r\n }\r\n else{\r\n\r\n await this.setState({Categoryerror:false})\r\n }\r\n \r\n \r\n }\r\n async checkFeedbackerror(){\r\n if(this.state.Feedback === \"\"){\r\n await this.setState({Feedbackerror:true})\r\n await this.setState({Feedvalueerr:false})\r\n }\r\n else if((this.state.Feedback.length> 0 && this.state.Feedback.length<20)||this.state.Feedback.length > 500){\r\n \r\n \r\n await this.setState({Feedbackerror:false})\r\n await this.setState({Feedvalueerr:true})\r\n\r\n }\r\n else{\r\n\r\n await this.setState({Feedbackerror:false})\r\n }\r\n \r\n \r\n }\r\n\r\n\r\n async checkPriorityerror(){\r\n if(this.state.priorityId.length === 0){\r\n await this.setState({Priorityerror:true})\r\n }\r\n else{\r\n\r\n await this.setState({Priorityerror:false})\r\n }\r\n }\r\n\r\n async isCartError(isError) {\r\n await this.setState({ cartError: isError, validateCart: false })\r\n }\r\n\r\n async handleFormSubmit(event) {\r\n event.preventDefault()\r\n await this.setState({ validateCart: true })\r\n this.checkCategoryerror()\r\n this.checkPriorityerror()\r\n this.checkFeedbackerror()\r\n\r\n if(this.state.skipPriorityCheck){\r\n if(!this.state.cartError){\r\n this.submitData()\r\n }\r\n \r\n }\r\n\r\n else if (!this.state.cartError && !this.state.Categoryerror && !this.state.Priorityerror && !this.state.Feedbackerror && !this.state.Feedvalueerr) {\r\n this.submitData()\r\n }\r\n }\r\n\r\n \r\n \r\n \r\n \r\n async handleInput(e) {\r\n const { name, value } = e.target;\r\n await this.setState({\r\n [name]: value\r\n });\r\n }\r\n handleInput1 = async (event) => {\r\n event.preventDefault()\r\n const { name, value } = event.target;\r\n this.setState({ [name]: value });\r\n \r\n if(name === \"Feedback\"){\r\n if((value.length > 0 && value.length < 20) || value.length >500){\r\n\r\n this.setState({Feedbackerror:false})\r\n this.setState({Feedvalueerr:true}) \r\n }\r\n else if(value.length === 0){\r\n\r\n this.setState({Feedbackerror:true})\r\n this.setState({Feedvalueerr:false}) \r\n\r\n }\r\n \r\n else{\r\n this.setState({Feedvalueerr:false})\r\n this.setState({Feedbackerror:false})\r\n }\r\n }\r\n \r\n \r\n }\r\n prepareSubmitData = async () => {\r\n let formDataName = this.props.advForm === 'BTP' ? 'btpFormData' : 'successFactorFormData';\r\n let contextData = this.context && this.context.existingState ? this.context.existingState[formDataName] : {}\r\n //Prepare Obj for submit API\r\n if (formDataName === 'successFactorFormData' && contextData.cartDetails) {\r\n let tmpObjForSelectedSystems = {}\r\n Object.entries(contextData.cartDetails).reduce((acc, currentVal) => {\r\n let systemArr = []\r\n let systemIdsObj = {}\r\n currentVal[1].map((val) => {\r\n systemIdsObj = {\r\n moduleId: val.id\r\n }\r\n systemArr.push(systemIdsObj)\r\n return null\r\n })\r\n\r\n tmpObjForSelectedSystems = {\r\n ...tmpObjForSelectedSystems,\r\n [currentVal[0]]: {\r\n ...tmpObjForSelectedSystems.currentVal,\r\n groupId: currentVal[0],\r\n Modules: systemArr\r\n }\r\n }\r\n return [...acc]\r\n }, [])\r\n\r\n let SuccessFactorModules = {\r\n systemId: contextData.Industry.toString(),\r\n Groups: Object.values(tmpObjForSelectedSystems)\r\n }\r\n \r\n \r\n\r\n \r\n let successFactorFormData = {\r\n ...contextData,\r\n Feedback:this.state.Feedback,\r\n Category:this.state.Category.map(item=>item.ID).join(\",\"),\r\n Priority:this.state.priorityId,\r\n \r\n SuccessFactorModules\r\n }\r\n await this.context.addSelectedData({ successFactorFormData: successFactorFormData });\r\n }\r\n if (formDataName === 'btpFormData' && contextData.cartDetails) {\r\n let tmpObjForSelectedFunctions = {};\r\n Object.entries(contextData.cartDetails).reduce((acc, currentVal) => {\r\n let applicationArr = []\r\n let appIdsObj = {}\r\n currentVal[1].map((val) => {\r\n appIdsObj = {\r\n applicationId: val.id\r\n }\r\n applicationArr.push(appIdsObj)\r\n return null\r\n })\r\n\r\n tmpObjForSelectedFunctions = {\r\n ...tmpObjForSelectedFunctions,\r\n [currentVal[0]]: {\r\n ...tmpObjForSelectedFunctions.currentVal,\r\n functionId: currentVal[0],\r\n Applications: applicationArr\r\n }\r\n }\r\n return [...acc]\r\n }, [])\r\n\r\n let BTPFunctions = {\r\n industryId: contextData.Industry.toString(),\r\n Functions: Object.values(tmpObjForSelectedFunctions)\r\n }\r\n let btpFormData = {\r\n ...contextData,\r\n BTPFunctions\r\n }\r\n await this.context.addSelectedData({ btpFormData: btpFormData });\r\n }\r\n }\r\n\r\n async submitData() {\r\n this.prepareSubmitData();\r\n if (this.props.btnLbl === 'Submit') {\r\n this.props.handleSubmit()\r\n } else if (this.props.btnLbl === \"Next\") {\r\n this.props.handleBtnClick(this.state.index + 1)\r\n }\r\n }\r\n\r\n handleOnClickBack() {\r\n this.props.handleBtnClick(this.state.index - 1)\r\n }\r\n\r\n handleClearForm(e) {\r\n e.preventDefault();\r\n this.setState({ resetPopup: true });\r\n // this.handleClearCart(true)\r\n }\r\n async resetFields() {\r\n await this.context.addSelectedData({ successFactorFormData: {} });\r\n await this.setState({ clearCart: true });\r\n await this.setState({Category:[]});\r\n await this.setState({priorityId:\"\"});\r\n await this.setState({Feedback:\"\"})\r\n await this.setState({Categoryerror:false})\r\n await this.setState({Feedbackerror:false})\r\n await this.setState({Priorityerror:false})\r\n await this.setState({Feedvalueerr:false})\r\n }\r\n\r\n closePriorityTypeDropdown = () => this.setState({isPriorityTypeDDOpen:false})\r\n togglePriorityTypeDropdown = () => this.setState({\r\n isPriorityTypeDDOpen : !this.state.isPriorityTypeDDOpen\r\n })\r\n \r\n priorityTypeDDHandler = (value) =>{ \r\n this.setState({\r\n priorityId:value.ID\r\n })\r\n this.setState({Priorityerror:false})\r\n }\r\n \r\n priorityTypeDD = (selectedId,list) =>{\r\n let selectedObj = (selectedId !== \"\" )? list.find(ele => ele.ID === selectedId):{}\r\n console.log(\"selectedObj:\",selectedObj)\r\n let selectedItem = !!selectedObj.Name?selectedObj.Name:\"\"\r\n return (\r\n \r\n
    \r\n \r\n {!!selectedId && selectedId !== \"\"?selectedItem:}\r\n \r\n \r\n
    e.stopPropagation()}>\r\n
    \r\n
      \r\n {\r\n list.map((value, index) => {\r\n let checked = selectedId === value.ID\r\n return (\r\n
    • {this.priorityTypeDDHandler(value)}}\r\n key={index}>\r\n \r\n \r\n \r\n \r\n \r\n {value.Name}\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 handleMultiSelectChange = (value,name) =>{\r\n \r\n\r\n if(name===\"Category\"){\r\n this.setState({Category:[...value]})\r\n this.setState({Categoryerror:false})\r\n \r\n \r\n \r\n }\r\n } \r\n\r\n \r\n closeServiceTypeDropdown = () => this.setState({isServiceTypeDDOpen:false})\r\n toggleServiceTypeDropdown = () => this.setState({\r\n isServiceTypeDDOpen : !this.state.isServiceTypeDDOpen\r\n })\r\n \r\n serviceTypeDDHandler = (value,list,selectedIds1) =>{ \r\n let tempSelectedValues = [...list];\r\n if(selectedIds1.includes(value.ID)){ //remove selection\r\n tempSelectedValues = tempSelectedValues.filter(item=>item.ID!=value.ID);\r\n }else{\r\n tempSelectedValues.push(value)\r\n }\r\n this.setState({\r\n Category : tempSelectedValues\r\n })\r\n if(tempSelectedValues.length>0){\r\n this.setState({\r\n Categoryerror : \"\"\r\n })\r\n }else{\r\n this.setState({\r\n Categoryerror : \"This is a required field\"\r\n })\r\n }\r\n this.checkDDUpdateChanges(this.state.hostingCloudProviderSelectedId,tempSelectedValues)\r\n }\r\n checkDDUpdateChanges = (hostingCloudProviderSelectedId,selectServiceList) =>{\r\n if((hostingCloudProviderSelectedId !== this.props.hostingCloudProvider) || (this.props.isServiceTypeEditable && (JSON.stringify(selectServiceList) !== JSON.stringify(this.props.ServiceTypes)))){\r\n this.setState({\r\n isDropDownUpdateDisabled : false\r\n })\r\n }else{\r\n this.setState({\r\n isDropDownUpdateDisabled : true\r\n })\r\n }\r\n }\r\n \r\n serviceTypeDD = (selectedList,list) =>{\r\n let selectedIds1 =[];\r\n let selectedServiceType = selectedList.map(item=>{\r\n selectedIds1.push(item.ID)\r\n return item.Name\r\n }).join(\",\");\r\n return (\r\n \r\n
    \r\n \r\n {selectedServiceType.length>0?(selectedServiceType.length<17?selectedServiceType:`${selectedServiceType.slice(0,16)}...`)\r\n : }\r\n {\r\n \r\n selectedServiceType.length>16 && (\r\n \r\n \r\n )\r\n }\r\n \r\n \r\n
    e.stopPropagation()}>\r\n
    \r\n
      \r\n {\r\n list.map((value, index) => {\r\n let checked = selectedIds1.includes(value.ID);\r\n return (\r\n
    • {this.serviceTypeDDHandler(value,selectedList,selectedIds1)}}\r\n key={index}>\r\n \r\n \r\n {value.Name}\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 render() {\r\n const { industryListJson, labelListJson} = this.state\r\n return ( \r\n
    \r\n \r\n
    \r\n { this.handleClearCart(val) }} showError={(isError) => { this.isCartError(isError) }}\r\n validateCart={this.state.validateCart} setDataFromContext={this.state.setDataFromContext} handleSetDataFromContext={this.handleSetDataFromContext} Feedback ={this.state.Feedback} Category ={this.state.Category} CategoryList ={this.state.CategoryList} Priority ={this.state.priorityId} PriorityList ={this.state.PriorityList}>\r\n \r\n {this.props.advForm !==\"ETHR\"? (\"\"):(<>\r\n
    \r\n \r\n \r\n {this.serviceTypeDD(this.state.Category,this.state.CategoryList)}\r\n {this.state.Categoryerror &&

    {\"Please select Categories\"}

    }\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n {this.priorityTypeDD(this.state.priorityId,this.state.PriorityList)}\r\n {this.state.Priorityerror &&

    {\"Please select Priority\"}

    }\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 {this.state.Feedbackerror &&

    {\"This is a required field.\"}

    }\r\n {this.state.Feedvalueerr &&

    {\"Feedback should be Minimum of 20 characters and Maximum of 500 characters\"}

    }\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 {this.state.showSpinner && }\r\n
    \r\n {this.state.resetPopup && (\r\n {\r\n this.setState({ resetPopup: false, setDataFromContext: true });\r\n }}\r\n handleClose={() => {\r\n this.setState({ resetPopup: false });\r\n this.resetFields();\r\n this.setState({ setDataFromContext: true })\r\n }}>\r\n

    Are you sure you want to reset this page?

    \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\nSuccessFactorForm.contextType = RequestContext;\r\nexport default SuccessFactorForm","import React, { Component } from \"react\";\r\nimport \"../success-factor-form/success-factor-form.scss\";\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\";\r\nimport { CustomButton, Cart, Spinner, Modal } from \"../common-functionality-forms/form-imports\";\r\nimport { getData } from \"../../../api/api-manager\";\r\n\r\nclass TalentHRForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showSpinner: false, clearCart: false,\r\n validateCart: false, resetPopup: false,\r\n index: 1, cartError: true, setDataFromContext: false\r\n }\r\n this.handleOnClickBack = this.handleOnClickBack.bind(this);\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n this.handleClearForm = this.handleClearForm.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.getIndustryList()\r\n this.props.setScreenName({ screenName: \"talentHR\" })\r\n }\r\n async getIndustryList() {\r\n const response = await getData({ serviceName: `PopulateAdvanceForm?AdvanceForm=THRS` });\r\n const { success, error, isInfo } = await response;\r\n if (success) {\r\n const { data } = response\r\n\r\n if (data) {\r\n const { Industry, Label } = data\r\n await this.setState({\r\n landscapeList: [],\r\n showSpinner: false,\r\n industryListJson: Industry || [],\r\n labelListJson: Label || {}\r\n });\r\n }\r\n } else { this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false }); }\r\n }\r\n handleClearCart(val) {\r\n this.setState({ clearCart: val })\r\n }\r\n handleSetDataFromContext = () => {\r\n this.setState({ setDataFromContext: false })\r\n }\r\n async isCartError(isError) {\r\n await this.setState({ cartError: isError, validateCart: false })\r\n }\r\n async handleFormSubmit(event) {\r\n event.preventDefault()\r\n await this.setState({ validateCart: true })\r\n if (!this.state.cartError) {\r\n this.submitData()\r\n }\r\n }\r\n async submitData() {\r\n let contextData = this.context && this.context.existingState ? this.context.existingState.talentHRformData : {}\r\n //Prepare Obj for submit API\r\n let tmpObjForSelectedSystems = {}\r\n if (contextData.cartDetails) {\r\n Object.entries(contextData.cartDetails).reduce((acc, currentVal) => {\r\n let systemArr = []\r\n let systemIdsObj = {}\r\n currentVal[1].map((val) => {\r\n systemIdsObj = {\r\n moduleId: val.id\r\n }\r\n systemArr.push(systemIdsObj)\r\n return null\r\n })\r\n\r\n tmpObjForSelectedSystems = {\r\n ...tmpObjForSelectedSystems,\r\n [currentVal[0]]: {\r\n ...tmpObjForSelectedSystems.currentVal,\r\n groupId: currentVal[0],\r\n Modules: systemArr\r\n }\r\n }\r\n return [...acc]\r\n }, [])\r\n\r\n let TalentAndHRModules = {\r\n systemId: contextData.Industry.toString(),\r\n Groups: Object.values(tmpObjForSelectedSystems)\r\n }\r\n let talentHRformData = {\r\n ...contextData,\r\n TalentAndHRModules\r\n }\r\n await this.context.addSelectedData({ talentHRformData: talentHRformData });\r\n\r\n }\r\n if (this.props.btnLbl === 'Submit') {\r\n this.props.handleSubmit()\r\n }\r\n }\r\n\r\n handleOnClickBack() {\r\n this.props.handleBtnClick(this.state.index - 1)\r\n }\r\n\r\n handleClearForm(e) {\r\n e.preventDefault();\r\n this.setState({ resetPopup: true });\r\n }\r\n async resetFields() { \r\n await this.context.addSelectedData({ talentHRformData: {} });\r\n await this.setState({ clearCart: true });\r\n }\r\n render() {\r\n const { industryListJson, labelListJson } = this.state\r\n return (\r\n
    \r\n
    \r\n { this.handleClearCart(val) }} showError={(isError) => { this.isCartError(isError) }}\r\n validateCart={this.state.validateCart} setDataFromContext={this.state.setDataFromContext} handleSetDataFromContext={this.handleSetDataFromContext}>\r\n
    \r\n \r\n \r\n \r\n
    \r\n {this.state.showSpinner && }\r\n
    \r\n {this.state.resetPopup && (\r\n {\r\n this.setState({ resetPopup: false, setDataFromContext: true });\r\n }}\r\n handleClose={() => {\r\n this.setState({ resetPopup: false });\r\n this.resetFields();\r\n this.setState({ setDataFromContext: true })\r\n }}>\r\n

    Are you sure you want to reset this page?

    \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\nTalentHRForm.contextType = RequestContext;\r\nexport default TalentHRForm","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport './dropdown.scss'\r\n\r\nconst checkValExist = (val, options, useName) => {\r\n\r\n let serviceData = options && options.find(services => {\r\n if (val === '' || !val) return false\r\n if (useName) {\r\n return services && services.Name && services.Name.toString() === val.toString()\r\n } else {\r\n return services && services.ID && services.ID.toString() === val.toString()\r\n }\r\n });\r\n if (!!serviceData) return true\r\n return false\r\n}\r\nconst DropDown = props => {\r\n const { name, title, options, placeholder, label, selected_value = '', handleChange, ...field } = props\r\n const parentClassNm = field.parent_custom_class ? `form-group ${field.parent_custom_class} dropdown` : 'form-group dropdown'\r\n let isExist = checkValExist(selected_value, options, props.use_name)\r\n\r\n return (\r\n
    \r\n {label &&

    {label}

    }\r\n \r\n
    \r\n );\r\n};\r\n\r\nDropDown.propTypes = {\r\n name: PropTypes.string,\r\n title: PropTypes.string,\r\n options: PropTypes.any,\r\n selected_value: PropTypes.any, // If we need to pre-populated value from dropdown.\r\n};\r\n\r\nexport default DropDown;","import React, { Component } from \"react\";\r\nimport \"./process-composition-form.scss\";\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport CustomModal from \"../../../components/modals/custom-modal\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport CustomButton from \"../../../components/button/secondary-button\";\r\nimport DropDown from \"../../../components/custom-select/dropdown\";\r\nimport CustomInput from '../../../components/custom-input/custom-input';\r\nimport Checkbox from \"../../../components/checkbox/checkbox\";\r\nimport { uniqueArrayOfObject, removeObjFromArrayById, fetchObjFromArrayById, removeObjFromArrayByStringIds, removeObjFromArrayByStringId, getUniqueIdFromArrayOfObjById, prepareObjByArrWithKeyName, uniqueArrayOfObjectByScenarioId } from \"../../../containers/common/object-manipulations\";\r\nimport ReviewCart from \"../../../components/review-cart/review-cart\";\r\nimport Tootltip from \"../../../components/tool-tip/tool-tip\";\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\";\r\nimport { setInitialStates, loadComponentDetails, prepareCartObj, updateCartForRemove, getTopupScenarioIds, getCountForReviewBtn } from \"./process-composition-functions\";\r\nimport Toast from \"../../../components/toast/toast\";\r\nimport * as constant from \"../../../components/constants/constant\";\r\n\r\nclass ProcessCompositionForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n index: this.props.formIndex\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n this.getInitialStates();\r\n }\r\n componentDidMount() {\r\n this.getIndustries();\r\n this.props.setScreenName({ screenName: \"ProcessCompositionForm\" })\r\n }\r\n\r\n componentWillUnmount() {\r\n this.setCartItemsOnUnmount();\r\n\r\n }\r\n async setCartItemsOnUnmount() {\r\n const { baseIndex, cartScenarios, basePackChbk, basePackIndustry, topUpIndustry,\r\n topUpFunction, tmpTopUpIndustry, tmpTopUpFunction, tmpTopUpModule, activeSection,\r\n topUpModule, selectedBaseIndustryNm, selectedTopUpIndustry } = this.state\r\n const retainingData = {\r\n baseIndex,\r\n cartScenarios,\r\n basePackChbk,\r\n basePackIndustry,\r\n topUpIndustry: !!basePackChbk ? '' : (topUpIndustry ? topUpIndustry : tmpTopUpIndustry),\r\n topUpFunction: !!basePackChbk ? '' : (topUpFunction ? topUpFunction : tmpTopUpFunction),\r\n topUpModule: !!basePackChbk ? '' : (topUpModule ? topUpModule : tmpTopUpModule),\r\n tmpTopUpIndustry,\r\n tmpTopUpFunction,\r\n tmpTopUpModule, selectedBaseIndustryNm, selectedTopUpIndustry,\r\n activeSection\r\n }\r\n await this.context.addSelectedData({ processCompositionFormData: { retainingData: retainingData } })\r\n\r\n\r\n }\r\n getInitialStates() {\r\n let processCompositionFormData = this.context && this.context.existingState && this.context.existingState.processCompositionFormData && this.context.existingState.processCompositionFormData.retainingData ? this.context.existingState.processCompositionFormData.retainingData : {}\r\n const states = setInitialStates(processCompositionFormData)\r\n this.setState({\r\n ...states\r\n })\r\n }\r\n\r\n async getIndustries() {\r\n\r\n this.setState({\r\n showSpinner: true\r\n })\r\n const response = await getData({ serviceName: `PopulateAdvanceForm?AdvanceForm=ProcessComposition` });\r\n const { success, error, isInfo } = await response;\r\n if (success) {\r\n await this.setState({\r\n baseIndustryList: response.data && response.data.Industry,\r\n topUpIndustryList: response.data && response.data.Industry,\r\n showSpinner: false\r\n });\r\n let processCompositionFormData = this.context && this.context.existingState && this.context.existingState.processCompositionFormData && this.context.existingState.processCompositionFormData.retainingData ? this.context.existingState.processCompositionFormData.retainingData : {}\r\n if (this.state.basePackChbk) {\r\n const selectedIndustry = this.state.cartScenarios.basePack ? this.state.cartScenarios.basePack.Name : '';\r\n this.setState({\r\n selectedBaseIndustryNm: selectedIndustry\r\n });\r\n\r\n this.getIndustryScenario(this.state.basePackIndustry);\r\n\r\n } else if (processCompositionFormData.topUpIndustry) {\r\n this.getTopupFuncList(processCompositionFormData.topUpIndustry, true);\r\n } else if (processCompositionFormData.tmpTopUpIndustry) {\r\n this.getTopupFuncList(processCompositionFormData.tmpTopUpIndustry, true);\r\n }\r\n\r\n\r\n } else {\r\n await this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n\r\n }\r\n\r\n async handleTopUpModule(e, OnChange) {\r\n const { value } = e.target;\r\n await this.setState({\r\n [e.target.name]: e.target.value,\r\n searchScenario: '',\r\n selectAllCheck: false,\r\n selectedItems: {},\r\n isTopUpSelected: true\r\n });\r\n this.getTopupUpdateScenarios(value, OnChange);\r\n }\r\n async getTopupUpdateScenarios(value, OnChange) {\r\n let topUpIndustry = this.state.topUpIndustry;\r\n let topUpFunction = this.state.topUpFunction;\r\n if (OnChange) {\r\n let processCompositionFormData = this.context && this.context.existingState && this.context.existingState.processCompositionFormData && this.context.existingState.processCompositionFormData.retainingData ? this.context.existingState.processCompositionFormData.retainingData : {}\r\n topUpIndustry = this.state.topUpIndustry ? this.state.topUpIndustry : (processCompositionFormData && processCompositionFormData.topUpIndustry ? processCompositionFormData.topUpIndustry : this.state.tmpTopUpIndustry);\r\n topUpFunction = this.state.topUpFunction ? this.state.topUpFunction : (processCompositionFormData && processCompositionFormData.topUpFunction ? processCompositionFormData.topUpFunction : this.state.tmpTopUpFunction);\r\n }\r\n\r\n const response = await getData({ serviceName: `ProcessCompositionScenario?industryId=${topUpIndustry}&functionId=${topUpFunction}&moduleId=${value}` });\r\n const { success, error, data, isInfo } = await response;\r\n\r\n\r\n\r\n if (success) {\r\n const selectedData = this.state.cartScenarios.topup ? this.state.cartScenarios.topup.Scenarios : [];\r\n if (selectedData.length) {\r\n const selectedScenario = prepareObjByArrWithKeyName(selectedData, 'ScenarioID');\r\n await this.setState({\r\n mandatoryScenarios: { ...selectedScenario },\r\n selectedItems: selectedScenario,\r\n scenarios: data.Scenarios,\r\n showSpinner: false\r\n });\r\n } else {\r\n await this.setState({\r\n scenarios: data.Scenarios,\r\n showSpinner: false\r\n });\r\n }\r\n } else {\r\n await this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n async handleBasePackIndustry(e) {\r\n const { value } = e.target;\r\n var index = e.nativeEvent && e.nativeEvent.target.selectedIndex;\r\n let selectedIndustry = e.nativeEvent && e.nativeEvent.target[index].text\r\n await this.setState({\r\n [e.target.name]: e.target.value,\r\n selectedBaseIndustryNm: selectedIndustry,\r\n searchScenario: '',\r\n selectAllCheck: false,\r\n isSearchScenario: false,\r\n baseIndex: 0,\r\n isTopUpSelected: false,\r\n mandatoryScenarios: {}\r\n })\r\n\r\n if (!!this.state.cartScenarios && !!this.state.cartScenarios.basePack && Object.entries(this.state.cartScenarios.basePack).length !== 0 && this.state.cartScenarios.basePack.constructor === Object) {\r\n await this.setState({\r\n cartScenarios: {\r\n ...this.state.cartScenarios,\r\n basePack: {\r\n ScenarioCount: 0,\r\n Scenarios: [],\r\n }\r\n },\r\n reviewCartData: []\r\n })\r\n }\r\n if (value === this.state.topUpIndustry) {\r\n this.setState({\r\n topUpIndustry: '',\r\n topUpFunction: '',\r\n topUpModule: '',\r\n topUpIndustryList: [],\r\n topUpIFunctionsList: [],\r\n topUpModuleList: []\r\n\r\n })\r\n }\r\n this.getIndustryScenario(value);\r\n if (this.state.cartScenarios && this.state.cartScenarios.topup && Object.entries(this.state.cartScenarios.topup).length !== 0 && this.state.cartScenarios.topup.constructor === Object) {\r\n let topupScenarioAddedAlert = '', updatedCartScenarios = []\r\n this.state.cartScenarios.topup.Scenarios.reduce((acc, currentVal) => {\r\n if (parseInt(currentVal.IndustryID) === parseInt(value)) {\r\n topupScenarioAddedAlert = 'Previously selected topup scenarios of the same industry will be moved out of the cart.'\r\n } else {\r\n updatedCartScenarios.push(currentVal)\r\n }\r\n return currentVal\r\n }, [])\r\n if (!!topupScenarioAddedAlert && updatedCartScenarios.length < 1) {\r\n await this.setState({\r\n showAlertForSameTopupBaseScenarios: true,\r\n sameTopupBaseScenariosTxt: topupScenarioAddedAlert,\r\n cartScenarios: {\r\n ...this.state.cartScenarios,\r\n topup: {\r\n ...this.state.cartScenarios.topup,\r\n ScenarioCount: 0,\r\n Scenarios: []\r\n }\r\n },\r\n reviewCartData: []\r\n })\r\n } else if (!!topupScenarioAddedAlert && updatedCartScenarios.length > 0) {\r\n await this.setState({\r\n showAlertForSameTopupBaseScenarios: true,\r\n sameTopupBaseScenariosTxt: topupScenarioAddedAlert,\r\n cartScenarios: {\r\n ...this.state.cartScenarios,\r\n topup: {\r\n ...this.state.cartScenarios.topup,\r\n ScenarioCount: updatedCartScenarios.length,\r\n Scenarios: updatedCartScenarios\r\n }\r\n },\r\n reviewCartData: []\r\n })\r\n }\r\n }\r\n }\r\n\r\n async getIndustryScenario(value) {\r\n const filteredIndustries = removeObjFromArrayById(this.state.baseIndustryList, value)\r\n this.setState({\r\n topUpIndustryList: filteredIndustries\r\n })\r\n\r\n const response = await getData({ serviceName: `ProcessCompositionScenario?industryId=${value}&index=0` });\r\n const { success, error, data, isInfo } = await response;\r\n if (success) {\r\n const isMandate = true\r\n let selectedValue = data.Scenarios.filter(function (key) {\r\n return key.IsMandatory === isMandate\r\n });\r\n\r\n let selectedData = this.state.cartScenarios.basePack ? this.state.cartScenarios.basePack.Scenarios : [];\r\n let mandatoryAndSelectedValues = [...selectedValue, ...selectedData]\r\n if (mandatoryAndSelectedValues.length > 0) {\r\n const updatedScenarios = prepareObjByArrWithKeyName(mandatoryAndSelectedValues, 'ScenarioID')\r\n await this.setState({\r\n mandatoryScenarios: { ...selectedValue },\r\n selectedItems: updatedScenarios\r\n })\r\n } else {\r\n await this.setState({ selectedItems: {} })\r\n }\r\n await this.setState({\r\n scenarios: data.Scenarios,\r\n showSpinner: false,\r\n })\r\n\r\n } else {\r\n await this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n\r\n }\r\n\r\n async handleTopUpIndustry(e) {\r\n const { value } = e.target;\r\n var index = e.nativeEvent && e.nativeEvent.target.selectedIndex;\r\n this.setState({\r\n topUpIndustry: value,\r\n searchScenario: '',\r\n topUpFunction: '', allFunSelected: false, scenarios: [],\r\n topUpModule: '', topUpIFunctionsList: [],\r\n topUpModuleList: [],\r\n selectedTopUpIndustry: e.nativeEvent && e.nativeEvent.target[index].text,\r\n isSearchScenario: false\r\n })\r\n this.getTopupFuncList(value, false)\r\n }\r\n async getTopupFuncList(value, OnChange) {\r\n const response = await getData({ serviceName: `FunctionsAndModules?industryId=${value}` });\r\n const { success, error, data, isInfo } = await response;\r\n if (success) {\r\n let updatedFunList = data.Functions\r\n if (data.Functions.length > 1) {\r\n updatedFunList = [{ ID: '0', Name: 'Select All', Modules: [] }, ...data.Functions]\r\n }\r\n await this.setState({\r\n topUpIFunctionsList: updatedFunList,\r\n showSpinner: false\r\n });\r\n if (OnChange) {\r\n\r\n let processCompositionFormData = this.context && this.context.existingState && this.context.existingState.processCompositionFormData && this.context.existingState.processCompositionFormData.retainingData ? this.context.existingState.processCompositionFormData.retainingData : {}\r\n let topUpFunction = processCompositionFormData && processCompositionFormData.topUpFunction ? processCompositionFormData.topUpFunction : this.state.topUpFunction;\r\n let tempTopUpFunction = processCompositionFormData && processCompositionFormData.tmpTopUpFunction ? processCompositionFormData.tmpTopUpFunction : this.state.tmpTopUpFunction;\r\n const topUpFunctionData = this.state.topUpFunction ? this.state.topUpFunction : (topUpFunction ? topUpFunction : tempTopUpFunction);\r\n await this.setState({\r\n topUpFunction: topUpFunctionData\r\n })\r\n this.getTopUpModule(topUpFunctionData, true)\r\n }\r\n } else {\r\n await this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n\r\n }\r\n\r\n async handleTopUpFunction(e) {\r\n const { value } = e.target;\r\n await this.setState({\r\n topUpFunction: value,\r\n searchScenario: '',\r\n topUpModuleList: [],\r\n topUpModule: ''\r\n })\r\n this.getTopUpModule(value, false);\r\n }\r\n async getTopUpModule(value, onChange) {\r\n if (value === '0') {\r\n let strArray = this.state.topUpIFunctionsList.reduce((acc, currentVal) => {\r\n return [...acc, ...currentVal.Modules]\r\n }, [])\r\n let uniqueModules = uniqueArrayOfObject(strArray)\r\n await this.setState({\r\n topUpModuleList: uniqueModules,\r\n allFunSelected: true,\r\n scenarios: []\r\n })\r\n } else {\r\n let currentFunc = fetchObjFromArrayById(this.state.topUpIFunctionsList, value)\r\n\r\n let updatedModuleList = currentFunc.Modules\r\n if (currentFunc.Modules.length > 1) {\r\n updatedModuleList = [{ ID: '0', Name: 'Select All' }, ...currentFunc.Modules]\r\n }\r\n\r\n await this.setState({\r\n allFunSelected: false,\r\n topUpModuleList: updatedModuleList,\r\n scenarios: []\r\n })\r\n\r\n }\r\n\r\n if (onChange) {\r\n let processCompositionFormData = this.context && this.context.existingState && this.context.existingState.processCompositionFormData && this.context.existingState.processCompositionFormData.retainingData ? this.context.existingState.processCompositionFormData.retainingData : {}\r\n let topUpModule = processCompositionFormData && processCompositionFormData.topUpModule ? processCompositionFormData.topUpModule : this.state.topUpModule;\r\n let tmpTopUpModule = processCompositionFormData && processCompositionFormData.tmpTopUpModule ? processCompositionFormData.tmpTopUpModule : this.state.tmpTopUpModule;\r\n const topUpModuleData = this.state.topUpModule ? this.state.topUpModule : (topUpModule ? topUpModule : tmpTopUpModule);\r\n this.setState({\r\n topUpModule: topUpModuleData,\r\n isTopUpSelected: true\r\n })\r\n this.getTopupUpdateScenarios(topUpModuleData, true);\r\n }\r\n\r\n }\r\n handleClearForm(e) {\r\n e.preventDefault();\r\n this.setState({ resetPopup: true });\r\n }\r\n\r\n async resetFields() {\r\n this.setState({\r\n basePackIndustry: '',\r\n topUpIndustry: '',\r\n topUpFunction: '',\r\n topUpIFunctionsList: [],\r\n topUpModule: '',\r\n topUpModuleList: [],\r\n selectedItems: {},\r\n basePackChbk: false,\r\n scenarios: [],\r\n cartScenarios: {},\r\n topUpIndustryList: this.state.baseIndustryList,\r\n searchScenario: [],\r\n selectedBaseIndustryNm: '',\r\n tmpTopUpIndustry: '',\r\n tmpTopUpFunction: '',\r\n tmpTopUpModule: '',\r\n showSearchedText: '',\r\n activeSearch: false,\r\n activeIMFFilter: true,\r\n activeSection: { activeSectionbasePackFilter: true }\r\n })\r\n loadComponentDetails(null, 'IFMFilter')\r\n\r\n await this.context.addSelectedData({ processCompositionFormData: { retainingData: {} } })\r\n await this.setState({ clearCart: true });\r\n }\r\n\r\n handleOnClickBack = () => {\r\n this.setCartItemsOnUnmount()\r\n this.props.handleBtnClick(this.state.index - 1)\r\n }\r\n\r\n async handleSubmit() {\r\n if ((Object.values(this.state.cartScenarios).length < 1) || (!this.state.cartScenarios.basePack) || (!!this.state.cartScenarios.basePack && this.state.cartScenarios.basePack.ScenarioCount === 0)) {\r\n this.setState({\r\n error: 'Please add some scenario(s) in the cart before submit. Base Pack selection is mandatory.',\r\n showErrorPopup: true\r\n })\r\n }\r\n else if (!this.state.cartScenarios.basePack || (this.state.cartScenarios.basePack && Object.entries(this.state.cartScenarios.basePack).length === 0)) {\r\n this.setState({\r\n error: 'Please add any industry\\'s scenario(s) from Base pack in cart before submit.',\r\n showErrorPopup: true\r\n })\r\n }\r\n else {\r\n let totalCartItems = 0\r\n if (this.state.cartScenarios.topup && Object.entries(this.state.cartScenarios.topup).length !== 0) {\r\n totalCartItems = totalCartItems + this.state.cartScenarios.topup.Scenarios.length\r\n }\r\n if (this.state.cartScenarios.basePack && Object.entries(this.state.cartScenarios.basePack).length !== 0) {\r\n totalCartItems = totalCartItems + this.state.cartScenarios.basePack.Scenarios.length\r\n }\r\n\r\n if (totalCartItems < 1) {\r\n this.setState({\r\n error: 'Please add some scenario(s) in cart before submit.',\r\n showErrorPopup: true\r\n })\r\n } else {\r\n let tmpProcessCompObj = {\r\n BasePackIndustryId: !!this.state.basePackIndustry ? parseInt(this.state.basePackIndustry) : null,\r\n }\r\n if (this.state.cartScenarios.topup && Object.entries(this.state.cartScenarios.topup).length !== 0 && this.state.cartScenarios.topup.Scenarios.length > 0) {\r\n const topupScenarios = this.state.cartScenarios.topup.Scenarios;\r\n const topupScen = getTopupScenarioIds(topupScenarios);\r\n tmpProcessCompObj = {\r\n ...tmpProcessCompObj,\r\n TopUpScenarios: topupScen,\r\n }\r\n } else {\r\n tmpProcessCompObj = {\r\n ...tmpProcessCompObj,\r\n TopUpScenarios: [],\r\n }\r\n }\r\n\r\n if (this.state.cartScenarios.basePack && Object.entries(this.state.cartScenarios.basePack).length !== 0 && this.state.cartScenarios.basePack.Scenarios.length > 0) {\r\n const basePackScenarios = this.state.cartScenarios.basePack.Scenarios;\r\n const basePackScen = getTopupScenarioIds(basePackScenarios);\r\n tmpProcessCompObj = {\r\n ...tmpProcessCompObj,\r\n BasePackScenarios: basePackScen,\r\n }\r\n } else {\r\n tmpProcessCompObj = {\r\n ...tmpProcessCompObj,\r\n BasePackScenarios: [],\r\n }\r\n }\r\n\r\n await this.context.addSelectedData({ processCompositionFormData: tmpProcessCompObj })\r\n if (this.props.btnLbl === 'Submit') {\r\n this.props.handleSubmit()\r\n } else if (this.props.btnLbl === \"Next\") {\r\n this.props.handleBtnClick(this.state.index + 1)\r\n }\r\n }\r\n }\r\n }\r\n async clearSelectedItems() {\r\n this.setState({\r\n basepackselectedItems: {},\r\n topUPselectedItems: {},\r\n\r\n })\r\n }\r\n\r\n async handleAddToCart() {\r\n const { showToast } = this.state\r\n\r\n this.setState({\r\n tmpTopUpIndustry: this.state.topUpIndustry,\r\n tmpTopUpFunction: this.state.topUpFunction,\r\n tmpTopUpModule: this.state.topUpModule\r\n })\r\n\r\n\r\n let cartScenarioIds = [],\r\n itemsToBeAddedCount = Object.values(this.state.selectedItems).length\r\n let currentScenarioIds = Object.keys(this.state.selectedItems)\r\n let selectedItemsValues = Object.values(this.state.selectedItems)\r\n if (this.state.cartScenarios && this.state.cartScenarios.topup && Object.entries(this.state.cartScenarios.topup).length !== 0 && this.state.cartScenarios.topup.constructor === Object) {\r\n cartScenarioIds = getUniqueIdFromArrayOfObjById(this.state.cartScenarios.topup.Scenarios, 'ScenarioID')\r\n let intersection = []\r\n intersection = currentScenarioIds.filter(element => cartScenarioIds.includes(element));\r\n itemsToBeAddedCount = itemsToBeAddedCount - intersection.length\r\n if (intersection.length > 0 && itemsToBeAddedCount < 1) {\r\n this.setState({ showAlertDuplicateScenario: true })\r\n }\r\n\r\n }\r\n if (this.state.cartScenarios && this.state.cartScenarios.basePack && Object.entries(this.state.cartScenarios.basePack).length !== 0 && this.state.cartScenarios.basePack.constructor === Object) {\r\n cartScenarioIds = getUniqueIdFromArrayOfObjById(this.state.cartScenarios.basePack.Scenarios, 'ScenarioID')\r\n let intersection = []\r\n intersection = currentScenarioIds.filter(element => cartScenarioIds.includes(element));\r\n itemsToBeAddedCount = itemsToBeAddedCount - intersection.length\r\n if (intersection.length > 0 && itemsToBeAddedCount < 1) {\r\n this.setState({ showAlertDuplicateScenario: true })\r\n }\r\n\r\n }\r\n let existingSelectedScenarios = this.state.cartScenarios;\r\n if (!!existingSelectedScenarios) {\r\n let tmpCart = {}\r\n if (!this.state.isTopUpSelected && this.state.basePackChbk) {\r\n let processCompositionFormData = this.context && this.context.existingState && this.context.existingState.processCompositionFormData && this.context.existingState.processCompositionFormData.retainingData ? this.context.existingState.processCompositionFormData.retainingData : {}\r\n const selectedBasePackIndustry = this.state.selectedBaseIndustryNm ? this.state.selectedBaseIndustryNm : (processCompositionFormData.selectedBaseIndustryNm ? processCompositionFormData.selectedBaseIndustryNm : \"\");\r\n await this.setState({ selectedBaseIndustryNm: selectedBasePackIndustry })\r\n let earlierSelectedScenarios = existingSelectedScenarios.basePack ? existingSelectedScenarios.basePack.Scenarios : []\r\n if (earlierSelectedScenarios.length > 0) {\r\n let uniqueScenarios = uniqueArrayOfObjectByScenarioId([...selectedItemsValues, ...this.state.cartScenarios.basePack.Scenarios])\r\n tmpCart = {\r\n basePack: prepareCartObj({ name: `${this.state.selectedBaseIndustryNm}`, count: uniqueScenarios.length, scenarios: uniqueScenarios, isTopUp: false })\r\n }\r\n } else {\r\n tmpCart = {\r\n basePack: prepareCartObj({ name: `${this.state.selectedBaseIndustryNm}`, count: selectedItemsValues.length, scenarios: selectedItemsValues, isTopUp: false })\r\n }\r\n }\r\n const basePackIndustyNameTxt = this.state.selectedBaseIndustryNm ? `for ${this.state.selectedBaseIndustryNm} !` : '!'\r\n let toastText = `${itemsToBeAddedCount} Scenarios added to cart ${basePackIndustyNameTxt}`\r\n this.setState({\r\n showToast: showToast + 1,\r\n toastText,\r\n cartScenarios: {\r\n ...this.state.cartScenarios,\r\n ...tmpCart\r\n }\r\n })\r\n\r\n } else {\r\n let earlierSelectedScenarios = existingSelectedScenarios.topup ? existingSelectedScenarios.topup.Scenarios : []\r\n if (earlierSelectedScenarios.length > 0) {\r\n let uniqueScenarios = uniqueArrayOfObjectByScenarioId([...selectedItemsValues, ...this.state.cartScenarios.topup.Scenarios])\r\n tmpCart = {\r\n topup: prepareCartObj({ name: \"Top-up Process Scenarios\", count: uniqueScenarios.length, scenarios: uniqueScenarios, isTopUp: true })\r\n }\r\n } else {\r\n tmpCart = {\r\n topup: prepareCartObj({ name: \"Top-up Process Scenarios\", count: selectedItemsValues.length, scenarios: selectedItemsValues, isTopUp: true })\r\n }\r\n }\r\n const industyNameTxt = this.state.selectedTopUpIndustry ? `for ${this.state.selectedTopUpIndustry} !` : '!'\r\n let toastText = `${itemsToBeAddedCount} Scenarios added to cart ${industyNameTxt}`\r\n this.setState({\r\n showToast: showToast + 1,\r\n toastText,\r\n cartScenarios: {\r\n ...this.state.cartScenarios,\r\n ...tmpCart\r\n }\r\n })\r\n }\r\n }\r\n }\r\n handleReviewCart() {\r\n let formatteReviewData = {}\r\n if (this.state.cartScenarios && this.state.cartScenarios.basePack && this.state.cartScenarios.basePack.ScenarioCount > 0) {\r\n formatteReviewData = {\r\n ...formatteReviewData,\r\n basePack: this.state.cartScenarios.basePack,\r\n }\r\n }\r\n if (this.state.cartScenarios && this.state.cartScenarios.topup && this.state.cartScenarios.topup.ScenarioCount > 0) {\r\n formatteReviewData = {\r\n ...formatteReviewData,\r\n topup: this.state.cartScenarios.topup,\r\n }\r\n }\r\n this.setState({\r\n reviewCartData: Object.values(formatteReviewData),\r\n showReviewCart: true\r\n })\r\n }\r\n\r\n async getScenarios() {\r\n const response = await getData({ serviceName: `ProcessCompositionScenario?industryId=${this.state.basePackIndustry}&index=${this.state.baseIndex}` });\r\n const { data, success, error } = response;\r\n\r\n if (success) {\r\n if (this.state.cartScenarios && !!this.state.cartScenarios.basePack) {\r\n let tmpBasePackArr = [...this.state.cartScenarios.basePack.Scenarios, ...data.Scenarios]\r\n const basePackUpdated = prepareCartObj({ name: this.state.selectedBaseIndustryNm, count: data.ScenarioCount, scenarios: tmpBasePackArr, isTopUp: false })\r\n\r\n await this.setState({\r\n cartScenarios: {\r\n ...this.state.cartScenarios,\r\n basePack: basePackUpdated\r\n }\r\n })\r\n\r\n const getTopUpObj = this.state.reviewCartData.find(function (cartData) {\r\n return cartData.isTopUp === true\r\n });\r\n let combineData = !!getTopUpObj ? [basePackUpdated, getTopUpObj] : [basePackUpdated]\r\n await this.setState({\r\n reviewCartData: combineData\r\n })\r\n\r\n }\r\n } else {\r\n await this.setState({ error: error, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n clickShowMore(isTopUp) {\r\n this.setState({\r\n baseIndex: !isTopUp ? this.state.baseIndex + 1 : this.state.baseIndex\r\n }, () => {\r\n this.getScenarios();\r\n })\r\n }\r\n\r\n enableErrorPopup = (error, isInfo) => {\r\n this.setState({\r\n showErrorPopup: true,\r\n isInfo,\r\n error: error,\r\n showSpinner: false,\r\n });\r\n }\r\n\r\n async handleSearch(e) {\r\n const { name, value } = e.target\r\n await this.setState({ [name]: value });\r\n }\r\n async searchOnEnterKey(e) {\r\n let key = e.keyCode || e.which;\r\n if (key === 13) {\r\n this.getSearchScenarios()\r\n }\r\n }\r\n async handleDelete(topup) {\r\n const updatedCart = updateCartForRemove(this.state.reviewCartData)\r\n await this.setState({\r\n cartScenarios: updatedCart,\r\n\r\n\r\n })\r\n if (topup && this.state.basepackselectedItems && Object.keys(this.state.basepackselectedItems).length > 0) {\r\n this.handleRemoveSelected(!topup)\r\n } else {\r\n await this.setState({\r\n basepackselectedItems: {},\r\n topUPselectedItems: {}\r\n })\r\n }\r\n\r\n }\r\n async removeItem(id, topup) {\r\n const getBaseOrTopUpObj = this.state.reviewCartData.find(function (data) {\r\n return data.isTopUp === topup\r\n });\r\n\r\n const filteredScenarios = removeObjFromArrayByStringId(getBaseOrTopUpObj.Scenarios, id, 'ScenarioID')\r\n let tmpCartObj = {}\r\n let tmpBaseOrTopupObj = {}\r\n if (topup) {\r\n if (filteredScenarios.length === 0) {\r\n tmpCartObj = {}\r\n } else {\r\n const topUP = prepareCartObj({ name: 'Top-up Process Scenarios', count: filteredScenarios.length, scenarios: filteredScenarios, isTopUp: true })\r\n tmpCartObj = { ...tmpCartObj, topup: topUP }\r\n }\r\n if (this.state.cartScenarios && !!this.state.cartScenarios.basePack) {\r\n tmpBaseOrTopupObj = {\r\n basePack: this.state.cartScenarios.basePack\r\n }\r\n }\r\n tmpCartObj = { ...tmpBaseOrTopupObj, ...tmpCartObj }\r\n } else {\r\n if (filteredScenarios.length === 0) {\r\n tmpCartObj = {}\r\n } else {\r\n const basicpack = prepareCartObj({ name: `${this.state.selectedBaseIndustryNm}`, count: filteredScenarios.length, scenarios: filteredScenarios, isTopUp: false })\r\n tmpCartObj = { ...tmpCartObj, basePack: basicpack }\r\n }\r\n if (this.state.cartScenarios && !!this.state.cartScenarios.topup) {\r\n tmpBaseOrTopupObj = {\r\n topup: this.state.cartScenarios.topup\r\n }\r\n }\r\n tmpCartObj = { ...tmpCartObj, ...tmpBaseOrTopupObj }\r\n }\r\n await this.setState({\r\n reviewCartData: Object.values(tmpCartObj)\r\n })\r\n }\r\n\r\n async updateCartItems(id, isDelete = false) {\r\n const filteredScenarios = removeObjFromArrayByStringId(Object.values(this.state.selectedItems), id, 'ScenarioID')\r\n const updatedScenarios = prepareObjByArrWithKeyName(filteredScenarios, 'ScenarioID')\r\n await this.setState({ selectedItems: updatedScenarios })\r\n if (isDelete) {\r\n if (this.state.isTopUpSelected === false) {\r\n await this.setState({\r\n cartScenarios: {\r\n ...this.state.cartScenarios,\r\n backPack: prepareCartObj({ name: `${this.state.selectedBaseIndustryNm}`, count: Object.values(this.state.selectedItems).length, scenarios: Object.values(this.state.selectedItems), isTopUp: false })\r\n },\r\n })\r\n } else {\r\n await this.setState({\r\n cartScenarios: {\r\n ...this.state.cartScenarios,\r\n topup: prepareCartObj({ name: \"Top-up Process Scenarios\", count: Object.values(this.state.selectedItems).length, scenarios: Object.values(this.state.selectedItems), isTopUp: true })\r\n },\r\n })\r\n }\r\n this.handleReviewCart()\r\n }\r\n }\r\n\r\n async handleCardSelection(ID, item) {\r\n if (!item.IsMandatory) {\r\n if (Object.keys(this.state.selectedItems).length !== 0) {\r\n const isObjExist = this.state.selectedItems.hasOwnProperty(ID)\r\n if (isObjExist) { //user wants to deselect scenario here.\r\n this.updateCartItems(ID)\r\n } else {\r\n await this.setState({ selectedItems: { ...this.state.selectedItems, [ID]: { ...item, IndustryID: !!item.IndustryID ? item.IndustryID : !!this.state.topUpIndustry ? this.state.topUpIndustry : '' } } })\r\n }\r\n } else {\r\n await this.setState({ selectedItems: { [ID]: { ...item, IndustryID: !!item.IndustryID ? item.IndustryID : !!this.state.topUpIndustry ? this.state.topUpIndustry : '' } } })\r\n }\r\n await this.setState({ selectAllCheck: false })\r\n } else {\r\n await this.setState({\r\n showAlertForMandatoryScenario: true, showAlertForMandatoryScenarioTxt: 'Mandatory scenarios can’t be deselected.'\r\n })\r\n }\r\n }\r\n async handleSelectedData(ID, item, IsTopup) {\r\n if (IsTopup) {\r\n if (this.state.topUPselectedItems) {\r\n const isObjExist = this.state.topUPselectedItems.hasOwnProperty(ID)\r\n if (isObjExist) { //user wants to deselect scenario here.\r\n this.updateBasePackCartItems(ID, IsTopup)\r\n } else {\r\n await this.setState({ topUPselectedItems: { ...this.state.topUPselectedItems, [ID]: { ...item, IndustryID: !!item.IndustryID ? item.IndustryID : !!this.state.topUpIndustry ? this.state.topUpIndustry : '' } } })\r\n }\r\n } else {\r\n await this.setState({ topUPselectedItems: { [ID]: { ...item, IndustryID: !!item.IndustryID ? item.IndustryID : !!this.state.topUpIndustry ? this.state.topUpIndustry : '' } } })\r\n }\r\n } else {\r\n if (this.state.basepackselectedItems) {\r\n const isObjExist = this.state.basepackselectedItems.hasOwnProperty(ID)\r\n if (isObjExist) { //user wants to deselect scenario here.\r\n this.updateBasePackCartItems(ID, IsTopup)\r\n } else {\r\n await this.setState({ basepackselectedItems: { ...this.state.basepackselectedItems, [ID]: { ...item, IndustryID: !!item.IndustryID ? item.IndustryID : !!this.state.topUpIndustry ? this.state.topUpIndustry : '' } } })\r\n }\r\n } else {\r\n await this.setState({ basepackselectedItems: { [ID]: { ...item, IndustryID: !!item.IndustryID ? item.IndustryID : !!this.state.topUpIndustry ? this.state.topUpIndustry : '' } } })\r\n }\r\n }\r\n this.setTooltipText();\r\n }\r\n async updateBasePackCartItems(id, IsTopup, isDelete = false) {\r\n if (IsTopup) {\r\n const filteredScenarios = removeObjFromArrayByStringId(Object.values(this.state.topUPselectedItems), id, 'ScenarioID')\r\n const updatedScenarios = prepareObjByArrWithKeyName(filteredScenarios, 'ScenarioID')\r\n await this.setState({ topUPselectedItems: updatedScenarios })\r\n } else {\r\n const filteredScenarios = removeObjFromArrayByStringId(Object.values(this.state.basepackselectedItems), id, 'ScenarioID')\r\n const updatedScenarios = prepareObjByArrWithKeyName(filteredScenarios, 'ScenarioID')\r\n await this.setState({ basepackselectedItems: updatedScenarios })\r\n }\r\n\r\n if (isDelete) {\r\n if (!IsTopup) {\r\n await this.setState({\r\n cartScenarios: {\r\n ...this.state.cartScenarios,\r\n backPack: prepareCartObj({ name: `${this.state.selectedBaseIndustryNm}`, count: Object.values(this.state.basepackselectedItems).length, scenarios: Object.values(this.state.basepackselectedItems), isTopUp: false })\r\n },\r\n })\r\n } else {\r\n await this.setState({\r\n cartScenarios: {\r\n ...this.state.cartScenarios,\r\n topup: prepareCartObj({ name: \"Top-up Process Scenarios\", count: Object.values(this.state.basepackselectedItems).length, scenarios: Object.values(this.state.basepackselectedItems), isTopUp: true })\r\n },\r\n })\r\n }\r\n this.handleReviewCart()\r\n }\r\n this.setTooltipText();\r\n }\r\n\r\n async setTooltipText() {\r\n const basePackItems = (this.state.basepackselectedItems && Object.keys(this.state.basepackselectedItems).length > 0) ? `Base Pack ${this.state.selectedBaseIndustryNm} ( ${Object.keys(this.state.basepackselectedItems).length} )
    ` : '';\r\n const topUpSelectedItems = (this.state.topUPselectedItems && Object.keys(this.state.topUPselectedItems).length > 0) ? `Top-up Process Scenarios ( ${Object.keys(this.state.topUPselectedItems).length} )` : '';\r\n await this.setState({\r\n mergedScenarioText: basePackItems + \" \" + topUpSelectedItems\r\n })\r\n }\r\n\r\n async selectAllScenarios(e) {\r\n let allSelected = {}, namelabel;\r\n const { name } = e.target;\r\n if (e.target.checked) {\r\n await this.setState({\r\n [name]: true\r\n })\r\n const scenarios = (this.state.scenarios && this.state.scenarios.length > 0) ? this.state.scenarios : []\r\n scenarios.length > 0 && scenarios.map(item => {\r\n namelabel = `${item.ScenarioID}`;\r\n allSelected = { ...allSelected, [namelabel]: { ...item, IndustryID: !!item.IndustryID ? item.IndustryID : !!this.state.topUpIndustry ? this.state.topUpIndustry : '' } }\r\n return null;\r\n })\r\n await this.setState({ selectedItems: { ...this.state.selectedItems, ...allSelected } })\r\n }\r\n else {\r\n if (this.state.mandatoryScenarios && !this.state.isTopUpSelected) {\r\n const updatedScenarios = prepareObjByArrWithKeyName(Object.values(this.state.mandatoryScenarios), 'ScenarioID')\r\n await this.setState({ selectedItems: { ...updatedScenarios }, [name]: false })\r\n } else {\r\n await this.setState({ selectedItems: {}, [name]: false })\r\n }\r\n }\r\n }\r\n\r\n\r\n async clearAll() {\r\n if (this.state.mandatoryScenarios && !this.state.isTopUpSelected) {\r\n const updatedScenarios = prepareObjByArrWithKeyName(Object.values(this.state.mandatoryScenarios), 'ScenarioID')\r\n await this.setState({ selectedItems: { ...updatedScenarios }, selectAllCheck: false })\r\n } else {\r\n await this.setState({ selectedItems: {}, selectAllCheck: false })\r\n }\r\n }\r\n\r\n handleBasePackCheckBox(event) {\r\n if (event.target.checked) {\r\n this.setState({ basePackChbk: true, searchScenario: '', selectedItems: {}, scenarios: [] })\r\n } else {\r\n let cartScenarios = {\r\n ...this.state.cartScenarios,\r\n }\r\n if (this.state.cartScenarios && this.state.cartScenarios.basePack && this.state.cartScenarios.basePack.Scenarios && this.state.cartScenarios.basePack.Scenarios.length > 0) {\r\n cartScenarios = {\r\n ...cartScenarios,\r\n basePack: prepareCartObj({ name: '', count: 0, scenarios: [], isTopUp: false }),\r\n }\r\n }\r\n this.setState({ basePackChbk: false, searchScenario: '', basePackIndustry: '', topUpIndustryList: this.state.baseIndustryList, scenarios: [], cartScenarios: cartScenarios, selectedBaseIndustryNm: '', selectedItems: {} })\r\n let processCompositionFormData = this.context && this.context.existingState && this.context.existingState.processCompositionFormData && this.context.existingState.processCompositionFormData.retainingData ? this.context.existingState.processCompositionFormData.retainingData : {}\r\n if (this.state.topUpIndustry && this.state.topUpFunction && this.state.topUpModule) {\r\n this.getTopupFuncList(this.state.topUpIndustry, true);\r\n } else if (processCompositionFormData.tmpTopUpIndustry && processCompositionFormData.tmpTopUpFunction && processCompositionFormData.tmpTopUpModule) {\r\n this.getTopupFuncList(processCompositionFormData.tmpTopUpIndustry, true);\r\n }\r\n }\r\n }\r\n async handleRemoveSelected(topup) {\r\n this.setState({ showAlertRemoveSelected: false })\r\n let reviewCartData = this.state.cartScenarios.basePack ? this.state.cartScenarios.basePack.Scenarios : [];\r\n let selectedItems = this.state.basepackselectedItems;\r\n const topupSelected = topup && this.state.topUPselectedItems && Object.keys(this.state.topUPselectedItems).length > 0;\r\n if (topupSelected) {\r\n reviewCartData = this.state.cartScenarios.topup ? this.state.cartScenarios.topup.Scenarios : [];\r\n selectedItems = this.state.topUPselectedItems;\r\n }\r\n if (this.state.activeSection.activeSectionIFMFilter) {\r\n if (topupSelected) {\r\n let reviewData = this.state.cartScenarios.topup ? this.state.cartScenarios.topup.Scenarios : [];\r\n const topUpselectedItems = this.state.topUPselectedItems;\r\n this.retainSelectedItems(reviewData, topUpselectedItems)\r\n }\r\n } else if (this.state.activeSection.activeSectionbasePackFilter) {\r\n let reviewData = this.state.cartScenarios.basePack ? this.state.cartScenarios.basePack.Scenarios : [];\r\n const basePackSelectedItems = this.state.basepackselectedItems;\r\n this.retainSelectedItems(reviewData, basePackSelectedItems)\r\n }\r\n let filteredScenarios = removeObjFromArrayByStringIds(reviewCartData, Object.keys(selectedItems), 'ScenarioID');\r\n let tmpCartObj = {}\r\n let tmpBaseOrTopupObj = {}\r\n\r\n if (topupSelected) {\r\n if (filteredScenarios.length === 0) {\r\n tmpCartObj = {}\r\n } else {\r\n const topUP = prepareCartObj({ name: 'Top-up Process Scenarios', count: filteredScenarios.length, scenarios: filteredScenarios, isTopUp: true })\r\n tmpCartObj = { ...tmpCartObj, topup: topUP }\r\n }\r\n if (this.state.cartScenarios && !!this.state.cartScenarios.basePack && this.state.cartScenarios.basePack.ScenarioCount > 0) {\r\n tmpBaseOrTopupObj = {\r\n basePack: this.state.cartScenarios.basePack\r\n }\r\n }\r\n tmpCartObj = { ...tmpBaseOrTopupObj, ...tmpCartObj }\r\n } else {\r\n if (filteredScenarios.length === 0) {\r\n tmpCartObj = {}\r\n } else {\r\n const basicpack = prepareCartObj({ name: `${this.state.selectedBaseIndustryNm}`, count: filteredScenarios.length, scenarios: filteredScenarios, isTopUp: false })\r\n tmpCartObj = { ...tmpCartObj, basePack: basicpack }\r\n }\r\n if (this.state.cartScenarios && !!this.state.cartScenarios.topup && this.state.cartScenarios.topup.ScenarioCount > 0) {\r\n tmpBaseOrTopupObj = {\r\n topup: this.state.cartScenarios.topup\r\n }\r\n }\r\n tmpCartObj = { ...tmpCartObj, ...tmpBaseOrTopupObj }\r\n }\r\n await this.setState({\r\n reviewCartData: Object.values(tmpCartObj)\r\n })\r\n this.handleDelete(topupSelected)\r\n\r\n }\r\n async retainSelectedItems(cartData, selectedScenario) {\r\n let filteredBasepackScenarios = removeObjFromArrayByStringIds(cartData, Object.keys(selectedScenario), 'ScenarioID');\r\n const updatedScenarios = prepareObjByArrWithKeyName(filteredBasepackScenarios, 'ScenarioID')\r\n await this.setState({ selectedItems: updatedScenarios })\r\n }\r\n async getSearchScenarios() {\r\n if (!!this.state.searchScenario && this.state.searchScenario.length >= 3) {\r\n this.setState({\r\n showSpinner: true,\r\n topUpIndustry: '',\r\n selectedTopUpIndustry: '',\r\n topUpFunction: '',\r\n topUpIFunctionsList: [],\r\n topUpModule: '',\r\n topUpModuleList: [],\r\n scenarios: [],\r\n isSearchScenario: true,\r\n isTopUpSelected: false\r\n })\r\n\r\n let url = `scenarioSearch?searchText=${encodeURIComponent(this.state.searchScenario)}`\r\n if (this.state.basePackChbk === true) {\r\n url = url + `&basePackIndustryId=${this.state.basePackIndustry}`\r\n }\r\n const response = await getData({ serviceName: url });\r\n const { success, data, error, isInfo } = await response;\r\n\r\n if (success) {\r\n await this.setState({\r\n scenarios: !!data.Scenarios ? data.Scenarios : [],\r\n showSpinner: false,\r\n showSearchedText: this.state.searchScenario\r\n })\r\n if (this.state.scenarios && this.state.scenarios.length > 0) {\r\n const mandatoryFields = true\r\n let selectedValue = this.state.scenarios.filter(function (key) {\r\n return key.IsMandatory === mandatoryFields\r\n });\r\n if (this.state.basePackChbk) {\r\n let selectedData = this.state.cartScenarios.basePack ? this.state.cartScenarios.basePack.Scenarios : [];\r\n selectedValue = [...selectedData, ...selectedValue]\r\n } else {\r\n let selectedData = this.state.cartScenarios.topup ? this.state.cartScenarios.topup.Scenarios : [];\r\n selectedValue = [...selectedData, ...selectedValue]\r\n }\r\n if (selectedValue.length > 0) {\r\n const updatedScenarios = prepareObjByArrWithKeyName(selectedValue, 'ScenarioID')\r\n await this.setState({\r\n mandatoryScenarios: { ...updatedScenarios },\r\n selectedItems: updatedScenarios\r\n })\r\n } else {\r\n await this.setState({ selectedItems: {} })\r\n }\r\n }\r\n } else {\r\n await this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false, showSearchedText: this.state.searchScenario, scenarios: '' });\r\n }\r\n } else {\r\n await this.setState({\r\n scenarios: [],\r\n showSpinner: false,\r\n showSearchedText: this.state.searchScenario\r\n })\r\n }\r\n }\r\n\r\n loadComponentDetails = (evt) => {\r\n this.setState({ activeSection: {} })\r\n loadComponentDetails(evt)\r\n let namelabel = `activeSection${evt.currentTarget.id}`;\r\n if (evt != null) {\r\n this.setState({ activeSection: { [namelabel]: true } })\r\n }\r\n }\r\n render() {\r\n const basePackPClassNm = `${!this.state.basePackChbk ? 'base-pack-subtitle deactive-base-pack-filter' : 'base-pack-subtitle'}`\r\n const scenarios = (this.state.scenarios && this.state.scenarios.length > 0) ? this.state.scenarios : []\r\n const revCount = getCountForReviewBtn(this.state.cartScenarios)\r\n const cartCount = `${revCount}`\r\n const activeIMFFilter = this.state.activeSection.activeSectionIFMFilter\r\n const activeSearch = this.state.activeSection.activeSectionsearchTextFilter\r\n const activeBasePack = this.state.activeSection.activeSectionbasePackFilter\r\n return (\r\n \r\n {() => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    { this.loadComponentDetails(event); }}>\r\n
    \r\n { this.handleBasePackCheckBox(e) }} value={this.state.basePackChbk ? this.state.basePackChbk : false}\r\n checked={this.state.basePackChbk ? this.state.basePackChbk : false} />Base Pack\r\n
    \r\n
    Industry:\r\n this.handleBasePackIndustry(e)}\r\n selected_value={!!this.state.basePackIndustry ? this.state.basePackIndustry : \"\"} parent_custom_class=\"custom-filter-field base-pack-filter\" />\r\n
    \r\n
    \r\n
    { this.loadComponentDetails(event); }} >\r\n this.handleTopUpIndustry(e)} selected_value={this.state.topUpIndustry ? this.state.topUpIndustry : \"\"} parent_custom_class=\"custom-filter-field\"\r\n />\r\n this.handleTopUpFunction(e)} selected_value={this.state.topUpFunction ? this.state.topUpFunction : ''}\r\n parent_custom_class=\"custom-filter-field\"\r\n all_fun_selected={!!this.state.allFunSelected ? true : undefined} disabled={this.state.topUpIFunctionsList.length < 1} />\r\n this.handleTopUpModule(e, false)} selected_value={this.state.topUpModule ? this.state.topUpModule : ''}\r\n parent_custom_class=\"custom-filter-field\" disabled={this.state.topUpModuleList.length < 1} />\r\n
    \r\n\r\n { this.loadComponentDetails(event); }}>\r\n this.handleSearch(e)} onKeyPress={(e) => { this.searchOnEnterKey(e) }} />\r\n
    { this.getSearchScenarios() }}>\r\n Search\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    Process Scenarios
    \r\n {activeIMFFilter || activeBasePack ? (Filter mode) : activeSearch ? (Search mode)   {this.state.showSearchedText && `You have searched for: ${this.state.showSearchedText}`} : ''\r\n }\r\n
    \r\n {scenarios.length > 0 &&
    \r\n
    \r\n { this.selectAllScenarios(e) }}\r\n value={this.state.selectAllCheck} title=\"check\"\r\n checked={this.state.selectAllCheck}\r\n disabled={false} />\r\n Select All\r\n
    \r\n { this.clearAll() }}>Clear All\r\n
    }\r\n
    \r\n
    \r\n
    \r\n {scenarios.length > 0 ? scenarios.map(item => {\r\n let namelabel = `${item.ScenarioID}`\r\n let isMandatoryScenario = item.IsMandatory ? 'scenario-card col-md-4 mandatory-scenario' : 'scenario-card col-md-4'\r\n let isMand = item.IsMandatory || (!!this.state.selectedItems && this.state.selectedItems[namelabel]) ? \"card-content highlight-card\" : \"card-content\"\r\n\r\n return
    { this.handleCardSelection(namelabel, item) }}>\r\n
    \r\n
    \r\n {item.IndustryName}\r\n {item.FunctionName}\r\n {item.ModuleName}\r\n
    \r\n
    {item.ScenarioName}
    \r\n

    {item.IsMandatory ? \"Mandatory\" : ''}

    \r\n
    \r\n
    \r\n }) : activeIMFFilter ?

    Please select industry, function and module or search by scenario to view the scenarios.

    \r\n : activeSearch ?

    Please search by scenarios to view the result.

    : activeBasePack &&

    Please select Base Pack Industry to add all the scenarios to cart.

    }\r\n
    \r\n
    \r\n
    \r\n { this.handleOnClickBack() }} label=\"Back\" data-tut=\"back-button\" />\r\n
    \r\n \r\n { this.handleClearForm(e) }} label=\"Reset\" data-tut=\"reset-button\" />\r\n { this.handleReviewCart() }} label=\"Review Cart\"\r\n cartCount={cartCount} data-tut=\"back-button\" />\r\n
    0 ? \"secondary-button secondary-button-inactive \" : \"secondary-button secondary-button-inactive add-cart-btn\"}\r\n onClick={() => { this.handleAddToCart() }} >\r\n \"cart\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {this.state.resetPopup && ( { this.setState({ resetPopup: false }); }}\r\n handleClose={() => { this.setState({ resetPopup: false }); this.resetFields(); }}>

    Are you sure you want to reset this page?

    \r\n )}\r\n\r\n {this.state.showAlertForSameTopupBaseScenarios &&\r\n { this.setState({ showAlertForSameTopupBaseScenarios: false, sameTopupBaseScenariosTxt: '' }); }} buttonPosition=\"center-button\"> {this.state.sameTopupBaseScenariosTxt} }\r\n {!!this.state.showAlertForMandatoryScenario &&\r\n
    \r\n { this.setState({ showAlertForMandatoryScenario: false }) }}\r\n handleCancel={() => { this.setState({ showAlertForMandatoryScenario: false }) }}\r\n >{this.state.showAlertForMandatoryScenarioTxt}\r\n
    \r\n }\r\n\r\n {\r\n this.state.showReviewCart && ( { this.handleDelete(); this.setState({ showReviewCart: false }); }}\r\n handleCancel={() => { this.clearSelectedItems(); this.setState({ showReviewCart: false }); }}\r\n buttonLabel=\"DONE\" showCancelBtn={true} buttonPosition=\"center-button\" extraClass=\"review-cart-modal\">\r\n { ((this.state.topUPselectedItems && Object.keys(this.state.topUPselectedItems).length > 0) || (this.state.basepackselectedItems && Object.keys(this.state.basepackselectedItems).length > 0)) &&
    Selected {((this.state.topUPselectedItems && Object.keys(this.state.topUPselectedItems).length > 0) ? (Object.keys(this.state.topUPselectedItems).length) : 0) + ((this.state.basepackselectedItems && Object.keys(this.state.basepackselectedItems).length > 0) ? (Object.keys(this.state.basepackselectedItems).length) : 0)} Search { this.setState({ showAlertRemoveSelected: true }) }} className=\"float-right \">Remove Selected
    }\r\n { this.handleRemoveSelected() }} handleSelectedScenario={(ID, singleItem, isTopUp) => { this.handleSelectedData(ID, singleItem, isTopUp) }} handleDeleteScenario={(ID, isTopUp) => { this.removeItem(ID, isTopUp) }}\r\n handleShowMore={isTopUp => { this.clickShowMore(isTopUp) }}>\r\n {!!this.state.showAlertRemoveSelected &&\r\n
    \r\n { this.handleRemoveSelected(true) }}\r\n handleCancel={() => { this.setState({ showAlertRemoveSelected: false }) }}\r\n >Are you sure you want to Remove the selected Scenario?\r\n
    \r\n }\r\n
    \r\n )\r\n }\r\n \r\n {this.state.showSpinner && }\r\n {!!this.state.showToast && }\r\n {this.state.error && { this.setState({ showErrorPopup: false }) }} buttonPosition=\"center-button\">

    {this.state.error}

    }\r\n {this.state.showAlertDuplicateScenario &&\r\n { this.setState({ showAlertDuplicateScenario: false }); }} buttonPosition=\"center-button\"> Some selected scenario(s) already been added in the cart. \r\n }\r\n
    \r\n );\r\n }\r\n }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nProcessCompositionForm.contextType = RequestContext;\r\nexport default ProcessCompositionForm;","import { validateWithPattern, isFormFieldsValid } from \"../../../components/validators/validate\";\r\n\r\nexport const validateInput = (name, formData) => {\r\n\r\n let requirFields = formData.data.find(formFields => formFields.FormKey === name && formFields.Validations.IsRequired === true);\r\n\r\n let response = true\r\n let errorMessage = '', errorkey = `${name}Error`\r\n if (!!requirFields) {\r\n if (formData[name] === '' || formData[name] === null) {\r\n errorMessage = requirFields.ValidationMessages.RequiredMessage\r\n response = false\r\n }\r\n else {\r\n if (name === 'AccountExecutiveEmail' || name === 'ListOfUserEmails') {\r\n const isValid = validateEmailByPattern({ pattern: requirFields.Validations.Pattern, value: formData[name], formState: formData })\r\n if (!isValid) errorMessage = requirFields.ValidationMessages.PatternMessage\r\n }\r\n }\r\n }\r\n return {\r\n fieldError: {\r\n [errorkey]: errorMessage\r\n },\r\n haveError: response\r\n }\r\n}\r\n\r\nexport const validateEmailByPattern = ({ keyName = '', pattern, value, formState }) => {\r\n if (keyName !== '') {\r\n let requirFields = formState.data.find(formFields => formFields.FormKey === keyName);\r\n pattern = requirFields.Validations.Pattern\r\n }\r\n value = value.trim();\r\n return validateWithPattern({ pattern, value })\r\n}\r\n\r\n\r\nexport const validate = (formData) => {\r\n\r\n let isError = false;\r\n let tmpErrObj = {}\r\n\r\n const isUserEmailsValid = validateEmailByPattern({ keyName: 'ListOfUserEmails', value: formData.ListOfUserEmails, formState: formData })\r\n if (!isUserEmailsValid) isError = true\r\n if (!formData.termsAndCondition) {\r\n tmpErrObj = {\r\n ...tmpErrObj,\r\n termsAndConditionError: 'Please accept the terms and conditions.'\r\n }\r\n isError = true\r\n }\r\n if (formData.ListOfUserEmails !== '') {\r\n let strEmails = formData.ListOfUserEmails\r\n let strArr = strEmails.split(';');\r\n strArr = strArr.filter(function (el) {\r\n return el !== null && el !== '';\r\n });\r\n let strArray = strArr.reduce((acc, currentVal) => {\r\n return [...acc, currentVal.trim()]\r\n }, [])\r\n let inValidMsg = ''\r\n if (strArray.length > 0) {\r\n let foundSameEmail = false\r\n strArray.filter((item, i, ar) => {\r\n if (ar.indexOf(item) !== i) foundSameEmail = true\r\n return ar.indexOf(item) === i\r\n });\r\n if (foundSameEmail) {\r\n inValidMsg = 'Unique emails needed. Only Accenture and Avanade domain is valid.'\r\n isError = true\r\n } else {\r\n strArray.map((item) => {\r\n const isValid = validateEmailByPattern({ keyName: 'ListOfUserEmails', value: item.trim(), formState: formData })\r\n if (!isValid) {\r\n inValidMsg = 'Enter a valid email. Only Accenture and Avanade domain is valid.'\r\n isError = true\r\n }\r\n return null\r\n })\r\n }\r\n }\r\n\r\n if (isError) {\r\n tmpErrObj = {\r\n ...tmpErrObj,\r\n ListOfUserEmailsError: inValidMsg\r\n }\r\n }\r\n }\r\n\r\n if (!isFormFieldsValid(formData)) isError = true\r\n // if (formData.cartArr.length < 1) {\r\n // tmpErrObj = {\r\n // ...tmpErrObj,\r\n // cartDetailsError: 'Please add some systems / applications.'\r\n // }\r\n // isError = true\r\n // }\r\n return {\r\n fieldError: {\r\n ...tmpErrObj\r\n },\r\n haveError: isError\r\n }\r\n}","import React, { Component, Fragment } from \"react\";\r\nimport \"./oracle-form.scss\";\r\nimport additionFormSchema from \"../../../assets/data/sap-form\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { addDays } from \"date-fns\";\r\nimport parse from 'html-react-parser';\r\nimport { Link } from \"react-router-dom\";\r\nimport { setErrorMessages, resetStates } from \"../../../components/validators/validate\";\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\"\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport { validate, validateInput } from \"../oracle-form/oracle-form-validation\"\r\nimport { setInitialStates } from \"../common-functionality-forms/form-common-functionality\"\r\nimport { Constant, CustomButton, DatePicker, CustomTextArea, Modal, Cart, Spinner, Checkbox, dateFormat } from \"../common-functionality-forms/form-imports\";\r\n\r\nclass OracleForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleInput = this.handleInput.bind(this);\r\n this.handleClearForm = this.handleClearForm.bind(this);\r\n this.handleOnClickBack = this.handleOnClickBack.bind(this);\r\n this.handleFormSubmit = this.handleFormSubmit.bind(this);\r\n }\r\n componentWillMount() {\r\n this.setDefaultStates();\r\n }\r\n\r\n componentDidMount() {\r\n this.getFormData();\r\n this.props.setScreenName({ screenName: \"OracleForm\" })\r\n }\r\n\r\n setDefaultStates() {\r\n this.setState({\r\n resetPopup: false, submitPopup: false, showSpinner: true, data: additionFormSchema ? additionFormSchema.Config : [],\r\n industryListJson: [], index: this.props.formIndex, setDataFromContext: false,\r\n cartError: true,\r\n disclaimer: '',\r\n linkPopup: false,\r\n })\r\n }\r\n\r\n async handleInput(e) {\r\n let { name, value } = e.target;\r\n if (name === \"ListOfUserEmails\") {\r\n value = value.toLowerCase();\r\n }\r\n await this.setState({\r\n [name]: value\r\n });\r\n this.validateInput(name)\r\n }\r\n\r\n handlePlannedStartDate(date) {\r\n this.setState({\r\n PlannedStartDate: date,\r\n PlannedEndDate: addDays(date, 15)\r\n });\r\n }\r\n\r\n handleDateChangeRaw = (e) => {\r\n e.preventDefault();\r\n }\r\n\r\n getFormData() {\r\n if (this.state.data && this.state.data.length > 0) this.setInitialStates()\r\n this.getIndustries()\r\n }\r\n\r\n async getIndustries() {\r\n const response = await getData({ serviceName: `PopulateAdvanceForm?AdvanceForm=OracleEnvironment` });\r\n const { success, error, isInfo } = await response;\r\n if (success) {\r\n await this.setState({\r\n industryListJson: response.data && response.data.Industry,\r\n labelListJson: response.data && response.data.Label,\r\n disclaimer: response.data && response.data.Disclaimer,\r\n showSpinner: false\r\n }\r\n );\r\n } else {\r\n await this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n handleClearCart(val) {\r\n this.setState({\r\n clearCart: val\r\n })\r\n }\r\n handleClearForm(e) {\r\n e.preventDefault();\r\n this.setState({ resetPopup: true });\r\n }\r\n async handleTermsConditions(e) {\r\n if (e.target.checked) { await this.setState({ termsAndCondition: true, termsAndConditionError: '' }) }\r\n else {\r\n await this.setState({ termsAndCondition: false, termsAndConditionError: 'Please accept the terms and conditions.' })\r\n }\r\n }\r\n handleClick(e) { e.preventDefault(); this.setState({ linkPopup: true }); }\r\n\r\n async resetFields() {\r\n let oracleFormData = this.context && this.context.existingState ? this.context.existingState.oracleFormData : {}\r\n let basicFormData = this.context && this.context.existingState ? this.context.existingState.basicFormData : {}\r\n let PlannedStartDate = basicFormData && basicFormData.ClientDemoDate ? new Date(basicFormData.ClientDemoDate) : ''\r\n const resetFields = resetStates(this.state)\r\n await this.setState({\r\n ...resetFields, termsAndCondition: false, termsAndConditionError: \"\",\r\n PlannedStartDate: oracleFormData && oracleFormData.PlannedStartDate ? new Date(oracleFormData.PlannedStartDate) : PlannedStartDate,\r\n PlannedEndDate: oracleFormData && oracleFormData.PlannedEndDate ? new Date(oracleFormData.PlannedEndDate) : PlannedStartDate ? addDays(PlannedStartDate, 15) : '',\r\n })\r\n await this.context.addSelectedData({ oracleFormData: {} });\r\n await this.setState({ setDataFromContext: true, clearCart: true });\r\n }\r\n\r\n async setInitialStates() {\r\n const formFields = this.state.data\r\n let oracleFormData = this.context && this.context.existingState ? this.context.existingState.oracleFormData : {}\r\n let basicFormData = await this.context && this.context.existingState ? this.context.existingState.basicFormData : {}\r\n this.setState({basicFormData:basicFormData})\r\n const stateData = setInitialStates(formFields, oracleFormData)\r\n this.setStates(stateData)\r\n let PlannedStartDate = basicFormData && basicFormData.ClientDemoDate ? new Date(basicFormData.ClientDemoDate) : '',\r\n PlannedEndDate = ''\r\n if (basicFormData && basicFormData.ClientDemoDate) {\r\n PlannedStartDate = oracleFormData && oracleFormData.PlannedStartDate ? new Date(oracleFormData.PlannedStartDate) : PlannedStartDate\r\n PlannedEndDate = oracleFormData && oracleFormData.PlannedEndDate ? new Date(oracleFormData.PlannedEndDate) : PlannedStartDate ? addDays(PlannedStartDate, 15) : ''\r\n this.setState({\r\n PlannedStartDateError: \"\",\r\n PlannedEndDateError: \"\"\r\n })\r\n }\r\n await this.setState({\r\n PlannedStartDate: PlannedStartDate,\r\n PlannedEndDate: PlannedEndDate\r\n })\r\n }\r\n\r\n async setStates(states) {\r\n await this.setState({\r\n ...states\r\n })\r\n }\r\n validateInput(name) {\r\n let { fieldError, haveError } = validateInput(name, this.state)\r\n this.setStates(fieldError)\r\n return !haveError\r\n }\r\n\r\n async setErrorStates(stateWithError) {\r\n await this.setState({\r\n ...stateWithError\r\n })\r\n }\r\n\r\n async handleFormSubmit(event) {\r\n event.preventDefault()\r\n const stateWithError = setErrorMessages(this.state)\r\n this.setErrorStates(stateWithError)\r\n let { fieldError, haveError } = validate(this.state)\r\n this.setStates(fieldError)\r\n await this.setState({ validateCart: true })\r\n if (!haveError && !this.state.cartError) {\r\n await this.tabCollectingData()\r\n }\r\n }\r\n\r\n async tabCollectingData() {\r\n let tempArr = {}\r\n const formFields = this.state.data;\r\n formFields.map((form) => {\r\n const { FormKey } = form\r\n const name = FormKey\r\n tempArr = {\r\n ...tempArr,\r\n [name]: this.state[name]\r\n }\r\n return null\r\n })\r\n\r\n let contextData = this.context && this.context.existingState ? this.context.existingState.oracleFormData : {}\r\n if (contextData.cartDetails) {\r\n let landScapeObj = {\r\n termsAndCondition: this.state.termsAndCondition,\r\n cartDetails: !!contextData && contextData.cartDetails,\r\n cartArr: !!contextData && contextData.cartArr\r\n }\r\n\r\n let data = Object.values(contextData.cartDetails)\r\n let tmpLandscapeDetailsArr = []\r\n data.reduce((acc, currentVal) => {\r\n let tempVal = currentVal[0]\r\n let landscapeId = tempVal.landscapeId\r\n acc = { id: landscapeId, Systems: currentVal }\r\n tmpLandscapeDetailsArr.push(acc)\r\n return acc\r\n }, [])\r\n let oracleFormData = {\r\n ...contextData,\r\n ...tempArr,\r\n ...landScapeObj,\r\n PlannedStartDate: dateFormat(this.state.PlannedStartDate, \"isoDate\"),\r\n PlannedEndDate: dateFormat(this.state.PlannedEndDate, \"isoDate\"),\r\n landscapeDetails: tmpLandscapeDetailsArr\r\n }\r\n await this.context.addSelectedData({ oracleFormData: oracleFormData, isValidOracleformData: true,basicFormData:this.state.basicFormData });\r\n }\r\n\r\n if (this.props.btnLbl === 'Submit') {\r\n this.props.handleSubmit()\r\n } else if (this.props.btnLbl === \"Next\") {\r\n this.props.handleBtnClick(this.state.index + 1)\r\n }\r\n }\r\n\r\n handleOnClickBack() {\r\n this.props.handleBtnClick(this.state.index - 1)\r\n }\r\n\r\n enableErrorPopup = (error, isInfo) => {\r\n this.setState({ showErrorPopup: true, isInfo, error: error, showSpinner: false })\r\n }\r\n\r\n isCartError = (isError) => {\r\n this.setState({ cartError: isError, validateCart: false })\r\n }\r\n handleSetDataFromContext = () => {\r\n this.setState({ setDataFromContext: false })\r\n }\r\n render() {\r\n const formFields = this.state.data;\r\n return (\r\n \r\n {contextData => {\r\n let basicFormData = contextData && contextData.existingState ? contextData.existingState.basicFormData : {}\r\n let PlannedStartDate = basicFormData && basicFormData.ClientDemoDate ? new Date(basicFormData.ClientDemoDate) : ''\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {formFields.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`\r\n if (form.FormKey === \"PlannedStartDate\") {\r\n return (\r\n \r\n
    \r\n \r\n

    \r\n this.handlePlannedStartDate(date)} //only when value has changed\r\n minDate={PlannedStartDate ? addDays(new Date(PlannedStartDate), 0) : addDays(new Date(), 0)}\r\n maxDate={PlannedStartDate ? addDays(new Date(PlannedStartDate), 31) : addDays(new Date(), 31)}\r\n dateFormat=\"dd-MMM-yyyy\"\r\n placeholderText=\"DD-MMM-YYYY\"\r\n onChangeRaw={this.handleDateChangeRaw}\r\n />\r\n {this.state.PlannedStartDate ? '' : !!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"PlannedEndDate\") {\r\n return (\r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n )\r\n }\r\n return null\r\n })}\r\n
    \r\n

    \"Info\" Standard Oracle Environment access is provided for 2 weeks starting from the day the access is granted. This duration may vary as per the industry and the system selected.

    \r\n\r\n
    \r\n
    \r\n {formFields.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`\r\n if (form.FieldType === \"textArea\") {\r\n return (\r\n \r\n

    \r\n \r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n )\r\n }\r\n return null\r\n })}\r\n
    \r\n\r\n
    \r\n
    { this.handleClearCart(val) }} showError={(isError) => { this.isCartError(isError) }}\r\n validateCart={this.state.validateCart} setDataFromContext={this.state.setDataFromContext} handleSetDataFromContext={this.handleSetDataFromContext} />
    \r\n
    \r\n { this.handleTermsConditions(e) }} />\r\n Check here to indicate that you have read and agreed to the this.handleClick(e)}>{this.state.disclaimer && this.state.disclaimer[0].Name}\r\n {!!this.state.termsAndConditionError ? {this.state.termsAndConditionError} : ''}\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    {\r\n this.state.linkPopup && (\r\n {\r\n this.setState({ linkPopup: false });\r\n }} buttonPosition=\"center-button\">
      {this.state.disclaimer && parse(this.state.disclaimer[0].Description)}
    \r\n
    \r\n )\r\n }\r\n
    \r\n
    \r\n
    \r\n {this.state.resetPopup && (\r\n {\r\n this.setState({ resetPopup: false, setDataFromContext: true });\r\n }}\r\n handleClose={() => {\r\n this.setState({ resetPopup: false });\r\n this.resetFields();\r\n }}>\r\n

    Are you sure you want to reset this page?

    \r\n \r\n )}\r\n {this.state.showSpinner && }\r\n {this.state.showAlertDuplicateDetails &&\r\n {\r\n this.setState({ showAlertDuplicateDetails: false });\r\n }} buttonPosition=\"center-button\"> Some selected system(s) already been added in the cart. }\r\n {this.state.mandatorySysRemoveAlert &&\r\n {\r\n this.setState({ mandatorySysRemoveAlert: false });\r\n }} buttonPosition=\"center-button\"> You have removed mandatory system hence other associated systems also might get removed if any. }\r\n
    \r\n );\r\n }}\r\n
    \r\n );\r\n }\r\n}\r\nOracleForm.contextType = RequestContext;\r\nexport default OracleForm","import React, { Fragment, useState, useEffect, useContext } from \"react\";\r\nimport {\r\n CustomInput,\r\n CustomButton,\r\n CustomSelect,\r\n Spinner,\r\n Modal,\r\n} from \"../common-functionality-forms/form-imports\";\r\nimport solutionPlanningFormSchema from \"../../../assets/data/solution-planning-form.json\";\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport \"./solution-planning-form.scss\";\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\";\r\nimport {\r\n validateWithPattern,\r\n duplicateEmail,\r\n} from \"../../../components/validators/validate\";\r\n\r\nconst SolutionPlanningForm = (props) => {\r\n const formFields =\r\n solutionPlanningFormSchema && solutionPlanningFormSchema.Config;\r\n const [opportunityType, setOpportunityType] = useState(\"\");\r\n const [opportunityTypeList, setOpportunityTypeList] = useState([]);\r\n const [opportunityStage, setOpportunityStage] = useState(\"\");\r\n const [opportunityStageList, setOpportunityStageList] = useState([]);\r\n const [deliveryLead, setDeliveryLead] = useState(\"\");\r\n const [solutionArchitect, setSolutionArchitect] = useState(\"\");\r\n const [formIndex] = useState(props.formIndex);\r\n const [formError, setFormError] = useState({});\r\n const [showResetPopup, setResetPopup] = useState(false);\r\n const [showSpinner, setShowSpinner] = useState(true);\r\n const context = useContext(RequestContext);\r\n const { setScreenName } = props;\r\n\r\n const [basicFormData, setBasicFormData] = useState(\"\");\r\n\r\n useEffect(() => {\r\n getFormData();\r\n setInitialStates();\r\n setScreenName({ screenName: \"solutionPlanningForm\" });\r\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n let OpportunityTypeID = !!opportunityType\r\n ? convertNameToId(opportunityType, opportunityTypeList)\r\n : \"\";\r\n let OpportunityStageID = !!opportunityStage\r\n ? convertNameToId(opportunityStage, opportunityStageList)\r\n : \"\";\r\n let solutionPlanningFormData = {\r\n opportunityType,\r\n opportunityTypeList,\r\n opportunityStage,\r\n opportunityStageList,\r\n DeliveryLead: deliveryLead,\r\n SolutionArchitect: solutionArchitect,\r\n formError,\r\n OpportunityTypeID,\r\n OpportunityStageID,\r\n };\r\n if (opportunityTypeList.length > 0 && opportunityStageList.length > 0) {\r\n context.existingState.basicFormData.OpportunityID = basicFormData;\r\n context.addSelectedData({\r\n ...context,\r\n solutionPlanningFormData: solutionPlanningFormData,\r\n });\r\n }\r\n }, [\r\n opportunityType,\r\n opportunityTypeList,\r\n opportunityStage,\r\n opportunityStageList,\r\n deliveryLead,\r\n solutionArchitect,\r\n formError,\r\n ]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n\r\n async function setInitialStates() {\r\n \r\n context &&\r\n context.existingState &&\r\n setBasicFormData(context.existingState.basicFormData.OpportunityID);\r\n let solutionPlanningFormData =\r\n context && context.existingState\r\n ? context.existingState.solutionPlanningFormData\r\n : {};\r\n if (\r\n solutionPlanningFormData &&\r\n Object.keys(solutionPlanningFormData).length > 0\r\n ) {\r\n let oppType = solutionPlanningFormData.opportunityType\r\n ? solutionPlanningFormData.opportunityType\r\n : \"\";\r\n let oppStage = solutionPlanningFormData.opportunityStage\r\n ? solutionPlanningFormData.opportunityStage\r\n : \"\";\r\n let delLead = solutionPlanningFormData.DeliveryLead\r\n ? solutionPlanningFormData.DeliveryLead\r\n : \"\";\r\n let solArchitect = solutionPlanningFormData.SolutionArchitect\r\n ? solutionPlanningFormData.SolutionArchitect\r\n : \"\";\r\n let oppTypeList = solutionPlanningFormData.opportunityTypeList\r\n ? solutionPlanningFormData.opportunityTypeList\r\n : [];\r\n let oppStageList = solutionPlanningFormData.opportunityStageList\r\n ? solutionPlanningFormData.opportunityStageList\r\n : [];\r\n let formErr = solutionPlanningFormData.formError\r\n ? solutionPlanningFormData.formError\r\n : {};\r\n setOpportunityType(oppType);\r\n setOpportunityStage(oppStage);\r\n setDeliveryLead(delLead);\r\n setSolutionArchitect(solArchitect);\r\n setOpportunityStageList(oppStageList);\r\n setOpportunityTypeList(oppTypeList);\r\n setFormError(formErr);\r\n }\r\n }\r\n\r\n async function getFormData() {\r\n const response = await getData({\r\n serviceName: `PopulateAdvanceForm?AdvanceForm=SolutionPlanning`,\r\n });\r\n const { success } = await response;\r\n if (success) {\r\n const { data } = response;\r\n if (data) {\r\n const { OpportunityType = [], OpportunityStage = [] } = data;\r\n setOpportunityStageList(OpportunityStage);\r\n setOpportunityTypeList(OpportunityType);\r\n setShowSpinner(false);\r\n }\r\n }\r\n }\r\n\r\n const validateInput = (name, value) => {\r\n let isValid,\r\n haveDuplicate,\r\n pattern,\r\n fieldObj,\r\n errorMessage = \"\",\r\n errorKey = `${name.charAt(0).toUpperCase() + name.slice(1)}Error`;\r\n fieldObj = formFields.find(\r\n (el) => el.FormKey.toLowerCase() === name.toLowerCase()\r\n );\r\n if (value === \"\") {\r\n errorMessage = fieldObj.ValidationMessages.RequiredMessage;\r\n } else {\r\n pattern = fieldObj.Validations.Pattern;\r\n isValid = validateWithPattern({ pattern, value });\r\n haveDuplicate = duplicateEmail(value);\r\n if (!isValid) {\r\n errorMessage = fieldObj.ValidationMessages.PatternMessage;\r\n }\r\n if (haveDuplicate) {\r\n errorMessage = fieldObj.ValidationMessages.duplicateMessage;\r\n }\r\n }\r\n setFormError((formErr) => {\r\n return { ...formErr, [errorKey]: errorMessage };\r\n });\r\n };\r\n\r\n const handleInput = (e) => {\r\n const { name, value } = e.target;\r\n switch (name) {\r\n case \"opportunityType\":\r\n setOpportunityType(value);\r\n break;\r\n case \"opportunityStage\":\r\n setOpportunityStage(value);\r\n break;\r\n case \"deliveryLead\":\r\n setDeliveryLead(value);\r\n break;\r\n case \"solutionArchitect\":\r\n setSolutionArchitect(value);\r\n break;\r\n default:\r\n break;\r\n }\r\n validateInput(name, value);\r\n };\r\n\r\n const validateOnSubmit = () => {\r\n let errorFlag = false;\r\n let errors = formFields.reduce((acc, el) => {\r\n let field = el.FormKey;\r\n let fieldErrName = `${el.FormKey}Error`;\r\n let fieldErrorMsg = \"\";\r\n switch (field) {\r\n case \"OpportunityType\":\r\n if (opportunityType === \"\") {\r\n errorFlag = true;\r\n fieldErrorMsg = el.ValidationMessages.RequiredMessage;\r\n } else {\r\n let pattern = el.Validations.Pattern;\r\n let isValid = validateWithPattern({\r\n pattern,\r\n value: opportunityType,\r\n });\r\n if (!isValid) {\r\n errorFlag = true;\r\n fieldErrorMsg = el.ValidationMessages.PatternMessage;\r\n }\r\n }\r\n return { ...acc, [fieldErrName]: fieldErrorMsg };\r\n case \"OpportunityStage\":\r\n if (opportunityStage === \"\") {\r\n errorFlag = true;\r\n fieldErrorMsg = el.ValidationMessages.RequiredMessage;\r\n } else {\r\n let patterne = el.Validations.Pattern;\r\n let isValide = validateWithPattern({\r\n patterne,\r\n value: opportunityStage,\r\n });\r\n if (!isValide) {\r\n errorFlag = true;\r\n fieldErrorMsg = el.ValidationMessages.PatternMessage;\r\n }\r\n }\r\n return { ...acc, [fieldErrName]: fieldErrorMsg };\r\n case \"DeliveryLead\":\r\n let patterns = el.Validations.Pattern;\r\n let isValids = validateWithPattern({ patterns, value: deliveryLead });\r\n let haveDuplicate = duplicateEmail(deliveryLead);\r\n if (deliveryLead === \"\") {\r\n errorFlag = true;\r\n fieldErrorMsg = el.ValidationMessages.RequiredMessage;\r\n } else if (!isValids) {\r\n errorFlag = true;\r\n fieldErrorMsg = el.ValidationMessages.PatternMessage;\r\n } else if (haveDuplicate) {\r\n errorFlag = true;\r\n fieldErrorMsg = el.ValidationMessages.duplicateMessage;\r\n }\r\n\r\n return { ...acc, [fieldErrName]: fieldErrorMsg };\r\n case \"SolutionArchitect\":\r\n isValids = validateWithPattern({\r\n patterns,\r\n value: solutionArchitect,\r\n });\r\n haveDuplicate = duplicateEmail(solutionArchitect);\r\n if (solutionArchitect === \"\") {\r\n errorFlag = true;\r\n fieldErrorMsg = el.ValidationMessages.RequiredMessage;\r\n } else if (!isValids) {\r\n errorFlag = true;\r\n fieldErrorMsg = el.ValidationMessages.PatternMessage;\r\n } else if (haveDuplicate) {\r\n errorFlag = true;\r\n fieldErrorMsg = el.ValidationMessages.duplicateMessage;\r\n }\r\n\r\n return { ...acc, [fieldErrName]: fieldErrorMsg };\r\n default:\r\n return { ...acc };\r\n }\r\n }, {});\r\n return { errorFlag, errors };\r\n };\r\n\r\n const handleClearForm = () => {\r\n setOpportunityType(\"\");\r\n setOpportunityStage(\"\");\r\n setDeliveryLead(\"\");\r\n setSolutionArchitect(\"\");\r\n setFormError({});\r\n };\r\n\r\n const handleOnClickBack = () => {\r\n props.handleBtnClick(formIndex - 1);\r\n };\r\n\r\n const convertNameToId = (name, list = []) => {\r\n if (list.length > 0) {\r\n let reqObj = list.find((el) => el.Name === name);\r\n return reqObj.ID;\r\n }\r\n };\r\n\r\n const handleFormSubmit = async (event) => {\r\n const { errorFlag, errors } = validateOnSubmit();\r\n if (errorFlag) {\r\n setFormError((formErr) => {\r\n return { ...formErr, ...errors };\r\n });\r\n } else {\r\n let solutionPlanningFormData = {\r\n OpportunityTypeID: !!opportunityType\r\n ? convertNameToId(opportunityType, opportunityTypeList)\r\n : \"\",\r\n OpportunityStageID: !!opportunityStage\r\n ? convertNameToId(opportunityStage, opportunityStageList)\r\n : \"\",\r\n DeliveryLead: deliveryLead,\r\n SolutionArchitect: solutionArchitect,\r\n opportunityType,\r\n opportunityTypeList,\r\n opportunityStage,\r\n opportunityStageList,\r\n formError,\r\n };\r\n\r\n context.existingState.basicFormData.OpportunityID = basicFormData;\r\n\r\n await context.addSelectedData({\r\n ...context,\r\n solutionPlanningFormData: solutionPlanningFormData,\r\n });\r\n if (props.btnLbl === \"Submit\") {\r\n props.handleSubmit();\r\n } else if (props.btnLbl === \"Next\") {\r\n props.handleBtnClick(formIndex + 1);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n {formFields &&\r\n formFields.length > 0 &&\r\n formFields.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`;\r\n if (form.FormKey === \"OpportunityType\") {\r\n return (\r\n \r\n
    \r\n \r\n handleInput(e)}\r\n name=\"opportunityType\"\r\n id={form.FormKey}\r\n options={opportunityTypeList}\r\n selected_value={opportunityType}\r\n use_name=\"true\"\r\n />\r\n {!!formError[keyString] ? (\r\n \r\n {formError[keyString]}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"OpportunityStage\") {\r\n return (\r\n \r\n
    \r\n \r\n handleInput(e)}\r\n id={form.FormKey}\r\n name=\"opportunityStage\"\r\n options={opportunityStageList}\r\n selected_value={opportunityStage}\r\n use_name=\"true\"\r\n />\r\n {formError[keyString] ? (\r\n \r\n {formError[keyString]}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n return null;\r\n })}\r\n
    \r\n
    \r\n {formFields &&\r\n formFields.length > 0 &&\r\n formFields.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`;\r\n if (form.FormKey === \"DeliveryLead\") {\r\n return (\r\n \r\n {\" \"}\r\n {!!formError[keyString] ? (\r\n \r\n {formError[keyString]}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n );\r\n }\r\n if (form.FormKey === \"SolutionArchitect\") {\r\n return (\r\n \r\n {\" \"}\r\n {!!formError[keyString] ? (\r\n \r\n {formError[keyString]}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n );\r\n }\r\n return null;\r\n })}\r\n
    \r\n
    \r\n
    \r\n \r\n {props.btnLbl}{\" \"}\r\n \r\n \r\n setResetPopup(true)}\r\n id=\"solution-planning-reset-button\"\r\n label=\"Reset\"\r\n data-tut=\"reset-button\"\r\n />\r\n
    \r\n {showResetPopup && (\r\n {\r\n setResetPopup(false);\r\n }}\r\n handleClose={() => {\r\n setResetPopup(false);\r\n handleClearForm();\r\n }}\r\n >\r\n {\" \"}\r\n

    \r\n {\" \"}\r\n Are you sure you want to reset this page?{\" \"}\r\n

    \r\n \r\n )}\r\n {showSpinner && }\r\n
    \r\n );\r\n};\r\n\r\nexport default SolutionPlanningForm;\r\n","import React, { Fragment, Component } from 'react';\r\nimport ReactHtmlParser from 'react-html-parser';\r\nimport \"./tab.scss\";\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\";\r\nimport { loadComponentDetails } from \"../../common/tab-manipulations\"\r\nimport SAPDemoForm from \"../../form/sap-demo-form/sap-demo-form\";\r\nimport BasicForm from \"../../form/basic-form/basic-form\";\r\nimport CrpForm from \"../../form/crp-form/crp-form\";\r\nimport SuccessFactorForm from \"../../form/success-factor-form/success-factor-form\";\r\nimport TalentHRForm from \"../../form/talent-hr-form/talent-hr-form\";\r\nimport ProcessCompositionForm from '../../form/process-composition-form/process-composition-form';\r\nimport OracleForm from \"../../form/oracle-form/oracle-form\";\r\nimport SolutionPlanningForm from \"../../form/solution-planning-form/solution-planning-form\";\r\nimport * as Constant from \"../../../components/constants/constant\";\r\nimport { Modal } from \"../../form/common-functionality-forms/form-imports\";\r\n\r\nclass Tab extends Component {\r\n constructor(context, props) {\r\n super(context, props);\r\n let valStatus = Object.values(props.existingState.selectedServices)[0].svcStatus\r\n let status = (valStatus === \"Decommissioned\" || valStatus === \"InActive\") \r\n this.state = {\r\n categoryId: this.props.catId,\r\n tabIndex: \"basic\",\r\n isDecommissioned: status\r\n }\r\n }\r\n\r\n OnBtnClick = (formIndex) => {\r\n let i, tabcontent, tablinks, formName;\r\n tabcontent = document.getElementsByClassName(\"tabcontent\");\r\n tablinks = document.getElementsByClassName(\"tablinks\");\r\n\r\n for (i = 0; i < tabcontent.length; i++) {\r\n tabcontent[i].style.display = \"none\";\r\n }\r\n for (i = 0; i < tablinks.length; i++) {\r\n if (formIndex === parseInt(tablinks[i].getAttribute(\"formindex\"))) {\r\n if (tablinks[i].hasAttribute(\"disabled\"))\r\n formName = tablinks[i - 1].getAttribute(\"formname\");\r\n else\r\n formName = tablinks[i].getAttribute(\"formname\");\r\n }\r\n }\r\n for (i = 0; i < tablinks.length; i++) {\r\n tablinks[i].className = tablinks[i].className.replace(\" active\", \"\");\r\n }\r\n this.setState({ tabIndex: formName });\r\n if (document.getElementById(formName)) {\r\n document.getElementById(formName).style.display = \"block\";\r\n }\r\n for (i = 0; i < tablinks.length; i++) {\r\n if (tablinks[i].getAttribute(\"formname\") === formName)\r\n tablinks[i].className = tablinks[i].className += \" active\";\r\n }\r\n \r\n }\r\n \r\n render() {\r\n return (\r\n {providerData => {\r\n const preFilledData = providerData.existingState\r\n const selectedServiceIds = preFilledData && preFilledData.selectedServices ? Object.keys(preFilledData.selectedServices) : []\r\n const svcStatusObj = Object.values(preFilledData.selectedServices)\r\n const svcStatus = svcStatusObj[0].svcStatus\r\n const svcMessage = svcStatusObj[0].svcMessage\r\n let decommission = (svcStatus === \"Decommissioned\" || svcStatus === \"InActive\")\r\n const serviceName = svcStatusObj[0].serviceName\r\n const isSAPDemo = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.length > 0 && preFilledData.advanceForms.includes(\"SAP\")\r\n const isCRP = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.length > 0 && preFilledData.advanceForms.includes(\"CRP\")\r\n const isSuccessFactor = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.length > 0 && preFilledData.advanceForms.includes(\"THR\")\r\n const isSuccessFactorEnhancement = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.length > 0 && preFilledData.advanceForms.includes(\"ETHR\")\r\n const isBTP = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.length > 0 && preFilledData.advanceForms.includes(\"BTP\")\r\n const isETRH = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.length > 0 && preFilledData.advanceForms.includes(\"ETHR\")\r\n const isTalentHR = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.length > 0 && preFilledData.advanceForms.includes(\"THRS\")\r\n const isProcessComposition = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.length > 0 && preFilledData.advanceForms.includes(\"ProcessComposition\")\r\n const isOracle = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.length > 0 && preFilledData.advanceForms.includes(\"OracleEnvironment\")\r\n const isSolutionPlanning = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.length > 0 && preFilledData.advanceForms.includes(\"SolutionPlanning\")\r\n const crpTabNm = preFilledData && preFilledData.crpServiceTitle ? preFilledData.crpServiceTitle : 'Conference Room Pilots'\r\n const sapTabNm = preFilledData && preFilledData.sapServiceTitle ? preFilledData.sapServiceTitle : 'SAP Demo Access'\r\n const oracleTabNm = preFilledData && preFilledData.oracleServiceTitle ? preFilledData.oracleServiceTitle : 'Oracle Environment Access'\r\n const successFactorTabNm = preFilledData && preFilledData.successFactorServiceTitle ? preFilledData.successFactorServiceTitle : 'Pre-Configured SuccessFactors'\r\n const btpTabNm = preFilledData && preFilledData.btpServiceTitle ? preFilledData.btpServiceTitle : 'BTP based Intelligent Applications'\r\n const talentHRTabNm = preFilledData && preFilledData.talentHRServiceTitle ? preFilledData.talentHRServiceTitle : 'Automation Tools/Solutions for SuccessFactor'\r\n const processCompTabNm = preFilledData && preFilledData.processCompositionServiceTitle ? preFilledData.processCompositionServiceTitle : 'Process Composition'\r\n const solutionPlanningTabNm = preFilledData && preFilledData.solutionPlanningServiceTitle ? preFilledData.solutionPlanningServiceTitle : 'Solution Planning'\r\n console.log(\"index\",this.state.tabIndex)\r\n let basicFrmBtnLbl = 'Submit', sapFrmBtnLbl = '', crpFrmBtnLbl = '', solutionPlanningFrmBtnLbl = '',successFactorBtnLbl = \"\", processCompBtnLbl = '', talentHRBtnLbl = '', basicfrmIndex = 0, sapFrmIndex = \"\", crpfrmIndex = '', successFactorFrmIndex = '1', talentHRFrmIndex = '2', solutionPlanningFrmIndex = '', processCompIndex = '', oracleFrmBtnLbl = '', oracleFrmIndex = '', btpFrmIndex = '', btpFrmBtnLbl = '';\r\n\r\n if (isSAPDemo && isCRP) {\r\n crpFrmBtnLbl = 'Next'; sapFrmBtnLbl = 'Submit'; crpfrmIndex = 1; sapFrmIndex = 2;\r\n } else if (isSAPDemo && !isCRP) {\r\n sapFrmBtnLbl = 'Submit'; sapFrmIndex = 1;\r\n } else if (!isSAPDemo && isCRP) {\r\n crpFrmBtnLbl = 'Submit'; crpfrmIndex = 1;\r\n }\r\n\r\n if (isProcessComposition || isSuccessFactor|| isSuccessFactorEnhancement || isTalentHR || isOracle || isBTP || isSolutionPlanning) {\r\n successFactorBtnLbl = \"Submit\"; processCompBtnLbl = \"Next\"; talentHRBtnLbl = \"Submit\"; oracleFrmBtnLbl = \"Next\"; btpFrmBtnLbl = \"Next\";\r\n solutionPlanningFrmBtnLbl = \"Next\";\r\n if (isProcessComposition && isSuccessFactor && isSuccessFactorEnhancement && isTalentHR && isOracle && isBTP && isSolutionPlanning) {\r\n oracleFrmIndex = 1; processCompIndex = 2; successFactorFrmIndex = 2; btpFrmIndex = 3; solutionPlanningFrmIndex = 4; talentHRFrmIndex = 5; talentHRBtnLbl = \"Submit\"\r\n } else if (isProcessComposition && isSuccessFactor && isSuccessFactorEnhancement && isTalentHR && isBTP && isSolutionPlanning && !isOracle) {\r\n processCompIndex = 1; successFactorFrmIndex = 2; btpFrmIndex = 3; solutionPlanningFrmIndex = 4; talentHRFrmIndex = 5; talentHRBtnLbl = \"Submit\"\r\n } else if (isProcessComposition && isSuccessFactor && isSuccessFactorEnhancement && isBTP && !isTalentHR && isOracle && isSolutionPlanning) {\r\n oracleFrmIndex = 1; processCompIndex = 2; btpFrmIndex = 3; solutionPlanningFrmIndex = 4; successFactorFrmIndex = 5; successFactorBtnLbl = \"Submit\"\r\n } else if (isProcessComposition && !isSuccessFactor && !isSuccessFactorEnhancement && isBTP && isTalentHR && isOracle && isSolutionPlanning) {\r\n oracleFrmIndex = 1; processCompIndex = 2; btpFrmIndex = 3; solutionPlanningFrmIndex = 4; talentHRFrmIndex = 5; talentHRBtnLbl = \"Submit\"\r\n } else if (!isProcessComposition && isBTP && isSuccessFactor && isSuccessFactorEnhancement && isTalentHR && isOracle && isSolutionPlanning) {\r\n oracleFrmIndex = 1; successFactorFrmIndex = 2; btpFrmIndex = 3; solutionPlanningFrmIndex = 4; talentHRFrmIndex = 5; talentHRBtnLbl = \"Submit\"\r\n } else if (isProcessComposition && !isBTP && isSuccessFactor && isSuccessFactorEnhancement && isTalentHR && isOracle && isSolutionPlanning) {\r\n oracleFrmIndex = 1; successFactorFrmIndex = 2; solutionPlanningFrmIndex = 4; talentHRFrmIndex = 5; talentHRBtnLbl = \"Submit\"\r\n } else if (isProcessComposition && isBTP && isSuccessFactor && isSuccessFactorEnhancement && isTalentHR && isOracle && !isSolutionPlanning) {\r\n oracleFrmIndex = 1; successFactorFrmIndex = 2; btpFrmIndex = 3; processCompIndex = 4; talentHRFrmIndex = 5; talentHRBtnLbl = \"Submit\"\r\n }\r\n else if (isProcessComposition && !isSuccessFactor && !isSuccessFactorEnhancement && !isTalentHR && !isOracle && !isBTP && !isSolutionPlanning) {\r\n processCompIndex = 1; processCompBtnLbl = \"Submit\";\r\n } else if (!isProcessComposition && isSuccessFactor && isSuccessFactorEnhancement && !isTalentHR && !isOracle && !isBTP && !isSolutionPlanning) {\r\n successFactorFrmIndex = 1; successFactorBtnLbl = \"Submit\";\r\n } else if (!isProcessComposition && !isSuccessFactor && !isSuccessFactorEnhancement && isTalentHR && !isOracle && !isBTP && !isSolutionPlanning) {\r\n talentHRFrmIndex = 1; talentHRBtnLbl = \"Submit\";\r\n } else if (!isProcessComposition && !isSuccessFactor && !isSuccessFactorEnhancement && !isTalentHR && isOracle && !isBTP && !isSolutionPlanning) {\r\n oracleFrmIndex = 1; oracleFrmBtnLbl = \"Submit\";\r\n } else if (!isProcessComposition && !isSuccessFactor && !isSuccessFactorEnhancement && !isTalentHR && !isOracle && isBTP && !isSolutionPlanning) {\r\n btpFrmIndex = 1; btpFrmBtnLbl = \"Submit\";\r\n } else if (!isProcessComposition && !isSuccessFactor && !isSuccessFactorEnhancement &&!isTalentHR && !isOracle && !isBTP && isSolutionPlanning) {\r\n solutionPlanningFrmIndex = 1; solutionPlanningFrmBtnLbl = \"Submit\";\r\n }\r\n if (isSAPDemo && isCRP) {\r\n sapFrmBtnLbl = 'Next';\r\n if (isProcessComposition && isTalentHR && isSuccessFactor && isSuccessFactorEnhancement && isOracle && isBTP) {\r\n oracleFrmIndex = 3; processCompIndex = 4; successFactorFrmIndex = 5; btpFrmIndex = 6; talentHRFrmIndex = 7;\r\n } else if (isProcessComposition && !isTalentHR && !isSuccessFactor && !isSuccessFactorEnhancement && !isOracle && !isBTP) {\r\n processCompIndex = 3;\r\n } else if (!isProcessComposition && !isTalentHR && isSuccessFactor && isSuccessFactorEnhancement && !isOracle && !isBTP) {\r\n successFactorFrmIndex = 3;\r\n } else if (!isProcessComposition && isTalentHR && !isSuccessFactor && !isSuccessFactorEnhancement && !isOracle && !isBTP) {\r\n talentHRFrmIndex = 3;\r\n } else if (!isProcessComposition && !isTalentHR && !isSuccessFactor && !isSuccessFactorEnhancement && isOracle && !isBTP) {\r\n oracleFrmIndex = 3;\r\n } else if (!isProcessComposition && !isTalentHR && !isSuccessFactor && !isSuccessFactorEnhancement && !isOracle && isBTP) {\r\n btpFrmIndex = 3;\r\n }\r\n }\r\n if (isSAPDemo && !isCRP) {\r\n sapFrmBtnLbl = 'Next';\r\n }\r\n if (!isSAPDemo && isCRP) {\r\n crpFrmBtnLbl = 'Next';\r\n }\r\n if ((!isSAPDemo && isCRP) || (isSAPDemo && !isCRP)) {\r\n if (isProcessComposition && isSuccessFactor && isSuccessFactorEnhancement && isTalentHR && isOracle && isBTP) {\r\n oracleFrmIndex = 2; processCompIndex = 3; successFactorFrmIndex = 4; btpFrmIndex = 5; talentHRFrmIndex = 6;\r\n } else if (isProcessComposition && !isTalentHR && !isSuccessFactor && !isSuccessFactorEnhancement && !isOracle && !isBTP) {\r\n processCompIndex = 2;\r\n } else if (!isProcessComposition && !isTalentHR && isSuccessFactor && isSuccessFactorEnhancement && !isOracle && !isBTP) {\r\n successFactorFrmIndex = 2;\r\n } else if (!isProcessComposition && isTalentHR && !isSuccessFactor && !isSuccessFactorEnhancement && !isOracle && !isBTP) {\r\n talentHRFrmIndex = 2;\r\n } else if (!isProcessComposition && !isTalentHR && !isSuccessFactor && !isSuccessFactorEnhancement && isOracle && !isBTP) {\r\n oracleFrmIndex = 2;\r\n } else if (!isProcessComposition && !isTalentHR && !isSuccessFactor && !isSuccessFactorEnhancement && !isOracle && isBTP) {\r\n btpFrmIndex = 2;\r\n }\r\n }\r\n }\r\n\r\n if (isSAPDemo || isCRP || isProcessComposition || isSuccessFactor ||isSuccessFactorEnhancement || isTalentHR || isOracle || isBTP || isSolutionPlanning) {\r\n basicFrmBtnLbl = 'Next'\r\n }\r\n\r\n return (\r\n \r\n
    \r\n \r\n {isCRP &&\r\n }\r\n {isOracle &&\r\n }\r\n {isSAPDemo &&\r\n }\r\n {isSuccessFactor &&\r\n }\r\n {isSuccessFactorEnhancement &&\r\n \r\n }\r\n {isBTP &&\r\n }\r\n {isETRH &&\r\n }\r\n {isTalentHR &&\r\n }\r\n {isProcessComposition && }\r\n {isSolutionPlanning &&\r\n }\r\n
    \r\n\r\n
    \r\n {this.state.tabIndex === \"basic\" &&\r\n { this.props.backbtn(providerData) }} handleBtnClick={(formIndex) => { this.OnBtnClick(formIndex) }}\r\n showHelp={this.props.appServiceContext} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} selectedServiceIds={selectedServiceIds} svcStatus={svcStatus} />\r\n }\r\n
    \r\n
    \r\n {this.state.tabIndex === \"CRPAdditionalDetails\" &&\r\n { this.OnBtnClick(formIndex) }}\r\n showHelp={this.props.appServiceContext} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} />\r\n }
    \r\n
    \r\n {this.state.tabIndex === \"OracleFormAdditionalDetails\" &&\r\n { this.OnBtnClick(formIndex) }} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} />\r\n }
    \r\n
    \r\n {this.state.tabIndex === \"SAPAdditionalDetails\" &&\r\n { this.OnBtnClick(formIndex) }} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} />\r\n \r\n }
    \r\n
    \r\n {this.state.tabIndex === \"SuccessFactorAdditionalDetails\" &&\r\n { this.OnBtnClick(formIndex) }} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} />\r\n }
    \r\n
    \r\n {this.state.tabIndex === \"SuccessFactorEnhancementAdditionalDetails\" &&\r\n { this.OnBtnClick(formIndex) }} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} />\r\n }
    \r\n
    \r\n {this.state.tabIndex === \"BTPAdditionalDetails\" &&\r\n { this.OnBtnClick(formIndex) }} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} />\r\n }
    \r\n
    \r\n {this.state.tabIndex === \"TalentHRAdditionalDetails\" &&\r\n { this.OnBtnClick(formIndex) }} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} />\r\n }
    \r\n
    \r\n {this.state.tabIndex === \"ProcessComposition\" &&\r\n { this.OnBtnClick(formIndex) }} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} />\r\n }
    \r\n
    \r\n {this.state.tabIndex === \"SolutionPlanningAdditionalDetails\" &&\r\n { this.OnBtnClick(formIndex) }} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} />\r\n }
    \r\n {this.state.isDecommissioned && (\r\n {\r\n this.setState({ isDecommissioned: false });\r\n }}>\r\n

    ALERT\r\n \"Close\" { this.setState({ isDecommissioned: false }); }} />\r\n


    \r\n

    \r\n {svcMessage !== null ?

    {ReactHtmlParser(svcMessage)}

    :\r\n

    {serviceName} service is not supported via myConcerto RMS. You will not be able to submit a request for this service.

    }\r\n \r\n )\r\n }\r\n
    \r\n );\r\n }}\r\n
    )\r\n }\r\n}\r\nTab.contextType = RequestContext;\r\nexport default Tab;","import { validateWithPattern, isInList, invalidEmailList } from \"../../../../components/validators/validate\";\r\nimport internalFormSchema from \"../../../../assets/data/internal-request-form.json\";\r\n\r\nexport const validateInternalRequestForm = (formState) => {\r\n\r\n let isError = false;\r\n let tempObj = {}\r\n let tempValue = formState.RequestTitle && formState.RequestTitle.trim();\r\n const isRequestTitleValid = validateFieldsByPattern({ keyName: 'RequestTitle', value: tempValue, formState })\r\n if (!isRequestTitleValid) {\r\n let inValideMessage = ''\r\n if (formState.RequestTitle === '') inValideMessage = 'This is a required field.'\r\n else inValideMessage = \"Request Title is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n RequestTitleError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n\r\n if ((!!formState.RequestedBy && !formState.isSelfRequestor) && (!formState.OnBehalfRequesterEnterpriseID || formState.OnBehalfRequesterEnterpriseID === '')) {\r\n let inValideMessage = ''\r\n inValideMessage = \"This is required field.\"\r\n tempObj = {\r\n ...tempObj,\r\n OnBehalfRequesterEnterpriseIDError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n const isValueStatement = validateFieldsByPattern({ keyName: 'ValueStatement', value: formState.ValueStatement, formState })\r\n if (formState.ValueStatement.length < 20 || formState.ValueStatement.length > 2000) {\r\n let inValideMessage = ''\r\n inValideMessage = \"Value Statement is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n ValueStatementError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n if (!isValueStatement) {\r\n let inValideMessage = ''\r\n if (formState.ValueStatement === '') inValideMessage = 'This is a required field.'\r\n else inValideMessage = \"Value Statement is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n ValueStatementError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n \r\n if (formState.Category === '') {\r\n let inValideMessage = 'This is a required field.'\r\n tempObj = {\r\n ...tempObj,\r\n CategoryError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n const isObjective = validateFieldsByPattern({ keyName: 'Objective', value: formState.Objective, formState })\r\n if (formState.Objective.length < 20 || formState.Objective.length > 25000) {\r\n let inValideMessage = ''\r\n inValideMessage = \"Objective is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n ObjectiveError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n if (!isObjective) {\r\n let inValideMessage = ''\r\n if (formState.Objective === '') inValideMessage = 'This is a required field.'\r\n else inValideMessage = \"Objective is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n ObjectiveError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n const isLeadSME = validateEmailByPattern({ keyName: 'LeadSME', value: formState.LeadSME, formState: formState })\r\n if (!isLeadSME && formState.LeadSME !== '') {\r\n let inValideMessage = ''\r\n inValideMessage = \"Email id is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n LeadSMEError: inValideMessage\r\n }\r\n isError = true\r\n } else if (formState.LeadSME === '' && formState.LeadSMEArray.length < 1) {\r\n let inValideMessage = ''\r\n inValideMessage = \"This is a required field.\"\r\n tempObj = {\r\n ...tempObj,\r\n LeadSMEError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n if (formState.AdditionalSME !== '') {\r\n let inValideMessage = ''\r\n const { isValid } = validateAdditionalSMEArray(\"AdditionalSME\", formState)\r\n if (!isValid) {\r\n inValideMessage = \"Email id is invalid.\"\r\n } else {\r\n inValideMessage = isInList(formState, 'AdditionalSME', formState.AdditionalSME) ? \"Email has already been added.\" : ''\r\n }\r\n if (isError) {\r\n tempObj = {\r\n ...tempObj,\r\n AdditionalSMEError: inValideMessage\r\n }\r\n }\r\n isError = true\r\n }\r\n\r\n if (formState.Comments.length > 25000) {\r\n let inValideMessage = ''\r\n inValideMessage = \"Comments should not be more than 25000 characters long.\"\r\n tempObj = {\r\n ...tempObj,\r\n CommentsError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n return {\r\n fieldError: tempObj,\r\n haveError: isError\r\n }\r\n}\r\n\r\nexport const validateAdditionalSMEArray = (name, formData) => {\r\n let requirFields = formData.data && formData.data.filter(function (formFields) {\r\n return formFields.FormKey === name;\r\n });\r\n\r\n let emailArraytype = `${name}Array`;\r\n let errorkey = `${requirFields[0].FormKey}Error`, errorMessage = '', response = true\r\n let invalidEmailArray = invalidEmailList(formData[emailArraytype])\r\n if (invalidEmailArray.length > 0) {\r\n errorMessage = requirFields[0].ValidationMessages.PatternMessage;\r\n } else {\r\n response = false;\r\n }\r\n\r\n return {\r\n fieldError: {\r\n [errorkey]: errorMessage\r\n },\r\n isValid: response\r\n }\r\n}\r\n\r\nexport const validateInput = (name, formData) => {\r\n let requirFields = formData.data && formData.data.filter(function (formFields) {\r\n return formFields.FormKey === name;\r\n });\r\n if (requirFields && requirFields.length > 0) {\r\n let errorkey = `${requirFields[0].FormKey}Error`, errorMessage = '', response = true\r\n if (formData[name] === '') {\r\n errorMessage = requirFields[0].ValidationMessages.RequiredMessage\r\n response = false\r\n } else {\r\n let selectedService = name;\r\n let Services = ['RequestTitle', 'ValueStatement', 'Objective', 'SuccessMeasures', 'SponsorAndFunding', 'explanation', 'EstimatedEffort', 'Comments'];\r\n let result = Services.includes(selectedService);\r\n if (result) {\r\n const isValid = validateFieldsByPattern({ pattern: requirFields[0].Validations.Pattern, value: formData[name], formState: formData })\r\n if (!isValid) {\r\n errorMessage = requirFields[0].ValidationMessages.PatternMessage\r\n }\r\n }\r\n if (name === 'ValueStatement') {\r\n if (formData[name].length < 20) {\r\n errorMessage = requirFields[0].ValidationMessages.MinDescription\r\n } else if (formData[name].length > 2000) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n if (name === 'SuccessMeasures') {\r\n if (formData[name].length < 20 && formData[name].length > 0) {\r\n errorMessage = requirFields[0].ValidationMessages.MinDescription\r\n } else if (formData[name].length > 2000) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n if ((name === 'Objective')) {\r\n if (formData.Objective.length < 20) {\r\n errorMessage = requirFields[0].ValidationMessages.MinDescription\r\n } else if (formData.Objective.length > 25000) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n if ((name === 'LeadSME' || name === \"AdditionalSME\")) {\r\n const isValid = validateEmailByPattern({ keyName: name, value: formData[name], formState: formData })\r\n if (!isValid) {\r\n errorMessage = requirFields[0].ValidationMessages.PatternMessage\r\n } else {\r\n errorMessage = isInList(formData, name, formData[name]) ? requirFields[0].ValidationMessages.duplicateMessage : ''\r\n }\r\n }\r\n if ((name === 'Comments')) {\r\n if (formData.Comments.length > 25000) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n }\r\n return {\r\n fieldError: {\r\n [errorkey]: errorMessage\r\n },\r\n haveError: response\r\n }\r\n }\r\n return true\r\n}\r\nexport const validateFieldsByPattern = ({ keyName = '', pattern, value, formState }) => {\r\n if (keyName !== '') {\r\n let requirFields = []\r\n requirFields = formState.data && formState.data.filter(function (formFields) {\r\n return formFields.FormKey === keyName;\r\n });\r\n pattern = requirFields && requirFields.length > 0 && requirFields[0].Validations.Pattern\r\n }\r\n return validateWithPattern({ pattern, value })\r\n}\r\nexport const validateEmailByPattern = ({ keyName = '', pattern, value, formState }) => {\r\n if (keyName !== '') {\r\n let requirFields = formState.data.find(formFields => formFields.FormKey === keyName);\r\n pattern = requirFields.Validations.Pattern\r\n }\r\n value = value.trim();\r\n return validateWithPattern({ pattern, value })\r\n}\r\n\r\n\r\nexport const checkErrorsByField = (existingIssueDetails) => {\r\n const schemaFields = internalFormSchema.FormFields\r\n const haveError = schemaFields.find((field) => {\r\n let label = `${field}Error`\r\n return !!existingIssueDetails[label]\r\n })\r\n\r\n if (!!haveError) return true\r\n return false\r\n}\r\n\r\nexport const getAddidtionalDetailName = (advanceForms) =>{\r\n switch (advanceForms){\r\n case \"AcceleratorRequest\": return \"acceleratorRequestFormData\";\r\n case \"DIARequest\": return \"diaRequestFormData\";\r\n case \"ScopeChangeRequest\": return \"scopeChangeRequestFormData\";\r\n case \"StaffingChangeRequest\": return \"staffingChangeRequestAdditionFormData\";\r\n case \"ReportingRequest\": return \"reportRequestFormData\"\r\n default: return \"\"\r\n }\r\n}","import React, { Component, Fragment } from \"react\";\r\nimport \"./internal-request-basic-form.scss\";\r\nimport { RequestContext } from \"../../../../context-providers/request-provider/request-provider\";\r\nimport InternalFormSchema from \"../../../../assets/data/internal-request-form.json\";\r\nimport CustomSelect from \"../../../../components/custom-select/custom-select\";\r\nimport CustomInput from \"../../../../components/custom-input/custom-input\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport { addDays } from \"date-fns\";\r\nimport dateFormat from \"dateformat\";\r\nimport * as Constant from \"../../../../components/constants/constant\";\r\nimport CustomButton from \"../../../../components/button/secondary-button\";\r\nimport { validateInput, validateInternalRequestForm, checkErrorsByField, validateAdditionalSMEArray, getAddidtionalDetailName } from \"./internal-request-basic-form-validation\";\r\nimport { setErrorMessages, resetStates } from \"../../../../components/validators/validate\";\r\nimport Modal from \"../../../../components/modals/modal\";\r\nimport { setInitialStates, setContextData, getId, getName } from \"../../../form/common-functionality-forms/form-common-functionality\";\r\nimport { isValExistInArray } from \"../../../common/object-manipulations\";\r\nimport OutsideClickAlerter from \"../../../../components/outside-click-alerter/outside-click-alerter\";\r\nimport Popup from \"../../../../components/popup/popup\";\r\nimport { getData } from \"../../../../api/api-manager\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport Spinner from \"../../../../components/spinner/spinner\";\r\nimport EmailChip from \"../../../../components/email-chip/email-chip\";\r\nimport FileAttachment from \"../../../form/basic-form/file-attachment\";\r\nimport { getTokenData } from \"../../../../api/sessionConfig\";\r\nimport RichTextEditor from 'react-rte';\r\nimport { toolbarConfig } from \"../../../../components/email-chip/react-rte-toolbar\";\r\nimport ToolTip from '../../../../components/tool-tip/tool-tip';\r\n\r\nclass InternalRequestBasicForm extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n showEnterpriseIdField: false,\r\n selectedExpectedDate: false,\r\n searchedUserList: [],\r\n ToolTipsList: [],\r\n LeadSMEArray: [], RequestorArray: [], AdditionalSMEArray: [], showEnterpriseIdPopup: false,\r\n savedValueRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedObjectiveRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedCommentRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedSuccessMeasureRichTexTBody: RichTextEditor.createEmptyValue(),\r\n richTextModalBody: RichTextEditor.createEmptyValue()\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.setDefaultStates();\r\n this.getInternalRequestFormData();\r\n }\r\n\r\n componentWillUnmount() {\r\n this.setFormDataOnUnmount()\r\n }\r\n\r\n setFormDataOnUnmount() {\r\n const existingContextData = this.context && this.context.existingState ? this.context.existingState : {}\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || ''\r\n let selectedServices = Object.values(existingContextData.selectedServices).filter(\r\n function (service) {\r\n if (service.haveChild === \"true\") {\r\n return service.selectedChildId.length > 0 ? true : false;\r\n }\r\n return true;\r\n }\r\n );\r\n let contextData = setContextData(this.state.data, this.state)\r\n let RequestedBy = getId(this.state.RequestedBy, this.state.RequestorTypeList);\r\n let additionalStateData = {\r\n technologyOptions: existingContextData.technologyId ? existingContextData.technologyId : '',\r\n selectedServices: selectedServices,\r\n Eid: eid,\r\n CatID: this.props.catId,\r\n File: this.state.selectedFiles,\r\n RequestedBy: RequestedBy,\r\n RequestorTypeList: this.state.RequestorTypeList,\r\n isSelfRequestor: this.state.isSelfRequestor,\r\n LeadSME: this.state.LeadSMEArray.toString() || this.state.LeadSME,\r\n AdditionalSME: this.state.AdditionalSMEArray.toString() || this.state.AdditionalSME,\r\n Requestor: this.state.RequestorArray.toString()\r\n }\r\n contextData = { ...contextData, ...additionalStateData }\r\n const isError = this.validate()\r\n this.context.addSelectedData({\r\n internalRequestFormData: {\r\n ...this.context.existingState.internalRequestFormData,\r\n savedValueRichTextBody: this.state.savedValueRichTextBody.toString(\"html\"),\r\n savedObjectiveRichTextBody: this.state.savedObjectiveRichTextBody.toString(\"html\"),\r\n savedCommentRichTextBody: this.state.savedCommentRichTextBody.toString(\"html\"),\r\n savedSuccessMeasureRichTexTBody: this.state.savedSuccessMeasureRichTexTBody.toString(\"html\"),\r\n selectedExpectedDate: this.state.selectedExpectedDate,\r\n ...contextData\r\n },\r\n isValidInternalRequestFormData: !isError\r\n })\r\n }\r\n\r\n async setDefaultStates() {\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || ''\r\n let contextData = this.context && this.context.existingState\r\n let internalRequestFormData = contextData ? contextData.internalRequestFormData : {}\r\n await this.setState({\r\n resetPopup: false, submitPopup: false, showSpinner: true, openAttachment: false,\r\n data: InternalFormSchema ? InternalFormSchema.Config : [],\r\n RequestorTypeList: internalRequestFormData && internalRequestFormData.RequestorTypeList ? internalRequestFormData.RequestorTypeList : [],\r\n GroupUsersList: [],\r\n CategoryOrNatureList: [],\r\n AppOrServiceList: [],\r\n IndustryList: [],\r\n FunctionalAreaList: [],\r\n ToolTipsList: [],\r\n Eid: eid,\r\n technologyOptions: contextData.technologyId ? contextData.technologyId : \"\",\r\n ExpectedDate: internalRequestFormData && internalRequestFormData.ExpectedDate ? new Date(internalRequestFormData.ExpectedDate) : \"\",\r\n selectedFiles: internalRequestFormData && internalRequestFormData.File ? internalRequestFormData.File : [],\r\n AdditionalSMEArray: internalRequestFormData && internalRequestFormData.AdditionalSME && internalRequestFormData.AdditionalSMEError === '' ? internalRequestFormData.AdditionalSME.split(',') : [],\r\n LeadSMEArray: internalRequestFormData && internalRequestFormData.LeadSME ? (internalRequestFormData.LeadSMEError === '' ? [internalRequestFormData.LeadSME] : []) : [`${eid}@accenture.com`],\r\n RequestorArray: internalRequestFormData && internalRequestFormData.Requestor ? [internalRequestFormData.Requestor] : [`${eid}@accenture.com`],\r\n RequestedBy: internalRequestFormData && internalRequestFormData.RequestedBy && internalRequestFormData.RequestorTypeList ? getName(internalRequestFormData.RequestedBy, internalRequestFormData.RequestorTypeList) : \"\",\r\n isSelfRequestor: internalRequestFormData ? internalRequestFormData.isSelfRequestor : true,\r\n savedValueRichTextBody: RichTextEditor.createValueFromString(\r\n internalRequestFormData && internalRequestFormData.savedValueRichTextBody ? internalRequestFormData.savedValueRichTextBody : '',\r\n \"html\"\r\n ),\r\n savedObjectiveRichTextBody: RichTextEditor.createValueFromString(\r\n internalRequestFormData && internalRequestFormData.savedObjectiveRichTextBody ? internalRequestFormData.savedObjectiveRichTextBody : '',\r\n \"html\"\r\n ),\r\n savedCommentRichTextBody: RichTextEditor.createValueFromString(\r\n internalRequestFormData && internalRequestFormData.savedCommentRichTextBody ? internalRequestFormData.savedCommentRichTextBody : '',\r\n \"html\"\r\n ),\r\n savedSuccessMeasureRichTexTBody: RichTextEditor.createValueFromString(\r\n internalRequestFormData && internalRequestFormData.savedSuccessMeasureRichTexTBody ? internalRequestFormData.savedSuccessMeasureRichTexTBody : '',\r\n \"html\"\r\n ),\r\n selectedExpectedDate: internalRequestFormData && internalRequestFormData.selectedExpectedDate ? internalRequestFormData.selectedExpectedDate : false\r\n })\r\n const formFields = this.state.data\r\n const stateData = await setInitialStates(formFields, internalRequestFormData)\r\n this.setStates(stateData)\r\n }\r\n\r\n async getInternalRequestFormData() {\r\n let selectedServiceIds = this.props.selectedServiceIds.length > 0 ? this.props.selectedServiceIds.join() : ''\r\n const response = await getData({ apiBaseUrl: INTERNAL_REQUEST_BASE_URL, serviceName: `PopulateInternalRequestForm?selectedServiceId=${selectedServiceIds}` });\r\n const { success, error, isInfo } = await response;\r\n if (success) {\r\n const { RequestorType, GroupUsers, CategoryOrNature, AppOrService, Industry, FunctionalArea, ToolTips } = response.data\r\n let requestorIsSelf = !!this.state.RequestedBy ? { Name: getName(this.state.RequestedBy, RequestorType), IsSelf: this.state.isSelfRequestor } : RequestorType.find(function (requestor) {\r\n return requestor.IsSelf === true\r\n })\r\n await this.setState({\r\n RequestorTypeList: RequestorType || [],\r\n GroupUsersList: GroupUsers || [],\r\n CategoryOrNatureList: CategoryOrNature || [],\r\n AppOrServiceList: AppOrService || [],\r\n IndustryList: Industry || [],\r\n FunctionalAreaList: FunctionalArea || [],\r\n ToolTipsList: ToolTips || [],\r\n RequestedBy: requestorIsSelf.Name,\r\n isSelfRequestor: requestorIsSelf.IsSelf,\r\n showEnterpriseIdField: !requestorIsSelf.IsSelf,\r\n showSpinner: false,\r\n LeadSME: !!this.state.LeadSMEError ? this.state.LeadSME : '',\r\n AdditionalSME: !!this.state.AdditionalSMEError ? this.state.AdditionalSME : '',\r\n Requestor: ''\r\n });\r\n } else {\r\n await this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n handleExpectedDate(date) {\r\n this.setState({\r\n ExpectedDate: date,\r\n selectedExpectedDate: true\r\n });\r\n }\r\n\r\n handleExpectedDateChange = async (e) => {\r\n e.preventDefault();\r\n };\r\n\r\n handleSelectRequestedBy = async (e) => {\r\n const { name, value } = e.target\r\n let index = e.nativeEvent.target.selectedIndex;\r\n let isSelf = e.nativeEvent.target[index].getAttribute('isself');\r\n if (name === \"RequestedBy\") {\r\n if (isSelf === 'true') {\r\n this.setState({\r\n isSelfRequestor: true\r\n })\r\n } else {\r\n this.setState({\r\n isSelfRequestor: false\r\n })\r\n }\r\n if (isSelf === 'false') {\r\n this.setState({\r\n showEnterpriseIdField: true,\r\n OnBehalfRequesterEnterpriseIDError: '',\r\n OnBehalfRequesterEnterpriseID: '',\r\n });\r\n } else if (isSelf === 'true') {\r\n this.setState({\r\n showEnterpriseIdField: false,\r\n OnBehalfRequesterEnterpriseIDError: '',\r\n OnBehalfRequesterEnterpriseID: '',\r\n });\r\n }\r\n }\r\n await this.setState({\r\n [name]: value\r\n });\r\n this.validateInput(name, this.state)\r\n }\r\n\r\n async handleInput(e) {\r\n const { name, value } = e.target;\r\n await this.setState({\r\n [name]: value\r\n });\r\n\r\n if (name === \"OnBehalfRequesterEnterpriseID\") {\r\n this.getUserListBySearch(value)\r\n }\r\n if (name === \"RequestTitle\") {\r\n await this.setState({\r\n [name]: value.trimStart()\r\n })\r\n }\r\n this.validateInput(name, this.state)\r\n }\r\n\r\n getUserListBySearch(value) {\r\n this.setState({\r\n showEnterpriseIdPopup: true\r\n })\r\n let searchedUserList = []\r\n if (this.state.GroupUsersList.length > 0 && value !== '') {\r\n searchedUserList = this.state.GroupUsersList.filter(function (users) {\r\n return users.toLowerCase().includes(value)\r\n })\r\n } else if (value === '') {\r\n searchedUserList = this.state.GroupUsersList\r\n }\r\n this.setState({\r\n searchedUserList\r\n })\r\n }\r\n\r\n handleSearchUser = async (e) => {\r\n const { name, value } = e.target\r\n this.setState({\r\n [name]: value\r\n })\r\n await this.setState({ OnBehalfRequesterEnterpriseID: e.target.value });\r\n\r\n this.getUserListBySearch(value)\r\n }\r\n\r\n handleBackButton = async () => {\r\n const existingContextData = this.context && this.context.existingState ? this.context.existingState : {}\r\n let advanceFormsName = getAddidtionalDetailName(existingContextData.advanceForms)\r\n await this.context.addSelectedData({ [advanceFormsName]: {} });\r\n this.props.handleBack()\r\n }\r\n\r\n handleClearForm(e) {\r\n e.preventDefault();\r\n this.setState({ resetPopup: true });\r\n }\r\n\r\n async resetFields() {\r\n const resetFields = resetStates(this.state);\r\n let requestorIsSelf = this.state.RequestorTypeList.find(function (requestor) {\r\n return requestor.IsSelf === true\r\n })\r\n await this.setState({\r\n ...resetFields,\r\n selectedFiles: [],\r\n AdditionalSMEArray: [],\r\n savedValueRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedObjectiveRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedCommentRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedSuccessMeasureRichTexTBody: RichTextEditor.createEmptyValue(),\r\n showEnterpriseIdField: false,\r\n isSelfRequestor: requestorIsSelf.IsSelf,\r\n RequestedBy: requestorIsSelf.Name,\r\n OnBehalfRequesterEnterpriseIDError: '',\r\n selectedExpectedDate: false,\r\n })\r\n await this.context.addSelectedData({ internalRequestFormData: {} })\r\n }\r\n\r\n async selectRequesterID(e) {\r\n const eid = e.target.getAttribute(\"eid\")\r\n await this.setState({ OnBehalfRequesterEnterpriseID: eid, showEnterpriseIdPopup: false, OnBehalfRequesterEnterpriseIDError: '' });\r\n }\r\n\r\n validateInput(name, stateData) {\r\n let { fieldError, isError } = validateInput(name, this.state)\r\n this.setStates(fieldError)\r\n let errorkey = `${name}Error`\r\n\r\n if ((name === \"LeadSME\" && this.state[errorkey] === '') || (name === \"AdditionalSME\" && this.state[errorkey] === '')) {\r\n let emailArraytype = `${name}Array`\r\n this.setState({\r\n [emailArraytype]: [...this.state[emailArraytype], stateData[name]],\r\n [name]: '',\r\n })\r\n\r\n fieldError = validateAdditionalSMEArray(name, this.state)\r\n this.setStates(fieldError)\r\n }\r\n return !isError\r\n }\r\n async setStates(states) {\r\n await this.setState({\r\n ...states\r\n })\r\n }\r\n\r\n validate() {\r\n const validationDetails = validateInternalRequestForm(this.state, this.state.RequestorTypeList)\r\n const { fieldError, haveError } = validationDetails\r\n this.setStates(fieldError)\r\n return haveError;\r\n }\r\n\r\n async handleSubmitInternalRequest(event) {\r\n let stateWithError = setErrorMessages(this.state)\r\n if (!!stateWithError.LeadSMEError && this.state.LeadSMEArray.length > 0) {\r\n stateWithError = {\r\n ...stateWithError, LeadSMEError: ''\r\n }\r\n }\r\n if (!!stateWithError.RequestorError && this.state.RequestorError.length > 0) {\r\n stateWithError = {\r\n ...stateWithError, RequestorError: ''\r\n }\r\n }\r\n if (!this.state.isSelfRequestor) {\r\n if (!isValExistInArray(this.state.GroupUsersList, this.state.OnBehalfRequesterEnterpriseID)) {\r\n stateWithError = {\r\n ...stateWithError, OnBehalfRequesterEnterpriseIDError: 'Invalid Requester Enterprise ID'\r\n }\r\n }\r\n }\r\n if (!this.state.selectedExpectedDate) {\r\n stateWithError = {\r\n ...stateWithError, explanationError: ''\r\n }\r\n }\r\n await this.setState({\r\n ...stateWithError\r\n }, () => {\r\n const isError = this.validate()\r\n const haveError = checkErrorsByField(this.state)\r\n if (!isError && !haveError) {\r\n this.submitData()\r\n }\r\n })\r\n }\r\n async submitData() {\r\n let contextData = this.context && this.context.existingState;\r\n let tempArr = {}\r\n const formFields = this.state.data;\r\n formFields.map((form) => {\r\n const { FormKey } = form\r\n const name = FormKey\r\n tempArr = {\r\n ...tempArr,\r\n [name]: this.state[name]\r\n }\r\n return null\r\n })\r\n let selectedServices = Object.values(contextData.selectedServices).filter(\r\n\r\n function (service) {\r\n if (service.haveChild === \"true\") {\r\n return service.selectedChildId.length > 0 ? true : false;\r\n }\r\n return true;\r\n }\r\n );\r\n let dateObj = {\r\n CatID: this.props.catId,\r\n File: this.state.selectedFiles,\r\n selectedServices: selectedServices,\r\n technologyOptions: parseInt(this.state.technologyOptions),\r\n Eid: this.state.Eid\r\n }\r\n let RequestedBy = getId(this.state.RequestedBy, this.state.RequestorTypeList);\r\n let internalRequestFormData = {\r\n ...dateObj,\r\n isInternalRequest: true,\r\n Industry: tempArr.Industry ? tempArr.Industry : '',\r\n FunctionalArea: tempArr.FunctionalArea ? tempArr.FunctionalArea : '',\r\n InternalRequest: {\r\n ...tempArr,\r\n RequestedBy: RequestedBy,\r\n RequestorTypeList: this.state.RequestorTypeList,\r\n isSelfRequestor: this.state.isSelfRequestor,\r\n ExpectedDate: this.state.ExpectedDate ? dateFormat(this.state.ExpectedDate, \"isoDate\") : \"\",\r\n LeadSME: this.state.LeadSMEArray.toString(),\r\n Requestor: this.state.RequestorArray.toString(),\r\n ValueStatement: this.state.savedValueRichTextBody.toString('html'),\r\n Objective: this.state.savedObjectiveRichTextBody.toString('html'),\r\n Comments: this.state.savedCommentRichTextBody.toString('html'),\r\n SuccessMeasures: this.state.savedSuccessMeasureRichTexTBody.toString('html'),\r\n AdditionalSME: this.state.AdditionalSMEArray.length > 0 ? this.state.AdditionalSMEArray.join(';') : this.state.AdditionalSMEArray.toString(),\r\n }\r\n }\r\n await this.context.addSelectedData({ internalRequestFormData: internalRequestFormData, isValidInternalRequestFormData: true, });\r\n if (this.props.btnLbl === 'Submit') {\r\n this.props.handleSubmit()\r\n } else if (this.props.btnLbl === \"Next\") {\r\n this.props.handleBtnClick(1);\r\n }\r\n }\r\n\r\n handleDelete = (evt) => {\r\n let { name, value } = evt.target;\r\n let emailArraytype = `${name}Array`\r\n if (this.state[emailArraytype]) {\r\n this.setState({\r\n //add all the entries in array again except the entry you want to delete (filter)\r\n [emailArraytype]: this.state[emailArraytype].filter(i => i !== value)\r\n }, () => {\r\n if (name === \"LeadSME\") {\r\n if (!this.state.LeadSMEArray.length > 0) {\r\n this.setState({ LeadSMEError: \"This is a required field\" })\r\n }\r\n }\r\n if (name === \"AdditionalSME\") {\r\n if (!this.state.AdditionalSMEArray.length > 0) {\r\n if (this.state.AdditionalSME) {\r\n this.setState({ AdditionalSMEError: \"Press Enter key to add recipient\" })\r\n } else {\r\n this.setState({ AdditionalSMEError: \"\" })\r\n }\r\n } else {\r\n let { fieldError } = validateAdditionalSMEArray(name, this.state)\r\n this.setStates(fieldError)\r\n }\r\n }\r\n if (name === \"Requestor\") {\r\n if (!this.state.RequestorArray.length > 0) {\r\n this.setState({ RequestorError: \"This is a required field\" })\r\n }\r\n }\r\n });\r\n }\r\n };\r\n handleKeyDown = (evt) => {\r\n let { name } = evt.target;\r\n let errorkey = `${name}Error`\r\n let emailArraytype = `${name}Array`\r\n if (['Enter', 'Tab', ',', ';'].includes(evt.key) && this.state[name] !== '' && this.state[errorkey] === '') {\r\n evt.preventDefault();\r\n var email = this.state[name].trim();\r\n if (email) {\r\n this.setState({\r\n [emailArraytype]: [...this.state[emailArraytype], email],\r\n [name]: '',\r\n });\r\n }\r\n }\r\n };\r\n\r\n handleAttachPopUp = () => {\r\n this.setState({\r\n openAttachment: !this.state.openAttachment\r\n });\r\n };\r\n handleSetAttachmentData = (data) => {\r\n this.setState({\r\n selectedFiles: data,\r\n })\r\n }\r\n handleOutsideClick() {\r\n this.setState({\r\n showEnterpriseIdPopup: false\r\n })\r\n }\r\n\r\n //RichTextEditer code start from here\r\n async onChange({ name, value, actualName }) {\r\n await this.setState({ [name]: value })\r\n let actualValue = value.toString('html').replace(/(<([^>]+)>)/ig, '')\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /ig, '')\r\n await this.setState({\r\n [actualName]: actualValue\r\n }, () => {\r\n if (actualValue.length > 0 || actualName === \"SuccessMeasures\") {\r\n this.validateInput(actualName, this.state)\r\n }\r\n })\r\n }\r\n async onRichTextChange(value) {\r\n this.setState({ richTextModalBody: value })\r\n }\r\n handleImageModal(text, actualName) {\r\n this.setState({\r\n imageModal: true,\r\n richTextModalBody: this.state[text],\r\n clickedRichTextBody: text,\r\n clickedActualRichTextName: actualName\r\n })\r\n }\r\n handleCloseEditor() {\r\n this.setState({\r\n imageModal: false,\r\n richTextModalBody: RichTextEditor.createEmptyValue()\r\n })\r\n }\r\n handleSendIconModal() {\r\n let actualValue = this.state.richTextModalBody.toString('html').replace(/(<([^>]+)>)/ig, '');\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n this.setState({\r\n imageModal: false,\r\n [this.state.clickedRichTextBody]: this.state.richTextModalBody,\r\n [this.state.clickedActualRichTextName]: actualValue\r\n }, () => {\r\n this.validateInput(this.state.clickedActualRichTextName, this.state)\r\n })\r\n }\r\n\r\n render() {\r\n const ToolTipsData = this.state.ToolTipsList ? this.state.ToolTipsList : false\r\n return (\r\n \r\n {AppContextData => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {ToolTipsData.length > 0 && ToolTipsData.map((form) => {\r\n let keyString = `${form.FormKey}Error`\r\n let selectActive = !!this.state[form.FormKey] ? \"form-control-select custom-placeholder\" : \"form-control-select\";\r\n if (form.FormKey === \"RequestedBy\") {\r\n return (\r\n \r\n
    \r\n { this.handleSelectRequestedBy(value) }}\r\n // value={this.state.RequestedBy}\r\n selected_value={this.state.RequestedBy}\r\n use_name=\"true\"\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"OnBehalfRequesterEnterpriseID\") {\r\n return (\r\n \r\n {!!this.state.showEnterpriseIdField &&\r\n
    \r\n { this.handleInput(e) }}\r\n onClick={(e) => { this.handleSearchUser(e) }}\r\n />\r\n
    \r\n {this.state.searchedUserList.length > 0 && this.state.showEnterpriseIdPopup &&\r\n { this.handleOutsideClick() }}>\r\n {\r\n return

    this.selectRequesterID(e)}\r\n >{user}

    \r\n })} />\r\n
    }\r\n
    \r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    }\r\n
    \r\n );\r\n }\r\n return null\r\n })}\r\n
    \r\n
    \r\n {ToolTipsData.length > 0 && ToolTipsData.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`\r\n let selectActive = !!this.state[form.FormKey] ? \"form-control-select custom-placeholder\" : \"form-control-select\";\r\n if (form.FormKey === \"RequestTitle\") {\r\n return (\r\n \r\n { this.handleInput(e) }}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"ValueStatement\") {\r\n return (\r\n \r\n
    \r\n \r\n \"edit-icon\" { this.handleImageModal(\"savedValueRichTextBody\", \"ValueStatement\") }} />\r\n \"info-icon\"\r\n \r\n \r\n \r\n { this.onChange({ value, name: \"savedValueRichTextBody\", actualName: \"ValueStatement\" }) }}\r\n toolbarConfig={[]}\r\n placeholder=\"2000 Characters\"\r\n />\r\n
    \r\n {this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n )\r\n }\r\n if (form.FormKey === \"Category\") {\r\n return (\r\n \r\n { this.handleInput(e) }}\r\n selected_value={!!this.state[form.FormKey] ? this.state[form.FormKey] : ''}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"Objective\") {\r\n return (\r\n \r\n
    \r\n \r\n \"edit-icon\" { this.handleImageModal(\"savedObjectiveRichTextBody\", \"Objective\") }} />\r\n \"info-icon\"\r\n \r\n \r\n \r\n { this.onChange({ value, name: \"savedObjectiveRichTextBody\", actualName: \"Objective\" }) }}\r\n toolbarConfig={[]}\r\n placeholder=\"25000 Characters\"\r\n />\r\n
    \r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n )\r\n }\r\n if (form.FormKey === \"Requestor\") {\r\n return (\r\n \r\n
    \r\n \r\n

    \r\n 0 ? \"\" : \"Enter email ID\"}\r\n // onChange={(e) => { this.handleInput(e) }}\r\n // onKeyDown={this.handleKeyDown}\r\n // handleDelete={(e) => { this.handleDelete(e) }}\r\n emailErrors={this.state[keyString]}\r\n isError={this.state[keyString] ? true : false}\r\n disabled={this.state.RequestorArray.length === 1 ? true : false}\r\n disableFormGroup={this.state.RequestorArray.length === 1 ? true : false}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"LeadSME\") {\r\n return (\r\n \r\n
    \r\n \r\n

    \r\n 0 ? \"\" : \"Enter email ID\"}\r\n onChange={(e) => { this.handleInput(e) }}\r\n onKeyDown={this.handleKeyDown}\r\n handleDelete={(e) => { this.handleDelete(e) }}\r\n emailErrors={this.state[keyString]}\r\n isError={this.state[keyString] ? true : false}\r\n disabled={this.state.LeadSMEArray.length === 1 ? true : false}\r\n disableFormGroup={this.state.LeadSMEArray.length === 1 ? true : false}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n return null\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {ToolTipsData.length > 0 && ToolTipsData.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`\r\n if (form.FormKey === \"ExpectedDate\") {\r\n return (\r\n \r\n
    \r\n \r\n

    \r\n { this.handleExpectedDate(date) }} //only when value has changed\r\n minDate={addDays(new Date(), 1)}\r\n maxDate={addDays(new Date(), 103)}\r\n dateFormat=\"dd-MMM-yyyy\"\r\n placeholderText=\"DD-MMM-YYYY\"\r\n onChangeRaw={(e) => { this.handleExpectedDateChange(e) }}\r\n />\r\n {this.state.ExpectedDate ? '' : !!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"explanation\") {\r\n return (\r\n \r\n {!!this.state.selectedExpectedDate &&
    \r\n { this.handleInput(e) }}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    }\r\n
    \r\n );\r\n }\r\n return null\r\n })}\r\n
    \r\n
    \r\n {ToolTipsData.length > 0 && ToolTipsData.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`\r\n let selectActive = !!this.state[form.FormKey] ? \"form-control-select custom-placeholder\" : \"form-control-select\";\r\n if (form.FormKey === \"AdditionalSME\") {\r\n return (\r\n \r\n
    \r\n \r\n 0 ? \"\" : \"Enter email ID\"}\r\n onChange={(e) => { this.handleInput(e) }}\r\n onKeyDown={this.handleKeyDown}\r\n handleDelete={(e) => { this.handleDelete(e) }}\r\n emailErrors={this.state[keyString]}\r\n isError={this.state[keyString] ? true : false}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"SuccessMeasures\") {\r\n return (\r\n \r\n
    \r\n \r\n \"edit-icon\" { this.handleImageModal(\"savedSuccessMeasureRichTexTBody\", \"SuccessMeasures\") }} />\r\n \"info-icon\"\r\n \r\n \r\n { this.onChange({ value, name: \"savedSuccessMeasureRichTexTBody\", actualName: \"SuccessMeasures\" }) }}\r\n toolbarConfig={[]}\r\n placeholder=\"2000 Characters\"\r\n />\r\n
    \r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n )\r\n }\r\n if (form.FormKey === \"SponsorAndFunding\") {\r\n return (\r\n \r\n
    \r\n { this.handleInput(e) }}\r\n />\r\n \"info-icon\"\r\n \r\n
    \r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"AppOrService\") {\r\n return (\r\n \r\n { this.handleInput(e) }}\r\n selected_value={!!this.state[form.FormKey] ? this.state[form.FormKey] : ''}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"Industry\") {\r\n return (\r\n \r\n { this.handleInput(e) }}\r\n selected_value={!!this.state[form.FormKey] ? this.state[form.FormKey] : ''}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"FunctionalArea\") {\r\n return (\r\n \r\n { this.handleInput(e) }}\r\n selected_value={!!this.state[form.FormKey] ? this.state[form.FormKey] : ''}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"EstimatedEffort\") {\r\n return (\r\n \r\n
    \r\n { this.handleInput(e) }}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"Comments\") {\r\n return (\r\n \r\n
    \r\n \r\n \"edit-icon\" { this.handleImageModal(\"savedCommentRichTextBody\", \"Comments\") }} />\r\n { this.onChange({ value, name: \"savedCommentRichTextBody\", actualName: \"Comments\" }) }}\r\n toolbarConfig={[]}\r\n placeholder=\"25000 Characters\"\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n )\r\n }\r\n return null\r\n })}\r\n {
    \r\n
      { this.handleAttachPopUp() }}>\r\n \"\"\r\n

      Attachments

      ({this.state.selectedFiles ? this.state.selectedFiles.length : '0'}) (Optional)

    \r\n {this.state.openAttachment &&\r\n { this.handleSetAttachmentData(data) }} selectedFile={this.state.selectedFiles || []} />}\r\n
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n { this.handleBackButton() }} />\r\n this.handleClearForm(e)} />\r\n
    \r\n {this.state.resetPopup && (\r\n {\r\n this.setState({ resetPopup: false });\r\n }}\r\n handleClose={() => {\r\n this.setState({ resetPopup: false });\r\n this.resetFields();\r\n }}>\r\n

    Are you sure you want to reset this page?

    \r\n
    \r\n )}\r\n {this.state.imageModal && \r\n \"close-icon\" this.handleCloseEditor()} />\r\n

    \r\n { this.onRichTextChange(value) }} placeholder=\"Type your text here...\"\r\n toolbarConfig={toolbarConfig} />\r\n \"send-icon\" this.handleSendIconModal()} />\r\n
    }\r\n {this.state.error && { this.setState({ showErrorPopup: false }); }} buttonPosition=\"center-button\">

    {this.state.error}

    }\r\n {this.state.showSpinner && }\r\n
    \r\n )\r\n }}\r\n
    \r\n )\r\n\r\n }\r\n}\r\nInternalRequestBasicForm.contextType = RequestContext;\r\nexport default InternalRequestBasicForm","import { validateWithPattern } from \"../../../../components/validators/validate\";\r\nimport DiaRequestFormSchema from \"../../../../assets/data/dia-request-form.json\";\r\n\r\nexport const validateDiaRequestAdditionalForm = (formState) => {\r\n let isError = false;\r\n let tempObj = {}\r\n const isRequestDetails = validateFieldsByPattern({ keyName: 'RequestDetails', value: formState.RequestDetails, formState })\r\n if (formState.RequestDetails.length < 20 || formState.RequestDetails.length > 25000) {\r\n let inValidMessage = ''\r\n inValidMessage = \"Additional Details is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n RequestDetailsError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n if (!isRequestDetails) {\r\n let inValidMessage = ''\r\n if (formState.RequestDetails === '') inValidMessage = 'This is a required field.'\r\n else inValidMessage = \"Additional Details is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n RequestDetailsError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n const isExpectedBusinessResult = validateFieldsByPattern({ keyName: 'ExpectedBusinessResult', value: formState.ExpectedBusinessResult, formState })\r\n if (formState.ExpectedBusinessResult.length < 20 || formState.ExpectedBusinessResult.length > 25000) {\r\n let inValidMessage = ''\r\n inValidMessage = \"ExpectedBusinessResult is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n ExpectedBusinessResultError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n if (!isExpectedBusinessResult) {\r\n let inValidMessage = ''\r\n if (formState.ExpectedBusinessResult === '') inValidMessage = 'This is a required field.'\r\n else inValidMessage = \"ExpectedBusinessResult is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n ExpectedBusinessResultError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n const isTargetAudience = validateFieldsByPattern({ keyName: 'TargetAudience', value: formState.TargetAudience, formState })\r\n if (formState.TargetAudience.length < 20 || formState.TargetAudience.length > 25000) {\r\n let inValidMessage = ''\r\n inValidMessage = \"TargetAudience is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n TargetAudienceError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n if (!isTargetAudience) {\r\n let inValidMessage = ''\r\n if (formState.TargetAudience === '') inValidMessage = 'This is a required field.'\r\n else inValidMessage = \"TargetAudience is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n TargetAudienceError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n return {\r\n fieldError: tempObj,\r\n haveError: isError\r\n }\r\n}\r\nexport const validateInput = (name, formData) => {\r\n let requirFields = formData.data && formData.data.filter(function (formFields) {\r\n return formFields.FormKey === name;\r\n });\r\n if (requirFields && requirFields.length > 0) {\r\n let errorkey = `${requirFields[0].FormKey}Error`, errorMessage = '', response = true\r\n if (formData[name] === '') {\r\n errorMessage = requirFields[0].ValidationMessages.RequiredMessage\r\n response = false\r\n } else {\r\n let selectedService = name;\r\n let Services = ['RequestDetails', 'ExpectedBusinessResult', 'TargetAudience', 'CandidateProjectUsers', 'AdditionalNotes'];\r\n let result = Services.includes(selectedService);\r\n if (result) {\r\n const isValid = validateFieldsByPattern({ pattern: requirFields[0].Validations.Pattern, value: formData[name], formState: formData })\r\n if (!isValid) {\r\n errorMessage = requirFields[0].ValidationMessages.PatternMessage\r\n }\r\n }\r\n if (name === 'RequestDetails') {\r\n if (formData[name].length < 20) {\r\n errorMessage = requirFields[0].ValidationMessages.MinDescription\r\n } else if (formData[name].length > 25000) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n if ((name === 'ExpectedBusinessResult')) {\r\n if (formData.ExpectedBusinessResult.length < 20) {\r\n errorMessage = requirFields[0].ValidationMessages.MinDescription\r\n } else if (formData.ExpectedBusinessResult.length > 25000) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n if ((name === 'TargetAudience')) {\r\n if (formData.TargetAudience.length < 20) {\r\n errorMessage = requirFields[0].ValidationMessages.MinDescription\r\n } else if (formData.TargetAudience.length > 25000) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n }\r\n return {\r\n fieldError: {\r\n [errorkey]: errorMessage\r\n },\r\n haveError: response\r\n }\r\n }\r\n return true\r\n}\r\nexport const validateFieldsByPattern = ({ keyName = '', pattern, value, formState }) => {\r\n if (keyName !== '') {\r\n let requirFields = []\r\n requirFields = formState.data && formState.data.filter(function (formFields) {\r\n return formFields.FormKey === keyName;\r\n });\r\n pattern = requirFields && requirFields.length > 0 && requirFields[0].Validations.Pattern\r\n }\r\n return validateWithPattern({ pattern, value })\r\n}\r\n\r\nexport const checkErrorsByField = (existingIssueDetails) => {\r\n const schemaFields = DiaRequestFormSchema.FormFields\r\n const haveError = schemaFields.find((field) => {\r\n let label = `${field}Error`\r\n return !!existingIssueDetails[label]\r\n })\r\n\r\n if (!!haveError) return true\r\n return false\r\n}","import React, { Component } from \"react\";\r\nimport \"./dia-request-form.scss\";\r\nimport DiaRequestFormSchema from \"../../../../assets/data/dia-request-form.json\";\r\nimport { getData } from \"../../../../api/api-manager\";\r\nimport Spinner from \"../../../../components/spinner/spinner\";\r\nimport { RequestContext } from \"../../../../context-providers/request-provider/request-provider\";\r\nimport { setInitialStates, setContextData } from \"../../../form/common-functionality-forms/form-common-functionality\";\r\nimport RichTextEditor from \"react-rte\";\r\nimport * as Constant from \"../../../../components/constants/constant\";\r\nimport CustomButton from \"../../../../components/button/secondary-button\";\r\nimport { toolbarConfig } from \"../../../../components/email-chip/react-rte-toolbar\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport { setErrorMessages, resetStates } from \"../../../../components/validators/validate\";\r\nimport { validateInput, validateDiaRequestAdditionalForm, checkErrorsByField } from \"./dia-request-form-validation\";\r\nimport Modal from \"../../../../components/modals/modal\";\r\nimport Tootltip from \"../../../../components/tool-tip/tool-tip\";\r\nimport { Fragment } from \"react\";\r\nclass DiaRequestForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n savedRequestDetailsRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedBusinessResultRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedTargetAudienceRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedCandidateProjectRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedAdditionalNotesRichTextBody: RichTextEditor.createEmptyValue(),\r\n richTextModalBody: RichTextEditor.createEmptyValue(),\r\n showSpinner: true\r\n };\r\n this.handleOnClickBack = this.handleOnClickBack.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.setDefaultStates();\r\n this.getDiaRequestFormData();\r\n }\r\n\r\n componentWillUnmount() {\r\n this.setFormDataOnUnmount()\r\n }\r\n\r\n setFormDataOnUnmount() {\r\n let contextData = setContextData(this.state.data, this.state)\r\n let additionalStateData = {\r\n File: this.state.selectedFiles\r\n }\r\n contextData = { ...contextData, ...additionalStateData }\r\n const isError = this.validate()\r\n this.context.addSelectedData({\r\n diaRequestFormData: {\r\n ...this.context.existingState.diaRequestFormData,\r\n savedRequestDetailsRichTextBody: this.state.savedRequestDetailsRichTextBody.toString(\r\n \"html\"\r\n ),\r\n savedBusinessResultRichTextBody: this.state.savedBusinessResultRichTextBody.toString(\r\n \"html\"\r\n ),\r\n savedTargetAudienceRichTextBody: this.state.savedTargetAudienceRichTextBody.toString(\r\n \"html\"\r\n ),\r\n savedCandidateProjectRichTextBody: this.state.savedCandidateProjectRichTextBody.toString(\r\n \"html\"\r\n ),\r\n savedAdditionalNotesRichTextBody: this.state.savedAdditionalNotesRichTextBody.toString(\r\n \"html\"\r\n ),\r\n ...contextData\r\n },\r\n isValidDialRequestFormData: !isError\r\n })\r\n }\r\n\r\n async setDefaultStates() {\r\n let contextData = this.context && this.context.existingState;\r\n let diaRequestFormData = contextData\r\n ? contextData.diaRequestFormData\r\n : {};\r\n await this.setState({\r\n data: DiaRequestFormSchema\r\n ? DiaRequestFormSchema.Config\r\n : [],\r\n savedRequestDetailsRichTextBody: RichTextEditor.createValueFromString(diaRequestFormData && diaRequestFormData.savedRequestDetailsRichTextBody ? diaRequestFormData.savedRequestDetailsRichTextBody : '',\r\n \"html\"\r\n ),\r\n savedBusinessResultRichTextBody:\r\n RichTextEditor.createValueFromString(diaRequestFormData && diaRequestFormData.savedBusinessResultRichTextBody ? diaRequestFormData.savedBusinessResultRichTextBody : '',\r\n \"html\"\r\n ),\r\n savedTargetAudienceRichTextBody: RichTextEditor.createValueFromString(\r\n diaRequestFormData && diaRequestFormData.savedTargetAudienceRichTextBody ? diaRequestFormData.savedTargetAudienceRichTextBody : '',\r\n \"html\"\r\n ),\r\n savedCandidateProjectRichTextBody: RichTextEditor.createValueFromString(\r\n diaRequestFormData && diaRequestFormData.savedCandidateProjectRichTextBody ? diaRequestFormData.savedCandidateProjectRichTextBody : '',\r\n \"html\"\r\n ),\r\n savedAdditionalNotesRichTextBody: RichTextEditor.createValueFromString(\r\n diaRequestFormData && diaRequestFormData.savedAdditionalNotesRichTextBody ? diaRequestFormData.savedAdditionalNotesRichTextBody : '',\r\n \"html\"\r\n )\r\n });\r\n const formFields = this.state.data;\r\n const stateData = await setInitialStates(\r\n formFields,\r\n diaRequestFormData\r\n );\r\n this.setStates(stateData);\r\n }\r\n\r\n async getDiaRequestFormData() {\r\n let selectedServiceIds =\r\n this.props.selectedServiceIds.length > 0\r\n ? this.props.selectedServiceIds.join()\r\n : \"\";\r\n const response = await getData({\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName: `PopulateInternalRequestAddOnForm?requestId=${selectedServiceIds}`,\r\n });\r\n const { data, success, error, isInfo } = await response;\r\n if (success) {\r\n await this.setState({\r\n AdditionalDetails: data.ToolTip,\r\n showSpinner: false,\r\n });\r\n } else {\r\n await this.setState({\r\n error: error,\r\n isInfo,\r\n showErrorPopup: true,\r\n showSpinner: false,\r\n });\r\n }\r\n }\r\n\r\n //RichTextEditer code start from here\r\n async onChange({ name, value, actualName }) {\r\n await this.setState({ [name]: value });\r\n let actualValue = value.toString(\"html\").replace(/(<([^>]+)>)/gi, \"\");\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n await this.setState(\r\n {\r\n [actualName]: actualValue,\r\n },\r\n () => {\r\n if (actualValue.length > 0) {\r\n this.validateInput(actualName, this.state);\r\n }\r\n }\r\n );\r\n }\r\n\r\n validateInput(name) {\r\n let { fieldError, isError } = validateInput(name, this.state);\r\n this.setStates(fieldError);\r\n return !isError;\r\n }\r\n\r\n async setStates(states) {\r\n await this.setState({\r\n ...states,\r\n });\r\n }\r\n\r\n validate() {\r\n const validationDetails = validateDiaRequestAdditionalForm(this.state);\r\n const { fieldError, haveError } = validationDetails;\r\n this.setStates(fieldError);\r\n return haveError;\r\n }\r\n\r\n async handleSubmitDiaAdditionalForm() {\r\n let stateWithError = setErrorMessages(this.state);\r\n await this.setState(\r\n {\r\n ...stateWithError,\r\n },\r\n () => {\r\n const isError = this.validate();\r\n const haveError = checkErrorsByField(this.state);\r\n if (!isError && !haveError) {\r\n this.submitData();\r\n }\r\n }\r\n );\r\n }\r\n async submitData() {\r\n let tempArr = {};\r\n const formFields = this.state.data;\r\n formFields.map((form) => {\r\n const { FormKey } = form;\r\n const name = FormKey;\r\n tempArr = {\r\n ...tempArr,\r\n [name]: this.state[name],\r\n };\r\n return null;\r\n });\r\n\r\n let diaRequestFormData = {\r\n DIARequest: {\r\n ...tempArr,\r\n RequestDetails: this.state.savedRequestDetailsRichTextBody.toString(\r\n \"html\"\r\n ),\r\n ExpectedBusinessResult: this.state.savedBusinessResultRichTextBody.toString(\r\n \"html\"\r\n ),\r\n TargetAudience: this.state.savedTargetAudienceRichTextBody.toString(\r\n \"html\"\r\n ),\r\n CandidateProjectUsers: this.state.savedCandidateProjectRichTextBody.toString(\r\n \"html\"\r\n ),\r\n AdditionalNotes: this.state.savedAdditionalNotesRichTextBody.toString(\r\n \"html\"\r\n ),\r\n },\r\n };\r\n await this.context.addSelectedData({\r\n diaRequestFormData: diaRequestFormData,\r\n isValidDialRequestFormData: true,\r\n });\r\n if (this.props.btnLbl === \"Submit\") {\r\n this.props.handleSubmit();\r\n }\r\n }\r\n\r\n handleClearForm(e) {\r\n e.preventDefault();\r\n this.setState({ resetPopup: true });\r\n }\r\n\r\n handleOnClickBack() {\r\n this.props.handleBtnClick(0)\r\n }\r\n\r\n handleImageModal(text, actualName) {\r\n this.setState({\r\n imageModal: true,\r\n richTextModalBody: this.state[text],\r\n clickedRichTextBody: text,\r\n clickedActualRichTextName: actualName,\r\n });\r\n }\r\n\r\n handleCloseEditor() {\r\n this.setState({\r\n imageModal: false,\r\n richTextModalBody: RichTextEditor.createEmptyValue(),\r\n });\r\n }\r\n\r\n async resetFields() {\r\n const resetFields = resetStates(this.state);\r\n await this.setState({\r\n ...resetFields,\r\n savedRequestDetailsRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedBusinessResultRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedTargetAudienceRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedCandidateProjectRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedAdditionalNotesRichTextBody: RichTextEditor.createEmptyValue(),\r\n });\r\n await this.context.addSelectedData({ diaRequestFormData: {} });\r\n }\r\n\r\n handleSendIconModal() {\r\n let actualValue = this.state.richTextModalBody\r\n .toString(\"html\")\r\n .replace(/(<([^>]+)>)/gi, \"\");\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n this.setState(\r\n {\r\n imageModal: false,\r\n [this.state.clickedRichTextBody]: this.state.richTextModalBody,\r\n [this.state.clickedActualRichTextName]: actualValue,\r\n },\r\n () => {\r\n this.validateInput(this.state.clickedActualRichTextName, this.state);\r\n }\r\n );\r\n }\r\n async onRichTextChange(value) {\r\n this.setState({ richTextModalBody: value });\r\n }\r\n\r\n render() {\r\n const additionalDetailsFields = this.state.AdditionalDetails\r\n ? this.state.AdditionalDetails\r\n : false;\r\n return (\r\n \r\n {(AppContextData) => {\r\n return (\r\n
    \r\n
    \r\n {additionalDetailsFields.length > 0 &&\r\n additionalDetailsFields.map((form) => {\r\n let keyString = `${form.FormKey}Error`;\r\n if (form.FormKey === \"RequestDetails\") {\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.handleImageModal(\r\n \"savedRequestDetailsRichTextBody\",\r\n \"RequestDetails\"\r\n );\r\n }}\r\n />\r\n {\r\n this.onChange({\r\n value,\r\n name: \"savedRequestDetailsRichTextBody\",\r\n actualName: \"RequestDetails\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n {this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"ExpectedBusinessResult\") {\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.handleImageModal(\r\n \"savedBusinessResultRichTextBody\",\r\n \"ExpectedBusinessResult\"\r\n );\r\n }}\r\n />\r\n {\r\n this.onChange({\r\n value,\r\n name: \"savedBusinessResultRichTextBody\",\r\n actualName: \"ExpectedBusinessResult\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n {this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"TargetAudience\") {\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.handleImageModal(\r\n \"savedTargetAudienceRichTextBody\",\r\n \"TargetAudience\"\r\n );\r\n }}\r\n />\r\n {\r\n this.onChange({\r\n value,\r\n name: \"savedTargetAudienceRichTextBody\",\r\n actualName: \"TargetAudience\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n {this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"CandidateProjectUsers\") {\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.handleImageModal(\r\n \"savedCandidateProjectRichTextBody\",\r\n \"CandidateProjectUsers\"\r\n );\r\n }}\r\n />\r\n {\r\n this.onChange({\r\n value,\r\n name: \"savedCandidateProjectRichTextBody\",\r\n actualName: \"CandidateProjectUsers\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n {this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"AdditionalNotes\") {\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.handleImageModal(\r\n \"savedAdditionalNotesRichTextBody\",\r\n \"AdditionalNotes\"\r\n );\r\n }}\r\n />\r\n {\r\n this.onChange({\r\n value,\r\n name: \"savedAdditionalNotesRichTextBody\",\r\n actualName: \"AdditionalNotes\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n {this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n return null;\r\n })}\r\n
    \r\n
    \r\n {\r\n this.handleSubmitDiaAdditionalForm();\r\n }}\r\n >\r\n {this.props.btnLbl}\r\n \r\n \r\n this.handleClearForm(e)}\r\n />\r\n
    \r\n {this.state.resetPopup && (\r\n {\r\n this.setState({ resetPopup: false });\r\n }}\r\n handleClose={() => {\r\n this.setState({ resetPopup: false });\r\n this.resetFields();\r\n }}\r\n >\r\n

    \r\n Are you sure you want to reset this page?\r\n

    \r\n \r\n )}\r\n {this.state.imageModal && (\r\n \r\n this.handleCloseEditor()}\r\n />\r\n

    \r\n {\r\n this.onRichTextChange(value);\r\n }}\r\n placeholder=\"Type your text here...\"\r\n toolbarConfig={toolbarConfig}\r\n />\r\n this.handleSendIconModal()}\r\n />\r\n \r\n )}\r\n {this.state.error && (\r\n {\r\n this.setState({ showErrorPopup: false });\r\n }}\r\n buttonPosition=\"center-button\"\r\n >\r\n

    {this.state.error}

    \r\n \r\n )}\r\n {this.state.showSpinner && }\r\n
    \r\n );\r\n }}\r\n
    \r\n );\r\n }\r\n}\r\nDiaRequestForm.contextType = RequestContext;\r\nexport default DiaRequestForm;\r\n","import { validateWithPattern } from \"../../../../components/validators/validate\";\r\nimport ScopeChangeRequestFormSchema from '../../../../assets/data/scope-change-request-form.json';\r\n\r\nexport const validateScopeChangeRequestAdditionalForm = (formState) => {\r\n let isError = false;\r\n let tempObj = {}\r\n const requireFieldErrorMsg = \"This is a required field.\";\r\n const isStatementForChangeNeed = validateFieldsByPattern({ keyName: 'StatementForChangeNeed', value: formState.StatementForChangeNeed, formState })\r\n if (formState.StatementForChangeNeed.length < 20 || formState.StatementForChangeNeed.length > 25000) {\r\n let inValidMessage = ''\r\n inValidMessage = \"Statement of why we need the change is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n StatementForChangeNeedError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n if (!isStatementForChangeNeed) {\r\n let inValidMessage = ''\r\n if (formState.StatementForChangeNeed === '') inValidMessage = requireFieldErrorMsg;\r\n else inValidMessage = \"Statement of why we need the change is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n StatementForChangeNeedError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n const isEffortImpactSummary = validateFieldsByPattern({ keyName: 'EffortImpactSummary', value: formState.EffortImpactSummary, formState })\r\n if (formState.EffortImpactSummary.length < 20 || formState.EffortImpactSummary.length > 25000) {\r\n let inValidMessage = ''\r\n inValidMessage = \"Effort Impact Summary is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n EffortImpactSummaryError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n if (!isEffortImpactSummary) {\r\n let inValidMessage = ''\r\n if (formState.EffortImpactSummary === '') inValidMessage = requireFieldErrorMsg\r\n else inValidMessage = \"Effort Impact Summary is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n EffortImpactSummaryError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n const isBudgetImpactSummary = validateFieldsByPattern({ keyName: 'BudgetImpactSummary', value: formState.BudgetImpactSummary, formState })\r\n if (formState.BudgetImpactSummary.length < 20 || formState.BudgetImpactSummary.length > 2000) {\r\n let inValidMessage = ''\r\n inValidMessage = \"Budget Impact Summary is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n BudgetImpactSummaryError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n if (!isBudgetImpactSummary) {\r\n let inValidMessage = ''\r\n if (formState.BudgetImpactSummary === '') inValidMessage = requireFieldErrorMsg;\r\n else inValidMessage = \"Budget Impact Summary is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n BudgetImpactSummaryError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n const isRecommendation = validateFieldsByPattern({ keyName: 'Recommendation', value: formState.Recommendation, formState })\r\n if (formState.Recommendation.length < 20 || formState.Recommendation.length > 25000) {\r\n let inValidMessage = ''\r\n inValidMessage = \"Recommendation is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n RecommendationError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n if (!isRecommendation) {\r\n let inValidMessage = ''\r\n if (formState.Recommendation === '') inValidMessage = requireFieldErrorMsg;\r\n else inValidMessage = \"Recommendation is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n RecommendationError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n if (!!formState.ModifiedFeature && formState.ModifiedFeature.length > 0) {\r\n let schemaData = formState.data.find(item => item.FormKey === 'ModifiedFeature');\r\n let validationResult = formState.ModifiedFeature.map(el => {\r\n let errorMessage = {}\r\n schemaData.RequiredformFields.map(fieldKeyName => {\r\n let fieldSchema = schemaData.Config.find(record => record.FormKey === fieldKeyName);\r\n let fieldName = fieldSchema.FieldName;\r\n const isFieldName = validateWithPattern({ pattern: fieldSchema.Validations.Pattern, value: el[fieldKeyName] })\r\n let errorKey = `${fieldKeyName}Error`;\r\n if (fieldKeyName === 'AzureID' && (el[fieldKeyName].length < 5 || el[fieldKeyName].length > 10)) {\r\n let inValidMessage = ''\r\n inValidMessage = `${[fieldName]} is invalid.`\r\n errorMessage = {\r\n ...errorMessage,\r\n [errorKey]: inValidMessage\r\n }\r\n isError = true\r\n }\r\n if (fieldKeyName === 'FeatureName' && (el[fieldKeyName].length < 20 || el[fieldKeyName].length > 250)) {\r\n let inValidMessage = ''\r\n inValidMessage = `${[fieldName]} is invalid.`\r\n errorMessage = {\r\n ...errorMessage,\r\n [errorKey]: inValidMessage\r\n }\r\n isError = true\r\n }\r\n if (fieldKeyName === 'ChangeDescription' && (el[fieldKeyName].length < 20 || el[fieldKeyName].length > 25000)) {\r\n let inValidMessage = ''\r\n inValidMessage = `${[fieldName]} is invalid.`\r\n errorMessage = {\r\n ...errorMessage,\r\n [errorKey]: inValidMessage\r\n }\r\n isError = true\r\n }\r\n if (!isFieldName) {\r\n let inValidMessage = ''\r\n if (el[fieldKeyName] === '') inValidMessage = requireFieldErrorMsg;\r\n else inValidMessage = `${fieldName} is invalid.`\r\n errorMessage = {\r\n ...errorMessage,\r\n [errorKey]: inValidMessage\r\n }\r\n isError = true\r\n } return null;\r\n })\r\n return { ...el, errorMessage }\r\n })\r\n tempObj = {\r\n ...tempObj,\r\n ModifiedFeature: validationResult\r\n }\r\n }\r\n if (!!formState.NewFeature && formState.NewFeature.length > 0) {\r\n let schemaData = formState.data.find(item => item.FormKey === 'NewFeature');\r\n let validationResult = formState.NewFeature.map(el => {\r\n let errorMessage = {}\r\n schemaData.RequiredformFields.map(fieldKeyName => {\r\n let fieldSchema = schemaData.Config.find(record => record.FormKey === fieldKeyName);\r\n let fieldName = fieldSchema.FieldName;\r\n const isFieldName = validateWithPattern({ pattern: fieldSchema.Validations.Pattern, value: el[fieldKeyName] })\r\n let errorKey = `${fieldKeyName}Error`;\r\n if (((fieldKeyName === 'Description' || fieldKeyName === 'AcceptanceCriteria') && (el[fieldKeyName].length < 20 || el[fieldKeyName].length > 25000)) || (fieldKeyName !== 'Description' && fieldKeyName !== 'AcceptanceCriteria' && fieldKeyName !== 'EffortEstimation' && (el[fieldKeyName].length < 20 || el[fieldKeyName].length > 250))) {\r\n let inValidMessage = ''\r\n inValidMessage = `${[fieldName]} is invalid.`\r\n errorMessage = {\r\n ...errorMessage,\r\n [errorKey]: inValidMessage\r\n }\r\n isError = true\r\n }\r\n if (!isFieldName) {\r\n let inValidMessage = ''\r\n if (el[fieldKeyName] === '') inValidMessage = requireFieldErrorMsg;\r\n else inValidMessage = `${fieldName} is invalid.`\r\n errorMessage = {\r\n ...errorMessage,\r\n [errorKey]: inValidMessage\r\n }\r\n isError = true\r\n } return null;\r\n })\r\n return { ...el, errorMessage }\r\n })\r\n tempObj = {\r\n ...tempObj,\r\n NewFeature: validationResult\r\n }\r\n }\r\n return {\r\n fieldError: tempObj,\r\n haveError: isError\r\n }\r\n}\r\nexport const validateInput = (name, formData, changedObjData) => {\r\n let requirFields = formData.data && formData.data.filter(function (formFields) {\r\n return formFields.FormKey === name;\r\n });\r\n const formDetail = !!changedObjData ? { ...changedObjData } : { ...formData };\r\n if (requirFields && requirFields.length > 0) {\r\n let errorkey = `${requirFields[0].FormKey}Error`, errorMessage = '', response = true\r\n if (formDetail[name] === '') {\r\n errorMessage = requirFields[0].ValidationMessages.RequiredMessage\r\n response = false\r\n } else {\r\n let selectedService = name;\r\n let Services = ['StatementForChangeNeed', 'ExternalRequestor', 'EffortImpactSummary', 'BudgetImpactSummary', 'Recommendation'];\r\n let featureServices = ['FeatureName', 'AzureID', 'ChangeDescription', \"Stream\", \"Description\", \"AcceptanceCriteria\", \"EffortEstimation\", \"ProposedStartingSprint\", \"ProposedEndingSprint\"];\r\n let result = Services.includes(selectedService);\r\n let featureResult = featureServices.includes(selectedService)\r\n if (result) {\r\n const isValid = validateFieldsByPattern({ pattern: requirFields[0].Validations.Pattern, value: formDetail[name], formState: formDetail })\r\n if (!isValid) {\r\n errorMessage = requirFields[0].ValidationMessages.PatternMessage\r\n }\r\n } else if (featureResult) {\r\n const isValid = validateWithPattern({ pattern: requirFields[0].Validations.Pattern, value: formDetail[name] })\r\n if (!isValid) {\r\n errorMessage = requirFields[0].ValidationMessages.PatternMessage\r\n }\r\n }\r\n if (name === 'ExternalRequestor' || name === 'StatementForChangeNeed' || name === 'EffortImpactSummary' ||\r\n name === 'Recommendation' || name === 'ChangeDescription' || name === 'Description' || name === 'AcceptanceCriteria') {\r\n if (formDetail[name].length < 20) {\r\n errorMessage = requirFields[0].ValidationMessages.MinDescription\r\n } else if (formDetail[name].length > 25000) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n if (name === 'BudgetImpactSummary') {\r\n if (formDetail[name].length < 20) {\r\n errorMessage = requirFields[0].ValidationMessages.MinDescription\r\n } else if (formDetail[name].length > 2000) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n if (name === 'AzureID') {\r\n if (formDetail[name].length < 6) {\r\n errorMessage = requirFields[0].ValidationMessages.MinDescription\r\n } else if (formDetail[name].length > 10) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n if (name === 'FeatureName' || name === 'Stream' || name === 'EffortEstimation' || name === 'ProposedStartingSprint' || name === 'ProposedEndingSprint') {\r\n if (formDetail[name].length < 20) {\r\n errorMessage = requirFields[0].ValidationMessages.MinDescription\r\n } else if (formDetail[name].length > 250) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n }\r\n return {\r\n fieldError: {\r\n [errorkey]: errorMessage\r\n },\r\n haveError: response\r\n }\r\n }\r\n return true\r\n}\r\nexport const validateFieldsByPattern = ({ keyName = '', pattern, value, formState }) => {\r\n if (keyName !== '') {\r\n let requirFields = []\r\n requirFields = formState.data && formState.data.filter(function (formFields) {\r\n return formFields.FormKey === keyName;\r\n });\r\n pattern = requirFields && requirFields.length > 0 && requirFields[0].Validations.Pattern\r\n }\r\n return validateWithPattern({ pattern, value })\r\n}\r\n\r\nexport const checkErrorsByField = (existingIssueDetails) => {\r\n const schemaFields = ScopeChangeRequestFormSchema.FormFields\r\n const haveError = schemaFields.find((field) => {\r\n if (field === 'ModifiedFeature' || field === 'NewFeature') {\r\n // eslint-disable-next-line\r\n let featuresWithError = existingIssueDetails[field].find((el) => { el.errorMessage && Object.values(el.errorMessage).find(item => item !== '') })\r\n return !!featuresWithError\r\n } else {\r\n let label = `${field}Error`\r\n return !!existingIssueDetails[label]\r\n }\r\n })\r\n if (!!haveError) return true\r\n return false\r\n}","import React from 'react';\r\nimport { Component } from 'react';\r\nimport \"./modified-feature-table.scss\"\r\nimport * as Constant from \"../constants/constant\";\r\nimport SecondaryButton from \"../button/secondary-button\";\r\nimport RichTextEditor from \"react-rte\";\r\nimport { toolbarConfig } from \"../email-chip/react-rte-toolbar\";\r\nimport Modal from \"../modals/modal\";\r\nimport { validateInput } from \"../../containers/internal-request-management/internal-request-form/scope-change-request-form/scope-change-request-form-validation.js\";\r\nimport ScopeChangeRequestFormSchema from '../../assets/data/scope-change-request-form.json';\r\nimport CustomInput from \"../custom-input/custom-input\";\r\nimport Tootltip from \"../tool-tip/tool-tip\";\r\nimport CustomTextArea from \"../custom-textarea/custom-textarea\";\r\nimport { Fragment } from 'react';\r\nimport parse from 'html-react-parser';\r\nclass ModifiedFeatureTable extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isUserCanEdit: true,\r\n isEditable: false,\r\n isAddRowEnabled: true,\r\n imageModal: false,\r\n isEdit: false,\r\n sendIcon: false,\r\n modifiedFeaturesArray: [],\r\n richTextBody: [],\r\n richTextModalBody: RichTextEditor.createEmptyValue(),\r\n richTextUpdatingObj: null,\r\n richTextUpdatingObjKey: null\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.setInitialStates(this.props.modifiedFeaturesDetails);\r\n }\r\n\r\n componentDidUpdate() {\r\n if ((!!this.props.doesFeatureArrayNeedUpdation)) {\r\n this.setInitialStates(this.props.modifiedFeaturesDetails)\r\n this.props.setModifiedFeatureUpdationFlag(false)\r\n }\r\n if(!!this.props.newModifiedMandatoryError && this.state.modifiedFeaturesArray.length > 0){\r\n this.props.setnewModifiedMandatoryError('');\r\n }\r\n }\r\n\r\n async setInitialStates(initialData) {\r\n let configObj = ScopeChangeRequestFormSchema.Config.find((el) => el.FormKey === \"ModifiedFeature\");\r\n await this.setState({\r\n data: configObj ? configObj.Config : [],\r\n modifiedFeaturesArray: [...initialData]\r\n }, () => {\r\n let isEnableAddRowButton = this.enableAddRowButton();\r\n if (isEnableAddRowButton) {\r\n this.setState({\r\n isAddRowEnabled: true\r\n })\r\n } else {\r\n this.setState({\r\n isAddRowEnabled: false\r\n })\r\n }\r\n })\r\n }\r\n\r\n handleInput(e, data, index) {\r\n let { name, value, validity } = e.target;\r\n if (name === 'AzureID') {\r\n if (!validity.valid) {\r\n value = !!data.AzureID ? data.AzureID : '';\r\n }\r\n }\r\n let modifiedFeaturesCopy = [...this.state.modifiedFeaturesArray];\r\n let currentObj = this.state.modifiedFeaturesArray.find(el => el.Id === data['Id']);\r\n currentObj[name] = value;\r\n modifiedFeaturesCopy[index] = currentObj;\r\n\r\n this.setState({\r\n modifiedFeaturesArray: [...modifiedFeaturesCopy]\r\n })\r\n this.validateInput(name, currentObj, index);\r\n this.updateModifiedFeatureDetails();\r\n }\r\n\r\n async addNewRow() {\r\n let maxId = 0;\r\n let modifiedFeaturesCopy = [...this.state.modifiedFeaturesArray];\r\n maxId = modifiedFeaturesCopy.length > 0 ? Math.max.apply(Math, modifiedFeaturesCopy.map(function (o) { return o.Id; })) : 0\r\n modifiedFeaturesCopy.push({\r\n Id: maxId + 1,\r\n FeatureName: \"\",\r\n AzureID: \"\",\r\n ChangeDescription: \"\",\r\n ChangeDescriptionRichTextBody: RichTextEditor.createEmptyValue(),\r\n errorMessage: {}\r\n });\r\n await this.setState({ modifiedFeaturesArray: modifiedFeaturesCopy, isAddRowEnabled: false },\r\n () => {\r\n this.updateModifiedFeatureDetails(modifiedFeaturesCopy);\r\n }\r\n );\r\n }\r\n\r\n updateModifiedFeatureDetails = async (modifiedFeaturesCopy = [...this.state.modifiedFeaturesArray]) => {\r\n await this.props.updateModifiedFeatureDetails(modifiedFeaturesCopy);\r\n let isEnableAddRowButton = this.enableAddRowButton();\r\n if (isEnableAddRowButton) {\r\n this.setState({\r\n isAddRowEnabled: true\r\n })\r\n } else {\r\n this.setState({\r\n isAddRowEnabled: false\r\n })\r\n }\r\n }\r\n\r\n async handleRemoveFeatures(e, data) {\r\n let modifiedFeaturesCopy = Object.assign([], this.state.modifiedFeaturesArray);\r\n let filterFeatureCopy = modifiedFeaturesCopy.filter(record => record.Id !== data.Id);\r\n await this.setState({ modifiedFeaturesArray: filterFeatureCopy })\r\n this.updateModifiedFeatureDetails(filterFeatureCopy);\r\n const { newFeatureArrayDetails, additionalDetails, formName } = this.props;\r\n if( newFeatureArrayDetails && newFeatureArrayDetails.length === 0 && this.state.modifiedFeaturesArray.length === 0 ){\r\n if(formName === \"ScopeChangeRequestAdditionalDetails\"){\r\n if(additionalDetails && additionalDetails.length === 0){\r\n this.props.setnewModifiedMandatoryError('Please add at least one row in Modified/ Removed Feature table.');\r\n } else{\r\n this.props.setnewModifiedMandatoryError('Please add at least one row in one of New Feature and Modified/ Removed Feature tables.');\r\n }\r\n }else{\r\n this.props.setnewModifiedMandatoryError('Please add at least one row in one of New Feature and Modified/ Removed Feature tables.');\r\n }\r\n }\r\n }\r\n\r\n onChange = (value, name) => {\r\n this.setState({\r\n [name]: value,\r\n richTextModalBody: value,\r\n });\r\n };\r\n\r\n validateInput(name, currentObj, key) {\r\n let { fieldError } = validateInput(name, this.state, currentObj)\r\n let modifiedFeaturesCopy = [...this.state.modifiedFeaturesArray];\r\n let modifiedObj = this.state.modifiedFeaturesArray.find(el => el.Id === currentObj['Id']);\r\n modifiedObj[\"errorMessage\"] = {\r\n ...currentObj.errorMessage,\r\n ...fieldError\r\n }\r\n modifiedFeaturesCopy[key] = modifiedObj;\r\n\r\n this.setState({\r\n modifiedFeaturesArray: [...modifiedFeaturesCopy]\r\n });\r\n }\r\n\r\n enableAddRowButton = () => {\r\n let modifiedFeatureArr = [...this.state.modifiedFeaturesArray];\r\n if (modifiedFeatureArr.length > 0) {\r\n let emptyValues = modifiedFeatureArr.reduce((acc, item) => {\r\n return [...acc, ...Object.keys(item).filter(el => {\r\n return ['FeatureName', 'AzureID', 'ChangeDescription'].includes(el) && item[el] === '';\r\n })];\r\n }, [])\r\n let errorFields = modifiedFeatureArr.reduce((acc, item) => {\r\n return [...acc, ...Object.values(item.errorMessage).filter(el => el !== '')];\r\n }, [])\r\n if (emptyValues.length > 0 || errorFields.length > 0) return false;\r\n }\r\n return true;\r\n }\r\n\r\n handleCloseEditor() {\r\n this.setState({\r\n imageModal: false\r\n });\r\n }\r\n\r\n handleSendIconModal() {\r\n this.setState({\r\n imageModal: false,\r\n sendIcon: true,\r\n })\r\n }\r\n\r\n handleSaveRichTxt() {\r\n let actualValue = this.state.richTextModalBody.toString('html').replace(/(<([^>]+)>)/ig, '');\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n let modifiedFeaturesCopy = Object.assign([], this.state.modifiedFeaturesArray);\r\n let record = modifiedFeaturesCopy.find(data => data.Id === this.state.richTextUpdatingObj.Id);\r\n let recordKey = this.state.richTextUpdatingKey;\r\n let actualName = this.state.clickedActualRichTextName;\r\n let name = this.state.richTxt\r\n record[actualName] = actualValue;\r\n record[name] = this.state.richTextModalBody;\r\n modifiedFeaturesCopy[recordKey] = record;\r\n this.setState(\r\n {\r\n imageModal: false,\r\n sendIcon: false,\r\n richTextUpdatingObj: null,\r\n richTextUpdatingKey: null,\r\n modifiedFeaturesArray: [...modifiedFeaturesCopy]\r\n },\r\n () => {\r\n if (actualValue.length > 0) {\r\n this.handleRichTextValidation(this.state.clickedActualRichTextName, record, recordKey);\r\n this.updateModifiedFeatureDetails();\r\n }\r\n }\r\n );\r\n }\r\n\r\n handleDontSaveRichTxt() {\r\n this.setState({\r\n imageModal: false,\r\n sendIcon: false,\r\n richTextUpdatingObj: null,\r\n richTextUpdatingKey: null,\r\n });\r\n }\r\n\r\n handleCloseIcon() {\r\n this.setState({\r\n imageModal: true,\r\n sendIcon: false,\r\n });\r\n }\r\n\r\n async onChangeRichtext({ name, value, actualName, key, ...data }) {\r\n let actualValue = value.toString(\"html\").replace(/(<([^>]+)>)/gi, \"\");\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n let modifiedFeaturesCopy = [...this.state.modifiedFeaturesArray];\r\n let currentObj = this.state.modifiedFeaturesArray.find(el => el.Id === data['Id']);\r\n currentObj[name] = value;\r\n currentObj[actualName] = actualValue\r\n modifiedFeaturesCopy[key] = currentObj;\r\n\r\n await this.setState({\r\n modifiedFeaturesArray: [...modifiedFeaturesCopy]\r\n }, () => {\r\n if (actualValue.length > 0) {\r\n this.handleRichTextValidation(actualName, currentObj, key)\r\n }\r\n })\r\n this.updateModifiedFeatureDetails();\r\n }\r\n\r\n handleRichTextValidation(name, data, key) {\r\n let { fieldError } = validateInput(name, this.state, data)\r\n let modifiedFeaturesCopy = [...this.state.modifiedFeaturesArray];\r\n let modifiedObj = this.state.modifiedFeaturesArray.find(el => el.Id === data['Id']);\r\n modifiedObj[\"errorMessage\"] = {\r\n ...data.errorMessage,\r\n ...fieldError\r\n }\r\n modifiedFeaturesCopy[key] = modifiedObj;\r\n\r\n this.setState({\r\n modifiedFeaturesArray: [...modifiedFeaturesCopy]\r\n });\r\n this.updateModifiedFeatureDetails();\r\n }\r\n\r\n handleImageModal(txt, actualName, data, key) {\r\n this.setState({\r\n imageModal: true,\r\n richTxt: txt,\r\n richTextModalBody: data[txt],\r\n richTextUpdatingObj: { ...data },\r\n richTextUpdatingKey: key,\r\n clickedActualRichTextName: actualName\r\n });\r\n }\r\n\r\n render() {\r\n const additionalDetailsFields = this.props.additionalDetailsFields;\r\n return (\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 {this.state.modifiedFeaturesArray.map((item, key) => {\r\n return (\r\n \r\n {/* Feature Name section */}\r\n \r\n\r\n {/* Azure ID section */}\r\n \r\n\r\n {/* Change Description section */}\r\n \r\n {/* Delete row section */}\r\n \r\n \r\n )\r\n })}\r\n \r\n
    Feature NameAzure IDChange Description\r\n {!!additionalDetailsFields && additionalDetailsFields[0].FieldName === 'Change Description' &&\r\n \r\n \r\n \r\n \r\n }\r\n
    \r\n {!!this.props.isEditable ? (\r\n \r\n \r\n this.handleInput(e, item, key)}\r\n value={item.FeatureName}\r\n maxLength=\"25000\"\r\n />\r\n \r\n ) :
    {item.FeatureName}
    }\r\n {item.errorMessage && item.errorMessage.FeatureNameError && (\r\n \r\n {item.errorMessage.FeatureNameError}\r\n \r\n )}\r\n
    \r\n {!!this.props.isEditable ? (\r\n \r\n \r\n this.handleInput(e, item, key)}\r\n value={item.AzureID}\r\n />\r\n \r\n ) :
    {item.AzureID}
    }\r\n {item.errorMessage && item.errorMessage.AzureIDError && (\r\n \r\n {item.errorMessage.AzureIDError}\r\n \r\n )}\r\n
    \r\n {!!this.props.isEditable ? (
    \r\n \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"ChangeDescriptionRichTextBody\",\r\n actualName: \"ChangeDescription\",\r\n key,\r\n ...item,\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n \r\n {item.errorMessage.ChangeDescriptionError}\r\n \r\n \r\n \r\n \"edit-icon\"\r\n { this.handleImageModal(\"ChangeDescriptionRichTextBody\", \"ChangeDescription\", item, key); }} />\r\n \r\n
    ) : (\r\n {parse(item.ChangeDescriptionRichTextBody.toString(\"html\"))}\r\n )}\r\n\r\n
    \r\n {!!this.props.isEditable &&\r\n }\r\n
    \r\n\r\n {this.props.isEditable &&\r\n this.addNewRow()}\r\n />}\r\n
    \r\n {\r\n this.state.imageModal && (\r\n \r\n this.handleCloseEditor()}\r\n />\r\n \r\n this.handleSendIconModal()}\r\n />\r\n \r\n )\r\n }\r\n
    \r\n {this.state.sendIcon && (\r\n {\r\n this.handleSaveRichTxt();\r\n }}\r\n handleCancel={() => {\r\n this.handleDontSaveRichTxt();\r\n }}\r\n >\r\n

    Alert

    \r\n this.handleCloseIcon()}\r\n />\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default ModifiedFeatureTable ","import { validateWithPattern } from \"../../components/validators/validate\";\r\n\r\nexport const validateInput = (name, stateData) => {\r\n let errorTxt = \"\";\r\n if (stateData[name] === null || stateData[name] === \"\" || stateData[name].length === 0) {\r\n errorTxt = \"This field is required\"\r\n } else{\r\n const fields = [\"FeatureName\", \"Stream\", \"EffortEstimation\", \"ProposedStartingSprint\", \"ProposedEndingSprint\"];\r\n if(fields.includes(name)){\r\n const isValid = validateFieldsByPattern(stateData[name]);\r\n errorTxt = handleRichTextValidation(name, stateData)\r\n if (!isValid) {\r\n errorTxt = `Invalid ${getName(name)}. symbols < > are not allowed.`\r\n }\r\n } else{\r\n errorTxt = handleRichTextValidation(name, stateData)\r\n }\r\n \r\n }\r\n\r\n return errorTxt;\r\n}\r\n\r\nexport const getName = (name) =>{\r\n let actualName = name\r\n\r\n if (name === \"FeatureName\"){\r\n actualName = \"Feature Name\"\r\n }\r\n if(name === \"Stream\"){\r\n actualName = \"Stream/Capability/Team\"\r\n }\r\n if(name === \"Description\"){\r\n actualName=\"Description\"\r\n }\r\n if (name === \"AcceptanceCriteria\"){\r\n actualName = \"Acceptance Criteria\"\r\n }\r\n if (name === \"EffortEstimation\"){\r\n actualName = \"Effort Estimation\"\r\n }\r\n if (name === \"ProposedStartingSprint\"){\r\n actualName = \"Proposed Starting Sprint\"\r\n }\r\n if (name === \"ProposedEndingSprint\"){\r\n actualName = \"Proposed Ending Sprint\"\r\n }\r\n\r\n return actualName;\r\n}\r\n\r\nexport const handleRichTextValidation = (name, stateData) => {\r\n let errorTxt = \"\";\r\n let actualName = getName(name);\r\n if (name === \"Description\" || name === \"AcceptanceCriteria\"){\r\n if ((stateData[name].length < 20 && stateData[name].length > 0)) {\r\n errorTxt = `${actualName} should be at least 20 characters long.`\r\n } else if (stateData[name].length > 25000) {\r\n errorTxt = `${actualName} should not be more than 25000 characters long.`\r\n }\r\n } else if(name === \"FeatureName\" || name === \"Stream\" || name === \"ProposedStartingSprint\" || name === \"ProposedEndingSprint\"){\r\n if ((stateData[name].length < 20 && stateData[name].length > 0)) {\r\n errorTxt = `${actualName} should be at least 20 characters long.`\r\n } else if (stateData[name].length > 250) {\r\n errorTxt = `${actualName} should not be more than 250 characters long.`\r\n }\r\n }else{\r\n if (stateData[name].length > 250) {\r\n errorTxt = `${actualName} should not be more than 250 characters long.`\r\n }\r\n }\r\n \r\n return errorTxt;\r\n}\r\n\r\nexport const validateFieldsByPattern = (value) =>{\r\n let pattern = \"^[^\\\\<\\\\>]+$\";\r\n return validateWithPattern({ pattern, value })\r\n}\r\n\r\nexport const enableAddRowButton = (featureDetailList, arrayList) => {\r\n if (featureDetailList.length > 0) {\r\n let emptyValues = featureDetailList.reduce((acc, item) => {\r\n return [...acc, ...Object.keys(item).filter(el => {\r\n return arrayList.includes(el) && item[el] === '';\r\n })];\r\n }, [])\r\n let errorFields = featureDetailList.reduce((acc, item) => {\r\n return [...acc, ...Object.values(item.errorMessage).filter(el => el !== '')];\r\n }, [])\r\n\r\n return !(emptyValues.length>0 || errorFields.length>0)\r\n } return true;\r\n }\r\n","import React from 'react';\r\nimport { Component } from 'react';\r\nimport RichTextEditor from \"react-rte\";\r\nimport \"./new-feature-table.scss\"\r\nimport Modal from \"../../components/modals/modal\"\r\nimport * as Constant from \"../../components/constants/constant\";\r\nimport { toolbarConfig } from \"../../components/email-chip/react-rte-toolbar\";\r\nimport parse from 'html-react-parser';\r\nimport { validateInput, enableAddRowButton } from \"./new-feature-table-validation\";\r\nimport { CustomTextArea } from \"../../containers/requests-grid/assignment/request-assignment-import\";\r\n\r\nclass NewFeatureTable extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isEditable: false,\r\n imageModal: false,\r\n sendIcon: false,\r\n newFeaturesArray: [],\r\n richTextBody: [],\r\n mailBody: RichTextEditor.createEmptyValue(),\r\n fieldList: [\"FeatureName\", \"Stream\", \"Description\", \"AcceptanceCriteria\", \"EffortEstimation\", \"ProposedStartingSprint\", \"ProposedEndingSprint\"],\r\n formName: props.formName,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.setIntialStates(this.props.newFeatureArrayDetails);\r\n this.setState({ isEditable: this.props.isEditable })\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.isEditable !== this.props.isEditable) {\r\n this.setState({ isEditable: this.props.isEditable })\r\n }\r\n if (!!this.props.doesNewFeatureArrayNeedUpdation) {\r\n this.setIntialStates(this.props.newFeatureArrayDetails);\r\n this.props.setNewFeatureUpdationFlag(false)\r\n }\r\n if(!!this.props.newModifiedMandatoryError && this.state.newFeaturesArray.length > 0){\r\n this.props.setnewModifiedMandatoryError('');\r\n }\r\n }\r\n\r\n async setIntialStates(newFeaturesCopy) {\r\n await this.setState({\r\n newFeaturesArray: [...newFeaturesCopy],\r\n })\r\n }\r\n\r\n async handleInput(e, data, key) {\r\n let { name, value } = e.target;\r\n let newFeaturesCopy = [...this.state.newFeaturesArray];\r\n let currentObj = this.state.newFeaturesArray.find(el => el.Id === data['Id']);\r\n currentObj[name] = value;\r\n newFeaturesCopy[key] = currentObj;\r\n\r\n await this.setState({\r\n newFeaturesArray: [...newFeaturesCopy]\r\n }, () => {\r\n this.handleValidation(name, data, key)\r\n })\r\n\r\n }\r\n\r\n async addNewRow() {\r\n let maxId = 0;\r\n let newFeaturesCopy = Object.assign([], this.state.newFeaturesArray);\r\n maxId = this.state.newFeaturesArray.length > 0 ? Math.max.apply(Math, newFeaturesCopy.map(function (o) { return o.Id; })) : 0;\r\n newFeaturesCopy.push({\r\n Id: maxId + 1,\r\n featureName: \"\",\r\n stream: \"\",\r\n description: \"\",\r\n acceptanceCriteria: \"\",\r\n effortEstimation: \"\",\r\n proposedStartingSprint: \"\",\r\n proposedEndingSprint: \"\",\r\n FeatureName: \"\",\r\n Stream: \"\",\r\n Description: \"\",\r\n AcceptanceCriteria: \"\",\r\n EffortEstimation: \"\",\r\n ProposedStartingSprint: \"\",\r\n ProposedEndingSprint: \"\",\r\n DescriptionRichTextBody: RichTextEditor.createEmptyValue(),\r\n AcceptanceCriteriaRichTextBody: RichTextEditor.createEmptyValue(),\r\n errorMessage: {}\r\n });\r\n await this.setState({ newFeaturesArray: newFeaturesCopy }, () => {\r\n this.props.updateNewFeatureDetails(this.state.newFeaturesArray);\r\n })\r\n }\r\n\r\n handleRemoveFeatures(data) {\r\n let newFeaturesCopy = Object.assign([], this.state.newFeaturesArray);\r\n let filterFeatureCopy = newFeaturesCopy.filter(record => record.Id !== data.Id);\r\n this.setState({ newFeaturesArray: filterFeatureCopy }, () => {\r\n this.props.updateNewFeatureDetails(this.state.newFeaturesArray);\r\n const { modifiedFeaturesDetails, additionalDetails, formName } = this.props;\r\n if(modifiedFeaturesDetails && modifiedFeaturesDetails.length === 0 && this.state.newFeaturesArray.length === 0){\r\n if(formName === \"ScopeChangeRequestAdditionalDetails\"){\r\n if(additionalDetails && additionalDetails.length === 0){\r\n this.props.setnewModifiedMandatoryError('Please add at least one row in New Features table.');\r\n } else{\r\n this.props.setnewModifiedMandatoryError('Please add at least one row in one of New Features and Modified/ Removed Feature tables.');\r\n }\r\n }else{\r\n this.props.setnewModifiedMandatoryError('Please add at least one row in one of New Features and Modified/ Removed Feature tables.'); \r\n }\r\n }\r\n })\r\n }\r\n\r\n onChange = (value, name) => {\r\n this.setState({\r\n [name]: value,\r\n mailBody: value,\r\n });\r\n };\r\n\r\n handleCloseEditor() {\r\n this.setState({\r\n imageModal: false\r\n });\r\n }\r\n\r\n handleSendIconModal() {\r\n this.setState({\r\n imageModal: false,\r\n\r\n\r\n sendIcon: true,\r\n });\r\n }\r\n\r\n handleCloseIcon() {\r\n this.setState({\r\n imageModal: true,\r\n sendIcon: false,\r\n });\r\n }\r\n\r\n handleImageModal(txt, actualName, data, key) {\r\n this.setState({\r\n imageModal: true,\r\n richTxt: txt,\r\n mailBody: data[txt],\r\n recordIndex: key,\r\n clickedActualRichTextName: actualName\r\n });\r\n }\r\n\r\n handleDontSaveRichTxt() {\r\n this.setState({\r\n imageModal: false,\r\n sendIcon: false,\r\n richTxt: \"\",\r\n recordIndex: null\r\n });\r\n }\r\n\r\n async onChangeRichtext({ name, value, actualName, data, key }) {\r\n let actualValue = value.toString(\"html\").replace(/(<([^>]+)>)/gi, \"\");\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n let newFeaturesCopy = [...this.state.newFeaturesArray];\r\n let currentObj = this.state.newFeaturesArray.find(el => el.Id === data['Id']);\r\n currentObj[name] = value;\r\n currentObj[actualName] = actualValue\r\n newFeaturesCopy[key] = currentObj;\r\n\r\n await this.setState({\r\n newFeaturesArray: [...newFeaturesCopy]\r\n }, () => {\r\n if (actualValue.length > 0) {\r\n this.handleValidation(actualName, data, key)\r\n }\r\n })\r\n }\r\n\r\n handleValidation(name, data, key) {\r\n let errorTxt = validateInput(name, data)\r\n let newFeaturesCopy = [...this.state.newFeaturesArray];\r\n let currentObj = this.state.newFeaturesArray.find(el => el.Id === data['Id']);\r\n currentObj[\"errorMessage\"] = {\r\n ...currentObj.errorMessage,\r\n [`${name}Error`]: errorTxt,\r\n }\r\n newFeaturesCopy[key] = currentObj;\r\n this.setState({ newFeaturesArray: [...newFeaturesCopy] }, () => {\r\n this.props.updateNewFeatureDetails(this.state.newFeaturesArray);\r\n });\r\n\r\n }\r\n\r\n handleSaveRichTxt() {\r\n let actualValue = this.state.mailBody.toString('html').replace(/(<([^>]+)>)/ig, '');\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n let recordUpdatingCopy = Object.assign([], this.state.newFeaturesArray);\r\n let record = recordUpdatingCopy[this.state.recordIndex];\r\n record[this.state.clickedActualRichTextName] = actualValue;\r\n record[this.state.richTxt] = this.state.mailBody;\r\n recordUpdatingCopy[this.state.recordIndex] = record;\r\n\r\n this.setState(\r\n {\r\n imageModal: false,\r\n sendIcon: false,\r\n newFeaturesArray: recordUpdatingCopy\r\n },\r\n () => {\r\n if (actualValue.length > 0) {\r\n this.handleValidation(this.state.clickedActualRichTextName, record, this.state.recordIndex);\r\n }\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n return (\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 {this.state.isEditable ? () :''}\r\n \r\n \r\n \r\n {this.state.newFeaturesArray.map((data, index) => {\r\n return (\r\n \r\n {/* Feature Name section */}\r\n \r\n {/* Stream/Capability/Team section */}\r\n \r\n {/* Description section */}\r\n \r\n {/* Acceptance Criteria section */}\r\n \r\n {/* Effort estimation in working days section */}\r\n \r\n {/* Proposed Starting Sprint section */}\r\n \r\n {/* Proposed Ending Sprint section */}\r\n \r\n {/* Delete row section */}\r\n {this.state.isEditable ?: \"\"}\r\n \r\n )\r\n })}\r\n \r\n
    Feature NameStream/Capability/ TeamDescriptionAcceptance CriteriaEffort estimation in working daysProposed Starting SprintProposed Ending Sprint
    \r\n {this.state.isEditable ? (\r\n
    \r\n
    \r\n this.handleInput(e, data, index)}\r\n />\r\n
    \r\n\r\n {data.errorMessage && data.errorMessage.FeatureNameError ?\r\n
    \r\n {data.errorMessage.FeatureNameError}\r\n
    : \"\"}\r\n
    \r\n ) : (\r\n
    {data.featureName}
    \r\n )}\r\n
    \r\n {this.state.isEditable ? (\r\n
    \r\n
    \r\n this.handleInput(e, data, index)}\r\n />\r\n
    \r\n\r\n {data.errorMessage && data.errorMessage.StreamError ?\r\n
    \r\n {data.errorMessage.StreamError}\r\n
    : \"\"}\r\n
    \r\n ) : (\r\n
    {data.Stream}
    \r\n )}\r\n
    \r\n {this.state.isEditable ? (\r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"DescriptionRichTextBody\",\r\n actualName: \"Description\",\r\n data,\r\n index\r\n });\r\n }}\r\n placeholder=\"Enter details\"\r\n toolbarConfig={[]}\r\n />\r\n
    \r\n\r\n {data.errorMessage && data.errorMessage.DescriptionError ?\r\n
    \r\n {data.errorMessage.DescriptionError}\r\n
    : \"\"}\r\n\r\n
    \r\n
    \r\n \r\n \"edit-icon\" { this.handleImageModal(\"DescriptionRichTextBody\", \"Description\", data, index); }} />\r\n \r\n
    ) \r\n : (\r\n {parse(data.DescriptionRichTextBody.toString(\"html\"))}\r\n )}\r\n
    \r\n {this.state.isEditable ? (\r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"AcceptanceCriteriaRichTextBody\",\r\n actualName: \"AcceptanceCriteria\",\r\n data,\r\n index\r\n });\r\n }}\r\n placeholder=\"Enter details\"\r\n toolbarConfig={[]}\r\n />\r\n
    \r\n\r\n {data.errorMessage && data.errorMessage.AcceptanceCriteriaError ?\r\n
    \r\n {data.errorMessage.AcceptanceCriteriaError}\r\n
    : \"\"}\r\n
    \r\n
    \r\n \r\n \"edit-icon\" { this.handleImageModal(\"AcceptanceCriteriaRichTextBody\", \"AcceptanceCriteria\", data, index); }} />\r\n \r\n
    )\r\n :\r\n ({parse(data.AcceptanceCriteriaRichTextBody.toString(\"html\"))})}\r\n
    \r\n {this.state.isEditable ? (\r\n
    \r\n
    \r\n this.handleInput(e, data, index)}\r\n />\r\n
    \r\n\r\n
    \r\n {data.errorMessage && data.errorMessage.EffortEstimationError && data.EffortEstimation === \"\" ? data.errorMessage.EffortEstimationError : \"\"}\r\n
    \r\n
    ) :
    {data.EffortEstimation}
    }\r\n
    \r\n {this.state.isEditable ? (\r\n
    \r\n
    \r\n this.handleInput(e, data, index)}\r\n />\r\n
    \r\n\r\n
    \r\n {data.errorMessage && data.errorMessage.ProposedStartingSprintError ? data.errorMessage.ProposedStartingSprintError : \"\"}\r\n
    \r\n
    ) :
    {data.ProposedStartingSprint}
    }\r\n
    \r\n {this.state.isEditable ? (\r\n
    \r\n
    \r\n this.handleInput(e, data, index)}\r\n />\r\n
    \r\n
    \r\n {data.errorMessage && data.errorMessage.ProposedEndingSprintError ? data.errorMessage.ProposedEndingSprintError : \"\"}\r\n
    \r\n
    ) :
    {data.ProposedEndingSprint}
    }\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {this.state.isEditable &&\r\n
    \r\n \r\n
    }\r\n\r\n {\r\n this.state.imageModal && (\r\n \r\n this.handleCloseEditor()}\r\n />\r\n \r\n this.handleSendIconModal()}\r\n />\r\n \r\n )\r\n }\r\n\r\n
    \r\n {this.state.sendIcon && (\r\n {\r\n this.handleSaveRichTxt();\r\n }}\r\n handleCancel={() => {\r\n this.handleDontSaveRichTxt();\r\n }}\r\n >\r\n

    Alert

    \r\n this.handleCloseIcon()}\r\n />\r\n \r\n )}\r\n
    \r\n\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default NewFeatureTable ;","import React, { Component, Fragment } from 'react';\r\nimport \"./scope-change-request-form.scss\";\r\nimport { getData } from \"../../../../api/api-manager\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport ScopeChangeRequestFormSchema from '../../../../assets/data/scope-change-request-form.json'\r\nimport { setInitialStates, setContextData } from \"../../../form/common-functionality-forms/form-common-functionality\";\r\nimport * as Constant from \"../../../../components/constants/constant\";\r\nimport RichTextEditor from \"react-rte\";\r\nimport { setErrorMessages, resetStates } from \"../../../../components/validators/validate\";\r\nimport { CustomReactSelect, CustomInput } from \"../../../form/common-functionality-forms/form-imports\";\r\nimport CustomButton from \"../../../../components/button/secondary-button\";\r\nimport { toolbarConfig } from \"../../../../components/email-chip/react-rte-toolbar\";\r\nimport { RequestContext } from \"../../../../context-providers/request-provider/request-provider\";\r\nimport { validateInput, validateScopeChangeRequestAdditionalForm, checkErrorsByField } from \"./scope-change-request-form-validation\";\r\nimport Modal from \"../../../../components/modals/modal\";\r\nimport Spinner from \"../../../../components/spinner/spinner\";\r\nimport Tootltip from \"../../../../components/tool-tip/tool-tip\";\r\nimport ModifiedFeatureTable from '../../../../components/modified-feature-table/modified-feature-table'\r\nimport NewFeatureTable from '../../../../components/new-feature-table/new-feature-table'\r\n\r\nclass ScopeChangeRequestForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n NewFeature: [],\r\n showSpinner: true,\r\n ModifiedFeature: [],\r\n newModifiedMandatoryError: '',\r\n doesFeatureArrayNeedUpdation: true,\r\n doesNewFeatureArrayNeedUpdation: true,\r\n richTextModalBody: RichTextEditor.createEmptyValue(),\r\n savedRecommendationRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedEffortImpactSummaryRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedStatementForChangeNeedRichTextBody: RichTextEditor.createEmptyValue(),\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.setDefaultStates();\r\n this.getScopeChangeRequestFormData();\r\n }\r\n\r\n componentWillUnmount() {\r\n this.setFormDataOnUnmount()\r\n }\r\n\r\n setFormDataOnUnmount() {\r\n let contextData = setContextData(this.state.data, this.state)\r\n let additionalStateData = {\r\n File: this.state.selectedFiles,\r\n MarketUnitDefault: this.state.MarketUnitDefault,\r\n savedStatementForChangeNeedRichTextBody: this.state.savedStatementForChangeNeedRichTextBody,\r\n savedEffortImpactSummaryRichTextBody: this.state.savedEffortImpactSummaryRichTextBody,\r\n savedRecommendationRichTextBody: this.state.savedRecommendationRichTextBody\r\n }\r\n contextData = { ...contextData, ...additionalStateData }\r\n const isError = this.validate()\r\n this.context.addSelectedData({\r\n scopeChangeRequestFormData: { ...this.context.existingState.scopeChangeRequestFormData, ...contextData },\r\n isValidScopeChangeRequestFormData: !isError\r\n })\r\n }\r\n\r\n validate() {\r\n const validationDetails = validateScopeChangeRequestAdditionalForm(this.state);\r\n const { fieldError, haveError } = validationDetails;\r\n this.setStates({ ...fieldError, doesFeatureArrayNeedUpdation: true, doesNewFeatureArrayNeedUpdation: true });\r\n return haveError;\r\n }\r\n\r\n async setDefaultStates() {\r\n let contextData = this.context && this.context.existingState;\r\n let scopeChangeRequestFormData = contextData\r\n ? contextData.scopeChangeRequestFormData\r\n : {};\r\n await this.setState({\r\n data: ScopeChangeRequestFormSchema\r\n ? ScopeChangeRequestFormSchema.Config\r\n : [],\r\n MarketUnitDefault: scopeChangeRequestFormData && scopeChangeRequestFormData.MarketUnitDefault ? scopeChangeRequestFormData.MarketUnitDefault : null,\r\n ExternalRequestor: scopeChangeRequestFormData && scopeChangeRequestFormData.ExternalRequestor ? scopeChangeRequestFormData.ExternalRequestor : '',\r\n savedStatementForChangeNeedRichTextBody: scopeChangeRequestFormData && scopeChangeRequestFormData.savedStatementForChangeNeedRichTextBody ? scopeChangeRequestFormData.savedStatementForChangeNeedRichTextBody :\r\n RichTextEditor.createEmptyValue(),\r\n savedEffortImpactSummaryRichTextBody: scopeChangeRequestFormData && scopeChangeRequestFormData.savedEffortImpactSummaryRichTextBody ? scopeChangeRequestFormData.savedEffortImpactSummaryRichTextBody :\r\n RichTextEditor.createEmptyValue(),\r\n savedRecommendationRichTextBody: scopeChangeRequestFormData && scopeChangeRequestFormData.savedRecommendationRichTextBody ? scopeChangeRequestFormData.savedRecommendationRichTextBody :\r\n RichTextEditor.createEmptyValue(),\r\n BudgetImpactSummary: scopeChangeRequestFormData && scopeChangeRequestFormData.BudgetImpactSummary ? scopeChangeRequestFormData.BudgetImpactSummary : '',\r\n NewFeature: scopeChangeRequestFormData && scopeChangeRequestFormData.NewFeature && scopeChangeRequestFormData.NewFeature.length > 0 ? scopeChangeRequestFormData.NewFeature : [],\r\n ModifiedFeature: scopeChangeRequestFormData && scopeChangeRequestFormData.ModifiedFeature && scopeChangeRequestFormData.ModifiedFeature.length > 0 ? scopeChangeRequestFormData.ModifiedFeature : [],\r\n });\r\n const formFields = this.state.data;\r\n const stateData = await setInitialStates(\r\n formFields,\r\n scopeChangeRequestFormData\r\n );\r\n this.setStates(stateData);\r\n }\r\n\r\n async setStates(states) {\r\n await this.setState({\r\n ...states,\r\n doesFeatureArrayNeedUpdation: true,\r\n doesNewFeatureArrayNeedUpdation: true\r\n });\r\n }\r\n\r\n async getScopeChangeRequestFormData() {\r\n let selectedServiceIds =\r\n this.props.selectedServiceIds.length > 0\r\n ? this.props.selectedServiceIds.join()\r\n : \"\";\r\n const response = await getData({\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName: `PopulateInternalRequestAddOnForm?requestId=${selectedServiceIds}`,\r\n });\r\n const { data, success, error, isInfo } = await response;\r\n if (success) {\r\n await this.setState({\r\n AdditionalDetails: data.ToolTip,\r\n marketGroupList: data.Dropdowns.MarketGroups,\r\n showSpinner: false,\r\n });\r\n } else {\r\n await this.setState({\r\n error: error,\r\n isInfo,\r\n showErrorPopup: true,\r\n showSpinner: false,\r\n });\r\n }\r\n }\r\n\r\n validateInput(name) {\r\n let { fieldError, isError } = validateInput(name, this.state);\r\n this.setStates(fieldError);\r\n return !isError;\r\n }\r\n\r\n //RichTextEditer code start from here\r\n async onChange({ name, value, actualName }) {\r\n await this.setState({ [name]: value });\r\n let actualValue = value.toString(\"html\").replace(/(<([^>]+)>)/gi, \"\");\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n await this.setState(\r\n {\r\n [actualName]: actualValue,\r\n },\r\n () => {\r\n if (actualValue.length > 0) {\r\n this.validateInput(actualName, this.state)\r\n }\r\n }\r\n );\r\n }\r\n\r\n updateModifiedFeatureDetails = async (ModifiedFeatureDetails) => {\r\n await this.setState({\r\n ModifiedFeature: [...ModifiedFeatureDetails],\r\n doesFeatureArrayNeedUpdation: false\r\n })\r\n }\r\n\r\n updateNewFeatureDetails = async (NewFeatureDetails) => {\r\n await this.setState({\r\n NewFeature: [...NewFeatureDetails],\r\n doesNewFeatureArrayNeedUpdation: false\r\n })\r\n }\r\n\r\n setModifiedFeatureUpdationFlag = (flag) => {\r\n this.setState({\r\n doesFeatureArrayNeedUpdation: flag\r\n })\r\n }\r\n\r\n setNewFeatureUpdationFlag = (flag) => {\r\n this.setState({\r\n doesNewFeatureArrayNeedUpdation: flag\r\n })\r\n }\r\n\r\n setnewModifiedMandatoryError = (error) => {\r\n this.setState({newModifiedMandatoryError: error})\r\n }\r\n\r\n async handleSubmitScopeChangeRequestAdditionalForm() {\r\n let stateWithError = setErrorMessages(this.state);\r\n const isNewModifiedFeatureUpdated = this.state.NewFeature.length > 0 || this.state.ModifiedFeature.length > 0 ? true : false;\r\n await this.setState(\r\n {\r\n ...stateWithError,\r\n doesFeatureArrayNeedUpdation: true,\r\n doesNewFeatureArrayNeedUpdation: true\r\n },\r\n async () => {\r\n const isError = await this.validate();\r\n const haveError = checkErrorsByField(this.state);\r\n if (!isError && !haveError && isNewModifiedFeatureUpdated) {\r\n this.submitData();\r\n }\r\n }\r\n );\r\n }\r\n\r\n submitData = async () => {\r\n let NewFeatureData = this.state.NewFeature.reduce((acc, el) => {\r\n let finalObj = {\r\n FeatureName: el.FeatureName,\r\n Stream: el.Stream,\r\n Description: el.DescriptionRichTextBody.toString(\"html\"),\r\n AcceptanceCriteria: el.AcceptanceCriteriaRichTextBody.toString(\"html\"),\r\n EffortEstimation: el.EffortEstimation,\r\n ProposedStartingSprint: el.ProposedStartingSprint,\r\n ProposedEndingSprint: el.ProposedEndingSprint\r\n }\r\n return [...acc, finalObj]\r\n }, [])\r\n\r\n let ModifiedFeatureData = this.state.ModifiedFeature.reduce((acc, el) => {\r\n let finalObj = {\r\n FeatureName: el.FeatureName,\r\n ChangeDescription: el.ChangeDescriptionRichTextBody.toString(\"html\"),\r\n AzureID: el.AzureID\r\n }\r\n return [...acc, finalObj]\r\n }, [])\r\n\r\n let scopeChangeRequestFormData = {\r\n ScopeChangeRequest: {\r\n MarketUnit: this.state.MarketUnit,\r\n ClientProjectExternalRequestor: this.state.ExternalRequestor,\r\n SummaryBudgetImpact: this.state.BudgetImpactSummary,\r\n StatementNeedToChange: this.state.savedStatementForChangeNeedRichTextBody.toString(\r\n \"html\"\r\n ),\r\n SummaryEffortImpact: this.state.savedEffortImpactSummaryRichTextBody.toString(\r\n \"html\"\r\n ),\r\n Recommendation: this.state.savedRecommendationRichTextBody.toString(\r\n \"html\"\r\n ),\r\n ModifiedFeature: ModifiedFeatureData,\r\n NewFeature: NewFeatureData\r\n },\r\n };\r\n await this.context.addSelectedData({\r\n scopeChangeRequestFormData: scopeChangeRequestFormData,\r\n isValidScopeChangeRequestRequestFormData: true,\r\n });\r\n\r\n if (this.props.btnLbl === \"Submit\") {\r\n this.props.handleSubmit();\r\n } else if (this.props.btnLbl === \"Next\") {\r\n this.props.handleBtnClick(1);\r\n }\r\n }\r\n\r\n handleClearForm(e) {\r\n e.preventDefault();\r\n this.setState({ resetPopup: true});\r\n }\r\n\r\n handleOnClickBack = () => {\r\n this.props.handleBtnClick(0)\r\n }\r\n\r\n handleImageModal(text, actualName) {\r\n this.setState({\r\n imageModal: true,\r\n richTextModalBody: this.state[text],\r\n clickedRichTextBody: text,\r\n clickedActualRichTextName: actualName,\r\n });\r\n }\r\n\r\n handleCloseEditor() {\r\n this.setState({\r\n imageModal: false,\r\n richTextModalBody: RichTextEditor.createEmptyValue(),\r\n });\r\n }\r\n\r\n async resetFields() {\r\n const resetFields = resetStates(this.state);\r\n await this.setState({\r\n ...resetFields,\r\n doesFeatureArrayNeedUpdation: true,\r\n doesNewFeatureArrayNeedUpdation: true,\r\n MarketUnitDefault: {},\r\n newModifiedMandatoryError: '',\r\n savedStatementForChangeNeedRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedEffortImpactSummaryRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedRecommendationRichTextBody: RichTextEditor.createEmptyValue(),\r\n });\r\n await this.context.addSelectedData({ scopeChangeRequestFormData: {} });\r\n }\r\n\r\n handleSendIconModal() {\r\n let actualValue = this.state.richTextModalBody\r\n .toString(\"html\")\r\n .replace(/(<([^>]+)>)/gi, \"\");\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n this.setState(\r\n {\r\n imageModal: false,\r\n [this.state.clickedRichTextBody]: this.state.richTextModalBody,\r\n [this.state.clickedActualRichTextName]: actualValue,\r\n },\r\n () => {\r\n if (actualValue.length > 0) {\r\n this.validateInput(this.state.clickedActualRichTextName, this.state);\r\n }\r\n }\r\n );\r\n }\r\n async onRichTextChange(value) {\r\n this.setState({ richTextModalBody: value });\r\n }\r\n\r\n handleCustomSelect = ({ fieldName, data }) => {\r\n this.setState({\r\n [fieldName]: data.value,\r\n MarketUnitDefault: data\r\n }, () => {\r\n this.validateInput(fieldName)\r\n })\r\n }\r\n async handleInput(e) {\r\n const { name, value } = e.target;\r\n await this.setState({\r\n [name]: value\r\n });\r\n this.validateInput(name)\r\n }\r\n\r\n render() {\r\n const additionalDetailsFields = this.state.AdditionalDetails\r\n ? this.state.AdditionalDetails\r\n : false;\r\n\r\n return (\r\n \r\n {(AppContextData) => {\r\n return (\r\n
    \r\n
    \r\n {additionalDetailsFields.length > 0 &&\r\n additionalDetailsFields.map((form) => {\r\n let keyString = `${form.Formkey}Error`;\r\n if (form.Formkey === \"MarketUnit\") {\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n { this.handleCustomSelect({ fieldName: form.Formkey, data: selectedData }) }}\r\n className={!this.state[keyString] ? \"custom-select-look\" : \"invalid-input-custom-select\"} />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.Formkey === \"ExternalRequestor\") {\r\n return (\r\n \r\n
    \r\n \r\n { this.handleInput(e) }}\r\n maxLength=\"25000\"\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.Formkey === \"StatementForChangeNeed\") {\r\n return (\r\n \r\n
    \r\n \r\n {\r\n this.handleImageModal(\r\n \"savedStatementForChangeNeedRichTextBody\",\r\n \"StatementForChangeNeed\"\r\n );\r\n }}\r\n />\r\n {\r\n this.onChange({\r\n value,\r\n name: \"savedStatementForChangeNeedRichTextBody\",\r\n actualName: \"StatementForChangeNeed\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n placeholder=\"Statement of why we need the change\"\r\n maxLength=\"25000\"\r\n />\r\n {this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.Formkey === \"EffortImpactSummary\") {\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.handleImageModal(\r\n \"savedEffortImpactSummaryRichTextBody\",\r\n \"EffortImpactSummary\"\r\n );\r\n }}\r\n />\r\n {\r\n this.onChange({\r\n value,\r\n name: \"savedEffortImpactSummaryRichTextBody\",\r\n actualName: \"EffortImpactSummary\",\r\n });\r\n }}\r\n placeholder=\"Summary of the effort impact\"\r\n toolbarConfig={[]}\r\n maxLength=\"25000\"\r\n />\r\n {this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.Formkey === \"BudgetImpactSummary\") {\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n { this.handleInput(e) }}\r\n maxLength=\"2000\"\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.Formkey === \"NewFeature\") {\r\n return (\r\n
    \r\n \r\n 0 ? this.state.ModifiedFeature : []}\r\n newFeatureArrayDetails={this.state.NewFeature && this.state.NewFeature.length > 0 ? this.state.NewFeature : []}\r\n AdditionalDetailsData={this.state.NewFeature && this.state.NewFeature.length > 0 ? this.state.NewFeature : []}\r\n updateNewFeatureDetails={(newFeatureDetails) => this.updateNewFeatureDetails(newFeatureDetails)}\r\n setNewFeatureUpdationFlag={(flag) => this.setNewFeatureUpdationFlag(flag)}\r\n setnewModifiedMandatoryError = {(error) => {this.setnewModifiedMandatoryError(error)}}\r\n doesNewFeatureArrayNeedUpdation={this.state.doesNewFeatureArrayNeedUpdation}\r\n />\r\n
    \r\n
    )\r\n }\r\n if (form.Formkey === \"ModifiedFeature\") {\r\n return (\r\n
    \r\n \r\n 0 ? this.state.NewFeature : []}\r\n modifiedFeaturesDetails={this.state.ModifiedFeature && this.state.ModifiedFeature.length > 0 ? this.state.ModifiedFeature : []}\r\n updateModifiedFeatureDetails={(modifiedDetails) => this.updateModifiedFeatureDetails(modifiedDetails)}\r\n setModifiedFeatureUpdationFlag={(flag) => this.setModifiedFeatureUpdationFlag(flag)}\r\n setnewModifiedMandatoryError = {(error) => {this.setnewModifiedMandatoryError(error)}}\r\n doesFeatureArrayNeedUpdation={this.state.doesFeatureArrayNeedUpdation}\r\n />\r\n
    \r\n

    {this.state.newModifiedMandatoryError}

    \r\n
    )\r\n }\r\n if (form.Formkey === \"Recommendation\") {\r\n return (\r\n \r\n
    \r\n \r\n {\r\n this.handleImageModal(\r\n \"savedRecommendationRichTextBody\",\r\n \"Recommendation\"\r\n );\r\n }}\r\n />\r\n {\r\n this.onChange({\r\n value,\r\n name: \"savedRecommendationRichTextBody\",\r\n actualName: \"Recommendation\",\r\n });\r\n }}\r\n placeholder=\"Recommendation\"\r\n toolbarConfig={[]}\r\n maxLength=\"25000\"\r\n />\r\n {this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n );\r\n } return false;\r\n })}\r\n
    \r\n
    \r\n {\r\n this.handleSubmitScopeChangeRequestAdditionalForm();\r\n }}\r\n >\r\n {this.props.btnLbl}\r\n \r\n \r\n this.handleClearForm(e)}\r\n />\r\n
    \r\n {this.state.resetPopup && (\r\n {\r\n this.setState({ resetPopup: false });\r\n }}\r\n handleClose={() => {\r\n this.setState({ resetPopup: false });\r\n this.resetFields();\r\n }}\r\n >\r\n

    \r\n Are you sure you want to reset this page?\r\n

    \r\n \r\n )}\r\n {this.state.imageModal && (\r\n \r\n this.handleCloseEditor()}\r\n />\r\n

    \r\n {\r\n this.onRichTextChange(value);\r\n }}\r\n placeholder=\"Type your text here...\"\r\n toolbarConfig={toolbarConfig}\r\n />\r\n this.handleSendIconModal()}\r\n />\r\n \r\n )}\r\n {this.state.showErrorPopup && (\r\n {\r\n this.setState({ showErrorPopup: false });\r\n }}\r\n buttonPosition=\"center-button\"\r\n >\r\n

    {this.state.error}

    \r\n \r\n )}\r\n {this.state.showSpinner && }\r\n
    \r\n );\r\n }}\r\n
    \r\n );\r\n }\r\n}\r\nScopeChangeRequestForm.contextType = RequestContext;\r\nexport default ScopeChangeRequestForm;\r\n\r\n","import { validateWithPattern } from \"../../../../components/validators/validate\";\r\nimport AcclearatorAdditionalFormSchema from \"../../../../assets/data/accelerator-request-form.json\"\r\nimport { getSpecificID } from \"../../../form/common-functionality-forms/form-common-functionality\";\r\n\r\nexport const validateAccRequestAdditionalForm = (formState) => {\r\n let isError = false;\r\n let tempObj = {}\r\n let Services = ['Phase', 'Level1', 'Level2', 'CuratorEID', 'WhatIsIt', 'WhatValueDoesItBring', 'AcceleratorApplicable'];\r\n let ServiceName = ['Phase', 'Level 1', 'Level 2', 'Curator EID', 'What is it?', 'What Value does it bring?', 'Where is this accelerator applicable'];\r\n for (let i = 0; i < Services.length; i++) {\r\n const isValid = validateFieldsByPattern({ keyName: Services[i], value: formState[Services[i]], formState })\r\n if (Services[i] === 'Phase') {\r\n if (formState[Services[i]].length <= 0) {\r\n let inValidMessage = ''\r\n inValidMessage = ServiceName[i] + ` is a required field.`\r\n tempObj = {\r\n ...tempObj,\r\n [Services[i] + `Error`]: inValidMessage\r\n }\r\n isError = true\r\n }\r\n }\r\n if (Services[i] === 'AcceleratorApplicable') {\r\n const specificDropdownFlag = getSpecificID(formState['AcceleratorApplicable'], formState['accAppList'])\r\n if (specificDropdownFlag) {\r\n let subServices = [\"Industry\", \"Function\", \"Service\"];\r\n for (let j = 0; j < subServices.length; j++) {\r\n const isValidSubServices = validateFieldsByPattern({\r\n keyName: subServices[j],\r\n value: formState[subServices[j]],\r\n formState,\r\n });\r\n if (\r\n subServices[j] === \"Industry\" ||\r\n subServices[j] === \"Function\" ||\r\n subServices[j] === \"Service\"\r\n ) {\r\n if (formState[subServices[j]].length <= 0) {\r\n let inValidMessage = \"\";\r\n inValidMessage = subServices[j] + ` is a required field.`;\r\n tempObj = {\r\n ...tempObj,\r\n [subServices[j] + `Error`]: inValidMessage,\r\n };\r\n isError = true;\r\n }\r\n }\r\n if (!isValidSubServices) {\r\n let inValidMessage = ServiceName[j] + ` is a required field.`\r\n tempObj = {\r\n ...tempObj,\r\n [Services[j] + `Error`]: inValidMessage\r\n }\r\n isError = true\r\n }\r\n }\r\n } else {\r\n if (formState[Services[i]].length <= 0) {\r\n let inValidMessage = ''\r\n inValidMessage = ServiceName[i] + ` is a required field.`\r\n tempObj = {\r\n ...tempObj,\r\n [Services[i] + `Error`]: inValidMessage\r\n }\r\n isError = true\r\n }\r\n }\r\n }\r\n if ((Services[i] !== 'Phase' && Services[i] !== 'AcceleratorApplicable') && (formState[Services[i]].length < 20 || formState[Services[i]].length > 25000)) {\r\n let inValidMessage = ''\r\n inValidMessage = ServiceName[i] + ` is a required field.`\r\n tempObj = {\r\n ...tempObj,\r\n [Services[i] + `Error`]: inValidMessage\r\n }\r\n isError = true\r\n }\r\n if (!isValid) {\r\n let inValidMessage = ServiceName[i] + ` is a required field.`\r\n tempObj = {\r\n ...tempObj,\r\n [Services[i] + `Error`]: inValidMessage\r\n }\r\n isError = true\r\n }\r\n }\r\n return {\r\n fieldError: tempObj,\r\n haveError: isError\r\n }\r\n}\r\nexport const validateInput = (name, formData) => {\r\n let requiredFields = formData.data && formData.data.filter(function (formFields) {\r\n return formFields.FormKey === name;\r\n });\r\n if (requiredFields && requiredFields.length > 0) {\r\n let errorkey = `${requiredFields[0].FormKey}Error`, errorMessage = '', response = true\r\n if (formData[name] === '') {\r\n errorMessage = requiredFields[0].ValidationMessages.RequiredMessage\r\n response = false\r\n } else {\r\n let selectedService = name;\r\n let Services = ['Phase', 'Level1', 'Level2', 'CuratorEID', 'WhatIsIt', 'WhatValueDoesItBring', 'AcceleratorApplicable'];\r\n let result = Services.includes(selectedService);\r\n if (result) {\r\n const isValid = validateFieldsByPattern({ pattern: requiredFields[0].Validations.Pattern, value: formData[name], formState: formData })\r\n if (!isValid) {\r\n errorMessage = requiredFields[0].ValidationMessages.PatternMessage\r\n }\r\n if (formData[name].length < 20) {\r\n errorMessage = requiredFields[0].ValidationMessages.MinDescription\r\n } else if (formData[name].length > 25000) {\r\n errorMessage = requiredFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n }\r\n return {\r\n fieldError: {\r\n [errorkey]: errorMessage\r\n },\r\n haveError: response\r\n }\r\n }\r\n return true\r\n}\r\nexport const validateFieldsByPattern = ({ keyName = '', pattern, value, formState }) => {\r\n if (keyName !== '') {\r\n let requiredFields = []\r\n requiredFields = formState.data && formState.data.filter(function (formFields) {\r\n return formFields.FormKey === keyName;\r\n });\r\n pattern = requiredFields && requiredFields.length > 0 && requiredFields[0].Validations.Pattern\r\n }\r\n return validateWithPattern({ pattern, value })\r\n}\r\n\r\nexport const checkErrorsByField = (existingIssueDetails) => {\r\n const schemaFields = AcclearatorAdditionalFormSchema.FormFields\r\n const haveError = schemaFields.find((field) => {\r\n let label = `${field}Error`\r\n return !!existingIssueDetails[label]\r\n })\r\n\r\n if (!!haveError) return true\r\n return false\r\n}","import React, { Component, Fragment } from \"react\";\r\nimport Checkbox from \"../checkbox/checkbox\";\r\nimport \"./multi-select-check.scss\";\r\nimport {\r\n prepareObjByArrWithKeyName,\r\n fetchIndexIdFromArray,\r\n} from \"../../containers/common/object-manipulations\";\r\n\r\nclass MultiSelectCheckbox extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: [],\r\n selectedAssets: [],\r\n count: 0,\r\n checked: false\r\n };\r\n }\r\n componentDidMount() {\r\n let allData = this.props.categories;\r\n this.setState({\r\n data: allData\r\n })\r\n if (this.props.dataPreExists) {\r\n let data = this.props.existingData\r\n this.setState({\r\n selectedAssets: data\r\n });\r\n const selectedItems = prepareObjByArrWithKeyName(data, \"ID\");\r\n this.setState({ selectedItems: selectedItems });\r\n }\r\n }\r\n\r\n handleChange(event) {\r\n const { checked } = event.target;\r\n let id = event.target.id;\r\n let name = event.target.name;\r\n let index;\r\n\r\n let arrOptions = {\r\n ID: parseInt(id),\r\n Name: name,\r\n };\r\n const selectedAssets = this.state.selectedAssets;\r\n\r\n if (checked === true) {\r\n selectedAssets.push(arrOptions);\r\n this.setState({\r\n selectedAssets: selectedAssets,\r\n count: this.state.count + 1,\r\n });\r\n } else {\r\n index = fetchIndexIdFromArray(\r\n selectedAssets,\r\n \"Name\",\r\n event.target.value\r\n );\r\n selectedAssets.splice(index, 1);\r\n if (this.state.count > 0) {\r\n this.setState({ count: this.state.count - 1 });\r\n }\r\n this.setState({ selectedAssets: selectedAssets });\r\n }\r\n this.props.getSelectedItems(\r\n selectedAssets\r\n );\r\n this.assetsSelectionOnEdit();\r\n }\r\n\r\n assetsSelectionOnEdit = () => {\r\n const selectedItems = prepareObjByArrWithKeyName(\r\n this.state.selectedAssets,\r\n \"ID\"\r\n );\r\n this.setState({ selectedItems: selectedItems });\r\n };\r\n\r\n handleClose = async (e) => {\r\n this.props.closePopUp(\r\n this.state.selectedItems,\r\n this.props.modalId\r\n );\r\n };\r\n\r\n render() {\r\n let results = this.state.data;\r\n return (\r\n
    \r\n {\r\n this.handleChange(e);\r\n }}\r\n >\r\n
    \r\n {results.map((el, index) => {\r\n const ischecked =\r\n !!this.state.selectedItems &&\r\n this.state.selectedItems[el.ID]\r\n ? true\r\n : false;\r\n return (\r\n \r\n
    \r\n \r\n {el.Name}\r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default MultiSelectCheckbox;","import React from \"react\"\r\nimport './link.scss';\r\nimport * as Constant from \"../../../../components/constants/constant\";\r\nimport { CustomInput } from \"../../../requests-grid/assignment/request-assignment-import\";\r\nconst links = (props) => {\r\n return (\r\n props.data.map((val, idx) => {\r\n let Name = `Name-${idx}`, HyperLink = `HyperLink-${idx}`\r\n return (\r\n \r\n \r\n props.Editing(e))}\r\n data-id={idx}\r\n id={Name}\r\n placeholder=\"Name\"\r\n value={val.Name}\r\n />\r\n \r\n \r\n props.Editing(e))}\r\n data-id={idx}\r\n id={HyperLink}\r\n placeholder=\"HyperLink\"\r\n value={val.HyperLink}\r\n />\r\n \r\n \r\n {<>\r\n props.delete(val))} />\r\n \r\n }\r\n \r\n \r\n )\r\n })\r\n )\r\n\r\n}\r\nexport default links;","import React, { Component } from 'react';\r\nimport \"./accelerator-request-form.scss\";\r\nimport AcceleratorRequestFormSchema from \"../../../../assets/data/accelerator-request-form.json\";\r\nimport RichTextEditor from \"react-rte\";\r\nimport * as Constant from \"../../../../components/constants/constant\";\r\nimport CustomButton from \"../../../../components/button/secondary-button\";\r\nimport { toolbarConfig } from \"../../../../components/email-chip/react-rte-toolbar\";\r\nimport { validateInput, validateAccRequestAdditionalForm, checkErrorsByField } from './accelerator-request-form-validation';\r\nimport Modal from \"../../../../components/modals/modal\";\r\nimport Tootltip from \"../../../../components/tool-tip/tool-tip\";\r\nimport Spinner from \"../../../../components/spinner/spinner\";\r\nimport { Fragment } from \"react\";\r\nimport { resetStates, setErrorMessages, validateUrl } from \"../../../../components/validators/validate\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport { setInitialStates, setContextData, getSpecificID } from \"../../../form/common-functionality-forms/form-common-functionality\";\r\nimport { RequestContext } from \"../../../../context-providers/request-provider/request-provider\";\r\nimport { getData } from \"../../../../api/api-manager\";\r\nimport CustomSelect from \"../../../../components/custom-select/custom-select\";\r\nimport MultiSelectCheckbox from \"../../../../components/custom-select/MultiSelectCheckbox\";\r\nimport CustomInput from \"../../../../components/custom-input/custom-input\";\r\nimport SecondaryButton from \"../../../../components/button/secondary-button\";\r\nimport Popup from '../../../../components/popup/popup';\r\nimport OutsideClickAlerter from '../../../../components/outside-click-alerter/outside-click-alerter';\r\nimport Links from '../../internal-request-additional-details/accelerator-request-additional-details/links';\r\n\r\n\r\nclass AcceleratorRequestForm extends Component {\r\n eventHandle;\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isValidURL: '',\r\n isExploreLinkValid: '',\r\n data: {},\r\n imageModal: false,\r\n sendIcon: false,\r\n resetPopup: false,\r\n PhaseList: [],\r\n accAppList: [],\r\n industryList: [],\r\n functionList: [],\r\n serviceList: [],\r\n selectedItems: {},\r\n Industry: [],\r\n Function: [],\r\n Service: [],\r\n selectedServiceItems: [],\r\n savedPhase: '',\r\n savedAcceleratorApplicable: '',\r\n savedLevel1: '',\r\n savedLevel2: '',\r\n savedCuratorEID: '',\r\n savedWhatIsItRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedWhatValueDoesItBringRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedMobilizedRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedCommentsRichTextBody: RichTextEditor.createEmptyValue(),\r\n richTextModalBody: RichTextEditor.createEmptyValue(),\r\n showLinkTextArray: [],\r\n exploreLinkTextArray: [],\r\n showLinkIndex: 0,\r\n showSpinner: false\r\n };\r\n this.handleOnClickBack = this.handleOnClickBack.bind(this);\r\n }\r\n componentDidMount() {\r\n this.setDefaultStates();\r\n this.getAcceleratorRequestFormData();\r\n }\r\n componentWillUnmount() {\r\n this.setFormDataOnUnmount();\r\n }\r\n async setDefaultStates() {\r\n let contextData = this.context && this.context.existingState;\r\n let acceleratorRequestFormData = contextData\r\n ? contextData.acceleratorRequestFormData\r\n : {};\r\n await this.setState({\r\n showSpinner: true,\r\n data: AcceleratorRequestFormSchema\r\n ? AcceleratorRequestFormSchema.Config\r\n : [],\r\n PhaseList: [],\r\n accAppList: [],\r\n industryList: [],\r\n functionList: [],\r\n serviceList: [],\r\n Industry: [],\r\n Function: [],\r\n Service: [],\r\n resetPopup: false,\r\n savedPhase: acceleratorRequestFormData && acceleratorRequestFormData.Phase\r\n ? acceleratorRequestFormData.Phase : \"\",\r\n savedAcceleratorApplicable: acceleratorRequestFormData && acceleratorRequestFormData.AcceleratorApplicable\r\n ? acceleratorRequestFormData.AcceleratorApplicable : \"\",\r\n savedLevel1:\r\n acceleratorRequestFormData && acceleratorRequestFormData.Level1\r\n ? acceleratorRequestFormData.Level1\r\n : \"\",\r\n savedLevel2:\r\n acceleratorRequestFormData && acceleratorRequestFormData.Level2\r\n ? acceleratorRequestFormData.Level2\r\n : \"\",\r\n savedCuratorEID:\r\n acceleratorRequestFormData && acceleratorRequestFormData.CuratorEID\r\n ? acceleratorRequestFormData.CuratorEID\r\n : \"\",\r\n savedWhatIsItRichTextBody: RichTextEditor.createValueFromString(\r\n acceleratorRequestFormData && acceleratorRequestFormData.savedWhatIsItRichTextBody\r\n ? acceleratorRequestFormData.savedWhatIsItRichTextBody\r\n : \"\",\r\n \"html\"\r\n ),\r\n savedWhatValueDoesItBringRichTextBody:\r\n RichTextEditor.createValueFromString(\r\n acceleratorRequestFormData &&\r\n acceleratorRequestFormData.savedWhatValueDoesItBringRichTextBody\r\n ? acceleratorRequestFormData.savedWhatValueDoesItBringRichTextBody\r\n : \"\",\r\n \"html\"\r\n ),\r\n savedMobilizedRichTextBody: RichTextEditor.createValueFromString(\r\n acceleratorRequestFormData && acceleratorRequestFormData.savedMobilizedRichTextBody\r\n ? acceleratorRequestFormData.savedMobilizedRichTextBody\r\n : \"\",\r\n \"html\"\r\n ),\r\n savedCommentsRichTextBody: RichTextEditor.createValueFromString(\r\n acceleratorRequestFormData && acceleratorRequestFormData.savedCommentsRichTextBody\r\n ? acceleratorRequestFormData.savedCommentsRichTextBody\r\n : \"\",\r\n \"html\"\r\n ),\r\n showLinkTextArray: acceleratorRequestFormData && acceleratorRequestFormData.ShowLink && acceleratorRequestFormData.ShowLink.length > 0\r\n ? acceleratorRequestFormData.ShowLink : [{ Name: '', HyperLink: '' }],\r\n exploreLinkTextArray: acceleratorRequestFormData && acceleratorRequestFormData.ExploreLink && acceleratorRequestFormData.ExploreLink.length > 0\r\n ? acceleratorRequestFormData.ExploreLink : [{ Name: '', HyperLink: '' }]\r\n });\r\n const formFields = this.state.data;\r\n const stateData = await setInitialStates(\r\n formFields,\r\n acceleratorRequestFormData\r\n );\r\n this.setStates(stateData);\r\n }\r\n async getAcceleratorRequestFormData() {\r\n let selectedServiceIds =\r\n this.props.selectedServiceIds.length > 0\r\n ? this.props.selectedServiceIds.join()\r\n : \"\";\r\n const response = await getData({\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName: `PopulateInternalRequestAddOnForm?requestId=${selectedServiceIds}`,\r\n });\r\n const { data, success, error, isInfo } = await response;\r\n if (success) {\r\n await this.setState({\r\n AdditionalDetails: data.ToolTip,\r\n PhaseList: data.Dropdowns.Phase,\r\n accAppList: data.Dropdowns['Where is this accelerator applicable'],\r\n industryList: data.Dropdowns.Industry,\r\n functionList: data.Dropdowns.FunctionArea,\r\n serviceList: data.Dropdowns.ServiceOffering,\r\n showSpinner: false,\r\n });\r\n } else {\r\n await this.setState({\r\n error: error,\r\n isInfo,\r\n showErrorPopup: true,\r\n showSpinner: false,\r\n });\r\n }\r\n }\r\n setFormDataOnUnmount() {\r\n let contextData = setContextData(this.state.data, this.state)\r\n contextData = {\r\n ...contextData,\r\n savedWhatIsItRichTextBody: this.state.savedWhatIsItRichTextBody.toString(\"html\"),\r\n savedWhatValueDoesItBringRichTextBody: this.state.savedWhatValueDoesItBringRichTextBody.toString(\"html\"),\r\n savedMobilizedRichTextBody: this.state.savedMobilizedRichTextBody.toString(\"html\"),\r\n savedCommentsRichTextBody: this.state.savedCommentsRichTextBody.toString(\"html\"),\r\n }\r\n this.context.addSelectedData({\r\n acceleratorRequestFormData: { ...this.context.existingState.acceleratorRequestFormData, ...contextData }\r\n })\r\n }\r\n //RichTextEditer code start from here\r\n async onChange({ name, value, actualName }) {\r\n await this.setState({ [name]: value });\r\n let actualValue = value.toString(\"html\").replace(/(<([^>]+)>)/gi, \"\");\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n await this.setState(\r\n {\r\n [actualName]: actualValue,\r\n },\r\n () => {\r\n if (actualValue.length > 0) {\r\n this.validateInput(actualName, this.state);\r\n }\r\n }\r\n );\r\n }\r\n async handleInputLinks(e, index, link) {\r\n const { name, value } = e.target;\r\n const id = e.target.dataset.id;\r\n let list;\r\n if (link === 'ShowLink') {\r\n if (name === 'HyperLink') {\r\n let isLinkValid = validateUrl(value);\r\n await this.setState({\r\n isValidURL: isLinkValid\r\n })\r\n }\r\n list = [...this.state.showLinkTextArray];\r\n list[id][name] = value;\r\n this.setState({\r\n showLinkTextArray: [...list]\r\n });\r\n } else {\r\n if (name === 'HyperLink') {\r\n let isLinkValid = validateUrl(value);\r\n await this.setState({\r\n isExploreLinkValid: isLinkValid\r\n })\r\n }\r\n list = [...this.state.exploreLinkTextArray];\r\n list[id][name] = value;\r\n this.setState({\r\n exploreLinkTextArray: [...list]\r\n });\r\n }\r\n }\r\n handleAddRowClick = async (e, link) => {\r\n if (link === 'ShowLink') {\r\n let newShowLinkArray = Object.assign([], this.state.showLinkTextArray);\r\n newShowLinkArray.push({\r\n Name: '',\r\n HyperLink: ''\r\n })\r\n this.setState({\r\n showLinkTextArray: newShowLinkArray\r\n });\r\n } else {\r\n let exploreLinkTextArray = Object.assign([], this.state.exploreLinkTextArray);\r\n exploreLinkTextArray.push({\r\n Name: '',\r\n HyperLink: ''\r\n })\r\n this.setState({\r\n exploreLinkTextArray: exploreLinkTextArray\r\n });\r\n }\r\n }\r\n\r\n handleDeleteRowClick = (record, link) => {\r\n if (link === \"ShowLink\") {\r\n this.setState({\r\n showLinkTextArray: this.state.showLinkTextArray.filter(r => r !== record),\r\n isValidURL: \"\"\r\n })\r\n } else {\r\n this.setState({\r\n exploreLinkTextArray: this.state.exploreLinkTextArray.filter(r => r !== record),\r\n isExploreLinkValid: \"\"\r\n })\r\n }\r\n }\r\n\r\n\r\n async handleSubmitAcceleratorFormRequest() {\r\n let stateWithError = setErrorMessages(this.state);\r\n await this.setState(\r\n {\r\n ...stateWithError,\r\n },\r\n () => {\r\n const isError = this.validate();\r\n const haveError = checkErrorsByField(this.state);\r\n if (!isError && !haveError && this.state.isValidURL === \"\" && this.state.isExploreLinkValid === \"\") {\r\n this.submitData();\r\n }\r\n }\r\n );\r\n }\r\n async submitData() {\r\n let tempArr = {};\r\n const formFields = this.state.data;\r\n formFields.map((form) => {\r\n const { FormKey } = form;\r\n const name = FormKey;\r\n tempArr = {\r\n ...tempArr,\r\n [name]: this.state[name],\r\n };\r\n return null;\r\n });\r\n let acceleratorRequestFormData = {\r\n AcceleratorRequest: {\r\n ...tempArr,\r\n PhaseId: this.state.Phase,\r\n AcceleratorApplicableID: this.state.AcceleratorApplicable,\r\n ApplicableAccelerator: {\r\n IndustryIDs: this.state.Industry,\r\n FunctionalAreaIDs: this.state.Function,\r\n ServiceOfferingsIDs: this.state.Service\r\n },\r\n WhatIsIt: this.state.savedWhatIsItRichTextBody.toString(\r\n \"html\"\r\n ),\r\n WhatValueDoesItBring: this.state.savedWhatValueDoesItBringRichTextBody.toString(\r\n \"html\"\r\n ),\r\n Mobilized: this.state.savedMobilizedRichTextBody.toString(\r\n \"html\"\r\n ),\r\n Comments: this.state.savedCommentsRichTextBody.toString(\r\n \"html\"\r\n ),\r\n Showlinks: this.state.showLinkTextArray,\r\n Explorelinks: this.state.exploreLinkTextArray\r\n\r\n },\r\n };\r\n await this.context.addSelectedData({\r\n acceleratorRequestFormData: acceleratorRequestFormData,\r\n isAcceleratorRequestFormData: true,\r\n });\r\n if (this.props.btnLbl === \"Submit\") {\r\n this.props.handleSubmit();\r\n }\r\n }\r\n handleImageModal(text, actualName) {\r\n this.setState({\r\n imageModal: true,\r\n richTextModalBody: this.state[text],\r\n clickedRichTextBody: text,\r\n clickedActualRichTextName: actualName,\r\n });\r\n }\r\n handleCloseEditor() {\r\n this.setState({\r\n imageModal: false,\r\n richTextModalBody: RichTextEditor.createEmptyValue(),\r\n });\r\n }\r\n async onRichTextChange(value) {\r\n this.setState({ richTextModalBody: value });\r\n }\r\n handleSaveRichTxt() {\r\n let actualValue = this.state.mailBody\r\n .toString(\"html\")\r\n .replace(/(<([^>]+)>)/gi, \"\");\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n this.setState(\r\n {\r\n imageModal: false,\r\n [this.state.clickedActualRichTextName]: actualValue,\r\n [this.state.richTxt]: this.state.mailBody,\r\n sendIcon: false,\r\n }\r\n );\r\n }\r\n handleDontSaveRichTxt() {\r\n this.setState({\r\n imageModal: false,\r\n sendIcon: false,\r\n richTxt: \"\",\r\n });\r\n }\r\n handleCloseIcon() {\r\n this.setState({\r\n imageModal: true,\r\n sendIcon: false,\r\n });\r\n }\r\n validate() {\r\n const validationDetails = validateAccRequestAdditionalForm(this.state);\r\n const { fieldError, haveError } = validationDetails;\r\n this.setStates(fieldError);\r\n return haveError;\r\n }\r\n validateInput(name) {\r\n let { fieldError, isError } = validateInput(name, this.state);\r\n this.setStates(fieldError);\r\n return !isError;\r\n }\r\n async setStates(states) {\r\n await this.setState({\r\n ...states,\r\n });\r\n }\r\n handleSendIconModal() {\r\n let actualValue = this.state.richTextModalBody\r\n .toString(\"html\")\r\n .replace(/(<([^>]+)>)/gi, \"\");\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n this.setState(\r\n {\r\n imageModal: false,\r\n [this.state.clickedRichTextBody]: this.state.richTextModalBody,\r\n [this.state.clickedActualRichTextName]: actualValue,\r\n },\r\n () => {\r\n this.validateInput(this.state.clickedActualRichTextName, this.state);\r\n }\r\n );\r\n }\r\n async handleInput(e) {\r\n const { name, value } = e.target;\r\n await this.setState({\r\n [name]: value\r\n });\r\n this.validateInput(name, this.state);\r\n }\r\n handleClearForm(e) {\r\n e.preventDefault();\r\n this.setState({ resetPopup: true });\r\n }\r\n\r\n handleOnClickBack() {\r\n this.props.handleBtnClick(0)\r\n }\r\n async resetFields() {\r\n const resetFields = resetStates(this.state);\r\n await this.setState({\r\n ...resetFields,\r\n savedWhatIsItRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedWhatValueDoesItBringRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedMobilizedRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedCommentsRichTextBody: RichTextEditor.createEmptyValue(),\r\n showLinkTextArray: [{ Name: '', HyperLink: '' }],\r\n exploreLinkTextArray: [{ Name: '', HyperLink: '' }],\r\n isValidURL: \"\",\r\n isExploreLinkValid: \"\"\r\n });\r\n await this.context.addSelectedData({ acceleratorRequestFormData: {} });\r\n }\r\n\r\n handleAssetSelectionClick = async (e) => {\r\n let modalId = e.target.dataset.modal;\r\n await this.setState({ [modalId]: true, activateBackdrop: true });\r\n };\r\n\r\n getSelectedItems = async (selectedAssets, dropdown) => {\r\n await this.setState({ [dropdown]: selectedAssets });\r\n this.validateInput(dropdown, this.state);\r\n };\r\n\r\n\r\n\r\n render() {\r\n const specificDropdownFlag = getSpecificID(this.state.AcceleratorApplicable, this.state.accAppList)\r\n const additionalDetailsFields = this.state.AdditionalDetails\r\n ? this.state.AdditionalDetails\r\n : false;\r\n return (\r\n \r\n {(AppContextData) => {\r\n return (\r\n
    \r\n
    \r\n {additionalDetailsFields.length > 0 &&\r\n additionalDetailsFields.map((form) => {\r\n let keyString = `${form.FormKey}Error`;\r\n let selectActive = !!this.state[form.FormKey]\r\n ? \"form-control-select custom-placeholder\"\r\n : \"form-control-select\";\r\n if (form.FormKey === \"Phase\") {\r\n return (\r\n \r\n
    \r\n \r\n {form.ToolTip && (\r\n \r\n )}\r\n \r\n \r\n {\r\n this.handleInput(value);\r\n }}\r\n selected_value={\r\n !!this.state[form.FormKey]\r\n ? this.state[form.FormKey]\r\n : \"\"\r\n }\r\n />\r\n {!!this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n );\r\n } else if (form.FormKey === 'AcceleratorApplicable') {\r\n return (\r\n \r\n
    \r\n \r\n {form.ToolTip && (\r\n \r\n )}\r\n \r\n \r\n {\r\n this.handleInput(value);\r\n }}\r\n selected_value={\r\n !!this.state[form.FormKey]\r\n ? this.state[form.FormKey]\r\n : \"\"\r\n }\r\n />\r\n {!!this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n {specificDropdownFlag && (\r\n
    \r\n \r\n \r\n this.handleAssetSelectionClick(e)\r\n }\r\n value={\r\n !!this.state.Industry &&\r\n this.state.Industry.length > 0\r\n ? this.state.Industry.map(\r\n (el, key) => el.Name\r\n ).join(\", \")\r\n : \"\"\r\n }\r\n parent_custom_class=\"service-input\"\r\n />\r\n {!!this.state['IndustryError'] ? (\r\n

    \r\n {this.state['IndustryError']}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state[`acceleartor-industry-modal`] && (\r\n \r\n
    \r\n {\r\n this.setState({\r\n [`acceleartor-industry-modal`]: false,\r\n activateBackdrop: false,\r\n });\r\n }}\r\n >\r\n
    \r\n \r\n \r\n this.getSelectedItems(\r\n selectedAssets,\r\n \"Industry\"\r\n )\r\n }\r\n existingData={\r\n !!this.state.Industry &&\r\n this.state.Industry.length > 0\r\n ? this.state.Industry\r\n : []\r\n }\r\n dataPreExists={\r\n !!this.state.Industry &&\r\n this.state.Industry.length > 0\r\n ? true\r\n : false\r\n }\r\n />\r\n \r\n
    \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n this.handleAssetSelectionClick(e)\r\n }\r\n value={\r\n !!this.state.Function &&\r\n this.state.Function.length > 0\r\n ? this.state.Function.map(\r\n (el, key) => el.Name\r\n ).join(\", \")\r\n : \"\"\r\n }\r\n parent_custom_class=\"service-input\"\r\n />\r\n {!!this.state['FunctionError'] ? (\r\n

    \r\n {this.state['FunctionError']}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state[`acceleartor-function-modal`] && (\r\n \r\n
    \r\n {\r\n this.setState({\r\n [`acceleartor-function-modal`]: false,\r\n activateBackdrop: false,\r\n });\r\n }}\r\n >\r\n
    \r\n \r\n \r\n this.getSelectedItems(\r\n selectedAssets,\r\n \"Function\"\r\n )\r\n }\r\n existingData={\r\n !!this.state.Function &&\r\n this.state.Function.length > 0\r\n ? this.state.Function\r\n : []\r\n }\r\n dataPreExists={\r\n !!this.state.Function &&\r\n this.state.Function.length > 0\r\n ? true\r\n : false\r\n }\r\n />\r\n \r\n
    \r\n \r\n
    \r\n )}\r\n \r\n \r\n \r\n this.handleAssetSelectionClick(e)\r\n }\r\n value={\r\n !!this.state.Service &&\r\n this.state.Service.length > 0\r\n ? this.state.Service.map(\r\n (el, key) => el.Name\r\n ).join(\", \")\r\n : \"\"\r\n }\r\n parent_custom_class=\"service-input\"\r\n />\r\n {!!this.state['ServiceError'] ? (\r\n

    \r\n {this.state['ServiceError']}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state[`acceleartor-service-modal`] && (\r\n \r\n
    \r\n {\r\n this.setState({\r\n [`acceleartor-service-modal`]: false,\r\n activateBackdrop: false,\r\n });\r\n }}\r\n >\r\n
    \r\n \r\n \r\n this.getSelectedItems(\r\n selectedAssets,\r\n \"Service\"\r\n )\r\n }\r\n existingData={\r\n !!this.state.Service &&\r\n this.state.Service.length > 0\r\n ? this.state.Service\r\n : []\r\n }\r\n dataPreExists={\r\n !!this.state.Service &&\r\n this.state.Service.length > 0\r\n ? true\r\n : false\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 } else if (\r\n form.FormKey !== \"Phase\" &&\r\n form.FormKey !== \"ShowLink\" &&\r\n form.FormKey !== \"ExploreLink\"\r\n ) {\r\n let formField = `saved${form.FormKey}RichTextBody`;\r\n let key = form.FormKey;\r\n return (\r\n \r\n
    \r\n \r\n \r\n {form.ToolTip && (\r\n \r\n )}\r\n \r\n \r\n {(key === \"WhatIsIt\" ||\r\n key === \"WhatValueDoesItBring\" ||\r\n key === \"Mobilized\" ||\r\n key === \"Comments\") && (\r\n \r\n {\r\n this.handleImageModal(formField, key);\r\n }}\r\n />\r\n {\r\n this.onChange({\r\n value,\r\n name: formField,\r\n actualName: key,\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n \r\n )}\r\n {(key === \"Level1\" || key === \"Level2\" || key === \"CuratorEID\") &&\r\n { this.handleInput(e) }}\r\n />\r\n }\r\n {this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n );\r\n } else if (form.FormKey === \"ShowLink\" || form.FormKey === \"ExploreLink\") {\r\n return (\r\n \r\n
    \r\n \r\n \r\n {form.ToolTip && (\r\n \r\n )}\r\n \r\n \r\n {form.FormKey === \"ShowLink\" &&\r\n \r\n \r\n this.handleDeleteRowClick(e, lbl)} data={this.state.showLinkTextArray} form={this.state.showLinkTextArray}\r\n Editing={(e, i, lbl = 'ShowLink') => this.handleInputLinks(e, i, lbl)} />\r\n \r\n
    \r\n }\r\n {form.FormKey === \"ShowLink\" &&\r\n this.state.showLinkTextArray.map((x, i) => {\r\n return (\r\n \r\n {i === 0 && (\r\n
    \r\n {!!this.state[\"isValidURL\"] ? (\r\n

    \r\n {this.state[\"isValidURL\"]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n this.handleAddRowClick(\r\n e,\r\n \"ShowLink\"\r\n )\r\n }\r\n />\r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n })}\r\n {form.FormKey === \"ExploreLink\" &&\r\n \r\n \r\n this.handleDeleteRowClick(e, lbl)} data={this.state.exploreLinkTextArray} form={this.state.exploreLinkTextArray}\r\n Editing={(e, i, lbl = 'Explorelink') => this.handleInputLinks(e, i, lbl)} />\r\n \r\n
    \r\n }\r\n {form.FormKey === \"ExploreLink\" &&\r\n this.state.exploreLinkTextArray.map((x, i) => {\r\n return (\r\n \r\n {i === 0 && (\r\n
    \r\n {!!this.state[\"isExploreLinkValid\"] ? (\r\n

    \r\n {this.state[\"isExploreLinkValid\"]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n this.handleAddRowClick(\r\n e,\r\n \"ExploreLink\"\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 return null;\r\n })}\r\n \r\n
    \r\n {\r\n this.handleSubmitAcceleratorFormRequest();\r\n }}\r\n >\r\n {this.props.btnLbl}\r\n \r\n \r\n this.handleClearForm(e)}\r\n />\r\n
    \r\n {this.state.resetPopup && (\r\n {\r\n this.setState({ resetPopup: false });\r\n }}\r\n handleClose={() => {\r\n this.setState({ resetPopup: false });\r\n this.resetFields();\r\n }}\r\n >\r\n

    \r\n Are you sure you want to reset this page?\r\n

    \r\n \r\n )}\r\n {this.state.imageModal && (\r\n \r\n this.handleCloseEditor()}\r\n />\r\n

    \r\n {\r\n this.onRichTextChange(value);\r\n }}\r\n placeholder=\"Type your text here...\"\r\n toolbarConfig={toolbarConfig}\r\n />\r\n this.handleSendIconModal()}\r\n />\r\n \r\n )}\r\n
    \r\n {this.state.sendIcon && (\r\n {\r\n this.handleSaveRichTxt();\r\n }}\r\n handleCancel={() => {\r\n this.handleDontSaveRichTxt();\r\n }}\r\n >\r\n

    Alert

    \r\n this.handleCloseIcon()}\r\n />\r\n \r\n )}\r\n
    \r\n {this.state.showSpinner && }\r\n \r\n );\r\n }\r\n }\r\n
    \r\n );\r\n }\r\n}\r\nAcceleratorRequestForm.contextType = RequestContext;\r\nexport default AcceleratorRequestForm;","import ReportRequestSchema from \"../../../../assets/data/report-request.json\";\r\n\r\nexport const validateCheckBox = (value, field) => {\r\n let errorTxt = \"\";\r\n let isError = false;\r\n let tempObj = {}\r\n if (value.length < 1) {\r\n if (field === \"FrequencyReport\") {\r\n errorTxt = \"Please select at least one Frequency of Report\"\r\n } else {\r\n errorTxt = \"Please select at least one Frequency of Data Refresh\"\r\n }\r\n tempObj = {\r\n ...tempObj,\r\n [`${field}Error`]: errorTxt\r\n }\r\n isError = true\r\n } else {\r\n tempObj = {\r\n ...tempObj,\r\n [`${field}Error`]: errorTxt\r\n }\r\n }\r\n return {\r\n fieldError: tempObj,\r\n haveError: isError\r\n }\r\n}\r\n\r\nexport const validateDiaRequestAdditionalForm = (formState) => {\r\n let isError = false;\r\n let tempObj = {}\r\n if (formState.FrequencyReport.length < 1 ) {\r\n let inValidMessage = ''\r\n if (formState.FrequencyReport === '') inValidMessage = 'This is a required field.'\r\n else inValidMessage = \"This is a required field.\"\r\n tempObj = {\r\n ...tempObj,\r\n FrequencyReportError: inValidMessage\r\n }\r\n isError = true\r\n }else{\r\n let inValidMessage = ''\r\n inValidMessage = ' '\r\n tempObj = {\r\n ...tempObj,\r\n FrequencyReportError: inValidMessage\r\n }\r\n \r\n }\r\n\r\n if (formState.FrequencyDateRefresh.length < 1 ) {\r\n let inValidMessage = ''\r\n if (formState.FrequencyDateRefresh === '') inValidMessage = 'This is a required field.'\r\n else inValidMessage = \"This is a required field.\"\r\n tempObj = {\r\n ...tempObj,\r\n FrequencyDateRefreshError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n\r\n const isDataSourceLinktoSourceFile = (formState.DataSourceLinktoSourceFile !==0)\r\n if (formState.DataSourceLinktoSourceFile.length < 20 || formState.DataSourceLinktoSourceFile.length > 250) {\r\n let inValidMessage = ''\r\n inValidMessage = \"This is a required field.\"\r\n tempObj = {\r\n ...tempObj,\r\n DataSourceLinktoSourceFileError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n if (!isDataSourceLinktoSourceFile) {\r\n let inValidMessage = ''\r\n if (formState.DataSourceLinktoSourceFile === '') inValidMessage = 'This is a required field.'\r\n else inValidMessage = \"Data Source Link to Source File is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n DataSourceLinktoSourceFileError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n \r\n if (formState.savedAdditionalRichTextBody.length > 25000) {\r\n let inValidMessage = ''\r\n inValidMessage = \"Data Source Link to Source File is invalid.\"\r\n tempObj = {\r\n ...tempObj,\r\n DataSourceLinktoSourceFileError: inValidMessage\r\n }\r\n isError = true\r\n }\r\n return {\r\n fieldError: tempObj,\r\n haveError: isError\r\n }\r\n}\r\n\r\nexport const validateInput = (name, formData) => {\r\n let requirFields = formData.data && formData.data.filter(function (formFields) {\r\n return formFields.FormKey === name;\r\n });\r\n if (requirFields && requirFields.length > 0) {\r\n let errorkey = `${requirFields[0].FormKey}Error`, errorMessage = '', response = true\r\n if (formData[name] === '') {\r\n errorMessage = requirFields[0].ValidationMessages.RequiredMessage\r\n response = false\r\n } else {\r\n if ((name === 'DataSourceLinktoSourceFile')) {\r\n if (formData.DataSourceLinktoSourceFile.length < 20) {\r\n errorMessage = requirFields[0].ValidationMessages.MinDescription\r\n } else if (formData.DataSourceLinktoSourceFile.length > 250) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n if ((name === 'AdditionalInformation')) {\r\n if (formData.AdditionalInformation.length > 25000) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n if ((name === 'URLIncaseOfExistingreport')) {\r\n if (formData.URLIncaseOfExistingreport.length > 2500) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n\r\n }\r\n return {\r\n fieldError: {\r\n [errorkey]: errorMessage\r\n },\r\n haveError: response\r\n }\r\n \r\n }\r\n return true\r\n}\r\n\r\nexport const checkErrorsByField = (existingIssueDetails) => {\r\n const schemaFields = ReportRequestSchema.FormFields\r\n const haveError = schemaFields.find((field) => {\r\n let label = `${field}Error`\r\n return !!existingIssueDetails[label]\r\n })\r\n\r\n if (!!haveError) return true\r\n return false\r\n}","import React, { Component } from \"react\";\r\nimport \"./report-request-additional-form.scss\";\r\nimport ReportRequestAdditionalFormSchema from \"../../../../assets/data/report-request.json\"\r\nimport { getData } from \"../../../../api/api-manager\";\r\nimport { RequestContext } from \"../../../../context-providers/request-provider/request-provider\";\r\nimport { setInitialStates, setContextData } from \"../../../form/common-functionality-forms/form-common-functionality\";\r\nimport RichTextEditor from \"react-rte\";\r\nimport * as Constant from \"../../../../components/constants/constant\";\r\nimport CustomButton from \"../../../../components/button/secondary-button\";\r\nimport { toolbarConfig } from \"../../../../components/email-chip/react-rte-toolbar\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport { setErrorMessages, resetStates } from \"../../../../components/validators/validate\";\r\nimport { validateInput, validateCheckBox, validateDiaRequestAdditionalForm, checkErrorsByField } from \"./report-request-additional-form-validation\";\r\nimport Modal from \"../../../../components/modals/modal\";\r\nimport Spinner from \"../../../../components/spinner/spinner\";\r\nimport { Fragment } from \"react\";\r\nimport Checkbox from \"../../../../components/checkbox/checkbox\";\r\nimport CustomInput from \"../../../../components/custom-input/custom-input\";\r\n\r\nclass ReportRequestAdditionalForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n FrequencyReport: [],\r\n FrequencyDateRefresh: [],\r\n DataSourceLinktoSourceFile: '',\r\n savedAdditionalRichTextBody: RichTextEditor.createEmptyValue(),\r\n URLIncaseOfExistingreport: '',\r\n richTextModalBody: RichTextEditor.createEmptyValue(),\r\n showSpinner: true\r\n };\r\n this.handleOnClickBack = this.handleOnClickBack.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.setDefaultStates();\r\n this.getReportRequestFormData();\r\n }\r\n\r\n componentWillUnmount() {\r\n this.setFormDataOnUnmount()\r\n }\r\n setFormDataOnUnmount() {\r\n let contextData = setContextData(this.state.data, this.state)\r\n let additionalStateData = {\r\n File: this.state.selectedFiles\r\n }\r\n contextData = { ...contextData, ...additionalStateData }\r\n const isError = this.validate()\r\n this.context.addSelectedData({\r\n reportRequestFormData: {\r\n ...this.context.existingState.reportRequestFormData, \r\n FrequencyReport: this.state.FrequencyReport,\r\n FrequencyDateRefresh: this.state.FrequencyDateRefresh,\r\n DataSourceLinktoSourceFile: this.state.DataSourceLinktoSourceFile,\r\n savedAdditionalRichTextBody: this.state.savedAdditionalRichTextBody.toString(\r\n \"html\"\r\n ),\r\n URLIncaseOfExistingreport: this.state.URLIncaseOfExistingreport, \r\n ...contextData\r\n },\r\n isValidReportRequestFormData: !isError\r\n })\r\n }\r\n\r\n async setDefaultStates() {\r\n let contextData = this.context && this.context.existingState;\r\n let reportRequestFormData = contextData\r\n ? contextData.reportRequestFormData\r\n : {};\r\n await this.setState({\r\n data: ReportRequestAdditionalFormSchema\r\n ? ReportRequestAdditionalFormSchema.Config\r\n : [],\r\n FrequencyReport:\r\n reportRequestFormData && reportRequestFormData.FrequencyReport ? reportRequestFormData.FrequencyReport : [],\r\n\r\n FrequencyDateRefresh:\r\n reportRequestFormData && reportRequestFormData.FrequencyDateRefresh ? reportRequestFormData.FrequencyDateRefresh : [],\r\n\r\n DataSourceLinktoSourceFile:\r\n reportRequestFormData && reportRequestFormData.DataSourceLinktoSourceFile ? reportRequestFormData.DataSourceLinktoSourceFile : '',\r\n\r\n savedAdditionalRichTextBody: RichTextEditor.createValueFromString(\r\n reportRequestFormData && reportRequestFormData.savedAdditionalRichTextBody ? reportRequestFormData.savedAdditionalRichTextBody : '',\r\n \"html\"\r\n ),\r\n URLIncaseOfExistingreport:\r\n reportRequestFormData && reportRequestFormData.URLIncaseOfExistingreport ? reportRequestFormData.URLIncaseOfExistingreport : '',\r\n });\r\n const formFields = this.state.data;\r\n const stateData = await setInitialStates(\r\n formFields,\r\n reportRequestFormData\r\n );\r\n this.setStates(stateData);\r\n }\r\n\r\n async getReportRequestFormData() {\r\n let selectedServiceIds =\r\n this.props.selectedServiceIds.length > 0\r\n ? this.props.selectedServiceIds.join()\r\n : \"\";\r\n const response = await getData({\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName: `PopulateInternalRequestAddOnForm?requestId=${selectedServiceIds}`,\r\n });\r\n\r\n const { data, success, error, isInfo } = await response;\r\n if (success) {\r\n await this.setState({\r\n Dropdowns: data.Dropdowns,\r\n AdditionalDetails: data.ToolTip,\r\n showSpinner: false,\r\n });\r\n } else {\r\n await this.setState({\r\n error: error,\r\n isInfo,\r\n showErrorPopup: true,\r\n showSpinner: false,\r\n });\r\n }\r\n }\r\n\r\n async handleCheckBox(e, CheckboxName) {\r\n const {value } = e.target;\r\n if (CheckboxName === \"FrequencyReport\" || CheckboxName === \"FrequencyDateRefresh\") {\r\n if (e.target.checked) {\r\n await this.setState({\r\n [CheckboxName]: [...this.state[CheckboxName], { id: value }]\r\n });\r\n } else {\r\n await this.setState({ [CheckboxName]:[...this.state[CheckboxName].filter(el => el.id !== value)] })\r\n }\r\n }\r\n const validationCheckBoxDetails = validateCheckBox(this.state[CheckboxName], CheckboxName);\r\n const { fieldError, haveError } = validationCheckBoxDetails;\r\n this.setStates(fieldError);\r\n return haveError;\r\n}\r\n\r\n async handleInput(e) {\r\n const { name, value } = e.target;\r\n await this.setState({\r\n [name]: value\r\n });\r\n this.validateInput(name, this.state)\r\n }\r\n //RichTextEditer code start from here\r\n async onChange({ name, value, actualName }) {\r\n await this.setState({ [name]: value });\r\n const actualValue = value.toString(\"html\").replace(/(<([^>]+)>)/gi, \"\");\r\n await this.setState(\r\n {\r\n [actualName]: actualValue,\r\n },\r\n () => {\r\n if (actualValue.length > 0) {\r\n this.validateInput(actualName, this.state);\r\n }\r\n }\r\n );\r\n }\r\n\r\n validateInput(name) {\r\n let { fieldError, isError } = validateInput(name, this.state);\r\n this.setStates(fieldError);\r\n return !isError;\r\n }\r\n\r\n async setStates(states) {\r\n await this.setState({\r\n ...states,\r\n });\r\n }\r\n\r\n validate() {\r\n const validationDetails = validateDiaRequestAdditionalForm(this.state);\r\n const { fieldError, haveError } = validationDetails;\r\n this.setStates(fieldError);\r\n return haveError;\r\n }\r\n\r\n async handleSubmitDiaAdditionalForm() {\r\n let stateWithError = setErrorMessages(this.state);\r\n await this.setState(\r\n {\r\n ...stateWithError,\r\n },\r\n () => {\r\n const isError = this.validate();\r\n const haveError = checkErrorsByField(this.state);\r\n if (!isError && !haveError) {\r\n this.submitData();\r\n }\r\n }\r\n );\r\n }\r\n async submitData() {\r\n let tempArr = {};\r\n const formFields = this.state.data;\r\n formFields.map((form) => {\r\n const { FormKey } = form;\r\n const name = FormKey;\r\n tempArr = {\r\n ...tempArr,\r\n [name]: this.state[name],\r\n };\r\n return null;\r\n });\r\n let reportingRequestFormData = {\r\n ReportingRequest: {\r\n ApplicableReportingRequest : {\r\n FrequencyOfReportIDS: this.state.FrequencyReport,\r\n FrequencyOfDataRefreshIDS: this.state.FrequencyDateRefresh,\r\n },\r\n DataSourceLinktoSourceFile: this.state.DataSourceLinktoSourceFile,\r\n AdditionalInformation: this.state.savedAdditionalRichTextBody.toString(\r\n \"html\"\r\n ),\r\n URLIncaseOfExistingreport: this.state.URLIncaseOfExistingreport\r\n },\r\n };\r\n await this.context.addSelectedData({\r\n reportingRequestFormData: reportingRequestFormData,\r\n isValidReportRequestFormData: true,\r\n });\r\n if (this.props.btnLbl === \"Submit\") {\r\n this.props.handleSubmit();\r\n }\r\n }\r\n\r\n handleClearForm(e) {\r\n e.preventDefault();\r\n this.setState({ resetPopup: true });\r\n }\r\n\r\n handleOnClickBack() {\r\n this.props.handleBtnClick(0)\r\n }\r\n\r\n handleImageModal(text, actualName) {\r\n this.setState({\r\n imageModal: true,\r\n richTextModalBody: this.state[text],\r\n clickedRichTextBody: text,\r\n clickedActualRichTextName: actualName,\r\n });\r\n }\r\n\r\n handleCloseEditor() {\r\n this.setState({\r\n imageModal: false,\r\n richTextModalBody: RichTextEditor.createEmptyValue(),\r\n });\r\n }\r\n\r\n async resetFields() {\r\n const resetFields = resetStates(this.state);\r\n await this.setState({\r\n ...resetFields,\r\n FrequencyReport: [],\r\n FrequencyDateRefresh: [],\r\n DataSourceLinktoSourceFile: '',\r\n savedAdditionalRichTextBody: RichTextEditor.createEmptyValue(),\r\n URLIncaseOfExistingreport: '',\r\n });\r\n await this.context.addSelectedData({ reportingRequestFormData: {} });\r\n }\r\n\r\n handleSendIconModal() {\r\n const actualValue = this.state.richTextModalBody\r\n .toString(\"html\")\r\n .replace(/(<([^>]+)>)/gi, \"\");\r\n this.setState(\r\n {\r\n imageModal: false,\r\n [this.state.clickedRichTextBody]: this.state.richTextModalBody,\r\n [this.state.clickedActualRichTextName]: actualValue,\r\n },\r\n () => {\r\n this.validateInput(this.state.clickedActualRichTextName, this.state);\r\n }\r\n );\r\n }\r\n async onRichTextChange(value) {\r\n this.setState({ richTextModalBody: value });\r\n }\r\n\r\n render() {\r\n const additionalDetailsFields = this.state.AdditionalDetails\r\n ? this.state.AdditionalDetails\r\n : false;\r\n const reportRequestAdditionalFormField =\r\n this.state.Dropdowns ? this.state.Dropdowns : {};\r\n return (\r\n \r\n {(AppContextData) => {\r\n return (\r\n
    \r\n
    \r\n {additionalDetailsFields.length > 0 &&\r\n additionalDetailsFields.map((form) => {\r\n let keyString = `${form.FormKey}Error`;\r\n if (form.FormKey === \"FrequencyReport\") {\r\n return (\r\n \r\n
    \r\n \r\n
  • \r\n {reportRequestAdditionalFormField.FrequencyReport.map(item => {\r\n let isChecked = (this.state.FrequencyReport ?\r\n this.state.FrequencyReport.map(el => el.id).includes(item.ID) : false)\r\n return(\r\n \r\n )\r\n })}\r\n
  • \r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n\r\n }\r\n if (form.FormKey === \"FrequencyDateRefresh\") {\r\n return (\r\n \r\n
    \r\n
  • \r\n
  • \r\n {reportRequestAdditionalFormField.FrequencyDateRefresh.map(item => {\r\n let isChecked = (this.state.FrequencyDateRefresh ?\r\n this.state.FrequencyDateRefresh.map(el => el.id).includes(item.ID) : false)\r\n return(\r\n \r\n )\r\n })\r\n }\r\n
  • \r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n\r\n }\r\n if (form.FormKey === \"DataSourceLinktoSourceFile\") {\r\n return (\r\n \r\n
    \r\n { this.handleInput(e) }}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"AdditionalInformation\") {\r\n return (\r\n \r\n
    \r\n \r\n {\r\n this.handleImageModal(\r\n \"savedAdditionalRichTextBody\",\r\n \"AdditionalInformation\"\r\n );\r\n }}\r\n />\r\n {\r\n this.onChange({\r\n value,\r\n name: \"savedAdditionalRichTextBody\",\r\n actualName: \"AdditionalInformation\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n // placeholder=\"\"\r\n />\r\n {this.state[keyString] ? (\r\n

    \r\n {this.state[keyString]}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n if (form.FormKey === \"URLIncaseOfExistingreport\") {\r\n return (\r\n \r\n
    \r\n { this.handleInput(e) }}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n\r\n );\r\n }\r\n return null;\r\n })}\r\n
    \r\n
    \r\n {\r\n this.handleSubmitDiaAdditionalForm();\r\n }}\r\n >\r\n {this.props.btnLbl}\r\n \r\n \r\n this.handleClearForm(e)}\r\n />\r\n
    \r\n {this.state.resetPopup && (\r\n {\r\n this.setState({ resetPopup: false });\r\n }}\r\n handleClose={() => {\r\n this.setState({ resetPopup: false });\r\n this.resetFields();\r\n }}\r\n >\r\n

    \r\n Are you sure you want to reset this page?\r\n

    \r\n \r\n )}\r\n {this.state.imageModal && (\r\n \r\n this.handleCloseEditor()}\r\n />\r\n

    \r\n {\r\n this.onRichTextChange(value);\r\n }}\r\n placeholder=\"Type your text here...\"\r\n toolbarConfig={toolbarConfig}\r\n />\r\n this.handleSendIconModal()}\r\n />\r\n \r\n )}\r\n {this.state.error && (\r\n {\r\n this.setState({ showErrorPopup: false });\r\n }}\r\n buttonPosition=\"center-button\"\r\n >\r\n

    {this.state.error}

    \r\n \r\n )}\r\n {this.state.showSpinner && }\r\n
    \r\n );\r\n }}\r\n
    \r\n );\r\n }\r\n}\r\nReportRequestAdditionalForm.contextType = RequestContext;\r\nexport default ReportRequestAdditionalForm;\r\n","import React, { Component } from 'react';\r\nimport \"./staffing-change-request-form.scss\";\r\nimport dateFormat from \"dateformat\";\r\nimport Toast from \"../../../../components/toast/toast\";\r\nimport { getTokenData } from \"../../../../api/sessionConfig\";\r\nimport Tootltip from \"../../../../components/tool-tip/tool-tip\";\r\nimport { getData, postData } from \"../../../../api/api-manager\";\r\nimport { UTIL_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport { downloadFile } from \"../../../../components/file-manipulations/download\";\r\nimport { exportBulkIntegrationData } from '../../../../components/export-xlsx/export-xlsx';\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport { splitCoeContact } from \"../../../requests-grid/assignment/request-assignment-function\";\r\nimport * as Constant from \"../../../../components/constants/constant\";\r\nimport { checkValidFile } from \"../../../common/attachment-validation\"\r\n\r\nclass StaffingChangeRequestBulkUpdate extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n addNewAttachment: this.props.fileData,\r\n showToast: 0,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || ''\r\n this.setState({\r\n eid: eid\r\n })\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.fileData.length !== this.props.fileData.length || prevProps.fileData !== this.props.fileData) {\r\n this.setState({\r\n addNewAttachment: this.props.fileData\r\n })\r\n }\r\n }\r\n\r\n async handleExportData() {\r\n this.setState({ showSpinner: true });\r\n let serviceName = `ExportInternalRequestData`;\r\n let requestData = { BulkRequest: true }\r\n let response = await postData({ serviceName: serviceName, apiBaseUrl: INTERNAL_REQUEST_BASE_URL, data: requestData });\r\n const { success, error, data } = await response;\r\n if (success) {\r\n let bulkData = data.BulkRequestDownloadFile;\r\n let fileName = `bulkRequest-${this.state.eid}-${dateFormat(new Date(), \"ddmmmyyyy-h-MM\")}`\r\n exportBulkIntegrationData(bulkData, fileName);\r\n this.setState({ showSpinner: false });\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n async handleDownload({ guid, filename }) {\r\n this.setState({ showSpinner: true })\r\n const response = await getData({ apiBaseUrl: UTIL_BASE_URL, serviceName: `Download?guid=${guid}` });\r\n const downloadResponse = await downloadFile({ apiResponse: response, fileName: filename })\r\n const { showToast } = this.state\r\n const { error } = response\r\n if (downloadResponse) {\r\n this.setState({\r\n showToast: showToast + 1,\r\n toastText: 'Attachment downloaded successfully !',\r\n showSpinner: false\r\n })\r\n } else {\r\n this.setState({\r\n error: error,\r\n showSpinner: false\r\n })\r\n }\r\n }\r\n\r\n validateAttachFile(e) {\r\n this.setState({ error: \"\" });\r\n const fileValidation = checkValidFile(e, this.state.addNewAttachment)\r\n const { error, isError } = fileValidation\r\n if (isError) {\r\n this.setState({ error })\r\n } else {\r\n this.handleFile(e)\r\n }\r\n }\r\n\r\n async handleFile(e) {\r\n if (e.target.files[0]) {\r\n let tempObj = this.state.addNewAttachment ? this.state.addNewAttachment : []\r\n tempObj.push(e.target.files[0])\r\n await this.setState({\r\n addNewAttachment: tempObj\r\n })\r\n\r\n await this.props.onAttachmentChange(tempObj);\r\n }\r\n }\r\n\r\n handleRemoveSpecificRow(e, idx) {\r\n e.preventDefault();\r\n let tmpAddNewAttachment = this.state.addNewAttachment;\r\n const { showToast } = this.state\r\n if (tmpAddNewAttachment.length <= 5) {\r\n this.setState({\r\n error: '', showToast: showToast + 1,\r\n toastText: `Attachment removed successfully !`\r\n })\r\n }\r\n this.props.onAttachmentChange(tmpAddNewAttachment, idx);\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.props.isStaffingChangeRequestForm && }\r\n\r\n {this.state.addNewAttachment.length === 0 ?\r\n
    \r\n \r\n this.validateAttachFile(e)} className=\"attach-button\"\r\n disabled={this.state.addNewAttachment.length >= 5 ? true : false} />\r\n
    : ''\r\n }\r\n\r\n {this.state.addNewAttachment.length > 0 ?\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.isActionEnabled && }\r\n \r\n \r\n \r\n {this.state.addNewAttachment && this.state.addNewAttachment.length > 0 && this.state.addNewAttachment.map((file, index) => {\r\n let fileGuid = !!file.guid ? file.guid : ''\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.props.isActionEnabled && }\r\n \r\n )\r\n })}\r\n \r\n
    File NameUploaded BySizeDate AddedAction
    {fileGuid ? file.fileName : file.name}\r\n {fileGuid ? splitCoeContact(file.uploadedBy) : splitCoeContact(this.state.eid)}\r\n {fileGuid ? file.uploadedBy : this.state.eid}

    } />\r\n
    {fileGuid ? file.size : parseFloat((file.size) / 1024).toFixed(1) + 'KB'}{fileGuid ? file.dateAdded : dateFormat(new Date(), \"dd-mmm-yyyy\")}\r\n {fileGuid && {file.name} this.handleDownload({ guid: fileGuid, filename: file.fileName })}>}\r\n \"\" this.handleRemoveSpecificRow(e, index)} />\r\n
    \r\n\r\n
    \r\n \r\n this.validateAttachFile(e)} className=\"attach-button\"\r\n disabled={this.state.addNewAttachment.length === 1 ? true : false} />\r\n
    \r\n
    : ''\r\n }\r\n\r\n {!!this.state.showToast && }\r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default StaffingChangeRequestBulkUpdate;","import { validateWithPattern } from \"../../../../components/validators/validate\";\r\nimport StaffingChangeRequestAdditionalFormSchema from \"../../../../assets/data/staffing-change-request-additional-form.json\";\r\n\r\nexport const validateStaffingChangeRequestAdditionalForm = (formState) => {\r\n let isError = false;\r\n let tempObj = {}\r\n const requiredFields = getRequiredFields(formState);\r\n const requireFieldErrorMsg = \"This is a required field.\";\r\n\r\n requiredFields.forEach(record => {\r\n let errorMsg = '';\r\n if(formState[record] === ''){\r\n errorMsg = requireFieldErrorMsg;\r\n isError = true;\r\n } else if(record !== \"EffectiveDate\" || record !== \"ForecastDate\"){\r\n const isValid = validateFieldsByPattern({ keyName: record , value: formState[record] });\r\n errorMsg = validateInput(record, formState);\r\n if (!isValid) {\r\n errorMsg = `${getName(record)} is invalid.`\r\n }\r\n\r\n isError = errorMsg !== '' || isError ? true : false;\r\n }\r\n tempObj = {\r\n ...tempObj,\r\n [`${record}Error`]: errorMsg\r\n }\r\n });\r\n\r\n if(formState.requestType && formState.requestType === \"WBS Authorization\" && formState.WBSAuthorizationType !== \"\" && formState.WBSAuthorizationType === \"Bulk Request\"){\r\n tempObj = {};\r\n isError = false;\r\n }\r\n return {\r\n fieldError: tempObj,\r\n haveError: isError\r\n }\r\n}\r\n\r\nexport const getRequiredFields = (formState) => {\r\n let RequiredFields = [];\r\n\r\n if(formState.requestType === \"Team Structure\"){ RequiredFields = StaffingChangeRequestAdditionalFormSchema.TeamStructureRequiredFields; }\r\n if(formState.requestType === \"Team Changes\"){ RequiredFields = StaffingChangeRequestAdditionalFormSchema.TeamChangesRequiredFields; }\r\n if(formState.requestType === \"WBS Authorization\"){ RequiredFields = StaffingChangeRequestAdditionalFormSchema.WBSAuthorizationRequiredFields; }\r\n if(formState.requestType === \"Others\"){ RequiredFields = StaffingChangeRequestAdditionalFormSchema.OthersRequiredFields; }\r\n\r\n return RequiredFields;\r\n}\r\n\r\nexport const getName = (name) => {\r\n let actualName = name;\r\n\r\n if(name === \"TeamName\"){ actualName=\"Team name\" }\r\n\r\n if(name === \"TeamRole\"){ actualName=\"Team role\" }\r\n\r\n if(name === \"CurrentTeam\"){ actualName=\"Current team\" }\r\n\r\n if(name === \"CurrentRole\"){ actualName=\"Current role\" }\r\n\r\n if(name === \"NewTeam\"){ actualName=\"New team\" }\r\n\r\n if(name === \"NewRole\"){ actualName=\"New role\" }\r\n\r\n if(name === \"EnterpriseID\"){ actualName=\"Enterprise ID\" }\r\n\r\n if(name === \"AllocationPercentage\"){ actualName=\"Allocation %\" }\r\n\r\n if(name === \"SupervisorID\"){ actualName=\"Supervisor ID\" }\r\n\r\n return actualName;\r\n}\r\n\r\nexport const validateInput = (name, stateData) => {\r\n let errorTxt = \"\";\r\n let actualName = getName(name);\r\n let fieldsList = [ \"TeamName\", \"Role\", \"CurrentTeam\", \"CurrentRole\", \"NewTeam\", \"NewRole\", \"EnterpriseID\", \"AllocationPercentage\", \"SupervisorID\" ]\r\n if (fieldsList.includes(name)){\r\n if ((stateData[name].length === 0)) {\r\n errorTxt = \"This is a required field.\"\r\n } else if (stateData[name].length > 250) {\r\n errorTxt = `${actualName} should not be more than 250 characters long.`\r\n }\r\n } \r\n\r\n return errorTxt;\r\n}\r\n\r\nexport const validateFieldsByPattern = ({ keyName, value }) => {\r\n let schemaJson = StaffingChangeRequestAdditionalFormSchema\r\n let fieldDetails = [];\r\n fieldDetails = schemaJson && schemaJson.Config.filter(function (formFields) {\r\n return formFields.FormKey === keyName;\r\n });\r\n let pattern = fieldDetails && fieldDetails[0].Validations.Pattern;\r\n \r\n return validateWithPattern({ pattern, value });\r\n}","import React, { Component } from 'react';\r\nimport \"./staffing-change-request-form.scss\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport { addDays } from \"date-fns\";\r\nimport dateFormat from \"dateformat\";\r\nimport { getData } from \"../../../../api/api-manager\";\r\nimport Modal from \"../../../../components/modals/modal\";\r\nimport Spinner from \"../../../../components/spinner/spinner\";\r\nimport { resetStates } from \"../../../../components/validators/validate\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport StaffingChangeRequestBulkUpdate from \"./StaffingChangeRequestBulkUpdate\";\r\nimport { RequestContext } from \"../../../../context-providers/request-provider/request-provider\";\r\nimport StaffingChangeRequestFormSchema from \"../../../../assets/data/staffing-change-request-additional-form.json\";\r\nimport { setInitialStates, setContextData } from \"../../../form/common-functionality-forms/form-common-functionality\";\r\nimport { validateStaffingChangeRequestAdditionalForm, validateInput } from \"./staffing-change-request-form-validation\";\r\nimport { RadioButton, CustomInput, CustomReactSelect, CustomButton } from \"../../../form/common-functionality-forms/form-imports\";\r\n\r\nclass StaffingChangeRequestForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n requestTypeList: [],\r\n requestType: \"\",\r\n requestTypeDefault: null,\r\n WBSAuthorizationType: \"\",\r\n additionalFieldDetails: null,\r\n errorMessage: {},\r\n resetPopup: false,\r\n addNewAttachment: [],\r\n files: []\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ showSpinner: true });\r\n this.setDefaultStates();\r\n this.getStaffingChangeRequestFormData();\r\n }\r\n\r\n componentWillUnmount() {\r\n this.setFormDataOnUnmount()\r\n }\r\n\r\n setFormDataOnUnmount() {\r\n let contextData = setContextData(this.state.data, this.state)\r\n let additionalStateData = {\r\n files: this.state.files,\r\n requestType: this.state.requestType,\r\n requestTypeDefault: this.state.requestTypeDefault,\r\n WBSAuthorizationType: this.state.WBSAuthorizationType\r\n }\r\n contextData = { ...contextData, ...additionalStateData }\r\n const isError = this.validate()\r\n this.context.addSelectedData({\r\n staffingChangeRequestAdditionFormData: { ...this.context.existingState.staffingChangeRequestAdditionFormData, ...contextData },\r\n isValidStaffingChangeRequestFormData: !isError\r\n })\r\n }\r\n\r\n async setDefaultStates() {\r\n let contextData = this.context && this.context.existingState\r\n let staffingChangeRequestAdditionFormData = contextData ? contextData.staffingChangeRequestAdditionFormData : {}\r\n await this.setState({\r\n data: StaffingChangeRequestFormSchema.Config,\r\n requestType: staffingChangeRequestAdditionFormData && staffingChangeRequestAdditionFormData.requestType ? staffingChangeRequestAdditionFormData.requestType : \"\",\r\n requestTypeDefault: staffingChangeRequestAdditionFormData && staffingChangeRequestAdditionFormData.requestTypeDefault ? staffingChangeRequestAdditionFormData.requestTypeDefault : \"\",\r\n WBSAuthorizationType: staffingChangeRequestAdditionFormData && staffingChangeRequestAdditionFormData.WBSAuthorizationType ? staffingChangeRequestAdditionFormData.WBSAuthorizationType : \"\",\r\n TeamName: staffingChangeRequestAdditionFormData && staffingChangeRequestAdditionFormData.TeamName ? staffingChangeRequestAdditionFormData.TeamName : '',\r\n Role: staffingChangeRequestAdditionFormData && staffingChangeRequestAdditionFormData.Role ? staffingChangeRequestAdditionFormData.Role : \"\",\r\n CurrentTeam: staffingChangeRequestAdditionFormData && staffingChangeRequestAdditionFormData.CurrentTeam ? staffingChangeRequestAdditionFormData.CurrentTeam : \"\",\r\n CurrentRole: staffingChangeRequestAdditionFormData && staffingChangeRequestAdditionFormData.CurrentRole ? staffingChangeRequestAdditionFormData.CurrentRole : \"\",\r\n NewTeam: staffingChangeRequestAdditionFormData && staffingChangeRequestAdditionFormData.NewTeam ? staffingChangeRequestAdditionFormData.NewTeam : \"\",\r\n NewRole: staffingChangeRequestAdditionFormData && staffingChangeRequestAdditionFormData.NewRole ? staffingChangeRequestAdditionFormData.NewRole : \"\",\r\n EnterpriseID: staffingChangeRequestAdditionFormData && staffingChangeRequestAdditionFormData.EnterpriseID ? staffingChangeRequestAdditionFormData.EnterpriseID : \"\",\r\n AllocationPercentage: staffingChangeRequestAdditionFormData && staffingChangeRequestAdditionFormData.AllocationPercentage ? staffingChangeRequestAdditionFormData.AllocationPercentage : \"\",\r\n SupervisorID: staffingChangeRequestAdditionFormData && staffingChangeRequestAdditionFormData.SupervisorID ? staffingChangeRequestAdditionFormData.SupervisorID : \"\",\r\n EffectiveDate: staffingChangeRequestAdditionFormData && staffingChangeRequestAdditionFormData.EffectiveDate ? new Date(staffingChangeRequestAdditionFormData.EffectiveDate) : \"\",\r\n ForecastDate: staffingChangeRequestAdditionFormData && staffingChangeRequestAdditionFormData.ForecastDate ? new Date(staffingChangeRequestAdditionFormData.ForecastDate) : \"\",\r\n AdditionalComments: staffingChangeRequestAdditionFormData && staffingChangeRequestAdditionFormData.AdditionalComments ? staffingChangeRequestAdditionFormData.AdditionalComments : \"\",\r\n files: staffingChangeRequestAdditionFormData && staffingChangeRequestAdditionFormData.files ? staffingChangeRequestAdditionFormData.files : [],\r\n })\r\n\r\n const formFields = this.state.data;\r\n const stateData = await setInitialStates(\r\n formFields,\r\n staffingChangeRequestAdditionFormData\r\n );\r\n this.setStates(stateData);\r\n }\r\n\r\n async getStaffingChangeRequestFormData() {\r\n let selectedServiceIds =\r\n this.props.selectedServiceIds.length > 0\r\n ? this.props.selectedServiceIds.join()\r\n : \"\";\r\n const response = await getData({\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName: `PopulateInternalRequestAddOnForm?requestId=${selectedServiceIds}`,\r\n });\r\n const { data, success, error, isInfo } = await response;\r\n if (success) {\r\n let requestTypeOptions = data.Dropdowns['Request Type'];\r\n let fieldDetails = {};\r\n\r\n fieldDetails[\"Team Structure\"] = data.Dropdowns[\"Team Structure\"];\r\n fieldDetails[\"Team Changes\"] = data.Dropdowns[\"Team Changes\"];\r\n fieldDetails[\"WBS Authorization\"] = data.Dropdowns[\"Single Request\"];\r\n fieldDetails[\"WBS Request Type\"] = data.Dropdowns[\"WBS Authorization\"]\r\n fieldDetails[\"Others\"] = data.Dropdowns[\"Others\"];\r\n\r\n requestTypeOptions.forEach(record => {\r\n record[\"label\"] = record.Name;\r\n record[\"value\"] = record.ID;\r\n });\r\n\r\n await this.setState({\r\n requestTypeList: requestTypeOptions,\r\n additionalFieldDetails: fieldDetails,\r\n showSpinner: false,\r\n });\r\n } else {\r\n await this.setState({\r\n error: error,\r\n isInfo,\r\n showErrorPopup: true,\r\n showSpinner: false,\r\n });\r\n }\r\n }\r\n\r\n handleInput = (e) => {\r\n let { name, value } = e.target;\r\n\r\n this.setState({\r\n [name]: value,\r\n }, () => {\r\n this.validateInput(name)\r\n });\r\n }\r\n\r\n handleExpectedDate(name, date) {\r\n this.setState({\r\n [name]: date,\r\n }, () => {\r\n this.validateInput(name)\r\n });\r\n }\r\n\r\n validate() {\r\n const validationDetails = validateStaffingChangeRequestAdditionalForm(this.state);\r\n const { fieldError, haveError } = validationDetails;\r\n this.setStates({ errorMessage: { fieldError } });\r\n return haveError;\r\n }\r\n\r\n validateInput(name) {\r\n let fieldError = validateInput(name, this.state);\r\n this.setStates({\r\n ...this.state.errorMessage,\r\n [`${name}Error`]: fieldError,\r\n });\r\n }\r\n\r\n async setStates(states) {\r\n await this.setState({\r\n ...states\r\n });\r\n }\r\n\r\n async resetFields() {\r\n const resetFields = resetStates(this.state);\r\n await this.setState({\r\n ...resetFields,\r\n requestType: \"\",\r\n requestTypeDefault: \"\",\r\n WBSAuthorizationType: \"\",\r\n });\r\n await this.context.addSelectedData({ staffingChangeRequestAdditionFormData: {} });\r\n }\r\n\r\n handleClearForm(e) {\r\n e.preventDefault();\r\n this.setState({ resetPopup: true });\r\n }\r\n\r\n handleOnClickBack = () => {\r\n this.props.handleBtnClick(0)\r\n }\r\n\r\n async handleRequestTypeChange(data) {\r\n this.setState({});\r\n const resetFields = resetStates(this.state);\r\n let requestName = data.label;\r\n if (requestName === \"WBS Authorization\") {\r\n await this.setState({ ...resetFields, requestType: requestName, requestTypeDefault: data, WBSAuthorizationType: \"Single Request\" });\r\n } else {\r\n await this.setState({ ...resetFields, requestType: requestName, requestTypeDefault: data, WBSAuthorizationType: \"\" });\r\n }\r\n await this.context.addSelectedData({ staffingChangeRequestAdditionFormData: {} });\r\n }\r\n\r\n handleRadioSelection(value) {\r\n this.setState({ WBSAuthorizationType: value, files: [] });\r\n }\r\n\r\n onAttachmentChange = (data, index) => {\r\n if (index === 0) {\r\n let files = [...this.state.files];\r\n files.splice(index, 1);\r\n this.setState({ files: files })\r\n }\r\n else { this.setState({ files: data }) }\r\n }\r\n\r\n handleSubmitStaffingChangeRequestForm = () => {\r\n let { fieldError, haveError } = validateStaffingChangeRequestAdditionalForm(this.state);\r\n this.setState(\r\n {\r\n ...fieldError\r\n }, () => {\r\n if (!haveError) {\r\n this.submitData();\r\n }\r\n }\r\n );\r\n }\r\n\r\n submitData = async () => {\r\n let isType = false;\r\n let fieldData = {};\r\n let staffingChangeRequestFormData = {\r\n isInternalRequest: true\r\n };\r\n\r\n if (this.state.requestType === \"WBS Authorization\" && this.state.WBSAuthorizationType !== \"\" && this.state.WBSAuthorizationType === \"Bulk Request\") {\r\n isType = true;\r\n fieldData[\"files\"] = this.state.files;\r\n } else {\r\n this.state.additionalFieldDetails[this.state.requestType].map(data => {\r\n if (data.FormKey.toLowerCase().includes('date')) {\r\n fieldData[data.FormKey] = dateFormat(this.state[data.FormKey], \"isoDate\");\r\n } else {\r\n fieldData[data.FormKey] = this.state[data.FormKey];\r\n }\r\n\r\n return null;\r\n });\r\n }\r\n\r\n staffingChangeRequestFormData = { ...staffingChangeRequestFormData, StaffingChangeRequest: { RequestTypeId: this.state.requestTypeDefault.ID, \"IsType\": isType, \"AdditionalDetails\": [fieldData] } };\r\n\r\n await this.context.addSelectedData({\r\n staffingChangeRequestFormData: staffingChangeRequestFormData,\r\n isValidStaffingChangeRequestRequestFormData: true,\r\n });\r\n\r\n this.props.handleSubmit();\r\n }\r\n\r\n render() {\r\n const wbsTypeList = this.state.additionalFieldDetails && this.state.additionalFieldDetails[\"WBS Request Type\"] ? this.state.additionalFieldDetails[\"WBS Request Type\"] : [];\r\n\r\n return (\r\n \r\n {(AppContextData) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n { this.handleRequestTypeChange(selectedData) }}\r\n className=\"custom-select-look\"\r\n />\r\n {this.state.requestType ?
    {this.state.requestType === \"Others\" ? \"No additional details required.\" : \"Please provide the below additional details.\"}
    : \"\"}\r\n
    \r\n\r\n {this.state.requestType === \"WBS Authorization\" &&
    \r\n
    \r\n {wbsTypeList.length > 0 && wbsTypeList.map(el => {\r\n return (
    \r\n { this.handleRadioSelection(el.Name) }}\r\n checked={this.state.WBSAuthorizationType === el.Name ? true : false} />\r\n {el.Name}\r\n
    )\r\n })}\r\n
    \r\n
    }\r\n
    \r\n\r\n
    \r\n {this.state.additionalFieldDetails !== null && this.state.requestType &&\r\n this.state.additionalFieldDetails[this.state.requestType].map((form) => {\r\n let keyString = `${form.FormKey}Error`;\r\n\r\n if ((!form.FormKey.toLowerCase().includes('date') && this.state.WBSAuthorizationType === \"\") || (!form.FormKey.toLowerCase().includes('date') && this.state.WBSAuthorizationType !== \"\" && this.state.WBSAuthorizationType === \"Single Request\")) {\r\n return (\r\n
    \r\n \r\n { this.handleInput(e) }}\r\n maxLength=\"250\" />\r\n\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n\r\n
    \r\n );\r\n }\r\n\r\n if ((form.FormKey.toLowerCase().includes('date') && this.state.WBSAuthorizationType === \"\") || (form.FormKey.toLowerCase().includes('date') && this.state.WBSAuthorizationType !== \"\" && this.state.WBSAuthorizationType === \"Single Request\")) {\r\n return (\r\n
    \r\n \r\n
    \r\n this.handleExpectedDate(form.FormKey, date)}\r\n minDate={addDays(new Date(), 1)}\r\n dateFormat=\"dd-MMM-yyyy\"\r\n placeholderText={this.state[form.FormKey] ? this.state[form.FormKey] : \"DD-MMM-YYYY\"}\r\n onChangeRaw={(e) => { e.preventDefault() }}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return null;\r\n })\r\n }\r\n\r\n {this.state.requestType === \"WBS Authorization\" && this.state.WBSAuthorizationType !== \"\" && this.state.WBSAuthorizationType === \"Bulk Request\" &&\r\n }\r\n
    \r\n
    \r\n\r\n
    \r\n {\r\n this.handleSubmitStaffingChangeRequestForm();\r\n }}\r\n disabled={this.state.requestType === \"\" || (this.state.requestType && this.state.requestType === \"WBS Authorization\" && this.state.WBSAuthorizationType !== \"\" && this.state.WBSAuthorizationType === \"Bulk Request\" && this.state.files.length === 0) ? true : false}\r\n >\r\n {this.props.btnLbl}\r\n \r\n \r\n this.handleClearForm(e)} />\r\n
    \r\n\r\n {this.state.resetPopup && (\r\n {\r\n this.setState({ resetPopup: false });\r\n }}\r\n handleClose={() => {\r\n this.setState({ resetPopup: false });\r\n this.resetFields();\r\n }}\r\n >\r\n

    \r\n Are you sure you want to reset this page?\r\n

    \r\n \r\n )}\r\n\r\n {this.state.error && (\r\n {\r\n this.setState({ showErrorPopup: false });\r\n }}\r\n buttonPosition=\"center-button\"\r\n >\r\n

    {this.state.error}

    \r\n \r\n )}\r\n\r\n {this.state.showSpinner && }\r\n
    \r\n );\r\n }}\r\n
    \r\n );\r\n }\r\n}\r\nStaffingChangeRequestForm.contextType = RequestContext;\r\nexport default StaffingChangeRequestForm;","import { validateWithPattern } from \"../../../../components/validators/validate\";\r\n\r\nexport const validateInput = (name, schema ,value) => {\r\n let requirFields = schema && schema.find(formFields => formFields.FormKey === name);\r\n let response = true\r\n let errorMessage = '', errorkey = `${name}Error`\r\n if (!!value) {\r\n if (name === 'WDSales' || name === 'WDIntegrationLeads' || name === 'WDIntegrationAdmins' || name === 'WDIntegrationConsultants') {\r\n const isValid = validateEmailByPattern({ pattern: requirFields.Validations.Pattern, value: value, formState: schema })\r\n if (!isValid) errorMessage = requirFields.ValidationMessages.PatternMessage\r\n else {\r\n let strArr = value.trim().split(';');\r\n strArr = strArr.filter(function (el) {\r\n let emailArray = el.trim()\r\n return emailArray.length > 0;\r\n });\r\n let strArray = strArr.reduce((acc, currentVal) => {\r\n return [...acc, (currentVal.trim()).toLowerCase()]\r\n }, [])\r\n let unique = strArray.filter((item, i, ar) => {\r\n return ar.indexOf(item) === i\r\n });\r\n if(strArray.length !== unique.length) {\r\n errorMessage = 'Email has already been added.'\r\n }\r\n }\r\n }\r\n }\r\n return {\r\n fieldError: {\r\n [errorkey]: errorMessage\r\n },\r\n haveError: response,\r\n errorkey\r\n }\r\n }\r\n \r\n export const validateEmailByPattern = ({ keyName = '', pattern, value, formState }) => {\r\n if (keyName !== '') {\r\n let requirFields = formState.find(formFields => formFields.FormKey === keyName);\r\n pattern = requirFields.Validations.Pattern\r\n }\r\n value = value.trim();\r\n return validateWithPattern({ pattern, value })\r\n }\r\n\r\nexport const validateWorkdayAdminRequest = (states) => {\r\n let schemaData = states.data || [];\r\n let requestType = (states.selectedWorkdayDefault)['label'];\r\n let formFieldError = {};\r\n let validDataFormKey = [];\r\n let fieldList = [];\r\n schemaData.forEach(data => { fieldList.push(data.FormKey)});\r\n let errorMessage = requestType === 'Audit Report' ? \"This is a required field.\" : \"Please fill atleast one field.\";\r\n\r\n fieldList.filter(record => (states[record] !== null && states[record] !== undefined ) ? states[record].length > 0 ? validDataFormKey.push(record): '' : '')\r\n fieldList.forEach(record => {\r\n if(requestType === 'Audit Report'){\r\n if(states[record] === null || states[record] === \"\" || states[record] === undefined){\r\n formFieldError = { ...formFieldError, [`${record}Error`] : errorMessage };\r\n }\r\n } else{\r\n if(validDataFormKey.length > 0){\r\n const { fieldError, errorkey } = validateInput(record, schemaData, states[record]);\r\n formFieldError = { ...formFieldError, [errorkey] : fieldError[errorkey] };\r\n } else{\r\n formFieldError = { ...formFieldError, [`${record}Error`] : errorMessage };\r\n }\r\n }\r\n });\r\n return formFieldError\r\n}","import React, { useState, useEffect, Fragment, useContext } from \"react\";\r\nimport \"./workday-form.scss\"\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { RequestContext } from \"../../../../context-providers/request-provider/request-provider\";\r\nimport { CustomReactSelect, CustomButton, DatePicker, CustomTextArea, Modal, CustomInput, Spinner } from \"../../../form/common-functionality-forms/form-imports\";\r\nimport basicWorkdaySchema from '../../../../assets/data/workday-form.json';\r\nimport { addDays } from \"date-fns\";\r\nimport { validateInput, validateWorkdayAdminRequest } from \"./workday-form-validation\"\r\nimport { API_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport { getData } from \"../../../../api/api-manager\";\r\nimport { getTokenData } from \"../../../../api/sessionConfig\";\r\nimport dateFormat from \"dateformat\";\r\n\r\nfunction Workday(props) {\r\n const context = useContext(RequestContext);\r\n const [selectedWorkday, setSelectedWorkday] = useState(\"\");\r\n const [selectedWorkdayDefault, setSelectedWorkdayDefault] = useState(\"\");\r\n const [selectedReportDefault, setSelectReportDefault] = useState(\"\");\r\n const [formData, setFormData] = useState({});\r\n const [formError, setFormError] = useState({});\r\n const [schemaData, setSchemaData] = useState([]);\r\n const [resetPopup, setResetPopup] = useState(false);\r\n const [showSpinner, setSpinner] = useState(true);\r\n const [fieldData, setFieldData] = useState({})\r\n const [requestTypes, setRequestTypeOptions] = useState({})\r\n const [errorResponse, setWorkdayError] = useState(\"\")\r\n const [isInformation, setIsInfo] = useState(\"\")\r\n const [errorPopup, setErrorPopup] = useState(false);\r\n const [workdayRequestDetails, setWorkdayRequestDetails] = useState({});\r\n const [workdayLabelData, setWorkdayLabelData] = useState({});\r\n const [Eid, setEid] = useState(\"\");\r\n //component will unmount return to set the context\r\n\r\n useEffect(() => {\r\n let isError = Object.keys(formError).find(x => formError[x].length > 0)\r\n if (Object.keys(workdayRequestDetails).length > 0 && !isError) props.handleSubmit();\r\n }, [workdayRequestDetails])// eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n\r\n const setDefaultStates = () => {\r\n let contextData = context && context.existingState;\r\n let workdayRequestFormData = contextData ? contextData.workdayRequestFormData : {}\r\n let workdayRequestSchemaData = contextData ? contextData.schemaData : []\r\n let workdayRequestErrorData = contextData ? contextData.formError : []\r\n let workdayRequestActionData = contextData ? contextData.selectedWorkday : ''\r\n let workdayRequestWorkdayDefaultData = contextData ? contextData.selectedWorkdayDefault : ''\r\n let workdayRequestReportDefaultData = contextData ? contextData.selectedReportDefault : ''\r\n setFormData((info) => {\r\n return { ...info, ...workdayRequestFormData }\r\n });\r\n setFormError((errors) => {\r\n return { ...errors, ...workdayRequestErrorData }\r\n })\r\n setSchemaData(workdayRequestSchemaData);\r\n setSelectedWorkday(workdayRequestActionData)\r\n setSelectedWorkdayDefault(workdayRequestWorkdayDefaultData)\r\n setSelectReportDefault(workdayRequestReportDefaultData)\r\n }\r\n\r\n //component did mount get the context\r\n useEffect(() => {\r\n setDefaultStates();\r\n getWorkdayFormData();\r\n }, [])// eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n\r\n const getWorkdayFormData = async () => {\r\n const response = await getData({\r\n apiBaseUrl: API_BASE_URL,\r\n serviceName: `PopulateWorkDayRequestForm?selectedServices=${props.selectedService.id}`,\r\n });\r\n\r\n const { data, success, error, isInfo } = await response;\r\n\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || ''\r\n setEid(eid);\r\n if (success) {\r\n let requestTypeOptions = data.Dropdowns['Selection Action'];\r\n let fieldDetails = {};\r\n fieldDetails[\"Assign Dropdown Values\"] = data.Dropdowns[\"Assign Dropdown Values\"];\r\n fieldDetails[\"Assign Role\"] = data.Dropdowns[\"Assign Role\"];\r\n fieldDetails[\"Audit Report\"] = data.Dropdowns[\"Audit Report\"];\r\n fieldDetails[\"Select Report\"] = data.Dropdowns[\"Select Report\"];\r\n fieldDetails['Selection Action'] = data.Dropdowns['Selection Action'];\r\n setWorkdayLabelData(fieldDetails);\r\n requestTypeOptions = requestTypeOptions.map(el => {\r\n return { label: el.Name, value: el.ID }\r\n })\r\n fieldDetails[\"Select Report\"] = fieldDetails[\"Select Report\"].map(el => {\r\n return { label: el.Name, value: el.ID }\r\n })\r\n setFieldData(fieldDetails);\r\n setRequestTypeOptions(requestTypeOptions)\r\n setSpinner(false);\r\n setErrorPopup(true);\r\n\r\n } else {\r\n setWorkdayError(error);\r\n setIsInfo(isInfo);\r\n setSpinner(false);\r\n setErrorPopup(true);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (formData.StartDate && formData.EndDate && formData.EndDate.getTime() < formData.StartDate.getTime()) {\r\n setFormData({ ...formData, 'EndDate': '' });\r\n setFormError({ ...formError, 'EndDateError': 'End date should be greater than Start date' });\r\n } else if (formData.StartDate && formData.EndDate && formData.EndDate.getTime() > formData.StartDate.getTime()) {\r\n setFormError({ ...formError, 'EndDateError': '' });\r\n }\r\n }, [formData])// eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const handleFormSubmit = (event) => {\r\n event.preventDefault();\r\n let stateWithError = validateWorkdayAdminRequest({\r\n data: schemaData,\r\n ...formData,\r\n selectedWorkdayDefault,\r\n });\r\n setFormError({ ...stateWithError })\r\n formSubmissionData(selectedWorkday)\r\n }\r\n\r\n const formSubmissionData = async (data) => {\r\n let selectedServices = [props.selectedService];\r\n let Comments = \"\";\r\n let formInfo = {};\r\n let submitData = {};\r\n let apiDataArr = workdayLabelData[data];\r\n let isInternalRequest = true;\r\n let technologyOptions = props.technologyOptions;\r\n let CatID = props.catId\r\n let selectionObj = workdayLabelData['Selection Action'].find(record => record.Name === data)\r\n formInfo = apiDataArr.reduce((acc, el) => {\r\n let value = formData[el.FormKey];\r\n if (el.FormKey.toLowerCase().includes('date')) value = dateFormat(value, \"isoDate\");\r\n return { ...acc, [el.FormKey]: value }\r\n }, {})\r\n\r\n submitData = {\r\n \"WorkdayRequestDetails\": {\r\n \"SelectionTypeID\": selectionObj.ID,\r\n \"Description\": formData.Description === undefined ? \"\" : formData.Description,\r\n \"AdditionalDetails\": [formInfo]\r\n }\r\n }\r\n // Submit api Json submitInfo\r\n let submitInfo = { ...submitData, Eid, selectedServices, technologyOptions, Comments, isInternalRequest, CatID }\r\n await context.addSelectedData({ workdayRequestFormData: submitInfo });\r\n setWorkdayRequestDetails((requestDetails) => {\r\n return { ...submitInfo, ...requestDetails }\r\n });\r\n\r\n }\r\n const handleStartDateInput = async (date) => {\r\n await setFormData({ ...formData, StartDate: date });\r\n setFormError((errorInfo) => {\r\n return { ...errorInfo, 'StartDateError': '' }\r\n })\r\n }\r\n\r\n const handleEndDateInput = async (date) => {\r\n await setFormData({ ...formData, EndDate: date });\r\n }\r\n\r\n const handleRequestTypeChange = (data) => {\r\n let label = data['label'];\r\n setFormData({});\r\n setFormError({});\r\n setSelectedWorkdayDefault(\"\");\r\n setSelectReportDefault(\"\");\r\n setSelectedWorkday(label);\r\n setSchemaData(basicWorkdaySchema[label]);\r\n setSelectedWorkdayDefault(data);\r\n }\r\n\r\n const handleClearForm = (event) => {\r\n event.preventDefault();\r\n setResetPopup(true)\r\n }\r\n\r\n const handleReportTypeChange = (data) => {\r\n setFormData({ ...formData, 'SelectReport': data.label })\r\n setSelectReportDefault(data);\r\n setFormError({ ...formError, 'SelectReportError': '' });\r\n }\r\n\r\n const handleInput = async (event) => {\r\n event.preventDefault()\r\n const { name, value } = event.target;\r\n await setFormData({ ...formData, [name]: value });\r\n inputValidate(name, value)\r\n }\r\n\r\n\r\n const inputValidate = async (name, value) => {\r\n let { fieldError, haveError, errorkey } = validateInput(name, schemaData, value);\r\n let filterKeys = [\"Please fill atleast one field.\", \"Please enter an email ID.\"]\r\n if (name === \"Description\") {\r\n await setFormError({ ...formError, [errorkey]: fieldError[errorkey] });\r\n } else {\r\n let filteredError = {};\r\n // filter error keys when user fills data for any one of the field\r\n const filterErrorKeys = Object.keys(formError).filter((key) => { return !filterKeys.includes(formError[key]) });\r\n filterErrorKeys.forEach((key) => { filteredError[key] = formError[key] });\r\n await setFormError({ ...filteredError, [errorkey]: fieldError[errorkey] });\r\n }\r\n return !haveError\r\n }\r\n\r\n const handleDateChangeRaw = (e) => {\r\n e.preventDefault();\r\n };\r\n\r\n const resetFields = () => {\r\n setFormData(() => { return { Description: '' } })\r\n setFormError({});\r\n setSelectedWorkdayDefault(\"\");\r\n setSelectReportDefault(\"\");\r\n setSelectedWorkday(\"\");\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n { handleRequestTypeChange(selectedData) }}\r\n className=\"custom-select-look\"\r\n />\r\n {\r\n selectedWorkday === 'Assign Role' && fieldData[selectedWorkday].length > 0 && fieldData[selectedWorkday].map(form => {\r\n let keyString = `${form.FormKey}Error`\r\n if (form.FormKey === \"WDIntegrationLeads\" || form.FormKey === \"WDSales\" || form.FormKey === \"WDIntegrationConsultants\" || form.FormKey === \"WDIntegrationAdmins\") {\r\n return (\r\n \r\n
    \r\n

    \r\n \r\n {!!formError[keyString] ?

    {formError[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return null;\r\n })\r\n }\r\n {\r\n selectedWorkday === 'Audit Report' && fieldData[selectedWorkday].length > 0 && fieldData[selectedWorkday].map(form => {\r\n let keyString = `${form.FormKey}Error`\r\n if (form.FormKey === \"SelectReport\") {\r\n return (\r\n \r\n\r\n
    \r\n \r\n { handleReportTypeChange(selectedData) }}\r\n className={!!formError[keyString] ? \"custom-select-look invalid-select\" : 'custom-select-look'}\r\n />\r\n {!!formError[keyString] ?

    {formError[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"StartDate\") {\r\n return (\r\n \r\n
    \r\n \r\n

    \r\n \r\n {!!formError[keyString] ?

    {formError[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"EndDate\") {\r\n return (\r\n \r\n
    \r\n \r\n

    \r\n \r\n {!!formError[keyString] ?

    {formError[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n return null;\r\n })\r\n }\r\n {\r\n selectedWorkday === 'Assign Dropdown Values' && fieldData[selectedWorkday].length > 0 && fieldData[selectedWorkday].map(form => {\r\n let keyString = `${form.FormKey}Error`\r\n let placeholder = `Enter ${form.Name.toLowerCase()} details`\r\n if (form.FormKey === \"FunctionalDomain\" || form.FormKey === \"IntegrationType\" || form.FormKey === \"Direction\" || form.FormKey === \"Records\" || form.FormKey === \"EfficiencyDiscount\" || form.FormKey === \"ABCRecordUsed\") {\r\n return (\r\n \r\n \r\n {!!formError[keyString] ?

    {formError[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n return null;\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 {resetPopup && (\r\n
    \r\n {\r\n setResetPopup(false)\r\n }}\r\n handleClose={() => {\r\n setResetPopup(false)\r\n resetFields();\r\n }}\r\n >\r\n

    \r\n Are you sure you want to reset this page?\r\n

    \r\n \r\n
    \r\n )}\r\n {errorResponse && { setErrorPopup(false) }} buttonPosition=\"center-button\">

    {errorResponse}

    }\r\n {showSpinner && }\r\n
    \r\n );\r\n}\r\nexport default Workday;","import { validateWithPattern } from \"../../../../components/validators/validate\";\r\n\r\nexport const validateEmailByPattern = ({ keyName = '', pattern, value, formState }) => {\r\n if (keyName !== '') {\r\n let requirFields = formState.find(formFields => formFields.FormKey === keyName);\r\n pattern = requirFields.Validations.Pattern\r\n }\r\n value = value.trim();\r\n return validateWithPattern({ pattern, value })\r\n }\r\n\r\nexport const validateRequest = async (states) => {\r\n let schemaData = states.data || [];\r\n let formFieldError = {};\r\n let fieldList = [];\r\n schemaData.forEach(data => ( data.Validations.IsRequired ? fieldList.push(data.FormKey) : ''));\r\n fieldList.forEach(record => {\r\n if(states[record] === null || states[record] === \"\" || states[record] === undefined || states[record].length === 0){\r\n formFieldError = { ...formFieldError, [`${record}Error`] : \"This is a required field.\" };\r\n }\r\n else{\r\n formFieldError = { ...formFieldError, [`${record}Error`] : '' };\r\n }\r\n });\r\n return formFieldError;\r\n}\r\n\r\nexport const validateDropdowns = async (name , data) => {\r\n let formFieldError = {};\r\n if(name === \"EndDate\" && data === null){\r\n formFieldError = { ...formFieldError, [`${name}Error`] : \"This is a required field.\" };\r\n }\r\n else if(Object.keys(data).length <= 0 && name !== \"EndDate\"){\r\n formFieldError = { ...formFieldError, [`${name}Error`] : \"This is a required field.\" };\r\n } \r\n else{\r\n formFieldError = { ...formFieldError, [`${name}Error`] : '' };\r\n }\r\n return formFieldError;\r\n}\r\n\r\n","import React, { useState, useEffect, Fragment, useContext } from \"react\";\r\nimport \"./sales-advisory.scss\"\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { RequestContext } from \"../../../../context-providers/request-provider/request-provider\";\r\nimport { CustomReactSelect, CustomMultiselect, CustomButton, DatePicker, CustomTextArea, Modal, CustomInput, Spinner } from \"../../../form/common-functionality-forms/form-imports\";\r\nimport salesAdvisorySchema from '../../../../assets/data/sales-advisory-schema.json';\r\nimport FileAttachment from \"../../../form/basic-form/file-attachment\";\r\nimport { addDays } from \"date-fns\";\r\nimport { validateRequest, validateDropdowns } from \"./sales-advisory-validation\"\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport { getData } from \"../../../../api/api-manager\";\r\nimport { getTokenData } from \"../../../../api/sessionConfig\";\r\nimport { validateWithPattern, duplicateEmail } from '../../../../components/validators/validate';\r\nimport * as Constant from \"../../../../components/constants/constant\";\r\nimport dateFormat from \"dateformat\";\r\n\r\nfunction SalesAdvisory(props) {\r\n const context = useContext(RequestContext);\r\n //const [selectedSalesAdvisory, setSelectedSalesAdvisory] = useState(\"\");\r\n //const [selectedSalesAdvisoryDefault, setSelectedSalesAdvisoryDefault] = useState(\"\");\r\n //const [selectedReportDefault, setSelectReportDefault] = useState(\"\");\r\n const [formData, setFormData] = useState({});\r\n const [formError, setFormError] = useState({});\r\n // const [schemaData, setSchemaData] = useState([]);\r\n const [resetPopup, setResetPopup] = useState(false);\r\n const [showSpinner, setSpinner] = useState(true);\r\n // const [fieldData, setFieldData] = useState({})\r\n const [openAttachment, setOpenAttachment] = useState(false)\r\n const [selectedFiles, setSelectedFiles] = useState([])\r\n const [techTypes, setTechTypeOptions] = useState({})\r\n const [industryTypes, setIndustryTypeOptions] = useState({})\r\n const [funcAreaTypes, setFunctionTypeOptions] = useState({})\r\n const [serviceTypes, setServiceTypeOptions] = useState({})\r\n const [marketTypes, setMarketTypeOptions] = useState([])\r\n const [categoryTypes, setCategoryTypeOptions] = useState({})\r\n const [contentTypes, setContentTypeOptions] = useState([])\r\n const [tech, setTech] = useState()\r\n const [industry, setIndustry] = useState()\r\n const [funcArea, setFunction] = useState()\r\n const [service, setService] = useState()\r\n //const [market, setMarket] = useState()\r\n const [category, setCategory] = useState()\r\n //const [content, setContent] = useState()\r\n const [errorResponse, setWorkdayError] = useState(\"\")\r\n const [isInformation, setIsInfo] = useState(\"\")\r\n const [errorPopup, setErrorPopup] = useState(false);\r\n const [salesRequestDetails, setsalesRequestDetails] = useState({});\r\n const [Eid, setEid] = useState(\"\");\r\n\r\n //component will unmount return to set the context\r\n\r\n useEffect(() => {\r\n let isError = Object.values(formError).findIndex(x => x.length > 0)\r\n if (Object.keys(salesRequestDetails).length > 0 && (isError === -1)) {\r\n props.handleSubmit();\r\n }\r\n }, [salesRequestDetails, formError])// eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n\r\n const setDefaultStates = () => {\r\n let contextData = context && context.existingState;\r\n let salesAdvisoryFormData = contextData ? contextData.salesAdvisoryFormData : {}\r\n // let salesRequestSchemaData = contextData ? contextData.schemaData : []\r\n let salesRequestErrorData = contextData ? contextData.formError : {}\r\n //let salesRequestActionData = contextData ? contextData.validateRequest : ''\r\n //let salesRequestDefaultData = contextData ? contextData.selectedSalesAdvisoryDefault : ''\r\n //let salesRequestReportDefaultData = contextData ? contextData.selectedReportDefault : ''\r\n setFormData((info) => {\r\n return { ...info, ...salesAdvisoryFormData }\r\n });\r\n setFormError((errors) => {\r\n return { ...errors, ...salesRequestErrorData }\r\n })\r\n //setSchemaData(salesRequestSchemaData);\r\n //setSelectedSalesAdvisory(salesRequestActionData)\r\n //setSelectedSalesAdvisoryDefault(salesRequestDefaultData)\r\n // setSelectReportDefault(salesRequestReportDefaultData)\r\n }\r\n //component did mount get the context\r\n useEffect(() => {\r\n setDefaultStates();\r\n getSalesFormData();\r\n handleSetAttachmentData();\r\n }, [])// eslint-disable-line react-hooks/exhaustive-deps \r\n\r\n const getSalesFormData = async () => {\r\n const response = await getData({\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName: `PopulateSalesAdvisorForm?selectedServices=${props.selectedService.id}`,\r\n });\r\n // const response = await getData({ serviceName: `PopulateForm?selectedServices=${selectedServiceIds}` });\r\n\r\n const { data, success, error, isInfo } = await response;\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || ''\r\n setEid(eid);\r\n if (success) {\r\n let techTypeOptions = data['TechnologyList'];\r\n let industryTypeOptions = data['IndustryList']\r\n let funcTypeOptions = data['FunctionAreaList']\r\n let serviceTypeOptions = data['ServiceOffering']\r\n let marketTypeOptions = data['MarketList']\r\n let categoryTypeOptions = data['CategoryList']\r\n let contentTypeOptions = data['ContentTypeList']\r\n techTypeOptions = techTypeOptions.map(el => {\r\n return { label: el.Name, value: el.ID }\r\n })\r\n setTechTypeOptions(techTypeOptions)\r\n\r\n industryTypeOptions = industryTypeOptions.map(el => {\r\n return { label: el.Name, value: el.ID }\r\n })\r\n setIndustryTypeOptions(industryTypeOptions)\r\n\r\n funcTypeOptions = funcTypeOptions.map(el => {\r\n return { label: el.Name, value: el.ID }\r\n })\r\n setFunctionTypeOptions(funcTypeOptions)\r\n\r\n serviceTypeOptions = serviceTypeOptions.map(el => {\r\n return { label: el.Name, value: el.ID }\r\n })\r\n setServiceTypeOptions(serviceTypeOptions)\r\n\r\n // marketTypeOptions = marketTypeOptions.map(el => {\r\n // return { label: el.Name, value: el.ID }\r\n // })\r\n\r\n //marketTypeOptions = marketTypeOptions\r\n setMarketTypeOptions(marketTypeOptions)\r\n\r\n categoryTypeOptions = categoryTypeOptions.map(el => {\r\n return { label: el.Name, value: el.ID }\r\n })\r\n setCategoryTypeOptions(categoryTypeOptions)\r\n\r\n\r\n // contentTypeOptions = contentTypeOptions.map(el => {\r\n // return { label: el.Name, value: el.ID }\r\n // })\r\n //contentTypeOptions = contentTypeOptions\r\n setContentTypeOptions(contentTypeOptions)\r\n setSpinner(false);\r\n\r\n } else {\r\n setWorkdayError(error);\r\n setIsInfo(isInfo);\r\n setSpinner(false);\r\n setErrorPopup(true);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (formData.StartDate && formData.EndDate && formData.EndDate.getTime() < formData.StartDate.getTime()) {\r\n setFormData({ ...formData, 'EndDate': '' });\r\n setFormError({ ...formError, 'EndDateError': 'End date should be greater than Start date' });\r\n } else if (formData.StartDate && formData.EndDate && formData.EndDate.getTime() > formData.StartDate.getTime()) {\r\n setFormError({ ...formError, 'EndDateError': '' });\r\n }\r\n }, [formData])// eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const handleFormSubmit = async (event) => {\r\n event.preventDefault();\r\n let stateWithError = await validateRequest({\r\n data: salesAdvisorySchema.formFields,\r\n ...formData,\r\n });\r\n setFormError({ ...stateWithError })\r\n let isError = Object.values(stateWithError).findIndex(x => x.length > 0)\r\n if (isError === -1) formSubmissionData()\r\n }\r\n\r\n const formSubmissionData = async () => {\r\n let selectedServices = [props.selectedService];\r\n let Comments = \"\";\r\n let submitData = {};\r\n let isInternalRequest = true;\r\n let technologyOptions = props.technologyOptions;\r\n let CatID = props.catId\r\n let File = selectedFiles\r\n let marketResult = (formData.market.map(a => a.ID)).toString();\r\n let contentResult = (formData.content.map(a => a.ID)).toString();\r\n let Category = formData.category['value'];\r\n let date = dateFormat(formData.EndDate ,\"isoDate\")\r\n submitData = {\r\n \"SalesAdvisorContentUpload\": {\r\n \"RequestTitle\": formData.title,\r\n \"TechnologyID\": formData.technology['value'],\r\n \"IndustryID\": formData.industry['value'],\r\n \"FunctionalAreaID\": formData.function['value'],\r\n \"ServiceOfferingID\": formData.service['value'],\r\n \"MarketID\": marketResult,\r\n \"ContentType\": contentResult,\r\n \"ExpectedDate\": date,\r\n \"DocumentLink\": formData.Link,\r\n \"LeadSME\": formData.Lead ? formData.Lead : \"\",\r\n \"Description\": formData.Description,\r\n }\r\n }\r\n // Submit api Json submitInfo\r\n let submitInfo = { ...submitData, Eid, selectedServices, File, technologyOptions, Comments, isInternalRequest, CatID , Category}\r\n await context.addSelectedData({ salesAdvisoryFormData: submitInfo });\r\n setsalesRequestDetails((requestDetails) => {\r\n return { ...submitInfo, ...requestDetails }\r\n });\r\n\r\n }\r\n const handleMultiSelectChange = async (value, name) => {\r\n setFormData({ ...formData, [name]: value });\r\n let stateWithError = await validateDropdowns(name, value);\r\n setFormError({ ...stateWithError })\r\n }\r\n\r\n const handleDropInput = async ({ fieldName, data }) => {\r\n switch (fieldName) {\r\n case 'technology':\r\n setTech(data);\r\n break;\r\n case 'industry':\r\n setIndustry(data);\r\n break;\r\n case 'function':\r\n setFunction(data);\r\n break;\r\n case 'service':\r\n setService(data);\r\n break;\r\n case 'category':\r\n setCategory(data);\r\n break;\r\n default: break;\r\n }\r\n await setFormData({ ...formData, [fieldName]: data });\r\n // validateInput(fieldName, data['label']);\r\n let stateWithError = await validateDropdowns(fieldName, data.label);\r\n // setFormError({ ...stateWithError })\r\n await setFormError((formErr) => {\r\n return { ...formErr, ...stateWithError }\r\n\r\n })\r\n \r\n }\r\n\r\n const handleInput = async (event) => {\r\n event.preventDefault()\r\n const { name, value } = event.target;\r\n await setFormData({ ...formData, [name]: value });\r\n validateInput(name, value)\r\n }\r\n\r\n const validateInput = async (name, value) => {\r\n let schema = salesAdvisorySchema.formFields\r\n let isValid, haveDuplicate, pattern, fieldObj, errorMessage = '', errorKey = `${name}Error`;\r\n fieldObj = schema.find(el => el.FormKey.toLowerCase() === name.toLowerCase());\r\n let isRequired = fieldObj.Validations.IsRequired\r\n if (value === '' || value === undefined){\r\n if(isRequired) {\r\n errorMessage = 'It is a required Field.';\r\n } \r\n else{\r\n errorMessage = 'It is a required Field';\r\n }\r\n }\r\n else {\r\n pattern = fieldObj.Validations.Pattern;\r\n isValid = validateWithPattern({ pattern, value });\r\n haveDuplicate = duplicateEmail(value);\r\n if (!isValid) {\r\n errorMessage = fieldObj.ValidationMessages.PatternMessage;\r\n }\r\n if (haveDuplicate) {\r\n errorMessage = fieldObj.ValidationMessages.duplicateMessage;\r\n }\r\n if ((name === 'Link') && value.length < 20) {\r\n errorMessage = fieldObj.ValidationMessages.MinDescription;\r\n }\r\n if ((name === 'Link') && value.length > 25000) {\r\n errorMessage = fieldObj.ValidationMessages.MaxDescription;\r\n }\r\n if ((name === 'Description') && value.length < 20) {\r\n errorMessage = fieldObj.ValidationMessages.MinDescription;\r\n }\r\n if ((name === 'Description') && value.length > 25000) {\r\n errorMessage = fieldObj.ValidationMessages.MaxDescription;\r\n }\r\n }\r\n await setFormError((formErr) => {\r\n return { ...formErr, [errorKey]: errorMessage }\r\n })\r\n\r\n }\r\n\r\n const handleDateChangeRaw = async (e) => {\r\n e.preventDefault();\r\n };\r\n const handleExpectedDate = async (date) => {\r\n await setFormData({ ...formData, EndDate: date });\r\n let name = \"EndDate\"\r\n let stateWithError = await validateDropdowns(name, date);\r\n setFormError({ ...stateWithError })\r\n }\r\n\r\n const handleAttachPopUp = () => {\r\n setOpenAttachment(!openAttachment)\r\n }\r\n\r\n const handleSetAttachmentData = (data) => {\r\n let filedata = data;\r\n setSelectedFiles(filedata)\r\n }\r\n\r\n const handleClearForm = (event) => {\r\n event.preventDefault();\r\n setResetPopup(true)\r\n }\r\n\r\n const resetFields = () => {\r\n setFormData(() => { return { Description: '', title: '', Link: \"\", Lead: \"\", EndDate: \"\" } })\r\n setTech()\r\n setIndustry()\r\n setFunction()\r\n setService()\r\n //setMarket()\r\n setCategory()\r\n //setContent()\r\n setFormError({});\r\n //setSelectedSalesAdvisoryDefault(\"\");\r\n //setSelectReportDefault(\"\");\r\n //setSelectedSalesAdvisory(\"\");\r\n setSelectedFiles([])\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {formError && formError.titleError ? {formError.titleError} : ''}\r\n \r\n \r\n \r\n { handleDropInput({ fieldName: \"technology\", data: selectedData }) }}\r\n className=\"custom-select-look\"\r\n />\r\n {formError.technologyError ? {formError.technologyError} : ''}\r\n \r\n \r\n \r\n { handleDropInput({ fieldName: \"industry\", data: selectedData }) }}\r\n className=\"custom-select-look\"\r\n /> {formError.industryError ? {formError.industryError} : ''}\r\n \r\n \r\n \r\n { handleDropInput({ fieldName: \"function\", data: selectedData }) }}\r\n className=\"custom-select-look\"\r\n />\r\n {formError.functionError ? {formError.functionError} : ''}\r\n \r\n \r\n \r\n { handleDropInput({ fieldName: \"service\", data: selectedData }) }}\r\n className=\"custom-select-look\"\r\n /> {formError.serviceError ? {formError.serviceError} : ''}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n {formError.marketError ? {formError.marketError} : ''}\r\n
    \r\n \r\n \r\n { handleDropInput({ fieldName: \"category\", data: selectedData }) }}\r\n className=\"custom-select-look\"\r\n />\r\n {formError.categoryError ? {formError.categoryError} : ''}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n {/* { handleDropInput({ fieldName: \"content\", data: selectedData }) }}\r\n className=\"custom-select-look\"\r\n /> */}\r\n
    \r\n \r\n
    \r\n {formError.contentError ? {formError.contentError} : ''}\r\n
    \r\n
    \r\n \r\n (Date by which the service is required)\r\n

    \r\n \r\n \r\n {formError.EndDateError ? {formError.EndDateError} : ''}\r\n \r\n
    \r\n \r\n \r\n \r\n {formError && formError.LinkError ? {formError.LinkError} : ''}\r\n \r\n \r\n \r\n {formError.LeadError ? {formError.LeadError} : ''}\r\n \r\n \r\n \r\n \r\n {formError.DescriptionError ? {formError.DescriptionError} : ''}\r\n \r\n {
    \r\n
      \r\n \"\"\r\n

      Attachments

      ({selectedFiles ? selectedFiles.length : '0'})

      (Optional)

    \r\n {\r\n openAttachment &&\r\n }\r\n
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Submit\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {resetPopup && (\r\n
    \r\n {\r\n setResetPopup(false)\r\n }}\r\n handleClose={() => {\r\n setResetPopup(false)\r\n resetFields();\r\n }}\r\n >\r\n

    \r\n Are you sure you want to reset this page?\r\n

    \r\n \r\n
    \r\n )}\r\n {errorResponse && { setErrorPopup(false) }} buttonPosition=\"center-button\">

    {errorResponse}

    }\r\n {showSpinner && }\r\n
    \r\n );\r\n}\r\n\r\nexport default SalesAdvisory;","import { validateWithPattern, isInList, invalidEmailList } from \"../../../../components/validators/validate\";\r\nimport internalFormSchema from \"../../../../assets/data/myc.json\";\r\n\r\nexport const validateInternalRequestForm = (formState) => {\r\n\r\n let isError = false;\r\n let tempObj = {}\r\n // let tempValue = formState.RequestTitle && formState.RequestTitle.trim();\r\n // const isRequestTitleValid = validateFieldsByPattern({ keyName: 'RequestTitle', value: tempValue, formState })\r\n // if (!isRequestTitleValid) {\r\n // let inValideMessage = ''\r\n // if (formState.RequestTitle === '') inValideMessage = 'This is a required field.'\r\n // else inValideMessage = \"Request Title is invalid.\"\r\n // tempObj = {\r\n // ...tempObj,\r\n // RequestTitleError: inValideMessage\r\n // }\r\n // isError = true\r\n // }\r\n\r\n if ((!!formState.RequestedBy && !formState.isSelfRequestor) && (!formState.OnBehalfRequesterEnterpriseID || formState.OnBehalfRequesterEnterpriseID === '')) {\r\n let inValideMessage = ''\r\n inValideMessage = \"This is required field.\"\r\n tempObj = {\r\n ...tempObj,\r\n OnBehalfRequesterEnterpriseIDError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n // const isDescription = validateFieldsByPattern({ keyName: 'Description', value: formState.Description, formState })\r\n // if (formState.Description.length < 20 || formState.Description.length > 2000) {\r\n // let inValideMessage = ''\r\n // inValideMessage = \"Value Statement is invalid.\"\r\n // tempObj = {\r\n // ...tempObj,\r\n // DescriptionError: inValideMessage\r\n // }\r\n // isError = true\r\n // }\r\n // if (!isDescription) {\r\n // let inValideMessage = ''\r\n // if (formState.Description === '') inValideMessage = 'This is a required field.'\r\n // else inValideMessage = \"Value Statement is invalid.\"\r\n // tempObj = {\r\n // ...tempObj,\r\n // DescriptionError: inValideMessage\r\n // }\r\n // isError = true\r\n // }\r\n \r\n if (formState.Category === '') {\r\n let inValideMessage = 'This is a required field.'\r\n tempObj = {\r\n ...tempObj,\r\n CategoryError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n\r\n if(formState.Technology === ''){\r\n let inValideMessage = 'This is a required field.'\r\n tempObj = {\r\n ...tempObj,\r\n TechnologyError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n if (formState.RequestType === '') {\r\n let inValideMessage = 'This is a required field.'\r\n tempObj = {\r\n ...tempObj,\r\n RequestTypeError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n // const isLeadSME = validateEmailByPattern({ keyName: 'LeadSME', value: formState.LeadSME, formState: formState })\r\n // if (!isLeadSME && formState.LeadSME !== '') {\r\n // let inValideMessage = ''\r\n // inValideMessage = \"Email id is invalid.\"\r\n // tempObj = {\r\n // ...tempObj,\r\n // LeadSMEError: inValideMessage\r\n // }\r\n // isError = true\r\n // } else if (formState.LeadSME === '' && formState.LeadSMEArray.length < 1) {\r\n // let inValideMessage = ''\r\n // inValideMessage = \"This is a required field.\"\r\n // tempObj = {\r\n // ...tempObj,\r\n // LeadSMEError: inValideMessage\r\n // }\r\n // isError = true\r\n // }\r\n // if (formState.AdditionalSME !== '') {\r\n // let inValideMessage = ''\r\n // const { isValid } = validateAdditionalSMEArray(\"AdditionalSME\", formState)\r\n // if (!isValid) {\r\n // inValideMessage = \"Email id is invalid.\"\r\n // } else {\r\n // inValideMessage = isInList(formState, 'AdditionalSME', formState.AdditionalSME) ? \"Email has already been added.\" : ''\r\n // }\r\n // if (isError) {\r\n // tempObj = {\r\n // ...tempObj,\r\n // AdditionalSMEError: inValideMessage\r\n // }\r\n // }\r\n // isError = true\r\n // }\r\n\r\n \r\n\r\n if (formState.Description.length > 25000) {\r\n let inValideMessage = ''\r\n inValideMessage = \"Comments should not be more than 25000 characters long.\"\r\n tempObj = {\r\n ...tempObj,\r\n DescriptionError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n return {\r\n fieldError: tempObj,\r\n haveError: isError\r\n }\r\n }\r\n\r\n export function validateProjectPoint(value) {\r\n const pattern = /^[a-zA-Z0-9_.+-]+@(?:(?:[a-zA-Z0-9-]+\\.)?[a-zA-Z]+\\.)?(avanade|accenture)\\.com$/;\r\n \r\n if (value && !pattern.test(value)) {\r\n \r\n return \"Enter a valid email, only Accenture and Avanade domain is valid.\";\r\n \r\n }\r\n return \"\";\r\n \r\n}\r\nexport function validateOnBehalfId(value) {\r\n\r\n if (!value || typeof value !== 'string') {\r\n \r\n return '';\r\n \r\n }\r\n \r\n const pattern = /^[a-zA-Z0-9_.+-]+$/;\r\n \r\n const idParts = value.split('.');\r\n \r\n if (!pattern.test(value) || idParts.length < 2 || value.startsWith('.') || value.endsWith('.') || idParts.some(part => part.length === 0)) {\r\n \r\n return \"Invalid Enterprise ID\";\r\n \r\n }\r\n \r\n return \"\";\r\n \r\n }\r\nexport const validateAdditionalSMEArray = (name, formData) => {\r\n let requirFields = formData.data && formData.data.filter(function (formFields) {\r\n return formFields.FormKey === name;\r\n });\r\n\r\n let emailArraytype = `${name}Array`;\r\n let errorkey = `${requirFields[0].FormKey}Error`, errorMessage = '', response = true\r\n let invalidEmailArray = invalidEmailList(formData[emailArraytype])\r\n if (invalidEmailArray.length > 0) {\r\n errorMessage = requirFields[0].ValidationMessages.PatternMessage;\r\n } else {\r\n response = false;\r\n }\r\n\r\n return {\r\n fieldError: {\r\n [errorkey]: errorMessage\r\n },\r\n isValid: response\r\n }\r\n}\r\n\r\nexport const validateInput = (name, formData) => {\r\n let requirFields = formData.data && formData.data.filter(function (formFields) {\r\n return formFields.FormKey === name;\r\n });\r\n if (requirFields && requirFields.length > 0) {\r\n let errorkey = `${requirFields[0].FormKey}Error`, errorMessage = '', response = true\r\n if (formData[name] === '') {\r\n errorMessage = requirFields[0].ValidationMessages.RequiredMessage\r\n response = false\r\n } else {\r\n let selectedService = name;\r\n let Services = ['RequestTitle', 'Description', 'SuccessMeasures', 'SponsorAndFunding', 'explanation', 'EstimatedEffort'];\r\n let result = Services.includes(selectedService);\r\n if (result) {\r\n const isValid = validateFieldsByPattern({ pattern: requirFields[0].Validations.Pattern, value: formData[name], formState: formData })\r\n if (!isValid) {\r\n errorMessage = requirFields[0].ValidationMessages.PatternMessage\r\n }\r\n }\r\n if (name === 'Description') {\r\n if (formData[name].length < 20) {\r\n errorMessage = requirFields[0].ValidationMessages.MinDescription\r\n } else if (formData[name].length > 2000) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n if (name === 'SuccessMeasures') {\r\n if (formData[name].length < 20 && formData[name].length > 0) {\r\n errorMessage = requirFields[0].ValidationMessages.MinDescription\r\n } else if (formData[name].length > 2000) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n if ((name === 'LeadSME' || name === \"AdditionalSME\")) {\r\n const isValid = validateEmailByPattern({ keyName: name, value: formData[name], formState: formData })\r\n if (!isValid) {\r\n errorMessage = requirFields[0].ValidationMessages.PatternMessage\r\n } else {\r\n errorMessage = isInList(formData, name, formData[name]) ? requirFields[0].ValidationMessages.duplicateMessage : ''\r\n }\r\n }\r\n // if ((name === 'Comments')) {\r\n // if (formData.Comments.length > 25000) {\r\n // errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n // }\r\n // }\r\n }\r\n return {\r\n fieldError: {\r\n [errorkey]: errorMessage\r\n },\r\n haveError: response\r\n }\r\n }\r\n return true\r\n}\r\nexport const validateFieldsByPattern = ({ keyName = '', pattern, value, formState }) => {\r\n if (keyName !== '') {\r\n let requirFields = []\r\n requirFields = formState.data && formState.data.filter(function (formFields) {\r\n return formFields.FormKey === keyName;\r\n });\r\n pattern = requirFields && requirFields.length > 0 && requirFields[0].Validations.Pattern\r\n }\r\n return validateWithPattern({ pattern, value })\r\n}\r\nexport const validateEmailByPattern = ({ keyName = '', pattern, value, formState }) => {\r\n if (keyName !== '') {\r\n let requirFields = formState.data.find(formFields => formFields.FormKey === keyName);\r\n pattern = requirFields.Validations.Pattern\r\n }\r\n value = value.trim();\r\n return validateWithPattern({ pattern, value })\r\n}\r\n\r\n\r\nexport const checkErrorsByField = (existingIssueDetails) => {\r\n const schemaFields = internalFormSchema.FormFields\r\n const haveError = schemaFields.find((field) => {\r\n let label = `${field}Error`\r\n return !!existingIssueDetails[label]\r\n })\r\n\r\n if (!!haveError) return true\r\n return false\r\n}\r\n\r\nexport const getAddidtionalDetailName = (advanceForms) =>{\r\n switch (advanceForms){\r\n case \"AcceleratorRequest\": return \"acceleratorRequestFormData\";\r\n case \"DIARequest\": return \"diaRequestFormData\";\r\n case \"ScopeChangeRequest\": return \"scopeChangeRequestFormData\";\r\n case \"StaffingChangeRequest\": return \"staffingChangeRequestAdditionFormData\";\r\n case \"ReportingRequest\": return \"reportRequestFormData\"\r\n default: return \"\"\r\n }\r\n}","import React, { Component, Fragment } from \"react\";\r\nimport \"./Myc.scss\";\r\nimport { RequestContext } from \"../../../../context-providers/request-provider/request-provider\";\r\nimport InternalFormSchema from \"../../../../assets/data/myc.json\";\r\nimport CustomSelect from \"../../../../components/custom-select/custom-select\";\r\nimport CustomInput from \"../../../../components/custom-input/custom-input\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport { addDays } from \"date-fns\";\r\nimport dateFormat from \"dateformat\";\r\nimport * as Constant from \"../../../../components/constants/constant\";\r\nimport CustomButton from \"../../../../components/button/secondary-button\";\r\nimport { validateInput, validateInternalRequestForm, checkErrorsByField,validateOnBehalfId ,validateAdditionalSMEArray, getAddidtionalDetailName, validateProjectPoint } from \"./Myc-validation\";\r\nimport { setErrorMessages, resetStates } from \"../../../../components/validators/validate\";\r\nimport Modal from \"../../../../components/modals/modal\";\r\nimport { setInitialStates, setContextData, getId, getName } from \"../../../form/common-functionality-forms/form-common-functionality\";\r\n// import { isValExistInArray } from \"../../../common/object-manipulations\";\r\n// import OutsideClickAlerter from \"../../../../components/outside-click-alerter/outside-click-alerter\";\r\n// import Popup from \"../../../../components/popup/popup\";\r\nimport { getData } from \"../../../../api/api-manager\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport Spinner from \"../../../../components/spinner/spinner\";\r\n//import EmailChip from \"../../../../components/email-chip/email-chip\";\r\nimport FileAttachment from \"../../../form/basic-form/file-attachment\";\r\nimport { getTokenData } from \"../../../../api/sessionConfig\";\r\nimport RichTextEditor from 'react-rte';\r\nimport { toolbarConfig } from \"../../../../components/email-chip/react-rte-toolbar\";\r\n//import ToolTip from '../../../../components/tool-tip/tool-tip';\r\n//import { th } from \"date-fns/locale\";\r\n//import Item from \"antd/lib/list/Item\";\r\n\r\nclass InternalRequestBasicForm extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n showEnterpriseIdField: false,\r\n selectedExpectedDate: false,\r\n searchedUserList: [],\r\n ToolTipsList: [],\r\n LeadSMEArray: [], RequestorArray: [], AdditionalSMEArray: [], showEnterpriseIdPopup: false,\r\n savedValueRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedObjectiveRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedCommentRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedSuccessMeasureRichTexTBody: RichTextEditor.createEmptyValue(),\r\n richTextModalBody: RichTextEditor.createEmptyValue()\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.setDefaultStates();\r\n this.getInternalRequestFormData();\r\n }\r\n\r\n componentWillUnmount() {\r\n this.setFormDataOnUnmount()\r\n }\r\n\r\n setFormDataOnUnmount() {\r\n const existingContextData = this.context && this.context.existingState ? this.context.existingState : {}\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || ''\r\n let selectedServices = Object.values(existingContextData.selectedServices).filter(\r\n function (service) {\r\n if (service.haveChild === \"true\") {\r\n return service.selectedChildId.length > 0 ? true : false;\r\n }\r\n return true;\r\n }\r\n );\r\n let contextData = setContextData(this.state.data, this.state)\r\n let RequestedBy = getId(this.state.RequestedBy, this.state.RequestorTypeList);\r\n let additionalStateData = {\r\n technologyOptions: existingContextData.technologyId ? existingContextData.technologyId : '',\r\n selectedServices: selectedServices,\r\n Eid: eid,\r\n CatID: this.props.catId,\r\n File: this.state.selectedFiles,\r\n RequestedBy: RequestedBy,\r\n RequestorTypeList: this.state.RequestorTypeList,\r\n isSelfRequestor: this.state.isSelfRequestor,\r\n LeadSME: this.state.LeadSMEArray.toString() || this.state.LeadSME,\r\n AdditionalSME: this.state.AdditionalSMEArray.toString() || this.state.AdditionalSME,\r\n Requestor: this.state.RequestorArray.toString()\r\n }\r\n contextData = { ...contextData, ...additionalStateData }\r\n const isError = this.validate()\r\n this.context.addSelectedData({\r\n internalRequestFormData: {\r\n ...this.context.existingState.internalRequestFormData,\r\n savedValueRichTextBody: this.state.savedValueRichTextBody.toString(\"html\"),\r\n savedObjectiveRichTextBody: this.state.savedObjectiveRichTextBody.toString(\"html\"),\r\n // savedCommentRichTextBody: this.state.savedCommentRichTextBody.toString(\"html\"),\r\n savedSuccessMeasureRichTexTBody: this.state.savedSuccessMeasureRichTexTBody.toString(\"html\"),\r\n selectedExpectedDate: this.state.selectedExpectedDate,\r\n ...contextData\r\n },\r\n isValidInternalRequestFormData: !isError\r\n })\r\n }\r\n\r\n async setDefaultStates() {\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || ''\r\n let contextData = this.context && this.context.existingState\r\n let internalRequestFormData = contextData ? contextData.internalRequestFormData : {}\r\n await this.setState({\r\n resetPopup: false, submitPopup: false, showSpinner: true, openAttachment: false,\r\n data: InternalFormSchema ? InternalFormSchema.Config : [],\r\n RequestorTypeList: internalRequestFormData && internalRequestFormData.RequestorTypeList ? internalRequestFormData.RequestorTypeList : [],\r\n GroupUsersList: [],\r\n ApplicationList:[],\r\n TechnologyList:[],\r\n RequestCategoryList: [],\r\n //AppOrServiceList: [],\r\n //IndustryList: [],\r\n FunctionalAreaList: [],\r\n //ToolTipsList: [],\r\n Eid: eid,\r\n technologyOptions: contextData.technologyId ? contextData.technologyId : \"\",\r\n ExpectedDate: internalRequestFormData && internalRequestFormData.ExpectedDate ? new Date(internalRequestFormData.ExpectedDate) : \"\",\r\n selectedFiles: internalRequestFormData && internalRequestFormData.File ? internalRequestFormData.File : [],\r\n //AdditionalSMEArray: internalRequestFormData && internalRequestFormData.AdditionalSME && internalRequestFormData.AdditionalSMEError === '' ? internalRequestFormData.AdditionalSME.split(',') : [],\r\n //LeadSMEArray: internalRequestFormData && internalRequestFormData.LeadSME ? (internalRequestFormData.LeadSMEError === '' ? [internalRequestFormData.LeadSME] : []) : [`${eid}@accenture.com`],\r\n //RequestorArray: internalRequestFormData && internalRequestFormData.Requestor ? [internalRequestFormData.Requestor] : [`${eid}@accenture.com`],\r\n RequestedBy: internalRequestFormData && internalRequestFormData.RequestedBy && internalRequestFormData.RequestorTypeList ? getName(internalRequestFormData.RequestedBy, internalRequestFormData.RequestorTypeList) : \"\",\r\n isSelfRequestor: internalRequestFormData ? internalRequestFormData.isSelfRequestor : true,\r\n savedValueRichTextBody: RichTextEditor.createValueFromString(\r\n internalRequestFormData && internalRequestFormData.savedValueRichTextBody ? internalRequestFormData.savedValueRichTextBody : '',\r\n \"html\"\r\n ),\r\n savedObjectiveRichTextBody: RichTextEditor.createValueFromString(\r\n internalRequestFormData && internalRequestFormData.savedObjectiveRichTextBody ? internalRequestFormData.savedObjectiveRichTextBody : '',\r\n \"html\"\r\n ),\r\n savedCommentRichTextBody: RichTextEditor.createValueFromString(\r\n internalRequestFormData && internalRequestFormData.savedCommentRichTextBody ? internalRequestFormData.savedCommentRichTextBody : '',\r\n \"html\"\r\n ),\r\n savedSuccessMeasureRichTexTBody: RichTextEditor.createValueFromString(\r\n internalRequestFormData && internalRequestFormData.savedSuccessMeasureRichTexTBody ? internalRequestFormData.savedSuccessMeasureRichTexTBody : '',\r\n \"html\"\r\n ),\r\n selectedExpectedDate: internalRequestFormData && internalRequestFormData.selectedExpectedDate ? internalRequestFormData.selectedExpectedDate : false\r\n })\r\n const formFields = this.state.data\r\n const stateData = await setInitialStates(formFields, internalRequestFormData)\r\n this.setStates(stateData)\r\n }\r\n\r\n async getInternalRequestFormData() {\r\n let selectedServiceIds = this.props.selectedServiceIds.length > 0 ? this.props.selectedServiceIds.join() : ''\r\n const response = await getData({ apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName: `PopulateMyCSupportForm?selectedServices=${selectedServiceIds}` });\r\n const { success, error, isInfo } = await response;\r\n if (success) {\r\n const { RequestorType, GroupUsers, ApplicationList,RequestCategoryList,RequestTypeList, AppOrService,ToolTips } = response.data\r\n \r\n let requestorIsSelf = !!this.state.RequestedBy ? { Name: getName(this.state.RequestedBy, RequestorType), IsSelf: this.state.isSelfRequestor } : RequestorType.find(function (requestor) {\r\n return requestor.IsSelf === true\r\n })\r\n await this.setState({\r\n RequestorTypeList: RequestorType || [],\r\n ApplicationList:ApplicationList || [],\r\n GroupUsersList: GroupUsers || [],\r\n RequestCategoryList: RequestCategoryList || [],\r\n RequestTypeList: RequestTypeList||[],\r\n AppOrServiceList: AppOrService || [],\r\n //IndustryList: Industry || [],\r\n // FunctionalAreaList: FunctionalArea || [],\r\n ToolTipsList: ToolTips || [\r\n {\r\n \"FieldId\": 238,\r\n \"FormKey\": \"RequestedBy\",\r\n \"FieldName\": \"Requested by\",\r\n \"ToolTip\": \"\"\r\n },\r\n {\r\n \"FieldId\": 239,\r\n \"FormKey\": \"OnBehalfRequesterEnterpriseID\",\r\n \"FieldName\": \"Requester Enterprise ID\",\r\n \"ToolTip\": \"\"\r\n },\r\n {\r\n \"FieldId\": 240,\r\n \"FormKey\": \"ApplicationName\",\r\n \"FieldName\": \"Application Name\",\r\n \"ToolTip\": \"\"\r\n },\r\n {\r\n \"FieldId\": 241,\r\n \"FormKey\": \"Technology\",\r\n \"FieldName\": \"Technology\",\r\n \"ToolTip\": \"\"\r\n },\r\n {\r\n \"FieldId\": 242,\r\n \"FormKey\": \"Category\",\r\n \"FieldName\": \"Request Category\",\r\n \"ToolTip\": \"\"\r\n },\r\n {\r\n \"FieldId\": 243,\r\n \"FormKey\": \"RequestType\",\r\n \"FieldName\": \"Request Type\",\r\n \"ToolTip\": \"\"\r\n },\r\n {\r\n \"FieldId\": 244,\r\n \"FormKey\": \"Industry\",\r\n \"FieldName\": \"Industry (Optional)\",\r\n \"ToolTip\": \"\"\r\n },\r\n {\r\n \"FieldId\": 245,\r\n \"FormKey\": \"FunctionalArea\",\r\n \"FieldName\": \"Functional Area (Optional)\",\r\n \"ToolTip\": \"\"\r\n },\r\n\r\n {\r\n \"FieldId\": 246,\r\n \"FormKey\": \"ServiceOffering\",\r\n \"FieldName\": \" Service Offering (Optional)\",\r\n \"ToolTip\": \"\"\r\n },\r\n {\r\n \"FieldId\": 247,\r\n \"FormKey\": \"ExpectedDate\",\r\n \"FieldName\": \"Expected Date (Date by which the service is required) (Optional)\",\r\n \"ToolTip\": \"\"\r\n },\r\n {\"FieldId\": 250,\r\n \"FormKey\": \"ProjectPoint\",\r\n \"FieldName\": \"Project Point of Contact (Optional)\",\r\n \"ToolTip\": \"\"\r\n\r\n }\r\n , {\r\n \"FieldId\": 255,\r\n \"FormKey\": \"Description\",\r\n \"FieldName\": \"Description of the Requested service\",\r\n \"ToolTip\": \"\"\r\n }\r\n\r\n ],\r\n RequestedBy: requestorIsSelf.Name,\r\n isSelfRequestor: requestorIsSelf.IsSelf,\r\n showEnterpriseIdField: !requestorIsSelf.IsSelf,\r\n showSpinner: false,\r\n LeadSME: !!this.state.LeadSMEError ? this.state.LeadSME : '',\r\n AdditionalSME: !!this.state.AdditionalSMEError ? this.state.AdditionalSME : '',\r\n Requestor: ''\r\n });\r\n } else {\r\n await this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n handleExpectedDate(date) {\r\n this.setState({\r\n ExpectedDate: date,\r\n selectedExpectedDate: true\r\n });\r\n }\r\n\r\n handleExpectedDateChange = async (e) => {\r\n e.preventDefault();\r\n };\r\n\r\n handleSelectRequestedBy = async (e) => {\r\n const { name, value } = e.target\r\n let index = e.nativeEvent.target.selectedIndex;\r\n let isSelf = e.nativeEvent.target[index].getAttribute('isself');\r\n if (name === \"RequestedBy\") {\r\n if (isSelf === 'true') {\r\n this.setState({\r\n isSelfRequestor: true\r\n })\r\n } else {\r\n this.setState({\r\n isSelfRequestor: false\r\n })\r\n }\r\n if (isSelf === 'false') {\r\n this.setState({\r\n showEnterpriseIdField: true,\r\n OnBehalfRequesterEnterpriseIDError: '',\r\n OnBehalfRequesterEnterpriseID: '',\r\n });\r\n } else if (isSelf === 'true') {\r\n this.setState({\r\n showEnterpriseIdField: false,\r\n OnBehalfRequesterEnterpriseIDError: '',\r\n OnBehalfRequesterEnterpriseID: '',\r\n });\r\n }\r\n }\r\n await this.setState({\r\n [name]: value\r\n });\r\n this.validateInput(name, this.state)\r\n }\r\n\r\n async handleInput(e) {\r\n const { name, value } = e.target;\r\n // const errorMessage = name === \"ProjectPoint\" ? validateProjectPoint(value) : \"\";\r\n await this.setState({\r\n [name]: value\r\n });\r\n\r\n if (name === \"OnBehalfRequesterEnterpriseID\") {\r\n this.getUserListBySearch(value)\r\n }\r\n if(name === \"ApplicationName\"){\r\n const response = await getData({ apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName:`GetDataForMyCSupport?appId=${this.state.ApplicationName}&type=Technology` });\r\n const { success, error, isInfo } = await response;\r\n if (success) {\r\n const techList = response.data.map(({ITEMID, NAME,Type}) => {\r\n return{ID:ITEMID,Name:NAME,Type:Type}\r\n })\r\n const selectedApplication = this.state.ApplicationList.filter(\r\n (application) => application.ID.toString() === this.state.ApplicationName.toString()\r\n );\r\n \r\n const FilteredRequestCategoryList = this.state.RequestCategoryList.filter(\r\n (item)=> item.Description === selectedApplication[0].Name\r\n );\r\n await this.setState({\r\n FilteredRequestCategoryList: FilteredRequestCategoryList || [],\r\n techList: techList|| [],\r\n Technology:\"\",\r\n FunctionalArea:\"\",\r\n FunctionalList:\"\",\r\n Industry:\"\",\r\n IndustryList:\"\",\r\n ServiceOffering:\"\",\r\n ServicelList:\"\",\r\n\r\n\r\n });\r\n } else {\r\n await this.setState({ error: error, isInfo, showErrorPopup: true });\r\n }\r\n }\r\n if(name === \"Technology\"){\r\n const response = await getData({ apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName:`GetDataForMyCSupport?appId=${this.state.ApplicationName}&technologyId=${this.state.Technology}&type=Technology ` });\r\n const { success, error, isInfo } = await response;\r\n if (success) {\r\n const IndustryList = response.data.filter((industry)=>industry.Type === \"IndustryGroup\").map(({ItemID, NAME, ...others})=>{\r\n return{ID:ItemID, Name: NAME, ...others}\r\n })\r\n const FunctionalList = response.data.filter((functional)=>functional.Type === \"FunctionGroup\").map(({ItemID, NAME, ...others})=>{\r\n return{ID:ItemID, Name: NAME, ...others}\r\n })\r\n const ServicelList = response.data.filter((service)=>service.Type === \"ServiceOffering\").map(({ItemID, NAME, ...others})=>{\r\n return{ID:ItemID, Name: NAME, ...others}\r\n })\r\n \r\n await this.setState({\r\n \r\n IndustryList : IndustryList|| [],\r\n FunctionalList:FunctionalList || [],\r\n ServicelList: ServicelList || []\r\n });\r\n } else {\r\n await this.setState({ error: error, isInfo, showErrorPopup: true });\r\n }\r\n }\r\n \r\n if (name === \"RequestTitle\") {\r\n await this.setState({\r\n [name]: value.trimStart()\r\n })\r\n }\r\n this.validateInput(name, this.state)\r\n }\r\n\r\n getUserListBySearch(value) {\r\n this.setState({\r\n showEnterpriseIdPopup: true\r\n })\r\n let searchedUserList = []\r\n if (this.state.GroupUsersList.length > 0 && value !== '') {\r\n searchedUserList = this.state.GroupUsersList.filter(function (users) {\r\n return users.toLowerCase().includes(value)\r\n })\r\n } else if (value === '') {\r\n searchedUserList = this.state.GroupUsersList\r\n }\r\n this.setState({\r\n searchedUserList\r\n })\r\n }\r\n\r\n handleSearchUser = async (e) => {\r\n const { name, value } = e.target\r\n this.setState({\r\n [name]: value\r\n })\r\n await this.setState({ OnBehalfRequesterEnterpriseID: e.target.value });\r\n\r\n this.getUserListBySearch(value)\r\n }\r\n\r\n handleBackButton = async () => {\r\n const existingContextData = this.context && this.context.existingState ? this.context.existingState : {}\r\n let advanceFormsName = getAddidtionalDetailName(existingContextData.advanceForms)\r\n await this.context.addSelectedData({ [advanceFormsName]: {} });\r\n this.props.handleBack()\r\n }\r\n\r\n handleClearForm(e) {\r\n e.preventDefault();\r\n this.setState({ resetPopup: true });\r\n }\r\n\r\n async resetFields() {\r\n const resetFields = resetStates(this.state);\r\n let requestorIsSelf = this.state.RequestorTypeList.find(function (requestor) {\r\n return requestor.IsSelf === true\r\n })\r\n await this.setState({\r\n ...resetFields,\r\n selectedFiles: [],\r\n AdditionalSMEArray: [],\r\n savedValueRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedObjectiveRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedCommentRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedSuccessMeasureRichTexTBody: RichTextEditor.createEmptyValue(),\r\n showEnterpriseIdField: false,\r\n isSelfRequestor: requestorIsSelf.IsSelf,\r\n RequestedBy: requestorIsSelf.Name,\r\n OnBehalfRequesterEnterpriseIDError: '',\r\n selectedExpectedDate: false,\r\n })\r\n await this.context.addSelectedData({ internalRequestFormData: {} })\r\n }\r\n\r\n async selectRequesterID(e) {\r\n const eid = e.target.getAttribute(\"eid\")\r\n await this.setState({ OnBehalfRequesterEnterpriseID: eid, showEnterpriseIdPopup: false, OnBehalfRequesterEnterpriseIDError: '' });\r\n }\r\n\r\n validateInput(name, stateData) {\r\n let { fieldError, isError } = validateInput(name, this.state)\r\n this.setStates(fieldError)\r\n let errorkey = `${name}Error`\r\n\r\n if ((name === \"LeadSME\" && this.state[errorkey] === '') || (name === \"AdditionalSME\" && this.state[errorkey] === '')) {\r\n let emailArraytype = `${name}Array`\r\n this.setState({\r\n [emailArraytype]: [...this.state[emailArraytype], stateData[name]],\r\n [name]: '',\r\n })\r\n\r\n fieldError = validateAdditionalSMEArray(name, this.state)\r\n this.setStates(fieldError)\r\n }\r\n return !isError\r\n }\r\n async setStates(states) {\r\n await this.setState({\r\n ...states\r\n })\r\n }\r\n\r\n validate() {\r\n const validationDetails = validateInternalRequestForm(this.state, this.state.RequestorTypeList)\r\n const { fieldError, haveError } = validationDetails\r\n this.setStates(fieldError)\r\n return haveError;\r\n }\r\n\r\n async handleSubmitInternalRequest(event) {\r\n let stateWithError = setErrorMessages(this.state)\r\n // if (!!stateWithError.LeadSMEError && this.state.LeadSMEArray.length > 0) {\r\n // stateWithError = {\r\n // ...stateWithError, LeadSMEError: ''\r\n // }\r\n // }\r\n // if (!!stateWithError.RequestorError && this.state.RequestorError.length > 0) {\r\n // stateWithError = {\r\n // ...stateWithError, RequestorError: ''\r\n // }\r\n // }\r\n // if (!this.state.isSelfRequestor) {\r\n // if (!isValExistInArray(this.state.GroupUsersList, this.state.OnBehalfRequesterEnterpriseID)) {\r\n // stateWithError = {\r\n // ...stateWithError, OnBehalfRequesterEnterpriseIDError: 'Invalid Requester Enterprise ID'\r\n // }\r\n // }\r\n // }\r\n if (!this.state.selectedExpectedDate) {\r\n stateWithError = {\r\n ...stateWithError, explanationError: ''\r\n }\r\n }\r\n await this.setState({\r\n ...stateWithError\r\n }, () => {\r\n const isError = this.validate()\r\n const haveError = checkErrorsByField(this.state)\r\n if (!isError && !haveError) {\r\n this.submitData()\r\n }\r\n else{\r\n console.log(\"IsError: \", isError)\r\n console.log(\"HaveError: \", haveError)\r\n }\r\n })\r\n }\r\n async submitData() {\r\n let contextData = this.context && this.context.existingState;\r\n // let tempArr = {}\r\n // const formFields = this.state.data;\r\n // formFields.map((form) => {\r\n // const { FormKey } = form\r\n // const name = FormKey\r\n // tempArr = {\r\n // ...tempArr,\r\n // [name]: this.state[name]\r\n // }\r\n // return null\r\n // })\r\n // let selectedServices = Object.values(contextData.selectedServices).filter(\r\n\r\n // function (service) {\r\n // if (service.haveChild === \"true\") {\r\n // return service.selectedChildId.length > 0 ? true : false;\r\n // }\r\n // return true;\r\n // }\r\n // );\r\n // let dateObj = {\r\n // \r\n // File: this.state.selectedFiles,\r\n // selectedServices: selectedServices,\r\n // \r\n // \r\n // }\r\n // let RequestedBy = getId(this.state.RequestedBy, this.state.RequestorTypeList);\r\n // let internalRequestFormData = {\r\n // ...dateObj,\r\n // isInternalRequest: true,\r\n // tp:{\r\n // File: this.state.selectedFiles\r\n // },\r\n // Industry: tempArr.Industry ? tempArr.Industry : '',\r\n // FunctionalArea: tempArr.FunctionalArea ? tempArr.FunctionalArea : '',\r\n\r\n // InternalRequest: {\r\n // ...tempArr,\r\n // RequestedBy: RequestedBy,\r\n // RequestorTypeList: this.state.RequestorTypeList,\r\n // isSelfRequestor: this.state.isSelfRequestor,\r\n // ExpectedDate: this.state.ExpectedDate ? dateFormat(this.state.ExpectedDate, \"isoDate\") : \"\",\r\n // // Requestor: this.state.RequestorArray.toString(),\r\n // // Objective: this.state.savedObjectiveRichTextBody.toString('html'),\r\n // \r\n // // SuccessMeasures: this.state.savedSuccessMeasureRichTexTBody.toString('html'),\r\n // // AdditionalSME: this.state.AdditionalSMEArray.length > 0 ? this.state.AdditionalSMEArray.join(';') : this.state.AdditionalSMEArray.toString(),\r\n // },\r\n // }\r\n // {\r\n let tempArr = {}\r\n const formFields = this.state.data;\r\n formFields.map((form) => {\r\n const { FormKey } = form\r\n const name = FormKey\r\n tempArr = {\r\n ...tempArr,\r\n [name]: this.state[name]\r\n }\r\n return null\r\n })\r\n let selectedServices = Object.values(contextData.selectedServices).filter(\r\n\r\n function (service) {\r\n if (service.haveChild === \"true\") {\r\n return service.selectedChildId.length > 0 ? true : false;\r\n }\r\n return true;\r\n }\r\n );\r\n let dateObj = {\r\n selectedServices: selectedServices,\r\n File: this.state.selectedFiles,\r\n }\r\n \r\n let RequestedBy = getId(this.state.RequestedBy, this.state.RequestorTypeList);\r\n let internalRequestFormData = {\r\n ...dateObj, \r\n MyCSupport:{\r\n RequestTitle: '',\r\n ApplicationID: tempArr.ApplicationName ? tempArr.ApplicationName : '',\r\n TechnologyID: tempArr.Technology ? tempArr.Technology : '',\r\n IndustryID: tempArr.Industry ? tempArr.Industry : '' ,\r\n FunctionalAreaID:tempArr.FunctionalArea ? tempArr.FunctionalArea : '',\r\n ServiceOfferingID: tempArr.ServiceOffering ? tempArr.ServiceOffering : '',\r\n RequestCategoryID: tempArr.Category ? tempArr.Category: \"\",\r\n RequestTypeID: tempArr.RequestType? tempArr.RequestType:\"\" ,\r\n ExpectedDate:this.state.ExpectedDate ? dateFormat(this.state.ExpectedDate, \"isoDate\") : \"\",\r\n POC: this.state.ProjectPoint,\r\n Description :this.state.Description,\r\n \r\n \r\n },\r\n isInternalRequest: true,\r\n Eid: this.state.Eid,\r\n // Industry: tempArr.Industry ? tempArr.Industry : '',\r\n // FunctionalArea: tempArr.FunctionalArea ? tempArr.FunctionalArea : '',\r\n technologyOptions: parseInt(this.state.technologyOptions),\r\n Comments: this.state.savedCommentRichTextBody.toString('html'),\r\n CatID: this.props.catId,\r\n Category: this.props.catId,\r\n\r\n InternalRequest: {\r\n // ...tempArr,\r\n RequestedBy: RequestedBy ,\r\n RequestTitle: \"\",\r\n LeadSME: \"\",\r\n ExpectedDate:this.state.ExpectedDate ? dateFormat(this.state.ExpectedDate, \"isoDate\") : \"\",\r\n Eid: this.state.Eid,\r\n OnBehalfRequesterEnterpriseID:this.state.OnBehalfRequesterEnterpriseID,\r\n \r\n },\r\n\r\n }\r\n\r\n await this.context.addSelectedData({ internalRequestFormData: internalRequestFormData, isValidInternalRequestFormData: true, });\r\n if (this.props.btnLbl === 'Submit') {\r\n console.log(\"Submit\");\r\n this.props.handleSubmit()\r\n } else if (this.props.btnLbl === \"Next\") {\r\n console.log(\"Next\");\r\n this.props.handleBtnClick(1);\r\n }else{\r\n console.log(\"Not Working\");\r\n }\r\n }\r\n\r\n handleDelete = (evt) => {\r\n let { name, value } = evt.target;\r\n let emailArraytype = `${name}Array`\r\n if (this.state[emailArraytype]) {\r\n this.setState({\r\n //add all the entries in array again except the entry you want to delete (filter)\r\n [emailArraytype]: this.state[emailArraytype].filter(i => i !== value)\r\n }, () => {\r\n if (name === \"LeadSME\") {\r\n if (!this.state.LeadSMEArray.length > 0) {\r\n this.setState({ LeadSMEError: \"This is a required field\" })\r\n }\r\n }\r\n if (name === \"AdditionalSME\") {\r\n if (!this.state.AdditionalSMEArray.length > 0) {\r\n if (this.state.AdditionalSME) {\r\n this.setState({ AdditionalSMEError: \"Press Enter key to add recipient\" })\r\n } else {\r\n this.setState({ AdditionalSMEError: \"\" })\r\n }\r\n } else {\r\n let { fieldError } = validateAdditionalSMEArray(name, this.state)\r\n this.setStates(fieldError)\r\n }\r\n }\r\n if (name === \"Requestor\") {\r\n if (!this.state.RequestorArray.length > 0) {\r\n this.setState({ RequestorError: \"This is a required field\" })\r\n }\r\n }\r\n });\r\n }\r\n };\r\n handleKeyDown = (evt) => {\r\n let { name } = evt.target;\r\n let errorkey = `${name}Error`\r\n let emailArraytype = `${name}Array`\r\n if (['Enter', 'Tab', ',', ';'].includes(evt.key) && this.state[name] !== '' && this.state[errorkey] === '') {\r\n evt.preventDefault();\r\n var email = this.state[name].trim();\r\n if (email) {\r\n this.setState({\r\n [emailArraytype]: [...this.state[emailArraytype], email],\r\n [name]: '',\r\n });\r\n }\r\n }\r\n };\r\n\r\n handleAttachPopUp = () => {\r\n this.setState({\r\n openAttachment: !this.state.openAttachment\r\n });\r\n };\r\n handleSetAttachmentData = (data) => {\r\n this.setState({\r\n selectedFiles: data,\r\n })\r\n }\r\n handleOutsideClick() {\r\n this.setState({\r\n showEnterpriseIdPopup: false\r\n })\r\n }\r\n\r\n //RichTextEditer code start from here\r\n async onChange({ name, value, actualName }) {\r\n await this.setState({ [name]: value })\r\n let actualValue = value.toString('html').replace(/(<([^>]+)>)/ig, '')\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /ig, '')\r\n await this.setState({\r\n [actualName]: actualValue\r\n }, () => {\r\n if (actualValue.length > 0 || actualName === \"SuccessMeasures\") {\r\n this.validateInput(actualName, this.state)\r\n }\r\n })\r\n }\r\n async onRichTextChange(value) {\r\n this.setState({ richTextModalBody: value })\r\n }\r\n handleImageModal(text, actualName) {\r\n this.setState({\r\n imageModal: true,\r\n richTextModalBody: this.state[text],\r\n clickedRichTextBody: text,\r\n clickedActualRichTextName: actualName\r\n })\r\n }\r\n handleCloseEditor() {\r\n this.setState({\r\n imageModal: false,\r\n richTextModalBody: RichTextEditor.createEmptyValue()\r\n })\r\n }\r\n handleSendIconModal() {\r\n let actualValue = this.state.richTextModalBody.toString('html').replace(/(<([^>]+)>)/ig, '');\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n this.setState({\r\n imageModal: false,\r\n [this.state.clickedRichTextBody]: this.state.richTextModalBody,\r\n [this.state.clickedActualRichTextName]: actualValue\r\n }, () => {\r\n this.validateInput(this.state.clickedActualRichTextName, this.state)\r\n })\r\n }\r\n\r\n render() {\r\n const ToolTipsData = this.state.ToolTipsList ? this.state.ToolTipsList : false\r\n return (\r\n \r\n {AppContextData => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {ToolTipsData && ToolTipsData.map((form) => {\r\n let keyString = `${form.FormKey}Error`\r\n let selectActive = !!this.state[form.FormKey] ? \"form-control-select custom-placeholder\" : \"form-control-select\";\r\n if (form.FormKey === \"RequestedBy\") {\r\n return (\r\n \r\n
    \r\n { this.handleSelectRequestedBy(value) }}\r\n // value={this.state.RequestedBy}\r\n selected_value={this.state.RequestedBy}\r\n use_name=\"true\"\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"OnBehalfRequesterEnterpriseID\") {\r\n const inputErrorMessage = validateOnBehalfId(this.state[form.FormKey]);\r\n const serverErrorMessage = this.state[keyString];\r\n \r\n return (\r\n \r\n {!!this.state.showEnterpriseIdField &&\r\n
    \r\n { this.handleInput(e) }}\r\n onClick={(e) => { this.handleSearchUser(e) }}\r\n />\r\n \r\n {inputErrorMessage &&

    {inputErrorMessage}

    }\r\n {serverErrorMessage &&

    {serverErrorMessage}

    }\r\n
    \r\n }\r\n
    \r\n );\r\n }\r\n return null\r\n })}\r\n
    \r\n
    \r\n {ToolTipsData.length > 0 && ToolTipsData.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`\r\n let selectActive = !!this.state[form.FormKey] ? \"form-control-select custom-placeholder\" : \"form-control-select\";\r\n if (form.FormKey === \"ApplicationName\") {\r\n return (\r\n \r\n { this.handleInput(e) }}\r\n selected_value={!!this.state[form.FormKey] ? this.state[form.FormKey] : ''}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"Technology\" && this.state.ApplicationName !==\"\") {\r\n \r\n return (\r\n \r\n { this.handleInput(e) }}\r\n selected_value={!!this.state[form.FormKey] ? this.state[form.FormKey] : ''}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"Category\" && this.state.ApplicationName !==\"\") {\r\n return (\r\n \r\n { this.handleInput(e) }}\r\n selected_value={!!this.state[form.FormKey] ? this.state[form.FormKey] : ''}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"RequestType\" && this.state.ApplicationName !==\"\") {\r\n return (\r\n \r\n { this.handleInput(e) }}\r\n selected_value={!!this.state[form.FormKey] ? this.state[form.FormKey] : ''}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"Industry\" && this.state.ApplicationName !==\"\") {\r\n return (\r\n \r\n { this.handleInput(e) }}\r\n selected_value={!!this.state[form.FormKey] ? this.state[form.FormKey] : ''}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"FunctionalArea\" && this.state.ApplicationName !==\"\") {\r\n // if(this.state.FunctionalList.length>0){\r\n return (\r\n \r\n { this.handleInput(e) }}\r\n selected_value={!!this.state[form.FormKey] ? this.state[form.FormKey] : ''}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n // }\r\n // else{\r\n // return (\r\n // \r\n // \r\n // {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n //
    \r\n // );\r\n\r\n // }\r\n }\r\n if (form.FormKey === \"ServiceOffering\" && this.state.ApplicationName !==\"\") {\r\n return (\r\n \r\n { this.handleInput(e) }}\r\n selected_value={!!this.state[form.FormKey] ? this.state[form.FormKey] : ''}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n\r\n return null\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {ToolTipsData.length > 0 && ToolTipsData.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`\r\n if (form.FormKey === \"ExpectedDate\") {\r\n return (\r\n \r\n
    \r\n \r\n

    \r\n { this.handleExpectedDate(date) }} //only when value has changed\r\n minDate={addDays(new Date(), 1)}\r\n maxDate={addDays(new Date(), 103)}\r\n dateFormat=\"dd-MMM-yyyy\"\r\n placeholderText=\"DD-MMM-YYYY\"\r\n onChangeRaw={(e) => { this.handleExpectedDateChange(e) }}\r\n />\r\n {this.state.ExpectedDate ? '' : !!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n if (form.FormKey === \"ProjectPoint\") {\r\n const errorMessage = validateProjectPoint(this.state[form.FormKey]);\r\n return (\r\n \r\n

    \r\n
    \r\n { this.handleInput(e) }}\r\n />\r\n\r\n
    \r\n {errorMessage?

    {errorMessage}

    : ''}\r\n
    \r\n );\r\n }\r\n return null\r\n })}\r\n
    \r\n
    \r\n {ToolTipsData.length > 0 && ToolTipsData.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`\r\n //let selectActive = !!this.state[form.FormKey] ? \"form-control-select custom-placeholder\" : \"form-control-select\";\r\n\r\n\r\n\r\n\r\n if (form.FormKey === \"Description\") {\r\n return (\r\n \r\n
    \r\n \r\n\r\n { this.onChange({ value, name: \"savedCommentRichTextBody\", actualName: \"Description\" }) }}\r\n toolbarConfig={[]}\r\n placeholder=\"25000 Characters\"\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n )\r\n }\r\n return null\r\n })}\r\n {
    \r\n
      { this.handleAttachPopUp() }}>\r\n \"\"\r\n

      Attachments

      ({this.state.selectedFiles ? this.state.selectedFiles.length : '0'}) (Optional)

    \r\n {this.state.openAttachment &&\r\n { this.handleSetAttachmentData(data) }} selectedFile={this.state.selectedFiles || []} />}\r\n
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n { this.handleBackButton() }} />\r\n this.handleClearForm(e)} />\r\n
    \r\n {this.state.resetPopup && (\r\n {\r\n this.setState({ resetPopup: false });\r\n }}\r\n handleClose={() => {\r\n this.setState({ resetPopup: false });\r\n this.resetFields();\r\n }}>\r\n

    Are you sure you want to reset this page?

    \r\n
    \r\n )}\r\n {this.state.imageModal && \r\n \"close-icon\" this.handleCloseEditor()} />\r\n

    \r\n { this.onRichTextChange(value) }} placeholder=\"Type your text here...\"\r\n toolbarConfig={toolbarConfig} />\r\n \"send-icon\" this.handleSendIconModal()} />\r\n
    }\r\n {this.state.error && { this.setState({ showErrorPopup: false }); }} buttonPosition=\"center-button\">

    {this.state.error}

    }\r\n {this.state.showSpinner && }\r\n
    \r\n )\r\n }}\r\n
    \r\n )\r\n\r\n }\r\n}\r\nInternalRequestBasicForm.contextType = RequestContext;\r\nexport default InternalRequestBasicForm","import { validateWithPattern,invalidEmailList } from \"../../../../components/validators/validate\";\r\nimport internalFormSchema from \"../../../../assets/data/myc.json\";\r\n\r\nexport const validateInternalRequestForm = (formState) => {\r\n\r\n let isError = false;\r\n let tempObj = {}\r\n // let tempValue = formState.RequestTitle && formState.RequestTitle.trim();\r\n // const isRequestTitleValid = validateFieldsByPattern({ keyName: 'RequestTitle', value: tempValue, formState })\r\n // if (!isRequestTitleValid) {\r\n // let inValideMessage = ''\r\n // if (formState.RequestTitle === '') inValideMessage = 'This is a required field.'\r\n // else inValideMessage = \"Request Title is invalid.\"\r\n // tempObj = {\r\n // ...tempObj,\r\n // RequestTitleError: inValideMessage\r\n // }\r\n // isError = true\r\n // }\r\n\r\n if ((!!formState.RequestedBy && !formState.isSelfRequestor) && (!formState.OnBehalfRequesterEnterpriseID || formState.OnBehalfRequesterEnterpriseID === '')) {\r\n let inValideMessage = ''\r\n inValideMessage = \"This is required field.\"\r\n tempObj = {\r\n ...tempObj,\r\n OnBehalfRequesterEnterpriseIDError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n // const isDescription = validateFieldsByPattern({ keyName: 'Description', value: formState.Description, formState })\r\n // if (formState.Description.length < 20 || formState.Description.length > 2000) {\r\n // let inValideMessage = ''\r\n // inValideMessage = \"Value Statement is invalid.\"\r\n // tempObj = {\r\n // ...tempObj,\r\n // DescriptionError: inValideMessage\r\n // }\r\n // isError = true\r\n // }\r\n // if (!isDescription) {\r\n // let inValideMessage = ''\r\n // if (formState.Description === '') inValideMessage = 'This is a required field.'\r\n // else inValideMessage = \"Value Statement is invalid.\"\r\n // tempObj = {\r\n // ...tempObj,\r\n // DescriptionError: inValideMessage\r\n // }\r\n // isError = true\r\n // }\r\n \r\n if (formState.Category === '') {\r\n let inValideMessage = 'This is a required field.'\r\n tempObj = {\r\n ...tempObj,\r\n CategoryError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n if (formState.Priority === '') {\r\n let inValideMessage = 'This is a required field.'\r\n tempObj = {\r\n ...tempObj,\r\n PriorityError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n if (formState.Environment === '') {\r\n let inValideMessage = 'This is a required field.'\r\n tempObj = {\r\n ...tempObj,\r\n EnvironmentError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n\r\n if(formState.RequestTitle === '' ){\r\n let inValideMessage = 'This is a required field.'\r\n tempObj = {\r\n ...tempObj,\r\n RequestTitleError: inValideMessage\r\n }\r\n isError = true\r\n\r\n }\r\n if (formState.IssueDescription === '') {\r\n let inValideMessage = 'This is a required field.'\r\n tempObj = {\r\n ...tempObj,\r\n IssueDescriptionError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n if (formState.IssueDescription.length < 20 || formState.IssueDescription.length > 2000) {\r\n isError = true\r\n }\r\n if (formState.Comments.length > 25000) {\r\n isError = true\r\n }\r\n const pattern1 = /^[a-zA-Z0-9_.+-]+@(?:(?:[a-zA-Z0-9-]+\\.)?[a-zA-Z]+\\.)?(avanade|accenture)\\.com$/;\r\n if (formState.LineManager !== '' && !pattern1.test(formState.LineManager)) {\r\n isError = true\r\n }\r\n\r\n if(formState.Technology === ''){\r\n let inValideMessage = 'This is a required field.'\r\n tempObj = {\r\n ...tempObj,\r\n TechnologyError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n if (formState.RequestType === '') {\r\n let inValideMessage = 'This is a required field.'\r\n tempObj = {\r\n ...tempObj,\r\n RequestTypeError: inValideMessage\r\n }\r\n isError = true\r\n }\r\n // const isLeadSME = validateEmailByPattern({ keyName: 'LeadSME', value: formState.LeadSME, formState: formState })\r\n // if (!isLeadSME && formState.LeadSME !== '') {\r\n // let inValideMessage = ''\r\n // inValideMessage = \"Email id is invalid.\"\r\n // tempObj = {\r\n // ...tempObj,\r\n // LeadSMEError: inValideMessage\r\n // }\r\n // isError = true\r\n // } else if (formState.LeadSME === '' && formState.LeadSMEArray.length < 1) {\r\n // let inValideMessage = ''\r\n // inValideMessage = \"This is a required field.\"\r\n // tempObj = {\r\n // ...tempObj,\r\n // LeadSMEError: inValideMessage\r\n // }\r\n // isError = true\r\n // }\r\n // if (formState.AdditionalSME !== '') {\r\n // let inValideMessage = ''\r\n // const { isValid } = validateAdditionalSMEArray(\"AdditionalSME\", formState)\r\n // if (!isValid) {\r\n // inValideMessage = \"Email id is invalid.\"\r\n // } else {\r\n // inValideMessage = isInList(formState, 'AdditionalSME', formState.AdditionalSME) ? \"Email has already been added.\" : ''\r\n // }\r\n // if (isError) {\r\n // tempObj = {\r\n // ...tempObj,\r\n // AdditionalSMEError: inValideMessage\r\n // }\r\n // }\r\n // isError = true\r\n // }\r\n\r\n \r\n\r\n // if (formState.Description.length > 25000) {\r\n // let inValideMessage = ''\r\n // inValideMessage = \"Comments should not be more than 25000 characters long.\"\r\n // tempObj = {\r\n // ...tempObj,\r\n // DescriptionError: inValideMessage\r\n // }\r\n // isError = true\r\n // }\r\n return {\r\n fieldError: tempObj,\r\n haveError: isError\r\n }\r\n }\r\n\r\n export function validateProjectPoint(value) {\r\n const pattern = /^[a-zA-Z0-9_.+-]+@(?:(?:[a-zA-Z0-9-]+\\.)?[a-zA-Z]+\\.)?(avanade|accenture)\\.com$/;\r\n \r\n if (value && !pattern.test(value)) {\r\n \r\n return \"Enter a valid email, only Accenture and Avanade domain is valid.\";\r\n \r\n }\r\n return \"\";\r\n \r\n}\r\n\r\nexport function validateIssueDescription(value) {\r\n \r\n if (value.length < 20 && value !== '') {\r\n \r\n return \"Issue Description should be at least 20 characters long\";\r\n \r\n }\r\n else if(value.length>2000){\r\n return \"Issue Description should not be more than 2000 characters\"\r\n }\r\n return \"\";\r\n \r\n}\r\nexport function validateComments(value) {\r\n \r\n if(value.length>25000){\r\n return \"Comments should not be more than 25000 characters\"\r\n }\r\n return \"\";\r\n \r\n}\r\n\r\n\r\n\r\nexport function validateOnBehalfId(value) {\r\n\r\n if (!value || typeof value !== 'string') {\r\n \r\n return '';\r\n \r\n }\r\n \r\n const pattern = /^[a-zA-Z0-9_.+-]+$/;\r\n \r\n const idParts = value.split('.');\r\n \r\n if (!pattern.test(value) || idParts.length < 2 || value.startsWith('.') || value.endsWith('.') || idParts.some(part => part.length === 0)) {\r\n \r\n return \"Invalid Enterprise ID\";\r\n \r\n }\r\n \r\n return \"\";\r\n \r\n }\r\nexport const validateAdditionalSMEArray = (name, formData) => {\r\n let requirFields = formData.data && formData.data.filter(function (formFields) {\r\n return formFields.FormKey === name;\r\n });\r\n\r\n let emailArraytype = `${name}Array`;\r\n let errorkey = `${requirFields[0].FormKey}Error`, errorMessage = '', response = true\r\n let invalidEmailArray = invalidEmailList(formData[emailArraytype])\r\n if (invalidEmailArray.length > 0) {\r\n errorMessage = requirFields[0].ValidationMessages.PatternMessage;\r\n } else {\r\n response = false;\r\n }\r\n\r\n return {\r\n fieldError: {\r\n [errorkey]: errorMessage\r\n },\r\n isValid: response\r\n }\r\n}\r\n\r\nexport const validateInput = (name, formData) => {\r\n let requirFields = formData.data && formData.data.filter(function (formFields) {\r\n return formFields.FormKey === name;\r\n });\r\n if (requirFields && requirFields.length > 0) {\r\n let errorkey = `${requirFields[0].FormKey}Error`, errorMessage = '', response = true\r\n if (formData[name] === '') {\r\n errorMessage = requirFields[0].ValidationMessages.RequiredMessage\r\n response = false\r\n } else {\r\n let selectedService = name;\r\n let Services = ['RequestTitle', 'IssueDescription', 'Comments'];\r\n let result = Services.includes(selectedService);\r\n if (result) {\r\n const isValid = validateFieldsByPattern({ pattern: requirFields[0].Validations.Pattern, value: formData[name], formState: formData })\r\n if (!isValid) {\r\n errorMessage = requirFields[0].ValidationMessages.PatternMessage\r\n }\r\n }\r\n if (name === 'IssueDescription') {\r\n if (formData.IssueDescription.length < 20) {\r\n errorMessage = requirFields[0].ValidationMessages.MinDescription\r\n } else if (formData.IssueDescription.length > 2000) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n \r\n \r\n if ((name === 'Comments')) {\r\n if (formData.Comments.length > 25000) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n }\r\n }\r\n }\r\n return {\r\n fieldError: {\r\n [errorkey]: errorMessage\r\n },\r\n haveError: response\r\n }\r\n }\r\n return true\r\n}\r\nexport const validateFieldsByPattern = ({ keyName = '', pattern, value, formState }) => {\r\n if (keyName !== '') {\r\n let requirFields = []\r\n requirFields = formState.data && formState.data.filter(function (formFields) {\r\n return formFields.FormKey === keyName;\r\n });\r\n pattern = requirFields && requirFields.length > 0 && requirFields[0].Validations.Pattern\r\n }\r\n return validateWithPattern({ pattern, value })\r\n}\r\nexport const validateEmailByPattern = ({ keyName = '', pattern, value, formState }) => {\r\n if (keyName !== '') {\r\n let requirFields = formState.data.find(formFields => formFields.FormKey === keyName);\r\n pattern = requirFields.Validations.Pattern\r\n }\r\n value = value.trim();\r\n return validateWithPattern({ pattern, value })\r\n}\r\n\r\n\r\nexport const checkErrorsByField = (existingIssueDetails) => {\r\n const schemaFields = internalFormSchema.FormFields\r\n const haveError = schemaFields.find((field) => {\r\n let label = `${field}Error`\r\n return !!existingIssueDetails[label]\r\n })\r\n\r\n if (!!haveError) return true\r\n return false\r\n}\r\n\r\nexport const getAddidtionalDetailName = (advanceForms) =>{\r\n switch (advanceForms){\r\n case \"AcceleratorRequest\": return \"acceleratorRequestFormData\";\r\n case \"DIARequest\": return \"diaRequestFormData\";\r\n case \"ScopeChangeRequest\": return \"scopeChangeRequestFormData\";\r\n case \"StaffingChangeRequest\": return \"staffingChangeRequestAdditionFormData\";\r\n case \"ReportingRequest\": return \"reportRequestFormData\"\r\n default: return \"\"\r\n }\r\n}","import React, { Component, Fragment } from \"react\";\r\nimport \"./InfraSupport.scss\";\r\nimport { RequestContext } from \"../../../../context-providers/request-provider/request-provider\";\r\nimport InternalFormSchema from \"../../../../assets/data/infra-support.json\";\r\nimport CustomSelect from \"../../../../components/custom-select/custom-select\";\r\nimport CustomInput from \"../../../../components/custom-input/custom-input\";\r\nimport * as Constant from \"../../../../components/constants/constant\";\r\nimport CustomButton from \"../../../../components/button/secondary-button\";\r\nimport { validateInput, validateInternalRequestForm, checkErrorsByField,validateOnBehalfId ,validateAdditionalSMEArray, getAddidtionalDetailName, validateProjectPoint,validateIssueDescription,validateComments } from \"./InfraSupport-validation\";\r\nimport { setErrorMessages, resetStates} from \"../../../../components/validators/validate\";\r\nimport Modal from \"../../../../components/modals/modal\";\r\nimport { setInitialStates, setContextData, getId, getName } from \"../../../form/common-functionality-forms/form-common-functionality\";\r\nimport { getData } from \"../../../../api/api-manager\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport Spinner from \"../../../../components/spinner/spinner\";\r\nimport FileAttachment from \"../../../form/basic-form/file-attachment\";\r\nimport { getTokenData } from \"../../../../api/sessionConfig\";\r\nimport RichTextEditor from 'react-rte';\r\nimport { toolbarConfig } from \"../../../../components/email-chip/react-rte-toolbar\";\r\nimport EmailChip from \"../../../../components/email-chip/email-chip\";\r\nimport ToolTip from '../../../../components/tool-tip/tool-tip';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\n\r\nclass InfraSupport extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n showEnterpriseIdField: false,\r\n selectedExpectedDate: false,\r\n searchedUserList: [],\r\n ToolTipsList: [],\r\n LeadSMEArray: [], RequestorArray: [], AdditionalSMEArray: [], showEnterpriseIdPopup: false,\r\n savedValueRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedCommentRichTextBody: RichTextEditor.createEmptyValue(),\r\n richTextModalBody: RichTextEditor.createEmptyValue()\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.setDefaultStates();\r\n this.getInternalRequestFormData();\r\n }\r\n\r\n componentWillUnmount() {\r\n this.setFormDataOnUnmount()\r\n }\r\n\r\n setFormDataOnUnmount() {\r\n const existingContextData = this.context && this.context.existingState ? this.context.existingState : {}\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || ''\r\n let selectedServices = Object.values(existingContextData.selectedServices).filter(\r\n function (service) {\r\n if (service.haveChild === \"true\") {\r\n return service.selectedChildId.length > 0 ? true : false;\r\n }\r\n return true;\r\n }\r\n );\r\n let contextData = setContextData(this.state.data, this.state)\r\n let RequestedBy = getId(this.state.RequestedBy, this.state.RequestorTypeList);\r\n let additionalStateData = {\r\n selectedServices: selectedServices,\r\n Eid: eid,\r\n CatID: this.props.catId,\r\n File: this.state.selectedFiles,\r\n RequestedBy: RequestedBy,\r\n isSelfRequestor: this.state.isSelfRequestor,\r\n Requestor: this.state.RequestorArray.toString()\r\n }\r\n contextData = { ...contextData, ...additionalStateData }\r\n const isError = this.validate()\r\n this.context.addSelectedData({\r\n internalRequestFormData: {\r\n ...this.context.existingState.internalRequestFormData,\r\n savedValueRichTextBody: this.state.savedValueRichTextBody.toString(\"html\"),\r\n savedCommentRichTextBody: this.state.savedCommentRichTextBody.toString(\"html\"),\r\n ...contextData\r\n },\r\n isValidInternalRequestFormData: !isError\r\n })\r\n }\r\n\r\n async setDefaultStates() {\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || ''\r\n let contextData = this.context && this.context.existingState\r\n let internalRequestFormData = contextData ? contextData.internalRequestFormData : {}\r\n await this.setState({\r\n resetPopup: false, submitPopup: false, showSpinner: true, openAttachment: false,\r\n data: InternalFormSchema ? InternalFormSchema.Config : [],\r\n RequestorTypeList: internalRequestFormData && internalRequestFormData.RequestorTypeList ? internalRequestFormData.RequestorTypeList : [],\r\n CategoryList: [],\r\n PriorityList: [],\r\n EnvironmentList:[],\r\n Eid: eid,\r\n selectedFiles: internalRequestFormData && internalRequestFormData.File ? internalRequestFormData.File : [],\r\n RequestorArray: internalRequestFormData && internalRequestFormData.Requestor ? [internalRequestFormData.Requestor] : [`${eid}@accenture.com`],\r\n RequestedBy: internalRequestFormData && internalRequestFormData.RequestedBy && internalRequestFormData.RequestorTypeList ? getName(internalRequestFormData.RequestedBy, internalRequestFormData.RequestorTypeList) : \"\",\r\n isSelfRequestor: internalRequestFormData ? internalRequestFormData.isSelfRequestor : true,\r\n savedValueRichTextBody: RichTextEditor.createValueFromString(\r\n internalRequestFormData && internalRequestFormData.savedValueRichTextBody ? internalRequestFormData.savedValueRichTextBody : '',\r\n \"html\"\r\n ),\r\n savedCommentRichTextBody: RichTextEditor.createValueFromString(\r\n internalRequestFormData && internalRequestFormData.savedCommentRichTextBody ? internalRequestFormData.savedCommentRichTextBody : '',\r\n \"html\"\r\n ),\r\n })\r\n const formFields = this.state.data\r\n const stateData = await setInitialStates(formFields, internalRequestFormData)\r\n this.setStates(stateData)\r\n }\r\n\r\n async getInternalRequestFormData() {\r\n let selectedServiceIds = this.props.selectedServiceIds.length > 0 ? this.props.selectedServiceIds.join() : ''\r\n const response = await getData({ apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName: `PopulateInfraSupportForm?selectedServices=${selectedServiceIds}` });\r\n const { success, error, isInfo } = await response;\r\n if (success) {\r\n const { RequestorType, CategoryList, PriorityList, EnvironmentList,ToolTips } = response.data\r\n \r\n let requestorIsSelf = !!this.state.RequestedBy ? { Name: getName(this.state.RequestedBy, RequestorType), IsSelf: this.state.isSelfRequestor } : RequestorType.find(function (requestor) {\r\n return requestor.IsSelf === true\r\n })\r\n await this.setState({\r\n RequestorTypeList: RequestorType || [],\r\n CategoryList: CategoryList || [],\r\n PriorityList: PriorityList || [],\r\n EnvironmentList: EnvironmentList || [],\r\n\r\n \r\n ToolTipsList: ToolTips || [\r\n {\r\n \"FieldId\": 238,\r\n \"FormKey\": \"RequestedBy\",\r\n \"FieldName\": \"Requested by\",\r\n \"ToolTip\": \"\"\r\n },\r\n {\r\n \"FieldId\": 239,\r\n \"FormKey\": \"OnBehalfRequesterEnterpriseID\",\r\n \"FieldName\": \"Requester Enterprise ID\",\r\n \"ToolTip\": \"\"\r\n },\r\n {\r\n \"FieldId\": 240,\r\n \"FormKey\": \"RequestTitle\",\r\n \"FieldName\": \"Request Title\",\r\n \"ToolTip\": \"\"\r\n },\r\n {\r\n \"FieldId\": 241,\r\n \"FormKey\": \"IssueDescription\",\r\n \"FieldName\": \"Issue Description\",\r\n \"ToolTip\": \"\"\r\n },\r\n {\r\n \"FieldId\": 242,\r\n \"FormKey\": \"Category\",\r\n \"FieldName\": \"Category\",\r\n \"ToolTip\": \"\"\r\n },\r\n {\r\n \"FieldId\": 243,\r\n \"FormKey\": \"Requestor\",\r\n \"FieldName\": \"Requestor\",\r\n \"ToolTip\": \"\"\r\n },\r\n {\"FieldId\": 244,\r\n \"FormKey\": \"LineManager\",\r\n \"FieldName\": \"Line Manager/Alternate Contact (Optional)\",\r\n \"ToolTip\": \"\"\r\n\r\n }\r\n ,\r\n {\r\n \"FieldId\": 245,\r\n \"FormKey\": \"ApplicationName\",\r\n \"FieldName\": \"Application Name (Optional)\",\r\n \"ToolTip\": \"\"\r\n },\r\n {\r\n \"FieldId\": 246,\r\n \"FormKey\": \"Priority\",\r\n \"FieldName\": \"Priority\",\r\n \"ToolTip\": \"\"\r\n },\r\n\r\n {\r\n \"FieldId\": 247,\r\n \"FormKey\": \"Environment\",\r\n \"FieldName\": \"Environment\",\r\n \"ToolTip\": \"\"\r\n },\r\n {\r\n \"FieldId\": 255,\r\n \"FormKey\": \"Comments\",\r\n \"FieldName\": \"Comments (Optional)\",\r\n \"ToolTip\": \"\"\r\n }\r\n\r\n ],\r\n RequestedBy: requestorIsSelf.Name,\r\n isSelfRequestor: requestorIsSelf.IsSelf,\r\n showEnterpriseIdField: !requestorIsSelf.IsSelf,\r\n showSpinner: false,\r\n LeadSME: !!this.state.LeadSMEError ? this.state.LeadSME : '',\r\n AdditionalSME: !!this.state.AdditionalSMEError ? this.state.AdditionalSME : '',\r\n Requestor: ''\r\n });\r\n } else {\r\n await this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n handleExpectedDate(date) {\r\n this.setState({\r\n ExpectedDate: date,\r\n selectedExpectedDate: true\r\n });\r\n }\r\n\r\n handleExpectedDateChange = async (e) => {\r\n e.preventDefault();\r\n };\r\n\r\n handleSelectRequestedBy = async (e) => {\r\n const { name, value } = e.target\r\n let index = e.nativeEvent.target.selectedIndex;\r\n let isSelf = e.nativeEvent.target[index].getAttribute('isself');\r\n if (name === \"RequestedBy\") {\r\n if (isSelf === 'true') {\r\n this.setState({\r\n isSelfRequestor: true\r\n })\r\n } else {\r\n this.setState({\r\n isSelfRequestor: false\r\n })\r\n }\r\n if (isSelf === 'false') {\r\n this.setState({\r\n showEnterpriseIdField: true,\r\n OnBehalfRequesterEnterpriseIDError: '',\r\n OnBehalfRequesterEnterpriseID: '',\r\n });\r\n } else if (isSelf === 'true') {\r\n this.setState({\r\n showEnterpriseIdField: false,\r\n OnBehalfRequesterEnterpriseIDError: '',\r\n OnBehalfRequesterEnterpriseID: '',\r\n });\r\n }\r\n }\r\n await this.setState({\r\n [name]: value\r\n });\r\n this.validateInput(name, this.state)\r\n }\r\n\r\n async handleInput(e) {\r\n const { name, value } = e.target;\r\n await this.setState({\r\n [name]: value\r\n });\r\n\r\n if (name === \"OnBehalfRequesterEnterpriseID\") {\r\n // this.getUserListBySearch(value)\r\n }\r\n \r\n \r\n if (name === \"Request Title\") {\r\n await this.setState({\r\n [name]: value.trimStart()\r\n })\r\n }\r\n this.validateInput(name, this.state)\r\n }\r\n\r\n handleSearchUser = async (e) => {\r\n const { name, value } = e.target\r\n this.setState({\r\n [name]: value\r\n })\r\n await this.setState({ OnBehalfRequesterEnterpriseID: e.target.value });\r\n }\r\n\r\n handleBackButton = async () => {\r\n const existingContextData = this.context && this.context.existingState ? this.context.existingState : {}\r\n let advanceFormsName = getAddidtionalDetailName(existingContextData.advanceForms)\r\n await this.context.addSelectedData({ [advanceFormsName]: {} });\r\n this.props.handleBack()\r\n }\r\n\r\n handleClearForm(e) {\r\n e.preventDefault();\r\n this.setState({ resetPopup: true });\r\n }\r\n\r\n\r\n async resetFields() {\r\n const resetFields = resetStates(this.state);\r\n let requestorIsSelf = this.state.RequestorTypeList.find(function (requestor) {\r\n return requestor.IsSelf === true\r\n })\r\n await this.setState({\r\n ...resetFields,\r\n selectedFiles: [],\r\n AdditionalSMEArray: [],\r\n savedValueRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedCommentRichTextBody: RichTextEditor.createEmptyValue(),\r\n showEnterpriseIdField: false,\r\n isSelfRequestor: requestorIsSelf.IsSelf,\r\n RequestedBy: requestorIsSelf.Name,\r\n OnBehalfRequesterEnterpriseIDError: '',\r\n Priority:\"\",\r\n Environment:\"\",\r\n ApplicationName:\"\",\r\n RequestTitle:\"\",\r\n LineManager:\"\",\r\n\r\n \r\n \r\n })\r\n await this.context.addSelectedData({ internalRequestFormData: {} })\r\n }\r\n\r\n async selectRequesterID(e) {\r\n const eid = e.target.getAttribute(\"eid\")\r\n await this.setState({ OnBehalfRequesterEnterpriseID: eid, showEnterpriseIdPopup: false, OnBehalfRequesterEnterpriseIDError: '' });\r\n }\r\n\r\n validateInput(name, stateData) {\r\n let { fieldError, isError } = validateInput(name, this.state)\r\n this.setStates(fieldError)\r\n let errorkey = `${name}Error`\r\n\r\n if ((name === \"LeadSME\" && this.state[errorkey] === '') || (name === \"AdditionalSME\" && this.state[errorkey] === '')) {\r\n let emailArraytype = `${name}Array`\r\n this.setState({\r\n [emailArraytype]: [...this.state[emailArraytype], stateData[name]],\r\n [name]: '',\r\n })\r\n\r\n fieldError = validateAdditionalSMEArray(name, this.state)\r\n this.setStates(fieldError)\r\n }\r\n return !isError\r\n }\r\n async setStates(states) {\r\n await this.setState({\r\n ...states\r\n })\r\n }\r\n\r\n validate() {\r\n const validationDetails = validateInternalRequestForm(this.state, this.state.RequestorTypeList)\r\n const { fieldError, haveError } = validationDetails\r\n this.setStates(fieldError)\r\n return haveError;\r\n }\r\n\r\n async handleSubmitInternalRequest(event) {\r\n let stateWithError = setErrorMessages(this.state)\r\n if (!this.state.selectedExpectedDate) {\r\n stateWithError = {\r\n ...stateWithError, explanationError: ''\r\n }\r\n }\r\n await this.setState({\r\n ...stateWithError\r\n }, () => {\r\n const isError = this.validate()\r\n const haveError = checkErrorsByField(this.state)\r\n if (!isError && !haveError) {\r\n this.submitData()\r\n }\r\n else{\r\n console.log(\"IsError: \", isError)\r\n console.log(\"HaveError: \", haveError)\r\n }\r\n })\r\n }\r\n async submitData() {\r\n let contextData = this.context && this.context.existingState;\r\n \r\n let tempArr = {}\r\n const formFields = this.state.data;\r\n formFields.map((form) => {\r\n const { FormKey } = form\r\n const name = FormKey\r\n tempArr = {\r\n ...tempArr,\r\n [name]: this.state[name]\r\n }\r\n return null\r\n })\r\n let selectedServices = Object.values(contextData.selectedServices).filter(\r\n\r\n function (service) {\r\n if (service.haveChild === \"true\") {\r\n return service.selectedChildId.length > 0 ? true : false;\r\n }\r\n return true;\r\n }\r\n );\r\n let dateObj = {\r\n selectedServices: selectedServices,\r\n File: this.state.selectedFiles,\r\n }\r\n \r\n let RequestedBy = getId(this.state.RequestedBy, this.state.RequestorTypeList);\r\n \r\n let internalRequestFormData = {\r\n ...dateObj, \r\n InfraSupport:{\r\n Eid: this.state.Eid,\r\n RequestedBy: RequestedBy,\r\n RequestTitle: tempArr.RequestTitle? tempArr.RequestTitle : '',\r\n Category: tempArr.Category ? tempArr.Category: \"\",\r\n ApplicationName: tempArr.ApplicationName ? tempArr.ApplicationName : '',\r\n Priority: tempArr.Priority ? tempArr.Priority : '',\r\n Environment: tempArr.Environment ? tempArr.Environment : '' ,\r\n Requestor: this.state.RequestorArray.toString(),\r\n LineManager: tempArr.LineManager ? tempArr.LineManager : '',\r\n IssueDescription :this.state.IssueDescription,\r\n Comment: this.state.Comments,\r\n },\r\n isInternalRequest: true,\r\n \r\n Eid: this.state.Eid,\r\n \r\n technologyOptions: contextData.technologyId ? contextData.technologyId : '',\r\n Comments: this.state.Comments,\r\n CatID: this.props.catId,\r\n Category: this.props.catId,\r\n\r\n InternalRequest: {\r\n RequestedBy: RequestedBy ,\r\n RequestTitle: tempArr.RequestTitle? tempArr.RequestTitle : '',\r\n Comments: this.state.Comments,\r\n OnBehalfRequesterEnterpriseID:this.state.OnBehalfRequesterEnterpriseID,\r\n \r\n },\r\n\r\n }\r\n\r\n await this.context.addSelectedData({ internalRequestFormData: internalRequestFormData, isValidInternalRequestFormData: true, });\r\n if (this.props.btnLbl === 'Submit') {\r\n console.log(\"Submit\");\r\n this.props.handleSubmit()\r\n } else if (this.props.btnLbl === \"Next\") {\r\n console.log(\"Next\");\r\n this.props.handleBtnClick(1);\r\n }else{\r\n console.log(\"Not Working\");\r\n }\r\n }\r\n\r\n handleDelete = (evt) => {\r\n let { name, value } = evt.target;\r\n let emailArraytype = `${name}Array`\r\n if (this.state[emailArraytype]) {\r\n this.setState({\r\n //add all the entries in array again except the entry you want to delete (filter)\r\n [emailArraytype]: this.state[emailArraytype].filter(i => i !== value)\r\n }, () => {\r\n if (name === \"LeadSME\") {\r\n if (!this.state.LeadSMEArray.length > 0) {\r\n this.setState({ LeadSMEError: \"This is a required field\" })\r\n }\r\n }\r\n if (name === \"AdditionalSME\") {\r\n if (!this.state.AdditionalSMEArray.length > 0) {\r\n if (this.state.AdditionalSME) {\r\n this.setState({ AdditionalSMEError: \"Press Enter key to add recipient\" })\r\n } else {\r\n this.setState({ AdditionalSMEError: \"\" })\r\n }\r\n } else {\r\n let { fieldError } = validateAdditionalSMEArray(name, this.state)\r\n this.setStates(fieldError)\r\n }\r\n }\r\n if (name === \"Requestor\") {\r\n if (!this.state.RequestorArray.length > 0) {\r\n this.setState({ RequestorError: \"This is a required field\" })\r\n }\r\n }\r\n });\r\n }\r\n };\r\n handleKeyDown = (evt) => {\r\n let { name } = evt.target;\r\n let errorkey = `${name}Error`\r\n let emailArraytype = `${name}Array`\r\n if (['Enter', 'Tab', ',', ';'].includes(evt.key) && this.state[name] !== '' && this.state[errorkey] === '') {\r\n evt.preventDefault();\r\n var email = this.state[name].trim();\r\n if (email) {\r\n this.setState({\r\n [emailArraytype]: [...this.state[emailArraytype], email],\r\n [name]: '',\r\n });\r\n }\r\n }\r\n };\r\n\r\n handleAttachPopUp = () => {\r\n this.setState({\r\n openAttachment: !this.state.openAttachment\r\n });\r\n };\r\n handleSetAttachmentData = (data) => {\r\n this.setState({\r\n selectedFiles: data,\r\n })\r\n }\r\n handleOutsideClick() {\r\n this.setState({\r\n showEnterpriseIdPopup: false\r\n })\r\n }\r\n\r\n //RichTextEditer code start from here\r\n async onChange({ name, value, actualName }) {\r\n await this.setState({ [name]: value })\r\n let actualValue = value.toString('html').replace(/(<([^>]+)>)/ig, '')\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /ig, '')\r\n await this.setState({\r\n [actualName]: actualValue\r\n }, () => {\r\n if (actualValue.length > 0 || actualName === \"SuccessMeasures\") {\r\n this.validateInput(actualName, this.state)\r\n }\r\n })\r\n }\r\n async onRichTextChange(value) {\r\n this.setState({ richTextModalBody: value })\r\n }\r\n handleImageModal(text, actualName) {\r\n this.setState({\r\n imageModal: true,\r\n richTextModalBody: this.state[text],\r\n clickedRichTextBody: text,\r\n clickedActualRichTextName: actualName\r\n })\r\n }\r\n handleCloseEditor() {\r\n this.setState({\r\n imageModal: false,\r\n richTextModalBody: RichTextEditor.createEmptyValue()\r\n })\r\n }\r\n handleSendIconModal() {\r\n let actualValue = this.state.richTextModalBody.toString('html').replace(/(<([^>]+)>)/ig, '');\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n this.setState({\r\n imageModal: false,\r\n [this.state.clickedRichTextBody]: this.state.richTextModalBody,\r\n [this.state.clickedActualRichTextName]: actualValue\r\n }, () => {\r\n this.validateInput(this.state.clickedActualRichTextName, this.state)\r\n })\r\n }\r\n\r\n render() {\r\n const ToolTipsData = this.state.ToolTipsList ? this.state.ToolTipsList : false\r\n return (\r\n \r\n {AppContextData => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {ToolTipsData && ToolTipsData.map((form) => {\r\n let keyString = `${form.FormKey}Error`\r\n let selectActive = !!this.state[form.FormKey] ? \"form-control-select custom-placeholder\" : \"form-control-select\";\r\n if (form.FormKey === \"RequestedBy\") {\r\n return (\r\n \r\n
    \r\n { this.handleSelectRequestedBy(value) }}\r\n selected_value={this.state.RequestedBy}\r\n use_name=\"true\"\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"OnBehalfRequesterEnterpriseID\") {\r\n const inputErrorMessage = validateOnBehalfId(this.state[form.FormKey]);\r\n const serverErrorMessage = this.state[keyString];\r\n \r\n return (\r\n \r\n {!!this.state.showEnterpriseIdField &&\r\n
    \r\n { this.handleInput(e) }}\r\n onClick={(e) => { this.handleSearchUser(e) }}\r\n />\r\n \r\n {inputErrorMessage &&

    {inputErrorMessage}

    }\r\n {serverErrorMessage &&

    {serverErrorMessage}

    }\r\n
    \r\n }\r\n
    \r\n );\r\n }\r\n return null\r\n })}\r\n
    \r\n
    \r\n {ToolTipsData.length > 0 && ToolTipsData.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`\r\n let selectActive = !!this.state[form.FormKey] ? \"form-control-select custom-placeholder\" : \"form-control-select\";\r\n if (form.FormKey === \"RequestTitle\") {\r\n return (\r\n \r\n { this.handleInput(e) }}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n // if (form.FormKey === \"IssueDescription\") {\r\n // return (\r\n // \r\n //
    \r\n // \r\n // { this.onChange({ value, name: \"savedValueRichTextBody\", actualName: \"IssueDescription\" }) }}\r\n // toolbarConfig={[]}\r\n // placeholder=\"2000 Characters\"\r\n // />\r\n //
    \r\n // {this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n //
    \r\n // )\r\n // }\r\n if (form.FormKey === \"IssueDescription\") {\r\n const errorMessage = validateIssueDescription(this.state[form.FormKey])\r\n return (\r\n \r\n
    \r\n \r\n { this.onChange({ value, name: \"savedValueRichTextBody\", actualName: \"IssueDescription\" }) }}\r\n toolbarConfig={[]}\r\n placeholder=\"2000 Characters\"\r\n />\r\n
    \r\n {this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n {errorMessage ?

    {errorMessage}

    : ''}\r\n
    \r\n )\r\n }\r\n if (form.FormKey === \"Category\") {\r\n return (\r\n \r\n { this.handleInput(e) }}\r\n selected_value={!!this.state[form.FormKey] ? this.state[form.FormKey] : ''}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"Requestor\") {\r\n return (\r\n \r\n
    \r\n \r\n

    \r\n 0 ? \"\" : \"Enter email ID\"}\r\n emailErrors={this.state[keyString]}\r\n isError={this.state[keyString] ? true : false}\r\n disabled={this.state.RequestorArray.length === 1 ? true : false}\r\n disableFormGroup={this.state.RequestorArray.length === 1 ? true : false}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"LineManager\") {\r\n const errorMessage = validateProjectPoint(this.state[form.FormKey]);\r\n return (\r\n \r\n
    \r\n \r\n \"info-icon\"\r\n \r\n \r\n \r\n { this.handleInput(e) }}\r\n />\r\n\r\n
    \r\n {errorMessage ?

    {errorMessage}

    : ''}\r\n
    \r\n );\r\n }\r\n \r\n return null\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {ToolTipsData.length > 0 && ToolTipsData.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`\r\n let selectActive = !!this.state[form.FormKey] ? \"form-control-select custom-placeholder\" : \"form-control-select\";\r\n if (form.FormKey === \"ApplicationName\") {\r\n return (\r\n \r\n { this.handleInput(e) }}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n\r\n if (form.FormKey === \"Priority\") {\r\n return (\r\n \r\n { this.handleInput(e) }}\r\n selected_value={!!this.state[form.FormKey] ? this.state[form.FormKey] : ''}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"Environment\") {\r\n return (\r\n \r\n { this.handleInput(e) }}\r\n selected_value={!!this.state[form.FormKey] ? this.state[form.FormKey] : ''}\r\n />\r\n {!!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n\r\n \r\n return null\r\n })}\r\n
    \r\n
    \r\n {ToolTipsData.length > 0 && ToolTipsData.map((form, key) => {\r\n //let keyString = `${form.FormKey}Error`\r\n if (form.FormKey === \"Comments\") {\r\n const errorMessage = validateComments(this.state[form.FormKey]);\r\n return (\r\n \r\n
    \r\n \r\n { this.onChange({ value, name: \"savedCommentRichTextBody\", actualName: \"Comments\" }) }}\r\n toolbarConfig={[]}\r\n placeholder=\"25000 Characters\"\r\n />\r\n {errorMessage ?

    {errorMessage}

    : ''}\r\n
    \r\n
    \r\n )\r\n }\r\n return null\r\n })}\r\n {
    \r\n
      { this.handleAttachPopUp() }}>\r\n \"\"\r\n

      Attachments

      ({this.state.selectedFiles ? this.state.selectedFiles.length : '0'}) (Optional)

    \r\n {this.state.openAttachment &&\r\n { this.handleSetAttachmentData(data) }} selectedFile={this.state.selectedFiles || []} />}\r\n
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n { this.handleBackButton() }} />\r\n this.handleClearForm(e)} />\r\n
    \r\n {this.state.resetPopup && (\r\n {\r\n this.setState({ resetPopup: false });\r\n }}\r\n handleClose={() => {\r\n this.setState({ resetPopup: false });\r\n this.resetFields();\r\n }}>\r\n

    Are you sure you want to reset this page?

    \r\n
    \r\n )}\r\n {this.state.imageModal && \r\n \"close-icon\" this.handleCloseEditor()} />\r\n

    \r\n { this.onRichTextChange(value) }} placeholder=\"Type your text here...\"\r\n toolbarConfig={toolbarConfig} />\r\n \"send-icon\" this.handleSendIconModal()} />\r\n
    }\r\n {this.state.error && { this.setState({ showErrorPopup: false }); }} buttonPosition=\"center-button\">

    {this.state.error}

    }\r\n {this.state.showSpinner && }\r\n
    \r\n )\r\n }}\r\n
    \r\n )\r\n\r\n }\r\n}\r\nInfraSupport.contextType = RequestContext;\r\nexport default InfraSupport","import React, { Fragment, Component } from 'react';\r\nimport \"../tab.scss\";\r\nimport { RequestContext } from \"../../../../context-providers/request-provider/request-provider\";\r\nimport InternalRequestBasicForm from \"../../../internal-request-management/internal-request-form/internal-request-basic-form/internal-request-basic-form\";\r\nimport { loadComponentDetails } from \"../../../common/tab-manipulations\";\r\nimport DiaRequestAdditionalForm from \"../../../internal-request-management/internal-request-form/dia-request-form/dia-request-form\";\r\nimport ScopeChangeRequestForm from '../../../internal-request-management/internal-request-form/scope-change-request-form/scope-change-request-form';\r\nimport AcceleratorRequestForm from '../../../internal-request-management/internal-request-form/accelerator-request-form/accelerator-request-form';\r\nimport ReportRequestAdditionalForm from \"../../../internal-request-management/internal-request-form/report-request-additional-form/report-request-additional-form\";\r\nimport StaffingChangeRequestForm from \"../../../internal-request-management/internal-request-form/staffing-change-request-form/staffing-change-request-form\";\r\nimport WorkdayRequestForm from \"../../../internal-request-management/internal-request-form/workday-form/Workday\";\r\nimport SalesAdvisoryRequestForm from \"../../../internal-request-management/internal-request-form/sales-advisory/sales-advisory\";\r\nimport Myc from '../../../internal-request-management/internal-request-form/myc-form/Myc';\r\nimport InfraSupport from '../../../internal-request-management/internal-request-form/infra-support-form/InfraSupport';\r\n\r\nclass InternalRequestTab extends Component {\r\n constructor(context, props) {\r\n super(context, props);\r\n this.state = {\r\n categoryId: this.props.catId,\r\n tabIndex: '',\r\n }\r\n }\r\n\r\n componentDidMount = () => {\r\n console.log(this.context)\r\n let tabIndex;\r\n if(this.context && this.context.existingState && this.context.existingState.serviceTitle === \"myConcerto Support Request\" ){\r\n tabIndex = \"Myc\"\r\n this.setState({tabIndex:tabIndex})\r\n }\r\n else if(this.context && this.context.existingState && this.context.existingState.serviceTitle === \"myConcerto Infra Support\" ){\r\n tabIndex = \"InfraSupport\"\r\n this.setState({tabIndex:tabIndex})\r\n }\r\n else {\r\n tabIndex = this.context && this.context.existingState && this.context.existingState.advanceForms && this.context.existingState.serviceTitle == \"Sales Advisor Content Upload\" ? 'sales-form' : this.context.existingState.advanceForms.includes(\"null\")? 'workday-form' :'internal-request-form';\r\n this.setState({ tabIndex: tabIndex });\r\n }\r\n \r\n }\r\n \r\n\r\n OnBtnClick = (formIndex) => {\r\n let i, tabcontent, tablinks, formName;\r\n tabcontent = document.getElementsByClassName(\"tabcontent\");\r\n tablinks = document.getElementsByClassName(\"tablinks\");\r\n\r\n for (i = 0; i < tabcontent.length; i++) {\r\n tabcontent[i].style.display = \"none\";\r\n }\r\n for (i = 0; i < tablinks.length; i++) {\r\n if (formIndex === parseInt(tablinks[i].getAttribute(\"formindex\"))) {\r\n if (tablinks[i].hasAttribute(\"disabled\"))\r\n formName = tablinks[i - 1].getAttribute(\"formname\");\r\n else\r\n formName = tablinks[i].getAttribute(\"formname\");\r\n }\r\n }\r\n for (i = 0; i < tablinks.length; i++) {\r\n tablinks[i].className = tablinks[i].className.replace(\" active\", \"\");\r\n }\r\n this.setState({ tabIndex: formName });\r\n if (document.getElementById(formName)) {\r\n document.getElementById(formName).style.display = \"block\";\r\n }\r\n for (i = 0; i < tablinks.length; i++) {\r\n if (tablinks[i].getAttribute(\"formname\") === formName)\r\n tablinks[i].className = tablinks[i].className += \" active\";\r\n }\r\n }\r\n\r\n render() {\r\n const { tabIndex } = this.state;\r\n const isMycTabActive = tabIndex === 'Myc';\r\n const isInfraSupportActive = tabIndex === 'InfraSupport'\r\n \r\n return (\r\n \r\n {providerData => {\r\n const preFilledData = providerData.existingState\r\n const selectedServiceIds = preFilledData && preFilledData.selectedServices ? Object.keys(preFilledData.selectedServices) : [];\r\n const selectedService = preFilledData && preFilledData.selectedServices ? preFilledData.selectedServices[selectedServiceIds] : {};\r\n const technologyOptions = preFilledData && preFilledData.technologyId ? preFilledData.technologyId : \"\";\r\n const isDiaRequest = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.includes(\"DIARequest\");\r\n const isScopeChangeRequest = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.includes(\"ScopeChangeRequest\");\r\n const isAcceleratorRequest = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.includes(\"AcceleratorRequest\");\r\n const isMyc = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.includes(\"null\");\r\n const isInfraSupport = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.includes(\"null\");\r\n const isReportRequest = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.includes(\"ReportingRequest\");\r\n const isStaffingChangeRequest = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.includes(\"StaffingChangeRequest\");\r\n const isWorkdayRequest = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.includes(\"null\");\r\n const isSalesAdvisoryRequest = preFilledData && preFilledData.advanceForms && preFilledData.advanceForms.includes(\"null\");\r\n let tabNm = preFilledData && preFilledData.serviceTitle ? preFilledData.serviceTitle : 'Scope Request';\r\n if (isDiaRequest || isScopeChangeRequest || isAcceleratorRequest||isMyc||isInfraSupport || isReportRequest || isStaffingChangeRequest || isWorkdayRequest || isSalesAdvisoryRequest) {\r\n tabNm =/*preFilledData && */preFilledData.selectedServices && Object.keys(preFilledData.selectedServices).length === 1 && preFilledData.selectedServices[selectedServiceIds].serviceName? preFilledData.selectedServices[selectedServiceIds].serviceName: '';\r\n }\r\n let basicFrmBtnLbl = 'Submit', basicfrmIndex = 0, diaFrmBtnLbl = '', diafrmIndex = '', isadditionalTabNm = '';\r\n if (!!isDiaRequest || isScopeChangeRequest || isAcceleratorRequest|| isReportRequest || isStaffingChangeRequest) {\r\n basicFrmBtnLbl = 'Next'; diaFrmBtnLbl = 'Submit'; diafrmIndex = 1; isadditionalTabNm = 'Additional Details';\r\n } else if (isWorkdayRequest) {\r\n isadditionalTabNm = tabNm;\r\n }else if (isSalesAdvisoryRequest) {\r\n isadditionalTabNm = tabNm;\r\n } else {\r\n basicFrmBtnLbl = 'Submit';\r\n }\r\n let tabIndexFormName;\r\n if (isDiaRequest) {\r\n tabIndexFormName = 'dia-request-form';\r\n } else if (isScopeChangeRequest) {\r\n tabIndexFormName = 'scope-change-request-form';\r\n } else if (isAcceleratorRequest) {\r\n tabIndexFormName = 'accelerator-request-form';\r\n }else if(isMyc){\r\n tabIndexFormName = 'Myc'\r\n }else if(isInfraSupport){\r\n tabIndexFormName = 'InfraSupport'\r\n }else if (isReportRequest) {\r\n tabIndexFormName = 'report-request-form';\r\n } else if (isStaffingChangeRequest) {\r\n tabIndexFormName = 'staffing-change-request-form';\r\n } else if (isWorkdayRequest) {\r\n tabIndexFormName = 'workday-form';\r\n } else if (isSalesAdvisoryRequest) {\r\n tabIndexFormName = 'sales-form';\r\n }\r\n console.log(tabIndexFormName)\r\n return (\r\n
    \r\n {(!isWorkdayRequest || !isSalesAdvisoryRequest) ? \r\n : ''}\r\n \r\n\r\n
    \r\n
    \r\n {this.state.tabIndex === \"workday-form\" &&\r\n { this.props.backbtn(providerData) }} handleBtnClick={(formIndex) => { this.OnBtnClick(formIndex) }}\r\n showHelp={this.props.appServiceContext} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} selectedServiceIds={selectedServiceIds} />\r\n }
    \r\n
    \r\n {this.state.tabIndex=== \"Myc\" && { this.props.backbtn(providerData) }} handleBtnClick={(formIndex) => { this.OnBtnClick(formIndex) }}\r\n showHelp={this.props.appServiceContext} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} isAcceleratorRequest={isAcceleratorRequest} selectedServiceIds={selectedServiceIds}/>\r\n }\r\n
    \r\n
    \r\n {this.state.tabIndex=== \"InfraSupport\" && { this.props.backbtn(providerData) }} handleBtnClick={(formIndex) => { this.OnBtnClick(formIndex) }}\r\n showHelp={this.props.appServiceContext} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} isAcceleratorRequest={isAcceleratorRequest} selectedServiceIds={selectedServiceIds}/>\r\n }\r\n
    \r\n
    \r\n {this.state.tabIndex === \"sales-form\" &&\r\n { this.props.backbtn(providerData) }} handleBtnClick={(formIndex) => { this.OnBtnClick(formIndex) }}\r\n showHelp={this.props.appServiceContext} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} selectedServiceIds={selectedServiceIds} />\r\n }
    \r\n
    \r\n {this.state.tabIndex === \"internal-request-form\" &&\r\n { this.props.backbtn(providerData) }} handleBtnClick={(formIndex) => { this.OnBtnClick(formIndex) }}\r\n showHelp={this.props.appServiceContext} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} isAcceleratorRequest={isAcceleratorRequest} selectedServiceIds={selectedServiceIds} />\r\n }\r\n
    \r\n
    \r\n {this.state.tabIndex === \"dia-request-form\" &&\r\n { this.props.backbtn(providerData) }} handleBtnClick={(formIndex) => { this.OnBtnClick(formIndex) }}\r\n showHelp={this.props.appServiceContext} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} selectedServiceIds={selectedServiceIds} />\r\n\r\n }
    \r\n
    \r\n {this.state.tabIndex === \"scope-change-request-form\" &&\r\n { this.props.backbtn(providerData) }} handleBtnClick={(formIndex) => { this.OnBtnClick(formIndex) }}\r\n showHelp={this.props.appServiceContext} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} selectedServiceIds={selectedServiceIds} />\r\n }
    \r\n
    \r\n {this.state.tabIndex === \"accelerator-request-form\" &&\r\n { this.props.backbtn(providerData) }} handleBtnClick={(formIndex) => { this.OnBtnClick(formIndex) }}\r\n showHelp={this.props.appServiceContext} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} selectedServiceIds={selectedServiceIds} />\r\n }
    \r\n
    \r\n {this.state.tabIndex === \"report-request-form\" &&\r\n { this.props.backbtn(providerData) }} handleBtnClick={(formIndex) => { this.OnBtnClick(formIndex) }}\r\n showHelp={this.props.appServiceContext} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} selectedServiceIds={selectedServiceIds} />\r\n }
    \r\n
    \r\n {this.state.tabIndex === \"staffing-change-request-form\" &&\r\n { this.props.backbtn(providerData) }} handleBtnClick={(formIndex) => { this.OnBtnClick(formIndex) }}\r\n showHelp={this.props.appServiceContext} handleSubmit={() => { this.props.formSubmit(providerData) }} setScreenName={this.props.setScreenName} selectedServiceIds={selectedServiceIds} />\r\n }
    \r\n
    \r\n );\r\n }}\r\n
    )\r\n }\r\n}\r\nInternalRequestTab.contextType = RequestContext;\r\nexport default InternalRequestTab;","import { postData, fileUploadPostData } from \"../../../api/api-manager\";\r\nimport dateFormat from \"dateformat\";\r\n\r\nexport const prepareFormData = ({ contextData, isInternalReqForm = false }) => {\r\n let formData = {}\r\n if (!isInternalReqForm) {\r\n const { basicFormData = {}, crpFormData = {}, sapFormData = {}, oracleFormData = {}, successFactorFormData = {}, btpFormData = {}, talentHRformData = {}, processCompositionFormData = {}, solutionPlanningFormData = {} } = contextData.existingState\r\n const CRP = (Object.entries(crpFormData).length !== 0)\r\n const SAP = (Object.entries(sapFormData).length !== 0)\r\n const OracleRequest = (Object.entries(oracleFormData).length !== 0)\r\n const PROCESSCOMP = (Object.entries(processCompositionFormData).length !== 0)\r\n const SuccessFactor = (Object.entries(successFactorFormData).length !== 0)\r\n const BTP = (Object.entries(btpFormData).length !== 0)\r\n const talentHR = (Object.entries(talentHRformData).length !== 0)\r\n const solutionPlanning = (Object.entries(solutionPlanningFormData).length !== 0)\r\n\r\n let advanceFormDataObj = {}\r\n if (CRP) {\r\n const crpremovableKeys = ['Industry', 'Landscape', 'cartDetails', 'cartArr']\r\n const updatedCRPObj = Object.keys(crpFormData).reduce((object, key) => {\r\n if (crpremovableKeys.includes(key.toString())) {\r\n return object\r\n } else {\r\n object[key] = crpFormData[key]\r\n return object\r\n }\r\n }, {})\r\n\r\n advanceFormDataObj = {\r\n ...advanceFormDataObj,\r\n CRP: { ...updatedCRPObj }\r\n }\r\n }\r\n if (SAP) {\r\n const removableKeys = ['Industry', 'Landscape', 'cartDetails', 'cartArr']\r\n const updatedSAPObj = Object.keys(sapFormData).reduce((object, key) => {\r\n if (removableKeys.includes(key.toString())) {\r\n return object\r\n } else {\r\n object[key] = sapFormData[key]\r\n return object\r\n }\r\n }, {})\r\n\r\n advanceFormDataObj = {\r\n ...advanceFormDataObj,\r\n SAP: { ...updatedSAPObj }\r\n }\r\n }\r\n if (OracleRequest) {\r\n const removableKeys = ['Industry', 'Landscape', 'cartDetails', 'cartArr']\r\n const updatedSAPObj = Object.keys(oracleFormData).reduce((object, key) => {\r\n if (removableKeys.includes(key.toString())) {\r\n return object\r\n } else {\r\n object[key] = oracleFormData[key]\r\n return object\r\n }\r\n }, {})\r\n\r\n advanceFormDataObj = {\r\n ...advanceFormDataObj,\r\n OracleRequest: { ...updatedSAPObj }\r\n }\r\n }\r\n if (SuccessFactor) {\r\n const removableKeys = ['Industry', 'Landscape', 'cartDetails', 'cartArr']\r\n const updatedSAPObj = Object.keys(successFactorFormData).reduce((object, key) => {\r\n\r\n if (removableKeys.includes(key.toString())) {\r\n return object\r\n } else {\r\n object[key] = successFactorFormData[key]\r\n return object\r\n }\r\n }, {})\r\n\r\n advanceFormDataObj = {\r\n ...advanceFormDataObj,\r\n SuccessFactor: { ...updatedSAPObj }\r\n }\r\n }\r\n if (BTP) {\r\n const removableKeys = ['Industry', 'Landscape', 'cartDetails', 'cartArr']\r\n const updatedSAPObj = Object.keys(btpFormData).reduce((object, key) => {\r\n\r\n if (removableKeys.includes(key.toString())) {\r\n return object\r\n } else {\r\n object[key] = btpFormData[key]\r\n return object\r\n }\r\n }, {})\r\n\r\n advanceFormDataObj = {\r\n ...advanceFormDataObj,\r\n BTPIntelligentApplication: { ...updatedSAPObj }\r\n }\r\n }\r\n if (talentHR) {\r\n const removableKeys = ['Industry', 'Landscape', 'cartDetails', 'cartArr']\r\n const updatedSAPObj = Object.keys(talentHRformData).reduce((object, key) => {\r\n\r\n if (removableKeys.includes(key.toString())) {\r\n return object\r\n } else {\r\n object[key] = talentHRformData[key]\r\n return object\r\n }\r\n }, {})\r\n\r\n advanceFormDataObj = {\r\n ...advanceFormDataObj,\r\n talentHR: { ...updatedSAPObj }\r\n }\r\n }\r\n if (PROCESSCOMP) {\r\n advanceFormDataObj = {\r\n ...advanceFormDataObj,\r\n ProcessComposition: { ...processCompositionFormData }\r\n }\r\n }\r\n if (solutionPlanning) {\r\n advanceFormDataObj = {\r\n ...advanceFormDataObj,\r\n SolutionPlanning: { ...solutionPlanningFormData }\r\n }\r\n }\r\n let updatedBasicFormData = basicFormData;\r\n if (basicFormData) {\r\n updatedBasicFormData = {\r\n ...basicFormData,\r\n ClientDemoDate: dateFormat(basicFormData.ClientDemoDate, \"isoDate\")\r\n }\r\n }\r\n formData = {\r\n ...updatedBasicFormData,\r\n ...advanceFormDataObj\r\n }\r\n } else {\r\n const { internalRequestFormData = {}, diaRequestFormData = {}, scopeChangeRequestFormData = {}, acceleratorRequestFormData = {}, staffingChangeRequestFormData = {}, reportingRequestFormData = {}, workdayRequestFormData = {} , salesAdvisoryFormData = {} } = contextData.existingState;\r\n let updatedinternalRequestFormData = internalRequestFormData;\r\n\r\n let removableKeys = ['selectedServices','MyCSupport','InfraSupport','Comments','Category' ,'technologyOptions', 'Eid', 'FunctionalArea', 'Industry', 'CatID', 'File']\r\n const updatedSAPObj = Object.keys(internalRequestFormData).reduce((object, key) => {\r\n if (removableKeys.includes(key.toString())) {\r\n object[key] = internalRequestFormData[key]\r\n return object\r\n } else {\r\n return object\r\n }\r\n }, {})\r\n removableKeys = ['selectedServices', 'technologyOptions', 'Eid', 'FunctionalArea', 'Industry', 'internalRequest', 'CatID', 'File']\r\n if (internalRequestFormData && internalRequestFormData.InternalRequest) {\r\n updatedinternalRequestFormData = Object.keys(internalRequestFormData.InternalRequest).reduce((object, key) => {\r\n if (removableKeys.includes(key.toString())) {\r\n return object\r\n } else {\r\n object[key] = internalRequestFormData.InternalRequest[key]\r\n return object\r\n\r\n }\r\n }, {})\r\n }\r\n if(Object.entries(salesAdvisoryFormData).length !== 0){\r\n let title = salesAdvisoryFormData.SalesAdvisorContentUpload\r\n updatedinternalRequestFormData.RequestTitle = title.RequestTitle\r\n updatedinternalRequestFormData.LeadSME = title.LeadSME\r\n updatedinternalRequestFormData.ExpectedDate = title.ExpectedDate\r\n updatedinternalRequestFormData.Eid = salesAdvisoryFormData.Eid\r\n updatedinternalRequestFormData.Category = salesAdvisoryFormData.Category\r\n }\r\n \r\n formData = {\r\n InternalRequest: updatedinternalRequestFormData,\r\n isInternalRequest: true,\r\n ...updatedSAPObj,\r\n ...diaRequestFormData,\r\n ...scopeChangeRequestFormData,\r\n ...acceleratorRequestFormData,\r\n ...staffingChangeRequestFormData,\r\n ...workdayRequestFormData,\r\n ...salesAdvisoryFormData,\r\n ...reportingRequestFormData\r\n }\r\n\r\n }\r\n\r\n return formData\r\n}\r\n\r\nexport const checkIsFormEmpty = (contextData, isInternalReqForm = false) => {\r\n if (!isInternalReqForm) {\r\n const { basicFormData = {}, crpFormData = {}, sapFormData = {}, oracleFormData = {}, successFactorFormData = {}, talentHRformData = {}, btpFormData = {}, processCompositionFormData = {},\r\n isValidBasicFormData = false, isValidCRPformData = false, isValidSAPformData = false, solutionPlanningFormData = {} } = contextData.existingState\r\n const CRP = (Object.entries(crpFormData).length !== 0) && isValidCRPformData\r\n const SAP = (Object.entries(sapFormData).length !== 0) && isValidSAPformData\r\n const OracleRequest = (Object.entries(oracleFormData).length !== 0)\r\n \r\n const SuccessFactor = (Object.entries(successFactorFormData).length !== 0)\r\n const BTP = (Object.entries(btpFormData).length !== 0)\r\n const talentHR = (Object.entries(talentHRformData).length !== 0)\r\n const basic = (Object.entries(basicFormData).length !== 0) && isValidBasicFormData\r\n const PROCESSCOMP = (Object.entries(processCompositionFormData).length !== 0)\r\n const solutionPlanning = (Object.entries(solutionPlanningFormData).length !== 0)\r\n let makeCall = true\r\n\r\n if (contextData && contextData.existingState.advanceForms && contextData.existingState.advanceForms.length > 0 && contextData.existingState.advanceForms.includes(\"CRP\")) {\r\n makeCall = CRP ? true : false\r\n }\r\n if (makeCall && contextData && contextData.existingState.advanceForms && contextData.existingState.advanceForms.length > 0 && contextData.existingState.advanceForms.includes(\"SAP\")) {\r\n makeCall = SAP ? true : false\r\n }\r\n if (makeCall && contextData && contextData.existingState.advanceForms && contextData.existingState.advanceForms.length > 0 && contextData.existingState.advanceForms.includes(\"OracleEnvironment\")) {\r\n makeCall = OracleRequest ? true : false\r\n }\r\n if (makeCall && contextData && contextData.existingState.advanceForms && contextData.existingState.advanceForms.length > 0 && contextData.existingState.advanceForms.includes(\"THR\")) {\r\n makeCall = SuccessFactor ? true : false\r\n }\r\n if (makeCall && contextData && contextData.existingState.advanceForms && contextData.existingState.advanceForms.length > 0 && contextData.existingState.advanceForms.includes(\"BTP\")) {\r\n makeCall = BTP ? true : false\r\n }\r\n if (makeCall && contextData && contextData.existingState.advanceForms && contextData.existingState.advanceForms.length > 0 && contextData.existingState.advanceForms.includes(\"THRS\")) {\r\n makeCall = talentHR ? true : false\r\n }\r\n if (makeCall && contextData && contextData.existingState.advanceForms && contextData.existingState.advanceForms.length > 0 && contextData.existingState.advanceForms.includes(\"ProcessComposition\")) {\r\n makeCall = PROCESSCOMP ? true : false\r\n }\r\n if (makeCall && contextData && contextData.existingState.advanceForms && contextData.existingState.advanceForms.length > 0 && contextData.existingState.advanceForms.includes(\"SolutionPlanning\")) {\r\n makeCall = solutionPlanning ? true : false\r\n }\r\n if (!makeCall || !basic) {\r\n return true\r\n }\r\n return false\r\n } else {\r\n const { internalRequestFormData = {}, isValidInternalRequestFormData = false, workdayRequestFormData = {} , salesAdvisoryFormData= {} } = contextData.existingState\r\n const internalReqData = (Object.entries(internalRequestFormData).length !== 0) && isValidInternalRequestFormData\r\n const workdayReqData = (Object.entries(workdayRequestFormData).length !== 0)\r\n const salesReqData = (Object.entries(salesAdvisoryFormData).length !== 0)\r\n if (!internalReqData && !workdayReqData && !salesReqData) {\r\n return true\r\n }\r\n return false\r\n }\r\n}\r\n\r\nexport const submitFormData = async (basicFormData, formData) => {\r\n let returnResponse = {\r\n isError: true,\r\n states: {}\r\n }\r\n console.log(\"formData: \", formData)\r\n let successMessageObject = {};\r\n const response = await postData({\r\n serviceName: \"Submit\",\r\n data: formData\r\n });\r\n\r\n const { success, data, successMessage, error, isInfo = false } = await response;\r\n\r\n if (success) {\r\n if (successMessage.includes(';')) {\r\n successMessageObject = successMessage.split(\";\").reduce(function (obj, str) {\r\n let strParts = str.split(\":\");\r\n if (strParts[0].trim() !== \"URL\" && strParts[0] && strParts[1]) { //<-- Make sure the key & value are not undefined\r\n obj[strParts[0].replace(/\\s+/g, '')] = strParts[1].trim(); //<-- Get rid of extra spaces at beginning of value strings\r\n } else if (strParts[0].trim() === \"URL\" && strParts[0] && strParts[1] && strParts[2]) {\r\n obj[strParts[0].replace(/\\s+/g, '')] = `${strParts[1].replace(/ /g, \"\")}:${strParts[2].replace(/ /g, \"\")}`;\r\n }\r\n return obj;\r\n }, {});\r\n }\r\n\r\n let responseRequestNumber = successMessageObject && successMessageObject[\"requestNumber\"] ? successMessageObject[\"requestNumber\"] : successMessage || '';\r\n\r\n if (successMessage.includes('!')) {\r\n let val = responseRequestNumber.toString()\r\n responseRequestNumber = val.replace(/!/g, '')\r\n }\r\n\r\n if (formData.File && formData.File.length > 0) {\r\n await Promise.all(formData.File.map((fileData, index) => {\r\n const fileFormData = new FormData();\r\n fileFormData.append('File', fileData);\r\n fileFormData.append('RequestNumber', responseRequestNumber);\r\n if (fileData['description'] !== undefined) {\r\n fileFormData.append('Description', fileData.description);\r\n } else {\r\n fileFormData.append('Description', \"\");\r\n }\r\n const uploadedSuccess = fileUploadPostData({\r\n serviceName: \"Upload\",\r\n data: fileFormData,\r\n requestNumber: responseRequestNumber\r\n });\r\n return uploadedSuccess\r\n }))\r\n }\r\n\r\n if (basicFormData.File && basicFormData.File.length > 0) {\r\n await Promise.all(basicFormData.File.map((fileData, index) => {\r\n const fileFormData = new FormData();\r\n fileFormData.append('File', fileData);\r\n fileFormData.append('RequestNumber', responseRequestNumber);\r\n if (fileData['description'] !== undefined) {\r\n fileFormData.append('Description', fileData.description);\r\n } else {\r\n fileFormData.append('Description', \"\");\r\n }\r\n const uploadedSuccess = fileUploadPostData({\r\n serviceName: \"Upload\",\r\n data: fileFormData,\r\n requestNumber: responseRequestNumber\r\n });\r\n return uploadedSuccess\r\n }))\r\n }\r\n if (formData.StaffingChangeRequest && formData.StaffingChangeRequest.AdditionalDetails && formData.StaffingChangeRequest.AdditionalDetails[0].files && formData.StaffingChangeRequest.AdditionalDetails[0].files.length > 0) {\r\n\r\n let File = formData.StaffingChangeRequest.AdditionalDetails[0].files;\r\n if (File && File.length > 0) {\r\n await Promise.all(File.map((fileData, index) => {\r\n const fileFormData = new FormData();\r\n fileFormData.append('File', fileData);\r\n fileFormData.append('RequestNumber', responseRequestNumber);\r\n if (fileData['description'] !== undefined) {\r\n fileFormData.append('Description', fileData.description);\r\n } else {\r\n fileFormData.append('Description', \"\");\r\n }\r\n fileFormData.append('IsBulkAttachment', true);\r\n const uploadedSuccess = fileUploadPostData({\r\n serviceName: \"Upload\",\r\n data: fileFormData,\r\n requestNumber: responseRequestNumber\r\n });\r\n return uploadedSuccess\r\n }))\r\n }\r\n }\r\n\r\n returnResponse = {\r\n ...returnResponse,\r\n isError: false,\r\n states: {\r\n allrequests: data,\r\n submitPopup: true,\r\n showSpinner: false,\r\n successMessage: successMessageObject && successMessageObject[\"requestNumber\"] ? successMessageObject[\"requestNumber\"] : successMessage || '',\r\n isLinkEnable: successMessageObject && successMessageObject[\"isLinkEnable\"] ? successMessageObject[\"isLinkEnable\"].toLowerCase() === \"true\" ? true : false : false,\r\n redirectURL: successMessageObject && successMessageObject[\"URL\"] ? successMessageObject[\"URL\"] : \"\"\r\n }\r\n }\r\n }\r\n else {\r\n returnResponse = {\r\n ...returnResponse,\r\n isError: true,\r\n states: { showErrorPopup: true, error: error, isInfo, showSpinner: false, disableSubmit: false }\r\n }\r\n }\r\n return returnResponse\r\n}\r\n","import React, { Component } from \"react\";\r\nimport \"./services.scss\";\r\nimport { getTokenData } from \"../../../api/sessionConfig\";\r\nimport RequestProvider from \"../../../context-providers/request-provider/request-provider\";\r\nimport { SidebarContext } from \"../../../context-providers/sidebar-provider/sidebar-provider\";\r\nimport TechnologySelection from \"./technology-selection\";\r\nimport ServiceSelection from \"./service-selection\";\r\nimport InternalServiceSelection from \"./internal-request-services/internal-service-selection\";\r\nimport ProgressBar from \"./progress-bar\";\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport Tab from \"./tab\";\r\nimport InternalRequestsTab from \"./internal-request-services/internal-request-tab\";\r\nimport { API_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport { checkIsFormEmpty, prepareFormData, submitFormData } from \"../common-functionality-search-scenario/request-submit\"\r\n//import * as Constant from \"../../../components/constants/constant\";\r\n\r\nclass Services extends Component {\r\n constructor(props) {\r\n super(props)\r\n // const status = \r\n this.state = {\r\n services: [],\r\n technologies: [],\r\n scenario: props.preData && props.preData.existingState.scenario ? props.preData.existingState.scenario : props.location && props.location.state ? props.location.state.scenerioTitle : '',\r\n data: (props.location &&\r\n props.location.state) || {\r\n categoryId: props.categoryId || null,\r\n scenerioTitle: null\r\n },\r\n showRequestForm: !!props.showRequestForm,\r\n workFlowAutomation: !!props.workFlowAutomation,\r\n showErrorPopup: false,\r\n showSpinner: true,\r\n submitPopup: false,\r\n serviceTourExit: false,\r\n tabIndex: \"basic\",\r\n disableSubmit: false,\r\n openSections: {},\r\n isParameterised: !!props.isParameterised,\r\n isInfo: false,\r\n textDisplay: this.context && this.context.existingState && this.context.existingState.textDisplay ? this.context.existingState.textDisplay : false,\r\n isInternalReqForm: (props.preData && props.preData.existingState && props.preData.existingState.isInternalReqForm) || (props.location && props.location.state && !!props.location.state.isInternalReq)\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const statusObj = (this.props.preData && this.props.preData.existingState && Object.values(this.props.preData.existingState.selectedServices))\r\n const svcStatus = statusObj ? ((statusObj[0].svcStatus === 'Decommissioned' || statusObj[0].svcStatus === 'InActive' ) ? true : false) : false\r\n this.setState({ isDecommissioned: svcStatus })\r\n //if page refreshes,making sure user entering from scenarios to fetch catID\r\n if (this.state.data.categoryId === null) {\r\n this.props.history.push('/scenarios');\r\n\r\n } else {\r\n this.getTechnologies();\r\n const temp = this.state.scenario\r\n var div = document.createElement(\"div\");\r\n div.innerHTML = temp;\r\n this.setState({\r\n scenario: div.textContent || ''\r\n })\r\n }\r\n if (!this.state.showRequestForm) {\r\n this.props.setScreenName({ screenName: \"technologySelection\" })\r\n }\r\n }\r\n\r\n async getTechnologies() {\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || ''\r\n this.setState({ Eid: eid });\r\n const response = await getData({ serviceName: `Technology?catId=${this.state.data.categoryId}` }); //catId will be change after landing page changes\r\n const { success, error, isInfo = false } = await response;\r\n if (success) {\r\n if (response.data.length === 1) {\r\n const techId = response.data[0].ID; //api call for default technology\r\n this.getServices(techId);\r\n }\r\n else if (this.state.isParameterised) {\r\n this.getServices(this.props.technologyId);\r\n }\r\n await this.setState({\r\n technologies: response.data,\r\n showSpinner: false\r\n });\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n async getServices(techId) {\r\n const url = `Services?catId=${this.state.data.categoryId}&techId=${techId}&isInternalRequest=${!!this.state.isInternalReqForm}`;\r\n const response = await getData({ serviceName: url });\r\n const { success, error, isInfo = false } = await response;\r\n if (success) {\r\n await this.setState({\r\n services: response.data.ServiceList,\r\n svcCount: response.data.svcCount.serviceCount || 0,\r\n showSpinner: false,\r\n showText: true\r\n });\r\n if (response.data.ServiceList.length > 0) {\r\n if (this.state.isParameterised) {\r\n let groupCnt = {}\r\n response.data.ServiceList.map((groupItem, index) => {\r\n const isExist = groupItem.Services.find(({ ID }) => parseInt(ID) === parseInt(this.props.serviceId))\r\n\r\n if (isExist) {\r\n groupCnt = {\r\n [`serviceGroup${index}`]: 1\r\n }\r\n this.setState({\r\n serviceGroupCount: { ...groupCnt }\r\n })\r\n }\r\n return null\r\n })\r\n } else {\r\n response.data.ServiceList.find(services => services.IsAccOpen === true);\r\n }\r\n }\r\n\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n handleTechSelection = (e) => {\r\n this.setState({ technology: e.target.value, isParameterised: false, serviceGroupCount: {} });\r\n this.getServices(e.target.id)\r\n }\r\n\r\n async handleBack(inData) {\r\n await this.setState({ showRequestForm: false });\r\n await inData.addSelectedData(this.state);\r\n }\r\n\r\n handleServiceSelection = e => {\r\n this.setState({ selectedServices: Object.values(e) });\r\n };\r\n\r\n handleServiceSubmit = e => {\r\n this.setState({ showRequestForm: true });\r\n };\r\n\r\n async handleSubmit(contextData) {\r\n console.log(contextData)\r\n const formData = prepareFormData({ contextData, isInternalReqForm: !!this.state.isInternalReqForm })\r\n const respFormEmpty = checkIsFormEmpty(contextData, !!this.state.isInternalReqForm)\r\n const { basicFormData = {}, internalRequestFormData = {}, workdayRequestFormData = {} } = contextData.existingState\r\n let tmpFormData = !!this.state.isInternalReqForm ? internalRequestFormData : basicFormData\r\n tmpFormData={...tmpFormData,workFlowAutomation:contextData.existingState.workFlowAutomation}\r\n if (respFormEmpty && Object.keys(workdayRequestFormData).length === 0) {\r\n this.setState({ showErrorPopup: true, error: 'Please fill details for all the forms' });\r\n }\r\n else {\r\n if (!this.state.disableSubmit) {\r\n await this.setState({ disableSubmit: true, showSpinner: true })\r\n\r\n const { states } = await submitFormData(tmpFormData, formData)\r\n this.setState({\r\n ...states\r\n })\r\n }\r\n }\r\n }\r\n\r\n enableErrorPopup = (error, isInfo = false) => {\r\n this.setState({ showErrorPopup: true, error: error, isInfo, showSpinner: false })\r\n }\r\n\r\n handleAccordionLblSelection = lbl => {\r\n const isOpen = !!this.state.openSections[lbl];\r\n this.setState({\r\n openSections: {\r\n [lbl]: !isOpen\r\n },\r\n })\r\n }\r\n\r\n handleSelectedCount = (grpName, add = true) => {\r\n let grpCount = this.state ? this.state.serviceGroupCount : {}\r\n if (grpCount && grpCount[`${grpName}`]) {\r\n let count = grpCount[`${grpName}`]\r\n if (add) { count = count + 1 }\r\n else { count = count - 1 }\r\n this.setState({\r\n serviceGroupCount: {\r\n ...this.state.serviceGroupCount,\r\n [`${grpName}`]: count\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n serviceGroupCount: { ...this.state.serviceGroupCount, [`${grpName}`]: 1 }\r\n })\r\n }\r\n }\r\n\r\n async ToggleButton(inData) {\r\n await this.setState({\r\n textDisplay: !this.state.textDisplay\r\n });\r\n await inData.addSelectedData(this.state);\r\n }\r\n\r\n redirectToList() {\r\n this.setState({ submitPopup: false });\r\n if (!!this.state.isInternalReqForm) {\r\n this.props.history.push({\r\n pathname: '/requests',\r\n state: { isFromInternalRequest: true }\r\n })\r\n } else { this.props.history.push(\"/requests\"); }\r\n }\r\n\r\n checkStudioAccess = async (redirectURL) => {\r\n await this.setState({ showSpinner: true });\r\n const serviceName = `StudioUserAccessLink?userName=${this.state.Eid}@accenture.com`\r\n const response = await getData({ serviceName: serviceName, apiBaseUrl: API_BASE_URL });\r\n const { success, error } = await response;\r\n if (success) {\r\n if (redirectURL) {\r\n setTimeout(() => {\r\n this.setState({ showSpinner: false });\r\n window.open(redirectURL.replace('!', \"\"), '_blank');\r\n }, 5000)\r\n }\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true });\r\n }\r\n }\r\n\r\n\r\n render() {\r\n const allrequests = this.state.allrequests;\r\n const reasonPhrase = allrequests ? allrequests.reasonPhrase : null;\r\n const urlMatch = reasonPhrase ? reasonPhrase.match(/DecRepoURL:(.*?)(;|$)/) : null;\r\n const decRepoURL = urlMatch ? urlMatch[1] : null;\r\n\r\n\r\n return (\r\n \r\n \r\n {providerData => {\r\n const navToggle = providerData.sidebarState && providerData.sidebarState.toggleMenu ? \"page-content page-collapse services\" : \"page-content services\";\r\n const navToggleStatus = providerData.sidebarState && providerData.sidebarState.toggleMenu ? \"page-collapse-services\" : \"page-content-services\";\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {this.state.scenario}

    \r\n {!this.state.showRequestForm && this.state.technologies && this.state.technologies.length > 0 && (\r\n \r\n )}\r\n {!this.state.showRequestForm && !this.state.isInternalReqForm && (\r\n 0 ? this.state.services : []}\r\n handleServiceSelection={this.handleServiceSelection}\r\n submitServiceData={this.handleServiceSubmit}\r\n svcCount={this.state.svcCount || 0}\r\n openSections={this.state.openSections}\r\n handleAccordionLblSelection={this.handleAccordionLblSelection}\r\n serviceGroupCount={this.state.serviceGroupCount || {}}\r\n handleGrpCnt={this.handleSelectedCount}\r\n ToggleButtonProp={(providerDataSet) => { this.ToggleButton(providerDataSet) }}\r\n textDisplayProp={this.state.textDisplay}\r\n ToggleStatus={navToggleStatus}\r\n />\r\n )}\r\n {!this.state.showRequestForm && !!this.state.isInternalReqForm && (\r\n 0 ? this.state.services : []}\r\n handleServiceSelection={this.handleServiceSelection}\r\n submitServiceData={this.handleServiceSubmit}\r\n svcCount={this.state.svcCount || 0}\r\n openSections={this.state.openSections}\r\n handleAccordionLblSelection={this.handleAccordionLblSelection}\r\n serviceGroupCount={this.state.serviceGroupCount || {}}\r\n handleGrpCnt={this.handleSelectedCount}\r\n ToggleButtonProp={(providerDataSet) => { this.ToggleButton(providerDataSet) }}\r\n textDisplayProp={this.state.textDisplay}\r\n showText={this.state.showText}\r\n />\r\n )}\r\n {this.state.showRequestForm && !this.state.isInternalReqForm && { this.handleBack(providerDataSet) }} formSubmit={(providerDataSet) => { this.handleSubmit(providerDataSet) }} setScreenName={this.props.setScreenName} isParameterised={this.props.isParameterised} >}\r\n {this.state.showRequestForm && !!this.state.isInternalReqForm && { this.handleBack(providerDataSet) }} formSubmit={(providerDataSet) => { this.handleSubmit(providerDataSet) }} setScreenName={this.props.setScreenName} />}\r\n
    \r\n
    \r\n {((!this.state.showRequestForm && !this.state.isInternalReqForm) || (this.state.showRequestForm && !this.state.isInternalReqForm)) &&
    \r\n \r\n
    }\r\n {this.state.submitPopup && (\r\n { this.redirectToList() }}>\r\n

    Your request has been created successfully! {this.state.successMessage}

    \r\n {this.state.workFlowAutomation && (
    \r\n Please{\" \"}\r\n \r\n Click here\r\n {\" \"}\r\n to navigate back to Decision Driven Framework page to download the extract\r\n
    )}\r\n {this.state.isLinkEnable &&

    Create Client Portal using self service tool { this.checkStudioAccess(this.state.redirectURL) }}>Studio

    }\r\n \r\n )}\r\n {this.state.error && { this.setState({ showErrorPopup: false }) }} buttonPosition=\"center-button\">

    {this.state.error}

    }\r\n {this.state.showSpinner && }\r\n
    \r\n )\r\n }}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default Services;","import React, { Component } from \"react\";\r\nimport RadioButton from \"../../../components/radio-button/radiobutton\";\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\";\r\nimport \"./search-technology-selection.scss\";\r\n\r\nclass SearchTechnologySelection extends Component {\r\n constructor(props, context) {\r\n super(props, context)\r\n this.state = {\r\n technologyId: '',\r\n technology: ''\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.setDefault()\r\n }\r\n async setDefault() {\r\n await this.setState({\r\n technologyId: this.props.defaultTechId,\r\n technology: this.props.defaultTechNm,\r\n })\r\n }\r\n\r\n async handleRadio(event) {\r\n await this.setState({\r\n technology: event.target.value,\r\n technologyId: event.target.id,\r\n tmpTechnologyId: event.target.id,\r\n tmpTechnology: event.target.value,\r\n serviceCardActiveItem: ''\r\n });\r\n if (this.props.fromParent === 'true') {\r\n await this.setState({\r\n serviceDetails: {}\r\n });\r\n }\r\n await this.context.addSelectedData(this.state);\r\n }\r\n\r\n render() {\r\n const { technologies } = this.props\r\n\r\n return (\r\n \r\n {providerData => {\r\n\r\n const showChecked = providerData && providerData.existingState && providerData.existingState.tmpTechnologyId ? parseInt(providerData.existingState.tmpTechnologyId) : 0\r\n\r\n return (\r\n \r\n
    \r\n

    Technology

    \r\n
    \r\n {technologies.map((el, index) => {\r\n\r\n return (\r\n
    \r\n {\r\n this.handleRadio(e);\r\n this.props.handleRadio(e);\r\n }}\r\n value={el.Name}\r\n id={el.ID}\r\n checked={showChecked === parseInt(el.ID) ? true : false}\r\n />\r\n {el.Name}\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\nSearchTechnologySelection.contextType = RequestContext;\r\nexport default SearchTechnologySelection;\r\n","import React, { Component } from \"react\";\r\nimport \"./search-pop-up.scss\"\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport CustomButton from \"../../../components/button/nextbutton\";\r\nimport RadioButton from \"../../../components/radio-button/radiobutton\";\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\";\r\nimport * as Constant from \"../../../components/constants/constant\";\r\n\r\nclass SearchPopUp extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n technolgyList: props.technolgyList || [],\r\n fromPopup: props.fromPopup || false,\r\n technologyId: '',\r\n technology: ''\r\n };\r\n }\r\n\r\n\r\n async handleClose(event) {\r\n event.preventDefault();\r\n const clrObj = {\r\n serviceCardActiveItem: '',\r\n serviceDetails: {},\r\n }\r\n await this.context.addSelectedData({ ...clrObj });\r\n this.props.closePopup()\r\n }\r\n\r\n handleTechSelection = (e) => {\r\n this.setState({\r\n technologyId: e.target.id\r\n })\r\n }\r\n\r\n async techSelectionPopUp() {\r\n this.setState({ showPopup: false });\r\n this.props.setService(this.state.technologyId, true)\r\n await this.context.addSelectedData(this.state);\r\n this.props.closePopup()\r\n }\r\n\r\n async handleRadio(event) {\r\n await this.setState({\r\n technology: event.target.value,\r\n technologyId: event.target.id,\r\n tmpTechnology: event.target.value,\r\n tmpTechnologyId: event.target.id,\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {providerData => {\r\n const haveContextData = providerData && providerData.existingState\r\n const serviceNm = haveContextData && haveContextData.serviceDetails && haveContextData.serviceDetails.ServiceName ? haveContextData.serviceDetails.ServiceName : ''\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n

    Please select a technology

    \r\n \"Close\" { this.handleClose(e) }} />\r\n
    \r\n
    \r\n

    Service selected: {serviceNm}

    \r\n
    \r\n {this.state.technolgyList && this.state.technolgyList.length > 0 && this.state.technolgyList.map((el, index) => {\r\n return (\r\n
    \r\n {\r\n this.handleRadio(e);\r\n }}\r\n value={el.Name}\r\n id={el.ID}\r\n checked={parseInt(this.state.technologyId) === parseInt(el.ID) ? true : false}\r\n />\r\n {el.Name}\r\n
    \r\n )\r\n })}\r\n
    \r\n
    \r\n { this.techSelectionPopUp() }}\r\n disabled={this.state.technologyId ? false : true}>\r\n
    \r\n
    \r\n
    \r\n )\r\n }}\r\n
    \r\n )\r\n }\r\n}\r\n\r\nSearchPopUp.contextType = RequestContext;\r\nexport default SearchPopUp;","import React, { Component } from 'react';\r\nimport \"./service-card.scss\";\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\";\r\nimport SearchPopUp from './search-pop-up';\r\nimport CustomModal from \"../../../components/modals/custom-modal\";\r\nimport AdditionalInformation from \"../../../components/additional-information/additional-information\";\r\n\r\nclass ServiceCard extends Component {\r\n constructor(props, context) {\r\n super(props, context)\r\n this.state = {\r\n activeItem: ''\r\n };\r\n }\r\n\r\n async showTechnologyPopup(technologyList) {\r\n const clearChildSelection = {\r\n // serviceDetails: {},\r\n subServiceId: '',\r\n subService: ''\r\n }\r\n\r\n await this.context.addSelectedData({ ...clearChildSelection });\r\n this.setState({\r\n showTechnologyPopUp: true,\r\n technolgyList: technologyList\r\n });\r\n }\r\n\r\n async highLightService({ index, serviceId, itemNm }) {\r\n\r\n let lbl = `${serviceId}-${itemNm}`;\r\n await this.setState({\r\n serviceCardActiveItem: lbl\r\n });\r\n\r\n await this.context.addSelectedData(this.state);\r\n\r\n }\r\n\r\n async handleClick({ item, providerData }) {\r\n let clearChildSelection = {\r\n serviceDetails: {},\r\n subServiceId: '',\r\n subService: ''\r\n }\r\n if(item.SvcStatus===\"Decommissioned\"){\r\n clearChildSelection.serviceCardActiveItem = \"\";\r\n }\r\n\r\n if (item.Technologies.length < 2) {\r\n clearChildSelection = {\r\n ...clearChildSelection,\r\n technology: item.Technologies[0].Name,\r\n technologyId: item.Technologies[0].ID\r\n }\r\n } else {\r\n this.setState({\r\n showTechnologyPopUp: item.SvcStatus===\"Decommissioned\"?false:true,\r\n technolgyList: item.Technologies\r\n });\r\n }\r\n\r\n await this.context.addSelectedData({ ...clearChildSelection });\r\n this.props.handleClick(item, providerData)\r\n }\r\n async componentWillUnmount() {\r\n document.body.removeEventListener('click', this.handleOutsideClick);\r\n }\r\n componentDidMount() {\r\n document.body.addEventListener('click', this.handleOutsideClick);\r\n }\r\n showTooltip(elementID) {\r\n const tooltipContent = (\r\n
    \r\n All requests for ThinkTank access, project assistance & support are now handled directly by the ThinkTank team.\r\n Please click here & add the details of client, project, or problem.\r\n
    \r\n );\r\n this.setState({\r\n tooltipContent: tooltipContent,\r\n tooltipVisible: elementID,\r\n });\r\n }\r\n handleOutsideClick = (event) => {\r\n const tooltipContainer = document.querySelector('.tooltip-container');\r\n if (tooltipContainer && !tooltipContainer.contains(event.target)) {\r\n this.setState({ tooltipVisible: null });\r\n }\r\n };\r\n async handleService(techId) {\r\n // let clearChildSelection = {\r\n // serviceDetails: {},\r\n // }\r\n // await this.context.addSelectedData({ ...clearChildSelection });\r\n this.props.setService(techId)\r\n }\r\n\r\n async showAdditionInfo(popupId, id, e) {\r\n e.stopPropagation();\r\n await this.setState({\r\n infoId: id,\r\n showAdditionInfo: true,\r\n popupId: popupId,\r\n [`${popupId}-systemAction-popup`]: true\r\n })\r\n }\r\n\r\n async handleMouseHover(serviceId) {\r\n await this.setState({\r\n activeItem: serviceId\r\n });\r\n }\r\n\r\n handleMouseLeave() {\r\n this.setState({\r\n activeItem: -1\r\n })\r\n }\r\n\r\n async handleClose() {\r\n await this.setState({\r\n [`${this.state.popupId}-systemAction-popup`]: false,\r\n showAdditionInfo: false\r\n });\r\n }\r\n\r\n render() {\r\n const servicesList = this.props.servicesList ? this.props.servicesList : [];\r\n return (\r\n \r\n {providerData => {\r\n const haveContextData = providerData && providerData.existingState\r\n const techId = haveContextData && haveContextData.technologyId ? haveContextData.technologyId : ''\r\n const serviceCardActiveItem = haveContextData && haveContextData.serviceCardActiveItem ? haveContextData.serviceCardActiveItem : ''\r\n return (\r\n
    \r\n {servicesList && servicesList.length > 0 &&\r\n servicesList.map((item, serviceIndex) => {\r\n const displayableCost = item.CostMin === 0 && item.CostMax === 0 ? 'Free' : item.CostMin === -1 && item.CostMax === -1 ? 'TBD' : item.CostMin > 0 && item.CostMin === item.CostMax ? `$ ${item.CostMin}` : `$ ${item.CostMin} - ${item.CostMax}`\r\n let lbl = `${item.ServiceId}-${item.ServiceName}`;\r\n let keyStr = `${serviceIndex}-${item.ServiceId}-${techId}`;\r\n let active = item.SvcStatus;\r\n return (\r\n
    \r\n
    \r\n {/* onClick={() => { item.Technologies.length > 1 ? this.showTechnologyPopup(item.Technologies) : this.handleClick({ item, providerData }) }}> */}\r\n
    {\r\n !this.state.showAdditionInfo && this.handleClick({ item, providerData });\r\n this.highLightService({ index: serviceIndex, serviceId: item.ServiceId, itemNm: item.ServiceName });\r\n }}\r\n onMouseEnter={() => { this.handleMouseHover(item.ServiceId) }}\r\n onMouseLeave={() => { this.handleMouseLeave() }}>\r\n
      \r\n {item.Technologies && item.Technologies.length > 0 && item.Technologies.map((technology, idx) => (\r\n
    • {technology.Name}
    • \r\n ))}\r\n
    \r\n

    {item.ServiceName}

    \r\n {item.AdditionalInfoForService && { this.showAdditionInfo(item.ServiceId, item.AdditionalInfoForService, e); }}>}
    \r\n\r\n {!!this.state[`${item.ServiceId}-systemAction-popup`] && (item.ServiceId === this.state.popupId) &&\r\n { this.handleClose(); }}\r\n handleOk={() => { this.handleClose(); }}\r\n extraClass=\"additonal-information-modal\"\r\n showOkButton={false}>\r\n { this.handleClose() }}>\r\n \r\n }\r\n\r\n

    {displayableCost}

    \r\n
    \r\n {this.state.tooltipVisible === item.ServiceId && ( \r\n
    \r\n
    \r\n
    {this.state.tooltipContent}
    \r\n
    \r\n )}\r\n {(active === \"Decommissioned\" && (item.ServiceName === \"ThinkTank Enablement\" || item.ServiceName === \"ThinkTank Engage\")) && (\r\n
    this.showTooltip(item.ServiceId)} \r\n >
    \r\n )}\r\n \r\n
    \r\n \r\n
    \r\n )\r\n })}\r\n {this.state.showTechnologyPopUp &&\r\n { this.handleService(techIdKey) }}\r\n technolgyList={this.state.technolgyList || []}\r\n closePopup={() => { this.setState({ showTechnologyPopUp: false }) }}\r\n fromPopup={true}\r\n />}\r\n
    \r\n )\r\n }}\r\n
    \r\n );\r\n }\r\n}\r\nServiceCard.contextType = RequestContext;\r\nexport default ServiceCard;","import React, { Component } from \"react\";\r\nimport \"./service-details.scss\";\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\";\r\nimport RadioButton from \"../../../components/radio-button/radiobutton\";\r\nimport ProceedButton from \"../../../components/button/nextbutton\";\r\nimport parse from 'html-react-parser';\r\nimport { toUpper } from \"lodash\";\r\n\r\nclass ServiceDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n subServiceId: ''\r\n }\r\n }\r\n\r\n async handleRadio(event) {\r\n await this.setState({\r\n subService: event.target.value,\r\n subServiceId: event.target.id\r\n });\r\n await this.context.addSelectedData(this.state);\r\n }\r\n\r\n async handleProcess() {\r\n const serviceDetails = this.context && this.context.existingState && this.context.existingState.serviceDetails ? this.context.existingState.serviceDetails : {}\r\n const subServiceId = this.context && this.context.existingState && this.context.existingState.subServiceId ? this.context.existingState.subServiceId : ''\r\n const subServiceNm = this.context && this.context.existingState && this.context.existingState.subService ? this.context.existingState.subService : ''\r\n if (Object.keys(serviceDetails).length !== 0) {\r\n let advanceForm = []\r\n let selectedServices = {\r\n [serviceDetails.ServiceId]: {\r\n grpName: \"\",\r\n haveChild: !!serviceDetails.Options ? \"true\" : \"false\",\r\n id: serviceDetails.ServiceId.toString(),\r\n selectedChildId: subServiceId,\r\n selectedChildName: subServiceNm,\r\n serviceName: serviceDetails.ServiceName,\r\n serviceGroupCount: {}\r\n }\r\n }\r\n advanceForm = [serviceDetails.AdvanceForm]\r\n await this.setState({\r\n selectedServices,\r\n advanceForms: advanceForm,\r\n crpServiceTitle: serviceDetails.AdvanceForm === 'CRP' ? serviceDetails.ServiceName : '',\r\n sapServiceTitle: serviceDetails.AdvanceForm === 'SAP' ? serviceDetails.ServiceName : '',\r\n oracleServiceTitle: serviceDetails.AdvanceForm === 'OracleEnvironment' ? serviceDetails.ServiceName : '',\r\n successFactorServiceTitle: serviceDetails.AdvanceForm === 'THR' ? serviceDetails.ServiceName : '',\r\n btpServiceTitle: serviceDetails.AdvanceForm === 'BTP' ? serviceDetails.ServiceName : '',\r\n talentHRServiceTitle: serviceDetails.AdvanceForm === 'THRS' ? serviceDetails.ServiceName : '',\r\n processCompositionServiceTitle: serviceDetails.AdvanceForm === 'ProcessComposition' ? serviceDetails.ServiceName : '',\r\n solutionPlanningServiceTitle: serviceDetails.AdvanceForm === 'SolutionPlanning' ? serviceDetails.ServiceName : '',\r\n estimatedMin: serviceDetails.CostMin === -1 ? 0 : serviceDetails.CostMin,\r\n estimatedMax: serviceDetails.CostMax === -1 ? 0 : serviceDetails.CostMax,\r\n TBDArr: serviceDetails.CostMin === -1 ? [serviceDetails.ServiceId.toString()] : []\r\n })\r\n await this.context.addSelectedData(this.state)\r\n this.props.handleProceed(this.context)\r\n } else {\r\n this.setState({ error: 'Something went wrong!' })\r\n }\r\n }\r\n\r\n getTechnologyName({ serviceDetails, providerData }) {\r\n let name = ''\r\n if (serviceDetails && serviceDetails.Technologies) {\r\n const haveContext = providerData && providerData.existingState\r\n if (haveContext && haveContext.technologyId) {\r\n const isExist = serviceDetails.Technologies.find(({ ID }) => parseInt(ID) === parseInt(haveContext.technologyId))\r\n if (isExist) {\r\n name = isExist.Name\r\n }\r\n }\r\n }\r\n\r\n return name\r\n }\r\n\r\n\r\n render() {\r\n\r\n let serviceDetails = this.context.existingState.serviceDetails || {};\r\n const svcMessageTitle = parse(serviceDetails.svcMessage || '');\r\n const Descriptionbox = parse(serviceDetails.Description || '');\r\n\r\n return (\r\n \r\n {providerData => {\r\n const haveContext = providerData && providerData.existingState\r\n let enableBtn = false\r\n let displayableCost = '$ 0'\r\n let haveServicesData = false\r\n let serviceOptions = []\r\n if (haveContext && haveContext.serviceDetails && !(Object.keys(haveContext.serviceDetails).length === 0 && providerData.existingState.serviceDetails.constructor === Object)) {\r\n haveServicesData = true\r\n serviceDetails = haveContext.serviceDetails\r\n enableBtn = haveContext.serviceDetails && haveContext.serviceDetails.Options && haveContext.serviceDetails.Options.Items.length > 0 ? (!!haveContext.subServiceId) ? true : false : true\r\n serviceOptions = haveContext.serviceDetails && haveContext.serviceDetails.Options ? haveContext.serviceDetails.Options : []\r\n displayableCost = parseInt(serviceDetails.CostMin) === 0 && parseInt(serviceDetails.CostMax) === 0 ? 'Free' : serviceDetails.CostMin === -1 && serviceDetails.CostMax === -1 ? 'TBD' : serviceDetails.CostMin > 0 && serviceDetails.CostMin === serviceDetails.CostMax ? `$ ${serviceDetails.CostMin}` : `$ ${serviceDetails.CostMin} - ${serviceDetails.CostMax}`\r\n }\r\n const contextSubServiceId = haveContext && !!haveContext.subServiceId ? haveContext.subServiceId : ''\r\n const technologyNm = this.getTechnologyName({ serviceDetails, providerData })\r\n return (\r\n
    \r\n
    Service Details
    \r\n {\r\n serviceDetails.SvcStatus===\"Decommissioned\"?\r\n
    \r\n
    {serviceDetails.ServiceName}
    \r\n

    { svcMessageTitle?svcMessageTitle:\r\n `${serviceDetails.ServiceName} service is not supported via myConcerto RMS. You will not be able to submit a request for this service.`}

    \r\n
    \r\n :\r\n haveServicesData ? \r\n
    \r\n
    {serviceDetails.ServiceName}
    \r\n
    \r\n {serviceDetails.Technologies &&

    {technologyNm}

    }\r\n {/* {haveServicesData && {displayableCost}} */}\r\n
    \r\n

    {Descriptionbox}

    \r\n

    {serviceOptions.Title}

    \r\n {serviceOptions.Items &&\r\n serviceOptions.Items.map((item, idx) => {\r\n return (\r\n
    \r\n
    \r\n { this.handleRadio(e); this.props.handleRadio(e); }}\r\n value={item.Name}\r\n id={item.ID}\r\n checked={parseInt(contextSubServiceId) === parseInt(item.ID) ? true : false}\r\n />\r\n {item.Name}\r\n
    \r\n
    \r\n )\r\n })}\r\n
    \r\n :
    No service selected
    \r\n }\r\n \r\n \r\n\r\n
    \r\n \r\n {haveServicesData &&

    Estimated Cost

    }\r\n {haveServicesData && (toUpper(serviceDetails.ServiceName) !== toUpper(\"GenWizard for SAP - Sandbox Access\")) &&

    {!!displayableCost ? displayableCost : 0}

    }\r\n {haveServicesData && toUpper(serviceDetails.ServiceName) === toUpper(\"GenWizard for SAP - Sandbox Access\") &&

    {!!displayableCost ? displayableCost : 0} (per user/month)

    }\r\n
    \r\n {/* { this.handleProcess() }}> */}\r\n { this.handleProcess() }} />\r\n
    \r\n
    \r\n )\r\n }}\r\n
    \r\n )\r\n }\r\n\r\n}\r\n\r\nServiceDetails.contextType = RequestContext;\r\nexport default ServiceDetails;","import React from 'react';\r\nimport './button.scss';\r\n\r\nconst RoundedButton = props => {\r\n return (\r\n \r\n {props.label}\r\n \r\n );\r\n}\r\n\r\nexport default RoundedButton;","import React, { Component } from \"react\";\r\nimport \"./search.scss\";\r\nimport { RequestContext } from \"../../../context-providers/request-provider/request-provider\";\r\nimport RoundedButton from \"../../../components/button/rounded-button\";\r\n\r\nclass Filter extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n technology: this.props.technology,\r\n }\r\n }\r\n handleFilter({ id }) {\r\n const clrObj = {\r\n serviceDetails: {},\r\n serviceCardActiveItem: ''\r\n }\r\n this.context.addSelectedData({ ...clrObj })\r\n if (this.props.filterId === id) {\r\n this.props.handleFilterSelected(id, true)\r\n }\r\n else {\r\n this.props.handleFilterSelected(id)\r\n }\r\n }\r\n componentDidUpdate() {\r\n if (this.props.technology !== this.state.technology) {\r\n this.setState({ technology: this.props.technology })\r\n }\r\n }\r\n\r\n render() {\r\n const { filters, filterId } = this.props;\r\n return (\r\n \r\n {() => {\r\n return (\r\n
    \r\n {filters.map((item, index) => (\r\n { this.handleFilter({ id: item.ID }) }} label={item.Name} />\r\n ))}\r\n
    \r\n )\r\n }}\r\n
    \r\n )\r\n }\r\n}\r\n\r\nFilter.contextType = RequestContext;\r\nexport default Filter;\r\n","import React, { Component, Fragment } from \"react\";\r\nimport \"./search.scss\";\r\nimport { getTokenData } from \"../../../api/sessionConfig\";\r\nimport { SidebarContext } from \"../../../context-providers/sidebar-provider/sidebar-provider\";\r\nimport RequestProvider from \"../../../context-providers/request-provider/request-provider\";\r\nimport SearchTechnologySelection from \"./search-technology-selection\"\r\nimport ServiceCard from \"./service-card\";\r\nimport SearchDetails from \"./service-details\"\r\nimport CustomInput from \"../../../components/custom-input/custom-input\";\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport Modal from \"../../../components/modals/modal\"\r\nimport Tab from \"../services/tab\"\r\nimport ProgressBar from \"../services/progress-bar\"\r\nimport Filter from \"./filter\";\r\nimport { API_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport { checkIsFormEmpty, prepareFormData, submitFormData } from \"../common-functionality-search-scenario/request-submit\"\r\n\r\nclass Search extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n services: [],\r\n technologies: [],\r\n showErrorPopup: false,\r\n showSpinner: true,\r\n isInfo: false, searchService: \"\",\r\n serviceDetails: [], showEmptySearch: false,\r\n contextData: props.preData, searchedService: [],\r\n showRequestForm: false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getDefaultSearchData();\r\n \r\n if (!this.props.showRequestForm) {\r\n this.props.setScreenName({ screenName: \"searchForService\" })\r\n }\r\n }\r\n\r\n async getDefaultSearchData() {\r\n this.setState({ showSpinner: true })\r\n let tokenData = getTokenData();\r\n let eid = (tokenData && tokenData.eid) || ''\r\n this.setState({ Eid: eid });\r\n const response = await getData({ serviceName: `Technology` }); //catId will be change after landing page changes\r\n const { success, error, isInfo = false } = await response;\r\n if (success) {\r\n const { Technologies, Filters } = response.data\r\n if (Technologies.length > 0) {\r\n const isExist = Technologies.find(({ ID }) => parseInt(ID) === 0)\r\n\r\n if (isExist) {\r\n await this.setState({\r\n technology: isExist.Name,\r\n technologyId: isExist.ID,\r\n })\r\n }\r\n }\r\n this.getServices(0)\r\n await this.setState({\r\n technologies: Technologies,\r\n filters: Filters,\r\n });\r\n\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n async getServices(techId, fromPopup = false) {\r\n this.setState({ technologyId: techId, showSpinner: true });\r\n let url\r\n if (this.state.filterId) {\r\n url = `GetServices?filterId=${this.state.filterId}&techId=${techId}`;\r\n } else {\r\n url = `GetServices?techId=${techId}`;\r\n }\r\n\r\n const response = await getData({ serviceName: url });\r\n const { success, error, isInfo = false } = await response;\r\n if (success) {\r\n if (!fromPopup) {\r\n await this.setState({\r\n serviceDetails: {},\r\n })\r\n }\r\n const serviceList = response.data && response.data.ServiceList && response.data.ServiceList\r\n await this.setState({\r\n services: serviceList && serviceList.Services ? serviceList.Services : [],\r\n serviceCount: serviceList && serviceList.Services ? serviceList.ServiceCount : 0\r\n });\r\n\r\n await this.handleSearchService()\r\n await this.setState({\r\n showSpinner: false\r\n });\r\n\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n async getFilters(filterId, resetFilter) {\r\n let url = \"\";\r\n this.setState({ showSpinner: true });\r\n if (resetFilter) {\r\n url = `GetServices?techId=${this.state.technologyId}`;\r\n await this.setState({\r\n filterId: ''\r\n });\r\n } else {\r\n url = `GetServices?filterId=${filterId}&techId=${this.state.technologyId}`;\r\n await this.setState({\r\n filterId: filterId\r\n });\r\n }\r\n const response = await getData({ serviceName: url });\r\n const { success, error, isInfo = false } = await response;\r\n if (success) {\r\n await this.setState({\r\n services: response.data.ServiceList.Services,\r\n serviceCount: response.data.ServiceList.ServiceCount,\r\n showSpinner: false\r\n });\r\n await this.handleSearchService()\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n handleTechSelection = (e) => {\r\n this.setState({ technology: e.target.value, showSpinner: true });\r\n this.getServices(e.target.id)\r\n }\r\n\r\n handleSubServiceSelection = (e) => {\r\n this.setState({ subService: e.target.value, subServiceId: e.target.id });\r\n }\r\n\r\n async selectedService(serviceDetails, providerData) {\r\n await this.setState({\r\n serviceDetails: serviceDetails\r\n }, () => {\r\n providerData.addSelectedData({ serviceDetails: this.state.serviceDetails, subService: this.state.subService });\r\n })\r\n }\r\n async handleInput(e) {\r\n let { name, value } = e.target;\r\n await this.setState({ [name]: value });\r\n await this.handleSearchService();\r\n }\r\n searchService(services, searchService) {\r\n let val = searchService.toLowerCase();\r\n let groupMatches = {}\r\n groupMatches = services.reduce((serviceArray, service) => {\r\n let serviceMatches = (service.ServiceName && service.ServiceName.toLowerCase().includes(val)) || (!!service.Description && service.Description.toLowerCase().includes(val))\r\n || (service.Options && service.Options.Title && service.Options.Title.toLowerCase().includes(val));\r\n if (serviceMatches) {\r\n serviceArray.push(service);\r\n } else {\r\n let technology = service.Technologies && service.Technologies.filter((item) => item.Name.toLowerCase().includes(val));\r\n if (technology && technology.length) {\r\n serviceArray.push(service);\r\n } else {\r\n let option = service.Options && service.Options.Items && service.Options.Items.filter((item) => item.Name.toLowerCase().includes(val));\r\n if (option && option.length) {\r\n serviceArray.push(service);\r\n }\r\n }\r\n }\r\n return serviceArray\r\n }, [])\r\n return groupMatches\r\n }\r\n handleSearchService() {\r\n const groupMatches = this.searchService(this.state.services, this.state.searchService);\r\n this.setState({ searchedService: groupMatches, showEmptySearch: true, })\r\n }\r\n handleProceed(contextData) {\r\n this.setState({\r\n showRequestForm: true\r\n })\r\n }\r\n\r\n async handleBack(inData) {\r\n await this.setState({ showRequestForm: false });\r\n await inData.addSelectedData({ basicFormData: {}, crpFormData: {}, sapFormData: {}, successFactorFormData: {}, btpFormData: {}, processCompositionFormData: {}, oracleFormData: {}, marketUnitDefault: \"\" });\r\n }\r\n\r\n async handleSubmit(contextData) {\r\n const formData = prepareFormData({ contextData })\r\n const respFormEmpty = checkIsFormEmpty(contextData)\r\n const { basicFormData = {} } = contextData.existingState\r\n\r\n\r\n if (respFormEmpty) {\r\n this.setState({ showErrorPopup: true, error: 'Please fill details for all the forms', disableSubmit: false });\r\n }\r\n else {\r\n if (!this.state.disableSubmit) {\r\n await this.setState({ disableSubmit: true, showSpinner: true })\r\n const { states } = await submitFormData(basicFormData, formData)\r\n this.setState({\r\n ...states\r\n })\r\n }\r\n }\r\n }\r\n\r\n enableErrorPopup = (error, isInfo) => {\r\n this.setState({ showErrorPopup: true, isInfo, error: error, showSpinner: false })\r\n }\r\n\r\n checkStudioAccess = async (redirectURL) => {\r\n await this.setState({ showSpinner: true });\r\n const serviceName = `StudioUserAccessLink?userName=${this.state.Eid}@accenture.com`\r\n const response = await getData({ serviceName: serviceName, apiBaseUrl: API_BASE_URL });\r\n const { success, error } = await response;\r\n if (success) {\r\n if (redirectURL) {\r\n setTimeout(() => {\r\n this.setState({ showSpinner: false });\r\n window.open(redirectURL.replace('!', \"\"), '_blank');\r\n }, 5000)\r\n }\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true });\r\n }\r\n }\r\n\r\n render() {\r\n let showService = this.state.services.length > 0 && this.state.services\r\n if (this.state.searchedService.length > 0 || this.state.showEmptySearch) {\r\n showService = this.state.searchedService\r\n }\r\n return (\r\n \r\n \r\n {providerData => {\r\n const navToggle = providerData.sidebarState && providerData.sidebarState.toggleMenu ? \"page-content page-collapse search\" : \"page-content search\";\r\n return (\r\n
    \r\n
    \r\n {!this.state.showRequestForm && \r\n
    \r\n
    \r\n

    SEARCH FOR SERVICES

    \r\n 0 ? false : true} inputtype=\"text\" placeholder=\"Enter keywords..\" name=\"searchService\" value={this.state.searchService} onChange={(e) => this.handleInput(e)} />\r\n
    \r\n {this.state.technologies && this.state.technologies.length > 0 && (\r\n \r\n )}\r\n
    \r\n
    \r\n {this.state.filters && this.state.filters.length > 0 && { this.getFilters(id, resetFilter) }} />}\r\n
    Services ({showService && showService.length})
    \r\n {showService && showService.length > 0 ?\r\n \r\n

    You can select one service

    \r\n { this.getServices(techId, fromPopup) }}\r\n servicesList={showService}\r\n handleClick={(options, providerDataSet) => { this.selectedService(options, providerDataSet) }} />\r\n
    \r\n :

    No service(s) found.

    \r\n }\r\n
    \r\n
    }\r\n {!!this.state.showRequestForm &&
    \r\n { this.handleBack(providerDataSet) }}\r\n formSubmit={(providerDataSet) => { this.handleSubmit(providerDataSet) }} setScreenName={this.props.setScreenName} >\r\n
    \r\n }\r\n
    \r\n
    \r\n {!this.state.showRequestForm && \r\n this.handleProceed(contextData)}\r\n handleRadio={this.handleSubServiceSelection}\r\n {...this.state.serviceDetails}\r\n />\r\n \r\n }\r\n {!!this.state.showRequestForm && }\r\n
    \r\n {this.state.submitPopup && (\r\n {\r\n this.setState({ submitPopup: false });\r\n this.props.history.push(\"/requests\");\r\n }}>\r\n

    Your request has been created successfully! {this.state.successMessage}

    \r\n {this.state.isLinkEnable &&

    Create Client Portal using self service tool { this.checkStudioAccess(this.state.redirectURL) }}>Studio

    }\r\n )}\r\n {this.state.error && { this.setState({ showErrorPopup: false }) }} buttonPosition=\"center-button\">

    {this.state.error}

    }\r\n {this.state.showSpinner && }\r\n
    \r\n )\r\n }}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default Search;","import React, { Component, Fragment } from 'react';\r\nimport \"./progress-bar.scss\";\r\nimport { getData } from \"../../../api/api-manager\"\r\nimport { withRouter } from \"react-router-dom\";\r\nimport Modal from '../../../components/modals/modal'\r\nimport Services from \"./services\";\r\n\r\nclass Parameterised extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { showSpinner: true, preData: null, isInfo: false }\r\n }\r\n componentWillMount() {\r\n const path = this.props.location.pathname.split('/')[1];\r\n const queryParams = this.props && this.props.location && this.props.location.search ? this.props.location.search : ''\r\n let scenarioId = '', techId = '', serviceId = '', subOption = ''\r\n if (this.props && this.props.location && this.props.location.search && this.props.location.search.includes('?params')) {\r\n let params = queryParams.split('?params=')\r\n let params1 = params[1].split('/')\r\n let workFlowAutomation =params1[1]\r\n let paramsArr = params1[0].split('-')\r\n // let paramsArr = params[1].split('-')\r\n scenarioId = paramsArr[0] ? paramsArr[0] : ''\r\n techId = paramsArr[1] ? paramsArr[1] : ''\r\n serviceId = paramsArr[2] ? paramsArr[2] : ''\r\n subOption = paramsArr[3] ? paramsArr[3] : ''\r\n const formData = { scenarioId, technologyId: techId, serviceId, subOption, workFlowAutomation}\r\n // const formData = { scenarioId, technologyId: techId, serviceId, subOption }\r\n if (paramsArr.length < 3) {\r\n this.props.history.push('/scenarios');\r\n } else {\r\n this.parameterisedUrlApiCall(formData);\r\n this.setState({\r\n categoryId: scenarioId,\r\n showRequestForm: true,\r\n serviceId,\r\n isParameterised: true,\r\n technologyId: techId,\r\n subOption,\r\n workFlowAutomation: workFlowAutomation === \"1\" ? true: false ,\r\n path: path\r\n })\r\n }\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n\r\n }\r\n\r\n async parameterisedUrlApiCall(queryData) {\r\n const response = await getData({ serviceName: `LoadSummary?scenarioId=${queryData.scenarioId}&technologyId=${queryData.technologyId}&serviceId=${queryData.serviceId}&subOption=${queryData.subOption ? queryData.subOption : ''}&workFlow=${queryData.workFlowAutomation ? queryData.workFlowAutomation : ''}` });\r\n //const response = await getData({ serviceName: `LoadSummary?scenarioId=${queryData.scenarioId}&technologyId=${queryData.technologyId}&serviceId=${queryData.serviceId}&subOption=${queryData.subOption ? queryData.subOption : ''}` }); \r\n const { success, data, error, isInfo } = response\r\n if (success) {\r\n let existingState = data.existingState\r\n let estimatedMin = data.existingState.estimatedMin\r\n let estimatedMax = data.existingState.estimatedMax\r\n let TBDArr = []\r\n if ((estimatedMin === estimatedMax) && estimatedMax === -1) {\r\n TBDArr = [queryData.serviceId]\r\n estimatedMin = 0\r\n estimatedMax = 0\r\n }\r\n existingState = {\r\n ...existingState,\r\n TBDArr,\r\n scenario: data.existingState.scenario,\r\n estimatedMin, estimatedMax,\r\n workFlowAutomation: this.state.workFlowAutomation,\r\n }\r\n let preData = { existingState }\r\n await this.setState({ showSpinner: false, preData })\r\n } else {\r\n this.setState({ showErrorPopup: true, isInfo, error: error, showSpinner: false });\r\n }\r\n }\r\n\r\n handleErrorPopup = () => {\r\n this.setState({ showErrorPopup: false });\r\n this.props.history.push('/scenarios');\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {!this.state.showSpinner && !this.state.error && this.state.preData ?\r\n :\r\n this.state.error ? (\r\n { this.handleErrorPopup() }} buttonPosition=\"center-button\">\r\n

    {this.state.error}

    \r\n
    \r\n ) : null\r\n }\r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default withRouter(Parameterised);","import React, { Component } from \"react\";\r\nimport * as Constant from \"../constants/constant\";\r\nimport \"./page-not-found.scss\";\r\nclass PageNotFound extends Component {\r\n render() {\r\n return( \r\n
    \r\n

    Error

    \r\n \"Page-not-found\"/\r\n

    We can't find the page that you're looking for...

    \r\n
    \r\n )\r\n }\r\n}\r\nexport default PageNotFound;","import React, { Component } from \"react\";\r\nimport \"./user-group-details.scss\";\r\nimport CustomButton from \"../../components/button/secondary-button\";\r\nimport NextButton from \"../../components/button/nextbutton\";\r\nimport CustomInput from \"../../components/custom-input/custom-input\";\r\nimport Checkbox from \"../../components/checkbox/checkbox.js\";\r\nimport Tootltip from \"../../components/tool-tip/tool-tip\";\r\nimport Modal from \"../../components/modals/modal\";\r\nimport { postData, getData } from \"../../api/api-manager\";\r\nimport { ADMIN_API_BASE_URL } from \"../../configs/api-base-url\";\r\nimport Spinner from \"../../components/spinner/spinner\";\r\nimport Popup from \"../../components/popup/popup\";\r\nimport Toast from \"../../components/toast/toast\";\r\n\r\nclass UserGroupDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n updatedUsersData: {},\r\n showAddUserPopup: false,\r\n userSearchList: [],\r\n searchUserEID: '', searchUserName: '', isUserRemoved: false,\r\n showSpinner: true,\r\n enableAddUserBtn: false,\r\n userList: [],\r\n userDetails: {}, showDiscardPopup: false, showToast: false,\r\n removeUserEid: null, removeUserPopUp: false\r\n }\r\n this.handleInput = this.handleInput.bind(this);\r\n this.handleSaveData = this.handleSaveData.bind(this);\r\n this.handleConfirmSaveData = this.handleConfirmSaveData.bind(this);\r\n }\r\n componentDidMount() {\r\n this.getUsersDetails();\r\n }\r\n\r\n async getUsersDetails() {\r\n const serviceName = `LoadUsersGrp?svcId=${this.props.serviceID}`\r\n const response = await getData({ serviceName: serviceName, apiBaseUrl: ADMIN_API_BASE_URL });\r\n const { success, data, error } = await response;\r\n\r\n if (success) {\r\n await this.setState({ userDetails: data.UserGroupDetails[0], showSpinner: false });\r\n\r\n this.state.userDetails.Users.map((user) => {\r\n this.setState({ userList: { ...this.state.userList, [user.UserName]: user } })\r\n return null\r\n })\r\n } else { this.setState({ error: error, showErrorPopup: true, showSpinner: false }); }\r\n }\r\n\r\n handleCheck(e) {\r\n let grpName = e.target.getAttribute(\"groupname\");\r\n let otherGrpName = grpName === \"InAssignmentGroup\" ? \"InSupportGroup\" : \"InAssignmentGroup\";\r\n let eid = e.target.getAttribute(\"eid\");\r\n let grpNameCheck = e.target.checked;\r\n const filter = Object.values(this.state.userList).find(user => user.UserName === eid);\r\n\r\n let newUpdatedUser = {\r\n \"eId\": filter.UserName,\r\n \"InAssignmentGroup\": filter.InAssignmentGroup,\r\n \"InSupportGroup\": filter.InSupportGroup\r\n }\r\n\r\n if (Object.values(this.state.updatedUsersData).length > 0) {\r\n const filterData = Object.values(this.state.updatedUsersData).find(user => user.eId === eid)\r\n if (filterData) {\r\n //If User already exist in this.state.updatedUsersData\r\n let updatedUser = {\r\n \"eId\": filterData.eId,\r\n \"InAssignmentGroup\": filterData.InAssignmentGroup,\r\n \"InSupportGroup\": filterData.InSupportGroup\r\n }\r\n if (!grpNameCheck && !updatedUser[otherGrpName]) {\r\n this.setState({ isAllUnchecked: true })\r\n } else {\r\n updatedUser[grpName] = grpNameCheck;\r\n\r\n let updatedUsersData = this.state.updatedUsersData;\r\n delete updatedUsersData[eid]\r\n this.setState({ updatedUsersData: updatedUsersData });\r\n\r\n this.updateUserData(updatedUser);\r\n }\r\n\r\n } else {\r\n //If user is not exist in this.state.updateUserData\r\n if (!grpNameCheck && !newUpdatedUser[otherGrpName]) {\r\n this.setState({ isAllUnchecked: true })\r\n } else {\r\n newUpdatedUser[grpName] = grpNameCheck;\r\n this.updateUserData(newUpdatedUser);\r\n }\r\n }\r\n } else {\r\n //If user is not exist in this.state.updatedUsersData and list is empty\r\n if (!grpNameCheck && !newUpdatedUser[otherGrpName]) {\r\n this.setState({ isAllUnchecked: true })\r\n } else {\r\n newUpdatedUser[grpName] = grpNameCheck;\r\n this.updateUserList(newUpdatedUser);\r\n this.setState({\r\n updatedUsersData: { ...this.state.updatedUsersData, [newUpdatedUser.eId]: newUpdatedUser }\r\n });\r\n }\r\n }\r\n }\r\n\r\n updateUserList(newUser) {\r\n const user = this.state.userList[newUser.eId];\r\n if (user) {\r\n let newUpdatedUser = {\r\n \"User\": user.User, \"UserName\": user.UserName,\r\n \"InAssignmentGroup\": newUser.InAssignmentGroup, \"InSupportGroup\": newUser.InSupportGroup\r\n }\r\n this.setState({ userList: { ...this.state.userList, [newUser.eId]: newUpdatedUser } })\r\n }\r\n }\r\n\r\n updateUserData(newUser) {\r\n const isExist = this.state.userDetails.Users && this.state.userDetails.Users.find(user =>\r\n user.UserName === newUser.eId && user.InAssignmentGroup === newUser.InAssignmentGroup && user.InSupportGroup === newUser.InSupportGroup\r\n )\r\n if (!isExist) {\r\n this.setState({ updatedUsersData: { ...this.state.updatedUsersData, [newUser.eId]: newUser } });\r\n }\r\n this.updateUserList(newUser)\r\n }\r\n\r\n handleRemoveUser = () => {\r\n let eid = this.state.removeUserEid;\r\n Object.values(this.state.userList).map((user) => {\r\n if (user.UserName === eid) {\r\n let updatedUser = {\r\n \"eId\": user.UserName,\r\n \"InAssignmentGroup\": false,\r\n \"InSupportGroup\": false\r\n }\r\n let updatedUsersData = this.state.updatedUsersData;\r\n delete updatedUsersData[eid];\r\n this.setState({\r\n updatedUsersData: updatedUsersData, showToast: true,\r\n toastText: `${user.User} removed from list`, isUserRemoved: true, removeUserPopUp: false\r\n });\r\n this.updateUserData(updatedUser);\r\n }\r\n return null;\r\n })\r\n }\r\n\r\n splitUserNames(user) {\r\n if (user) {\r\n const splittedUser = user.split(\".\");\r\n const userName = `${splittedUser[0][0]}${splittedUser[splittedUser.length - 1][0]}`;\r\n return userName.toUpperCase();\r\n }\r\n return ''\r\n }\r\n\r\n showAddUserPopup = () => {\r\n this.setState({ showAddUserPopup: true })\r\n }\r\n\r\n addUser = (eid, name) => {\r\n if (this.state.enableAddUserBtn) {\r\n let newUser = {\r\n \"eId\": eid,\r\n \"InAssignmentGroup\": true,\r\n \"InSupportGroup\": false\r\n }\r\n let newUserDetails = {\r\n \"User\": name,\r\n \"UserName\": eid,\r\n \"InAssignmentGroup\": true,\r\n \"InSupportGroup\": false\r\n }\r\n this.setState({\r\n searchUserEID: \"\", searchUserName: \"\", userSearchList: [], showAddUserPopup: false, showToast: true,\r\n });\r\n const isExist = Object.values(this.state.userList).find(user =>\r\n user.UserName === eid && (user.InAssignmentGroup || user.InSupportGroup)\r\n )\r\n if (isExist) {\r\n this.setState({ toastText: `${name} already added to the list`, showToast: true });\r\n } else {\r\n this.updateUserData(newUser);\r\n this.setState({\r\n toastText: `${name} added to the list`, showToast: true, userList: { ...this.state.userList, [eid]: newUserDetails }\r\n });\r\n }\r\n }\r\n }\r\n\r\n cancelUser = () => {\r\n this.setState({ searchUserEID: \"\", searchUserName: \"\", userSearchList: [], showAddUserPopup: false, enableAddUserBtn: false });\r\n }\r\n\r\n async handleInput(e) {\r\n await this.setState({ searchUserEID: e.target.value });\r\n // this.setSearchQuery(e.target.value)\r\n const serviceName = `GetUsers?eIdStart=${this.state.searchUserEID}`\r\n const response = await getData({ serviceName: serviceName, apiBaseUrl: ADMIN_API_BASE_URL });\r\n const { success, data, error } = await response;\r\n\r\n if (success) {\r\n this.setState({ userSearchList: data, showSpinner: false });\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true, showSpinner: false });\r\n }\r\n await this.checkUserSearchList();\r\n }\r\n // setSearchQuery = debounce((name) => {\r\n // this.setState({ searchUserEID: name })\r\n // }, 500)\r\n\r\n async selectUserName(e) {\r\n const eid = e.target.getAttribute(\"eid\")\r\n const ename = e.target.getAttribute(\"name\")\r\n await this.setState({ searchUserEID: eid, searchUserName: ename, userSearchList: [] });\r\n await this.checkUserSearchList();\r\n await this.setState({ enableAddUserBtn: true })\r\n }\r\n\r\n checkUserSearchList = () => {\r\n const searchUser = this.state.searchUserEID\r\n\r\n if (this.state.userSearchList.length > 0) {\r\n const filter = this.state.userSearchList.filter(function (user) {\r\n return user.EID === searchUser\r\n })\r\n if (filter.length > 0) {\r\n this.setState({ enableAddUserBtn: true, searchUserName: filter[0].Name })\r\n } else {\r\n this.setState({ enableAddUserBtn: false })\r\n }\r\n } else {\r\n this.setState({ enableAddUserBtn: false })\r\n }\r\n }\r\n\r\n async handleSaveData() {\r\n if (Object.values(this.state.updatedUsersData).length > 0) {\r\n if (this.state.isUserRemoved) {\r\n this.setState({ showSaveDataPopup: true })\r\n } else {\r\n const serviceName = \"SaveUserGrp\";\r\n const users = Object.values(this.state.updatedUsersData);\r\n const submittedData = {\r\n \"ServiceId\": parseInt(this.props.serviceID),\r\n \"Users\": users\r\n }\r\n const response = await postData({\r\n serviceName: serviceName, apiBaseUrl: ADMIN_API_BASE_URL,\r\n data: submittedData\r\n });\r\n const { success, error } = await response;\r\n if (success) {\r\n this.setState({ updatedUsersData: {} });\r\n } else {\r\n this.setState({ error: error });\r\n }\r\n }\r\n }\r\n if (!this.state.isUserRemoved) {\r\n this.props.backbtn();\r\n }\r\n }\r\n\r\n async handleConfirmSaveData() {\r\n await this.setState({ isUserRemoved: false });\r\n await this.handleSaveData();\r\n this.props.backbtn();\r\n }\r\n\r\n handleBack = () => {\r\n if (Object.values(this.state.updatedUsersData).length > 0) {\r\n this.setState({ showDiscardPopup: true });\r\n } else this.props.backbtn();\r\n }\r\n\r\n confirmRemoveUser = async (eid) => {\r\n await this.setState({removeUserEid: eid});\r\n await this.setState({ removeUserPopUp: true});\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n

    {this.state.userDetails && this.state.userDetails.Service}

    \r\n

    Admin settings    >    {this.props.mainSettingTitle}    >    {this.state.userDetails && this.state.userDetails.Service}

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.userList && Object.values(this.state.userList).map((user, key) => {\r\n return (\r\n (user.InSupportGroup || user.InAssignmentGroup) && \r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n
    UsersAssignment Group AccessSupport Group Access
    \r\n
    \r\n
    \r\n {this.splitUserNames(user.UserName)}\r\n {user.UserName}

    }>
    \r\n {user.User}\r\n
    \r\n
    \r\n \r\n { this.confirmRemoveUser(user.UserName) }} width=\"15px\" height=\"18px\" viewBox=\"0 0 15 18\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\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 { this.handleCheck(e); }}\r\n eid={user.UserName} name={user.UserName} groupname=\"InAssignmentGroup\"\r\n checkboxDisabled = {(!user.InAssignmentGroup && user.InSupportGroup) || (user.InAssignmentGroup && user.InSupportGroup) ? false : true}\r\n checked={user.InAssignmentGroup} disabled={(!user.InAssignmentGroup && user.InSupportGroup) || (user.InAssignmentGroup && user.InSupportGroup) ? false : true}/>\r\n {user.InAssignmentGroup? \" Yes\": \"\"} \r\n
    \r\n
    \r\n
    \r\n { this.handleCheck(e); }}\r\n eid={user.UserName} name={user.UserName} groupname=\"InSupportGroup\"\r\n checked={user.InSupportGroup}\r\n checkboxDisabled = {(user.InAssignmentGroup && !user.InSupportGroup) || (user.InAssignmentGroup && user.InSupportGroup) ? false : true}\r\n disabled={(user.InAssignmentGroup && !user.InSupportGroup) || (user.InAssignmentGroup && user.InSupportGroup) ? false : true} />\r\n {user.InSupportGroup? \" Yes\": \"\"}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {this.state.showToast && }\r\n\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n {/* add user modal */}\r\n { this.addUser(this.state.searchUserEID, this.state.searchUserName) }}\r\n addBtn={true} disableAddBtn={!this.state.enableAddUserBtn}\r\n hideCloseIcon={true} handleCancel={() => { this.cancelUser() }}\r\n title=\"Add User\"\r\n buttonPosition={this.state.userSearchList.length > 0 ? \"close-btn-div\" : \"add-user-btn\"}>

    User Name

    \r\n \r\n
    \r\n {this.state.userSearchList.length > 0 && {\r\n return

    this.selectUserName(e)}>{user.EID}

    \r\n })} />}\r\n
    \r\n
    \r\n\r\n {/* confirmation popup on back button */}\r\n {this.state.showDiscardPopup &&\r\n { this.setState({ showDiscardPopup: false }) }} handleClose={this.props.backbtn}>\r\n

    Your changes has not been saved yet. Are you sure you want to cancel?

    }\r\n\r\n {/* confirmation popup on save button */}\r\n {this.state.isUserRemoved && { this.setState({ showSaveDataPopup: false }) }} handleClose={this.handleConfirmSaveData}>\r\n

    Your have made few changes. Are you sure you want to save?

    }\r\n\r\n {/* Popup on unchecking from all groups */}\r\n {this.state.isAllUnchecked && { this.setState({ isAllUnchecked: false }) }}>\r\n

    The user should be part of at least on group. Use the remove option to revoke access from both the groups.

    }\r\n\r\n {/* confirmation popup before removing user */}\r\n {this.state.removeUserPopUp && { this.setState({ removeUserPopUp: false }) }} handleClose={this.handleRemoveUser}>\r\n

    Are you sure you want to remove {this.state.removeUserEid} {`from ${this.props.serviceName} list.`}

    }\r\n\r\n {this.state.showSpinner && }\r\n {this.state.error && { this.setState({ showErrorPopup: false }) }} buttonPosition=\"center-button\">

    {this.state.error}

    }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default UserGroupDetails;","import React, { Component, Fragment } from \"react\";\r\nimport \"./user-group-management.scss\";\r\nimport { SidebarContext } from \"../../context-providers/sidebar-provider/sidebar-provider\";\r\nimport UserGroupDetails from \"./user-group-details.js\";\r\nimport * as Constant from \"../../components/constants/constant\";\r\nimport Tootltip from \"../../components/tool-tip/tool-tip\";\r\nimport { getData } from \"../../api/api-manager\";\r\nimport { ADMIN_API_BASE_URL } from \"../../configs/api-base-url\";\r\nimport Modal from \"../../components/modals/modal\";\r\nimport Spinner from \"../../components/spinner/spinner\";\r\nimport Popup from \"../../components/popup/popup\";\r\nimport OutsideClickAlerter from \"../../components/outside-click-alerter/outside-click-alerter\";\r\n\r\nclass UserGroupManagement extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showDetails: false,\r\n serviceUsers: [],\r\n showSpinner: true,\r\n showErrorPopup: false,\r\n data: (props.location &&\r\n props.location.state) || {\r\n categoryId: props.categoryId || null,\r\n adminSettingTitle: props.adminSettingTitle || null,\r\n showAssignmentPopup: false,\r\n showSupportGroupPopup: false\r\n }\r\n };\r\n\r\n }\r\n componentDidMount() {\r\n if (this.state.data.categoryId === null) {\r\n this.props.history.push('/admin');\r\n } else {\r\n this.getServiceUserGrp();\r\n }\r\n }\r\n\r\n async getServiceUserGrp() {\r\n const response = await getData({\r\n serviceName: \"LoadAllSvcUserGrp\",\r\n apiBaseUrl: ADMIN_API_BASE_URL\r\n });\r\n const { success, data, error } = await response;\r\n if (success) {\r\n this.setState({\r\n serviceUsers: data.UserGroupManagement,\r\n showSpinner: false\r\n });\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n handleClick(e) {\r\n this.setState({\r\n showDetails: true,\r\n serviceID: e.target.getAttribute(\"serviceid\"),\r\n serviceName: e.target.getAttribute(\"servicename\")\r\n });\r\n }\r\n handleBack() {\r\n this.setState({ showDetails: false });\r\n this.getServiceUserGrp();\r\n }\r\n splitUserNames(user) {\r\n if (user) {\r\n const splittedUser = user.split(\".\");\r\n const userName = `${splittedUser[0][0]}${splittedUser[splittedUser.length - 1][0]\r\n }`;\r\n return userName.toUpperCase();\r\n }\r\n return \"\";\r\n }\r\n toggleAssignmentPopup = (e, popUpType) => {\r\n let serviceUser = this.state.serviceUsers;\r\n serviceUser.map(user => {\r\n if (user.popUpOpen) {\r\n return delete user.popUpOpen;\r\n }\r\n return false;\r\n });\r\n this.setState({\r\n serviceUsers: serviceUser\r\n });\r\n if (popUpType === 'assignment') {\r\n this.setState({\r\n showAssignmentPopup: true\r\n });\r\n } else {\r\n this.setState({\r\n showSupportGroupPopup: true\r\n });\r\n }\r\n const clickedIndex = e.currentTarget.getAttribute(\"data-key\");\r\n if (clickedIndex) {\r\n serviceUser.map(user => {\r\n if (user.serviceId.toString() === clickedIndex) {\r\n return user.popUpOpen = true;\r\n }\r\n return false;\r\n });\r\n }\r\n };\r\n handleOutsideAssignmentClick() {\r\n this.setState({\r\n showAssignmentPopup: false\r\n })\r\n }\r\n handleOutsideSupportGroupClick() {\r\n this.setState({\r\n showSupportGroupPopup: false\r\n })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {providerData => {\r\n const navToggle =\r\n providerData.sidebarState && providerData.sidebarState.toggleMenu ? \"page-content page-collapse\" : \"page-content\";\r\n return (\r\n
    \r\n {!this.state.showDetails && (\r\n \r\n

    User Group Management

    \r\n

    Admin    >    {this.state.data.adminSettingTitle}

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.serviceUsers.length > 0 ? (\r\n \r\n {this.state.serviceUsers.map((serviceDetails, key) => {\r\n let agLength = serviceDetails.AssignmentGroup.length;\r\n let sgLength = serviceDetails.SupportGroup.length;\r\n return (\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
    ServicesAssignment Group AccessSupport Group AccessAction
    {serviceDetails.serviceName}\r\n {serviceDetails.AssignmentGroup.slice(0, 5).map(\r\n (perUser, index) => {\r\n return (\r\n \r\n {this.splitUserNames(perUser.user)}\r\n {perUser.userName}

    {perUser.userEmail}

    }>
    \r\n
    \r\n );\r\n }\r\n )}\r\n {agLength > 5 ? ( {this.toggleAssignmentPopup(e, 'assignment')}}>\r\n +{agLength - 5}\r\n {this.state.showAssignmentPopup && serviceDetails.popUpOpen && \"clicked\"}\r\n )\r\n : null}\r\n {agLength > 5 && this.state.showAssignmentPopup && serviceDetails.popUpOpen && (\r\n { this.handleOutsideAssignmentClick() }}>\r\n {\r\n return (

    {this.splitUserNames(perUser.user)}{perUser.userName}

    );\r\n })} />\r\n
    \r\n )}\r\n
    \r\n {serviceDetails.SupportGroup.slice(0, 5).map(\r\n (perUser, index) => {\r\n return (\r\n \r\n {this.splitUserNames(perUser.user)}\r\n {perUser.userName}

    {perUser.userEmail}

    }>
    \r\n
    \r\n );\r\n }\r\n )}\r\n {sgLength > 5 ? ( { this.toggleAssignmentPopup(e, 'supportGroup'); }} >\r\n +{sgLength - 5} \r\n {this.state.showSupportGroupPopup && serviceDetails.popUpOpen && \"clicked\"})\r\n : null}\r\n {sgLength > 5 && this.state.showSupportGroupPopup && serviceDetails.popUpOpen && (\r\n { this.handleOutsideSupportGroupClick() }}>\r\n { return (

    {this.splitUserNames(perUser.user)}{perUser.userName}

    ); }\r\n )} />\r\n
    \r\n )}\r\n
    \r\n \"action\" this.handleClick(e)} />\r\n
    You do not own any of the services to manage the user group
    \r\n
    \r\n )}\r\n {this.state.showSpinner && }\r\n {this.state.error && (\r\n { this.setState({ showErrorPopup: false }); }} buttonPosition=\"center-button\">\r\n

    {this.state.error}

    \r\n
    \r\n )}\r\n {this.state.showDetails && ( { this.handleBack(); }} serviceID={this.state.serviceID} serviceName={this.state.serviceName} mainSettingTitle={this.state.data.adminSettingTitle}>)}\r\n
    \r\n );\r\n }}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default UserGroupManagement;","import React from \"react\";\r\nimport CustomInput from \"../../components/custom-input/custom-input\";\r\nimport CustomSelect from \"../../components/custom-select/custom-select\";\r\nimport \"./resolution-metrics.scss\";\r\n\r\nconst ResolutionMetrics = props => {\r\n const metricsData = props && props.value;\r\n const list = props && props.options;\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {props.EditableFlag ?\r\n (
      \r\n {metricsData && metricsData.length > 0 && metricsData.map((form, index) => {\r\n if (form.Priority === \"High\") {\r\n return (\r\n
    • \r\n <>\r\n
      {form.Priority}
      \r\n props.Editing(e)}\r\n id={index}\r\n name=\"Unit\"\r\n placeholder={form.Unit ? \"\" : \"Select Unit\"}\r\n value={form.Unit}\r\n use_name=\"true\"\r\n />\r\n props.Editing(e)}\r\n />\r\n \r\n
    • \r\n )\r\n }\r\n if (form.Priority === \"Medium\") {\r\n return (\r\n
    • \r\n <>\r\n
      {form.Priority}
      \r\n props.Editing(e)}\r\n value={form.Unit}\r\n selected_value={form.Unit}\r\n use_name=\"true\"\r\n />\r\n props.Editing(e)}\r\n />\r\n \r\n
    • \r\n )\r\n }\r\n if (form.Priority === \"Low\") {\r\n return (\r\n
    • \r\n <>\r\n
      {form.Priority}
      \r\n props.Editing(e)}\r\n value={form.Unit}\r\n selected_value={form.Unit}\r\n use_name=\"true\"\r\n />\r\n props.Editing(e)}\r\n />\r\n \r\n
    • \r\n )\r\n }\r\n else {\r\n return null\r\n }\r\n })}\r\n
    ) : (
      \r\n {metricsData.map((el) => {\r\n return (\r\n
      \r\n {el.Priority}\r\n {el.Unit}\r\n {el.Value}\r\n
      )\r\n })}
    )\r\n }\r\n
    \r\n )\r\n}\r\n\r\nexport default ResolutionMetrics;","import React from \"react\";\r\nimport CustomInput from \"../../components/custom-input/custom-input\";\r\nimport CustomSelect from \"../../components/custom-select/custom-select\";\r\nimport \"./response-metrics.scss\";\r\n\r\n\r\nconst ResponseMetrics = props => {\r\n const metricsData = props && props.value;\r\n const list = props && props.options;\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {props.EditableFlag ?\r\n (
      \r\n
    • \r\n <>\r\n props.Editing(e)}\r\n id={0}\r\n type=\"string\"\r\n placeholder={metricsData.Unit ? \"\" : \"Select Unit\"}\r\n name=\"Unit\"\r\n value={metricsData.Unit}\r\n use_name=\"true\"\r\n />\r\n props.Editing(e)}\r\n use_name=\"true\"\r\n />\r\n \r\n
    • \r\n
    ) : (\r\n <>\r\n
      \r\n
    • \r\n {metricsData.Unit}\r\n {metricsData.Value}\r\n
    • \r\n
    \r\n \r\n )}\r\n
    \r\n )\r\n}\r\n\r\nexport default ResponseMetrics;","import React from \"react\";\r\nimport './custom-checkbox.scss';\r\n\r\nconst CustomCheckbox = (props) => {\r\n let checkboxDisabled = props.checkboxDisabled ? true : false\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default CustomCheckbox;\r\n\r\n\r\n\r\n","import React, { Component, Fragment } from \"react\";\r\nimport CustomCheckbox from \"../checkbox/custom-checkbox\";\r\nimport \"./multi-select-check.scss\";\r\nimport {\r\n fetchIndexIdFromArray,\r\n} from \"../../containers/common/object-manipulations\";\r\n\r\nclass CustomMultiSelectCheckbox extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectedAssets: [],\r\n selectedItems: [],\r\n count: 0,\r\n checked: false\r\n };\r\n }\r\n componentDidMount() {\r\n let allData = this.props.categories;\r\n let selectedData = this.props.selectedData;\r\n this.setState({\r\n selectedAssets: allData,\r\n selectedItems: selectedData,\r\n })\r\n }\r\n componentWillReceiveProps(prevProps) {\r\n this.setState({\r\n selectedAssets: prevProps.categories,\r\n selectedItems: prevProps.selectedData,\r\n });\r\n }\r\n\r\n\r\n handleChange(event) {\r\n const { checked } = event.target;\r\n let id = event.target.id;\r\n let name = event.target.name;\r\n let IsSelected = +checked;\r\n let index, ItemsIndex;\r\n let selectedItems = this.state.selectedItems;\r\n let arrOptions = {\r\n ID: parseInt(id),\r\n IssueType: name,\r\n IsSelected: IsSelected\r\n };\r\n\r\n index = fetchIndexIdFromArray(\r\n this.state.selectedAssets,\r\n \"IssueType\",\r\n event.target.value\r\n );\r\n ItemsIndex = fetchIndexIdFromArray(\r\n this.state.selectedItems,\r\n \"IssueType\",\r\n event.target.value\r\n );\r\n if (checked) {\r\n selectedItems.push(arrOptions);\r\n let list = [...this.state.selectedAssets];\r\n list[index].IsSelected = IsSelected;\r\n this.setState({\r\n selectedAssets: list,\r\n selectedItems: selectedItems,\r\n });\r\n }\r\n else {\r\n selectedItems.splice(ItemsIndex, 1);\r\n let list = [...this.state.selectedAssets];\r\n list[index].IsSelected = IsSelected;\r\n this.setState({\r\n selectedAssets: list,\r\n selectedItems: selectedItems\r\n });\r\n }\r\n this.props.assignSelectedItems(\r\n this.state.selectedAssets,\r\n this.state.selectedItems\r\n );\r\n }\r\n\r\n\r\n handleClose = async (e) => {\r\n this.props.closePopUp(\r\n this.state.selectedItems,\r\n this.props.modalId\r\n );\r\n };\r\n\r\n\r\n render() {\r\n let results = this.state.selectedAssets;\r\n const resultantArray = [];\r\n this.props.filteredIssueType.map(el => {\r\n return resultantArray.push(el.ID)\r\n })\r\n return (\r\n
    \r\n
    \r\n {results.map((el, index) => {\r\n return (\r\n \r\n
    \r\n this.handleChange(e)}\r\n checkboxDisabled={resultantArray.includes(el.ID)}\r\n />\r\n {el.IssueType}\r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default CustomMultiSelectCheckbox;","import React from \"react\";\r\nimport \"./custom-chip.scss\";\r\nconst CustomChip = (props) => {\r\n const { emailsArray, placeholder, handleDropdown, editableField = true, name, value, handleDelete, handlePaste, disabled = false, isError = false, disableFormGroup = false } = props\r\n return (
    \r\n {emailsArray && emailsArray.map(email => (\r\n
    \r\n {email.IssueType}\r\n \r\n
    \r\n ))}\r\n \r\n
    )\r\n}\r\n\r\nexport default CustomChip;","export const validateInputFields = (name, value) => {\r\n let errorkey = `${name}Error`;\r\n let isError = false;\r\n let errorMessage = \"\";\r\n let requiredFields = [\"slaName\", \"requestStatus\", \"displayedItems\"];\r\n let requiredErrorMessage = 'This is a required Field.';\r\n\r\n if ((requiredFields.includes(name) && (value === \"\")) || (name === \"responseMetrics\" && !value.Value)) {\r\n if (name === \"displayedItems\") {\r\n errorkey = \"displayedItemsError\";\r\n } else if (name === \"responseMetrics\") {\r\n errorkey = \"ResponseError\";\r\n }\r\n errorMessage = requiredErrorMessage;\r\n isError = true;\r\n } else if (name === \"resolutionMetrics\") {\r\n errorkey = \"ResolutionError\";\r\n let invalidPriority = [];\r\n value.forEach(data => {\r\n if (data.Unit === '' || !data.Value) {\r\n invalidPriority.push(data.Priority)\r\n }\r\n });\r\n\r\n if (invalidPriority.length > 0) {\r\n errorMessage = requiredErrorMessage;\r\n isError = true;\r\n }\r\n } else if (name === \"emailIdslabeach\") {\r\n errorkey = 'emailIDError';\r\n if (value.length === 0) {\r\n errorMessage = requiredErrorMessage;\r\n isError = true;\r\n }\r\n\r\n } else if (name === \"issueType\") {\r\n errorkey = 'displayedItemsError';\r\n if (value && value.length === 0) {\r\n errorMessage = requiredErrorMessage;\r\n isError = true;\r\n }\r\n\r\n }\r\n else if (name === \"emailIdslabeachremainder\") {\r\n errorkey = 'emailReminderIDError';\r\n if (value.length === 0) {\r\n errorMessage = requiredErrorMessage;\r\n isError = true;\r\n }\r\n }\r\n\r\n return {\r\n fieldError: errorMessage,\r\n haveError: isError,\r\n errorkey\r\n }\r\n}\r\n\r\nexport const validateIncidentConfiguration = (fieldList, data) => {\r\n let errorData = {}\r\n let hasError = false;\r\n fieldList.forEach(record => {\r\n let { fieldError, haveError, errorkey } = validateInputFields(record, data[record]);\r\n if (hasError) { hasError = haveError }\r\n errorData = { ...errorData, [errorkey]: fieldError }\r\n });\r\n return { errorData, hasError };\r\n}\r\n","import React, { useState, Fragment, useEffect, useRef } from \"react\";\r\nimport \"./incident-configuration.scss\";\r\nimport ResolutionMetrics from \"./resolution-metrics\";\r\nimport ResponseMetrics from \"./response-metrics\";\r\nimport CustomMultiSelectCheckbox from \"../../components/custom-select/custom-multi-select-checkbox\";\r\nimport * as Constant from \"../../components/constants/constant\";\r\nimport CustomSelect from \"../../components/custom-select/custom-select\";\r\nimport CustomInput from \"../../components/custom-input/custom-input\";\r\nimport ToolTip from '../../components/tool-tip/tool-tip';\r\nimport NextButton from \"../../components/button/nextbutton\";\r\nimport CustomButton from \"../../components/button/secondary-button\";\r\nimport EmailChip from \"../../components/email-chip/email-chip\";\r\nimport Popup from '../../components/popup/popup';\r\nimport CustomChip from '../../components/custom-chip/custom-chip';\r\nimport { postData } from \"../../api/api-manager\";\r\nimport { ADMIN_API_BASE_URL } from \"../../configs/api-base-url\";\r\nimport Spinner from \"../../components/spinner/spinner\";\r\nimport { validateIncidentConfiguration } from \"./incident-configuration-validation\";\r\nimport OutsideClickAlerter from '../../components/outside-click-alerter/outside-click-alerter';\r\n\r\n\r\nconst IncidentConfiguration = props => {\r\n const fixed = props.addSLA ? JSON.parse(JSON.stringify(props.defaultIssueValue)) : \"\"\r\n const fixedIssue = props.addSLA ? [] : JSON.parse(JSON.stringify(props.defaultIssueValue))\r\n const configData = props && props.values;\r\n const ResolutionMetricsProp = props.ResolutionMetrics;\r\n const ResponseDurationProp = props.ResponseDuration;\r\n const initialState = [{ Priority: \"High\", Unit: \"\", Value: 0 }, { Priority: \"Medium\", Unit: \"\", Value: 0 }, { Priority: \"Low\", Unit: \"\", Value: 0 }]\r\n const [selectedIssue, setSelectedIssue] = useState(props.issueValues)\r\n const [displayedItems, setDisplayedItems] = useState([])\r\n const [emailReminderIDArray, setEmailReminderIDArray] = useState(props.addSLA ? [] : configData.emailIdslabeachremainder.split(\";\"));//ignore\r\n const [emailIDArray, setEmailIDArray] = useState(props.addSLA ? [] : configData.emailIdslabeach.split(\";\"));\r\n const [emailID, setEmailID] = useState(\"\");\r\n const [emailReminderID, setEmailReminderID] = useState(\"\");\r\n const [responseMetrics, setResponseMetrics] = useState(props.addSLA ? { Unit: \"\", Value: 0 } : ResponseDurationProp)\r\n const [resolutionMetrics, setResolutionMetrics] = useState(props.addSLA ? initialState : configData.ResolutionMetrics);\r\n const [errorMessage, setErrorMessages] = useState({})\r\n const [IsEditable, setIsEditable] = useState(true)\r\n const [slaName, setSlaName] = useState(props.addSLA ? \"\" : configData.SLAName)\r\n const [requestStatus, setRequestStatus] = useState(props.addSLA ? \"\" : configData.incidentReqStatus)\r\n const [showDropdown, setShowDropdown] = useState(false)\r\n const [showSpinner, setShowSpinner] = useState(false)\r\n const isMounted = useRef(false);\r\n const isMount = useRef(false);\r\n const isMountEmail = useRef(false);\r\n const isMountEmailArray = useRef(false);\r\n const isMountEmailReminder = useRef(false);\r\n const isMountEmailReminderArray = useRef(false);\r\n const [isReset, setIsReset] = useState(false);\r\n const [filteredItems, setFilteredItems] = useState([]);\r\n\r\n\r\n useEffect(() => {\r\n let arrOptions = [];\r\n selectedIssue && selectedIssue.forEach(element => {\r\n if (element.IsSelected === 1) {\r\n arrOptions.push(element)\r\n }\r\n });\r\n setDisplayedItems(props.addSLA ? [] : arrOptions);\r\n setFilteredItems(props.addSLA ? arrOptions : [])\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [selectedIssue]);//mount\r\n\r\n useEffect(() => {\r\n if (isMounted.current && !isReset) {\r\n validateInput(\"Response\", responseMetrics)\r\n } else {\r\n isMounted.current = true;\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [responseMetrics]);\r\n\r\n useEffect(() => {\r\n if (isMount.current && !isReset) {\r\n validateResolutionMetrics(\"Resolution\", resolutionMetrics)\r\n } else {\r\n isMount.current = true;\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [resolutionMetrics]);\r\n\r\n useEffect(() => {\r\n if (isMountEmail.current) {\r\n validateEmailID(\"emailID\", emailID)\r\n } else {\r\n isMountEmail.current = true;\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [emailID]);\r\n\r\n useEffect(() => {\r\n if (isMountEmailArray.current & !isReset) {\r\n validateEmailIDArray(\"emailID\", emailIDArray)\r\n } else {\r\n isMountEmailArray.current = true;\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [emailIDArray]);\r\n\r\n useEffect(() => {\r\n if (isMountEmailReminder.current) {\r\n validateEmailReminderID(\"emailReminderID\", emailReminderID)\r\n } else {\r\n isMountEmailReminder.current = true;\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [emailReminderID]);\r\n\r\n useEffect(() => {\r\n if (isMountEmailReminderArray.current & !isReset) {\r\n validateEmailReminderIDArray(\"emailReminderID\", emailReminderIDArray)\r\n } else {\r\n isMountEmailReminderArray.current = true;\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [emailReminderIDArray]);\r\n\r\n const validateEmailID = async (name, value, array) => {\r\n await setEmailID(value);\r\n let isValid = await validateOnInput(name, value)\r\n let isExist = (emailIDArray.includes(value))\r\n if (!isValid) {\r\n let errorMsg = \"Enter a valid email, only Accenture domain is valid\"\r\n await setErrorMessages({ ...errorMessage, [`${name}Error`]: errorMsg })\r\n return errorMessage;\r\n }else if (isExist) {\r\n let errorMsg = \"Email has been already added.\"\r\n await setErrorMessages({ ...errorMessage, [`${name}Error`]: errorMsg })\r\n return errorMessage;\r\n }\r\n else {\r\n await setErrorMessages({ ...errorMessage, [`${name}Error`]: \"\" })\r\n return errorMessage;\r\n }\r\n }\r\n const validateOnInput = async (name, value) => {\r\n let isExist;\r\n let pattern = \"^[a-zA-Z0-9_.+-]+@(?:(?:[a-zA-Z0-9-]+\\\\.)?[a-zA-Z]+\\\\.)?(avanade|accenture)\\\\.com$\"\r\n isExist = (emailIDArray.includes(value))\r\n if (value !== \"\" && value.match(pattern)) {\r\n if(!isExist){\r\n await setEmailID(\"\");\r\n await setEmailIDArray(prevState => [...prevState, value]);\r\n return true\r\n }\r\n else return true;\r\n }\r\n else if (value === \"\" && emailIDArray.length > 0) {\r\n return true\r\n }\r\n else {\r\n return false\r\n }\r\n }\r\n const validateEmailReminderID = async (name, value) => {\r\n await setEmailReminderID(value);\r\n let isValid = await validateOnInputReminder(name, value)\r\n let isExist = (emailReminderIDArray.includes(value))\r\n if (!isValid) {\r\n let errorMsg = \"Enter a valid email, only Accenture domain is valid.\"\r\n await setErrorMessages({ ...errorMessage, [`${name}Error`]: errorMsg })\r\n return errorMessage;\r\n }else if (isExist) {\r\n let errorMsg = \"Email has been already added.\"\r\n await setErrorMessages({ ...errorMessage, [`${name}Error`]: errorMsg })\r\n return errorMessage;\r\n }\r\n else {\r\n await setErrorMessages({ ...errorMessage, [`${name}Error`]: \"\" })\r\n return errorMessage;\r\n }\r\n }\r\n\r\n const validateOnInputReminder = async (name, value) => {\r\n let isExist;\r\n let pattern = \"^[a-zA-Z0-9_.+-]+@(?:(?:[a-zA-Z0-9-]+\\\\.)?[a-zA-Z]+\\\\.)?(avanade|accenture)\\\\.com$\"\r\n isExist = (emailReminderIDArray.includes(value))\r\n if (value !== \"\" && value.match(pattern)) {\r\n if(!isExist){\r\n await setEmailReminderID(\"\");\r\n await setEmailReminderIDArray(prevState => [...prevState, value]);\r\n return true\r\n }\r\n else return true\r\n }\r\n else if (value === \"\" && emailReminderIDArray.length > 0) {\r\n return true\r\n }\r\n else {\r\n return false\r\n }\r\n }\r\n const validateEmailReminderIDArray = async (name, array) => {\r\n if (array.length < 1) {\r\n let errorMsg = \"This is required Field\"\r\n await setErrorMessages({ ...errorMessage, [`${name}Error`]: errorMsg })\r\n return errorMessage;\r\n } else {\r\n await setErrorMessages({ ...errorMessage, [`${name}Error`]: \"\" })\r\n return errorMessage;\r\n }\r\n }\r\n const validateEmailIDArray = async (name, array) => {\r\n if (array.length < 1) {\r\n let errorMsg = \"This is required Field\"\r\n await setErrorMessages({ ...errorMessage, [`${name}Error`]: errorMsg })\r\n return errorMessage;\r\n } else {\r\n await setErrorMessages({ ...errorMessage, [`${name}Error`]: \"\" })\r\n return errorMessage;\r\n }\r\n }\r\n const handleInput = async (e, name) => {\r\n e.preventDefault();\r\n const { value } = e.target;\r\n if (name === \"emailID\") {\r\n await setEmailID(value);\r\n } else {\r\n await setEmailReminderID(value);\r\n }\r\n }\r\n const validateResolutionMetrics = (name, value) => {\r\n let invalidPriority = [];\r\n value.forEach(data => {\r\n if (data.Unit === '' || (data.Value <= 0) || (!data.Value)) {\r\n invalidPriority.push(data.Priority)\r\n }\r\n });\r\n\r\n if (invalidPriority.length > 0) {\r\n let errorMsg = \"Values should be more than 0\"\r\n setErrorMessages({ ...errorMessage, [`${name}Error`]: errorMsg })\r\n return errorMessage;\r\n }\r\n else {\r\n setErrorMessages({ ...errorMessage, [`${name}Error`]: \"\" })\r\n return errorMessage;\r\n }\r\n }\r\n const handleChange = (e, lb1) => {\r\n const { name, value } = e.target;\r\n const id = e.target.id;\r\n if (lb1 === \"Response\") {\r\n if (name === \"Value\") {\r\n setResponseMetrics(prevState => ({\r\n ...prevState,\r\n [name]: parseInt(value)\r\n }))\r\n setIsReset(false)\r\n }\r\n else {\r\n setResponseMetrics(prevState => ({\r\n ...prevState,\r\n [name]: value\r\n }))\r\n setIsReset(false)\r\n }\r\n }\r\n else {\r\n let list = JSON.parse(JSON.stringify(resolutionMetrics));\r\n if (name === \"Value\") {\r\n list[id][name] = parseInt(value);\r\n } else {\r\n list[id][name] = value;\r\n }\r\n setResolutionMetrics(list);\r\n setIsReset(false)\r\n }\r\n }\r\n const validateInput = (name, value) => {\r\n if (name === \"slaName\" && value === \"\") {\r\n let errorMsg = \"This is a required Field.\"\r\n setErrorMessages({ ...errorMessage, [`${name}Error`]: errorMsg })\r\n return errorMessage;\r\n }\r\n if (name === \"requestStatus\" && value === \"\") {\r\n let errorMsg = \"This is a required Field.\"\r\n setErrorMessages({ ...errorMessage, [`${name}Error`]: errorMsg })\r\n return errorMessage;\r\n }\r\n if (name === \"displayedItems\" && value.length < 1) {\r\n let errorMsg = \"This is a required Field.\"\r\n setErrorMessages({ ...errorMessage, [`${name}Error`]: errorMsg })\r\n return errorMessage;\r\n }\r\n if (name === \"emailID\" && value === \"\" && emailIDArray.length === 0) {\r\n let errorMsg = \"This is a required Field.\"\r\n setErrorMessages({ ...errorMessage, [`${name}Error`]: errorMsg })\r\n return errorMessage;\r\n }\r\n if (name === \"emailReminderID\" && value === \"\" && emailReminderIDArray.length === 0) {\r\n let errorMsg = \"This is a required Field.\"\r\n setErrorMessages({ ...errorMessage, [`${name}Error`]: errorMsg })\r\n return errorMessage;\r\n }\r\n if (name === \"Response\" && !value.Value) {\r\n let errorMsg = \"This is a required Field.\"\r\n setErrorMessages({ ...errorMessage, [`${name}Error`]: errorMsg })\r\n return errorMessage;\r\n }\r\n if (name === \"Response\" && value.Value <= 0) {\r\n let errorMsg = \"Values should be more than 0\"\r\n setErrorMessages({ ...errorMessage, [`${name}Error`]: errorMsg })\r\n return errorMessage;\r\n }\r\n if (name === \"Response\" && (value.Value && value.Unit === \"\")) {\r\n let errorMsg = \"This is a required Field.\"\r\n setErrorMessages({ ...errorMessage, [`${name}Error`]: errorMsg })\r\n return errorMessage;\r\n }\r\n else setErrorMessages({ ...errorMessage, [`${name}Error`]: \"\" });\r\n }\r\n const handleBack = () => {\r\n props.backbtn()\r\n }\r\n const handleReset = async (e) => {\r\n e.preventDefault();\r\n await setIsReset(true);\r\n await setSlaName(props.addSLA ? \"\" : configData.SLAName)\r\n await setRequestStatus(props.addSLA ? \"\" : configData.incidentReqStatus);\r\n await setDisplayedItems(props.addSLA ? [] : fixedIssue);\r\n await setSelectedIssue(props.addSLA ? fixed : fixedIssue);\r\n await setResponseMetrics(props.addSLA ? { Unit: \"\", Value: 0 } : ResponseDurationProp)\r\n await setResolutionMetrics(props.addSLA ? initialState : ResolutionMetricsProp);\r\n await setEmailReminderID(\"\")\r\n await setEmailID(\"\");\r\n await setEmailReminderIDArray(props.addSLA ? [] : configData.emailIdslabeachremainder.split(\";\"))\r\n await setEmailIDArray(props.addSLA ? [] : configData.emailIdslabeach.split(\";\"));\r\n await setErrorMessages({});\r\n }\r\n const handleSubmit = (e) => {\r\n e.preventDefault();\r\n const isError = Object.values(errorMessage).filter(\r\n (item) => item !== \"\"\r\n );\r\n if (isError.length === 0) {\r\n validatefieldsBeforeSubmit();\r\n }\r\n }\r\n const getArrayId = (name) => {\r\n let selected = []\r\n let result = []\r\n selected = name.map((el) => JSON.parse(JSON.stringify(el)));\r\n // eslint-disable-next-line\r\n selected.map((el) => {\r\n delete el.IsSelected;\r\n delete el.IssueType;\r\n result.push(el)\r\n })\r\n return result\r\n }\r\n const handleSLAInput = async (e) => {\r\n const { name, value } = e.target;\r\n await setSlaName(value);\r\n validateInput(name, value);\r\n }\r\n const handleStatus = async (e) => {\r\n const { name, value } = e.target;\r\n await setRequestStatus(e.target.value);\r\n validateInput(name, value);\r\n }\r\n const handleDelete = (evt, arrayName) => {\r\n let { value } = evt.target;\r\n if (arrayName === \"emailReminderID\") {\r\n const result = emailReminderIDArray.filter(i => i !== value);\r\n setEmailReminderIDArray(result)\r\n setEmailReminderID(\"\")\r\n validateInput(\"emailReminderID\", emailReminderIDArray)\r\n } else {\r\n const resultant = emailIDArray.filter(i => i !== value);\r\n setEmailIDArray(resultant)\r\n setEmailID(\"\")\r\n validateInput(\"emailID\", emailIDArray)\r\n }\r\n };\r\n const validatefieldsBeforeSubmit = () => {\r\n let data = {};\r\n let IssueTypeIDs = getArrayId(displayedItems);\r\n data = {\r\n ...data,\r\n slaName: slaName,\r\n impactedArea: IssueTypeIDs,\r\n responseMetrics: responseMetrics,\r\n resolutionMetrics: resolutionMetrics,\r\n emailIdslabeachremainder: emailReminderIDArray.join(\";\"),\r\n emailIdslabeach: emailIDArray.join(\";\"),\r\n }\r\n if (!props.applicationFlag) {\r\n data = { ...data, requestStatus: requestStatus }\r\n }\r\n\r\n checkValidationsBeforeSubmit(data)\r\n }\r\n const checkValidationsBeforeSubmit = async (data) => {\r\n let fieldListService = [\"slaName\", \"requestStatus\", \"issueType\", \"resolutionMetrics\", \"responseMetrics\", \"emailIdslabeach\", \"emailIdslabeachremainder\"]\r\n let fieldListApplication = [\"slaName\", \"issueType\", \"resolutionMetrics\", \"responseMetrics\", \"emailIdslabeach\", \"emailIdslabeachremainder\"]\r\n let { errorData } = validateIncidentConfiguration(props.applicationFlag ? fieldListApplication : fieldListService, data);\r\n setErrorMessages(errorData);\r\n const isError = Object.values(errorData).filter(\r\n (item) => item !== \"\"\r\n );\r\n if (isError.length === 0) {\r\n data = { ...data, serviceID: props.serviceID, isApplication: Number(props.applicationFlag) }\r\n let submitData = { slaDetails: { ...data } };\r\n setShowSpinner(true)\r\n const serviceName = `CreateSLA`;\r\n const response = await postData({\r\n serviceName: serviceName,\r\n apiBaseUrl: ADMIN_API_BASE_URL,\r\n data: submitData,\r\n });\r\n const { success } = await response;\r\n if (success) {\r\n await setShowSpinner(false)\r\n await handleBack();\r\n } else {\r\n await setShowSpinner(false)\r\n }\r\n\r\n }\r\n }\r\n const assignSelectedItems = async (selectedAssets, selectedItems) => {\r\n let arrOptions = [];\r\n let arrOpt = [];\r\n selectedAssets.forEach(element => {\r\n if (element.IsSelected === 1) {\r\n arrOptions.push(element)\r\n }\r\n });\r\n selectedItems.forEach(element => {\r\n if (element.IsSelected === 1) {\r\n arrOpt.push(element)\r\n }\r\n });\r\n await setSelectedIssue(selectedAssets);\r\n await setDisplayedItems(props.addSLA ? arrOpt : arrOptions);//Change here\r\n validateInput(\"displayedItems\", displayedItems);\r\n }\r\n const handleDeleteIssue = async (e) => {\r\n let totalArray = [...selectedIssue];\r\n let filteredData = displayedItems.filter(data => data.IssueType !== e.target.value);\r\n totalArray.forEach(data => {\r\n if (data.IssueType === e.target.value) {\r\n data['IsSelected'] = 0;\r\n }\r\n })\r\n await setDisplayedItems(filteredData);\r\n await setSelectedIssue(totalArray);\r\n validateInput(\"displayedItems\", filteredData);\r\n }\r\n const handleEditSubmit = async (e) => {\r\n e.preventDefault()\r\n let editedData = {};\r\n if (slaName !== configData.SLAName) {\r\n editedData = { ...editedData, slaName: slaName }\r\n }\r\n if (requestStatus !== configData.incidentReqStatus) {\r\n editedData = { ...editedData, requestStatus: requestStatus }\r\n }\r\n if ((JSON.stringify(fixedIssue) !== JSON.stringify(selectedIssue))) {\r\n let IssueTypeIDs = getArrayId(displayedItems);\r\n editedData = { ...editedData, impactedArea: IssueTypeIDs }\r\n }\r\n if (JSON.stringify(responseMetrics) !== JSON.stringify(ResponseDurationProp)) {\r\n editedData = { ...editedData, responseMetrics: responseMetrics }\r\n }\r\n if (JSON.stringify(resolutionMetrics) !== JSON.stringify(ResolutionMetricsProp)) {\r\n editedData = { ...editedData, resolutionMetrics: resolutionMetrics }\r\n }\r\n if (JSON.stringify(configData.emailIdslabeach.split(\";\")) !== JSON.stringify(emailIDArray)) {\r\n editedData = { ...editedData, emailIdslabeach: emailIDArray.join(\";\") }\r\n }\r\n if (JSON.stringify(configData.emailIdslabeachremainder.split(\";\")) !== JSON.stringify(emailReminderIDArray)) {\r\n editedData = { ...editedData, emailIdslabeachremainder: emailReminderIDArray.join(\";\") }\r\n }\r\n const isError = Object.values(errorMessage).filter(\r\n (item) => item !== \"\"\r\n );\r\n if (Object.keys(editedData).length > 0 && editedData.constructor === Object && isError.length === 0) {\r\n let submitData = {};\r\n submitData = { ...editedData }\r\n submitData = { ...submitData, isApplication: Number(props.applicationFlag), serviceID: props.serviceID, slaID: props.slaID }\r\n submitData = { slaDetails: { ...submitData } };\r\n await setShowSpinner(true)\r\n const serviceName = `UpdateSLA`;\r\n const response = await postData({\r\n serviceName: serviceName,\r\n apiBaseUrl: ADMIN_API_BASE_URL,\r\n data: submitData,\r\n });\r\n const { success } = await response;\r\n if (success) {\r\n await setShowSpinner(false)\r\n await setIsEditable(!IsEditable)\r\n } else {\r\n await setShowSpinner(false);\r\n }\r\n\r\n }\r\n }\r\n\r\n return (\r\n < div className=\"internal-conf-form\" >\r\n
    {props.serviceName}
    \r\n
    \r\n
    \r\n
    \r\n \r\n {IsEditable ?\r\n (<>\r\n handleSLAInput(e)}\r\n />\r\n {errorMessage.slaNameError}\r\n \r\n ) :\r\n (
    \r\n {slaName}\r\n
    )\r\n }\r\n
    \r\n {!props.applicationFlag &&
    \r\n \r\n {IsEditable ?\r\n (<>\r\n handleStatus(e)}\r\n value={requestStatus}\r\n selected_value={requestStatus}\r\n use_name=\"true\"\r\n />\r\n \r\n {errorMessage.requestStatusError}\r\n \r\n ) :\r\n (
    \r\n {requestStatus}\r\n
    )}\r\n
    }\r\n
    \r\n \r\n \"info-icon\"\r\n \r\n \r\n \r\n {IsEditable ?\r\n (<>\r\n setShowDropdown(false)}>\r\n {\r\n setShowDropdown(!showDropdown)\r\n }}\r\n emailsArray={displayedItems}\r\n handleDelete={(e) => { handleDeleteIssue(e) }}\r\n isError={errorMessage.displayedItemsError ? true : false}\r\n />\r\n {showDropdown && \r\n assignSelectedItems(selectedAssets, selectedData)}\r\n />\r\n \r\n }\r\n \r\n {errorMessage.displayedItemsError}\r\n \r\n ) : (
    \r\n {displayedItems && displayedItems.map((el) => {\r\n return el.IssueType;\r\n }).join(\", \")}\r\n
    )}\r\n
    \r\n
    \r\n
    Response Duration
    \r\n handleChange(e, lb1)} />\r\n \r\n {errorMessage.ResponseError}\r\n \r\n
    \r\n
    \r\n
    Resolution Metrics
    \r\n handleChange(e, lb1)} />\r\n \r\n {errorMessage.ResolutionError}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {IsEditable ?\r\n (<>\r\n 0 ? \"\" : \"Enter email ID\"}\r\n onChange={(e, name = \"emailReminderID\") => { handleInput(e, name) }}\r\n handleDelete={(e, name = \"emailReminderID\") => { handleDelete(e, name) }}\r\n isError={errorMessage.emailReminderIDError ? true : false}\r\n />\r\n \r\n {errorMessage.emailReminderIDError}\r\n \r\n ) :
    {emailReminderIDArray && emailReminderIDArray.map((el) => {\r\n return el;\r\n }).join(\", \")}
    }\r\n
    \r\n
    \r\n \r\n {IsEditable ?\r\n (<>\r\n 0 ? \"\" : \"Enter email ID\"}\r\n onChange={(e, name = \"emailID\") => { handleInput(e, name) }}\r\n handleDelete={(e, name = \"emailID\") => { handleDelete(e, name) }}\r\n isError={errorMessage.emailIDError ? true : false}\r\n />\r\n \r\n {errorMessage.emailIDError}\r\n \r\n \r\n ) : (
    {emailIDArray && emailIDArray.map((el) => {\r\n return el;\r\n }).join(\", \")}
    )\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleBack()} />\r\n {IsEditable ? ( handleReset(e)}\r\n />) : \"\"}\r\n handleSubmit(e) : (e) => handleEditSubmit(e)}\r\n />\r\n \r\n
    \r\n {showSpinner && }\r\n \r\n )\r\n}\r\n\r\nexport default IncidentConfiguration;\r\n","import React, { Fragment, useState, useEffect } from \"react\";\r\nimport \"./incident-management.scss\";\r\nimport * as Constant from \"../../components/constants/constant\";\r\nimport IncidentConfiguration from \"./incident-configuration\";\r\nimport Modal from \"../../components/modals/modal\";\r\nimport { getData } from \"../../api/api-manager\";\r\nimport { ADMIN_API_BASE_URL } from \"../../configs/api-base-url\";\r\nimport Spinner from \"../../components/spinner/spinner\";\r\n\r\nconst IncidentManagement = props => {\r\n const [showDetails, setShowDetails] = useState(false)\r\n const [showIncident, setShowIncident] = useState(\"\")\r\n const [clicked, setClicked] = useState(false)\r\n const [removeSlaPopup, setRemoveSlaPopup] = useState(false);\r\n const [addSLA, setaddSLA] = useState(false);\r\n const [serviceApplicationIndex, setServiceApplicationIndex] = useState(null);\r\n const [slaIndex, setSlaIndex] = useState(null);\r\n const [showSpinner, setShowSpinner] = useState(true);\r\n const [showError, setError] = useState(false);\r\n const [gridData, setGridData] = useState([])//Mounting Data\r\n const [addData, setAddData] = useState([])//add SLA Data\r\n const [editData, setEditData] = useState([])//edit SLA Data\r\n const [selectedServiceApplicationID, setSelectedServiceApplicationID] = useState(null)\r\n const [selectedSlaID, setSelectedSLAID] = useState(null)\r\n const [IsApplication, setIsApplication] = useState()\r\n\r\n useEffect(() => {\r\n getFormData();\r\n }, [])\r\n\r\n async function getFormData() {\r\n const response = await getData({\r\n serviceName: `IncidentManagement`,\r\n apiBaseUrl: ADMIN_API_BASE_URL\r\n });\r\n const { success } = await response;\r\n if (success) {\r\n const { data } = response;\r\n if (data) {\r\n const { SLAGroupManagement = [] } = data\r\n await setGridData(SLAGroupManagement)\r\n await setShowSpinner(false);\r\n }\r\n }\r\n else {\r\n await setShowSpinner(false);\r\n await setError(true);\r\n }\r\n }\r\n\r\n async function getAddSLAData(ID, applicationFlag) {\r\n const response = await getData({\r\n serviceName: `PopulateSLAForm?selectedID=${ID}&isApplication=${Number(applicationFlag)}`,\r\n apiBaseUrl: ADMIN_API_BASE_URL\r\n });\r\n const { success } = await response;\r\n if (success) {\r\n const { data } = response;\r\n if (data) {\r\n const { SLAGroupManagement = [] } = data\r\n await setAddData(SLAGroupManagement)\r\n await setShowSpinner(false);\r\n }\r\n }\r\n }\r\n\r\n async function getEditSLAData(serviceID, slaID, applicationFlag) {\r\n const response = await getData({\r\n apiBaseUrl: ADMIN_API_BASE_URL,\r\n serviceName: `PopulateSLAForEdit?selectedID=${serviceID}&SLAID=${slaID}&isApplication=${Number(applicationFlag)}`,\r\n });\r\n const { success } = await response;\r\n if (success) {\r\n const { data } = response;\r\n if (data) {\r\n const { SLAGroupManagement = [] } = data\r\n setEditData(SLAGroupManagement)\r\n setShowSpinner(false);\r\n }\r\n }\r\n }\r\n\r\n const handleAddSLA = async (index, ID, applicationFlag) => {\r\n await setSelectedServiceApplicationID(ID)\r\n await setShowSpinner(true)\r\n await setIsApplication(applicationFlag)\r\n await getAddSLAData(ID, applicationFlag)\r\n await setShowSpinner(false)\r\n await setaddSLA(true);\r\n await setServiceApplicationIndex(index)\r\n }\r\n const handleRemoveUser = async (index, indexSLA, serviceID, slaID) => {\r\n await setServiceApplicationIndex(index);\r\n await setSlaIndex(indexSLA);\r\n await setSelectedServiceApplicationID(serviceID);\r\n await setSelectedSLAID(slaID)\r\n await setRemoveSlaPopup(true)\r\n }\r\n\r\n const handlePostDelete = async (applicationFlag) => {\r\n await setRemoveSlaPopup(false);\r\n await setShowSpinner(true);\r\n const serviceName = `DeleteSLADetail?selectedID=${selectedServiceApplicationID}&SLAID=${selectedSlaID}&isApplication=${Number(applicationFlag)}`;\r\n const response = await getData({\r\n serviceName: serviceName,\r\n apiBaseUrl: ADMIN_API_BASE_URL,\r\n });\r\n const { success } = await response;\r\n if (success) {\r\n setShowSpinner(true);\r\n //Page should reload again.\r\n await getFormData();\r\n setShowSpinner(false);\r\n } else {\r\n setShowSpinner(false);\r\n }\r\n }\r\n\r\n const handleBack = async (e) => {\r\n //Page reoload Again\r\n await setShowSpinner(true);\r\n await getFormData();\r\n await setShowSpinner(false);\r\n await setShowDetails(false)\r\n await setaddSLA(false)\r\n }\r\n const openIncident = async (index) => {\r\n await setShowIncident(`showIncident${index}`)\r\n await setClicked(!clicked);\r\n await setServiceApplicationIndex(index);\r\n }\r\n const handleEdit = async (index, ID, slaID, applicationFlag) => {\r\n await setServiceApplicationIndex(index);\r\n await setSelectedServiceApplicationID(ID);\r\n await setSelectedSLAID(slaID);\r\n await setIsApplication(applicationFlag)\r\n await setShowSpinner(true)\r\n await getEditSLAData(ID, slaID, applicationFlag)\r\n await setShowSpinner(false)\r\n await setShowDetails(true);\r\n }\r\n\r\n return (\r\n <>\r\n {!showDetails && !addSLA && (\r\n
    \r\n < Fragment >\r\n

    SLA Management

    \r\n

    Admin    >    SLA Management

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {gridData && gridData.length > 0 ? (\r\n \r\n {gridData && gridData.map((data, index) => {\r\n let initials = !!data.IsApplication ? \"A\" : \"S\";\r\n let customInitials = !!data.IsApplication ? \"application\" : \"service\";\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n\r\n {(showIncident === `showIncident${index}`) && clicked && (\r\n <>\r\n {data.slalist.length > 0 && (<>\r\n \r\n \r\n \r\n )}\r\n {data.slalist.map((req, indexSLA) => {\r\n return (\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 : (!showError ?\r\n \r\n \r\n :\r\n \r\n \r\n )}\r\n
    Services / ApplicationAdd SLA
    \r\n \"action\" openIncident(index)} />\r\n {initials}\r\n {data.Name}\r\n \r\n \"action\" handleAddSLA(index, data.ID, data.IsApplication)} />\r\n
    SLA NameImpacted AreaAction
    {req.SLAName}{req.ImpactedArea.map((issue) => {\r\n return issue.Name;\r\n }).join(\", \")}\r\n \"action\" handleEdit(index, data.ID, req.SLAID, data.IsApplication)} />\r\n \"action\" handleRemoveUser(index, indexSLA, data.ID, req.SLAID)} />\r\n
    You do not own any of the services to manage the user group
    No SLA information found.
    \r\n \r\n
    \r\n )\r\n }\r\n\r\n {/*Edit Page*/}\r\n {\r\n showDetails && editData && (\r\n
    \r\n { handleBack(e); }}>\r\n
    \r\n )\r\n }\r\n {/*Add New SLA*/}\r\n {\r\n addSLA && addData && (\r\n
    \r\n { handleBack(e); }}>\r\n
    \r\n )\r\n }\r\n {/*confirmation popup before removing user*/}\r\n {\r\n gridData && gridData[serviceApplicationIndex] && gridData[serviceApplicationIndex].slalist && gridData[serviceApplicationIndex].slalist[slaIndex] && removeSlaPopup && setRemoveSlaPopup(false)} handleClose={() => handlePostDelete(gridData[serviceApplicationIndex].IsApplication)}>\r\n

    Are you sure you want to delete {gridData[serviceApplicationIndex].slalist[slaIndex].SLAName}?

    \r\n }\r\n {showSpinner && }\r\n \r\n )\r\n}\r\n\r\nexport default IncidentManagement;\r\n","import React, { Component, Fragment } from \"react\";\r\nimport \"./notification-page.scss\";\r\nimport Pagination from \"../../components/pagination/pagination\";\r\nimport * as Constant from \"../../components/constants/constant\";\r\nimport CustomModal from \"../../components/modals/custom-modal\";\r\nimport { format } from \"date-fns\";\r\nimport Spinner from \"../../components/spinner/spinner\";\r\nimport { getData } from \"../../api/api-manager\";\r\nimport { UTIL_BASE_URL } from \"../../configs/api-base-url\";\r\nimport Modal from \"../../components/modals/modal\";\r\nimport parse from 'html-react-parser';\r\n\r\nclass NotificationPage extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n currentPageNumber: 1,\r\n showSpinner: true,\r\n NoRequests: false,\r\n isInfo: false,\r\n };\r\n }\r\n componentDidMount() {\r\n this.getInitialNotifications();\r\n }\r\n async getInitialNotifications() {\r\n const response = await getData({ apiBaseUrl: UTIL_BASE_URL, serviceName: `Notifications` });\r\n this.setStatesbyData(await response);\r\n }\r\n\r\n async getNotificationsPageData({ serviceName }) {\r\n const response = await getData({ apiBaseUrl: UTIL_BASE_URL, serviceName });\r\n this.setStatesbyData(await response);\r\n }\r\n setStatesbyData = response => {\r\n const { success, data, error, isInfo } = response;\r\n if (success) {\r\n if (data.NotificationList.Notifications && data.NotificationList.Notifications.length > 0) {\r\n this.setState({\r\n data: data.NotificationList.Notifications,\r\n perPage: 10,\r\n totalPages: data.NotificationList && data.NotificationList.NotificationCount,\r\n loading: false,\r\n showSpinner: false,\r\n noNotifications: false\r\n });\r\n } else {\r\n this.setState({\r\n noNotifications: true, showSpinner: false\r\n })\r\n }\r\n\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n onPageIndexChanged = data => {\r\n let { currentPage } = data;\r\n if (currentPage) {\r\n currentPage = isNaN(currentPage) ? 1 : currentPage\r\n let url = `Notifications?pageIndex=${currentPage}`;\r\n this.getNotificationsPageData({ serviceName: url });\r\n this.setState({ currentPage, currentPageNumber: currentPage });\r\n }\r\n };\r\n async getMoreDetails(item, contextData) {\r\n await this.setState({\r\n clickedId: item.ID\r\n })\r\n const response = await getData({ apiBaseUrl: UTIL_BASE_URL, serviceName: `NotificationDetails?notificationID=${item.ID}` });\r\n const { success, data, error, isInfo } = await response;\r\n if (success) {\r\n if (!item.isRead) {\r\n let currentUnread = contextData.unreadNotificationCnt\r\n let existingReadNotificationIds = [...contextData.existingReadNotificationIds, item.ID]\r\n await contextData.addNewDataInContext({ unreadNotificationCnt: currentUnread - 1, existingReadNotificationIds })\r\n }\r\n await this.setState({\r\n notificationDetails: data.Description,\r\n item,\r\n [`${item.ID}-showDetailsPopup`]: true,\r\n })\r\n let statusChange = []\r\n this.state.data.reduce((acc, currentVal) => {\r\n if (currentVal.ID === item.ID && currentVal.isRead === false) {\r\n statusChange = [...statusChange, { ...currentVal, isRead: true }]\r\n } else {\r\n statusChange = [...statusChange, { ...currentVal }]\r\n }\r\n return null\r\n }, [])\r\n await this.setState({\r\n data: statusChange\r\n })\r\n\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n handleOutsideClick() {\r\n this.setState({\r\n [`${this.state.clickedId}-showDetailsPopup`]: false\r\n })\r\n }\r\n render() {\r\n const { data, totalPages, perPage,notificationDetails } = this.state;\r\n const notificationDetailsfield = notificationDetails ? parse(notificationDetails.toString(\"html\")) : null;\r\n return (\r\n
    \r\n

    Notification

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {data && data.length > 0 && data.map((item, index) => {\r\n const isItemRead = item.isRead || this.props.appContextDetails.existingReadNotificationIds.includes(item.ID)\r\n return index < 10 && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
    TitleType{`Date & Time`}
    { this.getMoreDetails(item, this.props.appContextDetails); }}>\r\n

    {item.Title}

    {item.Category}{format(new Date(item.createdDate), 'dd/MM/yyyy hh:mm aa')}
    \r\n {!!this.state[`${this.state.clickedId}-showDetailsPopup`] && { this.handleOutsideClick() }}\r\n handleOk={() => { this.handleOutsideClick() }}\r\n extraClass=\"notification-detail-modal\">\r\n \r\n
    \r\n
    {this.state.item.Category}
    \r\n {!!this.state.item.createdDate && Updated on: {format(new Date(this.state.item.createdDate), 'dd/MM/yyyy')}}\r\n
    \r\n
    {notificationDetailsfield}
    \r\n
    \r\n
    }\r\n {!!totalPages && (\r\n \r\n )}\r\n {this.state.showSpinner && }\r\n {this.state.noNotifications &&\r\n
    \r\n

    Alert

    \r\n \"Page-not-found\"\r\n

    No Notifications!!

    \r\n
    \r\n }\r\n {this.state.error && { this.setState({ showErrorPopup: false }) }}>

    {this.state.error}

    }\r\n\r\n
    \r\n )\r\n }\r\n}\r\nexport default NotificationPage;","export const styledStatus = (status) => {\r\n let spanClass = 'new-status'\r\n switch (status) {\r\n case 'New':\r\n spanClass = 'new-status'\r\n break;\r\n case 'Assigned':\r\n spanClass = 'assigned-status'\r\n break;\r\n case 'Resolved':\r\n spanClass = 'resolved-status'\r\n break;\r\n case 'Waiting':\r\n spanClass = 'waiting-status'\r\n break;\r\n case 'In Progress':\r\n spanClass = 'in-progress-status'\r\n break;\r\n case 'Cancel':\r\n spanClass = 'cancel-status'\r\n break;\r\n case 'Closed':\r\n spanClass = 'closed-status'\r\n break;\r\n case 'Rejected':\r\n spanClass = 'rejected-status'\r\n break;\r\n default:\r\n break;\r\n }\r\n return spanClass;\r\n}\r\n\r\nexport const azureStatus = (status) => {\r\n let spanClass = 'new-status'\r\n switch (status) {\r\n case 'New':\r\n spanClass = 'new-status'\r\n break;\r\n case 'Approved':\r\n spanClass = 'approved-status'\r\n break;\r\n case 'Committed':\r\n spanClass = 'in-progress-status'\r\n break;\r\n case 'Done':\r\n spanClass = 'done-status'\r\n break;\r\n case 'Development Complete':\r\n spanClass = 'in-progress-status'\r\n break;\r\n case 'Dev in Progress':\r\n spanClass = 'in-progress-status'\r\n break;\r\n case 'UX Completed':\r\n spanClass = 'in-progress-status'\r\n break;\r\n case 'In Progress':\r\n spanClass = 'in-progress-status'\r\n break;\r\n case 'UX in Progress':\r\n spanClass = 'ux-in-progress-status'\r\n break;\r\n case 'QA in Progress':\r\n spanClass = 'in-progress-status'\r\n break;\r\n case 'QA Complete':\r\n spanClass = 'in-progress-status'\r\n break;\r\n case 'Blocked':\r\n spanClass = 'blocked'\r\n break;\r\n case 'Removed':\r\n spanClass = 'blocked'\r\n break;\r\n default:\r\n break;\r\n }\r\n return spanClass;\r\n}\r\n\r\nexport const splitCoeContact = (username) => {\r\n if (username) {\r\n const splittedusername = username.split(\".\");\r\n const userInitials = `${splittedusername[0][0]}${splittedusername[splittedusername.length - 1][0]}`;\r\n return userInitials.toUpperCase();\r\n }\r\n return ''\r\n}\r\nexport const prepareTmpObjByArr = (arr, tmpObj, existingIssueDetails) => {\r\n arr.map((field) => {\r\n tmpObj = { ...tmpObj, [field]: existingIssueDetails[field] }\r\n return null\r\n })\r\n return tmpObj\r\n}\r\nexport const prepareTmpObjByArrForApp = (arr, tmpObj, existingIssueDetails) => {\r\n arr.map((field) => {\r\n if (field === 'AssignedGroup') {\r\n field = 'AssignedGroupId'\r\n }\r\n tmpObj = { ...tmpObj, [field]: existingIssueDetails[field] }\r\n return null\r\n })\r\n return tmpObj\r\n}\r\nexport const prepareAppObj = (arr, tmpObj, existingIssueDetails) => {\r\n arr.map((field) => {\r\n if (field === 'AssignedGroup') {\r\n tmpObj = { ...tmpObj }\r\n } else {\r\n tmpObj = { ...tmpObj, [field]: existingIssueDetails[field] }\r\n }\r\n return null\r\n })\r\n return tmpObj\r\n}","import React, { Component, Fragment } from \"react\";\r\nimport \"./incident-summary.scss\";\r\nimport CustomTextArea from \"../../../components/custom-textarea/custom-textarea\";\r\nimport CustomButton from \"../../../components/button/nextbutton\";\r\nimport CustomSelect from \"../../../components/custom-select/custom-select\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport Popup from \"../../../components/popup/popup\";\r\nimport CustomInput from \"../../../components/custom-input/custom-input\";\r\nimport * as Constant from \"../../../components/constants/constant\";\r\nimport { getData, postData } from \"../../../api/api-manager\";\r\nimport { INCIDENT_API_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport { styledStatus } from \"../common-functions\";\r\nimport { validateComment } from \"../../../components/validators/validate\";\r\nimport parse from 'html-react-parser';\r\nclass IncidentSummary extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n comment: \"\", toggleDesc: false, clickedAction: \"\",\r\n impact: \"\",\r\n priority: \"\",\r\n selectReasonAction: \"\", showUserAssignPopup: false, showSubmitConfirmModal: false,\r\n userSearchList: [], showErrorPopup: false, showSpinner: false,\r\n isError: false, clickOnUpdate: false, commentError: \"\"\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.initializeState();\r\n }\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.detailsData !== this.props.detailsData) {\r\n this.setState({ detailsData: this.props.detailsData })//after refresh data\r\n }\r\n }\r\n initializeState() {\r\n const { detailsData, userRoleID, userEID } = this.props\r\n this.setState({ detailsData: detailsData || [] })\r\n if (detailsData && detailsData.serviceDetails && detailsData.serviceDetails.length > 0) {\r\n this.setState({ id: detailsData.serviceDetails[0].requestID || \"\" })\r\n } else if (detailsData && detailsData.applicationDetails && detailsData.applicationDetails.length > 0) {\r\n this.setState({ id: detailsData.applicationDetails[0].applicationID || \"\" })\r\n }\r\n this.setState({\r\n showAdditionalErrorMsg: (detailsData && detailsData.additionalErrorMsg) || null,\r\n createdBy: (detailsData && detailsData.createdBy) || null,\r\n userRole: userRoleID ? userRoleID : \"\", userEID: userEID ? userEID : \"\",\r\n })\r\n if (detailsData && detailsData.serviceDetails && detailsData.serviceDetails.length > 0) {\r\n let serviceDynamicField = this.dynamicFields(detailsData);\r\n this.setState({ serviceDynamicField: serviceDynamicField })\r\n }\r\n }\r\n dynamicFields(detailsData) {\r\n let fields = []\r\n if (detailsData && detailsData.serviceDetails && detailsData.serviceDetails[0].fieldList) {\r\n fields = detailsData.serviceDetails[0].fieldList.split(',')\r\n return fields\r\n }\r\n return fields\r\n }\r\n textSplit = (text) => {\r\n if (this.state.toggleDesc) return text\r\n else return text.split(\"\").slice(0, 150);\r\n }\r\n\r\n async handleAction(ele) {\r\n this.setState({\r\n clickedAction: this.state.clickedAction !== ele.actionName ? ele.actionName : \"\",\r\n selectReasonAction: \"\",\r\n showUserAssignPopup: ele.assignUser || false,\r\n showAdditionalErrorMsg:\r\n this.state.showAdditionalErrorMsg !== null ?\r\n this.state.clickedAction !== ele.actionName ? false : true //toggle error msg on click of action\r\n : null\r\n })\r\n this.isActionError(ele)\r\n }\r\n async handleSelect(e) {\r\n const actionName = e.target.getAttribute(\"actionName\")\r\n const reasonTxt = e.target.value\r\n await this.setState({ selectReasonAction: reasonTxt, clickedAction: actionName })\r\n await this.isActionError()\r\n }\r\n isActionError(ele) {\r\n if (ele) {\r\n if (ele.isCommentsMandatory && this.state.comment === \"\" && this.state.clickedAction !== ele.actionName) {\r\n this.setState({ actionValidationError: ele.validationMessage, isError: true })\r\n } else {\r\n this.setState({ actionValidationError: \"\", isError: false })\r\n }\r\n } else {\r\n const { detailsData } = this.props\r\n if (detailsData && detailsData.actions && detailsData.actions.length > 0 && this.state.comment === \"\") {\r\n detailsData.actions.map((item) => {\r\n if (item.actionName === this.state.clickedAction && item.isCommentsMandatory) {\r\n this.setState({ actionValidationError: item.validationMessage, isError: true })\r\n }\r\n return null\r\n })\r\n }\r\n else {\r\n this.setState({ actionValidationError: \"\", isError: false })\r\n }\r\n }\r\n }\r\n\r\n async setComment(e) {\r\n const { value } = e.target;\r\n await this.setState({ comment: value })\r\n const commentError = validateComment(value)\r\n await this.setState({ commentError: commentError })\r\n await this.isActionError()\r\n }\r\n\r\n // async updateAssignGroup(e) {\r\n // await this.setState({ assignedGroup: e.target.value })\r\n // }\r\n\r\n async updateImpact(e) {\r\n this.setState({ impact: e.target.value })\r\n let data = {\r\n \"IncidentNumber\": this.props.incidentNumber,\r\n \"Impact\": parseInt(this.state.impact) || parseInt(this.props.detailsData.impact),\r\n }\r\n if (this.state.impact !== \"\") {\r\n data = { ...data, \"Impact\": parseInt(this.state.impact) }\r\n }\r\n let updateImpact = { \"impactDetails\": { ...data } }\r\n const serviceName = `PriorityCalculation?incidentNumber=${this.props.incidentNumber}&impact=${parseInt(e.target.value)}`\r\n const response = await getData({\r\n serviceName: serviceName,\r\n apiBaseUrl: INCIDENT_API_BASE_URL,\r\n data: updateImpact\r\n });\r\n\r\n const { success, error } = await response;\r\n let res = response.data.calculatedPriority[0].Name\r\n if (success) {\r\n\r\n return (this.setState({ priority: res }))\r\n } else {\r\n this.setState({ showSpinner: false, error: error, showErrorPopup: true });\r\n }\r\n }\r\n async handleAssign() {\r\n await this.setState({ showUserAssignPopup: false, showAssignmentConfirmModal: true })\r\n }\r\n\r\n handleClose() { this.setState({ showUserAssignPopup: false, searchUserEID: \"\", clickedAction: \"\", userSearchList: [] }); }\r\n\r\n async handleInput(e) {\r\n await this.setState({ searchUserEID: e.target.value });\r\n const serviceName = `IncidentGroupUsers?Id=${this.state.id}&eidStart=${this.state.searchUserEID}&actionButton=${this.state.clickedAction}`\r\n const response = await getData({ serviceName: serviceName, apiBaseUrl: INCIDENT_API_BASE_URL });\r\n const { success, data, error } = await response;\r\n if (success) {\r\n this.setState({ userSearchList: data });\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true });\r\n }\r\n await this.checkUserSearchList();\r\n }\r\n\r\n checkUserSearchList = () => {\r\n const searchUser = this.state.searchUserEID\r\n if (this.state.userSearchList.length > 0) {\r\n const filter = this.state.userSearchList.filter(function (user) { return user.EID === searchUser })\r\n if (filter.length > 0) {\r\n this.setState({ enableAssignBtn: true, searchUserName: filter[0].Name })\r\n } else { this.setState({ enableAssignBtn: false }) }\r\n } else { this.setState({ enableAssignBtn: false }) }\r\n }\r\n\r\n async selectUserName(e) {\r\n const eid = e.target.getAttribute(\"eid\")\r\n await this.setState({ searchUserEID: eid, userSearchList: [] });\r\n await this.checkUserSearchList();\r\n await this.setState({ enableAssignBtn: true })\r\n }\r\n\r\n enableSubmitBtn = () => {\r\n const { comment, impact,selectReasonAction, clickedAction, isError, commentError, clickOnUpdate } = this.state\r\n // (parseInt(AssignedGroup) !== parseInt(detailsData && detailsData.AssignedGroup) && AssignedGroup))\r\n // (parseInt(impact) !== parseInt(detailsData && detailsData.impact) && impact))\r\n return (((comment !== \"\" || selectReasonAction !== \"\" || clickedAction !== \"\" || ((impact !== \"\") && (this.props.detailsData.calculatedPriority !== true))\r\n )\r\n && !isError && commentError === \"\" && !clickOnUpdate // mandatory condition for enabling btn\r\n ) ? true : false)\r\n }\r\n\r\n async handleAssignSubmit() {\r\n\r\n let data = {\r\n \"IncidentNumber\": this.props.incidentNumber,\r\n \"Action\": this.state.clickedAction,\r\n \"Comments\": this.state.comment,\r\n \"AssignedTo\": this.state.searchUserEID,\r\n \"Impact\": (this.props.detailsData.calculatedPriority === false) ? \"\" : parseInt(this.props.detailsData.impact),\r\n \"id\": parseInt(this.state.id)\r\n }\r\n\r\n if (this.state.selectReasonAction !== \"\") {\r\n data = {\r\n ...data,\r\n \"Reason\": parseInt(this.state.selectReasonAction)\r\n }\r\n }\r\n let submitData = { \"incidentDetails\": { ...data } }\r\n this.setState({ showAssignmentConfirmModal: false })\r\n const serviceName = `updateIncident`\r\n const response = await postData({\r\n serviceName: serviceName,\r\n apiBaseUrl: INCIDENT_API_BASE_URL,\r\n data: submitData\r\n });\r\n const { success, error } = await response;\r\n if (success) {\r\n this.setState({ showSpinner: false, })\r\n await this.props.refreshIncidentDetails()\r\n this.resetStates()\r\n } else {\r\n this.setState({ showSpinner: false, error: error, showErrorPopup: true });\r\n }\r\n }\r\n handleImpact() {\r\n if (this.state.impact !== \"\" && this.props.detailsData.calculatedPriority === false) {\r\n this.setState({ showSubmitConfirmModal: true })\r\n }\r\n else {\r\n this.handleSubmit()\r\n }\r\n }\r\n async handleSubmit() {\r\n\r\n this.setState({ showSubmitConfirmModal: false })\r\n let data = {}\r\n if (this.state.userRole === 1) {\r\n data = {\r\n \"IncidentNumber\": this.props.incidentNumber,\r\n \"Comments\": this.state.comment\r\n }\r\n if (this.state.clickedAction !== \"\") {\r\n data = { ...data, \"Action\": this.state.clickedAction }\r\n }\r\n } else {\r\n data = {\r\n \"IncidentNumber\": this.props.incidentNumber,\r\n \"Comments\": this.state.comment,\r\n }\r\n if (this.state.clickedAction !== \"\") {\r\n data = { ...data, \"Action\": this.state.clickedAction }\r\n }\r\n if (this.state.selectReasonAction !== \"\") {\r\n data = { ...data, \"Reason\": parseInt(this.state.selectReasonAction) }\r\n }\r\n if (this.state.impact !== \"\") {\r\n data = { ...data, \"Impact\": parseInt(this.state.impact) }\r\n }\r\n\r\n if (this.state.userEID !== this.state.createdBy) {\r\n data = { ...data, \"id\": parseInt(this.state.id) }\r\n }\r\n }\r\n let submitData = { \"incidentDetails\": { ...data } }\r\n this.setState({ showSpinner: true, clickOnUpdate: true })\r\n\r\n const serviceName = `updateIncident`\r\n const response = await postData({\r\n serviceName: serviceName,\r\n apiBaseUrl: INCIDENT_API_BASE_URL,\r\n data: submitData\r\n });\r\n const { success, error } = await response;\r\n if (success) {\r\n\r\n this.props.setRefresherForSLA()\r\n this.setState({ showSpinner: false, clickOnUpdate: false, showSubmitConfirmModal: false })\r\n await this.props.refreshIncidentDetails()\r\n this.resetStates()\r\n } else {\r\n this.setState({ showSpinner: false, error: error, showErrorPopup: true, clickOnUpdate: false });\r\n }\r\n }\r\n resetStates() {\r\n this.setState({ clickedAction: \"\", searchUserEID: \"\", userSearchList: [], comment: \"\", selectReasonAction: \"\", isError: \"\" })\r\n }\r\n\r\n render() {\r\n const { error, showUserAssignPopup, showSubmitConfirmModal, enableAssignBtn, userSearchList, serviceDynamicField, showErrorPopup, commentError,\r\n actionValidationError, showAssignmentConfirmModal, searchUserEID, showAdditionalErrorMsg, detailsData\r\n } = this.state;\r\n const incidentSummaryComment = detailsData && detailsData.comments\r\n ? parse(detailsData.comments.toString(\"html\"))\r\n : null;\r\n return (\r\n \r\n {detailsData &&\r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n \r\n {detailsData.incidentNumber}\r\n
    • \r\n
    • \r\n \r\n {detailsData.createdBy}\r\n
    • \r\n
    • \r\n \r\n {detailsData.category}\r\n
    • \r\n {detailsData.serviceDetails && detailsData.serviceDetails.length > 0 &&\r\n \r\n
    • \r\n \r\n {detailsData.serviceDetails[0].serviceName}\r\n
    • \r\n
    • \r\n \r\n {detailsData.serviceDetails[0].requestNumber}\r\n
    • \r\n
    • \r\n \r\n {detailsData.serviceDetails[0].clientName}\r\n
    • \r\n {serviceDynamicField && serviceDynamicField.length > 0 && detailsData.serviceDetails.length > 0 && serviceDynamicField.includes(\"SID\") &&\r\n
    • \r\n \r\n {detailsData.serviceDetails[0].fieldValues.length > 0 && detailsData.serviceDetails[0].fieldValues[0].SID}\r\n
    • \r\n }\r\n {serviceDynamicField && serviceDynamicField.length > 0 && detailsData.serviceDetails.length > 0 && serviceDynamicField.includes(\"DDPApplication\") &&\r\n
    • \r\n \r\n {detailsData.serviceDetails[0].fieldValues.length > 0 && detailsData.serviceDetails[0].fieldValues[0].DDPApplication}\r\n
    • \r\n }\r\n {serviceDynamicField && serviceDynamicField.length > 0 && detailsData.serviceDetails.length > 0 && serviceDynamicField.includes(\"ClientNumber\") &&\r\n
    • \r\n \r\n {detailsData.serviceDetails[0].fieldValues.length > 0 && detailsData.serviceDetails[0].fieldValues[0].ClientNumber}\r\n
    • \r\n }\r\n\r\n
      }\r\n {detailsData.applicationDetails && detailsData.applicationDetails.length > 0 &&\r\n \r\n
    • \r\n \r\n {detailsData.applicationDetails[0].applicationName}\r\n
    • \r\n \r\n
      \r\n }\r\n
    • \r\n \r\n {detailsData.ImpactedArea}\r\n
    • \r\n
    • \r\n \r\n {detailsData.IssueType}\r\n
    • \r\n
    • \r\n \r\n {detailsData.urgency}\r\n
    • \r\n
    • \r\n \r\n {detailsData.priority || this.state.priority}\r\n
    • \r\n {(detailsData.status === \"Resolved\" || detailsData.calculatedPriority) ?\r\n
    • \r\n \r\n {detailsData.impactName}\r\n
    • :\r\n
      \r\n {detailsData.ImpactList && detailsData.ImpactList.length > 0 &&\r\n
    • \r\n \r\n {\r\n this.updateImpact(e)\r\n }}\r\n disabled={this.props.detailsData.calculatedPriority}\r\n selected_value=\"Select Impact\"\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 {detailsData.status}\r\n
    • \r\n
    • \r\n \r\n {detailsData.reason}\r\n
    • \r\n
    • \r\n \r\n {detailsData.assignedTo}\r\n
    • \r\n
    • \r\n \r\n {detailsData.createdOn} (GMT)\r\n
    • \r\n
    • \r\n \r\n {detailsData.issueSummary}\r\n
    • \r\n
    • \r\n \r\n {detailsData.issueDescription && detailsData.issueDescription.length > 200 ?\r\n

      \r\n {this.textSplit(detailsData.issueDescription)}...\r\n \r\n

      \r\n : {detailsData.issueDescription}}\r\n
    • \r\n\r\n
    • \r\n \r\n {detailsData.TimeZone}\r\n
    • \r\n
    • \r\n \r\n {detailsData.WorkingSchedule}\r\n
    • \r\n {/* {(detailsData.status === \"Resolved\") ?\r\n
    • \r\n \r\n {detailsData.AssignedGroup}\r\n
    • :\r\n
      \r\n {detailsData.AssignedGroupList && detailsData.AssignedGroupList.length > 0 &&\r\n
    • \r\n \r\n {\r\n this.updateAssignGroup(e)\r\n }}\r\n selected_value=\"Select Impact\"\r\n />\r\n
    • \r\n }\r\n
      \r\n } */}\r\n
    \r\n
    \r\n { detailsData.isNoteVisible &&\r\n
    \r\n Note : Provide Resolution and Put it on Hold options will be enabled once\r\n the priority is set by selecting the impact and incident is assigned to yourself or any L1/L2 member.\r\n \r\n
    \r\n }\r\n
    \r\n {detailsData.actions && detailsData.actions.length > 0 &&
    \r\n
    Actions
    \r\n
    \r\n {detailsData.actions.map((ele, index) => {\r\n return (\r\n {ele.Reasons && ele.Reasons.length > 0 ?\r\n :\r\n \r\n }\r\n )\r\n })\r\n }
    \r\n {actionValidationError !== \"\" &&

    {actionValidationError}

    }\r\n {showAdditionalErrorMsg &&

    {detailsData.additionalErrorMsg}

    }\r\n
    }\r\n\r\n
    Comments
    \r\n
    \r\n
    \r\n
    {incidentSummaryComment}
    \r\n
    \r\n this.setComment(e)}\r\n disabled={detailsData.actions && detailsData.actions.length === 0}\r\n />\r\n
    \r\n
    \r\n {commentError &&

    {commentError}

    }\r\n
    \r\n {detailsData.actions && detailsData.actions.length > 0 && this.handleImpact()} />}\r\n
    \r\n {showUserAssignPopup &&\r\n { this.handleAssign() }} buttonPosition={\"add-user-btn\"}>\r\n \"Close\" { this.handleClose() }} />\r\n

    User Name

    \r\n { this.handleInput(e) }}>\r\n
    \r\n {userSearchList.length > 0 && {\r\n return

    this.selectUserName(e)}>{user.EID}

    \r\n })} />}\r\n
    }
    \r\n {!!showAssignmentConfirmModal &&\r\n { this.handleAssignSubmit() }} extraClass=\"assignment-confirm-modal\"\r\n handleCancel={() => { this.setState({ showAssignmentConfirmModal: false, showUserAssignPopup: true }) }} cancelBtn={true}\r\n okBtnName='Assign' cancelBtnName=\"Don't Assign\"\r\n >

    Are you sure you want to assign this incident to {searchUserEID}

    }\r\n {!!showSubmitConfirmModal && this.state.impact &&\r\n { this.handleSubmit() }} extraClass=\"assignment-confirm-modal\"\r\n handleCancel={() => { this.setState({ showSubmitConfirmModal: false }) }}\r\n cancelBtn={true}\r\n okBtnName='Yes' cancelBtnName=\"Cancel\"\r\n >

    Impact cannot be changed once it is updated. Do you want to continue ?

    }\r\n {this.state.showSpinner && }\r\n {error && { this.setState({ showErrorPopup: false }) }}>

    {error}

    }\r\n
    \r\n }\r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n\r\nexport default IncidentSummary","import React, { useState, useEffect } from \"react\";\r\nimport \"./incident-history.scss\"\r\nimport { styledStatus } from \"../common-functions\";\r\n\r\nfunction IncidentHistory(props) {\r\n const IncidentHistoryDataAPI = props.incidentDetailsData && props.incidentDetailsData.IncidentHistoryData\r\n const [historyDatas, setHistorydatas] = useState([]);\r\n const SelectedStatus = [\"New\", \"Cancelled\", \"Resolved\", \"Waiting\", \"Closed\"];\r\n\r\n useEffect(() => {\r\n setHistorydatas(IncidentHistoryDataAPI && IncidentHistoryDataAPI.reverse())\r\n }, [IncidentHistoryDataAPI]);\r\n\r\n const timeSplit = (timestamp) => {\r\n let timeSplitObject = {}\r\n const time = timestamp.slice(11).trim()\r\n const date = timestamp.slice(0, 11).split('-').join(\" \");\r\n timeSplitObject = { ...timeSplitObject, date, time }\r\n return

    {`On ${timeSplitObject.date} at ${timeSplitObject.time} (GMT)`}

    \r\n }\r\n return (\r\n < div className=\"incident-history-wrapper\">\r\n
      \r\n {historyDatas && historyDatas.map((data, index) => {\r\n return (\r\n \r\n
    • \r\n
      \r\n {data.Status.toUpperCase()}\r\n {data.StatusDescription}\r\n
      \r\n
      \r\n {data.Assignee === \"System\" && data.Status === \"Closed\" ? (

      Incident Auto Closed.

      )\r\n : (SelectedStatus.includes(data.Status) ?\r\n

      By {data.Assignee}

      \r\n :

      To {data.Assignee}

      \r\n )}\r\n {timeSplit(data.TimeStamp)}\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\nexport default IncidentHistory;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./incident-sla-summary.scss\";\r\nimport * as Constant from \"../../../components/constants/constant\";\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport labels from \"../../../assets/data/incident/sla-labels.json\";\r\nimport { INCIDENT_API_BASE_URL } from \"../../../configs/api-base-url\";\r\n\r\nfunction IncidentSlaSummary(props) {\r\n const IncidentHistoryDataAPI = props.incidentDetailsData && props.incidentDetailsData.IncidentHistoryData\r\n const [percentageSLARespColor, setpercentageSLARespColor] = useState(\"\");\r\n const [percentageSLAResolColor, setpercentageSLAResolColor] = useState(\"\");\r\n const [incidentDetailsData, setIncidentDetailsData] = useState([]);\r\n\r\n useEffect(() => {\r\n getIncidentDetails();\r\n }, [IncidentHistoryDataAPI, props.refresherForSLA]);// eslint-disable-line react-hooks/exhaustive-deps\r\n const getIncidentDetails = async () => {\r\n const serviceName = `GetSLASummary?incidentNumber=${props.incidentNumber}`;\r\n const response = await getData({ apiBaseUrl: INCIDENT_API_BASE_URL, serviceName });\r\n await setIncidentDetailsData(response.data);\r\n setpercentageSLARespColor(response.data[\"responseSLA\"].Color);\r\n setpercentageSLAResolColor(response.data[\"resolutionSLA\"].Color);\r\n }\r\n return (\r\n < div className=\"incident-sla-wrapper\">\r\n
    \r\n \r\n

    24 Hr Format (GMT)

    \r\n
    \r\n {incidentDetailsData !== undefined && Object.keys(incidentDetailsData).length ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Response SLA\r\n \r\n Resolution SLA\r\n
    \r\n {Object.keys(incidentDetailsData[\"responseSLA\"]).map((incidentObj) =>\r\n <>\r\n {\r\n (incidentObj !== \"Color\") ?\r\n
    \r\n
    {incidentDetailsData[\"responseSLALables\"][incidentObj]}
    \r\n {\r\n (incidentObj === \"ActualPercentage\" && percentageSLARespColor) ?\r\n
    {incidentDetailsData[\"responseSLA\"][incidentObj] + \" %\" || ' -'}
    :\r\n
    {incidentDetailsData[\"responseSLA\"][incidentObj] || ' -'}
    \r\n }\r\n
    : null\r\n }\r\n \r\n )}\r\n
    \r\n {Object.keys(incidentDetailsData[\"resolutionSLA\"]).map((resIncidentObj, index) =>\r\n <>\r\n {\r\n (resIncidentObj !== \"Color\") ?\r\n
    \r\n
    {incidentDetailsData[\"resolutionSLALables\"][resIncidentObj]}
    \r\n {\r\n (resIncidentObj === \"ActualPercentage\" && percentageSLAResolColor) ?\r\n
    {incidentDetailsData[\"resolutionSLA\"][resIncidentObj] + \" %\" || '-'}
    :\r\n
    {incidentDetailsData[\"resolutionSLA\"][resIncidentObj] || '-'}
    \r\n\r\n }\r\n
    : null\r\n }\r\n \r\n )}\r\n
    ) : null}\r\n
    \r\n

    SLA Duration

    \r\n\r\n
      \r\n {\r\n labels.map((item, index) =>\r\n
    • \r\n
      \r\n {item.value}\r\n
    • \r\n )\r\n }\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default IncidentSlaSummary;\r\n\r\n","import React, { Component, Fragment } from \"react\";\r\nimport \"./incident-details.scss\"\r\nimport * as Constant from \"../../../components/constants/constant\";\r\nimport IncidentSummary from \"../incident-summary/incident-summary\";\r\nimport IncidentHistory from \"../incident-history/incident-history\";\r\nimport AttachmentDetails from \"../../requests-grid/assignment/attachment-details\";\r\nimport IncidentSlaSummary from \"../incident-sla-summary/incident-sla-summary\";\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport { INCIDENT_API_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\n\r\n\r\nclass IncidentDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n tabIndex: \"incident-summary\",\r\n showSpinner: true,\r\n canGetAttachments: false,\r\n initialAttachmentCnt: 0,\r\n refresherForSLA: false\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.getIncidentDetails()\r\n }\r\n\r\n handleCloseParentPopup = () => {\r\n this.props.handleClose();\r\n }\r\n\r\n handleGetData = isNeedData => {\r\n this.props.handleGetData(isNeedData);\r\n };\r\n\r\n loadComponentDetails = (evt, formName) => {\r\n let i, tabcontent, tablinks;\r\n tablinks = document.getElementsByClassName(\"tablinks\");\r\n tabcontent = document.getElementsByClassName(\"tabcontent\");\r\n\r\n for (i = 0; i < tabcontent.length; i++) {\r\n tabcontent[i].style.display = \"none\";\r\n }\r\n for (i = 0; i < tablinks.length; i++) {\r\n tablinks[i].className = tablinks[i].className.replace(\" active\", \"\");\r\n }\r\n this.setState({ tabIndex: formName })\r\n if (document.getElementById(formName)) {\r\n document.getElementById(formName).style.display = \"block\";\r\n evt.currentTarget.className += \" active\";\r\n }\r\n }\r\n\r\n async getIncidentDetails() {\r\n this.setState({ showSpinner: true })\r\n const serviceName = `IncidentDetails?incidentNumber=${this.props.incidentNumber}`;\r\n const response = await getData({ apiBaseUrl: INCIDENT_API_BASE_URL, serviceName });\r\n const { success, error } = await response;\r\n if (success) {\r\n const incidentDetails = response.data && response.data.incidentDetails\r\n await this.setState({\r\n incidentDetailsData: incidentDetails && incidentDetails.length > 0 && incidentDetails[0],\r\n showSpinner: false,\r\n initialAttachmentCnt: 0,\r\n canGetAttachments: true\r\n });\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n newlyAttachmentCount = ({ add = 0 }) => {\r\n let existingCnt = this.state.initialAttachmentCnt || 0\r\n existingCnt = existingCnt + add\r\n this.setState({ initialAttachmentCnt: existingCnt })\r\n }\r\n handleCanAttachment(val) {\r\n this.setState({ canGetAttachments: val })\r\n }\r\n setRefresherForSLA() {\r\n this.setState({ refresherForSLA: !this.state.refresherForSLA });\r\n }\r\n render() {\r\n const { tabIndex, error, showErrorPopup, showSpinner, incidentDetailsData } = this.state\r\n const { incidentNumber, roleID, userEID } = this.props\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n {incidentDetailsData && incidentDetailsData.isSLASummaryVisible &&\r\n }\r\n \r\n
    \r\n \"Close\" { this.handleCloseParentPopup() }} />\r\n
    \r\n
    \r\n
    \r\n {tabIndex === \"incident-summary\" && incidentDetailsData &&\r\n { this.getIncidentDetails(); this.handleGetData(true); }}\r\n userRoleID={roleID} userEID={userEID}\r\n setRefresherForSLA={() => { this.setRefresherForSLA() }}\r\n />}\r\n
    \r\n
    \r\n {/* {tabIndex === \"incident-attachment\" && */}\r\n { this.handleCanAttachment(val) }}\r\n />\r\n {/* } */}\r\n
    \r\n
    \r\n {incidentDetailsData && incidentDetailsData.isSLASummaryVisible &&\r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {error && { this.setState({ showErrorPopup: false }); this.handleCloseParentPopup() }}>

    {error}

    }\r\n {showSpinner && }\r\n
    \r\n )\r\n }\r\n}\r\nexport default IncidentDetails;","import React from \"react\";\r\n\r\nconst IncidentModal = ({ show, children }) => {\r\n const showHideClassName = show ? 'grid-modal modal assignment display-block' : 'grid-modal modal assignment display-none';\r\n if (!show) {\r\n return null;\r\n }\r\n return (\r\n
    \r\n
    \r\n
    \r\n {children}\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default IncidentModal;","import React, { Fragment, Component } from \"react\";\r\nimport Tootltip from \"../../../components/tool-tip/tool-tip\"\r\nimport { styledStatus, splitCoeContact } from \"../common-functions\";\r\nimport { format } from \"date-fns\";\r\nimport GridHeader from \"../../../components/grid-header/grid-header\";\r\nimport IncidentModal from \"../incident-modal/incident-modal\";\r\nimport IncidentDetails from \"../incident-details/incident-details\";\r\n\r\n\r\nclass IncidentListTable extends Component {\r\n state = { isOpen: false }\r\n toggleModal = () => {\r\n document.body.style.overflow = 'auto';\r\n this.setState({\r\n isOpen: false\r\n });\r\n this.props && this.props.locationDetails && this.props.locationDetails.history && this.props.locationDetails.history.push('/incidents');\r\n };\r\n\r\n handleGetData = isNeedData => {\r\n this.props.handleGetData(isNeedData);\r\n };\r\n async showIncidentDetails(IncidentNumber) {\r\n this.setState({ isOpen: !this.state.isOpen, incidentNumber: IncidentNumber });\r\n document.body.style.overflow = 'hidden';\r\n }\r\n render() {\r\n const { incidentList, sortColumnName, sortBy, handleSort, roleID, userEID } = this.props;\r\n return (\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 {incidentList && incidentList.length > 0 && incidentList.map((item, index) => {\r\n let initials = !!item.isService ? \"S\" : \"A\";\r\n return (index < 10 ?\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 ) : null\r\n )\r\n })\r\n // : \r\n }\r\n \r\n
    { this.showIncidentDetails(item.incidentNo); }}>{item.incidentNo}{initials}{item.serviceApplicationName}\r\n {item.serviceApplicationName}

    }>
    \r\n
    {item.clientName}\r\n {item.clientName}

    }>
    \r\n
    {item.issueSummary}\r\n {item.issueSummary}

    }>
    \r\n
    \r\n {item.requestorEmail ? {item.requestorEmail ? splitCoeContact(item.requestorEmail.substring(0, item.requestorEmail.lastIndexOf(\"@\"))) : (item.requestorEmail.substring(0, item.requestorEmail.lastIndexOf(\"@\")))}\r\n {item.requestorName}

    {item.requestorEmail}

    : `Assigned to ${item.requestorName} Group`}>
    : `- `}\r\n
    \r\n {item.assignedTo ? {item.assignedToName && splitCoeContact(item.assignedTo)}\r\n {item.assignedToName}

    {item.assignedToEmail}

    : `Assigned to ${item.assignedTo} Group`}>
    : `- `}\r\n
    {item.priority}{item.status}{format(new Date(item.submittedOn), 'dd-MMM-yyyy')}
    No records found.
    \r\n {this.state.isOpen && (\r\n \r\n \r\n )}\r\n
    \r\n )\r\n }\r\n}\r\nexport default IncidentListTable;\r\n","import React, { Component } from \"react\";\r\nimport \"./incident-list.scss\";\r\nimport dateFormat from \"dateformat\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport { addDays, subDays } from \"date-fns\";\r\nimport { Link } from \"react-router-dom\";\r\nimport CustomInput from '../../../components/custom-input/custom-input';\r\nimport CustomSelect from \"../../../components/custom-select/custom-select\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport * as Constant from \"../../../components/constants/constant\";\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport { INCIDENT_API_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport IncidentDetails from \"../incident-details/incident-details\";\r\nimport IncidentModal from \"../incident-modal/incident-modal\";\r\nimport Pagination from \"../../../components/pagination/pagination\";\r\nimport IncidentListTable from \"./incident-list-table\";\r\nimport { AppServiceContext } from \"../../../context-providers/app-service-provider/app-service-provider\";\r\nimport { SidebarContext } from \"../../../context-providers/sidebar-provider/sidebar-provider\";\r\nimport { validateSearch } from \"../../../components/validators/validate\";\r\nimport { exportToCSV } from '../../../components/export-xlsx/export-xlsx';\r\nimport CustomButton from '../../../components/button/nextbutton';\r\n\r\nclass IncidentList extends Component {\r\n constructor(props, context) {\r\n super(props, context)\r\n this.state = {\r\n incidentList: [], incidentNumber: '',\r\n noIncidents: false, isOpenIncModal: false, isIncidentOpen: false,\r\n showSpinner: true,\r\n perPage: 10, currentPageNumber: 1,\r\n isParameterised: false, incidentNo: '', sortBy: '',\r\n searchIncident: \"\", prevSearchIncidentText: \"\", disabledSearchbtn: true, errorSearchTxt: \"\"\r\n };\r\n }\r\n componentDidMount() {\r\n this.getIncidentList();\r\n if (this.props.location.search && this.props.location.search.includes('?params')) {\r\n const queryParams = this.props.location.search\r\n const params = queryParams.split('?params=')\r\n if (!!params[1]) {\r\n this.setState({\r\n isParameterised: true,\r\n isOpenIncModal: true,\r\n parameterisedIncident: params[1]\r\n })\r\n }\r\n }\r\n this.props.setScreenName({ screenName: \"incidentList\" })\r\n }\r\n\r\n async handleExportData() {\r\n let response;\r\n let error;\r\n const urlConcat = this.getUrl()\r\n let url = `ExportIncidentData?${urlConcat}`;\r\n response = await getData({ apiBaseUrl: INCIDENT_API_BASE_URL, serviceName: url });\r\n if (response) {\r\n this.setState({\r\n csvData: response.data,\r\n fileName: `myCInc-${this.context.eid}-${dateFormat(new Date(), \"ddmmmyyyy-h-MM\")}`\r\n })\r\n exportToCSV({ csvData: this.state.csvData, fileName: this.state.fileName, listType: 'IncidentDetails' })\r\n } else {\r\n this.setState({ error: error, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n\r\n async getIncidentList() {\r\n const urlConcat = this.getUrl()\r\n let url = `IncidentList?pageIndex=${this.state.currentPageNumber === 0 ? 1 : this.state.currentPageNumber}${urlConcat}`;\r\n this.getIncidentListData({ serviceName: url });\r\n }\r\n setStatesbyData = response => {\r\n const { success, data, error, isInfo } = response;\r\n if (success) {\r\n if (data.incidentList && data.incidentList.length > 0) {\r\n this.setState({\r\n incidentList: data.incidentList,\r\n perPage: 10, totalPages: data.totalIncidentCount,\r\n loading: false, showSpinner: false, noIncidents: false\r\n });\r\n document.body.style.overflow = 'scroll';\r\n } else {\r\n this.setState({ noIncidents: true, showSpinner: false })\r\n }\r\n this.setState({\r\n incidentViewFilterList: data.incidentViewFilterList,\r\n uniqueIncidentTypeList: data.uniqueIncidentTypeList,\r\n statusList: data.statusList,\r\n selectedIncidentViewFilterId: parseInt(data.selectedIncidentViewFilterId) > 0 ? parseInt(data.selectedIncidentViewFilterId) : this.state.selectedIncidentViewFilterId,\r\n selectedIncidentTypeFilterId: this.state.selectedIncidentTypeFilterId ? this.state.selectedIncidentTypeFilterId : data.selectedIncidentTypeFilterId,\r\n selectedIncidentStatusFilterId: this.state.selectedIncidentStatusFilterId ? this.state.selectedIncidentStatusFilterId : data.selectedIncidentStatusFilterId\r\n })\r\n } else {\r\n this.setState({ error: error, isInfo, showErrorPopup: true, showSpinner: false });\r\n }\r\n }\r\n onIncidentPageChanged = data => {\r\n let { currentPage } = data;\r\n if (currentPage) {\r\n currentPage = isNaN(currentPage) ? 1 : currentPage\r\n const urlConcat = this.getUrl()\r\n let url = `IncidentList?pageIndex=${currentPage}${urlConcat}`;\r\n this.getIncidentListData({ serviceName: url });\r\n this.setState({ currentPageNumber: currentPage });\r\n }\r\n };\r\n getUrl = () => {\r\n let url = ''\r\n if (!!this.state.sortBy) url = `${url}&sortBy=${this.state.sortBy}`\r\n if (!!this.state.sortColumnName) url = `${url}&sortColumn=${this.state.sortColumnName}`\r\n if (!!this.state.selectedIncidentViewFilterId) url = url + `&incidentViewFilter=${this.state.selectedIncidentViewFilterId}`\r\n if (!!this.state.selectedIncidentTypeFilterId) url = url + `&incidentTypeFilter=${this.state.selectedIncidentTypeFilterId}`\r\n if (!!this.state.selectedIncidentStatusFilterId) url = url + `&statusFilter=${this.state.selectedIncidentStatusFilterId}`\r\n if (!!this.state.fromDate) url = url + `&fromDate=${dateFormat(this.state.fromDate, \"isoDate\")}`\r\n if (!!this.state.toDate) url = url + `&toDate=${dateFormat(this.state.toDate, \"isoDate\")}`\r\n if (!!this.state.prevSearchIncidentText) url = url + `&searchTxt=${this.state.prevSearchIncidentText}`\r\n return url\r\n }\r\n async getIncidentListData({ serviceName }) {\r\n const response = await getData({ apiBaseUrl: INCIDENT_API_BASE_URL, serviceName });\r\n this.setStatesbyData(await response);\r\n }\r\n handleDataSort = sortColumn => {\r\n const sortColumnName = sortColumn;\r\n let sortBy = this.state.sortBy === \"\" || this.state.sortColumnName !== sortColumn ? \"asc\"\r\n : this.state.sortBy === \"asc\" ? \"desc\" : \"asc\";\r\n this.setState({ sortBy, sortColumnName },\r\n () => {\r\n let url = this.getUrl()\r\n let urlConcat = `IncidentList?pageIndex=${this.state.currentPageNumber}${url}`;\r\n this.getIncidentListData({ serviceName: urlConcat });\r\n }\r\n );\r\n };\r\n async handleSearchIncident(search, e) {\r\n if (!search) {\r\n const { name, value } = e.target\r\n await this.setState({ [name]: value, currentPageNumber: 1 });\r\n const isErrorSearchTxt = validateSearch(value);\r\n const strLength = this.state[name] && this.state[name].trim().length\r\n if ((strLength > 2 && (this.state[name] !== this.state.prevSearchIncidentText)) && !isErrorSearchTxt) {\r\n this.setState({ disabledSearchbtn: false, errorSearchTxt: \"\" })\r\n } else if ((this.state.searchIncident === \"\" && this.state.prevSearchIncidentText)) {\r\n this.clearSearch();\r\n } else {\r\n this.setState({ disabledSearchbtn: true, errorSearchTxt: isErrorSearchTxt })\r\n }\r\n } else {\r\n await this.setState({ prevSearchIncidentText: this.state.searchIncident })\r\n let urlConcat = this.getUrl()\r\n let url = `IncidentList?pageIndex=${this.state.currentPageNumber}${urlConcat}`;\r\n await this.getIncidentListData({ serviceName: url });\r\n this.setState({ disabledSearchbtn: true })\r\n }\r\n }\r\n async searchOnEnterKey(e) {\r\n let key = e.keyCode || e.which;\r\n if (key === 13) { this.handleSearchIncident(true) }\r\n }\r\n handleDate(name, date) {\r\n this.setState({\r\n [name]: date\r\n }, () => {\r\n let url = this.getUrl()\r\n let urlConcat = `IncidentList?${url}`;\r\n this.getIncidentListData({ serviceName: urlConcat });\r\n });\r\n }\r\n async handleInput(e) {\r\n await this.setState({ [e.target.name]: e.target.value });\r\n let urlConcat = this.getUrl()\r\n await this.setState({ currentPageNumber: 1 })\r\n let url = `IncidentList?pageIndex=${this.state.currentPageNumber}${urlConcat}`;\r\n this.getIncidentListData({ serviceName: url });\r\n };\r\n async handleIncidentFilter(e) {\r\n await this.setState({ [e.target.name]: e.target.value, currentPageNumber: 1 });\r\n let urlConcat = this.getUrl()\r\n let url = `IncidentList?pageIndex=${this.state.currentPageNumber}${urlConcat}`;\r\n this.getIncidentListData({ serviceName: url });\r\n };\r\n handleClearFilter = () => {\r\n this.setState({ sortBy: '', sortColumnName: '', selectedIncidentViewFilterId: '', selectedIncidentTypeFilterId: 0, selectedIncidentStatusFilterId: '', fromDate: '', toDate: '', statusList: '', searchIncident: '', prevSearchIncidentText: \"\", errorSearchTxt: \"\", disabledSearchbtn: true, currentPageNumber: 1 }, () => {\r\n let url = this.getUrl()\r\n let urlConcat = `IncidentList?pageIndex=${this.state.currentPageNumber}${url}`;\r\n this.getIncidentListData({ serviceName: urlConcat });\r\n const activeStyleElement = document.querySelector('.active');\r\n if (!!activeStyleElement) {\r\n activeStyleElement.classList.remove('active');\r\n const showActiveElement = document.getElementsByClassName('page-item')[0]\r\n if (!!showActiveElement) { showActiveElement.classList.add('active'); }\r\n }\r\n })\r\n }\r\n toggleModal = () => {\r\n this.setState({ isOpenIncModal: false });\r\n this.props && this.props.locationDetails && this.props.locationDetails.history && this.props.locationDetails.history.push('/incidents');\r\n };\r\n handleGetData = isDataNeeded => {\r\n const urlConcat = this.getUrl()\r\n if (isDataNeeded) {\r\n let url = `IncidentList?pageIndex=${this.state.currentPageNumber === 0 ? 1 : this.state.currentPageNumber}${urlConcat}`;\r\n this.getIncidentListData({ serviceName: url });\r\n }\r\n }\r\n async clearSearch() {\r\n await this.setState({ searchIncident: '', prevSearchIncidentText: '', disabledSearchbtn: true, errorSearchTxt: \"\" })\r\n let urlConcat = this.getUrl()\r\n let url = `IncidentList?pageIndex=${this.state.currentPageNumber}${urlConcat}`;\r\n await this.getIncidentListData({ serviceName: url });\r\n this.setState({ disabledSearchbtn: true })\r\n }\r\n render() {\r\n const { showSpinner, incidentList, totalPages, perPage, noIncidents, isParameterised, parameterisedIncident, showErrorPopup, disabledSearchbtn, searchIncident } = this.state;\r\n return (\r\n \r\n {({ userRole, eid }) => {\r\n return (\r\n \r\n {providerData => {\r\n const navToggle = providerData.sidebarState && providerData.sidebarState.toggleMenu ? \"page-content page-collapse\" : \"page-content\";\r\n return (\r\n
    \r\n
    \r\n

    INCIDENTS

    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {userRole !== 1 && this.state.incidentViewFilterList &&\r\n this.handleInput(e)}\r\n selected_value={!!this.state.selectedIncidentViewFilterId ? this.state.selectedIncidentViewFilterId : ''}\r\n parent_custom_class=\"custom-filter-field incident-view-filter\"\r\n />\r\n }\r\n this.handleIncidentFilter(e)}\r\n selected_value={this.state.selectedIncidentTypeFilterId}\r\n parent_custom_class=\"custom-filter-field incident-type-filter\"\r\n />\r\n this.handleIncidentFilter(e)}\r\n selected_value={this.state.selectedIncidentStatusFilterId}\r\n parent_custom_class=\"custom-filter-field incident-status-filter\"\r\n />\r\n this.handleDate('fromDate', date)}\r\n maxDate={this.state.toDate && subDays(Date.parse(this.state.toDate), 1)}\r\n dateFormat=\"dd-MMM-yyyy\"\r\n placeholderText=\"From\"\r\n onChangeRaw={(e) => { e.preventDefault(); }}\r\n />\r\n this.handleDate('toDate', date)}\r\n minDate={!this.state.fromDate ? subDays(this.state.toDate, 365) : addDays(this.state.fromDate, 0)}\r\n dateFormat=\"dd-MMM-yyyy\"\r\n placeholderText=\"To\"\r\n onChangeRaw={(e) => { e.preventDefault(); }}\r\n />\r\n\r\n
    \r\n this.clearSearch()}\r\n value={searchIncident} onChange={(e) => this.handleSearchIncident(false, e)}\r\n onKeyPress={(e) => { this.searchOnEnterKey(e) }}>\r\n \r\n
    { this.handleSearchIncident(true) }}>\r\n Search\r\n
    \r\n
    \r\n \r\n
    \r\n {!noIncidents && !showSpinner &&
    \r\n \r\n this.handleExportData()} />\r\n {!!totalPages &&\r\n \r\n }\r\n
    }\r\n {noIncidents && !showSpinner &&\r\n
    \r\n

    Alert

    \r\n \"no-records\"\r\n

    No records found.

    \r\n
    \r\n }\r\n {isParameterised && this.state.isOpenIncModal && !showSpinner && (\r\n \r\n \r\n )\r\n }\r\n {this.state.error && { this.setState({ showErrorPopup: false }) }}>

    {this.state.error}

    }\r\n {this.state.showSpinner && }\r\n
    \r\n )\r\n }}\r\n
    \r\n )\r\n }\r\n }\r\n
    \r\n )\r\n }\r\n}\r\nIncidentList.contextType = AppServiceContext;\r\nexport default IncidentList;\r\n","import React, { Component } from \"react\";\r\n\r\nexport const IncidentContext = React.createContext()\r\nclass IncidentProvider extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: { ...props }\r\n };\r\n }\r\n render() {\r\n const { isRequestNumber, isIncidentCategoryID, requestID, requestValue, appContextDetails } = this.props\r\n return (\r\n {\r\n this.setState({\r\n data: {}\r\n })\r\n },\r\n addSelectedData: (newData) => {\r\n this.setState({\r\n data: { ...this.state.data, ...newData }\r\n })\r\n }\r\n }}>\r\n {this.props.children}\r\n )\r\n }\r\n}\r\n\r\nexport default IncidentProvider;","import { validateWithPattern, validateSupportUrl, setErrorMessages, resetDataByField } from \"../../components/validators/validate\";\r\nimport issueSummaryFormSchema from \"./../../assets/data/incident/incident-issue-summary-form.json\";\r\nimport serviceFormSchema from \"./../../assets/data/incident/incident-service-form.json\"\r\nimport applicationFormSchema from \"./../../assets/data/incident/incident-application-form.json\"\r\n\r\nexport const validateFieldsByPattern = ({ keyName = '', pattern, value, formState }) => {\r\n if (keyName !== '') {\r\n let requirFields = []\r\n requirFields = formState.Config && formState.Config.filter(function (formFields) {\r\n return formFields.FormKey === keyName\r\n });\r\n pattern = requirFields && requirFields.length > 0 && requirFields[0].Validations.Pattern\r\n }\r\n\r\n return validateWithPattern({ pattern, value })\r\n}\r\n\r\nexport const validateInput = (name, value, formData) => {\r\n\r\n let requirFields = formData.Config && formData.Config.filter(function (formFields) {\r\n if (name === 'URL') {\r\n return formFields.FormKey === name\r\n } else {\r\n return formFields.FormKey === name && formFields.Validations.IsRequired === true\r\n }\r\n });\r\n\r\n if (requirFields && requirFields.length > 0) {\r\n let errorkey = `${requirFields[0].FormKey}Error`, errorMessage = '', haveError = false\r\n if (value === '') {\r\n errorMessage = requirFields[0].ValidationMessages.RequiredMessage\r\n haveError = true\r\n if (name === 'URL') {\r\n haveError = false\r\n }\r\n } else {\r\n if (name === 'URL' || 'IssueDescription') { //for matching pattern\r\n let isValid = true\r\n if (name === 'URL') {\r\n let isNotValidRegex = validateSupportUrl(value)\r\n if (isNotValidRegex) {\r\n errorMessage = isNotValidRegex\r\n haveError = true\r\n }\r\n } else {\r\n isValid = validateFieldsByPattern({ pattern: requirFields[0].Validations.Pattern, value: value, formState: formData })\r\n if (!isValid) {\r\n errorMessage = requirFields[0].ValidationMessages.PatternMessage\r\n haveError = true\r\n }\r\n }\r\n }\r\n if (name === 'IssueDescription' && value.length < 20) {\r\n errorMessage = requirFields[0].ValidationMessages.MinDescription\r\n haveError = true\r\n }\r\n if (name === 'IssueDescription' && value.length > 1000) {\r\n errorMessage = requirFields[0].ValidationMessages.MaxDescription\r\n haveError = true\r\n }\r\n }\r\n return {\r\n fieldError: {\r\n [errorkey]: errorMessage\r\n },\r\n haveError: haveError\r\n }\r\n } else {\r\n return {\r\n fieldError: {},\r\n haveError: false\r\n }\r\n }\r\n}\r\n\r\nexport const setRequiredFieldErrors = (existingIssueDetails, formName) => {\r\n let schema = {}\r\n if (formName === 'issueDetails') {\r\n schema = { ...existingIssueDetails, data: issueSummaryFormSchema.Config }\r\n } else if (formName === 'application') {\r\n schema = { ...existingIssueDetails, data: applicationFormSchema.Config }\r\n }\r\n return setErrorMessages(schema)\r\n}\r\n\r\nexport const setRequiredFieldErrorsForService = (states, addOnFields) => {\r\n let stateWithErrors = {}\r\n addOnFields.map((formField) => {\r\n let errorkey = `${formField}Error`\r\n let errorMessage = 'This is required field'\r\n console.log(`${formField}Error`)\r\n if((errorkey === 'SIDError' && !!states.SIDList && states.SIDList.length !== 0)||(errorkey === 'AssignedGroupError' && !!states.AssignedGroupList && states.AssignedGroupList.length === 0)||(errorkey === \"SIDError\" && states.SID && states.SID.length !== 0)) {\r\n errorMessage = \"\";\r\n }else if((errorkey === 'DDPApplicationError' && !!states.DDPApplicationList && states.DDPApplicationList.length !== 0)||(errorkey === 'AssignedGroupError' && !!states.AssignedGroupList && states.AssignedGroupList.length === 0)||(errorkey === \"DDPApplicationError\" && states.DDPApplication && states.DDPApplication.length !== 0)) {\r\n errorMessage = \"\";\r\n }else if((errorkey === 'IssueTypeError' && !!states.IssueTypeList && states.IssueTypeList.length !== 0)||(errorkey === 'AssignedGroupError' && !!states.AssignedGroupList && states.AssignedGroupList.length === 0)||(errorkey === \"IssueTypeError\" && states.IssueType&& states.IssueType.length !== 0)) {\r\n errorMessage = \"\";\r\n \r\n \r\n }else if(errorkey === \"ClientNumberError\" && states.ClientNumber && states.ClientNumber.length !== 0){\r\n errorMessage =\"\";\r\n \r\n }else if (!states[formField] || (states[formField] === '' || states[formField] === null)) {\r\n errorMessage = 'This is required field.'\r\n }\r\n stateWithErrors = {\r\n ...stateWithErrors,\r\n [errorkey]: errorMessage\r\n }\r\n return null\r\n })\r\n return stateWithErrors\r\n}\r\n\r\nexport const checkErrorForFields = (formName, existingIssueDetails) => {\r\n let fields = []\r\n if (formName === 'issueDetails') {\r\n fields = issueSummaryFormSchema.FormFieldList\r\n } else if (formName === 'service') {\r\n fields = serviceFormSchema.FormFieldList\r\n } else if (formName === 'application') {\r\n fields = applicationFormSchema.FormFieldList\r\n }\r\n\r\n let haveError = false\r\n let schema = fields\r\n\r\n let haveErrorValues = checkErrorsByForm(schema, existingIssueDetails)\r\n if (haveErrorValues) return true\r\n return haveError\r\n}\r\n\r\nexport const checkErrorsByForm = (schema, existingIssueDetails) => {\r\n const haveError = schema.find((field) => {\r\n let label = `${field}Error`;\r\n if (label === 'AssignedGroupIdError' && !!existingIssueDetails.assignedGroupList && existingIssueDetails.assignedGroupList.length === 0) {\r\n return false;\r\n }\r\n return !!existingIssueDetails[label]\r\n })\r\n\r\n if (!!haveError) return true\r\n return false\r\n}\r\nexport const resetFormStates = (schema) => {\r\n return resetDataByField(schema)\r\n}","import React, { Fragment, Component } from \"react\";\r\nimport \"./incident-form.scss\";\r\nimport serviceFormSchema from \"../../../assets/data/incident/incident-service-form.json\";\r\nimport CustomInput from \"../../../components/custom-input/custom-input\";\r\nimport CustomSelect from \"../../../components/custom-select/custom-select\";\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport { INCIDENT_API_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport { validateInput } from \"../incident-form-validation\"\r\nimport Tooltip from \"../../../components/tool-tip/tool-tip\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport Modal from \"../../../components/modals/modal\";\r\n\r\n\r\nclass IncidentFormService extends Component {\r\n constructor(props) {\r\n \r\n super(props)\r\n this.state = { categoryId: this.props.categoryId, showSpinner: false, error: '', showErrorPopup: false, searchedText: '', SIDList: [], DDPApplicationList: [], reqNumber: '', IssueTypeList: [], isRequestNotFound: false, showTable: false}\r\n }\r\n\r\n componentDidMount() {\r\n if (!!this.props.requestValue) {\r\n this.handleReqSelection(this.props.isRequestNumber)\r\n this.handleReqClick(this.props.isRequestNumber);\r\n this.props.appContextDetails.addNewDataInContext({ requestValue: false })\r\n }\r\n }\r\n async handleReqClick(reqNumber) {\r\n let tmpObj = { RequestNumber: reqNumber, SIDList: [], DDPApplicationList: [], AssignedGroupList: [] }\r\n this.setState({ showSpinner: true });\r\n const response = await getData({ apiBaseUrl: INCIDENT_API_BASE_URL, serviceName: `IncidentFormAddonFields?reqnumber=${reqNumber}` });\r\n const { success, error, isInfo, data } = await response;\r\n if (success) {\r\n let fields = []\r\n if (data.FieldList.length > 0) {\r\n fields = data.FieldList[0].split(',')\r\n }\r\n tmpObj = {\r\n ...tmpObj,\r\n serviceAddOnFields: fields\r\n }\r\n const SIDList = data.FieldValues && data.FieldValues.SIDList && data.FieldValues.SIDList.length > 0 ? data.FieldValues.SIDList : []\r\n const DDPApplicationList = data.FieldValues && data.FieldValues.DDPApplicationList && data.FieldValues.DDPApplicationList.length > 0 ? data.FieldValues.DDPApplicationList : []\r\n const AssignedGroupList = data.FieldValues && data.FieldValues.AssignedGroupList && data.FieldValues.AssignedGroupList.length > 0 ? data.FieldValues.AssignedGroupList : []\r\n const ImpactedAreaList = data.ImpactedAreaList && data.ImpactedAreaList.length > 0 ? data.ImpactedAreaList : []\r\n const IssueType = data.IssueTypeList && data.IssueTypeList.length > 0 ? data.IssueTypeList : []\r\n this.setState({ SIDList, DDPApplicationList, AssignedGroupList, IssueType, ImpactedAreaList, showSpinner: false })\r\n } else {\r\n this.setState({ showSpinner: false, error, isInfo, showErrorPopup: true });\r\n }\r\n await this.props.incidentContextData.addSelectedData({ ...tmpObj, RequestNumberError: '', SID: '', ClientNumber: '' ,ImpactedArea : '' , IssueType: '' })\r\n }\r\n\r\n handleReqSelection = (reqNumber) => {\r\n this.setContextData({ RequestNumber: reqNumber })\r\n this.handleReqClick(reqNumber)\r\n this.setState({reqNumber: reqNumber, showTable: false})\r\n }\r\n handleClientNumber = (e) => {\r\n const { name, value } = e.target\r\n let { fieldError } = validateInput(name, value, serviceFormSchema)\r\n this.props.incidentContextData.addSelectedData({ [name]: value, ...fieldError })\r\n }\r\n\r\n handleSID = (e) => {\r\n const { name, value } = e.target\r\n let { fieldError } = validateInput(name, value, serviceFormSchema)\r\n this.props.incidentContextData.addSelectedData({ [name]: value, ...fieldError })\r\n }\r\n\r\n handleDDP = (e) => {\r\n const { name, value } = e.target\r\n let { fieldError } = validateInput(name, value, serviceFormSchema)\r\n this.props.incidentContextData.addSelectedData({ [name]: value, ...fieldError })\r\n }\r\n\r\n handleIssueType = (e) => {\r\n const { name, value } = e.target\r\n let obj = this.state.IssueTypeList.find(x=>x.ID == value);\r\n let { fieldError } = validateInput(name, value, serviceFormSchema)\r\n this.props.incidentContextData.addSelectedData({ [name]: obj.ID, ...fieldError })\r\n }\r\n handleImpactedArea = (e) => {\r\n const { name, value } = e.target;\r\n let obj = this.state.ImpactedAreaList.find(x=> x.ID == value)\r\n let arr = this.state.IssueType.filter(x=>x.ParentID == obj.ID);\r\n this.setState({IssueTypeList: arr});\r\n if(arr.length === 0){\r\n this.setState({IssueTypeList: this.state.IssueType});\r\n }\r\n let { fieldError } = validateInput(name, value, serviceFormSchema)\r\n this.props.incidentContextData.addSelectedData({ [name]: obj.ID, ...fieldError })\r\n }\r\n \r\n handleSearch = (e) => {\r\n const { value } = e.target\r\n this.setContextData({ reqSearchTxt: e.target.value })\r\n if (value.length > 2) {\r\n this.handleSearchApi(e.target.value)\r\n }\r\n this.setState({showTable: true, reqNumber: '', searchedText: e.target.value })\r\n }\r\n async setContextData(newVal) {\r\n await this.props.incidentContextData.addSelectedData({ ...newVal })\r\n }\r\n async handleSearchApi(paramVal) {\r\n let url = `PopulateIncidentForm?incidentCategoryID=${this.state.categoryId}`\r\n if (paramVal !== '') {\r\n url = `SearchRequest?searchText=${paramVal}`\r\n }\r\n const response = await getData({ apiBaseUrl: INCIDENT_API_BASE_URL, serviceName: `${url}` });\r\n const { success, error, isInfo, data } = await response;\r\n if (success) {\r\n if (paramVal !== '') {\r\n this.state.isRequestNotFound = data.searchRequestList.length === 0 ? true: false;\r\n this.props.handleReqList(data.searchRequestList)\r\n } else {\r\n this.props.handleReqList(data.requestList)\r\n }\r\n } else {\r\n this.setState({ error, isInfo, showErrorPopup: true });\r\n }\r\n }\r\n render() {\r\n const existingIssueDetails = this.props.incidentContextData && this.props.incidentContextData.existingState ? this.props.incidentContextData.existingState : {}\r\n const formFieldSchema = serviceFormSchema && serviceFormSchema.Config ? serviceFormSchema.Config : []\r\n const requestLists = this.props && this.props.reqList && this.props.reqList.length > 0 ? this.props.reqList : []\r\n return (\r\n
    \r\n
    \r\n \r\n { this.handleSearch(e) }} />\r\n
    \r\n {this.state.showTable && requestLists.length > 0 ?
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {requestLists.map((request, index) => {\r\n return (\r\n { this.handleReqSelection(request.requestNumber) }}>\r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n
    Req No.ServiceClient NameOwner
    {request.requestNumber}{request.service}{request.clientName}{request.owner}
    \r\n
    \r\n
    : (this.state.isRequestNotFound?
    No request found.
    : '')}\r\n {!!existingIssueDetails.RequestNumberError ?

    {existingIssueDetails.RequestNumberError}

    : ''}\r\n\r\n
    \r\n\r\n { formFieldSchema.length > 0 && formFieldSchema.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`\r\n if (existingIssueDetails.serviceAddOnFields && existingIssueDetails.serviceAddOnFields.length > 0 && existingIssueDetails.serviceAddOnFields.includes(\"SID\") && form.FormKey === \"SID\" && this.state.SIDList.length > 0) {\r\n let selectActive = !!existingIssueDetails[form.FormKey] ? \"form-control-select custom-placeholder\" : \"form-control-select\";\r\n return (\r\n \r\n this.handleSID(e)}\r\n selected_value={!!existingIssueDetails[form.FormKey] ? existingIssueDetails[form.FormKey] : ''}\r\n use_name=\"true\"\r\n />\r\n {!!existingIssueDetails[keyString] ?

    {existingIssueDetails[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n\r\n if (existingIssueDetails.serviceAddOnFields && existingIssueDetails.serviceAddOnFields.length > 0 && existingIssueDetails.serviceAddOnFields.includes(\"DDPApplication\") && form.FormKey === \"DDPApplication\") {\r\n let selectActive = !!existingIssueDetails[form.FormKey] ? \"form-control-select custom-placeholder\" : \"form-control-select\";\r\n return (\r\n \r\n this.handleDDP(e)}\r\n selected_value={!!existingIssueDetails[form.FormKey] ? existingIssueDetails[form.FormKey] : ''}\r\n use_name=\"true\"\r\n />\r\n {!!existingIssueDetails[keyString] ?

    {existingIssueDetails[keyString]}

    : ''}\r\n \r\n
    \r\n );\r\n }\r\n\r\n if (existingIssueDetails.serviceAddOnFields && existingIssueDetails.serviceAddOnFields.length > 0 && existingIssueDetails.serviceAddOnFields.includes(\"ClientNumber\") && form.FormKey === \"ClientNumber\") {\r\n return (\r\n \r\n this.handleClientNumber(e) }>\r\n \r\n {!!existingIssueDetails[keyString] ?

    {existingIssueDetails[keyString]}

    : ''}\r\n \r\n
    \r\n );\r\n }\r\n\r\n if (form.FormKey === \"ImpactedArea\") {\r\n let selectActive = !!existingIssueDetails[form.FormKey] ? \"form-control-select custom-placeholder\" : \"form-control-select\";\r\n return (\r\n \r\n this.handleImpactedArea(e)}\r\n selected_value={!!existingIssueDetails[form.FormKey] ? existingIssueDetails[form.FormKey] : ''}\r\n disabled={!this.state.ImpactedAreaList? true: false}\r\n />\r\n {!!existingIssueDetails[keyString] ?

    {existingIssueDetails[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n\r\n \r\n if ( form.FormKey === \"IssueType\") {\r\n let selectActive = !!existingIssueDetails[form.FormKey] ? \"form-control-select custom-placeholder\" : \"form-control-select\";\r\n return (\r\n \r\n this.handleIssueType(e)}\r\n selected_value={!!existingIssueDetails[form.FormKey] ? existingIssueDetails[form.FormKey] : ''}\r\n disabled={!this.state.IssueType || this.state.IssueTypeList.length ===0 ? true: false}\r\n />\r\n {!!existingIssueDetails[keyString] ?

    {existingIssueDetails[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n\r\n return null\r\n })}\r\n\r\n
    \r\n {this.state.showSpinner && }\r\n {!!this.state.error && { this.setState({ showErrorPopup: false }); }} buttonPosition=\"center-button\">

    {this.state.error}

    }\r\n
    \r\n )\r\n\r\n }\r\n}\r\n\r\nexport default IncidentFormService\r\n","import React, { Fragment, Component } from \"react\";\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport { INCIDENT_API_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport \"./incident-form.scss\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport CustomSelect from \"../../../components/custom-select/custom-select\";\r\nimport applicationFormSchema from \"../../../assets/data/incident/incident-application-form.json\";\r\n\r\nclass IncidentFormApplication extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = { showSpinner: false, IssueTypeList: [], ImpactedAreaList: [], IssueType: [] }\r\n }\r\n\r\n checkForAssignedGroup = async (applicationID) => {\r\n let tmpObj = { AssignedGroupList: [] }\r\n let incidentCategoryID = !!this.props.incidentContextData && !!this.props.incidentContextData.existingState && !!this.props.incidentContextData.existingState.IncidentCategoryID ? this.props.incidentContextData.existingState.IncidentCategoryID : '';\r\n this.setState({ showSpinner: true, AssignedGroupIdError: '' });\r\n const response = await getData({ apiBaseUrl: INCIDENT_API_BASE_URL, serviceName: `PopulateIncidentForm?incidentCategoryID=${incidentCategoryID}&incidentApplicationID=${applicationID}` });\r\n const { success, data, error, isInfo } = await response;\r\n if (success) {\r\n let fields = []\r\n if (data.FieldList.length > 0) {\r\n fields = data.FieldList[0].split(',')\r\n }\r\n tmpObj = {\r\n ...tmpObj,\r\n appAddOnFields: fields\r\n }\r\n const AssignedGroupList = data.FieldValues && data.FieldValues.AssignedGroupList && data.FieldValues.AssignedGroupList.length > 0 ? data.FieldValues.AssignedGroupList : [];\r\n const IssueType = data && data.IssueTypeList && data.IssueTypeList.length > 0 ? data.IssueTypeList : []\r\n const ImpactedAreaList = data && data.ImpactedAreaList && data.ImpactedAreaList.length > 0 ? data.ImpactedAreaList : []\r\n this.setState({ isAssignedGroupExists: fields.includes('AssignedGroup'), assignedGroupList: AssignedGroupList, IssueType, ImpactedAreaList, showSpinner: false })\r\n await this.props.incidentContextData.addSelectedData({ ...tmpObj, isAssignedGroupExists: fields.includes('AssignedGroup'), AssignedGroupList: AssignedGroupList, AssignedGroupId: '', AssignedGroupIdError: '' })\r\n } else {\r\n this.setState({ showSpinner: false, error, isInfo, showErrorPopup: true });\r\n }\r\n }\r\n\r\n handleImpactedArea = async (e) => {\r\n const { name, value } = e.target;\r\n let obj = await this.state.ImpactedAreaList.find(x=> x.ID == value)\r\n let arr = this.state.IssueType.filter(x=>x.ParentID == obj.ID);\r\n this.setState({IssueTypeList: arr});\r\n if(arr.length === 0){\r\n this.setState({IssueTypeList: this.state.IssueType});\r\n }\r\n this.props.incidentContextData.addSelectedData({ [name]: obj.ID, [`${name}Error`]: '' })\r\n }\r\n\r\n handleSelect = (e) => {\r\n const { name, value } = e.target\r\n this.props.incidentContextData.addSelectedData({ [name]: value, [`${name}Error`]: '' , ImpactedArea: '' , IssueType: '' })\r\n if (name === 'ApplicationID') {\r\n this.checkForAssignedGroup(value);\r\n }\r\n }\r\n\r\n handleIssueType = (e) => {\r\n const { name, value } = e.target\r\n let obj = this.state.IssueTypeList.find(x=> x.ID == value)\r\n this.props.incidentContextData.addSelectedData({ [name]: obj.ID, [`${name}Error`]: '' })\r\n }\r\n\r\n render() {\r\n const formFieldSchema = applicationFormSchema && applicationFormSchema.Config ? applicationFormSchema.Config : [];\r\n const existingIssueDetails = this.props.incidentContextData && this.props.incidentContextData.existingState ? this.props.incidentContextData.existingState : {}\r\n return (\r\n
    \r\n {formFieldSchema.length > 0 && formFieldSchema.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`\r\n if (form.FormKey === \"ApplicationID\") {\r\n let selectActive = !!existingIssueDetails[form.FormKey] ? \"form-control-select custom-placeholder\" : \"form-control-select\";\r\n return (\r\n \r\n
    \r\n this.handleSelect(e)}\r\n selected_value={!!existingIssueDetails[form.FormKey] ? existingIssueDetails[form.FormKey] : ''}\r\n title={form.FieldName}\r\n options={this.props.applicationNameList || []}\r\n />\r\n {!!existingIssueDetails[keyString] ?

    {existingIssueDetails[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"ImpactedArea\") {\r\n let selectActive = !!existingIssueDetails[form.FormKey] ? \"form-control-select custom-placeholder\" : \"form-control-select\";\r\n return (\r\n \r\n
    \r\n this.handleImpactedArea(e)}\r\n selected_value={!!existingIssueDetails[form.FormKey] ? existingIssueDetails[form.FormKey] : ''}\r\n disabled={!this.state.ImpactedAreaList? true: false}\r\n />\r\n {!!existingIssueDetails[keyString] ?

    {existingIssueDetails[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"IssueType\") {\r\n let selectActive = !!existingIssueDetails[form.FormKey] ? \"form-control-select custom-placeholder\" : \"form-control-select\";\r\n return (\r\n \r\n
    \r\n this.handleIssueType(e)}\r\n selected_value={!!existingIssueDetails[form.FormKey] ? existingIssueDetails[form.FormKey] : ''}\r\n disabled={!this.state.IssueType || this.state.IssueTypeList.length ===0 ? true: false}\r\n />\r\n {!!existingIssueDetails[keyString] ?

    {existingIssueDetails[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n return null\r\n })}\r\n {this.state.showSpinner && }\r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default IncidentFormApplication","import React, { Fragment, Component } from \"react\";\r\nimport \"./incident-form.scss\";\r\nimport issueSummaryFormSchema from \"../../../assets/data/incident/incident-issue-summary-form.json\";\r\nimport CustomInput from \"../../../components/custom-input/custom-input\";\r\nimport CustomTextArea from \"../../../components/custom-textarea/custom-textarea\";\r\nimport * as Constant from \"../../../components/constants/constant\";\r\nimport CustomButton from \"../../../components/button/secondary-button\";\r\nimport { validateInput } from \"../incident-form-validation\"\r\nimport FileAttachment from \"../../form/basic-form/file-attachment\";\r\nimport ToolTip from '../../../components/tool-tip/tool-tip';\r\nimport CustomSelect from \"../../../components/custom-select/custom-select\";\r\n\r\nclass IncidentIssueForm extends Component {\r\n state = {\r\n urgencyList: this.props.urgencyList || [],\r\n timezoneList: this.props.timezoneList || [],\r\n }\r\n componentDidMount() {\r\n const { urgencyList = [] } = this.props\r\n if (urgencyList.length > 0) {\r\n const defaultPriority = urgencyList.find(function (list) {\r\n return !!list.IsDefaultUrgency\r\n })\r\n if (!!defaultPriority) {\r\n this.props.incidentContextData.addSelectedData({ UrgencyID: defaultPriority.ID, defaultPriority: defaultPriority.ID })\r\n }\r\n }\r\n }\r\n urgencyBtnClick = (name, ID) => {\r\n this.props.incidentContextData.addSelectedData({ [name]: ID })\r\n }\r\n\r\n handleInput = (e) => {\r\n const { name, value } = e.target\r\n let { fieldError } = validateInput(name, value, issueSummaryFormSchema)\r\n this.props.incidentContextData.addSelectedData({ [name]: value, ...fieldError })\r\n \r\n }\r\n handleTimeZone = (e) => {\r\n const { name, value } = e.target\r\n let obj = this.props.timezoneList.find(x=>x.ID == value);\r\n let { fieldError } = validateInput(name, value, issueSummaryFormSchema)\r\n this.props.incidentContextData.addSelectedData({ [name]:obj.ID, ...fieldError })\r\n }\r\n handleAttachPopUp = (openAttachment) => {\r\n this.setState({ openAttachment: !openAttachment })\r\n }\r\n handleSetAttachmentData = (data) => {\r\n this.setState({ openAttachment: false })\r\n this.props.incidentContextData.addSelectedData({ selectedFiles: data })\r\n }\r\n\r\n\r\n render() {\r\n const formFieldSchema = issueSummaryFormSchema && issueSummaryFormSchema.Config ? issueSummaryFormSchema.Config : []\r\n const existingIssueDetails = this.props.incidentContextData && this.props.incidentContextData.existingState ? this.props.incidentContextData.existingState : {}\r\n return (\r\n\r\n
    \r\n {formFieldSchema.length > 0 && formFieldSchema.map((form, key) => {\r\n let keyString = `${form.FormKey}Error`\r\n if (form.FormKey === \"IssueSummary\") {\r\n return (\r\n \r\n this.handleInput(e)}\r\n />\r\n {!!existingIssueDetails[keyString] ?

    {existingIssueDetails[keyString]}

    : ''}\r\n \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"UrgencyID\") {\r\n return (\r\n \r\n \r\n
    \r\n {this.state.urgencyList.length && this.state.urgencyList.map((type) => {\r\n let activeBtnClass = existingIssueDetails[form.FormKey] === type.ID ? \"secondary-button-inactive active\" : \"secondary-button-inactive\"\r\n return (\r\n this.urgencyBtnClick(form.FormKey, type.ID)} />\r\n )\r\n })}\r\n {!!existingIssueDetails[keyString] ?

    {existingIssueDetails[keyString]}

    : ''}\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"WorkingSchedule\") {\r\n return (\r\n \r\n
    \r\n this.handleInput(e)}\r\n />\r\n \"info-icon\"\r\n \r\n
    \r\n {!!existingIssueDetails[keyString] ?

    {existingIssueDetails[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"TimeZone\") {\r\n let selectActive = !!existingIssueDetails[form.FormKey] ? \"form-control-select custom-placeholder\" : \"form-control-select\";\r\n return (\r\n \r\n
    \r\n this.handleTimeZone(e)}\r\n selected_value={!!existingIssueDetails[form.FormKey] ? existingIssueDetails[form.FormKey] : ''}\r\n />\r\n {!!existingIssueDetails[keyString] ?

    {existingIssueDetails[keyString]}

    : ''}\r\n
    \r\n
    \r\n );\r\n }\r\n if (form.FormKey === \"IssueDescription\") {\r\n return (\r\n \r\n
    \r\n \r\n { this.handleInput(e) }}\r\n value={!!existingIssueDetails[form.FormKey] ? existingIssueDetails[form.FormKey] : ''}\r\n // value={issueDescription ? issueDescription : ''}\r\n />\r\n {!!existingIssueDetails[keyString] ?

    {existingIssueDetails[keyString]}

    : ''}\r\n
    \r\n \r\n
    \r\n )\r\n }\r\n if (form.FormKey === \"URL\") {\r\n return (\r\n \r\n this.handleInput(e)}\r\n />\r\n {!!existingIssueDetails[keyString] ?

    {existingIssueDetails[keyString]}

    : ''}\r\n
    \r\n );\r\n }\r\n return null\r\n })}\r\n\r\n
    \r\n
      { this.handleAttachPopUp(this.state.openAttachment) }}>\r\n \"\"\r\n

      Attachments

      ({existingIssueDetails.selectedFiles ? existingIssueDetails.selectedFiles.length : 0})
    \r\n {this.state.openAttachment &&\r\n { this.handleSetAttachmentData(data) }} selectedFile={existingIssueDetails.selectedFiles || []} />}\r\n
    \r\n\r\n
    \r\n )\r\n }\r\n}\r\nexport default IncidentIssueForm","import React, { Fragment, Component } from \"react\";\r\nimport RadioButton from \"../../../components/radio-button/radiobutton\";\r\nimport \"./incident-categories.scss\";\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport { INCIDENT_API_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport Modal from \"../../../components/modals/modal\";\r\n\r\nclass IncidentCategories extends Component {\r\n\r\n state = {\r\n showSpinner: false,\r\n category: '',\r\n categoryList: []\r\n }\r\n componentDidMount() {\r\n this.fetchCategories();\r\n }\r\n async fetchCategories() {\r\n this.setState({ showSpinner: true });\r\n const response = await getData({ apiBaseUrl: INCIDENT_API_BASE_URL, serviceName: `IncidentCategory` });\r\n const { success, error, isInfo, data } = await response;\r\n if (success) {\r\n this.setState({\r\n categoryList: data.requestList\r\n })\r\n this.props.handleUrgencyList(data.urgencyList)\r\n this.props.handleTimeZoneList(data.timzoneList);\r\n this.setState({ showSpinner: false });\r\n } else {\r\n this.setState({ showSpinner: false, error, isInfo, showErrorPopup: true });\r\n }\r\n }\r\n handleChange = async (e) => {\r\n this.setState({ category: e.target.id })\r\n this.props.handleCategorySelection(e.target.id)\r\n }\r\n\r\n render() {\r\n const existingIssueDetails = this.props.incidentContextData && this.props.incidentContextData.existingState ? this.props.incidentContextData.existingState : {}\r\n return (\r\n

    CREATE INCIDENT

    \r\n {/*

    Category

    */}\r\n
    \r\n {this.state.categoryList.length > 0 && this.state.categoryList.map((el) => (\r\n
    \r\n {\r\n this.handleChange(e)\r\n }}\r\n value={el.Name}\r\n id={el.ID}\r\n checked={!!existingIssueDetails.IncidentCategoryID && (parseInt(existingIssueDetails.IncidentCategoryID) === parseInt(el.ID)) ? true : false}\r\n />\r\n {el.Name}\r\n
    \r\n ))}\r\n {this.state.showSpinner && }\r\n {!!this.state.error && { this.setState({ showErrorPopup: false }); }} buttonPosition=\"center-button\">

    {this.state.error}

    }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default IncidentCategories;\r\n","import React, { Fragment, Component } from \"react\";\r\nimport { SidebarContext } from \"../../../context-providers/sidebar-provider/sidebar-provider\";\r\nimport { IncidentContext } from \"../../../context-providers/incident-provider/incident-provider\";\r\nimport \"./incident-form.scss\";\r\nimport { getData, postData, fileUploadPostData } from \"../../../api/api-manager\";\r\nimport { INCIDENT_API_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport CustomButton from \"../../../components/button/secondary-button\";\r\nimport IncidentFormService from \"./incident-form-service\";\r\nimport IncidentFormApplication from \"./incident-form-application\";\r\nimport IncidentIssueForm from \"./incident-issue-form\";\r\nimport IncidentCategories from \"./incident-categories\";\r\nimport applicationFormSchema from \"../../../assets/data/incident/incident-application-form.json\"\r\nimport IssueFormSchema from \"../../../assets/data/incident/incident-issue-summary-form.json\"\r\nimport { setRequiredFieldErrors, checkErrorForFields, setRequiredFieldErrorsForService, resetFormStates } from '../incident-form-validation'\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport { prepareTmpObjByArr, prepareTmpObjByArrForApp, prepareAppObj } from \"../common-functions\"\r\n\r\nclass IncidentForm extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = { categoryId: '', showForm: false, showServiceForm: false, requestList: [], urgencyList: [], applicationNameList: [], assignedGroupList: [], issueTypeList: [], showSpinner: false, timezoneList: [] }\r\n }\r\n\r\n componentDidMount() {\r\n this.props.setScreenName({ screenName: \"incidentForm\" })\r\n if (!!this.context.existingState && !!this.context.existingState.requestValue) {\r\n this.props.incidentContextData.addSelectedData({ IncidentCategoryID: parseInt(this.context.existingState.isIncidentCategoryID) })\r\n this.handleCreateIncidentForRequestAPI()\r\n }\r\n }\r\n async handleCreateIncidentForRequestAPI() {\r\n const url = `CreateIncidentForRequest?requestNumber=${this.props.isRequestNumber}&requestID=${this.props.requestID}`\r\n const response = await getData({ apiBaseUrl: INCIDENT_API_BASE_URL, serviceName: `${url}` });\r\n const { success, error, isInfo, data } = await response;\r\n if (success) {\r\n this.handleReqList(data.requestList);\r\n this.getSystemOrApplicationData(this.context.existingState.isIncidentCategoryID);\r\n }\r\n else {\r\n this.setState({ error, isInfo, showErrorPopup: true });\r\n }\r\n }\r\n handleCategorySelection = (data) => {\r\n this.getSystemOrApplicationData(data);\r\n this.props.incidentContextData.addSelectedData({ IncidentCategoryID: parseInt(data),IssueSummary:\"\",IssueSummaryError:\"\",UrgencyID:6,WorkingSchedule:\"\",WorkingScheduleError:\"\", TimeZone:\"\",TimeZoneError:\"\", IssueDescription:\"\",IssueDescriptionError:\"\",URL:\"\",URLError\r\n :\"\",ImpactedAreaError:\"\",IssueTypeError:\"\"})\r\n }\r\n handleUrgencyList = (data) => {\r\n this.setState({ urgencyList: data });\r\n }\r\n handleTimeZoneList = (data) => {\r\n this.setState({ timezoneList: data });\r\n }\r\n submitAPI = async () => {\r\n const existingIssueDetails = this.props.incidentContextData && this.props.incidentContextData.existingState ? this.props.incidentContextData.existingState : {}\r\n this.setState({ showSpinner: true });\r\n let tmpObj = { IncidentCategoryID: existingIssueDetails.IncidentCategoryID }\r\n if (IssueFormSchema.FormFieldList && IssueFormSchema.FormFieldList.length > 0) {\r\n tmpObj = prepareTmpObjByArr(IssueFormSchema.FormFieldList, tmpObj, existingIssueDetails)\r\n }\r\n if (this.state.showServiceForm) {\r\n let tmpServiceObj = {}\r\n if (existingIssueDetails.serviceAddOnFields && existingIssueDetails.serviceAddOnFields.length > 0) {\r\n tmpServiceObj = prepareTmpObjByArr(existingIssueDetails.serviceAddOnFields, tmpServiceObj, existingIssueDetails)\r\n tmpObj = { ...tmpObj, RequestNumber: existingIssueDetails.RequestNumber, Columns: { ...tmpServiceObj }, ImpactedArea: existingIssueDetails.ImpactedArea, IssueType: existingIssueDetails.IssueType}\r\n }\r\n } else {\r\n let appObj = {}, tmpAppObj = {};\r\n if (applicationFormSchema.FormFieldList && applicationFormSchema.FormFieldList.length > 0) {\r\n appObj = prepareAppObj(applicationFormSchema.FormFieldList, appObj, existingIssueDetails)\r\n }\r\n if (existingIssueDetails.appAddOnFields && existingIssueDetails.appAddOnFields.length > 0) {\r\n tmpAppObj = prepareTmpObjByArrForApp(existingIssueDetails.appAddOnFields, tmpAppObj, existingIssueDetails)\r\n tmpObj = { ...tmpObj, ...appObj, RequestNumber: existingIssueDetails.RequestNumber, Columns: { ...tmpAppObj } }\r\n } else {\r\n tmpObj = { ...tmpObj, ...appObj, RequestNumber: existingIssueDetails.RequestNumber, Columns: null }\r\n }\r\n }\r\n\r\n const response = await postData({\r\n apiBaseUrl: INCIDENT_API_BASE_URL, serviceName: `CreateIncident`, data: {\r\n \"Incident\": { ...tmpObj }\r\n }\r\n });\r\n const { success, data, successMessage, error, isInfo = false } = await response;\r\n if (success) {\r\n this.setState({ showSpinner: false, submitPopup: true, successMessage: successMessage || '' });\r\n if (existingIssueDetails.selectedFiles && existingIssueDetails.selectedFiles.length > 0) {\r\n existingIssueDetails.selectedFiles.map((fileData, index) => {\r\n const fileFormData = new FormData();\r\n fileFormData.append('File', fileData);\r\n fileFormData.append('IncidentNumber', data.reasonPhrase);\r\n if (fileData['description'] !== undefined) {\r\n fileFormData.append('Description', fileData.description);\r\n } else {\r\n fileFormData.append('Description', \"\");\r\n }\r\n fileUploadPostData({\r\n serviceName: \"Upload\",\r\n data: fileFormData\r\n });\r\n return null\r\n })\r\n\r\n }\r\n } else {\r\n this.setState({ showSpinner: false, error, isInfo, showErrorPopup: true });\r\n }\r\n }\r\n\r\n handleBack = async () => {\r\n await this.props.incidentContextData.removeAllContextData()\r\n this.props.history.push(\"/incidents\");\r\n }\r\n handleSubmitIncident = async () => {\r\n let existingIssueDetails = this.props.incidentContextData && this.props.incidentContextData.existingState ? this.props.incidentContextData.existingState : {}\r\n this.setState({ showSpinner: true });\r\n if (!!existingIssueDetails) {\r\n let haveExistingFormErrors = false\r\n let isRequiredFieldsValid = true\r\n let isRequiredIssueFieldsValid = true\r\n if (this.state.showServiceForm) {\r\n haveExistingFormErrors = checkErrorForFields('service', existingIssueDetails)\r\n if (!haveExistingFormErrors) {\r\n isRequiredFieldsValid = await this.validateServiceForm()\r\n }\r\n } else {\r\n haveExistingFormErrors = checkErrorForFields('application', existingIssueDetails)\r\n if (!haveExistingFormErrors) {\r\n isRequiredFieldsValid = await this.validateApplicationForm()\r\n }\r\n }\r\n let haveExistingIssueFormErrors = checkErrorForFields('issueDetails', existingIssueDetails)\r\n if (!haveExistingIssueFormErrors) {\r\n\r\n isRequiredIssueFieldsValid = await this.validateIssueForm()\r\n }\r\n\r\n if (haveExistingFormErrors || haveExistingIssueFormErrors) {\r\n this.setState({ showSpinner: false });\r\n return false\r\n }\r\n if (!isRequiredFieldsValid || !isRequiredIssueFieldsValid) {\r\n this.setState({ showSpinner: false });\r\n return false\r\n }\r\n \r\n\r\n this.submitAPI();\r\n }\r\n }\r\n async validateServiceForm() {\r\n let existingIssueDetails = this.props.incidentContextData && this.props.incidentContextData.existingState ? this.props.incidentContextData.existingState : {}\r\n let isValid = true\r\n if (!existingIssueDetails.RequestNumber) {\r\n const requestNumberError = 'Please select request for creating incident'\r\n await this.props.incidentContextData.addSelectedData({ RequestNumberError: requestNumberError })\r\n isValid = false\r\n } else {\r\n const addOnFields = existingIssueDetails.serviceAddOnFields ? existingIssueDetails.serviceAddOnFields : []\r\n const fieldError = await setRequiredFieldErrorsForService(existingIssueDetails, addOnFields)\r\n const checkError = Object.values(fieldError).filter(function (data) {\r\n return !!data\r\n })\r\n if (checkError.length > 0) isValid = false\r\n await this.props.incidentContextData.addSelectedData({ ...fieldError })\r\n }\r\n return await isValid\r\n }\r\n async validateApplicationForm() {\r\n let existingIssueDetails = this.props.incidentContextData && this.props.incidentContextData.existingState ? this.props.incidentContextData.existingState : {}\r\n let isValid = true\r\n let fieldError = await setRequiredFieldErrors(existingIssueDetails, 'application');\r\n if (existingIssueDetails.ApplicationID && existingIssueDetails.AssignedGroupList.length > 0 && existingIssueDetails.AssignedGroupId === '') {\r\n fieldError = { ...fieldError, AssignedGroupIdError: 'This is a required field.' }\r\n } else {\r\n fieldError = { ...fieldError, AssignedGroupIdError: '' }\r\n }\r\n const checkError = Object.values(fieldError).filter(function (data) {\r\n return !!data\r\n })\r\n if (checkError.length > 0) isValid = false\r\n await this.props.incidentContextData.addSelectedData({ ...fieldError })\r\n return await isValid\r\n }\r\n\r\n async validateIssueForm() {\r\n let existingIssueDetails = this.props.incidentContextData && this.props.incidentContextData.existingState ? this.props.incidentContextData.existingState : {}\r\n let isValid = true\r\n const fieldError = await setRequiredFieldErrors(existingIssueDetails, 'issueDetails')\r\n const checkError = Object.values(fieldError).filter(function (data) {\r\n return !!data\r\n })\r\n if (checkError.length > 0) isValid = false\r\n await this.props.incidentContextData.addSelectedData({ ...fieldError })\r\n return await isValid\r\n }\r\n\r\n async getSystemOrApplicationData(id, isResetData = false) {\r\n const existingIssueDetails = this.props.incidentContextData && this.props.incidentContextData.existingState ? this.props.incidentContextData.existingState : {}\r\n this.setState({ categoryId: id, showSpinner: true });\r\n const response = await getData({ apiBaseUrl: INCIDENT_API_BASE_URL, serviceName: `PopulateIncidentForm?incidentCategoryID=${id}` });\r\n const { success, data, error, isInfo } = await response;\r\n if (success) {\r\n if (!this.state.showForm) {\r\n this.setState({ showForm: true });\r\n }\r\n this.setState({ showServiceForm: !!data.isServiceIncident, showSpinner: false });\r\n if (!data.isServiceIncident && data.applicationNameList) {\r\n this.setState({ requestList: [], issueTypeList: data.issueTypeList, applicationNameList: data.applicationNameList, assignedGroupList: data.assignedGroupList });\r\n let issueFields = existingIssueDetails.serviceAddOnFields && existingIssueDetails.serviceAddOnFields.length > 0 ? existingIssueDetails.serviceAddOnFields : []\r\n issueFields = [...issueFields, 'RequestNumber']\r\n let resetFields = resetFormStates(issueFields)\r\n await this.props.incidentContextData.addSelectedData({ serviceAddOnFields: [], ...resetFields })\r\n } else {\r\n let applicationFields = [...applicationFormSchema.FormFieldList]\r\n let resetFields = resetFormStates(applicationFields)\r\n this.setState({ requestList: [], issueTypeList: [], applicationNameList: [] });\r\n await this.props.incidentContextData.addSelectedData({ ...resetFields })\r\n }\r\n } else {\r\n this.setState({ showSpinner: false, error, isInfo, showErrorPopup: true });\r\n }\r\n if (isResetData) {\r\n this.props.incidentContextData.addSelectedData({ reqSearchTxt: '' })\r\n }\r\n }\r\n\r\n handleReqList = async (data) => {\r\n // if(this.state.requestList.length < data.length){\r\n await this.setState({\r\n requestList: data\r\n })\r\n // }\r\n }\r\n handleClearForm = async () => {\r\n const existingIssueDetails = this.props.incidentContextData && this.props.incidentContextData.existingState ? this.props.incidentContextData.existingState : {}\r\n const defaultIssuePriority = existingIssueDetails.defaultPriority ? existingIssueDetails.defaultPriority : ''\r\n // let formFields = []\r\n // formFields = [...IssueFormSchema.FormFieldList]\r\n // if (this.state.showServiceForm) {\r\n // let issueFields = existingIssueDetails.serviceAddOnFields && existingIssueDetails.serviceAddOnFields.length > 0 ? existingIssueDetails.serviceAddOnFields : []\r\n // formFields = [...formFields, ...issueFields, 'RequestNumber']\r\n // } else {\r\n // formFields = [...applicationFormSchema.FormFieldList, ...formFields]\r\n // }\r\n // let resetFields = resetFormStates(formFields)\r\n // resetFields = {\r\n // ...resetFields,\r\n // UrgencyID: defaultIssuePriority\r\n // }\r\n await this.props.incidentContextData.removeAllContextData()\r\n await this.props.incidentContextData.addSelectedData({ UrgencyID: defaultIssuePriority, defaultIssuePriority: defaultIssuePriority })\r\n await this.setState({ categoryId: '', showForm: false, showServiceForm: false, requestList: [], applicationNameList: [], issueTypeList: [], assignedGroupList: [], showSpinner: false })\r\n // if (!!existingIssueDetails.reqSearchTxt) {\r\n // this.getSystemOrApplicationData(existingIssueDetails.IncidentCategoryID, true)\r\n // }\r\n }\r\n\r\n render() {\r\n const { showForm = false } = this.state\r\n\r\n return (\r\n \r\n {providerData => {\r\n const navToggle = providerData.sidebarState && providerData.sidebarState.toggleMenu ? \"page-content page-collapse incident-form\" : \"page-content incident-form\";\r\n return (\r\n
    \r\n
    \r\n { this.handleCategorySelection(data) }} handleUrgencyList={(list) => { this.handleUrgencyList(list) }} handleTimeZoneList={(list) => { this.handleTimeZoneList(list) }}/>\r\n
    \r\n
    \r\n {!this.state.showForm ?
    Please select category to view details
    \r\n :
    \r\n {this.state.showForm && this.state.showServiceForm && { this.handleReqList(data) }} appContextDetails={this.props.appContextDetails} isRequestNumber={this.props.isRequestNumber} requestValue={this.props.requestValue} />}\r\n {this.state.showForm && !this.state.showServiceForm && }\r\n
    \r\n
    \r\n \r\n
    }\r\n
    \r\n {
    \r\n\r\n { !this.state.showSpinner && showForm && this.handleSubmitIncident() }} />\r\n { this.handleBack() }} />\r\n { showForm && this.setState({ showConfirmationPopup: true }); }} />\r\n
    }\r\n {this.state.showSpinner && }\r\n {this.state.submitPopup && (\r\n {\r\n this.setState({ submitPopup: false });\r\n this.props.history.push(\"/incidents\");\r\n }}>

    Your incident has been created successfully! {this.state.successMessage}

    \r\n )}\r\n\r\n\r\n {!!this.state.showConfirmationPopup && (\r\n { this.setState({ showConfirmationPopup: false }); }}\r\n handleClose={() => {\r\n this.setState({ showConfirmationPopup: false });\r\n this.handleClearForm()\r\n }}>\r\n

    Are you sure you want to reset this page?

    \r\n
    \r\n )}\r\n {this.state.error && { this.setState({ showErrorPopup: false }); }} buttonPosition=\"center-button\">

    {this.state.error}

    }\r\n
    \r\n )\r\n }}\r\n
    \r\n )\r\n\r\n }\r\n}\r\n\r\nIncidentForm.contextType = IncidentContext;\r\nexport default IncidentForm","import React from \"react\";\r\nimport IncidentProvider, { IncidentContext } from \"../../context-providers/incident-provider/incident-provider\";\r\nimport IncidentForm from \"./incident-form/incident-form\";\r\n\r\nconst IncidentFormContextWrapper = (props) => {\r\n return (\r\n \r\n \r\n {incidentContextData => {\r\n return (\r\n \r\n );\r\n }}\r\n \r\n \r\n )\r\n\r\n}\r\nexport default IncidentFormContextWrapper;","import React, { Component, Fragment } from \"react\";\r\nimport dateFormat from \"dateformat\";\r\nimport \"./internal-request-basic-details.scss\";\r\nimport CustomButton from \"../../../../components/button/secondary-button\";\r\nimport NextButton from \"../../../../components/button/nextbutton\";\r\nimport CustomTextArea from \"../../../../components/custom-textarea/custom-textarea\";\r\nimport { styledStatus } from \"../../../incident-management/common-functions\";\r\nimport { postData } from \"../../../../api/api-manager\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport Modal from \"../../../../components/modals/modal\";\r\nimport { format} from \"date-fns\";\r\nimport { addDays, subDays } from \"date-fns\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport * as Constant from \"../../../../components/constants/constant\";\r\nimport { CustomSelect, CustomInput, moment } from \"../../../requests-grid/assignment/request-assignment-import\";\r\nimport RichTextEditor from \"react-rte\";\r\nimport { toolbarConfig } from \"../../../../components/email-chip/react-rte-toolbar\";\r\nimport EmailChip from \"../../../../components/email-chip/email-chip\";\r\nimport Tootltip from \"../../../../components/tool-tip/tool-tip\";\r\nimport parse from 'html-react-parser';\r\nimport { validateSupportFields, isInList, validateEstimatedEffort, handleRichTextValidation, validateComment, invalidEmailList, validateWithPattern } from \"../../../../components/validators/validate\";\r\n\r\nclass InternalRequestBasicDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n labels: [],\r\n showErrorPopup: false,\r\n isEditable: false,\r\n mailBody: RichTextEditor.createEmptyValue(),\r\n imageModal: false,\r\n sendIcon: false,\r\n isCommentsEditable: false,\r\n RichValueStatement: RichTextEditor.createEmptyValue(),\r\n RichObjective: RichTextEditor.createEmptyValue(),\r\n RichSuccessMeasures: RichTextEditor.createEmptyValue(),\r\n errorMessage: {},\r\n reqAccept: '',\r\n requestNumber: (props.location && props.location.state && props.location.state.requestNumber) || \"\"\r\n };\r\n }\r\n componentDidMount() {\r\n this.setIntialStates(this.props.internalRequestDetailsData);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.internalRequestDetailsData !== this.props.internalRequestDetailsData) {\r\n this.setIntialStates(this.props.internalRequestDetailsData);\r\n }\r\n }\r\n async setIntialStates(data) {\r\n await this.setState({\r\n labels: (data && data.Lables),\r\n requestNumber: this.props.requestNumber,\r\n status: (data && data.status) ? (data && data.status) : \"\",\r\n statusList: (data && data.statusList) ? (data && data.statusList) : \"\",\r\n requestTitle: (data && data.requestTitle) || \"\",\r\n technology: (data && data.technology) ? (data && data.technology) : \"\",\r\n technologyList: (data && data.technologyList) || \"\",\r\n categoryOrNature: (data && data.categoryOrNature) ? (data && data.categoryOrNature) : \"\",\r\n categoryOrNatureList: (data && data.categoryOrNatureList) || \"\",\r\n sponsorAndFunding: (data && data.sponsorAndFunding) || \"\",\r\n expectedDate: data && data.expectedDate ? new Date(data && data.expectedDate) : \"\",\r\n appOrService: (data && data.appOrService) ? (data && data.appOrService) : \"\",\r\n appOrServiceList: (data && data.appOrServiceList) || \"\",\r\n industry: (data && data.industry) ? (data && data.industry) : \"\",\r\n industryList: (data && data.industryList) || \"\",\r\n functionalArea: (data && data.functionalArea) ? (data && data.functionalArea) : \"\",\r\n functionalAreaList: (data && data.functionalAreaList) || \"\",\r\n servicePoC: (data && data.servicePoC) ? (data && data.servicePoC) : \"\",\r\n servicePoCList: (data && data.servicePoCList) || \"\",\r\n estimatedEffort: (data && data.estimatedEffort) || 0,\r\n requestor: (data && data.requestor) || \"\",\r\n onBehalfof: (data && data.onBehalfOf) || \"\",\r\n createdBy: (data && data.createdBy) || \"\",\r\n createdOn: (data && data.createdOn) || \"\",\r\n comments: (data && data.comments) || \"\",\r\n comment: '',\r\n isCommentsEditable: (data && data.isCommentsEditable) || false,\r\n RichValueStatement: RichTextEditor.createValueFromString(\r\n data && data.valueStatement,\r\n \"html\"\r\n ),\r\n RichObjective: RichTextEditor.createValueFromString(\r\n data && data.objective,\r\n \"html\"\r\n ),\r\n RichSuccessMeasures: RichTextEditor.createValueFromString(\r\n data && data.successMeasures,\r\n \"html\"\r\n ) || RichTextEditor.createEmptyValue(),\r\n smeArray: (data && data.leadSME.split()) || [],\r\n additionalSmeArray: data && data.additionalSMEs ? (data && data.additionalSMEs.split(\";\")) : [],\r\n sme: \"\",\r\n additionalSme: \"\",\r\n initailSme: data && data.leadSME,\r\n initialAdditionalSme: data && data.additionalSMEs,\r\n isUserCanEdit: (data && data.isEditable) || false,\r\n IsAcceleratorApproveRequest: (data && data.IsAcceleratorApproveRequest),\r\n errorMessage: (data && data.isEditable) ? this.setServicePocDefaultError(data) : false,\r\n isEditable: false\r\n });\r\n }\r\n\r\n setServicePocDefaultError(data) {\r\n let errorMessage = {};\r\n let servicePoCList = data.servicePoCList;\r\n let servicePoC = data.servicePoC;\r\n if (data.status !== \"New\" && servicePoCList.length > 0) {\r\n let filterPOC = servicePoCList.filter(record => record.Name === servicePoC);\r\n if (filterPOC.length === 0) {\r\n let errorTxt = \"This is a required field\";\r\n errorMessage[\"servicePoCError\"] = errorTxt;\r\n }\r\n }\r\n return errorMessage\r\n }\r\n\r\n getId = (name, statusList) => {\r\n let filtered = [];\r\n filtered =\r\n statusList &&\r\n statusList.filter(function ({ Name }) {\r\n return Name === name;\r\n });\r\n if (filtered && filtered.length > 0) {\r\n return filtered[0].ID;\r\n }\r\n return \"\";\r\n };\r\n\r\n handleButton(e) {\r\n e.preventDefault();\r\n if (this.state.isEditable) {\r\n this.setIntialStates(this.props.internalRequestDetailsData);\r\n }\r\n this.setState({ isEditable: !this.state.isEditable });\r\n }\r\n\r\n handleInput(e) {\r\n let { name, value } = e.target;\r\n this.setState({\r\n [name]: value,\r\n });\r\n if ((name === \"sponsorAndFunding\")) {\r\n const errorTxt = validateSupportFields(value);\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${name}Error`]: errorTxt,\r\n },\r\n });\r\n }\r\n if (name === \"comment\") {\r\n let errorTxt = \"\"\r\n if (value.length > 25000) {\r\n errorTxt = \"Comments should not be more than 25000 characters long.\"\r\n }\r\n else errorTxt = validateComment(value);\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${name}Error`]: errorTxt,\r\n },\r\n });\r\n }\r\n if (name === \"estimatedEffort\") {\r\n const errorTxt = validateEstimatedEffort(value);\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${name}Error`]: errorTxt,\r\n },\r\n });\r\n }\r\n if (name === \"requestTitle\") {\r\n let errorTxt = \"\";\r\n if (value === \"\") {\r\n errorTxt = \"This is a required field\";\r\n } else { errorTxt = validateSupportFields(value); }\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${name}Error`]: errorTxt,\r\n },\r\n });\r\n }\r\n if (name === \"status\") {\r\n if (value !== \"New\" && this.state.servicePoC === '') {\r\n let errorTxt = \"This is a required field\";\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n servicePoCError: errorTxt,\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n servicePoCError: '',\r\n }\r\n })\r\n }\r\n }\r\n if (name === \"servicePoC\" && value !== '') {\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n servicePoCError: '',\r\n }\r\n })\r\n }\r\n }\r\n\r\n async onChangeRichtext({ name, value, actualName }) {\r\n await this.setState({ [name]: value })\r\n let actualValue = value.toString(\"html\").replace(/(<([^>]+)>)/gi, \"\");\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n await this.setState({\r\n [actualName]: actualValue\r\n }, () => {\r\n if ((actualName === \"ValueStatement\" || actualName === \"Objective\")) {\r\n this.handleRichTextValidation(actualName, this.state)\r\n } else if (actualName === \"SuccessMeasure\") {\r\n let errorTxt = \"\";\r\n if ((actualValue.length < 20 && actualValue.length > 0)) {\r\n errorTxt = `KPls/Success Measures should be at least 20 characters long`\r\n } else if (actualValue.length > 2000) {\r\n errorTxt = `KPls/Success Measures should not be more than 2000 characters long.`\r\n }\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${actualName}Error`]: errorTxt,\r\n },\r\n });\r\n }\r\n })\r\n }\r\n\r\n handleRichTextValidation(name) {\r\n const errorTxt = handleRichTextValidation(name, this.state)\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${name}Error`]: errorTxt,\r\n },\r\n });\r\n }\r\n\r\n handleSaveRichTxt() {\r\n let actualValue = this.state.mailBody.toString('html').replace(/(<([^>]+)>)/ig, '');\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n this.setState(\r\n {\r\n imageModal: false,\r\n [this.state.clickedActualRichTextName]: actualValue,\r\n [this.state.richTxt]: this.state.mailBody,\r\n sendIcon: false\r\n },\r\n () => {\r\n if ((this.state.clickedActualRichTextName === \"ValueStatement\" || this.state.clickedActualRichTextName === \"Objective\")) {\r\n this.handleRichTextValidation(this.state.clickedActualRichTextName, this.state);\r\n }\r\n }\r\n );\r\n }\r\n\r\n handleImageModal(txt, actualName) {\r\n this.setState({\r\n imageModal: true,\r\n richTxt: txt,\r\n mailBody: this.state[txt],\r\n clickedActualRichTextName: actualName\r\n });\r\n }\r\n\r\n handleSendIconModal() {\r\n this.setState({\r\n imageModal: false,\r\n sendIcon: true,\r\n });\r\n }\r\n\r\n handleCloseIcon() {\r\n this.setState({\r\n imageModal: true,\r\n sendIcon: false,\r\n });\r\n }\r\n\r\n handleCloseEditor() {\r\n this.setState({\r\n imageModal: false,\r\n });\r\n }\r\n\r\n handleExpectedDate(date) {\r\n this.setState({\r\n expectedDate: date,\r\n });\r\n }\r\n\r\n onChange = (value, name) => {\r\n this.setState({\r\n [name]: value,\r\n mailBody: value,\r\n });\r\n };\r\n\r\n handleDateChangeRaw = (e) => {\r\n e.preventDefault();\r\n };\r\n\r\n handleDontSaveRichTxt() {\r\n this.setState({\r\n imageModal: false,\r\n sendIcon: false,\r\n richTxt: \"\",\r\n });\r\n }\r\n\r\n isValid = (name, value) => {\r\n let errorName = `${name}Error`;\r\n let error = null;\r\n if (isInList(this.state, name, value)) {\r\n error = `${value} has already been added.`;\r\n }\r\n if (!this.isValidPattern(value)) {\r\n error = 'Enter a valid email, only Accenture and Avanade domain is valid.';\r\n }\r\n if (error) {\r\n this.setState({\r\n errorMessage: { ...this.state.errorMessage, [errorName]: error },\r\n });\r\n return false;\r\n } else {\r\n this.setState({\r\n errorMessage: { ...this.state.errorMessage, [errorName]: \"\" },\r\n });\r\n }\r\n\r\n return true;\r\n };\r\n\r\n isValidPattern = (value) => {\r\n let pattern = \"^[a-zA-Z0-9_.+-]+@(?:(?:[a-zA-Z0-9-]+\\\\.)?[a-zA-Z]+\\\\.)?(avanade|accenture)\\\\.com$\"\r\n return validateWithPattern({ pattern, value })\r\n }\r\n\r\n isValidAdditionalSME = () => {\r\n let invalidEmailArray = invalidEmailList(this.state.additionalSmeArray)\r\n if (invalidEmailArray.length > 0) {\r\n let error = 'Enter a valid email, only Accenture and Avanade domain is valid.';\r\n this.setState({\r\n errorMessage: { ...this.state.errorMessage, additionalSmeError: error },\r\n });\r\n } else {\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n additionalSmeError: \"\"\r\n }\r\n })\r\n }\r\n }\r\n\r\n handleSme = async (e) => {\r\n let { name, value } = e.target;\r\n await this.setState({ [name]: value });\r\n if (value === \"\") {\r\n this.setState({\r\n errorMessage: { ...this.state.errorMessage, [`${name}Error`]: \"\" },\r\n isMailIdTyping: false,\r\n });\r\n this.isRequiredField(name);\r\n } else {\r\n let emailArraytype = `${name}Array`;\r\n var email = this.state[name].trim();\r\n if (email && this.isValid(name, email)) {\r\n await this.setState({\r\n [emailArraytype]: [...this.state[emailArraytype], email],\r\n [name]: \"\",\r\n errorMessage: { ...this.state.errorMessage, [`${name}Error`]: \"\" },\r\n isMailIdTyping: false,\r\n });\r\n\r\n this.isValidAdditionalSME();\r\n }\r\n }\r\n };\r\n\r\n isRequiredField(name) {\r\n let errorTxt = \"\";\r\n if (name === \"sme\" && this.state.smeArray.length <= 0) {\r\n errorTxt = \"This is a required field\";\r\n }\r\n this.setState({\r\n errorMessage: { ...this.state.errorMessage, [`${name}Error`]: errorTxt },\r\n });\r\n }\r\n\r\n handleDelete = (evt) => {\r\n let { name, value } = evt.target;\r\n let emailArraytype = `${name}Array`;\r\n if (this.state[emailArraytype]) {\r\n this.setState(\r\n {\r\n [emailArraytype]: this.state[emailArraytype].filter(\r\n (i) => i !== value\r\n ),\r\n },\r\n () => {\r\n let errorMessage = { ...this.state.errorMessage }\r\n if (!this.state.smeArray.length > 0) {\r\n errorMessage = { ...errorMessage, smeError: \"This is a required field\" }\r\n }\r\n\r\n if (!this.state.additionalSmeArray.length > 0) {\r\n if (this.state.additionalSme !== \"\") {\r\n errorMessage = { ...errorMessage, additionalSmeError: \"Press Enter key to add recipient\" }\r\n } else {\r\n errorMessage = { ...errorMessage, additionalSmeError: \"\" }\r\n }\r\n } else {\r\n this.isValidAdditionalSME();\r\n }\r\n\r\n this.setState({\r\n errorMessage: {\r\n ...errorMessage\r\n }\r\n });\r\n }\r\n );\r\n }\r\n };\r\n\r\n handleKeyDown = (evt) => {\r\n let { name } = evt.target;\r\n let emailArraytype = `${name}Array`\r\n if (['Enter', 'Tab', ',', ';'].includes(evt.key) && this.state[name] !== '') {\r\n evt.preventDefault();\r\n var email = this.state[name].trim();\r\n if (email) {\r\n this.setState({\r\n [emailArraytype]: [...this.state[emailArraytype], email],\r\n [name]: '',\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n // additionalSmeError: \"\"\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n enableUpdateButton() {\r\n if (this.props.internalRequestDetailsData) {\r\n const { internalRequestDetailsData } = this.props\r\n const isError = Object.values(this.state.errorMessage).filter(\r\n (item) => item !== \"\"\r\n );\r\n const PrevD = moment(\r\n new Date(this.props.internalRequestDetailsData.expectedDate)\r\n );\r\n const UpdatedDate = moment(this.state.expectedDate);\r\n return (((this.state.status !== internalRequestDetailsData.status) ||\r\n (this.state.requestTitle !== internalRequestDetailsData.requestTitle) ||\r\n (this.state.technology !== internalRequestDetailsData.technology) ||\r\n (this.state.categoryOrNature !== internalRequestDetailsData.categoryOrNature) ||\r\n (this.state.sponsorAndFunding !== internalRequestDetailsData.sponsorAndFunding) ||\r\n (this.state.smeArray.join(\";\") !== internalRequestDetailsData.leadSME) ||\r\n (this.state.additionalSmeArray.join(\";\") !== internalRequestDetailsData.additionalSMEs) ||\r\n (UpdatedDate.format(\"DD-MMM-YYYY\") !== PrevD.format(\"DD-MMM-YYYY\")) ||\r\n (this.state.appOrService !== internalRequestDetailsData.appOrService) ||\r\n (this.state.industry !== internalRequestDetailsData.industry) ||\r\n (this.state.functionalArea !== internalRequestDetailsData.functionalArea) ||\r\n (this.state.servicePoC !== internalRequestDetailsData.servicePoC) ||\r\n (parseInt(this.state.estimatedEffort) !== parseInt(internalRequestDetailsData.estimatedEffort)) ||\r\n (this.state.RichValueStatement.toString(\"html\") !== internalRequestDetailsData.valueStatement) ||\r\n (this.state.RichObjective.toString(\"html\") !== internalRequestDetailsData.objective) ||\r\n (this.state.RichSuccessMeasures.toString(\"html\") !== internalRequestDetailsData.successMeasures) ||\r\n (this.state.reqAccept !== '') ||\r\n this.state.comment) && isError.length <= 0) ? true : false;\r\n } else return false;\r\n }\r\n\r\n async handleSubmit() {\r\n let data = {};\r\n let RequestStatusId = this.getId(this.state.status, this.state.statusList);\r\n let TechnologyId = this.getId(\r\n this.state.technology,\r\n this.state.technologyList\r\n );\r\n let Category = this.getId(\r\n this.state.categoryOrNature,\r\n this.state.categoryOrNatureList\r\n );\r\n data = {\r\n RequestNumber: this.state.requestNumber\r\n };\r\n if (!this.props.internalRequestDetailsData.IsAcceleratorApproveRequest) {\r\n data = {\r\n ...data,\r\n RequestStatusId: RequestStatusId,\r\n TechnologyId: TechnologyId,\r\n Category: Category,\r\n };\r\n }\r\n const DemoD = moment(new Date(this.props.internalRequestDetailsData.expectedDate));\r\n const CliDate = moment(this.state.expectedDate);\r\n if (this.state.requestTitle !== this.props.internalRequestDetailsData.requestTitle) {\r\n data = { ...data, RequestTitle: this.state.requestTitle };\r\n }\r\n if (this.state.sponsorAndFunding !== this.props.internalRequestDetailsData.sponsorAndFunding) {\r\n data = { ...data, SponsorAndFunding: this.state.sponsorAndFunding };\r\n }\r\n if (this.state.appOrService !== this.props.internalRequestDetailsData.appOrService) {\r\n let appOrServiceId = this.getId(this.state.appOrService, this.state.appOrServiceList);\r\n data = { ...data, AppOrService: appOrServiceId };\r\n }\r\n if (CliDate.format(\"DD-MMM-YYYY\") !== DemoD.format(\"DD-MMM-YYYY\")) {\r\n data = { ...data, ExpectedDate: dateFormat(this.state.expectedDate, \"isoDate\") };\r\n }\r\n if (this.state.industry !== this.props.internalRequestDetailsData.industry) {\r\n let industryId = this.getId(this.state.industry, this.state.industryList);\r\n data = { ...data, IndustryId: industryId };\r\n }\r\n if (this.state.functionalArea !== this.props.internalRequestDetailsData.functionalArea) {\r\n let functionalAreaId = this.getId(this.state.functionalArea, this.state.functionalAreaList);\r\n data = { ...data, FunctionalAreaId: functionalAreaId };\r\n }\r\n if (this.state.servicePoC !== this.props.internalRequestDetailsData.servicePoC) {\r\n data = { ...data, ServicePoC: this.state.servicePoC };\r\n }\r\n let LeadSmeArray = this.state.smeArray.toString()\r\n if (LeadSmeArray !== this.props.internalRequestDetailsData.leadSME) {\r\n data = { ...data, LeadSME: LeadSmeArray };\r\n }\r\n let AdditionalSmeArray = this.state.additionalSmeArray.length > 0 ? this.state.additionalSmeArray.join(';') : this.state.additionalSmeArray.toString()\r\n if (AdditionalSmeArray !== this.props.internalRequestDetailsData.additionalSMEs) {\r\n data = { ...data, AdditionalSMEs: AdditionalSmeArray };\r\n }\r\n if (parseInt(this.state.estimatedEffort) !== parseInt(this.props.internalRequestDetailsData.estimatedEffort)) {\r\n data = { ...data, EstimatedEffort: this.state.estimatedEffort };\r\n }\r\n if (this.state.RichValueStatement.toString(\"html\") !== this.props.internalRequestDetailsData.valueStatement) {\r\n data = {\r\n ...data,\r\n ValueStatement: this.state.RichValueStatement.toString(\"html\"),\r\n };\r\n }\r\n if (this.state.RichObjective.toString(\"html\") !== this.props.internalRequestDetailsData.objective) {\r\n data = { ...data, Objective: this.state.RichObjective.toString(\"html\") };\r\n }\r\n if (this.state.RichSuccessMeasures.toString(\"html\") !== this.props.internalRequestDetailsData.successMeasures) {\r\n data = {\r\n ...data,\r\n SuccessMeasures: this.state.RichSuccessMeasures.toString(\"html\"),\r\n };\r\n }\r\n if (this.state.comment) {\r\n data = { ...data, Comments: this.state.comment };\r\n this.setState({comment: ''});\r\n }\r\n if (this.state.reqAccept !== '') {\r\n data = {\r\n ...data,\r\n reqAccept: this.state.reqAccept === \"accept\" ? true : false,\r\n Comments: this.state.comment,\r\n isAcceleratorApproverFlow: true\r\n }\r\n }\r\n\r\n if (this.props.internalRequestDetailsData.advanceForm === \"ScopeChangeRequest\" && this.props.AdditionalDetailsData.Decision === \"\"\r\n && [\"Resolved\", \"Closed\"].includes(this.state.status)\r\n ) {\r\n this.props.redirectToAdditionalTab()\r\n } else {\r\n let submitData = { internalRequestDetails: { ...data } };\r\n this.setState({ showSpinner: true, clickOnUpdate: true });\r\n\r\n const serviceName = `updateInternalRequest`;\r\n const response = await postData({\r\n serviceName: serviceName,\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n data: submitData,\r\n });\r\n const { success, error } = await response;\r\n if (success) {\r\n this.setState({ reqAccept: '', showSpinner: false });\r\n await this.props.getRequestDetails();\r\n } else {\r\n this.setState({ showSpinner: false, error: error, showErrorPopup: true });\r\n }\r\n }\r\n }\r\n\r\n handleBack = async () => {\r\n this.props.locationDetails.history.push({\r\n pathname: \"/requests\",\r\n state: {\r\n isFromInternalRequest: true,\r\n filterValues: this.props.filterValues,\r\n serviceSelectedFilter: this.props.serviceSelectedFilter,\r\n expectedDateFilter: this.props.expectedDateFilter\r\n }\r\n })\r\n }\r\n\r\n async handleReqAccept(status) {\r\n await this.setState({\r\n reqAccept: status, formErrors: {\r\n ...this.state.formErrors,\r\n commentError: ''\r\n }\r\n })\r\n }\r\n\r\n render() {\r\n const Labels = this.state.labels;\r\n let IsAcceleratorApproveRequest = this.state.IsAcceleratorApproveRequest;\r\n let isReqAccepted = this.state.reqAccept && this.state.reqAccept === 'accept' ? true : false;\r\n let isReqRejected = this.state.reqAccept && this.state.reqAccept === 'reject' ? true : false;\r\n const {RichValueStatement,RichObjective,RichSuccessMeasures,comments} = this.state;\r\n const ValueStatement = parse(RichValueStatement.toString(\"html\"));\r\n const RichObjectiveTextbox = parse(RichObjective.toString(\"html\"));\r\n const RichSuccessMeasuresTextbox = parse(RichSuccessMeasures.toString(\"html\"));\r\n const commentsInternalRequest = comments \r\n ? parse(comments.toString(\"html\"))\r\n : null;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
      \r\n {Labels.length > 0 && Labels.map((form) => {\r\n if (form.FormKey === \"requestNumber\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.requestNumber}\r\n
    • \r\n
      \r\n );\r\n }\r\n if (form.FormKey === \"status\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.isEditable ? (\r\n \r\n this.handleInput(e)}\r\n name=\"status\"\r\n options={this.state.statusList}\r\n selected_value={this.state.status}\r\n use_name=\"true\"\r\n />\r\n \r\n ) : (\r\n \r\n {this.state.status}\r\n \r\n )}\r\n
    • \r\n
      \r\n );\r\n }\r\n if (form.FormKey === \"RequestTitle\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.isEditable ? (\r\n \r\n this.handleInput(e)}\r\n />\r\n \r\n {this.state.errorMessage.requestTitleError}\r\n \r\n \r\n ) : (\r\n {this.state.requestTitle}\r\n {this.state.requestTitle}

      }>
      \r\n )}\r\n
    • \r\n
      \r\n );\r\n }\r\n if (form.FormKey === \"technology\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.isEditable ? (\r\n
      \r\n this.handleInput(e)}\r\n selected_value={this.state.technology}\r\n use_name=\"true\"\r\n />\r\n
      \r\n ) : (\r\n {this.state.technology}\r\n )}\r\n
    • \r\n
      \r\n );\r\n }\r\n if (form.FormKey === \"Category\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.isEditable ? (\r\n \r\n this.handleInput(e)}\r\n selected_value={this.state.categoryOrNature}\r\n use_name=\"true\"\r\n />\r\n \r\n ) : (\r\n {this.state.categoryOrNature}\r\n )}\r\n
    • \r\n
      \r\n );\r\n }\r\n if (form.FormKey === \"SponsorAndFunding\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.isEditable ? (\r\n \r\n this.handleInput(e)}\r\n value={this.state.sponsorAndFunding}\r\n />\r\n {this.state.errorMessage.sponsorAndFundingError && (\r\n

      \r\n {this.state.errorMessage.sponsorAndFundingError}\r\n

      \r\n )}\r\n
      \r\n ) : (\r\n {this.state.sponsorAndFunding}\r\n )}\r\n
    • \r\n
      \r\n );\r\n }\r\n if (form.FormKey === \"ExpectedDate\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.isEditable ? (\r\n this.handleExpectedDate(date)}\r\n minDate={subDays(new Date(), 60)}\r\n maxDate={addDays(new Date(), 100)}\r\n dateFormat=\"dd-MMM-yyyy\"\r\n placeholderText={this.state.expectedDate ? this.state.expectedDate : \"DD-MMM-YYYY\"}\r\n onChangeRaw={() => {\r\n this.handleDateChangeRaw();\r\n }}\r\n />\r\n ) : (\r\n \r\n {this.state.expectedDate &&\r\n format(new Date(this.state.expectedDate), \"dd-MMM-yyy\")}\r\n \r\n )}\r\n
    • \r\n
      \r\n );\r\n }\r\n if (form.FormKey === \"LeadSME\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.isEditable ? (\r\n \r\n {\r\n this.handleSme(e);\r\n }}\r\n emailsArray={this.state.smeArray}\r\n onKeyDown={this.handleKeyDown}\r\n handleDelete={(e) => {\r\n this.handleDelete(e);\r\n }}\r\n disabled={this.state.smeArray.length === 1 ? true : false}\r\n isError={this.state.errorMessage.smeError || false}\r\n />\r\n {this.state.smeArray && {this.state.smeArray}

      }>
      }\r\n {this.state.errorMessage.smeError && (\r\n

      \r\n {this.state.errorMessage.smeError}\r\n

      \r\n )}\r\n
      \r\n ) : (\r\n {this.state.initailSme}\r\n {this.state.initailSme}

      }>
      \r\n )}\r\n
    • \r\n
      \r\n );\r\n }\r\n if (form.FormKey === \"AdditionalSME\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.isEditable ? (\r\n \r\n {\r\n this.handleSme(e);\r\n }}\r\n emailsArray={this.state.additionalSmeArray}\r\n onKeyDown={this.handleKeyDown}\r\n handleDelete={(e) => {\r\n this.handleDelete(e);\r\n }}\r\n isError={\r\n this.state.errorMessage.additionalSmeError || false\r\n }\r\n />\r\n {this.state.errorMessage.additionalSmeError && (\r\n

      \r\n {this.state.errorMessage.additionalSmeError}\r\n

      \r\n )}\r\n
      \r\n ) : (\r\n
      \r\n {this.state.additionalSmeArray &&\r\n this.state.additionalSmeArray.map((email, index) => (\r\n \r\n {email}\r\n {this.state.additionalSmeArray.length - 1 === index\r\n ? \"\"\r\n : \";\"}\r\n {email}

      }>
      \r\n
      \r\n ))}\r\n
      \r\n )}\r\n
    • \r\n
      \r\n );\r\n }\r\n if (form.FormKey === \"AppOrService\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.isEditable ? (\r\n \r\n this.handleInput(e)}\r\n selected_value={this.state.appOrService}\r\n use_name=\"true\"\r\n />\r\n \r\n ) : (\r\n {this.state.appOrService}\r\n )}\r\n
    • \r\n
      \r\n );\r\n }\r\n if (form.FormKey === \"Industry\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.isEditable ? (\r\n \r\n this.handleInput(e)}\r\n use_name=\"true\"\r\n />\r\n \r\n ) : (\r\n {this.state.industry}\r\n )}\r\n
    • \r\n
      \r\n );\r\n }\r\n if (form.FormKey === \"FunctionalArea\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.isEditable ? (\r\n \r\n this.handleInput(e)}\r\n use_name=\"true\"\r\n />\r\n \r\n ) : (\r\n {this.state.functionalArea}\r\n )}\r\n
    • \r\n
      \r\n );\r\n }\r\n if (form.FormKey === \"servicePoC\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.isEditable ? (\r\n \r\n this.handleInput(e)}\r\n use_name=\"true\"\r\n />\r\n \r\n {this.state.errorMessage.servicePoCError}\r\n \r\n \r\n ) : (\r\n {this.state.servicePoC}\r\n )}\r\n
    • \r\n
      \r\n );\r\n }\r\n if (form.FormKey === \"EstimatedEffort\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.isEditable ? (\r\n \r\n this.handleInput(e)}\r\n />\r\n \r\n {this.state.errorMessage.estimatedEffortError}\r\n \r\n \r\n ) : (\r\n {this.state.estimatedEffort}\r\n )}\r\n
    • \r\n
      \r\n );\r\n }\r\n if (form.FormKey === \"Requestor\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.requestor}\r\n {this.state.requestor}

      }>
      \r\n
    • \r\n
      \r\n );\r\n }\r\n if (form.FormKey === \"onBehalfof\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.onBehalfof}\r\n
    • \r\n
      \r\n );\r\n }\r\n if (form.FormKey === \"createdBy\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.createdBy}\r\n {this.state.createdBy}

      }>
      \r\n
    • \r\n
      \r\n );\r\n }\r\n if (form.FormKey === \"createdOn\") {\r\n return (\r\n \r\n
    • \r\n \r\n {this.state.createdOn}\r\n
    • \r\n
      \r\n );\r\n }\r\n return null;\r\n })}\r\n {!!IsAcceleratorApproveRequest &&
      \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n {Labels.length > 0 && Labels.map((form) => {\r\n if (form.FormKey === \"ValueStatement\") {\r\n return (\r\n \r\n
      \r\n
    • \r\n \r\n
    • \r\n {this.state.isEditable ? (\r\n {\r\n this.handleImageModal(\r\n \"RichValueStatement\",\r\n \"ValueStatement\"\r\n );\r\n }}\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n
      \r\n {this.state.isEditable ? (\r\n
      \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"RichValueStatement\",\r\n actualName: \"ValueStatement\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n \r\n {this.state.errorMessage.ValueStatementError}\r\n \r\n
      \r\n ) : (\r\n {ValueStatement}
    \r\n )}\r\n );\r\n }\r\n if (form.FormKey === \"Objective\") {\r\n return (\r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n {this.state.isEditable ? (\r\n {\r\n this.handleImageModal(\"RichObjective\", \"Objective\");\r\n }}\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n {this.state.isEditable ? (\r\n
    \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"RichObjective\",\r\n actualName: \"Objective\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n \r\n {this.state.errorMessage.ObjectiveError}\r\n \r\n
    \r\n ) : (\r\n {RichObjectiveTextbox}
    \r\n )}\r\n \r\n );\r\n }\r\n return null;\r\n })}\r\n \r\n
    \r\n
    \r\n
    \r\n
      \r\n {Labels.length > 0 && Labels.map((form) => {\r\n if (form.FormKey === \"SuccessMeasures\") {\r\n return (\r\n \r\n
      \r\n
    • \r\n \r\n
    • \r\n {this.state.isEditable ? (\r\n {\r\n this.handleImageModal(\r\n \"RichSuccessMeasures\",\r\n \"SuccessMeasure\"\r\n );\r\n }}\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n
      \r\n\r\n {this.state.isEditable ? (\r\n
      \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"RichSuccessMeasures\",\r\n actualName: \"SuccessMeasure\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n \r\n {this.state.errorMessage.SuccessMeasureError}\r\n \r\n
      \r\n ) : (\r\n {RichSuccessMeasuresTextbox}
    \r\n )}\r\n \r\n );\r\n }\r\n if (form.FormKey === \"Comments\") {\r\n return (\r\n \r\n
  • \r\n \r\n
  • \r\n
    \r\n
    \r\n
    \r\n {this.state.comments ? {commentsInternalRequest}
    : \"No Comments Yet\"}\r\n
    \r\n this.handleInput(e)}\r\n />\r\n \r\n {this.state.errorMessage.commentError}\r\n \r\n
    \r\n \r\n \r\n );\r\n }\r\n\r\n return null;\r\n })}\r\n \r\n
    \r\n \r\n
    \r\n this.handleSubmit()}\r\n disabled={!this.enableUpdateButton()}\r\n />\r\n this.handleBack()} />\r\n {this.state.isUserCanEdit && (\r\n this.handleButton(e)}\r\n />\r\n )}\r\n
    \r\n {\r\n this.state.imageModal && (\r\n \r\n this.handleCloseEditor()}\r\n />\r\n \r\n this.handleSendIconModal()}\r\n />\r\n \r\n )\r\n }\r\n
    \r\n {this.state.sendIcon && (\r\n {\r\n this.handleSaveRichTxt();\r\n }}\r\n handleCancel={() => {\r\n this.handleDontSaveRichTxt();\r\n }}\r\n >\r\n

    Alert

    \r\n this.handleCloseIcon()}\r\n />\r\n \r\n )}\r\n
    \r\n {this.state.error && (\r\n {\r\n this.setState({ showErrorPopup: false });\r\n }}\r\n >\r\n

    {this.state.error}

    \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default InternalRequestBasicDetails;\r\n","import React, { Component } from \"react\";\r\nimport \"./azure-objects.scss\";\r\nimport CustomInput from \"../../../components/custom-input/custom-input\";\r\nimport * as Constant from \"../../../components/constants/constant\";\r\nimport { getData, postData } from \"../../../api/api-manager\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport Modal from \"../../../components/modals/modal\";\r\nimport { validateAzureObjectSearch } from \"../../../components/validators/validate\";\r\nimport { azureStatus } from \"../../incident-management/common-functions\";\r\nimport CustomButton from \"../../../components/button/secondary-button\";\r\nimport Tootltip from \"../../../components/tool-tip/tool-tip\";\r\nimport OutsideClickAlerter from \"../../../components/outside-click-alerter/outside-click-alerter\";\r\nimport PopUp from \"../../../components/popup/popup\";\r\n\r\nclass AzureObjects extends Component {\r\n state = {\r\n searchWorkItemID: '', errorMessage: {}, WorkItems: [], searchedUserList: []\r\n }\r\n /* reverting azure object implementation because its changes merged into dev for test the auth_token */\r\n\r\n // async componentDidMount() {\r\n // localStorage.setItem(\"requestNumber\", this.props.requestNumber)\r\n // this.getAssociatedWorkItemDetails()\r\n // }\r\n componentDidMount() {\r\n this.getAssociatedWorkItemDetails()\r\n }\r\n\r\n async getAssociatedWorkItemDetails() {\r\n await this.setState({\r\n showSpinner: true\r\n })\r\n //const serviceName = `LoadworkItems?reqNumber=${this.props.requestNumber}`\r\n // const token = sessionStorage.getItem('azure_auth_token')\r\n const serviceName = `LoadworkItems?reqNumber=${this.props.requestNumber}`\r\n const response = await getData({ serviceName: serviceName, apiBaseUrl: INTERNAL_REQUEST_BASE_URL });\r\n const { success, error, isInfo, data } = await response;\r\n if (success) {\r\n await this.setState({\r\n WorkItems: data.WorkItems || [],\r\n showSpinner: false\r\n })\r\n } else {\r\n await this.setState({\r\n error: error,\r\n showSpinner: false,\r\n showErrorPopup: true,\r\n isInfo\r\n });\r\n }\r\n // await this.setState({\r\n // WorkItems: data.WorkItems || [],\r\n // showSpinner: false\r\n // })\r\n }\r\n async handleSearchWorkItem(id) {\r\n this.state.searchWorkItemID = id;\r\n if (!this.state.searchWorkItemID || this.state.searchWorkItemID === '' || (this.state.errorMessage && !!this.state.errorMessage.searchAzureObjectsError)) {\r\n return\r\n }\r\n await this.setState({\r\n showSpinner: true\r\n })\r\n /* reverting azure object implementation because its changes merged into dev for test the auth_token */\r\n // const token = sessionStorage.getItem('expires_in')\r\n // if (!token) {\r\n // const response = await setAzureDataInSession()\r\n // if (response) {\r\n // this.handleAddWorkItemSubmit()\r\n // }\r\n // } else {\r\n // this.handleAddWorkItemSubmit()\r\n // }\r\n // }\r\n // this.handleAddWorkItemSubmit()\r\n // async handleAddWorkItemSubmit() {\r\n // const token = sessionStorage.getItem('azure_auth_token')\r\n const submitData = {\r\n workItemDetails: {\r\n RequestNumber: this.props.requestNumber,\r\n WorkItemId: this.state.searchWorkItemID,\r\n // AuthToken: token\r\n }\r\n }\r\n const serviceName = `addWorkItem`;\r\n const response = await postData({\r\n serviceName: serviceName,\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n data: submitData,\r\n });\r\n const { success, successMessage, error, isInfo = false } = await response;\r\n\r\n if (success) {\r\n await this.getAssociatedWorkItemDetails()\r\n this.setState({\r\n showSpinner: false, searchWorkItemID: id, showSuccessPopup: true,\r\n successMessage: [successMessage, this.props.requestNumber]\r\n });\r\n } else {\r\n await this.setState({\r\n error: error, showSpinner: false, showErrorPopup: true, searchWorkItemID: '', isInfo\r\n });\r\n }\r\n this.setState({ searchWorkItemID: '' })\r\n }\r\n\r\n async showUnlinkModal(e, id) {\r\n this.state.searchWorkItemID = id;\r\n e.preventDefault();\r\n await this.setState({\r\n showUnlinkModal: true, unlinkId: id, searchWorkItemID: ''\r\n })\r\n }\r\n\r\n async handleUnlinkItem() {\r\n await this.setState({\r\n showSpinner: true,\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n searchAzureObjectsError: ''\r\n }\r\n })\r\n /* reverting azure object implementation because its changes merged into dev for test the auth_token */\r\n // const token = sessionStorage.getItem('expires_in')\r\n // if (!token) {\r\n // const response = await setAzureDataInSession()\r\n // if (response) {\r\n // this.unlinkItemsApiCall()\r\n // }\r\n // } else {\r\n // this.unlinkItemsApiCall()\r\n // }\r\n // }\r\n // unlinkItemsApiCall = async () => {\r\n const submitData = {\r\n workItemDetails: {\r\n RequestNumber: this.props.requestNumber,\r\n WorkItemId: this.state.unlinkId\r\n }\r\n }\r\n const serviceName = `UnLinkWorkItem`;\r\n const response = await postData({\r\n serviceName: serviceName,\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n data: submitData,\r\n });\r\n const { success, successMessage, error, isInfo = false } = await response;\r\n if (success) {\r\n await this.getAssociatedWorkItemDetails()\r\n this.setState({\r\n showUnlinkModal: false,\r\n showSpinner: false,\r\n unlinkId: '',\r\n searchWorkItemID: '', showSuccessPopup: true, successMessage: [successMessage, this.props.requestNumber],\r\n });\r\n } else {\r\n await this.setState({\r\n showUnlinkModal: false,\r\n error: error,\r\n showSpinner: false,\r\n showErrorPopup: true,\r\n isInfo,\r\n });\r\n }\r\n }\r\n\r\n async handleInput(e) {\r\n let { name, value } = e.target;\r\n this.setState({\r\n [name]: value,\r\n });\r\n await this.setState({ searchWorkItemID: e.target.value });\r\n const errorTxt = validateAzureObjectSearch(value);\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${name}Error`]: errorTxt,\r\n },\r\n });\r\n\r\n if (!errorTxt && this.state.searchWorkItemID) {\r\n const serviceName = `SearchWorkItem?requestNumber=${this.props.requestNumber}&workItemId=${this.state.searchWorkItemID}`;\r\n const response = await getData({\r\n serviceName: serviceName,\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n });\r\n const { success, error, isInfo = false } = await response;\r\n if (success && response.data.WorkItems.length > 0 ) {\r\n this.setState({\r\n showSearchPopup: true,\r\n searchedUserList: response.data.WorkItems,\r\n });\r\n } else {\r\n await this.setState({\r\n searchedUserList: response.data.WorkItems,\r\n showSearchPopup: false,\r\n error: error,\r\n showSpinner: false,\r\n showErrorPopup: true,\r\n isInfo,\r\n });\r\n }\r\n }\r\n if (this.state.searchWorkItemID.length === 0) {\r\n this.handleOutsideClick()\r\n }\r\n }\r\n\r\n handleClick() {\r\n if (this.state.searchWorkItemID.length > 0 && this.state.searchedUserList.length >0) {\r\n this.setState({\r\n showSearchPopup: true\r\n })\r\n }\r\n\r\n }\r\n handleOutsideClick() {\r\n this.setState({\r\n showSearchPopup: false\r\n })\r\n }\r\n handleCloseIcon() {\r\n this.setState({\r\n showUnlinkModal: false\r\n })\r\n }\r\n handleBack = async () => {\r\n this.props.locationDetails.history.push({\r\n pathname: \"/requests\",\r\n state: {\r\n isFromInternalRequest: true,\r\n filterValues: this.props.filterValues,\r\n serviceSelectedFilter: this.props.serviceSelectedFilter,\r\n expectedDateFilter: this.props.expectedDateFilter\r\n }\r\n })\r\n }\r\n render() {\r\n return (\r\n
    \r\n
    \r\n {this.props.IsAzureWorkItemLinkingEnabled &&\r\n
    \r\n { this.handleInput(e) }}\r\n onClick={() => this.handleClick()}\r\n />\r\n {/* new search UI implementation*/}\r\n
    \r\n {this.state.showSearchPopup &&\r\n { this.handleOutsideClick() }}>\r\n {\r\n this.state.searchedUserList && this.state.searchedUserList.map((user, key) => {\r\n return
    \r\n

    {user.WorkItemId}

    \r\n

    \r\n

    {user.Name}

    \r\n {!user.IsItemAlreadyAdded &&\r\n \"add\"\r\n this.handleSearchWorkItem(user.WorkItemId)}>\r\n }\r\n {user.IsItemAlreadyAdded &&\r\n \"link-button\"\r\n }\r\n

    \r\n {user.IsItemAlreadyAdded &&\r\n \r\n Linked to Req No {this.props.requestNumber}\r\n }\r\n
    \r\n
    \r\n })\r\n }\r\n

    \r\n //< this.state.searchedUserList.map((user, key) => {\r\n // return

    this.selectRequesterID(e)}\r\n // >{user} \"add\"

    \r\n // })}\r\n }\r\n />\r\n \r\n }\r\n

    \r\n {/*
    \r\n \"Search\" { this.handleInput(e) }} />\r\n
    */}\r\n
    }\r\n \r\n {this.state.errorMessage.searchAzureObjectsError}\r\n \r\n
    \r\n {this.state.WorkItems.length > 0 && this.state.WorkItems.map((item, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    \r\n {item.WorkItemId}\r\n
    \r\n
    \r\n

    \r\n {item.Name}\r\n {item.Name}

    }>
    \r\n
    \r\n
    \r\n {this.props.IsAzureWorkItemLinkingEnabled &&\r\n \"unlink-button\" this.showUnlinkModal(e, item.WorkItemId)}>\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {item.Status}\r\n
    \r\n
    \r\n

    \r\n {item.Type}\r\n
    \r\n
    \r\n

    \r\n {item.Backlog}\r\n {item.Backlog}

    }>
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n this.handleBack()} />\r\n
    \r\n {this.state.showUnlinkModal &&
    \r\n {\r\n this.setState({ showUnlinkModal: false });\r\n }}\r\n handleClose={() => {\r\n this.handleUnlinkItem()\r\n }}\r\n >\r\n
    \r\n

    Alert

    \r\n \"close-icon\"\r\n this.handleCloseIcon()} />\r\n


    \r\n

    Are you sure you want to unlink Work Item ID {this.state.unlinkId}?

    \r\n
    }\r\n {this.state.error && { this.setState({ showErrorPopup: false }); }}\r\n buttonPosition=\"center-button\">

    {this.state.error}

    }\r\n\r\n {this.state.successMessage && { this.setState({ showSuccessPopup: false }); }}\r\n buttonPosition=\"center-button\">

    {this.state.successMessage}

    }\r\n\r\n {this.state.showSpinner && }\r\n
    \r\n );\r\n }\r\n}\r\nexport default AzureObjects;","import React from 'react';\r\nimport { Component } from 'react';\r\nimport \"./dia-request-additional-details.scss\"\r\nimport NextButton from \"../../../../components/button/nextbutton\";\r\nimport CustomButton from \"../../../../components/button/secondary-button\";\r\nimport * as Constant from \"../../../../components/constants/constant\";\r\nimport RichTextEditor from \"react-rte\";\r\nimport { toolbarConfig } from \"../../../../components/email-chip/react-rte-toolbar\";\r\nimport Modal from \"../../../../components/modals/modal\";\r\nimport { handleRichTextValidation } from \"../../../../components/validators/validate\";\r\nimport { postData } from \"../../../../api/api-manager\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport parse from 'html-react-parser';\r\n\r\nclass DiaRequestAdditionalDetails extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n data: {},\r\n isUserCanEdit: true,\r\n isEditable: false,\r\n imageModal: false,\r\n isEdit: false,\r\n sendIcon: false,\r\n savedRequestDetailsRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedBusinessResultRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedTargetAudienceRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedCandidateProjectRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedAdditionalNotesRichTextBody: RichTextEditor.createEmptyValue(),\r\n mailBody: RichTextEditor.createEmptyValue(),\r\n errorMessage: {}\r\n }\r\n }\r\n componentDidMount() {\r\n this.setIntialStates(this.props.AdditionalDetailsData);\r\n const { AdditionalDetailsData } = this.props;\r\n this.setData(AdditionalDetailsData);\r\n }\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.AdditionalDetailsData !== this.props.AdditionalDetailsData) {\r\n this.setIntialStates(this.props.AdditionalDetailsData);\r\n }\r\n }\r\n async setIntialStates(data) {\r\n await this.setState({\r\n savedRequestDetailsRichTextBody: RichTextEditor.createValueFromString(\r\n data && data.RequestDetails,\r\n \"html\"\r\n ),\r\n savedBusinessResultRichTextBody: RichTextEditor.createValueFromString(\r\n data && data.ExpectedBusinessResult,\r\n \"html\"\r\n ),\r\n savedTargetAudienceRichTextBody: RichTextEditor.createValueFromString(\r\n data && data.TargetAudience,\r\n \"html\"\r\n ),\r\n savedCandidateProjectRichTextBody:\r\n RichTextEditor.createValueFromString(\r\n data && data.CandidateProjectUsers,\r\n \"html\"\r\n ) || RichTextEditor.createEmptyValue(),\r\n savedAdditionalNotesRichTextBody:\r\n RichTextEditor.createValueFromString(\r\n data && data.AdditionalNotes,\r\n \"html\"\r\n ) || RichTextEditor.createEmptyValue(),\r\n isUserCanEdit: (this.props.internalRequestDetailsData && this.props.internalRequestDetailsData.isEditable) || false,\r\n fieldLabels: data && data.Labels,\r\n errorMessage: {},\r\n });\r\n }\r\n setData(details) {\r\n this.setState({\r\n savedRequestDetailsRichTextBody: RichTextEditor.createValueFromString(\r\n details.RequestDetails,\r\n \"html\"\r\n ),\r\n savedBusinessResultRichTextBody: RichTextEditor.createValueFromString(\r\n details.ExpectedBusinessResult,\r\n \"html\"\r\n ),\r\n savedTargetAudienceRichTextBody: RichTextEditor.createValueFromString(\r\n details.TargetAudience,\r\n \"html\"\r\n ),\r\n savedCandidateProjectRichTextBody: RichTextEditor.createValueFromString(\r\n details.CandidateProjectUsers,\r\n \"html\"\r\n ),\r\n savedAdditionalNotesRichTextBody: RichTextEditor.createValueFromString(\r\n details.AdditionalNotes,\r\n \"html\"\r\n ),\r\n errorMessage: {}\r\n })\r\n }\r\n enableUpdateButton() {\r\n if (this.props.AdditionalDetailsData) {\r\n const { AdditionalDetailsData } = this.props\r\n const isError = Object.values(this.state.errorMessage).filter(\r\n (item) => item !== \"\"\r\n );\r\n return ((\r\n (this.state.savedRequestDetailsRichTextBody.toString(\"html\") !== AdditionalDetailsData.RequestDetails) ||\r\n (this.state.savedBusinessResultRichTextBody.toString(\"html\") !== AdditionalDetailsData.ExpectedBusinessResult) ||\r\n (this.state.savedTargetAudienceRichTextBody.toString(\"html\") !== AdditionalDetailsData.TargetAudience) ||\r\n (this.state.savedCandidateProjectRichTextBody.toString(\"html\") !== AdditionalDetailsData.CandidateProjectUsers) ||\r\n (this.state.savedAdditionalNotesRichTextBody.toString(\"html\") !== AdditionalDetailsData.AdditionalNotes))\r\n && isError.length <= 0) ? true : false;\r\n } else return false;\r\n }\r\n async handleSubmit() {\r\n let data = {};\r\n data = {\r\n ...data,\r\n RequestNumber: this.props.internalRequestDetailsData.requestNumber\r\n }\r\n if (this.state.savedRequestDetailsRichTextBody.toString(\"html\") !== this.props.AdditionalDetailsData.RequestDetails) {\r\n data = {\r\n ...data,\r\n RequestDetails: this.state.savedRequestDetailsRichTextBody.toString(\"html\"),\r\n };\r\n }\r\n if (this.state.savedBusinessResultRichTextBody.toString(\"html\") !== this.props.AdditionalDetailsData.ExpectedBusinessResult) {\r\n data = { ...data, ExpectedBusinessResult: this.state.savedBusinessResultRichTextBody.toString(\"html\") };\r\n }\r\n if (this.state.savedTargetAudienceRichTextBody.toString(\"html\") !== this.props.AdditionalDetailsData.TargetAudience) {\r\n data = {\r\n ...data,\r\n TargetAudience: this.state.savedTargetAudienceRichTextBody.toString(\"html\"),\r\n };\r\n }\r\n if (this.state.savedCandidateProjectRichTextBody.toString(\"html\") !== this.props.AdditionalDetailsData.CandidateProjectUsers) {\r\n data = {\r\n ...data,\r\n CandidateProjectUsers: this.state.savedCandidateProjectRichTextBody.toString(\"html\"),\r\n };\r\n }\r\n if (this.state.savedAdditionalNotesRichTextBody.toString(\"html\") !== this.props.AdditionalDetailsData.AdditionalNotes) {\r\n data = {\r\n ...data,\r\n AdditionalNotes: this.state.savedAdditionalNotesRichTextBody.toString(\"html\"),\r\n };\r\n }\r\n\r\n let submitData = { additionalDetails: { ...data } };\r\n this.setState({ showSpinner: true, clickOnUpdate: true });\r\n const serviceName = `UpdateAdditionalDetails`;\r\n const response = await postData({\r\n serviceName: serviceName,\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n data: submitData,\r\n });\r\n const { success, error } = await response;\r\n if (success) {\r\n this.setState({ showSpinner: false, isEditable: false });\r\n await this.props.getAdditionDetails();\r\n } else {\r\n this.setState({ showSpinner: false, error: error, showErrorPopup: true });\r\n }\r\n }\r\n handleBack = async () => {\r\n this.props.locationDetails.history.push({\r\n pathname: \"/requests\",\r\n state: {\r\n isFromInternalRequest: true,\r\n filterValues: this.props.filterValues,\r\n serviceSelectedFilter: this.props.serviceSelectedFilter,\r\n expectedDateFilter: this.props.expectedDateFilter\r\n }\r\n })\r\n }\r\n handleImageModal(txt, actualName) {\r\n this.setState({\r\n imageModal: true,\r\n richTxt: txt,\r\n mailBody: this.state[txt],\r\n clickedActualRichTextName: actualName\r\n });\r\n }\r\n async onChangeRichtext({ name, value, actualName }) {\r\n await this.setState({ [name]: value })\r\n let actualValue = value.toString(\"html\").replace(/(<([^>]+)>)/gi, \"\");\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n await this.setState({\r\n [actualName]: actualValue\r\n }, () => {\r\n this.handleRichTextValidation(actualName, this.state)\r\n })\r\n }\r\n handleRichTextValidation(name) {\r\n const errorTxt = handleRichTextValidation(name, this.state)\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${name}Error`]: errorTxt,\r\n },\r\n });\r\n }\r\n handleButton(e) {\r\n e.preventDefault();\r\n if (this.state.isEditable) {\r\n const { AdditionalDetailsData } = this.props;\r\n this.setData(AdditionalDetailsData);\r\n }\r\n this.setState({ isEditable: !this.state.isEditable });\r\n }\r\n handleCloseEditor() {\r\n this.setState({\r\n imageModal: false\r\n });\r\n }\r\n handleSendIconModal() {\r\n this.setState({\r\n imageModal: false,\r\n sendIcon: true,\r\n });\r\n }\r\n handleSaveRichTxt() {\r\n let actualValue = this.state.mailBody.toString('html').replace(/(<([^>]+)>)/ig, '');\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n this.setState(\r\n {\r\n imageModal: false,\r\n [this.state.clickedActualRichTextName]: actualValue,\r\n [this.state.richTxt]: this.state.mailBody,\r\n sendIcon: false\r\n },\r\n () => {\r\n this.handleRichTextValidation(this.state.clickedActualRichTextName, this.state);\r\n }\r\n );\r\n }\r\n handleDontSaveRichTxt() {\r\n this.setState({\r\n imageModal: false,\r\n sendIcon: false,\r\n richTxt: \"\",\r\n });\r\n }\r\n handleCloseIcon() {\r\n this.setState({\r\n imageModal: true,\r\n sendIcon: false,\r\n });\r\n }\r\n onChange = (value, name) => {\r\n this.setState({\r\n [name]: value,\r\n mailBody: value,\r\n });\r\n };\r\n render() {\r\n const FieldLabels = this.state.fieldLabels ? this.state.fieldLabels : [];\r\n const {savedRequestDetailsRichTextBody,savedBusinessResultRichTextBody,savedTargetAudienceRichTextBody,savedAdditionalNotesRichTextBody,savedCandidateProjectRichTextBody} = this.state;\r\n const RequestDetailDIA = parse(savedRequestDetailsRichTextBody.toString(\"html\"));\r\n const BusinessResultRichTextBody = parse(savedBusinessResultRichTextBody.toString(\"html\"));\r\n const TargetAudienceRichTextBody = parse(savedTargetAudienceRichTextBody.toString(\"html\"));\r\n const AdditionalNotesRichTextBody = parse(savedAdditionalNotesRichTextBody.toString(\"html\"));\r\n const CandidateProjectRichTextBody = parse(savedCandidateProjectRichTextBody.toString(\"html\"));\r\n return (\r\n
    \r\n
    \r\n {FieldLabels.length > 0 && FieldLabels.map(form => {\r\n if (form.FormKey === \"RequestDetails\") {\r\n return
    \r\n {!!form ? form.FieldName : \"\"}\r\n {this.state.isEditable ? (\r\n \"edit-icon\" { this.handleImageModal(\"savedRequestDetailsRichTextBody\", \"RequestDetails\"); }} />\r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isEditable ? (\r\n
    \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"savedRequestDetailsRichTextBody\",\r\n actualName: \"RequestDetails\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n \r\n {this.state.errorMessage.RequestDetailsError}\r\n \r\n
    \r\n ) : (\r\n {RequestDetailDIA}
    \r\n )}\r\n
    \r\n }\r\n if (form.FormKey === \"ExpectedBusinessResult\") {\r\n return
    \r\n {!!form ? form.FieldName : \"\"}\r\n {this.state.isEditable ? (\r\n \"edit-icon\" { this.handleImageModal(\"savedBusinessResultRichTextBody\", \"ExpectedBusinessResult\"); }} />\r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isEditable ? (\r\n
    \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"savedBusinessResultRichTextBody\",\r\n actualName: \"ExpectedBusinessResult\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n \r\n {this.state.errorMessage.ExpectedBusinessResultError}\r\n \r\n
    \r\n ) : (\r\n {BusinessResultRichTextBody}
    \r\n )}\r\n
    \r\n }\r\n if (form.FormKey === \"TargetAudience\") {\r\n return
    \r\n {!!form ? form.FieldName : \"\"}\r\n {this.state.isEditable ? (\r\n \"edit-icon\" { this.handleImageModal(\"savedTargetAudienceRichTextBody\", \"TargetAudience\"); }} />\r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isEditable ? (\r\n
    \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"savedTargetAudienceRichTextBody\",\r\n actualName: \"TargetAudience\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n \r\n {this.state.errorMessage.TargetAudienceError}\r\n \r\n
    \r\n ) : (\r\n {TargetAudienceRichTextBody}
    \r\n )}\r\n \r\n }\r\n if (form.FormKey === \"CandidateProjectUsers\") {\r\n return
    \r\n {!!form ? form.FieldName : \"\"}\r\n {this.state.isEditable ? (\r\n \"edit-icon\" { this.handleImageModal(\"savedCandidateProjectRichTextBody\", \"CandidateProjectUsers\"); }} />\r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isEditable ? (\r\n
    \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"savedCandidateProjectRichTextBody\",\r\n actualName: \"CandidateProjectUsers\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n
    \r\n ) : (\r\n {CandidateProjectRichTextBody}
    \r\n )}\r\n \r\n }\r\n if (form.FormKey === \"AdditionalNotes\") {\r\n return
    \r\n {!!form ? form.FieldName : \"\"}\r\n {this.state.isEditable ? (\r\n \"edit-icon\" { this.handleImageModal(\"savedAdditionalNotesRichTextBody\", \"AdditionalNotes\"); }} />\r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isEditable ? (\r\n
    \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"savedAdditionalNotesRichTextBody\",\r\n actualName: \"AdditionalNotes\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n
    \r\n ) : (\r\n {AdditionalNotesRichTextBody}
    \r\n )}\r\n \r\n }\r\n return null;\r\n })}\r\n \r\n
    \r\n this.handleSubmit()}\r\n disabled={!this.enableUpdateButton()}\r\n />\r\n this.handleBack()} />\r\n {this.state.isUserCanEdit && (\r\n this.handleButton(e)}\r\n />\r\n )}\r\n
    \r\n {\r\n this.state.imageModal && (\r\n \r\n this.handleCloseEditor()}\r\n />\r\n \r\n this.handleSendIconModal()}\r\n />\r\n \r\n )\r\n }\r\n
    \r\n {this.state.sendIcon && (\r\n {\r\n this.handleSaveRichTxt();\r\n }}\r\n handleCancel={() => {\r\n this.handleDontSaveRichTxt();\r\n }}\r\n >\r\n

    Alert

    \r\n this.handleCloseIcon()}\r\n />\r\n \r\n )}\r\n
    \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default DiaRequestAdditionalDetails","import { validateWithPattern } from \"../../../../components/validators/validate\";\r\n\r\nexport const validateInput = (name, stateData) => {\r\n let errorTxt = \"\";\r\n if ((stateData[name] === null || stateData[name] === \"\" || stateData[name].length === 0)) {\r\n errorTxt = \"This field is required\"\r\n } else{\r\n const fields = [\"BudgetImpactSummary\"];\r\n if(fields.includes(name)){\r\n const isValid = validateFieldsByPattern(stateData[name]);\r\n errorTxt = handleRichTextValidation(name, stateData)\r\n if (!isValid) {\r\n errorTxt = `Invalid ${getName(name)}. symbols < > are not allowed.`\r\n }\r\n } else{\r\n errorTxt = handleRichTextValidation(name, stateData)\r\n }\r\n }\r\n\r\n return errorTxt;\r\n}\r\n\r\nexport const getName = (name) =>{\r\n let actualName = name\r\n if(name === \"StatementForChangeNeed\"){\r\n actualName = \"Statement of why we need the change\"\r\n }\r\n if(name === \"EffortImpactSummary\"){\r\n actualName = \"Summary of the effort impact\"\r\n }\r\n if(name === \"BudgetImpactSummary\"){\r\n actualName = \"Summary of the budget impact\"\r\n }\r\n\r\n return actualName;\r\n}\r\n\r\nexport const handleRichTextValidation = (name, stateData) => {\r\n let errorTxt = \"\";\r\n let actualName = getName(name);\r\n if ( name === \"StatementForChangeNeed\" || name === \"EffortImpactSummary\" || name === \"Recommendation\" ){\r\n if ((stateData[name].length < 20 && stateData[name].length > 0)) {\r\n errorTxt = `${actualName} should be at least 20 characters long.`\r\n } else if (stateData[name].length > 25000) {\r\n errorTxt = `${actualName} should not be more than 25000 characters long.`\r\n }\r\n } else if (name === \"BudgetImpactSummary\"){\r\n if ((stateData[name].length < 20 && stateData[name].length > 0)) {\r\n errorTxt = `${actualName} should be at least 20 characters long.`\r\n } else if (stateData[name].length > 2000) {\r\n errorTxt = `${actualName} should not be more than 2000 characters long.`\r\n }\r\n }\r\n \r\n return errorTxt;\r\n}\r\n\r\nexport const validateFieldsByPattern = (value) =>{\r\n let pattern = \"^[^\\\\<\\\\>]+$\";\r\n return validateWithPattern({ pattern, value })\r\n}\r\n\r\nexport const validateScopeChangeRequestAdditionalDetails = (formData) =>{\r\n let isError = false;\r\n let tempObj = {}\r\n\r\n const isStatementForChangeNeed = validateInput(\"StatementForChangeNeed\", formData);\r\n const isEffortImpactSummary = validateInput(\"EffortImpactSummary\", formData);\r\n const isBudgetImpactSummary = validateInput(\"BudgetImpactSummary\", formData);\r\n const isRecommendation = validateInput(\"Recommendation\", formData);\r\n\r\n if(isStatementForChangeNeed !== \"\" || isEffortImpactSummary !== \"\" || isRecommendation !== \"\" || isBudgetImpactSummary !== \"\"){\r\n isError = true;\r\n tempObj={\r\n ...tempObj,\r\n StatementForChangeNeedError: isStatementForChangeNeed,\r\n EffortImpactSummaryError: isEffortImpactSummary,\r\n BudgetImpactSummaryError: isBudgetImpactSummary,\r\n RecommendationError: isRecommendation,\r\n }\r\n }\r\n\r\n return {\r\n fieldError: tempObj,\r\n haveError: isError\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport RichTextEditor from \"react-rte\";\r\nimport \"./scope-change-request-additional-details.scss\";\r\nimport Modal from \"../../../../components/modals/modal\";\r\nimport { postData } from \"../../../../api/api-manager\";\r\nimport NextButton from \"../../../../components/button/nextbutton\";\r\nimport CustomButton from \"../../../../components/button/secondary-button\";\r\nimport * as Constant from \"../../../../components/constants/constant\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport { toolbarConfig } from \"../../../../components/email-chip/react-rte-toolbar\";\r\nimport Spinner from \"../../../../components/spinner/spinner\";\r\nimport { enableAddRowButton } from \"../../../../components/new-feature-table/new-feature-table-validation.js\"\r\nimport { validateInput, validateScopeChangeRequestAdditionalDetails } from \"./scope-change-request-additional-details-validate\"\r\nimport { CustomReactSelect, CustomInput, CustomTextArea } from \"../../../requests-grid/assignment/request-assignment-import\";\r\nimport NewFeatureTable from \"../../../../components/new-feature-table/new-feature-table.js\"\r\nimport ModifiedFeatureTable from \"../../../../components/modified-feature-table/modified-feature-table.js\";\r\nimport parse from 'html-react-parser';\r\n\r\nclass ScopeChangeRequestAdditionalDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: {},\r\n isUserCanEdit: true,\r\n isEditable: false,\r\n imageModal: false,\r\n isEdit: false,\r\n sendIcon: false,\r\n errorMessage: {},\r\n NewFeature: null,\r\n ModifiedFeature: null,\r\n displayModifyFeature: false,\r\n doesModifiedFeatureArrayNeedUpdation: false,\r\n doesNewFeatureArrayNeedUpdation: false,\r\n statementRichTextBody: RichTextEditor.createEmptyValue(),\r\n summaryEffortImpactRichTextBody: RichTextEditor.createEmptyValue(),\r\n recommendationRichTextBody: RichTextEditor.createEmptyValue(),\r\n isRedirectedFromScopeChangeRequest: false,\r\n newModifiedMandatoryError: '',\r\n requestNumber: (props.location && props.location.state && props.location.state.requestNumber) || \"\"\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.setIntialStates(this.props.AdditionalDetailsData);\r\n if (this.props.isRedirectedFromScopeChangeRequest) {\r\n this.setState({ isRedirectedFromScopeChangeRequest: this.props.isRedirectedFromScopeChangeRequest, })\r\n if (this.props.internalRequestDetailsData && this.props.internalRequestDetailsData.isEditable) {\r\n this.setState({ isEditable: this.props.internalRequestDetailsData.isEditable }, () => {\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n DecisionError: \"This is a required field\"\r\n }\r\n })\r\n this.setFocusOnDecision();\r\n });\r\n\r\n }\r\n }\r\n }\r\n setFocusOnDecision() {\r\n if (document.getElementById('scope-change-decision') !== null) {\r\n document.getElementById('scope-change-decision').focus();\r\n }\r\n }\r\n componentWillUnmount() {\r\n this.setIntialStates(this.props.AdditionalDetailsData);\r\n }\r\n setIntialStates = async (data) => {\r\n await this.setState({\r\n requestNumber: this.props.requestNumber,\r\n Labels: (data && data.Labels ? data.Labels : []),\r\n MarketUnit: (data && data.MarketUnit.length === 1 ? data.MarketUnit[0] : \"\"),\r\n MarketUnitDefault: (data && data.MarketUnit.length === 1 ? data.MarketUnit[0] : \"\"),\r\n ExternalRequestor: (data && data.ClientProjectExternalRequestor),\r\n StatementForChangeNeed: (data && data.StatementNeedToChange.toString('html').replace(/(<([^>]+)>)/ig, '')),\r\n EffortImpactSummary: (data && data.SummaryEffortImpact.toString('html').replace(/(<([^>]+)>)/ig, '')),\r\n BudgetImpactSummary: (data && data.SummaryBudgetImpact.toString('html').replace(/(<([^>]+)>)/ig, '')),\r\n Recommendation: (data && data.Recommendation.toString('html').replace(/(<([^>]+)>)/ig, '')),\r\n Decision: (data && data.Decision),\r\n statementRichTextBody: RichTextEditor.createValueFromString(\r\n data && data.StatementNeedToChange,\r\n \"html\"\r\n ),\r\n summaryEffortImpactRichTextBody: RichTextEditor.createValueFromString(\r\n data && data.SummaryEffortImpact,\r\n \"html\"\r\n ),\r\n recommendationRichTextBody: RichTextEditor.createValueFromString(\r\n data && data.Recommendation,\r\n \"html\"\r\n ),\r\n NewFeature: (data && data.NewFeatureDetails ? this.setNewFeatureData(data.NewFeatureDetails) : []),\r\n ModifiedFeature: (data && data.ModifiedFeature ? this.setModifiedData(data.ModifiedFeature) : []),\r\n MarketUnitOptions: (data && data.MarketGroupsList ? [...data.MarketGroupsList] : []),\r\n displayModifyFeature: (this.props.internalRequestDetailsData && this.props.internalRequestDetailsData.IsModifyFeature) || false,\r\n errorMessage: {},\r\n isUserCanEdit: (this.props.internalRequestDetailsData && this.props.internalRequestDetailsData.isEditable) || false,\r\n })\r\n }\r\n setNewFeatureData(newFeatureDetail) {\r\n if (newFeatureDetail.length > 0) {\r\n newFeatureDetail.forEach(initialData => {\r\n initialData[\"FeatureName\"] = initialData.featureName;\r\n initialData[\"Stream\"] = initialData.stream;\r\n initialData[\"Description\"] = initialData.description;\r\n initialData[\"AcceptanceCriteria\"] = initialData.acceptanceCriteria;\r\n initialData[\"DescriptionRichTextBody\"] = RichTextEditor.createValueFromString(\r\n initialData && initialData.Description,\r\n \"html\"\r\n ) || RichTextEditor.createEmptyValue()\r\n initialData[\"AcceptanceCriteriaRichTextBody\"] = RichTextEditor.createValueFromString(\r\n initialData && initialData.AcceptanceCriteria,\r\n \"html\"\r\n ) || RichTextEditor.createEmptyValue()\r\n initialData[\"EffortEstimation\"] = initialData.effortEstimation;\r\n initialData[\"ProposedStartingSprint\"] = initialData.proposedStartingSprint;\r\n initialData[\"ProposedEndingSprint\"] = initialData.proposedEndingSprint;\r\n initialData[\"errorMessage\"] = {}\r\n })\r\n }\r\n\r\n return newFeatureDetail;\r\n }\r\n setModifiedData(modifiedFeatureDetail) {\r\n if (modifiedFeatureDetail.length > 0) {\r\n modifiedFeatureDetail.forEach(initialData => {\r\n initialData[\"FeatureName\"] = initialData.featureName\r\n initialData[\"AzureID\"] = initialData.azureID\r\n initialData[\"ChangeDescription\"] = initialData.changeDescription\r\n initialData[\"ChangeDescriptionRichTextBody\"] = RichTextEditor.createValueFromString(\r\n initialData && initialData.ChangeDescription ? initialData.ChangeDescription : '',\r\n \"html\"\r\n )\r\n initialData[\"errorMessage\"] = {}\r\n })\r\n }\r\n\r\n return modifiedFeatureDetail;\r\n }\r\n async onChangeRichtext({ name, value, actualName }) {\r\n let actualValue = value.toString(\"html\").replace(/(<([^>]+)>)/gi, \"\");\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n await this.setState({\r\n [name]: value,\r\n [actualName]: actualValue\r\n }, () => {\r\n if (((actualName === \"StatementForChangeNeed\" || actualName === \"EffortImpactSummary\" || actualName === \"BudgetImpactSummary\" || actualName === \"Recommendation\") && actualValue.length > 0)) {\r\n this.handleValidation(actualName)\r\n }\r\n })\r\n }\r\n onChange = (value, name) => {\r\n this.setState({ [name]: value, mailBody: value });\r\n }\r\n handleInput(e) {\r\n let { name, value } = e.target;\r\n this.setState({\r\n [name]: value,\r\n },\r\n () => {\r\n if (name === \"BudgetImpactSummary\") {\r\n this.handleValidation(name);\r\n } else if (name === \"Decision\") {\r\n this.setState({ errorMessage: { ...this.state.errorMessage, DecisionError: \"\" } })\r\n }\r\n });\r\n\r\n }\r\n handleMarketUnitChange({ fieldName, data }) {\r\n this.setState({ [fieldName]: data.value, MarketUnit: data, MarketUnitDefault: data })\r\n }\r\n handleBack = async () => {\r\n this.props.locationDetails.history.push({\r\n pathname: \"/requests\",\r\n state: {\r\n isFromInternalRequest: true,\r\n filterValues: this.props.filterValues,\r\n serviceSelectedFilter: this.props.serviceSelectedFilter,\r\n expectedDateFilter: this.props.expectedDateFilter\r\n }\r\n })\r\n }\r\n handleButton(e) {\r\n e.preventDefault();\r\n if (this.state.isEditable) {\r\n const { AdditionalDetailsData } = this.props\r\n this.setIntialStates(AdditionalDetailsData)\r\n this.setState({ doesModifiedFeatureArrayNeedUpdation: true, doesNewFeatureArrayNeedUpdation: true, newModifiedMandatoryError: '', errorMessage: {} })\r\n }\r\n this.setState({ isEditable: !this.state.isEditable })\r\n }\r\n isNewFeatureUpdated() {\r\n const { AdditionalDetailsData } = this.props\r\n let oldData = Object.assign([], AdditionalDetailsData.NewFeatureDetails);\r\n let newData = Object.assign([], this.state.NewFeature);\r\n\r\n if (newData.length > 0) {\r\n if (newData.length !== oldData.length) {\r\n let fieldList = [\"FeatureName\", \"Stream\", \"Description\", \"AcceptanceCriteria\", \"EffortEstimation\", \"ProposedStartingSprint\", \"ProposedEndingSprint\"]\r\n return (enableAddRowButton(newData, fieldList))\r\n\r\n } else if (newData.length === 1 && newData.length === oldData.length) {\r\n let currentObj = newData[0];\r\n const isError = Object.values(currentObj.errorMessage).filter(\r\n (item) => item !== \"\"\r\n );\r\n\r\n return (currentObj.FeatureName !== currentObj.featureName ||\r\n currentObj.Stream !== currentObj.stream ||\r\n currentObj.Description !== currentObj.description ||\r\n currentObj.AcceptanceCriteria !== currentObj.acceptanceCriteria ||\r\n currentObj.EffortEstimation !== currentObj.effortEstimation ||\r\n currentObj.ProposedStartingSprint !== currentObj.proposedStartingSprint ||\r\n currentObj.ProposedEndingSprint !== currentObj.proposedEndingSprint) && isError.length <= 0 ? true : false\r\n } else if (newData.length > 1 && newData.length === oldData.length) {\r\n return this.hasNewFeatureBeenUpdated();\r\n }\r\n }\r\n else if (newData.length === 0 && newData.length !== oldData.length && AdditionalDetailsData.ModifiedFeature.length > 0) {\r\n return true\r\n }\r\n }\r\n hasNewFeatureBeenUpdated() {\r\n let newData = Object.assign([], this.state.NewFeature);\r\n var isError = false;\r\n var recordUpdateCount = 0;\r\n if (newData.length > 0) {\r\n newData.forEach(currentObj => {\r\n isError = Object.values(currentObj.errorMessage).filter(\r\n (item) => item !== \"\"\r\n );\r\n\r\n if ((currentObj.FeatureName !== currentObj.featureName ||\r\n currentObj.Stream !== currentObj.stream ||\r\n currentObj.Description !== currentObj.description ||\r\n currentObj.AcceptanceCriteria !== currentObj.acceptanceCriteria ||\r\n currentObj.EffortEstimation !== currentObj.effortEstimation ||\r\n currentObj.ProposedStartingSprint !== currentObj.proposedStartingSprint ||\r\n currentObj.ProposedEndingSprint !== currentObj.proposedEndingSprint) && isError.length <= 0) {\r\n recordUpdateCount += 1;\r\n }\r\n });\r\n }\r\n\r\n return recordUpdateCount > 0 ? true : false;\r\n }\r\n doesNewFeatureHasError() {\r\n let newData = Object.assign([], this.state.NewFeature);\r\n var isError = false;\r\n var recordErrorCount = 0;\r\n if (newData.length > 0) {\r\n newData.forEach(currentObj => {\r\n isError = Object.values(currentObj.errorMessage).filter(\r\n (item) => item !== \"\"\r\n );\r\n\r\n if (currentObj.FeatureName === \"\" ||\r\n currentObj.Stream === \"\" ||\r\n currentObj.Description === \"\" ||\r\n currentObj.AcceptanceCriteria === \"\" ||\r\n currentObj.EffortEstimation === \"\" ||\r\n currentObj.ProposedStartingSprint === \"\" ||\r\n currentObj.ProposedEndingSprint === \"\") {\r\n recordErrorCount += 1;\r\n }\r\n\r\n if (isError.length > 0) {\r\n recordErrorCount += 1;\r\n }\r\n });\r\n }\r\n return recordErrorCount;\r\n }\r\n isModifiedFeatureUpdated() {\r\n const { AdditionalDetailsData } = this.props\r\n let oldData = Object.assign([], AdditionalDetailsData.ModifiedFeature);\r\n let newData = Object.assign([], this.state.ModifiedFeature);\r\n if (newData.length > 0) {\r\n if (newData.length !== oldData.length) {\r\n let fieldList = [\"FeatureName\", \"AzureID\", \"ChangeDescription\"]\r\n return enableAddRowButton(newData, fieldList);\r\n } else if (newData.length === 1 && newData.length === oldData.length) {\r\n let currentObj = newData[0];\r\n\r\n const isError = Object.values(currentObj.errorMessage).filter(\r\n (item) => item !== \"\"\r\n );\r\n\r\n return (currentObj.FeatureName !== currentObj.featureName ||\r\n currentObj.AzureID !== currentObj.azureID ||\r\n currentObj.ChangeDescriptionRichTextBody.toString(\"html\") !== currentObj.changeDescription) && isError.length <= 0 ? true : false\r\n } else if (newData.length > 1 && newData.length === oldData.length) {\r\n return this.hasModifiedFeatureBeenUpdated();\r\n }\r\n } else if (newData.length === 0 && newData.length !== oldData.length && AdditionalDetailsData.NewFeatureDetails.length > 0) {\r\n return true\r\n }\r\n }\r\n hasModifiedFeatureBeenUpdated() {\r\n let newData = Object.assign([], this.state.ModifiedFeature);\r\n var isError = '';\r\n var recordUpdateCount = 0;\r\n if (newData.length > 0) {\r\n newData.forEach(currentObj => {\r\n isError = Object.values(currentObj.errorMessage).filter(\r\n (item) => item !== \"\"\r\n );\r\n\r\n if ((currentObj.FeatureName !== currentObj.featureName ||\r\n currentObj.AzureID !== currentObj.azureID ||\r\n currentObj.ChangeDescriptionRichTextBody.toString(\"html\") !== currentObj.changeDescription) && isError.length <= 0) {\r\n recordUpdateCount += 1;\r\n }\r\n });\r\n }\r\n\r\n return recordUpdateCount > 0 ? true : false;\r\n }\r\n doesModifiedFeatureHasError() {\r\n let newData = Object.assign([], this.state.ModifiedFeature);\r\n var isError = false;\r\n var recordErrorCount = 0;\r\n if (newData.length > 0) {\r\n newData.forEach(currentObj => {\r\n isError = Object.values(currentObj.errorMessage).filter(\r\n (item) => item !== \"\"\r\n );\r\n\r\n if (isError.length > 0) {\r\n recordErrorCount += 1;\r\n }\r\n\r\n if (currentObj.FeatureName === \"\" ||\r\n currentObj.AzureID === \"\" ||\r\n currentObj.ChangeDescriptionRichTextBody.toString('html').replace(/(<([^>]+)>)/ig, '') === \"\") {\r\n recordErrorCount += 1;\r\n }\r\n });\r\n }\r\n return recordErrorCount;\r\n }\r\n enableUpdateButton() {\r\n if (this.props.AdditionalDetailsData) {\r\n const { AdditionalDetailsData } = this.props\r\n const isError = Object.values(this.state.errorMessage).filter(\r\n (item) => item !== \"\"\r\n );\r\n\r\n return ((\r\n ((this.state.MarketUnitDefault !== \"\" || this.state.MarketUnitDefault.length !== 0) && JSON.stringify([this.state.MarketUnitDefault]) !== JSON.stringify(AdditionalDetailsData.MarketUnit)) ||\r\n (this.state.ExternalRequestor !== AdditionalDetailsData.ClientProjectExternalRequestor) ||\r\n (this.state.statementRichTextBody.toString(\"html\") !== AdditionalDetailsData.StatementNeedToChange) ||\r\n (this.state.summaryEffortImpactRichTextBody.toString(\"html\") !== AdditionalDetailsData.SummaryEffortImpact) ||\r\n (this.state.BudgetImpactSummary !== AdditionalDetailsData.SummaryBudgetImpact) ||\r\n (this.state.recommendationRichTextBody.toString(\"html\") !== AdditionalDetailsData.Recommendation) ||\r\n ([\"Resolved\", \"Closed\"].includes(this.props.internalRequestDetailsData.status) ? (this.state.Decision !== AdditionalDetailsData.Decision && this.state.Decision !== \"\") : (this.state.Decision !== AdditionalDetailsData.Decision)) ||\r\n this.isNewFeatureUpdated() || this.isModifiedFeatureUpdated())\r\n && ((this.state.NewFeature !== null && this.state.NewFeature.length > 0 && this.doesNewFeatureHasError() <= 0) || (this.state.ModifiedFeature !== null && this.state.ModifiedFeature.length > 0 && this.state.displayModifyFeature && this.doesModifiedFeatureHasError() <= 0))\r\n && (this.state.StatementForChangeNeed !== \"\" && this.state.BudgetImpactSummary !== \"\" && this.state.EffortImpactSummary !== \"\")\r\n && isError.length <= 0 && this.doesNewFeatureHasError() <= 0 && this.doesModifiedFeatureHasError() <= 0) ? true : false;\r\n } else return false;\r\n }\r\n handleCloseEditor() {\r\n this.setState({ imageModal: false });\r\n }\r\n handleSendIconModal() {\r\n this.setState({ imageModal: false, sendIcon: true });\r\n }\r\n handleSaveRichTxt() {\r\n let actualValue = this.state.mailBody.toString('html').replace(/(<([^>]+)>)/ig, '');\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n this.setState(\r\n {\r\n imageModal: false, [this.state.clickedActualRichTextName]: actualValue, [this.state.richTxt]: this.state.mailBody, sendIcon: false\r\n },\r\n () => {\r\n if (actualValue.length > 0) {\r\n this.handleValidation(this.state.clickedActualRichTextName);\r\n }\r\n }\r\n );\r\n }\r\n handleDontSaveRichTxt() {\r\n this.setState({ imageModal: false, sendIcon: false, richTxt: \"\" });\r\n }\r\n handleCloseIcon() {\r\n this.setState({ imageModal: true, sendIcon: false });\r\n }\r\n handleImageModal(txt, actualName) {\r\n this.setState({ imageModal: true, richTxt: txt, mailBody: this.state[txt], clickedActualRichTextName: actualName });\r\n }\r\n handleValidation(name) {\r\n const errorTxt = validateInput(name, this.state)\r\n this.setState({ errorMessage: { ...this.state.errorMessage, [`${name}Error`]: errorTxt } });\r\n }\r\n updateNewFeatureDetails = async (newFeatureDetails) => {\r\n let newFeatureDetailsCopy = [...newFeatureDetails];\r\n newFeatureDetailsCopy.forEach(record => {\r\n record[\"AcceptanceCriteria\"] = record.AcceptanceCriteriaRichTextBody.toString('html');\r\n record[\"Description\"] = record.DescriptionRichTextBody.toString('html');\r\n })\r\n await this.setState({ NewFeature: [...newFeatureDetailsCopy], doesModifiedFeatureArrayNeedUpdation: false })\r\n }\r\n updateModifiedFeatureDetails = async (ModifiedFeatureDetails) => {\r\n let modifiedFeatureDetailsCopy = [...ModifiedFeatureDetails];\r\n modifiedFeatureDetailsCopy.forEach(record => {\r\n record[\"ChangeDescription\"] = record.ChangeDescriptionRichTextBody.toString('html');\r\n })\r\n await this.setState({ ModifiedFeature: [...modifiedFeatureDetailsCopy], doesModifiedFeatureArrayNeedUpdation: false })\r\n }\r\n setNewFeatureUpdationFlag = (flag) => {\r\n this.setState({ doesNewFeatureArrayNeedUpdation: flag })\r\n }\r\n setModifiedFeatureUpdationFlag = (flag) => {\r\n this.setState({ doesModifiedFeatureArrayNeedUpdation: flag })\r\n }\r\n setnewModifiedMandatoryError = (error) => {\r\n this.setState({ newModifiedMandatoryError: error })\r\n }\r\n validatefieldsBeforeSubmit() {\r\n const { fieldError, haveError } = validateScopeChangeRequestAdditionalDetails(this.state);\r\n this.setState({ errorMessage: fieldError })\r\n if (!haveError) {\r\n this.handleSubmit();\r\n }\r\n }\r\n async handleSubmit() {\r\n let data = {};\r\n const { AdditionalDetailsData } = this.props\r\n\r\n data = {\r\n ...data,\r\n RequestNumber: this.props.internalRequestDetailsData.requestNumber,\r\n }\r\n\r\n if ((this.state.MarketUnitDefault !== \"\" || this.state.MarketUnitDefault.length !== 0) && JSON.stringify([this.state.MarketUnitDefault]) !== JSON.stringify(AdditionalDetailsData.MarketUnit)) {\r\n data = {\r\n ...data,\r\n MarketUnit: this.state.MarketUnitDefault && this.state.MarketUnitDefault.value ? this.state.MarketUnitDefault.value : \"\",\r\n }\r\n }\r\n\r\n if (this.state.ExternalRequestor !== AdditionalDetailsData.ClientProjectExternalRequestor) {\r\n data = {\r\n ...data,\r\n ClientProjectExternalRequestor: this.state.ExternalRequestor,\r\n }\r\n }\r\n if (this.state.statementRichTextBody.toString(\"html\") !== AdditionalDetailsData.StatementNeedToChange) {\r\n data = {\r\n ...data,\r\n StatementNeedToChange: this.state.statementRichTextBody.toString(\"html\"),\r\n }\r\n }\r\n if (this.state.summaryEffortImpactRichTextBody.toString(\"html\") !== AdditionalDetailsData.SummaryEffortImpact) {\r\n data = {\r\n ...data,\r\n SummaryEffortImpact: this.state.summaryEffortImpactRichTextBody.toString(\"html\"),\r\n }\r\n }\r\n if (this.state.BudgetImpactSummary !== AdditionalDetailsData.SummaryBudgetImpact) {\r\n data = {\r\n ...data,\r\n SummaryBudgetImpact: this.state.BudgetImpactSummary,\r\n }\r\n }\r\n if (this.state.recommendationRichTextBody.toString(\"html\") !== AdditionalDetailsData.Recommendation) {\r\n data = {\r\n ...data,\r\n Recommendation: this.state.recommendationRichTextBody.toString(\"html\"),\r\n }\r\n }\r\n if (this.state.Decision !== AdditionalDetailsData.Decision) {\r\n data = {\r\n ...data,\r\n Decision: this.state.Decision,\r\n }\r\n }\r\n if (this.isNewFeatureUpdated()) {\r\n let NewFeatureData = this.state.NewFeature.reduce((acc, el) => {\r\n let finalObj = {\r\n FeatureName: el.FeatureName,\r\n Stream: el.Stream,\r\n Description: el.DescriptionRichTextBody.toString(\"html\"),\r\n AcceptanceCriteria: el.AcceptanceCriteriaRichTextBody.toString(\"html\"),\r\n EffortEstimation: el.EffortEstimation,\r\n ProposedStartingSprint: el.ProposedStartingSprint,\r\n ProposedEndingSprint: el.ProposedEndingSprint\r\n }\r\n return [...acc, finalObj]\r\n }, [])\r\n\r\n data = {\r\n ...data,\r\n NewFeature: NewFeatureData,\r\n }\r\n }\r\n\r\n if (this.isModifiedFeatureUpdated()) {\r\n let ModifiedFeatureData = this.state.ModifiedFeature.reduce((acc, el) => {\r\n let finalObj = {\r\n FeatureName: el.FeatureName,\r\n ChangeDescription: el.ChangeDescriptionRichTextBody.toString(\"html\"),\r\n AzureID: el.AzureID\r\n }\r\n return [...acc, finalObj]\r\n }, [])\r\n\r\n data = {\r\n ...data,\r\n ModifiedFeature: ModifiedFeatureData\r\n }\r\n }\r\n\r\n let submitData = { additionalDetails: { ...data } };\r\n this.setState({ showSpinner: true, clickOnUpdate: true });\r\n const serviceName = `UpdateAdditionalDetails`;\r\n const response = await postData({\r\n serviceName: serviceName,\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n data: submitData,\r\n });\r\n const { success, error } = await response;\r\n if (success) {\r\n if (this.state.NewFeature.length > 0 && this.isNewFeatureUpdated()) {\r\n this.state.NewFeature.forEach(initialData => {\r\n initialData[\"featureName\"] = initialData.FeatureName;\r\n initialData[\"stream\"] = initialData.Stream;\r\n initialData[\"description\"] = initialData.Description;\r\n initialData[\"acceptanceCriteria\"] = initialData.AcceptanceCriteria;\r\n initialData[\"effortEstimation\"] = initialData.EffortEstimation;\r\n initialData[\"proposedStartingSprint\"] = initialData.ProposedStartingSprint;\r\n initialData[\"proposedEndingSprint\"] = initialData.ProposedEndingSprint;\r\n initialData[\"errorMessage\"] = {}\r\n })\r\n\r\n this.setState({ doesNewFeatureArrayNeedUpdation: true })\r\n }\r\n\r\n if (this.state.ModifiedFeature.length > 0 && this.isModifiedFeatureUpdated()) {\r\n this.state.ModifiedFeature.forEach(initialData => {\r\n initialData[\"featureName\"] = initialData.FeatureName;\r\n initialData[\"azureID\"] = initialData.AzureID;\r\n initialData[\"changeDescription\"] = initialData.ChangeDescription;\r\n initialData[\"errorMessage\"] = {}\r\n })\r\n\r\n this.setState({ doesModifiedFeatureArrayNeedUpdation: true })\r\n }\r\n\r\n if (this.state.isRedirectedFromScopeChangeRequest) {\r\n this.setState({ isRedirectedFromScopeChangeRequest: false })\r\n this.props.setRedirectionFlag();\r\n }\r\n\r\n this.setState({ showSpinner: false, isEditable: false });\r\n await this.props.getAdditionDetails();\r\n } else {\r\n this.setState({ showSpinner: false, error: error, showErrorPopup: true });\r\n }\r\n }\r\n render() {\r\n const formLabels = this.state.Labels;\r\n const {statementRichTextBody,summaryEffortImpactRichTextBody,recommendationRichTextBody} = this.state;\r\n const statementTextBody = parse(statementRichTextBody.toString(\"html\"))\r\n const summaryEffortImpactTextBody = parse(summaryEffortImpactRichTextBody.toString(\"html\"))\r\n const recommendationTextBody = parse(recommendationRichTextBody.toString(\"html\"))\r\n return (\r\n
    \r\n
    \r\n {formLabels && formLabels.length > 0 && formLabels.map((form) => {\r\n if (form.Formkey === \"MarketUnit\") {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {!this.state.isEditable ? (\r\n {this.state.MarketUnit && this.state.MarketUnit.label ? this.state.MarketUnit.label : \"\"}\r\n ) : (\"\")}\r\n
    \r\n
    \r\n
    \r\n {this.state.isEditable ? (\r\n
    \r\n { this.handleMarketUnitChange({ fieldName: \"marketUnit\", data: selectedData }) }}\r\n className=\"custom-select-look\"\r\n />\r\n
    ) : (\"\")}\r\n
    \r\n )\r\n }\r\n\r\n if (form.Formkey === \"ExternalRequestor\") {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {!this.state.isEditable ? (\r\n {this.state.ExternalRequestor}\r\n ) : (\"\")}\r\n
    \r\n
    \r\n
    \r\n {this.state.isEditable ? (\r\n
    \r\n this.handleInput(e)}\r\n value={this.state.ExternalRequestor}\r\n />\r\n {this.state.errorMessage.ExternalRequestorError && (\r\n

    \r\n {this.state.errorMessage.ExternalRequestorError}\r\n

    \r\n )}\r\n
    ) : (\"\")}\r\n
    \r\n )\r\n }\r\n\r\n if (form.Formkey === \"StatementForChangeNeed\") {\r\n return (\r\n
    \r\n \r\n {this.state.isEditable ? (\r\n \"edit-icon\" { this.handleImageModal(\"statementRichTextBody\", \"StatementForChangeNeed\"); }} />\r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isEditable ? (\r\n
    \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"statementRichTextBody\",\r\n actualName: \"StatementForChangeNeed\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n \r\n {this.state.errorMessage.StatementForChangeNeedError}\r\n \r\n
    \r\n ) : (\r\n this.state.StatementForChangeNeed !== \"\" ? {statementTextBody}
    : \"\"\r\n )}\r\n
    \r\n )\r\n }\r\n\r\n if (form.Formkey === \"EffortImpactSummary\") {\r\n return (\r\n
    \r\n \r\n {this.state.isEditable ? (\r\n \"edit-icon\" { this.handleImageModal(\"summaryEffortImpactRichTextBody\", \"EffortImpactSummary\"); }} />\r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isEditable ? (\r\n
    \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"summaryEffortImpactRichTextBody\",\r\n actualName: \"EffortImpactSummary\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n \r\n {this.state.errorMessage.EffortImpactSummaryError}\r\n \r\n
    \r\n ) : (\r\n this.state.EffortImpactSummary !== \"\" ? {summaryEffortImpactTextBody}
    : \"\"\r\n )}\r\n
    \r\n )\r\n }\r\n\r\n if (form.Formkey === \"BudgetImpactSummary\") {\r\n return (\r\n
    \r\n \r\n {this.state.isEditable ? (\r\n
    \r\n
    \r\n this.handleInput(e)} />\r\n
    \r\n {this.state.errorMessage && this.state.errorMessage.BudgetImpactSummaryError ?\r\n \r\n {this.state.errorMessage.BudgetImpactSummaryError}\r\n : \"\"}\r\n
    \r\n ) : (
    {this.state.BudgetImpactSummary}
    )\r\n }\r\n
    \r\n )\r\n }\r\n\r\n if (form.Formkey === \"NewFeature\" && this.state.NewFeature !== null && this.props.AdditionalDetailsData && this.props.AdditionalDetailsData.NewFeatureDetails.length > 0) {\r\n return (\r\n
    \r\n \r\n 0 ? this.state.NewFeature : []}\r\n modifiedFeaturesDetails={this.state.ModifiedFeature && this.state.ModifiedFeature.length > 0 ? this.state.ModifiedFeature : []}\r\n additionalDetails={this.props.AdditionalDetailsData && this.props.AdditionalDetailsData.ModifiedFeature ? this.props.AdditionalDetailsData.ModifiedFeature : []}\r\n updateNewFeatureDetails={(newFeatureDetails) => this.updateNewFeatureDetails(newFeatureDetails)}\r\n setNewFeatureUpdationFlag={(flag) => this.setNewFeatureUpdationFlag(flag)}\r\n setnewModifiedMandatoryError={(error) => { this.setnewModifiedMandatoryError(error) }}\r\n doesNewFeatureArrayNeedUpdation={this.state.doesNewFeatureArrayNeedUpdation}\r\n formName=\"ScopeChangeRequestAdditionalDetails\"\r\n />\r\n
    \r\n )\r\n }\r\n //not to display use this.state.displayModifyFeature\r\n if (form.Formkey === \"ModifiedFeature\" && this.state.ModifiedFeature !== null && this.props.AdditionalDetailsData && this.props.AdditionalDetailsData.ModifiedFeature.length > 0) {\r\n return (\r\n
    \r\n \r\n 0 ? this.state.NewFeature : []}\r\n modifiedFeaturesDetails={this.state.ModifiedFeature && this.state.ModifiedFeature.length > 0 ? this.state.ModifiedFeature : []}\r\n additionalDetails={this.props.AdditionalDetailsData && this.props.AdditionalDetailsData.NewFeatureDetails ? this.props.AdditionalDetailsData.NewFeatureDetails : []}\r\n updateModifiedFeatureDetails={(modifiedDetails) => this.updateModifiedFeatureDetails(modifiedDetails)}\r\n setModifiedFeatureUpdationFlag={(flag) => this.setModifiedFeatureUpdationFlag(flag)}\r\n doesFeatureArrayNeedUpdation={this.state.doesModifiedFeatureArrayNeedUpdation}\r\n setnewModifiedMandatoryError={(error) => { this.setnewModifiedMandatoryError(error) }}\r\n formName=\"ScopeChangeRequestAdditionalDetails\"\r\n />\r\n
    \r\n )\r\n }\r\n\r\n if (form.Formkey === \"Recommendation\" && this.state.NewFeature !== null && this.state.NewFeature.length === 0 && this.state.ModifiedFeature !== null && this.state.ModifiedFeature.length === 0) {\r\n return (
    {this.state.newModifiedMandatoryError}
    )\r\n }\r\n\r\n if (form.Formkey === \"Recommendation\") {\r\n return (\r\n
    \r\n \r\n {this.state.isEditable ? (\r\n \"edit-icon\" { this.handleImageModal(\"recommendationRichTextBody\", \"Recommendation\"); }} />\r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isEditable ? (\r\n
    \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"recommendationRichTextBody\",\r\n actualName: \"Recommendation\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n \r\n {this.state.errorMessage.RecommendationError}\r\n \r\n
    \r\n ) : (\r\n this.state.Recommendation !== \"\" ? {recommendationTextBody}
    : \"\"\r\n )}\r\n \r\n )\r\n }\r\n\r\n if (form.FieldName === \"Decision\") {\r\n return (\r\n
    \r\n \r\n {this.state.isEditable ? (\r\n
    \r\n
    \r\n this.handleInput(e)} />\r\n
    \r\n {this.state.errorMessage && this.state.errorMessage.DecisionError ?\r\n \r\n {this.state.errorMessage.DecisionError}\r\n : \"\"}\r\n
    \r\n ) : (
    {this.state.Decision ? this.state.Decision : \"-\"}
    )\r\n }\r\n
    \r\n )\r\n }\r\n return null;\r\n })}\r\n\r\n \r\n
    \r\n this.validatefieldsBeforeSubmit()}\r\n disabled={!this.enableUpdateButton()}\r\n />\r\n this.handleBack()} />\r\n {this.state.isUserCanEdit && (\r\n this.handleButton(e)}\r\n />\r\n )}\r\n
    \r\n\r\n {\r\n this.state.imageModal && (\r\n \r\n this.handleCloseEditor()}\r\n />\r\n \r\n this.handleSendIconModal()}\r\n />\r\n \r\n )\r\n }\r\n\r\n
    \r\n {this.state.sendIcon && (\r\n {\r\n this.handleSaveRichTxt();\r\n }}\r\n handleCancel={() => {\r\n this.handleDontSaveRichTxt();\r\n }}\r\n >\r\n

    Alert

    \r\n this.handleCloseIcon()}\r\n />\r\n \r\n )}\r\n
    \r\n {\r\n this.state.error && (\r\n {\r\n this.setState({ showErrorPopup: false });\r\n }}\r\n buttonPosition=\"center-button\"\r\n >\r\n

    {this.state.error}

    \r\n \r\n )\r\n }\r\n {this.state.showSpinner && }\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default ScopeChangeRequestAdditionalDetails\r\n","import React from 'react';\r\nimport { Component } from 'react';\r\nimport \"./accelerator-request-additional-details.scss\";\r\nimport NextButton from \"../../../../components/button/nextbutton\";\r\nimport CustomButton from \"../../../../components/button/secondary-button\";\r\nimport * as Constant from \"../../../../components/constants/constant\";\r\nimport RichTextEditor from \"react-rte\";\r\nimport { toolbarConfig } from \"../../../../components/email-chip/react-rte-toolbar\";\r\nimport Modal from \"../../../../components/modals/modal\";\r\nimport { handleRichTextValidation } from \"../../../../components/validators/validate\";\r\nimport { postData } from \"../../../../api/api-manager\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport { CustomSelect, CustomInput } from \"../../../requests-grid/assignment/request-assignment-import\";\r\nimport Links from './links';\r\nimport MultiSelectCheckbox from \"../../../../components/custom-select/MultiSelectCheckbox\";\r\nimport Popup from \"../../../../components/popup/popup\";\r\nimport OutsideClickAlerter from \"../../../../components/outside-click-alerter/outside-click-alerter\";\r\nimport { validateSupportFields, validateUrl } from \"../../../../components/validators/validate\";\r\nimport SecondaryButton from '../../../../components/button/secondary-button';\r\nimport parse from 'html-react-parser';\r\n\r\nclass AcceleratorRequestAdditionalDetails extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n Phase: \"\",\r\n PhaseList: [{}],\r\n IndustryList: [],\r\n FunctionalAreaList: [],\r\n ServiceOfferingsList: [],\r\n SelectedIndustryList: [],\r\n SelectedFunctionalAreaList: [],\r\n SelectedServiceOfferingsList: [],\r\n AcceleratorApplicableID: \"\",\r\n ApplicableAcceleratorList: [],\r\n ShowLinks: [{ Name: \"\", HyperLink: \"\" }],\r\n ExploreLinks: [{ Name: \"\", HyperLink: \"\" }],\r\n isEditable: false,\r\n imageModal: false,\r\n isEdit: false,\r\n sendIcon: false,\r\n savedWhatIsItRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedWhatValueDoesItBringRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedHowToMobilizeAndUseItRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedCommentsRichTextBody: RichTextEditor.createEmptyValue(),\r\n mailBody: RichTextEditor.createEmptyValue(),\r\n errorMessage: {}\r\n }\r\n this.handleInput = this.handleInput.bind(this)\r\n }\r\n\r\n\r\n componentDidMount() {\r\n const { AdditionalDetailsData } = this.props;\r\n this.setIntialStates(AdditionalDetailsData);\r\n this.setData(AdditionalDetailsData);\r\n }\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.AdditionalDetailsData !== this.props.AdditionalDetailsData) {\r\n const { AdditionalDetailsData } = this.props;\r\n this.setIntialStates(AdditionalDetailsData);\r\n }\r\n }\r\n async setIntialStates(data) {\r\n const { AdditionalDetailsDataLinks } = this.props;\r\n this.setState({\r\n requestNumber: this.props.requestNumber,\r\n Phase: (data && data.Phase) ? (data && data.Phase) : \"\",\r\n PhaseList: (data && data.PhaseList) || \"\",\r\n CuratorEID: (data && data.CuratorEID) ? (data && data.CuratorEID) : \"\",\r\n Level1: (data && data.Level1) ? (data && data.Level1) : \"\",\r\n Level2: (data && data.Level2) ? (data && data.Level2) : \"\",\r\n IndustryList: (data && data.IndustryList) || \"\",\r\n SelectedIndustryList: (data && data.SelectedIndustryList) ? (data && data.SelectedIndustryList) : \"\",\r\n FunctionalAreaList: (data && data.FunctionalAreaList) || \"\",\r\n SelectedFunctionalAreaList: (data && data.SelectedFunctionalAreaList) ? (data && data.SelectedFunctionalAreaList) : \"\",\r\n ServiceOfferingsList: (data && data.ServiceOfferingList) || \"\",\r\n SelectedServiceOfferingsList: (data && data.SelectedServiceOfferingsList) ? (data && data.SelectedServiceOfferingsList) : \"\",\r\n AcceleratorApplicableID: (data && data.AcceleratorApplicableID) ? (data && data.AcceleratorApplicableID) : \"\",\r\n ApplicableAcceleratorList: (data && data.ApplicableAcceleratorList) || \"\",\r\n ShowLinks: AdditionalDetailsDataLinks.ShowLinks,\r\n ExploreLinks: AdditionalDetailsDataLinks.ExploreLinks,\r\n savedWhatIsItRichTextBody: RichTextEditor.createValueFromString(\r\n data && data.WhatIsIt,\r\n \"html\"\r\n ),\r\n savedWhatValueDoesItBringRichTextBody: RichTextEditor.createValueFromString(\r\n data && data.WhatValueDoesItBring,\r\n \"html\"\r\n ),\r\n savedHowToMobilizeAndUseItRichTextBody: RichTextEditor.createValueFromString(\r\n data && data.Mobilized,\r\n \"html\"\r\n ) || RichTextEditor.createEmptyValue(),\r\n savedCommentsRichTextBody: RichTextEditor.createValueFromString(\r\n data && data.Comments,\r\n \"html\"\r\n ) || RichTextEditor.createEmptyValue(),\r\n isUserCanEdit: (this.props.internalRequestDetailsData && this.props.internalRequestDetailsData.isEditable) || false,\r\n errorMessage: {},\r\n });\r\n }\r\n\r\n getId = (name, statusList) => {\r\n let filtered = [];\r\n filtered =\r\n statusList &&\r\n statusList.filter(function ({ Name }) {\r\n return Name === name;\r\n });\r\n if (filtered && filtered.length > 0) {\r\n return filtered[0].ID;\r\n }\r\n return \"\";\r\n };\r\n\r\n getSpecificID = (name, statusList) => {\r\n let filtered = [];\r\n filtered =\r\n statusList &&\r\n statusList.filter(function ({ Name }) {\r\n return Name === name;\r\n });\r\n if (filtered && filtered.length > 0) {\r\n return filtered[0].showSpecificDropdowns;\r\n }\r\n return \"\";\r\n };\r\n\r\n\r\n\r\n getArrayId = (name) => {\r\n let selected = []\r\n selected = name.map((el) => JSON.parse(JSON.stringify(el)));\r\n // eslint-disable-next-line\r\n selected.map((el) => {\r\n el.Id = el.ID;\r\n delete el.ID;\r\n delete el.Name\r\n })\r\n return selected\r\n }\r\n\r\n setData(details) {\r\n const { AdditionalDetailsDataLinks } = this.props;\r\n this.setState({\r\n savedWhatIsItRichTextBody: RichTextEditor.createValueFromString(\r\n details.WhatIsIt,\r\n \"html\"\r\n ),\r\n savedWhatValueDoesItBringRichTextBody: RichTextEditor.createValueFromString(\r\n details.WhatValueDoesItBring,\r\n \"html\"\r\n ),\r\n savedHowToMobilizeAndUseItRichTextBody: RichTextEditor.createValueFromString(\r\n details.Mobilized,\r\n \"html\"\r\n ),\r\n savedCommentsRichTextBody: RichTextEditor.createValueFromString(\r\n details.Comments,\r\n \"html\"\r\n ), errorMessage: {},\r\n Phase: details.Phase,\r\n ShowLinks: AdditionalDetailsDataLinks.ShowLinks,\r\n ExploreLinks: AdditionalDetailsDataLinks.ExploreLinks,\r\n PhaseList: details.PhaseList,\r\n IndustryList: details.IndustryList,\r\n SelectedIndustryList: details.SelectedIndustryList,\r\n FunctionalAreaList: details.FunctionalAreaList,\r\n ServiceOfferingsList: details.ServiceOfferingList,\r\n SelectedServiceOfferingsList: details.SelectedServiceOfferingsList,\r\n SelectedFunctionalAreaList: details.SelectedFunctionalAreaList,\r\n isEditable: details.isEditable,\r\n AcceleratorApplicableID: details.AcceleratorApplicableID,\r\n ApplicableAcceleratorList: details.ApplicableAcceleratorList\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n\r\n renderTableData() {\r\n return this.state.ShowLinks.map((showlink, index) => {\r\n const { Name, HyperLink } = showlink\r\n return (\r\n \r\n {Name}\r\n {HyperLink}\r\n \r\n )\r\n })\r\n }\r\n renderExpTableData() {\r\n return this.state.ExploreLinks.map((explorelink, index) => {\r\n const { Name, HyperLink } = explorelink\r\n return (\r\n \r\n {Name}\r\n {HyperLink}\r\n \r\n )\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n enableUpdateButton() {\r\n if (this.props.AdditionalDetailsData) {\r\n const { AdditionalDetailsData } = this.props\r\n const isError = Object.values(this.state.errorMessage).filter(\r\n (item) => item !== \"\"\r\n );\r\n return ((\r\n (this.state.savedWhatIsItRichTextBody.toString(\"html\") !== AdditionalDetailsData.WhatIsIt) ||\r\n (this.state.savedWhatValueDoesItBringRichTextBody.toString(\"html\") !== AdditionalDetailsData.WhatValueDoesItBring) ||\r\n (this.state.savedHowToMobilizeAndUseItRichTextBody.toString(\"html\") !== AdditionalDetailsData.Mobilized) ||\r\n (this.state.savedCommentsRichTextBody.toString(\"html\") !== AdditionalDetailsData.Comments) ||\r\n (this.state.CuratorEID !== AdditionalDetailsData.CuratorEID) ||\r\n (this.state.Phase !== AdditionalDetailsData.Phase) ||\r\n (this.state.AcceleratorApplicableID !== AdditionalDetailsData.AcceleratorApplicableID) ||\r\n (JSON.stringify(this.state.SelectedIndustryList) !== (AdditionalDetailsData.samplelist)) ||\r\n (JSON.stringify(this.state.SelectedFunctionalAreaList) !== (AdditionalDetailsData.Functionlist)) ||\r\n (JSON.stringify(this.state.SelectedServiceOfferingsList) !== (AdditionalDetailsData.Servicelist)) ||\r\n (this.state.ShowLinks.length !== AdditionalDetailsData.ShowLinks.length) ||\r\n (this.state.ExploreLinks.length !== AdditionalDetailsData.ExploreLinks.length) ||\r\n (AdditionalDetailsData.showlist !== JSON.stringify(this.state.ShowLinks)) ||\r\n (AdditionalDetailsData.explorelist !== JSON.stringify(this.state.ExploreLinks)) ||\r\n (this.state.Level1 !== AdditionalDetailsData.Level1) ||\r\n (this.state.Level2 !== AdditionalDetailsData.Level2))\r\n && isError.length <= 0) ? true : false;\r\n } else return false;\r\n }\r\n\r\n async handleSubmit() {\r\n const { AdditionalDetailsDataLinks } = this.props;\r\n let data = {};\r\n let PhaseID = this.getId(this.state.Phase, this.state.PhaseList);\r\n let AcceleratorApplicableID = this.getId(this.state.AcceleratorApplicableID, this.state.ApplicableAcceleratorList);\r\n let IndustryIDs = this.getArrayId(this.state.SelectedIndustryList);\r\n let FunctionalAreaIDs = this.getArrayId(this.state.SelectedFunctionalAreaList);\r\n let ServiceOfferingsIDs = this.getArrayId(this.state.SelectedServiceOfferingsList);\r\n data = {\r\n ...data,\r\n RequestNumber: this.state.requestNumber,\r\n PhaseID: PhaseID,\r\n AcceleratorApplicableID: AcceleratorApplicableID,\r\n IndustryIDs: IndustryIDs,\r\n FunctionalAreaIDs: FunctionalAreaIDs,\r\n ServiceOfferingsIDs: ServiceOfferingsIDs,\r\n };\r\n if (this.state.savedWhatIsItRichTextBody.toString(\"html\") !== AdditionalDetailsDataLinks.WhatIsIt) {\r\n data = {\r\n ...data,\r\n WhatIsIt: this.state.savedWhatIsItRichTextBody.toString(\"html\"),\r\n };\r\n }\r\n if (this.state.savedWhatValueDoesItBringRichTextBody.toString(\"html\") !== AdditionalDetailsDataLinks.WhatValueDoesItBring) {\r\n data = { ...data, WhatValueDoesItBring: this.state.savedWhatValueDoesItBringRichTextBody.toString(\"html\") };\r\n }\r\n if (this.state.savedHowToMobilizeAndUseItRichTextBody.toString(\"html\") !== AdditionalDetailsDataLinks.Mobilized) {\r\n data = {\r\n ...data,\r\n Mobilized: this.state.savedHowToMobilizeAndUseItRichTextBody.toString(\"html\"),\r\n };\r\n }\r\n if (this.state.savedCommentsRichTextBody.toString(\"html\") !== AdditionalDetailsDataLinks.Comments) {\r\n data = {\r\n ...data,\r\n Comments: this.state.savedCommentsRichTextBody.toString(\"html\"),\r\n };\r\n }\r\n if (this.state.CuratorEID !== AdditionalDetailsDataLinks.CuratorEID) {\r\n data = {\r\n ...data,\r\n CuratorEID: this.state.CuratorEID,\r\n };\r\n }\r\n if (this.state.Level1 !== AdditionalDetailsDataLinks.Level1) {\r\n data = {\r\n ...data,\r\n Level1: this.state.Level1,\r\n };\r\n }\r\n if (this.state.Level2 !== AdditionalDetailsDataLinks.Level2) {\r\n data = {\r\n ...data,\r\n Level2: this.state.Level2,\r\n };\r\n }\r\n if (this.state.ShowLinks !== AdditionalDetailsDataLinks.showlist) {\r\n data = {\r\n ...data,\r\n ShowLinks: this.state.ShowLinks,\r\n };\r\n }\r\n if (this.state.ExploreLinks !== AdditionalDetailsDataLinks.explorelist) {\r\n data = {\r\n ...data,\r\n ExploreLinks: this.state.ExploreLinks,\r\n };\r\n }\r\n\r\n\r\n\r\n let submitData = { additionalDetails: { ...data } };\r\n this.setState({ showSpinner: true, clickOnUpdate: true });\r\n\r\n const serviceName = `UpdateAdditionalDetails`;\r\n const response = await postData({\r\n serviceName: serviceName,\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n data: submitData,\r\n });\r\n const { success, error } = response;\r\n if (success) {\r\n this.setState({ showSpinner: false, isEditable: false });\r\n await this.props.getAdditionDetails();\r\n } else {\r\n this.setState({ showSpinner: false, error: error, showErrorPopup: true });\r\n }\r\n }\r\n handleBack = async () => {\r\n this.props.locationDetails.history.push({\r\n pathname: \"/requests\",\r\n state: {\r\n isFromInternalRequest: true,\r\n filterValues: this.props.filterValues,\r\n serviceSelectedFilter: this.props.serviceSelectedFilter,\r\n expectedDateFilter: this.props.expectedDateFilter\r\n }\r\n })\r\n }\r\n handleImageModal(txt, actualName) {\r\n this.setState({\r\n imageModal: true,\r\n richTxt: txt,\r\n mailBody: this.state[txt],\r\n clickedActualRichTextName: actualName\r\n });\r\n }\r\n async onChangeRichtext({ name, value, actualName }) {\r\n this.setState({ [name]: value })\r\n let actualValue = value.toString(\"html\").replace(/(<([^>]+)>)/gi, \"\");\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n this.setState({\r\n [actualName]: actualValue\r\n }, () => {\r\n this.handleRichTextValidation(actualName, this.state);\r\n })\r\n }\r\n handleRichTextValidation(name) {\r\n const errorTxt = handleRichTextValidation(name, this.state)\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${name}Error`]: errorTxt,\r\n },\r\n });\r\n }\r\n handleButton(e) {\r\n e.preventDefault();\r\n if (this.state.isEditable) {\r\n e.preventDefault();\r\n const { AdditionalDetailsDataLinks } = this.props\r\n\r\n this.setIntialStates(AdditionalDetailsDataLinks)\r\n }\r\n\r\n this.setState({ isEditable: !this.state.isEditable });\r\n }\r\n\r\n handleCloseEditor() {\r\n this.setState({\r\n imageModal: false,\r\n mailBody: RichTextEditor.createEmptyValue()\r\n });\r\n }\r\n handleSendIconModal() {\r\n this.setState({\r\n imageModal: false,\r\n sendIcon: true,\r\n });\r\n }\r\n handleSaveRichTxt() {\r\n let actualValue = this.state.mailBody.toString(\"html\").replace(/(<([^>]+)>)/gi, \"\");\r\n /* eslint-disable no-useless-escape */\r\n actualValue = actualValue.replace(/ /gi, \"\");\r\n this.setState(\r\n {\r\n imageModal: false,\r\n [this.state.clickedActualRichTextName]: actualValue,\r\n [this.state.richTxt]: this.state.mailBody,\r\n sendIcon: false\r\n },\r\n () => {\r\n this.handleRichTextValidation(this.state.clickedActualRichTextName, this.state);\r\n }\r\n );\r\n }\r\n handleDontSaveRichTxt() {\r\n this.setState({\r\n imageModal: false,\r\n sendIcon: false,\r\n richTxt: \"\",\r\n });\r\n }\r\n handleCloseIcon() {\r\n this.setState({\r\n imageModal: true,\r\n sendIcon: false,\r\n });\r\n }\r\n onChange = (value, name) => {\r\n this.setState({\r\n [name]: value,\r\n mailBody: value,\r\n });\r\n };\r\n\r\n handleAssetSelectionClick = async (e) => {\r\n let modalId = e.target.dataset.modal;\r\n this.setState({ [modalId]: true, activateBackdrop: true });\r\n };\r\n\r\n handleInput = (e) => {\r\n const labels = [\"CuratorEID\", \"Level1\", \"Level2\"];\r\n let { name, value } = e.target;\r\n this.setState({\r\n [name]: value\r\n })\r\n if (labels.includes(name)) {\r\n let errorTxt = \"\";\r\n if (value === \"\") {\r\n errorTxt = \"This is a required field\";\r\n } else { errorTxt = validateSupportFields(value); }\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${name}Error`]: errorTxt,\r\n },\r\n });\r\n }\r\n }\r\n\r\n\r\n getSelectedItems = async (selectedAssets, dropdown) => {\r\n this.setState({ [dropdown]: selectedAssets });\r\n let errorTxt = \"\";\r\n if (selectedAssets.length < 1) {\r\n errorTxt = \"Please select at least one\"\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${dropdown}Error`]: errorTxt,\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${dropdown}Error`]: \"\",\r\n }\r\n })\r\n }\r\n };\r\n\r\n\r\n handleDeleteRowClick = (record, link) => {\r\n if (link === \"ShowLink\") {\r\n this.setState({\r\n ShowLinks: this.state.ShowLinks.filter(r => r !== record),\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n HyperLinkShowError: \"\"\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n ExploreLinks: this.state.ExploreLinks.filter(r => r !== record),\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n HyperLinkExploreError: \"\"\r\n }\r\n })\r\n }\r\n }\r\n\r\n async handleInputLinks(e, index, link) {\r\n const { name, value } = e.target;\r\n const id = e.target.dataset.id;\r\n let list;\r\n if (link === 'ShowLink') {\r\n if (name === 'HyperLink') {\r\n let errorTxt = \"\";\r\n errorTxt = validateUrl(e.target.value);\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${e.target.name}ShowError`]: errorTxt,\r\n },\r\n });\r\n }\r\n list = [...this.state.ShowLinks];\r\n list[id][name] = value;\r\n this.setState({\r\n ShowLinks: [...list]\r\n });\r\n } else {\r\n if (name === 'HyperLink') {\r\n let errorTxt = \"\";\r\n errorTxt = validateUrl(e.target.value);\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${e.target.name}ExploreError`]: errorTxt,\r\n },\r\n });\r\n }\r\n list = [...this.state.ExploreLinks];\r\n list[id][name] = value;\r\n this.setState({\r\n ExploreLinks: [...list]\r\n });\r\n }\r\n }\r\n\r\n handleAddRowClick = async (e, link) => {\r\n if (link === 'ShowLink') {\r\n let newShowLinkArray = Object.assign([], this.state.ShowLinks);\r\n newShowLinkArray.push({\r\n Name: '',\r\n HyperLink: ''\r\n })\r\n this.setState({\r\n ShowLinks: newShowLinkArray\r\n });\r\n } else {\r\n let exploreLinkTextArray = Object.assign([], this.state.ExploreLinks);\r\n exploreLinkTextArray.push({\r\n Name: '',\r\n HyperLink: ''\r\n })\r\n this.setState({\r\n ExploreLinks: exploreLinkTextArray\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const heading = this.props.AdditionalDetailsData.Labels;\r\n const { AcceleratorApplicableID, ApplicableAcceleratorList,savedCommentsRichTextBody,savedWhatIsItRichTextBody,savedWhatValueDoesItBringRichTextBody,savedHowToMobilizeAndUseItRichTextBody} = this.state;\r\n const WhatIsItTextBox = parse(savedWhatIsItRichTextBody.toString(\"html\"));\r\n const WhatValueDoesItBringBox = parse(savedWhatValueDoesItBringRichTextBody.toString(\"html\"));\r\n const HowToMobilizeAndUseItRichTextBox = parse(savedHowToMobilizeAndUseItRichTextBody.toString(\"html\"));\r\n const Acceleartoradditionalcomments = parse(savedCommentsRichTextBody.toString(\"html\"));\r\n const specificDropdownFlag = this.getSpecificID(AcceleratorApplicableID, ApplicableAcceleratorList)\r\n return (\r\n < div className=\"accelerator-request-details\" >\r\n
    \r\n
    \r\n
  • \r\n \r\n {this.state.isEditable ? (\r\n \r\n this.handleInput(e)}\r\n name=\"Phase\"\r\n id=\"Phase\"\r\n options={this.state.PhaseList}\r\n selected_value={this.state.Phase}\r\n use_name=\"true\"\r\n />\r\n \r\n ) : (\r\n <>\r\n
    \r\n {this.state.Phase}\r\n
    \r\n \r\n )}\r\n
  • \r\n
    \r\n
    \r\n
  • \r\n \r\n {this.state.isEditable ? (\r\n
    \r\n \r\n this.handleInput(e)}\r\n />\r\n \r\n {this.state.errorMessage.CuratorEIDError}\r\n \r\n \r\n
    \r\n ) : (\r\n
    \r\n {this.state.CuratorEID}\r\n
    \r\n )}\r\n
  • \r\n
    \r\n
    \r\n
  • \r\n \r\n {this.state.isEditable ? (\r\n
    \r\n this.handleInput(e)}\r\n />\r\n \r\n {this.state.errorMessage.Level1Error}\r\n \r\n
    \r\n ) : (\r\n
    \r\n {this.state.Level1}\r\n
    \r\n )}\r\n
  • \r\n
    \r\n
    \r\n
  • \r\n \r\n {this.state.isEditable ? (\r\n
    \r\n this.handleInput(e)}\r\n />\r\n \r\n {this.state.errorMessage.Level2Error}\r\n \r\n
    \r\n ) : (\r\n
    \r\n {this.state.Level2}\r\n
    \r\n )}\r\n
  • \r\n
    \r\n
    \r\n
  • \r\n \r\n {this.state.isEditable ? (\r\n \"edit-icon\" { this.handleImageModal(\"savedWhatIsItRichTextBody\", \"WhatIsIt\"); }} />\r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isEditable ? (\r\n
    \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"savedWhatIsItRichTextBody\",\r\n actualName: \"WhatIsIt\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n \r\n {this.state.errorMessage.WhatIsItError}\r\n \r\n
    \r\n ) : (\r\n
    \r\n {WhatIsItTextBox}\r\n
    \r\n )}\r\n
  • \r\n
    \r\n
    \r\n
  • \r\n \r\n {this.state.isEditable ? (\r\n \"edit-icon\" { this.handleImageModal(\"savedWhatValueDoesItBringRichTextBody\", \"WhatValueDoesItBring\"); }} />\r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isEditable ? (\r\n
    \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"savedWhatValueDoesItBringRichTextBody\",\r\n actualName: \"WhatValueDoesItBring\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n \r\n {this.state.errorMessage.WhatValueDoesItBringError}\r\n \r\n
    \r\n ) : (\r\n
    \r\n {WhatValueDoesItBringBox}\r\n
    \r\n )}\r\n
  • \r\n
    \r\n
    \r\n
  • \r\n \r\n {this.state.isEditable ? (\r\n <>\r\n
    \r\n this.handleInput(e)}\r\n name=\"AcceleratorApplicableID\"\r\n id=\"AcceleratorApplicableID\"\r\n options={this.state.ApplicableAcceleratorList}\r\n selected_value={this.state.AcceleratorApplicableID}\r\n use_name=\"true\"\r\n />\r\n {specificDropdownFlag && (\r\n <>\r\n
    \r\n \r\n \r\n this.handleAssetSelectionClick(e)\r\n }\r\n value={\r\n !!this.state.SelectedIndustryList &&\r\n this.state.SelectedIndustryList.length > 0\r\n ? this.state.SelectedIndustryList.map((el, key) =>\r\n el.Name\r\n )\r\n .join(\", \")\r\n : \"\"\r\n }\r\n parent_custom_class=\"service-input\"\r\n />\r\n \r\n {this.state.errorMessage.SelectedIndustryListError}\r\n \r\n {this.state[`acceleartor-industry-modal`] && (\r\n <>\r\n
    \r\n { this.setState({ [`acceleartor-industry-modal`]: false, activateBackdrop: false }) }}>\r\n
    \r\n \r\n \r\n this.getSelectedItems(selectedAssets, 'SelectedIndustryList')\r\n }\r\n existingData={\r\n !!this.state.SelectedIndustryList &&\r\n this.state.SelectedIndustryList.length > 0\r\n ? this.state.SelectedIndustryList\r\n : []}\r\n dataPreExists={\r\n !!this.state.SelectedIndustryList &&\r\n this.state.SelectedIndustryList.length > 0\r\n ? true\r\n : false\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n \r\n )}\r\n \r\n \r\n \r\n this.handleAssetSelectionClick(e)\r\n }\r\n value={\r\n !!this.state.SelectedFunctionalAreaList &&\r\n this.state.SelectedFunctionalAreaList.length > 0\r\n ? this.state.SelectedFunctionalAreaList.map((el, key) =>\r\n el.Name\r\n )\r\n .join(\", \")\r\n : \"\"\r\n }\r\n parent_custom_class=\"service-input\"\r\n />\r\n \r\n {this.state.errorMessage.SelectedFunctionalAreaListError}\r\n \r\n {this.state[`acceleartor-function-modal`] && (\r\n <>\r\n
    \r\n { this.setState({ [`acceleartor-function-modal`]: false, activateBackdrop: false }) }}>\r\n
    \r\n \r\n \r\n this.getSelectedItems(selectedAssets, 'SelectedFunctionalAreaList')\r\n }\r\n existingData={\r\n !!this.state.SelectedFunctionalAreaList &&\r\n this.state.SelectedFunctionalAreaList.length > 0\r\n ? this.state.SelectedFunctionalAreaList\r\n : []}\r\n dataPreExists={\r\n !!this.state.SelectedFunctionalAreaList &&\r\n this.state.SelectedFunctionalAreaList.length > 0\r\n ? true\r\n : false\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n \r\n )}\r\n \r\n \r\n \r\n this.handleAssetSelectionClick(e)\r\n }\r\n value={\r\n !!this.state.SelectedServiceOfferingsList &&\r\n this.state.SelectedServiceOfferingsList.length > 0\r\n ? this.state.SelectedServiceOfferingsList.map((el, key) =>\r\n el.Name\r\n )\r\n .join(\", \")\r\n : \"\"\r\n }\r\n parent_custom_class=\"service-input\"\r\n />\r\n \r\n {this.state.errorMessage.SelectedServiceOfferingsListError}\r\n \r\n {this.state[`acceleartor-Service-modal`] && (\r\n <>\r\n
  • \r\n { this.setState({ [`acceleartor-Service-modal`]: false, activateBackdrop: false }) }}>\r\n
    \r\n \r\n \r\n this.getSelectedItems(selectedAssets, 'SelectedServiceOfferingsList')\r\n }\r\n existingData={\r\n !!this.state.SelectedServiceOfferingsList &&\r\n this.state.SelectedServiceOfferingsList.length > 0\r\n ? this.state.SelectedServiceOfferingsList\r\n : []}\r\n dataPreExists={\r\n !!this.state.SelectedServiceOfferingsList &&\r\n this.state.SelectedServiceOfferingsList.length > 0\r\n ? true\r\n : false\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
    {AcceleratorApplicableID}
    \r\n {specificDropdownFlag && (\r\n <>\r\n
    \r\n
    {this.state.SelectedIndustryList && this.state.SelectedIndustryList.map((el, key) => el.Name).join(\", \")}
    \r\n
    \r\n
    \r\n
    {this.state.SelectedFunctionalAreaList && this.state.SelectedFunctionalAreaList.map((el, key) => el.Name).join(\", \")}
    \r\n
    \r\n
    \r\n
    {this.state.SelectedServiceOfferingsList && this.state.SelectedServiceOfferingsList.map((el, key) => el.Name).join(\", \")}
    \r\n
    \r\n \r\n )}\r\n\r\n )}\r\n \r\n \r\n
    \r\n
  • \r\n {this.state.isEditable ? (\r\n \"edit-icon\" { this.handleImageModal(\"savedHowToMobilizeAndUseItRichTextBody\", \"Mobilized\"); }} />\r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isEditable ? (\r\n <>\r\n {!!heading && ((heading[7].FieldName.includes('optional')) || (!heading[7].FieldName.includes('optional'))) ?\r\n : \"\"}\r\n
    \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"savedHowToMobilizeAndUseItRichTextBody\",\r\n actualName: \"Mobilized\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n
    \r\n \r\n ) : (\r\n <>\r\n {!!heading && ((heading[7].FieldName.includes('optional')) || (!heading[7].FieldName.includes('optional'))) ?\r\n : \"\"}\r\n {HowToMobilizeAndUseItRichTextBox}\r\n \r\n )}\r\n
  • \r\n
    \r\n\r\n
    \r\n
  • \r\n {!!heading && ((heading[8].FieldName.includes('optional')) || (!heading[8].FieldName.includes('optional'))) ?\r\n : \"\"}\r\n {this.state.isEditable ? (\r\n \"edit-icon\" { this.handleImageModal(\"savedCommentsRichTextBody\", \"Comments\"); }} />\r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isEditable ? (\r\n
    \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"savedCommentsRichTextBody\",\r\n actualName: \"Comments\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n
    \r\n ) : (\r\n {Acceleartoradditionalcomments}\r\n )}\r\n
  • \r\n
    \r\n
    \r\n
  • \r\n {!!heading && ((heading[9].FieldName.includes('optional')) || (!heading[9].FieldName.includes('optional'))) ?\r\n : \"\"}\r\n {this.state.isEditable ? (\r\n
    \r\n \r\n \r\n this.handleDeleteRowClick(e, lbl)} data={this.state.ShowLinks}\r\n Editing={(e, i, lbl = 'ShowLink') => this.handleInputLinks(e, i, lbl)} />\r\n \r\n
    \r\n \r\n {this.state.errorMessage.HyperLinkShowError}\r\n \r\n \r\n this.handleAddRowClick(\r\n e,\r\n \"ShowLink\"\r\n )\r\n } label=\"+ ADD SHOW LINKS\" disabled={!!this.state.errorMessage.HyperLinkShowError} />\r\n
    \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.ShowLinks && this.renderTableData()}\r\n \r\n
    Name Hyperlink
    \r\n )}\r\n
  • \r\n
    \r\n\r\n
    \r\n
  • \r\n {!!heading && ((heading[10].FieldName.includes('optional')) || (!heading[10].FieldName.includes('optional'))) ?\r\n : \"\"}\r\n {this.state.isEditable ? (\r\n
    \r\n \r\n \r\n this.handleDeleteRowClick(e, lbl)} data={this.state.ExploreLinks}\r\n Editing={(e, i, lbl = 'Explorelink') => this.handleInputLinks(e, i, lbl)} />\r\n \r\n
    \r\n \r\n {this.state.errorMessage.HyperLinkExploreError}\r\n \r\n \r\n this.handleAddRowClick(\r\n e,\r\n \"ExploreLink\"\r\n )\r\n } label=\"+ ADD EXPLORE LINKS\" disabled={!!this.state.errorMessage.HyperLinkExploreError} />\r\n
    \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.ExploreLinks && this.renderExpTableData()}\r\n \r\n
    Name Hyperlink
    \r\n )}\r\n
  • \r\n
    \r\n \r\n
    \r\n {this.state.isEditable ? ( this.handleSubmit()}\r\n disabled={!this.enableUpdateButton()}\r\n />\r\n ) :\r\n this.handleSubmit()}\r\n disabled={!this.state.isEditable}\r\n />}\r\n this.handleBack()} />\r\n {this.state.isUserCanEdit && (\r\n this.handleButton(e)}\r\n />\r\n )}\r\n
    \r\n {\r\n this.state.imageModal && (\r\n \r\n this.handleCloseEditor()}\r\n />\r\n \r\n this.handleSendIconModal()}\r\n />\r\n \r\n )\r\n }\r\n
    \r\n {this.state.sendIcon && (\r\n {\r\n this.handleSaveRichTxt();\r\n }}\r\n handleCancel={() => {\r\n this.handleDontSaveRichTxt();\r\n }}\r\n >\r\n

    Alert

    \r\n this.handleCloseIcon()}\r\n />\r\n \r\n )}\r\n
    \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default AcceleratorRequestAdditionalDetails;","export const fieldList = [{\r\n 'Team Changes': ['CurrentTeam', 'CurrentRole', 'NewTeam', 'NewRole', 'EnterpriseID', 'AllocationPercentage', 'SupervisorID', 'ForecastDate']\r\n},\r\n{ 'Team Structure': ['TeamName', 'Role', 'EnterpriseID', 'AllocationPercentage', 'SupervisorID', 'EffectiveDate'] },\r\n{ 'WBS Authorization': ['TeamName', 'EnterpriseID', 'AllocationPercentage', 'SupervisorID', 'EffectiveDate'] },\r\n{ 'Others': ['AdditionalComments'] }]\r\n\r\nexport const getFieldName = (name) => {\r\n switch (name) {\r\n case 'CurrentTeam': return \"Current Team\";\r\n case 'TeamName': return 'Team Name';\r\n case 'CurrentRole': return 'Current Role';\r\n case 'NewTeam': return \"New Team\";\r\n case 'Role': return \"Role\";\r\n case 'NewRole': return \"New Role\";\r\n case 'EnterpriseID': return \"Enterprise ID\";\r\n case 'AllocationPercentage': return \"Allocation %\";\r\n case 'SupervisorID': return \"Supervisor ID\";\r\n case 'ForecastDate': return \"Forecast Date\";\r\n case 'EffectiveDate': return \"Effective Date\";\r\n case \"AdditionalComments\": return \"Additional Comments\";\r\n default: return 'Input';\r\n }\r\n}\r\n\r\n","import React, { Component } from 'react';\r\nimport './staffing-request-additional-details.scss'\r\nimport Spinner from \"../../../../components/spinner/spinner\";\r\nimport NextButton from \"../../../../components/button/nextbutton\";\r\nimport CustomButton from \"../../../../components/button/secondary-button\";\r\nimport { postData, fileUploadPostData } from \"../../../../api/api-manager\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport { dateFormat } from \"../../../form/common-functionality-forms/form-imports\";\r\nimport Modal from \"../../../../components/modals/modal\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport { addDays } from \"date-fns\";\r\nimport { getData } from \"../../../../api/api-manager\";\r\nimport { CustomInput, moment } from \"../../../requests-grid/assignment/request-assignment-import\";\r\nimport { format } from \"date-fns\";\r\nimport { fieldList, getFieldName } from './staffing-request-additional-details-functions';\r\nimport StaffingChangeRequestBulkUpdate from '../../internal-request-form/staffing-change-request-form/StaffingChangeRequestBulkUpdate';\r\nclass StaffingRequestAdditionalDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: {},\r\n errorMessage: {},\r\n isEditable: false,\r\n fieldList: fieldList,\r\n fileDetails: [],\r\n removedFiles: []\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.setInitialStates(this.props.AdditionalDetailsData);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.getAdditionDetails !== prevProps.getAdditionDetails) {\r\n this.setInitialStates(this.props.AdditionalDetailsData);\r\n }\r\n }\r\n\r\n setAdditionalStates = (data) => {\r\n const { Name: requestTypeName } = this.state.RequestType;\r\n const additionalDetails = data && data.length > 0 && data[0];\r\n let fields = this.state.fieldList.find(el => Object.keys(el)[0] === requestTypeName);\r\n fields = !!fields && fields[requestTypeName];\r\n let stateObject = fields.reduce((acc, el) => {\r\n let value = !!additionalDetails[el] ? additionalDetails[el] : '';\r\n if (el === 'ForecastDate' || el === 'EffectiveDate') {\r\n value = !!additionalDetails[el] ? new Date(additionalDetails[el]) : '';\r\n }\r\n return { ...acc, [el]: value }\r\n }, {})\r\n this.setState({\r\n additionalDetails: additionalDetails,\r\n ...stateObject\r\n })\r\n }\r\n\r\n setInitialStates = async (dataReceived) => {\r\n await this.setState({\r\n requestNumber: this.props.requestNumber,\r\n RequestType: dataReceived && dataReceived.RequestType && dataReceived.RequestType.length === 1 ? dataReceived.RequestType[0] : '',\r\n RequestTypeList: dataReceived && dataReceived.RequestTypeList && dataReceived.RequestTypeList.length > 0 ? dataReceived.RequestTypeList : [],\r\n IsType: dataReceived && dataReceived.IsType ? dataReceived.IsType : false,\r\n formLabels: dataReceived && dataReceived.Labels && dataReceived.Labels.length > 0 ? dataReceived.Labels : [],\r\n errorMessage: {},\r\n isUserCanEdit: (this.props.internalRequestDetailsData && this.props.internalRequestDetailsData.isEditable) || false,\r\n }, async () => {\r\n if (!!dataReceived && dataReceived.IsType) {\r\n const response = await getData({ serviceName: `Attachment?requestNumber=${this.props.requestNumber}` });\r\n const { success, data, error } = await response;\r\n\r\n if (success) {\r\n let fileInfo = data.fileInfo && data.fileInfo.length > 0 ? data.fileInfo.filter(el => el.isBulkAttachment) : [];\r\n this.setState({\r\n canShowButtons: data.enableAttachment,\r\n fileDetails: [...fileInfo],\r\n removedFiles: []\r\n });\r\n } else {\r\n this.setState({ error: error });\r\n }\r\n } else {\r\n this.setAdditionalStates(dataReceived.AdditionalDetails)\r\n }\r\n })\r\n }\r\n\r\n handleInputValidation = (name, value) => {\r\n let fieldName = getFieldName(name);\r\n let errorKey = `${name}Error`;\r\n if (value.length >= 1 && value.length < 250) {\r\n this.setState({\r\n errorMessage: { ...this.state.errorMessage, [errorKey]: '' }\r\n })\r\n } else {\r\n this.setState({\r\n errorMessage: { ...this.state.errorMessage, [errorKey]: `Invalid ${fieldName}` }\r\n })\r\n }\r\n }\r\n\r\n handleInput = (e) => {\r\n const { name, value } = e.target;\r\n this.setState({\r\n [name]: value\r\n }, () => {\r\n this.handleInputValidation(name, value);\r\n })\r\n }\r\n\r\n enableUpdateButton = () => {\r\n let flag = false;\r\n const { additionalDetails, ForecastDate, EffectiveDate, formLabels, IsType, errorMessage, fileDetails = [], isEditable } = this.state;\r\n const prevForecastDate = additionalDetails && additionalDetails.ForecastDate ? moment(additionalDetails.ForecastDate) : '';\r\n const changedForecastDate = ForecastDate ? moment(ForecastDate) : '';\r\n const prevEffectiveDate = additionalDetails && additionalDetails.EffectiveDate ? moment(additionalDetails.EffectiveDate) : '';\r\n const changedEffectiveDate = EffectiveDate ? moment(EffectiveDate) : '';\r\n const existingErrors = Object.values(errorMessage).length > 0 ? Object.values(errorMessage).filter(el => !!el) : [];\r\n\r\n if (!!this.state && !!this.state.additionalDetails && !!formLabels && formLabels.length > 0) {\r\n formLabels.map(form => {\r\n if ((form.FormKey === 'ForecastDate' && prevForecastDate.format(\"DD-MMM-YYYY\") !== changedForecastDate.format(\"DD-MMM-YYYY\")) || (form.FormKey === 'EffectiveDate' && prevEffectiveDate.format(\"DD-MMM-YYYY\") !== changedEffectiveDate.format(\"DD-MMM-YYYY\"))) {\r\n flag = true;\r\n }\r\n else if (!!this.state && !(form.FormKey.toLowerCase().includes('date')) && this.state[form.FormKey] !== additionalDetails[form.FormKey]) {\r\n flag = true\r\n }\r\n return false;\r\n })\r\n } else if (IsType) {\r\n if (fileDetails.length > 0 && isEditable) {\r\n flag = true\r\n }\r\n }\r\n return flag && existingErrors.length <= 0;\r\n }\r\n\r\n handleButton = async(e) => {\r\n e.preventDefault();\r\n if (!this.state.isEditable) {\r\n const response = await getData({ serviceName: `Attachment?requestNumber=${this.props.requestNumber}` });\r\n const { success, data, error } = await response;\r\n\r\n if (success) {\r\n let fileInfo = data.fileInfo && data.fileInfo.length > 0 ? data.fileInfo.filter(el => el.isBulkAttachment) : [];\r\n this.setState({\r\n canShowButtons: data.enableAttachment,\r\n fileDetails: [...fileInfo],\r\n removedFiles: []\r\n });\r\n } else {\r\n this.setState({ error: error });\r\n }\r\n }\r\n this.setState({ isEditable: !this.state.isEditable });\r\n const { AdditionalDetailsData } = this.props\r\n this.setInitialStates(AdditionalDetailsData);\r\n }\r\n\r\n handleDateChange(name, date) {\r\n this.setState({\r\n [name]: date\r\n });\r\n }\r\n\r\n onAttachmentChange = (data, index) => {\r\n if (index === 0) {\r\n let files = [...this.state.fileDetails], removedFiles = [...this.state.removedFiles];\r\n let removedFile = files.splice(index, 1)[0];\r\n if (!!removedFile.guid) {\r\n removedFiles = [...removedFiles, removedFile]\r\n }\r\n this.setState({ fileDetails: [...files], removedFiles: removedFiles })\r\n }\r\n else { this.setState({ fileDetails: [...data] }) }\r\n }\r\n\r\n async handleSubmit() {\r\n let data = {};\r\n let requestTypeId = !!this.state.RequestType && this.state.RequestType.ID;\r\n data = {\r\n ...data,\r\n RequestNumber: this.props.requestNumber,\r\n RequestTypeId: requestTypeId,\r\n IsType: this.state.IsType\r\n }\r\n let stateDetails = !!this.state.formLabels && this.state.formLabels.length > 0 ? this.state.formLabels.reduce((acc, form) => {\r\n if (form.FormKey.toLowerCase().includes('date')) {\r\n return { ...acc, [form.FormKey]: dateFormat(this.state[form.FormKey], \"isoDate\") }\r\n }\r\n return {\r\n ...acc, [form.FormKey]: this.state[form.FormKey]\r\n }\r\n }, {}) : '';\r\n\r\n if (this.state.IsType) {\r\n this.setState({ showSpinner: true });\r\n let removedFiles = [...this.state.removedFiles];\r\n if (removedFiles.length >= 1) {\r\n const serviceNameData = `fileDelete?guid=${removedFiles[0].guid}`\r\n const responseData = await postData({\r\n serviceName: serviceNameData\r\n });\r\n const successCheck = await responseData.success;\r\n const errorCheck = await responseData.error;\r\n if (successCheck) {\r\n this.setState({\r\n removedFiles: []\r\n })\r\n } else {\r\n this.setState({ error: errorCheck, showSpinner: false });\r\n }\r\n }\r\n if (this.state.fileDetails && this.state.fileDetails.length > 0) {\r\n await Promise.all(this.state.fileDetails.map((fileData, index) => {\r\n const fileFormData = new FormData();\r\n fileFormData.append('File', fileData);\r\n fileFormData.append('RequestNumber', this.props.requestNumber);\r\n if (fileData['description'] !== undefined) {\r\n fileFormData.append('Description', fileData.description);\r\n } else {\r\n fileFormData.append('Description', \"\");\r\n }\r\n fileFormData.append('IsBulkAttachment', true);\r\n const uploadedSuccess = fileUploadPostData({\r\n serviceName: \"Upload\",\r\n data: fileFormData,\r\n requestNumber: this.props.requestNumber\r\n });\r\n return uploadedSuccess\r\n }))\r\n }\r\n }\r\n\r\n data = {\r\n ...data,\r\n AdditionalDetails: !!stateDetails ? [stateDetails] : []\r\n }\r\n\r\n let submitData = { additionalDetails: { ...data } };\r\n this.setState({ showSpinner: true });\r\n const serviceName = `UpdateAdditionalDetails`;\r\n const response = await postData({\r\n serviceName: serviceName,\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n data: submitData,\r\n });\r\n const successData = await response.success;\r\n const errorData = await response.error;\r\n if (successData) {\r\n this.setState({ showSpinner: false, isEditable: false });\r\n await this.props.getAdditionDetails();\r\n } else {\r\n this.setState({ showSpinner: false, error: errorData, showErrorPopup: true, clickOnUpdate: true });\r\n }\r\n }\r\n\r\n handleBack = async () => {\r\n this.props.locationDetails.history.push({\r\n pathname: \"/requests\",\r\n state: {\r\n isFromInternalRequest: true,\r\n filterValues: this.props.filterValues,\r\n serviceSelectedFilter: this.props.serviceSelectedFilter,\r\n expectedDateFilter: this.props.expectedDateFilter\r\n }\r\n })\r\n }\r\n\r\n render() {\r\n const { RequestType, IsType: wbsAuthRequestType, formLabels } = this.state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    {!!RequestType && RequestType.Name && RequestType.Name ? RequestType.Name : \"\"}
    \r\n
    \r\n
    \r\n {!!RequestType && RequestType.Name === 'WBS Authorization' &&\r\n
    \r\n \r\n
    }\r\n {wbsAuthRequestType && (\r\n
    \r\n \r\n
    )\r\n }\r\n {!!formLabels && formLabels.length > 0 && formLabels.map((form) => {\r\n let keyString = `${form.FormKey}Error`;\r\n if (form.FormKey === \"CurrentTeam\") {\r\n return (\r\n
    \r\n
    \r\n \r\n {!!this.state.isEditable ?
    \r\n this.handleInput(e)}\r\n value={this.state[form.FormKey]}\r\n />\r\n {this.state.errorMessage[keyString] && (\r\n

    \r\n {this.state.errorMessage[keyString]}\r\n

    \r\n )}\r\n
    : (\r\n
    {this.state[form.FormKey]}
    \r\n )}\r\n
    \r\n
    \r\n )\r\n }\r\n if (form.FormKey === \"CurrentRole\") {\r\n return (\r\n
    \r\n
    \r\n \r\n {!!this.state.isEditable ?
    \r\n this.handleInput(e)}\r\n value={this.state[form.FormKey]}\r\n />\r\n {this.state.errorMessage[keyString] && (\r\n

    \r\n {this.state.errorMessage[keyString]}\r\n

    \r\n )}\r\n
    : (\r\n
    {this.state[form.FormKey]}
    \r\n )}\r\n
    \r\n
    \r\n )\r\n }\r\n if (form.FormKey === \"NewTeam\" || form.FormKey === \"TeamName\") {\r\n return (\r\n
    \r\n
    \r\n \r\n {!!this.state.isEditable ?
    \r\n this.handleInput(e)}\r\n value={this.state[form.FormKey]}\r\n />\r\n {this.state.errorMessage[keyString] && (\r\n

    \r\n {this.state.errorMessage[keyString]}\r\n

    \r\n )}\r\n
    : (\r\n
    {this.state[form.FormKey]}
    \r\n )}\r\n
    \r\n
    \r\n )\r\n }\r\n if (form.FormKey === \"NewRole\" || form.FormKey === \"Role\") {\r\n return (\r\n
    \r\n
    \r\n \r\n {!!this.state.isEditable ?
    \r\n this.handleInput(e)}\r\n value={this.state[form.FormKey]}\r\n />\r\n {this.state.errorMessage[keyString] && (\r\n

    \r\n {this.state.errorMessage[keyString]}\r\n

    \r\n )}\r\n
    : (\r\n
    {this.state[form.FormKey]}
    \r\n )}\r\n
    \r\n
    \r\n )\r\n }\r\n if (form.FormKey === \"EnterpriseID\") {\r\n return (\r\n
    \r\n
    \r\n \r\n {!!this.state.isEditable ?
    \r\n this.handleInput(e)}\r\n value={this.state[form.FormKey]}\r\n />\r\n {this.state.errorMessage[keyString] && (\r\n

    \r\n {this.state.errorMessage[keyString]}\r\n

    \r\n )}\r\n
    : (\r\n
    {this.state[form.FormKey]}
    \r\n )}\r\n
    \r\n
    \r\n )\r\n }\r\n if (form.FormKey === \"AllocationPercentage\") {\r\n return (\r\n
    \r\n
    \r\n \r\n {!!this.state.isEditable ?
    \r\n this.handleInput(e)}\r\n value={this.state[form.FormKey]}\r\n />\r\n {this.state.errorMessage[keyString] && (\r\n

    \r\n {this.state.errorMessage[keyString]}\r\n

    \r\n )}\r\n
    : (\r\n
    {this.state[form.FormKey]}
    \r\n )}\r\n
    \r\n
    \r\n )\r\n }\r\n if (form.FormKey === \"SupervisorID\") {\r\n return (\r\n
    \r\n
    \r\n \r\n {!!this.state.isEditable ?
    \r\n this.handleInput(e)}\r\n value={this.state[form.FormKey]}\r\n />\r\n {this.state.errorMessage[keyString] && (\r\n

    \r\n {this.state.errorMessage[keyString]}\r\n

    \r\n )}\r\n
    : (\r\n
    {this.state[form.FormKey]}
    \r\n )}\r\n
    \r\n
    \r\n )\r\n }\r\n if (form.FormKey === \"ForecastDate\" || form.FormKey === \"EffectiveDate\") {\r\n return (\r\n
    \r\n
    \r\n \r\n {!!this.state.isEditable ?\r\n
    \r\n this.handleDateChange.call(this, form.FormKey, date)}\r\n minDate={addDays(new Date(), 1)}\r\n dateFormat=\"dd-MMM-yyyy\"\r\n placeholderText={this.state[form.FormKey] ? this.state[form.FormKey] : \"DD-MMM-YYYY\"}\r\n onChangeRaw={(e) => { e.preventDefault() }}\r\n />\r\n {this.state.PlannedStartDate ? '' : !!this.state[keyString] ?

    {this.state[keyString]}

    : ''}\r\n
    : (\r\n
    {this.state[form.FormKey] && format(new Date(this.state[form.FormKey]), \"dd-MMM-yyy\")}
    \r\n )}\r\n
    \r\n
    \r\n )\r\n }\r\n if (form.FormKey === \"AdditionalComments\") {\r\n return (\r\n
    \r\n
    \r\n \r\n {!!this.state.isEditable ?
    \r\n this.handleInput(e)}\r\n value={this.state[form.FormKey]}\r\n />\r\n {this.state.errorMessage[keyString] && (\r\n

    \r\n {this.state.errorMessage[keyString]}\r\n

    \r\n )}\r\n
    : (\r\n
    {this.state[form.FormKey]}
    \r\n )}\r\n
    \r\n
    \r\n )\r\n }\r\n return null;\r\n })}\r\n\r\n
    \r\n
    \r\n this.handleSubmit()}\r\n disabled={!this.enableUpdateButton()}\r\n />\r\n this.handleBack()} />\r\n {this.state.isUserCanEdit && (\r\n this.handleButton(e)}\r\n />\r\n )}\r\n
    \r\n {\r\n this.state.error && (\r\n {\r\n this.setState({ showErrorPopup: false });\r\n }}\r\n buttonPosition=\"center-button\"\r\n >\r\n

    {this.state.error}

    \r\n \r\n )\r\n }\r\n {this.state.showSpinner && }\r\n
    )\r\n }\r\n}\r\n\r\nexport default StaffingRequestAdditionalDetails;","import React from 'react';\r\nimport { Component } from 'react';\r\nimport \"./report-request-additional-details.scss\"\r\nimport NextButton from \"../../../../components/button/nextbutton\";\r\nimport CustomButton from \"../../../../components/button/secondary-button\";\r\nimport CustomInput from '../../../../components/custom-input/custom-input';\r\nimport Checkbox from '../../../../components/checkbox/checkbox';\r\nimport * as Constant from \"../../../../components/constants/constant\";\r\nimport RichTextEditor from \"react-rte\";\r\nimport { toolbarConfig } from \"../../../../components/email-chip/react-rte-toolbar\";\r\nimport Modal from \"../../../../components/modals/modal\";\r\nimport { validateSupportFields } from \"../../../../components/validators/validate\";\r\nimport { postData } from \"../../../../api/api-manager\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../../configs/api-base-url\";\r\nimport parse from 'html-react-parser';\r\n\r\n\r\nclass ReportRequestAdditionalDetails extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n data: {},\r\n isUserCanEdit: false,\r\n isEditable: false,\r\n imageModal: false,\r\n isEdit: false,\r\n sendIcon: false,\r\n FrequencyReportList: [],\r\n FrequencyofDataRefreshList: [],\r\n savedFrequencyReport: [],\r\n savedFrequencyDateRefresh: [],\r\n savedDataSource: \"\",\r\n savedAdditionalInformationRichTextBody: RichTextEditor.createEmptyValue(),\r\n savedURLInCaseOfExistingReport: \"\",\r\n errorMessage: {}\r\n }\r\n this.validateCheckBox = this.validateCheckBox.bind(this)\r\n }\r\n componentDidMount() {\r\n this.setIntialStates(this.props.AdditionalDetailsData);\r\n const { AdditionalDetailsData } = this.props;\r\n this.setData(AdditionalDetailsData);\r\n }\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.AdditionalDetailsData !== this.props.AdditionalDetailsData) {\r\n this.setIntialStates(this.props.AdditionalDetailsData);\r\n }\r\n }\r\n async setIntialStates(data) {\r\n await this.setState({\r\n FrequencyReportList: data && data.FrequencyReportList,\r\n FrequencyofDataRefreshList: data && data.FrequencyofDataRefreshList,\r\n savedFrequencyReport: data && data.SelectedFrequencyofReport,\r\n savedFrequencyDateRefresh: data && data.SelectedFrequencyofDataRefresh,\r\n savedDataSource: data && data.DataSourceLinktoSourceFile,\r\n savedAdditionalInformationRichTextBody: RichTextEditor.createValueFromString(\r\n data && data.AdditionalInformation,\r\n \"html\"\r\n ),\r\n savedURLInCaseOfExistingReport: data && data.URLIncaseOfExistingReport,\r\n isUserCanEdit: (this.props.internalRequestDetailsData && this.props.internalRequestDetailsData.isEditable) || false,\r\n errorMessage: {},\r\n });\r\n }\r\n setData(details) {\r\n this.setState({\r\n savedFrequencyReport: details && details.SelectedFrequencyofReport,\r\n savedFrequencyDateRefresh: details && details.SelectedFrequencyofDataRefresh,\r\n savedDataSource: details && details.DataSourceLinktoSourceFile,\r\n savedURLInCaseOfExistingReport: details && details.URLIncaseOfExistingReport,\r\n savedAdditionalInformationRichTextBody: RichTextEditor.createValueFromString(\r\n details && details.AdditionalInformation,\r\n \"html\"\r\n ), errorMessage: {}\r\n })\r\n }\r\n enableUpdateButton() {\r\n if (this.props.AdditionalDetailsData) {\r\n const { AdditionalDetailsData } = this.props\r\n const isError = Object.values(this.state.errorMessage).filter(\r\n (item) => item !== \"\"\r\n );\r\n return ((\r\n (JSON.stringify(this.state.savedFrequencyReport) !== JSON.stringify(AdditionalDetailsData.SelectedFrequencyofReport)) ||\r\n (JSON.stringify(this.state.savedFrequencyDateRefresh) !== JSON.stringify(AdditionalDetailsData.SelectedFrequencyofDataRefresh)) ||\r\n (this.state.savedDataSource !== AdditionalDetailsData.DataSourceLinktoSourceFile) ||\r\n (this.state.savedURLInCaseOfExistingReport !== AdditionalDetailsData.URLIncaseOfExistingReport) ||\r\n (this.state.savedAdditionalInformationRichTextBody.toString(\"html\") !== AdditionalDetailsData.AdditionalInformation))\r\n && isError.length <= 0) ? true : false;\r\n } else return false;\r\n }\r\n getArrayId = (name) => {\r\n let selected = []\r\n selected = name && name.map((el) => JSON.parse(JSON.stringify(el)));\r\n // eslint-disable-next-line\r\n selected && selected.map((el) => {\r\n el.Id = el.ID;\r\n delete el.ID;\r\n delete el.Name\r\n })\r\n return selected\r\n }\r\n async handleSubmit() {\r\n let data = {};\r\n let frequencyReportIDs = this.getArrayId(this.state.savedFrequencyReport)\r\n let frequencyDataRefreshIDs = this.getArrayId(this.state.savedFrequencyDateRefresh)\r\n data = {\r\n ...data,\r\n RequestNumber: this.props.internalRequestDetailsData.requestNumber,\r\n FrequencyOfReportIDS: frequencyReportIDs,\r\n FrequencyOfDataRefreshIDS: frequencyDataRefreshIDs,\r\n DataSourceLinktoSourceFile: this.state.savedDataSource,\r\n AdditionalInformation: this.state.savedAdditionalInformationRichTextBody.toString(\"html\"),\r\n URLincaseofexistingReport: this.state.savedURLInCaseOfExistingReport\r\n }\r\n if (this.state.savedDataSource !== this.props.AdditionalDetailsData.DataSourceLinktoSourceFile) {\r\n data = {\r\n ...data,\r\n DataSourceLinktoSourceFile: this.state.savedDataSource,\r\n };\r\n }\r\n if (this.state.savedAdditionalInformationRichTextBody.toString(\"html\") !== this.props.AdditionalDetailsData.AdditionalInformation) {\r\n data = { ...data, AdditionalInformation: this.state.savedAdditionalInformationRichTextBody.toString(\"html\") };\r\n }\r\n if (this.state.savedURLInCaseOfExistingReport !== this.props.AdditionalDetailsData.URLIncaseOfExistingReport) {\r\n data = {\r\n ...data,\r\n URLincaseofexistingReport: this.state.savedURLInCaseOfExistingReport,\r\n };\r\n }\r\n let submitData = { additionalDetails: { ...data } };\r\n this.setState({ showSpinner: true, clickOnUpdate: true });\r\n const serviceName = `UpdateAdditionalDetails`;\r\n const response = await postData({\r\n serviceName: serviceName,\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n data: submitData,\r\n });\r\n const { success, error } = await response;\r\n if (success) {\r\n this.setState({ showSpinner: false, isEditable: false });\r\n await this.props.getAdditionDetails();\r\n } else {\r\n this.setState({ showSpinner: false, error: error, showErrorPopup: true });\r\n }\r\n }\r\n handleBack = async () => {\r\n this.props.locationDetails.history.push({\r\n pathname: \"/requests\",\r\n state: {\r\n isFromInternalRequest: true,\r\n filterValues: this.props.filterValues,\r\n serviceSelectedFilter: this.props.serviceSelectedFilter,\r\n expectedDateFilter: this.props.expectedDateFilter\r\n }\r\n })\r\n }\r\n handleImageModal(txt, actualName) {\r\n this.setState({\r\n imageModal: true,\r\n richTxt: txt,\r\n mailBody: this.state[txt],\r\n clickedActualRichTextName: actualName\r\n });\r\n }\r\n async onChangeRichtext({ name, value, actualName }) {\r\n await this.setState({ [name]: value })\r\n const actualValue = value.toString('html').replace(/(<([^>]+)>)/ig, '')\r\n await this.setState({\r\n [actualName]: actualValue\r\n }, () => {\r\n this.handleRichTextValidation(actualName, actualValue)\r\n })\r\n }\r\n handleRichTextValidation(name, value) {\r\n let errorTxt = \"\";\r\n if (value && value.length > 25000) {\r\n errorTxt = \"Additional Information should not be more than 25000 characters long.\";\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${name}Error`]: errorTxt,\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${name}Error`]: \"\",\r\n },\r\n });\r\n }\r\n }\r\n handleButton(e) {\r\n e.preventDefault();\r\n if (this.state.isEditable) {\r\n e.preventDefault();\r\n const { AdditionalDetailsData } = this.props;\r\n this.setData(AdditionalDetailsData);\r\n }\r\n this.setState({ isEditable: !this.state.isEditable });\r\n }\r\n handleCloseEditor() {\r\n this.setState({\r\n imageModal: false,\r\n // mailBody: RichTextEditor.createEmptyValue()\r\n });\r\n }\r\n handleSendIconModal() {\r\n this.setState({\r\n imageModal: false,\r\n sendIcon: true,\r\n });\r\n }\r\n handleSaveRichTxt() {\r\n const actualValue = this.state.mailBody && this.state.mailBody.toString('html').replace(/(<([^>]+)>)/ig, '')\r\n this.setState(\r\n {\r\n imageModal: false,\r\n [this.state.clickedActualRichTextName]: actualValue,\r\n [this.state.richTxt]: this.state.mailBody,\r\n sendIcon: false\r\n },\r\n () => {\r\n this.handleRichTextValidation(this.state.clickedActualRichTextName, this.state);\r\n }\r\n );\r\n }\r\n handleDontSaveRichTxt() {\r\n this.setState({\r\n imageModal: false,\r\n sendIcon: false,\r\n richTxt: \"\",\r\n });\r\n }\r\n handleCloseIcon() {\r\n this.setState({\r\n imageModal: true,\r\n sendIcon: false,\r\n });\r\n }\r\n onChange = (value, name) => {\r\n this.setState({\r\n [name]: value,\r\n mailBody: value,\r\n });\r\n };\r\n async handleCheckBox(e, CheckboxName) {\r\n let selectedValue = {};\r\n let ID = parseInt(e.target.getAttribute('id'));\r\n let Name = e.target.getAttribute('value');\r\n selectedValue = { ...selectedValue, ID, Name }\r\n if (CheckboxName === \"savedFrequencyReport\" || CheckboxName === \"savedFrequencyDateRefresh\") {\r\n if (e.target.checked) {\r\n await this.setState(prevState => ({\r\n [CheckboxName]: [...prevState[CheckboxName], selectedValue]\r\n }));\r\n } else {\r\n const DecrementedArray = this.state[CheckboxName].filter(el => el.Name !== selectedValue.Name)\r\n await this.setState({ [CheckboxName]: DecrementedArray })\r\n }\r\n }\r\n this.validateCheckBox(this.state[CheckboxName], CheckboxName)\r\n }\r\n validateCheckBox = (value, field) => {\r\n let errorTxt = \"\";\r\n if (value.length < 1) {\r\n if (field === \"savedFrequencyReport\") {\r\n errorTxt = \"Please select at least one Frequency of Report\"\r\n } else {\r\n errorTxt = \"Please select at least one Frequency of Data Refresh\"\r\n }\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${field}Error`]: errorTxt,\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${field}Error`]: \"\",\r\n }\r\n })\r\n }\r\n }\r\n handleInput = (e) => {\r\n let { name, value } = e.target;\r\n this.setState({\r\n [name]: value\r\n })\r\n if (name === \"savedDataSource\") {\r\n let errorTxt = \"\";\r\n if (value === \"\") {\r\n errorTxt = \"This is a required field\";\r\n } else { errorTxt = validateSupportFields(value); }\r\n this.setState({\r\n errorMessage: {\r\n ...this.state.errorMessage,\r\n [`${name}Error`]: errorTxt,\r\n },\r\n });\r\n }\r\n }\r\n render() {\r\n const {savedAdditionalInformationRichTextBody} = this.state;\r\n const reportadditionalInformationTextBody = parse(savedAdditionalInformationRichTextBody.toString(\"html\"))\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.isEditable ? (<>\r\n
  • \r\n {this.state.FrequencyReportList && this.state.FrequencyReportList.map((item, index) => {\r\n let isChecked = this.state.savedFrequencyReport.map(el => el.Name).includes(item.Name);\r\n return (\r\n \r\n \r\n \r\n )\r\n })}\r\n
  • \r\n \r\n {this.state.errorMessage.savedFrequencyReportError}\r\n \r\n \r\n ) : (\r\n \r\n {this.state.savedFrequencyReport && this.state.savedFrequencyReport.map((el) => {\r\n return el.Name;\r\n }).join(\", \")}\r\n )}\r\n
    \r\n
    \r\n \r\n {this.state.isEditable ? (\r\n <>\r\n
  • \r\n {this.state.FrequencyofDataRefreshList && this.state.FrequencyofDataRefreshList.map((item, index) => {\r\n let isChecked = this.state.savedFrequencyDateRefresh.map(el => el.Name).includes(item.Name);\r\n return (\r\n \r\n \r\n \r\n )\r\n })}\r\n
  • \r\n \r\n {this.state.errorMessage.savedFrequencyDateRefreshError}\r\n \r\n \r\n ) : (\r\n {this.state.savedFrequencyDateRefresh && this.state.savedFrequencyDateRefresh.map((el) => {\r\n return el.Name;\r\n }).join(\", \")}\r\n )\r\n\r\n }\r\n
    \r\n
    \r\n \r\n {this.state.isEditable ? (\r\n
    \r\n this.handleInput(e)}\r\n />\r\n \r\n {this.state.errorMessage.savedDataSourceError}\r\n \r\n
    \r\n ) : (\r\n {this.state.savedDataSource}
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.isEditable ? (\r\n \"edit-icon\" { this.handleImageModal(\"savedAdditionalInformationRichTextBody\", \"AdditionalInformation\"); }} />\r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isEditable ? (\r\n
    \r\n {\r\n this.onChangeRichtext({\r\n value,\r\n name: \"savedAdditionalInformationRichTextBody\",\r\n actualName: \"AdditionalInformation\",\r\n });\r\n }}\r\n toolbarConfig={[]}\r\n />\r\n \r\n {this.state.errorMessage.AdditionalInformationError}\r\n \r\n
    \r\n ) : (\r\n
    {reportadditionalInformationTextBody}
    \r\n )}\r\n
    \r\n
    \r\n \r\n {this.state.isEditable ? (\r\n
    \r\n this.handleInput(e)}\r\n />\r\n \r\n {this.state.errorMessage.savedURLInCaseOfExistingReportError}\r\n \r\n
    \r\n ) : (\r\n {this.state.savedURLInCaseOfExistingReport}
    \r\n )}\r\n
    \r\n \r\n
    \r\n this.handleSubmit()}\r\n disabled={!this.enableUpdateButton()}\r\n />\r\n this.handleBack()} />\r\n {this.state.isUserCanEdit && ( this.handleButton(e)}\r\n />)}\r\n\r\n
    \r\n {\r\n this.state.imageModal && (\r\n \r\n this.handleCloseEditor()}\r\n />\r\n \r\n this.handleSendIconModal()}\r\n />\r\n \r\n )\r\n }\r\n
    \r\n {this.state.sendIcon && (\r\n {\r\n this.handleSaveRichTxt();\r\n }}\r\n handleCancel={() => {\r\n this.handleDontSaveRichTxt();\r\n }}\r\n >\r\n

    Alert

    \r\n this.handleCloseIcon()}\r\n />\r\n \r\n )}\r\n
    \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default ReportRequestAdditionalDetails","import { validateWithPattern, validateComment } from \"../../../../components/validators/validate\";\r\n\r\nexport const validateInput = (name ,value, schema) => {\r\n let requirFields = schema && schema.find(formFields => formFields.FormKey === name);\r\n let isError = true\r\n let errorMessage = '', errorkey = `${name}Error`\r\n if (!!value) {\r\n if (name === 'WDSales' || name === 'WDIntegrationLeads' || name === 'WDIntegrationAdmins' || name === 'WDIntegrationConsultants') {\r\n const isValid = validateEmailByPattern({ pattern: requirFields.Validations.Pattern, value: value, formState: schema })\r\n if (!isValid) errorMessage = requirFields.ValidationMessages.PatternMessage\r\n else {\r\n let strArr = value.trim().split(';');\r\n strArr = strArr.filter(function (el) {\r\n let emailArray = el.trim()\r\n return emailArray.length > 0;\r\n });\r\n let strArray = strArr.reduce((acc, currentVal) => {\r\n return [...acc, (currentVal.trim()).toLowerCase()]\r\n }, [])\r\n let unique = strArray.filter((item, i, ar) => {\r\n return ar.indexOf(item) === i\r\n });\r\n if(strArray.length !== unique.length) {\r\n errorMessage = 'Email has already been added.'\r\n }\r\n }\r\n } else if(name === 'comments'){\r\n const commentErrorMessage = validateComment(value);\r\n if(!!commentErrorMessage) errorMessage = commentErrorMessage;\r\n }\r\n \r\n }\r\n return {\r\n fieldError: { [errorkey]: errorMessage },\r\n haveError: isError,\r\n errorkey\r\n }\r\n}\r\n \r\nexport const validateEmailByPattern = ({ keyName = '', pattern, value, formState }) => {\r\n if (keyName !== '') {\r\n let requirFields = formState.find(formFields => formFields.FormKey === keyName);\r\n pattern = requirFields.Validations.Pattern\r\n }\r\n value = value.trim();\r\n return validateWithPattern({ pattern, value })\r\n}\r\n\r\nexport const validateWorkdayAdminRequest = (formData, fieldList, schema, requestType) => {\r\n let formFieldError = {};\r\n let validDataFormKey = [];\r\n let oneFieldError = requestType === 'Audit Report' ? \"This is a required field.\" : \"Please fill atleast one field.\";\r\n\r\n fieldList.filter(record => formData[record] !== null && formData[record] !== \"\" && formData[record] !== undefined ? validDataFormKey.push(record) : '')\r\n fieldList.forEach(record => {\r\n\r\n if(requestType === 'Audit Report'){\r\n if(formData[record] === null || formData[record] === \"\" || formData[record] === undefined){\r\n formFieldError = { ...formFieldError, [`${record}Error`] : oneFieldError };\r\n }\r\n } else{\r\n if(validDataFormKey.length > 0){\r\n const { fieldError, errorkey } = validateInput(record, formData[record], schema);\r\n formFieldError = { ...formFieldError, [errorkey] : fieldError[errorkey] };\r\n } else{\r\n formFieldError = { ...formFieldError, [`${record}Error`] : oneFieldError };\r\n }\r\n }\r\n\r\n });\r\n\r\n return { fieldError: formFieldError }\r\n\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport \"./workday-admin-request-additional-details.scss\";\r\nimport { addDays } from \"date-fns\";\r\nimport NextButton from \"../../../../components/button/nextbutton\";\r\nimport { getData, postData } from \"../../../../api/api-manager\";\r\nimport basicWorkdaySchema from '../../../../assets/data/new-workday-form.json';\r\nimport { styledStatus } from \"../../../incident-management/common-functions\";\r\nimport { validateInput, validateWorkdayAdminRequest } from \"./workday-admin-request-additional-details-validation\";\r\nimport { CustomButton, CustomTextArea, CustomSelect, CustomInput, DatePicker, Spinner, Modal, ToolTip, dateFormat } from \"../../../form/common-functionality-forms/form-imports\";\r\nimport * as urlConfig from \"../../../../configs/api-base-url\";\r\nimport parse from 'html-react-parser';\r\nconst { INTERNAL_REQUEST_BASE_URL } = urlConfig;\r\nconst requiredFieldText = \"This is a required field.\";\r\n\r\nconst WorkdayAdminRequestAdditionalDetails = ({\r\n locationDetails,\r\n filterValues,\r\n serviceSelectedFilter,\r\n requestNumber,\r\n expectedDateFilter,\r\n internalRequestDetailsData,\r\n AdditionalDetailsData\r\n}) => {\r\n\r\n const [reqNo, setReqNo] = useState([]);\r\n const [error, setError] = useState(\"\");\r\n const [formData, setFormData] = useState({});\r\n const [formError, setFormError] = useState({});\r\n const [labelsList, setLabelsList] = useState([]);\r\n const [schemaData, setSchemaData] = useState({});\r\n const [showSpinner, setSpinner] = useState(false);\r\n const [isEditable, setIsEditable] = useState(false);\r\n const [submitCalled, setSubmitCalled] = useState(false);\r\n const [isUserCanEdit, setIsUserCanEdit] = useState(false);\r\n const [showErrorPopup, setShowErrorPopup] = useState(false)\r\n const [statusList, setStatusList] = useState([]);\r\n const [servicePocList, setServicePocList] = useState([]);\r\n const [additionalAddonData, setAdditionalAddonData] = useState({});\r\n const [internalRequestData, setInternalRequestData] = useState({});\r\n const [selectedRequestType, setSelectedRequestType] = useState(\"\");\r\n const [requestTypeOptions, setRequestTypeOptions] = useState([]);\r\n const [reportTypeOptions, setReportTypeOptions] = useState([]);\r\n\r\n useEffect(() => {\r\n //set Additional add on form and InternalRequest details data\r\n setAdditionalAddonData(AdditionalDetailsData);\r\n setInternalRequestData(internalRequestDetailsData);\r\n\r\n // set initial form data using addon form and internal details data\r\n setInitialStates(AdditionalDetailsData, internalRequestDetailsData);\r\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n if (submitCalled) {\r\n getInternalRequestDetails();\r\n }\r\n }, [submitCalled]) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n //format date to dd-mmm-yy format\r\n const getFormattedDate = (formDate) => {\r\n let formattedDate = \"\";\r\n if (formDate) {\r\n let date = new Date(formDate);\r\n formattedDate = date.getDate() + \"-\" + (date.toLocaleString(\"en-US\", { month: \"short\" }).toUpperCase()) + \"-\" + date.getFullYear();\r\n }\r\n return formattedDate;\r\n }\r\n\r\n //call to get add on details after submitting the data to update the fields\r\n async function getDetails(internalData) {\r\n const response = await getData({\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName: `PopulateInternalRequestAddOnForm?requestNumber=${requestNumber}`,\r\n });\r\n const { data, success } = await response;\r\n const errorData = await response.error;\r\n if (success) {\r\n let additionalData = data.AdditionalDetails[0]\r\n setAdditionalAddonData(additionalData);\r\n setInitialStates(additionalData, internalData);\r\n setSpinner(false);\r\n } else {\r\n setError(errorData);\r\n setSpinner(false);\r\n setShowErrorPopup(true);\r\n }\r\n }\r\n\r\n //call to get internal details api data after submitting the data to update the fields\r\n async function getInternalRequestDetails() {\r\n const serviceName = `InternalRequestDetails?requestNumber=${requestNumber}`;\r\n const response = await getData({\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName,\r\n });\r\n const { success, data } = await response;\r\n const errorStatus = await response.error;\r\n if (success) {\r\n let internalData = data.internalRequestDetails[0]\r\n setInternalRequestData(internalData);\r\n setSubmitCalled(false);\r\n getDetails(internalData);\r\n } else {\r\n setError(errorStatus);\r\n setSpinner(false);\r\n setShowErrorPopup(true);\r\n }\r\n }\r\n\r\n const setInitialStates = (additionalDetails, internalRequestFormData) => {\r\n setFormError({});\r\n setLabelsList(additionalDetails.Dropdowns);\r\n setReportTypeOptions(additionalDetails.Dropdowns[\"Select Report\"]);\r\n setRequestTypeOptions(additionalDetails[\"SelectionTypeList\"]);\r\n setSelectedRequestType(additionalDetails[\"SelectionType\"][0].Name);\r\n setSchemaData(basicWorkdaySchema[additionalDetails.SelectionType[0].Name]);\r\n setReqNo(additionalDetails.requestNumber);\r\n setInitialFormData(additionalDetails, internalRequestFormData);\r\n }\r\n\r\n const setInitialInternalData = (internalRequestDataRecv) => {\r\n setIsUserCanEdit(internalRequestDataRecv.isEditable);\r\n setStatusList(internalRequestDataRecv.statusList);\r\n setServicePocList(internalRequestDataRecv.servicePoCList);\r\n }\r\n\r\n const setInitialFormData = (additionalDetails, internalRequestFormData) => {\r\n let initialFormData = { ...formData };\r\n initialFormData[\"description\"] = additionalDetails.Description;\r\n initialFormData[\"status\"] = internalRequestFormData.status;\r\n initialFormData[\"comments\"] = \"\";\r\n initialFormData[\"servicePOC\"] = internalRequestFormData.servicePoC;\r\n let formEditedData = resetFormData(additionalDetails, initialFormData, additionalDetails['SelectionType'][0].Name)\r\n initialFormData = { ...formEditedData }\r\n setFormData({ ...initialFormData });\r\n setInitialInternalData(internalRequestFormData);\r\n }\r\n\r\n const getId = (name, statusListItem) => {\r\n let filtered = [];\r\n filtered =\r\n statusListItem &&\r\n statusListItem.filter(function ({ Name }) {\r\n return Name === name;\r\n });\r\n if (filtered && filtered.length > 0) {\r\n return filtered[0].ID;\r\n }\r\n return \"\";\r\n };\r\n\r\n const handleChange = async (event) => {\r\n const { name, value } = event.target;\r\n let nameError = `${name}Error`;\r\n if (name === \"status\" && value !== \"New\" && servicePocList.length > 0) {\r\n let filterPOC = servicePocList.filter(record => record.Name === formData.servicePOC);\r\n if (filterPOC.length === 0) {\r\n formError[\"servicePocError\"] = requiredFieldText;\r\n }\r\n } else if (name === \"servicePOC\") {\r\n formError[\"servicePocError\"] = \"\";\r\n }\r\n await setFormData({ ...formData, [name]: value });\r\n inputValidate(name, value, nameError);\r\n }\r\n\r\n const inputValidate = async (name, value, errorkey) => {\r\n let filterKeys = [\"Please fill atleast one field.\", \"Please enter an email ID.\"]\r\n let { fieldError, haveError } = validateInput(name, value, schemaData);\r\n if (name === \"status\" || name === \"comments\" || name === \"description\" || name === \"servicePOC\") {\r\n await setFormError({ ...formError, [errorkey]: fieldError[errorkey] });\r\n } else {\r\n let filteredError = {};\r\n // filter error keys when user fills data for any one of the field\r\n const filterErrorKeys = Object.keys(formError).filter((key) => { return !filterKeys.includes(formError[key]) });\r\n filterErrorKeys.forEach((key) => { filteredError[key] = formError[key] });\r\n await setFormError({ ...filteredError, [errorkey]: fieldError[errorkey] });\r\n }\r\n\r\n\r\n return !haveError\r\n }\r\n\r\n const handleRequestTypeChange = (event) => {\r\n const { value } = event.target;\r\n setSelectedRequestType(value);\r\n setSchemaData(basicWorkdaySchema[value]);\r\n let initialFormData = { ...formData };\r\n let formEditedData = resetFormData(additionalAddonData, initialFormData, value)\r\n initialFormData = { ...formEditedData }\r\n setFormData({ ...initialFormData });\r\n }\r\n\r\n const handleDateInput = (date, name) => {\r\n let errorKey = `${name}Error`;\r\n setFormData({ ...formData, [name]: date });\r\n setFormError({ ...formError, [errorKey]: '' });\r\n }\r\n\r\n const handleDateChangeRaw = (e) => { e.preventDefault(); };\r\n\r\n const truncateError = (errorCheck) => {\r\n let errorMsg = errorCheck;\r\n if (errorCheck.length > 30) {\r\n errorMsg = errorCheck.slice(0, 25)\r\n errorMsg = `${errorMsg}...`\r\n }\r\n return errorMsg;\r\n }\r\n\r\n const handleErrorPopUp = () => {\r\n setShowErrorPopup(false);\r\n }\r\n\r\n const resetFormData = (additionalDetails, initialFormData, actionType) => {\r\n let formErrors = { ...formError };\r\n additionalDetails['SelectionTypeList'].map(record => {\r\n additionalDetails['Dropdowns'][record.Name].forEach(data => {\r\n let addonData = additionalDetails.AdditionalDetails[0];\r\n if (record.Name === additionalDetails['SelectionType'][0].Name && record.Name === actionType) {\r\n if ((data.FormKey).toLowerCase().includes('date')) {\r\n let date = new Date(addonData[data.FormKey]);\r\n // let temporaryDate = date.getDate() + \"-\" + (date.toLocaleString(\"en-US\", { month: \"short\" }).toUpperCase()) + \"-\" + date.getFullYear();\r\n initialFormData = { ...initialFormData, [data.FormKey]: date }\r\n } else {\r\n initialFormData = { ...initialFormData, [data.FormKey]: addonData[data.FormKey] }\r\n }\r\n } else {\r\n initialFormData = { ...initialFormData, [data.FormKey]: \"\" }\r\n }\r\n formErrors[`${data.FormKey}Error`] = \"\";\r\n });\r\n return null;\r\n });\r\n setFormError({ ...formErrors });\r\n\r\n return initialFormData;\r\n }\r\n\r\n const handleButton = () => {\r\n if (isEditable) {\r\n setInitialStates(additionalAddonData, internalRequestData);\r\n }\r\n setIsEditable(!isEditable);\r\n }\r\n\r\n const handleBack = async () => {\r\n locationDetails.history.push({\r\n pathname: \"/requests\",\r\n state: {\r\n isFromInternalRequest: true,\r\n filterValues: filterValues,\r\n serviceSelectedFilter: serviceSelectedFilter,\r\n expectedDateFilter: expectedDateFilter\r\n }\r\n })\r\n }\r\n\r\n const enableUpdateButton = () => {\r\n if (Object.keys(additionalAddonData).length > 0) {\r\n const isError = Object.values(formError).filter(\r\n (item) => item !== \"\"\r\n );\r\n\r\n return ((\r\n (selectedRequestType !== additionalAddonData.SelectionType[0].Name) ||\r\n internalRequestData.servicePoC !== formData['servicePOC'] || internalRequestData.status !== formData['status'] ||\r\n (additionalAddonData.Description !== undefined ? additionalAddonData.Description !== formData.description : formData.description !== \"\" ? true : false) ||\r\n CheckFormChanges() ||\r\n formData.comments !== \"\")\r\n && isError.length <= 0 ? true : false)\r\n } else return false;\r\n }\r\n\r\n const CheckFormChanges = () => {\r\n let fieldsChanged = []\r\n let isChanged = false;\r\n\r\n additionalAddonData['Dropdowns'][selectedRequestType].forEach(data => {\r\n let fieldName = data.FormKey;\r\n let actualValue = fieldName.toLowerCase().includes('date') ? getFormattedDate(additionalAddonData.AdditionalDetails[0][fieldName]) : additionalAddonData.AdditionalDetails[0][fieldName];\r\n let formDataValue = fieldName.toLowerCase().includes('date') ? getFormattedDate(formData[fieldName]) : formData[fieldName];\r\n if (actualValue !== formDataValue) {\r\n if (!fieldsChanged.includes(fieldName)) { fieldsChanged.push(fieldName); }\r\n } else {\r\n if (fieldsChanged.includes(fieldName)) { fieldsChanged = fieldsChanged.filter(dataField => dataField !== fieldName); }\r\n }\r\n });\r\n\r\n if (fieldsChanged.length > 0) isChanged = true;\r\n return isChanged;\r\n }\r\n\r\n const validatefieldsBeforeSubmit = () => {\r\n let fieldsToBeValidated = [];\r\n let formDetails = {};\r\n\r\n labelsList[selectedRequestType].forEach(data => {\r\n fieldsToBeValidated.push(data.FormKey);\r\n\r\n if ((data.FormKey).toLowerCase().includes('date')) {\r\n formDetails[data.FormKey] = dateFormat(formData[data.FormKey], \"isoDate\");\r\n } else {\r\n formDetails[data.FormKey] = formData[data.FormKey];\r\n }\r\n });\r\n const { fieldError } = validateWorkdayAdminRequest(formData, fieldsToBeValidated, schemaData, selectedRequestType);\r\n let tempFormError = { ...formError, ...fieldError }\r\n\r\n const isError = Object.values(tempFormError).filter(\r\n (item) => item !== \"\"\r\n );\r\n\r\n if (isError.length > 0) {\r\n setFormError({ ...formError, ...fieldError });\r\n } else {\r\n let fieldLength = Object.keys(formDetails)\r\n if (fieldLength.length === fieldsToBeValidated.length) {\r\n handleSubmit(formDetails);\r\n }\r\n\r\n }\r\n }\r\n\r\n const handleSubmit = async (formDetails) => {\r\n let data = {\r\n additionalDetails: {\r\n RequestNumber: reqNo,\r\n SelectionTypeId: getId(selectedRequestType, requestTypeOptions),\r\n Description: formData.description,\r\n status: formData.servicePOC && formData.status === 'New'?getId( formData.status = 'Assigned', statusList) :getId(formData.status, statusList),\r\n ServicePOC: formData.servicePOC,\r\n CreatedBy: internalRequestData.createdBy,\r\n CreatedOn: internalRequestData.createdOn,\r\n AdditionalDetails: [formDetails]\r\n }\r\n };\r\n\r\n if (formData.comments !== \"\") {\r\n data.additionalDetails = { ...data.additionalDetails, Comments: formData.comments }\r\n setFormData({ ...formData, comments: ''});\r\n }\r\n\r\n const serviceName = `UpdateWorkDayDetails?requestNumber=${reqNo}`\r\n const response = await postData({\r\n serviceName: serviceName,\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n data: data\r\n });\r\n const { success } = await response;\r\n const errorCheck = await response.error;\r\n if (success) {\r\n setSubmitCalled(true);\r\n setIsEditable(false);\r\n setSpinner(true);\r\n }\r\n else {\r\n setError(errorCheck);\r\n setSpinner(true);\r\n setShowErrorPopup(true);\r\n }\r\n }\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Req No
    \r\n
    {reqNo}
    \r\n
    \r\n {!isEditable ?
    \r\n
    Status
    \r\n
    \r\n {formData.status}\r\n
    \r\n
    :\r\n
    \r\n \r\n \r\n
    }\r\n {!isEditable ?
    \r\n
    Select Action
    \r\n
    {selectedRequestType}
    \r\n
    :\r\n
    \r\n \r\n \r\n
    }\r\n\r\n {labelsList && selectedRequestType !== '' &&\r\n labelsList[selectedRequestType].length > 0 && labelsList[selectedRequestType].map(form => {\r\n let keyString = `${form.FormKey}Error`\r\n\r\n if (form.FormKey === \"SelectReport\") {\r\n return (\r\n isEditable ?
    \r\n \r\n \r\n {!!formError[keyString] ?

    {formError[keyString]}

    : ''}\r\n
    :\r\n
    \r\n
    {form.Name}
    \r\n
    {formData[form.FormKey]}
    \r\n
    )\r\n }\r\n\r\n if ((form.FormKey).toLowerCase().includes('date')) {\r\n return (\r\n isEditable ?
    \r\n \r\n { handleDateInput(date, form.FormKey) }}\r\n minDate={form.FormKey === \"EndDate\" && !!formData['StartDate'] ? addDays(new Date(formData['StartDate']), 0) : \"\"}\r\n maxDate={addDays(new Date(), 0)}\r\n disabled={form.FormKey === \"EndDate\" ? !!formData['StartDate'] ? false : true : false}\r\n dateFormat=\"dd-MMM-yyyy\"\r\n placeholderText=\"DD-MMM-YYYY\"\r\n onChangeRaw={handleDateChangeRaw}\r\n />\r\n {!!formError[keyString] ?
    {truncateError(formError[keyString])}
    : ''}\r\n
    :\r\n
    \r\n
    {form.Name}
    \r\n
    {getFormattedDate(formData[form.FormKey])}
    \r\n
    \r\n )\r\n }\r\n\r\n if (form.FormKey === \"WDIntegrationLeads\" || form.FormKey === \"WDSales\" || form.FormKey === \"WDIntegrationConsultants\" || form.FormKey === \"WDIntegrationAdmins\") {\r\n return (\r\n
    \r\n \r\n {isEditable ?\r\n
    \r\n \r\n {!!formError[keyString] ?

    {formError[keyString]}

    : ''}\r\n
    :\r\n
    {formData[form.FormKey]}
    \r\n }\r\n
    \r\n )\r\n }\r\n\r\n if (form.FormKey === \"FunctionalDomain\" || form.FormKey === \"IntegrationType\" || form.FormKey === \"Direction\" || form.FormKey === \"Records\" || form.FormKey === \"EfficiencyDiscount\" || form.FormKey === \"ABCRecordUsed\") {\r\n return (\r\n
    \r\n {isEditable ?\r\n
    \r\n \r\n {!!formError[keyString] ?

    {formError[keyString]}

    : ''}\r\n
    :\r\n
    \r\n \r\n
    {formData[form.FormKey]}
    \r\n
    \r\n }\r\n
    \r\n )\r\n }\r\n\r\n return null;\r\n })\r\n }\r\n\r\n {!isEditable ?
    \r\n
    Service POC
    \r\n
    {formData.servicePOC}
    \r\n
    :\r\n
    \r\n \r\n \r\n {formError.servicePocError} \r\n
    }\r\n\r\n
    \r\n
    Created By
    \r\n
    {internalRequestData.createdBy}
    \r\n
    \r\n\r\n
    \r\n
    Created On
    \r\n
    {internalRequestData.createdOn}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEditable ?
    \r\n
    Description (Optional)
    \r\n
    {formData.description}
    \r\n
    :\r\n
    \r\n \r\n \r\n
    }\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {internalRequestData.comments ?
    {parse(internalRequestData.comments)}
    : \"No Comments Yet\"}\r\n
    \r\n \r\n {formError.commentsError} \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n {isUserCanEdit && (\r\n \r\n )}\r\n
    \r\n\r\n {showSpinner && }\r\n\r\n {error && \r\n

    {error}

    }\r\n\r\n
    );\r\n\r\n}\r\n\r\nexport default WorkdayAdminRequestAdditionalDetails;","import React, { useEffect, useState } from \"react\";\r\nimport \"./sales-advisory-additional-details.scss\";\r\nimport { addDays ,format ,subDays } from \"date-fns\";\r\nimport NextButton from \"../../../../components/button/nextbutton\";\r\nimport { getData, postData } from \"../../../../api/api-manager\";\r\nimport parse from 'html-react-parser';\r\n//import basicWorkdaySchema from '../../../../assets/data/new-workday-form.json';\r\nimport { styledStatus } from \"../../../incident-management/common-functions\";\r\n//import { validateWorkdayAdminRequest } from \"./sales-advisory-additional-details-validation\";\r\nimport { CustomButton, CustomTextArea, CustomSelect, CustomInput, DatePicker, Spinner, Modal,dateFormat ,CustomMultiselect} from \"../../../form/common-functionality-forms/form-imports\";\r\nimport * as urlConfig from \"../../../../configs/api-base-url\";\r\nimport { validateWithPattern,validateComment} from '../../../../components/validators/validate';\r\nconst { INTERNAL_REQUEST_BASE_URL } = urlConfig;\r\n//const requiredFieldText = \"This is a required field.\";\r\n\r\nconst SalesAdvisoryAdditionalDetails = ({\r\n locationDetails,\r\n filterValues,\r\n serviceSelectedFilter,\r\n requestNumber,\r\n expectedDateFilter,\r\n internalRequestDetailsData,\r\n AdditionalDetailsData\r\n}) => {\r\n\r\n const [reqNo, setReqNo] = useState([]);\r\n const [error, setError] = useState(\"\");\r\n const [formData, setFormData] = useState({});\r\n const [formError, setFormError] = useState({});\r\n const [showSpinner, setSpinner] = useState(false);\r\n const [isEditable, setIsEditable] = useState(false);\r\n const [submitCalled, setSubmitCalled] = useState(false);\r\n const [isUserCanEdit, setIsUserCanEdit] = useState(false);\r\n const [showErrorPopup, setShowErrorPopup] = useState(false)\r\n const [statusList, setStatusList] = useState([]);\r\n //const [servicePocList, setServicePocList] = useState([]);\r\n const [additionalAddonData, setAdditionalAddonData] = useState({});\r\n const [internalRequestData, setInternalRequestData] = useState({});\r\n \r\n useEffect(() => {\r\n //set Additional add on form and InternalRequest details data\r\n setAdditionalAddonData(AdditionalDetailsData);\r\n setInternalRequestData(internalRequestDetailsData);\r\n\r\n // set initial form data using addon form and internal details data\r\n setInitialStates(AdditionalDetailsData, internalRequestDetailsData);\r\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n if (submitCalled) {\r\n getInternalRequestDetails();\r\n }\r\n }, [submitCalled]) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n //format date to dd-mmm-yy format\r\n const getFormattedDate = (formDate) => {\r\n let formattedDate = \"\";\r\n if (formDate) {\r\n let date = new Date(formDate);\r\n formattedDate = date.getDate() + \"-\" + (date.toLocaleString(\"en-US\", { month: \"short\" }).toUpperCase()) + \"-\" + date.getFullYear();\r\n }\r\n return formattedDate;\r\n }\r\n\r\n //call to get add on details after submitting the data to update the fields\r\n async function getDetails(internalData) {\r\n const response = await getData({\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName: `PopulateInternalRequestAddOnForm?requestNumber=${requestNumber}`,\r\n });\r\n const { data, success } = await response;\r\n const errorData = await response.error;\r\n if (success) {\r\n let additionalData = data.AdditionalDetails[0];\r\n setAdditionalAddonData(additionalData);\r\n setInitialStates(additionalData, internalData);\r\n setSpinner(false);\r\n } else {\r\n setError(errorData);\r\n setSpinner(false);\r\n setShowErrorPopup(true);\r\n }\r\n }\r\n\r\n //call to get internal details api data after submitting the data to update the fields\r\n async function getInternalRequestDetails() {\r\n const serviceName = `InternalRequestDetails?requestNumber=${requestNumber}`;\r\n const response = await getData({\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName,\r\n });\r\n \r\n const { success, data } = await response;\r\n const errorStatus = await response.error;\r\n if (success) {\r\n let internalData = data.internalRequestDetails[0]\r\n setInternalRequestData(internalData);\r\n setSubmitCalled(false);\r\n getDetails(internalData);\r\n } else {\r\n setError(errorStatus);\r\n setSpinner(false);\r\n setShowErrorPopup(true);\r\n }\r\n }\r\n\r\n const setInitialStates = (additionalDetails, internalRequestFormData) => {\r\n setFormError({});\r\n setReqNo(requestNumber);\r\n setInitialFormData(additionalDetails, internalRequestFormData);\r\n }\r\n\r\n const setInitialInternalData = (internalRequestDataRecv) => {\r\n setIsUserCanEdit(internalRequestDataRecv.isEditable);\r\n setStatusList(internalRequestDataRecv.statusList);\r\n //setServicePocList(internalRequestDataRecv.servicePoCList);\r\n }\r\n\r\n const setInitialFormData = (additionalDetails, internalRequestFormData) => {\r\n let initialFormData = { ...formData };\r\n console.log(\"sales\",additionalDetails)\r\n initialFormData[\"Technology\"] = additionalDetails.Technology[0].Name; \r\n initialFormData[\"Industry\"] = additionalDetails.Industry[0].Name; \r\n initialFormData[\"FunctionArea\"] = additionalDetails.FunctionArea[0].Name; \r\n initialFormData[\"Category\"] = additionalDetails.Category[0].Name; \r\n initialFormData[\"contentType\"] = additionalDetails.ContentType;\r\n initialFormData[\"createdBy\"] = additionalDetails.CreatedBy;\r\n initialFormData[\"createdOn\"] = internalRequestFormData.createdOn;\r\n initialFormData[\"expectedDate\"] = internalRequestFormData.expectedDate;\r\n initialFormData[\"Markets\"] = additionalDetails.Markets; \r\n initialFormData[\"requestNo\"] = additionalDetails.requestNumber;\r\n initialFormData[\"status\"] = internalRequestFormData.status; \r\n initialFormData[\"description\"] = internalRequestFormData.Description;\r\n initialFormData[\"ServiceOffering\"] = additionalDetails.ServiceOffering[0].Name; \r\n initialFormData[\"comments\"] = '';\r\n initialFormData[\"DocumentLink\"] = additionalDetails.DocumentLink;\r\n initialFormData[\"servicePOC\"] = internalRequestFormData.servicePoC;\r\n initialFormData[\"leadSME\"] = internalRequestFormData.leadSME;\r\n initialFormData[\"requestTitle\"] = internalRequestFormData.requestTitle;\r\n //let formEditedData = resetFormData(additionalDetails, initialFormData)\r\n //initialFormData = { ...formEditedData }\r\n setFormData({ ...initialFormData });\r\n setInitialInternalData(internalRequestFormData);\r\n \r\n }\r\n\r\n const getId = (name, statusListItem) => {\r\n let filtered = [];\r\n filtered =\r\n statusListItem &&\r\n statusListItem.filter(function ({ Name }) {\r\n return Name === name;\r\n });\r\n if (filtered && filtered.length > 0) {\r\n return filtered[0].ID;\r\n }\r\n return \"\";\r\n };\r\n const getMultiSelectId = (selectListItem) => {\r\n let filtered = [];\r\n filtered =\r\n selectListItem &&\r\n selectListItem.map(function ({ ID }) {\r\n return ID;\r\n });\r\n if (filtered && filtered.length > 0) {\r\n return filtered.join(\",\");\r\n }\r\n return \"\";\r\n };\r\nconst handleMultiSelectChange = (value,name) =>{\r\n if(name===\"contentType\" && value){\r\n value= value.map(x=>({...x,name:x.Name}))\r\n }\r\n setFormData({ ...formData, [name]: value });\r\n if((name ===\"contentType\" || name === \"Markets\") && !value.length){\r\n let errorMessage = 'It is a required Field.';\r\n let errorKey = `${name}Error`;\r\n setFormError((formErr) => {\r\n return { ...formErr, [errorKey]: errorMessage }\r\n })\r\n } \r\n if((name ===\"contentType\" || name === \"Markets\") && value.length){\r\n let errorMessage = '';\r\n let errorKey = `${name}Error`;\r\n setFormError((formErr) => {\r\n return { ...formErr, [errorKey]: errorMessage }\r\n })\r\n }\r\n} \r\n const handleChange = async (event) => {\r\n const { name, value } = event.target;\r\n setFormData({ ...formData, [name]: value });\r\n if(name ===\"servicePOC\" && formData.status !== \"New\" && !value){\r\n let errorMessage = 'It is a required Field.';\r\n let errorKey = `${name}Error`;\r\n setFormError((formErr) => {\r\n return { ...formErr, [errorKey]: errorMessage }\r\n })\r\n }else if(name ===\"servicePOC\" && formData.status !== \"New\" && value){\r\n let errorMessage = '';\r\n let errorKey = `${name}Error`;\r\n setFormError((formErr) => {\r\n return { ...formErr, [errorKey]: errorMessage }\r\n }) \r\n }\r\n if(name ===\"status\" && value !== \"New\" && !formData[\"servicePOC\"]){\r\n \r\n let errorMessage = 'This is required Field';\r\n let errorKey = 'servicePOCError';\r\n \r\n setFormError((formErr) => {\r\n return { ...formErr, [errorKey]: errorMessage }\r\n }) \r\n }\r\n if(name ===\"status\" && value !== \"New\" && !!formData[\"servicePOC\"]){\r\n \r\n let errorMessage = '';\r\n let errorKey = 'servicePOCError';\r\n setFormError((formErr) => {\r\n return { ...formErr, [errorKey]: errorMessage }\r\n }) \r\n }\r\n //validateDropdown(name,value)\r\n }\r\n \r\n /*const validateDropdown = (name, value) =>{\r\n \r\n let tempFormError = formError;\r\n if (name === \"status\" && value !== \"New\" && servicePocList.length > 0) {\r\n let filterPOC = servicePocList.filter(record => record.Name === formData.servicePOC);\r\n if (filterPOC.length === 0) {\r\n tempFormError[\"servicePocError\"] = requiredFieldText;\r\n }\r\n } else if (name === \"servicePOC\") {\r\n tempFormError[\"servicePocError\"] = \"\";\r\n }\r\n setFormError( { ...formError, ...tempFormError});\r\n }*/\r\n const handleDateChangeRaw = (e) => { e.preventDefault(); };\r\n const handleExpectedDate = (date) => { \r\n setFormData({ ...formData, \"expectedDate\": date });\r\n };\r\n\r\n\r\n const handleErrorPopUp = () => {\r\n setShowErrorPopup(false);\r\n }\r\n\r\n const handleButton = () => {\r\n if (isEditable) {\r\n setInitialStates(additionalAddonData, internalRequestData);\r\n }\r\n setIsEditable(!isEditable);\r\n }\r\n\r\n const handleBack = async () => {\r\n locationDetails.history.push({ \r\n pathname: \"/requests\",\r\n state: {\r\n isFromInternalRequest: true,\r\n filterValues: filterValues,\r\n serviceSelectedFilter: serviceSelectedFilter,\r\n expectedDateFilter: expectedDateFilter\r\n }\r\n })\r\n }\r\n\r\n const enableUpdateButton = () => {\r\n if (Object.keys(additionalAddonData).length > 0) {\r\n const isError = Object.values(formError).filter(\r\n (item) => item !== \"\"\r\n );\r\n return (\r\n (isError.length <= 0) &&\r\n ((formData.comments !== \"\") || checkAddtionalDetailsChanges() || checkInternalRequestChanges())?\r\n true : false)\r\n } else return false;\r\n }\r\n\r\n const checkAddtionalDetailsChanges = () =>{\r\n let isChanged = true;\r\n if(\r\n (additionalAddonData.Technology[0].Name === formData.Technology) &&\r\n (additionalAddonData.Industry[0].Name === formData.Industry) &&\r\n (additionalAddonData.FunctionArea[0].Name === formData.FunctionArea) &&\r\n (additionalAddonData.ServiceOffering[0].Name === formData.ServiceOffering) &&\r\n (additionalAddonData.Category[0].Name === formData.Category) &&\r\n (additionalAddonData.DocumentLink === formData.DocumentLink) && checkMultiSelectFields()\r\n ){\r\n isChanged = false\r\n }\r\n return isChanged;\r\n }\r\n\r\n const checkMultiSelectFields =()=>{\r\n let isSame = true;\r\n let previousMarketList = additionalAddonData.Markets.map(x=>x.ID);\r\n let latestMarketList = formData.Markets.map(x=>x.ID);\r\n if(previousMarketList.length !== latestMarketList.length){\r\n return false\r\n }else{\r\n for(let i=0;ix.ID);\r\n let latestContentTypeList = formData.contentType.map(x=>x.ID);\r\n if(previousContentTypeList.length !== latestContentTypeList.length){\r\n return false\r\n }else{\r\n for(let i=0;i{\r\n let isChanged = true;\r\n if(\r\n (internalRequestData.status === formData.status) &&\r\n (internalRequestData.requestTitle === formData.requestTitle) &&\r\n (internalRequestData.leadSME === formData.leadSME) &&\r\n (internalRequestData.servicePoC === formData.servicePOC) &&\r\n (getFormattedDate(internalRequestData.expectedDate) === getFormattedDate(formData.expectedDate)) \r\n ){\r\n isChanged = false\r\n }\r\n return isChanged;\r\n }\r\n\r\n const validatefieldsBeforeSubmit = () => {\r\n let formDetails = {\r\n Technology : getId(formData.Technology, additionalAddonData.TechnologyList) ,\r\n Industry : getId(formData.Industry, additionalAddonData.IndustryList),\r\n FunctionArea : getId(formData.FunctionArea, additionalAddonData.FunctionAreaList),\r\n ContentType : getMultiSelectId(formData.contentType),\r\n Markets : getMultiSelectId(formData.Markets) ,\r\n ServiceOffering : getId(formData.ServiceOffering, additionalAddonData.ServiceOfferingList) ,\r\n DocumentLink : formData.DocumentLink,\r\n };\r\n\r\n let fields = [\"requestTitle\",\"DocumentLink\",'leadSME','comments'];\r\n let tempFormError = {...formError};\r\n fields.forEach(key=>{\r\n tempFormError= {...tempFormError,...validateInput(key,formData[key])};\r\n })\r\n if( formData.status !== \"New\" && !formData[\"servicePOC\"]){\r\n let errorMessage = 'It is a required Field.';\r\n let errorKey = `servicePOCError`;\r\n tempFormError = { ...tempFormError,[errorKey]: errorMessage}\r\n }\r\n if( formData.status !== \"New\" && formData[\"servicePOC\"] !== \"\"){\r\n let errorMessage = '';\r\n let errorKey = `servicePOCError`;\r\n tempFormError = { ...tempFormError,[errorKey]: errorMessage}\r\n }\r\n\r\n if(!formData[\"contentType\"].length){\r\n let errorMessage = 'It is a required Field.';\r\n let errorKey = `contentTypeError`;\r\n tempFormError = { ...tempFormError,[errorKey]: errorMessage}\r\n }\r\n if(!formData[\"Markets\"].length){\r\n let errorMessage = 'It is a required Field.';\r\n let errorKey = `MarketsError`;\r\n tempFormError = { ...tempFormError,[errorKey]: errorMessage}\r\n }\r\n setFormError({...formError,...tempFormError})\r\n const isError = Object.values(formError).filter(\r\n (item) => item !== \"\"\r\n );\r\n const isAllError = Object.values(tempFormError).filter(\r\n (item) => item !== \"\"\r\n );\r\n if ((!isError.length > 0) && (!isAllError.length > 0) ) {\r\n handleSubmit(formDetails);\r\n }\r\n }\r\n\r\n const handleSubmit = async (formDetails) => {\r\n let data = {\r\n additionalDetails: {\r\n RequestNumber: reqNo,\r\n RequestTitle : formData.requestTitle,\r\n status: formData.servicePOC && formData.status === 'New'?getId( formData.status = 'Assigned', statusList) :getId(formData.status, statusList),\r\n ServicePOC: formData.servicePOC?formData.servicePOC.split(\"@\")[0]:\"\",\r\n leadSME: formData.leadSME,\r\n expectedDate : dateFormat(formData.expectedDate, \"isoDate\"),\r\n Category : getId(formData.Category, additionalAddonData.CategoryList) ,\r\n AdditionalDetails: [formDetails]\r\n }\r\n };\r\n\r\n if (formData.comments !== \"\") {\r\n data.additionalDetails = { ...data.additionalDetails, Comments: formData.comments }\r\n setFormData({ ...formData, comments: '' });\r\n }\r\n const serviceName = `UpdateSalesAdvisorDetails?requestNumber=${reqNo}`\r\n const response = await postData({\r\n serviceName: serviceName,\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n data: data\r\n });\r\n const { success } = await response;\r\n const errorCheck = await response.error;\r\n if (success) {\r\n setSubmitCalled(true);\r\n setIsEditable(false);\r\n setSpinner(true);\r\n }\r\n else {\r\n setError(errorCheck);\r\n setSpinner(true);\r\n setShowErrorPopup(true);\r\n }\r\n }\r\n\r\n const handleInput = async (event) => {\r\n event.preventDefault()\r\n const { name, value } = event.target;\r\n setFormData({ ...formData, [name]: value });\r\n validateInput(name, value)\r\n }\r\n const validateInput = (name, value) => {\r\n let isValid, errorMessage = '', errorKey = `${name}Error`;\r\n let requiredFields = [\"requestTitle\",\"DocumentLink\"];\r\n let patternFields = ['leadSME'];\r\n let patternRequired= patternFields.includes(name);\r\n let isRequired = requiredFields.includes(name);\r\n if (value === '' || value === undefined){\r\n if(isRequired) {\r\n errorMessage = 'It is a required Field.';\r\n } \r\n else{\r\n errorMessage = 'This is a required Field';\r\n }\r\n }\r\n \r\n if(patternRequired && value){\r\n let pattern = \"^[a-zA-Z0-9_.+-]+@(?:(?:[a-zA-Z0-9-]+\\\\.)?[a-zA-Z]+\\\\.)?(avanade|accenture)\\\\.com$\"\r\n isValid = validateWithPattern({ pattern, value });\r\n if (!isValid) {\r\n errorMessage = \"Enter a valid email, only Accenture and Avanade domain is valid.\";\r\n }\r\n }\r\n if(name==='DocumentLink' && value){\r\n let dlPattern = \"^[^\\\\<\\\\>]+$\";\r\n isValid = validateWithPattern({ dlPattern, value });\r\n if (!isValid) {\r\n errorMessage = \"Invalid Comments. symbols < > are not allowed.\";\r\n }\r\n if(value.length<20){\r\n errorMessage =\"Document Link(s) should be at least 20 characters long\";\r\n }\r\n if(value.length>25000){\r\n errorMessage =\"Document Link(s) should not be more than 25000 characters long.\";\r\n }\r\n\r\n }\r\n if(name==='comments' && value){\r\n const commentErrorMessage = validateComment(value);\r\n if(!!commentErrorMessage) errorMessage = commentErrorMessage;\r\n }\r\n \r\n setFormError((formErr) => {\r\n return { ...formErr, [errorKey]: errorMessage }\r\n })\r\n return { ...formError, [errorKey]: errorMessage }\r\n }\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Req No
    \r\n
    {formData.requestNo}
    \r\n
    \r\n {!isEditable ?
    \r\n
    Status
    \r\n
    \r\n {formData.status}\r\n
    \r\n
    :\r\n
    \r\n \r\n \r\n
    }\r\n\r\n {!isEditable ?
    \r\n
    Request Title
    \r\n
    {formData.requestTitle}
    \r\n
    :\r\n
    \r\n \r\n {formError.requestTitleError ? {formError.requestTitleError} : ''}\r\n \r\n
    }\r\n {!isEditable ?
    \r\n
    Technology
    \r\n
    {formData.Technology}
    \r\n
    :\r\n
    \r\n \r\n \r\n
    }\r\n\r\n {!isEditable ?
    \r\n
    Industry
    \r\n
    {formData.Industry}
    \r\n
    :\r\n
    \r\n \r\n \r\n
    }\r\n\r\n {!isEditable ?
    \r\n
    Functional Area
    \r\n
    {formData.FunctionArea}
    \r\n
    :\r\n
    \r\n \r\n \r\n
    }\r\n\r\n {!isEditable ?
    \r\n
    Service Offerings
    \r\n
    {formData.ServiceOffering}
    \r\n
    :\r\n
    \r\n \r\n \r\n
    }\r\n\r\n {!isEditable ?
    \r\n
    Market
    \r\n
    {formData.Markets?formData.Markets.map(item=>item.Name).join(','):\"\"}
    \r\n
    :\r\n
    \r\n \r\n {/* */}\r\n \r\n {formError.MarketsError ? {formError.MarketsError} : ''}\r\n
    }\r\n\r\n {!isEditable ?
    \r\n
    Category/nature
    \r\n
    {formData.Category}
    \r\n
    :\r\n
    \r\n \r\n \r\n
    }\r\n\r\n\r\n {!isEditable ?
    \r\n
    Content Type
    \r\n
    {formData.contentType?formData.contentType.map(item=>item.name).join(','):\"\"}
    \r\n
    :\r\n
    \r\n \r\n {/* ({...x,Name:x.name}))}\r\n selected_value={formData.contentType}\r\n use_name=\"true\" /> */}\r\n ({...x,Name:x.name}))}\r\n selectedValues={formData.contentType.map(x=>({...x,Name:x.name}))}\r\n isSelectAllOptionEnabled={false}\r\n // selectedValues={additionalAddonData.Markets}\r\n />\r\n {formError.contentTypeError ? {formError.contentTypeError} : ''}\r\n
    }\r\n\r\n\r\n {!isEditable ?
    \r\n
    Expected Date
    \r\n
    {formData['expectedDate'] ?format(new Date(formData['expectedDate']), \"dd-MMM-yyy\"):\"\"}
    \r\n
    :\r\n
    \r\n \r\n \r\n \r\n
    }\r\n\r\n\r\n {!isEditable ?
    \r\n
    Lead SME
    \r\n
    {formData.leadSME}
    \r\n
    :\r\n
    \r\n \r\n {formError.leadSMEError ? {formError.leadSMEError} : ''}\r\n\r\n
    \r\n }\r\n\r\n\r\n\r\n {!isEditable ?
    \r\n
    Service POC
    \r\n
    {formData.servicePOC}
    \r\n
    :\r\n
    \r\n {/* */}\r\n \r\n \r\n\r\n {formError.servicePOCError ? {formError.servicePOCError} : ''}\r\n\r\n
    \r\n\r\n }\r\n\r\n
    \r\n
    Created By
    \r\n
    {formData.createdBy}
    \r\n
    \r\n\r\n
    \r\n
    Created On
    \r\n
    {formData.createdOn}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEditable ?
    \r\n
    Document Link
    \r\n
    {formData.DocumentLink}
    \r\n
    :\r\n
    \r\n \r\n \r\n {formError.DocumentLinkError ? {formError.DocumentLinkError} : ''}\r\n
    \r\n \r\n }\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {internalRequestData.comments ? {parse(internalRequestData.comments)}
    : \"No Comments Yet\"}\r\n
    \r\n \r\n \r\n {formError.commentsError}\r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n {isUserCanEdit && (\r\n \r\n )}\r\n
    \r\n\r\n {showSpinner && }\r\n\r\n {error && \r\n

    {error}

    }\r\n\r\n );\r\n\r\n}\r\n\r\nexport default SalesAdvisoryAdditionalDetails;","import React, { useEffect, useState } from \"react\";\r\nimport \"./myc-request-additional-details.scss\";\r\nimport { addDays ,format } from \"date-fns\";\r\nimport NextButton from \"../../../../components/button/nextbutton\";\r\nimport { getData, postData } from \"../../../../api/api-manager\";\r\nimport parse from 'html-react-parser';\r\n//import basicWorkdaySchema from '../../../../assets/data/new-workday-form.json';\r\nimport { styledStatus } from \"../../../incident-management/common-functions\";\r\n//import { validateWorkdayAdminRequest } from \"./sales-advisory-additional-details-validation\";\r\nimport { CustomButton, CustomTextArea, CustomSelect, CustomInput, DatePicker, Spinner, Modal,dateFormat} from \"../../../form/common-functionality-forms/form-imports\";\r\nimport * as urlConfig from \"../../../../configs/api-base-url\";\r\nimport _ from \"lodash\" ;\r\nimport { validateWithPattern,validateComment} from '../../../../components/validators/validate';\r\nconst { INTERNAL_REQUEST_BASE_URL } = urlConfig;\r\n// const requiredFieldText = \"This is a required field.\";\r\n\r\nconst MYCREQUESTDetails = ({\r\n locationDetails,\r\n filterValues,\r\n serviceSelectedFilter,\r\n requestNumber,\r\n expectedDateFilter,\r\n internalRequestDetailsData,\r\n AdditionalDetailsData\r\n}) => {\r\n\r\n const [reqNo, setReqNo] = useState([]);\r\n const [error, setError] = useState(\"\");\r\n const [formData, setFormData] = useState({});\r\n const [formError, setFormError] = useState({});\r\n const [showSpinner, setSpinner] = useState(false);\r\n const [isEditable, setIsEditable] = useState(false);\r\n const [submitCalled, setSubmitCalled] = useState(false);\r\n const [showErrorPopup, setShowErrorPopup] = useState(false)\r\n const [statusList, setStatusList] = useState([]);\r\n //const [servicePocList, setServicePocList] = useState([]);\r\n const [isUserCanEdit, setIsUserCanEdit] = useState(false);\r\n const [additionalAddonData, setAdditionalAddonData] = useState({});\r\n const [internalRequestData, setInternalRequestData] = useState({});\r\n\r\n useEffect(() => {\r\n //set Additional add on form and InternalRequest details data\r\n setAdditionalAddonData(AdditionalDetailsData);\r\n setInternalRequestData(internalRequestDetailsData);\r\n\r\n // set initial form data using addon form and internal details data\r\n setInitialStates(AdditionalDetailsData, internalRequestDetailsData);\r\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n if (submitCalled) {\r\n getInternalRequestDetails();\r\n }\r\n }, [submitCalled]) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n //format date to dd-mmm-yy format\r\n const getFormattedDate = (formDate) => {\r\n let formattedDate = \"\";\r\n if (formDate) {\r\n let date = new Date(formDate);\r\n formattedDate = date.getDate() + \"-\" + (date.toLocaleString(\"en-US\", { month: \"short\" }).toUpperCase()) + \"-\" + date.getFullYear();\r\n }\r\n return formattedDate;\r\n }\r\n\r\n //call to get add on details after submitting the data to update the fields\r\n async function getDetails(internalData) {\r\n const response = await getData({\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName: `PopulateInternalRequestAddOnForm?requestNumber=${requestNumber}`,\r\n });\r\n const { data, success } = await response;\r\n const errorData = await response.error;\r\n if (success) {\r\n let additionalData = data.AdditionalDetails[0];\r\n setAdditionalAddonData(additionalData);\r\n setInitialStates(additionalData, internalData);\r\n setSpinner(false);\r\n } else {\r\n setError(errorData);\r\n setSpinner(false);\r\n setShowErrorPopup(true);\r\n }\r\n }\r\n\r\n\r\n\r\n //call to get internal details api data after submitting the data to update the fields\r\n async function getInternalRequestDetails() {\r\n const serviceName = `InternalRequestDetails?requestNumber=${requestNumber}`;\r\n const response = await getData({\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName,\r\n });\r\n\r\n const { success, data } = await response;\r\n const errorStatus = await response.error;\r\n if (success) {\r\n let internalData = data.internalRequestDetails[0]\r\n setInternalRequestData(internalData);\r\n setSubmitCalled(false);\r\n getDetails(internalData);\r\n } else {\r\n setError(errorStatus);\r\n setSpinner(false);\r\n setShowErrorPopup(true);\r\n }\r\n }\r\n\r\n const setInitialStates = (additionalDetails, internalRequestFormData) => {\r\n setFormError({});\r\n setReqNo(requestNumber);\r\n setInitialFormData(additionalDetails, internalRequestFormData);\r\n }\r\n\r\n const setInitialInternalData = (internalRequestDataRecv) => {\r\n setIsUserCanEdit(internalRequestDataRecv.isEditable);\r\n setStatusList(internalRequestDataRecv.statusList);\r\n //setServicePocList(internalRequestDataRecv.servicePoCList);\r\n }\r\n\r\n const setInitialFormData = (additionalDetails, internalRequestFormData) => {\r\n let initialFormData = { ...formData };\r\n initialFormData[\"Technology\"] = additionalDetails.Technology[0].Name;\r\n \r\n initialFormData[\"Industry\"] = additionalDetails.Industry? additionalDetails.Industry[0].Name:\"\";\r\n \r\n initialFormData[\"FunctionArea\"] = additionalDetails.FunctionArea ? additionalDetails.FunctionArea[0].Name:\"\";\r\n \r\n // initialFormData[\"Category\"] = additionalDetails.Category[0].Name;\r\n // initialFormData[\"contentType\"] = additionalDetails.ContentType;\r\n initialFormData[\"createdBy\"] = additionalDetails.CreatedBy;\r\n initialFormData[\"createdOn\"] = internalRequestFormData.createdOn;\r\n initialFormData[\"expectedDate\"] = internalRequestFormData.expectedDate ? new Date(internalRequestFormData.expectedDate) : null;\r\n // initialFormData[\"Markets\"] = additionalDetails.Markets;\r\n initialFormData[\"requestNumber\"] = additionalDetails.requestNumber;\r\n initialFormData[\"status\"] = internalRequestFormData.status;\r\n initialFormData[\"ApplicationType\"] = additionalDetails.ApplicationType[0].Name;\r\n \r\n initialFormData[\"RequestCategory\"] = additionalDetails.RequestCategory[0].Name;\r\n initialFormData[\"RequestType\"] = additionalDetails.RequestType[0].Name;\r\n initialFormData[\"CreatedOnBehalf\"] = additionalDetails.CreatedOnBehalf;\r\n initialFormData[\"ServiceOffering\"] =additionalDetails.ServiceOffering ? additionalDetails.ServiceOffering[0].Name:\"\";\r\n initialFormData[\"comments\"] = '';\r\n initialFormData[\"Description\"] = additionalDetails.Description;\r\n initialFormData[\"servicePOC\"] = internalRequestFormData.servicePoC;\r\n initialFormData[\"POC\"] = additionalDetails.POC;\r\n setFormData({ ...initialFormData });\r\n setInitialInternalData(internalRequestFormData);\r\n\r\n }\r\n \r\n\r\n const getId = (name, statusListItem) => {\r\n let filtered = [];\r\n filtered =\r\n statusListItem &&\r\n statusListItem.filter(function ({ Name }) {\r\n return Name === name;\r\n });\r\n if (filtered && filtered.length > 0) {\r\n return filtered[0].ID;\r\n }\r\n return \"\";\r\n };\r\n // const getMultiSelectId = (selectListItem) => {\r\n // let filtered = [];\r\n // filtered =\r\n // selectListItem &&\r\n // selectListItem.map(function ({ ID }) {\r\n // return ID;\r\n // });\r\n // if (filtered && filtered.length > 0) {\r\n // return filtered.join(\",\");\r\n // }\r\n // return \"\";\r\n // };\r\n// const handleMultiSelectChange = (value,name) =>{\r\n// if(name===\"contentType\" && value){\r\n// value= value.map(x=>({...x,name:x.Name}))\r\n// }\r\n// setFormData({ ...formData, [name]: value });\r\n// if((name ===\"contentType\" || name === \"Markets\") && !value.length){\r\n// let errorMessage = 'It is a required Field.';\r\n// let errorKey = `${name}Error`;\r\n// setFormError((formErr) => {\r\n// return { ...formErr, [errorKey]: errorMessage }\r\n// })\r\n// }\r\n// if((name ===\"contentType\" || name === \"Markets\") && value.length){\r\n// let errorMessage = '';\r\n// let errorKey = `${name}Error`;\r\n// setFormError((formErr) => {\r\n// return { ...formErr, [errorKey]: errorMessage }\r\n// })\r\n// }\r\n// }\r\n const handleChange = async (event) => {\r\n const { name, value } = event.target;\r\n setFormData({...formData, [name]: value });\r\n if (name === \"servicePOC\") {\r\n if (formData.status !== \"New\" && !value) {\r\n let errorMessage = \"This is a required field\";\r\n let errorKey = \"servicePOCError\";\r\n setFormError((formErr) => ({ ...formErr, [errorKey]: errorMessage }));\r\n } else {\r\n let errorMessage = \"\";\r\n let errorKey = \"servicePOCError\";\r\n setFormError((formErr) => ({ ...formErr, [errorKey]: errorMessage }));\r\n }\r\n } else if (name === \"status\") {\r\n if (value !== \"New\" && !formData.servicePOC) {\r\n let errorMessage = \"This is a required field\";\r\n let errorKey = \"servicePOCError\";\r\n setFormError((formErr) => ({ ...formErr, [errorKey]: errorMessage }));\r\n } else {\r\n let errorMessage = \"\";\r\n let errorKey = \"servicePOCError\";\r\n setFormError((formErr) => ({ ...formErr, [errorKey]: errorMessage }));\r\n }\r\n } \r\n if(name === \"Technology\"){\r\n let techId = additionalAddonData.TechnologyList.find(ele => ele.Name === event.target.value).ID;\r\n \r\n const response = await getData({ apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName:`GetDataForMyCSupport?appId=${additionalAddonData.ApplicationType[0].ID}&technologyId=${techId}&type=Technology` });\r\n const { success} = await response;\r\n if (success) {\r\n\r\n const IndustryList = response.data.filter((industry)=>industry.Type === \"IndustryGroup\").map(({ItemID, NAME, ...others})=>{\r\n return{ID:ItemID, Name: NAME, ...others}\r\n })\r\n const FunctionalList = response.data.filter((functional)=>functional.Type === \"FunctionGroup\").map(({ItemID, NAME, ...others})=>{\r\n return{ID:ItemID, Name: NAME, ...others}\r\n })\r\n const ServiceList = response.data.filter((service)=>service.Type === \"ServiceOffering\").map(({ItemID, NAME, ...others})=>{\r\n return{ID:ItemID, Name: NAME, ...others}\r\n })\r\n \r\n setAdditionalAddonData(\r\n \r\n {\r\n ...additionalAddonData,\r\n IndustryList:IndustryList || [],\r\n FunctionalList:FunctionalList || [],\r\n ServiceList: ServiceList || []\r\n }\r\n )\r\n } else {\r\n setError(error)\r\n setShowErrorPopup(true)\r\n }\r\n }\r\n //validateDropdown(name,value)\r\n }\r\n\r\n // const validateDropdown = (name, value) =>{\r\n\r\n // let tempFormError = formError;\r\n // if (name === \"status\" && value !== \"New\" && servicePocList.length > 0) {\r\n // let filterPOC = servicePocList.filter(record => record.Name === formData.servicePOC);\r\n // if (filterPOC.length === 0) {\r\n // tempFormError[\"servicePocError\"] = requiredFieldText;\r\n // }\r\n // } else if (name === \"servicePOC\") {\r\n // tempFormError[\"servicePocError\"] = \"\";\r\n // }\r\n // setFormError( { ...formError, ...tempFormError});\r\n // }\r\n const handleDateChangeRaw = (e) => { e.preventDefault(); };\r\n const handleExpectedDate = (date) => {\r\n setFormData({ ...formData, \"expectedDate\": date });\r\n };\r\n\r\n\r\n const handleErrorPopUp = () => {\r\n setShowErrorPopup(false);\r\n }\r\n\r\n const handleButton = async (event) => {\r\n \r\n const response = await getData({ apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName:`GetDataForMyCSupport?appId=${additionalAddonData.ApplicationType[0].ID}&technologyId=${additionalAddonData.Technology[0].ID}&type=Technology` });\r\n const { success } = await response;\r\n if (success) {\r\n\r\n const IndustryList = response.data.filter((industry)=>industry.Type === \"IndustryGroup\").map(({ItemID, NAME, ...others})=>{\r\n return{ID:ItemID, Name: NAME, ...others}\r\n })\r\n const FunctionalList = response.data.filter((functional)=>functional.Type === \"FunctionGroup\").map(({ItemID, NAME, ...others})=>{\r\n return{ID:ItemID, Name: NAME, ...others}\r\n })\r\n const ServiceList = response.data.filter((service)=>service.Type === \"ServiceOffering\").map(({ItemID, NAME, ...others})=>{\r\n return{ID:ItemID, Name: NAME, ...others}\r\n })\r\n \r\n setAdditionalAddonData(\r\n \r\n {\r\n ...additionalAddonData,\r\n IndustryList:IndustryList || [],\r\n FunctionalList:FunctionalList || [],\r\n ServiceList: ServiceList || []\r\n }\r\n )\r\n }\r\n if (isEditable) {\r\n \r\n \r\n setInitialStates(additionalAddonData, internalRequestData);\r\n\r\n \r\n \r\n }\r\n setIsEditable(!isEditable);\r\n }\r\n\r\n const handleBack = async () => {\r\n locationDetails.history.push({\r\n pathname: \"/requests\",\r\n state: {\r\n isFromInternalRequest: true,\r\n filterValues: filterValues,\r\n serviceSelectedFilter: serviceSelectedFilter,\r\n expectedDateFilter: expectedDateFilter\r\n }\r\n })\r\n }\r\n\r\n const enableUpdateButton = () => {\r\n if (Object.keys(additionalAddonData).length > 0) {\r\n const isError = Object.values(formError).filter(\r\n (item) => item !== \"\"\r\n );\r\n return (\r\n (isError.length <= 0) &&\r\n ((formData.comments !== \"\")||checkAddtionalDetailsChanges()||checkInternalRequestChanges())?\r\n true : false)\r\n } else return false;\r\n\r\n \r\n }\r\n const checkAddtionalDetailsChanges = () =>{\r\n let isChanged = true;\r\n if(\r\n \r\n (additionalAddonData.Technology[0].Name === formData.Technology) &&\r\n (additionalAddonData.RequestCategory[0].Name === formData.RequestCategory) &&\r\n (additionalAddonData.RequestType[0].Name === formData.RequestType)&&\r\n (additionalAddonData.Description === formData.Description)&&\r\n (additionalAddonData.POC === formData.POC)&&\r\n (additionalAddonData.ServiceOffering?additionalAddonData.ServiceOffering[0].Name === formData.ServiceOffering:((_.size(additionalAddonData.ServiceOffering)=== 0)?(_.size(formData.ServiceOffering)>0 ?false:true):true))&&\r\n (additionalAddonData.FunctionArea?additionalAddonData.FunctionArea[0].Name === formData.FunctionArea:((_.size(additionalAddonData.FunctionArea)=== 0)?(_.size(formData.FunctionArea)>0 ?false:true):true))&&\r\n (additionalAddonData.Industry?additionalAddonData.Industry[0].Name === formData.Industry:((_.size(additionalAddonData.Industry)=== 0)?(_.size(formData.Industry)>0 ?false:true):true))\r\n\r\n \r\n \r\n \r\n )\r\n \r\n {\r\n isChanged = false\r\n }\r\n return isChanged;\r\n \r\n }\r\n const checkInternalRequestChanges = () =>{\r\n let isChanged = true;\r\n if(\r\n (internalRequestData.status === formData.status) &&\r\n (internalRequestData.createdBy === formData.createdBy) &&\r\n (internalRequestData.createdOn === formData.createdOn)&&\r\n (internalRequestData.servicePoC === formData.servicePOC) &&\r\n (getFormattedDate(internalRequestData.expectedDate) === getFormattedDate(formData.expectedDate)) \r\n ){\r\n isChanged = false\r\n }\r\n return isChanged;\r\n }\r\n\r\n const validatefieldsBeforeSubmit = () => {\r\n let formDetails = {\r\n TechnologyID : getId(formData.Technology, additionalAddonData.TechnologyList) ,\r\n RequestCategoryID : getId(formData.RequestCategory, additionalAddonData.RequestCategoryList),\r\n RequestTypeID : getId(formData.RequestType, additionalAddonData.RequestTypeList),\r\n IndustryID : getId(formData.Industry, additionalAddonData.IndustryList),\r\n FunctionAreaID : getId(formData.FunctionArea, additionalAddonData.FunctionalList),\r\n ServiceOfferingID :getId(formData.ServiceOffering, additionalAddonData.ServiceList),\r\n \r\n \r\n \r\n };\r\n\r\n let fields = ['comments',\"Description\"];\r\n let tempFormError = {...formError};\r\n fields.forEach(key=>{\r\n tempFormError= {...tempFormError,...validateInput(key,formData[key])};\r\n })\r\n if( formData.status !== \"New\" && !formData[\"servicePOC\"]){\r\n let errorMessage = 'It is a required Field.';\r\n let errorKey = `servicePOCError`;\r\n tempFormError = { ...tempFormError,[errorKey]: errorMessage}\r\n }\r\n if( formData.status !== \"New\" && formData[\"servicePOC\"] !== \"\"){\r\n let errorMessage = '';\r\n let errorKey = `servicePOCError`;\r\n tempFormError = { ...tempFormError,[errorKey]: errorMessage}\r\n }\r\n\r\n if(!formData[\"Description\"].length){\r\n let errorMessage = 'It is a required Field.';\r\n let errorKey = `DescriptionTypeError`;\r\n tempFormError = { ...tempFormError,[errorKey]: errorMessage}\r\n }\r\n \r\n // if(!formData[\"Markets\"].length){\r\n // let errorMessage = 'It is a required Field.';\r\n // let errorKey = `MarketsError`;\r\n // tempFormError = { ...tempFormError,[errorKey]: errorMessage}\r\n // }\r\n setFormError({...formError,...tempFormError})\r\n const isError = Object.values(formError).filter(\r\n (item) => item !== \"\"\r\n );\r\n const isAllError = Object.values(tempFormError).filter(\r\n (item) => item !== \"\"\r\n );\r\n if ((!isError.length > 0) && (!isAllError.length > 0) ) {\r\n handleSubmit(formDetails);\r\n }\r\n }\r\n\r\n const handleSubmit = async (formDetails) => {\r\n let data = {\r\n additionalDetails: {\r\n RequestNumber: reqNo,\r\n RequestTitle : \"\",\r\n POC : formData.POC,\r\n expectedDate : formData.expectedDate? dateFormat(formData.expectedDate, \"isoDate\"):null,\r\n status : formData.servicePOC && formData.status === 'New'?getId( formData.status = 'Assigned', statusList) :getId(formData.status, statusList),\r\n ServicePOC : formData.servicePOC,\r\n AdditionalDetails: [formDetails]\r\n }\r\n };\r\n\r\n if (formData.comments !== \"\") {\r\n data.additionalDetails = { ...data.additionalDetails, Comments: formData.comments }\r\n setFormData({ ...formData, comments: '' });\r\n }\r\n const serviceName = `UpdateMyCDetails?requestNumber=${reqNo}`\r\n const response = await postData({\r\n serviceName: serviceName,\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n data: data\r\n });\r\n const { success } = await response;\r\n const errorCheck = await response.error;\r\n if (success) {\r\n setSubmitCalled(true);\r\n setIsEditable(false);\r\n setSpinner(false);\r\n \r\n }\r\n else {\r\n setError(errorCheck);\r\n setSpinner(false);\r\n setShowErrorPopup(true);\r\n }\r\n \r\n }\r\n\r\n const handleInput = async (event) => {\r\n event.preventDefault()\r\n const { name, value } = event.target;\r\n setFormData({ ...formData, [name]: value });\r\n validateInput(name, value)\r\n \r\n }\r\n const validateInput = (name, value) => {\r\n let isValid, errorMessage = '', errorKey = `${name}Error`;\r\n let requiredFields = [\"requestTitle\",\"Description\"];\r\n let patternFields = ['POC'];\r\n let patternRequired= patternFields.includes(name);\r\n let isRequired = requiredFields.includes(name);\r\n if (value === '' || value === undefined){\r\n if(isRequired) {\r\n errorMessage = 'It is a required Field.';\r\n }\r\n else{\r\n errorMessage = 'This is a required Field';\r\n }\r\n }\r\n\r\n if(patternRequired && value){\r\n let pattern = \"^[a-zA-Z0-9_.+-]+@(?:(?:[a-zA-Z0-9-]+\\\\.)?[a-zA-Z]+\\\\.)?(avanade|accenture)\\\\.com$\"\r\n isValid = validateWithPattern({ pattern, value });\r\n if (!isValid) {\r\n errorMessage = \"Enter a valid email, only Accenture and Avanade domain is valid.\";\r\n }\r\n }\r\n if(name==='Description' && value){\r\n let dlPattern = \"^[^\\\\<\\\\>]+$\";\r\n isValid = validateWithPattern({ dlPattern, value });\r\n if (!isValid) {\r\n errorMessage = \"Invalid Comments. symbols < > are not allowed.\";\r\n }\r\n if(value.length<20){\r\n errorMessage =\"Description should be at least 20 characters long\";\r\n }\r\n if(value.length>25000){\r\n errorMessage =\"Description should not be more than 25000 characters long.\";\r\n }\r\n\r\n }\r\n \r\n if(name==='comments' && value){\r\n const commentErrorMessage = validateComment(value);\r\n if(!!commentErrorMessage) errorMessage = commentErrorMessage;\r\n }\r\n if (name === 'POC' && value) {\r\n let pattern = \"^[a-zA-Z0-9_.+-]+@(?:(?:[a-zA-Z0-9-]+\\\\.)?[a-zA-Z]+\\\\.)?(avanade|accenture)\\\\.com$\";\r\n isValid = validateWithPattern({ pattern, value });\r\n if (!isValid) {\r\n errorMessage = \"Enter a valid email, only Accenture and Avanade domain is valid.\";\r\n }\r\n }\r\n\r\n setFormError((formErr) => {\r\n return { ...formErr, [errorKey]: errorMessage }\r\n })\r\n return { ...formError, [errorKey]: errorMessage }\r\n }\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Req No
    \r\n
    {formData.requestNumber}
    \r\n
    \r\n {!isEditable ?
    \r\n
    Status
    \r\n
    \r\n {formData.status}\r\n
    \r\n
    :\r\n
    \r\n \r\n \r\n
    }\r\n\r\n {!isEditable ?
    \r\n
    Application Name
    \r\n
    {formData.ApplicationType}
    \r\n
    :\r\n
    \r\n \r\n \r\n \r\n
    }\r\n {!isEditable ?
    \r\n
    Technology
    \r\n
    {formData.Technology}
    \r\n
    :\r\n
    \r\n \r\n \r\n \r\n
    }\r\n {!isEditable ?
    \r\n
    Request Category
    \r\n
    {formData.RequestCategory}
    \r\n\r\n
    :\r\n
    \r\n \r\n \r\n
    }\r\n {!isEditable ?
    \r\n
    Request Type
    \r\n
    {formData.RequestType}
    \r\n
    :\r\n
    \r\n \r\n \r\n
    }\r\n\r\n\r\n\r\n {!isEditable ?
    \r\n
    Industry
    \r\n
    {formData.Industry}
    \r\n
    :\r\n
    \r\n \r\n \r\n
    }\r\n\r\n {!isEditable ?
    \r\n
    Functional Area
    \r\n
    {formData.FunctionArea}
    \r\n
    :\r\n
    \r\n \r\n \r\n
    }\r\n\r\n {!isEditable ?
    \r\n
    Service Offerings
    \r\n
    {formData.ServiceOffering}
    \r\n
    :\r\n
    \r\n \r\n \r\n
    }\r\n\r\n {!isEditable ? (\r\n
    \r\n
    Expected Date
    \r\n
    \r\n {formData['expectedDate']\r\n ? format(new Date(formData['expectedDate']), \"dd-MMM-yyyy\")\r\n : \"\"}\r\n
    \r\n
    \r\n) : (\r\n
    \r\n \r\n \r\n
    \r\n)}\r\n\r\n\r\n {!isEditable ?
    \r\n
    Service POC
    \r\n
    {formData.servicePOC}
    \r\n
    :\r\n
    \r\n {/* */}\r\n \r\n \r\n\r\n {formError.servicePOCError ? {formError.servicePOCError} : ''}\r\n\r\n
    \r\n\r\n }\r\n {!isEditable ? ( \r\n
    \r\n
    Project Point of Contact
    \r\n
    {formData.POC}
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n {formError.POCError ? (\r\n {formError.POCError}\r\n ) : null}\r\n
    \r\n)}\r\n\r\n
    \r\n
    Requestor
    \r\n
    {`${formData.createdBy}@accenture.com`}
    \r\n
    \r\n
    \r\n
    On Behalf of
    \r\n
    {formData.CreatedOnBehalf}
    \r\n
    \r\n
    \r\n
    Created By
    \r\n
    {`${formData.createdBy}@accenture.com`}
    \r\n
    \r\n\r\n
    \r\n
    Created On
    \r\n
    {formData.createdOn}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEditable ?
    \r\n
    Description of the Requested service
    \r\n
    {formData.Description}
    \r\n
    :\r\n
    \r\n \r\n \r\n {formError.DescriptionError ? {formError.DescriptionError} : ''}\r\n
    \r\n\r\n }\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {internalRequestData.comments ? {parse(internalRequestData.comments.toString(\"html\"))}
    : \"No Comments Yet\"}\r\n
    \r\n \r\n \r\n {formError.commentsError}\r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n {isUserCanEdit && (\r\n \r\n )} \r\n {/* */}\r\n
    \r\n\r\n {showSpinner && }\r\n\r\n {error && \r\n

    {error}

    }\r\n\r\n );\r\n\r\n}\r\n\r\nexport default MYCREQUESTDetails;","import React, { useEffect, useState } from \"react\";\r\nimport \"./infra-support-additional-details.scss\";\r\nimport { addDays ,format } from \"date-fns\";\r\nimport NextButton from \"../../../../components/button/nextbutton\";\r\nimport { getData, postData } from \"../../../../api/api-manager\";\r\n//import basicWorkdaySchema from '../../../../assets/data/new-workday-form.json';\r\nimport { styledStatus } from \"../../../incident-management/common-functions\";\r\nimport parse from 'html-react-parser';\r\n//import { validateWorkdayAdminRequest } from \"./sales-advisory-additional-details-validation\";\r\nimport { CustomButton, CustomTextArea, CustomSelect,Checkbox, Spinner,DatePicker ,Modal} from \"../../../form/common-functionality-forms/form-imports\";\r\nimport * as urlConfig from \"../../../../configs/api-base-url\";\r\nimport { validateWithPattern,validateComment} from '../../../../components/validators/validate';\r\nconst { INTERNAL_REQUEST_BASE_URL } = urlConfig;\r\n//const requiredFieldText = \"This is a required field.\";\r\n\r\nconst InfraSupportAdditionalDetails = ({\r\n locationDetails,\r\n filterValues,\r\n serviceSelectedFilter,\r\n requestNumber,\r\n expectedDateFilter,\r\n internalRequestDetailsData,\r\n AdditionalDetailsData\r\n}) => {\r\n\r\n const [reqNo, setReqNo] = useState([]);\r\n const [error, setError] = useState(\"\");\r\n const [formData, setFormData] = useState({});\r\n const [formError, setFormError] = useState({});\r\n const [showSpinner, setSpinner] = useState(false);\r\n const [isEditable, setIsEditable] = useState(false);\r\n const [submitCalled, setSubmitCalled] = useState(false);\r\n const [isUserCanEdit, setIsUserCanEdit] = useState(false);\r\n const [showErrorPopup, setShowErrorPopup] = useState(false)\r\n const [statusList, setStatusList] = useState([]);\r\n const [notifyUser, setStateNotifyUser] = useState(false);\r\n const [checked, setStateChecked] = useState(false);\r\n const [additionalAddonData, setAdditionalAddonData] = useState({});\r\n const [internalRequestData, setInternalRequestData] = useState({});\r\n \r\n useEffect(() => {\r\n //set Additional add on form and InternalRequest details data\r\n setAdditionalAddonData(AdditionalDetailsData);\r\n setInternalRequestData(internalRequestDetailsData);\r\n\r\n // set initial form data using addon form and internal details data\r\n setInitialStates(AdditionalDetailsData, internalRequestDetailsData);\r\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n useEffect(() => {\r\n if (submitCalled) {\r\n getInternalRequestDetails();\r\n }\r\n }, [submitCalled]) // eslint-disable-line react-hooks/exhaustive-deps\r\n console.log(notifyUser)\r\n //format date to dd-mmm-yy format\r\n const getFormattedDate = (formDate) => {\r\n let formattedDate = \"\";\r\n if (formDate) {\r\n let date = new Date(formDate);\r\n formattedDate = date.getDate() + \"-\" + (date.toLocaleString(\"en-US\", { month: \"short\" }).toUpperCase()) + \"-\" + date.getFullYear();\r\n }\r\n return formattedDate;\r\n }\r\n\r\n //call to get add on details after submitting the data to update the fields\r\n async function getDetails(internalData) {\r\n const response = await getData({\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName: `PopulateInternalRequestAddOnForm?requestNumber=${requestNumber}`,\r\n });\r\n const { data, success } = await response;\r\n const errorData = await response.error;\r\n if (success) {\r\n let additionalData = data.AdditionalDetails[0];\r\n setAdditionalAddonData(additionalData);\r\n setInitialStates(additionalData, internalData);\r\n setSpinner(false);\r\n } else {\r\n setError(errorData);\r\n setSpinner(false);\r\n setShowErrorPopup(true);\r\n }\r\n }\r\n\r\n //call to get internal details api data after submitting the data to update the fields\r\n async function getInternalRequestDetails() {\r\n const serviceName = `InternalRequestDetails?requestNumber=${requestNumber}`;\r\n const response = await getData({\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName,\r\n });\r\n \r\n const { success, data } = await response;\r\n const errorStatus = await response.error;\r\n if (success) {\r\n let internalData = data.internalRequestDetails[0]\r\n setInternalRequestData(internalData);\r\n setSubmitCalled(false);\r\n getDetails(internalData);\r\n } else {\r\n setError(errorStatus);\r\n setSpinner(false);\r\n setShowErrorPopup(true);\r\n }\r\n }\r\n\r\n const setInitialStates = (additionalDetails, internalRequestFormData) => {\r\n setFormError({});\r\n setReqNo(requestNumber);\r\n setInitialFormData(additionalDetails, internalRequestFormData);\r\n }\r\n\r\n const setInitialInternalData = (internalRequestDataRecv) => {\r\n setIsUserCanEdit(internalRequestDataRecv.isEditable);\r\n setStatusList(internalRequestDataRecv.statusList);\r\n // setServicePocList(internalRequestDataRecv.servicePoCList);\r\n }\r\n\r\n const setInitialFormData = (additionalDetails, internalRequestFormData) => {\r\n let initialFormData = { ...formData };\r\n initialFormData[\"technology\"] = internalRequestFormData.technology; \r\n initialFormData[\"LineManager\"] = additionalDetails.LineManager; \r\n initialFormData[\"ApplicationName\"] = additionalDetails.ApplicationName; \r\n initialFormData[\"Category\"] = additionalDetails.Category[0].Name; \r\n initialFormData[\"Priority\"] = additionalDetails.Priority[0].Name;\r\n initialFormData[\"createdBy\"] = internalRequestFormData.createdBy;\r\n initialFormData[\"createdOn\"] = internalRequestFormData.createdOn;\r\n initialFormData[\"expectedDate\"] = internalRequestFormData.expectedDate;\r\n initialFormData[\"Environment\"] = additionalDetails.Environment[0].Name; \r\n initialFormData[\"requestNumber\"] = additionalDetails.requestNumber;\r\n initialFormData[\"status\"] = internalRequestFormData.status; \r\n initialFormData[\"ResolutionSteps\"] = additionalDetails.ResolutionSteps;\r\n initialFormData[\"requestor\"] = internalRequestFormData.requestor ; \r\n initialFormData[\"comments\"] = '';\r\n initialFormData[\"IssueDescription\"] = additionalDetails.IssueDescription;\r\n initialFormData[\"servicePoC\"] = internalRequestFormData.servicePoC;\r\n initialFormData[\"onBehalfOf\"] = internalRequestFormData.onBehalfOf;\r\n initialFormData[\"requestTitle\"] = internalRequestFormData.requestTitle;\r\n setFormData({ ...initialFormData });\r\n setInitialInternalData(internalRequestFormData);\r\n \r\n }\r\n\r\n const getId = (name, statusListItem) => {\r\n let filtered = [];\r\n filtered =\r\n statusListItem &&\r\n statusListItem.filter(function ({ Name }) {\r\n return Name === name;\r\n });\r\n if (filtered && filtered.length > 0) {\r\n return filtered[0].ID;\r\n }\r\n return \"\";\r\n };\r\n const handleChange = async (event) => {\r\n const { name, value } = event.target;\r\n setFormData({...formData, [name]: value });\r\n if (name === \"servicePoC\") {\r\n if (formData.status !== \"New\" && !value) {\r\n let errorMessage = \"This is a required field\";\r\n let errorKey = \"servicePOCError\";\r\n setFormError((formErr) => ({ ...formErr, [errorKey]: errorMessage }));\r\n } else {\r\n let errorMessage = \"\";\r\n let errorKey = \"servicePOCError\";\r\n setFormError((formErr) => ({ ...formErr, [errorKey]: errorMessage }));\r\n }\r\n } else if (name === \"status\") {\r\n if (value !== \"New\" && !formData.servicePoC) {\r\n let errorMessage = \"This is a required field\";\r\n let errorKey = \"servicePOCError\";\r\n setFormError((formErr) => ({ ...formErr, [errorKey]: errorMessage }));\r\n } else {\r\n let errorMessage = \"\";\r\n let errorKey = \"servicePOCError\";\r\n setFormError((formErr) => ({ ...formErr, [errorKey]: errorMessage }));\r\n }\r\n } \r\n \r\n //validateDropdown(name,value)\r\n }\r\n \r\n const handleDateChangeRaw = (e) => { e.preventDefault(); };\r\n const handleExpectedDate = (date) => { \r\n setFormData({ ...formData, \"expectedDate\": date });\r\n };\r\n\r\n\r\n const handleErrorPopUp = () => {\r\n setShowErrorPopup(false);\r\n }\r\n\r\n const handleButton = () => {\r\n if (isEditable) {\r\n setInitialStates(additionalAddonData, internalRequestData);\r\n\r\n }\r\n setIsEditable(!isEditable);\r\n }\r\n\r\n const handleBack = async () => {\r\n locationDetails.history.push({ \r\n pathname: \"/requests\",\r\n state: {\r\n isFromInternalRequest: true,\r\n filterValues: filterValues,\r\n serviceSelectedFilter: serviceSelectedFilter,\r\n expectedDateFilter: expectedDateFilter\r\n }\r\n })\r\n }\r\n\r\n const enableUpdateButton = () => {\r\n if (Object.keys(additionalAddonData).length > 0) {\r\n const isError = Object.values(formError).filter(\r\n (item) => item !== \"\"\r\n );\r\n return (\r\n (isError.length <= 0) &&\r\n ((formData.comments !== \"\") || checkAddtionalDetailsChanges() || checkInternalRequestChanges() || checked)?\r\n true : false)\r\n } else return false;\r\n }\r\n\r\n\r\n const checkAddtionalDetailsChanges = () =>{\r\n let isChanged = true;\r\n if(\r\n (additionalAddonData.ResolutionSteps === formData.ResolutionSteps)&&\r\n (additionalAddonData.Category[0].Name === formData.Category)&&\r\n (additionalAddonData.Priority[0].Name === formData.Priority) &&\r\n (additionalAddonData.Environment[0].Name === formData.Environment)&&\r\n (additionalAddonData.IssueDescription === formData.IssueDescription)\r\n\r\n ){\r\n isChanged = false\r\n }\r\n return isChanged;\r\n }\r\n\r\n\r\n const checkInternalRequestChanges = () =>{\r\n let isChanged = true;\r\n if(\r\n (internalRequestData.status === formData.status) &&\r\n (internalRequestData.requestTitle === formData.requestTitle) &&\r\n (internalRequestData.servicePoC === formData.servicePoC) &&\r\n (internalRequestData.createdBy === formData.createdBy) &&\r\n (internalRequestData.createdOn === formData.createdOn)&&\r\n (internalRequestData.requestor === formData.requestor)&&\r\n (getFormattedDate(internalRequestData.expectedDate) === getFormattedDate(formData.expectedDate)) \r\n ){\r\n isChanged = false\r\n }\r\n return isChanged;\r\n \r\n }\r\n \r\n const validatefieldsBeforeSubmit = () => {\r\n let formDetails = {\r\n Technology : getId(formData.technology, internalRequestData.technologyList), \r\n LineManager: formData.LineManager,\r\n ApplicationName:formData.ApplicationName,\r\n Priority:getId(formData.Priority, additionalAddonData.PriorityList),\r\n Environment:getId(formData.Environment, additionalAddonData.EnvironmentList),\r\n Requestor:formData.createdBy,\r\n onBehalfOf:formData.onBehalfOf,\r\n createdBy:formData.createdBy,\r\n createdOn:formData.createdOn,\r\n IssueDescription:formData.IssueDescription,\r\n ResolutionSteps:formData.ResolutionSteps,\r\n Category : getId(formData.Category, additionalAddonData.CategoryList)\r\n\r\n\r\n\r\n };\r\n\r\n let fields = [\"requestTitle\",'comments'];\r\n let tempFormError = {...formError};\r\n fields.forEach(key=>{\r\n tempFormError= {...tempFormError,...validateInput(key,formData[key])};\r\n })\r\n if( formData.status !== \"New\" && !formData[\"servicePOC\"]){\r\n let errorMessage = 'It is a required Field.';\r\n let errorKey = `servicePOCError`;\r\n tempFormError = { ...tempFormError,[errorKey]: errorMessage}\r\n }\r\n if( formData.status !== \"New\" && formData[\"servicePOC\"] !== \"\"){\r\n let errorMessage = '';\r\n let errorKey = `servicePOCError`;\r\n tempFormError = { ...tempFormError,[errorKey]: errorMessage}\r\n }\r\n setFormError({...formError,...tempFormError})\r\n const isError = Object.values(formError).filter(\r\n (item) => item !== \"\"\r\n );\r\n const isAllError = Object.values(tempFormError).filter(\r\n (item) => item !== \"\"\r\n );\r\n if ((!isError.length > 0) && (!isAllError.length > 0) ) {\r\n handleSubmit(formDetails);\r\n }\r\n }\r\n const handleCheckBox = (e) => {\r\n setStateChecked(e.target.checked)\r\n if (e.target.checked) {\r\n setStateNotifyUser(true)\r\n }\r\n else {\r\n setStateNotifyUser(false)\r\n }\r\n }\r\n\r\n const handleSubmit = async (formDetails) => {\r\n let data = {\r\n additionalDetails: {\r\n RequestNumber: reqNo,\r\n RequestTitle : formData.requestTitle,\r\n status: formData.servicePoC && formData.status === 'New'?getId( formData.status = 'Assigned', statusList) :getId(formData.status, statusList),\r\n ServicePOC: formData.servicePoC ?formData.servicePoC.split(\"@\")[0]:\"\",\r\n isNotifyEnabledOnComments:checked,\r\n expectedDate :formData.expectedDate,\r\n AdditionalDetails: [formDetails]\r\n }\r\n };\r\n\r\n if (formData.comments !== \"\") {\r\n data.additionalDetails = { ...data.additionalDetails, Comments: formData.comments }\r\n setFormData({ ...formData, comments: '' });\r\n }\r\n const serviceName = `UpdateInfraSupportDetails?requestNumber=${reqNo}`\r\n const response = await postData({\r\n serviceName: serviceName,\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n data: data\r\n });\r\n const { success } = await response;\r\n const errorCheck = await response.error;\r\n if (success) {\r\n setSubmitCalled(true);\r\n setIsEditable(false);\r\n setSpinner(true);\r\n setStateChecked(false);\r\n }\r\n else {\r\n setError(errorCheck);\r\n setSpinner(true);\r\n setShowErrorPopup(true);\r\n setStateChecked(false);\r\n }\r\n }\r\n\r\n const handleInput = async (event) => {\r\n event.preventDefault()\r\n const { name, value } = event.target;\r\n setFormData({ ...formData, [name]: value });\r\n validateInput(name, value)\r\n }\r\n const validateInput = (name, value) => {\r\n let isValid, errorMessage = '', errorKey = `${name}Error`;\r\n let requiredFields = [\"requestTitle\",\"DocumentLink\"];\r\n\r\n let isRequired = requiredFields.includes(name);\r\n if (value === '' || value === undefined){\r\n if(isRequired) {\r\n errorMessage = 'It is a required Field.';\r\n } \r\n else{\r\n errorMessage = 'This is a required Field';\r\n }\r\n }\r\n if(name==='DocumentLink' && value){\r\n let dlPattern = \"^[^\\\\<\\\\>]+$\";\r\n isValid = validateWithPattern({ dlPattern, value });\r\n if (!isValid) {\r\n errorMessage = \"Invalid Comments. symbols < > are not allowed.\";\r\n }\r\n if(value.length<20){\r\n errorMessage =\"Document Link(s) should be at least 20 characters long\";\r\n }\r\n if(value.length>25000){\r\n errorMessage =\"Document Link(s) should not be more than 25000 characters long.\";\r\n }\r\n\r\n }\r\n if(name==='comments' && value){\r\n const commentErrorMessage = validateComment(value);\r\n if(!!commentErrorMessage) errorMessage = commentErrorMessage;\r\n }\r\n \r\n setFormError((formErr) => {\r\n return { ...formErr, [errorKey]: errorMessage }\r\n })\r\n return { ...formError, [errorKey]: errorMessage }\r\n }\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Req No
    \r\n
    {formData.requestNumber}
    \r\n
    \r\n {!isEditable ?
    \r\n
    Status
    \r\n
    \r\n {formData.status}\r\n
    \r\n
    :\r\n
    \r\n \r\n \r\n \r\n
    }\r\n\r\n
    \r\n
    Request Title
    \r\n
    {formData.requestTitle}
    \r\n
    \r\n
    \r\n
    Technology
    \r\n
    {formData.technology}
    \r\n
    \r\n\r\n {!isEditable ?
    \r\n
    Category
    \r\n
    {formData.Category}
    \r\n
    :\r\n
    \r\n \r\n \r\n
    }\r\n\r\n {!isEditable? (\r\n
    \r\n
    Expected Date
    \r\n
    \r\n {formData['expectedDate']\r\n ? format(new Date(formData['expectedDate']), \"dd-MMM-yyyy\")\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
    Line Manager/alternate contact
    \r\n
    {formData.LineManager}
    \r\n
    \r\n\r\n \r\n
    \r\n
    Application Name
    \r\n
    {formData.ApplicationName}
    \r\n
    \r\n\r\n \r\n {!isEditable ?
    \r\n
    Priority
    \r\n
    {formData.Priority}
    \r\n
    :\r\n
    \r\n \r\n \r\n
    }\r\n\r\n \r\n
    \r\n
    Environment
    \r\n
    {formData.Environment}
    \r\n
    \r\n\r\n\r\n\r\n {!isEditable ?
    \r\n
    Service POC
    \r\n
    {formData.servicePoC}
    \r\n
    :\r\n
    \r\n \r\n \r\n\r\n {formError.servicePOCError ? {formError.servicePOCError} : ''}\r\n\r\n
    \r\n\r\n }\r\n
    \r\n
    Requestor
    \r\n
    {formData.createdBy}
    \r\n
    \r\n
    \r\n
    On Behalf of
    \r\n
    {formData.onBehalfOf}
    \r\n
    \r\n\r\n
    \r\n
    Created By
    \r\n
    {formData.createdBy}
    \r\n
    \r\n\r\n
    \r\n
    Created On
    \r\n
    {formData.createdOn}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Issue Description
    \r\n \r\n
    {formData.IssueDescription}
    \r\n \r\n
    \r\n

    \r\n {additionalAddonData.IsServicePOC &&(
    \r\n {!isEditable && additionalAddonData.IsServicePOC ?
    \r\n
    Resolution Steps
    \r\n
    {formData.ResolutionSteps}
    \r\n
    :\r\n\r\n
    \r\n \r\n \r\n {formError.DocumentLinkError ? {formError.DocumentLinkError} : ''}\r\n
    }\r\n
    )}\r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {internalRequestData.comments ? {parse(internalRequestData.comments)}
    : \"No Comments Yet\"}\r\n
    \r\n \r\n \r\n {formError.commentsError}\r\n \r\n
    \r\n \r\n \r\n
    \r\n {additionalAddonData.IsNotifyEnabledOnComments &&(\r\n
    \r\n
    { handleCheckBox(e); }} disabled={!internalRequestData.isCommentsEditable} checked={checked} />Notify requester through email
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n {isUserCanEdit && (\r\n \r\n )}\r\n
    \r\n\r\n {showSpinner && }\r\n\r\n {error && \r\n

    {error}

    }\r\n\r\n );\r\n\r\n}\r\n\r\nexport default InfraSupportAdditionalDetails;","import React, { Component, Fragment } from \"react\";\r\nimport \"./request-details.scss\";\r\nimport RichTextEditor from \"react-rte\";\r\nimport AttachmentDetails from \"../../requests-grid/assignment/attachment-details\";\r\nimport InternalRequestBasicDetails from \"../../internal-request-management/internal-request-additional-details/internal-request-basic-details/internal-request-basic-details\"\r\nimport AzureObjects from \"./../azure-objects/azure-objects\";\r\nimport { getData } from \"../../../api/api-manager\";\r\nimport { INTERNAL_REQUEST_BASE_URL } from \"../../../configs/api-base-url\";\r\nimport DiaRequestAdditionalDetails from \"../../internal-request-management/internal-request-additional-details/dia-request-additional-details/dia-request-additional-details\"\r\nimport ScopeChangeRequestAdditionalDetails from \"../../internal-request-management/internal-request-additional-details/scope-change-request-additional-details/scope-change-request-additional-details\"\r\nimport AcceleratorRequestAdditionalDetails from \"../../internal-request-management/internal-request-additional-details/accelerator-request-additional-details/accelerator-request-additional-details\"\r\nimport StaffingRequestAdditionalDetails from \"../internal-request-additional-details/staffing-request-additional-details/staffing-request-additional-details\";\r\nimport ReportingRequestAdditionalDetails from \"../../internal-request-management/internal-request-additional-details/reporting-request-additional-details/report-request-additional-details\"\r\nimport Spinner from \"../../../components/spinner/spinner\";\r\nimport WorkdayAdminRequestAdditionalDetails from \"../internal-request-additional-details/workday-admin-request-additional-details/workday-admin-request-additional-details\";\r\nimport SalesAdvisoryAdditionalDetails from \"../../internal-request-management/internal-request-additional-details/sales-advisory-additional-details/sales-advisory-additional-details\";\r\nimport MYCDETAILS from \"../internal-request-additional-details/myc-request-additional-details/myc-request-additional-details\";\r\nimport InfraSupportAdditionalDetails from \"../internal-request-additional-details/infra-support-additional-details.js/infra-support-additional-details\";\r\nclass RequestDetails extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n tabIndex: \"scope-request\",\r\n showSpinner: true,\r\n canGetAttachments: false,\r\n initialAttachmentCnt: 0,\r\n internalAttachment: true,\r\n isRedirectedFromScopeChangeRequest: false,\r\n requestNumber:\r\n (this.props.location &&\r\n this.props.location.state &&\r\n this.props.location.state.requestNumber) ||\r\n \"\",\r\n filterValues:\r\n (this.props.location &&\r\n this.props.location.state &&\r\n this.props.location.state.filterValues) ||\r\n \"\",\r\n serviceSelectedFilter:\r\n (this.props.location &&\r\n this.props.location.state &&\r\n this.props.location.state.serviceSelectedFilter) ||\r\n \"\",\r\n expectedDateFilter:\r\n (this.props.location &&\r\n this.props.location.state &&\r\n this.props.location.state.expectedDateFilter) ||\r\n \"\",\r\n IsAzureWorkItemLinkingEnabled: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const requestNumber =\r\n (this.props.location &&\r\n this.props.location.state &&\r\n this.props.location.state.requestNumber) ||\r\n \"\";\r\n if (requestNumber === \"\") {\r\n this.props.history.push(\"/requests\");\r\n }\r\n this.getRequestDetails();\r\n this.getAdditionDetails();\r\n }\r\n redirectToAdditionalTabComponent() {\r\n let mockEvent = {\r\n currentTarget: {\r\n className: \"tablinks\",\r\n },\r\n };\r\n this.loadComponentDetails(mockEvent, \"scope-change-additional-request\");\r\n document.getElementById(\"scope-change-additional-request\").style.display =\r\n \"block\";\r\n document.getElementById(\"additionalTab\").className = \"tablinks active\";\r\n this.setState({ isRedirectedFromScopeChangeRequest: true });\r\n }\r\n\r\n updateRedirecticonFlag() {\r\n this.setState({ isRedirectedFromScopeChangeRequest: false });\r\n }\r\n\r\n getScopeChangeAdditionDetails(additionalDetails) {\r\n if (additionalDetails) {\r\n let newFeatureDetail = additionalDetails.NewFeature;\r\n let modifiedFeatureDetail = additionalDetails.ModifiedFeature;\r\n\r\n if (newFeatureDetail.length > 0) {\r\n let maxId = 0;\r\n newFeatureDetail.forEach((initialData) => {\r\n maxId = maxId + 1;\r\n initialData[\"Id\"] = maxId;\r\n initialData[\"featureName\"] = initialData.FeatureName;\r\n initialData[\"stream\"] = initialData.Stream;\r\n initialData[\"description\"] = initialData.Description;\r\n initialData[\"acceptanceCriteria\"] = initialData.AcceptanceCriteria;\r\n initialData[\"DescriptionRichTextBody\"] =\r\n RichTextEditor.createValueFromString(\r\n initialData && initialData.Description,\r\n \"html\"\r\n ) || RichTextEditor.createEmptyValue();\r\n initialData[\"AcceptanceCriteriaRichTextBody\"] =\r\n RichTextEditor.createValueFromString(\r\n initialData && initialData.AcceptanceCriteria,\r\n \"html\"\r\n ) || RichTextEditor.createEmptyValue();\r\n initialData[\"effortEstimation\"] = initialData.EffortEstimation;\r\n initialData[\"proposedStartingSprint\"] =\r\n initialData.ProposedStartingSprint;\r\n initialData[\"proposedEndingSprint\"] =\r\n initialData.ProposedEndingSprint;\r\n initialData[\"errorMessage\"] = {};\r\n });\r\n }\r\n\r\n if (modifiedFeatureDetail.length > 0) {\r\n let maxId = 0;\r\n modifiedFeatureDetail.forEach((initialData) => {\r\n maxId = maxId + 1;\r\n initialData[\"Id\"] = maxId;\r\n initialData[\"featureName\"] = initialData.FeatureName;\r\n initialData[\"azureID\"] = initialData.AzureID;\r\n initialData[\"changeDescription\"] = initialData.ChangeDescription;\r\n initialData[\"ChangeDescriptionRichTextBody\"] =\r\n RichTextEditor.createValueFromString(\r\n initialData && initialData.ChangeDescription\r\n ? initialData.ChangeDescription\r\n : \"\",\r\n \"html\"\r\n );\r\n initialData[\"errorMessage\"] = {};\r\n });\r\n }\r\n additionalDetails.NewFeatureDetails = newFeatureDetail;\r\n additionalDetails.ModifiedFeature = modifiedFeatureDetail;\r\n\r\n return additionalDetails;\r\n }\r\n }\r\n\r\n async getRequestDetails() {\r\n const serviceName = `InternalRequestDetails?requestNumber=${\r\n this.props.location &&\r\n this.props.location.state &&\r\n this.props.location.state.requestNumber\r\n }`;\r\n const response = await getData({\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName,\r\n });\r\n const { success, error, data } = await response;\r\n\r\n if (success) {\r\n await this.setState({\r\n internalRequestDetailsData: data.internalRequestDetails[0],\r\n showSpinner: false,\r\n initialAttachmentCnt: 0,\r\n canGetAttachments: true,\r\n IsAzureWorkItemLinkingEnabled:\r\n data.internalRequestDetails &&\r\n data.internalRequestDetails[0].IsAzureWorkItemLinkingEnabled,\r\n });\r\n } else {\r\n this.setState({\r\n error: error,\r\n showErrorPopup: true,\r\n showSpinner: false,\r\n canGetAttachments: true,\r\n initialAttachmentCnt: 0,\r\n });\r\n }\r\n }\r\n async getAdditionDetails() {\r\n const serviceName = `PopulateInternalRequestAddOnForm?requestNumber=${\r\n this.props.location &&\r\n this.props.location.state &&\r\n this.props.location.state.requestNumber\r\n }`;\r\n const response = await getData({\r\n apiBaseUrl: INTERNAL_REQUEST_BASE_URL,\r\n serviceName,\r\n });\r\n const { success, error, data } = await response;\r\n if (success) {\r\n await this.setState({\r\n AdditionalDetailsData:\r\n data && data.AdditionalDetails && data.AdditionalDetails[0],\r\n showSpinner: false,\r\n });\r\n } else {\r\n this.setState({\r\n error: error,\r\n showErrorPopup: true,\r\n showSpinner: false,\r\n canGetAttachments: true,\r\n initialAttachmentCnt: 0,\r\n });\r\n }\r\n }\r\n\r\n newlyAttachmentCount = ({ add = 0 }) => {\r\n let existingCnt = this.state.initialAttachmentCnt || 0;\r\n existingCnt = existingCnt + add;\r\n this.setState({ initialAttachmentCnt: existingCnt });\r\n };\r\n\r\n handleCanAttachment(val) {\r\n this.setState({ canGetAttachments: val });\r\n }\r\n\r\n loadComponentDetails = (evt, formName) => {\r\n if (formName !== \"workday-request\") {\r\n let i, tabcontent, tablinks;\r\n tablinks = document.getElementsByClassName(\"tablinks\");\r\n tabcontent = document.getElementsByClassName(\"tabcontent\");\r\n\r\n for (i = 0; i < tabcontent.length; i++) {\r\n tabcontent[i].style.display = \"none\";\r\n }\r\n for (i = 0; i < tablinks.length; i++) {\r\n tablinks[i].className = tablinks[i].className.replace(\" active\", \"\");\r\n }\r\n this.setState({ tabIndex: formName });\r\n if (document.getElementById(formName)) {\r\n document.getElementById(formName).style.display = \"block\";\r\n evt.currentTarget.className += \" active\";\r\n }\r\n }\r\n };\r\n\r\n getAcceleratorDetails = (data) => {\r\n let jsonCopy = { ...data };\r\n jsonCopy[\"samplelist\"] = JSON.stringify(data.SelectedIndustryList);\r\n jsonCopy[\"Functionlist\"] = JSON.stringify(data.SelectedFunctionalAreaList);\r\n jsonCopy[\"Servicelist\"] = JSON.stringify(data.SelectedServiceOfferingsList);\r\n jsonCopy[\"showlist\"] = JSON.stringify(data.ShowLinks);\r\n jsonCopy[\"explorelist\"] = JSON.stringify(data.ExploreLinks);\r\n return jsonCopy;\r\n };\r\n\r\n render() {\r\n const { tabIndex } = this.state;\r\n const internalRequestNumber = this.state.requestNumber;\r\n const internalRequestDetailsData = this.state.internalRequestDetailsData;\r\n const isDiaRequest =\r\n internalRequestDetailsData &&\r\n internalRequestDetailsData.advanceForm &&\r\n internalRequestDetailsData.advanceForm.includes(\"DIARequest\");\r\n const isScopeChangeRequest =\r\n internalRequestDetailsData &&\r\n internalRequestDetailsData.advanceForm &&\r\n internalRequestDetailsData.advanceForm.includes(\"ScopeChangeRequest\");\r\n const isAcceleratorRequest =\r\n internalRequestDetailsData &&\r\n internalRequestDetailsData.advanceForm &&\r\n internalRequestDetailsData.advanceForm.includes(\"AcceleratorRequest\");\r\n const isStaffingRequest =\r\n internalRequestDetailsData &&\r\n internalRequestDetailsData.advanceForm &&\r\n internalRequestDetailsData.advanceForm.includes(\"StaffingChangeRequest\");\r\n const isReportingRequest =\r\n internalRequestDetailsData &&\r\n internalRequestDetailsData.advanceForm &&\r\n internalRequestDetailsData.advanceForm.includes(\"ReportingRequest\");\r\n const isBasicInternalRequest =\r\n internalRequestDetailsData &&\r\n internalRequestDetailsData.advanceForm &&\r\n internalRequestDetailsData.advanceForm.includes(\"ScopeRequest\");\r\n const isDataUniverseRequest =\r\n internalRequestDetailsData &&\r\n internalRequestDetailsData.advanceForm &&\r\n internalRequestDetailsData.advanceForm.includes(\"DataUniverseRequest\");\r\n const isSalesAdvisoryRequest =\r\n internalRequestDetailsData &&\r\n internalRequestDetailsData.advanceForm &&\r\n internalRequestDetailsData.IsSalesAdvisorRequest === true;\r\n const isMycRequest =\r\n internalRequestDetailsData &&\r\n internalRequestDetailsData.advanceForm &&\r\n internalRequestDetailsData.advanceForm.includes(\"MyCSupport\");\r\n const isInfraSupport =\r\n internalRequestDetailsData &&\r\n internalRequestDetailsData.advanceForm &&\r\n internalRequestDetailsData.advanceForm.includes(\"InfraSupport\");\r\n\r\n let internalFormType = \"\";\r\n let tabNm = \"WORKDAY INTEGRATION ADMIN REQUEST\";\r\n\r\n let workdayRequest = false;\r\n let formName = \"workday-request\";\r\n if (\r\n isBasicInternalRequest ||\r\n isSalesAdvisoryRequest ||\r\n isDiaRequest ||\r\n isScopeChangeRequest ||\r\n isAcceleratorRequest ||\r\n isStaffingRequest ||\r\n isReportingRequest ||\r\n isDataUniverseRequest ||\r\n isMycRequest ||\r\n isInfraSupport\r\n ) {\r\n workdayRequest = true;\r\n formName = \"scope-request\";\r\n }\r\n if (isBasicInternalRequest) {\r\n tabNm = \"SCOPE REQUEST\";\r\n } else if (!!isDataUniverseRequest) {\r\n tabNm = \"DATA UNIVERSE REQUEST\";\r\n } else if (!!isMycRequest) {\r\n tabNm = \"myConcerto Support Request\";\r\n internalFormType = \"myc-request-additional-details\";\r\n } else if (!!isInfraSupport) {\r\n tabNm = \"myConcerto Infra Support\";\r\n internalFormType = \"infra-support-additional-details\";\r\n } else if (!!isSalesAdvisoryRequest) {\r\n tabNm = \"SALES ADVISOR CONTENT UPLOAD\";\r\n internalFormType = \"sales-advisory-request\";\r\n } else if (!!isDiaRequest) {\r\n tabNm = \"DIA REQUEST\";\r\n internalFormType = \"dia-request-additional-request\";\r\n } else if (!!isScopeChangeRequest) {\r\n tabNm = \"SCOPE CHANGE REQUEST\";\r\n internalFormType = \"scope-change-additional-request\";\r\n } else if (!!isAcceleratorRequest) {\r\n tabNm = \"ACCELERATOR REQUEST\";\r\n internalFormType = \"accelerator-additional-request\";\r\n } else if (!!isStaffingRequest) {\r\n tabNm = \"STAFFING REQUEST\";\r\n internalFormType = \"staffing-request-additional-request\";\r\n } else if (!!isReportingRequest) {\r\n tabNm = \"REPORTING REQUEST\";\r\n internalFormType = \"reporting-additional-request\";\r\n }\r\n\r\n return (\r\n \r\n {internalRequestDetailsData && (\r\n
    \r\n

    REQUEST DETAILS

    \r\n\r\n
    \r\n {\r\n this.loadComponentDetails(event, formName);\r\n }}\r\n >\r\n {tabNm}\r\n \r\n\r\n {workdayRequest &&\r\n (!!isDiaRequest ||\r\n !!isScopeChangeRequest ||\r\n !!isAcceleratorRequest ||\r\n !!isStaffingRequest ||\r\n !!isReportingRequest) && (\r\n {\r\n this.loadComponentDetails(event, internalFormType);\r\n }}\r\n >\r\n ADDITIONAL DETAILS\r\n \r\n )}\r\n {workdayRequest && (\r\n {\r\n this.loadComponentDetails(event, \"request-attachment\");\r\n }}\r\n >\r\n ATTACHMENTS ({this.state.initialAttachmentCnt})\r\n \r\n )}\r\n {workdayRequest && !isSalesAdvisoryRequest && !isMycRequest && !isInfraSupport && (\r\n {\r\n this.loadComponentDetails(event, \"azure-objects\");\r\n }}\r\n >\r\n AZURE OBJECTS\r\n \r\n )}\r\n
    \r\n\r\n {workdayRequest && (\r\n
    \r\n \r\n {tabIndex === \"scope-request\" &&\r\n !isSalesAdvisoryRequest &&\r\n !isMycRequest &&\r\n !isInfraSupport &&\r\n !!this.state.requestNumber &&\r\n !!this.state.internalRequestDetailsData && (\r\n
    \r\n {\r\n this.getRequestDetails();\r\n }}\r\n AdditionalDetailsData={\r\n this.state.AdditionalDetailsData\r\n }\r\n redirectToAdditionalTab={() => {\r\n this.redirectToAdditionalTabComponent();\r\n }}\r\n />\r\n
    \r\n )}\r\n
    \r\n
    \r\n {!!this.state.requestNumber && (\r\n {\r\n this.handleCanAttachment(val);\r\n }}\r\n />\r\n )}\r\n
    \r\n
    \r\n {tabIndex === \"azure-objects\" &&\r\n !!this.state.requestNumber &&\r\n !isSalesAdvisoryRequest &&\r\n !isMycRequest && \r\n !isInfraSupport && (\r\n \r\n )}\r\n
    \r\n
    \r\n {tabIndex === \"dia-request-additional-request\" &&\r\n !!this.state.requestNumber &&\r\n !!this.state.internalRequestDetailsData && (\r\n {\r\n this.getAdditionDetails();\r\n }}\r\n />\r\n )}\r\n
    \r\n\r\n \r\n {tabIndex === \"scope-change-additional-request\" &&\r\n !!this.state.requestNumber &&\r\n !!this.state.internalRequestDetailsData && (\r\n {\r\n this.updateRedirecticonFlag();\r\n }}\r\n expectedDateFilter={this.state.expectedDateFilter}\r\n getAdditionDetails={() => {\r\n this.getAdditionDetails();\r\n }}\r\n />\r\n )}\r\n
    \r\n \r\n {tabIndex === \"staffing-request-additional-request\" &&\r\n !!this.state.requestNumber &&\r\n !!this.state.internalRequestDetailsData && (\r\n {\r\n this.getAdditionDetails();\r\n }}\r\n />\r\n )}\r\n \r\n
    \r\n {tabIndex === \"accelerator-additional-request\" &&\r\n !!this.state.requestNumber &&\r\n !!this.state.internalRequestDetailsData && (\r\n {\r\n this.getAdditionDetails();\r\n }}\r\n />\r\n )}\r\n
    \r\n
    \r\n {tabIndex === \"reporting-additional-request\" &&\r\n !!this.state.requestNumber &&\r\n !!this.state.internalRequestDetailsData && (\r\n {\r\n this.getAdditionDetails();\r\n }}\r\n />\r\n )}\r\n
    \r\n \r\n )}\r\n\r\n {!workdayRequest &&\r\n this.state.AdditionalDetailsData &&\r\n this.state.internalRequestDetailsData && (\r\n
    \r\n {\r\n this.getAdditionDetails();\r\n }}\r\n />\r\n
    \r\n )}\r\n\r\n {isSalesAdvisoryRequest &&\r\n this.state.AdditionalDetailsData &&\r\n this.state.internalRequestDetailsData &&\r\n tabIndex !== \"request-attachment\" && (\r\n
    \r\n
    \r\n {\r\n this.getAdditionDetails();\r\n }}\r\n />\r\n
    \r\n
    \r\n )}\r\n {isMycRequest &&\r\n this.state.AdditionalDetailsData &&\r\n this.state.internalRequestDetailsData &&\r\n tabIndex !== \"request-attachment\" && (\r\n
    \r\n
    \r\n {\r\n this.getAdditionDetails();\r\n }}\r\n />\r\n
    \r\n
    \r\n )}\r\n {isInfraSupport &&\r\n this.state.AdditionalDetailsData &&\r\n this.state.internalRequestDetailsData &&\r\n tabIndex !== \"request-attachment\" && (\r\n
    \r\n
    \r\n {\r\n this.getAdditionDetails();\r\n }}\r\n />\r\n
    \r\n
    \r\n )}\r\n \r\n )}\r\n {this.state.showSpinner && }\r\n
    \r\n );\r\n }\r\n}\r\nexport default RequestDetails;","import React from \"react\";\r\nimport { Router, Route, HashRouter, Switch } from \"react-router-dom\";\r\nimport Header from \"./components/header/header\";\r\nimport About from \"./containers/about/about\";\r\nimport Dashboard from \"./containers/dashboard/dashboard\";\r\nimport NewRequestGrid from \"./containers/requests-grid/request-grid\";\r\nimport AdminLanding from \"./containers/user-group-management/admin-landing\";\r\nimport { createBrowserHistory } from \"history\";\r\nimport LeftNav from \"../src/components/left-navigation/leftnav\";\r\nimport Footer from \"../src/components/footer/footer\";\r\nimport { AppServiceContext } from \"./context-providers/app-service-provider/app-service-provider\";\r\nimport Scenario from \"./containers/scenario/scenario\";\r\nimport Services from \"./containers/scenario/services/services\";\r\nimport Search from \"./containers/scenario/search/search\";\r\nimport Parameterised from \"./containers/scenario/services/parameterised\";\r\nimport SidebarProvider from \"./context-providers/sidebar-provider/sidebar-provider\";\r\nimport NotFoundPage from \"./components/page-not-found/page-not-found\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport UserGroupManagement from \"./containers/user-group-management/user-group-management\";\r\nimport IncidentManagement from \"./containers/user-group-management/incident-management\";\r\nimport NotificationPage from \"./containers/notifications/notification-page\";\r\nimport IncidentListPage from \"./containers/incident-management/incident-list/incident-list\";\r\nimport IncidentForm from \"./containers/incident-management/incident-form-context-wrapper\";\r\nimport RequestDetails from \"./containers/internal-request-management/request-details/request-details\";\r\n\r\nconst history = createBrowserHistory();\r\n\r\nclass Routes extends React.Component {\r\n selectTab = (selectedTabIndex) => {\r\n if (this.context.userHasRequests > 0 && window.location.href.match(\"/$\")) {\r\n selectedTabIndex = 2;\r\n } else {\r\n selectedTabIndex = 0;\r\n if (window.location.href.match(\"/requests$\")) {\r\n selectedTabIndex = 2;\r\n } else if (window.location.href.match(\"/search$\")) {\r\n selectedTabIndex = 1;\r\n } else if (window.location.href.match(\"/incidents$\")) {\r\n selectedTabIndex = 3;\r\n } else if (window.location.href.match(\"/incident-form$\")) {\r\n selectedTabIndex = 3;\r\n } else if (window.location.href.match(\"/dashboard$\")) {\r\n selectedTabIndex = 4;\r\n } else if (window.location.href.match(\"/admin$\")) {\r\n selectedTabIndex = 5;\r\n } else if (window.location.href.match(\"/user-group-management$\")) {\r\n selectedTabIndex = 5;\r\n } else if (window.location.href.match(\"/about$\")) {\r\n selectedTabIndex = -1;\r\n } else if (window.location.href.match(\"/notifications$\")) {\r\n selectedTabIndex = -1;\r\n }\r\n }\r\n return selectedTabIndex;\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n {(appContextDetails) => {\r\n const {\r\n userHasRequests,\r\n showHelp,\r\n setScreenName,\r\n reqPopupOpen,\r\n isRequestNumber,\r\n isIncidentCategoryID,\r\n requestID,\r\n requestValue,\r\n } = appContextDetails;\r\n const LoadingComponent =\r\n userHasRequests > 0\r\n ? (props) => (\r\n \r\n )\r\n : (props) => (\r\n \r\n );\r\n return (\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\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