{"version":3,"file":"app.9388fe0e9b8c16ba4ef3.js","mappings":"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EA,aAAc;IAC7B3jC,oBAAoB,EAAEA,oBAAqB;IAC3C8kC,cAAc,EAAEA,cAAe;IAC/B3nC,MAAM,EAAEA;EAAO,CAClB,CAAC,EACA7D,YAAY,GAAG,CAAC,KAAAo0C,KAAA,KAAAA,KAAA,gBACV/iB,mBAAA;IAAK,SAAM;EAAgB,gBAC3BA,mBAAA;IAAK,SAAM;EAAkB,gBAC7BA,mBAAA;IAAKuC,GAAG,EAAC,mCAAmC;IAACC,MAAM,EAAC,MAAM;IAACwgB,GAAG,EAAC;EAAY,CAAE,CAAC,eAC1EhjB,mBAAA,eAAM,6BAAiC,CACtC,CACJ,CAAC,EAAC,EAAAijB,mBAAA,KAAAA,mBAAA,gBACXjjB,mBAAA,CAACoZ,kBAAkB,MAAE,CAAC,CACrB,CAAC;AAEd,CAAC;AAqBD,sDAAgB7U,mCAAQ,CAACob,IAAI,CAAC;;AA0B9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;ACznCmE;AAE1B;AACkB;AACD;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMuD,8BAA8B,GAAG,SAAjCA,8BAA8BA,CAAIzgC,QAAQ,EAAEmxB,YAAY,EAAEuP,kBAAkB,EAAK;EAC5F,OAAO,UAAC31C,QAAQ,EAAK;IACnB,IAAI,CAACiV,QAAQ,IAAI,CAACmxB,YAAY,IAAI,CAACuP,kBAAkB,EAAE;MACrD,OAAO31C,QAAQ,CAAC;QACdO,IAAI,EAAEgM,yCAAiD;QACvDX,yBAAyB,EAAE;MAC7B,CAAC,CAAC;IACJ;IACA5L,QAAQ,CAAAM,iCAAA;MAAGC,IAAI,EAAEgM,UAAkB1b;IAAA,GAAGtN,WAAW,EAAGH,KAAK,CAAE,CAAC;IAC5D,OAAOu8B,gBAAK,oCAAA/e,MAAA,CAAoCqU,QAAQ,oBAAArU,MAAA,CAAiBwlC,YAAY,0BAAAxlC,MAAA,CAAuB+0C,kBAAkB,CAAE,CAAC,CAC9Hj1B,IAAI,CAAC,UAAClC,QAAQ,EAAK;MAClB,OAAOA,QAAQ,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","sources":["webpack://reit-suite/./src/constants/pendingTask.js","webpack://reit-suite/./src/actions/actionTypes.js","webpack://reit-suite/./src/constants/errorCodes.js","webpack://reit-suite/./src/constants/errorResponses.js","webpack://reit-suite/./src/scripts/actionHelpers.js","webpack://reit-suite/./src/reducers/initialState.js","webpack://reit-suite/./src/reducers/pendingTasksReducer.js","webpack://reit-suite/./src/reducers/assetDetailReducer.js","webpack://reit-suite/./src/reducers/assetDetailsReducer.js","webpack://reit-suite/./src/reducers/distributionDetailReducer.js","webpack://reit-suite/./src/reducers/incomeDetailReducer.js","webpack://reit-suite/./src/reducers/propertyDetailReducer.js","webpack://reit-suite/./src/reducers/propertyItsiReducer.js","webpack://reit-suite/./src/reducers/assetSummaryReducer.js","webpack://reit-suite/./src/reducers/clientsReducer.js","webpack://reit-suite/./src/reducers/clientReducer.js","webpack://reit-suite/./src/reducers/allReitsReducer.js","webpack://reit-suite/./src/reducers/reitsReducer.js","webpack://reit-suite/./src/reducers/reitsExternalReducer.js","webpack://reit-suite/./src/reducers/reitReducer.js","webpack://reit-suite/./src/reducers/reitsForMOReducer.js","webpack://reit-suite/./src/reducers/periodReducer.js","webpack://reit-suite/./src/reducers/periodsReducer.js","webpack://reit-suite/./src/reducers/isAuthenticatedReducer.js","webpack://reit-suite/./src/reducers/availableReportItemsReducer.js","webpack://reit-suite/./src/reducers/securitiesSnapshotReducer.js","webpack://reit-suite/./src/reducers/taxableReitSubsidiariesReducer.js","webpack://reit-suite/./src/reducers/incomeTestSummaryReducer.js","webpack://reit-suite/./src/reducers/distributionTestSummaryReducer.js","webpack://reit-suite/./src/reducers/distributionTaxableIncomeReducer.js","webpack://reit-suite/./src/reducers/arqcActiveChecklistReducer.js","webpack://reit-suite/./src/reducers/arqcLoadChecklistsReducer.js","webpack://reit-suite/./src/reducers/arqcPreviousChecklistReducer.js","webpack://reit-suite/./src/reducers/psqLoadChecklistsReducer.js","webpack://reit-suite/./src/reducers/psqActiveChecklistReducer.js","webpack://reit-suite/./src/reducers/psqPreviousChecklistReducer.js","webpack://reit-suite/./src/reducers/checklistFilesReducer.js","webpack://reit-suite/./src/reducers/reportPeriodVisibilityConstraintReducer.js","webpack://reit-suite/./src/reducers/externalChecklistListReducer.js","webpack://reit-suite/./src/reducers/errorResponseReducer.js","webpack://reit-suite/./src/reducers/usersMessageReducer.js","webpack://reit-suite/./src/reducers/tbUploadSuccessReducer.js","webpack://reit-suite/./src/reducers/propertiesReducer.js","webpack://reit-suite/./src/reducers/propertyReducer.js","webpack://reit-suite/./src/reducers/deletePropertyDetailReducer.js","webpack://reit-suite/./src/reducers/varianceReducer.js","webpack://reit-suite/./src/reducers/externalPsqReducer.js","webpack://reit-suite/./src/reducers/externalArqcReducer.js","webpack://reit-suite/./src/reducers/servicesReducer.js","webpack://reit-suite/./src/reducers/filesReducer.js","webpack://reit-suite/./src/reducers/testSnapshotsReducer.js","webpack://reit-suite/./src/reducers/fileUploadSuccessReducer.js","webpack://reit-suite/./src/reducers/lastTrialBalanceReducer.js","webpack://reit-suite/./src/reducers/trialBalanceSummaryReducer.js","webpack://reit-suite/./src/reducers/trialBalanceAdjustmentsReducer.js","webpack://reit-suite/./src/reducers/trialBalanceItemReducer.js","webpack://reit-suite/./src/reducers/trialBalanceItemsReducer.js","webpack://reit-suite/./src/reducers/lastConsolidatedTrialBalanceReducer.js","webpack://reit-suite/./src/reducers/lastPropertyTrialBalanceReducer.js","webpack://reit-suite/./src/reducers/finalReportReducer.js","webpack://reit-suite/./src/reducers/finalReportUploadSuccessReducer.js","webpack://reit-suite/./src/reducers/authReducer.js","webpack://reit-suite/./src/reducers/authorizationsReducer.js","webpack://reit-suite/./src/reducers/currentUserAuthorizationsReducer.js","webpack://reit-suite/./src/reducers/deletedChecklistReducer.js","webpack://reit-suite/./src/reducers/periodMappingsReducer.js","webpack://reit-suite/./src/reducers/periodMappingsBalancesReducer.js","webpack://reit-suite/./src/reducers/mappingReducer.js","webpack://reit-suite/./src/reducers/chartOfAccountsReducer.js","webpack://reit-suite/./src/reducers/coaDetailGroupMappingReducer.js","webpack://reit-suite/./src/reducers/detailGroupMappingsReducer.js","webpack://reit-suite/./src/constants/trialBalanceStatus.js","webpack://reit-suite/./src/reducers/signalRReducers/trialBalanceStatusReducer.js","webpack://reit-suite/./src/reducers/notificationsReducer.js","webpack://reit-suite/./src/reducers/showNotificationsReducer.js","webpack://reit-suite/./src/reducers/showBulkUploadModalReducer.js","webpack://reit-suite/./src/reducers/uploadProgressReducer.js","webpack://reit-suite/./src/reducers/uploadQueueReducer.js","webpack://reit-suite/./src/reducers/uploadProcessesReducer.js","webpack://reit-suite/./src/reducers/processingQueueCountReducer.js","webpack://reit-suite/./src/reducers/navigationServicesReducer.js","webpack://reit-suite/./src/reducers/authenticationReducer.js","webpack://reit-suite/./src/reducers/lastClickedTabChecklistQuestionIdReducer.js","webpack://reit-suite/./src/reducers/checklistDeliveryCalendarReducer.js","webpack://reit-suite/./src/reducers/checklistCalendarYearsReducer.js","webpack://reit-suite/./src/reducers/authenticationScopeReducer.js","webpack://reit-suite/./src/reducers/customQuestionnaireReducer.js","webpack://reit-suite/./src/reducers/psqTemplateReducer.js","webpack://reit-suite/./src/reducers/bulkReportPackageReducer.js","webpack://reit-suite/./src/reducers/bulkReportPackageETAReducer.js","webpack://reit-suite/./src/reducers/customFdrTemplateReducer.js","webpack://reit-suite/./src/reducers/chartOfAccountsManagerReducer.js","webpack://reit-suite/./src/reducers/chartMappingsReducer.js","webpack://reit-suite/./src/reducers/lookupTypesReducer.js","webpack://reit-suite/./src/reducers/reitFilesReducer.js","webpack://reit-suite/./src/reducers/manageChecklistReducer.js","webpack://reit-suite/./src/reducers/externalChecklistReducer.js","webpack://reit-suite/./src/reducers/externalChecklistsClientsReducer.js","webpack://reit-suite/./src/reducers/checklistCalendarYearsByTypeReducer.js","webpack://reit-suite/./src/reducers/signalRReducers/refreshManageChecklistClientReducer.js","webpack://reit-suite/./src/reducers/customPsqTemplatesReducers/customPsqTemplateReducer.js","webpack://reit-suite/./src/reducers/availableQuestionReducer.js","webpack://reit-suite/./src/reducers/availableQuestionByIdReducer.js","webpack://reit-suite/./src/reducers/customPsqTemplatesReducers/createCustomPsqTemplateReducer.js","webpack://reit-suite/./src/reducers/checklistDeliverySchedulesReducer.js","webpack://reit-suite/./src/reducers/attachmentDetailReducer.js","webpack://reit-suite/./src/reducers/customPsqTemplatesReducers/customPsqTemplateContentReducer.js","webpack://reit-suite/./src/reducers/customPsqTemplatesReducers/customPsqTemplateDetailsReducer.js","webpack://reit-suite/./src/reducers/questionCommentsReducer.js","webpack://reit-suite/./src/reducers/checklistsCounterReducer.js","webpack://reit-suite/./src/reducers/questionDiscrepanciesReducer.js","webpack://reit-suite/./src/reducers/lastServiceProviderQuestionIdReducer.js","webpack://reit-suite/./src/reducers/microsoftGraphApiReducers/userProfilePictureReducer.js","webpack://reit-suite/./src/reducers/customPsqTemplatesReducers/customQuestionIntentLockUpdateResultReducer.js","webpack://reit-suite/./src/reducers/customPsqTemplatesReducers/customQuestionLockStatusResultReducer.js","webpack://reit-suite/./src/reducers/bulkProcessManagementReducers/bulkProcessManagementDataReducer.js","webpack://reit-suite/./src/reducers/bulkRollForwardReducers/bulkRollForwardDataReducer.js","webpack://reit-suite/./src/reducers/themeServicesReducer.js","webpack://reit-suite/./src/reducers/dataRetentionManagementReducers/dataRetentionManagementDataReducer.js","webpack://reit-suite/./src/reducers/dataPurgeReducer/dataPurgeConfigurationDataReducer.js","webpack://reit-suite/./src/reducers/dataPurgeReducer/dataPurgeUserAcknowledgementHistoryDataReducer.js","webpack://reit-suite/./src/reducers/dataPurgeReducer/upcomingDataDeletionNoticeDataReducer.js","webpack://reit-suite/./src/reducers/featureManagementReducers.js","webpack://reit-suite/./src/reducers/dataPurgeReducer/dataDeletionDiaognisticDataReducer.js","webpack://reit-suite/./src/reducers/externalUserDataVisibilityReducer/externalUserDataVisibilityReducer.js","webpack://reit-suite/./src/reducers/incompleteSecuritiesSnapshotsReducer.js","webpack://reit-suite/./src/reducers/index.js","webpack://reit-suite/./src/store/configureStore.js","webpack://reit-suite/./src/auth/authConfig.js","webpack://reit-suite/./src/actions/fetchFromApi.js","webpack://reit-suite/./src/actions/authActions.js","webpack://reit-suite/./src/constants/other.js","webpack://reit-suite/./src/actions/notificationActions.js","webpack://reit-suite/./src/scripts/fileHelpers.js","webpack://reit-suite/./src/actions/trialBalanceActions.js","webpack://reit-suite/./src/actions/microsoftGraphApiActions.js","webpack://reit-suite/./src/common/withRouter.js","webpack://reit-suite/./src/components/shared/navbar/userAvatarComponent.js","webpack://reit-suite/./src/actions/themeActions.js","webpack://reit-suite/./src/components/NavBar.js","webpack://reit-suite/./src/components/dataStewardRoleManagement/dataStewardAssignmentRequiredModal.js","webpack://reit-suite/./src/actions/clearDependentsActions.js","webpack://reit-suite/./src/actions/clientActions.js","webpack://reit-suite/./src/components/shared/Breadcrumbs.js","webpack://reit-suite/./src/actions/reitActions.js","webpack://reit-suite/./src/actions/servicesActions.js","webpack://reit-suite/./src/components/shared/TabbedNavigation.js","webpack://reit-suite/./src/containers/shared/TabbedNavigationContainer.js","webpack://reit-suite/./src/components/shared/ErrorSummaryItem.js","webpack://reit-suite/./src/components/shared/ErrorSummary.js","webpack://reit-suite/./src/actions/commonActions.js","webpack://reit-suite/./src/actions/periodActions.js","webpack://reit-suite/./src/components/notifications/Notification.js","webpack://reit-suite/./src/containers/notifications/Notifications.js","webpack://reit-suite/./src/containers/tb/UploadQueueWatcher2.js","webpack://reit-suite/./src/components/tb/BulkUploadModal.js","webpack://reit-suite/./src/components/shared/ReitSuiteUsersMessage.js","webpack://reit-suite/./src/components/Footer.js","webpack://reit-suite/./src/scripts/errorSummaryHelper.js","webpack://reit-suite/./src/common/useWindowDimensions.js","webpack://reit-suite/./src/actions/securitiesSnapshotActions.js","webpack://reit-suite/./src/containers/Main.js","webpack://reit-suite/./src/actions/bulkProcessManagementActions.js","webpack://reit-suite/./src/actions/bulkRollForwardActions.js","webpack://reit-suite/./src/actions/authenticationActions.js","webpack://reit-suite/./src/components/MaintainLoginModal.js","webpack://reit-suite/./src/components/notifications/ToastifyProgressBar.js","webpack://reit-suite/./src/actions/featureManagementActions.js","webpack://reit-suite/./src/actions/dataPurgeActions.js","webpack://reit-suite/./src/components/auth/ReminderToSaveFilesOutsideOfREITSuiteModal.js","webpack://reit-suite/./src/components/auth/UpcomingDataDeletionNoticeModal.js","webpack://reit-suite/./src/actions/userAuditActions.js","webpack://reit-suite/./src/components/App.js","webpack://reit-suite/./src/components/ExternalFooter.js","webpack://reit-suite/./src/common/withWindowDimensions.js","webpack://reit-suite/./src/containers/ExternalMain.js","webpack://reit-suite/./src/components/ExternalNavBar.js","webpack://reit-suite/./src/components/ExternalApp.js","webpack://reit-suite/./src/components/PermExternalNavBar.js","webpack://reit-suite/./src/components/PermExternalApp.js","webpack://reit-suite/./src/scripts/errors.js","webpack://reit-suite/./src/actions/assetActions.js","webpack://reit-suite/./src/actions/varianceActions.js","webpack://reit-suite/./src/actions/propertyActions.js","webpack://reit-suite/./src/components/reits/TestSummaryItem.js","webpack://reit-suite/./src/components/shared/FormattedCurrency.js","webpack://reit-suite/./src/components/reits/VarianceBalanceDetailsRow.js","webpack://reit-suite/./src/components/shared/FormattedPercent.js","webpack://reit-suite/./src/components/reits/VariancePercentageDetailsRow.js","webpack://reit-suite/./src/components/reits/NewOrRemovedAccountDetailsRow.js","webpack://reit-suite/./src/components/reits/VarianceDetailsTable.js","webpack://reit-suite/./src/components/reits/TestSummary.js","webpack://reit-suite/./src/scripts/detailTestTableHelpers.js","webpack://reit-suite/./src/components/tb/AssetDetailTestTable.js","webpack://reit-suite/./src/components/tb/AssetDetails.js","webpack://reit-suite/./src/containers/reits/AssetTestPage.js","webpack://reit-suite/./src/components/NotFoundPage.js","webpack://reit-suite/./src/containers/LoginPage.js","webpack://reit-suite/./src/components/clients/customRenderer/ClientsCellRenderer.js","webpack://reit-suite/./src/common/AgGridEventHandlers.js","webpack://reit-suite/./src/common/MotifPagination.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/customHeaders/CustomHeaderTemplate.js","webpack://reit-suite/./src/components/clients/ClientList.js","webpack://reit-suite/./src/components/shared/YesNoModal.js","webpack://reit-suite/./src/components/clients/ReactivateClientModal.js","webpack://reit-suite/./src/components/clients/DeactivateClientDisplayErrorMessageModal.js","webpack://reit-suite/./src/components/clients/ClientTypeSwitchingConfirmationMessageModal.js","webpack://reit-suite/./src/components/clients/ClientTypeSwitchingErrorMessageModal.js","webpack://reit-suite/./src/containers/clients/ClientsPage.js","webpack://reit-suite/./src/components/reits/RelatedReitsRow.js","webpack://reit-suite/./src/components/reits/customRenderer/RelatedReitsCellRenderer.js","webpack://reit-suite/./src/components/shared/customHeaders/CustomHeaderTemplate.js","webpack://reit-suite/./src/components/reits/RelatedReits.js","webpack://reit-suite/./src/scripts/stringHelpers.js","webpack://reit-suite/./src/scripts/formParsers.js","webpack://reit-suite/./src/scripts/arrayHelpers.js","webpack://reit-suite/./src/scripts/customHooks.js","webpack://reit-suite/./src/scripts/formFormatters.js","webpack://reit-suite/./src/scripts/formValidators.js","webpack://reit-suite/./src/scripts/formHelpers.js","webpack://reit-suite/./src/components/shared/formFields.js","webpack://reit-suite/./src/common/HeaderWrapper.js","webpack://reit-suite/./src/components/auth/AddClientAuthModal.js","webpack://reit-suite/./src/components/auth/EditClientAuthModal.js","webpack://reit-suite/./src/components/auth/customRenderer/AuthCellRenderer.js","webpack://reit-suite/./src/components/auth/ClientAuthList.js","webpack://reit-suite/./src/components/clients/EditClientForm.js","webpack://reit-suite/./src/constants/states.js","webpack://reit-suite/./src/constants/amenities.js","webpack://reit-suite/./src/components/shared/PropertyAmenitiesTableComponent.js","webpack://reit-suite/./src/actions/trsActions.js","webpack://reit-suite/./src/containers/shared/PropertyAmenitiesTableContainer.js","webpack://reit-suite/./src/common/Attribute.js","webpack://reit-suite/./src/components/reits/EditPropertyForm.js","webpack://reit-suite/./src/components/reits/EditReitForm.js","webpack://reit-suite/./src/scripts/dateHelpers.js","webpack://reit-suite/./src/actions/lookupTypeActions.js","webpack://reit-suite/./src/components/reits/createEditReitModal.js","webpack://reit-suite/./src/components/clients/EditClientComponent.js","webpack://reit-suite/./src/components/shared/DeleteModal.js","webpack://reit-suite/./src/scripts/authorizationDomainValidator.js","webpack://reit-suite/./src/containers/clients/EditClientPage.js","webpack://reit-suite/./src/constants/specialCharacters.js","webpack://reit-suite/./src/actions/chartOfAccountsManagerActions.js","webpack://reit-suite/./src/components/reits/customRenderer/ReitsCellRenderer.js","webpack://reit-suite/./src/components/reits/ReitList.js","webpack://reit-suite/./src/containers/reits/ReitsPage.js","webpack://reit-suite/./src/components/clients/ClientDetails.js","webpack://reit-suite/./src/containers/clients/ClientPage.js","webpack://reit-suite/./src/components/clients/customRenderer/ClientsExternalCellRenderer.js","webpack://reit-suite/./src/components/clients/ClientListSlim.js","webpack://reit-suite/./src/containers/clients/ClientsExternalPage.js","webpack://reit-suite/./src/containers/checklistDeliveryCalendar/ChecklistExternalContainer.js","webpack://reit-suite/./src/actions/checklistActions.js","webpack://reit-suite/./src/actions/reportActions.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/ManageExternalChecklistHeader.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/customRenderers/ExternalChecklistCheckboxCellRenderer.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/customRenderers/ExternalChecklistCheckboxHeaderRenderer.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/customValueGetters/ReopentoRequestStatusValueGetter.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/customComparators/DateComparator.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/customRenderers/ExternalChecklistLinkCellRenderer.js","webpack://reit-suite/./src/components/shared/customRenderers/InternalRecipientsCellRenderer.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/PSQChecklistExternalTable.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/DownloadChecklistsModal.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/RequestToReopenModal.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/SubmitForReviewModal.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/ClientSignoffModal.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/ClientUnsignoffModal.js","webpack://reit-suite/./src/containers/checklistDeliveryCalendar/PSQChecklistExternalContainer.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/ARQCChecklistExternalTable.js","webpack://reit-suite/./src/containers/checklistDeliveryCalendar/ARQCChecklistExternalContainer.js","webpack://reit-suite/./src/containers/clients/ClientLoader.js","webpack://reit-suite/./src/containers/reits/ReitLoader.js","webpack://reit-suite/./src/actions/chartOfAccountsActions.js","webpack://reit-suite/./src/actions/testSnapshotActions.js","webpack://reit-suite/./src/components/reits/ReportPeriodRow.js","webpack://reit-suite/./src/constants/services.js","webpack://reit-suite/./src/containers/reits/ReportPeriodRowContainer.js","webpack://reit-suite/./src/components/reits/customRenderer/ReportPeriodCellRenderer.js","webpack://reit-suite/./src/components/shared/customComparators/ReportPeriodComparator.js","webpack://reit-suite/./src/common/AGGridLoader.js","webpack://reit-suite/./src/components/reits/ReportPeriodList.js","webpack://reit-suite/./src/components/reits/ScopedServicesRow.js","webpack://reit-suite/./src/components/reits/ScopedServicesModal.js","webpack://reit-suite/./src/containers/reits/ScopedServicesContainer.js","webpack://reit-suite/./src/components/reits/CreatePeriod.js","webpack://reit-suite/./src/components/reits/ClosePeriodModal.js","webpack://reit-suite/./src/containers/reits/ClosePeriodContainer.js","webpack://reit-suite/./src/components/reits/OpenPeriodModal.js","webpack://reit-suite/./src/containers/reits/OpenPeriodContainer.js","webpack://reit-suite/./src/components/reits/PeriodTbModeModal.js","webpack://reit-suite/./src/components/reits/ReitDetails.js","webpack://reit-suite/./src/containers/reits/ReitPage.js","webpack://reit-suite/./src/components/tb/TrialBalanceUpload.js","webpack://reit-suite/./src/common/NumberFormatting.js","webpack://reit-suite/./src/components/tb/customRenderer/TrialBalanceCellRenderer.js","webpack://reit-suite/./src/components/tb/TrialBalanceTable.js","webpack://reit-suite/./src/components/tb/TrialBalanceSummaryTable.js","webpack://reit-suite/./src/components/tb/TrialBalanceSummary.js","webpack://reit-suite/./src/components/tb/TrialBalanceAdjustmentRow.js","webpack://reit-suite/./src/components/tb/TrialBalanceAdjustmentsModal.js","webpack://reit-suite/./src/actions/trialBalanceSummaryActions.js","webpack://reit-suite/./src/actions/trialBalanceAdjustmentActions.js","webpack://reit-suite/./src/containers/tb/TrialBalanceUploadPage.js","webpack://reit-suite/./src/containers/reits/ReportPeriodLoader.js","webpack://reit-suite/./src/components/reports/ReportExport.js","webpack://reit-suite/./src/components/reports/ReportItemList.js","webpack://reit-suite/./src/actions/customFdrTemplateActions.js","webpack://reit-suite/./src/actions/distributionsTestActions.js","webpack://reit-suite/./src/containers/reports/ReportPage.js","webpack://reit-suite/./src/components/reits/customRenderer/TrsCellRenderer.js","webpack://reit-suite/./src/components/reits/customRenderer/TrsCurrencyCellRenderer.js","webpack://reit-suite/./src/components/reits/EditTrsTable.js","webpack://reit-suite/./src/components/reits/EditTrsForm.js","webpack://reit-suite/./src/components/reits/EditTrsComponent.js","webpack://reit-suite/./src/containers/reits/EditTrsContainer.js","webpack://reit-suite/./src/components/shared/customRenderers/SecuritiesSnapshotCellRenderer.js","webpack://reit-suite/./src/components/shared/customRenderers/CustomHeaderWithBadge.js","webpack://reit-suite/./src/components/reits/EditSecuritiesSnapshotTable.js","webpack://reit-suite/./src/components/reits/EditSecuritiesSnapshotForm.js","webpack://reit-suite/./src/components/reits/EditSecuritiesSnapshotComponent.js","webpack://reit-suite/./src/containers/reits/EditSecuritiesSnapshotContainer.js","webpack://reit-suite/./src/components/shared/ShortDate.js","webpack://reit-suite/./src/components/reits/EditPropertyComponent.js","webpack://reit-suite/./src/components/reits/EndPropertyModal.js","webpack://reit-suite/./src/components/reits/ClearEndDateForm.js","webpack://reit-suite/./src/components/reits/DeletePropertyModal.js","webpack://reit-suite/./src/components/shared/customRenderers/PropertyCellRenderer.js","webpack://reit-suite/./src/components/reits/PropertyList.js","webpack://reit-suite/./src/containers/reits/PropertiesContainer.js","webpack://reit-suite/./src/actions/incomeTestActions.js","webpack://reit-suite/./src/components/tb/IncomeDetailTestTable.js","webpack://reit-suite/./src/components/tb/PropertyDetailRow.js","webpack://reit-suite/./src/components/tb/PropertyDetailTable.js","webpack://reit-suite/./src/components/tb/PropertyDetailTestTable.js","webpack://reit-suite/./src/components/tb/PropertyItsiRow.js","webpack://reit-suite/./src/components/tb/PropertyItsiTable.js","webpack://reit-suite/./src/components/tb/PropertyItsiTestTable.js","webpack://reit-suite/./src/components/tb/IncomeDetails.js","webpack://reit-suite/./src/containers/reits/IncomeTestPage.js","webpack://reit-suite/./src/actions/customQuestionActions.js","webpack://reit-suite/./src/components/reits/ChecklistHeader.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/customRenderers/ChecklistLinkCellRenderer.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/customRenderers/DateCellRenderer.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/customRenderers/SimpleCellRenderer.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/customRenderers/CheckboxCellRenderer.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/customRenderers/CheckboxHeaderRenderer.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/customValueGetters/DefaultValueGetter.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/customValueGetters/PropertyTypeValueGetter.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/customValueGetters/StatusDateValueGetter.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/customRenderers/NoRecipientCellRenderer.js","webpack://reit-suite/./src/components/reits/ARQCChecklistTable.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/AddChecklistUserModal.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/DeleteChecklistUserModal.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/DeleteChecklistModal.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/ResendChecklistModal.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/SignoffChecklistModal.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/ReopenForEYReviewChecklistModal.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/ApproveClientReopenRequestModal.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/DenyClientReopenRequestModal.js","webpack://reit-suite/./src/components/reits/ArqcCreateChecklistModal.js","webpack://reit-suite/./src/actions/fileActions.js","webpack://reit-suite/./src/components/reits/ChecklistSendModal.js","webpack://reit-suite/./src/constants/checklistNavigationTabs.js","webpack://reit-suite/./src/containers/reits/ChecklistPageBase.js","webpack://reit-suite/./src/components/reits/InvalidEmailModal.js","webpack://reit-suite/./src/actions/externalUserDataVisibilityActions.js","webpack://reit-suite/./src/containers/reits/ARQCChecklistContainer.js","webpack://reit-suite/./src/components/reits/ChecklistCounters.js","webpack://reit-suite/./src/components/reits/ChecklistNavigation.js","webpack://reit-suite/./src/components/reits/ChecklistCompleteModal.js","webpack://reit-suite/./src/components/shared/Tabs.js","webpack://reit-suite/./src/components/shared/Tab.js","webpack://reit-suite/./src/common/FileUploadValidations.js","webpack://reit-suite/./src/components/reits/ChecklistFileUploadModal.js","webpack://reit-suite/./src/components/reits/DeleteChecklistDetailGridRowModal.js","webpack://reit-suite/./src/components/reits/ChecklistQuestionTabs.js","webpack://reit-suite/./src/containers/reits/ChecklistIncomeDetailsContainer.js","webpack://reit-suite/./src/containers/reits/ChecklistAssetDetailsContainer.js","webpack://reit-suite/./src/components/reits/DistributionTestSummaryItem.js","webpack://reit-suite/./src/components/shared/FormattedCurrencyInput.js","webpack://reit-suite/./src/components/reits/EditDistributionForm.js","webpack://reit-suite/./src/components/reits/DistributionTestSummary.js","webpack://reit-suite/./src/components/shared/customRenderers/DistributionDetailCellRenderer.js","webpack://reit-suite/./src/components/reits/DistributionDetailTable.js","webpack://reit-suite/./src/containers/reits/ChecklistDistributionDetailsContainer.js","webpack://reit-suite/./src/components/customChecklistQuestions/CustomQuestionAttachmentList.js","webpack://reit-suite/./src/components/reits/EditChecklistItem.js","webpack://reit-suite/./src/components/reits/EditChecklistComments.js","webpack://reit-suite/./src/components/reits/EditChecklistSection.js","webpack://reit-suite/./src/components/reits/ArqcChecklistDetailsForm.js","webpack://reit-suite/./src/actions/customChecklistTemplateActions.js","webpack://reit-suite/./src/components/shared/customRenderers/TemplateActionCellRenderer.js","webpack://reit-suite/./src/components/shared/customComparators/DateComparator.js","webpack://reit-suite/./src/components/shared/customComparators/QuestionTitleComparator.js","webpack://reit-suite/./src/components/shared/customRenderers/CommentsCellRenderer.js","webpack://reit-suite/./src/components/customChecklistTemplate/ShowCommentsTable.js","webpack://reit-suite/./src/components/shared/customRenderers/AttachmentsCellRenderer.js","webpack://reit-suite/./src/components/customChecklistTemplate/ShowAttachmentTable.js","webpack://reit-suite/./src/components/shared/customRenderers/DiscrepanyCellRenderer.js","webpack://reit-suite/./src/components/customChecklistTemplate/ShowDiscrepanciesTable.js","webpack://reit-suite/./src/containers/reits/ArqcChecklistRecord.js","webpack://reit-suite/./src/containers/reits/DistributionTestContainer.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/customValueGetters/ChecklistTypeValueGetter.js","webpack://reit-suite/./src/components/reits/PSQChecklistTable.js","webpack://reit-suite/./src/components/reits/PsqCreateChecklistModal.js","webpack://reit-suite/./src/containers/reits/PSQChecklistContainer.js","webpack://reit-suite/./src/components/reits/PsqChecklistSummary.js","webpack://reit-suite/./src/components/reits/PsqProviderSummary.js","webpack://reit-suite/./src/components/reits/DeleteChecklistServiceProviderModal.js","webpack://reit-suite/./src/containers/reits/PsqChecklistRecord.js","webpack://reit-suite/./src/components/reits/ChecklistReadyModal.js","webpack://reit-suite/./src/containers/reits/ExternalArqcChecklistPage.js","webpack://reit-suite/./src/components/reits/ReitsExternalRow.js","webpack://reit-suite/./src/components/reits/ReitsExternal.js","webpack://reit-suite/./src/containers/reits/ReitsExternalPage.js","webpack://reit-suite/./src/components/reits/ChecklistListRow.js","webpack://reit-suite/./src/components/reits/ChecklistList.js","webpack://reit-suite/./src/containers/reits/ChecklistsExternalPage.js","webpack://reit-suite/./src/components/reits/ForwardPsqForInternalReviewModal.js","webpack://reit-suite/./src/containers/reits/ExternalPsqChecklistPage.js","webpack://reit-suite/./src/containers/CallbackPage.js","webpack://reit-suite/./src/actions/finalDeliverableReportActions.js","webpack://reit-suite/./src/components/fileManagement/FileNotifications.js","webpack://reit-suite/./src/components/fileManagement/OtherFileUpload.js","webpack://reit-suite/./src/components/fileManagement/customRenderer/FileManagementCellRenderer.js","webpack://reit-suite/./src/components/fileManagement/FileList.js","webpack://reit-suite/./src/components/fileManagement/customRenderer/ChecklistAttachmentFileCellRenderer.js","webpack://reit-suite/./src/components/fileManagement/ChecklistAttachmentFileList.js","webpack://reit-suite/./src/components/fileManagement/CoreItems.js","webpack://reit-suite/./src/containers/fileManagement/ReitFileManagementPage.js","webpack://reit-suite/./src/containers/fileManagement/FileManagementPage.js","webpack://reit-suite/./src/components/auth/AddSysAdminModal.js","webpack://reit-suite/./src/components/shared/customRenderers/SystemAdminCellRenderer.js","webpack://reit-suite/./src/components/auth/AdminAuthList.js","webpack://reit-suite/./src/containers/auth/AdminAuthPage.js","webpack://reit-suite/./src/containers/unauthorize/UnauthorizedUserContainer.js","webpack://reit-suite/./src/containers/unauthorize/ExternalUnauthorizedUserContainer.js","webpack://reit-suite/./src/components/tb/MappingsListRow.js","webpack://reit-suite/./src/components/tb/AccountMappingsUploadModal.js","webpack://reit-suite/./src/components/tb/MappingForm.js","webpack://reit-suite/./src/components/chartOfAccountsManager/SyncREITTestingAttributesModal.js","webpack://reit-suite/./src/components/tb/MappingsList.js","webpack://reit-suite/./src/containers/tb/MappingsPage.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/ScheduleChecklistHeader.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/customRenderers/ClientRecipientsCellRenderer.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/ScheduleChecklistTable.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/PSQCompletionRequirement.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/ChecklistDeliveryScheduleUploadModal.js","webpack://reit-suite/./src/containers/checklistDeliveryCalendar/ScheduleChecklistContainer.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/ManageChecklistHeader.js","webpack://reit-suite/./src/components/checklistDeliveryCalendar/ManageChecklistTable.js","webpack://reit-suite/./src/containers/checklistDeliveryCalendar/ManageChecklistContainer.js","webpack://reit-suite/./src/components/shared/customRenderers/TemplateLinkCellRenderer.js","webpack://reit-suite/./src/components/customChecklistTemplate/CustomChecklistTemplateTable.js","webpack://reit-suite/./src/components/customChecklistTemplate/CustomChecklistTemplateHeader.js","webpack://reit-suite/./src/components/customChecklistTemplate/DeleteCustomPSQTemplateModal.js","webpack://reit-suite/./src/components/customChecklistTemplate/CustomPSQTemplateValidationMessageModal.js","webpack://reit-suite/./src/components/customChecklistTemplate/CustomPSQTemplateLockUnlockMessageModal.js","webpack://reit-suite/./src/components/customChecklistTemplate/SystemAdminUnlockTemplateModal.js","webpack://reit-suite/./src/components/customChecklistTemplate/CustomPSQTemplateDeleteTemplateValidationMessageModal.js","webpack://reit-suite/./src/components/customChecklistTemplate/CustomPSQTemplatePreviewTemplateValidationMessageModal.js","webpack://reit-suite/./src/common/SignalRFunction.js","webpack://reit-suite/./src/containers/customChecklistQuestions/CustomChecklistTemplateContainer.js","webpack://reit-suite/./src/components/customFdrTemplate/CustomFdrTemplateHeader.js","webpack://reit-suite/./src/scripts/prosemirror-mentions/mentionPlugin.js","webpack://reit-suite/./src/scripts/prosemirror-mentions/nodes.js","webpack://reit-suite/./src/scripts/prosemirror-mentions/utils.js","webpack://reit-suite/./src/scripts/prosemirror-mentions/index.js","webpack://reit-suite/./src/components/customFdrTemplate/CustomFdrSchema.js","webpack://reit-suite/./src/constants/customFdrTags.js","webpack://reit-suite/./src/components/customFdrTemplate/InsertTagTool.js","webpack://reit-suite/./src/components/customFdrTemplate/CustomFontSizeTool.js","webpack://reit-suite/./src/components/customFdrTemplate/CustomLineSpacingTool.js","webpack://reit-suite/./src/components/customFdrTemplate/CustomFdrTemplateEditor.js","webpack://reit-suite/./src/components/customFdrTemplate/CreateFDRTemplateModal.js","webpack://reit-suite/./src/components/customFdrTemplate/DeleteFdrTemplateModal.js","webpack://reit-suite/./src/containers/customFdrTemplate/CustomFdrTemplateContainer.js","webpack://reit-suite/./src/components/chartOfAccountsManager/ChartOfAccountsManagerHeader.js","webpack://reit-suite/./src/components/chartOfAccountsManager/CreateChartOfAccountsModal.js","webpack://reit-suite/./src/components/chartOfAccountsManager/DeleteChartOfAccountsModal.js","webpack://reit-suite/./src/components/chartOfAccountsManager/DuplicateAccountsEditModal.js","webpack://reit-suite/./src/components/chartOfAccountsManager/ChartOfAccountsTable.js","webpack://reit-suite/./src/components/chartOfAccountsManager/EditSaveModalMessage.js","webpack://reit-suite/./src/components/chartOfAccountsManager/EditChartNameModal.js","webpack://reit-suite/./src/components/chartOfAccountsManager/CreateClientAccountModal.js","webpack://reit-suite/./src/components/chartOfAccountsManager/ChangeDefaultChartOfAccountsModal.js","webpack://reit-suite/./src/components/chartOfAccountsManager/ChartUploadModal.js","webpack://reit-suite/./src/containers/chartOfAccountsManager/ChartOfAccountsManagerContainer.js","webpack://reit-suite/./src/components/chartOfAccountsManager/ChartAssignmentHeader.js","webpack://reit-suite/./src/components/chartOfAccountsManager/ChartAssignmentConfirmationModal.js","webpack://reit-suite/./src/components/chartOfAccountsManager/ChartAssignmentAllReitsTable.js","webpack://reit-suite/./src/components/chartOfAccountsManager/ChartAssignmentPropertyTable.js","webpack://reit-suite/./src/containers/chartOfAccountsManager/ChartAssignmentContainer.js","webpack://reit-suite/./src/components/bulkReportManagement/BulkReportManagementHeader.js","webpack://reit-suite/./src/components/shared/customRenderers/BulkReportManagementActionCellRenderer.js","webpack://reit-suite/./src/components/shared/customRenderers/BulkReportManagementStatusCellRenderer.js","webpack://reit-suite/./src/components/bulkReportManagement/customRenderers/BulkReportPackageNameCellRenderer.js","webpack://reit-suite/./src/components/bulkReportManagement/BulkReportManagementTable.js","webpack://reit-suite/./src/constants/reportExtractGroups.js","webpack://reit-suite/./src/components/bulkReportManagement/GroupingofReportExtract.js","webpack://reit-suite/./src/components/bulkReportManagement/FDRReportTypeReportItemList.js","webpack://reit-suite/./src/components/bulkReportManagement/CreateAndRunReportPackageModal.js","webpack://reit-suite/./src/actions/bulkReportPackageActions.js","webpack://reit-suite/./src/containers/bulkReportManagement/BulkReportManagementContainer.js","webpack://reit-suite/./src/components/customFdrTemplate/AssignReitsTable.js","webpack://reit-suite/./src/containers/customFdrTemplate/DefaultFdrTemplatesContainer.js","webpack://reit-suite/./src/components/customChecklistQuestions/QuestionAccordion.js","webpack://reit-suite/./src/components/customChecklistQuestions/QuestionsComponent.js","webpack://reit-suite/./src/components/customChecklistQuestions/AvailableQuestions.js","webpack://reit-suite/./src/components/customChecklistQuestions/PsqCustomChecklistTemplateHeader.js","webpack://reit-suite/./src/components/customChecklistQuestions/CustomSectionAccordion.js","webpack://reit-suite/./src/components/customChecklistQuestions/PsqCustomChecklistTemplate.js","webpack://reit-suite/./src/components/customChecklistQuestions/PsqCustomChecklistTemplateFooter.js","webpack://reit-suite/./src/common/FileUploadAttribute.js","webpack://reit-suite/./src/components/customChecklistQuestions/PicklistItemSection.js","webpack://reit-suite/./src/components/customChecklistQuestions/IntentToEditLockExtensionModal.js","webpack://reit-suite/./src/components/customChecklistQuestions/AddEditCustomQuestionModal.js","webpack://reit-suite/./src/components/customChecklistQuestions/AddSectionModal.js","webpack://reit-suite/./src/components/customChecklistQuestions/DeleteTemplateQuestionModal.js","webpack://reit-suite/./src/components/customChecklistQuestions/TemplateConfirmEditQuestionModal.js","webpack://reit-suite/./src/components/customChecklistQuestions/DeleteLastSectionWarningModal.js","webpack://reit-suite/./src/components/customChecklistQuestions/CustomQuestionAttachmentListUploadStatus.js","webpack://reit-suite/./src/components/customChecklistQuestions/QuestionLockedInfoModal.js","webpack://reit-suite/./src/components/customChecklistQuestions/StandardChildQuestionsRearrangeWarningModal.js","webpack://reit-suite/./src/containers/psqCustomChecklistTemplate/PsqCustomChecklistTemplateContainer.js","webpack://reit-suite/./src/containers/psqCustomChecklistTemplate/PsqChecklistTemplatePreview.js","webpack://reit-suite/./src/components/bulkProcessManagement/BulkProcessSignOffModal.js","webpack://reit-suite/./src/components/bulkProcessManagement/BulkProcessUpdateServiceAlertModal.js","webpack://reit-suite/./src/components/bulkProcessManagement/BulkProcessManagementHeader.js","webpack://reit-suite/./src/components/bulkProcessManagement/customRenderes/ReitCheckboxHeaderRenderer.js","webpack://reit-suite/./src/components/bulkProcessManagement/customRenderes/ReitCheckboxCellRenderer.js","webpack://reit-suite/./src/components/bulkProcessManagement/customRenderes/AppliedServiceScopeCellRenderer.js","webpack://reit-suite/./src/components/bulkProcessManagement/BulkProcessManagementTable.js","webpack://reit-suite/./src/containers/bulkProcessManagement/BulkProcessManagementContainer.js","webpack://reit-suite/./src/components/bulkRollForward/bulkRollForwardHeader.js","webpack://reit-suite/./src/components/bulkRollForward/customRenderers/BulkRollForwardReitCheckboxHeaderRenderer.js","webpack://reit-suite/./src/components/bulkRollForward/customRenderers/BulkRollForwardReitCheckboxCellRenderer.js","webpack://reit-suite/./src/components/bulkRollForward/customRenderers/CustomReitToolTip.js","webpack://reit-suite/./src/components/bulkRollForward/BulkRollForwardTable.js","webpack://reit-suite/./src/containers/bulkRollForward/BulkRollForwardContainer.js","webpack://reit-suite/./src/containers/LogoffPage.js","webpack://reit-suite/./src/auth/NavigationClient.js","webpack://reit-suite/./src/common/ConditionalMsalProvider.js","webpack://reit-suite/./src/common/CustomRouterProvider.js","webpack://reit-suite/./src/common/RoleGuard.js","webpack://reit-suite/./src/components/dataRetentionManagement/dataRetentionManagementHeader.js","webpack://reit-suite/./src/components/dataRetentionManagement/customRenderers/DataRetentionManagementReitCheckboxCellRenderer.js","webpack://reit-suite/./src/components/dataRetentionManagement/customRenderers/DataRetentionManagementReitCheckboxHeaderRenderer.js","webpack://reit-suite/./src/components/dataRetentionManagement/dataRetentionManagementTable.js","webpack://reit-suite/./src/actions/dataRetentionManagementActions.js","webpack://reit-suite/./src/components/dataRetentionManagement/ApprovalsCompletedModal.js","webpack://reit-suite/./src/containers/dataRetentionManagement/DataRetentionManagementContainer.js","webpack://reit-suite/./src/components/dataRetentionManagement/dataRetentionManagementPolicy.js","webpack://reit-suite/./src/components/dataStewardRoleManagement/dataStewardRoleManagementHeader.js","webpack://reit-suite/./src/components/dataStewardRoleManagement/dataStewardList.js","webpack://reit-suite/./src/containers/dataStewardRoleManagement/dataStewardRoleManagementContainer.js","webpack://reit-suite/./src/components/dataDeletionDiagnostic/DataDeletionDiagnosticHeader.js","webpack://reit-suite/./src/actions/dataDeletionDiagnosticActions.js","webpack://reit-suite/./src/components/dataDeletionDiagnostic/customRenderers/DataDiagnosticDeletionCheckboxCellRenderer.js","webpack://reit-suite/./src/components/dataDeletionDiagnostic/customRenderers/DataDiagnosticDeletionCheckboxHeaderRenderer.js","webpack://reit-suite/./src/components/dataDeletionDiagnostic/dataDeletionDiagnosticTable.js","webpack://reit-suite/./src/components/dataDeletionDiagnostic/dataDeletionWarningModal.js","webpack://reit-suite/./src/containers/dataDeletionDiagnostic/DataDeletionDiagnosticPage.js","webpack://reit-suite/./src/components/externalUserDataVisibility/customRenderers/ExternalUserDataVisibilityCheckboxHeaderRenderer.js","webpack://reit-suite/./src/components/externalUserDataVisibility/customRenderers/ExternalUserDataVisibilityCheckboxCellRenderer.js","webpack://reit-suite/./src/components/externalUserDataVisibility/ExternalUserDataVisibilityTable.js","webpack://reit-suite/./src/components/externalUserDataVisibility/ExternalUserDataVisibilityHeader.js","webpack://reit-suite/./src/containers/externalUserDataVisibility/ExternalUserDataVisibilityContainer.js","webpack://reit-suite/./src/containers/dataRetentionManagement/MissingDeletionApprovalContainer.js","webpack://reit-suite/./src/components/Root.js","webpack://reit-suite/./src/index.js","webpack://reit-suite/./tools/fileMock.js"],"sourcesContent":["export const begin = 1;\r\nexport const end = -1;\r\nexport const endAll = -1000;\r\nexport const pendingTask = 'pendingTask';\r\n","export const SET_MSAL_INSTANCE = 'SET_MSAL_INSTANCE';\r\nexport const SET_CURRENT_USER = 'SET_CURRENT_USER';\r\nexport const SET_ID_TOKEN = 'SET_ID_TOKEN';\r\nexport const SET_ACCESS_TOKEN = 'SET_ACCESS_TOKEN';\r\nexport const LOAD_DEFAULT_FDR_TEMPLATES_SUCCESS = 'LOAD_DEFAULT_FDR_TEMPLATES_SUCCESS';\r\nexport const LOAD_DEFAULT_FDR_TEMPLATES_FAILURE = 'LOAD_DEFAULT_FDR_TEMPLATES_FAILURE';\r\nexport const LOAD_CHARTS_SUCCESS = 'LOAD_CHARTS_SUCCESS';\r\nexport const LOAD_CHARTS_FAILURE = 'LOAD_CHARTS_FAILURE';\r\nexport const LOAD_CHART_OF_ACCOUNTS_SUCCESS = 'LOAD_CHART_OF_ACCOUNTS_SUCCESS';\r\nexport const SET_CHART_DUPLICATE = 'SET_CHART_DUPLICATE';\r\nexport const SET_CHARTOFACCOUNT_DUPLICATE = 'SET_CHARTOFACCOUNT_DUPLICATE';\r\nexport const CLEAR_CHART_DUPLICATE = 'CLEAR_CHART_DUPLICATE';\r\nexport const CLEAR_CHARTOFACCOUNT_DUPLICATE = 'CLEAR_CHARTOFACCOUNT_DUPLICATE';\r\nexport const CREATE_CHART_FAILURE = 'CREATE_CHART_FAILURE';\r\nexport const CREATE_CHARTOFACCOUNT_FAILURE = 'CREATE_CHARTOFACCOUNT_FAILURE';\r\nexport const LOAD_CALENDAR_YEARS_FAILURE = 'LOAD_CALENDAR_YEARS_FAILURE';\r\nexport const LOAD_CHART_ACCOUNT_MAPPINGS_FAILURE = 'LOAD_CHART_ACCOUNT_MAPPINGS_FAILURE';\r\nexport const LOAD_CALENDAR_YEAR_REITS_FAILURE = 'LOAD_CALENDAR_YEAR_REITS_FAILURE';\r\nexport const DELETE_QUESTIONNAIRE_TEMPLATE_FAILURE = 'DELETE_QUESTIONNAIRE_TEMPLATE_FAILURE';\r\nexport const CREATE_QUESTIONNAIRE_TEMPLATE_FAILURE = 'CREATE_QUESTIONNAIRE_TEMPLATE_FAILURE';\r\nexport const CREATE_CUSTOM_FDR_TEMPLATE_FAILURE = 'CREATE_CUSTOM_FDR_TEMPLATE_FAILURE';\r\nexport const CREATE_CUSTOM_FDR_TEMPLATE_SUCCESS = 'CREATE_CUSTOM_FDR_TEMPLATE_SUCCESS';\r\nexport const LOAD_CUSTOM_FDR_TEMPLATES_SUCCESS = 'LOAD_CUSTOM_FDR_TEMPLATES_SUCCESS';\r\nexport const LOAD_CUSTOM_FDR_TEMPLATES_FAILURE = 'LOAD_CUSTOM_FDR_TEMPLATES_FAILURE';\r\nexport const CLEAR_CUSTOM_FDR_TEMPLATE_DUPLICATE = 'CLEAR_CUSTOM_FDR_TEMPLATE_DUPLICATE';\r\nexport const SAVE_DEFAULT_FDR_TEMPLATES_FAILURE = 'SAVE_DEFAULT_FDR_TEMPLATES_FAILURE';\r\nexport const SAVE_DEFAULT_FDR_TEMPLATES_SUCCESS = 'SAVE_DEFAULT_FDR_TEMPLATES_SUCCESS';\r\nexport const SET_CUSTOM_FDR_TEMPLATE_DUPLICATE = 'SET_CUSTOM_FDR_TEMPLATE_DUPLICATE';\r\nexport const DELETE_TEMPLATE_FAILURE = 'DELETE_TEMPLATE_FAILURE';\r\nexport const DELETE_TEMPLATE_SUCCESS = 'DELETE_TEMPLATE_SUCCESS';\r\nexport const UPDATE_CUSTOM_FDR_TEMPLATES_SUCCESS = 'UPDATE_CUSTOM_FDR_TEMPLATES_SUCCESS';\r\nexport const SAVE_CUSTOM_QUESTIONNAIRE_TEMPLATE_FAILURE = 'SAVE_CUSTOM_QUESTIONNAIRE_TEMPLATE_FAILURE';\r\nexport const LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATE_QUESTIONS_SUCCESS = 'LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATE_QUESTIONS_SUCCESS';\r\nexport const LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATE_QUESTIONS_FAILURE = 'LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATE_QUESTIONS_FAILURE';\r\nexport const LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATES_SUCCESS = 'LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATES_SUCCESS';\r\nexport const LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATES_FAILURE = 'LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATES_FAILURE';\r\nexport const LOAD_PSQ_TEMPLATES_SUCCESS = 'LOAD_PSQ_TEMPLATES_SUCCESS';\r\nexport const LOAD_PSQ_TEMPLATES_FAILURE = 'LOAD_PSQ_TEMPLATES_FAILURE';\r\nexport const LOAD_BULK_REPORT_PACKAGES_SUCCESS = 'LOAD_BULK_REPORT_PACKAGES_SUCCESS';\r\nexport const LOAD_BULK_REPORT_PACKAGES_FAILURE = 'LOAD_BULK_REPORT_PACKAGES_FAILURE';\r\nexport const LOAD_BULK_REPORT_PACKAGES_ETA_SUCCESS = 'LOAD_BULK_REPORT_PACKAGES_ETA_SUCCESS';\r\nexport const LOAD_BULK_REPORT_PACKAGES_ETA_FAILURE = 'LOAD_BULK_REPORT_PACKAGES_ETA_FAILURE';\r\nexport const UPDATE_BULK_REPORT_PACKAGE_ETA = 'UPDATE_BULK_REPORT_PACKAGE_ETA';\r\nexport const RECEIVE_BULK_REPORT_PACKAGE_MESSAGE = 'RECEIVE_BULK_REPORT_PACKAGE_MESSAGE';\r\nexport const CREATE_BULK_REPORT_PACKAGES_SUCCESS = 'CREATE_BULK_REPORT_PACKAGES_SUCCESS';\r\nexport const CREATE_BULK_REPORT_PACKAGES_FAILURE = 'CREATE_BULK_REPORT_PACKAGES_FAILURE';\r\nexport const DELETE_BULK_REPORT_PACKAGES_FAILURE = 'DELETE_BULK_REPORT_PACKAGES_FAILURE';\r\nexport const SET_AUTHENTICATION_SCOPE = 'SET_AUTHENTICATION_SCOPE';\r\nexport const SAVE_CHECKLIST_DELIVERY_SCHEDULE_FAILURE = 'SAVE_CHECKLIST_DELIVERY_SCHEDULE_FAILURE';\r\nexport const LOAD_CHECKLIST_DELIVERY_SCHEDULE_SUCCESS = 'LOAD_CHECKLIST_DELIVERY_SCHEDULE_SUCCESS';\r\nexport const LOAD_CHECKLIST_DELIVERY_SCHEDULE_FAILURE = 'LOAD_CHECKLIST_DELIVERY_SCHEDULE_FAILURE';\r\nexport const LOAD_CHECKLIST_CALENDAR_YEARS_SUCCESS = 'LOAD_CHECKLIST_CALENDAR_YEARS_SUCCESS';\r\nexport const LOAD_CHECKLIST_CALENDAR_YEARS_FAILURE = 'LOAD_CHECKLIST_CALENDAR_YEARS_FAILURE';\r\nexport const LOAD_CHECKLIST_CALENDAR_YEARS_BY_CLIENT_AND_TYPE_SUCCESS = 'LOAD_CHECKLIST_CALENDAR_YEARS_BY_CLIENT_AND_TYPE_SUCCESS';\r\nexport const LOAD_CHECKLIST_CALENDAR_YEARS_BY_CLIENT_AND_TYPE_FAILURE = 'LOAD_CHECKLIST_CALENDAR_YEARS_BY_CLIENT_AND_TYPE_FAILURE';\r\nexport const RESET_CHECKLIST_DELIVERY_SCHEDULE_SUCCESS = 'RESET_CHECKLIST_DELIVERY_SCHEDULE_SUCCESS';\r\nexport const RESET_CHECKLIST_DELIVERY_SCHEDULE_FAILURE = 'RESET_CHECKLIST_DELIVERY_SCHEDULE_FAILURE';\r\nexport const LAST_CLICKED_TAB_CHECKLIST_QUESTION_ID = 'LAST_CLICKED_TAB_CHECKLIST_QUESTION_ID';\r\nexport const DELETE_CHECKLIST_ATTACHMENT_SUCCESS = 'DELETE_CHECKLIST_ATTACHMENT_SUCCESS';\r\nexport const DELETE_CHECKLIST_ATTACHMENT_FAILURE = 'DELETE_CHECKLIST_ATTACHMENT_FAILURE';\r\nexport const LOAD_CHECKLIST_FILES_SUCCESS = 'LOAD_CHECKLIST_FILES_SUCCESS';\r\nexport const LOAD_CHECKLIST_FILES_FAILURE = 'LOAD_CHECKLIST_FILES_FAILURE';\r\nexport const ALLOW_UPDATE__REPORT_PERIOD_VISIBILITY_CONSTRAINT_SUCCESS = 'ALLOW_UPDATE__REPORT_PERIOD_VISIBILITY_CONSTRAINT_SUCCESS';\r\nexport const ALLOW_UPDATE__REPORT_PERIOD_VISIBILITY_CONSTRAINT_FAILURE = 'ALLOW_UPDATE__REPORT_PERIOD_VISIBILITY_CONSTRAINT_FAILURE';\r\nexport const LOAD_EXTERNAL_CHECKLIST_LIST_SUCCESS = 'LOAD_EXTERNAL_CHECKLIST_LIST_SUCCESS';\r\nexport const LOAD_EXTERNAL_CHECKLIST_LIST_FAILURE = 'LOAD_EXTERNAL_CHECKLIST_LIST_FAILURE';\r\nexport const SAVE_NEW_CHECKLIST_COMMENT_SUCCESS = 'SAVE_NEW_CHECKLIST_COMMENT_SUCCESS';\r\nexport const SAVE_NEW_CHECKLIST_COMMENT_FAILURE = 'SAVE_NEW_CHECKLIST_COMMENT_FAILURE';\r\nexport const CLEAR_ERROR_RESPONSE = 'CLEAR_ERROR_RESPONSE';\r\nexport const CLEAR_USERS_MESSAGE = 'CLEAR_USERS_MESSAGE';\r\nexport const CREATE_CHECKLIST_FAILURE = 'CREATE_CHECKLIST_FAILURE';\r\nexport const CREATE_CHECKLIST_SUCCESS = 'CREATE_CHECKLIST_SUCCESS';\r\nexport const CREATE_CLIENT_SUCCESS = 'CREATE_CLIENT_SUCCESS';\r\nexport const CREATE_CLIENT_FAILURE = 'CREATE_CLIENT_FAILURE';\r\nexport const CREATE_DISTRIBUTION_SUCCESS = 'CREATE_DISTRIBUTION_SUCCESS';\r\nexport const CREATE_DISTRIBUTION_FAILURE = 'CREATE_DISTRIBUTION_FAILURE';\r\nexport const CREATE_DISTRIBUTION_TAXABLE_INCOME_SUCCESS =\r\n 'CREATE_DISTRIBUTION_TAXABLE_INCOME_SUCCESS';\r\nexport const CREATE_DISTRIBUTION_TAXABLE_INCOME_FAILURE =\r\n 'CREATE_DISTRIBUTION_TAXABLE_INCOME_FAILURE';\r\nexport const CREATE_SECURITIES_SNAPSHOT_SUCCESS =\r\n 'CREATE_SECURITIES_SNAPSHOT_SUCCESS';\r\nexport const CREATE_SECURITIES_SNAPSHOT_FAILURE =\r\n 'CREATE_SECURITIES_SNAPSHOT_FAILURE';\r\nexport const CREATE_SERVICES_SUCCESS = 'CREATE_SERVICES_SUCCESS';\r\nexport const CREATE_SERVICES_FAILURE = 'CREATE_SERVICES_FAILURE';\r\nexport const DELETE_CHECKLIST_CLEAR = 'DELETE_CHECKLIST_CLEAR';\r\nexport const DELETE_CHECKLIST_FAILURE = 'DELETE_CHECKLIST_FAILURE';\r\nexport const DELETE_CHECKLIST_SUCCESS = 'DELETE_CHECKLIST_SUCCESS';\r\nexport const DELETE_DISTRIBUTION_SUCCESS = 'DELETE_DISTRIBUTION_SUCCESS';\r\nexport const DELETE_DISTRIBUTION_FAILURE = 'DELETE_DISTRIBUTION_FAILURE';\r\nexport const DELETE_SECURITIES_SNAPSHOT_SUCCESS =\r\n 'DELETE_SECURITIES_SNAPSHOT_SUCCESS';\r\nexport const DELETE_SECURITIES_SNAPSHOT_FAILURE =\r\n 'DELETE_SECURITIES_SNAPSHOT_FAILURE';\r\nexport const DELETE_TRS_SUCCESS = 'DELETE_TRS_SUCCESS';\r\nexport const DELETE_TRS_FAILURE = 'DELETE_TRS_FAILURE';\r\nexport const ERROR = 'ERROR';\r\nexport const LOAD_ALL_REITS_FAILURE = 'LOAD_ALL_REITS_FAILURE';\r\nexport const LOAD_ALL_RIETS_SUCCESS = 'LOAD_ALL_RIETS_SUCCESS';\r\nexport const LOAD_ARQC_CHECKLIST_SUCCESS = 'LOAD_ARQC_CHECKLIST_SUCCESS';\r\nexport const LOAD_ARQC_CHECKLIST_FAILURE = 'LOAD_ARQC_CHECKLIST_FAILURE';\r\nexport const LOAD_ASSET_DETAIL_SUCCESS = 'LOAD_ASSET_DETAIL_SUCCESS';\r\nexport const LOAD_ASSET_DETAIL_FAILURE = 'LOAD_ASSET_DETAIL_FAILURE';\r\nexport const LOAD_ASSET_DETAILS_FOR_YEAR_FAILURE =\r\n 'LOAD_ASSET_DETAILS_FOR_YEAR_FAILURE';\r\nexport const LOAD_ASSET_DETAILS_FOR_YEAR_SUCCESS =\r\n 'LOAD_ASSET_DETAILS_FOR_YEAR_SUCCESS';\r\nexport const LOAD_ASSET_SUMMARY_SUCCESS = 'LOAD_ASSET_SUMMARY_SUCCESS';\r\nexport const LOAD_ASSET_SUMMARY_FAILURE = 'LOAD_ASSET_SUMMARY_FAILURE';\r\nexport const LOAD_CLIENT_FAILURE = 'LOAD_CLIENT_FAILURE';\r\nexport const LOAD_CLIENT_SUCCESS = 'LOAD_CLIENT_SUCCESS';\r\nexport const LOAD_CLIENTS_FAILURE = 'LOAD_CLIENTS_FAILURE';\r\nexport const LOAD_CLIENTS_SUCCESS = 'LOAD_CLIENTS_SUCCESS';\r\n\r\nexport const LOAD_EXTERNAL_CHECKLISTS_CLIENTS_SUCCESS = 'LOAD_EXTERNAL_CHECKLISTS_CLIENTS_SUCCESS';\r\nexport const LOAD_EXTERNAL_CHECKLISTS_CLIENTS_FAILURE = 'LOAD_EXTERNAL_CHECKLISTS_CLIENTS_FAILURE';\r\nexport const LOAD_CLIENT_ACCOUNT_DATA_SUCCESS =\r\n 'LOAD_CLIENT_ACCOUNT_DATA_SUCCESS';\r\nexport const LOAD_CLIENT_ACCOUNT_DATA_FAILURE =\r\n 'LOAD_CLIENT_ACCOUNT_DATA_FAILURE';\r\nexport const LOAD_COA_SUCCESS = 'LOAD_COA_SUCCESS';\r\nexport const LOAD_COA_FAILURE = 'LOAD_COA_FAILURE';\r\nexport const LOAD_CHART_MAPPINGS_SUCCESS = 'LOAD_CHART_MAPPINGS_SUCCESS';\r\nexport const LOAD_CHART_MAPPINGS_FAILURE = 'LOAD_CHART_MAPPINGS_FAILURE';\r\nexport const LOAD_COA_DETAIL_GROUP_MAPPINGS_SUCCESS =\r\n 'LOAD_COA_DETAIL_GROUP_MAPPINGS_SUCCESS';\r\nexport const LOAD_COA_DETAIL_GROUP_MAPPINGS_FAILURE =\r\n 'LOAD_COA_DETAIL_GROUP_MAPPINGS_FAILURE';\r\nexport const LOAD_DETAIL_GROUPS_MAPPINGS_SUCCESS =\r\n 'LOAD_DETAIL_GROUPS_MAPPINGS_SUCCESS';\r\nexport const LOAD_DETAIL_GROUPS_MAPPINGS_FAILURE =\r\n 'LOAD_DETAIL_GROUPS_MAPPINGS_FAILURE';\r\nexport const LOAD_DISTRIBUTION_DETAIL_SUCCESS =\r\n 'LOAD_DISTRIBUTION_DETAIL_SUCCESS';\r\nexport const LOAD_DISTRIBUTION_DETAIL_FAILURE =\r\n 'LOAD_DISTRIBUTION_DETAIL_FAILURE';\r\nexport const LOAD_DISTRIBUTION_TAXABLE_INCOME_SUCCESS =\r\n 'LOAD_DISTRIBUTION_TAXABLE_INCOME_SUCCESS';\r\nexport const LOAD_DISTRIBUTION_TAXABLE_INCOME_FAILURE =\r\n 'LOAD_DISTRIBUTION_TAXABLE_INCOME_FAILURE';\r\nexport const LOAD_DISTRIBUTION_TEST_SUMMARY_SUCCESS =\r\n 'LOAD_DISTRIBUTION_TEST_SUMMARY_SUCCESS';\r\nexport const LOAD_DISTRIBUTION_TEST_SUMMARY_FAILURE =\r\n 'LOAD_DISTRIBUTION_TEST_SUMMARY_FAILURE';\r\nexport const LOAD_EXTERNAL_ARQC_SUCCESS = 'LOAD_EXTERNAL_ARQC_SUCCESS';\r\nexport const LOAD_EXTERNAL_ARQC_FAILURE = 'LOAD_EXTERNAL_ARQC_FAILURE';\r\nexport const LOAD_EXTERNAL_PSQ_SUCCESS = 'LOAD_EXTERNAL_PSQ_SUCCESS';\r\nexport const LOAD_EXTERNAL_PSQ_FAILURE = 'LOAD_EXTERNAL_PSQ_FAILURE';\r\nexport const EXTERNAL_ARQC_EXCLUDE_UPDATING_CURRENT_CHECKLIST_SUCCESS = 'EXTERNAL_ARQC_EXCLUDE_UPDATING_CURRENT_CHECKLIST_SUCCESS';\r\nexport const EXTERNAL_PSQ_EXCLUDE_UPDATING_CURRENT_CHECKLIST_SUCCESS = 'EXTERNAL_PSQ_EXCLUDE_UPDATING_CURRENT_CHECKLIST_SUCCESS';\r\n\r\nexport const LOAD_FILES_FAILURE = 'LOAD_FILES_FAILURE';\r\nexport const LOAD_FILES_SUCCESS = 'LOAD_FILES_SUCCESS';\r\nexport const LOAD_FINAL_REPORT_FAILURE = 'LOAD_FINAL_REPORT_FAILURE';\r\nexport const LOAD_FINAL_REPORT_SUCCESS = 'LOAD_FINAL_REPORT_SUCCESS';\r\nexport const LOAD_LAST_TRIAL_BALANCE_FAILURE =\r\n 'LOAD_LAST_TRIAL_BALANCE_FAILURE';\r\nexport const LOAD_LAST_TRIAL_BALANCE_SUCCESS =\r\n 'LOAD_LAST_TRIAL_BALANCE_SUCCESS';\r\nexport const LOAD_LAST_PROPERTY_TRIAL_BALANCE_FAILURE =\r\n 'LOAD_LAST_PROPERTY_TRIAL_BALANCE_FAILURE';\r\nexport const LOAD_LAST_PROPERTY_TRIAL_BALANCE_SUCCESS =\r\n 'LOAD_LAST_PROPERTY_TRIAL_BALANCE_SUCCESS';\r\nexport const LOAD_LAST_REIT_PROPERTY_TRIAL_BALANCE_SUCCESS =\r\n 'LOAD_LAST_REIT_PROPERTY_TRIAL_BALANCE_SUCCESS';\r\nexport const LOAD_LAST_REIT_PROPERTY_TRIAL_BALANCE_FAILURE =\r\n 'LOAD_LAST_REIT_PROPERTY_TRIAL_BALANCE_FAILURE';\r\nexport const LOAD_LAST_CONSOLIDATED_PROPERTY_TRIAL_BALANCE_SUCCESS =\r\n 'LOAD_LAST_CONSOLIDATED_PROPERTY_TRIAL_BALANCE_SUCCESS';\r\nexport const LOAD_LAST_CONSOLIDATED_PROPERTY_TRIAL_BALANCE_FAILURE =\r\n 'LOAD_LAST_CONSOLIDATED_PROPERTY_TRIAL_BALANCE_FAILURE';\r\nexport const LOAD_INCOME_DETAIL_SUCCESS = 'LOAD_INCOME_DETAIL_SUCCESS';\r\nexport const LOAD_PROPERTY_DETAIL_SUCCESS = 'LOAD_PROPERTY_DETAIL_SUCCESS';\r\nexport const LOAD_PROPERTY_DETAIL_FAILURE = 'LOAD_PROPERTY_DETAIL_FAILURE';\r\nexport const DELETE_PROPERTY_FAILURE = 'DELETE_PROPERTY_FAILURE';\r\nexport const DELETE_PROPERTY_SUCCESS = 'DELETE_PROPERTY_SUCCESS';\r\nexport const LOAD_INCOME_DETAIL_FAILURE = 'LOAD_INCOME_DETAIL_FAILURE';\r\nexport const LOAD_INCOME_TEST_SUMMARY_SUCCESS =\r\n 'LOAD_INCOME_TEST_SUMMARY_SUCCESS';\r\nexport const LOAD_INCOME_TEST_SUMMARY_FAILURE =\r\n 'LOAD_INCOME_TEST_SUMMARY_FAILURE';\r\nexport const LOAD_MAPPING_SUCCESS = 'LOAD_MAPPING_SUCCESS';\r\nexport const LOAD_MAPPING_FAILURE = 'LOAD_MAPPING_FAILURE';\r\nexport const LOAD_PERIOD_SUCCESS = 'LOAD_PERIOD_SUCCESS';\r\nexport const LOAD_PERIOD_FAILURE = 'LOAD_PERIOD_FAILURE';\r\nexport const LOAD_PERIOD_MAPPINGS_SUCCESS = 'LOAD_PERIOD_MAPPINGS_SUCCESS';\r\nexport const LOAD_PERIOD_MAPPINGS_FAILURE = 'LOAD_PERIOD_MAPPINGS_FAILURE';\r\nexport const LOAD_PERIODS_BY_CLIENT_ID_SUCCESS = 'LOAD_PERIODS_BY_CLIENT_ID_SUCCESS';\r\nexport const LOAD_PERIODS_BY_CLIENT_ID_FAILURE = 'LOAD_PERIODS_BY_CLIENT_ID_FAILURE';\r\nexport const LOAD_PERIOD_MAPPINGS_BALANCES_SUCCESS =\r\n 'LOAD_PERIOD_MAPPINGS_BALANCES_SUCCESS';\r\nexport const LOAD_PERIOD_MAPPINGS_BALANCES_FAILURE =\r\n 'LOAD_PERIOD_MAPPINGS_BALANCES_FAILURE';\r\nexport const LOAD_PREVIOUS_ARQC_CHECKLIST_FAILURE =\r\n 'LOAD_PREVIOUS_ARQC_CHECKLIST_FAILURE';\r\nexport const LOAD_PREVIOUS_ARQC_CHECKLIST_SUCCESS =\r\n 'LOAD_PREVIOUS_ARQC_CHECKLIST_SUCCESS';\r\nexport const LOAD_PREVIOUS_PSQ_CHECKLIST_FAILURE =\r\n 'LOAD_PREVIOUS_PSQ_CHECKLIST_FAILURE';\r\nexport const LOAD_PREVIOUS_PSQ_CHECKLIST_SUCCESS =\r\n 'LOAD_PREVIOUS_PSQ_CHECKLIST_SUCCESS';\r\nexport const LOAD_PROPERTIES_SUCCESS = 'LOAD_PROPERTIES_SUCCESS';\r\nexport const LOAD_PROPERTIES_FAILURE = 'LOAD_PROPERTIES_FAILURE';\r\nexport const LOAD_PROPERTY_SUCCESS = 'LOAD_PROPERTY_SUCCESS';\r\nexport const LOAD_PROPERTY_FAILURE = 'LOAD_PROPERTY_FAILURE';\r\nexport const LOAD_PROPERTY_ITSI_SUCCESS = 'LOAD_PROPERTY_ITSI_SUCCESS';\r\nexport const LOAD_PROPERTY_ITSI_FAILURE = 'LOAD_PROPERTY_ITSI_FAILURE';\r\nexport const LOAD_PSQ_CHECKLIST_SUCCESS = 'LOAD_PSQ_CHECKLIST_SUCCESS';\r\nexport const LOAD_PSQ_CHECKLIST_FAILURE = 'LOAD_PSQ_CHECKLIST_FAILURE';\r\nexport const LOAD_REIT_FAILURE = 'LOAD_REIT_FAILURE';\r\nexport const LOAD_RIET_SUCCESS = 'LOAD_RIET_SUCCESS';\r\nexport const LOAD_REITS_FAILURE = 'LOAD_REITS_FAILURE';\r\nexport const LOAD_REITS_SUCCESS = 'LOAD_REITS_SUCCESS';\r\nexport const LOAD_REITS_EXTERNAL_FAILURE = 'LOAD_REITS_EXTERNAL_FAILURE';\r\nexport const LOAD_REITS_EXTERNAL_SUCCESS = 'LOAD_REITS_EXTERNAL_SUCCESS';\r\nexport const LOAD_REITS_FOR_MO_FAILURE = 'LOAD_REITS_FOR_MO_FAILURE';\r\nexport const LOAD_REITS_FOR_MO_SUCCESS = 'LOAD_REITS_FOR_MO_SUCCESS';\r\nexport const LOAD_REPORT_ITEMS_FAILURE = 'LOAD_REPORT_ITEMS_FAILURE';\r\nexport const LOAD_REPORT_ITEMS_SUCCESS = 'LOAD_REPORT_ITEMS_SUCCESS';\r\nexport const LOAD_REPORT_ITEMS_FOR_CLIENT_FAILURE = 'LOAD_REPORT_ITEMS_FOR_CLIENT_FAILURE';\r\nexport const LOAD_REPORT_ITEMS_FOR_CLIENT_SUCCESS = 'LOAD_REPORT_ITEMS_FOR_CLIENT_SUCCESS';\r\nexport const LOAD_SECURITIES_SNAPSHOTS_FAILURE ='LOAD_SECURITIES_SNAPSHOTS_FAILURE';\r\nexport const LOAD_SECURITIES_SNAPSHOTS_SUCCESS ='LOAD_SECURITIES_SNAPSHOTS_SUCCESS';\r\nexport const GET_INCOMPLETE_SECURITIES_SNAPSHOTS_FAILURE ='GET_INCOMPLETE_SECURITIES_SNAPSHOTS_FAILURE';\r\nexport const GET_INCOMPLETE_SECURITIES_SNAPSHOTS_SUCCESS ='GET_INCOMPLETE_SECURITIES_SNAPSHOTS_SUCCESS';\r\nexport const RELOAD_INCOMPLETE_SECURITIES_SNAPSHOTS_SUCCESS ='RELOAD_INCOMPLETE_SECURITIES_SNAPSHOTS_SUCCESS';\r\nexport const LOAD_TB_SUMMARY_SUCCESS = 'LOAD_TB_SUMMARY_SUCCESS';\r\nexport const LOAD_TB_SUMMARY_FAILURE = 'LOAD_TB_SUMMARY_FAILURE';\r\nexport const LOAD_SERVICES_SUCCESS = 'LOAD_SERVICES_SUCCESS';\r\nexport const LOAD_SERVICES_FAILURE = 'LOAD_SERVICES_FAILURE';\r\nexport const LOAD_NAVIGATION_SERVICES_SUCCESS =\r\n 'LOAD_NAVIGATION_SERVICES_SUCCESS';\r\nexport const LOAD_NAVIGATION_SERVICES_FAILURE =\r\n 'LOAD_NAVIGATION_SERVICES_FAILURE';\r\nexport const LOAD_AVAILABLE_SERVICES_SUCCESS =\r\n 'LOAD_AVAILABLE_SERVICES_SUCCESS';\r\nexport const LOAD_AVAILABLE_SERVICES_FAILURE =\r\n 'LOAD_AVAILABLE_SERVICES_FAILURE';\r\nexport const LOAD_TEST_SNAPSHOTS_FAILURE = 'LOAD_TEST_SNAPSHOTS_FAILURE';\r\nexport const LOAD_TEST_SNAPSHOTS_SUCCESS = 'LOAD_TEST_SNAPSHOTS_SUCCESS';\r\nexport const LOAD_TRSES_FAILURE = 'LOAD_TRSES_FAILURE';\r\nexport const LOAD_TRSES_SUCCESS = 'LOAD_TRSES_SUCCESS';\r\nexport const LOAD_TB_ADJUSTMENTS_FAILURE = 'LOAD_TB_ADJUSTMENTS_FAILURE';\r\nexport const LOAD_TB_ADJUSTMENTS_SUCCESS = 'LOAD_TB_ADJUSTMENTS_SUCCESS';\r\nexport const LOAD_TB_ITEM_FAILURE = 'LOAD_TB_ITEM_FAILURE';\r\nexport const LOAD_TB_ITEM_SUCCESS = 'LOAD_TB_ITEM_SUCCESS';\r\nexport const LOAD_TB_ITEMS_FAILURE = 'LOAD_TB_ITEMS_FAILURE';\r\nexport const LOAD_TB_ITEMS_SUCCESS = 'LOAD_TB_ITEMS_SUCCESS';\r\nexport const LOGIN_FAILURE = 'LOGIN_FAILURE';\r\nexport const LOGIN_SUCCESS = 'LOGIN_SUCCESS';\r\nexport const LOGOUT = 'LOGOUT';\r\nexport const REPORT_ITEM_SELECTION_TOGGLE = 'REPORT_ITEM_SELECTION_TOGGLE';\r\nexport const SET_ARQC_ACTIVE_CHECKLIST_SUCCESS =\r\n 'SET_ARQC_ACTIVE_CHECKLIST_SUCCESS';\r\nexport const SET_PSQ_ACTIVE_CHECKLIST_SUCCESS =\r\n 'SET_PSQ_ACTIVE_CHECKLIST_SUCCESS';\r\nexport const TASK_BEGIN = 'TASK_BEGIN';\r\nexport const TASK_END = 'TASK_END';\r\nexport const UPDATE_PENDING_TASKS = 'UPDATE_PENDING_TASKS';\r\nexport const TOGGLE_CLIENT_ACTIVE_FLAG_FAILURE =\r\n 'TOGGLE_CLIENT_ACTIVE_FLAG_FAILURE';\r\nexport const TOGGLE_REIT_ACTIVE_FLAG_FAILURE =\r\n 'TOGGLE_REIT_ACTIVE_FLAG_FAILURE';\r\nexport const UPDATE_CHECKLIST_SUCCESS = 'UPDATE_CHECKLIST_SUCCESS';\r\nexport const UPDATE_CHECKLIST_FAILURE = 'UPDATE_CHECKLIST_FAILURE';\r\nexport const UPDATE_CLIENT_SUCCESS = 'UPDATE_CLIENT_SUCCESS';\r\nexport const UPDATE_CLIENT_FAILURE = 'UPDATE_CLIENT_FAILURE';\r\nexport const UPDATE_DISTRIBUTION_SUCCESS = 'UPDATE_DISTRIBUTION_SUCCESS';\r\nexport const UPDATE_DISTRIBUTION_FAILURE = 'UPDATE_DISTRIBUTION_FAILURE';\r\nexport const UPDATE_PERIOD_STATUS_SUCCESS = 'UPDATE_PERIOD_STATUS_SUCCESS';\r\nexport const UPDATE_PERIOD_STATUS_FAILURE = 'UPDATE_PERIOD_STATUS_FAILURE';\r\nexport const UPDATE_PROPERTY_SUCCESS = 'UPDATE_PROPERTY_SUCCESS';\r\nexport const UPDATE_PROPERTY_FAILURE = 'UPDATE_PROPERTY_FAILURE';\r\nexport const DELETE_PROPERTY_DETAIL_FAILURE = 'DELETE_PROPERTY_DETAIL_FAILURE';\r\nexport const DELETE_PROPERTY_DETAIL_SUCCESS = 'DELETE_PROPERTY_DETAIL_SUCCESS';\r\nexport const UPDATE_SECURITIES_SNAPSHOT_SUCCESS =\r\n 'UPDATE_SECURITIES_SNAPSHOT_SUCCESS';\r\nexport const UPDATE_SECURITIES_SNAPSHOT_FAILURE =\r\n 'UPDATE_SECURITIES_SNAPSHOT_FAILURE';\r\nexport const UPDATE_TRS_SUCCESS = 'UPDATE_TRS_SUCCESS';\r\nexport const UPDATE_TRS_FAILURE = 'UPDATE_TRS_FAILURE';\r\nexport const UPLOAD_FILE_CLEAR = 'UPLOAD_FILE_CLEAR';\r\nexport const UPLOAD_FILE_FAILURE = 'UPLOAD_FILE_FAILURE';\r\nexport const UPLOAD_FILE_SUCCESS = 'UPLOAD_FILE_SUCCESS';\r\nexport const UPLOAD_FINAL_REPORT_CLEAR = 'UPLOAD_FINAL_REPORT_CLEAR';\r\nexport const UPLOAD_FINAL_REPORT_FAILURE = 'UPLOAD_FINAL_REPORT_FAILURE';\r\nexport const UPLOAD_FINAL_REPORT_SUCCESS = 'UPLOAD_FINAL_REPORT_SUCCESS';\r\nexport const UPLOAD_TB_CLEAR = 'UPLOAD_TB_CLEAR';\r\nexport const UPLOAD_TB_FAILURE = 'UPLOAD_TB_FAILURE';\r\nexport const UPLOAD_TB_SUCCESS = 'UPLOAD_TB_SUCCESS';\r\nexport const UNLOAD_CLIENT = 'UNLOAD_CLIENT';\r\nexport const UNLOAD_REIT = 'UNLOAD_REIT';\r\nexport const UNLOAD_PERIOD = 'UNLOAD_PERIOD';\r\nexport const UNLOAD_PROPERTY = 'UNLOAD_PROPERTY';\r\nexport const UNLOAD_TESTS = 'UNLOAD_TESTS';\r\nexport const UNLOAD_FILE_MANAGEMENT = 'UNLOAD_FILE_MANAGEMENT';\r\nexport const UNLOAD_SERVICES = 'UNLOAD_SERVICES';\r\nexport const UNLOAD_NAVIGATION_SERVICES = 'UNLOAD_NAVIGATION_SERVICES';\r\n\r\n// AUTH - TODO - Put in alphabetical order\r\nexport const LOAD_AUTHORIZATION_RESOURCE_SUCCESS =\r\n 'LOAD_AUTHORIZATION_RESOURCE_SUCCESS';\r\nexport const LOAD_AUTHORIZATION_RESOURCE_FAILURE =\r\n 'LOAD_AUTHORIZATION_RESOURCE_FAILURE';\r\nexport const LOAD_CURRENT_USER_AUTHORIZATIONS_FAILURE =\r\n 'LOAD_CURRENT_USER_AUTHORIZATIONS_FAILURE';\r\nexport const LOAD_CURRENT_USER_AUTHORIZATIONS_SUCCESS =\r\n 'LOAD_CURRENT_USER_AUTHORIZATIONS_SUCCESS';\r\nexport const LOAD_MANAGED_RESOURCES_SUCCESS = 'LOAD_MANAGED_RESOURCES_SUCCESS';\r\nexport const LOAD_MANAGED_RESOURCES_FAILURE = 'LOAD_MANAGED_RESOURCES_FAILURE';\r\nexport const LOAD_UNMANAGED_RESOURCES_SUCCESS =\r\n 'LOAD_UNMANAGED_RESOURCES_SUCCESS';\r\nexport const LOAD_UNMANAGED_RESOURCES_FAILURE =\r\n 'LOAD_UNMANAGED_RESOURCES_FAILURE';\r\nexport const LOAD_MANAGED_ROLES_SUCCESS = 'LOAD_MANAGED_ROLES_SUCCESS';\r\nexport const LOAD_MANAGED_ROLES_FAILURE = 'LOAD_MANAGED_ROLES_FAILURE';\r\nexport const LOAD_UNMANAGED_ROLES_SUCCESS = 'LOAD_UNMANAGED_ROLES_SUCCESS';\r\nexport const LOAD_UNMANAGED_ROLES_FAILURE = 'LOAD_UNMANAGED_ROLES_FAILURE';\r\nexport const LOAD_AUTHORIZATIONS_SUCCESS = 'LOAD_AUTHORIZATIONS_SUCCESS';\r\nexport const LOAD_AUTHORIZATIONS_FAILURE = 'LOAD_AUTHORIZATIONS_FAILURE';\r\nexport const LOAD_AUTHORIZATION_SUCCESS = 'LOAD_AUTHORIZATION_SUCCESS';\r\nexport const LOAD_AUTHORIZATION_FAILURE = 'LOAD_AUTHORIZATION_FAILURE';\r\nexport const CREATE_AUTHORIZATION_SUCCESS = 'CREATE_AUTHORIZATION_SUCCESS';\r\nexport const CREATE_AUTHORIZATION_FAILURE = 'CREATE_AUTHORIZATION_FAILURE';\r\nexport const UPDATE_AUTHORIZATION_SUCCESS = 'UPDATE_AUTHORIZATION_SUCCESS';\r\nexport const UPDATE_AUTHORIZATION_FAILURE = 'UPDATE_AUTHORIZATION_FAILURE';\r\nexport const REMOVE_AUTHORIZATION_SUCCESS = 'REMOVE_AUTHORIZATION_SUCCESS';\r\nexport const REMOVE_AUTHORIZATION_FAILURE = 'REMOVE_AUTHORIZATION_FAILURE';\r\n\r\nexport const TB_PROCESSING_COMPLETE = 'TB_PROCESSING_COMPLETE';\r\nexport const TB_PROCESSING_FAILED = 'TB_PROCESSING_FAILED';\r\nexport const TB_PROCESSING_COMPLETE_NOTIFIED =\r\n 'TB_PROCESSING_COMPLETE_NOTIFIED';\r\n\r\nexport const PERCENTAGE_OF_OWNERSHIP_UPDATE_SUCCESS =\r\n 'PERCENTAGE_OF_OWNERSHIP_UPDATE_SUCCESS';\r\nexport const PERCENTAGE_OF_OWNERSHIP_UPDATE_FAILURE =\r\n 'PERCENTAGE_OF_OWNERSHIP_UPDATE_FAILURE';\r\n\r\nexport const CREATE_MAPPING_ALL_REITS_SUCCESS =\r\n 'CREATE_MAPPING_ALL_REITS_SUCCESS';\r\nexport const CREATE_MAPPING_ALL_REITS_FAILURE =\r\n 'CREATE_MAPPING_ALL_REITS_FAILURE';\r\n\r\nexport const ADD_NOTIFICATIONS_FAILURE = 'ADD_NOTIFICATIONS_FAILURE';\r\nexport const ADD_NOTIFICATIONS_SUCCESS = 'ADD_NOTIFICATIONS_SUCCESS';\r\nexport const GET_NOTIFICATIONS_SUCCESS = 'GET_NOTIFICATIONS_SUCCESS';\r\nexport const TOGGLE_NOTIFICATIONS_DISPLAY = 'TOGGLE_NOTIFICATIONS_DISPLAY';\r\n\r\nexport const SHOW_BULK_UPLOAD_MODAL = 'SHOW_BULK_UPLOAD_MODAL';\r\nexport const HIDE_BULK_UPLOAD_MODAL = 'HIDE_BULK_UPLOAD_MODAL';\r\n\r\nexport const TB_UPLOAD_CLEAR = 'TB_UPLOAD_CLEAR';\r\nexport const TB_UPLOAD_COMPLETE = 'TB_UPLOAD_COMPLETE';\r\nexport const TB_UPLOAD_FAILED = 'TB_UPLOAD_FAILED';\r\nexport const TB_UPLOAD_PROGRESS = 'TB_UPLOAD_PROGRESS';\r\nexport const TB_UPLOAD_START = 'TB_UPLOAD_START';\r\nexport const TB_ADD_FILES_TO_QUEUE = 'TB_ADD_FILES_TO_QUEUE';\r\n\r\nexport const LOAD_QUEUE_COUNT_SUCCESS = 'LOAD_QUEUE_COUNT_SUCCESS';\r\nexport const LOAD_QUEUE_COUNT_FAILURE = 'LOAD_QUEUE_COUNT_FAILURE';\r\n\r\nexport const AUTHENTICATION_TOKEN_EXPIRED = 'AUTHENTICATION_TOKEN_EXPIRED';\r\nexport const AUTHENTICATION_TIMER_UPDATED = 'AUTHENTICATION_TIMER_UPDATED';\r\n\r\nexport const EDIT_SAVED_CHECKLIST_COMMENT_SUCCESS = 'EDIT_SAVED_CHECKLIST_COMMENT_SUCCESS';\r\nexport const EDIT_SAVED_CHECKLIST_COMMENT_FAILURE = 'EDIT_SAVED_CHECKLIST_COMMENT_FAILURE';\r\n\r\nexport const DELETE_SAVED_CHECKLIST_COMMENT_SUCCESS = 'DELETE_SAVED_CHECKLIST_COMMENT_SUCCESS';\r\nexport const DELETE_SAVED_CHECKLIST_COMMENT_FAILURE = 'DELETE_SAVED_CHECKLIST_COMMENT_FAILURE';\r\n\r\nexport const CREATE_CUSTOM_QUESTION_SUCCESS = 'CREATE_CUSTOM_QUESTION_SUCCESS';\r\nexport const CREATE_CUSTOM_QUESTION_FAILURE = 'CREATE_CUSTOM_QUESTION_FAILURE';\r\nexport const LOAD_CUSTOM_QUESTIONS_SUCCESS = 'LOAD_CUSTOM_QUESTIONS_SUCCESS';\r\nexport const LOAD_CUSTOM_QUESTIONS_FAILURE = 'LOAD_CUSTOM_QUESTIONS_FAILURE';\r\nexport const UPDATE_CUSTOM_QUESTION_SUCCESS = 'UPDATE_CUSTOM_QUESTION_SUCCESS';\r\nexport const UPDATE_CUSTOM_QUESTION_FAILURE = 'UPDATE_CUSTOM_QUESTION_FAILURE';\r\nexport const DELETE_CUSTOM_QUESTION_SUCCESS = 'DELETE_CUSTOM_QUESTION_SUCCESS';\r\nexport const DELETE_CUSTOM_QUESTION_FAILURE = 'DELETE_CUSTOM_QUESTION_FAILURE';\r\n\r\nexport const LOAD_ALL_REIT_LOOKUPTYPES_SUCCESS = 'LOAD_ALL_REIT_LOOKUPTYPES_SUCCESS';\r\nexport const LOAD_PROPERTY_TYPES_SUCCESS = 'LOAD_PROPERTY_TYPES_SUCCES';\r\nexport const LOAD_PSQ_PROPERTY_TYPES_SUCCESS = 'LOAD_PSQ_PROPERTY_TYPES_SUCCESS';\r\nexport const LOAD_ALL_PROPERTY_TYPES_SUCCESS = 'LOAD_ALL_PROPERTY_TYPES_SUCCESS';\r\n\r\nexport const UPDATE_CHART_AS_DEFAULT_FAILURE = 'UPDATE_CHART_AS_DEFAULT_FAILURE';\r\nexport const UPDATE_CHART_NAME_FAILURE = 'UPDATE_CHART_NAME_FAILURE';\r\nexport const UPLOAD_CHART_FAILURE = 'UPLOAD_CHART_FAILURE';\r\nexport const UPLOAD_CHART_SUCCESS = 'UPLOAD_CHART_SUCCESS';\r\nexport const LOAD_ALL_CHARTOFACCOUNT_TYPES_SUCCESS = 'LOAD_ALL_CHARTOFACCOUNT_TYPES_SUCCESS';\r\nexport const SYNC_REIT_TESTSING_ATTRIBUTES_REIT_PROPERTY_FAILURE = 'SYNC_REIT_TESTSING_ATTRIBUTES_REIT_PROPERTY_FAILURE';\r\nexport const SYNC_REIT_TESTSING_ATTRIBUTES_REPORT_PERIOD = 'SYNC_REIT_TESTSING_ATTRIBUTES_REPORT_PERIOD';\r\nexport const DOWNLOAD_TB_TEMPLATE_FAILURE = 'DOWNLOAD_TB_TEMPLATE_FAILURE';\r\n\r\nexport const LOAD_REIT_FILES_SUCCESS = 'LOAD_REIT_FILES_SUCCESS';\r\nexport const LOAD_REIT_FILES_FAILURE = 'LOAD_REIT_FILES_FAILURE';\r\nexport const UPLOAD_REIT_FILE_SUCCESS = 'UPLOAD_REIT_FILE_SUCCESS';\r\nexport const UNLOAD_REIT_FILE_MANAGEMENT = 'UNLOAD_REIT_FILE_MANAGEMENT';\r\n\r\nexport const LOAD_MANAGE_CHECKLIST_SUCCESS = 'LOAD_MANAGE_CHECKLIST_SUCCESS';\r\nexport const LOAD_MANAGE_CHECKLIST_FAILURE = 'LOAD_MANAGE_CHECKLIST_FAILURE';\r\nexport const LOAD_EXTERNAL_CHECKLIST_SUCCESS = 'LOAD_EXTERNAL_CHECKLIST_SUCCESS';\r\nexport const LOAD_EXTERNAL_CHECKLIST_FAILURE = 'LOAD_EXTERNAL_CHECKLIST_FAILURE';\r\nexport const ADD_CHECKLIST_USERS_FAILURE = 'ADD_CHECKLIST_USERS_FAILURE';\r\nexport const ADD_CHECKLIST_USERS_SUCCESS = 'ADD_CHECKLIST_USERS_SUCCESS';\r\nexport const DELETE_CHECKLIST_USERS_FAILURE = 'DELETE_CHECKLIST_USERS_FAILURE';\r\nexport const DELETE_CHECKLIST_USERS_SUCCESS = 'DELETE_CHECKLIST_USERS_SUCCESS';\r\nexport const DELETE_CHECKLISTS_FAILURE = 'DELETE_CHECKLISTS_FAILURE';\r\nexport const DELETE_CHECKLISTS_SUCCESS = 'DELETE_CHECKLISTS_SUCCESS';\r\nexport const RESEND_CHECKLISTS_FAILURE = 'RESEND_CHECKLISTS_FAILURE';\r\nexport const EXPORT_CHECKLIST_SUMMARY_FAILURE = 'EXPORT_CHECKLIST_SUMMARY_FAILURE';\r\nexport const EXPORT_CHECKLIST_SUMMARY_SUCCESS = 'EXPORT_CHECKLIST_SUMMARY_SUCCESS';\r\nexport const UPDATE_CHECKLISTS_STATE_FAILURE = 'UPDATE_CHECKLISTS_STATE_FAILURE';\r\nexport const UPDATE_CHECKLISTS_STATE_SUCCESS = 'UPDATE_CHECKLISTS_STATE_SUCCESS';\r\nexport const APPROVE_DENY_CHECKLISTS_REQUEST_FAILURE = 'APPROVE_DENY_CHECKLISTS_REQUEST_FAILURE';\r\nexport const APPROVE_DENY_CHECKLISTS_REQUEST_SUCCESS = 'APPROVE_DENY_CHECKLISTS_REQUEST_SUCCESS';\r\nexport const REFRESH_MANAGE_CHECKLIST_CLIENT = 'REFRESH_MANAGE_CHECKLIST_CLIENT';\r\nexport const REOPEN_CHECKLIST_REQUESTS_FAILURE = 'REOPEN_CHECKLIST_REQUESTS_FAILURE';\r\nexport const SUBMITFOREYREVIEW_REQUESTS_FAILURE = 'SUBMITFOREYREVIEW_REQUESTS_FAILURE';\r\nexport const SIGNOFF_CHECKLIST_REQUESTS_FAILURE = 'SIGNOFF_CHECKLIST_REQUESTS_FAILURE';\r\n\r\n// Custom PSQ Template Actions\r\nexport const LOAD_CUSTOM_PSQ_TEMPLATE_SUCCESS = 'LOAD_CUSTOM_PSQ_TEMPLATE_SUCCESS';\r\nexport const LOAD_CUSTOM_PSQ_TEMPLATE_FAILURE = 'LOAD_CUSTOM_PSQ_TEMPLATE_FAILURE';\r\nexport const LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLE_SUCCESS = 'LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLE_SUCCESS';\r\nexport const LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLE_FAILURE = 'LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLE_FAILURE';\r\nexport const DELETE_CUSTOM_PSQ_TEMPLATE_SUCCESS = 'DELETE_CUSTOM_PSQ_TEMPLATE_SUCCESS';\r\nexport const DELETE_CUSTOM_PSQ_TEMPLATE_FAILURE = 'DELETE_CUSTOM_PSQ_TEMPLATE_FAILURE';\r\nexport const CREATE_CUSTOM_PSQ_TEMPLATE_SUCCESS = 'CREATE_CUSTOM_PSQ_TEMPLATE_SUCCESS';\r\nexport const CREATE_CUSTOM_PSQ_TEMPLATE_FAILURE = 'CREATE_CUSTOM_PSQ_TEMPLATE_FAILURE';\r\nexport const DELETE_TEMPLATE_QUESTION_FAILURE = 'DELETE_TEMPLATE_QUESTION_FAILURE';\r\nexport const LOAD_ALL_CUSTOM_CHECKLIST_TEMPLATE_LOOKUPTYPES_SUCCESS = 'LOAD_ALL_CUSTOM_CHECKLIST_TEMPLATE_LOOKUPTYPES_SUCCESS';\r\nexport const LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLEBYID_SUCCESS = 'LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLEBYID_SUCCESS';\r\nexport const LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLEBYID_FAILURE = 'LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLEBYID_FAILURE';\r\nexport const UPSERT_CUSTOM_PSQ_TEMPLATE_SUCCESS = 'UPSERT_CUSTOM_PSQ_TEMPLATE_SUCCESS';\r\nexport const UPSERT_CUSTOM_PSQ_TEMPLATE_FAILURE = 'UPSERT_CUSTOM_PSQ_TEMPLATE_FAILURE';\r\nexport const LOAD_CUSTOM_PSQ_TEMPLATE_CONTENT_SUCCESS = 'LOAD_CUSTOM_PSQ_TEMPLATE_CONTENT_SUCCESS';\r\nexport const LOAD_CUSTOM_PSQ_TEMPLATE_CONTENT_FAILURE = 'LOAD_CUSTOM_PSQ_TEMPLATE_CONTENT_FAILURE';\r\nexport const UPDATE_CHECKLIST_TEMPLATE_TO_LOCK_UNLOCK_SUCCESS = 'UPDATE_CHECKLIST_TEMPLATE_TO_LOCK_UNLOCK_SUCCESS';\r\nexport const UPDATE_CHECKLIST_TEMPLATE_TO_LOCK_UNLOCK_FAILURE = 'UPDATE_CHECKLIST_TEMPLATE_TO_LOCK_UNLOCK_FAILURE';\r\nexport const UPDATE_CHECKLIST_TEMPLATE_TO_ENABLE_EDIT_MODE_SUCCESS = 'UPDATE_CHECKLIST_TEMPLATE_TO_ENABLE_EDIT_MODE_SUCCESS';\r\nexport const UPDATE_CHECKLIST_TEMPLATE_TO_ENABLE_EDIT_MODE_FAILURE = 'UPDATE_CHECKLIST_TEMPLATE_TO_ENABLE_EDIT_MODE_FAILURE';\r\nexport const PERSIST_UNCOMMITTED_TEMPLATE_SECTION_CHANGES_FAILURE = 'PERSIST_UNCOMMITTED_TEMPLATE_SECTION_CHANGES_FAILURE';\r\nexport const COMMIT_TEMPLATE_SECTION_CHANGES_FAILURE = 'COMMIT_TEMPLATE_SECTION_CHANGES_FAILURE';\r\nexport const ABANDON_TEMPLATE_SECTION_CHANGES_FAILURE = 'ABANDON_TEMPLATE_SECTION_CHANGES_FAILURE';\r\nexport const LOAD_CHECKLIST_TEMPLATE_SUCCESS = 'LOAD_CHECKLIST_TEMPLATE_SUCCESS';\r\nexport const LOAD_CHECKLIST_TEMPLATE_FAILURE = 'LOAD_CHECKLIST_TEMPLATE_FAILURE';\r\n\r\n// Checklist Delivery Schedule\r\nexport const CHECKLIST_SCHEDULED_DELIVERY_SUCCESS = 'CHECKLIST_SCHEDULED_DELIVERY_SUCCESS';\r\nexport const CHECKLIST_SCHEDULED_DELIVERY_FAILURE = 'CHECKLIST_SCHEDULED_DELIVERY_FAILURE';\r\n\r\nexport const UPLOAD_CHECKLIST_DELIVERY_SCHEDULE_FAILURE = 'UPLOAD_CHECKLIST_DELIVERY_SCHEDULE_FAILURE';\r\nexport const UPLOAD_CHECKLIST_DELIVERY_SCHEDULE_SUCCESS = 'UPLOAD_CHECKLIST_DELIVERY_SCHEDULE_SUCCESS';\r\nexport const LOAD_ATTACHMENTDETAIL_SUCCESS = 'LOAD_ATTACHMENTDETAIL_SUCCESS';\r\nexport const LOAD_ATTACHMENTDETAIL_FAILURE = 'LOAD_ATTACHMENTDETAIL_FAILURE';\r\n\r\nexport const LOAD_QUESTION_COMMENTS_SUCCESS = 'LOAD_QUESTION_COMMENTS_SUCCESS';\r\nexport const LOAD_QUESTION_COMMENTS_FAILURE = 'LOAD_QUESTION_COMMENTS_FAILURE';\r\n\r\nexport const CHECKLIST_NAVIGATION_COUNTER_SUCCESS = 'CHECKLIST_NAVIGATION_COUNTER_SUCCESS';\r\nexport const CHECKLIST_NAVIGATION_COUNTER_FAILURE = 'CHECKLIST_NAVIGATION_COUNTER_FAILURE';\r\nexport const DELETE_ATTACHMENT_FAILURE = 'DELETE_ATTACHMENT_FAILURE';\r\nexport const DELETE_COMMENT_FAILURE = 'DELETE_COMMENT_FAILURE';\r\n\r\nexport const LOAD_QUESTION_DISCREPANCIES_SUCCESS = 'LOAD_QUESTION_DISCREPANCIES_SUCCESS';\r\nexport const LOAD_QUESTION_DISCREPANCIES_FAILURE = 'LOAD_QUESTION_DISCREPANCIES_FAILURE';\r\n\r\nexport const SAVE_COMMENT_SUCCESS = 'SAVE_COMMENT_SUCCESS';\r\nexport const SAVE_COMMENT_FAILURE = 'SAVE_COMMENT_FAILURE';\r\n\r\nexport const INSERT_SERVICE_PROVIDER_QUESTION_FAILURE = 'INSERT_SERVICE_PROVIDER_QUESTION_FAILURE';\r\nexport const REMOVE_SERVICE_PROVIDER_QUESTION_FAILURE = 'REMOVE_SERVICE_PROVIDER_QUESTION_FAILURE';\r\nexport const LOAD_LAST_SERVICE_PROVIDER_QUESTION_ID_SUCCESS = 'LOAD_LAST_SERVICE_PROVIDER_QUESTION_ID_SUCCESS';\r\nexport const LOAD_LAST_SERVICE_PROVIDER_QUESTION_ID_FAILURE = 'LOAD_LAST_SERVICE_PROVIDER_QUESTION_ID_FAILURE';\r\n\r\nexport const DELETE_AUTH_FAILURE = 'DELETE_AUTH_FAILURE';\r\n\r\n// Microsoft Graph API\r\nexport const LOAD_USER_PROFILE_PICTURE_SUCCESS = 'LOAD_USER_PROFILE_PICTURE_SUCCESS';\r\nexport const LOAD_USER_PROFILE_PICTURE_FAILURE = 'LOAD_USER_PROFILE_PICTURE_FAILURE';\r\n\r\n\r\nexport const UPDATE_PSQ_COMPLETION_REQ_STATUS_SUCCESS = 'UPDATE_PSQ_COMPLETION_REQ_STATUS_SUCCESS';\r\nexport const UPDATE_PSQ_COMPLETION_REQ_STATUS_FAILURE = 'UPDATE_PSQ_COMPLETION_REQ_STATUS_FAILURE';\r\n\r\nexport const UPDATE_IS_LOCKED_FOR_MISSING_DELETION_APPROVAL_OR_EXCEPTION_STATUS_SUCCESS = 'UPDATE_IS_LOCKED_FOR_MISSING_DELETION_APPROVAL_OR_EXCEPTION_STATUS_SUCCESS';\r\nexport const UPDATE_IS_LOCKED_FOR_MISSING_DELETION_APPROVAL_OR_EXCEPTION_STATUS_FAILURE = 'UPDATE_IS_LOCKED_FOR_MISSING_DELETION_APPROVAL_OR_EXCEPTION_STATUS_FAILURE';\r\n\r\n// Custom Question Lock\r\nexport const CUSTOM_QUESTION_FETCH_LOCK_STATUS_SUCCESS = 'CUSTOM_QUESTION_FETCH_LOCK_STATUS_SUCCESS';\r\nexport const CUSTOM_QUESTION_FETCH_LOCK_STATUS_FAILURE = 'CUSTOM_QUESTION_FETCH_LOCK_STATUS_FAILURE';\r\nexport const CUSTOM_QUESTION_INTENT_LOCK_UPDATE_SUCCESS = 'CUSTOM_QUESTION_INTENT_LOCK_UPDATE_SUCCESS';\r\nexport const CUSTOM_QUESTION_INTENT_LOCK_UPDATE_FAILURE = 'CUSTOM_QUESTION_INTENT_LOCK_UPDATE_FAILURE';\r\n\r\n// Bulk Process Management\r\nexport const LOAD_BULK_PROCESS_MANAGEMENT_DATA_SUCCESS = 'LOAD_BULK_PROCESS_MANAGEMENT_DATA_SUCCESS';\r\nexport const LOAD_BULK_PROCESS_MANAGEMENT_DATA_FAILURE = 'LOAD_BULK_PROCESS_MANAGEMENT_DATA_FAILURE';\r\nexport const LOAD_BULK_PROCESS_MANAGEMENT_DATA_REFRESH = 'LOAD_BULK_PROCESS_MANAGEMENT_DATA_REFRESH';\r\nexport const RECEIVE_BULK_PROCESS_STATUS_UPDATE_MESSAGE ='RECEIVE_BULK_PROCESS_STATUS_UPDATE_MESSAGE';\r\nexport const RECEIVE_BULK_PROCESS_STATUS_CONCURRENT_UPDATE_MESSAGE ='RECEIVE_BULK_PROCESS_STATUS_CONCURRENT_UPDATE_MESSAGE';\r\nexport const INITIATE_BULK_PROCESS_SUCCESS = 'INITIATE_BULK_PROCESS_SUCCESS';\r\nexport const INITIATE_BULK_PROCESS_FAILURE = 'INITIATE_BULK_PROCESS_FAILURE';\r\n\r\n// Bulk Roll Forward\r\nexport const LOAD_BULK_ROLL_FORWARD_DATA_SUCCESS = 'LOAD_BULK_ROLL_FORWARD_DATA_SUCCESS';\r\nexport const LOAD_BULK_ROLL_FORWARD_DATA_FAILURE = 'LOAD_BULK_ROLL_FORWARD_DATA_FAILURE';\r\nexport const INITIATE_BULK_ROLL_FORWARD_PROCESS_SUCCESS = 'INITIATE_BULK_ROLL_FORWARD_PROCESS_SUCCESS';\r\nexport const INITIATE_BULK_ROLL_FORWARD_PROCESS_FAILURE = 'INITIATE_BULK_ROLL_FORWARD_PROCESS_FAILURE';\r\nexport const RECEIVE_BULK_ROLL_FORWARD_STATUS_UPDATE_MESSAGE ='RECEIVE_BULK_ROLL_FORWARD_STATUS_UPDATE_MESSAGE';\r\nexport const LOAD_BULK_ROLL_FORWARD_DATA_REFRESH ='LOAD_BULK_ROLL_FORWARD_DATA_REFRESH';\r\nexport const RECEIVE_BULK_ROLL_FORWARD_STATUS_CONCURRENT_UPDATE_MESSAGE ='RECEIVE_BULK_ROLL_FORWARD_STATUS_CONCURRENT_UPDATE_MESSAGE';\r\n\r\n// Motif themes\r\nexport const MOTIF_THEME = 'MOTIF_THEME';\r\n// export const MOTIF_THEME_DARK = 'MOTIF_THEME_DARK'\r\n// export const MOTIF_THEME_LIGHT = 'MOTIF_THEME_LIGHT'\r\n\r\n//Data Retention Management\r\n\r\nexport const LOAD_DATA_RETENTION_MANAGEMENT_DATA_SUCCESS ='LOAD_DATA_RETENTION_MANAGEMENT_DATA_SUCCESS';\r\nexport const LOAD_DATA_RETENTION_MANAGEMENT_DATA_FAILURE='LOAD_DATA_RETENTION_MANAGEMENT_DATA_FAILURE';\r\nexport const ACTION_DATA_RETENTION_MANAGEMENT_FAILURE='ACTION_DATA_RETENTION_MANAGEMENT_FAILURE';\r\n\r\n//Data Purge\r\n\r\nexport const LOAD_DATA_PURGE_DATA_SUCCESS ='LOAD_DATA_PURGE_DATA_SUCCESS';\r\nexport const LOAD_DATA_PURGE_DATA_FAILURE='LOAD_DATA_PURGE_DATA_FAILURE';\r\nexport const ACTION_DATA_PURGE_FAILURE='ACTION_DATA_PURGE_FAILURE';\r\nexport const DATA_DELETION_LOAD_CALENDAR_YEARS_FAILURE = 'DATA_DELETION_LOAD_CALENDAR_YEARS_FAILURE';\r\nexport const LOAD_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_SUCCESS ='LOAD_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_SUCCESS';\r\nexport const LOAD_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_FAILURE='LOAD_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_FAILURE';\r\nexport const CREATE_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_SUCCESS ='CREATE_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_SUCCESS';\r\nexport const CREATE_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_FAILURE='CREATE_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_FAILURE';\r\nexport const LOAD_UPCOMING_DATA_DELETION_NOTICE_DETAILS_SUCCESS ='LOAD_UPCOMING_DATA_DELETION_NOTICE_DETAILS_SUCCESS';\r\nexport const LOAD_UPCOMING_DATA_DELETION_NOTICE_DETAILS_FAILURE='LOAD_UPCOMING_DATA_DELETION_NOTICE_DETAILS_FAILURE';\r\nexport const LOAD_DATA_PURGE_APPROVED_STATUS_FAILURE = 'LOAD_DATA_PURGE_APPROVED_STATUS_FAILURE';\r\nexport const LOAD_FEATURE_FLAGS_SUCCESS ='LOAD_FEATURE_FLAGS_SUCCESS';\r\nexport const LOAD_FEATURE_FLAGS_FAILURE='LOAD_FEATURE_FLAGS_FAILURE';\r\n\r\n\r\nexport const LOAD_DATA_PURGE_DIAGDATA_SUCCESS ='LOAD_DATA_PURGE_DATA_SUCCESS';\r\nexport const LOAD_DATA_PURGE_DIAGDATA_FAILURE='LOAD_DATA_PURGE_DATA_FAILURE';\r\n\r\nexport const ACTION_RUN_DATA_DELETION_FAILURE='ACTION_RUN_DATA_DELETION_FAILURE';\r\n\r\n\r\nexport const LOAD_CAN_SWITCH_TYPE_FAILURE = 'LOAD_CAN_SWITCH_TYPE_FAILURE';\r\nexport const LOAD_CAN_SWITCH_TYPE_SUCCESS = 'LOAD_CAN_SWITCH_TYPE_SUCCESS';\r\n\r\n//External User Data Visibility\r\nexport const LOAD_External_User_Data_Visibility_SUCCESS = 'LOAD_External_User_Data_Visibility_SUCCESS';\r\nexport const LOAD_External_User_Data_Visibility_FAILURE = 'LOAD_External_User_Data_Visibility_FAILURE';\r\n\r\nexport const ACTION_External_User_Data__Hide_Visibility_SUCCESS = 'ACTION_External_User_Data__Hide_Visibility_SUCCESS';\r\nexport const ACTION_External_User_Data__Hide_Visibility_FAILURE = 'ACTION_External_User_Data__Hide_Visibility_FAILURE';\r\n\r\nexport const ACTION_External_User_Data__UnHide_Visibility_SUCCESS = 'ACTION_External_User_Data__UnHide_Visibility_SUCCESS';\r\nexport const ACTION_External_User_Data__UnHide_Visibility_FAILURE = 'ACTION_External_User_Data__UnHide_Visibility_FAILURE';\r\n","export const SERVER_ERROR = 'SERVER_ERROR';\r\nexport const UNKNOWN = 'UNKNOWN';\r\nexport const VALIDATION_FAILED = 'VALIDATION_FAILED';","import * as ErrorCodes from './errorCodes';\r\n\r\nexport const defaultErrorResponse = {\r\n \"errorCode\": ErrorCodes.UNKNOWN,\r\n \"message\": \"We apologize for any inconvenience. REITSuite has experienced an unexpected error. Please refresh your browser and try again. You could also try clearing your browser's cache and try again.\"\r\n};","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as ErrorResponses from '../constants/errorResponses';\r\n\r\nexport const isErrorResponse = responseBody => {\r\n if (responseBody && (responseBody.errorCode || responseBody.errorResponse || responseBody.ErrorCode || responseBody.ErrorResponse)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nexport const dispatchErrorAndEndTask = (\r\n dispatch,\r\n actionType,\r\n errorResponse,\r\n error,\r\n) => {\r\n if (error) {\r\n console.error(error); // eslint-disable-line no-console\r\n }\r\n\r\n errorResponse = errorResponse || ErrorResponses.defaultErrorResponse;\r\n\r\n console.error(\r\n '%s: (%s) %s',\r\n actionType,\r\n errorResponse.errorCode || errorResponse.ErrorCode,\r\n errorResponse.message || errorResponse.Message,\r\n ); // eslint-disable-line no-console\r\n\r\n return dispatch({\r\n type: actionType,\r\n errorResponse: errorResponse || ErrorResponses.defaultErrorResponse,\r\n [pendingTask]: end,\r\n });\r\n};\r\n\r\nexport const dispatchError = (dispatch, actionType, errorResponse, error) => {\r\n if (error) {\r\n console.error(error); // eslint-disable-line no-console\r\n }\r\n\r\n errorResponse = errorResponse || ErrorResponses.defaultErrorResponse;\r\n\r\n console.error(\r\n '%s: (%s) %s',\r\n actionType,\r\n errorResponse.errorCode,\r\n errorResponse.message,\r\n ); // eslint-disable-line no-console\r\n\r\n return dispatch({\r\n type: actionType,\r\n errorResponse: errorResponse || ErrorResponses.defaultErrorResponse,\r\n });\r\n};\r\n\r\nexport const buildAuthHeader = (checklistId, checklistType) =>\r\n `ChecklistId=${checklistId}&ChecklistType=${checklistType}`;\r\n","export default {\r\n authentication: {\r\n remainingTime: null,\r\n currentUser: null,\r\n idToken: null,\r\n accessToken: null,\r\n msalInstance: null,\r\n },\r\n pendingTasks: 0,\r\n customQuestionnaire: {\r\n templates: [],\r\n templateQuestions: [],\r\n customQuestionList: [],\r\n },\r\n //Here is where we are going to add more lookup types as required\r\n lookupTypes: {\r\n propertyTypes: [],\r\n psqPropertyTypes: [],\r\n propertyClasses: [],\r\n tenantTypes: [],\r\n propertyParkingTypes: [],\r\n reitTypes: [],\r\n organizationTypes: [],\r\n clientAccountCategories: [],\r\n reitTestingAttributes: [],\r\n prePopulateAnswerOptions: [],\r\n },\r\n customFdrTemplate: {\r\n templates: [],\r\n duplicate: false,\r\n },\r\n chartOfAccounts: [],\r\n chartMappings: [],\r\n chartOfAccountsManager: {\r\n charts: [],\r\n duplicate: false,\r\n duplicateClientAccount: false,\r\n },\r\n lastClickedTabChecklistQuestionId: null,\r\n activeArqcChecklist: null,\r\n previousArqcChecklist: null,\r\n activePsqChecklist: null,\r\n previousPsqChecklist: null,\r\n arqcChecklists: [],\r\n checklistFiles: [],\r\n allowUpdateReportPeriodVisibilityConstraintResult: {},\r\n checklistList: [],\r\n assetDetails: [],\r\n varianceDetails: {\r\n addedAccounts: [],\r\n modifiedAccounts: [],\r\n removedAccounts: [],\r\n },\r\n distributionDetails: [],\r\n distributionTaxableIncome: {\r\n reportPeriod: null,\r\n reportPeriodId: 0,\r\n value: 0,\r\n },\r\n incomeDetails: [],\r\n propertyDetails: null,\r\n deletePropertyDetail: {},\r\n propertyItsi: null,\r\n assetSummary: {\r\n tests: [\r\n {\r\n title: null,\r\n isPassing: false,\r\n percent: 0,\r\n },\r\n ],\r\n newAccounts: 0,\r\n deletedAccounts: 0,\r\n },\r\n distributionTestSummary: {\r\n tests: [\r\n {\r\n title: '90% Test',\r\n isPassing: false,\r\n percent: 0,\r\n },\r\n ],\r\n newAccounts: 0,\r\n deletedAccounts: 0,\r\n },\r\n incomeTestSummary: {\r\n tests: [\r\n {\r\n title: null,\r\n isPassing: false,\r\n percent: 0,\r\n },\r\n ],\r\n newAccounts: 0,\r\n deletedAccounts: 0,\r\n },\r\n files: null, // Return null instead of empty array. Null checked in FileManagementPage\r\n reitFiles: null,\r\n testSnapshots: null,\r\n isAuthenticated: false,\r\n taxableReitSubsidiaries: [],\r\n clients: [],\r\n client: {},\r\n reitsForMO: [],\r\n reits: [],\r\n externalReits: [],\r\n reit: {},\r\n period: {},\r\n periods: [],\r\n properties: [],\r\n property: { purchaseDate: new Date('01/01/0001').toISOString(), purchasePrice: 0 }, // Year 0001 matches the current default in database\r\n psqChecklists: [],\r\n selectedReportItems: [],\r\n availableReportItems: [],\r\n securitiesSnapshots: [],\r\n errorResponse: null,\r\n dismissUsersMessage: false,\r\n services: [],\r\n navigationServices: [],\r\n lastTrialBalance: null,\r\n lastPropertyTrialBalance: null,\r\n lastConsolidatedTrialBalance: null,\r\n finalReport: null,\r\n trialBalanceSummary: null,\r\n trialBalanceItem: {},\r\n trialBalanceAdjustments: [],\r\n trialBalanceItems: [],\r\n isAuthorized: false,\r\n authorization: {},\r\n authorizations: [],\r\n currentUserAuthorizations: [],\r\n deletedChecklist: null,\r\n periodMappings: [],\r\n periodMappingsBalances: [],\r\n mapping: {},\r\n coaDgms: [],\r\n detailGroupMappings: [],\r\n trialBalanceStatus: null,\r\n notifications: [],\r\n showNotifications: false,\r\n showBulkUploadModal: false,\r\n uploadProgress: [],\r\n uploadQueue: [],\r\n uploadProcesses: 0,\r\n processingQueueCount: 0,\r\n checklistDeliveryCalendar: [],\r\n checklistCalendarYears: [],\r\n authenticationScope: null,\r\n psqTemplates: [],\r\n bulkReportPackages: {\r\n bulkReportPackages: [],\r\n toggleReloadBulkReportPackages: false\r\n },\r\n bulkReportPackagesETA: [],\r\n manageChecklists: [],\r\n extChecklists: [],\r\n externalChecklists: {\r\n clients: [],\r\n calendarYears: [],\r\n },\r\n refreshManageChecklistClientId: 0,\r\n selectedCustomPsqTemplate: {\r\n clientID: 0,\r\n templateID: 0,\r\n templateName: '',\r\n templateInitializationType: 'blankTemplate',\r\n copiedFromTemplateName: '',\r\n isCommitted: true,\r\n sections: [\r\n {\r\n sectionID: 0,\r\n sectionName: '',\r\n sectionSortOrder: 1,\r\n sectionIsLocked: false,\r\n questions: [\r\n {\r\n checklistTemplateSectionQuestionID: 0,\r\n questionID: 0,\r\n questionSortOrder: 1,\r\n parentQuestionID: null,\r\n questionText: '',\r\n questionHelpText: '',\r\n questionTag: '',\r\n questionTypeID: 1,\r\n questionTypeDescription: '',\r\n systemRuleJSON: null,\r\n childQuestionDisplayRule: {},\r\n sectionDisplayRuleJSON: null,\r\n isLocked: false,\r\n picklistItems: [\r\n {\r\n picklistItemName: ''\r\n }\r\n ],\r\n childQuestions: [\r\n {\r\n checklistTemplateSectionQuestionID: 0,\r\n questionID: 0,\r\n questionSortOrder: 1,\r\n parentQuestionID: null,\r\n questionText: '',\r\n questionHelpText: '',\r\n questionTag: '',\r\n questionTypeID: 1,\r\n questionTypeDescription: '',\r\n systemRuleJSON: null,\r\n childQuestionDisplayRule: {},\r\n sectionDisplayRuleJSON: null,\r\n isLocked: false,\r\n picklistItems: [\r\n { \r\n picklistItemName: ''\r\n }]\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n customPsqTemplateDetails: {\r\n checklistTemplateName: ''\r\n },\r\n availableQuestion: [],\r\n availableQuestionByID: [],\r\n createdCustomTemplateId: 0,\r\n checklistDeliverySchedules: [],\r\n attachmentDetails:[],\r\n activeCustomPsqTemplateContent: null,\r\n questionComments: [],\r\n checklistCounter:[],\r\n discrepanciesDetail: [],\r\n lastServiceProviderQuestionId: 0,\r\n userProfilePictureUrl: '',\r\n customQuestionLockStatus: {\r\n isQuestionAvailableForEdit: false,\r\n isIntentExtensionAvailable: false,\r\n lockMode: '',\r\n lockExpirationDateTime: null,\r\n validationResult: ''\r\n },\r\n intentLockUpdateResult: {\r\n isIntentLockUpdateSuccessful: false,\r\n lockExpirationDateTime: null,\r\n validationResult: ''\r\n },\r\n bulkProcessManagementData: [],\r\n dataRetentionManagementData: [],\r\n bulkRollForwardData: [],\r\n dataPurgeConfigurationData:[],\r\n dataPurgeUserAcknowledgementHistoryData:[], \r\n upcomingDataDeletionNoticeData:{},\r\n motifThemes: 'motifLight',\r\n featureFlags:[],\r\n dataDeletionDiagnosticData:[],\r\n externalUserVisibilityData : [],\r\n incompleteSecuritiesSnapshots: [],\r\n};\r\n","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\nconst pendingTasksReducer = (state = initialState.pendingTasks, action) => {\r\n switch (action.type) {\r\n case actions.TASK_BEGIN:\r\n // Increment the pending tasks count by 1\r\n return state + 1;\r\n case actions.TASK_END:\r\n // Decrement the pending tasks count by 1, but ensure it doesn't go below 0\r\n return Math.max(0, state - 1);\r\n case actions.UPDATE_PENDING_TASKS:\r\n return Math.max(state + action.payload, 0);\r\n default:\r\n // Return the current state if the action type is not recognized\r\n return state;\r\n }\r\n};\r\n\r\nexport default pendingTasksReducer;","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_ASSET_DETAIL_SUCCESS action and sets a client in the store\r\n * @param {Object} [state] The client currently in the store, or the initial state of client\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client\r\n */\r\nexport default function assetDetail(state = initialState.assetDetails, action) {\r\n switch (action.type) {\r\n case actions.LOAD_ASSET_DETAIL_SUCCESS:\r\n return action.assetDetails;\r\n case actions.UNLOAD_TESTS:\r\n return initialState.assetDetails;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_ASSET_DETAIL_SUCCESS action and sets a client in the store\r\n * @param {Object} [state] The client currently in the store, or the initial state of client\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client\r\n */\r\nexport default function assetDetails(state = initialState.assetDetails, action) {\r\n switch (action.type) {\r\n case actions.LOAD_ASSET_DETAILS_FOR_YEAR_SUCCESS:\r\n return action.assetDetails;\r\n case actions.UNLOAD_TESTS:\r\n return initialState.assetDetails;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_DISTRIBUTION_DETAIL_SUCCESS action and sets a distribution in the store\r\n * @param {Object} [state] The distribution currently in the store, or the initial state of distribution\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The distribution\r\n */\r\nexport default function distributionDetail(state = initialState.distributionDetails, action) {\r\n switch (action.type) {\r\n case actions.LOAD_DISTRIBUTION_DETAIL_SUCCESS:\r\n return action.distributionDetails;\r\n case actions.UNLOAD_TESTS:\r\n return initialState.distributionDetails;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_ASSET_DETAIL_SUCCESS action and sets a client in the store\r\n * @param {Object} [state] The client currently in the store, or the initial state of client\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client\r\n */\r\nexport default function incomeDetail(state = initialState.incomeDetails, action) {\r\n switch (action.type) {\r\n case actions.LOAD_INCOME_DETAIL_SUCCESS:\r\n return action.incomeDetails;\r\n case actions.UNLOAD_TESTS:\r\n return initialState.incomeDetails;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_ASSET_DETAIL_SUCCESS action and sets a client in the store\r\n * @param {Object} [state] The client currently in the store, or the initial state of client\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client\r\n */\r\nexport default function propertyDetail(state = initialState.propertyDetails, action) {\r\n switch (action.type) {\r\n case actions.LOAD_PROPERTY_DETAIL_SUCCESS:\r\n return action.propertyDetails;\r\n case actions.UNLOAD_PERIOD:\r\n return initialState.propertyDetails;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_PROPERTY_ITSI_SUCCESS action and sets a client in the store\r\n * @param {Object} [state] The property ITSI object currently in the store, or the initial state of property ITSI object\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The property ITSI object\r\n */\r\nexport default function propertyItsi(state = initialState.propertyItsi, action) {\r\n switch (action.type) {\r\n case actions.LOAD_PROPERTY_ITSI_SUCCESS:\r\n return action.propertyItsi;\r\n case actions.LOAD_PROPERTY_ITSI_FAILURE:\r\n case actions.UNLOAD_PERIOD:\r\n return initialState.propertyItsi;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_ASSET_SUMMARY_SUCCESS action and sets a client in the store\r\n * @param {Object} [state] The client currently in the store, or the initial state of client\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client\r\n */\r\nexport default function assetSummary(state = initialState.assetSummary, action) {\r\n switch (action.type) {\r\n case actions.LOAD_ASSET_SUMMARY_SUCCESS:\r\n return action.assetSummary;\r\n case actions.UNLOAD_TESTS:\r\n return initialState.assetSummary;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_CLIENTS_SUCCESS action and sets an array of clients in the store\r\n * @param {Array} [state] The clients currently in the store, or the initial state of clients\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The clients\r\n */\r\nexport default function clients(state = initialState.clients, action) {\r\n switch(action.type) {\r\n case actions.LOAD_CLIENTS_SUCCESS:\r\n return action.clients;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_CLIENT_SUCCESS action and sets a client in the store\r\n * @param {Object} [state] The client currently in the store, or the initial state of client\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client\r\n */\r\nexport default function clients(state = initialState.client, action) {\r\n switch(action.type) {\r\n case actions.LOAD_CLIENT_SUCCESS: \r\n return action.client;\r\n case actions.LOAD_CLIENTS_SUCCESS: \r\n return initialState.client;\r\n case actions.UNLOAD_CLIENT: \r\n return null;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_ALL_RIETS_SUCCESS action and sets an array of REITs in the store\r\n * @param {Array} [state] The REITs currently in the store, or the initial state of REITs\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The REITs\r\n */\r\nexport default function allReits(state = initialState.reits, action) {\r\n switch(action.type) {\r\n case actions.LOAD_ALL_RIETS_SUCCESS:\r\n return action.reits;\r\n case actions.UNLOAD_CLIENT:\r\n return initialState.reits;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_REITS_SUCCESS action and sets an array of REITs in the store\r\n * @param {Array} [state] The REITs currently in the store, or the initial state of REITs\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The REITs\r\n */\r\nexport default function reits(state = initialState.reits, action) {\r\n switch (action.type) {\r\n case actions.LOAD_REITS_SUCCESS:\r\n return action.reits;\r\n case actions.LOAD_CLIENTS_SUCCESS:\r\n case actions.UNLOAD_CLIENT:\r\n return initialState.reits;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_REITS_EXTERNAL_SUCCESS action and sets an array of REITs in the store\r\n * @param {Array} [state] The REITs currently in the store, or the initial state of REITs\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The REITs\r\n */\r\nexport default function reitsExternal(state = initialState.externalReits, action) {\r\n switch (action.type) {\r\n case actions.LOAD_REITS_EXTERNAL_SUCCESS:\r\n return action.externalReits;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_RIET_SUCCESS action and sets a REIT in the store\r\n * @param {Object} [state] The REIT currently in the store, or the initial state of REIT\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The REIT\r\n */\r\nexport default function reit(state = initialState.reit, action) {\r\n switch(action.type) {\r\n case actions.LOAD_RIET_SUCCESS:\r\n return action.reit;\r\n case actions.LOAD_CLIENTS_SUCCESS:\r\n case actions.UNLOAD_REIT:\r\n return initialState.reit;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_REITS_FOR_MO_SUCCESS action and sets an array of REITs (with TB FileNames) in the store\r\n * @param {Array} [state] The REITs currently in the store, or the initial state of REITs\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The REITs\r\n */\r\nexport default function reitsForMO(state = initialState.reitsForMO, action) {\r\n switch (action.type) {\r\n case actions.LOAD_REITS_FOR_MO_SUCCESS:\r\n return action.reitsForMO;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_RIET_SUCCESS action and sets a REIT in the store\r\n * @param {Object} [state] The REIT currently in the store, or the initial state of REIT\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The REIT\r\n */\r\nexport default function period(state = initialState.period, action) {\r\n switch (action.type) {\r\n case actions.LOAD_PERIOD_SUCCESS:\r\n case actions.UPDATE_PERIOD_STATUS_SUCCESS:\r\n return action.period || {};\r\n case actions.LOAD_CLIENTS_SUCCESS:\r\n case actions.UNLOAD_PERIOD:\r\n case actions.LOAD_PERIOD_FAILURE:\r\n case actions.UPDATE_PERIOD_STATUS_FAILURE:\r\n return initialState.period;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_PERIODS_BY_CLIENT_ID_SUCCESS action and sets a PERIODS in the store\r\n * @param {Object} [state] The PERIODS currently in the store, or the initial state of PERIODS\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The PERIODS\r\n */\r\nexport default function periods(state = initialState.periods, action) {\r\n switch (action.type) {\r\n case actions.LOAD_PERIODS_BY_CLIENT_ID_SUCCESS:\r\n return action.periods || [];\r\n case actions.LOAD_PERIODS_BY_CLIENT_ID_FAILURE:\r\n return initialState.periods;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOGIN_SUCCESS, LOGIN_FAILURE, and LOGOUT actions.\r\n * @param {boolean} [state] The existing state of the isAuthenticated property in store or the initial state of that property\r\n * @param {Object} action The action to handle\r\n * @returns {boolean} True if the user is authenticated, false if not.\r\n */\r\nexport default function isAuthenticated(state = initialState.isAuthenticated, action) {\r\n switch (action.type) {\r\n case actions.LOGIN_SUCCESS:\r\n return true;\r\n case actions.LOGIN_FAILURE:\r\n case actions.LOGOUT:\r\n return false;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_REPORT_ITEMS_SUCCESS action and sets an array of REITs in the store\r\n * @param {Array} [state] The REITs currently in the store, or the initial state of REITs\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The REITs\r\n */\r\nexport default function availableReportItems(\r\n state = initialState.availableReportItems,\r\n action,\r\n) {\r\n switch (action.type) {\r\n case actions.LOAD_REPORT_ITEMS_SUCCESS:\r\n case actions.LOAD_REPORT_ITEMS_FOR_CLIENT_SUCCESS: {\r\n if (!action || !Array.isArray(action.items)) {\r\n return state;\r\n }\r\n\r\n return action.items;\r\n }\r\n case actions.UNLOAD_FILE_MANAGEMENT:\r\n return initialState.availableReportItems;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_SECURITIES_SNAPSHOTS_SUCCESS action and sets an array of REITs in the store\r\n * @param {Array} [state] The REITs currently in the store, or the initial state of REITs\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The REITs\r\n */\r\nexport default function securitiesSnapshotReducer(state = initialState.securitiesSnapshots, action) {\r\n switch (action.type) {\r\n case actions.LOAD_SECURITIES_SNAPSHOTS_SUCCESS:\r\n return action.securitiesSnapshots;\r\n case actions.CREATE_SECURITIES_SNAPSHOT_SUCCESS:\r\n return [\r\n ...state,\r\n Object.assign({}, action.securitiesSnapshot)\r\n ];\r\n case actions.UPDATE_SECURITIES_SNAPSHOT_SUCCESS:\r\n return [\r\n ...state.filter(securitiesSnapshot => securitiesSnapshot.id !== action.securitiesSnapshot.id),\r\n Object.assign({}, action.securitiesSnapshot)\r\n ];\r\n case actions.UNLOAD_TESTS:\r\n return initialState.securitiesSnapshots;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_TRSES_SUCCESS action and sets an array of REITs in the store\r\n * @param {Array} [state] The REITs currently in the store, or the initial state of REITs\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The REITs\r\n */\r\nexport default function taxableReitSubsidiaries(state = initialState.taxableReitSubsidiaries, action) {\r\n switch (action.type) {\r\n case actions.LOAD_TRSES_SUCCESS:\r\n return action.trs;\r\n case actions.UNLOAD_TESTS:\r\n return initialState.taxableReitSubsidiaries;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_ASSET_TEST_SUMMARY_SUCCESS action and sets a client in the store\r\n * @param {Object} [state] The client currently in the store, or the initial state of client\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client\r\n */\r\nexport default function incomeTestSummary(state = initialState.incomeTestSummary, action) {\r\n switch (action.type) {\r\n case actions.LOAD_INCOME_TEST_SUMMARY_SUCCESS:\r\n return action.incomeTestSummary;\r\n case actions.UNLOAD_TESTS:\r\n return initialState.incomeTestSummary;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_ASSET_TEST_SUMMARY_SUCCESS action and sets a client in the store\r\n * @param {Object} [state] The client currently in the store, or the initial state of client\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client\r\n */\r\nexport default function distributionTestSummary(state = initialState.distributionTestSummary, action) {\r\n switch (action.type) {\r\n case actions.LOAD_DISTRIBUTION_TEST_SUMMARY_SUCCESS:\r\n return action.distributionTestSummary;\r\n case actions.UNLOAD_TESTS:\r\n return initialState.distributionTestSummary;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_ASSET_DETAIL_SUCCESS action and sets a client in the store\r\n * @param {Object} [state] The client currently in the store, or the initial state of client\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client\r\n */\r\nexport default function distributionTaxableIncome(state = initialState.distributionTaxableIncome, action) {\r\n switch (action.type) {\r\n case actions.LOAD_DISTRIBUTION_TAXABLE_INCOME_SUCCESS:\r\n return action.distributionTaxableIncome;\r\n case actions.UNLOAD_TESTS:\r\n return initialState.distributionTaxableIncome;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the SET_ARQC_ACTIVE_CHECKLIST_SUCCESS action and sets the ARQC checklist in the store\r\n * @param {Object} [state] The ARQC checklist currently in the store, or the initial state of the ARQC checklist\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The checklist\r\n */\r\nexport default function arqcActiveChecklistReducer(state = initialState.activeArqcChecklist, action) {\r\n if (action.type === actions.SET_ARQC_ACTIVE_CHECKLIST_SUCCESS) {\r\n return action.activeChecklist;\r\n } else if (action.type == actions.UNLOAD_TESTS) {\r\n return initialState.activeArqcChecklist;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_ARQC_CHECKLIST_SUCCESS action and sets the ARQC checklist in the store\r\n * @param {Object} [state] The ARQC checklist currently in the store, or the initial state of the ARQC checklist\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The checklist\r\n */\r\nexport default function arqcLoadChecklistsReducer(state = initialState.arqcChecklists, action) {\r\n if (action.type == actions.LOAD_ARQC_CHECKLIST_SUCCESS) {\r\n return action.arqcChecklists;\r\n } else if (action.type == actions.UNLOAD_TESTS) {\r\n return initialState.arqcChecklists;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_PREVIOUS_ARQC_CHECKLIST_SUCCESS action and sets the previous ARQC checklist in the store\r\n * @param {Object} [state] The previous ARQC checklist currently in the store, or the initial state of the previous ARQC checklist\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The checklist\r\n */\r\nexport default function arqcPreviousChecklistReducer(state = initialState.previousArqcChecklist, action) {\r\n switch (action.type) {\r\n case actions.LOAD_PREVIOUS_ARQC_CHECKLIST_SUCCESS:\r\n if (action.arqcChecklist) {\r\n return action.arqcChecklist;\r\n } else {\r\n return null;\r\n }\r\n case actions.UNLOAD_TESTS:\r\n return initialState.previousArqcChecklist;\r\n case actions.LOAD_PREVIOUS_ARQC_CHECKLIST_FAILURE:\r\n return null; // Clear previous checklist on failure\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_PSQ_CHECKLIST_SUCCESS action and sets the PSQ checklists in the store\r\n * @param {Object} [state] The PSQ checklist currently in the store, or the initial state of the PSQ checklist\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The checklist\r\n */\r\nexport default function psqLoadChecklistsReducer(state = initialState.psqChecklists, action) {\r\n if (action.type === actions.LOAD_PSQ_CHECKLIST_SUCCESS && action.psqChecklists !== undefined) {\r\n return action.psqChecklists; // NOTE: See psqChecklistReducer. Both reducers handle the same action types but expect different properties on the action (one plural, one not)\r\n } else if (action.type == actions.UNLOAD_TESTS) {\r\n return initialState.psqChecklists;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the SET_PSQ_ACTIVE_CHECKLIST_SUCCESS action and sets the PSQ checklist in the store\r\n * @param {Object} [state] The PSQ checklist currently in the store, or the initial state of the PSQ checklist\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The checklist\r\n */\r\nexport default function psqActiveChecklistReducer(state = initialState.activePsqChecklist, action) {\r\n if (action.type === actions.SET_PSQ_ACTIVE_CHECKLIST_SUCCESS) {\r\n return action.activeChecklist;\r\n } else if (action.type == actions.UNLOAD_TESTS) {\r\n return initialState.activePsqChecklist;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_PREVIOUS_PSQ_CHECKLIST_SUCCESS action and sets the previous PSQ checklist in the store\r\n * @param {Object} [state] The previous PSQ checklist currently in the store, or the initial state of the previous PSQ checklist\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The checklist\r\n */\r\nexport default function psqPreviousChecklistReducer(state = initialState.previousPsqChecklist, action) {\r\n switch (action.type) {\r\n case actions.LOAD_PREVIOUS_PSQ_CHECKLIST_SUCCESS:\r\n if (action.psqChecklist) {\r\n return action.psqChecklist;\r\n } else {\r\n return null;\r\n }\r\n case actions.LOAD_PREVIOUS_PSQ_CHECKLIST_FAILURE:\r\n case actions.UNLOAD_TESTS:\r\n return null; // Clear previous checklist on failure\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_CHECKLIST_FILES_SUCCESS action and sets the ARQC checklist in the store\r\n * @param {Object} [state] The checklist files currently in the store, or the initial state of the checklist files\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The checklist files\r\n */\r\nexport default function checklistFilesReducer(state = initialState.checklistFiles, action) {\r\n if (action.type === actions.LOAD_CHECKLIST_FILES_SUCCESS) {\r\n return action.checklistFiles;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the ALLOW_UPDATE__REPORT_PERIOD_VISIBILITY_CONSTRAINT_SUCCESS action and sets the allow update result in the store\r\n * @param {Object} [state] The allow update result currently in the store, or the initial state of the allow update result\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The allow update result\r\n */\r\nexport default function reportPeriodVisibilityConstraintReducer(state = initialState.allowUpdateReportPeriodVisibilityConstraintResult, action) {\r\n if (action.type === actions.ALLOW_UPDATE__REPORT_PERIOD_VISIBILITY_CONSTRAINT_SUCCESS) {\r\n return action.allowUpdateReportPeriodVisibilityConstraintResult;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_CHECKLIST_FILES_SUCCESS action and sets the checklist list for external user dashboard in the store\r\n * @param {Object} [state] The checklist list currently in the store, or the initial state of the checklist list\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The checklist files\r\n */\r\nexport default function externalChecklistListReducer(state = initialState.checklistList, action) {\r\n if (action.type === actions.LOAD_EXTERNAL_CHECKLIST_LIST_SUCCESS) {\r\n return action.checklistList;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles any action that has an errorResponse property and resets errorResponse state if the action doesn't have an errorReponse\r\n * property. So the action with the errorResponse should be the last action dispatched in the request.\r\n * @param {Object} [state] The errorResponse currently in the store, or the initial state of errorResponse\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The errorResponse\r\n */\r\nexport default function errorResponse(state = initialState.errorResponse, action) {\r\n if (action.errorResponse) {\r\n return action.errorResponse;\r\n }\r\n\r\n if (action.type === actions.CLEAR_ERROR_RESPONSE)\r\n {\r\n return null;\r\n }\r\n\r\n return state;\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles any action that has an dismissUserMessage property and resets flag for messsage display\r\n * @param {Object} [state] The errorResponse currently in the store, or the initial state of errorResponse\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The errorResponse\r\n */\r\nexport default function usersMessage(state = initialState.dismissUsersMessage, action) {\r\n\r\n if (action.type === actions.CLEAR_USERS_MESSAGE) {\r\n return true;\r\n }\r\n return state;\r\n}","import * as actions from '../actions/actionTypes';\r\n\r\n/**\r\n * This reducer handles the UPLOAD_TB_SUCCESS\r\n * @param {Object} [state] True if uploading the tb was successful otherwise false\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} True if uploading the tb was successful otherwise false\r\n */\r\nexport default function tbUploadSuccess(state = false, action) {\r\n switch (action.type) {\r\n case actions.UPLOAD_TB_SUCCESS:\r\n case actions.TB_PROCESSING_COMPLETE:\r\n return true;\r\n case actions.UPLOAD_TB_CLEAR:\r\n case actions.UPLOAD_TB_FAILURE:\r\n case actions.UPLOAD_FILE_SUCCESS:\r\n case actions.UPLOAD_FINAL_REPORT_SUCCESS:\r\n case actions.TB_PROCESSING_FAILED:\r\n return false;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_PROPERTIES_SUCCESS action and sets the properties in the store\r\n * @param {Object} [state] The properties currently in the store, or the initial state of the properties\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The checklist\r\n */\r\nexport default function propertiesReducer(state = initialState.properties, action) {\r\n if (action.type === actions.LOAD_PROPERTIES_SUCCESS) {\r\n return action.properties;\r\n } else if (action.type == actions.UNLOAD_PERIOD) {\r\n return initialState.properties;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_PROPERTIES_SUCCESS action and sets the properties in the store\r\n * @param {Object} [state] The properties currently in the store, or the initial state of the properties\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The checklist\r\n */\r\nexport default function propertyReducer(state = initialState.property, action) {\r\n if (action.type === actions.LOAD_PROPERTY_SUCCESS || action.type === actions.UPDATE_PROPERTY_SUCCESS) {\r\n return action.property;\r\n } else {\r\n if (action.type === actions.LOAD_PROPERTY_FAILURE || action.type === actions.UNLOAD_PROPERTY) {\r\n return initialState.property;\r\n } else {\r\n return state;\r\n }\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the DELETE_PROPERTY_DETAIL_SUCCESS action and sets the properties in the store\r\n * @param {Object} [state] The properties currently in the store, or the initial state of the properties\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The checklist\r\n */\r\nexport default function deletePropertyDetailReducer(state = initialState.deletePropertyDetail, action) {\r\n if (action.type === actions.DELETE_PROPERTY_DETAIL_SUCCESS) {\r\n return action.deletePropertyDetail;\r\n } else {\r\n if (action.type === actions.DELETE_PROPERTY_DETAIL_FAILURE) {\r\n return initialState.deletePropertyDetail;\r\n } else {\r\n return state;\r\n }\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_CLIENT_ACCOUNT_DATA_SUCCESS action and sets client account data in the store\r\n * @param {Object} [state] The client account data currently in the store, or the initial state of client account data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client account data\r\n */\r\nexport default function varianceDetails(state = initialState.varianceDetails, action) {\r\n switch (action.type) {\r\n case actions.LOAD_CLIENT_ACCOUNT_DATA_SUCCESS:\r\n return action.varianceDetails;\r\n case actions.UNLOAD_TESTS:\r\n return initialState.varianceDetails;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_EXTERNAL_PSQ_SUCCESS action and sets the PSQ checklist in the store\r\n * @param {Object} [state] The PSQ checklist currently in the store, or the initial state of the PSQ checklist\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The PSQ\r\n */\r\nexport default function externalPsqReducer(state = initialState.psqChecklists, action) {\r\n if (action.type === actions.LOAD_EXTERNAL_PSQ_SUCCESS) {\r\n return action.psqChecklists;\r\n } else if (action.type == actions.UNLOAD_TESTS) {\r\n return initialState.psqChecklists;\r\n }else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_EXTERNAL_ARQC_SUCCESS action and sets the ARQC checklist in the store\r\n * @param {Object} [state] The ARQC checklist currently in the store, or the initial state of the ARQC checklist\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The checklist\r\n */\r\nexport default function externalArqcReducer(state = initialState.arqcChecklists, action) {\r\n if (action.type === actions.LOAD_EXTERNAL_ARQC_SUCCESS) {\r\n return action.arqcChecklists;\r\n } else if (action.type === actions.UNLOAD_TESTS) {\r\n return initialState.arqcChecklists;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_SERVICES_SUCCESS action and sets client account data in the store\r\n * @param {Object} [state] The client account data currently in the store, or the initial state of client account data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client account data\r\n */\r\nexport default function services(state = initialState.services, action) {\r\n switch (action.type) {\r\n case actions.LOAD_SERVICES_SUCCESS:\r\n if (action.services.length === 1 && action.services[0] === \"None\") {\r\n return [];\r\n }\r\n return action.services;\r\n case actions.UNLOAD_SERVICES:\r\n case actions.UNLOAD_PERIOD:\r\n return initialState.services;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_CLIENTS_SUCCESS action and sets an array of clients in the store\r\n * @param {Array} [state] The clients currently in the store, or the initial state of clients\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The clients\r\n */\r\nexport default function files(state = initialState.files, action) {\r\n switch (action.type) {\r\n case actions.LOAD_FILES_SUCCESS:\r\n return action.files;\r\n case actions.LOAD_FILES_FAILURE:\r\n case actions.UPLOAD_FILE_SUCCESS:\r\n case actions.UNLOAD_FILE_MANAGEMENT:\r\n return initialState.files;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_TEST_SNAPSHOTS_SUCCESS action\r\n * @param {Array} [state] The test snapshots currently in the store, or the initial state of test snapshots\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The test snapshots\r\n */\r\nexport default function testSnapshots(state = initialState.testSnapshots, action) {\r\n switch (action.type) {\r\n case actions.LOAD_TEST_SNAPSHOTS_SUCCESS:\r\n return action.testSnapshots;\r\n case actions.LOAD_TEST_SNAPSHOTS_FAILURE:\r\n case actions.UNLOAD_TESTS:\r\n return initialState.testSnapshots;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\n\r\n/**\r\n * This reducer handles the UPLOAD_FILE_SUCCESS\r\n * @param {Object} [state] True if uploading the file was successful otherwise false\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} True if uploading the file was successful otherwise false\r\n */\r\nexport default function fileUploadSuccess(state = false, action) {\r\n switch (action.type) {\r\n case actions.UPLOAD_FILE_SUCCESS:\r\n return true;\r\n case actions.UPLOAD_FILE_CLEAR:\r\n case actions.UPLOAD_FILE_FAILURE:\r\n case actions.UPLOAD_TB_SUCCESS:\r\n case actions.UPLOAD_FINAL_REPORT_SUCCESS:\r\n case actions.TB_PROCESSING_COMPLETE:\r\n return false;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_LAST_TRIAL_BALANCE_SUCCESS action and sets the last trial balance for the period in the store\r\n * @param {Array} [state] The clients currently in the store, or the initial state of clients\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The clients\r\n */\r\nexport default function lastTrialBalance(state = initialState.lastTrialBalance, action) {\r\n switch (action.type) {\r\n case actions.LOAD_LAST_TRIAL_BALANCE_SUCCESS:\r\n if (action.lastTrialBalance === undefined) {\r\n return null;\r\n }\r\n\r\n return action.lastTrialBalance;\r\n case actions.LOAD_LAST_TRIAL_BALANCE_FAILURE:\r\n case actions.UPLOAD_TB_SUCCESS:\r\n case actions.TB_PROCESSING_COMPLETE:\r\n case actions.UNLOAD_FILE_MANAGEMENT:\r\n return initialState.lastTrialBalance;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_TB_SUMMARY_SUCCESS action and sets the summary in the store\r\n * @param {Object} [state] The summary currently in the store, or the initial state of the summary\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The summary\r\n */\r\nexport default function trialBalanceSummaryReducer(state = initialState.trialBalanceSummary, action) {\r\n if (action.type === actions.LOAD_TB_SUMMARY_SUCCESS) {\r\n return action.trialBalanceSummary;\r\n } else if (action.type == actions.UNLOAD_PERIOD) {\r\n return initialState.trialBalanceSummary;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_TB_ADJUSTMENTS_SUCCESS action and sets the TB adjustments in the store\r\n * @param {Object} [state] The adjustments currently in the store, or the initial state of the TB adjustments\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The summary\r\n */\r\nexport default function trialBalanceAdjustmentsReducer(state = initialState.trialBalanceAdjustments, action) {\r\n if (action.type === actions.LOAD_TB_ADJUSTMENTS_SUCCESS) {\r\n return action.trialBalanceAdjustments;\r\n } else if (action.type == actions.UNLOAD_PERIOD || action.type === actions.LOAD_TB_ADJUSTMENTS_FAILURE) {\r\n return initialState.trialBalanceAdjustments;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_TB_ITEM_SUCCESS action and sets the TB ITEM in the store\r\n * @param {Object} [state] The item currently in the store, or the initial state of the TB item\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The summary\r\n */\r\nexport default function trialBalanceItemReducer(state = initialState.trialBalanceItem, action) {\r\n if (action.type === actions.LOAD_TB_ITEM_SUCCESS) {\r\n return action.trialBalanceItem;\r\n } else if (action.type == actions.UNLOAD_PERIOD || action.type === actions.LOAD_TB_ITEM_FAILURE) {\r\n return initialState.trialBalanceItem;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_TB_ITEMS_SUCCESS action and sets the TB ITEMs in the store\r\n * @param {Object} [state] The items currently in the store, or the initial state of the TB items\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The summary\r\n */\r\nexport default function trialBalanceItemsReducer(state = initialState.trialBalanceItems, action) {\r\n if (action.type === actions.LOAD_TB_ITEMS_SUCCESS) {\r\n return action.trialBalanceItems;\r\n } else if (action.type == actions.UNLOAD_PERIOD || action.type === actions.LOAD_TB_ITEMS_FAILURE) {\r\n return initialState.trialBalanceItems;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_LAST_CONSOLIDATED_PROPERTY_TRIAL_BALANCE_SUCCESS action and sets the last trial balance for the period in the store\r\n * @param {Array} [state] The last CONSOLIDATED TB currently in the store, or the initial state of the last CONSOLIDATED TB\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The CONSOLIDATED TB\r\n */\r\nexport default function lastConsolidatedTrialBalance(state = initialState.lastConsolidatedTrialBalance, action) {\r\n switch (action.type) {\r\n case actions.LOAD_LAST_CONSOLIDATED_PROPERTY_TRIAL_BALANCE_SUCCESS:\r\n if (action.lastConsolidatedTrialBalance === undefined) {\r\n return null;\r\n }\r\n \r\n return action.lastConsolidatedTrialBalance;\r\n case actions.LOAD_LAST_CONSOLIDATED_PROPERTY_TRIAL_BALANCE_FAILURE:\r\n case actions.UPLOAD_TB_SUCCESS:\r\n case actions.TB_PROCESSING_COMPLETE:\r\n case actions.UNLOAD_FILE_MANAGEMENT:\r\n return initialState.lastConsolidatedTrialBalance;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_LAST_PROPERTY_TRIAL_BALANCE_SUCCESS action and sets the last trial balance for the period in the store\r\n * @param {Array} [state] The clients currently in the store, or the initial state of clients\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The clients\r\n */\r\nexport default function lastPropertyTrialBalance(state = initialState.lastPropertyTrialBalance, action) {\r\n switch (action.type) {\r\n case actions.LOAD_LAST_PROPERTY_TRIAL_BALANCE_SUCCESS:\r\n if (action.lastPropertyTrialBalance === undefined) {\r\n return null;\r\n }\r\n\r\n return action.lastPropertyTrialBalance;\r\n case actions.LOAD_LAST_PROPERTY_TRIAL_BALANCE_FAILURE:\r\n case actions.UPLOAD_TB_SUCCESS:\r\n case actions.TB_PROCESSING_COMPLETE:\r\n case actions.UNLOAD_FILE_MANAGEMENT:\r\n return initialState.lastPropertyTrialBalance;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_FINAL_REPORT_SUCCESS action\r\n * @param {Array} [state] The clients currently in the store, or the initial state of clients\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The clients\r\n */\r\nexport default function finalReport(state = initialState.finalReport, action) {\r\n switch (action.type) {\r\n case actions.LOAD_FINAL_REPORT_SUCCESS:\r\n if (action.finalReport === undefined) {\r\n return null;\r\n }\r\n\r\n return action.finalReport;\r\n case actions.LOAD_FINAL_REPORT_FAILURE:\r\n case actions.UPLOAD_FINAL_REPORT_SUCCESS:\r\n case actions.UNLOAD_FILE_MANAGEMENT:\r\n\r\n return initialState.finalReport;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\n\r\n/**\r\n * This reducer handles the UPLOAD_FILE_SUCCESS\r\n * @param {Object} [state] True if uploading the file was successful otherwise false\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} True if uploading the file was successful otherwise false\r\n */\r\nexport default function finalReportUploadSuccess(state = false, action) {\r\n switch (action.type) {\r\n case actions.UPLOAD_FINAL_REPORT_SUCCESS:\r\n return true;\r\n case actions.UPLOAD_FINAL_REPORT_CLEAR:\r\n case actions.UPLOAD_FINAL_REPORT_FAILURE:\r\n case actions.UPLOAD_FILE_SUCCESS:\r\n case actions.UPLOAD_TB_SUCCESS:\r\n case actions.TB_PROCESSING_COMPLETE:\r\n return false;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles Authorization\r\n * @param {Object} [state] Authorization currently in the store\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} Auth\r\n */\r\nexport default function authReducer(state = initialState.authorization, action) {\r\n switch (action.type) {\r\n case actions.LOAD_AUTHORIZATION_RESOURCE_SUCCESS:\r\n return action.authorization || {};\r\n case actions.LOAD_MANAGED_RESOURCES_SUCCESS:\r\n return action.managedResources || {};\r\n case actions.LOAD_UNMANAGED_RESOURCES_SUCCESS:\r\n return action.unmanagedResources || {};\r\n case actions.LOAD_MANAGED_ROLES_SUCCESS:\r\n return action.managedRoles || {};\r\n case actions.LOAD_UNMANAGED_ROLES_SUCCESS:\r\n return action.unmanagedRoles || {};\r\n case actions.LOAD_AUTHORIZATION_SUCCESS:\r\n return action.authorization || {};\r\n case actions.CREATE_AUTHORIZATION_SUCCESS:\r\n return initialState.authorization; //??\r\n case actions.UPDATE_AUTHORIZATION_SUCCESS:\r\n return initialState.authorization; //??\r\n case actions.REMOVE_AUTHORIZATION_SUCCESS:\r\n return initialState.authorization; //??\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles Authorization\r\n * @param {Object} [state] Authorization currently in the store\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} Auth\r\n */\r\nexport default function authorizationsReducer(state = initialState.authorizations, action) {\r\n switch (action.type) {\r\n case actions.LOAD_AUTHORIZATIONS_SUCCESS:\r\n return action.authorizations || [];\r\n case actions.LOAD_AUTHORIZATIONS_FAILURE:\r\n return initialState.authorizations; //??\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles Authorization\r\n * @param {Object} [state] Authorization currently in the store\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} Auth\r\n */\r\nexport default function currentUserAuthorizations(state = initialState.currentUserAuthorizations, action) {\r\n switch (action.type) {\r\n case actions.LOAD_CURRENT_USER_AUTHORIZATIONS_SUCCESS:\r\n \r\n return action.authorizations || [];\r\n case actions.LOAD_CURRENT_USER_AUTHORIZATIONS_FAILURE:\r\n return initialState.currentUserAuthorizations;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the SET_ARQC_ACTIVE_CHECKLIST_SUCCESS action and sets the ARQC checklist in the store\r\n * @param {Object} [state] The ARQC checklist currently in the store, or the initial state of the ARQC checklist\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The checklist\r\n */\r\nexport default function deletedChecklistReducer(state = initialState.deletedChecklist, action) {\r\n if (action.type === actions.DELETE_CHECKLIST_SUCCESS) {\r\n return action.checklist;\r\n } if (action.type === actions.DELETE_CHECKLIST_CLEAR) {\r\n return null;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_PERIOD_MAPPINGS_SUCCESS action and sets a periods mappings in the store\r\n * @param {Object} [state] The period mappings currently in the store, or the initial state of period mappings\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The mappings\r\n */\r\nexport default function periodMappings(state = initialState.periodMappings, action) {\r\n switch (action.type) {\r\n case actions.LOAD_PERIOD_MAPPINGS_SUCCESS:\r\n return action.periodMappings || [];\r\n case actions.LOAD_PERIOD_MAPPINGS_FAILURE:\r\n case actions.UNLOAD_FILE_MANAGEMENT:\r\n return initialState.periodMappings;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_PERIOD_MAPPINGS_SUCCESS action and sets a periods mappings in the store\r\n * @param {Object} [state] The period mappings currently in the store, or the initial state of period mappings\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The mappings\r\n */\r\nexport default function periodMappingsBalances(state = initialState.periodMappingsBalances, action) {\r\n switch (action.type) {\r\n case actions.LOAD_PERIOD_MAPPINGS_BALANCES_SUCCESS:\r\n return action.periodMappingsBalances || [];\r\n case actions.LOAD_PERIOD_MAPPINGS_BALANCES_FAILURE:\r\n case actions.UNLOAD_FILE_MANAGEMENT:\r\n return initialState.periodMappingsBalances;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_MAPPING_SUCCESS action and sets a periods mappings in the store\r\n * @param {Object} [state] The mapping currently in the store, or the initial state of period mappings\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The mapping\r\n */\r\nexport default function mapping(state = initialState.mapping, action) {\r\n switch (action.type) {\r\n case actions.LOAD_MAPPING_SUCCESS:\r\n return action.mapping;\r\n case actions.LOAD_MAPPING_FAILURE:\r\n case actions.UNLOAD_FILE_MANAGEMENT:\r\n return initialState.mapping;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_COA_SUCCESS action and sets a periods mappings in the store\r\n * @param {Object} [state] The chart of accounts currently in the store, or the initial state of period mappings\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The chart of accounts\r\n */\r\nexport default function chartOfAccounts(state = initialState.chartOfAccounts, action) {\r\n switch (action.type) {\r\n case actions.LOAD_COA_SUCCESS:\r\n return action.chartOfAccounts;\r\n case actions.LOAD_COA_FAILURE:\r\n case actions.UNLOAD_FILE_MANAGEMENT:\r\n return initialState.chartOfAccounts;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_COA_DETAIL_GROUP_MAPPINGS_SUCCESS action and sets a the COA/Detail Group Mappings in the store\r\n * @param {Object} [state] The COA/Detail Group Mappings currently in the store, or the initial state of period mappings\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The COA/Detail Group Mappings\r\n */\r\nexport default function coaDgms(state = initialState.coaDgms, action) {\r\n switch (action.type) {\r\n case actions.LOAD_COA_DETAIL_GROUP_MAPPINGS_SUCCESS:\r\n return action.coaDgms;\r\n case actions.LOAD_COA_DETAIL_GROUP_MAPPINGS_FAILURE:\r\n return initialState.coaDgms;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the DETAIL_GROUP_MAPPINGS_SUCCESS action and sets a the COA/Detail Group Mappings in the store\r\n * @param {Object} [state] The COA/Detail Group Mappings currently in the store, or the initial state of period mappings\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The COA/Detail Group Mappings\r\n */\r\nexport default function detailGroupMappings(state = initialState.detailGroupMappings, action) {\r\n switch (action.type) {\r\n case actions.LOAD_DETAIL_GROUPS_MAPPINGS_SUCCESS:\r\n return action.detailGroupMappings;\r\n case actions.LOAD_DETAIL_GROUPS_MAPPINGS_FAILURE:\r\n return initialState.detailGroupMappings;\r\n default:\r\n return state;\r\n }\r\n}","export const PENDING = \"Pending\";\r\nexport const UPLOADED = \"Uploaded\";\r\nexport const PROCESSING = \"Processing\";\r\nexport const COMPLETED = \"Completed\";\r\nexport const FAILED = \"Failed\";","import * as actions from '../../actions/actionTypes';\r\nimport initialState from '../initialState';\r\nimport * as statuses from '../../constants/trialBalanceStatus';\r\n\r\n/**\r\n * This reducer handles the LOAD_ASSET_DETAIL_SUCCESS action and sets a client in the store\r\n * @param {Object} [state] The client currently in the store, or the initial state of client\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client\r\n */\r\nexport default function trialBalanceStatus(state = initialState.trialBalanceStatus, action) {\r\n switch (action.type) {\r\n case actions.TB_PROCESSING_COMPLETE:\r\n return {\r\n uploadId: action.uploadId,\r\n fileName: action.fileName,\r\n status: statuses.COMPLETED\r\n };\r\n case actions.TB_PROCESSING_FAILED:\r\n return {\r\n uploadId: action.uploadId,\r\n fileName: action.fileName,\r\n error: action.error,\r\n status: statuses.FAILED\r\n };\r\n case actions.TB_PROCESSING_COMPLETE_NOTIFIED:\r\n return initialState.trialBalanceStatus;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the GET_NOTIFICATIONS_SUCCESS action and sets the notifications in the store\r\n * @param {Object} [state] The notifications currently in the store, or the initial state of the notifications\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The notifications\r\n */\r\nexport default function notifications(state = initialState.notifications, action) {\r\n switch (action.type) {\r\n case actions.GET_NOTIFICATIONS_SUCCESS:\r\n return action.notifications;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the TOGGLE_NOTIFICATIONS_DISPLAY action and sets the show notifications in the store\r\n * @param {Object} [state] The show notifications currently in the store, or the initial state of the show notifications\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The show notifications\r\n */\r\nexport default function showNotifications(state = initialState.showNotifications, action) {\r\n switch (action.type) {\r\n case actions.TOGGLE_NOTIFICATIONS_DISPLAY:\r\n return !state;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the TOGGLE_NOTIFICATIONS_DISPLAY action and sets the show notifications in the store\r\n * @param {Object} [state] The show notifications currently in the store, or the initial state of the show notifications\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The show notifications\r\n */\r\nexport default function showBulkUploadModal(state = initialState.showBulkUploadModal, action) {\r\n switch (action.type) {\r\n case actions.SHOW_BULK_UPLOAD_MODAL:\r\n return true;\r\n case actions.HIDE_BULK_UPLOAD_MODAL:\r\n return false;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the TB_UPLOAD_COMPLETE, TB_UPLOAD_PROGRESS, TB_UPLOAD_FAILED, and TB_UPLOAD_CLEAR actions and sets the upload progress in the store\r\n * @param {Object} [state] The upload progress currently in the store, or the initial state of the upload progress\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The upload progress\r\n */\r\nexport default function uploadProgress(state = initialState.uploadProgress, action) {\r\n const addOrUpdateItem = (item) => {\r\n let newState = Object.assign([], state);\r\n\r\n const idx = newState.findIndex(e => e.fileName === item.fileName);\r\n if (idx >= 0) {\r\n newState[idx] = item;\r\n } else {\r\n newState.push(item);\r\n }\r\n\r\n return newState;\r\n };\r\n\r\n let item = {};\r\n\r\n switch (action.type) {\r\n case actions.TB_UPLOAD_COMPLETE:\r\n item = {\r\n fileName: action.fileName,\r\n progress: 100,\r\n status: 'upload complete'\r\n };\r\n\r\n return addOrUpdateItem(item);\r\n case actions.TB_UPLOAD_PROGRESS:\r\n item = {\r\n fileName: action.fileName,\r\n progress: action.progress,\r\n status: 'uploading'\r\n };\r\n\r\n return addOrUpdateItem(item);\r\n case actions.TB_UPLOAD_FAILED:\r\n item = {\r\n fileName: action.fileName,\r\n progress: 0,\r\n status: 'failed'\r\n };\r\n\r\n return addOrUpdateItem(item);\r\n case actions.TB_UPLOAD_CLEAR:\r\n return initialState.uploadProgress;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the TB_ADD_FILES_TO_QUEUE and TB_UPLOAD_START actions and sets the upload queue in the store\r\n * @param {Object} [state] The upload queue currently in the store, or the initial state of the upload queue\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The upload queue\r\n */\r\nexport default function uploadQueue(state = initialState.uploadQueue, action) {\r\n switch (action.type) {\r\n case actions.TB_ADD_FILES_TO_QUEUE:\r\n if (Array.isArray(action.filesToProcess)) {\r\n return state.concat(action.filesToProcess);\r\n }\r\n return state;\r\n case actions.TB_UPLOAD_START:\r\n return [...state.slice(1)]; // If begin is greater than the length of the sequence, an empty array is returned.\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the TB_UPLOAD_START, TB_UPLOAD_COMPLETE, and TB_UPLOAD_FAILED actions and sets the upload processes in the store\r\n * @param {Object} [state] The upload processes currently in the store, or the initial state of the upload processes\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The upload processes\r\n */\r\nexport default function uploadProcesses(state = initialState.uploadProcesses, action) {\r\n switch (action.type) {\r\n case actions.TB_UPLOAD_START:\r\n return ++state;\r\n case actions.TB_UPLOAD_COMPLETE:\r\n case actions.TB_UPLOAD_FAILED:\r\n return --state;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_QUEUE_COUNT_SUCCESS and LOAD_QUEUE_COUNT_FAILURE actions and sets the processing queue count in the store\r\n * @param {Object} [state] The processing queue count currently in the store, or the initial state of the processing queue count\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The processing queue count\r\n */\r\nexport default function processingQueueCount(state = initialState.processingQueueCount, action) {\r\n switch (action.type) {\r\n case actions.LOAD_QUEUE_COUNT_SUCCESS:\r\n return action.count;\r\n case actions.LOAD_QUEUE_COUNT_FAILURE:\r\n return 0;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_NAVIGATION_SERVICES_SUCCESS action and sets data in the store\r\n * @param {Object} [state] The tabbed navigation services data currently in the store, or the initial state of tabbed navigation services data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The tabbed navigation services data\r\n */\r\nexport default function navigationServices(state = initialState.navigationServices, action) {\r\n switch (action.type) {\r\n case actions.LOAD_NAVIGATION_SERVICES_SUCCESS:\r\n return action.navigationServices;\r\n case actions.UNLOAD_NAVIGATION_SERVICES:\r\n case actions.UNLOAD_PERIOD:\r\n return initialState.navigationServices;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles authentication information in the store\r\n * @param {Object} [state] The authentication object currently in the store, or the initial state of the authentication\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The authentication object\r\n */\r\nexport default function authentication(state = initialState.authentication, action) {\r\n switch (action.type) {\r\n case actions.AUTHENTICATION_TIMER_UPDATED:\r\n return Object.assign({}, state, {\r\n remainingTime: action.remainingTime\r\n });\r\n case actions.SET_CURRENT_USER:\r\n return Object.assign({}, state, {\r\n currentUser: action.currentUser\r\n });\r\n case actions.SET_ID_TOKEN:\r\n return Object.assign({}, state, {\r\n idToken: action.idToken\r\n });\r\n case actions.SET_ACCESS_TOKEN:\r\n return Object.assign({}, state, {\r\n accessToken: action.accessToken\r\n }); \r\n case actions.SET_MSAL_INSTANCE:\r\n return Object.assign({}, state, {\r\n msalInstance: action.msalInstance\r\n });\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_QUEUE_COUNT_SUCCESS and LOAD_QUEUE_COUNT_FAILURE actions and sets the processing queue count in the store\r\n * @param {Object} [state] The processing queue count currently in the store, or the initial state of the processing queue count\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The processing queue count\r\n */\r\nexport default function lastClickedTabChecklistQuestionId(state = initialState.lastClickedTabChecklistQuestionId, action) {\r\n switch (action.type) {\r\n case actions.LAST_CLICKED_TAB_CHECKLIST_QUESTION_ID:\r\n return action.questionId;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_CHECKLIST_DELIVERY_SCHEDULE_SUCCESS action and sets the checklistDeliveryCalendar in the store\r\n * @param {Object} [state] The checklistDeliveryCalendar currently in the store, or the initial state of the checklistDeliveryCalendar\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The checklistDeliveryCalendar\r\n */\r\nexport default function checklistDeliveryCalendarReducer(state = initialState.checklistDeliveryCalendar, action) {\r\n if (action.type == actions.LOAD_CHECKLIST_DELIVERY_SCHEDULE_SUCCESS && Array.isArray(action.checklistDeliveryCalendar)) {\r\n return action.checklistDeliveryCalendar;\r\n } else if (action.type == actions.LOAD_CHECKLIST_DELIVERY_SCHEDULE_FAILURE) {\r\n return initialState.checklistDeliveryCalendar;\r\n } else if (action.type == actions.RESET_CHECKLIST_DELIVERY_SCHEDULE_SUCCESS){\r\n return state;\r\n } else if (action.type == actions.RESET_CHECKLIST_DELIVERY_SCHEDULE_FAILURE){\r\n return state;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_CHECKLIST_CALENDAR_YEARS_SUCCESS action and sets the checklistCalendarYears in the store\r\n * @param {Object} [state] The checklistCalendarYears currently in the store, or the initial state of the checklistCalendarYears\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The checklistCalendarYears\r\n */\r\nexport default function checklistCalendarYearsReducer(state = initialState.checklistCalendarYears, action) { \r\n \r\n if (action.type == actions.LOAD_CHECKLIST_CALENDAR_YEARS_SUCCESS && Array.isArray(action.checklistCalendarYears)) { \r\n return action.checklistCalendarYears; \r\n } else if (action.type == actions.LOAD_CHECKLIST_CALENDAR_YEARS_FAILURE) { \r\n return initialState.checklistCalendarYears;\r\n } else { \r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the SET_INTERNAL_USER_MANAGER and SET_EXTERNAL_USER_MANAGER actions and sets the oidc user manager in the store\r\n * @param {Object} [state] The oidc user manager currently in the store, or the initial state of the oidc user manager\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The oidc user manager\r\n */\r\nexport default function authenticationScopeReducer(state = initialState.authenticationScope, action) {\r\n switch (action.type) {\r\n case actions.SET_AUTHENTICATION_SCOPE:\r\n return action.authenticationScope;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_SERVICES_SUCCESS action and sets client account data in the store\r\n * @param {Object} [state] The client account data currently in the store, or the initial state of client account data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client account data\r\n */\r\nexport default function customQuestionnaireReducer(state = initialState.customQuestionnaire, action) {\r\n switch (action.type) {\r\n case actions.LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATES_SUCCESS:\r\n return Object.assign({}, state, {\r\n templates: action.customQuestionnaireTemplates\r\n });\r\n case actions.LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATE_QUESTIONS_SUCCESS:\r\n return Object.assign({}, state, {\r\n templateQuestions: action.templateQuestions\r\n });\r\n case actions.LOAD_CUSTOM_QUESTIONS_SUCCESS:\r\n return Object.assign({}, state, {\r\n customQuestionList: action.customQuestionList\r\n });\r\n case actions.DELETE_CUSTOM_QUESTION_SUCCESS:\r\n return Object.assign({}, state, {\r\n customQuestionList: action.customQuestionList\r\n });\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_PSQ_TEMPLATES_SUCCESS action and sets client account data in the store\r\n * @param {Object} [state] The client account data currently in the store, or the initial state of client account data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client account data\r\n */\r\nexport default function psqTemplateReducer(state = initialState.psqTemplates, action) {\r\n if (action.type == actions.LOAD_PSQ_TEMPLATES_SUCCESS && Array.isArray(action.psqTemplates)) {\r\n return action.psqTemplates;\r\n } else if (action.type == actions.LOAD_PSQ_TEMPLATES_FAILURE) {\r\n return initialState.psqTemplates;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_BULK_REPORT_PACKAGES_SUCCESS action and sets bulk report packages data in the store\r\n * @param {Object} [state] The bulk report packages data currently in the store, or the initial state of bulk report packages data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The bulk report packages data\r\n */\r\n\r\nfunction formatETA(etaInSeconds) {\r\n if (etaInSeconds === 0) {\r\n return \"wrapping up\";\r\n }\r\n\r\n const minutes = Math.floor(etaInSeconds / 60);\r\n const seconds = etaInSeconds % 60;\r\n const formattedETA = [];\r\n\r\n if (minutes > 0) {\r\n formattedETA.push(`${minutes} min`);\r\n }\r\n\r\n formattedETA.push(`${seconds} sec`);\r\n\r\n return `${formattedETA.join(' ')} remain`;\r\n}\r\n\r\nexport default function bulkReportPackageReducer(state = initialState.bulkReportPackages, action) {\r\n if (action.type == actions.LOAD_BULK_REPORT_PACKAGES_SUCCESS && Array.isArray(action.bulkReportPackages)) {\r\n return {\r\n ...state,\r\n bulkReportPackages: action.bulkReportPackages\r\n };\r\n } else if (action.type == actions.LOAD_BULK_REPORT_PACKAGES_FAILURE) {\r\n return {\r\n ...state,\r\n bulkReportPackages: initialState.bulkReportPackages\r\n };\r\n } else if (action.type == actions.RECEIVE_BULK_REPORT_PACKAGE_MESSAGE) {\r\n // When we receive a signalR message, update the status for that exact row\r\n // And if the row is not in the current list of bulk report packages, then toggle the reload flag, otherwise keep the flag the same.\r\n const foundPackage = state.bulkReportPackages.find(row => row.bulkReportPackageID === action.message.BulkReportPackageID);\r\n const toggleReloadBulkReportPackages = foundPackage ? state.toggleReloadBulkReportPackages : !state.toggleReloadBulkReportPackages;\r\n \r\n return {\r\n ...state,\r\n bulkReportPackages: state.bulkReportPackages.map(row => {\r\n if (row.bulkReportPackageID === action.message.BulkReportPackageID) {\r\n return {\r\n ...row,\r\n bulkReportPackageStatusID: action.message.BulkReportPackageStatusID,\r\n bulkReportStatusDescription: action.message.BulkReportStatusDescription\r\n };\r\n }\r\n return row;\r\n }),\r\n toggleReloadBulkReportPackages\r\n };\r\n }\r\n else if (action.type == actions.UPDATE_BULK_REPORT_PACKAGE_ETA) {\r\n return {\r\n ...state,\r\n bulkReportPackages: state.bulkReportPackages.map(row => {\r\n const etaBulkReportPackage = action.etas.find((eta) => {\r\n return eta.bulkReportPackageID == row.bulkReportPackageID\r\n });\r\n\r\n if (etaBulkReportPackage && (\r\n row.bulkReportStatusDescription.toLowerCase().includes('queued') || row.bulkReportStatusDescription.toLowerCase().includes('in progress'))\r\n ) {\r\n\r\n const etaIndex = action.etas.findIndex(item => item.bulkReportPackageID == row.bulkReportPackageID);\r\n let eta = 0; \r\n\r\n if (etaIndex === 0) {\r\n eta = etaBulkReportPackage.estimatedTimeRemainingSeconds;\r\n } else {\r\n eta = etaBulkReportPackage.estimatedTimeRemainingSeconds;\r\n for (let i = 0; i < etaIndex; i++) {\r\n eta = eta + action.etas[i].estimatedTimeRemainingSeconds;\r\n }\r\n }\r\n\r\n return {\r\n ...row,\r\n bulkReportStatusDescription: row.bulkReportStatusDescription.split('-')[0].trim() + ' - ' + formatETA(eta),\r\n };\r\n }\r\n\r\n return row;\r\n }) \r\n };\r\n }\r\n else {\r\n return state;\r\n }\r\n}\r\n","\r\nimport * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_BULK_REPORT_PACKAGES_ETA_SUCCESS action and sets bulk report packages data in the store\r\n * @param {Object} [state] The bulk report packages data currently in the store, or the initial state of bulk report packages ETA data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The bulk report packages ETA data\r\n */\r\nexport default function bulkReportPackageETAReducer(state = initialState.bulkReportPackagesETA, action) { \r\n if (action.type == actions.LOAD_BULK_REPORT_PACKAGES_ETA_SUCCESS && Array.isArray(action.bulkReportPackagesETA)) { \r\n return action.bulkReportPackagesETA;\r\n } else if (action.type == actions.LOAD_BULK_REPORT_PACKAGES_ETA_FAILURE) {\r\n return initialState.bulkReportPackagesETA;\r\n } else {\r\n return state;\r\n }\r\n}\r\n","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_SERVICES_SUCCESS action and sets client account data in the store\r\n * @param {Object} [state] The client account data currently in the store, or the initial state of client account data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client account data\r\n */\r\nexport default function customFdrTemplateReducer(state = initialState.customFdrTemplate, action) {\r\n switch (action.type) {\r\n case actions.LOAD_CUSTOM_FDR_TEMPLATES_SUCCESS:\r\n return Object.assign({}, state, {\r\n templates: action.customFdrTemplates.fdrTemplates\r\n });\r\n case actions.CREATE_CUSTOM_FDR_TEMPLATE_SUCCESS:\r\n return Object.assign({}, state, {\r\n // template: action.template\r\n });\r\n case actions.CLEAR_CUSTOM_FDR_TEMPLATE_DUPLICATE:\r\n return Object.assign({}, state, {\r\n duplicate: false\r\n });\r\n case actions.SET_CUSTOM_FDR_TEMPLATE_DUPLICATE:\r\n return Object.assign({}, state, {\r\n duplicate: true\r\n });\r\n case actions.LOAD_DEFAULT_FDR_TEMPLATES_SUCCESS:\r\n return Object.assign({}, state, {\r\n defaultFdrTemplates: action.defaultFdrTemplates\r\n });\r\n case actions.DELETE_TEMPLATE_FAILURE:\r\n return Object.assign({}, state, { \r\n duplicate : false\r\n });\r\n case actions.DELETE_TEMPLATE_SUCCESS:{\r\n let filteredTemplates = state.templates.filter(template => template.fdrTemplateID != action.fdrTemplateId);\r\n return Object.assign({}, state, { \r\n templates : filteredTemplates\r\n });\r\n } \r\n case actions.UPDATE_CUSTOM_FDR_TEMPLATES_SUCCESS:\r\n return Object.assign({}, state, { \r\n templates: action.updatedFdrTemplateList\r\n });\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_SERVICES_SUCCESS action and sets client account data in the store\r\n * @param {Object} [state] The client account data currently in the store, or the initial state of client account data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client account data\r\n */\r\nexport default function chartOfAccountsManagerReducer(state = initialState.chartOfAccountsManager, action) {\r\n switch (action.type) {\r\n case actions.LOAD_CHARTS_SUCCESS:\r\n return Object.assign({}, state, {\r\n charts: action.charts\r\n });\r\n case actions.SET_CHART_DUPLICATE:\r\n return Object.assign({}, state, {\r\n duplicate: true\r\n });\r\n case actions.SET_CHARTOFACCOUNT_DUPLICATE:\r\n return Object.assign({}, state, {\r\n duplicateClientAccount: true\r\n });\r\n case actions.CLEAR_CHART_DUPLICATE:\r\n return Object.assign({}, state, {\r\n duplicate: false\r\n });\r\n case actions.CLEAR_CHARTOFACCOUNT_DUPLICATE:\r\n return Object.assign({}, state, {\r\n duplicateClientAccount: false\r\n });\r\n case actions.LOAD_CHART_ACCOUNT_MAPPINGS_FAILURE:\r\n return state\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_CHART_MAPPINGS_SUCCESS action and sets a chart mappings in the store\r\n * @param {Object} [state] The chart mappings currently in the store, or the initial state of chart mappings\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The mappings\r\n */\r\nexport default function chartMappings(state = initialState.chartMappings, action) {\r\n switch (action.type) {\r\n case actions.LOAD_CHART_MAPPINGS_SUCCESS:\r\n return action.chartMappings || [];\r\n case actions.LOAD_CHART_MAPPINGS_FAILURE:\r\n return initialState.chartMappings;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the lookup types loading actions and sets an array of types in the store\r\n * @param {Array} [state] The lookupTypes currently in the store, or the initial state of REITs\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The types\r\n */\r\nexport default function lookupTypesReducer(state = initialState.lookupTypes, action) {\r\n switch (action.type) {\r\n //This two cases is an example of how we can use a reducer to assign types individualy\r\n case actions.LOAD_PROPERTY_TYPES_SUCCESS:\r\n return Object.assign({}, state, {\r\n propertyTypes: action.propertyTypesArray\r\n });\r\n case actions.LOAD_PSQ_PROPERTY_TYPES_SUCCESS:\r\n return Object.assign({}, state, {\r\n psqPropertyTypes: action.psqPropertyTypesArray\r\n });\r\n /*This is an example on how we can load more than one state on one enum fetch from the \r\n api we just pas the object with the types and its arrays assigned, see how we dispatch this for the reducer\r\n on the propertyActions\r\n NOTE: If more property types are fetched by the api here they will be assigned\r\n As an example the actual fetch for the properties enums returns this object\r\n {\r\n \"PropertyTypes\": [{\"PropertyTypeID\": 1, \"PropertyTypeDescription\": \"Office\"}...],\r\n\r\n \"PSQPropertyTypes\": [{\"PSQPropertyTypeID\": 1, \"PSQPropertyTypeDescription\": \"Office\"}...],\r\n }\r\n */ \r\n case actions.LOAD_ALL_PROPERTY_TYPES_SUCCESS:\r\n return Object.assign({}, state, {\r\n propertyTypes: action.fetchedTypes.propertyTypes,\r\n psqPropertyTypes: action.fetchedTypes.psqPropertyTypes,\r\n propertyClasses: action.fetchedTypes.propertyClasses,\r\n propertyParkingTypes: action.fetchedTypes.propertyParkingTypes,\r\n tenantTypes: action.fetchedTypes.tenantTypes\r\n });\r\n case actions.LOAD_ALL_REIT_LOOKUPTYPES_SUCCESS:\r\n return Object.assign({}, state, {\r\n reitTypes: action.fetchedTypes.reitTypes,\r\n organizationTypes: action.fetchedTypes.organizationTypes,\r\n services: action.fetchedTypes.services,\r\n prePopulateAnswerOptions: action.fetchedTypes.prePopulateAnswerOptions\r\n });\r\n case actions.LOAD_ALL_CHARTOFACCOUNT_TYPES_SUCCESS:\r\n return Object.assign({}, state, {\r\n clientAccountCategories: action.fetchedTypes.clientAccountCategories,\r\n reitTestingAttributes: action.fetchedTypes.reitTestingAttributes\r\n });\r\n case actions.LOAD_ALL_CUSTOM_CHECKLIST_TEMPLATE_LOOKUPTYPES_SUCCESS:\r\n return Object.assign({}, state, {\r\n questionTypes: action.fetchedTypes.questionTypes\r\n });\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_CLIENTS_SUCCESS action and sets an array of clients in the store\r\n * @param {Array} [state] The clients currently in the store, or the initial state of clients\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The clients\r\n */\r\nexport default function reitFiles(state = initialState.files, action) {\r\n switch (action.type) {\r\n case actions.LOAD_REIT_FILES_SUCCESS:\r\n return action.files;\r\n case actions.LOAD_REIT_FILES_FAILURE:\r\n case actions.UPLOAD_REIT_FILE_SUCCESS:\r\n case actions.UNLOAD_REIT_FILE_MANAGEMENT:\r\n return initialState.files;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_MANAGE_CHECKLIST_SUCCESS action and sets the manageChecklists in the store\r\n * @param {Object} [state] The manageChecklists currently in the store, or the initial state of the manageChecklists\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The manageChecklists\r\n */\r\nexport default function manageChecklistReducer(state = initialState.manageChecklists, action) {\r\n if (action.type == actions.LOAD_MANAGE_CHECKLIST_SUCCESS && Array.isArray(action.manageChecklists)) {\r\n return action.manageChecklists;\r\n } else if (action.type == actions.LOAD_MANAGE_CHECKLIST_FAILURE) {\r\n return initialState.manageChecklists;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_EXTERNAL_CHECKLIST_SUCCESS action and sets the extChecklists in the store\r\n * @param {Object} [state] The extChecklists currently in the store, or the initial state of the extChecklists\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The extChecklists\r\n */\r\nexport default function externalChecklistReducer(state = initialState.extChecklists, action) {\r\n if (action.type == actions.LOAD_EXTERNAL_CHECKLIST_SUCCESS && Array.isArray(action.extChecklists)) { \r\n return action.extChecklists;\r\n } else if (action.type == actions.LOAD_EXTERNAL_CHECKLIST_FAILURE) {\r\n return initialState.extChecklists;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_EXTERNAL_CHECKLISTS_CLIENTS_SUCCESS action and sets an array of active clients in the store\r\n * @param {Array} [state] The clients currently in the store, or the initial state of clients\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The clients\r\n */\r\nexport default function externalChecklistsClientsReducer(\r\n state = initialState.externalChecklists.clients,\r\n action\r\n) {\r\n switch (action.type) {\r\n case actions.LOAD_EXTERNAL_CHECKLISTS_CLIENTS_SUCCESS:\r\n return action.clients;\r\n case actions.LOAD_EXTERNAL_CHECKLISTS_CLIENTS_FAILURE:\r\n return initialState.externalChecklists.clients;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_CHECKLIST_CALENDAR_YEARS_BY_CLIENT_AND_TYPE_SUCCESS action and sets the checklistCalendarYears in the store\r\n * @param {Object} [state] The checklistCalendarYears currently in the store, or the initial state of the checklistCalendarYears\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The checklistCalendarYears\r\n */\r\nexport default function checklistCalendarYearsByTypeReducer(state = initialState.externalChecklists.calendarYears, action) { \r\n \r\n if (action.type == actions.LOAD_CHECKLIST_CALENDAR_YEARS_BY_CLIENT_AND_TYPE_SUCCESS && Array.isArray(action.checklistCalendarYears)) { \r\n return action.checklistCalendarYears; \r\n } else if (action.type == actions.LOAD_CHECKLIST_CALENDAR_YEARS_BY_CLIENT_AND_TYPE_FAILURE) { \r\n return initialState.externalChecklists.checklistCalendarYears;\r\n } else { \r\n return state;\r\n }\r\n}","import * as actions from '../../actions/actionTypes';\r\nimport initialState from '../initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_ASSET_DETAIL_SUCCESS action and sets a client in the store\r\n * @param {Object} [state] The client currently in the store, or the initial state of client\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client\r\n */\r\nexport default function refreshManageChecklistClient(state = initialState.refreshManageChecklistClientId, action) {\r\n switch (action.type) {\r\n case actions.REFRESH_MANAGE_CHECKLIST_CLIENT:\r\n return action.clientId;\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../../actions/actionTypes';\r\nimport initialState from '../initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_CUSTOM_PSQ_TEMPLATE_SUCCESS action and sets data of custom psq templates to the store\r\n * @param {Object} [state] The custom psq template data currently in the store, or the initial state of client account data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The custom psq template data\r\n */\r\n\r\nexport default function customPsqTemplateReducer(\r\n state = initialState.selectedCustomPsqTemplate,\r\n action\r\n) {\r\n switch (action.type) {\r\n case actions.LOAD_CUSTOM_PSQ_TEMPLATE_SUCCESS:\r\n return action.customPsqTemplate;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_SERVICES_SUCCESS action and sets client account data in the store\r\n * @param {Object} [state] The client account data currently in the store, or the initial state of client account data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client account data\r\n */\r\nexport default function availableQuestionReducer(state = initialState.availableQuestion, action) {\r\n switch (action.type) {\r\n case actions.LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLE_SUCCESS:\r\n return Object.assign([], state, {\r\n templates: action.availableQuestion,\r\n availableQuestionDetail:action.availableQuestion\r\n });\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_SERVICES_SUCCESS action and sets client account data in the store\r\n * @param {Object} [state] The client account data currently in the store, or the initial state of client account data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client account data\r\n */\r\nexport default function availableQuestionByIdReducer(state = initialState.availableQuestionByID, action) {\r\n switch (action.type) {\r\n case actions.LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLEBYID_SUCCESS:\r\n return Object.assign([], state, {\r\n templates: action.availableQuestionByID\r\n });\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from '../../actions/actionTypes';\r\nimport initialState from '../initialState';\r\n\r\n/**\r\n * This reducer handles the CREATE_CUSTOM_PSQ_TEMPLATE_SUCCESS & CREATE_CUSTOM_PSQ_TEMPLATE_FAILURE action and sets created custom template id to the store\r\n * @param {Object} [state] The custom psq template data currently in the store, or the initial state of client account data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The custom psq template data\r\n */\r\n\r\nexport default function createCustomPsqTemplateReducer(\r\n state = initialState.createdCustomTemplateId,\r\n action\r\n) {\r\n switch (action.type) {\r\n case actions.CREATE_CUSTOM_PSQ_TEMPLATE_SUCCESS:\r\n case actions.CREATE_CUSTOM_PSQ_TEMPLATE_FAILURE:\r\n return action.templateId;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the CHECKLIST_SCHEDULED_DELIVERY_SUCCESS action and sets data of checklist delivery schedules to the store\r\n * @param {Object} [state] The custom psq template data currently in the store, or the initial state of checklist delivery schedules data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The checklist delivery schedules data\r\n */\r\n\r\nexport default function checklistDeliverySchedulesReducer(\r\n state = initialState.checklistDeliverySchedules,\r\n action\r\n) {\r\n switch (action.type) {\r\n case actions.CHECKLIST_SCHEDULED_DELIVERY_SUCCESS:\r\n return action.checklistDeliverySchedules;\r\n case actions.CHECKLIST_SCHEDULED_DELIVERY_FAILURE:\r\n return initialState.checklistDeliverySchedules;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_ATTACHMENTDETAIL_SUCCESS action and sets client account data in the store\r\n * @param {Object} [state] The client account data currently in the store, or the initial state of client account data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client account data\r\n */\r\nexport default function attachmentDetailReducer(state = initialState.attachmentDetails, action) {\r\n if (action.type == actions.LOAD_ATTACHMENTDETAIL_SUCCESS && Array.isArray(action.attachmentDetails)) {\r\n return action.attachmentDetails;\r\n } else if (action.type == actions.LOAD_ATTACHMENTDETAIL_FAILURE) {\r\n return initialState.attachmentDetails;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from '../../actions/actionTypes';\r\nimport initialState from '../initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_CUSTOM_PSQ_TEMPLATE_CONTENT_SUCCESS action and sets content of custom psq templates to the store\r\n * @param {Object} [state] The custom psq template content currently in the store, or the initial state of custom psq template content\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The custom psq template data\r\n */\r\n\r\nexport default function customPsqTemplateContentReducer(\r\n state = initialState.activeCustomPsqTemplateContent,\r\n action\r\n) {\r\n switch (action.type) {\r\n case actions.LOAD_CUSTOM_PSQ_TEMPLATE_CONTENT_SUCCESS:\r\n return action.customPsqTemplateContent;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as actions from '../../actions/actionTypes';\r\nimport initialState from '../initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_CHECKLIST_TEMPLATE_SUCCESS action and sets data of custom psq templates to the store\r\n * @param {Object} [state] The custom psq template data currently in the store, or the initial state of custom psq template details\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The custom psq template data\r\n */\r\n\r\nexport default function customPsqTemplateDetailsReducer(\r\n state = initialState.customPsqTemplateDetails,\r\n action\r\n) {\r\n switch (action.type) {\r\n case actions.LOAD_CHECKLIST_TEMPLATE_SUCCESS:\r\n return action.checklistTemplateResponse;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_QUESTION_COMMENTS_SUCCESS action and sets client account data in the store\r\n * @param {Object} [state] The question comments data currently in the store, or the initial state of question comments data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The question comments data\r\n */\r\nexport default function questionCommentsReducer(state = initialState.questionComments, action) {\r\n if (action.type == actions.LOAD_QUESTION_COMMENTS_SUCCESS && Array.isArray(action.questionComments)) {\r\n return action.questionComments;\r\n } else if (action.type == actions.LOAD_QUESTION_COMMENTS_FAILURE) {\r\n return initialState.questionComments;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_ARQC_CHECKLIST_SUCCESS action and sets the ARQC checklist in the store\r\n * @param {Object} [state] The ARQC checklist currently in the store, or the initial state of the ARQC checklist\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The checklist\r\n */\r\nexport default function checklistsCounterReducer(state = initialState.checklistCounter, action) {\r\n if (action.type === actions.CHECKLIST_NAVIGATION_COUNTER_SUCCESS) {\r\n return action.checklistCounter;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_QUESTION_DISCREPANCIES_SUCCESS action and sets client discrepancies data in the store\r\n * @param {Object} [state] The question discrepancies data currently in the store, or the initial state of question discrepancies data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The question discrepancies data\r\n */\r\nexport default function questionDiscrepanciesReducer(state = initialState.discrepanciesDetail, action) {\r\n if (action.type == actions.LOAD_QUESTION_DISCREPANCIES_SUCCESS && Array.isArray(action.discrepanciesDetail)) {\r\n return action.discrepanciesDetail;\r\n } else if (action.type == actions.LOAD_QUESTION_DISCREPANCIES_FAILURE) {\r\n return initialState.discrepanciesDetail;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_LAST_SERVICE_PROVIDER_QUESTION_ID_SUCCESS action and sets last service provider question id in the store\r\n * @param {number} [state] The last service provider question id currently in the store, or the initial state of last service provider question id\r\n * @param {Object} action The action to be handled\r\n * @returns {number} The last service provider question id\r\n */\r\nexport default function lastServiceProviderQuestionIdReducer(state = initialState.lastServiceProviderQuestionId, action) {\r\n if (action.type == actions.LOAD_LAST_SERVICE_PROVIDER_QUESTION_ID_SUCCESS) {\r\n return action.lastServiceProviderQuestionId;\r\n } else if (action.type == actions.LOAD_LAST_SERVICE_PROVIDER_QUESTION_ID_FAILURE) {\r\n return initialState.lastServiceProviderQuestionId;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from '../../actions/actionTypes';\r\nimport initialState from '../initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_USER_PROFILE_PICTURE_SUCCESS action and sets blob url of the profile picture of the logged in user to the store\r\n * @param {Object} [state] The blob url of the profile picture of the logged in user currently in the store, or the initial state of blob url of the profile picture of the logged in user\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The blob url of the profile picture of the logged in user\r\n */\r\n\r\nexport default function userProfilePictureReducer(\r\n state = initialState.userProfilePictureUrl,\r\n action\r\n) {\r\n switch (action.type) {\r\n case actions.LOAD_USER_PROFILE_PICTURE_SUCCESS:\r\n return action.blobUrl;\r\n case actions.LOAD_USER_PROFILE_PICTURE_FAILURE:\r\n return state;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as actions from '../../actions/actionTypes';\r\nimport initialState from '../initialState';\r\n\r\n/**\r\n * This reducer handles the CUSTOM_QUESTION_INTENT_LOCK_UPDATE_SUCCESS & CUSTOM_QUESTION_INTENT_LOCK_UPDATE_FAILURE actions and sets result data for an intent lock update of a custom question.\r\n * @param {Object} [state] The initial state of the intent lock update result\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The intent lock update result data\r\n */\r\n\r\nexport default function customQuestionIntentLockUpdateResultReducer(\r\n state = initialState.intentLockUpdateResult,\r\n action\r\n) {\r\n switch (action.type) {\r\n case actions.CUSTOM_QUESTION_INTENT_LOCK_UPDATE_SUCCESS:\r\n return action.intentLockUpdateResult;\r\n case actions.CUSTOM_QUESTION_INTENT_LOCK_UPDATE_FAILURE:\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as actions from '../../actions/actionTypes';\r\nimport initialState from '../initialState';\r\n\r\n/**\r\n * This reducer handles the CUSTOM_QUESTION_FETCH_LOCK_STATUS_SUCCESS & CUSTOM_QUESTION_FETCH_LOCK_STATUS_FAILURE actions and sets the lock status result data for a custom question.\r\n * @param {Object} [state] The initial state of the lock status result\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} lock status result data\r\n */\r\n\r\nexport default function customQuestionLockStatusResultReducer(\r\n state = initialState.customQuestionLockStatus,\r\n action\r\n) {\r\n switch (action.type) {\r\n case actions.CUSTOM_QUESTION_FETCH_LOCK_STATUS_SUCCESS:\r\n return action.customQuestionLockStatus;\r\n case actions.CUSTOM_QUESTION_FETCH_LOCK_STATUS_FAILURE:\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as actions from '../../actions/actionTypes';\r\nimport initialState from '../initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_BULK_PROCESS_MANAGEMENT_DATA_SUCCESS & LOAD_BULK_PROCESS_MANAGEMENT_DATA_FAILURE action and sets bulk process management grid data to the store\r\n * @param {Object} [state] The bulk process management grid data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The bulk process management grid data\r\n */\r\n\r\nexport default function bulkProcessManagementDataReducer(\r\n state = initialState.bulkProcessManagementData,\r\n action\r\n) {\r\n switch (action.type) {\r\n case actions.LOAD_BULK_PROCESS_MANAGEMENT_DATA_SUCCESS:\r\n return action.bulkProcessManagementData;\r\n case actions.LOAD_BULK_PROCESS_MANAGEMENT_DATA_REFRESH:\r\n return action.message;\r\n case actions.LOAD_BULK_PROCESS_MANAGEMENT_DATA_FAILURE:\r\n return state;\r\n case actions.RECEIVE_BULK_PROCESS_STATUS_UPDATE_MESSAGE:\r\n return state.map(row => {\r\n if (row.reitid === action.message.REITID && row.reportPeriodID == action.message.ReportPeriodID) {\r\n return {\r\n ...row,\r\n signOffStatus: action.message.SignOffStatus,\r\n arqc: action.message.ARQC,\r\n assetTesting: action.message.AssetTesting,\r\n distributionTesting: action.message.DistributionTesting,\r\n incomeTesting: action.message.IncomeTesting,\r\n isActive: action.message.IsActive,\r\n isAudit: action.message.IsAudit,\r\n isReitAvailableForSelection: action.message.IsReitAvailableForSelection,\r\n leaseReview: action.message.LeaseReview,\r\n psq: action.message.PSQ,\r\n reitSelection: false\r\n };\r\n }\r\n\r\n return row;\r\n });\r\n case actions.RECEIVE_BULK_PROCESS_STATUS_CONCURRENT_UPDATE_MESSAGE:\r\n return state.map(row => {\r\n if (row.reitid === action.message.REITID && row.reitName == action.message.REITName) {\r\n return {\r\n ...row,\r\n isReitAvailableForSelection: action.message.IsReitAvailableForSelection,\r\n reitSelection: false\r\n };\r\n }\r\n\r\n return row;\r\n }); \r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as actions from '../../actions/actionTypes';\r\nimport initialState from '../initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_BULK_ROLL_FORWARD_DATA_SUCCESS, LOAD_BULK_ROLL_FORWARD_DATA_FAILURE & RECEIVE_BULK_ROLL_FORWARD_STATUS_UPDATE_MESSAGE action and sets bulk roll forward grid data to the store\r\n * @param {Object} [state] The bulk roll forward grid data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The bulk roll forward grid data\r\n */\r\n\r\nexport default function bulkRollForwardDataReducer(\r\n state = initialState.bulkRollForwardData,\r\n action\r\n) {\r\n switch (action.type) {\r\n case actions.LOAD_BULK_ROLL_FORWARD_DATA_SUCCESS:\r\n return action.bulkRollForwardData;\r\n case actions.LOAD_BULK_ROLL_FORWARD_DATA_REFRESH:\r\n return action.message;\r\n case actions.RECEIVE_BULK_ROLL_FORWARD_STATUS_UPDATE_MESSAGE:\r\n return state.map(row => {\r\n if (row.reitid === action.message.REITID && row.reitName == action.message.REITName) {\r\n return {\r\n ...row,\r\n isReitActive: action.message.IsReitActive,\r\n isReitAvailableForSelection: action.message.IsReitAvailableForSelection,\r\n currentPeriod: action.message.CurrentPeriod,\r\n nextAvailablePeriod: action.message.NextAvailablePeriod,\r\n bulkRollForwardStatusDescription: action.message.BulkRollForwardStatusDescription,\r\n reitSelection: false\r\n };\r\n }\r\n\r\n return row;\r\n });\r\n case actions.RECEIVE_BULK_ROLL_FORWARD_STATUS_CONCURRENT_UPDATE_MESSAGE:\r\n return state.map(row => {\r\n if (row.reitid === action.message.REITID && row.reitName == action.message.REITName) {\r\n return {\r\n ...row,\r\n isReitAvailableForSelection: action.message.IsReitAvailableForSelection,\r\n reitSelection: false\r\n };\r\n }\r\n\r\n return row;\r\n }); \r\n case actions.LOAD_BULK_ROLL_FORWARD_DATA_FAILURE:\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n// \r\n// /**\r\n// * This reducer handles the SET_THEME action and sets data in the store\r\n// * @param {Object} [state] The theme data currently in the store, or the initial state of theme data\r\n// * @param {Object} action The action to be handled\r\n// * @returns {Object} The theme data\r\n// */\r\nexport default function themeServices(state = initialState.motifThemes, action) {\r\n switch (action.type) {\r\n case actions.MOTIF_THEME:\r\n return action.motifThemes;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as actions from \"../../actions/actionTypes\";\r\nimport initialState from \"../initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_PSQ_TEMPLATES_SUCCESS action and sets client account data in the store\r\n * @param {Object} [state] The client account data currently in the store, or the initial state of client account data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client account data\r\n */\r\nexport default function dataRetentionManagementDataReducer(state = initialState.dataRetentionManagementData, action) {\r\n if (action.type == actions.LOAD_DATA_RETENTION_MANAGEMENT_DATA_SUCCESS && Array.isArray(action.dataRetentionManagementData)) {\r\n return action.dataRetentionManagementData;\r\n } else if (action.type == actions.LOAD_DATA_RETENTION_MANAGEMENT_DATA_FAILURE) {\r\n return initialState.dataRetentionManagementData;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../../actions/actionTypes\";\r\nimport initialState from \"../initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_PSQ_TEMPLATES_SUCCESS action and sets client account data in the store\r\n * @param {Object} [state] The client account data currently in the store, or the initial state of client account data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client account data\r\n */\r\nexport default function dataPurgeConfigurationDataReducer(state = initialState.dataPurgeConfigurationData, action) {\r\n if (action.type == actions.LOAD_DATA_PURGE_DATA_SUCCESS && Array.isArray(action.dataPurgeConfigurationData)) {\r\n return action.dataPurgeConfigurationData;\r\n } else if (action.type == actions.LOAD_DATA_PURGE_DATA_FAILURE) {\r\n return initialState.dataPurgeConfigurationData;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../../actions/actionTypes\";\r\nimport initialState from \"../initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_SUCCESS action and sets user acknowledgement history data in the store\r\n * @param {Object} [state] The user acknowledgement history data currently in the store, or the initial state of user acknowledgement history data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The user acknowledgement history data\r\n */\r\nexport default function dataPurgeUserAcknowledgementHistoryDataReducer(state = initialState.dataPurgeUserAcknowledgementHistoryData, action) {\r\n if (action.type == actions.LOAD_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_SUCCESS && Array.isArray(action.dataPurgeUserAcknowledgementHistoryData)) {\r\n return action.dataPurgeUserAcknowledgementHistoryData;\r\n } else if (action.type == actions.LOAD_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_FAILURE) {\r\n return initialState.dataPurgeUserAcknowledgementHistoryData;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../../actions/actionTypes\";\r\nimport initialState from \"../initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_UPCOMING_DATA_DELETION_NOTICE_DETAILS_SUCCESS action and sets upcoming data deletion notice data in the store\r\n * @param {Object} [state] The upcoming data deletion notice data currently in the store, or the initial state of upcoming data deletion notice data \r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The upcoming data deletion notice data.\r\n */\r\nexport default function upcomingDataDeletionNoticeDataReducer(state = initialState.upcomingDataDeletionNoticeData, action) {\r\n if (action.type == actions.LOAD_UPCOMING_DATA_DELETION_NOTICE_DETAILS_SUCCESS) {\r\n return action.upcomingDataDeletionNoticeData;\r\n } else if (action.type == actions.LOAD_UPCOMING_DATA_DELETION_NOTICE_DETAILS_FAILURE) {\r\n return initialState.upcomingDataDeletionNoticeData;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\n/**\r\n * This reducer handles the LOAD_ALL_RIETS_SUCCESS action and sets an array of REITs in the store\r\n * @param {Array} [state] The REITs currently in the store, or the initial state of REITs\r\n * @param {Object} action The action to be handled\r\n * @returns {Array} The REITs\r\n */\r\nexport default function featureManagementData(state = initialState.featureFlags, action) {\r\n switch(action.type) {\r\n case actions.LOAD_FEATURE_FLAGS_SUCCESS:\r\n return action.featureFlags;\r\n\r\n default:\r\n return state;\r\n }\r\n}","import * as actions from \"../../actions/actionTypes\";\r\nimport initialState from \"../initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_DATA_PURGE_DIAGDATA_SUCCESS action and sets data deletion diagnostic data in the store\r\n * @param {Object} [state] The data deletion diagnostic data currently in the store, or the initial state of data deletion diagnostic data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The data deletion diagnostic data\r\n */\r\nexport default function dataDeletionDiaognisticDataReducer(state = initialState.dataDeletionDiagnosticData, action) {\r\n if (action.type == actions.LOAD_DATA_PURGE_DIAGDATA_SUCCESS && Array.isArray(action.dataDeletionDiagnosticData)) {\r\n return action.dataDeletionDiagnosticData;\r\n } else if (action.type == actions.LOAD_DATA_PURGE_DIAGDATA_FAILURE) {\r\n return initialState.dataDeletionDiagnosticData;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../../actions/actionTypes\";\r\nimport initialState from \"../initialState\";\r\n\r\n/**\r\n * This reducer handles the LOAD_External_User_Data_Visibility_SUCCESS action and sets client account data in the store\r\n * @param {Object} [state] The client account data currently in the store, or the initial state of client account data\r\n * @param {Object} action The action to be handled\r\n * @returns {Object} The client account data\r\n */\r\nexport default function externalUserDataVisibilityReducer(state = initialState.externalUserVisibilityData, action) {\r\n if (action.type == actions.LOAD_External_User_Data_Visibility_SUCCESS && Array.isArray(action.externalUserVisibilityData)) {\r\n return action.externalUserVisibilityData;\r\n } else if (action.type == actions.LOAD_External_User_Data_Visibility_FAILURE) {\r\n return initialState.externalUserVisibilityData;\r\n } else {\r\n return state;\r\n }\r\n}","import * as actions from \"../actions/actionTypes\";\r\nimport initialState from \"./initialState\";\r\n\r\n/**\r\n * This reducer handles the GET_INCOMPLETE_SECURITIES_SNAPSHOTS_SUCCESS and GET_INCOMPLETE_SECURITIES_SNAPSHOTS_FAILURE actions and sets the incompleteSecuritiesSnapshots in the store.\r\n * @param {Object} [state] The incompleteSecuritiesSnapshots currently in the store, or the initial state of the incompleteSecuritiesSnapshots.\r\n * @param {Object} action The action to be handled.\r\n * @returns {Object} The updated state of incompleteSecuritiesSnapshots.\r\n */\r\nexport default function incompleteSecuritiesSnapshotsReducer(state = initialState.incompleteSecuritiesSnapshots, action) {\r\n switch (action.type) {\r\n case actions.GET_INCOMPLETE_SECURITIES_SNAPSHOTS_SUCCESS:\r\n return action.incompleteSecuritiesSnapshots;\r\n case actions.GET_INCOMPLETE_SECURITIES_SNAPSHOTS_FAILURE:\r\n return initialState.incompleteSecuritiesSnapshots;\r\n case actions.RELOAD_INCOMPLETE_SECURITIES_SNAPSHOTS_SUCCESS:\r\n return action.incompleteSecuritiesSnapshots;\r\n \r\n default:\r\n return state;\r\n }\r\n}\r\n","// Set up your root reducer here...\r\nimport { combineReducers } from 'redux';\r\nimport { routerReducer } from 'react-router-redux';\r\nimport { reducer as formReducer } from 'redux-form';\r\nimport pendingTasks from './pendingTasksReducer';\r\nimport assetDetails from './assetDetailReducer';\r\nimport assetDetailsForYear from './assetDetailsReducer';\r\nimport distributionDetails from './distributionDetailReducer';\r\nimport incomeDetails from './incomeDetailReducer';\r\nimport propertyDetails from './propertyDetailReducer';\r\nimport propertyItsi from './propertyItsiReducer';\r\nimport assetSummary from './assetSummaryReducer';\r\nimport clients from './clientsReducer';\r\nimport client from './clientReducer';\r\nimport allReits from './allReitsReducer';\r\nimport reits from './reitsReducer';\r\nimport externalReits from './reitsExternalReducer'\r\nimport reit from './reitReducer';\r\nimport reitsForMO from './reitsForMOReducer';\r\nimport period from './periodReducer';\r\nimport periods from './periodsReducer';\r\nimport isAuthenticated from './isAuthenticatedReducer';\r\nimport availableReportItems from './availableReportItemsReducer';\r\nimport securitiesSnapshots from './securitiesSnapshotReducer';\r\nimport taxableReitSubsidiaries from './taxableReitSubsidiariesReducer';\r\nimport incomeTestSummary from './incomeTestSummaryReducer';\r\nimport distributionTestSummary from './distributionTestSummaryReducer';\r\nimport distributionTaxableIncome from './distributionTaxableIncomeReducer';\r\nimport arqcActiveChecklistReducer from './arqcActiveChecklistReducer';\r\nimport arqcLoadChecklistsReducer from './arqcLoadChecklistsReducer';\r\nimport arqcPreviousChecklistReducer from './arqcPreviousChecklistReducer';\r\nimport psqLoadChecklistsReducer from './psqLoadChecklistsReducer';\r\nimport psqActiveChecklistReducer from './psqActiveChecklistReducer';\r\nimport psqPreviousChecklistReducer from './psqPreviousChecklistReducer';\r\nimport checklistFilesReducer from './checklistFilesReducer';\r\nimport reportPeriodVisibilityConstraintReducer from './reportPeriodVisibilityConstraintReducer';\r\nimport externalChecklistListReducer from './externalChecklistListReducer';\r\nimport errorResponse from './errorResponseReducer';\r\nimport dismissUsersMessage from './usersMessageReducer';\r\nimport tbUploadSuccess from './tbUploadSuccessReducer';\r\nimport properties from './propertiesReducer';\r\nimport property from './propertyReducer';\r\nimport deletePropertyDetail from './deletePropertyDetailReducer';\r\nimport varianceDetails from './varianceReducer';\r\nimport externalPsq from './externalPsqReducer';\r\nimport externalArqc from './externalArqcReducer';\r\nimport services from './servicesReducer';\r\nimport files from './filesReducer';\r\nimport testSnapshots from './testSnapshotsReducer';\r\nimport fileUploadSuccess from './fileUploadSuccessReducer';\r\nimport lastTrialBalance from './lastTrialBalanceReducer';\r\nimport trialBalanceSummary from './trialBalanceSummaryReducer';\r\nimport trialBalanceAdjustments from './trialBalanceAdjustmentsReducer';\r\nimport trialBalanceItem from './trialBalanceItemReducer';\r\nimport trialBalanceItems from './trialBalanceItemsReducer';\r\nimport lastConsolidatedTrialBalance from './lastConsolidatedTrialBalanceReducer';\r\nimport lastPropertyTrialBalance from './lastPropertyTrialBalanceReducer';\r\nimport finalReport from './finalReportReducer';\r\nimport finalReportUploadSuccess from './finalReportUploadSuccessReducer';\r\nimport { reducer as oidcReducer } from 'redux-oidc';\r\nimport auth from './authReducer';\r\nimport authorizations from './authorizationsReducer';\r\nimport currentUserAuthorizations from './currentUserAuthorizationsReducer';\r\nimport deletedChecklist from './deletedChecklistReducer';\r\nimport periodMappings from './periodMappingsReducer';\r\nimport periodMappingsBalances from './periodMappingsBalancesReducer';\r\nimport mapping from './mappingReducer';\r\nimport chartOfAccounts from './chartOfAccountsReducer';\r\nimport coaDgms from './coaDetailGroupMappingReducer';\r\nimport detailGroupMappings from './detailGroupMappingsReducer';\r\nimport trialBalanceStatus from './signalRReducers/trialBalanceStatusReducer';\r\nimport notifications from './notificationsReducer';\r\nimport showNotifications from './showNotificationsReducer';\r\nimport showBulkUploadModal from './showBulkUploadModalReducer';\r\nimport uploadProgress from './uploadProgressReducer';\r\nimport uploadQueue from './uploadQueueReducer';\r\nimport uploadProcesses from './uploadProcessesReducer';\r\nimport processingQueueCount from './processingQueueCountReducer';\r\nimport navigationServices from './navigationServicesReducer';\r\nimport authentication from './authenticationReducer';\r\nimport lastClickedTabChecklistQuestionId from './lastClickedTabChecklistQuestionIdReducer';\r\nimport checklistDeliveryCalendar from './checklistDeliveryCalendarReducer';\r\nimport checklistCalendarYears from './checklistCalendarYearsReducer';\r\nimport authenticationScope from './authenticationScopeReducer';\r\nimport customQuestionnaire from './customQuestionnaireReducer';\r\nimport psqTemplates from './psqTemplateReducer';\r\nimport bulkReportPackages from './bulkReportPackageReducer';\r\nimport bulkReportPackagesETA from './bulkReportPackageETAReducer';\r\nimport customFdrTemplate from './customFdrTemplateReducer';\r\nimport chartOfAccountsManager from './chartOfAccountsManagerReducer';\r\nimport chartMappings from './chartMappingsReducer';\r\nimport lookupTypes from './lookupTypesReducer';\r\nimport reitFiles from './reitFilesReducer';\r\nimport manageChecklists from './manageChecklistReducer';\r\nimport externalChecklists from './externalChecklistReducer';\r\nimport externalChecklistsClients from './externalChecklistsClientsReducer';\r\nimport checklistCalendarYearsByType from './checklistCalendarYearsByTypeReducer';\r\nimport refreshManageChecklistClient from './signalRReducers/refreshManageChecklistClientReducer';\r\nimport customPsqTemplate from './customPsqTemplatesReducers/customPsqTemplateReducer';\r\nimport availableQuestion from './availableQuestionReducer';\r\nimport availableQuestionById from './availableQuestionByIdReducer';\r\nimport createCustomPsqTemplate from './customPsqTemplatesReducers/createCustomPsqTemplateReducer';\r\nimport checklistDeliverySchedules from './checklistDeliverySchedulesReducer';\r\nimport attachmentDetail from './attachmentDetailReducer';\r\nimport customPsqTemplateContent from './customPsqTemplatesReducers/customPsqTemplateContentReducer';\r\nimport customPsqTemplateDetails from './customPsqTemplatesReducers/customPsqTemplateDetailsReducer';\r\nimport questionComments from './questionCommentsReducer';\r\nimport checklistsCounter from './checklistsCounterReducer';\r\nimport discrepanciesDetail from './questionDiscrepanciesReducer';\r\nimport lastServiceProviderQuestionId from './lastServiceProviderQuestionIdReducer';\r\nimport userProfilePicture from './microsoftGraphApiReducers/userProfilePictureReducer';\r\nimport customQuestionIntentLockUpdateResult from './customPsqTemplatesReducers/customQuestionIntentLockUpdateResultReducer';\r\nimport customQuestionLockStatusResultReducer from './customPsqTemplatesReducers/customQuestionLockStatusResultReducer';\r\nimport bulkProcessManagementData from './bulkProcessManagementReducers/bulkProcessManagementDataReducer';\r\nimport bulkRollForwardData from './bulkRollForwardReducers/bulkRollForwardDataReducer';\r\nimport themeServices from './themeServicesReducer';\r\nimport dataRetentionManagementData from './dataRetentionManagementReducers/dataRetentionManagementDataReducer';\r\nimport dataPurgeConfigurationData from './dataPurgeReducer/dataPurgeConfigurationDataReducer';\r\nimport dataPurgeUserAcknowledgementHistoryData from './dataPurgeReducer/dataPurgeUserAcknowledgementHistoryDataReducer';\r\nimport upcomingDataDeletionNoticeData from './dataPurgeReducer/upcomingDataDeletionNoticeDataReducer';\r\nimport featureManagementData from './featureManagementReducers';\r\nimport dataDeletionDiagnosticData from './dataPurgeReducer/dataDeletionDiaognisticDataReducer';\r\nimport externalUserVisibilityData from './externalUserDataVisibilityReducer/externalUserDataVisibilityReducer';\r\nimport incompleteSecuritiesSnapshots from './incompleteSecuritiesSnapshotsReducer';\r\n/**\r\n * The parent or root reducer that combines all other reducers to form a single state store\r\n */\r\nconst createRootReducer = () => combineReducers({\r\n arqcActiveChecklist: arqcActiveChecklistReducer,\r\n arqcChecklists: arqcLoadChecklistsReducer,\r\n previousArqcChecklist: arqcPreviousChecklistReducer,\r\n psqActiveChecklist: psqActiveChecklistReducer,\r\n psqChecklists: psqLoadChecklistsReducer,\r\n previousPsqChecklist: psqPreviousChecklistReducer,\r\n checklistFiles: checklistFilesReducer,\r\n checklistList: externalChecklistListReducer,\r\n allowUpdateReportPeriodVisibilityConstraintResult: reportPeriodVisibilityConstraintReducer,\r\n assetDetails,\r\n assetDetailsForYear,\r\n distributionDetails,\r\n incomeDetails,\r\n propertyDetails,\r\n propertyItsi,\r\n deletePropertyDetail,\r\n assetSummary,\r\n form: formReducer,\r\n clients,\r\n client,\r\n allReits,\r\n reits,\r\n externalReits,\r\n reit,\r\n reitsForMO,\r\n period,\r\n periods,\r\n taxableReitSubsidiaries,\r\n isAuthenticated,\r\n availableReportItems,\r\n routing: routerReducer,\r\n securitiesSnapshots,\r\n incomeTestSummary,\r\n distributionTestSummary,\r\n distributionTaxableIncome,\r\n errorResponse,\r\n dismissUsersMessage,\r\n tbUploadSuccess,\r\n properties: properties,\r\n property,\r\n varianceDetails,\r\n externalPsq,\r\n externalArqc,\r\n services,\r\n navigationServices,\r\n files,\r\n testSnapshots,\r\n lastTrialBalance,\r\n lastPropertyTrialBalance,\r\n lastConsolidatedTrialBalance,\r\n finalReport,\r\n fileUploadSuccess,\r\n finalReportUploadSuccess,\r\n oidc: oidcReducer,\r\n pendingTasks,\r\n trialBalanceSummary,\r\n trialBalanceAdjustments,\r\n trialBalanceItems,\r\n trialBalanceItem,\r\n auth,\r\n authorizations,\r\n currentUserAuthorizations,\r\n deletedChecklist,\r\n periodMappings,\r\n periodMappingsBalances,\r\n mapping,\r\n chartOfAccounts,\r\n chartOfAccountsManager,\r\n trialBalanceStatus,\r\n notifications,\r\n showNotifications,\r\n showBulkUploadModal,\r\n uploadProgress,\r\n uploadQueue,\r\n uploadProcesses,\r\n coaDgms,\r\n detailGroupMappings,\r\n processingQueueCount,\r\n authentication,\r\n lastClickedTabChecklistQuestionId,\r\n checklistDeliveryCalendar,\r\n checklistCalendarYears,\r\n authenticationScope,\r\n customQuestionnaire,\r\n psqTemplates,\r\n bulkReportPackages,\r\n bulkReportPackagesETA,\r\n customFdrTemplate,\r\n chartMappings,\r\n lookupTypes,\r\n reitFiles,\r\n manageChecklists,\r\n externalChecklists,\r\n externalChecklistsClients,\r\n checklistCalendarYearsByType,\r\n refreshManageChecklistClient,\r\n customPsqTemplate,\r\n availableQuestion,\r\n createCustomPsqTemplate,\r\n availableQuestionById,\r\n checklistDeliverySchedules,\r\n attachmentDetail,\r\n customPsqTemplateContent,\r\n customPsqTemplateDetails,\r\n questionComments,\r\n checklistsCounter,\r\n discrepanciesDetail,\r\n lastServiceProviderQuestionId,\r\n userProfilePicture,\r\n customQuestionIntentLockUpdateResult,\r\n customQuestionLockStatusResultReducer,\r\n bulkProcessManagementData,\r\n bulkRollForwardData,\r\n themeServices,\r\n dataRetentionManagementData,\r\n dataPurgeUserAcknowledgementHistoryData,\r\n upcomingDataDeletionNoticeData,\r\n featureManagementData,\r\n dataPurgeConfigurationData,\r\n dataDeletionDiagnosticData,\r\n externalUserVisibilityData,\r\n incompleteSecuritiesSnapshots\r\n});\r\n\r\nexport default createRootReducer;","import { configureStore } from '@reduxjs/toolkit';\r\nimport reduxImmutableStateInvariant from 'redux-immutable-state-invariant';\r\nimport createRootReducer from '../reducers';\r\nimport { createBrowserHistory } from 'history';\r\nimport * as actions from '../actions/actionTypes';\r\n\r\n/**\r\n * Configure the state store in production mode by applying middleware and wiring up the {@link rootReducer}.\r\n * This method will only be triggered if process.env.NODE_ENV is set to 'production'. See {@link configureStoreDev}\r\n * @param {Object} initialState The initial state of the store\r\n * @returns {Store} The configured state store\r\n */\r\n\r\nexport const history = createBrowserHistory();\r\n\r\n\r\n/**\r\n * Middleware that handles pending tasks in the Redux store.\r\n * @param {Object} store - The Redux store object.\r\n * @returns {Function} - The middleware function.\r\n */\r\nconst pendingTasksMiddleware = store => next => action => {\r\n // Check if the action type is not TASK_BEGIN, TASK_END, and if action.pendingTasks is defined\r\n if (action.type !== actions.TASK_BEGIN && action.type !== actions.TASK_END && action.pendingTask !== undefined) {\r\n // Dispatch an action to increment or decrement the pending tasks count\r\n store.dispatch({ type: actions.UPDATE_PENDING_TASKS, payload: action.pendingTask });\r\n }\r\n\r\n // Dispatch the action\r\n let result = next(action);\r\n\r\n // Return the result\r\n return result;\r\n};\r\n\r\nfunction configureStoreProd(initialState) {\r\n const store = configureStore({\r\n reducer: createRootReducer(),\r\n middleware: (getDefaultMiddleware) =>\r\n getDefaultMiddleware({ thunk: true }).prepend(pendingTasksMiddleware),\r\n preloadedState: initialState,\r\n });\r\n\r\n return store;\r\n}\r\n\r\n/**\r\n * Configure the state store in development mode by applying middleware and wiring up the {@link rootReducer}.\r\n * This method will be triggered as long as process.env.NODE_ENV is not set to 'production'. See {@link configureStoreProd}\r\n * @param {Object} initialState The initial state of the store\r\n * @returns {Store} The configured state store\r\n */\r\nfunction configureStoreDev(initialState) {\r\n // We are using reduxImmutableStateInvariant middleware in DEV to ensure that the state in Redux remains immutable, preventing accidental mutations.\r\n const immutableStateMiddleware = reduxImmutableStateInvariant({\r\n ignore: ['uploadQueue']\r\n });\r\n\r\n const store = configureStore({\r\n reducer: createRootReducer(),\r\n middleware: (getDefaultMiddleware) =>\r\n getDefaultMiddleware({ thunk: true })\r\n .prepend(immutableStateMiddleware)\r\n .prepend(pendingTasksMiddleware),\r\n preloadedState: initialState,\r\n devTools: window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\r\n });\r\n\r\n if (process.env.NODE_ENV === 'development' && module.hot) {\r\n module.hot.accept('../reducers', () => {\r\n const newRootReducer = require('../reducers').default;\r\n store.replaceReducer(newRootReducer());\r\n })\r\n }\r\n return store;\r\n}\r\n\r\n\r\nexport const store = process.env.NODE_ENV === 'production' ? configureStoreProd() : configureStoreDev();\r\n\r\n","const ua = window.navigator.userAgent;\r\nconst msie = ua.indexOf(\"MSIE \");\r\nconst msie11 = ua.indexOf(\"Trident/\");\r\nconst msedge = ua.indexOf(\"Edge/\");\r\nconst firefox = ua.indexOf(\"Firefox\");\r\nconst isIE = msie > 0 || msie11 > 0;\r\nconst isEdge = msedge > 0;\r\nconst isFirefox = firefox > 0; // Only needed if you need to support the redirect flow in Firefox incognito\r\n\r\nexport const msalConfig = {\r\n auth: {\r\n clientId: process.env.AUTH_CLIENT_ID,\r\n authority: process.env.AUTH_AUTHORITY, // This is a URL (e.g. https://login.microsoftonline.com/{your tenant ID})\r\n redirectUri: `${window.location.protocol}//${window.location.hostname}${window.location.port ? `:${window.location.port}` : ''}/auth`,\r\n postLogoutRedirectUri: `${process.env.AUTH_AUTHORITY}/oauth2/logout`\r\n },\r\n cache: {\r\n cacheLocation: \"sessionStorage\", // This configures where your cache will be stored\r\n storeAuthStateInCookie: isIE || isEdge || isFirefox, // Set this to \"true\" if you are having issues on IE11 or Edge\r\n }\r\n};\r\n\r\n// Add scopes here for ID token to be used at Microsoft identity platform endpoints.\r\nexport const loginRequest = {\r\n scopes: [\"email\", \"user.read\", \"openid\", \"profile\", \"offline_access\"] // `api://${process.env.AUTH_CLIENT_ID}/.default`\r\n};\r\n\r\n // Add the endpoints here for Microsoft Graph API services you'd like to use.\r\n export const graphConfig = {\r\n graphApiV1Root: \"https://graph.microsoft.com/v1.0\"\r\n };\r\n","import urlJoin from 'url-join';\r\nimport 'whatwg-fetch';\r\nimport { PublicClientApplication } from \"@azure/msal-browser\";\r\nimport { store } from '../store/configureStore';\r\nimport { graphConfig } from './../auth/authConfig';\r\n\r\n/**\r\n * Middleware to handle if the response was Ok (2xx HTTP Code), or if we need to throw an Error on a non 2xx.\r\n * NOTE: This doesn't need to be used because of all the other places that manully look for an error response without a catch statement\r\n * @param {any} response The response object returned from fetch.\r\n * @returns {any} The response object that was passed in.\r\n */\r\nconst checkResponseOk = (response) => {\r\n if (response.ok) {\r\n return response;\r\n } else {\r\n throw Error(response.statusText);\r\n }\r\n};\r\n\r\n/**\r\n * Builds the headers sent with requests\r\n * @param {any} init The init object which may contain pre-existing headers.\r\n * @returns {any} An object containing headers.\r\n */\r\nexport function buildHeaders(init = null) {\r\n const token = store.getState().authentication.idToken;\r\n\r\n if (process.env.NODE_ENV !== 'test' && token) {\r\n const defaultHeaders = {\r\n 'Authorization': `Bearer ${token}`\r\n };\r\n\r\n if (init !== undefined && init !== null) {\r\n let headers = init.headers;\r\n if (headers === undefined || headers === null) {\r\n init.headers = defaultHeaders;\r\n } else {\r\n headers.Authorization = `Bearer ${token}`;\r\n init.headers = headers;\r\n }\r\n\r\n return init;\r\n }\r\n\r\n return {\r\n headers: defaultHeaders,\r\n method: \"GET\"\r\n };\r\n } else {\r\n if (init !== undefined && init !== null) {\r\n let headers = init.headers;\r\n if (headers === undefined || headers === null) {\r\n init.headers = new Headers();\r\n }\r\n\r\n return init;\r\n }\r\n }\r\n\r\n return init;\r\n}\r\n\r\n/**\r\n * Builds the headers to be sent with Microsoft Graph API requests\r\n * @param {any} init The init object which may contain pre-existing headers.\r\n * @returns {any} An object containing headers.\r\n */\r\nexport function buildHeadersForMicrosoftGraphApi(init = null) {\r\n const token = store.getState().authentication.accessToken;\r\n\r\n if (process.env.NODE_ENV !== 'test' && token) {\r\n const defaultHeaders = {\r\n 'Authorization': `Bearer ${token}`\r\n };\r\n\r\n return {\r\n headers: defaultHeaders,\r\n method: \"GET\"\r\n };\r\n } else {\r\n if (init !== undefined && init !== null) {\r\n let headers = init.headers;\r\n if (headers === undefined || headers === null) {\r\n init.headers = new Headers();\r\n }\r\n\r\n return init;\r\n }\r\n }\r\n\r\n return init;\r\n}\r\n\r\n/**\r\n * Fetch from the ClientAPI, which uses the root URL specified by the ROOT_CLIENT_API_URL environment variable.\r\n * In the dev environment, this variable is set in webpack.config.dev.js\r\n * @param {string} resource Path to the resource you wish to fetch\r\n * @param {Object} init An options object containing any custom settings that you want to apply to the request. See {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch} for more details.\r\n * @returns {Promise} A promise that resolves to the Response object representing the response to your request.\r\n */\r\nexport function fetchFromClientApi(resource, init = null) {\r\n init = buildHeaders(init);\r\n const rootApiUrl = process.env.ROOT_CLIENT_API_URL;\r\n const fullUrl = urlJoin(rootApiUrl, resource);\r\n\r\n return init ? fetch(fullUrl, init) : fetch(fullUrl);\r\n}\r\n\r\n/**\r\n * Fetch from the ReitAPI, which uses the root URL specified by the ROOT_REIT_API_URL environment variable.\r\n * In the dev environment, this variable is set in webpack.config.dev.js\r\n * @param {string} resource Path to the resource you wish to fetch\r\n * @param {Object} init An options object containing any custom settings that you want to apply to the request. See {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch} for more details.\r\n * @returns {Promise} A promise that resolves to the Response object representing the response to your request.\r\n */\r\nexport function fetchFromReitApi(resource, init = null) {\r\n init = buildHeaders(init);\r\n const rootApiUrl = process.env.ROOT_REIT_API_URL;\r\n const fullUrl = urlJoin(rootApiUrl, resource);\r\n\r\n\r\n return init ? fetch(fullUrl, init) : fetch(fullUrl);\r\n}\r\n\r\n/**\r\n * Fetch from the TrialBalanceAPI, which uses the root URL specified by the ROOT_TB_API_URL environment variable.\r\n * In the dev environment, this variable is set in webpack.config.dev.js\r\n * @param {string} resource Path to the resource you wish to fetch\r\n * @param {Object} init An options object containing any custom settings that you want to apply to the request. See {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch} for more details.\r\n * @returns {Promise} A promise that resolves to the Response object representing the response to your request.\r\n */\r\nexport function fetchFromTrialBalanceApi(resource, init = null) {\r\n init = buildHeaders(init);\r\n const rootApiUrl = process.env.ROOT_TB_API_URL;\r\n const fullUrl = urlJoin(rootApiUrl, resource);\r\n\r\n return init ? fetch(fullUrl, init) : fetch(fullUrl);\r\n}\r\n\r\n/**\r\n * Fetch from the ReportAPI, which uses the root URL specified by the ROOT_REPORT_API_URL environment variable.\r\n * In the dev environment, this variable is set in webpack.config.dev.js\r\n * @param {string} resource Path to the resource you wish to fetch\r\n * @param {Object} init An options object containing any custom settings that you want to apply to the request. See {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch} for more details.\r\n * @returns {Promise} A promise that resolves to the Response object representing the response to your request.\r\n */\r\nexport function fetchFromReportApi(resource, init = null) {\r\n init = buildHeaders(init);\r\n const rootApiUrl = process.env.ROOT_REPORT_API_URL;\r\n const fullUrl = urlJoin(rootApiUrl, resource);\r\n\r\n return init ? fetch(fullUrl, init) : fetch(fullUrl);\r\n}\r\n\r\n/**\r\n * Fetch from the AuthAPI, which uses the root URL specified by the ROOT_REPORT_API_URL environment variable.\r\n * In the dev environment, this variable is set in webpack.config.dev.js\r\n * @param {string} resource Path to the resource you wish to fetch\r\n * @param {Object} init An options object containing any custom settings that you want to apply to the request. See {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch} for more details.\r\n * @returns {Promise} A promise that resolves to the Response object representing the response to your request.\r\n */\r\nexport function fetchFromAuthApi(resource, init = null) {\r\n init = buildHeaders(init);\r\n const rootApiUrl = process.env.ROOT_AUTH_API_URL;\r\n const fullUrl = urlJoin(rootApiUrl, resource);\r\n\r\n return init ? fetch(fullUrl, init) : fetch(fullUrl);\r\n}\r\n\r\n/**\r\n * Fetch from the microsoft Graph API, which uses the root URL specified by the graphConfig.graphApiV1Root constant in authConfig.js.\r\n * The root url is same for all the environments\r\n * @param {string} resource Path to the resource you wish to fetch\r\n * @param {Object} init An options object containing any custom settings that you want to apply to the request. See {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch} for more details.\r\n * @returns {Promise} A promise that resolves to the Response object representing the response to your request.\r\n */\r\nexport function fetchFromV1MicrosoftGraphApi(resource, init = null) {\r\n init = buildHeadersForMicrosoftGraphApi(init);\r\n const rootApiUrl = graphConfig.graphApiV1Root;\r\n const fullUrl = urlJoin(rootApiUrl, resource);\r\n\r\n return init ? fetch(fullUrl, init) : fetch(fullUrl);\r\n}","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from \"./actionTypes\";\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport { fetchFromAuthApi as fetch } from \"./fetchFromApi\";\r\nconst unmanagedResources = [\"Unknown\", \"ArqcChecklist\", \"PsqChecklist\"];\r\nconst unmanagedRoles = [\"Unknown\", \"ExternalTemporaryUser\"];\r\n\r\nconst resource = {\r\n /// \r\n /// An undetermined resource\r\n /// \r\n \"Unknown\": 0,\r\n\r\n /// \r\n /// A system resource\r\n /// \r\n \"System\": 1,\r\n\r\n /// \r\n /// A client resource\r\n /// \r\n \"Client\": 2,\r\n\r\n /// \r\n /// A PSQ checklist resource\r\n /// \r\n \"PsqChecklist\": 3,\r\n\r\n /// \r\n /// An ARQC checklist resource\r\n /// \r\n \"ArqcChecklist\": 4\r\n};\r\n\r\nconst role = {\r\n /// \r\n /// An undetermined role\r\n /// \r\n \"Unknown\": 0,\r\n\r\n /// \r\n /// The administrator role\r\n /// \r\n \"Administrator\": 1,\r\n\r\n /// \r\n /// The user role\r\n /// \r\n \"User\": 2,\r\n\r\n /// \r\n /// The external user role with access which expires\r\n /// \r\n \"ExternalTemporaryUser\": 3,\r\n\r\n /// \r\n /// The external user role with access which does NOT expire\r\n /// \r\n \"ExternalPermanentUser\": 4\r\n};\r\n\r\nexport { unmanagedResources };\r\nexport { unmanagedRoles };\r\nexport { resource };\r\nexport { role };\r\n\r\n/**\r\n * Gets the authorize resource.\r\n * @param {any} resource The resource\r\n * @param {any} resourceId The resource ID\r\n * @param {any} role The role\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function fetchAuthorizeResource(resource, resourceId, role) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n let url = '/authorize?';\r\n url += `&resource=${resource}`;\r\n url += `&resourceId=${resourceId}`;\r\n url += `&role=${role}`;\r\n\r\n return fetch(url).then(response => {\r\n return response.json();\r\n }).then(authorization => {\r\n if (actionHelpers.isErrorResponse(authorization)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_AUTHORIZATION_RESOURCE_FAILURE, authorization);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_AUTHORIZATION_RESOURCE_SUCCESS, authorization, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_AUTHORIZATION_RESOURCE_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Gets managed resources\r\n * @returns {any} A function that returns a Promise\r\n */\r\nexport function fetchManagedResources() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n let url = '/authorization/resources/managed';\r\n\r\n return fetch(url).then(response => {\r\n return response.json();\r\n }).then(managedResources => {\r\n if (actionHelpers.isErrorResponse(managedResources)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_MANAGED_RESOURCES_FAILURE, managedResources);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_MANAGED_RESOURCES_SUCCESS, managedResources, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_MANAGED_RESOURCES_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Get unmanaged resources\r\n * @returns {any} A function that returns a Promise\r\n */\r\nexport function fetchUnmanagedResources() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n let url = '/authorization/resources/unmanaged';\r\n\r\n return fetch(url).then(response => {\r\n return response.json();\r\n }).then(unmanagedResources => {\r\n if (actionHelpers.isErrorResponse(unmanagedResources)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_UNMANAGED_RESOURCES_FAILURE, unmanagedResources);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_UNMANAGED_RESOURCES_SUCCESS, unmanagedResources, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_UNMANAGED_RESOURCES_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Retrieve managed roles.\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function fetchManagedRoles() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n let url = '/authorization/roles/managed';\r\n\r\n return fetch(url).then(response => {\r\n return response.json();\r\n }).then(managedRoles => {\r\n if (actionHelpers.isErrorResponse(managedRoles)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_MANAGED_ROLES_FAILURE, managedRoles);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_MANAGED_ROLES_SUCCESS, managedRoles, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_MANAGED_ROLES_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Retrieve unmanaged roles\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function fetchUnmanagedRoles() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n let url = '/authorization/roles/unmanaged';\r\n\r\n return fetch(url).then(response => {\r\n return response.json();\r\n }).then(unmanagedRoles => {\r\n if (actionHelpers.isErrorResponse(unmanagedRoles)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_UNMANAGED_ROLES_FAILURE, unmanagedRoles);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_UNMANAGED_ROLES_SUCCESS, unmanagedRoles, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_UNMANAGED_ROLES_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Retrieve authorizations\r\n * @param {any} userId The user ID.\r\n * @param {any} resource The resource.\r\n * @param {any} resourceId The resource ID.\r\n * @param {any} role The role.\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function fetchAuthorizations(userId, resource, resourceId, role) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n let url = '/authorization?';\r\n url += `resource=${resource}`;\r\n if (userId) { url += `&userId=${userId}`; }\r\n if (resourceId) { url += `&resourceId=${resourceId}`; }\r\n if (role) { url += `&role=${role}`; }\r\n\r\n return fetch(url).then(response => {\r\n return response.json();\r\n }).then(authorizations => {\r\n if (actionHelpers.isErrorResponse(authorizations)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_AUTHORIZATIONS_FAILURE, authorizations);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_AUTHORIZATIONS_SUCCESS, authorizations, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_AUTHORIZATIONS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Retrieve the authorizations for the user.\r\n * @param {any} userId The user ID.\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function fetchAuthorizationsForCurrentUser(userId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n let url = `/authorization?userId=${userId}`;\r\n return fetch(url).then(response => {\r\n return response.json();\r\n }).then(authorizations => {\r\n if (actionHelpers.isErrorResponse(authorizations)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CURRENT_USER_AUTHORIZATIONS_FAILURE, authorizations);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_CURRENT_USER_AUTHORIZATIONS_SUCCESS, authorizations, [pendingTask]: end });\r\n return authorizations;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CURRENT_USER_AUTHORIZATIONS_FAILURE, null, error);\r\n });\r\n };\r\n\r\n}\r\n\r\n/**\r\n * Get the authorization by ID.\r\n * @param {any} id The ID of the authorization to fetch.\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function fetchAuthorization(id) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n let url = `/authorization/${id}`;\r\n\r\n return fetch(url).then(response => {\r\n return response.json();\r\n }).then(authorization => {\r\n if (actionHelpers.isErrorResponse(authorization)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_AUTHORIZATION_FAILURE, authorization);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_AUTHORIZATION_SUCCESS, authorization, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_AUTHORIZATION_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n\r\n/**\r\n * Get the authorization by ID.\r\n * @param {any} id The ID of the authorization to fetch.\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function getMyEyUserByEmail(email) {\r\n let url = `/myEy/getUserByEmail?email=${email}`;\r\n\r\n return fetch(url).then(response => {\r\n return response.json();\r\n });\r\n}\r\n\r\n/**\r\n * Create a new authorization\r\n * @param {any} authorization The authorization to create.\r\n * @returns {any} A Promise.\r\n */\r\nexport function createAuthorization(authorization) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch('/authorization',\r\n {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(authorization)\r\n }).then(response => {\r\n return response.json();\r\n }).then(authorization => {\r\n if (actionHelpers.isErrorResponse(authorization)) {\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n throw (authorization);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_AUTHORIZATION_SUCCESS, authorization, [pendingTask]: end });\r\n return authorization;\r\n }\r\n ).catch((error) => {\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Update an authorization\r\n * @param {any} authUpdate The authorization to update.\r\n * @returns {any} A Promise.\r\n */\r\nexport function updateAuthorization(authUpdate) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/authorization/${authUpdate.id}`,\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"PUT\",\r\n body: JSON.stringify(authUpdate)\r\n }).then(response => {\r\n return response.json();\r\n }).then(authUpdate => {\r\n if (actionHelpers.isErrorResponse(authUpdate)) {\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n throw (authUpdate);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_AUTHORIZATION_SUCCESS, authUpdate, [pendingTask]: end });\r\n return authUpdate;\r\n }\r\n ).catch((error) => {\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Remove authorization of resource by id\r\n * @param {GUID} id The ID of the authorization to remove.\r\n * @returns {any} A Promise\r\n */\r\nexport function removeAuthorization(id) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(\r\n `/authorization/${id}`,\r\n { headers: {\r\n 'Accept':\r\n \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"DELETE\",\r\n } )\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then((response) => {\r\n const jsonResponse = response ? JSON.parse(response) : {}; \r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_AUTH_FAILURE,\r\n jsonResponse\r\n );\r\n }\r\n \r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_AUTH_FAILURE,\r\n null,\r\n error\r\n );\r\n \r\n });\r\n };\r\n }\r\n \r\n\r\n/**\r\n * Fetch allowed domains for authorizations.\r\n * @returns {any} A Promise with an array of services, or an error response if unsuccessful.\r\n */\r\nexport function fetchAllowedAuthorizationDomains() {\r\n return fetch('/authorization/allowedDomains').then(response => {\r\n return response.json();\r\n });\r\n}\r\n\r\n/**\r\n * Filter active authorizations from an array of authorizations\r\n * @param {any} allAuthorizations An array of authorizations to filter.\r\n * @returns {Array} An array of active authorizations.\r\n */\r\nexport function getActiveAuthorizations(allAuthorizations) {\r\n if (!Array.isArray(allAuthorizations)) {\r\n return allAuthorizations;\r\n }\r\n\r\n return allAuthorizations.filter(item => {\r\n if (!item.expiration) {\r\n return true;\r\n }\r\n\r\n const exDate = new Date(item.expiration);\r\n const today = new Date();\r\n\r\n if (exDate.getTime() > today.getTime()) {\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n}\r\n\r\n/**\r\n * Determine if any of the authorizations in an array belong to a System Administrator\r\n * @param {any} authorizations The array of authorizations.\r\n * @returns {bool} True if any of the authorizations belong to a System Administrator, otherwise false.\r\n */\r\nexport function isSystemAdministrator(authorizations) {\r\n return hasMatchingAuthorization(authorizations, 1, 1);\r\n}\r\n\r\n/**\r\n * Determine if any of the authorizations in an array belong to a Engagement Administrator\r\n * @param {any} authorizations The array of authorizations.\r\n * @param {any} clientId The client ID.\r\n * @returns {bool} True if any of the authorizations belong to an Engagement Administrator, otherwise false.\r\n */\r\nexport function isEngagementAdministrator(authorizations, clientId) {\r\n return hasMatchingAuthorization(authorizations, 2, 1, clientId);\r\n}\r\n/**\r\n * Determine if any of the authorizations in an array belong to a Engagement Administrator and a Data Steward\r\n * @param {any} authorizations The array of authorizations.\r\n * @param {any} clientId The client ID.\r\n * @returns {bool} True if any of the authorizations belong to an Engagement Administrator and a Data Steward, otherwise false.\r\n */\r\nexport function isEngagementAdministratorAndDataSteward(authorizations, clientId) {\r\n return hasMatchingAuthorizationAndDataSteward(authorizations, 2, 1, clientId);\r\n}\r\n/**\r\n * Determine if any of the authorizations in an array belong to a User\r\n * @param {any} authorizations The array of authorizations.\r\n * @param {any} clientId The client ID.\r\n * @returns {bool} True if any of the authorizations belong to a User, otherwise false.\r\n */\r\nexport function isUser(authorizations, clientId) {\r\n return hasMatchingAuthorization(authorizations, resource.Client, role.User, clientId);\r\n}\r\n\r\n/**\r\n * Determines if any of the authorizations in an array match the resource, role, and resource ID.\r\n * @param {any} authorizations The array of authorizations.\r\n * @param {any} resource The resource\r\n * @param {any} role The role\r\n * @param {any} resourceId The resource ID\r\n * @returns {bool} True if any of the authorizations match, otherwise false.\r\n */\r\nexport function hasMatchingAuthorization(authorizations, resource, role, resourceId) {\r\n if (!Array.isArray(authorizations)) {\r\n return false;\r\n }\r\n\r\n const activeAuthorizations = getActiveAuthorizations(authorizations);\r\n for (let i = 0; i < activeAuthorizations.length; i++) {\r\n let item = activeAuthorizations[i];\r\n if (item.resource === resource && item.role === role) {\r\n if (resourceId) {\r\n if (item.resourceId === resourceId.toString()) {\r\n return true;\r\n }\r\n\r\n continue;\r\n }\r\n\r\n // only if both resourceId fields are null and resource and role are equal\r\n // then this qualifies as a matching authorization\r\n if (!item.resourceId) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/// Set client id to show refresh message on Manage Checklist section for that particular client\r\nexport function refreshManageChecklistClient(clientId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.REFRESH_MANAGE_CHECKLIST_CLIENT, clientId});\r\n };\r\n}\r\n\r\n/**\r\n * Determines if any of the authorizations in an array match the resource, role, and resource ID.\r\n * @param {any} authorizations The array of authorizations.\r\n * @param {any} resource The resource\r\n * @param {any} role The role\r\n * @param {any} resourceId The resource ID\r\n * @returns {bool} True if any of the authorizations and a DataSteward match, otherwise false.\r\n */\r\nexport function hasMatchingAuthorizationAndDataSteward(authorizations, resource, role, resourceId) {\r\n if (!Array.isArray(authorizations)) {\r\n return false;\r\n }\r\n\r\n const activeAuthorizations = getActiveAuthorizations(authorizations);\r\n for (let i = 0; i < activeAuthorizations.length; i++) {\r\n let item = activeAuthorizations[i];\r\n if (item.resource === resource && item.role === role) {\r\n if (resourceId) {\r\n if (item.resourceId === resourceId.toString()) {\r\n if(item.isDataSteward == true)\r\n {\r\n return true;\r\n }\r\n }\r\n\r\n continue;\r\n }\r\n\r\n // only if both resourceId fields are null and resource and role are equal\r\n // then this qualifies as a matching authorization\r\n if (!item.resourceId) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n","export const POLL_INTERVAL = process.env.POLL_INTERVAL;\r\nexport const NOTIFICATIONS_POLL_INTERVAL =\r\n process.env.NOTIFICATIONS_POLL_INTERVAL;\r\nexport const MAX_UPLOAD_PROCESSES = process.env.MAX_UPLOAD_PROCESSES;\r\n\r\nexport const FILE_PROPERTIES = [\r\n \"lastModified\",\r\n \"lastModifiedDate\",\r\n \"name\",\r\n \"path\",\r\n \"preview\",\r\n \"size\",\r\n \"type\",\r\n \"webkitRelativePath\",\r\n];\r\n\r\nexport const RejectedEyDomain = \"ey.com\";\r\nexport const RejectedOtherEYDomain = \".ey.com\";\r\nexport const prePopulateOptions = [\r\n { key: 0, text: \"No / No\", value: 2 },\r\n { key: 1, text: \"No / Yes\", value: 0 },\r\n { key: 2, text: \"Yes / Yes\", value: 1 },\r\n];\r\n\r\nexport const deleteAvailableQuestionMessage = [\r\n \"This will remove the ability to add this question to any template.\",\r\n \"This will also delete the question from other template(s) that's currently using it.\",\r\n \"This will not remove the question from an existing checklist that's currently using it.\",\r\n];\r\n\r\nexport const deleteAvailableParentQuestionMessage = [\r\n \"This will delete the questions under this question.\",\r\n \"This will remove the ability to add this question/child questions to any template.\",\r\n \"This will also delete the question from other template(s) that's currently using it.\",\r\n \"This will not remove the question from an existing checklist that's currently using it.\",\r\n];\r\n\r\nexport const defaultPrepopulateAnswer = 2;\r\nexport const invalidEmailCreateChecklistHeader =\r\n \"Information on Client Recipients\";\r\nexport const invalidEmailAddUserHeader = \"Information on Checklist Recipients\";\r\n\r\nexport const rollForwardQuestionComment = [\r\n { key: 1, text: \"No / No\", value: 4 },\r\n { key: 2, text: \"No / Yes\", value: 1 },\r\n { key: 3, text: \"Yes / No\", value: 2 },\r\n { key: 4, text: \"Yes / Yes\", value: 3 },\r\n];\r\n\r\nexport const reportPeriodQuarter = [\r\n { key: \"Q1\", text: \"Q1\", value: \"Q1\" },\r\n { key: \"Q2\", text: \"Q2\", value: \"Q2\" },\r\n { key: \"Q3\", text: \"Q3\", value: \"Q3\" },\r\n { key: \"Q4\", text: \"Q4\", value: \"Q4\" },\r\n];\r\n\r\nexport const reportPackagesGroupBy = {\r\n 1: \"REIT\",\r\n 2: \"REPORT_PERIOD\",\r\n 3: \"FILE_TYPE\",\r\n};\r\n\r\nexport const reportPackagesGroupByValues = {\r\n 1: \"REIT\",\r\n 2: \"Report Period\",\r\n 3: \"Report Type\",\r\n};\r\n\r\nexport const reportPackagesFileType = {\r\n ConsolidatedMappings: 1,\r\n REITTrialBalance: 2,\r\n PropertyTrialBalance: 3,\r\n TestSnapshotFileperREIT: 4,\r\n TestSnapshotSingleExcelforselectedREITs: 5,\r\n PSQChecklistsWithAnswersOnlyMSWord: 6,\r\n PSQChecklistsWithAnswersOnlyPDF: 7,\r\n PSQChecklistsWithAnswersandCommentsMSWord: 8,\r\n PSQChecklistsWithAnswersandCommentsPDF: 9,\r\n PSQChecklistsWithoutAnswersorCommentsMSWord: 10,\r\n PSQChecklistsWithoutAnswersorCommentsPDF: 11,\r\n PSQChecklistsIncludeChecklistAttachmentsasSeparateFiles: 12,\r\n ARQChecklistsWithAnswersOnlyMSWord: 13,\r\n ARQChecklistsWithAnswersOnlyPDF: 14,\r\n ARQChecklistsWithAnswersandCommentsMSWord: 15,\r\n ARQChecklistsWithAnswersandCommentsPDF: 16,\r\n ARQChecklistsWithoutAnswersorCommentsMSWord: 17,\r\n ARQChecklistsWithoutAnswersorCommentsPDF: 18,\r\n ARQChecklistsIncludeChecklistAttachmentsasSeparateFiles: 19,\r\n FinalDeliveryReportStandardTemplateMSWord: 20,\r\n FinalDeliveryReportStandardTemplatePDF: 21,\r\n FinalDeliveryReportCustomTemplateMSWord: 22,\r\n FinalDeliveryReportCustomTemplatePDF: 23,\r\n FinalDeliveryReportAssignedDefaultsMSWord: 24,\r\n FinalDeliveryReportAssignedDefaultsPDF: 25,\r\n GeneralandOtherFiles: 26,\r\n UserUploadedFinalReport: 27,\r\n LeadSheet: 28,\r\n REITGeneralFiles: 29,\r\n};\r\n\r\nexport const defaultRollFowardQuestionComment = 0;\r\nexport const defaultRollFowardQuestionAttachment = 0;\r\n\r\nexport const defaultRollFowardValue = 4;\r\n\r\nexport const MAX_UPLOAD_FILE_SIZE_IN_BYTES = 104857600;\r\nexport const MAX_UPLOAD_FILE_SIZE_IN_MB =\r\n MAX_UPLOAD_FILE_SIZE_IN_BYTES / (1024 * 1024);\r\n\r\nexport const bulkProcessManagementMessages = {\r\n toolTipMessage:\r\n \"You have not selected any REIT(s) in order to perform this action.\",\r\n};\r\n\r\nexport const updateSignOffStatusAction = [\r\n {\r\n key: \"closeTesting\",\r\n text: \"Close Testing\",\r\n value: \"2\",\r\n action: \"TestingClosed\",\r\n type: \"close\",\r\n },\r\n {\r\n key: \"closeReporting\",\r\n text: \"Close Reporting\",\r\n value: \"3\",\r\n action: \"ReportingClosed\",\r\n type: \"close\",\r\n },\r\n {\r\n key: \"closePeriod\",\r\n text: \"Close Period\",\r\n value: \"4\",\r\n action: \"Complete\",\r\n type: \"close\",\r\n },\r\n {\r\n key: \"reopenPeriod\",\r\n text: \"Reopen Period\",\r\n value: \"5\",\r\n action: \"ReportingClosed\",\r\n type: \"reopen\",\r\n },\r\n {\r\n key: \"reopenToReporting\",\r\n text: \"Reopen to Reporting\",\r\n value: \"6\",\r\n action: \"TestingClosed\",\r\n type: \"reopen\",\r\n },\r\n {\r\n key: \"reopenToTesting\",\r\n text: \"Reopen to Testing\",\r\n value: \"7\",\r\n action: \"InProgress\",\r\n type: \"reopen\",\r\n },\r\n];\r\nexport const defaultSelectedServiceScope = [\"Asset Testing\"];\r\nexport const emptySelectedServiceScope = [\"None\"];\r\nexport const dataRetentionNoPermissionMessage ='You do not have the required permissions to perform this action.';\r\nexport const dataRetentionNoRowSelectionMessage= 'You have not selected any REIT/Report Period to perform this action.';\r\nexport const dataRetentionMessageForApprove= 'The REIT/Report Period you have selected is not available for approval.';\r\nexport const dataRetentionMessageForUnApprove= 'The REIT/Report Period you have selected is not available for unapproval.';\r\nexport const dataRetentionMessageForException= 'The REIT/Report Period you have selected cannot be approved for exception.';\r\nexport const dataRetentionMessageForRemoveException= 'The REIT/Report Period you have selected is not approved for exception.';\r\nexport const deactivateClientConfirmationMessage=\"This client has report periods that have not been approved for deletion as per Data Retention Policy. Please approve these for deletion before proceeding with client inactivation.\";\r\nexport const clientSwitchingConfirmationMessage=\"Changing the client type will update the data retention period to reflect the new type (2 years for Audit, 5 years for Tax). The scheduled deletion date for this client's data will be reset. Do you want to proceed with changing the client type?\";\r\nexport const clientSwitchingErrorMessage=\"Client type cannot be changed. This client is currently in the data deletion cycle.\";\r\n\r\nexport const dataRetentionManagementApprovalCompletedHeader= 'Approvals Completed';\r\nexport const dataRetentionManagementApprovalCompletedBodyOne= 'All required approvals for data deletion have been successfully provided. You now have full access to the client details as regularly.';\r\nexport const dataRetentionManagementApprovalCompletedBodyTwo= 'You are being redirected to the REITs dashboard for the client.';\r\n\r\nexport const dataRetentionManagementApprovedActionId = 1;\r\nexport const dataRetentionManagementApproveActionId = 4;\r\nexport const dataRetentionManagementUnApproveActionId = 5;\r\nexport const dataRetentionManagementApproveExceptionActionId = 7;\r\nexport const dataRetentionManagementRemoveExceptionActionId = 8;\r\nexport const dataStewardAssignmentWarningHeader='Data Steward Assignment Required';\r\nexport const dataStewardAssignmentWarningBody = 'Warning: Access Restricted! There is currently no Data Steward assigned to this client. Please notify an Engagement Admin to appoint a Data Steward. Your access to this client\\'s info will be limited until the assignment is complete.';\r\nexport const dataStewardDeletionWarningHeader='Data Steward Assignment Required';\r\nexport const dataStewardDeletionWarningBody = 'Warning: Action Blocked! This action cannot be completed because it would result in no Data Steward assigned to this client. As per Data Retention policy, it is mandatory for a client to always have at least one Data Steward. Please assign a Data Steward before attempting this action again.';\r\n\r\nexport const DataPurgeConfigurationParameter_ARQC= 'Data Retention Period for Audit - ARQC Checklist Only Clients';\r\nexport const DataPurgeConfigurationParameter_Regular = 'Data Retention Period for Regular Clients';\r\nexport const dataDeletionNoRowSelectionMessage= 'Please select at least one record from the table to enable the \\'Run Data Deletion\\' button.';\r\nexport const maximumNumberofDataStewardsAllowed= 'Maximum Number of Data Stewards Allowed';\r\nexport const DEFAULT_DOCUMENT_TRANSFER_REMINDER_START_DATE = '01-01';\r\nexport const DEFAULT_DOCUMENT_TRANSFER_REMINDER_END_DATE = '09-30';\r\nexport const DEFAULT_UPCOMING_DATA_DELETION_NOTICE_START_DATE = '01-01';\r\nexport const DEFAULT_UPCOMING_DATA_DELETION_NOTICE_END_DATE_ADDNL_DAYS = 0;\r\nexport const REMINDER_TO_SAVE_FILE_OUTSIDE = 'Reminder to save files outside of REITSuite';\r\nexport const UPCOMING_DATA_DELETION_NOTICE = 'Upcoming Data Deletion Notice';\r\nexport const SUB_ATTRIBUTE = 'AO300'; // dummy valuers needs to be updated once, all database change has been completed\r\nexport const REMINDER_START_DATE_PARAMETER = 'Reminder to save files outside of REITSuite - Start Date (MM-DD)';\r\nexport const REMINDER_END_DATE_PARAMETER = 'Reminder to save files outside of REITSuite - End Date (MM-DD)';\r\nexport const UPCOMING_DATA_DELETION_NOTICE_START_DATE_PARAMETER = 'Upcoming Data Deletion Notice - Start Date (MM-DD)';\r\nexport const UPCOMING_DATA_DELETION_NOTICE_END_DATE_PARAMETER = 'Upcoming Data Deletion Notice - End Date - Additional days after Scheduled Deletion Date';\r\nexport const DELETION_STATUSES = {\r\n APPROVED: 'Approved',\r\n EXCEPTION: 'Exception',\r\n IN_PROGRESS: 'In Progress',\r\n DELETED: 'Deleted',\r\n FAILED: 'Failed'\r\n};\r\n\r\n","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from \"./actionTypes\";\r\nimport { fetchFromClientApi as fetch } from \"./fetchFromApi\";\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport * as Constants from '../constants/other';\r\n\r\nlet notificationInterval = null;\r\n\r\n/**\r\n * Adds or updates notifications and the retrieves the notifications for a user.\r\n * @param {any} notifications The notifications.\r\n * @param {any} userName The user to retrieve notifications for.\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function addOrUpdateNotifications(notifications, userName) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(\"/notifications\",\r\n {\r\n headers: {\r\n 'Accept': \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify(notifications)\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n } else {\r\n return response.json();\r\n }\r\n }).then(data => {\r\n if (data) {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.ADD_NOTIFICATIONS_FAILURE, data);\r\n return false;\r\n } else {\r\n dispatch({ type: actions.ADD_NOTIFICATIONS_SUCCESS, [pendingTask]: end });\r\n if (userName) {\r\n getNotifications(dispatch, userName);\r\n }\r\n return true;\r\n }\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.ADD_NOTIFICATIONS_FAILURE, null, error);\r\n return false;\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Get notifications for a user.\r\n * @param {any} dispatch The dispatch.\r\n * @returns {any} A Promise.\r\n */\r\nexport function getNotifications(dispatch) { \r\n return fetch(`/notifications`)\r\n .then(response => {\r\n if (response.ok) {\r\n return response.json();\r\n } \r\n\r\n return null;\r\n }).then(data => {\r\n if (Array.isArray(data)) {\r\n for (let i = 0; i < data.length; i++) {\r\n if (data[i].notificationContent) {\r\n data[i].notificationContent = JSON.parse(data[i].notificationContent);\r\n if (data[i].notificationContent && data[i].notificationContent.message) {\r\n // Replace \\\\u0026 with ampersand\r\n data[i].notificationContent.message = data[i].notificationContent.message.replaceAll('\\\\u0026', '&');\r\n }\r\n }\r\n }\r\n\r\n dispatch({ type: actions.GET_NOTIFICATIONS_SUCCESS, notifications: data });\r\n } \r\n });\r\n}\r\n\r\n/**\r\n * Remove all notifications for a user.\r\n * @param {any} userName The username of the user to clear notifications for.\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function clearAllNotifications(userName) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/notifications?userName=${userName}`, {\r\n method: \"DELETE\"\r\n }).then(response => {\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n getNotifications(dispatch, userName);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Remove a single notification for a user.\r\n * @param {any} id The ID of the notification to clear.\r\n * @param {any} userName The username of the notification to clear.\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function clearNotification(id, userName) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/notifications/${id}`, {\r\n method: \"DELETE\"\r\n }).then(response => {\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n getNotifications(dispatch, userName);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Repeatedly fetch notifications at a configured interval. The interval is configured in the NOTIFICATIONS_POLL_INTERVAL environment variable and defaults to 5000 (5 seconds).\r\n * @param {any} dispatch The dispatch.\r\n * @param {any} userName The username of the user to get notifications for.\r\n * @returns {void} None\r\n */\r\nexport function pollNotifications(dispatch, userName) {\r\n getNotifications(dispatch, userName);\r\n notificationInterval = setInterval(function() { getNotifications(dispatch, userName); }, Constants.NOTIFICATIONS_POLL_INTERVAL);\r\n}\r\n\r\n/**\r\n * Toggle the display of the notifications side bar.\r\n * @returns {any} A functon that has no return value.\r\n */\r\nexport function toggleNotificationsDisplay() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TOGGLE_NOTIFICATIONS_DISPLAY });\r\n };\r\n}\r\n\r\n/**\r\n * Stop polling for notifications\r\n * @returns {void} None\r\n */\r\nexport function stopNotificationPolling() {\r\n if (notificationInterval !== undefined && notificationInterval !== null) {\r\n clearInterval(notificationInterval);\r\n notificationInterval = null;\r\n }\r\n}","export const download = (blob, fileName) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const a = document.createElement(\"a\");\r\n\r\n document.body.appendChild(a);\r\n a.style = \"display: none\";\r\n a.href = url;\r\n\r\n var ext = fileName.substr(fileName.lastIndexOf('.') + 1);\r\n var name = fileName.substr(0, fileName.lastIndexOf('.')); \r\n \r\n name = (name.replace(/[/\\\\\":*?<>|]/g,'')).replace(/_{2,}/g,'_');\r\n ext = (ext.replace(/[/\\\\\":*?<>|]/g,'')).replace(/_{2,}/g,'_');\r\n\r\n name = name.replace(/_{2,}/g,'_');\r\n ext = ext.replace(/_{2,}/g,'_');\r\n \r\n name = name.indexOf('_') == 0 ? name.substring(1) : name;\r\n ext = ext.indexOf('_') == 0 ? ext.substring(1) : ext;\r\n \r\n ext = ext.replace(/_\\s*$/,\"\");\r\n\r\n var fN = name+\".\"+ext;\r\n\r\n fN = truncateFileNameToAGivenCharacterLengthWithExtension(fN, 200);\r\n \r\n a.download = fN;\r\n a.rel = 'noopener';\r\n document.body.appendChild(a);\r\n setTimeout(() => a.click(), 0);\r\n a.parentNode.removeChild(a);\r\n setTimeout(() => window.URL.revokeObjectURL(url), 40000); \r\n}\r\n\r\nexport function decodeURIComponentSafe(uri, mod) {\r\n var out = new String(),\r\n arr,\r\n i = 0,\r\n l,\r\n x;\r\n typeof mod === \"undefined\" ? mod = 0 : 0;\r\n arr = uri.split(/(%(?:d0|d1)%.{2})/);\r\n for (l = arr.length; i < l; i++) {\r\n try {\r\n x = decodeURIComponent(arr[i]);\r\n } catch (e) {\r\n x = mod ? arr[i].replace(/%(?!\\d+)/g, '%25') : arr[i];\r\n }\r\n out += x;\r\n }\r\n return out;\r\n}\r\n\r\n/* Truncate fileName string to length mentioned in parameter maxLength\r\ne.g. If max length parameter value is 200 then fileName(with extension) string is truncated to 200 characters. */\r\nexport const truncateFileNameToAGivenCharacterLengthWithExtension = (originalFileName, maxlength) => {\r\n const [fileName, fileExtension] = originalFileName.split(/\\.(?=[^\\.]+$)/);\r\n\r\n if (fileName.length <= (maxlength - (fileExtension.length + 1))) {\r\n return originalFileName;\r\n } else {\r\n return fileName.substring(0, (maxlength - (fileExtension.length + 1))) + '.' + fileExtension;\r\n }\r\n}\r\n\r\n\r\n","import { pendingTask, begin, end, endAll } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport {\r\n fetchFromTrialBalanceApi as fetch,\r\n buildHeaders,\r\n} from './fetchFromApi';\r\nimport { download, decodeURIComponentSafe } from '../scripts/fileHelpers';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport * as notificationActions from './notificationActions';\r\nimport urlJoin from 'url-join';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\n/**\r\n * Upload a trial balance file\r\n * @param {any} periodId The id of the REIT that the trial balance belongs to\r\n * @param {any} type The trial balance type (Raw or Adjusted)\r\n * @param {any} file The trial balance file\r\n * @param {any} trialBalancePurpose The trial balance purpose (Reit = 1 or Property = 2)\r\n * @param {any} propertyId The trial balance property ID\r\n * @param {any} percentageOfOwnership The percentage of ownership\r\n * @param {any} uploadId The upload ID\r\n * @returns {function} A function that returns a Promise\r\n */\r\nexport function uploadTrialBalance(\r\n periodId,\r\n type,\r\n file,\r\n trialBalancePurpose,\r\n propertyId,\r\n percentageOfOwnership,\r\n uploadId,\r\n clientId\r\n) {\r\n let formData = new FormData();\r\n formData.append('periodId', periodId);\r\n formData.append('trialBalanceType', type);\r\n formData.append('file', file);\r\n formData.append('trialBalancePurpose', trialBalancePurpose);\r\n formData.append('uploadId', uploadId);\r\n formData.append('clientId', clientId);\r\n if (!percentageOfOwnership) {\r\n percentageOfOwnership = 100.0;\r\n }\r\n formData.append('percentageOfOwnership', percentageOfOwnership * 1);\r\n if (propertyId > 0) {\r\n formData.append('propertyId', propertyId);\r\n }\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch('/trialBalances', {\r\n method: 'POST',\r\n body: formData,\r\n })\r\n .then(response => {\r\n if (response.status === 201) {\r\n dispatch({ type: actions.UPLOAD_TB_SUCCESS, [pendingTask]: end });\r\n return null;\r\n }\r\n\r\n return response.json();\r\n })\r\n .then(response => {\r\n if (response === null) {\r\n return;\r\n }\r\n\r\n if (actionHelpers.isErrorResponse(response)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPLOAD_TB_FAILURE,\r\n response,\r\n );\r\n }\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPLOAD_TB_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Gets a single trial balance item by it's ID\r\n * @param {any} id The item id\r\n * @returns {any} A promise\r\n */\r\nexport function getTrialBalanceItem(id) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch('/trialBalances/item/' + id)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(trialBalanceItem => {\r\n if (actionHelpers.isErrorResponse(trialBalanceItem)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_TB_ITEM_FAILURE,\r\n trialBalanceItem,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_TB_ITEM_SUCCESS,\r\n trialBalanceItem,\r\n [pendingTask]: end,\r\n });\r\n return trialBalanceItem;\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_TB_ITEM_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Dispatches the UPLOAD_TB_CLEAR action\r\n * @returns {function} A function that dispatches the UPLOAD_TB_CLEAR action\r\n */\r\nexport function clearUploadTbSuccess() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.UPLOAD_TB_CLEAR });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch a list of trial balances by report period\r\n * @param {number} reportPeriodId The id of the report period\r\n * @param {any} trialBalanceType The trial balance type\r\n * @param {any} trialBalancePurpose The trial balance purpose\r\n * @param {number} propertyId The property ID\r\n * @param {any} authHeader The auth header\r\n * @returns {array} An array of trial balances\r\n */\r\nexport function getTrialBalancesByPeriod(\r\n reportPeriodId,\r\n trialBalanceType,\r\n trialBalancePurpose,\r\n propertyId,\r\n authHeader,\r\n) {\r\n let url = '/trialBalances?periodId=' + reportPeriodId;\r\n if (trialBalanceType) {\r\n url += '&type=' + trialBalanceType;\r\n }\r\n if (trialBalancePurpose) {\r\n url += '&purpose=' + trialBalancePurpose;\r\n }\r\n if (propertyId > 0) {\r\n url += '&propertyid=' + propertyId;\r\n }\r\n\r\n return fetch(url, {\r\n headers: (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .catch(error => {\r\n throw error;\r\n });\r\n}\r\n\r\n/**\r\n * Gets the last trial balance by period\r\n * @param {number} reportPeriodId The period ID\r\n * @param {any} purpose The trial balance purpose\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function getLastTrialBalanceByPeriod(reportPeriodId, purpose) {\r\n if (!purpose) {\r\n purpose = 'consolidated';\r\n }\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return getTrialBalancesByPeriod(reportPeriodId, 'adjusted', purpose)\r\n .then(trialBalances => {\r\n if (actionHelpers.isErrorResponse(trialBalances)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_LAST_TRIAL_BALANCE_FAILURE,\r\n trialBalances,\r\n );\r\n }\r\n let lastTrialBalance = trialBalances\r\n .sort((a, b) => new Date(b.entryDate) - new Date(a.entryDate))\r\n .find(x => true);\r\n dispatch({\r\n type: actions.LOAD_LAST_TRIAL_BALANCE_SUCCESS,\r\n lastTrialBalance: lastTrialBalance,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_LAST_TRIAL_BALANCE_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Gets the last consolidated trial balance by period\r\n * @param {number} reportPeriodId The period ID\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function getLastConsolidatedTrialBalanceByPeriod(reportPeriodId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return getTrialBalancesByPeriod(reportPeriodId, 'adjusted', 'consolidated')\r\n .then(trialBalances => {\r\n if (actionHelpers.isErrorResponse(trialBalances)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_LAST_CONSOLIDATED_PROPERTY_TRIAL_BALANCE_FAILURE,\r\n trialBalances,\r\n );\r\n }\r\n\r\n let lastConsolidatedTrialBalance = trialBalances\r\n .sort((a, b) => new Date(b.entryDate) - new Date(a.entryDate))\r\n .find(x => true);\r\n dispatch({\r\n type: actions.LOAD_LAST_CONSOLIDATED_PROPERTY_TRIAL_BALANCE_SUCCESS,\r\n lastConsolidatedTrialBalance: lastConsolidatedTrialBalance,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_LAST_CONSOLIDATED_PROPERTY_TRIAL_BALANCE_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Gets the last property trial balance by period\r\n * @param {any} reportPeriodId The period ID\r\n * @param {any} propertyId The property ID\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function getLastPropertyTrialBalanceByPeriod(\r\n reportPeriodId,\r\n propertyId,\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n // Return the reit tb for now.\r\n return getTrialBalancesByPeriod(\r\n reportPeriodId,\r\n 'adjusted',\r\n 'property',\r\n propertyId,\r\n )\r\n .then(trialBalances => {\r\n if (actionHelpers.isErrorResponse(trialBalances)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_LAST_PROPERTY_TRIAL_BALANCE_FAILURE,\r\n trialBalances,\r\n );\r\n }\r\n\r\n let lastPropertyTrialBalance = trialBalances\r\n .sort((a, b) => new Date(b.entryDate) - new Date(a.entryDate))\r\n .find(x => true);\r\n dispatch({\r\n type: actions.LOAD_LAST_PROPERTY_TRIAL_BALANCE_SUCCESS,\r\n lastPropertyTrialBalance: lastPropertyTrialBalance,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_LAST_PROPERTY_TRIAL_BALANCE_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch a list of trial balances by report period\r\n * @param {any} reportPeriodId The id of the report period\r\n * @returns {array} An array of trial balances\r\n */\r\nexport function getAdjustedTrialBalancesByPeriod(reportPeriodId) {\r\n return fetch('/trialBalances?periodId=' + reportPeriodId + '&type=adjusted')\r\n .then(response => {\r\n return response.json();\r\n })\r\n .catch(error => {\r\n throw error;\r\n });\r\n}\r\n\r\n/**\r\n * Download the trial balance blob\r\n * @param {any} trialBalanceId The id of the trial balance\r\n * @returns {Promise} A promise that downloads a file\r\n */\r\nexport function downloadTrialBalance(trialBalanceId) {\r\n let url = `/trialbalances/downloadTB?trialBalanceId=${trialBalanceId}`;\r\n return fetch(url).then(function (response) {\r\n return response.blob().then(function (blob) {\r\n const contentDisposition =\r\n response.headers.get(\"Content-Disposition\");\r\n\r\n const filename =\r\n contentDisposition.split(';')[1].split('=')[1].trim();\r\n\r\n download(blob, filename);\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Deletes a trial balance\r\n * @param {any} periodId The period ID\r\n * @param {any} trialBalancePurpose The trial balance purpose\r\n * @param {any} propertyId The property ID\r\n * @returns {Promise} A promise\r\n */\r\nexport function deleteTrialBalance(periodId, trialBalancePurpose, propertyId) {\r\n let url = '/trialBalances?periodId=' + periodId;\r\n if (trialBalancePurpose) {\r\n url += '&purpose=' + trialBalancePurpose;\r\n }\r\n if (propertyId > 0) {\r\n url += '&propertyid=' + propertyId;\r\n }\r\n return fetch(url, {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'DELETE',\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n } else {\r\n return response.json();\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Get trial balance mappings by period\r\n * @param {any} reportPeriodId The period ID\r\n * @param {any} propertyId The property ID (optional)\r\n * @param {any} filterByProperty Should filter by property ID? (optional)\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function getMappingsByPeriod(reportPeriodId, propertyId = null, filterByProperty = false) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n const propertyIdQuery = propertyId && propertyId > 0 ? `&propertyId=${propertyId}` : '';\r\n const filterByPropertyQuery = filterByProperty ? '&filterByProperty=true' : '';\r\n return fetch('/clientaccounts?periodId=' + reportPeriodId + propertyIdQuery + filterByPropertyQuery)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(periodMappings => {\r\n if (actionHelpers.isErrorResponse(periodMappings)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_PERIOD_MAPPINGS_FAILURE,\r\n periodMappings,\r\n );\r\n }\r\n\r\n return dispatch({\r\n type: actions.LOAD_PERIOD_MAPPINGS_SUCCESS,\r\n periodMappings,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_PERIOD_MAPPINGS_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Get the trial balance mapping by ID\r\n * @param {any} id The client account mapping ID\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function getMappingById(id) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch('/clientaccounts/' + id)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(mapping => {\r\n if (actionHelpers.isErrorResponse(mapping)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_MAPPING_FAILURE,\r\n mapping,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_MAPPING_SUCCESS,\r\n mapping,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_MAPPING_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Updates an existing client account mapping\r\n * @param {any} mapping The mapping to update\r\n * @returns {Promise} A promise\r\n */\r\nexport function updateMapping(mapping) {\r\n return fetch('/clientaccounts/mapping', {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'PUT',\r\n body: JSON.stringify(mapping),\r\n }).then(response => {\r\n return response.json();\r\n });\r\n}\r\n\r\n/**\r\n * Creates a new client account mapping across all REITs for a client\r\n * @param {any} mapping The mapping to create\r\n * @returns {Promise} A promise\r\n */\r\nexport function createMappingAllReits(mapping) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch('/clientaccounts/mappingAllReits', {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(mapping),\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(mappingAllReitsResponse => {\r\n if (actionHelpers.isErrorResponse(mappingAllReitsResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_MAPPING_ALL_REITS_FAILURE,\r\n mappingAllReitsResponse,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.CREATE_MAPPING_ALL_REITS_SUCCESS,\r\n mappingAllReitsResponse,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_MAPPING_ALL_REITS_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Deletes mappings by period ID\r\n * @param {any} periodId The period ID\r\n * @returns {Promise} A promise\r\n */\r\nexport function deletePeriodMappings(periodId) {\r\n let url = '/clientaccounts?periodId=' + periodId;\r\n\r\n return fetch(url, {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'DELETE',\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n } else {\r\n return response.json();\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Downlaods the client account mappings file for a period\r\n * @param {any} periodId The period ID\r\n * @returns {Promise} A promise\r\n */\r\nexport function downloadPeriodMappingsFile(periodId) {\r\n const url = '/clientaccounts/export?periodId=' + periodId;\r\n\r\n return fetch(url).then(function (response) {\r\n return response.blob().then(function (blob) {\r\n const contentDisposition = response.headers.get(\"Content-Disposition\");\r\n const fileName = contentDisposition.split(';')[1].split('=')[1].trim();\r\n //let fileName = 'PeriodMappings.xlsx';\r\n download(blob, fileName);\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Uploads a trial balance\r\n * @param {any} encodedFile The encoded file\r\n * @param {any} fileName The file name\r\n * @param {any} uploadId The upload ID\r\n * @param {any} userName The username\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function uploadTrialBalanceWithProgress(\r\n encodedFile,\r\n fileName,\r\n uploadId,\r\n userName,\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TB_UPLOAD_START, file: { file, uploadId } });\r\n\r\n let arr = encodedFile.split(',');\r\n let match = arr[0].match(/:(.*?);/);\r\n\r\n if (match == null || arr.length < 2) {\r\n let notifications = [];\r\n let content = {\r\n message: '',\r\n error: {\r\n message: `${fileName} failed to upload for the following reason: Unable to read content of this file type.`,\r\n },\r\n };\r\n let notif = {\r\n id: uploadId,\r\n userName: userName,\r\n notificationType: 'TrialBalanceFailure',\r\n content: JSON.stringify(content),\r\n };\r\n\r\n notifications.push(notif);\r\n\r\n notificationActions.addOrUpdateNotifications(notifications, userName)(\r\n dispatch,\r\n );\r\n return;\r\n }\r\n\r\n let mime = match[1];\r\n let bstr = atob(arr[1]);\r\n let n = bstr.length;\r\n let u8arr = new Uint8Array(n);\r\n\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n let file = new File([u8arr], fileName, { type: mime });\r\n\r\n let formData = new FormData();\r\n\r\n formData.append('file', file);\r\n formData.append('uploadId', uploadId);\r\n\r\n const req = new XMLHttpRequest();\r\n const init = buildHeaders();\r\n\r\n const rootApiUrl = process.env.ROOT_TB_API_URL;\r\n const fullUrl = urlJoin(rootApiUrl, '/trialBalances');\r\n\r\n req.open('POST', fullUrl);\r\n\r\n // Set authorization headers\r\n if (init && init.headers) {\r\n for (let property in init.headers) {\r\n if (Object.prototype.hasOwnProperty.call(init.headers, property)) {\r\n req.setRequestHeader(property, init.headers[property]);\r\n }\r\n }\r\n }\r\n\r\n let notifications = [];\r\n let content = {\r\n message: '',\r\n error: { message: `${fileName} failed to upload` },\r\n };\r\n let notif = {\r\n id: uploadId,\r\n userName: userName,\r\n notificationType: 'TrialBalanceFailure',\r\n content: JSON.stringify(content),\r\n };\r\n\r\n notifications.push(notif);\r\n\r\n req.addEventListener('load', e => {\r\n if (req.status >= 200 && req.status <= 299) {\r\n dispatch({ type: actions.TB_UPLOAD_COMPLETE, fileName });\r\n } else {\r\n let errorResponse = null;\r\n if (req.response) {\r\n errorResponse = JSON.parse(req.response);\r\n }\r\n\r\n if (errorResponse) {\r\n errorResponse.message = `${fileName} failed to upload for the following reason: ${errorResponse.message\r\n }`;\r\n content.error = errorResponse;\r\n notif.content = JSON.stringify(content);\r\n }\r\n\r\n notifications = [notif];\r\n\r\n notificationActions.addOrUpdateNotifications(notifications, userName)(\r\n dispatch,\r\n );\r\n dispatch({ type: actions.TB_UPLOAD_FAILED, fileName });\r\n }\r\n });\r\n\r\n req.addEventListener('error', e => {\r\n notificationActions.addOrUpdateNotifications(notifications, userName)(\r\n dispatch,\r\n );\r\n dispatch({ type: actions.TB_UPLOAD_FAILED, fileName });\r\n });\r\n\r\n req.upload.addEventListener('progress', e => {\r\n let progress = 0;\r\n if (e.total !== 0) {\r\n progress = parseInt((e.loaded / e.total) * 100, 10);\r\n }\r\n\r\n dispatch({ type: actions.TB_UPLOAD_PROGRESS, fileName, progress });\r\n });\r\n\r\n req.send(formData);\r\n };\r\n}\r\n\r\n/**\r\n * Dispatches the TB_UPLOAD_CLEAR action\r\n * @returns {function} A function that dispatches the TB_UPLOAD_CLEAR action\r\n */\r\nexport function clearUploadTrialBalanceProgress() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TB_UPLOAD_CLEAR });\r\n };\r\n}\r\n\r\n/**\r\n * Creates notifications for rejected files\r\n * @param {any} files The rejected files\r\n * @param {any} userName The username\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function notifyRejectedFiles(files, userName) {\r\n return function (dispatch) {\r\n let notifications = [];\r\n if (Array.isArray(files)) {\r\n files.forEach(f => {\r\n const id = uuidv4();\r\n let content = {\r\n message: `${f.file.name\r\n } is not a trial balance file and will not be processed.`,\r\n };\r\n if (f.file.name.toLowerCase().endsWith('.xls')) {\r\n content = {\r\n message: `${f.file.name\r\n } is not a supported excel format and cannot be processed. Only files with .xlsx extension are supported. Please save your spreadsheet as using Excel 2007 or later and try again. `,\r\n };\r\n }\r\n else if (!f.file.name.toLowerCase().endsWith('.xlsx')) {\r\n content = {\r\n message: `${f.file.name\r\n } failed to upload. The format of the file you submitted is not supported. The only supported format for a Trial Balance Template is XLSX. `,\r\n };\r\n }\r\n\r\n const notif = {\r\n id: id,\r\n userName: userName,\r\n notificationType: 'TrialBalanceFailure',\r\n content: JSON.stringify(content),\r\n };\r\n\r\n notifications.push(notif);\r\n });\r\n }\r\n\r\n if (notifications.length > 0) {\r\n notificationActions.addOrUpdateNotifications(notifications, userName)(\r\n dispatch,\r\n );\r\n }\r\n };\r\n}\r\n\r\nconst MAX_PARALLEL_TB_UPLOADS = 5;\r\n\r\n/**\r\n * Adds files to the upload queue\r\n * @param {any} files The files to add to the queue\r\n * @param {any} userName The username\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function addFilesToQueue(files, userName, clientId, notifyStatus) {\r\n if (typeof notifyStatus !== 'function') {\r\n notifyStatus = (file, status) => console.log(`${file.name}: ${status}`);\r\n }\r\n\r\n const uploadId = uuidv4();\r\n const fileArrayCopy = [...files];\r\n\r\n function sendFiles(dispatch) {\r\n if (fileArrayCopy.length <= 0) {\r\n return;\r\n }\r\n\r\n const data = new FormData();\r\n data.append('clientId', clientId);\r\n data.append('uploadId', uploadId);\r\n\r\n const filesForThisBatch = [];\r\n\r\n while (filesForThisBatch.length < MAX_PARALLEL_TB_UPLOADS) {\r\n const f = fileArrayCopy.shift();\r\n\r\n if (!f) {\r\n break;\r\n }\r\n\r\n filesForThisBatch.push(f);\r\n data.append('files', f);\r\n }\r\n\r\n filesForThisBatch.forEach(f => notifyStatus(f, 'IN_PROGRESS'));\r\n\r\n fetch('/trialBalances/bulkUpload', {\r\n method: 'POST',\r\n body: data\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw new Error('File upload failed.');\r\n }\r\n\r\n filesForThisBatch.forEach(f => notifyStatus(f, 'UPLOADED'));\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n filesForThisBatch.forEach(f => notifyStatus(f, 'ERROR'));\r\n })\r\n .then(() => sendFiles(dispatch));\r\n }\r\n\r\n return function (dispatch) {\r\n sendFiles(dispatch);\r\n };\r\n}\r\n\r\n/**\r\n * Gets the upload queue count\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchQueueCount() {\r\n return function (dispatch) {\r\n return fetch('/trialbalances/queue')\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(data => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n dispatch({ type: actions.LOAD_QUEUE_COUNT_FAILURE });\r\n }\r\n\r\n dispatch({ type: actions.LOAD_QUEUE_COUNT_SUCCESS, count: data });\r\n })\r\n .catch(error => {\r\n dispatch({ type: actions.LOAD_QUEUE_COUNT_FAILURE });\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Downloads the TB Templates for the REIT and all Properties of a client. The template reporting period will be the real-time current quarter, unless a period ID is provided.\r\n * @param {number} clientId The client ID.\r\n * @param {bool} showForInactiveREIT A flag to show inactive REITs along with the active.\r\n * @param {any} periodId The optional period ID to determine the template reporting period and properities of that period.\r\n * @returns {function} A Promise.\r\n */\r\nexport function downloadTbTemplates(clientId, showForInactiveREIT, reportPeriodId) {\r\n return function (dispatch) {\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n let url = `/trialbalances/${clientId}/download?showForInactiveREIT=${showForInactiveREIT}`;\r\n if (reportPeriodId) {\r\n url += `&reportPeriodId=${reportPeriodId}`;\r\n }\r\n\r\n return fetch(url).then(function (response) {\r\n const contentType = response.headers.get(\"content-type\");\r\n\r\n //Check the content type\r\n //if application/json - Display server error otherwise download the blob\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json();\r\n }\r\n else {\r\n return response.blob().then(function (blob) {\r\n const contentDisposition =\r\n response.headers.get(\"Content-Disposition\");\r\n\r\n const filename =\r\n contentDisposition.split(';')[1].split('=')[1].trim();\r\n\r\n download(blob, decodeURIComponentSafe(filename, 1));\r\n });\r\n }\r\n }).then(response => {\r\n if (response) {\r\n\r\n let responseReturn = {};\r\n responseReturn.error = false;\r\n if (actionHelpers.isErrorResponse(response)) {\r\n responseReturn.error = true;\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DOWNLOAD_TB_TEMPLATE_FAILURE,\r\n response,\r\n );\r\n }\r\n return dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n }\r\n else {\r\n //Download BLOB Success\r\n return dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n }\r\n });\r\n\r\n };\r\n}\r\n\r\n\r\n/**\r\n * Dispatches the SHOW_BULK_UPLOAD_MODAL action\r\n * @returns {function} A function that dispatches the SHOW_BULK_UPLOAD_MODAL action\r\n */\r\nexport function showBulkUploadModal() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.SHOW_BULK_UPLOAD_MODAL });\r\n };\r\n}\r\n\r\n/**\r\n * Dispatches the HIDE_BULK_UPLOAD_MODAL action\r\n * @returns {function} A function that dispatches the HIDE_BULK_UPLOAD_MODAL action\r\n */\r\nexport function hideBulkUploadModal() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.HIDE_BULK_UPLOAD_MODAL });\r\n };\r\n}\r\n\r\n/**\r\n * Upload chart of accounts\r\n * If failure, it will dispatch the UPLOAD_CHART_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {number} chartId The id of the chart.\r\n * @param {file} file The excel file to be used for saving chart of accounts.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function uploadAccountMappings(clientId, periodId, files) {\r\n\r\n let formData = new FormData();\r\n formData.append('clientID', clientId);\r\n formData.append('periodID', periodId);\r\n files.forEach(file => {\r\n formData.append('file', file);\r\n });\r\n\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch('/clientaccounts/uploadAccountMappings', {\r\n method: 'POST',\r\n body: formData,\r\n })\r\n .then(response => {\r\n const contentType = response.headers.get(\"content-type\");\r\n\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json();\r\n }\r\n else {\r\n return response.text();\r\n }\r\n })\r\n .then(response => {\r\n let responseReturn = {};\r\n responseReturn.error = false;\r\n if (actionHelpers.isErrorResponse(response)) {\r\n responseReturn.error = true;\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPLOAD_CHART_FAILURE,\r\n response,\r\n );\r\n return responseReturn;\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return responseReturn;\r\n })\r\n .catch(error => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPLOAD_CHART_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}","import { pendingTask, begin, end } from '../constants/pendingTask';\r\n\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromV1MicrosoftGraphApi as fetch } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n/** Microsoft Graph API V1 actions - Start */\r\n\r\n/**\r\n * Fetch the profile picture of the logged in user, If successful it will dispatch the LOAD_USER_PROFILE_PICTURE_SUCCESS action\r\n * action, otherwise it will dispatch the LOAD_USER_PROFILE_PICTURE_FAILURE action.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport const fetchUserProfilePictureV1 = () => {\r\n return (dispatch) => {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/me/photo/$value`)\r\n .then((responseImage) => responseImage.blob())\r\n .then((blobResponse) => {\r\n let blobUrl = '';\r\n if (actionHelpers.isErrorResponse(blobResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_USER_PROFILE_PICTURE_FAILURE,\r\n ''\r\n );\r\n }\r\n\r\n if (blobResponse.type === 'image/jpeg') {\r\n const url = window.URL || window.webkitURL;\r\n blobUrl = url.createObjectURL(blobResponse);\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_USER_PROFILE_PICTURE_SUCCESS,\r\n blobUrl,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_USER_PROFILE_PICTURE_FAILURE,\r\n '',\r\n error\r\n );\r\n });\r\n };\r\n};\r\n\r\n/** Microsoft Graph API V1 actions - End */\r\n","\r\nimport React from \"react\";\r\nimport {\r\n useLocation,\r\n useNavigate,\r\n useParams,\r\n useMatches,\r\n} from \"react-router-dom\";\r\n\r\nexport function withRouter(Component) {\r\n function ComponentWithRouterProp(props) {\r\n let location = useLocation();\r\n let navigate = useNavigate();\r\n let params = useParams();\r\n let matches = useMatches();\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n return ComponentWithRouterProp;\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n MotifIconButton,\r\n MotifIcon,\r\n MotifDropdown,\r\n MotifDropdownItem,\r\n MotifAvatar,\r\n MotifToggleSwitch\r\n} from \"@ey-xd/motif-react\";\r\nimport { IconoirLogOut } from '@ey-xd/motif-icon';\r\n\r\nconst UserAvatarComponent = ({\r\n isUserDropdownOpen,\r\n handleToggleUserDropdownWhenClickedOutside,\r\n handleToggleUserDropdown,\r\n userName,\r\n userEmail,\r\n userRole,\r\n userProfilePictureUrl,\r\n navToLogoff,\r\n handleThemesToggle,\r\n isDarkTheme\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
{userName}
\r\n
{userEmail}
\r\n
{userRole}
\r\n
\r\n \r\n
\r\n \r\n {/* \r\n \r\n \r\n
\r\n Theme\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n */}\r\n \r\n \r\n \r\n Log out\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nUserAvatarComponent.propTypes = {\r\n isUserDropdownOpen: PropTypes.bool,\r\n handleToggleUserDropdownWhenClickedOutside: PropTypes.func,\r\n handleToggleUserDropdown: PropTypes.func,\r\n userName: PropTypes.string,\r\n userEmail: PropTypes.string,\r\n userRole: PropTypes.string,\r\n userProfilePictureUrl: PropTypes.string,\r\n navToLogoff: PropTypes.func,\r\n handleThemesToggle: PropTypes.func,\r\n isDarkTheme: PropTypes.bool\r\n};\r\n\r\nexport default UserAvatarComponent;","export function changeMotifTheme(motifThemes, action) {\r\n return function (dispatch) {\r\n dispatch({ type: action, motifThemes });\r\n };\r\n}","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as authActions from '../actions/authActions';\r\nimport * as notificationActions from '../actions/notificationActions';\r\nimport * as trialBalanceActions from '../actions/trialBalanceActions';\r\nimport * as microsoftGraphApiActions from '../actions/microsoftGraphApiActions';\r\nimport animate from 'css-animation';\r\nimport {\r\n MotifHeader,\r\n MotifIconButton,\r\n MotifIcon,\r\n MotifHeaderLogo,\r\n MotifBadge, \r\n MotifDropdown,\r\n MotifButton,\r\n MotifDropdownItem,\r\n} from \"@ey-xd/motif-react\";\r\nimport { IconoirUpload, IconoirArchive, IconoirUserStar, IconoirBellNotification,IconoirHelpCircle } from '@ey-xd/motif-icon';\r\nimport { withMsal } from \"@azure/msal-react\";\r\nimport { withRouter } from '../common/withRouter';\r\n\r\nimport UserAvatarComponent from './shared/navbar/userAvatarComponent';\r\n\r\nimport * as themeActions from '../actions/themeActions';\r\n/**\r\n * NavBar container component\r\n * @extends {React.Component}\r\n */\r\nexport class NavBar extends React.Component {\r\n /**\r\n * Creates a new NavBar\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = { userId: \"\", activeMotifIconId: -1, isUserDropdownOpen: false, isDarkTheme: false};\r\n }\r\n\r\n componentDidMount() {\r\n // Microsoft Graph API call to fetch the profile picture of the logged in user\r\n this.props.microsoftGraphApiActions.fetchUserProfilePictureV1();\r\n }\r\n\r\n render() {\r\n let showReitFilesNavLink = this.props.router.location.pathname && this.props.router.location.pathname.toLowerCase().indexOf(\"/reit/\") > 0;\r\n let showPeriodFilesNavLink = this.props.router.location.pathname && this.props.router.location.pathname.toLowerCase().indexOf(\"/period/\") > 0;\r\n let showtbUploadNavLink = this.props.router.location.pathname && this.props.router.location.pathname.toLowerCase().indexOf(\"client/\") > 0 && this.props.router.location.pathname.toLowerCase().indexOf(\"/datastewardrolemanagement\") < 0 ;\r\n\r\n let pfmActive = this.props.router.location.pathname && this.props.router.location.pathname.toLowerCase().indexOf(\"/period/\") > 0 && this.props.router.location.pathname.toLowerCase().indexOf(\"/files\") > 0;\r\n let manageSystemAdminActive = this.props.router.location.pathname && this.props.router.location.pathname.toLowerCase().indexOf(\"adminauth\") > 0;\r\n let logoffActive = this.props.router.location.pathname && this.props.router.location.pathname.toLowerCase().indexOf(\"/logoff/\") > 0;\r\n let showHeaderIcons = this.props.router.location.pathname && this.props.router.location.pathname.toLowerCase().indexOf(\"/psqrecord\") < 0 &&\r\n this.props.router.location.pathname.toLowerCase().indexOf(\"/arqcrecord\") < 0 &&\r\n this.props.router.location.pathname.toLowerCase().indexOf(\"/preview\") < 0 &&\r\n this.props.router.location.pathname.toLowerCase().indexOf(\"/helpGuide\") < 0 ;\r\n \r\n\r\n //If current url is of Period File Management then set the state activeMotifIconId to 2\r\n if (pfmActive) {\r\n if (this.state.activeMotifIconId !== 2) {\r\n this.state.activeMotifIconId = 2;\r\n }\r\n }\r\n //If current url is of Manage System Administrator then set the state activeMotifIconId to 4\r\n else if (manageSystemAdminActive) {\r\n if (this.state.activeMotifIconId !== 4) {\r\n this.state.activeMotifIconId = 4;\r\n }\r\n }\r\n //If current url is of Logoff then set the state activeMotifIconId to 5\r\n else if (logoffActive) {\r\n if (this.state.activeMotifIconId !== 5) {\r\n this.state.activeMotifIconId = 5;\r\n }\r\n }\r\n //else if (this.state.activeMotifIconId == 1 || this.state.activeMotifIconId == 3) {\r\n // //Don't update activeMotifIconId to 5\r\n //}\r\n else {\r\n this.state.activeMotifIconId = -1;\r\n }\r\n\r\n let clientId = -1;\r\n if (this.props.client && this.props.client.id) {\r\n clientId = this.props.client.id;\r\n }\r\n\r\n let isSysAdmin = false;\r\n let isEngAdmin = false;\r\n let isEngUser = false;\r\n if (Array.isArray(this.props.currentUserAuthorizations)) {\r\n isSysAdmin = authActions.isSystemAdministrator(this.props.currentUserAuthorizations);\r\n isEngAdmin = authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, clientId);\r\n isEngUser = authActions.isUser(this.props.currentUserAuthorizations, clientId);\r\n }\r\n\r\n let user = '';\r\n const userId = this.props.authentication.currentUser;\r\n\r\n let name = this.props.msalContext.accounts[0].idTokenClaims.name;\r\n if (name === undefined || name === null || name === \"\") {\r\n name = \"\";\r\n let firstName = this.props.msalContext.accounts[0].idTokenClaims.given_name;\r\n if (firstName === undefined || firstName === null) {\r\n firstName = \"\";\r\n }\r\n let lastName = this.props.msalContext.accounts[0].idTokenClaims.family_name;\r\n if (lastName === undefined || lastName === null) {\r\n lastName = \"\";\r\n }\r\n if (firstName !== \"\") {\r\n name += firstName;\r\n }\r\n if (lastName != \"\") {\r\n if (name !== \"\") {\r\n name += \" \";\r\n }\r\n name += lastName;\r\n }\r\n }\r\n\r\n if (name !== \"\") {\r\n user += name;\r\n }\r\n else {\r\n user += userId;\r\n }\r\n\r\n let userRole = \"\";\r\n if (isSysAdmin) {\r\n userRole = \"System Administrator\";\r\n } else if (isEngAdmin) {\r\n userRole = \"Engagement Administrator\";\r\n } else if (isEngUser) {\r\n userRole = \"Engagement User\";\r\n }\r\n\r\n let self = this;\r\n\r\n let remaining = \"Remaining Time: \" + this.props.authentication.remainingTime;\r\n let hasRemaining = (this.props.authentication.remainingTime !== undefined && this.props.authentication.remainingTime !== null && this.props.authentication.remainingTime !== \"\");\r\n\r\n /**\r\n * Handles a navigation click\r\n * @param {Object} info The information\r\n */\r\n function handleClick(info) {\r\n if (info.key === \"SysAdmin\") {\r\n navToSysAdmin();\r\n }\r\n if (info.key === \"Files\") {\r\n navToFiles();\r\n }\r\n if (info.key === \"Notifications\") {\r\n self.props.notificationActions.toggleNotificationsDisplay();\r\n }\r\n switch (info.key) {\r\n case \"SysAdmin\":\r\n navToSysAdmin();\r\n break;\r\n case \"Files\":\r\n navToFiles();\r\n break;\r\n case \"ReitFiles\":\r\n navToReitFiles();\r\n break;\r\n case \"ContactAll\":\r\n navToContactAll();\r\n break;\r\n case \"MultipleUpload\":\r\n navToMultipleUpload();\r\n break;\r\n case \"Logoff\":\r\n navToLogoff();\r\n break;\r\n }\r\n }\r\n\r\n const animation = {\r\n enter(node, done) {\r\n let height;\r\n return animate(node, 'rc-menu-collapse', {\r\n start() {\r\n height = node.offsetHeight;\r\n node.style.height = 0;\r\n },\r\n active() {\r\n node.style.height = `${height}px`;\r\n },\r\n end() {\r\n node.style.height = '';\r\n done();\r\n },\r\n });\r\n },\r\n\r\n appear() {\r\n return this.enter.apply(this, arguments);\r\n },\r\n\r\n leave(node, done) {\r\n return animate(node, 'rc-menu-collapse', {\r\n start() {\r\n node.style.height = `${node.offsetHeight}px`;\r\n },\r\n active() {\r\n node.style.height = 0;\r\n },\r\n end() {\r\n node.style.height = '';\r\n done();\r\n },\r\n });\r\n },\r\n };\r\n\r\n const navToSysAdmin = () => {\r\n this.state.activeMotifIconId = 4;\r\n this.props.router.navigate(`/adminauth`);\r\n };\r\n\r\n const navToFiles = () => {\r\n this.state.activeMotifIconId = 2;\r\n this.props.router.navigate(`/client/${this.props.client.id}/reit/${this.props.reit.reitid}/period/${this.props.period.reportPeriodID}/files`);\r\n };\r\n\r\n const navToReitFiles = () => {\r\n this.props.router.navigate(`/client/${this.props.client.id}/reit/${this.props.reit.reitid}/files`);\r\n };\r\n\r\n const navToContactAll = () => {\r\n this.props.router.navigate(`/contactUsers`);\r\n };\r\n\r\n const navToMultipleUpload = () => {\r\n this.state.activeMotifIconId = 1;\r\n // Bulk Upload will open a modal\r\n this.props.trialBalanceActions.showBulkUploadModal();\r\n };\r\n\r\n const navToLogoff = () => {\r\n this.state.activeMotifIconId = 5;\r\n notificationActions.stopNotificationPolling();\r\n this.props.router.navigate(`/external/logoff`);\r\n\r\n };\r\n\r\n const setNavigationState = () => {\r\n this.state.activeMotifIconId = 3;\r\n };\r\n\r\n function handleNotificationToggleDisplay() {\r\n setNavigationState();\r\n self.props.notificationActions.toggleNotificationsDisplay()\r\n }\r\n\r\n const handleToggleUserDropdown = () => {\r\n this.setState({ isUserDropdownOpen: !this.state.isUserDropdownOpen });\r\n };\r\n\r\n const handleToggleUserDropdownWhenClickedOutside = () => {\r\n if (this.state.isUserDropdownOpen === true) {\r\n this.setState({ isUserDropdownOpen: false });\r\n }\r\n };\r\n\r\n const handleThemesToggle = (event) => {\r\n const darkTheme = 'motif-theme-dark';\r\n const lightTheme = 'motif-theme-light';\r\n\r\n if(event.target.checked){\r\n document.body.classList.remove(lightTheme);\r\n document.body.classList.add(darkTheme);\r\n this.props.themeActions.changeMotifTheme(\"motifDark\", 'MOTIF_THEME');\r\n localStorage.setItem('motifThemes', darkTheme);\r\n }\r\n else {\r\n document.body.classList.remove(darkTheme);\r\n document.body.classList.add(lightTheme);\r\n this.props.themeActions.changeMotifTheme(\"motifLight\",'MOTIF_THEME');\r\n localStorage.setItem('motifThemes', lightTheme);\r\n } \r\n\r\n this.setState({ isDarkTheme: event.target.checked});\r\n };\r\n const navToDataRetentionPolicy = () => {\r\n if(userRole!=='External Checklist User')\r\n {\r\n window.open('/helpGuide', '_blank');\r\n }\r\n \r\n };\r\n return (\r\n
\r\n {/* \r\n \r\n \r\n Home\r\n \r\n \r\n }\r\n appHeaderName=\"REITSuite\"\r\n iconsContainer={\r\n
\r\n {showHeaderIcons && (\r\n \r\n {showtbUploadNavLink &&\r\n !this.props.clientIsAudit &&\r\n this.props.client &&\r\n this.props.client.id > 0 && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n {showPeriodFilesNavLink && !this.props.clientIsAudit && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {(userRole!=='External Checklist User') && (\r\n \r\n \r\n \r\n \r\n \r\n )} \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {(Array.isArray(this.props.notifications) &&\r\n this.props.notifications.length > 0 && ( \r\n \r\n )) ||\r\n null}\r\n
\r\n
\r\n \r\n
\r\n\r\n {isSysAdmin && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n
\r\n }\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\nNavBar.propTypes = {\r\n user: PropTypes.object,\r\n client: PropTypes.object,\r\n reit: PropTypes.object,\r\n period: PropTypes.object,\r\n currentUserAuthorizations: PropTypes.array,\r\n notifications: PropTypes.array,\r\n notificationActions: PropTypes.object,\r\n trialBalanceActions: PropTypes.object,\r\n showNotifications: PropTypes.bool.isRequired,\r\n authentication: PropTypes.string,\r\n microsoftGraphApiActions: PropTypes.object,\r\n userProfilePictureUrl: PropTypes.string,\r\n motifThemes: PropTypes.string,\r\n themeActions: PropTypes.object,\r\n};\r\n\r\nNavBar.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties belonging to this component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n let result = {\r\n client: state.client,\r\n reit: state.reit,\r\n period: state.period,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n notifications: state.notifications,\r\n authentication: state.authentication,\r\n showNotifications: state.showNotifications,\r\n clientIsAudit: state.client && state.client.isAudit,\r\n userProfilePictureUrl: state.userProfilePicture,\r\n router: ownProps.router,\r\n motifThemes: state.motifThemes\r\n };\r\n\r\n return result;\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(authActions, dispatch),\r\n notificationActions: bindActionCreators(notificationActions, dispatch),\r\n trialBalanceActions: bindActionCreators(trialBalanceActions, dispatch),\r\n microsoftGraphApiActions: bindActionCreators(microsoftGraphApiActions, dispatch),\r\n themeActions: bindActionCreators(themeActions, dispatch),\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withMsal(NavBar)));\r\n","import React from 'react';\r\nimport { MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,MotifIcon,MotifButton } from '@ey-xd/motif-react';\r\nimport { IconoirWarningTriangle } from '@ey-xd/motif-icon';\r\nimport PropTypes from \"prop-types\";\r\nimport { reduxForm } from \"redux-form\";\r\n\r\n\r\nconst DataStewardAssignmentRequiredModal = ({showEngagementAdminForDataStewardAssignmentModal,toggleShowEngagementAdminForDataStewardAssignmentModal,dataStewardAssignmentWarningHeader,dataStewardAssignmentWarningBody\r\n}) => {\r\n\r\n return (\r\n toggleShowEngagementAdminForDataStewardAssignmentModal()} data-testid=\"DataStewardAssignmentRemind\">\r\n } >\r\n {dataStewardAssignmentWarningHeader}\r\n \r\n \r\n {dataStewardAssignmentWarningBody}\r\n \r\n \r\n \r\n toggleShowEngagementAdminForDataStewardAssignmentModal()}\r\n >\r\n Close\r\n \r\n \r\n \r\n );\r\n};\r\nDataStewardAssignmentRequiredModal.propTypes = {\r\n showEngagementAdminForDataStewardAssignmentModal: PropTypes.bool,\r\n toggleShowEngagementAdminForDataStewardAssignmentModal: PropTypes.func,\r\n dataStewardAssignmentWarningHeader: PropTypes.string,\r\n dataStewardAssignmentWarningBody: PropTypes.string\r\n \r\n};\r\n\r\nexport default reduxForm({ form: \"DataStewardAssignmentRequiredForm\", enableReinitialize: true })(DataStewardAssignmentRequiredModal);\r\n\r\n","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from \"./actionTypes\";\r\n\r\n/**\r\n * Removes the client from state.\r\n * @param {any} dispatch The dispatch.\r\n * @returns {void}\r\n */\r\nexport function clearClient(dispatch) {\r\n //dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n dispatch({ type: actions.UNLOAD_CLIENT });\r\n //dispatch({ type: actions.UNLOAD_REIT });\r\n //dispatch({ type: actions.UNLOAD_PERIOD });\r\n //dispatch({ type: actions.UNLOAD_FILE_MANAGEMENT });\r\n //dispatch({ type: actions.UNLOAD_TESTS });\r\n //dispatch({ type: actions.UNLOAD_PROPERTY });\r\n //dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n}\r\n\r\n/**\r\n * Not implemented. Future use.\r\n * @param {any} dispatch The dispatch.\r\n * @returns {void}\r\n */\r\nexport function clearReit(dispatch) {\r\n //dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n //dispatch({ type: actions.UNLOAD_REIT });\r\n //dispatch({ type: actions.UNLOAD_PERIOD });\r\n //dispatch({ type: actions.UNLOAD_FILE_MANAGEMENT });\r\n //dispatch({ type: actions.UNLOAD_TESTS });\r\n //dispatch({ type: actions.UNLOAD_PROPERTY });\r\n //dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n}\r\n\r\n/**\r\n * Not implemented. Future use.\r\n * @param {any} dispatch The dispatch.\r\n * @returns {void}\r\n */\r\nexport function clearPeriod(dispatch) {\r\n //dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n //dispatch({ type: actions.UNLOAD_PERIOD });\r\n //dispatch({ type: actions.UNLOAD_FILE_MANAGEMENT });\r\n //dispatch({ type: actions.UNLOAD_TESTS });\r\n //dispatch({ type: actions.UNLOAD_PROPERTY });\r\n //dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n}\r\n\r\n/**\r\n * Not implemented. Future use.\r\n * @param {any} dispatch The dispatch.\r\n * @returns {void}\r\n */\r\nexport function clearProperty(dispatch) {\r\n //dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n //dispatch({ type: actions.UNLOAD_PROPERTY });\r\n //dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n}","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from \"./actionTypes\";\r\nimport { fetchFromClientApi as fetch, fetchFromReitApi } from \"./fetchFromApi\";\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport * as authActions from './authActions';\r\nimport * as clearActions from './clearDependentsActions';\r\n\r\n// Note on getting clients belonging to the employee that is logged in:\r\n// The way I envision this working is that we would pass the JWT token in the\r\n// header of all requests. The ClientAPI would be able to retrieve the employee ID\r\n// from the token and return the appropriate clients.\r\n/**\r\n * Fetch the clients. If successful this will dispatch the LOAD_CLIENTS_SUCCESS action,\r\n * otherwise it will dispatch the LOAD_CLIENTS_FAILURE action.\r\n * @param {boolean} [excludeInactive=false] - Set to true to include inactive clients.\r\n * @returns {function} a function which returns a Promise.\r\n */\r\nexport function loadAllClients(excludeInactive = false) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(\"/clients\").then(response => {\r\n return response.json();\r\n }).then(clientData => {\r\n if (actionHelpers.isErrorResponse(clientData)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CLIENTS_FAILURE, clientData);\r\n }\r\n\r\n return fetchFromReitApi(\"/reits\").then(response => {\r\n return response.json();\r\n }).then(reitData => {\r\n if (actionHelpers.isErrorResponse(reitData)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CLIENTS_FAILURE, reitData);\r\n }\r\n\r\n if (Array.isArray(clientData) && Array.isArray(reitData)) {\r\n for (let i = 0; i < clientData.length; i++) {\r\n const clientReits = reitData.filter(x => Array.isArray(x.clients) &&\r\n x.clients.findIndex(c => c.id === clientData[i].id) >= 0);\r\n\r\n clientData[i].reitCount = clientReits.length;\r\n\r\n // get sum of discrepancy message counts across child reits\r\n clientData[i].discrepancyCount = clientReits.reduce((total, num) => {\r\n return total + num.discrepancyCount;\r\n }, 0);\r\n\r\n let periods = [];\r\n\r\n for (let r = 0; r < clientReits.length; r++) {\r\n if (Array.isArray(clientReits[r].periods)) {\r\n periods = periods.concat(clientReits[r].periods);\r\n }\r\n }\r\n\r\n const today = new Date();\r\n const year = today.getFullYear();\r\n const q1TestDate = new Date(year, 1, 15);\r\n const q2TestDate = new Date(year, 4, 15);\r\n const q3TestDate = new Date(year, 7, 15);\r\n const q4TestDate = new Date(year, 10, 15);\r\n\r\n clientData[i].q1Status = getCombinedStatusFromPeriods(periods.filter(x => x.startDate &&\r\n x.endDate &&\r\n x.reportPeriodTypeDescription &&\r\n x.reportPeriodTypeDescription.toLowerCase() === \"quarterly\" &&\r\n q1TestDate <= new Date(x.endDate) &&\r\n q1TestDate >= new Date(x.startDate)));\r\n\r\n clientData[i].q2Status = getCombinedStatusFromPeriods(periods.filter(x => x.startDate &&\r\n x.endDate &&\r\n x.reportPeriodTypeDescription &&\r\n x.reportPeriodTypeDescription.toLowerCase() === \"quarterly\" &&\r\n q2TestDate <= new Date(x.endDate) &&\r\n q2TestDate >= new Date(x.startDate)));\r\n\r\n clientData[i].q3Status = getCombinedStatusFromPeriods(periods.filter(x => x.startDate &&\r\n x.endDate &&\r\n x.reportPeriodTypeDescription &&\r\n x.reportPeriodTypeDescription.toLowerCase() === \"quarterly\" &&\r\n q3TestDate <= new Date(x.endDate) &&\r\n q3TestDate >= new Date(x.startDate)));\r\n\r\n clientData[i].q4Status = getCombinedStatusFromPeriods(periods.filter(x => x.startDate &&\r\n x.endDate &&\r\n x.reportPeriodTypeDescription &&\r\n x.reportPeriodTypeDescription.toLowerCase() === \"quarterly\" &&\r\n q4TestDate <= new Date(x.endDate) &&\r\n q4TestDate >= new Date(x.startDate)));\r\n }\r\n }\r\n dispatch({ type: actions.LOAD_CLIENTS_SUCCESS, clients: clientData, [pendingTask]: end });\r\n });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CLIENTS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Retrieves a client by ID.\r\n * @param {any} clientId The ID of the client to retrieve.\r\n * @returns {any} A Promise.\r\n */\r\nexport function fetchClient(clientId) {\r\n return fetch(`/clients/${clientId}`).then(response => {\r\n return response.json();\r\n });\r\n}\r\n\r\n/**\r\n * Fetch the client wtih the matching clientId. If successful this will dispatch the\r\n * LOAD_CLIENT_SUCCESS action, otherwise it will dispatch the LOAD_CLIENT_FAILURE action.\r\n * @param {number} clientId - The id of the client.\r\n * @returns {function} a function which returns a Promise.\r\n */\r\nexport function loadClient(clientId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetchClient(clientId).then(data => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CLIENT_FAILURE, data);\r\n }\r\n\r\n clearActions.clearReit(dispatch);\r\n dispatch({ type: actions.LOAD_CLIENT_SUCCESS, client: data, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CLIENT_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the client with the matching clientId for External user. If successful this will dispatch the\r\n * LOAD_CLIENT_SUCCESS action, otherwise it will dispatch the LOAD_CLIENT_FAILURE action.\r\n * @param {number} clientId - The id of the client.\r\n * @returns {function} a function which returns a Promise.\r\n */\r\nexport function loadExternalClient(clientId, checklistId, checklistType) {\r\n const authHeader = actionHelpers.buildAuthHeader(checklistId, checklistType);\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/clients/${clientId}`, {\r\n headers: authHeader && new Headers({ 'Authorization': authHeader })\r\n }).then(response => {\r\n return response.json();\r\n }).then(data => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CLIENT_FAILURE, data);\r\n }\r\n\r\n clearActions.clearReit(dispatch);\r\n dispatch({ type: actions.LOAD_CLIENT_SUCCESS, client: data, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CLIENT_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Unloads the client from state.\r\n * @returns {any} A function that dispatches and action.\r\n */\r\nexport function unloadClient() {\r\n return function (dispatch) {\r\n clearActions.clearClient(dispatch);\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the active clients. This is the same as calling {@link loadAllClients}(true).\r\n * @returns {function} a function which returns a Promise.\r\n */\r\nfunction loadActiveClients() {\r\n return loadAllClients(true);\r\n}\r\n\r\n// TODO - Wrap in Transaction - Create Client and Add Authorization for Engagement Administrator\r\n/**\r\n * Create a client\r\n * @param {any} client The client to create.\r\n * @returns {any} A Promise\r\n */\r\nexport function createClient(client) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(\"/clients\",\r\n {\r\n headers: {\r\n 'Accept': \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify(client)\r\n }).then(response => {\r\n return response.json();\r\n }).then(clientResponse => {\r\n if (actionHelpers.isErrorResponse(clientResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CLIENT_FAILURE, clientResponse);\r\n }\r\n // Check for Create Client Errors -\r\n // TODO Determine Error messaging\r\n // Add Engagement Administrator to client\r\n let auth = {\r\n \"userId\": client.engagementAdministratorEmail, \"resource\": authActions.resource.Client, \"role\": authActions.role.Administrator, \"resourceId\": clientResponse.id, \"id\": null,receiveDailyNewsletter:false,receiveWeeklyNewsletter:false,receiveRealTimeNotification:false, isDataSteward:false,\r\n };\r\n\r\n authActions.createAuthorization(auth)(dispatch);\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return clientResponse;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CLIENT_FAILURE, null, error);\r\n });\r\n }\r\n}\r\n/** Update a client\r\n * @param { any } client The client\r\n * @returns { Promise } A Promise\r\n*/\r\nexport function updateClient(client) {\r\n const payload = {\r\n \"isActive\": client.isActive,\r\n \"isAudit\": client.isAudit,\r\n \"contactEmail\": client.contactEmail,\r\n \"contactName\": client.contactName,\r\n \"contactPhone\": client.contactPhone,\r\n \"engagementNumber\": client.engagementNumber,\r\n \"gfisCode\": client.gfisCode,\r\n \"id\": client.id,\r\n \"legalName\": client.legalName,\r\n \"name\": client.name,\r\n \"reitIds\": client.reitIds\r\n };\r\n\r\n return fetch(\"/clients\",\r\n {\r\n headers: {\r\n 'Accept': \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"PUT\",\r\n body: JSON.stringify(payload)\r\n }).then(response => {\r\n return response.json();\r\n });\r\n}\r\n\r\n/**\r\n * Update PSQ Completion Requirement status.\r\n * If successful this will dispatch the UPDATE_PSQ_COMPLETION_REQ_STATUS_SUCCESS action,\r\n * otherwise it will dispatch the UPDATE_PSQ_COMPLETION_REQ_STATUS_FAILURE action.\r\n * @param {any} clientId The ID of the client. \r\n * @param {any} psqCompletionRequirementStatus The PSQ Completion Requirement status flag.\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function updatePSQCompletionRequirementStatus(\r\n clientId, psqCompletionRequirementStatus\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/clients/psqCompletionRequirement/${clientId}/${psqCompletionRequirementStatus}`, {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'PUT'\r\n }).then(response => {\r\n return response.text();\r\n }).then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_PSQ_COMPLETION_REQ_STATUS_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n return jsonResponse;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_PSQ_COMPLETION_REQ_STATUS_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Update IsLockedForMissingDeletionApprovalOrException status.\r\n * If successful this will dispatch the UPDATE_IS_LOCKED_FOR_MISSING_DELETION_APPROVAL_OR_EXCEPTION_STATUS_SUCCESS action,\r\n * otherwise it will dispatch the UPDATE_IS_LOCKED_FOR_MISSING_DELETION_APPROVAL_OR_EXCEPTION_STATUS_FAILURE action.\r\n * @param {any} clientId The ID of the client. \r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function updateIsLockedForMissingDeletionApprovalOrExceptionStatus(\r\n clientId\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/clients/missingDeletionApprovalOrExceptionRequirement/${clientId}`, {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'PUT'\r\n }).then(response => {\r\n return response.text();\r\n }).then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_IS_LOCKED_FOR_MISSING_DELETION_APPROVAL_OR_EXCEPTION_STATUS_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n return jsonResponse;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_IS_LOCKED_FOR_MISSING_DELETION_APPROVAL_OR_EXCEPTION_STATUS_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Toggle the isActive property on the client.\r\n * @param {any} clientId The ID of the client.\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function toggleActiveFlagAndReloadClients(clientId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetchClient(clientId).then(client => {\r\n\r\n if (actionHelpers.isErrorResponse(client)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.TOGGLE_CLIENT_ACTIVE_FLAG_FAILURE, client);\r\n }\r\n\r\n client.isActive = !client.isActive;\r\n return updateClient(client);\r\n }).then(data => {\r\n\r\n if (actionHelpers.isErrorResponse(data)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.TOGGLE_CLIENT_ACTIVE_FLAG_FAILURE, data);\r\n }\r\n\r\n loadAllClients()(dispatch);\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Determine the collective status by looking at the status of all periods.\r\n * @param {any} periods The periods to look at.\r\n * @returns {string} The status.\r\n */\r\nfunction getCombinedStatusFromPeriods(periods) {\r\n if (!Array.isArray(periods) || periods.length === 0) {\r\n return \"Not Started\";\r\n }\r\n\r\n let notStarted = 0;\r\n let planned = 0;\r\n let inProgress = 0;\r\n let complete = 0;\r\n\r\n const periodCount = periods.length;\r\n for (let i = 0; i < periodCount; i++) {\r\n switch (periods[i].reportPeriodStatusDescription) {\r\n case \"Complete\":\r\n complete++;\r\n break;\r\n case \"In Progress\":\r\n case \"Closed to Testing\":\r\n case \"Closed to Reporting\":\r\n inProgress++;\r\n break;\r\n case \"Planned\":\r\n planned++;\r\n break;\r\n default:\r\n notStarted++;\r\n }\r\n }\r\n\r\n if (complete === periodCount) {\r\n return \"Complete\";\r\n }\r\n\r\n if (notStarted === periodCount) {\r\n return \"Not Started\";\r\n }\r\n\r\n if (inProgress === 0 && planned > 0) {\r\n return \"Planned\";\r\n }\r\n\r\n return \"In Progress\";\r\n}\r\n\r\n//This is in Client API, because our email service is here.\r\n/**\r\n * Send an email to all users and return the response.\r\n * @param {string} subject The email subject.\r\n * @param {string} message The email message.\r\n * @param {bool} isHtml True if the email message contains HTML, otherwise false.\r\n * @returns {any} A Promise.\r\n */\r\nexport function contactAllUsers(subject, message, isHtml) {\r\n let request = {\r\n \"subject\": subject,\r\n \"message\": message,\r\n \"isHtml\": isHtml\r\n };\r\n return fetch('/email/contactall',\r\n {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(request)\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n } else {\r\n return response.json();\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Retrieves a client by ID.\r\n * @param {any} clientId The ID of the client to retrieve.\r\n * @returns {any} A Promise.\r\n */\r\nexport function fetchAllClientsSlim() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(\"/clients/names\").then(response => {\r\n return response.json();\r\n }).then(clientData => {\r\n if (actionHelpers.isErrorResponse(clientData)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CLIENTS_FAILURE, clientData);\r\n }\r\n dispatch({ type: actions.LOAD_CLIENTS_SUCCESS, clients: clientData, [pendingTask]: end });\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Retrieves list of active clients. Currently being used to populate the client dropdown in the External Checklists Dashboard.\r\n * @returns {any} A Promise.\r\n */\r\n\r\nexport function fetchAllActiveClients(resetState = false) {\r\n return (dispatch) => {\r\n if (resetState === true) {\r\n return dispatch({\r\n type: actions.LOAD_EXTERNAL_CHECKLISTS_CLIENTS_SUCCESS,\r\n clients: []\r\n });\r\n }\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin}); \r\n return fetch(\"/clients\")\r\n .then(response => response.json())\r\n .then(clientsData => {\r\n if(actionHelpers.isErrorResponse(clientsData)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_EXTERNAL_CHECKLISTS_CLIENTS_FAILURE, clientsData);\r\n }\r\n const activeClients = clientsData.filter(c => c.isActive);\r\n dispatch({type: actions.LOAD_EXTERNAL_CHECKLISTS_CLIENTS_SUCCESS, clients: activeClients, [pendingTask]: end});\r\n })\r\n }\r\n}\r\n\r\n/**\r\n* To switch the client type.\r\n* @returns {any} A Promise.\r\n*/\r\n\r\nexport function switchClientType(request) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/clients/switchClientType`,\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify(request)\r\n }).then(response => {\r\n return response.json();\r\n }).then(result => {\r\n if (actionHelpers.isErrorResponse(result)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.CREATE_CLIENT_FAILURE, result);\r\n }\r\n dispatch({ type: actions.CREATE_CLIENT_SUCCESS, result, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.CREATE_CLIENT_FAILURE, error);\r\n });\r\n };\r\n}\r\n\r\nexport function checkIfClientCanSwitchType(clientId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin});\r\n return fetch(`/clients/checkIfClientCanSwitchType/${clientId}`).then(response => {\r\n return response.json();\r\n }).then(canSwitchType => {\r\n if (actionHelpers.isErrorResponse(canSwitchType)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CAN_SWITCH_TYPE_FAILURE, null);\r\n }\r\n dispatch({ type: actions.LOAD_CAN_SWITCH_TYPE_SUCCESS, canSwitchType, [pendingTask]: end });\r\n return canSwitchType;\r\n });\r\n };\r\n}\r\n\r\n\r\n\r\n","import React ,{useState}from 'react';\r\nimport { Link, useMatches,useLocation, useNavigate, useParams, Outlet } from 'react-router-dom';\r\nimport { MotifBreadcrumb, MotifBreadcrumbItem } from '@ey-xd/motif-react';\r\nimport * as Constants from '../../constants/other';\r\nimport DataStewardAssignmentRequiredModal from '../../components/dataStewardRoleManagement/dataStewardAssignmentRequiredModal';\r\nimport * as clientActions from '../../actions/clientActions';\r\nimport * as authActions from \"../../actions/authActions\";\r\nconst Breadcrumbs = ({ theme, client, reit, period, currentUserAuthorizations }) => {\r\n const matches = useMatches();\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const params = useParams();\r\n const endsWithOptionalSlash = (str, endsWithStr) => {\r\n return str.endsWith(endsWithStr) || str.endsWith(`${endsWithStr}/`);\r\n };\r\n\r\n const redirectToBreadCrumbPath = (path) => async (e) => {\r\n e.preventDefault(); // Prevent default action once at the beginning\r\n \r\n // If the path is the root, we can navigate directly without further checks\r\n if (path === '/') {\r\n navigate(path);\r\n return;\r\n }\r\n \r\n // Check if the user has the necessary authorizations and if the current location is relevant\r\n const isSystemAdmin = authActions.isSystemAdministrator(currentUserAuthorizations);\r\n const isEngagementAdmin = authActions.isEngagementAdministrator(currentUserAuthorizations, params.clientId);\r\n const isUser = authActions.isUser(currentUserAuthorizations, params.clientId);\r\n const isInDataStewardRoleManagement = location.pathname.includes('dataStewardRoleManagement');\r\n \r\n // If the user is not a system admin and the path is not the root, we need to fetch client data\r\n if (!isSystemAdmin && (isEngagementAdmin || isUser)) {\r\n try {\r\n const client = await clientActions.fetchClient(params.clientId);\r\n const shouldShowWarning = client && client.isLockedForNotHavingDataSteward;\r\n\r\n // For engagement admins in the data steward role management section\r\n if (isEngagementAdmin && isInDataStewardRoleManagement && shouldShowWarning) {\r\n toggleShowMinimumDataStewardWarningModal();\r\n return;\r\n }\r\n \r\n // For users when the client is locked for not having a data steward\r\n if (isUser && shouldShowWarning && !client.isLockedForMissingDeletionApprovalOrException) {\r\n toggleShowMinimumDataStewardWarningModal();\r\n navigate('/');\r\n return;\r\n }\r\n \r\n // If none of the conditions above are met, navigate to the path\r\n navigate(path);\r\n } catch (error) {\r\n console.error('Error fetching client data:', error);\r\n }\r\n } else {\r\n // If the user is a system admin or the path is the root, navigate directly\r\n navigate(path);\r\n }\r\n };\r\n\r\n const [showEngagementAdminForDataStewardAssignmentModal, setShowEngagementAdminForDataStewardAssignmentModal] = useState(false);\r\n const toggleShowMinimumDataStewardWarningModal= () => {\r\n setShowEngagementAdminForDataStewardAssignmentModal(!showEngagementAdminForDataStewardAssignmentModal);\r\n };\r\n \r\n const getDisplayName = (match) => {\r\n const { params, pathname } = match;\r\n\r\n // Check if the pathname includes the expected pattern with dynamic segments\r\n if (endsWithOptionalSlash(pathname, `/client/${params.clientId}`)) {\r\n return client && client.name ? client.name : '...';\r\n } else if (endsWithOptionalSlash(pathname, `/reit/${params.reitId}`)) {\r\n return reit && reit.reitName ? reit.reitName : '...';\r\n } else if (endsWithOptionalSlash(pathname, `/period/${params.periodId}`)) {\r\n return period && period.reportPeriodDescription ? period.reportPeriodDescription : '...';\r\n } else {\r\n // If the route has a name, use it; otherwise, use the last segment of the pathname (which really should never happen)\r\n return match.handle?.name || pathname.split('/').pop();\r\n }\r\n };\r\n \r\n let breadcrumbs = [];\r\n if (matches) {\r\n // Filter out matches that don't have a name (e.g., the root match)\r\n const filteredMatches = matches.filter((match) => match.handle?.name);\r\n breadcrumbs = filteredMatches.filter(x => x.handle?.name).map((match, index) => {\r\n const isLastItem = index === filteredMatches.length - 1;\r\n const displayName = getDisplayName(match);\r\n const path = match.pathname;\r\n\r\n return (\r\n \r\n {isLastItem ? (\r\n displayName\r\n ) :(\r\n \r\n {displayName}\r\n \r\n )}\r\n {\r\n \r\n }\r\n \r\n );\r\n });\r\n }\r\n\r\n return (\r\n \r\n {breadcrumbs}\r\n \r\n );\r\n};\r\n\r\nexport default Breadcrumbs;\r\n","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromReitApi as fetch } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport * as clearActions from './clearDependentsActions';\r\nimport { download, decodeURIComponentSafe } from '../scripts/fileHelpers';\r\n\r\n/**\r\n * Fetch the REITs belonging to the client. If successful this will dispatch the LOAD_REITS_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_REITS_FAILURE action.\r\n * @param {number} clientId The id of the client that owns the REITs.\r\n * @param {bool} includeInactive A flag to include inactive REITs.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchReits(clientId, includeInactive) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const includeInactiveParam =\r\n includeInactive == undefined\r\n ? ''\r\n : includeInactive\r\n ? '&includeInactive=true'\r\n : '&includeInactive=false';\r\n return fetch('/reits?clientId=' + clientId + includeInactiveParam)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(reits => {\r\n if (actionHelpers.isErrorResponse(reits)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_REITS_FAILURE,\r\n reits,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_REITS_SUCCESS,\r\n reits,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_REITS_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the REITs belonging to the client. If successful this will dispatch the LOAD_REITS_FOR_MO_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_REITS_FAILURE action.\r\n * @param {number} clientId The id of the client that owns the REITs.\r\n * @param {bool} includeInactive A flag to include inactive REITs.\r\n * @param {bool} includeFileName A flag to include trial balance file name.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchReitsForMO(\r\n clientId,\r\n includeInactive,\r\n includeTrialBalanceFileName,\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const includeInactiveParam =\r\n includeInactive == undefined\r\n ? ''\r\n : includeInactive\r\n ? '&includeInactive=true'\r\n : '&includeInactive=false';\r\n const includeTrialBalanceFileNameParam =\r\n includeTrialBalanceFileName == undefined\r\n ? ''\r\n : includeTrialBalanceFileName\r\n ? '&includeTrialBalanceFileName=true'\r\n : '&includeTrialBalanceFileName=false';\r\n return fetch(\r\n '/reits?clientId=' +\r\n clientId +\r\n includeInactiveParam +\r\n includeTrialBalanceFileNameParam,\r\n )\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(reitsForMO => {\r\n if (actionHelpers.isErrorResponse(reitsForMO)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_REITS_FOR_MO_FAILURE,\r\n reitsForMO,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_REITS_FOR_MO_SUCCESS,\r\n reitsForMO,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_REITS_FOR_MO_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the external REIT names belonging to the client. If successful this will dispatch the LOAD_REITS_EXTERNAL_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_REITS_EXTERNAL_FAILURE action.\r\n * @param {number} clientId The id of the client that owns the REITs.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchExternalReits(clientId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`reits/reitsExternal/${clientId}`)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(externalReits => {\r\n if (actionHelpers.isErrorResponse(externalReits)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_REITS_EXTERNAL_FAILURE,\r\n externalReits,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_REITS_EXTERNAL_SUCCESS,\r\n externalReits,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_REITS_EXTERNAL_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the REIT by period id.\r\n * @param {any} periodId The period id.\r\n * @param {any} checklistId The checklist id.\r\n * @param {any} checklistType The checklist type.\r\n * @returns {function} A Promise.\r\n */\r\nexport function fetchReitByPeriodId(periodId, checklistId, checklistType) {\r\n let authHeader = null;\r\n if (checklistId && checklistType) {\r\n authHeader = actionHelpers.buildAuthHeader(checklistId, checklistType);\r\n }\r\n return fetch(`/reits?periodId=${periodId}`, {\r\n headers: (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(data => {\r\n if (Array.isArray(data)) {\r\n return data[0];\r\n }\r\n\r\n return data;\r\n });\r\n}\r\n\r\n/**\r\n * Fetch the REIT by id. If successful this will dispatch the LOAD_RIET_SUCCESS action,\r\n * otherwise it will dispatch the LOAD_REIT_FAILURE action.\r\n * @param {number} id The id of the REIT\r\n * @returns {function} A function that returns a Promise\r\n */\r\nexport function fetchReit(id) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch('/reits/' + id)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(reit => {\r\n if (actionHelpers.isErrorResponse(reit)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_REIT_FAILURE,\r\n reit,\r\n );\r\n }\r\n\r\n clearActions.clearPeriod(dispatch);\r\n dispatch({ type: actions.LOAD_RIET_SUCCESS, reit, [pendingTask]: end });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_REIT_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Create a new REIT.\r\n * @param {any} reit The REIT\r\n * @returns {function} A Promise.\r\n */\r\nexport function createReit(reit) {\r\n return fetch('/reits', {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(reit),\r\n }).then(response => {\r\n return response.json();\r\n });\r\n}\r\n\r\n/**\r\n * Updates an existing REIT.\r\n * @param {any} reit The REIT\r\n * @returns {function} A Promise.\r\n */\r\nexport function updateReit(reit) {\r\n return fetch('/reits', {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'PUT',\r\n body: JSON.stringify(reit),\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n }\r\n\r\n return response.json();\r\n });\r\n}\r\n\r\n/**\r\n * Toggles the isActive property on the REIT and reloads REITs\r\n * @param {any} clientId The client id\r\n * @param {any} reitId The REIT id\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function toggleActiveFlagAndReloadReits(clientId, reitId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch('/reits/' + reitId)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(reit => {\r\n if (actionHelpers.isErrorResponse(reit)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.TOGGLE_REIT_ACTIVE_FLAG_FAILURE,\r\n reit,\r\n );\r\n }\r\n\r\n if (reit.isActive == null) {\r\n reit.isActive = false;\r\n } else {\r\n reit.isActive = !reit.isActive;\r\n }\r\n\r\n return updateReit(reit);\r\n })\r\n .then(data => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.TOGGLE_REIT_ACTIVE_FLAG_FAILURE,\r\n data,\r\n );\r\n }\r\n\r\n fetchReits(clientId, true)(dispatch);\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Downloads a list of tracking IDs\r\n * @param {any} clientId The client id\r\n * @param {any} showInactive True to include inactive clients, otherwise false\r\n * @returns {any} A Promise\r\n */\r\nexport function downloadIdList(clientId, showInactive, fileName) {\r\n return fetch(\r\n `/trackingids/${clientId}/download?showInactive=${showInactive}`,\r\n ).then(function (response) {\r\n return response.blob().then(function (blob) {\r\n download(blob, decodeURIComponentSafe(fileName,1));\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Downloads the TB Templates for the REIT and all Properties of a client. The template reporting period will be the real-time current quarter, unless a period ID is provided.\r\n * @param {number} clientId The client ID.\r\n * @param {bool} showInactive A flag to show inactive REITs along with the active.\r\n * @param {any} periodId The optional period ID to determine the template reporting period and properities of that period.\r\n * @returns {function} A Promise.\r\n */\r\nexport function downTbTemplates(clientId, showInactive, fileName, periodId) {\r\n let url = `/trackingids/${clientId}/templates?showInactive=${showInactive}&fileName=${fileName}`;\r\n if (periodId) {\r\n url += `&periodId=${periodId}`;\r\n }\r\n\r\n return fetch(url).then(function (response) {\r\n return response.blob().then(function (blob) {\r\n download(blob, decodeURIComponentSafe(fileName,1));\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Fetch all reit lookup data\r\n * @returns {Promise} A Promise\r\n */\r\n export function fetchReitLookupTypes() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/reits/lookupData`,\r\n {\r\n method: \"GET\"\r\n }).then(response => {\r\n return response.json();\r\n })\r\n .then(fetchedTypes => {\r\n dispatch({\r\n type: actions.LOAD_ALL_REIT_LOOKUPTYPES_SUCCESS,\r\n fetchedTypes,\r\n [pendingTask]: end,\r\n });\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Fetch all reit lookup data for External user\r\n * @returns {Promise} A Promise\r\n */\r\n export function fetchExternalReitLookupTypes(checklistId, checklistType) {\r\n return function (dispatch) {\r\n const authHeader = actionHelpers.buildAuthHeader(checklistId, checklistType);\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/reits/lookupData`,\r\n {\r\n method: \"GET\",\r\n headers: authHeader && new Headers({ 'Authorization': authHeader }) \r\n }).then(response => {\r\n return response.json();\r\n })\r\n .then(fetchedTypes => {\r\n dispatch({\r\n type: actions.LOAD_ALL_REIT_LOOKUPTYPES_SUCCESS,\r\n fetchedTypes,\r\n [pendingTask]: end,\r\n });\r\n });\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Fetch all the reits that have at least one report period in the given calendar year\r\n * @param {number} calendarYear The calendar year\r\n * @param {number} clientId The client ID.\r\n * @returns {function} A Promise.\r\n */\r\nexport function fetchCalendarYearReits(calendarYear, clientId){\r\n return function (dispatch) {\r\n dispatch({ type:actions.TASK_BEGIN, [pendingTask]: begin });\r\n \r\n return fetch(`/reits/calendarYearReits?calendarYear=${calendarYear}&clientId=${clientId}`, {method: \"GET\"})\r\n .then(response => { return response.json(); })\r\n .then(calendarYearReits => {\r\n if (actionHelpers.isErrorResponse(calendarYearReits)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CALENDAR_YEAR_REITS_FAILURE, calendarYearReits);\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return calendarYearReits;\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CALENDAR_YEAR_REITS_FAILURE, null, error);\r\n });\r\n }\r\n}","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from \"./actionTypes\";\r\nimport { fetchFromReitApi as fetch } from \"./fetchFromApi\";\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport * as reitActions from './reitActions';\r\n\r\n/**\r\n * Fetch all services scoped for the REIT period. If successful this will dispatch the LOAD_SERVICES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_SERVICES_FAILURE action.\r\n * @param {number} periodId The ID of the period that has the services.\r\n * @param {object} authHeader The (optional) authorization header.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchServicesByPeriod(periodId, authHeader) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n unloadServices();\r\n return fetchServicesByPeriodWithoutDispatch(periodId, authHeader).then(services => {\r\n if (actionHelpers.isErrorResponse(services)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_SERVICES_FAILURE, services);\r\n }\r\n\r\n return dispatch({ type: actions.LOAD_SERVICES_SUCCESS, services, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_SERVICES_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Dispatches the Unload Services action.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function unloadServices(){\r\n return function (dispatch){\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return dispatch({ type: actions.UNLOAD_SERVICES, [pendingTask]: end });\r\n };\r\n}\r\n\r\n/**\r\n * For the tabbed navigation component, fetch all services scoped for the REIT period. If successful this will dispatch the LOAD_NAVIGATION_SERVICES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_NAVIGATION_SERVICES_FAILURE action.\r\n * @param {number} periodId The ID of the period that has the services.\r\n * @param {object} authHeader The (optional) authorization header.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchNavigationServicesByPeriod(periodId, authHeader) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n unloadNavigationServices();\r\n return fetchServicesByPeriodWithoutDispatch(periodId, authHeader).then(navigationServices => {\r\n if (actionHelpers.isErrorResponse(navigationServices)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_NAVIGATION_SERVICES_FAILURE, navigationServices);\r\n }\r\n\r\n return dispatch({ type: actions.LOAD_NAVIGATION_SERVICES_SUCCESS, navigationServices, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_NAVIGATION_SERVICES_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Dispatches the Unload Navigation Services action.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function unloadNavigationServices(){\r\n return function (dispatch){\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return dispatch({ type: actions.UNLOAD_NAVIGATION_SERVICES, [pendingTask]: end });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all services scoped for the REIT period as an external user.If successful this will dispatch the LOAD_SERVICES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_SERVICES_FAILURE action.\r\n * @param {number} periodId The id of the period that owns the TRS.\r\n * @param {string} checklistId The id of the checklist.\r\n * @param {string} checklistType The checklist type.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchExternalServicesByPeriod(periodId, checklistId, checklistType) {\r\n return fetchServicesByPeriod(periodId, actionHelpers.buildAuthHeader(checklistId, checklistType));\r\n}\r\n\r\n/**\r\n * Fetch all services scoped for the REIT period and return the data from the response.\r\n * @param {number} periodId The ID of the period that has the services.\r\n * @param {object} authHeader The (optional) authorization header.\r\n * @returns {any} An array of services, or an error response if unsuccessful.\r\n */\r\nexport function fetchServicesByPeriodWithoutDispatch(periodId, authHeader) {\r\n if (!periodId) {\r\n periodId = -1;\r\n }\r\n\treturn fetch(`/services?periodId=${periodId}`,\r\n {\r\n headers: (authHeader && new Headers({ 'Authorization': authHeader })) || null\r\n }).then(response => {\r\n\t\treturn response.json();\r\n\t});\r\n}\r\n\r\n/**\r\n * Saves a services array to the REIT API database.\r\n * @param {number} reitId The ID of the REIT.\r\n * @param {number} periodId The ID of the period to fetch services for.\r\n * @param {any} services The services array\r\n * @returns {Promise} A Promise\r\n */\r\nexport function saveServices(reitId, periodId, services) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const payload = services;\r\n return fetch(`/services/${periodId}`,\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json, application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"PUT\",\r\n body: JSON.stringify(payload)\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n }\r\n\r\n return response.json();\r\n }).then(errorResponse => {\r\n if (actionHelpers.isErrorResponse(errorResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.CREATE_SERVICES_FAILURE, errorResponse);\r\n }\r\n \r\n dispatch({ type: actions.CREATE_SERVICES_SUCCESS, [pendingTask]: end });\r\n \r\n if (reitId > 0) { \r\n reitActions.fetchReit(reitId)(dispatch);\r\n }\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.CREATE_SERVICES_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { MotifTabNavigation, MotifTabControl } from \"@ey-xd/motif-react\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport '../../css/index.scss';\r\n\r\nconst TabbedNavigation = ({ clientId, reitId, periodId, currentLocation, navigationServices, clientIsAudit, router ,hasIncompleteSecuritySnapshotsList}) => {\r\n const reitLink = `/client/${clientId}/reit/${reitId}`;\r\n const baseLink = `${reitLink}/period/${periodId}/`;\r\n\r\n //Set current index to 2, i.e. Set \"TB Import\" tab as active tab\r\n let currentIndex = 2;\r\n\r\n //Set tab index based on current location\r\n if (currentLocation && baseLink) {\r\n switch (currentLocation.toLowerCase()) {\r\n case baseLink + \"uploadtb/adjusted\":\r\n currentIndex = 2;\r\n break;\r\n //If user has clicked on period link - e.g. /client/3/reit/3/period/13\r\n case baseLink.slice(0, -1):\r\n currentIndex = 2;\r\n break;\r\n case baseLink + \"assettest\":\r\n currentIndex = 3;\r\n break;\r\n case baseLink + \"incometest\":\r\n currentIndex = 4;\r\n break;\r\n case baseLink + \"distributiontest\":\r\n currentIndex = 5;\r\n break;\r\n case baseLink + \"leasereview\":\r\n currentIndex = 2;\r\n break;\r\n case baseLink + \"psq\":\r\n currentIndex = 7;\r\n break;\r\n case baseLink + \"arqc\":\r\n currentIndex = 8;\r\n break;\r\n case baseLink + \"report\":\r\n currentIndex = 9;\r\n break;\r\n default:\r\n currentIndex = -1;\r\n }\r\n }\r\n let hasIncompleteSecuritySnapshot;\r\n if( hasIncompleteSecuritySnapshotsList?.length > 0) {\r\n hasIncompleteSecuritySnapshot = hasIncompleteSecuritySnapshotsList.find(repPeriod => repPeriod.reportPeriodID === periodId)?.hasIncompleteSecuritySnapshot;\r\n\r\n }\r\n const [tabBar1, setTabBar1] = useState(currentIndex);\r\n const handleActiveTab1 = index => ((tabBar1 === index) ? 'motif-active' : 'tab-inactive');\r\n\r\n const handleClick = (index) => {\r\n switch (index) {\r\n case 1:\r\n router.navigate(reitLink);\r\n break;\r\n case 2:\r\n router.navigate(baseLink + \"uploadtb/adjusted\");\r\n break;\r\n case 3:\r\n router.navigate(baseLink + \"assettest\");\r\n break;\r\n case 4:\r\n router.navigate(baseLink + \"incometest\");\r\n break;\r\n case 5:\r\n router.navigate(baseLink + \"distributiontest\");\r\n break;\r\n case 6:\r\n window.open(process.env.EXTERNAL_LEASE_REVIEW_URL, \"_blank\");\r\n break;\r\n case 7:\r\n router.navigate(baseLink + \"psq\");\r\n break;\r\n case 8:\r\n router.navigate(baseLink + \"arqc\");\r\n break;\r\n case 9:\r\n router.navigate(baseLink + \"report\");\r\n break;\r\n default:\r\n currentIndex = -1;\r\n }\r\n\r\n //Avoid setting tab bar index for Lease Review selection\r\n if (index !== 6) {\r\n setTabBar1(index);\r\n }\r\n }\r\n\r\n //Sync tab button with currentIndex\r\n if (tabBar1 !== currentIndex && typeof handleClick === \"function\") {\r\n handleClick(currentIndex);\r\n }\r\n\r\n return (\r\n
\r\n \r\n handleClick(1)} role=\"tab\" tabIndex=\"0\">\r\n Overall\r\n \r\n handleClick(2)}\r\n disabled={clientIsAudit} tabIndex=\"0\">\r\n TB Import\r\n \r\n handleClick(3)}\r\n disabled={!navigationServices || !Array.isArray(navigationServices) || !navigationServices.includes(\"Asset Testing\") || clientIsAudit} tabIndex=\"0\">\r\n Asset Test\r\n \r\n handleClick(4)}\r\n disabled={!navigationServices || !Array.isArray(navigationServices) || !navigationServices.includes(\"Income Testing\") || clientIsAudit} tabIndex=\"0\">\r\n Income Test\r\n \r\n handleClick(5)}\r\n disabled={!navigationServices || !Array.isArray(navigationServices) || !navigationServices.includes(\"Distribution Testing\") || clientIsAudit} tabIndex=\"0\">\r\n Distribution Test\r\n \r\n handleClick(6)}\r\n disabled={!navigationServices || !Array.isArray(navigationServices) || !navigationServices.includes(\"Lease Review\") || clientIsAudit}\r\n tabIndex=\"0\">\r\n Lease Review\r\n \r\n handleClick(7)}\r\n disabled={!navigationServices || !Array.isArray(navigationServices) || !navigationServices.includes(\"PSQ\") || clientIsAudit} tabIndex=\"0\">\r\n PSQ\r\n \r\n handleClick(8)}\r\n disabled={ clientIsAudit ? false : \r\n (!navigationServices \r\n || !Array.isArray(navigationServices) \r\n || !navigationServices.includes(\"ARQC\") ) \r\n } tabIndex=\"0\">\r\n ARQC\r\n \r\n handleClick(9)} tabIndex=\"0\" disabled={hasIncompleteSecuritySnapshot}>\r\n Report\r\n \r\n \r\n
\r\n );\r\n\r\n};\r\n\r\nTabbedNavigation.propTypes = {\r\n clientId: PropTypes.number.isRequired,\r\n reitId: PropTypes.number.isRequired,\r\n periodId: PropTypes.number.isRequired,\r\n currentLocation: PropTypes.string.isRequired,\r\n services: PropTypes.array,\r\n navigationServices: PropTypes.array,\r\n clientIsAuditOnly: PropTypes.bool,\r\n hasIncompleteSecuritySnapshotsList: PropTypes.array\r\n};\r\n\r\nexport default withRouter(TabbedNavigation);","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as actions from \"../../actions/servicesActions\";\r\nimport TabbedNavigation from '../../components/shared/TabbedNavigation';\r\n\r\n\r\n/**\r\n * Container component used for uploading trial balance files\r\n */\r\nexport class TabbedNavigationContainer extends React.Component {\r\n /**\r\n * Creates a new TrialBalanceUploadPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return ();\r\n }\r\n\r\n}\r\n\r\nTabbedNavigationContainer.propTypes = {\r\n clientId: PropTypes.number.isRequired,\r\n reitId: PropTypes.number.isRequired,\r\n periodId: PropTypes.number.isRequired,\r\n currentLocation: PropTypes.string,\r\n navigationServices: PropTypes.array,\r\n clientIsAuditOnly: PropTypes.bool,\r\n actions: PropTypes.object.isRequired,\r\n hasIncompleteSecuritySnapshotsList: PropTypes.array\r\n};\r\n\r\nTabbedNavigationContainer.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps Existing properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n let result = {\r\n periodId: Number.parseInt(ownProps.periodId),\r\n clientId: Number.parseInt(ownProps.clientId),\r\n reitId: Number.parseInt(ownProps.reitId),\r\n currentLocation: ownProps.currentLocation,\r\n navigationServices: state.navigationServices,\r\n clientIsAudit: state.client && state.client.isAudit,\r\n hasIncompleteSecuritySnapshotsList: ownProps.hasIncompleteSecuritySnapshotsList\r\n };\r\n return result;\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(actions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(TabbedNavigationContainer);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst ErrorSummaryItem = ({ validationError }) => {\r\n return (
  • {validationError.message}
  • );\r\n};\r\n\r\nErrorSummaryItem.propTypes = {\r\n validationError: PropTypes.shape({\r\n message: PropTypes.string.isRequired\r\n })\r\n};\r\n\r\nexport default ErrorSummaryItem;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Message } from 'semantic-ui-react';\r\nimport ErrorSummaryItem from './ErrorSummaryItem';\r\nimport { MotifToast } from '@ey-xd/motif-react';\r\n\r\nconst ErrorSummary = ({ errorResponse, handleDismiss }) => {\r\n if (!errorResponse) {\r\n return ();\r\n }\r\n //errorResponse = [{message: \"error\"},{message: \"error\"},{message: \"error\"}];\r\n if (Array.isArray(errorResponse.validationErrors) && errorResponse.validationErrors.filter(x => x.message).length > 0) {\r\n return (\r\n \r\n

    The following error(s) occurred:

    \r\n
      \r\n {errorResponse.validationErrors.map((x, i) =>
    • {x.message}
    • )}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n \r\n {errorResponse.message || errorResponse.Message}\r\n \r\n );\r\n};\r\n\r\nErrorSummary.propTypes = {\r\n errorResponse: PropTypes.shape({\r\n validationError: PropTypes.shape({\r\n message: PropTypes.string.isRequired\r\n })\r\n }),\r\n handleDismiss: PropTypes.func\r\n};\r\n\r\nexport default ErrorSummary;","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport { stopSubmit } from 'redux-form';\r\nimport * as actions from './actionTypes';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n/**\r\n * Clears the error from state.\r\n * @returns {any} A function that dispatches an action\r\n */\r\nexport function clearErrorResponse() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.CLEAR_ERROR_RESPONSE });\r\n };\r\n}\r\n\r\n/**\r\n * Change the dismissUsersMessage state.\r\n * @returns {any} A function that dispatches an action\r\n */\r\nexport function dismissUsersMessage() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.CLEAR_USERS_MESSAGE });\r\n };\r\n}\r\n\r\n/**\r\n * Increases the running task count (for the loading spinner)\r\n * @returns {any} A function that dispatches an action\r\n */\r\nexport function beginTask() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n };\r\n}\r\n\r\n/**\r\n * Decreases the running task count (for the loading spinner)\r\n * @returns {any} A function that dispatches an action\r\n */\r\nexport function endTask() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n };\r\n}\r\n\r\n/**\r\n * Clears the form of any errors.\r\n * @param {string} formName The name of the form.\r\n * @returns {any} A function that dispatches an action\r\n */\r\nexport function clearFormErrors(formName) {\r\n return function (dispatch) {\r\n dispatch(stopSubmit(formName, {}));\r\n };\r\n}\r\n\r\n/**\r\n * Dispatches an error and decreases the running task count.\r\n * @param {any} error The error to dispatch.\r\n * @returns {any} A function that dispatches an action\r\n */\r\nexport function dispatchErrorAndEndTask(error) {\r\n return function (dispatch) {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.ERROR, null, error);\r\n };\r\n}","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport * as reitActions from './reitActions';\r\nimport { fetchFromReitApi as fetch } from \"./fetchFromApi\";\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport * as clearActions from './clearDependentsActions';\r\n\r\nconst createTypes = [\r\n \"Previous\",\r\n \"Next\",\r\n \"Default\"\r\n];\r\n\r\nconst periodStatuses = {\r\n NotStarted: \"Not Started\",\r\n Planned: \"Planned\",\r\n InProgress: \"In Progress\",\r\n ClosedToTesting: \"Closed to Testing\",\r\n ClosedToReporting: \"Closed to Reporting\",\r\n Complete: \"Complete\"\r\n};\r\n\r\nexport { createTypes };\r\n\r\nexport { periodStatuses };\r\n\r\n/**\r\n * Gets a period from the REIT\r\n * @param {Number} periodId The period ID\r\n * @param {Object} reit The REIT that contains the period\r\n * @returns {Function} A function that dispatches an action\r\n */\r\nexport function getPeriodFromReit(periodId, reit) {\r\n return function (dispatch) {\r\n let period = null;\r\n if (reit && Array.isArray(reit.periods) && periodId) {\r\n period = reit.periods.find(item => item.reportPeriodID === parseInt(periodId));\r\n }\r\n\r\n clearActions.clearProperty(dispatch);\r\n dispatch({ type: actions.LOAD_PERIOD_SUCCESS, period });\r\n };\r\n}\r\n\r\n/**\r\n * Creates a new period.\r\n * @param {any} reitId The REIT id\r\n * @param {number} quarter A number between 1 and 4 representing the quarter portion of the period to create\r\n * @param {number} year The year portion of the period to create\r\n * @param {bool} shouldRefresh True to reload the REIT, otherwise false.\r\n * @returns {Promise} A Promise\r\n */\r\nexport function createPeriod(reitId, quarter, year, shouldRefresh) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const payload = {\r\n \"reitId\": reitId,\r\n \"quarter\": quarter,\r\n \"year\": year\r\n };\r\n\r\n const isShouldRefresh = shouldRefresh;\r\n return fetch(`/periods`,\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json, application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify(payload)\r\n }).then(response => {\r\n return response.json();\r\n }).then(checklist => {\r\n if (actionHelpers.isErrorResponse(checklist)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.UPDATE_CHECKLIST_FAILURE, checklist);\r\n }\r\n\r\n if (isShouldRefresh) {\r\n reitActions.fetchReit(reitId)(dispatch);\r\n }\r\n\r\n dispatch({ type: actions.UPDATE_CHECKLIST_SUCCESS, checklist, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.UPDATE_CHECKLIST_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Gets the current period\r\n * @param {any} reit The REIT to retrieve the period for.\r\n * @returns {any} The period.\r\n */\r\nexport function getCurrentPeriod(reit) {\r\n if (!reit || !Array.isArray(reit.periods)) {\r\n return null;\r\n }\r\n\r\n const period = reit.periods.sort((a, b) => new Date(b.endDate) - new Date(a.endDate)).find(x => x.reportPeriodTypeDescription.toLowerCase() === 'quarterly');\r\n\r\n return period;\r\n}\r\n\r\n/**\r\n * Saves a period to the REIT API database.\r\n * @param {any} periodId The period ID\r\n * @param {any} status The status of the period.\r\n * @param {bool} isShouldRefresh True to reload the REIT, otherwise false.\r\n * @param {any} trialBalanceMode The trial balance mode.\r\n * @returns {Promise} A Promise\r\n * http://localhost:10356/api/periods/4\r\n */\r\nexport function savePeriod(periodId, status, isShouldRefresh, trialBalanceMode) {\r\n if (!trialBalanceMode) {\r\n trialBalanceMode = 0; //Unknown Mode\r\n }\r\n\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const payload = {\r\n \"status\": status,\r\n \"trialBalanceMode\": trialBalanceMode\r\n };\r\n\r\n return fetch(`/periods/${periodId}`,\r\n {\r\n headers: {\r\n 'Accept': \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"PUT\",\r\n body: JSON.stringify(payload)\r\n }).then(response => {\r\n return response.json();\r\n }).then(period => {\r\n if (actionHelpers.isErrorResponse(period)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.UPDATE_PERIOD_STATUS_FAILURE, period);\r\n }\r\n\r\n dispatch({ type: actions.UPDATE_PERIOD_STATUS_SUCCESS, period, [pendingTask]: end });\r\n if (isShouldRefresh) {\r\n reitActions.fetchReit(period.reitid)(dispatch);\r\n }\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.UPDATE_PERIOD_STATUS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch period by ID. If successful this will dispatch the LOAD_PERIOD_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_PERIOD_FAILURE action.\r\n * @param {number} periodId The ID of the period.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchPeriodById(periodId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/periods/${periodId}`).then(response => {\r\n return response.json();\r\n }).then(period => {\r\n if (actionHelpers.isErrorResponse(period)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_PERIOD_FAILURE, period);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_PERIOD_SUCCESS, period, [pendingTask]: end });\r\n return period;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_PERIOD_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch period by ID.\r\n * @param {number} periodId The ID of the period.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fastFetchPeriodById(periodId) {\r\n return fetch(`/periods/${periodId}`).then(response => {\r\n return response.json();\r\n }).catch(error => {\r\n throw error;\r\n });\r\n}\r\n\r\n/**\r\n * Fetch period by ID.\r\n * @param {number} periodId The ID of the period.\r\n * @param {string} checklistId The id of the checklist\r\n * @param {string} checklistType The type of the checklist\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fastFetchExternalPeriodById(periodId, checklistId, checklistType) {\r\n const authHeader = actionHelpers.buildAuthHeader(checklistId, \"ARQC\");\r\n return fetch(`/periods/${periodId}`, {\r\n headers: authHeader && new Headers({ 'Authorization': authHeader })\r\n }).then(response => {\r\n return response.json();\r\n }).catch(error => {\r\n throw error;\r\n });\r\n}\r\n\r\n/**\r\n * Fetch period by ID.\r\n * @param {number} periodId The ID of the period.\r\n * @param {string} checklistId The id of the checklist\r\n * @param {string} checklistType The type of the checklist\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchExternalPeriodById(periodId, checklistId, checklistType) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const authHeader = actionHelpers.buildAuthHeader(checklistId, checklistType);\r\n return fetch(`/periods/${periodId}`, {\r\n headers: authHeader && new Headers({ 'Authorization': authHeader })\r\n }).then(response => {\r\n return response.json();\r\n }).then(period => {\r\n if (actionHelpers.isErrorResponse(period)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_PERIOD_FAILURE, period);\r\n }\r\n\r\n return dispatch({ type: actions.LOAD_PERIOD_SUCCESS, period, [pendingTask]: end });\r\n }).catch(error => {\r\n throw error;\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Determines if testing is enabled for a period.\r\n * @param {any} period The period\r\n * @returns {bool} False if the period is closed to testing, closed to reporting, or complete, otherwise true.\r\n */\r\nexport function isTestingEnabled(period) {\r\n if (period.reportPeriodStatusDescription == periodStatuses.ClosedToTesting\r\n || period.reportPeriodStatusDescription == periodStatuses.ClosedToReporting\r\n || period.reportPeriodStatusDescription == periodStatuses.Complete) {\r\n\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\n/**\r\n * Determines if reporting is enabled for a period\r\n * @param {any} period The period\r\n * @returns {bool} False if the period is closed to reporting or complete, otherwise true.\r\n */\r\nexport function isReportingEnabled(period) {\r\n if (period.reportPeriodStatusDescription == periodStatuses.ClosedToReporting\r\n || period.reportPeriodStatusDescription == periodStatuses.Complete) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\n/**\r\n * Determines if file upload is enabled for a period\r\n * @param {any} period The period\r\n * @returns {bool} False if the period is complete, otherwise true.\r\n */\r\nexport function isFileUploadEnabled(period) {\r\n if (period.reportPeriodStatusDescription == periodStatuses.Complete) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\n\r\n/**\r\n * Fetch Report periods by Client Id. If successful this will dispatch the LOAD_PERIODS_BY_CLIENT_ID_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_PERIODS_BY_CLIENT_ID_FAILURE action.\r\n * @param {number} clientId The ID of the report period.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchReportPeriodsByClientId(clientId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/periods/client/${clientId}`).then(response => {\r\n return response.json();\r\n }).then(periods => {\r\n if (actionHelpers.isErrorResponse(periods)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_PERIODS_BY_CLIENT_ID_FAILURE, periods);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_PERIODS_BY_CLIENT_ID_SUCCESS, periods, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_PERIODS_BY_CLIENT_ID_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Message } from 'semantic-ui-react';\r\nimport { Link } from \"react-router-dom\";\r\nimport ErrorSummary from '../shared/ErrorSummary';\r\nimport { MotifToast, MotifTextLink } from '@ey-xd/motif-react';\r\n\r\nconst Notification = ({ item, handleDismiss }) => {\r\n const onDismissNotification = () => {\r\n handleDismiss(item.notificationGUID);\r\n };\r\n\r\n const completedActionList = ['trialbalancecomplete', 'bulkreportpackagecomplete', 'bulkprocesscomplete', 'bulkrollforwardcomplete', 'checklistcomplete'];\r\n const failuereActionList = ['trialbalancefailure', 'bulkreportpackagefailure', 'bulkprocessfailure', 'bulkrollforwardfailure', 'checklistfailure'];\r\n const infoActionList = ['trialbalanceinformation', 'bulkreportpackageinformation', 'bulkprocessinformation', 'bulkrollforwardinformation', 'checklistinformation'];\r\n\r\n if (!item) {\r\n return null;\r\n }\r\n\r\n if (item.notificationTypeDescription.toLowerCase() === \"propertymappingdiff\") {\r\n if (!item.notificationContent || !item.notificationContent.message) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n

    {item.notificationContent.message}

    \r\n

    \r\n {item.notificationContent.linkText}\r\n
    \r\n );\r\n }\r\n \r\n if (infoActionList.includes(item.notificationTypeDescription.toLowerCase())) {\r\n if (!item.notificationContent || !item.notificationContent.message) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n

    {item.notificationContent.message}

    \r\n
    \r\n );\r\n }\r\n\r\n if (completedActionList.includes(item.notificationTypeDescription.toLowerCase())) {\r\n if (!item.notificationContent || !item.notificationContent.message) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n

    {item.notificationContent.message}

    \r\n
    \r\n );\r\n }\r\n\r\n if (failuereActionList.includes(item.notificationTypeDescription.toLowerCase())) {\r\n if (!item.notificationContent || (!item.notificationContent.message && !item.notificationContent.error)) {\r\n return null;\r\n }\r\n\r\n if (item.notificationContent.error) {\r\n const errorResponse = item.notificationContent.error;\r\n\r\n if (Array.isArray(errorResponse.validationErrors) && errorResponse.validationErrors.filter(x => x.message).length > 0) {\r\n return (\r\n \r\n

    {errorResponse.message}:

    \r\n
      \r\n {errorResponse.validationErrors.map((x, i) =>
    • {x.message}
    • )}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n \r\n

    {errorResponse.message}

    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n \r\n

    {item.notificationContent.message}

    \r\n
    \r\n );\r\n }\r\n\r\n if (!item.notificationContent || !item.notificationContent.message) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n

    {item.notificationContent.message}

    \r\n
    \r\n );\r\n};\r\n\r\nNotification.propTypes = {\r\n item: PropTypes.object,\r\n handleDismiss: PropTypes.func.isRequired\r\n};\r\n\r\nexport default Notification;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as notificationActions from '../../actions/notificationActions';\r\nimport Notification from '../../components/notifications/Notification';\r\nimport { MotifButton } from '@ey-xd/motif-react';\r\n\r\n/**\r\n * Notifications container component\r\n * @extends {React.Component}\r\n */\r\nexport class Notifications extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.onDismissNotification = this.onDismissNotification.bind(this);\r\n this.onDismissAllNotifications = this.onDismissAllNotifications.bind(this);\r\n }\r\n\r\n onDismissNotification(id) {\r\n this.props.notificationActions.clearNotification(id, this.props.currentUserId);\r\n }\r\n\r\n onDismissAllNotifications(e) {\r\n e.preventDefault();\r\n this.props.notificationActions.clearAllNotifications(this.props.currentUserId);\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n if (!Array.isArray(this.props.notifications) || this.props.notifications.length === 0) {\r\n return (\r\n

    There are no notifications to show

    \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n Clear all\r\n \r\n
    \r\n {this.props.notifications.map(item => )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nNotifications.propTypes = {\r\n notifications: PropTypes.array,\r\n currentUserId: PropTypes.string.isRequired,\r\n notificationActions: PropTypes.object.isRequired\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n notifications: state.notifications,\r\n currentUserId: state.authentication.currentUser\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n notificationActions: bindActionCreators(notificationActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Notifications);","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as trialBalanceActions from '../../actions/trialBalanceActions';\r\nimport * as Constants from '../../constants/other';\r\nimport { store } from \"../../store/configureStore\";\r\n\r\n/**\r\n * Container component used for uploading trial balance files\r\n */\r\nexport default class UploadQueueWatcher extends React.Component {\r\n /**\r\n * Creates a new TrialBalanceUploadPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.processLoop = this.processLoop.bind(this);\r\n this.processUploadQueue = this.processUploadQueue.bind(this);\r\n }\r\n\r\n processLoop() {\r\n this.processUploadQueue();\r\n const self = this;\r\n window.setTimeout(self.processLoop, 2000);\r\n }\r\n\r\n processUploadQueue() {\r\n const state = store.getState();\r\n const uploadProcesses = state.uploadProcesses;\r\n const uploadQueue = state.uploadQueue;\r\n\r\n let currentQueueSize = 0;\r\n let currentProcesses = uploadProcesses || 0;\r\n\r\n if (currentProcesses >= Constants.MAX_UPLOAD_PROCESSES) {\r\n return;\r\n }\r\n\r\n if (Array.isArray(uploadQueue)) {\r\n currentQueueSize = uploadQueue.length;\r\n }\r\n\r\n if (currentQueueSize === 0) {\r\n return;\r\n }\r\n\r\n let userId = state.authentication.currentUser;\r\n\r\n let item = uploadQueue[0];\r\n trialBalanceActions.uploadTrialBalanceWithProgress(item.file, item.fileName, item.uploadId, userId)(store.dispatch);\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n this.processLoop();\r\n return null;\r\n }\r\n}\r\n\r\nUploadQueueWatcher.propTypes = {\r\n store: PropTypes.object\r\n};","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter, \r\n MotifFileUploader\r\n} from \"@ey-xd/motif-react\";\r\nimport * as Constants from \"../../constants/other\";\r\n/**\r\n * Container component used for uploading trial balance files\r\n */\r\nexport class BulkUploadModal extends React.Component {\r\n /**\r\n * Creates a new TrialBalanceUploadPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.renderUploadProgress = this.renderUploadProgress.bind(this);\r\n this.onDrop = this.onDrop.bind(this);\r\n this.getQueueCount = this.getQueueCount.bind(this);\r\n\r\n this.state = {\r\n fileStatuses: [],\r\n fileTypes: {\r\n \"application/vnd.ms-excel\": [\".xlsx\"],\r\n },\r\n };\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n // If modal is shown\r\n if (this.props.showBulkUpload && !prevProps.showBulkUpload) {\r\n this.getQueueCount();\r\n this.timer = setInterval(this.getQueueCount, 3500);\r\n } else if (!this.props.showBulkUpload && prevProps.showBulkUpload) {\r\n // else if modal is hidden\r\n if (this.timer) {\r\n clearInterval(this.timer);\r\n this.timer = null;\r\n }\r\n }\r\n }\r\n\r\n getQueueCount() {\r\n this.props.fetchQueueCount();\r\n }\r\n\r\n onDrop(acceptedFiles, rejectedFiles) {\r\n if (!this.props.client) {\r\n return;\r\n }\r\n\r\n const addedStatuses = [];\r\n this.props.clearUploadTrialBalanceProgress();\r\n\r\n if (Array.isArray(acceptedFiles)) {\r\n acceptedFiles = acceptedFiles.filter(f => f.error === undefined);\r\n const acceptedFileStatuses = acceptedFiles.map((file) => ({\r\n file,\r\n status: \"PENDING\",\r\n }));\r\n\r\n const notifyStatus = (file, status) => {\r\n acceptedFileStatuses\r\n .filter((s) => s.file === file)\r\n .forEach((s) => (s.status = status));\r\n\r\n this.setState({ fileStatuses: [...this.state.fileStatuses] });\r\n };\r\n\r\n addedStatuses.push(...acceptedFileStatuses);\r\n this.props.addFilesToQueue(\r\n acceptedFiles,\r\n this.props.currentUserId,\r\n this.props.client.id,\r\n notifyStatus\r\n );\r\n }\r\n\r\n if (Array.isArray(rejectedFiles)) {\r\n const rejectedFileStatuses = rejectedFiles.map((file) => ({\r\n file: file.file,\r\n status: \"REJECTED\",\r\n }));\r\n\r\n addedStatuses.push(...rejectedFileStatuses);\r\n // this.props.notifyRejectedFiles(rejectedFiles, this.props.currentUserId);\r\n }\r\n\r\n this.setState({\r\n fileStatuses: [...this.state.fileStatuses, ...addedStatuses],\r\n });\r\n }\r\n\r\n renderUploadProgress() {\r\n const getClassNameAndMessage = (status, fileSize) => {\r\n if (status === \"PENDING\") {\r\n return { className: \"row\", message: \"Pending Upload\" };\r\n }\r\n\r\n if (status === \"ERROR\") {\r\n return {\r\n className: \"row bg-danger text-white\",\r\n message: \"Upload Error\",\r\n };\r\n }\r\n\r\n if (status === \"IN_PROGRESS\") {\r\n return {\r\n className: \"row bg-secondary text-white\",\r\n message: \"Upload In Progress\",\r\n };\r\n }\r\n\r\n if (status === \"UPLOADED\") {\r\n return {\r\n className: \"row bg-success text-white\",\r\n message: \"File Uploaded. Check progress in notifications sidebar.\",\r\n };\r\n }\r\n\r\n if (status === \"REJECTED\") {\r\n return {\r\n className: \"row bg-danger text-white\",\r\n message:\r\n fileSize > Constants.MAX_UPLOAD_FILE_SIZE_IN_BYTES\r\n ? \"The file size has exceeded max limit of \" +\r\n Constants.MAX_UPLOAD_FILE_SIZE_IN_MB +\r\n \"MB.\"\r\n : \"Invalid file extension.\",\r\n };\r\n }\r\n\r\n return { className: \"row bg-warning\", message: \"Status Unknown\" };\r\n };\r\n\r\n return this.state.fileStatuses.map((item, index) => (\r\n \r\n
    {item.file.name}
    \r\n
    \r\n {getClassNameAndMessage(item.status, item.file.size).message}\r\n
    \r\n \r\n ));\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n const clear = () => {\r\n this.props.hideBulkUploadModal();\r\n\r\n // clear everything except PENDING and IN_PROGRESS\r\n this.setState({\r\n fileStatuses: this.state.fileStatuses.filter(\r\n (x) => x.status === \"PENDING\" || x.status === \"IN_PROGRESS\"\r\n ),\r\n });\r\n };\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n return (\r\n \r\n \r\n \r\n Client Trial Balance Upload\r\n \r\n \r\n \r\n this.onDrop(null, e)} \r\n label=\"Drop files here or click to upload\"\r\n accept={this.state.fileTypes}\r\n maxSize={Constants.MAX_UPLOAD_FILE_SIZE_IN_BYTES}\r\n data-test-id=\"attachmentFileUpload\"\r\n tabIndex=\"-1\"/> \r\n
    \r\n {this.renderUploadProgress()}\r\n
    \r\n
    \r\n \r\n \r\n Close\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nBulkUploadModal.propTypes = {\r\n uploadProgress: PropTypes.array,\r\n fetchQueueCount: PropTypes.func.isRequired,\r\n clearUploadTrialBalanceProgress: PropTypes.func.isRequired,\r\n addFilesToQueue: PropTypes.func.isRequired,\r\n notifyRejectedFiles: PropTypes.func.isRequired,\r\n currentUserId: PropTypes.string.isRequired,\r\n processingQueueCount: PropTypes.number,\r\n showBulkUpload: PropTypes.bool.isRequired,\r\n hideBulkUploadModal: PropTypes.func.isRequired,\r\n client: PropTypes.object,\r\n};\r\n\r\nexport default BulkUploadModal;\r\n","import React, {useState} from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Message } from 'semantic-ui-react';\r\nimport ErrorSummaryItem from './ErrorSummaryItem';\r\nimport { MotifToast } from '@ey-xd/motif-react';\r\n\r\nconst ReitSuiteUsersMessage = ({ errorResponse, handleDismiss, expireDate }) => {\r\n const expireDateObject = new Date(expireDate);\r\n const todaysDate = new Date();\r\n\r\n if (expireDateObject < todaysDate){\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n

    New Trial Balance and Account Mapping Import Template

    \r\n

    Please download the latest REITSuite Trial Balance Import template and Account Mapping Import template associated with your clients and REITs. Historical REITSuite import templates are no longer compatible.

    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nReitSuiteUsersMessage.propTypes = {\r\n handleDismiss: PropTypes.func\r\n};\r\n\r\nexport default ReitSuiteUsersMessage;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { MotifFormField, MotifLabel } from '@ey-xd/motif-react';\r\n\r\n/**\r\n * Footer container component\r\n * @extends {React.Component}\r\n */\r\nexport class Footer extends React.Component {\r\n /**\r\n * Creates a new Footer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = { userId: \"\", };\r\n }\r\n\r\n render() {\r\n //Get current year\r\n let year = (new Date().getFullYear());\r\n // let theme = localStorage.getItem('showDarkTheme') === 'true' ? 'black' : 'white';\r\n \r\n return (\r\n
    \r\n \r\n © {year} Ernst & Young LLP | All Rights Reserved | Content within this application is confidential and meant for EY staff, EY clients and their designates.\r\n \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nFooter.propTypes = { \r\n theme: PropTypes.string, \r\n};\r\n\r\nFooter.contextTypes = { \r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties belonging to this component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n let result = { \r\n theme: state.themeServices,\r\n };\r\n\r\n return result;\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return { \r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Footer);\r\n","// errorSummaryHelper.js\r\n\r\n// Helper function to determine if the main error summary should be hidden\r\nconst shouldHideMainErrorSummary = (location) => {\r\n // Define regex patterns for paths where the main error summary should be hidden\r\n const hideErrorSummaryPatterns = [\r\n /^\\/client\\/[^/]+\\/reit\\/[^/]+\\/files\\/?$/i,\r\n /^\\/client\\/[^/]+\\/reit\\/[^/]+\\/period\\/[^/]+\\/files\\/?$/i,\r\n /^\\/client\\/[^/]+\\/reit\\/[^/]+\\/period\\/[^/]+\\/uploadtb\\/[^/]+\\/?$/i,\r\n ];\r\n\r\n // Check if the current location's pathname matches any of the hideErrorSummaryPatterns\r\n return hideErrorSummaryPatterns.some(pattern => pattern.test(location.pathname));\r\n};\r\n\r\nexport default shouldHideMainErrorSummary;","import { useState, useEffect } from 'react';\r\n\r\n function useWindowDimensions(subtractHeight = 0) {\r\n const [dimensions, setDimensions] = useState({\r\n height: window.innerHeight - subtractHeight,\r\n width: window.innerWidth - (window.innerWidth < 680 ? 0 : 47),\r\n });\r\n\r\n useEffect(() => {\r\n const handleResize = () => {\r\n setDimensions({\r\n height: window.innerHeight - subtractHeight,\r\n width: window.innerWidth - (window.innerWidth < 680 ? 0 : 47),\r\n });\r\n };\r\n\r\n window.addEventListener('resize', handleResize);\r\n\r\n return () => {\r\n window.removeEventListener('resize', handleResize);\r\n };\r\n }, []);\r\n\r\n return dimensions;\r\n}\r\n\r\nexport default useWindowDimensions;","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from \"./actionTypes\";\r\nimport { fetchFromReitApi as fetch } from \"./fetchFromApi\";\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n/**\r\n * Fetch all Securities Snapshot records belonging to the reit period. If successful this will dispatch the LOAD_SECURITIES_SNAPSHOTS_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_SECURITIES_SNAPSHOTS_FAILURE action.\r\n * @param {number} periodId The id of the period that owns the snapshot.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchSecuritiesSnapshotByPeriod(periodId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/securities?reportPeriodId=${periodId}`).then(response => {\r\n return response.json();\r\n }).then(securitiesSnapshots => {\r\n if (actionHelpers.isErrorResponse(securitiesSnapshots)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_SECURITIES_SNAPSHOTS_FAILURE, securitiesSnapshots);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_SECURITIES_SNAPSHOTS_SUCCESS, securitiesSnapshots, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_SECURITIES_SNAPSHOTS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Saves a securities snapshot to the REIT API database.\r\n * @param {any} secruitiesSnapshot The securities snapshot to save.\r\n * @returns {Promise} A Promise\r\n */\r\nexport function saveSecuritiesSnapshot(secruitiesSnapshot) {\r\n const payload = secruitiesSnapshot;\r\n\r\n return fetch(\"/Securities\",\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json, application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify(payload)\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n }\r\n\r\n return response.json();\r\n });\r\n}\r\n\r\n/**\r\n * Updates a securities snapshot to the REIT API database.\r\n * @param {any} securitiesSnapshot The securities snapshot\r\n * @returns {Promise} A Promise\r\n * http://localhost:5000/api/securities/3\r\n */\r\nexport function updateSecuritiesSnapshot(securitiesSnapshot) {\r\n const period = securitiesSnapshot.reportPeriodID;\r\n const payload = {\r\n \"securitiesSnapshotID\": securitiesSnapshot.securitiesSnapshotID,\r\n \"allSharesFromIssuerValue\": securitiesSnapshot.allSharesFromIssuerValue,\r\n \"class\": securitiesSnapshot.class,\r\n \"issuer\": securitiesSnapshot.issuer,\r\n \"securityName\": securitiesSnapshot.securityName,\r\n \"reitOwnedSharesValue\": securitiesSnapshot.reitOwnedSharesValue,\r\n \"percentOfVote\": securitiesSnapshot.percentOfVote,\r\n \"isTenPercentValueTestDisabled\": securitiesSnapshot.isTenPercentValueTestDisabled,\r\n \"isSystemGenerated\": securitiesSnapshot.isSystemGenerated\r\n };\r\n\r\n return fetch(`/securities/${securitiesSnapshot.securitiesSnapshotID}`,\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"PUT\",\r\n body: JSON.stringify(payload)\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n }\r\n\r\n return response.json();\r\n });\r\n}\r\n\r\n/**\r\n * Deletes a securities snapshot to the REIT API database.\r\n * @param {any} securitiesSnapshot The securities snapshot to delete\r\n * @returns {Promise} A Promise\r\n * http://localhost:5000/api/securitiesSnapshot/3\r\n */\r\nexport function deleteSecuritiesSnapshot(securitiesSnapshot) {\r\n return fetch(`/securities/${securitiesSnapshot.securitiesSnapshotID}`,\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"DELETE\"\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n }\r\n\r\n return response.json();\r\n });\r\n}\r\n\r\n/**\r\n * get Incomplete Security Snapshot records belonging to the reit and report period. If successful this will dispatch the GET_INCOMPLETE_SECURITIES_SNAPSHOTS_SUCCESS\r\n * action, otherwise it will dispatch the GET_INCOMPLETE_SECURITIES_SNAPSHOTS_FAILURE action.\r\n * @param {number} clientID\r\n * @param {number} reitID\r\n * @param {number} reportPeriodID\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function getIncompleteSecuritySnapshotDetails(clientID, reitID, reportPeriodID,pageName=null) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/securities/getIncompleteSecuritySnapshotsDetail?clientID=${clientID}&reitID=${reitID}&reportPeriodID=${reportPeriodID}&pageName=${pageName}`)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((incompleteSecuritiesSnapshots) => {\r\n if (actionHelpers.isErrorResponse(incompleteSecuritiesSnapshots)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.GET_INCOMPLETE_SECURITIES_SNAPSHOTS_FAILURE,\r\n null\r\n );\r\n }\r\n dispatch({\r\n type: actions.GET_INCOMPLETE_SECURITIES_SNAPSHOTS_SUCCESS,\r\n incompleteSecuritiesSnapshots,\r\n [pendingTask]: end,\r\n });\r\n return incompleteSecuritiesSnapshots;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.GET_INCOMPLETE_SECURITIES_SNAPSHOTS_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * get Incomplete Security Snapshot records belonging to the reit and report period (WITHOUT DISPATCH). \r\n * @param {number} clientID\r\n * @param {number} reitID\r\n * @param {number} reportPeriodID\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function getIncompleteSecuritySnapshotDetailsWithoutDispatch(clientID, reitID, reportPeriodID,pageName=null) {\r\n return fetch(`/securities/getIncompleteSecuritySnapshotsDetail?clientID=${clientID}&reitID=${reitID}&reportPeriodID=${reportPeriodID}&pageName=${pageName}`)\r\n .then((response) => {\r\n return response.json();\r\n }); \r\n}\r\n","import React, { useState, useEffect, useContext,useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link, useLocation, useNavigate, useParams, useMatches, Outlet } from 'react-router-dom';\r\nimport { connect, useSelector, useDispatch } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport Breadcrumbs from '../components/shared/Breadcrumbs';\r\nimport { MotifIcon, MotifButton, MotifDropdown, MotifDropdownItem } from '@ey-xd/motif-react';\r\nimport { IconoirNavArrowDown, IconoirXmark } from '@ey-xd/motif-icon';\r\nimport ReactModal from 'react-modal';\r\nimport { Menu, Segment, Sidebar } from 'semantic-ui-react';\r\nimport TabbedNavigationContainer from './shared/TabbedNavigationContainer';\r\nimport ErrorSummary from '../components/shared/ErrorSummary';\r\nimport * as commonActionsImported from \"../actions/commonActions\";\r\nimport * as authActions from \"../actions/authActions\";\r\nimport * as notificationActionsImported from \"../actions/notificationActions\";\r\nimport * as servicesActionsImported from \"../actions/servicesActions\";\r\nimport * as periodActionsImported from \"../actions/periodActions\";\r\nimport * as trialBalanceActionsImported from '../actions/trialBalanceActions';\r\nimport Notifications from \"./notifications/Notifications\";\r\nimport UploadQueueWatcher from \"./tb/UploadQueueWatcher2\";\r\nimport { BulkUploadModal } from '../components/tb/BulkUploadModal';\r\nimport ReitSuiteUsersMessage from '../components/shared/ReitSuiteUsersMessage';\r\nimport { withMsal } from \"@azure/msal-react\";\r\nimport Footer from '../components/Footer';\r\nimport shouldHideMainErrorSummary from '../scripts/errorSummaryHelper';\r\nimport useWindowDimensions from '../common/useWindowDimensions';\r\nimport * as securitiesSnapshotActionsImported from '../actions/securitiesSnapshotActions';\r\n// Helper function to determine if the tab navigation should be shown\r\nconst shouldShowTabNav = (location) => {\r\n // Define regex patterns for paths where the tab navigation should be shown\r\n // Currently we will show the tab nav on any of the client pages, as long as you are 1 level deep.\r\n // So we will NOT match on /client/1\r\n // But we WILL match on /client/1/edit\r\n const tabNavPatterns = [\r\n /^\\/client\\/\\d+\\/reit\\/\\d+\\/period\\/.+/i,\r\n ];\r\n\r\n // if this hits a match, we will not show the tab navigation\r\n // New or Edit Client page should not show tab nav\r\n const excludeTabNavPatterns = [\r\n /^\\/client\\/edit\\/?$/i,\r\n /^\\/client\\/\\d+\\/edit\\/?$/i,\r\n /^.*\\/psqrecord\\/\\d+\\/?$/i,\r\n /^.*\\/arqcrecord\\/\\d+\\/?$/i,\r\n /^.*\\/preview\\/\\d+\\/?$/i,\r\n /^.*\\/helpGuide\\/\\d+\\/?$/i,\r\n ];\r\n\r\n // Check if the current location's pathname matches any of the tabNavPatterns\r\n return tabNavPatterns.some(pattern => pattern.test(location.pathname))\r\n && !excludeTabNavPatterns.some(pattern => pattern.test(location.pathname));\r\n};\r\n\r\nconst shouldShowBreadcrumbs = (location) => {\r\n return location.pathname.toLowerCase().indexOf(\"/psqrecord\") < 0 &&\r\n location.pathname.toLowerCase().indexOf(\"/arqcrecord\") < 0 &&\r\n location.pathname.toLowerCase().indexOf(\"/preview\") < 0 &&\r\n location.pathname.toLowerCase().indexOf(\"/helpGuide\") < 0 ;\r\n};\r\n\r\nconst loadingModalStyle = {\r\n content: {\r\n backgroundColor: 'transparent',\r\n border: 'none',\r\n color: 'white',\r\n textAlign: 'center',\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: '60%',\r\n overflow: 'none' // <-- This tells the modal to scroll\r\n }\r\n};\r\n\r\n// Functional component Main\r\nconst Main = (props) => { \t\t\t\t\t\t\t\t\t\t\r\n const [clientDropdownOpen, setClientDropdownOpen] = useState(false);\r\n const [showEngagementAdminForDataStewardAssignmentModal, setShowEngagementAdminForDataStewardAssignmentModal] = useState(false);\r\n\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const params = useParams();\r\n const matches = useMatches();\r\n const dispatch = useDispatch();\r\n\r\n const handleCloseNotifications = (e) => {\r\n e.preventDefault();\t\t\r\n dispatch(notificationActionsImported.toggleNotificationsDisplay());\r\n };\r\n\r\n const handleDismissErrorMessage = () => {\r\n dispatch(commonActionsImported.clearErrorResponse());\r\n };\r\n\r\n const handleDismissUsersMessage = () => {\r\n dispatch(commonActionsImported.dismissUsersMessage());\r\n };\r\n\r\n const handleClientManagementDropdownToggle = () => {\r\n setClientDropdownOpen(!clientDropdownOpen);\r\n };\r\n\r\n const closeClientManagementDropdown = () => {\r\n setClientDropdownOpen(false);\r\n }; \r\n \r\n // Use useSelector to access the Redux state\r\n const {\r\n client,\r\n reit,\r\n period,\r\n pendingTasks,\r\n errorResponse,\r\n dismissUsersMessage,\r\n currentUserAuthorizations,\r\n showNotifications,\r\n uploadProgress,\r\n currentUserId,\r\n processingQueueCount,\r\n showBulkUpload,\r\n incompleteSecuritiesSnapshots\r\n } = useSelector((state) => {\r\n return {\r\n client: state.client,\r\n reit: state.reit,\r\n period: state.period,\r\n pendingTasks: state.pendingTasks,\r\n errorResponse: state.errorResponse,\r\n dismissUsersMessage: state.dismissUsersMessage,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n showNotifications: state.showNotifications,\r\n uploadProgress: state.uploadProgress,\r\n currentUserId: state.authentication ? state.authentication?.currentUser : '',\r\n processingQueueCount: state.processingQueueCount,\r\n showBulkUpload: state.showBulkUploadModal,\r\n incompleteSecuritiesSnapshots: state.incompleteSecuritiesSnapshots,\r\n };\r\n });\r\n\r\n const commonActions = bindActionCreators(commonActionsImported, dispatch);\r\n const notificationActions = bindActionCreators(notificationActionsImported, dispatch);\r\n const servicesActions = bindActionCreators(servicesActionsImported, dispatch);\r\n const periodActions = bindActionCreators(periodActionsImported, dispatch);\r\n const securitiesSnapshotActions= bindActionCreators(securitiesSnapshotActionsImported, dispatch);\r\n // Define individual action dispatchers for trial balance actions\r\n const clearUploadTrialBalanceProgress = () => dispatch(trialBalanceActionsImported.clearUploadTrialBalanceProgress());\r\n const addFilesToQueue = (files, userId, clientId, notifyStatus) => dispatch(trialBalanceActionsImported.addFilesToQueue(files, userId, clientId, notifyStatus));\r\n const notifyRejectedFiles = (files, userId) => dispatch(trialBalanceActionsImported.notifyRejectedFiles(files, userId));\r\n const fetchQueueCount = () => dispatch(trialBalanceActionsImported.fetchQueueCount());\r\n const showBulkUploadModal = () => dispatch(trialBalanceActionsImported.showBulkUploadModal());\r\n const hideBulkUploadModal = () => dispatch(trialBalanceActionsImported.hideBulkUploadModal());\r\n\r\n const endsWithOptionalSlash = (str, endsWithStr) => {\r\n return str.endsWith(endsWithStr) || str.endsWith(`${endsWithStr}/`);\r\n };\r\n const closeButtonRef = useRef(null);\r\n // Use useEffect to focus the close button when the sidebar is shown\r\n useEffect(() => {\r\n if (showNotifications && closeButtonRef.current) {\r\n closeButtonRef.current.focus();\r\n }\r\n }, [showNotifications]);\r\n\r\n const getDisplayName = (match) => {\r\n const { params, pathname } = match;\r\n\r\n // Check if the pathname includes the expected pattern with dynamic segments\r\n if (endsWithOptionalSlash(pathname, `/client/${params.clientId}`)) {\r\n return client && client.name ? client.name : '...';\r\n } else if (endsWithOptionalSlash(pathname, `/reit/${params.reitId}`)) {\r\n return reit && reit.reitName ? reit.reitName : '...';\r\n } else if (endsWithOptionalSlash(pathname, `/period/${params.periodId}`)) {\r\n return period && period.reportPeriodDescription ? period.reportPeriodDescription : '...';\r\n } else {\r\n // If the route has a name, use it; otherwise, use the last segment of the pathname (which really should never happen)\r\n return match.handle?.name || pathname.split('/').pop();\r\n }\r\n };\r\n\r\n // Function to set the page title based on the route's displayName\r\n const handleTabPageLocation = () => {\r\n // Filter out matches that don't have a name (e.g., the root match)\r\n const filteredMatches = matches.filter((match) => match.handle?.name);\r\n\r\n let tabTitle = '';\r\n let pages = filteredMatches.filter(x => x.handle?.name).map((match) => {\r\n return getDisplayName(match);\r\n }).reverse();\r\n\r\n pages.push('EY REITSuite');\r\n tabTitle = pages.join(' | ');\r\n document.title = tabTitle;\r\n };\r\n\r\n // ... (other handler functions)\r\n\r\n // Replace getBreadcrumbsAction with a function that uses hooks\r\n const getBreadcrumbsAction = () => {\r\n if (Array.isArray(currentUserAuthorizations)) {\r\n let links = [];\r\n\r\n let newClientLink = ;\r\n\r\n if (authActions.isSystemAdministrator(currentUserAuthorizations) && location.pathname && (location.pathname === \"/\" || location.pathname === \"/clients\")) {\r\n newClientLink = { navigate(`/client/edit`) }}>New Client;\r\n } else if (client && client.id && (authActions.isSystemAdministrator(currentUserAuthorizations) || authActions.isEngagementAdministrator(currentUserAuthorizations, client.id)) && location.pathname && location.pathname.indexOf(\"/client/\") >= 0 && location.pathname.indexOf(\"/edit\") == -1) {\r\n links.push({\r\n key: \"client\",\r\n as: Link,\r\n to: \"/client/\" + client.id + \"/edit\",\r\n text: \"Client Settings\",\r\n dataTestId: 'btnClientSettings'\r\n });\r\n }\r\n\r\n if (client\r\n && client.id\r\n && (authActions.isSystemAdministrator(currentUserAuthorizations)\r\n || authActions.isEngagementAdministrator(currentUserAuthorizations, client.id)\r\n || authActions.isUser(currentUserAuthorizations, client.id))\r\n && location.pathname &&\r\n location.pathname.indexOf(\"/client/\") >= 0\r\n && location.pathname.indexOf(\"/checklistManagement\") == -1\r\n && location.pathname.indexOf(\"/manageChecklist\") == -1) {\r\n links.push({\r\n key: \"checklistManagement\",\r\n as: Link,\r\n to: \"/client/\" + client.id + \"/checklistManagement\",\r\n text: \"Checklist Management\",\r\n dataTestId: 'btnChecklistManagement'\r\n });\r\n }\r\n\r\n if (client\r\n && client.id\r\n && !client.isAudit\r\n && (authActions.isSystemAdministrator(currentUserAuthorizations)\r\n || authActions.isEngagementAdministrator(currentUserAuthorizations, client.id)\r\n || authActions.isUser(currentUserAuthorizations, client.id))\r\n && location.pathname &&\r\n location.pathname.indexOf(\"/client/\") >= 0\r\n && location.pathname.indexOf(\"/customPsqTemplate\") == -1) {\r\n links.push({\r\n key: \"customPSQTemplate\",\r\n as: Link,\r\n to: \"/client/\" + client.id + \"/customPsqTemplate\",\r\n text: \"Custom PSQ Template\",\r\n dataTestId: 'btnCustomPSQTemplate'\r\n });\r\n }\r\n\r\n if (client\r\n && client.id\r\n && !client.isAudit\r\n && (authActions.isSystemAdministrator(currentUserAuthorizations)\r\n || authActions.isEngagementAdministrator(currentUserAuthorizations, client.id)\r\n || authActions.isUser(currentUserAuthorizations, client.id))\r\n && location.pathname &&\r\n location.pathname.indexOf(\"/client/\") >= 0\r\n && location.pathname.indexOf(\"/customFdrTemplate\") == -1) {\r\n links.push({\r\n key: \"customFDRTemplate\",\r\n as: Link,\r\n to: \"/client/\" + client.id + \"/customFdrTemplate\",\r\n text: \"Custom FDR Template\",\r\n dataTestId: 'btnCustomFDRTemplate'\r\n });\r\n }\r\n\r\n if (client\r\n && client.id\r\n && !client.isAudit\r\n && (authActions.isSystemAdministrator(currentUserAuthorizations)\r\n || authActions.isEngagementAdministrator(currentUserAuthorizations, client.id))\r\n && location.pathname &&\r\n location.pathname.indexOf(\"/client/\") >= 0\r\n && location.pathname.indexOf(\"/chartOfAccountsManager\") == -1) {\r\n links.push({\r\n key: \"coaManager\",\r\n as: Link,\r\n to: \"/client/\" + client.id + \"/chartOfAccountsManager\",\r\n text: \"Chart of Accounts Manager\",\r\n className: \"btn btn-primary\",\r\n dataTestId: 'btnCoaManager'\r\n });\r\n }\r\n\r\n if (client\r\n && client.id\r\n && (authActions.isSystemAdministrator(currentUserAuthorizations)\r\n || authActions.isEngagementAdministrator(currentUserAuthorizations, client.id)\r\n || authActions.isUser(currentUserAuthorizations, client.id))\r\n && location.pathname &&\r\n location.pathname.indexOf(\"/client/\") >= 0\r\n && location.pathname.indexOf(\"/bulkReportManagement\") == -1) {\r\n links.push({\r\n key: \"bulkReportManagement\",\r\n as: Link,\r\n to: \"/client/\" + client.id + \"/bulkReportManagement\",\r\n text: \"Bulk Report Management\",\r\n className: \"btn btn-primary\",\r\n dataTestId: 'btnBulkReportManagement'\r\n });\r\n }\r\n\r\n if (client\r\n && client.id\r\n && (authActions.isSystemAdministrator(currentUserAuthorizations)\r\n || authActions.isEngagementAdministrator(currentUserAuthorizations, client.id)\r\n || authActions.isUser(currentUserAuthorizations, client.id))\r\n && location.pathname &&\r\n location.pathname.indexOf(\"/client/\") >= 0\r\n && location.pathname.indexOf(\"/bulkProcessManagement\") == -1) {\r\n links.push({\r\n key: \"bulkProcessManagement\",\r\n as: Link,\r\n to: \"/client/\" + client.id + \"/bulkProcessManagement\",\r\n text: \"Bulk Process Management\",\r\n className: \"btn btn-primary\",\r\n dataTestId: 'btnBulkProcessManagement'\r\n });\r\n }\r\n\r\n if (client\r\n && client.id\r\n && (authActions.isSystemAdministrator(currentUserAuthorizations)\r\n || authActions.isEngagementAdministrator(currentUserAuthorizations, client.id)\r\n || authActions.isUser(currentUserAuthorizations, client.id))\r\n && location.pathname &&\r\n location.pathname.indexOf(\"/client/\") >= 0\r\n && location.pathname.indexOf(\"/bulkRollForward\") == -1) {\r\n links.push({\r\n key: \"bulkRollForward\",\r\n as: Link,\r\n to: \"/client/\" + client.id + \"/bulkRollForward\",\r\n text: \"Bulk Roll Forward\",\r\n className: \"btn btn-primary\",\r\n dataTestId: 'btnBulkRollForward'\r\n });\r\n }\r\n if (client\r\n && client.id\r\n && (authActions.isSystemAdministrator(currentUserAuthorizations)\r\n || authActions.isEngagementAdministrator(currentUserAuthorizations, client.id)\r\n || authActions.isUser(currentUserAuthorizations, client.id))\r\n && location.pathname &&\r\n location.pathname.indexOf(\"/client/\") >= 0\r\n && location.pathname.indexOf(\"/dataRetentionManagement\") == -1) {\r\n links.push({\r\n key: \"dataRetentionManagement\",\r\n as: Link,\r\n to: \"/client/\" + client.id + \"/dataRetentionManagement\",\r\n text: \"Data Retention Management\",\r\n className: \"btn btn-primary\",\r\n dataTestId: 'btnDataRetentionManagement'\r\n });\r\n }\r\n if ( \r\n location.pathname \r\n && location.pathname.indexOf(\"/dataStewardRoleManagement\") != -1) {\r\n links = [];\r\n }\r\n if ( \r\n location.pathname \r\n && location.pathname.indexOf(\"/missingDeletionApproval\") != -1) {\r\n links = [];\r\n }\r\n // Hide Client Management dropdown if user is on bulk report management page and isLockedForMissingDeletionApprovalOrException flag is true\r\n if (client && client.isLockedForMissingDeletionApprovalOrException === true \r\n && location.pathname \r\n && location.pathname.indexOf(\"/bulkReportManagement\") != -1\r\n ) {\r\n links = [];\r\n }\r\n // Hide Client Management dropdown if user is on data retention management page and isLockedForMissingDeletionApprovalOrException flag is true\r\n if (client && client.isLockedForMissingDeletionApprovalOrException === true \r\n && (!authActions.isSystemAdministrator(currentUserAuthorizations)) \r\n && location.pathname \r\n && location.pathname.indexOf(\"/dataRetentionManagement\") != -1\r\n ) {\r\n links = [];\r\n }\r\n const dropDownLinks = (links.length > 0 ?\r\n
    \r\n
    \r\n \r\n Client Management \r\n \r\n }\r\n >\r\n {links.map((link, index) => {link.text})}\r\n
    : );\r\n\r\n return \r\n {newClientLink}\r\n {dropDownLinks}\r\n ;\r\n }\r\n\r\n return ();\r\n };\r\n\r\n // Use the helper functions with the current location\r\n const showTabNav = shouldShowTabNav(location);\r\n const showBreadcrumbs = shouldShowBreadcrumbs(location);\r\n const hideMainErrorSummary = shouldHideMainErrorSummary(location);\r\n\r\n useEffect(() => {\r\n if (params.periodId) {\r\n servicesActions.fetchNavigationServicesByPeriod(params.periodId);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (location.pathname !== props.currentLocation) {\r\n commonActions.clearErrorResponse();\r\n }\r\n handleTabPageLocation();\r\n }, [location]);\r\n\r\n useEffect(() => {\r\n if (params.periodId) {\r\n servicesActions.fetchNavigationServicesByPeriod(params.periodId);\r\n periodActions.fetchPeriodById(params.periodId);\r\n }\r\n }, [params.periodId]);\r\n\r\n\r\n // Handle client, reit, or period updates to call handleTabPageLocation()\r\n useEffect(() => {\r\n handleTabPageLocation();\r\n }, [client, reit, period]);\r\n useEffect(() => { \r\n if (params.periodId) { \r\n securitiesSnapshotActions.getIncompleteSecuritySnapshotDetails(params.clientId, params.reitId, params.periodId);\r\n }\r\n }, []);\r\n const { height } = useWindowDimensions(72);\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    Notifications

    \r\n
    \t\t\t\t\t\t\t\t\t\t \r\n \r\n
    \r\n \r\n
    \r\n \t\t\t\t\t\t\t\t\t\t\r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n {showBreadcrumbs &&\r\n
    \r\n
    \r\n \r\n
    \r\n
    {getBreadcrumbsAction()}
    \r\n
    \r\n }\r\n\r\n {showTabNav &&\r\n \r\n }\r\n
    \r\n {errorResponse && !hideMainErrorSummary && (\r\n \r\n )}\r\n {!dismissUsersMessage && (\r\n \r\n )}\r\n
    \r\n \r\n
    \r\n {location.pathname &&\r\n !location.pathname.toLowerCase().includes(\"/template\") &&\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {(pendingTasks > 0 && ( \r\n
    \r\n
    \r\n \"Loading...\" \r\n ...loading...please wait...\r\n
    \r\n
    )) }\r\n \r\n
    \r\n );\r\n};\r\n\r\nMain.propTypes = {\r\n routes: PropTypes.array,\r\n params: PropTypes.object,\r\n client: PropTypes.object,\r\n reit: PropTypes.object,\r\n period: PropTypes.object,\r\n currentLocation: PropTypes.string,\r\n showTabNav: PropTypes.bool,\r\n hideMainErrorSummary: PropTypes.bool,\r\n pendingTasks: PropTypes.number,\r\n errorResponse: PropTypes.object,\r\n currentUserAuthorizations: PropTypes.array,\r\n containerHeight: PropTypes.number.isRequired,\r\n commonActions: PropTypes.object.isRequired,\r\n notificationActions: PropTypes.object.isRequired,\r\n servicesActions: PropTypes.object.isRequired,\r\n showNotifications: PropTypes.bool.isRequired\r\n};\r\n\r\nexport default (withMsal(Main));\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n// import React from 'react';\r\n// import PropTypes from 'prop-types';\r\n// import { Link } from 'react-router-dom';\r\n// import { connect } from 'react-redux';\r\n// import { bindActionCreators } from 'redux';\r\n// import Breadcrumbs from 'react-breadcrumbs';\r\n// import { MotifBreadcrumb, MotifBreadcrumbItem, MotifIcon, MotifButton, MotifDropdown, MotifDropdownItem } from '@ey-xd/motif-react';\r\n// import { navigationIcClose24px, navigationIcArrowDropDown24px } from '@ey-xd/motif-react/assets/icons';\r\n// \r\n// import { Menu, Segment, Sidebar } from 'semantic-ui-react';\r\n// import Dimensions from 'react-dimensions';\r\n// import TabbedNavigationContainer from './shared/TabbedNavigationContainer';\r\n// import ErrorSummary from '../components/shared/ErrorSummary';\r\n// import * as commonActions from \"../actions/commonActions\";\r\n// import * as authActions from \"../actions/authActions\";\r\n// import * as notificationActions from \"../actions/notificationActions\";\r\n// import * as servicesActions from \"../actions/servicesActions\";\r\n// import * as periodActions from \"../actions/periodActions\";\r\n// import * as trialBalanceActions from '../actions/trialBalanceActions';\r\n// import Notifications from \"./notifications/Notifications\";\r\n// import UploadQueueWatcher from \"./tb/UploadQueueWatcher2\";\r\n// import { BulkUploadModal } from '../components/tb/BulkUploadModal';\r\n// import ReitSuiteUsersMessage from '../components/shared/ReitSuiteUsersMessage';\r\n// import { withMsal } from \"@azure/msal-react\";\r\n// import Footer from '../components/Footer';\r\n\r\n// /**\r\n// * LoginPage container component\r\n// * @extends {React.Component}\r\n// */\r\n// export class Main extends React.Component {\r\n// /**\r\n// * Creates a new LoginPage\r\n// * @constructor\r\n// * @param {Object} props The component properties\r\n// * @param {Object} context The component context\r\n// */\r\n// constructor(props, context) {\r\n// super(props, context);\r\n\r\n// this.state = {\r\n// clientDropdownOpen: false\r\n// }\r\n\r\n// this.handleDismissErrorMessage = this.handleDismissErrorMessage.bind(this);\r\n// this.handleDismissUsersMessage = this.handleDismissUsersMessage.bind(this);\r\n// this.handleCloseNotifications = this.handleCloseNotifications.bind(this);\r\n// this.handleClientManagementDropdownToggle = this.handleClientManagementDropdownToggle.bind(this);\r\n// this.closeClientManagementDropdown = this.closeClientManagementDropdown.bind(this);\r\n// }\r\n\r\n// componentDidMount() {\r\n// this.props.servicesActions.fetchNavigationServicesByPeriod(this.props.params.periodId);\r\n// if (this.props.params.periodId && !this.props.periodId) {\r\n// this.props.periodActions.fetchPeriodById(this.props.params.periodId);\r\n// }\r\n\r\n// }\r\n\r\n// componentDidUpdate(prevProps) {\r\n// if (prevProps.currentLocation !== this.props.currentLocation) {\r\n// this.props.commonActions.clearErrorResponse();\r\n// }\r\n\r\n// if (prevProps.params.periodId !== this.props.params.periodId) {\r\n\r\n// this.props.servicesActions.fetchNavigationServicesByPeriod(this.props.params.periodId);\r\n// }\r\n\r\n// if (\r\n// prevProps.routes !== this.props.routes ||\r\n// prevProps.client !== this.props.client ||\r\n// prevProps.period !== this.props.period ||\r\n// prevProps.reit !== this.props.reit\r\n// ) {\r\n// this.handleTabPageLocation(this.props.routes);\r\n// }\r\n// }\r\n\r\n// handleTabPageLocation(routes) {\r\n// let tabTitle = '';\r\n// let tabTitlesArray = [];\r\n// let pathTitlesToReName = ['client'];\r\n// routes.forEach((route, index) => {\r\n// if (index == 0 || (index == routes.length - 1 && !route.path)) return;\r\n// let initialPath = route.path.split('/')[0];\r\n// let currentTitle = '';\r\n// if (typeof route.getDisplayName === 'function') {\r\n// currentTitle = route.getDisplayName();\r\n// }\r\n// if (route.name && !pathTitlesToReName.includes(initialPath)) {\r\n// currentTitle = route.name;\r\n// }\r\n// tabTitlesArray.unshift(currentTitle);\r\n// });\r\n// tabTitlesArray.push('EY REITSuite');\r\n// tabTitle = tabTitlesArray.join(' | ');\r\n// window.document.title = tabTitle;\r\n// }\r\n\r\n// handleCloseNotifications(e) {\r\n// e.preventDefault();\r\n// this.props.notificationActions.toggleNotificationsDisplay();\r\n// }\r\n\r\n// handleDismissErrorMessage() {\r\n// this.props.commonActions.clearErrorResponse();\r\n// }\r\n\r\n// handleDismissUsersMessage() {\r\n// this.props.commonActions.dismissUsersMessage();\r\n// }\r\n\r\n// handleClientManagementDropdownToggle() {\r\n// this.setState({ clientDropdownOpen: !this.state.clientDropdownOpen })\r\n// }\r\n\r\n// closeClientManagementDropdown() {\r\n// this.setState({ clientDropdownOpen: false })\r\n// }\r\n\r\n// getBreadcrumbsAction() {\r\n// if (Array.isArray(this.props.currentUserAuthorizations)) {\r\n// const links = [];\r\n\r\n// let newClientLink = ;\r\n\r\n// if (authActions.isSystemAdministrator(this.props.currentUserAuthorizations) && this.props.currentLocation && (this.props.currentLocation === \"/\" || this.props.currentLocation === \"/clients\")) {\r\n// newClientLink = { this.context.router.push(`/client/edit`) }}>New Client;\r\n// } else if (this.props.client && this.props.client.id && (authActions.isSystemAdministrator(this.props.currentUserAuthorizations) || authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, this.props.client.id)) && this.props.currentLocation && this.props.currentLocation.indexOf(\"/client/\") >= 0 && this.props.currentLocation.indexOf(\"/edit\") == -1) {\r\n// links.push({\r\n// key: \"client\",\r\n// as: Link,\r\n// to: \"/client/\" + this.props.client.id + \"/edit\",\r\n// text: \"Client Settings\",\r\n// dataTestId: 'btnClientSettings'\r\n// });\r\n// }\r\n\r\n// if (this.props.client\r\n// && this.props.client.id\r\n// && (authActions.isSystemAdministrator(this.props.currentUserAuthorizations)\r\n// || authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, this.props.client.id)\r\n// || authActions.isUser(this.props.currentUserAuthorizations, this.props.client.id))\r\n// && this.props.currentLocation &&\r\n// this.props.currentLocation.indexOf(\"/client/\") >= 0\r\n// && this.props.currentLocation.indexOf(\"/checklistManagement\") == -1\r\n// && this.props.currentLocation.indexOf(\"/manageChecklist\") == -1) {\r\n// links.push({\r\n// key: \"checklistManagement\",\r\n// as: Link,\r\n// to: \"/client/\" + this.props.client.id + \"/checklistManagement\",\r\n// text: \"Checklist Management\",\r\n// dataTestId: 'btnChecklistManagement'\r\n// });\r\n// }\r\n\r\n// if (this.props.client\r\n// && this.props.client.id\r\n// && !this.props.client.isAudit\r\n// && (authActions.isSystemAdministrator(this.props.currentUserAuthorizations)\r\n// || authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, this.props.client.id)\r\n// || authActions.isUser(this.props.currentUserAuthorizations, this.props.client.id))\r\n// && this.props.currentLocation &&\r\n// this.props.currentLocation.indexOf(\"/client/\") >= 0\r\n// && this.props.currentLocation.indexOf(\"/customPsqTemplate\") == -1) {\r\n// links.push({\r\n// key: \"customPSQTemplate\",\r\n// as: Link,\r\n// to: \"/client/\" + this.props.client.id + \"/customPsqTemplate\",\r\n// text: \"Custom PSQ Template\",\r\n// dataTestId: 'btnCustomPSQTemplate'\r\n// });\r\n// }\r\n\r\n// if (this.props.client\r\n// && this.props.client.id\r\n// && !this.props.client.isAudit\r\n// && (authActions.isSystemAdministrator(this.props.currentUserAuthorizations)\r\n// || authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, this.props.client.id)\r\n// || authActions.isUser(this.props.currentUserAuthorizations, this.props.client.id))\r\n// && this.props.currentLocation &&\r\n// this.props.currentLocation.indexOf(\"/client/\") >= 0\r\n// && this.props.currentLocation.indexOf(\"/customFdrTemplate\") == -1) {\r\n// links.push({\r\n// key: \"customFDRTemplate\",\r\n// as: Link,\r\n// to: \"/client/\" + this.props.client.id + \"/customFdrTemplate\",\r\n// text: \"Custom FDR Template\",\r\n// dataTestId: 'btnCustomFDRTemplate'\r\n// });\r\n// }\r\n\r\n// if (this.props.client\r\n// && this.props.client.id\r\n// && !this.props.client.isAudit\r\n// && (authActions.isSystemAdministrator(this.props.currentUserAuthorizations)\r\n// || authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, this.props.client.id))\r\n// && this.props.currentLocation &&\r\n// this.props.currentLocation.indexOf(\"/client/\") >= 0\r\n// && this.props.currentLocation.indexOf(\"/chartOfAccountsManager\") == -1) {\r\n// links.push({\r\n// key: \"coaManager\",\r\n// as: Link,\r\n// to: \"/client/\" + this.props.client.id + \"/chartOfAccountsManager\",\r\n// text: \"Chart of Accounts Manager\",\r\n// className: \"btn btn-primary\",\r\n// dataTestId: 'btnCoaManager'\r\n// });\r\n// }\r\n\r\n// if (this.props.client\r\n// && this.props.client.id\r\n// && (authActions.isSystemAdministrator(this.props.currentUserAuthorizations)\r\n// || authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, this.props.client.id)\r\n// || authActions.isUser(this.props.currentUserAuthorizations, this.props.client.id))\r\n// && this.props.currentLocation &&\r\n// this.props.currentLocation.indexOf(\"/client/\") >= 0\r\n// && this.props.currentLocation.indexOf(\"/bulkReportManagement\") == -1) {\r\n// links.push({\r\n// key: \"bulkReportManagement\",\r\n// as: Link,\r\n// to: \"/client/\" + this.props.client.id + \"/bulkReportManagement\",\r\n// text: \"Bulk Report Management\",\r\n// className: \"btn btn-primary\",\r\n// dataTestId: 'btnBulkReportManagement'\r\n// });\r\n// }\r\n\r\n// if (this.props.client\r\n// && this.props.client.id\r\n// && (authActions.isSystemAdministrator(this.props.currentUserAuthorizations)\r\n// || authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, this.props.client.id)\r\n// || authActions.isUser(this.props.currentUserAuthorizations, this.props.client.id))\r\n// && this.props.currentLocation &&\r\n// this.props.currentLocation.indexOf(\"/client/\") >= 0\r\n// && this.props.currentLocation.indexOf(\"/bulkProcessManagement\") == -1) {\r\n// links.push({\r\n// key: \"bulkProcessManagement\",\r\n// as: Link,\r\n// to: \"/client/\" + this.props.client.id + \"/bulkProcessManagement\",\r\n// text: \"Bulk Process Management\",\r\n// className: \"btn btn-primary\",\r\n// dataTestId: 'btnBulkProcessManagement'\r\n// });\r\n// }\r\n\r\n// if (this.props.client\r\n// && this.props.client.id\r\n// && (authActions.isSystemAdministrator(this.props.currentUserAuthorizations)\r\n// || authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, this.props.client.id)\r\n// || authActions.isUser(this.props.currentUserAuthorizations, this.props.client.id))\r\n// && this.props.currentLocation &&\r\n// this.props.currentLocation.indexOf(\"/client/\") >= 0\r\n// && this.props.currentLocation.indexOf(\"/bulkRollForward\") == -1) {\r\n// links.push({\r\n// key: \"bulkRollForward\",\r\n// as: Link,\r\n// to: \"/client/\" + this.props.client.id + \"/bulkRollForward\",\r\n// text: \"Bulk Roll Forward\",\r\n// className: \"btn btn-primary\",\r\n// dataTestId: 'btnBulkRollForward'\r\n// });\r\n// }\r\n\r\n// const dropDownLinks = (links.length > 0 ?\r\n// \r\n// Client Management \r\n// \r\n// }\r\n// >\r\n// {links.map((link, index) => {link.text})}\r\n// : );\r\n\r\n// return \r\n// {newClientLink}\r\n// {dropDownLinks}\r\n// ;\r\n// }\r\n\r\n// return ();\r\n// }\r\n\r\n// /**\r\n// * Render a React element\r\n// * @returns {Object} A reference to the component\r\n// */\r\n// render() {\r\n// const loadingModalStyle = {\r\n// content: {\r\n// backgroundColor: 'transparent',\r\n// border: 'none',\r\n// color: 'white',\r\n// textAlign: 'center',\r\n// top: '50%',\r\n// left: '50%',\r\n// right: 'auto',\r\n// bottom: 'auto',\r\n// marginRight: '-50%',\r\n// transform: 'translate(-50%, -50%)',\r\n// width: '60%',\r\n// overlfow: 'none' // <-- This tells the modal to scrol\r\n// }\r\n// };\r\n\r\n// MotifBreadcrumb.defaultProps = {\r\n// triggerButtonProps: {\r\n// title: 'Custom Trigger Button title',\r\n// 'aria-label': 'Custom Trigger Button aria-label'\r\n// },\r\n// };\r\n\r\n\r\n// return (\r\n//
    \r\n// \r\n// \r\n//
    \r\n//

    Notifications

    \r\n//
    \r\n// \r\n//
    \r\n// \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.currentLocation &&\r\n// this.props.currentLocation.toLowerCase().indexOf(\"/psqrecord\") < 0 &&\r\n// this.props.currentLocation.toLowerCase().indexOf(\"/arqcrecord\") < 0 &&\r\n// this.props.currentLocation.toLowerCase().indexOf(\"/preview\") < 0 &&\r\n//
    \r\n//
    \r\n// \r\n//
    \r\n//
    {this.getBreadcrumbsAction()}
    \r\n//
    \r\n// }\r\n// {(this.props.showTabNav && this.props.currentLocation &&\r\n// this.props.currentLocation.toLowerCase().indexOf(\"/psqrecord\") < 0 &&\r\n// this.props.currentLocation.toLowerCase().indexOf(\"/arqcrecord\") < 0 &&\r\n// ) || null}\r\n//
    \r\n// {(this.props.errorResponse && !this.props.hideMainErrorSummary && ) || null}\r\n// {!this.props.dismissUsersMessage && }\r\n//
    \r\n// {this.props.children}\r\n//
    \r\n// {this.props.currentLocation &&\r\n// this.props.currentLocation.toLowerCase().indexOf(\"/template\") < 0 &&\r\n//
    {this.props.children}
    \r\n// }\r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n// \r\n// 0} contentLabel=\"\" style={loadingModalStyle} overlayClassName=\"spinner-overlay\">\r\n// ...loading...please wait...\r\n// \r\n// \r\n//
    \r\n// );\r\n// }\r\n// }\r\n\r\n// Main.propTypes = {\r\n// children: PropTypes.element,\r\n// routes: PropTypes.array,\r\n// params: PropTypes.object,\r\n// client: PropTypes.object,\r\n// reit: PropTypes.object,\r\n// period: PropTypes.object,\r\n// currentLocation: PropTypes.string,\r\n// showTabNav: PropTypes.bool,\r\n// hideMainErrorSummary: PropTypes.bool,\r\n// pendingTasks: PropTypes.number,\r\n// errorResponse: PropTypes.object,\r\n// currentUserAuthorizations: PropTypes.array,\r\n// containerHeight: PropTypes.number.isRequired,\r\n// commonActions: PropTypes.object.isRequired,\r\n// notificationActions: PropTypes.object.isRequired,\r\n// servicesActions: PropTypes.object.isRequired,\r\n// showNotifications: PropTypes.bool.isRequired\r\n// };\r\n\r\n// Main.contextTypes = {\r\n// router: PropTypes.object\r\n// };\r\n\r\n// /**\r\n// * Maps items from state to properties of the component\r\n// * @param {Object} state The state\r\n// * @param {Object} ownProps The properties belonging to this component\r\n// * @returns {Object} An object containing properties that the component can access\r\n// */\r\n// function mapStateToProps(state, ownProps) {\r\n// let result = {\r\n// client: state.client,\r\n// reit: state.reit,\r\n// period: state.period,\r\n// routes: ownProps.children.props.routes,\r\n// params: ownProps.children.props.params,\r\n// currentLocation: ownProps.children.props.location.pathname,\r\n// showTabNav: shouldShowTabNav(ownProps.children.props),\r\n// hideMainErrorSummary: shouldHideMainErrorSummary(ownProps.children.props),\r\n// pendingTasks: state.pendingTasks,\r\n// errorResponse: state.errorResponse,\r\n// dismissUsersMessage: state.dismissUsersMessage,\r\n// currentUserAuthorizations: state.currentUserAuthorizations,\r\n// showNotifications: state.showNotifications,\r\n// uploadProgress: state.uploadProgress,\r\n// currentUserId: ownProps.userId,\r\n// processingQueueCount: state.processingQueueCount,\r\n// showBulkUpload: state.showBulkUploadModal,\r\n// periodActions: PropTypes.object\r\n// };\r\n// return result;\r\n// }\r\n\r\n// /**\r\n// * Determines whether or not the route specifies that we should show the tabbed navigation.\r\n// * @param {any} props The component properties\r\n// * @returns {bool} True if we should show tabbed navigation, otherwise false\r\n// */\r\n// function shouldShowTabNav(props) {\r\n// if (!props) {\r\n// return false;\r\n// }\r\n\r\n// if (!props.route || !props.route.showTabNav) {\r\n// if (props.children && props.children.props) {\r\n// return shouldShowTabNav(props.children.props);\r\n// } else {\r\n// return false;\r\n// }\r\n// } else {\r\n// return props.route.showTabNav;\r\n// }\r\n// }\r\n\r\n// /** Determines whether to hide the main error summary\r\n// * @param { any } props The component properties\r\n// * @returns { bool } True if we should hide the main error summary, otherwise false\r\n// */\r\n// function shouldHideMainErrorSummary(props) {\r\n// if (!props) {\r\n// return false;\r\n// }\r\n\r\n// if (!props.route || !props.route.hideMainErrorSummary) {\r\n// if (props.children && props.children.props) {\r\n// return shouldHideMainErrorSummary(props.children.props);\r\n// } else {\r\n// return false;\r\n// }\r\n// } else {\r\n// return props.route.hideMainErrorSummary;\r\n// }\r\n// }\r\n\r\n\r\n// /**\r\n// * Binds actions to the dispatcher\r\n// * @param {Object} dispatch The action dispatcher\r\n// * @returns {Object} An object containing properties that the component can access\r\n// */\r\n// function mapDispatchToProps(dispatch) {\r\n// return {\r\n// commonActions: bindActionCreators(commonActions, dispatch),\r\n// notificationActions: bindActionCreators(notificationActions, dispatch),\r\n// servicesActions: bindActionCreators(servicesActions, dispatch),\r\n// clearUploadTrialBalanceProgress: () => trialBalanceActions.clearUploadTrialBalanceProgress()(dispatch),\r\n// addFilesToQueue: (files, userId, clientId, notifyStatus) => trialBalanceActions.addFilesToQueue(files, userId, clientId, notifyStatus)(dispatch),\r\n// notifyRejectedFiles: (files, userId) => trialBalanceActions.notifyRejectedFiles(files, userId)(dispatch),\r\n// fetchQueueCount: () => trialBalanceActions.fetchQueueCount()(dispatch),\r\n// showBulkUploadModal: () => trialBalanceActions.showBulkUploadModal()(dispatch),\r\n// hideBulkUploadModal: () => trialBalanceActions.hideBulkUploadModal()(dispatch),\r\n// periodActions: bindActionCreators(periodActions, dispatch),\r\n// };\r\n// }\r\n\r\n// export default Dimensions({\r\n// getHeight: function (element) {\r\n// return window.innerHeight - 72;\r\n// },\r\n// getWidth: function (element) {\r\n// let widthOffset = window.innerWidth < 680 ? 0 : 47;\r\n// return window.innerWidth - widthOffset;\r\n// }\r\n// })(connect(mapStateToProps, mapDispatchToProps)(withMsal(Main)));\r\n","import { pendingTask, begin, end } from '../constants/pendingTask';\r\n\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromReitApi as fetch } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n/**\r\n * Fetch all the Bulk Process Management data for a given client, calendar year & quarter description. If successful this will dispatch the LOAD_BULK_PROCESS_MANAGEMENT_DATA_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_BULK_PROCESS_MANAGEMENT_DATA_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {number} calendarYear The selected calendar year.\r\n * @param {string} quarterDescription The selected quarter.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport const fetchBulkProcessManagementData = (clientId, calendarYear, quarterDescription) => {\r\n return (dispatch) => {\r\n if (!clientId || !calendarYear || !quarterDescription) {\r\n return dispatch({\r\n type: actions.LOAD_BULK_PROCESS_MANAGEMENT_DATA_FAILURE,\r\n bulkProcessManagementData: [],\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/bulkProcessManagement?clientId=${clientId}&calendarYear=${calendarYear}&quarterDescription=${quarterDescription}`)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((bulkProcessManagementData) => {\r\n if (actionHelpers.isErrorResponse(bulkProcessManagementData)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_BULK_PROCESS_MANAGEMENT_DATA_FAILURE,\r\n null\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_BULK_PROCESS_MANAGEMENT_DATA_SUCCESS,\r\n bulkProcessManagementData,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_BULK_PROCESS_MANAGEMENT_DATA_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n};\r\n\r\n/**\r\n * Initiates the Bulk Process Operation for a given selections. If successful this will dispatch the INITIATE_BULK_PROCESS_SUCCESS\r\n * action, otherwise it will dispatch the INITIATE_BULK_PROCESS_FAILURE action.\r\n * @param {number} request The request body.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport const initiateBulkProcess = (request) => {\r\n let isErrored = false;\r\n return (dispatch) => {\r\n if (!request) {\r\n isErrored = true;\r\n dispatch({\r\n type: actions.INITIATE_BULK_PROCESS_FAILURE,\r\n });\r\n\r\n return isErrored;\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/bulkProcessManagement/initiateBulkProcess`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(request),\r\n })\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((responseResult) => {\r\n if (actionHelpers.isErrorResponse(responseResult)) {\r\n isErrored = true;\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.INITIATE_BULK_PROCESS_FAILURE,\r\n null\r\n );\r\n\r\n return isErrored;\r\n }\r\n dispatch({\r\n type: actions.INITIATE_BULK_PROCESS_SUCCESS,\r\n [pendingTask]: end,\r\n });\r\n\r\n return isErrored;\r\n })\r\n .catch((error) => {\r\n isErrored = true;\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.INITIATE_BULK_PROCESS_FAILURE,\r\n null,\r\n error\r\n );\r\n\r\n return isErrored;\r\n });\r\n };\r\n};\r\n\r\nexport function dispatchBulkProcessData(message, action) {\r\n return function (dispatch) {\r\n dispatch({ type: action, message });\r\n };\r\n}","import { pendingTask, begin, end } from '../constants/pendingTask';\r\n\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromReitApi as fetch } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n/**\r\n * Fetch all the relevant REIT(s) - Bulk Roll Forward data for a given client. If successful this will dispatch the LOAD_BULK_ROLL_FORWARD_DATA_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_BULK_ROLL_FORWARD_DATA_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport const fetchBulkRollForwardData = (clientId) => {\r\n return (dispatch) => {\r\n if (!clientId) {\r\n return dispatch({\r\n type: actions.LOAD_BULK_ROLL_FORWARD_DATA_SUCCESS,\r\n bulkRollForwardData: [],\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/bulkRollForward?clientId=${clientId}`)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((bulkRollForwardData) => {\r\n if (actionHelpers.isErrorResponse(bulkRollForwardData)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_BULK_ROLL_FORWARD_DATA_FAILURE,\r\n null\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_BULK_ROLL_FORWARD_DATA_SUCCESS,\r\n bulkRollForwardData,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_BULK_ROLL_FORWARD_DATA_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n};\r\n\r\n/**\r\n * Initiates the Bulk Process Operation for a given selections. If successful this will dispatch the INITIATE_BULK_PROCESS_SUCCESS\r\n * action, otherwise it will dispatch the INITIATE_BULK_PROCESS_FAILURE action.\r\n * @param {number} request The request body.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport const initiateBulkRollForwardProcess = (request, failureDataState) => {\r\n let isErrored = false;\r\n return (dispatch) => {\r\n if (!request) {\r\n isErrored = true;\r\n dispatch({\r\n type: actions.INITIATE_BULK_ROLL_FORWARD_PROCESS_FAILURE,\r\n failureDataState\r\n });\r\n\r\n return isErrored;\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/bulkRollForward/initiateBulkRollForwardProcess`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(request),\r\n })\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((responseResult) => {\r\n if (actionHelpers.isErrorResponse(responseResult)) {\r\n isErrored = true;\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.INITIATE_BULK_ROLL_FORWARD_PROCESS_FAILURE,\r\n failureDataState\r\n );\r\n\r\n return isErrored;\r\n }\r\n dispatch({\r\n type: actions.INITIATE_BULK_ROLL_FORWARD_PROCESS_SUCCESS,\r\n [pendingTask]: end,\r\n });\r\n\r\n return isErrored;\r\n })\r\n .catch((error) => {\r\n isErrored = true;\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.INITIATE_BULK_ROLL_FORWARD_PROCESS_FAILURE,\r\n failureDataState,\r\n error\r\n );\r\n\r\n return isErrored;\r\n });\r\n };\r\n};\r\n\r\nexport const dispatchBulkRollForwardData = (message, action) => {\r\n return (dispatch) => {\r\n dispatch({ type: action, message});\r\n };\r\n};","import * as actions from \"./actionTypes\";\r\n\r\nlet authenticationTimeoutInterval = null;\r\n\r\n/**\r\n * Repeatedly update the authentication timeout. The timeout is polled every 1000 (1 second).\r\n * @param {any} dispatch The dispatch.\r\n * @param {any} expiration The expiration timeout\r\n * @returns {void} None\r\n */\r\nexport function pollAuthenticationTimeout(dispatch, expiration) {\r\n authenticationTimeoutInterval = setInterval(function () { updateTimeout(dispatch, expiration); }, 1000);\r\n}\r\n\r\n/**\r\n * Get notifications for a user.\r\n * @param {any} dispatch The dispatch.\r\n * @param {any} expiration The expiration for the user token.\r\n * @returns {void} None.\r\n */\r\nexport function updateTimeout(dispatch, expiration) {\r\n const now = parseInt(Date.now() / 1000);\r\n const diff = expiration - now;\r\n\r\n const remainingTimeMilliseconds = (diff - 300) * 1000;\r\n const remainingTime = millisToMinutesAndSeconds(remainingTimeMilliseconds);\r\n dispatch({ type: actions.AUTHENTICATION_TIMER_UPDATED, remainingTime: remainingTime });\r\n\r\n if (diff < 300) {\r\n this.context.router.push(\"/\");\r\n }\r\n}\r\n\r\n/**\r\n * Stop polling for authentication timeout\r\n * @returns {void} None\r\n */\r\nexport function stopPollAuthenticationTimeout() {\r\n if (authenticationTimeoutInterval !== undefined && authenticationTimeoutInterval !== null) {\r\n clearInterval(authenticationTimeoutInterval);\r\n authenticationTimeoutInterval = null;\r\n }\r\n}\r\n\r\n/**\r\n * Sets the authentication scope, whether internal or external\r\n * @param {any} scope internal or external.\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function setAuthenticationScope(scope) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.SET_AUTHENTICATION_SCOPE, authenticationScope: scope });\r\n };\r\n}\r\n\r\n/**\r\n * Sets the current user id based on email or upn\r\n * @param {any} idTokenClaims\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function setCurrentUser(idTokenClaims) {\r\n return function (dispatch) {\r\n let userId = '';\r\n\r\n if (idTokenClaims) {\r\n userId = idTokenClaims.email;\r\n\r\n // get email from user principal name if no email claim\r\n if (userId === undefined || userId === null || userId === \"\") {\r\n userId = idTokenClaims.upn;\r\n }\r\n }\r\n\r\n dispatch({ type: actions.SET_CURRENT_USER, currentUser: userId });\r\n };\r\n}\r\n\r\n/**\r\n * Convert milliseconds to minutes and seconds\r\n * @param {number} millis Number in milliseconds\r\n * @returns {string} Minutes and Seconds\r\n */\r\nfunction millisToMinutesAndSeconds(millis) {\r\n const minutes = Math.floor(millis / 60000);\r\n const seconds = ((millis % 60000) / 1000).toFixed(0);\r\n return minutes + \":\" + (seconds < 10 ? '0' : '') + seconds;\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Header, Button } from \"semantic-ui-react\";\r\nimport { MotifButton, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter } from '@ey-xd/motif-react';\r\n\r\nconst MaintainLoginModal = ({\r\n showMaintainTemplateModal,\r\n handleYes,\r\n handleNo,\r\n toggleShowMaintainTemplateModal\r\n}) => {\r\n let modalContentInitialState = {\r\n title: \"Session Information\", \r\n msg: `Your session will expire in ${Math.floor(parseInt(process.env.ACCESS_TOKEN_IDLE_MODAL_EXPIRE_MILLESECONDS) / 60000)} minutes.`,\r\n yesButton: \"Keep Working\",\r\n noButton: \"Log Out\"\r\n }\r\n const [modalContent, setModalContent] = useState(modalContentInitialState);\r\n const [modalExpired, setModalExpired] = useState(false);\r\n useEffect(() => {\r\n let modalTimeout = 0;\r\n if(showMaintainTemplateModal){\r\n modalTimeout = setTimeout(() => {\r\n setModalContent({ \r\n title: \"Session Information\", \r\n msg: \"You have been logged out due to inactivity.\",\r\n yesButton: \"Login Again\",\r\n noButton: \"Log out\"\r\n });\r\n setModalExpired(true);\r\n }, process.env.ACCESS_TOKEN_IDLE_MODAL_EXPIRE_MILLESECONDS);\r\n }\r\n return () => {\r\n clearTimeout(modalTimeout);\r\n }\r\n }, [showMaintainTemplateModal])\r\n\r\n const handleModalExpireAction = () =>{\r\n window.location.reload();\r\n }\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n const closeButtonProps = {\r\n style:{visibility: 'hidden'}\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {modalContent.title}\r\n \r\n \r\n \r\n \r\n {modalContent.msg}\r\n \r\n \r\n \r\n {modalContent.noButton}\r\n \r\n handleYes(modalExpired)}>\r\n {modalContent.yesButton}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nMaintainLoginModal.propTypes = {\r\n showMaintainTemplateModal: PropTypes.bool,\r\n handleYes: PropTypes.func,\r\n toggleShowMaintainTemplateModal: PropTypes.func\r\n};\r\n\r\nexport default MaintainLoginModal;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst ToastifyProgressBar = ({ percent }) => (\r\n
    \r\n
    Processing Changes
    \r\n
    \r\n \r\n {percent}%\r\n
    \r\n
    \r\n); \r\n\r\nToastifyProgressBar.propTypes = {\r\n percent: PropTypes.number,\r\n};\r\n\r\nexport default ToastifyProgressBar;","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from \"./actionTypes\";\r\nimport { fetchFromClientApi as fetch } from \"./fetchFromApi\";\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\nexport const loadFeatureFlags = () => {\r\n return (dispatch) => {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/features`)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((featureFlags) => {\r\n if (actionHelpers.isErrorResponse(featureFlags)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_FEATURE_FLAGS_FAILURE,\r\n null\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_FEATURE_FLAGS_SUCCESS,\r\n featureFlags,\r\n [pendingTask]: end,\r\n });\r\n \r\n return featureFlags;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_FEATURE_FLAGS_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n }\r\n\r\n\r\n\r\n\r\n","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as Constants from '../constants/other';\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromAuthApi as fetch } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport { download } from '../scripts/fileHelpers';\r\n/**\r\n * Fetch all the Data Purge Configuration Data for a given client, calendar year & quarter description. If successful this will dispatch the LOAD_BULK_PROCESS_MANAGEMENT_DATA_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_DATA_PURGE_DATA_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport const fetchDataPurgeConfigurationData = () => {\r\n return (dispatch) => {\r\n \r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/dataPurge/getDataPurgeConfigurationData`)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((dataPurgeConfigurationData) => {\r\n if (actionHelpers.isErrorResponse(dataPurgeConfigurationData)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_DATA_PURGE_DATA_FAILURE,\r\n null\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_DATA_PURGE_DATA_SUCCESS,\r\n dataPurgeConfigurationData,\r\n [pendingTask]: end,\r\n });\r\n return dataPurgeConfigurationData;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_DATA_PURGE_DATA_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all the Data Purge User Acknowledgement History Data for a given user id, calendar year & dataPurgeNotificationTypeId. If successful this will dispatch the LOAD_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_FAILURE action.\r\n * @param {number} userId The id of the user * \r\n * @param {number} calendarYear The calendar year.\r\n * @param {number} dataPurgeNotificationTypeId The id of the data purge notification type.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport const fetchDataPurgeUserAcknowledgementHistory = (userId, calendarYear, dataPurgeNotificationType) => {\r\n return (dispatch) => {\r\n if (!userId || !calendarYear || !dataPurgeNotificationType) {\r\n return dispatch({\r\n type: actions.LOAD_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_SUCCESS,\r\n dataPurgeUserAcknowledgementHistoryData: [],\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/dataPurge/getDataPurgeUserAcknowledgementHistory?userId=${userId}&calendarYear=${calendarYear}&dataPurgeNotificationType=${dataPurgeNotificationType}`)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((dataPurgeUserAcknowledgementHistoryData) => {\r\n if (actionHelpers.isErrorResponse(dataPurgeUserAcknowledgementHistoryData)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_FAILURE,\r\n null\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_SUCCESS,\r\n dataPurgeUserAcknowledgementHistoryData,\r\n [pendingTask]: end,\r\n });\r\n\r\n return dataPurgeUserAcknowledgementHistoryData;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n* Creates a Data Purge User Acknowledgement History.\r\n* If successful this will return response,\r\n* otherwise it will dispatch the CREATE_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_FAILURE action.\r\n* @param {any} request The Create Data Purge User Acknowledgement request.\r\n* @returns {Promise} A Promise\r\n*/\r\nexport function createDataPurgeUserAcknowledgementHistory(request) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin }); \r\n \r\n return fetch(`/dataPurge/createUserAcknowledgementHistory`,\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify(request)\r\n }).then(response => {\r\n return response.json();\r\n }).then(result => {\r\n if (actionHelpers.isErrorResponse(result)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.CREATE_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_FAILURE, result);\r\n } \r\n\r\n dispatch({ type: actions.CREATE_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_SUCCESS, result, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.CREATE_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\nexport function getdataPurgeApprovedStatus(clientId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/dataPurge/getDataDeletionApprovalStatus?clientID=${clientId}`)\r\n .then(response => {\r\n return response.json();\r\n }).then(response => {\r\n if (actionHelpers.isErrorResponse(response)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_DATA_PURGE_APPROVED_STATUS_FAILURE, response);\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return response;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_DATA_PURGE_APPROVED_STATUS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch upcoming data deletion notice details for a given calendar year. If successful this will dispatch the LOAD_UPCOMING_DATA_DELETION_NOTICE_DETAILS_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_UPCOMING_DATA_DELETION_NOTICE_DETAILS_FAILURE action.\r\n * @param {number} calendarYear The calendar year.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport const fetchUpcomingDataDeletionNoticeDetails = (calendarYear) => {\r\n return (dispatch) => {\r\n if (!calendarYear) {\r\n return dispatch({\r\n type: actions.LOAD_UPCOMING_DATA_DELETION_NOTICE_DETAILS_SUCCESS,\r\n upcomingDataDeletionNoticeData: [],\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/dataPurge/getUpcomingDataDeletionNotice?calendarYear=${calendarYear}`)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((upcomingDataDeletionNoticeData) => {\r\n if (actionHelpers.isErrorResponse(upcomingDataDeletionNoticeData)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_UPCOMING_DATA_DELETION_NOTICE_DETAILS_FAILURE,\r\n null\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_UPCOMING_DATA_DELETION_NOTICE_DETAILS_SUCCESS,\r\n upcomingDataDeletionNoticeData,\r\n [pendingTask]: end,\r\n });\r\n\r\n return upcomingDataDeletionNoticeData;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_UPCOMING_DATA_DELETION_NOTICE_DETAILS_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { reduxForm } from \"redux-form\";\r\nimport { MotifFormField, MotifCheckbox, MotifLabel, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter, MotifButton } from \"@ey-xd/motif-react\";\r\n\r\nconst ReminderToSaveFilesOutsideOfREITSuiteModal = ({\r\n showReminderToSaveFilesOutsideOfREITSuiteMsg,\r\n toggleReminderToSaveFilesOutsideOfREITSuiteMsg,\r\n reminderToSaveFilesAckChecked,\r\n handleReminderToSaveFiles,\r\n handleUserPreferenceSelectedForReminderToSaveFiles\r\n}) => {\r\n return (\r\n
    \r\n \r\n }>\r\n REITSuite Data Management Alert\r\n \r\n \r\n Alert: Please be aware that REITSuite does not serve as the permanent file repository. All necessary engagement\r\n documents should be transferred to the designated systems in accordance with the firm's policy promptly after your engagement\r\n completes.\r\n

    \r\n \r\n \r\n I understand and do not show this message again\r\n \r\n \r\n
    \r\n \r\n handleReminderToSaveFiles()}>\r\n Confirm\r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nReminderToSaveFilesOutsideOfREITSuiteModal.propTypes = {\r\n showReminderToSaveFilesOutsideOfREITSuiteMsg: PropTypes.bool,\r\n reminderToSaveFilesAckChecked: PropTypes.bool,\r\n toggleReminderToSaveFilesOutsideOfREITSuiteMsg: PropTypes.func,\r\n handleReminderToSaveFiles: PropTypes.func,\r\n handleUserPreferenceSelectedForReminderToSaveFiles: PropTypes.func\r\n};\r\n\r\nexport default reduxForm({ form: \"reminderToSaveFilesOutsideOfREITSuite\", enableReinitialize: true })(\r\n ReminderToSaveFilesOutsideOfREITSuiteModal\r\n);\r\n","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { reduxForm } from \"redux-form\";\r\nimport { MotifTextLink,MotifFormField, MotifCheckbox, MotifLabel, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter, MotifButton } from \"@ey-xd/motif-react\";\r\nimport { Link } from 'react-router-dom';\r\nconst UpcomingDataDeletionNoticeModal = ({\r\n showUpcomingDataDeletionNoticeMsg,\r\n toggleUpcomingDataDeletionNoticeMsg,\r\n upcomingDataDeletionckChecked,\r\n handleUpcomingDataDeletionNotice,\r\n handleUserPreferenceSelectedForDataDeletionNotice,\r\n upcomingDataDeletionNoticeData\r\n}) => {\r\n\r\n const scheduledDataPurgeDate = upcomingDataDeletionNoticeData.scheduledDataPurgeDate \r\n ? (new Date(upcomingDataDeletionNoticeData.scheduledDataPurgeDate))\r\n .toLocaleString('en-US', {\r\n year: \"numeric\",\r\n month: \"2-digit\",\r\n day: \"2-digit\"\r\n }) \r\n : '';\r\n return (\r\n
    \r\n \r\n }>\r\n REITSuite Data Management Alert\r\n \r\n \r\n

    Alert: In compliance with REITSuite’s data retention policy, select records are scheduled for deletion on {scheduledDataPurgeDate}. Please access the 'Data Retention Management' screen to review what records are scheduled for deletion. You can also reference the REITSuite data retention policy here.

    \r\n

    If you are a Data Steward and have yet to approve the deletion, please do so as soon as possible. Please note Tax Quality and engagement partners will be notified where the appropriate records are not approved for deletion on time.

    \r\n

    \r\n \r\n \r\n I understand and do not show this message again\r\n \r\n \r\n
    \r\n \r\n handleUpcomingDataDeletionNotice()}>\r\n Confirm\r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nUpcomingDataDeletionNoticeModal.propTypes = {\r\n showUpcomingDataDeletionNoticeMsg: PropTypes.bool,\r\n upcomingDataDeletionckChecked: PropTypes.bool,\r\n toggleUpcomingDataDeletionNoticeMsg: PropTypes.func,\r\n handleUpcomingDataDeletionNotice: PropTypes.func,\r\n upcomingDataDeletionNoticeData: PropTypes.object\r\n};\r\n\r\nexport default reduxForm({ form: \"upcomingDataDeletionNotice\", enableReinitialize: true })(\r\n UpcomingDataDeletionNoticeModal\r\n);\r\n","// userAuditActions.js\r\nimport { fetchFromAuthApi as fetch } from \"./fetchFromApi\";\r\n\r\n// Action Types\r\nexport const LOG_USER_AUDIT_TRAIL = 'LOG_USER_AUDIT_TRAIL';\r\n\r\n/**\r\n * Log user audit trail event.\r\n * @param {Object} auditData The data to be logged.\r\n * @returns {Function} A function that returns a Promise.\r\n */\r\nexport function logUserAuditTrail(auditData) {\r\n return function (dispatch) {\r\n // Construct the URL for the audit trail endpoint\r\n const url = '/userAuditTrail/logLoginEvent';\r\n\r\n // Prepare the request options\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(auditData)\r\n };\r\n\r\n // Perform the fetch operation\r\n return fetch(url, requestOptions)\r\n .then(response => {\r\n if (!response.ok) {\r\n // Handle non-2xx responses if necessary, without dispatching an error\r\n console.error('Failed to log audit trail:', response.statusText);\r\n }\r\n return response.json();\r\n })\r\n .catch(error => {\r\n // Handle errors silently or log them without dispatching an error action\r\n console.error('Error logging audit trail:', error);\r\n });\r\n };\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { Outlet } from 'react-router-dom';\r\nimport { bindActionCreators } from 'redux';\r\nimport { IntlProvider } from 'react-intl';\r\nimport NavBar from './NavBar';\r\nimport Main from '../containers/Main';\r\nimport * as authActions from '../actions/authActions';\r\nimport * as bulkProcessManagementActions from '../actions/bulkProcessManagementActions';\r\nimport * as bulkRollForwardActions from '../actions/bulkRollForwardActions';\r\nimport * as notificationActions from '../actions/notificationActions';\r\nimport { store } from '../store/configureStore';\r\nimport * as authenticationActions from '../actions/authenticationActions';\r\nimport MaintainLoginModal from './MaintainLoginModal';\r\nimport * as actions from '../actions/actionTypes';\r\nimport { LicenseManager } from 'ag-grid-enterprise';\r\nimport axios from 'axios';\r\nimport * as signalR from '@microsoft/signalr';\r\nimport { MotifToast } from '@ey-xd/motif-react';\r\nimport { ToastContainer, toast, Slide } from 'react-toastify';\r\nimport ToastifyProgressBar from './notifications/ToastifyProgressBar';\r\nimport { withRouter } from '../common/withRouter';\r\nimport * as clientActions from '../actions/clientActions';\r\nimport * as featureManagementActions from '../actions/featureManagementActions';\r\nimport * as dataPurgeActions from '../actions/dataPurgeActions';\r\nimport {\r\n withMsal,\r\n AuthenticatedTemplate,\r\n UnauthenticatedTemplate,\r\n} from '@azure/msal-react';\r\nimport {\r\n InteractionStatus,\r\n InteractionRequiredAuthError,\r\n} from '@azure/msal-browser';\r\nimport DataStewardAssignmentRequiredModal from '../components/dataStewardRoleManagement/dataStewardAssignmentRequiredModal';\r\nimport ReminderToSaveFilesOutsideOfREITSuiteModal from '../components/auth/ReminderToSaveFilesOutsideOfREITSuiteModal';\r\nimport UpcomingDataDeletionNoticeModal from '../components/auth/UpcomingDataDeletionNoticeModal';\r\nimport * as Constants from '../constants/other';\r\nimport { logUserAuditTrail } from '../actions/userAuditActions';\r\n\r\n//Set AG Grid license key\r\nLicenseManager.setLicenseKey(process.env.AG_GRID_UI_LICENSE);\r\n\r\n/**\r\n * The App class. This is the parent component for all routes.\r\n * @extends {React.Component}\r\n */\r\nclass App extends React.Component {\r\n /**\r\n * Creates a new App\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.connection = {};\r\n this.queueItems = {\r\n pendingQueueItems: [],\r\n completedQueueItems: [],\r\n };\r\n this.toastSystem = React.createRef();\r\n this.processingToastNotification = null;\r\n this.lastPathname = '';\r\n this.establishedUser = false;\r\n this.fetchAuthorizations = false;\r\n // Indicates whether the operation of queue message in process\r\n this.isMessageProcessing = false;\r\n // Contains the messages in queue\r\n this.messageQueue = [];\r\n\r\n this.updateProcessingDataNotification =\r\n this.updateProcessingDataNotification.bind(this);\r\n this.getConnectionInfo = this.getConnectionInfo.bind(this);\r\n this.executeJoinClient = this.executeJoinClient.bind(this);\r\n this.executeAddToGroup = this.executeAddToGroup.bind(this);\r\n this.executeRemoveFromGroup = this.executeRemoveFromGroup.bind(this);\r\n this.handleJoinClient = this.handleJoinClient.bind(this);\r\n this.handleCompletedQueueItem = this.handleCompletedQueueItem.bind(this);\r\n this.handleResendChecklistCompletedQueueItem =\r\n this.handleResendChecklistCompletedQueueItem.bind(this);\r\n this.handleCompletedQueueBatch = this.handleCompletedQueueBatch.bind(this);\r\n this.handleAddNewQueueItems = this.handleAddNewQueueItems.bind(this);\r\n this.receiveCompletedQueueItem = this.receiveCompletedQueueItem.bind(this);\r\n this.receiveAddNewQueueItems = this.receiveAddNewQueueItems.bind(this);\r\n this.processNextMessage = this.processNextMessage.bind(this);\r\n\r\n this.handleCompletedBulkProcessForAllRequestsOfBatchGUID = this.handleCompletedBulkProcessForAllRequestsOfBatchGUID.bind(this);\r\n this.handleBulkProcessNotificationClose = this.handleBulkProcessNotificationClose.bind(this);\r\n\r\n this.handleCompletedBulkReportPackageStatus = this.handleCompletedBulkReportPackageStatus.bind(this);\r\n this.handleBulkReportPackageNotificationClose = this.handleBulkReportPackageNotificationClose.bind(this);\r\n this.handleBulkProcessStatusUpdate = this.handleBulkProcessStatusUpdate.bind(this);\r\n this.handleAddToGroup = this.handleAddToGroup.bind(this);\r\n this.handleRemoveFromGroup = this.handleRemoveFromGroup.bind(this);\r\n this.hideNotificationAndResetData =\r\n this.hideNotificationAndResetData.bind(this);\r\n this.toggleShowMaintainTemplateModal =\r\n this.toggleShowMaintainTemplateModal.bind(this);\r\n this.handleUserModalLogin = this.handleUserModalLogin.bind(this);\r\n this.handleUserLogOut = this.handleUserLogOut.bind(this);\r\n this.useIdToken = this.useIdToken.bind(this);\r\n this.toggleReminderToSaveFilesOutsideOfREITSuiteMsg = this.toggleReminderToSaveFilesOutsideOfREITSuiteMsg.bind(this);\r\n this.handleReminderToSaveFiles = this.handleReminderToSaveFiles.bind(this);\r\n this.toggleUpcomingDataDeletionNoticeMsg = this.toggleUpcomingDataDeletionNoticeMsg.bind(this);\r\n this.handleUpcomingDataDeletionNotice = this.handleUpcomingDataDeletionNotice.bind(this);\r\n this.documentTransferReminderDate = this.documentTransferReminderDate.bind(this);\r\n this.upcomingDataDeletionNoticeDate = this.upcomingDataDeletionNoticeDate.bind(this);\r\n this.handleUserPreferenceSelectedForReminderToSaveFiles = this.handleUserPreferenceSelectedForReminderToSaveFiles.bind(this);\r\n this.handleUserPreferenceSelectedForDataDeletionNotice = this.handleUserPreferenceSelectedForDataDeletionNotice.bind(this);\r\n this.handleUserAuthorizationUpdate = this.handleUserAuthorizationUpdate.bind(this);\r\n this.onFetchAuthorizationsForCurrentUser = this.onFetchAuthorizationsForCurrentUser.bind(this);\r\n this.createdRouterListener = false;\r\n \r\n this.state = {\r\n showMaintainLoginModal: false,\r\n message: 'Authentication in progress...',\r\n showEngagementAdminForDataStewardAssignmentModal: false,\r\n showUpcomingDataDeletionNoticeMsg: false,\r\n showReminderToSaveFilesOutsideOfREITSuiteMsg: false,\r\n reminderToSaveFilesAckChecked: false,\r\n upcomingDataDeletionckChecked: false,\r\n }; \r\n }\r\n\r\n async componentDidMount() {\r\n await this.useIdToken(false);\r\n\r\n if(this.fetchAuthorizations && this.props.currentUser){\r\n // Get upcoming data deletion notice details\r\n await this.props.dataPurgeActions.fetchUpcomingDataDeletionNoticeDetails(new Date().getFullYear());\r\n \r\n //Load all data configurations\r\n await this.props.dataPurgeActions.fetchDataPurgeConfigurationData();\r\n\r\n // Get user acknowledgement history details\r\n if (this.documentTransferReminderDate()) {\r\n await this.props.dataPurgeActions.fetchDataPurgeUserAcknowledgementHistory(this.props.currentUser, new Date().getFullYear(),Constants.REMINDER_TO_SAVE_FILE_OUTSIDE);\r\n }\r\n else if (this.upcomingDataDeletionNoticeDate()) {\r\n await this.props.dataPurgeActions.fetchDataPurgeUserAcknowledgementHistory(this.props.currentUser, new Date().getFullYear(), Constants.UPCOMING_DATA_DELETION_NOTICE);\r\n } \r\n \r\n //Load all feature flags\r\n await this.props.featureManagementActions.loadFeatureFlags();\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) { \r\n if (!this.establishedUser && this.props.currentUser) {\r\n this.establishedUser = true;\r\n\r\n this.timer = null;\r\n\r\n // Token renewal modal toggle timeout\r\n this.idTokenRefreshTimer = setTimeout(() => {\r\n this.setState({\r\n showMaintainLoginModal: true,\r\n });\r\n }, process.env.ACCESS_TOKEN_IDLE_MODAL_POPUP_MILLESECONDS);\r\n\r\n notificationActions.pollNotifications(\r\n store.dispatch,\r\n this.props.currentUser,\r\n );\r\n }\r\n\r\n if (this.props.router.location.pathname) {\r\n const pathname = location.pathname;\r\n if (pathname !== this.lastPathname) {\r\n this.lastPathname = pathname;\r\n const accounts = this.props.msalContext.instance.getAllAccounts();\r\n if (accounts[0]?.idTokenClaims.exp) {\r\n // Look for page changes here to trigger that user is still \"active\"\r\n const exp = accounts[0].idTokenClaims.exp;\r\n\r\n let expDate = new Date(exp * 1000);\r\n //expDate.setUTCSeconds(exp * 1000);\r\n\r\n let curDate = new Date();\r\n\r\n const diff = expDate.getTime() - curDate.getTime();\r\n\r\n //console.log(`ROUTE CHANGED: Token Exp: ${expDate}. Diff: ${diff}. ACCESS_TOKEN_SILENT_REFRESH_MILLESECONDS: ${process.env.ACCESS_TOKEN_SILENT_REFRESH_MILLESECONDS}`)\r\n if (diff < process.env.ACCESS_TOKEN_SILENT_REFRESH_MILLESECONDS) {\r\n this.useIdToken(true).then(() => {\r\n clearTimeout(this.idTokenRefreshTimer);\r\n this.idTokenRefreshTimer = setTimeout(() => {\r\n this.setState({\r\n showMaintainLoginModal: true,\r\n });\r\n }, process.env.ACCESS_TOKEN_IDLE_MODAL_POPUP_MILLESECONDS);\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n const isOnClientPage =\r\n this.props.router.location && this.props.router.location.pathname.includes('/client/');\r\n const wasOnClientPage =\r\n prevProps.router.location && prevProps.router.location.pathname.includes('/client/');\r\n\r\n //SignalR\r\n const previousClientId = prevProps.client ? prevProps.client.id : null;\r\n if (\r\n isOnClientPage &&\r\n this.props.client &&\r\n this.props.client.id &&\r\n this.props.client.id !== previousClientId\r\n ) {\r\n this.getConnectionInfo(this.props.client.id)\r\n .then((info) => {\r\n // make compatible with old and new SignalRConnectionInfo\r\n info.accessToken = info.accessToken || info.accessKey;\r\n info.url = info.url || info.endpoint;\r\n\r\n //data.ready = true;\r\n var options = {\r\n accessTokenFactory: () => info.accessToken,\r\n };\r\n\r\n this.connection = new signalR.HubConnectionBuilder()\r\n .withUrl(info.url, options)\r\n .withAutomaticReconnect()\r\n .configureLogging(signalR.LogLevel.Error)\r\n .build();\r\n\r\n //Handle client events\r\n this.connection.on('joinClient', this.handleJoinClient);\r\n this.connection.on(\r\n 'completedQueueItem',\r\n this.receiveCompletedQueueItem,\r\n );\r\n this.connection.on(\r\n 'completedResendChecklistQueueItem',\r\n this.handleResendChecklistCompletedQueueItem,\r\n );\r\n this.connection.on(\r\n 'completedQueueBatch',\r\n this.handleCompletedQueueBatch,\r\n );\r\n this.connection.on('completedBulkProcessForAllRequestsOfBatchGUID', this.handleCompletedBulkProcessForAllRequestsOfBatchGUID);\r\n this.connection.on('completedBulkReportPackage', this.handleCompletedBulkReportPackageStatus);\r\n this.connection.on('bulkProcessStatusUpdate', this.handleBulkProcessStatusUpdate);\r\n this.connection.on('userAuthorizationUpdate', this.handleUserAuthorizationUpdate);\r\n this.connection.on('addNewQueueItems', this.receiveAddNewQueueItems);\r\n this.connection.on('addToGroup', this.handleAddToGroup);\r\n this.connection.on('removeFromGroup', this.handleRemoveFromGroup);\r\n\r\n // Handle SignalR disconnect\r\n this.connection.onclose(() => {\r\n this.hideNotificationAndResetData();\r\n });\r\n\r\n //Handle SignalR reconnect\r\n this.connection.onreconnected((connectionId) => {\r\n var reconnectConnectionId =\r\n this.connection && this.connection.connectionId\r\n ? this.connection.connectionId\r\n : null;\r\n\r\n this.executeJoinClient(connectionId);\r\n });\r\n\r\n //Start hub connection\r\n this.connection\r\n .start()\r\n .then(() => {\r\n var startConnectionId =\r\n this.connection && this.connection.connectionId\r\n ? this.connection.connectionId\r\n : null;\r\n\r\n this.executeJoinClient(startConnectionId);\r\n })\r\n .catch((e) => {\r\n console.log('Error while establishing SignalR connection. ' + e);\r\n });\r\n })\r\n .catch((e) => {\r\n console.log('Error while establishing SignalR connection. ' + e);\r\n });\r\n } else if (!isOnClientPage && wasOnClientPage) {\r\n clearTimeout(this.processingToastNotificationTimeout);\r\n\r\n // Clear hub connection\r\n if (\r\n this.connection &&\r\n this.connection.state &&\r\n this.connection.state !== signalR.HubConnectionState.Disconnected\r\n ) {\r\n this.connection.stop();\r\n }\r\n } else {\r\n // alert('client is null, signalr disconnect');\r\n }\r\n // If user is logged in as external, but still on the \"App\" container, we need to route to external app.\r\n // This can happen if user manually navigates to an internal URL, then clicks that they are NOT an EY employee.\r\n if (this.props.authenticationScope === 'external') {\r\n this.props.router.navigate('/ext');\r\n return;\r\n }\r\n // Redirect unauthorized user to Access Denied Error page\r\n if (this.fetchAuthorizations && this.props.authenticationScope === 'internal'\r\n && this.props.currentUserAuthorizations && Array.isArray(this.props.currentUserAuthorizations)\r\n && this.props.currentUserAuthorizations.length > 0\r\n && !authActions.isSystemAdministrator(this.props.currentUserAuthorizations)) {\r\n\r\n // Though the user is on client page, the props.client or this.props.client.id could be null as the user\r\n // is not authorized to access that client, \r\n // Also for authorized user, at this point the props.client details are not yet populated\r\n // hence get client id from url\r\n if (this.props.router.location && this.props.router.location.pathname.toLowerCase().indexOf(\"/client/\") >= 0) {\r\n let clientPath = this.props.router.location.pathname.toLowerCase();\r\n clientPath = clientPath.replace('/client/', '');\r\n let clientId = -1;\r\n if (clientPath.indexOf(\"/\") >= 0) {\r\n clientId = parseInt(clientPath.substring(0, clientPath.indexOf(\"/\") + 1));\r\n }\r\n else {\r\n clientId = parseInt(clientPath);\r\n }\r\n if (clientId && clientId > 0) {\r\n let path=this.props.router.location.pathname.toLowerCase();\r\n // Redirect unauthorized user to Access Denied Error page \r\n if (!authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, clientId)\r\n && !authActions.isUser(this.props.currentUserAuthorizations, clientId)) {\r\n this.props.router.navigate(`/unauthorized`);\r\n return;\r\n }\r\n else if (!authActions.isSystemAdministrator(this.props.currentUserAuthorizations) \r\n && (authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, this.props.client.id) || authActions.isUser(this.props.currentUserAuthorizations, this.props.client.id))\r\n && this.props.client && this.props.client.id \r\n ) {\r\n // Three main conditions checked here for Engagement Admin and Engagement user.\r\n // If client is locked for missing deletion approval or exception and the user is either engagement admin or engagement user.\r\n // If client is locked for not having a data steward and the user is engagement admin.\r\n // If client is locked for not having a data steward and the user is engagement user.\r\n \r\n this.isLockedForMissingDeletionApprovalOrException(this.props.client.id)\r\n .then(isLocked => {\r\n // Check if the client is locked for missing deletion approvals or exceptions\r\n if (isLocked) {\r\n // Well the client is locked for missing deletion approval or exception.\r\n // Perform additional checks before redirecting the user to missing deletion approval page.\r\n if( this.props.router.location\r\n && this.props.router.location.pathname !== `/client/${this.props.client.id}/missingDeletionApproval`\r\n && this.props.router.location.pathname !== `/client/${this.props.client.id}/dataStewardRoleManagement`\r\n && this.props.router.location.pathname !== `/client/${this.props.client.id}/bulkReportManagement`\r\n && this.props.router.location.pathname !== `/client/${this.props.client.id}/dataRetentionManagement`){ \r\n\r\n // If the client is locked, navigate to the missing deletion approval pagel\r\n this.props.router.navigate(`/client/${this.props.client.id}/missingDeletionApproval`); \r\n }\r\n }\r\n else if(authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, this.props.client.id)){\r\n // The client is not locked for missing deletion approval or exception. \r\n // Then Check whether client is locked for not having a data steward for Engagement Admin. \r\n if( this.props.router.location && \r\n this.props.router.location.pathname !== `/client/${this.props.client.id}/dataStewardRoleManagement`\r\n && prevProps.client.id !== this.props.client.id\r\n ){\r\n this.hasClientDatasteward(this.props.client.id)\r\n .then(isLocked => { \r\n // Check if the client is locked for not having a data steward\r\n if (isLocked) {\r\n // If the client is locked, navigate to the data steward management page and show the modal\r\n this.props.router.navigate(`/client/${this.props.client.id}/dataStewardRoleManagement`);\r\n \r\n } \r\n else if (path === `/client/${this.props.client.id}`) {\r\n // If the client is not locked, navigate to the client page\r\n this.props.router.navigate(`/client/${this.props.client.id}`);\r\n } \r\n })\r\n .catch(error => {\r\n console.error('Error fetching client data:', error);\r\n return false;\r\n }); \r\n }\r\n\r\n } \r\n else if(authActions.isUser(this.props.currentUserAuthorizations, this.props.client.id)){\r\n // The client is not locked for missing deletion approval or exception. \r\n // Then Check whether the client is locked for not having a data steward for Engagement user. \r\n if (prevProps.client.id !== this.props.client.id) {\r\n this.hasClientDatasteward(this.props.client.id)\r\n .then(isLocked => {\r\n if (isLocked) {\r\n this.props.router.navigate(\"/\");\r\n if (!this.state.showEngagementAdminForDataStewardAssignmentModal) {\r\n this.setState({\r\n showEngagementAdminForDataStewardAssignmentModal: true,\r\n });\r\n }\r\n return;\r\n \r\n } else if (path === `/client/${this.props.client.id}`) {\r\n // If the client is not locked, navigate to the client page\r\n this.props.router.navigate(`/client/${this.props.client.id}`);\r\n }\r\n })\r\n .catch(error => {\r\n console.error('Error fetching client data:', error);\r\n return false;\r\n });\r\n }\r\n\r\n }\r\n \r\n })\r\n .catch(error => {\r\n console.error('Error fetching client data:', error);\r\n return false;\r\n });\r\n\r\n }\r\n }\r\n else {\r\n this.props.router.navigate(`/unauthorized`);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n // Show data purge notification message\r\n if (prevProps.dataPurgeUserAcknowledgementHistoryData !== this.props.dataPurgeUserAcknowledgementHistoryData\r\n && this.props.router.location && this.props.router.location.pathname === '/'\r\n ) {\r\n // The current user is valid, now check if the user has already acknowledged the reminder based on last record\r\n let lastHistoryItem = Array.isArray(this.props.dataPurgeUserAcknowledgementHistoryData) && this.props.dataPurgeUserAcknowledgementHistoryData.length > 0\r\n && this.props.dataPurgeUserAcknowledgementHistoryData[this.props.dataPurgeUserAcknowledgementHistoryData.length - 1];\r\n\r\n // Show reminder to save files outside of REITSuite message\r\n if (this.documentTransferReminderDate()) {\r\n // Additional check to see if the user has already acknowledged the reminder \r\n if (lastHistoryItem && lastHistoryItem.isAcknowledgementReceived === true) {\r\n this.setState({\r\n showReminderToSaveFilesOutsideOfREITSuiteMsg: false,\r\n });\r\n }\r\n else {\r\n // Passed all validations to show the reminder to save files outside of REITSuite message\r\n this.setState({\r\n showReminderToSaveFilesOutsideOfREITSuiteMsg: true,\r\n });\r\n }\r\n }\r\n else if (this.upcomingDataDeletionNoticeDate()) {\r\n // Additional check to see if the user has already acknowledged the reminder \r\n if (lastHistoryItem && lastHistoryItem.isAcknowledgementReceived === true) {\r\n this.setState({\r\n showUpcomingDataDeletionNoticeMsg: false,\r\n });\r\n }\r\n else {\r\n // Passed all validations to show the upcoming data deletion notice message\r\n this.setState({\r\n showUpcomingDataDeletionNoticeMsg: true,\r\n });\r\n }\r\n }\r\n }\r\n\r\n // if we have not already fetched the authorizations\r\n // and both idToken and currentUser are populated\r\n // then fetch authorizations\r\n if (\r\n !this.fetchAuthorizations &&\r\n this.props.idToken &&\r\n this.props.currentUser\r\n ) {\r\n this.fetchAuthorizations = true;\r\n\r\n // Fetch authorizations\r\n this.props.authActions\r\n .fetchAuthorizationsForCurrentUser(this.props.currentUser)\r\n .then((currentUserAuthorizations) => {\r\n this.onFetchAuthorizationsForCurrentUser(currentUserAuthorizations); \r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n this.setState({ message: 'Failed to authorize. Please try again.' });\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n this.timer = null;\r\n }\r\n\r\n clearTimeout(this.processingToastNotificationTimeout);\r\n clearTimeout(this.idTokenRefreshTimer);\r\n // Clear hub connection\r\n if (\r\n this.connection &&\r\n this.connection.state &&\r\n this.connection.state !== signalR.HubConnectionState.Disconnected\r\n ) {\r\n this.connection.stop();\r\n }\r\n }\r\n\r\n async useIdToken(isSilentRefresh = false) {\r\n const { instance } = this.props.msalContext;\r\n const sleep = (ms) => new Promise((r) => setTimeout(r, ms));\r\n\r\n while (this.props.msalContext.inProgress !== InteractionStatus.None) {\r\n await sleep(100);\r\n }\r\n\r\n const accounts = instance.getAllAccounts();\r\n\r\n if (accounts.length > 0) {\r\n const request = {\r\n scopes: ['user.read', 'openid', 'profile', 'offline_access'],\r\n account: accounts[0],\r\n forceRefresh: true,\r\n };\r\n\r\n const silentResponse = await instance\r\n .acquireTokenSilent(request)\r\n .then((response) => response)\r\n .catch(async (error) => {\r\n if (error instanceof InteractionRequiredAuthError) {\r\n return await instance.acquireTokenRedirect(request);\r\n } else {\r\n throw error;\r\n }\r\n });\r\n\r\n await store.dispatch({\r\n type: actions.SET_ID_TOKEN,\r\n idToken: silentResponse.idToken,\r\n });\r\n\r\n await store.dispatch({\r\n type: actions.SET_ACCESS_TOKEN,\r\n accessToken: silentResponse.accessToken,\r\n });\r\n\r\n await this.props.authenticationActions.setCurrentUser(\r\n silentResponse.idTokenClaims,\r\n );\r\n\r\n const auditData = {\r\n email: silentResponse.idTokenClaims.email,\r\n isSilentRefresh: isSilentRefresh,\r\n pageUrl: window.location.href,\r\n };\r\n await store.dispatch(logUserAuditTrail(auditData));\r\n } else {\r\n const authRequest = {\r\n scopes: ['user.read', 'openid', 'profile', 'offline_access'],\r\n state: window.location.href,\r\n };\r\n\r\n instance.loginRedirect(authRequest);\r\n }\r\n }\r\n\r\n /*\r\n * SignalR methods\r\n */\r\n\r\n hideNotificationAndResetData() {\r\n try {\r\n if (this.processingToastNotification && toast.isActive(this.processingToastNotification)) {\r\n toast.dismiss(this.processingToastNotification);\r\n }\r\n } catch (err) {\r\n // do nothing\r\n } finally {\r\n this.processingToastNotification = null;\r\n\r\n // Reset items arrays\r\n this.queueItems.pendingQueueItems = [];\r\n this.queueItems.completedQueueItems = [];\r\n }\r\n }\r\n\r\n toggleShowMaintainTemplateModal() {\r\n this.setState({\r\n showMaintainLoginModal: !this.state.showMaintainLoginModal,\r\n });\r\n }\r\n\r\n toggleReminderToSaveFilesOutsideOfREITSuiteMsg() {\r\n this.setState({\r\n showReminderToSaveFilesOutsideOfREITSuiteMsg: !this.state.showReminderToSaveFilesOutsideOfREITSuiteMsg,\r\n });\r\n }\r\n\r\n handleReminderToSaveFiles() {\r\n if (this.state.reminderToSaveFilesAckChecked) {\r\n let request = {\r\n userId: this.props.currentUser,\r\n calendarYear: (new Date().getFullYear()),\r\n dataPurgeNotificationTypeDescription: Constants.REMINDER_TO_SAVE_FILE_OUTSIDE,\r\n isAcknowledgementReceived: true,\r\n };\r\n\r\n this.props.dataPurgeActions\r\n .createDataPurgeUserAcknowledgementHistory(request)\r\n .then(() => {\r\n this.toggleReminderToSaveFilesOutsideOfREITSuiteMsg();\r\n });\r\n }\r\n else {\r\n this.toggleReminderToSaveFilesOutsideOfREITSuiteMsg();\r\n }\r\n }\r\n\r\n toggleUpcomingDataDeletionNoticeMsg() {\r\n this.setState({\r\n showUpcomingDataDeletionNoticeMsg: !this.state.showUpcomingDataDeletionNoticeMsg,\r\n }); \r\n }\r\n\r\n handleUpcomingDataDeletionNotice() { \r\n if (this.state.upcomingDataDeletionckChecked) {\r\n let request = {\r\n userId: this.props.currentUser,\r\n calendarYear: (new Date().getFullYear()),\r\n dataPurgeNotificationTypeDescription: Constants.UPCOMING_DATA_DELETION_NOTICE,\r\n isAcknowledgementReceived: true,\r\n };\r\n\r\n this.props.dataPurgeActions\r\n .createDataPurgeUserAcknowledgementHistory(request)\r\n .then(() => {\r\n this.toggleUpcomingDataDeletionNoticeMsg();\r\n });\r\n }\r\n else{\r\n this.toggleUpcomingDataDeletionNoticeMsg();\r\n }\r\n }\r\n\r\n handleUserPreferenceSelectedForReminderToSaveFiles() {\r\n this.setState({\r\n reminderToSaveFilesAckChecked: !this.state.reminderToSaveFilesAckChecked,\r\n });\r\n }\r\n\r\n handleUserPreferenceSelectedForDataDeletionNotice() {\r\n this.setState({\r\n upcomingDataDeletionckChecked: !this.state.upcomingDataDeletionckChecked,\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Check today's date is between January 1st and March 15th of the current year. \r\n * @returns {function} A function that returns a boolean value.\r\n */\r\n documentTransferReminderDate() {\r\n // Get start date\r\n let startDateFromConfig = this.props.dataPurgeConfigurationData.find(x => x.dataPurgeConfigurationParameter == Constants.REMINDER_START_DATE_PARAMETER)?.dataPurgeConfigurationValue;\r\n if(!startDateFromConfig || startDateFromConfig.length == 0){\r\n startDateFromConfig = Constants.DEFAULT_DOCUMENT_TRANSFER_REMINDER_START_DATE;\r\n }\r\n\r\n // Get end date\r\n let endDateFromConfig = this.props.dataPurgeConfigurationData.find(x => x.dataPurgeConfigurationParameter == Constants.REMINDER_END_DATE_PARAMETER)?.dataPurgeConfigurationValue;\r\n if(!endDateFromConfig || endDateFromConfig.length == 0){\r\n endDateFromConfig = Constants.DEFAULT_DOCUMENT_TRANSFER_REMINDER_END_DATE;\r\n }\r\n \r\n const currentYear = new Date().getFullYear();\r\n const startDateTime = new Date(`${currentYear}-${startDateFromConfig}`).getTime(); \r\n const endDateTime = new Date(`${currentYear}-${endDateFromConfig}`).getTime();\r\n const today = new Date().getTime(); \r\n return today >= startDateTime && today <= endDateTime;\r\n }\r\n\r\n /**\r\n * Check today's date is between October 1st and December 31st of the current year. \r\n * @returns {function} A function that returns a boolean value.\r\n */\r\n upcomingDataDeletionNoticeDate() { \r\n\r\n // Get start date\r\n let startDateFromConfig = this.props.dataPurgeConfigurationData.find(x => x.dataPurgeConfigurationParameter == Constants.UPCOMING_DATA_DELETION_NOTICE_START_DATE_PARAMETER)?.dataPurgeConfigurationValue;\r\n if(!startDateFromConfig || startDateFromConfig.length == 0){\r\n startDateFromConfig = Constants.DEFAULT_UPCOMING_DATA_DELETION_NOTICE_START_DATE;\r\n }\r\n\r\n // Get scheduled data purge date\r\n const scheduledDataPurgeDate = this.props.upcomingDataDeletionNoticeData && this.props.upcomingDataDeletionNoticeData.scheduledDataPurgeDate;\r\n\r\n // Get end date additional days\r\n let endDateAdditionalDaysFromConfig = this.props.dataPurgeConfigurationData.find(x => x.dataPurgeConfigurationParameter == Constants.UPCOMING_DATA_DELETION_NOTICE_END_DATE_PARAMETER)?.dataPurgeConfigurationValue;\r\n if(!endDateAdditionalDaysFromConfig || endDateAdditionalDaysFromConfig.length == 0){\r\n endDateAdditionalDaysFromConfig = Constants.DEFAULT_UPCOMING_DATA_DELETION_NOTICE_END_DATE_ADDNL_DAYS;\r\n }\r\n\r\n // Calculate end date\r\n const endDate = new Date(scheduledDataPurgeDate);\r\n endDate.setDate(endDate.getDate() + parseInt(endDateAdditionalDaysFromConfig)); \r\n \r\n const currentYear = new Date().getFullYear();\r\n const startDateTime = new Date(`${currentYear}-${startDateFromConfig}`).getTime();\r\n const endDateTime = endDate.getTime();\r\n const today = new Date().getTime(); \r\n return today >= startDateTime && today <= endDateTime;\r\n }\r\n\r\n handleUserModalLogin(modalExpired) {\r\n if (!modalExpired) {\r\n this.toggleShowMaintainTemplateModal();\r\n\r\n // Calling useIdToken, which will issue silent renew or redirect if needed\r\n this.useIdToken(true).then(() => {\r\n clearTimeout(this.idTokenRefreshTimer);\r\n this.idTokenRefreshTimer = setTimeout(() => {\r\n this.setState({\r\n showMaintainLoginModal: true,\r\n });\r\n }, process.env.ACCESS_TOKEN_IDLE_MODAL_POPUP_MILLESECONDS);\r\n });\r\n } else {\r\n // We are expired. Reload entire page to login again.\r\n window.location.reload();\r\n }\r\n }\r\n\r\n handleUserLogOut() {\r\n this.props.router.navigate(`/external/logoff`);\r\n }\r\n\r\n // Execute SignalR negotiate method and get connection info\r\n getConnectionInfo(clientId) {\r\n // negotiate connection with clientId added to username\r\n // so that you can have individual connections to each client with multiple browser windows/tabs at the same time\r\n return axios\r\n .post(\r\n `${process.env.ROOT_REITSUITE_AZURE_FUNCTION_API_URL}/negotiate`,\r\n null,\r\n {\r\n headers: {\r\n 'x-ms-signalr-userid': `${this.props.currentUserAuthorizations[0].userId}-${clientId}`,\r\n },\r\n },\r\n )\r\n .then((resp) => resp.data);\r\n }\r\n\r\n // Join client\r\n executeJoinClient(hubConnectionId) {\r\n return axios\r\n .post(\r\n `${process.env.ROOT_REITSUITE_AZURE_FUNCTION_API_URL}/joinclient`,\r\n {\r\n clientName: this.props.client.name,\r\n clientId: this.props.client.id,\r\n connectionId: hubConnectionId,\r\n processType: 1,\r\n userId: this.props.currentUserAuthorizations[0].userId,\r\n },\r\n {\r\n headers: {},\r\n },\r\n )\r\n .then((resp) => resp);\r\n }\r\n\r\n // Add user id to group\r\n executeAddToGroup() {\r\n return axios\r\n .post(\r\n `${process.env.ROOT_REITSUITE_AZURE_FUNCTION_API_URL}/addToGroup`,\r\n {\r\n clientName: this.props.client.name,\r\n clientId: this.props.client.id,\r\n userId: this.props.currentUserAuthorizations[0].userId,\r\n },\r\n {\r\n headers: {\r\n 'x-ms-signalr-userid':\r\n this.props.currentUserAuthorizations[0].userId,\r\n },\r\n },\r\n )\r\n .then((resp) => resp)\r\n .catch((e) => {\r\n console.log('Error in adding user to SignalR group' + e);\r\n });\r\n }\r\n\r\n // Remove user id from group\r\n executeRemoveFromGroup(client) {\r\n return axios\r\n .post(\r\n `${process.env.ROOT_REITSUITE_AZURE_FUNCTION_API_URL}/removeFromGroup`,\r\n {\r\n clientName: this.props.client.name,\r\n clientId: this.props.client.id,\r\n userId: this.props.currentUserAuthorizations[0].userId,\r\n },\r\n {\r\n headers: {\r\n 'x-ms-signalr-userid':\r\n this.props.currentUserAuthorizations[0].userId,\r\n },\r\n },\r\n )\r\n .then((resp) => resp)\r\n .catch((e) => {\r\n console.log('Error in removing user from SignalR group' + e);\r\n });\r\n }\r\n\r\n // Handle client event of client has connected to hub\r\n handleJoinClient(message) {\r\n this.queueItems = message;\r\n\r\n this.updateProcessingDataNotification();\r\n }\r\n\r\n // Process message of type \"completedBatchQueueItem\"\r\n handleCompletedQueueItem(message, retry = false) {\r\n if (\r\n this.queueItems &&\r\n this.queueItems.pendingQueueItems &&\r\n message &&\r\n message.BatchQueueItemID\r\n ) {\r\n var removeIndex = this.queueItems.pendingQueueItems\r\n .map(function (item) {\r\n return item.Id;\r\n })\r\n .indexOf(message.BatchQueueItemID);\r\n if (removeIndex != -1) {\r\n // remove queue item\r\n var removedItem = this.queueItems.pendingQueueItems.splice(\r\n removeIndex,\r\n 1,\r\n );\r\n if (\r\n removedItem &&\r\n removedItem.length > 0 &&\r\n this.queueItems.completedQueueItems\r\n ) {\r\n let newQueueItem = removedItem[0];\r\n newQueueItem.st = 'cq';\r\n this.queueItems.completedQueueItems.push(newQueueItem);\r\n\r\n this.updateProcessingDataNotification();\r\n this.isMessageProcessing = false;\r\n this.processNextMessage(); \r\n }\r\n }\r\n else if( retry ){\r\n // Retry to get the queue item \r\n this.updateProcessingDataNotification();\r\n this.isMessageProcessing = false;\r\n this.processNextMessage();\r\n }\r\n else{\r\n // Retry after a 3-second delay\r\n setTimeout(() => {\r\n // Re-insert the message with retry flag\r\n this.messageQueue.push({ type: \"completedBatchQueueItem\", message: message, retry: true }); \r\n \r\n this.updateProcessingDataNotification();\r\n this.isMessageProcessing = false;\r\n this.processNextMessage(); \r\n \r\n }, 3000);\r\n } \r\n \r\n }\r\n }\r\n\r\n // Handle client event of Resend Checklist queue item is completed\r\n handleResendChecklistCompletedQueueItem(clientId) {\r\n // Update the state on redux to notify user to refresh manage checklist page\r\n this.props.authActions.refreshManageChecklistClient(clientId);\r\n }\r\n\r\n // Handle client event of queue batch is completed\r\n handleCompletedQueueBatch(message) { }\r\n\r\n // Handle client event of bulk process for all requests of batch guid is completed \r\n handleCompletedBulkProcessForAllRequestsOfBatchGUID(message) {\r\n\r\n if (message && message.ClientID && this.props.client && message.ClientID === this.props.client.id && this.toastSystem) {\r\n\r\n let toastVariant = 'info';\r\n let bulkProcessRequestStatusMsg = '';\r\n if (message.ActionType == \"roll forwarding\") {\r\n const rollForwarddetails = this.getRollForwardMessageForBottomCorner(message);\r\n toastVariant = rollForwarddetails.toastVariant;\r\n bulkProcessRequestStatusMsg = rollForwarddetails.bulkProcessRequestStatusMsg;\r\n }\r\n else {\r\n if (message.FailedRequestsCount === message.TotalRequestsCount) {\r\n // All requests are failed\r\n bulkProcessRequestStatusMsg = `Bulk updating the ${message.ActionType} is failed.`;\r\n toastVariant = 'error';\r\n }\r\n else if (message.CompletedRequestsCount === message.TotalRequestsCount) {\r\n // All requests are completed successfully\r\n bulkProcessRequestStatusMsg = `Bulk updating the ${message.ActionType} is processed successfully.`;\r\n toastVariant = 'success';\r\n }\r\n else if (message.FailedRequestsCount > 0 && message.NotApplicableRequestsCount > 0) {\r\n // Alteast 1 request of failed type and not applicable type\r\n bulkProcessRequestStatusMsg = `Bulk updating the ${message.ActionType} is completed. ${message.NotApplicableRequestsCount} REITs are not applicable for the selected action. Failed to update ${message.FailedRequestsCount} REITs.`;\r\n toastVariant = 'info';\r\n }\r\n else if (message.FailedRequestsCount > 0 && message.NotApplicableRequestsCount == 0) {\r\n // Alteast 1 request of failed type\r\n bulkProcessRequestStatusMsg = `Bulk updating the ${message.ActionType} is completed. Failed to update ${message.FailedRequestsCount} REITs.`;\r\n toastVariant = 'info';\r\n }\r\n else if (message.FailedRequestsCount == 0 && message.NotApplicableRequestsCount > 0) {\r\n // Alteast 1 request of not applicable type\r\n bulkProcessRequestStatusMsg = `Bulk updating the ${message.ActionType} is completed. ${message.NotApplicableRequestsCount} REITs are not applicable for the selected action.`;\r\n toastVariant = 'info';\r\n }\r\n }\r\n\r\n var bulkProcessRequestStatusNotification = toast(\r\n (\r\n this.handleBulkProcessNotificationClose(bulkProcessRequestStatusNotification)}\r\n >\r\n
    \r\n
    Bulk Process Request Status
    \r\n
    \r\n {bulkProcessRequestStatusMsg}\r\n
    \r\n
    \r\n
    \r\n )\r\n , {\r\n autoClose: 5000,\r\n });\r\n }\r\n }\r\n\r\n getRollForwardMessageForBottomCorner(message) {\r\n let toastVariant = 'info';\r\n let bulkProcessRequestStatusMsg = '';\r\n if (message.FailedRequestsCount === message.TotalRequestsCount) {\r\n // All requests are failed\r\n bulkProcessRequestStatusMsg = `Bulk roll forwarding REITs is failed.`;\r\n toastVariant = 'error';\r\n }\r\n else if (message.CompletedRequestsCount === message.TotalRequestsCount) {\r\n // All requests are completed successfully\r\n bulkProcessRequestStatusMsg = `Bulk roll forwarding REITs is processed successfully.`;\r\n toastVariant = 'success';\r\n }\r\n else if (message.FailedRequestsCount > 0 && message.NotApplicableRequestsCount > 0) {\r\n // Alteast 1 request of failed type and not applicable type\r\n bulkProcessRequestStatusMsg = `Bulk roll forwarding REITs is completed. ${message.NotApplicableRequestsCount} REITs are not applicable for the selected action. Failed to roll forward ${message.FailedRequestsCount} REITs.`;\r\n toastVariant = 'info';\r\n }\r\n else if (message.FailedRequestsCount > 0 && message.NotApplicableRequestsCount == 0) {\r\n // Alteast 1 request of failed type\r\n bulkProcessRequestStatusMsg = `Bulk roll forwarding REITs is completed. Failed to roll forward ${message.FailedRequestsCount} REITs.`;\r\n toastVariant = 'info';\r\n }\r\n else if (message.FailedRequestsCount == 0 && message.NotApplicableRequestsCount > 0) {\r\n // Alteast 1 request of not applicable type\r\n bulkProcessRequestStatusMsg = `Bulk roll forwarding REITs is completed. ${message.NotApplicableRequestsCount} REITs are not applicable for the selected action.`;\r\n toastVariant = 'info';\r\n }\r\n\r\n const rollForwardMessage = {\r\n toastVariant: toastVariant,\r\n bulkProcessRequestStatusMsg: bulkProcessRequestStatusMsg\r\n }\r\n\r\n return rollForwardMessage;\r\n\r\n }\r\n\r\n\r\n // Handle close event of bulk process notification\r\n handleBulkProcessNotificationClose(bulkProcessRequestStatusNotification) {\r\n if (bulkProcessRequestStatusNotification && toast.isActive(bulkProcessRequestStatusNotification)) {\r\n toast.dismiss(bulkProcessRequestStatusNotification);\r\n }\r\n } \r\n \r\n // Handle client event of authorization updated/deleted\r\n handleUserAuthorizationUpdate(message) {\r\n if (message && message.UserID && this.props.currentUser && this.props.currentUser.toLowerCase() === message.UserID.toLowerCase()) { \r\n this.props.authActions\r\n .fetchAuthorizationsForCurrentUser(this.props.currentUser)\r\n .then((currentUserAuthorizations) => { \r\n this.onFetchAuthorizationsForCurrentUser(currentUserAuthorizations);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n this.setState({ message: 'Failed to authorize. Please try again.' });\r\n });\r\n } \r\n }\r\n\r\n // Handle client event of bulk report package process completed\r\n handleCompletedBulkReportPackageStatus(message) {\r\n // Send message to Redux, so the table data can be updated with new status\r\n store.dispatch({\r\n type: actions.RECEIVE_BULK_REPORT_PACKAGE_MESSAGE,\r\n message: message\r\n });\r\n\r\n const isCompletedOrFailed = message && message.BulkReportStatusDescription &&\r\n (message.BulkReportStatusDescription.toLowerCase() == 'completed' || message.BulkReportStatusDescription.toLowerCase() == 'failed');\r\n\r\n if (message && message.ClientID && this.props.client && message.ClientID === this.props.client.id\r\n && message.BulkReportStatusDescription && message.BulkReportStatusDescription.length > 0 && this.toastSystem && isCompletedOrFailed) {\r\n\r\n let packageStatusMsg = message.BulkReportStatusDescription.toLowerCase() == 'completed'\r\n ? `\"${message.BulkReportPackageName}\" is complete, and the extract is ready to download.`\r\n : `\"${message.BulkReportPackageName}\" is failed.`;\r\n\r\n if (packageStatusMsg.length > 0) {\r\n var bulkReportPackageStatusNotification = toast(\r\n (\r\n this.handleBulkReportPackageNotificationClose(bulkReportPackageStatusNotification)}\r\n >\r\n
    \r\n
    Bulk Report Package Status
    \r\n
    \r\n {packageStatusMsg} \r\n
    \r\n
    \r\n
    \r\n )\r\n , {\r\n autoClose: 5000,\r\n });\r\n }\r\n }\r\n }\r\n\r\n handleBulkProcessStatusUpdate(message) {\r\n if (message.BulkProcessManagementCurrentStatusData && message.BulkProcessManagementCurrentStatusData !== null) {\r\n // Send message to Redux, so the bulk process management table data can be updated with new status\r\n this.props.bulkProcessManagementActions.dispatchBulkProcessData(message.BulkProcessManagementCurrentStatusData, actions.RECEIVE_BULK_PROCESS_STATUS_UPDATE_MESSAGE);\r\n this.props.bulkRollForwardActions.dispatchBulkRollForwardData(message.BulkProcessManagementCurrentStatusData, actions.RECEIVE_BULK_ROLL_FORWARD_STATUS_CONCURRENT_UPDATE_MESSAGE);\r\n }\r\n\r\n if (message.BulkRollForwardCurrentStatusData && message.BulkRollForwardCurrentStatusData !== null) {\r\n // Send message to Redux, so the bulk roll forward table data can be updated with new status\r\n this.props.bulkRollForwardActions.dispatchBulkRollForwardData(message.BulkRollForwardCurrentStatusData, actions.RECEIVE_BULK_ROLL_FORWARD_STATUS_UPDATE_MESSAGE);\r\n this.props.bulkProcessManagementActions.dispatchBulkProcessData(message.BulkRollForwardCurrentStatusData, actions.RECEIVE_BULK_PROCESS_STATUS_CONCURRENT_UPDATE_MESSAGE);\r\n }\r\n }\r\n\r\n\r\n\r\n // Handle close event of bulk report package notification\r\n handleBulkReportPackageNotificationClose(bulkReportPackageStatusNotification) {\r\n if (bulkReportPackageStatusNotification && toast.isActive(bulkReportPackageStatusNotification)) {\r\n toast.dismiss(bulkReportPackageStatusNotification);\r\n }\r\n }\r\n\r\n // Process next message in the queue\r\n processNextMessage() {\r\n if (!this.isMessageProcessing && this.messageQueue.length > 0) {\r\n this.isMessageProcessing = true;\r\n const nextMessage = this.messageQueue.shift();\r\n if (nextMessage.type === \"addBatchQueueItem\") {\r\n this.handleAddNewQueueItems(nextMessage?.message);\r\n } else if (nextMessage.type === \"completedBatchQueueItem\") {\r\n this.handleCompletedQueueItem(nextMessage?.message, nextMessage?.retry);\r\n }\r\n }\r\n }\r\n\r\n // Handle client event of adding new queue item\r\n receiveAddNewQueueItems(message) { \r\n for (let msg of message) {\r\n this.messageQueue.push({ type: \"addBatchQueueItem\", message: msg }); \r\n } \r\n \r\n this.processNextMessage();\r\n }\r\n\r\n // Handle client event of queue item is completed\r\n receiveCompletedQueueItem(message) {\r\n this.messageQueue.push({ type: \"completedBatchQueueItem\", message: message });\r\n this.processNextMessage(); \r\n }\r\n\r\n // Process message of type \"addBatchQueueItem\"\r\n handleAddNewQueueItems(message) {\r\n if (message) {\r\n let newItem = {};\r\n \r\n let itemFound = this.queueItems.pendingQueueItems.some(\r\n (el) => el.ID === message.BatchQueueItemID,\r\n );\r\n\r\n if (!itemFound) {\r\n newItem = {};\r\n newItem.Id = message.BatchQueueItemID;\r\n newItem.BatchId = message.BatchQueueID;\r\n newItem.ProcessTypeId = message.ProcessTypeID;\r\n newItem.st = 'aq';\r\n\r\n this.queueItems.pendingQueueItems.push(newItem);\r\n }\r\n\r\n this.updateProcessingDataNotification();\r\n\r\n this.isMessageProcessing = false;\r\n this.processNextMessage();\r\n }\r\n }\r\n\r\n handleAddToGroup(message) { }\r\n\r\n handleRemoveFromGroup(message) { }\r\n\r\n updateProcessingDataNotification() {\r\n clearTimeout(this.processingToastNotificationTimeout);\r\n \r\n if(this.queueItems.pendingQueueItems.length > 0 || this.queueItems.completedQueueItems.length > 0){ \r\n // Calculate percentage\r\n const numOfPending = this.queueItems.pendingQueueItems.length;\r\n const numOfCompleted = this.queueItems.completedQueueItems.length;\r\n let percent =\r\n numOfCompleted === 0\r\n ? 0\r\n : Math.round((numOfCompleted / (numOfCompleted + numOfPending)) * 100);\r\n percent = percent > 100 ? 100 : percent;\r\n\r\n const autoDismiss = percent == 100;\r\n\r\n const progress = (percent / 100) === 0 ? 0.01 : (percent / 100);\r\n // Show progress bar when percent is greater than 0 \r\n if (this.toastSystem) {\r\n if (this.processingToastNotification && toast.isActive(this.processingToastNotification)) {\r\n //Update toast\r\n toast.update(this.processingToastNotification,\r\n {\r\n render: () => ,\r\n progress\r\n });\r\n\r\n }\r\n else {\r\n // Do not even show notification if it is 100%\r\n const processingToastNotification = toast(\r\n (\r\n \r\n )\r\n , {\r\n progress,\r\n });\r\n\r\n this.processingToastNotification = processingToastNotification;\r\n }\r\n\r\n if (autoDismiss) {\r\n this.processingToastNotificationTimeout = setTimeout(() => {\r\n this.hideNotificationAndResetData();\r\n }, 3000);\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Update status after fetching the authorizations details for current user\r\n onFetchAuthorizationsForCurrentUser(currentUserAuthorizations) {\r\n // If authorizations contain any External Permanent User role (role == 4)\r\n if (currentUserAuthorizations.some((x) => x.role === 4)) {\r\n this.props.authenticationActions.setAuthenticationScope('external');\r\n } else {\r\n this.props.authenticationActions.setAuthenticationScope('internal');\r\n }\r\n\r\n // If they have any authorizations, continue with redirect\r\n // else, they do not have authorization to the App\r\n if (currentUserAuthorizations.length > 0 && currentUserAuthorizations.some((x) => x.role !== 3)) {\r\n // If authorizations found, clear message\r\n this.setState({ message: null });\r\n } else {\r\n this.setState({\r\n message:\r\n 'You are not authorized to use this application. Please contact your Administrator to obtain access.',\r\n });\r\n }\r\n }\r\n\r\n hasClientDatasteward(clientId) {\r\n return clientActions.fetchClient(clientId)\r\n .then(client => client.isLockedForNotHavingDataSteward !== false)\r\n .catch(error => {\r\n console.error('Error fetching client data:', error);\r\n return false;\r\n });\r\n }\r\n\r\n isLockedForMissingDeletionApprovalOrException(clientId) {\r\n return clientActions.fetchClient(clientId)\r\n .then(client => client.isLockedForMissingDeletionApprovalOrException)\r\n .catch(error => {\r\n console.error('Error fetching client data:', error);\r\n return false;\r\n });\r\n }\r\n\r\n\r\n toggleShowEngagementAdminForDataStewardAssignmentModal = () => {\r\n this.setState({\r\n showEngagementAdminForDataStewardAssignmentModal: !this.state.showEngagementAdminForDataStewardAssignmentModal,\r\n });\r\n\r\n };\r\n render() {\r\n let userId = this.props.currentUser;\r\n\r\n return (\r\n \r\n {this.state.message ? (\r\n

    {this.state.message}

    \r\n ) : (\r\n \r\n {this.props.idToken ? (\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n

    Authentication in progress...

    \r\n )}\r\n \r\n Authentication in progress...\r\n \r\n \r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nApp.propTypes = {\r\n authActions: PropTypes.object,\r\n bulkProcessManagementActions: PropTypes.object,\r\n bulkRollForwardActions: PropTypes.object,\r\n authenticationActions: PropTypes.object,\r\n authenticationScope: PropTypes.string,\r\n currentUserAuthorizations: PropTypes.array,\r\n client: PropTypes.object,\r\n idToken: PropTypes.string,\r\n router: PropTypes.object,\r\n clientActions: PropTypes.object,\r\n featureManagementActions:PropTypes.object,\r\n dataPurgeActions: PropTypes.object,\r\n dataPurgeUserAcknowledgementHistoryData: PropTypes.array,\r\n dataPurgeConfigurationData: PropTypes.array,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) { \r\n return {\r\n authenticationScope: state.authenticationScope,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n client: state.client,\r\n currentUser: state.authentication.currentUser,\r\n idToken: state.authentication.idToken,\r\n dataPurgeUserAcknowledgementHistoryData: state.dataPurgeUserAcknowledgementHistoryData,\r\n upcomingDataDeletionNoticeData: state.upcomingDataDeletionNoticeData,\r\n dataPurgeConfigurationData: state.dataPurgeConfigurationData,\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n authActions: bindActionCreators(authActions, dispatch),\r\n bulkProcessManagementActions: bindActionCreators(bulkProcessManagementActions, dispatch),\r\n bulkRollForwardActions: bindActionCreators(bulkRollForwardActions, dispatch),\r\n authenticationActions: bindActionCreators(authenticationActions, dispatch),\r\n clientActions: bindActionCreators(clientActions, dispatch),\r\n dataPurgeActions: bindActionCreators(dataPurgeActions, dispatch),\r\n featureManagementActions: bindActionCreators(featureManagementActions, dispatch),\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withMsal(App)));\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\n\r\n/**\r\n * ExternalFooter container component\r\n * @extends {React.Component}\r\n */\r\nexport class ExternalFooter extends React.Component {\r\n /**\r\n * Creates a new External Footer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = { userId: \"\" };\r\n }\r\n\r\n render() {\r\n //Get current year\r\n let year = (new Date().getFullYear());\r\n \r\n return (\r\n
    \r\n © {year} Ernst & Young LLP | All Rights Reserved | Content within this application is confidential and meant for EY staff, EY clients and their designates.\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nExternalFooter.propTypes = { \r\n};\r\n\r\nExternalFooter.contextTypes = { \r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties belonging to this component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n let result = { \r\n };\r\n\r\n return result;\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return { \r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExternalFooter);\r\n","import React from 'react';\r\nimport useWindowDimensions from './useWindowDimensions';\r\n\r\nexport function withWindowDimensions(WrappedComponent, subtractHeight=0) {\r\n return function WithWindowDimensionsComponent(props) {\r\n const windowDimensions = useWindowDimensions(subtractHeight);\r\n return ;\r\n }\r\n}\r\n\r\n\r\n\r\n","import React from \"react\";\r\nimport { Outlet } from \"react-router-dom\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport Breadcrumbs from \"../components/shared/Breadcrumbs\";\r\nimport ErrorSummary from '../components/shared/ErrorSummary';\r\nimport ReactModal from 'react-modal';\r\nimport * as commonActions from \"../actions/commonActions\";\r\nimport {useWindowDimensions} from '../common/useWindowDimensions';\r\nimport { Menu, Segment, Sidebar } from 'semantic-ui-react';\r\nimport { MotifBreadcrumb, MotifBreadcrumbItem, MotifIcon, MotifButton } from '@ey-xd/motif-react';\r\nimport { IconoirXmark } from '@ey-xd/motif-icon';\r\nimport Notifications from \"./notifications/Notifications\";\r\nimport * as notificationActions from \"../actions/notificationActions\";\r\nimport ExternalFooter from '../components/ExternalFooter';\r\nimport shouldHideMainErrorSummary from '../scripts/errorSummaryHelper';\r\nimport { withRouter } from \"../common/withRouter\";\r\nimport {withWindowDimensions} from '../common/withWindowDimensions';\r\nimport reit from \"../reducers/reitReducer\";\r\n\r\n/**\r\n * ExternalMain container component\r\n * @extends {React.Component}\r\n */\r\nexport class ExternalMain extends React.Component {\r\n /**\r\n * Creates a new ExternalMain\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n this.handleDismissErrorMessage = this.handleDismissErrorMessage.bind(this);\r\n this.handleCloseNotifications = this.handleCloseNotifications.bind(this);\r\n \r\n }\r\n \r\n componentDidUpdate(prevProps) { \r\n if (prevProps.currentLocation !== this.props.currentLocation) {\r\n this.props.commonActions.clearErrorResponse();\r\n }\r\n if (\r\n prevProps.router?.location?.pathname !== this.props.router?.location?.pathname ||\r\n prevProps.client !== this.props.client ||\r\n prevProps.period !== this.props.period ||\r\n prevProps.reit !== this.props.reit\r\n ) {\r\n this.handleTabPageLocation();\r\n }\r\n }\r\n\r\n endsWithOptionalSlash(str, endsWithStr) {\r\n return str.endsWith(endsWithStr) || str.endsWith(`${endsWithStr}/`);\r\n }\r\n\r\n getDisplayName(match) {\r\n const { params, pathname } = match;\r\n const { client, reit, period } = this.props;\r\n\r\n // Check if the pathname includes the expected pattern with dynamic segments\r\n if (this.endsWithOptionalSlash(pathname, `/client/${params.clientId}`)) {\r\n return client && client.name ? client.name : '...';\r\n } else if (this.endsWithOptionalSlash(pathname, `/reit/${params.reitId}`)) {\r\n return reit && reit.reitName ? reit.reitName : '...';\r\n } else if (this.endsWithOptionalSlash(pathname, `/period/${params.periodId}`)) {\r\n return period && period.reportPeriodDescription ? period.reportPeriodDescription : '...';\r\n } else {\r\n // If the route has a name, use it; otherwise, use the last segment of the pathname (which really should never happen)\r\n return match.handle?.name || pathname.split('/').pop();\r\n }\r\n }\r\n\r\n // Function to set the page title based on the route's displayName\r\n handleTabPageLocation() {\r\n const matches = this.props.router.matches;\r\n\r\n // Filter out matches that don't have a name (e.g., the root match)\r\n const filteredMatches = matches.filter((match) => match.handle?.name);\r\n\r\n let tabTitle = '';\r\n let pages = filteredMatches.filter(x => x.handle?.name).map((match) => {\r\n return this.getDisplayName(match);\r\n }).reverse();\r\n\r\n pages.push('EY REITSuite');\r\n tabTitle = pages.join(' | ');\r\n window.document.title = tabTitle;\r\n }\r\n\r\n handleDismissErrorMessage() {\r\n this.props.commonActions.clearErrorResponse();\r\n }\r\n\r\n handleCloseNotifications(e) {\r\n e.preventDefault();\r\n this.props.notificationActions.toggleNotificationsDisplay();\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n const loadingModalStyle = {\r\n content: {\r\n backgroundColor: 'transparent',\r\n border: 'none',\r\n color: 'white',\r\n textAlign: 'center',\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: '60%',\r\n overflow: 'none' // <-- This tells the modal to scroll\r\n }\r\n };\r\n\r\n const suppressErrorSummary = this.props.errorResponse && this.props.errorResponse.errorCode && (this.props.errorResponse.errorCode === \"RESOURCE_NOT_FOUND\" || this.props.errorResponse.errorCode === \"UNKNOWN\" || this.props.errorResponse.errorCode === \"LINK_EXPIRED\");\r\n const { height } = this.props;\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    Notifications

    \r\n
    \r\n \r\n
    \r\n \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.currentLocation &&\r\n this.props.currentLocation.toLowerCase().indexOf(\"/ext/arqc/arqcrecord\") < 0 &&\r\n this.props.currentLocation.toLowerCase().indexOf(\"/ext/psq/psqrecord\") < 0 &&\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n {(this.props.errorResponse && !this.props.hideMainErrorSummary && !suppressErrorSummary && ) || null}\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {(this.props.pendingTasks > 0 && ( \r\n
    \r\n
    \r\n \"Loading...\" \r\n ...loading...please wait...\r\n
    \r\n
    \r\n )) }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nExternalMain.propTypes = {\r\n routes: PropTypes.array,\r\n params: PropTypes.object,\r\n client: PropTypes.object,\r\n reit: PropTypes.object,\r\n period: PropTypes.object,\r\n currentLocation: PropTypes.string,\r\n hideMainErrorSummary: PropTypes.bool,\r\n errorResponse: PropTypes.object,\r\n pendingTasks: PropTypes.number,\r\n containerHeight: PropTypes.number.isRequired,\r\n commonActions: PropTypes.object.isRequired,\r\n showNotifications: PropTypes.bool.isRequired,\r\n notificationActions: PropTypes.object.isRequired,\r\n isPermExternalApp: PropTypes.bool\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties belonging to this component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n const result = {\r\n client: state.client,\r\n reit: state.reit,\r\n period: state.period,\r\n params: ownProps.router.location.params,\r\n currentLocation: ownProps.router.location.pathname,\r\n hideMainErrorSummary: shouldHideMainErrorSummary(ownProps.router.location),\r\n errorResponse: state.errorResponse,\r\n pendingTasks: state.pendingTasks,\r\n showNotifications: state.showNotifications,\r\n isPermExternalApp: ownProps.isPermExternalApp\r\n };\r\n return result;\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n notificationActions: bindActionCreators(notificationActions, dispatch)\r\n };\r\n}\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withWindowDimensions(ExternalMain,72)));\r\n","import React from 'react';\r\nimport {\r\n MotifHeader,\r\n MotifIcon,\r\n MotifHeaderLogo\r\n} from \"@ey-xd/motif-react\";\r\n\r\nconst ExternalNavBar = () => {\r\n return (\r\n // \r\n \r\n \r\n Home\r\n \r\n \r\n }\r\n appHeaderName=\"REITSuite\" \r\n >\r\n \r\n );\r\n};\r\n\r\nexport default ExternalNavBar;\r\n","import React from \"react\";\r\nimport { Outlet } from \"react-router-dom\";\r\nimport { IntlProvider } from \"react-intl\";\r\nimport ExternalMain from \"../containers/ExternalMain\";\r\nimport ExternalNavBar from \"./ExternalNavBar\";\r\nimport { LicenseManager } from 'ag-grid-enterprise';\r\nimport { withRouter } from '../common/withRouter';\r\n\r\n//Set AG Grid license key\r\nLicenseManager.setLicenseKey(process.env.AG_GRID_UI_LICENSE);\r\n\r\n/**\r\n * The ExternalApp class. This is the parent component for all routes.\r\n * @extends {React.Component}\r\n */\r\nclass ExternalApp extends React.Component {\r\n /**\r\n * Creates a new ExternalApp\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n }\r\n\r\n render() {\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\nexport default withRouter(ExternalApp);","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as notificationActions from '../actions/notificationActions';\r\nimport * as microsoftGraphApiActions from '../actions/microsoftGraphApiActions';\r\nimport Menu, { Item as MenuItem } from 'rc-menu';\r\nimport { Icon } from 'semantic-ui-react';\r\nimport {\r\n MotifHeader,\r\n MotifIconButton,\r\n MotifIcon,\r\n MotifHeaderLogo\r\n} from \"@ey-xd/motif-react\";\r\nimport { IconoirBellNotification } from '@ey-xd/motif-icon';\r\nimport { withMsal } from \"@azure/msal-react\";\r\nimport { withRouter } from '../common/withRouter';\r\n\r\nimport UserAvatarComponent from './shared/navbar/userAvatarComponent';\r\n\r\n/**\r\n * NavBar container component\r\n * @extends {React.Component}\r\n */\r\nexport class NavBar extends React.Component {\r\n /**\r\n * Creates a new NavBar\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = { userId: \"\", isUserDropdownOpen: false };\r\n }\r\n\r\n componentDidMount() {\r\n // Microsoft Graph API call to fetch the profile picture of the logged in user\r\n this.props.microsoftGraphApiActions.fetchUserProfilePictureV1();\r\n }\r\n\r\n render() {\r\n let self = this;\r\n let user = '';\r\n const userId = this.props.authentication.currentUser;\r\n\r\n let name = this.props.msalContext.accounts[0].idTokenClaims.name;\r\n if (name === undefined || name === null || name === \"\") {\r\n name = \"\";\r\n let firstName = this.props.msalContext.accounts[0].idTokenClaims.given_name;\r\n if (firstName === undefined || firstName === null) {\r\n firstName = \"\";\r\n }\r\n let lastName = this.props.msalContext.accounts[0].idTokenClaims.family_name;\r\n if (lastName === undefined || lastName === null) {\r\n lastName = \"\";\r\n }\r\n if (firstName !== \"\") {\r\n name += firstName;\r\n }\r\n if (lastName != \"\") {\r\n if (name !== \"\") {\r\n name += \" \";\r\n }\r\n name += lastName;\r\n }\r\n }\r\n\r\n if (name !== \"\") {\r\n user += name;\r\n }\r\n else {\r\n user += userId;\r\n }\r\n\r\n /**\r\n * Handles a navigation click\r\n * @param {Object} info The information\r\n */\r\n function handleClick(info) {\r\n switch (info.key) {\r\n case \"Logoff\":\r\n navToLogoff();\r\n break;\r\n }\r\n }\r\n\r\n function handleNotificationToggleDisplay() {\r\n self.props.notificationActions.toggleNotificationsDisplay();\r\n } \r\n\r\n const navToLogoff = () => {\r\n notificationActions.stopNotificationPolling();\r\n this.props.router.navigate(`/external/logoff`);\r\n };\r\n\r\n const handleToggleUserDropdown = () => {\r\n this.setState({ isUserDropdownOpen: !this.state.isUserDropdownOpen });\r\n };\r\n\r\n const handleToggleUserDropdownWhenClickedOutside = () => {\r\n if (this.state.isUserDropdownOpen === true) {\r\n this.setState({ isUserDropdownOpen: false });\r\n }\r\n };\r\n\r\n return (\r\n // \r\n \r\n \r\n Home\r\n \r\n \r\n }\r\n appHeaderName=\"REITSuite\"\r\n iconsContainer={\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {(Array.isArray(this.props.notifications) && this.props.notifications.length > 0 &&\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 }\r\n >\r\n
    \r\n );\r\n }\r\n}\r\n\r\nNavBar.propTypes = {\r\n user: PropTypes.object,\r\n showNotifications: PropTypes.bool.isRequired,\r\n notificationActions: PropTypes.object,\r\n microsoftGraphApiActions: PropTypes.object,\r\n authentication: PropTypes.object,\r\n userProfilePictureUrl: PropTypes.string\r\n};\r\n\r\nNavBar.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties belonging to this component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n let result = {\r\n showNotifications: state.showNotifications,\r\n authentication: state.authentication,\r\n userProfilePictureUrl: state.userProfilePicture\r\n };\r\n\r\n return result;\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n notificationActions: bindActionCreators(notificationActions, dispatch),\r\n microsoftGraphApiActions: bindActionCreators(microsoftGraphApiActions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withMsal(NavBar)));\r\n","import React, {createContext} from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { IntlProvider } from 'react-intl';\r\nimport { connect } from 'react-redux';\r\nimport { Outlet } from 'react-router-dom';\r\nimport { bindActionCreators } from 'redux';\r\nimport ExternalMain from '../containers/ExternalMain';\r\nimport PermExternalNavBar from './PermExternalNavBar';\r\nimport MaintainLoginModal from './MaintainLoginModal';\r\nimport * as authActions from '../actions/authActions';\r\nimport * as authenticationActions from '../actions/authenticationActions';\r\nimport * as actions from '../actions/actionTypes';\r\nimport { store } from '../store/configureStore';\r\nimport { LicenseManager } from 'ag-grid-enterprise';\r\nimport { withRouter } from '../common/withRouter';\r\nimport { logUserAuditTrail } from '../actions/userAuditActions';\r\nimport axios from 'axios';\r\nimport * as signalR from '@microsoft/signalr';\r\n\r\nimport {\r\n withMsal,\r\n AuthenticatedTemplate,\r\n UnauthenticatedTemplate,\r\n} from '@azure/msal-react';\r\nimport {\r\n InteractionStatus,\r\n InteractionRequiredAuthError,\r\n} from '@azure/msal-browser';\r\n\r\n//Set AG Grid license key\r\nLicenseManager.setLicenseKey(process.env.AG_GRID_UI_LICENSE);\r\nexport const WebSocketContext = createContext(null);\r\n\r\n/**\r\n * The ExternalApp class. This is the parent component for all routes.\r\n * @extends {React.Component}\r\n */\r\nclass PermExternalApp extends React.Component {\r\n /**\r\n * Creates a new ExternalApp\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.connection = {};\r\n this.establishedUser = false;\r\n this.createdRouterListener = false;\r\n this.fetchAuthorizations = false;\r\n this.lastPathname = '';\r\n\r\n this.state = {\r\n showMaintainLoginModal: false,\r\n message: 'Authentication in progress...',\r\n ws: null,\r\n };\r\n\r\n this.useIdToken = this.useIdToken.bind(this);\r\n this.handleUserModalLogin = this.handleUserModalLogin.bind(this);\r\n this.handleUserLogOut = this.handleUserLogOut.bind(this);\r\n this.getConnectionInfo = this.getConnectionInfo.bind(this);\r\n this.executeJoinApplication = this.executeJoinApplication.bind(this);\r\n this.handleJoinApplication = this.handleJoinApplication.bind(this);\r\n this.handleUserAuthorizationUpdate = this.handleUserAuthorizationUpdate.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.useIdToken(false);\r\n }\r\n\r\n componentWillUnmount() {\r\n clearTimeout(this.idTokenRefreshTimer);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (!this.establishedUser && this.props.currentUser) {\r\n this.establishedUser = true;\r\n\r\n // Token renewal modal toggle timeout\r\n this.idTokenRefreshTimer = setTimeout(() => {\r\n this.setState({\r\n showMaintainLoginModal: true,\r\n });\r\n }, process.env.ACCESS_TOKEN_IDLE_MODAL_POPUP_MILLESECONDS);\r\n\r\n if (!this.createdRouterListener) {\r\n this.createdRouterListener = true;\r\n\r\n if (this.props.router.location.pathname) {\r\n const pathname = location.pathname;\r\n if (pathname !== this.lastPathname) {\r\n this.lastPathname = pathname;\r\n const accounts = this.props.msalContext.instance.getAllAccounts();\r\n if (accounts[0]?.idTokenClaims.exp) {\r\n // Look for page changes here to trigger that user is still \"active\"\r\n const exp = accounts[0].idTokenClaims.exp;\r\n\r\n let expDate = new Date(0);\r\n expDate.setUTCSeconds(exp);\r\n\r\n let curDate = new Date();\r\n\r\n const diff = expDate.getTime() - curDate.getTime();\r\n\r\n //console.log(`ROUTE CHANGED: Token Exp: ${expDate}. Diff: ${diff}. ACCESS_TOKEN_SILENT_REFRESH_MILLESECONDS: ${process.env.ACCESS_TOKEN_SILENT_REFRESH_MILLESECONDS}`)\r\n if (diff < process.env.ACCESS_TOKEN_SILENT_REFRESH_MILLESECONDS) {\r\n this.useIdToken(true).then(() => {\r\n clearTimeout(this.idTokenRefreshTimer);\r\n this.idTokenRefreshTimer = setTimeout(() => {\r\n this.setState({\r\n showMaintainLoginModal: true,\r\n });\r\n }, process.env.ACCESS_TOKEN_IDLE_MODAL_POPUP_MILLESECONDS);\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // if (nextProps.currentUser) {\r\n // notificationActions.pollNotifications(store.dispatch, nextProps.currentUser);\r\n // }\r\n \r\n this.getConnectionInfo()\r\n .then((info) => {\r\n\r\n // make compatible with old and new SignalRConnectionInfo\r\n info.accessToken = info.accessToken || info.accessKey;\r\n info.url = info.url || info.endpoint;\r\n\r\n var options = {\r\n accessTokenFactory: () => info.accessToken,\r\n };\r\n\r\n this.connection = new signalR.HubConnectionBuilder()\r\n .withUrl(info.url, options)\r\n .withAutomaticReconnect()\r\n .configureLogging(signalR.LogLevel.Error)\r\n .build();\r\n \r\n //Handle client events\r\n this.connection.on('joinApplication', this.handleJoinApplication);\r\n this.connection.on('userAuthorizationUpdate', this.handleUserAuthorizationUpdate);\r\n\r\n //Handle SignalR reconnect\r\n this.connection.onreconnected((connectionId) => {\r\n var reconnectConnectionId =\r\n this.connection && this.connection.connectionId\r\n ? this.connection.connectionId\r\n : null;\r\n\r\n if(connectionId){\r\n this.executeJoinApplication(connectionId);\r\n }\r\n });\r\n\r\n //Start hub connection\r\n this.connection\r\n .start()\r\n .then(() => {\r\n var startConnectionId =\r\n this.connection && this.connection.connectionId\r\n ? this.connection.connectionId\r\n : null;\r\n\r\n if(startConnectionId){\r\n this.executeJoinApplication(startConnectionId);\r\n }\r\n })\r\n .catch((e) => {\r\n console.log('Error while establishing SignalR connection. ' + e);\r\n });\r\n\r\n this.setState({ ws: this.connection });\r\n\r\n })\r\n .catch((e) => {\r\n console.log('Error while establishing SignalR connection. ' + e);\r\n });\r\n }\r\n\r\n // If user is logged in as internal, but still on the \"PermExternalApp\" container, we need to route to internal app.\r\n // This can happen if user manually navigates to an external URL, then clicks that they are an EY employee.\r\n if (this.props.authenticationScope === 'internal') {\r\n this.props.router.navigate('/');\r\n return;\r\n } \r\n\r\n // if we have not already fetched the authorizations\r\n // and both idToken and currentUser are populated\r\n // then fetch authorizations\r\n if (\r\n !this.fetchAuthorizations &&\r\n this.props.idToken &&\r\n this.props.currentUser\r\n ) {\r\n this.fetchAuthorizations = true;\r\n \r\n // Fetch authorizations\r\n this.props.authActions\r\n .fetchAuthorizationsForCurrentUser(this.props.currentUser)\r\n .then((currentUserAuthorizations) => {\r\n this.onFetchAuthorizationsForCurrentUser(currentUserAuthorizations); \r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n this.setState({ message: 'Failed to authorize. Please try again.' });\r\n });\r\n }\r\n }\r\n\r\n async useIdToken(isSilentRefresh = false) {\r\n const { instance } = this.props.msalContext;\r\n const sleep = (ms) => new Promise((r) => setTimeout(r, ms));\r\n\r\n // If inProgress is not None, then we are probably in the middle of a redirect login. Wait until status is back to None before continuing.\r\n while (this.props.msalContext.inProgress !== InteractionStatus.None) {\r\n await sleep(100);\r\n }\r\n\r\n const accounts = instance.getAllAccounts();\r\n\r\n //console.log('useIdToken: accounts', accounts)\r\n if (accounts.length > 0) {\r\n const request = {\r\n scopes: ['user.read', 'openid', 'profile', 'offline_access'],\r\n account: accounts[0],\r\n forceRefresh: true,\r\n //state: window.location.href\r\n };\r\n //console.log('useIdToken: Calling acquireTokenSilent')\r\n const silentResponse = await instance\r\n .acquireTokenSilent(request)\r\n .then((response) => {\r\n //console.log('useIdToken: acquireTokenSilent response: ', response);\r\n return response;\r\n })\r\n .catch(async (error) => {\r\n // acquireTokenSilent can fail for a number of reasons, fallback to interaction\r\n if (error instanceof InteractionRequiredAuthError) {\r\n return await instance.acquireTokenRedirect(request);\r\n } else {\r\n throw error;\r\n }\r\n });\r\n\r\n //console.log('silentResponse', silentResponse);\r\n \r\n // Setting the ID_Token to the store\r\n await store.dispatch({\r\n type: actions.SET_ID_TOKEN,\r\n idToken: silentResponse.idToken,\r\n });\r\n\r\n // Setting the Access_Token to the store\r\n await store.dispatch({\r\n type: actions.SET_ACCESS_TOKEN,\r\n accessToken: silentResponse.accessToken,\r\n });\r\n\r\n await this.props.authenticationActions.setCurrentUser(\r\n silentResponse.idTokenClaims,\r\n );\r\n\r\n // Log user audit trail\r\n const auditData = {\r\n email: silentResponse.idTokenClaims.email,\r\n isSilentRefresh: isSilentRefresh,\r\n pageUrl: window.location.href,\r\n };\r\n await store.dispatch(logUserAuditTrail(auditData));\r\n } else {\r\n const authRequest = {\r\n scopes: ['user.read', 'openid', 'profile', 'offline_access'],\r\n state: window.location.href,\r\n };\r\n\r\n instance.loginRedirect(authRequest);\r\n }\r\n }\r\n \r\n toggleShowMaintainTemplateModal() {\r\n this.setState({\r\n showMaintainLoginModal: !this.state.showMaintainLoginModal,\r\n });\r\n }\r\n\r\n handleUserModalLogin(modalExpired) {\r\n if (!modalExpired) {\r\n this.toggleShowMaintainTemplateModal();\r\n\r\n // Calling useIdToken, which will issue silent renew or redirect if needed\r\n this.useIdToken(true).then(() => {\r\n clearTimeout(this.idTokenRefreshTimer);\r\n this.idTokenRefreshTimer = setTimeout(() => {\r\n this.setState({\r\n showMaintainLoginModal: true,\r\n });\r\n }, process.env.ACCESS_TOKEN_IDLE_MODAL_POPUP_MILLESECONDS);\r\n });\r\n } else {\r\n // We are expired. Reload entire page to login again.\r\n window.location.reload();\r\n }\r\n }\r\n\r\n handleUserLogOut() {\r\n this.props.router.navigate(`/external/logoff`);\r\n }\r\n\r\n // Execute SignalR negotiate method and get connection info\r\n getConnectionInfo() {\r\n // negotiate connection with userid\r\n // so that you can have individual connections to each user with multiple browser windows/tabs at the same time\r\n \r\n return axios\r\n .post(\r\n `${process.env.ROOT_REITSUITE_AZURE_FUNCTION_API_URL}/negotiate`,\r\n null,\r\n {\r\n headers: {\r\n 'x-ms-signalr-userid': `${this.props.currentUser}`,\r\n },\r\n },\r\n )\r\n .then((resp) => resp.data);\r\n }\r\n\r\n // Update status after fetching the authorizations details for current user\r\n onFetchAuthorizationsForCurrentUser(currentUserAuthorizations) {\r\n // If authorizations contain any External Permanent User role (role == 4)\r\n if (currentUserAuthorizations.some((x) => x.role === 4)) {\r\n this.props.authenticationActions.setAuthenticationScope('external');\r\n } else {\r\n this.props.authenticationActions.setAuthenticationScope('internal');\r\n }\r\n\r\n // If they have any authorizations, continue with redirect\r\n // else, they do not have authorization to the App\r\n if (currentUserAuthorizations.length > 0 && currentUserAuthorizations.some((x) => x.role !== 3)) {\r\n // If authorizations found, clear message\r\n this.setState({ message: null });\r\n } else {\r\n this.setState({\r\n message:\r\n 'You are not authorized to use this application. Please contact your Administrator to obtain access.',\r\n });\r\n }\r\n }\r\n\r\n // Handle client event of user has connected to hub\r\n handleJoinApplication(message) {\r\n }\r\n\r\n // Handle client event of authorization updated/deleted\r\n handleUserAuthorizationUpdate(message) {\r\n if (message && message.UserID && this.props.currentUser && this.props.currentUser === message.UserID) { \r\n this.props.authActions\r\n .fetchAuthorizationsForCurrentUser(this.props.currentUser)\r\n .then((currentUserAuthorizations) => { \r\n this.onFetchAuthorizationsForCurrentUser(currentUserAuthorizations); \r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n this.setState({ message: 'Failed to authorize. Please try again.' });\r\n });\r\n } \r\n }\r\n\r\n // Join application\r\n executeJoinApplication(hubConnectionId) {\r\n return axios\r\n .post(\r\n `${process.env.ROOT_REITSUITE_AZURE_FUNCTION_API_URL}/joinApplication`,\r\n {\r\n clientId: -99,\r\n connectionId: hubConnectionId,\r\n processType: 1,\r\n userId: this.props.currentUser,\r\n isExternalUser: 1\r\n },\r\n {\r\n headers: {},\r\n },\r\n )\r\n .then((resp) => resp);\r\n}\r\n\r\n render() {\r\n return (\r\n \r\n \r\n {this.state.message ? (\r\n

    {this.state.message}

    \r\n ) : (\r\n \r\n {this.props.idToken ? (\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n ) : (\r\n

    Authentication in progress...

    \r\n )}\r\n \r\n Authentication in progress...\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nPermExternalApp.propTypes = {\r\n user: PropTypes.object,\r\n authenticationScope: PropTypes.string,\r\n currentUserAuthorizations: PropTypes.array,\r\n authActions: PropTypes.object,\r\n authenticationActions: PropTypes.object,\r\n idToken: PropTypes.string,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n authenticationScope: state.authenticationScope,\r\n currentUser: state.authentication.currentUser,\r\n idToken: state.authentication.idToken,\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n authActions: bindActionCreators(authActions, dispatch),\r\n authenticationActions: bindActionCreators(authenticationActions, dispatch),\r\n };\r\n}\r\n\r\nexport default withRouter(connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(withMsal(PermExternalApp)));\r\n","/**\r\n * An API error\r\n */\r\nexport class ApiError extends Error {\r\n constructor(data) {\r\n super(\"An error has occurred.\");\r\n this.data = data;\r\n }\r\n}","import * as actions from './actionTypes';\r\nimport { fetchFromReportApi as fetchReport } from './fetchFromApi';\r\nimport { getTrialBalancesByPeriod as getTrialBalancesByPeriod } from './trialBalanceActions';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport { ApiError } from '../scripts/errors';\r\nimport * as reitActions from './reitActions';\r\nimport { pendingTask, begin, end } from '../constants/pendingTask';\r\n\r\n/**\r\n * Retrieves the asset summary\r\n * @param {any} periodId The ID of the period.\r\n * @param {any} authHeader The Authorization header. This will be generated if not supplied.\r\n * @returns {any} A Promise.\r\n * Used by fetchAssetSummary and fetchAssetDetailsForYear, both of which handle the dispatching\r\n */\r\nexport function fetchAssetSummaryWithoutDispatch(periodId, authHeader) {\r\n return getTrialBalancesByPeriod(periodId, 'adjusted', 'consolidated', null, authHeader).then(tb => {\r\n if (actionHelpers.isErrorResponse(tb)) {\r\n // Throw an ApiError with the error response so the methods handling the dispatching can\r\n // catch this error and dispatch it\r\n throw new ApiError(tb);\r\n }\r\n\r\n let trialBalanceId = (tb.length > 0 && tb[0].id || '-1');\r\n\r\n return fetchReport('/assetTest?periodId=' + periodId + '&trialBalanceId=' + trialBalanceId,\r\n {\r\n headers: (authHeader && new Headers({ 'Authorization': authHeader })) || null\r\n });\r\n }).then(response => {\r\n return response.json();\r\n }).then(assetSummary => {\r\n if (actionHelpers.isErrorResponse(assetSummary)) {\r\n // Throw an ApiError with the error response so the methods handling the dispatching can\r\n // catch this error and dispatch it\r\n throw new ApiError(assetSummary);\r\n }\r\n\r\n return assetSummary;\r\n });\r\n}\r\n\r\n/**\r\n * Retrieves the asset summary and adds it to state.\r\n * @param {any} periodId The ID of the period.\r\n * @param {any} authHeader The Authorization header. This will be generated if not supplied.\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function fetchAssetSummary(periodId, authHeader) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetchAssetSummaryWithoutDispatch(periodId, authHeader).then(assetSummary => {\r\n if (Array.isArray(assetSummary.details)) {\r\n dispatch({ type: actions.LOAD_ASSET_DETAIL_SUCCESS, assetDetails: assetSummary.details });\r\n }\r\n\r\n return dispatch({ type: actions.LOAD_ASSET_SUMMARY_SUCCESS, assetSummary, [pendingTask]: end });\r\n }).catch(error => {\r\n if (error instanceof ApiError && actionHelpers.isErrorResponse(error.data)) {\r\n return dispatch({ type: actions.LOAD_ASSET_SUMMARY_FAILURE, errorResponse: error.data, [pendingTask]: end });\r\n }\r\n\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_ASSET_SUMMARY_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Retrieves the asset details for the year\r\n * @param {any} currentPeriodId The ID period\r\n * @param {any} checklistId The ID of the checklist\r\n * @param {any} checklistType The checklist type (PSQ or ARQC)\r\n * @returns {any} A function that returns a Promise\r\n */\r\nexport function fetchAssetDetailsForYear(currentPeriodId, checklistId, checklistType) {\r\n let authHeader = null;\r\n if (checklistId && checklistType) {\r\n authHeader = actionHelpers.buildAuthHeader(checklistId, checklistType);\r\n }\r\n\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return reitActions.fetchReitByPeriodId(currentPeriodId, checklistId, checklistType).then(reit => {\r\n if (actionHelpers.isErrorResponse(reit)) {\r\n return dispatch({ type: actions.LOAD_ASSET_DETAILS_FOR_YEAR_FAILURE, errorResponse: reit, [pendingTask]: end });\r\n }\r\n\r\n // We're only interested in quarterly periods right now\r\n const quarterlyPeriods = reit.periods.filter(x => x.reportPeriodTypeDescription.toLowerCase() === 'quarterly');\r\n // Sort the periods by date descenting\r\n const periods = quarterlyPeriods.sort((a, b) => new Date(b.endDate) - new Date(a.endDate));\r\n\r\n // Locate the index of the current period\r\n const idx = periods.findIndex(x => x.reportPeriodID === currentPeriodId);\r\n\r\n let year = 0;\r\n let promises = [];\r\n\r\n for (let i = idx; i < periods.length; i++) {\r\n let period = periods[i];\r\n let startDate = new Date(period.startDate);\r\n\r\n // If this period is the current period, get the year,\r\n // otherwise if the period is not the same year as the current period, exit the loop\r\n if (i === idx) {\r\n year = startDate.getFullYear();\r\n } else if (year !== startDate.getFullYear()) {\r\n break;\r\n }\r\n\r\n // This returns a promise\r\n let p = fetchAssetSummaryWithoutDispatch(period.reportPeriodID, authHeader).then(assetSummary => {\r\n\r\n // If we received asset test details, return an object with the details and the quarter number\r\n if (Array.isArray(assetSummary.details)) {\r\n // Calculate the quarter number - remember January = 0\r\n let quarter = Math.floor((startDate.getMonth() + 3) / 3);\r\n\r\n return { quarter: quarter, assetDetails: assetSummary.details };\r\n }\r\n });\r\n\r\n // Add the promise to the promises array\r\n promises.push(p);\r\n }\r\n\r\n // Wait for all promises in the promises array to resolve before dispatching success\r\n Promise.all(promises).then(values => {\r\n if (Array.isArray(values)) {\r\n // Sort the values from lowest quarter to highest\r\n values = values.sort((a, b) => {\r\n if (a.quarter < b.quarter) {\r\n return -1;\r\n }\r\n\r\n if (a.quarter > b.quarter) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n });\r\n }\r\n\r\n // Dispatch success with assetDetails\r\n return dispatch({ type: actions.LOAD_ASSET_DETAILS_FOR_YEAR_SUCCESS, assetDetails: values, [pendingTask]: end });\r\n });\r\n\r\n\r\n }).catch(error => {\r\n if (error instanceof ApiError && actionHelpers.isErrorResponse(error.data)) {\r\n return dispatch({ type: actions.LOAD_ASSET_DETAILS_FOR_YEAR_FAILURE, errorResponse: error.data, [pendingTask]: end });\r\n }\r\n\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_ASSET_DETAILS_FOR_YEAR_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the external asset test summary belonging to the checklist. If successful this will dispatch the LOAD_ASSET_SUMMARY_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_ASSET_SUMMARY_FAILURE action.\r\n * @param {number} periodId The id of the period.\r\n * @param {number} checklistId The id of the external checklist.\r\n * @param {string} checklistType The type of the external checklist.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchExternalAssetSummaryByChecklistId(periodId, checklistId, checklistType) {\r\n return fetchAssetSummary(periodId, actionHelpers.buildAuthHeader(checklistId, checklistType));\r\n}","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromReportApi as fetchReport } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n/**\r\n * Fetch the variance detials for a period and it's predecessor. If successful this will dispatch the LOAD_CLIENT_ACCOUNT_DATA_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CLIENT_ACCOUNT_DATA_FAILURE action.\r\n * @param {number} periodId The ID of the REIT period.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchVarianceDetails(periodId) {\r\n return function(dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetchReport('/variance?compareUsingPeriodId=' + periodId).then(response => {\r\n return response.json();\r\n }).then(varianceDetails => {\r\n if (actionHelpers.isErrorResponse(varianceDetails)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CLIENT_ACCOUNT_DATA_FAILURE, varianceDetails);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_CLIENT_ACCOUNT_DATA_SUCCESS, varianceDetails, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CLIENT_ACCOUNT_DATA_FAILURE, null, error);\r\n });\r\n };\r\n}","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from \"./actionTypes\";\r\nimport { fetchFromReitApi as fetch } from \"./fetchFromApi\";\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n/**\r\n * Fetch all property records belonging to the REIT period. If successful this will dispatch the LOAD_PROPERTIES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_PROPERTIES_FAILURE action.\r\n * @param {number} periodId The id of the period that owns the properties.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchPropertiesByPeriod(periodId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/properties?periodId=${periodId}`).then(response => {\r\n return response.json();\r\n }).then(properties => {\r\n if (actionHelpers.isErrorResponse(properties)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_PROPERTIES_FAILURE, properties);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_PROPERTIES_SUCCESS, properties, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_PROPERTIES_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n\r\n/**\r\n * Return true or false if the property can be deleted. If successful this will dispatch the DELETE_PROPERTY_DETAIL_SUCCESS\r\n * action, otherwise it will dispatch the DELETE_PROPERTY_DETAIL_FAILURE action.\r\n * @param {number} propertyId The id of the property.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchCanDeleteProperty(propertyId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/properties/deletePropertyDetail?propertyId=${propertyId}`).then(response => {\r\n return response.json();\r\n }).then(deletePropertyDetail => {\r\n if (actionHelpers.isErrorResponse(deletePropertyDetail)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.DELETE_PROPERTY_DETAIL_FAILURE, deletePropertyDetail);\r\n }\r\n\r\n dispatch({ type: actions.DELETE_PROPERTY_DETAIL_SUCCESS, deletePropertyDetail, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.DELETE_PROPERTY_DETAIL_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n\r\n/**\r\n * Fetch all property records belonging to the REIT period. If successful this will dispatch the LOAD_PROPERTIES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_PROPERTIES_FAILURE action.\r\n * @param {number} propertyId The id of the period that owns the properties.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function deleteProperty(propertyId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/properties/${propertyId}`,\r\n {\r\n method: 'DELETE'\r\n }\r\n ).then(response => {\r\n return response;\r\n }).then(response => {\r\n if (actionHelpers.isErrorResponse(response)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.DELETE_PROPERTY_FAILURE, response);\r\n }\r\n\r\n dispatch({ type: actions.DELETE_PROPERTY_SUCCESS, response, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.DELETE_PROPERTY_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n\r\n\r\n/**\r\n * Fetch all property records belonging to the REIT period. If successful this will dispatch the LOAD_PROPERTIES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_PROPERTIES_FAILURE action.\r\n * @param {number} periodId The id of the period that owns the properties.\r\n * @param {string} checklistId The id of the checklist\r\n * @param {string} checklistType The typye of the checklist\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchExternalPropertiesByPeriod(periodId, checklistId, checklistType) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const authHeader = actionHelpers.buildAuthHeader(checklistId, \"ARQC\");\r\n return fetch(`/properties?periodId=${periodId}`, {\r\n headers: authHeader && new Headers({ 'Authorization': authHeader })\r\n }).then(response => {\r\n return response.json();\r\n }).then(properties => {\r\n if (actionHelpers.isErrorResponse(properties)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_PROPERTIES_FAILURE, properties);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_PROPERTIES_SUCCESS, properties, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_PROPERTIES_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all property records belonging to the period.\r\n * @param {number} periodId The id of the period that owns the properties.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fastFetchPropertiesByPeriod(periodId) {\r\n return fetch(`/properties?periodId=${periodId}`).then(response => {\r\n return response.json();\r\n }).catch(error => {\r\n throw error;\r\n });\r\n}\r\n\r\n/**\r\n * Fetch first property record belonging to the REIT period. If successful this will dispatch the LOAD_PROPERTY_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_PROPERTY_FAILURE action.\r\n * @param {number} periodId The id of the period that owns the property.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchFirstPropertyByPeriod(periodId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/properties/first?PeriodId=${periodId}`).then(response => {\r\n return response.json();\r\n }).then(property => {\r\n if (actionHelpers.isErrorResponse(property)) {\r\n if (property.errorCode === 'RESOURCE_NOT_FOUND') {\r\n property = null; // Allow 404 and dispatch success with null property\r\n } else {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_PROPERTY_FAILURE, property);\r\n }\r\n }\r\n\r\n dispatch({ type: actions.LOAD_PROPERTY_SUCCESS, property, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_PROPERTY_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch a property record by its ID. If successful this will dispatch the LOAD_PROPERTY_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_PROPERTY_FAILURE action.\r\n * @param {number} id The id of the period that owns the property.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchProperty(id) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/properties/${id}`).then(response => {\r\n return response.json();\r\n }).then(property => {\r\n if (actionHelpers.isErrorResponse(property)) {\r\n if (property.errorCode === 'RESOURCE_NOT_FOUND') {\r\n property = null; // Allow 404 and dispatch success with null property\r\n } else {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_PROPERTY_FAILURE, property);\r\n }\r\n }\r\n\r\n dispatch({ type: actions.LOAD_PROPERTY_SUCCESS, property, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_PROPERTY_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Create a new property.\r\n * @param {any} property The property\r\n * @returns {function} A Promise.\r\n */\r\nexport function createProperty(property) {\r\n return fetch('/properties',\r\n {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(property)\r\n }).then(response => {\r\n return response.json();\r\n });\r\n}\r\n\r\n/**\r\n * Updates a property to the REIT API database.\r\n * @param {any} property The destribution\r\n * @returns {Promise} A Promise\r\n * http://localhost:5000/api/properties\r\n */\r\nexport function updateProperty(property) {\r\n return fetch(\"/properties\",\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"PUT\",\r\n body: JSON.stringify(property)\r\n }).then(response => {\r\n return response.json().catch(error => {\r\n return null;\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Updates a property's end date and deletes the property in future open periods.\r\n * @param {any} property The property Id\r\n * @returns {Promise} A Promise\r\n * http://localhost:5000/api/properties\r\n */\r\nexport function endProperty(property) {\r\n return fetch(`/properties/${property.id}/end`,\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"PUT\",\r\n body: JSON.stringify(property)\r\n }).then(response => {\r\n return response.json().catch(error => {\r\n return null;\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Clears the properties end date\r\n * @param {any} propertyId The property ID\r\n * @returns {Promise} A Promise\r\n */\r\nexport function clearEndDate(propertyId) {\r\n return fetch(`/properties/${propertyId}/end`,\r\n {\r\n method: \"DELETE\"\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n }\r\n\r\n return response.json();\r\n });\r\n}\r\n\r\n/**\r\n * Fetch all the property enums\r\n * @returns {Promise} A Promise\r\n */\r\nexport function fetchPropertyTypes() {\r\n /*\r\n This is an example by now im just assuming that the returned object is like the next example\r\n {\r\n \"PropertyTypes\": [{\"PropertyTypeID\": 1, \"PropertyTypeDescription\": \"Office\"}...],\r\n \"PSQPropertyTypes\": [{\"PSQPropertyTypeID\": 1, \"PSQPropertyTypeDescription\": \"Office\"}...],\r\n }\r\n */\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/properties/lookupData`,\r\n {\r\n method: \"GET\"\r\n }).then(response => {\r\n return response.json();\r\n })\r\n .then(fetchedTypes => {\r\n dispatch({\r\n type: actions.LOAD_ALL_PROPERTY_TYPES_SUCCESS,\r\n fetchedTypes,\r\n [pendingTask]: end,\r\n });\r\n });\r\n }\r\n}","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Icon } from 'semantic-ui-react';\r\nimport { FormattedNumber } from 'react-intl';\r\nimport { MotifChip } from '@ey-xd/motif-react';\r\n\r\nconst TestSummaryItem = ({ test, totalItems , incompleteSecuritiesSnapshots }) => {\r\n let testTitle = test.testTitle || \"\";\r\n const colSize = Math.floor(12 / totalItems);\r\n const className = `summary col-md-${colSize}`;\r\n const re = /(\\d+%)(.*)/;\r\n const matches = testTitle.match(re);\r\n let hasIncompleteSecuritySnapshot = false;\r\n \r\n // Check for non-empty incompleteSecuritiesSnapshots array and set hasIncompleteSecurities flag accordingly\r\n let hasIncompleteSecurities = Array.isArray(incompleteSecuritiesSnapshots) && incompleteSecuritiesSnapshots.length > 0;\r\n \r\n if (hasIncompleteSecurities) {\r\n hasIncompleteSecuritySnapshot = incompleteSecuritiesSnapshots[0].hasIncompleteSecuritySnapshot;\r\n }\r\n \r\n if (Array.isArray(matches) && matches.length === 3) {\r\n testTitle = {matches[1]}{matches[2]};\r\n }\r\n\r\n // Display 'Incomplete Securities' if title indicates 10% and incomplete securities exist, otherwise show 'PASS' or 'FAIL'.\r\n let hasTenPercentageTitle = Array.isArray(matches) && matches.length === 3 && matches[1] != null && matches[1] === '10%';\r\n\r\n return (\r\n
    \r\n
    {testTitle}
    \r\n
    \r\n {\r\n !(hasTenPercentageTitle && hasIncompleteSecuritySnapshot) && (\r\n \r\n ) \r\n }\r\n
    \r\n
    \r\n \r\n {(hasTenPercentageTitle && hasIncompleteSecuritySnapshot) \r\n ? \"Incomplete Securities\" \r\n : test.isPassing ? \"PASS\" : \"FAIL\"} \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nTestSummaryItem.propTypes = {\r\n test: PropTypes.shape({\r\n testTitle: PropTypes.string,\r\n isPassing: PropTypes.bool,\r\n testResultPercent: PropTypes.number\r\n }),\r\n totalItems: PropTypes.number.isRequired\r\n};\r\n\r\nexport default TestSummaryItem;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { FormattedNumber } from \"react-intl\";\r\n\r\nconst FormattedCurrency = ({ value, currency = \"USD\", minimumFractionDigits = 2, maximumFractionDigits = 2 }) => {\r\n if (value < 0) {\r\n return (());\r\n }\r\n \r\n return ();\r\n};\r\n\r\nFormattedCurrency.propTypes = {\r\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\r\n currency: PropTypes.string,\r\n minimumFractionDigits: PropTypes.number,\r\n maximumFractionDigits: PropTypes.number\r\n};\r\n\r\nexport default FormattedCurrency;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport FormattedCurrency from \"../shared/FormattedCurrency\";\r\n\r\nconst VarianceBalanceDetailsRow = ({ row }) => {\r\n return (\r\n \r\n {row.before.clientAccountDescription}\r\n \r\n );\r\n};\r\n\r\nconst clientAccountDataShape = PropTypes.shape({\r\n balance: PropTypes.number,\r\n clientAccountDescription: PropTypes.string,\r\n clientAccountCode: PropTypes.string,\r\n reitTestingAttributeCode: PropTypes.string,\r\n reitTestingAttributeDescription: PropTypes.string,\r\n type: PropTypes.number\r\n});\r\n\r\nVarianceBalanceDetailsRow.propTypes = {\r\n row: PropTypes.shape({\r\n after: clientAccountDataShape,\r\n balanceDelta: PropTypes.number,\r\n balanceDeltaPercentage: PropTypes.number,\r\n before: clientAccountDataShape\r\n })\r\n};\r\n\r\nexport default VarianceBalanceDetailsRow;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { FormattedNumber } from \"react-intl\";\r\n\r\nconst FormattedPercent = ({ percentage, minimumFractionDigits = 3, maximumFractionDigits = 3 }) => {\r\n const divisor = Math.pow(10, maximumFractionDigits);\r\n let value = Math.trunc(percentage * divisor) / divisor;\r\n\r\n return ();\r\n};\r\n\r\nFormattedPercent.propTypes = {\r\n percentage: PropTypes.number.isRequired,\r\n digits: PropTypes.number\r\n};\r\n\r\nexport default FormattedPercent;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport FormattedPercent from \"../shared/FormattedPercent\";\r\n\r\nconst VariancePercentageDetailsRow = ({ row }) => {\r\n return (\r\n \r\n {row.before.clientAccountDescription}\r\n \r\n );\r\n};\r\n\r\nconst clientAccountDataShape = PropTypes.shape({\r\n balance: PropTypes.number,\r\n clientAccountDescription: PropTypes.string,\r\n clientAccountNumber: PropTypes.string,\r\n internalAccountCode: PropTypes.string,\r\n internalAccountDescription: PropTypes.string,\r\n type: PropTypes.number\r\n});\r\n\r\nVariancePercentageDetailsRow.propTypes = {\r\n row: PropTypes.shape({\r\n after: clientAccountDataShape,\r\n balanceDelta: PropTypes.number,\r\n balanceDeltaPercentage: PropTypes.number,\r\n before: clientAccountDataShape\r\n })\r\n};\r\n\r\nexport default VariancePercentageDetailsRow;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst NewOrRemovedAccountDetailsRow = ({ row }) => {\r\n return (\r\n \r\n {row.clientAccountDescription}\r\n \r\n );\r\n};\r\n\r\nNewOrRemovedAccountDetailsRow.propTypes = {\r\n row: PropTypes.shape({\r\n balance: PropTypes.number.isRequired,\r\n clientAccountDescription: PropTypes.string.isRequired,\r\n clientAccountCode: PropTypes.string.isRequired,\r\n reitTestingAttributeCode: PropTypes.string.isRequired,\r\n reitTestingAttributeDescription: PropTypes.string.isRequired,\r\n type: PropTypes.number.isRequired\r\n })\r\n};\r\n\r\nexport default NewOrRemovedAccountDetailsRow;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport VarianceBalanceDetailsRow from \"./VarianceBalanceDetailsRow\";\r\nimport VariancePercentageDetailsRow from \"./VariancePercentageDetailsRow\";\r\nimport NewOrRemovedAccountDetailsRow from \"./NewOrRemovedAccountDetailsRow\";\r\n\r\nlet noPercentageVariance = null;\r\nlet noBalanceVariance = null;\r\nlet noNewAccounts = null;\r\nlet noRemovedAccounts = null;\r\n\r\nconst VarianceDetailsTable = ({ testHeader, varianceDetails }) => { \r\n let typeInUse = 1; //Asset type\r\n if (testHeader && testHeader.toLowerCase().indexOf(\"asset\") === -1) {\r\n typeInUse = 2; //Income type\r\n }\r\n const percentageThreshold = Math.abs(varianceDetails.percentageThreshold);\r\n const balanceThreshold = Math.abs(varianceDetails.balanceThreshold); \r\n\r\n const filteredModifiedAccountsPercent = varianceDetails.modifiedAccounts.filter(ma => ma.before.reitTestingAttributeCategoryTypeID === typeInUse && Math.abs(ma.balanceDeltaPercentage) > percentageThreshold);\r\n const filteredModifiedAccountsBalance = varianceDetails.modifiedAccounts.filter(ma => ma.before.reitTestingAttributeCategoryTypeID === typeInUse && Math.abs(ma.balanceDelta) > balanceThreshold);\r\n const filteredAddedAccounts = varianceDetails.addedAccounts.filter(cad => cad.reitTestingAttributeCategoryTypeID === typeInUse);\r\n const filteredRemovedAccounts = varianceDetails.removedAccounts.filter(cad => cad.reitTestingAttributeCategoryTypeID === typeInUse);\r\n\r\n if (!filteredModifiedAccountsPercent || filteredModifiedAccountsPercent.length === 0) {\r\n noPercentageVariance = \r\n No variance above percentage threshold.\r\n ;\r\n } else {\r\n noPercentageVariance = null;\r\n }\r\n\r\n if (!filteredModifiedAccountsBalance || filteredModifiedAccountsBalance.length === 0) {\r\n noBalanceVariance = \r\n No variance above balance threshold.\r\n ;\r\n } else {\r\n noBalanceVariance = null;\r\n }\r\n\r\n if (!filteredAddedAccounts || filteredAddedAccounts.length === 0) {\r\n noNewAccounts = \r\n No new accounts.\r\n ;\r\n } else {\r\n noNewAccounts = null;\r\n }\r\n\r\n if (!filteredRemovedAccounts || filteredRemovedAccounts.length === 0) {\r\n noRemovedAccounts = \r\n No removed accounts.\r\n ;\r\n } else {\r\n noRemovedAccounts = null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {noPercentageVariance}\r\n {filteredModifiedAccountsPercent.map(\r\n (row, index) => )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {noBalanceVariance}\r\n {filteredModifiedAccountsBalance.map(\r\n (row, index) => )\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {noNewAccounts}\r\n {filteredAddedAccounts.map(\r\n (row, index) => )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {noRemovedAccounts}\r\n {filteredRemovedAccounts.map(\r\n (row, index) => )}\r\n \r\n
    Percentage Delta Accounts
    Balance Delta Accounts
    New Accounts
    Removed Accounts
    \r\n );\r\n};\r\n\r\nconst clientAccountDataShape = PropTypes.shape({\r\n balance: PropTypes.number,\r\n clientAccountDescription: PropTypes.string,\r\n clientAccountCode: PropTypes.string,\r\n reitTestingAttributeCode: PropTypes.string,\r\n reitTestingAttributeDescription: PropTypes.string,\r\n type: PropTypes.number\r\n});\r\n\r\nVarianceDetailsTable.propTypes = {\r\n varianceDetails: PropTypes.shape({\r\n addedAccounts: PropTypes.arrayOf(clientAccountDataShape),\r\n modifiedAccounts: PropTypes.arrayOf(PropTypes.shape({\r\n after: clientAccountDataShape,\r\n balanceDelta: PropTypes.number,\r\n balanceDeltaPercentage: PropTypes.number,\r\n before: clientAccountDataShape\r\n }).isRequired),\r\n removedAccounts: PropTypes.arrayOf(clientAccountDataShape)\r\n }),\r\n testHeader: PropTypes.string\r\n};\r\n\r\nexport default VarianceDetailsTable;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport TestSummaryItem from './TestSummaryItem';\r\nimport VarianceDetailsTable from './VarianceDetailsTable';\r\nimport { MotifToggleSwitch } from '@ey-xd/motif-react';\r\n\r\nconst TestSummary = ({\r\n testSummary,\r\n testHeader,\r\n showDetails,\r\n handleShowDetails,\r\n varianceDetails,\r\n incompleteSecuritiesSnapshots,\r\n}) => { \r\n var testType = testHeader.split(\" \")[0]; \r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {testHeader}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {testSummary.tests.map(test => (\r\n \r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Trial Balance Account Overview
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Display {testType} Details:\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst clientAccountDataShape = PropTypes.shape({\r\n balance: PropTypes.number,\r\n clientAccountDescription: PropTypes.string,\r\n clientAccountNumber: PropTypes.string,\r\n internalAccountCode: PropTypes.string,\r\n internalAccountDescription: PropTypes.string,\r\n type: PropTypes.number,\r\n});\r\n\r\nTestSummary.propTypes = {\r\n testSummary: PropTypes.shape({\r\n tests: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n testTitle: PropTypes.string,\r\n isPassing: PropTypes.bool,\r\n testResultPercent: PropTypes.number,\r\n }),\r\n ),\r\n newAccounts: PropTypes.number,\r\n deletedAccounts: PropTypes.number,\r\n }).isRequired,\r\n testHeader: PropTypes.string,\r\n handleShowDetails: PropTypes.func,\r\n varianceDetails: PropTypes.shape({\r\n addedAccounts: PropTypes.arrayOf(clientAccountDataShape),\r\n modifiedAccounts: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n after: clientAccountDataShape,\r\n balanceDelta: PropTypes.number,\r\n balanceDeltaPercentage: PropTypes.number,\r\n before: clientAccountDataShape,\r\n }).isRequired,\r\n ),\r\n removedAccounts: PropTypes.arrayOf(clientAccountDataShape),\r\n }),\r\n};\r\n\r\nexport default TestSummary;\r\n","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { FormattedNumber } from 'react-intl';\r\nimport { Table, ColumnGroup, Column, Cell } from 'fixed-data-table-2';\r\nimport 'fixed-data-table-2/dist/fixed-data-table.css';\r\nimport FormattedCurrency from '../components/shared/FormattedCurrency';\r\nimport { MotifTooltip,MotifBadge} from \"@ey-xd/motif-react\";\r\n\r\n/**\r\n * The breakout balance column control\r\n * @param {object} item The breakout item\r\n * @param {number} propertyID The property identifier\r\n * @param {boolean} isConsolidated True if the column is consolidated, otherwise false\r\n * @returns {object} The breakout balance column\r\n */\r\nexport const BreakoutBalanceColumn = ({\r\n item,\r\n propertyID,\r\n isConsolidated,\r\n ...props\r\n}) => {\r\n const breakoutItem =\r\n (isConsolidated && item) ||\r\n item.breakout.find(\r\n x => (!propertyID && !x.propertyID) || x.propertyID === propertyID,\r\n );\r\n const balance = (breakoutItem && breakoutItem.balance) || 0;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nBreakoutBalanceColumn.propTypes = {\r\n item: PropTypes.object,\r\n propertyID: PropTypes.number,\r\n isConsolidated: PropTypes.bool,\r\n};\r\n\r\n/**\r\n * The breakout balance percentage column control\r\n * @param {object} item The breakout item\r\n * @param {number} propertyID The property identifier\r\n * @param {boolean} isConsolidated True if the column is consolidated, otherwise false\r\n * @returns {object} The breakout balance percentage column\r\n */\r\nexport const BreakoutPercentageColumn = ({\r\n item,\r\n propertyID,\r\n isConsolidated,\r\n ...props\r\n}) => {\r\n const breakoutItem =\r\n (isConsolidated && item) ||\r\n item.breakout.find(\r\n x => (!propertyID && !x.propertyID) || x.propertyID === propertyID,\r\n );\r\n let percent = 0;\r\n if (breakoutItem && breakoutItem.percentage) {\r\n percent = breakoutItem.percentage / 100;\r\n } else if (breakoutItem && breakoutItem.percentOfGrossTotal) {\r\n percent = breakoutItem.percentOfGrossTotal / 100;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nBreakoutPercentageColumn.propTypes = {\r\n item: PropTypes.object,\r\n propertyID: PropTypes.number,\r\n isConsolidated: PropTypes.bool,\r\n};\r\n\r\n/**\r\n* This function is used to update the category items with unique snapshot id\r\n* This is used to aggregate the items in the category for 10% value test\r\n* @param {Array} categories The categories\r\n* @param {number} index The index\r\n* @returns {Array} The updated category items\r\n*/\r\nconst updateCategoryItemsWithUniqueSnapshotId = (categories, index) => {\r\n const category = categories[index];\r\n if (!category) return categories;\r\n\r\n const uniqueItems = category.items.reduce((categoryItem, item) => {\r\n if (!categoryItem.some(existingItem => existingItem.id === item.id)) {\r\n categoryItem.push(item);\r\n }\r\n return categoryItem;\r\n }, []);\r\n\r\n return categories.map((category, i) => {\r\n if (i === index) {\r\n return {\r\n ...category,\r\n items: uniqueItems\r\n };\r\n }\r\n return category;\r\n });\r\n};\r\n\r\n/**\r\n * Gets the inner tables\r\n * @param {object} incomeDetail The income detail\r\n * @param {Array} properties The properties\r\n * @param {number} tbMode The trial balance mode\r\n * @param {number} containerWidth The width of the container\r\n * @param {number} containerHeight The height of the container\r\n * @param {string} testType The type of the test\r\n * @returns {Array} The inner tables\r\n */\r\nexport function getInnerTables(\r\n incomeDetail,\r\n properties,\r\n tbMode,\r\n containerWidth,\r\n containerHeight,\r\n testType,\r\n) {\r\n let tables = [];\r\n\r\n if (Array.isArray(incomeDetail.categories)) {\r\n let categories = incomeDetail.categories;\r\n \r\n for (let i = 0; i < categories.length; i++) {\r\n \r\n if(incomeDetail.isFourColumn) {\r\n // This is to aggregate the items in the category for 10% Securities (Value & Vote)\r\n categories = Object.values(updateCategoryItemsWithUniqueSnapshotId(categories, i));\r\n }\r\n tables.push(\r\n getDetailTable(\r\n i,\r\n categories[i],\r\n (tbMode === 1 && properties) || null,\r\n incomeDetail.isFourColumn,\r\n containerWidth,\r\n containerHeight,\r\n testType,\r\n ),\r\n );\r\n }\r\n }\r\n\r\n return tables;\r\n}\r\n\r\n/**\r\n * Gets the variable column width\r\n * @param {number} columnCount The count of columns\r\n * @param {number} containerWidth The width of the container\r\n * @param {number} firstColumnWidth The width of the first column\r\n * @returns {number} The variable column width\r\n */\r\nexport function getVariableColumnWidth(\r\n columnCount,\r\n containerWidth,\r\n firstColumnWidth,\r\n) {\r\n let variableColumnCount = columnCount - 1;\r\n let variableColumnWidth =\r\n (containerWidth - firstColumnWidth) / variableColumnCount;\r\n\r\n let absoluteMinimumColumnWidth = 110;\r\n\r\n if (variableColumnWidth < absoluteMinimumColumnWidth) {\r\n variableColumnWidth = absoluteMinimumColumnWidth;\r\n }\r\n\r\n return variableColumnWidth;\r\n}\r\n\r\n/**\r\n * Gets the table width\r\n * @param {number} columnCount The count of columns\r\n * @param {number} containerWidth The width of the container\r\n * @param {number} firstColumnWidth The width of the first column\r\n * @returns {number} The table width\r\n */\r\nexport function getTableWidth(columnCount, containerWidth, firstColumnWidth) {\r\n let tableWidth = 0;\r\n\r\n let variableColumnCount = columnCount - 1;\r\n\r\n let sumOfColumnsWidth =\r\n firstColumnWidth +\r\n variableColumnCount *\r\n getVariableColumnWidth(\r\n columnCount,\r\n containerWidth,\r\n firstColumnWidth,\r\n );\r\n tableWidth = containerWidth;\r\n if (sumOfColumnsWidth < tableWidth) {\r\n tableWidth = sumOfColumnsWidth;\r\n }\r\n\r\n return tableWidth;\r\n}\r\n\r\n/**\r\n * Gets the header height\r\n * @param {number} headerHeight The height of the header\r\n * @param {number} columnCount The count of columns\r\n * @param {number} containerWidth The width of the container\r\n * @param {number} firstColumnWidth The width of the first column\r\n * @param {Array} properties The properties\r\n * @returns {number} The header height\r\n */\r\nexport function getHeaderHeight(\r\n headerHeight,\r\n columnCount,\r\n containerWidth,\r\n firstColumnWidth,\r\n properties,\r\n) {\r\n if (\r\n properties === undefined ||\r\n properties === null ||\r\n (properties && properties.length === 0)\r\n ) {\r\n return headerHeight;\r\n }\r\n\r\n let maxLength = 0;\r\n for (let i = 0; i < properties.length; i++) {\r\n if (properties[i].propertyName.length > maxLength) {\r\n maxLength = properties[i].propertyName.length;\r\n }\r\n }\r\n\r\n // 13 letters fit in 100 width, add new row height based on that ratio\r\n let columnWidth = getVariableColumnWidth(\r\n columnCount,\r\n containerWidth,\r\n firstColumnWidth,\r\n );\r\n let divideBy = (columnWidth * 13) / 100;\r\n let additionalRowsNeeded = Math.floor(maxLength / divideBy);\r\n\r\n let additionalHeight = additionalRowsNeeded * headerHeight;\r\n\r\n return headerHeight + additionalHeight;\r\n}\r\n\r\n/**\r\n * Gets the group header height\r\n * @param {number} headerHeight The height of the header\r\n * @param {number} columnCount The count of columns\r\n * @param {number} containerWidth The width of the container\r\n * @param {number} firstColumnWidth The width of the first column\r\n * @param {Array} properties The properties\r\n * @returns {number} The header height\r\n */\r\nexport function getGroupHeaderHeight(\r\n headerHeight,\r\n columnCount,\r\n containerWidth,\r\n firstColumnWidth,\r\n properties,\r\n) {\r\n if (\r\n properties === undefined ||\r\n properties === null ||\r\n (properties && properties.length === 0)\r\n ) {\r\n return headerHeight;\r\n }\r\n\r\n let maxLength = 0;\r\n for (let i = 0; i < properties.length; i++) {\r\n if (properties[i].propertyName.length > maxLength) {\r\n maxLength = properties[i].propertyName.length;\r\n }\r\n }\r\n\r\n // 13 letters fit in 100 width, add new row height based on that ratio\r\n let columnWidth = getVariableColumnWidth(\r\n columnCount - 1,\r\n containerWidth,\r\n firstColumnWidth,\r\n );\r\n\r\n // Group header covers 2 columns\r\n let groupColumnsWidth = 2 * columnWidth;\r\n let divideBy = (groupColumnsWidth * 13) / 100;\r\n let additionalRowsNeeded = Math.floor(maxLength / divideBy);\r\n let additionalHeight = 0;\r\n\r\n additionalHeight = additionalRowsNeeded * headerHeight;\r\n\r\n return headerHeight + additionalHeight;\r\n}\r\n\r\n/**\r\n * Gets the detail table\r\n * @param {number} index The index of the table\r\n * @param {object} category The category\r\n * @param {Array} properties The properties\r\n * @param {boolean} isFourColumn True if the table is four-column, otherwise false\r\n * @param {number} containerWidth The width of the container\r\n * @param {number} containerHeight The height of the container\r\n * @param {string} testType The type of test\r\n * @returns {object} The detail table\r\n */\r\nexport function getDetailTable(\r\n index,\r\n category,\r\n properties,\r\n isFourColumn,\r\n containerWidth,\r\n containerHeight,\r\n testType,\r\n) {\r\n containerWidth = containerWidth - 2;\r\n const rows = (Array.isArray(category.items) && category.items) || [];\r\n const rowHeight = 60;\r\n\r\n let pctGrossColumnTitle = '% Gross Assets';\r\n if (testType === 'INCOME') {\r\n pctGrossColumnTitle = '% Gross Income';\r\n }\r\n\r\n let columnCount = 0;\r\n if (isFourColumn) {\r\n columnCount = 5;\r\n } else if (Array.isArray(properties)) {\r\n columnCount = 5 + properties.length * 2;\r\n } else {\r\n columnCount = 3;\r\n }\r\n\r\n const firstColumnWidth = 500;\r\n let columnWidth = getVariableColumnWidth(\r\n columnCount,\r\n containerWidth,\r\n firstColumnWidth,\r\n );\r\n\r\n const rowCount = category.items.length;\r\n let headerHeight = getHeaderHeight(\r\n 40,\r\n columnCount,\r\n containerWidth,\r\n firstColumnWidth,\r\n properties,\r\n );\r\n let tableHeight = rowHeight * rowCount + headerHeight + 53;\r\n\r\n if (rowCount === 0) {\r\n tableHeight = rowHeight + 53;\r\n }\r\n\r\n const getDescriptionCell = ({ rowIndex, ...props }) => {\r\n const data = rows[rowIndex].description;\r\n if(rows[rowIndex].hasIncompleteSecuritySnapshot != 1){\r\n return {data};\r\n }\r\n else{\r\n return {data}\r\n }>\r\n This is an incomplete security. Review needed.\r\n ;\r\n }};\r\n\r\n getDescriptionCell.propTypes = {\r\n rowIndex: PropTypes.number,\r\n };\r\n\r\n if (isFourColumn) {\r\n if (rows.length === 0) {\r\n return (\r\n \r\n {category.categoryName}}\r\n cell={\r\n \r\n No securities to show\r\n \r\n }\r\n width={firstColumnWidth}\r\n />\r\n Balance}\r\n cell={ }\r\n width={columnWidth}\r\n />\r\n All Issued}\r\n cell={ }\r\n width={columnWidth}\r\n />\r\n Value Result}\r\n cell={ }\r\n width={columnWidth}\r\n />\r\n Vote Result}\r\n cell={ }\r\n width={columnWidth}\r\n />\r\n \r\n );\r\n }\r\n\r\n const getBalanceCell = ({ rowIndex, ...props }) => {\r\n const data = rows[rowIndex].balance > 0 ? rows[rowIndex].balance : 0;\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n getBalanceCell.propTypes = {\r\n rowIndex: PropTypes.number,\r\n };\r\n\r\n const getAllIssuedCell = ({ rowIndex, ...props }) => {\r\n const data = rows[rowIndex].allIssued;\r\n const isTenPercentValueTestDisabled = rows[rowIndex].isTenPercentValueTestDisabled;\r\n if(isTenPercentValueTestDisabled){\r\n return {\"N/A\"};\r\n }\r\n else{\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n getAllIssuedCell.propTypes = {\r\n rowIndex: PropTypes.number,\r\n };\r\n\r\n const getValueCell = ({ rowIndex, ...props }) => {\r\n const data =\r\n (rows[rowIndex].valueResult && rows[rowIndex].valueResult / 100) || 0;\r\n const isTenPercentValueTestDisabled = rows[rowIndex].isTenPercentValueTestDisabled; \r\n if(isTenPercentValueTestDisabled){\r\n return {\"N/A\"};\r\n }\r\n else{\r\n return (\r\n \r\n \r\n \r\n );\r\n } \r\n };\r\n\r\n getValueCell.propTypes = {\r\n rowIndex: PropTypes.number,\r\n };\r\n\r\n const getVoteCell = ({ rowIndex, ...props }) => {\r\n const data =\r\n (rows[rowIndex].percentage && rows[rowIndex].percentage / 100) || 0;\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n getVoteCell.propTypes = {\r\n rowIndex: PropTypes.number,\r\n };\r\n\r\n return (\r\n \r\n {category.categoryName}}\r\n cell={getDescriptionCell}\r\n width={firstColumnWidth}\r\n />\r\n Balance}\r\n cell={getBalanceCell}\r\n width={columnWidth}\r\n />\r\n All Issued}\r\n cell={getAllIssuedCell}\r\n width={columnWidth}\r\n />\r\n Value Result}\r\n cell={getValueCell}\r\n width={columnWidth}\r\n />\r\n Vote Result}\r\n cell={getVoteCell}\r\n width={columnWidth}\r\n />\r\n \r\n );\r\n }\r\n\r\n const getConsolidatedBreakoutBalanceColumn = ({ rowIndex, ...props }) => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n getConsolidatedBreakoutBalanceColumn.propTypes = {\r\n rowIndex: PropTypes.number,\r\n };\r\n\r\n const getConsolidatedBreakoutPercentageColumn = ({ rowIndex, ...props }) => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n getConsolidatedBreakoutPercentageColumn.propTypes = {\r\n rowIndex: PropTypes.number,\r\n };\r\n\r\n if (\r\n Array.isArray(properties) &&\r\n properties.length > 0 &&\r\n category.items.some(x => Array.isArray(x.breakout) && x.breakout.length > 0)\r\n ) {\r\n let columns = [];\r\n\r\n columns.push(\r\n  } key=\"col-group-0\">\r\n {category.categoryName}}\r\n cell={getDescriptionCell}\r\n width={firstColumnWidth}\r\n />\r\n ,\r\n );\r\n\r\n const getBreakoutBalanceColumn = ({ rowIndex, ...props }) => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n getBreakoutBalanceColumn.propTypes = {\r\n rowIndex: PropTypes.number,\r\n };\r\n\r\n const getBreakoutPercentageColumn = ({ rowIndex, ...props }) => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n getBreakoutPercentageColumn.propTypes = {\r\n rowIndex: PropTypes.number,\r\n };\r\n\r\n columns.push(\r\n Consolidated}\r\n key=\"col-group-1\"\r\n >\r\n Balance}\r\n cell={getConsolidatedBreakoutBalanceColumn}\r\n width={columnWidth}\r\n />\r\n {pctGrossColumnTitle}}\r\n cell={getConsolidatedBreakoutPercentageColumn}\r\n width={columnWidth}\r\n />\r\n ,\r\n );\r\n\r\n columns.push(\r\n REIT}\r\n key=\"col-group-2\"\r\n >\r\n Balance}\r\n cell={getBreakoutBalanceColumn}\r\n width={columnWidth}\r\n />\r\n {pctGrossColumnTitle}}\r\n cell={getBreakoutPercentageColumn}\r\n width={columnWidth}\r\n />\r\n ,\r\n );\r\n\r\n for (let i = 0; i < properties.length; i++) {\r\n const property = properties[i];\r\n\r\n const getBreakoutBalanceColumnForProp = ({ rowIndex, ...props }) => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n getBreakoutBalanceColumnForProp.propTypes = {\r\n rowIndex: PropTypes.number,\r\n };\r\n\r\n const getBreakoutPercentageColumnForProp = ({ rowIndex, ...props }) => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n getBreakoutPercentageColumnForProp.propTypes = {\r\n rowIndex: PropTypes.number,\r\n };\r\n\r\n columns.push(\r\n {property.propertyName}}\r\n key={'col-group-' + (3 + i)}\r\n >\r\n Balance}\r\n cell={getBreakoutBalanceColumnForProp}\r\n width={columnWidth}\r\n />\r\n {pctGrossColumnTitle}}\r\n cell={getBreakoutPercentageColumnForProp}\r\n width={columnWidth}\r\n />\r\n ,\r\n );\r\n }\r\n\r\n return (\r\n \r\n {columns}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {category.categoryName}}\r\n cell={getDescriptionCell}\r\n width={firstColumnWidth}\r\n />\r\n Balance}\r\n cell={getConsolidatedBreakoutBalanceColumn}\r\n width={columnWidth}\r\n />\r\n {pctGrossColumnTitle}}\r\n cell={getConsolidatedBreakoutPercentageColumn}\r\n width={columnWidth}\r\n />\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport * as detailTestTableHelpers from '../../scripts/detailTestTableHelpers';\r\nimport { Link } from 'react-router-dom';\r\nimport { MotifButton } from '@ey-xd/motif-react';\r\nimport {withWindowDimensions} from '../../common/withWindowDimensions';\r\n/**\r\n * AssetDetailTestTable container component\r\n * @extends {React.Component}\r\n */\r\nexport class AssetDetailTestTable extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n height: window.innerHeight,\r\n width: window.innerWidth - (window.innerWidth < 680 ? 0 : 47),\r\n };\r\n\r\n }\r\n\r\n handleResize = () => {\r\n this.setState({\r\n height: window.innerHeight,\r\n width: window.innerWidth - (window.innerWidth < 680 ? 0 : 47),\r\n });\r\n };\r\n\r\n componentDidMount() {\r\n window.addEventListener('resize', this.handleResize);\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.handleResize);\r\n }\r\n\r\n render() {\r\n const { width, height } = this.props;\r\n const trsLinkBuilder = test => {\r\n if (test === '20% TRS' && (this.props.authenticationScope && this.props.authenticationScope !== 'external') && this.props.clientId) {\r\n const trsLink = `/client/${this.props.clientId}/reit/${\r\n this.props.reitId\r\n }/period/${this.props.periodId}/trs`;\r\n\r\n return (\r\n \r\n \r\n \r\n Taxable REIT Subsidiaries\r\n \r\n \r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const securitiesSnapshotLinkBuilder = test => {\r\n if (test === '10% Securities (Value & Vote)' && (this.props.authenticationScope && this.props.authenticationScope !== 'external') && this.props.clientId) {\r\n const securitiesSnapshotLink = `/client/${this.props.clientId}/reit/${\r\n this.props.reitId\r\n }/period/${this.props.periodId}/securitiesSnapshot`;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Securities Snapshot\r\n \r\n \r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n return ( \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n {this.props.assetDetail.test}{' '} \r\n {trsLinkBuilder(this.props.assetDetail.test)} \r\n {securitiesSnapshotLinkBuilder(this.props.assetDetail.test)}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {detailTestTableHelpers.getInnerTables(\r\n this.props.assetDetail,\r\n this.props.properties,\r\n this.props.tbMode,\r\n width,\r\n height,\r\n 'ASSET',\r\n )}\r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nAssetDetailTestTable.propTypes = {\r\n assetDetail: PropTypes.object,\r\n properties: PropTypes.array,\r\n tbMode: PropTypes.number,\r\n clientId: PropTypes.number,\r\n reitId: PropTypes.number,\r\n periodId: PropTypes.number,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps Existing properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n authenticationScope: state.authenticationScope\r\n };\r\n}\r\nexport default withWindowDimensions(connect(mapStateToProps)(AssetDetailTestTable));\r\n\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport AssetDetailTestTable from './AssetDetailTestTable';\r\n\r\nconst AssetDetails = ({\r\n assetDetails,\r\n title,\r\n properties,\r\n tbMode,\r\n clientId,\r\n reitId,\r\n periodId,\r\n}) => {\r\n return (\r\n
    \r\n
    \r\n
    {title || 'Asset Test Details'}
    \r\n
    \r\n
    \r\n {// ensure there are categories and items within categories\r\n !assetDetails.every(d =>\r\n d.categories.length === 0 || d.categories.every(c => c.items.length === 0)) &&\r\n assetDetails.map(assetDetail => (\r\n \r\n ))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nAssetDetails.propTypes = {\r\n assetDetails: PropTypes.array.isRequired,\r\n title: PropTypes.string,\r\n properties: PropTypes.array,\r\n tbMode: PropTypes.number,\r\n clientId: PropTypes.number,\r\n reitId: PropTypes.number,\r\n periodId: PropTypes.number,\r\n};\r\n\r\nexport default AssetDetails;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as actions from '../../actions/assetActions';\r\nimport * as varianceActions from '../../actions/varianceActions';\r\nimport * as propertyActions from '../../actions/propertyActions';\r\nimport * as securitiesActions from '../../actions/securitiesSnapshotActions';\r\nimport * as periodActions from '../../actions/periodActions';\r\nimport TestSummary from '../../components/reits/TestSummary';\r\nimport AssetDetail from '../../components/tb/AssetDetails';\r\nimport { withRouter } from '../../common/withRouter';\r\n\r\n/**\r\n * AssetTestPage container component\r\n * @extends {React.Component}\r\n */\r\nexport class AssetTestPage extends React.Component {\r\n /**\r\n * Creates a new AssetTestPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = { showDetails: false, tbMode: 1 };\r\n this.showDetails = this.showDetails.bind(this);\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.props.actions.fetchAssetSummary(this.props.periodId);\r\n this.props.varianceActions.fetchVarianceDetails(this.props.periodId);\r\n this.props.securitiesActions.fetchSecuritiesSnapshotByPeriod(\r\n this.props.periodId,\r\n );\r\n this.props.propertyActions.fetchPropertiesByPeriod(this.props.periodId);\r\n\r\n this.props.securitiesActions.getIncompleteSecuritySnapshotDetails(this.props.router.params.clientId,\r\n this.props.router.params.reitId,\r\n this.props.router.params.periodId); \r\n\r\n\r\n periodActions.fastFetchPeriodById(this.props.periodId).then(period => {\r\n if (period && period.trialBalanceModeID === 2) {\r\n this.setState({ tbMode: 2 });\r\n }\r\n });\r\n }\r\n\r\n showDetails() {\r\n this.setState({ showDetails: !this.state.showDetails });\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n if (\r\n this.props.assetSummary.tests &&\r\n this.props.assetSummary.tests.length === 0\r\n ) {\r\n return (\r\n
    \r\n

    Please upload trial balance for the period to view results.

    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n \r\n {this.state.showDetails ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst clientAccountDataShape = PropTypes.shape({\r\n balance: PropTypes.number,\r\n clientAccountDescription: PropTypes.string,\r\n clientAccountNumber: PropTypes.string,\r\n internalAccountCode: PropTypes.string,\r\n internalAccountDescription: PropTypes.string,\r\n type: PropTypes.number,\r\n});\r\n\r\nAssetTestPage.propTypes = {\r\n //reitId: PropTypes.number.isRequired,\r\n periodId: PropTypes.number.isRequired,\r\n assetSummary: PropTypes.shape({\r\n tests: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n testTitle: PropTypes.string,\r\n isPassing: PropTypes.bool,\r\n testResultPercent: PropTypes.number,\r\n }),\r\n ),\r\n newAccounts: PropTypes.number,\r\n deletedAccounts: PropTypes.number,\r\n }).isRequired,\r\n assetDetails: PropTypes.array,\r\n varianceDetails: PropTypes.shape({\r\n addedAccounts: PropTypes.arrayOf(clientAccountDataShape),\r\n modifiedAccounts: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n after: clientAccountDataShape,\r\n balanceDelta: PropTypes.number,\r\n balanceDeltaPercentage: PropTypes.number,\r\n before: clientAccountDataShape,\r\n }).isRequired,\r\n ),\r\n removedAccounts: PropTypes.arrayOf(clientAccountDataShape).isRequired,\r\n }),\r\n actions: PropTypes.object,\r\n varianceActions: PropTypes.object,\r\n securitiesSnapshots: PropTypes.array,\r\n properties: PropTypes.array,\r\n securitiesActions: PropTypes.object.isRequired,\r\n propertyActions: PropTypes.object.isRequired,\r\n incompleteSecuritiesSnapshots: PropTypes.array,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n periodId: Number.parseInt(ownProps.router.params.periodId),\r\n assetSummary: state.assetSummary,\r\n assetDetails: state.assetDetails,\r\n varianceDetails: state.varianceDetails,\r\n securitiesSnapshots: state.securitiesSnapshots,\r\n properties: state.properties,\r\n incompleteSecuritiesSnapshots : state.incompleteSecuritiesSnapshots,\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(actions, dispatch),\r\n varianceActions: bindActionCreators(varianceActions, dispatch),\r\n propertyActions: bindActionCreators(propertyActions, dispatch),\r\n securitiesActions: bindActionCreators(securitiesActions, dispatch),\r\n };\r\n}\r\n\r\nexport default withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n )(AssetTestPage)\r\n);\r\n","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { MotifTextLink } from '@ey-xd/motif-react';\r\n\r\nconst NotFoundPage = () => {\r\n return (\r\n
    \r\n
    \r\n 404 Page Not Found\r\n
    \r\n Go back to homepage\r\n
    \r\n );\r\n};\r\n\r\nexport default NotFoundPage;\r\n","import React from 'react';\r\nimport { withRouter } from '../common/withRouter';\r\n\r\n/**\r\n * LoginPage container component\r\n * @extends {React.Component}\r\n */\r\nexport class LoginPage extends React.Component {\r\n /**\r\n * Creates a new LoginPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n //oidcUserManager.signinRedirect({ data: { origin: window.location.href } });\r\n }\r\n\r\n componentDidMount() {\r\n // This login page isn't really necessary. Just redirect to home page for automatic login.\r\n this.props.router.navigate(`/`);\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return null;\r\n }\r\n}\r\n\r\nexport default withRouter(LoginPage);","import React,{useState} from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { MotifBadge, MotifCheckbox, MotifTextLink,MotifTooltip } from '@ey-xd/motif-react';\r\nimport DataStewardAssignmentRequiredModal from '../../../components/dataStewardRoleManagement/dataStewardAssignmentRequiredModal';\r\nimport * as Constants from '../../../constants/other';\r\nimport * as authActions from \"../../../actions/authActions\";\r\nexport default (props) => {\r\n const client = props.node.data;\r\n let currentUserAuthorizations=props.currentUserAuthorizations;\r\n let isEngagementAdministrator=authActions.isEngagementAdministrator(props.currentUserAuthorizations, client.id); \r\n let isEngagementUser=authActions.isUser(props.currentUserAuthorizations,client.id);\r\n let isSystemAdmin=authActions.isSystemAdministrator(currentUserAuthorizations);\r\n let hasIncompleteSecuritySnapshot;\r\n if (props.hasIncompleteSecuritySnapshotsList?.length > 0 && props.column.colId == \"name\") {\r\n hasIncompleteSecuritySnapshot = props?.hasIncompleteSecuritySnapshotsList.find(x => x.clientID === client.id)?.hasIncompleteSecuritySnapshot;\r\n }\r\n const [showEngagementAdminForDataStewardAssignmentModal, setShowEngagementAdminForDataStewardAssignmentModal] = useState(false);\r\n\r\n const toggleShowEngagementAdminForDataStewardAssignmentModal = () => {\r\n setShowEngagementAdminForDataStewardAssignmentModal(!showEngagementAdminForDataStewardAssignmentModal);\r\n };\r\n\r\n function hasClientDatasteward(client) {\r\n\t\t\r\n return !(client.isLockedForNotHavingDataSteward == null || client.isLockedForNotHavingDataSteward);\r\n\t\t\t\r\n }\r\n\r\n function isLockedForMissingDeletionApprovalOrException(client) {\r\n\t\t\r\n return client.isLockedForMissingDeletionApprovalOrException;\r\n\t\t\t\r\n }\r\n\r\n const rowIndex = props.node.rowIndex + 2;\r\n const toggleActiveFlag = (e) => {\r\n props.handleToggleActiveFlag(e, client.id, client.name, client.legalName);\r\n };\r\n\r\n if (client !== undefined) {\r\n return (\r\n
    \r\n {(props.column.colId == \"name\") &&\r\n
    \r\n \r\n {!isSystemAdmin && (isEngagementAdministrator || isEngagementUser) && isLockedForMissingDeletionApprovalOrException(client) ?\r\n (\r\n {client.name}\r\n ):\r\n !isSystemAdmin && isEngagementAdministrator && !hasClientDatasteward(client) ?\r\n (\r\n {client.name}\r\n ):!isSystemAdmin && isEngagementUser && !hasClientDatasteward(client) ?\r\n ( {\r\n event.preventDefault();\r\n toggleShowEngagementAdminForDataStewardAssignmentModal();\r\n }} >\r\n {client.name}\r\n \r\n ): ( \r\n {client.name}\r\n \r\n )}\r\n \r\n {client.discrepancyCount > 0 && || null}\r\n {hasIncompleteSecuritySnapshot && || null}>\r\n {Client has incomplete securities in one or more REITs. Review needed.}\r\n \r\n }\r\n
    \r\n }\r\n\r\n {(props.column.colId == \"isActive\" &&\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","export const handleFilterChanged = (gridRef, currentPage, setCurrentPage, setTotalPages) => { \r\n let filteredRowData = [];\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n setTimeout(() => {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n if (currentPage > calcTotalPages) {\r\n if (calcTotalPages == 0) {\r\n setTimeout(function () { setCurrentPage(calcTotalPages); }, 0)\r\n }\r\n else {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n } else{\r\n setCurrentPage(currentPage);\r\n }\r\n }, 0);\r\n }\r\n}\r\n\r\n export const handleFirstDataRendered = (gridRef) => {\r\n setTimeout(() => {\r\n return (event) => {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n };\r\n }, 0);\r\n };\r\n\r\n // gridHandlers.js\r\n\r\nexport const saveUserPreferenceDetails = (gridRef, localStorageKey) => {\r\n var columnState = gridRef.current.columnApi.getColumnState();\r\n if (columnState) {\r\n localStorage.setItem(localStorageKey, JSON.stringify(columnState));\r\n }\r\n};\r\n\r\nexport const handleGridColumnsChanged = (event, gridRef, localStorageKey) => {\r\n var currentColumnState = gridRef.current.columnApi.getColumnState();\r\n var localStorageColumnState = localStorage.getItem(localStorageKey);\r\n\r\n // If the column state details are not exists in local storage then save the changed Column state data\r\n if (currentColumnState && currentColumnState.filter(col => col.hide == true)?.length > 0 && !localStorageColumnState) {\r\n saveUserPreferenceDetails(gridRef, localStorageKey);\r\n }\r\n else if (localStorageColumnState) {\r\n // If the column state details are exists in local storage then save the changed Column state data only if difference is found\r\n var columnsStateArray = JSON.parse(localStorageColumnState);\r\n if (columnsStateArray && columnsStateArray.length > 0\r\n && currentColumnState && currentColumnState.length > 0\r\n && columnsStateArray.filter(col => col.hide == true)?.length != currentColumnState.filter(col => col.hide == true)?.length) {\r\n //If column state mismatch found then only save column state data to avoid saving same state\r\n saveUserPreferenceDetails(gridRef, localStorageKey);\r\n }\r\n }\r\n\r\n //Trigger Grid Column state change (of parent) to sync column state data\r\n // commented this code to resolve the build error and the functionality is working without this code block\r\n // handleGridColumnStateChange(currentColumnState);\r\n\r\n gridRef && gridRef.current && gridRef.current.columnApi && gridRef.current.columnApi.autoSizeAllColumns();\r\n};\r\n\r\nexport const gridGlobalListener = (localStorageKey, gridRef, setCurrentPage, setTotalPages, handleDeselectAll) => {\r\n return function (type, event) {\r\n if (type.indexOf(\"columnVisible\") >= 0) {\r\n handleGridColumnsChanged(event,gridRef,localStorageKey);\r\n }\r\n\r\n // Bind handleFilterChanged event to filterChanged and rowDataUpdated events\r\n if (type.indexOf(\"filterChanged\") >= 0 || type.indexOf(\"rowDataUpdated\") >= 0) {\r\n let currentGridPage = 1; \r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n currentGridPage = gridRef.current.api.paginationGetCurrentPage() + 1; \r\n }\r\n //\r\n // This is to handle when user deselects select all\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n if (type.indexOf(\"filterChanged\") >= 0) {\r\n if(calcTotalPages > 0){\r\n setTimeout(function () { handleFilterChanged(gridRef, currentGridPage, setCurrentPage, setTotalPages); }, 0); \r\n }\r\n else{\r\n console.log('#skip'); \r\n handleDeselectAll();\r\n } \r\n }\r\n\r\n if (type.indexOf(\"rowDataUpdated\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(gridRef, currentGridPage, setCurrentPage, setTotalPages); }, 0); \r\n }\r\n } \r\n }\r\n};\r\n\r\n// Keep a reference to the listener function\r\nlet globalListenerRef;\r\nexport const handleGridReady = (event, gridRef, setCurrentPage, setItemsPerPage, setTotalPages, localStorageKey, handleDeselectAll) => {\r\n\r\n // If there's an existing listener, remove it\r\n if (globalListenerRef) {\r\n event.api.removeGlobalListener(globalListenerRef);\r\n}\r\n\r\n// Create a new listener and keep a reference to it\r\nglobalListenerRef = gridGlobalListener(localStorageKey, gridRef, setCurrentPage, setTotalPages,handleDeselectAll);\r\n//Add event for column state change\r\nevent.api.addGlobalListener(globalListenerRef);\r\n\r\n//Apply column state\r\nvar columnState = localStorage.getItem(localStorageKey);\r\nif (columnState) {\r\n gridRef.current.columnApi.applyColumnState({\r\n state: JSON.parse(columnState),\r\n applyOrder: true,\r\n });\r\n}\r\n\r\n\r\n// Set the page size and total pages on the first load \r\nhandleItemsPerPageChange(100, gridRef,setCurrentPage,setItemsPerPage,setTotalPages); // Setting it 100 to make sure the default number of items on load is always set to 100\r\n};\r\n\r\nexport const handleItemsPerPageChange = (val, gridRef, setCurrentPage, setItemsPerPage, setTotalPages) => {\r\n gridRef.current.api.paginationGoToFirstPage();\r\n gridRef.current.api.paginationSetPageSize(Number(val));\r\n setCurrentPage(1);\r\n setItemsPerPage(val);\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n};\r\n\r\nexport const tableHeaderClass = (theme) => {\r\n return theme === \"motifDark\" ? \"custom-grid-dark\" : \"custom-grid-light\";\r\n}\r\n","import React from 'react';\r\nimport { MotifPagination, MotifPaginationSelect, MotifPaginationSelectItem } from '@ey-xd/motif-react'; // replace 'your-library' with the actual library name\r\n\r\nconst CustomPagination = ({ currentPage, handlePageChange, totalPages, handleItemsPerPageChange, gridRef, setCurrentPage, setItemsPerPage, setTotalPages }) => {\r\n const itemsPerPageOptions = [50, 100, 150, 200];\r\n\r\n return (\r\n \r\n \r\n {itemsPerPageOptions.map((option, index) => (\r\n handleItemsPerPageChange(option, gridRef, setCurrentPage, setItemsPerPage, setTotalPages)}\r\n >\r\n {`Show ${option}`}\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CustomPagination;","export default (headerName) => {\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","import React, { useMemo, useState, useRef, useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { MotifFormField, MotifSearch, MotifLabel, MotifToggleSwitch, MotifTable } from '@ey-xd/motif-react';\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport ClientsCellRenderer from \"./customRenderer/ClientsCellRenderer\";\r\nimport { handleFilterChanged, handleFirstDataRendered, handleGridReady, tableHeaderClass, handleItemsPerPageChange } from '../../common/AgGridEventHandlers';\r\nimport CustomPagination from '../../common/MotifPagination';\r\nimport CustomHeaderTemplate from \"../checklistDeliveryCalendar/customHeaders/CustomHeaderTemplate\";\r\n\r\nconst ClientList = ({ clients,currentUserAuthorizations,isEngagementAdministrator,isEngagementUser, handleSearchChange, handleClearSearchText, clientSearchText, handleShowInactive, showInactive,\r\n isSysAdmin, handleToggleActiveFlag, clientsAreLoaded, handleGridChanges ,hasIncompleteSecuritySnapshotsList}) => {\r\n\r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (hasIncompleteSecuritySnapshotsList) {\r\n setColumnDefs(getColumnDefs);\r\n }\r\n }, [hasIncompleteSecuritySnapshotsList]);\r\n \r\n let getColumnDefs =\r\n [\r\n {\r\n field: 'name', headerName: 'Clients', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 273,\r\n cellRenderer: ClientsCellRenderer,\r\n cellRendererParams: { currentUserAuthorizations: currentUserAuthorizations,hasIncompleteSecuritySnapshotsList},\r\n headerComponentParams: {template: CustomHeaderTemplate(\"name\"),}, \r\n comparator: (a, b) => {\r\n var valA = a.toString().toLowerCase();\r\n var valB = b.toString().toLowerCase();\r\n if (valA === valB) return 0;\r\n return valA > valB ? 1 : -1;\r\n },\r\n flex: 5,\r\n },\r\n {\r\n field: 'reitCount', headerName: 'REITS', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 110,\r\n headerComponentParams: {template: CustomHeaderTemplate(\"reitCount\"),},\r\n flex: 1,\r\n valueGetter: (params) => params.data.reitCount\r\n },\r\n {\r\n field: 'q1Status', headerName: 'Q1', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 153,headerComponentParams: {template: CustomHeaderTemplate(\"q1Status\"),},\r\n flex: 1,\r\n },\r\n {\r\n field: 'q2Status', headerName: 'Q2', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 153,headerComponentParams: {template: CustomHeaderTemplate(\"q2Status\"),},\r\n flex: 1,\r\n },\r\n {\r\n field: 'q3Status', headerName: 'Q3', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 153,headerComponentParams: {template: CustomHeaderTemplate(\"q3Status\"),},\r\n flex: 1,\r\n },\r\n {\r\n field: 'q4Status', headerName: 'Q4', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 153,headerComponentParams: {template: CustomHeaderTemplate(\"q4Status\"),},\r\n flex: 1,\r\n },\r\n \r\n ];\r\n\r\n \r\n if (showInactive) {\r\n getColumnDefs.push({\r\n \r\n field: 'isActive', headerName: 'Active', sortable: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 183, \r\n cellRenderer: ClientsCellRenderer,\r\n cellRendererParams: { handleToggleActiveFlag },\r\n hide: !showInactive,\r\n headerComponentParams: {template: CustomHeaderTemplate(\"isActive\"),},\r\n suppressColumnsToolPanel: false,\r\n \r\n },);\r\n }\r\n\r\n //Handle deselet all event\r\n const handleDeselectAll = (val) => {\r\n // set current page and total pages to 0\r\n setCurrentPage(0); \r\n setTotalPages(0); \r\n }; \r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs);\r\n useEffect(() => { \r\n handleGridChanges(rowData, gridRef && gridRef.current ? gridRef.current.api : null);\r\n if (rowData.length > 0 && gridRef?.current?.api !== undefined) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n setRowData(clients);\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n }, [clients]);\r\n\r\n useEffect(() => {\r\n if (gridRef.current) {\r\n setColumnDefs(getColumnDefs);\r\n\r\n // set the current page to 1 and reset the grid to first page\r\n setCurrentPage(1);\r\n gridRef.current?.api.paginationGoToPage(0);\r\n }\r\n }, [showInactive]);\r\n\r\n const rowHeight = 76; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default if compact={false}\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n

    Clients

    \r\n
    \r\n
    \r\n {isSysAdmin &&\r\n \r\n \r\n Display Inactive Clients:\r\n \r\n \r\n \r\n \r\n \r\n }\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {(rowData.length > 0) &&\r\n
    \r\n
    \r\n
    \r\n
    \r\n handleGridReady(event, gridRef, setCurrentPage, setItemsPerPage, setTotalPages, 'REITSuiteClientListColumnState',handleDeselectAll)}\r\n onFirstDataRendered={handleFirstDataRendered(gridRef)}\r\n ref={gridRef}\r\n pagination={true}\r\n suppressPaginationPanel={true}\r\n paginationPageSize={100}\r\n groupDisplayType={'custom'}\r\n groupSelectsChildren={true}\r\n groupDefaultExpanded={0}\r\n onFilterChanged={handleFilterChanged(gridRef, currentPage, setCurrentPage, setTotalPages)}\r\n data-testid=\"divClientListGrid\"\r\n deltaRowDataMode={true}\r\n immutableData={true}\r\n getRowNodeId={(data) => data.id}\r\n />\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n {(clients && clients.length === 0 && clientSearchText === \"\" && clientsAreLoaded &&
    It looks as though you aren't assigned to any clients right now - please contact your manager.
    ) || ((clients && clients.length === 0 && clientSearchText !== \"\" && clientsAreLoaded) &&
    No clients match your search text '{clientSearchText}'
    ) || null}\r\n\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nClientList.propTypes = {\r\n clients: PropTypes.array.isRequired,\r\n handleSearchChange: PropTypes.func,\r\n handleClearSearchText: PropTypes.func,\r\n clientSearchText: PropTypes.string,\r\n handleShowInactive: PropTypes.func,\r\n showInactive: PropTypes.bool,\r\n isSysAdmin: PropTypes.bool,\r\n handleToggleActiveFlag: PropTypes.func,\r\n clientsAreLoaded: PropTypes.bool,\r\n currentUserAuthorizations: PropTypes.array,\r\n isEngagementAdministrator: PropTypes.bool,\r\n isEngagementUser: PropTypes.bool,\r\n};\r\n\r\nexport default ClientList;","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { Button, Header } from \"semantic-ui-react\";\r\nimport { MotifButton,MotifModal,MotifModalHeader,MotifModalBody,MotifModalFooter, MotifLabel } from \"@ey-xd/motif-react\";\r\n\r\n\r\nconst YesNoModal = ({ showModal, handleYesAction, handleNoAction, identifier, title, question }) => {\r\n \r\n const onYesClicked = () => {\r\n handleYesAction(identifier);\r\n };\r\n\r\n const onNoClicked = () => {\r\n handleNoAction(identifier);\r\n };\r\n\r\n return ( \r\n \r\n {title} \r\n \r\n
    \r\n {question} \r\n
    \r\n
    \r\n \r\n \r\n No\r\n \r\n \r\n Yes\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nYesNoModal.propTypes = {\r\n showModal: PropTypes.bool.isRequired,\r\n handleYesAction: PropTypes.func.isRequired,\r\n handleNoAction: PropTypes.func.isRequired,\r\n identifier: PropTypes.number,\r\n title: PropTypes.string,\r\n question: PropTypes.string,\r\n pendingTasks: PropTypes.number\r\n};\r\n\r\nexport default YesNoModal;","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport YesNoModal from \"../shared/YesNoModal\";\r\n\r\nconst ReactivateClientModal = ({ showReactivateClientModal, handleReactivateClient, handleCancel, clientData, pendingTasks }) => {\r\n\r\n let question = `Are you sure you want to reactivate client ${clientData.legalName}?`;\r\n return (\r\n \r\n );\r\n};\r\n\r\nReactivateClientModal.propTypes = {\r\n showReactivateClientModal: PropTypes.bool.isRequired,\r\n handleReactivateClient: PropTypes.func.isRequired,\r\n handleCancel: PropTypes.func.isRequired,\r\n clientData: PropTypes.object.isRequired,\r\n pendingTasks: PropTypes.number\r\n};\r\n\r\nexport default ReactivateClientModal;","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { MotifButton,MotifModal,MotifModalHeader,MotifModalBody,MotifModalFooter,MotifIcon } from \"@ey-xd/motif-react\";\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\n\r\nconst DeactivateClientDisplayErrorMessageModal = ({ showDeactivateErrorMessageModal, handleCancel, confirmationMessage,headerTitle\r\n }) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n\r\n const closeButtonProps = {\r\n title: headerTitle,\r\n ariaLabel: headerTitle,\r\n dataTestid: 'close'\r\n };\r\n\r\n return ( \r\n \r\n \r\n \r\n \r\n {headerTitle}\r\n \r\n \r\n \r\n {confirmationMessage}\r\n \r\n \r\n \r\n Close\r\n \r\n \r\n );\r\n};\r\n\r\nDeactivateClientDisplayErrorMessageModal.propTypes = {\r\n showDeactivateErrorMessageModal: PropTypes.bool.isRequired,\r\n handleCancel: PropTypes.func.isRequired,\r\n confirmationMessage: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default DeactivateClientDisplayErrorMessageModal;","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { MotifButton, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter, MotifIcon } from \"@ey-xd/motif-react\";\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\n\r\nconst ClientTypeSwitchingConfirmationMessageModal = ({ showClientSwitchingMessageModal, handleCancel, confirmationMessage, headerTitle,handleClientSwitching\r\n}) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: headerTitle,\r\n ariaLabel: headerTitle,\r\n dataTestid: 'close'\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {headerTitle}\r\n \r\n \r\n \r\n {confirmationMessage}\r\n \r\n \r\n Close\r\n handleClientSwitching()}\r\n >\r\n Confirm\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nClientTypeSwitchingConfirmationMessageModal.propTypes = {\r\n showClientSwitchingMessageModal: PropTypes.bool.isRequired,\r\n handleCancel: PropTypes.func.isRequired,\r\n confirmationMessage: PropTypes.string.isRequired,\r\n handleClientSwitching: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default ClientTypeSwitchingConfirmationMessageModal;","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { MotifButton, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter, MotifIcon } from \"@ey-xd/motif-react\";\r\nimport { IconoirXmarkCircle } from '@ey-xd/motif-icon';\r\n\r\nconst ClientTypeSwitchingErrorMessageModal = ({ showClientSwitchingErrorMessageModal, handleCancel, confirmationMessage, headerTitle\r\n}) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: headerTitle,\r\n ariaLabel: headerTitle,\r\n dataTestid: 'close'\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {headerTitle}\r\n \r\n \r\n \r\n {confirmationMessage}\r\n \r\n \r\n Close\r\n \r\n \r\n );\r\n};\r\n\r\nClientTypeSwitchingErrorMessageModal.propTypes = {\r\n showClientSwitchingErrorMessageModal: PropTypes.bool.isRequired,\r\n handleCancel: PropTypes.func.isRequired,\r\n confirmationMessage: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default ClientTypeSwitchingErrorMessageModal;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport ClientList from \"../../components/clients/ClientList\";\r\nimport * as clientActions from \"../../actions/clientActions\";\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport ReactivateClientModal from \"../../components/clients/ReactivateClientModal\";\r\nimport * as dataPurgeActions from \"../../actions/dataPurgeActions\";\r\nimport DeactivateClientDisplayErrorMessageModal from \"../../components/clients/DeactivateClientDisplayErrorMessageModal\";\r\nimport * as Constants from '../../constants/other';\r\nimport ClientTypeSwitchingConfirmationMessageModal from \"../../components/clients/ClientTypeSwitchingConfirmationMessageModal\";\r\nimport ClientTypeSwitchingErrorMessageModal from \"../../components/clients/ClientTypeSwitchingErrorMessageModal\";\r\nimport * as securitiesSnapshotActions from '../../actions/securitiesSnapshotActions';\r\n/**\r\n * ClientsPage container component\r\n * @extends {React.Component}\r\n */\r\nexport class ClientsPage extends React.Component {\r\n /**\r\n * Creates a new ClientsPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n clientSearchText: \"\", filteredClients: [], showInactive: false,\r\n showReactivateClientModal: false, clientData: {}, clientsAreLoaded: false,\r\n currentClientCheckboxHtmlId: '', gridCurrentState: [], showDeactivateErrorMessageModal: false,\r\n showClientSwitchingErrorMessageModal: false, showClientSwitchingMessageModal: false,\r\n hasIncompleteSecuritySnapshotsList: []\r\n };\r\n this.handleSearchChange = this.handleSearchChange.bind(this);\r\n this.handleClearSearchText = this.handleClearSearchText.bind(this);\r\n this.reloadClients = this.reloadClients.bind(this);\r\n this.handleShowInactive = this.handleShowInactive.bind(this);\r\n this.handleToggleActiveFlag = this.handleToggleActiveFlag.bind(this);\r\n this.handleReactivateClient = this.handleReactivateClient.bind(this);\r\n this.toggleShowReactivateClientModal = this.toggleShowReactivateClientModal.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.toggleShowDeactivateClientModal = this.toggleShowDeactivateClientModal.bind(this);\r\n this.toggleShowClientSwitchingModal = this.toggleShowClientSwitchingModal.bind(this);\r\n this.toggleShowClientSwitchingErrorModal = this.toggleShowClientSwitchingErrorModal.bind(this);\r\n this.populateHasIncompleteSecuritySnapshots = this.populateHasIncompleteSecuritySnapshots.bind(this);\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.props.actions.loadAllClients();\r\n this.setFilter();\r\n this.resetGridColumnState();\r\n }\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.clients !== this.props.clients && this.props.clients) {\r\n const list = Object.assign([], this.props.clients);\r\n //this.setState({ filteredClients: list });\r\n this.setFilter(list);\r\n this.setState({ clientsAreLoaded: true });\r\n this.populateHasIncompleteSecuritySnapshots(null, null, null,'Client');\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.setState({ showInactive: false });\r\n }\r\n\r\n reloadClients(reloadClients) {\r\n if (reloadClients) {\r\n this.props.actions.loadAllClients();\r\n }\r\n }\r\n\r\n handleSearchChange(e) {\r\n this.setState({ clientSearchText: e.target.value }, this.setFilter);\r\n }\r\n\r\n handleClearSearchText(e) {\r\n this.setState({ clientSearchText: \"\" }, this.setFilter);\r\n }\r\n\r\n handleShowInactive(e) {\r\n this.setState({ showInactive: !this.state.showInactive }, this.setFilter);\r\n }\r\n\r\n handleToggleActiveFlag(e, clientId, clientName, clientLegalName) {\r\n \r\n const clientData = { \"id\": clientId, \"name\": clientName, \"legalName\": clientLegalName };\r\n\r\n if (e.target.checked) {\r\n this.setState({ clientData: clientData, currentClientCheckboxHtmlId: e.target.id }, this.toggleShowReactivateClientModal());\r\n return;\r\n }\r\n else {\r\n this.props.dataPurgeActions.getdataPurgeApprovedStatus(clientId).then(\r\n (responseData) => {\r\n if (responseData && responseData.returnCode == 0) { // If there are report periods that have not been approved for deletion as per Data Retention Policy\r\n this.setState({ showDeactivateErrorMessageModal: true, currentClientCheckboxHtmlId: e.target.id });\r\n return;\r\n }\r\n this.props.actions.toggleActiveFlagAndReloadClients(clientId);\r\n });\r\n }\r\n\r\n }\r\n\r\n toggleShowDeactivateClientModal() {\r\n document.getElementById(this.state.currentClientCheckboxHtmlId).checked = true;\r\n this.setState({ currentClientCheckboxHtmlId: '' });\r\n this.setState({ showDeactivateErrorMessageModal: false });\r\n }\r\n\r\n toggleShowClientSwitchingModal() {\r\n // document.getElementById(this.state.currentClientCheckboxHtmlId).checked = true;\r\n // this.setState({ currentClientCheckboxHtmlId: '' });\r\n this.setState({ showClientSwitchingMessageModal: false });\r\n }\r\n\r\n toggleShowClientSwitchingErrorModal() {\r\n // document.getElementById(this.state.currentClientCheckboxHtmlId).checked = true;\r\n // this.setState({ currentClientCheckboxHtmlId: '' });\r\n this.setState({ showClientSwitchingErrorMessageModal: false });\r\n }\r\n\r\n setFilter(clients) {\r\n let includeInactive = false;\r\n let filteredClients = clients || this.props.clients;\r\n\r\n if (this.props.isSysAdmin) {\r\n includeInactive = this.state.showInactive;\r\n }\r\n\r\n if (this.state.clientSearchText === \"\") {\r\n filteredClients = filteredClients.filter((client) => includeInactive || client.isActive);\r\n } else {\r\n filteredClients = filteredClients.filter((client) => client.name.toLowerCase().includes(this.state.clientSearchText.toLowerCase()) && (includeInactive || client.isActive));\r\n }\r\n\r\n this.setState({ filteredClients: filteredClients });\r\n }\r\n\r\n handleReactivateClient(clientId) {\r\n this.props.actions.toggleActiveFlagAndReloadClients(clientId);\r\n this.toggleShowReactivateClientModal(null, true); // Passing reActivateClient = true to distinguish that this method is called to reactivate the client\r\n }\r\n\r\n toggleShowReactivateClientModal(periodId, reActivateClient) {\r\n if (this.state.currentClientCheckboxHtmlId !== '' && !reActivateClient) { // Client that is being currently activated/deactivated\r\n document.getElementById(this.state.currentClientCheckboxHtmlId).checked = false; // Resetting the checked attribute to 'False' if the user decides not to activate the Client\r\n this.setState({ currentClientCheckboxHtmlId: '' }); // Resetting the state of currentClientCheckboxHtmlId once the user decides not to activate the Client\r\n } else if (reActivateClient) {\r\n this.setState({ currentClientCheckboxHtmlId: '' }); // Resetting the state of currentClientCheckboxHtmlId once the user has rectivated the client\r\n }\r\n\r\n this.setState({ showReactivateClientModal: !this.state.showReactivateClientModal });\r\n }\r\n\r\n /**\r\n * Handle Grid changes\r\n */\r\n handleGridChanges(gridRowData, gridRefApi) {\r\n let rowData = [];\r\n rowData =\r\n gridRowData &&\r\n gridRowData.length &&\r\n gridRowData.map((x) => {\r\n return {\r\n name: x.name,\r\n reitCount: x.reitCount,\r\n q1Status: x.q1Status,\r\n q2Status: x.q2Status,\r\n q3Status: x.q3Status,\r\n q4Status: x.q4Status,\r\n isActive: x.isActive,\r\n };\r\n });\r\n\r\n this.setState({ gridCurrentState: rowData });\r\n\r\n if (gridRefApi) {\r\n gridRefApi.refreshCells();\r\n }\r\n }\r\n\r\n resetGridColumnState() {\r\n localStorage.removeItem('REITSuiteClientListColumnState');\r\n }\r\n\r\n populateHasIncompleteSecuritySnapshots(clientId, reitId, periodId,pageName) {\r\n this.props.securitiesSnapshotActions.getIncompleteSecuritySnapshotDetails(clientId, reitId, periodId,pageName).then((data) => {\r\n this.setState({ hasIncompleteSecuritySnapshotsList: data });\r\n });\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\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\nClientsPage.propTypes = {\r\n clients: PropTypes.array.isRequired,\r\n actions: PropTypes.object,\r\n currentUserAuthorizations: PropTypes.array,\r\n isSysAdmin: PropTypes.bool,\r\n isEngagementAdministrator: PropTypes.bool,\r\n isEngagementUser: PropTypes.bool,\r\n dataPurgeActions: PropTypes.object,\r\n\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state) {\r\n const clients = state.clients;\r\n return {\r\n clients: clients,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n isSysAdmin: Array.isArray(state.currentUserAuthorizations) && authActions.isSystemAdministrator(state.currentUserAuthorizations),\r\n };\r\n\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(clientActions, dispatch),\r\n dataPurgeActions: bindActionCreators(dataPurgeActions, dispatch),\r\n securitiesSnapshotActions: bindActionCreators(securitiesSnapshotActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ClientsPage);","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Icon } from 'semantic-ui-react';\r\nimport { MotifIconButton, MotifIcon } from \"@ey-xd/motif-react\";\r\nimport { IconoirEditPencil } from '@ey-xd/motif-icon';\r\n\r\n/**\r\n * Presentation component used for rendering a download link to the trial balance file.\r\n */\r\nexport default class RelatedReitsRow extends React.Component {\r\n /**\r\n * Creates a new TrialBalanceDownloadLink\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.onEditClick = this.onEditClick.bind(this);\r\n this.onDeleteClick = this.onDeleteClick.bind(this);\r\n }\r\n \r\n onEditClick(e) {\r\n e.preventDefault();\r\n this.props.handleEditClick(this.props.reit);\r\n }\r\n\r\n onDeleteClick(e) {\r\n e.preventDefault();\r\n this.props.handleDeleteClick(this.props.reit.reitid);\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n let type = \"Equity\";\r\n if (this.props.reit.reitTypeID === 1) type = \"Mortgage\";\r\n return (\r\n \r\n {this.props.reit.reitName}\r\n {type}\r\n {this.props.reit.percentageThreshold}% / ${this.props.reit.balanceThreshold}\r\n {this.props.reit.ein}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nRelatedReitsRow.propTypes = {\r\n reit: PropTypes.object,\r\n handleEditClick: PropTypes.func.isRequired,\r\n handleDeleteClick: PropTypes.func.isRequired,\r\n reitType: PropTypes.string\r\n};","import React from 'react';\r\nimport { MotifIcon, MotifIconButton, MotifLabel, MotifTooltip } from '@ey-xd/motif-react';\r\nimport { IconoirEditPencil } from '@ey-xd/motif-icon';\r\n\r\nexport default (props) => {\r\n const onEditClick = () => {\r\n props.handleEditClick(props.data);\r\n };\r\n let reitName = props.data.reitName;\r\n let value = props.data.reitTypeID === 1 ? \"Mortgage\" : \"Equity\";\r\n let threshold = props.data.percentageThreshold + \"% / $\" + props.data.balanceThreshold;\r\n return (\r\n
    \r\n {(props.column.colId == \"reitName\" && reitName.length > 25) && \r\n
    \r\n {reitName.substring(0, 25)}\r\n \r\n ...}\r\n variant=\"alt\"\r\n style={{ margin: '0px' }}\r\n hideCloseButton={true}\r\n >\r\n {reitName}\r\n \r\n \r\n
    \r\n }\r\n {(props.column.colId == \"reitName\" && reitName.length <= 25) && \r\n reitName\r\n }\r\n {(props.column.colId == \"type\") && \r\n value\r\n }\r\n {(props.column.colId == \"percentageThreshold\") && \r\n threshold\r\n }\r\n {(props.column.colId == \"action\") && \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n }\r\n
    \r\n )\r\n};","export default (headerName) => {\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}","import React, { useMemo, useState, useRef, useEffect } from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport RelatedReitsRow from './RelatedReitsRow';\r\nimport { MotifButton, MotifPagination, MotifPaginationSelect, MotifPaginationSelectItem, MotifTable} from '@ey-xd/motif-react';\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport { handleFilterChanged,handleFirstDataRendered,handleGridReady,handleItemsPerPageChange } from '../../common/AgGridEventHandlers';\r\nimport RelatedReitsCellRenderer from './customRenderer/RelatedReitsCellRenderer';\r\nimport CustomHeaderTemplate from '../shared/customHeaders/CustomHeaderTemplate.js';\r\nimport CustomPagination from '../../common/MotifPagination';\r\n\r\nconst RelatedReits = ({ handleAddReitClick, handleEditClick, handleDeleteClick, reits, canAddReit}) => {\r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: 'reitName', headerName: 'Name', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 380,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"reitName\"),\r\n },\r\n },\r\n {\r\n field: 'type', headerName: 'Type', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 130,\r\n cellRenderer: RelatedReitsCellRenderer,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"type\"),\r\n },\r\n valueGetter: params => { return params.data && params.data.reitTypeID === 1 ? \"Mortgage\" : \"Equity\" },\r\n },\r\n {\r\n field: 'percentageThreshold', headerName: 'Trial Balance Threshold', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 250,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"percentageThreshold\"),\r\n },\r\n cellRenderer: RelatedReitsCellRenderer,\r\n valueGetter: params => { return params.data && params.data.percentageThreshold + \"% / $\" + params.data.balanceThreshold},\r\n },\r\n {\r\n field: 'ein', headerName: 'EIN', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 160,headerComponentParams: {\r\n template: CustomHeaderTemplate(\"ein\"),\r\n },\r\n },\r\n {\r\n field: 'action', headerName: '', suppressMenu: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 80, \r\n cellRenderer: RelatedReitsCellRenderer,\r\n cellRendererParams: { handleEditClick: handleEditClick},\r\n },\r\n ];\r\n };\r\n\r\n //Handle deselect all event\r\n const handleDeselectAll = (val) => {\r\n // set current page and total pages to 0\r\n setCurrentPage(0); \r\n setTotalPages(0); \r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val-1);\r\n };\r\n\r\n const handleGridChanges = (gridRefApi) => {\r\n if (gridRefApi) {\r\n gridRefApi.refreshCells();\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n handleGridChanges(gridRef && gridRef.current ? gridRef.current.api : null);\r\n if(rowData.length > 0 && gridRef.current.api !== undefined){\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n setRowData(reits);\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n }, [reits]);\r\n\r\n const rowHeight = 49; \r\n const headerHeight = 55; \r\n const totalHeight = (rowData?.length <= 3 ? rowData?.length : 3) * rowHeight + headerHeight; // set 3 rows as default\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Related REITs\r\n \r\n Add REIT\r\n \r\n

    \r\n
    \r\n {!canAddReit &&
    The Add REIT button has been disabled because there are unsaved changes to the client
    }\r\n
    \r\n\r\n {(rowData.length > 0 ) &&\r\n
    \r\n
    \r\n
    \r\n
    \r\n handleGridReady(event, gridRef,setCurrentPage,setItemsPerPage,setTotalPages,'REITSuiteRelatedREITsListColumnState', handleDeselectAll)}\r\n onFirstDataRendered={handleFirstDataRendered(gridRef)}\r\n ref={gridRef}\r\n pagination={true}\r\n suppressPaginationPanel={true}\r\n paginationPageSize={100}\r\n groupDisplayType={'custom'}\r\n groupSelectsChildren={true}\r\n groupDefaultExpanded={0}\r\n onFilterChanged={handleFilterChanged(gridRef, currentPage, setCurrentPage, setTotalPages)}\r\n data-testid=\"divRelatedReitsListGrid\"\r\n deltaRowDataMode={true}\r\n immutableData={true}\r\n getRowNodeId={(data) => data.reitid}\r\n />\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n\r\n {(rowData.length === 0) &&\r\n
    \r\n
    \r\n No Related REITs for this client.\r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nRelatedReits.propTypes = {\r\n handleAddReitClick: PropTypes.func.isRequired,\r\n handleEditClick: PropTypes.func.isRequired,\r\n handleDeleteClick: PropTypes.func.isRequired,\r\n reits: PropTypes.array.isRequired,\r\n canAddReit: PropTypes.bool\r\n};\r\n\r\nexport default RelatedReits;","export const camelize = str => {\r\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w|\\s+)/g, function (match, index) {\r\n if (+match === 0) return \"\"; // or if (/\\s+/.test(match)) for white spaces\r\n return index == 0 ? match.toLowerCase() : match.toUpperCase();\r\n });\r\n};\r\n\r\nexport const toTitleCase = str => {\r\n return str.replace(/\\w\\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); });\r\n};\r\n\r\nexport const stringToHash = str => { \r\n let hash = 0; \r\n let i = 0;\r\n let char = \"\";\r\n str = str.trim();\r\n \r\n if (str === \"\" && str.length == 0) {\r\n return hash;\r\n }\r\n\r\n for (i = 0; i < str.length; i++) { \r\n char = str.charCodeAt(i); \r\n hash = ((hash << 5) - hash) + char; \r\n hash = hash & hash; \r\n } \r\n return hash; \r\n};\r\n","export const phoneParser = (number) => {\r\n if(number){\r\n number = number.toString();\r\n number = number.replace(/[-\\(\\)\\s]/g, '');\r\n number = number.replace(/[^\\-\\d\\.]/g, '');\r\n } else{\r\n number = \"\";\r\n }\r\n\r\n return number;\r\n};\r\n\r\nexport const numberParser = (value) => {\r\n value = value.toString();\r\n\r\n value = value.replace(/[^\\-\\d\\.]/g, '');\r\n\r\n // Does not accept more that one minus sign (-)\r\n value = value.replace(/[^-\\d.]/g, '')?.replace(/(?!^)-/g, '');\r\n\r\n return value;\r\n};\r\n\r\n// This is intended for NUMBER text field that only accepts positive numbers and decimals\r\nexport const positiveNumberParser = (value) => {\r\n value = value.toString();\r\n\r\n value = value.replace(/[^\\d\\.]/g, '');\r\n\r\n return value;\r\n};\r\n\r\n// This is intended for NUMBER text field that only accepts positive numbers\r\nexport const positiveWholeNumberParser = (value) => {\r\n value = value.toString();\r\n\r\n value = value.replace(/[^\\d]/g, '');\r\n\r\n return value;\r\n};\r\n\r\nexport const positiveCurrencyParser = (value) => {\r\n value = value.toString();\r\n\r\n // Remove anything that is not a number or a decimal\r\n value = value.replace(/[^\\d\\.]/g, '');\r\n\r\n const dotIndex = value.indexOf('.');\r\n\r\n // If decimal is included, remove anything past 2 decimal places\r\n if (dotIndex !== -1) {\r\n value = value.substring(0, dotIndex + 3);\r\n }\r\n\r\n return value;\r\n};\r\n\r\nexport const percentageOfOwnership = (value) => {\r\n value = value.trim();\r\n \r\n if (value === \"\") {\r\n return \"\";\r\n }\r\n\r\n if (value.length > 1 && isNaN(value)) {\r\n return\r\n }\r\n\r\n if ((value > 99.99999999999 && value.length > 14) || (value >= 10 && value <= 99.99999999999 && value.length > 13) || (value < 10 && value.length > 12)) {\r\n return;\r\n }\r\n\r\n let indexOfDot = value.indexOf('.');\r\n\r\n if ((indexOfDot === -1) && (value.length === 1) && (isNaN(value))) {\r\n return \"\";\r\n }\r\n\r\n if (value > 100.000) {\r\n return \"100\";\r\n }\r\n //if (value < 1) {\r\n // return \"1\";\r\n //}\r\n\r\n let numStr = String(value);\r\n if (Math.abs(value) < 1.0) {\r\n let e = parseInt(value.toString().split('e-')[1]);\r\n if (e) {\r\n let negative = value < 0;\r\n if (negative) value *= -1\r\n value *= Math.pow(10, e - 1);\r\n numStr = '0.' + (new Array(e)).join('0') + value.toString().substring(2);\r\n if (negative) numStr = \"-\" + numStr;\r\n }\r\n\r\n if(numStr.split(\".\")[1])\r\n {\r\n let a = numStr.split(\".\")[1].length;\r\n let dgt = 10; \r\n if (a <= 10)\r\n { \r\n dgt = a;\r\n }\r\n numStr=Number.parseFloat(numStr).toFixed(dgt);\r\n }\r\n }\r\n else {\r\n let e = parseInt(value.toString().split('+')[1]);\r\n if (e > 20) {\r\n e -= 20;\r\n value /= Math.pow(10, e);\r\n numStr = value.toString() + (new Array(e + 1)).join('0');\r\n }\r\n } \r\n\r\n if(value.length > 1 && value.startsWith(\"0\")){\r\n numStr = numStr.replace(/^0+(?=\\d)/, '');\r\n } \r\n\r\n return numStr;\r\n};\r\n","const shallowCompare = (obj1, obj2) =>\r\n Object.keys(obj1).length === Object.keys(obj2).length &&\r\n Object.keys(obj1).every(key =>\r\n Object.prototype.hasOwnProperty.call(obj2, key) && obj1[key] === obj2[key]\r\n );\r\n\r\nexport const indexOfWhile = (arr, value) => {\r\n let x = 0;\r\n while (x < arr.length) {\r\n if (arr[x] === value) return x;\r\n x++;\r\n }\r\n return -1;\r\n};\r\n\r\nexport const arraysEqual = (a, b) => {\r\n if (a === b) return true;\r\n if (a == null || b == null) return false;\r\n if (a.length != b.length) return false;\r\n\r\n // This only returns true if the sort order is also the same\r\n\r\n for (var i = 0; i < a.length; i++) {\r\n if (a[i] !== b[i]) return false;\r\n }\r\n return true;\r\n};\r\n\r\nexport const arraysEqualComplex = (a, b) => {\r\n if (a === b) return true;\r\n if (a == null || b == null) return false;\r\n if (a.length != b.length) return false;\r\n\r\n // This only returns true if the sort order is also the same\r\n\r\n for (var i = 0; i < a.length; i++) {\r\n if (!shallowCompare(a[i], b[i])) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n};","import { useEffect, useState, useLayoutEffect, useRef } from \"react\";\r\n\r\n// Hook to temporarily toggle a boolean upon a variable change.\r\nexport const useEffectToggle = function (\r\n watchedDependencies,\r\n defaultValue = true,\r\n toggleDelayMs = 0\r\n) {\r\n const [value, setValue] = useState(defaultValue);\r\n\r\n useEffect(() => {\r\n setValue(!defaultValue);\r\n setTimeout(() => setValue(defaultValue), toggleDelayMs);\r\n }, watchedDependencies);\r\n\r\n return value;\r\n};\r\n\r\nexport const useInput = function (initialValue = undefined) {\r\n const [value, setValue] = useState(initialValue);\r\n const onChange = (e) => setValue(e.target.value);\r\n return { value, onChange, setValue };\r\n};\r\n\r\nexport const useWindowSize = function () {\r\n const [size, setSize] = useState([0, 0]);\r\n\r\n useLayoutEffect(() => {\r\n function updateSize() {\r\n setSize([window.innerWidth, window.innerHeight]);\r\n }\r\n window.addEventListener(\"resize\", updateSize);\r\n updateSize();\r\n return () => window.removeEventListener(\"resize\", updateSize);\r\n }, []);\r\n\r\n return size;\r\n};\r\n\r\nexport const usePrevious = function (value) {\r\n const ref = useRef();\r\n useEffect(() => {\r\n ref.current = value; //assign the value of ref to the argument\r\n }, [value]); //this code will run when the value of 'value' changes\r\n return ref.current; //in the end, return the current ref value.\r\n};","export const formatEin = (value) => {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n const onlyNums = value.replace(/[^\\d]/g, '');\r\n if (onlyNums.length <= 2) {\r\n return onlyNums;\r\n }\r\n return `${onlyNums.slice(0, 2)}-${onlyNums.slice(2)}`;\r\n};\r\n\r\nexport const formatPhone = (value) => {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n const onlyNums = value.replace(/[^\\d]/g, '');\r\n if (onlyNums.length <= 3) {\r\n return onlyNums;\r\n }\r\n if (onlyNums.length <= 7) {\r\n return `${onlyNums.slice(0, 3)}-${onlyNums.slice(3)}`;\r\n }\r\n return `(${onlyNums.slice(0, 3)}) ${onlyNums.slice(3, 6)}-${onlyNums.slice(6, 10)}`;\r\n};\r\n\r\nexport const formatCurrency = (value) => {\r\n let result = formatNumberAllowNegativesAndDecimal(value);\r\n\r\n if (!result) {\r\n return '';\r\n }\r\n\r\n return '$' + result;\r\n};\r\n\r\nexport const formatPercent = (value) => {\r\n let result = formatNumberAllowNegativesAndDecimal(value);\r\n\r\n if (!result) {\r\n return '';\r\n }\r\n\r\n return result + '%';\r\n};\r\n\r\nexport const formatNumberAllowNegativesAndDecimal = (value) => {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n value = value.toString();\r\n\r\n const onlyNums = value.replace(/[^\\-\\d\\.]/g, '');\r\n\r\n if (onlyNums === \"-\") {\r\n return \"-\";\r\n }\r\n\r\n let n = Number.parseFloat(onlyNums);\r\n\r\n let separator = \",\",\r\n sign = n < 0 ? \"-\" : \"\",\r\n absoluteValue = String(parseInt(n = Math.abs(Number(n) || 0))),\r\n j = (j = absoluteValue.length) > 3 ? j % 3 : 0;\r\n\r\n let matches = onlyNums.match(/(\\.\\d*$)/);\r\n let numEnd = '';\r\n\r\n if (Array.isArray(matches) && matches.length >= 1) {\r\n numEnd = matches[0];\r\n }\r\n\r\n let numBegin = sign + (j ? absoluteValue.substr(0, j) + separator : \"\") + absoluteValue.substr(j).replace(/(\\d{3})(?=\\d)/g, \"$1\" + separator);\r\n\r\n return `${numBegin}${numEnd}`;\r\n};\r\n\r\nexport const formatNumberAllowNegatives = (value) => {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n value = value.toString();\r\n\r\n const onlyNums = value.replace(/[^\\-\\d]/g, '');\r\n\r\n if (onlyNums === \"-\") {\r\n return \"-\";\r\n }\r\n\r\n let n = Number.parseInt(onlyNums);\r\n\r\n let separator = \",\",\r\n sign = n < 0 ? \"-\" : \"\",\r\n absoluteValue = String(parseInt(n = Math.abs(Number(n) || 0))),\r\n j = (j = absoluteValue.length) > 3 ? j % 3 : 0;\r\n\r\n return sign + (j ? absoluteValue.substr(0, j) + separator : \"\") + absoluteValue.substr(j).replace(/(\\d{3})(?=\\d)/g, \"$1\" + separator);\r\n};\r\n\r\nexport const formatNumberAllowDecimal = (value) => {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n value = value.toString();\r\n\r\n const onlyNums = value.replace(/[^\\d\\.]/g, '');\r\n\r\n let n = Number.parseFloat(onlyNums);\r\n\r\n let separator = \",\",\r\n absoluteValue = String(parseInt(n = Math.abs(Number(n) || 0))),\r\n j = (j = absoluteValue.length) > 3 ? j % 3 : 0;\r\n\r\n let matches = onlyNums.match(/(\\.\\d*$)/);\r\n let numEnd = '';\r\n\r\n if (Array.isArray(matches) && matches.length >= 1) {\r\n numEnd = matches[0];\r\n }\r\n\r\n let numBegin = (j ? absoluteValue.substr(0, j) + separator : \"\") + absoluteValue.substr(j).replace(/(\\d{3})(?=\\d)/g, \"$1\" + separator);\r\n return `${numBegin}${numEnd}`;\r\n};\r\n\r\nexport const formatNumber = (value) => {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n value = value.toString();\r\n\r\n const onlyNums = value.replace(/[^\\d]/g, '');\r\n\r\n let n = Number.parseInt(onlyNums);\r\n\r\n let separator = \",\",\r\n absoluteValue = String(parseInt(n = Math.abs(Number(n) || 0))),\r\n j = (j = absoluteValue.length) > 3 ? j % 3 : 0;\r\n\r\n return (j ? absoluteValue.substr(0, j) + separator : \"\") + absoluteValue.substr(j).replace(/(\\d{3})(?=\\d)/g, \"$1\" + separator);\r\n};\r\n\r\nexport const formatDate = (value) => {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n value = value.toString();\r\n let lastSlash = value.lastIndexOf('/');\r\n\r\n if (value.length > 10 && lastSlash === -1) {\r\n try {\r\n let d = new Date(value);\r\n if (isNaN(d.getTime())) {\r\n return value;\r\n }\r\n return d.getMonth() + 1 + \"/\" + d.getDate() + \"/\" + d.getFullYear();\r\n }\r\n catch (e) {\r\n return value;\r\n }\r\n\r\n }\r\n\r\n let onlyDigitsAndSlashes = value.replace(/[^\\d\\/]/g, '');\r\n lastSlash = onlyDigitsAndSlashes.lastIndexOf('/');\r\n\r\n if (lastSlash >= 3 && onlyDigitsAndSlashes.length > (lastSlash + 4)) {\r\n onlyDigitsAndSlashes = onlyDigitsAndSlashes.substring(0, lastSlash + 5);\r\n }\r\n\r\n return onlyDigitsAndSlashes;\r\n};\r\n\r\nexport const formatNumberAllowNegativesAndLessThanZero = (value) => {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n value = value.toString();\r\n\r\n const onlyNums = value.replace(/[^\\-\\d\\.]/g, '');\r\n\r\n if (onlyNums === \"-\" || value.startsWith(\"--\")) {\r\n return \"-\";\r\n }\r\n\r\n let n = Number.parseFloat(onlyNums);\r\n\r\n let separator = \",\",\r\n sign = (onlyNums.toString().startsWith(\"-0\") || onlyNums.toString().startsWith(\"-\")) && !isNaN(n) ? \"-\" : \"\",\r\n absoluteValue = String(parseInt(n = Math.abs(Number(n) || 0))),\r\n j = (j = absoluteValue.length) > 3 ? j % 3 : 0;\r\n\r\n let matches = onlyNums.match(/(\\.\\d*$)/);\r\n let numEnd = '';\r\n\r\n if (Array.isArray(matches) && matches.length >= 1) {\r\n numEnd = matches[0];\r\n }\r\n\r\n let numBegin = sign + (j ? absoluteValue.substr(0, j) + separator : \"\") + absoluteValue.substr(j).replace(/(\\d{3})(?=\\d)/g, \"$1\" + separator);\r\n\r\n return `${numBegin}${numEnd}`;\r\n};","// NOTE: is incorrect - ref: https://github.com/erikras/redux-form/issues/2453\r\nimport * as formatters from \"./formFormatters\";\r\nimport { generateSubmissionError } from \"./formHelpers\";\r\n\r\nconst maxLength = max => value =>\r\n value && value.length > max ? `Must be ${max} characters or less` : undefined;\r\n\r\nconst minLength = min => value =>\r\n value && value.toString().trim().length < min ? `Must be ${min} characters or more` : undefined;\r\n\r\nconst minValue = min => value =>\r\n value && value < min ? `Must be at least ${min}` : undefined;\r\n\r\nconst maxValue = max => value =>\r\n value && value > max ? `Must be less than or equal to ${max}` : undefined;\r\n\r\nconst greaterThanValue = min => value =>\r\n value && value <= min ? `Value must be greater than ${min}.` : undefined;\r\n\r\nexport const greaterThanValueWhen = (min, action) => value => {\r\n if (!action()) {\r\n return undefined;\r\n }\r\n\r\n return value && value <= min ? `Value must be greater than ${min}.` : undefined;\r\n};\r\n\r\nexport const lessThanValueWhen = (max, action) => value => {\r\n if (!action()) {\r\n return undefined;\r\n }\r\n\r\n return value && value >= max ? `Value must be less than ${max}.` : undefined;\r\n};\r\n\r\nexport const required = value => (value && value.toString().trim().length > 0 ? undefined : 'Required');\r\n\r\nexport const requiredSelect = (value) => {\r\n if (typeof value === \"undefined\" || value === null) {\r\n return \"Required\";\r\n }\r\n\r\n if (\r\n typeof value === \"string\" &&\r\n [\"\", \"NotSelected\"].includes(value.trim())\r\n ) {\r\n return \"Required\";\r\n }\r\n};\r\n\r\nexport const requiredMultiSelect = (value) => {\r\n if (typeof value === \"undefined\" || value === null) {\r\n return \"Required\";\r\n }\r\n\r\n if (typeof value === \"string\" && [\"\", \"NotSelected\"].includes(value.trim())) {\r\n return \"Required\";\r\n }\r\n\r\n if (typeof value === \"object\" && value.length <= 0) {\r\n return \"Required\";\r\n }\r\n};\r\n\r\nexport const minLength2 = minLength(2);\r\n\r\nexport const minValue0 = minValue(0);\r\n\r\nexport const minValue1 = minValue(1);\r\n\r\nexport const maxLength50 = maxLength(50);\r\n\r\nexport const maxLength255 = maxLength(255);\r\n\r\nexport const maxLength900 = maxLength(900);\r\n\r\nexport const maxLength4000 = maxLength(4000);\r\n\r\nexport const maxLength12000 = maxLength(12000);\r\n\r\nexport const maxValue100 = maxValue(100);\r\n\r\nexport const greaterThan0 = value =>\r\n value && value <= 0 ? `Value must be greater than 0.` : undefined;\r\n\r\nexport const greaterThan0AndLessThan10 = value =>\r\n value && (value <= 0 || value >= 10) ? `Value must be greater than 0 and less than 10.` : undefined;\r\n\r\n//SQL INT\r\nexport const maxValueInt = value =>\r\n value && value > 2147483646 ? `Must be less than or equal to 2147483646` : undefined;\r\n\r\nexport const maxValueDecimal = value =>\r\n value > BigInt(\"9999999999999999\") ? `Must be less than or equal to 9,999,999,999,999,999` : undefined;\r\n\r\nexport const number = value =>\r\n value && isNaN(Number(value)) ? 'Must be a number' : undefined;\r\n\r\nexport const email = value => {\r\n if (value && !/^((?=[a-z0-9@.!#$%&'*+/=?^_‘{|}~-]{6,254})(?=[a-z0-9.!#$%&'*+/=?^_‘{|}~-]{1,64}@)[a-z0-9!#$%&'*+/=?^_‘{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_‘{|}~-]+)*@(?:(?=[a-z0-9-]{1,63}\\.)[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+(?=[a-z0-9-]{1,63})[a-z0-9](?:[a-z0-9-]*[a-z0-9]))$/gi.test(value)) {\r\n return 'Invalid email address';\r\n }\r\n\r\n if (value && value.replace(' ', '') === '') {\r\n return 'Invalid email address';\r\n }\r\n\r\n return undefined;\r\n};\r\n\r\nexport const alphaNumeric = value =>\r\n value && /[^a-zA-Z0-9 ]/i.test(value)\r\n ? 'Only alphanumeric characters'\r\n : undefined;\r\n\r\nexport const phoneNumber = value =>\r\n value && !/^([0-9][0-9]{9})$/i.test(value)\r\n ? 'Invalid phone number, must be 10 digits'\r\n : undefined;\r\n\r\nexport const zipCode = value => value && !/^\\d{5}(?:[-\\s]\\d{4})?$/i.test(value)\r\n ? 'Invalid zip code, must be 99999 or 99999-9999'\r\n : undefined;\r\n\r\n export const decimal = value => value && !/^\\d{0,16}(\\.\\d{0,2})?$/i.test(value)\r\n ? 'Input should be a number with up to 16 digits and 2 decimal places'\r\n : undefined;\r\nexport const isValidDate = (value) => {\r\n if (!value) return undefined;\r\n //Date could be UTC when loading form, so format it to expected date format\r\n let formattedDate = formatters.formatDate(value);\r\n\r\n let message = !/^((0?[1-9]|11|10|12)(-|\\/)(([1-9])|(0[1-9])|([12])([0-9]?)|(3[01]?))(-|\\/)(\\d{4}))$/g.test(formattedDate)\r\n ? 'Must be a valid date'\r\n : undefined;\r\n\r\n if (message !== undefined)\r\n return message;\r\n\r\n try {\r\n let idx = formattedDate.lastIndexOf('/');\r\n if (idx >= 3 && formattedDate.length > idx + 1) {\r\n let year = formattedDate.slice(idx + 1);\r\n if (year.length !== 4) {\r\n return 'Must be a valid date';\r\n }\r\n if (parseInt(year) < 1800) {\r\n return 'Must be a valid date';\r\n }\r\n } else {\r\n return 'Must be a valid date';\r\n }\r\n\r\n let dateParts = formattedDate.split(\"/\");\r\n if (dateParts.length != 3) {\r\n return 'Must be a valid date';\r\n }\r\n\r\n let month = parseInt(dateParts[0]);\r\n let day = parseInt(dateParts[1]);\r\n\r\n let d = new Date(formattedDate);\r\n\r\n if (d.getMonth() != (month - 1) || d.getDate() != day) {\r\n return 'Must be a valid date';\r\n }\r\n }\r\n catch (e) {\r\n return 'Must be a valid date';\r\n }\r\n\r\n};\r\n\r\nexport const multipleEmails = (value) => {\r\n if (!value) return undefined;\r\n\r\n let sendToEmailValidation = false;\r\n const sendToEmailsList = (Array.isArray(value) && value) || value.split(\";\");\r\n for (let emailItem of sendToEmailsList) {\r\n if (email(emailItem.trim()) === 'Invalid email address') {\r\n return 'Invalid email address';\r\n }\r\n }\r\n\r\n return undefined;\r\n};\r\n\r\nexport const ein = (value) => {\r\n if (!value) return undefined;\r\n\r\n const onlyNums = value.replace(/[^\\d]/g, '');\r\n if (onlyNums.length <= 2) {\r\n value = onlyNums;\r\n }\r\n else {\r\n value = `${onlyNums.slice(0, 2)}-${onlyNums.slice(2)}`;\r\n }\r\n\r\n return !/^\\d{2}\\-\\d{7}$/g.test(value)\r\n ? 'Must be a valid EIN'\r\n : undefined;\r\n};\r\nexport const isWholeNumber = value => value && /[^\\d]/g.test(value)\r\n? 'Input should be a whole Number'\r\n: undefined;\r\n\r\n\r\nexport const percentageOfOwnership = (value) => {\r\n value = value.trim();\r\n if (value === \"\") {\r\n return \"\";\r\n }\r\n\r\n if (isNaN(value) || (value > 99.99999999999 && value.length > 14) || (value >= 10 && value <= 99.99999999999 && value.length > 13) || (value < 10 && value.length > 12)) {\r\n return;\r\n }\r\n\r\n let indexOfDot = value.indexOf('.');\r\n if (indexOfDot === value.length - 1) {\r\n return value;\r\n }\r\n\r\n if (value > 100.000) {\r\n return \"100\";\r\n }\r\n\r\n //if (value < 1) {\r\n // return \"1\";\r\n //}\r\n\r\n return value;\r\n};\r\n\r\n// This is specific to the Auto Delivery Calendar email fields\r\n// Which should only be required if one of the quarter dates is populated.\r\n// It's used in the context of a form submission validation, not field specific\r\nexport const requiredIfQuarterDatePopulated = (id, value, allValues) => {\r\n const split_ids = id.split('_');\r\n const propertyTypeAppend = split_ids[3] ? `_${split_ids[3]}` : '';\r\n const rowId = `${split_ids[1]}_${split_ids[2]}${propertyTypeAppend}`;\r\n\r\n const allQuarterFieldsForThisRecord = Object.keys(allValues).filter(key =>\r\n key.includes('sendDateQ') && key.includes(rowId));\r\n\r\n\r\n const anyQuarterDatePopulated = allQuarterFieldsForThisRecord.some(key => allValues[key] && allValues[key].trim() !== '');\r\n const valueIsPopulated = value && value.length > 0;\r\n\r\n if (!valueIsPopulated && anyQuarterDatePopulated) {\r\n return id;\r\n }\r\n\r\n return null;\r\n}\r\n\r\nexport const noDoubleQuotes = value => {\r\n if (!value) return undefined;\r\n};\r\n\r\nexport const noWindowSpecialChars = value => {\r\n if (!value) return undefined;\r\n\r\n if (value.indexOf(\"\\\\\") != -1)\r\n return 'Backward slash not allowed';\r\n\r\n if (value.indexOf(\"\\/\") != -1)\r\n return 'Forward slash not allowed';\r\n\r\n if (value.indexOf(\"\\|\") != -1)\r\n return 'Pipe symbol not allowed';\r\n};\r\n\r\n// This is specific to the Add/Edit Question Picklist Item Text field\r\n// This is to avoid duplicate picklist item getting added to the question\r\nexport const noDuplicatePicklistItems = (value, _, props) => {\r\n if (!value) return undefined;\r\n\r\n if (props && props.currentPicklistItems && props.currentPicklistItems.some(item => item.picklistItemName == value.trim())) {\r\n return \"Given picklist item already exists.\";\r\n }\r\n}\r\n\r\n\r\nexport const maxValueBigInt = value =>\r\n value && value > 9223372036854775807n ? `Must be less than or equal to 9223372036854775807` : undefined;\r\n\r\nexport const maxIntValue = value =>\r\n value && value > 2147483647 ? `Must be less than or equal to 2147483647` : undefined;\r\n\r\nexport const zeroOrGreater = value =>\r\n value && value < 0 ? `Value must be 0 or greater.` : undefined;","import PropTypes from \"prop-types\";\r\nimport React, { useState, useEffect,useRef } from \"react\";\r\nimport { SubmissionError } from \"redux-form\";\r\nimport { Message, Icon, Dropdown, Form } from 'semantic-ui-react';\r\nimport Select from 'react-select';\r\nimport { ReactMultiEmail } from 'react-multi-email';\r\nimport 'react-multi-email/dist/style.css';\r\nimport * as errorCodes from \"../constants/errorCodes\";\r\nimport * as errorResponses from '../constants/errorResponses';\r\nimport * as stringHelpers from './stringHelpers';\r\nimport * as formParsers from \"./formParsers\";\r\nimport * as arrayHelpers from \"./arrayHelpers\";\r\nimport { useInput } from \"./customHooks\";\r\nimport { email as emailValidator } from './formValidators';\r\nimport * as formValidators from \"./formValidators\";\r\nimport { navigationIcArrowDropUp24px } from '@ey-xd/motif-react/assets/icons';\r\nimport { IconoirXmark, IconoirNavArrowDown, IconoirTrash, IconoirPlus } from '@ey-xd/motif-icon';\r\nimport * as Constants from '../constants/other';\r\nimport {\r\n MotifLabel,\r\n MotifFormField,\r\n MotifInput,\r\n MotifSelect,\r\n MotifOption,\r\n MotifInlineMessage,\r\n MotifRadioButton,\r\n MotifToast,\r\n MotifCheckbox,\r\n MotifButton,\r\n MotifButtonGroup,\r\n MotifIcon,\r\n MotifTextArea,\r\n MotifErrorMessage,\r\n MotifIconButton\r\n} from '@ey-xd/motif-react';\r\n\r\nexport const generateSubmissionError = errorResponse => {\r\n const errorData = {};\r\n if (errorResponse && errorResponse.errorCode === errorCodes.VALIDATION_FAILED) {\r\n errorData._error = \"Validation failed. Please check that all required fields are completed.\";\r\n if (Array.isArray(errorResponse.validationErrors)) {\r\n for (let index = 0; index < errorResponse.validationErrors.length; index++) {\r\n const item = errorResponse.validationErrors[index];\r\n errorData[stringHelpers.camelize(item.element)] = item.message;\r\n }\r\n }\r\n } else if (errorResponse && errorResponse.errorCode && errorResponse.message) {\r\n errorData._error = errorResponse.message;\r\n } else {\r\n errorData._error = errorResponses.defaultErrorResponse.message;\r\n }\r\n\r\n throw new SubmissionError(errorData);\r\n};\r\n\r\nexport const showSubmissionError = (error, handleDismiss) => {\r\n if (error) {\r\n return ({error});\r\n } else {\r\n return ();\r\n }\r\n};\r\n\r\nshowSubmissionError.propTypes = {\r\n error: PropTypes.string,\r\n handleDismiss: PropTypes.func\r\n};\r\n\r\nexport const renderReactMultiEmail = ({\r\n input,\r\n label,\r\n options,\r\n name,\r\n meta: { touched, error, warning },\r\n myStyle,\r\n wrapperClass,\r\n handleChange,\r\n float,\r\n domRef,\r\n emails,\r\n readonly,\r\n removeEYEmail=false,\r\n handleOnInputChange\r\n}) => {\r\n if(removeEYEmail)\r\n {\r\n let splicedArray = [];\r\n for (let i = 0; i < emails.length; i++) {\r\n if(emails[i]!==null)\r\n {\r\n const splitArray = emails[i].trim().split(\"@\");\r\n if (\r\n splitArray.length > 1 &&\r\n splitArray[1] &&\r\n splitArray[1] != Constants.RejectedEyDomain &&\r\n !splitArray[1].includes(Constants.RejectedOtherEYDomain)\r\n ) {\r\n splicedArray.push(emails[i]);\r\n } \r\n } \r\n }\r\n emails = splicedArray; \r\n }\r\n \r\n const { value } = input;\r\n float = float || \"none\";\r\n const getLabelHandler = (email, index, removeEmail) => {\r\n return (\r\n
    \r\n {email}\r\n {removeEmail(index);e.preventDefault()}}>\r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const defaultChangeHandler = (e) => {\r\n input.onChange(e);\r\n };\r\n\r\n const onChangeInputEmail = (e) => {\r\n if(handleOnInputChange !== undefined){\r\n handleOnInputChange(e)\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n {(label && ) || null}\r\n {!readonly && (\r\n onChangeInputEmail(e)}\r\n />\r\n )}\r\n {readonly && (emails || input.value).join(\"; \")}\r\n {touched &&\r\n ((error && (\r\n {error}\r\n )) ||\r\n (warning && (\r\n {warning}\r\n )))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst motifMultiEmailData = {\r\n unexpandLast: undefined,\r\n expandId: undefined\r\n};\r\n\r\nexport const renderMotifMultiEmail = ({\r\n input,\r\n label,\r\n options,\r\n name,\r\n meta: { touched, error, warning },\r\n myStyle,\r\n wrapperClass,\r\n handleChange,\r\n float = \"none\",\r\n domRef,\r\n emails,\r\n readonly,\r\n buttonStyle = {\r\n //minWidth: '250px',\r\n textAlign: 'left',\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n width: '100%',\r\n border: 'unset'\r\n },\r\n onExpand = () => { },\r\n onCollapse = () => { }\r\n}) => {\r\n const { value, onChange } = input;\r\n const emailArray = emails || value || [];\r\n\r\n const removeEmail = function (mail) {\r\n const newEmailSet = emailArray.filter((m) => m !== mail);\r\n onExpand(newEmailSet.length);\r\n onChange(newEmailSet);\r\n };\r\n\r\n const [expanded, setExpanded] = useState(false);\r\n const [hoveredIndex, setHoveredIndex] = useState();\r\n const [expandId] = useState(Math.random().toString());\r\n\r\n useEffect(() => {\r\n if (expanded) {\r\n if (\r\n typeof motifMultiEmailData.unexpandLast === \"function\" &&\r\n motifMultiEmailData.expandId !== expandId\r\n ) {\r\n motifMultiEmailData.unexpandLast();\r\n }\r\n\r\n motifMultiEmailData.unexpandLast = () => setExpanded(false);\r\n motifMultiEmailData.expandId = expandId;\r\n\r\n setTimeout(() => {\r\n onExpand(emailArray.length);\r\n });\r\n } else {\r\n onCollapse();\r\n }\r\n }, [expanded]);\r\n\r\n const shortenEmailText = (text, maxLength = 30) => {\r\n const [beforeAtSymbol, ...rest] = text.split(\"@\");\r\n\r\n const excessLength = text.length - maxLength;\r\n\r\n if (excessLength <= 0 || beforeAtSymbol.length <= 5) {\r\n return text;\r\n } else {\r\n const newLength = Math.max(beforeAtSymbol.length - excessLength, 5);\r\n\r\n return [\r\n beforeAtSymbol.substring(0, newLength) + \"...\",\r\n ...rest,\r\n ].join(\"@\");\r\n }\r\n };\r\n\r\n const inputProps = useInput('');\r\n\r\n const buttonText =\r\n emailArray.length === 0 ?\r\n `Add Email` :\r\n emailArray.length === 1 ?\r\n emailArray[0] :\r\n `${emailArray[0]} (+${emailArray.length - 1})`;\r\n\r\n const unexpandedButton = (\r\n setExpanded(true)}\r\n type=\"button\"\r\n title={buttonText}>\r\n {shortenEmailText(buttonText)}\r\n \r\n \r\n );\r\n\r\n const addEmail = function (event, isKeyUpEvent = true) {\r\n if (isKeyUpEvent && event.keyCode === 27) {\r\n setExpanded(false);\r\n return;\r\n }\r\n\r\n if (isKeyUpEvent && event.keyCode !== 13) {\r\n return;\r\n }\r\n\r\n if (\r\n !inputProps.value ||\r\n typeof emailValidator(inputProps.value) !== \"undefined\"\r\n ) {\r\n return;\r\n }\r\n\r\n const newMailSet = new Set([inputProps.value, ...emailArray]);\r\n inputProps.setValue(\"\");\r\n const newEmailSet = [...newMailSet];\r\n onExpand(newEmailSet.length);\r\n onChange(newEmailSet);\r\n\r\n };\r\n\r\n const buttons = emailArray.map((email, index, arr) => {\r\n const borderStyle = \"black 1px solid\";\r\n\r\n const borders = {\r\n borderLeft: borderStyle,\r\n borderRight: borderStyle,\r\n };\r\n\r\n if (index === 0) {\r\n borders.borderTop = borderStyle;\r\n }\r\n\r\n if (arr.length - 1 === index) {\r\n borders.borderBottom = borderStyle;\r\n }\r\n\r\n // const isHovered = hoveredIndex === index;\r\n\r\n const style = {\r\n ...buttonStyle,\r\n ...borders\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n removeEmail(email)}\r\n // onMouseEnter={() => setHoveredIndex(index)}\r\n // onMouseLeave={() => setHoveredIndex()}\r\n variant=\"secondary\"\r\n type=\"button\"\r\n title={email}>\r\n {shortenEmailText(email, 25)}\r\n \r\n \r\n
    \r\n
    \r\n );\r\n });\r\n\r\n // const addIsDisabled =\r\n // !inputProps.value ||\r\n // typeof emailValidator(inputProps.value) !== \"undefined\";\r\n\r\n const addInput = (\r\n
    \r\n \r\n Add new Email\r\n addEmail(event, false)}\r\n autofocus\r\n />\r\n \r\n {/* */}\r\n {/* addEmail(event, false)}\r\n variant=\"primary-alt\"\r\n style={{ minWidth: '1px' }}\r\n type=\"button\"\r\n title=\"Add typed e-mail\"\r\n disabled={addIsDisabled}>\r\n \r\n */}\r\n setExpanded(false)}>\r\n \r\n \r\n {/* */}\r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n {(label && ) || null}\r\n {expanded ? [addInput, ...buttons] : unexpandedButton}\r\n {touched &&\r\n ((error && (\r\n {error}\r\n )) ||\r\n (warning && (\r\n {warning}\r\n )))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nrenderReactMultiEmail.propTypes = {\r\n input: PropTypes.object,\r\n label: PropTypes.string,\r\n options: PropTypes.array,\r\n name: PropTypes.string,\r\n meta: PropTypes.object,\r\n myStyle: PropTypes.object,\r\n handleChange: PropTypes.func,\r\n float: PropTypes.string,\r\n domRef: PropTypes.func\r\n};\r\n\r\nconst MOTIF_GREY = '#E1E1E6';\r\nconst MOTIF_LIGHT = '#F6F6FA'\r\n\r\n\r\nexport const renderReactSelect = ({ input, label, options, name, meta: { touched, error, warning }, float, disabled, wrapperStyle, clearable }) => {\r\n float = float || \"none\";\r\n disabled = !!disabled;\r\n clearable = clearable === undefined ? true : clearable;\r\n wrapperStyle = wrapperStyle || null;\r\n\r\n const reactSelectOnChange = (e) => {\r\n if (e) {\r\n return input.onChange(e);\r\n } else {\r\n return input.onChange('');\r\n }\r\n };\r\n\r\n const reactSelectOnBlur = () => {\r\n return input.onBlur(input.value);\r\n };\r\n\r\n const [isFocused, setIsFocused] = useState(false);\r\n const [hasValue, setHasValue] = useState(false);\r\n\r\n const selectStyles = {\r\n option: (provided, state) => {\r\n return {\r\n ...provided,\r\n backgroundColor:\r\n state.isFocused || state.isSelected ? MOTIF_GREY\r\n : 'white',\r\n color: 'black'\r\n };\r\n },\r\n control: (provided, state) => {\r\n setIsFocused(state.isFocused);\r\n setHasValue(state.hasValue);\r\n return {\r\n ...provided,\r\n backgroundColor: MOTIF_LIGHT,\r\n border: state.isFocused ? '1px solid #ffe600' : 'none',\r\n borderBottom: touched && (error || warning)\r\n ? '1px solid red'\r\n : '1px solid black',\r\n borderRadius: 0,\r\n gridColumn: 1,\r\n gridRow: 1\r\n };\r\n },\r\n singleValue: (provided, state) => ({ ...provided, color: disabled ? '#6e6e79' : '#2e2e38' })\r\n }\r\n\r\n const grid1_1 = {\r\n gridColumn: 1,\r\n gridRow: 1\r\n };\r\n\r\n const labelIsUp = isFocused || hasValue;\r\n\r\n const labelStyle = {\r\n ...grid1_1,\r\n padding: 0,\r\n margin: 0,\r\n marginLeft: labelIsUp ? '0.8rem' : '1rem',\r\n transform: labelIsUp ? 'none' : 'translateY(1rem)',\r\n fontSize: labelIsUp ? '90%' : '100%'\r\n };\r\n\r\n const placeholder = labelIsUp ? input.placeholder : '';\r\n\r\n return (\r\n
    \r\n
    \r\n {label && }\r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n touched &&\r\n ((error && {error}) ||\r\n (warning && {warning}))\r\n }\r\n
    \r\n );\r\n};\r\n\r\nrenderReactSelect.propTypes = {\r\n input: PropTypes.object,\r\n options: PropTypes.array,\r\n name: PropTypes.string,\r\n meta: PropTypes.object,\r\n float: PropTypes.string,\r\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\r\n clearable: PropTypes.bool,\r\n wrapperStyle: PropTypes.object\r\n};\r\n\r\nexport const renderReactDropdown = ({\r\n input, options, name, defaultValue, className,\r\n meta: { touched, error, warning }, float, disabled,\r\n label, placeholder, multiple, fluid, selection, search,\r\n wrapperStyle, fullWidth\r\n}) => {\r\n float = float || \"none\";\r\n disabled = !!disabled;\r\n wrapperStyle = wrapperStyle || null;\r\n const reactSelectOnChange = (e, data) => {\r\n if ((multiple && data.value.length > 0) || (!multiple && data.value)) {\r\n return input.onChange(data.value);\r\n } else {\r\n return input.onChange(multiple ? [] : '');\r\n }\r\n };\r\n const reactSelectOnBlur = () => {\r\n return input.onBlur(input.value);\r\n };\r\n\r\n return (
    \r\n
    \r\n \r\n {\r\n touched &&\r\n ((error && {error}) ||\r\n (warning && {warning}))\r\n }\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nrenderReactDropdown.propTypes = {\r\n input: PropTypes.object,\r\n options: PropTypes.array,\r\n name: PropTypes.string,\r\n meta: PropTypes.object,\r\n float: PropTypes.string,\r\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\r\n wrapperStyle: PropTypes.object\r\n};\r\n\r\nexport const renderField = ({\r\n input,\r\n label,\r\n type,\r\n placeholder,\r\n meta: { touched, error, warning },\r\n maxLength,\r\n children,\r\n float,\r\n fullWidth,\r\n disabled,\r\n isPercentOwnership,\r\n isSubAttribute,\r\n inputClassName,\r\n labelLocationOnRight,\r\n selectStyle,\r\n id,\r\n dataTestId,\r\n isRequiredField,\r\n validation,\r\n customFieldName,\r\n formatField,\r\n formParser,\r\n defaultValue,\r\n formattedMaxLength,\r\n isUpdatedDefaultValue,\r\n}) => {\r\n float = float || \"none\";\r\n disabled = !!disabled;\r\n\r\nif(isRequiredField)\r\n{\r\n label+=\" (Required)\"\r\n}\r\n\r\n const reactSelectOnChange = (e) => {\r\n if (e) {\r\n input.onChange(e);\r\n } else {\r\n input.onChange('');\r\n }\r\n };\r\n\r\n const customFields =\r\n [\"EIN\", \"MONEY\", \"PHONE\", \"NUMBER\"];\r\n const [value, setValue] = useState(input.value || defaultValue);\r\n const [errorMessage, setErrorMessage] = useState('');\r\n const [currentMaxLength, setCurrentMaxLength] = useState(maxLength);\r\n const initialInputValue = useRef(null);\r\n\r\n const validateCustomField = (val) => {\r\n // Perform validation for custom fields\r\n if (validation) {\r\n for (let i = 0; i < validation.length; i++) {\r\n const validate = validation[i];\r\n const validator = formValidators[validate.name]; // Access the validator function dynamically\r\n if (validator) {\r\n let errorMsg = validator(val); // Call the validator function\r\n if (errorMsg) {\r\n setErrorMessage(errorMsg); // Set the error message\r\n break;\r\n } else if (errorMsg === undefined) {\r\n setErrorMessage(undefined);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n const handleInputChange = (event) => {\r\n let val = event.target.value;\r\n\r\n if (isPercentOwnership && (val)) {\r\n val = formParsers.percentageOfOwnership(String(val));\r\n setValue(val);\r\n }\r\n\r\n if (isSubAttribute && (val)) {\r\n val = formParsers.positiveWholeNumberParser(val);\r\n setValue(val);\r\n }\r\n \r\n\r\n // Perform this operation only for custom fields\r\n if(customFieldName !== \"\") {\r\n // Check if the value is from autofill\r\n let isFromAutoFill = input.value?.length === 0 && val.length > maxLength ? true : false;\r\n\r\n if(customFields.includes(customFieldName) && event.target.value.length > maxLength && !(isFromAutoFill)){\r\n return;\r\n }\r\n\r\n // Perform parsing for custom fields\r\n if(formParser) val = formParser(val);\r\n\r\n // Perform validation for custom fields\r\n if (validation) {\r\n validateCustomField(val);\r\n }\r\n\r\n // Perform dynamic formatting that is not a custom field (EIN, MONEY, PHONE, NUMBER)\r\n // We will not format custom field here, formatting for custom field will happen during onBlur event\r\n if(formatField && (!customFields.includes(customFieldName))){\r\n val = formatField(val);\r\n } \r\n\r\n setValue(val);\r\n\r\n // Set the maxLength to original value if the value is from autofill and custom fields\r\n if(customFields.includes(customFieldName) && isFromAutoFill){\r\n setCurrentMaxLength(maxLength);\r\n }\r\n }\r\n input.onChange(event);\r\n };\r\n\r\n const handleOnBlur = (event) => {\r\n let val = event.target.value;\r\n if(customFields.includes(customFieldName) && formatField){\r\n if(formParser) val = formParser(val);\r\n \r\n // Perform validation for custom fields\r\n validateCustomField(val);\r\n\r\n // Perform dynamic formatting for custom fields\r\n if(formatField) val = formatField(val);\r\n }\r\n setValue(val);\r\n input.onBlur(event);\r\n }\r\n\r\n const handleOnFocus = (event) => {\r\n if(event.target?.setSelectionRange !== undefined) { \r\n // Prevent the default behavior of selecting all text\r\n event.target.setSelectionRange(event.target.value.length, event.target.value.length);\r\n }\r\n\r\n // get the VALUE state from input field or input.value if the value is undefined or not yet set\r\n let val = value || input.value;\r\n if(customFields.includes(customFieldName) && formParser){\r\n // Override maxLength when a suggested/autofill value is selected\r\n setCurrentMaxLength(formattedMaxLength);\r\n val = formParser(val)\r\n\r\n \r\n setValue(val);\r\n\r\n if(defaultValue !== undefined && defaultValue !== null)\r\n {\r\n defaultValue = formParser ? formParser(defaultValue) : defaultValue;\r\n setValue(defaultValue);\r\n } \r\n }\r\n\r\n input.onFocus(event);\r\n }\r\n\r\n useEffect(() => {\r\n setValue(input.value || defaultValue);\r\n\r\n // Reset initialInputValue ref since the defaultValue is not attached in form it will not be updated\r\n if((defaultValue !== 0 && defaultValue !== undefined && defaultValue !== null) && isUpdatedDefaultValue)\r\n {\r\n initialInputValue.current = null;\r\n }\r\n\r\n // Format custom field value in initial load\r\n if ((initialInputValue.current === null && defaultValue === undefined) && customFields.includes(customFieldName) && input.value !== \"\" ) {\r\n initialInputValue.current = input.value;\r\n if(formatField){\r\n let val = formatField(input.value);\r\n setValue(val);\r\n }\r\n }\r\n else if (initialInputValue.current === null && initialInputValue.current !== \"\" && customFields.includes(customFieldName) && (input.value !== \"\" || \r\n (defaultValue !== 0 && defaultValue !== undefined && defaultValue !== null))) {\r\n initialInputValue.current = defaultValue;\r\n defaultValue = formatField ? formatField(defaultValue) : defaultValue;\r\n setValue(defaultValue);\r\n }\r\n }, [input.value, defaultValue]);\r\n\r\n if (type && type.toLowerCase() === \"select\") {\r\n return (\r\n
    \r\n
    \r\n {(label && ()) || null}\r\n \r\n {touched &&\r\n ((error && {error}) ||\r\n (warning && {warning}))}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n\r\n if (isPercentOwnership && (input.value || value)) {\r\n input.value = formParsers.percentageOfOwnership(String(input.value || value));\r\n }\r\n\r\n if (isSubAttribute && (input.value || value)) {\r\n input.value = formParsers.positiveWholeNumberParser(input.value || value);\r\n }\r\n\r\n const labelElement = (label && type != 'radio' && ({label})) || null;\r\n\r\n const motifCompatibleTypes =\r\n [\"date\", \"email\", \"number\", \"text\", \"password\", \"tel\"];\r\n\r\n let inputElement = undefined;\r\n\r\n if (motifCompatibleTypes.includes(type)) {\r\n if((customFields.includes(customFieldName) || customFieldName === \"DATE\") && errorMessage !== \"\" && errorMessage !== undefined){\r\n error = errorMessage\r\n }\r\n inputElement =\r\n ;\r\n } else if (type == \"radio\") {\r\n inputElement =\r\n {label};\r\n } else if (type == \"checkbox\") {\r\n const { value, onChange, checked } = input;\r\n\r\n inputElement =\r\n onChange(!checked)}>\r\n onChange(!checked)}\r\n />\r\n ;\r\n } else if(type == \"textarea\") {\r\n inputElement = \r\n \r\n }else {\r\n inputElement =\r\n ;\r\n }\r\n\r\n const elements = [];\r\n if (labelLocationOnRight) {\r\n elements.push(inputElement);\r\n elements.push(labelElement);\r\n } else {\r\n elements.push(labelElement);\r\n elements.push(inputElement);\r\n }\r\n\r\n const errorElements = [];\r\n\r\n if (touched && !!error) {\r\n errorElements.push({error});\r\n }\r\n\r\n if (touched && !!warning) {\r\n errorElements.push({warning});\r\n }\r\n\r\n return (\r\n
    \r\n \r\n {elements.map((x, index) => {x})}\r\n {errorElements.map((x, index) => {x})}\r\n \r\n
    \r\n );\r\n};\r\n\r\nrenderField.propTypes = {\r\n input: PropTypes.object,\r\n label: PropTypes.string,\r\n type: PropTypes.string,\r\n placeholder: PropTypes.string,\r\n meta: PropTypes.object,\r\n maxLength: PropTypes.number,\r\n children: PropTypes.array,\r\n float: PropTypes.string,\r\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\r\n isRequiredField: PropTypes.bool,\r\n};\r\n\r\nexport class SingleSelectComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { shouldRender: true };\r\n \r\n }\r\n componentDidUpdate(prevProps) {\r\n const { input: { value } } = prevProps;\r\n // Compare previous options and current options\r\n if ( !arrayHelpers.arraysEqualComplex(this.props.options, prevProps.options)) {\r\n // Render dropdown again if setting another value or change in options\r\n this.setState(\r\n { shouldRender: false },\r\n () => this.setState({ shouldRender: true }))\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n input: {\r\n value,\r\n onChange,\r\n name\r\n },\r\n defaultValue,\r\n placeholder,\r\n label,\r\n showSelectAllButton,\r\n icons,\r\n noLabel,\r\n options = [],\r\n optionValue = o => o.value,\r\n optionText = o => o.text,\r\n optionKey = (o, _) => o.key || optionValue(o),\r\n meta: { touched, error, warning },\r\n disabled,\r\n renderUntilValueSet = false,\r\n renderUntilOptionsSet = false,\r\n style = {},\r\n filter = false,\r\n testingData,\r\n className,\r\n } = this.props;\r\n const parsers = {\r\n 'string': v => v,\r\n 'number': v => parseFloat(v),\r\n 'boolean': v => v === 'true'\r\n }\r\n \r\n const parser = parsers[typeof value] || (v => v);\r\n const _onChange = v => onChange(parser(v));\r\n const errorElements = [];\r\n\r\n if (touched && !!error) {\r\n errorElements.push(\r\n {error});\r\n }\r\n\r\n if (touched && !!warning) {\r\n errorElements.push(\r\n {warning});\r\n }\r\n\r\n const hasValue = v =>\r\n typeof v !== 'undefined' &&\r\n v !== null &&\r\n (!!value || typeof value === 'number');\r\n\r\n const hasOptions = opts => Array.isArray(opts) && opts.length > 0;\r\n\r\n const shouldRender =\r\n this.state.shouldRender &&\r\n (!renderUntilValueSet || hasValue(value)) &&\r\n (!renderUntilOptionsSet || hasOptions(options));\r\n\r\n const testingDataLabel = testingData ? testingData.label : '';\r\n const testingDataDiv = testingData ? testingData.div : '';\r\n\r\n const classStyle = className ? className : '';\r\n\r\n return shouldRender ? (\r\n \r\n {!noLabel &&(\r\n \r\n {label}\r\n \r\n )}\r\n \r\n \r\n {options.map((opt, idx) =>\r\n \r\n {String(optionText(opt, idx)).replace(/\\s+/g, \"\\u2800\")}\r\n )}\r\n \r\n {errorElements}\r\n ) :\r\n ;\r\n }\r\n}\r\n\r\nexport class MultipleSelect extends React.Component {\r\n render() {\r\n const {\r\n input: {\r\n value,\r\n onChange,\r\n name\r\n },\r\n placeholder,\r\n label,\r\n showSelectAllButton,\r\n options = [],\r\n optionValue = o => String(o),\r\n optionText = o => String(o),\r\n optionKey = (o, idx) => `__opt_${String(o)}_${idx}`,\r\n testingData,\r\n meta: { touched, error, warning }\r\n } = this.props;\r\n\r\n const errorElements = [];\r\n\r\n if (touched && !!error) {\r\n errorElements.push(\r\n {error});\r\n }\r\n\r\n if (touched && !!warning) {\r\n errorElements.push(\r\n {warning});\r\n }\r\n\r\n const testingDataLabel = testingData ? testingData.label : '';\r\n const testingDataDiv = testingData ? testingData.div : '';\r\n\r\n return (\r\n \r\n {label}\r\n \r\n {options.map((opt, idx) =>\r\n \r\n {String(optionText(opt, idx)).replace(/\\s+/g, \"\\u2800\")}\r\n )}\r\n \r\n {errorElements}\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Field } from \"redux-form\";\r\nimport * as formatters from \"../../scripts/formFormatters\";\r\nimport * as parsers from \"../../scripts/formParsers\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\n\r\nexport const EinField = ({ ...props }) => {\r\n let properties = { ...props };\r\n\r\n if (!properties.parse) {\r\n properties.parse = parsers.phoneParser;\r\n }\r\n\r\n if (!properties.component) {\r\n properties.component = formHelpers.renderField;\r\n }\r\n\r\n if (!properties.placeholder) {\r\n properties.placeholder = \"##-#######\";\r\n }\r\n\r\n if (!properties.type) {\r\n properties.type = \"text\";\r\n }\r\n\r\n if (!properties.maxLength) {\r\n properties.maxLength = 9;\r\n }\r\n\r\n if(!properties.validation){\r\n properties.validation= properties.validate;\r\n }\r\n\r\n if(!properties.customFieldName){\r\n properties.customFieldName = \"EIN\";\r\n }\r\n \r\n if (!properties.formatField) {\r\n properties.formatField = formatters.formatEin;\r\n }\r\n\r\n if (!properties.formParser) {\r\n properties.formParser = properties.parse;\r\n }\r\n\r\n if (!properties.formattedMaxLength) {\r\n properties.formattedMaxLength = 10;\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport const DateField = ({ ...props }) => {\r\n let properties = { ...props };\r\n\r\n if (!properties.format) {\r\n properties.format = formatters.formatDate;\r\n }\r\n\r\n if (!properties.component) {\r\n properties.component = formHelpers.renderField;\r\n }\r\n\r\n if (!properties.placeholder) {\r\n properties.placeholder = \"MM/DD/YYYY\";\r\n }\r\n\r\n if (!properties.type) {\r\n properties.type = \"text\";\r\n }\r\n\r\n if (!properties.maxLength) {\r\n properties.maxLength = 10;\r\n }\r\n\r\n if(!properties.validation){\r\n properties.validation= properties.validate;\r\n }\r\n\r\n if(!properties.customFieldName){\r\n properties.customFieldName = \"DATE\";\r\n }\r\n\r\n if (!properties.formatField) {\r\n properties.formatField = properties.format;\r\n }\r\n \r\n return ( \r\n \r\n );\r\n};\r\n\r\nexport const MoneyField = ({ ...props }) => {\r\n let properties = { ...props };\r\n\r\n if (!properties.parse) {\r\n properties.parse = parsers.numberParser;\r\n }\r\n\r\n if (!properties.component) {\r\n properties.component = formHelpers.renderField;\r\n }\r\n\r\n if (!properties.placeholder) {\r\n properties.placeholder = \"$0.00\";\r\n }\r\n\r\n if (!properties.type) {\r\n properties.type = \"text\";\r\n }\r\n\r\n if (!properties.maxLength) {\r\n properties.maxLength = 15;\r\n }\r\n\r\n if(!properties.validation){\r\n properties.validation= properties.validate;\r\n }\r\n\r\n if(!properties.customFieldName){\r\n properties.customFieldName = \"MONEY\";\r\n }\r\n\r\n if (!properties.formatField) {\r\n properties.formatField = formatters.formatCurrency;\r\n }\r\n\r\n if (!properties.formParser) {\r\n properties.formParser = properties.parse;\r\n }\r\n\r\n if (!properties.formattedMaxLength) {\r\n properties.formattedMaxLength = 20;\r\n }\r\n \r\n return (\r\n \r\n );\r\n};\r\n\r\nexport const PhoneField = ({ ...props }) => {\r\n let properties = { ...props };\r\n\r\n if (!properties.parse) {\r\n properties.parse = parsers.phoneParser;\r\n }\r\n\r\n if (!properties.component) {\r\n properties.component = formHelpers.renderField;\r\n }\r\n\r\n if (!properties.placeholder) {\r\n properties.placeholder = \"(###) ###-####\";\r\n }\r\n\r\n if (!properties.type) {\r\n properties.type = \"tel\";\r\n }\r\n\r\n if (!properties.maxLength) {\r\n properties.maxLength = 10;\r\n }\r\n\r\n if(!properties.validation){\r\n properties.validation= properties.validate;\r\n }\r\n\r\n if(!properties.customFieldName){\r\n properties.customFieldName = \"PHONE\";\r\n }\r\n\r\n if (!properties.formatField) {\r\n properties.formatField = formatters.formatPhone;\r\n }\r\n\r\n if (!properties.formParser) {\r\n properties.formParser = properties.parse;\r\n }\r\n\r\n if (!properties.formattedMaxLength) {\r\n properties.formattedMaxLength = 14;\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport const NumberField = ({ ...props }) => {\r\n let properties = { ...props };\r\n let format = properties.format;\r\n if (!properties.format) {\r\n \r\n if (properties.allowDecimal && properties.allowNegativeValues && properties.allowLessThanZero) {\r\n format = formatters.formatNumberAllowNegativesAndLessThanZero;\r\n }\r\n else if (properties.allowDecimal && properties.allowNegativeValues) {\r\n format = formatters.formatNumberAllowNegativesAndDecimal;\r\n } else if (properties.allowDecimal) {\r\n format = formatters.formatNumberAllowDecimal;\r\n } else if (properties.allowNegativeValues) {\r\n format = formatters.formatNumberAllowNegatives;\r\n } else {\r\n format = formatters.formatNumber;\r\n }\r\n }\r\n\r\n delete properties.allowDecimal;\r\n delete properties.allowNegativeValues;\r\n\r\n if (!properties.parse) {\r\n properties.parse = parsers.numberParser;\r\n }\r\n\r\n if (!properties.component) {\r\n properties.component = formHelpers.renderField;\r\n }\r\n \r\n if (!properties.type) {\r\n properties.type = \"text\";\r\n }\r\n\r\n if (!properties.maxLength) {\r\n properties.maxLength = 16;\r\n }\r\n\r\n if(!properties.validation){\r\n properties.validation= properties.validate;\r\n }\r\n\r\n if(!properties.customFieldName){\r\n properties.customFieldName = \"NUMBER\";\r\n }\r\n\r\n if (!properties.formatField) {\r\n properties.formatField = format;\r\n }\r\n\r\n if (!properties.formParser) {\r\n properties.formParser = properties.parse;\r\n }\r\n\r\n // this is added to get the field value that is not in the form state\r\n if(properties.value !== undefined){\r\n properties.defaultValue = properties.value;\r\n }\r\n\r\n if (!properties.formattedMaxLength) {\r\n properties.formattedMaxLength = 20;\r\n }\r\n\r\n if(properties.isUpdatedDefault !== undefined){\r\n properties.isUpdatedDefaultValue = properties.isUpdatedDefault;\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport const FileField = ({ ...props }) => {\r\n let properties = { ...props };\r\n\r\n if (!properties.type) {\r\n properties.type = \"file\";\r\n }\r\n\r\n let extensions = process.env.WHITELISTED_EXTENSIONS;\r\n if (!properties.accept && Array.isArray(extensions)) {\r\n properties.accept = extensions.join();\r\n }\r\n\r\n if (properties.allowMultiple) {\r\n delete properties.allowMultiple;\r\n\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n );\r\n};","import React from 'react';\r\n\r\nconst HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n);\r\n\r\nexport default HeaderWrapper;","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { MotifTooltip,MotifButton, MotifFormField, MotifCheckbox, MotifToggleSwitch, MotifLabel, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter, MotifErrorMessage, MotifIcon } from \"@ey-xd/motif-react\";\r\nimport HeaderWrapper from \"../../common/HeaderWrapper\";\r\n\r\nconst AddClientAuthModal = ({\r\n showAddClientAuthModal,\r\n handleSubmit,\r\n toggleShowAddClientAuthModal,\r\n initialValues,\r\n addAuthMessageText,\r\n validateDomainWithRole,\r\n clientAuthFormValues,\r\n handleAddClientAuthModalValidateAction,\r\n validatingUser,\r\n myEyError,\r\n valid,\r\n invalid,\r\n values,\r\n receiveDailyNewsletter,\r\n handleDailyNewsletter,\r\n receiveWeeklyNewsletter,\r\n handleWeeklyNewsletter,\r\n receiveRealTimeNotification,\r\n handleRealTimeNotification,\r\n receiveRealTimeNotificationForNewPsqArqcSent,\r\n handleInternalReviewNotification,\r\n handleOnRoleTypeChange,\r\n isDataSteward,\r\n handleDataSteward,\r\n dataStewardCheckboxDisplay, \r\n}) => {\r\n let role = \"\";\r\n \r\n //const [receiveRealTimeNotification, setreceiveRealTimeNotification] = useState(true);\r\n if (clientAuthFormValues && clientAuthFormValues.role) {\r\n role = clientAuthFormValues.role;\r\n\r\n }\r\n\r\n const companyOptions = initialValues.companies && initialValues.companies.length > 1 && initialValues.companies.map((c) => {\r\n return {\r\n key: c.id,\r\n value: c.id,\r\n text: c.name,\r\n };\r\n });\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n Add User Authorization\r\n \r\n \r\n \r\n \r\n\r\n \r\n {(addAuthMessageText && (\r\n {addAuthMessageText}\r\n )) ||\r\n null}\r\n\r\n {(role == \"1\") && (\r\n
    \r\n
    \r\n \r\n \r\n {\r\n !dataStewardCheckboxDisplay && Data Steward\r\n }\r\n {\r\n dataStewardCheckboxDisplay &&\r\n Data Steward}\r\n >\r\n Maximum limit for Data Stewards reached. Please unassign a current Data Steward or contact your System Administrator to increase the limit.\r\n \r\n }\r\n \r\n \r\n
    \r\n
    \r\n )}\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n Receive Checklist Newsletter\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Daily\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n Weekly\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Receive Real Time Notification(s):\r\n
    \r\n
    \r\n
    \r\n
    1. Reopen Submitted or Closed Checklist(s) {receiveRealTimeNotification ? 'on' : 'off'}:\r\n
    \r\n
    \r\n \r\n Off}\r\n onLabel={On} \r\n aria-labelledby=\"labelForReopenChecklists\"/>\r\n \r\n
    \r\n\r\n\r\n
    \r\n {(role == \"4\") && (\r\n
    \r\n
    2. New PSQ/ARQC Sent/Internal Review Notification {receiveRealTimeNotificationForNewPsqArqcSent ? 'on' : 'off'}:\r\n\r\n
    \r\n
    \r\n \r\n Off}\r\n onLabel={On}\r\n aria-labelledby=\"labelForNewPSQARQCSentInternalReview\"\r\n />\r\n\r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n {initialValues.userId && (\r\n
    \r\n
    \r\n {(initialValues.status && \"My EY user account found.\") ||\r\n \"My EY user account not found.\"}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n {initialValues.companies && initialValues.companies.length > 1 && (\r\n \r\n )}\r\n {(!initialValues.companies ||\r\n initialValues.companies.length <= 1) && (\r\n \r\n )}\r\n\r\n
    \r\n {(initialValues.status && (\r\n \r\n

    \r\n After submission, the user will be able to access REITSuite\r\n immediately.\r\n

    \r\n

    Please inform the user and onboard accordingly.

    \r\n
    \r\n )) || (\r\n \r\n

    \r\n An email will be sent to the external user to complete\r\n registration with My EY in order to access REITSuite.\r\n

    \r\n

    Please inform the user and onboard accordingly.

    \r\n
    \r\n )}\r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n {/* show Validate button if role is External Checklist User, and we haven't validated yet */}\r\n {role === \"4\" && !initialValues.userId && (\r\n handleAddClientAuthModalValidateAction(valid)}\r\n disabled={validatingUser}\r\n style={{ maxHeight: '3rem' }}\r\n >\r\n Validate\r\n \r\n )}\r\n {(role !== \"4\" || initialValues.userId) && (\r\n handleSubmit(values)}\r\n style={{ maxHeight: '3rem' }}\r\n >\r\n Submit\r\n \r\n )}\r\n {validatingUser && (\r\n
    Validating User. Please wait...
    \r\n )}\r\n {myEyError && {myEyError}}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nAddClientAuthModal.propTypes = {\r\n showAddClientAuthModal: PropTypes.bool,\r\n handleAddClientAuthModalAction: PropTypes.func,\r\n handleSubmit: PropTypes.func,\r\n toggleShowAddClientAuthModal: PropTypes.func,\r\n initialValues: PropTypes.object,\r\n addAuthMessageText: PropTypes.string,\r\n maxLimitMessageText: PropTypes.string,\r\n clientAuthFormValues: PropTypes.object,\r\n handleAddClientAuthModalValidateAction: PropTypes.func,\r\n validatingUser: PropTypes.bool,\r\n myEyError: PropTypes.string,\r\n valid: PropTypes.bool,\r\n invalid: PropTypes.bool,\r\n values: PropTypes.object,\r\n receiveDailyNewsletter: PropTypes.bool,\r\n handleDailyNewsletter: PropTypes.func,\r\n receiveWeeklyNewsletter: PropTypes.bool,\r\n handleWeeklyNewsletter: PropTypes.func,\r\n receiveRealTimeNotification: PropTypes.bool,\r\n handleRealTimeNotification: PropTypes.func,\r\n receiveRealTimeNotificationForNewPsqArqcSent: PropTypes.bool,\r\n handleInternalReviewNotification: PropTypes.func,\r\n handleOnRoleTypeChange: PropTypes.func,\r\n isDataSteward: PropTypes.bool,\r\n handleDataSteward: PropTypes.func,\r\n dataStewardCheckboxDisplay: PropTypes.bool,\r\n showDSError: PropTypes.bool,\r\n};\r\n\r\nexport default reduxForm({ form: \"clientAuth\", enableReinitialize: true })(\r\n AddClientAuthModal\r\n);\r\n","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport {MotifTooltip, MotifButton, MotifFormField, MotifCheckbox, MotifToggleSwitch, MotifLabel, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter, MotifErrorMessage } from \"@ey-xd/motif-react\";\r\n\r\nconst EditClientAuthModal = ({\r\n showEditClientAuthModal,\r\n handleSubmit,\r\n toggleShowEditClientAuthModal,\r\n initialValues,\r\n clientAuthFormValues,\r\n receiveDailyNewsletter,\r\n handleDailyNewsletter,\r\n receiveWeeklyNewsletter,\r\n handleWeeklyNewsletter,\r\n receiveRealTimeNotification,\r\n handleRealTimeNotification,\r\n receiveRealTimeNotificationForNewPsqArqcSent,\r\n handleInternalReviewNotification,\r\n isDataSteward,\r\n handleDataSteward,\r\n dataStewardCheckboxDisplay,\r\n dataStewardValue,\r\n showDSError\r\n}) => {\r\n let email = \"\";\r\n if (initialValues && initialValues.userId) {\r\n email = initialValues.userId;\r\n }\r\n let initialRole = \"\";\r\n if (initialValues && initialValues.role) {\r\n initialRole = initialValues.role;\r\n }\r\n let newRole = \"\";\r\n if (clientAuthFormValues && clientAuthFormValues.role) {\r\n newRole = clientAuthFormValues.role;\r\n }\r\n let changedToInvalidRole = false;\r\n if (\r\n (initialRole === \"4\" && newRole !== \"4\") ||\r\n (initialRole !== \"4\" && newRole === \"4\")\r\n ) {\r\n changedToInvalidRole = true;\r\n }\r\n\r\n let errorMessageDisplay = false;\r\n if (dataStewardCheckboxDisplay == true && dataStewardValue == false) {\r\n errorMessageDisplay = true;\r\n }\r\n\r\n return (\r\n \r\n Edit User Authorization\r\n
    \r\n \r\n \r\n \r\n \r\n {email}}\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 \r\n
    \r\n {changedToInvalidRole && (\r\n \r\n This email domain cannot change into this Role.\r\n
    \r\n
    \r\n )}\r\n\r\n
    \r\n {(newRole == \"1\") && (\r\n
    \r\n
    \r\n \r\n \r\n {\r\n (!errorMessageDisplay) && Data Steward\r\n }\r\n\r\n {\r\n (errorMessageDisplay) &&\r\n Data Steward}\r\n >\r\n Maximum limit for Data Stewards reached. Please unassign a current Data Steward or contact your System Administrator to increase the limit.\r\n \r\n }\r\n\r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n Receive Checklist Newsletter\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Daily\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n Weekly\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Receive Real Time Notification(s):\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n 1. Reopen Submitted or Closed Checklist(s) {receiveRealTimeNotification ? 'on' : 'off'}:\r\n \r\n
    \r\n
    \r\n \r\n Off}\r\n onLabel={On}\r\n aria-labelledby=\"labelForReopenChecklists\"\r\n />\r\n \r\n
    \r\n
    \r\n {(newRole == \"4\") && (\r\n
    \r\n
    \r\n \r\n 2. New PSQ/ARQC Sent/Internal Review Notification {receiveRealTimeNotificationForNewPsqArqcSent ? 'on' : 'off'}:\r\n \r\n
    \r\n
    \r\n \r\n Off}\r\n onLabel={On}\r\n aria-labelledby=\"labelForNewPSQARQCSentInternalReview\"\r\n />\r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n Submit\r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nEditClientAuthModal.propTypes = {\r\n showEditClientAuthModal: PropTypes.bool,\r\n handleEditClientAuthModalAction: PropTypes.func,\r\n handleSubmit: PropTypes.func,\r\n toggleShowEditClientAuthModal: PropTypes.func,\r\n initialValues: PropTypes.object,\r\n clientAuthFormValues: PropTypes.object,\r\n receiveDailyNewsletter: PropTypes.bool,\r\n handleDailyNewsletter: PropTypes.func,\r\n receiveWeeklyNewsletter: PropTypes.bool,\r\n handleWeeklyNewsletter: PropTypes.func,\r\n receiveRealTimeNotification: PropTypes.bool,\r\n handleRealTimeNotification: PropTypes.func,\r\n receiveRealTimeNotificationForNewPsqArqcSent: PropTypes.bool,\r\n handleInternalReviewNotification: PropTypes.func,\r\n isDataSteward: PropTypes.bool,\r\n handleDataSteward: PropTypes.func,\r\n dataStewardCheckboxDisplay: PropTypes.bool,\r\n dataStewardValue: PropTypes.bool,\r\n showDSError: PropTypes.bool,\r\n};\r\n\r\nexport default reduxForm({ form: \"clientAuth\", enableReinitialize: true })(\r\n EditClientAuthModal\r\n);\r\n","import React from 'react';\r\nimport { MotifIcon, MotifIconButton } from '@ey-xd/motif-react';\r\nimport { IconoirEditPencil, IconoirTrash } from '@ey-xd/motif-icon';\r\n\r\nexport default (props) => {\r\n\r\n return (\r\n
    \r\n
    \r\n\r\n props.handleEditButtonClick(props.node.data)} >\r\n \r\n \r\n \r\n props.handleDeleteButtonClick(props.node.data)}>\r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n );\r\n}","import React, { useMemo, useState, useRef, useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport AddClientAuthModal from \"./AddClientAuthModal\";\r\nimport EditClientAuthModal from \"./EditClientAuthModal\";\r\nimport {\r\n MotifFormField, MotifSearch, MotifLabel, MotifButton, MotifToggleSwitch,\r\n MotifPagination, MotifPaginationSelect, MotifPaginationSelectItem,\r\n MotifTable\r\n} from '@ey-xd/motif-react';\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport { handleFilterChanged, handleFirstDataRendered, handleGridReady, tableHeaderClass, handleItemsPerPageChange } from '../../common/AgGridEventHandlers';\r\nimport CustomPagination from '../../common/MotifPagination';\r\nimport AuthCellRenderer from './customRenderer/AuthCellRenderer';\r\n\r\nconst ClientAuthList = ({ auths, handleSearchChange, handleClearSearchText, clientUserSearchText, handleEditButtonClick, handleDeleteButtonClick,\r\n handleNewButtonClick, showAddClientAuthModal, handleAddClientAuthModalAction, auth, toggleShowAddClientAuthModal, currentUserId, showEditClientAuthModal,\r\n handleEditClientAuthModalAction, toggleShowEditClientAuthModal, currentUserIsSysAdmin, addAuthMessageText,maxLimitMessageText, numberOfEngagementAdmins, validateDomain,\r\n validateDomainWithRole, clientAuthFormValues,\r\n handleAddClientAuthModalValidateAction, validatingUser, myEyError, handleDailyNewsletter, receiveDailyNewsletter, receiveWeeklyNewsletter, handleWeeklyNewsletter, receiveRealTimeNotification\r\n , handleRealTimeNotification, receiveRealTimeNotificationForNewPsqArqcSent,handleGoToClientOverview,clientId,\r\n handleInternalReviewNotification, handleOnRoleTypeChange, handleGridChanges, isDataSteward, handleDataSteward, isAuthorizedUserSearchBoxVisible, dataStewardCheckboxDisplay, showDSError, dataStewardValue, buttonVarient, parentComponent\r\n}) => {\r\n\r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n autoHeight: true,\r\n wrapHeaderText: true,\r\n autoHeaderHeight: true,\r\n };\r\n }, []);\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: 'userId', headerName: 'User', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 350,\r\n comparator: (a, b) => {\r\n var valA = a.toString().toLowerCase();\r\n var valB = b.toString().toLowerCase();\r\n if (valA === valB) return 0;\r\n return valA > valB ? 1 : -1;\r\n }, \t\r\n },\r\n {\r\n field: 'userId', headerName: 'Role', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 120,maxWidth: 120,\r\n valueGetter: (params) => {\r\n return getRoleName(params.data.role);\r\n },\r\n wrapText: true,\r\n }, \r\n {\r\n field: 'isDataSteward', headerName: 'Data Steward', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 120,\r\n valueGetter: (params) => {\r\n const value = params.data.isDataSteward ? \"Yes\" : \"No\";\r\n return value\r\n },\r\n },\r\n {\r\n field: 'receiveDailyNewsletter', headerName: 'Daily Newsletter', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 120,\r\n valueGetter: (params) => {\r\n const value =\r\n params.data.receiveDailyNewsletter ? \"Yes\" : \"No\";\r\n return value\r\n },\r\n },\r\n {\r\n field: 'receiveWeeklyNewsletter', headerName: 'Weekly Newsletter', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 120,\r\n valueGetter: (params) => {\r\n const value = params.data.receiveWeeklyNewsletter ? \"Yes\" : \"No\";\r\n return value;\r\n },\r\n },\r\n {\r\n field: 'receiveRealTimeNotification', headerName: 'Reopen Submitted or Closed Checklist', \r\n sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 200,\r\n valueGetter: (params) => {\r\n const value =\r\n params.data.receiveRealTimeNotification ? \"Yes\" : \"No\";\r\n return value\r\n }, \r\n }, \r\n \r\n {\r\n field: 'receiveRealTimeNotificationForNewPsqArqcSent', headerName: 'PSQ/ARQC Sent/Internal Review Notification', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 200,maxWidth: 200,\r\n valueGetter: (params) => {\r\n const value =params.data.receiveRealTimeNotificationForNewPsqArqcSent ? \"Yes\" : \"No\";\r\n return value\r\n },\r\n },\r\n {\r\n headerName: '', suppressMenu: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 150,\r\n cellRenderer: AuthCellRenderer, cellRendererParams: { handleEditButtonClick, handleDeleteButtonClick},\r\n }];\r\n };\r\n\r\n const getRoleName = (role) => {\r\n if (role === 1) {\r\n if (auth.resource === 1) {\r\n role = \"System Administrator\";\r\n } else {\r\n role = \"Engagement Administrator\";\r\n }\r\n }\r\n else if (role == 4) {\r\n role = \"External Checklist User\";\r\n }\r\n else {\r\n role = \"User\"\r\n }\r\n return role;\r\n };\r\n\r\n //Handle deselect all event\r\n const handleDeselectAll = (val) => {\r\n // set current page and total pages to 0\r\n setCurrentPage(0); \r\n setTotalPages(0); \r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n useEffect(() => {\r\n handleGridChanges(rowData, gridRef && gridRef.current ? gridRef.current.api : null);\r\n if (rowData.length > 0 && gridRef?.current?.api !== undefined) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n setRowData(auths);\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n }, [auths]);\r\n\r\n const rowHeight = 87; \r\n const headerHeight = 75; \r\n const totalHeight = (rowData?.length <= 3 ? rowData?.length : 3) * rowHeight + headerHeight; // set 3 rows as default\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Authorized Users

    \r\n
    \r\n {(!isAuthorizedUserSearchBoxVisible &&\r\n
    \r\n
    \r\n )}\r\n {(isAuthorizedUserSearchBoxVisible &&\r\n
    \r\n \r\n \r\n \r\n
    \r\n )} \r\n
    \r\n \r\n Add Authorized User\r\n \r\n {(!isAuthorizedUserSearchBoxVisible && parentComponent !== \"DataSteward\" &&\r\n handleGoToClientOverview(clientId)}>\r\n Go to Client Overview\r\n \r\n )} \r\n
    \r\n
    \r\n \r\n
    \r\n {(rowData.length > 0) &&\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleGridReady(event, gridRef, setCurrentPage, setItemsPerPage, setTotalPages, 'REITSuiteClientListColumnState', handleDeselectAll)}\r\n onFirstDataRendered={handleFirstDataRendered(gridRef)}\r\n ref={gridRef}\r\n pagination={true}\r\n suppressPaginationPanel={true}\r\n paginationPageSize={100}\r\n groupDisplayType={'custom'}\r\n groupSelectsChildren={true}\r\n groupDefaultExpanded={0}\r\n onFilterChanged={handleFilterChanged(gridRef, currentPage, setCurrentPage, setTotalPages)}\r\n data-testid=\"divClientAuthListGrid\"\r\n deltaRowDataMode={true}\r\n immutableData={true}\r\n getRowNodeId={(data) => data.id}\r\n />\r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n {(auths && auths.length === 0 && clientUserSearchText === \"\" &&
    No authorized user has been added for this client.
    ) || ((auths && auths.length === 0 && clientUserSearchText !== \"\") &&
    No authorized user match your search text '{clientUserSearchText}'
    ) || null}\r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nClientAuthList.propTypes = {\r\n auths: PropTypes.array.isRequired,\r\n handleSearchChange: PropTypes.func,\r\n handleClearSearchText: PropTypes.func,\r\n clientUserSearchText: PropTypes.string,\r\n handleEditButtonClick: PropTypes.func,\r\n handleDeleteButtonClick: PropTypes.func,\r\n handleNewButtonClick: PropTypes.func,\r\n showAddClientAuthModal: PropTypes.bool,\r\n handleAddClientAuthModalAction: PropTypes.func,\r\n auth: PropTypes.object,\r\n toggleShowAddClientAuthModal: PropTypes.func,\r\n currentUserId: PropTypes.string,\r\n showEditClientAuthModal: PropTypes.bool,\r\n handleEditClientAuthModalAction: PropTypes.func,\r\n toggleShowEditClientAuthModal: PropTypes.func,\r\n currentUserIsSysAdmin: PropTypes.bool,\r\n addAuthMessageText: PropTypes.string,\r\n maxLimitMessageText: PropTypes.string,\r\n numberOfEngagementAdmins: PropTypes.number,\r\n validateDomain: PropTypes.func,\r\n clientAuthFormValues: PropTypes.object,\r\n handleAddClientAuthModalValidateAction: PropTypes.func,\r\n validatingUser: PropTypes.bool,\r\n myEyError: PropTypes.string,\r\n handleDailyNewsletter: PropTypes.func,\r\n receiveDailyNewsletter: PropTypes.bool,\r\n handleWeeklyNewsletter: PropTypes.func,\r\n receiveWeeklyNewsletter: PropTypes.bool,\r\n receiveRealTimeNotification: PropTypes.bool,\r\n handleRealTimeNotification: PropTypes.func,\r\n receiveRealTimeNotificationForNewPsqArqcSent: PropTypes.bool,\r\n handleInternalReviewNotification: PropTypes.func,\r\n handleOnRoleTypeChange: PropTypes.func,\r\n isDataSteward: PropTypes.bool,\r\n handleDataSteward: PropTypes.func,\r\n dataStewardCheckboxDisplay: PropTypes.bool,\r\n dataStewardValue: PropTypes.bool,\r\n showDSError: PropTypes.bool,\r\n clientId: PropTypes.number,\r\n parentComponent: PropTypes.string,\r\n};\r\n\r\nexport default ClientAuthList;","import React, { useRef, useEffect,useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Button, Icon, Input, Message } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport RelatedReits from \"../reits/RelatedReits\";\r\nimport * as formatters from \"../../scripts/formFormatters\";\r\nimport * as parsers from \"../../scripts/formParsers\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { PhoneField } from \"../shared/formFields\";\r\nimport ClientAuthList from \"../../components/auth/ClientAuthList\";\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport { MotifButton, MotifToast, MotifFormField, MotifToggleSwitch } from '@ey-xd/motif-react';\r\n\r\nconst EditClientForm = ({\r\n reits,\r\n handleSubmit,\r\n handleAddReitClick,\r\n handleEditReitClick,\r\n handleDeleteReitClick,\r\n handleAddPropertyClick,\r\n handleEditPropertyClick,\r\n handleDeletePropertyClick,\r\n initialValues,\r\n clientFormPurpose,\r\n reitFormPurpose,\r\n showSuccess,\r\n showReitSuccess,\r\n error,\r\n submitting,\r\n auths, handleSearchChange, handleClearSearchText, clientUserSearchText, handleEditButtonClick, handleDeleteButtonClick,\r\n handleNewButtonClick, showAddClientAuthModal, handleAddClientAuthModalAction, auth, toggleShowAddClientAuthModal, currentUserId,\r\n showEditClientAuthModal, handleEditClientAuthModalAction, toggleShowEditClientAuthModal, currentUserIsSysAdmin, addAuthMessageText,maxLimitMessageText,\r\n handleDismissErrorMessage, handleDismissSuccessMessage, handleDismissReitSuccessMessage, handleToggleActiveFlag, isActive, isAudit, handleToggleAuditFlag,\r\n numberOfEngagementAdmins, handleEditClientCancel, dirty, validateDomain, validateDomainWithRole, clientAuthFormValues,\r\n handleAddClientAuthModalValidateAction, validatingUser, myEyError,handleDailyNewsletter,receiveDailyNewsletter,handleWeeklyNewsletter,receiveWeeklyNewsletter,\r\n handleRealTimeNotification,receiveRealTimeNotification, receiveRealTimeNotificationForNewPsqArqcSent,handleInternalReviewNotification,handleOnRoleTypeChange,handleGridChanges,\r\n isDataSteward, handleDataSteward, isAuthorizedUserSearchBoxVisible, dataStewardValue,dataStewardCheckboxDisplay,showDSError,buttonVarient\r\n}) => {\r\n\r\n let operationMessage = \"Client created successfully!\";\r\n let reitOperationMessage = \"REIT created successfully!\";\r\n if (clientFormPurpose === \"EDIT\") {\r\n operationMessage = \"Client updated successfully!\";\r\n }\r\n if (reitFormPurpose === \"EDIT\") {\r\n reitOperationMessage = \"REIT updated successfully!\";\r\n }\r\n\r\n const client = Object.assign({}, initialValues);\r\n\r\n const isDisabled = !currentUserIsSysAdmin;\r\n const toggleActiveFlag = (e) => {\r\n handleToggleActiveFlag(e, client.id, client.name, client.legalName, isDisabled);\r\n };\r\n \r\n const toggleAuditFlag = (e) => {\r\n handleToggleAuditFlag(e,isDisabled);\r\n };\r\n\r\n useEffect(() => {\r\n const handleKeyDown = (event) => {\r\n \r\n if (currentUserIsSysAdmin == false) {\r\n if (event.key === 'Enter') {\r\n event.preventDefault();\r\n }\r\n }\r\n };\r\n\r\n document.addEventListener('keydown', handleKeyDown);\r\n\r\n return () => {\r\n document.removeEventListener('keydown', handleKeyDown);\r\n };\r\n }, []);\r\n return (\r\n \r\n
    {e.preventDefault(); handleSubmit();}}>\r\n
    \r\n {formHelpers.showSubmissionError(error, handleDismissErrorMessage)}\r\n {showSuccess &&\r\n {operationMessage}\r\n }\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    Client Contact Information

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {(!(initialValues && initialValues.id) &&\r\n
    \r\n
    \r\n \r\n
    \r\n
    ) ||
    }\r\n
    \r\n \r\n {showReitSuccess && {reitOperationMessage}}\r\n {(initialValues &&\r\n initialValues.id &&\r\n ) ||\r\n
    }\r\n
    \r\n\r\n {(initialValues &&\r\n initialValues.id && ) ||
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Cancel\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\r\nEditClientForm.propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n handleAddReitClick: PropTypes.func.isRequired,\r\n handleEditClientCancel: PropTypes.func.isRequired,\r\n initialValues: PropTypes.object,\r\n error: PropTypes.string,\r\n submitting: PropTypes.bool,\r\n reits: PropTypes.array,\r\n handleDeleteReitClick: PropTypes.func,\r\n handleAddPropertyClick: PropTypes.func,\r\n handleEditPropertyClick: PropTypes.func,\r\n handleDeletePropertyClick: PropTypes.func,\r\n clientFormPurpose: PropTypes.string,\r\n reitFormPurpose: PropTypes.string,\r\n showSuccess: PropTypes.bool,\r\n showReitSuccess: PropTypes.bool,\r\n auths: PropTypes.array,\r\n handleSearchChange: PropTypes.func,\r\n handleClearSearchText: PropTypes.func,\r\n clientUserSearchText: PropTypes.string,\r\n handleEditButtonClick: PropTypes.func,\r\n handleDeleteButtonClick: PropTypes.func,\r\n handleNewButtonClick: PropTypes.func,\r\n showAddClientAuthModal: PropTypes.bool,\r\n handleAddClientAuthModalAction: PropTypes.func,\r\n auth: PropTypes.object,\r\n toggleShowAddClientAuthModal: PropTypes.func,\r\n currentUserId: PropTypes.string,\r\n showEditClientAuthModal: PropTypes.bool,\r\n handleEditClientAuthModalAction: PropTypes.func,\r\n toggleShowEditClientAuthModal: PropTypes.func,\r\n currentUserIsSysAdmin: PropTypes.bool,\r\n addAuthMessageText: PropTypes.string,\r\n maxLimitMessageText: PropTypes.string,\r\n handleDismissErrorMessage: PropTypes.func,\r\n handleDismissSuccessMessage: PropTypes.func,\r\n handleDismissReitSuccessMessage: PropTypes.func,\r\n handleToggleActiveFlag: PropTypes.func,\r\n isActive: PropTypes.bool,\r\n isAudit: PropTypes.bool,\r\n numberOfEngagementAdmins: PropTypes.number,\r\n dataStewardCheckboxDisplay: PropTypes.bool,\r\n dataStewardValue: PropTypes.bool,\r\n showDSError: PropTypes.bool,\r\n handleEditReitClick: PropTypes.func.isRequired,\r\n dirty: PropTypes.bool,\r\n validateDomain: PropTypes.func,\r\n clientAuthFormValues: PropTypes.object,\r\n handleAddClientAuthModalValidateAction: PropTypes.func,\r\n validatingUser: PropTypes.bool,\r\n myEyError: PropTypes.string,\r\n handleDailyNewsletter:PropTypes.func,\r\n receiveDailyNewsletter:PropTypes.bool,\r\n handleWeeklyNewsletter:PropTypes.func,\r\n receiveWeeklyNewsletter:PropTypes.bool,\r\n handleRealTimeNotification:PropTypes.func,\r\n receiveRealTimeNotification:PropTypes.bool,\r\n receiveRealTimeNotificationForNewPsqArqcSent: PropTypes.bool,\r\n handleInternalReviewNotification: PropTypes.func,\r\n isDataSteward:PropTypes.bool,\r\n handleDataSteward:PropTypes.func,\r\n};\r\n\r\nexport default reduxForm({ form: \"client\", enableReinitialize: true })(EditClientForm);\r\n","export const usStates = [\r\n { \"value\": \"Alabama\", \"label\": \"Alabama\" },\r\n { \"value\": \"Alaska\", \"label\": \"Alaska\" },\r\n { \"value\": \"Arizona\", \"label\": \"Arizona\" },\r\n { \"value\": \"Arkansas\", \"label\": \"Arkansas\" },\r\n { \"value\": \"California\", \"label\": \"California\" },\r\n { \"value\": \"Colorado\", \"label\": \"Colorado\" },\r\n { \"value\": \"Connecticut\", \"label\": \"Connecticut\" },\r\n { \"value\": \"Delaware\", \"label\": \"Delaware\" },\r\n { \"value\": \"Florida\", \"label\": \"Florida\" },\r\n { \"value\": \"Georgia\", \"label\": \"Georgia\" },\r\n { \"value\": \"Hawaii\", \"label\": \"Hawaii\" },\r\n { \"value\": \"Idaho\", \"label\": \"Idaho\" },\r\n { \"value\": \"Illinois\", \"label\": \"Illinois\" },\r\n { \"value\": \"Indiana\", \"label\": \"Indiana\" },\r\n { \"value\": \"Iowa\", \"label\": \"Iowa\" },\r\n { \"value\": \"Kansas\", \"label\": \"Kansas\" },\r\n { \"value\": \"Kentucky\", \"label\": \"Kentucky\" },\r\n { \"value\": \"Louisiana\", \"label\": \"Louisiana\" },\r\n { \"value\": \"Maine\", \"label\": \"Maine\" },\r\n { \"value\": \"Maryland\", \"label\": \"Maryland\" },\r\n { \"value\": \"Massachusetts\", \"label\": \"Massachusetts\" },\r\n { \"value\": \"Michigan\", \"label\": \"Michigan\" },\r\n { \"value\": \"Minnesota\", \"label\": \"Minnesota\" },\r\n { \"value\": \"Mississippi\", \"label\": \"Mississippi\" },\r\n { \"value\": \"Missouri\", \"label\": \"Missouri\" },\r\n { \"value\": \"Montana\", \"label\": \"Montana\" },\r\n { \"value\": \"Nebraska\", \"label\": \"Nebraska\" },\r\n { \"value\": \"Nevada\", \"label\": \"Nevada\" },\r\n { \"value\": \"New Hampshire\", \"label\": \"New Hampshire\" },\r\n { \"value\": \"New Jersey\", \"label\": \"New Jersey\" },\r\n { \"value\": \"New Mexico\", \"label\": \"New Mexico\" },\r\n { \"value\": \"New York\", \"label\": \"New York\" },\r\n { \"value\": \"North Carolina\", \"label\": \"North Carolina\" },\r\n { \"value\": \"North Dakota\", \"label\": \"North Dakota\" },\r\n { \"value\": \"Ohio\", \"label\": \"Ohio\" },\r\n { \"value\": \"Oklahoma\", \"label\": \"Oklahoma\" },\r\n { \"value\": \"Oregon\", \"label\": \"Oregon\" },\r\n { \"value\": \"Pennsylvania\", \"label\": \"Pennsylvania\" },\r\n { \"value\": \"Rhode Island\", \"label\": \"Rhode Island\" },\r\n { \"value\": \"South Carolina\", \"label\": \"South Carolina\" },\r\n { \"value\": \"South Dakota\", \"label\": \"South Dakota\" },\r\n { \"value\": \"Tennessee\", \"label\": \"Tennessee\" },\r\n { \"value\": \"Texas\", \"label\": \"Texas\" },\r\n { \"value\": \"Utah\", \"label\": \"Utah\" },\r\n { \"value\": \"Vermont\", \"label\": \"Vermont\" },\r\n { \"value\": \"Virginia\", \"label\": \"Virginia\" },\r\n { \"value\": \"Washington\", \"label\": \"Washington\" },\r\n { \"value\": \"West Virginia\", \"label\": \"West Virginia\" },\r\n { \"value\": \"Wisconsin\", \"label\": \"Wisconsin\" },\r\n { \"value\": \"Wyoming\", \"label\": \"Wyoming\" },\r\n { \"value\": \"American Samoa\", \"label\": \"American Samoa\" },\r\n { \"value\": \"District of Columbia\", \"label\": \"District of Columbia\" },\r\n { \"value\": \"Guam\", \"label\": \"Guam\" },\r\n { \"value\": \"Johnston Atoll\", \"label\": \"Johnston Atoll\" },\r\n { \"value\": \"Midway Atoll\", \"label\": \"Midway Atoll\" },\r\n { \"value\": \"Northern Mariana Islands\", \"label\": \"Northern Mariana Islands\" },\r\n { \"value\": \"Palmyra Atoll\", \"label\": \"Palmyra Atoll\" },\r\n { \"value\": \"Puerto Rico\", \"label\": \"Puerto Rico\" },\r\n { \"value\": \"U.S. Virgin Islands\", \"label\": \"U.S. Virgin Islands\" },\r\n { \"value\": \"Wake Island\", \"label\": \"Wake Island\" }\r\n];","export const options = [\r\n {\r\n \"label\": \"Assisted Living\", \"value\": \"Assisted Living\"\r\n },\r\n {\r\n \"label\": \"Bulk Item Removal\", \"value\": \"Bulk Item Removal\"\r\n },\r\n {\r\n \"label\": \"Child Care\", \"value\": \"Child Care\"\r\n },\r\n {\r\n \"label\": \"Concierge\", \"value\": \"Concierge\"\r\n },\r\n {\r\n \"label\": \"Constructing Tenant Improvements During Lease Term\", \"value\": \"Constructing Tenant Improvements During Lease Term\"\r\n },\r\n {\r\n \"label\": \"Fitness Aerobics Instruction\", \"value\": \"Fitness Aerobics Instruction\"\r\n },\r\n {\r\n \"label\": \"Food Service\", \"value\": \"Food Service\"\r\n },\r\n {\r\n \"label\": \"Interior Design & Decorating\", \"value\": \"Interior Design & Decorating\"\r\n },\r\n {\r\n \"label\": \"IT Services\", \"value\": \"IT Services\"\r\n },\r\n {\r\n \"label\": \"Maid Service, Specialty Cleaning\", \"value\": \"Maid Service, Specialty Cleaning\"\r\n },\r\n {\r\n \"label\": \"Medical Services\", \"value\": \"Medical Services\"\r\n },\r\n {\r\n \"label\": \"Office/ Secretarial Services\", \"value\": \"Office/ Secretarial Services\"\r\n },\r\n {\r\n \"label\": \"Painting of Leased Space During Lease Term\", \"value\": \"Painting of Leased Space During Lease Term\"\r\n },\r\n {\r\n \"label\": \"Pet Sitting\", \"value\": \"Pet Sitting\"\r\n },\r\n {\r\n \"label\": \"Pick Up and Delivery Of Goods\", \"value\": \"Pick Up and Delivery Of Goods\"\r\n },\r\n {\r\n \"label\": \"Real Estate Brokerage\", \"value\": \"Real Estate Brokerage\"\r\n },\r\n {\r\n \"label\": \"Repairing Tenants Personal Property\", \"value\": \"Repairing Tenants Personal Property\"\r\n },\r\n {\r\n \"label\": \"Repair/ Replace Lighting Fixtures\", \"value\": \"Repair/ Replace Lighting Fixtures\"\r\n },\r\n {\r\n \"label\": \"Specialty Security\", \"value\": \"Specialty Security\"\r\n },\r\n {\r\n \"label\": \"Shipping, Transportation Of Goods\", \"value\": \"Shipping, Transportation Of Goods\"\r\n },\r\n {\r\n \"label\": \"Shuttle Bus Transportation\", \"value\": \"Shuttle Bus Transportation\"\r\n },\r\n {\r\n \"label\": \"Tenant Plant Care\", \"value\": \"Tenant Plant Care\"\r\n },\r\n {\r\n \"label\": \"Public Parking\", \"value\": \"Public Parking\"\r\n },\r\n {\r\n \"label\": \"Valet Parking\", \"value\": \"Valet Parking\"\r\n },\r\n {\r\n \"label\": \"Reserved Parking\", \"value\": \"Reserved Parking\"\r\n },\r\n {\r\n \"label\": \"Other\", \"value\": \"Other\"\r\n }];","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Field, FieldArray, formValueSelector, submit } from \"redux-form\";\r\nimport { connect } from 'react-redux';\r\nimport { Dropdown, Icon, Message } from \"semantic-ui-react\";\r\nimport * as amenities from \"../../constants/amenities\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { MotifIconButton, MotifIcon, MotifButton,MotifErrorMessage } from \"@ey-xd/motif-react\";\r\nimport { IconoirTrash } from '@ey-xd/motif-icon';\r\nconst PropertyAmenitiesTableComponent = ({ taxableReitSubsidiaryOptions, formName, readOnly, dispatch, shouldSubmitReduxFormOnChange }) => {\r\n let amenityRowProvider = new AmenityRowProvider(formName);\r\n return ;\r\n};\r\n\r\nPropertyAmenitiesTableComponent.propTypes = {\r\n taxableReitSubsidiaryOptions: PropTypes.array,\r\n formName: PropTypes.string,\r\n readOnly: PropTypes.bool,\r\n dispatch: PropTypes.func,\r\n shouldSubmitReduxFormOnChange: PropTypes.bool\r\n};\r\nconst AmenityRow = ({ service, index, fields, isOtherSelected, isTrsChecked, taxableReitSubsidiaryOptions, readOnly, dispatch, shouldSubmitReduxFormOnChange }) => {\r\n \r\n let timerIdle = null;\r\n \r\n const removeRow = () => {\r\n fields.remove(index);\r\n if (shouldSubmitReduxFormOnChange) {\r\n clearTimeout(timerIdle);\r\n timerIdle = setTimeout(() => {\r\n dispatch(submit(\"checklist\"));\r\n }, 800);\r\n }\r\n };\r\n \r\n const onChangeSubmit = (e) => {\r\n if (shouldSubmitReduxFormOnChange) {\r\n clearTimeout(timerIdle);\r\n timerIdle = setTimeout(() => {\r\n dispatch(submit(\"checklist\"));\r\n }, 800);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n opt.value}\r\n optionText={(opt) => opt.label}\r\n style={{flexDirection: 'unset', overflowX: 'hidden'}} \r\n />\r\n \r\n \r\n \r\n
    \r\n {(isOtherSelected || fields.get(index).propertyAmenityName?.value === \"Other\") && \r\n (
    \r\n please specify:
    \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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {(isTrsChecked && Array.isArray(taxableReitSubsidiaryOptions) && taxableReitSubsidiaryOptions.length > 0 && [\r\n (
    \r\n \r\n opt.value}\r\n optionText={(opt) => opt.label}\r\n style={{flexDirection: 'unset'}} \r\n />\r\n
    )\r\n ]) ||
     
    } \r\n \r\n {(!readOnly && \r\n \r\n \r\n \r\n ) || null}\r\n \r\n );\r\n};\r\n\r\nAmenityRow.propTypes = {\r\n service: PropTypes.string.isRequired,\r\n index: PropTypes.number.isRequired,\r\n fields: PropTypes.object.isRequired,\r\n isOtherSelected: PropTypes.bool,\r\n isTrsChecked: PropTypes.bool,\r\n taxableReitSubsidiaryOptions: PropTypes.array,\r\n readOnly: PropTypes.bool,\r\n dispatch: PropTypes.func,\r\n shouldSubmitReduxFormOnChange: PropTypes.bool\r\n};\r\n\r\n/**\r\n * Provider for amenity rows\r\n * @extends {React.Component}\r\n */\r\nexport class AmenityRowProvider {\r\n constructor(formName) {\r\n this.selector = formValueSelector(formName);\r\n this.AmenityRow = connect((state, props) => ({\r\n isOtherSelected: (this.selector(state, `${props.service}.propertyAmenityName`) && this.selector(state, `${props.service}.propertyAmenityName`) === \"Other\") || false,\r\n isTrsChecked: !!this.selector(state, `${props.service}.isProvidedByTaxableReitSubsidiary`), \r\n }))(AmenityRow);\r\n }\r\n}\r\n\r\nconst validateAmenityRow = values => {\r\n const errorArray = [];\r\n\r\n if (values) {\r\n values.forEach(value => {\r\n let error = undefined;\r\n if (!value.propertyAmenityName) {\r\n error = \"Please select a service\";\r\n } else if (value.propertyAmenityName && value.propertyAmenityName === \"Other\" && !value.otherName) {\r\n error = \"Please specify the name of the service\";\r\n }\r\n\r\n errorArray.push(error);\r\n });\r\n }\r\n\r\n if (errorArray.some(item => !!item)) {\r\n return errorArray;\r\n } else {\r\n return undefined;\r\n }\r\n};\r\n\r\nconst renderServicesTable = ({ fields, meta: { error }, taxableReitSubsidiaryOptions, readOnly, amenityRowProvider, dispatch, shouldSubmitReduxFormOnChange }) => {\r\n fields = fields || [];\r\n readOnly = !!readOnly;\r\n\r\n const createNewRow = () => {\r\n fields.push({});\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 {fields.length === 0 ? : fields.map(\r\n (service, index) => {\r\n let errorRow = null;\r\n if (error && error[index]) {\r\n errorRow = ;\r\n }\r\n return [errorRow, (\r\n \r\n )];\r\n }\r\n )}\r\n \r\n
    Service NameCustomaryEmployeeIKTRS 
    Please add a service
    {error[index]}
    \r\n {(!readOnly &&\r\n \r\n New Row\r\n \r\n ) || null}\r\n
    \r\n );\r\n};\r\n\r\nrenderServicesTable.propTypes = {\r\n fields: PropTypes.object.isRequired,\r\n meta: PropTypes.object,\r\n taxableReitSubsidiaryOptions: PropTypes.array,\r\n readOnly: PropTypes.bool,\r\n amenityRowProvider: PropTypes.object,\r\n dispatch: PropTypes.func,\r\n shouldSubmitReduxFormOnChange: PropTypes.bool\r\n};\r\n\r\nexport default PropertyAmenitiesTableComponent;","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromReitApi as fetch } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n/**\r\n * Fetch all TRS records belonging to the period. If successful this will dispatch the LOAD_TRSES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_TRSES_FAILURE action.\r\n * @param {number} periodId The id of the period that owns the TRS.\r\n * @param {string} authHeader The authorzation header.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchTrsByPeriod(periodId, authHeader) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/trs?periodId=${periodId}`,\r\n {\r\n headers: (authHeader && new Headers({ 'Authorization': authHeader })) || null\r\n }).then(response => {\r\n return response.json();\r\n }).then(trs => {\r\n if (actionHelpers.isErrorResponse(trs)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_TRSES_FAILURE, trs);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_TRSES_SUCCESS, trs, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_TRSES_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the TRS as an external user by the specified period identifier.\r\n * @param {number} periodId The id of the period that owns the TRS.\r\n * @param {string} checklistId The id of the checklist.\r\n * @param {string} checklistType The checklist type.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchExternalTrsByPeriod(periodId, checklistId, checklistType) {\r\n return fetchTrsByPeriod(periodId, actionHelpers.buildAuthHeader(checklistId, checklistType));\r\n}\r\n\r\n\r\n/**\r\n * Create a new TRS.\r\n * @param {any} trs The TRS\r\n * @returns {function} A Promise.\r\n */\r\nexport function createTrs(trs) {\r\n return fetch('/trs',\r\n {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(trs)\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n }\r\n\r\n return response.json();\r\n });\r\n}\r\n\r\n\r\n/**\r\n * Updates a trs to the REIT API database.\r\n * @param {any} trs The trs\r\n * @returns {Promise} A Promise\r\n * http://localhost:5000/api/trs/3\r\n */\r\nexport function updateTrs(trs) {\r\n const period = trs.reportPeriodID;\r\n const payload = {\r\n \"trsDebt\": trs.trsDebt,\r\n \"trsEquity\": trs.trsEquity,\r\n \"taxableREITSubsidiaryID\": trs.taxableREITSubsidiaryID,\r\n \"trsName\": trs.trsName,\r\n \"trsValue\": trs.trsValue\r\n };\r\n\r\n return fetch(`/trs/${trs.taxableREITSubsidiaryID}`,\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"PUT\",\r\n body: JSON.stringify(payload)\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n }\r\n\r\n return response.json();\r\n });\r\n}\r\n\r\n/**\r\n * Deletes a trs to the REIT API database.\r\n * @param {any} trs The trs\r\n * @returns {Promise} A Promise\r\n * http://localhost:5000/api/trs/3\r\n */\r\nexport function deleteTrs(trs) {\r\n const period = trs.reportPeriodID;\r\n return fetch(`/trs/${trs.taxableREITSubsidiaryID}`,\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"DELETE\"\r\n }).then(response => {\r\n if (response.ok)\r\n return null;\r\n\r\n return response.json();\r\n });\r\n}","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as actions from \"../../actions/servicesActions\";\r\nimport PropertyAmenitiesTableComponent from '../../components/shared/PropertyAmenitiesTableComponent';\r\nimport * as trsActions from '../../actions/trsActions';\r\nimport * as amenities from \"../../constants/amenities\";\r\n\r\n/**\r\n * Container component used for uploading trial balance files\r\n */\r\nexport class PropertyAmenitiesTableContainer extends React.Component {\r\n static convertFromReduxFormValueToPropertyAmenityCollection(reduxFormValue, propertyId) {\r\n let propertyAmenities = [];\r\n if (Array.isArray(reduxFormValue)) {\r\n reduxFormValue.map(item => {\r\n propertyAmenities.push({\r\n propertyAmenityName: ((item.propertyAmenityName && (item.propertyAmenityName === \"Other\" || item.propertyAmenityName.value === \"Other\") && item.otherName) || (item.propertyAmenityName?.value ? item.propertyAmenityName.value : item.propertyAmenityName)),\r\n isProvidedByEmployee: item.isProvidedByEmployee === true ? true : false,\r\n isProvidedByIndependentContractor: item.isProvidedByIndependentContractor === true ? true : false,\r\n isProvidedByCustomary: item.isProvidedByCustomary === true ? true : false,\r\n isProvidedByTaxableReitSubsidiary: item.isProvidedByTaxableReitSubsidiary === true ? true : false,\r\n trsName: (item.isProvidedByTaxableReitSubsidiary === true && item.taxableReitSubsidiary && item.taxableReitSubsidiary?.label) || null,\r\n taxableREITSubsidiaryID: (item.isProvidedByTaxableReitSubsidiary === true && item.taxableReitSubsidiary && item.taxableReitSubsidiary?.value?item.taxableReitSubsidiary.value : item.taxableReitSubsidiary) || null,\r\n propertyId: propertyId,\r\n otherName:( item.propertyAmenityName === \"Other\" || item.propertyAmenityName?.value === \"Other\" )?item.otherName:''\r\n });\r\n });\r\n }\r\n\r\n return propertyAmenities;\r\n }\r\n\r\n static convertFromPropertyAmenityCollectionToReduxFormValue(propertyAmenityCollection) {\r\n let propertyAmenities = [];\r\n\r\n if (Array.isArray(propertyAmenityCollection)) {\r\n propertyAmenityCollection.map(item => {\r\n let amenityOption = amenities.options.find(x => x.value === item.propertyAmenityName);\r\n let newAmenity = {\r\n propertyAmenityName: amenityOption,\r\n isProvidedByEmployee: item.isProvidedByEmployee,\r\n isProvidedByIndependentContractor: item.isProvidedByIndependentContractor,\r\n isProvidedByCustomary: item.isProvidedByCustomary,\r\n isProvidedByTaxableReitSubsidiary: item.isProvidedByTaxableReitSubsidiary,\r\n taxableReitSubsidiary: null,\r\n propertyId: item.propertyID\r\n };\r\n\r\n if (!amenityOption) {\r\n newAmenity.propertyAmenityName = amenities.options.find(x => x.value === \"Other\");\r\n newAmenity.otherName = item.propertyAmenityName;\r\n }\r\n\r\n if (newAmenity.isProvidedByTaxableReitSubsidiary && item.taxableREITSubsidiaryID && item.trsName) { \r\n newAmenity.taxableReitSubsidiary = { value: item.taxableREITSubsidiaryID, label: item.trsName };\r\n }\r\n \r\n propertyAmenities.push(newAmenity);\r\n });\r\n }\r\n\r\n return propertyAmenities;\r\n }\r\n\r\n /**\r\n * Creates a new PropertyAmenitiesTableContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n // IMPORTANT: Fetching TRSes within this container will cause an endless loop in ARQC details. Pass TRS as property instead.\r\n //if (this.props.periodId) {\r\n // this.props.actions.fetchTrsByPeriod(this.props.periodId);\r\n //}\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n let options = [];\r\n if (Array.isArray(this.props.taxableReitSubsidiaries)) {\r\n this.props.taxableReitSubsidiaries.map(trs => options.push({ label: trs.trsName, value: trs.taxableREITSubsidiaryID }));\r\n }\r\n\r\n return ();\r\n }\r\n}\r\n\r\nPropertyAmenitiesTableContainer.propTypes = {\r\n periodId: PropTypes.number,\r\n actions: PropTypes.object.isRequired,\r\n formName: PropTypes.string,\r\n readOnly: PropTypes.bool,\r\n taxableReitSubsidiaries: PropTypes.arrayOf(PropTypes.shape({\r\n taxableREITSubsidiaryID: PropTypes.number,\r\n reportPeriodID: PropTypes.number,\r\n trsName: PropTypes.string,\r\n trsValue: PropTypes.number,\r\n trsDebt: PropTypes.number,\r\n trsEquity: PropTypes.number\r\n })),\r\n shouldSubmitReduxFormOnChange: PropTypes.bool,\r\n dispatch: PropTypes.func\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps Existing properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n periodId: (state.period && state.period.reportPeriodID) || 0\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n dispatch: dispatch,\r\n actions: bindActionCreators(trsActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PropertyAmenitiesTableContainer);","let timer;\r\n\r\n/**\r\n * Avoid calling this function in Component's useEffect method, after Motif Team resolves issue of MotifSelect component\r\n * Add Attribute for DOM element based on selector. e.g. Adds \"type='button'\" attribute for all button elements having \"[role = 'combobox']\" attribute\r\n * @param {selector} string e.g. button[role = 'combobox']\r\n * @param {attributeName} string e.g. type\r\n * @param {attributeValue} string e.g. button\r\n */\r\nexport const addAttribute = function (selector, attributeName, attributeValue) { \r\n\r\n //Clear Timeout\r\n clearTimeout(timer);\r\n\r\n timer = setTimeout(() => { \r\n\r\n //Get the elements based on selector\r\n const elementList = document.querySelectorAll(selector);\r\n\r\n if (elementList && elementList.length > 0) { \r\n\r\n [...elementList].forEach(function (element) {\r\n \r\n if (!element.hasAttribute([attributeName]) || element[attributeName] != attributeValue) {\r\n //Add attribute\r\n element[attributeName] = attributeValue;\r\n }\r\n });\r\n } \r\n }, 250)\r\n return () => {\r\n clearTimeout(timer)\r\n }\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport * as parsers from \"../../scripts/formParsers\";\r\nimport * as states from \"../../constants/states\";\r\nimport { addAttribute } from \"../../common/Attribute\";\r\nimport { MotifModalHeader, MotifModalBody, MotifModalFooter } from \"@ey-xd/motif-react\"; \r\n\r\nimport {\r\n DateField,\r\n MoneyField,\r\n NumberField,\r\n PhoneField\r\n} from \"../shared/formFields\";\r\n\r\nimport PropertyAmenitiesTableContainer\r\n from \"../../containers/shared/PropertyAmenitiesTableContainer\";\r\n\r\nimport { MotifButton, MotifToast } from '@ey-xd/motif-react';\r\n\r\nexport const EditPropertyFields = ({formPurpose, lookupTypes, isTestingEnabled = true}) => {\r\n const [showPsqTypes, setShowPsqTypes] = useState(true);\r\n const [hideInfoMessage, setHideInfoMessage] = useState(false);\r\n\r\n const rerenderPsqTypes = function (e) {\r\n setShowPsqTypes(false);\r\n\r\n setTimeout(() => {\r\n setShowPsqTypes(true);\r\n });\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 s.value}\r\n optionText={(s) => s.label}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n pt.propertyTypeID !== 0\r\n )}\r\n optionValue={(opt) => opt.propertyTypeID}\r\n optionText={(opt) => opt.propertyTypeDescription}\r\n onChange={(e) =>rerenderPsqTypes(e)}\r\n />\r\n
    \r\n
    \r\n {showPsqTypes && (\r\n ppt.psqPropertyTypeID !== 0\r\n )}\r\n optionText={(o) => o.psqPropertyTypeDescription}\r\n optionValue={(o) =>\r\n o.psqPropertyTypeDescription.replace(\r\n \"Multi-Family\",\r\n \"MultiFamily\"\r\n )\r\n }\r\n component={formHelpers.MultipleSelect}\r\n testingData={{ label: \"lblPSQPropertyType\", div: \"divPSQPropertyType\" }}\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n {!hideInfoMessage && showPsqTypes && formPurpose === \"EDIT\" &&\r\n
    \r\n \r\n Warning: Removing the PSQ Property Type(s) will remove this property from the checklist auto delivery calendar. Please note that this field needs to be populated to utilize the checklist auto delivery calendar for this property.\r\n \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n pc.propertyClassID !== 0\r\n )}\r\n optionValue={(opt) => opt.propertyClassID}\r\n optionText={(opt) => opt.propertyClassDescription}\r\n />\r\n
    \r\n
    \r\n tt.tenantTypeID != 0\r\n )}\r\n optionValue={(opt) => opt.tenantTypeID}\r\n optionText={(opt) => opt.tenantTypeDescription}\r\n />\r\n
    \r\n
    \r\n ppt.propertyParkingTypeID != 0\r\n )}\r\n optionValue={(opt) => opt.propertyParkingTypeID}\r\n optionText={(opt) => opt.propertyParkingTypeDescription}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst EditPropertyForm = ({\r\n lookupTypes,\r\n handleSubmit,\r\n handleCloseForm,\r\n formPurpose,\r\n isTestingEnabled,\r\n error,\r\n submitting,\r\n handleDismissErrorMessage,\r\n taxableReitSubsidiaries\r\n}) => {\r\n\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n\r\n const formTitle = formPurpose === \"ADD\" ? \"Add Property\" : \"Edit Property\";\r\n\r\n const closeButtonProps = {\r\n title: 'Close ' + formTitle + ' Modal',\r\n ariaLabel: 'Close ' + formTitle + ' Modal',\r\n dataTestid: 'close',\r\n };\r\n \r\n return (\r\n \r\n \r\n \r\n {formTitle}\r\n \r\n \r\n \r\n \r\n {formHelpers.showSubmissionError(\r\n error,\r\n handleDismissErrorMessage\r\n )}\r\n \r\n\r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nEditPropertyForm.propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n handleCloseForm: PropTypes.func.isRequired,\r\n lookupTypes: PropTypes.object,\r\n error: PropTypes.string,\r\n submitting: PropTypes.bool,\r\n formPurpose: PropTypes.string,\r\n isTestingEnabled: PropTypes.bool,\r\n handleDismissErrorMessage: PropTypes.func,\r\n taxableReitSubsidiaries: PropTypes.array\r\n};\r\n\r\nexport default reduxForm({ form: \"property\" })(EditPropertyForm);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport * as dateHelpers from \"../../scripts/dateHelpers\";\r\nimport * as states from \"../../constants/states\";\r\nimport { DateField, MoneyField, NumberField, EinField } from \"../shared/formFields\";\r\nimport PropertyAmenitiesTableContainer from \"../../containers/shared/PropertyAmenitiesTableContainer\";\r\nimport $ from 'jquery';\r\nimport { MotifButton, MotifModalBody, MotifModalFooter, MotifToast } from \"@ey-xd/motif-react\";\r\nimport { EditPropertyFields } from './EditPropertyForm';\r\nimport { addAttribute } from \"../../common/Attribute\";\r\nimport { useSelector } from 'react-redux';\r\nimport * as formParsers from \"../../scripts/formParsers\";\r\nconst EditReitForm = ({ handleSubmit,\r\n handleCloseForm,\r\n initialValues,\r\n reitFormPurpose,\r\n showReitSuccess,\r\n error,\r\n submitting,\r\n handleDismissErrorMessage,\r\n isTestingEnabled,\r\n onSubmit,\r\n fields,\r\n lookupTypes,\r\n isAudit }) => {\r\n\r\n const [hideInfoMessage, setHideInfoMessage] = useState(false);\r\n const featureFlags = useSelector(\r\n state => state.featureManagementData\r\n );\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n const options = lookupTypes.psqPropertyTypes\r\n .filter(ppt => ppt.psqPropertyTypeID !== 0)\r\n .map(option => {\r\n const psqOption = {};\r\n psqOption.key = option.psqPropertyTypeID;\r\n psqOption.value = option.psqPropertyTypeDescription;\r\n psqOption.text = option.psqPropertyTypeDescription;\r\n return psqOption;\r\n });\r\n\r\n let submitButtonText = \"Submit\";\r\n if (reitFormPurpose === \"EDIT\") {\r\n submitButtonText = \"Save\";\r\n }\r\n\r\n let scrollTop = () => {\r\n $('.ReactModal__Content').scrollTop(0);\r\n };\r\n\r\n let save = (e) => {\r\n e.preventDefault();\r\n scrollTop();\r\n\r\n handleSubmit(values => onSubmit({ ...values, anotherProperty: 'NO' }))();\r\n };\r\n\r\n let saveAndCreateAnotherProperty = (e) => {\r\n e.preventDefault();\r\n scrollTop();\r\n\r\n handleSubmit(values => onSubmit({ ...values, anotherProperty: 'YES' }))();\r\n };\r\n\r\n const currentYear = new Date().getFullYear();\r\n let yearOptions = [];\r\n const dropdownStartYear = isAudit == true ? currentYear - 1 : currentYear - 5;\r\n let initialYear = featureFlags && featureFlags['RestrictedReportPeriodLimit'] ? dropdownStartYear : currentYear - 5;\r\n\r\n for (let i = initialYear; i <= currentYear + 10; i++) {\r\n yearOptions.push(i.toString());\r\n }\r\n\r\n \r\n const [showPsqTypes, setShowPsqTypes] = useState(true);\r\n\r\n const rerenderPsqTypes = () => {\r\n setShowPsqTypes(false);\r\n setTimeout(() => setShowPsqTypes(true));\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n
    \r\n {formHelpers.showSubmissionError(\r\n error,\r\n handleDismissErrorMessage\r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n o.reitTypeID}\r\n optionText={(o) => o.reitTypeDescription}\r\n validate={[formValidators.requiredSelect]}\r\n >\r\n
    \r\n
    \r\n {!hideInfoMessage && showPsqTypes && reitFormPurpose === \"EDIT\" &&\r\n \r\n Warning: Changing the REIT Type will change the default ARQC assigned to this REIT on the checklist auto delivery calendar.\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n o.organizationTypeID !== 0\r\n )}\r\n optionValue={(o) => o.organizationTypeID}\r\n optionText={(o) =>\r\n o.organizationTypeDescription\r\n }\r\n validate={[formValidators.requiredSelect]}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {(reitFormPurpose === \"\" && (\r\n
    \r\n
    \r\n \r\n q}\r\n optionText={(q) => `Q${q}`}\r\n validate={[\r\n formValidators.requiredSelect,\r\n ]}\r\n />\r\n
    \r\n \r\n y}\r\n optionText={(y) => y}\r\n validate={[\r\n formValidators.requiredSelect,\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
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n s.value}\r\n optionText={(s) => s.label}\r\n validate={[formValidators.requiredSelect]}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n {reitFormPurpose === \"\" && (\r\n
    \r\n
    \r\n
    \r\n

    Create New Property

    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n {(reitFormPurpose !== \"EDIT\" && (\r\n \r\n Submit and Create Another Property\r\n \r\n )) ||\r\n null}\r\n \r\n {submitButtonText}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nEditReitForm.propTypes = {\r\n lookupTypes: PropTypes.object,\r\n handleSubmit: PropTypes.func.isRequired,\r\n handleCloseForm: PropTypes.func.isRequired,\r\n initialValues: PropTypes.object,\r\n error: PropTypes.object,\r\n submitting: PropTypes.bool,\r\n reitFormPurpose: PropTypes.string,\r\n showReitSuccess: PropTypes.bool,\r\n handleDismissErrorMessage: PropTypes.func,\r\n isTestingEnabled: PropTypes.bool,\r\n fields: PropTypes.array,\r\n onSubmit: PropTypes.func.isRequired,\r\n clientIsAudit: PropTypes.bool,\r\n};\r\n\r\nexport default reduxForm({ form: \"reit\" })(EditReitForm);","export const getQuarter = d => {\r\n d = d || new Date();\r\n const q = [1, 2, 3, 4];\r\n return q[Math.floor(d.getMonth() / 3)];\r\n};\r\n\r\nexport const getYear = d => {\r\n d = d || new Date();\r\n return d.getFullYear();\r\n};\r\n\r\nconst formatDigits = val => {\r\n val = val.toString();\r\n return val.length == 1 ? \"0\" + val : val;\r\n};\r\n\r\nexport const getDateTime = (time, addZ) => {\r\n var dateWithZ = addZ ? `${new Date(time)}Z` : new Date(time);\r\n const weekdays = new Array(\r\n \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"\r\n );\r\n const dt = new Date(dateWithZ);\r\n let res = \"\";\r\n res += `${weekdays[dt.getDay()]}, `;\r\n res += formatDigits(dt.getMonth() + 1);\r\n res += \"/\";\r\n res += formatDigits(dt.getDate());\r\n res += \"/\";\r\n res += formatDigits(dt.getFullYear());\r\n res += \" \";\r\n res += formatDigits(dt.getHours() > 12 ? dt.getHours() - 12 : dt.getHours());\r\n res += \":\";\r\n res += formatDigits(dt.getMinutes());\r\n res += \":\";\r\n res += formatDigits(dt.getSeconds());\r\n res += \" \" + dt.getHours() > 11 ? \" PM\" : \" AM\";\r\n return res;\r\n};\r\n\r\n\r\nexport const relativeDate = (time, addZ) => {\r\n var dateWithZ = addZ ? `${new Date(time)}Z` : new Date(time);\r\n\r\n //var date = new Date((time || \"\").replace(/-/g, \"/\").replace(/[TZ]/g, \" \"));\r\n var date = new Date(dateWithZ),\r\n diff = (((new Date()).getTime() - date.getTime()) / 1000),\r\n day_diff = Math.floor(diff / 86400);\r\n var year = date.getFullYear(),\r\n month = date.getMonth() + 1,\r\n day = date.getDate();\r\n\r\n if (isNaN(day_diff) || day_diff < 0 || day_diff >= 31)\r\n return (\r\n year.toString() + '-'\r\n + ((month < 10) ? '0' + month.toString() : month.toString()) + '-'\r\n + ((day < 10) ? '0' + day.toString() : day.toString())\r\n );\r\n\r\n var r =\r\n (\r\n (\r\n day_diff == 0 &&\r\n (\r\n (diff < 60 && \"just now\")\r\n || (diff < 120 && \"1 minute ago\")\r\n || (diff < 3600 && Math.floor(diff / 60) + \" minutes ago\")\r\n || (diff < 7200 && \"1 hour ago\")\r\n || (diff < 86400 && Math.floor(diff / 3600) + \" hours ago\")\r\n )\r\n )\r\n || (day_diff == 1 && \"Yesterday\")\r\n || (day_diff < 7 && day_diff + \" days ago\")\r\n || (day_diff < 31 && Math.ceil(day_diff / 7) + \" weeks ago\")\r\n );\r\n return r;\r\n};\r\n\r\n//function secondsToString(timestamp) {\r\n// var startDate = new Date(timestamp);\r\n// var endDate = new Date();\r\n// var t = (endDate.getTime() - startDate.getTime()) / 1000;\r\n// return parseInt(t / 86400) + ' day(s) ' + (new Date(t % 86400 * 1000)).toUTCString().replace(/.*(\\d{2}):(\\d{2}):(\\d{2}).*/, \"$1 hour(s) $2 min(s) $3 second(s)\");\r\n//}\r\n\r\nexport const getPreviousFridayOrGivenDate= (givenDate)=>{\r\n const dateValue = new Date(givenDate);\r\nif (dateValue.getDay() === 0 || dateValue.getDay() === 6) {\r\n // If it's a weekend, find the date for the previous Friday\r\n dateValue.setDate(dateValue.getDate() - (dateValue.getDay() + 2) % 7);\r\n return dateValue;\r\n} else {\r\n return dateValue;\r\n}\r\n}\r\n","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromReitApi as fetchFromReit, fetchFromTrialBalanceApi as fetchFromTrialBalance } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n\r\n/**\r\n * Fetch all the property enums\r\n * @returns {Promise} A Promise\r\n */\r\nexport function fetchPropertyTypes() {\r\n /*\r\n This is an example by now im just assuming that the returned object is like the next example\r\n {\r\n \"PropertyTypes\": [{\"PropertyTypeID\": 1, \"PropertyTypeDescription\": \"Office\"}...],\r\n \"PSQPropertyTypes\": [{\"PSQPropertyTypeID\": 1, \"PSQPropertyTypeDescription\": \"Office\"}...],\r\n }\r\n */\r\n \r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetchFromReit(`/properties/lookupData`,\r\n {\r\n method: \"GET\" \r\n }).then(response => {\r\n return response.json();\r\n })\r\n .then(fetchedTypes => {\r\n dispatch({\r\n type: actions.LOAD_ALL_PROPERTY_TYPES_SUCCESS,\r\n fetchedTypes,\r\n [pendingTask]: end,\r\n });\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Fetch all the property enums for External user\r\n * @returns {Promise} A Promise\r\n */\r\n export function fetchExternalPropertyTypes(checklistId, checklistType) {\r\n /*\r\n This is an example by now im just assuming that the returned object is like the next example\r\n {\r\n \"PropertyTypes\": [{\"PropertyTypeID\": 1, \"PropertyTypeDescription\": \"Office\"}...],\r\n \"PSQPropertyTypes\": [{\"PSQPropertyTypeID\": 1, \"PSQPropertyTypeDescription\": \"Office\"}...],\r\n }\r\n */\r\n \r\n return function (dispatch) {\r\n const authHeader = actionHelpers.buildAuthHeader(checklistId, checklistType);\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetchFromReit(`/properties/lookupData`,\r\n {\r\n method: \"GET\",\r\n headers: authHeader && new Headers({ 'Authorization': authHeader }) \r\n }).then(response => {\r\n return response.json();\r\n })\r\n .then(fetchedTypes => {\r\n dispatch({\r\n type: actions.LOAD_ALL_PROPERTY_TYPES_SUCCESS,\r\n fetchedTypes,\r\n [pendingTask]: end,\r\n });\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Fetch all the chart of account lookup tables data\r\n * @returns {Promise} A Promise\r\n */\r\n export function fetchChartOfAccountTypes() {\r\n\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetchFromTrialBalance(`/chartofaccounts/lookupData`,\r\n {\r\n method: \"GET\" \r\n }).then(response => {\r\n return response.json();\r\n })\r\n .then(fetchedTypes => {\r\n dispatch({\r\n type: actions.LOAD_ALL_CHARTOFACCOUNT_TYPES_SUCCESS,\r\n fetchedTypes,\r\n [pendingTask]: end,\r\n });\r\n });\r\n }\r\n}","import React, { useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport { MotifModal, MotifModalBody, MotifModalHeader } from \"@ey-xd/motif-react\";\r\n\r\nimport { addAttribute } from \"../../common/Attribute\";\r\nimport EditReitForm from '../reits/EditReitForm';\r\n\r\nconst CreateEditReitModal = ({\r\n isOpen,\r\n handleModalClose,\r\n reitFormPurpose,\r\n initialValues,\r\n handleSubmit,\r\n handleDismissErrorMessage,\r\n lookupTypes,\r\n isAudit,\r\n}) => {\r\n\r\n useEffect(() => {\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n let modalHeaderText = 'Create New REIT';\r\n if (reitFormPurpose === \"EDIT\") {\r\n modalHeaderText = 'Edit REIT';\r\n }\r\n\r\n return (\r\n \r\n \r\n {modalHeaderText}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nCreateEditReitModal.propTypes = {\r\n isOpen: PropTypes.bool,\r\n handleModalClose: PropTypes.func,\r\n reitFormPurpose: PropTypes.string,\r\n initialValues: PropTypes.object,\r\n error: PropTypes.object,\r\n submitting: PropTypes.bool,\r\n handleReitSubmit: PropTypes.func,\r\n handleDismissReitErrorMessage: PropTypes.func,\r\n lookupTypes: PropTypes.object,\r\n isAudit: PropTypes.bool,\r\n};\r\n\r\nexport default CreateEditReitModal;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { Button, Icon } from 'semantic-ui-react';\r\nimport { getFormValues, change } from \"redux-form\";\r\n\r\nimport EditClientForm from './EditClientForm';\r\nimport EditReitForm from '../reits/EditReitForm';\r\nimport * as dateHelpers from \"../../scripts/dateHelpers\";\r\nimport * as lookupTypeActions from \"../../actions/lookupTypeActions\";\r\nimport CreateEditReitModal from '../reits/createEditReitModal';\r\n\r\n\r\n/**\r\n * The EditClientComponent class\r\n * @extends {React.Component}\r\n */\r\nexport class EditClientComponent extends React.Component {\r\n /**\r\n * Creates a new EditClientComponent\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n initialValues: null,\r\n reitFormInitialValues: null,\r\n gridCurrentState: [],\r\n isAuthorizedUserSearchBoxVisible: true\r\n };\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.lookupTypeActions.fetchPropertyTypes();\r\n this.resetGridColumnState();\r\n }\r\n\r\n \r\n componentDidUpdate(prevProps) {\r\n if (prevProps.client !== this.props.client) {\r\n if (this.props.client) {\r\n let initialValues = Object.assign({}, this.props.client);\r\n initialValues.isActive = initialValues.isActive.toString();\r\n\r\n this.setState({ initialValues: initialValues });\r\n }\r\n else {\r\n const initialValues = {\r\n id: 0,\r\n name: \"\",\r\n gfisCode: \"\",\r\n engagementNumber: \"\",\r\n isActive: true.toString()\r\n };\r\n\r\n this.setState({ initialValues: initialValues });\r\n }\r\n }\r\n\r\n if (prevProps.selectedReit != this.props.selectedReit) {\r\n const selectedProperty = {\r\n id: 0,\r\n propertyName: \"\",\r\n locationAddressStreet: \"\",\r\n locationAddressCity: \"\",\r\n locationAddressState: \"\",\r\n locationAddressZipCode: \"\",\r\n propertyTypeID: \"0\",\r\n psqPropertyTypes: [],\r\n propertyClassID: \"0\",\r\n rentableSquareFootage: null,\r\n tenantTypeId: \"0\",\r\n propertyParkingTypeID: \"0\",\r\n purchasePrice: null,\r\n PurchaseDate: null,\r\n managementCompany: \"\",\r\n managerName: \"\",\r\n managerPhone: \"\",\r\n managerEmail: \"\",\r\n accountantName: \"\",\r\n accountantEmail: \"\",\r\n accountantPhone: \"\",\r\n propertyAmenities: \"\"\r\n };\r\n const { id, ...otherProps } = selectedProperty;\r\n const newSelectedProperty = { propertyId: id, anotherProperty: 'NO', ...otherProps };\r\n\r\n if (this.props.selectedReit) {\r\n let selectedReit = Object.assign({}, this.props.selectedReit);\r\n // Handle issue of showing empty value when Field is having 0 value on UI\r\n if (!selectedReit.percentageThreshold) {\r\n selectedReit.percentageThreshold = \"0\";\r\n }\r\n if (!selectedReit.balanceThreshold) {\r\n selectedReit.balanceThreshold = \"0\";\r\n }\r\n let reitFormInitialValues = Object.assign({}, selectedReit, newSelectedProperty);\r\n this.setState({ reitFormInitialValues: reitFormInitialValues });\r\n }\r\n else {\r\n const selectedReit = {\r\n reitid: 0,\r\n reitName: \"\",\r\n reitShortName: \"\",\r\n reitTypeID: \"\",\r\n balanceThreshold: \"\",\r\n percentageThreshold: \"\",\r\n numberOfSharesClasses: \"\",\r\n preferredNumberOfShareHolders: \"\",\r\n stateOrganized: \"\",\r\n organizationTypeID: \"\",\r\n periodQuarter: dateHelpers.getQuarter(),\r\n periodYear: dateHelpers.getYear()\r\n };\r\n\r\n let reitFormInitialValues = Object.assign({}, selectedReit, newSelectedProperty);\r\n this.setState({ reitFormInitialValues: reitFormInitialValues });\r\n }\r\n }\r\n //Here is where we have to change the functionality for the auto psq property type selection\r\n if (this.props.propertyValues && prevProps.propertyValues\r\n && prevProps.propertyValues.propertyTypeID !== this.props.propertyValues.propertyTypeID\r\n && ![\"Mixed Use\"].includes(prevProps.lookupTypes.propertyTypes.find(p => p.propertyTypeID == this.props.propertyValues.propertyTypeID).propertyTypeDescription)\r\n ) {\r\n const newValue = prevProps.lookupTypes.propertyTypes.find(p => p.propertyTypeID == this.props.propertyValues.propertyTypeID).propertyTypeDescription;\r\n const newFormValue = newValue !== 'Not Selected' ? [newValue.replace(\"Multi-Family\", \"MultiFamily\")] : [];\r\n this.props.change(\"reit\", \"psqPropertyTypes\", newFormValue);\r\n }\r\n }\r\n\r\n /**\r\n * Handle Grid changes\r\n */\r\n handleGridChanges(gridRowData, gridRefApi) {\r\n let rowData = [];\r\n rowData =\r\n gridRowData &&\r\n gridRowData.length &&\r\n gridRowData.map((x) => {\r\n return {\r\n userId: x.userId,\r\n role: x.role,\r\n receiveDailyNewsletter: x.receiveDailyNewsletter,\r\n receiveWeeklyNewsletter: x.receiveWeeklyNewsletter,\r\n receiveRealTimeNotification: x.receiveRealTimeNotification,\r\n receiveRealTimeNotificationForNewPsqArqcSent: x.receiveRealTimeNotificationForNewPsqArqcSent,\r\n };\r\n });\r\n\r\n this.setState({ gridCurrentState: rowData });\r\n\r\n if (gridRefApi) {\r\n gridRefApi.refreshCells();\r\n }\r\n }\r\n\r\n resetGridColumnState() {\r\n localStorage.removeItem('REITSuiteClientListColumnState');\r\n }\r\n\r\n render() {\r\n const reitModalStyle = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: '60%',\r\n height: '100%', // <-- This sets the height\r\n overlfow: 'scroll' // <-- This tells the modal to scrol\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nEditClientComponent.propTypes = {\r\n showReitForm: PropTypes.bool.isRequired,\r\n handleCloseReitForm: PropTypes.func.isRequired,\r\n handleDismissReitErrorMessage: PropTypes.func.isRequired,\r\n client: PropTypes.object,\r\n reits: PropTypes.array,\r\n lookupTypes: PropTypes.object,\r\n selectedReit: PropTypes.object,\r\n selectedProperty: PropTypes.object,\r\n handleAddReitClick: PropTypes.func,\r\n handleEditReitClick: PropTypes.func,\r\n handleDeleteReitClick: PropTypes.func,\r\n handleReitSubmit: PropTypes.func,\r\n handleClientSubmit: PropTypes.func,\r\n showSuccess: PropTypes.bool,\r\n showReitSuccess: PropTypes.bool,\r\n clientFormPurpose: PropTypes.string,\r\n reitFormPurpose: PropTypes.string,\r\n auths: PropTypes.array,\r\n handleSearchChange: PropTypes.func,\r\n handleClearSearchText: PropTypes.func,\r\n clientUserSearchText: PropTypes.string,\r\n handleEditButtonClick: PropTypes.func,\r\n handleDeleteButtonClick: PropTypes.func,\r\n handleNewButtonClick: PropTypes.func,\r\n showAddClientAuthModal: PropTypes.bool,\r\n handleAddClientAuthModalAction: PropTypes.func,\r\n auth: PropTypes.object,\r\n toggleShowAddClientAuthModal: PropTypes.func,\r\n currentUserId: PropTypes.string,\r\n showEditClientAuthModal: PropTypes.bool,\r\n handleEditClientAuthModalAction: PropTypes.func,\r\n toggleShowEditClientAuthModal: PropTypes.func,\r\n currentUserIsSysAdmin: PropTypes.bool,\r\n addAuthMessageText: PropTypes.string,\r\n maxLimitMessageText: PropTypes.string,\r\n handleDismissErrorMessage: PropTypes.func,\r\n handleDismissSuccessMessage: PropTypes.func,\r\n handleDismissReitSuccessMessage: PropTypes.func,\r\n handleToggleActiveFlag: PropTypes.func,\r\n isActive: PropTypes.bool,\r\n handleToggleAuditFlag: PropTypes.func,\r\n isAudit: PropTypes.bool,\r\n numberOfEngagementAdmins: PropTypes.number,\r\n dataStewardCheckboxDisplay: PropTypes.bool,\r\n dataStewardValue: PropTypes.bool,\r\n showDSError: PropTypes.bool,\r\n handleEditClientCancel: PropTypes.func,\r\n validateDomain: PropTypes.func,\r\n clientAuthFormValues: PropTypes.object,\r\n handleAddClientAuthModalValidateAction: PropTypes.func,\r\n validatingUser: PropTypes.bool,\r\n myEyError: PropTypes.string,\r\n handleDailyNewsletter:PropTypes.func,\r\n receiveDailyNewsletter:PropTypes.bool,\r\n handleWeeklyNewsletter:PropTypes.func,\r\n receiveWeeklyNewsletter:PropTypes.bool,\r\n handleRealTimeNotification:PropTypes.func,\r\n receiveRealTimeNotification:PropTypes.bool,\r\n receiveRealTimeNotificationForNewPsqArqcSent: PropTypes.bool,\r\n handleInternalReviewNotification: PropTypes.func,\r\n handleOnRoleTypeChange:PropTypes.func,\r\n isDataSteward:PropTypes.bool,\r\n handleDataSteward:PropTypes.func\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n propertyValues: getFormValues('reit')(state),\r\n lookupTypes: state.lookupTypes\r\n };\r\n}\r\n\r\n/**\r\n* Binds actions to the dispatcher\r\n* @param {Object} dispatch The action dispatcher\r\n* @returns {Object} An object containing properties that the component can access\r\n*/\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n change: bindActionCreators(change, dispatch),\r\n lookupTypeActions: bindActionCreators(lookupTypeActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(EditClientComponent);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { MotifButton, MotifIcon, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter } from '@ey-xd/motif-react';\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\n\r\nconst DeleteModal = ({\r\n showDeleteModal,\r\n handleDelete,\r\n toggleshowDeleteModal,\r\n closeTitle,\r\n headerTitle,\r\n confirmationMessage,\r\n size\r\n}) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: closeTitle,\r\n ariaLabel: closeTitle,\r\n dataTestid: 'close'\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {headerTitle}\r\n \r\n \r\n \r\n {confirmationMessage}\r\n\r\n \r\n \r\n Cancel\r\n Delete\r\n \r\n \r\n );\r\n};\r\n\r\nDeleteModal.propTypes = {\r\n showDeleteModal: PropTypes.bool,\r\n handleDelete: PropTypes.func,\r\n toggleshowDeleteModal: PropTypes.func,\r\n closeTitle: PropTypes.string,\r\n headerTitle: PropTypes.string,\r\n confirmationMessage: PropTypes.string,\r\n size: PropTypes.string\r\n};\r\n\r\nexport default DeleteModal;","export const allowedDomain = (email, allowedDomains, allValues) => {\r\n if (email) {\r\n const atIndex = email.indexOf('@');\r\n if (atIndex < 1) {\r\n return undefined;\r\n }\r\n\r\n let domains = allowedDomains.split(',');\r\n let emailDomain = email.substr(atIndex + 1).toLowerCase();\r\n\r\n // First, check if domain is in the allowed list\r\n // But only if allValues not passed\r\n if (domains.some(x => x.trim() === emailDomain.trim()) && !allValues) {\r\n return undefined;\r\n }\r\n\r\n // ^(?!.{256})((?:[a-z0-9]?(?:[a-z0-9-]{0,61}[a-z0-9])\\.)+(?:(ey[.]com)))|(^ey[.]com)$\r\n const eySubDomainsRegExp = new RegExp(\r\n `\r\n ${/* Match DNS named host domain having one or more subdomains. */ ''}\r\n ${/* See: http://stackoverflow.com/a/7933253/433790 */ ''}\r\n ^(\r\n (?!.{256}) ${/* Whole domain must be 255 or less. */ ''}\r\n ((?: ${/* One or more sub-domains. */ ''}\r\n [a-z0-9] ${/* Subdomain begins with alpha-num. */ ''}\r\n ?(?: ${/* Optionally more than one char. */ ''}\r\n [a-z0-9-]{0,61} ${/* Middle part may have dashes. */ ''}\r\n [a-z0-9] ${/* Starts and ends with alpha-num. */ ''}\r\n )\\\\. ${/* Subdomain length from 1 to 63 and required dot separates subdomains. */ ''}\r\n )+ ${/* End one or more sub-domains. */ ''}\r\n (?:\r\n (ey[.]com) ${/* ey.com domain only */ ''}\r\n )) ${/* End top level domain. */ ''}\r\n |(^ey[.]com) ${/* OR allow ey.com without subdomain */ ''}\r\n )$ ${/* Anchor to end of string. */ ''}\r\n `.replace(/\\s|\\n/g, ''), // Remove white-space and line breaks in Regular Expression\r\n 'i', // ignore case\r\n );\r\n\r\n if (!allValues || (allValues && allValues.role !== '4')) {\r\n // No matter what is in the allowed list, we will allow the following:\r\n // Allow \"ey.com\" or any subdomain of ey.com (*.ey.com)\r\n // Subdomain portion must begin and end with Letter or Number (not dashes)\r\n if (emailDomain && !eySubDomainsRegExp.test(emailDomain)) {\r\n return `Email ending in '${emailDomain}' is not allowed.`;\r\n }\r\n } else if (allValues && allValues.role == '4') {\r\n // If we are authorizing users, and they are attempting to add an External Checklist User (role==4)\r\n // then we want to ensure they are NOT ey.com domain or subdomains\r\n if (emailDomain && eySubDomainsRegExp.test(emailDomain)) {\r\n return `Email ending in '${emailDomain}' is not allowed.`;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n return undefined;\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { SubmissionError, reset, getFormValues } from \"redux-form\";\r\nimport EditClientComponent from \"../../components/clients/EditClientComponent\";\r\nimport * as clientActions from \"../../actions/clientActions\";\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport * as dataPurgeActions from \"../../actions/dataPurgeActions\";\r\nimport * as propertyActions from \"../../actions/propertyActions\";\r\nimport * as periodActions from \"../../actions/periodActions\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as actionHelpers from \"../../scripts/actionHelpers\";\r\nimport * as dateHelpers from \"../../scripts/dateHelpers\";\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport * as commonActions from \"../../actions/commonActions\";\r\nimport * as constants from '../../constants/other';\r\nimport ReactivateClientModal from \"../../components/clients/ReactivateClientModal\";\r\nimport ClientTypeSwitchingConfirmationMessageModal from \"../../components/clients/ClientTypeSwitchingConfirmationMessageModal\";\r\nimport ClientTypeSwitchingErrorMessageModal from \"../../components/clients/ClientTypeSwitchingErrorMessageModal\";\r\nimport DeleteModal from \"../../components/shared/DeleteModal\";\r\nimport PropertyAmenitiesTableContainer from \"../../containers/shared/PropertyAmenitiesTableContainer\";\r\nimport * as authorizationDomainValidator from \"../../scripts/authorizationDomainValidator\";\r\nimport { store } from \"../../store/configureStore\";\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifIcon,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifToast\r\n} from \"@ey-xd/motif-react\";\r\nimport { ToastContainer, toast, Slide } from 'react-toastify';\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport DataStewardAssignmentRequiredModal from '../../components/dataStewardRoleManagement/dataStewardAssignmentRequiredModal';\r\nimport * as Constants from '../../constants/other';\r\nimport DeactivateClientDisplayErrorMessageModal from \"../../components/clients/DeactivateClientDisplayErrorMessageModal\";\r\n\r\n/**\r\n * The ClientPage class\r\n * @extends {React.Component}\r\n */\r\nexport class EditClientPage extends React.Component {\r\n /**\r\n * Creates a new EditClientPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n showReitForm: false,\r\n clientFormPurpose: \"\",\r\n reitFormPurpose: \"\",\r\n selectedReit: {\r\n reitid: 0,\r\n reitName: \"\",\r\n reitShortName: \"\",\r\n reitTypeID: \"\",\r\n numberOfSharesClasses: 0,\r\n preferredNumberOfShareHolders: 0,\r\n StateOrganized: \"\",\r\n Symbol: \"\",\r\n BalanceThreshold: 0,\r\n PercentageThreshold: 0,\r\n ein: \"\",\r\n organizationTypeID: \"\",\r\n periodQuarter: dateHelpers.getQuarter(),\r\n periodYear: dateHelpers.getYear(),\r\n showMinimumDataStewardWarningModal: false,\r\n showDeactivateErrorMessageModal: false,\r\n showClientSwitchingMessageModal: false,\r\n showClientSwitchingErrorMessageModal: false,\r\n },\r\n showReitSuccess: false,\r\n maximumDataStewardReachedMessage: false,\r\n filteredClientAuths: [],\r\n showAddClientAuthModal: false,\r\n showEditClientAuthModal: false,\r\n showMyEyOnboardingModal: false,\r\n auth: { \"userId\": null, \"resource\": authActions.resource.Client, \"role\": \"2\", \"resourceId\": this.props.clientId, \"id\": null, receiveDailyNewsletter: false, receiveWeeklyNewsletter: false, receiveRealTimeNotification: false, receiveRealTimeNotificationForNewPsqArqcSent: false, isDataSteward: false },\r\n confirmAction: null,\r\n clientUserSearchText: \"\",\r\n currentUserId: this.props.currentUserId,\r\n currentUserIsSysAdmin: this.props.currentUserIsSysAdmin,\r\n addAuthMessageText: null,\r\n maxLimitMessageText: null,\r\n hideSuccessMessage: false,\r\n hideReitSuccessMessage: false,\r\n showReactivateClientModal: false,\r\n clientData: {},\r\n isActive: true,\r\n isAudit: false,\r\n numberOfEngagementAdmins: 0,\r\n numberOfDataStewards: 0,\r\n dataPurgeMaximumDSValue: 0,\r\n allowedDomains: \"\",\r\n myEyUser: {},\r\n receiveDailyNewsletter: false,\r\n receiveWeeklyNewsletter: false,\r\n receiveRealTimeNotificationForNewPsqArqcSent: false,\r\n isDataSteward: false,\r\n showDSError: false,\r\n dataStewardCheckboxDisplay: false,\r\n dataPurgeConfigurationData: [],\r\n deletedUserID: null,\r\n dataStewardValue: false,\r\n canSwitchType: false,\r\n isDisabledValue: !this.props.currentUserIsSysAdmin,\r\n };\r\n this.handleCloseReitForm = this.handleCloseReitForm.bind(this);\r\n this.showReitForm = this.showReitForm.bind(this);\r\n this.handleClientSubmit = this.handleClientSubmit.bind(this);\r\n this.updateClient = this.updateClient.bind(this);\r\n this.handleEditReitClick = this.handleEditReitClick.bind(this);\r\n this.handleReitSubmit = this.handleReitSubmit.bind(this);\r\n this.createProperty = this.createProperty.bind(this);\r\n this.handleSearchChange = this.handleSearchChange.bind(this);\r\n this.handleClearSearchText = this.handleClearSearchText.bind(this);\r\n this.handleEditButtonClick = this.handleEditButtonClick.bind(this);\r\n this.handleDeleteButtonClick = this.handleDeleteButtonClick.bind(this);\r\n this.handleNewButtonClick = this.handleNewButtonClick.bind(this);\r\n this.handleAddClientAuthModalAction = this.handleAddClientAuthModalAction.bind(this);\r\n this.handleAddClientAuthModalCancelAction = this.handleAddClientAuthModalCancelAction.bind(this);\r\n this.toggleShowAddClientAuthModal = this.toggleShowAddClientAuthModal.bind(this);\r\n this.toggleShowMyEyOnboardingModal = this.toggleShowMyEyOnboardingModal.bind(this);\r\n this.handleEditClientAuthModalAction = this.handleEditClientAuthModalAction.bind(this);\r\n this.handleEditClientAuthModalCancelAction = this.handleEditClientAuthModalCancelAction.bind(this);\r\n this.toggleShowEditClientAuthModal = this.toggleShowEditClientAuthModal.bind(this);\r\n this.onConfirmDelete = this.onConfirmDelete.bind(this);\r\n this.handleCancelDelete = this.handleCancelDelete.bind(this);\r\n this.handleDismissErrorMessage = this.handleDismissErrorMessage.bind(this);\r\n this.handleDismissReitErrorMessage = this.handleDismissReitErrorMessage.bind(this);\r\n this.handleDismissSuccessMessage = this.handleDismissSuccessMessage.bind(this);\r\n this.handleDismissReitSuccessMessage = this.handleDismissReitSuccessMessage.bind(this);\r\n this.handleToggleActiveFlag = this.handleToggleActiveFlag.bind(this);\r\n this.handleToggleAuditFlag = this.handleToggleAuditFlag.bind(this);\r\n this.handleReactivateClient = this.handleReactivateClient.bind(this);\r\n this.handleDeactivateClient = this.handleDeactivateClient.bind(this);\r\n this.toggleShowReactivateClientModal = this.toggleShowReactivateClientModal.bind(this);\r\n this.toggleIsActive = this.toggleIsActive.bind(this);\r\n this.handleEditClientCancel = this.handleEditClientCancel.bind(this);\r\n this.redirectToPropertiesPage = this.redirectToPropertiesPage.bind(this);\r\n this.validateDomain = this.validateDomain.bind(this);\r\n this.validateDomainWithRole = this.validateDomainWithRole.bind(this);\r\n this.handleAddClientAuthModalValidateAction = this.handleAddClientAuthModalValidateAction.bind(this);\r\n this.handleDailyNewsletter = this.handleDailyNewsletter.bind(this);\r\n this.handleWeeklyNewsletter = this.handleWeeklyNewsletter.bind(this);\r\n this.handleRealTimeNotification = this.handleRealTimeNotification.bind(this);\r\n this.handleInternalReviewNotification = this.handleInternalReviewNotification.bind(this);\r\n this.handleOnRoleTypeChange = this.handleOnRoleTypeChange.bind(this);\r\n this.handleDataSteward = this.handleDataSteward.bind(this);\r\n this.handleDataStewardCheckboxDisplay = this.handleDataStewardCheckboxDisplay.bind(this);\r\n this.handleDataStewardsForClientCount = this.handleDataStewardsForClientCount.bind(this);\r\n this.toggleShowMinimumDataStewardWarningModal = this.toggleShowMinimumDataStewardWarningModal.bind(this);\r\n this.toggleShowDeactivateClientModal = this.toggleShowDeactivateClientModal.bind(this);\r\n this.toastSystem = React.createRef();\r\n this.toggleShowClientSwitchingModal = this.toggleShowClientSwitchingModal.bind(this);\r\n this.toggleShowClientSwitchingErrorModal = this.toggleShowClientSwitchingErrorModal.bind(this);\r\n this.handleClientSwitching = this.handleClientSwitching.bind(this);\r\n }\r\n\r\n /**\r\n * Invoked immediately after a component mounts\r\n */\r\n componentDidMount() {\r\n if (this.props.clientId) {\r\n this.props.actions.loadClient(this.props.clientId);\r\n this.props.reitActions.fetchReits(this.props.clientId);\r\n this.props.dataPurgeActions.fetchDataPurgeConfigurationData();\r\n this.props.reitActions.fetchReitLookupTypes();\r\n this.props.authorizationActions.fetchAuthorizations(null, 2, this.props.clientId, null);\r\n this.props.clientActions.checkIfClientCanSwitchType(this.props.clientId).then(\r\n (responseData) => {\r\n this.setState({ canSwitchType: responseData })\r\n });\r\n this.setFilter();\r\n } else {\r\n this.props.actions.unloadClient();\r\n }\r\n authActions.fetchAllowedAuthorizationDomains().then((allowedDomains) => { this.setState({ allowedDomains: allowedDomains }); });\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n if (this.props.authorizations !== prevProps.authorizations && this.props.authorizations && prevProps.authorizations) {\r\n if (this.props.clientId) {\r\n const list = Object.assign([], this.props.authorizations);\r\n this.setState({ filteredClientAuths: list },\r\n this.setState({\r\n numberOfEngagementAdmins: this.props.authorizations.filter(x => x.resourceId === this.props.clientId.toString() && x.resource === 2 && x.role === 1).length,\r\n })\r\n );\r\n }\r\n }\r\n\r\n if (prevState.numberOfDataStewards !== this.state.numberOfDataStewards) {\r\n if (this.state.numberOfDataStewards >= this.dataPurgeMaximumDSValue) {\r\n this.setState({ dataStewardCheckboxDisplay: true });\r\n }\r\n }\r\n\r\n if (this.props.dataPurgeConfigurationData != prevProps.dataPurgeConfigurationData) {\r\n this.getDataPurgeMaximumDSValue();\r\n }\r\n if (this.props.clientId !== prevProps.clientId) {\r\n this.props.actions.loadClient(this.props.clientId);\r\n this.props.dataPurgeActions.fetchDataPurgeConfigurationData();\r\n this.props.reitActions.fetchReits(this.props.clientId);\r\n this.props.authorizationActions.fetchAuthorizations(null, 2, this.props.clientId, null);\r\n\r\n this.setFilter();\r\n }\r\n\r\n if (this.props.client !== prevProps.client) {\r\n if (this.props.client !== null) {\r\n this.setState({ isActive: this.props.client.isActive, isAudit: this.props.client.isAudit });\r\n this.reloadAdminAuths(true);\r\n this.props.dataPurgeActions.fetchDataPurgeConfigurationData();\r\n\r\n\r\n }\r\n }\r\n }\r\n toggleShowDeactivateClientModal() {\r\n this.setState({ showDeactivateErrorMessageModal: false });\r\n }\r\n\r\n toggleShowClientSwitchingModal() {\r\n this.setState({ showClientSwitchingMessageModal: false });\r\n }\r\n\r\n toggleShowClientSwitchingErrorModal() {\r\n this.setState({ showClientSwitchingErrorMessageModal: false });\r\n }\r\n\r\n handleDismissErrorMessage() {\r\n this.props.commonActions.clearFormErrors('client');\r\n }\r\n\r\n handleDismissReitErrorMessage() {\r\n this.props.commonActions.clearFormErrors('reit');\r\n }\r\n\r\n handleDismissSuccessMessage() {\r\n this.setState({ hideSuccessMessage: true });\r\n }\r\n\r\n handleDismissReitSuccessMessage() {\r\n this.setState({ hideReitSuccessMessage: true });\r\n }\r\n\r\n reloadReits(reloadReits) {\r\n if (reloadReits) {\r\n this.props.reitActions.fetchReits(this.props.clientId);\r\n }\r\n }\r\n\r\n handleEditClientCancel() {\r\n this.props.router.navigate(\"/\");\r\n }\r\n\r\n getDataPurgeMaximumDSValue() {\r\n const dataPurgeConfig = this.props.dataPurgeConfigurationData && this.props.dataPurgeConfigurationData.find(item => item.dataPurgeConfigurationID === 4);\r\n return this.dataPurgeMaximumDSValue = dataPurgeConfig ? dataPurgeConfig.dataPurgeConfigurationValue : null;\r\n }\r\n\r\n handleDataStewardCheckboxDisplay(numberOfDataStewards) {\r\n if (numberOfDataStewards >= this.dataPurgeMaximumDSValue) {\r\n this.setState({ dataStewardCheckboxDisplay: true });\r\n }\r\n else {\r\n this.setState({ dataStewardCheckboxDisplay: false });\r\n }\r\n }\r\n\r\n handleDataStewardsForClientCount() {\r\n const numberOfDataStewards = this.props.authorizations && this.props.authorizations.filter(x => x.resourceId === this.props.clientId.toString() && x.resource === 2 && x.isDataSteward === true).length;\r\n this.setState({\r\n numberOfDataStewards: numberOfDataStewards\r\n });\r\n this.handleDataStewardCheckboxDisplay(numberOfDataStewards);\r\n\r\n }\r\n\r\n handleClientSubmit(values) {\r\n this.setState({ hideSuccessMessage: false });\r\n const client = {\r\n id: this.props.clientId,\r\n legalName: values.legalName,\r\n name: values.name,\r\n gfisCode: values.gfisCode,\r\n engagementNumber: values.engagementNumber,\r\n isActive: this.state.isActive,\r\n isAudit: this.state.isAudit,\r\n contactName: values.contactName,\r\n contactPhone: values.contactPhone,\r\n contactEmail: values.contactEmail,\r\n engagementAdministratorEmail: values.engagementAdministratorEmail\r\n };\r\n\r\n if (client.id === 0 || isNaN(client.id)) {\r\n this.setState({ clientFormPurpose: \"\" });\r\n return this.createClient(client);\r\n }\r\n\r\n this.setState({ clientFormPurpose: \"EDIT\" });\r\n return this.updateClient(client);\r\n }\r\n\r\n createClient(client) {\r\n return this.props.clientActions.createClient(client).then(data => {\r\n this.setState({ reloadClients: true });\r\n if (data && data.id && !data.errorCode) { // As long as we don't get back data, or the data we get back doesn't have an errorCode, assume success\r\n this.props.router.navigate(`/client/${data.id}/edit?showSuccess=true`);\r\n return;\r\n }\r\n\r\n formHelpers.generateSubmissionError(data);\r\n }).catch(err => {\r\n if (err instanceof SubmissionError) {\r\n throw err;\r\n }\r\n\r\n formHelpers.generateSubmissionError();\r\n });\r\n }\r\n\r\n updateClient(client) {\r\n return clientActions.updateClient(client).then(data => {\r\n if (data && data.id && !data.errorCode) { // As long as we don't get back data, or the data we get back doesn't have an errorCode, assume success\r\n this.props.actions.loadClient(this.props.clientId);\r\n this.props.router.navigate(`/client/${data.id}/edit?showSuccess=true`);\r\n return;\r\n }\r\n\r\n formHelpers.generateSubmissionError(data);\r\n }).catch(err => {\r\n if (err instanceof SubmissionError) {\r\n throw err;\r\n }\r\n\r\n formHelpers.generateSubmissionError();\r\n });\r\n }\r\n\r\n handleReitSubmit(values, e) {\r\n\r\n this.setState({ hideReitSuccessMessage: false });\r\n\r\n let reitToHandle = Object.assign({}, values);\r\n if (values.ein && values.ein.indexOf(\"-\") === -1) {\r\n reitToHandle.ein = `${values.ein.slice(0, 2)}-${values.ein.slice(2)}`;\r\n }\r\n if (this.state.reitFormPurpose === \"EDIT\") {\r\n return this.handleReitEditSubmit(reitToHandle);\r\n }\r\n\r\n return this.handleReitCreateSubmit(reitToHandle);\r\n }\r\n\r\n handleReitCreateSubmit(values) {\r\n this.props.commonActions.beginTask();\r\n\r\n this.setState({ showReitSuccess: false });\r\n if (this.props.clientId === 0) {\r\n this.props.commonActions.endTask();\r\n throw new SubmissionError({ _error: \"A REIT must be associated with a client.\" });\r\n }\r\n\r\n const reit = {\r\n reitID: this.props.reitID,\r\n reitName: values.reitName,\r\n reitShortName: values.reitShortName,\r\n balanceThreshold: values.balanceThreshold,\r\n percentageThreshold: values.percentageThreshold,\r\n reitTypeID: values.reitTypeID || 0,\r\n numberOfSharesClasses: values.numberOfSharesClasses || 0,\r\n preferredNumberOfShareHolders: values.preferredNumberOfShareHolders || 0,\r\n stateOrganized: values.stateOrganized,\r\n clientId: this.props.clientId,\r\n dateOfElection: values.dateOfElection,\r\n symbol: values.symbol,\r\n ein: values.ein,\r\n organizationTypeID: values.organizationTypeID,\r\n formationDate: values.formationDate,\r\n periodQuarter: values.periodQuarter,\r\n periodYear: values.periodYear\r\n };\r\n\r\n const propertyAmenities = PropertyAmenitiesTableContainer.convertFromReduxFormValueToPropertyAmenityCollection(values.propertyAmenities, values.propertyId);\r\n\r\n const property = {\r\n id: this.props.propertyId,\r\n reportPeriodId: 1,\r\n //name: values.propertyName.trim(),\r\n propertyName: values.propertyName.trim(),\r\n locationAddressStreet: values.locationAddressStreet.trim(),\r\n locationAddressCity: values.locationAddressCity.trim(),\r\n locationAddressState: values.locationAddressState,\r\n locationAddressZipCode: values.locationAddressZipCode,\r\n propertyTypeID: values.propertyTypeID,\r\n psqPropertyTypes: values.psqPropertyTypes.map(p => p.replace(\"Multi-Family\", \"MultiFamily\")),\r\n propertyClassID: values.propertyClassID,\r\n rentableSquareFootage: values.rentableSquareFootage,\r\n tenantTypeId: values.tenantTypeId,\r\n percentageOfOwnership: values.percentageOfOwnership,\r\n propertyParkingTypeID: values.propertyParkingTypeID,\r\n purchasePrice: values.purchasePrice,\r\n purchaseDate: values.purchaseDate,\r\n managementCompany: values.managementCompany.trim(),\r\n managerName: values.managerName.trim(),\r\n managerPhone: values.managerPhone,\r\n managerEmail: values.managerEmail.trim(),\r\n accountantName: values.accountantName.trim(),\r\n accountantEmail: values.accountantEmail.trim(),\r\n accountantPhone: values.accountantPhone,\r\n propertyAmenity: propertyAmenities\r\n };\r\n\r\n if (!property.rentableSquareFootage) {\r\n property.rentableSquareFootage = 0;\r\n }\r\n\r\n if (!property.purchasePrice) {\r\n property.purchasePrice = 0.00;\r\n }\r\n\r\n //Create Reit\r\n return reitActions.createReit(reit).then(data => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n this.props.commonActions.endTask();\r\n return formHelpers.generateSubmissionError(data);\r\n }\r\n\r\n //Create Property\r\n if (property.id === undefined || property.id === 0 || isNaN(property.id)) {\r\n const reitId = data.reitid;\r\n //add Report Period to Property\r\n property.reportPeriodId = periodActions.getCurrentPeriod(data).reportPeriodID;\r\n\r\n //Create Property\r\n return this.createProperty(property, reitId, values.anotherProperty === 'YES');\r\n } else {\r\n this.handleCloseReitForm();\r\n this.props.reitActions.fetchReits(this.props.clientId);\r\n this.setState({ showReitSuccess: true });\r\n this.props.commonActions.endTask();\r\n }\r\n });\r\n\r\n }\r\n\r\n handleReitEditSubmit(values) {\r\n this.props.commonActions.beginTask();\r\n\r\n this.setState({ showReitSuccess: false });\r\n if (this.props.clientId === 0) {\r\n throw new SubmissionError({ _error: \"A REIT must be associated with a client.\" });\r\n }\r\n const reit = {\r\n reitID: values.reitid,\r\n reitName: values.reitName,\r\n reitShortName: values.reitShortName,\r\n balanceThreshold: values.balanceThreshold,\r\n dateOfElection: values.dateOfElection,\r\n percentageThreshold: values.percentageThreshold,\r\n reitTypeID: values.reitTypeID || 0,\r\n numberOfSharesClasses: values.numberOfSharesClasses || 0,\r\n preferredNumberOfShareHolders: values.preferredNumberOfShareHolders || 0,\r\n stateOrganized: values.stateOrganized,\r\n symbol: values.symbol,\r\n clientId: this.props.clientId,\r\n ein: values.ein,\r\n organizationTypeID: values.organizationTypeID,\r\n formationDate: values.formationDate\r\n };\r\n\r\n return this.updateReit(reit);\r\n }\r\n\r\n updateReit(reit) {\r\n return reitActions.updateReit(reit).then(data => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n this.props.commonActions.endTask();\r\n return formHelpers.generateSubmissionError(data);\r\n }\r\n this.handleCloseReitForm();\r\n this.props.reitActions.fetchReits(this.props.clientId);\r\n this.setState({ showReitSuccess: true });\r\n this.props.commonActions.endTask();\r\n return;\r\n\r\n }).catch(err => {\r\n if (err instanceof SubmissionError) {\r\n throw err;\r\n }\r\n\r\n this.props.commonActions.endTask();\r\n formHelpers.generateSubmissionError();\r\n });\r\n }\r\n\r\n createProperty(property, reitId, addMoreProperties) {\r\n return propertyActions.createProperty(property).then(data => {\r\n if (data && data.propertyID && !data.errorCode) { // As long as we don't get back data, or the data we get back doesn't have an errorCode, assume success\r\n\r\n if (addMoreProperties && reitId) {\r\n this.props.commonActions.endTask();\r\n this.redirectToPropertiesPage(reitId, property.reportPeriodId);\r\n return;\r\n }\r\n\r\n //Close call modal\r\n this.handleCloseReitForm();\r\n\r\n //refresh list\r\n this.props.reitActions.fetchReits(this.props.clientId);\r\n\r\n this.setState({ showReitSuccess: true });\r\n this.props.commonActions.endTask();\r\n\r\n return;\r\n }\r\n\r\n if (data && Array.isArray(data.validationErrors)) {\r\n for (let index = 0; index < data.validationErrors.length; index++) {\r\n if (data.validationErrors[index].element.toLowerCase() === \"name\") {\r\n data.validationErrors[index].element = \"propertyName\";\r\n }\r\n }\r\n }\r\n\r\n this.props.commonActions.endTask();\r\n return formHelpers.generateSubmissionError(data);\r\n }).catch(err => {\r\n if (err instanceof SubmissionError) {\r\n this.props.commonActions.endTask();\r\n throw err;\r\n }\r\n\r\n this.props.commonActions.endTask();\r\n formHelpers.generateSubmissionError();\r\n });\r\n }\r\n\r\n showReitForm(e) {\r\n e.preventDefault();\r\n this.props.clientActions.loadClient(this.props.clientId).then(() => {\r\n this.setState({ isAudit: this.props.client.isAudit});\r\n this.setState({ showReitForm: true, reitFormPurpose: \"\", selectedReit: null });\r\n }); \r\n }\r\n\r\n handleCloseReitForm() {\r\n this.setState({ showReitForm: false });\r\n }\r\n\r\n handleEditReitClick(values) {\r\n\r\n const reit = {\r\n reitid: values.reitid,\r\n reitName: values.reitName,\r\n reitShortName: values.reitShortName,\r\n balanceThreshold: values.balanceThreshold,\r\n dateOfElection: values.dateOfElection,\r\n percentageThreshold: values.percentageThreshold,\r\n reitTypeID: values.reitTypeID || 0,\r\n numberOfSharesClasses: values.numberOfSharesClasses || 0,\r\n preferredNumberOfShareHolders: values.preferredNumberOfShareHolders || 0,\r\n stateOrganized: values.stateOrganized,\r\n symbol: values.symbol,\r\n clientId: values.clientId,\r\n ein: values.ein,\r\n organizationTypeID: values.organizationTypeID,\r\n formationDate: values.formationDate\r\n };\r\n\r\n this.setState({ showReitForm: true, reitFormPurpose: \"EDIT\", selectedReit: reit });\r\n }\r\n\r\n handleDeleteReitClick(reitId) {\r\n // Not yet supported.\r\n }\r\n\r\n handleSearchChange(e) {\r\n this.setState({ clientUserSearchText: e.target.value }, this.setFilter);\r\n }\r\n\r\n handleClearSearchText(e) {\r\n this.setState({ clientUserSearchText: \"\" }, this.setFilter);\r\n }\r\n\r\n handleDeleteButtonClick(auth) {\r\n if (auth.isDataSteward && this.props.authorizations && this.props.authorizations.filter(x => x.isDataSteward).length === 1) {\r\n this.toggleShowMinimumDataStewardWarningModal();\r\n return;\r\n }\r\n\r\n let id = auth.id;\r\n this.deletedUserID = auth.userId;\r\n this.setState({\r\n confirmAction: () => this.props.authActions.removeAuthorization(id).then(() => {\r\n this.reloadAdminAuths(true);\r\n this.setState({ auth: { \"userId\": null, \"resource\": authActions.resource.Client, \"role\": \"2\", \"resourceId\": this.props.clientId, \"id\": null, receiveDailyNewsletter: false, receiveWeeklyNewsletter: false } });\r\n })\r\n });\r\n }\r\n\r\n handleNewButtonClick(e) {\r\n e.preventDefault();\r\n this.toggleShowAddClientAuthModal();\r\n this.handleDataStewardsForClientCount();\r\n }\r\n\r\n handleAddClientAuthModalAction(values) {\r\n if (!values || !values.userId || values.userId.trim() === \"\") {\r\n this.setState({ addAuthMessageText: \"Required\" });\r\n return;\r\n }\r\n\r\n for (let auth of this.props.authorizations) {\r\n if (values.userId.toLowerCase() === auth.userId.toLowerCase()) {\r\n this.setState({ addAuthMessageText: `'${values.userId}' is already an authorized user.` });\r\n return;\r\n }\r\n }\r\n\r\n let authValues = Object.assign({}, values);\r\n this.handleDataStewardsForClientCount();\r\n authValues.receiveDailyNewsletter = this.state.receiveDailyNewsletter;\r\n authValues.receiveWeeklyNewsletter = this.state.receiveWeeklyNewsletter;\r\n authValues.receiveRealTimeNotification = this.state.receiveRealTimeNotification;\r\n authValues.isDataSteward = this.state.isDataSteward;\r\n authValues.receiveRealTimeNotificationForNewPsqArqcSent = this.state.receiveRealTimeNotificationForNewPsqArqcSent;\r\n // Populate companyName using companyId if needed\r\n // If there were multiple companies get the name by id selected, otherwise, use company_name\r\n if (values.role === '4') {\r\n // If missing first/last name, then exit function\r\n if (!values || !values.first_name || !values.first_name.trim() === \"\" || !values.last_name || !values.last_name.trim() === \"\") {\r\n return;\r\n }\r\n\r\n authValues = Object.assign(\r\n {},\r\n authValues,\r\n {\r\n companyName: values.companies && values.companies.length > 0 ?\r\n values.companies.find(x => x.id == values.companyId).name : values.company_name,\r\n firstName: values.first_name,\r\n lastName: values.last_name,\r\n guid: this.state.myEyUser ? this.state.myEyUser.guid : null\r\n\r\n }\r\n );\r\n\r\n if (authValues.companies) {\r\n delete authValues.companies;\r\n }\r\n }\r\n\r\n this.props.commonActions.beginTask();\r\n\r\n this.props.authActions.createAuthorization(authValues).then(() => {\r\n\r\n this.reloadAdminAuths(true);\r\n this.setState({\r\n auth: {\r\n \"userId\": null,\r\n \"resource\": authActions.resource.Client,\r\n \"role\": \"2\",\r\n \"resourceId\": this.props.clientId,\r\n \"id\": null,\r\n receiveDailyNewsletter: false,\r\n receiveWeeklyNewsletter: false,\r\n receiveRealTimeNotification: false,\r\n receiveRealTimeNotificationForNewPsqArqcSent: false,\r\n isDataSteward: false\r\n },\r\n });\r\n this.toggleShowAddClientAuthModal();\r\n }).catch((error) => {\r\n this.toggleShowAddClientAuthModal();\r\n this.reloadAdminAuths(true);\r\n var authStatusNotification = toast(\r\n (\r\n this.handleAuthStatusNotificationClose(authStatusNotification)}\r\n >\r\n
    \r\n
    \r\n {error.message}\r\n
    \r\n
    \r\n
    \r\n )\r\n , {\r\n autoClose: 5000,\r\n });\r\n });\r\n // If we just added a new External Checklist User, and they are a new My EY user,\r\n // then show the additional modal with My EY Onboarding information\r\n // NOTE: No longer using this additional modal\r\n // if (authValues.role === '4' && !authValues.status) {\r\n // this.toggleShowMyEyOnboardingModal();\r\n // }\r\n\r\n this.props.commonActions.endTask();\r\n }\r\n\r\n\r\n handleEditButtonClick(formAuth) {\r\n this.handleDataStewardsForClientCount();\r\n for (let a of this.props.authorizations) {\r\n if (a.id === formAuth.id) {\r\n\r\n let authToUpdate = Object.assign({}, a);\r\n authToUpdate.role = a.role.toString();\r\n this.setState({ dataStewardValue: authToUpdate.isDataSteward });\r\n this.setState({ auth: authToUpdate, receiveDailyNewsletter: authToUpdate.receiveDailyNewsletter, receiveWeeklyNewsletter: authToUpdate.receiveWeeklyNewsletter, receiveRealTimeNotification: authToUpdate.receiveRealTimeNotification, receiveRealTimeNotificationForNewPsqArqcSent: authToUpdate.receiveRealTimeNotificationForNewPsqArqcSent, isDataSteward: authToUpdate.isDataSteward },\r\n () => {\r\n this.toggleShowEditClientAuthModal();\r\n });\r\n break;\r\n }\r\n\r\n }\r\n }\r\n\r\n handleAuthStatusNotificationClose(authStatusNotification) {\r\n if (authStatusNotification && toast.isActive(authStatusNotification)) {\r\n toast.dismiss(authStatusNotification);\r\n }\r\n }\r\n\r\n handleEditClientAuthModalAction(values) {\r\n const dataStewardUserID = this.props.authorizations && this.props.authorizations.find(x => x.isDataSteward)?.userId || null;\r\n if (this.props.authorizations && this.props.authorizations.filter(x => x.isDataSteward).length === 1) {\r\n if ((!this.state.isDataSteward || values.role !== \"1\") && dataStewardUserID === this.state.auth.userId) {\r\n this.toggleShowEditClientAuthModal();\r\n this.toggleShowMinimumDataStewardWarningModal();\r\n this.setState({\r\n auth: {\r\n \"userId\": null,\r\n \"resource\": authActions.resource.Client,\r\n \"role\": \"2\",\r\n \"resourceId\": this.props.clientId,\r\n \"id\": null,\r\n receiveDailyNewsletter: false,\r\n receiveWeeklyNewsletter: false,\r\n receiveRealTimeNotificationForNewPsqArqcSent: false,\r\n isDataSteward: true\r\n }\r\n });\r\n return;\r\n }\r\n }\r\n const updatedValues = {\r\n ...values,\r\n receiveDailyNewsletter: this.state.receiveDailyNewsletter,\r\n receiveWeeklyNewsletter: this.state.receiveWeeklyNewsletter,\r\n receiveRealTimeNotification: this.state.receiveRealTimeNotification,\r\n receiveRealTimeNotificationForNewPsqArqcSent: this.state.receiveRealTimeNotificationForNewPsqArqcSent,\r\n isDataSteward: values.role === \"1\" ? this.state.isDataSteward : false,\r\n };\r\n\r\n this.setState({ auth: updatedValues }, () => {\r\n this.props.authActions.updateAuthorization(this.state.auth).then(() => {\r\n this.reloadAdminAuths(true);\r\n this.setState({\r\n auth: {\r\n \"userId\": null,\r\n \"resource\": authActions.resource.Client,\r\n \"role\": \"2\",\r\n \"resourceId\": this.props.clientId,\r\n \"id\": null,\r\n receiveDailyNewsletter: false,\r\n receiveWeeklyNewsletter: false,\r\n receiveRealTimeNotificationForNewPsqArqcSent: false,\r\n isDataSteward: false\r\n }\r\n });\r\n this.toggleShowEditClientAuthModal();\r\n }).catch((error) => {\r\n this.toggleShowEditClientAuthModal();\r\n this.reloadAdminAuths(true);\r\n var authStatusNotification = toast(\r\n (\r\n this.handleAuthStatusNotificationClose(authStatusNotification)}\r\n >\r\n
    \r\n
    \r\n {error.message}\r\n
    \r\n
    \r\n
    \r\n )\r\n , {\r\n autoClose: 5000,\r\n });\r\n });\r\n });\r\n }\r\n\r\n handleEditClientAuthModalCancelAction() {\r\n this.props.commonActions.clearFormErrors(\"clientAuth\");\r\n this.setState({\r\n auth: {\r\n \"userId\": null,\r\n \"resource\": authActions.resource.Client,\r\n \"role\": \"2\",\r\n \"resourceId\": this.props.clientId,\r\n \"id\": null,\r\n receiveDailyNewsletter: false,\r\n receiveWeeklyNewsletter: false,\r\n receiveRealTimeNotification: false,\r\n receiveRealTimeNotificationForNewPsqArqcSent: false,\r\n isDataSteward: false\r\n }\r\n }, () => this.toggleShowEditClientAuthModal());\r\n }\r\n\r\n handleAddClientAuthModalCancelAction() {\r\n this.props.commonActions.clearFormErrors(\"clientAuth\");\r\n this.setState({\r\n auth: {\r\n \"userId\": null,\r\n \"resource\": authActions.resource.Client,\r\n \"role\": \"2\",\r\n \"resourceId\": this.props.clientId,\r\n \"id\": null,\r\n receiveDailyNewsletter: false,\r\n receiveWeeklyNewsletter: false,\r\n isDataSteward: false\r\n },\r\n addAuthMessageText: null,\r\n maxLimitMessageText: null,\r\n myEyUser: {}\r\n }, () => this.toggleShowAddClientAuthModal());\r\n\r\n }\r\n\r\n handleAddClientAuthModalValidateAction(valid) {\r\n if (valid) {\r\n // Check if user is already authorized for this Client\r\n for (let auth of this.props.authorizations) {\r\n if (this.props.clientAuthFormValues.userId.toLowerCase() === auth.userId.toLowerCase()) {\r\n this.setState({ addAuthMessageText: `'${this.props.clientAuthFormValues.userId}' is already an authorized user.` });\r\n return;\r\n }\r\n }\r\n\r\n this.setState({ myEyUser: {}, validatingUser: true, myEyError: null, addAuthMessageText: null }, () => {\r\n authActions.getMyEyUserByEmail(this.props.clientAuthFormValues.userId).then((myEyUser) => {\r\n // If the domain_status is INACTIVE, we will not be able to add this email domain to MyEY\r\n if (myEyUser.domain_status === 'INACTIVE') {\r\n this.setState({\r\n validatingUser: false,\r\n myEyError: 'Unable to verify the email domain of the user in My EY. Please contact system admin for assistance.'\r\n });\r\n } else {\r\n this.setState({\r\n validatingUser: false,\r\n myEyUser: myEyUser,\r\n auth: Object.assign({}, this.state.auth, {\r\n userId: myEyUser.email,\r\n role: '4',\r\n first_name: myEyUser.first_name,\r\n last_name: myEyUser.last_name,\r\n company_name: myEyUser.company_name,\r\n companies: myEyUser.companies,\r\n companyId: myEyUser.companies && myEyUser.companies[0] ? myEyUser.companies[0].id : null,\r\n applications: myEyUser.applications,\r\n status: myEyUser.status\r\n })\r\n });\r\n }\r\n }).catch((err) => {\r\n this.setState({\r\n validatingUser: false,\r\n myEyError: 'Error validating My EY User.'\r\n })\r\n });\r\n });\r\n }\r\n }\r\n\r\n reloadAdminAuths(reloadAdminAuths) {\r\n if (reloadAdminAuths) {\r\n this.props.authorizationActions.fetchAuthorizations(null, 2, this.props.clientId, null);\r\n }\r\n }\r\n\r\n toggleShowAddClientAuthModal() {\r\n if (!this.state.showAddClientAuthModal) {\r\n this.setState({\r\n auth: {\r\n \"userId\": null,\r\n \"resource\": authActions.resource.Client,\r\n \"role\": \"2\",\r\n \"resourceId\": this.props.clientId,\r\n \"id\": null,\r\n \"myEyError\": null,\r\n receiveDailyNewsletter: false,\r\n receiveWeeklyNewsletter: false,\r\n receiveRealTimeNotification: false,\r\n receiveRealTimeNotificationForNewPsqArqcSent: false,\r\n isDataSteward: false\r\n },\r\n addAuthMessageText: null,\r\n maxLimitMessageText: null,\r\n myEyUser: {},\r\n receiveDailyNewsletter: false,\r\n receiveWeeklyNewsletter: false,\r\n receiveRealTimeNotification: true,\r\n receiveRealTimeNotificationForNewPsqArqcSent: false,\r\n myEyError: null,\r\n isDataSteward: false\r\n },\r\n this.setState({ showAddClientAuthModal: !this.state.showAddClientAuthModal }));\r\n } else {\r\n this.setState({ showAddClientAuthModal: !this.state.showAddClientAuthModal }, () => store.dispatch(reset('clientAuth')));\r\n }\r\n }\r\n\r\n toggleShowMyEyOnboardingModal() {\r\n this.setState({ showMyEyOnboardingModal: !this.state.showMyEyOnboardingModal });\r\n }\r\n\r\n toggleShowEditClientAuthModal() {\r\n this.setState({ showEditClientAuthModal: !this.state.showEditClientAuthModal });\r\n }\r\n\r\n setFilter() {\r\n if (this.state.clientUserSearchText === \"\") {\r\n this.setState({ filteredClientAuths: Object.assign([], this.props.authorizations) });\r\n } else {\r\n this.setState({ filteredClientAuths: this.props.authorizations.filter((auth) => auth.userId.toLowerCase().includes(this.state.clientUserSearchText.toLowerCase())) });\r\n }\r\n }\r\n\r\n onConfirmDelete() {\r\n if (!this.state.currentUserIsSysAdmin && this.deletedUserID?.toLowerCase() == this.state.currentUserId?.toLowerCase()) {\r\n this.props.router.navigate('/');\r\n this.setState({ reloadClients: true });\r\n }\r\n if (this.state.confirmAction) {\r\n this.state.confirmAction();\r\n this.setState({ confirmAction: null });\r\n }\r\n }\r\n\r\n handleCancelDelete() {\r\n this.setState({ confirmAction: null });\r\n }\r\n\r\n handleToggleActiveFlag(e, clientId, clientName, clientLegalName, isDisabled) {\r\n const clientData = {\r\n \"id\": clientId,\r\n \"name\": clientName,\r\n \"legalName\": clientLegalName\r\n };\r\n if (e.target.checked) {\r\n // Only do confirmation if not a NEW CLIENT\r\n if (this.props.clientId !== 0 && !isDisabled) {\r\n this.setState({ clientData: clientData }, this.toggleShowReactivateClientModal());\r\n }\r\n else {\r\n this.handleReactivateClient();\r\n }\r\n\r\n return;\r\n }\r\n\r\n this.handleDeactivateClient();\r\n }\r\n\r\n handleToggleAuditFlag(e, isDisabled) {\r\n if(!isDisabled){\r\n if(this.props.clientId>0){\r\n this.props.clientActions.checkIfClientCanSwitchType(this.props.clientId)\r\n .then((responseData) => {\r\n this.setState({ canSwitchType: responseData }, () => {\r\n if (this.state.canSwitchType) {\r\n this.setState({ showClientSwitchingMessageModal: true });\r\n } else {\r\n this.setState({ showClientSwitchingErrorMessageModal: true });\r\n } \r\n });\r\n });\r\n }\r\n else{\r\n this.setState({ isAudit: !this.state.isAudit });\r\n }\r\n }\r\n }\r\n\r\n handleClientSwitching() {\r\n this.setState({ showClientSwitchingMessageModal: false });\r\n const requestData = {\r\n \"clientId\": this.props.clientId,\r\n \"isAudit\": !this.state.isAudit,\r\n };\r\n this.props.clientActions.switchClientType(requestData).then(() => {\r\n this.setState({ isAudit: !this.state.isAudit });\r\n this.props.actions.loadClient(this.props.clientId);\r\n });\r\n }\r\n\r\n handleReactivateClient() {\r\n this.setState({ isActive: true, showReactivateClientModal: false });\r\n }\r\n\r\n handleDeactivateClient() {\r\n if (!this.state.isDisabledValue) {\r\n if (this.props.clientId > 0) {\r\n this.props.dataPurgeActions.getdataPurgeApprovedStatus(this.props.clientId).then((responseData) => {\r\n if (responseData && responseData.returnCode === 0) {\r\n this.setState({ showDeactivateErrorMessageModal: true });\r\n } else {\r\n this.setState({ isActive: false, showReactivateClientModal: false });\r\n }\r\n });\r\n } else {\r\n this.setState({ isActive: false, showReactivateClientModal: false });\r\n }\r\n }\r\n }\r\n\r\n toggleShowReactivateClientModal(periodId) {\r\n this.setState({ showReactivateClientModal: !this.state.showReactivateClientModal });\r\n }\r\n\r\n toggleIsActive() {\r\n this.setState({ isActive: !this.state.isActive });\r\n }\r\n\r\n redirectToPropertiesPage(reitId, reportPeriodId) {\r\n\r\n this.props.router.navigate(`/client/${this.props.clientId}/reit/${reitId}/period/${reportPeriodId}/properties`);\r\n }\r\n\r\n validateDomain(value) {\r\n return authorizationDomainValidator.allowedDomain(value, this.state.allowedDomains);\r\n }\r\n\r\n validateDomainWithRole(value, allValues) {\r\n return authorizationDomainValidator.allowedDomain(value, this.state.allowedDomains, allValues);\r\n }\r\n\r\n handleDailyNewsletter(e) {\r\n if (e && e.target) {\r\n this.setState({ receiveDailyNewsletter: e.target.checked });\r\n }\r\n }\r\n handleWeeklyNewsletter(e) {\r\n if (e && e.target) {\r\n this.setState({ receiveWeeklyNewsletter: e.target.checked });\r\n }\r\n }\r\n handleDataSteward(e) {\r\n if (e && e.target) {\r\n this.setState({ isDataSteward: e.target.checked });\r\n }\r\n }\r\n\r\n handleRealTimeNotification(e) {\r\n if (e && e.target) {\r\n this.setState({ receiveRealTimeNotification: e.target.checked });\r\n }\r\n }\r\n\r\n handleOnRoleTypeChange(e) {\r\n if (e && e.target && e.target.value == \"4\") {\r\n this.setState({ receiveRealTimeNotification: false });\r\n this.setState({ receiveRealTimeNotificationForNewPsqArqcSent: true });\r\n }\r\n else {\r\n this.setState({ receiveRealTimeNotification: true });\r\n this.setState({ receiveRealTimeNotificationForNewPsqArqcSent: false });\r\n }\r\n }\r\n\r\n handleInternalReviewNotification(e) {\r\n if (e && e.target) {\r\n this.setState({ receiveRealTimeNotificationForNewPsqArqcSent: e.target.checked });\r\n }\r\n }\r\n\r\n toggleShowMinimumDataStewardWarningModal = () => {\r\n this.setState({\r\n showMinimumDataStewardWarningModal: !this.state.showMinimumDataStewardWarningModal,\r\n });\r\n\r\n };\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n const authModalStyle = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: '300px',\r\n height: '160px'\r\n }\r\n };\r\n\r\n const myEyModalStyle = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: '600px',\r\n height: '320px'\r\n }\r\n };\r\n return (\r\n
    \r\n {(this.props.client ?

    Client Settings

    :

    Create New Client

    )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Delete Checklist User\r\n \r\n \r\n \r\n

    The information was successfully submitted.

    \r\n

    REITSuite will take care of the onboarding to My EY,\r\n just let the external user know that they will receive an\r\n email invitation to join My EY.

    \r\n

    If you experience any issues, please contact us at reitsuite@ey.com.

    \r\n
    \r\n
    \r\n \r\n \r\n Ok\r\n \r\n \r\n
    \r\n\r\n \r\n {/* */}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nEditClientPage.propTypes = {\r\n authorizations: PropTypes.array,\r\n currentUserAuthorizations: PropTypes.array,\r\n clientId: PropTypes.number,\r\n client: PropTypes.object,\r\n reitId: PropTypes.number,\r\n reits: PropTypes.array,\r\n propertyId: PropTypes.number,\r\n showSuccess: PropTypes.string,\r\n reportPeriodId: PropTypes.number,\r\n actions: PropTypes.object,\r\n reitActions: PropTypes.object,\r\n dataPurgeActions: PropTypes.object,\r\n propertyActions: PropTypes.object,\r\n authorizationActions: PropTypes.object,\r\n currentUserId: PropTypes.string.isRequired,\r\n currentUserIsSysAdmin: PropTypes.bool.isRequired,\r\n commonActions: PropTypes.object.isRequired,\r\n clientAuthFormValues: PropTypes.object,\r\n dataPurgeConfigurationData: PropTypes.array,\r\n deletedUserID: PropTypes.string,\r\n canSwitchType: PropTypes.bool,\r\n\r\n};\r\n\r\nEditClientPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n let cid = Number.parseInt(ownProps.router.params.clientId);\r\n if (isNaN(cid)) {\r\n cid = 0;\r\n }\r\n\r\n let periodId = Number.parseInt(ownProps.router.params.periodId);\r\n if (isNaN(periodId)) {\r\n periodId = 0;\r\n }\r\n const authorizations = state.authorizations;\r\n const currentUserAuthorizations = state.currentUserAuthorizations;\r\n const searchParams = new URLSearchParams(ownProps.router.location.search);\r\n const showSuccess = searchParams.get('showSuccess');\r\n return {\r\n clientId: cid,\r\n reportPeriodId: periodId,\r\n client: state.client,\r\n reits: state.reits,\r\n lookupTypes: state.lookupTypes,\r\n showSuccess: showSuccess,\r\n authorizations: authorizations,\r\n currentUserAuthorizations: currentUserAuthorizations,\r\n dataPurgeConfigurationData: state.dataPurgeConfigurationData,\r\n currentUserId: state.authentication.currentUser,\r\n currentUserIsSysAdmin: Array.isArray(state.currentUserAuthorizations) && (authActions.isSystemAdministrator(state.currentUserAuthorizations)),\r\n clientAuthFormValues: getFormValues('clientAuth')(state),\r\n canSwitchType: state.canSwitchType\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(clientActions, dispatch),\r\n reitActions: bindActionCreators(reitActions, dispatch),\r\n authorizationActions: bindActionCreators(authActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n authActions: bindActionCreators(authActions, dispatch),\r\n dataPurgeActions: bindActionCreators(dataPurgeActions, dispatch),\r\n clientActions: bindActionCreators(clientActions, dispatch),\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(EditClientPage));","export const SPECIAL_CHARACTER_CODES = /[\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\u0008\\u0009\\u000A\\u000B\\u000C\\u000D\\u000E\\u000F\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001A\\u001B\\u001C\\u001D\\u001E\\u001F\\u007F\\u0080\\u0081\\u0082\\u0083\\u0084\\u0085\\u0086\\u0087\\u0088\\u0089\\u008A\\u008B\\u008C\\u008D\\u008E\\u008F\\u0090\\u0091\\u0092\\u0093\\u0094\\u0095\\u0096\\u0097\\u0098\\u0099\\u009A\\u009B\\u009C\\u009D\\u009E\\u009F]/g;\r\nexport const HYPHEN_TYPES = /\\u2012|\\u2013|\\u2014|\\u2015/g;","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromTrialBalanceApi as fetchFromTrialBalance } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n/**\r\n * Clear duplicate record error message.\r\n */\r\nexport function clearDuplicateMessage() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.CLEAR_CHART_DUPLICATE });\r\n };\r\n}\r\n\r\n/**\r\n * Clear duplicate chart of account record error message.\r\n */\r\nexport function clearDuplicateChartOfAccountMessage() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.CLEAR_CHARTOFACCOUNT_DUPLICATE });\r\n };\r\n}\r\n\r\n/**\r\n * Save a current FDR Template to create a new one.\r\n * If failure, it will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {number} fdrtemplateid The id of the fdr template.\r\n * @param {string} templateName The name of the template.\r\n * @param {bool} isdeleted Whether the template is deleted.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function createChart(\r\n clientID,\r\n chartName,\r\n copyExistingChart,\r\n isDefault,\r\n copyChartID\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetchFromTrialBalance('/chartofaccounts/charts', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify({\r\n clientID,\r\n chartName,\r\n copyExistingChart,\r\n isDefault,\r\n copyChartID\r\n })\r\n }).then(response => {\r\n return response.text();\r\n }).then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n\r\n //Duplicate Record check\r\n if (jsonResponse && jsonResponse.errorCode == \"DUPLICATE_RECORD_ERROR\") {\r\n return dispatch({ type: actions.SET_CHART_DUPLICATE, response: jsonResponse, [pendingTask]: end });\r\n }\r\n else if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_CHART_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n // This should be the new ChartID\r\n return jsonResponse;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_CHART_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all the custom fdr templates for a client. If successful this will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_FAILURE action.\r\n * @param {number} clientID The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchCharts(\r\n clientID\r\n) {\r\n return function (dispatch) {\r\n if (!clientID) {\r\n return dispatch({\r\n type: actions.LOAD_CHARTS_SUCCESS,\r\n charts: []\r\n });\r\n }\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetchFromTrialBalance(`/chartofaccounts/charts?clientID=${clientID}`)\r\n .then(response => {\r\n return response.json();\r\n }).then(charts => {\r\n if (actionHelpers.isErrorResponse(charts)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CHARTS_FAILURE, charts);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_CHARTS_SUCCESS, charts, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CHARTS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch custom fdr template by templateId. If successful this will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_FAILURE action.\r\n * @param {number} templateId The id of the template.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchChartOfAccountsById(\r\n chartId\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetchFromTrialBalance(`/chartofaccounts/charts/chartOfAccounts?chartID=${chartId}`)\r\n .then(response => {\r\n return response.json();\r\n }).then(chartOfAccounts => {\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n if (actionHelpers.isErrorResponse(chartOfAccounts)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CHARTS_FAILURE, chartOfAccounts);\r\n }\r\n return chartOfAccounts;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CHARTS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch custom fdr template by templateId. If successful this will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_FAILURE action.\r\n * @param {number} templateId The id of the template.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function updateChartOfAccountsById(\r\n chartId,\r\n accountsToUpdate\r\n) {\r\n let bodyUpdateObject = { AccountsToUpdate: accountsToUpdate };\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetchFromTrialBalance(`/chartofaccounts/charts/accounts/${chartId}`, {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'PUT',\r\n body: JSON.stringify(bodyUpdateObject)\r\n }).then(response => {\r\n return response.text();\r\n }).then(chartOfAccounts => {\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return chartOfAccounts;\r\n\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CHARTS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\nexport function updateChartAsDefault(\r\n chartID\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetchFromTrialBalance('/chartofaccounts/updateChartAsDefault', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify({\r\n chartID\r\n })\r\n }).then(response => {\r\n return response.text();\r\n }).then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CHART_AS_DEFAULT_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n // This should be the ChartID\r\n return jsonResponse;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CHART_AS_DEFAULT_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport function updateChartName(\r\n chartID,\r\n chartName\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetchFromTrialBalance('/chartofaccounts/updateName', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify({\r\n chartID,\r\n chartName\r\n })\r\n }).then(response => {\r\n return response.text();\r\n }).then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n\r\n //Duplicate Record check\r\n if (jsonResponse && jsonResponse.errorCode == \"DUPLICATE_RECORD_ERROR\") {\r\n return dispatch({ type: actions.SET_CHART_DUPLICATE, response: jsonResponse, [pendingTask]: end });\r\n }\r\n else if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CHART_NAME_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n // This should be the new ChartID\r\n return jsonResponse;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CHART_NAME_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Sync REIT Testing attribute for specific REIT or Property\r\n * If failure, it will dispatch the SYNC_REIT_TESTSING_ATTRIBUTES_REIT_PROPERTY_FAILURE action.\r\n * @param {number} reportPeriodId The id of the Report Period.\r\n * @param {number} reitId The id of the REIT.\r\n * @param {number} propertyId The id of the Property.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function syncREITTestsingAttributesForREITorProperty(\r\n reportPeriodId, reitId, propertyId\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetchFromTrialBalance('/chartAssignment/syncAttributes', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify({\r\n reportPeriodId,\r\n reitId,\r\n propertyId\r\n })\r\n }).then(response => {\r\n return response.text();\r\n }).then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.SYNC_REIT_TESTSING_ATTRIBUTES_REIT_PROPERTY_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n return jsonResponse;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.SYNC_REIT_TESTSING_ATTRIBUTES_REIT_PROPERTY_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Sync REIT Testing attribute for REIT and all Properties associted with Report Period Id\r\n * If failure, it will dispatch the SYNC_REIT_TESTSING_ATTRIBUTES_REPORT_PERIOD action.\r\n * @param {number} reportPeriodId The id of the Report Period.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function syncREITTestsingAttributesByReportPeriodId(\r\n reportPeriodId\r\n) { \r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetchFromTrialBalance(`/chartAssignment/syncAttributesByReportPeriodId/${reportPeriodId}`, { \r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST'\r\n }).then(response => {\r\n return response.text();\r\n }).then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.SYNC_REIT_TESTSING_ATTRIBUTES_REPORT_PERIOD,\r\n jsonResponse,\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n return jsonResponse;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.SYNC_REIT_TESTSING_ATTRIBUTES_REPORT_PERIOD,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Upload chart of accounts\r\n * If failure, it will dispatch the UPLOAD_CHART_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {number} chartId The id of the chart.\r\n * @param {file} file The excel file to be used for saving chart of accounts.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function uploadChartofAccounts(clientId, chartId, file) {\r\n\r\n let formData = new FormData();\r\n formData.append('clientID', clientId);\r\n formData.append('chartID', chartId);\r\n formData.append('file', file);\r\n\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetchFromTrialBalance('/chartofaccounts/uploadChartOfAccounts', {\r\n method: 'POST',\r\n body: formData,\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(response => {\r\n if (actionHelpers.isErrorResponse(response)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPLOAD_CHART_FAILURE,\r\n response,\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return response;\r\n })\r\n .catch(error => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPLOAD_CHART_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n\r\n/**\r\n * Save a current FDR Template to create a new one.\r\n * If failure, it will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {number} fdrtemplateid The id of the fdr template.\r\n * @param {string} templateName The name of the template.\r\n * @param {bool} isdeleted Whether the template is deleted.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function createChartOfAccount(\r\n clientID,\r\n chartID,\r\n clientAccountCode,\r\n clientAccountDescription,\r\n clientAccountCategoryID,\r\n defaultREITTestingAttributeID,\r\n defaultSubAttribute\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetchFromTrialBalance('/chartofaccounts/addAccount', {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify({\r\n clientID,\r\n chartID,\r\n clientAccountCode,\r\n clientAccountDescription,\r\n clientAccountCategoryID,\r\n defaultREITTestingAttributeID,\r\n defaultSubAttribute\r\n })\r\n }).then(response => {\r\n return response.text();\r\n }).then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n\r\n //Duplicate Record check\r\n if (jsonResponse && jsonResponse.errorCode == \"DUPLICATE_RECORD_ERROR\") {\r\n return dispatch({ type: actions.SET_CHARTOFACCOUNT_DUPLICATE, response: jsonResponse, [pendingTask]: end });\r\n }\r\n else if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_CHARTOFACCOUNT_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n // This should be the new ChartID\r\n return jsonResponse;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_CHARTOFACCOUNT_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch calendar years from client's report periods. If successful this will dispatch the the TASK_END and return calendarYears\r\n * otherwise it will dispatch the LOAD_CALENDAR_YEARS_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchClientCalendarYears(clientId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetchFromTrialBalance(`/chartofaccounts/calendarYears?clientID=${clientId}`)\r\n .then(response => {\r\n return response.json();\r\n }).then(calendarYears => {\r\n if (actionHelpers.isErrorResponse(calendarYears)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CALENDAR_YEARS_FAILURE, calendarYears);\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return calendarYears;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CALENDAR_YEARS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch reits info for chart assigned for client and calendar year selected. If successful this will dispatch the the TASK_END and return reitsMappings\r\n * otherwise it will dispatch the LOAD_CHART_ACCOUNT_MAPPINGS_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchCalendarYearReitsData(clientID, year) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetchFromTrialBalance(`/chartAssignment/all/${clientID}/${year}`)\r\n .then(response => {\r\n return response.json();\r\n }).then(reitsMappings => {\r\n if (actionHelpers.isErrorResponse(reitsMappings)) {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CHART_ACCOUNT_MAPPINGS_FAILURE, reitsMappings);\r\n return [];\r\n }\r\n let gridArray = reitsMappings.map(mapping => {\r\n let processedMappingForGrid = { reitid: mapping.reitid, reitName: mapping.reitName };\r\n mapping.periodAssignments.forEach((element, index) => {\r\n element.reitid = mapping.reitid;\r\n processedMappingForGrid[`Quarter${index + 1}`] = element;\r\n });\r\n\r\n //Adding the chart name for search functionality\r\n processedMappingForGrid =\r\n {\r\n ...processedMappingForGrid,\r\n Quarter1Text: processedMappingForGrid.Quarter1.periodID == null ? \"Period not Created\" : processedMappingForGrid.Quarter1.chartName,\r\n Quarter2Text: processedMappingForGrid.Quarter2.periodID == null ? \"Period not Created\" : processedMappingForGrid.Quarter2.chartName,\r\n Quarter3Text: processedMappingForGrid.Quarter3.periodID == null ? \"Period not Created\" : processedMappingForGrid.Quarter3.chartName,\r\n Quarter4Text: processedMappingForGrid.Quarter4.periodID == null ? \"Period not Created\" : processedMappingForGrid.Quarter4.chartName\r\n\r\n };\r\n\r\n processedMappingForGrid.isDirty = { Quarter1: false, Quarter2: false, Quarter3: false, Quarter4: false };\r\n processedMappingForGrid.originalState =\r\n {\r\n Quarter1: processedMappingForGrid.Quarter1,\r\n Quarter2: processedMappingForGrid.Quarter2,\r\n Quarter3: processedMappingForGrid.Quarter3,\r\n Quarter4: processedMappingForGrid.Quarter4\r\n };\r\n\r\n return processedMappingForGrid;\r\n });\r\n\r\n let reponseWithGridArray = { reitsMappings, gridArray };\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return reponseWithGridArray;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CHART_ACCOUNT_MAPPINGS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch reit properties info for chart assigned for reit and calendar year selected. If successful this will dispatch the the TASK_END and return propertiesMappings\r\n * otherwise it will dispatch the LOAD_CHART_ACCOUNT_MAPPINGS_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchReitPropertiesById(reitId, year) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetchFromTrialBalance(`/chartAssignment/single/${reitId}/${year}`)\r\n .then(response => {\r\n return response.json();\r\n }).then(propertiesMappings => {\r\n if (actionHelpers.isErrorResponse(propertiesMappings)) {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CHART_ACCOUNT_MAPPINGS_FAILURE, propertiesMappings);\r\n return [];\r\n }\r\n let gridArray = propertiesMappings.map(mapping => {\r\n let processedMappingForGrid =\r\n {\r\n reitid: mapping.reitid ? mapping.reitid : reitId,\r\n propertyName: mapping.propertyName ? mapping.propertyName : mapping.reitName,\r\n propertyTrackingID: mapping.propertyTrackingID,\r\n reitName: mapping.reitName\r\n };\r\n mapping.periodAssignments.forEach((element, index) => {\r\n element.reitid = processedMappingForGrid.reitid;\r\n processedMappingForGrid[`Quarter${index + 1}`] = element;\r\n });\r\n\r\n //Change the chartID to -1 on isInheritFromReit to handle record count\r\n processedMappingForGrid.Quarter1.chartID = processedMappingForGrid.Quarter1.isInheritFromReit ? -1 : processedMappingForGrid.Quarter1.chartID;\r\n processedMappingForGrid.Quarter2.chartID = processedMappingForGrid.Quarter2.isInheritFromReit ? -1 : processedMappingForGrid.Quarter2.chartID;\r\n processedMappingForGrid.Quarter3.chartID = processedMappingForGrid.Quarter3.isInheritFromReit ? -1 : processedMappingForGrid.Quarter3.chartID;\r\n processedMappingForGrid.Quarter4.chartID = processedMappingForGrid.Quarter4.isInheritFromReit ? -1 : processedMappingForGrid.Quarter4.chartID;\r\n //Adding the chart name for search functionality\r\n processedMappingForGrid =\r\n {\r\n ...processedMappingForGrid,\r\n Quarter1Text: processedMappingForGrid.Quarter1.periodID == null ? \"Period not Created\" : processedMappingForGrid.Quarter1.isInheritFromReit ? 'Default(REIT Chart)' : processedMappingForGrid.Quarter1.chartName,\r\n Quarter2Text: processedMappingForGrid.Quarter2.periodID == null ? \"Period not Created\" : processedMappingForGrid.Quarter2.isInheritFromReit ? 'Default(REIT Chart)' : processedMappingForGrid.Quarter2.chartName,\r\n Quarter3Text: processedMappingForGrid.Quarter3.periodID == null ? \"Period not Created\" : processedMappingForGrid.Quarter3.isInheritFromReit ? 'Default(REIT Chart)' : processedMappingForGrid.Quarter3.chartName,\r\n Quarter4Text: processedMappingForGrid.Quarter4.periodID == null ? \"Period not Created\" : processedMappingForGrid.Quarter4.isInheritFromReit ? 'Default(REIT Chart)' : processedMappingForGrid.Quarter4.chartName\r\n\r\n };\r\n\r\n processedMappingForGrid.isDirty = { Quarter1: false, Quarter2: false, Quarter3: false, Quarter4: false };\r\n processedMappingForGrid.originalState =\r\n {\r\n Quarter1: processedMappingForGrid.Quarter1,\r\n Quarter2: processedMappingForGrid.Quarter2,\r\n Quarter3: processedMappingForGrid.Quarter3,\r\n Quarter4: processedMappingForGrid.Quarter4\r\n };\r\n\r\n return processedMappingForGrid;\r\n });\r\n\r\n let responseWithGridArray = { propertiesMappings, gridArray };\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return responseWithGridArray;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CHART_ACCOUNT_MAPPINGS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Update the reits mappings. If successful this will dispatch the the TASK_END\r\n * otherwise it will dispatch the LOAD_CHART_ACCOUNT_MAPPINGS_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function updateReitsMappings(mappingsToUpdate) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetchFromTrialBalance(`/chartAssignment/update`, {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(mappingsToUpdate)\r\n }).then(response => {\r\n const contentType = response.headers.get(\"content-type\");\r\n\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json();\r\n }\r\n else {\r\n return response.text();\r\n }\r\n }).then(updateResponse => {\r\n if (actionHelpers.isErrorResponse(updateResponse)) {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CHART_ACCOUNT_MAPPINGS_FAILURE, updateResponse);\r\n return [];\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return updateResponse;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CHART_ACCOUNT_MAPPINGS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Update the reit property mappings. If successful this will dispatch the the TASK_END\r\n * otherwise it will dispatch the LOAD_CHART_ACCOUNT_MAPPINGS_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function updateReitPropertiesMappings(mappingsToUpdate) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetchFromTrialBalance(`/chartAssignment/update`, {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(mappingsToUpdate)\r\n })\r\n .then(response => {\r\n const contentType = response.headers.get(\"content-type\");\r\n\r\n if (contentType && contentType.indexOf(\"application/json\") !== -1) {\r\n return response.json();\r\n }\r\n else {\r\n return response.text();\r\n }\r\n })\r\n .then(updateResponse => {\r\n if (actionHelpers.isErrorResponse(updateResponse)) {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CHART_ACCOUNT_MAPPINGS_FAILURE, updateResponse);\r\n return [];\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return updateResponse;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CHART_ACCOUNT_MAPPINGS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch Chart Assignments/Mappings by Report Period Id If successful this will dispatch the the TASK_END and return chartMappings\r\n * otherwise it will dispatch the LOAD_CHART_MAPPINGS_FAILURE action.\r\n * @param {number} reportPeriodId The Report Period id.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchChartAssignmentsByReportPeriodId(reportPeriodId) {\r\n\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetchFromTrialBalance('/chartAssignment/chartMappings?reportPeriodId=' + reportPeriodId).then(response => {\r\n return response.json();\r\n }).then(chartMappings => {\r\n if (actionHelpers.isErrorResponse(chartMappings)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CHART_MAPPINGS_FAILURE, chartMappings);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_CHART_MAPPINGS_SUCCESS, chartMappings, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CHART_MAPPINGS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { MotifBadge, MotifCheckbox, MotifTextLink, MotifTooltip } from '@ey-xd/motif-react';\r\n\r\nexport default (props) => {\r\n let hasIncompleteSecuritySnapshot;\r\n if (props.hasIncompleteSecuritySnapshotsList?.length > 0 && props.column.colId == \"reitName\") {\r\n hasIncompleteSecuritySnapshot = props?.hasIncompleteSecuritySnapshotsList.find(reitId => reitId.reitid === props.data.reitid)?.hasIncompleteSecuritySnapshot;\r\n }\r\n\r\n const reit = props.node.data;\r\n const rowIndex = props.node.rowIndex + 2;\r\n const toggleActiveFlag = (e) => {\r\n props.handleToggleActiveFlag(e, reit);\r\n }\r\n\r\n if (reit !== undefined) {\r\n return (\r\n
    \r\n {(props.column.colId == \"reitName\") &&\r\n
    \r\n \r\n {reit.reitName}\r\n \r\n {reit.discrepancyCount > 0 && || null}\r\n {hasIncompleteSecuritySnapshot && || null}>\r\n {REIT has incomplete securities. Review needed.}\r\n \r\n }\r\n
    \r\n }\r\n\r\n {(props.column.colId == \"reportPeriodDescription\") &&\r\n
    \r\n {reit.periods.length > 0 ? reit.periods[0].reportPeriodDescription : \"Not Found\"}\r\n
    \r\n }\r\n\r\n {(props.column.colId == \"reportPeriodStatusDescription\") &&\r\n
    \r\n {reit.periods.length > 0 ? reit.periods[0].reportPeriodStatusDescription : \"Not Found\"}\r\n
    \r\n }\r\n\r\n {(props.column.colId == \"isActive\" &&\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","import React, { useMemo, useState, useRef, useEffect } from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport { MotifFormField, MotifSearch, MotifLabel, MotifToggleSwitch, MotifToast, MotifButton, MotifTable } from '@ey-xd/motif-react';\r\nimport { handleFilterChanged,handleFirstDataRendered,handleGridReady,tableHeaderClass,handleItemsPerPageChange } from '../../common/AgGridEventHandlers';\r\nimport ReitsCellRenderer from \"./customRenderer/ReitsCellRenderer\";\r\nimport CustomPagination from '../../common/MotifPagination';\r\nimport CustomHeaderTemplate from \"../shared/customHeaders/CustomHeaderTemplate\";\r\n\r\nconst ReitList = ({\r\n clientId,\r\n client,\r\n reits,\r\n getCurrentPeriodFunction,\r\n handleSearchChange,\r\n handleClearSearchText,\r\n reitSearchText,\r\n handleShowInactive,\r\n showInactive,\r\n canInactivateReits,\r\n handleToggleActiveFlag,\r\n handleDownloadIdList,\r\n handleDownloadTbTemplates,\r\n showSuccessMessage,\r\n handleDismissSuccessMessage,\r\n successMessageText,\r\n chartExistsForClient,\r\n handleGridChanges,\r\n theme,\r\n hasIncompleteSecuritySnapshotsList\r\n}) => {\r\n let allOrActive = 'Active';\r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]); \r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n if (showInactive) {\r\n allOrActive = 'All';\r\n }\r\n//Default column settings\r\nconst defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n}, []);\r\n\r\nlet getColumnDefs =\r\n [\r\n {\r\n field: 'reitName', headerName: 'REIT NAME', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 300,\r\n cellRenderer: ReitsCellRenderer,\r\n cellRendererParams: {hasIncompleteSecuritySnapshotsList},\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"reitName\"),\r\n },\r\n \r\n\r\n filterValueGetter: params => { return params.data && params.data.reitName; },\r\n \r\n }, \r\n {\r\n field: 'reportPeriodDescription', headerName: 'CURRENT PERIOD', sortable: true, \r\n showRowGroup: false, hide: false, rowGroup: false, \r\n minWidth: 250,\r\n cellRenderer: ReitsCellRenderer,\r\n valueGetter: params => {\r\n if(params.data.periods && params.data.periods.length > 0){\r\n return params.data && params.data.periods[0].reportPeriodDescription;\r\n }\r\n else{\r\n return \"Not Found\";\r\n }\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"reportPeriodDescription\"),\r\n },\r\n filterValueGetter: params => { \r\n if(params.data.periods && params.data.periods.length > 0){\r\n return params.data && params.data.periods[0].reportPeriodDescription;\r\n }\r\n },\r\n }, \r\n \r\n {\r\n field: 'reportPeriodStatusDescription', headerName: 'STATUS', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 200,\r\n cellRenderer: ReitsCellRenderer,\r\n valueGetter: params => {\r\n if(params.data.periods && params.data.periods.length > 0){\r\n return params.data && params.data.periods[0].reportPeriodStatusDescription;\r\n }\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"reportPeriodStatusDescription\"),\r\n },\r\n filterValueGetter: params => { \r\n if(params.data.periods && params.data.periods.length > 0){\r\n return params.data && params.data.periods[0].reportPeriodStatusDescription;\r\n }\r\n else{\r\n return \"Not Found\";\r\n }\r\n },\r\n\r\n },\r\n {\r\n field: 'reitTrackingID', headerName: 'TRACKING ID', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 250,headerComponentParams: {\r\n template: CustomHeaderTemplate(\"reitTrackingID\"),\r\n },\r\n },\r\n ];\r\n\r\n if (showInactive) {\r\n getColumnDefs.push( {\r\n field: 'isActive', headerName: 'Active', sortable: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 150, \r\n cellRenderer: ReitsCellRenderer,\r\n cellRendererParams: { handleToggleActiveFlag },\r\n hide: !showInactive,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"isActive\"),\r\n },\r\n },);\r\n}\r\n\r\n//Handle deselect all event\r\nconst handleDeselectAll = (val) => {\r\n // set current page and total pages to 0\r\n setCurrentPage(0); \r\n setTotalPages(0); \r\n};\r\n\r\n//Handle Grid Page change event\r\nconst handlePageChange = (val) => {\r\nsetCurrentPage(val);\r\ngridRef.current.api.paginationGoToPage(val-1);\r\n};\r\n\r\nconst [columnDefs, setColumnDefs] = useState(getColumnDefs);\r\nuseEffect(() => {\r\n handleGridChanges(rowData, gridRef && gridRef.current ? gridRef.current.api : null);\r\n if(rowData.length > 0 && gridRef.current.api !== undefined){\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n gridRef.current.columnApi.setColumnVisible('isActive', showInactive);\r\n gridRef.current.api.refreshCells();\r\n }\r\n}, [rowData]);\r\n\r\nuseEffect(() => { \r\n setRowData(reits);\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.applyTransaction({ \r\n });\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n}, [reits]);\r\n\r\nuseEffect(() => {\r\n setColumnDefs(getColumnDefs);\r\n localStorage.removeItem('REITSuiteReitListColumnState');\r\n\r\n // set the current page to 1 and reset the grid to first page\r\n if (gridRef.current?.api) {\r\n setCurrentPage(1);\r\n gridRef.current.api.paginationGoToPage(0);\r\n }\r\n}, [ showInactive]);\r\n const clientIsAudit = client && client.isAudit;\r\n\r\n const GetCurrentQuarter = () => {\r\n let currentQuarter = 'Q';\r\n let today = new Date();\r\n\r\n switch (today.getMonth()) {\r\n case 0:\r\n case 1:\r\n case 2:\r\n currentQuarter += '1';\r\n break;\r\n\r\n case 3:\r\n case 4:\r\n case 5:\r\n currentQuarter += '2';\r\n break;\r\n\r\n case 6:\r\n case 7:\r\n case 8:\r\n currentQuarter += '3';\r\n break;\r\n\r\n case 9:\r\n case 10:\r\n case 11:\r\n currentQuarter += '4';\r\n break;\r\n\r\n default:\r\n currentQuarter += '1';\r\n break;\r\n }\r\n\r\n currentQuarter += ' ' + (today.getYear() + 1900);\r\n\r\n return currentQuarter;\r\n };\r\n\r\n useEffect(() => {\r\n if (hasIncompleteSecuritySnapshotsList) {\r\n setColumnDefs(getColumnDefs);\r\n }\r\n }, [hasIncompleteSecuritySnapshotsList]);\r\n\r\n const downloadIdList = () => handleDownloadIdList(client.id, showInactive, `ID List for ${client.name}.xlsx`);\r\n\r\n const downloadTbTemplates = () => handleDownloadTbTemplates(client.id, showInactive);\r\n\r\n const rowHeight = 79; \r\n const headerHeight = 55; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default if compact={false}\r\n\r\n return (\r\n \r\n {showSuccessMessage &&\r\n {successMessageText}\r\n }\r\n
    \r\n
    \r\n

    REITs

    \r\n
    \r\n
    \r\n {canInactivateReits &&\r\n \r\n \r\n Display Inactive REITs:\r\n \r\n \r\n \r\n \r\n \r\n }\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {!clientIsAudit &&\r\n
    \r\n \r\n \r\n Download {allOrActive} Tracking IDs\r\n \r\n \r\n \r\n \r\n Download {allOrActive} TB Templates\r\n \r\n \r\n
    }\r\n\r\n
    \r\n {(rowData.length > 0 ) &&\r\n
    \r\n
    \r\n
    \r\n
    \r\n handleGridReady(event, gridRef,setCurrentPage,setItemsPerPage,setTotalPages,'REITSuiteReitListColumnState', handleDeselectAll)}\r\n onFirstDataRendered={handleFirstDataRendered(gridRef)}\r\n ref={gridRef}\r\n pagination={true}\r\n suppressPaginationPanel={true}\r\n paginationPageSize={100}\r\n groupDisplayType={'custom'}\r\n groupSelectsChildren={true}\r\n groupDefaultExpanded={0}\r\n onFilterChanged={handleFilterChanged(gridRef, currentPage, setCurrentPage, setTotalPages)}\r\n data-testid=\"divClientListGrid\"\r\n deltaRowDataMode={true} \r\n immutableData={true}\r\n getRowNodeId={(data) => data.reitid}\r\n />\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n {(reits && reits.length === 0 && reitSearchText === \"\"\r\n &&
    No REIT found for this client.
    ) \r\n || ((reits && reits.length === 0 && reitSearchText !== \"\") \r\n &&
    No REITs match your search text '{reitSearchText}'
    ) || null}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nReitList.propTypes = {\r\n clientId: PropTypes.number.isRequired,\r\n client: PropTypes.object.isRequired,\r\n reits: PropTypes.array.isRequired,\r\n getCurrentPeriodFunction: PropTypes.func.isRequired,\r\n handleSearchChange: PropTypes.func.isRequired,\r\n handleClearSearchText: PropTypes.func.isRequired,\r\n reitSearchText: PropTypes.string,\r\n handleShowInactive: PropTypes.func.isRequired,\r\n showInactive: PropTypes.bool,\r\n canInactivateReits: PropTypes.bool,\r\n handleToggleActiveFlag: PropTypes.func.isRequired,\r\n handleDownloadIdList: PropTypes.func.isRequired,\r\n handleDownloadTbTemplates: PropTypes.func.isRequired,\r\n handleDismissSuccessMessage: PropTypes.func,\r\n showSuccessMessage: PropTypes.bool,\r\n successMessageText: PropTypes.string,\r\n incompleteSecuritiesSnapshots: PropTypes.array,\r\n};\r\n\r\nexport default ReitList;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as actions from '../../actions/reitActions';\r\nimport * as authActions from '../../actions/authActions';\r\nimport * as periodActions from '../../actions/periodActions';\r\nimport * as commonActions from '../../actions/commonActions';\r\nimport * as SpecialChars from '../../constants/specialCharacters';\r\nimport * as coaMgrActions from '../../actions/chartOfAccountsManagerActions';\r\nimport * as trialBalanceActions from '../../actions/trialBalanceActions';\r\nimport ReitList from '../../components/reits/ReitList';\r\nimport YesNoModal from '../../components/shared/YesNoModal';\r\nimport * as securitiesSnapshotActions from '../../actions/securitiesSnapshotActions';\r\nimport * as actionHelpers from '../../scripts/actionHelpers';\r\nimport * as formHelpers from '../../scripts/formHelpers';\r\nimport { SubmissionError } from 'redux-form';\r\n\r\nconst mappingModalStyle = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: 'auto',\r\n height: 'auto', // <-- This sets the height\r\n overflow: 'visible', // <-- This tells the modal to scroll\r\n },\r\n};\r\n\r\n/**\r\n * ReitsPage container component\r\n * @extends {React.Component}\r\n */\r\nexport class ReitsPage extends React.Component {\r\n /**\r\n * Creates a new ReitsPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n reitSearchText: '',\r\n filteredReits: [],\r\n yesNoModalData: { showModal: false },\r\n showAddClientAcctAllReitsModal: false,\r\n showUploadMappingOnlyTBModal: false,\r\n eyStandardAccounts: [],\r\n showSuccessMessage: false,\r\n successMessageText: '',\r\n charts: [],\r\n currentReitCheckboxHtmlId: '',\r\n gridCurrentState: [],\r\n hasIncompleteSecuritySnapshotsList: []\r\n };\r\n this.handleSearchChange = this.handleSearchChange.bind(this);\r\n this.handleClearSearchText = this.handleClearSearchText.bind(this);\r\n this.handleShowInactive = this.handleShowInactive.bind(this);\r\n this.handleToggleActiveFlag = this.handleToggleActiveFlag.bind(this);\r\n this.handleReactivateReit = this.handleReactivateReit.bind(this);\r\n this.hideYesNoModal = this.hideYesNoModal.bind(this);\r\n this.handleDownloadIdList = this.handleDownloadIdList.bind(this);\r\n this.handleDownloadTbTemplates = this.handleDownloadTbTemplates.bind(this);\r\n this.handleSubmitMappingAllReits = this.handleSubmitMappingAllReits.bind(this);\r\n this.handleCloseForm = this.handleCloseForm.bind(this);\r\n this.handleCloseMappingOnlyTBModal = this.handleCloseMappingOnlyTBModal.bind(this,\r\n );\r\n this.handleDismissErrorMessage = this.handleDismissErrorMessage.bind(this);\r\n this.handleDismissSuccessMessage = this.handleDismissSuccessMessage.bind(\r\n this,\r\n );\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.handleGridColumnStateChange = this.handleGridColumnStateChange.bind(this);\r\n this.populateHasIncompleteSecuritySnapshots = this.populateHasIncompleteSecuritySnapshots.bind(this);\r\n }\r\n\r\n /**\r\n * Invoked immediately after a component mounts\r\n */\r\n componentDidMount() {\r\n if (this.props.clientId) {\r\n this.props.actions.fetchReits(this.props.clientId);\r\n this.props.coaMgrActions.fetchCharts(this.props.clientId);\r\n this.setFilter();\r\n this.resetGridColumnState();\r\n this.populateHasIncompleteSecuritySnapshots(this.props.clientId, null, null,'REIT');\r\n }\r\n }\r\n\r\n /**\r\n * Invoked before a mounted component receives new props.\r\n * @param {Object} nextProps The properties that the component is receiving\r\n */\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.clientId !== this.props.clientId && this.props.clientId > 0) {\r\n this.props.actions.fetchReits(this.props.clientId);\r\n this.props.coaMgrActions.fetchCharts(this.props.clientId);\r\n this.populateHasIncompleteSecuritySnapshots(this.props.clientId, null, null,'REIT');\r\n }\r\n\r\n if (\r\n prevProps.reits !== this.props.reits &&\r\n this.props.reits &&\r\n prevProps.reits\r\n ) {\r\n const list = Object.assign([], this.props.reits);\r\n this.setState({ filteredReits: list });\r\n }\r\n\r\n if (prevProps.charts != this.props.charts) {\r\n this.setState({ charts: this.props.charts });\r\n }\r\n\r\n if (prevProps.chartOfAccounts != this.props.chartOfAccounts) {\r\n this.setState({\r\n eyStandardAccounts: this.createEyStandardAccountItems(\r\n this.props.chartOfAccounts,\r\n ),\r\n });\r\n }\r\n }\r\n\r\n getCurrentPeriod(reit) {\r\n return periodActions.getCurrentPeriod(reit);\r\n }\r\n\r\n handleSearchChange(e) {\r\n this.setState({ reitSearchText: e.target.value }, this.setFilter);\r\n }\r\n\r\n handleClearSearchText(e) {\r\n this.setState({ reitSearchText: '' }, this.setFilter);\r\n }\r\n\r\n handleShowInactive(e) {\r\n this.setState({ showInactive: !this.state.showInactive }, function () {\r\n this.props.actions.fetchReits(\r\n this.props.clientId,\r\n this.state.showInactive,\r\n ).then(reits => { this.setFilter(); return reits; });\r\n });\r\n }\r\n\r\n handleToggleActiveFlag(e, reit) {\r\n if (e.target.checked) {\r\n this.setState({\r\n yesNoModalData: {\r\n identifier: reit.reitid,\r\n question: `Are you sure you want to reactivate ${reit.reitName}?`,\r\n showModal: true,\r\n },\r\n currentReitCheckboxHtmlId: e.target.id\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.props.actions.toggleActiveFlagAndReloadReits(\r\n this.props.clientId,\r\n reit.reitid,\r\n );\r\n }\r\n\r\n handleReactivateReit(reitId) {\r\n this.props.actions.toggleActiveFlagAndReloadReits(\r\n this.props.clientId,\r\n reitId,\r\n );\r\n this.setState({ yesNoModalData: { showModal: false } });\r\n }\r\n\r\n hideYesNoModal() {\r\n if (this.state.currentReitCheckboxHtmlId !== '') { // REIT that is being currently activated/deactivated\r\n document.getElementById(this.state.currentReitCheckboxHtmlId).checked = false; // Resetting the checked attribute to 'False' if the user decides not to activate the REIT\r\n }\r\n this.setState({ yesNoModalData: { showModal: false }, currentReitCheckboxHtmlId: '' });\r\n }\r\n\r\n setFilter() {\r\n if (this.state.reitSearchText === '') {\r\n this.setState({ filteredReits: Object.assign([], this.props.reits) });\r\n } else {\r\n this.setState({\r\n filteredReits: this.props.reits.filter(\r\n reit =>\r\n reit.reitName\r\n .toLowerCase()\r\n .includes(this.state.reitSearchText.toLowerCase()) ||\r\n reit.reitTrackingID\r\n .toLowerCase()\r\n .includes(this.state.reitSearchText.toLowerCase()),\r\n ),\r\n });\r\n }\r\n }\r\n\r\n handleDownloadIdList(clientId, showInactive, fileName) {\r\n this.props.commonActions.beginTask();\r\n return actions.downloadIdList(clientId, showInactive, fileName).then(blob => {\r\n this.props.commonActions.endTask();\r\n return blob;\r\n });\r\n }\r\n\r\n handleDownloadTbTemplates(clientId, showInactive) {\r\n return this.props.trialBalanceActions.downloadTbTemplates(clientId, showInactive).then((blob) => {\r\n return blob;\r\n });\r\n }\r\n\r\n populateHasIncompleteSecuritySnapshots(clientId, reitId, periodId,pageName) {\r\n this.props.securitiesSnapshotActions.getIncompleteSecuritySnapshotDetails(clientId, reitId, periodId,pageName).then((data) => {\r\n this.setState({ hasIncompleteSecuritySnapshotsList: data });\r\n });\r\n }\r\n\r\n handleSubmitMappingAllReits(values) {\r\n const mapping = {\r\n clientId: this.props.clientId,\r\n clientAccountCode: values.clientAccountCode,\r\n clientAccountDescription: values.clientAccountDescription,\r\n id: null,\r\n internalAccountCode:\r\n values.internalAccountCode && values.internalAccountCode.value,\r\n periodId: 0,\r\n propertyId: null,\r\n };\r\n\r\n //Remove Control characters e.g. tab, new line characters\r\n let clientAC = mapping.clientAccountCode ? mapping.clientAccountCode.replace(SpecialChars.SPECIAL_CHARACTER_CODES, \"\") : \"\";\r\n\r\n //Replace dashes (FIGURE DASH, EN DASH, EM DASH and HORIZONTAL BAR) with standard hyphen\r\n clientAC = clientAC ? clientAC.replace(SpecialChars.HYPHEN_TYPES, \"-\") : \"\";\r\n\r\n mapping.clientAccountCode = clientAC ? clientAC.trim() : \"\";\r\n\r\n this.props.trialBalanceActions\r\n .createMappingAllReits(mapping)\r\n .then(response => {\r\n if (!actionHelpers.isErrorResponse(response)) {\r\n let message = `Added mapping '${values.clientAccountCode} - ${values.clientAccountDescription\r\n } : ${values.internalAccountCode &&\r\n values.internalAccountCode.label}' to all ${this.props.client.name\r\n } REITs.`;\r\n this.setState({\r\n showSuccessMessage: true,\r\n successMessageText: message,\r\n });\r\n }\r\n\r\n this.handleCloseForm();\r\n })\r\n .catch(error => {\r\n if (error instanceof SubmissionError) {\r\n throw error;\r\n }\r\n\r\n formHelpers.generateSubmissionError();\r\n });\r\n }\r\n\r\n handleCloseForm() {\r\n this.setState({ showAddClientAcctAllReitsModal: false });\r\n }\r\n\r\n handleCloseMappingOnlyTBModal() {\r\n this.setState({ showUploadMappingOnlyTBModal: false });\r\n }\r\n\r\n handleDismissErrorMessage() {\r\n this.handleCloseForm();\r\n }\r\n\r\n createEyStandardAccountItems(eyStdAccounts) {\r\n let items = [];\r\n eyStdAccounts.map(x =>\r\n items.push({\r\n value: x.internalAccountCode,\r\n label: x.internalAccountCode + ' - ' + x.internalAccountDescription,\r\n }),\r\n );\r\n return items;\r\n }\r\n\r\n handleDismissSuccessMessage() {\r\n this.setState({ showSuccessMessage: false, successMessageText: '' });\r\n }\r\n /**\r\n * Handle Grid changes\r\n * @returns {gridRowData}\r\n */\r\n handleGridChanges(gridRowData, gridRefApi) {\r\n let rowData = [];\r\n rowData =\r\n gridRowData &&\r\n gridRowData.length &&\r\n gridRowData.map((x) => {\r\n return {\r\n name: x.name,\r\n reitTrackingID: x.reitTrackingID,\r\n reportPeriodDescription: x.reportPeriodDescription,\r\n reportPeriodStatusDescription: x.reportPeriodStatusDescription,\r\n };\r\n });\r\n\r\n this.setState({ gridCurrentState: rowData });\r\n\r\n if (gridRefApi) {\r\n gridRefApi.refreshCells();\r\n }\r\n }\r\n\r\n resetGridColumnState() {\r\n localStorage.removeItem('REITSuiteReitListColumnState');\r\n }\r\n\r\n /**\r\n * Handle Grid column state chagne\r\n \r\n * @returns {undefined}\r\n */\r\n handleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n }\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n 0)}\r\n handleGridChanges={this.handleGridChanges}\r\n handleGridColumnStateChange={this.handleGridColumnStateChange}\r\n hasIncompleteSecuritySnapshotsList={this.state.hasIncompleteSecuritySnapshotsList}\r\n />\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nReitsPage.propTypes = {\r\n clientId: PropTypes.number.isRequired,\r\n client: PropTypes.object.isRequired,\r\n reits: PropTypes.array,\r\n actions: PropTypes.object,\r\n commonActions: PropTypes.object,\r\n trialBalanceActions: PropTypes.object,\r\n coaMgrActions: PropTypes.object.isRequired,\r\n canInactivateReits: PropTypes.bool,\r\n charts: PropTypes.array,\r\n chartOfAccounts: PropTypes.array,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n const reits = state.reits;\r\n return {\r\n clientId: ownProps.clientId,\r\n reits: state.reits,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n chartOfAccounts: state.chartOfAccounts,\r\n charts: state.chartOfAccountsManager.charts,\r\n canInactivateReits:\r\n Array.isArray(state.currentUserAuthorizations) &&\r\n (authActions.isSystemAdministrator(state.currentUserAuthorizations) ||\r\n authActions.isEngagementAdministrator(\r\n state.currentUserAuthorizations,\r\n ownProps.clientId,\r\n )),\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(actions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n coaMgrActions: bindActionCreators(coaMgrActions, dispatch),\r\n trialBalanceActions: bindActionCreators(trialBalanceActions, dispatch),\r\n securitiesSnapshotActions: bindActionCreators(securitiesSnapshotActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(ReitsPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ReitsPage from '../../containers/reits/ReitsPage';\r\n\r\nconst ClientDetails = ({ client }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nClientDetails.propTypes = {\r\n client: PropTypes.object.isRequired\r\n};\r\n\r\nexport default ClientDetails;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport ClientDetails from '../../components/clients/ClientDetails';\r\n\r\n/**\r\n * The ClientPage class\r\n * @extends {React.Component}\r\n */\r\nexport class ClientPage extends React.Component { \r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nClientPage.propTypes = {\r\n client: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n client: state.client\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps)(ClientPage);\r\n","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { MotifTextLink } from '@ey-xd/motif-react';\r\n\r\nexport default (props) => {\r\n const client = props.node.data;\r\n const rowIndex = props.node.rowIndex + 2;\r\n return (\r\n
    \r\n \r\n {client.name}\r\n \r\n
    \r\n );\r\n}","import React, { useMemo, useState, useRef, useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport ClientsExternalCellRenderer from \"./customRenderer/ClientsExternalCellRenderer\";\r\nimport { handleFilterChanged, handleFirstDataRendered, handleGridReady, tableHeaderClass, handleItemsPerPageChange } from '../../common/AgGridEventHandlers';\r\nimport CustomPagination from '../../common/MotifPagination';\r\nimport CustomHeaderTemplate from \"../checklistDeliveryCalendar/customHeaders/CustomHeaderTemplate.js\";\r\nimport { MotifTable } from \"@ey-xd/motif-react\";\r\n\r\nconst ClientListSlim = ({ clients, clientsAreLoaded }) => {\r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: 'name', headerName: 'Clients', sortable: true, showRowGroup: false, rowGroup: false,\r\n cellRenderer: ClientsExternalCellRenderer,\r\n headerComponentParams: {template: CustomHeaderTemplate(\"name\"),},\r\n comparator: (a, b) => {\r\n var valA = a.toString().toLowerCase();\r\n var valB = b.toString().toLowerCase();\r\n if (valA === valB) return 0;\r\n return valA > valB ? 1 : -1;\r\n },\r\n }\r\n ];\r\n };\r\n\r\n //Handle deselect all event\r\n const handleDeselectAll = (val) => {\r\n // set current page and total pages to 0\r\n setCurrentPage(0); \r\n setTotalPages(0); \r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n const handleGridChanges = (gridRefApi) => {\r\n if (gridRefApi) {\r\n gridRefApi.refreshCells();\r\n }\r\n }\r\n\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n useEffect(() => {\r\n handleGridChanges(gridRef && gridRef.current ? gridRef.current.api : null);\r\n if (rowData.length > 0 && gridRef.current.api !== undefined) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n setRowData(clients);\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n }, [clients]);\r\n\r\n const rowHeight = 76; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return (\r\n \r\n

    Clients

    \r\n
    \r\n {(rowData.length > 0) &&\r\n
    \r\n
    \r\n
    \r\n
    \r\n handleGridReady(event, gridRef, setCurrentPage, setItemsPerPage, setTotalPages, 'REITSuiteExternalClientListColumnState', handleDeselectAll)}\r\n onFirstDataRendered={handleFirstDataRendered(gridRef)}\r\n ref={gridRef}\r\n pagination={true}\r\n suppressPaginationPanel={true}\r\n paginationPageSize={100}\r\n groupDisplayType={'custom'}\r\n groupSelectsChildren={true}\r\n groupDefaultExpanded={0}\r\n onFilterChanged={handleFilterChanged(gridRef, currentPage, setCurrentPage, setTotalPages)}\r\n data-testid=\"divClientListGrid\"\r\n deltaRowDataMode={true}\r\n immutableData={true}\r\n getRowNodeId={(data) => data.id}\r\n />\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n {(clients && clients.length === 0 && clientsAreLoaded &&
    It looks as though you aren't assigned to any clients right now - please reach out to your EY contact.
    )\r\n || null}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nClientListSlim.propTypes = {\r\n clients: PropTypes.array.isRequired,\r\n clientsAreLoaded: PropTypes.bool,\r\n};\r\n\r\nexport default ClientListSlim;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport ClientListSlim from \"../../components/clients/ClientListSlim\";\r\nimport * as clientActions from \"../../actions/clientActions\";\r\n\r\n/**\r\n * ClientsExternalPage container component\r\n * @extends {React.Component}\r\n */\r\nexport class ClientsExternalPage extends React.Component {\r\n /**\r\n * Creates a new ClientsExternalPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = { filteredClients: [], clientsAreLoaded: false };\r\n this.reloadClients = this.reloadClients.bind(this);\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.props.actions.fetchAllClientsSlim();\r\n this.setFilter();\r\n this.resetGridColumnState();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.clients !== this.props.clients && this.props.clients) {\r\n const list = Object.assign([], this.props.clients);\r\n this.setFilter(list);\r\n this.setState({ clientsAreLoaded: true });\r\n }\r\n }\r\n\r\n reloadClients(reloadClients) {\r\n if (reloadClients) {\r\n this.props.actions.fetchAllClientsSlim();\r\n }\r\n }\r\n\r\n setFilter(clients) {\r\n let filteredClients = clients || this.props.clients;\r\n this.setState({ filteredClients: filteredClients });\r\n }\r\n\r\n resetGridColumnState() {\r\n localStorage.removeItem('REITSuiteExternalClientListColumnState');\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nClientsExternalPage.propTypes = {\r\n clients: PropTypes.array.isRequired,\r\n actions: PropTypes.object,\r\n currentUserAuthorizations: PropTypes.array,\r\n theme: PropTypes.string,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state) {\r\n const clients = state.clients;\r\n return {\r\n clients: clients,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n theme: state.themeServices,\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(clientActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ClientsExternalPage);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { reduxForm } from \"redux-form\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * ChecklistExternalContainer container component\r\n * @extends {React.Component}\r\n */\r\nclass ChecklistExternalContainer extends React.Component {\r\n /**\r\n * Creates a new Checklist Dashboard page\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context); \r\n\r\n this.state = { \r\n };\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() { \r\n //Redirect to psq tab on External Checklist UI\r\n setTimeout(() => this.props.router.navigate(\"/ext/psq\"), 0);\r\n }\r\n \r\n /**\r\n * Invoked immediately before unmounting occurs\r\n * @returns {undefined}\r\n */\r\n componentWillUnmount() { \r\n \r\n }\r\n \r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) { \r\n return { \r\n };\r\n}\r\n\r\nChecklistExternalContainer.propTypes = { \r\n};\r\n\r\nChecklistExternalContainer.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(reduxForm({ form: \"checklistExternal\", enableReinitialize: true })(ChecklistExternalContainer)));","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromReitApi as fetch } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport { download } from '../scripts/fileHelpers';\r\n/**\r\n * Saves the checklist delivery calendar records. If error occurs, it will dispatch the SAVE_CHECKLIST_DELIVERY_SCHEDULE_FAILURE action.\r\n * @param {array} cdc The array of ChecklistDeliveryCalendar records to update.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function saveChecklistDeliveryCalendar(\r\n cdc\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/checklists/schedule`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(cdc)\r\n })\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.SAVE_CHECKLIST_DELIVERY_SCHEDULE_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.SAVE_CHECKLIST_DELIVERY_SCHEDULE_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all the files attached to any checklist belonging to the specified period. If successful this will dispatch the LOAD_CHECKLIST_DELIVERY_SCHEDULE_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CHECKLIST_DELIVERY_SCHEDULE_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {number} calendarYear The calendar year of the checklist delivery calendar.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchChecklistDeliveryCalendar(\r\n clientId,\r\n calendarYear\r\n) {\r\n return function (dispatch) {\r\n if (!clientId) {\r\n return dispatch({\r\n type: actions.LOAD_CHECKLIST_DELIVERY_SCHEDULE_SUCCESS,\r\n checklistDeliveryCalendar: []\r\n });\r\n }\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/checklists/schedule/${clientId}/${calendarYear}`)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(checklistDeliveryCalendar => {\r\n if (actionHelpers.isErrorResponse(checklistDeliveryCalendar)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CHECKLIST_DELIVERY_SCHEDULE_FAILURE,\r\n checklistDeliveryCalendar,\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_CHECKLIST_DELIVERY_SCHEDULE_SUCCESS,\r\n checklistDeliveryCalendar,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CHECKLIST_DELIVERY_SCHEDULE_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Reset the files attached to any checklist belonging to the specified period. If successful this will dispatch the LOAD_CHECKLIST_DELIVERY_SCHEDULE_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CHECKLIST_DELIVERY_SCHEDULE_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {number} calendarYear The calendar year of the checklist delivery calendar.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function resetChecklistDeliveryCalendar(\r\n clientId,\r\n calendarYear,\r\n psqArqc\r\n) {\r\n return function (dispatch) {\r\n if (!clientId) {\r\n return dispatch({\r\n type: actions.RESET_CHECKLIST_DELIVERY_SCHEDULE_FAILURE,\r\n checklistDeliveryCalendar: []\r\n });\r\n }\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/checklists/schedule/${clientId}/${calendarYear}/${psqArqc}`, {\r\n method: 'DELETE'\r\n })\r\n .then(response => {\r\n return response;\r\n })\r\n .then(checklistDeliveryCalendar => {\r\n if (actionHelpers.isErrorResponse(checklistDeliveryCalendar)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.RESET_CHECKLIST_DELIVERY_SCHEDULE_FAILURE,\r\n checklistDeliveryCalendar,\r\n );\r\n }\r\n dispatch({\r\n type: actions.RESET_CHECKLIST_DELIVERY_SCHEDULE_SUCCESS,\r\n checklistDeliveryCalendar,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.RESET_CHECKLIST_DELIVERY_SCHEDULE_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all the files attached to any checklist belonging to the specified period. If successful this will dispatch the LOAD_CHECKLIST_FILES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CHECKLIST_FILES_FAILURE action.\r\n * @param {number} periodId The id of the period.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchChecklistFilesByPeriod(\r\n periodId,\r\n authHeader\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n dispatch({\r\n type: actions.LOAD_CHECKLIST_FILES_SUCCESS,\r\n checklistFiles: [],\r\n });\r\n return fetch(`/checklists/checklistFiles/${periodId}`, {\r\n headers: (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(checklistFiles => {\r\n if (actionHelpers.isErrorResponse(checklistFiles)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CHECKLIST_FILES_FAILURE,\r\n checklistFiles,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_CHECKLIST_FILES_SUCCESS,\r\n checklistFiles,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CHECKLIST_FILES_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all the files attached to a checklist. If successful this will dispatch the LOAD_CHECKLIST_FILES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CHECKLIST_FILES_FAILURE action.\r\n * @param {number} checklistId The id of the checklist.\r\n * @param {string} checklistType The checklist type (PSQ, ARQC).\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchChecklistFiles(\r\n checklistId,\r\n checklistType,\r\n authHeader\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n dispatch({\r\n type: actions.LOAD_CHECKLIST_FILES_SUCCESS,\r\n checklistFiles: [],\r\n });\r\n return fetch(`/checklists/checklistFiles/${checklistType}/${checklistId}`, {\r\n headers: (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(checklistFiles => {\r\n if (actionHelpers.isErrorResponse(checklistFiles)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CHECKLIST_FILES_FAILURE,\r\n checklistFiles,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_CHECKLIST_FILES_SUCCESS,\r\n checklistFiles,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CHECKLIST_FILES_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Upload file(s) related to checklist question. If all files successful, this will dispatch the CHECKLIST_FILES_UPLOADED_SUCCESS\r\n * action, otherwise it will dispatch the CHECKLIST_FILES_UPLOADED_FAILURE action.\r\n * @param {Array} files The array of files to upload.\r\n * @param {number} checklistId The ID of the checklist.\r\n * @param {string} checklistType The type of the checklist.\r\n * @param {number} questionId The ID of the question.\r\n * @param {string} guid The external user guid\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function uploadChecklistFiles(\r\n files,\r\n checklistId,\r\n checklistType,\r\n questionId,\r\n guid,\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const authHeader = guid ? actionHelpers.buildAuthHeader(guid, checklistType) : null;\r\n\r\n // Function to read and upload file, returning a Promise to indicate if complete\r\n const uploadFile = (file) => new Promise((resolve) => {\r\n let formData = new FormData();\r\n formData.append('file', file);\r\n formData.append('checklistId', checklistId);\r\n formData.append('checklistType', checklistType);\r\n formData.append('questionId', questionId);\r\n\r\n return fetch(`/checklists/uploadChecklistFile`, {\r\n headers: (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n method: 'POST',\r\n body: formData\r\n })\r\n .then(response => {\r\n if (response.status == 201) {\r\n return false;\r\n }\r\n return response.json();\r\n })\r\n .then(response => {\r\n if (actionHelpers.isErrorResponse(response)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.SAVE_COMMENT_FAILURE,\r\n response\r\n );\r\n }\r\n if (!response) {\r\n // If successful response, return true\r\n return resolve(true);\r\n }\r\n\r\n return resolve(false);\r\n }).catch(() => resolve(false));\r\n });\r\n\r\n const tasks = [];\r\n\r\n for (let x = 0; x < files.length; x++) {\r\n tasks.push(uploadFile(files[x]));\r\n }\r\n\r\n // When all the tasks to upload file(s) are complete,\r\n // re-fetch the checklist files,\r\n // then return a Promise containing the array of responses\r\n // which will have true/false for each file\r\n // indicating if each was successfully uploaded or not\r\n return Promise.all(tasks).then(responses => {\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return responses;\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all ARQC checklist records belonging to the reit period. If successful this will dispatch the LOAD_ARQC_CHECKLIST_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_ARQC_CHECKLIST_FAILURE action.\r\n * @param {number} periodId The id of the period that owns the checklist.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @param {number} lastSelectedChecklistId The ID of the last selected checklist.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchArqcChecklistsByPeriod(\r\n periodId,\r\n authHeader,\r\n lastSelectedChecklistId,\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n dispatch({\r\n type: actions.LOAD_PREVIOUS_PSQ_CHECKLIST_SUCCESS,\r\n psqChecklist: {},\r\n });\r\n return fetch(`/checklists/summaries?checklistTypeID=ARQC&reportPeriodID=${periodId}`, {\r\n headers:\r\n (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(arqcChecklists => {\r\n if (actionHelpers.isErrorResponse(arqcChecklists)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_ARQC_CHECKLIST_FAILURE,\r\n arqcChecklists,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_ARQC_CHECKLIST_SUCCESS,\r\n arqcChecklists,\r\n [pendingTask]: end,\r\n });\r\n if (arqcChecklists.length > 0) {\r\n if (\r\n lastSelectedChecklistId &&\r\n arqcChecklists.some(x => x.checklistID === lastSelectedChecklistId)\r\n ) {\r\n fetchArqcChecklistById(lastSelectedChecklistId)(dispatch);\r\n } else {\r\n fetchArqcChecklistById(arqcChecklists[0].checklistID)(dispatch);\r\n }\r\n }\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_ARQC_CHECKLIST_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all ARQC checklist records belonging to the reit period. If successful this will dispatch the LOAD_ARQC_CHECKLIST_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_ARQC_CHECKLIST_FAILURE action.\r\n * @param {number} periodId The id of the period that owns the checklist.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchHasIncompleteCheckistByPeriod(periodId) {\r\n return fetch(`/checklists/incomplete?periodId=${periodId}`)\r\n .then(response => {\r\n if (response.ok) return response.json();\r\n\r\n throw new Error(response.statusText);\r\n })\r\n .catch(error => {\r\n throw error;\r\n });\r\n}\r\n\r\n/**\r\n * Fetch all PSQ checklist records belonging to the reit period. If successful this will dispatch the LOAD_PSQ_CHECKLIST_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_PSQ_CHECKLIST_FAILURE action.\r\n * @param {number} periodId The id of the period that owns the checklist.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchPsqChecklistSummariesByPeriod(periodId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/checklists/summaries?checklistTypeID=PSQ&reportPeriodID=${periodId}`)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(psqChecklists => {\r\n if (actionHelpers.isErrorResponse(psqChecklists)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_PSQ_CHECKLIST_FAILURE,\r\n psqChecklists,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_PSQ_CHECKLIST_SUCCESS,\r\n psqChecklists,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_PSQ_CHECKLIST_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all ARQC checklist records belonging to the reit period. If successful this will dispatch the LOAD_ARQC_CHECKLIST_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_ARQC_CHECKLIST_FAILURE action.\r\n * @param {number} periodId The id of the period that owns the checklist.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchArqcChecklistSummariesByPeriod(periodId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/checklists/summaries?checklistTypeID=ARQC&reportPeriodID=${periodId}`)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(arqcChecklists => {\r\n if (actionHelpers.isErrorResponse(arqcChecklists)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_ARQC_CHECKLIST_FAILURE,\r\n arqcChecklists,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_ARQC_CHECKLIST_SUCCESS,\r\n arqcChecklists,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_ARQC_CHECKLIST_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all PSQ checklist records belonging to the reit period. If successful this will dispatch the LOAD_PSQ_CHECKLIST_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_PSQ_CHECKLIST_FAILURE action.\r\n * @param {number} periodId The id of the period that owns the checklist.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @param {number} lastSelectedChecklistId The ID of the last selected checklist.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchPsqChecklistsByPeriod(\r\n periodId,\r\n authHeader,\r\n lastSelectedChecklistId,\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/checklists/summaries?checklistTypeID=PSQ&reportPeriodID=${periodId}`, {\r\n headers:\r\n (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(psqChecklists => {\r\n if (actionHelpers.isErrorResponse(psqChecklists)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_PSQ_CHECKLIST_FAILURE,\r\n psqChecklists,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_PSQ_CHECKLIST_SUCCESS,\r\n psqChecklists,\r\n [pendingTask]: end,\r\n });\r\n if (psqChecklists.length > 0) {\r\n if (\r\n lastSelectedChecklistId &&\r\n psqChecklists.some(x => x.checklistID === lastSelectedChecklistId)\r\n ) {\r\n fetchPsqChecklistById(lastSelectedChecklistId, true)(dispatch);\r\n } else {\r\n fetchPsqChecklistById(psqChecklists[0].checklistID, true)(dispatch);\r\n }\r\n }\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_PSQ_CHECKLIST_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the ARQC checklist record with the specified ID. If unsuccessful this will dispatch the LOAD_ARQC_CHECKLIST_FAILURE action.\r\n * @param {number} id The id of the checklist.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchArqcChecklistById(id) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/checklists/ARQC/${id}`)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(arqcChecklist => {\r\n if (actionHelpers.isErrorResponse(arqcChecklist)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_ARQC_CHECKLIST_FAILURE,\r\n arqcChecklist,\r\n );\r\n }\r\n\r\n if (arqcChecklist !== undefined && arqcChecklist !== null) {\r\n setActiveChecklist(arqcChecklist)(dispatch);\r\n \r\n }\r\n\r\n fetchPreviousArqcChecklist(\r\n arqcChecklist.reportPeriodID,\r\n arqcChecklist.reitTypeID,\r\n )(dispatch);\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_ARQC_CHECKLIST_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the PSQ checklist record with the specified ID. If unsuccessful this will dispatch the LOAD_PSQ_CHECKLIST_FAILURE action.\r\n * @param {number} id The id of the checklist.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchPsqChecklistById(id, includeDiscrepancyMessages) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/checklists/PSQ/${id}${includeDiscrepancyMessages ? '?includeDiscrepancyMessages=true' : ''}`)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(psqChecklist => {\r\n if (actionHelpers.isErrorResponse(psqChecklist)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_PSQ_CHECKLIST_FAILURE,\r\n psqChecklist,\r\n );\r\n }\r\n\r\n if (psqChecklist !== undefined && psqChecklist !== null) {\r\n setActiveChecklist(psqChecklist)(dispatch);\r\n }\r\n\r\n fetchPreviousPsqChecklist(\r\n psqChecklist.reportPeriodID,\r\n psqChecklist.propertyID,\r\n psqChecklist.propertyType,\r\n )(dispatch);\r\n dispatch({\r\n type: actions.LOAD_PSQ_CHECKLIST_SUCCESS,\r\n psqChecklist,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_PSQ_CHECKLIST_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch ARQC checklist by ID. If successful this will dispatch the LOAD_EXTERNAL_ARQC_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_EXTERNAL_ARQC_FAILURE action.\r\n * @param {number} checklistId The id of the ARQC checklist.\r\n * @param {boolean} excludeUpdatingCurrentChecklist If true, the current checklist will not be updated or dispatched LOAD_EXTERNAL_ARQC_SUCCESS.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchExternalArqcChecklistsById(checklistId, excludeUpdatingCurrentChecklist = false) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const authHeader = actionHelpers.buildAuthHeader(checklistId, 'ARQC');\r\n return fetch(`/checklists/external/ARQC/${checklistId}`, {\r\n headers: authHeader && new Headers({ Authorization: authHeader }),\r\n })\r\n .then(response => {\r\n return response.json(); // This will either be the checklist or UnsuccessfulResponse\r\n })\r\n .then(responseBody => {\r\n if (actionHelpers.isErrorResponse(responseBody)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_EXTERNAL_ARQC_FAILURE,\r\n responseBody, \r\n );\r\n }\r\n\r\n const arqcChecklists = [responseBody];\r\n dispatch({\r\n type: !excludeUpdatingCurrentChecklist\r\n ? actions.LOAD_EXTERNAL_ARQC_SUCCESS\r\n : actions.EXTERNAL_ARQC_EXCLUDE_UPDATING_CURRENT_CHECKLIST_SUCCESS,\r\n arqcChecklists,\r\n [pendingTask]: end,\r\n });\r\n if (arqcChecklists.length > 0 && !excludeUpdatingCurrentChecklist) {\r\n setActiveChecklist(arqcChecklists[0])(dispatch);\r\n \r\n fetchPreviousArqcChecklist(\r\n arqcChecklists[0].reportPeriodID,\r\n arqcChecklists[0].reitTypeID,\r\n authHeader,\r\n )(dispatch);\r\n }\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_EXTERNAL_ARQC_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the ARQC checklist record with the specified ID. If unsuccessful this will dispatch the LOAD_EXTERNAL_ARQC_FAILURE action.\r\n * @param {number} id The id of the checklist.\r\n * @param {boolean} excludeUpdatingCurrentChecklist If true, the current checklist will not be updated or dispatched LOAD_EXTERNAL_ARQC_SUCCESS.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchExternalPermArqcChecklists(id, excludeUpdatingCurrentChecklist = false) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`checklists/external/perm/ARQC/${id}`)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(arqcChecklist => {\r\n if (actionHelpers.isErrorResponse(arqcChecklist)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_EXTERNAL_ARQC_FAILURE,\r\n arqcChecklist,\r\n );\r\n }\r\n\r\n const arqcChecklists = [arqcChecklist];\r\n dispatch({\r\n type: !excludeUpdatingCurrentChecklist\r\n ? actions.LOAD_EXTERNAL_ARQC_SUCCESS\r\n : actions.EXTERNAL_ARQC_EXCLUDE_UPDATING_CURRENT_CHECKLIST_SUCCESS,\r\n arqcChecklists,\r\n [pendingTask]: end,\r\n });\r\n if (arqcChecklists.length > 0 && !excludeUpdatingCurrentChecklist) {\r\n setActiveChecklist(arqcChecklists[0])(dispatch);\r\n \r\n fetchPreviousArqcChecklist(\r\n arqcChecklists[0].reportPeriodID,\r\n arqcChecklists[0].reitTypeID,\r\n )(dispatch);\r\n }\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_EXTERNAL_ARQC_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n\r\n/**\r\n * Fetch PSQ checklist by ID. If successful this will dispatch the LOAD_EXTERNAL_PSQ_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_EXTERNAL_PSQ_FAILURE action.\r\n * @param {number} checklistId The id of the PSQ checklist.\r\n * @param {boolean} excludeUpdatingCurrentChecklist If true, the current checklist will not be updated or dispatched LOAD_EXTERNAL_PSQ_SUCCESS .\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchExternalPsqChecklistsById(checklistId, excludeUpdatingCurrentChecklist = false) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const authHeader = actionHelpers.buildAuthHeader(checklistId, 'PSQ');\r\n return fetch(`/checklists/external/PSQ/${checklistId}`, {\r\n headers: authHeader && new Headers({ Authorization: authHeader }),\r\n })\r\n .then(response => {\r\n return response.json(); // This will either be the checklist or UnsuccessfulResponse\r\n })\r\n .then(responseBody => { \r\n\r\n if (actionHelpers.isErrorResponse(responseBody)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_EXTERNAL_PSQ_FAILURE,\r\n responseBody,\r\n );\r\n }\r\n\r\n const psqChecklists = [responseBody];\r\n dispatch({\r\n type: !excludeUpdatingCurrentChecklist\r\n ? actions.LOAD_EXTERNAL_PSQ_SUCCESS\r\n : actions.EXTERNAL_PSQ_EXCLUDE_UPDATING_CURRENT_CHECKLIST_SUCCESS,\r\n psqChecklists,\r\n [pendingTask]: end,\r\n });\r\n if (psqChecklists.length > 0 && !excludeUpdatingCurrentChecklist) {\r\n setActiveChecklist(psqChecklists[0])(dispatch);\r\n \r\n fetchPreviousPsqChecklist(\r\n psqChecklists[0].reportPeriodID,\r\n psqChecklists[0].propertyID,\r\n psqChecklists[0].propertyType,\r\n authHeader,\r\n )(dispatch);\r\n }\r\n return responseBody; // Return the fetched checklist\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_EXTERNAL_PSQ_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the PSQ checklist records belonging to the reit period previous to the one specified. If successful this will dispatch the LOAD_PREVIOUS_PSQ_CHECKLIST_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_PREVIOUS_PSQ_CHECKLIST_FAILURE action.\r\n * @param {number} currentPeriodId The id of the current period.\r\n * @param {number} propertyId The ID of the property.\r\n * @param {number} propertyType The type of the property.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchPreviousPsqChecklist(\r\n currentPeriodId,\r\n propertyId,\r\n propertyType,\r\n authHeader,\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(\r\n `/checklists/PSQ/previous?currentPeriodId=${currentPeriodId}&propertyId=${propertyId}&propertyType=${propertyType}`,\r\n {\r\n headers:\r\n (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n },\r\n )\r\n .then(response => {\r\n return response.json().catch(() => {\r\n return null;\r\n });\r\n })\r\n .then(psqChecklist => {\r\n if (actionHelpers.isErrorResponse(psqChecklist)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_PREVIOUS_PSQ_CHECKLIST_FAILURE,\r\n psqChecklist,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_PREVIOUS_PSQ_CHECKLIST_SUCCESS,\r\n psqChecklist,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_PREVIOUS_PSQ_CHECKLIST_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the ARQC checklist records belonging to the reit period previous to the one specified. If successful this will dispatch the LOAD_PREVIOUS_ARQC_CHECKLIST_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_PREVIOUS_ARQC_CHECKLIST_FAILURE action.\r\n * @param {number} currentPeriodId The id of the current period.\r\n * @param {number} reitType The type of the REIT.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchPreviousArqcChecklist(\r\n currentPeriodId,\r\n reitType,\r\n authHeader,\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(\r\n `/checklists/ARQC/previous?currentPeriodId=${currentPeriodId}&reitType=${reitType}`,\r\n {\r\n headers:\r\n (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n },\r\n )\r\n .then(response => {\r\n return response.json().catch(() => {\r\n return null;\r\n });\r\n })\r\n .then(arqcChecklist => {\r\n if (actionHelpers.isErrorResponse(arqcChecklist)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_PREVIOUS_ARQC_CHECKLIST_FAILURE,\r\n arqcChecklist,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_PREVIOUS_ARQC_CHECKLIST_SUCCESS,\r\n arqcChecklist,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_PREVIOUS_ARQC_CHECKLIST_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Saves a checklist to the REIT API database.\r\n * @param {any} checklist The checklist\r\n * @param {any} shouldRefresh True if the checklist should refresh\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @param {bool} [isExternal=false] True if saving by an external user, otherwise false.\r\n * @returns {Promise} A Promise\r\n */\r\nexport function saveChecklist(\r\n checklist,\r\n shouldRefresh,\r\n authHeader,\r\n isExternal = false,\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const payload = checklist;\r\n const isShouldRefresh = shouldRefresh;\r\n return fetch(`/checklists/${checklist.checklistTypeID}/${checklist.checklistID}`, {\r\n headers: {\r\n Accept:\r\n 'application/json, application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'Content-Type': 'application/json',\r\n Authorization: authHeader || '',\r\n },\r\n method: 'PUT',\r\n body: JSON.stringify(payload),\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(checklist => {\r\n if (actionHelpers.isErrorResponse(checklist)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CHECKLIST_FAILURE,\r\n checklist,\r\n );\r\n }\r\n\r\n if (isShouldRefresh && checklist.checklistTypeID === 'ARQC') {\r\n fetchArqcChecklistsByPeriod(\r\n checklist.reportPeriodID,\r\n authHeader,\r\n checklist.checklistID,\r\n )(dispatch);\r\n } else if (isShouldRefresh) {\r\n fetchPsqChecklistsByPeriod(\r\n checklist.reportPeriodID,\r\n authHeader,\r\n checklist.checklistID,\r\n )(dispatch);\r\n }\r\n\r\n if (!isExternal && checklist.checklistTypeID === 'ARQC') {\r\n fetchPreviousArqcChecklist(\r\n checklist.reportPeriodID,\r\n checklist.reitTypeID,\r\n authHeader,\r\n )(dispatch);\r\n } else if (!isExternal) {\r\n fetchPreviousPsqChecklist(\r\n checklist.reportPeriodID,\r\n checklist.propertyID,\r\n checklist.propertyType,\r\n authHeader,\r\n )(dispatch);\r\n }\r\n\r\n dispatch({\r\n type: actions.UPDATE_CHECKLIST_SUCCESS,\r\n checklist,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CHECKLIST_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Creates a checklist to the REIT API database.\r\n * @param {any} createRequest The create request\r\n * @returns {Promise} A Promise\r\n */\r\nexport function createChecklist(createRequest) {\r\n const payload = createRequest;\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/checklists`, {\r\n headers: {\r\n Accept:\r\n 'application/json, application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(payload),\r\n }).then(response => {\r\n return response.json();\r\n })\r\n .then(checklist => {\r\n if (actionHelpers.isErrorResponse(checklist)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_CHECKLIST_FAILURE,\r\n checklist,\r\n );\r\n }\r\n\r\n return dispatch({\r\n type: actions.CREATE_CHECKLIST_SUCCESS,\r\n checklist,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_CHECKLIST_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n};\r\n}\r\n\r\n/**\r\n * Delete a checklist\r\n * @param {any} type The checklist type to delete (PSQ or ARQC)\r\n * @param {any} id The ID of the checklist to delete.\r\n * @returns {any} A function the returns a Promise.\r\n */\r\nexport function deleteChecklist(type, id) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/checklists/${type}/${id}`, {\r\n method: 'DELETE',\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(checklist => {\r\n if (actionHelpers.isErrorResponse(checklist)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_CHECKLIST_FAILURE,\r\n checklist,\r\n );\r\n }\r\n\r\n return dispatch({\r\n type: actions.DELETE_CHECKLIST_SUCCESS,\r\n checklist,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_CHECKLIST_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Remove deleted checklist from state.\r\n * @returns {any} A function that dispatches an action.\r\n */\r\nexport function clearDeletedChecklist() {\r\n return function (dispatch) {\r\n return dispatch({ type: actions.DELETE_CHECKLIST_CLEAR });\r\n };\r\n}\r\n\r\n/**\r\n * Sets the active checklist.\r\n * @param {any} checklist The checklist to become active\r\n * @param {any} previousChecklist The previous period checklist\r\n * @returns {Promise} A Promise\r\n */\r\nexport function setActiveChecklist(checklist, previousChecklist) {\r\n return function (dispatch) {\r\n let modifiedChecklist = {};\r\n\r\n modifiedChecklist = mapPreviousAnswers(checklist, previousChecklist);\r\n\r\n if (checklist.checklistTypeID === 'ARQC') {\r\n dispatch({\r\n type: actions.SET_ARQC_ACTIVE_CHECKLIST_SUCCESS,\r\n activeChecklist: modifiedChecklist,\r\n });\r\n } else {\r\n dispatch({\r\n type: actions.SET_PSQ_ACTIVE_CHECKLIST_SUCCESS,\r\n activeChecklist: modifiedChecklist,\r\n });\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Maps the answers from the previous checklist to the current checklist\r\n * @param {any} checklist The checklist to map answers to.\r\n * @param {any} previousChecklist The previous checklist to map answers from.\r\n * @returns {Promise} A Promise\r\n */\r\nexport function mapPreviousAnswers(checklist, previousChecklist) {\r\n let ck = JSON.parse(JSON.stringify(checklist));\r\n\r\n ck.mappedPreviousAnswers = true;\r\n\r\n if (\r\n previousChecklist === undefined ||\r\n previousChecklist === null ||\r\n previousChecklist.content == undefined ||\r\n previousChecklist.content == null\r\n ) {\r\n return clearPreviousAnswers(ck);\r\n }\r\n\r\n if (\r\n !checklist ||\r\n !Array.isArray(checklist.content) ||\r\n !previousChecklist ||\r\n !Array.isArray(previousChecklist.content)\r\n ) {\r\n return checklist;\r\n }\r\n\r\n // Check for content\r\n if (!ck.content) return;\r\n\r\n let allPreviousQuestions = [];\r\n\r\n if (previousChecklist.content) {\r\n // Get all questions from previous checklist from all sections and combine them into single array (i.e. allPreviousQuestions)\r\n previousChecklist.content.forEach((section) => {\r\n allPreviousQuestions = allPreviousQuestions.concat(section.items);\r\n });\r\n\r\n if (allPreviousQuestions.length > 0) {\r\n // Compare each section with previous checklist\r\n for (let i = 0; i < ck.content.length; i++) {\r\n let section = ck.content[i];\r\n\r\n // Continue if no section questions\r\n if (!section.items) continue;\r\n\r\n // Compare each parent question from section with previous checklist\r\n for (let j = 0; j < section.items.length; j++) {\r\n let item = section.items[j];\r\n\r\n // Get the question based on \"id\" from previous checklist\r\n let previousItem = allPreviousQuestions.find(x => x.id === item.id);\r\n\r\n // Continue if no previous question\r\n if (!previousItem) {\r\n continue;\r\n }\r\n\r\n if (\r\n previousItem.selectedAnswers &&\r\n previousItem.selectedAnswers.length > 0\r\n ) {\r\n item.previousAnswers = previousItem.selectedAnswers;\r\n } else if (\r\n previousItem.defaultAnswers &&\r\n previousItem.defaultAnswers.length > 0\r\n ) {\r\n item.previousAnswers = previousItem.defaultAnswers;\r\n } else {\r\n item.previousAnswers = previousItem.selectedAnswers;\r\n }\r\n\r\n // Continue if no children\r\n if (!item.children) continue;\r\n\r\n // Compare each child question from parent with previous checklist\r\n for (let k = 0; k < item.children.length; k++) {\r\n let child = item.children[k];\r\n\r\n // Continue if no previous children\r\n if (!previousItem.children) continue;\r\n\r\n let previousChild = previousItem.children.find(x => x.id === child.id);\r\n\r\n // Continue if no previous child question\r\n if (!previousChild) {\r\n continue;\r\n }\r\n\r\n if (\r\n previousChild.selectedAnswers &&\r\n previousChild.selectedAnswers.length > 0\r\n ) {\r\n child.previousAnswers = previousChild.selectedAnswers;\r\n } else if (\r\n previousChild.defaultAnswers &&\r\n previousChild.defaultAnswers.length > 0\r\n ) {\r\n child.previousAnswers = previousChild.defaultAnswers;\r\n } else {\r\n child.previousAnswers = previousChild.selectedAnswers;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return ck;\r\n}\r\n\r\n/**\r\n * Clear the previous answers on a checklist.\r\n * @param {any} checklist The checklist.\r\n * @returns {any} The checklist.\r\n */\r\nexport function clearPreviousAnswers(checklist) {\r\n // Check for content\r\n if (!checklist.content) return;\r\n\r\n for (let i = 0; i < checklist.content.length; i++) {\r\n let section = checklist.content[i];\r\n\r\n if (!section.items) continue;\r\n\r\n for (let j = 0; j < section.items.length; j++) {\r\n let item = section.items[j];\r\n\r\n item.previousAnswers = [];\r\n\r\n // Continue if no children\r\n if (!item.children) continue;\r\n\r\n for (let k = 0; k < item.children.length; k++) {\r\n let child = item.children[k];\r\n\r\n child.previousAnswers = [];\r\n }\r\n }\r\n }\r\n\r\n return checklist;\r\n}\r\n\r\n/**\r\n * Reverts a checklist state to the previous state.\r\n * @param {any} checklist The checklist\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {any} A function that returns a Promise\r\n */\r\nexport function revertChecklistState(checklist, authHeader) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n dispatch({\r\n type: actions.LOAD_PREVIOUS_PSQ_CHECKLIST_SUCCESS,\r\n psqChecklist: {},\r\n });\r\n const payload = checklist;\r\n\r\n return fetch(`/checklists/${checklist.checklistTypeID}/${checklist.checklistID}/revertstate`, {\r\n headers: {\r\n Accept:\r\n 'application/json, application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'Content-Type': 'application/json',\r\n Authorization: authHeader || '',\r\n },\r\n method: 'PUT',\r\n body: JSON.stringify(payload),\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(checklist => {\r\n if (actionHelpers.isErrorResponse(checklist)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CHECKLIST_FAILURE,\r\n checklist,\r\n );\r\n }\r\n\r\n if (checklist.checklistTypeID === 'ARQC') {\r\n fetchArqcChecklistsByPeriod(\r\n checklist.reportPeriodID,\r\n authHeader,\r\n checklist.checklistID,\r\n )(dispatch);\r\n\r\n fetchPreviousArqcChecklist(\r\n checklist.reportPeriodID,\r\n checklist.reitTypeID,\r\n authHeader,\r\n )(dispatch);\r\n } else {\r\n fetchPsqChecklistsByPeriod(\r\n checklist.reportPeriodID,\r\n authHeader,\r\n checklist.checklistID,\r\n )(dispatch);\r\n\r\n fetchPreviousPsqChecklist(\r\n checklist.reportPeriodID,\r\n checklist.propertyID,\r\n checklist.propertyType,\r\n authHeader,\r\n )(dispatch);\r\n }\r\n\r\n dispatch({\r\n type: actions.UPDATE_CHECKLIST_SUCCESS,\r\n checklist,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CHECKLIST_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Reverts a checklist state to the previous state (used for permanent external users).\r\n * @param {any} checklist The checklist\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {any} A function that returns a Promise\r\n */\r\nexport function revertChecklistStateExternal(checklist, reitId, authHeader) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const payload = checklist;\r\n\r\n return fetch(`/checklists/${checklist.checklistTypeID}/${checklist.checklistID}/revertstate`, {\r\n headers: {\r\n Accept:\r\n 'application/json',\r\n 'Content-Type': 'application/json',\r\n Authorization: authHeader || '',\r\n },\r\n method: 'PUT',\r\n body: JSON.stringify(payload),\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(checklist => {\r\n if (actionHelpers.isErrorResponse(checklist)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CHECKLIST_FAILURE,\r\n checklist,\r\n );\r\n }\r\n\r\n dispatch(fetchChecklistListForExternalUser(reitId));\r\n\r\n dispatch({\r\n type: actions.UPDATE_CHECKLIST_SUCCESS,\r\n checklist,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CHECKLIST_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Get email addresses for external PSQ.\r\n * @param {any} checklistId The ID of the checklist.\r\n * @returns {any} A Promise.\r\n */\r\nexport function getExternalPsqEmails(checklistId) {\r\n const authHeader = actionHelpers.buildAuthHeader(checklistId, 'PSQ');\r\n return fetch(`checklists/external/psq/${checklistId}/emails`, {\r\n headers: authHeader && new Headers({ Authorization: authHeader }),\r\n });\r\n}\r\n\r\n/**\r\n * Get a summary of client, REIT, and properties for a given period.\r\n * @param {any} periodId The ID of the report period.\r\n * @returns {any} A Promise.\r\n */\r\nexport function getReportPeriodSummary(periodId) {\r\n return fetch(`periods/${periodId}/summary`);\r\n}\r\n\r\n/**\r\n * Send the PSQ internal review email.\r\n * @param {any} checklistId The external checklist ID.\r\n * @param {any} clientEmails The email addresses to send the review to.\r\n * @returns {any} A Promise.\r\n */\r\nexport function sendPsqInternalReviewEmail(checklistId, clientEmails) {\r\n //let data = { clientEmails: clientEmails };\r\n let body = JSON.stringify(clientEmails);\r\n\r\n const authHeader = actionHelpers.buildAuthHeader(checklistId, 'PSQ');\r\n return fetch(\r\n `checklists/external/psq/${checklistId}/sendInternalReviewEmail`,\r\n {\r\n \r\n headers: (authHeader && new Headers({Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n Authorization: authHeader })) || null,\r\n method: 'POST',\r\n body: body,\r\n },\r\n );\r\n}\r\n\r\nexport function sendPsqInternalReviewEmailForExtPerm(checklistId, clientEmails) {\r\n //let data = { clientEmails: clientEmails };\r\n let body = JSON.stringify(clientEmails);\r\n return fetch(\r\n `checklists/externalPerm/psq/${checklistId}/sendInternalReviewEmail`,\r\n {\r\n \r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json'\r\n },\r\n method: 'POST',\r\n body: body,\r\n },\r\n );\r\n}\r\n/**\r\n * Save new comment on a checklist question\r\n * @param {string} type The checklist type (PSQ or ARQC)\r\n * @param {number} id The ID of the checklist.\r\n * @param {number} questionId The ID of the question within the checklist\r\n * @param {string} commentText The comment text.\r\n * @param {array} unsavedQuestions The array of unsaved questions.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function saveNewChecklistComment(type, id, questionId, commentText, unsavedQuestions, authHeader) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const headers = {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n };\r\n\r\n if (authHeader) {\r\n headers['Authorization'] = authHeader;\r\n }\r\n\r\n return fetch(`/checklists/${type}/${id}/${questionId}`, {\r\n method: 'POST',\r\n headers,\r\n body: JSON.stringify({\r\n commentText,\r\n unsavedQuestions\r\n })\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(comments => {\r\n if (actionHelpers.isErrorResponse(comments)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.SAVE_NEW_CHECKLIST_COMMENT_FAILURE\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.SAVE_NEW_CHECKLIST_COMMENT_SUCCESS,\r\n [pendingTask]: end\r\n });\r\n\r\n return comments;\r\n })\r\n .catch(error => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.SAVE_NEW_CHECKLIST_COMMENT_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n\r\n/**\r\n* Edit saved comment on a checklist question\r\n* @param { string } type The checklist type(PSQ or ARQC)\r\n* @param { number } id The ID of the checklist.\r\n* @param { number } questionId The ID of the question within the checklist\r\n* @param { string } commentText The comment text.\r\n* @param { string } commentId (GUID) for comment text.\r\n* @param { object } authHeader The Authorization header. If not supplied it will be generated.\r\n* @returns { any } A function that returns a Promise.\r\n*/\r\nexport function editSavedChecklistComment(type, id, questionId, commentText, commentId, authHeader) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n const headers = {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n };\r\n\r\n if (authHeader) {\r\n headers['Authorization'] = authHeader;\r\n }\r\n\r\n return fetch(`/checklists/${type}/${id}/${questionId}/${commentId}`, {\r\n method: 'POST',\r\n headers,\r\n body: JSON.stringify(commentText)\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(comments => {\r\n if (actionHelpers.isErrorResponse(comments)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.EDIT_SAVED_CHECKLIST_COMMENT_FAILURE\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.EDIT_SAVED_CHECKLIST_COMMENT_SUCCESS,\r\n [pendingTask]: end\r\n });\r\n\r\n return comments;\r\n })\r\n .catch(error => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.EDIT_SAVED_CHECKLIST_COMMENT_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n\r\n/**\r\n* Delete saved comment on a checklist question\r\n* @param { string } type The checklist type(PSQ or ARQC)\r\n* @param { number } id The ID of the checklist.\r\n* @param { number } questionId The ID of the question within the checklist\r\n* @param { string } commentId (GUID) for comment text.\r\n* @param { object } authHeader The Authorization header. If not supplied it will be generated.\r\n* @returns { any } A function that returns a Promise.\r\n*/\r\nexport function deleteSavedChecklistComment(type, id, questionId, commentId, authHeader) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n const headers = {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n };\r\n\r\n if (authHeader) {\r\n headers['Authorization'] = authHeader;\r\n }\r\n\r\n return fetch(`/checklists/${type}/${id}/${questionId}/${commentId}`, {\r\n method: 'DELETE',\r\n headers,\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(comments => {\r\n if (actionHelpers.isErrorResponse(comments)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_SAVED_CHECKLIST_COMMENT_FAILURE\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.DELETE_SAVED_CHECKLIST_COMMENT_SUCCESS,\r\n [pendingTask]: end\r\n });\r\n\r\n return comments;\r\n })\r\n .catch(error => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_SAVED_CHECKLIST_COMMENT_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n\r\n/**\r\n* Delete attachment on a checklist question\r\n* @param { number } checklistFileAttachmentId The ID of the attachment to delete\r\n* @param { string } checklistType The type of checklist.\r\n* @param { number } checklistId The id of the checklist.\r\n* @param { number } periodId The id of the period.\r\n* @param { object } authHeader The Authorization header. If not supplied it will be generated.\r\n* @returns { any } A function that returns a Promise.\r\n*/\r\nexport function deleteChecklistAttachment(checklistFileAttachmentId, checklistType, checklistId, periodId, authHeader) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n const headers = {\r\n 'Accept': 'application/json'\r\n };\r\n\r\n if (authHeader) {\r\n headers['Authorization'] = authHeader;\r\n }\r\n\r\n return fetch(`/checklists/checklistFiles/${checklistFileAttachmentId}`, {\r\n method: 'DELETE',\r\n headers,\r\n })\r\n .then(response => {\r\n if (response.ok) {\r\n return null;\r\n }\r\n\r\n return response.json();\r\n })\r\n .then(response => {\r\n if (actionHelpers.isErrorResponse(response)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_CHECKLIST_ATTACHMENT_FAILURE\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.DELETE_CHECKLIST_ATTACHMENT_SUCCESS,\r\n [pendingTask]: end\r\n });\r\n\r\n // if periodId is passed, the caller is FileManagementPage\r\n // otherwise the caller is the checklist page so fetch the checklist\r\n if (!periodId) {\r\n fetchChecklistFiles(checklistId, checklistType, authHeader)(dispatch);\r\n }\r\n\r\n return response;\r\n })\r\n .catch(error => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_CHECKLIST_ATTACHMENT_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n\r\n/**\r\n * Retrieves a list of the checklists a permanent external user has access to for the given client.\r\n * @param {any} clientId The ID of the client.\r\n * @returns {any} A Promise.\r\n */\r\nexport function fetchChecklistListForExternalUser(reitId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/checklists/checklistsExternal/${reitId}`).then(response => {\r\n return response.json();\r\n }).then(checklistsData => {\r\n if (actionHelpers.isErrorResponse(checklistsData)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_EXTERNAL_CHECKLIST_LIST_FAILURE, checklistsData);\r\n }\r\n dispatch({ type: actions.LOAD_EXTERNAL_CHECKLIST_LIST_SUCCESS, checklistList: checklistsData, [pendingTask]: end });\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all Custom Question records belonging to the client. If successful this will dispatch the LOAD_CUSTOM_QUESTIONS_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CUSTOM_QUESTIONS_FAILURE action.\r\n * @param {number} clientId The id of the client that owns the Custom Questions.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchCustomQuestionList(clientId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/checklists/customQuestions/${clientId}`)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(customQuestionList => {\r\n if (actionHelpers.isErrorResponse(customQuestionList)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_QUESTIONS_FAILURE,\r\n customQuestionList,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_CUSTOM_QUESTIONS_SUCCESS,\r\n customQuestionList,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_QUESTIONS_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Creates a custom question record to the REIT API database.\r\n * @param {any} createRequest The create request\r\n * @returns {Promise} A Promise\r\n */\r\nexport function createCustomQuestion(createRequest) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const payload = createRequest;\r\n\r\n return fetch(`/checklists/customQuestions`, {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(payload),\r\n })\r\n .then(response => {\r\n if (response.ok) {\r\n return null;\r\n }\r\n else {\r\n return response.json();\r\n }\r\n })\r\n .then(response => {\r\n if (actionHelpers.isErrorResponse(response)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_CUSTOM_QUESTION_FAILURE,\r\n response,\r\n );\r\n }\r\n\r\n dispatch(fetchCustomQuestionList(createRequest.clientID));\r\n\r\n dispatch({\r\n type: actions.CREATE_CUSTOM_QUESTION_SUCCESS,\r\n response,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_CUSTOM_QUESTION_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n* Delete saved comment on a checklist question\r\n* @param { string } type The checklist type(PSQ or ARQC)\r\n* @param { number } id The ID of the checklist.\r\n* @param { number } questionId The ID of the question within the checklist\r\n* @param { string } commentId (GUID) for comment text.\r\n* @param { object } authHeader The Authorization header. If not supplied it will be generated.\r\n* @returns { any } A function that returns a Promise.\r\n*/\r\nexport function deleteCustomQuestion(customQuestionID, customQuestionList) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/checklists/customQuestions/${customQuestionID}`, {\r\n method: 'DELETE',\r\n })\r\n .then(response => {\r\n if (response.ok) {\r\n return null;\r\n }\r\n else {\r\n return response.json();\r\n }\r\n })\r\n .then(response => {\r\n if (actionHelpers.isErrorResponse(response)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_CUSTOM_QUESTION_FAILURE,\r\n response,\r\n );\r\n }\r\n\r\n // remove the deleted custom question\r\n for (let i = 0; i < customQuestionList.length; i++) {\r\n if (customQuestionList[i].customQuestionID === customQuestionID) {\r\n customQuestionList.splice(i, 1);\r\n }\r\n }\r\n\r\n dispatch({\r\n type: actions.DELETE_CUSTOM_QUESTION_SUCCESS,\r\n customQuestionList,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_CUSTOM_QUESTION_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Creates a custom question record to the REIT API database.\r\n * @param {any} createRequest The create request\r\n * @returns {Promise} A Promise\r\n */\r\nexport function updateCustomQuestion(updateRequest) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const payload = updateRequest;\r\n\r\n return fetch(`/checklists/customQuestions`, {\r\n headers: {\r\n Accept:\r\n 'application/json, application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'PUT',\r\n body: JSON.stringify(payload),\r\n })\r\n .then(response => {\r\n if (response.ok) {\r\n return null;\r\n }\r\n else {\r\n return response.json();\r\n }\r\n })\r\n .then(response => {\r\n if (actionHelpers.isErrorResponse(response)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CUSTOM_QUESTION_FAILURE,\r\n response,\r\n );\r\n }\r\n\r\n dispatch(fetchCustomQuestionList(updateRequest.clientID));\r\n\r\n dispatch({\r\n type: actions.UPDATE_CUSTOM_QUESTION_SUCCESS,\r\n response,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CUSTOM_QUESTION_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all the calendar years having checklists. If successful this will dispatch the LOAD_CHECKLIST_CALENDAR_YEARS_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CHECKLIST_CALENDAR_YEARS_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchChecklistCalendarYears(\r\n clientId\r\n) {\r\n return function (dispatch) {\r\n if (!clientId) {\r\n return dispatch({\r\n type: actions.LOAD_CHECKLIST_CALENDAR_YEARS_SUCCESS,\r\n checklistCalendarYears: []\r\n });\r\n }\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/checklists/checklistCalendarYears/${clientId}`)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(checklistCalendarYears => {\r\n if (actionHelpers.isErrorResponse(checklistCalendarYears)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CHECKLIST_CALENDAR_YEARS_FAILURE,\r\n checklistCalendarYears,\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_CHECKLIST_CALENDAR_YEARS_SUCCESS,\r\n checklistCalendarYears,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CHECKLIST_CALENDAR_YEARS_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all the calendar years for a given client and checklist type. If successful this will dispatch the LOAD_CHECKLIST_CALENDAR_YEARS_BY_CLIENT_AND_TYPE_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CHECKLIST_CALENDAR_YEARS_BY_CLIENT_AND_TYPE_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {string} checklistType The checklist type.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchChecklistCalendarYearsByClientAndType(clientId, checklistType) {\r\n return (dispatch) => {\r\n if (!clientId || !checklistType) {\r\n return dispatch({\r\n type: actions.LOAD_CHECKLIST_CALENDAR_YEARS_BY_CLIENT_AND_TYPE_SUCCESS,\r\n checklistCalendarYears: []\r\n });\r\n }\r\n\r\n dispatch({type: actions.TASK_BEGIN, [pendingTask]: begin});\r\n\r\n return fetch(`/checklists/checklistCalendarYears/${clientId}/${checklistType}`)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(checklistCalendarYears => {\r\n if (actionHelpers.isErrorResponse(checklistCalendarYears)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CHECKLIST_CALENDAR_YEARS_BY_CLIENT_AND_TYPE_FAILURE,\r\n checklistCalendarYears\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_CHECKLIST_CALENDAR_YEARS_BY_CLIENT_AND_TYPE_SUCCESS,\r\n checklistCalendarYears,\r\n [pendingTask]: end,\r\n });\r\n return checklistCalendarYears;\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CHECKLIST_CALENDAR_YEARS_BY_CLIENT_AND_TYPE_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all the checklists belonging to the specified client and (calendar year/report period id/checklist type). \r\n * If successful this will dispatch the LOAD_MANAGE_CHECKLIST_SUCCESS action, \r\n * otherwise it will dispatch the LOAD_MANAGE_CHECKLIST_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {number} calendarYear The calendar year.\r\n * @param {number} reportPeriodId The report period id.\r\n * @param {string} checklistType The checklist type.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\n export function fetchManageChecklists(\r\n clientId,\r\n calendarYear,\r\n reportPeriodId,\r\n checklistType\r\n ) {\r\n // Manage Checklist - When Checklist type is null then Calendar year should have value\r\n // PSQ/ARQC - When Checklist type is not null then Report Period Id should have value \r\n return function (dispatch) { \r\n if (!clientId || (!calendarYear && !checklistType) || (!reportPeriodId && checklistType)) {\r\n return dispatch({\r\n type: actions.LOAD_MANAGE_CHECKLIST_SUCCESS,\r\n manageChecklists: []\r\n });\r\n }\r\n \r\n let url = `/checklists/manage?clientId=${clientId}`;\r\n if (calendarYear) {\r\n url += `&calendarYear=${calendarYear}`;\r\n }\r\n if (reportPeriodId) {\r\n url += `&reportPeriodId=${reportPeriodId}`;\r\n }\r\n if (checklistType) {\r\n url += `&checklistType=${checklistType}`;\r\n }\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(url)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(manageChecklists => {\r\n if (actionHelpers.isErrorResponse(manageChecklists)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_MANAGE_CHECKLIST_FAILURE,\r\n manageChecklists,\r\n );\r\n }\r\n \r\n // Transform the manage checklists into flat checklist structure\r\n dispatch({\r\n type: actions.LOAD_MANAGE_CHECKLIST_SUCCESS,\r\n manageChecklists: flattenManageChecklists(manageChecklists),\r\n [pendingTask]: end,\r\n });\r\n return manageChecklists;\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_MANAGE_CHECKLIST_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Transform the manage checklists into flat checklist structure for each checklist email details\r\n * @param {*} manageChecklists \r\n * @returns flatManageChecklists\r\n */\r\nfunction flattenManageChecklists(manageChecklists){\r\n let flatManageChecklists=[];\r\n \r\n manageChecklists.forEach(mc => {\r\n // Get checklist email details for each checklist\r\n const checklistEmailDetails = mc.checklistEmailDetails;\r\n\r\n // Remove checklist email details property from checklist\r\n delete mc.checklistEmailDetails;\r\n\r\n // If checklist email detials not present then add the checklist object\r\n // Add recipients property as _\r\n if (!checklistEmailDetails || checklistEmailDetails.length <= 0) {\r\n flatManageChecklists.push({...mc, recipients:mc.checklistID+'_'+mc.checklistType, checklistSelection:false,\r\n recipientEmail:'', senderEmail:'', sentDate:'', expirationDate:''\r\n });\r\n }\r\n else {\r\n // For each checklist email detail return flattened object along with checklist\r\n // Add recipients property as _\r\n checklistEmailDetails.forEach(ced => {\r\n flatManageChecklists.push({...mc, recipients:mc.checklistID+'_'+mc.checklistType, checklistSelection:false, ...ced});\r\n });\r\n }\r\n });\r\n return flatManageChecklists;\r\n}\r\n\r\n/**\r\n * Fetch all the external checklists belonging to the specified client and calendar year. \r\n * If successful this will dispatch the LOAD_EXTERNAL_CHECKLIST_SUCCESS action,\r\n * otherwise it will dispatch the LOAD_EXTERNAL_CHECKLIST_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {number} calendarYear The calendar year.\r\n * @param {string} checklistType The checklist type.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchExternalChecklists(\r\n clientId,\r\n calendarYear,\r\n checklistType\r\n) {\r\n return function (dispatch) {\r\n if (!clientId || !calendarYear) {\r\n return dispatch({\r\n type: actions.LOAD_EXTERNAL_CHECKLIST_SUCCESS,\r\n extChecklists: []\r\n });\r\n }\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/checklists/external/${clientId}/${calendarYear}/${checklistType}`)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(externalChecklists => {\r\n if (actionHelpers.isErrorResponse(externalChecklists)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_EXTERNAL_CHECKLIST_FAILURE,\r\n externalChecklists,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_EXTERNAL_CHECKLIST_SUCCESS,\r\n extChecklists: externalChecklists,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_EXTERNAL_CHECKLIST_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Add users(email addresses) to Checklists.\r\n * If successful this will dispatch the ADD_CHECKLIST_USERS_SUCCESS action,\r\n * otherwise it will dispatch the ADD_CHECKLIST_USERS_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {array} requestData The array containing selected Checklist details and User(Email) details.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function addChecklistUsers(\r\n clientId,\r\n requestData\r\n) {\r\n \r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/checklists/manage/addChecklistUsers/${clientId}`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(requestData)\r\n })\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.ADD_CHECKLIST_USERS_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.ADD_CHECKLIST_USERS_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Delete users(email addresses) from Checklists.\r\n * If successful this will dispatch the DELETE_CHECKLIST_USERS_SUCCESS action,\r\n * otherwise it will dispatch the DELETE_CHECKLIST_USERS_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {array} requestData The array containing selected Checklist details and User(Email) details.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function deleteChecklistUsers(\r\n clientId,\r\n requestData\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/checklists/manage/deleteChecklistUsers/${clientId}`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json'\r\n },\r\n method: 'DELETE',\r\n body: JSON.stringify(requestData)\r\n })\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_CHECKLIST_USERS_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_CHECKLIST_USERS_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Resend Checklists.\r\n * If successful this will dispatch the TASK_END action,\r\n * otherwise it will dispatch the RESEND_CHECKLISTS_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {array} requestData The array containing selected Checklist details and User(Email) details.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\n export function resendChecklists(requestData) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/checklists/manage/queueResendChecklistEmails`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(requestData)\r\n })\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.RESEND_CHECKLISTS_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.RESEND_CHECKLISTS_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport async function updateChecklistsState(\r\n clientId,\r\n splitedChecklists,\r\n checklistStateID\r\n) {\r\n return await processUpdatingChecklistsState(clientId, splitedChecklists, checklistStateID);\r\n}\r\n\r\nexport async function processUpdatingChecklistsState(\r\n clientId,\r\n splitedChecklists,\r\n checklistStateID\r\n) {\r\n for (let i = 0; i <= splitedChecklists.length - 1; i++) { \r\n\r\n let requestData = {\r\n clientID: clientId,\r\n checklists: splitedChecklists[i],\r\n checklistStateID: checklistStateID\r\n };\r\n\r\n await setChecklistsState(clientId, requestData)\r\n .then(() => {\r\n }).catch((error) => {\r\n throw (error);\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Update Checklists state.\r\n * If successful this will dispatch the UPDATE_CHECKLISTS_STATE_SUCCESS action,\r\n * otherwise it will dispatch the UPDATE_CHECKLISTS_STATE_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {array} requestData The array containing selected Checklist details (Checklist Type, State) details.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function setChecklistsState(\r\n clientId,\r\n requestData\r\n) {\r\n return fetch(`/checklists/manage/updateChecklistsState/${clientId}`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(requestData)\r\n })\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n throw jsonResponse;\r\n }\r\n return jsonResponse;\r\n })\r\n .catch(error => {\r\n throw error;\r\n });\r\n}\r\n\r\nexport async function approveDenyClientRequest(\r\n clientId,\r\n splitedChecklists,\r\n reopenRequestStatusID\r\n) {\r\n return await processApproveDenyClientReopenRequest(clientId, splitedChecklists, reopenRequestStatusID); \r\n}\r\n\r\nexport async function processApproveDenyClientReopenRequest(\r\n clientId,\r\n splitedChecklists,\r\n reopenRequestStatusID\r\n) {\r\n for (let i = 0; i <= splitedChecklists.length - 1; i++) {\r\n let requestData = {\r\n clientID: clientId,\r\n checklists: splitedChecklists[i],\r\n reopenRequestStatusID: reopenRequestStatusID,\r\n requesterEmailAddress: splitedChecklists[i][0].requesterEmailAddress\r\n };\r\n\r\n await approveDenyClientReopenRequest(clientId, requestData)\r\n .then(() => {\r\n }).catch((error) => {\r\n throw (error);\r\n });\r\n }\r\n}\r\n\r\nexport function approveDenyClientReopenRequest(clientId, requestData) {\r\n \r\n return fetch(\r\n `/checklists/manage/approveDenyClientReopenRequest/${clientId}`,\r\n {\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify(requestData),\r\n }\r\n )\r\n .then((response) => {\r\n return response.text();\r\n })\r\n .then((response) => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n throw jsonResponse;\r\n }\r\n return jsonResponse;\r\n })\r\n .catch((error) => {\r\n throw error;\r\n });\r\n}\r\n\r\n\r\n/**\r\n * Delete Checklists\r\n * If successful this will dispatch the DELETE_CHECKLISTS_SUCCESS action,\r\n * otherwise it will dispatch the DELETE_CHECKLISTS_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {array} requestData The array containing selected Checklist details and User(Email) details.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function deleteChecklists(requestData) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/checklists/manage/deleteChecklists`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json'\r\n },\r\n method: 'DELETE',\r\n body: JSON.stringify(requestData)\r\n })\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_CHECKLISTS_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_CHECKLISTS_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Download Checklist Summary.\r\n * @returns {function} A Promise.\r\n */\r\nexport function exportChecklists(requestData) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/checklists/manage/exportChecklistSummary`, {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(requestData)\r\n}) .then(function (response) {\r\n if (!response.ok) {\r\n throw new Error('Unexpected error');\r\n }\r\n\r\n return response.blob().then(function (blob) {\r\n const contentDisposition = response.headers.get(\"Content-Disposition\");\r\n const filename = contentDisposition.split(';')[1].split('=')[1].trim();\r\n download(blob, filename);\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n \r\n });\r\n}).catch(error => {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.TASK_END, null, error);\r\n});\r\n};\r\n}\r\n\r\n/// Reset client id to hide refresh message on Manage Checklist section for that particular client\r\nexport function resetRefreshManageChecklistClient(clientId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.REFRESH_MANAGE_CHECKLIST_CLIENT, clientId : clientId === undefined ? 0 : clientId }); \r\n\r\n };\r\n}\r\n\r\n/**\r\n * Reopen Checklists Request.\r\n * If successful this will dispatch the TASK_END action,\r\n * otherwise it will dispatch the REOPEN_CHECKLIST_REQUESTS_FAILURE action.\r\n * @param {array} requestData The array containing selected Checklist details.\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\n export function requestToReopenChecklists(requestData) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/checklists/external/perm/requestToReopenChecklists`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(requestData)\r\n })\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.REOPEN_CHECKLIST_REQUESTS_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.REOPEN_CHECKLIST_REQUESTS_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport async function splitAndSignoffChecklist(\r\n splitedChecklists,\r\n checklistType,\r\n signoffStatus\r\n) {\r\n return await signoffChecklist(splitedChecklists, checklistType, signoffStatus);\r\n}\r\n\r\n// Send the partial request to API and throw error if any error in response.\r\nexport async function signoffChecklist(\r\n splitedChecklists,\r\n checklistType,\r\n isSignedOff\r\n) {\r\n for (let i = 0; i <= splitedChecklists.length - 1; i++) {\r\n const checklistRequestDetails = splitedChecklists[i].map((c) => ({\r\n checklistID: c.checklistID,\r\n ChecklistType: checklistType,\r\n ReportPeriodID: c.reportPeriodID,\r\n }));\r\n\r\n const signoffChecklistRequest = {\r\n IsSignedOff: isSignedOff,\r\n SignoffChecklistRequestDetail: checklistRequestDetails,\r\n };\r\n\r\n await clientSignoffChecklist(signoffChecklistRequest).then(() => {\r\n\r\n }).catch((error) => {\r\n throw (error);\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Signoff Checklist.\r\n * If successful this will return response,\r\n * otherwise it will dispatch the SIGNOFF_CHECKLIST_REQUESTS_FAILURE action.\r\n * @param {array} requestData The array containing selected Checklist details.\r\n */\r\nexport function clientSignoffChecklist(requestData) {\r\n return fetch(`/checklists/SignoffChecklist`, {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify(requestData),\r\n })\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then((response) => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n throw (jsonResponse);\r\n }\r\n return jsonResponse;\r\n })\r\n .catch((error) => {\r\n throw (error);\r\n });\r\n}\r\n\r\nexport async function splitAndsubmitForEYReview(\r\n splitedChecklists,\r\n checklistType\r\n) {\r\n return await submitDataForReview(splitedChecklists, checklistType);\r\n}\r\n\r\n// Send the partial request to API and throw error if any error in response.\r\nexport async function submitDataForReview(\r\n splitedChecklists,\r\n checklistType\r\n) {\r\n for (let i = 0; i <= splitedChecklists.length - 1; i++) {\r\n const checklistRequestDetails = splitedChecklists[i].map((c) => ({\r\n checklistID: c.checklistID,\r\n ChecklistType: checklistType,\r\n ReportPeriodID: c.reportPeriodID,\r\n }));\r\n const submitForEyReviewRequest = {\r\n ChecklistStateDescription: \"Pending EY Review\",\r\n SubmitForEyReviewRequestDetail: checklistRequestDetails,\r\n };\r\n\r\n await submitForEYReview(submitForEyReviewRequest).then(() => {\r\n \r\n }) .catch((error) => {\r\n throw (error);\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Submit for EY Review Request.\r\n * If successful this will return response,\r\n * otherwise it will dispatch the SUBMITFOREYREVIEW_REQUESTS_FAILURE action.\r\n * @param {array} requestData The array containing selected Checklist details.\r\n */\r\nexport function submitForEYReview(requestData) {\r\n return fetch(`/checklists/SubmitForEyReview`, {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n method: \"PUT\",\r\n body: JSON.stringify(requestData),\r\n })\r\n .then(response => {\r\n return response.text();\r\n})\r\n .then((response) => {\r\n const jsonResponse = response ? JSON.parse(response) : {}; \r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n throw (jsonResponse);\r\n }\r\n return jsonResponse;\r\n })\r\n .catch((error) => {\r\n throw (error);\r\n });\r\n}\r\n\r\n/**\r\n * Fetch the PSQ checklist record with the specified ID. If unsuccessful this will dispatch the LOAD_EXTERNAL_PSQ_FAILURE action.\r\n * @param {number} id The id of the checklist.\r\n * @param {boolean} excludeUpdatingCurrentChecklist If true, the current checklist will not be updated or dispatched LOAD_EXTERNAL_PSQ_SUCCESS.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\n export function fetchExternalPermPsqChecklists(id, excludeUpdatingCurrentChecklist = false) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`checklists/external/perm/PSQ/${id}`)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(psqChecklist => {\r\n if (actionHelpers.isErrorResponse(psqChecklist)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_EXTERNAL_PSQ_FAILURE,\r\n psqChecklist,\r\n );\r\n }\r\n\r\n const psqChecklists = [psqChecklist];\r\n dispatch({\r\n type: !excludeUpdatingCurrentChecklist\r\n ? actions.LOAD_EXTERNAL_PSQ_SUCCESS\r\n : actions.EXTERNAL_PSQ_EXCLUDE_UPDATING_CURRENT_CHECKLIST_SUCCESS,\r\n psqChecklists,\r\n [pendingTask]: end,\r\n });\r\n if (psqChecklists.length > 0 && !excludeUpdatingCurrentChecklist) {\r\n setActiveChecklist(psqChecklists[0])(dispatch);\r\n \r\n fetchPreviousPsqChecklist(\r\n psqChecklists[0].reportPeriodID,\r\n psqChecklists[0].propertyID,\r\n psqChecklists[0].propertyType,\r\n )(dispatch);\r\n }\r\n return psqChecklist; // Return the fetched checklist\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_EXTERNAL_PSQ_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Delete Custom PSQ Template\r\n * If successful this will dispatch the DELETE_CUSTOM_PSQ_TEMPLATE_SUCCESS action,\r\n * otherwise it will dispatch the DELETE_CUSTOM_PSQ_TEMPLATE_FAILURE action.\r\n * @param {number} clientId The id of the Client.\r\n * @param {number} checklistTemplateId The id of the Checklist template.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function deleteCustomPSQTemplate(clientId, checklistTemplateId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/checklists/psqTemplates/${clientId}/${checklistTemplateId}`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json'\r\n },\r\n method: 'DELETE'\r\n })\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_CUSTOM_PSQ_TEMPLATE_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return response;\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_CUSTOM_PSQ_TEMPLATE_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n\r\nexport function exportChecklistDeliverySchedule(clientId,templateId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/checklistDeliverySchedule/exportChecklistDeliverySchedule/${clientId}/${templateId}`, {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'GET'\r\n}) .then(function (response) {\r\n if (!response.ok) {\r\n throw new Error('Unexpected error');\r\n }\r\n\r\n return response.blob().then(function (blob) {\r\n const contentDisposition = response.headers.get(\"Content-Disposition\");\r\n const filename = contentDisposition.split(';')[1].split('=')[1].trim();\r\n download(blob, filename);\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n \r\n });\r\n}).catch(error => {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.TASK_END, null, error);\r\n});\r\n};\r\n}\r\n\r\n/**\r\n * Fetches Checklist Delivery Schedule For a given client & calendar year\r\n * If successful this will dispatch the CHECKLIST_SCHEDULED_DELIVERY_SUCCESS action,\r\n * otherwise it will dispatch the CHECKLIST_SCHEDULED_DELIVERY_FAILURE action.\r\n * @param {number} clientId The id of the Client.\r\n * @param {number} calendarYear The selected calendar year.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\n export function fetchChecklistDeliverySchedule(clientId, calendarYear) {\r\n return function (dispatch) {\r\n if (!clientId) {\r\n return dispatch({\r\n type: actions.CHECKLIST_SCHEDULED_DELIVERY_FAILURE,\r\n checklistDeliverySchedules: [],\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/checklistDeliverySchedule/${clientId}/${calendarYear}`)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((checklistDeliveryScheduleData) => {\r\n const checklistDeliverySchedules = checklistDeliveryScheduleData\r\n ? checklistDeliveryScheduleData\r\n : {};\r\n if (actionHelpers.isErrorResponse(checklistDeliveryScheduleData)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CHECKLIST_SCHEDULED_DELIVERY_FAILURE,\r\n checklistDeliverySchedules\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.CHECKLIST_SCHEDULED_DELIVERY_SUCCESS,\r\n checklistDeliverySchedules,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n const checklistDeliverySchedules = {};\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CHECKLIST_SCHEDULED_DELIVERY_FAILURE,\r\n checklistDeliverySchedules,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Upload Checklist Delivery Schedules\r\n * If failure, it will dispatch the UPLOAD_CHECKLIST_DELIVERY_SCHEDULE_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {number} calendarYear The calendar year.\r\n * @param {file} file The excel file to be used for saving checklist delivery schedules.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function uploadChecklistDeliverySchedules(clientId, calendarYear, file) {\r\n\r\n let formData = new FormData();\r\n formData.append('clientID', clientId);\r\n formData.append('calendarYear', calendarYear);\r\n formData.append('file', file);\r\n\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n \r\n return fetch('/checklistDeliverySchedule/uploadChecklistDeliverySchedules', {\r\n method: 'POST',\r\n body: formData,\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(response => {\r\n if (actionHelpers.isErrorResponse(response)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPLOAD_CHECKLIST_DELIVERY_SCHEDULE_FAILURE,\r\n response,\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return response;\r\n })\r\n .catch(error => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPLOAD_CHECKLIST_DELIVERY_SCHEDULE_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport function fetchChecklistNavCounts(clientId, checklistId,counterRequest, checklistGuid=null, checklistType=null) {\r\n const authHeader = checklistGuid ? actionHelpers.buildAuthHeader(checklistGuid, checklistType) : null;\r\n return function (dispatch) {\r\n if (!clientId) {\r\n return dispatch({\r\n type: actions.CHECKLIST_NAVIGATION_COUNTER_FAILURE,\r\n checklistCounter: [],\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/checklistQuestionnaire/checklistCounter?clientId=${clientId}&checklistID=${checklistId}&GetCountOfAttachments=${counterRequest.GetCountOfAttachments}&GetCountOfDiscrepencies=${counterRequest.GetCountOfDiscrepencies}&GetCountOfComments=${counterRequest.GetCountOfComments}`,\r\n {\r\n headers: (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n method: 'GET'\r\n } \r\n )\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((checklistCounter) => {\r\n const checklistCounters = checklistCounter\r\n ? checklistCounter\r\n : [];\r\n if (actionHelpers.isErrorResponse(checklistCounter)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CHECKLIST_NAVIGATION_COUNTER_FAILURE,\r\n checklistCounters\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.CHECKLIST_NAVIGATION_COUNTER_SUCCESS,\r\n checklistCounter,\r\n [pendingTask]: end,\r\n });\r\n return checklistCounter;\r\n })\r\n \r\n .catch((error) => {\r\n const checklistCounters = [];\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CHECKLIST_NAVIGATION_COUNTER_FAILURE,\r\n checklistCounters,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport function fetchAttachmentDetail(clientId,checklistID,checklistSectionQuestionAttachmentID, checklistGuid=null, checklistType=null) {\r\n const authHeader = checklistGuid ? actionHelpers.buildAuthHeader(checklistGuid, checklistType) : null;\r\n return function (dispatch) {\r\n if (!clientId) {\r\n return dispatch({\r\n type: actions.LOAD_ATTACHMENTDETAIL_SUCCESS,\r\n attachmentDetails: [],\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/checklistQuestionnaire/attachmentDetail?clientId=${clientId}&checklistID=${checklistID}&checklistSectionQuestionAttachmentID=${checklistSectionQuestionAttachmentID}`,\r\n {\r\n headers: (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n method: 'GET'\r\n } \r\n )\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((attachmentDetails) => {\r\n if (actionHelpers.isErrorResponse(attachmentDetails)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_ATTACHMENTDETAIL_FAILURE,\r\n attachmentDetails\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_ATTACHMENTDETAIL_SUCCESS,\r\n attachmentDetails,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_ATTACHMENTDETAIL_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport function deleteAttachment(attachmentId, clientId, checklistGuid=null, checklistType=null) {\r\n const authHeader = checklistGuid ? actionHelpers.buildAuthHeader(checklistGuid, checklistType) : null;\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(\r\n `/checklistQuestionnaire/deleteChecklistAttachment?clientID=${clientId}&checklistSectionQuestionAttachmentID=${attachmentId}`,\r\n {\r\n headers: (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n method: \"DELETE\",\r\n }\r\n )\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then((response) => {\r\n const jsonResponse = response ? JSON.parse(response) : {}; \r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_ATTACHMENT_FAILURE,\r\n jsonResponse\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_ATTACHMENT_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n\r\n\r\nexport function deleteComment(commentId, clientId, checklistGuid=null, checklistType=null) {\r\n const authHeader = checklistGuid ? actionHelpers.buildAuthHeader(checklistGuid, checklistType) : null;\r\n \r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(\r\n `/checklistQuestionnaire/deleteChecklistComment?clientID=${clientId}&checklistSectionQuestionCommentID=${commentId}`,\r\n {\r\n headers: (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n method: \"DELETE\",\r\n }\r\n )\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then((response) => {\r\n const jsonResponse = response ? JSON.parse(response) : {}; \r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_COMMENT_FAILURE,\r\n jsonResponse\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_COMMENT_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all the Question comments for a client. If successful this will dispatch the LOAD_QUESTION_COMMENTS_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_QUESTION_COMMENTS_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\n export function fetchQuestionComments(clientId, checklistId,checklistGuid=null, checklistType=null) {\r\n const authHeader = checklistGuid ? actionHelpers.buildAuthHeader(checklistGuid, checklistType) : null;\r\n return function (dispatch) {\r\n if (!clientId && !checklistId) {\r\n return dispatch({\r\n type: actions.LOAD_QUESTION_COMMENTS_SUCCESS,\r\n questionComments: [],\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/checklistQuestionnaire/commentsDetail?clientID=${clientId}&checklistID=${checklistId}`,\r\n {\r\n headers: (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n method: \"GET\",\r\n })\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((questionComments) => {\r\n if (actionHelpers.isErrorResponse(questionComments)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_QUESTION_COMMENTS_FAILURE,\r\n questionComments\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_QUESTION_COMMENTS_SUCCESS,\r\n questionComments,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_QUESTION_COMMENTS_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n\r\n/**\r\n * Fetch all the Checklist Question discrepancies for a client. \r\n * If successful this will dispatch the LOAD_QUESTION_DISCREPANCIES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_QUESTION_DISCREPANCIES_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\n export function fetchChecklistDiscrepancies(clientId, checklistId,checklistGuid=null, checklistType=null) {\r\n const authHeader = checklistGuid ? actionHelpers.buildAuthHeader(checklistGuid, checklistType) : null;\r\n\r\n return function (dispatch) {\r\n if (!clientId && !checklistId) {\r\n return dispatch({\r\n type: actions.LOAD_QUESTION_DISCREPANCIES_SUCCESS,\r\n discrepanciesDetail: [],\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/checklistQuestionnaire/discrepanciesDetail?clientID=${clientId}&checklistID=${checklistId}`,\r\n {\r\n headers: (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n method: \"GET\",\r\n }) \r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((discrepanciesDetail) => {\r\n if (actionHelpers.isErrorResponse(discrepanciesDetail)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_QUESTION_DISCREPANCIES_FAILURE,\r\n discrepanciesDetail\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_QUESTION_DISCREPANCIES_SUCCESS,\r\n discrepanciesDetail,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_QUESTION_DISCREPANCIES_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Allow to update as per report period visibility constraint, this will dispatch the ALLOW_UPDATE__REPORT_PERIOD_VISIBILITY_CONSTRAINT_SUCCESS\r\n * action, otherwise it will dispatch the ALLOW_UPDATE__REPORT_PERIOD_VISIBILITY_CONSTRAINT_FAILURE action.\r\n * @param {number} checklistId The ID of the checklist.\r\n * @param {string} checklistType The type of the checklist.\r\n * @param {bool} isExternalTempUser Is external temp user.\r\n * @param {object} authHeader Auth header\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function allowUpdateAsPerReportPeriodVisibilityConstraint(checklistId, checklistType, isExternalTempUser, authHeader) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n let internalUserRequestHeaders = {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }; \r\n if(!isExternalTempUser && authHeader){\r\n internalUserRequestHeaders['Authorization'] = authHeader;\r\n }\r\n\r\n let externalUserRequestHeaders=null;\r\n if (isExternalTempUser && authHeader) {\r\n externalUserRequestHeaders = new Headers({\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json', \r\n Authorization: authHeader \r\n });\r\n }\r\n \r\n return fetch(`/checklists/reportPeriodVisibilityConstraint/${checklistType}/${checklistId}`, {\r\n headers: (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(allowUpdateReportPeriodVisibilityConstraintResult => {\r\n if (actionHelpers.isErrorResponse(allowUpdateReportPeriodVisibilityConstraintResult)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.ALLOW_UPDATE__REPORT_PERIOD_VISIBILITY_CONSTRAINT_FAILURE,\r\n allowUpdateReportPeriodVisibilityConstraintResult,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.ALLOW_UPDATE__REPORT_PERIOD_VISIBILITY_CONSTRAINT_SUCCESS,\r\n allowUpdateReportPeriodVisibilityConstraintResult,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.ALLOW_UPDATE__REPORT_PERIOD_VISIBILITY_CONSTRAINT_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport function saveChecklistComment(request, authHeader) {\r\n\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n let internalUserRequestHeaders = {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n };\r\n \r\n if(!request.IsExternalTempUser && authHeader){\r\n internalUserRequestHeaders['Authorization'] = authHeader;\r\n }\r\n\r\n let externalUserRequestHeaders=null;\r\n if (request.IsExternalTempUser && authHeader) {\r\n externalUserRequestHeaders = new Headers({\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json', \r\n Authorization: authHeader \r\n });\r\n }\r\n \r\n return fetch(`/checklistQuestionnaire/saveComment`, {\r\n headers: request.IsExternalTempUser ? externalUserRequestHeaders : internalUserRequestHeaders ,\r\n method: 'POST',\r\n body:JSON.stringify(request)\r\n })\r\n .then(response => {\r\n if (response.ok) {\r\n return null;\r\n }\r\n else {\r\n return response.json();\r\n }\r\n })\r\n .then(comments => {\r\n if (actionHelpers.isErrorResponse(comments)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.SAVE_COMMENT_FAILURE,\r\n comments\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.SAVE_COMMENT_SUCCESS,\r\n [pendingTask]: end\r\n });\r\n\r\n return comments;\r\n })\r\n .catch(error => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.SAVE_COMMENT_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport function insertPsqServiceProviderQuestion(request, authHeader) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const headers = {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n };\r\n\r\n if (authHeader) {\r\n headers['Authorization'] = authHeader;\r\n }\r\n\r\n return fetch(\r\n `/checklists/addServiceProviderQuestion`,\r\n {\r\n headers,\r\n method: \"POST\",\r\n body:JSON.stringify(request)\r\n }\r\n )\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then((response) => {\r\n const jsonResponse = response ? JSON.parse(response) : {}; \r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.INSERT_SERVICE_PROVIDER_QUESTION_FAILURE,\r\n jsonResponse\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.INSERT_SERVICE_PROVIDER_QUESTION_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport function removePsqServiceProviderQuestion(request, authHeader) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const headers = {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n };\r\n\r\n if (authHeader) {\r\n headers['Authorization'] = authHeader;\r\n }\r\n\r\n return fetch(\r\n `/checklists/removeServiceProviderQuestion`,\r\n {\r\n headers,\r\n method: \"DELETE\",\r\n body:JSON.stringify(request)\r\n }\r\n )\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then((response) => {\r\n const jsonResponse = response ? JSON.parse(response) : {}; \r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.REMOVE_SERVICE_PROVIDER_QUESTION_FAILURE,\r\n jsonResponse\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.REMOVE_SERVICE_PROVIDER_QUESTION_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch last service provider question id. \r\n * If successful this will dispatch the LOAD_LAST_SERVICE_PROVIDER_QUESTION_ID_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_LAST_SERVICE_PROVIDER_QUESTION_ID_FAILURE action.\r\n * @param {object} authHeader for external users\r\n * @returns {function} A function that returns a Promise.\r\n */\r\n export function fetchLastServiceProviderQuestionId(authHeader) {\r\n \r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/checklists/lastServiceProviderQuestionId`,\r\n {\r\n headers: (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n method: \"GET\",\r\n }) \r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((lastServiceProviderQuestionId) => {\r\n if (actionHelpers.isErrorResponse(lastServiceProviderQuestionId)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_LAST_SERVICE_PROVIDER_QUESTION_ID_FAILURE,\r\n lastServiceProviderQuestionId\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_LAST_SERVICE_PROVIDER_QUESTION_ID_SUCCESS, //LOAD_QUESTION_DISCREPANCIES_SUCCESS,\r\n lastServiceProviderQuestionId,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_LAST_SERVICE_PROVIDER_QUESTION_ID_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromReportApi as fetch } from './fetchFromApi';\r\nimport { download, decodeURIComponentSafe } from '../scripts/fileHelpers';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n/**\r\n * Download the report\r\n * @param {any} periodId The period id\r\n * @param {any} reportItems The report components to include in the report\r\n * @param {any} excludedPsqs The PSQs to exclude from the report\r\n * @returns {Promise} A Promise\r\n */\r\nexport function downloadReport(\r\n periodId,\r\n reportItems,\r\n excludedPsqs,\r\n includePsqComments,\r\n includeArqcComments\r\n) {\r\n const payload = {\r\n periodId,\r\n reportItems,\r\n excludedPsqs,\r\n includePsqComments,\r\n includeArqcComments,\r\n };\r\n\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch('/analysisReport', {\r\n // wonder why I had to specify headers here, but not in the downloadTrialBalance action ??\r\n headers: {\r\n Accept:\r\n 'application/json, application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(payload),\r\n })\r\n .then(function (response) {\r\n return response.blob().then(function (blob) {\r\n const contentDisposition = response.headers.get(\r\n 'Content-Disposition'\r\n );\r\n const filename = contentDisposition\r\n .split(';')[1]\r\n .split('=')[1]\r\n .trim();\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n download(blob, filename);\r\n });\r\n })\r\n .catch((error) => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.TASK_END,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n/**\r\n * Fetch the report items\r\n * @param {any} periodId The report period id\r\n * @returns {any} A Promise\r\n */\r\nexport function fetchReportItems(periodId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch('/reportItems?periodId=' + periodId)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((items) => {\r\n if (actionHelpers.isErrorResponse(items)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_REPORT_ITEMS_FAILURE,\r\n items\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_REPORT_ITEMS_SUCCESS,\r\n items,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_REPORT_ITEMS_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Build download checklist headers based on user type\r\n * @param {any} checklistType The checklist type\r\n * @param {any} external Is external user\r\n * @param {any} checklistGuid The checklist guid in case of unregistered external user\r\n */\r\nfunction buildDownloadChecklistHeaders(checklistType, external, checklistGuid) {\r\n if (external && checklistGuid) {\r\n // For unregistered external user add Authorization header\r\n let authHeader = null;\r\n if (checklistGuid && checklistType) {\r\n authHeader = actionHelpers.buildAuthHeader(checklistGuid, checklistType);\r\n }\r\n\r\n return {\r\n Accept: 'application/json, application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': authHeader\r\n }\r\n }\r\n\r\n // For all other users use these headers\r\n return {\r\n Accept: 'application/json, application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'Content-Type': 'application/json'\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Download the checklist\r\n * @param {any} reitNamePeriod The REIT Name and Period\r\n * @param {any} periodId The period id\r\n * @param {any} checklistType Type of checklist PSQ or ARQC\r\n * @param {any} checklistId The checklist ID to download\r\n * @param {any} downloadChecklistType With or Without Answers/Comments\r\n * @param {any} filename The filename to download\r\n * @param {any} external Is external user\r\n * @param {any} checklistGuid The checklist guid in case of unregistered external user\r\n * @returns {Promise} A Promise\r\n */\r\nexport function downloadChecklist(\r\n reitNamePeriod,\r\n periodId,\r\n checklistType,\r\n checklistId,\r\n downloadChecklistType,\r\n filename,\r\n external,\r\n checklistGuid\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n \r\n return fetch(\r\n `/checklistsDownload/${periodId}/${checklistType}/${checklistId}/${downloadChecklistType}${\r\n external ? '?external=true' : ''\r\n }`,\r\n {\r\n headers: buildDownloadChecklistHeaders(checklistType, external, checklistGuid),\r\n method: 'POST',\r\n body: JSON.stringify(reitNamePeriod),\r\n }\r\n )\r\n .then(function (response) {\r\n return response.blob().then(function (blob) {\r\n let filename = '';\r\n\r\n if (checklistType === 'ARQC') {\r\n filename =\r\n reitNamePeriod.split('=')[2].trim().replace(' ', '') +\r\n '_' +\r\n reitNamePeriod.split('=')[1].trim().split(',')[0].trim() +\r\n '_' +\r\n checklistType +\r\n '.docx';\r\n } else {\r\n const contentDisposition = response.headers.get(\r\n 'Content-Disposition'\r\n );\r\n const propName = contentDisposition\r\n .split(';')[1]\r\n .split('=')[1]\r\n .trim();\r\n filename =\r\n reitNamePeriod.split('=')[2].trim().replace(' ', '') +\r\n '_' +\r\n reitNamePeriod.split('=')[1].trim().split(',')[0].trim() +\r\n '_' +\r\n propName +\r\n '_' +\r\n checklistType +\r\n '.docx';\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n download(blob, filename);\r\n });\r\n })\r\n .catch((error) => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.TASK_END,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Download the checklist Without Answer\r\n * @param {any} reitNamePeriod The REIT Name and Period\r\n * @param {any} periodId The period id\r\n * @param {any} checklistType Type of checklist PSQ or ARQC\r\n * @param {any} checklistId The checklist ID to download\r\n * @param {any} downloadChecklistType With or Without Answers/Comments/Attachments\r\n * @param {any} filename The filename to download\r\n * @returns {Promise} A Promise\r\n */\r\nexport function downloadChecklistWithoutAnswer(\r\n reitNamePeriod,\r\n periodId,\r\n checklistType,\r\n checklistId,\r\n downloadChecklistType,\r\n filename\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(\r\n `/checklistsDownload/${periodId}/${checklistType}/${checklistId}/${downloadChecklistType}`,\r\n {\r\n headers: {\r\n Accept:\r\n 'application/json, application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(reitNamePeriod),\r\n }\r\n )\r\n .then(function (response) {\r\n return response.blob().then(function (blob) {\r\n const contentDisposition = response.headers.get(\r\n 'Content-Disposition'\r\n );\r\n const propName = contentDisposition\r\n .split(';')[1]\r\n .split('=')[1]\r\n .trim();\r\n let filename = '';\r\n\r\n if (checklistType === 'ARQC') {\r\n filename =\r\n reitNamePeriod.split('=')[2].trim().replace(' ', '') +\r\n '_' +\r\n reitNamePeriod.split('=')[1].trim().split(',')[0].trim() +\r\n '_' +\r\n checklistType +\r\n '.docx';\r\n } else {\r\n filename =\r\n reitNamePeriod.split('=')[2].trim().replace(' ', '') +\r\n '_' +\r\n reitNamePeriod.split('=')[1].trim().split(',')[0].trim() +\r\n '_' +\r\n propName +\r\n '_' +\r\n checklistType +\r\n '.docx';\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n download(blob, filename);\r\n });\r\n })\r\n .catch((error) => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.TASK_END,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Downloads the selected checklists on the external checklist dashboard\r\n * @param {any} request The request body for the api call\r\n * @param {any} checklistType The type of checklist (PSQ/ARQC)\r\n * @param {any} downloadType Type of checklist download\r\n * @returns {Promise} A Promise\r\n */\r\nexport function downloadChecklists(request, checklistType, downloadType) {\r\n return (dispatch) => {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(\r\n `/checklistsDownload/downloadChecklists/${checklistType}/${downloadType}`,\r\n {\r\n headers: {\r\n Accept: 'application/octet-stream',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(request),\r\n }\r\n )\r\n .then((response) => {\r\n return response.blob().then((blob) => {\r\n const contentDisposition = response.headers.get(\r\n 'Content-Disposition'\r\n );\r\n let filename = contentDisposition.split(';')[1].split('=')[1].trim();\r\n download(blob, filename);\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n });\r\n })\r\n .catch((error) => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.TASK_END,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the report items for client\r\n * @param {any} clientId The client id\r\n * @returns {any} A Promise\r\n */\r\nexport function fetchReportItemsForClient(clientId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/reportItems/client/${clientId}`)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((items) => {\r\n if (actionHelpers.isErrorResponse(items)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_REPORT_ITEMS_FOR_CLIENT_FAILURE,\r\n items\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_REPORT_ITEMS_FOR_CLIENT_SUCCESS,\r\n items,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_REPORT_ITEMS_FOR_CLIENT_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { reduxForm } from 'redux-form';\r\n\r\nimport {\r\n MotifButton,\r\n MotifDropdown,\r\n MotifDropdownItem,\r\n MotifFormField,\r\n MotifIcon,\r\n MotifIconButton,\r\n MotifLabel,\r\n MotifOption,\r\n MotifSelect,\r\n MotifTooltip,\r\n} from '@ey-xd/motif-react';\r\nimport { IconoirNavArrowDown, IconoirInfoCircle } from '@ey-xd/motif-icon';\r\nimport { addAttribute } from '../../common/Attribute';\r\n\r\nconst ManageExternalChecklistHeader = ({\r\n clients,\r\n selectedClient,\r\n handleClientChange,\r\n calendarYears,\r\n handleCalendarYearChange,\r\n selectedChecklists,\r\n toggleShowDownloadChecklistsModal,\r\n toggleShowRequestToReopenModal,\r\n toggleShowSubmitForEYReviewModal,\r\n toggleShowClientSignoffModal,\r\n toggleShowClientUnsignoffModal\r\n}) => {\r\n const [actionOptionsOpen, setActionOptionsOpen] = useState(false);\r\n useEffect(() => {\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", 'type', 'button');\r\n });\r\n\r\n let calendarYearsOptions = [];\r\n let disableCalendarYearDropdown = false;\r\n let preselectedCalendarYear = '';\r\n\r\n const clientsOptions = clients.map((c) => {\r\n return { key: c.id, value: c.name, text: c.name };\r\n });\r\n\r\n if (calendarYears.length > 0) {\r\n calendarYearsOptions = calendarYears.map((cy) => {\r\n return { key: cy, value: cy.toString(), text: cy.toString() };\r\n });\r\n\r\n preselectedCalendarYear = calendarYears.includes(new Date().getFullYear())\r\n ? parseInt(new Date().getFullYear()).toString()\r\n : calendarYears[0].toString();\r\n }\r\n\r\n // Section for download checklists\r\n let downloadChecklistsActionStatus = true;\r\n let downloadChecklistsToolTipMessage = '';\r\n let submitForReviewStatus = true;\r\n let submitForReviewToolTipMessage = \"\";\r\n const checklistStatusForReview = [\"Created\", \"Sent\", \"InProgress\", \"PENDINGINTERNALREVIEW\"];\r\n if (selectedChecklists && selectedChecklists.length >= 1) {\r\n if (selectedChecklists.length > 100) {\r\n downloadChecklistsActionStatus = false;\r\n downloadChecklistsToolTipMessage =\r\n 'Please select 100 or less items to download.';\r\n }\r\n if (\r\n selectedChecklists.find(\r\n (f) => !checklistStatusForReview.includes(f.checklistState)\r\n )\r\n ) {\r\n submitForReviewStatus = false;\r\n submitForReviewToolTipMessage =\r\n \"Please make sure all selected checklists should be either in Created, Sent, In Progress, or Pending Internal Review state.\";\r\n } else if (selectedChecklists.find(c => !c.canExternalUserSubmitChecklistForEYReview)) {\r\n submitForReviewStatus = false;\r\n submitForReviewToolTipMessage =\r\n \"Please make sure to complete the checklist in order to submit for review.\";\r\n }\r\n } else {\r\n downloadChecklistsActionStatus = false;\r\n downloadChecklistsToolTipMessage =\r\n 'Please select at least 1 checklist to download.';\r\n submitForReviewStatus = false;\r\n submitForReviewToolTipMessage =\r\n \"Please select at least 1 checklist for EY review\";\r\n }\r\n\r\n let signoffActionStatus = true;\r\n let signoffToolTipMessage = '';\r\n if (!selectedChecklists || !selectedChecklists.length > 0) {\r\n signoffActionStatus = false;\r\n signoffToolTipMessage = 'Please select at least 1 checklist to sign off.';\r\n }\r\n else if (selectedChecklists && selectedChecklists.length > 0) {\r\n // Check if there is any selected checklist is already signed off\r\n if (selectedChecklists.some(record => record.isSignedOff)) {\r\n signoffActionStatus = false;\r\n signoffToolTipMessage = \"Selected checklist(s) is signed off by the client.\";\r\n }\r\n }\r\n let unsignoffActionStatus = true;\r\n let unsignoffToolTipMessage = '';\r\n if (!selectedChecklists || !selectedChecklists.length > 0) {\r\n unsignoffActionStatus = false;\r\n unsignoffToolTipMessage = 'Please select at least 1 checklist to unsign off.';\r\n }\r\n else if (selectedChecklists && selectedChecklists.length > 0) {\r\n // Check if there is any selected checklist is not signed off\r\n if (selectedChecklists.some(record => !record.isSignedOff)) {\r\n unsignoffActionStatus = false;\r\n unsignoffToolTipMessage = \"Selected checklist(s) is not signed off by the client.\";\r\n }\r\n }\r\n \r\n const checklistStatusList = ['completed', 'pendingeyreview'];\r\n let requestToReopenActionStatus = true;\r\n let requestToReopenToolTipMessage = '';\r\n \r\n if (!selectedChecklists || !selectedChecklists.length > 0) {\r\n requestToReopenActionStatus = false;\r\n requestToReopenToolTipMessage =\r\n 'Please select at least 1 checklist to request to reopen.';\r\n }\r\n else if (selectedChecklists && selectedChecklists.length > 0) {\r\n // Check if there is any selected checklist status not in completed or pending ey review state\r\n if(selectedChecklists.some(record => !checklistStatusList.includes(record.checklistState.toLowerCase()))) {\r\n requestToReopenActionStatus = false;\r\n requestToReopenToolTipMessage = \"Please make sure all selected checklists should be either in Completed or Pending EY Review state.\";\r\n }\r\n}\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Client Name\r\n 1 ? null : clientsOptions[0].value\r\n }\r\n onChange={handleClientChange}\r\n data-testid=\"divClientName\"\r\n >\r\n {clientsOptions.map((co) => (\r\n \r\n {co.text}\r\n \r\n ))}\r\n \r\n \r\n
    \r\n {calendarYearsOptions.length > 0 && (\r\n \r\n
    \r\n \r\n \r\n Calendar Year\r\n \r\n \r\n {calendarYearsOptions.map((cy) => (\r\n \r\n {cy.value}\r\n \r\n ))}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n setActionOptionsOpen(false)}\r\n trigger={\r\n setActionOptionsOpen(!actionOptionsOpen)}\r\n aria-controls={'action-dropdown'}\r\n id={'action-dropdown-trigger'}\r\n aria-expanded={actionOptionsOpen}\r\n aria-label=\"Action dropdown\"\r\n data-testid=\"actions\"\r\n >\r\n Actions \r\n \r\n }\r\n >\r\n
      \r\n {(submitForReviewStatus && (\r\n
    • \r\n {\r\n setActionOptionsOpen(false);\r\n toggleShowSubmitForEYReviewModal();\r\n }}\r\n type=\"button\"\r\n disabled={!submitForReviewStatus}\r\n data-testid=\"submitForEYReview\"\r\n >\r\n Submit for EY Review\r\n \r\n
    • \r\n )) || (\r\n
    • \r\n {\r\n setActionOptionsOpen(false);\r\n toggleShowSubmitForEYReviewModal();\r\n }}\r\n type=\"button\"\r\n disabled={!submitForReviewStatus}\r\n data-testid=\"submitForEYReview\"\r\n >\r\n Submit for EY Review\r\n \r\n \r\n \r\n \r\n }\r\n >\r\n {submitForReviewToolTipMessage}\r\n \r\n
    • \r\n )}\r\n {(signoffActionStatus && (\r\n
    • \r\n {\r\n setActionOptionsOpen(false);\r\n toggleShowClientSignoffModal();\r\n }}\r\n type=\"button\"\r\n disabled={!signoffActionStatus}\r\n data-testid=\"clientSignoff\"\r\n >\r\n Client Sign Off\r\n \r\n
    • \r\n )) || (\r\n
    • \r\n {\r\n setActionOptionsOpen(false);\r\n toggleShowClientSignoffModal();\r\n }}\r\n type=\"button\"\r\n disabled={!signoffActionStatus}\r\n data-testid=\"clientSignoff\"\r\n >\r\n Client Sign Off\r\n \r\n \r\n \r\n \r\n }\r\n >\r\n {signoffToolTipMessage}\r\n \r\n
    • \r\n )}\r\n\r\n {(unsignoffActionStatus && (\r\n
    • \r\n {\r\n setActionOptionsOpen(false);\r\n toggleShowClientUnsignoffModal();\r\n }}\r\n type=\"button\"\r\n disabled={!unsignoffActionStatus}\r\n data-testid=\"clientUnsignoff\"\r\n >\r\n Client Unsign Off\r\n \r\n
    • \r\n )) || (\r\n
    • \r\n {\r\n setActionOptionsOpen(false);\r\n toggleShowClientUnsignoffModal();\r\n }}\r\n type=\"button\"\r\n disabled={!unsignoffActionStatus}\r\n data-testid=\"clientUnsignoff\"\r\n >\r\n Client Unsign Off\r\n \r\n \r\n \r\n \r\n }\r\n >\r\n {unsignoffToolTipMessage}\r\n \r\n
    • \r\n )}\r\n {(requestToReopenActionStatus && (\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowRequestToReopenModal(); }} type=\"button\"\r\n disabled={!requestToReopenActionStatus} data-testid=\"requestToReopen\">\r\n Request to Reopen\r\n \r\n
    • )) || (\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowRequestToReopenModal(); }} type=\"button\"\r\n disabled={!requestToReopenActionStatus} data-testid=\"requestToReopen\">\r\n Request to Reopen\r\n \r\n \r\n \r\n }\r\n >\r\n {requestToReopenToolTipMessage}\r\n \r\n
    • \r\n )}\r\n {/* Dropdown item for \"Download - with Answers only */}\r\n {(downloadChecklistsActionStatus && (\r\n
    • \r\n {\r\n setActionOptionsOpen(false);\r\n toggleShowDownloadChecklistsModal('WITH_ANSWERS');\r\n }}\r\n type=\"button\"\r\n disabled={!downloadChecklistsActionStatus}\r\n data-testid=\"downloadWithAnswersOnly\"\r\n >\r\n Download - with Answers Only\r\n \r\n
    • \r\n )) || (\r\n
    • \r\n {\r\n setActionOptionsOpen(false);\r\n toggleShowDownloadChecklistsModal('WITH_ANSWERS');\r\n }}\r\n type=\"button\"\r\n disabled={!downloadChecklistsActionStatus}\r\n data-testid=\"downloadWithAnswersOnly\"\r\n >\r\n Download - with Answers Only\r\n \r\n \r\n \r\n \r\n }\r\n >\r\n {downloadChecklistsToolTipMessage}\r\n \r\n
    • \r\n )}\r\n {/* Dropdown item for \"Download - with Answers and Comments\" */}\r\n {(downloadChecklistsActionStatus && (\r\n
    • \r\n {\r\n setActionOptionsOpen(false);\r\n toggleShowDownloadChecklistsModal(\r\n 'WITH_ANSWERS_COMMENTS'\r\n );\r\n }}\r\n type=\"button\"\r\n disabled={!downloadChecklistsActionStatus}\r\n data-testid=\"downloadWithAnswersAndComments\"\r\n >\r\n Download - with Answers and Comments\r\n \r\n
    • \r\n )) || (\r\n
    • \r\n {\r\n setActionOptionsOpen(false);\r\n toggleShowDownloadChecklistsModal(\r\n 'WITH_ANSWERS_COMMENTS'\r\n );\r\n }}\r\n type=\"button\"\r\n disabled={!downloadChecklistsActionStatus}\r\n data-testid=\"downloadWithAnswersAndComments\"\r\n >\r\n Download - with Answers and Comments\r\n \r\n \r\n \r\n \r\n }\r\n >\r\n {downloadChecklistsToolTipMessage}\r\n \r\n
    • \r\n )}\r\n {/* Dropdown items for \"Download - without Answers or Comments\" */}\r\n {(downloadChecklistsActionStatus && (\r\n
    • \r\n {\r\n setActionOptionsOpen(false);\r\n toggleShowDownloadChecklistsModal('WITHOUT_ANSWERS');\r\n }}\r\n type=\"button\"\r\n disabled={!downloadChecklistsActionStatus}\r\n data-testid=\"downloadWithoutAnswersOrComments\"\r\n >\r\n Download - without Answers or Comments\r\n \r\n
    • \r\n )) || (\r\n
    • \r\n {\r\n setActionOptionsOpen(false);\r\n toggleShowDownloadChecklistsModal('WITHOUT_ANSWERS');\r\n }}\r\n type=\"button\"\r\n disabled={!downloadChecklistsActionStatus}\r\n data-testid=\"downloadWithoutAnswersOrComments\"\r\n >\r\n Download - without Answers or Comments\r\n \r\n \r\n \r\n \r\n }\r\n >\r\n {downloadChecklistsToolTipMessage}\r\n \r\n
    • \r\n )} \r\n
    \r\n \r\n
    \r\n
    \r\n )} \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nManageExternalChecklistHeader.propTypes = {\r\n clients: PropTypes.array,\r\n selectedClient: PropTypes.object,\r\n handleClientChange: PropTypes.func,\r\n calendarYears: PropTypes.array,\r\n handleCalendarYearChange: PropTypes.func,\r\n gridCurrentState: PropTypes.any,\r\n selectedChecklists: PropTypes.array,\r\n toggleShowDownloadChecklistsModal: PropTypes.bool,\r\n toggleShowRequestToReopenModal: PropTypes.func,\r\n toggleShowSubmitForEYReviewModal: PropTypes.func,\r\n};\r\n\r\nexport default reduxForm({ form: 'manageExternalChecklistHeader' })(\r\n ManageExternalChecklistHeader\r\n);\r\n","import React from 'react';\r\nimport { MotifCheckbox } from \"@ey-xd/motif-react\";\r\n\r\nexport default (props) => {\r\n const id = props.node.key;\r\n const value = props.node ? props.node.data[props.colDef.field] : null;\r\n const checklistId = props.node ? props.node.data[\"checklistID\"] : null;\r\n\r\n if (props.node){\r\n const defaultCheckboxClass = \"ag-wrapper ag-input-wrapper ag-checkbox-input-wrapper\";\r\n let checkboxClass = value ? defaultCheckboxClass + \" ag-checked\" : defaultCheckboxClass;\r\n \r\n return (\r\n \r\n props.onCellCheckboxChange(checklistId, props.node)}>\r\n \r\n \r\n );\r\n }\r\n\r\n return null;\r\n};","import React from 'react';\r\nimport { MotifCheckbox } from \"@ey-xd/motif-react\";\r\n\r\nexport default (props) => {\r\n let rowsChecked = 0;\r\n let totalRows = 0;\r\n\r\n // Check for total rows and rows checked within filtered rows\r\n props.api.forEachNodeAfterFilter((rowNode) => {\r\n if (rowNode.data) {\r\n totalRows++;\r\n if (rowNode.data.checklistSelection){\r\n rowsChecked++;\r\n }\r\n }\r\n });\r\n\r\n let headerCheckboxValue = false;\r\n let indeterminate = false;\r\n // const defaultCheckboxClass = \"motif-checkbox-custom\";\r\n const defaultCheckboxClass = \"ag-wrapper ag-input-wrapper ag-checkbox-input-wrapper\";\r\n let checkboxClass = defaultCheckboxClass;\r\n\r\n if (rowsChecked === 0) {\r\n headerCheckboxValue = false;\r\n }\r\n else if (totalRows === rowsChecked) {\r\n headerCheckboxValue = true;\r\n checkboxClass = defaultCheckboxClass + \" ag-checked\";\r\n }\r\n else {\r\n headerCheckboxValue = false;\r\n indeterminate = true;\r\n checkboxClass = defaultCheckboxClass + \" ag-indeterminate\";\r\n }\r\n \r\n return (\r\n
    \r\n props.onHeaderCheckboxChange(headerCheckboxValue)}\r\n indeterminate={indeterminate}>\r\n \r\n
    {props.displayName}
    \r\n
    \r\n );\r\n};","export default (params) => {\r\n const reopenRequestStatus = params.node && params.node.data\r\n ? params.node.data[\"reopenRequestStatusDescription\"] : null;\r\n\r\n return reopenRequestStatus ? reopenRequestStatus : 'N/A';\r\n}","export default (value1, value2) => {\r\n const date1 = new Date(value1);\r\n const date2 = new Date(value2);\r\n if (date1 === date2) return 0;\r\n else if (date1 > date2) return 1;\r\n else return -1;\r\n}","import React from 'react';\r\nimport { MotifTextLink, MotifCheckbox, MotifIcon } from '@ey-xd/motif-react';\r\nimport { Link } from 'react-router-dom';\r\nimport { IconoirOpenNewWindow } from '@ey-xd/motif-icon';\r\n\r\nexport default (props) => {\r\n const checklistType = props.data\r\n && props.data[\"checklistType\"] != null\r\n ? props.data[\"checklistType\"].toLowerCase() : null;\r\n\r\n const internalChecklistId = props.data\r\n && props.data[\"checklistID\"] != null\r\n ? props.data[\"checklistID\"] : null;\r\n\r\n return (
    \r\n {checklistType && internalChecklistId && (checklistType == 'psq' || checklistType == 'arqc') &&\r\n
    \r\n \r\n \r\n \r\n
    \r\n }\r\n
    );\r\n};","import React from 'react';\r\nimport { MotifTooltip } from '@ey-xd/motif-react';\r\nexport default (props) => {\r\n let fieldValue = \"\";\r\n if(props.fieldName == 'internalRecipients') {\r\n fieldValue = props.node.data['internalRecipients'];\r\n }\r\n if (fieldValue && fieldValue.length > 30 && props.fieldName == 'internalRecipients') {\r\n return (\r\n
    \r\n {fieldValue.substring(0, 29)}\r\n \r\n ...}\r\n variant=\"alt\"\r\n style={{ maxWidth: '20px' }}\r\n hideCloseButton={true}\r\n >\r\n {fieldValue}\r\n \r\n \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {fieldValue}\r\n
    \r\n );\r\n }\r\n }\r\n","import PropTypes from \"prop-types\";\r\nimport React, { useCallback, useMemo, useRef, useState, useEffect } from 'react';\r\nimport { render } from 'react-dom';\r\nimport { Form, Icon, Popup, Dropdown } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { MotifPagination, MotifPaginationSelect, MotifPaginationSelectItem, MotifTable } from \"@ey-xd/motif-react\";\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport 'ag-grid-enterprise';\r\nimport 'ag-grid-community/styles/ag-grid.css';\r\nimport 'ag-grid-community/styles/ag-theme-alpine.css';\r\nimport ExternalChecklistCheckboxCellRenderer from './customRenderers/ExternalChecklistCheckboxCellRenderer.js';\r\nimport ExternalChecklistCheckboxHeaderRenderer from './customRenderers/ExternalChecklistCheckboxHeaderRenderer.js';\r\nimport ReopentoRequestStatusValueGetter from './customValueGetters/ReopentoRequestStatusValueGetter.js';\r\nimport DateComparator from './customComparators/DateComparator.js';\r\nimport CustomHeaderTemplate from './customHeaders/CustomHeaderTemplate.js';\r\nimport ExternalChecklistLinkCellRenderer from './customRenderers/ExternalChecklistLinkCellRenderer';\r\nimport InternalRecipientsCellRenderer from \"../shared/customRenderers/InternalRecipientsCellRenderer.js\";\r\n\r\nconst PSQChecklistExternalTable = ({\r\n formSyncErrors,\r\n formSubmitErrors,\r\n hasWriteAccess,\r\n filteredExternalChecklists,\r\n clientId,\r\n selectedClient,\r\n gridColumnState,\r\n handleGridColumnStateChange,\r\n handleGridChanges,\r\n refreshGridOnCompletedAction\r\n}) => {\r\n const gridRef = useRef();\r\n const containerStyle = useMemo(() => ({ width: '100%', height: '100%' }), []);\r\n const gridStyle = useMemo(() => ({ height: '100%', width: '100%' }), []);\r\n\r\n const [rowData, setRowData] = useState([]);\r\n const rowDataRef = useRef({});\r\n rowDataRef.current = rowData;\r\n\r\n const onHeaderCheckboxChange = (isHeaderCheckboxSelected) => {\r\n let updatedData = rowDataRef.current;\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n\r\n // Select checkbox for filtered rows only\r\n gridRef.current.api.forEachNodeAfterFilter((rowNode) => {\r\n // Check if the parent rowNode's key matches with grid's rowdata and update checkbox selection for those matching\r\n if (rowNode.level === 0) {\r\n updatedData = updatedData.map(newUd => {\r\n if (newUd.checklistID === rowNode.data.checklistID) {\r\n return {\r\n ...newUd,\r\n checklistSelection: !isHeaderCheckboxSelected\r\n };\r\n }\r\n return newUd;\r\n });\r\n }\r\n });\r\n setRowData(updatedData);\r\n gridRef.current.api.refreshHeader();\r\n }\r\n };\r\n\r\n const onCellCheckboxChange = (checklistId, rowNode) => {\r\n let updatedData = rowDataRef.current.map(newUd => {\r\n if (newUd.checklistID === checklistId) {\r\n return {\r\n ...newUd,\r\n checklistSelection: !newUd.checklistSelection\r\n };\r\n }\r\n return newUd;\r\n });\r\n\r\n setRowData(updatedData);\r\n gridRef.current.api.refreshHeader();\r\n };\r\n\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n const dateOptions = {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric',\r\n hour: '2-digit',\r\n minute: '2-digit'\r\n };\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: 'checklistSelection', headerName: '', suppressMenu: true, minWidth: 65,\r\n headerComponent: ExternalChecklistCheckboxHeaderRenderer,\r\n headerComponentParams: { onHeaderCheckboxChange: onHeaderCheckboxChange },\r\n cellRendererParams: { onCellCheckboxChange: onCellCheckboxChange },\r\n cellRenderer: ExternalChecklistCheckboxCellRenderer\r\n },\r\n {\r\n field: 'checklistLink', headerName: '', suppressMenu: true, minWidth: 54, maxWidth: 54,\r\n cellRenderer: ExternalChecklistLinkCellRenderer, cellRendererParams: { clientId: clientId },\r\n headerComponentParams: { template: CustomHeaderTemplate('checklistLink') }\r\n },\r\n {\r\n field: 'quarter', headerName: 'Period', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 113,maxWidth: 113, \r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data['quarter'] : '';\r\n },\r\n filterValueGetter: params => { return params.data && params.data.quarter; },\r\n headerComponentParams: { template: CustomHeaderTemplate('period') }\r\n },\r\n {\r\n field: 'reitName', headerName: 'REIT', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 225,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data['reitName'] : '';\r\n },\r\n filterValueGetter: params => { return params.data && params.data.reitName; },\r\n headerComponentParams: { template: CustomHeaderTemplate('reit') }\r\n },\r\n {\r\n field: 'propertyName', headerName: 'Property', sortable: true, minWidth: 225,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data['propertyName'] : '';\r\n },\r\n filterValueGetter: params => { return params.data && params.data.propertyName; },\r\n headerComponentParams: { template: CustomHeaderTemplate('propertyName') }\r\n },\r\n {\r\n field: 'propertyTypeDescription', headerName: 'Property Type', sortable: true, minWidth: 175,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data['propertyTypeDescription'] : '';\r\n },\r\n filterValueGetter: params => { return params.data && params.data.propertyTypeDescription; },\r\n headerComponentParams: { template: CustomHeaderTemplate('type') }\r\n },\r\n {\r\n field: 'checklistStateDescription', headerName: 'Status', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 210, \r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data['checklistStateDescription'] : '';\r\n },\r\n filterValueGetter: params => { return params.data && params.data.checklistStateDescription; },\r\n headerComponentParams: { template: CustomHeaderTemplate('status') }\r\n },\r\n {\r\n field: 'lastUpdatedDate', headerName: 'Status Date', sortable: true, minWidth: 180, \r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data[\"lastUpdatedDate\"] ? (new Date(params.node.data[\"lastUpdatedDate\"] + 'Z')).toLocaleString('en-US', dateOptions) : ''\r\n : null;\r\n },\r\n filterValueGetter: params => { return params.data && (new Date(params.data.lastUpdatedDate + 'Z')).toLocaleString('en-US', dateOptions); },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('statusDate') }\r\n },\r\n {\r\n field: 'internalRecipients', headerName: 'Internal Review Recipients', sortable: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 250, \r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data['internalRecipients'] : '';\r\n },\r\n cellRenderer: InternalRecipientsCellRenderer, cellRendererParams: { fieldName: 'internalRecipients' },\r\n filterValueGetter: params => { return params.data && params.data.internalRecipients; },\r\n headerComponentParams: { template: CustomHeaderTemplate('internalRecipients') }\r\n },\r\n {\r\n field: 'reopenRequestStatusDescription', headerName: 'Reopen Request', sortable: true, minWidth: 172,\r\n valueGetter: params => ReopentoRequestStatusValueGetter(params),\r\n cellRenderer: params => {\r\n return params.data && params.data.reopenRequestStatusDescription\r\n ? params.data.reopenRequestStatusDescription.toLowerCase() === 'pending' ? 'Pending EY Action' : params.data.reopenRequestStatusDescription\r\n : 'N/A';\r\n },\r\n filterValueGetter: params => {\r\n return params.data && params.data.reopenRequestStatusDescription\r\n ? params.data.reopenRequestStatusDescription.toLowerCase() === 'pending' ? 'Pending EY Action' : params.data.reopenRequestStatusDescription\r\n : 'N/A';\r\n },\r\n\r\n headerComponentParams: { template: CustomHeaderTemplate('reopenRequestStatusDescription') }\r\n },\r\n {\r\n field: 'requestDateTime', headerName: 'Reopen Request Date', sortable: true, minWidth: 200,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data[\"requestDateTime\"] ? (new Date(params.node.data[\"requestDateTime\"] + 'Z')).toLocaleString('en-US', dateOptions) : ''\r\n : null;\r\n },\r\n filterValueGetter: params => {\r\n return params.data\r\n ? params.data[\"requestDateTime\"] ? (new Date(params.data.requestDateTime + 'Z')).toLocaleString('en-US', dateOptions) : 'N/A'\r\n : null;\r\n },\r\n cellRenderer: params => {\r\n return params.data && params.data.requestDateTime ? (new Date(params.data.requestDateTime + 'Z')).toLocaleString('en-US', dateOptions) : 'N/A';\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('requestDateTime') }\r\n },\r\n {\r\n field: 'clientUserEmailAddress', headerName: 'Client Signedoff By', sortable: true, minWidth: 172,\r\n valueGetter: params => {\r\n return params.node && params.node.data && params.node.data.isSignedOff\r\n ? params.node.data.clientUserEmailAddress : '';\r\n },\r\n cellRenderer: params => {\r\n return params.data && params.data.isSignedOff ? params.data.clientUserEmailAddress : '';\r\n },\r\n filterValueGetter: params => {\r\n return params.data && params.data.isSignedOff ? params.data.clientUserEmailAddress: '';\r\n },\r\n\r\n headerComponentParams: { template: CustomHeaderTemplate('clientUserEmailAddress') }\r\n },\r\n {\r\n field: 'userActionDateTime', headerName: 'Client Signedoff Date', sortable: true, minWidth: 200,\r\n valueGetter: params => {\r\n return params.node && params.node.data && params.node.data.isSignedOff\r\n ? params.node.data.userActionDateTime ? (new Date(params.node.data.userActionDateTime + 'Z')).toLocaleString('en-US', dateOptions) : ''\r\n : null;\r\n },\r\n filterValueGetter: params => {\r\n return params.data && params.data.isSignedOff\r\n ? params.data.userActionDateTime ? (new Date(params.data.userActionDateTime + 'Z')).toLocaleString('en-US', dateOptions) : 'N/A'\r\n : null;\r\n },\r\n cellRenderer: params => {\r\n return params.data && params.data.isSignedOff && params.data.userActionDateTime ? (new Date(params.data.userActionDateTime + 'Z')).toLocaleString('en-US', dateOptions) : '';\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('userActionDateTime') }\r\n },\r\n ];\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n //const getRowId = useCallback((params) => params.data.recipients + '_' + params.data.recipientEmail, []);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Grid Global Listner\r\n const gridGlobalListner = function (type, event) {\r\n if (type.indexOf(\"columnVisible\") >= 0) {\r\n handleGridColumnsChanged(event);\r\n }\r\n\r\n // Bind handleFilterChanged event to filterChanged and rowDataUpdated events\r\n if (type.indexOf(\"filterChanged\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n }\r\n\r\n if (type.indexOf(\"rowDataUpdated\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n } \r\n }\r\n\r\n //Handle Grid Ready event\r\n const handleGridReady = (event) => {\r\n //Remove event for column state change\r\n event.api.removeEventListener(gridGlobalListner);\r\n\r\n //Add event for column state change\r\n event.api.addGlobalListener(gridGlobalListner);\r\n\r\n //Apply column state\r\n var columnState = localStorage.getItem('REITSuiteExternalPSQChecklistColumnState');\r\n if (columnState) {\r\n gridRef.current.columnApi.applyColumnState({\r\n state: JSON.parse(columnState),\r\n applyOrder: true,\r\n });\r\n }\r\n\r\n // Set the page size and total pages on the first load\r\n // Setting it 100 to make sure the default number of items on load is always set to 100\r\n handleItemsPerPageChange(100);\r\n }\r\n\r\n // Handle OnFilterChanged event\r\n const handleFilterChanged = (event) => {\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n if (currentPage > calcTotalPages) {\r\n if (calcTotalPages == 0) {\r\n setTimeout(function () { setCurrentPage(calcTotalPages); }, 0)\r\n }\r\n else {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n const gridCurrentPage = gridRef.current.api.paginationGetCurrentPage() + 1; // Adding 1 since it returns zero based index\r\n if (currentPage < (gridCurrentPage) && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n }\r\n\r\n // Show the expected value as 1 for current page \r\n if (currentPage <= 1 && gridCurrentPage == 1 && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n } \r\n }\r\n }\r\n\r\n //Handle First Data Renderered event\r\n const handleFirstDataRendered = (event) => {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Handle Grid Columns changed event\r\n const handleGridColumnsChanged = (event) => {\r\n\r\n var currentColumnState = gridRef.current.columnApi.getColumnState();\r\n var localStorageColumnState = localStorage.getItem('REITSuiteExternalPSQChecklistColumnState');\r\n\r\n // If the column state details are not exists in local storage then save the changed Column state data\r\n if (currentColumnState && currentColumnState.filter(col => col.hide == true)?.length > 0 && !localStorageColumnState) {\r\n saveUserPreferenceDetails();\r\n }\r\n else if (localStorageColumnState) {\r\n // If the column state details are exists in local storage then save the changed Column state data only if difference is found\r\n var columnsStateArray = JSON.parse(localStorageColumnState);\r\n if (columnsStateArray && columnsStateArray.length > 0\r\n && currentColumnState && currentColumnState.length > 0\r\n && columnsStateArray.filter(col => col.hide == true)?.length != currentColumnState.filter(col => col.hide == true)?.length) {\r\n //If column state mismatch found then only save column state data to avoid saving same state\r\n saveUserPreferenceDetails();\r\n }\r\n }\r\n\r\n //Trigger Grid Column state change (of parent) to sync column state data\r\n handleGridColumnStateChange(currentColumnState);\r\n\r\n gridRef && gridRef.current && gridRef.current.columnApi && gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Save User Preference details (Column state)\r\n const saveUserPreferenceDetails = useCallback(() => {\r\n\r\n var columnState = gridRef.current.columnApi.getColumnState();\r\n if (columnState) {\r\n localStorage.setItem('REITSuiteExternalPSQChecklistColumnState', JSON.stringify(columnState));\r\n }\r\n }, []);\r\n\r\n //Handle Grid Items per Page change event\r\n const handleItemsPerPageChange = (val) => {\r\n\r\n gridRef.current.api.paginationGoToFirstPage();\r\n gridRef.current.api.paginationSetPageSize(Number(val));\r\n setCurrentPage(1);\r\n setItemsPerPage(val);\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n useEffect(() => {\r\n handleGridChanges(rowData, gridRef && gridRef.current ? gridRef.current.api : null);\r\n\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n\r\n // Refresh Grid \r\n const gridApi = gridRef && gridRef.current && gridRef.current.api;\r\n if (gridApi) {\r\n gridApi.refreshCells();\r\n gridApi.deselectAll();\r\n }\r\n\r\n }, [refreshGridOnCompletedAction]);\r\n\r\n // Handle Row data updated event \r\n const handleRowDataUpdated = () => {\r\n if (gridRef && gridRef.current && gridRef.current.columnApi) {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n\r\n setRowData(filteredExternalChecklists);\r\n\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.refreshHeader();\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n\r\n const gridApi = gridRef?.current?.api;\r\n gridApi && gridApi.onFilterChanged();\r\n }, [filteredExternalChecklists]);\r\n\r\n\r\n const handleSelectionChanged = (event) => { }\r\n\r\n const rowHeight = 76; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return
    \r\n {filteredExternalChecklists && filteredExternalChecklists.length > 0 &&\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n handleItemsPerPageChange(50)}>\r\n Show 50\r\n \r\n handleItemsPerPageChange(100)}>\r\n Show 100\r\n \r\n handleItemsPerPageChange(150)}>\r\n Show 150\r\n \r\n handleItemsPerPageChange(200)}>\r\n Show 200\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n }\r\n
    ;\r\n};\r\n\r\nPSQChecklistExternalTable.propTypes = {\r\n\r\n};\r\n\r\nexport default reduxForm({ form: \"psqChecklistExternal\" })(PSQChecklistExternalTable);","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifIcon,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n} from '@ey-xd/motif-react';\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\n\r\nconst DownloadChecklistsModal = ({\r\n showDownloadChecklistsModal,\r\n downloadType,\r\n modalTitle,\r\n modalContent,\r\n selectedChecklists,\r\n toggleShowDownloadChecklistsModal,\r\n handleDownloadChecklists,\r\n}) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close download checklists modal',\r\n 'aria-label': 'Close download checklists modal',\r\n 'data-testid': 'close',\r\n };\r\n\r\n const showHideDownloadChecklistsModal = () => {\r\n toggleShowDownloadChecklistsModal(downloadType);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {/* */}\r\n {modalTitle}\r\n \r\n \r\n \r\n {modalContent}\r\n
    \r\n You have selected {selectedChecklists?.length} checklist(s).\r\n
    \r\n \r\n \r\n \r\n Cancel\r\n \r\n handleDownloadChecklists(downloadType)}\r\n >\r\n Download\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nDownloadChecklistsModal.propTypes = {\r\n showDownloadChecklistsModal: PropTypes.bool,\r\n downloadType: PropTypes.string,\r\n modalTitle: PropTypes.string,\r\n modalContent: PropTypes.string,\r\n selectedChecklists: PropTypes.array,\r\n toggleShowDownloadChecklistsModal: PropTypes.bool,\r\n handleDownloadChecklists: PropTypes.func,\r\n};\r\n\r\nexport default DownloadChecklistsModal;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n } from \"@ey-xd/motif-react\";\r\n\r\nconst RequestToReopenModal = ({\r\n showRequestToReopenModal,\r\n handleReopenChecklistRequest,\r\n toggleShowRequestToReopenModal,\r\n selectedChecklists\r\n}) => {\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Resend checklists modal',\r\n ariaLabel: 'Close Resend checklists modal',\r\n dataTestid: 'close'\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Request to Reopen\r\n \r\n \r\n \r\n Are you sure you want to request the selected checklist(s) to reopen?\r\n You have selected {selectedChecklists.length} checklist(s).\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n Submit\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nRequestToReopenModal.propTypes = {\r\n showRequestToReopenModal: PropTypes.bool,\r\n handleReopenChecklistRequest: PropTypes.func,\r\n toggleShowRequestToReopenModal: PropTypes.func,\r\n selectedChecklists: PropTypes.array\r\n};\r\n\r\nexport default RequestToReopenModal;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n} from '@ey-xd/motif-react';\r\n\r\nconst SubmitForReviewModal = ({\r\n showSubmitForReviewModal,\r\n downloadType,\r\n modalTitle,\r\n modalContent,\r\n selectedChecklists,\r\n toggleShowSubmitForEYReviewModal,\r\n handleSubmitForReview,\r\n}) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close submit for EY review modal',\r\n 'aria-label': 'Close submit for EY review modal',\r\n 'data-testid': 'close',\r\n };\r\n\r\n const showHideSubmitForReviewModal = () => {\r\n toggleShowSubmitForEYReviewModal();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {modalTitle}\r\n \r\n \r\n \r\n {modalContent}\r\n
    \r\n You have selected {selectedChecklists?.length} checklist(s).\r\n
    \r\n \r\n \r\n Cancel\r\n \r\n handleSubmitForReview()}\r\n >\r\n Submit\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nSubmitForReviewModal.propTypes = {\r\n showSubmitForReviewModal: PropTypes.bool,\r\n downloadType: PropTypes.string,\r\n modalTitle: PropTypes.string,\r\n modalContent: PropTypes.string,\r\n selectedChecklists: PropTypes.array,\r\n toggleShowSubmitForReviewModal: PropTypes.bool,\r\n handleSubmitForReview: PropTypes.func,\r\n\r\n};\r\n\r\nexport default SubmitForReviewModal;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n} from '@ey-xd/motif-react';\r\n\r\nconst ClientSignoffModal = ({\r\n showClientSignoffModal,\r\n modalTitle,\r\n modalContent,\r\n selectedChecklists,\r\n toggleShowClientSignoffModal,\r\n handleClientSignoff,\r\n}) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close client sign off modal',\r\n 'aria-label': 'Close client sign off modal',\r\n 'data-testid': 'close',\r\n };\r\n\r\n const showHideClientSignoffModal = () => {\r\n toggleShowClientSignoffModal();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {modalTitle}\r\n \r\n \r\n \r\n {modalContent}\r\n
    \r\n You have selected {selectedChecklists?.length} checklist(s).\r\n
    \r\n \r\n \r\n \r\n Cancel\r\n \r\n handleClientSignoff()}\r\n >\r\n Submit\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nClientSignoffModal.propTypes = {\r\n showClientSignoffModal: PropTypes.bool,\r\n modalTitle: PropTypes.string,\r\n modalContent: PropTypes.string,\r\n selectedChecklists: PropTypes.array,\r\n toggleShowClientSignoffModal: PropTypes.bool,\r\n handleClientSignoff: PropTypes.func,\r\n\r\n};\r\n\r\nexport default ClientSignoffModal;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n} from '@ey-xd/motif-react';\r\n\r\nconst ClientUnsignoffModal = ({\r\n showClientUnsignoffModal,\r\n modalTitle,\r\n modalContent,\r\n selectedChecklists,\r\n toggleShowClientUnsignoffModal,\r\n handleClientUnsignoff,\r\n}) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close client unsign off modal',\r\n 'aria-label': 'Close client unsign off modal',\r\n 'data-testid': 'close',\r\n };\r\n\r\n const showHideClientUnsignoffModal = () => {\r\n toggleShowClientUnsignoffModal();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {modalTitle}\r\n \r\n \r\n \r\n {modalContent}\r\n
    \r\n You have selected {selectedChecklists?.length} checklist(s).\r\n
    \r\n \r\n \r\n Cancel\r\n \r\n handleClientUnsignoff()}\r\n >\r\n Submit\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nClientUnsignoffModal.propTypes = {\r\n showClientUnsignoffModal: PropTypes.bool,\r\n modalTitle: PropTypes.string,\r\n modalContent: PropTypes.string,\r\n selectedChecklists: PropTypes.array,\r\n toggleShowClientUnsignoffModal: PropTypes.bool,\r\n handleClientUnsignoff: PropTypes.func,\r\n\r\n};\r\n\r\nexport default ClientUnsignoffModal;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { pendingTask, begin, end } from '../../constants/pendingTask';\r\nimport {\r\n getFormValues,\r\n getFormSyncErrors,\r\n getFormSubmitErrors,\r\n SubmissionError,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as clientActions from '../../actions/clientActions';\r\nimport * as checklistActions from '../../actions/checklistActions';\r\nimport * as commonActions from '../../actions/commonActions';\r\nimport * as reportActions from '../../actions/reportActions';\r\nimport { MotifTabNavigation, MotifTabControl } from '@ey-xd/motif-react';\r\nimport { Link } from 'react-router-dom';\r\nimport ManageExternalChecklistHeader from '../../components/checklistDeliveryCalendar/ManageExternalChecklistHeader';\r\nimport PSQChecklistExternalTable from '../../components/checklistDeliveryCalendar/PSQChecklistExternalTable';\r\nimport DownloadChecklistsModal from '../../components/checklistDeliveryCalendar/DownloadChecklistsModal';\r\nimport RequestToReopenModal from '../../components/checklistDeliveryCalendar/RequestToReopenModal';\r\nimport * as actions from \"../../actions/actionTypes\";\r\nimport SubmitForReviewModal from \"../../components/checklistDeliveryCalendar/SubmitForReviewModal\";\r\nimport ClientSignoffModal from \"../../components/checklistDeliveryCalendar/ClientSignoffModal\";\r\nimport ClientUnsignoffModal from \"../../components/checklistDeliveryCalendar/ClientUnsignoffModal\";\r\nimport * as actionHelpers from '../../scripts/actionHelpers';\r\nimport { WebSocketContext } from '../../components/PermExternalApp';\r\n/**\r\n * PSQChecklistExternalContainer container component\r\n * @extends {React.Component}\r\n */\r\nclass PSQChecklistExternalContainer extends React.Component {\r\n static contextType = WebSocketContext;\r\n\r\n /**\r\n * Creates a new Checklist Dashboard page\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n this.prevWS = null;\r\n\r\n this.setTabBar1 = this.setTabBar1.bind(this);\r\n this.handleClick = this.handleClick.bind(this);\r\n this.handleClientChange = this.handleClientChange.bind(this);\r\n this.handleCalendarYearChange = this.handleCalendarYearChange.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.handleGridColumnStateChange =\r\n this.handleGridColumnStateChange.bind(this);\r\n this.toggleShowDownloadChecklistsModal =\r\n this.toggleShowDownloadChecklistsModal.bind(this);\r\n this.handleDownloadChecklists = this.handleDownloadChecklists.bind(this);\r\n this.toggleShowRequestToReopenModal = this.toggleShowRequestToReopenModal.bind(this);\r\n this.handleReopenChecklistRequest = this.handleReopenChecklistRequest.bind(this);\r\n this.toggleShowSubmitForEYReviewModal =\r\n this.toggleShowSubmitForEYReviewModal.bind(this);\r\n this.toggleShowClientSignoffModal =\r\n this.toggleShowClientSignoffModal.bind(this);\r\n this.toggleShowClientUnsignoffModal =\r\n this.toggleShowClientUnsignoffModal.bind(this);\r\n this.handleSubmitForReview = this.handleSubmitForReview.bind(this);\r\n this.handleClientSignoff = this.handleClientSignoff.bind(this);\r\n this.handleClientUnsignoff = this.handleClientUnsignoff.bind(this);\r\n this.state = {\r\n clients: [],\r\n checklistCalendarYears: [],\r\n selectedClient: undefined,\r\n selectedCalendarYear: 0,\r\n filteredExternalChecklists: [],\r\n gridCurrentState: [],\r\n selectedChecklists: [],\r\n downloadChecklists: {\r\n downloadType: '',\r\n showModal: false,\r\n modalTitle: '',\r\n modalContent: '',\r\n },\r\n gridColumnState: [],\r\n refreshGridOnCompletedAction: -1,\r\n showRequestToReopenModal: false,\r\n submitForEYReview: {\r\n showModal: false,\r\n modalTitle: \"\",\r\n modalContent: \"\",\r\n },\r\n clientSignoff: {\r\n showModal: false,\r\n modalTitle: \"\",\r\n modalContent: \"\",\r\n },\r\n clientUnsignoff: {\r\n showModal: false,\r\n modalTitle: \"\",\r\n modalContent: \"\",\r\n },\r\n };\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() { \r\n this.fetchAllActiveClients();\r\n }\r\n\r\n /**\r\n * Invoked immediately before unmounting occurs\r\n * @returns {undefined}\r\n */\r\n componentWillUnmount() {\r\n // On unmount, clear the client data from state to conserve memory\r\n this.props.clientActions.fetchAllActiveClients(true);\r\n // On unmount, clear the calendar data from state to conserve memory\r\n this.props.checklistActions.fetchChecklistCalendarYearsByClientAndType();\r\n // Calling this action with no argument will clear from redux-state\r\n this.props.checklistActions.fetchExternalChecklists();\r\n //this.props.checklistActions.fetchChecklistCalendarYears();\r\n\r\n this.setState({ filteredExternalChecklists: [] });\r\n }\r\n\r\n\r\n\r\n /**\r\n * Handle Grid column state chagne\r\n * @returns {undefined}\r\n */\r\n handleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n }\r\n\r\n handleGridChanges(gridRowData) {\r\n let rowData = [];\r\n rowData =\r\n gridRowData &&\r\n gridRowData.length &&\r\n gridRowData.map((x) => {\r\n return {\r\n checklistID: x.checklistID,\r\n checklistState: x.checklistState,\r\n checklistSelection: x.checklistSelection,\r\n checklistStateDescription: x.checklistStateDescription,\r\n checklistType: x.checklistType,\r\n propertyName: x.propertyName,\r\n propertyTypeDescription: x.propertyTypeDescription,\r\n quarter: x.quarter,\r\n quarterStatus: x.quarterStatus,\r\n reitid: x.reitid,\r\n reitName: x.reitName,\r\n reportPeriodID: x.reportPeriodID,\r\n isSignedOff: x.isSignedOff,\r\n signedOffStatusDescription: x.signedOffStatusDescription,\r\n userActionDateTime: x.userActionDateTime,\r\n clientUserEmailAddress: x.clientUserEmailAddress\r\n };\r\n });\r\n\r\n this.setState({ gridCurrentState: rowData });\r\n\r\n // Filtering the selected checklists\r\n const selectedChecklists =\r\n gridRowData &&\r\n gridRowData.length &&\r\n gridRowData.reduce((reduced, row) => {\r\n if (row.checklistSelection) {\r\n return reduced.concat({\r\n checklistID: row.checklistID,\r\n checklistState: row.checklistState,\r\n checklistSelection: row.checklistSelection,\r\n checklistStateDescription: row.checklistStateDescription,\r\n checklistType: row.checklistType,\r\n propertyName: row.propertyName,\r\n propertyTypeDescription: row.propertyTypeDescription,\r\n quarter: row.quarter,\r\n quarterStatus: row.quarterStatus,\r\n reitid: row.reitid,\r\n reitName: row.reitName,\r\n reportPeriodID: row.reportPeriodID,\r\n isSignedOff: row.isSignedOff,\r\n signedOffStatusDescription: row.signedOffStatusDescription,\r\n userActionDateTime: row.userActionDateTime,\r\n clientUserEmailAddress: row.clientUserEmailAddress,\r\n canExternalUserSubmitChecklistForEYReview: row.canExternalUserSubmitChecklistForEYReview\r\n });\r\n }\r\n return reduced;\r\n }, []);\r\n\r\n this.setState({ selectedChecklists: selectedChecklists });\r\n }\r\n\r\n //Set tab related state variables\r\n setTabBar1(currentIndex) {\r\n this.setState({ tabBar1: currentIndex });\r\n }\r\n\r\n //Set current tab index\r\n handleClick(index) {\r\n this.setTabBar1(index);\r\n }\r\n\r\n fetchAllActiveClients() {\r\n this.props.clientActions.fetchAllActiveClients();\r\n }\r\n \r\n fetchCalenderYearsByClientAndChecklistType(clientId, checklistType) {\r\n this.props.checklistActions.fetchChecklistCalendarYearsByClientAndType(clientId, checklistType)\r\n .then((calendarYears) => {\r\n this.setState({\r\n checklistCalendarYears: calendarYears,\r\n });\r\n // Use the calendarYears value here\r\n if (calendarYears && calendarYears.length > 0) {\r\n const preselectedCalendarYear = calendarYears.includes(new Date().getFullYear())\r\n ? new Date().getFullYear().toString()\r\n : calendarYears[0].toString();\r\n this.props.checklistActions.fetchExternalChecklists(clientId, preselectedCalendarYear, checklistType);\r\n this.setState({ selectedCalendarYear: preselectedCalendarYear });\r\n } else {\r\n this.props.checklistActions.fetchExternalChecklists();\r\n }\r\n })\r\n \r\n }\r\n \r\n componentDidUpdate(prevProps) {\r\n const ws = this.context;\r\n\r\n if(ws && this.prevWS !== ws){\r\n this.prevWS = ws;\r\n ws.on('userAuthorizationUpdate', () => this.fetchAllActiveClients());\r\n }\r\n \r\n if (this.props.externalChecklists.clients !== prevProps.externalChecklists.clients) {\r\n if (\r\n this.props.externalChecklists.clients &&\r\n this.props.externalChecklists.clients.length > 0\r\n ) {\r\n this.setState({ clients: this.props.externalChecklists.clients });\r\n if (this.props.externalChecklists.clients.length === 1) {\r\n this.setState({\r\n selectedClient: this.props.externalChecklists.clients[0],\r\n }, () => {\r\n this.fetchCalenderYearsByClientAndChecklistType(\r\n this.state.selectedClient.id,\r\n 'PSQ'\r\n );\r\n });\r\n }\r\n }\r\n }\r\n \r\n }\r\n handleClientChange(client) {\r\n if (client !== '') {\r\n const selectedClient = this.props.externalChecklists.clients.filter(\r\n (c) => c.name === client\r\n )[0];\r\n this.setState({ selectedClient: selectedClient });\r\n this.fetchCalenderYearsByClientAndChecklistType(selectedClient.id, 'PSQ');\r\n }\r\n }\r\n\r\n handleCalendarYearChange(calendarYear) {\r\n this.setState({ selectedCalendarYear: calendarYear });\r\n let clientId =\r\n (this.state.selectedClient && this.state.selectedClient.id) || -1;\r\n this.props.checklistActions.fetchExternalChecklists(\r\n clientId,\r\n calendarYear,\r\n 'psq'\r\n );\r\n }\r\n\r\n toggleShowDownloadChecklistsModal(downloadType) {\r\n if (!this.state.downloadChecklists.showModal) {\r\n switch (downloadType) {\r\n case 'WITHOUT_ANSWERS': {\r\n const downloadChecklistsState = {\r\n downloadType: downloadType,\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: 'Download Checklist(s) without Answers or Comments',\r\n modalContent:\r\n 'Are you sure you want to download the selected checklist(s) without answers or comments?',\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n break;\r\n }\r\n case 'WITH_ANSWERS_COMMENTS': {\r\n const downloadChecklistsState = {\r\n downloadType: downloadType,\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: 'Download Checklist(s) with Answers and Comments',\r\n modalContent:\r\n 'Are you sure you want to download the selected checklist(s) with answers and comments?',\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n break;\r\n }\r\n case 'WITH_ANSWERS': {\r\n const downloadChecklistsState = {\r\n downloadType: downloadType,\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: 'Download Checklist(s) with Answers Only',\r\n modalContent:\r\n 'Are you sure you want to download the selected checklist(s) with answers?',\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n break;\r\n }\r\n default:\r\n break;\r\n }\r\n } else {\r\n const downloadChecklistsState = {\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: '',\r\n modalContent: '',\r\n downloadType: '',\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n }\r\n }\r\n\r\n handleDownloadChecklists(downloadType) {\r\n // Getting a copy of the selected checklists from the local state\r\n const selectedChecklists = this.state.selectedChecklists.slice();\r\n\r\n // Creating a object array for all the selected checklists with corresponding request details\r\n const checklistRequestDetails = selectedChecklists.map((c) => ({\r\n reitNameAndPeriod: `reitName=${c.reitName},periodDesc=${c.quarter} ${this.state.selectedCalendarYear}`,\r\n periodId: c.reportPeriodID,\r\n id: c.checklistID,\r\n isExternal: true,\r\n filename: '',\r\n reitName: c.reitName,\r\n propertyName: c.propertyName,\r\n propertyTypeDescription: c.propertyTypeDescription,\r\n quarter: c.quarter,\r\n }));\r\n\r\n // Logic for file name\r\n checklistRequestDetails.forEach((item) => {\r\n // Setting a defualt file name based on the Report period, Year, RIET, Property name and Property type description\r\n const defaultFilename = `${item.quarter}${this.state.selectedCalendarYear}_${item.reitName}_${item.propertyName}_${item.propertyTypeDescription}_PSQ`;\r\n\r\n // Checking if a row object is already created with the standard file name\r\n const existingFiles = checklistRequestDetails\r\n .filter((c) => c.filename.includes(defaultFilename))\r\n .sort();\r\n\r\n if (existingFiles.length > 0) {\r\n //Splilling the file name based on \"_\"\r\n const fileNameSplitArray = existingFiles[\r\n existingFiles.length - 1\r\n ].filename\r\n .split('.')[0]\r\n .split('_');\r\n\r\n if (existingFiles.length > 1) {\r\n /* Case when there are more than one files with the same combination of Report period, Year, RIET, Property name and Property type description\r\n In such cases, incrementing the version at the end */\r\n const currentVersion = parseInt(fileNameSplitArray[fileNameSplitArray.length - 1]);\r\n fileNameSplitArray[fileNameSplitArray.length - 1] = (currentVersion + 1).toString();\r\n item.filename = `${fileNameSplitArray.join('_')}.docx`;\r\n } else {\r\n // Case when there is only one file with the existing combination, hence appending the version as 1 at the end\r\n item.filename = `${fileNameSplitArray.join('_')}_1.docx`;\r\n }\r\n } else {\r\n // Case when there is no file name with the combination\r\n item.filename = `${defaultFilename}.docx`;\r\n }\r\n });\r\n\r\n // Preparing the request body\r\n const request = {\r\n client: this.state.selectedClient.name,\r\n calendarYear: this.state.selectedCalendarYear,\r\n checklistRequestDetails: checklistRequestDetails,\r\n };\r\n\r\n this.props.commonActions.clearErrorResponse();\r\n\r\n // Calling the action to fetch data from the API\r\n this.props.reportActions\r\n .downloadChecklists(request, 'PSQ', downloadType)\r\n .then(() => {\r\n // Refreshing grid and toggling the modal to false\r\n this.refreshGrid();\r\n this.toggleShowDownloadChecklistsModal(downloadType);\r\n })\r\n .catch(() => {\r\n // Toggle the modal to fasle\r\n this.toggleShowDownloadChecklistsModal(downloadType);\r\n });\r\n }\r\n\r\n refreshGrid() {\r\n const clientId =\r\n (this.state.selectedClient && this.state.selectedClient.id) || -1;\r\n const calendarYear = this.state.selectedCalendarYear || -1;\r\n this.props.checklistActions\r\n .fetchExternalChecklists(clientId, calendarYear, 'psq')\r\n .then(() => {\r\n //Update refreshGridOnCompletedAction state variable to refresh the grid\r\n const randomNumber = parseInt(Math.random() * (99999999 - 1)) + 1;\r\n this.setState({ refreshGridOnCompletedAction: randomNumber });\r\n });\r\n }\r\n\r\n toggleShowRequestToReopenModal() {\r\n this.setState({ showRequestToReopenModal: !this.state.showRequestToReopenModal });\r\n }\r\n\r\n handleReopenChecklistRequest() {\r\n const checklistsToReopen = this.state.selectedChecklists\r\n .map(checklist => {\r\n return {\r\n checklistID: checklist.checklistID,\r\n checklistType: checklist.checklistType,\r\n reportPeriodID: checklist.reportPeriodID\r\n }\r\n });\r\n\r\n this.props.checklistActions\r\n .requestToReopenChecklists(checklistsToReopen)\r\n .then(() => {\r\n this.toggleShowRequestToReopenModal();\r\n this.refreshGrid();\r\n });\r\n }\r\n\r\n toggleShowSubmitForEYReviewModal() {\r\n if (!this.state.submitForEYReview.showModal) {\r\n const submitForEYReviewState = {\r\n showModal: !this.state.submitForEYReview.showModal,\r\n modalTitle: \"Submit for EY Review\",\r\n modalContent:\r\n \"Are you sure you want to submit the selected checklist(s) for EY review?\",\r\n };\r\n this.setState({ submitForEYReview: submitForEYReviewState });\r\n } else {\r\n const submitForEYReviewState = {\r\n showModal: !this.state.submitForEYReview.showModal,\r\n modalTitle: \"\",\r\n modalContent: \"\",\r\n downloadType: \"\",\r\n };\r\n this.setState({ submitForEYReview: submitForEYReviewState });\r\n }\r\n }\r\n\r\n toggleShowClientSignoffModal() {\r\n if (!this.state.clientSignoff.showModal) {\r\n const clientSignoffState = {\r\n showModal: !this.state.clientSignoff.showModal,\r\n modalTitle: \"Client Sign Off\",\r\n modalContent:\r\n \"Are you sure you want to sign off the selected checklist(s)?\",\r\n };\r\n this.setState({ clientSignoff: clientSignoffState });\r\n } else {\r\n const clientSignoffState = {\r\n showModal: !this.state.clientSignoff.showModal,\r\n modalTitle: \"\",\r\n modalContent: \"\",\r\n };\r\n this.setState({ clientSignoff: clientSignoffState });\r\n }\r\n }\r\n\r\n toggleShowClientUnsignoffModal() {\r\n\r\n if (!this.state.clientUnsignoff.showModal) {\r\n const clientUnsignoffState = {\r\n showModal: !this.state.clientUnsignoff.showModal,\r\n modalTitle: \"Client Unsign Off\",\r\n modalContent:\r\n \"Are you sure you want to unsign off the selected checklist(s)?\",\r\n };\r\n this.setState({ clientUnsignoff: clientUnsignoffState });\r\n } else {\r\n const clientUnsignoffState = {\r\n showModal: !this.state.clientUnsignoff.showModal,\r\n modalTitle: \"\",\r\n modalContent: \"\",\r\n };\r\n this.setState({ clientUnsignoff: clientUnsignoffState });\r\n }\r\n }\r\n\r\n // Signoff/Unsignoff checklists\r\n async signoffAndUnsignoffChecklists(isSignedOff) {\r\n const selectedChecklists = Object.assign([], this.state.selectedChecklists);\r\n const splitedChecklists = this.spliceSelectedChecklists(\r\n selectedChecklists,\r\n 20\r\n );\r\n this.props.dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n await checklistActions\r\n .splitAndSignoffChecklist(splitedChecklists, \"PSQ\", isSignedOff)\r\n .then(() => {\r\n if (isSignedOff) {\r\n this.toggleShowClientSignoffModal();\r\n }\r\n else {\r\n this.toggleShowClientUnsignoffModal();\r\n }\r\n this.refreshGrid();\r\n this.props.dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n })\r\n .catch((error) => {\r\n if (isSignedOff) {\r\n this.toggleShowClientSignoffModal();\r\n }\r\n else {\r\n this.toggleShowClientUnsignoffModal();\r\n }\r\n this.refreshGrid();\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n this.props.dispatch,\r\n actions.SIGNOFF_CHECKLIST_REQUESTS_FAILURE,\r\n error,\r\n );\r\n });\r\n }\r\n\r\n // Handle Client Signoff \r\n async handleClientSignoff() {\r\n await this.signoffAndUnsignoffChecklists(1);\r\n }\r\n\r\n // Handle Client Unsignoff \r\n async handleClientUnsignoff() {\r\n await this.signoffAndUnsignoffChecklists(0);\r\n }\r\n\r\n async handleSubmitForReview() {\r\n const selectedChecklists = Object.assign([], this.state.selectedChecklists);\r\n const splitedChecklists = this.spliceSelectedChecklists(\r\n selectedChecklists,\r\n 20\r\n );\r\n this.props.dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n await checklistActions\r\n .splitAndsubmitForEYReview(splitedChecklists, \"PSQ\")\r\n .then(() => {\r\n this.toggleShowSubmitForEYReviewModal();\r\n this.refreshGrid();\r\n this.props.dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n })\r\n .catch((error) => {\r\n this.toggleShowSubmitForEYReviewModal();\r\n this.refreshGrid();\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n this.props.dispatch,\r\n actions.SUBMITFOREYREVIEW_REQUESTS_FAILURE,\r\n error,\r\n );\r\n\r\n });\r\n }\r\n\r\n spliceSelectedChecklists(arr, size) {\r\n let res = [];\r\n while (arr.length > 0) {\r\n const chunk = arr.splice(0, size);\r\n res.push(chunk);\r\n }\r\n return res;\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n
    \r\n
    \r\n

    \r\n Checklist Dashboard\r\n

    \r\n
    \r\n
    \r\n \r\n \r\n this.handleClick(1)}\r\n >\r\n PSQ\r\n \r\n \r\n \r\n this.handleClick(2)}\r\n >\r\n ARQC\r\n \r\n \r\n \r\n {this.state.clients.length > 0 && (\r\n \r\n )}\r\n {this.state.selectedClient &&\r\n this.state.selectedClient.name &&\r\n this.state.selectedClient.name.length > 0 &&\r\n (!this.props.externalChecklists ||\r\n !this.props.externalChecklists.calendarYears ||\r\n this.props.externalChecklists.calendarYears.length === 0) ? (\r\n
    No checklists found for the selected client.
    \r\n ) : (\r\n
    \r\n )}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n externalChecklists: {\r\n clients: state.externalChecklistsClients,\r\n calendarYears: state.checklistCalendarYearsByType,\r\n },\r\n psqChecklistExternalValues: getFormValues('psqChecklistExternal')(state),\r\n filteredExternalChecklists: state.externalChecklists,\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n clientActions: bindActionCreators(clientActions, dispatch),\r\n checklistActions: bindActionCreators(checklistActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n reportActions: bindActionCreators(reportActions, dispatch),\r\n };\r\n}\r\n\r\nPSQChecklistExternalContainer.propTypes = {\r\n initialValues: PropTypes.object,\r\n clientActions: PropTypes.object,\r\n checklistActions: PropTypes.object,\r\n currentUserAuthorizations: PropTypes.array,\r\n initialize: PropTypes.func,\r\n externalChecklists: PropTypes.object,\r\n psqChecklistExternalValues: PropTypes.object,\r\n filteredExternalChecklists: PropTypes.array,\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(\r\n reduxForm({ form: 'psqChecklistExternal', enableReinitialize: true })(\r\n PSQChecklistExternalContainer\r\n )\r\n);\r\n","import PropTypes from \"prop-types\";\r\nimport React, { useCallback, useMemo, useRef, useState, useEffect } from 'react';\r\nimport { render } from 'react-dom';\r\nimport { Form, Icon, Popup, Dropdown } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { MotifPagination, MotifPaginationSelect, MotifPaginationSelectItem, MotifTable } from \"@ey-xd/motif-react\";\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport 'ag-grid-enterprise';\r\nimport 'ag-grid-community/styles/ag-grid.css';\r\nimport 'ag-grid-community/styles/ag-theme-alpine.css';\r\nimport ExternalChecklistCheckboxCellRenderer from './customRenderers/ExternalChecklistCheckboxCellRenderer.js';\r\nimport ExternalChecklistCheckboxHeaderRenderer from './customRenderers/ExternalChecklistCheckboxHeaderRenderer.js';\r\nimport ReopentoRequestStatusValueGetter from './customValueGetters/ReopentoRequestStatusValueGetter.js';\r\nimport DateComparator from './customComparators/DateComparator.js';\r\nimport CustomHeaderTemplate from './customHeaders/CustomHeaderTemplate.js';\r\nimport ExternalChecklistLinkCellRenderer from './customRenderers/ExternalChecklistLinkCellRenderer';\r\n\r\nconst ARQCChecklistExternalTable = ({\r\n formSyncErrors,\r\n formSubmitErrors,\r\n hasWriteAccess,\r\n filteredExternalChecklists,\r\n clientId,\r\n selectedClient,\r\n gridColumnState,\r\n handleGridColumnStateChange,\r\n handleGridChanges,\r\n refreshGridOnCompletedAction\r\n}) => {\r\n const gridRef = useRef();\r\n const containerStyle = useMemo(() => ({ width: '100%', height: '100%' }), []);\r\n const gridStyle = useMemo(() => ({ height: '100%', width: '100%' }), []);\r\n\r\n const [rowData, setRowData] = useState([]);\r\n const rowDataRef = useRef({});\r\n rowDataRef.current = rowData;\r\n\r\n const onHeaderCheckboxChange = (isHeaderCheckboxSelected) => {\r\n let updatedData = rowDataRef.current;\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n\r\n // Select checkbox for filtered rows only\r\n gridRef.current.api.forEachNodeAfterFilter((rowNode) => {\r\n // Check if the parent rowNode's key matches with grid's rowdata and update checkbox selection for those matching\r\n if (rowNode.level === 0) {\r\n updatedData = updatedData.map(newUd => {\r\n if (newUd.checklistID === rowNode.data.checklistID) {\r\n return {\r\n ...newUd,\r\n checklistSelection: !isHeaderCheckboxSelected\r\n };\r\n }\r\n return newUd;\r\n });\r\n }\r\n });\r\n setRowData(updatedData);\r\n gridRef.current.api.refreshHeader();\r\n }\r\n };\r\n\r\n const onCellCheckboxChange = (checklistId, rowNode) => {\r\n let updatedData = rowDataRef.current.map(newUd => {\r\n if (newUd.checklistID === checklistId) {\r\n return {\r\n ...newUd,\r\n checklistSelection: !newUd.checklistSelection\r\n };\r\n }\r\n return newUd;\r\n });\r\n\r\n setRowData(updatedData);\r\n gridRef.current.api.refreshHeader();\r\n };\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n const dateOptions = {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric',\r\n hour: '2-digit',\r\n minute: '2-digit'\r\n };\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: 'checklistSelection', headerName: '', suppressMenu: true, minWidth: 65,\r\n headerComponent: ExternalChecklistCheckboxHeaderRenderer,\r\n headerComponentParams: { onHeaderCheckboxChange: onHeaderCheckboxChange },\r\n cellRendererParams: { onCellCheckboxChange: onCellCheckboxChange },\r\n cellRenderer: ExternalChecklistCheckboxCellRenderer\r\n },\r\n {\r\n field: 'checklistLink', headerName: '', suppressMenu: true, minWidth: 54,maxWidth: 54,\r\n cellRenderer: ExternalChecklistLinkCellRenderer, cellRendererParams: { clientId: clientId },\r\n headerComponentParams: { template: CustomHeaderTemplate('checklistLink') }\r\n },\r\n {\r\n field: 'quarter', headerName: 'Period', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 103,maxWidth: 103,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data['quarter'] : '';\r\n },\r\n filterValueGetter: params => { return params.data && params.data.quarter; },\r\n headerComponentParams: { template: CustomHeaderTemplate('period') }\r\n },\r\n {\r\n field: 'reitName', headerName: 'REIT', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 350,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data['reitName'] : '';\r\n },\r\n filterValueGetter: params => { return params.data && params.data.reitName; },\r\n headerComponentParams: { template: CustomHeaderTemplate('reit') }\r\n },\r\n {\r\n field: 'reitTypeDescription', headerName: 'REIT Type', sortable: true, minWidth: 223,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data['reitTypeDescription'] : '';\r\n },\r\n filterValueGetter: params => { return params.data && params.data.reitTypeDescription; },\r\n headerComponentParams: { template: CustomHeaderTemplate('type') }\r\n },\r\n {\r\n field: 'checklistStateDescription', headerName: 'Status', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 233,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data['checklistStateDescription'] : '';\r\n },\r\n filterValueGetter: params => { return params.data && params.data.checklistStateDescription; },\r\n headerComponentParams: { template: CustomHeaderTemplate('status') }\r\n },\r\n {\r\n field: 'lastUpdatedDate', headerName: 'Status Date', sortable: true, minWidth: 203,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data[\"lastUpdatedDate\"] ? (new Date(params.node.data[\"lastUpdatedDate\"] + 'Z')).toLocaleString('en-US', dateOptions) : ''\r\n : null;\r\n },\r\n filterValueGetter: params => { return params.data && (new Date(params.data.lastUpdatedDate + 'Z')).toLocaleString('en-US', dateOptions); },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('statusDate') }\r\n },\r\n {\r\n field: 'reopenRequestStatusDescription', headerName: 'Reopen Request', sortable: true, minWidth: 203,\r\n valueGetter: params => ReopentoRequestStatusValueGetter(params),\r\n cellRenderer: params => {\r\n return params.data && params.data.reopenRequestStatusDescription\r\n ? params.data.reopenRequestStatusDescription.toLowerCase() === 'pending' ? 'Pending EY Action' : params.data.reopenRequestStatusDescription\r\n : 'N/A';\r\n },\r\n filterValueGetter: params => {\r\n return params.data && params.data.reopenRequestStatusDescription\r\n ? params.data.reopenRequestStatusDescription.toLowerCase() === 'pending' ? 'Pending EY Action' : params.data.reopenRequestStatusDescription\r\n : 'N/A';\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate('reopenRequestStatusDescription') }\r\n },\r\n {\r\n field: 'requestDateTime', headerName: 'Reopen Request Date', sortable: true, minWidth: 203,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data[\"requestDateTime\"] ? (new Date(params.node.data[\"requestDateTime\"] + 'Z')).toLocaleString('en-US', dateOptions) : ''\r\n : null;\r\n },\r\n filterValueGetter: params => {\r\n return params.data\r\n ? params.data[\"requestDateTime\"] ? (new Date(params.data.requestDateTime + 'Z')).toLocaleString('en-US', dateOptions) : 'N/A'\r\n : null;\r\n },\r\n cellRenderer: params => {\r\n return params.data && params.data.requestDateTime ? (new Date(params.data.requestDateTime + 'Z')).toLocaleString('en-US', dateOptions) : 'N/A';\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('requestDateTime') }\r\n },\r\n {\r\n field: 'clientUserEmailAddress', headerName: 'Client Signedoff By', sortable: true, minWidth: 172,\r\n valueGetter: params => {\r\n return params.node && params.node.data && params.node.data.isSignedOff\r\n ? params.node.data.clientUserEmailAddress : '';\r\n },\r\n cellRenderer: params => {\r\n return params.data && params.data.isSignedOff ? params.data.clientUserEmailAddress : '';\r\n },\r\n filterValueGetter: params => {\r\n return params.data && params.data.isSignedOff ? params.data.clientUserEmailAddress : '';\r\n },\r\n\r\n headerComponentParams: { template: CustomHeaderTemplate('clientUserEmailAddress') }\r\n },\r\n {\r\n field: 'userActionDateTime', headerName: 'Client Signedoff Date', sortable: true, minWidth: 200,\r\n valueGetter: params => {\r\n return params.node && params.node.data && params.node.data.isSignedOff\r\n ? params.node.data.userActionDateTime ? (new Date(params.node.data.userActionDateTime + 'Z')).toLocaleString('en-US', dateOptions) : ''\r\n : null;\r\n },\r\n filterValueGetter: params => {\r\n return params.data && params.data.isSignedOff\r\n ? params.data.userActionDateTime ? (new Date(params.data.userActionDateTime + 'Z')).toLocaleString('en-US', dateOptions) : 'N/A'\r\n : null;\r\n },\r\n cellRenderer: params => {\r\n return params.data && params.data.isSignedOff && params.data.userActionDateTime ? (new Date(params.data.userActionDateTime + 'Z')).toLocaleString('en-US', dateOptions) : '';\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('userActionDateTime') }\r\n }\r\n ];\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n //const getRowId = useCallback((params) => params.data.recipients + '_' + params.data.recipientEmail, []);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Grid Global Listner\r\n const gridGlobalListner = function (type, event) {\r\n if (type.indexOf(\"columnVisible\") >= 0) {\r\n handleGridColumnsChanged(event);\r\n }\r\n\r\n // Bind handleFilterChanged event to filterChanged and rowDataUpdated events\r\n if (type.indexOf(\"filterChanged\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n }\r\n\r\n if (type.indexOf(\"rowDataUpdated\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n } \r\n }\r\n\r\n //Handle Grid Ready event\r\n const handleGridReady = (event) => {\r\n //Remove event for column state change\r\n event.api.removeEventListener(gridGlobalListner);\r\n\r\n //Add event for column state change\r\n event.api.addGlobalListener(gridGlobalListner);\r\n\r\n //Apply column state\r\n var columnState = localStorage.getItem('REITSuiteExternalARQCChecklistColumnState');\r\n if (columnState) {\r\n gridRef.current.columnApi.applyColumnState({\r\n state: JSON.parse(columnState),\r\n applyOrder: true,\r\n });\r\n }\r\n\r\n // Set the page size and total pages on the first load\r\n // Setting it 100 to make sure the default number of items on load is always set to 100\r\n handleItemsPerPageChange(100);\r\n }\r\n\r\n // Handle OnFilterChanged event\r\n const handleFilterChanged = (event) => {\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n if (currentPage > calcTotalPages) {\r\n if (calcTotalPages == 0) {\r\n setTimeout(function () { setCurrentPage(calcTotalPages); }, 0)\r\n }\r\n else {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n const gridCurrentPage = gridRef.current.api.paginationGetCurrentPage() + 1; // Adding 1 since it returns zero based index\r\n if (currentPage < (gridCurrentPage) && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n }\r\n\r\n // Show the expected value as 1 for current page \r\n if (currentPage <= 1 && gridCurrentPage == 1 && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n } \r\n }\r\n }\r\n\r\n //Handle First Data Renderered event\r\n const handleFirstDataRendered = (event) => {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Handle Grid Columns changed event\r\n const handleGridColumnsChanged = (event) => {\r\n\r\n var currentColumnState = gridRef.current.columnApi.getColumnState();\r\n var localStorageColumnState = localStorage.getItem('REITSuiteExternalARQCChecklistColumnState');\r\n\r\n // If the column state details are not exists in local storage then save the changed Column state data\r\n if (currentColumnState && currentColumnState.filter(col => col.hide == true)?.length > 0 && !localStorageColumnState) {\r\n saveUserPreferenceDetails();\r\n }\r\n else if (localStorageColumnState) {\r\n // If the column state details are exists in local storage then save the changed Column state data only if difference is found\r\n var columnsStateArray = JSON.parse(localStorageColumnState);\r\n if (columnsStateArray && columnsStateArray.length > 0\r\n && currentColumnState && currentColumnState.length > 0\r\n && columnsStateArray.filter(col => col.hide == true)?.length != currentColumnState.filter(col => col.hide == true)?.length) {\r\n //If column state mismatch found then only save column state data to avoid saving same state\r\n saveUserPreferenceDetails();\r\n }\r\n }\r\n\r\n //Trigger Grid Column state change (of parent) to sync column state data\r\n handleGridColumnStateChange(currentColumnState);\r\n\r\n gridRef && gridRef.current && gridRef.current.columnApi && gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Save User Preference details (Column state)\r\n const saveUserPreferenceDetails = useCallback(() => {\r\n\r\n var columnState = gridRef.current.columnApi.getColumnState();\r\n if (columnState) {\r\n localStorage.setItem('REITSuiteExternalARQCChecklistColumnState', JSON.stringify(columnState));\r\n }\r\n }, []);\r\n\r\n //Handle Grid Items per Page change event\r\n const handleItemsPerPageChange = (val) => {\r\n\r\n gridRef.current.api.paginationGoToFirstPage();\r\n gridRef.current.api.paginationSetPageSize(Number(val));\r\n setCurrentPage(1);\r\n setItemsPerPage(val);\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n useEffect(() => {\r\n handleGridChanges(rowData, gridRef && gridRef.current ? gridRef.current.api : null);\r\n\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n\r\n // Refresh Grid \r\n const gridApi = gridRef && gridRef.current && gridRef.current.api;\r\n if (gridApi) {\r\n gridApi.refreshCells();\r\n gridApi.deselectAll();\r\n }\r\n\r\n }, [refreshGridOnCompletedAction]);\r\n\r\n // Handle Row data updated event \r\n const handleRowDataUpdated = () => {\r\n if (gridRef && gridRef.current && gridRef.current.columnApi) {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n\r\n setRowData(filteredExternalChecklists);\r\n\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.refreshHeader();\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n\r\n const gridApi = gridRef?.current?.api;\r\n gridApi && gridApi.onFilterChanged();\r\n }, [filteredExternalChecklists]);\r\n\r\n\r\n const handleSelectionChanged = (event) => { }\r\n\r\n const rowHeight = 76; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return
    \r\n {filteredExternalChecklists && filteredExternalChecklists.length > 0 &&\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n handleItemsPerPageChange(50)}>\r\n Show 50\r\n \r\n handleItemsPerPageChange(100)}>\r\n Show 100\r\n \r\n handleItemsPerPageChange(150)}>\r\n Show 150\r\n \r\n handleItemsPerPageChange(200)}>\r\n Show 200\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n
    ;\r\n};\r\n\r\nARQCChecklistExternalTable.propTypes = {\r\n\r\n};\r\n\r\nexport default reduxForm({ form: \"arqcChecklistExternal\" })(ARQCChecklistExternalTable);","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport {\r\n getFormValues,\r\n getFormSyncErrors,\r\n getFormSubmitErrors,\r\n SubmissionError,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as clientActions from '../../actions/clientActions';\r\nimport * as checklistActions from '../../actions/checklistActions';\r\nimport * as commonActions from '../../actions/commonActions';\r\nimport * as reportActions from '../../actions/reportActions';\r\nimport { MotifTabNavigation, MotifTabControl } from \"@ey-xd/motif-react\";\r\nimport { Link } from 'react-router-dom';\r\nimport ManageExternalChecklistHeader from '../../components/checklistDeliveryCalendar/ManageExternalChecklistHeader';\r\nimport ARQCChecklistExternalTable from '../../components/checklistDeliveryCalendar/ARQCChecklistExternalTable';\r\nimport DownloadChecklistsModal from '../../components/checklistDeliveryCalendar/DownloadChecklistsModal';\r\nimport RequestToReopenModal from '../../components/checklistDeliveryCalendar/RequestToReopenModal';\r\nimport * as actions from \"../../actions/actionTypes\";\r\nimport { pendingTask, begin, end } from '../../constants/pendingTask';\r\nimport SubmitForReviewModal from \"../../components/checklistDeliveryCalendar/SubmitForReviewModal\";\r\nimport ClientSignoffModal from \"../../components/checklistDeliveryCalendar/ClientSignoffModal\";\r\nimport ClientUnsignoffModal from \"../../components/checklistDeliveryCalendar/ClientUnsignoffModal\";\r\nimport * as actionHelpers from '../../scripts/actionHelpers';\r\nimport { WebSocketContext } from '../../components/PermExternalApp';\r\n/**\r\n * ARQCChecklistExternalContainer container component\r\n * @extends {React.Component}\r\n */\r\nclass ARQCChecklistExternalContainer extends React.Component {\r\n static contextType = WebSocketContext;\r\n\r\n /**\r\n * Creates a new Checklist Dashboard page\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n this.prevWS = null;\r\n\r\n this.setTabBar1 = this.setTabBar1.bind(this);\r\n this.handleClick = this.handleClick.bind(this);\r\n this.handleClientChange = this.handleClientChange.bind(this);\r\n this.handleCalendarYearChange = this.handleCalendarYearChange.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.handleGridColumnStateChange = this.handleGridColumnStateChange.bind(this);\r\n this.toggleShowDownloadChecklistsModal = this.toggleShowDownloadChecklistsModal.bind(this);\r\n this.handleDownloadChecklists = this.handleDownloadChecklists.bind(this);\r\n this.toggleShowRequestToReopenModal = this.toggleShowRequestToReopenModal.bind(this);\r\n this.handleReopenChecklistRequest = this.handleReopenChecklistRequest.bind(this);\r\n this.toggleShowSubmitForEYReviewModal =\r\n this.toggleShowSubmitForEYReviewModal.bind(this);\r\n this.toggleShowClientSignoffModal =\r\n this.toggleShowClientSignoffModal.bind(this);\r\n this.toggleShowClientUnsignoffModal =\r\n this.toggleShowClientUnsignoffModal.bind(this);\r\n this.handleSubmitForReview = this.handleSubmitForReview.bind(this);\r\n this.handleClientSignoff = this.handleClientSignoff.bind(this);\r\n this.handleClientUnsignoff = this.handleClientUnsignoff.bind(this);\r\n this.state = {\r\n clients: [],\r\n checklistCalendarYears: [],\r\n selectedClient: undefined,\r\n selectedCalendarYear: 0,\r\n filteredExternalChecklists: [],\r\n gridCurrentState: [],\r\n selectedChecklists: [],\r\n downloadChecklists: {\r\n downloadType: '',\r\n showModal: false,\r\n modalTitle: '',\r\n modalContent: '',\r\n },\r\n gridColumnState: [],\r\n refreshGridOnCompletedAction: -1,\r\n submitForEYReview: {\r\n showModal: false,\r\n modalTitle: \"\",\r\n modalContent: \"\",\r\n },\r\n clientSignoff: {\r\n showModal: false,\r\n modalTitle: \"\",\r\n modalContent: \"\",\r\n },\r\n clientUnsignoff: {\r\n showModal: false,\r\n modalTitle: \"\",\r\n modalContent: \"\",\r\n },\r\n };\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.fetchAllActiveClients();\r\n }\r\n\r\n /**\r\n * Invoked immediately before unmounting occurs\r\n * @returns {undefined}\r\n */\r\n componentWillUnmount() {\r\n // On unmount, clear the client data from state to conserve memory\r\n this.props.clientActions.fetchAllActiveClients(true);\r\n // On unmount, clear the calendar data from state to conserve memory\r\n this.props.checklistActions.fetchChecklistCalendarYearsByClientAndType();\r\n // Calling this action with no argument will clear from redux-state\r\n this.props.checklistActions.fetchExternalChecklists();\r\n\r\n this.setState({ filteredExternalChecklists: [] });\r\n }\r\n\r\n\r\n\r\n /**\r\n * Handle Grid column state chagne\r\n * @returns {undefined}\r\n */\r\n handleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n }\r\n\r\n handleGridChanges(gridRowData) {\r\n let rowData = [];\r\n rowData =\r\n gridRowData &&\r\n gridRowData.length &&\r\n gridRowData.map((x) => {\r\n return {\r\n checklistID: x.checklistID,\r\n checklistState: x.checklistState,\r\n checklistSelection: x.checklistSelection,\r\n checklistStateDescription: x.checklistStateDescription,\r\n checklistType: x.checklistType,\r\n quarter: x.quarter,\r\n quarterStatus: x.quarterStatus,\r\n reitid: x.reitid,\r\n reitName: x.reitName,\r\n reportPeriodID: x.reportPeriodID,\r\n isSignedOff: x.isSignedOff,\r\n signedOffStatusDescription: x.signedOffStatusDescription,\r\n userActionDateTime: x.userActionDateTime,\r\n clientUserEmailAddress: x.clientUserEmailAddress\r\n };\r\n });\r\n\r\n this.setState({ gridCurrentState: rowData });\r\n\r\n // Filtering the selected checklists\r\n const selectedChecklists =\r\n gridRowData &&\r\n gridRowData.length &&\r\n gridRowData.reduce((reduced, row) => {\r\n if (row.checklistSelection) {\r\n return reduced.concat({\r\n checklistID: row.checklistID,\r\n checklistState: row.checklistState,\r\n checklistSelection: row.checklistSelection,\r\n checklistStateDescription: row.checklistStateDescription,\r\n checklistType: row.checklistType,\r\n quarter: row.quarter,\r\n quarterStatus: row.quarterStatus,\r\n reitid: row.reitid,\r\n reitName: row.reitName,\r\n reportPeriodID: row.reportPeriodID,\r\n isSignedOff: row.isSignedOff,\r\n signedOffStatusDescription: row.signedOffStatusDescription,\r\n userActionDateTime: row.userActionDateTime,\r\n clientUserEmailAddress: row.clientUserEmailAddress,\r\n canExternalUserSubmitChecklistForEYReview: row.canExternalUserSubmitChecklistForEYReview\r\n });\r\n }\r\n return reduced;\r\n }, []);\r\n\r\n this.setState({ selectedChecklists: selectedChecklists });\r\n }\r\n\r\n //Set tab related state variables\r\n setTabBar1(currentIndex) {\r\n this.setState({ tabBar1: currentIndex });\r\n }\r\n\r\n //Set current tab index\r\n handleClick(index) {\r\n this.setTabBar1(index);\r\n }\r\n\r\n fetchAllActiveClients() {\r\n this.props.clientActions.fetchAllActiveClients();\r\n }\r\n \r\n fetchCalenderYearsByClientAndChecklistType(clientId, checklistType) {\r\n this.props.checklistActions.fetchChecklistCalendarYearsByClientAndType(clientId, checklistType)\r\n .then((calendarYears) => {\r\n this.setState({\r\n checklistCalendarYears: calendarYears,\r\n });\r\n // Use the calendarYears value here\r\n if (calendarYears && calendarYears.length > 0) {\r\n const preselectedCalendarYear = calendarYears.includes(new Date().getFullYear())\r\n ? new Date().getFullYear().toString()\r\n : calendarYears[0].toString();\r\n this.props.checklistActions.fetchExternalChecklists(clientId, preselectedCalendarYear, checklistType);\r\n this.setState({ selectedCalendarYear: preselectedCalendarYear });\r\n } else {\r\n this.props.checklistActions.fetchExternalChecklists();\r\n }\r\n })\r\n \r\n }\r\n \r\n componentDidUpdate(prevProps) {\r\n const ws = this.context;\r\n\r\n if (ws && this.prevWS !== ws) {\r\n this.prevWS = ws;\r\n ws.on('userAuthorizationUpdate', () => this.fetchAllActiveClients());\r\n }\r\n\r\n if (this.props.externalChecklists.clients !== prevProps.externalChecklists.clients) {\r\n if (\r\n this.props.externalChecklists.clients &&\r\n this.props.externalChecklists.clients.length > 0\r\n ) {\r\n this.setState({ clients: this.props.externalChecklists.clients });\r\n if (this.props.externalChecklists.clients.length === 1) {\r\n this.setState({\r\n selectedClient: this.props.externalChecklists.clients[0],\r\n }, () => {\r\n this.fetchCalenderYearsByClientAndChecklistType(\r\n this.state.selectedClient.id,\r\n 'ARQC'\r\n );\r\n });\r\n }\r\n }\r\n }\r\n \r\n \r\n }\r\n\r\n handleClientChange(client) {\r\n if (client !== '') {\r\n const selectedClient = this.props.externalChecklists.clients.filter(\r\n (c) => c.name === client\r\n )[0];\r\n this.setState({ selectedClient: selectedClient });\r\n this.fetchCalenderYearsByClientAndChecklistType(\r\n selectedClient.id,\r\n 'ARQC'\r\n );\r\n }\r\n }\r\n\r\n handleCalendarYearChange(calendarYear) {\r\n this.setState({ selectedCalendarYear: calendarYear });\r\n let clientId =\r\n (this.state.selectedClient && this.state.selectedClient.id) || -1;\r\n this.props.checklistActions.fetchExternalChecklists(\r\n clientId,\r\n calendarYear,\r\n 'arqc'\r\n );\r\n }\r\n\r\n toggleShowDownloadChecklistsModal(downloadType) {\r\n if (!this.state.downloadChecklists.showModal) {\r\n switch (downloadType) {\r\n case 'WITHOUT_ANSWERS': {\r\n const downloadChecklistsState = {\r\n downloadType: downloadType,\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: 'Download Checklist(s) without Answers or Comments',\r\n modalContent:\r\n 'Are you sure you want to download the selected checklist(s) without answers or comments?',\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n break;\r\n }\r\n case 'WITH_ANSWERS_COMMENTS': {\r\n const downloadChecklistsState = {\r\n downloadType: downloadType,\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: 'Download Checklist(s) with Answers and Comments',\r\n modalContent:\r\n 'Are you sure you want to download the selected checklist(s) with answers and comments?',\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n break;\r\n }\r\n case 'WITH_ANSWERS': {\r\n const downloadChecklistsState = {\r\n downloadType: downloadType,\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: 'Download Checklist(s) with Answers Only',\r\n modalContent:\r\n 'Are you sure you want to download the selected checklist(s) with answers?',\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n break;\r\n }\r\n default:\r\n break;\r\n }\r\n } else {\r\n const downloadChecklistsState = {\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: '',\r\n modalContent: '',\r\n downloadType: '',\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n }\r\n }\r\n\r\n handleDownloadChecklists(downloadType) {\r\n // Getting a copy of the selected checklists from the local state\r\n const selectedChecklists = this.state.selectedChecklists.slice();\r\n\r\n // Creating a object array for all the selected checklists with corresponding request details\r\n const checklistRequestDetails = selectedChecklists.map((c) => ({\r\n reitNameAndPeriod: `reitName=${c.reitName},periodDesc=${c.quarter} ${this.state.selectedCalendarYear}`,\r\n periodId: c.reportPeriodID,\r\n id: c.checklistID,\r\n isExternal: true,\r\n filename: '',\r\n reitName: c.reitName,\r\n quarter: c.quarter,\r\n }));\r\n\r\n // Logic for file name\r\n checklistRequestDetails.forEach((item) => {\r\n // Setting a defualt file name based on the Report period, Year, RIET, Property name and Property type description\r\n const defaultFilename = `${item.quarter}${this.state.selectedCalendarYear}_${item.reitName}_ARQC`;\r\n\r\n // Checking if a row object is already created with the standard file name\r\n const existingFiles = checklistRequestDetails\r\n .filter((c) => c.filename.includes(defaultFilename))\r\n .sort();\r\n\r\n if (existingFiles.length > 0) {\r\n //Splilling the file name based on \"_\"\r\n const fileNameSplitArray = existingFiles[\r\n existingFiles.length - 1\r\n ].filename\r\n .split('.')[0]\r\n .split('_');\r\n\r\n if (existingFiles.length > 1) {\r\n /* Case when there are more than one files with the same combination of Report period, Year, RIET, Property name and Property type description\r\n In such cases, incrementing the version at the end */\r\n const currentVersion = parseInt(fileNameSplitArray[fileNameSplitArray.length - 1]);\r\n fileNameSplitArray[fileNameSplitArray.length - 1] = (currentVersion + 1).toString();\r\n item.filename = `${fileNameSplitArray.join('_')}.docx`;\r\n } else {\r\n // Case when there is only one file with the existing combination, hence appending the version as 1 at the end\r\n item.filename = `${fileNameSplitArray.join('_')}_1.docx`;\r\n }\r\n } else {\r\n // Case when there is no file name with the combination\r\n item.filename = `${defaultFilename}.docx`;\r\n }\r\n });\r\n\r\n // Preparing the request body\r\n const request = {\r\n client: this.state.selectedClient.name,\r\n calendarYear: this.state.selectedCalendarYear,\r\n checklistRequestDetails: checklistRequestDetails,\r\n };\r\n\r\n this.props.commonActions.clearErrorResponse();\r\n\r\n // Calling the action to fetch data from the API\r\n this.props.reportActions\r\n .downloadChecklists(request, 'ARQC', downloadType)\r\n .then(() => {\r\n // Refreshing grid and toggling the modal to false\r\n this.refreshGrid();\r\n this.toggleShowDownloadChecklistsModal(downloadType);\r\n })\r\n .catch(() => {\r\n // Toggle the modal to fasle\r\n this.toggleShowDownloadChecklistsModal(downloadType);\r\n });\r\n }\r\n\r\n refreshGrid() {\r\n const clientId =\r\n (this.state.selectedClient && this.state.selectedClient.id) || -1;\r\n const calendarYear = this.state.selectedCalendarYear || -1;\r\n this.props.checklistActions\r\n .fetchExternalChecklists(clientId, calendarYear, 'arqc')\r\n .then(() => {\r\n //Update refreshGridOnCompletedAction state variable to refresh the grid\r\n const randomNumber = parseInt(Math.random() * (99999999 - 1)) + 1;\r\n this.setState({ refreshGridOnCompletedAction: randomNumber });\r\n });\r\n }\r\n\r\n toggleShowRequestToReopenModal() {\r\n this.setState({ showRequestToReopenModal: !this.state.showRequestToReopenModal });\r\n }\r\n\r\n handleReopenChecklistRequest() {\r\n const checklistsToReopen = this.state.selectedChecklists\r\n .map(checklist => {\r\n return {\r\n checklistID: checklist.checklistID,\r\n checklistType: checklist.checklistType,\r\n reportPeriodID: checklist.reportPeriodID\r\n }\r\n });\r\n\r\n this.props.checklistActions\r\n .requestToReopenChecklists(checklistsToReopen)\r\n .then(() => {\r\n this.toggleShowRequestToReopenModal();\r\n this.refreshGrid();\r\n });\r\n }\r\n\r\n toggleShowSubmitForEYReviewModal() {\r\n if (!this.state.submitForEYReview.showModal) {\r\n const submitForEYReviewState = {\r\n showModal: !this.state.submitForEYReview.showModal,\r\n modalTitle: \"Submit for EY Review\",\r\n modalContent:\r\n \"Are you sure you want to submit the selected checklist(s) for EY review?\",\r\n };\r\n this.setState({ submitForEYReview: submitForEYReviewState });\r\n } else {\r\n const submitForEYReviewState = {\r\n showModal: !this.state.submitForEYReview.showModal,\r\n modalTitle: \"\",\r\n modalContent: \"\",\r\n downloadType: \"\",\r\n };\r\n this.setState({ submitForEYReview: submitForEYReviewState });\r\n }\r\n }\r\n\r\n spliceSelectedChecklists(arr, size) {\r\n let res = [];\r\n while (arr.length > 0) {\r\n const chunk = arr.splice(0, size);\r\n res.push(chunk);\r\n }\r\n return res;\r\n }\r\n\r\n toggleShowClientSignoffModal() {\r\n if (!this.state.clientSignoff.showModal) {\r\n const clientSignoffState = {\r\n showModal: !this.state.clientSignoff.showModal,\r\n modalTitle: \"Client Sign Off\",\r\n modalContent:\r\n \"Are you sure you want to sign off the selected checklist(s)?\",\r\n };\r\n this.setState({ clientSignoff: clientSignoffState });\r\n } else {\r\n const clientSignoffState = {\r\n showModal: !this.state.clientSignoff.showModal,\r\n modalTitle: \"\",\r\n modalContent: \"\",\r\n };\r\n this.setState({ clientSignoff: clientSignoffState });\r\n }\r\n }\r\n\r\n toggleShowClientUnsignoffModal() {\r\n\r\n if (!this.state.clientUnsignoff.showModal) {\r\n const clientUnsignoffState = {\r\n showModal: !this.state.clientUnsignoff.showModal,\r\n modalTitle: \"Client Unsign Off\",\r\n modalContent:\r\n \"Are you sure you want to unsign off the selected checklist(s)?\",\r\n };\r\n this.setState({ clientUnsignoff: clientUnsignoffState });\r\n } else {\r\n const clientUnsignoffState = {\r\n showModal: !this.state.clientUnsignoff.showModal,\r\n modalTitle: \"\",\r\n modalContent: \"\",\r\n };\r\n this.setState({ clientUnsignoff: clientUnsignoffState });\r\n }\r\n }\r\n\r\n // Signoff/Unsignoff checklists\r\n async signoffAndUnsignoffChecklists(isSignedOff) {\r\n const selectedChecklists = Object.assign([], this.state.selectedChecklists);\r\n const splitedChecklists = this.spliceSelectedChecklists(\r\n selectedChecklists,\r\n 20\r\n );\r\n this.props.dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n await checklistActions\r\n .splitAndSignoffChecklist(splitedChecklists, \"ARQC\", isSignedOff)\r\n .then(() => {\r\n if (isSignedOff) {\r\n this.toggleShowClientSignoffModal();\r\n }\r\n else {\r\n this.toggleShowClientUnsignoffModal();\r\n }\r\n this.refreshGrid();\r\n this.props.dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n })\r\n .catch((error) => {\r\n if (isSignedOff) {\r\n this.toggleShowClientSignoffModal();\r\n }\r\n else {\r\n this.toggleShowClientUnsignoffModal();\r\n }\r\n this.refreshGrid();\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n this.props.dispatch,\r\n actions.SIGNOFF_CHECKLIST_REQUESTS_FAILURE,\r\n error,\r\n );\r\n });\r\n }\r\n\r\n // Handle Client Signoff \r\n async handleClientSignoff() {\r\n await this.signoffAndUnsignoffChecklists(1);\r\n }\r\n\r\n // Handle Client Unsignoff \r\n async handleClientUnsignoff() {\r\n await this.signoffAndUnsignoffChecklists(0);\r\n }\r\n\r\n async handleSubmitForReview() {\r\n const selectedChecklists = Object.assign([], this.state.selectedChecklists);\r\n const splitedChecklists = this.spliceSelectedChecklists(\r\n selectedChecklists,\r\n 20\r\n );\r\n this.props.dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n await checklistActions\r\n .splitAndsubmitForEYReview(splitedChecklists, \"ARQC\")\r\n .then(() => {\r\n this.toggleShowSubmitForEYReviewModal();\r\n this.refreshGrid();\r\n this.props.dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n })\r\n .catch((error) => {\r\n this.toggleShowSubmitForEYReviewModal();\r\n this.refreshGrid();\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n this.props.dispatch,\r\n actions.SUBMITFOREYREVIEW_REQUESTS_FAILURE,\r\n error,\r\n );\r\n });\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n
    \r\n
    \r\n

    \r\n Checklist Dashboard\r\n

    \r\n
    \r\n
    \r\n \r\n \r\n this.handleClick(1)}\r\n >\r\n PSQ\r\n \r\n \r\n \r\n this.handleClick(2)}\r\n >\r\n ARQC\r\n \r\n \r\n \r\n {this.state.clients.length > 0 && (\r\n \r\n )}\r\n {this.state.selectedClient &&\r\n this.state.selectedClient.name &&\r\n this.state.selectedClient.name.length > 0 &&\r\n (!this.props.externalChecklists ||\r\n !this.props.externalChecklists.calendarYears ||\r\n this.props.externalChecklists.calendarYears.length === 0) ? (\r\n
    No checklists found for the selected client.
    \r\n ) : (\r\n
    \r\n )}\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n externalChecklists: {\r\n clients: state.externalChecklistsClients,\r\n calendarYears: state.checklistCalendarYearsByType,\r\n },\r\n arqcChecklistExternalValues: getFormValues('ARQCChecklistExternal')(state),\r\n filteredExternalChecklists: state.externalChecklists,\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n clientActions: bindActionCreators(clientActions, dispatch),\r\n checklistActions: bindActionCreators(checklistActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n reportActions: bindActionCreators(reportActions, dispatch),\r\n };\r\n}\r\n\r\nARQCChecklistExternalContainer.propTypes = {\r\n initialValues: PropTypes.object,\r\n clientActions: PropTypes.object,\r\n checklistActions: PropTypes.object,\r\n currentUserAuthorizations: PropTypes.array,\r\n initialize: PropTypes.func,\r\n externalChecklists: PropTypes.object,\r\n arqcChecklistExternalValues: PropTypes.Object,\r\n filteredExternalChecklists: PropTypes.array,\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(\r\n reduxForm({ form: 'ARQCChecklistExternal', enableReinitialize: true })(\r\n ARQCChecklistExternalContainer\r\n )\r\n);\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { Outlet, useParams } from \"react-router-dom\";\r\nimport { bindActionCreators } from 'redux';\r\nimport * as clientActions from '../../actions/clientActions';\r\n\r\n/**\r\n * The ClientLoader functional component\r\n * @returns {JSX.Element} The rendered component\r\n */\r\nfunction ClientLoader(props) {\r\n const { clientId } = useParams();\r\n\r\n useEffect(() => {\r\n props.actions.loadClient(clientId);\r\n }, []);\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n\r\nClientLoader.propTypes = {\r\n actions: PropTypes.object\r\n};\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(clientActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(ClientLoader);\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { useParams, Outlet } from 'react-router-dom';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as reitActions from '../../actions/reitActions';\r\n\r\n/**\r\n * ReitLoader functional component\r\n * @param {Object} props - The props passed to the component\r\n * @returns {JSX.Element} The JSX element representing the component\r\n */\r\nfunction ReitLoader(props) {\r\n const { reitId } = useParams();\r\n\r\n useEffect(() => {\r\n props.fetchReit(reitId);\r\n }, []);\r\n\r\n return
    ;\r\n}\r\n\r\nReitLoader.propTypes = {\r\n fetchReit: PropTypes.func.isRequired\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchReit: bindActionCreators(reitActions.fetchReit, dispatch)\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(ReitLoader);\r\n","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromTrialBalanceApi as fetch } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport { download, decodeURIComponentSafe } from '../scripts/fileHelpers';\r\n\r\n/**\r\n * Fetch Charts based on Client Id.\r\n * action, otherwise it will dispatch the LOAD_CHARTS_FAILURE action.\r\n * @param {number} clientId The Client id.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchChartsByClientId(\r\n clientId\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/chartofaccounts/charts?clientID=${clientId}`)\r\n .then(response => {\r\n return response.json();\r\n }).then(charts => {\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n if (actionHelpers.isErrorResponse(charts)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CHARTS_FAILURE, charts);\r\n }\r\n return charts;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CHARTS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Download Client Account Mappings zip package for the REIT and all Properties based on Report Period Id.\r\n * @param {any} periodId The period ID to determine the template reporting period and properities of that period.\r\n * @returns {function} A Promise.\r\n */\r\nexport function downloadMappingTemplatePackage(periodId) {\r\n return fetch(`/chartAssignment/downloadCAMPackage?reportPeriodId=${periodId}`)\r\n .then(function (response) {\r\n return response.blob().then(function (blob) {\r\n const contentDisposition =\r\n response.headers.get(\"Content-Disposition\");\r\n\r\n const filename =\r\n contentDisposition.split(';')[1].split('=')[1].trim();\r\n download(blob, decodeURIComponentSafe(filename, 1));\r\n });\r\n });\r\n}\r\n","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromReportApi as fetch } from './fetchFromApi';\r\nimport { download, decodeURIComponentSafe } from '../scripts/fileHelpers';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n/**\r\n * Retrieves and dispatches test snapshots for the period.\r\n * @param {any} periodId The ID of the period to retrieve test snapshots for.\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function fetchUploadedTestSnapshots(periodId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/testSummarySnapshot?periodid=${periodId}`).then(response => {\r\n return response.json();\r\n }).then(testSnapshots => {\r\n if (actionHelpers.isErrorResponse(testSnapshots)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_TEST_SNAPSHOTS_FAILURE, testSnapshots);\r\n }\r\n dispatch({ type: actions.LOAD_TEST_SNAPSHOTS_SUCCESS, testSnapshots, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_TEST_SNAPSHOTS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Downloads an existing test snapshot.\r\n * @param {any} periodId The ID of the period that the test snapshot belongs to.\r\n * @param {any} fileName The filename of the test snapshot.\r\n * @returns {any} A Promise.\r\n */\r\nexport function downloadTestSnapshot(periodId, fileName) {\r\n return fetch(`/testSummarySnapshot?periodid=${periodId}&fileName=${fileName}`)\r\n .then(function (response) {\r\n return response.blob().then(function (blob) {\r\n download(blob, decodeURIComponentSafe(fileName,1));\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Generates a new test snapshot and downloads it.\r\n * @param {any} periodId The ID of the period to create the test snapshot for.\r\n * @returns {any} A Promise.\r\n */\r\nexport function downloadCurrentTestSnapshot(periodId, fileName) {\r\n return fetch(`/testSummarySnapshot/now?periodid=${periodId}`)\r\n .then(function (response) {\r\n return response.blob().then(function (blob) {\r\n download(blob, decodeURIComponentSafe(fileName,1));\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Deletes a test snapshot.\r\n * @param {any} periodId The ID of the period that the test snapshot belongs to.\r\n * @param {any} fileName The filename of the test snapshot.\r\n * @returns {any} A Promise.\r\n */\r\nexport function deleteTestSnapshot(periodId, fileName) {\r\n let body = JSON.stringify({ periodId, fileName: decodeURI(decodeURIComponentSafe(fileName,1)) });\r\n return fetch(`/testSummarySnapshot?periodid=${periodId}&fileName=${fileName}`,\r\n {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'DELETE'\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n } else {\r\n return response.json();\r\n }\r\n });\r\n}","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { MotifTextLink, MotifButton, MotifBadge } from '@ey-xd/motif-react';\r\nimport { Button } from \"semantic-ui-react\";\r\nimport * as testSnapshotActions from \"../../actions/testSnapshotActions\";\r\n\r\n\r\nconst ReportPeriodRow = ({ period, reitId, reit, clientId, trialBalances, downloadFunction, handleActivePeriodIdChanged, toggleShowClosePeriodModal,\r\n hasIncompleteChecklists, toggleShowOpenPeriodModal, isEngAdminOrSysAdmin, tbMode, toggleShowModeModal, hideTbModeLink, hideTestSnapshotLink,\r\n handleDownloadCurrentTestSnapshot, handleDownloadTbTemplates, clientIsAudit, handleDownloadMappingTemplatePackage, chartExistsForClient }) => {\r\n\r\n const rawTrialBalance = trialBalances.find(x => x.type && x.type.toLowerCase() === \"raw\");\r\n const adjTrialBalance = trialBalances.find(x => x.type && x.type.toLowerCase() === \"adjusted\");\r\n const consolidatedTrialBalance = trialBalances.find(x => x.trialBalancePurposeID && x.trialBalancePurposeID === 3);\r\n\r\n const handleToggleShowClosePeriodModal = () => {\r\n return toggleShowClosePeriodModal(period.reportPeriodID);\r\n };\r\n\r\n const handleToggleShowOpenPeriodModal = () => {\r\n return toggleShowOpenPeriodModal(period.reportPeriodID);\r\n };\r\n\r\n const onHandleActivePeriodIdChanged = () => {\r\n return handleActivePeriodIdChanged(period.reportPeriodID);\r\n };\r\n\r\n const downloadTbTemplates = (e) => {\r\n e.preventDefault()\r\n return handleDownloadTbTemplates(clientId, period.reportPeriodID);\r\n };\r\n\r\n const downloadCurrentTestSnapshot = (e) => {\r\n e.preventDefault();\r\n let fileName = `${period.reportPeriodDescription.replace(/\\s/g, '')}_${reit.reitName}_TestSnapshot.xlsx`;\r\n //return handleDownloadCurrentTestSnapshot(\"testSnapshot.xlsx\")\r\n return handleDownloadCurrentTestSnapshot(fileName);\r\n };\r\n\r\n const downloadMappingTemplatePackage = (e) => {\r\n e.preventDefault()\r\n return handleDownloadMappingTemplatePackage(period.reportPeriodID);\r\n };\r\n\r\n let closeButtonText = \"Close Testing\";\r\n let openButtonText = \"\";\r\n let isClosed = false;\r\n let isReportingClosed = false;\r\n switch (period.reportPeriodStatusDescription) {\r\n case \"Closed to Testing\":\r\n closeButtonText = \"Close Reporting\";\r\n openButtonText = \"Reopen to Testing\";\r\n break;\r\n case \"Closed to Reporting\":\r\n closeButtonText = \"Close Period\";\r\n openButtonText = \"Reopen to Reporting\";\r\n isReportingClosed = true;\r\n break;\r\n case \"Complete\":\r\n closeButtonText = \"Closed\";\r\n openButtonText = \"Reopen Period\";\r\n isReportingClosed = true;\r\n isClosed = true;\r\n break;\r\n }\r\n\r\n let tbModeText = \"REIT & Property TB Mode\";\r\n if (period.trialBalanceModeID === 2) {\r\n tbModeText = \"Consolidated TB Mode\";\r\n }\r\n if (period.trialBalanceModeID === 0) {\r\n tbModeText = \"TB Mode not set.\";\r\n }\r\n\r\n let tbModeClick = () => {\r\n toggleShowModeModal(period.reportPeriodID);\r\n };\r\n\r\n const periodLink = clientIsAudit ? `/client/${clientId}/reit/${reitId}/period/${period.reportPeriodID}/arqc` : `/client/${clientId}/reit/${reitId}/period/${period.reportPeriodID}/uploadtb/adjusted`;\r\n return (\r\n \r\n \r\n {period.reportPeriodDescription}\r\n {period.discrepancyCount > 0 && || null}\r\n \r\n \r\n {!clientIsAudit ?\r\n Upload Trial Balance\r\n : Upload Trial Balance}\r\n\r\n {consolidatedTrialBalance && !clientIsAudit\r\n ? \r\n
    Download Trial Balance\r\n
    \r\n :
    Download Trial Balance
    }\r\n
    \r\n {(!hideTestSnapshotLink && !clientIsAudit && consolidatedTrialBalance)\r\n ? Download Test Snapshot\r\n : Download Test Snapshot}\r\n
    \r\n {(!clientIsAudit && chartExistsForClient) ?\r\n Download TB Templates\r\n : Download TB Templates}\r\n
    \r\n {(!clientIsAudit && chartExistsForClient) ?\r\n Download Mapping Template Package\r\n : Download Mapping Template Package}\r\n\r\n \r\n
    Final Report\r\n
    \r\n \r\n \r\n Properties\r\n
    \r\n {!clientIsAudit ?\r\n Securities\r\n : Securities}\r\n
    \r\n {Array.isArray(period.services) && period.services.includes(\"DistributionTesting\") && !clientIsAudit ?\r\n Distributions\r\n : Distributions\r\n }\r\n
    \r\n {!clientIsAudit ?\r\n Taxable REIT Subsidiaries\r\n : Taxable REIT Subsidiaries}\r\n
    \r\n {!clientIsAudit ?\r\n File Management\r\n : File Management}\r\n
    \r\n {!clientIsAudit ?\r\n Client Account Mappings\r\n : Client Account Mappings}\r\n {!hideTbModeLink && !clientIsAudit &&
    \r\n {period.reportPeriodStatusDescription === \"In Progress\" || period.reportPeriodStatusDescription === \"Not Started\"\r\n ?\r\n Trial Balance Mode\r\n : Trial Balance Mode\r\n }\r\n
    || null}\r\n\r\n \r\n \r\n
    \r\n \r\n Services Scope\r\n
    \r\n \r\n \r\n \r\n \r\n {hasIncompleteChecklists &&\r\n
    \r\n \r\n
    \r\n }\r\n
    {tbModeText}
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {!isClosed &&\r\n \r\n {closeButtonText}\r\n \r\n || null}\r\n
    \r\n {(isEngAdminOrSysAdmin && openButtonText !== \"\" && (
    \r\n {openButtonText !== \"\" &&\r\n \r\n {openButtonText}\r\n \r\n || null}\r\n
    )) || null}\r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nReportPeriodRow.propTypes = {\r\n clientId: PropTypes.number.isRequired,\r\n clientIsAudit: PropTypes.bool,\r\n reitId: PropTypes.number.isRequired,\r\n reit: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string\r\n }),\r\n period: PropTypes.shape({\r\n reportPeriodID: PropTypes.number.isRequired\r\n }),\r\n trialBalances: PropTypes.array,\r\n downloadFunction: PropTypes.func.isRequired,\r\n handleActivePeriodIdChanged: PropTypes.func.isRequired,\r\n handleDownloadTbTemplates: PropTypes.func.isRequired,\r\n handleDownloadMappingTemplatePackage: PropTypes.func.isRequired,\r\n toggleShowClosePeriodModal: PropTypes.func.isRequired,\r\n hasIncompleteChecklists: PropTypes.bool,\r\n toggleShowOpenPeriodModal: PropTypes.func.isRequired,\r\n isEngAdminOrSysAdmin: PropTypes.bool,\r\n tbMode: PropTypes.number,\r\n toggleShowModeModal: PropTypes.func.isRequired,\r\n hideTbModeLink: PropTypes.bool,\r\n hideTestSnapshotLink: PropTypes.bool,\r\n handleDownloadCurrentTestSnapshot: PropTypes.func\r\n};\r\n\r\nexport default ReportPeriodRow;","export const ASSET_TEST_SERVICE = \"Asset Testing\";\r\nexport const INCOME_TEST_SERVICE = \"Income Testing\";\r\nexport const DISTRIBUTION_TEST_SERVICE = \"Distribution Testing\";\r\nexport const PSQ_SERVICE = \"PSQ\";\r\nexport const ARQC_SERVICE = \"ARQC\";\r\nexport const LEASE_REVIEW_SERVICE = \"Lease Review\";","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as actions from \"../../actions/trialBalanceActions\";\r\nimport * as checklistActions from \"../../actions/checklistActions\";\r\nimport * as propertyActions from \"../../actions/propertyActions\";\r\nimport * as servicesActions from \"../../actions/servicesActions\";\r\nimport * as reitActions from '../../actions/reitActions';\r\nimport * as chartOfAccountsActions from '../../actions/chartOfAccountsActions';\r\nimport * as testSnapshotActions from \"../../actions/testSnapshotActions\";\r\nimport * as commonActions from \"../../actions/commonActions\";\r\nimport ReportPeriodRow from \"../../components/reits/ReportPeriodRow\";\r\nimport * as authActions from '../../actions/authActions';\r\nimport * as actionHelpers from '../../scripts/actionHelpers';\r\nimport * as serviceConstants from '../../constants/services';\r\n\r\n/**\r\n * The container that renders ReportPeriodRow\r\n */\r\nexport class ReportPeriodRowContainer extends React.Component {\r\n /**\r\n * Creates a new ReportPeriodRowContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n trialBalances: [],\r\n hasIncompleteChecklists: false,\r\n hideTbModeLink: false,\r\n hideTestSnapshotLink: true\r\n };\r\n\r\n this.setHideTestSnapshotLink = this.setHideTestSnapshotLink.bind(this);\r\n this.handleDownloadCurrentTestSnapshot = this.handleDownloadCurrentTestSnapshot.bind(this);\r\n this.handleDownloadTbTemplates = this.handleDownloadTbTemplates.bind(this);\r\n this.handleDownloadMappingTemplatePackage = this.handleDownloadMappingTemplatePackage.bind(this);\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n // Currently only retrieving REIT Trial Balance for the download. This call will need to pass/accept property ID once we have property TBs.\r\n actions.getTrialBalancesByPeriod(this.props.period.reportPeriodID, 'adjusted', 'consolidated').then((trialBalances) => {\r\n this.setState({ trialBalances: trialBalances });\r\n });\r\n\r\n checklistActions.fetchHasIncompleteCheckistByPeriod(this.props.period.reportPeriodID).then((data) => {\r\n this.setState({ hasIncompleteChecklists: data });\r\n });\r\n\r\n propertyActions.fastFetchPropertiesByPeriod(this.props.period.reportPeriodID).then((properties) => {\r\n if (properties && properties.length > 1) {\r\n this.setState({ hideTbModeLink: true });\r\n }\r\n });\r\n\r\n this.setHideTestSnapshotLink();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.period.trialBalanceModeID !== this.props.period.trialBalanceModeID) {\r\n actions.getTrialBalancesByPeriod(this.props.period.reportPeriodID, 'adjusted', 'consolidated').then((trialBalances) => {\r\n this.setState({ trialBalances: trialBalances });\r\n });\r\n } \r\n\r\n if (prevProps.servicesInState !== this.props.servicesInState) {\r\n this.setHideTestSnapshotLink();\r\n }\r\n }\r\n\r\n setHideTestSnapshotLink() {\r\n servicesActions.fetchServicesByPeriodWithoutDispatch(this.props.period.reportPeriodID).then((services) => {\r\n if (actionHelpers.isErrorResponse(services)) {\r\n return;\r\n }\r\n\r\n if (Array.isArray(services) && services.some(x => x === serviceConstants.ASSET_TEST_SERVICE || x === serviceConstants.INCOME_TEST_SERVICE || x === serviceConstants.DISTRIBUTION_TEST_SERVICE)) {\r\n this.setState({ hideTestSnapshotLink: false });\r\n } else {\r\n this.setState({ hideTestSnapshotLink: true });\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Download the trial balance\r\n * @param {any} trialBalanceId The id of the trial balance\r\n * @param {any} fileName The file name to save the trial balance as\r\n */\r\n downloadTrialBalance(trialBalanceId, fileName) {\r\n actions.downloadTrialBalance(trialBalanceId, fileName);\r\n }\r\n\r\n handleDownloadCurrentTestSnapshot(fileName) {\r\n this.props.commonActions.beginTask();\r\n return testSnapshotActions.downloadCurrentTestSnapshot(this.props.period.reportPeriodID, fileName)\r\n .then((blob) => {\r\n this.props.commonActions.endTask();\r\n return blob;\r\n });\r\n }\r\n\r\n handleDownloadTbTemplates(clientId, periodId) {\r\n return this.props.actions.downloadTbTemplates(clientId, false, periodId).then((blob) => { \r\n return blob;\r\n });\r\n }\r\n\r\n handleDownloadMappingTemplatePackage(periodId) {\r\n this.props.commonActions.beginTask();\r\n return chartOfAccountsActions.downloadMappingTemplatePackage(periodId).then((blob) => {\r\n this.props.commonActions.endTask();\r\n return blob;\r\n });\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n let isEngAdminOrSysAdmin = false;\r\n if (Array.isArray(this.props.currentUserAuthorizations)) {\r\n isEngAdminOrSysAdmin = authActions.isSystemAdministrator(this.props.currentUserAuthorizations) || authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, this.props.clientId);\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nReportPeriodRowContainer.propTypes = {\r\n clientId: PropTypes.number.isRequired,\r\n reitId: PropTypes.number.isRequired,\r\n reit: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string\r\n }),\r\n period: PropTypes.shape({\r\n reportPeriodID: PropTypes.number.isRequired\r\n }),\r\n trialBalances: PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n type: PropTypes.string.isRequired\r\n }),\r\n handleActivePeriodIdChanged: PropTypes.func.isRequired,\r\n toggleShowClosePeriodModal: PropTypes.func,\r\n toggleShowOpenPeriodModal: PropTypes.func,\r\n currentUserAuthorizations: PropTypes.array,\r\n tbMode: PropTypes.number,\r\n toggleShowModeModal: PropTypes.func,\r\n servicesInState: PropTypes.array,\r\n chartOfAccountsActions: PropTypes.object,\r\n commonActions: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n clientId: ownProps.clientId,\r\n reitId: ownProps.reitId,\r\n reit: ownProps.reit,\r\n period: ownProps.period,\r\n handleActivePeriodIdChanged: ownProps.handleActivePeriodIdChanged,\r\n toggleShowClosePeriodModal: ownProps.toggleShowClosePeriodModal,\r\n toggleShowOpenPeriodModal: ownProps.toggleShowOpenPeriodModal,\r\n tbMode: ownProps.tbMode,\r\n toggleShowModeModal: ownProps.toggleShowModeModal,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n servicesInState: state.services,\r\n clientIsAudit: state.client && state.client.isAudit,\r\n chartExistsForClient: ownProps.chartExistsForClient\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n chartOfAccountsActions: bindActionCreators(chartOfAccountsActions, dispatch),\r\n actions: bindActionCreators(actions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ReportPeriodRowContainer);","import React, {useState} from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { MotifTextLink, MotifButton, MotifBadge, MotifLabel,MotifTooltip } from '@ey-xd/motif-react';\r\nimport * as authActions from '../../../actions/authActions';\r\nimport * as propertyActions from \"../../../actions/propertyActions\";\r\nexport default (props) => {\r\n\r\n const period = props.data;\r\n const clientId = props.clientId;\r\n const reit = props.reit;\r\n const reitId = props.reitId;\r\n const clientIsAudit = props.clientIsAudit;\r\n const periodLink = clientIsAudit ? `/client/${clientId}/reit/${reitId}/period/${period.reportPeriodID}/arqc` : `/client/${clientId}/reit/${reitId}/period/${period.reportPeriodID}/uploadtb/adjusted`;\r\n const chartExistsForClient = props.chartExistsForClient;\r\n\r\n let closeButtonText = \"Close Testing\";\r\n let openButtonText = \"\";\r\n let isClosed = false;\r\n let isReportingClosed = false;\r\n switch (period.reportPeriodStatusDescription) {\r\n case \"Closed to Testing\":\r\n closeButtonText = \"Close Reporting\";\r\n openButtonText = \"Reopen to Testing\";\r\n break;\r\n case \"Closed to Reporting\":\r\n closeButtonText = \"Close Period\";\r\n openButtonText = \"Reopen to Reporting\";\r\n isReportingClosed = true;\r\n break;\r\n case \"Complete\":\r\n closeButtonText = \"Closed\";\r\n openButtonText = \"Reopen Period\";\r\n isReportingClosed = true;\r\n isClosed = true;\r\n break;\r\n }\r\n\r\n let tbModeText = \"REIT & Property TB Mode\";\r\n if (period.trialBalanceModeID === 2) {\r\n tbModeText = \"Consolidated TB Mode\";\r\n }\r\n if (period.trialBalanceModeID === 0) {\r\n tbModeText = \"TB Mode not set.\";\r\n }\r\n \r\n const onHandleActivePeriodIdChanged = () => {\r\n return props.handleActivePeriodIdChanged(period.reportPeriodID);\r\n };\r\n\r\n const downloadCurrentTestSnapshot = (e) => {\r\n e.preventDefault();\r\n let fileName = `${period.reportPeriodDescription.replace(/\\s/g, '')}_${reit.reitName}_TestSnapshot.xlsx`;\r\n return props.handleDownloadCurrentTestSnapshot(fileName, period.reportPeriodID);\r\n };\r\n\r\n const downloadTbTemplates = (e) => {\r\n e.preventDefault()\r\n return props.handleDownloadTbTemplates(clientId, period.reportPeriodID);\r\n };\r\n\r\n const downloadMappingTemplatePackage = (e) => {\r\n e.preventDefault()\r\n return props.handleDownloadMappingTemplatePackage(period.reportPeriodID);\r\n };\r\n\r\n const handleFinalReportClick=(clientId,reitId,reportPeriodId)=>(e)=>{\r\n e.preventDefault();\r\n return props.handleFinalReportClick(clientId,reitId,reportPeriodId);\r\n\r\n }\r\n\r\n const handleToggleShowClosePeriodModal = () => {\r\n return props.toggleShowClosePeriodModal(period.reportPeriodID);\r\n };\r\n\r\n const handleToggleShowOpenPeriodModal = () => {\r\n return props.toggleShowOpenPeriodModal(period.reportPeriodID);\r\n };\r\n\r\n let isEngAdminOrSysAdmin = false;\r\n if (Array.isArray(props.currentUserAuthorizations) && props.column.colId === \"signOff\") {\r\n isEngAdminOrSysAdmin = authActions.isSystemAdministrator(props.currentUserAuthorizations) || authActions.isEngagementAdministrator(props.currentUserAuthorizations, clientId);\r\n }\r\n\r\n const tbModeClick = () => {\r\n props.toggleShowModeModal(period.reportPeriodID);\r\n };\r\n\r\n let hideTbModeLink = false;\r\n if(props.column.colId === \"manage\" && props.hideTbModeLinkList?.length > 0){\r\n hideTbModeLink = props.hideTbModeLinkList.find(repPeriod => repPeriod.reportPeriodId === period.reportPeriodID)?.hideTbModeLink\r\n }\r\n\r\n let consolidatedTrialBalance;\r\n if(props.column.colId === \"uploadDownload\" && props.trialBalancesList?.length > 0) {\r\n consolidatedTrialBalance = props?.trialBalancesList.find(repPeriod => repPeriod.reportPeriodId === period.reportPeriodID)?.consolidatedTrialBalance;\r\n }\r\n\r\n let hideTestSnapshotLink;\r\n if(props.column.colId === \"uploadDownload\" && props.hideTestSnapshotLinkList?.length > 0) {\r\n hideTestSnapshotLink = props?.hideTestSnapshotLinkList.find(repPeriod => repPeriod.reportPeriodId === period.reportPeriodID)?.hideTestSnapshotLink;\r\n }\r\n\r\n let hasIncompleteChecklists;\r\n if((props.column.colId === \"reportPeriodStatusDescription\" || props.column.colId === \"signOff\") && props.hasIncompleteChecklistsList?.length > 0) {\r\n hasIncompleteChecklists = props?.hasIncompleteChecklistsList.find(repPeriod => repPeriod.reportPeriodId === period.reportPeriodID)?.hasIncompleteChecklists;\r\n }\r\n\r\n let hasIncompleteSecuritySnapshot;\r\n if((props.column.colId === \"reportPeriodDescription\" || props.column.colId === \"reportPeriodStatusDescription\" || props.column.colId === \"uploadDownload\" || props.column.colId === \"signOff\") && props.hasIncompleteSecuritySnapshotsList?.length > 0) {\r\n hasIncompleteSecuritySnapshot = props?.hasIncompleteSecuritySnapshotsList.find(repPeriod => repPeriod.reportPeriodID === period.reportPeriodID)?.hasIncompleteSecuritySnapshot; \r\n }\r\n \r\n return (\r\n
    \r\n {(props.column.colId === \"reportPeriodDescription\") && \r\n
    \r\n {period.reportPeriodDescription}\r\n {period.discrepancyCount > 0 && || null}\r\n {hasIncompleteSecuritySnapshot && (\r\n \r\n }\r\n >\r\n Report Period has incomplete securities. Review needed.\r\n \r\n )}\r\n
    \r\n }\r\n\r\n {(props.column.colId === \"uploadDownload\") && \r\n
    \r\n {!clientIsAudit ?\r\n
    Upload Trial Balance
    \r\n :
    Upload Trial Balance
    }\r\n\r\n {consolidatedTrialBalance && !clientIsAudit\r\n ? \r\n
    Download Trial Balance
    \r\n
    \r\n :
    Download Trial Balance
    }\r\n {(hideTestSnapshotLink !== undefined && !hideTestSnapshotLink && !clientIsAudit && consolidatedTrialBalance && !hasIncompleteSecuritySnapshot)\r\n ?
    \r\n \r\n Download Test Snapshot\r\n \r\n
    \r\n :
    \r\n {hasIncompleteSecuritySnapshot\r\n ?
    Download Test Snapshot\r\n }>\r\n Complete security details to enable download.\r\n
    \r\n : \r\n Download Test Snapshot\r\n }
    }\r\n {(!clientIsAudit && chartExistsForClient) ?\r\n
    Download TB Templates
    \r\n :
    Download TB Templates
    }\r\n {(!clientIsAudit && chartExistsForClient) ?\r\n
    Download Mapping Template Package
    \r\n :
    Download Mapping Template Package
    }\r\n \r\n {!hasIncompleteSecuritySnapshot\r\n ? \r\n
    Final Report
    \r\n
    \r\n :
    Final Report\r\n }\r\n >\r\n Complete security details to enable export.\r\n
    }\r\n \r\n \r\n \r\n
    \r\n }\r\n\r\n {(props.column.colId === \"manage\") && \r\n
    \r\n
    Properties
    \r\n {!clientIsAudit ?\r\n
    Securities
    \r\n :
    Securities
    }\r\n {Array.isArray(period.services) && period.services.includes(\"DistributionTesting\") && !clientIsAudit ?\r\n
    Distributions
    \r\n :
    Distributions
    \r\n }\r\n {!clientIsAudit ?\r\n
    Taxable REIT Subsidiaries
    \r\n :
    Taxable REIT Subsidiaries
    }\r\n {!clientIsAudit ?\r\n
    File Management
    \r\n :
    File Management
    }\r\n {!clientIsAudit ?\r\n
    Client Account Mappings
    \r\n :
    Client Account Mappings
    }\r\n {hideTbModeLink !== undefined && !hideTbModeLink && !clientIsAudit &&
    \r\n {period.reportPeriodStatusDescription === \"In Progress\" || period.reportPeriodStatusDescription === \"Not Started\"\r\n ?\r\n
    Trial Balance Mode
    \r\n :
    Trial Balance Mode
    \r\n }\r\n
    || null}\r\n
    \r\n }\r\n\r\n {(props.column.colId === \"services\") && \r\n
    \r\n
    \r\n \r\n Services Scope\r\n \r\n
    \r\n
    \r\n }\r\n\r\n {(props.column.colId === \"reportPeriodStatusDescription\") && \r\n
    \r\n \r\n
    \r\n {hasIncompleteSecuritySnapshot &&\r\n
    \r\n \r\n
    \r\n }\r\n {hasIncompleteChecklists &&\r\n
    \r\n \r\n
    \r\n }\r\n
    {tbModeText}
    \r\n
    \r\n
    \r\n }\r\n\r\n {(props.column.colId === \"signOff\") && \r\n
    \r\n
    \r\n
    \r\n {!isClosed &&\r\n \r\n {closeButtonText}\r\n \r\n || null}\r\n
    \r\n {(isEngAdminOrSysAdmin && openButtonText !== \"\" && (
    \r\n {openButtonText !== \"\" &&\r\n \r\n {openButtonText}\r\n \r\n || null}\r\n
    )) || null}\r\n
    \r\n
    \r\n }\r\n\r\n
    \r\n )\r\n}\r\n","export default(valueA, valueB) => {\r\n if(valueA !== null && valueB === null) return -1;\r\n \r\n // The format is \"Qx YYYY\" where the last 4 characters are the year\r\n // and the quarter is denoted by a single digit following a 'Q'\r\n \r\n // Extract year and quarter from valueA\r\n let yearA = parseInt(valueA.slice(-4));\r\n let quarterA = parseInt(valueA.charAt(valueA.indexOf('Q') + 1));\r\n \r\n // Extract year and quarter from valueB\r\n let yearB = parseInt(valueB.slice(-4));\r\n let quarterB = parseInt(valueB.charAt(valueB.indexOf('Q') + 1));\r\n \r\n // Compare years first\r\n if (yearA !== yearB) {\r\n return yearB - yearA;\r\n }\r\n \r\n // If years are the same, compare quarters\r\n return quarterB - quarterA;\r\n}","import React from 'react';\r\n\r\nconst AGGridLoader = () => {\r\n\r\n return (\r\n
    \r\n Loading...\r\n
    \r\n );\r\n};\r\n\r\nexport default AGGridLoader;","import React, { useMemo, useState, useRef, useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Link } from \"react-router-dom\";\r\nimport ReportPeriodRowContainer from \"../../containers/reits/ReportPeriodRowContainer\";\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport { handleFilterChanged, handleFirstDataRendered, handleGridReady, tableHeaderClass, handleItemsPerPageChange } from '../../common/AgGridEventHandlers';\r\nimport CustomPagination from '../../common/MotifPagination';\r\nimport CustomHeaderTemplate from \"../checklistDeliveryCalendar/customHeaders/CustomHeaderTemplate.js\";\r\nimport ReportPeriodCellRenderer from \"./customRenderer/ReportPeriodCellRenderer.js\";\r\nimport { MotifTable } from \"@ey-xd/motif-react\";\r\nimport ReportPeriodComparator from \"../shared/customComparators/ReportPeriodComparator.js\";\r\nimport AGGridLoader from \"../../common/AGGridLoader\"\r\n\r\nconst ReportPeriodList = ({ clientId, reitId, reit, reportPeriods, activePeriodId, handleActivePeriodIdChanged, toggleShowClosePeriodModal, toggleShowOpenPeriodModal, tbMode, toggleShowModeModal, chartExistsForClient, \r\n clientIsAudit, currentUserAuthorizations, handleDownloadCurrentTestSnapshot, handleDownloadTbTemplates, handleDownloadMappingTemplatePackage, trialBalances, handleTrialBalancesByPeriod,\r\n hideTbModeLinkList, trialBalancesList, hideTestSnapshotLinkList, hasIncompleteChecklistsList,hasIncompleteSecuritySnapshotsList,handleFinalReportClick,periodOperationsCompleted }) => {\r\n reportPeriods = reportPeriods || new Array();\r\n \r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: false,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n let getColumnDefs = \r\n [\r\n {\r\n field: 'reportPeriodDescription', headerName: 'Report Period', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 150,\r\n cellRenderer: ReportPeriodCellRenderer,\r\n cellRendererParams: { clientIsAudit, clientId, reitId, hasIncompleteSecuritySnapshotsList, },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"reportPeriodDescription\"),\r\n },\r\n comparator: ReportPeriodComparator,\r\n },\r\n {\r\n field: 'uploadDownload', headerName: 'Upload/Download', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 275,\r\n cellRenderer: ReportPeriodCellRenderer,\r\n cellRendererParams: {clientIsAudit, reit, clientId, reitId, chartExistsForClient, handleDownloadCurrentTestSnapshot, handleDownloadTbTemplates, handleDownloadMappingTemplatePackage,\r\n trialBalancesList, hideTestSnapshotLinkList,hasIncompleteSecuritySnapshotsList,handleFinalReportClick\r\n },\r\n suppressMenu: true, // Add this line to hide the menu icons\r\n },\r\n {\r\n field: 'manage', headerName: 'Manage', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 221,\r\n cellRenderer: ReportPeriodCellRenderer,\r\n cellRendererParams: {clientIsAudit, clientId, reitId, toggleShowModeModal, hideTbModeLinkList},\r\n suppressMenu: true, // Add this line to hide the menu icons\r\n },\r\n {\r\n field: 'services', headerName: 'Services', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n cellRenderer: ReportPeriodCellRenderer,\r\n cellRendererParams: {clientIsAudit, handleActivePeriodIdChanged },\r\n suppressMenu: true, // Add this line to hide the menu icons\r\n },\r\n {\r\n field: 'reportPeriodStatusDescription', headerName: 'Period Status', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 214,\r\n cellRenderer: ReportPeriodCellRenderer,\r\n cellRendererParams: {hasIncompleteChecklistsList,hasIncompleteSecuritySnapshotsList},\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"reportPeriodStatusDescription\"),\r\n },\r\n },\r\n {\r\n field: 'signOff', headerName: 'Sign Off', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 174, \r\n cellRenderer: ReportPeriodCellRenderer,\r\n cellRendererParams: {clientId, clientIsAudit, toggleShowClosePeriodModal, currentUserAuthorizations, toggleShowOpenPeriodModal, hasIncompleteChecklistsList,hasIncompleteSecuritySnapshotsList },\r\n suppressMenu: true, // Add this line to hide the menu icons\r\n },\r\n ];\r\n\r\n //Handle deselect all event\r\n const handleDeselectAll = (val) => {\r\n // set current page and total pages to 0\r\n setCurrentPage(0); \r\n setTotalPages(0); \r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val-1);\r\n };\r\n\r\n const handleGridChanges = (gridRefApi) => {\r\n if (gridRefApi) {\r\n gridRefApi.refreshCells();\r\n }\r\n }\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs);\r\n\r\n useEffect(() => {\r\n handleGridChanges(gridRef && gridRef.current ? gridRef.current.api : null);\r\n if(rowData.length > 0 && gridRef?.current?.api !== undefined){\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n }, [rowData]); \r\n\r\n useEffect(() => {\r\n setRowData(reportPeriods); \r\n\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n setColumnDefs(getColumnDefs);\r\n gridRef.current.api.redrawRows();\r\n }\r\n }, [reportPeriods]);\r\n\r\n return (\r\n
    \r\n {(reportPeriods.length > 0) &&\r\n
    \r\n
    \r\n
    \r\n {!periodOperationsCompleted ? \r\n :\r\n
    \r\n handleGridReady(event, gridRef,setCurrentPage,setItemsPerPage,setTotalPages,'REITSuiteReportPeriodsListColumnState', handleDeselectAll)}\r\n onFirstDataRendered={handleFirstDataRendered(gridRef)}\r\n ref={gridRef}\r\n pagination={true}\r\n suppressPaginationPanel={true}\r\n paginationPageSize={100}\r\n groupDisplayType={'custom'}\r\n groupSelectsChildren={true}\r\n groupDefaultExpanded={0}\r\n onFilterChanged={handleFilterChanged(gridRef, currentPage, setCurrentPage, setTotalPages)}\r\n data-testid=\"divReportPeriodsListGrid\"\r\n deltaRowDataMode={true}\r\n immutableData={true}\r\n getRowNodeId={(data) => data.reportPeriodID}\r\n />\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n }\r\n {(reportPeriods && reportPeriods.length === 0 &&
    No Report Periods found for the REIT.
    ) || null}\r\n\r\n
    \r\n );\r\n};\r\n\r\nReportPeriodList.propTypes = {\r\n clientId: PropTypes.number,\r\n reitId: PropTypes.number,\r\n reit: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n periods: PropTypes.array\r\n }),\r\n reportPeriods: PropTypes.array,\r\n activePeriodId: PropTypes.number,\r\n handleActivePeriodIdChanged: PropTypes.func.isRequired,\r\n toggleShowClosePeriodModal: PropTypes.func.isRequired,\r\n toggleShowOpenPeriodModal: PropTypes.func.isRequired,\r\n tbMode: PropTypes.number,\r\n toggleShowModeModal: PropTypes.func.isRequired\r\n};\r\n\r\nexport default ReportPeriodList;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { MotifFormField, MotifCheckbox } from \"@ey-xd/motif-react\";\r\n\r\nconst ScopedServicesRow = ({ service, selectedServices, handleServiceSelected }) => {\r\n let isSelected = false;\r\n let isDisabled = false;\r\n\r\n let getFriendlyName = (string) => {\r\n string = string.replace(/([a-z])([A-Z])/g, '$1 $2');\r\n string = string.replace(/([A-Z])([A-Z][a-z])/g, '$1 $2');\r\n return string;\r\n };\r\n\r\n for (let i = 0; i < selectedServices.length; i++) {\r\n if (selectedServices[i] === service) {\r\n isSelected = true;\r\n\r\n }\r\n }\r\n \r\n return (\r\n \r\n \r\n \r\n handleServiceSelected(service, !isSelected)}>\r\n {getFriendlyName(service)}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nScopedServicesRow.propTypes = {\r\n service: PropTypes.string.isRequired,\r\n selectedServices: PropTypes.array,\r\n handleServiceSelected: PropTypes.func.isRequired\r\n};\r\n\r\nexport default ScopedServicesRow;","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport ScopedServicesRow from \"./ScopedServicesRow\";\r\nimport { MotifButton, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter } from '@ey-xd/motif-react';\r\n\r\nconst ScopedServicesModal = ({ services, showServicesModal, handleSave, handleCancel, periodId, lookupTypes, handleServiceSelected, isBulkProcess }) => {\r\n return (\r\n \r\n \r\n {isBulkProcess ? 'Update Services Scope' : 'Services'}\r\n \r\n \r\n {\r\n isBulkProcess ? (\r\n

    Please select services for selected REIT(s) and report period. And note that any report period that is 'Complete' or 'Closed to Reporting' will be reopened to update the services scope.

    \r\n ):(\r\n

    Please select services for current quarter

    \r\n )\r\n }\r\n
    \r\n \r\n {lookupTypes.services &&\r\n lookupTypes.services\r\n .filter(svc => svc.serviceID != 0)\r\n .map(service =>\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n Save\r\n \r\n
    \r\n );\r\n};\r\n\r\nScopedServicesModal.propTypes = {\r\n services: PropTypes.array.isRequired,\r\n showServicesModal: PropTypes.bool,\r\n handleSave: PropTypes.func.isRequired,\r\n handleCancel: PropTypes.func.isRequired,\r\n periodId: PropTypes.number.isRequired,\r\n handleServiceSelected: PropTypes.func.isRequired,\r\n isBulkProcess: PropTypes.bool\r\n};\r\n\r\nexport default ScopedServicesModal;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as actions from \"../../actions/servicesActions\";\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport ScopedServicesModal from \"../../components/reits/ScopedServicesModal\";\r\n\r\n/**\r\n * The container that renders ScopedServicesModal\r\n */\r\nexport class ScopedServicesContainer extends React.Component {\r\n /**\r\n * Creates a new ScopedServicesContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = { selectedServices: [] };\r\n\r\n this.handleOnSaveAction = this.handleOnSaveAction.bind(this);\r\n this.handleOnCancelAction = this.handleOnCancelAction.bind(this);\r\n this.handleServiceSelected = this.handleServiceSelected.bind(this);\r\n this.fetchServices = this.fetchServices.bind(this);\r\n }\r\n\r\n /**\r\n * Invoked immediately before mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n /// if (this.props.showServicesModal) {\r\n this.fetchServices(this.props.periodId);\r\n if (this.props.reitActions) {\r\n this.props.reitActions.fetchReitLookupTypes();\r\n }\r\n // } \r\n }\r\n\r\n componentDidUpdate(prevProps) { \r\n if (this.props.services !== prevProps.services) {\r\n this.setState({ selectedServices: this.props.services });\r\n } \r\n if (prevProps.periodId !== this.props.periodId) {\r\n this.fetchServices(this.props.periodId);\r\n }\r\n }\r\n\r\n handleOnSaveAction() {\r\n if (this.state.selectedServices.length > 0) {\r\n this.props.actions.saveServices(this.props.reitId, this.props.periodId, { services: this.state.selectedServices })\r\n .then(() => this.fetchServices(this.props.periodId))\r\n .then(() => this.props.toggleShowServicesModal());\r\n } else {\r\n this.props.actions.saveServices(this.props.reitId, this.props.periodId, { services: [\"None\"] })\r\n .then(() => this.fetchServices(this.props.periodId))\r\n .then(() => this.props.toggleShowServicesModal());\r\n }\r\n }\r\n\r\n handleOnCancelAction() {\r\n this.fetchServices(this.props.periodId);\r\n this.props.toggleShowServicesModal();\r\n }\r\n\r\n fetchServices(periodId) {\r\n return this.props.actions.fetchServicesByPeriod(periodId);\r\n }\r\n\r\n handleServiceSelected(service, isSelected) {\r\n if (isSelected) {\r\n const selectedServicesSet = new Set([...this.state.selectedServices, service]);\r\n this.setState({ selectedServices: [...selectedServicesSet] });\r\n } else {\r\n const selectedServices = this.state.selectedServices.filter(s => s != service);\r\n this.setState({ selectedServices });\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nScopedServicesContainer.propTypes = {\r\n periodId: PropTypes.number.isRequired,\r\n reitId: PropTypes.number,\r\n services: PropTypes.array,\r\n showServicesModal: PropTypes.bool,\r\n toggleShowServicesModal: PropTypes.func,\r\n reitActions: PropTypes.object,\r\n actions: PropTypes.object.isRequired\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n periodId: ownProps.periodId,\r\n services: state.services,\r\n showServicesModal: ownProps.showServicesModal,\r\n toggleShowServicesModal: ownProps.toggleShowServicesModal,\r\n lookupTypes: state.lookupTypes\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: {\r\n saveServices: (reitId, periodId, services) => actions.saveServices(reitId, periodId, services)(dispatch),\r\n fetchServicesByPeriod: (periodId) => actions.fetchServicesByPeriod(periodId)(dispatch),\r\n fetchReit: (reitId) => reitActions.fetchReit(reitId)(dispatch)\r\n },\r\n reitActions: bindActionCreators(reitActions, dispatch)\r\n };\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ScopedServicesContainer);","import PropTypes from \"prop-types\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Form } from \"semantic-ui-react\";\r\nimport { useSelector } from 'react-redux';\r\nimport {\r\n MotifButton,\r\n MotifSelect,\r\n MotifLabel,\r\n MotifFormField,\r\n MotifOption,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter\r\n} from \"@ey-xd/motif-react\";\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\nconst CreatePeriod = ({\r\n toggleShowNewPeriodModal,\r\n showModal,\r\n handleModalAction,\r\n handleQuarterSelection,\r\n handleYearSelection,\r\n selectedQuarter,\r\n selectedYear,\r\n clientIsAudit,\r\n}) => {\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n const quarterOptionValues = [\r\n \"Quarter 1\",\r\n \"Quarter 2\",\r\n \"Quarter 3\",\r\n \"Quarter 4\",\r\n ];\r\n const featureFlags = useSelector(\r\n state => state.featureManagementData\r\n);\r\n const quarterOptions = quarterOptionValues.map((quarterOption) => {\r\n return {\r\n key: quarterOption,\r\n text: `Q${quarterOption.slice(-1)}`,\r\n value: quarterOption,\r\n };\r\n });\r\n\r\n const currentYear = new Date().getFullYear();\r\n let yearOptionValues = [];\r\n const dropdownStartYear = clientIsAudit == true ? currentYear - 1 : currentYear - 5;\r\n let initialYear = featureFlags && featureFlags['RestrictedReportPeriodLimit'] ? dropdownStartYear : currentYear - 5;\r\n\r\n for (let i = initialYear; i <= currentYear + 10; i++) {\r\n yearOptionValues.push(i.toString());\r\n }\r\n\r\n const yearOptions = yearOptionValues.map(yearOption => ({\r\n key: yearOption,\r\n text: yearOption,\r\n value: yearOption\r\n }));\r\n return (\r\n
    \r\n \r\n New Period\r\n \r\n\r\n \r\n Create a new period\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n Quarter\r\n handleQuarterSelection(v)}\r\n >\r\n {quarterOptions.map(\r\n ({ key, value, text }) => (\r\n \r\n {text}\r\n \r\n )\r\n )}\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Year\r\n handleYearSelection(v)}\r\n >\r\n {yearOptions.map(({ key, value, text }) => (\r\n \r\n {text}\r\n \r\n ))}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n Ok\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nCreatePeriod.propTypes = {\r\n toggleShowNewPeriodModal: PropTypes.func,\r\n showModal: PropTypes.bool,\r\n handleModalAction: PropTypes.func,\r\n handleCreateTypeSelection: PropTypes.func,\r\n handleQuarterSelection: PropTypes.func,\r\n handleYearSelection: PropTypes.func,\r\n selectedQuarter: PropTypes.string,\r\n selectedYear: PropTypes.string,\r\n clientIsAudit: PropTypes.bool,\r\n};\r\n\r\nexport default CreatePeriod;\r\n","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { MotifButton, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter, MotifCheckbox, MotifLabel } from '@ey-xd/motif-react';\r\n\r\nconst ClosePeriodModal = ({ showClosePeriodModal, handleClosePeriodClick, handleCancel, period, toggleIsAcknowledged, isAcknowledged, pendingTasks, isEngAdminOrSysAdmin }) => {\r\n let closeQuestion = `Close ${period.reportPeriodDescription} for testing?`;\r\n let closeStatement = \"Reporting and file services will remain accessible.\";\r\n\r\n switch (period.reportPeriodStatusDescription) {\r\n case \"Closed to Testing\":\r\n closeQuestion = `Close ${period.reportPeriodDescription} for reporting?`;\r\n closeStatement = \"Reporting and checklist functionality will be closed. File management will remain accessible.\";\r\n break;\r\n case \"Closed to Reporting\":\r\n closeQuestion = `Complete ${period.reportPeriodDescription}?`;\r\n closeStatement = \"Final report will be accessible. Only file downloads will be allowed.\";\r\n break;\r\n }\r\n\r\n const onYesClick = () => {\r\n handleClosePeriodClick(period.reportPeriodID, period.reportPeriodStatusDescription);\r\n };\r\n\r\n return (\r\n
    \r\n {\r\n pendingTasks === 0 &&\r\n \r\n Close Period\r\n \r\n {closeQuestion}\r\n
    \r\n \r\n {closeStatement}\r\n \r\n
    \r\n {(!isEngAdminOrSysAdmin && (
    \r\n
    Reversable only by Engagement or System Administrator. \r\n \r\n \r\n OK\r\n \r\n \r\n
    \r\n
    )) || null}\r\n
    \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n Yes\r\n \r\n \r\n
    || null\r\n }\r\n
    \r\n );\r\n};\r\n\r\nClosePeriodModal.propTypes = {\r\n handleClosePeriod: PropTypes.func,\r\n showClosePeriodModal: PropTypes.bool,\r\n handleClosePeriodClick: PropTypes.func.isRequired,\r\n handleCancel: PropTypes.func.isRequired,\r\n period: PropTypes.object.isRequired,\r\n toggleIsAcknowledged: PropTypes.func.isRequired,\r\n isAcknowledged: PropTypes.bool,\r\n pendingTasks: PropTypes.number,\r\n isEngAdminOrSysAdmin: PropTypes.bool\r\n};\r\n\r\nexport default ClosePeriodModal;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as actions from \"../../actions/periodActions\";\r\nimport ClosePeriodModal from \"../../components/reits/ClosePeriodModal\";\r\nimport * as authActions from '../../actions/authActions';\r\n\r\n/**\r\n * The container that renders ClosePeriodModal\r\n */\r\nexport class ClosePeriodContainer extends React.Component {\r\n /**\r\n * Creates a new ClosePeriodContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = { isAcknowledged: false };\r\n\r\n this.handleOnCancelAction = this.handleOnCancelAction.bind(this);\r\n this.toggleIsAcknowledged = this.toggleIsAcknowledged.bind(this);\r\n this.handleClosePeriodClick = this.handleClosePeriodClick.bind(this);\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n if (this.props.periodId > 0) {\r\n this.props.actions.fetchPeriodById(this.props.periodId);\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.periodId !== this.props.periodId || prevProps.status !== this.props.status) {\r\n this.props.actions.fetchPeriodById(this.props.periodId);\r\n }\r\n }\r\n\r\n handleOnCancelAction() {\r\n this.setState({ isAcknowledged: false}, this.props.toggleShowClosePeriodModal());\r\n }\r\n\r\n handleClosePeriodClick(periodId, currentStatus) {\r\n this.setState({ isAcknowledged: false });\r\n this.props.handleClosePeriod(periodId, currentStatus);\r\n }\r\n\r\n toggleIsAcknowledged(e) {\r\n this.setState({ isAcknowledged: !this.state.isAcknowledged });\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n let isEngAdminOrSysAdmin = false;\r\n if (Array.isArray(this.props.currentUserAuthorizations)) {\r\n isEngAdminOrSysAdmin = authActions.isSystemAdministrator(this.props.currentUserAuthorizations) || authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, this.props.clientId);\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nClosePeriodContainer.propTypes = {\r\n periodId: PropTypes.number.isRequired,\r\n handleClosePeriod: PropTypes.func,\r\n period: PropTypes.object,\r\n showClosePeriodModal: PropTypes.bool,\r\n toggleShowClosePeriodModal: PropTypes.func,\r\n pendingTasks: PropTypes.number,\r\n currentUserAuthorizations: PropTypes.array,\r\n status: PropTypes.string,\r\n actions: PropTypes.object.isRequired\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n periodId: ownProps.periodId,\r\n handleClosePeriod: ownProps.handleClosePeriod,\r\n period: state.period,\r\n showClosePeriodModal: ownProps.showClosePeriodModal,\r\n toggleShowClosePeriodModal: ownProps.toggleShowClosePeriodModal,\r\n pendingTasks: state.pendingTasks,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n clientId: state.client.id\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(actions, dispatch),\r\n authActions: bindActionCreators(authActions, dispatch)\r\n };\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ClosePeriodContainer);","import PropTypes from \"prop-types\";\r\nimport React from \"react\"\r\nimport { MotifButton, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter } from '@ey-xd/motif-react';\r\n\r\nconst OpenPeriodModal = ({ showOpenPeriodModal, handleOpenPeriodClick, handleCancel, period, pendingTasks }) => {\r\n let openQuestion = `Open ${period.reportPeriodDescription} for testing?`;\r\n let openStatement = \"Reporting and file services will remain accessible.\";\r\n\r\n switch (period.reportPeriodStatusDescription) {\r\n case \"Closed to Testing\":\r\n openQuestion = `Reopen ${period.reportPeriodDescription} for testing?`;\r\n openStatement = `Reopening ${period.reportPeriodDescription} for testing will make all functions available again and set the period status to \"In progress.\"`;\r\n break;\r\n case \"Closed to Reporting\":\r\n openQuestion = `Reopen ${period.reportPeriodDescription} for reporting?`;\r\n openStatement = `Reopening ${period.reportPeriodDescription} for reporting will make reporting functions available again and set the period status to \"Closed to Testing.\" File Manager Services will also remain available.`;\r\n break;\r\n case \"Complete\":\r\n openQuestion = `Reopen ${period.reportPeriodDescription}?`;\r\n openStatement = `Reopening ${period.reportPeriodDescription} will make File Manager Services available again and set the period status to \"Closed to Reporting.\"`;\r\n break;\r\n }\r\n\r\n const onYesClick = () => {\r\n handleOpenPeriodClick(period.reportPeriodID, period.reportPeriodStatusDescription);\r\n };\r\n\r\n return (\r\n
    \r\n {pendingTasks === 0 &&\r\n \r\n Reopen Period\r\n \r\n {openQuestion}\r\n
    \r\n \r\n {openStatement}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n Yes\r\n \r\n \r\n
    \r\n || null }\r\n
    \r\n );\r\n};\r\n\r\nOpenPeriodModal.propTypes = {\r\n handleOpenPeriodClick: PropTypes.func,\r\n showOpenPeriodModal: PropTypes.bool,\r\n handleCancel: PropTypes.func,\r\n period: PropTypes.object,\r\n pendingTasks: PropTypes.number\r\n};\r\n\r\nexport default OpenPeriodModal;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as actions from \"../../actions/periodActions\";\r\nimport OpenPeriodModal from \"../../components/reits/OpenPeriodModal\";\r\n\r\n/**\r\n * The container that renders OpenPeriodModal\r\n */\r\nexport class OpenPeriodContainer extends React.Component {\r\n /**\r\n * Creates a new OpenPeriodContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n \r\n this.handleOnCancelAction = this.handleOnCancelAction.bind(this);\r\n this.handleOpenPeriodClick = this.handleOpenPeriodClick.bind(this);\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n if (this.props.periodId > 0) {\r\n this.props.actions.fetchPeriodById(this.props.periodId);\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.periodId !== this.props.periodId || prevProps.status !== this.props.status) {\r\n this.props.actions.fetchPeriodById(this.props.periodId);\r\n }\r\n }\r\n\r\n handleOnCancelAction() {\r\n this.setState({ isAcknowledged: false}, this.props.toggleShowOpenPeriodModal());\r\n }\r\n\r\n handleOpenPeriodClick(periodId, currentStatus) {\r\n this.props.handleOpenPeriod(periodId, currentStatus);\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nOpenPeriodContainer.propTypes = {\r\n periodId: PropTypes.number.isRequired,\r\n handleOpenPeriod: PropTypes.func,\r\n period: PropTypes.object,\r\n showOpenPeriodModal: PropTypes.bool,\r\n toggleShowOpenPeriodModal: PropTypes.func,\r\n pendingTasks: PropTypes.number,\r\n status: PropTypes.string,\r\n actions: PropTypes.object.isRequired\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n periodId: ownProps.periodId,\r\n handleOpenPeriod: ownProps.handleOpenPeriod,\r\n period: state.period,\r\n showOpenPeriodModal: ownProps.showOpenPeriodModal,\r\n toggleShowOpenPeriodModal: ownProps.toggleShowOpenPeriodModal,\r\n pendingTasks: state.pendingTasks\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(actions, dispatch)\r\n };\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(OpenPeriodContainer);","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { Header, Label, Button, Input, Dropdown } from \"semantic-ui-react\";\r\nimport ReactModal from 'react-modal';\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter, \r\n MotifFileUploader,\r\n MotifFormField\r\n } from \"@ey-xd/motif-react\";\r\n\r\nconst PeriodTbModeModal = ({ showModeModal, handleSubmit, handleCloseModeModal, initialValues }) => {\r\n let periodDescription = \"Period\";\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n //if (initialValues && initialValues.description) {\r\n // periodDescription = initialValues.description;\r\n //}\r\n\r\n return (\r\n \r\n \r\n \r\n {periodDescription} Trial Balance Mode\r\n \r\n \r\n \r\n

    Please note changing trial balance mode will remove all trial balances and all system created securities for the period.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n Cancel\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\r\nPeriodTbModeModal.propTypes = {\r\n showModeModal: PropTypes.bool,\r\n handleCloseModeModal: PropTypes.func,\r\n handleSubmit: PropTypes.func,\r\n initialValues: PropTypes.object\r\n};\r\n\r\nexport default reduxForm({ form: \"clientAuth\", enableReinitialize: true })(PeriodTbModeModal);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport ReportPeriodList from \"./ReportPeriodList\";\r\nimport { Button } from \"semantic-ui-react\";\r\nimport ScopedServicesContainer from \"../../containers/reits/ScopedServicesContainer\";\r\nimport CreatePeriod from \"../../components/reits/CreatePeriod\";\r\nimport ClosePeriodContainer from \"../../containers/reits/ClosePeriodContainer\";\r\nimport OpenPeriodContainer from \"../../containers/reits/OpenPeriodContainer\";\r\n\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport PeriodTbModeModal from \"../../components/reits/PeriodTbModeModal\";\r\n\r\n\r\nexport const ReitDetails = ({ clientId, reit, activePeriodId, handleActivePeriodIdChanged, showServicesModal, toggleShowServicesModal, showNewPeriodModal, toggleShowNewPeriodModal, handleCreateNewPeriod, \r\n createTypes, handleCreateTypeSelection, showClosePeriodModal, toggleShowClosePeriodModal, handleClosePeriod, handleQuarterSelection, handleYearSelection, selectedQuarter, selectedYear, handleOpenPeriod, \r\n showOpenPeriodModal, toggleShowOpenPeriodModal, tbMode, toggleShowModeModal, showModeModal, handleCloseModeModal, handleSubmitTbMode, activePeriod, chartExistsForClient, clientIsAudit, currentUserAuthorizations,\r\n trialBalances, handleTrialBalancesByPeriod,hideTbModeLinkList,trialBalancesList, hideTestSnapshotLinkList, hasIncompleteChecklistsList, handleDownloadCurrentTestSnapshot, handleDownloadTbTemplates,\r\n handleDownloadMappingTemplatePackage,hasIncompleteSecuritySnapshotsList,handleFinalReportClick,periodOperationsCompleted }) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Report Periods

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nReitDetails.propTypes = {\r\n clientId: PropTypes.number.isRequired,\r\n reit: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string,\r\n periods: PropTypes.array\r\n }),\r\n activePeriodId: PropTypes.number.isRequired,\r\n showServicesModal: PropTypes.bool,\r\n toggleShowServicesModal: PropTypes.func,\r\n showNewPeriodModal: PropTypes.bool,\r\n toggleShowNewPeriodModal: PropTypes.func,\r\n handleCreateNewPeriod: PropTypes.func,\r\n createTypes: PropTypes.array,\r\n handleQuarterSelection: PropTypes.func,\r\n handleYearSelection: PropTypes.func,\r\n handleActivePeriodIdChanged: PropTypes.func,\r\n handleCreateTypeSelection: PropTypes.func,\r\n showClosePerodModal: PropTypes.bool,\r\n toggleShowClosePeriodModal: PropTypes.func,\r\n handleClosePeriod: PropTypes.func,\r\n selectedQuarter: PropTypes.string,\r\n selectedYear: PropTypes.string,\r\n handleOpenPeriod: PropTypes.func,\r\n showOpenPeriodModal: PropTypes.bool,\r\n toggleShowOpenPeriodModal: PropTypes.func,\r\n tbMode: PropTypes.number,\r\n toggleShowModeModal: PropTypes.func,\r\n showModeModal: PropTypes.bool,\r\n handleCloseModeModal: PropTypes.func,\r\n handleSubmitTbMode: PropTypes.func,\r\n activePeriod: PropTypes.object,\r\n showClosePeriodModal: PropTypes.bool,\r\n trialBalances: PropTypes.array,\r\n handleTrialBalancesByPeriod: PropTypes.func,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n handleActivePeriodIdChanged: ownProps.handleActivePeriodIdChanged,\r\n toggleShowClosePeriodModal: ownProps.toggleShowClosePeriodModal,\r\n \r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps)(ReitDetails);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport ReitDetails from \"../../components/reits/ReitDetails\";\r\nimport * as actions from \"../../actions/periodActions\";\r\nimport * as commonActions from \"../../actions/commonActions\";\r\nimport * as chartOfAccountsActions from '../../actions/chartOfAccountsActions';\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport * as propertyActions from \"../../actions/propertyActions\";\r\nimport * as checklistActions from \"../../actions/checklistActions\";\r\nimport * as tbActions from \"../../actions/trialBalanceActions\";\r\nimport period from \"../../reducers/periodReducer\";\r\nimport * as servicesActions from \"../../actions/servicesActions\";\r\nimport * as serviceConstants from '../../constants/services';\r\nimport * as testSnapshotActions from \"../../actions/testSnapshotActions\";\r\nimport * as securitiesSnapshotActions from \"../../actions/securitiesSnapshotActions\";\r\nimport * as clientActions from \"../../actions/clientActions\";\r\n/**\r\n * ReitPage container component\r\n * @extends {React.Component}\r\n */\r\nexport class ReitPage extends React.Component {\r\n /**\r\n * Creates a new PsqChecklistPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n activePeriodId: -1,\r\n showServicesModal: false,\r\n showNewPeriodModal: false,\r\n selectedCreateType: \"Default\",\r\n selectedQuarter: \"Quarter 2\",\r\n selectedYear: \"2010\",\r\n showClosePeriodModal: false,\r\n showOpenPeriodModal: false,\r\n activePeriod: null,\r\n tbMode: 1,\r\n showModeModal: false,\r\n chartExistsForClient: false,\r\n trialBalances: [],\r\n hasIncompleteChecklists: false,\r\n hideTbModeLink: false,\r\n currentReit: {},\r\n hideTbModeLinkList: [],\r\n trialBalancesList: [],\r\n hideTestSnapshotLinkList: [],\r\n hasIncompleteChecklistsList: [],\r\n hasIncompleteSecuritySnapshotsList: [], \r\n periodOperationsCompleted: false,\r\n clientIsAudit: false,\r\n };\r\n this.setActivePeriodId = this.setActivePeriodId.bind(this);\r\n this.toggleShowServicesModal = this.toggleShowServicesModal.bind(this);\r\n this.toggleShowNewPeriodModal = this.toggleShowNewPeriodModal.bind(this);\r\n this.handleCreateNewPeriod = this.handleCreateNewPeriod.bind(this);\r\n this.handleQuarterSelection = this.handleQuarterSelection.bind(this);\r\n this.handleYearSelection = this.handleYearSelection.bind(this);\r\n this.toggleShowClosePeriodModal = this.toggleShowClosePeriodModal.bind(this);\r\n this.handleClosePeriod = this.handleClosePeriod.bind(this);\r\n this.handleOpenPeriod = this.handleOpenPeriod.bind(this);\r\n this.toggleShowOpenPeriodModal = this.toggleShowOpenPeriodModal.bind(this);\r\n this.toggleShowModeModal = this.toggleShowModeModal.bind(this);\r\n this.handleCloseModeModal = this.handleCloseModeModal.bind(this);\r\n this.handleSubmitTbMode = this.handleSubmitTbMode.bind(this);\r\n this.populateTrialBalancesList = this.populateTrialBalancesList.bind(this);\r\n this.populateHideTbModeLinkList = this.populateHideTbModeLinkList.bind(this);\r\n this.populateHideTestSnapshotLinkList = this.populateHideTestSnapshotLinkList.bind(this);\r\n this.populateHasIncompleteChecklistsList = this.populateHasIncompleteChecklistsList.bind(this);\r\n this.handleDownloadCurrentTestSnapshot = this.handleDownloadCurrentTestSnapshot.bind(this);\r\n this.handleDownloadTbTemplates = this.handleDownloadTbTemplates.bind(this);\r\n this.handleDownloadMappingTemplatePackage = this.handleDownloadMappingTemplatePackage.bind(this);\r\n this.populateHasIncompleteSecuritySnapshots = this.populateHasIncompleteSecuritySnapshots.bind(this);\r\n this.handleFinalReportClick=this.handleFinalReportClick.bind(this);\r\n this.performPeriodOperations = this.performPeriodOperations.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.reitActions.fetchReit(this.props.reitId); \r\n\r\n //Get charts based on Client\r\n if (this.props && this.props.clientId > 0) {\r\n this.props.chartOfAccountsActions.fetchChartsByClientId(this.props.clientId).then((charts) => {\r\n if (charts && charts.length > 0 ) {\r\n this.setState({ chartExistsForClient: true }); \r\n }\r\n });\r\n }\r\n this.setState({ selectedQuarter: this.getCurrentQuarterValue(), selectedYear: this.getCurrentYearValue() }); \r\n this.populateHasIncompleteSecuritySnapshots(this.props.clientId,this.props.reitId,null);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevProps.period !== this.props.period && this.props.period.trialBalanceModeID) {\r\n let periodFromDb = Object.assign({}, this.props.period);\r\n periodFromDb.trialBalanceMode = periodFromDb.trialBalanceModeID.toString();\r\n this.setState({ activePeriod: periodFromDb });\r\n }\r\n \r\n if (prevProps.reit.periods !== this.props.reit.periods) { \r\n // This is to avoid extra call of performPeriodOperations method\r\n if(prevProps.reit.periods != undefined && prevProps.reit.reitid === this.props.reit.reitid) {\r\n this.setState({ periodOperationsCompleted: false}, () => {\r\n this.performPeriodOperations();\r\n } );\r\n }\r\n } \r\n \r\n if (prevProps.period.trialBalanceModeID !== this.props.period.trialBalanceModeID) {\r\n this.populateHasIncompleteSecuritySnapshots(this.props.clientId,this.props.reitId,null);\r\n }\r\n }\r\n\r\n // Populate the trial balances list, hide tb mode link list, hide test snapshot link list, and has incomplete checklists list.\r\n performPeriodOperations = () => {\r\n const { reit } = this.props;\r\n if (reit.periods) {\r\n // Create an array of Promises for each period\r\n const promises = reit.periods.map((period) => {\r\n return new Promise((resolve) => {\r\n this.populateTrialBalancesList(period);\r\n this.populateHideTbModeLinkList(period);\r\n this.populateHideTestSnapshotLinkList(period);\r\n this.populateHasIncompleteChecklistsList(period);\r\n // Resolve the Promise after all operations for the period are completed\r\n resolve();\r\n });\r\n });\r\n\r\n // Use Promise.all to wait for all Promises to resolve\r\n Promise.all(promises).then(() => {\r\n setTimeout(() => {\r\n // Perform any additional actions here\r\n this.setState({ periodOperationsCompleted: true });\r\n }, 1000); \r\n });\r\n }\r\n };\r\n\r\n populateTrialBalancesList(period) {\r\n tbActions.getTrialBalancesByPeriod(period.reportPeriodID, 'adjusted', 'consolidated').then((tbs) => {\r\n this.setState(prevState => {\r\n const trialBalancesList = Array.isArray(prevState.trialBalancesList) ? prevState.trialBalancesList : [];\r\n // Create the new period object\r\n const newPeriod = {\r\n reportPeriodId: period.reportPeriodID,\r\n consolidatedTrialBalance: tbs?.find(x => x.trialBalancePurposeID && x.trialBalancePurposeID === 3)\r\n };\r\n // Check if the period is already in the list\r\n const periodExists = trialBalancesList.some(item => item.reportPeriodId === newPeriod.reportPeriodId);\r\n // If the period does not exist, add it to the list\r\n if (!periodExists) {\r\n return { trialBalancesList: [...trialBalancesList, newPeriod] };\r\n } else {\r\n // If the period exists, modify the existing period object\r\n return {\r\n trialBalancesList: trialBalancesList.map(item =>\r\n item.reportPeriodId === newPeriod.reportPeriodId ? newPeriod : item\r\n )\r\n };\r\n }\r\n });\r\n });\r\n }\r\n\r\n populateHideTbModeLinkList(period) {\r\n propertyActions.fastFetchPropertiesByPeriod(period.reportPeriodID).then((properties) => {\r\n this.setState(prevState => {\r\n const hideTbModeLinkList = Array.isArray(prevState.hideTbModeLinkList) ? prevState.hideTbModeLinkList : [];\r\n // Create the new period object\r\n const newPeriod = {\r\n reportPeriodId: period.reportPeriodID,\r\n hideTbModeLink: properties && properties.length > 1\r\n };\r\n // Check if the period is already in the list\r\n const periodExists = hideTbModeLinkList.some(item => item.reportPeriodId === newPeriod.reportPeriodId);\r\n // If the period does not exist, add it to the list\r\n if (!periodExists) {\r\n return { hideTbModeLinkList: [...hideTbModeLinkList, newPeriod] };\r\n }\r\n // If the period exists, return the state unchanged\r\n return prevState;\r\n });\r\n });\r\n }\r\n\r\n populateHideTestSnapshotLinkList(period) {\r\n servicesActions.fetchServicesByPeriodWithoutDispatch(period.reportPeriodID).then((services) => {\r\n this.setState(prevState => {\r\n const hideTestSnapshotLinkObj = Array.isArray(prevState.hideTestSnapshotLinkList) ? prevState.hideTestSnapshotLinkList : [];\r\n // Create the new period object\r\n const newPeriod = {\r\n reportPeriodId: period.reportPeriodID,\r\n hideTestSnapshotLink: Array.isArray(services) && services.some(x => x === serviceConstants.ASSET_TEST_SERVICE || x === serviceConstants.INCOME_TEST_SERVICE || x === serviceConstants.DISTRIBUTION_TEST_SERVICE) ? false : true\r\n };\r\n // Check if the period is already in the list\r\n const periodExists = hideTestSnapshotLinkObj.some(item => item.reportPeriodId === newPeriod.reportPeriodId);\r\n // If the period does not exist, add it to the list\r\n if (!periodExists) {\r\n return { hideTestSnapshotLinkList: [...hideTestSnapshotLinkObj, newPeriod] };\r\n } else {\r\n // If the period exists, modify the existing period object\r\n return {\r\n hideTestSnapshotLinkList: hideTestSnapshotLinkObj.map(item =>\r\n item.reportPeriodId === newPeriod.reportPeriodId ? newPeriod : item\r\n )\r\n };\r\n }\r\n });\r\n });\r\n }\r\n\r\n populateHasIncompleteChecklistsList(period) {\r\n checklistActions.fetchHasIncompleteCheckistByPeriod(period.reportPeriodID).then((data) => {\r\n this.setState(prevState => {\r\n const hasIncompleteChecklistsObj = Array.isArray(prevState.hasIncompleteChecklistsList) ? prevState.hasIncompleteChecklistsList : [];\r\n \r\n // Create the new period object\r\n const newPeriod = {\r\n reportPeriodId: period.reportPeriodID,\r\n hasIncompleteChecklists: data\r\n };\r\n // Check if the period is already in the list\r\n const periodExists = hasIncompleteChecklistsObj.some(item => item.reportPeriodId === newPeriod.reportPeriodId);\r\n // If the period does not exist, add it to the list\r\n if (!periodExists) {\r\n return { hasIncompleteChecklistsList: [...hasIncompleteChecklistsObj, newPeriod] };\r\n }\r\n // If the period exists, return the state unchanged\r\n return prevState;\r\n });\r\n });\r\n }\r\n\r\n\r\n populateHasIncompleteSecuritySnapshots(clientId,reitId,periodId) {\r\n this.props.securitiesSnapshotActions.getIncompleteSecuritySnapshotDetails(clientId,reitId,periodId,'Report Period').then((data) => {\r\n this.setState({ hasIncompleteSecuritySnapshotsList: data });\r\n });\r\n }\r\n\r\n\r\n\r\n setActivePeriodId(periodId) {\r\n this.setState({ activePeriodId: periodId, showServicesModal: !this.state.showServicesModal },\r\n () => {\r\n if (periodId) {\r\n this.props.actions.fetchPeriodById(periodId);\r\n }\r\n });\r\n }\r\n\r\n toggleShowServicesModal() {\r\n this.setState({ showServicesModal: !this.state.showServicesModal });\r\n }\r\n\r\n toggleShowClosePeriodModal(periodId) {\r\n this.setState({ showClosePeriodModal: !this.state.showClosePeriodModal });\r\n if (periodId) {\r\n this.setState({ activePeriodId: periodId });\r\n }\r\n }\r\n\r\n toggleShowOpenPeriodModal(periodId) {\r\n this.setState({ showOpenPeriodModal: !this.state.showOpenPeriodModal });\r\n if (periodId) {\r\n this.setState({ activePeriodId: periodId });\r\n }\r\n }\r\n\r\n toggleShowNewPeriodModal() { \r\n \r\n this.props.clientActions.loadClient(this.props.clientId).then(() => {\r\n this.props.commonActions.clearErrorResponse(); \r\n this.setState({ clientIsAudit: this.props.client.isAudit});\r\n this.setState({ showNewPeriodModal: !this.state.showNewPeriodModal });\r\n });\r\n \r\n }\r\n\r\n handleQuarterSelection(selectedQuarter) {\r\n this.setState({ selectedQuarter });\r\n }\r\n\r\n handleYearSelection(selectedYear) {\r\n this.setState({ selectedYear });\r\n }\r\n\r\n handleCreateNewPeriod(e) {\r\n if (e && e.target.value !== \"CANCEL\") {\r\n let quarter = 1;\r\n switch (this.state.selectedQuarter) {\r\n case \"Quarter 2\":\r\n quarter = 2;\r\n break;\r\n case \"Quarter 3\":\r\n quarter = 3;\r\n break;\r\n case \"Quarter 4\":\r\n quarter = 4;\r\n break;\r\n default:\r\n }\r\n this.props.actions.createPeriod(this.props.reit.reitid, quarter, this.state.selectedYear, true);\r\n }\r\n\r\n this.setState({ showNewPeriodModal: !this.state.showNewPeriodModal });\r\n }\r\n\r\n handleClosePeriod(periodId, currentStatus) {\r\n this.setState({ activePeriodId: periodId, showClosePeriodModal: !this.state.showClosePeriodModal }, this.setCloseStatus(this.state.activePeriodId, currentStatus));\r\n }\r\n\r\n handleOpenPeriod(periodId, currentStatus) {\r\n this.setState({ activePeriodId: periodId, showOpenPeriodModal: !this.state.showOpenPeriodModal }, this.setOpenStatus(this.state.activePeriodId, currentStatus));\r\n }\r\n\r\n handleSubmitTbMode(values) {\r\n this.setTrialBalanceMode(values.reportPeriodStatusDescription, values.trialBalanceMode);\r\n }\r\n\r\n getCurrentQuarterValue() {\r\n const currentYear = new Date();\r\n const currentMonth = currentYear.getMonth();\r\n let currentQuarter = \"Quarter 1\";\r\n switch (currentMonth) {\r\n case 0:\r\n case 1:\r\n case 2:\r\n currentQuarter = \"Quarter 1\";\r\n break;\r\n case 3:\r\n case 4:\r\n case 5:\r\n currentQuarter = \"Quarter 2\";\r\n break;\r\n case 6:\r\n case 7:\r\n case 8:\r\n currentQuarter = \"Quarter 3\";\r\n break;\r\n case 9:\r\n case 10:\r\n case 11:\r\n currentQuarter = \"Quarter 4\";\r\n break;\r\n }\r\n return currentQuarter;\r\n }\r\n\r\n getCurrentYearValue() {\r\n const currentYear = new Date();\r\n return currentYear.getFullYear().toString();\r\n }\r\n\r\n setCloseStatus(periodId, currentStatus) {\r\n let newStatus = \"TestingClosed\";\r\n switch (currentStatus) {\r\n case \"Closed to Testing\":\r\n newStatus = \"ReportingClosed\";\r\n break;\r\n case \"Closed to Reporting\":\r\n newStatus = \"Complete\";\r\n break;\r\n }\r\n\r\n this.props.actions.savePeriod(this.state.activePeriodId, newStatus, true);\r\n }\r\n\r\n setOpenStatus(periodId, currentStatus) {\r\n let newStatus = \"Complete\";\r\n switch (currentStatus) {\r\n case \"Closed to Testing\":\r\n newStatus = \"InProgress\";\r\n break;\r\n case \"Closed to Reporting\":\r\n newStatus = \"TestingClosed\";\r\n break;\r\n case \"Complete\":\r\n newStatus = \"ReportingClosed\";\r\n break;\r\n }\r\n\r\n this.props.actions.savePeriod(this.state.activePeriodId, newStatus, true);\r\n }\r\n\r\n setTrialBalanceMode(status, trialBalanceMode) {\r\n if(status === \"In Progress\" || status === \"Not Started\") {\r\n this.props.actions.savePeriod(this.state.activePeriodId, \"InProgress\", true, trialBalanceMode).then(() => {\r\n this.props.reitActions.fetchReit(this.props.reitId);\r\n });\r\n this.handleCloseModeModal();\r\n }\r\n }\r\n\r\n toggleShowModeModal(periodId) {\r\n this.setState({ showModeModal: !this.state.showModeModal });\r\n if (periodId) {\r\n this.setState({ activePeriodId: periodId });\r\n this.props.actions.fetchPeriodById(periodId);\r\n }\r\n }\r\n\r\n handleCloseModeModal() {\r\n this.setState({ showModeModal: !this.state.showModeModal });\r\n }\r\n\r\n handleDownloadCurrentTestSnapshot(fileName, reportPeriodID) {\r\n this.props.securitiesSnapshotActions.getIncompleteSecuritySnapshotDetails(this.props.clientId, this.props.reitId,null,'Report Period').then((data) => {\r\n if (data) {\r\n this.setState({ hasIncompleteSecuritySnapshotsList: data }); \r\n const snapshot = data.find(x => x.reportPeriodID === reportPeriodID);\r\n //Snapshot will be undefined if there is no incomplete security snapshot\r\n if (!snapshot) {\r\n this.props.commonActions.beginTask();\r\n return testSnapshotActions.downloadCurrentTestSnapshot(reportPeriodID, fileName)\r\n .then((blob) => {\r\n this.props.commonActions.endTask();\r\n return blob;\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n handleDownloadTbTemplates(clientId, periodId) {\r\n return this.props.tbActions.downloadTbTemplates(clientId, false, periodId).then((blob) => { \r\n return blob;\r\n });\r\n }\r\n\r\n handleDownloadMappingTemplatePackage(periodId) {\r\n this.props.commonActions.beginTask();\r\n return chartOfAccountsActions.downloadMappingTemplatePackage(periodId).then((blob) => {\r\n this.props.commonActions.endTask();\r\n return blob;\r\n });\r\n }\r\n\r\n handleFinalReportClick(clientId,reitId,reportPeriodId)\r\n {\r\n this.props.securitiesSnapshotActions.getIncompleteSecuritySnapshotDetails(clientId, reitId,null,'Report Period').then((data) => {\r\n if (data) {\r\n this.setState({ hasIncompleteSecuritySnapshotsList: data });\r\n const snapshot = data.find(x => x.reportPeriodID === reportPeriodId);\r\n // //Snapshot will be undefined if there is no incomplete security snapshot\r\n if (!snapshot) {\r\n this.props.router.navigate(`/client/${clientId}/reit/${reitId}/period/${reportPeriodId}/report`);\r\n }\r\n }\r\n });\r\n \r\n }\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n );\r\n }\r\n}\r\n\r\nReitPage.propTypes = {\r\n clientId: PropTypes.number,\r\n reit: PropTypes.object,\r\n reitId: PropTypes.number.isRequired,\r\n period: PropTypes.object.isRequired,\r\n reitActions: PropTypes.object.isRequired,\r\n chartOfAccountsActions: PropTypes.object.isRequired,\r\n commonActions: PropTypes.object.isRequired,\r\n actions: PropTypes.object.isRequired\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n clientId: Number.parseInt(ownProps.router.params.clientId),\r\n reitId: Number.parseInt(ownProps.router.params.reitId),\r\n reit: state.reit,\r\n period: state.period,\r\n clientIsAudit: state.client && state.client.isAudit,\r\n client : state.client,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n servicesInState: state.services,\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(actions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n reitActions: bindActionCreators(reitActions, dispatch),\r\n chartOfAccountsActions: bindActionCreators(chartOfAccountsActions, dispatch),\r\n tbActions: bindActionCreators(tbActions, dispatch),\r\n securitiesSnapshotActions: bindActionCreators(securitiesSnapshotActions, dispatch),\r\n clientActions: bindActionCreators(clientActions, dispatch),\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ReitPage));","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button, Message } from 'semantic-ui-react';\r\nimport ErrorSummary from '../shared/ErrorSummary';\r\nimport { FileField } from \"../shared/formFields\";\r\nimport * as reitActions from '../../actions/reitActions';\r\nimport $ from 'jquery';\r\nimport * as formParsers from \"../../scripts/formParsers\";\r\nimport { MotifButton, MotifToast, MotifFormField, MotifLabel, MotifSelect, MotifOption } from '@ey-xd/motif-react';\r\nimport { useEffectToggle } from \"../../scripts/customHooks\";\r\nimport { addAttribute } from \"../../common/Attribute\";\r\nimport { MotifInput } from '@ey-xd/motif-react';\r\n\r\nconst TrialBalanceUpload = ({ onSubmit, onFileChange, file, reit, errorResponse, tbUploadSuccess, canEdit, createTrialBalancePurposeSelectItems,\r\n handleTrialBalancePurposeDropdownSelected, property, selectedTBOption, handleDismissErrorMessage, handleDismissSuccessMessage, percentageOfOwnership, handlePctChanged,\r\n tbMode, clientId, period, handleDownloadTbTemplates, chartExistsForClient }) => {\r\n\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n const selectAllText = () => {\r\n $(document).on('click', 'input[type=text]', function () { this.select(); });\r\n };\r\n\r\n const clearFileInput = (type) => {\r\n $('input[name=tbFileToUpload]').val(\"\");\r\n };\r\n\r\n const renderDropdown = useEffectToggle([selectedTBOption === \"0\"]);\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {tbMode === 1 &&
    \r\n
    \r\n {\r\n renderDropdown && (\r\n \r\n \r\n For...\r\n \r\n \r\n {createTrialBalancePurposeSelectItems()}\r\n \r\n \r\n )\r\n }\r\n
    \r\n {property && property > 0 &&\r\n
    \r\n Ownership %:\r\n \r\n \r\n \r\n
    \r\n || null}\r\n
    ||
     
    }\r\n
    \r\n
    \r\n
    \r\n \r\n Upload\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {(errorResponse &&\r\n
    \r\n \r\n
    \r\n ) || (tbUploadSuccess && (\r\n Your trial balance has been uploaded to REITSuite for processing.\r\n ))}\r\n
    \r\n );\r\n};\r\n\r\nTrialBalanceUpload.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onFileChange: PropTypes.func.isRequired,\r\n reit: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string\r\n }),\r\n file: PropTypes.object,\r\n errorResponse: PropTypes.object,\r\n tbUploadSuccess: PropTypes.bool,\r\n selectedTBOption: PropTypes.string,\r\n canEdit: PropTypes.bool,\r\n createTrialBalancePurposeSelectItems: PropTypes.func.isRequired,\r\n handleTrialBalancePurposeDropdownSelected: PropTypes.func.isRequired,\r\n property: PropTypes.number,\r\n handleDismissErrorMessage: PropTypes.func.isRequired,\r\n handleDismissSuccessMessage: PropTypes.func.isRequired,\r\n percentageOfOwnership: PropTypes.string,\r\n handlePctChanged: PropTypes.func.isRequired,\r\n tbMode: PropTypes.number,\r\n clientId: PropTypes.number.isRequired,\r\n period: PropTypes.object,\r\n handleDownloadTbTemplates: PropTypes.func.isRequired\r\n};\r\n\r\nexport default TrialBalanceUpload;\r\n","\r\n/**\r\n * Converts number to a fixed-point representation, removing trailing 0s,\r\n * unlike Number.toFixed()\r\n * @param {Number} number \r\n */\r\nexport const toFixedVariable = function (number) {\r\n if (typeof number !== 'number') {\r\n return NaN.toFixed();\r\n }\r\n\r\n // Handle numbers less than 1, otherwise, number will be converted to string appropriately\r\n if (Math.abs(number) < 1.0) {\r\n var exponent = parseInt(number.toString().split('e-')[1]);\r\n if (exponent) {\r\n number *= Math.pow(10,exponent-1);\r\n number = '0.' + (new Array(exponent)).join('0') + number.toString().substring(2);\r\n }\r\n }\r\n\r\n return number;\r\n}\r\n\r\n/**\r\n * Converts number to a percentage representation.\r\n * @param {Number} number \r\n */\r\nexport const toPercentage = function (number) {\r\n return `${toFixedVariable(number)}%`;\r\n}","import React from 'react';\r\nimport {Link} from 'react-router';\r\nimport { MotifTextLink} from '@ey-xd/motif-react';\r\n\r\nexport default (props) => {\r\n // This is the data for the reit cell\r\n const reit = props.data.reitCell;\r\n\r\n // This is the data for the property cell\r\n const property = props.node.data.propertyCells;\r\n let index;\r\n\r\n let propertyIsAdjusted;\r\n let propertyIsAdjustable;\r\n let propertyAmount;\r\n if(props.column.colId.startsWith(\"property\") && property){\r\n index = props.index === undefined ? 0 : props.index;\r\n propertyIsAdjusted = property[index]?.isAdjusted;\r\n propertyIsAdjustable = property[index]?.isAdjustable;\r\n \r\n propertyAmount = property[index]?.amount;\r\n \r\n } else if(props.column.colId == \"reitCell.amount\" && reit){\r\n propertyAmount = reit.amount;\r\n }\r\n\r\n const roundedAmount = Math.sign(propertyAmount) * Math.round(Math.abs(propertyAmount));\r\n let value;\r\n if (roundedAmount < 0) {\r\n value = roundedAmount.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n value = \"($\" + value.replace('-', '') + \")\";\r\n }\r\n else {\r\n value = \"$\" + roundedAmount.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n }\r\n propertyAmount = value;\r\n\r\n const showTrialBalanceAdjustments = (e) => {\r\n props.showTrialBalanceAdjustmentsModal(e);\r\n };\r\n\r\n\r\n return (\r\n
    \r\n {(props.column.colId.startsWith(\"property\")) &&\r\n
    \r\n {\r\n propertyIsAdjustable && props.canEdit ? \r\n ( \r\n {propertyIsAdjusted ? `*${propertyAmount}` : propertyAmount}\r\n ) \r\n :\r\n (
    {propertyIsAdjusted ? `*${propertyAmount}` : propertyAmount}
    )\r\n \r\n }\r\n
    \r\n }\r\n {(props.column.colId === \"reitCell.amount\" && reit) &&\r\n
    \r\n {\r\n reit.isAdjustable && props.canEdit ? \r\n ( \r\n {reit.isAdjusted ? `*${propertyAmount}` : propertyAmount}\r\n ) \r\n :\r\n (
    {reit.isAdjusted ? `*${propertyAmount}` : propertyAmount}
    )\r\n \r\n }\r\n
    \r\n }\r\n
    \r\n )\r\n\r\n}\r\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport { handleFilterChanged,handleFirstDataRendered,handleGridReady,handleItemsPerPageChange } from '../../common/AgGridEventHandlers';\r\nimport CustomPagination from '../../common/MotifPagination';\r\nimport TrialBalanceCellRenderer from \"./customRenderer/TrialBalanceCellRenderer\";\r\nimport { toPercentage } from \"../../common/NumberFormatting\";\r\nimport CustomHeaderTemplate from \"../checklistDeliveryCalendar/customHeaders/CustomHeaderTemplate.js\";\r\nimport { MotifTable } from \"@ey-xd/motif-react\";\r\n\r\nconst TrialBalanceTable = ({ rows, trialBalanceSummary, tableWidth, showReit, showTrialBalanceAdjustmentsModal,\r\n canEdit\r\n}) => {\r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]); \r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n const [trialBalance, setTrialBalance] = useState([]);\r\n // const [showReit, setShowReit] = useState(false);\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n const customFilterValueGetter = (amount) => {\r\n const roundedAmount = Math.sign(amount) * Math.round(Math.abs(amount));\r\n let value;\r\n if (roundedAmount < 0) {\r\n value = roundedAmount.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n value = \"($\" + value.replace('-', '') + \")\";\r\n }\r\n else {\r\n value = \"$\" + roundedAmount.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n }\r\n\r\n return value;\r\n \r\n }\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n headerName: `Overview of Uploaded Trial Balances for ${trialBalance.reitName} for ${trialBalance.reportPeriodDescription}`,\r\n marryChildren: true,\r\n children: [\r\n { field:'chartName', headerName: 'Chart', \r\n sortable: true, showRowGroup: false, \r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"chartName\"),\r\n },\r\n hide: false, rowGroup: false, minWidth: 150, pinned:'left',},\r\n { field:'clientAccountNumber', headerName: 'Client Account Number', \r\n sortable: true, showRowGroup: false, \r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"clientAccountNumber\"),\r\n },\r\n hide: false, rowGroup: false, minWidth: 250, pinned:'left',},\r\n { field: 'clientAccountName', headerName: 'Client Account Name', \r\n sortable: true, showRowGroup: false, \r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"clientAccountName\"),\r\n },\r\n hide: false, rowGroup: false, minWidth: 250, pinned:'left',}, \r\n { field: 'reitTestingAttributeDescription', headerName: 'REIT Testing Attribute', \r\n sortable: true, showRowGroup: false, \r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"reitTestingAttributeDescription\"),\r\n },\r\n hide: false, rowGroup: false, minWidth: 150, pinned:'left',\r\n }, \r\n { field: 'subAttribute', headerName: 'Sub Attribute', \r\n sortable: true, showRowGroup: false, \r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"subAttribute\"),\r\n },\r\n hide: false, rowGroup: false, minWidth: 150, pinned:'left',\r\n }, \r\n ],\r\n },\r\n {\r\n marryChildren: true,\r\n children: [\r\n { \r\n field:'periodTotalCell.amount', headerName: 'Period Total', minWidth: 150, \r\n sortable: true, showRowGroup: false, \r\n hide: false, rowGroup: false, \r\n valueGetter: (params) => {\r\n return customFilterValueGetter(params.data.periodTotalCell.amount)\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"periodTotalCell.amount\"),\r\n },\r\n cellClassRules: {\r\n \"tb-reit-property\": params => params.data\r\n },\r\n },\r\n { \r\n field:'reitCell.amount', headerName: 'REIT', minWidth: 100, \r\n sortable: true, showRowGroup: false, \r\n hide: !showReit, \r\n rowGroup: false, \r\n headerClass: 'tb-reit-prop-header',\r\n cellRenderer: TrialBalanceCellRenderer,\r\n cellRendererParams:{canEdit: canEdit, showTrialBalanceAdjustmentsModal: showTrialBalanceAdjustmentsModal},\r\n cellClassRules: {\r\n \"tb-ag-cell-client-mapping-na\": params => params.data.reitCell && !(params.data.reitCell.isAdjustable && canEdit),\r\n \"tb-reit-property\": params => params.data.reitCell && params.data.reitCell.isAdjustable\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"reitCell.amount\"),\r\n },\r\n valueGetter: (params) => {\r\n return customFilterValueGetter(params.data.reitCell?.amount);\r\n }\r\n \r\n },\r\n ...trialBalanceSummary.propertyHeaders.map((property, index) => (\r\n {\r\n field:`propertyCells[${index}].amount`,\r\n headerName: '',\r\n headerValueGetter: (params) => {\r\n return property.propertyName + \" \"+ toPercentage(property.percentageOfOwnership)\r\n },\r\n headerClass: 'tb-reit-prop-header ',\r\n minWidth: 150, \r\n sortable: false, // temporary fix for sorting issue of property columns\r\n showRowGroup: false, \r\n hide: false, rowGroup: false, \r\n cellRenderer: TrialBalanceCellRenderer,\r\n cellRendererParams: { showTrialBalanceAdjustmentsModal: showTrialBalanceAdjustmentsModal, index: index,\r\n canEdit: canEdit, property: property},\r\n cellClassRules: { \r\n \"tb-ag-cell-client-mapping-na\": params => !(params.data.propertyCells[index === undefined ? 0 : index]?.isAdjustable && canEdit),\r\n \"tb-reit-property\": params => params.data.propertyCells[index === undefined ? 0 : index]?.isAdjustable,\r\n },\r\n valueGetter: (params) => {\r\n return customFilterValueGetter(params.data.propertyCells[index === undefined ? 0 : index]?.amount);\r\n }\r\n }\r\n )),\r\n ],\r\n },\r\n\r\n ];\r\n };\r\n //Handle deselect all event\r\n const handleDeselectAll = (val) => {\r\n // set current page and total pages to 0\r\n setCurrentPage(0); \r\n setTotalPages(0); \r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val-1);\r\n };\r\n\r\n const handleGridChanges = (gridRefApi) => {\r\n if (gridRefApi) {\r\n gridRefApi.refreshCells();\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n handleGridChanges(gridRef && gridRef.current ? gridRef.current.api : null);\r\n \r\n if(rowData.length > 0 && gridRef.current.api !== undefined){\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n setRowData(rows);\r\n setTrialBalance(trialBalanceSummary);\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n getColumnDefs();\r\n }\r\n }, [rows]);\r\n\r\n const rowHeight = 76; \r\n const headerHeight = 90; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return(\r\n
    \r\n {(rowData.length > 0 ) &&\r\n
    \r\n
    \r\n
    \r\n
    \r\n handleGridReady(event, gridRef,setCurrentPage,setItemsPerPage,setTotalPages,'REITSuiteTrialBalanceListColumnState', handleDeselectAll)}\r\n onFirstDataRendered={handleFirstDataRendered(gridRef)}\r\n ref={gridRef}\r\n pagination={true}\r\n suppressPaginationPanel={true}\r\n paginationPageSize={100}\r\n groupDisplayType={'custom'}\r\n groupSelectsChildren={true}\r\n groupDefaultExpanded={0}\r\n onFilterChanged={handleFilterChanged(gridRef, currentPage, setCurrentPage, setTotalPages)}\r\n data-testid=\"divTrialBalanceListGrid\"\r\n immutableData={true}\r\n getRowNodeId={(data) => data.chartName + '-' + data.clientAccountNumber+'-' + data.reitTestingAttributeDescription}\r\n />\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n {/* {(clients && clients.length === 0 && clientSearchText === \"\" && clientsAreLoaded &&
    It looks as though you aren't assigned to any clients right now - please contact your manager.
    ) || ((clients && clients.length === 0 && clientSearchText !== \"\" && clientsAreLoaded) &&
    No clients match your search text '{clientSearchText}'
    ) || null} */}\r\n\r\n
    \r\n )\r\n\r\n};\r\n\r\nTrialBalanceTable.propTypes = {\r\n trialBalanceSummary: PropTypes.object,\r\n showTrialBalanceAdjustmentsModal : PropTypes.func,\r\n};\r\n\r\nexport default TrialBalanceTable;\r\n","import React from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { Table, ColumnGroup, Column, Cell } from 'fixed-data-table-2';\r\nimport 'fixed-data-table-2/dist/fixed-data-table.css';\r\nimport FormattedCurrency from \"../shared/FormattedCurrency\";\r\nimport { toPercentage } from \"../../common/NumberFormatting\";\r\nimport { MotifToggleSwitch, MotifButton, MotifTextLink } from '@ey-xd/motif-react';\r\nimport TrialBalanceTable from \"./TrialBalanceTable\";\r\nimport {withWindowDimensions} from '../../common/withWindowDimensions';\r\n// Fixed column widths for first 4 columns.\r\nconst CHART_WIDTH = 150;\r\nconst CAC_NUMBER_WIDTH = 150;\r\nconst CAC_NAME_WIDTH = 200;\r\nconst TEST_ATTR_WIDTH = 300;\r\nconst FIXED_WIDTHS = [CHART_WIDTH, CAC_NUMBER_WIDTH, CAC_NAME_WIDTH, TEST_ATTR_WIDTH];\r\nconst FIXED_COLUMN_COUNT = FIXED_WIDTHS.length;\r\nconst FIXED_COLUMNS_WIDTH = FIXED_WIDTHS.reduce((a,b) => a + b, 0);\r\n\r\n/**\r\n * TrialBalanceSummaryTable container component\r\n * @extends {React.Component}\r\n */\r\n\r\n export class TrialBalanceSummaryTable extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n \r\n }\r\n \r\n calculateWidths(columnNames, containerWidth)\r\n {\r\n const availableVariableWidth = containerWidth - FIXED_COLUMNS_WIDTH;\r\n\r\n let variableColumnWidth =\r\n availableVariableWidth / (columnNames.length - FIXED_COLUMN_COUNT);\r\n \r\n variableColumnWidth = Math.max(variableColumnWidth, 150);\r\n variableColumnWidth = Math.min(variableColumnWidth, 200) | 0;\r\n\r\n return columnNames\r\n .map((_, index) => FIXED_WIDTHS[index] || variableColumnWidth);\r\n }\r\n\r\n getColumns(rows, columnNames, propertyHeaders, widths, canEdit) {\r\n const { showTrialBalanceAdjustmentsModal } = this.props;\r\n\r\n const commonColumnGenerator = function (propertyKey, headerText, width, cellStyle = {}) {\r\n const header = {headerText};\r\n\r\n const cellGetter = ({ rowIndex, ...props }) =>\r\n {rows[rowIndex][propertyKey]};\r\n\r\n return ();\r\n };\r\n\r\n\r\n const amountColumnGenerator = function (rowCellGetter, headerText, width, canEdit, subheaderText = null) {\r\n const headerStyle = {lineHeight : 1, overflowWrap : 'anywhere'};\r\n \r\n const header =\r\n \r\n

    {headerText}

    \r\n

    {subheaderText}

    \r\n
    ;\r\n const cellGetter = function ({ rowIndex, ...props }) {\r\n const cell = rowCellGetter(rows[rowIndex]);\r\n const { trialBalanceItemID, amount, isAdjusted, isAdjustable } = cell;\r\n\r\n const roundedAmount =\r\n Math.sign(amount) * Math.round(Math.abs(amount));\r\n\r\n let value;\r\n\r\n if (roundedAmount < 0) {\r\n value = roundedAmount.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n value = \"($\" + value.replace('-', '') + \")\";\r\n }\r\n else {\r\n value = \"$\" + roundedAmount.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n }\r\n\r\n if (isAdjusted) {\r\n value = \"*\" + value;\r\n }\r\n\r\n const cellStyle = isAdjustable ? { cursor: 'pointer' } : { color: '#5d5d66' };\r\n\r\n if (isAdjusted) {\r\n cellStyle.fontWeight = 'bold';\r\n } \r\n\r\n //If adjustable and canEdit(Report period is not closed) flags are true\r\n if (isAdjustable && canEdit) {\r\n return ( \r\n {value}\r\n )\r\n }\r\n else {\r\n return (\r\n
    \r\n {value}\r\n
    \r\n
    )\r\n }\r\n }\r\n\r\n return ;\r\n }\r\n\r\n let columnIndex = 0;\r\n\r\n const cols = [\r\n commonColumnGenerator('chartName', 'Chart', widths[columnIndex++]),\r\n commonColumnGenerator('clientAccountNumber', 'Client Account Number', widths[columnIndex++]),\r\n commonColumnGenerator('clientAccountName', 'Client Account Name', widths[columnIndex++]),\r\n commonColumnGenerator(\r\n 'reitTestingAttributeDescription',\r\n 'REIT Testing Attribute',\r\n widths[columnIndex++],\r\n { fontSize: '90%', lineHeight: 1 }),\r\n commonColumnGenerator(\r\n 'subAttribute',\r\n 'Sub Attribute',\r\n widths[columnIndex++],\r\n { fontSize: '90%', lineHeight: 1 })\r\n ];\r\n\r\n const periodTotalHeader = Period Total;\r\n\r\n const periodTotalCellGetter =\r\n function ({ rowIndex, ...props }) {\r\n const value = rows[rowIndex].periodTotalCell.amount;\r\n\r\n return \r\n \r\n ;\r\n };\r\n\r\n const periodTotalColumn =\r\n \r\n\r\n cols.push(periodTotalColumn);\r\n\r\n if (columnNames[5] === 'REIT') {\r\n cols.push(amountColumnGenerator(row => row.reitCell, 'REIT', widths[columnIndex++], canEdit));\r\n }\r\n\r\n propertyHeaders.forEach((ph, index) => {\r\n cols.push(amountColumnGenerator(row => row.propertyCells[index], ph.propertyName, widths[columnIndex++], canEdit, toPercentage(ph.percentageOfOwnership)));\r\n });\r\n\r\n return cols;\r\n }\r\n\r\n calculateHeaderHeight(propNames) {\r\n const longestPropNameLength =\r\n Math.max(0, ...propNames.map(pn => pn.length));\r\n\r\n // 16 characters per line is the most we can expect in 150px width,\r\n // so divide by 15 to get required lines.\r\n const requiredLines = Math.ceil(longestPropNameLength / 15) + 4;\r\n\r\n return requiredLines * 15;\r\n }\r\n\r\n render() {\r\n const { width, height } = this.props;\r\n if (width && this.props.trialBalanceSummary !== null) {\r\n const {trialBalanceSummary} = this.props;\r\n const rows = trialBalanceSummary.rows;\r\n \r\n const columnNames = [\r\n 'Chart',\r\n 'Client Account Number',\r\n 'Client Account Name',\r\n 'REIT Testing Attribute',\r\n 'Sub Attribute',\r\n 'Period Total'];\r\n\r\n if (typeof trialBalanceSummary.reitTrialBalanceID === 'number') {\r\n columnNames.push('REIT');\r\n }\r\n \r\n columnNames.push(...trialBalanceSummary.propertyHeaders.map(ph => ph.propertyName));\r\n\r\n const widths =\r\n this.calculateWidths(columnNames, width);\r\n \r\n const tableWidth =\r\n Math.min(\r\n widths.reduce((a, b) => a + b, 0),\r\n width);\r\n \r\n \r\n \r\n return (\r\n
    \r\n
    \r\n \r\n Export to Excel\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n {/* ph.propertyName || ''))}\r\n className=\"fdt-table\">\r\n Overview of Uploaded Trial Balances for {trialBalanceSummary.reitName} for {trialBalanceSummary.reportPeriodDescription}} className=\"fdt-column-group\">\r\n {this.getColumns(rows, columnNames, trialBalanceSummary.propertyHeaders, widths, this.props.canEdit)}\r\n \r\n */}\r\n\r\n
    \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Empty
    \r\n );\r\n }\r\n}\r\n\r\nTrialBalanceSummaryTable.propTypes = {\r\n trialBalanceSummary: PropTypes.object,\r\n handleHideZeroBalanceRows: PropTypes.func.isRequired,\r\n hideZeroBalanceRows: PropTypes.bool,\r\n handleDownloadTrialBalanceSummary: PropTypes.func.isRequired,\r\n showTrialBalanceAdjustmentsModal: PropTypes.func.isRequired,\r\n canEdit: PropTypes.number.isRequired,\r\n tbMode: PropTypes.number.isRequired\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps Existing properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n };\r\n}\r\n\r\nexport default withWindowDimensions(connect(mapStateToProps)(TrialBalanceSummaryTable));\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Breadcrumb } from 'semantic-ui-react';\r\nimport ErrorSummary from '../shared/ErrorSummary';\r\nimport TrialBalanceSummaryTable from \"./TrialBalanceSummaryTable\";\r\n\r\nconst TrialBalanceSummary = ({ trialBalanceSummary, handleHideZeroBalanceRows, hideZeroBalanceRows, handleDownloadTrialBalanceSummary, showTrialBalanceAdjustmentsModal, tbMode, canEdit }) => {\r\n return ();\r\n};\r\n\r\nTrialBalanceSummary.propTypes = {\r\n hideZeroBalanceRows: PropTypes.bool.isRequired,\r\n trialBalanceSummary: PropTypes.object.isRequired,\r\n handleHideZeroBalanceRows: PropTypes.func.isRequired,\r\n handleDownloadTrialBalanceSummary: PropTypes.func.isRequired,\r\n showTrialBalanceAdjustmentsModal: PropTypes.func.isRequired,\r\n canEdit: PropTypes.number.isRequired,\r\n tbMode: PropTypes.number.isRequired\r\n};\r\n\r\nexport default TrialBalanceSummary;\r\n\r\n\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport FormattedCurrency from \"../shared/FormattedCurrency\";\r\nimport { Icon } from 'semantic-ui-react';\r\nimport { MotifButton, MotifIconButton, MotifIcon } from '@ey-xd/motif-react';\r\nimport { IconoirEditPencil, IconoirTrash } from '@ey-xd/motif-icon';\r\n\r\nconst TrialBalanceAdjustmentRow = ({ item, ownership, selectedItemId, itemAdjustmentId, doShowAdjustmentFormEdit, doShowAdjustmentFormDelete, disableButtons }) => {\r\n let account = `${item.toTrialBalanceItemAccountCode} - ${item.toTrialBalanceItemAccountDescription}`;\r\n let eyAccount = `${item.toTrialBalanceItemInternalAccountCode} : ${item.toTrialBalanceItemInternalAccountDescription}` +\r\n (item.toSubAttribute > 0 ? `\\nSub Attribute - ${item.toSubAttribute}` : '');\r\n \r\n let bal = item.toTrialBalanceItemBalance;\r\n let adj = item.adjustment;\r\n let adjBal = item.toTrialBalanceItemBalance * 1 + item.adjustment * 1;\r\n let pctAdjBal = (item.toTrialBalanceItemBalance * 1 + item.adjustment * 1) * ownership / 100;\r\n\r\n if (item.toTrialBalanceItemId === selectedItemId){ \r\n account = `${item.fromTrialBalanceItemAccountCode} - ${item.fromTrialBalanceItemAccountDescription}`;\r\n eyAccount = `${item.fromTrialBalanceItemInternalAccountCode} : ${item.fromTrialBalanceItemInternalAccountDescription}` +\r\n (item.fromSubAttribute > 0 ? `\\nSub Attribute - ${item.fromSubAttribute}` : '');\r\n bal = item.fromTrialBalanceItemBalance;\r\n adj = -item.adjustment;\r\n adjBal = item.fromTrialBalanceItemBalance * 1 - item.adjustment * 1;\r\n pctAdjBal = (item.fromTrialBalanceItemBalance* 1 - item.adjustment * 1) * ownership / 100;\r\n }\r\n\r\n let bgcolor = '';\r\n if(item.id == itemAdjustmentId){\r\n bgcolor = 'selected';\r\n }\r\n\r\n return (\r\n \r\n {account}\r\n {eyAccount} \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n doShowAdjustmentFormEdit(item.id)}\r\n disabled={disableButtons} >\r\n \r\n \r\n
    \r\n
    \r\n doShowAdjustmentFormDelete(item.id)}\r\n disabled={disableButtons} >\r\n \r\n \r\n
    \r\n \r\n ); \r\n \r\n};\r\n\r\nTrialBalanceAdjustmentRow.propTypes = {\r\n item: PropTypes.object.isRequired,\r\n ownership: PropTypes.number.isRequired,\r\n selectedItemId: PropTypes.number.isRequired,\r\n itemAdjustmentId: PropTypes.number,\r\n doShowAdjustmentFormDelete: PropTypes.func,\r\n doShowAdjustmentFormEdit: PropTypes.func,\r\n disableButtons: PropTypes.bool\r\n};\r\n\r\nexport default TrialBalanceAdjustmentRow;","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { Header, Label, Button, Input, Dropdown } from \"semantic-ui-react\";\r\nimport ReactModal from \"react-modal\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport * as formParsers from \"../../scripts/formParsers\";\r\nimport FormattedCurrency from \"../shared/FormattedCurrency\";\r\nimport TrialBalanceAdjustmentRow from \"./TrialBalanceAdjustmentRow\";\r\nimport { MoneyField } from \"../shared/formFields\";\r\nimport { MotifIcon, MotifButton, MotifDropdown, MotifDropdownItem, MotifSelect, MotifOption, MotifLabel, MotifFormField, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter } from '@ey-xd/motif-react';\r\n\r\n\r\nconst TrialBalanceAdjustmentsModal = ({ showTrialBalanceAdjustmentsModal, handleSubmit, cancelTrialBalanceAdjustmentsModal, selectedItem, selectedItemAdjustments,\r\n selectedItemPropertyName, doShowAdjustmentFormAdd, doShowAdjustmentFormEdit, showAdjustmentForm, disableInputs, trialBalanceItemSelect,\r\n adjustmentFormPurpose, doShowAdjustmentFormDelete, doCloseAdjustmentForm, doSubmitOfAdjustments, tbMode, initialValues }) => {\r\n let trialBalance = 0;\r\n let adjustment = 0;\r\n let itemAdjustments = [];\r\n \r\n if (selectedItemAdjustments.length > 0) {\r\n itemAdjustments = selectedItemAdjustments.filter(a => a.fromTrialBalanceItemId === selectedItem.id || a.toTrialBalanceItemId == selectedItem.id);\r\n }\r\n\r\n if (selectedItem && selectedItem.balance) {\r\n trialBalance = selectedItem.balance;\r\n }\r\n\r\n for (let i = 0; i < itemAdjustments.length; i++) {\r\n if (itemAdjustments[i].toTrialBalanceItemId === selectedItem.id) {\r\n //Reciprocal\r\n adjustment = adjustment - 1 * itemAdjustments[i].adjustment;\r\n continue;\r\n }\r\n\r\n adjustment = adjustment + 1 * itemAdjustments[i].adjustment;\r\n }\r\n\r\n let adjustedBalance = trialBalance - adjustment;\r\n let percentAdjustedBalance = adjustedBalance * selectedItem.percentageOfOwnership / 100;\r\n\r\n let previewText = \"Preview Adjustment\";\r\n let closeText = \"Close\";\r\n let formDisplayClass = 'displayBlock';\r\n let deleteDisplayClass = 'displayNone';\r\n let selectDisplayClass = 'displayBlock';\r\n let selectedTextDisplayClass = 'displayNone';\r\n if (adjustmentFormPurpose === 'DELETE') {\r\n previewText = \"Yes\";\r\n closeText = \"No\";\r\n formDisplayClass = 'displayNone';\r\n deleteDisplayClass = 'displayBlock';\r\n }\r\n if (adjustmentFormPurpose === 'EDIT') {\r\n selectDisplayClass = 'displayNone';\r\n selectedTextDisplayClass = 'displayBlock';\r\n }\r\n\r\n let selectedAdjustmentText = {initialValues.toTrialBalanceItemAccountCode} - {initialValues.toTrialBalanceItemAccountDescription} - {initialValues.toTrialBalanceItemInternalAccountCode} : {initialValues.toTrialBalanceItemInternalAccountDescription};\r\n if (selectedItem.id === initialValues.toTrialBalanceItemId) {\r\n selectedAdjustmentText = {initialValues.fromTrialBalanceItemAccountCode} - {initialValues.fromTrialBalanceItemAccountDescription} - {initialValues.fromTrialBalanceItemInternalAccountCode} : {initialValues.fromTrialBalanceItemInternalAccountDescription};\r\n }\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n {tbMode === 1 && Adjustment to {selectedItemPropertyName} Trial Balance || Adjustment to Consolidated Trial Balance}\r\n \r\n \r\n \r\n {true &&\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {itemAdjustments.map(item => )}\r\n \r\n
    From Account Trial BalanceAdjustmentAdjusted Balance{selectedItem.percentageOfOwnership ? formParsers.percentageOfOwnership(selectedItem.percentageOfOwnership.toString()) : \"\"}% Ownership 
    {selectedItem.clientAccountCode} - {selectedItem.clientAccountDescription}{selectedItem.internalAccountCode} : {selectedItem.internalAccountDescription}\r\n
    \r\n {selectedItem.subAttribute > 0 && Sub Attribute - {selectedItem.subAttribute}} \r\n
     
    \r\n
     
    \r\n\r\n {!showAdjustmentForm &&\r\n
    \r\n Add Adjustment\r\n
    || null}\r\n
    \r\n
    }\r\n {showAdjustmentForm &&\r\n
    \r\n {adjustmentFormPurpose} ADJUSTMENT\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n opt.value}\r\n optionText={(opt) => opt.label}\r\n className=\"add-adjustment-label\"\r\n />\r\n
    \r\n
    \r\n {selectedAdjustmentText}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Delete selected adjustment?

    \r\n
    \r\n
    \r\n {closeText}\r\n {previewText} \r\n
    \r\n\r\n
    \r\n
    \r\n ||\r\n
    \r\n Cancel\r\n \r\n Submit\r\n
    \r\n\r\n }\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nTrialBalanceAdjustmentsModal.propTypes = {\r\n showTrialBalanceAdjustmentsModal: PropTypes.bool,\r\n handleSubmit: PropTypes.func,\r\n cancelTrialBalanceAdjustmentsModal: PropTypes.func,\r\n initialValues: PropTypes.object,\r\n selectedItem: PropTypes.object,\r\n selectedItemAdjustments: PropTypes.array,\r\n selectedItemPropertyName: PropTypes.string,\r\n doShowAdjustmentFormAdd: PropTypes.func,\r\n doShowAdjustmentFormEdit: PropTypes.func,\r\n showAdjustmentForm: PropTypes.bool,\r\n disableButtons: PropTypes.bool,\r\n disableInputs: PropTypes.bool,\r\n trialBalanceItemSelect: PropTypes.array,\r\n adjustmentFormPurpose: PropTypes.string,\r\n doShowAdjustmentFormDelete: PropTypes.func,\r\n doCloseAdjustmentForm: PropTypes.func,\r\n doSubmitOfAdjustments: PropTypes.func,\r\n tbMode: PropTypes.number\r\n};\r\n\r\nexport default reduxForm({ form: \"addAdjustment\", enableReinitialize: true })(TrialBalanceAdjustmentsModal);","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromTrialBalanceApi as fetch } from './fetchFromApi';\r\nimport { download } from '../scripts/fileHelpers';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n/**\r\n * Fetch the trial balance summary by period\r\n * @param {number} periodId The id of the period that owns the TRS.\r\n * @param {boolean} hideZeroBalanceRows True if zero-balance rows should be hidden, otherwise false\r\n * @param {boolean} useColumns True if columns should be used, otherwise false\r\n * @param {boolean} useRows True if rows should be used, otherwise false\r\n * @param {number} trialBalanceMode The trial balance mode\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function getTrialBalanceSummaryByPeriod(periodId, hideZeroBalanceRows, useColumns, useRows, trialBalanceMode) {\r\n return function (dispatch) {\r\n if (hideZeroBalanceRows === undefined) {\r\n hideZeroBalanceRows = false;\r\n }\r\n\r\n let url = '/trialBalanceSummary?periodId=' + periodId;\r\n url += '&hideZeroBalanceRows=' + hideZeroBalanceRows;\r\n if (useColumns !== undefined) {\r\n url += '&useColumns=' + useColumns;\r\n }\r\n if (useRows !== undefined) {\r\n url += '&useRows=' + useRows;\r\n }\r\n if (trialBalanceMode) {\r\n url += '&trialBalanceMode=' + trialBalanceMode;\r\n } else { url += '&trialBalanceMode=1'; }\r\n\r\n url += '&ShowDetailCode=false';\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(url).then(response => {\r\n return response.json();\r\n }).then(trialBalanceSummary => {\r\n if (actionHelpers.isErrorResponse(trialBalanceSummary)) {\r\n if (trialBalanceSummary.errorCode === 'RESOURCE_NOT_FOUND') {\r\n trialBalanceSummary = null; // Allow 404 and dispatch success with null property\r\n } else {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_TB_SUMMARY_FAILURE, trialBalanceSummary);\r\n }\r\n }\r\n\r\n dispatch({ type: actions.LOAD_TB_SUMMARY_SUCCESS, trialBalanceSummary, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_TB_SUMMARY_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Download the trial balance blob\r\n * @param {number} periodId The id of the period that owns the trial balance\r\n * @param {boolean} hideZeroBalanceRows True if zero-balance rows should be hidden, otherwise false\r\n * @param {number} trialBalanceMode The trial balance mode\r\n * @returns {Promise} A promise that downloads the trial balance\r\n */\r\nexport function downloadTrialBalanceSummary(periodId, hideZeroBalanceRows, trialBalanceMode) {\r\n let url = '/trialBalanceSummary/export?periodId=' + periodId;\r\n url += '&hideZeroBalanceRows=' + hideZeroBalanceRows;\r\n if (trialBalanceMode) {\r\n url += '&trialBalanceMode=' + trialBalanceMode;\r\n } else { url += '&trialBalanceMode=1'; }\r\n\r\n url += '&ShowDetailCode=true';\r\n\r\n return fetch(url)\r\n .then(function (response) {\r\n return response.blob().then(function (blob) {\r\n const contentDisposition = response.headers.get(\"Content-Disposition\");\r\n const fileName = contentDisposition.split(';')[1].split('=')[1].trim();\r\n download(blob, fileName);\r\n });\r\n });\r\n}","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromTrialBalanceApi as fetch } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n/**\r\n * Fetch the trial balance adjustments by period ID\r\n * @param {number} periodId The ID of the report period with trial balance that have adjusted items.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function getTrialBalanceAdjustmentsByPeriodId(periodId) {\r\n return function (dispatch) {\r\n \r\n let url = '/trialBalanceAdjustments/period?periodId=' + periodId;\r\n \r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(url).then(response => {\r\n return response.json();\r\n }).then(trialBalanceAdjustments => {\r\n if (actionHelpers.isErrorResponse(trialBalanceAdjustments)) {\r\n if (trialBalanceAdjustments.errorCode === 'RESOURCE_NOT_FOUND') {\r\n trialBalanceAdjustments = null; // Allow 404 and dispatch success with null property\r\n } else {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_TB_ADJUSTMENTS_FAILURE, trialBalanceAdjustments);\r\n }\r\n }\r\n \r\n dispatch({ type: actions.LOAD_TB_ADJUSTMENTS_SUCCESS, trialBalanceAdjustments, [pendingTask]: end });\r\n return trialBalanceAdjustments;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_TB_ADJUSTMENTS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the trial balance items by trial balance ID\r\n * @param {number} trialBalanceId The ID of the trial balance.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function getTrialBalanceItemsByTrialBalanceId(trialBalanceId) {\r\n return function (dispatch) {\r\n \r\n let url = '/trialBalances/items/' + trialBalanceId;\r\n \r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(url).then(response => {\r\n return response.json();\r\n }).then(trialBalanceItems => {\r\n if (actionHelpers.isErrorResponse(trialBalanceItems)) {\r\n if (trialBalanceItems.errorCode === 'RESOURCE_NOT_FOUND') {\r\n trialBalanceItems = null; // Allow 404 and dispatch success with null property\r\n } else {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_TB_ITEMS_FAILURE, trialBalanceItems);\r\n }\r\n }\r\n\r\n dispatch({ type: actions.LOAD_TB_ITEMS_SUCCESS, trialBalanceItems, [pendingTask]: end });\r\n return trialBalanceItems;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_TB_ITEMS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Process the trial balance item adjustments.\r\n * @param {any} adjustments The item adjustments\r\n * @returns {function} A Promise.\r\n */\r\nexport function applyAdjustments(adjustments){\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch('/trialBalanceAdjustments',\r\n {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'PUT',\r\n body: JSON.stringify(adjustments)\r\n }).then(response => {\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return;\r\n });\r\n };\r\n}","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport TrialBalanceUpload from '../../components/tb/TrialBalanceUpload';\r\nimport TrialBalanceSummary from '../../components/tb/TrialBalanceSummary';\r\nimport TrialBalanceAdjustmentsModal from '../../components/tb/TrialBalanceAdjustmentsModal';\r\nimport * as trialBalanceActions from '../../actions/trialBalanceActions';\r\nimport * as reitActions from '../../actions/reitActions';\r\nimport * as commonActions from \"../../actions/commonActions\";\r\nimport * as PeriodActions from \"../../actions/periodActions\";\r\nimport * as propertyActions from '../../actions/propertyActions';\r\nimport * as chartOfAccountsActions from '../../actions/chartOfAccountsActions';\r\nimport * as trialBalanceSummaryActions from '../../actions/trialBalanceSummaryActions';\r\nimport * as trialBalanceAdjustmentActions from '../../actions/trialBalanceAdjustmentActions';\r\nimport * as actions from '../../actions/actionTypes';\r\nimport { percentageOfOwnership } from '../../scripts/formValidators.js';\r\nimport $ from 'jquery';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport {store} from \"../../store/configureStore\";\r\nimport { reset } from \"redux-form\";\r\nimport {\r\n MotifToggleSwitch,\r\n MotifOption,\r\n MotifLabel,\r\n MotifButton,\r\n MotifFormField\r\n} from '@ey-xd/motif-react';\r\nimport { withRouter } from '../../common/withRouter';\r\n\r\n/**\r\n * Container component used for uploading trial balance files\r\n */\r\nexport class TrialBalanceUploadPage extends React.Component {\r\n /**\r\n * Creates a new TrialBalanceUploadPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n file: null,\r\n canEdit: true,\r\n property: null,\r\n selectedTBOption: \"0\",\r\n percentageOfOwnership: \"100\",\r\n showDetails: false,\r\n hideZeroBalanceRows: true, // Hide zero balance rows initially\r\n activePeriod: null,\r\n tbMode: 1,\r\n uploadId: null,\r\n errorResponse: null,\r\n showTrialBalanceAdjustmentsModal: false,\r\n selectedItemAdjustments: [],\r\n selectedItemPropertyName: \"\",\r\n itemAdjustment: { \"toTrialBalanceItemId\": null, \"adjustment\": null, \"reason\": \"\" },\r\n showAdjustmentForm: false,\r\n disableInputs: false,\r\n trialBalanceItemSelect: [],\r\n originalAdjustmentsHold: [], \r\n adjustmentFormPurpose: null,\r\n chartExistsForClient: false,\r\n headerText : \"Trial Balance Upload\",\r\n enableTBUploadSection: false\r\n };\r\n\r\n this.showDetails = this.showDetails.bind(this);\r\n this.handleHideZeroBalanceRows = this.handleHideZeroBalanceRows.bind(this);\r\n this.onFileChange = this.onFileChange.bind(this);\r\n this.submit = this.submit.bind(this);\r\n this.createTrialBalancePurposeSelectItems = this.createTrialBalancePurposeSelectItems.bind(this);\r\n this.handleTrialBalancePurposeDropdownSelected = this.handleTrialBalancePurposeDropdownSelected.bind(this);\r\n this.onTrialBalanceSummaryDownload = this.onTrialBalanceSummaryDownload.bind(this);\r\n this.showTrialBalanceAdjustmentsModal = this.showTrialBalanceAdjustmentsModal.bind(this);\r\n this.handleDismissErrorMessage = this.handleDismissErrorMessage.bind(this);\r\n this.handleDismissSuccessMessage = this.handleDismissSuccessMessage.bind(this);\r\n this.handlePctChanged = this.handlePctChanged.bind(this);\r\n this.handleDownloadTbTemplates = this.handleDownloadTbTemplates.bind(this);\r\n this.cancelTrialBalanceAdjustmentsModal = this.cancelTrialBalanceAdjustmentsModal.bind(this);\r\n this.handlePreviewAdjustment = this.handlePreviewAdjustment.bind(this);\r\n this.doShowAdjustmentFormAdd = this.doShowAdjustmentFormAdd.bind(this);\r\n this.doShowAdjustmentFormEdit = this.doShowAdjustmentFormEdit.bind(this);\r\n this.doShowAdjustmentFormDelete = this.doShowAdjustmentFormDelete.bind(this);\r\n this.doCloseAdjustmentForm = this.doCloseAdjustmentForm.bind(this);\r\n this.doSubmitOfAdjustments = this.doSubmitOfAdjustments.bind(this);\r\n this.downloadTbTemplates = this.downloadTbTemplates.bind(this);\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n // Check if state.period is null, if it is populate period\r\n if (!this.props.period || !this.state.activePeriod) {\r\n this.props.periodActions.fetchPeriodById(this.props.periodId).then(() => {\r\n this.props.commonActions.clearErrorResponse();\r\n this.props.actions.fetchReit(this.props.reitId).then(() => {\r\n this.setCanEdit(this.props.period);\r\n\r\n this.setState({ activePeriod: Object.assign({}, this.props.period), tbMode: this.props.period.trialBalanceModeID }, () => {\r\n this.props.propertyActions.fetchPropertiesByPeriod(this.props.periodId).then(() => {\r\n this.setState({ enableTBUploadSection: true });\r\n if (this.props.properties && this.props.properties.length) {\r\n if (this.props.properties.length === 1 && this.state.activePeriod && this.state.activePeriod.trialBalanceModeID === 2) {\r\n this.setState({ tbMode: 2, headerText : \"Upload Consolidated Trial Balance\"});\r\n let propertyId = this.props.properties[0].propertyID;\r\n let propertyPerctentageOfOwnership = this.props.properties[0].percentageOfOwnership;\r\n this.setState({ property: propertyId, percentageOfOwnership: propertyPerctentageOfOwnership.toString() });\r\n } else {\r\n this.setState({ tbMode: 1, headerText : \"Trial Balance Upload\" });\r\n }\r\n }\r\n });\r\n });\r\n });\r\n });\r\n }\r\n \r\n //Get charts based on Client\r\n if (this.props && this.props.clientId > 0) {\r\n this.props.chartOfAccountsActions.fetchChartsByClientId(this.props.clientId).then((charts) => {\r\n if (charts && charts.length > 0) {\r\n this.setState({ chartExistsForClient: true });\r\n }\r\n });\r\n }\r\n } \r\n\r\n componentWillUnmount() {\r\n this.props.commonActions.clearErrorResponse();\r\n this.props.actions.clearUploadTbSuccess();\r\n\r\n // null this out, so next time we re-enter page, it will fetch new data\r\n this.setState({ activePeriod: null });\r\n }\r\n\r\n setCanEdit(period) {\r\n const isEnabled = PeriodActions.isTestingEnabled(period);\r\n this.setState({ canEdit: isEnabled });\r\n }\r\n\r\n handleDismissErrorMessage() {\r\n this.props.commonActions.clearErrorResponse();\r\n this.setState({ errorResponse: null });\r\n }\r\n\r\n handleDismissSuccessMessage() {\r\n this.props.actions.clearUploadTbSuccess();\r\n }\r\n\r\n onFileChange(e) {\r\n this.props.actions.clearUploadTbSuccess();\r\n this.setState({ file: e.target.files[0] });\r\n }\r\n\r\n showDetails() {\r\n this.setState({ showDetails: !this.state.showDetails }, () => {\r\n if (this.state.showDetails) {\r\n this.props.trialBalanceSummaryActions.getTrialBalanceSummaryByPeriod(this.props.periodId, this.state.hideZeroBalanceRows, false, true, this.state.tbMode);\r\n }\r\n });\r\n }\r\n\r\n handleHideZeroBalanceRows() {\r\n // hide or show zero balance rows\r\n this.setState({ hideZeroBalanceRows: !this.state.hideZeroBalanceRows },\r\n () => this.props.trialBalanceSummaryActions.getTrialBalanceSummaryByPeriod(this.props.periodId, this.state.hideZeroBalanceRows, false, true, this.state.tbMode));\r\n }\r\n\r\n onTrialBalanceSummaryDownload() {\r\n this.props.commonActions.beginTask();\r\n return trialBalanceSummaryActions.downloadTrialBalanceSummary(this.props.periodId, this.state.hideZeroBalanceRows, false, true, this.state.tbMode).then(() => this.props.commonActions.endTask());\r\n }\r\n\r\n submit(e) {\r\n e.preventDefault();\r\n this.props.actions.clearUploadTbSuccess();\r\n this.props.commonActions.clearErrorResponse();\r\n this.setState({ errorResponse: null });\r\n\r\n const myFile = this.state.file;\r\n\r\n let uploadId = null;\r\n\r\n if (myFile) {\r\n if (this.state.tbMode === 2) {\r\n uploadId = uuidv4();\r\n this.props.actions.uploadTrialBalance(this.props.periodId, \"adjusted\", myFile, 2, this.state.property, this.state.percentageOfOwnership, uploadId, this.props.clientId);\r\n\r\n this.setState({ hideZeroBalanceRows: false, showDetails: false, uploadId: uploadId, file: null });\r\n return;\r\n }\r\n\r\n if (this.state.property === null) {\r\n return;\r\n }\r\n\r\n if (this.state.property === 0) {\r\n uploadId = uuidv4();\r\n this.props.actions.uploadTrialBalance(this.props.periodId, \"adjusted\", myFile, 1, null, 100.00, uploadId, this.props.clientId);\r\n }\r\n\r\n if (this.state.property > 0) {\r\n uploadId = uuidv4();\r\n this.props.actions.uploadTrialBalance(this.props.periodId, \"adjusted\", myFile, 2, this.state.property, this.state.percentageOfOwnership, uploadId, this.props.clientId);\r\n }\r\n\r\n this.setState({ hideZeroBalanceRows: false, showDetails: false, uploadId: uploadId, file: null, selectedTBOption: \"0\", property: null });\r\n }\r\n $('input[name=tbFileToUpload]').val(\"\");\r\n }\r\n\r\n createTrialBalancePurposeSelectItems() {\r\n let items = [];\r\n items.push(REIT);\r\n if (this.props.properties.length > 0) {\r\n for (let i = 0; i < this.props.properties.length; i++) {\r\n items.push({this.props.properties[i].propertyName});\r\n }\r\n }\r\n return items;\r\n }\r\n\r\n handleTrialBalancePurposeDropdownSelected(_value) {\r\n const value = parseInt(_value);\r\n \r\n switch (value) {\r\n case 0:\r\n this.setState({ property: null, percentageOfOwnership: \"100\", selectedTBOption: \"0\" });\r\n break;\r\n case 1:\r\n this.setState({ property: 0, percentageOfOwnership: \"100\", selectedTBOption: \"1\" });\r\n break;\r\n default:\r\n if (this.props.properties.length > 0) {\r\n // Note offset of 2 for index of property\r\n const propertyId = this.props.properties[value - 2].propertyID;\r\n const propertyPerctentageOfOwnership = this.props.properties[value - 2].percentageOfOwnership;\r\n this.setState({ property: propertyId, percentageOfOwnership: propertyPerctentageOfOwnership.toString(), selectedTBOption: String(value) });\r\n }\r\n break;\r\n }\r\n }\r\n\r\n handlePctChanged(e) {\r\n const value = percentageOfOwnership(e.target.value);\r\n if (value === undefined) {\r\n return;\r\n }\r\n\r\n this.setState({ percentageOfOwnership: value.toString() });\r\n }\r\n\r\n handleDownloadTbTemplates(clientId, periodId) {\r\n \r\n return this.props.trialBalanceActions.downloadTbTemplates(clientId, false, periodId).then((blob) => {\r\n return blob;\r\n });\r\n }\r\n\r\n handlePreviewAdjustment(values) {\r\n this.setState({ showAdjustmentForm: false });\r\n if (this.state.adjustmentFormPurpose === 'ADD') {\r\n let toItem = this.props.trialBalanceItems.find(i => i.id === parseInt(values.toTrialBalanceItemId));\r\n let newAdjustment = {\r\n \"fromTrialBalanceItemId\": this.state.selectedItem.id,\r\n \"fromTrialBalanceItemAccountCode\": this.state.selectedItem.clientAccountCode,\r\n \"fromTrialBalanceItemAccountDescription\": this.state.selectedItem.clientAccountDescription,\r\n \"fromTrialBalanceItemBalance\": this.state.selectedItem.balance,\r\n \"toTrialBalanceItemId\": toItem.id,\r\n \"toTrialBalanceItemAccountCode\": toItem.clientAccountCode,\r\n \"toTrialBalanceItemAccountDescription\": toItem.clientAccountDescription,\r\n \"toTrialBalanceItemInternalAccountCode\": toItem.internalAccountCode,\r\n \"toTrialBalanceItemInternalAccountDescription\": toItem.internalAccountDescription,\r\n \"toTrialBalanceItemBalance\": toItem.balance,\r\n \"trialBalanceId\": this.state.selectedItem.trialBalanceId,\r\n \"adjustment\": values.adjustment,\r\n \"reason\": values.reason,\r\n \"percentageOfOwnership\": values.percentageOfOwnership,\r\n \"id\": this.guid(),\r\n \"fromSubAttribute\": this.state.selectedItem?.subAttribute,\r\n \"toSubAttribute\": toItem?.subAttribute\r\n };\r\n\r\n let newAdjustments = Object.assign([], this.state.selectedItemAdjustments);\r\n newAdjustments.push(newAdjustment);\r\n this.setState({ selectedItemAdjustments: Object.assign([], newAdjustments) });\r\n }\r\n\r\n if (this.state.adjustmentFormPurpose === 'DELETE') {\r\n let newAdjustments = [];\r\n let originalAdjustmentsHold = [];\r\n for (let adj of this.state.selectedItemAdjustments) {\r\n if (adj.id !== values.id) {\r\n newAdjustments.push(adj);\r\n continue;\r\n }\r\n\r\n // Store deleted original for restoration on cancel\r\n // Never put a 'new' adjustment in originalAdjustmentHold.\r\n // Don't duplicate an original on subsequent deletes.\r\n if (!this.state.originalAdjustmentsHold.some(a => a.id == adj.id) && Number.isInteger(adj.id)) {\r\n originalAdjustmentsHold.push(adj);\r\n }\r\n }\r\n\r\n this.setState({\r\n originalAdjustmentsHold: Object.assign([], this.state.originalAdjustmentsHold, originalAdjustmentsHold),\r\n selectedItemAdjustments: Object.assign([], newAdjustments)\r\n });\r\n }\r\n\r\n if (this.state.adjustmentFormPurpose === 'EDIT') {\r\n let newSelectedItemAdjustments = [];\r\n let originalAdjustmentsHold = [];\r\n for (let adj of this.state.selectedItemAdjustments) {\r\n if (adj.id == values.id) {\r\n // Store unedited original for restoration on cancel\r\n // Never put a 'new' adjustment in originalAdjustmentHold.\r\n // Don't duplicate an original on subsequent edits.\r\n if (!this.state.originalAdjustmentsHold.some(a => a.id == adj.id) && Number.isInteger(adj.id)) {\r\n originalAdjustmentsHold.push(adj);\r\n }\r\n\r\n let toItem = this.props.trialBalanceItems.find(i => i.id == values.toTrialBalanceItemId);\r\n\r\n\r\n let editAdj = {\r\n \"fromTrialBalanceItemId\": this.state.selectedItem.id,\r\n \"fromTrialBalanceItemAccountCode\": this.state.selectedItem.clientAccountCode,\r\n \"fromTrialBalanceItemAccountDescription\": this.state.selectedItem.clientAccountDescription,\r\n \"fromTrialBalanceItemBalance\": this.state.selectedItem.balance,\r\n \"fromTrialBalanceItemInternalAccountCode\": this.state.selectedItem.internalAccountCode,\r\n \"fromTrialBalanceItemInternalAccountDescription\": this.state.selectedItem.internalAccountDescription,\r\n \"toTrialBalanceItemId\": toItem.id,\r\n \"toTrialBalanceItemAccountCode\": toItem.clientAccountCode,\r\n \"toTrialBalanceItemAccountDescription\": toItem.clientAccountDescription,\r\n \"toTrialBalanceItemInternalAccountCode\": toItem.internalAccountCode,\r\n \"toTrialBalanceItemInternalAccountDescription\": toItem.internalAccountDescription,\r\n \"toTrialBalanceItemBalance\": toItem.balance,\r\n \"trialBalanceId\": this.state.selectedItem.trialBalanceId,\r\n \"adjustment\": values.adjustment,\r\n \"reason\": values.reason,\r\n \"percentageOfOwnership\": values.percentageOfOwnership,\r\n \"id\": values.id\r\n };\r\n\r\n if (this.state.selectedItem.id === values.toTrialBalanceItemId) {\r\n // Flip reciprocals back after editing\r\n editAdj.adjustment = values.adjustment * -1;\r\n editAdj.fromTrialBalanceItemId = values.fromTrialBalanceItemId;\r\n editAdj.fromTrialBalanceItemAccountCode = values.fromTrialBalanceItemAccountCode;\r\n editAdj.fromTrialBalanceItemAccountDescription = values.fromTrialBalanceItemAccountDescription;\r\n editAdj.fromTrialBalanceItemBalance = values.fromTrialBalanceItemBalance;\r\n editAdj.fromTrialBalanceItemInternalAccountCode = values.fromTrialBalanceItemInternalAccountCode,\r\n editAdj.fromTrialBalanceItemInternalAccountDescription = values.fromTrialBalanceItemInternalAccountDescription\r\n }\r\n\r\n newSelectedItemAdjustments.push(editAdj);\r\n continue;\r\n }\r\n\r\n newSelectedItemAdjustments.push(adj);\r\n }\r\n\r\n this.setState({\r\n originalAdjustmentsHold: Object.assign([], [...this.state.originalAdjustmentsHold, ...originalAdjustmentsHold]),\r\n selectedItemAdjustments: Object.assign([], newSelectedItemAdjustments)\r\n });\r\n }\r\n\r\n store.dispatch(reset('addAdjustment'));\r\n }\r\n\r\n doShowAdjustmentFormAdd() {\r\n this.setState({ showAdjustmentForm: true, adjustmentFormPurpose: 'ADD', disableInputs: false, itemAdjustment: { \"toTrialBalanceItemId\": null, \"adjustment\": null, \"reason\": \"\" } });\r\n }\r\n\r\n doShowAdjustmentFormEdit(id) {\r\n let adjustmentToEdit = Object.assign({}, this.state.selectedItemAdjustments.find(a => a.id == id));\r\n\r\n if (this.state.selectedItem.id === adjustmentToEdit.toTrialBalanceItemId) {\r\n // Flip reciprocals for editing\r\n adjustmentToEdit.adjustment = adjustmentToEdit.adjustment * -1;\r\n }\r\n this.setState({ itemAdjustment: adjustmentToEdit, showAdjustmentForm: true, adjustmentFormPurpose: 'EDIT', disableInputs: false });\r\n }\r\n\r\n doShowAdjustmentFormDelete(id) {\r\n let adjustmentToDelete = Object.assign({}, this.state.selectedItemAdjustments.find(a => a.id == id));\r\n this.setState({ itemAdjustment: adjustmentToDelete, showAdjustmentForm: true, adjustmentFormPurpose: 'DELETE', disableInputs: true });\r\n }\r\n\r\n doSubmitOfAdjustments() {\r\n this.setState({ showTrialBalanceAdjustmentsModal: false, showAdjustmentForm: false, adjustmentFormPurpose: 'SUBMIT', disableInputs: false }, this.submitAdjustments());\r\n }\r\n\r\n submitAdjustments() {\r\n const request = { \"trialBalanceId\": this.state.selectedItem.trialBalanceId, \"adjustments\": this.state.selectedItemAdjustments };\r\n this.props.trialBalanceAdjustmentActions.applyAdjustments(request).then(() => {\r\n this.props.trialBalanceSummaryActions.getTrialBalanceSummaryByPeriod(this.props.periodId, this.state.hideZeroBalanceRows, false, true, this.state.tbMode).then(() => {\r\n this.props.trialBalanceAdjustmentActions.getTrialBalanceAdjustmentsByPeriodId(this.props.periodId);\r\n });\r\n });\r\n }\r\n\r\n doCloseAdjustmentForm() {\r\n this.setState({ itemAdjustment: {}, showAdjustmentForm: false, adjustmentFormPurpose: '', disableInputs: false });\r\n }\r\n\r\n cancelTrialBalanceAdjustmentsModal() {\r\n // First, remove any selectedItemAdjustments that are in the originaAdjustmentHold array (because they are preview deleted or preview edited)\r\n // Also remove any new adjustments, they have a GUID for their ID\r\n let adjustmentsToRetain = [];\r\n for (let adj of this.state.selectedItemAdjustments) {\r\n if (!this.state.originalAdjustmentsHold.some(a => a.id == adj.id) && Number.isInteger(adj.id)) {\r\n adjustmentsToRetain.push(adj);\r\n }\r\n }\r\n\r\n // Then concat the what remains with the originaAdjustmentHold array.\r\n // This has the selectedItemAdjustments back to where it was before previewing changes.\r\n this.setState({\r\n selectedItemAdjustments: Object.assign([], [...adjustmentsToRetain, ...this.state.originalAdjustmentsHold]),\r\n originalAdjustmentsHold: [], showTrialBalanceAdjustmentsModal: false, showAdjustmentForm: false, itemAdjustment: {}\r\n });\r\n store.dispatch(reset('addAdjustment'));\r\n }\r\n\r\n showTrialBalanceAdjustmentsModal(e) {\r\n e.preventDefault();\r\n const propName = e.target.dataset.propname;\r\n\r\n this.props.actions.getTrialBalanceItem(e.target.dataset.id).then((trialBalanceItem) => {\r\n this.setState({ selectedItem: Object.assign({}, trialBalanceItem) }, () => {\r\n this.props.trialBalanceAdjustmentActions.getTrialBalanceItemsByTrialBalanceId(trialBalanceItem.trialBalanceId).then((trialBalanceItems) => {\r\n this.props.trialBalanceAdjustmentActions.getTrialBalanceAdjustmentsByPeriodId(this.props.periodId).then((trialBalanceAdjustments) => {\r\n this.setState({ showTrialBalanceAdjustmentsModal: true, selectedItemPropertyName: propName, selectedItemAdjustments: Object.assign([], trialBalanceAdjustments) }, () => {\r\n this.createTrialBalanceItemSelect(trialBalanceItems);\r\n });\r\n });\r\n });\r\n });\r\n });\r\n\r\n }\r\n\r\n createTrialBalanceItemSelect(trialBalanceItems) {\r\n if (!trialBalanceItems) {\r\n return;\r\n }\r\n let items = [];\r\n let selectedItemId = this.state.selectedItem.id;\r\n for (let i = 0; i < trialBalanceItems.length; i++) {\r\n if (trialBalanceItems[i].id == selectedItemId) {\r\n continue;\r\n }\r\n \r\n const { internalAccountCode, subAttribute, id, clientAccountCode, clientAccountDescription, internalAccountDescription } = trialBalanceItems[i];\r\n\r\n const baseLabel = `${clientAccountCode} - ${clientAccountDescription} - ${internalAccountCode} : ${internalAccountDescription}`;\r\n \r\n if (internalAccountCode === 'AO300' && subAttribute != null && subAttribute !== '' && subAttribute > 0) {\r\n items.push({\r\n value: id,\r\n label: `${baseLabel} - ${subAttribute}`\r\n });\r\n } else {\r\n items.push({\r\n value: id,\r\n label: baseLabel\r\n });\r\n } \r\n }\r\n\r\n let sortedItems = items.sort(this.compareItems); \r\n this.setState({ trialBalanceItemSelect: sortedItems });\r\n }\r\n\r\n guid() {\r\n /**\r\n * Creates a new random-enough GUID.\r\n * @returns {string} A GID\r\n */\r\n function s4() {\r\n return Math.floor((1 + Math.random()) * 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n }\r\n return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();\r\n }\r\n\r\n compareItems(a, b) {\r\n if (a.label < b.label)\r\n return -1;\r\n if (a.label > b.label)\r\n return 1;\r\n return 0;\r\n }\r\n\r\n downloadTbTemplates() {\r\n const { clientId, period } = this.props;\r\n this.handleDownloadTbTemplates(clientId, period.reportPeriodID);\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n const { headerText, canEdit, chartExistsForClient } = this.state;\r\n const {period} = this.props;\r\n const summaryIsAvailable = \r\n this.props.trialBalanceSummary && \r\n this.props.trialBalanceSummary.rows && \r\n this.props.trialBalanceSummary.rows.length > 0;\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n

    {headerText} {canEdit ? \"\" : \"- Testing Closed\"}

    \r\n
    \r\n
    \r\n \r\n {period.reportPeriodDescription} TB Templates\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.enableTBUploadSection && }
    \r\n
    \r\n
    \r\n
    \r\n \r\n Display Details and Adjustments:\r\n \r\n \r\n \r\n \r\n
    \r\n {this.state.showDetails && summaryIsAvailable &&\r\n
    \r\n \r\n Display Zero Balance Rows:\r\n \r\n \r\n \r\n \r\n
    }\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.showDetails &&\r\n (summaryIsAvailable ?\r\n :\r\n

    Please upload trial balance for the period to view details.

    )}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nTrialBalanceUploadPage.propTypes = {\r\n clientId: PropTypes.number.isRequired,\r\n period: PropTypes.object,\r\n properties: PropTypes.array,\r\n reitId: PropTypes.number.isRequired,\r\n reit: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string\r\n }),\r\n periodId: PropTypes.number.isRequired,\r\n actions: PropTypes.object.isRequired,\r\n errorResponse: PropTypes.object,\r\n tbUploadSuccess: PropTypes.bool,\r\n periodActions: PropTypes.object.isRequired,\r\n trialBalanceStatus: PropTypes.object,\r\n trialBalanceSummary: PropTypes.object,\r\n commonActions: PropTypes.object,\r\n propertyActions: PropTypes.object,\r\n chartOfAccountsActions: PropTypes.object.isRequired,\r\n trialBalanceSummaryActions: PropTypes.object,\r\n trialBalanceAdjustmentActions: PropTypes.object,\r\n trialBalanceAdjustments: PropTypes.array,\r\n trialBalanceItem: PropTypes.object,\r\n trialBalanceItems: PropTypes.array\r\n};\r\n\r\nTrialBalanceUploadPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps Existing properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n periodId: Number.parseInt(ownProps.router.params.periodId),\r\n clientId: Number.parseInt(ownProps.router.params.clientId),\r\n reitId: Number.parseInt(ownProps.router.params.reitId),\r\n reit: state.reit,\r\n errorResponse: state.errorResponse,\r\n tbUploadSuccess: state.tbUploadSuccess,\r\n period: state.period,\r\n properties: state.properties,\r\n trialBalanceSummary: state.trialBalanceSummary,\r\n trialBalanceStatus: state.trialBalanceStatus,\r\n pendingTasks: state.pendingTasks,\r\n trialBalanceAdjustments: state.trialBalanceAdjustments,\r\n trialBalanceItem: state.trialBalanceItem,\r\n trialBalanceItems: state.trialBalanceItems\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(Object.assign({}, trialBalanceActions, reitActions), dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n periodActions: bindActionCreators(PeriodActions, dispatch),\r\n trialBalanceActions: bindActionCreators(trialBalanceActions, dispatch),\r\n propertyActions: bindActionCreators(propertyActions, dispatch),\r\n chartOfAccountsActions: bindActionCreators(chartOfAccountsActions, dispatch),\r\n trialBalanceSummaryActions: bindActionCreators(trialBalanceSummaryActions, dispatch),\r\n trialBalanceAdjustmentActions: bindActionCreators(trialBalanceAdjustmentActions, dispatch),\r\n processingCompleteNotified: () => dispatch({ type: actions.TB_PROCESSING_COMPLETE_NOTIFIED })\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(TrialBalanceUploadPage));\r\n","import React from 'react';\r\nimport { Outlet } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as actions from '../../actions/periodActions';\r\nimport TrialBalanceUploadPage from \"../tb/TrialBalanceUploadPage\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * ReportPeriodLoader container component\r\n * @extends {React.Component}\r\n */\r\nexport class ReportPeriodLoader extends React.Component { \r\n /**\r\n * Invoked immediately after a component mounts\r\n */\r\n componentDidMount() {\r\n if (this.props.periodId && this.props.reit && Array.isArray(this.props.reit.periods)) {\r\n this.props.actions.getPeriodFromReit(this.props.periodId, this.props.reit);\r\n }\r\n }\r\n\r\n /**\r\n * Triggered when the component is about to receive properties\r\n * @param {Object} nextProps The properties the component is receiving\r\n */\r\n componentDidUpdate(prevProps) {\r\n if (this.props.reit && Array.isArray(this.props.reit.periods) && prevProps.reit !== this.props.reit) {\r\n this.props.actions.getPeriodFromReit(this.props.periodId, this.props.reit);\r\n }\r\n }\r\n \r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n //if (this.props.location.endsWith(`/period/${this.props.periodId}`)) {\r\n // this.context.router.push(`/client/${this.props.client.id}/reit/${this.props.reit.reitid}/period/${this.props.periodId}/uploadtb/adjusted`);\r\n //}\r\n let children = || ;\r\n\r\n return (
    {children}
    );\r\n }\r\n}\r\n\r\nReportPeriodLoader.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nReportPeriodLoader.propTypes = {\r\n client: PropTypes.shape({\r\n id: PropTypes.number\r\n }),\r\n reit: PropTypes.shape({\r\n id: PropTypes.number,\r\n periods: PropTypes.arrayOf(PropTypes.shape({\r\n reportPeriodID: PropTypes.number.isRequired\r\n }))\r\n }),\r\n periodId: PropTypes.string.isRequired,\r\n period: PropTypes.shape({\r\n reportPeriodID: PropTypes.number, \r\n description: PropTypes.string,\r\n status: PropTypes.string\r\n }),\r\n actions: PropTypes.object,\r\n trialBalanceActions: PropTypes.object,\r\n location: PropTypes.string\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n periodId: ownProps.router.params.periodId,\r\n client: state.client,\r\n reit: state.reit,\r\n period: state.period,\r\n location: ownProps.router.location.pathname\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(actions, dispatch),\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ReportPeriodLoader));","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { MotifButton } from '@ey-xd/motif-react';\r\n\r\n/**\r\n * The ReportExport component.\r\n * @extends {React.Component}\r\n */\r\nexport default class ReportExport extends React.Component {\r\n /**\r\n * Creates a new ReportExport\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.onExportClick = this.onExportClick.bind(this);\r\n }\r\n\r\n /**\r\n * Fire the onExportClick function in props\r\n * @param {any} e The element that triggered this function\r\n */\r\n onExportClick(e) {\r\n e.preventDefault();\r\n this.props.onExportClick(this.props.periodId, this.props.selectedReportItems, this.props.excludedPsqs);\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n let hasIncompleteSecuritySnapshot;\r\n if(this.props.hasIncompleteSecuritySnapshotsList?.length > 0) {\r\n hasIncompleteSecuritySnapshot = this.props?.hasIncompleteSecuritySnapshotsList.find(repPeriod => repPeriod.reportPeriodID === this.props.periodId)?.hasIncompleteSecuritySnapshot;\r\n\r\n }\r\n return (\r\n \r\n Export\r\n \r\n );\r\n }\r\n}\r\n\r\nReportExport.propTypes = {\r\n periodId: PropTypes.number.isRequired,\r\n selectedReportItems: PropTypes.array,\r\n excludedPsqs: PropTypes.array,\r\n onExportClick: PropTypes.func.isRequired,\r\n canReport: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\r\n hasIncompleteSecuritySnapshotsList: PropTypes.array\r\n};\r\n","import React, { Fragment, useState, useEffect } from \"react\";\r\nimport { FormattedDate } from \"react-intl\";\r\nimport { PropTypes } from \"prop-types\";\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\nimport {\r\n MotifFormField,\r\n MotifCheckbox,\r\n MotifLabel,\r\n MotifSelect,\r\n MotifOption,\r\n MotifToast\r\n} from \"@ey-xd/motif-react\";\r\nconst TABLE_STYLE = { width: '400px', marginLeft: 'auto', marginRight: 'auto' };\r\n\r\nconst INNER_TABLE_STYLE = {\r\n width: 'auto',\r\n minWidth: '50%',\r\n marginLeft: 'auto',\r\n marginRight: 'auto'\r\n};\r\nconst ITALIC_FONT = { fontStyle: 'italic' };\r\nconst ZERO_PADDING = { padding: 0 };\r\nconst INCLUDE_COMMENTS_TEXT = 'Include Comments and Attachments';\r\n\r\nconst isNonEmptyArray = _arr => Array.isArray(_arr) && _arr.length > 0;\r\n\r\nconst getItemDisabledReason = (item, {\r\n hasTrialBalance,\r\n psqChecklists,\r\n hasArqc,\r\n scopedServices,\r\n clientIsAudit\r\n}) => {\r\n if (!hasTrialBalance && (item.type === 'AssetTestResults' || item.type === 'IncomeTestResults')) {\r\n return \"A trial balance has not been uploaded and one is required for this report item.\";\r\n }\r\n\r\n if (!isNonEmptyArray(psqChecklists) && item.type === 'PsqResults') {\r\n return \"There are no Property Survey Questionnaires and one is required for this report item.\";\r\n }\r\n\r\n if (!hasArqc && item.type === 'ArqcResults') {\r\n return \"There are no Annual REIT Qualification Checklists and one is required for this report item.\";\r\n }\r\n\r\n if (item.scopedService && !scopedServices.includes(item.scopedService)) {\r\n return \"Service not in scope for this reporting period.\";\r\n }\r\n\r\n if (clientIsAudit && item.type === 'ClientAccountMappings') {\r\n return 'Client is \"Audit - ARQC Checklist Only';\r\n }\r\n\r\n return null;\r\n}\r\n\r\nconst PsqTable = ({\r\n psqChecklists,\r\n excludedPsqs,\r\n setPsqInclusion,\r\n includePsqComments,\r\n setIncludePsqComments\r\n}) => {\r\n const psqIsIncluded = psq => !excludedPsqs.includes(psq.checklistID);\r\n\r\n return (\r\n \r\n {psqChecklists.map(psq => {\r\n const included = psqIsIncluded(psq);\r\n\r\n const ariaDescription =\r\n `Property Name ${psq.propertyName}` +\r\n psq.propertyType ?\r\n ` (Of type ${psq.propertyTypeDescription})` :\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 setPsqInclusion(psq.checklistID, !included)}>\r\n setPsqInclusion(psq.checklistID, !included)}\r\n aria-label={ariaDescription}>\r\n \r\n {psq.propertyName} {psq.propertyType ? `(${psq.propertyTypeDescription})` : ''}\r\n \r\n {psq.createdDate &&\r\n \r\n
    \r\n \r\n Created on \r\n \r\n
    }\r\n \r\n
    \r\n
    \r\n setIncludePsqComments(!includePsqComments)}>\r\n setIncludePsqComments(!includePsqComments)}>\r\n {INCLUDE_COMMENTS_TEXT}\r\n \r\n \r\n
    );\r\n}\r\n\r\nconst ArqcTable = ({ includeArqcComments, setIncludeArqcComments }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n setIncludeArqcComments(!includeArqcComments)}>\r\n setIncludeArqcComments(!includeArqcComments)}>\r\n {INCLUDE_COMMENTS_TEXT}\r\n \r\n \r\n
    );\r\n}\r\n\r\nconst TemplateSelector = ({\r\n customFdrTemplates,\r\n selectedTemplate,\r\n handleTemplateSelect,\r\n hasIncompleteSecuritySnapshotsList \r\n}) => {\r\n\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n const customTemplateOptions = customFdrTemplates.templates.map((t) => ({\r\n value: t.fdrTemplateID,\r\n label: t.fdrTemplateName,\r\n }));\r\n\r\n const templateOptions = [\r\n { value: -2, label: \"Standard Template\" },\r\n ...customTemplateOptions,\r\n ];\r\n\r\n const currentTemplate = selectedTemplate\r\n ? templateOptions.find(\r\n (to) => to.value === selectedTemplate.templateId\r\n ) || templateOptions[0]\r\n : templateOptions[0];\r\n\r\n const onTemplateSelected = (v) => {\r\n const templateId = parseInt(v);\r\n\r\n const templateOption = templateOptions.find(\r\n (to) => to.value === templateId\r\n );\r\n\r\n handleTemplateSelect(templateOption);\r\n };\r\n\r\n const [renderDropdown, setRenderDropdown] = useState(false);\r\n\r\n useEffect(() => {\r\n setRenderDropdown(false);\r\n setTimeout(() => setRenderDropdown(true));\r\n }, [currentTemplate.value]);\r\n\r\n let hasIncompleteSecuritySnapshot;\r\n if(hasIncompleteSecuritySnapshotsList?.length > 0) {\r\n hasIncompleteSecuritySnapshot = hasIncompleteSecuritySnapshotsList.find(repPeriod => repPeriod.hasIncompleteSecuritySnapshot);\r\n\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n Select an FDR Template\r\n {renderDropdown && (\r\n \r\n {templateOptions.map((o, i) => (\r\n \r\n {String(o.label).replace(/\\s+/g, \"\\u2800\")}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst ReportItemRow = ({\r\n title,\r\n onClick,\r\n item,\r\n selected,\r\n disabled,\r\n setItemSelection,\r\n parentProps\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n setItemSelection(item.type, !selected)}>\r\n {item.displayName}\r\n \r\n \r\n {\r\n item.type === 'PsqResults' &&\r\n selected &&\r\n \r\n }\r\n {\r\n item.type === 'ArqcResults' &&\r\n selected &&\r\n \r\n }\r\n \r\n );\r\n}\r\n\r\nconst ReportItemList = (props) => {\r\n const [containsDisabledItems, setContainsDisabledItems] = useState(false);\r\n const [hideWarningMessage, setHideWarningMessage] = useState(false);\r\n\r\n const {\r\n availableReportItems,\r\n selectedItems,\r\n setItemSelection,\r\n selectedTemplate\r\n } = props;\r\n\r\n const itemIsSelected = type => selectedItems.includes(type);\r\n\r\n const itemFilter =\r\n selectedTemplate.templateId < 0 ?\r\n () => true :\r\n item => ['PsqResults', 'ArqcResults'].includes(item.type);\r\n\r\n const filteredItems = availableReportItems.filter(itemFilter);\r\n\r\n return (\r\n \r\n {\r\n containsDisabledItems &&\r\n !hideWarningMessage &&\r\n setHideWarningMessage(true)}>\r\n One or more report items have been disabled. Hover over the disabled item to find out why.\r\n \r\n }\r\n\r\n
    \r\n \r\n \r\n\r\n {filteredItems.length > 0 ? (\r\n \r\n \r\n {filteredItems.map(item => {\r\n const selected = itemIsSelected(item.type);\r\n const disabledReason = getItemDisabledReason(item, props);\r\n\r\n if (disabledReason && !containsDisabledItems) {\r\n setContainsDisabledItems(true);\r\n }\r\n\r\n const title = disabledReason ?\r\n `${item.displayName} disabled: ${disabledReason}` :\r\n item.isRequired ?\r\n `${item.displayName} is required for all reports.` :\r\n item.displayName;\r\n\r\n const disabled = item.isRequired || disabledReason;\r\n\r\n const onClick = disabled ?\r\n () => { } :\r\n () => setItemSelection(item.type, !selected);\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\nReportItemList.propTypes = {\r\n availableReportItems: PropTypes.arrayOf(PropTypes.shape({\r\n displayName: PropTypes.string,\r\n type: PropTypes.string\r\n })),\r\n selectedItems: PropTypes.arrayOf(PropTypes.string),\r\n setItemSelection: PropTypes.func,\r\n psqChecklists: PropTypes.array,\r\n excludedPsqs: PropTypes.arrayOf(PropTypes.number),\r\n setPsqInclusion: PropTypes.func,\r\n includePsqComments: PropTypes.bool,\r\n setIncludePsqComments: PropTypes.func,\r\n includeArqcComments: PropTypes.bool,\r\n setIncludeArqcComments: PropTypes.func,\r\n customFdrTemplates: PropTypes.object,\r\n selectedTemplate: PropTypes.object,\r\n handleTemplateSelect: PropTypes.func\r\n};\r\n\r\nexport default ReportItemList;","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromReportApi as fetch } from './fetchFromApi';\r\nimport { fetchFromReitApi as fetchFromReit } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport { download } from '../scripts/fileHelpers';\r\n\r\n/**\r\n * Create or Edit a Custom FDR Template. Pass -1 for fdrtemplateid for Create.\r\n * If failure, it will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {number} fdrtemplateid The id of the fdr template.\r\n * @param {string} templateName The name of the template.\r\n * @param {bool} isdeleted Whether the template is deleted.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function createOrEditFDRTemplate(\r\n clientId,\r\n fdrtemplateid,\r\n fdrtemplateName,\r\n isdeleted,\r\n fdrtemplateContent,\r\n currentFdrTemplates = []\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const apiMethod = fdrtemplateid === -1 ? 'POST' : 'PUT';\r\n return fetch(`/fdrtemplates`, {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: apiMethod,\r\n body: JSON.stringify({\r\n clientId,\r\n fdrtemplateid,\r\n fdrtemplateName,\r\n isdeleted,\r\n fdrtemplateContent\r\n })\r\n }).then(response => {\r\n return response.text();\r\n }).then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n //Duplicate Record check\r\n if (jsonResponse && jsonResponse.errorCode == \"DUPLICATE_RECORD_ERROR\") {\r\n return dispatch({ type: actions.SET_CUSTOM_FDR_TEMPLATE_DUPLICATE, response: jsonResponse, [pendingTask]: end });\r\n }\r\n else if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_CUSTOM_FDR_TEMPLATE_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n if(apiMethod === 'PUT'){\r\n //Replace the FDR template name\r\n if (fdrtemplateName){\r\n var updatedFdrTemplateList = currentFdrTemplates.templates.map(template => {\r\n if (template.fdrTemplateID == fdrtemplateid) {\r\n return { ...template, fdrTemplateName: fdrtemplateName }\r\n }\r\n return template;\r\n });\r\n dispatch({\r\n type: actions.UPDATE_CUSTOM_FDR_TEMPLATES_SUCCESS,\r\n updatedFdrTemplateList,\r\n [pendingTask]: end,\r\n });\r\n }else{\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n }\r\n }else{\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n }\r\n return jsonResponse;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_CUSTOM_FDR_TEMPLATE_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Save a current FDR Template to create a new one.\r\n * If failure, it will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @param {number} fdrtemplateid The id of the fdr template.\r\n * @param {string} templateName The name of the template.\r\n * @param {bool} isdeleted Whether the template is deleted.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function SaveAsNewFDRTemplate(\r\n clientId,\r\n fdrtemplateid,\r\n fdrtemplateName,\r\n fdrtemplateContent,\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/fdrtemplates/${clientId}`, {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify({\r\n fdrtemplateid,\r\n fdrtemplateName,\r\n fdrtemplateContent\r\n })\r\n }).then(response => {\r\n return response.text();\r\n }).then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n //Duplicate Record check\r\n if (jsonResponse && jsonResponse.errorCode == \"DUPLICATE_RECORD_ERROR\") {\r\n return dispatch({ type: actions.SET_CUSTOM_FDR_TEMPLATE_DUPLICATE, response: jsonResponse, [pendingTask]: end });\r\n }\r\n else if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_CUSTOM_FDR_TEMPLATE_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_CUSTOM_FDR_TEMPLATE_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n\r\n/**\r\n * Clear duplicate record error message.\r\n */\r\nexport function clearDuplicateMessage() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.CLEAR_CUSTOM_FDR_TEMPLATE_DUPLICATE });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all the custom fdr templates for a client. If successful this will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchCustomFdrTemplates(\r\n clientId,\r\n excludeEmpty = false\r\n) {\r\n return function (dispatch) {\r\n if (!clientId) {\r\n return dispatch({\r\n type: actions.LOAD_CUSTOM_FDR_TEMPLATES_SUCCESS,\r\n customFdrTemplates: []\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/fdrtemplates/templates/${clientId}`)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(customFdrTemplates => {\r\n if (actionHelpers.isErrorResponse(customFdrTemplates)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_FDR_TEMPLATES_FAILURE,\r\n customFdrTemplates,\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_CUSTOM_FDR_TEMPLATES_SUCCESS,\r\n customFdrTemplates,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_FDR_TEMPLATES_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch custom fdr template by templateId. If successful this will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_FAILURE action.\r\n * @param {number} templateId The id of the template.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchCustomFdrTemplateById(\r\n templateId\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/fdrtemplates/${templateId}`)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(customFdrTemplate => {\r\n if (actionHelpers.isErrorResponse(customFdrTemplate)) {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_FDR_TEMPLATES_FAILURE,\r\n null,\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return customFdrTemplate;\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_FDR_TEMPLATES_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n\r\n/**\r\n * Save default fdr templates.\r\n * If failure, it will dispatch the SAVE_DEFAULT_FDR_TEMPLATES_FAILURE action.\r\n * @param {object} fdrtemplates list of default FDR templates.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function saveDefaultFdrTemplates(\r\n fdrtemplates\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const apiMethod = 'PUT';\r\n return fetchFromReit(`/reits/savedefaulttemplates`, {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: apiMethod,\r\n body: JSON.stringify(\r\n fdrtemplates\r\n )\r\n }).then(response => {\r\n return response.text();\r\n }).then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.SAVE_DEFAULT_FDR_TEMPLATES_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.SAVE_DEFAULT_FDR_TEMPLATES_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Get default fdr template set for reit period.\r\n * If failure, it will dispatch the GET_DEFAULT_FDR_TEMPLATE_PERIOD_FAILED action.\r\n * @param {int} clientId the clientId.\r\n * @param {int} reitId the reitId.\r\n * @param {string} periodQuarter the period selected.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function getDefaultFdrTemplateForPeriod(\r\n clientId,\r\n reitId,\r\n periodQuarter\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const apiMethod = 'GET';\r\n return fetchFromReit(`/reits/getReitPeriodDefaultFDRTemplate/${reitId}/${periodQuarter}/${clientId}`, {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: apiMethod\r\n }).then(response => {\r\n return response.json();\r\n }).then(jsonResponse => {\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.SAVE_DEFAULT_FDR_TEMPLATES_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.SAVE_DEFAULT_FDR_TEMPLATES_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch custom fdr template by templateId. If successful this will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchDefaultFdrTemplates(\r\n clientId\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetchFromReit(`/reits/defaultFdrTemplates/${clientId}`)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(defaultFdrTemplates => {\r\n if (actionHelpers.isErrorResponse(defaultFdrTemplates)) {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_DEFAULT_FDR_TEMPLATES_FAILURE,\r\n defaultFdrTemplates,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_DEFAULT_FDR_TEMPLATES_SUCCESS,\r\n defaultFdrTemplates,\r\n [pendingTask]: end,\r\n });\r\n return defaultFdrTemplates;\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_DEFAULT_FDR_TEMPLATES_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Delete custom fdr template by templateId. If successful this will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CUSTOM_FDR_TEMPLATES_FAILURE action.\r\n * @param {number} templateId The id of the trmplate.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function deleteFdrTemplateById(\r\n fdrTemplateId\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/fdrtemplates/` + fdrTemplateId, {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: \"DELETE\"\r\n }).then(response => {\r\n return response.text();\r\n }).then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n //Duplicate Record check\r\n // if (jsonResponse && jsonResponse.errorCode == \"DUPLICATE_RECORD_ERROR\") {\r\n // return dispatch({ type: actions.SET_CUSTOM_FDR_TEMPLATE_DUPLICATE, response: jsonResponse, [pendingTask]: end });\r\n // }\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_TEMPLATE_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n dispatch({\r\n type: actions.DELETE_TEMPLATE_SUCCESS,\r\n fdrTemplateId,\r\n [pendingTask]: end,\r\n });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_TEMPLATE_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Download the trial balance blob\r\n * @param {object} template The template object with id and template name\r\n * @returns {Promise} A promise that downloads a file\r\n */\r\nexport function downloadFdrTemplateDocument(selectedTemplate, periodId, reportItems, excludedPsqs, includePsqComments, includeArqcComments, templateName) {\r\n const payload = {\r\n reportItems,\r\n excludedPsqs,\r\n includePsqComments,\r\n includeArqcComments\r\n };\r\n\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch('/fdrtemplates/template/' + selectedTemplate + '/' + periodId, {\r\n headers: {\r\n 'Accept': 'application/json, application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(payload)\r\n })\r\n .then(function (response) {\r\n if (!response.ok) {\r\n throw new Error('Unexpected error');\r\n }\r\n\r\n return response.blob().then(function (blob) {\r\n const contentDisposition = response.headers.get(\"Content-Disposition\");\r\n const filename = contentDisposition.split(';')[1].split('=')[1].trim();\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n download(blob, filename);\r\n });\r\n }).catch(error => {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.TASK_END, null, error);\r\n });\r\n }\r\n}","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from \"./actionTypes\";\r\nimport { fetchFromReitApi as fetch, fetchFromTrialBalanceApi as fetchTb } from \"./fetchFromApi\";\r\nimport { getTrialBalancesByPeriod } from \"./trialBalanceActions\";\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n/**\r\n * Fetch the distribution test summary belonging to the client. If successful this will dispatch the LOAD_DISTRIBUTION_TEST_SUMMARY_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_DISTRIBUTION_TEST_SUMMARY_FAILURE action.\r\n * @param {number} periodId The id of the REIT period.\r\n * @param {string} authHeader The Authorization header to use. This will be generated if not provided.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchDistributionTestSummary(periodId, authHeader) { \r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/distributions/test?reportPeriodID=${periodId}`,\r\n {\r\n headers: (authHeader && new Headers({ 'Authorization': authHeader })) || null\r\n }).then(response => {\r\n return response.json();\r\n }).then(distributionTestSummary => {\r\n if (actionHelpers.isErrorResponse(distributionTestSummary)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_DISTRIBUTION_TEST_SUMMARY_FAILURE, distributionTestSummary);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_DISTRIBUTION_TEST_SUMMARY_SUCCESS, distributionTestSummary, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_DISTRIBUTION_TEST_SUMMARY_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the distribution test summary belonging to the client. If successful this will dispatch the LOAD_DISTRIBUTION_TEST_SUMMARY_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_DISTRIBUTION_TEST_SUMMARY_FAILURE action.\r\n * @param {number} periodId The ID of the period.\r\n * @param {string} checklistId The checklist identifier.\r\n * @param {string} checklistType The checklist type.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchExternalDistributionTestSummaryByChecklistId(periodId, checklistId, checklistType) {\r\n return fetchDistributionTestSummary(periodId, actionHelpers.buildAuthHeader(checklistId, checklistType));\r\n}\r\n\r\n/**\r\n * Fetch the distribution taxable income belonging to the client. If successful this will dispatch the LOAD_DISTRIBUTION_TAXABLE_INCOME_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_DISTRIBUTION_TAXABLE_INCOME_FAILURE action.\r\n * @param {number} periodId The id of the REIT period.\r\n * @param {string} authHeader The Authorization header to use. This will be generated if not provided.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchDistributionTaxableIncome(periodId, authHeader) { \r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/distributions/taxableincome?reportPeriodID=${periodId}`,\r\n {\r\n headers: (authHeader && new Headers({ 'Authorization': authHeader })) || null\r\n }).then(response => {\r\n return response.json().catch(error => {\r\n return null;\r\n });\r\n }).then(distributionTaxableIncome => {\r\n if (actionHelpers.isErrorResponse(distributionTaxableIncome)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_DISTRIBUTION_TAXABLE_INCOME_FAILURE, distributionTaxableIncome);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_DISTRIBUTION_TAXABLE_INCOME_SUCCESS, distributionTaxableIncome, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_DISTRIBUTION_TAXABLE_INCOME_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the distribution taxable income belonging to the client. If successful this will dispatch the LOAD_DISTRIBUTION_TAXABLE_INCOME_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_DISTRIBUTION_TAXABLE_INCOME_FAILURE action.\r\n * @param {number} periodId The id of the REIT period.\r\n * @param {string} checklistId The checklist identifier.\r\n * @param {string} checklistType The checklist type.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchExternalDistributionTaxableIncomeByChecklistId(periodId, checklistId, checklistType) {\r\n return fetchDistributionTaxableIncome(periodId, actionHelpers.buildAuthHeader(checklistId, checklistType));\r\n}\r\n\r\n/**\r\n * Fetch the distribution test details belonging to the client. If successful this will dispatch the LOAD_DISTRIBUTION_DETAIL_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_DISTRIBUTION_DETAIL_FAILURE action.\r\n * @param {number} periodId The id of the REIT period.\r\n * @param {string} authHeader The Authorization header to use. This will be generated if not provided.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchDistributionDetail(periodId, authHeader) { \r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/distributions?reportPeriodID=${periodId}`,\r\n {\r\n headers: (authHeader && new Headers({ 'Authorization': authHeader })) || null\r\n }).then(response => {\r\n return response.json();\r\n }).then(distributionDetails => {\r\n if (actionHelpers.isErrorResponse(distributionDetails)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_DISTRIBUTION_DETAIL_FAILURE, distributionDetails);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_DISTRIBUTION_DETAIL_SUCCESS, distributionDetails, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_DISTRIBUTION_DETAIL_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the distribution test details belonging to the client. If successful this will dispatch the LOAD_DISTRIBUTION_DETAIL_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_DISTRIBUTION_DETAIL_FAILURE action.\r\n * @param {number} periodId The id of the REIT period.\r\n * @param {string} checklistId The checklist identifier.\r\n * @param {string} checklistType The checklist type.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchExternalDistributionDetailByChecklistId(periodId, checklistId, checklistType) {\r\n return fetchDistributionDetail(periodId, actionHelpers.buildAuthHeader(checklistId, checklistType));\r\n}\r\n\r\n/**\r\n * Saves a distribution taxable income to the REIT API database.\r\n * @param {any} periodId The period ID\r\n * @param {any} value The taxable incomve value.\r\n * @returns {Promise} A Promise\r\n * http://localhost:5000/api/distributions/taxableincome?periodId=2&value=62514.35\r\n */\r\nexport function saveDistributionTaxableIncome(periodId, distributionREITTaxableIncomeAmount, distributionDividendsSum) { \r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin }); \r\n const payload = {\r\n \"reportPeriodID\": periodId,\r\n \"distributionREITTaxableIncomeAmount\": distributionREITTaxableIncomeAmount,\r\n \"distributionDividendsSum\": distributionDividendsSum\r\n };\r\n\r\n return fetch(\"/distributions/taxableincome\",\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify(payload)\r\n }).then(response => {\r\n return response.json();\r\n }).then(distributionTaxableIncome => {\r\n if (actionHelpers.isErrorResponse(distributionTaxableIncome)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.CREATE_DISTRIBUTION_TAXABLE_INCOME_FAILURE, distributionTaxableIncome);\r\n } \r\n fetchDistributionTestSummary(periodId)(dispatch);\r\n fetchDistributionTaxableIncome(periodId)(dispatch);\r\n dispatch({ type: actions.CREATE_DISTRIBUTION_TAXABLE_INCOME_SUCCESS, distributionTaxableIncome, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.CREATE_DISTRIBUTION_TAXABLE_INCOME_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Saves a distribution to the REIT API database.\r\n * @param {any} periodId The period ID\r\n * @param {any} distribution The distribution to save.\r\n * @returns {Promise} A Promise\r\n * http://localhost:5000/api/distributions/taxableincome?periodId=2&value=62514.35\r\n */\r\nexport function saveDistribution(periodId, distribution) { \r\n const payload = {\r\n \"class\": distribution.class,\r\n \"distributionDate\": distribution.distributionDate,\r\n \"fairMarketValue\": distribution.fairMarketValue,\r\n \"reportPeriodID\": distribution.reportPeriodID,\r\n \"value\": distribution.value\r\n };\r\n \r\n return fetch(\"/distributions\",\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify(payload)\r\n }).then(response => {\r\n \r\n if (response.ok) {\r\n return null;\r\n }\r\n\r\n return response.json();\r\n });\r\n}\r\n\r\n/**\r\n * Updates a distribution to the REIT API database.\r\n * @param {any} distribution The destribution\r\n * @returns {Promise} A Promise\r\n * http://localhost:5000/api/distributions/3\r\n */\r\nexport function updateDistribution(distribution) { \r\n const payload = {\r\n \"distributionID\": distribution.distributionID,\r\n \"class\": distribution.class,\r\n \"distributionDate\": distribution.distributionDate,\r\n \"fairMarketValue\": distribution.fairMarketValue,\r\n \"reportPeriodID\": distribution.reportPeriodID,\r\n \"value\": distribution.value\r\n };\r\n\r\n return fetch(`/distributions/${distribution.id}`,\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"PUT\",\r\n body: JSON.stringify(payload)\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n }\r\n\r\n return response.json();\r\n });\r\n}\r\n\r\n/**\r\n * Deletes a distribution to the REIT API database.\r\n * @param {any} distribution The distribution to delete.\r\n * @returns {Promise} A Promise\r\n * http://localhost:5000/api/distributions/3\r\n */\r\nexport function deleteDistribution(distribution) { \r\n return fetch(`/distributions/${distribution.distributionID}`,\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"DELETE\"\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n } else {\r\n return response.json();\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Adds all the distributions fair market value and dollar value and returns the total.\r\n * @param {any} distributions The distributions to aggregate.\r\n * @returns {number} The total of all distributions.\r\n */\r\nexport function sumDistributionValues(distributions) {\r\n if (!distributions) {\r\n return 0;\r\n }\r\n let total = 0;\r\n for (let i = 0; i < distributions.length; i++) {\r\n total = total + distributions[i].fairMarketValue + distributions[i].value;\r\n }\r\n\r\n return total;\r\n}","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { Message } from 'semantic-ui-react';\r\nimport ReportExport from '../../components/reports/ReportExport';\r\nimport ReportItemList from '../../components/reports/ReportItemList';\r\nimport * as reportActions from '../../actions/reportActions';\r\nimport * as customFdrActions from '../../actions/customFdrTemplateActions';\r\nimport * as PeriodActions from \"../../actions/periodActions\";\r\nimport * as commonActions from \"../../actions/commonActions\";\r\nimport * as checklistActions from \"../../actions/checklistActions\";\r\nimport * as trialBalanceActions from \"../../actions/trialBalanceActions\";\r\nimport * as distributionsTestActions from \"../../actions/distributionsTestActions\";\r\nimport * as servicesActions from \"../../actions/servicesActions\";\r\nimport * as actionHelpers from '../../scripts/actionHelpers';\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport { MotifInlineMessage } from '@ey-xd/motif-react';\r\nimport * as securitiesSnapshotActions from '../../actions/securitiesSnapshotActions';\r\n/**\r\n * ReportPage container component\r\n * @extends {React.Component}\r\n */\r\nexport class ReportPage extends React.Component {\r\n /**\r\n * Creates a new ReportPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n selectedItems: [],\r\n excludedPsqs: [],\r\n isReportingClosed: false,\r\n adjTrialBalanceUploaded: false,\r\n tbMode: 1,\r\n scopedServices: [],\r\n dataIsLoaded: false,\r\n includePsqComments: false,\r\n includeArqcComments: false,\r\n selectedTemplate: { templateId: -2, templateName: 'Standard Template' },\r\n hasIncompleteSecuritySnapshotsList: []\r\n };\r\n\r\n this.downloadReport = this.downloadReport.bind(this);\r\n this.handleTemplateSelect = this.handleTemplateSelect.bind(this);\r\n this.setItemSelection = this.setItemSelection.bind(this);\r\n this.setPsqInclusion = this.setPsqInclusion.bind(this);\r\n this.clearPsqItemIfAllExcluded = this.clearPsqItemIfAllExcluded.bind(this);\r\n this.setIncludePsqComments = this.setIncludePsqComments.bind(this);\r\n this.setIncludeArqcComments = this.setIncludeArqcComments.bind(this);\r\n this.populateHasIncompleteSecuritySnapshots = this.populateHasIncompleteSecuritySnapshots.bind(this);\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n // Check if state.period is null, if it is populate period\r\n if (!this.props.period) {\r\n this.props.periodActions.fetchPeriodById(this.props.periodId);\r\n }\r\n else {\r\n // Currently only retrieving REIT Trial Balance for the download. This call will need to pass/accept property ID once we have property TBs.\r\n trialBalanceActions.getTrialBalancesByPeriod(this.props.periodId, 'adjusted', 'consolidated').then((trialBalances) => {\r\n this.setState({ adjTrialBalanceUploaded: (Array.isArray(trialBalances) && trialBalances.length > 0) ? true : false });\r\n this.setIsReportingClosed(this.props.period);\r\n });\r\n }\r\n\r\n this.props.customFdrActions.fetchCustomFdrTemplates(this.props.clientId);\r\n \r\n this.props.actions.fetchReportItems(this.props.periodId);\r\n this.props.checklistActions.fetchPsqChecklistSummariesByPeriod(this.props.periodId);\r\n this.props.checklistActions.fetchArqcChecklistSummariesByPeriod(this.props.periodId);\r\n this.populateHasIncompleteSecuritySnapshots(this.props.clientId, this.props.reitId, this.props.periodId);\r\n \r\n\r\n servicesActions.fetchServicesByPeriodWithoutDispatch(this.props.periodId).then((services) => {\r\n if (actionHelpers.isErrorResponse(services)) {\r\n return;\r\n }\r\n\r\n if (Array.isArray(services)) {\r\n this.setState({ scopedServices: services });\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Invoked before a mounted component receives new props.\r\n * @param {Object} nextProps The properties that the component is receiving\r\n */\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.period !== this.props.period) {\r\n this.setIsReportingClosed(this.props.period);\r\n if (this.props.period && this.props.period.trialBalanceModeID === 2) {\r\n this.setState({ tbMode: 2 });\r\n } else {\r\n this.setState({ tbMode: 1 });\r\n }\r\n this.populateHasIncompleteSecuritySnapshots(this.props.clientId, this.props.reitId, this.props.periodId);\r\n this.props.actions.fetchReportItems(this.props.periodId);\r\n }\r\n if (this.props.period.reportPeriodDescription !== '' && this.props.period !== prevProps.period && this.props.period.reportPeriodDescription !== undefined) {\r\n this.props.customFdrActions.getDefaultFdrTemplateForPeriod(this.props.clientId, this.props.router.params.reitId, this.props.period.reportPeriodDescription.substring(0, 2)).then(template => {\r\n if (template && template.fdrTemplateID > 0) {\r\n this.setState({\r\n selectedTemplate: { templateId: template.fdrTemplateID, templateName: template.fdrTemplateName }\r\n });\r\n }\r\n else {\r\n this.setState({\r\n selectedTemplate: { templateId: template.fdrTemplateID, templateName: 'Standard Template' }\r\n });\r\n }\r\n });\r\n }\r\n\r\n if ((prevProps.availableReportItems !== this.props.availableReportItems\r\n && Array.isArray(this.props.availableReportItems)\r\n && this.props.availableReportItems.length > 0)\r\n || (this.props.selectedReportItems !== prevProps.selectedReportItems\r\n && Array.isArray(this.props.selectedReportItems)\r\n && this.props.selectedReportItems.length > 0)) {\r\n\r\n const selectedItems = JSON.parse(JSON.stringify(this.state.selectedItems));\r\n for (let i = 0; i < this.props.availableReportItems.length; i++) {\r\n if (this.props.availableReportItems[i].isRequired && selectedItems.find(x => x === this.props.availableReportItems[i].type) === undefined) {\r\n selectedItems.push(this.props.availableReportItems[i].type);\r\n }\r\n }\r\n\r\n this.setState({ selectedItems: selectedItems, dataIsLoaded: true });\r\n }\r\n }\r\n \r\n setIncludePsqComments(includePsqComments)\r\n {\r\n this.setState({includePsqComments});\r\n }\r\n\r\n setIncludeArqcComments(includeArqcComments)\r\n {\r\n this.setState({includeArqcComments});\r\n }\r\n \r\n /**\r\n * Download the trial balance\r\n * @param {number} periodId The id of the period\r\n * @param {array} reportItems The report components to be included in the report\r\n * @param {array} excludedPsqs The ids of the PSQs to be excluded\r\n */\r\n downloadReport(periodId, reportItems, excludedPsqs) {\r\n this.props.commonActions.clearErrorResponse();\r\n\r\n // -2 = Standard Template, else Custom FDR Template\r\n if (this.state.selectedTemplate.templateId < 0) {\r\n this.props.actions.downloadReport(periodId, reportItems, excludedPsqs, this.state.includePsqComments, this.state.includeArqcComments);\r\n } else {\r\n // For custom fdr, we only want to include ARQC/PSQ items\r\n const filteredReportItems = reportItems.filter(item => item === 'PsqResults' || item === 'ArqcResults');\r\n\r\n return this.props.customFdrActions\r\n .downloadFdrTemplateDocument(this.state.selectedTemplate.templateId, periodId, filteredReportItems, excludedPsqs, this.state.includePsqComments, this.state.includeArqcComments, this.state.selectedTemplate.templateName);\r\n }\r\n }\r\n\r\n setItemSelection(itemType, selected) {\r\n const currentSelectedItems = this.state.selectedItems;\r\n\r\n if(selected) {\r\n // Use a set to prevent duplicates.\r\n const newItemSet = new Set([...currentSelectedItems, itemType]);\r\n this.setState({selectedItems : [...newItemSet]});\r\n } else {\r\n const selectedItems = \r\n currentSelectedItems.filter(_type => _type !== itemType);\r\n\r\n this.setState({selectedItems});\r\n }\r\n }\r\n\r\n setPsqInclusion(checklistID, included)\r\n {\r\n const currentExcludedPsqs = this.state.excludedPsqs;\r\n\r\n if(included) {\r\n const excludedPsqs = \r\n currentExcludedPsqs.filter(id => id !== checklistID);\r\n\r\n this.setState({excludedPsqs});\r\n } else {\r\n // Use a Set to prevent duplicates.\r\n const newExcludedSet = \r\n new Set([...currentExcludedPsqs, checklistID]);\r\n \r\n const excludedPsqs = [...newExcludedSet];\r\n this.setState({ excludedPsqs }, () => this.clearPsqItemIfAllExcluded());\r\n }\r\n }\r\n\r\n clearPsqItemIfAllExcluded()\r\n {\r\n const {excludedPsqs} = this.state;\r\n const {psqChecklists} = this.props;\r\n\r\n if(excludedPsqs.length === psqChecklists.length)\r\n {\r\n const selectedItems = \r\n this.state.selectedItems.filter(i => i !== 'PsqResults');\r\n \r\n const excludedPsqs = [];\r\n\r\n this.setState({selectedItems, excludedPsqs});\r\n }\r\n }\r\n\r\n setIsReportingClosed(period) {\r\n const isEnabled = PeriodActions.isReportingEnabled(period);\r\n this.setState({ isReportingClosed: !isEnabled });\r\n }\r\n\r\n handleTemplateSelect(newValue) {\r\n const selectedItems =\r\n this.state.selectedItems\r\n .filter(item => item != \"ArqcResults\" && item != \"PsqResults\");\r\n\r\n this.setState({\r\n selectedTemplate: {\r\n templateId: newValue.value,\r\n templateName: newValue.label\r\n },\r\n selectedItems,\r\n excludedPsqs: []\r\n });\r\n }\r\n populateHasIncompleteSecuritySnapshots(clientId,reitId,periodId) {\r\n this.props.securitiesSnapshotActions.getIncompleteSecuritySnapshotDetails(clientId,reitId,periodId).then((data) => {\r\n this.setState({ hasIncompleteSecuritySnapshotsList: data }); \r\n });\r\n }\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n const isNonEmptyArray = \r\n _array => Array.isArray(_array) && _array.length > 0;\r\n\r\n return (\r\n
    \r\n

    Final Deliverable Report

    \r\n
    \r\n {!this.state.isReportingClosed ? \"\" : Reporting Closed}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nReportPage.propTypes = {\r\n periodId: PropTypes.number.isRequired,\r\n period: PropTypes.object,\r\n availableReportItems: PropTypes.array,\r\n selectedReportItems: PropTypes.array,\r\n actions: PropTypes.object,\r\n periodActions: PropTypes.object.isRequired,\r\n psqChecklists: PropTypes.array,\r\n arqcChecklists: PropTypes.array,\r\n checklistActions: PropTypes.object.isRequired,\r\n commonActions: PropTypes.object.isRequired,\r\n distributionsTestActions: PropTypes.object.isRequired,\r\n distributionDetails: PropTypes.array,\r\n securitiesSnapshotActions: PropTypes.object.isRequired,\r\n hasIncompleteSecuritySnapshotsList: PropTypes.array,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n periodId: Number.parseInt(ownProps.router.params.periodId),\r\n availableReportItems: state.availableReportItems,\r\n selectedReportItems: state.selectedReportItems,\r\n period: state.period,\r\n psqChecklists: state.psqChecklists,\r\n arqcChecklists: state.arqcChecklists,\r\n distributionDetails: state.distributionDetails,\r\n clientIsAudit: state.client && state.client.isAudit,\r\n clientId: Number.parseInt(ownProps.router.params.clientId),\r\n customFdrTemplate: state.customFdrTemplate,\r\n hasIncompleteSecuritySnapshotsList: state.hasIncompleteSecuritySnapshotsList,\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(reportActions, dispatch),\r\n customFdrActions: bindActionCreators(customFdrActions, dispatch),\r\n periodActions: bindActionCreators(PeriodActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n trialBalanceActions: bindActionCreators(trialBalanceActions, dispatch),\r\n checklistActions: bindActionCreators(checklistActions, dispatch),\r\n distributionsTestActions: bindActionCreators(distributionsTestActions, dispatch),\r\n securitiesSnapshotActions: bindActionCreators(securitiesSnapshotActions, dispatch),\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ReportPage));","import React from 'react';\r\nimport { MotifIcon, MotifIconButton, MotifLabel } from '@ey-xd/motif-react';\r\nimport { IconoirEditPencil, IconoirTrash } from '@ey-xd/motif-icon';\r\nimport FormattedCurrency from '../../shared/FormattedCurrency';\r\n\r\nexport default (props) => {\r\n\r\n const onEditClick = () => {\r\n props.handleEditButtonClick(props.data);\r\n };\r\n\r\n const onDeleteClick = () => {\r\n props.handleDeleteButtonClick(props.data);\r\n };\r\n\r\n return (\r\n
    \r\n {(props.column.colId == \"actions\") && \r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n || (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n
    \r\n )\r\n};","import React from 'react';\r\nimport { MotifIcon, MotifIconButton, MotifLabel } from '@ey-xd/motif-react';\r\nimport FormattedCurrency from '../../shared/FormattedCurrency';\r\n\r\nexport default (props) => {\r\n\r\n return (\r\n
    \r\n {(props.column.colId == \"trsValue\" ) &&\r\n
    \r\n \r\n
    \r\n }\r\n\r\n {(props.column.colId == \"trsDebt\") && \r\n
    \r\n \r\n
    \r\n }\r\n\r\n {(props.column.colId == \"trsEquity\") && \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n )\r\n};","import React, { useMemo, useState, useRef, useEffect } from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport { handleFilterChanged,handleFirstDataRendered,handleGridReady,tableHeaderClass,handleItemsPerPageChange } from '../../common/AgGridEventHandlers';\r\nimport CustomPagination from '../../common/MotifPagination';\r\nimport TrsCellRenderer from \"./customRenderer/TrsCellRenderer\";\r\nimport TrsCurrencyCellRenderer from \"./customRenderer/TrsCurrencyCellRenderer\";\r\nimport CustomHeaderTemplate from \"../checklistDeliveryCalendar/customHeaders/CustomHeaderTemplate.js\";\r\nimport { MotifTable } from \"@ey-xd/motif-react\";\r\n\r\nconst EditTrsTable = ({ taxableReitSubsidiaries, showForm, handleEditButtonClick, handleDeleteButtonClick, canEdit }) => {\r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]); \r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n const FormattedCurrency = ({ value }) => {\r\n return Intl.NumberFormat(\"en-US\", {\r\n style: \"currency\",\r\n currency: \"USD\",\r\n }).format(value);\r\n };\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: 'trsName', headerName: 'Name', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 350,\r\n headerComponentParams: {template: CustomHeaderTemplate(\"trsName\"),},\r\n },\r\n {\r\n field: 'trsValue', headerName: '$ Value', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 180,\r\n cellRenderer: TrsCurrencyCellRenderer,\r\n headerComponentParams: {template: CustomHeaderTemplate(\"trsValue\"),},\r\n valueGetter: (params) => {\r\n return FormattedCurrency({ value: params.data.trsValue });\r\n }\r\n },\r\n {\r\n field: 'trsDebt', headerName: '$ Debt', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 180,\r\n cellRenderer: TrsCurrencyCellRenderer,\r\n headerComponentParams: {template: CustomHeaderTemplate(\"trsDebt\"),},\r\n valueGetter: (params) => {\r\n return FormattedCurrency({ value: params.data.trsDebt });\r\n }\r\n },\r\n {\r\n field: 'trsEquity', headerName: '$ Equity', sortable: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 180,\r\n cellRenderer: TrsCurrencyCellRenderer,\r\n headerComponentParams: {template: CustomHeaderTemplate(\"trsEquity\"),},\r\n valueGetter: (params) => {\r\n return FormattedCurrency({ value: params.data.trsEquity });\r\n }\r\n },\r\n {\r\n field: 'actions', headerName: '', suppressMenu: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 120, \r\n cellRenderer:TrsCellRenderer,\r\n cellRendererParams: { handleEditButtonClick, handleDeleteButtonClick },\r\n valueGetter: params => { return params.data},\r\n hide: !canEdit\r\n }\r\n ];\r\n };\r\n\r\n //Handle deselect all event\r\n const handleDeselectAll = (val) => {\r\n // set current page and total pages to 0\r\n setCurrentPage(0); \r\n setTotalPages(0); \r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val-1);\r\n };\r\n \r\n useEffect(() => {\r\n if(rowData.length > 0 && gridRef.current.api !== undefined){\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n }, [rowData]);\r\n \r\n useEffect(() => {\r\n setRowData(taxableReitSubsidiaries);\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n \r\n gridRef.current.api.refreshCells();\r\n }\r\n }, [taxableReitSubsidiaries]);\r\n \r\n const rowHeight = 76; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return (\r\n
    \r\n {(rowData.length > 0 ) &&\r\n
    \r\n
    \r\n
    \r\n
    \r\n handleGridReady(event, gridRef,setCurrentPage,setItemsPerPage,setTotalPages,'REITSuiteTRSListColumnState', handleDeselectAll)}\r\n onFirstDataRendered={handleFirstDataRendered(gridRef)}\r\n ref={gridRef}\r\n pagination={true}\r\n suppressPaginationPanel={true}\r\n paginationPageSize={100}\r\n groupDisplayType={'custom'}\r\n groupSelectsChildren={true}\r\n groupDefaultExpanded={0}\r\n onFilterChanged={handleFilterChanged(gridRef, currentPage, setCurrentPage, setTotalPages)}\r\n data-testid=\"divTRSListGrid\"\r\n deltaRowDataMode={true}\r\n getRowNodeId={(data) => data.taxableREITSubsidiaryID} \r\n />\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n\r\n {(rowData.length === 0) &&\r\n
    \r\n
    \r\n No Taxable REIT Subsidiaries found for this period.\r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n\r\nEditTrsTable.propTypes = {\r\n taxableReitSubsidiaries: PropTypes.arrayOf(PropTypes.shape({\r\n taxableREITSubsidiaryID: PropTypes.number,\r\n reportPeriodID: PropTypes.number,\r\n trsName: PropTypes.string,\r\n trsValue: PropTypes.number,\r\n trsDebt: PropTypes.number,\r\n trsEquity: PropTypes.number\r\n })),\r\n showForm: PropTypes.bool,\r\n handleEditButtonClick: PropTypes.func.isRequired,\r\n handleDeleteButtonClick: PropTypes.func.isRequired,\r\n canEdit: PropTypes.bool\r\n};\r\n\r\nexport default EditTrsTable;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Field, reduxForm } from 'redux-form';\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { MoneyField } from \"../shared/formFields\";\r\nimport { MotifButton, MotifModalHeader, MotifModalBody, MotifModalFooter, MotifIcon } from '@ey-xd/motif-react';\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\n\r\nconst EditTrsForm = ({ handleSubmit, handleCloseForm, initialValues, formPurpose, error, submitting, handleDismissErrorMessage }) => {\r\n\r\n const modalPurpose = formPurpose === \"\" ? 'Add New' : (formPurpose === \"EDIT\" ? 'Edit' : 'Delete');\r\n \r\n const closeButtonProps = {\r\n title: 'Close ' + modalPurpose + ' TRS Modal',\r\n ariaLabel: 'Close ' + modalPurpose + ' TRS Modal',\r\n dataTestid: 'close',\r\n };\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n {formPurpose === \"DELETE\" && }\r\n {(formPurpose === \"\" && \"Add New TRS\") || formPurpose === \"EDIT\" && \"Edit TRS\" || \"Delete TRS?\"}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n {formHelpers.showSubmissionError(error, handleDismissErrorMessage)}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Cancel\r\n\r\n \r\n {(formPurpose === \"\" &&\r\n Submit) ||\r\n formPurpose === \"EDIT\" && Save ||\r\n Delete}\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nEditTrsForm.propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n handleCloseForm: PropTypes.func.isRequired,\r\n trs: PropTypes.arrayOf(PropTypes.shape({\r\n taxableREITSubsidiaryID: PropTypes.number,\r\n reportPeriodID: PropTypes.number,\r\n trsName: PropTypes.string,\r\n trsValue: PropTypes.number,\r\n trsDebt: PropTypes.number,\r\n trsEquity: PropTypes.number\r\n })),\r\n initialValues: PropTypes.object,\r\n error: PropTypes.string,\r\n submitting: PropTypes.bool,\r\n formPurpose: PropTypes.string,\r\n handleDismissErrorMessage: PropTypes.func\r\n};\r\n\r\nexport default reduxForm({ form: 'trs' })(EditTrsForm);","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button, Icon } from 'semantic-ui-react';\r\n\r\nimport EditTrsTable from './EditTrsTable';\r\nimport EditTrsForm from './EditTrsForm';\r\nimport { MotifButton, MotifModal } from '@ey-xd/motif-react';\r\n\r\nconst EditTrsComponent = ({ taxableReitSubsidiaries, showForm, handleCloseForm, handleNewButtonClick, handleSubmit, formPurpose, selectedTrs, handleEditButtonClick, handleDeleteButtonClick, canEdit, handleDismissErrorMessage }) => {\r\n // Demonstrates how to set initial form values for use when editing\r\n const initialValuesTest = {\r\n name: ''\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Taxable REIT Subsidiaries {canEdit ? \"\" : \"- Testing Closed\"}

    \r\n
    \r\n\r\n
    \r\n \r\n New TRS\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nEditTrsComponent.propTypes = {\r\n showForm: PropTypes.bool.isRequired,\r\n handleCloseForm: PropTypes.func.isRequired,\r\n handleNewButtonClick: PropTypes.func.isRequired,\r\n handleSubmit: PropTypes.func.isRequired,\r\n taxableReitSubsidiaries: PropTypes.arrayOf(PropTypes.shape({\r\n taxableREITSubsidiaryID: PropTypes.number,\r\n reportPeriodID: PropTypes.number,\r\n trsName: PropTypes.string,\r\n trsValue: PropTypes.number,\r\n trsDebt: PropTypes.number,\r\n trsEquity: PropTypes.number\r\n })),\r\n formPurpose: PropTypes.string,\r\n selectedTrs: PropTypes.object,\r\n handleEditButtonClick: PropTypes.func.isRequired,\r\n handleDeleteButtonClick: PropTypes.func.isRequired,\r\n canEdit: PropTypes.bool,\r\n handleDismissErrorMessage: PropTypes.func\r\n};\r\n\r\nexport default EditTrsComponent;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { SubmissionError } from 'redux-form';\r\nimport * as trsActions from '../../actions/trsActions';\r\nimport * as PeriodActions from \"../../actions/periodActions\";\r\nimport * as commonActions from \"../../actions/commonActions\";\r\nimport EditTrsComponent from '../../components/reits/EditTrsComponent';\r\nimport * as actionHelpers from \"../../scripts/actionHelpers\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * EditTrsContainer container component\r\n * @extends {React.Component}\r\n */\r\nexport class EditTrsContainer extends React.Component {\r\n /**\r\n * Creates a new EditTrsContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n showForm: false,\r\n formPurpose: \"\",\r\n canEdit: true,\r\n selectedTrs: {\r\n \"taxableREITSubsidiaryID\": 0,\r\n \"trsDebt\": 0.00,\r\n \"trsEquity\": 0.00,\r\n \"trsName\": \"\",\r\n \"reportPeriodID\": 0,\r\n \"trsValue\": 0.00\r\n } };\r\n this.closeForm = this.closeForm.bind(this);\r\n this.showForm = this.showForm.bind(this);\r\n this.submitForm = this.submitForm.bind(this);\r\n this.handleEditButtonClick = this.handleEditButtonClick.bind(this);\r\n this.handleDeleteButtonClick = this.handleDeleteButtonClick.bind(this);\r\n this.handleDismissErrorMessage = this.handleDismissErrorMessage.bind(this);\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.refresh();\r\n }\r\n\r\n /**\r\n * Invoked before a mounted component receives new props.\r\n * @param {Object} nextProps The properties that the component is receiving\r\n */\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.period !== this.props.period) {\r\n this.setCanEdit(this.props.period);\r\n }\r\n }\r\n\r\n handleDismissErrorMessage() {\r\n this.props.commonActions.clearFormErrors('trs');\r\n }\r\n\r\n refresh() {\r\n // Check if state.period is null, if it is populate period\r\n if (!this.props.period) {\r\n this.props.periodActions.fetchPeriodById(this.props.periodId);\r\n }\r\n else {\r\n this.setCanEdit(this.props.period);\r\n }\r\n\r\n return this.props.actions.fetchTrsByPeriod(this.props.periodId);\r\n }\r\n\r\n setCanEdit(period) {\r\n const isEnabled = PeriodActions.isTestingEnabled(period);\r\n this.setState({ canEdit: isEnabled });\r\n }\r\n\r\n submitForm(values) {\r\n if (!values.trsName) {\r\n throw new SubmissionError({ name: \"Name is required\" });\r\n } else {\r\n switch (this.state.formPurpose) {\r\n case \"EDIT\":\r\n {\r\n this.props.commonActions.beginTask();\r\n const trs = {\r\n \"taxableREITSubsidiaryID\": values.taxableREITSubsidiaryID,\r\n \"trsDebt\": values.trsDebt,\r\n \"trsEquity\": values.trsEquity,\r\n \"trsName\": values.trsName,\r\n \"reportPeriodID\": this.props.periodId,\r\n \"trsValue\": values.trsValue\r\n };\r\n return trsActions.updateTrs(trs).then(data => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n this.props.commonActions.endTask();\r\n return formHelpers.generateSubmissionError(data);\r\n }\r\n\r\n this.closeForm();\r\n this.props.commonActions.endTask();\r\n this.refresh();\r\n }).catch(error => {\r\n if (error instanceof SubmissionError) {\r\n this.props.commonActions.endTask();\r\n throw error;\r\n }\r\n\r\n this.props.commonActions.endTask();\r\n formHelpers.generateSubmissionError();\r\n });\r\n }\r\n case \"DELETE\":\r\n {\r\n this.props.commonActions.beginTask();\r\n const trs = {\r\n \"taxableREITSubsidiaryID\": values.taxableREITSubsidiaryID,\r\n \"trsDebt\": values.trsDebt,\r\n \"trsEquity\": values.trsEquity,\r\n \"trsName\": values.trsName,\r\n \"reportPeriodID\": this.props.periodId,\r\n \"trsValue\": values.trsValue\r\n };\r\n return trsActions.deleteTrs(trs).then(data => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n this.props.commonActions.endTask();\r\n return formHelpers.generateSubmissionError(data);\r\n }\r\n\r\n this.closeForm();\r\n this.props.commonActions.endTask();\r\n this.refresh();\r\n }).catch(error => {\r\n if (error instanceof SubmissionError) {\r\n this.props.commonActions.endTask();\r\n throw error;\r\n }\r\n\r\n this.props.commonActions.endTask();\r\n formHelpers.generateSubmissionError();\r\n });\r\n }\r\n default:\r\n {\r\n this.props.commonActions.beginTask();\r\n const trs = {\r\n \"trsDebt\": values.trsDebt,\r\n \"trsEquity\": values.trsEquity,\r\n \"trsName\": values.trsName,\r\n \"reportPeriodID\": this.props.periodId,\r\n \"trsValue\": values.trsValue\r\n };\r\n\r\n const self = this;\r\n return trsActions.createTrs(trs).then(data => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n this.props.commonActions.endTask();\r\n return formHelpers.generateSubmissionError(data);\r\n }\r\n\r\n this.props.reitActions.fetchReit(this.props.reitId);\r\n this.closeForm();\r\n this.props.commonActions.endTask();\r\n this.refresh();\r\n }).catch(error => {\r\n if (error instanceof SubmissionError) {\r\n this.props.commonActions.endTask();\r\n throw error;\r\n }\r\n\r\n this.props.commonActions.endTask();\r\n formHelpers.generateSubmissionError();\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n showForm(e) {\r\n this.setState({ showForm: true, formPurpose: \"\", selectedTrs: null });\r\n }\r\n\r\n closeForm() {\r\n this.setState({ showForm: false });\r\n }\r\n\r\n handleEditButtonClick(value) {\r\n this.setState({\r\n showForm: true, formPurpose: \"EDIT\", selectedTrs: {\r\n \"taxableREITSubsidiaryID\": value.taxableREITSubsidiaryID,\r\n \"trsDebt\": value.trsDebt ? value.trsDebt : \"0\",\r\n \"trsEquity\": value.trsEquity ? value.trsEquity : \"0\",\r\n \"trsName\": value.trsName,\r\n \"reportPeriodID\": value.reportPeriodID,\r\n \"trsValue\": value.trsValue ? value.trsValue : \"0\"\r\n }\r\n });\r\n }\r\n\r\n handleDeleteButtonClick(value) {\r\n this.setState({\r\n showForm: true, formPurpose: \"DELETE\", selectedTrs: {\r\n \"taxableREITSubsidiaryID\": value.taxableREITSubsidiaryID,\r\n \"trsDebt\": value.trsDebt ? value.trsDebt : \"0\",\r\n \"trsEquity\": value.trsEquity ? value.trsEquity : \"0\",\r\n \"trsName\": value.trsName,\r\n \"reportPeriodID\": value.reportPeriodID,\r\n \"trsValue\": value.trsValue ? value.trsValue : \"0\"\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nEditTrsContainer.propTypes = {\r\n reitId: PropTypes.number.isRequired,\r\n clientId: PropTypes.number.isRequired,\r\n periodId: PropTypes.number.isRequired,\r\n actions: PropTypes.object.isRequired,\r\n periodActions: PropTypes.object.isRequired,\r\n reitActions: PropTypes.object,\r\n period: PropTypes.object.isRequired,\r\n taxableReitSubsidiaries: PropTypes.arrayOf(PropTypes.shape({\r\n taxableREITSubsidiaryID: PropTypes.number,\r\n reportPeriodID: PropTypes.number,\r\n trsName: PropTypes.string,\r\n trsValue: PropTypes.number,\r\n trsDebt: PropTypes.number,\r\n trsEquity: PropTypes.number\r\n })),\r\n commonActions: PropTypes.object.isRequired\r\n};\r\n\r\nEditTrsContainer.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n reitId: Number.parseInt(ownProps.router.params.reitId),\r\n clientId: Number.parseInt(ownProps.router.params.clientId),\r\n periodId: Number.parseInt(ownProps.router.params.periodId),\r\n taxableReitSubsidiaries: state.taxableReitSubsidiaries,\r\n period: state.period\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(trsActions, dispatch),\r\n periodActions: bindActionCreators(PeriodActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n reitActions: bindActionCreators(reitActions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(EditTrsContainer));","import React from 'react';\r\nimport FormattedCurrency from \"./../../shared/FormattedCurrency\";\r\nimport { FormattedNumber } from \"react-intl\";\r\nimport { MotifIconButton, MotifIcon } from \"@ey-xd/motif-react\";\r\nimport { IconoirEditPencil, IconoirTrash } from '@ey-xd/motif-icon';\r\n\r\nexport default (props) => {\r\n if (props.fieldName == 'reitOwnedSharesValue') {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (props.fieldName == 'allSharesFromIssuerValue') {\r\n return (\r\n props.node.data.isTenPercentValueTestDisabled === true \r\n ? \"N/A\" \r\n : \r\n );\r\n }\r\n\r\n if (props.fieldName == 'percentOfVote') {\r\n return (\r\n \r\n\r\n );\r\n }\r\n\r\n if (props.fieldName === 'actions') {\r\n return (\r\n props.canEdit ? (\r\n
    \r\n props.handleEditButtonClick(props.node.data)}>\r\n \r\n \r\n props.handleDeleteButtonClick(props.node.data)}>\r\n \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { MotifBadge,MotifTooltip } from \"@ey-xd/motif-react\";\r\n\r\nconst CustomHeaderWithBadge = (props) => {\r\n const { displayName, condition } = props;\r\n \r\n return (\r\n
    \r\n {displayName}\r\n {condition && (\r\n \r\n }\r\n >\r\n This is an incomplete security. Review needed.\r\n \r\n )} \r\n
    \r\n );\r\n};\r\n\r\nexport default CustomHeaderWithBadge;","import React, { useMemo, useState, useRef, useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport CustomPagination from '../../common/MotifPagination';\r\nimport 'ag-grid-enterprise';\r\nimport 'ag-grid-community/styles/ag-grid.css';\r\nimport 'ag-grid-community/styles/ag-theme-alpine.css';\r\nimport SecuritiesSnapshotCellRenderer from '../shared/customRenderers/SecuritiesSnapshotCellRenderer';\r\nimport { handleFilterChanged,handleFirstDataRendered,handleGridReady,tableHeaderClass,handleItemsPerPageChange } from '../../common/AgGridEventHandlers';\r\nimport CustomHeaderTemplate from \"../checklistDeliveryCalendar/customHeaders/CustomHeaderTemplate.js\";\r\nimport { MotifTable } from \"@ey-xd/motif-react\";\r\nimport CustomHeaderWithBadge from '../shared/customRenderers/CustomHeaderWithBadge';\r\n\r\nconst editSecuritiesSnapshotTable = ({ securitiesSnapshots, showForm, handleEditButtonClick, handleDeleteButtonClick, canEdit }) => {\r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100); \r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n const FormattedCurrency = ({ value }) => {\r\n return Intl.NumberFormat(\"en-US\", {\r\n style: \"currency\",\r\n currency: \"USD\",\r\n }).format(value);\r\n };\r\n\r\n const shouldDisplayBadge = (params) => { \r\n return !!(params.data.hasIncompleteSecuritySnapshot===true);\r\n };\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: 'securityName', headerName: 'Security', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 250,\r\n cellRenderer: CustomHeaderWithBadge, \r\n cellRendererParams: (params) => ({\r\n displayName: params.data.securityName,\r\n condition: shouldDisplayBadge(params),\r\n }),\r\n headerComponentParams: {template: CustomHeaderTemplate(\"securityName\"),},\r\n },\r\n {\r\n field: 'reitOrPropertyName', headerName: 'REIT or Property Name', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 350,\r\n headerComponentParams: {template: CustomHeaderTemplate(\"reitPropertyName\"),},\r\n },\r\n {\r\n field: 'clientAccountCode', headerName: 'Client Account Number', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 250,\r\n headerComponentParams: {template: CustomHeaderTemplate(\"clientAccountCode\"),},\r\n },\r\n {\r\n field: 'issuer', headerName: 'Issuer', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 200,\r\n headerComponentParams: {template: CustomHeaderTemplate(\"issuer\"),},\r\n },\r\n {\r\n field: 'class', headerName: 'Class', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 200,\r\n headerComponentParams: {template: CustomHeaderTemplate(\"class\"),},\r\n \r\n },\r\n {\r\n field: 'reitOwnedSharesValue',\r\n headerName: 'REIT Owned Shares Value',\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 250,\r\n cellRenderer: SecuritiesSnapshotCellRenderer, cellRendererParams: { fieldName: 'reitOwnedSharesValue' },\r\n headerComponentParams: {template: CustomHeaderTemplate(\"reitOwnedSharesValue\"),},\r\n valueGetter: (params) => {\r\n return FormattedCurrency({ value: params.data.reitOwnedSharesValue });\r\n }\r\n },\r\n {\r\n field: 'allSharesFromIssuerValue',\r\n headerName: 'All Shares from Issuer Value',\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 250,\r\n headerComponentParams: {template: CustomHeaderTemplate(\"allSharesFromIssuerValue\"),},\r\n cellRenderer: SecuritiesSnapshotCellRenderer, cellRendererParams: { fieldName: 'allSharesFromIssuerValue'}, \r\n valueGetter: (params) => {\r\n return params.data.isTenPercentValueTestDisabled === true ? \"N/A\" : FormattedCurrency({ value: params.data.allSharesFromIssuerValue });\r\n }\r\n },\r\n {\r\n field: 'percentOfVote',\r\n headerName: 'Percent of Vote',\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 200,\r\n headerComponentParams: {template: CustomHeaderTemplate(\"percentOfVote\"),},\r\n cellRenderer: SecuritiesSnapshotCellRenderer, cellRendererParams: { fieldName: 'percentOfVote'},\r\n valueGetter: (params) => {\r\n const percentage = params.data && params.data.percentOfVote;\r\n return percentage\r\n ? ((percentage * 1000.0) / 100000.0).toLocaleString(undefined, {\r\n style: \"percent\",\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 10,\r\n })\r\n : \"\";\r\n },\r\n },\r\n {\r\n field: 'action',\r\n headerName: '',\r\n suppressMenu: true,\r\n showRowGroup: false,\r\n minWidth: 150,\r\n rowGroup: false,\r\n cellRenderer: SecuritiesSnapshotCellRenderer, cellRendererParams: { fieldName: 'actions', canEdit,handleDeleteButtonClick,handleEditButtonClick}\r\n },\r\n \r\n ];\r\n };\r\n\r\n //Handle deselect all event\r\n const handleDeselectAll = (val) => {\r\n // set current page and total pages to 0\r\n setCurrentPage(0); \r\n setTotalPages(0); \r\n };\r\n \r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val-1);\r\n };\r\n \r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n useEffect(() => {\r\n if(rowData.length > 0){\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n }, [rowData]);\r\n \r\n useEffect(() => {\r\n let aggregatedSnapshots = securitiesSnapshots.reduce((acc, snapshot) => {\r\n const key = `${snapshot.securitiesSnapshotID}`;\r\n if (!acc[key]) {\r\n acc[key] = { \r\n ...snapshot, \r\n clientAccountCode: '' \r\n };\r\n }\r\n acc[key].reitOwnedSharesValue = snapshot.reitOwnedSharesValue < 0 ? 0 : acc[key].reitOwnedSharesValue;\r\n acc[key].clientAccountCode = acc[key].clientAccountCode \r\n ? `${acc[key].clientAccountCode}; ${snapshot.clientAccountCode}` \r\n : snapshot.clientAccountCode;\r\n return acc;\r\n }, {});\r\n \r\n const aggregatedSecuritiesSnapshots = Object.values(aggregatedSnapshots);\r\n setRowData(aggregatedSecuritiesSnapshots);\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n \r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n }, [securitiesSnapshots]);\r\n\r\n const rowHeight = 76; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n \r\n return (\r\n <>\r\n {(securitiesSnapshots == null || securitiesSnapshots.length === 0) &&\r\n
    No Securities Snapshot found for this report period.
    }\r\n {securitiesSnapshots && securitiesSnapshots.length > 0 &&\r\n
    \r\n
    \r\n
    \r\n
    \r\n handleGridReady(event, gridRef,setCurrentPage,setItemsPerPage,setTotalPages,'REITSuiteSecuritySnapshotColumnState', handleDeselectAll)}\r\n onFirstDataRendered={handleFirstDataRendered(gridRef)}\r\n ref={gridRef}\r\n pagination={true}\r\n suppressPaginationPanel={true}\r\n paginationPageSize={100}\r\n groupDisplayType={'custom'}\r\n groupSelectsChildren={true}\r\n groupDefaultExpanded={0}\r\n onFilterChanged={handleFilterChanged(gridRef, currentPage, setCurrentPage, setTotalPages)}\r\n data-testid=\"divSecuritySnapShotListGrid\"\r\n deltaRowDataMode={true} \r\n getRowId={(data) => data.data.securitiesSnapshotID} \r\n />\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n}\r\n \r\n );\r\n};\r\n\r\neditSecuritiesSnapshotTable.propTypes = {\r\n securitiesSnapshots: PropTypes.arrayOf(PropTypes.shape({\r\n allSharesFromIssuerValue: PropTypes.number,\r\n class: PropTypes.string,\r\n securitiesSnapshotID: PropTypes.number,\r\n issuer: PropTypes.string,\r\n securityName: PropTypes.string,\r\n reitOwnedSharesValue: PropTypes.number,\r\n percentOfVote: PropTypes.number,\r\n reportPeriodID: PropTypes.number,\r\n })),\r\n showForm: PropTypes.bool,\r\n handleEditButtonClick: PropTypes.func,\r\n handleDeleteButtonClick: PropTypes.func,\r\n canEdit: PropTypes.bool\r\n};\r\n\r\nexport default editSecuritiesSnapshotTable;","import React, { Fragment } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Button, Icon, Input } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { DateField, MoneyField, NumberField } from \"../shared/formFields\";\r\nimport { MotifButton, MotifModalHeader, MotifModalBody, MotifModalFooter, MotifIcon, MotifFormField, MotifCheckbox, MotifTooltip, MotifErrorMessage } from '@ey-xd/motif-react';\r\nimport { IconoirWarningCircle, IconoirInfoCircle } from '@ey-xd/motif-icon';\r\nimport * as formParsers from \"../../scripts/formParsers\";\r\n\r\nconst editSecuritiesSnapshotForm = ({ handleSubmit, handleCloseForm, initialValues, formPurpose, handleEditButtonClick, handleDeleteButtonClick, error, submitting, handleDismissErrorMessage, isTenPercentValueTestDisabledFlag, handleDisableTenPercentValueTestSelection }) => {\r\n\r\n const modalPurpose = formPurpose === \"\" ? 'Add New' : (formPurpose === \"EDIT\" ? 'Edit' : 'Delete');\r\n \r\n const closeButtonProps = {\r\n title: 'Close ' + modalPurpose + ' Snapshot Modal',\r\n ariaLabel: 'Close ' + modalPurpose + ' Snapshot Modal',\r\n dataTestid: 'close',\r\n };\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n return (\r\n
    \r\n \r\n \r\n {formPurpose === \"DELETE\" && }\r\n {(formPurpose === \"\" && \"Add New Snapshot\") || formPurpose === \"EDIT\" && \"Edit Snapshot\" || \"Delete Snapshot?\"}\r\n \r\n \r\n \r\n {(formPurpose === \"EDIT\" && initialValues.hasIncompleteSecuritySnapshot) &&This is a system-generated security from the uploaded trial balance. \r\n Please disable the 10% test or input the 'Value of all Shares from Issuer' to resolve the security diagnostics.}\r\n \r\n \r\n
    \r\n
    \r\n {formHelpers.showSubmissionError(error, handleDismissErrorMessage)} \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n handleDisableTenPercentValueTestSelection(event.target.checked)\r\n }} \r\n >\r\n Disable 10% Value Test\r\n \r\n \r\n
    \r\n
    \r\n \r\n }>\r\n
    The 'Disable 10% Value Test' checkbox allows you to exempt
    \r\n a security from the 10% value test. When this box is checked,
    \r\n the system will not perform the standard 10% value test. \r\n
    \r\n
    \r\n
    \r\n
    \r\n { isTenPercentValueTestDisabledFlag === 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 \r\n Cancel\r\n \r\n {(formPurpose === \"\" && Submit) ||\r\n formPurpose === \"EDIT\" && Save ||\r\n Delete}\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\neditSecuritiesSnapshotForm.propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n handleCloseForm: PropTypes.func.isRequired,\r\n handleEditButtonClick: PropTypes.func,\r\n handleDeleteButtonClick: PropTypes.func,\r\n handleDismissErrorMessage: PropTypes.func,\r\n formPurpose: PropTypes.string,\r\n initialValues: PropTypes.object,\r\n error: PropTypes.string,\r\n submitting: PropTypes.bool\r\n};\r\n\r\nexport default reduxForm({ form: \"securitiesSnapshot\" })(editSecuritiesSnapshotForm);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Button, Icon } from \"semantic-ui-react\";\r\n\r\nimport EditSecuritiesSnapshotTable from \"./EditSecuritiesSnapshotTable\";\r\nimport EditSecuritiesSnapshotForm from \"./EditSecuritiesSnapshotForm\";\r\nimport { MotifModal, MotifButton } from '@ey-xd/motif-react';\r\n\r\nconst editSecuritiesSnapshotComponent = ({\r\n securitiesSnapshots,\r\n showForm,\r\n handleCloseForm,\r\n handleNewButtonClick,\r\n handleSubmit,\r\n formPurpose,\r\n selectedSecuritiesSnapshot,\r\n handleEditButtonClick,\r\n handleDeleteButtonClick,\r\n canEdit,\r\n handleDismissErrorMessage,\r\n isTenPercentValueTestDisabledFlag,\r\n handleDisableTenPercentValueTestSelection\r\n}) => {\r\n const initialValues = {\r\n ownedSharesValue: '0.00',\r\n percentOfVote: '0.00'\r\n };\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Securities Snapshot {canEdit ? \"\" : \"- Testing Closed\"}

    \r\n
    \r\n
    \r\n \r\n New Snapshot\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\neditSecuritiesSnapshotComponent.propTypes = {\r\n securitiesSnapshots: PropTypes.arrayOf(PropTypes.shape({\r\n allSharesFromIssuerValue: PropTypes.number,\r\n class: PropTypes.string,\r\n securitiesSnapshotID: PropTypes.number,\r\n issuer: PropTypes.string,\r\n securityName: PropTypes.string,\r\n reitOwnedSharesValue: PropTypes.number,\r\n percentOfVote: PropTypes.number,\r\n reportPeriodID: PropTypes.number,\r\n reitOrPropertyName: PropTypes.string,\r\n clientAccountCode: PropTypes.string,\r\n isTenPercentValueTestDisabled: PropTypes.bool,\r\n })),\r\n showForm: PropTypes.bool,\r\n handleCloseForm: PropTypes.func.isRequired,\r\n handleNewButtonClick: PropTypes.func.isRequired,\r\n handleSubmit: PropTypes.func.isRequired,\r\n formPurpose: PropTypes.string,\r\n selectedSecuritiesSnapshot: PropTypes.object,\r\n handleEditButtonClick: PropTypes.func.isRequired,\r\n handleDeleteButtonClick: PropTypes.func.isRequired,\r\n canEdit: PropTypes.bool,\r\n handleDismissErrorMessage: PropTypes.func\r\n};\r\n\r\nexport default editSecuritiesSnapshotComponent;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { SubmissionError, reset, change } from \"redux-form\";\r\nimport * as securitiesActions from \"../../actions/securitiesSnapshotActions\";\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport * as PeriodActions from \"../../actions/periodActions\";\r\nimport * as commonActions from \"../../actions/commonActions\";\r\nimport EditSecuritiesSnapshotComponent from \"../../components/reits/EditSecuritiesSnapshotComponent\";\r\nimport * as actionHelpers from \"../../scripts/actionHelpers\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport { store } from \"../../store/configureStore\";\r\nimport * as actions from '../../actions/actionTypes';\r\n\r\n/**\r\n * EditSecuritiesSnapshotContainer container component\r\n * @extends {React.Component}\r\n */\r\nexport class EditSecuritiesSnapshotContainer extends React.Component {\r\n\r\n /**\r\n * Creates a new EditSecuritiesSnapshotContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n showForm: false,\r\n formPurpose: \"\",\r\n canEdit: true,\r\n selectedSecuritiesSnapshot: {\r\n \"allSharesFromIssuerValue\": 0,\r\n \"class\": \"\",\r\n \"issuer\": \"\",\r\n \"securityName\": \"\",\r\n \"reitOwnedSharesValue\": 0,\r\n \"percentOfVote\": 0,\r\n \"reportPeriodID\": 0,\r\n \"reitOrPropertyName\":\"\",\r\n \"clientAccountNumber\":\"\", \r\n \"clientAccountCode\": \"\",\r\n \"isTenPercentValueTestDisabled\": 0,\r\n \"hasIncompleteSecuritySnapshot\": false,\r\n \"clientAccountMappingID\": null\r\n },\r\n isTenPercentValueTestDisabledFlag: false\r\n };\r\n this.closeForm = this.closeForm.bind(this);\r\n this.showForm = this.showForm.bind(this);\r\n this.submitForm = this.submitForm.bind(this);\r\n this.handleEditButtonClick = this.handleEditButtonClick.bind(this);\r\n this.handleDeleteButtonClick = this.handleDeleteButtonClick.bind(this);\r\n this.handleDismissErrorMessage = this.handleDismissErrorMessage.bind(this);\r\n this.handleDisableTenPercentValueTestSelection = this.handleDisableTenPercentValueTestSelection.bind(this);\r\n this.reloadIncompleteSecuritiesSnapshot = this.reloadIncompleteSecuritiesSnapshot.bind(this);\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.refresh();\r\n }\r\n\r\n /**\r\n * Invoked before a mounted component receives new props.\r\n * @param {Object} nextProps The properties that the component is receiving\r\n */\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.period !== this.props.period) {\r\n this.setCanEdit(this.props.period);\r\n }\r\n }\r\n\r\n handleDismissErrorMessage() {\r\n this.props.commonActions.clearFormErrors('securitiesSnapshot');\r\n }\r\n\r\n\r\n refresh() {\r\n // Check if state.period is null, if it is populate period\r\n if (!this.props.period) {\r\n this.props.periodActions.fetchPeriodById(this.props.periodId);\r\n }\r\n else {\r\n this.setCanEdit(this.props.period);\r\n }\r\n\r\n \r\n return this.props.securitiesActions.fetchSecuritiesSnapshotByPeriod(this.props.periodId);\r\n }\r\n\r\n submitForm(values) {\r\n\r\n if (!values.class) {\r\n throw new SubmissionError({ name: \"Class is required\" });\r\n } else {\r\n switch (this.state.formPurpose) {\r\n case \"EDIT\":\r\n {\r\n this.props.commonActions.beginTask();\r\n const securitiesSnapshot = {\r\n \"securitiesSnapshotID\": values.securitiesSnapshotID,\r\n \"allSharesFromIssuerValue\": this.state.isTenPercentValueTestDisabledFlag === true ? '0.00' : values.allSharesFromIssuerValue,\r\n \"class\": values.class,\r\n \"issuer\": values.issuer,\r\n \"securityName\": values.securityName,\r\n \"reitOwnedSharesValue\": values.reitOwnedSharesValue,\r\n \"percentOfVote\": values.percentOfVote,\r\n \"reportPeriodID\": this.props.reportPeriodID,\r\n \"reitOrPropertyName\": values.reitOrPropertyName,\r\n \"clientAccountNumber\": values.clientAccountCode,\r\n \"isTenPercentValueTestDisabled\": this.state.isTenPercentValueTestDisabledFlag,\r\n \"isSystemGenerated\": values.isSystemGenerated,\r\n }; \r\n \r\n return securitiesActions.updateSecuritiesSnapshot(securitiesSnapshot).then(data => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n this.props.commonActions.endTask();\r\n formHelpers.generateSubmissionError(data);\r\n return;\r\n } \r\n \r\n this.closeForm();\r\n this.props.commonActions.endTask();\r\n this.refresh();\r\n // reload incomplete securities snapshot details so the tab buttons of tab container(e.g. Report button) are enabled/disabled accordingly. \r\n this.reloadIncompleteSecuritiesSnapshot(); \r\n \r\n }).catch(error => {\r\n if (error instanceof SubmissionError) {\r\n throw error;\r\n }\r\n\r\n this.props.commonActions.endTask();\r\n formHelpers.generateSubmissionError();\r\n });\r\n }\r\n case \"DELETE\":\r\n {\r\n this.props.commonActions.beginTask();\r\n const securitiesSnapshot = {\r\n \"securitiesSnapshotID\": values.securitiesSnapshotID,\r\n \"allSharesFromIssuerValue\": values.allSharesFromIssuerValue,\r\n \"class\": values.class,\r\n \"issuer\": values.issuer,\r\n \"securityName\": values.securityName,\r\n \"reitOwnedSharesValue\": values.reitOwnedSharesValue,\r\n \"percentOfVote\": values.percentOfVote,\r\n \"reportPeriodID\": this.props.reportPeriodID,\r\n \"reitOrPropertyName\": values.reitOrPropertyName,\r\n \"clientAccountNumber\":values.clientAccountNumber,\r\n };\r\n\r\n return securitiesActions.deleteSecuritiesSnapshot(securitiesSnapshot).then(data => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n this.props.commonActions.endTask();\r\n formHelpers.generateSubmissionError(data);\r\n return;\r\n }\r\n\r\n this.closeForm();\r\n this.props.commonActions.endTask();\r\n this.refresh();\r\n // reload incomplete securities snapshot details so the tab buttons of tab container(e.g. Report button) are enabled/disabled accordingly. \r\n this.reloadIncompleteSecuritiesSnapshot();\r\n }).catch(error => {\r\n if (error instanceof SubmissionError) {\r\n throw error;\r\n }\r\n\r\n this.props.commonActions.endTask();\r\n formHelpers.generateSubmissionError();\r\n });\r\n }\r\n default:\r\n {\r\n this.props.commonActions.beginTask();\r\n \r\n const securitiesSnapshot = {\r\n \"allSharesFromIssuerValue\": this.state.isTenPercentValueTestDisabledFlag === true ? '0.00' : values.allSharesFromIssuerValue,\r\n \"class\": values.class,\r\n \"issuer\": values.issuer,\r\n \"securityName\": values.securityName,\r\n \"reitOwnedSharesValue\": values.reitOwnedSharesValue,\r\n \"percentOfVote\": values.percentOfVote,\r\n \"reportPeriodID\": this.props.periodId,\r\n \"reitOrPropertyName\": values.reitOrPropertyName,\r\n \"clientAccountNumber\": values.clientAccountNumber,\r\n \"isTenPercentValueTestDisabled\": this.state.isTenPercentValueTestDisabledFlag,\r\n \"isSystemGenerated\": values.isSystemGenerated,\r\n }; \r\n \r\n \r\n return securitiesActions.saveSecuritiesSnapshot(securitiesSnapshot).then(data => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n this.props.commonActions.endTask();\r\n formHelpers.generateSubmissionError(data);\r\n return;\r\n }\r\n\r\n this.props.reitActions.fetchReit(this.props.reitId);\r\n this.closeForm();\r\n this.props.commonActions.endTask();\r\n this.refresh();\r\n }).catch(error => {\r\n if (error instanceof SubmissionError) {\r\n throw error;\r\n }\r\n\r\n this.props.commonActions.endTask();\r\n formHelpers.generateSubmissionError();\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n showForm() {\r\n this.setState({ showForm: true, formPurpose: \"\", selectedSecuritiesSnapshot: null });\r\n }\r\n\r\n closeForm() {\r\n this.setState({ showForm: false, isTenPercentValueTestDisabledFlag: false },\r\n () => store.dispatch(reset('securitiesSnapshot'))\r\n );\r\n }\r\n\r\n handleEditButtonClick(value) {\r\n this.setState({\r\n showForm: true,\r\n formPurpose: \"EDIT\",\r\n isTenPercentValueTestDisabledFlag: value.isTenPercentValueTestDisabled,\r\n selectedSecuritiesSnapshot: {\r\n \"securitiesSnapshotID\": value.securitiesSnapshotID,\r\n \"allSharesFromIssuerValue\": value.allSharesFromIssuerValue ? value.allSharesFromIssuerValue : \"0\",\r\n \"class\": value.class,\r\n \"issuer\": value.issuer,\r\n \"securityName\": value.securityName,\r\n // For manual entry, ClientAccountMappingID value is null\r\n // For system created from TB upload, ClientAccountMappingID value is not null. Hence, if reitOwnedSharesValue is less than 0, display 0\r\n \"reitOwnedSharesValue\": value.reitOwnedSharesValue ? value.clientAccountMappingID == null ? value.reitOwnedSharesValue : value.reitOwnedSharesValue > 0 ? value.reitOwnedSharesValue : \"0\" : \"0\",\r\n \"percentOfVote\": value.percentOfVote ? value.percentOfVote : \"0\",\r\n \"reportPeriodID\": value.reportPeriodID,\r\n \"reitOrPropertyName\": value.reitOrPropertyName,\r\n \"clientAccountNumber\": value.clientAccountCode,\r\n \"isTenPercentValueTestDisabled\": value.isTenPercentValueTestDisabled,\r\n \"hasIncompleteSecuritySnapshot\": value.hasIncompleteSecuritySnapshot,\r\n \"clientAccountMappingID\": value.clientAccountMappingID,\r\n \"isSystemGenerated\": value.isSystemGenerated,\r\n }\r\n });\r\n }\r\n\r\n handleDeleteButtonClick(value) {\r\n this.setState({\r\n showForm: true,\r\n formPurpose: \"DELETE\",\r\n isTenPercentValueTestDisabledFlag: value.isTenPercentValueTestDisabled,\r\n selectedSecuritiesSnapshot: {\r\n \"securitiesSnapshotID\": value.securitiesSnapshotID,\r\n \"allSharesFromIssuerValue\": value.allSharesFromIssuerValue ? value.allSharesFromIssuerValue : \"0\",\r\n \"class\": value.class,\r\n \"issuer\": value.issuer,\r\n \"securityName\": value.securityName,\r\n // For manual entry, clientAccountMappingID value is null\r\n // For system created from TB upload, clientAccountMappingID value is not null. Hence, if reitOwnedSharesValue is less than 0, display 0\r\n \"reitOwnedSharesValue\": value.reitOwnedSharesValue ? value.clientAccountMappingID == null ? value.reitOwnedSharesValue : value.reitOwnedSharesValue > 0 ? value.reitOwnedSharesValue : \"0\" : \"0\",\r\n \"percentOfVote\": value.percentOfVote ? value.percentOfVote : \"0\",\r\n \"reportPeriodID\": value.reportPeriodID,\r\n \"reitOrPropertyName\": value.reitOrPropertyName,\r\n \"clientAccountNumber\": value.clientAccountCode,\r\n \"isTenPercentValueTestDisabled\": value.isTenPercentValueTestDisabled\r\n }\r\n });\r\n }\r\n\r\n setCanEdit(period) {\r\n const isEnabled = PeriodActions.isTestingEnabled(period);\r\n this.setState({ canEdit: isEnabled});\r\n }\r\n\r\n handleDisableTenPercentValueTestSelection(value) {\r\n this.setState({ isTenPercentValueTestDisabledFlag: value, }\r\n ,() => store.dispatch(change('securitiesSnapshot', 'allSharesFromIssuerValue', '')));\r\n }\r\n\r\n /**\r\n * Reload incomplete securities snapshot details so the tab buttons of tab container(e.g. Report button) are enabled/disabled accordingly.\r\n */\r\n reloadIncompleteSecuritiesSnapshot(){\r\n securitiesActions.getIncompleteSecuritySnapshotDetailsWithoutDispatch(this.props.clientId, \r\n this.props.reitId, \r\n this.props.periodId).then(secData => { \r\n store.dispatch({ \r\n type: actions.RELOAD_INCOMPLETE_SECURITIES_SNAPSHOTS_SUCCESS,\r\n incompleteSecuritiesSnapshots: secData\r\n }); \r\n });\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nEditSecuritiesSnapshotContainer.propTypes = {\r\n clientId: PropTypes.number.isRequired,\r\n reitId: PropTypes.number.isRequired,\r\n period: PropTypes.object.isRequired,\r\n periodId: PropTypes.number.isRequired,\r\n periodStatus: PropTypes.string,\r\n securitiesActions: PropTypes.object.isRequired,\r\n reitActions: PropTypes.object,\r\n periodActions: PropTypes.object.isRequired,\r\n securitiesSnapshots: PropTypes.arrayOf(PropTypes.shape({\r\n allSharesFromIssuerValue: PropTypes.number,\r\n class: PropTypes.string,\r\n securitiesSnapshotID: PropTypes.number,\r\n issuer: PropTypes.string,\r\n securityName: PropTypes.string,\r\n reitOwnedSharesValue: PropTypes.number,\r\n percentOfVote: PropTypes.number,\r\n reportPeriodID: PropTypes.number,\r\n isTenPercentValueTestDisabled: PropTypes.bool\r\n })),\r\n commonActions: PropTypes.object.isRequired\r\n};\r\n\r\nEditSecuritiesSnapshotContainer.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n clientId: Number.parseInt(ownProps.router.params.clientId),\r\n reitId: Number.parseInt(ownProps.router.params.reitId),\r\n periodId: Number.parseInt(ownProps.router.params.periodId),\r\n securitiesSnapshots: state.securitiesSnapshots,\r\n period: state.period\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n securitiesActions: bindActionCreators(securitiesActions, dispatch),\r\n periodActions: bindActionCreators(PeriodActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n reitActions: bindActionCreators(reitActions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(EditSecuritiesSnapshotContainer));","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as formatters from \"../../scripts/formFormatters\";\r\n\r\nconst ShortDate = ({ value }) => {\r\n return (\r\n {formatters.formatDate(value)}\r\n );\r\n};\r\n\r\nShortDate.propTypes = {\r\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.instanceOf(Date)]).isRequired\r\n};\r\n\r\nexport default ShortDate;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { reduxForm } from \"redux-form\";\r\nimport ShortDate from \"../shared/ShortDate\";\r\nimport { FormattedNumber } from \"react-intl\";\r\nimport FormattedCurrency from \"../shared/FormattedCurrency\";\r\nimport PropertyAmenitiesTableContainer from \"../../containers/shared/PropertyAmenitiesTableContainer\";\r\nimport { MotifButton, MotifToast, MotifModalHeader, MotifModalBody, MotifModalFooter } from '@ey-xd/motif-react';\r\nimport { Fragment } from \"react\";\r\n\r\nconst editPropertyComponent = ({\r\n property,\r\n lookupTypes,\r\n showForm,\r\n handleCloseForm,\r\n handleCloseComponent,\r\n handleNewButtonClick,\r\n handleSubmit,\r\n handleEditButtonClick,\r\n handleDeleteButtonClick,\r\n showSuccess,\r\n canEdit,\r\n handleDismissErrorMessage,\r\n handleDismissSuccessMessage,\r\n periodPropertyCount,\r\n taxableReitSubsidiaries,\r\n initialValues,\r\n handleShowEndForm,\r\n handleShowClearEndDateForm\r\n}) => {\r\n let address = \"No address has been entered.\";\r\n if (property && property.locationAddressStreet) {\r\n address = `${property.locationAddressStreet}, ${property.locationAddressCity}, ${property.locationAddressState} ${property.locationAddressZipCode}`;\r\n }\r\n \r\n const reitModalStyle = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: '60%',\r\n height: '100%', // <-- This sets the height\r\n overlfow: 'scroll' // <-- This tells the modal to scrol\r\n }\r\n };\r\n\r\n const onEndClick = () => {\r\n handleShowEndForm(property.propertyID);\r\n };\r\n\r\n const onClearEndDateClick = () => {\r\n handleShowClearEndDateForm(property.propertyID);\r\n };\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Property Modal',\r\n ariaLabel: 'Close Property Modal',\r\n dataTestid: 'close',\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Property\r\n \r\n \r\n \r\n {property && property.propertyName &&
    \r\n
    \r\n
    \r\n {showSuccess && Property updated successfully!}\r\n
    \r\n
    \r\n {!canEdit && Reporting Closed }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    {property.propertyName}

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

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

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

    {property.endDate &&\r\n || Active Property \r\n }

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

    {address}

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

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

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

    {lookupTypes.propertyTypes.find(pt => pt.propertyTypeID === property.propertyTypeID).propertyTypeDescription}

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

    {property.psqPropertyTypes.map(p => p.replace(\"MultiFamily\", \"Multi-Family\")).join(\", \")}

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

    {lookupTypes.propertyClasses.find(pt => pt.propertyClassID === property.propertyClassID).propertyClassDescription}

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

    {lookupTypes.tenantTypes.find(pt => pt.tenantTypeID === property.tenantTypeId).tenantTypeDescription}

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

    {lookupTypes.propertyParkingTypes.find(pt => pt.propertyParkingTypeID === property.propertyParkingTypeID).propertyParkingTypeDescription}

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

    {property.managementCompany}

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

    {property.managerName}

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

    {property.managerEmail}

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

    {property.managerPhone}

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

    {property.accountantName}

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

    {property.accountantEmail}

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

    {property.accountantPhone}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {property.propertyTrackingID}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    ||

    No property found for this report period.

    }\r\n
    \r\n \r\n {property && property.propertyName && \r\n \r\n \r\n Cancel\r\n \r\n {property.endDate && \r\n \r\n Clear End Date\r\n \r\n ||\r\n \r\n End Property\r\n \r\n }\r\n \r\n Edit\r\n \r\n \r\n \r\n }\r\n \r\n
    \r\n );\r\n};\r\n\r\neditPropertyComponent.propTypes = {\r\n property: PropTypes.object,\r\n showForm: PropTypes.bool,\r\n handleCloseForm: PropTypes.func.isRequired,\r\n handleCloseComponent: PropTypes.func.isRequired,\r\n handleNewButtonClick: PropTypes.func,\r\n handleSubmit: PropTypes.func.isRequired,\r\n handleEditButtonClick: PropTypes.func.isRequired,\r\n handleDeleteButtonClick: PropTypes.func,\r\n showSuccess: PropTypes.bool,\r\n canEdit: PropTypes.bool,\r\n handleDismissErrorMessage: PropTypes.func,\r\n handleDismissSuccessMessage: PropTypes.func,\r\n periodPropertyCount: PropTypes.number,\r\n taxableReitSubsidiaries: PropTypes.array,\r\n initialValues: PropTypes.object,\r\n handleShowEndForm: PropTypes.func.isRequired,\r\n handleShowClearEndDateForm: PropTypes.func.isRequired\r\n};\r\n\r\nexport default reduxForm({ form: \"readProperty\", enableReinitialize: true })(editPropertyComponent);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Button, Icon, Input } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { DateField } from \"../shared/formFields\";\r\nimport { MotifButton, MotifModalHeader, MotifModalBody, MotifModalFooter } from '@ey-xd/motif-react';\r\n\r\nconst EndPropertyForm = ({ handleSubmit, handleCloseEndForm, initialValues, error, submitting, handleDismissErrorMessage }) => {\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close End Property Modal',\r\n ariaLabel: 'Close End Property Modal',\r\n dataTestid: 'close',\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {initialValues.propertyName}\r\n \r\n \r\n \r\n
    \r\n {formHelpers.showSubmissionError(error, handleDismissErrorMessage)}\r\n \r\n {initialValues.propertyTrackingID}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Note: This property will be removed from all open periods with a start date after the date entered. For each impacted period, the property's trial balances will be deleted and test results will be recalculated.

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nEndPropertyForm.propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n property: PropTypes.object,\r\n initialValues: PropTypes.object,\r\n error: PropTypes.string,\r\n submitting: PropTypes.bool,\r\n handleCloseEndForm: PropTypes.func.isRequired,\r\n handleDismissErrorMessage: PropTypes.func.isRequired\r\n};\r\n\r\nexport default reduxForm({ form: \"property\" })(EndPropertyForm);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport { MotifButton, MotifModalHeader, MotifModalBody, MotifModalFooter } from '@ey-xd/motif-react';\r\n\r\nconst ClearEndDateForm = ({ handleSubmit, handleCloseForm, initialValues, error, submitting, handleDismissErrorMessage }) => {\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Clear End Date Property Modal',\r\n ariaLabel: 'Close Clear End Date Property Modal',\r\n dataTestid: 'close',\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {initialValues.propertyName}\r\n \r\n \r\n \r\n
    \r\n {formHelpers.showSubmissionError(error, handleDismissErrorMessage)}\r\n \r\n {initialValues.propertyTrackingID}\r\n
    \r\n

    Note: This property will be reactivated in all future open periods.

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n Clear End Date\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nClearEndDateForm.propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n property: PropTypes.object,\r\n initialValues: PropTypes.object,\r\n error: PropTypes.string,\r\n submitting: PropTypes.bool,\r\n handleCloseForm: PropTypes.func.isRequired,\r\n handleDismissErrorMessage: PropTypes.func.isRequired\r\n};\r\n\r\nexport default reduxForm({ form: \"clearEndDate\" })(ClearEndDateForm);","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\n\r\nimport { Button, Header } from \"semantic-ui-react\";\r\nimport {\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifButton,\r\n MotifIcon\r\n } from '@ey-xd/motif-react';\r\n import { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\n\r\nconst HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: `Close Delete Property modal`,\r\n ariaLabel: `Close Delete Property modal`,\r\n dataTestid: 'close',\r\n };\r\n\r\nconst DeletePropertyModal = ({ property, showDeletePropertyModal, handleYes, handleNo, deletePropertyDetail }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Delete Property\r\n \r\n \r\n \r\n {!deletePropertyDetail.period && (\r\n Please confirm you want to delete the property from all periods.\r\n ) || (\r\n \r\n The Property cannot be deleted because it may have a PSQ or a Trial Balance uploaded\r\n or it may be the last property within the REIT period. The earliest period this condition exists is in {deletePropertyDetail.period}.\r\n \r\n )}\r\n \r\n \r\n \r\n {!deletePropertyDetail.period && (\r\n \r\n Cancel\r\n Delete\r\n \r\n ) || ( \r\n \r\n Ok\r\n \r\n )\r\n }\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nDeletePropertyModal.propTypes = {\r\n property: PropTypes.object.isRequired,\r\n showDeletePropertyModal: PropTypes.bool,\r\n handleYes: PropTypes.func.isRequired,\r\n handleNo: PropTypes.func.isRequired\r\n};\r\n\r\nexport default DeletePropertyModal;","import React from \"react\";\r\nimport { MotifIconButton, MotifIcon } from \"@ey-xd/motif-react\";\r\nimport { IconoirEditPencil, IconoirTrash } from '@ey-xd/motif-icon';\r\n\r\nexport default (props) => {\r\n const propertyId = props.node.data ? props.node.data.propertyID : -1;\r\n\r\n if (props.node.data !== undefined) {\r\n return (\r\n
    \r\n props.handleOpenComponent(propertyId)}\r\n >\r\n \r\n \r\n props.handleOpenDeleteProperty(propertyId)}\r\n >\r\n \r\n \r\n
    \r\n );\r\n }\r\n};\r\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport EditPropertyComponent from \"../../components/reits/EditPropertyComponent\";\r\nimport EditPropertyForm from \"./EditPropertyForm\";\r\nimport EndPropertyModal from \"./EndPropertyModal\";\r\nimport ClearEndDateForm from \"./ClearEndDateForm\";\r\nimport DeletePropertyModal from \"../../components/reits/DeletePropertyModal\";\r\nimport { MotifButton, MotifModal, MotifTable } from \"@ey-xd/motif-react\";\r\nimport { AgGridReact } from \"ag-grid-react\";\r\nimport PropertyCellRenderer from \"../shared/customRenderers/PropertyCellRenderer\";\r\nimport {\r\n handleFilterChanged,\r\n handleFirstDataRendered,\r\n handleGridReady,\r\n tableHeaderClass,\r\n handleItemsPerPageChange,\r\n} from \"../../common/AgGridEventHandlers\";\r\nimport CustomHeaderTemplate from \"../shared/customHeaders/CustomHeaderTemplate\";\r\nimport CustomPagination from \"../../common/MotifPagination\";\r\nimport DateComparator from \"../checklistDeliveryCalendar/customComparators/DateComparator\";\r\nimport * as formatters from \"../../scripts/formFormatters\";\r\nconst PropertyList = ({\r\n period,\r\n properties,\r\n lookupTypes,\r\n property,\r\n formPurpose,\r\n formProperty,\r\n showForm,\r\n handleCloseForm,\r\n handleNewButtonClick,\r\n handleSubmit,\r\n handleEditButtonClick,\r\n handleDeleteButtonClick,\r\n showSuccess,\r\n isTestingEnabled,\r\n canAdd,\r\n canEdit,\r\n handleDismissErrorMessage,\r\n handleDismissSuccessMessage,\r\n periodPropertyCount,\r\n hideSuccessMessage,\r\n showComponent,\r\n handleCloseComponent,\r\n handleOpenComponent,\r\n taxableReitSubsidiaries,\r\n tbMode,\r\n showEndForm,\r\n handleShowEndForm,\r\n handleCloseEndForm,\r\n showClearEndDateForm,\r\n handleShowClearEndDateForm,\r\n handleOpenDeleteProperty,\r\n showDeletePropertyModal,\r\n deletePropertyDetail,\r\n handleYesDeleteProperty,\r\n handleNoDeleteProperty,\r\n handleGridChanges,\r\n}) => {\r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: \"propertyName\",\r\n headerName: \"PROPERTY NAME\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 300,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"propertyName\"),\r\n },\r\n },\r\n {\r\n field: \"propertyTypeDescription\",\r\n headerName: \"TYPE\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 200,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"propertyTypeDescription\"),\r\n },\r\n valueGetter: (params) =>\r\n params.data.propertyTypeDescription !== \"NotSelected\"\r\n ? params.data.propertyTypeDescription\r\n : \"\",\r\n },\r\n {\r\n field: \"purchaseDate\",\r\n headerName: \"PURCHASE DATE\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 183,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"purchaseDate\"),\r\n },\r\n valueGetter: (params) => {\r\n const dateValue = params.data && params.data.purchaseDate ? params.data.purchaseDate : null;\r\n return formatters.formatDate(dateValue);\r\n },\r\n comparator: DateComparator,\r\n },\r\n {\r\n field: \"percentageOfOwnership\",\r\n headerName: \"OWNERSHIP\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 183,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"percentageOfOwnership\"),\r\n },\r\n valueGetter: (params) => {\r\n const percentage = params.data && params.data.percentageOfOwnership;\r\n return percentage\r\n ? ((percentage * 1000.0) / 100000.0).toLocaleString(undefined, {\r\n style: \"percent\",\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 10,\r\n })\r\n : \"\";\r\n },\r\n },\r\n {\r\n field: \"propertyTrackingID\",\r\n headerName: \"TRACKING ID\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 183,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"propertyTrackingID\"),\r\n },\r\n },\r\n {\r\n field: \"\",\r\n headerName: \"\",\r\n suppressMenu: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 175,\r\n cellRenderer: PropertyCellRenderer,\r\n cellRendererParams: {\r\n properties,\r\n lookupTypes,\r\n handleOpenComponent,\r\n handleOpenDeleteProperty,\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"TemplateAction\"),\r\n },\r\n },\r\n ];\r\n };\r\n\r\n //Handle deselect all event\r\n const handleDeselectAll = (val) => {\r\n // set current page and total pages to 0\r\n setCurrentPage(0); \r\n setTotalPages(0); \r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n\r\n useEffect(() => {\r\n handleGridChanges(\r\n rowData,\r\n gridRef && gridRef.current ? gridRef.current.api : null\r\n );\r\n if (rowData.length > 0 && gridRef.current.api != undefined) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n setRowData(properties);\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.applyTransaction({});\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n }, [properties]);\r\n\r\n useEffect(() => {\r\n if (gridRef.current) {\r\n setColumnDefs(getColumnDefs());\r\n }\r\n }, [columnDefs]);\r\n\r\n const reitModalStyle = {\r\n content: {\r\n top: \"50%\",\r\n left: \"50%\",\r\n right: \"auto\",\r\n bottom: \"auto\",\r\n marginRight: \"-50%\",\r\n transform: \"translate(-50%, -50%)\",\r\n width: \"60%\",\r\n height: \"100%\", // <-- This sets the height\r\n overflow: \"scroll\", // <-- This tells the modal to scroll\r\n },\r\n };\r\n\r\n let buttonMessage = \"Add a property to this REIT\";\r\n if (!canAdd) {\r\n buttonMessage = \"Period is closed to testing.\";\r\n }\r\n if (tbMode === 2) {\r\n buttonMessage = \"Consolidated Trial Balance Mode\";\r\n }\r\n\r\n const rowHeight = 76; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Properties{\" \"}\r\n {!canEdit\r\n ? \"- Reporting Closed\"\r\n : !canAdd\r\n ? \"- Testing Closed\"\r\n : \"\"}{\" \"}\r\n

    \r\n
    \r\n
    \r\n \r\n New Property\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {rowData.length > 0 && (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleGridReady(\r\n event,\r\n gridRef,\r\n setCurrentPage,\r\n setItemsPerPage,\r\n setTotalPages,\r\n \"REITSuitePropertyColumnState\",\r\n handleDeselectAll\r\n )\r\n }\r\n onFirstDataRendered={handleFirstDataRendered(gridRef)}\r\n ref={gridRef}\r\n pagination={true}\r\n suppressPaginationPanel={true}\r\n paginationPageSize={100}\r\n groupDisplayType={\"custom\"}\r\n groupSelectsChildren={true}\r\n groupDefaultExpanded={0}\r\n onFilterChanged={handleFilterChanged(\r\n gridRef,\r\n currentPage,\r\n setCurrentPage,\r\n setTotalPages\r\n )}\r\n data-testid=\"divPropertyListGrid\"\r\n deltaRowDataMode={true}\r\n immutableData={true}\r\n getRowNodeId={(data) => data.propertyID}\r\n />\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n )}\r\n {properties && properties.length === 0 && (\r\n
    No property found for this report period.
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nPropertyList.propTypes = {\r\n period: PropTypes.object,\r\n properties: PropTypes.array,\r\n property: PropTypes.object,\r\n formProperty: PropTypes.object,\r\n showForm: PropTypes.bool,\r\n handleCloseForm: PropTypes.func,\r\n handleNewButtonClick: PropTypes.func,\r\n handleSubmit: PropTypes.func,\r\n handleEditButtonClick: PropTypes.func,\r\n handleDeleteButtonClick: PropTypes.func,\r\n showSuccess: PropTypes.bool,\r\n isTestingEnabled: PropTypes.bool,\r\n canAdd: PropTypes.bool,\r\n canEdit: PropTypes.bool,\r\n handleDismissErrorMessage: PropTypes.func,\r\n handleDismissSuccessMessage: PropTypes.func,\r\n periodPropertyCount: PropTypes.number,\r\n hideSuccessMessage: PropTypes.bool,\r\n showComponent: PropTypes.bool,\r\n handleCloseComponent: PropTypes.func,\r\n handleOpenComponent: PropTypes.func,\r\n taxableReitSubsidiaries: PropTypes.array,\r\n tbMode: PropTypes.number,\r\n showEndForm: PropTypes.bool,\r\n handleShowEndForm: PropTypes.func,\r\n handleCloseEndForm: PropTypes.func,\r\n formPurpose: PropTypes.string,\r\n showClearEndDateForm: PropTypes.bool,\r\n lookupTypes: PropTypes.object,\r\n handleShowClearEndDateForm: PropTypes.func.isRequired,\r\n handleOpenDeleteProperty: PropTypes.func,\r\n showDeletePropertyModal: PropTypes.bool,\r\n deletePropertyDetail: PropTypes.object,\r\n handleYesDeleteProperty: PropTypes.func,\r\n handleNoDeleteProperty: PropTypes.func,\r\n handleGridChanges: PropTypes.func,\r\n};\r\n\r\nexport default PropertyList;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { SubmissionError, getFormValues, change } from \"redux-form\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport * as propertyActions from \"../../actions/propertyActions\";\r\nimport * as PeriodActions from \"../../actions/periodActions\";\r\nimport * as trsActions from \"../../actions/trsActions\";\r\nimport * as actionHelpers from \"../../scripts/actionHelpers\";\r\nimport * as commonActions from \"../../actions/commonActions\";\r\nimport PropertyList from \"../../components/reits/PropertyList\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport PropertyAmenitiesTableContainer from \"../shared/PropertyAmenitiesTableContainer\";\r\nimport * as lookupTypeActions from \"../../actions/lookupTypeActions\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * PropertiesPage container component\r\n * @extends {React.Component}\r\n */\r\nexport class PropertiesPage extends React.Component {\r\n /**\r\n * Creates a new PropertiesPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n propertySearchText: \"\",\r\n //filteredProperties: [],\r\n showForm: false,\r\n formProperty: {},\r\n showComponent: false,\r\n showDeletePropertyModal: false,\r\n formPurpose: \"\",\r\n showSuccess: null,\r\n canAdd: true,\r\n canEdit: true,\r\n isTestingEnabled: false,\r\n hideSuccessMessage: false,\r\n periodPropertyCount: 0,\r\n tbMode: 1,\r\n selectedPropertyId: null,\r\n showEndForm: false,\r\n\r\n showClearEndDateForm: false,\r\n gridCurrentState: [],\r\n };\r\n\r\n this.closeForm = this.closeForm.bind(this);\r\n this.showForm = this.showForm.bind(this);\r\n this.submitForm = this.submitForm.bind(this);\r\n this.handleEditButtonClick = this.handleEditButtonClick.bind(this);\r\n this.handleDismissErrorMessage = this.handleDismissErrorMessage.bind(this);\r\n this.handleDismissSuccessMessage =\r\n this.handleDismissSuccessMessage.bind(this);\r\n this.handleNewButtonClick = this.handleNewButtonClick.bind(this);\r\n this.handleCloseComponent = this.handleCloseComponent.bind(this);\r\n this.handleOpenComponent = this.handleOpenComponent.bind(this);\r\n this.handleShowEndForm = this.handleShowEndForm.bind(this);\r\n this.handleShowClearEndDateForm =\r\n this.handleShowClearEndDateForm.bind(this);\r\n this.handleCloseEndForm = this.handleCloseEndForm.bind(this);\r\n this.handleOpenDeleteProperty = this.handleOpenDeleteProperty.bind(this);\r\n this.handleYesDeleteProperty = this.handleYesDeleteProperty.bind(this);\r\n this.handleNoDeleteProperty = this.handleNoDeleteProperty.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n }\r\n\r\n /**\r\n * Invoked immediately after a component mounts\r\n */\r\n componentDidMount() {\r\n // Check if state.period is null, if it is populate period\r\n if (!this.props.period) {\r\n this.props.periodActions.fetchPeriodById(this.props.periodId);\r\n }\r\n\r\n this.props.actions.fetchFirstPropertyByPeriod(this.props.periodId);\r\n this.props.actions.fetchPropertiesByPeriod(this.props.periodId);\r\n this.props.trsActions.fetchTrsByPeriod(this.props.periodId);\r\n this.props.lookupTypeActions.fetchPropertyTypes();\r\n this.resetGridColumnState();\r\n }\r\n\r\n /**\r\n * Invoked before a mounted component receives new props.\r\n * @param {Object} nextProps The properties that the component is receiving\r\n */\r\n componentDidUpdate(prevProps) {\r\n\r\n if (prevProps.periodId !== this.props.periodId && this.props.periodId > 0) {\r\n this.props.actions.fetchPropertiesByPeriod(this.props.periodId);\r\n }\r\n\r\n if (prevProps.period !== this.props.period) {\r\n this.setCanAdd(this.props.period);\r\n this.setCanEdit(this.props.period);\r\n this.setIsTestingEnabled(this.props.period);\r\n if (this.props.period && this.props.period.trialBalanceModeID === 2) {\r\n this.setState({ tbMode: 2 });\r\n } else {\r\n this.setState({ tbMode: 1 });\r\n }\r\n }\r\n\r\n if (prevProps.properties !== this.props.properties) {\r\n this.setState({ periodPropertyCount: this.props.properties.length });\r\n }\r\n\r\n if (this.props.propertyValues && prevProps.propertyValues\r\n && prevProps.propertyValues.propertyTypeID !== this.props.propertyValues.propertyTypeID\r\n && ![\"Mixed Use\"].includes(this.props.lookupTypes.propertyTypes.find(p => p.propertyTypeID == this.props.propertyValues.propertyTypeID).propertyTypeDescription)\r\n ) {\r\n const newValue = this.props.lookupTypes.propertyTypes.find(p => p.propertyTypeID == this.props.propertyValues.propertyTypeID).propertyTypeDescription;\r\n const newFormValue = newValue !== 'Not Selected' ? [newValue.replace(\"Multi-Family\", \"MultiFamily\")] : [];\r\n this.props.change(\"property\", \"psqPropertyTypes\", newFormValue);\r\n }\r\n }\r\n\r\n handleNewButtonClick() {\r\n this.setState({\r\n formProperty: {},\r\n showForm: true,\r\n showComponent: false,\r\n formPurpose: \"ADD\",\r\n showSuccess: null,\r\n });\r\n }\r\n\r\n handleDismissErrorMessage() {\r\n this.props.commonActions.clearFormErrors(\"property\");\r\n }\r\n\r\n handleDismissSuccessMessage() {\r\n this.setState({ hideSuccessMessage: true });\r\n }\r\n\r\n setIsTestingEnabled(period) {\r\n const isEnabled = PeriodActions.isTestingEnabled(period);\r\n this.setState({ isTestingEnabled: isEnabled });\r\n }\r\n\r\n setCanAdd(period) {\r\n const isEnabled = PeriodActions.isTestingEnabled(period);\r\n this.setState({ canAdd: isEnabled });\r\n }\r\n\r\n setCanEdit(period) {\r\n const isEnabled = PeriodActions.isReportingEnabled(period);\r\n this.setState({ canEdit: isEnabled });\r\n }\r\n\r\n handleShowEndForm(propertyId) {\r\n this.props.actions.fetchProperty(propertyId).then(() => {\r\n let formProperty = Object.assign({}, this.props.property);\r\n this.setState({\r\n formProperty: formProperty,\r\n showComponent: false,\r\n showEndForm: true,\r\n showClearEndDateForm: false,\r\n showSuccess: null,\r\n formPurpose: \"END\",\r\n });\r\n });\r\n }\r\n\r\n handleShowClearEndDateForm(propertyId) {\r\n this.props.actions.fetchProperty(propertyId).then(() => {\r\n let formProperty = Object.assign({}, this.props.property);\r\n this.setState({\r\n formProperty: formProperty,\r\n showComponent: false,\r\n showEndForm: false,\r\n showClearEndDateForm: true,\r\n showSuccess: null,\r\n formPurpose: \"CLEAR\",\r\n });\r\n });\r\n }\r\n\r\n handleCloseEndForm() {\r\n this.setState({\r\n showComponent: false,\r\n showEndForm: false,\r\n showClearEndDateForm: false,\r\n showSuccess: null,\r\n formPurpose: \"\",\r\n });\r\n }\r\n\r\n /**\r\n * Handle Grid changes */\r\n handleGridChanges(gridRowData, gridRefApi) {\r\n let rowData = [];\r\n rowData =\r\n gridRowData &&\r\n gridRowData.length &&\r\n gridRowData.map((x) => {\r\n return {\r\n propertyName: x.propertyName,\r\n propertyTypeDescription: x.propertyTypeDescription,\r\n purchaseDate: x.purchaseDate,\r\n percentageOfOwnership: x.percentageOfOwnership,\r\n propertyTrackingID: x.propertyTrackingID,\r\n };\r\n });\r\n\r\n this.setState({ gridCurrentState: rowData });\r\n\r\n if (gridRefApi) {\r\n gridRefApi.refreshCells();\r\n }\r\n }\r\n\r\n submitForm(values) {\r\n if (this.state.formPurpose === \"END\") {\r\n return this.endProperty(values);\r\n }\r\n\r\n if (this.state.formPurpose === \"ADD\") {\r\n return this.createProperty(values);\r\n }\r\n\r\n if (this.state.formPurpose === \"CLEAR\") {\r\n return this.clearEndDate(values);\r\n }\r\n\r\n return this.updateProperty(values);\r\n }\r\n\r\n clearEndDate(values) {\r\n if (!values || !values.propertyID) {\r\n return;\r\n }\r\n\r\n const propertyId = values.propertyID;\r\n\r\n this.props.commonActions.beginTask();\r\n\r\n return propertyActions\r\n .clearEndDate(propertyId)\r\n .then((data) => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n this.props.commonActions.endTask();\r\n return formHelpers.generateSubmissionError(data);\r\n }\r\n\r\n this.props.actions.fetchPropertiesByPeriod(this.props.periodId);\r\n this.props.actions.fetchFirstPropertyByPeriod(this.props.periodId);\r\n this.handleCloseEndForm();\r\n this.props.commonActions.endTask();\r\n })\r\n .catch((error) => {\r\n if (error instanceof SubmissionError) {\r\n this.props.commonActions.endTask();\r\n throw error;\r\n }\r\n\r\n this.props.commonActions.endTask();\r\n return formHelpers.generateSubmissionError();\r\n });\r\n }\r\n\r\n endProperty(values) {\r\n if (!values || !values.endDate) {\r\n return;\r\n }\r\n\r\n this.props.commonActions.beginTask();\r\n\r\n let endDate = new Date(values.endDate);\r\n let currentPeriodStartDate = new Date(this.props.period.startDate);\r\n let currentPeriodEndDate = new Date(this.props.period.endDate);\r\n\r\n if (endDate > currentPeriodEndDate || endDate < currentPeriodStartDate) {\r\n let errorResponse = {};\r\n errorResponse.message =\r\n \"A property end date must be entered in the reporting period containing that date.\";\r\n errorResponse.errorCode = \"INVALID_DATE\";\r\n\r\n this.props.commonActions.endTask();\r\n return formHelpers.generateSubmissionError(errorResponse);\r\n }\r\n\r\n const property = {\r\n cloningId: values.cloningID,\r\n endDate: values.endDate,\r\n id: values.propertyID,\r\n propertyName: values.propertyName,\r\n reportPeriodId: values.reportPeriodID,\r\n trackingId: values.propertyTrackingID,\r\n propagateChanges: true,\r\n };\r\n\r\n return propertyActions\r\n .endProperty(property)\r\n .then((data) => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n if (data && Array.isArray(data.validationErrors)) {\r\n for (let index = 0; index < data.validationErrors.length; index++) {\r\n if (\r\n data.validationErrors[index].element.toLowerCase() === \"name\"\r\n ) {\r\n data.validationErrors[index].element = \"propertyName\";\r\n }\r\n }\r\n }\r\n\r\n this.props.commonActions.endTask();\r\n return formHelpers.generateSubmissionError(data);\r\n }\r\n\r\n this.props.actions.fetchPropertiesByPeriod(this.props.periodId);\r\n this.props.actions.fetchFirstPropertyByPeriod(this.props.periodId);\r\n this.handleCloseEndForm();\r\n this.props.commonActions.endTask();\r\n })\r\n .catch((error) => {\r\n if (error instanceof SubmissionError) {\r\n throw error;\r\n }\r\n\r\n return formHelpers.generateSubmissionError();\r\n });\r\n }\r\n\r\n createProperty(values) {\r\n this.props.commonActions.beginTask();\r\n let propertyAmenities =\r\n PropertyAmenitiesTableContainer.convertFromReduxFormValueToPropertyAmenityCollection(\r\n values.propertyAmenities,\r\n 0\r\n );\r\n\r\n const property = {\r\n accountantEmail: !values.accountantEmail\r\n ? \"\"\r\n : values.accountantEmail.trim(),\r\n accountantName: !values.accountantName\r\n ? \"\"\r\n : values.accountantName.trim(),\r\n accountantPhone: !values.accountantPhone ? \"\" : values.accountantPhone,\r\n propertyClassID: !values.propertyClassID ? \"0\" : values.propertyClassID,\r\n cloningId: null,\r\n locationAddressCity: values.locationAddressCity.trim(),\r\n locationAddressState: values.locationAddressState,\r\n locationAddressStreet: values.locationAddressStreet.trim(),\r\n locationAddressZipCode: values.locationAddressZipCode,\r\n managementCompany: !values.managementCompany\r\n ? \"\"\r\n : values.managementCompany.trim(),\r\n managerEmail: !values.managerEmail ? \"\" : values.managerEmail.trim(),\r\n managerName: !values.managerName ? \"\" : values.managerName.trim(),\r\n managerPhone: !values.managerPhone ? \"\" : values.managerPhone,\r\n propertyName: values.propertyName.trim(),\r\n percentageOfOwnership: values.percentageOfOwnership,\r\n propertyAmenity: propertyAmenities,\r\n propertyParkingTypeID: !values.propertyParkingTypeID\r\n ? \"0\"\r\n : values.propertyParkingTypeID,\r\n propertyTypeID: !values.propertyTypeID ? \"0\" : values.propertyTypeID,\r\n psqPropertyTypes: !values.psqPropertyTypes\r\n ? [0]\r\n : values.psqPropertyTypes.map((p) =>\r\n p.replace(\"Multi-Family\", \"MultiFamily\")\r\n ),\r\n purchaseDate: values.purchaseDate,\r\n endDate: values.endDate,\r\n purchasePrice: values.purchasePrice,\r\n rentableSquareFootage: values.rentableSquareFootage,\r\n reportPeriodId: this.props.periodId,\r\n tenantTypeId: !values.tenantTypeId ? \"0\" : values.tenantTypeId,\r\n propagateProperty: true,\r\n };\r\n return propertyActions\r\n .createProperty(property)\r\n .then((data) => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n if (data && Array.isArray(data.validationErrors)) {\r\n for (let index = 0; index < data.validationErrors.length; index++) {\r\n if (\r\n data.validationErrors[index].element.toLowerCase() === \"name\"\r\n ) {\r\n data.validationErrors[index].element = \"propertyName\";\r\n }\r\n }\r\n }\r\n\r\n formHelpers.generateSubmissionError(data);\r\n this.props.commonActions.endTask();\r\n\r\n return;\r\n }\r\n\r\n this.props.actions.fetchPropertiesByPeriod(this.props.periodId);\r\n this.props.actions.fetchFirstPropertyByPeriod(this.props.periodId);\r\n this.closeForm();\r\n this.props.commonActions.endTask();\r\n })\r\n .catch((error) => {\r\n if (error instanceof SubmissionError) {\r\n this.props.commonActions.endTask();\r\n throw error;\r\n }\r\n\r\n formHelpers.generateSubmissionError();\r\n this.props.commonActions.endTask();\r\n });\r\n }\r\n\r\n updateProperty(values) {\r\n this.props.commonActions.beginTask();\r\n let propertyAmenities =\r\n PropertyAmenitiesTableContainer.convertFromReduxFormValueToPropertyAmenityCollection(\r\n values.propertyAmenities,\r\n values.propertyID\r\n );\r\n\r\n const property = {\r\n accountantEmail: values.accountantEmail.trim(),\r\n accountantName: values.accountantName.trim(),\r\n accountantPhone: values.accountantPhone,\r\n propertyClassID: values.propertyClassID,\r\n cloningId: values.cloningID,\r\n endDate: values.endDate,\r\n propertyId: values.propertyID,\r\n locationAddressCity: values.locationAddressCity.trim(),\r\n locationAddressState: values.locationAddressState,\r\n locationAddressStreet: values.locationAddressStreet.trim(),\r\n locationAddressZipCode: values.locationAddressZipCode,\r\n managementCompany: values.managementCompany.trim(),\r\n managerEmail: values.managerEmail.trim(),\r\n managerName: values.managerName.trim(),\r\n managerPhone: values.managerPhone,\r\n propertyName: values.propertyName.trim(),\r\n percentageOfOwnership: values.percentageOfOwnership,\r\n propertyAmenity: propertyAmenities,\r\n propertyParkingTypeID: values.propertyParkingTypeID,\r\n propertyTypeID: values.propertyTypeID,\r\n psqPropertyTypes: values.psqPropertyTypes.map((p) =>\r\n p.replace(\"Multi-Family\", \"MultiFamily\")\r\n ) || [0],\r\n purchaseDate: values.purchaseDate,\r\n purchasePrice: values.purchasePrice,\r\n rentableSquareFootage: values.rentableSquareFootage,\r\n reportPeriodId: values.reportPeriodID,\r\n tenantTypeId: values.tenantTypeId,\r\n propagateChanges: true,\r\n };\r\n\r\n if (!property.rentableSquareFootage) {\r\n property.rentableSquareFootage = 0;\r\n }\r\n\r\n if (!property.purchasePrice) {\r\n property.purchasePrice = 0.0;\r\n }\r\n\r\n if (!property.percentageOfOwnership) {\r\n property.percentageOfOwnership = 100.0;\r\n }\r\n\r\n return propertyActions\r\n .updateProperty(property)\r\n .then((data) => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n if (data && Array.isArray(data.validationErrors)) {\r\n for (let index = 0; index < data.validationErrors.length; index++) {\r\n if (\r\n data.validationErrors[index].element.toLowerCase() === \"name\"\r\n ) {\r\n data.validationErrors[index].element = \"propertyName\";\r\n }\r\n }\r\n }\r\n\r\n formHelpers.generateSubmissionError(data);\r\n this.props.commonActions.endTask();\r\n return;\r\n }\r\n\r\n this.props.actions.fetchPropertiesByPeriod(this.props.periodId);\r\n this.props.actions.fetchFirstPropertyByPeriod(this.props.periodId);\r\n this.closeForm();\r\n this.props.commonActions.endTask();\r\n })\r\n .catch((error) => {\r\n if (error instanceof SubmissionError) {\r\n this.props.commonActions.endTask();\r\n throw error;\r\n }\r\n\r\n formHelpers.generateSubmissionError();\r\n this.props.commonActions.endTask();\r\n });\r\n }\r\n\r\n showForm() {\r\n this.setState({ showForm: true, formPurpose: \"\", showSuccess: null });\r\n }\r\n\r\n closeForm() {\r\n this.setState({ showForm: false, showSuccess: null });\r\n }\r\n\r\n handleCloseComponent() {\r\n this.setState({ showComponent: false, showSuccess: null });\r\n }\r\n\r\n handleOpenComponent(propertyId) {\r\n this.props.actions.fetchProperty(propertyId);\r\n this.setState({ showComponent: true, showForm: false, showSuccess: null });\r\n }\r\n\r\n handleOpenDeleteProperty(propertyId) {\r\n this.props.actions.fetchProperty(propertyId).then(() => {\r\n this.props.actions.fetchCanDeleteProperty(propertyId).then(() =>\r\n this.setState({\r\n showDeletePropertyModal: true,\r\n showForm: false,\r\n showSuccess: null,\r\n selectedPropertyId: propertyId,\r\n })\r\n );\r\n });\r\n }\r\n\r\n handleYesDeleteProperty() {\r\n this.props.actions\r\n .deleteProperty(this.state.selectedPropertyId)\r\n .then(() => {\r\n this.props.actions.fetchPropertiesByPeriod(this.props.periodId);\r\n this.setState({\r\n showDeletePropertyModal: false,\r\n selectedPropertyId: null,\r\n });\r\n });\r\n }\r\n\r\n handleNoDeleteProperty() {\r\n this.setState({ showDeletePropertyModal: false, selectedPropertyId: null });\r\n }\r\n\r\n handleEditButtonClick() {\r\n let formProperty = Object.assign({}, this.props.property);\r\n formProperty.propertyAmenities =\r\n PropertyAmenitiesTableContainer.convertFromPropertyAmenityCollectionToReduxFormValue(\r\n formProperty.propertyAmenities\r\n );\r\n\r\n this.setState({\r\n formProperty: formProperty,\r\n showForm: true,\r\n showComponent: false,\r\n formPurpose: \"EDIT\",\r\n showSuccess: null,\r\n });\r\n }\r\n\r\n resetGridColumnState() {\r\n localStorage.removeItem(\"REITSuitePropertyColumnState\");\r\n }\r\n\r\n render() {\r\n let property = Object.assign({}, this.props.property);\r\n property.propertyAmenities =\r\n PropertyAmenitiesTableContainer.convertFromPropertyAmenityCollectionToReduxFormValue(\r\n property.propertyAmenities\r\n );\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nPropertiesPage.propTypes = {\r\n reitId: PropTypes.number.isRequired,\r\n clientId: PropTypes.number.isRequired,\r\n periodId: PropTypes.number.isRequired,\r\n actions: PropTypes.object.isRequired,\r\n period: PropTypes.object,\r\n properties: PropTypes.array,\r\n property: PropTypes.object,\r\n taxableReitSubsidiaries: PropTypes.array,\r\n showSuccess: PropTypes.bool,\r\n periodActions: PropTypes.object.isRequired,\r\n trsActions: PropTypes.object.isRequired,\r\n commonActions: PropTypes.object.isRequired,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n const searchParams = new URLSearchParams(ownProps.router.location.search);\r\n const showSuccess = searchParams.get('showSuccess');\r\n\r\n return {\r\n reitId: Number.parseInt(ownProps.router.params.reitId),\r\n clientId: Number.parseInt(ownProps.router.params.clientId),\r\n periodId: Number.parseInt(ownProps.router.params.periodId),\r\n period: state.period,\r\n properties: state.properties,\r\n deletePropertyDetail: state.deletePropertyDetail,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n isSysAdmin: Array.isArray(state.currentUserAuthorizations) && authActions.isSystemAdministrator(state.currentUserAuthorizations),\r\n property: state.property,\r\n showSuccess: showSuccess,\r\n taxableReitSubsidiaries: state.taxableReitSubsidiaries,\r\n propertyValues: getFormValues('property')(state),\r\n lookupTypes: state.lookupTypes\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(propertyActions, dispatch),\r\n periodActions: bindActionCreators(PeriodActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n trsActions: bindActionCreators(trsActions, dispatch),\r\n lookupTypeActions: bindActionCreators(lookupTypeActions, dispatch),\r\n fetchProperty: (propertyId) =>\r\n propertyActions.fetchProperty(propertyId)(dispatch),\r\n change: bindActionCreators(change, dispatch),\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(PropertiesPage));\r\n","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from \"./actionTypes\";\r\nimport { fetchFromReportApi as fetch, fetchFromTrialBalanceApi as fetchTb } from \"./fetchFromApi\";\r\nimport { getTrialBalancesByPeriod } from \"./trialBalanceActions\";\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n/**\r\n * Fetch the income test summary belonging to the client. If successful this will dispatch the LOAD_INCOME_TEST_SUMMARY_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_INCOME_TEST_SUMMARY_FAILURE action.\r\n * @param {number} periodId The id of the REIT period.\r\n * @param {string} authHeader The authorization header to use. Supplied only for external users.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchIncomeTestSummary(periodId, authHeader) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return getTrialBalancesByPeriod(periodId, \"adjusted\", \"consolidated\", null, authHeader).then(tb => {\r\n \r\n let trialBalanceId = (tb.length > 0 && tb[0].trialBalanceID || \"-1\");\r\n return fetch(`/incomeTest?trialBalanceId=${trialBalanceId}`,\r\n {\r\n headers: (authHeader && new Headers({ 'Authorization': authHeader })) || null\r\n }).then(response => {\r\n return response.json();\r\n }).then(incomeTestSummary => {\r\n if (actionHelpers.isErrorResponse(incomeTestSummary)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_INCOME_TEST_SUMMARY_FAILURE, incomeTestSummary);\r\n }\r\n\r\n if (Array.isArray(incomeTestSummary.details)) {\r\n dispatch({ type: actions.LOAD_INCOME_DETAIL_SUCCESS, incomeDetails: incomeTestSummary.details });\r\n }\r\n\r\n dispatch({ type: actions.LOAD_INCOME_TEST_SUMMARY_SUCCESS, incomeTestSummary, [pendingTask]: end });\r\n });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_INCOME_TEST_SUMMARY_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the Property income test details.\r\n * If successful this will dispatch the LOAD_INCOME_TEST_SUMMARY_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_INCOME_TEST_SUMMARY_FAILURE action.\r\n * @param {number} periodId The id of the REIT period.\r\n * @param {string} authHeader The authorization header to use. Supplied only for external users.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchPropertyDetails(periodId, authHeader) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/incomeTest/property?periodId=${periodId}`,\r\n {\r\n headers: (authHeader && new Headers({ 'Authorization': authHeader })) || null\r\n }).then(response => {\r\n return response.json();\r\n }).then(propertyTestDetails => {\r\n if (actionHelpers.isErrorResponse(propertyTestDetails)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_PROPERTY_DETAIL_FAILURE, propertyTestDetails);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_PROPERTY_DETAIL_SUCCESS, propertyDetails: propertyTestDetails, [pendingTask]: end });\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the Property income test details.\r\n * If successful this will dispatch the LOAD_INCOME_TEST_SUMMARY_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_INCOME_TEST_SUMMARY_FAILURE action.\r\n * @param {number} periodId The id of the REIT period.\r\n * @param {string} authHeader The authorization header to use. Supplied only for external users.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchPropertyItsi(periodId, authHeader) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/incomeTest/itsi?periodId=${periodId}`,\r\n {\r\n headers: (authHeader && new Headers({ 'Authorization': authHeader })) || null\r\n }).then(response => {\r\n return response.json();\r\n }).then(propertyItsi => {\r\n if (actionHelpers.isErrorResponse(propertyItsi)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_PROPERTY_ITSI_FAILURE, propertyItsi);\r\n }\r\n \r\n dispatch({ type: actions.LOAD_PROPERTY_ITSI_SUCCESS, propertyItsi: propertyItsi, [pendingTask]: end });\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the external income test summary belonging to the checklist. If successful this will dispatch the LOAD_INCOME_TEST_SUMMARY_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_INCOME_TEST_SUMMARY_FAILURE action.\r\n * @param {number} periodId The id of the REIT period.\r\n * @param {string} checklistId The id of the external checklist.\r\n * @param {string} checklistType The type of the external checklist.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchExternalIncomeSummaryByChecklistId(periodId, checklistId, checklistType) {\r\n return fetchIncomeTestSummary(periodId, actionHelpers.buildAuthHeader(checklistId, checklistType));\r\n}\r\n\r\n/**\r\n * Fetch the external Property income test details belonging to the checklist.\r\n * If successful this will dispatch the LOAD_INCOME_TEST_SUMMARY_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_INCOME_TEST_SUMMARY_FAILURE action.\r\n * @param {number} periodId The id of the REIT period.\r\n * @param {string} checklistId The id of the external checklist.\r\n * @param {string} checklistType The type of the external checklist.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchExternalPropertyDetailsByChecklistId(periodId, checklistId, checklistType) {\r\n return fetchPropertyDetails(periodId, actionHelpers.buildAuthHeader(checklistId, checklistType));\r\n}\r\n\r\n/**\r\n * Fetch the external Property itsi tests belonging to the checklist.\r\n * If successful this will dispatch the LOAD_PROPERTY_ITSI_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_PROPERTY_ITSI_FAILURE action.\r\n * @param {number} periodId The id of the REIT period.\r\n * @param {string} checklistId The id of the external checklist.\r\n * @param {string} checklistType The type of the external checklist.\r\n * @returns {funtion} A function that returns a Promise.\r\n */\r\nexport function fetchExternalPropertyItsiByChecklistId(periodId, checklistId, checklistType) {\r\n return fetchPropertyItsi(periodId, actionHelpers.buildAuthHeader(checklistId, checklistType));\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport * as detailTestTableHelpers from '../../scripts/detailTestTableHelpers';\r\nimport {withWindowDimensions} from '../../common/withWindowDimensions';\r\n/**\r\n * IncomeDetailTestTable container component\r\n * @extends {React.Component}\r\n */\r\nexport class IncomeDetailTestTable extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n height: window.innerHeight,\r\n width: window.innerWidth - (window.innerWidth < 680 ? 0 : 47),\r\n };\r\n }\r\n\r\n handleResize = () => {\r\n this.setState({\r\n height: window.innerHeight,\r\n width: window.innerWidth - (window.innerWidth < 680 ? 0 : 47),\r\n });\r\n };\r\n componentDidMount() {\r\n window.addEventListener('resize', this.handleResize);\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.handleResize);\r\n }\r\n\r\n render() {\r\n const { width, height } = 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 {this.props.detail.test}\r\n
    \r\n {detailTestTableHelpers.getInnerTables(this.props.detail, this.props.properties, this.props.tbMode, width, height, \"INCOME\")}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nIncomeDetailTestTable.propTypes = {\r\n detail: PropTypes.object,\r\n properties: PropTypes.array,\r\n tbMode: PropTypes.number,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps Existing properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n };\r\n}\r\n\r\n\r\n\r\nexport default withWindowDimensions(connect(mapStateToProps)(IncomeDetailTestTable));\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedNumber } from 'react-intl';\r\nimport FormattedCurrency from \"../shared/FormattedCurrency\";\r\n\r\nconst PropertyDetailRow = ({ item }) => {\r\n if (item.hasTrialBalance) {\r\n return (\r\n \r\n {item.propertyName}\r\n \r\n \r\n \r\n {item.priorTo2020 ? \"N/A\" : }\r\n {item.priorTo2020 ? \"N/A\" : }\r\n {item.priorTo2020 ? \"N/A\" : }\r\n {item.priorTo2020 ? \"N/A\" : }\r\n {item.priorTo2020 ? \"N/A\" : }\r\n {item.priorTo2020 ? \"N/A\" : }\r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.propertyName}\r\n N/A\r\n N/A\r\n N/A\r\n N/A\r\n N/A\r\n N/A\r\n N/A\r\n N/A\r\n N/A\r\n N/A\r\n \r\n );\r\n};\r\n\r\nPropertyDetailRow.propTypes = {\r\n item: PropTypes.object\r\n};\r\n\r\nexport default PropertyDetailRow;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport PropertyDetailRow from \"./PropertyDetailRow\";\r\n\r\nconst PropertyDetailTable = ({ propertyDetail }) => {\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 {propertyDetail && propertyDetail.properties.map(item => )}\r\n \r\n
     Current Period AmountsPrior Year AmountsAverage 
    \r\n Property Name\r\n \r\n PP\r\n \r\n Building\r\n \r\n Land\r\n \r\n PP\r\n \r\n Building\r\n \r\n Land\r\n \r\n PP\r\n \r\n Building\r\n \r\n Land\r\n \r\n 15% Result\r\n
    \r\n );\r\n};\r\n\r\nPropertyDetailTable.propTypes = {\r\n propertyDetail: PropTypes.object\r\n};\r\n\r\nexport default PropertyDetailTable;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport PropertyDetailTable from \"./PropertyDetailTable\";\r\n\r\nconst PropertyDetailTestTable = ({ detail }) => {\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 {(detail && detail.test) || null}\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nPropertyDetailTestTable.propTypes = {\r\n detail: PropTypes.object\r\n};\r\n\r\nexport default PropertyDetailTestTable;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedNumber } from 'react-intl';\r\nimport * as formParsers from \"../../scripts/formParsers\";\r\nimport FormattedCurrency from \"../shared/FormattedCurrency\";\r\n\r\nconst PropertyDetailRow = ({ item }) => {\r\n if (item.hasTrialBalance) {\r\n return (\r\n \r\n {item.propertyName}\r\n {item.percentageOfOwnership ? formParsers.percentageOfOwnership(item.percentageOfOwnership.toString()) : \"\" }%\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n return (\r\n \r\n {item.propertyName}\r\n N/A\r\n N/A\r\n N/A\r\n N/A\r\n N/A\r\n N/A\r\n N/A\r\n \r\n );\r\n};\r\n\r\nPropertyDetailRow.propTypes = {\r\n item: PropTypes.object.isRequired\r\n};\r\n\r\nexport default PropertyDetailRow;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport PropertyItsiRow from \"./PropertyItsiRow\";\r\n\r\nconst PropertyItsiTable = ({ itsi }) => {\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 {itsi && itsi.properties.map(item => )}\r\n \r\n
    \r\n Property Name\r\n \r\n Owned\r\n \r\n Rents from Real Property\r\n \r\n ITSI Income\r\n \r\n ITSI Expense\r\n \r\n Markup Of ITSI\r\n \r\n TOTAL ITSI\r\n \r\n 1% ITSI Result\r\n
    \r\n );\r\n};\r\n\r\nPropertyItsiTable.propTypes = {\r\n itsi: PropTypes.object\r\n};\r\n\r\nexport default PropertyItsiTable;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport PropertyItsiTable from \"./PropertyItsiTable\";\r\n\r\nconst PropertyItsiTestTable = ({ itsi }) => {\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 {(itsi && itsi.test) || null}\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nPropertyItsiTestTable.propTypes = {\r\n itsi: PropTypes.object\r\n};\r\n\r\nexport default PropertyItsiTestTable;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport IncomeDetailTestTable from \"./IncomeDetailTestTable\";\r\nimport PropertyDetailTestTable from \"./PropertyDetailTestTable\";\r\nimport PropertyItsiTestTable from \"./PropertyItsiTestTable\";\r\n\r\nconst IncomeDetails = ({ incomeDetails, propertyDetails, propertyItsi, properties, tbMode }) => {\r\n return (\r\n
    \r\n
    \r\n
    Income Test Details
    \r\n
    \r\n
    \r\n {// ensure there are categories and items within categories\r\n !incomeDetails.every(d =>\r\n !Array.isArray(d.categories) || d.categories.length === 0 || d.categories.every(c => !Array.isArray(c.items) || c.items.length === 0)) &&\r\n incomeDetails.map(incomeDetail =>\r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nIncomeDetails.propTypes = {\r\n incomeDetails: PropTypes.array.isRequired,\r\n propertyDetails: PropTypes.object,\r\n propertyItsi: PropTypes.object,\r\n properties: PropTypes.array,\r\n tbMode: PropTypes.number\r\n};\r\n\r\nexport default IncomeDetails;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from \"react-redux\";\r\nimport {bindActionCreators} from \"redux\";\r\nimport * as actions from \"../../actions/incomeTestActions\";\r\nimport * as propertyActions from \"../../actions/propertyActions\";\r\nimport * as varianceActions from \"../../actions/varianceActions\";\r\nimport * as periodActions from \"../../actions/periodActions\";\r\nimport TestSummary from \"../../components/reits/TestSummary\";\r\nimport IncomeDetails from \"../../components/tb/IncomeDetails\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * IncomeTestPage container component\r\n * @extends {React.Component}\r\n */\r\nexport class IncomeTestPage extends React.Component {\r\n /**\r\n * Creates a new AssetTestPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = { showDetails: false, tbMode: 1 };\r\n this.showDetails = this.showDetails.bind(this);\r\n\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.props.actions.fetchIncomeTestSummary(this.props.periodId);\r\n this.props.actions.fetchPropertyDetails(this.props.periodId);\r\n this.props.actions.fetchPropertyItsi(this.props.periodId);\r\n this.props.varianceActions.fetchVarianceDetails(this.props.periodId);\r\n this.props.propertyActions.fetchPropertiesByPeriod(this.props.periodId);\r\n periodActions.fastFetchPeriodById(this.props.periodId).then((period) => {\r\n if(period && period.trialBalanceModeID === 2) {\r\n this.setState({ tbMode: 2 });\r\n }\r\n });\r\n }\r\n\r\n showDetails() {\r\n this.setState({ showDetails: !this.state.showDetails });\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n if (this.props.incomeTestSummary.tests && this.props.incomeTestSummary.tests.length === 0) {\r\n return (\r\n
    \r\n

    Please upload trial balance for the period to view results.

    \r\n
    \r\n );\r\n }\r\n return (\r\n
    \r\n \r\n {this.state.showDetails ? : null}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst clientAccountDataShape = PropTypes.shape({\r\n balance: PropTypes.number,\r\n clientAccountDescription: PropTypes.string,\r\n clientAccountNumber: PropTypes.string,\r\n internalAccountCode: PropTypes.string,\r\n internalAccountDescription: PropTypes.string,\r\n type: PropTypes.number\r\n});\r\n\r\nIncomeTestPage.propTypes = {\r\n reitId: PropTypes.number.isRequired,\r\n periodId: PropTypes.number.isRequired,\r\n incomeTestSummary: PropTypes.shape({\r\n tests: PropTypes.arrayOf(PropTypes.shape({\r\n title: PropTypes.string,\r\n isPassing: PropTypes.bool,\r\n percent: PropTypes.number\r\n }))\r\n }),\r\n incomeDetails: PropTypes.array,\r\n propertyDetails: PropTypes.object,\r\n propertyItsi: PropTypes.object,\r\n varianceDetails: PropTypes.shape({\r\n addedAccounts: PropTypes.arrayOf(clientAccountDataShape),\r\n modifiedAccounts: PropTypes.arrayOf(PropTypes.shape({\r\n after: clientAccountDataShape,\r\n balanceDelta: PropTypes.number,\r\n balanceDeltaPercentage: PropTypes.number,\r\n before: clientAccountDataShape\r\n }).isRequired),\r\n removedAccounts: PropTypes.arrayOf(clientAccountDataShape).isRequired\r\n }),\r\n actions: PropTypes.object,\r\n varianceActions: PropTypes.object,\r\n properties: PropTypes.array,\r\n propertyActions: PropTypes.object.isRequired\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n reitId: Number.parseInt(ownProps.router.params.reitId),\r\n periodId: Number.parseInt(ownProps.router.params.periodId),\r\n incomeTestSummary: state.incomeTestSummary,\r\n incomeDetails: state.incomeDetails,\r\n varianceDetails: state.varianceDetails,\r\n propertyDetails: state.propertyDetails,\r\n propertyItsi: state.propertyItsi,\r\n properties: state.properties\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(actions, dispatch),\r\n propertyActions: bindActionCreators(propertyActions, dispatch),\r\n varianceActions: bindActionCreators(varianceActions, dispatch) \r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(IncomeTestPage));","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromReitApi as fetch } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n/**\r\n * Fetch all the custom questionnaire templates for a client. If successful this will dispatch the LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATES_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchCustomQuestionnaireTemplates(\r\n clientId,\r\n excludeEmpty = false\r\n) {\r\n return function (dispatch) {\r\n if (!clientId) {\r\n return dispatch({\r\n type: actions.LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATES_SUCCESS,\r\n customQuestionnaireTemplates: [],\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(\r\n `/checklists/customQuestionnaireTemplates/${clientId}?excludeEmpty=${excludeEmpty}`\r\n )\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((customQuestionnaireTemplates) => {\r\n if (actionHelpers.isErrorResponse(customQuestionnaireTemplates)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATES_FAILURE,\r\n customQuestionnaireTemplates\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATES_SUCCESS,\r\n customQuestionnaireTemplates,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATES_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the details for the custom questionnaire template. If successful this will dispatch the LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATE_QUESTIONS_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATE_QUESTIONS_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchCustomQuestionnaireTemplateQuestions(\r\n questionnaireTemplateID\r\n) {\r\n return function (dispatch) {\r\n if (!questionnaireTemplateID) {\r\n return dispatch({\r\n type: actions.LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATE_QUESTIONS_SUCCESS,\r\n templateQuestions: null,\r\n });\r\n }\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(\r\n `/checklists/questionnaireTemplateQuestions/${questionnaireTemplateID}`\r\n )\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((templateQuestions) => {\r\n if (actionHelpers.isErrorResponse(templateQuestions)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATE_QUESTIONS_FAILURE,\r\n templateQuestions\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATE_QUESTIONS_SUCCESS,\r\n templateQuestions,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATE_QUESTIONS_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Create or Edit a Custom PSQ Template. Pass -1 for questionnaireTemplateId for Create.\r\n * If failure, it will dispatch the CREATE_QUESTIONNAIRE_TEMPLATE_FAILURE action.\r\n * @param {number} clientID The id of the client.\r\n * @param {number} questionnaireTemplateID The id of the questionnaire template.\r\n * @param {string} templateName The name of the template.\r\n * @param {string} questionnaireSectionName The custom section header name.\r\n * @param {bool} hideStandardQuestions Whether the standard questions should be hidden or not.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function createOrEditQuestionnaireTemplate(\r\n clientID,\r\n questionnaireTemplateID,\r\n templateName,\r\n questionnaireSectionName,\r\n hideStandardQuestions\r\n) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/checklists/questionnaireTemplate`, {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify({\r\n clientID,\r\n questionnaireTemplateID,\r\n templateName,\r\n questionnaireSectionName,\r\n hideStandardQuestions,\r\n }),\r\n })\r\n .then((response) => {\r\n return response.text();\r\n })\r\n .then((response) => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_QUESTIONNAIRE_TEMPLATE_FAILURE,\r\n jsonResponse\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_QUESTIONNAIRE_TEMPLATE_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch the details for the custom questionnaire template. If successful this will dispatch the LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATE_QUESTIONS_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATE_QUESTIONS_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function saveCustomQuestionnaireTemplate(requestParams) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/checklists/questionnaireTemplate`, {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'PUT',\r\n body: JSON.stringify(requestParams),\r\n })\r\n .then((response) => {\r\n return response.text();\r\n })\r\n .then((response) => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.SAVE_CUSTOM_QUESTIONNAIRE_TEMPLATE_FAILURE,\r\n jsonResponse\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.SAVE_CUSTOM_QUESTIONNAIRE_TEMPLATE_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all Custom Question records belonging to the client. If successful this will dispatch the LOAD_CUSTOM_QUESTIONS_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CUSTOM_QUESTIONS_FAILURE action.\r\n * @param {number} clientId The id of the client that owns the Custom Questions.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchCustomQuestionList(clientId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/checklists/customQuestions/${clientId}`)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((customQuestionList) => {\r\n if (actionHelpers.isErrorResponse(customQuestionList)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_QUESTIONS_FAILURE,\r\n customQuestionList\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_CUSTOM_QUESTIONS_SUCCESS,\r\n customQuestionList,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_QUESTIONS_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Creates a custom question record to the REIT API database.\r\n * @param {any} createRequest The create request\r\n * @returns {Promise} A Promise\r\n */\r\nexport function createCustomQuestion(createRequest) {\r\n return (dispatch) => {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const { questionAttachments, ...createRequestObj } = createRequest;\r\nreturn fetch(`/customChecklistTemplate/customQuestions`, {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(createRequestObj),\r\n }).then((response) => {\r\n return response.json();\r\n })\r\n .then(async (response) => {\r\n let attachmentsStatus;\r\n if (actionHelpers.isErrorResponse(response)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_CUSTOM_QUESTION_FAILURE,\r\n response\r\n );\r\n }\r\n\r\n if (response != null && createRequest.questionAttachments.length > 0) {\r\n attachmentsStatus = await addUpdateAttachments(createRequest.questionAttachments, createRequest.clientID, response.questionVersionID);\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return attachmentsStatus;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_CUSTOM_QUESTION_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n }\r\n}\r\n\r\nexport function addUpdateCustomQuestionAttachment(\r\n clientId,\r\n questionVersionID,\r\n questionAttachmentData\r\n) {\r\n let formData = new FormData();\r\n formData.append('questionAttachment.questionAttachmentID', getFormValues(questionAttachmentData.questionAttachmentID));\r\n formData.append('questionAttachment.questionVersionID', getFormValues(questionVersionID));\r\n formData.append('questionAttachment.attachmentGuid', getFormValues(questionAttachmentData.attachmentGuid));\r\n formData.append('questionAttachment.attachmentName', questionAttachmentData.attachmentName);\r\n formData.append('questionAttachment.file', questionAttachmentData.file);\r\n formData.append('questionAttachment.isNew', questionAttachmentData.isNew);\r\n formData.append('questionAttachment.isDeleted', questionAttachmentData.isDeleted);\r\n return fetch(`/customChecklistTemplate/AddUpdateCustomQuestionAttachment?clientId=${clientId}`, {\r\n method: 'POST',\r\n body: formData\r\n })\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n throw jsonResponse;\r\n }\r\n return jsonResponse;\r\n })\r\n .catch(error => {\r\n throw error;\r\n });\r\n}\r\n\r\nexport async function addUpdateAttachments(attachments, clientId, questionVersionID) {\r\n let attachmentsStatus = [];\r\n for (let i = 0; i <= attachments.length - 1; i++) {\r\n await addUpdateCustomQuestionAttachment(clientId, questionVersionID, attachments[i])\r\n .then(() => {\r\n if (attachments[i].isNew) {\r\n attachmentsStatus.push({ attachmentName: attachments[i].attachmentName, status: \"File uploaded\", variant: \"success\" });\r\n }\r\n }).catch(() => {\r\n if (attachments[i].isNew) {\r\n attachmentsStatus.push({ attachmentName: attachments[i].attachmentName, status: \"Failed\", variant: \"error\" });\r\n }\r\n });\r\n }\r\n return attachmentsStatus;\r\n}\r\n\r\n/**\r\n * Updates a custom question record to the REIT API database.\r\n * @param {any} createRequest The create request\r\n * @returns {Promise} A Promise\r\n */\r\nexport function updateCustomQuestion(updateRequest) {\r\n return (dispatch) => {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n const { questionAttachments, ...updateRequestObj } = updateRequest;\r\n return fetch(`/customChecklistTemplate/customQuestions`, {\r\n method: 'PUT',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(updateRequestObj),\r\n }).then((response) => {\r\n return response.text();\r\n })\r\n .then(async response => {\r\n let attachmentsStatus;\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CUSTOM_QUESTION_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n if (jsonResponse != null && updateRequest.questionAttachments.length > 0) {\r\n attachmentsStatus = await addUpdateAttachments(updateRequest.questionAttachments, updateRequest.clientID, jsonResponse.questionVersionID);\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return attachmentsStatus;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CUSTOM_QUESTION_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Get lock status for a question.\r\n * @param {number} questionId The question id\r\n * @param {number} checklistTemplateId The checklist template id\r\n * @param {number} clientId The client id\r\n * @returns {Promise} A Promise\r\n */\r\n\r\nexport const getLockStatusForQuestion = (questionId, checklistTemplateId, clientId) => {\r\n return (dispatch) => {\r\n if (!questionId || !checklistTemplateId || !clientId) {\r\n return dispatch({\r\n type: actions.CUSTOM_QUESTION_FETCH_LOCK_STATUS_FAILURE,\r\n customQuestionLockStatus: null,\r\n });\r\n }\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n const headers = {\r\n Accept: 'application/json',\r\n };\r\n\r\n return fetch(`/customChecklistTemplate/getLockStatus?questionId=${questionId}&checklistTemplateId=${checklistTemplateId}&clientId=${clientId}`, {\r\n method: 'GET',\r\n headers\r\n }).then((response) => {\r\n return response.json();\r\n }).then((customQuestionLockStatus) => {\r\n if (actionHelpers.isErrorResponse(customQuestionLockStatus)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CUSTOM_QUESTION_FETCH_LOCK_STATUS_FAILURE,\r\n null\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.CUSTOM_QUESTION_FETCH_LOCK_STATUS_SUCCESS,\r\n customQuestionLockStatus,\r\n [pendingTask]: end,\r\n });\r\n\r\n return customQuestionLockStatus;\r\n }).catch((error) => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CUSTOM_QUESTION_FETCH_LOCK_STATUS_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n }\r\n};\r\n\r\n/**\r\n * Acquires an intent lock for the custom question.\r\n * @param {any} intentLockUpdateRequest Intent lock update request\r\n * @returns {Promise} A Promise\r\n */\r\n\r\nexport const acquireIntentLockForCustomQuestion = (intentLockUpdateRequest) => {\r\n return (dispatch) => {\r\n if (!intentLockUpdateRequest) {\r\n return dispatch({\r\n type: actions.CUSTOM_QUESTION_INTENT_LOCK_UPDATE_FAILURE,\r\n intentLockUpdateResult: null,\r\n });\r\n }\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n const headers = {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n };\r\n\r\n return fetch(`/customChecklistTemplate/acquireIntentLock`, {\r\n method: 'PUT',\r\n headers,\r\n body: JSON.stringify(intentLockUpdateRequest)\r\n }).then((response) => {\r\n return response.json();\r\n }).then((intentLockUpdateResult) => {\r\n if (actionHelpers.isErrorResponse(intentLockUpdateResult)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CUSTOM_QUESTION_INTENT_LOCK_UPDATE_FAILURE,\r\n null\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.CUSTOM_QUESTION_INTENT_LOCK_UPDATE_SUCCESS,\r\n intentLockUpdateResult,\r\n [pendingTask]: end,\r\n });\r\n\r\n return intentLockUpdateResult;\r\n }).catch((error) => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CUSTOM_QUESTION_INTENT_LOCK_UPDATE_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n }\r\n};\r\n\r\n/**\r\n * Releases an intent lock for the custom question.\r\n * @param {any} intentLockUpdateRequest Intent lock update request\r\n * @returns {Promise} A Promise\r\n */\r\n\r\nexport const releaseIntentLockForCustomQuestion = (intentLockUpdateRequest) => {\r\n return (dispatch) => {\r\n if (!intentLockUpdateRequest) {\r\n return dispatch({\r\n type: actions.CUSTOM_QUESTION_INTENT_LOCK_UPDATE_FAILURE,\r\n intentLockUpdateResult: null,\r\n });\r\n }\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n const headers = {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n };\r\n\r\n return fetch(`/customChecklistTemplate/releaseIntentLock`, {\r\n method: 'PUT',\r\n headers,\r\n body: JSON.stringify(intentLockUpdateRequest)\r\n }).then((response) => {\r\n return response.json();\r\n }).then((intentLockUpdateResult) => {\r\n if (actionHelpers.isErrorResponse(intentLockUpdateResult)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CUSTOM_QUESTION_INTENT_LOCK_UPDATE_FAILURE,\r\n null\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.CUSTOM_QUESTION_INTENT_LOCK_UPDATE_SUCCESS,\r\n intentLockUpdateResult,\r\n [pendingTask]: end,\r\n });\r\n }).catch((error) => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CUSTOM_QUESTION_INTENT_LOCK_UPDATE_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n }\r\n};\r\n\r\n/**\r\n * Releases an intent lock for the custom question.\r\n * @param {any} intentLockUpdateRequest Intent lock update request\r\n * @returns {Promise} A Promise\r\n */\r\nexport function deleteCustomTemplateQuestion(questionID, parentQuestionID, clientId, customChecklistSectionID) {\r\n return (dispatch) => {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(\r\n `/customChecklistTemplate/deleteQuestion?clientID=${clientId}&questionID=${questionID}&parentQuestionID=${parentQuestionID}&checklistTemplateSectionID=${customChecklistSectionID}`,\r\n {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n },\r\n method: 'DELETE',\r\n }\r\n )\r\n .then((response) => {\r\n return response.text();\r\n })\r\n .then((response) => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_TEMPLATE_QUESTION_FAILURE,\r\n jsonResponse\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_TEMPLATE_QUESTION_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Update the child question sort order for a given parent question when rearranged. If successful this will dispatch the CREATE_CUSTOM_PSQ_TEMPLATE_SUCCESS\r\n * action, otherwise it will dispatch the CREATE_CUSTOM_PSQ_TEMPLATE_FAILURE action.\r\n * @param {object} request The request model.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function updateChildQuestionSortOrder(request) {\r\n return async function (dispatch) {\r\n if (!request) {\r\n return dispatch({\r\n type: actions.UPSERT_CUSTOM_PSQ_TEMPLATE_FAILURE,\r\n templateId: 0,\r\n });\r\n }\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n await fetch(\r\n `/customChecklistTemplate/uncommitted/updateChildQuestionSortOrder`,\r\n {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n },\r\n method: 'PUT',\r\n body: JSON.stringify(request),\r\n }\r\n )\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((updateChildChildQuestionSortOrderResponse) => {\r\n if (actionHelpers.isErrorResponse(updateChildChildQuestionSortOrderResponse)) {\r\n const templateId = 0;\r\n\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPSERT_CUSTOM_PSQ_TEMPLATE_FAILURE,\r\n templateId\r\n );\r\n }\r\n\r\n const templateId = request.templateId;\r\n\r\n dispatch({\r\n type: actions.UPSERT_CUSTOM_PSQ_TEMPLATE_SUCCESS,\r\n templateId,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n const templateId = 0;\r\n\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPSERT_CUSTOM_PSQ_TEMPLATE_FAILURE,\r\n templateId,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Creates a custom question record to the REIT API database.\r\n * @param {any} questionnaireTemplateID The questionnaireTemplateID to delete\r\n * @returns {Promise} A Promise\r\n */\r\nexport function deleteQuestionnaireTemplate(questionnaireTemplateID) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(\r\n `/checklists/questionnaireTemplates/${questionnaireTemplateID}`,\r\n {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'DELETE',\r\n }\r\n )\r\n .then((response) => {\r\n return response.text();\r\n })\r\n .then((response) => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_QUESTIONNAIRE_TEMPLATE_FAILURE,\r\n jsonResponse\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_QUESTIONNAIRE_TEMPLATE_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Delete a custom question\r\n * @param { number } customQuestionID The ID of the checklist.\r\n * @param { object } authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns { any } A function that returns a Promise.\r\n */\r\nexport function deleteCustomQuestion(customQuestionID, authHeader) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n const headers = {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n };\r\n\r\n if (authHeader) {\r\n headers['Authorization'] = authHeader;\r\n }\r\n\r\n return fetch(`/checklists/customQuestions/${customQuestionID}`, {\r\n method: 'DELETE',\r\n headers,\r\n })\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((response) => {\r\n if (actionHelpers.isErrorResponse(response)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_CUSTOM_QUESTION_FAILURE\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.DELETE_CUSTOM_QUESTION_SUCCESS,\r\n [pendingTask]: end,\r\n });\r\n\r\n return response;\r\n })\r\n .catch((error) => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.DELETE_CUSTOM_QUESTION_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n\r\n}\r\n\r\nfunction getFormValues(value) {\r\n if (value == null) {\r\n return '';\r\n }\r\n else {\r\n return value;\r\n }\r\n}\r\n","import PropTypes from \"prop-types\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Form } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport { MotifButton, MotifIcon, MotifIconButton, MotifSelect, MotifOption, MotifLabel, MotifFormField, MotifDropdown, MotifDropdownItem, MotifTooltip, MotifToast } from '@ey-xd/motif-react';\r\nimport { IconoirNavArrowDown, IconoirInfoCircle } from '@ey-xd/motif-icon';\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\nconst ChecklistHeader = ({\r\n formSyncErrors,\r\n isSystemOrEngagementAdmin,\r\n isEngagementUser,\r\n selectedPsqArqc,\r\n clientIsAudit,\r\n handleChangePsqArqc,\r\n resetGridColumnState,\r\n toggleShowAddChecklistUserModal,\r\n toggleShowDeleteChecklistUserModal,\r\n toggleShowDeleteChecklistModal,\r\n toggleShowResendChecklistModal,\r\n toggleShowSignoffChecklistModal,\r\n toggleShowReopenForEYReviewChecklistModal,\r\n toggleShowApproveClientReopenRequestModal,\r\n toggleShowDenyClientReopenRequestModal,\r\n handleExportChecklistSummary,\r\n gridCurrentState,\r\n gridFilteredRowCurrentState,\r\n selectedRecipients,\r\n toggleShowDownloadChecklistsModal,\r\n handleDownloadChecklist,\r\n showCreateModal,\r\n canEdit=true, \r\n externalUserVisibilityData,\r\n}) => {\r\n\r\n const [actionOptionsOpen, setActionOptionsOpen] = useState(false);\r\n const [hideInfoMessage, setHideInfoMessage] = useState(false);\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n const hasFormSyncErrors = Object.keys(formSyncErrors).length !== 0;\r\n\r\n const quarterStatusList = ['reporting closed', 'complete'];\r\n\r\n let resendChecklistActionStatus = true;\r\n let resendChecklistTooltipMessage = '';\r\n // Check if there is any recipient selected for resend\r\n if (!selectedRecipients || !selectedRecipients.length > 0) {\r\n resendChecklistActionStatus = false;\r\n resendChecklistTooltipMessage = \"You have not selected any recipients in order to perform this action.\";\r\n }\r\n // Check if there is any checklist (for selected recipients) falls into closed report period\r\n else if (gridCurrentState && selectedRecipients && selectedRecipients.length > 0) {\r\n //Get the selected checkist ids\r\n let distinctChecklistIDs = [...new Set(selectedRecipients.map(rcp => rcp.checklistID))];\r\n // Get the selected checkist record by distinct checklist ids\r\n let selectedChecklistRecords = [...new Set(gridCurrentState.filter(x => distinctChecklistIDs.includes(x.checklistID)))];\r\n let selectedDataVisibility = externalUserVisibilityData.filter(item => selectedChecklistRecords.map(x => x.reportPeriodID).includes(item.reportPeriodID)).filter(item => item.isReportPeriodVisibleToExternalUsers === false);\r\n let selectedRecords = gridCurrentState.filter(x => selectedRecipients.some(sr => sr.checklistID === x.checklistID && sr.checklistType === x.checklistType));\r\n\r\n //If any of seleced checklist record having Hidden visibility, then disable the Delete User action\r\n if ((selectedDataVisibility && selectedDataVisibility?.length > 0) && (isSystemOrEngagementAdmin || isEngagementUser)) {\r\n resendChecklistActionStatus = false;\r\n }\r\n else if (selectedRecords && selectedRecords.some(record => quarterStatusList.includes(record.quarterStatus.toLowerCase()))) {\r\n resendChecklistActionStatus = false;\r\n resendChecklistTooltipMessage = \"You have selected a recipient within a Closed period.\";\r\n }\r\n }\r\n\r\n // If checklist status is either in completed or pendingeyreview status then checklist should not be allowed to add/delete recipients.\r\n const checklistStatusList = ['completed', 'pendingeyreview'];\r\n\r\n let addUserActionStatus = true;\r\n let addUserValidationMessage = [];\r\n let externalUserVisibility = false;\r\n //checking all of the item has external user visibility true\r\n externalUserVisibility = externalUserVisibilityData && externalUserVisibilityData.every(item => item.isReportPeriodVisibleToExternalUsers);\r\n \r\n let isChecklistSelected = gridCurrentState && gridCurrentState.some(record => record.checklistSelection === true);\r\n if (isChecklistSelected) {\r\n //Get the selected checkist records\r\n let selectedRecords = gridCurrentState.filter(x => x.checklistSelection === true);\r\n let selectedDataVisibility = externalUserVisibilityData && externalUserVisibilityData.filter(item => selectedRecords.map(x => x.reportPeriodID).includes(item.reportPeriodID)).filter(item => item.isReportPeriodVisibleToExternalUsers === false)\r\n\r\n if ((selectedDataVisibility && selectedDataVisibility?.length > 0) && (isSystemOrEngagementAdmin || isEngagementUser)) {\r\n addUserActionStatus = false;\r\n }\r\n //If any Report period of selected checklist records having Reporting Closed/Complete status then disable the Add User action\r\n else if (selectedRecords.some(record => quarterStatusList.includes(record.quarterStatus.toLowerCase()))) {\r\n addUserActionStatus = false;\r\n addUserValidationMessage.push('Period of the selected checklist(s) is either Closed For Reporting or Completed.');\r\n }\r\n\r\n \r\n }\r\n else {\r\n addUserActionStatus = false;\r\n addUserValidationMessage.push('You have not selected any checklist(s) in order to perform this action.');\r\n }\r\n\r\n let deleteUserActionStatus = true;\r\n let deleteUserValidationMessage = [];\r\n if (!selectedRecipients || selectedRecipients.length === 0) {\r\n deleteUserActionStatus = false;\r\n deleteUserValidationMessage.push('You have not selected any user(s) in order to perform this action.');\r\n }\r\n else if (gridCurrentState && selectedRecipients) {\r\n //Get the selected checkist ids\r\n let distinctChecklistIDs = [...new Set(selectedRecipients?.map(rcp => rcp.checklistID))];\r\n // Get the selected checkist record by distinct checklist ids\r\n let selectedRecords = [...new Set(gridCurrentState?.filter(x => distinctChecklistIDs.includes(x.checklistID)))];\r\n let selectedDataVisibility = externalUserVisibilityData?.filter(item => selectedRecords.map(x => x.reportPeriodID).includes(item.reportPeriodID)).filter(item => item.isReportPeriodVisibleToExternalUsers === false);\r\n \r\n //If any of seleced checklist record having Hidden visibility, then disable the Delete User action\r\n if ((selectedDataVisibility && selectedDataVisibility?.length > 0) && (isSystemOrEngagementAdmin || isEngagementUser)) {\r\n deleteUserActionStatus = false;\r\n } else {\r\n //If any seleced checklist record having Completed/Pending EY Review status, then disable the Delete User action\r\n if (selectedRecipients.some(record => checklistStatusList.includes(record.checklistState.toLowerCase()))) {\r\n deleteUserActionStatus = false;\r\n deleteUserValidationMessage.push('Selected checklist(s) is either Pending for EY Review or Completed.');\r\n }\r\n //If any Report period of selected checklist records having Reporting Closed/Complete status then disable Delete User action\r\n if (selectedRecipients.some(record => quarterStatusList.includes(record.quarterStatus.toLowerCase()))) {\r\n deleteUserActionStatus = false;\r\n deleteUserValidationMessage.push('Period of the selected checklist(s) is either Closed For Reporting or Completed.');\r\n }\r\n }\r\n }\r\n\r\n let deleteChecklistsActionStatus = true;\r\n let deleteChecklistValidationMessage = [];\r\n if (isChecklistSelected) {\r\n let selectedRecords = gridCurrentState.filter(x => x.checklistSelection === true);\r\n\r\n if (selectedRecords && selectedRecords.some(record => quarterStatusList.includes(record.quarterStatus.toLowerCase()))) {\r\n deleteChecklistsActionStatus = false;\r\n deleteChecklistValidationMessage.push('Period of the selected checklist(s) is either Closed For Reporting or Completed.');\r\n }\r\n } else {\r\n deleteChecklistsActionStatus = false;\r\n deleteChecklistValidationMessage.push('You have not selected any checklist(s) in order to perform this action.');\r\n }\r\n\r\n // If checklist status is either is with status 'created','sent', 'inprogress', 'pendingeyreview' status then only enable Sign-Off Action status.\r\n let signoffRequiredChecklistStatusList = ['created', 'sent', 'inprogress', 'pendingeyreview'];\r\n\r\n let signoffChecklistActionStatus = true;\r\n let reopenforEYReviewChecklistActionStatus = true;\r\n let signoffChecklistValidationMessage = [];\r\n let reopenforEYReviewChecklistValidationMessage = [];\r\n\r\n if (isChecklistSelected) {\r\n //Get the selected checkist records\r\n let selectedRecords = gridCurrentState.filter(x => x.checklistSelection === true);\r\n\r\n // If any of selected checklist is not completed then disable the Reopen for EY Review Checklist Action \r\n if (selectedRecords.some(record => record.checklistState.toLowerCase() !== 'completed')) {\r\n reopenforEYReviewChecklistActionStatus = false;\r\n reopenforEYReviewChecklistValidationMessage.push('Selected checklist(s) is not Signed Off.');\r\n }\r\n\r\n //If all checklists are with these statuses 'created','sent', 'inprogress', 'pendingeyreview' then only Enable the Sign-Off checklist Action\r\n if (selectedRecords.some(record => !signoffRequiredChecklistStatusList.includes(record.checklistState.toLowerCase()))) {\r\n signoffChecklistActionStatus = false;\r\n signoffChecklistValidationMessage.push('Selected checklist(s) is Signed Off.');\r\n }\r\n\r\n //If any Report period of selected checklist records having Reporting Closed/Complete status then disable both the actions Sign-off/Reopen for EY Review Checklist action\r\n if (selectedRecords.some(record => quarterStatusList.includes(record.quarterStatus.toLowerCase()))) {\r\n signoffChecklistActionStatus = false;\r\n signoffChecklistValidationMessage.push('Period of the selected checklist(s) is either Closed For Reporting or Completed.');\r\n\r\n reopenforEYReviewChecklistActionStatus = false;\r\n reopenforEYReviewChecklistValidationMessage.push('Period of the selected checklist(s) is either Closed For Reporting or Completed.');\r\n }\r\n }\r\n else {\r\n signoffChecklistActionStatus = false;\r\n reopenforEYReviewChecklistActionStatus = false;\r\n\r\n signoffChecklistValidationMessage.push('You have not selected any checklist(s) in order to perform this action.');\r\n reopenforEYReviewChecklistValidationMessage.push('You have not selected any checklist(s) in order to perform this action.');\r\n }\r\n\r\n let downloadChecklistActionStatus = true;\r\n let downloadChecklistValidationMessage = [];\r\n if (!isChecklistSelected) {\r\n downloadChecklistActionStatus = false;\r\n downloadChecklistValidationMessage.push('You have not selected any checklist(s) in order to perform this action.');\r\n }\r\n\r\n let approveDenyClientReopenRequestActionStatus = true;\r\n let approveDenyClientReopenRequestValidationMessage = [];\r\n if (isChecklistSelected) {\r\n let selectedRecords = gridCurrentState.filter(x => x.checklistSelection === true);\r\n \r\n // If there are no pending open requests for selected checklists then disable the Approve/Deny Reopen Request Action\r\n if (selectedRecords.some(record => !record.reopenRequestStatusDescription || record.reopenRequestStatusDescription.toLowerCase() !== 'pending')) {\r\n approveDenyClientReopenRequestActionStatus = false;\r\n approveDenyClientReopenRequestValidationMessage.push('Selected checklist(s) is not in Pending Reopen Request status.');\r\n }\r\n\r\n // If any Report period of selected checklist records having Reporting Closed/Complete status then disable both the actions Approve/Deny Client Reopen Request action\r\n if (selectedRecords && selectedRecords.some(record => quarterStatusList.includes(record.quarterStatus.toLowerCase()))) {\r\n approveDenyClientReopenRequestActionStatus = false;\r\n approveDenyClientReopenRequestValidationMessage.push('Period of the selected checklist(s) is either Closed For Reporting or Completed.');\r\n }\r\n \r\n } else {\r\n approveDenyClientReopenRequestActionStatus = false;\r\n approveDenyClientReopenRequestValidationMessage.push('You have not selected any checklist(s) in order to perform this action.');\r\n }\r\n\r\n let reopenRequestCount = gridFilteredRowCurrentState && gridFilteredRowCurrentState.length > 0\r\n && gridFilteredRowCurrentState.filter(record => record.reopenRequestStatusDescription && record.reopenRequestStatusDescription.toLowerCase() === 'pending').length\r\n || 0;\r\n\r\n let exportChecklistSummaryActionStatus = true;\r\n let exportChecklistSummaryValidationMessage = [];\r\n if (!isChecklistSelected) {\r\n exportChecklistSummaryActionStatus = false;\r\n exportChecklistSummaryValidationMessage.push('You have not selected any checklist(s) in order to perform this action.');\r\n }\r\n\r\n return
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {(isSystemOrEngagementAdmin || isEngagementUser) &&\r\n // Show Create New button if current user is System admin, Engagement admin or Engagement user\r\n
    \r\n \r\n Create New\r\n \r\n {gridCurrentState != null && Array.isArray(gridCurrentState) && gridCurrentState.length > 0 &&\r\n // Show Action dropdown only if current user is either System admin or Engagement admin)\r\n setActionOptionsOpen(false)}\r\n trigger={\r\n setActionOptionsOpen(!actionOptionsOpen)}\r\n aria-controls={'action-dropdown'}\r\n id={'action-dropdown-trigger'}\r\n aria-expanded={actionOptionsOpen}\r\n aria-label=\"Action dropdown\"\r\n data-testid=\"actions\"\r\n >\r\n { !externalUserVisibility && \r\n }>\r\n
    Due to EY's independence policy, the following actions are disabled as the client no longer has access to these report periods:
    \r\n 'Add User(s)', 'Delete User(s)', 'Approve/Deny Client Reopen Request(s)', and 'Resend Checklist(s)'.
    \r\n Please email 'reitsuite@ey.com' for additional support.\r\n
    \r\n
    }\r\n Actions \r\n \r\n }\r\n >\r\n
      \r\n {addUserActionStatus || addUserValidationMessage.length === 0 ?\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowAddChecklistUserModal(); }} type=\"button\"\r\n disabled={!addUserActionStatus}\r\n data-testid=\"addUsers\"\r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Add User(s)\r\n \r\n
    • \r\n :\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowAddChecklistUserModal(); }} type=\"button\"\r\n disabled={!addUserActionStatus} data-testid=\"addUsers\"\r\n >\r\n Add User(s)\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(addUserValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n \r\n
    • \r\n }\r\n\r\n {deleteUserActionStatus || deleteUserValidationMessage.length === 0 ?\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDeleteChecklistUserModal(); }} type=\"button\"\r\n disabled={!deleteUserActionStatus}\r\n data-testid=\"deleteUsers\" \r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Delete User(s)\r\n \r\n
    • \r\n :\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDeleteChecklistUserModal(); }} type=\"button\"\r\n disabled={!deleteUserActionStatus} data-testid=\"deleteUsers\">\r\n Delete User(s)\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(deleteUserValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n \r\n
    • \r\n }\r\n\r\n {(deleteChecklistsActionStatus && ( \r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDeleteChecklistModal(); }}\r\n type=\"button\" disabled={!gridCurrentState || !gridCurrentState.some(record => record.checklistSelection === true)}\r\n title=\"Delete Checklist(s)\" data-testid=\"deleteChecklists\"\r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Delete Checklist(s)\r\n \r\n
    • )) || (\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDeleteChecklistModal(); }} type=\"button\"\r\n disabled={!deleteChecklistsActionStatus} data-testid=\"deleteChecklists\"\r\n >\r\n Delete Checklist(s)\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(deleteChecklistValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n \r\n
    • \r\n )}\r\n\r\n {(isSystemOrEngagementAdmin || isEngagementUser)? (externalUserVisibility && approveDenyClientReopenRequestActionStatus &&\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowApproveClientReopenRequestModal(); }} type=\"button\"\r\n disabled={false} data-testid=\"approveClientReopenRequest\"\r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Approve Client Reopen Request(s)\r\n \r\n
    • \r\n ||\r\n
    • \r\n {!externalUserVisibility && isChecklistSelected ?\r\n \r\n Approve Client Reopen Request(s) \r\n \r\n : \r\n Approve Client Reopen Request(s)\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(approveDenyClientReopenRequestValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n }\r\n
    • ): \r\n }\r\n {(isSystemOrEngagementAdmin || isEngagementUser)? (externalUserVisibility && approveDenyClientReopenRequestActionStatus &&\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDenyClientReopenRequestModal(); }} type=\"button\"\r\n disabled={false} data-testid=\"denyClientReopenRequest\"\r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Deny Client Reopen Request(s)\r\n \r\n
    • \r\n ||\r\n
    • \r\n {!externalUserVisibility && isChecklistSelected ?\r\n \r\n Deny Client Reopen Request(s) \r\n \r\n : \r\n Deny Client Reopen Request(s)\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(approveDenyClientReopenRequestValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n }\r\n
    • ): \r\n }\r\n\r\n {resendChecklistActionStatus || resendChecklistTooltipMessage.length === 0 ? \r\n
    • \r\n { setActionOptionsOpen(false); toggleShowResendChecklistModal(); }} type=\"button\"\r\n disabled={!resendChecklistActionStatus} data-testid=\"resendChecklists\"\r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Resend Checklist(s)\r\n \r\n
    • : (\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowResendChecklistModal(); }} type=\"button\"\r\n disabled={!resendChecklistActionStatus} data-testid=\"resendChecklists\">\r\n Resend Checklist(s)\r\n \r\n \r\n \r\n }\r\n >\r\n
      • {resendChecklistTooltipMessage}
      \r\n \r\n
    • \r\n )}\r\n\r\n {isSystemOrEngagementAdmin ? (reopenforEYReviewChecklistActionStatus &&\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowReopenForEYReviewChecklistModal(); }} type=\"button\"\r\n data-testid=\"reopenforEYReviewChecklists\" \r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Reopen for EY Review\r\n \r\n
    • \r\n ||\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowReopenForEYReviewChecklistModal(); }} type=\"button\"\r\n disabled={true} data-testid=\"reopenforEYReviewChecklists\">\r\n Reopen for EY Review\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(reopenforEYReviewChecklistValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n \r\n
    • ) : \r\n }\r\n\r\n {(isSystemOrEngagementAdmin || isEngagementUser) ? (signoffChecklistActionStatus &&\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowSignoffChecklistModal(); }} type=\"button\"\r\n data-testid=\"signOffChecklists\" \r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Sign-Off Checklist(s)\r\n \r\n
    • \r\n ||\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowSignoffChecklistModal(); }} type=\"button\"\r\n disabled={true} data-testid=\"signOffChecklists\">\r\n Sign-Off Checklist(s)\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(signoffChecklistValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n \r\n
    • ) : \r\n }\r\n\r\n {exportChecklistSummaryActionStatus &&\r\n
    • \r\n { setActionOptionsOpen(false); handleExportChecklistSummary(); }} type=\"button\"\r\n data-testid=\"exportChecklists\" \r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Export Checklist Summary\r\n \r\n
    • \r\n ||\r\n
    • \r\n { setActionOptionsOpen(false); handleExportChecklistSummary(); }} type=\"button\"\r\n disabled={true} data-testid=\"exportChecklists\">\r\n Export Checklist Summary\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(exportChecklistSummaryValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n \r\n
    • \r\n }\r\n {downloadChecklistActionStatus &&\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDownloadChecklistsModal('WITH_ANSWERS'); }} type=\"button\"\r\n data-testid=\"downloadChecklistWithAnswersOnly\" \r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Download - With Answers Only\r\n \r\n
    • \r\n ||\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDownloadChecklistsModal('WITH_ANSWERS'); }} type=\"button\"\r\n disabled={true} data-testid=\"downloadChecklistWithAnswersOnly\">\r\n Download - With Answers Only\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(downloadChecklistValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n \r\n
    • \r\n }\r\n {downloadChecklistActionStatus &&\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDownloadChecklistsModal('WITH_ANSWERS_COMMENTS'); }} type=\"button\"\r\n data-testid=\"downloadChecklistWithAnswersAndComments\" \r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Download - With Answers And Comments\r\n \r\n
    • \r\n ||\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDownloadChecklistsModal('WITH_ANSWERS_COMMENTS'); }} type=\"button\"\r\n disabled={true} data-testid=\"downloadChecklistWithAnswersAndComments\">\r\n Download - With Answers And Comments\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(downloadChecklistValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n \r\n
    • \r\n }\r\n {downloadChecklistActionStatus &&\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDownloadChecklistsModal('WITHOUT_ANSWERS'); }} type=\"button\"\r\n data-testid=\"downloadChecklistWithoutAnswersorComments\" \r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Download - Without Answers or Comments\r\n \r\n
    • \r\n ||\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDownloadChecklistsModal('WITHOUT_ANSWERS'); }} type=\"button\"\r\n disabled={true} data-testid=\"downloadChecklistWithoutAnswersorComments\">\r\n Download - Without Answers or Comments\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(downloadChecklistValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n \r\n
    • \r\n }\r\n
    \r\n \r\n }\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    ;\r\n};\r\n\r\nChecklistHeader.propTypes = {\r\n selectedClient: PropTypes.object,\r\n toggleShowDownloadChecklistsModal: PropTypes.bool,\r\n canEdit:PropTypes.bool,\r\n};\r\n\r\nexport default reduxForm({ form: \"Checklist\" })(ChecklistHeader);","import React from 'react';\r\nimport { MotifTextLink, MotifCheckbox, MotifIcon } from '@ey-xd/motif-react';\r\nimport { Link } from 'react-router-dom';\r\nimport { IconoirOpenNewWindow } from '@ey-xd/motif-icon';\r\n\r\nexport default (props) => {\r\n const reitId = !props.data && props.node.childrenAfterGroup && props.node.childrenAfterGroup.length > 0 ? props.node.childrenAfterGroup[0].data[\"reitid\"] : null;\r\n const reportPeriodID = !props.data && props.node.childrenAfterGroup && props.node.childrenAfterGroup.length > 0 ? props.node.childrenAfterGroup[0].data[\"reportPeriodID\"] : null;\r\n const checklistType = !props.data && props.node.childrenAfterGroup && props.node.childrenAfterGroup.length > 0 ? props.node.childrenAfterGroup[0].data[\"checklistType\"] : null;\r\n const checklistID = !props.data && props.node.childrenAfterGroup && props.node.childrenAfterGroup.length > 0 ? props.node.childrenAfterGroup[0].data[\"checklistID\"] : null;\r\n\r\n return (
    \r\n {checklistType && checklistType.toLowerCase() == 'psq' && reitId && reportPeriodID &&\r\n
    \r\n \r\n \r\n \r\n
    \r\n }\r\n {checklistType && checklistType.toLowerCase() == 'arqc' && reitId && reportPeriodID &&\r\n
    \r\n \r\n \r\n \r\n
    \r\n }\r\n
    );\r\n};","import React from 'react';\r\n\r\nexport default (props) => {\r\n let dateValue = props.data && props.value;\r\n const dateOptions = {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric',\r\n hour: '2-digit',\r\n minute: '2-digit'\r\n };\r\n return dateValue ? (new Date(dateValue + 'Z')).toLocaleString('en-US', dateOptions) : '';\r\n};\r\n","import React from 'react';\r\n\r\nexport default (props) => {\r\n const value = !props.data ? props.label : props.value;\r\n return
    {value}
    ;\r\n};\r\n","import React from 'react';\r\nimport { MotifCheckbox } from \"@ey-xd/motif-react\";\r\n\r\nexport default (props) => {\r\n const id = props.node.key;\r\n const value = !props.data && props.node.childrenAfterGroup && props.node.childrenAfterGroup.length > 0 ? props.node.childrenAfterGroup[0].data[props.colDef.field] : null;\r\n const checklistId = !props.data && props.node.childrenAfterGroup && props.node.childrenAfterGroup.length > 0 ? props.node.childrenAfterGroup[0].data[\"checklistID\"] : null;\r\n\r\n if (!props.data && props.node.childrenAfterGroup){\r\n const defaultCheckboxClass = \"ag-wrapper ag-input-wrapper ag-checkbox-input-wrapper\";\r\n let checkboxClass = value ? defaultCheckboxClass + \" ag-checked\" : defaultCheckboxClass;\r\n \r\n return (\r\n \r\n props.onCellCheckboxChange(checklistId, props.node)}>\r\n \r\n \r\n );\r\n }\r\n\r\n return null;\r\n};","import React from 'react';\r\nimport { MotifCheckbox } from \"@ey-xd/motif-react\";\r\n\r\nexport default (props) => {\r\n let rowsChecked = 0;\r\n let totalRows = 0;\r\n\r\n // Check for total rows and rows checked within filtered rows\r\n props.api.forEachNodeAfterFilter((rowNode) => {\r\n if (rowNode.data) {\r\n totalRows++;\r\n if (rowNode.data.checklistSelection){\r\n rowsChecked++;\r\n }\r\n }\r\n });\r\n\r\n let headerCheckboxValue = false;\r\n let indeterminate = false;\r\n // const defaultCheckboxClass = \"motif-checkbox-custom\";\r\n const defaultCheckboxClass = \"ag-wrapper ag-input-wrapper ag-checkbox-input-wrapper\";\r\n let checkboxClass = defaultCheckboxClass;\r\n\r\n if (rowsChecked === 0) {\r\n headerCheckboxValue = false;\r\n }\r\n else if (totalRows === rowsChecked) {\r\n headerCheckboxValue = true;\r\n // checkboxClass = defaultCheckboxClass + \" motif-icon motif-checkbox-checked-icon\";\r\n checkboxClass = defaultCheckboxClass + \" ag-checked\";\r\n }\r\n else {\r\n headerCheckboxValue = false;\r\n indeterminate = true;\r\n checkboxClass = defaultCheckboxClass + \" ag-indeterminate\";\r\n }\r\n\r\n return (\r\n
    \r\n props.onHeaderCheckboxChange(headerCheckboxValue)}\r\n indeterminate={indeterminate}>\r\n \r\n
    {props.displayName}
    \r\n
    \r\n \r\n );\r\n};","export default (params, field) => {\r\n return !params.data && params.node.childrenAfterGroup && params.node.childrenAfterGroup.length > 0 \r\n ? params.node.childrenAfterGroup[0].data[field] : ''; \r\n}","export default (params) => {\r\n const checklistType = !params.data && params.node.childrenAfterGroup && params.node.childrenAfterGroup.length > 0 \r\n ? params.node.childrenAfterGroup[0].data[\"checklistType\"] : null;\r\n const reitTypeDescription = !params.data && params.node.childrenAfterGroup && params.node.childrenAfterGroup.length > 0 \r\n ? params.node.childrenAfterGroup[0].data[\"reitTypeDescription\"] : null;\r\n const propertyTypeDescription = !params.data && params.node.childrenAfterGroup && params.node.childrenAfterGroup.length > 0 \r\n ? params.node.childrenAfterGroup[0].data[\"propertyTypeDescription\"] : null;\r\n return (checklistType && checklistType.toLowerCase() == 'psq' ? propertyTypeDescription\r\n : checklistType && checklistType.toLowerCase() == 'arqc' && reitTypeDescription)\r\n}","export default (params) => {\r\n const dateOptions = {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric',\r\n hour: '2-digit',\r\n minute: '2-digit'\r\n };\r\n const dateValue = !params.data && params.node.childrenAfterGroup && params.node.childrenAfterGroup.length > 0\r\n ? params.node.childrenAfterGroup[0].data[\"lastUpdatedDate\"] : null;\r\n return dateValue ? (new Date(dateValue + 'Z')).toLocaleString('en-US', dateOptions) : '';\r\n}","import React from 'react';\r\n\r\nexport default (props) => {\r\n return 'No Recipients';\r\n};\r\n","import PropTypes from \"prop-types\";\r\nimport React, {\r\n useCallback,\r\n useMemo,\r\n useRef,\r\n useState,\r\n useEffect,\r\n} from \"react\";\r\nimport { render } from \"react-dom\";\r\nimport { Form, Icon, Popup, Dropdown } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport {\r\n MotifPagination,\r\n MotifPaginationSelect,\r\n MotifPaginationSelectItem,\r\n MotifTable,\r\n} from \"@ey-xd/motif-react\";\r\nimport { AgGridReact } from \"ag-grid-react\";\r\nimport \"ag-grid-enterprise\";\r\nimport \"ag-grid-community/styles/ag-grid.css\";\r\nimport \"ag-grid-community/styles/ag-theme-alpine.css\";\r\nimport ChecklistLinkCellRenderer from \"../checklistDeliveryCalendar/customRenderers/ChecklistLinkCellRenderer\";\r\nimport DateCellRenderer from \"../checklistDeliveryCalendar/customRenderers/DateCellRenderer\";\r\nimport SimpleCellRenderer from \"../checklistDeliveryCalendar/customRenderers/SimpleCellRenderer.js\";\r\nimport CheckboxCellRenderer from \"../checklistDeliveryCalendar/customRenderers/CheckboxCellRenderer.js\";\r\nimport CheckboxHeaderRenderer from \"../checklistDeliveryCalendar/customRenderers/CheckboxHeaderRenderer.js\";\r\nimport DefaultValueGetter from \"../checklistDeliveryCalendar/customValueGetters/DefaultValueGetter.js\";\r\nimport ChecklistTypeValueGetter from \"../checklistDeliveryCalendar/customValueGetters/ChecklistTypeValueGetter.js\";\r\nimport QuestionnaireTemplateValueGetter from \"../checklistDeliveryCalendar/customValueGetters/QuestionnaireTemplateValueGetter.js\";\r\nimport PropertyTypeValueGetter from \"../checklistDeliveryCalendar/customValueGetters/PropertyTypeValueGetter.js\";\r\nimport StatusDateValueGetter from \"../checklistDeliveryCalendar/customValueGetters/StatusDateValueGetter.js\";\r\nimport DateComparator from \"../checklistDeliveryCalendar/customComparators/DateComparator.js\";\r\nimport CustomHeaderTemplate from \"../checklistDeliveryCalendar/customHeaders/CustomHeaderTemplate.js\";\r\nimport NoRecipientCellRenderer from \"../checklistDeliveryCalendar/customRenderers/NoRecipientCellRenderer.js\";\r\n\r\nconst ARQCChecklistTable = ({\r\n formSyncErrors,\r\n formSubmitErrors,\r\n filteredManageChecklists,\r\n clientId,\r\n gridColumnState,\r\n handleGridColumnStateChange,\r\n handleGridChanges,\r\n handleGridFilteredRowChanges,\r\n handleRecipientChanges,\r\n refreshGridChecklistData,\r\n refreshGridData,\r\n}) => {\r\n const gridRef = useRef();\r\n const containerStyle = useMemo(() => ({ width: \"100%\", height: \"100%\" }), []);\r\n const gridStyle = useMemo(() => ({ height: \"100%\", width: \"100%\" }), []);\r\n\r\n const [rowData, setRowData] = useState([]);\r\n const rowDataRef = useRef({});\r\n rowDataRef.current = rowData;\r\n const [gridFilteredRowData, setGridFilteredRowData] = useState([]);\r\n\r\n const onCellCheckboxChange = (checklistId, rowNode) => {\r\n let updatedData = rowDataRef.current.map((newUd) => {\r\n if (\r\n newUd.checklistID === checklistId &&\r\n newUd.recipients === rowNode.key\r\n ) {\r\n return {\r\n ...newUd,\r\n checklistSelection: !newUd.checklistSelection,\r\n };\r\n }\r\n return newUd;\r\n });\r\n\r\n setRowData(updatedData);\r\n gridRef.current.api.redrawRows(rowNode);\r\n gridRef.current.api.refreshHeader();\r\n };\r\n\r\n const onHeaderCheckboxChange = (isHeaderCheckboxSelected) => {\r\n let updatedData = rowDataRef.current;\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n // Select checkbox for filtered rows only\r\n gridRef.current.api.forEachNodeAfterFilter((rowNode) => {\r\n // Check if the parent rowNode's key matches with grid's rowdata and update checkbox selection for those matching\r\n if (rowNode.level === 0) {\r\n updatedData = updatedData.map((newUd) => {\r\n if (newUd.recipients === rowNode.key) {\r\n return {\r\n ...newUd,\r\n checklistSelection: !isHeaderCheckboxSelected,\r\n };\r\n }\r\n return newUd;\r\n });\r\n }\r\n });\r\n\r\n setRowData(updatedData);\r\n gridRef.current.api.redrawRows();\r\n gridRef.current.api.refreshHeader();\r\n }\r\n };\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n const dateOptions = {\r\n day: \"numeric\",\r\n month: \"numeric\",\r\n year: \"numeric\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n };\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: \"checklistSelection\",\r\n headerName: \"\",\r\n suppressMenu: true,\r\n headerComponent: CheckboxHeaderRenderer,\r\n headerComponentParams: {\r\n onHeaderCheckboxChange: onHeaderCheckboxChange,\r\n },\r\n cellRenderer: CheckboxCellRenderer,\r\n cellRendererParams: { onCellCheckboxChange: onCellCheckboxChange },\r\n minWidth: 70,\r\n },\r\n {\r\n field: \"checklistLink\",\r\n headerName: \"\",\r\n suppressMenu: true,\r\n minWidth: 70,\r\n cellRenderer: ChecklistLinkCellRenderer,\r\n cellRendererParams: { clientId: clientId },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"checklistLink\"),\r\n },\r\n },\r\n {\r\n field: \"reitName\",\r\n headerName: \"REIT\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 110,\r\n valueGetter: (params) => DefaultValueGetter(params, \"reitName\"),\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.reitName;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"reit\") },\r\n },\r\n {\r\n field: \"propertyTypeDescription\",\r\n headerName: \"Type\",\r\n sortable: true,\r\n minWidth: 165,\r\n valueGetter: (params) => PropertyTypeValueGetter(params),\r\n filterValueGetter: (params) => {\r\n return params.data &&\r\n params.data.checklistType.toLowerCase() === \"psq\"\r\n ? params.data.propertyTypeDescription\r\n : params.data.reitTypeDescription;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"type\") },\r\n },\r\n {\r\n field: \"questionnaireTemplateName\",\r\n headerName: \"Template\",\r\n sortable: true,\r\n minWidth: 120,\r\n valueGetter: (params) =>\r\n DefaultValueGetter(params, \"questionnaireTemplateName\"),\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.questionnaireTemplateName;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"template\") },\r\n },\r\n {\r\n field: \"checklistStateDescription\",\r\n headerName: \"Status\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 125,\r\n valueGetter: (params) =>\r\n DefaultValueGetter(params, \"checklistStateDescription\"),\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.checklistStateDescription;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"status\") },\r\n },\r\n {\r\n field: \"lastUpdatedDate\",\r\n headerName: \"Status Date\",\r\n sortable: true,\r\n minWidth: 125,\r\n valueGetter: (params) => StatusDateValueGetter(params),\r\n // Show N/A value in filter if date value is not exists\r\n filterValueGetter: (params) => {\r\n return params.data\r\n ? params.data.lastUpdatedDate\r\n ? new Date(params.data.lastUpdatedDate + \"Z\").toLocaleString(\r\n \"en-US\",\r\n dateOptions\r\n )\r\n : \"N/A\"\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate(\"statusDate\") },\r\n },\r\n {\r\n field: \"reopenRequestStatusDescription\",\r\n headerName: \"Reopen Request\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 175,\r\n valueGetter: (params) => {\r\n return !params.data\r\n ? params.node &&\r\n params.node.childrenAfterGroup &&\r\n params.node.childrenAfterGroup.length > 0 &&\r\n params.node.childrenAfterGroup[0].data &&\r\n params.node.childrenAfterGroup[0].data\r\n .reopenRequestStatusDescription\r\n ? params.node.childrenAfterGroup[0].data\r\n .reopenRequestStatusDescription\r\n : \"N/A\"\r\n : \"\";\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.reopenRequestStatusDescription\r\n ? params.data.reopenRequestStatusDescription\r\n : \"N/A\";\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"reopenRequestStatus\"),\r\n },\r\n },\r\n {\r\n field: \"requestDateTime\",\r\n headerName: \"Reopen Request Date\",\r\n sortable: true,\r\n minWidth: 175,\r\n valueGetter: (params) => {\r\n return !params.data\r\n ? params.node &&\r\n params.node.childrenAfterGroup &&\r\n params.node.childrenAfterGroup.length > 0 &&\r\n params.node.childrenAfterGroup[0].data &&\r\n params.node.childrenAfterGroup[0].data.requestDateTime\r\n ? new Date(\r\n params.node.childrenAfterGroup[0].data.requestDateTime + \"Z\"\r\n ).toLocaleString(\"en-US\", dateOptions)\r\n : \"N/A\"\r\n : \"\";\r\n },\r\n // Show N/A value in filter if date value is not exists\r\n filterValueGetter: (params) => {\r\n return params.data\r\n ? params.data.requestDateTime\r\n ? new Date(params.data.requestDateTime + \"Z\").toLocaleString(\r\n \"en-US\",\r\n dateOptions\r\n )\r\n : \"N/A\"\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"requestDateTime\"),\r\n },\r\n },\r\n {\r\n field: \"recipients\",\r\n headerName: \"Recipients\",\r\n sortable: true,\r\n rowGroup: true,\r\n hide: true,\r\n minWidth: 115,\r\n headerComponentParams: { template: CustomHeaderTemplate(\"recipients\") },\r\n },\r\n // add in a cell renderer params\r\n {\r\n headerName: \"Recipients\",\r\n field: \"recipientEmail\",\r\n minWidth: 400,\r\n showRowGroup: true,\r\n sortable: true,\r\n filterValueGetter: (params) => {\r\n if (\r\n params &&\r\n params.data &&\r\n params.data.recipientEmail &&\r\n params.data.recipientEmail.length > 0\r\n ) {\r\n return params.data.recipientEmail;\r\n } else {\r\n return \"No Recipients\";\r\n }\r\n },\r\n cellRendererSelector: (params) => {\r\n if (\r\n (params &&\r\n params.node &&\r\n params.node.allLeafChildren &&\r\n Array.isArray(params.node.allLeafChildren) &&\r\n params.node.allLeafChildren.length > 0 &&\r\n params.node.allLeafChildren[0].data &&\r\n params.node.allLeafChildren[0].data.recipientEmail &&\r\n params.node.allLeafChildren[0].data.recipientEmail.length > 0) ||\r\n (params &&\r\n params.data &&\r\n params.data.recipientEmail &&\r\n params.data.recipientEmail.length > 0)\r\n ) {\r\n return {\r\n component: \"agGroupCellRenderer\",\r\n };\r\n } else {\r\n return {\r\n component: NoRecipientCellRenderer,\r\n };\r\n }\r\n },\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true,\r\n cellRendererParams: {\r\n checkbox: true,\r\n innerRenderer: SimpleCellRenderer,\r\n innerRendererParams: { label: \"Recipients\" },\r\n suppressDoubleClickExpand: true,\r\n suppressEnterExpand: true,\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"recipients\") },\r\n },\r\n {\r\n field: \"senderEmail\",\r\n headerName: \"Sent From\",\r\n sortable: true,\r\n rowGroup: false,\r\n minWidth: 200,\r\n headerComponentParams: { template: CustomHeaderTemplate(\"sentFrom\") },\r\n },\r\n {\r\n field: \"sentDate\",\r\n headerName: \"Sent Date\",\r\n sortable: true,\r\n rowGroup: false,\r\n minWidth: 200,\r\n cellRenderer: DateCellRenderer,\r\n cellRendererParams: { dateFieldName: \"sentDate\" },\r\n // Show N/A value in filter if date value is not exists\r\n filterValueGetter: (params) => {\r\n return params.data\r\n ? params.data.sentDate\r\n ? new Date(params.data.sentDate + \"Z\").toLocaleString(\r\n \"en-US\",\r\n dateOptions\r\n )\r\n : \"N/A\"\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate(\"sentDate\") },\r\n },\r\n {\r\n field: \"expirationDate\",\r\n headerName: \"Expiration Date\",\r\n sortable: true,\r\n rowGroup: false,\r\n minWidth: 190,\r\n cellRenderer: DateCellRenderer,\r\n cellRendererParams: { dateFieldName: \"expirationDate\" },\r\n // Show N/A value in filter if date value is not exists\r\n filterValueGetter: (params) => {\r\n return params.data\r\n ? params.data.expirationDate\r\n ? new Date(params.data.expirationDate + \"Z\").toLocaleString(\r\n \"en-US\",\r\n dateOptions\r\n )\r\n : \"N/A\"\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"expirationDate\"),\r\n },\r\n },\r\n {\r\n field: \"clientUserEmailAddress\",\r\n headerName: \"Client Signedoff By\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 172,\r\n valueGetter: (params) => {\r\n return !params.data\r\n ? params.node &&\r\n params.node.childrenAfterGroup &&\r\n params.node.childrenAfterGroup.length > 0 &&\r\n params.node.childrenAfterGroup[0].data &&\r\n params.node.childrenAfterGroup[0].data.isSignedOff\r\n ? params.node.childrenAfterGroup[0].data.clientUserEmailAddress\r\n : \"\"\r\n : \"\";\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.isSignedOff\r\n ? params.data.clientUserEmailAddress\r\n : \"\";\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"clientUserEmailAddress\"),\r\n },\r\n },\r\n {\r\n field: \"userActionDateTime\",\r\n headerName: \"Client Signedoff Date\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 200,\r\n valueGetter: (params) => {\r\n return !params.data\r\n ? params.node &&\r\n params.node.childrenAfterGroup &&\r\n params.node.childrenAfterGroup.length > 0 &&\r\n params.node.childrenAfterGroup[0].data &&\r\n params.node.childrenAfterGroup[0].data.isSignedOff &&\r\n params.node.childrenAfterGroup[0].data.userActionDateTime\r\n ? new Date(\r\n params.node.childrenAfterGroup[0].data.userActionDateTime +\r\n \"Z\"\r\n ).toLocaleString(\"en-US\", dateOptions)\r\n : \"\"\r\n : \"\";\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.isSignedOff\r\n ? params.data.userActionDateTime\r\n ? new Date(params.data.userActionDateTime + \"Z\").toLocaleString(\r\n \"en-US\",\r\n dateOptions\r\n )\r\n : \"\"\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"userActionDateTime\"),\r\n },\r\n },\r\n ];\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n const getRowId = useCallback(\r\n (params) => params.data.recipients + \"_\" + params.data.recipientEmail,\r\n []\r\n );\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Grid Global Listner\r\n const gridGlobalListner = function (type, event) {\r\n if (type.indexOf(\"columnVisible\") >= 0) {\r\n handleGridColumnsChanged(event);\r\n }\r\n\r\n // Bind handleFilterChanged event to filterChanged and rowDataUpdated events\r\n if (type.indexOf(\"filterChanged\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n }\r\n\r\n if (type.indexOf(\"rowDataUpdated\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n } \r\n };\r\n\r\n //Handle Grid Ready event\r\n const handleGridReady = (event) => {\r\n //Remove event for column state change\r\n event.api.removeEventListener(gridGlobalListner);\r\n\r\n //Add event for column state change\r\n event.api.addGlobalListener(gridGlobalListner);\r\n\r\n //Apply column state\r\n var columnState = localStorage.getItem(\"REITSuiteARQCChecklistColumnState\");\r\n if (columnState) {\r\n gridRef.current.columnApi.applyColumnState({\r\n state: JSON.parse(columnState),\r\n applyOrder: true,\r\n });\r\n }\r\n\r\n //Show/Hide Reopen requests columns - If any checklists having reopen requests(pending, approved or denied) then only show Reopen Request columns\r\n gridRef.current.columnApi.setColumnsVisible(\r\n [\"reopenRequestStatusDescription\", \"requestDateTime\"],\r\n rowDataRef.current &&\r\n rowDataRef.current.some((ch) => ch.reopenRequestStatusDescription)\r\n );\r\n\r\n handleItemsPerPageChange(100); // Setting it 100 to make sure the default number of items on load is always set to 100\r\n };\r\n\r\n // Handle OnFilterChanged event\r\n const handleFilterChanged = (event) => {\r\n let filteredRowData = [];\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.forEachNodeAfterFilter((rowNode) => {\r\n if (rowNode.level === 0) {\r\n let matchedRecord = rowDataRef.current.find(\r\n (ch) => ch.recipients === rowNode.key\r\n );\r\n if (matchedRecord) {\r\n filteredRowData.push({\r\n checklistID: matchedRecord.checklistID,\r\n checklistSelection: matchedRecord.checklistSelection,\r\n checklistState: matchedRecord.checklistState,\r\n checklistType: matchedRecord.checklistType,\r\n quarterStatus: matchedRecord.quarterStatus,\r\n checklistStateDescription:\r\n matchedRecord.checklistStateDescription,\r\n reopenRequestStatusDescription:\r\n matchedRecord.reopenRequestStatusDescription,\r\n requestDateTime: matchedRecord.requestDateTime,\r\n });\r\n }\r\n }\r\n });\r\n\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n if (currentPage > calcTotalPages) {\r\n if (calcTotalPages == 0) {\r\n setTimeout(function () {\r\n setCurrentPage(calcTotalPages);\r\n }, 0);\r\n } else {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n const gridCurrentPage =\r\n gridRef.current.api.paginationGetCurrentPage() + 1; // Adding 1 since it returns zero based index\r\n if (currentPage < gridCurrentPage && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n }\r\n\r\n // Show the expected value as 1 for current page \r\n if (currentPage <= 1 && gridCurrentPage == 1 && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n } \r\n }\r\n\r\n setGridFilteredRowData(filteredRowData);\r\n };\r\n\r\n //Handle First Data Renderered event\r\n const handleFirstDataRendered = (event) => {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n updateRowNodeSelectableProperty();\r\n };\r\n\r\n // Update Selectable property of RowNode of type 'No Recipient' to false\r\n const updateRowNodeSelectableProperty = () => {\r\n const gridApi = gridRef && gridRef.current && gridRef.current.api;\r\n if (gridApi) {\r\n gridApi.forEachNodeAfterFilter((row) => {\r\n if (\r\n row.level === 0 &&\r\n row.childrenAfterFilter &&\r\n row.childrenAfterFilter.length > 0 &&\r\n row.childrenAfterFilter[0].data\r\n ) {\r\n if (\r\n !row.childrenAfterFilter[0].data.recipientEmail ||\r\n row.childrenAfterFilter[0].data.recipientEmail.length == 0\r\n ) {\r\n row.selectable = false;\r\n row.selected = false;\r\n } else if (row.selectable == false) {\r\n row.selectable = true;\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n //Handle Grid Columns changed event\r\n const handleGridColumnsChanged = (event) => {\r\n var currentColumnState = gridRef.current.columnApi.getColumnState();\r\n var localStorageColumnState = localStorage.getItem(\r\n \"REITSuiteARQCChecklistColumnState\"\r\n );\r\n\r\n // If the column state details are not exists in local storage then save the changed Column state data\r\n if (\r\n currentColumnState &&\r\n currentColumnState.filter((col) => col.hide == true)?.length > 0 &&\r\n !localStorageColumnState\r\n ) {\r\n saveUserPreferenceDetails();\r\n } else if (localStorageColumnState) {\r\n // If the column state details are exists in local storage then save the changed Column state data only if difference is found\r\n var columnsStateArray = JSON.parse(localStorageColumnState);\r\n if (\r\n columnsStateArray &&\r\n columnsStateArray.length > 0 &&\r\n currentColumnState &&\r\n currentColumnState.length > 0 &&\r\n columnsStateArray.filter((col) => col.hide == true)?.length !=\r\n currentColumnState.filter((col) => col.hide == true)?.length\r\n ) {\r\n //If column state mismatch found then only save column state data to avoid saving same state\r\n saveUserPreferenceDetails();\r\n }\r\n }\r\n\r\n //Trigger Grid Column state change (of parent) to sync column state data\r\n handleGridColumnStateChange(currentColumnState);\r\n\r\n gridRef &&\r\n gridRef.current &&\r\n gridRef.current.columnApi &&\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n };\r\n\r\n //Save User Preference details (Column state)\r\n const saveUserPreferenceDetails = useCallback(() => {\r\n var columnState = gridRef.current.columnApi.getColumnState();\r\n if (columnState) {\r\n localStorage.setItem(\r\n \"REITSuiteARQCChecklistColumnState\",\r\n JSON.stringify(columnState)\r\n );\r\n }\r\n }, []);\r\n\r\n //Handle Grid Items per Page change event\r\n const handleItemsPerPageChange = (val) => {\r\n gridRef.current.api.paginationGoToFirstPage();\r\n gridRef.current.api.paginationSetPageSize(Number(val));\r\n setCurrentPage(1);\r\n setItemsPerPage(val);\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n useEffect(() => {\r\n handleGridChanges(\r\n rowData,\r\n gridRef && gridRef.current ? gridRef.current.api : null\r\n );\r\n updateRowNodeSelectableProperty();\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n // Refresh Grid\r\n const gridApi = gridRef && gridRef.current && gridRef.current.api;\r\n if (gridApi) {\r\n var rows = [];\r\n if (\r\n refreshGridChecklistData &&\r\n refreshGridChecklistData.checklists &&\r\n refreshGridChecklistData.checklists.length > 0\r\n ) {\r\n gridApi.forEachNodeAfterFilter((row) => {\r\n if (\r\n row.level === 0 &&\r\n refreshGridChecklistData.checklists.some(\r\n (ch) =>\r\n row.key.toLowerCase() ===\r\n ch.checklistID + \"_\" + ch.checklistType.toLowerCase()\r\n )\r\n ) {\r\n if (\r\n row.allLeafChildren &&\r\n Array.isArray(row.allLeafChildren) &&\r\n row.allLeafChildren.length > 0 &&\r\n row.allLeafChildren[0].data\r\n ) {\r\n if (\r\n !row.allLeafChildren[0].data.recipientEmail ||\r\n row.allLeafChildren[0].data.recipientEmail.length === 0\r\n ) {\r\n row.setExpanded(false);\r\n }\r\n }\r\n rows.push(row);\r\n }\r\n });\r\n\r\n //Redraw rows\r\n if (rows.length > 0) {\r\n setTimeout(function () {\r\n gridApi.redrawRows({ rowNodes: rows });\r\n }, 0);\r\n }\r\n }\r\n\r\n gridApi.refreshHeader();\r\n gridApi.refreshCells();\r\n gridApi.deselectAll();\r\n }\r\n }, [refreshGridChecklistData]);\r\n\r\n useEffect(() => {\r\n setRowData(filteredManageChecklists);\r\n\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.refreshHeader();\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n\r\n //Show/Hide Reopen requests columns - If any checklists having reopen requests(pending, approved or denied) then only show Reopen Request columns\r\n gridRef.current.columnApi.setColumnsVisible(\r\n [\"reopenRequestStatusDescription\", \"requestDateTime\"],\r\n filteredManageChecklists &&\r\n filteredManageChecklists.some(\r\n (ch) => ch.reopenRequestStatusDescription\r\n )\r\n );\r\n }\r\n }, [filteredManageChecklists]);\r\n\r\n useEffect(() => {\r\n if (refreshGridData > 0) {\r\n // Refresh Grid\r\n let updatedData = filteredManageChecklists;\r\n setRowData(updatedData);\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.setRowData(updatedData);\r\n gridRef.current.api.refreshCells();\r\n gridRef.current.api.redrawRows();\r\n gridRef.current.api.refreshHeader();\r\n gridRef.current.api.forEachNodeAfterFilter((row) => {\r\n if (\r\n row.level === 0 &&\r\n row.allLeafChildren &&\r\n Array.isArray(row.allLeafChildren) &&\r\n row.allLeafChildren.length > 0 &&\r\n row.allLeafChildren[0].data\r\n )\r\n if (\r\n !row.allLeafChildren[0].data.recipientEmail ||\r\n row.allLeafChildren[0].data.recipientEmail.length === 0\r\n ) {\r\n row.setExpanded(false);\r\n }\r\n });\r\n }\r\n }\r\n }, [refreshGridData]);\r\n\r\n useEffect(() => {\r\n //gridFilteredRowData contains filtered Row data\r\n handleGridFilteredRowChanges(gridFilteredRowData);\r\n }, [gridFilteredRowData]);\r\n\r\n const handleSelectionChanged = (event) => {\r\n handleRecipientChanges(\r\n gridRef && gridRef.current ? gridRef.current.api : null\r\n );\r\n };\r\n\r\n // Handle Row Group Open event(Expand/Collapse of Group Icon)\r\n const handleRowGroupOpened = (event) => {\r\n if (\r\n event &&\r\n event.expanded &&\r\n gridRef &&\r\n gridRef.current &&\r\n gridRef.current.columnApi\r\n ) {\r\n //Auto size Recipient Email and Sender Email columns\r\n gridRef.current.columnApi.autoSizeColumns([\r\n \"recipientEmail\",\r\n \"senderEmail\",\r\n ]);\r\n }\r\n };\r\n\r\n // Handle Expand/Collapse All\r\n const handleExpandOrCollapseAll = (event) => {\r\n if (event && event.source && event.source.toLowerCase() == \"expandall\") {\r\n const gridApi = gridRef && gridRef.current && gridRef.current.api;\r\n if (gridApi) {\r\n gridApi.forEachNodeAfterFilter((row) => {\r\n if (\r\n row.level === 0 &&\r\n row.allLeafChildren &&\r\n Array.isArray(row.allLeafChildren) &&\r\n row.allLeafChildren.length > 0 &&\r\n row.allLeafChildren[0].data\r\n )\r\n if (\r\n !row.allLeafChildren[0].data.recipientEmail ||\r\n row.allLeafChildren[0].data.recipientEmail.length === 0\r\n ) {\r\n row.setExpanded(false);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n // Handle Row data updated event\r\n const handleRowDataUpdated = () => {\r\n if (gridRef && gridRef.current && gridRef.current.columnApi) {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n //Reset Grid to default column state\r\n //When Grid Column state changes due to Reset Column State action then Reset Grid to default column state\r\n var localStorageColumnState = localStorage.getItem(\r\n \"REITSuiteARQCChecklistColumnState\"\r\n );\r\n if (\r\n !localStorageColumnState &&\r\n gridRef &&\r\n gridRef.current &&\r\n gridRef.current.api\r\n ) {\r\n gridRef.current.api.setColumnDefs([]);\r\n gridRef.current.api.setColumnDefs(getColumnDefs());\r\n }\r\n }, [gridColumnState]);\r\n\r\n const rowHeight = 76; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return (\r\n
    \r\n {filteredManageChecklists && filteredManageChecklists.length > 0 && (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n handleItemsPerPageChange(50)}\r\n >\r\n Show 50\r\n \r\n handleItemsPerPageChange(100)}\r\n >\r\n Show 100\r\n \r\n handleItemsPerPageChange(150)}\r\n >\r\n Show 150\r\n \r\n handleItemsPerPageChange(200)}\r\n >\r\n Show 200\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nARQCChecklistTable.propTypes = {};\r\n\r\nexport default reduxForm({ form: \"arqcChecklist\" })(ARQCChecklistTable);\r\n","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { Header, Label, Button, Input, Dropdown } from \"semantic-ui-react\";\r\n\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport {\r\n MotifButton, MotifModal, MotifIcon, \r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifModalHeader } from \"@ey-xd/motif-react\";\r\n\r\nconst AddChecklistUserModal = ({ showAddChecklistUserModal,\r\n handleSubmit, toggleShowAddChecklistUserModal, emails, handleEmailChanged, gridCurrentState, handleAddChecklistUser }) => {\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Add checklist users modal',\r\n ariaLabel: 'Close Add checklist users modal',\r\n dataTestid: 'close'\r\n };\r\n\r\n return (\r\n toggleShowAddChecklistUserModal()} size=\"xl\" data-testid=\"AddChecklistUsers\">\r\n \r\n \r\n Add Checklist User(s)\r\n \r\n \r\n\r\n \r\n
    \r\n \r\n You selected {gridCurrentState && new Set(gridCurrentState.filter(record => record.checklistSelection)\r\n .map(record => record.checklistID + '_' + record.checklistType)).size} checklist(s).\r\n \r\n
    \r\n\r\n 0\r\n ? emails\r\n : []}\r\n validate={[\r\n formValidators.multipleEmails,\r\n formValidators.maxLength255,\r\n ]}\r\n maxLength={255}\r\n />\r\n
    \r\n \r\n
    \r\n \r\n toggleShowAddChecklistUserModal()} className=\"right\" data-testid=\"Cancel\">\r\n Cancel\r\n \r\n handleAddChecklistUser()} className=\"right\" data-testid=\"Submit\"\r\n disabled={!emails || emails.length <= 0} >\r\n Submit\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nAddChecklistUserModal.propTypes = {\r\n showAddChecklistUserModal: PropTypes.bool,\r\n handleSubmit: PropTypes.func,\r\n toggleShowAddChecklistUserModal: PropTypes.func,\r\n initialValues: PropTypes.object\r\n};\r\n\r\nexport default reduxForm({ form: \"addChecklistUser\", enableReinitialize: true })(AddChecklistUserModal);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifIcon,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n} from \"@ey-xd/motif-react\";\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\n\r\nconst DeleteChecklistUserModal = ({\r\n showDeleteChecklistUserModal,\r\n handleDeleteChecklistUser,\r\n toggleShowDeleteChecklistUserModal,\r\n}) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: \"Close delete checklist user modal\",\r\n ariaLabel: \"Close delete checklist user modal\",\r\n dataTestid: \"close\",\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Delete Checklist User\r\n \r\n \r\n \r\n Are you sure you want to delete selected user(s)?\r\n \r\n Once a user is deleted from a checklist, they will no longer be able\r\n to access the checklist.\r\n \r\n
    \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n Delete\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nDeleteChecklistUserModal.propTypes = {\r\n showDeleteChecklistUserModal: PropTypes.bool,\r\n handleDeleteChecklistUser: PropTypes.func,\r\n toggleShowDeleteChecklistUserModal: PropTypes.func,\r\n};\r\n\r\nexport default DeleteChecklistUserModal;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { MotifButton, MotifIcon, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter } from '@ey-xd/motif-react';\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\n\r\nconst DeleteChecklistModal = ({\r\n showDeleteChecklistModal,\r\n handleDeleteChecklist,\r\n toggleShowDeleteChecklistModal,\r\n gridCurrentState\r\n}) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close delete checklists modal',\r\n ariaLabel: 'Close delete checklists modal',\r\n dataTestid: 'close'\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Delete Checklists\r\n \r\n \r\n \r\n Are you sure you want to delete the selected checklist(s)?\r\n \r\n You selected {gridCurrentState && new Set(\r\n gridCurrentState.filter(record => record.checklistSelection)\r\n .map(record => record.checklistID + '_' + record.checklistType)\r\n ).size\r\n } checklist(s).\r\n \r\n \r\n \r\n Cancel\r\n Delete\r\n \r\n \r\n );\r\n};\r\n\r\nDeleteChecklistModal.propTypes = {\r\n showDeleteChecklistModal: PropTypes.bool,\r\n handleDeleteChecklist: PropTypes.func,\r\n toggleShowDeleteChecklistModal: PropTypes.func,\r\n gridCurrentState: PropTypes.array\r\n};\r\n\r\nexport default DeleteChecklistModal;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Header, Button } from \"semantic-ui-react\";\r\n\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n } from \"@ey-xd/motif-react\";\r\n\r\nconst ResendChecklistModal = ({\r\n showResendChecklistModal,\r\n handleResendChecklist,\r\n toggleShowResendChecklistModal,\r\n selectedRecipients\r\n}) => {\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Resend checklists modal',\r\n ariaLabel: 'Close Resend checklists modal',\r\n dataTestid: 'close'\r\n };\r\n\r\n let selectedChecklists = (selectedRecipients && new Set(selectedRecipients.map(sr => sr.recipients)).size) || 0;\r\n\r\n return (\r\n \r\n \r\n \r\n Resend Checklist(s)\r\n \r\n \r\n \r\n Are you sure you want to send the checklist(s) to the selected recipients?\r\n You selected {selectedRecipients.length} recipients(s) within {selectedChecklists} checklist(s).\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n Submit\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nResendChecklistModal.propTypes = {\r\n showResendChecklistModal: PropTypes.bool,\r\n handleResendChecklist: PropTypes.func,\r\n toggleShowResendChecklistModal: PropTypes.func,\r\n selectedRecipients: PropTypes.array\r\n};\r\n\r\nexport default ResendChecklistModal;\r\n","import PropTypes from \"prop-types\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Header, Label, Button, Input, Dropdown } from \"semantic-ui-react\";\r\n\r\nimport { Field, reduxForm, getFormValues } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n MotifButton, MotifFormField, MotifInput, MotifLabel, MotifSelect, MotifOption, MotifModal, MotifIcon,\r\n MotifModalBody, MotifModalFooter, MotifModalHeader} from \"@ey-xd/motif-react\";\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\nconst SignoffChecklistModal = ({ showSignoffChecklistModal,\r\n handleSubmit, handleSignoffChecklist, toggleShowSignoffChecklistModal, gridCurrentState }) => {\r\n \r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Sign-Off checklist modal',\r\n ariaLabel: 'Close Sign-Off checklist modal',\r\n dataTestid: 'close'\r\n };\r\n\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n return (\r\n toggleShowSignoffChecklistModal()} data-testid=\"SignoffChecklists\">\r\n \r\n \r\n Sign-Off Checklist(s)\r\n \r\n \r\n\r\n \r\n
    \r\n \r\n You selected {gridCurrentState && new Set(gridCurrentState.filter(record => record.checklistSelection)\r\n .map(record => record.checklistID + '_' + record.checklistType)).size} checklist(s).\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n toggleShowSignoffChecklistModal()} className=\"right\" data-testid=\"Cancel\">\r\n Cancel\r\n \r\n handleSignoffChecklist()} className=\"right\" data-testid=\"Submit\" >\r\n Submit\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nSignoffChecklistModal.propTypes = {\r\n showSignoffChecklistModal: PropTypes.bool,\r\n handleSubmit: PropTypes.func,\r\n toggleShowSignoffChecklistModal: PropTypes.func,\r\n initialValues: PropTypes.object\r\n};\r\n\r\nexport default reduxForm({ form: \"signoffChecklist\", enableReinitialize: true })(SignoffChecklistModal);","import PropTypes from \"prop-types\";\r\nimport React, { useEffect } from \"react\";\r\nimport { reduxForm } from \"redux-form\";\r\nimport {\r\n MotifButton, MotifModal,\r\n MotifModalBody, MotifModalFooter, MotifModalHeader} from \"@ey-xd/motif-react\";\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\nconst ReopenForEYReviewChecklistModal = ({ showReopenForEYReviewChecklistModal,\r\n handleSubmit, handleReopenForEYReviewChecklist, toggleShowReopenForEYReviewChecklistModal, gridCurrentState }) => {\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Reopen for EY Review modal',\r\n ariaLabel: 'Close Reopen for EY Review modal',\r\n dataTestid: 'close'\r\n };\r\n\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n \r\n return (\r\n toggleShowReopenForEYReviewChecklistModal()} size=\"xl\" data-testid=\"ReopenForEYReviewChecklists\">\r\n \r\n \r\n Reopen for EY Review\r\n \r\n \r\n\r\n \r\n
    \r\n \r\n You selected {gridCurrentState && new Set(gridCurrentState.filter(record => record.checklistSelection)\r\n .map(record => record.checklistID + '_' + record.checklistType)).size} checklist(s).\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n toggleShowReopenForEYReviewChecklistModal()} className=\"right\" data-testid=\"Cancel\">\r\n Cancel\r\n \r\n handleReopenForEYReviewChecklist()} className=\"right\" data-testid=\"Submit\" >\r\n Submit\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nReopenForEYReviewChecklistModal.propTypes = {\r\n showReopenForEYReviewChecklistModal: PropTypes.bool,\r\n handleSubmit: PropTypes.func,\r\n toggleShowReopenForEYReviewChecklistModal: PropTypes.func\r\n};\r\n\r\nexport default reduxForm({ form: \"ReopenForEYReviewChecklist\", enableReinitialize: true })(ReopenForEYReviewChecklistModal);","import PropTypes from \"prop-types\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Header, Label, Button, Input, Dropdown } from \"semantic-ui-react\";\r\n\r\nimport { Field, reduxForm, getFormValues } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n MotifButton, MotifFormField, MotifInput, MotifLabel, MotifSelect, MotifOption, MotifModal, MotifIcon,\r\n MotifModalBody, MotifModalFooter, MotifModalHeader} from \"@ey-xd/motif-react\";\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\nconst ApproveClientReopenRequestModal = ({ showApproveClientReopenRequestModal,\r\n handleSubmit, handleApproveClientReopenRequest, toggleShowApproveClientReopenRequestModal, gridCurrentState }) => {\r\n \r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Approve Client Reopen Request modal',\r\n ariaLabel: 'Close Approve Client Reopen Request modal',\r\n dataTestid: 'close'\r\n };\r\n\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n return (\r\n toggleShowApproveClientReopenRequestModal()} size=\"xl\" data-testid=\"ApproveClientReopenRequests\">\r\n \r\n \r\n Approve Client Reopen Request(s)\r\n \r\n \r\n\r\n \r\n
    \r\n \r\n You selected {gridCurrentState && new Set(gridCurrentState.filter(record => record.checklistSelection)\r\n .map(record => record.checklistID + '_' + record.checklistType)).size} checklist(s).\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n toggleShowApproveClientReopenRequestModal()} className=\"right\" data-testid=\"Cancel\">\r\n Cancel\r\n \r\n handleApproveClientReopenRequest()} className=\"right\" data-testid=\"Submit\" >\r\n Submit\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nApproveClientReopenRequestModal.propTypes = {\r\n showApproveClientReopenRequestModal: PropTypes.bool,\r\n handleSubmit: PropTypes.func,\r\n toggleShowApproveClientReopenRequestModal: PropTypes.func,\r\n initialValues: PropTypes.object\r\n};\r\n\r\nexport default reduxForm({ form: \"ApproveClientReopenRequest\", enableReinitialize: true })(ApproveClientReopenRequestModal);","import PropTypes from \"prop-types\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Header, Label, Button, Input, Dropdown } from \"semantic-ui-react\";\r\n\r\nimport { Field, reduxForm, getFormValues } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n MotifButton, MotifFormField, MotifInput, MotifLabel, MotifSelect, MotifOption, MotifModal, MotifIcon,\r\n MotifModalBody, MotifModalFooter, MotifModalHeader} from \"@ey-xd/motif-react\";\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\nconst DenyClientReopenRequestModal = ({ showDenyClientReopenRequestModal,\r\n handleSubmit, handleDenyClientReopenRequest, toggleShowDenyClientReopenRequestModal, gridCurrentState }) => {\r\n \r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Deny Client Reopen Request modal',\r\n ariaLabel: 'Close Deny Client Reopen Request modal',\r\n dataTestid: 'close'\r\n };\r\n\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n return (\r\n toggleShowDenyClientReopenRequestModal()} size=\"xl\" data-testid=\"DenyClientReopenRequests\">\r\n \r\n \r\n Deny Client Reopen Request(s)\r\n \r\n \r\n\r\n \r\n
    \r\n \r\n You selected {gridCurrentState && new Set(gridCurrentState.filter(record => record.checklistSelection)\r\n .map(record => record.checklistID + '_' + record.checklistType)).size} checklist(s).\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n toggleShowDenyClientReopenRequestModal()} className=\"right\" data-testid=\"Cancel\">\r\n Cancel\r\n \r\n handleDenyClientReopenRequest()} className=\"right\" data-testid=\"Submit\" >\r\n Submit\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nDenyClientReopenRequestModal.propTypes = {\r\n showDenyClientReopenRequestModal: PropTypes.bool,\r\n handleSubmit: PropTypes.func,\r\n toggleShowDenyClientReopenRequestModal: PropTypes.func,\r\n initialValues: PropTypes.object\r\n};\r\n\r\nexport default reduxForm({ form: \"DenyClientReopenRequest\", enableReinitialize: true })(DenyClientReopenRequestModal);","import PropTypes from \"prop-types\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Field, reduxForm, SubmissionError } from \"redux-form\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport $ from \"jquery\";\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifErrorMessage,\r\n MotifFormField,\r\n MotifLabel,\r\n MotifSelect,\r\n MotifOption,\r\n MotifTooltip,\r\n MotifIcon\r\n} from \"@ey-xd/motif-react\";\r\nimport * as Constants from \"../../constants/other\";\r\nimport { IconoirInfoCircle } from '@ey-xd/motif-icon';\r\nconst ArqcCreateChecklistModal = ({\r\n handleSubmit,\r\n handleClientFieldChanged,\r\n handlePopulatePreviousAnswersChanged,\r\n isSendEmailEnabled,\r\n isPreviousAnswersPopulated,\r\n showModal,\r\n setCreateAction,\r\n handleCancelAction,\r\n error,\r\n handleDismissErrorMessage,\r\n clientEmailsRef,\r\n checklist,\r\n clientEmail,\r\n handleRollForwardComment,\r\n createChecklistCustomErrorMessage,\r\n isInititiallySetEmailsFrwd,\r\n setInititiallySetEmailsFrwd,\r\n externalUserVisibilityData,\r\n}) => {\r\n let isReportPeriodVisible=true;\r\n\r\n if(externalUserVisibilityData && externalUserVisibilityData.length>0){\r\n isReportPeriodVisible = externalUserVisibilityData[0].isReportPeriodVisibleToExternalUsers;\r\n }\r\n const [emailInput, setEmailInput] = useState('');\r\n let prePopulateOptions = Constants.prePopulateOptions;\r\n const rollForwardQuestionComment = Constants.rollForwardQuestionComment;\r\n const preventSubmitOnEnter = (e) => {\r\n if (e.key === \"Enter\") {\r\n //Avoid preventing key press for buttons\r\n if (\r\n e.target &&\r\n e.target.type !== \"button\" &&\r\n e.target.type !== \"submit\"\r\n ) {\r\n e.preventDefault();\r\n }\r\n }\r\n };\r\n\r\n const [selectedRollForwadAns, setSelectedRollForwadAns] = useState(\r\n rollForwardQuestionComment[0]\r\n );\r\n\r\n const handleCreateButtonClick = (e) => {\r\n setCreateAction(\"CREATE\");\r\n };\r\n const useHandleFieldChangedRollForwardQuestions = (v) => {\r\n handleRollForwardComment(v, rollForwardQuestionComment);\r\n\r\n setSelectedRollForwadAns(v);\r\n };\r\n\r\n const [selectedPopulateAns, setSelectedPopulateAns] = useState(\r\n prePopulateOptions[0]\r\n );\r\n const useHandleFieldChangedPreviousAnswer = (v) => {\r\n handlePopulatePreviousAnswersChanged(v, prePopulateOptions);\r\n\r\n setSelectedPopulateAns(v);\r\n };\r\n\r\n const handleCreateAndSendButtonClick = () => {\r\n setCreateAction(\"CREATEANDSEND\");\r\n };\r\n\r\n const validateEmails = () => {\r\n let sendToFieldValue = $(\"#sendToField :input\").val() || emailInput;\r\n\r\n if (sendToFieldValue !== \"\") {\r\n throw new SubmissionError({\r\n _error: \"'\" + sendToFieldValue + \"' is not a valid email address.\",\r\n });\r\n }\r\n return handleSubmit();\r\n };\r\n\r\n const clearState = () => {\r\n setEmailInput('');\r\n };\r\n\r\n const handleModalClose = () => {\r\n clearState();\r\n handleCancelAction();\r\n };\r\n\r\n const handleOnInputChange = (email) => {\r\n if(formValidators.email(email) !== undefined){\r\n setEmailInput(email);\r\n } \r\n else{\r\n setEmailInput(\"\");\r\n }\r\n }\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: \"Close add new ARQC modal\",\r\n ariaLabel: \"Close add new ARQC modal\",\r\n dataTestid: \"close\",\r\n };\r\n\r\n useEffect(() => { \r\n if(isInititiallySetEmailsFrwd && clientEmailsRef !== undefined) {\r\n clientEmailsRef(null);\r\n }\r\n else if (setInititiallySetEmailsFrwd !== undefined){\r\n setInititiallySetEmailsFrwd();\r\n }\r\n }, [clientEmail]);\r\n\r\n return (\r\n \r\n \r\n \r\n Create a new ARQC\r\n \r\n \r\n\r\n \r\n \r\n {formHelpers.showSubmissionError(error, handleDismissErrorMessage)}\r\n
    \r\n \r\n \r\n Pre-Populate Answers? / Show Reference Answers?\r\n \r\n \r\n {prePopulateOptions.map((co) => (\r\n \r\n {co.text}\r\n \r\n ))}\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n Roll Forward Question Comments? / Attachments?\r\n \r\n \r\n {rollForwardQuestionComment.map((co) => (\r\n \r\n {co.text}\r\n \r\n ))}\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Send to (Multiple email addresses are supported if separated by a semi-colon)\r\n \r\n \r\n
    \r\n {createChecklistCustomErrorMessage &&\r\n createChecklistCustomErrorMessage.length > 0 && (\r\n \r\n {createChecklistCustomErrorMessage}\r\n \r\n )}\r\n \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n {!isReportPeriodVisible && \r\n \r\n }>\r\n
    Due to EY's independence policy, the create and send checklist is disabled
    \r\n as the client no longer has access to this report period.
    \r\n Please email 'reitsuite@ey.com' for additional support. \r\n
    \r\n }\r\n Create & Send\r\n \r\n \r\n Create Only\r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nArqcCreateChecklistModal.propTypes = {\r\n showModal: PropTypes.bool,\r\n handleSubmit: PropTypes.func,\r\n handleClientFieldChanged: PropTypes.func,\r\n handlePopulatePreviousAnswersChanged: PropTypes.func,\r\n handleEyFieldChanged: PropTypes.func,\r\n isSendEmailEnabled: PropTypes.bool,\r\n isPreviousAnswersPopulated: PropTypes.bool,\r\n setCreateAction: PropTypes.func,\r\n handleCancelAction: PropTypes.func,\r\n error: PropTypes.string,\r\n handleDismissErrorMessage: PropTypes.func,\r\n clientEmailsRef: PropTypes.func,\r\n checklist: PropTypes.object,\r\n clientEmail: PropTypes.array,\r\n handleRollForwardComment: PropTypes.func,\r\n externalUserVisibilityData: PropTypes.array\r\n};\r\n\r\nexport default reduxForm({\r\n form: \"arqccreatechecklistmodal\",\r\n enableReinitialize: true,\r\n})(ArqcCreateChecklistModal);\r\n","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromReitApi as fetch } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport { download, decodeURIComponentSafe } from '../scripts/fileHelpers';\r\n\r\n/**\r\n * Uploads a file for the period\r\n * @param {number} periodId The period ID\r\n * @param {any} file The file to upload\r\n * @returns {function} A function that returns a Promise\r\n */\r\nexport function uploadFile(periodId, file) {\r\n let formData = new FormData();\r\n formData.append(\"periodId\", periodId);\r\n formData.append(\"file\", file);\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch('/files',\r\n {\r\n method: 'POST',\r\n body: formData\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n } else {\r\n return response.json();\r\n }\r\n }).then(json => {\r\n\r\n if (json) {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.UPLOAD_FILE_FAILURE, json);\r\n } else {\r\n dispatch({ type: actions.UPLOAD_FILE_SUCCESS, [pendingTask]: end });\r\n }\r\n }).catch(error => {\r\n\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.UPLOAD_FILE_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Uploads a file for the REIT\r\n * @param {number} reitId The REIT ID\r\n * @param {any} file The file to upload\r\n * @returns {function} A function that returns a Promise\r\n */\r\nexport function uploadReitFile(reitId, file) {\r\n let formData = new FormData();\r\n formData.append(\"reitId\", reitId);\r\n formData.append(\"file\", file);\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch('/files/reit',\r\n {\r\n method: 'POST',\r\n body: formData\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n } else {\r\n return response.json();\r\n }\r\n }).then(json => {\r\n\r\n if (json) {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.UPLOAD_FILE_FAILURE, json);\r\n } else {\r\n dispatch({ type: actions.UPLOAD_REIT_FILE_SUCCESS, [pendingTask]: end });\r\n }\r\n }).catch(error => {\r\n\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.UPLOAD_FILE_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Gets the uploaded files for the period\r\n * @param {number} periodId The period ID\r\n * @returns {function} A function that returns a Promise\r\n */\r\nexport function fetchUploadedFiles(periodId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/files?periodid=${periodId}`).then(response => {\r\n return response.json();\r\n }).then(files => {\r\n if (actionHelpers.isErrorResponse(files)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_FILES_FAILURE, files);\r\n }\r\n dispatch({ type: actions.LOAD_FILES_SUCCESS, files, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_FILES_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Gets the uploaded files for the REIT\r\n * @param {number} reitId The REIT ID\r\n * @returns {function} A function that returns a Promise\r\n */\r\nexport function fetchUploadedReitFiles(reitId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/files/reit?reitId=${reitId}`).then(response => {\r\n return response.json();\r\n }).then(files => {\r\n if (actionHelpers.isErrorResponse(files)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_REIT_FILES_FAILURE, files);\r\n }\r\n dispatch({ type: actions.LOAD_REIT_FILES_SUCCESS, files, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_REIT_FILES_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Downloads a file belonging to a period\r\n * @param {number} periodId The period ID\r\n * @param {any} fileName The file name\r\n * @returns {any} A Promise with the download\r\n */\r\nexport function downloadFile(periodId, fileName) {\r\n return fetch(`/files?periodid=${periodId}&fileName=${fileName}`)\r\n .then(function (response) {\r\n return response.blob().then(function (blob) {\r\n download(blob, decodeURIComponentSafe(fileName,1));\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Downloads a file belonging to a REIT\r\n * @param {number} reitId The REIT ID\r\n * @param {any} fileName The file name\r\n * @returns {any} A Promise with the download\r\n */\r\nexport function downloadReitFile(reitId, fileName) {\r\n return fetch(`/files/reit?reitId=${reitId}&fileName=${fileName}`)\r\n .then(function (response) {\r\n return response.blob().then(function (blob) {\r\n download(blob, decodeURIComponentSafe(fileName,1));\r\n });\r\n });\r\n}\r\n\r\n\r\n/**\r\n * Downloads a file belonging to a period\r\n * @param {number} checklistFileAttachmentId The id of the checklist file\r\n * @param {any} fileName The file name\r\n * @param {string} authHeader The Authorization header. If not supplied it will be generated.\r\n * @returns {any} A Promise with the download\r\n */\r\nexport function downloadChecklistFile(checklistFileAttachmentId, fileName, authHeader) {\r\n return fetch(`/files/checklistFiles/${checklistFileAttachmentId}?fileName=${fileName}`, {\r\n headers: (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n })\r\n .then(function (response) {\r\n return response.blob().then(function (blob) {\r\n download(blob, decodeURIComponentSafe(fileName,1));\r\n });\r\n });\r\n}\r\n\r\nexport function downloadCustomQuestionAttachment(clientId,checklistFileAttachmentGuid, fileName,authHeader) {\r\n return fetch(`/customChecklistTemplate/downloadCustomQuestionAttachment?clientId=${clientId}&attachmentName=${fileName}&attachmentGUID=${checklistFileAttachmentGuid}`, {\r\n headers: (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n })\r\n .then(function (response) {\r\n return response.blob().then(function (blob) {\r\n download(blob, decodeURIComponentSafe(fileName,1));\r\n });\r\n });\r\n }\r\n\r\n export function downloadChecklistQuestionnaireAttachment(checklistId,clientId,checklistFileAttachmentGuid, fileName,authHeader) {\r\n return fetch(`/customChecklistTemplate/DownloadChecklistQuestionnaireAttachment?checklistId=${checklistId}&clientId=${clientId}&attachmentName=${fileName}&attachmentGUID=${checklistFileAttachmentGuid}`, {\r\n headers: (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n })\r\n .then(function (response) {\r\n return response.blob().then(function (blob) {\r\n download(blob, decodeURIComponentSafe(fileName,1));\r\n });\r\n });\r\n }\r\n\r\n\r\n/**\r\n * Dispatches the UPLOAD_FILE_CLEAR action\r\n * @returns {function} A function that dispatches the UPLOAD_FILE_CLEAR action\r\n */\r\nexport function clearUploadFileSuccess() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.UPLOAD_FILE_CLEAR });\r\n };\r\n}\r\n\r\n/**\r\n * Deletes a file belonging to a period\r\n * @param {number} periodId The period ID\r\n * @param {any} fileName The file name\r\n * @returns {any} A Promise with the response content\r\n */\r\nexport function deleteFile(periodId, fileName) {\r\n let body = JSON.stringify({ periodId, fileName: decodeURI(decodeURIComponentSafe(fileName,1)) });\r\n return fetch('/files',\r\n {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'DELETE',\r\n body: body\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n } else {\r\n return response.json();\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Deletes a file belonging to a REIT\r\n * @param {number} reitId The REIT ID\r\n * @param {any} fileName The file name\r\n * @returns {any} A Promise with the response content\r\n */\r\nexport function deleteReitFile(reitId, fileName) {\r\n let body = JSON.stringify({ reitId, fileName: decodeURI(decodeURIComponentSafe(fileName,1)) });\r\n return fetch('/files/reit',\r\n {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'DELETE',\r\n body: body\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n } else {\r\n return response.json();\r\n }\r\n });\r\n}","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { Field, reduxForm, SubmissionError } from \"redux-form\";\r\nimport { Header, Label, Button, Dropdown, Input } from \"semantic-ui-react\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\n\r\nimport $ from \"jquery\";\r\n\r\nimport {\r\n MotifIcon,\r\n MotifButton,\r\n MotifDropdown,\r\n MotifDropdownItem,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n} from \"@ey-xd/motif-react\";\r\nconst ChecklistSendModal = ({\r\n handleSubmit,\r\n handleClientFieldChanged,\r\n handleEyFieldChanged,\r\n showModal,\r\n showSendModal,\r\n isSendCheckListEmailEnabled,\r\n error,\r\n handleDismissErrorMessage,\r\n clientEmailsRef,\r\n checklist,\r\n}) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n const validateEmails = () => {\r\n let sendToFieldValue = $(\"#sendToField :input\").val();\r\n\r\n if (sendToFieldValue !== \"\") {\r\n throw new SubmissionError({\r\n _error: \"'\" + sendToFieldValue + \"' is not a valid email address.\",\r\n });\r\n }\r\n\r\n let eyTeamMemberFieldValue = $(\"#eyTeamMemberField :input\").val();\r\n\r\n if (eyTeamMemberFieldValue !== \"\") {\r\n throw new SubmissionError({\r\n _error:\r\n \"'\" + eyTeamMemberFieldValue + \"' is not a valid email address.\",\r\n });\r\n }\r\n\r\n return handleSubmit();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Send checklist\r\n \r\n \r\n\r\n
    \r\n \r\n {formHelpers.showSubmissionError(error, handleDismissErrorMessage)}\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n Send\r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nChecklistSendModal.propTypes = {\r\n showModal: PropTypes.bool,\r\n handleSubmit: PropTypes.func,\r\n handleClientFieldChanged: PropTypes.func,\r\n handleEyFieldChanged: PropTypes.func,\r\n isSendCheckListEmailEnabled: PropTypes.bool,\r\n showSendModal: PropTypes.func,\r\n error: PropTypes.func,\r\n handleDismissErrorMessage: PropTypes.func,\r\n clientEmailsRef: PropTypes.func,\r\n checklist: PropTypes.object,\r\n};\r\n\r\nexport default reduxForm({\r\n form: \"checklistsendmodal\",\r\n enableReinitialize: true,\r\n})(ChecklistSendModal);\r\n","export const TabProperty = [\r\n {\r\n \"title\": \"Discrepancies\",\r\n \"id\": \"discrepancies\",\r\n \"badgeClassName\": \"template-question-comment-error-badge\"\r\n },\r\n {\r\n \"title\": \"Attachments\",\r\n \"id\": \"attachments\",\r\n \"badgeClassName\": \"\"\r\n },\r\n {\r\n \"title\": \"Comments\",\r\n \"id\": \"comments\",\r\n \"badgeClassName\": \"template-question-comment-alt-badge\"\r\n }\r\n];\r\n\r\nexport const TabsDefaultCount = [\r\n {\r\n \"counter\": \"Discrepancies\",\r\n \"totalCount\":0\r\n },\r\n {\r\n \"counter\": \"Attachments\",\r\n \"totalCount\":0\r\n },\r\n {\r\n \"counter\": \"Comments\",\r\n \"totalCount\":0\r\n }\r\n];\r\n\r\nexport const ChecklistCountRequest = {\r\n GetCountOfAttachments: true,\r\n GetCountOfDiscrepencies: true,\r\n GetCountOfComments: true,\r\n };\r\n","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { SubmissionError, reset } from \"redux-form\";\r\nimport * as checklistActions from \"../../actions/checklistActions\";\r\nimport * as fileActions from \"../../actions/fileActions\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport * as actionHelpers from \"../../scripts/actionHelpers\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport ChecklistSendModal from \"../../components/reits/ChecklistSendModal\";\r\nimport { formatCurrency, formatPercent } from \"../../scripts/formFormatters\";\r\nimport * as amenities from \"../../constants/amenities\";\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport * as customQuestionActions from \"../../actions/customQuestionActions\";\r\nimport PropertiesContainer from \"./PropertiesContainer\";\r\nimport { store } from \"../../store/configureStore\";\r\nimport { SearchResults } from \"semantic-ui-react\";\r\nimport * as checklistCountRequest from \"../../constants/checklistNavigationTabs\";\r\nimport * as Constants from \"../../constants/other\";\r\n/**\r\n * ChecklistPageBase container component\r\n * @extends {React.Component}\r\n */\r\nexport class ChecklistPageBase extends React.Component {\r\n /**\r\n * Creates a new PsqChecklistPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n initialClientEmailTo: null,\r\n initialAccountantEmailTo: null,\r\n showDetails: false,\r\n showSendModal: false,\r\n activeItem: null,\r\n showConfirmationModal: false,\r\n showCreateModal: false,\r\n createData: null,\r\n checklist: null,\r\n disabledSections: [],\r\n isSendCheckListEmailEnabled: false,\r\n confirmDeleteAction: null,\r\n createAction: null,\r\n initialValues: null,\r\n taxableReitSubsidiaries: [],\r\n customQuestionnaireTemplates: [],\r\n createChecklistCustomErrorMessage: \"\",\r\n resetDropDowns: false,\r\n };\r\n\r\n this.handleShowDetails = this.handleShowDetails.bind(this);\r\n this.handleShowAllQuestions = this.handleShowAllQuestions.bind(this);\r\n this.handleItemAnswered = this.handleItemAnswered.bind(this);\r\n this.showConfirmationModal = this.showConfirmationModal.bind(this);\r\n this.handleSaveChecklist = this.handleSaveChecklist.bind(this);\r\n this.showCreateModal = this.showCreateModal.bind(this);\r\n this.hideCreateModal = this.hideCreateModal.bind(this);\r\n this.handleCancelAction = this.handleCancelAction.bind(this);\r\n this.handleCreateAction = this.handleCreateAction.bind(this);\r\n this.handleConfirmationAction = this.handleConfirmationAction.bind(this);\r\n this.setChecklistState = this.setChecklistState.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.showSendModal = this.showSendModal.bind(this);\r\n this.handleSendField = this.handleSendField.bind(this);\r\n this.handleEySendField = this.handleEySendField.bind(this);\r\n this.handleComments = this.handleComments.bind(this);\r\n this.showDeleteModal = this.showDeleteModal.bind(this);\r\n this.handleCancelDelete = this.handleCancelDelete.bind(this);\r\n this.onConfirmDelete = this.onConfirmDelete.bind(this);\r\n this.setCreateAction = this.setCreateAction.bind(this);\r\n this.handleArqcDetailsFormSubmit =\r\n this.handleArqcDetailsFormSubmit.bind(this);\r\n this.getArqcDetailsInitialValues =\r\n this.getArqcDetailsInitialValues.bind(this);\r\n\r\n this.handleSaveComment = this.handleSaveComment.bind(this);\r\n\r\n this.handleDeleteComment = this.handleDeleteComment.bind(this);\r\n this.handleDeleteCommentExternal =\r\n this.handleDeleteCommentExternal.bind(this);\r\n\r\n this.handleEditComment = this.handleEditComment.bind(this);\r\n this.handleEditCommentExternal = this.handleEditCommentExternal.bind(this);\r\n\r\n this.handleDownloadChecklistFile =\r\n this.handleDownloadChecklistFile.bind(this);\r\n this.handleDownloadChecklistFileExternal =\r\n this.handleDownloadChecklistFileExternal.bind(this);\r\n\r\n this.handleDeleteAttachment = this.handleDeleteAttachment.bind(this);\r\n this.handleDeleteAttachmentExternal =\r\n this.handleDeleteAttachmentExternal.bind(this);\r\n\r\n this.getPsqQuestionnaireTitle = this.getPsqQuestionnaireTitle.bind(this);\r\n this.getArqcQuestionnaireTitle = this.getArqcQuestionnaireTitle.bind(this);\r\n\r\n this.handleShowUnansweredQuestions =\r\n this.handleShowUnansweredQuestions.bind(this);\r\n this.getServiceQuestionJSON = this.getServiceQuestionJSON.bind(this);\r\n }\r\n\r\n handleDownloadChecklistFileExternal(checklistFileAttachmentId, fileName) {\r\n return this.handleDownloadChecklistFile(\r\n checklistFileAttachmentId,\r\n fileName,\r\n true\r\n );\r\n }\r\n\r\n handleDownloadChecklistFile(\r\n checklistFileAttachmentId,\r\n fileName,\r\n isExternal = false\r\n ) {\r\n // Download checklist file attachment\r\n return fileActions.downloadChecklistFile(\r\n checklistFileAttachmentId,\r\n fileName,\r\n isExternal && this.props.checklistId\r\n ? actionHelpers.buildAuthHeader(\r\n this.props.checklistId,\r\n this.state.checklist.checklistTypeID\r\n )\r\n : null\r\n );\r\n }\r\n\r\n handleSaveComment(\r\n questionId,\r\n commentText,\r\n isExternal = false,\r\n isUnregisteredExternalUser = false\r\n ) { \r\n const request = {\r\n checklistId: this.state.checklist.checklistID,\r\n checklistTypeId: this.state.checklist.checklistTypeID,\r\n questionId: questionId,\r\n comment: commentText,\r\n IsExternalTempUser: isUnregisteredExternalUser,\r\n };\r\n\r\n // Save comment and put returned comments back into checklist state\r\n return store\r\n .dispatch(\r\n checklistActions.saveChecklistComment(\r\n request,\r\n isExternal\r\n ? actionHelpers.buildAuthHeader(\r\n this.props.checklistId,\r\n this.state.checklist.checklistTypeID\r\n )\r\n : null\r\n )\r\n )\r\n .then((comments) => {\r\n const checklistGuid =\r\n isExternal && this.props.checklistId ? this.props.checklistId : null;\r\n\r\n const checklistType =\r\n isExternal && this.props.checklistId\r\n ? this.state.checklist.checklistTypeID\r\n : null;\r\n\r\n this.props.checklistActions.fetchQuestionComments(\r\n this.props.client.id,\r\n this.state.checklist.checklistID,\r\n checklistGuid,\r\n checklistType\r\n );\r\n\r\n this.props.checklistActions.fetchChecklistNavCounts(\r\n this.props.client.id,\r\n this.state.checklist.checklistID,\r\n checklistCountRequest.ChecklistCountRequest,\r\n checklistGuid,\r\n checklistType\r\n );\r\n });\r\n }\r\n\r\n handleEditCommentExternal(questionId, commentId, commentText) {\r\n return this.handleEditComment(questionId, commentId, commentText, true);\r\n }\r\n\r\n handleEditComment(questionId, commentId, commentText, isExternal = false) {\r\n // copy the checklist so we don't mutate state of prop\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n\r\n // Recursively find question within items and children\r\n const findQuestion = (items) => {\r\n let foundQuestion = items.find((x) => x.id == questionId);\r\n if (foundQuestion) {\r\n return foundQuestion;\r\n }\r\n\r\n for (let x = 0; x < items.length; x++) {\r\n const item = items[x];\r\n if (item.children && item.children.length > 0) {\r\n foundQuestion = findQuestion(item.children);\r\n if (foundQuestion) {\r\n return foundQuestion;\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n };\r\n\r\n const question = findQuestion(\r\n checklist.content.find((x) => x.id === this.state.activeItem.id).items\r\n );\r\n\r\n // Save comment and put returned comments back into checklist state\r\n return store\r\n .dispatch(\r\n checklistActions.editSavedChecklistComment(\r\n this.state.checklist.checklistTypeID,\r\n this.state.checklist.checklistID,\r\n questionId,\r\n commentText,\r\n commentId,\r\n isExternal\r\n ? actionHelpers.buildAuthHeader(\r\n this.props.checklistId,\r\n this.state.checklist.checklistTypeID\r\n )\r\n : null\r\n )\r\n )\r\n .then((comments) => {\r\n question.comments = comments;\r\n this.setState({ checklist: checklist });\r\n });\r\n }\r\n\r\n handleDeleteCommentExternal(questionId, commentId) {\r\n return this.handleDeleteComment(questionId, commentId, true);\r\n }\r\n\r\n handleDeleteComment(questionId, commentId, isExternal = false) {\r\n const checklistGuid =\r\n isExternal && this.props.checklistId ? this.props.checklistId : null;\r\n\r\n const checklistType =\r\n isExternal && this.props.checklistId\r\n ? this.state.checklist.checklistTypeID\r\n : null;\r\n\r\n return store\r\n .dispatch(\r\n checklistActions.deleteComment(\r\n commentId,\r\n this.props.client.id,\r\n checklistGuid,\r\n checklistType\r\n )\r\n )\r\n .then((comments) => {\r\n this.props.checklistActions.fetchQuestionComments(\r\n this.props.client.id,\r\n this.state.checklist.checklistID,\r\n checklistGuid,\r\n checklistType\r\n );\r\n\r\n this.props.checklistActions.fetchChecklistNavCounts(\r\n this.props.client.id,\r\n this.state.checklist.checklistID,\r\n checklistCountRequest.ChecklistCountRequest,\r\n checklistGuid,\r\n checklistType\r\n );\r\n });\r\n }\r\n\r\n handleDeleteAttachmentExternal(checklistAttachmentId) {\r\n return this.handleDeleteAttachment(checklistAttachmentId, true);\r\n }\r\n\r\n handleDeleteAttachment(checklistAttachmentId, isExternal = false) {\r\n return store.dispatch(\r\n checklistActions.deleteChecklistAttachment(\r\n checklistAttachmentId,\r\n this.state.checklist.checklistTypeID,\r\n this.state.checklist.checklistID,\r\n null,\r\n isExternal && this.props.checklistId\r\n ? actionHelpers.buildAuthHeader(\r\n this.props.checklistId,\r\n this.state.checklist.checklistTypeID\r\n )\r\n : null\r\n )\r\n );\r\n }\r\n\r\n handleComments(e) {\r\n // copy the checklist so we don't mutate state of prop\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n\r\n const comments = [e.target.value];\r\n checklist.content.find((x) => x.id === this.state.activeItem.id).comments =\r\n comments;\r\n\r\n this.setState({ checklist: checklist });\r\n }\r\n\r\n handleShowDetails() {\r\n if (this.state.showDetails) {\r\n this.setState({ showAllQuestions: true });\r\n }\r\n this.setState({ showDetails: !this.state.showDetails });\r\n\r\n if (\r\n this.state.checklist !== undefined &&\r\n this.state.checklist.content != undefined &&\r\n this.state.checklist.content.length > 0\r\n ) {\r\n this.setState({ activeItem: this.state.checklist.content[0] });\r\n }\r\n }\r\n\r\n // Used to be \"Show All Questions\" with a default of false, now it is\r\n // \"Hide Unchanged Answers\" with a default of true (i.e. showAllQuestions = true when Hide Unchanged Answers is toggled OFF)\r\n handleShowAllQuestions() {\r\n this.setState({ showAllQuestions: !this.state.showAllQuestions });\r\n }\r\n\r\n // Used to be \"Show All Questions\" with a default of false\r\n // When turned ON (true), it should show only Unanswered Questions\r\n handleShowUnansweredQuestions() {\r\n this.setState({\r\n showUnansweredQuestions: !this.state.showUnansweredQuestions,\r\n });\r\n }\r\n\r\n showConfirmationModal() {\r\n this.setState({ showConfirmationModal: !this.state.showConfirmationModal });\r\n }\r\n\r\n showCreateModal() {\r\n this.props.customQuestionActions.fetchCustomQuestionnaireTemplates(\r\n this.props.client.id,\r\n true\r\n );\r\n this.setState({\r\n showCreateModal: true,\r\n selectedPropertyId: 0,\r\n selectedPropertyName: \"\",\r\n selectedPropertyType: \"\",\r\n clientEmail: [],\r\n isCreateOnlyEnabled: false,\r\n createChecklistCustomErrorMessage: \"\",\r\n resetDropDowns: !this.state.resetDropDowns,\r\n });\r\n }\r\n\r\n hideCreateModal() {\r\n this.setState({ showCreateModal: false });\r\n store.dispatch(reset(\"psqcreatechecklistmodal\"));\r\n store.dispatch(reset(\"arqccreatechecklistmodal\"));\r\n }\r\n\r\n handleItemAnswered(item, parentItem, e, data) {\r\n let value = null;\r\n if (data === undefined) {\r\n value = e.target.value;\r\n } else if (data.value !== undefined) {\r\n value = data.value;\r\n } else {\r\n value = data.target.value;\r\n }\r\n\r\n // copy the checklist so we don't mutate state of prop\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n\r\n if (item.itemType.toLowerCase() === \"arqcexhibitbmortgagetable\") {\r\n let selectedAnswers = checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id).selectedAnswers;\r\n\r\n if (selectedAnswers === undefined || selectedAnswers === null) {\r\n selectedAnswers = [\"\", \"\", \"\"];\r\n }\r\n\r\n const lastCharOfName = e.target.name.substring(e.target.name.length - 1);\r\n switch (lastCharOfName) {\r\n case \"0\":\r\n selectedAnswers = [value, selectedAnswers[1], selectedAnswers[2]];\r\n break;\r\n case \"1\":\r\n selectedAnswers = [selectedAnswers[0], value, selectedAnswers[2]];\r\n break;\r\n case \"2\":\r\n selectedAnswers = [selectedAnswers[0], selectedAnswers[1], value];\r\n break;\r\n }\r\n\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id).selectedAnswers = selectedAnswers;\r\n }\r\n\r\n if (item.itemType.toLowerCase() === \"arqcstockfmvtable\") {\r\n if (\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id).selectedAnswers.length === 0\r\n ) {\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id).selectedAnswers =\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id).defaultAnswers;\r\n }\r\n\r\n if (e.field === \"fmv\") {\r\n value = formatCurrency(value);\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id)\r\n .selectedAnswers.find(\r\n (x) => x.individualShareholder === e.individualShareholder\r\n ).fmvOfStockOwned = value;\r\n } else if (e.field === \"percent\") {\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id)\r\n .selectedAnswers.find(\r\n (x) => x.individualShareholder === e.individualShareholder\r\n ).percentOfStockOwned = value;\r\n }\r\n } else if (\r\n item.itemType.toLowerCase() === \"psqsection2propertymanager\" ||\r\n item.itemType.toLowerCase() === \"psqsection2additionalservices\"\r\n ) {\r\n let selectedAnswers = checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id).selectedAnswers;\r\n\r\n if (e.target.type === \"text\") {\r\n selectedAnswers[0] = value;\r\n\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id).selectedAnswers =\r\n selectedAnswers;\r\n } else if (e.target.type === \"checkbox\") {\r\n let doesExist = selectedAnswers.find((x) => x === value);\r\n\r\n if (e.target.checked === true) {\r\n if (!doesExist) {\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id)\r\n .selectedAnswers.push(value);\r\n }\r\n } else if (e.target.checked === false) {\r\n if (doesExist) {\r\n for (let i = 0; i < selectedAnswers.length; i++) {\r\n if (selectedAnswers[i] === value) {\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id)\r\n .selectedAnswers.splice(i, 1);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else if (item.itemType.toLowerCase() === \"plaintext\") {\r\n if (parentItem === undefined) {\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id).selectedAnswers = [value];\r\n } else {\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === parentItem.id)\r\n .children.find((x) => x.id === item.id).selectedAnswers = [value];\r\n }\r\n } else if (\r\n item.itemType.toLowerCase() === \"menu\" &&\r\n item.isMultiSelect === false\r\n ) {\r\n if (parentItem === undefined) {\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id).selectedAnswers = [value];\r\n } else {\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === parentItem.id)\r\n .children.find((x) => x.id === item.id).selectedAnswers = [value];\r\n }\r\n } else if (\r\n item.itemType.toLowerCase() === \"menu\" &&\r\n item.isMultiSelect === true\r\n ) {\r\n if (parentItem === undefined) {\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id).selectedAnswers = value;\r\n } else {\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === parentItem.id)\r\n .children.find((x) => x.id === item.id).selectedAnswers = value;\r\n }\r\n } else if (\r\n item.itemType.toLowerCase() === \"button\" &&\r\n item.isMultiSelect === false\r\n ) {\r\n if (parentItem === undefined) {\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id).selectedAnswers = [value];\r\n } else {\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === parentItem.id)\r\n .children.find((x) => x.id === item.id).selectedAnswers = [value];\r\n }\r\n } else if (\r\n item.itemType.toLowerCase() === \"button\" &&\r\n item.isMultiSelect === true\r\n ) {\r\n if (parentItem === undefined) {\r\n let selectedAnswers = checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id).selectedAnswers;\r\n let doesExist = selectedAnswers.find((x) => x === value);\r\n\r\n if (e.target.checked === true) {\r\n if (!doesExist) {\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id)\r\n .selectedAnswers.push(value);\r\n }\r\n } else if (e.target.checked === false) {\r\n if (doesExist) {\r\n for (let i = selectedAnswers.length - 1; i >= 0; i--) {\r\n if (selectedAnswers[i] === value) {\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === item.id)\r\n .selectedAnswers.splice(i, 1);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n let selectedAnswers = checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === parentItem.id)\r\n .children.find((x) => x.id === item.id).selectedAnswers;\r\n let doesExist = selectedAnswers.find((x) => x === value);\r\n\r\n if (e.target.checked === true) {\r\n if (!doesExist) {\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === parentItem.id)\r\n .children.find((x) => x.id === item.id)\r\n .selectedAnswers.push(value);\r\n }\r\n } else if (e.target.checked === false) {\r\n if (doesExist) {\r\n for (let i = selectedAnswers.length - 1; i >= 0; i--) {\r\n if (selectedAnswers[i] === value) {\r\n checklist.content\r\n .find((x) => x.id === this.state.activeItem.id)\r\n .items.find((x) => x.id === parentItem.id)\r\n .children.find((x) => x.id === item.id)\r\n .selectedAnswers.splice(i, 1);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.setState({ checklist: checklist });\r\n this.disableSections(checklist);\r\n }\r\n\r\n disableSections(checklist) {\r\n let disabledSections = JSON.parse(\r\n JSON.stringify(this.state.disabledSections)\r\n );\r\n if (\r\n checklist.content !== undefined &&\r\n checklist.content.length !== undefined\r\n ) {\r\n for (let s = 0; s < checklist.content.length; s++) {\r\n const section = checklist.content[s];\r\n if (\r\n section.items !== undefined &&\r\n (section.type === undefined ||\r\n section.type == null ||\r\n section.type === \"standardSection\")\r\n ) {\r\n for (let i = 0; i < section.items.length; i++) {\r\n const item = section.items[i];\r\n disabledSections = this.checkItemDisableSection(\r\n item,\r\n disabledSections,\r\n checklist\r\n );\r\n if (item.children !== undefined) {\r\n for (let c = 0; c < item.children.length; c++) {\r\n disabledSections = this.checkItemDisableSection(\r\n item.children[c],\r\n disabledSections,\r\n checklist\r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (section.requireService !== undefined) {\r\n let disableSection = true;\r\n for (let i = 0; i < this.props.services.length; i++) {\r\n if (\r\n this.props.services[i].toLowerCase() ===\r\n section.requireService.toLowerCase()\r\n ) {\r\n disableSection = false;\r\n }\r\n }\r\n\r\n if (disableSection) {\r\n disabledSections.push(section.id);\r\n }\r\n }\r\n }\r\n\r\n this.setState({ disabledSections: disabledSections });\r\n }\r\n }\r\n\r\n checkItemDisableSection(item, disabledSections, checklist) {\r\n const defaultAnswers = item.defaultAnswers;\r\n const selectedAnswers = item.selectedAnswers;\r\n const controlSections = item.controlSections;\r\n if (\r\n controlSections !== undefined &&\r\n controlSections !== null &&\r\n controlSections.length > 0\r\n ) {\r\n for (let i = 0; i < controlSections.length; i++) {\r\n const section = controlSections[i];\r\n const checklistSectionId = checklist?.content?.filter(\r\n (c) => c.checklistTemplateSectionID === section.sectionId\r\n )[0]?.id;\r\n const index = disabledSections.indexOf(checklistSectionId);\r\n if (\r\n (selectedAnswers === undefined ||\r\n selectedAnswers === null ||\r\n selectedAnswers.length === 0) &&\r\n defaultAnswers !== undefined &&\r\n defaultAnswers !== null &&\r\n defaultAnswers.length > 0\r\n ) {\r\n // check default answers\r\n for (let a = 0; a < section.answersEnable.length; a++) {\r\n if (\r\n defaultAnswers.find((x) => x === section.answersEnable[a]) !==\r\n undefined\r\n ) {\r\n // enable section\r\n if (index >= 0) {\r\n disabledSections.splice(index, 1);\r\n }\r\n break;\r\n } else {\r\n // disable section\r\n if (index === undefined || index < 0) {\r\n disabledSections.push(checklistSectionId);\r\n }\r\n }\r\n }\r\n } else if (\r\n selectedAnswers !== undefined &&\r\n selectedAnswers !== null &&\r\n selectedAnswers.length > 0\r\n ) {\r\n // check selected answers\r\n for (let a = 0; a < section.answersEnable.length; a++) {\r\n if (\r\n selectedAnswers.find((x) => x === section.answersEnable[a]) !==\r\n undefined\r\n ) {\r\n // enable section\r\n if (index >= 0) {\r\n disabledSections.splice(index, 1);\r\n }\r\n break;\r\n } else {\r\n // disable section\r\n if (index === undefined || index < 0) {\r\n disabledSections.push(checklistSectionId);\r\n }\r\n }\r\n }\r\n } else {\r\n // disable section\r\n if (index === undefined || index < 0) {\r\n disabledSections.push(checklistSectionId);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return disabledSections;\r\n }\r\n\r\n setCreateAction(action) {\r\n this.setState({ createAction: action });\r\n }\r\n\r\n handleCancelAction() {\r\n this.setState(\r\n {\r\n createData: null,\r\n isSendEmailEnabled: false,\r\n showDetails: false,\r\n selectedPropertyId: 0,\r\n selectedPropertyName: \"\",\r\n selectedPropertyType: \"\",\r\n },\r\n this.hideCreateModal\r\n );\r\n }\r\n\r\n handleCreateAction() {\r\n let createAction = this.state.createAction;\r\n this.setState({ createAction: null });\r\n\r\n let createData = JSON.parse(JSON.stringify(this.state.createData));\r\n if (createData === null) {\r\n //Occurs on subsequent creations of ARQC, because we set createData to null below\r\n createData = {\r\n checklistTypeID: \"ARQC\",\r\n clientID: this.props.client.id,\r\n reitID: this.props.reit.reitid,\r\n reportPeriodID: this.props.periodId,\r\n propertyID: null,\r\n clientEmailTo: \"\",\r\n accountantEmailTo: \"\",\r\n propertyType: \"NotSelected\",\r\n checklistStateID: \"Created\",\r\n };\r\n }\r\n\r\n createData.clientID = this.props.client.id;\r\n createData.reitID = this.props.reit.reitid;\r\n\r\n if (createAction === \"CREATEANDSEND\") {\r\n createData.sendNotification = true;\r\n if (!createData.clientID || !createData.reitID) {\r\n formHelpers.generateSubmissionError();\r\n return;\r\n }\r\n }\r\n\r\n this.props.checklistActions\r\n .createChecklist(createData)\r\n .then((data) => {\r\n // Handle custom error\r\n if (\r\n data &&\r\n data.checklist &&\r\n data.checklist.standardProcessExecutionResponse &&\r\n !data.checklist.standardProcessExecutionResponse.success\r\n ) {\r\n this.setState({\r\n createChecklistCustomErrorMessage:\r\n data.checklist.standardProcessExecutionResponse.errorMessage,\r\n });\r\n store.dispatch(reset(\"psqcreatechecklistmodal\"));\r\n store.dispatch(reset(\"arqccreatechecklistmodal\"));\r\n } else {\r\n this.props.reitActions.fetchReit(this.props.reit.reitid);\r\n this.setState({ createData: null, showDetails: false }); // TRIPS UP SUBSEQUENT ARQC\r\n this.reloadSummaryData();\r\n this.hideCreateModal();\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ createData: null, showDetails: false }); // TRIPS UP SUBSEQUENT ARQC\r\n this.reloadSummaryData();\r\n this.hideCreateModal();\r\n });\r\n }\r\n\r\n handleConfirmationAction(e) {\r\n if (!e || e.target.value === \"CANCEL\") {\r\n this.showConfirmationModal();\r\n return;\r\n }\r\n\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n checklist.checklistStateID = e.target.value;\r\n this.setState({ checklist: checklist });\r\n if (e.target.value === \"PENDINGEYREVIEW\") {\r\n checklist.sendNotification = true;\r\n }\r\n\r\n this.props.checklistActions.saveChecklist(checklist, true);\r\n this.showConfirmationModal();\r\n }\r\n\r\n saveChecklist(checklist, shouldRefresh) {\r\n checklist.clientID = this.props.client.id;\r\n checklist.reitID = this.props.reit.reitid;\r\n return this.props.checklistActions.saveChecklist(checklist, shouldRefresh);\r\n }\r\n\r\n revertChecklistState(checklist) {\r\n this.props.checklistActions.revertChecklistState(checklist);\r\n }\r\n\r\n saveExternalChecklist(checklist, checklistId, checklistType) {\r\n this.props.checklistActions.saveChecklist(\r\n checklist,\r\n false,\r\n actionHelpers.buildAuthHeader(checklistId, checklistType),\r\n true\r\n );\r\n }\r\n\r\n checkSendFields(checklist) {\r\n if (checklist.clientEmailTo && checklist.accountantEmailTo) {\r\n if (\r\n checklist.clientEmailTo.length > 0 &&\r\n checklist.accountantEmailTo.length > 0\r\n ) {\r\n let sendToEmailValidation = false;\r\n const sendToEmailsList = checklist.clientEmailTo.split(\";\");\r\n for (let email of sendToEmailsList) {\r\n if (formValidators.email(email.trim()) === \"Invalid email address\") {\r\n sendToEmailValidation = true;\r\n }\r\n }\r\n\r\n const eyEmailsList = checklist.accountantEmailTo.split(\";\");\r\n for (let email of eyEmailsList) {\r\n if (formValidators.email(email.trim()) === \"Invalid email address\") {\r\n sendToEmailValidation = true;\r\n }\r\n }\r\n\r\n if (sendToEmailValidation) {\r\n this.setState({ isSendCheckListEmailEnabled: false });\r\n } else {\r\n this.setState({ isSendCheckListEmailEnabled: true });\r\n }\r\n } else {\r\n this.setState({ isSendCheckListEmailEnabled: false });\r\n }\r\n } else {\r\n this.setState({ isSendCheckListEmailEnabled: false });\r\n }\r\n }\r\n\r\n handleEySendField(e) {\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n\r\n if (Array.isArray(e)) {\r\n if (e.length > 0) {\r\n checklist.accountantEmailTo = e.join(\";\");\r\n } else {\r\n checklist.accountantEmailTo = \"\";\r\n }\r\n }\r\n\r\n this.checkSendFields(checklist);\r\n\r\n this.setState({ checklist: checklist });\r\n }\r\n\r\n handleSendField(e) {\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n\r\n if (Array.isArray(e)) {\r\n if (e.length > 0) {\r\n checklist.clientEmailTo = e.join(\";\");\r\n } else {\r\n checklist.clientEmailTo = \"\";\r\n }\r\n }\r\n\r\n this.checkSendFields(checklist);\r\n\r\n this.setState({ checklist: checklist });\r\n }\r\n\r\n handleSubmit() {\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n checklist.sendNotification = true;\r\n this.saveChecklist(checklist, true);\r\n\r\n this.setState({ isSendCheckListEmailEnabled: false });\r\n this.showSendModal();\r\n }\r\n\r\n handleArqcDetailsFormSubmit(values) {\r\n let propertyAmenities = [];\r\n const reduxFormValue = values.propertyAmenities;\r\n\r\n if (Array.isArray(reduxFormValue)) {\r\n reduxFormValue.map((item) => {\r\n let propertyAmenity = {\r\n serviceName:((item.propertyAmenityName && (item.propertyAmenityName === \"Other\" || item.propertyAmenityName.value === \"Other\") && item.otherName) || (item.propertyAmenityName?.value ? item.propertyAmenityName.value : item.propertyAmenityName)), \r\n e: item.isProvidedByEmployee === true ? true : false,\r\n ik: item.isProvidedByIndependentContractor === true ? true : false,\r\n c: item.isProvidedByCustomary === true ? true : false,\r\n trs: item.isProvidedByTaxableReitSubsidiary === true ? true : false,\r\n };\r\n\r\n let options = [];\r\n if (Array.isArray(this.props.taxableReitSubsidiaries)) {\r\n this.props.taxableReitSubsidiaries.map(trs => options.push({ label: trs.trsName, value: trs.taxableREITSubsidiaryID }));\r\n }\r\n\r\n if (propertyAmenity.trs && item.taxableReitSubsidiary) {\r\n const selectedOption = options.find(option => option.value === parseInt(item.taxableReitSubsidiary?.value?item.taxableReitSubsidiary.value:item.taxableReitSubsidiary));\r\n if (selectedOption) {\r\n propertyAmenity.trsName = selectedOption.label;\r\n }\r\n }\r\n\r\n propertyAmenities.push(propertyAmenity);\r\n });\r\n }\r\n\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n\r\n if (\r\n checklist.content.find((x) => x.type === \"ArqcExhibitB\") !== undefined\r\n ) {\r\n checklist.content.find(\r\n (x) => x.type === \"ArqcExhibitB\"\r\n ).items[0].selectedAnswers = propertyAmenities;\r\n }\r\n\r\n this.setState({ checklist: checklist });\r\n this.disableSections(checklist);\r\n }\r\n\r\n getArqcDetailsInitialValues(checklist, isExternal) {\r\n store.dispatch(reset(\"checklist\"));\r\n checklist = JSON.parse(JSON.stringify(checklist));\r\n\r\n let propertyAmenities = [];\r\n let propertyAmenityCollection = null;\r\n\r\n const exhibitBSection = checklist.content.find(\r\n (x) => x.type === \"ArqcExhibitB\"\r\n );\r\n if (exhibitBSection && Array.isArray(exhibitBSection.items)) {\r\n const firstItem = exhibitBSection.items[0];\r\n if (firstItem) {\r\n propertyAmenityCollection = firstItem.selectedAnswers;\r\n }\r\n }\r\n\r\n if (Array.isArray(propertyAmenityCollection)) {\r\n propertyAmenityCollection.map((item) => {\r\n let amenityOption = amenities.options.find(\r\n (x) => x.value === item.serviceName\r\n );\r\n let newAmenity = {\r\n propertyAmenityName: amenityOption,\r\n isProvidedByEmployee: item.e,\r\n isProvidedByIndependentContractor: item.ik,\r\n isProvidedByCustomary: item.c,\r\n isProvidedByTaxableReitSubsidiary: item.trs,\r\n };\r\n\r\n if (!amenityOption) {\r\n newAmenity.propertyAmenityName = amenities.options.find(\r\n (x) => x.value === \"Other\"\r\n );\r\n newAmenity.otherName = item.serviceName;\r\n }\r\n\r\n let options = [];\r\n if (Array.isArray(this.props.taxableReitSubsidiaries)) {\r\n this.props.taxableReitSubsidiaries.map(trs => options.push({ label: trs.trsName, value: trs.taxableREITSubsidiaryID }));\r\n }\r\n\r\n \r\n if (newAmenity.isProvidedByTaxableReitSubsidiary && item.trsName) {\r\n const selectedOption = options.find(option => option.label === item.trsName);\r\n if (selectedOption) { \r\n newAmenity.taxableReitSubsidiary = {\r\n label: item.trsName,\r\n value: selectedOption.value,\r\n };\r\n }\r\n }\r\n\r\n propertyAmenities.push(newAmenity);\r\n });\r\n }\r\n\r\n return {\r\n isExternal: isExternal.toString(),\r\n propertyAmenities: propertyAmenities,\r\n };\r\n }\r\n\r\n handleSaveChecklist() {\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n return this.saveChecklist(checklist, true).then(() => {\r\n // Reset newQuestionIds after saving checklist\r\n this.setState({ newQuestionIds: [], lastSavedQuestionId: null });\r\n });\r\n }\r\n\r\n handleRevertChecklistState() {\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n this.revertChecklistState(checklist);\r\n }\r\n\r\n showSendModal() {\r\n if (this.state.showSendModal) {\r\n // revert the checklist state since this is cancel action\r\n const checklist = this.state.checklist;\r\n checklist.clientEmailTo = this.state.initialClientEmailTo;\r\n checklist.accountantEmailTo = this.state.initialAccountantEmailTo;\r\n this.setState({\r\n showSendModal: !this.state.showSendModal,\r\n initialClientEmailTo: null,\r\n initialAccountantEmailTo: null,\r\n selectedPropertyId: null,\r\n checklist: checklist,\r\n });\r\n } else {\r\n // save the a copy of the email state so we can revert on cancel\r\n this.setState({\r\n showSendModal: !this.state.showSendModal,\r\n initialClientEmailTo: this.state.checklist.clientEmailTo,\r\n initialAccountantEmailTo: this.state.checklist.accountantEmailTo,\r\n selectedPropertyId: this.state.checklist.propertyID,\r\n });\r\n }\r\n }\r\n\r\n setChecklistState(checklistState) {\r\n if (this.props.arqcChecklist !== null) {\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n checklist.checklistStateID = checklistState;\r\n this.setState({\r\n showConfirmationModal: false,\r\n showSubmitToEyModal: false,\r\n });\r\n this.props.actions.saveChecklist(checklist);\r\n }\r\n }\r\n\r\n getCheckListItemStateName(state) {\r\n switch (state) {\r\n case \"InProgress\":\r\n return \"In Progress\";\r\n case \"PendingEyReview\":\r\n return \"Pending EY Review\";\r\n default:\r\n return state;\r\n }\r\n }\r\n\r\n showDeleteModal(checklist) {\r\n this.setState({\r\n confirmDeleteAction: () => {\r\n this.props.checklistActions.deleteChecklist(\r\n checklist.checklistTypeID,\r\n checklist.checklistID\r\n );\r\n if (checklist.checklistTypeID === \"PSQ\") {\r\n this.setState({ psqProviderSummary: [] });\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleCancelDelete() {\r\n this.setState({ confirmDeleteAction: null });\r\n }\r\n\r\n onConfirmDelete() {\r\n if (this.state.confirmDeleteAction) {\r\n this.setState({ showDetails: false, checklist: null });\r\n this.state.confirmDeleteAction();\r\n this.setState({ confirmDeleteAction: null });\r\n }\r\n }\r\n\r\n getSendModal() {\r\n if (this.state.showSendModal) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return null;\r\n }\r\n\r\n getModalStyle() {\r\n return {\r\n content: {\r\n top: \"50%\",\r\n left: \"50%\",\r\n right: \"auto\",\r\n bottom: \"auto\",\r\n marginRight: \"-50%\",\r\n transform: \"translate(-50%, -50%)\",\r\n width: \"300px\",\r\n height: \"160px\",\r\n },\r\n };\r\n }\r\n\r\n getPsqQuestionnaireTitle() {\r\n const clientName = this.props.client ? this.props.client.name : \"\";\r\n const reportPeriod =\r\n this.props.period && Object.keys(this.props.period).length > 0\r\n ? this.props.period\r\n : this.state.period;\r\n const reportPeriodDescription = reportPeriod\r\n ? reportPeriod.reportPeriodDescription\r\n : null;\r\n const yearAndPeriod = reportPeriodDescription\r\n ? reportPeriodDescription.slice(2) +\r\n \" - \" +\r\n reportPeriodDescription.slice(0, 2)\r\n : \"\";\r\n const propertyTypeID = this.props.psqActiveChecklist\r\n ? this.props.psqActiveChecklist.propertyType\r\n : \"\";\r\n const propertyTypes =\r\n this.props.lookupTypes && this.props.lookupTypes.propertyTypes\r\n ? this.props.lookupTypes.propertyTypes.filter(\r\n (pt) => pt.propertyTypeID == propertyTypeID\r\n )\r\n : null;\r\n const propertyTypeDescription =\r\n propertyTypes && propertyTypes.length > 0\r\n ? propertyTypes[0].propertyTypeDescription\r\n : \"\";\r\n return (\r\n clientName + \" - PSQ - \" + yearAndPeriod + \" - \" + propertyTypeDescription\r\n );\r\n }\r\n\r\n getArqcQuestionnaireTitle() {\r\n const clientName = this.props.client ? this.props.client.name : \"\";\r\n const reportPeriod =\r\n this.props.period && Object.keys(this.props.period).length > 0\r\n ? this.props.period\r\n : this.state.period;\r\n const reportPeriodDescription = reportPeriod\r\n ? reportPeriod.reportPeriodDescription\r\n : null;\r\n const yearAndPeriod = reportPeriodDescription\r\n ? reportPeriodDescription.slice(2) +\r\n \" - \" +\r\n reportPeriodDescription.slice(0, 2)\r\n : \"\";\r\n const reitTypeID = this.props.arqcActiveChecklist\r\n ? this.props.arqcActiveChecklist.reitTypeID\r\n : \"\";\r\n const reitTypes =\r\n this.props.lookupTypes && this.props.lookupTypes.reitTypes\r\n ? this.props.lookupTypes.reitTypes.filter(\r\n (pt) => pt.reitTypeID == reitTypeID\r\n )\r\n : null;\r\n const reitTypeDescription =\r\n reitTypes && reitTypes.length > 0 ? reitTypes[0].reitTypeDescription : \"\";\r\n return (\r\n clientName + \" - ARQC - \" + yearAndPeriod + \" - \" + reitTypeDescription\r\n );\r\n }\r\n\r\n isEYEmailAddress(email) {\r\n var splitArray = email.trim().split(\"@\");\r\n if (\r\n splitArray[1] &&\r\n splitArray[1] != Constants.RejectedEyDomain &&\r\n !splitArray[1].includes(Constants.RejectedOtherEYDomain)\r\n ) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n getServiceQuestionJSON(\r\n addServiceProviderQuestionResponse,\r\n sectionSortOrder,\r\n questionSortOrder\r\n ) {\r\n // Prepare Service Question JSON with newly created ChecklistSectionQuestionID & QuestionIDs\r\n return {\r\n id: addServiceProviderQuestionResponse[0].questionId,\r\n checklistSectionQuestionID:\r\n addServiceProviderQuestionResponse[0].checklistSectionQuestionId,\r\n questionSortOrder: questionSortOrder,\r\n title:\r\n sectionSortOrder +\r\n \".\" +\r\n questionSortOrder +\r\n \" Please identify any Additional Service Provider, the services provided, the compensation arrangement, and its relationship to the REIT in the space below.\",\r\n itemType: \"PsqSection2AdditionalServices\",\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: [],\r\n selectedAnswers: [\"\"],\r\n controlSections: [],\r\n systemRule: {\r\n name: \"SetFromPreviousPeriodAnswer\",\r\n setAnswers: [\"{selectedAnswers}\"],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [\r\n {\r\n id: addServiceProviderQuestionResponse[1].questionId,\r\n checklistSectionQuestionID:\r\n addServiceProviderQuestionResponse[1].checklistSectionQuestionId,\r\n title:\r\n sectionSortOrder +\r\n \".\" +\r\n questionSortOrder +\r\n \".1 Does the IK own, directly or indirectly, more than a 35% interest (based on vote or value) in the REIT?\",\r\n itemType: \"button\",\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: [\"Yes\", \"No\"],\r\n selectedAnswers: [],\r\n controlSections: [],\r\n systemRule: {\r\n name: \"SetFromPreviousPeriodAnswer\",\r\n setAnswers: [\"{selectedAnswers}\"],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [],\r\n enabledByParentAnswers: [\"IK\"],\r\n ruleTag: [],\r\n },\r\n {\r\n id: addServiceProviderQuestionResponse[2].questionId,\r\n checklistSectionQuestionID:\r\n addServiceProviderQuestionResponse[2].checklistSectionQuestionId,\r\n title:\r\n sectionSortOrder +\r\n \".\" +\r\n questionSortOrder +\r\n \".2 Do one or more persons who own 35% or more of the interests in the REIT (based on vote or value) also own directly or indirectly more than 35% of the interests in the IK (based on net profits or assets, if non-corporate)?\",\r\n itemType: \"button\",\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: [\"Yes\", \"No\"],\r\n selectedAnswers: [],\r\n controlSections: [],\r\n systemRule: {\r\n name: \"SetFromPreviousPeriodAnswer\",\r\n setAnswers: [\"{selectedAnswers}\"],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [],\r\n enabledByParentAnswers: [\"IK\"],\r\n ruleTag: [],\r\n },\r\n {\r\n id: addServiceProviderQuestionResponse[3].questionId,\r\n checklistSectionQuestionID:\r\n addServiceProviderQuestionResponse[3].checklistSectionQuestionId,\r\n title:\r\n sectionSortOrder +\r\n \".\" +\r\n questionSortOrder +\r\n \".3 Does the REIT derive or receive any income from the IK, such as a share of the income or revenue derived from services, rents from leasing space to the contractor (at this property or any other property), dividends or other profits of the contractor, or any other form of income from the contractor?\",\r\n itemType: \"button\",\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: [\"Yes\", \"No\"],\r\n selectedAnswers: [],\r\n controlSections: [],\r\n systemRule: {\r\n name: \"SetFromPreviousPeriodAnswer\",\r\n setAnswers: [\"{selectedAnswers}\"],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [],\r\n enabledByParentAnswers: [\"IK\"],\r\n ruleTag: [],\r\n },\r\n {\r\n id: addServiceProviderQuestionResponse[4].questionId,\r\n checklistSectionQuestionID:\r\n addServiceProviderQuestionResponse[4].checklistSectionQuestionId,\r\n title:\r\n sectionSortOrder +\r\n \".\" +\r\n questionSortOrder +\r\n \".4 Is the REIT's relationship with the IK an arms-length relationship?\",\r\n itemType: \"button\",\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: [\"Yes\", \"No\"],\r\n selectedAnswers: [],\r\n controlSections: [],\r\n systemRule: {\r\n name: \"SetFromPreviousPeriodAnswer\",\r\n setAnswers: [\"{selectedAnswers}\"],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [],\r\n enabledByParentAnswers: [\"IK\"],\r\n ruleTag: [],\r\n },\r\n {\r\n id: addServiceProviderQuestionResponse[5].questionId,\r\n checklistSectionQuestionID:\r\n addServiceProviderQuestionResponse[5].checklistSectionQuestionId,\r\n title:\r\n sectionSortOrder +\r\n \".\" +\r\n questionSortOrder +\r\n \".5 Is the IK adequately compensated based on fair-value and arms-length dealing?\",\r\n itemType: \"button\",\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: [\"Yes\", \"No\"],\r\n selectedAnswers: [],\r\n controlSections: [],\r\n systemRule: {\r\n name: \"SetFromPreviousPeriodAnswer\",\r\n setAnswers: [\"{selectedAnswers}\"],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [],\r\n enabledByParentAnswers: [\"IK\"],\r\n ruleTag: [],\r\n },\r\n {\r\n id: addServiceProviderQuestionResponse[6].questionId,\r\n checklistSectionQuestionID:\r\n addServiceProviderQuestionResponse[6].checklistSectionQuestionId,\r\n title:\r\n sectionSortOrder +\r\n \".\" +\r\n questionSortOrder +\r\n \".6 Does the REIT directly or indirectly bear the costs of any of the IK services?\",\r\n itemType: \"button\",\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: [\"Yes\", \"No\"],\r\n selectedAnswers: [],\r\n controlSections: [],\r\n systemRule: {\r\n name: \"SetFromPreviousPeriodAnswer\",\r\n setAnswers: [\"{selectedAnswers}\"],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [],\r\n enabledByParentAnswers: [\"IK\"],\r\n ruleTag: [],\r\n },\r\n {\r\n id: addServiceProviderQuestionResponse[7].questionId,\r\n checklistSectionQuestionID:\r\n addServiceProviderQuestionResponse[7].checklistSectionQuestionId,\r\n title:\r\n sectionSortOrder +\r\n \".\" +\r\n questionSortOrder +\r\n \".7 Is the IK an employee of the REIT or is the REIT otherwise able to direct and control the manner in which the IK carries out its duties?\",\r\n itemType: \"button\",\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: [\"Yes\", \"No\"],\r\n selectedAnswers: [],\r\n controlSections: [],\r\n systemRule: {\r\n name: \"SetFromPreviousPeriodAnswer\",\r\n setAnswers: [\"{selectedAnswers}\"],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [],\r\n enabledByParentAnswers: [\"IK\"],\r\n ruleTag: [],\r\n },\r\n {\r\n id: addServiceProviderQuestionResponse[8].questionId,\r\n checklistSectionQuestionID:\r\n addServiceProviderQuestionResponse[8].checklistSectionQuestionId,\r\n title:\r\n sectionSortOrder +\r\n \".\" +\r\n questionSortOrder +\r\n \".8 For the above questions, please add an explanation of any special circumstances or additional comments in the box below.\",\r\n itemType: \"plaintext\",\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: [],\r\n selectedAnswers: [],\r\n controlSections: [],\r\n systemRule: {\r\n name: \"SetFromPreviousPeriodAnswer\",\r\n setAnswers: [\"{selectedAnswers}\"],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [],\r\n enabledByParentAnswers: [\"IK\"],\r\n ruleTag: [],\r\n },\r\n ],\r\n enabledByParentAnswers: [],\r\n ruleTag: [],\r\n serviceProvider: questionSortOrder,\r\n };\r\n }\r\n\r\n getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId(\r\n activeChecklist,\r\n checklistSectionQuestionId\r\n ) {\r\n let questionText = \"\";\r\n let isQuestionFound = false;\r\n for (\r\n let sectionIndex = 0;\r\n sectionIndex < activeChecklist.content.length;\r\n sectionIndex++\r\n ) {\r\n if (activeChecklist.content[sectionIndex].items.length > 0) {\r\n for (\r\n let questionIndex = 0;\r\n questionIndex < activeChecklist.content[sectionIndex].items.length;\r\n questionIndex++\r\n ) {\r\n if (\r\n activeChecklist.content[sectionIndex].items[questionIndex]\r\n .checklistSectionQuestionID === checklistSectionQuestionId\r\n ) {\r\n isQuestionFound = true;\r\n questionText =\r\n activeChecklist.content[sectionIndex].items[questionIndex].title;\r\n }\r\n\r\n if (isQuestionFound) {\r\n break;\r\n }\r\n\r\n if (\r\n activeChecklist.content[sectionIndex].items[questionIndex].children\r\n .length > 0 &&\r\n !isQuestionFound\r\n ) {\r\n for (\r\n let childQuestionIndex = 0;\r\n childQuestionIndex <\r\n activeChecklist.content[sectionIndex].items[questionIndex]\r\n .children.length;\r\n childQuestionIndex++\r\n ) {\r\n if (\r\n activeChecklist.content[sectionIndex].items[questionIndex]\r\n .children[childQuestionIndex].checklistSectionQuestionID ===\r\n checklistSectionQuestionId\r\n ) {\r\n isQuestionFound = true;\r\n questionText =\r\n activeChecklist.content[sectionIndex].items[questionIndex]\r\n .children[childQuestionIndex].title;\r\n }\r\n\r\n if (isQuestionFound) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (isQuestionFound) {\r\n break;\r\n }\r\n }\r\n\r\n return questionText;\r\n }\r\n}\r\n\r\nChecklistPageBase.propTypes = {\r\n client: PropTypes.object.isRequired,\r\n reit: PropTypes.object.isRequired,\r\n periodId: PropTypes.number.isRequired,\r\n commonActions: PropTypes.object.isRequired,\r\n checklistActions: PropTypes.object.isRequired,\r\n actions: PropTypes.object.isRequired,\r\n reitActions: PropTypes.object.isRequired,\r\n fileActions: PropTypes.object.isRequired,\r\n arqcChecklist: PropTypes.object,\r\n checklistId: PropTypes.number,\r\n services: PropTypes.array,\r\n serviceActions: PropTypes.func.isRequired,\r\n customQuestionActions: PropTypes.func.isRequired,\r\n taxableReitSubsidiaries: PropTypes.array,\r\n};\r\n\r\nexport default ChecklistPageBase;\r\n","/* eslint-disable react/prop-types */\r\n/* eslint-disable react/no-multi-comp */\r\n\r\nimport React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifButton,\r\n MotifIcon,\r\n} from '@ey-xd/motif-react';\r\n\r\nimport { addAttribute } from '../../common/Attribute';\r\nconst InvalidEmailModal = ({\r\n showInvalidEmailModal,\r\n deleteInvalidEmail,\r\n headerText\r\n}) => {\r\n useEffect(() => {\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", 'type', 'button');\r\n });\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Invalid Email modal',\r\n ariaLabel: 'Close Invalid Email modal',\r\n dataTestid: 'close',\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {headerText}\r\n \r\n \r\n \r\n \r\n Please do not enter EY email addresses as the EY employees will receive email based on their notification preference settings.\r\n
    \r\n \r\n \r\n \r\n OK\r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nInvalidEmailModal.propTypes = {\r\n showInvalidEmailModal: PropTypes.bool,\r\n deleteInvalidEmail: PropTypes.func\r\n};\r\n\r\nexport default InvalidEmailModal;\r\n","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport { fetchFromAuthApi as fetch } from './fetchFromApi';\r\n\r\n/**\r\n * Fetch all the Data Retention Management Data for a given client, calendar year. If successful this will dispatch the LOAD_BULK_PROCESS_MANAGEMENT_DATA_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_DATA_RETENTION_MANAGEMENT_DATA_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\n\r\nexport const fetchExternalUserDataVisibility = () => {\r\n return (dispatch) => {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/externaluserdatavisibility/getExternalUserDataVisibility`)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((externalUserVisibilityData) => {\r\n if (actionHelpers.isErrorResponse(externalUserVisibilityData)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_External_User_Data_Visibility_FAILURE,\r\n null\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_External_User_Data_Visibility_SUCCESS,\r\n externalUserVisibilityData,\r\n [pendingTask]: end,\r\n });\r\n\r\n return externalUserVisibilityData;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_External_User_Data_Visibility_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n \r\n}\r\n\r\nexport function hideExternalUserDataVisibility(requestData) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/externaluserdatavisibility/hideReportPeriodForExternalUsers`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(requestData)\r\n })\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.ACTION_External_User_Data__Hide_Visibility_SUCCESS,\r\n jsonResponse,\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.ACTION_External_User_Data__Hide_Visibility_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n\r\nexport function unHideExternalUserDataVisibility(requestData) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/externaluserdatavisibility/unhideReportPeriodForExternalUsers`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(requestData)\r\n })\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.ACTION_External_User_Data__UnHide_Visibility_SUCCESS,\r\n jsonResponse,\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.ACTION_External_User_Data__UnHide_Visibility_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport function fetchReportPeriodVisibilityManagerDataById(clientId,reitId,calendarYear,periodId,checklistGuid=null, checklistType=null) {\r\n const authHeader = checklistGuid ? actionHelpers.buildAuthHeader(checklistGuid, checklistType) : null;\r\n\r\n return function (dispatch) {\r\n if (!clientId ) {\r\n return dispatch({\r\n type: actions.LOAD_External_User_Data_Visibility_SUCCESS,\r\n externalUserVisibilityData: [],\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/externalUserDataVisibility/getReportPeriodVisibilityManagerDataById?clientId=${clientId}&reportPeriodID=${periodId}&reitID=${reitId}&calendarYear=${calendarYear}`,\r\n {\r\n headers: (authHeader && new Headers({ Authorization: authHeader })) || null,\r\n method: \"GET\",\r\n }) \r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((externalUserVisibilityData) => {\r\n if (actionHelpers.isErrorResponse(externalUserVisibilityData)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_External_User_Data_Visibility_FAILURE,\r\n externalUserVisibilityData\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_External_User_Data_Visibility_SUCCESS,\r\n externalUserVisibilityData,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_External_User_Data_Visibility_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n\r\n ","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n getFormValues,\r\n getFormSyncErrors,\r\n getFormSubmitErrors,\r\n SubmissionError,\r\n reduxForm,\r\n} from \"redux-form\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as clientActions from \"../../actions/clientActions\";\r\nimport * as checklistActions from \"../../actions/checklistActions\";\r\nimport * as reportActions from \"../../actions/reportActions\";\r\nimport * as periodActions from \"../../actions/periodActions\";\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport * as customQuestionActions from \"../../actions/customQuestionActions\";\r\nimport {\r\n MotifButton,\r\n MotifTabNavigation,\r\n MotifTabControl,\r\n MotifToast,\r\n} from \"@ey-xd/motif-react\";\r\nimport { pendingTask, begin, end } from \"../../constants/pendingTask\";\r\nimport * as actions from \"../../actions/actionTypes\";\r\nimport ChecklistHeader from \"../../components/reits/ChecklistHeader\";\r\nimport ARQCChecklistTable from \"../../components/reits/ARQCChecklistTable\";\r\nimport AddChecklistUserModal from \"../../components/checklistDeliveryCalendar/AddChecklistUserModal\";\r\nimport DeleteChecklistUserModal from \"../../components/checklistDeliveryCalendar/DeleteChecklistUserModal\";\r\nimport DeleteChecklistModal from \"../../components/checklistDeliveryCalendar/DeleteChecklistModal\";\r\nimport ResendChecklistModal from \"../../components/checklistDeliveryCalendar/ResendChecklistModal\";\r\nimport SignoffChecklistModal from \"../../components/checklistDeliveryCalendar/SignoffChecklistModal\";\r\nimport ReopenForEYReviewChecklistModal from \"../../components/checklistDeliveryCalendar/ReopenForEYReviewChecklistModal\";\r\nimport ApproveClientReopenRequestModal from \"../../components/checklistDeliveryCalendar/ApproveClientReopenRequestModal\";\r\nimport DenyClientReopenRequestModal from \"../../components/checklistDeliveryCalendar/DenyClientReopenRequestModal\";\r\nimport DownloadChecklistsModal from \"../../components/checklistDeliveryCalendar/DownloadChecklistsModal\";\r\nimport * as actionHelpers from \"../../scripts/actionHelpers\";\r\nimport ArqcCreateChecklistModal from \"../../components/reits/ArqcCreateChecklistModal\";\r\nimport ChecklistPageBase from \"./ChecklistPageBase\";\r\nimport InvalidEmailModal from \"../../components/reits/InvalidEmailModal\";\r\nimport * as Constants from \"../../constants/other\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport * as externalUserVisibilityActions from \"../../actions/externalUserDataVisibilityActions\";\r\n\r\n/**\r\n * ARQCChecklistContainer container component\r\n * @extends {React.Component}\r\n */\r\nclass ARQCChecklistContainer extends ChecklistPageBase {\r\n /**\r\n * Creates a new PSQ Checklists page\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.updateInitialValues = this.updateInitialValues.bind(this);\r\n this.setGridColumnState = this.setGridColumnState.bind(this);\r\n this.resetGridColumnState = this.resetGridColumnState.bind(this);\r\n this.handleGridColumnStateChange =\r\n this.handleGridColumnStateChange.bind(this);\r\n this.toggleShowAddChecklistUserModal =\r\n this.toggleShowAddChecklistUserModal.bind(this);\r\n this.handleAddChecklistUser = this.handleAddChecklistUser.bind(this);\r\n this.toggleShowDeleteChecklistUserModal =\r\n this.toggleShowDeleteChecklistUserModal.bind(this);\r\n this.handleDeleteChecklistUser = this.handleDeleteChecklistUser.bind(this);\r\n this.toggleShowDeleteChecklistModal =\r\n this.toggleShowDeleteChecklistModal.bind(this);\r\n this.handleDeleteChecklist = this.handleDeleteChecklist.bind(this);\r\n this.toggleShowResendChecklistModal =\r\n this.toggleShowResendChecklistModal.bind(this);\r\n this.handleResendChecklist = this.handleResendChecklist.bind(this);\r\n this.toggleShowSignoffChecklistModal =\r\n this.toggleShowSignoffChecklistModal.bind(this);\r\n this.toggleShowReopenForEYReviewChecklistModal =\r\n this.toggleShowReopenForEYReviewChecklistModal.bind(this);\r\n this.toggleShowApproveClientReopenRequestModal =\r\n this.toggleShowApproveClientReopenRequestModal.bind(this);\r\n this.toggleShowDenyClientReopenRequestModal =\r\n this.toggleShowDenyClientReopenRequestModal.bind(this);\r\n this.handleSignoffChecklist = this.handleSignoffChecklist.bind(this);\r\n this.handleReopenForEYReviewChecklist =\r\n this.handleReopenForEYReviewChecklist.bind(this);\r\n this.handleApproveClientReopenRequest =\r\n this.handleApproveClientReopenRequest.bind(this);\r\n this.handleDenyClientReopenRequest =\r\n this.handleDenyClientReopenRequest.bind(this);\r\n this.handleExportChecklistSummary =\r\n this.handleExportChecklistSummary.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.handleGridFilteredRowChanges =\r\n this.handleGridFilteredRowChanges.bind(this);\r\n this.handleRecipientChanges = this.handleRecipientChanges.bind(this);\r\n this.handleEmailChanged = this.handleEmailChanged.bind(this);\r\n this.handleSignoffChecklistStateChange =\r\n this.handleSignoffChecklistStateChange.bind(this);\r\n this.refreshGrid = this.refreshGrid.bind(this);\r\n this.handleRefreshManageChecklistClient =\r\n this.handleRefreshManageChecklistClient.bind(this);\r\n this.dismissRefreshManageChecklistMessage =\r\n this.dismissRefreshManageChecklistMessage.bind(this);\r\n this.handleDownloadChecklists = this.handleDownloadChecklists.bind(this);\r\n this.toggleShowDownloadChecklistsModal =\r\n this.toggleShowDownloadChecklistsModal.bind(this);\r\n this.handlePopulatePreviousAnswersChanged =\r\n this.handlePopulatePreviousAnswersChanged.bind(this);\r\n this.handleRollForwardComment = this.handleRollForwardComment.bind(this);\r\n this.clientEmailsRef = this.clientEmailsRef.bind(this);\r\n this.toggleShowInvalidEmailModal =\r\n this.toggleShowInvalidEmailModal.bind(this);\r\n this.handleClientFieldChanged = this.handleClientFieldChanged.bind(this);\r\n this.handleCancel = this.handleCancel.bind(this);\r\n this.handleCreate = this.handleCreate.bind(this);\r\n this.setInititiallySetEmailsFrwd = this.setInititiallySetEmailsFrwd.bind(this);\r\n this.state = {\r\n saved: false,\r\n psqArqc: \"ARQC\",\r\n filteredManageChecklists: [],\r\n gridColumnState: [],\r\n showAddChecklistUserModal: false,\r\n showDeleteChecklistUserModal: false,\r\n showDeleteChecklistModal: false,\r\n showResendChecklistModal: false,\r\n showSignoffChecklistModal: false,\r\n showReopenForEYReviewChecklistModal: false,\r\n showApproveClientReopenRequestModal: false,\r\n showDenyClientReopenRequestModal: false,\r\n gridCurrentState: [],\r\n gridFilteredRowCurrentState: [],\r\n selectedRecipients: [],\r\n checklistUsers: [],\r\n selectedSignoffChecklistState: -1,\r\n refreshGridChecklistData: {\r\n refreshGridOnCompletedAction: -1,\r\n checklists: [],\r\n },\r\n downloadChecklists: {\r\n downloadType: \"\",\r\n showModal: false,\r\n modalTitle: \"\",\r\n modalContent: \"\",\r\n },\r\n isSendEmailEnabled: false,\r\n createData: {\r\n checklistTypeID: \"ARQC\",\r\n clientID: this.props.client.id,\r\n reitID: this.props.reit.reitid,\r\n reportPeriodID: this.props.periodId,\r\n propertyID: null,\r\n clientEmailTo: \"\",\r\n propertyType: \"NotSelected\",\r\n checklistStateID: \"Created\",\r\n prePopulatedId: Constants.defaultPrepopulateAnswer,\r\n hasRollForwardQuestionComment:\r\n Constants.defaultRollFowardQuestionComment,\r\n hasRollForwardQuestionAttachment:\r\n Constants.defaultRollFowardQuestionAttachment,\r\n },\r\n periodId: this.props.periodId,\r\n showInvalidEmailModal: false,\r\n clientEmail: [],\r\n canEdit: true,\r\n invalidHeader: Constants.invalidEmailCreateChecklistHeader,\r\n isRefreshGridRequired: false,\r\n refreshGridData: 0,\r\n isInititiallySetEmailsFrwd: false,\r\n inititiallySetEmails: false,\r\n externalUserVisibilityData:[],\r\n };\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.props.externalUserVisibilityActions.fetchReportPeriodVisibilityManagerDataById(this.props.clientId,null,null,this.props.periodId,null,'ARQC');\r\n this.props.periodActions.fetchPeriodById(this.props.periodId)\r\n .then((period) => {\r\n this.setCanEdit(period);\r\n });\r\n this.props.checklistActions.fetchManageChecklists(\r\n this.props.clientId,\r\n null,\r\n this.props.periodId,\r\n \"ARQC\"\r\n );\r\n this.props.checklistActions.resetRefreshManageChecklistClient(); // Reseting the Client Id to 0 on page load to hide Motif \"Refresh\" Toast Message\r\n this.setGridColumnState();\r\n }\r\n\r\n /**\r\n * Invoked immediately before unmounting occurs\r\n * @returns {undefined}\r\n */\r\n componentWillUnmount() {\r\n // On unmount, clear the calendar data from state to conserve memory\r\n // Calling this action with no argument will clear from redux-state\r\n this.props.checklistActions.fetchManageChecklists();\r\n this.props.checklistActions.resetRefreshManageChecklistClient(); // Reseting the Client Id to 0 on page unmount to hide Motif \"Refresh\" Toast Message on subsequest redirected view\r\n this.setState({ filteredManageChecklists: [], selectedRecipients: [] });\r\n }\r\n\r\n componentDidUpdate(prevProps) { \r\n if (!prevProps.period) {\r\n this.props.periodActions.fetchPeriodById(this.props.periodId);\r\n } else if (\r\n prevProps.period &&\r\n prevProps.period.id !== this.props.period.id\r\n ) {\r\n this.setCanEdit(this.props.period);\r\n }\r\n\r\n if (\r\n this.props.manageChecklists != prevProps.manageChecklists &&\r\n this.state.isRefreshGridRequired\r\n ) {\r\n const randomNumber = parseInt(Math.random() * (99999999 - 1)) + 1;\r\n this.setState({\r\n refreshGridData: randomNumber,\r\n isRefreshGridRequired: false,\r\n });\r\n }\r\n }\r\n\r\n updateInitialValues() {\r\n const initialValues = {\r\n clientId: this.props.clientId,\r\n };\r\n\r\n this.props.dispatch(\r\n this.props.initialize(initialValues, {\r\n options: { updateUnregisteredFields: true },\r\n })\r\n );\r\n }\r\n\r\n toggleShowAddChecklistUserModal() {\r\n this.setState({\r\n showAddChecklistUserModal: !this.state.showAddChecklistUserModal,\r\n checklistUsers: [],\r\n });\r\n }\r\n\r\n setCanEdit(period) {\r\n const isEnabled = periodActions.isReportingEnabled(period);\r\n this.setState({ canEdit: isEnabled });\r\n }\r\n\r\n toggleShowInvalidEmailModal() {\r\n const showToggle = !this.state.showInvalidEmailModal;\r\n this.setState({\r\n showInvalidEmailModal: showToggle,\r\n });\r\n }\r\n\r\n refreshGrid(selectedChecklists = []) {\r\n // Reset the refresh manage checklist message for client\r\n this.props.checklistActions.resetRefreshManageChecklistClient();\r\n\r\n this.props.checklistActions\r\n .fetchManageChecklists(\r\n this.props.clientId,\r\n null,\r\n this.props.periodId,\r\n \"ARQC\"\r\n )\r\n .then((manageChecklists) => {\r\n this.updateInitialValues();\r\n\r\n //Update refreshGridChecklistData state variable to refresh the grid\r\n const randomNumber = parseInt(Math.random() * (99999999 - 1)) + 1;\r\n\r\n if (\r\n selectedChecklists &&\r\n Array.isArray(selectedChecklists) &&\r\n selectedChecklists.length > 0\r\n ) {\r\n this.setState({\r\n refreshGridChecklistData: {\r\n refreshGridOnCompletedAction: randomNumber,\r\n checklists: selectedChecklists,\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n refreshGridChecklistData: {\r\n refreshGridOnCompletedAction: randomNumber,\r\n checklists: [],\r\n },\r\n });\r\n }\r\n });\r\n }\r\n\r\n handleGridFilteredRowChanges(gridFilteredRowData) {\r\n this.setState({ gridFilteredRowCurrentState: gridFilteredRowData });\r\n }\r\n\r\n handleGridChanges(gridRowData) {\r\n let rowData = [];\r\n rowData =\r\n gridRowData &&\r\n gridRowData.length &&\r\n gridRowData.map((x) => {\r\n return {\r\n checklistID: x.checklistID,\r\n checklistSelection: x.checklistSelection,\r\n checklistState: x.checklistState,\r\n checklistType: x.checklistType,\r\n quarterStatus: x.quarterStatus,\r\n checklistStateDescription: x.checklistStateDescription,\r\n reopenRequestStatusDescription: x.reopenRequestStatusDescription,\r\n requestDateTime: x.requestDateTime,\r\n requesterEmailAddress: x.requesterEmailAddress,\r\n isSignedOff: x.isSignedOff,\r\n signedOffStatusDescription: x.signedOffStatusDescription,\r\n userActionDateTime: x.userActionDateTime,\r\n clientUserEmailAddress: x.clientUserEmailAddress,\r\n quarter: x.quarter,\r\n reitName: x.reitName,\r\n reportPeriodID: x.reportPeriodID,\r\n };\r\n });\r\n\r\n this.setState({ gridCurrentState: rowData });\r\n }\r\n\r\n handleRecipientChanges(gridApi) {\r\n let selectedRecipients = [];\r\n if (gridApi) {\r\n let selectedNodes = gridApi.getSelectedNodes()\r\n ? gridApi\r\n .getSelectedNodes()\r\n .filter(\r\n (rowNode) =>\r\n rowNode.data &&\r\n rowNode.data.recipientEmail &&\r\n rowNode.data.recipientEmail.length > 0\r\n )\r\n : [];\r\n selectedRecipients =\r\n selectedNodes &&\r\n selectedNodes.length &&\r\n selectedNodes.map((x) => {\r\n return {\r\n checklistID: x.data.checklistID,\r\n checklistSelection: x.data.checklistSelection,\r\n checklistType: x.data.checklistType,\r\n checklistState: x.data.checklistState,\r\n quarterStatus: x.data.quarterStatus,\r\n expirationDate: x.data.expirationDate,\r\n recipientEmail: x.data.recipientEmail,\r\n recipients: x.data.recipients,\r\n senderEmail: x.data.senderEmail,\r\n sentDate: x.data.sentDate,\r\n quarter: x.data.quarter,\r\n reitName: x.data.reitName,\r\n propertyType: x.data.propertyType,\r\n propertyTypeDescription: x.data.propertyTypeDescription,\r\n propertyName: x.data.propertyName,\r\n };\r\n });\r\n }\r\n this.setState({ selectedRecipients: selectedRecipients });\r\n }\r\n\r\n handleEmailChanged(e) {\r\n let checklistEmailData = [];\r\n let isShowInvalidModal = false;\r\n if (Array.isArray(e)) {\r\n if (e.length > 0) {\r\n const uniqueArray = [...new Set(e.join(\";\").toLowerCase().split(\";\"))];\r\n for (let i = 0; i < uniqueArray.length; i++) {\r\n if (this.isEYEmailAddress(uniqueArray[i])) {\r\n isShowInvalidModal = true;\r\n } else {\r\n checklistEmailData.push(uniqueArray[i]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (isShowInvalidModal) {\r\n this.setState({ invalidHeader: Constants.invalidEmailAddUserHeader });\r\n this.toggleShowInvalidEmailModal();\r\n }\r\n\r\n this.setState({ checklistUsers: checklistEmailData });\r\n }\r\n\r\n handleAddChecklistUser() {\r\n let emailDetails =\r\n this.state.checklistUsers &&\r\n Array.isArray(this.state.checklistUsers) &&\r\n this.state.checklistUsers.length > 0\r\n ? this.state.checklistUsers\r\n : [];\r\n\r\n let selectedChecklists = [];\r\n\r\n if (\r\n this.state.gridCurrentState &&\r\n Array.isArray(this.state.gridCurrentState) &&\r\n this.state.gridCurrentState.length > 0 &&\r\n emailDetails\r\n ) {\r\n selectedChecklists = this.state.gridCurrentState.reduce(function (\r\n filtered,\r\n option\r\n ) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType:\r\n option && option.checklistType\r\n ? option.checklistType.toLowerCase()\r\n : \"\",\r\n };\r\n if (\r\n filtered.findIndex(\r\n (x) =>\r\n x.checklistID === checklistItem.checklistID &&\r\n x.checklistType === checklistItem.checklistType\r\n ) == -1\r\n ) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n },\r\n []);\r\n }\r\n\r\n let requestData = {\r\n clientID: this.props.clientId,\r\n internalEmails: [],\r\n externalEmails: emailDetails,\r\n checklists: selectedChecklists,\r\n };\r\n\r\n this.props.checklistActions\r\n .addChecklistUsers(this.props.clientId, requestData)\r\n .then(() => {\r\n this.toggleShowAddChecklistUserModal();\r\n this.setState({\r\n checklistUsers: [],\r\n });\r\n\r\n this.refreshGrid(selectedChecklists);\r\n });\r\n }\r\n\r\n toggleShowDeleteChecklistUserModal() {\r\n this.setState({\r\n showDeleteChecklistUserModal: !this.state.showDeleteChecklistUserModal,\r\n });\r\n }\r\n\r\n handleDeleteChecklistUser() {\r\n let recipientsList =\r\n this.state.selectedRecipients &&\r\n Array.isArray(this.state.selectedRecipients) &&\r\n this.state.selectedRecipients.length > 0\r\n ? this.state.selectedRecipients.map((x) => {\r\n return {\r\n checklistID: x.checklistID,\r\n checklistType: x.checklistType,\r\n emails: x.recipientEmail.toLowerCase(),\r\n };\r\n })\r\n : [];\r\n\r\n var helper = {};\r\n var uniqueRecipientsChecklists =\r\n recipientsList && Array.isArray(recipientsList)\r\n ? recipientsList.reduce(function (r, o) {\r\n var key = o.checklistID + \"_\" + o.checklistType;\r\n\r\n if (!helper[key]) {\r\n helper[key] = {\r\n checklistID: o.checklistID,\r\n checklistType: o.checklistType,\r\n emails: [o.emails.toLowerCase()],\r\n };\r\n r.push(helper[key]);\r\n } else {\r\n helper[key].emails.push(o.emails);\r\n }\r\n\r\n return r;\r\n }, [])\r\n : [];\r\n\r\n let requestData = {\r\n clientID: this.props.clientId,\r\n checklists: uniqueRecipientsChecklists,\r\n };\r\n\r\n this.props.checklistActions\r\n .deleteChecklistUsers(this.props.clientId, requestData)\r\n .then(() => {\r\n this.setState({ isRefreshGridRequired: true });\r\n this.toggleShowDeleteChecklistUserModal();\r\n this.refreshGrid(uniqueRecipientsChecklists);\r\n });\r\n }\r\n\r\n toggleShowDeleteChecklistModal() {\r\n this.setState({\r\n showDeleteChecklistModal: !this.state.showDeleteChecklistModal,\r\n });\r\n }\r\n\r\n handleDeleteChecklist(values) {\r\n let checklistsToDelete = this.state.gridCurrentState\r\n .filter((gridData) => gridData.checklistSelection)\r\n .map((gridData) => {\r\n return {\r\n checklistID: gridData.checklistID,\r\n type: gridData.checklistType,\r\n };\r\n });\r\n\r\n // Remove duplicate checklists\r\n checklistsToDelete = checklistsToDelete.filter(\r\n (value, index, self) =>\r\n self.findIndex(\r\n (self) =>\r\n self.checklistID === value.checklistID && self.type === value.type\r\n ) === index\r\n );\r\n\r\n const requestData = {\r\n clientId: this.props.clientId,\r\n deleteChecklistRequestModels: checklistsToDelete,\r\n };\r\n\r\n this.props.checklistActions.deleteChecklists(requestData).then(() => {\r\n this.toggleShowDeleteChecklistModal();\r\n this.refreshGrid();\r\n });\r\n }\r\n\r\n toggleShowResendChecklistModal() {\r\n this.setState({\r\n showResendChecklistModal: !this.state.showResendChecklistModal,\r\n });\r\n }\r\n\r\n handleResendChecklist(values) {\r\n const checklistsToResend = this.state.selectedRecipients.map(\r\n (recipient) => {\r\n return {\r\n checklistID: recipient.checklistID,\r\n checklistType: recipient.checklistType,\r\n recipientEmail: recipient.recipientEmail,\r\n reitName: recipient.reitName,\r\n propertyType: recipient.propertyTypeDescription,\r\n propertyName: recipient.propertyName,\r\n periodDescription: this.props.period.reportPeriodDescription,\r\n };\r\n }\r\n );\r\n\r\n const requestData = {\r\n clientId: this.props.clientId,\r\n resendChecklistRequestModels: checklistsToResend,\r\n };\r\n\r\n this.props.checklistActions.resendChecklists(requestData).then(() => {\r\n this.toggleShowResendChecklistModal();\r\n this.refreshGrid(this.getSelectedChecklists());\r\n this.props.checklistActions.resetRefreshManageChecklistClient(this.props.clientId); // Reseting the Client Id to current client ID on page load to display Motif \"Refresh\" Toast Message\r\n });\r\n }\r\n\r\n toggleShowSignoffChecklistModal() {\r\n this.setState({\r\n showSignoffChecklistModal: !this.state.showSignoffChecklistModal,\r\n });\r\n }\r\n\r\n toggleShowReopenForEYReviewChecklistModal() {\r\n this.setState({\r\n showReopenForEYReviewChecklistModal:\r\n !this.state.showReopenForEYReviewChecklistModal,\r\n });\r\n }\r\n\r\n toggleShowApproveClientReopenRequestModal() {\r\n this.setState({\r\n showApproveClientReopenRequestModal:\r\n !this.state.showApproveClientReopenRequestModal,\r\n });\r\n }\r\n\r\n toggleShowDenyClientReopenRequestModal() {\r\n this.setState({\r\n showDenyClientReopenRequestModal:\r\n !this.state.showDenyClientReopenRequestModal,\r\n });\r\n }\r\n\r\n handleSignoffChecklistStateChange(checklistState) {\r\n this.setState({\r\n selectedSignoffChecklistState: checklistState,\r\n });\r\n }\r\n\r\n reloadSummaryData() {\r\n this.setState({ isSendEmailEnabled: false, isCreateOnlyEnabled: false });\r\n this.props.checklistActions.fetchManageChecklists(\r\n this.props.clientId,\r\n null,\r\n this.props.periodId,\r\n \"ARQC\"\r\n );\r\n }\r\n\r\n async handleReopenForEYReviewChecklist() {\r\n let selectedChecklists = [];\r\n if (\r\n this.state.gridCurrentState &&\r\n Array.isArray(this.state.gridCurrentState) &&\r\n this.state.gridCurrentState.length > 0\r\n ) {\r\n selectedChecklists = this.state.gridCurrentState.reduce(function (\r\n filtered,\r\n option\r\n ) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType:\r\n option && option.checklistType\r\n ? option.checklistType.toLowerCase()\r\n : \"\",\r\n };\r\n if (\r\n filtered.findIndex(\r\n (x) =>\r\n x.checklistID === checklistItem.checklistID &&\r\n x.checklistType === checklistItem.checklistType\r\n ) == -1\r\n ) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n },\r\n []);\r\n }\r\n\r\n let splitedChecklists = this.spliceSelectedChecklists(\r\n selectedChecklists.slice(),\r\n 50\r\n );\r\n\r\n this.props.dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n await checklistActions\r\n .updateChecklistsState(\r\n this.props.clientId,\r\n splitedChecklists,\r\n \"PENDINGEYREVIEW\"\r\n )\r\n .then(() => {\r\n this.setState({ isRefreshGridRequired: true });\r\n this.toggleShowReopenForEYReviewChecklistModal();\r\n this.refreshGrid(selectedChecklists);\r\n this.props.dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n })\r\n .catch((error) => {\r\n this.toggleShowReopenForEYReviewChecklistModal();\r\n this.refreshGrid(selectedChecklists);\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n this.props.dispatch,\r\n actions.UPDATE_CHECKLISTS_STATE_FAILURE,\r\n error\r\n );\r\n });\r\n }\r\n\r\n async handleSignoffChecklist() {\r\n let selectedChecklists = [];\r\n if (\r\n this.state.gridCurrentState &&\r\n Array.isArray(this.state.gridCurrentState) &&\r\n this.state.gridCurrentState.length > 0\r\n ) {\r\n selectedChecklists = this.state.gridCurrentState.reduce(function (\r\n filtered,\r\n option\r\n ) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType:\r\n option && option.checklistType\r\n ? option.checklistType.toLowerCase()\r\n : \"\",\r\n };\r\n if (\r\n filtered.findIndex(\r\n (x) =>\r\n x.checklistID === checklistItem.checklistID &&\r\n x.checklistType === checklistItem.checklistType\r\n ) == -1\r\n ) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n },\r\n []);\r\n }\r\n\r\n let splitedChecklists = this.spliceSelectedChecklists(\r\n selectedChecklists.slice(),\r\n 50\r\n );\r\n\r\n this.props.dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n await checklistActions\r\n .updateChecklistsState(\r\n this.props.clientId,\r\n splitedChecklists,\r\n \"COMPLETED\"\r\n )\r\n .then(() => {\r\n this.setState({ isRefreshGridRequired: true });\r\n this.toggleShowSignoffChecklistModal();\r\n this.refreshGrid(selectedChecklists);\r\n this.props.dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n })\r\n .catch((error) => {\r\n this.toggleShowSignoffChecklistModal();\r\n this.refreshGrid(selectedChecklists);\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n this.props.dispatch,\r\n actions.UPDATE_CHECKLISTS_STATE_FAILURE,\r\n error\r\n );\r\n });\r\n }\r\n\r\n async handleApproveClientReopenRequest() {\r\n let selectedChecklists = [];\r\n if (\r\n this.state.gridCurrentState &&\r\n Array.isArray(this.state.gridCurrentState) &&\r\n this.state.gridCurrentState.length > 0\r\n ) {\r\n selectedChecklists = this.state.gridCurrentState.reduce(function (\r\n filtered,\r\n option\r\n ) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType:\r\n option && option.checklistType\r\n ? option.checklistType.toLowerCase()\r\n : \"\",\r\n requesterEmailAddress: option.requesterEmailAddress,\r\n };\r\n if (\r\n filtered.findIndex(\r\n (x) =>\r\n x.checklistID === checklistItem.checklistID &&\r\n x.checklistType === checklistItem.checklistType\r\n ) == -1\r\n ) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n },\r\n []);\r\n }\r\n\r\n let splitedChecklists = this.splitChecklistsPerRequester(\r\n selectedChecklists.slice(),\r\n 50\r\n );\r\n\r\n this.props.dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n await checklistActions\r\n .approveDenyClientRequest(\r\n this.props.clientId,\r\n splitedChecklists,\r\n \"APPROVED\"\r\n )\r\n .then(() => {\r\n this.toggleShowApproveClientReopenRequestModal();\r\n this.refreshGrid(selectedChecklists);\r\n this.props.dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n })\r\n .catch((error) => {\r\n this.toggleShowApproveClientReopenRequestModal();\r\n this.refreshGrid(selectedChecklists);\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n this.props.dispatch,\r\n actions.APPROVE_DENY_CHECKLISTS_REQUEST_FAILURE,\r\n error\r\n );\r\n });\r\n }\r\n\r\n spliceSelectedChecklists(arr, size) {\r\n let res = [];\r\n while (arr.length > 0) {\r\n const chunk = arr.splice(0, size);\r\n res.push(chunk);\r\n }\r\n return res;\r\n }\r\n\r\n splitChecklistsPerRequester(checklists, batchSize) {\r\n let groups = {},\r\n result = [];\r\n let key = \"requesterEmailAddress\";\r\n checklists.forEach(function (checklist) {\r\n if (!(checklist[key] in groups)) {\r\n groups[checklist[key]] = [];\r\n }\r\n groups[checklist[key]].push(checklist);\r\n });\r\n\r\n for (let property in groups) {\r\n let group = groups[property];\r\n if (group.length > batchSize) {\r\n result.push(...this.spliceSelectedChecklists(group, batchSize));\r\n } else {\r\n result.push(group);\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n getSelectedChecklists() {\r\n let res = [];\r\n if (\r\n this.state.gridCurrentState &&\r\n Array.isArray(this.state.gridCurrentState) &&\r\n this.state.gridCurrentState.length > 0\r\n ) {\r\n res = this.state.gridCurrentState.reduce(function (filtered, option) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType:\r\n option && option.checklistType\r\n ? option.checklistType.toLowerCase()\r\n : \"\",\r\n };\r\n if (\r\n filtered.findIndex(\r\n (x) =>\r\n x.checklistID === checklistItem.checklistID &&\r\n x.checklistType === checklistItem.checklistType\r\n ) == -1\r\n ) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n }, []);\r\n }\r\n return res;\r\n }\r\n\r\n async handleDenyClientReopenRequest() {\r\n let selectedChecklists = [];\r\n if (\r\n this.state.gridCurrentState &&\r\n Array.isArray(this.state.gridCurrentState) &&\r\n this.state.gridCurrentState.length > 0\r\n ) {\r\n selectedChecklists = this.state.gridCurrentState.reduce(function (\r\n filtered,\r\n option\r\n ) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType:\r\n option && option.checklistType\r\n ? option.checklistType.toLowerCase()\r\n : \"\",\r\n requesterEmailAddress: option.requesterEmailAddress,\r\n };\r\n if (\r\n filtered.findIndex(\r\n (x) =>\r\n x.checklistID === checklistItem.checklistID &&\r\n x.checklistType === checklistItem.checklistType\r\n ) == -1\r\n ) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n },\r\n []);\r\n }\r\n\r\n let splitedChecklists = this.splitChecklistsPerRequester(\r\n selectedChecklists.slice(),\r\n 50\r\n );\r\n\r\n this.props.dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n await checklistActions\r\n .approveDenyClientRequest(\r\n this.props.clientId,\r\n splitedChecklists,\r\n \"DENIED\"\r\n )\r\n .then(() => {\r\n this.toggleShowDenyClientReopenRequestModal();\r\n this.refreshGrid(selectedChecklists);\r\n this.props.dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n })\r\n .catch((error) => {\r\n this.toggleShowDenyClientReopenRequestModal();\r\n this.refreshGrid(selectedChecklists);\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n this.props.dispatch,\r\n actions.APPROVE_DENY_CHECKLISTS_REQUEST_FAILURE,\r\n error\r\n );\r\n });\r\n }\r\n\r\n handleExportChecklistSummary(values) {\r\n let checklistsToExport = this.state.gridCurrentState\r\n .filter((gridData) => gridData.checklistSelection)\r\n .map((gridData) => {\r\n return {\r\n checklistID: gridData.checklistID,\r\n checklistType: gridData.checklistType,\r\n };\r\n });\r\n let checklistData = Object.assign({}, checklistsToExport);\r\n\r\n // Remove duplicate checklists\r\n checklistData = checklistsToExport.filter(\r\n (value, index, self) =>\r\n self.findIndex(\r\n (self) =>\r\n self.checklistID === value.checklistID && self.type === value.type\r\n ) === index\r\n );\r\n\r\n const requestData = {\r\n clientId: this.props.clientId,\r\n calendarYear: new Date(this.props.period.endDate).getFullYear(),\r\n exportChecklistRequestModels: checklistData,\r\n };\r\n\r\n this.props.checklistActions.exportChecklists(requestData);\r\n }\r\n\r\n /**\r\n * Set AG-Grid column state\r\n * @returns {undefined}\r\n */\r\n setGridColumnState() {\r\n var columnState = localStorage.getItem(\"REITSuiteARQCChecklistColumnState\");\r\n if (columnState) {\r\n this.setState({ gridColumnState: JSON.parse(columnState) });\r\n } else {\r\n this.setState({ gridColumnState: [{ colId: \"-1\" }] });\r\n }\r\n }\r\n\r\n /**\r\n * Reset AG-Grid column state\r\n * @returns {undefined}\r\n */\r\n resetGridColumnState() {\r\n localStorage.removeItem(\"REITSuiteARQCChecklistColumnState\");\r\n this.setState({ gridColumnState: [] });\r\n }\r\n\r\n /**\r\n * Handle Grid column state chagne\r\n * @returns {undefined}\r\n */\r\n handleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n }\r\n\r\n handleRefreshManageChecklistClient() {\r\n this.refreshGrid();\r\n }\r\n\r\n dismissRefreshManageChecklistMessage() {\r\n this.props.checklistActions.resetRefreshManageChecklistClient();\r\n }\r\n\r\n toggleShowDownloadChecklistsModal(downloadType) {\r\n if (this.state.downloadChecklists.showModal === false) {\r\n switch (downloadType) {\r\n case \"WITHOUT_ANSWERS\": {\r\n const downloadChecklistsState = {\r\n downloadType: downloadType,\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: \"Download Checklist(s) without Answers or Comments\",\r\n modalContent:\r\n \"Are you sure you want to download the selected checklist(s) without answers or comments?\",\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n break;\r\n }\r\n case \"WITH_ANSWERS_COMMENTS\": {\r\n const downloadChecklistsState = {\r\n downloadType: downloadType,\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: \"Download Checklist(s) with Answers and Comments\",\r\n modalContent:\r\n \"Are you sure you want to download the selected checklist(s) with answers and comments?\",\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n break;\r\n }\r\n case \"WITH_ANSWERS\": {\r\n const downloadChecklistsState = {\r\n downloadType: downloadType,\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: \"Download Checklist(s) with Answers Only\",\r\n modalContent:\r\n \"Are you sure you want to download the selected checklist(s) with answers?\",\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n break;\r\n }\r\n default:\r\n break;\r\n }\r\n } else {\r\n const downloadChecklistsState = {\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: \"\",\r\n modalContent: \"\",\r\n downloadType: \"\",\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n }\r\n }\r\n\r\n handleClientFieldChanged(e) {\r\n let createData = {\r\n checklistTypeID: \"ARQC\",\r\n clientID: this.props.client.id,\r\n reitID: this.props.reit.reitid,\r\n reportPeriodID: this.props.periodId,\r\n propertyID: null,\r\n IsPreviousAnswersPopulated: false,\r\n clientEmailTo: \"\",\r\n accountantEmailTo: \"\",\r\n propertyType: \"NotSelected\",\r\n checklistStateID: \"Created\",\r\n prePopulatedId: Constants.defaultPrepopulateAnswer,\r\n hasRollForwardQuestionComment: Constants.defaultRollFowardQuestionComment,\r\n hasRollForwardQuestionAttachment:\r\n Constants.defaultRollFowardQuestionAttachment,\r\n };\r\n\r\n if (\r\n this.state !== undefined &&\r\n this.state.createData !== undefined &&\r\n this.state.createData !== null\r\n ) {\r\n createData = this.state.createData;\r\n }\r\n let isShowInvalidModal = false;\r\n let uniqueArray = [];\r\n let splicedArray = [];\r\n\r\n if (Array.isArray(e)) {\r\n if (e.length > 0) {\r\n uniqueArray = [...new Set(e.join(\";\").toLowerCase().split(\";\"))];\r\n\r\n for (let i = 0; i < uniqueArray.length; i++) {\r\n if (this.isEYEmailAddress(uniqueArray[i])) {\r\n isShowInvalidModal = true;\r\n } else {\r\n splicedArray.push(uniqueArray[i]);\r\n }\r\n }\r\n createData.clientEmailTo = splicedArray.join(\";\");\r\n } else {\r\n createData.clientEmailTo = \"\";\r\n }\r\n }\r\n\r\n if (isShowInvalidModal) {\r\n this.setState({\r\n invalidHeader: Constants.invalidEmailCreateChecklistHeader,\r\n });\r\n this.toggleShowInvalidEmailModal();\r\n }\r\n this.validateFields(createData);\r\n\r\n this.setState({ createData: createData });\r\n this.setState({ clientEmail: (uniqueArray === undefined || uniqueArray.length === 0) && e.length !== 0? this.state.clientEmail : uniqueArray });\r\n }\r\n\r\n handlePopulatePreviousAnswersChanged(e, data) {\r\n let createData = {\r\n checklistTypeID: \"ARQC\",\r\n clientID: this.props.client.id,\r\n reitID: this.props.reit.reitid,\r\n reportPeriodID: this.props.periodId,\r\n propertyID: null,\r\n IsPreviousAnswersPopulated: false,\r\n clientEmailTo: \"\",\r\n accountantEmailTo: \"\",\r\n propertyType: \"NotSelected\",\r\n checklistStateID: \"Created\",\r\n prePopulatedId: Constants.defaultPrepopulateAnswer,\r\n hasRollForwardQuestionComment: Constants.defaultRollFowardQuestionComment,\r\n hasRollForwardQuestionAttachment:\r\n Constants.defaultRollFowardQuestionAttachment,\r\n };\r\n\r\n if (\r\n this.state !== undefined &&\r\n this.state.createData !== undefined &&\r\n this.state.createData !== null\r\n ) {\r\n createData = this.state.createData;\r\n }\r\n let value = null;\r\n if (data === undefined) {\r\n value = e;\r\n } else {\r\n value = e;\r\n }\r\n\r\n createData.prePopulatedId = value;\r\n this.validateFields(createData);\r\n this.setState({ createData: createData });\r\n }\r\n\r\n handleRollForwardComment(e, data) {\r\n let createData = {\r\n checklistTypeID: \"ARQC\",\r\n clientID: this.props.client.id,\r\n reitID: this.props.reit.reitid,\r\n reportPeriodID: this.props.periodId,\r\n propertyID: null,\r\n IsPreviousAnswersPopulated: false,\r\n clientEmailTo: \"\",\r\n accountantEmailTo: \"\",\r\n propertyType: \"NotSelected\",\r\n checklistStateID: \"Created\",\r\n prePopulatedId: Constants.defaultPrepopulateAnswer,\r\n hasRollForwardQuestionComment: Constants.defaultRollFowardQuestionComment,\r\n hasRollForwardQuestionAttachment:\r\n Constants.defaultRollFowardQuestionAttachment,\r\n };\r\n\r\n if (\r\n this.state !== undefined &&\r\n this.state.createData !== undefined &&\r\n this.state.createData !== null\r\n ) {\r\n createData = this.state.createData;\r\n }\r\n let value = null;\r\n if (data === undefined) {\r\n value = e;\r\n } else {\r\n value = e;\r\n }\r\n\r\n createData.hasRollForwardQuestionComment =\r\n Constants.defaultRollFowardQuestionComment;\r\n createData.hasRollForwardQuestionAttachment =\r\n Constants.defaultRollFowardQuestionAttachment;\r\n if (value == \"2\" || value == \"3\") {\r\n createData.hasRollForwardQuestionComment = 1;\r\n }\r\n if (value == \"1\" || value == \"3\") {\r\n createData.hasRollForwardQuestionAttachment = 1;\r\n }\r\n this.validateFields(createData);\r\n this.setState({ createData: createData });\r\n }\r\n\r\n clientEmailsRef(ref) {\r\n let clientEmails = \"\";\r\n if (!this.state.inititiallySetEmails) {\r\n this.setState({ inititiallySetEmails: true });\r\n let emails = [];\r\n checklistActions\r\n .getReportPeriodSummary(this.state.periodId)\r\n .then((request) => {\r\n return request.json();\r\n })\r\n .then((json) => {\r\n if (json) {\r\n if (json.clientContactEmail) {\r\n let clientContactEmail = json.clientContactEmail;\r\n if (\r\n clientContactEmail !== undefined &&\r\n clientContactEmail !== null &&\r\n clientContactEmail !== \"\" &&\r\n !clientEmails.includes(clientContactEmail) &&\r\n !this.isEYEmailAddress(clientContactEmail)\r\n ) {\r\n clientEmails = clientContactEmail.toLowerCase().trim() + \";\";\r\n }\r\n\r\n emails.push(json.clientContactEmail);\r\n }\r\n }\r\n this.setState({ clientEmail: emails});\r\n this.setState({ createPsqFormLoaded: true });\r\n\r\n let createData = {\r\n checklistTypeID: \"ARQC\",\r\n clientID: this.props.client.id,\r\n reitID: this.props.reit.reitid,\r\n reportPeriodID: this.props.periodId,\r\n propertyID: null,\r\n IsPreviousAnswersPopulated: false,\r\n clientEmailTo: \"\",\r\n accountantEmailTo: \"\",\r\n propertyType: \"NotSelected\",\r\n checklistStateID: \"Created\",\r\n prePopulatedId: Constants.defaultPrepopulateAnswer,\r\n hasRollForwardQuestionComment: Constants.defaultRollFowardQuestionComment,\r\n hasRollForwardQuestionAttachment:\r\n Constants.defaultRollFowardQuestionAttachment,\r\n };\r\n if (\r\n this.state !== undefined &&\r\n this.state.createData !== undefined &&\r\n this.state.createData !== null\r\n ) {\r\n createData = this.state.createData;\r\n createData.clientEmailTo = clientEmails?.length > this.state.createData.clientEmailTo?.length ? clientEmails : this.state.createData?.clientEmailTo;\r\n this.validateFields(createData);\r\n this.setState({ createData: createData });\r\n }\r\n else {\r\n createData.clientEmailTo = clientEmails;\r\n this.validateFields(createData);\r\n this.setState({ createData: createData });\r\n }\r\n });\r\n }\r\n }\r\n validateFields(createData) {\r\n // Validate that both send to email and accountant email have text and are valid email addresses\r\n if (createData.clientEmailTo.length > 0) {\r\n // Validate Send To Multiple Email Addresses\r\n let sendToEmailValidation = false;\r\n\r\n // Get Array of Email Addresses\r\n const sendToEmailsList = createData.clientEmailTo\r\n .toLowerCase()\r\n .split(\";\");\r\n for (let email of sendToEmailsList) {\r\n if (formValidators.email(email.trim()) === \"Invalid email address\") {\r\n sendToEmailValidation = true;\r\n }\r\n }\r\n\r\n // Validate both Send To and Accountant Email Addresses\r\n if (sendToEmailValidation) {\r\n this.setState({ isSendEmailEnabled: false });\r\n } else {\r\n this.setState({ isSendEmailEnabled: true });\r\n }\r\n } else {\r\n this.setState({ isSendEmailEnabled: false });\r\n }\r\n }\r\n\r\n // Handle download checklist\r\n handleDownloadChecklists(downloadType) {\r\n // Getting a copy of the selected checklists from the local state\r\n const selectedChecklists = this.state.gridCurrentState\r\n .filter((gridData) => gridData.checklistSelection)\r\n .map((gridData) => {\r\n return {\r\n checklistID: gridData.checklistID,\r\n checklistType: gridData.checklistType,\r\n quarter: gridData.quarter,\r\n reitName: gridData.reitName,\r\n reportPeriodID: gridData.reportPeriodID,\r\n propertyName: gridData.propertyName,\r\n propertyTypeDescription: gridData.propertyTypeDescription,\r\n };\r\n });\r\n\r\n //Get unique checklists\r\n let uniqueselectedChecklists = Object.assign({}, selectedChecklists);\r\n uniqueselectedChecklists = selectedChecklists.filter(\r\n (value, index, self) =>\r\n self.findIndex((self) => self.checklistID === value.checklistID) ===\r\n index\r\n );\r\n\r\n // Creating a object array for all the selected checklists with corresponding request details\r\n const checklistRequestDetails = uniqueselectedChecklists.map((c) => ({\r\n reitNameAndPeriod: `reitName=${c.reitName},periodDesc=${this.props.period.reportPeriodDescription}`,\r\n periodId: c.reportPeriodID,\r\n id: c.checklistID,\r\n isExternal: true,\r\n filename: \"\",\r\n reitName: c.reitName,\r\n propertyName: c.propertyName,\r\n propertyTypeDescription: c.propertyTypeDescription,\r\n quarter: c.quarter,\r\n }));\r\n\r\n // Logic for file name\r\n checklistRequestDetails.forEach((item) => {\r\n // Setting a defualt file name based on the Report period, Year, RIET, Property name and Property type description\r\n const defaultFilename = `${this.props.period.reportPeriodDescription.replace(\r\n \" \",\r\n \"\"\r\n )}_${item.reitName}_${this.state.psqArqc}`;\r\n\r\n // Checking if a row object is already created with the standard file name\r\n const existingFiles = checklistRequestDetails\r\n .filter((c) => c.filename.includes(defaultFilename))\r\n .sort();\r\n\r\n if (existingFiles.length > 0) {\r\n //Splilling the file name based on \"_\"\r\n const fileNameSplitArray = existingFiles[\r\n existingFiles.length - 1\r\n ].filename\r\n .split(\".\")[0]\r\n .split(\"_\");\r\n\r\n if (existingFiles.length > 1) {\r\n /* Case when there are more than one files with the same combination of Report period, Year, RIET, Property name and Property type description\r\n In such cases, incrementing the version at the end */\r\n const currentVersion = parseInt(\r\n fileNameSplitArray[fileNameSplitArray.length - 1]\r\n );\r\n fileNameSplitArray[fileNameSplitArray.length - 1] = (\r\n currentVersion + 1\r\n ).toString();\r\n item.filename = `${fileNameSplitArray.join(\"_\")}.docx`;\r\n } else {\r\n // Case when there is only one file with the existing combination, hence appending the version as 1 at the end\r\n item.filename = `${fileNameSplitArray.join(\"_\")}_1.docx`;\r\n }\r\n } else {\r\n // Case when there is no file name with the combination\r\n item.filename = `${defaultFilename}.docx`;\r\n }\r\n });\r\n\r\n // Preparing the request body\r\n const request = {\r\n client: null,\r\n calendarYear: new Date(this.props.period.endDate).getFullYear(),\r\n checklistRequestDetails: checklistRequestDetails,\r\n clientId: this.props.clientId,\r\n };\r\n\r\n // Calling the action to fetch data from the API\r\n this.props.reportActions\r\n .downloadChecklists(request, this.state.psqArqc, downloadType)\r\n .then(() => {\r\n // Refreshing grid and toggling the modal to false\r\n this.refreshGrid(this.getSelectedChecklists());\r\n this.toggleShowDownloadChecklistsModal(downloadType);\r\n })\r\n .catch(() => {\r\n // Toggle the modal to fasle\r\n this.toggleShowDownloadChecklistsModal(downloadType);\r\n });\r\n }\r\n\r\n setInititiallySetEmailsFrwd () {\r\n this.setState({ isInititiallySetEmailsFrwd: true });\r\n }\r\n\r\n handleCancel(){\r\n this.handleCancelAction();\r\n this.setState({ isInititiallySetEmailsFrwd: true, inititiallySetEmails: false});\r\n }\r\n\r\n handleCreate(){ \r\n this.setState({ isRefreshGridRequired: true }); \r\n this.handleCreateAction();\r\n this.setState({ isInititiallySetEmailsFrwd: true, inititiallySetEmails: false });\r\n } \r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n
    \r\n
    \r\n

    Annual REIT Qualification Checklist

    \r\n
    \r\n
    \r\n \r\n\r\n {this.props.manageChecklists &&\r\n this.props.manageChecklists.length === 0 && (\r\n
    No ARQCs found for this period.
    \r\n )}\r\n\r\n {this.props.refreshManageChecklistClientId === this.props.clientId && (\r\n \r\n Contents on the checklist table below has been changed, please{\" \"}\r\n \r\n refresh\r\n {\" \"}\r\n the table.\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n let cid = Number.parseInt(ownProps.router.params.clientId);\r\n if (isNaN(cid)) {\r\n cid = 0;\r\n }\r\n\r\n return {\r\n clientId: cid,\r\n clientIsAudit: state.client && state.client.isAudit,\r\n periodId: Number.parseInt(ownProps.router.params.periodId),\r\n period: state.period,\r\n manageChecklists: state.manageChecklists,\r\n manageChecklistValues: getFormValues(\"arqcChecklist\")(state),\r\n initialValues: {},\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n formSyncErrors: getFormSyncErrors(\"arqcChecklist\")(state),\r\n formSubmitErrors: getFormSubmitErrors(\"arqcChecklist\")(state),\r\n refreshManageChecklistClientId: state.refreshManageChecklistClient,\r\n client: state.client,\r\n reit: state.reit,\r\n externalUserVisibilityData: state.externalUserVisibilityData,\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n clientActions: bindActionCreators(clientActions, dispatch),\r\n checklistActions: bindActionCreators(checklistActions, dispatch),\r\n reportActions: bindActionCreators(reportActions, dispatch),\r\n periodActions: bindActionCreators(periodActions, dispatch),\r\n customQuestionActions: bindActionCreators(customQuestionActions, dispatch),\r\n reitActions: bindActionCreators(reitActions, dispatch),\r\n externalUserVisibilityActions: bindActionCreators(externalUserVisibilityActions, dispatch),\r\n };\r\n}\r\n\r\nARQCChecklistContainer.propTypes = {\r\n clientId: PropTypes.number,\r\n periodId: PropTypes.number.isRequired,\r\n clientIsAudit: PropTypes.bool,\r\n manageChecklists: PropTypes.array,\r\n manageChecklistValues: PropTypes.object,\r\n initialValues: PropTypes.object,\r\n clientActions: PropTypes.object,\r\n periodActions: PropTypes.object.isRequired,\r\n checklistActions: PropTypes.object,\r\n reportActions: PropTypes.object,\r\n currentUserAuthorizations: PropTypes.array,\r\n initialize: PropTypes.func,\r\n refreshManageChecklistClientId: PropTypes.number,\r\n externalUserVisibilityActions: PropTypes.object,\r\n externalUserVisibilityData: PropTypes.array,\r\n};\r\n\r\nexport default withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n )(\r\n reduxForm({ form: \"arqcChecklist\", enableReinitialize: true })(\r\n ARQCChecklistContainer\r\n )\r\n )\r\n);\r\n","import React, { useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { MotifProgressBar } from \"@ey-xd/motif-react\";\r\n\r\nconst arraysEqual = (a, b) => {\r\n if (a === b) return true;\r\n if (a == null || b == null) return false;\r\n if (a.length != b.length) return false;\r\n\r\n for (let i = 0; i < a.length; ++i) {\r\n\r\n if (!b.includes(a[i])) return false;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst previousAnswersChanged = (item, previousChecklistFound) => {\r\n\r\n if (!previousChecklistFound) {\r\n return false;\r\n }\r\n\r\n if (item.itemType.toLowerCase() === \"arqcstockfmvtable\") {\r\n for (let i = 0; i < item.previousAnswers.length; i++) {\r\n if (item.selectedAnswers.length < i + 1) {\r\n return false;\r\n }\r\n\r\n if (item.selectedAnswers[i].fmvOfStockOwned !== item.previousAnswers[i].fmvOfStockOwned) {\r\n return true;\r\n }\r\n\r\n if (item.selectedAnswers[i].percentOfStockOwned !== item.previousAnswers[i].percentOfStockOwned) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n if (item.selectedAnswers.length > 0 && !arraysEqual(item.selectedAnswers, item.previousAnswers)) {\r\n return true;\r\n }\r\n\r\n if (item.selectedAnswers.length === 0 && !arraysEqual(item.defaultAnswers, item.previousAnswers)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n\r\n// Check if question is Excluded from Counters for all users\r\nconst isQuestionExcludedFromCounterForAllUsers = (question) => {\r\n // Exclude Date Completed question\r\n if(question.isEnabled === false && question.systemRule && question.systemRule.name === 'DateStamp'\r\n && question.systemRule.isDisabledOnSystemAnswer\r\n && question.title.endsWith('Date Completed (Answered by REITSuite when submitted to EY)')) {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst checklistCounters = ({ checklist, disabledSections, isExternal, previousChecklistFound, shouldHideChangedAnswers, isSectionProgress, handlePsqCompletionRequirement }) => {\r\n if (checklist) {\r\n let totalQuestions = 0;\r\n let answeredQuestions = 0;\r\n let changedQuestions = 0;\r\n\r\n if (checklist.content !== undefined) {\r\n for (let s = 0; s < checklist.content.length; s++) {\r\n if (checklist.content[s].items !== undefined && (disabledSections === undefined || disabledSections.find(x => x === checklist.content[s].id) === undefined)) {\r\n\r\n if (checklist.content[s].type === \"ArqcExhibitB\") {\r\n totalQuestions++;\r\n\r\n if (checklist.content[s].items !== undefined && checklist.content[s].items.length > 0 && checklist.content[s].items[0].selectedAnswers.length > 0) {\r\n answeredQuestions++;\r\n }\r\n\r\n continue;\r\n }\r\n\r\n for (let i = 0; i < checklist.content[s].items.length; i++) {\r\n if ((checklist.content[s].items[i].itemType.toLowerCase() === \"button\"\r\n || checklist.content[s].items[i].itemType.toLowerCase() === \"menu\"\r\n || checklist.content[s].items[i].itemType.toLowerCase() === \"plaintext\"\r\n || checklist.content[s].items[i].itemType.toLowerCase() === \"psqsection2propertymanager\"\r\n || checklist.content[s].items[i].itemType.toLowerCase() === \"psqsection2additionalservices\"\r\n || checklist.content[s].items[i].itemType.toLowerCase() === \"arqcstockfmvtable\"\r\n || checklist.content[s].items[i].itemType.toLowerCase() === \"arqcexhibitbmortgagetable\")\r\n && (checklist.content[s].items[i].isExcludedFromCounter === undefined\r\n || checklist.content[s].items[i].isExcludedFromCounter === false\r\n || isExternal === false)\r\n && !isQuestionExcludedFromCounterForAllUsers(checklist.content[s].items[i])) {\r\n\r\n totalQuestions++;\r\n\r\n if (previousAnswersChanged(checklist.content[s].items[i], previousChecklistFound)) {\r\n changedQuestions++;\r\n }\r\n\r\n if ((checklist.content[s].items[i].selectedAnswers !== undefined\r\n && checklist.content[s].items[i].selectedAnswers.length > 0\r\n && checklist.content[s].items[i].selectedAnswers.toString().length > 0)\r\n || (checklist.content[s].items[i].defaultAnswers !== undefined\r\n && checklist.content[s].items[i].defaultAnswers.length > 0\r\n && checklist.content[s].items[i].defaultAnswers.toString().length > 0)) {\r\n answeredQuestions++;\r\n\r\n if (checklist.content[s].items[i].itemType.toLowerCase() === \"arqcstockfmvtable\") {\r\n // don't count arqcstockfmvtable question unless\r\n let isAnswered = false;\r\n for (let a = 0; a < checklist.content[s].items[i].selectedAnswers.length; a++) {\r\n if ((checklist.content[s].items[i].selectedAnswers[a].fmvOfStockOwned !== null\r\n && checklist.content[s].items[i].selectedAnswers[a].fmvOfStockOwned !== \"\")\r\n || (checklist.content[s].items[i].selectedAnswers[a].percentOfStockOwned !== null\r\n && checklist.content[s].items[i].selectedAnswers[a].percentOfStockOwned !== \"\")) {\r\n isAnswered = true;\r\n }\r\n }\r\n\r\n if (!isAnswered) {\r\n answeredQuestions--;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (checklist.content[s].items[i].children !== undefined) {\r\n for (let c = 0; c < checklist.content[s].items[i].children.length; c++) {\r\n let isVisible = false;\r\n let item = checklist.content[s].items[i].children[c];\r\n let parentItem = checklist.content[s].items[i];\r\n if (item.enabledByParentAnswers === undefined || item.enabledByParentAnswers.length === 0) {\r\n isVisible = true;\r\n } else {\r\n // determine whether the item is enabled by the parent item\r\n for (let i = 0; i < item.enabledByParentAnswers.length; i++) {\r\n if ((parentItem.selectedAnswers === undefined || parentItem.selectedAnswers.length === 0) &&\r\n parentItem.defaultAnswers.find(x => x === item.enabledByParentAnswers[i]) !== undefined) {\r\n isVisible = true;\r\n break;\r\n } else if (parentItem.selectedAnswers.find(x => x === item.enabledByParentAnswers[i]) !== undefined) {\r\n isVisible = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if ((checklist.content[s].items[i].children[c].itemType.toLowerCase() === \"button\"\r\n || checklist.content[s].items[i].children[c].itemType.toLowerCase() === \"menu\"\r\n || checklist.content[s].items[i].children[c].itemType.toLowerCase() === \"plaintext\"\r\n || checklist.content[s].items[i].children[c].itemType.toLowerCase() === \"arqcstockfmvtable\")\r\n && (checklist.content[s].items[i].isExcludedFromCounter === undefined\r\n || checklist.content[s].items[i].isExcludedFromCounter === false\r\n || isExternal === false)\r\n && isVisible\r\n && !isQuestionExcludedFromCounterForAllUsers(checklist.content[s].items[i].children[c])) {\r\n\r\n totalQuestions++;\r\n\r\n if (previousAnswersChanged(checklist.content[s].items[i].children[c], previousChecklistFound)) {\r\n changedQuestions++;\r\n }\r\n\r\n if ((checklist.content[s].items[i].children[c].selectedAnswers.length > 0\r\n && checklist.content[s].items[i].children[c].selectedAnswers.toString().length > 0)\r\n || (checklist.content[s].items[i].children[c].defaultAnswers.length > 0\r\n && checklist.content[s].items[i].children[c].defaultAnswers.toString().length > 0)) {\r\n answeredQuestions++;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n let checklistCompletionPercentage = (answeredQuestions/totalQuestions) * 100;\r\n\r\n useEffect(() => {\r\n if(handlePsqCompletionRequirement) {\r\n handlePsqCompletionRequirement(checklistCompletionPercentage);\r\n }\r\n }, [checklistCompletionPercentage]);\r\n\r\n return (\r\n \r\n { \r\n isSectionProgress ?\r\n (\r\n
    \r\n { totalQuestions === 0 \r\n ? \r\n : \r\n }\r\n
    \r\n )\r\n :\r\n (
    \r\n
    \r\n Questions Completed: \r\n {answeredQuestions}/{totalQuestions}\r\n
    \r\n { !shouldHideChangedAnswers &&\r\n
    \r\n Changed Answers: \r\n {changedQuestions}\r\n
    }\r\n
    )\r\n }\r\n
    \r\n );\r\n } else {\r\n return (
    );\r\n }\r\n};\r\n\r\nchecklistCounters.propTypes = {\r\n checklist: PropTypes.object,\r\n disabledSections: PropTypes.array,\r\n isExternal: PropTypes.bool,\r\n previousChecklistFound: PropTypes.array,\r\n shouldHideChangedAnswers: PropTypes.bool,\r\n isSectionProgress: PropTypes.bool,\r\n handlePsqCompletionRequirement: PropTypes.func\r\n};\r\n\r\nexport default checklistCounters;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { MotifTabNavigation, MotifTabControl, MotifBadge } from \"@ey-xd/motif-react\";\r\nimport ChecklistCounters from \"../../components/reits/ChecklistCounters\";\r\nimport * as menuNames from '../../constants/checklistNavigationTabs';\r\n\r\nconst checklistNavigation = ({ checklist, activeItem, disabledSections, handleSelectionChanged, checklistFiles, isExternal,navigationCount }) => {\r\n let checklistContent = checklist ? checklist.content : [];\r\n if (checklistContent.length > 0) {\r\n const isEnabledByParent = function (item, parentItem) {\r\n let isEnabled = false;\r\n if (item.enabledByParentAnswers === undefined || item.enabledByParentAnswers.length === 0) {\r\n isEnabled = true;\r\n } else {\r\n // determine whether the item is enabled by the parent item\r\n for (let i = 0; i < item.enabledByParentAnswers.length; i++) {\r\n if ((parentItem.selectedAnswers === undefined || parentItem.selectedAnswers.length === 0) &&\r\n parentItem.defaultAnswers.find(x => x === item.enabledByParentAnswers[i]) !== undefined) {\r\n isEnabled = true;\r\n break;\r\n } else if (parentItem.selectedAnswers.find(x => x === item.enabledByParentAnswers[i]) !== undefined) {\r\n isEnabled = true;\r\n break;\r\n }\r\n }\r\n }\r\n return isEnabled;\r\n }\r\n\r\n const specialReducerComments = function (parentItem) {\r\n return function (total, el) {\r\n if (isEnabledByParent(el, parentItem)) {\r\n return total + (el.comments === undefined ? 0 : el.comments.length)\r\n + (el.children === undefined ? 0 : el.children.reduce(specialReducerComments(el), 0))\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n }\r\n\r\n const specialReducerAttachments = function (parentItem) {\r\n return function (total, el) {\r\n if (isEnabledByParent(el, parentItem)) {\r\n return total + (checklistFiles === undefined ? 0 : checklistFiles.filter(f => f.questionID == el.id).length)\r\n + (el.children === undefined ? 0 : el.children.reduce(specialReducerAttachments(el), 0))\r\n }\r\n else {\r\n return 0;\r\n }\r\n }\r\n }\r\n\r\n const reducerComments = function (total, el) {\r\n return total + (el.comments === undefined ? 0 : el.comments.length)\r\n + (el.children === undefined ? 0 : el.children.reduce(specialReducerComments(el), 0))\r\n }\r\n\r\n const reducerAttachments = function (total, el) {\r\n return total + (checklistFiles === undefined ? 0 : checklistFiles.filter(f => f.questionID == el.id).length)\r\n + (el.children === undefined ? 0 : el.children.reduce(specialReducerAttachments(el), 0))\r\n }\r\n\r\n return (\r\n \r\n {\r\n checklistContent.map((section, index) => {\r\n const commentsCount = section.items.reduce(reducerComments, 0);\r\n const attachmentsCount = section.items.reduce(reducerAttachments, 0);\r\n // Create a new copy of checklist with current section content only\r\n let checklistWithCurrentSection = JSON.parse(JSON.stringify(checklist));\r\n checklistWithCurrentSection.content = checklistWithCurrentSection.content.slice(index, index+1);\r\n\r\n return x === section.id) !== undefined}\r\n onClick={(e)=>handleSelectionChanged(e, {name:section.title})}>\r\n {section.title}\r\n\r\n \r\n \r\n })\r\n }\r\n
    \r\n {\r\n menuNames.TabProperty.map((tabName, index) => {\r\n let count=0;\r\n if(navigationCount && navigationCount.length)\r\n {\r\n count=navigationCount.find(x=>x.counter==tabName.title).totalCount;\r\n }\r\n const dataTestId=\"lbl\"+tabName.title;\r\n \r\n return handleSelectionChanged(e, { name: tabName.title })}>\r\n {tabName.title}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n })\r\n }\r\n
    \r\n );\r\n } else {\r\n return (
    );\r\n }\r\n};\r\n\r\nchecklistNavigation.propTypes = {\r\n disabledSections: PropTypes.array.isRequired,\r\n checklist: PropTypes.object,\r\n activeItem: PropTypes.object,\r\n handleSelectionChanged: PropTypes.func.isRequired,\r\n checklistFiles: PropTypes.array,\r\n isExternal: PropTypes.bool\r\n};\r\n\r\nexport default checklistNavigation;","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { MotifButton, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter} from '@ey-xd/motif-react';\r\n\r\nconst ChecklistCompleteModal = ({ handleModalAction, showModal }) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close upload checklist delivery schedules modal',\r\n ariaLabel: 'Close upload checklist delivery schedules modal',\r\n dataTestid: 'close',\r\n value:'CANCEL'\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Approve checklist\r\n \r\n \r\n \r\n Are you sure your review is complete? You will not be able to update the checklist once review is completed. Click \"Yes\" to finalize the review, or \"No\" to return to editing and reviewing. \r\n \r\n \r\n \r\n No\r\n \r\n \r\n Yes\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nChecklistCompleteModal.propTypes = {\r\n showModal: PropTypes.bool,\r\n handleModalAction: PropTypes.func.isRequired\r\n};\r\n\r\nexport default ChecklistCompleteModal;","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { indexOfWhile } from '../../scripts/arrayHelpers';\r\n\r\nexport class Tabs extends Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n activeTabIndex: this.props.defaultActiveTabIndex\r\n };\r\n this.handleTabClick = this.handleTabClick.bind(this);\r\n }\r\n\r\n \r\n componentDidUpdate(prevProps) {\r\n if (prevProps.lastClickedTabChecklistQuestionId !== this.props.lastClickedTabChecklistQuestionId) {\r\n if (this.props.siblingQuestionIds\r\n && Array.isArray(this.props.siblingQuestionIds)\r\n && indexOfWhile(this.props.siblingQuestionIds, this.props.lastClickedTabChecklistQuestionId) >= 0) {\r\n this.setState({ activeTabIndex: this.props.defaultActiveTabIndex });\r\n }\r\n }\r\n }\r\n\r\n handleTabClick(tabIndex) {\r\n const shouldToggleOnSameTabClick = this.props.defaultActiveTabIndex === -1;\r\n\r\n this.setState({\r\n activeTabIndex: tabIndex === this.state.activeTabIndex && shouldToggleOnSameTabClick ? this.props.defaultActiveTabIndex : tabIndex\r\n });\r\n\r\n if (this.props.handleTabClick && typeof this.props.handleTabClick === 'function') {\r\n this.props.handleTabClick();\r\n }\r\n }\r\n\r\n // Encapsulate component API as props for children\r\n renderChildrenWithTabsApiAsProps() {\r\n return this.props.children.map((child, index) => {\r\n return React.cloneElement(child, {\r\n onClick: this.handleTabClick,\r\n tabIndex: index,\r\n key: index,\r\n isActive: index === this.state.activeTabIndex\r\n });\r\n });\r\n }\r\n\r\n // Render current active tab content\r\n renderActiveTabContent() {\r\n const { children } = this.props;\r\n const { activeTabIndex } = this.state;\r\n if (children[activeTabIndex]) {\r\n return children[activeTabIndex].props.children;\r\n }\r\n }\r\n\r\n render() {\r\n var divClass = this.state.activeTabIndex == -1 ? \"tabs mb-3\" : \"tabs\"\r\n return (\r\n
    \r\n
      \r\n {this.renderChildrenWithTabsApiAsProps()}\r\n
    \r\n
    \r\n
    \r\n {this.renderActiveTabContent()}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nTabs.propTypes = {\r\n defaultActiveTabIndex: PropTypes.number,\r\n handleTabClick: PropTypes.func,\r\n siblingQuestionIds: PropTypes.array\r\n};\r\n\r\nTabs.defaultProps = {\r\n defaultActiveTabIndex: 0\r\n};","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Icon, Popup } from \"semantic-ui-react\";\r\nimport { MotifButton, MotifIconButton, MotifIcon, MotifTooltip } from \"@ey-xd/motif-react\";\r\nimport { IconoirAttachment, IconoirChatLines, IconoirClockRotateRight } from '@ey-xd/motif-icon';\r\n\r\nexport const Tab = (props) => {\r\n return (\r\n
  • \r\n {\r\n event.preventDefault();\r\n props.onClick(props.tabIndex);\r\n }:null}> \r\n \r\n {\r\n event.preventDefault();\r\n props.onClick(props.tabIndex);\r\n \r\n }} disabled={props.isDisabledTab} >\r\n {props.iconName == 'history' && }\r\n {props.iconName == 'comments' && }\r\n {props.iconName == 'attach' && }\r\n \r\n \r\n {props.text}\r\n }\r\n content={props.hoverText}\r\n on={['hover', 'focus']}\r\n inverted\r\n /> \r\n
  • \r\n )\r\n}\r\n\r\nTab.propTypes = {\r\n onClick: PropTypes.func,\r\n tabIndex: PropTypes.number,\r\n isActive: PropTypes.bool,\r\n iconClassName: PropTypes.string,\r\n linkClassName: PropTypes.string,\r\n text: PropTypes.string,\r\n hoverText: PropTypes.string,\r\n isDisabledTab:PropTypes.bool\r\n};\r\n\r\nTab.defaultProps = {\r\n isDisabledTab: false\r\n};\r\n","export const checklistAttachmentsAcceptedTypes={\r\n \"application/vnd.ms-excel\": [\".xls\"],\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": [\".xlsx\"],\r\n \"application/msword\": [\".doc\"],\r\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\": [\".docx\"],\r\n \"application/pdf\": [\".pdf\"],\r\n \"image/jpeg\": [\".jpg\"],\r\n \"image/gif\": [\".gif\"],\r\n \"image/bmp\": [\".bmp\"],\r\n \"image/png\": [\".png\"],\r\n \"application/vnd.ms-excel.sheet.macroEnabled.12\": [\".xlsm\"],\r\n \"application/vnd.ms-excel.sheet.binary.macroEnabled.12\": [\".xlsb\"],\r\n \"text/csv\": [\".csv\"],\r\n \"application/xml\": [\".xml\"],\r\n \"message/rfc822\": [\".mht\", \".mhtml\"],\r\n \"text/html\": [\".htm\", \".html\"],\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\": [\".xltx\"],\r\n \"application/vnd.ms-excel.template.macroEnabled.12\": [\".xlt\"],\r\n \"text/plain\": [\".txt\"],\r\n \"application/prs.plucker\": [\".prn\"],\r\n \"application/x-dif\": [\".dif\"],\r\n \"application/vnd.ms-excel.slk\": [\".slk\"],\r\n \"application/vnd.ms-excel.addin.macroEnabled.12\": [\".xlam\"],\r\n \"application/vnd.ms-excel.addin.macroEnabled\": [\".xla\"],\r\n \"application/vnd.ms-xpsdocument\": [\".xps\"],\r\n \"application/vnd.oasis.opendocument.spreadsheet\": [\".ods\"],\r\n \"application/vnd.ms-outlook\": [\".msg\"],\r\n }\r\n \r\n // Convert the fileTypes object into a Set of accepted MIME types for easier checking\r\nexport const getAcceptedMimeTypes = (checklistAttachmentsAcceptedTypes) => {\r\n return new Set(\r\n Object.keys(checklistAttachmentsAcceptedTypes).flatMap(type => checklistAttachmentsAcceptedTypes[type].map(ext => `${type}`))\r\n );\r\n };\r\n\r\n export const validateFiles = (acceptedFiles, acceptedMimeTypes) => {\r\n // Filter out files that do not have an accepted MIME type\r\n const { validFiles, invalidFiles } = acceptedFiles.reduce(\r\n (acc, file) => {\r\n if (acceptedMimeTypes.has(file.type)) {\r\n acc.validFiles.push(file);\r\n } else {\r\n acc.invalidFiles.push(file);\r\n }\r\n return acc;\r\n },\r\n { validFiles: [], invalidFiles: [] }\r\n );\r\n \r\n return { validFiles, invalidFiles };\r\n };","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Icon, Progress, Button, Header } from 'semantic-ui-react';\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as checklistActions from \"../../actions/checklistActions\";\r\nimport { MotifButton, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter,MotifFileUploader, MotifMessage } from '@ey-xd/motif-react';\r\nimport * as Constants from \"../../constants/other\";\r\nimport * as FileUploadValidations from \"../../common/FileUploadValidations\";\r\n\r\n/**\r\n * Container component used for uploading trial balance files\r\n */\r\nexport class ChecklistFileUploadModal extends React.Component {\r\n /**\r\n * Creates a new ChecklistFileUploadModal\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.renderUploadStatus = this.renderUploadStatus.bind(this);\r\n this.handleOnDropPostValidation = this.handleOnDropPostValidation.bind(this);\r\n this.onDrop = this.onDrop.bind(this);\r\n\r\n this.state = {\r\n status: null,\r\n rejectedFiles: []\r\n };\r\n\r\n this.acceptedFileExtensions = '.xlsx,.docx,.pdf';\r\n const extensions = process.env.WHITELISTED_EXTENSIONS;\r\n if (Array.isArray(extensions)) {\r\n this.acceptedFileExtensions = extensions.join();\r\n }\r\n }\r\n\r\n /// \r\n /// Handles onDrop event after validation of Report Period Visibility Constraint.\r\n /// \r\n handleOnDropPostValidation = (acceptedFiles, rejectedFiles) => {\r\n if (Array.isArray(rejectedFiles) && rejectedFiles.length > 0) {\r\n this.setState({ status: 'Rejected', rejectedFiles });\r\n } else if (Array.isArray(acceptedFiles)) {\r\n const activeChecklist = this.props.isArqc ? this.props.arqcActiveChecklist : this.props.psqActiveChecklist;\r\n if (activeChecklist) {\r\n this.setState({ status: 'Uploading', rejectedFiles: [] });\r\n\r\n this.props.checklistActions.uploadChecklistFiles(\r\n acceptedFiles,\r\n activeChecklist.checklistID,\r\n this.props.isArqc ? 'ARQC' : 'PSQ',\r\n this.props.questionId,\r\n this.props.checklistId,\r\n this.props.isExternal)\r\n .then(responses => {\r\n if (responses.every(r => r)) {\r\n this.refreshChecklistFiles(activeChecklist.checklistID, this.props.isArqc ? 'ARQC' : 'PSQ', this.props.checklistId);\r\n this.setState({ status: 'Success' });\r\n } else {\r\n this.setState({ status: 'Error' });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n onDrop(acceptedFiles, rejectedFiles=[]) {\r\n const acceptedMimeTypes = FileUploadValidations.getAcceptedMimeTypes(FileUploadValidations.checklistAttachmentsAcceptedTypes);\r\n \r\n // Use the function to validate files\r\n const { validFiles, invalidFiles } = FileUploadValidations.validateFiles(acceptedFiles, acceptedMimeTypes);\r\n\r\n // Combine the originally rejected files with the newly rejected ones\r\n const combinedRejectedFiles = [...rejectedFiles, ...invalidFiles];\r\n \r\n // Proceed with the rest of the onDrop logic\r\n if (this.props.isExternal && this.props.checkReportPeriodVisibilityConstraint != null) {\r\n this.props.checkReportPeriodVisibilityConstraint().then((response) => {\r\n // This additional check to prevent any further file upload action.\r\n let proceedWithAction = true;\r\n \r\n if (response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND') {\r\n proceedWithAction = false;\r\n }\r\n \r\n if (proceedWithAction) {\r\n this.handleOnDropPostValidation(validFiles, combinedRejectedFiles);\r\n }\r\n });\r\n } else {\r\n this.handleOnDropPostValidation(validFiles, combinedRejectedFiles);\r\n }\r\n }\r\n \r\n\r\n refreshChecklistFiles(checklistId, checklistType, checklistGuid) {\r\n this.props.checklistActions.fetchAttachmentDetail(this.props.client.id,\r\n checklistId, null, checklistGuid, checklistType);\r\n const request = {\r\n GetCountOfAttachments: true,\r\n GetCountOfDiscrepencies: true,\r\n GetCountOfComments: true,\r\n };\r\n\r\n this.props.checklistActions\r\n .fetchChecklistNavCounts(\r\n this.props.client.id,\r\n checklistId,\r\n request,\r\n checklistGuid,\r\n checklistType\r\n );\r\n }\r\n renderUploadStatus() {\r\n let msg;\r\n let colorClass;\r\n\r\n if (this.state.status == 'Uploading') {\r\n msg = 'Uploading file(s)';\r\n } else if (this.state.status == 'Success') {\r\n msg = 'File(s) Uploaded Successfully';\r\n colorClass = 'text-success';\r\n } else if (this.state.status == 'Rejected') {\r\n msg = 'The following file(s) were rejected:';\r\n colorClass = 'text-danger';\r\n } else if (this.state.status == 'Error') {\r\n msg = 'There was a problem uploading your file(s)';\r\n colorClass = 'text-danger';\r\n }\r\n\r\n return msg &&\r\n
    \r\n {this.state.status == 'Success' \r\n ? {msg}\r\n : (this.state.status == 'Rejected' || this.state.status == 'Error') \r\n ? {msg}\r\n : {msg}\r\n }\r\n {this.state.rejectedFiles && this.state.rejectedFiles.length > 0 && this.state.rejectedFiles.map((f, index) =>\r\n \r\n
    \r\n
    {f.name}
    \r\n
    \r\n {f.size > Constants.MAX_UPLOAD_FILE_SIZE_IN_BYTES\r\n ? The file size has exceeded max limit of {Constants.MAX_UPLOAD_FILE_SIZE_IN_MB}MB\r\n : Invalid file extension}\r\n
    \r\n
    \r\n )}\r\n {this.state.rejectedFiles && this.state.rejectedFiles.length > 0 &&\r\n !this.state.rejectedFiles.every(f => f.size > Constants.MAX_UPLOAD_FILE_SIZE_IN_BYTES) &&\r\n
    \r\n \r\n The following file extensions are accepted: {this.acceptedFileExtensions.replace(/\\./g, '').replace(/\\,/g, ', ')}\r\n \r\n
    }\r\n
    ;\r\n }\r\n\r\n handleCloseModal()\r\n {\r\n this.setState({ status: null, rejectedFiles: [] });\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close upload file(s) to checklist question modal',\r\n ariaLabel: 'Close upload file(s) to checklist question modal',\r\n dataTestid: 'close'\r\n };\r\n\r\n return (\r\n {\r\n this.props.hideChecklistFileUploadModal();\r\n this.handleCloseModal();\r\n }} data-testid=\"uploadChecklistFile\">\r\n \r\n \r\n Upload File(s) to Checklist Question\r\n \r\n \r\n \r\n \r\n
    \r\n {this.renderUploadStatus()}\r\n
    \r\n
    \r\n \r\n {\r\n this.props.hideChecklistFileUploadModal();\r\n this.handleCloseModal();\r\n }} >\r\n Close\r\n \r\n \r\n\r\n
    \r\n );\r\n }\r\n}\r\n\r\nChecklistFileUploadModal.propTypes = {\r\n checklistId: PropTypes.string, // Will only be passed in for external users (string of email identifier)\r\n questionId: PropTypes.number.isRequired,\r\n hideChecklistFileUploadModal: PropTypes.func.isRequired,\r\n authHeader: PropTypes.object,\r\n psqActiveChecklist: PropTypes.object,\r\n isArqc: PropTypes.bool.isRequired,\r\n isChecklistFileUploadModalOpen:PropTypes.bool,\r\n isExternal: PropTypes.bool,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n* @param {Object} state The state\r\n* @param {Object} ownProps The properties of the component\r\n* @returns {Object} An object containing properties that the component can access\r\n*/\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n psqActiveChecklist: state.psqActiveChecklist,\r\n arqcActiveChecklist: state.arqcActiveChecklist,\r\n client: state.client\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n checklistActions: bindActionCreators(checklistActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ChecklistFileUploadModal);","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifButton,\r\n MotifIcon\r\n} from '@ey-xd/motif-react';\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\nimport { addAttribute } from '../../common/Attribute';\r\nconst DeleteChecklistDetailGridRowModal = ({\r\n showDeleteChecklistGridRowModal,\r\n toggleshowDeleteChecklistGridRowModal,\r\n deleteRow,\r\n modalName,\r\n}) => {\r\n useEffect(() => {\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", 'type', 'button');\r\n });\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: `Close Delete ${modalName} modal`,\r\n ariaLabel: `Close Delete ${modalName} modal`,\r\n dataTestid: 'close',\r\n };\r\n const page = modalName == \"Attachments\" ? \"Attachment\" : \"Comment\";\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Delete {page}\r\n \r\n \r\n \r\n Are you sure you want to delete this {page.toLowerCase()}?\r\n \r\n \r\n Cancel\r\n Delete\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nDeleteChecklistDetailGridRowModal.propTypes = {\r\n showDeleteChecklistGridRowModal: PropTypes.bool,\r\n toggleshowDeleteChecklistGridRowModal: PropTypes.bool,\r\n deleteRow: PropTypes.func,\r\n modalName: PropTypes.string\r\n};\r\n\r\nexport default DeleteChecklistDetailGridRowModal;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Icon, Progress, Button, Header } from \"semantic-ui-react\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { Tabs } from \"../shared/Tabs\";\r\nimport { Tab } from \"../shared/Tab\";\r\nimport { relativeDate, getDateTime } from \"../../scripts/dateHelpers\";\r\nimport * as checklistActions from \"../../actions/checklistActions\";\r\nimport ChecklistFileUploadModal from \"./ChecklistFileUploadModal\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport * as actions from \"../../actions/actionTypes\";\r\nimport {\r\n MotifButton,\r\n MotifIcon,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifLabel,\r\n MotifIconButton,\r\n} from \"@ey-xd/motif-react\";\r\nimport { IconoirTrash, IconoirDownload, IconoirInfoCircle } from '@ey-xd/motif-icon';\r\nimport DeleteChecklistDetailGridRowModal from \"../../components/reits/DeleteChecklistDetailGridRowModal\";\r\n/**\r\n * Component used for previous answers, comments, and file attachments for a particular question\r\n */\r\nexport class ChecklistQuestionTabs extends React.Component {\r\n /**\r\n * Creates a new ChecklistQuestionTabs component\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n comments: [],\r\n attachments: [],\r\n };\r\n this.setLastClickedQuestionId = this.setLastClickedQuestionId.bind(this);\r\n }\r\n\r\n setLastClickedQuestionId(questionId) {\r\n this.props.dispatch({\r\n type: actions.LAST_CLICKED_TAB_CHECKLIST_QUESTION_ID,\r\n questionId,\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n handleEditComment,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleDeleteAttachment,\r\n checkReportPeriodVisibilityConstraint,\r\n handleDownloadChecklistFile,\r\n previousAnswers,\r\n previousChecklistFound,\r\n isArqc,\r\n isExternal,\r\n item,\r\n checklistFiles,\r\n checklistId,\r\n user,\r\n canEdit,\r\n externalEmail,\r\n siblingQuestionIds,\r\n hidePreviousAnswers,\r\n authenticationScope,\r\n autoOpenFileTab,\r\n prePopulateAnswerOptionID,\r\n isDisabledTab,\r\n questionComments,\r\n } = this.props;\r\n\r\n const {\r\n comments,\r\n attachments,\r\n showDeleteChecklistGridRowModal = false,\r\n } = this.state;\r\n\r\n let userId = user;\r\n if (userId) {\r\n userId = userId.toLowerCase();\r\n }\r\n\r\n /* If previous checklist exists and question is not answered then show blank */\r\n const prevAnswer =\r\n (Array.isArray(previousAnswers) &&\r\n previousAnswers.filter(Boolean).join(\", \")) ||\r\n (previousAnswers !== undefined &&\r\n previousAnswers !== null &&\r\n Array.isArray(previousAnswers) === false &&\r\n previousAnswers.length > 0 &&\r\n previousAnswers) ||\r\n (previousChecklistFound && \" \") ||\r\n (!isArqc && \"Prior PSQ for Property Not Available\") ||\r\n (isArqc && \"Prior ARQC Not Available\");\r\n\r\n /* Keep the previous answers tab as blank when prePopulateAnswerOptionID is selected as Questions unaswered (i.e. 2) */\r\n const prevAnswerTab = hidePreviousAnswers ? (\r\n \r\n ) : (\r\n \r\n
    \r\n {prePopulateAnswerOptionID === 2 ? \" \" : prevAnswer}\r\n
    \r\n \r\n );\r\n const filteredComments = Array.isArray(questionComments)\r\n ? questionComments.filter(\r\n (f) => f.checklistSectionQuestionID == item.checklistSectionQuestionID\r\n )\r\n : [];\r\n\r\n const commentsCount = filteredComments ? filteredComments.length : 0;\r\n\r\n // Init comments for this questions\r\n if (!comments[`id_${item.checklistSectionQuestionID}`]) {\r\n comments[`id_${item.checklistSectionQuestionID}`] = {};\r\n }\r\n\r\n const itemComments = comments[`id_${item.checklistSectionQuestionID}`];\r\n\r\n // Init attachments for this question\r\n if (!attachments[`id_${item.checklistSectionQuestionID}`]) {\r\n attachments[`id_${item.checklistSectionQuestionID}`] = {};\r\n }\r\n\r\n const itemAttachments =\r\n attachments[`id_${item.checklistSectionQuestionID}`];\r\n\r\n // Filter checklistFiles to only those related to this questionId\r\n const filteredChecklistFiles = Array.isArray(checklistFiles)\r\n ? checklistFiles.filter(\r\n (f) => f.questionID == item.checklistSectionQuestionID\r\n )\r\n : [];\r\n\r\n const attachmentsCount = filteredChecklistFiles\r\n ? filteredChecklistFiles.length\r\n : 0;\r\n\r\n const handleCloseChecklistFileUploadModal = () => {\r\n itemAttachments.isChecklistFileUploadModalOpen = false;\r\n this.setState({ attachments: Object.assign({}, attachments) });\r\n };\r\n const handleOpenChecklistFileUploadModal = () => {\r\n itemAttachments.isChecklistFileUploadModalOpen = true;\r\n this.setState({ attachments: Object.assign({}, attachments) });\r\n };\r\n\r\n const handleConfirmDeleteComment = () => {\r\n handleDeleteComment(\r\n item.checklistSectionQuestionID,\r\n itemComments.deleteCommentId,\r\n isExternal\r\n )\r\n .then(() => {\r\n toggleShowChecklistGridRowDelete();\r\n })\r\n .catch((error) => {\r\n this.toggleShowChecklistGridRowDelete();\r\n });\r\n };\r\n\r\n const handleCancelDeleteAttachment = () => {\r\n itemAttachments.isDeleteAttachmentModalOpen = false;\r\n this.setState({ attachments: Object.assign({}, attachments) });\r\n };\r\n const handleConfirmDeleteAttachment = () => {\r\n handleDeleteAttachment(\r\n itemAttachments.deleteAttachmentId,\r\n isExternal\r\n ).then(() => {\r\n itemAttachments.isDeleteAttachmentModalOpen = false;\r\n this.setState({ attachments: Object.assign({}, attachments) });\r\n });\r\n };\r\n\r\n const toggleShowChecklistGridRowDelete = () => {\r\n const showToggle = !this.state.showDeleteChecklistGridRowModal;\r\n this.setState({\r\n showDeleteChecklistGridRowModal: showToggle,\r\n });\r\n };\r\n\r\n const executeActionAfterValidatingRPVisibilityConstraint = (type, checklistFileAttachmentId, fileName,checklistSectionQuestionId, commentText) => {\r\n switch(type) {\r\n case 'delete_comments':\r\n toggleShowChecklistGridRowDelete();\r\n break;\r\n case 'save_comments':\r\n handleSaveComment(\r\n checklistSectionQuestionId,\r\n commentText\r\n ).then(() => {\r\n itemComments.textarea.value = \"\";\r\n this.setState({\r\n comments: Object.assign({}, comments),\r\n });\r\n });\r\n break;\r\n case 'open_attachments':\r\n handleOpenChecklistFileUploadModal();\r\n break;\r\n case 'download_attachments':\r\n handleDownloadChecklistFile(checklistFileAttachmentId, fileName);\r\n break;\r\n }\r\n }\r\n\r\n const checkRPVisibilityConstraint = (type, checklistFileAttachmentId, fileName,checklistSectionQuestionId, commentText) => { \r\n //For external user, check if the report period visible status is hidden\r\n if(isExternal && checkReportPeriodVisibilityConstraint != null)\r\n {\r\n checkReportPeriodVisibilityConstraint().then((response) => { \r\n\r\n // This additional check to prevent any further action such as file download or save comments.\r\n let proceedWithAction = true;\r\n \r\n if(response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND'){\r\n proceedWithAction = false;\r\n }\r\n \r\n if(proceedWithAction){ \r\n executeActionAfterValidatingRPVisibilityConstraint(type, checklistFileAttachmentId, fileName,checklistSectionQuestionId, commentText); \r\n }\r\n });\r\n }\r\n else{\r\n // For internal user\r\n executeActionAfterValidatingRPVisibilityConstraint(type, checklistFileAttachmentId, fileName,checklistSectionQuestionId, commentText);\r\n }\r\n };\r\n\r\n const deleteModalStyle = {\r\n content: {\r\n top: \"50%\",\r\n left: \"50%\",\r\n right: \"auto\",\r\n bottom: \"auto\",\r\n marginRight: \"-50%\",\r\n transform: \"translate(-50%, -50%)\",\r\n width: \"350px\",\r\n height: \"180px\",\r\n },\r\n };\r\n\r\n const deleteAttachmentModal =\r\n itemAttachments.isDeleteAttachmentModalOpen ? (\r\n \r\n \r\n Delete Attachment\r\n Are you sure?\r\n \r\n\r\n \r\n \r\n No\r\n \r\n \r\n handleConfirmDeleteAttachment(\r\n itemAttachments.deleteAttachmentId\r\n )\r\n }\r\n >\r\n Yes\r\n \r\n \r\n \r\n ) : (\r\n \r\n );\r\n\r\n const uploadFileModal = (\r\n \r\n );\r\n const tabs = (\r\n \r\n {deleteAttachmentModal}\r\n {uploadFileModal}\r\n {/* Set default active tab \"Previous Answer (0)\". If autoOpenFileTab, set to 2 (Attachment). */}\r\n this.setLastClickedQuestionId(item.id)}\r\n lastClickedTabChecklistQuestionId={\r\n this.props.lastClickedTabChecklistQuestionId\r\n }\r\n siblingQuestionIds={siblingQuestionIds}\r\n >\r\n {prevAnswerTab}\r\n 0 ? `(${commentsCount})` : \"\"}`}\r\n >\r\n {Array.isArray(filteredComments) &&\r\n filteredComments.map((comment, index) => {\r\n if (!itemComments[comment.checklistSectionQuestionCommentID]) {\r\n itemComments[comment.checklistSectionQuestionCommentID] = {};\r\n }\r\n\r\n return (\r\n {\r\n itemComments[\r\n comment.checklistSectionQuestionCommentID\r\n ].displayCommentIcon = true;\r\n this.setState({ comments: Object.assign({}, comments) });\r\n }}\r\n onMouseLeave={() => {\r\n itemComments[\r\n comment.checklistSectionQuestionCommentID\r\n ].displayCommentIcon = false;\r\n this.setState({ comments: Object.assign({}, comments) });\r\n }}\r\n >\r\n {itemComments[comment.checklistSectionQuestionCommentID] &&\r\n !itemComments[comment.checklistSectionQuestionCommentID]\r\n .editMode ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {comment.isExternalTempUser\r\n ? \"External User\"\r\n : comment.commentedBy}\r\n \r\n \r\n commented{\" \"}\r\n \r\n {relativeDate(comment.dateCommented, true)}\r\n \r\n \r\n
    \r\n
    \r\n {itemComments[\r\n comment.checklistSectionQuestionCommentID\r\n ] &&\r\n itemComments[\r\n comment.checklistSectionQuestionCommentID\r\n ].displayCommentIcon &&\r\n canEdit && (\r\n {\r\n itemComments.deleteCommentId =\r\n comment.checklistSectionQuestionCommentID;\r\n checkRPVisibilityConstraint('delete_comments');\r\n }}\r\n >\r\n \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n {comment.commentText}\r\n
    \r\n ) : (\r\n
    \r\n {\r\n itemComments[\r\n comment.checklistSectionQuestionCommentID\r\n ].textarea = e.target;\r\n this.setState({\r\n comments: Object.assign({}, comments),\r\n });\r\n }}\r\n >\r\n
    \r\n \r\n handleEditComment(\r\n item.id,\r\n comment.checklistSectionQuestionCommentID,\r\n itemComments[\r\n comment.checklistSectionQuestionCommentID\r\n ].textarea.value,\r\n isExternal\r\n ).then(() => {\r\n itemComments[\r\n comment.checklistSectionQuestionCommentID\r\n ].textarea.value = \"\";\r\n this.setState({\r\n comments: Object.assign({}, comments),\r\n });\r\n })\r\n }\r\n >\r\n Update\r\n \r\n {\r\n comments[`id_${item.id}`][\r\n comment.checklistSectionQuestionCommentID\r\n ].editMode = false;\r\n this.setState({\r\n comments: Object.assign({}, comments),\r\n });\r\n }}\r\n >\r\n Cancel\r\n \r\n
    \r\n
    \r\n )}\r\n \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n {\r\n itemComments.textarea = e.target;\r\n this.setState({ comments: Object.assign({}, comments) });\r\n }}\r\n />\r\n
    \r\n \r\n checkRPVisibilityConstraint('save_comments', 0, '', item.checklistSectionQuestionID, itemComments.textarea.value)\r\n }\r\n >\r\n Save Comment\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n\r\n 0 ? `(${attachmentsCount})` : \"\"}`}\r\n >\r\n
    \r\n
    \r\n {filteredChecklistFiles.length > 0 && (\r\n \r\n
    \r\n {\r\n checkRPVisibilityConstraint('open_attachments') }\r\n }\r\n >\r\n Add Attachment\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {filteredChecklistFiles.map((f, index) => (\r\n \r\n \r\n \r\n \r\n\r\n \r\n {\r\n e.preventDefault();\r\n checkRPVisibilityConstraint(\r\n 'download_attachments',\r\n f.checklistFileAttachmentID,\r\n f.fileName,\r\n 0,\r\n ''\r\n );\r\n }}\r\n >\r\n \r\n \r\n {canEdit && (\r\n {\r\n e.preventDefault();\r\n handleDeleteAttachment(\r\n f.checklistFileAttachmentID\r\n );\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n ))}\r\n \r\n
    File NameUploaded ByDate Uploaded\r\n
    {f.fileName}\r\n {f.isExternalTempUser\r\n ? \"External User\"\r\n : f.uploadedBy}\r\n \r\n \r\n {relativeDate(f.dateUploaded, true)}\r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n {!filteredChecklistFiles ||\r\n (filteredChecklistFiles.length == 0 && (\r\n
    \r\n
    No attachments have been added
    \r\n
    \r\n {\r\n checkRPVisibilityConstraint('open_attachments') }\r\n }\r\n >\r\n Add Attachment\r\n \r\n
    \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 tabs;\r\n }\r\n}\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n lastClickedTabChecklistQuestionId: state.lastClickedTabChecklistQuestionId,\r\n authenticationScope: state.authenticationScope,\r\n };\r\n}\r\n\r\nChecklistQuestionTabs.propTypes = {\r\n isExternal: PropTypes.bool,\r\n isArqc: PropTypes.bool,\r\n previousAnswers: PropTypes.array,\r\n previousChecklistFound: PropTypes.array,\r\n item: PropTypes.object,\r\n handleSaveComment: PropTypes.func,\r\n handleDeleteComment: PropTypes.func,\r\n handleEditComment: PropTypes.func,\r\n handleDeleteAttachment: PropTypes.func,\r\n handleDownloadChecklistFile: PropTypes.func,\r\n user: PropTypes.string,\r\n canEdit: PropTypes.bool,\r\n externalEmail: PropTypes.string,\r\n checklistId: PropTypes.number,\r\n checklistFiles: PropTypes.array,\r\n siblingQuestionIds: PropTypes.array,\r\n lastClickedTabChecklistQuestionId: PropTypes.number,\r\n dispatch: PropTypes.func,\r\n hidePreviousAnswers: PropTypes.bool,\r\n authenticationScope: PropTypes.string,\r\n prePopulateAnswerOptionID: PropTypes.number,\r\n isDisabledTab: PropTypes.bool,\r\n questionComments: PropTypes.array,\r\n};\r\n\r\nexport default connect(mapStateToProps)(ChecklistQuestionTabs);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as incomeActions from \"../../actions/incomeTestActions\";\r\nimport * as propertyActions from \"../../actions/propertyActions\";\r\nimport IncomeDetails from \"../../components/tb/IncomeDetails\";\r\n\r\n/**\r\n * ChecklistIncomeDetailsContainer container component\r\n * @extends {React.Component}\r\n */\r\nexport class ChecklistIncomeDetailsContainer extends React.Component {\r\n /**\r\n * Creates a new ChecklistIncomeDetailsContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = { tbMode: 1 };\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.periodId && this.props.isSectionVisible) {\r\n if (!this.props.isExternal || this.props.authenticationScope === 'external') {\r\n this.props.incomeActions.fetchIncomeTestSummary(this.props.periodId);\r\n this.props.incomeActions.fetchPropertyDetails(this.props.periodId);\r\n this.props.incomeActions.fetchPropertyItsi(this.props.periodId);\r\n this.props.propertyActions.fetchPropertiesByPeriod(this.props.periodId);\r\n }\r\n\r\n if (this.props.isExternal && this.props.checklistId && this.props.isArqc) {\r\n this.props.incomeActions.fetchExternalIncomeSummaryByChecklistId(this.props.periodId, this.props.checklistId, \"ARQC\");\r\n this.props.incomeActions.fetchExternalPropertyDetailsByChecklistId(this.props.periodId, this.props.checklistId, \"ARQC\");\r\n this.props.incomeActions.fetchExternalPropertyItsiByChecklistId(this.props.periodId, this.props.checklistId, \"ARQC\");\r\n this.props.propertyActions.fetchExternalPropertiesByPeriod(this.props.periodId, this.props.checklistId, \"ARQC\");\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n if (!this.props.incomeDetails) {\r\n return null;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nChecklistIncomeDetailsContainer.propTypes = {\r\n incomeActions: PropTypes.object,\r\n propertyActions: PropTypes.object,\r\n periodId: PropTypes.number,\r\n incomeDetails: PropTypes.array.isRequired,\r\n propertyDetails: PropTypes.object,\r\n propertyItsi: PropTypes.object,\r\n properties: PropTypes.array,\r\n isSectionVisible: PropTypes.bool,\r\n checklistId: PropTypes.string,\r\n isExternal: PropTypes.bool,\r\n isArqc: PropTypes.bool,\r\n authenticationScope: PropTypes.string\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n periodId: ownProps.periodId,\r\n checklistId: ownProps.checklistId,\r\n isSectionVisible: ownProps.isSectionVisible,\r\n isExternal: ownProps.isExternal,\r\n incomeDetails: state.incomeDetails,\r\n propertyDetails: state.propertyDetails,\r\n propertyItsi: state.propertyItsi,\r\n properties: state.properties,\r\n isArqc: ownProps.isArqc,\r\n authenticationScope: state.authenticationScope\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n incomeActions: bindActionCreators(incomeActions, dispatch),\r\n propertyActions: bindActionCreators(propertyActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ChecklistIncomeDetailsContainer);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as actions from \"../../actions/assetActions\";\r\nimport * as periodActions from \"../../actions/periodActions\";\r\nimport AssetDetails from \"../../components/tb/AssetDetails\";\r\n\r\n/**\r\n * ChecklistAssetDetailsContainer container component\r\n * @extends {React.Component}\r\n */\r\nexport class ChecklistAssetDetailsContainer extends React.Component {\r\n /**\r\n * Creates a new ChecklistAssetDetailsContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = { tbMode: 1 };\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.periodId && this.props.isSectionVisible) {\r\n\r\n if (!this.props.isExternal || this.props.authenticationScope === 'external') {\r\n this.props.actions.fetchAssetDetailsForYear(this.props.periodId);\r\n periodActions.fastFetchPeriodById(this.props.periodId).then((period) => {\r\n if (period && period.trialBalanceModeID === 2) {\r\n this.setState({ tbMode: 2 });\r\n }\r\n });\r\n }\r\n\r\n if (this.props.isExternal && this.props.checklistId && this.props.isArqc) {\r\n this.props.actions.fetchAssetDetailsForYear(this.props.periodId, this.props.checklistId, \"ARQC\");\r\n periodActions.fastFetchExternalPeriodById(this.props.periodId, this.props.checklistId, \"ARQC\").then((period) => {\r\n if (period && period.trialBalanceModeID === 2) {\r\n this.setState({ tbMode: 2 });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n if (!this.props.assetDetailsForYear) {\r\n return null;\r\n }\r\n\r\n return (\r\n
    \r\n {this.props.assetDetailsForYear.map(x => (Array.isArray(x.assetDetails) && x.assetDetails.length > 0 && ) || null)}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nChecklistAssetDetailsContainer.propTypes = {\r\n actions: PropTypes.object,\r\n periodId: PropTypes.number,\r\n clientId: PropTypes.number,\r\n reitId: PropTypes.number,\r\n assetDetailsForYear: PropTypes.array,\r\n isSectionVisible: PropTypes.bool,\r\n checklistId: PropTypes.string,\r\n isExternal: PropTypes.bool,\r\n isArqc: PropTypes.bool,\r\n authenticationScope: PropTypes.string\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n periodId: ownProps.periodId,\r\n checklistId: ownProps.checklistId,\r\n clientId: state.client ? state.client.id : null,\r\n reitId: state.reit ? state.reit.reitid : null,\r\n isSectionVisible: ownProps.isSectionVisible,\r\n isExternal: ownProps.isExternal,\r\n assetDetailsForYear: state.assetDetailsForYear,\r\n isArqc: ownProps.isArqc,\r\n authenticationScope: state.authenticationScope\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(actions, dispatch),\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ChecklistAssetDetailsContainer);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport FormattedPercent from \"../shared/FormattedPercent\";\r\nimport { Icon } from 'semantic-ui-react';\r\nimport { fontcolor } from \"../../../tools/fileMock\";\r\nimport { white } from \"chalk\";\r\nimport { MotifChip } from '@ey-xd/motif-react';\r\n\r\nconst DistributionTestSummaryItem = ({ test, totalItems }) => {\r\n let title = test.title || \"\";\r\n const colSize = Math.floor(12 / totalItems);\r\n const className = `summary col-md-${colSize}`;\r\n const re = /(\\d+%)(.*)/;\r\n const matches = title.match(re);\r\n\r\n if (Array.isArray(matches) && matches.length === 3) {\r\n title = {matches[1]}{matches[2]};\r\n }\r\n return (\r\n
    \r\n
    {title}
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {test.isPassing ? \"PASS\" : \"FAIL\"} \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nDistributionTestSummaryItem.propTypes = {\r\n test: PropTypes.shape({\r\n title: PropTypes.string,\r\n isPassing: PropTypes.bool,\r\n percent: PropTypes.number\r\n }),\r\n totalItems: PropTypes.number.isRequired\r\n};\r\n\r\nexport default DistributionTestSummaryItem;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { injectIntl } from \"react-intl\";\r\nimport { NumericFormat } from 'react-number-format';\r\n\r\n{/* OBSOLETE - Do not use this class for any new functionality. Use redux form along with form formatters found in scripts\\formFormatters.js instead */ }\r\nconst formattedCurrencyInput = ({ amount, className, intl, disabled, handleOnChange, name, maxLength }) => {\r\n if (disabled) {\r\n return (\r\n );\r\n }\r\n else {\r\n if (maxLength) {\r\n return ( \r\n {\r\n const { formattedValue, floatValue } = values; \r\n return formattedValue === \"\" || floatValue <= 10000000000000000;\r\n }}\r\n placeholder=\"0\"\r\n thousandSeparator={true} disabled={false} value={amount}\r\n name={name} onChange={handleOnChange} maxLength={maxLength} />);\r\n }\r\n else {\r\n return (\r\n );\r\n }\r\n }\r\n};\r\n\r\nformattedCurrencyInput.propTypes = {\r\n amount: PropTypes.number.isRequired,\r\n className: PropTypes.string,\r\n intl: PropTypes.object.isRequired,\r\n disabled: PropTypes.bool,\r\n handleOnChange: PropTypes.func,\r\n name: PropTypes.string.isRequired\r\n};\r\nexport default injectIntl(formattedCurrencyInput);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { Button, Icon, Input } from \"semantic-ui-react\";\r\nimport { Field, reduxForm,formValueSelector,getFormValues } from \"redux-form\";\r\nimport { DateField, MoneyField, NumberField } from \"../shared/formFields\";\r\nimport { MotifButton, MotifModalHeader, MotifModalBody, MotifModalFooter, MotifIcon } from '@ey-xd/motif-react';\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\nimport { connect } from \"react-redux\";\r\nimport * as formParsers from \"../../scripts/formParsers\";\r\n\r\nconst validate = values => {\r\n \r\n // Validates business rules, not field validation\r\n const errors = {};\r\n \r\n if (values.value > 0 && values.fairMarketValue > 0) {\r\n errors.value = \"0 if FMV is used.\";\r\n errors.fairMarketValue = \"0 if Value is used.\";\r\n }\r\n \r\n if (values.value === 0 && values.fairMarketValue === 0) {\r\n errors.value = \"Enter Value or FMV\";\r\n errors.fairMarketValue = \"Enter Value or FMV\";\r\n }\r\n \r\n return errors;\r\n};\r\n\r\nconst editDistributionForm = ({ handleSubmit, handleCloseForm, initialValues, formPurpose, error, submitting, handleDismissErrorMessage }) => {\r\n\r\n const modalPurpose = formPurpose === \"\" ? 'Add' : (formPurpose === \"EDIT\" ? 'Edit' : 'Delete');\r\n\r\n const closeButtonProps = {\r\n title: 'Close ' + modalPurpose + ' Distribution Modal',\r\n ariaLabel: 'Close ' + modalPurpose + ' Distribution Modal',\r\n dataTestid: 'close',\r\n };\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n {formPurpose === \"DELETE\" && }\r\n {formPurpose === \"\" ? \"Add Distribution\" : (formPurpose === \"EDIT\" ? \"Edit Distribution\" : \"Delete Distribution?\")}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {formHelpers.showSubmissionError(error, handleDismissErrorMessage)}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n {(formPurpose === \"\" && Submit)\r\n || formPurpose === \"EDIT\" && Save\r\n || Delete}\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\neditDistributionForm.propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n handleCloseForm: PropTypes.func.isRequired,\r\n initialValues: PropTypes.object,\r\n formPurpose: PropTypes.string,\r\n error: PropTypes.string,\r\n submitting: PropTypes.bool,\r\n handleDismissErrorMessage: PropTypes.func\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n const selector = formValueSelector('distribution');\r\n\r\n return {\r\n class: selector(state, 'class'),\r\n distributionDate: selector(state, 'distributionDate'),\r\n };\r\n}\r\n\r\nexport default connect(\r\n (state, props) => (mapStateToProps)\r\n)(reduxForm({ form: \"distribution\", validate, enableReinitialize: true })(editDistributionForm));","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport DistributionTestSummaryItem from './DistributionTestSummaryItem';\r\nimport { injectIntl } from 'react-intl';\r\nimport FormattedCurrencyInput from '../shared/FormattedCurrencyInput';\r\nimport { Button, Icon } from 'semantic-ui-react';\r\n\r\nimport EditDistributionForm from './EditDistributionForm';\r\nimport { MotifButton, MotifToggleSwitch, MotifModal } from '@ey-xd/motif-react';\r\nimport { NumberField } from '../shared/formFields';\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { connect } from 'react-redux';\r\nimport { reduxForm } from 'redux-form';\r\n\r\nconst DistributionTestSummary = ({\r\n distributionTestSummary,\r\n showDetails,\r\n handleShowDetails,\r\n distributionTaxableIncome,\r\n distributionTaxableIncomeValue,\r\n distributionDetails,\r\n totalValue,\r\n setTaxableIncome,\r\n updateInputValue,\r\n showForm,\r\n handleCloseForm,\r\n handleNewButtonClick,\r\n handleSubmit,\r\n formPurpose,\r\n selectedDistribution,\r\n canEdit,\r\n isChecklist,\r\n handleDismissErrorMessage,\r\n}) => {\r\n\r\n // Reset the ref in NumberField component\r\n const [isUpdatedDefault, setIsUpdatedDefault] = useState(false);\r\n const initialValues = {\r\n fairMarketValue: '0.00',\r\n value: '0.00',\r\n };\r\n\r\n if (!isChecklist) {\r\n isChecklist = false;\r\n }\r\n\r\n const handleSetTaxableIncome = () => {\r\n setIsUpdatedDefault(true);\r\n setTaxableIncome();\r\n }\r\n\r\n const handleUpdateInputValue = (event) => {\r\n setIsUpdatedDefault(false);\r\n updateInputValue(event);\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n Distribution Test Summary {canEdit ? '' : '- Testing Closed'}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {distributionTestSummary.tests.map(test => (\r\n \r\n ))}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n handleUpdateInputValue(event)}\r\n isUpdatedDefault={isUpdatedDefault}/>\r\n
    \r\n {(!isChecklist && (\r\n
    \r\n \r\n Update Results\r\n \r\n
    \r\n )) ||\r\n null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {(!isChecklist && (\r\n
    \r\n
    \r\n Display Distribution Details:\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {showDetails ? ( \r\n \r\n Add Distribution\r\n \r\n ) : null}\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\nDistributionTestSummary.propTypes = {\r\n distributionTestSummary: PropTypes.shape({\r\n tests: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n title: PropTypes.string,\r\n isPassing: PropTypes.bool,\r\n percent: PropTypes.number,\r\n }),\r\n ),\r\n newAccounts: PropTypes.number,\r\n deletedAccounts: PropTypes.number,\r\n }).isRequired,\r\n distributionDetails: PropTypes.array,\r\n distributionTaxableIncome: PropTypes.shape({\r\n reportPeriod: PropTypes.string,\r\n reportPeriodID: PropTypes.number,\r\n distributionREITTaxableIncomeAmount: PropTypes.number,\r\n distributionDividendsSum: PropTypes.number,\r\n }),\r\n showDetails: PropTypes.bool,\r\n handleShowDetails: PropTypes.func,\r\n totalValue: PropTypes.number,\r\n setTaxableIncome: PropTypes.func,\r\n updateInputValue: PropTypes.func,\r\n showForm: PropTypes.bool,\r\n handleCloseForm: PropTypes.func,\r\n handleNewButtonClick: PropTypes.func,\r\n handleSubmit: PropTypes.func,\r\n formPurpose: PropTypes.string,\r\n selectedDistribution: PropTypes.object,\r\n canEdit: PropTypes.bool,\r\n isChecklist: PropTypes.bool,\r\n handleDismissErrorMessage: PropTypes.func,\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n}\r\n\r\n// export default DistributionTestSummary;\r\nexport default connect(\r\n (state, props) => (mapStateToProps)\r\n)(reduxForm({ form: \"distributionTaxableIncomeForm\", enableReinitialize: true })(DistributionTestSummary));\r\n","import React from \"react\";\r\nimport { MotifIconButton, MotifIcon } from \"@ey-xd/motif-react\";\r\nimport { IconoirEditPencil, IconoirTrash } from '@ey-xd/motif-icon';\r\n\r\nexport default (props) => {\r\n const item = props.node.data ? props.node.data : {};\r\n const isChecklist = props.isChecklist ? props.isChecklist : false;\r\n const canEdit = props.canEdit ? props.canEdit : false;\r\n\r\n if (item !== undefined) {\r\n return (\r\n (!isChecklist && (\r\n
    \r\n {(canEdit && (\r\n
    \r\n props.handleEditButtonClick(item)}\r\n >\r\n \r\n \r\n props.handleDeleteButtonClick(item)}\r\n >\r\n \r\n \r\n
    \r\n )) || (\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","import React, {\r\n useCallback,\r\n useMemo,\r\n useState,\r\n useRef,\r\n useEffect,\r\n} from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { AgGridReact } from \"ag-grid-react\";\r\nimport {\r\n handleFilterChanged,\r\n handleFirstDataRendered,\r\n handleGridReady,\r\n tableHeaderClass,\r\n handleItemsPerPageChange,\r\n} from \"../../common/AgGridEventHandlers\";\r\nimport CustomHeaderTemplate from \"../shared/customHeaders/CustomHeaderTemplate\";\r\nimport DistributionDetailCellRenderer from \"../../components/shared/customRenderers/DistributionDetailCellRenderer\";\r\nimport CustomPagination from \"../../common/MotifPagination\";\r\nimport DateComparator from \"../checklistDeliveryCalendar/customComparators/DateComparator\";\r\nimport { MotifTable } from \"@ey-xd/motif-react\";\r\nimport * as formatters from \"../../scripts/formFormatters\";\r\nconst DistributionDetailTable = ({\r\n distributionDetails,\r\n showForm,\r\n handleEditButtonClick,\r\n handleDeleteButtonClick,\r\n canEdit,\r\n isChecklist,\r\n}) => {\r\n if (!isChecklist) {\r\n isChecklist = false;\r\n }\r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]);\r\n\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n const FormattedCurrency = ({ value }) => {\r\n return Intl.NumberFormat(\"en-US\", {\r\n style: \"currency\",\r\n currency: \"USD\",\r\n }).format(value);\r\n };\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: \"class\",\r\n headerName: \"Class\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 250,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"class\"),\r\n },\r\n },\r\n {\r\n field: \"distributionDate\",\r\n headerName: \"Date\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 200,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"distributionDate\"),\r\n },\r\n valueGetter: (params) => {\r\n const dateValue = params.data && params.data.distributionDate ? params.data.distributionDate : null;\r\n return formatters.formatDate(dateValue);\r\n },\r\n comparator: DateComparator,\r\n },\r\n {\r\n field: \"fairMarketValue\",\r\n headerName: \"Fair Market Value\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 183,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"fairMarketValue\"),\r\n },\r\n valueGetter: (params) => {\r\n return FormattedCurrency({ value: params.data.fairMarketValue });\r\n }\r\n },\r\n {\r\n field: \"value\",\r\n headerName: \"Value\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 183,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"value\"),\r\n },\r\n valueGetter: (params) => {\r\n return FormattedCurrency({ value: params.data.value });\r\n }\r\n },\r\n\r\n {\r\n field: \"\",\r\n headerName: \"\",\r\n suppressMenu: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 175,\r\n cellRenderer: DistributionDetailCellRenderer,\r\n cellRendererParams: {\r\n distributionDetails,\r\n showForm,\r\n handleEditButtonClick,\r\n handleDeleteButtonClick,\r\n canEdit,\r\n isChecklist,\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"TemplateAction\"),\r\n },\r\n },\r\n ];\r\n };\r\n\r\n //Handle deselect all event\r\n const handleDeselectAll = (val) => {\r\n // set current page and total pages to 0\r\n setCurrentPage(0); \r\n setTotalPages(0); \r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n\r\n const handleGridChanges = (gridRefApi) => {\r\n if (gridRefApi) {\r\n gridRefApi.refreshCells();\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n handleGridChanges(\r\n gridRef && gridRef.current ? gridRef.current.api : null\r\n );\r\n if (rowData.length > 0 && gridRef.current.api !== undefined) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n setRowData(distributionDetails);\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n }, [distributionDetails]);\r\n\r\n useEffect(() => {\r\n if (gridRef.current) {\r\n setColumnDefs(getColumnDefs());\r\n }\r\n }, [columnDefs]);\r\n\r\n const rowHeight = 76; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n\r\n return (\r\n
    \r\n {rowData.length > 0 && (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleGridReady(\r\n event,\r\n gridRef,\r\n setCurrentPage,\r\n setItemsPerPage,\r\n setTotalPages,\r\n \"REITSuiteDistributionDetailColumnState\",\r\n handleDeselectAll\r\n )\r\n }\r\n onFirstDataRendered={handleFirstDataRendered(gridRef)}\r\n ref={gridRef}\r\n pagination={true}\r\n suppressPaginationPanel={true}\r\n paginationPageSize={100}\r\n groupDisplayType={\"custom\"}\r\n groupSelectsChildren={true}\r\n groupDefaultExpanded={0}\r\n onFilterChanged={handleFilterChanged(\r\n gridRef,\r\n currentPage,\r\n setCurrentPage,\r\n setTotalPages\r\n )}\r\n data-testid=\"divDistributionDetailGrid\"\r\n deltaRowDataMode={true}\r\n immutableData={true}\r\n getRowNodeId={(data) => data.distributionID}\r\n />\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n {(distributionDetails && distributionDetails.length === 0 && (\r\n
    No distribution details found for this report period.
    \r\n )) ||\r\n null}\r\n
    \r\n );\r\n};\r\n\r\nDistributionDetailTable.propTypes = {\r\n distributionDetails: PropTypes.array.isRequired,\r\n showForm: PropTypes.bool,\r\n handleEditButtonClick: PropTypes.func,\r\n handleDeleteButtonClick: PropTypes.func,\r\n canEdit: PropTypes.bool,\r\n isChecklist: PropTypes.bool,\r\n};\r\n\r\nexport default DistributionDetailTable;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as distributionActions from \"../../actions/distributionsTestActions\";\r\nimport DistributionTestSummary from \"../../components/reits/DistributionTestSummary\";\r\nimport DistributionDetailTable from \"../../components/reits/DistributionDetailTable\";\r\nimport { getFormValues } from \"redux-form\";\r\n\r\n/**\r\n * ChecklistDistributionDetailsContainer container component\r\n * @extends {React.Component}\r\n */\r\nexport class ChecklistDistributionDetailsContainer extends React.Component {\r\n /**\r\n * Creates a new ChecklistDistributionDetailsContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = { tbMode: 1 };\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.periodId && this.props.isSectionVisible) {\r\n if (!this.props.isExternal || this.props.authenticationScope === 'external') {\r\n this.props.distributionActions.fetchDistributionDetail(this.props.periodId);\r\n this.props.distributionActions.fetchDistributionTestSummary(this.props.periodId);\r\n this.props.distributionActions.fetchDistributionTaxableIncome(this.props.periodId);\r\n }\r\n\r\n if (this.props.isExternal && this.props.checklistId && this.props.isArqc) {\r\n this.props.distributionActions.fetchExternalDistributionDetailByChecklistId(this.props.periodId, this.props.checklistId, \"ARQC\");\r\n this.props.distributionActions.fetchExternalDistributionTestSummaryByChecklistId(this.props.periodId, this.props.checklistId, \"ARQC\");\r\n this.props.distributionActions.fetchExternalDistributionTaxableIncomeByChecklistId(this.props.periodId, this.props.checklistId, \"ARQC\");\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n if (!this.props.distributionTestSummary) {\r\n return null;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nChecklistDistributionDetailsContainer.propTypes = {\r\n propertyActions: PropTypes.object,\r\n distributionActions: PropTypes.object,\r\n periodId: PropTypes.number,\r\n distributionTestSummary: PropTypes.shape({\r\n tests: PropTypes.arrayOf(PropTypes.shape({\r\n title: PropTypes.string,\r\n isPassing: PropTypes.bool,\r\n percent: PropTypes.number\r\n })),\r\n newAccounts: PropTypes.number,\r\n deletedAccounts: PropTypes.number\r\n }),\r\n distributionDetails: PropTypes.array,\r\n distributionTaxableIncome: PropTypes.shape({\r\n reportPeriod: PropTypes.string,\r\n reportPeriodId: PropTypes.number,\r\n value: PropTypes.number\r\n }),\r\n isSectionVisible: PropTypes.bool,\r\n checklistId: PropTypes.string,\r\n isArqc: PropTypes.bool,\r\n isExternal: PropTypes.bool,\r\n authenticationScope: PropTypes.string\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n periodId: ownProps.periodId,\r\n checklistId: ownProps.checklistId,\r\n isSectionVisible: ownProps.isSectionVisible,\r\n isExternal: ownProps.isExternal,\r\n distributionDetails: state.distributionDetails,\r\n distributionTestSummary: state.distributionTestSummary,\r\n distributionTaxableIncome: state.distributionTaxableIncome,\r\n isArqc: ownProps.isArqc,\r\n authenticationScope: state.authenticationScope,\r\n createEditDistributiontFormValues: getFormValues('distribution')(state)\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n distributionActions: bindActionCreators(distributionActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ChecklistDistributionDetailsContainer);","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport {\r\n MotifIcon,\r\n MotifFileUploaderItem,\r\n MotifIconButton\r\n} from '@ey-xd/motif-react';\r\nimport { IconoirDownload, IconoirPage } from '@ey-xd/motif-icon';\r\n\r\nconst CustomQuestionAttachmentList = ({\r\n attachmentList,\r\n handleDownloadAttachmentClick,\r\n className,\r\n fileSize = 0,\r\n}) => {\r\n function onDownloadClick(e,fileName,attachmentGuid)\r\n {\r\n e.preventDefault();\r\n handleDownloadAttachmentClick(attachmentGuid,fileName);\r\n }\r\n return (\r\n \r\n
    \r\n {attachmentList &&\r\n attachmentList.length > 0 &&\r\n attachmentList.map((attachmentData) => (\r\n }\r\n title={attachmentData.attachmentName}\r\n customButton={ \r\n onDownloadClick(e,attachmentData.attachmentName,attachmentData.attachmentGuid)}> \r\n \r\n\r\n }\r\n fileName={attachmentData.attachmentName}\r\n fileSize={fileSize}\r\n \r\n />\r\n ))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nCustomQuestionAttachmentList.propTypes = {\r\n attachmentList: PropTypes.array,\r\n handleDownloadAttachmentClick:PropTypes.func,\r\n className:PropTypes.string,\r\n fileSize:PropTypes.number\r\n};\r\n\r\nexport default CustomQuestionAttachmentList;","/* eslint react/no-danger: 0 */ // --> OFF\r\nimport React, { useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Button, Dropdown, Form, Icon, Input, Label, Popup, Table } from \"semantic-ui-react\";\r\n\r\nimport { NumericFormat } from 'react-number-format';\r\nimport EditChecklistItem from \"./EditChecklistItem\";\r\nimport ChecklistQuestionTabs from \"./ChecklistQuestionTabs\";\r\nimport ChecklistIncomeDetailsContainer from \"../../containers/reits/ChecklistIncomeDetailsContainer\";\r\nimport ChecklistAssetDetailsContainer from \"../../containers/reits/ChecklistAssetDetailsContainer\";\r\nimport ChecklistDistributionDetailsContainer from \"../../containers/reits/ChecklistDistributionDetailsContainer\";\r\nimport * as actions from \"../../actions/distributionsTestActions\";\r\nimport { formatCurrency, formatPercent } from \"../../scripts/formFormatters\";\r\nimport { FormattedNumber } from \"react-intl\";\r\nimport FormattedCurrency from \"../shared/FormattedCurrency\";\r\nimport { isEmail } from \"react-multi-email\";\r\n\r\nimport {\r\n MotifIconButton,\r\n MotifIcon,\r\n MotifFormField,\r\n MotifInput,\r\n MotifCheckbox,\r\n MotifRadioButton,\r\n MotifLabel,\r\n MotifSelect,\r\n MotifOption,\r\n} from \"@ey-xd/motif-react\";\r\n\r\nimport { IconoirHelpCircle, IconoirTrash } from '@ey-xd/motif-icon';\r\nimport CustomQuestionAttachmentList from '../customChecklistQuestions/CustomQuestionAttachmentList';\r\nconst wrapInputFunction = func => value => func({ target: { value } });\r\n\r\nlet state = {};\r\n\r\nconst arraysEqual = (a, b) => {\r\n if (a === b) return true;\r\n if (a == null || b == null) return false;\r\n if (a.length != b.length) return false;\r\n\r\n for (let i = 0; i < a.length; ++i) {\r\n if (!b.includes(a[i])) return false;\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst isUnanswered = (item) => {\r\n return item.selectedAnswers.lengh === 0;\r\n};\r\n\r\n// Check if the question is answered\r\nconst isAnswered = (item) => {\r\n return !(item.selectedAnswers.length === 0\r\n || (item.selectedAnswers.length > 0 && item.selectedAnswers[0] === ''));\r\n};\r\n\r\nconst isInstructionType = (item) => item.itemType === 'instruction';\r\n\r\n// Check if the child questions are answered\r\nconst hasChildrenWithAnswers = (item) => {\r\n // If no children then return as true\r\n if (item.children === undefined || item.children === null || item.children.length === 0) {\r\n return true;\r\n }\r\n\r\n for (let i = 0; i < item.children.length; i++) {\r\n // Check if the child question is visible and answered\r\n if (isChildQuestionVisible(item.children[i], item)) {\r\n if (!isAnswered(item.children[i]) && !isInstructionType(item.children[i])) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst hasChildrenWithUnmatchedAnswers = (item) => {\r\n if (item.children === undefined || item.children === null || item.children.lengh === 0) {\r\n return false;\r\n }\r\n\r\n for (let i = 0; i < item.children.lengh; i++) {\r\n let nextItem = null;\r\n if (i + 1 < item.children.length) {\r\n nextItem = item.children[i + 1];\r\n }\r\n\r\n if (!previousAnswersMatch(item.children[i], nextItem)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst previousAnswersMatch = (item, nextItem) => {\r\n\r\n if (!Array.isArray(item.previousAnswers)) {\r\n return false;\r\n }\r\n\r\n if (item.itemType.toLowerCase() === \"arqcstockfmvtable\") {\r\n for (let i = 0; i < item.previousAnswers.length; i++) {\r\n if (item.selectedAnswers.length < i && item.defaultAnswers.length < i) {\r\n return false;\r\n }\r\n\r\n if (item.selectedAnswers !== undefined && item.selectedAnswers.length > i && item.selectedAnswers[i].fmvOfStockOwned !== item.previousAnswers[i].fmvOfStockOwned && item.defaultAnswers[i].fmvOfStockOwned !== item.previousAnswers[i].fmvOfStockOwned) {\r\n return false;\r\n }\r\n\r\n if (item.selectedAnswers !== undefined && item.selectedAnswers.length > i && item.selectedAnswers[i].percentOfStockOwned !== item.previousAnswers[i].percentOfStockOwned && item.defaultAnswers[i].percentOfStockOwned !== item.previousAnswers[i].percentOfStockOwned) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n if (item.selectedAnswers.length > 0 && !arraysEqual(item.selectedAnswers, item.previousAnswers)) {\r\n return false;\r\n }\r\n\r\n if (item.selectedAnswers.length === 0 && !arraysEqual(item.defaultAnswers, item.previousAnswers)) {\r\n return false;\r\n }\r\n\r\n if (nextItem && hasRelatedItemWithUnmatchedAnswers(item, nextItem)) {\r\n return false;\r\n }\r\n\r\n if (!Array.isArray(item.children)) {\r\n return true;\r\n }\r\n\r\n for (let i = 0; i < item.children.length; i++) {\r\n if (item.children[i].selectedAnswers.length > 0 && !arraysEqual(item.children[i].selectedAnswers, item.children[i].previousAnswers)) {\r\n return false;\r\n }\r\n\r\n if (item.children[i].defaultAnswers.length > 0 && !arraysEqual(item.children[i].defaultAnswers, item.children[i].previousAnswers)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst hasRelatedItemWithUnmatchedAnswers = (item, nextItem) => {\r\n if (!item || !nextItem) {\r\n return false;\r\n }\r\n\r\n let itemHierarchy = getHierarchy(item.title);\r\n let nextItemHierarchy = getHierarchy(nextItem.title);\r\n\r\n // If both items have the same number of array elements in the hierarchy, then they are not considered related.\r\n // For example, a title starting with \"II.2 \" is not related to an item with a title that starts with \"II.3 \",\r\n // but is related to an item that starts with \"II.2.a \"\r\n if (nextItemHierarchy.length <= itemHierarchy.length) {\r\n return false;\r\n }\r\n\r\n for (let i = 0; i < itemHierarchy.length; i++) {\r\n if (itemHierarchy[i] !== nextItemHierarchy[i]) {\r\n return false;\r\n }\r\n }\r\n\r\n return !previousAnswersMatch(nextItem, null);\r\n};\r\n\r\n// The hierarchy will return an array with only the groups that match in the first part of the title\r\n// For example title \"II.2 Please identify...\" will return [\"II\", \"2\"]\r\n// and title \"II.2.a Check the...\" will return [\"II\", \"2\", \"a\"]\r\nconst getHierarchy = (title) => {\r\n let results = [];\r\n if (!title) {\r\n return results;\r\n }\r\n\r\n let matches = title.match(/((?:[A-Za-z0-9]+)+)\\.{0,1}((?:[A-Za-z0-9]+)*)\\.{0,1}((?:[A-Za-z0-9]+)*)/);\r\n\r\n if (!Array.isArray(matches) || matches.length < 2) {\r\n return results;\r\n }\r\n\r\n for (let i = 1; i < matches.length; i++) {\r\n if (matches[i]) {\r\n results.push(matches[i]);\r\n }\r\n }\r\n\r\n return results;\r\n};\r\n\r\nconst isChildQuestionVisible = (item, parentItem) => {\r\n let isVisible = false;\r\n if (item.enabledByParentAnswers === undefined || item.enabledByParentAnswers.length === 0) {\r\n isVisible = true;\r\n } else {\r\n // determine whether the item is enabled by the parent item\r\n for (let i = 0; i < item.enabledByParentAnswers.length; i++) {\r\n if ((parentItem.selectedAnswers === undefined || parentItem.selectedAnswers.length === 0) &&\r\n parentItem.defaultAnswers.find(x => x === item.enabledByParentAnswers[i]) !== undefined) {\r\n isVisible = true;\r\n break;\r\n } else if (parentItem.selectedAnswers.find(x => x === item.enabledByParentAnswers[i]) !== undefined) {\r\n isVisible = true;\r\n break;\r\n }\r\n }\r\n }\r\n return isVisible;\r\n}\r\n\r\nconst renderChild = (item,\r\n parentItem,\r\n isEnabled,\r\n handleItemAnswered,\r\n showAllQuestions,\r\n isExternal,\r\n isArqc,\r\n previousChecklistFound,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID,\r\n showUnansweredQuestions,\r\n handleDownloadAttachmentClick) => {\r\n\r\n let isVisible = isChildQuestionVisible(item, parentItem);\r\n\r\n if (isVisible) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst renderChildren = (item,\r\n handleItemAnswered,\r\n isEnabled,\r\n showAllQuestions,\r\n isExternal,\r\n isArqc,\r\n previousChecklistFound,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID,\r\n showUnansweredQuestions,\r\n handleDownloadAttachmentClick) => {\r\n let nodes = [];\r\n let tableItems = [];\r\n let dynamicChildQuestionDisplayOrder = 0; //Initializing dynamic question order to 0\r\n\r\n if (item.children !== undefined && item.children.length > 0) {\r\n for (let i = 0; i < item.children.length; i++) {\r\n if (item.children[i].renderAsTable !== undefined && item.children[i].renderAsTable === true) {\r\n let tableItem = renderChild(item.children[i],\r\n item,\r\n isEnabled,\r\n handleItemAnswered,\r\n showAllQuestions,\r\n isExternal,\r\n isArqc,\r\n previousChecklistFound,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID,\r\n showUnansweredQuestions,\r\n handleDownloadAttachmentClick);\r\n\r\n if (tableItem !== null && (showAllQuestions || isExternal || isUnanswered(item) || (arraysEqual(item.children[i].selectedAnswers, item.children[i].previousAnswers) && item.children[i].selectedAnswers.lengh > 0))) {\r\n tableItems.push(tableItem);\r\n }\r\n }\r\n\r\n if (tableItems.length > 0 && (item.children[i].renderAsTable === undefined || item.children[i].renderAsTable === false)) {\r\n nodes.push(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {tableItems.map(item => item)}\r\n \r\n
    QuestionYesNoN/A
    \r\n
    \r\n
    );\r\n tableItems = [];\r\n }\r\n\r\n if (item.children[i].renderAsTable === undefined || item.children[i].renderAsTable === false) {\r\n nodes.push(renderChild(item.children[i],\r\n item,\r\n isEnabled,\r\n handleItemAnswered,\r\n showAllQuestions,\r\n isExternal,\r\n isArqc,\r\n previousChecklistFound,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID,\r\n showUnansweredQuestions,\r\n handleDownloadAttachmentClick));\r\n }\r\n }\r\n\r\n if (item.itemType.toLowerCase() === \"psqsection2additionalservices\" && nodes.length > 0) {\r\n let showNodes = false;\r\n for (let i = 0; i < nodes.length; i++) {\r\n if (nodes[i] !== undefined && nodes[i] !== null) {\r\n showNodes = true;\r\n }\r\n }\r\n\r\n if (showNodes) {\r\n return (\r\n \r\n \r\n {nodes.map(i => i)}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n } else if (item.itemType.toLowerCase() === \"psqsection2additionalservices\" && nodes.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n
    \r\n {nodes.map(i => i)}\r\n
    \r\n );\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst getHtml = (title) => {\r\n return { __html: title };\r\n};\r\n\r\nconst renderPreviousAnswer = (isExternal, isArqc, previousAnswers, previousChecklistFound, item, checkReportPeriodVisibilityConstraint, handleSaveComment, handleDeleteComment, handleEditComment, prePopulateAnswerOptionID, siblingQuestionIds) =>\r\n ;\r\n\r\n/* Render Previous Answer for external checklist as well */\r\nconst renderJustPreviousAnswer = (isExternal, isArqc, previousAnswers, previousChecklistFound, prePopulateAnswerOptionID) => {\r\n /* Keep the previous answers tab as blank when prePopulateAnswerOptionID is selected as Questions unaswered (i.e. 2) */\r\n if (prePopulateAnswerOptionID === 2) {\r\n return (
    Previous Answer:
    );\r\n }\r\n\r\n /* If previous checklist exists and question is not answered then show blank */\r\n return (
    Previous Answer: {(\r\n Array.isArray(previousAnswers) && previousAnswers.join(\", \")) ||\r\n (previousAnswers !== undefined && previousAnswers !== null && Array.isArray(previousAnswers) === false && previousAnswers.length > 0 && previousAnswers) ||\r\n (previousChecklistFound && \" \") ||\r\n (!isArqc && \"Prior PSQ for Property Not Available\") || (isArqc && \"Prior ARQC Not Available\")}
    );\r\n};\r\n\r\nconst renderArqcStockFmvRow = (answer, item, isEnabled, itemHandler, isExternal, previousChecklistFound, checkReportPeriodVisibilityConstraint, handleSaveComment, handleDeleteComment, handleEditComment, prePopulateAnswerOptionID) => {\r\n\r\n const fmvItemHandler = itemHandler.bind(this, item, null, { \"field\": \"fmv\", \"individualShareholder\": answer.individualShareholder });\r\n const percentItemHandler = itemHandler.bind(this, item, null, { \"field\": \"percent\", \"individualShareholder\": answer.individualShareholder });\r\n /* If previous checklist exists and question is not answered then show blank */\r\n return (\r\n \r\n \r\n {answer.individualShareholder}\r\n \r\n \r\n \r\n {previousChecklistFound && item.previousAnswers !== undefined && item.previousAnswers.find(x => x.individualShareholder === answer.individualShareholder) !== undefined ? renderJustPreviousAnswer(isExternal, true, item.previousAnswers.find(x => x.individualShareholder === answer.individualShareholder).fmvOfStockOwned, previousChecklistFound, prePopulateAnswerOptionID) : Previous Answer: }\r\n \r\n \r\n \r\n {previousChecklistFound && item.previousAnswers !== undefined && item.previousAnswers.find(x => x.individualShareholder === answer.individualShareholder) !== undefined ? renderJustPreviousAnswer(isExternal, true, item.previousAnswers.find(x => x.individualShareholder === answer.individualShareholder).percentOfStockOwned, previousChecklistFound, prePopulateAnswerOptionID) : Previous Answer: }\r\n \r\n \r\n );\r\n};\r\n\r\nconst renderArqcAssetTestQuestionChild = (\r\n item,\r\n parentItem,\r\n handleItemAnswered,\r\n previousChecklistFound,\r\n isExternal,\r\n isEnabled,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID\r\n) => {\r\n const itemHandler = handleItemAnswered.bind(this, item, parentItem);\r\n const siblingQuestionIds = parentItem.children\r\n .filter((c) => c.id !== item.id)\r\n .map((c) => c.id);\r\n return (\r\n \r\n {item.availableAnswers.map((answer) => (\r\n x === answer) !== undefined) ||\r\n item.selectedAnswers.find((x) => x === answer) !== undefined\r\n }\r\n >\r\n {answer}\r\n \r\n ))}\r\n {renderPreviousAnswer(\r\n isExternal,\r\n true,\r\n item.previousAnswers,\r\n previousChecklistFound,\r\n item,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID,\r\n siblingQuestionIds\r\n )}\r\n \r\n );\r\n};\r\n\r\nconst HelpPopup = (props) => {\r\n if (!props.item.help || props.item.help == \"empty\") { return null }\r\n\r\n return (\r\n }\r\n content={
    }\r\n on='click'\r\n flowing\r\n position='bottom left'\r\n className='helpPopup'\r\n />)\r\n};\r\n\r\nconst editChecklistItem = ({\r\n item,\r\n nextItem,\r\n parentItem,\r\n handleItemAnswered,\r\n isEnabled,\r\n periodId,\r\n showAllQuestions,\r\n isExternal,\r\n isArqc,\r\n previousChecklistFound,\r\n handleRemovePsqSection2Row,\r\n allowRemovePsqSection2Row,\r\n tbMode,\r\n isSectionVisible,\r\n checklistId,\r\n canEdit,\r\n user,\r\n checklistFiles,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n handleDeleteAttachment,\r\n handleDownloadChecklistFile,\r\n externalEmail,\r\n prePopulateAnswerOptionID,\r\n showUnansweredQuestions,\r\n isDisabledTab,\r\n questionComments,\r\n handleDownloadAttachmentClick\r\n}) => {\r\n state = {\r\n canEdit,\r\n user,\r\n externalEmail,\r\n checklistId,\r\n checklistFiles,\r\n isArqc,\r\n handleDeleteAttachment,\r\n handleDownloadChecklistFile,\r\n isDisabledTab,\r\n questionComments\r\n };\r\n\r\n const itemHandler = handleItemAnswered.bind(this, item, parentItem);\r\n if (!item.title) {\r\n return null;\r\n }\r\n\r\n // Display Changed Answer questions\r\n if (!showAllQuestions\r\n && previousAnswersMatch(item, nextItem)\r\n && !isUnanswered(item)\r\n && !hasChildrenWithUnmatchedAnswers(item)) {\r\n return null;\r\n }\r\n\r\n // Display only Unanswered questions\r\n if (showUnansweredQuestions && isAnswered(item) && hasChildrenWithAnswers(item)) {\r\n return null;\r\n }\r\n\r\n if (item.itemType.toLowerCase() === \"menu\") {\r\n const options = item.availableAnswers.map(answer => {\r\n return { key: answer, text: answer, value: answer };\r\n });\r\n\r\n let answers = item.selectedAnswers;\r\n if (!item.isMultiSelect) {\r\n if (answers !== undefined && answers.length > 0) {\r\n answers = answers[0];\r\n } else {\r\n answers = null;\r\n }\r\n }\r\n\r\n return (\r\n \r\n
    \r\n {/* */}\r\n\r\n \r\n \r\n {options.map((co) => (\r\n \r\n {co.text}\r\n \r\n ))}\r\n \r\n \r\n\r\n {renderPreviousAnswer(\r\n isExternal,\r\n isArqc,\r\n item.previousAnswers,\r\n previousChecklistFound,\r\n item,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID\r\n )}\r\n\r\n {renderChildren(\r\n item,\r\n handleItemAnswered,\r\n isEnabled,\r\n showAllQuestions,\r\n isExternal,\r\n isArqc,\r\n previousChecklistFound,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID,\r\n showUnansweredQuestions\r\n )}\r\n \r\n );\r\n }\r\n\r\n if (\r\n item.itemType.toLowerCase() === \"button\" &&\r\n item.isMultiSelect === true\r\n ) {\r\n if (item.renderAsTable !== undefined && item.renderAsTable === true) {\r\n return (\r\n \r\n \r\n {item.title}\r\n {renderPreviousAnswer(\r\n isExternal,\r\n isArqc,\r\n item.previousAnswers,\r\n previousChecklistFound,\r\n item,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID\r\n )}\r\n \r\n\r\n {item.availableAnswers.map((answer, index) => (\r\n \r\n x === answer\r\n ) !== undefined) ||\r\n item.selectedAnswers.find(\r\n (x) => x === answer\r\n ) !== undefined\r\n }>\r\n {answer}\r\n \r\n \r\n ))}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {item.availableAnswers.map((answer, index) => (\r\n \r\n x === answer\r\n ) !== undefined) ||\r\n item.selectedAnswers.find(\r\n (x) => x === answer\r\n ) !== undefined\r\n }\r\n >{answer}\r\n \r\n ))}\r\n
    \r\n {item.attachments &&\r\n item.attachments.length > 0 &&\r\n \r\n \r\n

    \r\n
    \r\n }\r\n
    \r\n {renderPreviousAnswer(\r\n isExternal,\r\n isArqc,\r\n item.previousAnswers,\r\n previousChecklistFound,\r\n item,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID\r\n )}\r\n\r\n {renderChildren(\r\n item,\r\n handleItemAnswered,\r\n isEnabled,\r\n showAllQuestions,\r\n isExternal,\r\n isArqc,\r\n previousChecklistFound,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID,\r\n showUnansweredQuestions,\r\n handleDownloadAttachmentClick\r\n )}\r\n \r\n );\r\n }\r\n\r\n if (\r\n item.itemType.toLowerCase() === \"button\" &&\r\n item.isMultiSelect === false\r\n ) {\r\n if (item.renderAsTable !== undefined && item.renderAsTable === true) {\r\n return (\r\n \r\n \r\n {item.title}\r\n\r\n {renderPreviousAnswer(\r\n isExternal,\r\n isArqc,\r\n item.previousAnswers,\r\n previousChecklistFound,\r\n item,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n prePopulateAnswerOptionID\r\n )}\r\n \r\n {item.availableAnswers.map((answer) => (\r\n \r\n x === answer\r\n ) !== undefined) ||\r\n item.selectedAnswers.find(\r\n (x) => x === answer\r\n ) !== undefined\r\n }\r\n >\r\n {answer}\r\n \r\n \r\n ))}\r\n\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {item.availableAnswers.map((answer) => (\r\n \r\n x === answer\r\n ) !== undefined) ||\r\n item.selectedAnswers.find(\r\n (x) => x === answer\r\n ) !== undefined\r\n }\r\n >\r\n {answer}\r\n \r\n \r\n ))}\r\n
    \r\n {item.attachments &&\r\n item.attachments.length > 0 &&\r\n \r\n \r\n

    \r\n
    \r\n }\r\n
    \r\n {renderPreviousAnswer(\r\n isExternal,\r\n isArqc,\r\n item.previousAnswers,\r\n previousChecklistFound,\r\n item,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID\r\n )}\r\n\r\n {renderChildren(\r\n item,\r\n handleItemAnswered,\r\n isEnabled,\r\n showAllQuestions,\r\n isExternal,\r\n isArqc,\r\n previousChecklistFound,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID,\r\n showUnansweredQuestions,\r\n handleDownloadAttachmentClick\r\n )}\r\n \r\n );\r\n }\r\n\r\n if (item.itemType.toLowerCase() === \"plaintext\") {\r\n let defaultValue = \"\";\r\n if (\r\n item.selectedAnswers !== undefined &&\r\n item.selectedAnswers.length > 0\r\n ) {\r\n defaultValue = item.selectedAnswers[0];\r\n } else if (\r\n item.defaultAnswers !== undefined &&\r\n item.defaultAnswers.length > 0\r\n ) {\r\n defaultValue = item.defaultAnswers[0];\r\n }\r\n\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {item.attachments &&\r\n item.attachments.length > 0 &&\r\n \r\n \r\n

    \r\n
    \r\n }\r\n
    \r\n \r\n \r\n \r\n\r\n {renderPreviousAnswer(\r\n isExternal,\r\n isArqc,\r\n item.previousAnswers,\r\n previousChecklistFound,\r\n item,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID\r\n )}\r\n\r\n {renderChildren(\r\n item,\r\n handleItemAnswered,\r\n isEnabled,\r\n showAllQuestions,\r\n isExternal,\r\n isArqc,\r\n previousChecklistFound,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID,\r\n showUnansweredQuestions,\r\n handleDownloadAttachmentClick\r\n )}\r\n \r\n );\r\n }\r\n\r\n if (item.itemType.toLowerCase() === \"fileupload\") {\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 if (item.itemType.toLowerCase() === \"arqcexhibitbmortgagetable\") {\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
    FeesYN
    Commitment Fees\r\n \r\n YES\r\n \r\n \r\n \r\n NO\r\n \r\n
    Servicing Rights\r\n \r\n YES\r\n \r\n \r\n \r\n NO\r\n \r\n
    Guarantee Fees\r\n \r\n YES\r\n \r\n \r\n \r\n NO\r\n \r\n
    \r\n {renderPreviousAnswer(\r\n isExternal,\r\n isArqc,\r\n item.previousAnswers,\r\n previousChecklistFound,\r\n item,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID\r\n )}\r\n \r\n );\r\n }\r\n\r\n\r\n if (item.itemType.toLowerCase() === \"arqcstockfmvtable\") {\r\n\r\n let sumFmvOfStockOwned = 0.00;\r\n let sumPercentOfStockOwned = 0.000;\r\n let value = 0;\r\n\r\n for (let i = 0; i < item.selectedAnswers.length; i++) {\r\n\r\n if (item.selectedAnswers[i].fmvOfStockOwned !== undefined && item.selectedAnswers[i].fmvOfStockOwned !== null) {\r\n\r\n value = item.selectedAnswers[i].fmvOfStockOwned.replace(\"$\", \"\").replace(\",\", \"\");\r\n while (value.indexOf(\",\") > 0) {\r\n value = value.replace(\"$\", \"\").replace(\",\", \"\");\r\n }\r\n\r\n sumFmvOfStockOwned += Number(value);\r\n }\r\n\r\n if (item.selectedAnswers[i].percentOfStockOwned !== undefined && item.selectedAnswers[i].percentOfStockOwned !== null) {\r\n value = item.selectedAnswers[i].percentOfStockOwned.replace(\"%\", \"\");\r\n sumPercentOfStockOwned += Number(value);\r\n }\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 {item.selectedAnswers.length > 0\r\n ? item.selectedAnswers.map((a) =>\r\n renderArqcStockFmvRow(\r\n a,\r\n item,\r\n isEnabled,\r\n handleItemAnswered,\r\n isExternal,\r\n previousChecklistFound,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID\r\n )\r\n )\r\n : item.defaultAnswers.map((a) =>\r\n renderArqcStockFmvRow(\r\n a,\r\n item,\r\n isEnabled,\r\n handleItemAnswered,\r\n isExternal,\r\n previousChecklistFound,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID\r\n )\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Indivivdual ShareholderFMV of Stock Owned% of Stock Owned
    Total\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n if (item.itemType.toLowerCase() === \"psqsection2propertymanager\") {\r\n let defaultPropManager = \"\";\r\n if (item.selectedAnswers !== undefined && item.selectedAnswers.length > 0) {\r\n defaultPropManager = item.selectedAnswers[0];\r\n } else if (item.defaultAnswers !== undefined && item.defaultAnswers.length > 0) {\r\n defaultPropManager = item.defaultAnswers[0];\r\n } else if (item.selectedAnswers !== undefined && item.selectedAnswers.length === 0) {\r\n item.selectedAnswers.push(\"\"); // Set the Property Manager textbox with empty string, when there is no answer for question\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 {renderChildren(\r\n item,\r\n handleItemAnswered,\r\n isEnabled,\r\n showAllQuestions,\r\n isExternal,\r\n isArqc,\r\n previousChecklistFound,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID,\r\n showUnansweredQuestions\r\n )}\r\n \r\n
    Property ManagerEIKTRS
    \r\n \r\n \r\n \r\n {renderPreviousAnswer(\r\n isExternal,\r\n isArqc,\r\n item.previousAnswers,\r\n previousChecklistFound,\r\n item,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID\r\n )}\r\n \r\n \r\n x === \"E\") !== undefined}>\r\n \r\n \r\n \r\n \r\n x === \"IK\") !== undefined}>\r\n \r\n \r\n \r\n \r\n x === \"TRS\") !== undefined}>\r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n if (item.itemType.toLowerCase() === \"psqsection2additionalservices\") {\r\n const removePsqSection2Handler = handleRemovePsqSection2Row.bind(\r\n this,\r\n item\r\n );\r\n\r\n let defaultServiceProvider = \"\";\r\n if (item.selectedAnswers !== undefined && item.selectedAnswers.length > 0) {\r\n defaultServiceProvider = item.selectedAnswers[0];\r\n } else if (\r\n item.defaultAnswers !== undefined &&\r\n item.defaultAnswers.length > 0\r\n ) {\r\n defaultServiceProvider = item.defaultAnswers[0];\r\n } else if (\r\n item.selectedAnswers !== undefined &&\r\n item.selectedAnswers.length === 0\r\n ) {\r\n item.selectedAnswers.push(\"\"); // Set the Service Provider textbox with empty string, when there is no answer for question\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {renderPreviousAnswer(\r\n isExternal,\r\n isArqc,\r\n item.previousAnswers,\r\n previousChecklistFound,\r\n item,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID\r\n )}\r\n \r\n \r\n \r\n x === \"E\") !== undefined}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n x === \"IK\") !== undefined}>\r\n \r\n \r\n \r\n \r\n \r\n x === \"TRS\") !== undefined}>\r\n \r\n \r\n \r\n \r\n {(isEnabled && allowRemovePsqSection2Row && (\r\n \r\n \r\n \r\n )) ||\r\n null}\r\n \r\n \r\n {renderChildren(\r\n item,\r\n handleItemAnswered,\r\n isEnabled,\r\n showAllQuestions,\r\n isExternal,\r\n isArqc,\r\n previousChecklistFound,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID,\r\n showUnansweredQuestions\r\n )}\r\n \r\n );\r\n }\r\n\r\n if (item.itemType.toLowerCase() === \"arqcassettestquestion\") {\r\n let hasPreviousMatchChild = false;\r\n for (let i = 0; i < item.children.length; i++) {\r\n if (!previousAnswersMatch(item.children[i])) {\r\n hasPreviousMatchChild = true;\r\n }\r\n }\r\n\r\n if (!showAllQuestions && !isExternal && !hasPreviousMatchChild) {\r\n return null;\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 {item.children.map((a) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {item.children.map((a) =>\r\n renderArqcAssetTestQuestionChild(\r\n a,\r\n item,\r\n handleItemAnswered,\r\n previousChecklistFound,\r\n isExternal,\r\n isEnabled,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n prePopulateAnswerOptionID\r\n )\r\n )}\r\n \r\n \r\n
    \r\n {a.title}\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n if (item.itemType === \"assetdetailexhibit\") {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (item.itemType === \"incomedetailexhibit\") {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (item.itemType === \"distributiondetailexhibit\") {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (isInstructionType(item)) {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {renderChildren(item, handleItemAnswered, isEnabled, showAllQuestions, isExternal, isArqc, previousChecklistFound, checkReportPeriodVisibilityConstraint, handleSaveComment, handleDeleteComment, handleEditComment, prePopulateAnswerOptionID, showUnansweredQuestions)}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n if (item.itemType === \"headerInfo\") {\r\n const marginBottom =\r\n nextItem && nextItem.itemType !== \"headerInfo\" ? \" mb-3\" : \"\";\r\n return (\r\n
    \r\n
    \r\n {`${item.title}:`}{\" \"}\r\n {item.selectedAnswers[0]}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return null;\r\n};\r\n\r\neditChecklistItem.propTypes = {\r\n item: PropTypes.object.isRequired,\r\n parentItem: PropTypes.object,\r\n handleItemAnswered: PropTypes.func,\r\n periodId: PropTypes.number,\r\n isEnabled: PropTypes.bool,\r\n incomeDetails: PropTypes.array,\r\n showAllQuestions: PropTypes.bool,\r\n isExternal: PropTypes.bool,\r\n previousChecklistFound: PropTypes.array,\r\n handleRemovePsqSection2Row: PropTypes.func,\r\n allowRemovePsqSection2Row: PropTypes.bool,\r\n tbMode: PropTypes.number,\r\n properties: PropTypes.array,\r\n nextItem: PropTypes.object,\r\n propertyDetails: PropTypes.object,\r\n propertyItsi: PropTypes.object,\r\n distributionTestSummary: PropTypes.object,\r\n distributionTaxableIncome: PropTypes.object,\r\n isArqc: PropTypes.bool,\r\n isSectionVisible: PropTypes.bool,\r\n checklistId: PropTypes.string,\r\n prePopulateAnswerOptionID: PropTypes.number,\r\n user: PropTypes.string,\r\n showUnansweredQuestions: PropTypes.bool,\r\n handleDownloadAttachmentClick: PropTypes.func,\r\n};\r\n\r\nexport default editChecklistItem;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Label, Form, Input } from \"semantic-ui-react\";\r\nimport { MotifFormField, MotifInput, MotifLabel } from \"@ey-xd/motif-react\";\r\n\r\nconst editChecklistComments = ({\r\n section,\r\n handleComments,\r\n isExternal\r\n}) => {\r\n\r\n let defaultValue = \"\";\r\n if (section.comments !== undefined && section.comments.length > 0) {\r\n defaultValue = section.comments[0];\r\n }\r\n\r\n if (!isExternal) {\r\n return (\r\n \r\n \r\n Comments\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return null;\r\n};\r\n\r\neditChecklistComments.propTypes = {\r\n section: PropTypes.object.isRequired,\r\n handleComments: PropTypes.func,\r\n isExternal: PropTypes.bool\r\n};\r\n\r\nexport default editChecklistComments;","/* eslint react/no-danger: 0 */ // --> OFF\r\nimport React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Form, Button, Segment } from \"semantic-ui-react\";\r\nimport EditChecklistItem from \"./EditChecklistItem\";\r\nimport EditChecklistComments from \"./EditChecklistComments\";\r\nimport PropertyAmenitiesTableContainer from \"../../containers/shared/PropertyAmenitiesTableContainer\";\r\nimport ChecklistQuestionTabs from \"./ChecklistQuestionTabs\";\r\nimport { MotifButton, MotifIcon } from \"@ey-xd/motif-react\";\r\n\r\nconst getHtml = (title) => {\r\n return { __html: title };\r\n};\r\n\r\nconst renderPsqSection2InitialItem = (\r\n section,\r\n isEnabled,\r\n handleItemAnswered,\r\n showAllQuestions,\r\n isExternal,\r\n isArqc,\r\n previousChecklistFound,\r\n canEdit,\r\n user,\r\n checklistFiles,\r\n externalEmail,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n handleDeleteAttachment,\r\n handleDownloadChecklistFile,\r\n checklistId,\r\n prePopulateAnswerOptionID,\r\n showUnansweredQuestions,\r\n isDisabledTab,\r\n questionComments\r\n) => {\r\n if (section.items.length > 0) {\r\n const item = section.items[0];\r\n return (\r\n \r\n );\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst editChecklistSection = ({\r\n section,\r\n isVisible,\r\n handleItemAnswered,\r\n isEnabled,\r\n showAllQuestions,\r\n isExternal,\r\n isArqc,\r\n previousChecklistFound,\r\n prePopulateAnswerOptionID,\r\n lastServiceProviderQuestionId,\r\n handleComments,\r\n taxableReitSubsidiaries,\r\n handleAddPsqSection2Row,\r\n handleRemovePsqSection2Row,\r\n tbMode,\r\n periodId,\r\n shouldSubmitReduxFormOnChange,\r\n handleSubmitReduxForm,\r\n checklistId,\r\n canEdit,\r\n user,\r\n checklistFiles,\r\n checkReportPeriodVisibilityConstraint,\r\n handleSaveComment,\r\n handleDeleteComment,\r\n handleEditComment,\r\n handleDeleteAttachment,\r\n handleDownloadChecklistFile,\r\n externalEmail,\r\n showUnansweredQuestions,\r\n isDisabledTab,\r\n questionComments,\r\n handleDownloadAttachmentClick\r\n}) => {\r\n if (isVisible) {\r\n if (section !== undefined && section.items !== undefined && (section.type === undefined || section.type === null || section.type === \"standardSection\" || section.type === \"ArqcExhibitBMortgage\")) {\r\n let dynamicQuestionDisplayOrder = 0; //Initializing dynamic question order to 0\r\n return (\r\n \r\n
    {section.title}
    \r\n {section.items.map(\r\n (item, idx, array) => {\r\n return idx ? array[idx + 1] : null} handleItemAnswered={handleItemAnswered}\r\n showAllQuestions={showAllQuestions} isExternal={isExternal} isArqc={isArqc} previousChecklistFound={previousChecklistFound}\r\n tbMode={tbMode} canEdit={canEdit} checklistFiles={checklistFiles} user={user} externalEmail={externalEmail}\r\n checkReportPeriodVisibilityConstraint={checkReportPeriodVisibilityConstraint}\r\n handleSaveComment={handleSaveComment} handleDeleteComment={handleDeleteComment} handleEditComment={handleEditComment}\r\n handleDeleteAttachment={handleDeleteAttachment} handleDownloadChecklistFile={handleDownloadChecklistFile}\r\n prePopulateAnswerOptionID={prePopulateAnswerOptionID} showUnansweredQuestions={showUnansweredQuestions} isDisabledTab={isDisabledTab} questionComments={questionComments} handleDownloadAttachmentClick={handleDownloadAttachmentClick} />\r\n })}\r\n \r\n
    \r\n );\r\n } else if (section !== undefined && section.type === \"ArqcExhibitB\") {\r\n return (\r\n \r\n
    {section.title}
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n } else if (section !== undefined && section.items !== undefined && (section.type === undefined || section.type === null || section.type === \"PsqSection2\")) {\r\n let items = [];\r\n \r\n for (let i = 1; i < section.items.length; i++) {\r\n items.push(section.items[i]);\r\n }\r\n\r\n const shouldDisableNewRow = items.find(q => q.id === lastServiceProviderQuestionId) ? true: false;\r\n const allowRemovePsqSection2Row = items.length > 1;\r\n\r\n return (\r\n \r\n
    {section.title}
    \r\n
    \r\n {renderPsqSection2InitialItem(section, isEnabled, handleItemAnswered, showAllQuestions, isExternal, isArqc, previousChecklistFound, canEdit, user, checklistFiles, externalEmail, checkReportPeriodVisibilityConstraint, handleSaveComment, handleDeleteComment, handleEditComment, handleDeleteAttachment, handleDownloadChecklistFile, checklistId, prePopulateAnswerOptionID, showUnansweredQuestions, isDisabledTab, questionComments)}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {items.map(\r\n (item, idx, array) => idx ? array[idx + 1] : null} handleItemAnswered={handleItemAnswered}\r\n showAllQuestions={showAllQuestions} isExternal={isExternal} isArqc={isArqc} previousChecklistFound={previousChecklistFound}\r\n handleRemovePsqSection2Row={handleRemovePsqSection2Row} allowRemovePsqSection2Row={allowRemovePsqSection2Row}\r\n canEdit={canEdit} checklistFiles={checklistFiles} user={user} externalEmail={externalEmail} checklistId={checklistId}\r\n checkReportPeriodVisibilityConstraint={checkReportPeriodVisibilityConstraint}\r\n handleSaveComment={handleSaveComment} handleDeleteComment={handleDeleteComment} handleEditComment={handleEditComment}\r\n handleDeleteAttachment={handleDeleteAttachment} handleDownloadChecklistFile={handleDownloadChecklistFile}\r\n prePopulateAnswerOptionID={prePopulateAnswerOptionID} showUnansweredQuestions={showUnansweredQuestions} isDisabledTab={isDisabledTab} questionComments={questionComments}/>)}\r\n
    Service ProvidersEIKTRSDelete
    \r\n {(isEnabled &&\r\n \r\n New Row\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 return null;\r\n};\r\n\r\neditChecklistSection.propTypes = {\r\n section: PropTypes.object,\r\n isVisible: PropTypes.bool,\r\n handleItemAnswered: PropTypes.func,\r\n isEnabled: PropTypes.bool,\r\n showAllQuestions: PropTypes.bool,\r\n isExternal: PropTypes.bool,\r\n previousChecklistFound: PropTypes.array,\r\n handleComments: PropTypes.func,\r\n handleArqcExhibitBItemAnswered: PropTypes.func,\r\n handleAddArqcExhibitBRow: PropTypes.func,\r\n handleRemoveArqcExhibitBRow: PropTypes.func,\r\n handleAddPsqSection2Row: PropTypes.func,\r\n handleRemovePsqSection2Row: PropTypes.func,\r\n tbMode: PropTypes.number,\r\n isArqc: PropTypes.bool,\r\n taxableReitSubsidiaries: PropTypes.array,\r\n shouldSubmitReduxFormOnChange: PropTypes.bool,\r\n handleSubmitReduxForm: PropTypes.func,\r\n periodId: PropTypes.number,\r\n checklistId: PropTypes.string,\r\n prePopulateAnswerOptionID: PropTypes.number,\r\n user: PropTypes.string,\r\n showUnansweredQuestions: PropTypes.bool,\r\n isDisabledTab:PropTypes.bool,\r\n handleDownloadAttachmentClick: PropTypes.func\r\n \r\n};\r\n\r\nexport default editChecklistSection;\r\n","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport { Button } from \"semantic-ui-react\";\r\nimport EditChecklistSection from \"./EditChecklistSection\";\r\nimport { MotifButton, MotifIcon } from \"@ey-xd/motif-react\";\r\n\r\nconst ArqcChecklistDetailsForm = ({ handleSubmit, handleFormSubmit, checklist, isEnabled,\r\n activeItem, handleItemAnswered, handleComments,\r\n isExternal, isArqc, showAllQuestions, showUnansweredQuestions, previousArqcChecklist, showConfirmationModal, taxableReitSubsidiaries, initialValues,\r\n tbMode, periodId, checklistId, canEdit, user, checklistFiles,checkReportPeriodVisibilityConstraint,\r\n handleSaveComment, handleDeleteComment, handleEditComment, handleDeleteAttachment, handleDownloadChecklistFile, externalEmail,questionComments }) => {\r\n // console.log('#checklist',checklist);\r\n return (\r\n
    \r\n \r\n {checklist && checklist.content.map(section =>\r\n )}\r\n \r\n );\r\n};\r\n\r\nArqcChecklistDetailsForm.propTypes = {\r\n periodId: PropTypes.number,\r\n handleSubmit: PropTypes.func,\r\n checklist: PropTypes.object,\r\n isEnabled: PropTypes.bool,\r\n activeItem: PropTypes.object,\r\n handleItemAnswered: PropTypes.func,\r\n handleComments: PropTypes.func,\r\n showAllQuestions: PropTypes.bool,\r\n showUnansweredQuestions: PropTypes.bool,\r\n previousArqcChecklist: PropTypes.object,\r\n showConfirmationModal: PropTypes.func,\r\n initialValues: PropTypes.object,\r\n tbMode: PropTypes.number,\r\n isExternal: PropTypes.bool,\r\n isArqc: PropTypes.bool,\r\n taxableReitSubsidiaries: PropTypes.array,\r\n handleFormSubmit: PropTypes.func,\r\n checklistId: PropTypes.string,\r\n user: PropTypes.string\r\n};\r\n\r\nexport default reduxForm({\r\n form: \"checklist\",\r\n enableReinitialize: true\r\n})(ArqcChecklistDetailsForm);","import { pendingTask, begin, end } from '../constants/pendingTask';\r\n\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromReitApi as fetch } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport { download, decodeURIComponentSafe } from '../scripts/fileHelpers';\r\n\r\n/**\r\n * Fetch all the PSQ templates for a client. If successful this will dispatch the LOAD_PSQ_TEMPLATES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_PSQ_TEMPLATES_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchPSQTemplates(clientId) {\r\n return function (dispatch) {\r\n if (!clientId) {\r\n return dispatch({\r\n type: actions.LOAD_PSQ_TEMPLATES_SUCCESS,\r\n psqTemplates: [],\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/checklists/psqTemplates/${clientId}`)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((psqTemplates) => {\r\n if (actionHelpers.isErrorResponse(psqTemplates)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_PSQ_TEMPLATES_FAILURE,\r\n psqTemplates\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_PSQ_TEMPLATES_SUCCESS,\r\n psqTemplates,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_PSQ_TEMPLATES_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Create a new custom psq template for a client. If successful this will dispatch the CREATE_CUSTOM_PSQ_TEMPLATE_SUCCESS\r\n * action, otherwise it will dispatch the CREATE_CUSTOM_PSQ_TEMPLATE_FAILURE action.\r\n * @param {object} request The request model.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function createCustomPsqTemplate(request) {\r\n return async function (dispatch) {\r\n if (!request) {\r\n return dispatch({\r\n type: actions.CREATE_CUSTOM_PSQ_TEMPLATE_FAILURE,\r\n templateId: 0,\r\n });\r\n }\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n await fetch(`/customChecklistTemplate/psq`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(request),\r\n })\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((createTemplateResponse) => {\r\n if (actionHelpers.isErrorResponse(createTemplateResponse)) {\r\n const templateId = 0;\r\n\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_CUSTOM_PSQ_TEMPLATE_FAILURE,\r\n templateId\r\n );\r\n }\r\n\r\n const templateId = createTemplateResponse.templateId;\r\n\r\n dispatch({\r\n type: actions.CREATE_CUSTOM_PSQ_TEMPLATE_SUCCESS,\r\n templateId,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n const templateId = 0;\r\n\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.CREATE_CUSTOM_PSQ_TEMPLATE_FAILURE,\r\n templateId,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Update an existing custom psq template for a client and template id. If successful this will dispatch the CREATE_CUSTOM_PSQ_TEMPLATE_SUCCESS\r\n * action, otherwise it will dispatch the CREATE_CUSTOM_PSQ_TEMPLATE_FAILURE action.\r\n * @param {object} request The request model.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function upsertCustomPsqTemplate(request) {\r\n return async function (dispatch) {\r\n if (!request) {\r\n return dispatch({\r\n type: actions.UPSERT_CUSTOM_PSQ_TEMPLATE_FAILURE,\r\n templateId: 0,\r\n });\r\n }\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n await fetch(\r\n `/customChecklistTemplate/psq?clientId=${request.clientId}&templateId=${request.templateId}&templateName=${request.templateName}`,\r\n {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n },\r\n method: 'PUT',\r\n body: JSON.stringify(request),\r\n }\r\n )\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((createTemplateResponse) => {\r\n if (actionHelpers.isErrorResponse(createTemplateResponse)) {\r\n const templateId = 0;\r\n\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPSERT_CUSTOM_PSQ_TEMPLATE_FAILURE,\r\n templateId\r\n );\r\n }\r\n\r\n const templateId = request.templateId;\r\n\r\n dispatch({\r\n type: actions.UPSERT_CUSTOM_PSQ_TEMPLATE_SUCCESS,\r\n templateId,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n const templateId = 0;\r\n\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPSERT_CUSTOM_PSQ_TEMPLATE_FAILURE,\r\n templateId,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch details of a custom psq template for a given client & template id. If successful this will dispatch the LOAD_CUSTOM_PSQ_TEMPLATE_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CUSTOM_PSQ_TEMPLATE_FAILURE action.\r\n * @param {number} templateId The id of the checklist template.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchCustomPsqTemplateById(clientId, templateId) {\r\n return (dispatch) => {\r\n if (!clientId) {\r\n return dispatch({\r\n type: actions.LOAD_CUSTOM_PSQ_TEMPLATE_SUCCESS,\r\n customPsqTemplate: customPsqTemplateDefaultState,\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(\r\n `/customChecklistTemplate/psq?clientId=${clientId}&templateId=${templateId}`\r\n )\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((customPsqTemplate) => {\r\n if (actionHelpers.isErrorResponse(customPsqTemplate)) {\r\n const customPsqTemplate = customPsqTemplateDefaultState;\r\n\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_PSQ_TEMPLATE_FAILURE,\r\n customPsqTemplate\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_CUSTOM_PSQ_TEMPLATE_SUCCESS,\r\n customPsqTemplate: transformTemplateQuestions(customPsqTemplate),\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n const customPsqTemplate = customPsqTemplateDefaultState;\r\n\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_PSQ_TEMPLATE_FAILURE,\r\n customPsqTemplate,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport const customPsqTemplateDefaultState = {\r\n clientId: 0,\r\n templateId: 0,\r\n templateName: '',\r\n templateInitializationType: 'blankTemplate',\r\n copiedFromTemplateName: '',\r\n isCommitted: true,\r\n sections: [\r\n {\r\n sectionId: 0,\r\n sectionName: '',\r\n sectionSortOrder: 1,\r\n sectionIsLocked: false,\r\n questions: [\r\n {\r\n questionId: 0,\r\n questionSortOrder: 1,\r\n parentQuestionId: null,\r\n questionText: '',\r\n questionHelpText: '',\r\n questionTag: '',\r\n questionTypeId: 1,\r\n questionTypeDescription: '',\r\n systemRuleJSON: null,\r\n childQuestionDisplayRuleJSON: {},\r\n sectionDisplayRuleJSON: null,\r\n isLocked: false,\r\n picklistItemName: '',\r\n },\r\n ],\r\n },\r\n ],\r\n};\r\n\r\nexport function fetchAvailableQuestion(clientId, checklistTypeID, templateId) {\r\n return function (dispatch) {\r\n if (!clientId) {\r\n return dispatch({\r\n type: actions.LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLE_SUCCESS,\r\n availableQuestion: [],\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(\r\n `/customChecklistTemplate/availableQuestion/${clientId}?checklistTypeID=${checklistTypeID}&checklistTemplateID=${templateId}`\r\n )\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((availableQuestion) => {\r\n if (actionHelpers.isErrorResponse(availableQuestion)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLE_FAILURE,\r\n availableQuestion\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLE_SUCCESS,\r\n availableQuestion: transformAvailableQuestions(availableQuestion),\r\n [pendingTask]: end,\r\n });\r\n return availableQuestion;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLE_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Transform the Available questions to format required by Drag and Drop\r\n * @param {*} availableQuestion\r\n * @returns Transformed Available questions\r\n */\r\nfunction transformAvailableQuestions(availableQuestion) {\r\n availableQuestion &&\r\n availableQuestion.map((item) => {\r\n item['category'] = 'availablequestion';\r\n item['sectionID'] = -1;\r\n item['sectionName'] = '';\r\n item['isAccordionOpen'] = false;\r\n\r\n item.childQuestions.map((childItem) => {\r\n childItem['isAccordionOpen'] = false;\r\n });\r\n });\r\n return availableQuestion;\r\n}\r\n\r\n/**\r\n * Transform the Template questions to format required by Drag and Drop\r\n * @param {*} customPsqTemplate\r\n * @returns Transformed Template questions\r\n */\r\nfunction transformTemplateQuestions(customPsqTemplate) {\r\n if (\r\n customPsqTemplate &&\r\n customPsqTemplate.sections &&\r\n customPsqTemplate.sections.length > 0\r\n ) {\r\n customPsqTemplate.sections.map((sectionItem) => {\r\n sectionItem['isAccordionOpen'] = false;\r\n sectionItem['isNewSection'] = false;\r\n sectionItem['sectionHighlightClass'] = '';\r\n\r\n sectionItem.questions.map((item) => {\r\n //Update category, section details for Drag and Drop functionality\r\n item['category'] = 'sectionquestion';\r\n item['sectionID'] = sectionItem.sectionID;\r\n item['sectionName'] = sectionItem.sectionName;\r\n item['sectionIsLocked'] = sectionItem.sectionIsLocked;\r\n item['sectionSortOrder'] = sectionItem.sectionSortOrder;\r\n item['isAccordionOpen'] = false;\r\n\r\n item.childQuestions &&\r\n item.childQuestions.map((childItem) => {\r\n // let randomNumber = parseInt(Math.random() * (99999999 - 1)) + 1;\r\n\r\n childItem['category'] = 'sectionquestion';\r\n // childItem['questionID'] = randomNumber;\r\n childItem['isAccordionOpen'] = false;\r\n });\r\n });\r\n });\r\n }\r\n return customPsqTemplate;\r\n}\r\n\r\nexport function fetchQuestionById(\r\n clientId,\r\n checklistTypeID,\r\n templateId,\r\n questionId\r\n) {\r\n return function (dispatch) {\r\n if (!clientId) {\r\n return dispatch({\r\n type: actions.LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLEBYID_SUCCESS,\r\n availableQuestionByID: [],\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(\r\n `/customChecklistTemplate/availableQuestion/${clientId}?checklistTypeID=${checklistTypeID}&checklistTemplateID=${templateId}&questionID=${questionId}`\r\n )\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((availableQuestionByID) => {\r\n if (actionHelpers.isErrorResponse(availableQuestionByID)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLEBYID_FAILURE,\r\n availableQuestionByID\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLEBYID_SUCCESS,\r\n availableQuestionByID,\r\n [pendingTask]: end,\r\n });\r\n return availableQuestionByID;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLEBYID_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport function dispatchAvailableQuestion(availableQuestion) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return dispatch({\r\n type: actions.LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLE_SUCCESS,\r\n availableQuestion,\r\n [pendingTask]: end,\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch all custom checklist template lookup types data\r\n * @returns {Promise} A Promise\r\n */\r\nexport function fetchCustomChecklistTemplateLookupTypes() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/customChecklistTemplate/lookupData`, {\r\n method: 'GET',\r\n })\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((fetchedTypes) => {\r\n dispatch({\r\n type: actions.LOAD_ALL_CUSTOM_CHECKLIST_TEMPLATE_LOOKUPTYPES_SUCCESS,\r\n fetchedTypes,\r\n [pendingTask]: end,\r\n });\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch contents of a custom psq template for a given client & template id. If successful this will dispatch the LOAD_CUSTOM_PSQ_TEMPLATE_CONTENT_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_CUSTOM_PSQ_TEMPLATE_CONTENT_FAILURE action.\r\n * @param {number} templateId The id of the checklist template.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchCustomPsqTemplateContentById(clientId, templateId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(\r\n `/customChecklistTemplate/preview?clientId=${clientId}&templateId=${templateId}`,\r\n {\r\n method: 'GET',\r\n }\r\n )\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((customPsqTemplateContent) => {\r\n if (actionHelpers.isErrorResponse(customPsqTemplateContent)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CUSTOM_PSQ_TEMPLATE_CONTENT_FAILURE,\r\n customPsqTemplateContent\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_CUSTOM_PSQ_TEMPLATE_CONTENT_SUCCESS,\r\n customPsqTemplateContent,\r\n [pendingTask]: end,\r\n });\r\n return customPsqTemplateContent;\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch Checklist Template record by Checklist Template Id\r\n * action, otherwise it will dispatch the LOAD_CHECKLIST_TEMPLATE_FAILURE action.\r\n * @param {object} request The request model.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchChecklistTemplateByChecklistTemplateId(request) {\r\n\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/customChecklistTemplate/template?clientId=${request.clientId}&templateId=${request.templateId}`)\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(checklistTemplateResponse => {\r\n \r\n if (actionHelpers.isErrorResponse(checklistTemplateResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CHECKLIST_TEMPLATE_FAILURE,\r\n checklistTemplateResponse,\r\n );\r\n }\r\n\r\n dispatch({\r\n type: actions.LOAD_CHECKLIST_TEMPLATE_SUCCESS,\r\n checklistTemplateResponse,\r\n [pendingTask]: end,\r\n });\r\n \r\n return checklistTemplateResponse;\r\n })\r\n .catch(error => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_CHECKLIST_TEMPLATE_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n\r\n/**\r\n * Lock or Unclok Checklist Template\r\n * action, otherwise it will dispatch the UPDATE_CHECKLIST_TEMPLATE_TO_LOCK_UNLOCK_FAILURE action.\r\n * @param {object} request The request model.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function updateChecklistTemplateToLockOrUnlock(request) { \r\n\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/customChecklistTemplate/lockTemplate?clientId=${request.clientId}&templateId=${request.templateId}&lockTemplate=${request.lockTemplate}`,\r\n {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n },\r\n method: 'PUT'\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(updateTemplateResponse => {\r\n if (actionHelpers.isErrorResponse(updateTemplateResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CHECKLIST_TEMPLATE_TO_LOCK_UNLOCK_FAILURE,\r\n updateTemplateResponse,\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return updateTemplateResponse;\r\n })\r\n .catch(error => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CHECKLIST_TEMPLATE_TO_LOCK_UNLOCK_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Enable enable mode of Checklist Template\r\n * action, otherwise it will dispatch the UPDATE_CHECKLIST_TEMPLATE_TO_ENABLE_EDIT_MODE_FAILURE action.\r\n * @param {object} request The request model.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function updateChecklistTemplateToEnableEditMode(request) {\r\n\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/customChecklistTemplate/editModeTemplate?clientId=${request.clientId}&templateId=${request.templateId}`,\r\n {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json',\r\n },\r\n method: 'PUT'\r\n })\r\n .then(response => {\r\n return response.json();\r\n })\r\n .then(updateTemplateResponse => {\r\n if (actionHelpers.isErrorResponse(updateTemplateResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CHECKLIST_TEMPLATE_TO_ENABLE_EDIT_MODE_FAILURE,\r\n updateTemplateResponse,\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return updateTemplateResponse;\r\n })\r\n .catch(error => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.UPDATE_CHECKLIST_TEMPLATE_TO_ENABLE_EDIT_MODE_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport function persistUncommittedTemplateSectionChanges(request) {\r\n return function (dispatch) {\r\n if (!request) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.PERSIST_UNCOMMITTED_TEMPLATE_SECTION_CHANGES_FAILURE,\r\n null\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(\r\n `/customChecklistTemplate/uncommitted/section`,\r\n {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(request),\r\n }\r\n )\r\n .then((response) => {\r\n return response.text();\r\n })\r\n .then((res) => {\r\n const jsonResponse = res ? JSON.parse(res) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.PERSIST_UNCOMMITTED_TEMPLATE_SECTION_CHANGES_FAILURE,\r\n null\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.PERSIST_UNCOMMITTED_TEMPLATE_SECTION_CHANGES_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport function commitCustomTemplateTemplateChanges(request) {\r\n return (dispatch) => {\r\n if (!request) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.COMMIT_TEMPLATE_SECTION_CHANGES_FAILURE,\r\n null\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(\r\n `/customChecklistTemplate/commit`,\r\n {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(request),\r\n }\r\n )\r\n .then((response) => {\r\n return response.text();\r\n })\r\n .then((res) => {\r\n const jsonResponse = res ? JSON.parse(res) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.COMMIT_TEMPLATE_SECTION_CHANGES_FAILURE,\r\n null\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.COMMIT_TEMPLATE_SECTION_CHANGES_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport function abandonCustomTemplateTemplateChanges(request) {\r\n return (dispatch) => {\r\n if (!request) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.ABANDON_TEMPLATE_SECTION_CHANGES_FAILURE,\r\n null\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(\r\n `/customChecklistTemplate/abandon`,\r\n {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(request),\r\n }\r\n )\r\n .then((response) => {\r\n return response.text();\r\n })\r\n .then((res) => {\r\n const jsonResponse = res ? JSON.parse(res) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.ABANDON_TEMPLATE_SECTION_CHANGES_FAILURE,\r\n null\r\n );\r\n }\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.ABANDON_TEMPLATE_SECTION_CHANGES_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n","import React from 'react';\r\nimport { MotifIcon, MotifIconButton } from '@ey-xd/motif-react';\r\nimport { IconoirLock, IconoirLockSlash, IconoirEdit, IconoirEditPencil, IconoirTrash } from '@ey-xd/motif-icon';\r\n\r\nexport default (props) => {\r\n const isLocked = props.data ? props.data.isLocked : false;\r\n const checklistTemplateId = props.data ? props.data.checklistTemplateID : -1;\r\n const checklistTemplateName = props.data ? props.data.checklistTemplateName : '';\r\n const lockedBy = props.data ? props.data.lockedBy : '';\r\n const isEditMode = props.data ? props.data.isEditMode : false;\r\n const beingEditedBy = props.data ? props.data.beingEditedBy : '';\r\n const beingEditedByValidationMessage = `This checklist template is currently being edited by ${beingEditedBy ? beingEditedBy.toLowerCase() : ''}`;\r\n const isSystemAdministrator = props.currentUserIsSysAdmin ? props.currentUserIsSysAdmin : false;\r\n const isEngagementAdmin = props.currentUserIsEngAdmin ? props.currentUserIsEngAdmin : false;\r\n const isEngagementUser = props.currentUserIsEngagementUser ? props.currentUserIsEngagementUser : false;\r\n const currentUser = props.currentUser ? props.currentUser : '';\r\n const lockedByValidationMessage = `Locked by ${lockedBy ? lockedBy.toLowerCase() : ''}`;\r\n \r\n let enableActionForLockedAndEditModeTemplate = false;\r\n //If checklist template is locked and also in edit mode\r\n if (isLocked && isEditMode) {\r\n // If current user is system administrator\r\n if (isSystemAdministrator) {\r\n enableActionForLockedAndEditModeTemplate = true;\r\n }\r\n // If current user is edited that template and locked that template\r\n else if (currentUser.toUpperCase() == beingEditedBy.toUpperCase() && currentUser.toUpperCase() == lockedBy.toUpperCase()) {\r\n enableActionForLockedAndEditModeTemplate = true;\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n { (isSystemAdministrator || isEngagementAdmin || isEngagementUser) &&\r\n
    \r\n {!isLocked ?\r\n // For Unlocked Custom Templates\r\n isEditMode ?\r\n // Checklist template is edited(UnLocked)\r\n (\r\n
    \r\n props.handleLock(checklistTemplateId, checklistTemplateName, true)}>\r\n \r\n \r\n props.handleEdit(checklistTemplateId, checklistTemplateName)} >\r\n \r\n \r\n {props.allowDeleteAction && \r\n \r\n }\r\n
    \r\n )\r\n :\r\n // Checklist template is not edited(UnLocked)\r\n (\r\n
    \r\n props.handleLock(checklistTemplateId, checklistTemplateName, true)}>\r\n \r\n \r\n props.handleEdit(checklistTemplateId, checklistTemplateName)}>\r\n \r\n \r\n {props.allowDeleteAction && props.handleDelete(checklistTemplateId, checklistTemplateName)}>\r\n \r\n }\r\n
    \r\n )\r\n :\r\n // For Locked Custom Templates\r\n checklistTemplateId > 0\r\n ?\r\n // Checklist template is edited(Locked)\r\n isEditMode ?\r\n (\r\n
    \r\n props.handleLock(checklistTemplateId, checklistTemplateName, false)} >\r\n \r\n \r\n\r\n props.handleEdit(checklistTemplateId, checklistTemplateName)}\r\n >\r\n \r\n \r\n {props.allowDeleteAction && \r\n \r\n }\r\n
    \r\n )\r\n :\r\n // Checklist template is not edited(Locked)\r\n (\r\n
    \r\n props.handleLock(checklistTemplateId, checklistTemplateName, false)} >\r\n \r\n \r\n\r\n props.handleEdit(checklistTemplateId, checklistTemplateName)}>\r\n\r\n \r\n \r\n {props.allowDeleteAction && props.handleDelete(checklistTemplateId, checklistTemplateName)} >\r\n \r\n }\r\n
    \r\n )\r\n :\r\n // For Standard Templates\r\n null}\r\n
    \r\n }
    );\r\n};","export default (value1, value2) => {\r\n const date1 = new Date(value1);\r\n const date2 = new Date(value2);\r\n if (date1 === date2) return 0;\r\n else if (date1 > date2) return 1;\r\n else return -1;\r\n}","// Comparator for string containing numbers and title, for e.g. \"1 - Title 1\", \"1.1 - Title 2\", \"1.1.1 - Title 3\"\r\nexport default (questionTitle1, questionTitle2) => {\r\n // Get the number & title parts from input\r\n let nt1 = questionTitle1.split(' - ');\r\n let nt2 = questionTitle2.split(' - ');\r\n\r\n // Get the numbers from number part\r\n let nums1 = nt1[0].split('.');\r\n let nums2 = nt2[0].split('.');\r\n\r\n // Check if any number part is actually a string\r\n const isNanNT1 = isNaN(nt1[0].replace('.', ''));\r\n const isNanNT2 = isNaN(nt2[0].replace('.', ''));\r\n\r\n // Check if there are non number strings in both input then compare them on string basis\r\n if (isNanNT1 && isNanNT2) {\r\n return (nt1[0] === nt2[0]) ? 0 : (nt1[0] < nt2[0]) ? -1 : 1;\r\n }\r\n // Check if there is non number string in one input then move the string to last\r\n else if (isNanNT1) {\r\n return 1;\r\n }\r\n else if (isNanNT2) {\r\n return -1;\r\n }\r\n\r\n // Check if the number part is same for both, then return the result as both match\r\n if (nt1[0] === nt2[0]) {\r\n return 0;\r\n }\r\n\r\n // Check each number from number part and compare and return the result\r\n while (nums1.length) {\r\n let result = nums1.shift() - (nums2.shift() || 0);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n\r\n // Finaly, return minus if nums1 matches with nums2 and has less number of elements in array\r\n return -nums2.length;\r\n}","import React from 'react';\r\nimport { MotifTooltip } from '@ey-xd/motif-react';\r\nimport { MotifIcon, MotifIconButton } from '@ey-xd/motif-react';\r\nimport { IconoirTrash } from '@ey-xd/motif-icon';\r\n\r\nexport default (props) => {\r\n let fieldValue = \"\";\r\n const commentId = props.data ? props.data.checklistSectionQuestionCommentID : -1;\r\n if (props.node && props.node.data) {\r\n switch (props.fieldName) {\r\n case 'sectionName': {\r\n fieldValue = props.node.data['sectionSortOrder'] + ' - ' + props.node.data['snapshotSectionName'];\r\n break;\r\n }\r\n case 'questionTitle': {\r\n fieldValue = props.node.data['questionText'];\r\n break;\r\n }\r\n case 'comments': {\r\n fieldValue = props.node.data['commentText'];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (props.fieldName == 'deleteComment' && props.canEdit) {\r\n return (\r\n\r\n
    \r\n
    \r\n \r\n props.handleRowDelete(commentId)} />\r\n \r\n
    \r\n
    \r\n\r\n );\r\n } else {\r\n if (fieldValue && fieldValue.length > 30) {\r\n return (\r\n
    \r\n {fieldValue.substring(0, 29)}\r\n \r\n ...}\r\n variant=\"alt\"\r\n style={{ maxWidth: '20px' }}\r\n hideCloseButton={true}\r\n >\r\n {fieldValue}\r\n \r\n \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {fieldValue}\r\n
    \r\n );\r\n }\r\n }\r\n}","import PropTypes from \"prop-types\";\r\nimport React, { useCallback, useMemo, useRef, useState, useEffect } from 'react';\r\nimport { render } from 'react-dom';\r\nimport { Form, Icon, Popup, Dropdown } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport { MotifPagination, MotifPaginationSelect, MotifPaginationSelectItem, MotifButton, MotifTable } from \"@ey-xd/motif-react\";\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport 'ag-grid-enterprise';\r\nimport 'ag-grid-community/styles/ag-grid.css';\r\nimport 'ag-grid-community/styles/ag-theme-alpine.css';\r\nimport TemplateActionCellRenderer from '../shared/customRenderers/TemplateActionCellRenderer';\r\nimport DateComparator from '../shared/customComparators/DateComparator.js';\r\nimport QuestionTitleComparator from \"../shared/customComparators/QuestionTitleComparator\";\r\nimport CustomHeaderTemplate from '../shared/customHeaders/CustomHeaderTemplate.js';\r\nimport CommentsCellRenderer from '../shared/customRenderers/CommentsCellRenderer';\r\n\r\nconst ShowCommentsTable = ({\r\n formSubmitErrors,\r\n questionComments,\r\n gridColumnState,\r\n handleGridColumnStateChange,\r\n handleGridChanges,\r\n handleRowDelete,\r\n canEdit\r\n}) => {\r\n const gridRef = useRef();\r\n const containerStyle = useMemo(() => ({ width: '100%', height: '100%' }), []);\r\n const gridStyle = useMemo(() => ({ height: '100%', width: '100%' }), []);\r\n\r\n const [rowData, setRowData] = useState([]);\r\n const rowDataRef = useRef({});\r\n rowDataRef.current = rowData;\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n var filterParams = {\r\n comparator: (a, b) => {\r\n var valA = parseInt(a);\r\n var valB = parseInt(b);\r\n if (valA === valB) return 0;\r\n return valA > valB ? 1 : -1;\r\n },\r\n };\r\n\r\n const getColumnDefs = () => {\r\n let columnDefs = [\r\n {\r\n field: 'sectionName', headerName: 'Section Name', sortable: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 150,\r\n valueGetter: params => {\r\n return params.data && params.data.sectionSortOrder;\r\n },\r\n cellRenderer: CommentsCellRenderer, cellRendererParams: { fieldName: 'sectionName' },\r\n filterValueGetter: params => { return params.data && params.data.sectionSortOrder + ' - ' + params.data.snapshotSectionName; },\r\n filterParams: filterParams,\r\n headerComponentParams: { template: CustomHeaderTemplate('sectionName') }\r\n },\r\n {\r\n field: 'questionTitle', headerName: 'Question Title', sortable: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 150,\r\n valueGetter: params => {\r\n return params.data\r\n ? params.data.questionText : '';\r\n },\r\n cellRenderer: CommentsCellRenderer, cellRendererParams: { fieldName: 'questionTitle' },\r\n filterValueGetter: params => {\r\n return params.data\r\n ? params.data.questionText : '';\r\n },\r\n filterParams: filterParams,\r\n comparator: QuestionTitleComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('questionTitle') }\r\n },\r\n {\r\n field: 'comments', headerName: 'Comments', sortable: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 220,\r\n valueGetter: params => {\r\n return params.data && params.data.commentText;\r\n },\r\n cellRenderer: CommentsCellRenderer, cellRendererParams: { fieldName: 'comments' },\r\n filterValueGetter: params => { return params.data && params.data.commentText; },\r\n headerComponentParams: { template: CustomHeaderTemplate('comments') }\r\n },\r\n {\r\n field: 'commentedBy', headerName: 'Commented By', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 150,\r\n valueGetter: params => { return params.data && (params.data.isExternalTempUser ? \"External User\" : params.data.commentedBy); },\r\n filterValueGetter: params => { return params.data && params.data.commentedBy; },\r\n headerComponentParams: { template: CustomHeaderTemplate('commentedBy') }\r\n },\r\n {\r\n field: 'dateCommented', headerName: 'Date Commented', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 40,\r\n valueGetter: params => {\r\n const dateValue = params.data && params.data ? params.data.dateCommented : null;\r\n return dateValue ? (new Date(dateValue)).toLocaleDateString() : '';\r\n },\r\n filterValueGetter: params => { return params.data && (new Date(params.data.dateCommented)).toLocaleDateString(); },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('dateCommented') }\r\n }\r\n ];\r\n\r\n // Conditionally add the deleteComment field if canEdit is true\r\n if (canEdit) {\r\n columnDefs.push({\r\n field: 'deleteComment', headerName: '', suppressMenu: true,\r\n minWidth: 10,\r\n cellRenderer: CommentsCellRenderer, cellRendererParams: { fieldName: 'deleteComment', handleRowDelete, canEdit },\r\n headerComponentParams: { template: CustomHeaderTemplate('deleteComment') }\r\n });\r\n }\r\n\r\n return columnDefs;\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Grid Global Listner\r\n const gridGlobalListner = function (type, event) {\r\n if (type.indexOf(\"columnVisible\") >= 0) {\r\n handleGridColumnsChanged(event);\r\n }\r\n\r\n // Bind handleFilterChanged event to filterChanged and rowDataUpdated events\r\n if (type.indexOf(\"filterChanged\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n }\r\n\r\n if (type.indexOf(\"rowDataUpdated\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n } \r\n }\r\n\r\n //Handle Grid Ready event\r\n const handleGridReady = (event) => {\r\n //Remove event for column state change\r\n event.api.removeEventListener(gridGlobalListner);\r\n\r\n //Add event for column state change\r\n event.api.addGlobalListener(gridGlobalListner);\r\n\r\n //Apply column state\r\n var columnState = localStorage.getItem('REITSuiteShowCommentsColumnState');\r\n if (columnState) {\r\n gridRef.current.columnApi.applyColumnState({\r\n state: JSON.parse(columnState),\r\n applyOrder: true,\r\n });\r\n }\r\n\r\n // Set the page size and total pages on the first load \r\n handleItemsPerPageChange(50); // Setting it 10 to make sure the default number of items on load is always set to 10\r\n\r\n // useCallback(() => { gridRef.current.api.sizeColumnsToFit(); }, []); \r\n }\r\n\r\n // Handle OnFilterChanged event\r\n const handleFilterChanged = (event) => {\r\n let filteredRowData = [];\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n if (currentPage > calcTotalPages) {\r\n if (calcTotalPages == 0) {\r\n setTimeout(function () { setCurrentPage(calcTotalPages); }, 0)\r\n }\r\n else {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n const gridCurrentPage = gridRef.current.api.paginationGetCurrentPage() + 1; // Adding 1 since it returns zero based index\r\n if (currentPage < (gridCurrentPage) && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n }\r\n\r\n // Show the expected value as 1 for current page \r\n if (currentPage <= 1 && gridCurrentPage == 1 && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n } \r\n }\r\n }\r\n\r\n //Handle First Data Renderered event\r\n const handleFirstDataRendered = (event) => {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Handle Grid Columns changed event\r\n const handleGridColumnsChanged = (event) => {\r\n var currentColumnState = gridRef.current.columnApi.getColumnState();\r\n var localStorageColumnState = localStorage.getItem('REITSuiteShowCommentsColumnState');\r\n\r\n // If the column state details are not exists in local storage then save the changed Column state data\r\n if (currentColumnState && currentColumnState.filter(col => col.hide == true)?.length > 0 && !localStorageColumnState) {\r\n saveUserPreferenceDetails();\r\n }\r\n else if (localStorageColumnState) {\r\n // If the column state details are exists in local storage then save the changed Column state data only if difference is found\r\n var columnsStateArray = JSON.parse(localStorageColumnState);\r\n if (columnsStateArray && columnsStateArray.length > 0\r\n && currentColumnState && currentColumnState.length > 0\r\n && columnsStateArray.filter(col => col.hide == true)?.length != currentColumnState.filter(col => col.hide == true)?.length) {\r\n //If column state mismatch found then only save column state data to avoid saving same state\r\n saveUserPreferenceDetails();\r\n }\r\n }\r\n\r\n //Trigger Grid Column state change (of parent) to sync column state data\r\n handleGridColumnStateChange(currentColumnState);\r\n\r\n gridRef && gridRef.current && gridRef.current.columnApi && gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Save User Preference details (Column state)\r\n const saveUserPreferenceDetails = useCallback(() => {\r\n var columnState = gridRef.current.columnApi.getColumnState();\r\n if (columnState) {\r\n localStorage.setItem('REITSuiteShowCommentsColumnState', JSON.stringify(columnState));\r\n }\r\n }, []);\r\n\r\n //Handle Grid Items per Page change event\r\n const handleItemsPerPageChange = (val) => {\r\n gridRef.current.api.paginationGoToFirstPage();\r\n gridRef.current.api.paginationSetPageSize(Number(val));\r\n setCurrentPage(1);\r\n setItemsPerPage(val);\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n useEffect(() => {\r\n handleGridChanges(rowData, gridRef && gridRef.current ? gridRef.current.api : null);\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n setRowData(questionComments);\r\n\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.refreshHeader();\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n }, [questionComments]);\r\n\r\n useEffect(() => {\r\n //Reset Grid to default column state\r\n //When Grid Column state changes due to Reset Column State action then Reset Grid to default column state\r\n var localStorageColumnState = localStorage.getItem('REITSuiteShowCommentsColumnState');\r\n if (!localStorageColumnState && gridRef && gridRef.current && gridRef.current.api) {\r\n\r\n gridRef.current.api.setColumnDefs([]);\r\n gridRef.current.api.setColumnDefs(getColumnDefs());\r\n }\r\n }, [gridColumnState]);\r\n\r\n const rowHeight = 76; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return
    \r\n
    \r\n {questionComments && questionComments.length > 0 &&\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n handleItemsPerPageChange(50)}>\r\n Show 50\r\n \r\n handleItemsPerPageChange(100)}>\r\n Show 100\r\n \r\n handleItemsPerPageChange(150)}>\r\n Show 150\r\n \r\n handleItemsPerPageChange(200)}>\r\n Show 200\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n
    ;\r\n};\r\n\r\nShowCommentsTable.propTypes = {\r\n};\r\n\r\nexport default reduxForm({ form: \"showComments\" })(ShowCommentsTable);","import React from 'react';\r\nimport { MotifTooltip } from '@ey-xd/motif-react';\r\nimport { MotifIcon, MotifIconButton } from '@ey-xd/motif-react';\r\nimport { IconoirTrash, IconoirDownload } from '@ey-xd/motif-icon';\r\nexport default (props) => {\r\n let fieldValue = \"\";\r\n const attachmentId = props.data ? props.data.checklistFileAttachmentID : -1;\r\n const attachedFileName = props.data ? props.data.fileName : -1;\r\n if (props.node && props.node.data) {\r\n switch (props.fieldName) {\r\n case 'sectionName': {\r\n fieldValue = props.node.data['sectionSortOrder'] + ' - ' + props.node.data['snapshotSectionName'];\r\n break;\r\n }\r\n case 'questionTitle': {\r\n fieldValue = props.node.data['questionText'];\r\n break;\r\n }\r\n case 'fileName': {\r\n fieldValue = props.node.data['fileName'];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (props.fieldName == 'attachmentIcon') {\r\n return (\r\n
    \r\n
    \r\n \r\n { e.preventDefault(); props.handleDownloadChecklistFile(attachmentId, attachedFileName); }} />\r\n \r\n {(props.canEdit &&\r\n\r\n \r\n props.handleDeleteAttachment(attachmentId)} />\r\n \r\n )}\r\n\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n else {\r\n if (fieldValue && fieldValue.length > 30 && (props.fieldName == 'sectionName' || props.fieldName == 'questionTitle')) {\r\n return (\r\n
    \r\n {fieldValue.substring(0, 29)}\r\n \r\n ...}\r\n variant=\"alt\"\r\n style={{ maxWidth: '20px' }}\r\n hideCloseButton={true}\r\n >\r\n {fieldValue}\r\n \r\n \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {fieldValue}\r\n
    \r\n );\r\n }\r\n }\r\n}","import PropTypes from \"prop-types\";\r\nimport React, { useCallback, useMemo, useRef, useState, useEffect } from 'react';\r\nimport { render } from 'react-dom';\r\nimport { Form, Icon, Popup, Dropdown } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport { MotifPagination, MotifPaginationSelect, MotifPaginationSelectItem, MotifButton, MotifTable } from \"@ey-xd/motif-react\";\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport 'ag-grid-enterprise';\r\nimport 'ag-grid-community/styles/ag-grid.css';\r\nimport 'ag-grid-community/styles/ag-theme-alpine.css';\r\nimport TemplateActionCellRenderer from '../shared/customRenderers/TemplateActionCellRenderer';\r\nimport DateComparator from '../shared/customComparators/DateComparator.js';\r\nimport QuestionTitleComparator from \"../shared/customComparators/QuestionTitleComparator\";\r\nimport CustomHeaderTemplate from '../shared/customHeaders/CustomHeaderTemplate.js';\r\nimport AttachmentsCellRenderer from '../shared/customRenderers/AttachmentsCellRenderer';\r\n\r\nconst ShowAttachmentTable = ({\r\n formSubmitErrors,\r\n attachmentDetail,\r\n gridColumnState,\r\n handleGridColumnStateChange,\r\n handleGridChanges,\r\n handleDeleteAttachment,\r\n handleDownloadChecklistFile,\r\n canEdit\r\n}) => {\r\n const gridRef = useRef();\r\n const containerStyle = useMemo(() => ({ width: '100%', height: '100%' }), []);\r\n const gridStyle = useMemo(() => ({ height: '100%', width: '100%' }), []);\r\n\r\n const [rowData, setRowData] = useState([]);\r\n const rowDataRef = useRef({});\r\n rowDataRef.current = rowData;\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n var filterParams = {\r\n comparator: (a, b) => {\r\n var valA = parseInt(a);\r\n var valB = parseInt(b);\r\n if (valA === valB) return 0;\r\n return valA > valB ? 1 : -1;\r\n },\r\n };\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: 'sectionName', headerName: 'Section Name', sortable: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 150,\r\n valueGetter: params => {\r\n return params.data && params.data.sectionSortOrder;\r\n },\r\n cellRenderer: AttachmentsCellRenderer, cellRendererParams: { fieldName: 'sectionName' },\r\n filterValueGetter: params => { return params.data && params.data.sectionSortOrder + ' - ' + params.data.snapshotSectionName; },\r\n filterParams: filterParams,\r\n headerComponentParams: { template: CustomHeaderTemplate('sectionName') }\r\n },\r\n {\r\n field: 'questionTitle', headerName: 'Question Title', sortable: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 150,\r\n valueGetter: params => {\r\n return params.data\r\n ? params.data.questionText : '';\r\n },\r\n cellRenderer: AttachmentsCellRenderer, cellRendererParams: { fieldName: 'questionTitle' },\r\n filterValueGetter: params => {\r\n return params.data\r\n ? params.data.questionText : '';\r\n },\r\n filterParams: filterParams,\r\n comparator: QuestionTitleComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('questionTitle') }\r\n },\r\n {\r\n field: 'fileName', headerName: 'File Name', sortable: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 200,\r\n valueGetter: params => {\r\n return params.data && params.data.fileName;\r\n },\r\n cellRenderer: AttachmentsCellRenderer, cellRendererParams: { fieldName: 'fileName' },\r\n filterValueGetter: params => { return params.data && params.data.fileName; },\r\n headerComponentParams: { template: CustomHeaderTemplate('fileName') }\r\n },\r\n {\r\n field: 'uploadedBy', headerName: 'Uploaded By', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 150,\r\n valueGetter: params => { \r\n return params.data && (params.data.isExternalTempUser ? \"External User\" : params.data.uploadedBy); },\r\n filterValueGetter: params => { return params.data && params.data.uploadedBy; },\r\n headerComponentParams: { template: CustomHeaderTemplate('uploadedBy') }\r\n },\r\n {\r\n field: 'dateUploaded', headerName: 'Date Uploaded', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 200, \r\n valueGetter: params => {\r\n const dateValue = params.data && params.data ? params.data.dateUploaded : null;\r\n return dateValue ? (new Date(dateValue)).toLocaleDateString() : '';\r\n },\r\n filterValueGetter: params => { return params.data && (new Date(params.data.dateUploaded)).toLocaleDateString(); },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('dateUploaded') }\r\n },\r\n {\r\n field: 'attachmentIcon', headerName: '', suppressMenu: true,\r\n minWidth: 150, \r\n cellRenderer: AttachmentsCellRenderer, cellRendererParams: { fieldName: 'attachmentIcon', handleDeleteAttachment, handleDownloadChecklistFile, canEdit },\r\n headerComponentParams: { template: CustomHeaderTemplate('attachmentIcon') },\r\n valueGetter: params => { return params.data }\r\n }\r\n\r\n ];\r\n };\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Grid Global Listner\r\n const gridGlobalListner = function (type, event) {\r\n if (type.indexOf(\"columnVisible\") >= 0) {\r\n handleGridColumnsChanged(event);\r\n }\r\n\r\n // Bind handleFilterChanged event to filterChanged and rowDataUpdated events\r\n if (type.indexOf(\"filterChanged\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n }\r\n\r\n if (type.indexOf(\"rowDataUpdated\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n } \r\n }\r\n\r\n //Handle Grid Ready event\r\n const handleGridReady = (event) => {\r\n //Remove event for column state change\r\n event.api.removeEventListener(gridGlobalListner);\r\n\r\n //Add event for column state change\r\n event.api.addGlobalListener(gridGlobalListner);\r\n\r\n //Apply column state\r\n var columnState = localStorage.getItem('REITSuiteTemplateColumnState');\r\n if (columnState) {\r\n gridRef.current.columnApi.applyColumnState({\r\n state: JSON.parse(columnState),\r\n applyOrder: true,\r\n });\r\n }\r\n\r\n // Set the page size and total pages on the first load \r\n handleItemsPerPageChange(50); // Setting it 100 to make sure the default number of items on load is always set to 100\r\n }\r\n\r\n // Handle OnFilterChanged event\r\n const handleFilterChanged = (event) => {\r\n let filteredRowData = [];\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n if (currentPage > calcTotalPages) {\r\n if (calcTotalPages == 0) {\r\n setTimeout(function () { setCurrentPage(calcTotalPages); }, 0)\r\n }\r\n else {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n const gridCurrentPage = gridRef.current.api.paginationGetCurrentPage() + 1; // Adding 1 since it returns zero based index\r\n if (currentPage < (gridCurrentPage) && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n }\r\n\r\n // Show the expected value as 1 for current page \r\n if (currentPage <= 1 && gridCurrentPage == 1 && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n } \r\n }\r\n }\r\n\r\n //Handle First Data Renderered event\r\n const handleFirstDataRendered = (event) => {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Handle Grid Columns changed event\r\n const handleGridColumnsChanged = (event) => {\r\n var currentColumnState = gridRef.current.columnApi.getColumnState();\r\n var localStorageColumnState = localStorage.getItem('REITSuiteTemplateColumnState');\r\n\r\n // If the column state details are not exists in local storage then save the changed Column state data\r\n if (currentColumnState && currentColumnState.filter(col => col.hide == true)?.length > 0 && !localStorageColumnState) {\r\n saveUserPreferenceDetails();\r\n }\r\n else if (localStorageColumnState) {\r\n // If the column state details are exists in local storage then save the changed Column state data only if difference is found\r\n var columnsStateArray = JSON.parse(localStorageColumnState);\r\n if (columnsStateArray && columnsStateArray.length > 0\r\n && currentColumnState && currentColumnState.length > 0\r\n && columnsStateArray.filter(col => col.hide == true)?.length != currentColumnState.filter(col => col.hide == true)?.length) {\r\n //If column state mismatch found then only save column state data to avoid saving same state\r\n saveUserPreferenceDetails();\r\n }\r\n }\r\n\r\n //Trigger Grid Column state change (of parent) to sync column state data\r\n handleGridColumnStateChange(currentColumnState);\r\n\r\n gridRef && gridRef.current && gridRef.current.columnApi && gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Save User Preference details (Column state)\r\n const saveUserPreferenceDetails = useCallback(() => {\r\n var columnState = gridRef.current.columnApi.getColumnState();\r\n if (columnState) {\r\n localStorage.setItem('REITSuiteShowAttachmentColumnState', JSON.stringify(columnState));\r\n }\r\n }, []);\r\n\r\n //Handle Grid Items per Page change event\r\n const handleItemsPerPageChange = (val) => {\r\n gridRef.current.api.paginationGoToFirstPage();\r\n gridRef.current.api.paginationSetPageSize(Number(val));\r\n setCurrentPage(1);\r\n setItemsPerPage(val);\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n useEffect(() => {\r\n handleGridChanges(rowData, gridRef && gridRef.current ? gridRef.current.api : null);\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n setRowData(attachmentDetail);\r\n\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.refreshHeader();\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n }, [attachmentDetail]);\r\n\r\n useEffect(() => {\r\n //Reset Grid to default column state\r\n //When Grid Column state changes due to Reset Column State action then Reset Grid to default column state\r\n var localStorageColumnState = localStorage.getItem('REITSuiteShowAttachmentColumnState');\r\n if (!localStorageColumnState && gridRef && gridRef.current && gridRef.current.api) {\r\n\r\n gridRef.current.api.setColumnDefs([]);\r\n gridRef.current.api.setColumnDefs(getColumnDefs());\r\n }\r\n }, [gridColumnState]);\r\n\r\n const rowHeight = 76; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return
    \r\n
    \r\n {attachmentDetail && attachmentDetail.length > 0 &&\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n handleItemsPerPageChange(50)}>\r\n Show 50\r\n \r\n handleItemsPerPageChange(100)}>\r\n Show 100\r\n \r\n handleItemsPerPageChange(150)}>\r\n Show 150\r\n \r\n handleItemsPerPageChange(200)}>\r\n Show 200\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n
    ;\r\n};\r\n\r\nShowAttachmentTable.propTypes = {\r\n};\r\n\r\nexport default reduxForm({ form: \"showAttachment\" })(ShowAttachmentTable);","import React from 'react';\r\nimport { MotifTooltip } from '@ey-xd/motif-react';\r\n\r\nexport default (props) => {\r\n let fieldValue = \"\";\r\n\r\n if (props && props.data) {\r\n switch (props.fieldName) {\r\n case 'sectionName': {\r\n fieldValue = props.data['sectionSortOrder'] + ' - ' + props.data['sectionName'];\r\n break;\r\n }\r\n case 'questionTitle': {\r\n fieldValue = props.node.data.itemType && props.node.data.itemType.toLowerCase() === 'fileupload'\r\n ? props.node.data['questionText']\r\n : props.node.data['displayQuestionOrder'] + ' - ' + props.node.data['questionText'];\r\n break;\r\n }\r\n case 'discrepanyMessage': {\r\n fieldValue = props.data['discrepancyMessage'];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (fieldValue && fieldValue.length > 55) {\r\n return (\r\n
    \r\n {fieldValue.substring(0, 54)}\r\n \r\n ...}\r\n variant=\"alt\"\r\n style={{ maxWidth: '20px' }}\r\n hideCloseButton={true}\r\n >\r\n {fieldValue}\r\n \r\n \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {fieldValue}\r\n
    \r\n );\r\n }\r\n}","import PropTypes from \"prop-types\";\r\nimport React, { useCallback, useMemo, useRef, useState, useEffect } from 'react';\r\nimport { render } from 'react-dom';\r\nimport { reduxForm } from \"redux-form\";\r\nimport { MotifPagination, MotifPaginationSelect, MotifPaginationSelectItem, MotifTable } from \"@ey-xd/motif-react\";\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport 'ag-grid-enterprise';\r\nimport 'ag-grid-community/styles/ag-grid.css';\r\nimport 'ag-grid-community/styles/ag-theme-alpine.css';\r\nimport CustomHeaderTemplate from '../shared/customHeaders/CustomHeaderTemplate.js';\r\nimport DiscrepanyCellRenderer from '../shared/customRenderers/DiscrepanyCellRenderer';\r\nimport QuestionTitleComparator from \"../shared/customComparators/QuestionTitleComparator\";\r\n\r\nconst ShowDiscrepanciesTable = ({\r\n formSubmitErrors,\r\n discrepanciesDetail,\r\n gridColumnState,\r\n handleGridColumnStateChange,\r\n handleGridChanges,\r\n}) => {\r\n const gridRef = useRef();\r\n const containerStyle = useMemo(() => ({ width: '100%', height: '100%' }), []);\r\n const gridStyle = useMemo(() => ({ height: '100%', width: '100%' }), []);\r\n\r\n const [rowData, setRowData] = useState([]);\r\n const rowDataRef = useRef({});\r\n rowDataRef.current = rowData;\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n var filterParams = {\r\n comparator: (a, b) => {\r\n var valA = parseInt(a);\r\n var valB = parseInt(b);\r\n if (valA === valB) return 0;\r\n return valA > valB ? 1 : -1;\r\n },\r\n };\r\n\r\n // Compares two strings\r\n function check(valueA, valueB) {\r\n\r\n let valA = valueA.length;\r\n let valB = valueB.length;\r\n\r\n let i = 0, j = 0;\r\n while (i < valA && j < valB) {\r\n if (valueA[i] == valueB[j]) {\r\n ++i;\r\n ++j;\r\n }\r\n else if (valueA[i] > valueB[j]) {\r\n return 1;\r\n }\r\n else\r\n return -1;\r\n }\r\n\r\n if (i == valA && j == valB)\r\n return 0;\r\n if (i == valA)\r\n return -1;\r\n return 1;\r\n }\r\n\r\n // Function to split strings based on dots\r\n function getTokens(value) {\r\n let valueArray = []\r\n let splitValue = value.split('.');\r\n for (let s of splitValue)\r\n valueArray.push(s);\r\n return valueArray;\r\n }\r\n\r\n // Comparator to sort the array of strings\r\n function comp(valueA, valueB) {\r\n\r\n // Stores the numerical substrings\r\n let valA = [], valB = [];\r\n valA = getTokens(valueA);\r\n valB = getTokens(valueB);\r\n\r\n // Iterate up to length of minimum\r\n // of the two strings\r\n for (var i = 0; i < Math.min(valA.length, valB.length);\r\n i++) {\r\n let countCheck = check(valA[i], valB[i]);\r\n\r\n if (countCheck == -1)\r\n return false;\r\n\r\n else if (countCheck == 1)\r\n return true;\r\n }\r\n\r\n if (valA.length < valB.length)\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: 'sectionName', headerName: 'Section Name', sortable: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 400,\r\n valueGetter: params => {\r\n return params.data && params.data.sectionSortOrder;\r\n },\r\n cellRenderer: DiscrepanyCellRenderer, cellRendererParams: { fieldName: 'sectionName' },\r\n filterValueGetter: params => { return params.data && params.data.sectionSortOrder + ' - ' + params.data.sectionName; },\r\n filterParams: filterParams,\r\n headerComponentParams: { template: CustomHeaderTemplate('sectionName') }\r\n },\r\n {\r\n field: 'questionTitle', headerName: 'Question Title', sortable: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 400,\r\n valueGetter: params => {\r\n return params.data\r\n ? ((params.data.itemType && params.data.itemType.toLowerCase() === 'fileupload')\r\n ? params.data.questionText\r\n : params.data.displayQuestionOrder + ' - ' + params.data.questionText)\r\n : '';\r\n }, \r\n cellRenderer: DiscrepanyCellRenderer, cellRendererParams: { fieldName: 'questionTitle' },\r\n filterValueGetter: params => {\r\n return params.data\r\n ? ((params.data.itemType && params.data.itemType.toLowerCase() === 'fileupload')\r\n ? params.data.questionText\r\n : params.data.displayQuestionOrder + ' - ' + params.data.questionText)\r\n : '';\r\n },\r\n filterParams: filterParams,\r\n comparator: QuestionTitleComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('questionTitle') }\r\n },\r\n {\r\n field: 'discrepanyMessage', headerName: 'Discrepany Message', sortable: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 400,\r\n valueGetter: params => {\r\n return params.data && params.data.discrepancyMessage;\r\n },\r\n cellRenderer: DiscrepanyCellRenderer, cellRendererParams: { fieldName: 'discrepanyMessage' },\r\n filterValueGetter: params => { return params.data && params.data.discrepancyMessage; },\r\n headerComponentParams: { template: CustomHeaderTemplate('discrepanyMessage') }\r\n },\r\n ];\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Grid Global Listner\r\n const gridGlobalListner = function (type, event) {\r\n if (type.indexOf(\"columnVisible\") >= 0) {\r\n handleGridColumnsChanged(event);\r\n }\r\n\r\n // Bind handleFilterChanged event to filterChanged and rowDataUpdated events\r\n if (type.indexOf(\"filterChanged\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n }\r\n\r\n if (type.indexOf(\"rowDataUpdated\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n } \r\n }\r\n\r\n //Handle Grid Ready event\r\n const handleGridReady = (event) => {\r\n //Remove event for column state change\r\n event.api.removeEventListener(gridGlobalListner);\r\n\r\n //Add event for column state change\r\n event.api.addGlobalListener(gridGlobalListner);\r\n\r\n //Apply column state\r\n var columnState = localStorage.getItem('REITSuiteShowDiscrepanyColumnState');\r\n if (columnState) {\r\n gridRef.current.columnApi.applyColumnState({\r\n state: JSON.parse(columnState),\r\n applyOrder: true,\r\n });\r\n }\r\n\r\n // Set the page size and total pages on the first load \r\n handleItemsPerPageChange(50); // Setting it 10 to make sure the default number of items on load is always set to 10\r\n }\r\n\r\n // Handle OnFilterChanged event\r\n const handleFilterChanged = (event) => {\r\n let filteredRowData = [];\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n if (currentPage > calcTotalPages) {\r\n if (calcTotalPages == 0) {\r\n setTimeout(function () { setCurrentPage(calcTotalPages); }, 0)\r\n }\r\n else {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n const gridCurrentPage = gridRef.current.api.paginationGetCurrentPage() + 1; // Adding 1 since it returns zero based index\r\n if (currentPage < (gridCurrentPage) && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n }\r\n\r\n // Show the expected value as 1 for current page \r\n if (currentPage <= 1 && gridCurrentPage == 1 && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n } \r\n }\r\n }\r\n\r\n //Handle First Data Renderered event\r\n const handleFirstDataRendered = (event) => {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Handle Grid Columns changed event\r\n const handleGridColumnsChanged = (event) => {\r\n var currentColumnState = gridRef.current.columnApi.getColumnState();\r\n var localStorageColumnState = localStorage.getItem('REITSuiteShowDiscrepanyColumnState');\r\n\r\n // If the column state details are not exists in local storage then save the changed Column state data\r\n if (currentColumnState && currentColumnState.filter(col => col.hide == true)?.length > 0 && !localStorageColumnState) {\r\n saveUserPreferenceDetails();\r\n }\r\n else if (localStorageColumnState) {\r\n // If the column state details are exists in local storage then save the changed Column state data only if difference is found\r\n var columnsStateArray = JSON.parse(localStorageColumnState);\r\n if (columnsStateArray && columnsStateArray.length > 0\r\n && currentColumnState && currentColumnState.length > 0\r\n && columnsStateArray.filter(col => col.hide == true)?.length != currentColumnState.filter(col => col.hide == true)?.length) {\r\n //If column state mismatch found then only save column state data to avoid saving same state\r\n saveUserPreferenceDetails();\r\n }\r\n }\r\n\r\n //Trigger Grid Column state change (of parent) to sync column state data\r\n handleGridColumnStateChange(currentColumnState);\r\n\r\n gridRef && gridRef.current && gridRef.current.columnApi && gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Save User Preference details (Column state)\r\n const saveUserPreferenceDetails = useCallback(() => {\r\n var columnState = gridRef.current.columnApi.getColumnState();\r\n if (columnState) {\r\n localStorage.setItem('REITSuiteShowDiscrepanyColumnState', JSON.stringify(columnState));\r\n }\r\n }, []);\r\n\r\n //Handle Grid Items per Page change event\r\n const handleItemsPerPageChange = (val) => {\r\n gridRef.current.api.paginationGoToFirstPage();\r\n gridRef.current.api.paginationSetPageSize(Number(val));\r\n setCurrentPage(1);\r\n setItemsPerPage(val);\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n useEffect(() => {\r\n handleGridChanges(rowData, gridRef && gridRef.current ? gridRef.current.api : null);\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n setRowData(discrepanciesDetail);\r\n\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.refreshHeader();\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n }, [discrepanciesDetail]);\r\n\r\n useEffect(() => {\r\n //Reset Grid to default column state\r\n //When Grid Column state changes due to Reset Column State action then Reset Grid to default column state\r\n var localStorageColumnState = localStorage.getItem('REITSuiteShowDiscrepanyColumnState');\r\n if (!localStorageColumnState && gridRef && gridRef.current && gridRef.current.api) {\r\n\r\n gridRef.current.api.setColumnDefs([]);\r\n gridRef.current.api.setColumnDefs(getColumnDefs());\r\n }\r\n }, [gridColumnState]);\r\n\r\n const rowHeight = 76; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return
    \r\n
    \r\n {discrepanciesDetail && discrepanciesDetail.length > 0 &&\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n handleItemsPerPageChange(50)}>\r\n Show 50\r\n \r\n handleItemsPerPageChange(100)}>\r\n Show 100\r\n \r\n handleItemsPerPageChange(150)}>\r\n Show 150\r\n \r\n handleItemsPerPageChange(200)}>\r\n Show 200\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n
    ;\r\n};\r\n\r\nShowDiscrepanciesTable.propTypes = {\r\n};\r\n\r\nexport default reduxForm({ form: \"showDiscrepancies\" })(ShowDiscrepanciesTable);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as commonActions from \"../../actions/commonActions\";\r\nimport * as checklistActions from \"../../actions/checklistActions\";\r\nimport * as periodActions from \"../../actions/periodActions\";\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport * as trsActions from \"../../actions/trsActions\";\r\nimport * as serviceActions from \"../../actions/servicesActions\";\r\nimport * as fileActions from '../../actions/fileActions';\r\nimport ChecklistNavigation from \"../../components/reits/ChecklistNavigation\";\r\nimport ChecklistCounters from \"../../components/reits/ChecklistCounters\";\r\nimport ChecklistCompleteModal from \"../../components/reits/ChecklistCompleteModal\";\r\nimport ArqcChecklistDetailsForm from \"../../components/reits/ArqcChecklistDetailsForm\";\r\nimport ChecklistPageBase from \"./ChecklistPageBase\";\r\n\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport * as reportActions from '../../actions/reportActions';\r\nimport * as customQuestionActions from \"../../actions/customQuestionActions\";\r\nimport { MotifIcon, MotifButton, MotifDropdown, MotifDropdownItem } from '@ey-xd/motif-react';\r\nimport { IconoirNavArrowDown } from '@ey-xd/motif-icon';\r\nimport { MotifToggleSwitch } from '@ey-xd/motif-react';\r\nimport * as customChecklistTemplateActions from '../../actions/customChecklistTemplateActions';\r\nimport DeleteChecklistDetailGridRowModal from '../../components/reits/DeleteChecklistDetailGridRowModal';\r\nimport ShowCommentsTable from \"../../components/customChecklistTemplate/ShowCommentsTable\";\r\nimport ShowAttachmentTable from '../../components/customChecklistTemplate/ShowAttachmentTable';\r\nimport ShowDiscrepanciesTable from '../../components/customChecklistTemplate/ShowDiscrepanciesTable';\r\nimport * as checklistCountRequest from '../../constants/checklistNavigationTabs';\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * ArqcChecklistRecord container component\r\n * @extends {React.Component}\r\n */\r\nexport class ArqcChecklistRecord extends ChecklistPageBase {\r\n /**\r\n * Creates a new ArqcChecklistRecord\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.setActiveItem = this.setActiveItem.bind(this);\r\n this.isEngagementAdminOrSysAdmin = this.isEngagementAdminOrSysAdmin.bind(this);\r\n this.handleDismissErrorMessage = this.handleDismissErrorMessage.bind(this);\r\n this.populateMissingTaxableReitSubsidiaries = this.populateMissingTaxableReitSubsidiaries.bind(this);\r\n this.downloadChecklist = this.downloadChecklist.bind(this);\r\n this.state.showAllQuestions = true;\r\n this.state.showUnansweredQuestions = false;\r\n this.state.canEdit = true;\r\n this.state.tbMode = 1;\r\n this.state.checklistDropdownOpen = false;\r\n // This represents whether to set Checklist record as current record(based on Checklist Id provided in Route Parameter)\r\n this.state.setChecklistRecordAsCurrentRecord = true;\r\n\r\n this.state.selectedAttachmentId = null;\r\n this.state.selectedCommentId = null;\r\n this.state.showDeleteChecklistGridRowModal = false;\r\n this.state.gridColumnState = [];\r\n this.state.showDetails = true; // Will always be true as the checklist is displayed by default\r\n this.handleGridColumnStateChange = this.handleGridColumnStateChange.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.state.questionComments = [];\r\n this.state.attachmentDetails = [];\r\n this.state.discrepanciesDetail = [];\r\n this.state.deleteFor = null;\r\n this.handleGridRowDeleteById = this.handleGridRowDeleteById.bind(this);\r\n this.handleDeleteAttachment =\r\n this.handleDeleteAttachment.bind(this);\r\n this.toggleShowChecklistGridRowDelete = this.toggleShowChecklistGridRowDelete.bind(this);\r\n this.deleteAttachment = this.deleteAttachment.bind(this);\r\n this.deleteComment = this.deleteComment.bind(this);\r\n }\r\n\r\n /**\r\n * Download the checklist\r\n */\r\n downloadChecklist(withAnswer) {\r\n const filename = `${this.props.reit.reitName}_${this.props.period.reportPeriodDescription.replace(' ', '')}_ARQC_Checklist.docx`\r\n this.props.commonActions.clearErrorResponse();\r\n this.props.reportActions.downloadChecklist('reitName=' + this.props.reit.reitName + ',periodDesc=' + this.props.period.reportPeriodDescription, this.props.periodId, 'ARQC', this.props.arqcActiveChecklist.checklistID, withAnswer, filename);\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.props.serviceActions.fetchServicesByPeriod(this.props.periodId);\r\n this.props.checklistActions.fetchArqcChecklistById(this.props.arqcChecklistId)\r\n .then(() => this.getChecklistCount()); // For performance optimization\r\n this.props.trsActions.fetchTrsByPeriod(this.props.periodId);\r\n this.props.reitActions.fetchReitLookupTypes();\r\n periodActions.fastFetchPeriodById(this.props.periodId).then((period) => {\r\n if (period && period.trialBalanceModeID === 2) {\r\n this.setState({ tbMode: 2 });\r\n }\r\n });\r\n\r\n // Set the period if it doesn't exist\r\n if (!this.props.period) {\r\n this.props.periodActions.fetchPeriodById(this.props.periodId);\r\n }\r\n else {\r\n this.setCanEdit(this.props.period);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.checklistActions.clearDeletedChecklist();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.arqcActiveChecklist !== this.props.arqcActiveChecklist) {\r\n\r\n let checklist = this.props.arqcActiveChecklist;\r\n this.setState({ checklist: checklist, initialValues: this.getArqcDetailsInitialValues(checklist, false) }, this.populateMissingTaxableReitSubsidiaries);\r\n\r\n // set disabled sections\r\n if (this.props.arqcActiveChecklist.content !== undefined\r\n && this.props.arqcActiveChecklist.content.length > 0) {\r\n this.disableSections(checklist);\r\n }\r\n\r\n if (this.state.activeItem == null\r\n && this.props.arqcActiveChecklist.content !== undefined\r\n && this.props.arqcActiveChecklist.content.length > 0) {\r\n for (let i = 0; i < this.props.arqcActiveChecklist.content.length; i++) {\r\n if (this.state.disabledSections.find(x => x === this.props.arqcActiveChecklist.content[i].id) === undefined) {\r\n this.setState({ activeItem: this.props.arqcActiveChecklist.content[0] });\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (prevProps.taxableReitSubsidiaries !== this.props.taxableReitSubsidiaries) {\r\n this.setState({ taxableReitSubsidiaries: this.props.taxableReitSubsidiaries }, this.populateMissingTaxableReitSubsidiaries);\r\n }\r\n\r\n // Populate previous answers on active checklist\r\n if (prevProps.previousArqcChecklist !== this.props.previousArqcChecklist && prevProps.arqcActiveChecklist) {\r\n this.props.checklistActions.setActiveChecklist(prevProps.arqcActiveChecklist, this.props.previousArqcChecklist);\r\n }\r\n\r\n if (this.props.arqcActiveChecklist && (!prevProps.arqcActiveChecklist || !('mappedPreviousAnswers' in this.props.arqcActiveChecklist))) {\r\n if (prevProps.arqcActiveChecklist !== this.props.arqcActiveChecklist && this.props.previousArqcChecklist) {\r\n this.props.checklistActions.setActiveChecklist(this.props.arqcActiveChecklist, this.props.previousArqcChecklist);\r\n }\r\n }\r\n\r\n // Set Can Edit based on period status\r\n if (this.props.period !== prevProps.period) {\r\n this.setCanEdit(this.props.period);\r\n }\r\n\r\n // Refresh attachment details table post addition/deletion of attachments\r\n if (prevProps.attachmentDetails !== this.props.attachmentDetails) {\r\n if (this.props.arqcActiveChecklist && this.props.arqcActiveChecklist !== null && this.props.arqcActiveChecklist.content.length > 0) {\r\n const updatedAttachmentDetails = this.props.attachmentDetails.map((attachment) => {\r\n const updatedQuestionText = this.getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId({ ...this.props.arqcActiveChecklist }, attachment.questionID);\r\n\r\n return {\r\n ...attachment,\r\n questionText: updatedQuestionText === '' ? attachment.questionText : updatedQuestionText\r\n };\r\n });\r\n\r\n this.setState({ attachmentDetails: updatedAttachmentDetails });\r\n }\r\n }\r\n\r\n // Refresh comments details table post addition/deletion of attachments\r\n if (prevProps.questionComments !== this.props.questionComments) {\r\n if (this.props.arqcActiveChecklist && this.props.arqcActiveChecklist !== null && this.props.arqcActiveChecklist.content.length > 0) {\r\n const updatedCommentsDetails = this.props.questionComments.map((comment) => {\r\n const updatedQuestionText = this.getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId({ ...this.props.arqcActiveChecklist }, comment.checklistSectionQuestionID);\r\n\r\n return {\r\n ...comment,\r\n questionText: updatedQuestionText === '' ? comment.questionText : updatedQuestionText\r\n };\r\n });\r\n\r\n this.setState({ questionComments: updatedCommentsDetails });\r\n }\r\n }\r\n }\r\n\r\n setGridColumnState() {\r\n let localState = '';\r\n if (this.state.activeItem === 'Comments') {\r\n localState = 'REITSuiteShowCommentsColumnState';\r\n }\r\n else if (this.state.activeItem === 'Attachments') {\r\n localState = 'REITSuiteShowAttachmentColumnState';\r\n }\r\n else if (this.state.activeItem === 'Discrepancies') {\r\n localState = 'REITSuiteShowDiscrepanyColumnState';\r\n }\r\n var columnState = localStorage.getItem(localState);\r\n if (columnState) {\r\n this.setState({ gridColumnState: JSON.parse(columnState) });\r\n }\r\n else {\r\n this.setState({ gridColumnState: [{ colId: '-1' }] });\r\n }\r\n }\r\n\r\n /**\r\n * Reset AG-Grid column state\r\n * @returns {undefined}\r\n */\r\n resetGridColumnState() {\r\n let localState = '';\r\n if (this.state.activeItem === 'Comments') {\r\n localState = 'REITSuiteShowCommentsColumnState';\r\n }\r\n else if (this.state.activeItem === 'Attachments') {\r\n localState = 'REITSuiteShowAttachmentColumnState';\r\n }\r\n else if (this.state.activeItem === 'Discrepancies') {\r\n localState = 'REITSuiteShowDiscrepanyColumnState';\r\n }\r\n localStorage.removeItem(localState);\r\n this.setState({ gridColumnState: [] });\r\n }\r\n\r\n /**\r\n * Handle Grid column state chagne\r\n * @returns {undefined}\r\n */\r\n handleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n }\r\n\r\n handleGridChanges(gridRowData) {\r\n let rowData = [];\r\n\r\n switch (this.state.activeItem) {\r\n case 'Comments': {\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n snapshotSectionName: x.snapshotSectionName,\r\n questionText: x.questionText,\r\n commentText: x.commentText,\r\n commentedBy: x.commentedBy,\r\n dateCommented: x.dateCommented,\r\n }\r\n });\r\n break;\r\n }\r\n case 'Attachments': {\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n snapshotSectionName: x.snapshotSectionName,\r\n questionText: x.questionText,\r\n attachedFileName: x.attachedFileName,\r\n uploadedBy: x.uploadedBy,\r\n dateUploaded: x.dateUploaded,\r\n }\r\n });\r\n break;\r\n }\r\n case 'Discrepancies': {\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n sectionName: x.sectionName,\r\n questionText: x.questionText,\r\n discrepancyMessage: x.discrepancyMessage,\r\n }\r\n });\r\n break;\r\n }\r\n }\r\n\r\n this.setState({ gridCurrentState: rowData });\r\n }\r\n\r\n populateMissingTaxableReitSubsidiaries() {\r\n let trses = Object.assign([], this.state.taxableReitSubsidiaries);\r\n\r\n if (!Array.isArray(trses)) {\r\n trses = [];\r\n }\r\n\r\n let changed = false;\r\n\r\n if (this.state.initialValues && this.state.initialValues.propertyAmenities) {\r\n const propertyAmenities = this.state.initialValues.propertyAmenities;\r\n\r\n for (let i = 0; i < propertyAmenities.length; i++) {\r\n const item = propertyAmenities[i];\r\n if (item.taxableReitSubsidiary && !trses.some(x => x.name === item.taxableReitSubsidiary.label)) {\r\n trses.push({ name: item.taxableReitSubsidiary.label });\r\n changed = true;\r\n }\r\n }\r\n\r\n if (changed) {\r\n this.setState({ taxableReitSubsidiaries: trses });\r\n }\r\n }\r\n }\r\n\r\n handleDismissErrorMessage() {\r\n this.props.commonActions.clearFormErrors('arqccreatechecklistmodal');\r\n }\r\n\r\n setCanEdit(period) {\r\n const isEnabled = periodActions.isReportingEnabled(period);\r\n this.setState({ canEdit: isEnabled });\r\n }\r\n\r\n setActiveItem(e, { name }) {\r\n const item = this.props.arqcActiveChecklist.content.find(\r\n x => x.title === name,\r\n );\r\n\r\n if (item === undefined && name) {\r\n this.setState({ activeItem: name, isSubNavigation: true });\r\n }\r\n else if (this.state.disabledSections.find(x => x === item.id) === undefined) {\r\n this.setState({ activeItem: item, isSubNavigation: false });\r\n }\r\n\r\n\r\n }\r\n\r\n getChecklistCount() {\r\n this.getAttachmentDetails();\r\n this.getCommentsDetails();\r\n\r\n this.props.checklistActions.fetchChecklistDiscrepancies(this.props.clientId, this.props.arqcChecklistId);\r\n\r\n this.props.checklistActions\r\n .fetchChecklistNavCounts(\r\n this.props.clientId,\r\n this.props.arqcChecklistId,\r\n checklistCountRequest.ChecklistCountRequest\r\n )\r\n .then((data) => {\r\n this.setState({ counters: data });\r\n });\r\n }\r\n\r\n getAttachmentDetails() {\r\n this.props.checklistActions.fetchAttachmentDetail(this.props.clientId,\r\n this.props.arqcChecklistId, null)\r\n .then(() => {\r\n if (this.props.arqcActiveChecklist && this.props.arqcActiveChecklist !== null && this.props.arqcActiveChecklist.content.length > 0) {\r\n const updatedAttachmentDetails = this.props.attachmentDetails.map((attachment) => {\r\n const updatedQuestionText = this.getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId({ ...this.props.arqcActiveChecklist }, attachment.questionID);\r\n\r\n return {\r\n ...attachment,\r\n questionText: updatedQuestionText === '' ? attachment.questionText : updatedQuestionText\r\n };\r\n });\r\n\r\n this.setState({ attachmentDetails: updatedAttachmentDetails });\r\n }\r\n });\r\n }\r\n\r\n getCommentsDetails() {\r\n this.props.checklistActions.fetchQuestionComments(this.props.clientId, this.props.arqcChecklistId)\r\n .then(() => {\r\n if (this.props.arqcActiveChecklist && this.props.arqcActiveChecklist !== null && this.props.arqcActiveChecklist.content.length > 0) {\r\n const updatedCommentsDetails = this.props.questionComments.map((comment) => {\r\n const updatedQuestionText = this.getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId({ ...this.props.arqcActiveChecklist }, comment.checklistSectionQuestionID);\r\n\r\n return {\r\n ...comment,\r\n questionText: updatedQuestionText === '' ? comment.questionText : updatedQuestionText\r\n };\r\n });\r\n\r\n this.setState({ questionComments: updatedCommentsDetails });\r\n }\r\n });\r\n }\r\n\r\n handleGridRowDeleteById(id) {\r\n let activeTab = this.state.activeItem;\r\n if (this.state.activeItem === \"Attachments\") {\r\n this.setState({ selectedAttachmentId: id });\r\n } else if (this.state.activeItem === \"Comments\") {\r\n this.setState({ selectedCommentId: id });\r\n } else {\r\n activeTab = \"Attachments\";\r\n this.setState({ selectedAttachmentId: id });\r\n }\r\n this.setState({ deleteFor: activeTab });\r\n this.toggleShowChecklistGridRowDelete();\r\n }\r\n\r\n toggleShowChecklistGridRowDelete() {\r\n const showToggle = !this.state.showDeleteChecklistGridRowModal;\r\n this.setState({\r\n showDeleteChecklistGridRowModal: showToggle,\r\n });\r\n }\r\n\r\n deleteAttachment() {\r\n const clientId = this.props.clientId;\r\n this.props.checklistActions\r\n .deleteAttachment(\r\n this.state.selectedAttachmentId,\r\n clientId\r\n )\r\n .then((data) => {\r\n this.props.checklistActions.fetchAttachmentDetail(this.props.clientId,\r\n this.props.arqcChecklistId, null);\r\n\r\n this.props.checklistActions\r\n .fetchChecklistNavCounts(\r\n this.props.clientId,\r\n this.props.arqcChecklistId,\r\n checklistCountRequest.ChecklistCountRequest\r\n );\r\n\r\n this.toggleShowChecklistGridRowDelete();\r\n })\r\n .catch((error) => {\r\n this.toggleShowChecklistGridRowDelete();\r\n });\r\n }\r\n\r\n\r\n deleteComment() {\r\n const clientId = this.props.clientId;\r\n this.props.checklistActions\r\n .deleteComment(\r\n this.state.selectedCommentId,\r\n clientId\r\n )\r\n .then((data) => {\r\n this.props.checklistActions.fetchQuestionComments(this.props.clientId, this.props.arqcChecklistId, null);\r\n\r\n this.props.checklistActions\r\n .fetchChecklistNavCounts(\r\n this.props.clientId,\r\n this.props.arqcChecklistId,\r\n checklistCountRequest.ChecklistCountRequest\r\n );\r\n this.toggleShowChecklistGridRowDelete();\r\n })\r\n .catch((error) => {\r\n this.toggleShowChecklistGridRowDelete();\r\n });\r\n }\r\n\r\n\r\n getIsGridNoDataFound(name) {\r\n if ((name === \"Comments\"\r\n && this.props.questionComments\r\n && this.props.questionComments.length === 0)\r\n || (name === \"Attachments\"\r\n && this.props.attachmentDetails\r\n && this.props.attachmentDetails.length === 0)\r\n || (name === \"Discrepancies\"\r\n && this.props.discrepanciesDetail\r\n && this.props.discrepanciesDetail.length === 0)) {\r\n return true;\r\n }\r\n else { return false; }\r\n }\r\n\r\n isChecklistContentEnabled() {\r\n return this.props.arqcActiveChecklist !== null\r\n && this.props.arqcActiveChecklist.checklistStateID !== undefined\r\n && this.props.arqcActiveChecklist.checklistStateID.toLowerCase() !== \"completed\"\r\n && this.state.canEdit;\r\n }\r\n\r\n getDetails() {\r\n const isEnabled = this.isChecklistContentEnabled();\r\n\r\n if (this.state.showDetails) {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {!this.state.isSubNavigation && (\r\n <>\r\n \r\n \r\n )}\r\n {this.state.isSubNavigation && (\r\n <>\r\n
    {this.state.activeItem}
    \r\n\r\n {this.getIsGridNoDataFound(this.state.activeItem) &&\r\n
    No {this.state.activeItem} found for this checklist.
    \r\n }\r\n\r\n {this.state.activeItem === 'Comments' &&\r\n \r\n }\r\n {this.state.activeItem === 'Attachments' &&\r\n \r\n }\r\n {this.state.activeItem === 'Discrepancies' &&\r\n \r\n }\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 isEngagementAdminOrSysAdmin() {\r\n let isEngAdminOrSysAdmin = false;\r\n let currentUserAuthorizations = this.props.currentUserAuthorizations;\r\n if (Array.isArray(currentUserAuthorizations)) {\r\n isEngAdminOrSysAdmin = authActions.isSystemAdministrator(currentUserAuthorizations) || authActions.isEngagementAdministrator(currentUserAuthorizations, this.props.client.id);\r\n }\r\n return isEngAdminOrSysAdmin;\r\n }\r\n\r\n /**\r\n * Render a React element\r\n* @returns {Object} A reference to the component\r\n */\r\n render() {\r\n let isEngAdminOrSysAdmin = false;\r\n isEngAdminOrSysAdmin = this.isEngagementAdminOrSysAdmin();\r\n\r\n if (this.props.arqcActiveChecklist === null) {\r\n return (\r\n
    \r\n

    {this.getArqcQuestionnaireTitle()}

    \r\n {!this.state.canEdit &&
    Reporting Closed
    }\r\n
    \r\n \r\n this.setState({ checklistDropdownOpen: false })}\r\n trigger={\r\n this.setState({ checklistDropdownOpen: !this.state.checklistDropdownOpen })}\r\n aria-controls={'checklist-dropdown'}\r\n id={'checklist-dropdown-trigger'}\r\n aria-expanded={this.state.checklistDropdownOpen}\r\n aria-label=\"Download checklist dropdown\"\r\n >\r\n Download Checklist \r\n \r\n }\r\n >\r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITH_ANSWERS'); }}>\r\n With Answers Only\r\n \r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITH_ANSWERS_COMMENTS') }}>\r\n With Answers And Comments\r\n \r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITHOUT_ANSWERS'); }}>\r\n Without Answers or Comments\r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {this.getArqcQuestionnaireTitle()}

    \r\n {!this.state.canEdit &&
    Reporting Closed
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n this.setState({ checklistDropdownOpen: false })}\r\n trigger={\r\n this.setState({ checklistDropdownOpen: !this.state.checklistDropdownOpen })}\r\n aria-controls={'checklist-dropdown'}\r\n id={'checklist-dropdown-trigger'}\r\n aria-expanded={this.state.checklistDropdownOpen}\r\n aria-label=\"Download checklist dropdown\"\r\n >\r\n Download Checklist \r\n \r\n }\r\n >\r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITH_ANSWERS'); }}>\r\n With Answers Only\r\n \r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITH_ANSWERS_COMMENTS') }}>\r\n With Answers And Comments\r\n \r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITHOUT_ANSWERS'); }}>\r\n Without Answers or Comments\r\n \r\n \r\n \r\n\r\n \r\n Review Complete\r\n \r\n \r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Display Unanswered Questions Only:\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {(this.state.showDetails && this.props.arqcActiveChecklist && this.props.previousArqcChecklist && Array.isArray(this.props.previousArqcChecklist.content) && this.props.previousArqcChecklist.content.length > 0 && (\r\n
    \r\n
    \r\n Display Changed Answers:\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    )) || (
    )}\r\n
    \r\n
    \r\n\r\n {this.getDetails()}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nArqcChecklistRecord.propTypes = {\r\n client: PropTypes.object.isRequired,\r\n reit: PropTypes.object.isRequired,\r\n periodId: PropTypes.number.isRequired,\r\n arqcChecklists: PropTypes.array,\r\n arqcActiveChecklist: PropTypes.object,\r\n previousArqcChecklist: PropTypes.object,\r\n checklistActions: PropTypes.object,\r\n fileActions: PropTypes.object,\r\n propertyActions: PropTypes.object,\r\n reitActions: PropTypes.object,\r\n properties: PropTypes.array,\r\n incomeDetails: PropTypes.array,\r\n propertyDetails: PropTypes.object,\r\n propertyItsi: PropTypes.object,\r\n currentUserAuthorizations: PropTypes.array,\r\n periodActions: PropTypes.object.isRequired,\r\n deletedChecklist: PropTypes.object,\r\n canDelete: PropTypes.bool,\r\n canRevertState: PropTypes.bool,\r\n pendingTasks: PropTypes.number,\r\n user: PropTypes.string\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n* @param {Object} state The state\r\n* @param {Object} ownProps The properties of the component\r\n* @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n let clientId = Number.parseInt(ownProps.router.params.clientId);\r\n if (isNaN(clientId)) {\r\n clientId = 0;\r\n }\r\n\r\n return {\r\n user: state.authentication.currentUser,\r\n client: state.client,\r\n periodId: Number.parseInt(ownProps.router.params.periodId),\r\n arqcChecklistId: Number.parseInt(ownProps.router.params.arqcChecklistId),\r\n arqcChecklists: state.arqcChecklists,\r\n arqcActiveChecklist: state.arqcActiveChecklist,\r\n previousArqcChecklist: state.previousArqcChecklist,\r\n checklistFiles: state.checklistFiles,\r\n reit: state.reit,\r\n distributionDetails: state.distributionDetails,\r\n distributionTestSummary: state.distributionTestSummary,\r\n distributionTaxableIncome: state.distributionTaxableIncome,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n period: state.period,\r\n deletedChecklist: state.deletedChecklist,\r\n canDelete: (Array.isArray(state.currentUserAuthorizations) && (authActions.isSystemAdministrator(state.currentUserAuthorizations) || (state.client && authActions.isEngagementAdministrator(state.currentUserAuthorizations, state.client.id)))) && (state.period.reportPeriodStatusDescription !== \"Closed to Reporting\" && state.period.reportPeriodStatusDescription !== \"Complete\"),\r\n canRevertState: (state.period.reportPeriodStatusDescription !== \"Closed to Reporting\" && state.period.reportPeriodStatusDescription !== \"Complete\"),\r\n pendingTasks: state.pendingTasks,\r\n taxableReitSubsidiaries: state.taxableReitSubsidiaries,\r\n services: state.services,\r\n lookupTypes: state.lookupTypes,\r\n clientId: Number.parseInt(ownProps.router.params.clientId),\r\n questionComments: state.questionComments,\r\n attachmentDetails: state.attachmentDetail,\r\n discrepanciesDetail: state.discrepanciesDetail,\r\n checklistCounter: state.checklistsCounter\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n* @param {Object} dispatch The action dispatcher\r\n* @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n checklistActions: bindActionCreators(checklistActions, dispatch),\r\n periodActions: bindActionCreators(periodActions, dispatch),\r\n trsActions: bindActionCreators(trsActions, dispatch),\r\n reitActions: bindActionCreators(reitActions, dispatch),\r\n serviceActions: bindActionCreators(serviceActions, dispatch),\r\n reportActions: bindActionCreators(reportActions, dispatch),\r\n fileActions: bindActionCreators(fileActions, dispatch),\r\n customQuestionActions: bindActionCreators(customQuestionActions, dispatch),\r\n customChecklistTemplateActions: bindActionCreators(customChecklistTemplateActions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ArqcChecklistRecord));","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as actions from \"../../actions/distributionsTestActions\";\r\nimport * as PeriodActions from \"../../actions/periodActions\";\r\nimport * as commonActions from \"../../actions/commonActions\";\r\nimport DistributionTestSummary from \"../../components/reits/DistributionTestSummary\";\r\nimport DistributionDetailTable from \"../../components/reits/DistributionDetailTable\";\r\nimport * as actionHelpers from \"../../scripts/actionHelpers\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport { SubmissionError } from \"redux-form\";\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * DistributionTestContainer container component\r\n * @extends {React.Component}\r\n */\r\nexport class DistributionTestContainer extends React.Component {\r\n /**\r\n * Creates a new EditSecuritiesSnapshotContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n showDetails: false,\r\n inputValue: 0,\r\n showForm: false,\r\n formPurpose: \"\",\r\n canEdit: true,\r\n selectedDistribution: {\r\n distributionID: 0,\r\n class: null,\r\n distributionDate: null,\r\n reportPeriodId: 0,\r\n fairMarketValue: 0.0,\r\n value: 0.0,\r\n },\r\n };\r\n this.showDetails = this.showDetails.bind(this);\r\n this.setTaxableIncome = this.setTaxableIncome.bind(this);\r\n this.updateInputValue = this.updateInputValue.bind(this);\r\n this.closeForm = this.closeForm.bind(this);\r\n this.showForm = this.showForm.bind(this);\r\n this.submitForm = this.submitForm.bind(this);\r\n this.handleEditButtonClick = this.handleEditButtonClick.bind(this);\r\n this.handleDeleteButtonClick = this.handleDeleteButtonClick.bind(this);\r\n this.handleDismissErrorMessage = this.handleDismissErrorMessage.bind(this);\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.refresh();\r\n this.resetGridColumnState();\r\n }\r\n\r\n /**\r\n * Invoked before a mounted component receives new props.\r\n * @param {Object} nextProps The properties that the component is receiving\r\n */\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.period !== this.props.period) {\r\n this.setCanEdit(this.props.period);\r\n }\r\n\r\n if (\r\n prevProps.distributionTaxableIncome !==\r\n this.props.distributionTaxableIncome &&\r\n this.props.distributionTaxableIncome !== null &&\r\n Object.prototype.hasOwnProperty.call(\r\n this.props.distributionTaxableIncome,\r\n \"distributionREITTaxableIncomeAmount\"\r\n )\r\n ) {\r\n this.setState({\r\n inputValue:\r\n this.props.distributionTaxableIncome\r\n .distributionREITTaxableIncomeAmount,\r\n });\r\n }\r\n }\r\n\r\n handleDismissErrorMessage() {\r\n this.props.commonActions.clearFormErrors(\"distribution\");\r\n }\r\n\r\n refresh() {\r\n this.setState({ inputValue: 0 });\r\n this.props.actions.fetchDistributionTestSummary(this.props.periodId);\r\n this.props.actions.fetchDistributionDetail(this.props.periodId);\r\n this.props.actions.fetchDistributionTaxableIncome(this.props.periodId);\r\n\r\n // Check if state.period is null, if it is populate period\r\n if (!this.props.period && this.props.periodId > 0) {\r\n this.props.periodActions.fetchPeriodById(this.props.periodId);\r\n } else {\r\n this.setCanEdit(this.props.period);\r\n }\r\n }\r\n\r\n setCanEdit(period) {\r\n const isEnabled = PeriodActions.isTestingEnabled(period);\r\n this.setState({ canEdit: isEnabled });\r\n }\r\n\r\n showDetails() {\r\n this.setState({ showDetails: !this.state.showDetails });\r\n }\r\n\r\n setTaxableIncome() {\r\n this.props.commonActions.clearErrorResponse();\r\n \r\n const dividend = actions.sumDistributionValues(this.props.distributionDetails);\r\n this.props.actions.saveDistributionTaxableIncome(this.props.periodId, this.state.inputValue, dividend); \r\n\r\n if(this.state.inputValue === \"-0\"){\r\n this.setState({ inputValue: 0 });\r\n }\r\n }\r\n\r\n updateInputValue(event) {\r\n this.setState({\r\n inputValue:\r\n event && event.target && event.target.value ? event.target.value : 0,\r\n });\r\n }\r\n\r\n submitForm(values) {\r\n this.props.commonActions.clearErrorResponse();\r\n if (!values.class) {\r\n throw new SubmissionError({ name: \"Class is required\" });\r\n } else {\r\n switch (this.state.formPurpose) {\r\n case \"EDIT\": {\r\n this.props.commonActions.beginTask();\r\n const distribution = {\r\n distributionID: values.distributionID,\r\n class: values.class,\r\n distributionDate: values.distributionDate,\r\n reportPeriodID: this.props.periodId,\r\n fairMarketValue: values.fairMarketValue,\r\n value: values.value,\r\n };\r\n return actions\r\n .updateDistribution(distribution)\r\n .then((data) => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n this.props.commonActions.endTask();\r\n formHelpers.generateSubmissionError(data);\r\n return;\r\n }\r\n\r\n this.closeForm();\r\n this.props.commonActions.endTask();\r\n this.refresh();\r\n })\r\n .catch((error) => {\r\n if (error instanceof SubmissionError) {\r\n throw error;\r\n }\r\n\r\n this.props.commonActions.endTask();\r\n formHelpers.generateSubmissionError();\r\n });\r\n }\r\n\r\n case \"DELETE\": {\r\n this.props.commonActions.beginTask();\r\n const distribution = {\r\n distributionID: values.distributionID,\r\n class: values.class,\r\n distributionDate: values.distributionDate,\r\n reportPeriodID: this.props.periodId,\r\n fairMarketValue: values.fairMarketValue,\r\n value: values.value,\r\n };\r\n return actions\r\n .deleteDistribution(distribution)\r\n .then((data) => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n this.props.commonActions.endTask();\r\n formHelpers.generateSubmissionError(data);\r\n return;\r\n }\r\n\r\n this.closeForm();\r\n this.props.commonActions.endTask();\r\n this.refresh();\r\n })\r\n .catch((error) => {\r\n if (error instanceof SubmissionError) {\r\n throw error;\r\n }\r\n\r\n this.props.commonActions.endTask();\r\n formHelpers.generateSubmissionError();\r\n });\r\n }\r\n\r\n default: {\r\n this.props.commonActions.beginTask();\r\n const distribution = {\r\n class: values.class,\r\n distributionDate: values.distributionDate,\r\n reportPeriodID: this.props.periodId,\r\n fairMarketValue: values.fairMarketValue,\r\n value: values.value,\r\n };\r\n return actions\r\n .saveDistribution(this.props.periodId, distribution)\r\n .then((data) => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n this.props.commonActions.endTask();\r\n formHelpers.generateSubmissionError(data);\r\n return;\r\n }\r\n\r\n this.props.reitActions.fetchReit(this.props.reitId);\r\n this.closeForm();\r\n this.props.commonActions.endTask();\r\n this.refresh();\r\n })\r\n .catch((error) => {\r\n if (error instanceof SubmissionError) {\r\n throw error;\r\n }\r\n\r\n this.props.commonActions.endTask();\r\n formHelpers.generateSubmissionError();\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n showForm() {\r\n this.setState({\r\n showForm: true,\r\n formPurpose: \"\",\r\n selectedDistribution: null,\r\n });\r\n }\r\n\r\n closeForm() {\r\n this.setState({ showForm: false });\r\n }\r\n\r\n handleEditButtonClick(value) {\r\n this.setState({\r\n showForm: true,\r\n formPurpose: \"EDIT\",\r\n selectedDistribution: {\r\n distributionID: value.distributionID,\r\n class: value.class,\r\n distributionDate: value.distributionDate,\r\n reportPeriodID: value.reportPeriodID,\r\n fairMarketValue: value.fairMarketValue.toString(),\r\n value: value.value.toString(),\r\n },\r\n });\r\n }\r\n\r\n handleDeleteButtonClick(value) {\r\n this.setState({\r\n showForm: true,\r\n formPurpose: \"DELETE\",\r\n selectedDistribution: {\r\n distributionID: value.distributionID,\r\n class: value.class,\r\n distributionDate: value.distributionDate,\r\n reportPeriodID: value.reportPeriodID,\r\n fairMarketValue: value.fairMarketValue.toString(),\r\n value: value.value.toString(),\r\n },\r\n });\r\n }\r\n\r\n resetGridColumnState() {\r\n localStorage.removeItem(\"REITSuiteDistributionDetailColumnState\");\r\n }\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n
    \r\n \r\n {this.state.showDetails ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nDistributionTestContainer.propTypes = {\r\n reitId: PropTypes.number.isRequired,\r\n clientId: PropTypes.number.isRequired,\r\n periodId: PropTypes.number.isRequired,\r\n periodActions: PropTypes.object.isRequired,\r\n period: PropTypes.object.isRequired,\r\n reitActions: PropTypes.object,\r\n distributionTestSummary: PropTypes.shape({\r\n tests: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n title: PropTypes.string,\r\n isPassing: PropTypes.bool,\r\n percent: PropTypes.number,\r\n })\r\n ),\r\n }),\r\n distributionDetails: PropTypes.array,\r\n distributionTaxableIncome: PropTypes.shape({\r\n reportPeriod: PropTypes.string,\r\n reportPeriodID: PropTypes.number,\r\n distributionREITTaxableIncomeAmount: PropTypes.number,\r\n distributionDividendsSum: PropTypes.number,\r\n }),\r\n actions: PropTypes.object.isRequired,\r\n commonActions: PropTypes.object.isRequired,\r\n};\r\n\r\nDistributionTestContainer.contextTypes = {\r\n router: PropTypes.object,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) { \r\n return {\r\n reitId: Number.parseInt(ownProps.router.params.reitId),\r\n clientId: Number.parseInt(ownProps.router.params.clientId),\r\n periodId: Number.parseInt(ownProps.router.params.periodId),\r\n distributionTestSummary: state.distributionTestSummary,\r\n distributionDetails: state.distributionDetails,\r\n distributionTaxableIncome: state.distributionTaxableIncome,\r\n period: state.period\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(actions, dispatch),\r\n periodActions: bindActionCreators(PeriodActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n reitActions: bindActionCreators(reitActions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(DistributionTestContainer));\r\n","export default (params) => {\r\n const checklistType = !params.data && params.node.childrenAfterGroup && params.node.childrenAfterGroup.length > 0 \r\n ? params.node.childrenAfterGroup[0].data[\"checklistType\"] : null;\r\n const propertyName = !params.data && params.node.childrenAfterGroup && params.node.childrenAfterGroup.length > 0 \r\n ? params.node.childrenAfterGroup[0].data[\"propertyName\"] : null;\r\n\r\n return (checklistType && checklistType.toLowerCase() === 'psq' ? propertyName\r\n : checklistType && checklistType.toLowerCase() === 'arqc' && 'N/A');\r\n}","import PropTypes from \"prop-types\";\r\nimport React, {\r\n useCallback,\r\n useMemo,\r\n useRef,\r\n useState,\r\n useEffect,\r\n} from \"react\";\r\nimport { render } from \"react-dom\";\r\nimport { Form, Icon, Popup, Dropdown } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport {\r\n MotifPagination,\r\n MotifPaginationSelect,\r\n MotifPaginationSelectItem,\r\n MotifTable,\r\n} from \"@ey-xd/motif-react\";\r\nimport { AgGridReact } from \"ag-grid-react\";\r\nimport \"ag-grid-enterprise\";\r\nimport \"ag-grid-community/styles/ag-grid.css\";\r\nimport \"ag-grid-community/styles/ag-theme-alpine.css\";\r\nimport ChecklistLinkCellRenderer from \"../checklistDeliveryCalendar/customRenderers/ChecklistLinkCellRenderer\";\r\nimport DateCellRenderer from \"../checklistDeliveryCalendar/customRenderers/DateCellRenderer\";\r\nimport SimpleCellRenderer from \"../checklistDeliveryCalendar/customRenderers/SimpleCellRenderer.js\";\r\nimport CheckboxCellRenderer from \"../checklistDeliveryCalendar/customRenderers/CheckboxCellRenderer.js\";\r\nimport CheckboxHeaderRenderer from \"../checklistDeliveryCalendar/customRenderers/CheckboxHeaderRenderer.js\";\r\nimport DefaultValueGetter from \"../checklistDeliveryCalendar/customValueGetters/DefaultValueGetter.js\";\r\nimport ChecklistTypeValueGetter from \"../checklistDeliveryCalendar/customValueGetters/ChecklistTypeValueGetter.js\";\r\nimport QuestionnaireTemplateValueGetter from \"../checklistDeliveryCalendar/customValueGetters/QuestionnaireTemplateValueGetter.js\";\r\nimport PropertyTypeValueGetter from \"../checklistDeliveryCalendar/customValueGetters/PropertyTypeValueGetter.js\";\r\nimport StatusDateValueGetter from \"../checklistDeliveryCalendar/customValueGetters/StatusDateValueGetter.js\";\r\nimport DateComparator from \"../checklistDeliveryCalendar/customComparators/DateComparator.js\";\r\nimport CustomHeaderTemplate from \"../checklistDeliveryCalendar/customHeaders/CustomHeaderTemplate.js\";\r\nimport NoRecipientCellRenderer from \"../checklistDeliveryCalendar/customRenderers/NoRecipientCellRenderer.js\";\r\n\r\nconst PSQChecklistTable = ({\r\n formSyncErrors,\r\n formSubmitErrors,\r\n filteredManageChecklists,\r\n clientId,\r\n gridColumnState,\r\n handleGridColumnStateChange,\r\n handleGridChanges,\r\n handleGridFilteredRowChanges,\r\n handleRecipientChanges,\r\n refreshGridChecklistData,\r\n refreshGridData,\r\n}) => {\r\n const gridRef = useRef();\r\n const containerStyle = useMemo(() => ({ width: \"100%\", height: \"100%\" }), []);\r\n const gridStyle = useMemo(() => ({ height: \"100%\", width: \"100%\" }), []);\r\n\r\n const [rowData, setRowData] = useState([]);\r\n const rowDataRef = useRef({});\r\n rowDataRef.current = rowData;\r\n const [gridFilteredRowData, setGridFilteredRowData] = useState([]);\r\n\r\n const onCellCheckboxChange = (checklistId, rowNode) => {\r\n let updatedData = rowDataRef.current.map((newUd) => {\r\n if (\r\n newUd.checklistID === checklistId &&\r\n newUd.recipients === rowNode.key\r\n ) {\r\n return {\r\n ...newUd,\r\n checklistSelection: !newUd.checklistSelection,\r\n };\r\n }\r\n return newUd;\r\n });\r\n\r\n setRowData(updatedData);\r\n gridRef.current.api.redrawRows(rowNode);\r\n gridRef.current.api.refreshHeader();\r\n };\r\n\r\n const onHeaderCheckboxChange = (isHeaderCheckboxSelected) => {\r\n let updatedData = rowDataRef.current;\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n // Select checkbox for filtered rows only\r\n gridRef.current.api.forEachNodeAfterFilter((rowNode) => {\r\n // Check if the parent rowNode's key matches with grid's rowdata and update checkbox selection for those matching\r\n if (rowNode.level === 0) {\r\n updatedData = updatedData.map((newUd) => {\r\n if (newUd.recipients === rowNode.key) {\r\n return {\r\n ...newUd,\r\n checklistSelection: !isHeaderCheckboxSelected,\r\n };\r\n }\r\n return newUd;\r\n });\r\n }\r\n });\r\n\r\n setRowData(updatedData);\r\n gridRef.current.api.redrawRows();\r\n gridRef.current.api.refreshHeader();\r\n }\r\n };\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n const dateOptions = {\r\n day: \"numeric\",\r\n month: \"numeric\",\r\n year: \"numeric\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n };\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: \"checklistSelection\",\r\n headerName: \"\",\r\n suppressMenu: true,\r\n headerComponent: CheckboxHeaderRenderer,\r\n headerComponentParams: {\r\n onHeaderCheckboxChange: onHeaderCheckboxChange,\r\n },\r\n cellRenderer: CheckboxCellRenderer,\r\n cellRendererParams: { onCellCheckboxChange: onCellCheckboxChange },\r\n minWidth: 70,\r\n },\r\n {\r\n field: \"checklistLink\",\r\n headerName: \"\",\r\n suppressMenu: true,\r\n minWidth: 70,\r\n cellRenderer: ChecklistLinkCellRenderer,\r\n cellRendererParams: { clientId: clientId },\r\n },\r\n {\r\n field: \"propertyName\",\r\n headerName: \"Property Name\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 300,\r\n maxWidth:300,\r\n valueGetter: (params) => ChecklistTypeValueGetter(params),\r\n filterValueGetter: (params) => {\r\n return params.data &&\r\n params.data.checklistType.toLowerCase() === \"psq\"\r\n ? params.data.propertyName\r\n : \"N/A\";\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"propertyName\"),\r\n },\r\n },\r\n {\r\n field: \"propertyTypeDescription\",\r\n headerName: \"Type\",\r\n sortable: true,\r\n minWidth: 165,\r\n valueGetter: (params) => PropertyTypeValueGetter(params),\r\n filterValueGetter: (params) => {\r\n return params.data &&\r\n params.data.checklistType.toLowerCase() === \"psq\"\r\n ? params.data.propertyTypeDescription\r\n : params.data.reitTypeDescription;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"type\") },\r\n },\r\n {\r\n field: \"questionnaireTemplateName\",\r\n headerName: \"Template\",\r\n sortable: true,\r\n minWidth: 315,\r\n valueGetter: (params) =>\r\n DefaultValueGetter(params, \"questionnaireTemplateName\"),\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.questionnaireTemplateName;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"template\") },\r\n },\r\n {\r\n field: \"managerName\",\r\n headerName: \"Property Manager\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 170,\r\n valueGetter: (params) => DefaultValueGetter(params, \"managerName\"),\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.managerName;\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"propertyManager\"),\r\n },\r\n },\r\n {\r\n field: \"checklistStateDescription\",\r\n headerName: \"Status\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 125,\r\n valueGetter: (params) =>\r\n DefaultValueGetter(params, \"checklistStateDescription\"),\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.checklistStateDescription;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"status\") },\r\n },\r\n {\r\n field: \"lastUpdatedDate\",\r\n headerName: \"Status Date\",\r\n sortable: true,\r\n minWidth: 190,\r\n valueGetter: (params) => StatusDateValueGetter(params),\r\n // Show N/A value in filter if date value is not exists\r\n filterValueGetter: (params) => {\r\n return params.data\r\n ? params.data.lastUpdatedDate\r\n ? new Date(params.data.lastUpdatedDate + \"Z\").toLocaleString(\r\n \"en-US\",\r\n dateOptions\r\n )\r\n : \"N/A\"\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate(\"statusDate\") },\r\n },\r\n {\r\n field: \"reopenRequestStatusDescription\",\r\n headerName: \"Reopen Request\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 175,\r\n valueGetter: (params) => {\r\n return !params.data\r\n ? params.node &&\r\n params.node.childrenAfterGroup &&\r\n params.node.childrenAfterGroup.length > 0 &&\r\n params.node.childrenAfterGroup[0].data &&\r\n params.node.childrenAfterGroup[0].data\r\n .reopenRequestStatusDescription\r\n ? params.node.childrenAfterGroup[0].data\r\n .reopenRequestStatusDescription\r\n : \"N/A\"\r\n : \"\";\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.reopenRequestStatusDescription\r\n ? params.data.reopenRequestStatusDescription\r\n : \"N/A\";\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"reopenRequestStatus\"),\r\n },\r\n },\r\n {\r\n field: \"requestDateTime\",\r\n headerName: \"Reopen Request Date\",\r\n sortable: true,\r\n minWidth: 175,\r\n valueGetter: (params) => {\r\n return !params.data\r\n ? params.node &&\r\n params.node.childrenAfterGroup &&\r\n params.node.childrenAfterGroup.length > 0 &&\r\n params.node.childrenAfterGroup[0].data &&\r\n params.node.childrenAfterGroup[0].data.requestDateTime\r\n ? new Date(\r\n params.node.childrenAfterGroup[0].data.requestDateTime + \"Z\"\r\n ).toLocaleString(\"en-US\", dateOptions)\r\n : \"N/A\"\r\n : \"\";\r\n },\r\n // Show N/A value in filter if date value is not exists\r\n filterValueGetter: (params) => {\r\n return params.data\r\n ? params.data.requestDateTime\r\n ? new Date(params.data.requestDateTime + \"Z\").toLocaleString(\r\n \"en-US\",\r\n dateOptions\r\n )\r\n : \"N/A\"\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"requestDateTime\"),\r\n },\r\n },\r\n {\r\n field: \"recipients\",\r\n headerName: \"Recipients\",\r\n sortable: true,\r\n rowGroup: true,\r\n hide: true,\r\n minWidth: 115,\r\n headerComponentParams: { template: CustomHeaderTemplate(\"recipients\") },\r\n },\r\n {\r\n headerName: \"Recipients\",\r\n field: \"recipientEmail\",\r\n minWidth: 400,\r\n showRowGroup: true,\r\n sortable: true,\r\n filterValueGetter: (params) => {\r\n if (\r\n params &&\r\n params.data &&\r\n params.data.recipientEmail &&\r\n params.data.recipientEmail.length > 0\r\n ) {\r\n return params.data.recipientEmail;\r\n } else {\r\n return \"No Recipients\";\r\n }\r\n },\r\n cellRendererSelector: (params) => {\r\n if (\r\n (params &&\r\n params.node &&\r\n params.node.allLeafChildren &&\r\n Array.isArray(params.node.allLeafChildren) &&\r\n params.node.allLeafChildren.length > 0 &&\r\n params.node.allLeafChildren[0].data &&\r\n params.node.allLeafChildren[0].data.recipientEmail &&\r\n params.node.allLeafChildren[0].data.recipientEmail.length > 0) ||\r\n (params &&\r\n params.data &&\r\n params.data.recipientEmail &&\r\n params.data.recipientEmail.length > 0)\r\n ) {\r\n return {\r\n component: \"agGroupCellRenderer\",\r\n };\r\n } else {\r\n return {\r\n component: NoRecipientCellRenderer,\r\n };\r\n }\r\n },\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true,\r\n cellRendererParams: {\r\n checkbox: true,\r\n innerRenderer: SimpleCellRenderer,\r\n innerRendererParams: { label: \"Recipients\" },\r\n suppressDoubleClickExpand: true,\r\n suppressEnterExpand: true,\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"recipients\") },\r\n },\r\n {\r\n field: \"senderEmail\",\r\n headerName: \"Sent From\",\r\n sortable: true,\r\n rowGroup: false,\r\n minWidth: 200,\r\n headerComponentParams: { template: CustomHeaderTemplate(\"sentFrom\") },\r\n },\r\n {\r\n field: \"sentDate\",\r\n headerName: \"Sent Date\",\r\n sortable: true,\r\n rowGroup: false,\r\n minWidth: 200,\r\n cellRenderer: DateCellRenderer,\r\n cellRendererParams: { dateFieldName: \"sentDate\" },\r\n // Show N/A value in filter if date value is not exists\r\n filterValueGetter: (params) => {\r\n return params.data\r\n ? params.data.sentDate\r\n ? new Date(params.data.sentDate + \"Z\").toLocaleString(\r\n \"en-US\",\r\n dateOptions\r\n )\r\n : \"N/A\"\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate(\"sentDate\") },\r\n },\r\n {\r\n field: \"expirationDate\",\r\n headerName: \"Expiration Date\",\r\n sortable: true,\r\n rowGroup: false,\r\n minWidth: 190,\r\n cellRenderer: DateCellRenderer,\r\n cellRendererParams: { dateFieldName: \"expirationDate\" },\r\n // Show N/A value in filter if date value is not exists\r\n filterValueGetter: (params) => {\r\n return params.data\r\n ? params.data.expirationDate\r\n ? new Date(params.data.expirationDate + \"Z\").toLocaleString(\r\n \"en-US\",\r\n dateOptions\r\n )\r\n : \"N/A\"\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"expirationDate\"),\r\n },\r\n },\r\n {\r\n field: \"clientUserEmailAddress\",\r\n headerName: \"Client Signedoff By\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 180,\r\n valueGetter: (params) => {\r\n return !params.data\r\n ? params.node &&\r\n params.node.childrenAfterGroup &&\r\n params.node.childrenAfterGroup.length > 0 &&\r\n params.node.childrenAfterGroup[0].data &&\r\n params.node.childrenAfterGroup[0].data.isSignedOff\r\n ? params.node.childrenAfterGroup[0].data.clientUserEmailAddress\r\n : \"\"\r\n : \"\";\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.isSignedOff\r\n ? params.data.clientUserEmailAddress\r\n : \"\";\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"clientUserEmailAddress\"),\r\n },\r\n },\r\n {\r\n field: \"userActionDateTime\",\r\n headerName: \"Client Signedoff Date\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 200,\r\n valueGetter: (params) => {\r\n return !params.data\r\n ? params.node &&\r\n params.node.childrenAfterGroup &&\r\n params.node.childrenAfterGroup.length > 0 &&\r\n params.node.childrenAfterGroup[0].data &&\r\n params.node.childrenAfterGroup[0].data.isSignedOff &&\r\n params.node.childrenAfterGroup[0].data.userActionDateTime\r\n ? new Date(\r\n params.node.childrenAfterGroup[0].data.userActionDateTime +\r\n \"Z\"\r\n ).toLocaleString(\"en-US\", dateOptions)\r\n : \"\"\r\n : \"\";\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.isSignedOff\r\n ? params.data.userActionDateTime\r\n ? new Date(params.data.userActionDateTime + \"Z\").toLocaleString(\r\n \"en-US\",\r\n dateOptions\r\n )\r\n : \"\"\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"userActionDateTime\"),\r\n },\r\n },\r\n ];\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n const getRowId = useCallback(\r\n (params) => params.data.recipients + \"_\" + params.data.recipientEmail,\r\n []\r\n );\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Grid Global Listner\r\n const gridGlobalListner = function (type, event) {\r\n if (type.indexOf(\"columnVisible\") >= 0) {\r\n handleGridColumnsChanged(event);\r\n }\r\n\r\n // Bind handleFilterChanged event to filterChanged and rowDataUpdated events\r\n if (type.indexOf(\"filterChanged\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n }\r\n\r\n if (type.indexOf(\"rowDataUpdated\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n } \r\n };\r\n\r\n //Handle Grid Ready event\r\n const handleGridReady = (event) => {\r\n //Remove event for column state change\r\n event.api.removeEventListener(gridGlobalListner);\r\n\r\n //Add event for column state change\r\n event.api.addGlobalListener(gridGlobalListner);\r\n\r\n //Apply column state\r\n var columnState = localStorage.getItem(\"REITSuitePSQChecklistColumnState\");\r\n if (columnState) {\r\n gridRef.current.columnApi.applyColumnState({\r\n state: JSON.parse(columnState),\r\n applyOrder: true,\r\n });\r\n }\r\n\r\n //Show/Hide Reopen requests columns - If any checklists having reopen requests(pending, approved or denied) then only show Reopen Request columns\r\n gridRef.current.columnApi.setColumnsVisible(\r\n [\"reopenRequestStatusDescription\", \"requestDateTime\"],\r\n rowDataRef.current &&\r\n rowDataRef.current.some((ch) => ch.reopenRequestStatusDescription)\r\n );\r\n\r\n handleItemsPerPageChange(100); // Setting it 100 to make sure the default number of items on load is always set to 100\r\n };\r\n\r\n // Handle OnFilterChanged event\r\n const handleFilterChanged = (event) => {\r\n let filteredRowData = [];\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.forEachNodeAfterFilter((rowNode) => {\r\n if (rowNode.level === 0) {\r\n let matchedRecord = rowDataRef.current.find(\r\n (ch) => ch.recipients === rowNode.key\r\n );\r\n if (matchedRecord) {\r\n filteredRowData.push({\r\n checklistID: matchedRecord.checklistID,\r\n checklistSelection: matchedRecord.checklistSelection,\r\n checklistState: matchedRecord.checklistState,\r\n checklistType: matchedRecord.checklistType,\r\n quarterStatus: matchedRecord.quarterStatus,\r\n checklistStateDescription:\r\n matchedRecord.checklistStateDescription,\r\n reopenRequestStatusDescription:\r\n matchedRecord.reopenRequestStatusDescription,\r\n requestDateTime: matchedRecord.requestDateTime,\r\n });\r\n }\r\n }\r\n });\r\n\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n if (currentPage > calcTotalPages) {\r\n if (calcTotalPages == 0) {\r\n setTimeout(function () {\r\n setCurrentPage(calcTotalPages);\r\n }, 0);\r\n } else {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n const gridCurrentPage =\r\n gridRef.current.api.paginationGetCurrentPage() + 1; // Adding 1 since it returns zero based index\r\n if (currentPage < gridCurrentPage && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n }\r\n\r\n // Show the expected value as 1 for current page \r\n if (currentPage <= 1 && gridCurrentPage == 1 && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n } \r\n }\r\n\r\n setGridFilteredRowData(filteredRowData);\r\n };\r\n\r\n //Handle First Data Renderered event\r\n const handleFirstDataRendered = (event) => {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n updateRowNodeSelectableProperty();\r\n };\r\n\r\n // Update Selectable property of RowNode of type 'No Recipient' to false\r\n const updateRowNodeSelectableProperty = () => {\r\n const gridApi = gridRef && gridRef.current && gridRef.current.api;\r\n if (gridApi) {\r\n gridApi.forEachNodeAfterFilter((row) => {\r\n if (\r\n row.level === 0 &&\r\n row.childrenAfterFilter &&\r\n row.childrenAfterFilter.length > 0 &&\r\n row.childrenAfterFilter[0].data\r\n ) {\r\n if (\r\n !row.childrenAfterFilter[0].data.recipientEmail ||\r\n row.childrenAfterFilter[0].data.recipientEmail.length == 0\r\n ) {\r\n row.selectable = false;\r\n row.selected = false;\r\n } else if (row.selectable == false) {\r\n row.selectable = true;\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n //Handle Grid Columns changed event\r\n const handleGridColumnsChanged = (event) => {\r\n var currentColumnState = gridRef.current.columnApi.getColumnState();\r\n var localStorageColumnState = localStorage.getItem(\r\n \"REITSuitePSQChecklistColumnState\"\r\n );\r\n\r\n // If the column state details are not exists in local storage then save the changed Column state data\r\n if (\r\n currentColumnState &&\r\n currentColumnState.filter((col) => col.hide == true)?.length > 0 &&\r\n !localStorageColumnState\r\n ) {\r\n saveUserPreferenceDetails();\r\n } else if (localStorageColumnState) {\r\n // If the column state details are exists in local storage then save the changed Column state data only if difference is found\r\n var columnsStateArray = JSON.parse(localStorageColumnState);\r\n if (\r\n columnsStateArray &&\r\n columnsStateArray.length > 0 &&\r\n currentColumnState &&\r\n currentColumnState.length > 0 &&\r\n columnsStateArray.filter((col) => col.hide == true)?.length !=\r\n currentColumnState.filter((col) => col.hide == true)?.length\r\n ) {\r\n //If column state mismatch found then only save column state data to avoid saving same state\r\n saveUserPreferenceDetails();\r\n }\r\n }\r\n\r\n //Trigger Grid Column state change (of parent) to sync column state data\r\n handleGridColumnStateChange(currentColumnState);\r\n\r\n gridRef &&\r\n gridRef.current &&\r\n gridRef.current.columnApi &&\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n };\r\n\r\n //Save User Preference details (Column state)\r\n const saveUserPreferenceDetails = useCallback(() => {\r\n var columnState = gridRef.current.columnApi.getColumnState();\r\n if (columnState) {\r\n localStorage.setItem(\r\n \"REITSuitePSQChecklistColumnState\",\r\n JSON.stringify(columnState)\r\n );\r\n }\r\n }, []);\r\n\r\n //Handle Grid Items per Page change event\r\n const handleItemsPerPageChange = (val) => {\r\n gridRef.current.api.paginationGoToFirstPage();\r\n gridRef.current.api.paginationSetPageSize(Number(val));\r\n setCurrentPage(1);\r\n setItemsPerPage(val);\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n useEffect(() => {\r\n handleGridChanges(\r\n rowData,\r\n gridRef && gridRef.current ? gridRef.current.api : null\r\n );\r\n updateRowNodeSelectableProperty();\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n // Refresh Grid\r\n const gridApi = gridRef && gridRef.current && gridRef.current.api;\r\n if (gridApi) {\r\n var rows = [];\r\n if (\r\n refreshGridChecklistData &&\r\n refreshGridChecklistData.checklists &&\r\n refreshGridChecklistData.checklists.length > 0\r\n ) {\r\n gridApi.forEachNodeAfterFilter((row) => {\r\n if (\r\n row.level === 0 &&\r\n refreshGridChecklistData.checklists.some(\r\n (ch) =>\r\n row.key.toLowerCase() ===\r\n ch.checklistID + \"_\" + ch.checklistType.toLowerCase()\r\n )\r\n ) {\r\n if (\r\n row.allLeafChildren &&\r\n Array.isArray(row.allLeafChildren) &&\r\n row.allLeafChildren.length > 0 &&\r\n row.allLeafChildren[0].data\r\n ) {\r\n if (\r\n !row.allLeafChildren[0].data.recipientEmail ||\r\n row.allLeafChildren[0].data.recipientEmail.length === 0\r\n ) {\r\n row.setExpanded(false);\r\n }\r\n }\r\n rows.push(row);\r\n }\r\n });\r\n\r\n //Redraw rows\r\n if (rows.length > 0) {\r\n setTimeout(function () {\r\n gridApi.redrawRows({ rowNodes: rows });\r\n }, 0);\r\n }\r\n }\r\n\r\n gridApi.refreshHeader();\r\n gridApi.refreshCells();\r\n gridApi.deselectAll();\r\n }\r\n }, [refreshGridChecklistData]);\r\n\r\n useEffect(() => {\r\n setRowData(filteredManageChecklists);\r\n\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.refreshHeader();\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n\r\n //Show/Hide Reopen requests columns - If any checklists having reopen requests(pending, approved or denied) then only show Reopen Request columns\r\n gridRef.current.columnApi.setColumnsVisible(\r\n [\"reopenRequestStatusDescription\", \"requestDateTime\"],\r\n filteredManageChecklists &&\r\n filteredManageChecklists.some(\r\n (ch) => ch.reopenRequestStatusDescription\r\n )\r\n );\r\n }\r\n }, [filteredManageChecklists]);\r\n\r\n useEffect(() => {\r\n if (refreshGridData > 0) {\r\n // Refresh Grid\r\n let updatedData = filteredManageChecklists;\r\n setRowData(updatedData);\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.setRowData(updatedData);\r\n gridRef.current.api.refreshCells();\r\n gridRef.current.api.redrawRows();\r\n gridRef.current.api.refreshHeader();\r\n gridRef.current.api.forEachNodeAfterFilter((row) => {\r\n if (\r\n row.level === 0 &&\r\n row.allLeafChildren &&\r\n Array.isArray(row.allLeafChildren) &&\r\n row.allLeafChildren.length > 0 &&\r\n row.allLeafChildren[0].data\r\n )\r\n if (\r\n !row.allLeafChildren[0].data.recipientEmail ||\r\n row.allLeafChildren[0].data.recipientEmail.length === 0\r\n ) {\r\n row.setExpanded(false);\r\n }\r\n });\r\n }\r\n }\r\n }, [refreshGridData]);\r\n\r\n useEffect(() => {\r\n //gridFilteredRowData contains filtered Row data\r\n handleGridFilteredRowChanges(gridFilteredRowData);\r\n }, [gridFilteredRowData]);\r\n\r\n const handleSelectionChanged = (event) => {\r\n handleRecipientChanges(\r\n gridRef && gridRef.current ? gridRef.current.api : null\r\n );\r\n };\r\n\r\n // Handle Row Group Open event(Expand/Collapse of Group Icon)\r\n const handleRowGroupOpened = (event) => {\r\n if (\r\n event &&\r\n event.expanded &&\r\n gridRef &&\r\n gridRef.current &&\r\n gridRef.current.columnApi\r\n ) {\r\n //Auto size Recipient Email and Sender Email columns\r\n gridRef.current.columnApi.autoSizeColumns([\r\n \"recipientEmail\",\r\n \"senderEmail\",\r\n ]);\r\n }\r\n };\r\n\r\n // Handle Expand/Collapse All\r\n const handleExpandOrCollapseAll = (event) => {\r\n if (event && event.source && event.source.toLowerCase() == \"expandall\") {\r\n const gridApi = gridRef && gridRef.current && gridRef.current.api;\r\n if (gridApi) {\r\n gridApi.forEachNodeAfterFilter((row) => {\r\n if (\r\n row.level === 0 &&\r\n row.allLeafChildren &&\r\n Array.isArray(row.allLeafChildren) &&\r\n row.allLeafChildren.length > 0 &&\r\n row.allLeafChildren[0].data\r\n )\r\n if (\r\n !row.allLeafChildren[0].data.recipientEmail ||\r\n row.allLeafChildren[0].data.recipientEmail.length === 0\r\n ) {\r\n row.setExpanded(false);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n // Handle Row data updated event\r\n const handleRowDataUpdated = () => {\r\n if (gridRef && gridRef.current && gridRef.current.columnApi) {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n //Reset Grid to default column state\r\n //When Grid Column state changes due to Reset Column State action then Reset Grid to default column state\r\n var localStorageColumnState = localStorage.getItem(\r\n \"REITSuitePSQChecklistColumnState\"\r\n );\r\n if (\r\n !localStorageColumnState &&\r\n gridRef &&\r\n gridRef.current &&\r\n gridRef.current.api\r\n ) {\r\n gridRef.current.api.setColumnDefs([]);\r\n gridRef.current.api.setColumnDefs(getColumnDefs());\r\n }\r\n }, [gridColumnState]);\r\n\r\n const rowHeight = 76; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return (\r\n
    \r\n {filteredManageChecklists && filteredManageChecklists.length > 0 && (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n handleItemsPerPageChange(50)}\r\n >\r\n Show 50\r\n \r\n handleItemsPerPageChange(100)}\r\n >\r\n Show 100\r\n \r\n handleItemsPerPageChange(150)}\r\n >\r\n Show 150\r\n \r\n handleItemsPerPageChange(200)}\r\n >\r\n Show 200\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nPSQChecklistTable.propTypes = {};\r\n\r\nexport default reduxForm({ form: \"psqChecklist\" })(PSQChecklistTable);\r\n","import PropTypes from \"prop-types\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Field, reduxForm, SubmissionError } from \"redux-form\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport $ from \"jquery\";\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifErrorMessage,\r\n MotifFormField,\r\n MotifLabel,\r\n MotifSelect,\r\n MotifOption,\r\n MotifTooltip,\r\n MotifIcon\r\n} from \"@ey-xd/motif-react\";\r\nimport * as Constants from \"../../constants/other\";\r\nimport { IconoirInfoCircle } from '@ey-xd/motif-icon';\r\n// import construct from \"core-js/fn/reflect/construct\";\r\nconst PsqCreateChecklistModal = ({\r\n handleSubmit,\r\n handleFieldChanged,\r\n handleClientEmailChanged,\r\n handleEyEmailChanged,\r\n handlePopulatePreviousAnswersChanged,\r\n showModal,\r\n isSendEmailEnabled,\r\n isCreateOnlyEnabled,\r\n setCreateAction,\r\n handleCancelAction,\r\n properties,\r\n error,\r\n handleDismissErrorMessage,\r\n clientEmailsRef,\r\n selectedPropertyId,\r\n checklist,\r\n customQuestionnaireTemplates,\r\n lookupTypes,\r\n clientEmail,\r\n createChecklistCustomErrorMessage,\r\n resetDropDowns,\r\n isInitialLoad,\r\n handleSetInitialEmail,\r\n externalUserVisibilityData,\r\n}) => {\r\n let isReportPeriodVisible=true;\r\n\r\n if(externalUserVisibilityData && externalUserVisibilityData.length>0){\r\n isReportPeriodVisible = externalUserVisibilityData[0].isReportPeriodVisibleToExternalUsers;\r\n }\r\n\r\n let propertyOptions = [];\r\n const [selectedProperty, setSelectedProperty] = useState(propertyOptions[0]);\r\n const [emailInput, setEmailInput] = useState('');\r\n if (properties !== undefined) {\r\n propertyOptions = properties.map((property) => {\r\n return {\r\n key: property.propertyID,\r\n text: property.propertyName,\r\n value: property.propertyID,\r\n };\r\n });\r\n }\r\n let propertyTypeOptions = [];\r\n const [selectedPropertyType, setSelectedPropertyType] = useState(\r\n propertyTypeOptions[0]\r\n );\r\n if (lookupTypes !== undefined) {\r\n propertyTypeOptions = lookupTypes.propertyTypes\r\n .filter((ppt) => ppt.propertyTypeID != 0)\r\n .map((propertyType) => {\r\n return {\r\n key: propertyType.propertyTypeID,\r\n value: propertyType.propertyTypeID,\r\n text: propertyType.propertyTypeDescription,\r\n };\r\n });\r\n }\r\n\r\n let customTemplateOptions = [];\r\n const [selectedOption, setSelectedOption] = useState(\r\n customTemplateOptions[0]\r\n );\r\n\r\n if (customQuestionnaireTemplates) {\r\n customTemplateOptions = customQuestionnaireTemplates.map((item) => {\r\n return {\r\n key: item.questionnaireTemplateID,\r\n text: item.questionnaireTemplateName,\r\n value: item.questionnaireTemplateID,\r\n };\r\n });\r\n }\r\n\r\n customTemplateOptions.sort(function (a, b) {\r\n return a.key - b.key;\r\n });\r\n\r\n let prePopulateOptions = Constants.prePopulateOptions;\r\n const [selectedPopulateAns, setSelectedPopulateAns] = useState(\r\n prePopulateOptions[0]\r\n );\r\n\r\n const rollForwardQuestionComment = Constants.rollForwardQuestionComment;\r\n const [selectedRollForwadAns, setSelectedRollForwadAns] = useState(\r\n rollForwardQuestionComment[0]\r\n );\r\n\r\n const preventSubmitOnEnter = (e) => {\r\n if (e.key === \"Enter\") {\r\n //Avoid preventing key press for buttons\r\n if (\r\n e.target &&\r\n e.target.type !== \"button\" &&\r\n e.target.type !== \"submit\"\r\n ) {\r\n e.preventDefault();\r\n }\r\n }\r\n };\r\n\r\n const handleCreateButtonClick = () => {\r\n setCreateAction(\"CREATE\");\r\n };\r\n\r\n const handleCreateAndSendButtonClick = () => {\r\n setCreateAction(\"CREATEANDSEND\");\r\n };\r\n\r\n const validateEmails = () => {\r\n let sendToFieldValue = $(\"#sendToField :input\").val() || emailInput;\r\n\r\n if (sendToFieldValue !== \"\") {\r\n throw new SubmissionError({\r\n _error: \"'\" + sendToFieldValue + \"' is not a valid email address.\",\r\n });\r\n }\r\n\r\n return handleSubmit();\r\n };\r\n\r\n const clearState = () => {\r\n setEmailInput('');\r\n };\r\n\r\n const handleModalClose = () => {\r\n clearState();\r\n handleCancelAction();\r\n };\r\n\r\n const handleOnInputChange = (email) => { \r\n const splitArray = email.trim().split(\"@\");\r\n if(formValidators.email(email) !== undefined && splitArray[1] !== Constants.RejectedEyDomain && !splitArray[1]?.includes(Constants.RejectedOtherEYDomain)){ \r\n setEmailInput(email);\r\n } \r\n else{\r\n setEmailInput(\"\");\r\n }\r\n }\r\n const modalStyle = {\r\n content: {\r\n \"max-height\": \"100vh\",\r\n \"overflow-y\": \"auto\",\r\n left: \"15%\",\r\n width: \"70%\",\r\n },\r\n };\r\n let propertyData = properties.find(\r\n (property) => property.propertyID == selectedPropertyId\r\n );\r\n\r\n //clear my dropdowns once after the modal is closed\r\n useEffect(() => {\r\n setSelectedProperty(propertyOptions[0]);\r\n setSelectedPropertyType(propertyTypeOptions[0]);\r\n setSelectedOption(customTemplateOptions[0]);\r\n setSelectedPopulateAns(prePopulateOptions[0]);\r\n setSelectedRollForwadAns(rollForwardQuestionComment[0]);\r\n }, [resetDropDowns]);\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n\r\n const closeButtonProps = {\r\n title: \"Close add new PSQ modal\",\r\n ariaLabel: \"Close add new PSQ modal\",\r\n dataTestid: \"close\",\r\n };\r\n\r\n const useHandleFieldChanged = (v) => {\r\n handleFieldChanged(v, customTemplateOptions, \"customTemplateField\");\r\n\r\n setSelectedOption(v);\r\n };\r\n const useHandleFieldChangedPropertyType = (v) => {\r\n handleFieldChanged(v, propertyTypeOptions, \"propertyTypeField\");\r\n\r\n setSelectedPropertyType(v);\r\n };\r\n const useHandleFieldChangedProperty = (v) => {\r\n handleFieldChanged(v, propertyOptions, \"propertyField\");\r\n\r\n setSelectedProperty(v);\r\n };\r\n\r\n const useHandleFieldChangedPopulateAns = (v) => {\r\n handleFieldChanged(v, prePopulateOptions, \"populatePreviousAnswersField\");\r\n\r\n setSelectedPopulateAns(v);\r\n };\r\n\r\n const useHandleFieldChangedRollForwardQuestions = (v) => {\r\n handleFieldChanged(\r\n v,\r\n rollForwardQuestionComment,\r\n \"rollForwardQuestionCommentsField\"\r\n );\r\n\r\n setSelectedRollForwadAns(v);\r\n };\r\n\r\n useEffect(() => { \r\n if(isInitialLoad){\r\n handleSetInitialEmail();\r\n }\r\n}, [clientEmail]);\r\n\r\n return (\r\n \r\n \r\n \r\n Create a new PSQ\r\n \r\n \r\n\r\n \r\n \r\n {formHelpers.showSubmissionError(error, handleDismissErrorMessage)}\r\n
    \r\n \r\n \r\n Select Property (Required)\r\n \r\n \r\n {propertyOptions.map((co) => (\r\n \r\n {co.text}\r\n \r\n ))}\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n Select Property Type (Required)\r\n \r\n \r\n {propertyTypeOptions.map((co) => (\r\n \r\n {co.text}\r\n \r\n ))}\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n Select Template (Required)\r\n \r\n \r\n {customTemplateOptions.map((co) => (\r\n \r\n {co.text}\r\n \r\n ))}\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n Pre-Populate Answers? / Show Reference Answers?\r\n \r\n \r\n {prePopulateOptions.map((co) => (\r\n \r\n {co.text}\r\n \r\n ))}\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n Roll Forward Question Comments? / Attachments?\r\n \r\n \r\n {rollForwardQuestionComment.map((co) => (\r\n \r\n {co.text}\r\n \r\n ))}\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n Send to (Multiple email addresses are supported if separated by a semi-colon)\r\n \r\n \r\n
    \r\n {createChecklistCustomErrorMessage &&\r\n createChecklistCustomErrorMessage.length > 0 && (\r\n \r\n {createChecklistCustomErrorMessage}\r\n \r\n )}\r\n \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n {!isReportPeriodVisible && \r\n \r\n }>\r\n
    Due to EY's independence policy, the create and send checklist is disabled
    \r\n as the client no longer has access to this report period.
    \r\n Please email 'reitsuite@ey.com' for additional support. \r\n
    \r\n
    }\r\n Create & Send\r\n \r\n \r\n Create Only\r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nPsqCreateChecklistModal.propTypes = {\r\n showModal: PropTypes.bool,\r\n properties: PropTypes.array,\r\n handleSubmit: PropTypes.func,\r\n handleFieldChanged: PropTypes.func,\r\n handleClientEmailChanged: PropTypes.func,\r\n handleEyEmailChanged: PropTypes.func,\r\n handlePopulatePreviousAnswersChanged: PropTypes.func,\r\n isSendEmailEnabled: PropTypes.bool,\r\n isCreateOnlyEnabled: PropTypes.bool,\r\n setCreateAction: PropTypes.func,\r\n handleCancelAction: PropTypes.func,\r\n error: PropTypes.string,\r\n handleDismissErrorMessage: PropTypes.func,\r\n domRef: PropTypes.func,\r\n clientEmailsRef: PropTypes.func,\r\n selectedPropertyId: PropTypes.number,\r\n selectedPropertyName: PropTypes.string,\r\n //selectedPropertyType: PropTypes.string,\r\n checklist: PropTypes.object,\r\n customQuestionnaireTemplates: PropTypes.array,\r\n clientEmail: PropTypes.array,\r\n checkedTemplate: PropTypes.array,\r\n resetDropDowns: PropTypes.bool,\r\n externalUserVisibilityData: PropTypes.array\r\n};\r\n\r\nexport default reduxForm({\r\n form: \"psqcreatechecklistmodal\",\r\n enableReinitialize: true,\r\n})(PsqCreateChecklistModal);\r\n","import React from \"react\";\r\nimport PropTypes, { object } from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n getFormValues,\r\n getFormSyncErrors,\r\n getFormSubmitErrors,\r\n SubmissionError,\r\n reduxForm,\r\n} from \"redux-form\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as clientActions from \"../../actions/clientActions\";\r\nimport * as checklistActions from \"../../actions/checklistActions\";\r\nimport * as reportActions from \"../../actions/reportActions\";\r\nimport * as periodActions from \"../../actions/periodActions\";\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport * as customQuestionActions from \"../../actions/customQuestionActions\";\r\nimport { MotifButton, MotifToast } from \"@ey-xd/motif-react\";\r\nimport { pendingTask, begin, end } from \"../../constants/pendingTask\";\r\nimport * as actions from \"../../actions/actionTypes\";\r\nimport ChecklistHeader from \"../../components/reits/ChecklistHeader\";\r\nimport PSQChecklistTable from \"../../components/reits/PSQChecklistTable\";\r\nimport AddChecklistUserModal from \"../../components/checklistDeliveryCalendar/AddChecklistUserModal\";\r\nimport DeleteChecklistUserModal from \"../../components/checklistDeliveryCalendar/DeleteChecklistUserModal\";\r\nimport DeleteChecklistModal from \"../../components/checklistDeliveryCalendar/DeleteChecklistModal\";\r\nimport ResendChecklistModal from \"../../components/checklistDeliveryCalendar/ResendChecklistModal\";\r\nimport SignoffChecklistModal from \"../../components/checklistDeliveryCalendar/SignoffChecklistModal\";\r\nimport ReopenForEYReviewChecklistModal from \"../../components/checklistDeliveryCalendar/ReopenForEYReviewChecklistModal\";\r\nimport ApproveClientReopenRequestModal from \"../../components/checklistDeliveryCalendar/ApproveClientReopenRequestModal\";\r\nimport DenyClientReopenRequestModal from \"../../components/checklistDeliveryCalendar/DenyClientReopenRequestModal\";\r\nimport DownloadChecklistsModal from \"../../components/checklistDeliveryCalendar/DownloadChecklistsModal\";\r\nimport * as actionHelpers from \"../../scripts/actionHelpers\";\r\nimport ChecklistPageBase from \"./ChecklistPageBase\";\r\nimport PsqCreateChecklistModal from \"../../components/reits/PsqCreateChecklistModal\";\r\nimport * as propertyActions from \"../../actions/propertyActions\";\r\nimport * as lookupTypeActions from \"../../actions/lookupTypeActions\";\r\nimport * as commonActions from \"../../actions/commonActions\";\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport * as Constants from \"../../constants/other\";\r\nimport InvalidEmailModal from \"../../components/reits/InvalidEmailModal\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport * as externalUserVisibilityActions from \"../../actions/externalUserDataVisibilityActions\";\r\n/**\r\n * PSQChecklistContainer container component\r\n * @extends {React.Component}\r\n */\r\nclass PSQChecklistContainer extends ChecklistPageBase {\r\n /**\r\n * Creates a new PSQ Checklists page\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.updateInitialValues = this.updateInitialValues.bind(this);\r\n this.setGridColumnState = this.setGridColumnState.bind(this);\r\n this.resetGridColumnState = this.resetGridColumnState.bind(this);\r\n this.handleGridColumnStateChange =\r\n this.handleGridColumnStateChange.bind(this);\r\n this.toggleShowAddChecklistUserModal =\r\n this.toggleShowAddChecklistUserModal.bind(this);\r\n this.handleAddChecklistUser = this.handleAddChecklistUser.bind(this);\r\n this.toggleShowDeleteChecklistUserModal =\r\n this.toggleShowDeleteChecklistUserModal.bind(this);\r\n this.handleDeleteChecklistUser = this.handleDeleteChecklistUser.bind(this);\r\n this.toggleShowDeleteChecklistModal =\r\n this.toggleShowDeleteChecklistModal.bind(this);\r\n this.handleDeleteChecklist = this.handleDeleteChecklist.bind(this);\r\n this.toggleShowResendChecklistModal =\r\n this.toggleShowResendChecklistModal.bind(this);\r\n this.handleResendChecklist = this.handleResendChecklist.bind(this);\r\n this.toggleShowSignoffChecklistModal =\r\n this.toggleShowSignoffChecklistModal.bind(this);\r\n this.toggleShowReopenForEYReviewChecklistModal =\r\n this.toggleShowReopenForEYReviewChecklistModal.bind(this);\r\n this.toggleShowApproveClientReopenRequestModal =\r\n this.toggleShowApproveClientReopenRequestModal.bind(this);\r\n this.toggleShowDenyClientReopenRequestModal =\r\n this.toggleShowDenyClientReopenRequestModal.bind(this);\r\n this.handleSignoffChecklist = this.handleSignoffChecklist.bind(this);\r\n this.handleReopenForEYReviewChecklist =\r\n this.handleReopenForEYReviewChecklist.bind(this);\r\n this.handleApproveClientReopenRequest =\r\n this.handleApproveClientReopenRequest.bind(this);\r\n this.handleDenyClientReopenRequest =\r\n this.handleDenyClientReopenRequest.bind(this);\r\n this.handleExportChecklistSummary =\r\n this.handleExportChecklistSummary.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.handleGridFilteredRowChanges =\r\n this.handleGridFilteredRowChanges.bind(this);\r\n this.handleRecipientChanges = this.handleRecipientChanges.bind(this);\r\n this.handleEmailChanged = this.handleEmailChanged.bind(this);\r\n this.handleSignoffChecklistStateChange =\r\n this.handleSignoffChecklistStateChange.bind(this);\r\n this.refreshGrid = this.refreshGrid.bind(this);\r\n this.handleRefreshManageChecklistClient =\r\n this.handleRefreshManageChecklistClient.bind(this);\r\n this.dismissRefreshManageChecklistMessage =\r\n this.dismissRefreshManageChecklistMessage.bind(this);\r\n this.handleCreateField = this.handleCreateField.bind(this);\r\n this.handleClientEmailChanged = this.handleClientEmailChanged.bind(this);\r\n this.handlePopulatePreviousAnswersChanged =\r\n this.handlePopulatePreviousAnswersChanged.bind(this);\r\n this.handleDismissErrorMessage = this.handleDismissErrorMessage.bind(this);\r\n this.clientEmailsRef = this.clientEmailsRef.bind(this);\r\n this.toggleShowInvalidEmailModal =\r\n this.toggleShowInvalidEmailModal.bind(this);\r\n this.deleteInvalidEmail = this.deleteInvalidEmail.bind(this);\r\n this.handleDownloadChecklists = this.handleDownloadChecklists.bind(this);\r\n this.toggleShowDownloadChecklistsModal =\r\n this.toggleShowDownloadChecklistsModal.bind(this);\r\n this.handleSetInitialEmail = this.handleSetInitialEmail.bind(this);\r\n this.handleCancel = this.handleCancel.bind(this);\r\n this.handleCreate = this.handleCreate.bind(this);\r\n this.state = {\r\n saved: false,\r\n psqArqc: \"PSQ\",\r\n filteredManageChecklists: [],\r\n gridColumnState: [],\r\n showAddChecklistUserModal: false,\r\n showDeleteChecklistUserModal: false,\r\n showDeleteChecklistModal: false,\r\n showResendChecklistModal: false,\r\n showSignoffChecklistModal: false,\r\n showReopenForEYReviewChecklistModal: false,\r\n showApproveClientReopenRequestModal: false,\r\n showDenyClientReopenRequestModal: false,\r\n gridCurrentState: [],\r\n gridFilteredRowCurrentState: [],\r\n selectedRecipients: [],\r\n checklistUsers: [],\r\n selectedSignoffChecklistState: -1,\r\n refreshGridChecklistData: {\r\n refreshGridOnCompletedAction: -1,\r\n checklists: [],\r\n },\r\n isSendEmailEnabled: false,\r\n isCreateOnlyEnabled: false,\r\n createData: {\r\n checklistTypeID: \"PSQ\",\r\n clientID: this.props.client.id,\r\n reitId: this.props.reit.reitid,\r\n reportPeriodID: this.props.periodId,\r\n propertyID: null,\r\n clientEmailTo: \"\",\r\n propertyType: null,\r\n checklistStateID: \"Created\",\r\n clientContactEmails: \"\",\r\n clientEmails: [],\r\n selectedPropertyId: 0,\r\n selectedPropertyName: \"\",\r\n selectedPropertyType: \"\",\r\n reportPeriodSummary: {},\r\n questionnaireTemplateId: null,\r\n prePopulatedId: Constants.defaultPrepopulateAnswer,\r\n hasRollForwardQuestionComment:\r\n Constants.defaultRollFowardQuestionComment,\r\n hasRollForwardQuestionAttachment:\r\n Constants.defaultRollFowardQuestionAttachment,\r\n },\r\n selectedPropertyId: 0,\r\n selectedPropertyName: \"\",\r\n selectedPropertyType: \"\",\r\n showInvalidEmailModal: false,\r\n clientEmail: [],\r\n downloadChecklists: {\r\n downloadType: \"\",\r\n showModal: false,\r\n modalTitle: \"\",\r\n modalContent: \"\",\r\n },\r\n canEdit: true,\r\n invalidHeader: Constants.invalidEmailCreateChecklistHeader,\r\n isRefreshGridRequired: false,\r\n refreshGridData: 0,\r\n isInitialLoad: true,\r\n externalUserVisibilityData:[],\r\n };\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.props.periodActions.fetchPeriodById(this.props.periodId)\r\n .then((period) => {\r\n this.setCanEdit(period);\r\n });\r\n this.props.externalUserVisibilityActions.fetchReportPeriodVisibilityManagerDataById(this.props.clientId,null,null,this.props.periodId,null,\"PSQ\");\r\n this.props.propertyActions.fetchPropertiesByPeriod(this.props.periodId);\r\n this.props.lookupTypeActions.fetchPropertyTypes();\r\n this.props.checklistActions.fetchManageChecklists(\r\n this.props.clientId,\r\n null,\r\n this.props.periodId,\r\n \"PSQ\"\r\n );\r\n checklistActions\r\n .getReportPeriodSummary(this.props.periodId)\r\n .then((request) => {\r\n return request.json();\r\n })\r\n .then((json) => {\r\n if (json) {\r\n this.setState({ reportPeriodSummary: json });\r\n }\r\n });\r\n this.props.checklistActions.resetRefreshManageChecklistClient(); // Reseting the Client Id to 0 on page load to hide Motif \"Refresh\" Toast Message\r\n \r\n this.setGridColumnState();\r\n }\r\n\r\n /**\r\n * Invoked immediately before unmounting occurs\r\n * @returns {undefined}\r\n */\r\n componentWillUnmount() {\r\n // On unmount, clear the calendar data from state to conserve memory\r\n // Calling this action with no argument will clear from redux-state\r\n this.props.checklistActions.fetchManageChecklists();\r\n this.props.checklistActions.resetRefreshManageChecklistClient(); // Reseting the Client Id to 0 on page unmount to hide Motif \"Refresh\" Toast Message on subsequest redirected view\r\n\r\n this.setState({ filteredManageChecklists: [], selectedRecipients: [] }); \r\n }\r\n\r\n componentDidUpdate(prevProps) { \r\n // Set the period if it doesn't exist\r\n if (prevProps.period != this.props.period && this.props.periodId != null) {\r\n this.props.periodActions.fetchPeriodById(this.props.periodId);\r\n this.setCanEdit(this.props.period);\r\n }\r\n if (\r\n this.props.manageChecklists != prevProps.manageChecklists &&\r\n this.state.isRefreshGridRequired\r\n ) {\r\n const randomNumber = parseInt(Math.random() * (99999999 - 1)) + 1;\r\n this.setState({\r\n refreshGridData: randomNumber,\r\n isRefreshGridRequired: false,\r\n }); \r\n }\r\n }\r\n\r\n updateInitialValues() {\r\n const initialValues = {\r\n clientId: this.props.clientId,\r\n };\r\n\r\n this.props.dispatch(\r\n this.props.initialize(initialValues, {\r\n options: { updateUnregisteredFields: true },\r\n })\r\n );\r\n }\r\n\r\n setCanEdit(period) {\r\n const isEnabled = periodActions.isReportingEnabled(period);\r\n this.setState({ canEdit: isEnabled });\r\n }\r\n\r\n toggleShowAddChecklistUserModal() {\r\n this.setState({\r\n showAddChecklistUserModal: !this.state.showAddChecklistUserModal,\r\n checklistUsers: [],\r\n });\r\n }\r\n\r\n refreshGrid(selectedChecklists = []) {\r\n // Reset the refresh manage checklist message for client\r\n this.props.checklistActions.resetRefreshManageChecklistClient();\r\n\r\n this.props.checklistActions\r\n .fetchManageChecklists(\r\n this.props.clientId,\r\n null,\r\n this.props.periodId,\r\n \"PSQ\"\r\n )\r\n .then(() => {\r\n this.updateInitialValues(); //Update refreshGridChecklistData state variable to refresh the grid\r\n const randomNumber = parseInt(Math.random() * (99999999 - 1)) + 1;\r\n if (\r\n selectedChecklists &&\r\n Array.isArray(selectedChecklists) &&\r\n selectedChecklists.length > 0\r\n ) {\r\n this.setState({\r\n refreshGridChecklistData: {\r\n refreshGridOnCompletedAction: randomNumber,\r\n checklists: selectedChecklists,\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n refreshGridChecklistData: {\r\n refreshGridOnCompletedAction: randomNumber,\r\n checklists: [],\r\n },\r\n });\r\n }\r\n });\r\n }\r\n\r\n handleGridFilteredRowChanges(gridFilteredRowData) {\r\n this.setState({ gridFilteredRowCurrentState: gridFilteredRowData });\r\n }\r\n\r\n handleGridChanges(gridRowData) {\r\n let rowData = [];\r\n rowData =\r\n gridRowData &&\r\n gridRowData.length &&\r\n gridRowData.map((x) => {\r\n return {\r\n checklistID: x.checklistID,\r\n checklistSelection: x.checklistSelection,\r\n checklistState: x.checklistState,\r\n checklistType: x.checklistType,\r\n quarterStatus: x.quarterStatus,\r\n checklistStateDescription: x.checklistStateDescription,\r\n reopenRequestStatusDescription: x.reopenRequestStatusDescription,\r\n requestDateTime: x.requestDateTime,\r\n requesterEmailAddress: x.requesterEmailAddress,\r\n isSignedOff: x.isSignedOff,\r\n signedOffStatusDescription: x.signedOffStatusDescription,\r\n userActionDateTime: x.userActionDateTime,\r\n clientUserEmailAddress: x.clientUserEmailAddress,\r\n quarter: x.quarter,\r\n reitName: x.reitName,\r\n reportPeriodID: x.reportPeriodID,\r\n propertyType: x.propertyType,\r\n propertyTypeDescription: x.propertyTypeDescription,\r\n propertyName: x.propertyName,\r\n };\r\n });\r\n\r\n this.setState({ gridCurrentState: rowData });\r\n }\r\n\r\n handleRecipientChanges(gridApi) {\r\n let selectedRecipients = [];\r\n if (gridApi) {\r\n let selectedNodes = gridApi.getSelectedNodes()\r\n ? gridApi\r\n .getSelectedNodes()\r\n .filter(\r\n (rowNode) =>\r\n rowNode.data &&\r\n rowNode.data.recipientEmail &&\r\n rowNode.data.recipientEmail.length > 0\r\n )\r\n : [];\r\n selectedRecipients =\r\n selectedNodes &&\r\n selectedNodes.length &&\r\n selectedNodes.map((x) => {\r\n return {\r\n checklistID: x.data.checklistID,\r\n checklistSelection: x.data.checklistSelection,\r\n checklistType: x.data.checklistType,\r\n checklistState: x.data.checklistState,\r\n quarterStatus: x.data.quarterStatus,\r\n expirationDate: x.data.expirationDate,\r\n recipientEmail: x.data.recipientEmail,\r\n recipients: x.data.recipients,\r\n senderEmail: x.data.senderEmail,\r\n sentDate: x.data.sentDate,\r\n quarter: x.data.quarter,\r\n reitName: x.data.reitName,\r\n propertyType: x.data.propertyType,\r\n propertyTypeDescription: x.data.propertyTypeDescription,\r\n propertyName: x.data.propertyName,\r\n };\r\n });\r\n }\r\n this.setState({ selectedRecipients: selectedRecipients });\r\n }\r\n\r\n handleEmailChanged(e) {\r\n let checklistEmailData = [];\r\n let uniqueArray = [];\r\n let isShowInvalidModal = false;\r\n if (Array.isArray(e)) {\r\n if (e.length > 0) {\r\n uniqueArray = [...new Set(e.join(\";\").toLowerCase().split(\";\"))];\r\n for (let i = 0; i < uniqueArray.length; i++) {\r\n if (this.isEYEmailAddress(uniqueArray[i])) {\r\n isShowInvalidModal = true;\r\n } else {\r\n checklistEmailData.push(uniqueArray[i]);\r\n }\r\n }\r\n }\r\n }\r\n if (isShowInvalidModal) {\r\n this.setState({ invalidHeader: Constants.invalidEmailAddUserHeader });\r\n this.toggleShowInvalidEmailModal();\r\n }\r\n this.setState({ checklistUsers: checklistEmailData });\r\n }\r\n\r\n handleAddChecklistUser() {\r\n let emailDetails =\r\n this.state.checklistUsers &&\r\n Array.isArray(this.state.checklistUsers) &&\r\n this.state.checklistUsers.length > 0\r\n ? this.state.checklistUsers\r\n : [];\r\n\r\n let selectedChecklists = [];\r\n\r\n if (\r\n this.state.gridCurrentState &&\r\n Array.isArray(this.state.gridCurrentState) &&\r\n this.state.gridCurrentState.length > 0 &&\r\n emailDetails\r\n ) {\r\n selectedChecklists = this.state.gridCurrentState.reduce(function (\r\n filtered,\r\n option\r\n ) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType:\r\n option && option.checklistType\r\n ? option.checklistType.toLowerCase()\r\n : \"\",\r\n };\r\n if (\r\n filtered.findIndex(\r\n (x) =>\r\n x.checklistID === checklistItem.checklistID &&\r\n x.checklistType === checklistItem.checklistType\r\n ) == -1\r\n ) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n },\r\n []);\r\n }\r\n\r\n let requestData = {\r\n clientID: this.props.clientId,\r\n internalEmails: [],\r\n externalEmails: emailDetails,\r\n checklists: selectedChecklists,\r\n };\r\n\r\n this.props.checklistActions\r\n .addChecklistUsers(this.props.clientId, requestData)\r\n .then(() => {\r\n this.toggleShowAddChecklistUserModal();\r\n this.setState({\r\n checklistUsers: [],\r\n });\r\n\r\n this.refreshGrid(selectedChecklists);\r\n });\r\n }\r\n\r\n toggleShowDeleteChecklistUserModal() {\r\n this.setState({\r\n showDeleteChecklistUserModal: !this.state.showDeleteChecklistUserModal,\r\n });\r\n }\r\n\r\n handleDeleteChecklistUser() {\r\n let recipientsList =\r\n this.state.selectedRecipients &&\r\n Array.isArray(this.state.selectedRecipients) &&\r\n this.state.selectedRecipients.length > 0\r\n ? this.state.selectedRecipients.map((x) => {\r\n return {\r\n checklistID: x.checklistID,\r\n checklistType: x.checklistType,\r\n emails: x.recipientEmail.toLowerCase(),\r\n };\r\n })\r\n : [];\r\n\r\n var helper = {};\r\n var uniqueRecipientsChecklists =\r\n recipientsList && Array.isArray(recipientsList)\r\n ? recipientsList.reduce(function (r, o) {\r\n var key = o.checklistID + \"_\" + o.checklistType;\r\n\r\n if (!helper[key]) {\r\n helper[key] = {\r\n checklistID: o.checklistID,\r\n checklistType: o.checklistType,\r\n emails: [o.emails.toLowerCase()],\r\n };\r\n r.push(helper[key]);\r\n } else {\r\n helper[key].emails.push(o.emails);\r\n }\r\n\r\n return r;\r\n }, [])\r\n : [];\r\n\r\n let requestData = {\r\n clientID: this.props.clientId,\r\n checklists: uniqueRecipientsChecklists,\r\n };\r\n\r\n this.props.checklistActions\r\n .deleteChecklistUsers(this.props.clientId, requestData)\r\n .then(() => {\r\n this.setState({ isRefreshGridRequired: true });\r\n this.toggleShowDeleteChecklistUserModal();\r\n this.refreshGrid(uniqueRecipientsChecklists);\r\n });\r\n }\r\n\r\n toggleShowDeleteChecklistModal() {\r\n this.setState({\r\n showDeleteChecklistModal: !this.state.showDeleteChecklistModal,\r\n });\r\n }\r\n\r\n handleDeleteChecklist(values) {\r\n let checklistsToDelete = this.state.gridCurrentState\r\n .filter((gridData) => gridData.checklistSelection)\r\n .map((gridData) => {\r\n return {\r\n checklistID: gridData.checklistID,\r\n type: gridData.checklistType,\r\n };\r\n });\r\n\r\n // Remove duplicate checklists\r\n checklistsToDelete = checklistsToDelete.filter(\r\n (value, index, self) =>\r\n self.findIndex(\r\n (self) =>\r\n self.checklistID === value.checklistID && self.type === value.type\r\n ) === index\r\n );\r\n\r\n const requestData = {\r\n clientId: this.props.clientId,\r\n deleteChecklistRequestModels: checklistsToDelete,\r\n };\r\n\r\n this.props.checklistActions.deleteChecklists(requestData).then(() => {\r\n this.toggleShowDeleteChecklistModal();\r\n this.refreshGrid();\r\n });\r\n }\r\n\r\n toggleShowResendChecklistModal() {\r\n this.setState({\r\n showResendChecklistModal: !this.state.showResendChecklistModal,\r\n });\r\n }\r\n\r\n toggleShowInvalidEmailModal() {\r\n const showToggle = !this.state.showInvalidEmailModal;\r\n this.setState({\r\n showInvalidEmailModal: showToggle,\r\n });\r\n }\r\n\r\n deleteInvalidEmail() {\r\n this.toggleShowInvalidEmailModal();\r\n }\r\n handleResendChecklist(values) {\r\n const checklistsToResend = this.state.selectedRecipients.map(\r\n (recipient) => {\r\n return {\r\n checklistID: recipient.checklistID,\r\n checklistType: recipient.checklistType,\r\n recipientEmail: recipient.recipientEmail,\r\n reitName: recipient.reitName,\r\n propertyType: recipient.propertyTypeDescription,\r\n propertyName: recipient.propertyName,\r\n periodDescription: this.props.period.reportPeriodDescription,\r\n };\r\n }\r\n );\r\n\r\n const requestData = {\r\n clientId: this.props.clientId,\r\n resendChecklistRequestModels: checklistsToResend,\r\n };\r\n\r\n this.props.checklistActions.resendChecklists(requestData).then(() => {\r\n this.toggleShowResendChecklistModal();\r\n this.refreshGrid(this.getSelectedChecklists());\r\n this.props.checklistActions.resetRefreshManageChecklistClient(this.props.clientId); // Reseting the Client Id to current client ID on page load to display Motif \"Refresh\" Toast Message\r\n });\r\n }\r\n\r\n toggleShowSignoffChecklistModal() {\r\n this.setState({\r\n showSignoffChecklistModal: !this.state.showSignoffChecklistModal,\r\n });\r\n }\r\n\r\n toggleShowReopenForEYReviewChecklistModal() {\r\n this.setState({\r\n showReopenForEYReviewChecklistModal:\r\n !this.state.showReopenForEYReviewChecklistModal,\r\n });\r\n }\r\n\r\n toggleShowApproveClientReopenRequestModal() {\r\n this.setState({\r\n showApproveClientReopenRequestModal:\r\n !this.state.showApproveClientReopenRequestModal,\r\n });\r\n }\r\n\r\n toggleShowDenyClientReopenRequestModal() {\r\n this.setState({\r\n showDenyClientReopenRequestModal:\r\n !this.state.showDenyClientReopenRequestModal,\r\n });\r\n }\r\n\r\n handleSignoffChecklistStateChange(checklistState) {\r\n this.setState({\r\n selectedSignoffChecklistState: checklistState,\r\n });\r\n }\r\n\r\n async handleReopenForEYReviewChecklist() {\r\n let selectedChecklists = [];\r\n if (\r\n this.state.gridCurrentState &&\r\n Array.isArray(this.state.gridCurrentState) &&\r\n this.state.gridCurrentState.length > 0\r\n ) {\r\n selectedChecklists = this.state.gridCurrentState.reduce(function (\r\n filtered,\r\n option\r\n ) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType:\r\n option && option.checklistType\r\n ? option.checklistType.toLowerCase()\r\n : \"\",\r\n };\r\n if (\r\n filtered.findIndex(\r\n (x) =>\r\n x.checklistID === checklistItem.checklistID &&\r\n x.checklistType === checklistItem.checklistType\r\n ) == -1\r\n ) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n },\r\n []);\r\n }\r\n\r\n let splitedChecklists = this.spliceSelectedChecklists(\r\n selectedChecklists.slice(),\r\n 50\r\n );\r\n\r\n this.props.dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n await checklistActions\r\n .updateChecklistsState(\r\n this.props.clientId,\r\n splitedChecklists,\r\n \"PENDINGEYREVIEW\"\r\n )\r\n .then(() => {\r\n this.setState({ isRefreshGridRequired: true });\r\n\r\n this.toggleShowReopenForEYReviewChecklistModal();\r\n this.refreshGrid(selectedChecklists);\r\n this.props.dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n })\r\n .catch((error) => {\r\n this.toggleShowReopenForEYReviewChecklistModal();\r\n this.refreshGrid(selectedChecklists);\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n this.props.dispatch,\r\n actions.UPDATE_CHECKLISTS_STATE_FAILURE,\r\n error\r\n );\r\n });\r\n }\r\n\r\n async handleSignoffChecklist() {\r\n let selectedChecklists = [];\r\n if (\r\n this.state.gridCurrentState &&\r\n Array.isArray(this.state.gridCurrentState) &&\r\n this.state.gridCurrentState.length > 0\r\n ) {\r\n selectedChecklists = this.state.gridCurrentState.reduce(function (\r\n filtered,\r\n option\r\n ) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType:\r\n option && option.checklistType\r\n ? option.checklistType.toLowerCase()\r\n : \"\",\r\n };\r\n if (\r\n filtered.findIndex(\r\n (x) =>\r\n x.checklistID === checklistItem.checklistID &&\r\n x.checklistType === checklistItem.checklistType\r\n ) == -1\r\n ) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n },\r\n []);\r\n }\r\n\r\n let splitedChecklists = this.spliceSelectedChecklists(\r\n selectedChecklists.slice(),\r\n 50\r\n );\r\n\r\n this.props.dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n await checklistActions\r\n .updateChecklistsState(\r\n this.props.clientId,\r\n splitedChecklists,\r\n \"COMPLETED\"\r\n )\r\n .then(() => {\r\n this.setState({ isRefreshGridRequired: true });\r\n this.toggleShowSignoffChecklistModal();\r\n this.refreshGrid(selectedChecklists);\r\n this.props.dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n })\r\n .catch((error) => {\r\n this.toggleShowSignoffChecklistModal();\r\n this.refreshGrid(selectedChecklists);\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n this.props.dispatch,\r\n actions.UPDATE_CHECKLISTS_STATE_FAILURE,\r\n error\r\n );\r\n });\r\n }\r\n\r\n async handleApproveClientReopenRequest() {\r\n let selectedChecklists = [];\r\n if (\r\n this.state.gridCurrentState &&\r\n Array.isArray(this.state.gridCurrentState) &&\r\n this.state.gridCurrentState.length > 0\r\n ) {\r\n selectedChecklists = this.state.gridCurrentState.reduce(function (\r\n filtered,\r\n option\r\n ) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType:\r\n option && option.checklistType\r\n ? option.checklistType.toLowerCase()\r\n : \"\",\r\n requesterEmailAddress: option.requesterEmailAddress,\r\n };\r\n if (\r\n filtered.findIndex(\r\n (x) =>\r\n x.checklistID === checklistItem.checklistID &&\r\n x.checklistType === checklistItem.checklistType\r\n ) == -1\r\n ) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n },\r\n []);\r\n }\r\n\r\n let splitedChecklists = this.splitChecklistsPerRequester(\r\n selectedChecklists.slice(),\r\n 50\r\n );\r\n\r\n this.props.dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n await checklistActions\r\n .approveDenyClientRequest(\r\n this.props.clientId,\r\n splitedChecklists,\r\n \"APPROVED\"\r\n )\r\n .then(() => {\r\n this.toggleShowApproveClientReopenRequestModal();\r\n this.refreshGrid(selectedChecklists);\r\n this.props.dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n })\r\n .catch((error) => {\r\n this.toggleShowApproveClientReopenRequestModal();\r\n this.refreshGrid(selectedChecklists);\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n this.props.dispatch,\r\n actions.APPROVE_DENY_CHECKLISTS_REQUEST_FAILURE,\r\n error\r\n );\r\n });\r\n }\r\n\r\n spliceSelectedChecklists(arr, size) {\r\n let res = [];\r\n while (arr.length > 0) {\r\n const chunk = arr.splice(0, size);\r\n res.push(chunk);\r\n }\r\n return res;\r\n }\r\n\r\n splitChecklistsPerRequester(checklists, batchSize) {\r\n let groups = {},\r\n result = [];\r\n let key = \"requesterEmailAddress\";\r\n checklists.forEach(function (checklist) {\r\n if (!(checklist[key] in groups)) {\r\n groups[checklist[key]] = [];\r\n }\r\n groups[checklist[key]].push(checklist);\r\n });\r\n\r\n for (let property in groups) {\r\n let group = groups[property];\r\n if (group.length > batchSize) {\r\n result.push(...this.spliceSelectedChecklists(group, batchSize));\r\n } else {\r\n result.push(group);\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n getSelectedChecklists() {\r\n let res = [];\r\n if (\r\n this.state.gridCurrentState &&\r\n Array.isArray(this.state.gridCurrentState) &&\r\n this.state.gridCurrentState.length > 0\r\n ) {\r\n res = this.state.gridCurrentState.reduce(function (filtered, option) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType:\r\n option && option.checklistType\r\n ? option.checklistType.toLowerCase()\r\n : \"\",\r\n };\r\n if (\r\n filtered.findIndex(\r\n (x) =>\r\n x.checklistID === checklistItem.checklistID &&\r\n x.checklistType === checklistItem.checklistType\r\n ) == -1\r\n ) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n }, []);\r\n }\r\n return res;\r\n }\r\n\r\n async handleDenyClientReopenRequest() {\r\n let selectedChecklists = [];\r\n if (\r\n this.state.gridCurrentState &&\r\n Array.isArray(this.state.gridCurrentState) &&\r\n this.state.gridCurrentState.length > 0\r\n ) {\r\n selectedChecklists = this.state.gridCurrentState.reduce(function (\r\n filtered,\r\n option\r\n ) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType:\r\n option && option.checklistType\r\n ? option.checklistType.toLowerCase()\r\n : \"\",\r\n requesterEmailAddress: option.requesterEmailAddress,\r\n };\r\n if (\r\n filtered.findIndex(\r\n (x) =>\r\n x.checklistID === checklistItem.checklistID &&\r\n x.checklistType === checklistItem.checklistType\r\n ) == -1\r\n ) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n },\r\n []);\r\n }\r\n\r\n let splitedChecklists = this.splitChecklistsPerRequester(\r\n selectedChecklists.slice(),\r\n 50\r\n );\r\n\r\n this.props.dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n await checklistActions\r\n .approveDenyClientRequest(\r\n this.props.clientId,\r\n splitedChecklists,\r\n \"DENIED\"\r\n )\r\n .then(() => {\r\n this.toggleShowDenyClientReopenRequestModal();\r\n this.refreshGrid(selectedChecklists);\r\n this.props.dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n })\r\n .catch((error) => {\r\n this.toggleShowDenyClientReopenRequestModal();\r\n this.refreshGrid(selectedChecklists);\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n this.props.dispatch,\r\n actions.APPROVE_DENY_CHECKLISTS_REQUEST_FAILURE,\r\n error\r\n );\r\n });\r\n }\r\n\r\n handleExportChecklistSummary(values) {\r\n let checklistsToExport = this.state.gridCurrentState\r\n .filter((gridData) => gridData.checklistSelection)\r\n .map((gridData) => {\r\n return {\r\n checklistID: gridData.checklistID,\r\n checklistType: gridData.checklistType,\r\n };\r\n });\r\n let checklistData = Object.assign({}, checklistsToExport);\r\n\r\n // Remove duplicate checklists\r\n checklistData = checklistsToExport.filter(\r\n (value, index, self) =>\r\n self.findIndex(\r\n (self) =>\r\n self.checklistID === value.checklistID && self.type === value.type\r\n ) === index\r\n );\r\n\r\n const requestData = {\r\n clientId: this.props.clientId,\r\n calendarYear: new Date(this.props.period.endDate).getFullYear(),\r\n exportChecklistRequestModels: checklistData,\r\n };\r\n\r\n this.props.checklistActions.exportChecklists(requestData);\r\n }\r\n handleCreateField(e, data, fieldName) {\r\n let createData = {\r\n checklistTypeID: \"PSQ\",\r\n clientID: this.props.client.id,\r\n reitID: this.props.reit.reitid,\r\n reportPeriodID: this.props.periodId,\r\n propertyID: null,\r\n clientEmailTo: \"\",\r\n propertyType: null,\r\n checklistStateID: \"Created\",\r\n questionnaireTemplateId: null,\r\n prePopulatedId: Constants.defaultPrepopulateAnswer,\r\n hasRollForwardQuestionComment: Constants.defaultRollFowardQuestionComment,\r\n hasRollForwardQuestionAttachment:\r\n Constants.defaultRollFowardQuestionAttachment,\r\n };\r\n if (\r\n this.state !== undefined &&\r\n this.state.createData !== undefined &&\r\n this.state.createData !== null\r\n ) {\r\n createData = this.state.createData;\r\n }\r\n let propertyName = \"\";\r\n let propertyType = \"\";\r\n\r\n switch (fieldName) {\r\n case \"propertyField\":\r\n createData.propertyID = e;\r\n for (let option of data) {\r\n if (option.key === e) {\r\n propertyName = option.text;\r\n break;\r\n }\r\n }\r\n this.setState({\r\n selectedPropertyId: e,\r\n selectedPropertyName: propertyName,\r\n });\r\n break;\r\n case \"propertyTypeField\":\r\n createData.propertyType = e;\r\n for (let option of data) {\r\n if (option.key === e) {\r\n propertyType = option.text;\r\n break;\r\n }\r\n }\r\n this.setState({ selectedPropertyType: propertyType });\r\n break;\r\n case \"populatePreviousAnswersField\":\r\n createData.prePopulatedId = e;\r\n break;\r\n case \"customTemplateField\":\r\n createData.questionnaireTemplateId = e;\r\n break;\r\n case \"rollForwardQuestionCommentsField\":\r\n createData.hasRollForwardQuestionComment =\r\n Constants.defaultRollFowardQuestionComment;\r\n createData.hasRollForwardQuestionAttachment =\r\n Constants.defaultRollFowardQuestionAttachment;\r\n if (e == \"2\" || e == \"3\") {\r\n createData.hasRollForwardQuestionComment = 1;\r\n }\r\n \r\n if (e == \"1\" || e == \"3\") {\r\n createData.hasRollForwardQuestionAttachment = 1;\r\n }\r\n break;\r\n }\r\n\r\n createData.clientID = this.props.client.id;\r\n createData.reitID = this.props.reit.reitid;\r\n createData.reportPeriodID = this.props.periodId;\r\n\r\n // Validate dropdown values\r\n if (\r\n createData.propertyID &&\r\n createData.propertyType &&\r\n createData.questionnaireTemplateId\r\n ) {\r\n this.setState({ isCreateOnlyEnabled: true });\r\n }\r\n\r\n this.setState({ createData: createData, isInitialLoad: true });\r\n }\r\n\r\n clientEmailsRef(ref) {\r\n let clientEmails = \"\";\r\n if (\r\n this.state.reportPeriodSummary !== undefined &&\r\n this.state.reportPeriodSummary !== null\r\n ) {\r\n let clientContactEmail =\r\n this.state.reportPeriodSummary.clientContactEmail;\r\n if (\r\n clientContactEmail !== undefined &&\r\n clientContactEmail !== null &&\r\n !this.isEYEmailAddress(clientContactEmail) &&\r\n clientContactEmail !== \"\" &&\r\n !clientEmails.includes(clientContactEmail.toLowerCase().trim())\r\n ) {\r\n clientEmails = clientContactEmail.toLowerCase().trim() + \";\";\r\n }\r\n\r\n for (let property of this.state.reportPeriodSummary.periodProperties) {\r\n let email = property.managerEmail;\r\n if (\r\n email !== undefined &&\r\n email !== null &&\r\n email !== \"\" &&\r\n !this.isEYEmailAddress(email) &&\r\n property.propertyID === this.state.selectedPropertyId &&\r\n !clientEmails.includes(email.toLowerCase().trim())\r\n ) {\r\n clientEmails += email.toLowerCase().trim() + \";\";\r\n }\r\n if (\r\n property.accountantEmail &&\r\n !this.isEYEmailAddress(property.accountantEmail)\r\n ) {\r\n email = property.accountantEmail.toLowerCase().trim();\r\n }\r\n if (\r\n email !== undefined &&\r\n email !== null &&\r\n email !== \"\" &&\r\n property.propertyID === this.state.selectedPropertyId &&\r\n !clientEmails.includes(email.toLowerCase().trim())\r\n ) {\r\n clientEmails += email.toLowerCase().trim() + \";\";\r\n }\r\n }\r\n\r\n if (ref) {\r\n ref.findEmailAddress(clientEmails, false);\r\n }\r\n\r\n //This functionality is to update clientEmailTo field of createData state variable\r\n let createData = {\r\n checklistTypeID: \"PSQ\",\r\n clientID: this.props.client.id,\r\n reitID: this.props.reit.reitid,\r\n reportPeriodID: this.props.periodId,\r\n propertyID: null,\r\n clientEmailTo: \"\",\r\n propertyType: null,\r\n checklistStateID: \"Created\",\r\n prePopulatedId: Constants.defaultPrepopulateAnswer,\r\n hasRollForwardQuestionComment:\r\n Constants.defaultRollFowardQuestionComment,\r\n hasRollForwardQuestionAttachment:\r\n Constants.defaultRollFowardQuestionAttachment,\r\n };\r\n if (\r\n this.state !== undefined &&\r\n this.state.createData !== undefined &&\r\n this.state.createData !== null\r\n ) {\r\n createData = this.state.createData;\r\n \r\n let filteredclientEmails = '';\r\n // Check if clientEmails is a string and has content\r\n if (typeof clientEmails === 'string' && clientEmails.trim().length > 0) {\r\n // Split the string into an array of emails\r\n const emailsArray = clientEmails.split(';').map(email => email.trim());\r\n \r\n // Filter the emails\r\n const filteredEmailsArray = emailsArray.filter(email => \r\n !email.includes(Constants.RejectedOtherEYDomain) && email !== Constants.RejectedEyDomain\r\n );\r\n filteredclientEmails = filteredEmailsArray.join(';');\r\n } \r\n \r\n if(this.state.clientEmail.length > 0){\r\n createData.clientEmailTo = this.state.clientEmail.join(';');\r\n }\r\n else if(clientEmails){\r\n createData.clientEmailTo = clientEmails;\r\n } \r\n \r\n this.validateEmail(createData);\r\n this.setState({ createData: createData });\r\n }\r\n else if(this.state.isInitialLoad){\r\n createData.clientEmailTo = clientEmails;\r\n this.validateEmail(createData);\r\n this.setState({ createData: createData });\r\n }\r\n }\r\n }\r\n\r\n handleDismissErrorMessage() {\r\n this.props.commonActions.clearFormErrors(\"psqcreatechecklistmodal\");\r\n }\r\n handleClientEmailChanged(e) {\r\n let createData = {\r\n checklistTypeID: \"PSQ\",\r\n clientID: this.props.client.id,\r\n reitID: this.props.reit.reitid,\r\n reportPeriodID: this.props.periodId,\r\n propertyID: null,\r\n clientEmailTo: \"\",\r\n propertyType: null,\r\n checklistStateID: \"Created\",\r\n prePopulatedId: Constants.defaultPrepopulateAnswer,\r\n hasRollForwardQuestionComment: Constants.defaultRollFowardQuestionComment,\r\n hasRollForwardQuestionAttachment:\r\n Constants.defaultRollFowardQuestionAttachment,\r\n };\r\n if (\r\n this.state !== undefined &&\r\n this.state.createData !== undefined &&\r\n this.state.createData !== null\r\n ) {\r\n createData = this.state.createData;\r\n }\r\n\r\n let isShowInvalidModal = false;\r\n let uniqueArray = [];\r\n let splicedArray = [];\r\n if (Array.isArray(e)) {\r\n if (e.length > 0) {\r\n uniqueArray = [...new Set(e.join(\";\").toLowerCase().split(\";\"))];\r\n\r\n for (let i = 0; i < uniqueArray.length; i++) {\r\n if (this.isEYEmailAddress(uniqueArray[i])) {\r\n isShowInvalidModal = true;\r\n } else {\r\n splicedArray.push(uniqueArray[i]);\r\n }\r\n }\r\n\r\n createData.clientEmailTo = splicedArray.join(\";\");\r\n } else {\r\n createData.clientEmailTo = \"\";\r\n }\r\n }\r\n\r\n if (isShowInvalidModal) {\r\n this.setState({\r\n invalidHeader: Constants.invalidEmailCreateChecklistHeader,\r\n });\r\n this.toggleShowInvalidEmailModal();\r\n } \r\n this.validateEmail(createData);\r\n this.setState({ createData: createData });\r\n const filteredUniqueArray= uniqueArray.filter(email => !email.includes(Constants.RejectedOtherEYDomain) && email != Constants.RejectedEyDomain );\r\n \r\n this.setState({ clientEmail: (uniqueArray === undefined || uniqueArray.length === 0) && e.length !== 0? this.state.clientEmail : filteredUniqueArray });\r\n }\r\n\r\n validateEmail(createData) { \r\n // Validate that both send to email and accountant email have text and are valid email addresses\r\n if (createData.clientEmailTo.length > 0) {\r\n // Validate Send To Multiple Email Addresses\r\n let sendToEmailValidation = false;\r\n let isRejectedDomain = false;\r\n\r\n // Get Array of Email Addresses\r\n const sendToEmailsList = createData.clientEmailTo.split(\";\");\r\n for (let email of sendToEmailsList) {\r\n if (formValidators.email(email.trim()) === \"Invalid email address\") {\r\n sendToEmailValidation = true;\r\n }\r\n }\r\n\r\n // Validate both Send To and Accountant Email Addresses\r\n if (sendToEmailValidation && isRejectedDomain) {\r\n this.setState({ isSendEmailEnabled: false });\r\n } else {\r\n this.setState({ isSendEmailEnabled: true });\r\n }\r\n } else {\r\n this.setState({ isSendEmailEnabled: false });\r\n }\r\n }\r\n\r\n /**\r\n * Set AG-Grid column state\r\n * @returns {undefined}\r\n */\r\n setGridColumnState() {\r\n var columnState = localStorage.getItem(\"REITSuitePSQChecklistColumnState\");\r\n if (columnState) {\r\n this.setState({ gridColumnState: JSON.parse(columnState) });\r\n } else {\r\n this.setState({ gridColumnState: [{ colId: \"-1\" }] });\r\n }\r\n }\r\n\r\n reloadSummaryData() {\r\n this.setState({ isSendEmailEnabled: false, isCreateOnlyEnabled: false });\r\n this.props.checklistActions.fetchManageChecklists(\r\n this.props.clientId,\r\n null,\r\n this.props.periodId,\r\n \"PSQ\"\r\n );\r\n }\r\n\r\n /**\r\n * Reset AG-Grid column state\r\n * @returns {undefined}\r\n */\r\n resetGridColumnState() {\r\n localStorage.removeItem(\"REITSuitePSQChecklistColumnState\");\r\n this.setState({ gridColumnState: [] });\r\n }\r\n\r\n /**\r\n * Handle Grid column state chagne\r\n * @returns {undefined}\r\n */\r\n handleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n }\r\n\r\n handleRefreshManageChecklistClient() {\r\n this.refreshGrid();\r\n }\r\n\r\n dismissRefreshManageChecklistMessage() {\r\n this.props.checklistActions.resetRefreshManageChecklistClient();\r\n }\r\n\r\n handlePopulatePreviousAnswersChanged(e) {\r\n let createData = {\r\n checklistTypeID: \"PSQ\",\r\n clientID: this.props.client.id,\r\n reitID: this.props.reit.reitid,\r\n reportPeriodID: this.props.periodId,\r\n propertyID: null,\r\n clientEmailTo: \"\",\r\n propertyType: null,\r\n checklistStateID: \"Created\",\r\n questionnaireTemplateId: null,\r\n prePopulatedId: Constants.defaultPrepopulateAnswer,\r\n hasRollForwardQuestionComment: Constants.defaultRollFowardQuestionComment,\r\n hasRollForwardQuestionAttachment:\r\n Constants.defaultRollFowardQuestionAttachment,\r\n };\r\n\r\n if (\r\n this.state !== undefined &&\r\n this.state.createData !== undefined &&\r\n this.state.createData !== null\r\n ) {\r\n createData = this.state.createData;\r\n }\r\n\r\n createData.prePopulatedId = e.target.checked;\r\n\r\n this.validateEmail(createData);\r\n\r\n this.setState({ createData: createData });\r\n }\r\n\r\n toggleShowDownloadChecklistsModal(downloadType) {\r\n if (this.state.downloadChecklists.showModal === false) {\r\n switch (downloadType) {\r\n case \"WITHOUT_ANSWERS\": {\r\n const downloadChecklistsState = {\r\n downloadType: downloadType,\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: \"Download Checklist(s) without Answers or Comments\",\r\n modalContent:\r\n \"Are you sure you want to download the selected checklist(s) without answers or comments?\",\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n break;\r\n }\r\n case \"WITH_ANSWERS_COMMENTS\": {\r\n const downloadChecklistsState = {\r\n downloadType: downloadType,\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: \"Download Checklist(s) with Answers and Comments\",\r\n modalContent:\r\n \"Are you sure you want to download the selected checklist(s) with answers and comments?\",\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n break;\r\n }\r\n case \"WITH_ANSWERS\": {\r\n const downloadChecklistsState = {\r\n downloadType: downloadType,\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: \"Download Checklist(s) with Answers Only\",\r\n modalContent:\r\n \"Are you sure you want to download the selected checklist(s) with answers?\",\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n break;\r\n }\r\n default:\r\n break;\r\n }\r\n } else {\r\n const downloadChecklistsState = {\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: \"\",\r\n modalContent: \"\",\r\n downloadType: \"\",\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n }\r\n }\r\n\r\n // Handle download checklist\r\n handleDownloadChecklists(downloadType) {\r\n // Getting a copy of the selected checklists from the local state\r\n const selectedChecklists = this.state.gridCurrentState\r\n .filter((gridData) => gridData.checklistSelection)\r\n .map((gridData) => {\r\n return {\r\n checklistID: gridData.checklistID,\r\n checklistType: gridData.checklistType,\r\n quarter: gridData.quarter,\r\n reitName: gridData.reitName,\r\n reportPeriodID: gridData.reportPeriodID,\r\n propertyName: gridData.propertyName,\r\n propertyTypeDescription: gridData.propertyTypeDescription,\r\n };\r\n });\r\n\r\n //Get unique checklists\r\n let uniqueselectedChecklists = Object.assign({}, selectedChecklists);\r\n uniqueselectedChecklists = selectedChecklists.filter(\r\n (value, index, self) =>\r\n self.findIndex((self) => self.checklistID === value.checklistID) ===\r\n index\r\n );\r\n\r\n // Creating a object array for all the selected checklists with corresponding request details\r\n const checklistRequestDetails = uniqueselectedChecklists.map((c) => ({\r\n reitNameAndPeriod: `reitName=${c.reitName},periodDesc=${this.props.period.reportPeriodDescription}`,\r\n periodId: c.reportPeriodID,\r\n id: c.checklistID,\r\n isExternal: true,\r\n filename: \"\",\r\n reitName: c.reitName,\r\n propertyName: c.propertyName,\r\n propertyTypeDescription: c.propertyTypeDescription,\r\n quarter: c.quarter,\r\n }));\r\n\r\n // Logic for file name\r\n checklistRequestDetails.forEach((item) => {\r\n // Setting a defualt file name based on the Report period, Year, RIET, Property name and Property type description\r\n const defaultFilename = `${this.props.period.reportPeriodDescription.replace(\r\n \" \",\r\n \"\"\r\n )}_${item.reitName}_${item.propertyName}_${\r\n item.propertyTypeDescription\r\n }_PSQ`;\r\n\r\n // Checking if a row object is already created with the standard file name\r\n const existingFiles = checklistRequestDetails\r\n .filter((c) => c.filename.includes(defaultFilename))\r\n .sort();\r\n\r\n if (existingFiles.length > 0) {\r\n //Splilling the file name based on \"_\"\r\n const fileNameSplitArray = existingFiles[\r\n existingFiles.length - 1\r\n ].filename\r\n .split(\".\")[0]\r\n .split(\"_\");\r\n\r\n if (existingFiles.length > 1) {\r\n /* Case when there are more than one files with the same combination of Report period, Year, RIET, Property name and Property type description\r\n In such cases, incrementing the version at the end */\r\n const currentVersion = parseInt(\r\n fileNameSplitArray[fileNameSplitArray.length - 1]\r\n );\r\n fileNameSplitArray[fileNameSplitArray.length - 1] = (\r\n currentVersion + 1\r\n ).toString();\r\n item.filename = `${fileNameSplitArray.join(\"_\")}.docx`;\r\n } else {\r\n // Case when there is only one file with the existing combination, hence appending the version as 1 at the end\r\n item.filename = `${fileNameSplitArray.join(\"_\")}_1.docx`;\r\n }\r\n } else {\r\n // Case when there is no file name with the combination\r\n item.filename = `${defaultFilename}.docx`;\r\n }\r\n });\r\n\r\n // Preparing the request body\r\n const request = {\r\n client: null,\r\n calendarYear: new Date(this.props.period.endDate).getFullYear(),\r\n checklistRequestDetails: checklistRequestDetails,\r\n clientId: this.props.clientId,\r\n };\r\n\r\n // Calling the action to fetch data from the API\r\n this.props.reportActions\r\n .downloadChecklists(request, \"PSQ\", downloadType)\r\n .then(() => {\r\n // Refreshing grid and toggling the modal to false\r\n this.refreshGrid(this.getSelectedChecklists());\r\n this.toggleShowDownloadChecklistsModal(downloadType);\r\n })\r\n .catch(() => {\r\n // Toggle the modal to fasle\r\n this.toggleShowDownloadChecklistsModal(downloadType);\r\n });\r\n }\r\n\r\n handleSetInitialEmail(){\r\n let emails = [];\r\n if(this.state.reportPeriodSummary !== undefined && this.state.reportPeriodSummary !== null){\r\n let clientContactEmail = this.state.reportPeriodSummary.clientContactEmail\r\n emails.push(clientContactEmail);\r\n this.setState({ clientEmail: emails.length > this.state.clientEmail.length ? emails : this.state.clientEmail,\r\n isInitialLoad: false\r\n });\r\n }\r\n this.clientEmailsRef(null);\r\n }\r\n\r\n handleCancel(){\r\n this.handleCancelAction();\r\n this.setState({ isInitialLoad: true});\r\n }\r\n\r\n handleCreate(){ \r\n this.setState({ isRefreshGridRequired: true }); \r\n this.handleCreateAction();\r\n this.setState({ isInitialLoad: true }); \r\n }\r\n \r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n
    \r\n
    \r\n

    Property Service Questionnaire

    \r\n
    \r\n
    \r\n \r\n\r\n {this.props.manageChecklists &&\r\n this.props.manageChecklists.length === 0 && (\r\n
    No PSQs found for this period.
    \r\n )}\r\n\r\n {this.props.refreshManageChecklistClientId === this.props.clientId && (\r\n \r\n Contents on the checklist table below has been changed, please{\" \"}\r\n \r\n refresh\r\n {\" \"}\r\n the table.\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n let cid = Number.parseInt(ownProps.router.params.clientId);\r\n if (isNaN(cid)) {\r\n cid = 0;\r\n }\r\n\r\n return {\r\n clientId: cid,\r\n clientIsAudit: state.client && state.client.isAudit,\r\n periodId: Number.parseInt(ownProps.router.params.periodId),\r\n period: state.period,\r\n manageChecklists: state.manageChecklists,\r\n manageChecklistValues: getFormValues(\"psqChecklist\")(state),\r\n initialValues: {},\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n formSyncErrors: getFormSyncErrors(\"psqChecklist\")(state),\r\n formSubmitErrors: getFormSubmitErrors(\"psqChecklist\")(state),\r\n refreshManageChecklistClientId: state.refreshManageChecklistClient,\r\n lookupTypes: state.lookupTypes,\r\n properties: state.properties,\r\n client: state.client,\r\n reit: state.reit,\r\n customQuestionnaireTemplates: state.customQuestionnaire.templates, \r\n externalUserVisibilityData: state.externalUserVisibilityData,\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n clientActions: bindActionCreators(clientActions, dispatch),\r\n checklistActions: bindActionCreators(checklistActions, dispatch),\r\n reportActions: bindActionCreators(reportActions, dispatch),\r\n periodActions: bindActionCreators(periodActions, dispatch),\r\n customQuestionActions: bindActionCreators(customQuestionActions, dispatch),\r\n propertyActions: bindActionCreators(propertyActions, dispatch),\r\n lookupTypeActions: bindActionCreators(lookupTypeActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n reitActions: bindActionCreators(reitActions, dispatch), \r\n externalUserVisibilityActions: bindActionCreators(externalUserVisibilityActions, dispatch), \r\n };\r\n}\r\n\r\nPSQChecklistContainer.propTypes = {\r\n clientId: PropTypes.number,\r\n periodId: PropTypes.number.isRequired,\r\n clientIsAudit: PropTypes.bool,\r\n manageChecklists: PropTypes.array,\r\n manageChecklistValues: PropTypes.object,\r\n initialValues: PropTypes.object,\r\n clientActions: PropTypes.object,\r\n periodActions: PropTypes.object.isRequired,\r\n checklistActions: PropTypes.object,\r\n reportActions: PropTypes.object,\r\n currentUserAuthorizations: PropTypes.array,\r\n initialize: PropTypes.func,\r\n refreshManageChecklistClientId: PropTypes.number, \r\n externalUserVisibilityActions: PropTypes.object,\r\n externalUserVisibilityData: PropTypes.array,\r\n};\r\n\r\nexport default withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n )(\r\n reduxForm({ form: \"psqChecklist\", enableReinitialize: true })(\r\n PSQChecklistContainer\r\n )\r\n )\r\n);\r\n","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { Link } from 'react-router-dom';\r\nimport { Button, Icon } from \"semantic-ui-react\";\r\nimport { FormattedDate } from 'react-intl';\r\nimport { MotifIconButton, MotifIcon, MotifTextLink } from \"@ey-xd/motif-react\";\r\nimport { navigationIcRefresh24px, contentIcUndo24px, communicationIcEmail24px, actionIcCheckCircle24px } from '@ey-xd/motif-react/assets/icons';\r\nimport { IconoirTrash, IconoirOpenNewWindow } from '@ey-xd/motif-icon';\r\n\r\nconst PsqChecklistSummaryItem = ({\r\n selected,\r\n checklist,\r\n handleSelectedChecklistChanged,\r\n handleSendNotification,\r\n previousChecklist,\r\n handleRevertChecklistState,\r\n getCheckListItemStateName,\r\n isEngagementAdminOrSysAdmin,\r\n handleDelete,\r\n canDelete,\r\n isRevertStateVisible,\r\n discrepancyCount,\r\n getPsqChecklistLink,\r\n lookupTypes }) => {\r\n\r\n handleSelectedChecklistChanged = handleSelectedChecklistChanged.bind(this, checklist, previousChecklist);\r\n handleSendNotification = handleSendNotification.bind(this, checklist);\r\n handleDelete = handleDelete.bind(this, checklist);\r\n\r\n let propertyType = checklist.propertyType;\r\n const propertyTypeObject = lookupTypes.propertyTypes.find(pt => pt.propertyTypeID === checklist.propertyType);\r\n if(propertyTypeObject != undefined && propertyTypeObject != null){\r\n propertyType = propertyTypeObject.propertyTypeDescription === \"Not Selected\" ? \"\" : propertyTypeObject.propertyTypeDescription;\r\n }\r\n\r\n let className = \"\";\r\n if (selected) {\r\n className = \"selected\";\r\n }\r\n\r\n let stateName = getCheckListItemStateName(checklist.checklistStateID);\r\n\r\n let revertChecklistStateDisabled = false;\r\n if (stateName == \"Created\") {\r\n revertChecklistStateDisabled = true;\r\n }\r\n\r\n return (\r\n \r\n \r\n {(selected &&  ) ||\r\n \r\n \r\n \r\n }\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n {checklist.propertyName}\r\n {propertyType}\r\n {checklist.questionnaireTemplateName}\r\n {checklist.propertyManagerName}\r\n {checklist.sentDate && ||  }\r\n {checklist.createdDate && ||  }\r\n {stateName === \"Sent\" ? \"Email Sent\" : stateName}{discrepancyCount > 0 && {discrepancyCount} || null}\r\n {checklist.reviewCompletedDate && ||  }\r\n {(selected && (stateName.toLowerCase() === \"created\" || stateName.toLowerCase() === \"in progress\") &&\r\n \r\n \r\n \r\n ) ||  }\r\n {isRevertStateVisible ?\r\n {(selected &&\r\n \r\n \r\n \r\n ) ||  }\r\n : null}\r\n {(canDelete && \r\n \r\n \r\n \r\n ) || null}\r\n \r\n );\r\n};\r\n\r\nPsqChecklistSummaryItem.propTypes = {\r\n selected: PropTypes.bool,\r\n checklist: PropTypes.object,\r\n handleSelectedChecklistChanged: PropTypes.func,\r\n handleSendNotification: PropTypes.func,\r\n previousChecklist: PropTypes.object,\r\n handleRevertChecklistState: PropTypes.func,\r\n getCheckListItemStateName: PropTypes.func,\r\n isEngagementAdminOrSysAdmin: PropTypes.bool,\r\n handleDelete: PropTypes.func,\r\n canDelete: PropTypes.bool,\r\n isRevertStateVisible: PropTypes.bool,\r\n discrepancyCount: PropTypes.number,\r\n getPsqChecklistLink: PropTypes.func\r\n};\r\n\r\nconst PsqChecklistSummary = ({\r\n activeChecklist,\r\n previousChecklist,\r\n checklists,\r\n handleSelectedChecklistChanged,\r\n handleSendNotification,\r\n handleRevertChecklistState,\r\n getCheckListItemStateName,\r\n isEngagementAdminOrSysAdmin,\r\n handleDelete,\r\n canDelete,\r\n canRevertState,\r\n getPsqChecklistLink,\r\n lookupTypes }) => {\r\n if (checklists === undefined || checklists === null || checklists.length === 0) {\r\n return (
    There are no checklists to display
    );\r\n }\r\n\r\n let isRevertStateVisible = false;\r\n if (isEngagementAdminOrSysAdmin && canRevertState) {\r\n isRevertStateVisible = true;\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n Property Survey Questionnaire Checklist\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isRevertStateVisible ? : null}\r\n {(canDelete && ) || null}\r\n \r\n \r\n \r\n {checklists.map(checklist =>\r\n )}\r\n \r\n
    SelectProperty NameProperty TypeCustom TemplateProperty ManagerDate SentDate CreatedStatusReview CompletedSendRevert StateDelete
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nPsqChecklistSummary.propTypes = {\r\n checklists: PropTypes.array,\r\n activeChecklist: PropTypes.object,\r\n previousChecklist: PropTypes.object,\r\n handleSelectedChecklistChanged: PropTypes.func,\r\n handleSendNotification: PropTypes.func,\r\n handleRevertChecklistState: PropTypes.func,\r\n getCheckListItemStateName: PropTypes.func,\r\n isEngagementAdminOrSysAdmin: PropTypes.bool,\r\n handleDelete: PropTypes.func,\r\n canDelete: PropTypes.bool,\r\n canRevertState: PropTypes.bool,\r\n getPsqChecklistLink: PropTypes.func\r\n};\r\n\r\nexport default PsqChecklistSummary;","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\n\r\nconst PsqProviderSummaryItem = ({ id, values }) => {\r\n\r\n if (values === undefined || values === null || values.length <= 1) {\r\n return null;\r\n }\r\n\r\n let newValues = [];\r\n for (let i = 1; i < values.length; i++) {\r\n newValues.push(values[i]);\r\n }\r\n\r\n return (\r\n
    \r\n {newValues.map(value =>
    {value}
    )}\r\n
    \r\n );\r\n};\r\n\r\nPsqProviderSummaryItem.propTypes = {\r\n id: PropTypes.number,\r\n values: PropTypes.array\r\n};\r\n\r\nconst PsqProviderSummary = ({ checklist }) => {\r\n\r\n let hasAnswers = false;\r\n let items = [];\r\n\r\n if (checklist !== undefined && checklist !== null && checklist.content !== undefined) {\r\n let section = checklist\r\n .content.find(x => x.type === \"PsqSection2\");\r\n\r\n if (section && Array.isArray(section.items)) {\r\n for (let i = 1; i < section.items.length; i++) {\r\n items.push(section.items[i]);\r\n }\r\n }\r\n\r\n for (let i = 0; i < items.length; i++) {\r\n if (items[i].selectedAnswers.length > 0 && (items[i].selectedAnswers[0] !== \"\" || items[i].selectedAnswers.length > 1)) {\r\n hasAnswers = true;\r\n }\r\n }\r\n }\r\n\r\n if (!hasAnswers) {\r\n return(
    No provider information has been defined.
    );\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 {items.map(item => item.selectedAnswers.length > 0 && item.selectedAnswers[0] !== \"\" && )}\r\n \r\n
    NameProvider Type
    {item.selectedAnswers[0]}
    \r\n );\r\n};\r\n\r\nPsqProviderSummary.propTypes = {\r\n checklist: PropTypes.object\r\n};\r\n\r\nexport default PsqProviderSummary;","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifButton,\r\n MotifIcon\r\n} from '@ey-xd/motif-react';\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\nimport { addAttribute } from '../../common/Attribute';\r\n\r\nconst DeleteChecklistServiceProviderModal = ({\r\n showDeleteChecklistServiceProviderModal,\r\n toggleShowDeleteChecklistServiceProviderModal,\r\n deleteServiceProvider\r\n}) => {\r\n useEffect(() => {\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", 'type', 'button');\r\n });\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n\r\n const closeButtonProps = {\r\n title: `Close Delete Service Provider modal`,\r\n ariaLabel: `Close Delete Service Provider modal`,\r\n dataTestid: 'close',\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Delete Service Provider\r\n \r\n \r\n \r\n Are you sure you want to delete this Service Provider?\r\n \r\n \r\n Cancel\r\n Delete\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nDeleteChecklistServiceProviderModal.propTypes = {\r\n showDeleteChecklistServiceProviderModal: PropTypes.bool,\r\n toggleShowDeleteChecklistServiceProviderModal: PropTypes.bool,\r\n deleteServiceProvider: PropTypes.func\r\n};\r\n\r\nexport default DeleteChecklistServiceProviderModal;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as commonActions from '../../actions/commonActions';\r\nimport * as checklistActions from '../../actions/checklistActions';\r\nimport * as propertyActions from '../../actions/propertyActions';\r\nimport * as periodActions from '../../actions/periodActions';\r\nimport * as authActions from '../../actions/authActions';\r\nimport * as reitActions from '../../actions/reitActions';\r\nimport * as reportActions from '../../actions/reportActions';\r\nimport * as lookupTypeActions from \"../../actions/lookupTypeActions\";\r\nimport * as fileActions from '../../actions/fileActions';\r\nimport * as formValidators from '../../scripts/formValidators';\r\nimport ChecklistNavigation from '../../components/reits/ChecklistNavigation';\r\nimport EditChecklistSection from '../../components/reits/EditChecklistSection';\r\nimport PsqChecklistSummary from '../../components/reits/PsqChecklistSummary';\r\nimport ChecklistCounters from '../../components/reits/ChecklistCounters';\r\nimport { Segment, Button, Modal, Header, Icon, Grid } from 'semantic-ui-react';\r\nimport ChecklistCompleteModal from '../../components/reits/ChecklistCompleteModal';\r\nimport PsqCreateChecklistModal from '../../components/reits/PsqCreateChecklistModal';\r\nimport ChecklistPageBase from './ChecklistPageBase';\r\nimport PsqProviderSummary from '../../components/reits/PsqProviderSummary';\r\n\r\nimport * as customQuestionActions from \"../../actions/customQuestionActions\";\r\nimport { Button as BootstrapButton, Dropdown as BootstrapDropdown, ButtonGroup, DropdownButton } from 'react-bootstrap';\r\nimport { MotifToggleSwitch, MotifIcon, MotifButton, MotifDropdown, MotifDropdownItem } from '@ey-xd/motif-react';\r\nimport { IconoirNavArrowDown } from '@ey-xd/motif-icon';\r\nimport ShowCommentsTable from \"../../components/customChecklistTemplate/ShowCommentsTable\";\r\nimport ShowAttachmentTable from '../../components/customChecklistTemplate/ShowAttachmentTable';\r\nimport ShowDiscrepanciesTable from '../../components/customChecklistTemplate/ShowDiscrepanciesTable';\r\nimport DeleteChecklistDetailGridRowModal from '../../components/reits/DeleteChecklistDetailGridRowModal';\r\nimport * as checklistCountRequest from '../../constants/checklistNavigationTabs';\r\nimport DeleteChecklistServiceProviderModal from '../../components/reits/DeleteChecklistServiceProviderModal';\r\nimport { withRouter } from '../../common/withRouter';\r\n\r\n/**\r\n * PsqChecklistRecord container component\r\n * @extends {ChecklistPageBase}\r\n */\r\nexport class PsqChecklistRecord extends ChecklistPageBase {\r\n /**\r\n * Creates a new PsqChecklistRecord\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n this.setActiveItem = this.setActiveItem.bind(this);\r\n this.state.psqProviderSummary = [];\r\n this.state.showAllQuestions = true;\r\n this.state.showUnansweredQuestions = false;\r\n this.state.canEdit = true;\r\n this.state.isSubNavigation = false;\r\n this.state.newQuestionIds = [];\r\n this.state.checklistDropdownOpen = false;\r\n // This represents whether to set Checklist record as current record(based on Checklist Id provided in Route Parameter)\r\n this.state.setChecklistRecordAsCurrentRecord = true;\r\n this.state.selectedAttachmentId = null;\r\n this.state.selectedCommentId = null;\r\n this.state.selectedServiceProvider = null;\r\n this.state.showDeleteChecklistGridRowModal = false;\r\n this.state.showDeleteChecklistServiceProviderModal = false;\r\n this.state.showDetails = true; // Will always be true as the checklist is displayed by default\r\n this.isEngagementAdminOrSysAdmin = this.isEngagementAdminOrSysAdmin.bind(\r\n this,\r\n );\r\n this.handleDismissErrorMessage = this.handleDismissErrorMessage.bind(this);\r\n this.handleAddPsqSection2Row = this.handleAddPsqSection2Row.bind(this);\r\n this.handleRemovePsqSection2Row = this.handleRemovePsqSection2Row.bind(\r\n this,\r\n );\r\n this.downloadChecklist = this.downloadChecklist.bind(this);\r\n this.state.gridColumnState = [];\r\n this.handleGridColumnStateChange = this.handleGridColumnStateChange.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.state.questionComments = [];\r\n this.state.attachmentDetails = [];\r\n this.state.discrepanciesDetail = [];\r\n this.state.deleteFor = null;\r\n this.handleGridRowDeleteById = this.handleGridRowDeleteById.bind(this);\r\n this.handleDeleteAttachment =\r\n this.handleDeleteAttachment.bind(this);\r\n this.toggleShowChecklistGridRowDelete = this.toggleShowChecklistGridRowDelete.bind(this);\r\n this.toggleShowDeleteChecklistServiceProvider = this.toggleShowDeleteChecklistServiceProvider.bind(this);\r\n this.handleServiceProviderDelete = this.handleServiceProviderDelete.bind(this);\r\n this.deleteAttachment = this.deleteAttachment.bind(this);\r\n this.deleteComment = this.deleteComment.bind(this);\r\n this.handleDownloadAttachmentClick = this.handleDownloadAttachmentClick.bind(this);\r\n }\r\n\r\n /**\r\n * Download the checklist\r\n */\r\n\r\n downloadChecklist(downloadChecklistType) {\r\n const filename = `${this.props.period.reportPeriodDescription.replace(' ', '')}_${this.props.reit.reitName}_PSQ.docx`\r\n this.props.commonActions.clearErrorResponse();\r\n this.props.reportActions.downloadChecklist('reitName=' + this.props.reit.reitName + ',periodDesc=' + this.props.period.reportPeriodDescription, this.props.periodId, 'PSQ', this.props.psqActiveChecklist.checklistID, downloadChecklistType, filename);\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.props.propertyActions.fetchPropertiesByPeriod(this.props.periodId);\r\n this.props.lookupTypeActions.fetchPropertyTypes();\r\n this.props.checklistActions.fetchPsqChecklistById(this.props.psqChecklistId, true)\r\n .then(() => this.getChecklistCount()); // For performance optimization\r\n this.props.checklistActions.fetchLastServiceProviderQuestionId();\r\n this.props.checklistActions.fetchChecklistDiscrepancies(this.props.clientId, this.props.psqChecklistId);\r\n checklistActions\r\n .getReportPeriodSummary(this.props.periodId)\r\n .then(request => {\r\n return request.json();\r\n })\r\n .then(json => {\r\n if (json) {\r\n this.setState({ reportPeriodSummary: json });\r\n }\r\n });\r\n\r\n // Set the period if it doesn't exist\r\n if (!this.props.period) {\r\n this.props.periodActions.fetchPeriodById(this.props.periodId);\r\n } else {\r\n this.setCanEdit(this.props.period);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.checklistActions.clearDeletedChecklist();\r\n this.setState({ questionComments: [], attachmentDetails: [], discrepanciesDetail: [] });\r\n }\r\n\r\ncomponentDidUpdate(prevProps) {\r\n if (this.props.psqActiveChecklist !== prevProps.psqActiveChecklist) {\r\n \r\n let checklist = this.props.psqActiveChecklist;\r\n \r\n this.setState({ checklist: checklist });\r\n \r\n const data = this.props.psqChecklists.find(x => x.id === checklist.id);\r\n if (data) {\r\n this.setState({ psqProviderSummary: data.providerSummaries });\r\n } else {\r\n this.setState({ psqProviderSummary: [] });\r\n }\r\n \r\n // set disabled sections\r\n if (\r\n this.props.psqActiveChecklist.content !== undefined &&\r\n this.props.psqActiveChecklist.content.length > 0\r\n ) {\r\n this.disableSections(checklist);\r\n }\r\n \r\n if (\r\n this.state.activeItem == null &&\r\n this.props.psqActiveChecklist.content !== undefined &&\r\n this.props.psqActiveChecklist.content.length > 0\r\n ) {\r\n for (let i = 0; i < this.props.psqActiveChecklist.content.length; i++) {\r\n if (\r\n this.state.disabledSections.find(\r\n x => x === this.props.psqActiveChecklist.content[i].id,\r\n ) === undefined\r\n ) {\r\n this.setState({\r\n activeItem: this.props.psqActiveChecklist.content[0],\r\n });\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n \r\n // Populate previous answers on active checklist\r\n if (\r\n this.props.previousPsqChecklist !== prevProps.previousPsqChecklist &&\r\n this.props.psqActiveChecklist\r\n ) {\r\n this.props.checklistActions.setActiveChecklist(\r\n this.props.psqActiveChecklist,\r\n this.props.previousPsqChecklist);\r\n }\r\n \r\n if (\r\n this.props.psqActiveChecklist &&\r\n (!prevProps.psqActiveChecklist ||\r\n !('mappedPreviousAnswers' in this.props.psqActiveChecklist))\r\n ) {\r\n if (\r\n this.props.psqActiveChecklist !== prevProps.psqActiveChecklist &&\r\n prevProps.previousPsqChecklist\r\n ) {\r\n this.props.checklistActions.setActiveChecklist(\r\n this.props.psqActiveChecklist,\r\n this.props.previousPsqChecklist,\r\n );\r\n }\r\n }\r\n \r\n if (this.props.customQuestionnaireTemplates !== prevProps.customQuestionnaireTemplates && this.props.customQuestionnaireTemplates && prevProps.customQuestionnaireTemplates) {\r\n const list = Object.assign([], this.props.customQuestionnaireTemplates);\r\n this.setState({ customQuestionnaireTemplates: list });\r\n }\r\n \r\n // Refresh attachment details table post addition/deletion of attachments\r\n if (this.props.attachmentDetails !== prevProps.attachmentDetails) {\r\n if (this.props.psqActiveChecklist && this.props.psqActiveChecklist !== null && this.props.psqActiveChecklist.content.length > 0) {\r\n const updatedAttachmentDetails = this.props.attachmentDetails.map((attachment) => {\r\n const updatedQuestionText = this.getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId({ ...this.props.psqActiveChecklist }, attachment.questionID);\r\n \r\n return {\r\n ...attachment,\r\n questionText: updatedQuestionText === '' ? attachment.questionText : updatedQuestionText\r\n };\r\n });\r\n \r\n this.setState({ attachmentDetails: updatedAttachmentDetails });\r\n }\r\n }\r\n \r\n // Refresh comments details table post addition/deletion of attachments\r\n if (this.props.questionComments !== prevProps.questionComments) {\r\n if (this.props.psqActiveChecklist && this.props.psqActiveChecklist !== null && this.props.psqActiveChecklist.content.length > 0) {\r\n const updatedCommentsDetails = this.props.questionComments.map((comment) => {\r\n const updatedQuestionText = this.getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId({ ...this.props.psqActiveChecklist }, comment.checklistSectionQuestionID);\r\n \r\n return {\r\n ...comment,\r\n questionText: updatedQuestionText === '' ? comment.questionText : updatedQuestionText\r\n };\r\n });\r\n \r\n this.setState({ questionComments: updatedCommentsDetails });\r\n }\r\n }\r\n\r\n // Set Can Edit based on period status\r\n if (prevProps.period !== this.props.period) {\r\n this.setCanEdit(this.props.period);\r\n }\r\n }\r\n\r\n setGridColumnState() {\r\n let localState = '';\r\n if (this.state.activeItem === 'Comments') {\r\n localState = 'REITSuiteShowCommentsColumnState';\r\n }\r\n else if (this.state.activeItem === 'Attachments') {\r\n localState = 'REITSuiteShowAttachmentColumnState';\r\n }\r\n else if (this.state.activeItem === 'Discrepancies') {\r\n localState = 'REITSuiteShowDiscrepanyColumnState';\r\n }\r\n var columnState = localStorage.getItem(localState);\r\n if (columnState) {\r\n this.setState({ gridColumnState: JSON.parse(columnState) });\r\n }\r\n else {\r\n this.setState({ gridColumnState: [{ colId: '-1' }] });\r\n }\r\n }\r\n\r\n /**\r\n * Reset AG-Grid column state\r\n * @returns {undefined}\r\n */\r\n resetGridColumnState() {\r\n let localState = '';\r\n if (this.state.activeItem === 'Comments') {\r\n localState = 'REITSuiteShowCommentsColumnState';\r\n }\r\n else if (this.state.activeItem === 'Attachments') {\r\n localState = 'REITSuiteShowAttachmentColumnState';\r\n }\r\n else if (this.state.activeItem === 'Discrepancies') {\r\n localState = 'REITSuiteShowDiscrepanyColumnState';\r\n }\r\n localStorage.removeItem(localState);\r\n this.setState({ gridColumnState: [] });\r\n }\r\n\r\n /**\r\n * Handle Grid column state chagne\r\n * @returns {undefined}\r\n */\r\n handleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n }\r\n\r\n handleGridChanges(gridRowData) {\r\n let rowData = [];\r\n\r\n switch (this.state.activeItem) {\r\n case 'Comments': {\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n snapshotSectionName: x.snapshotSectionName,\r\n questionText: x.questionText,\r\n commentText: x.commentText,\r\n commentedBy: x.commentedBy,\r\n dateCommented: x.dateCommented,\r\n }\r\n });\r\n break;\r\n }\r\n case 'Attachments': {\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n snapshotSectionName: x.snapshotSectionName,\r\n questionText: x.questionText,\r\n attachedFileName: x.attachedFileName,\r\n uploadedBy: x.uploadedBy,\r\n dateUploaded: x.dateUploaded,\r\n }\r\n });\r\n break;\r\n }\r\n case 'Discrepancies': {\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n sectionName: x.sectionName,\r\n questionText: x.questionText,\r\n discrepancyMessage: x.discrepancyMessage,\r\n }\r\n });\r\n break;\r\n }\r\n }\r\n this.setState({ gridCurrentState: rowData });\r\n }\r\n\r\n\r\n handleDismissErrorMessage() {\r\n this.props.commonActions.clearFormErrors('psqcreatechecklistmodal');\r\n }\r\n\r\n setCanEdit(period) {\r\n const isEnabled = periodActions.isReportingEnabled(period);\r\n this.setState({ canEdit: isEnabled });\r\n }\r\n\r\n setActiveItem(e, { name }) {\r\n const item = this.props.psqActiveChecklist.content.find(\r\n x => x.title === name,\r\n );\r\n if (this.state.disabledSections.find(x => x === item.id) === undefined) {\r\n this.setState({ activeItem: item, isSubNavigation: false });\r\n }\r\n\r\n if (item === undefined && name) {\r\n this.setState({ activeItem: name, isSubNavigation: true });\r\n }\r\n }\r\n\r\n handleAddPsqSection2Row() {\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n const psqSection2 = checklist.content.find(x => x.type === 'PsqSection2');\r\n let items = psqSection2.items;\r\n if (items != null) {\r\n // Get the questions of type \"PsqSection2AdditionalServices\"\r\n const additionalServicesItems = items.filter(item => item.itemType === \"PsqSection2AdditionalServices\");\r\n\r\n // Get the last Service Provider exists on checklist.\r\n let lastItem = additionalServicesItems[additionalServicesItems.length - 1];\r\n const questionSortOrder = lastItem.questionSortOrder + 1;\r\n\r\n // Insert Service Provider question in ChecklistSectionQuestion table\r\n this.props.checklistActions.insertPsqServiceProviderQuestion({\r\n checklistId: this.props.psqChecklistId,\r\n checklistSectionId: psqSection2.id,\r\n lastServiceProviderQuestionId: lastItem.id,\r\n questionSortOrder: questionSortOrder\r\n }, null)\r\n .then((addServiceProviderQuestionResponse) => {\r\n // Get Service Provider Question JSON with actual IDs populated from addServiceProviderQuestionResponse\r\n let newItem = this.getServiceQuestionJSON(addServiceProviderQuestionResponse, psqSection2.sectionSortOrder, questionSortOrder);\r\n\r\n // Insert this Service Provider question into checklist\r\n checklist.content\r\n .find(x => x.type === 'PsqSection2')\r\n .items.push(newItem);\r\n\r\n this.setState({ checklist: checklist });\r\n\r\n // Append all these new question ids into state\r\n this.setState({ newQuestionIds: [...this.state.newQuestionIds, ...addServiceProviderQuestionResponse.map(q => q.questionId)] });\r\n\r\n this.disableSections(checklist);\r\n });\r\n }\r\n }\r\n\r\n handleRemovePsqSection2Row() {\r\n const item = this.state.selectedServiceProvider;\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n let section = checklist.content.find(x => x.type === 'PsqSection2');\r\n for (let i = 1; i < section.items.length; i++) {\r\n if (section.items[i].id === item.id) {\r\n let questionIdsToRemove = [item.id];\r\n questionIdsToRemove = [...questionIdsToRemove, ...item.children.map(x => x.id)];\r\n\r\n // Remove Service Provider question and it's childs from ChecklistSectionQuestion table\r\n this.props.checklistActions.removePsqServiceProviderQuestion({\r\n checklistId: this.props.psqChecklistId,\r\n checklistSectionId: section.id,\r\n serviceProviderQuestionIdsToRemove: [item.checklistSectionQuestionID, ...item.children.map(x => x.checklistSectionQuestionID)]\r\n }, null)\r\n .then((removeServiceProviderQuestionResponse) => {\r\n // Remove these question ids from state\r\n this.setState({ newQuestionIds: this.state.newQuestionIds.filter(x => !questionIdsToRemove.includes(x)) });\r\n\r\n // Remove the Service Provider question from checklist\r\n checklist.content\r\n .find(x => x.type === 'PsqSection2')\r\n .items.splice(i, 1);\r\n\r\n section = this.reArrangeSortOrder(section);\r\n this.setState({ checklist: checklist });\r\n this.disableSections(checklist);\r\n });\r\n\r\n break;\r\n }\r\n }\r\n this.toggleShowDeleteChecklistServiceProvider();\r\n }\r\n\r\n reArrangeSortOrder(section) {\r\n for (let j = 0; j < section.items.length; j++) {\r\n const newSortOrder = j + 1;\r\n section.items[j].questionSortOrder = newSortOrder; // assign new question sort order\r\n //Prepare new question sort order to display with question text\r\n const sortOrder = section.sectionSortOrder + \".\" + newSortOrder;\r\n\r\n //Split question title to seprate question number and text\r\n const [oldQuestionSortOrder, questionText] =\r\n section.items[j].title.split(/\\s+(.*)/);\r\n\r\n if (\r\n section.items[j].itemType == \"PsqSection2AdditionalServices\" &&\r\n sortOrder != oldQuestionSortOrder\r\n ) {\r\n //Concatenate new sort order with question text\r\n section.items[j].title = sortOrder + \" \" + questionText;\r\n let StartIndex = 1;\r\n //Rearrange child question number\r\n section.items[j].children.forEach((element) => {\r\n const [childOrder, childQuestionText] =\r\n element.title.split(/\\s+(.*)/);\r\n element.title =\r\n sortOrder + \".\" + StartIndex + \" \" + childQuestionText;\r\n StartIndex = StartIndex + 1;\r\n });\r\n }\r\n }\r\n return section;\r\n }\r\n\r\n getChecklistCount() {\r\n this.getAttachmentDetails();\r\n this.getCommentsDetails();\r\n\r\n this.props.checklistActions\r\n .fetchChecklistNavCounts(\r\n this.props.clientId,\r\n this.props.psqChecklistId,\r\n checklistCountRequest.ChecklistCountRequest\r\n )\r\n .then((data) => {\r\n this.setState({ counters: data });\r\n });\r\n }\r\n\r\n getAttachmentDetails() {\r\n this.props.checklistActions.fetchAttachmentDetail(this.props.clientId,\r\n this.props.psqChecklistId, null)\r\n .then(() => {\r\n if (this.props.psqActiveChecklist && this.props.psqActiveChecklist !== null && this.props.psqActiveChecklist.content.length > 0) {\r\n const updatedAttachmentDetails = this.props.attachmentDetails.map((attachment) => {\r\n const updatedQuestionText = this.getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId({ ...this.props.psqActiveChecklist }, attachment.questionID);\r\n\r\n return {\r\n ...attachment,\r\n questionText: updatedQuestionText === '' ? attachment.questionText : updatedQuestionText\r\n };\r\n });\r\n\r\n this.setState({ attachmentDetails: updatedAttachmentDetails });\r\n }\r\n });\r\n }\r\n\r\n getCommentsDetails() {\r\n this.props.checklistActions.fetchQuestionComments(this.props.clientId, this.props.psqChecklistId)\r\n .then(() => {\r\n if (this.props.psqActiveChecklist && this.props.psqActiveChecklist !== null && this.props.psqActiveChecklist.content.length > 0) {\r\n const updatedCommentsDetails = this.props.questionComments.map((comment) => {\r\n const updatedQuestionText = this.getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId({ ...this.props.psqActiveChecklist }, comment.checklistSectionQuestionID);\r\n\r\n return {\r\n ...comment,\r\n questionText: updatedQuestionText === '' ? comment.questionText : updatedQuestionText\r\n };\r\n });\r\n\r\n this.setState({ questionComments: updatedCommentsDetails });\r\n }\r\n });\r\n }\r\n\r\n handleGridRowDeleteById(id) {\r\n let activeTab = this.state.activeItem;\r\n if (this.state.activeItem === 'Attachments') {\r\n this.setState({ selectedAttachmentId: id });\r\n\r\n }\r\n else if (this.state.activeItem === 'Comments') {\r\n this.setState({ selectedCommentId: id });\r\n }\r\n else {\r\n activeTab = 'Attachments';\r\n this.setState({ selectedAttachmentId: id });\r\n }\r\n this.setState({ deleteFor: activeTab });\r\n this.toggleShowChecklistGridRowDelete();\r\n }\r\n\r\n handleServiceProviderDelete(item) {\r\n this.setState({ selectedServiceProvider: item });\r\n this.toggleShowDeleteChecklistServiceProvider();\r\n }\r\n\r\n toggleShowDeleteChecklistServiceProvider() {\r\n this.setState({\r\n showDeleteChecklistServiceProviderModal: !this.state.showDeleteChecklistServiceProviderModal\r\n });\r\n }\r\n\r\n toggleShowChecklistGridRowDelete() {\r\n const showToggle = !this.state.showDeleteChecklistGridRowModal;\r\n this.setState({\r\n showDeleteChecklistGridRowModal: showToggle,\r\n });\r\n }\r\n\r\n deleteAttachment() {\r\n const clientId = this.props.clientId;\r\n this.props.checklistActions\r\n .deleteAttachment(\r\n this.state.selectedAttachmentId,\r\n clientId\r\n )\r\n .then((data) => {\r\n this.getAttachmentDetails();\r\n\r\n this.props.checklistActions\r\n .fetchChecklistNavCounts(\r\n this.props.clientId,\r\n this.props.psqChecklistId,\r\n checklistCountRequest.ChecklistCountRequest\r\n );\r\n this.toggleShowChecklistGridRowDelete();\r\n })\r\n .catch((error) => {\r\n this.toggleShowChecklistGridRowDelete();\r\n });\r\n }\r\n\r\n handleDownloadAttachmentClick(attachmentGuid, attachmentName) {\r\n return fileActions.downloadChecklistQuestionnaireAttachment(this.props.psqChecklistId, this.props.clientId, attachmentGuid, encodeURIComponent(attachmentName), null);\r\n\r\n }\r\n\r\n\r\n deleteComment() {\r\n const clientId = this.props.clientId;\r\n this.props.checklistActions\r\n .deleteComment(\r\n this.state.selectedCommentId,\r\n clientId\r\n )\r\n .then((data) => {\r\n this.getCommentsDetails();\r\n this.props.checklistActions\r\n .fetchChecklistNavCounts(\r\n this.props.clientId,\r\n this.props.psqChecklistId,\r\n checklistCountRequest.ChecklistCountRequest\r\n );\r\n\r\n this.toggleShowChecklistGridRowDelete();\r\n })\r\n .catch((error) => {\r\n this.toggleShowChecklistGridRowDelete();\r\n });\r\n }\r\n\r\n getIsGridNoDataFound(name) {\r\n if ((name === \"Comments\"\r\n && this.props.questionComments\r\n && this.props.questionComments.length === 0)\r\n || (name === \"Attachments\"\r\n && this.props.attachmentDetails\r\n && this.props.attachmentDetails.length === 0)\r\n || (name === \"Discrepancies\"\r\n && this.props.discrepanciesDetail\r\n && this.props.discrepanciesDetail.length === 0)) {\r\n return true;\r\n }\r\n else { return false; }\r\n }\r\n\r\n\r\n isChecklistContentEnabled() {\r\n return this.props.psqActiveChecklist !== null &&\r\n this.props.psqActiveChecklist.checklistStateID !== undefined &&\r\n this.props.psqActiveChecklist.checklistStateID.toLowerCase() !== 'completed' &&\r\n this.state.canEdit;\r\n }\r\n\r\n getDetails() {\r\n const isEnabled = this.isChecklistContentEnabled();\r\n\r\n if (this.state.showDetails && this.state.checklist !== null) {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {!this.state.isSubNavigation && (\r\n <>\r\n {this.state.checklist.content.map(section => (\r\n \r\n ))}\r\n\r\n\r\n \r\n )}\r\n {this.state.isSubNavigation && (\r\n <>\r\n
    {this.state.activeItem}
    \r\n\r\n {this.getIsGridNoDataFound(this.state.activeItem) &&\r\n
    No {this.state.activeItem.toLowerCase()} found for this checklist.
    \r\n }\r\n\r\n {this.state.activeItem === 'Comments' &&\r\n \r\n }\r\n {this.state.activeItem === 'Attachments' &&\r\n \r\n }\r\n {this.state.activeItem === 'Discrepancies' &&\r\n \r\n }\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 isEngagementAdminOrSysAdmin() {\r\n let isEngAdminOrSysAdmin = false;\r\n let currentUserAuthorizations = this.props.currentUserAuthorizations;\r\n if (Array.isArray(currentUserAuthorizations)) {\r\n isEngAdminOrSysAdmin =\r\n authActions.isSystemAdministrator(currentUserAuthorizations) ||\r\n authActions.isEngagementAdministrator(currentUserAuthorizations, this.props.client.id);\r\n }\r\n\r\n return isEngAdminOrSysAdmin;\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n\r\n let isEngAdminOrSysAdmin = false;\r\n isEngAdminOrSysAdmin = this.isEngagementAdminOrSysAdmin();\r\n\r\n if (this.props.psqActiveChecklist === null) {\r\n return (\r\n
    \r\n

    {this.getPsqQuestionnaireTitle()}

    \r\n {!this.state.canEdit &&
    Reporting Closed
    }\r\n\r\n
    \r\n \r\n this.setState({ checklistDropdownOpen: false })}\r\n trigger={\r\n this.setState({ checklistDropdownOpen: !this.state.checklistDropdownOpen })}\r\n aria-controls={'checklist-dropdown'}\r\n id={'checklist-dropdown-trigger'}\r\n aria-expanded={this.state.checklistDropdownOpen}\r\n aria-label=\"Download checklist dropdown\"\r\n >\r\n Download Checklist \r\n \r\n }\r\n >\r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITH_ANSWERS'); }}>\r\n With Answers Only\r\n \r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITH_ANSWERS_COMMENTS') }}>\r\n With Answers And Comments\r\n \r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITHOUT_ANSWERS'); }}>\r\n Without Answers or Comments\r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {this.getPsqQuestionnaireTitle()}

    \r\n {!this.state.canEdit &&
    Reporting Closed
    }\r\n {this.props.psqActiveChecklist && (this.props.psqActiveChecklist.checklistTemplateID < 0 ? \"\" :\r\n
    \r\n
    Property Name: {this.props.psqActiveChecklist.propertyName}
    \r\n
    Property Address: {this.props.psqActiveChecklist.propertyFullAddress}
    \r\n
    )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n this.setState({ checklistDropdownOpen: false })}\r\n trigger={\r\n this.setState({ checklistDropdownOpen: !this.state.checklistDropdownOpen })}\r\n aria-controls={'checklist-dropdown'}\r\n id={'checklist-dropdown-trigger'}\r\n aria-expanded={this.state.checklistDropdownOpen}\r\n aria-label=\"Download checklist dropdown\"\r\n >\r\n Download Checklist \r\n \r\n }\r\n >\r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITH_ANSWERS'); }}>\r\n With Answers Only\r\n \r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITH_ANSWERS_COMMENTS') }}>\r\n With Answers And Comments\r\n \r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITHOUT_ANSWERS'); }}>\r\n Without Answers or Comments\r\n \r\n \r\n \r\n\r\n \r\n Review Complete\r\n \r\n \r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Display Unanswered Questions Only:\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {(this.state.showDetails &&\r\n this.props.psqActiveChecklist &&\r\n this.props.previousPsqChecklist &&\r\n Array.isArray(this.props.previousPsqChecklist.content) &&\r\n this.props.previousPsqChecklist.content.length > 0 && (\r\n
    \r\n
    \r\n Display Changed Answers:\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.getDetails()}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nPsqChecklistRecord.propTypes = {\r\n client: PropTypes.object.isRequired,\r\n reit: PropTypes.object.isRequired,\r\n periodId: PropTypes.number.isRequired,\r\n psqChecklists: PropTypes.array,\r\n psqActiveChecklist: PropTypes.object,\r\n previousPsqChecklist: PropTypes.object,\r\n checklistActions: PropTypes.object,\r\n reitActions: PropTypes.object,\r\n propertyActions: PropTypes.object,\r\n fileActions: PropTypes.object,\r\n properties: PropTypes.array,\r\n periodActions: PropTypes.object.isRequired,\r\n currentUserAuthorizations: PropTypes.array,\r\n deletedChecklist: PropTypes.object,\r\n canDelete: PropTypes.bool,\r\n canRevertState: PropTypes.bool,\r\n pendingTasks: PropTypes.number,\r\n reportActions: PropTypes.object,\r\n lookupTypes: PropTypes.object,\r\n user: PropTypes.string,\r\n questionComments: PropTypes.array,\r\n attachmentDetail: PropTypes.array,\r\n discrepanciesDetail: PropTypes.array,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n* @param {Object} state The state\r\n* @param {Object} ownProps The properties of the component\r\n* @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n let clientId = Number.parseInt(ownProps.router.params.clientId);\r\n if (isNaN(clientId)) {\r\n clientId = 0;\r\n }\r\n\r\n return {\r\n user: state.authentication.currentUser,\r\n clientId: Number.parseInt(ownProps.router.params.clientId),\r\n client: state.client,\r\n periodId: Number.parseInt(ownProps.router.params.periodId),\r\n psqChecklistId: Number.parseInt(ownProps.router.params.psqChecklistId),\r\n psqChecklists: state.psqChecklists,\r\n psqActiveChecklist: state.psqActiveChecklist,\r\n previousPsqChecklist: state.previousPsqChecklist,\r\n checklistFiles: state.checklistFiles,\r\n reit: state.reit,\r\n properties: state.properties,\r\n period: state.period,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n deletedChecklist: state.deletedChecklist,\r\n canDelete:\r\n Array.isArray(state.currentUserAuthorizations) &&\r\n (authActions.isSystemAdministrator(state.currentUserAuthorizations) ||\r\n (state.client &&\r\n authActions.isEngagementAdministrator(\r\n state.currentUserAuthorizations,\r\n state.client.id,\r\n ))) &&\r\n (state.period.reportPeriodStatusDescription !== 'Closed to Reporting' &&\r\n state.period.reportPeriodStatusDescription !== 'Complete'),\r\n canRevertState:\r\n state.period.reportPeriodStatusDescription !== 'Closed to Reporting' &&\r\n state.period.reportPeriodStatusDescription !== 'Complete',\r\n pendingTasks: state.pendingTasks,\r\n customQuestionnaireTemplates: state.customQuestionnaire.templates,\r\n lookupTypes: state.lookupTypes,\r\n questionComments: state.questionComments,\r\n attachmentDetails: state.attachmentDetail,\r\n discrepanciesDetail: state.discrepanciesDetail,\r\n checklistCounter: state.checklistsCounter,\r\n lastServiceProviderQuestionId: state.lastServiceProviderQuestionId\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n* @param {Object} dispatch The action dispatcher\r\n* @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n checklistActions: bindActionCreators(checklistActions, dispatch),\r\n fileActions: bindActionCreators(fileActions, dispatch),\r\n propertyActions: bindActionCreators(propertyActions, dispatch),\r\n reitActions: bindActionCreators(reitActions, dispatch),\r\n periodActions: bindActionCreators(periodActions, dispatch),\r\n reportActions: bindActionCreators(reportActions, dispatch),\r\n customQuestionActions: bindActionCreators(customQuestionActions, dispatch),\r\n lookupTypeActions: bindActionCreators(lookupTypeActions, dispatch),\r\n };\r\n}\r\n\r\nexport default withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n )(PsqChecklistRecord)\r\n);\r\n","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { Button, Header } from \"semantic-ui-react\";\r\n\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n} from \"@ey-xd/motif-react\";\r\n\r\nconst ChecklistReadyModal = ({ handleModalAction, showModal }) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n return (\r\n handleModalAction({ target: { value: \"CANCEL\" } })} \r\n data-testid=\"ChecklistReady\"\r\n >\r\n handleModalAction({ target: { value: \"CANCEL\" } })} \r\n >\r\n \r\n Submit checklist for EY review\r\n \r\n \r\n\r\n \r\n

    \r\n Are you sure your checklist is ready? You will not be able to update\r\n the checklist once it is submitted for EY review. Click\r\n "Yes" to submit to EY, or "No" to return to\r\n editing.\r\n

    \r\n
    \r\n \r\n \r\n No\r\n \r\n \r\n Yes\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nChecklistReadyModal.propTypes = {\r\n showModal: PropTypes.bool,\r\n handleModalAction: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default ChecklistReadyModal;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as checklistActions from \"../../actions/checklistActions\";\r\nimport * as commonActions from \"../../actions/commonActions\";\r\nimport * as distributionActions from \"../../actions/distributionsTestActions\";\r\nimport * as periodActions from \"../../actions/periodActions\";\r\nimport * as serviceActions from \"../../actions/servicesActions\";\r\nimport * as trsActions from \"../../actions/trsActions\";\r\nimport * as fileActions from '../../actions/fileActions';\r\nimport * as reportActions from '../../actions/reportActions';\r\nimport ChecklistNavigation from \"../../components/reits/ChecklistNavigation\";\r\nimport ChecklistCounters from \"../../components/reits/ChecklistCounters\";\r\nimport ChecklistReadyModal from \"../../components/reits/ChecklistReadyModal\";\r\nimport ArqcCreateChecklistModal from \"../../components/reits/ArqcCreateChecklistModal\";\r\nimport ChecklistPageBase from \"./ChecklistPageBase\";\r\nimport ChecklistSendModal from \"../../components/reits/ChecklistSendModal\";\r\nimport ArqcChecklistDetailsForm from \"../../components/reits/ArqcChecklistDetailsForm\";\r\nimport { MotifIcon, MotifButton, MotifDropdown, MotifDropdownItem, MotifToggleSwitch } from '@ey-xd/motif-react';\r\nimport { IconoirNavArrowDown } from '@ey-xd/motif-icon';\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport * as clientActions from \"../../actions/clientActions\";\r\nimport * as customChecklistTemplateActions from '../../actions/customChecklistTemplateActions';\r\nimport DeleteChecklistDetailGridRowModal from '../../components/reits/DeleteChecklistDetailGridRowModal';\r\nimport ShowCommentsTable from \"../../components/customChecklistTemplate/ShowCommentsTable\";\r\nimport ShowAttachmentTable from '../../components/customChecklistTemplate/ShowAttachmentTable';\r\nimport ShowDiscrepanciesTable from '../../components/customChecklistTemplate/ShowDiscrepanciesTable';\r\nimport * as checklistCountRequest from '../../constants/checklistNavigationTabs';\r\nimport * as serviceConstants from '../../constants/services';\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport * as actionHelpers from '../../scripts/actionHelpers';\r\nimport { WebSocketContext } from '../../components/PermExternalApp';\r\n\r\n/**\r\n * ExternalArqcChecklistPage container component\r\n * @extends {React.Component}\r\n */\r\nexport class ExternalArqcChecklistPage extends ChecklistPageBase {\r\n static contextType = WebSocketContext;\r\n\r\n /**\r\n * Creates a new ExternalArqcChecklistPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n this.prevWS = null;\r\n\r\n this.setActiveItem = this.setActiveItem.bind(this);\r\n this.setChecklistState = this.setChecklistState.bind(this);\r\n this.handleAddArqcExhibitBRow = this.handleAddArqcExhibitBRow.bind(this);\r\n this.handleRemoveArqcExhibitBRow = this.handleRemoveArqcExhibitBRow.bind(this);\r\n this.handleArqcExhibitBItemAnswered = this.handleArqcExhibitBItemAnswered.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.handleExternalConfirmationAction = this.handleExternalConfirmationAction.bind(this);\r\n this.handleSaveExternalArqcChecklist = this.handleSaveExternalArqcChecklist.bind(this);\r\n this.populateMissingTaxableReitSubsidiaries = this.populateMissingTaxableReitSubsidiaries.bind(this);\r\n this.downloadChecklist = this.downloadChecklist.bind(this);\r\n\r\n this.state.showDetails = true;\r\n this.state.isSubmittedForEyReview = false;\r\n this.state.tbMode = 1;\r\n this.state.canEdit = true;\r\n this.state.period = null;\r\n this.state.checklistDropdownOpen = false;\r\n this.state.showAllQuestions = true;\r\n this.state.showUnansweredQuestions = false;\r\n this.state.selectedAttachmentId = null;\r\n this.state.selectedCommentId = null;\r\n this.state.showDeleteChecklistGridRowModal = false;\r\n this.state.gridColumnState = [];\r\n this.handleGridColumnStateChange = this.handleGridColumnStateChange.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.state.questionComments = [];\r\n this.state.attachmentDetails = [];\r\n this.state.discrepanciesDetail = [];\r\n this.state.deleteFor = null;\r\n this.handleGridRowDeleteById = this.handleGridRowDeleteById.bind(this);\r\n this.handleDeleteAttachment =\r\n this.handleDeleteAttachment.bind(this);\r\n this.toggleShowChecklistGridRowDelete = this.toggleShowChecklistGridRowDelete.bind(this);\r\n this.deleteAttachment = this.deleteAttachment.bind(this);\r\n this.deleteComment = this.deleteComment.bind(this);\r\n this.checkReportPeriodVisibilityConstraint = this.checkReportPeriodVisibilityConstraint.bind(this);\r\n this.handleSaveCommentExternal = this.handleSaveCommentExternal.bind(this);\r\n this.state.currentError = null;\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.props.commonActions.clearErrorResponse();\r\n\r\n if (!this.props.isExternalPermUser) {\r\n this.props.checklistActions.fetchExternalArqcChecklistsById(this.props.checklistId);\r\n }\r\n else {\r\n this.props.checklistActions.fetchExternalPermArqcChecklists(this.props.internalChecklistId).then((response) => {\r\n // Redirect unauthorized user to Access Denied Error page\r\n if (response && response.errorResponse && response.errorResponse.errorCode && response.errorResponse.errorCode.toLowerCase() == 'unauthorized') {\r\n this.props.router.navigate(`/ext/unauthorized`);\r\n }\r\n });\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n\r\n const ws = this.context;\r\n\r\n if(ws && this.prevWS !== ws){\r\n this.prevWS = ws;\r\n ws.on('userAuthorizationUpdate', (message) => {\r\n // If the user is external permanent user and the user is deleted for same client of the current checklist, reload the page\r\n if(message && message.ClientID && this.props && this.props.client && this.props.client.id && message.ClientID == this.props.client.id\r\n && message.ActionName && message.ActionName == 'delete' \r\n && this.props.isExternalPermUser){\r\n window.location.reload();\r\n }\r\n });\r\n }\r\n\r\n if (this.props.arqcActiveChecklist !== prevProps.arqcActiveChecklist || this.props.client !== prevProps.client) {\r\n if (this.props.arqcActiveChecklist && this.props.client && this.props.client.id !== undefined) {\r\n this.getChecklistCount(this.props.client.id, this.props.arqcActiveChecklist.checklistID);\r\n }\r\n }\r\n\r\n if (this.props.arqcActiveChecklist !== prevProps.arqcActiveChecklist) {\r\n const checklist = this.props.arqcActiveChecklist;\r\n\r\n if (checklist && checklist.reportPeriodID) {\r\n if (!prevProps.isExternalPermUser) {\r\n this.props.reitActions.fetchExternalReitLookupTypes(prevProps.checklistId, serviceConstants.ARQC_SERVICE);\r\n this.props.serviceActions.fetchExternalServicesByPeriod(checklist.reportPeriodID, prevProps.checklistId, serviceConstants.ARQC_SERVICE);\r\n this.props.trsActions.fetchExternalTrsByPeriod(checklist.reportPeriodID, prevProps.checklistId, serviceConstants.ARQC_SERVICE);\r\n\r\n // Get the period (so we know the status), to know if we can add comments\r\n this.props.periodActions.fetchExternalPeriodById(checklist.reportPeriodID, this.props.checklistId, this.props.arqcActiveChecklist.checklistTypeID);\r\n\r\n // Load REIT & Client for external user\r\n reitActions.fetchReitByPeriodId(checklist.reportPeriodID, prevProps.checklistId, serviceConstants.ARQC_SERVICE).then((reit) => {\r\n this.setState({ reit: reit });\r\n if (reit && reit.clients && reit.clients.length > 0) {\r\n this.props.clientActions.loadExternalClient(reit.clients[0].id, prevProps.checklistId, serviceConstants.ARQC_SERVICE);\r\n }\r\n });\r\n }\r\n else {\r\n this.props.reitActions.fetchReitLookupTypes();\r\n this.props.serviceActions.fetchServicesByPeriod(checklist.reportPeriodID);\r\n this.props.trsActions.fetchTrsByPeriod(checklist.reportPeriodID);\r\n periodActions.fastFetchPeriodById(checklist.reportPeriodID).then((period) => {\r\n if (period && period.trialBalanceModeID === 2) {\r\n this.setState({ tbMode: 2 });\r\n }\r\n this.setCanEdit(period);\r\n this.setState({ period: period });\r\n });\r\n\r\n reitActions.fetchReitByPeriodId(checklist.reportPeriodID).then((reit) => {\r\n this.setState({ reit: reit });\r\n if (reit && reit.clients && reit.clients.length > 0) {\r\n this.props.clientActions.loadClient(reit.clients[0].id);\r\n }\r\n });\r\n }\r\n }\r\n\r\n this.setState({ checklist: checklist, initialValues: this.getArqcDetailsInitialValues(checklist, true) }, this.populateMissingTaxableReitSubsidiaries);\r\n if (!prevProps.period && this.props.period) {\r\n this.setCanEdit(this.props.period);\r\n }\r\n\r\n // set disabled sections\r\n if (this.props.arqcActiveChecklist.content !== undefined\r\n && this.props.arqcActiveChecklist.content.length > 0\r\n && this.props.services !== undefined && this.props.services !== null) {\r\n this.disableSections(checklist);\r\n\r\n if (this.state.activeItem == null) {\r\n for (let i = 0; i < this.props.arqcActiveChecklist.content.length; i++) {\r\n if (this.state.disabledSections.find(x => x === this.props.arqcActiveChecklist.content[i].id) === undefined) {\r\n this.setState({ activeItem: this.props.arqcActiveChecklist.content[0] });\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (this.props.taxableReitSubsidiaries !== prevProps.taxableReitSubsidiaries) {\r\n this.setState({ taxableReitSubsidiaries: this.props.taxableReitSubsidiaries }, this.populateMissingTaxableReitSubsidiaries);\r\n }\r\n\r\n // Populate previous answers on active checklist\r\n if (this.props.previousArqcChecklist !== prevProps.previousArqcChecklist && prevProps.arqcActiveChecklist) {\r\n this.props.checklistActions.setActiveChecklist(prevProps.arqcActiveChecklist, this.props.previousArqcChecklist);\r\n }\r\n\r\n // Refresh attachment details table post addition/deletion of attachments\r\n if (prevProps.attachmentDetails !== this.props.attachmentDetails) {\r\n if (this.props.arqcActiveChecklist && this.props.arqcActiveChecklist !== null && this.props.arqcActiveChecklist.content.length > 0) {\r\n const updatedAttachmentDetails = this.props.attachmentDetails.map((attachment) => {\r\n const updatedQuestionText = this.getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId({ ...this.props.arqcActiveChecklist }, attachment.questionID);\r\n\r\n return {\r\n ...attachment,\r\n questionText: updatedQuestionText === '' ? attachment.questionText : updatedQuestionText\r\n };\r\n });\r\n\r\n this.setState({ attachmentDetails: updatedAttachmentDetails });\r\n }\r\n }\r\n\r\n // Refresh comments details table post addition/deletion of attachments\r\n if (this.props.questionComments !== prevProps.questionComments) {\r\n if (this.props.arqcActiveChecklist && this.props.arqcActiveChecklist !== null && prevProps.arqcActiveChecklist.content.length > 0) {\r\n const updatedCommentsDetails = this.props.questionComments.map((comment) => {\r\n const updatedQuestionText = this.getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId({ ...prevProps.arqcActiveChecklist }, comment.checklistSectionQuestionID);\r\n return {\r\n ...comment,\r\n questionText: updatedQuestionText === '' ? comment.questionText : updatedQuestionText\r\n };\r\n });\r\n\r\n this.setState({ questionComments: updatedCommentsDetails });\r\n }\r\n }\r\n\r\n if(prevProps.errorResponse && (this.props.errorResponse !== prevProps.errorResponse)) {\r\n this.setState({currentError: prevProps.errorResponse}) \r\n }\r\n }\r\n\r\n\r\n componentWillUnmount() {\r\n this.props.commonActions.clearErrorResponse();\r\n }\r\n\r\n setGridColumnState() {\r\n let localState = '';\r\n if (this.state.activeItem === 'Comments') {\r\n localState = 'REITSuiteShowCommentsColumnState';\r\n }\r\n else if (this.state.activeItem === 'Attachments') {\r\n localState = 'REITSuiteShowAttachmentColumnState';\r\n }\r\n else if (this.state.activeItem === 'Discrepancies') {\r\n localState = 'REITSuiteShowDiscrepanyColumnState';\r\n }\r\n var columnState = localStorage.getItem(localState);\r\n if (columnState) {\r\n this.setState({ gridColumnState: JSON.parse(columnState) });\r\n }\r\n else {\r\n this.setState({ gridColumnState: [{ colId: '-1' }] });\r\n }\r\n }\r\n\r\n /**\r\n * Reset AG-Grid column state\r\n * @returns {undefined}\r\n */\r\n resetGridColumnState() {\r\n let localState = '';\r\n if (this.state.activeItem === 'Comments') {\r\n localState = 'REITSuiteShowCommentsColumnState';\r\n }\r\n else if (this.state.activeItem === 'Attachments') {\r\n localState = 'REITSuiteShowAttachmentColumnState';\r\n }\r\n else if (this.state.activeItem === 'Discrepancies') {\r\n localState = 'REITSuiteShowDiscrepanyColumnState';\r\n }\r\n localStorage.removeItem(localState);\r\n this.setState({ gridColumnState: [] });\r\n }\r\n\r\n /**\r\n * Handle Grid column state chagne\r\n * @returns {undefined}\r\n */\r\n handleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n }\r\n\r\n handleGridChanges(gridRowData) {\r\n let rowData = [];\r\n\r\n switch (this.state.activeItem) {\r\n case 'Comments': {\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n snapshotSectionName: x.snapshotSectionName,\r\n questionText: x.questionText,\r\n commentText: x.commentText,\r\n commentedBy: x.commentedBy,\r\n dateCommented: x.dateCommented,\r\n }\r\n });\r\n break;\r\n }\r\n case 'Attachments': {\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n snapshotSectionName: x.snapshotSectionName,\r\n questionText: x.questionText,\r\n attachedFileName: x.attachedFileName,\r\n uploadedBy: x.uploadedBy,\r\n dateUploaded: x.dateUploaded,\r\n }\r\n });\r\n break;\r\n }\r\n case 'Discrepancies': {\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n sectionName: x.sectionName,\r\n questionText: x.questionText,\r\n discrepancyMessage: x.discrepancyMessage,\r\n }\r\n });\r\n break;\r\n }\r\n }\r\n this.setState({ gridCurrentState: rowData });\r\n }\r\n\r\n setActiveItem(e, { name }) {\r\n const item = this.props.arqcActiveChecklist.content.find(\r\n x => x.title === name,\r\n );\r\n if (item === undefined && name) {\r\n this.setState({ activeItem: name, isSubNavigation: true });\r\n }\r\n else if (this.state.disabledSections.find(x => x === item.id) === undefined) {\r\n this.setState({ activeItem: item, isSubNavigation: false });\r\n }\r\n }\r\n\r\n getChecklistCount(clientId, checklisId) {\r\n let checklistGuid = null;\r\n if (!this.props.isExternalPermUser) {\r\n checklistGuid = this.props.checklistId;\r\n }\r\n\r\n this.getAttachmentDetails(clientId, checklisId, checklistGuid, serviceConstants.ARQC_SERVICE);\r\n this.getCommentsDetails(clientId, checklisId, checklistGuid, serviceConstants.ARQC_SERVICE);\r\n this.props.checklistActions.fetchChecklistDiscrepancies(clientId, checklisId, checklistGuid,\r\n serviceConstants.ARQC_SERVICE);\r\n\r\n this.props.checklistActions\r\n .fetchChecklistNavCounts(\r\n clientId,\r\n checklisId,\r\n checklistCountRequest.ChecklistCountRequest,\r\n checklistGuid,\r\n serviceConstants.ARQC_SERVICE\r\n )\r\n .then((data) => {\r\n this.setState({ counters: data });\r\n });\r\n\r\n }\r\n\r\n getAttachmentDetails(clientId, checklisId, checklistGuid, checklistType) {\r\n this.props.checklistActions.fetchAttachmentDetail(clientId, checklisId, null, checklistGuid, checklistType)\r\n .then(() => {\r\n if (this.props.arqcActiveChecklist && this.props.arqcActiveChecklist !== null && this.props.arqcActiveChecklist.content.length > 0) {\r\n const updatedAttachmentDetails = this.props.attachmentDetails.map((attachment) => {\r\n const updatedQuestionText = this.getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId({ ...this.props.arqcActiveChecklist }, attachment.questionID);\r\n\r\n return {\r\n ...attachment,\r\n questionText: updatedQuestionText === '' ? attachment.questionText : updatedQuestionText\r\n };\r\n });\r\n\r\n this.setState({ attachmentDetails: updatedAttachmentDetails });\r\n }\r\n });\r\n }\r\n\r\n getCommentsDetails(clientId, checklisId, checklistGuid, checklistType) {\r\n this.props.checklistActions.fetchQuestionComments(clientId, checklisId, checklistGuid, checklistType)\r\n .then(() => {\r\n if (this.props.arqcActiveChecklist && this.props.arqcActiveChecklist !== null && this.props.arqcActiveChecklist.content.length > 0) {\r\n const updatedCommentsDetails = this.props.questionComments.map((comment) => {\r\n const updatedQuestionText = this.getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId({ ...this.props.arqcActiveChecklist }, comment.checklistSectionQuestionID);\r\n\r\n return {\r\n ...comment,\r\n questionText: updatedQuestionText === '' ? comment.questionText : updatedQuestionText\r\n };\r\n });\r\n\r\n this.setState({ questionComments: updatedCommentsDetails });\r\n }\r\n });\r\n }\r\n\r\n checkReportPeriodVisibilityConstraint() {\r\n return this.props.checklistActions\r\n .allowUpdateAsPerReportPeriodVisibilityConstraint(\r\n this.state.checklist.checklistID,\r\n \"ARQC\",\r\n !this.props.isExternalPermUser,\r\n !this.props.isExternalPermUser ? \r\n actionHelpers.buildAuthHeader(\r\n this.props.checklistId,\r\n \"ARQC\"\r\n ) \r\n : null\r\n );\r\n }\r\n\r\n handleGridRowDeleteById(id) {\r\n // Before delete, check whether report period of checklist having visibility status as hidden\r\n this.checkReportPeriodVisibilityConstraint().then((response) => { \r\n let proceedWithAction = true;\r\n if(response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND'){\r\n proceedWithAction = false;\r\n }\r\n\r\n if(proceedWithAction){ \r\n let activeTab = this.state.activeItem;\r\n if (this.state.activeItem === 'Attachments') {\r\n this.setState({ selectedAttachmentId: id });\r\n }\r\n else if (this.state.activeItem === 'Comments') {\r\n this.setState({ selectedCommentId: id });\r\n }\r\n else {\r\n activeTab = \"Attachments\";\r\n this.setState({ selectedAttachmentId: id });\r\n }\r\n this.setState({ deleteFor: activeTab });\r\n this.toggleShowChecklistGridRowDelete();\r\n }\r\n \r\n }); \r\n }\r\n\r\n toggleShowChecklistGridRowDelete() {\r\n const showToggle = !this.state.showDeleteChecklistGridRowModal;\r\n this.setState({\r\n showDeleteChecklistGridRowModal: showToggle,\r\n });\r\n }\r\n\r\n deleteAttachment() {\r\n let checklistGuid = null;\r\n if (!this.props.isExternalPermUser) {\r\n checklistGuid = this.props.checklistId;\r\n }\r\n const clientId = this.props.client.id;\r\n this.props.checklistActions\r\n .deleteAttachment(\r\n this.state.selectedAttachmentId,\r\n clientId,\r\n checklistGuid,\r\n serviceConstants.ARQC_SERVICE\r\n )\r\n .then((data) => {\r\n this.getAttachmentDetails(clientId, this.props.arqcActiveChecklist.checklistID, checklistGuid, serviceConstants.ARQC_SERVICE);\r\n\r\n this.props.checklistActions\r\n .fetchChecklistNavCounts(\r\n clientId,\r\n this.props.arqcActiveChecklist.checklistID,\r\n checklistCountRequest.ChecklistCountRequest,\r\n checklistGuid,\r\n serviceConstants.ARQC_SERVICE\r\n );\r\n\r\n this.toggleShowChecklistGridRowDelete();\r\n })\r\n .catch((error) => {\r\n this.toggleShowChecklistGridRowDelete();\r\n });\r\n }\r\n\r\n\r\n deleteComment() {\r\n let checklistGuid = null;\r\n if (!this.props.isExternalPermUser) {\r\n checklistGuid = this.props.checklistId;\r\n }\r\n const clientId = this.props.client.id;\r\n this.props.checklistActions\r\n .deleteComment(\r\n this.state.selectedCommentId,\r\n clientId, checklistGuid, serviceConstants.ARQC_SERVICE\r\n )\r\n .then((data) => {\r\n this.getCommentsDetails(clientId, this.props.arqcActiveChecklist.checklistID, checklistGuid, serviceConstants.ARQC_SERVICE);\r\n\r\n this.props.checklistActions\r\n .fetchChecklistNavCounts(\r\n clientId,\r\n this.props.arqcActiveChecklist.checklistID,\r\n checklistCountRequest.ChecklistCountRequest,\r\n checklistGuid, serviceConstants.ARQC_SERVICE\r\n );\r\n\r\n\r\n this.toggleShowChecklistGridRowDelete();\r\n })\r\n .catch((error) => {\r\n this.toggleShowChecklistGridRowDelete();\r\n });\r\n }\r\n\r\n handleSaveCommentExternal(questionId, commentText) {\r\n return this.handleSaveComment(questionId, commentText, true, !this.props.isExternalPermUser);\r\n }\r\n\r\n getIsGridNoDataFound(name) {\r\n if ((name === \"Comments\"\r\n && this.props.questionComments\r\n && this.props.questionComments.length === 0)\r\n || (name === \"Attachments\"\r\n && this.props.attachmentDetails\r\n && this.props.attachmentDetails.length === 0)\r\n || (name === \"Discrepancies\"\r\n && this.props.discrepanciesDetail\r\n && this.props.discrepanciesDetail.length === 0)) {\r\n return true;\r\n }\r\n else { return false; }\r\n }\r\n\r\n\r\n setCanEdit(period) {\r\n const isEnabled = periodActions.isReportingEnabled(period);\r\n this.setState({ canEdit: isEnabled });\r\n }\r\n\r\n populateMissingTaxableReitSubsidiaries() {\r\n let trses = Object.assign([], this.state.taxableReitSubsidiaries);\r\n\r\n if (!Array.isArray(trses)) {\r\n trses = [];\r\n }\r\n\r\n let changed = false;\r\n\r\n if (this.state.initialValues && this.state.initialValues.propertyAmenities) {\r\n const propertyAmenities = this.state.initialValues.propertyAmenities;\r\n\r\n for (let i = 0; i < propertyAmenities.length; i++) {\r\n const item = propertyAmenities[i];\r\n if (item.taxableReitSubsidiary && !trses.some(x => x.name === item.taxableReitSubsidiary.label)) {\r\n trses.push({ name: item.taxableReitSubsidiary.label });\r\n changed = true;\r\n }\r\n }\r\n\r\n if (changed) {\r\n this.setState({ taxableReitSubsidiaries: trses });\r\n }\r\n }\r\n }\r\n\r\n handleSubmit() {\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n checklist.sendNotification = true;\r\n this.saveExternalChecklist(checklist, this.props.checklistId, 'ARQC');\r\n\r\n this.showSendModal();\r\n }\r\n\r\n handleExternalConfirmationAction(e) {\r\n const value = e?.target?.value || \"CANCEL\"; \r\n\r\n if (value === \"CANCEL\") {\r\n this.showConfirmationModal();\r\n return;\r\n }\r\n\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n checklist.checklistStateID = e.target.value;\r\n this.setState({ checklist: checklist });\r\n if (e.target.value === \"PENDINGEYREVIEW\") {\r\n checklist.sendNotification = true;\r\n this.setState({ isSubmittedForEyReview: true });\r\n }\r\n\r\n this.saveExternalChecklist(checklist, this.props.checklistId, 'ARQC');\r\n this.showConfirmationModal();\r\n }\r\n\r\n handleAddArqcExhibitBRow(section) {\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n\r\n const foundSection = checklist\r\n .content.find(x => x.id === section.id);\r\n\r\n const count = foundSection.items === undefined ? 0 : foundSection.items.length;\r\n\r\n if (foundSection.items === undefined) {\r\n checklist\r\n .content.find(x => x.id === section.id)\r\n .items = [];\r\n }\r\n\r\n checklist\r\n .content.find(x => x.id === section.id)\r\n .items.push({ \"index\": count, \"serviceName\": \"\", \"E\": false, \"IK\": false, \"TRS\": false });\r\n\r\n this.setState({ checklist: checklist });\r\n }\r\n\r\n handleRemoveArqcExhibitBRow(section, item) {\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n\r\n checklist\r\n .content.find(x => x.id === section.id)\r\n .items.splice(item.index, 1);\r\n\r\n // re-index remaining items\r\n for (let i = 0; i < checklist.content.find(x => x.id === section.id).items.length; i++) {\r\n checklist.content.find(x => x.id === section.id).items[i].index = i;\r\n }\r\n\r\n this.setState({ checklist: checklist });\r\n }\r\n\r\n handleArqcExhibitBItemAnswered(e, section, item) {\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n\r\n if (e.target !== undefined && e.target.type !== undefined && e.target.type.toLowerCase() === \"checkbox\") {\r\n if (e.target.name.toLowerCase() === \"e\") {\r\n checklist\r\n .content.find(x => x.id === section.id)\r\n .items.find(x => x.index === item.index).e = e.target.checked;\r\n } else if (e.target.name.toLowerCase() === \"ik\") {\r\n checklist\r\n .content.find(x => x.id === section.id)\r\n .items.find(x => x.index === item.index).ik = e.target.checked;\r\n } else if (e.target.name.toLowerCase() === \"trs\") {\r\n checklist\r\n .content.find(x => x.id === section.id)\r\n .items.find(x => x.index === item.index).trs = e.target.checked;\r\n }\r\n } else if (e.type !== undefined && e.type.toLowerCase() === \"dropdown\") {\r\n checklist\r\n .content.find(x => x.id === section.id)\r\n .items.find(x => x.index === item.index).serviceName = e.value;\r\n }\r\n\r\n this.setState({ checklist: checklist });\r\n }\r\n\r\n handleSaveExternalArqcChecklist() {\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n this.saveExternalChecklist(checklist, this.props.checklistId, 'ARQC');\r\n }\r\n\r\n downloadChecklist(withAnswer) {\r\n this.checkReportPeriodVisibilityConstraint().then((response) => {\r\n let proceedWithAction = true; \r\n if(response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND'){\r\n proceedWithAction = false;\r\n }\r\n \r\n if(proceedWithAction){\r\n const reportPeriodDescription = this.props.isExternalPermUser ? this.state.period.reportPeriodDescription : this.props.period.reportPeriodDescription;\r\n const reportPeriodID = this.props.isExternalPermUser ? this.state.period.reportPeriodID : this.props.period.reportPeriodID;\r\n const checklistGuid = this.props.checklistId;\r\n const filename = `${reportPeriodDescription.replace(' ', '')}_${this.state.reit.reitName}_ARQC.docx`\r\n this.props.commonActions.clearErrorResponse();\r\n this.props.reportActions.downloadChecklist('reitName=' + this.state.reit.reitName + ',periodDesc=' + reportPeriodDescription, reportPeriodID, 'ARQC', this.state.checklist.checklistID, withAnswer, filename, true, checklistGuid); \r\n }\r\n });\r\n }\r\n\r\n isChecklistContentEnabled() {\r\n return this.props.arqcActiveChecklist !== null &&\r\n this.props.arqcActiveChecklist.checklistStateID !== undefined &&\r\n this.props.arqcActiveChecklist.checklistStateID.toLowerCase() !== \"completed\" &&\r\n this.props.arqcActiveChecklist.checklistStateID.toLowerCase() !== \"pendingeyreview\" &&\r\n !this.state.isSubmittedForEyReview;\r\n }\r\n\r\n handleSaveBtnClick() {\r\n if(this.props.isExternalPermUser){\r\n this.props.checklistActions.fetchExternalPermArqcChecklists(this.props.internalChecklistId, true)\r\n .then((result) => {\r\n if (!(result && result.errorResponse && result.errorResponse.errorCode === \"CHECKLIST_SUBMITTED\")) {\r\n this.checkReportPeriodVisibilityConstraint().then((response) => {\r\n if (!(response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND')) {\r\n this.handleSaveExternalArqcChecklist();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n else{\r\n this.props.checklistActions.fetchExternalArqcChecklistsById(this.props.checklistId, true)\r\n .then((result) => {\r\n if (!(result && result.errorResponse && result.errorResponse.errorCode === \"CHECKLIST_SUBMITTED\")) {\r\n this.checkReportPeriodVisibilityConstraint().then((response) => {\r\n if (!(response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND')) {\r\n this.handleSaveExternalArqcChecklist();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n}\r\n\r\n handleSubmitEyReviewBtnClick() {\r\n if(this.props.isExternalPermUser){\r\n this.props.checklistActions.fetchExternalPermArqcChecklists(this.props.internalChecklistId, true)\r\n .then((result) => {\r\n if (!(result && result.errorResponse && result.errorResponse.errorCode === \"CHECKLIST_SUBMITTED\")) {\r\n return this.checkReportPeriodVisibilityConstraint().then((response) => {\r\n if (!(response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND')) {\r\n this.showConfirmationModal();\r\n }\r\n });\r\n }\r\n });\r\n \r\n }\r\n else{\r\n this.props.checklistActions.fetchExternalArqcChecklistsById(this.props.checklistId, true)\r\n .then((result) => {\r\n if (!(result && result.errorResponse && result.errorResponse.errorCode === \"CHECKLIST_SUBMITTED\")) {\r\n return this.checkReportPeriodVisibilityConstraint().then((response) => {\r\n if (!(response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND')) {\r\n this.showConfirmationModal();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n}\r\n\r\n getDetails() {\r\n const isEnabled = this.isChecklistContentEnabled();\r\n if (this.state.showDetails && this.state.checklist) {\r\n return (\r\n
    \r\n {this.props.arqcActiveChecklist &&\r\n this.props.arqcActiveChecklist.prePopulateAnswerOptionID === 1 &&\r\n
    \r\n (Pre-populated with answers from prior questionnaire)\r\n
    }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {!this.state.isSubNavigation && (\r\n <>\r\n \r\n \r\n )}\r\n {this.state.isSubNavigation && (\r\n <>\r\n
    {this.state.activeItem}
    \r\n\r\n {this.getIsGridNoDataFound(this.state.activeItem) &&\r\n
    No {this.state.activeItem.toLowerCase()} found for this checklist.
    \r\n }\r\n\r\n {this.state.activeItem === 'Comments' &&\r\n \r\n }\r\n {this.state.activeItem === 'Attachments' &&\r\n {\r\n this.checkReportPeriodVisibilityConstraint().then((response) => {\r\n let proceedWithAction = true; \r\n if(response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND'){\r\n proceedWithAction = false;\r\n }\r\n if(proceedWithAction){\r\n this.handleDownloadChecklistFileExternal(checklistFileAttachmentId, fileName);\r\n }\r\n });\r\n }\r\n }\r\n canEdit={this.state.canEdit && this.isChecklistContentEnabled()}\r\n />\r\n }\r\n {this.state.activeItem === 'Discrepancies' &&\r\n \r\n }\r\n \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 * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n if ((this.props.errorResponse && (this.props.errorResponse.errorCode === \"LINK_EXPIRED\" || this.props.errorResponse.errorCode === \"UNKNOWN\" || this.props.errorResponse.errorCode === 'FORBIDDEN'))\r\n || (this.state.currentError && (this.state.currentError.errorCode === \"LINK_EXPIRED\" || this.state.currentError.errorCode === \"UNKNOWN\" || this.state.currentError.errorCode === 'FORBIDDEN'))\r\n ){\r\n return (\r\n
    \r\n

    Annual REIT Qualification Checklist

    \r\n
    \r\n

    \r\n We apologize this link has expired.\r\n

    \r\n
    \r\n );\r\n }\r\n\r\n if (!this.props.isExternalPermUser && ((this.props.errorResponse && this.props.errorResponse.errorCode === \"CHECKLIST_SUBMITTED\")\r\n || (this.props.arqcActiveChecklist && this.props.arqcActiveChecklist.checklistStateID === \"PendingEyReview\")\r\n || this.state.isSubmittedForEyReview\r\n || (this.state.currentError && this.state.currentError.errorCode === \"CHECKLIST_SUBMITTED\"))) {\r\n return (\r\n
    \r\n

    Annual REIT Qualification Checklist

    \r\n
    \r\n

    \r\n This ARQC has been submitted for EY review.\r\n

    \r\n
    \r\n );\r\n }\r\n\r\n if ((this.props.errorResponse && this.props.errorResponse.errorCode === \"RESOURCE_NOT_FOUND\") ||\r\n (this.state.currentError && this.state.currentError.errorCode === \"RESOURCE_NOT_FOUND\")) {\r\n return (\r\n
    \r\n

    Annual REIT Qualification Checklist

    \r\n
    \r\n

    \r\n We apologize this link has expired.\r\n

    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {this.getArqcQuestionnaireTitle()}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n if(this.props.isExternalPermUser){\r\n this.props.checklistActions.fetchExternalPermArqcChecklists(this.props.internalChecklistId);}\r\n else{this.props.checklistActions.fetchExternalArqcChecklistsById(this.props.checklistId); } \r\n }\r\n } \r\n placement=\"bottom-end\"\r\n id={'checklist-dropdown'}\r\n aria-labelledby={'client-management-trigger'}\r\n data-testid=\"btnDownloadChecklist\"\r\n handleClickOutside={() => this.setState({ checklistDropdownOpen: false })}\r\n trigger={\r\n 0)}\r\n type=\"button\"\r\n variant=\"primary-alt\"\r\n onClick={() => this.setState({ checklistDropdownOpen: !this.state.checklistDropdownOpen })}\r\n aria-controls={'checklist-dropdown'}\r\n id={'checklist-dropdown-trigger'}\r\n aria-expanded={this.state.checklistDropdownOpen}\r\n aria-label=\"Download checklist dropdown\"\r\n >\r\n Download Checklist \r\n \r\n }\r\n >\r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITH_ANSWERS'); }}>\r\n With Answers Only\r\n \r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITH_ANSWERS_COMMENTS') }}>\r\n With Answers And Comments\r\n \r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITHOUT_ANSWERS'); }}>\r\n Without Answers or Comments\r\n \r\n \r\n \r\n\r\n {\r\n this.handleSubmitEyReviewBtnClick(); \r\n }\r\n }\r\n disabled={!this.isChecklistContentEnabled()}>\r\n Submit for EY Review\r\n \r\n {\r\n this.handleSaveBtnClick();\r\n }}\r\n disabled={!this.isChecklistContentEnabled()}>\r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Display Unanswered Questions Only:\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {/* Do Not show Display Changed Answers button to Unregistered External users*/}\r\n {(this.props.isExternalPermUser && this.state.showDetails && this.props.arqcActiveChecklist && this.props.previousArqcChecklist && Array.isArray(this.props.previousArqcChecklist.content) && this.props.previousArqcChecklist.content.length > 0 && (\r\n
    \r\n
    \r\n Display Changed Answers:\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    )) || (
    )}\r\n
    \r\n
    \r\n\r\n {this.props.authenticationScope !== 'external' &&\r\n \r\n
    \r\n \r\n {this.state.checklist && this.state.checklist.reitName != \"\" ? `${this.state.checklist.reitName} ` : ''}\r\n ARQC Checklist\r\n \r\n
    \r\n
    \r\n }\r\n {this.getDetails()}\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nExternalArqcChecklistPage.propTypes = {\r\n client: PropTypes.object.isRequired,\r\n reit: PropTypes.object.isRequired,\r\n arqcChecklists: PropTypes.array,\r\n arqcActiveChecklist: PropTypes.object,\r\n checklistActions: PropTypes.object,\r\n propertyActions: PropTypes.object,\r\n fileActions: PropTypes.object,\r\n checklistId: PropTypes.string,\r\n internalChecklistId: PropTypes.string,\r\n errorResposne: PropTypes.shape({\r\n errorCode: PropTypes.string,\r\n message: PropTypes.string\r\n }),\r\n services: PropTypes.array,\r\n authenticationScope: PropTypes.string,\r\n previousArqcChecklist: PropTypes.object,\r\n user: PropTypes.string\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n client: state.client,\r\n arqcChecklists: state.externalArqc,\r\n arqcActiveChecklist: state.arqcActiveChecklist,\r\n checklistFiles: state.checklistFiles,\r\n reit: state.reit,\r\n checklistId: ownProps.router.params.checklistId,\r\n internalChecklistId: ownProps.router.params.internalChecklistId,\r\n isExternalPermUser: ownProps.router.params.checklistId ? false : true,\r\n errorResponse: state.errorResponse,\r\n distributionDetails: state.distributionDetails,\r\n distributionTestSummary: state.distributionTestSummary,\r\n distributionTaxableIncome: state.distributionTaxableIncome,\r\n taxableReitSubsidiaries: state.taxableReitSubsidiaries,\r\n services: state.services,\r\n period: state.period,\r\n user: state.authentication.currentUser,\r\n authenticationScope: state.authenticationScope,\r\n previousArqcChecklist: state.previousArqcChecklist,\r\n lookupTypes: state.lookupTypes,\r\n questionComments: state.questionComments,\r\n attachmentDetails: state.attachmentDetail,\r\n discrepanciesDetail: state.discrepanciesDetail,\r\n checklistCounter: state.checklistsCounter,\r\n allowUpdateReportPeriodVisibilityConstraintResult: state.allowUpdateReportPeriodVisibilityConstraintResult\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n checklistActions: bindActionCreators(checklistActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n distributionActions: bindActionCreators(distributionActions, dispatch),\r\n trsActions: bindActionCreators(trsActions, dispatch),\r\n serviceActions: bindActionCreators(serviceActions, dispatch),\r\n periodActions: bindActionCreators(periodActions, dispatch),\r\n reportActions: bindActionCreators(reportActions, dispatch),\r\n fileActions: bindActionCreators(fileActions, dispatch),\r\n reitActions: bindActionCreators(reitActions, dispatch),\r\n clientActions: bindActionCreators(clientActions, dispatch),\r\n customChecklistTemplateActions: bindActionCreators(customChecklistTemplateActions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ExternalArqcChecklistPage));","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\nimport { MotifTextLink } from '@ey-xd/motif-react';\r\n\r\nconst ReitsExternalRow = ({ reit, clientId }) => {\r\n return (\r\n \r\n {reit.reitName}\r\n \r\n );\r\n};\r\n\r\nReitsExternalRow.propTypes = {\r\n reit: PropTypes.object.isRequired\r\n};\r\n\r\nexport default ReitsExternalRow;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport ReitsExternalRow from \"./ReitsExternalRow\";\r\n\r\nconst ReitsExternal = ({ externalReits, reitsAreLoaded, clientId, clientName }) => {\r\n return (\r\n \r\n

    REITs

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {externalReits.map(reit => )}\r\n \r\n
    REITs
    \r\n {(externalReits && externalReits.length === 0 && reitsAreLoaded &&
    It looks as though there aren't any REITs for this Client - please reach out to your EY contact.
    )\r\n || null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nReitsExternal.propTypes = {\r\n externalReits: PropTypes.array.isRequired,\r\n reitsAreLoaded: PropTypes.bool,\r\n clientId: PropTypes.string,\r\n\r\n};\r\n\r\nexport default ReitsExternal;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport ReitsExternal from \"../../components/reits/ReitsExternal\";\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * ReitsExternalPage container component\r\n * @extends {React.Component}\r\n */\r\nexport class ReitsExternalPage extends React.Component {\r\n /**\r\n * Creates a new ReitsExternalPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n reitsAreLoaded: false\r\n };\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.props.actions.fetchExternalReits(this.props.clientId)\r\n .then(() => this.setState({ reitsAreLoaded: true }));\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nReitsExternalPage.propTypes = {\r\n clientId: PropTypes.string.isRequired,\r\n actions: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n clientId: ownProps.router.params.clientId,\r\n externalReits: state.externalReits,\r\n client: state.client\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(reitActions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ReitsExternalPage));","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\nimport { Icon } from \"semantic-ui-react\";\r\nimport { MotifIconButton, MotifIcon, MotifTextLink } from \"@ey-xd/motif-react\";\r\nimport { contentIcUndo24px } from '@ey-xd/motif-react/assets/icons';\r\n\r\nconst ChecklistListRow = ({ checklistRow, clientId, handleRevertChecklistState }) => {\r\n const getCheckListItemStateName = (state) => {\r\n switch (state) {\r\n case \"InProgress\":\r\n return \"In Progress\";\r\n case \"PendingEyReview\":\r\n return \"Pending EY Review\";\r\n default:\r\n return state;\r\n }\r\n };\r\n\r\n let stateName = getCheckListItemStateName(checklistRow.status);\r\n\r\n return (\r\n \r\n {checklistRow.period}\r\n ARQC\r\n \r\n handleRevertChecklistState(checklistRow)}\r\n disabled={stateName === 'Completed' || stateName === 'Created'}>\r\n \r\n \r\n \r\n {stateName}\r\n \r\n );\r\n};\r\n\r\nChecklistListRow.propTypes = {\r\n checklistRow: PropTypes.object.isRequired\r\n};\r\n\r\nexport default ChecklistListRow;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport ChecklistListRow from \"./ChecklistListRow\";\r\n\r\nconst ChecklistList = ({ checklistList, clientId, handleRevertChecklistState }) => {\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 {checklistList.map(item => )}\r\n \r\n
    PeriodChecklistRevert StateStatus
    \r\n {(checklistList && checklistList.length === 0 &&
    No Checklists are currently available for this REIT.
    )\r\n || null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nChecklistList.propTypes = {\r\n checklistList: PropTypes.array.isRequired\r\n};\r\n\r\nexport default ChecklistList;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport ChecklistList from \"../../components/reits/ChecklistList\";\r\nimport * as checklistActions from \"../../actions/checklistActions\";\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * ChecklistsExternalPage container component\r\n * @extends {React.Component}\r\n */\r\nexport class ChecklistsExternalPage extends React.Component {\r\n /**\r\n * Creates a new ChecklistsExternalPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n this.handleRevertChecklistState = this.handleRevertChecklistState.bind(this);\r\n this.state = { checklistList: [] };\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.props.actions.fetchChecklistListForExternalUser(this.props.reitId);\r\n this.props.reitActions.fetchReit(this.props.reitId); \r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.checklistList !== this.props.checklistList && this.props.checklistList) {\r\n const list = Object.assign([], this.props.checklistList);\r\n this.setState({ checklistList: list });\r\n }\r\n }\r\n\r\n handleRevertChecklistState(checklistRow) {\r\n const checklist = {\r\n checklistTypeID: 'ARQC',\r\n checklistID: checklistRow.arqcCheckListId,\r\n checklistStateID: checklistRow.status\r\n };\r\n\r\n this.props.actions.revertChecklistStateExternal(checklist, this.props.reitId);\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n

    Report Periods

    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nChecklistsExternalPage.propTypes = {\r\n clientId: PropTypes.string.isRequired,\r\n actions: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n clientId: ownProps.router.params.clientId,\r\n reitId: ownProps.router.params.reitId,\r\n checklistList: state.checklistList,\r\n reitName: state.reit.reitName\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(checklistActions, dispatch),\r\n reitActions: bindActionCreators(reitActions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ChecklistsExternalPage));","import PropTypes from \"prop-types\";\r\nimport React, { useEffect, useRef } from \"react\";\r\nimport { Header, Icon } from \"semantic-ui-react\";\r\nimport { Field, reduxForm, SubmissionError } from \"redux-form\";\r\n\r\nimport { ReactMultiEmail } from \"react-multi-email\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport $ from \"jquery\";\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifProgressLoader,\r\n} from \"@ey-xd/motif-react\";\r\n\r\nconst ForwardPsqForInternalReviewModal = ({\r\n handleSubmit,\r\n handleCancel,\r\n showModal,\r\n submitting,\r\n domRef,\r\n handleInternalReviewEmailFieldChanged,\r\n error,\r\n handleDismissErrorMessage,\r\n loaded,\r\n emails,\r\n isInititiallySetEmailsFrwd,\r\n setInititiallySetEmailsFrwd\r\n}) => {\r\n const gridRef = useRef();\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n const validateEmails = () => {\r\n let internalReviewEmailsValue = $(\"#internalReviewEmails :input\").val();\r\n\r\n if (internalReviewEmailsValue !== \"\") {\r\n throw new SubmissionError({\r\n _error:\r\n \"'\" + internalReviewEmailsValue + \"' is not a valid email address.\",\r\n });\r\n }\r\n\r\n return handleSubmit();\r\n };\r\n\r\n useEffect(() => { \r\n if(isInititiallySetEmailsFrwd) {\r\n domRef(gridRef ? gridRef : null);\r\n }\r\n else{\r\n setInititiallySetEmailsFrwd();\r\n }\r\n \r\n}, [emails]);\r\n\r\n return (\r\n \r\n \r\n \r\n Submit Internally\r\n \r\n \r\n\r\n
    \r\n {formHelpers.showSubmissionError(error, handleDismissErrorMessage)}\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Cancel\r\n \r\n \r\n Send\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nForwardPsqForInternalReviewModal.propTypes = {\r\n handleSubmit: PropTypes.func,\r\n handleCancel: PropTypes.func,\r\n showModal: PropTypes.bool,\r\n submitting: PropTypes.bool,\r\n initialValues: PropTypes.object,\r\n domRef: PropTypes.func,\r\n handleInternalReviewEmailFieldChanged: PropTypes.func,\r\n error: PropTypes.string,\r\n handleDismissErrorMessage: PropTypes.func,\r\n loaded: PropTypes.bool,\r\n emails: PropTypes.array,\r\n setInititiallySetEmailsFrwd: PropTypes.func,\r\n};\r\n\r\nexport default reduxForm({\r\n form: \"forwardPsqForInternalReview\",\r\n enableReinitialize: true,\r\n})(ForwardPsqForInternalReviewModal);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { json, Link } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { SubmissionError } from 'redux-form';\r\nimport * as checklistActions from '../../actions/checklistActions';\r\nimport * as propertyActions from '../../actions/propertyActions';\r\nimport * as commonActions from '../../actions/commonActions';\r\nimport * as serviceActions from '../../actions/servicesActions';\r\nimport * as periodActions from '../../actions/periodActions';\r\nimport * as fileActions from '../../actions/fileActions';\r\nimport * as reportActions from '../../actions/reportActions';\r\nimport ChecklistNavigation from '../../components/reits/ChecklistNavigation';\r\nimport EditChecklistSection from '../../components/reits/EditChecklistSection';\r\nimport ChecklistCounters from '../../components/reits/ChecklistCounters';\r\nimport { Segment, Button, Modal, Header, Icon, Grid } from 'semantic-ui-react';\r\nimport ChecklistReadyModal from '../../components/reits/ChecklistReadyModal';\r\nimport PsqCreateChecklistModal from '../../components/reits/PsqCreateChecklistModal';\r\nimport ChecklistPageBase from './ChecklistPageBase';\r\nimport ChecklistSendModal from '../../components/reits/ChecklistSendModal';\r\nimport ForwardPsqForInternalReviewModal from '../../components/reits/ForwardPsqForInternalReviewModal';\r\nimport * as formHelpers from '../../scripts/formHelpers';\r\nimport * as actionHelpers from '../../scripts/actionHelpers';\r\nimport { Button as BootstrapButton, Dropdown as BootstrapDropdown, ButtonGroup, DropdownButton } from 'react-bootstrap';\r\nimport { MotifIcon, MotifButton, MotifDropdown, MotifDropdownItem, MotifToggleSwitch, MotifTooltip } from '@ey-xd/motif-react';\r\nimport { IconoirNavArrowDown } from '@ey-xd/motif-icon';\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport * as clientActions from \"../../actions/clientActions\";\r\nimport * as lookupTypeActions from \"../../actions/lookupTypeActions\";\r\nimport * as customChecklistTemplateActions from '../../actions/customChecklistTemplateActions';\r\nimport DeleteChecklistDetailGridRowModal from '../../components/reits/DeleteChecklistDetailGridRowModal';\r\nimport ShowCommentsTable from \"../../components/customChecklistTemplate/ShowCommentsTable\";\r\nimport ShowAttachmentTable from '../../components/customChecklistTemplate/ShowAttachmentTable';\r\nimport ShowDiscrepanciesTable from '../../components/customChecklistTemplate/ShowDiscrepanciesTable';\r\nimport * as checklistCountRequest from '../../constants/checklistNavigationTabs';\r\nimport DeleteChecklistServiceProviderModal from '../../components/reits/DeleteChecklistServiceProviderModal';\r\nimport { withRouter } from '../../common/withRouter';\r\nimport { WebSocketContext } from '../../components/PermExternalApp';\r\n\r\n/**\r\n * ExternalPsqChecklistPage container component\r\n * @extends {ChecklistPageBase}\r\n */\r\nexport class ExternalPsqChecklistPage extends ChecklistPageBase {\r\n static contextType = WebSocketContext;\r\n\r\n /**\r\n * Creates a new ExternalPsqChecklistPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n this.prevWS = null;\r\n\r\n this.setActiveItem = this.setActiveItem.bind(this);\r\n this.handleSaveExternalPsqChecklist = this.handleSaveExternalPsqChecklist.bind(\r\n this,\r\n );\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.handleExternalConfirmationAction = this.handleExternalConfirmationAction.bind(\r\n this,\r\n );\r\n this.handleAddPsqSection2Row = this.handleAddPsqSection2Row.bind(this);\r\n this.handleRemovePsqSection2Row = this.handleRemovePsqSection2Row.bind(\r\n this,\r\n );\r\n this.showForwardPsqForInternalReviewModal = this.showForwardPsqForInternalReviewModal.bind(\r\n this,\r\n );\r\n this.hideForwardPsqForInternalReviewModal = this.hideForwardPsqForInternalReviewModal.bind(\r\n this,\r\n );\r\n this.submitForwardPsqForInternalReviewModal = this.submitForwardPsqForInternalReviewModal.bind(\r\n this,\r\n );\r\n this.handleInternalReviewEmailFieldChanged = this.handleInternalReviewEmailFieldChanged.bind(\r\n this,\r\n );\r\n this.setInternalReviewEmailFieldReference = this.setInternalReviewEmailFieldReference.bind(\r\n this,\r\n );\r\n this.handleDismissForwardPsqErrorMessage = this.handleDismissForwardPsqErrorMessage.bind(\r\n this,\r\n );\r\n this.handleDownloadAttachmentClick = this.handleDownloadAttachmentClick.bind(this);\r\n this.state.showDetails = true;\r\n this.state.isSubmittedForEyReview = false;\r\n this.state.showForwardPsqForInternalReviewModal = false;\r\n this.state.internalReviewEmails = [];\r\n this.state.inititiallySetEmails = false;\r\n this.state.forwardPsqFormLoaded = false;\r\n this.state.canEdit = true;\r\n this.state.newQuestionIds = [];\r\n this.state.checklistDropdownOpen = false;\r\n this.state.showAllQuestions = true;\r\n this.state.showUnansweredQuestions = false;\r\n this.state.selectedAttachmentId = null;\r\n this.state.selectedCommentId = null;\r\n this.state.showDeleteChecklistGridRowModal = false;\r\n this.state.gridColumnState = [];\r\n this.handleGridColumnStateChange = this.handleGridColumnStateChange.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.state.questionComments = [];\r\n this.state.attachmentDetails = [];\r\n this.state.discrepanciesDetail = [];\r\n this.state.deleteFor = null;\r\n this.state.selectedServiceProvider = null;\r\n this.state.showDeleteChecklistServiceProviderModal = false;\r\n this.state.isPsqCompletionRequirementFulfilled = false;\r\n this.state.checklistCompletionPercentage = 0;\r\n this.handleGridRowDeleteById = this.handleGridRowDeleteById.bind(this);\r\n this.handleDeleteAttachment =\r\n this.handleDeleteAttachment.bind(this);\r\n this.toggleShowChecklistGridRowDelete = this.toggleShowChecklistGridRowDelete.bind(this);\r\n this.deleteAttachment = this.deleteAttachment.bind(this);\r\n this.deleteComment = this.deleteComment.bind(this);\r\n this.toggleShowDeleteChecklistServiceProvider = this.toggleShowDeleteChecklistServiceProvider.bind(this);\r\n this.handleServiceProviderDelete = this.handleServiceProviderDelete.bind(this);\r\n this.handleSaveCommentExternal = this.handleSaveCommentExternal.bind(this);\r\n this.handlePsqCompletionRequirement = this.handlePsqCompletionRequirement.bind(this);\r\n this.setInititiallySetEmailsFrwd = this.setInititiallySetEmailsFrwd.bind(this);\r\n this.checkReportPeriodVisibilityConstraint = this.checkReportPeriodVisibilityConstraint.bind(this);\r\n this.state.isInititiallySetEmailsFrwd = false;\r\n this.state.currentError = null;\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.props.commonActions.clearErrorResponse();\r\n if (!this.props.isExternalPermUser) {\r\n this.props.checklistActions.fetchExternalPsqChecklistsById(this.props.checklistId);\r\n this.props.checklistActions.fetchLastServiceProviderQuestionId(actionHelpers.buildAuthHeader(\r\n this.props.checklistId,\r\n \"PSQ\"\r\n ));\r\n }\r\n else {\r\n this.props.checklistActions.fetchExternalPermPsqChecklists(this.props.internalChecklistId).then((response) => {\r\n // Redirect unauthorized user to Access Denied Error page\r\n if (response && response.errorResponse && response.errorResponse.errorCode && response.errorResponse.errorCode.toLowerCase() == 'unauthorized') {\r\n this.props.router.navigate(`/ext/unauthorized`);\r\n }\r\n });\r\n this.props.checklistActions.fetchLastServiceProviderQuestionId();\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const ws = this.context;\r\n\r\n if(ws && this.prevWS !== ws){\r\n this.prevWS = ws;\r\n ws.on('userAuthorizationUpdate', (message) => {\r\n // If the user is external permanent user and the user is deleted for same client of the current checklist, reload the page\r\n if(message && message.ClientID && this.props && this.props.client && this.props.client.id && message.ClientID == this.props.client.id\r\n && message.ActionName && message.ActionName == 'delete' \r\n && this.props.isExternalPermUser){\r\n window.location.reload();\r\n }\r\n });\r\n }\r\n\r\n if (\r\n this.props.psqActiveChecklist !== prevProps.psqActiveChecklist ||\r\n this.props.client !== prevProps.client\r\n ) {\r\n if (\r\n this.props.psqActiveChecklist &&\r\n this.props.client &&\r\n this.props.client.id !== undefined\r\n ) {\r\n this.getChecklistCount(\r\n this.props.client.id,\r\n this.props.psqActiveChecklist.checklistID\r\n );\r\n }\r\n\r\n // Set the PSQ completion requirement fulfillment on client load\r\n this.setState({\r\n isPsqCompletionRequirementFulfilled: this.props.client\r\n .isPsqCompletionRequirementEnabled\r\n ? this.state.checklistCompletionPercentage === 100\r\n : true\r\n });\r\n }\r\n if (this.props.psqActiveChecklist !== prevProps.psqActiveChecklist) {\r\n const checklist = this.props.psqActiveChecklist;\r\n this.setState({ checklist: checklist });\r\n\r\n if (checklist && checklist.reportPeriodID) {\r\n if (!prevProps.isExternalPermUser) {\r\n prevProps.lookupTypeActions.fetchExternalPropertyTypes(\r\n prevProps.checklistId,\r\n \"PSQ\"\r\n );\r\n prevProps.serviceActions.fetchExternalServicesByPeriod(\r\n checklist.reportPeriodID,\r\n this.props.checklistId,\r\n \"PSQ\"\r\n );\r\n\r\n // Get the period (so we know the status), to know if we can add comments\r\n this.props.periodActions.fetchExternalPeriodById(\r\n checklist.reportPeriodID,\r\n this.props.checklistId,\r\n this.props.psqActiveChecklist.checklistTypeID\r\n );\r\n\r\n // Load REIT & Client for external user\r\n reitActions\r\n .fetchReitByPeriodId(\r\n checklist.reportPeriodID,\r\n prevProps.checklistId,\r\n \"PSQ\"\r\n )\r\n .then(reit => {\r\n this.setState({ reit: reit });\r\n if (reit && reit.clients && reit.clients.length > 0) {\r\n prevProps.clientActions.loadExternalClient(\r\n reit.clients[0].id,\r\n prevProps.checklistId,\r\n \"PSQ\"\r\n );\r\n }\r\n });\r\n } else {\r\n prevProps.lookupTypeActions.fetchPropertyTypes();\r\n prevProps.serviceActions.fetchServicesByPeriod(\r\n checklist.reportPeriodID\r\n );\r\n periodActions\r\n .fastFetchPeriodById(checklist.reportPeriodID)\r\n .then(period => {\r\n this.setCanEdit(period);\r\n this.setState({ period: period });\r\n });\r\n\r\n reitActions\r\n .fetchReitByPeriodId(checklist.reportPeriodID)\r\n .then(reit => {\r\n this.setState({ reit: reit });\r\n if (reit && reit.clients && reit.clients.length > 0) {\r\n prevProps.clientActions.loadClient(reit.clients[0].id);\r\n }\r\n });\r\n }\r\n }\r\n\r\n if (\r\n !prevProps.period.reportPeriodStatusDescription &&\r\n this.props.period.reportPeriodStatusDescription\r\n ) {\r\n this.setCanEdit(this.props.period);\r\n }\r\n\r\n // set disabled sections\r\n if (\r\n this.props.psqActiveChecklist.content !== undefined &&\r\n this.props.psqActiveChecklist.content.length > 0 &&\r\n this.props.services !== undefined &&\r\n this.props.services !== null\r\n ) {\r\n this.disableSections(checklist);\r\n\r\n if (this.state.activeItem == null) {\r\n for (\r\n let i = 0;\r\n i < this.props.psqActiveChecklist.content.length;\r\n i++\r\n ) {\r\n if (\r\n this.state.disabledSections.find(\r\n x => x === this.props.psqActiveChecklist.content[i].id\r\n ) === undefined\r\n ) {\r\n this.setState({\r\n activeItem: this.props.psqActiveChecklist.content[0]\r\n });\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Populate previous answers on active checklist\r\n if (\r\n this.props.previousPsqChecklist !== prevProps.previousPsqChecklist &&\r\n prevProps.psqActiveChecklist\r\n ) {\r\n this.props.checklistActions.setActiveChecklist(\r\n prevProps.psqActiveChecklist,\r\n this.props.previousPsqChecklist\r\n );\r\n }\r\n\r\n // Refresh attachment details table post addition/deletion of attachments\r\nif (this.props.attachmentDetails !== prevProps.attachmentDetails) {\r\n if (prevProps.psqActiveChecklist && prevProps.psqActiveChecklist !== null && prevProps.psqActiveChecklist.content.length > 0) {\r\n const updatedAttachmentDetails = this.props.attachmentDetails.map((attachment) => {\r\n const updatedQuestionText = this.getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId({ ...prevProps.psqActiveChecklist }, attachment.questionID);\r\n\r\n return {\r\n ...attachment,\r\n questionText: updatedQuestionText === '' ? attachment.questionText : updatedQuestionText\r\n };\r\n });\r\n\r\n this.setState({ attachmentDetails: updatedAttachmentDetails });\r\n }\r\n }\r\n\r\n // Refresh comments details table post addition/deletion of attachments\r\n if (prevProps.questionComments !== this.props.questionComments) {\r\n if (prevProps.psqActiveChecklist && prevProps.psqActiveChecklist !== null && prevProps.psqActiveChecklist.content.length > 0) {\r\n const updatedCommentsDetails = this.props.questionComments.map((comment) => {\r\n const updatedQuestionText = this.getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId({ ...prevProps.psqActiveChecklist }, comment.checklistSectionQuestionID);\r\n\r\n return {\r\n ...comment,\r\n questionText: updatedQuestionText === '' ? comment.questionText : updatedQuestionText\r\n };\r\n });\r\n\r\n this.setState({ questionComments: updatedCommentsDetails });\r\n }\r\n }\r\n\r\n if(prevProps.errorResponse && (this.props.errorResponse !== prevProps.errorResponse)) {\r\n this.setState({currentError: prevProps.errorResponse}) \r\n }\r\n }\r\n\r\n setCanEdit(period) {\r\n const isEnabled = periodActions.isReportingEnabled(period);\r\n this.setState({ canEdit: isEnabled });\r\n }\r\n\r\n handleDownloadAttachmentClick(attachmentGuid, attachmentName) {\r\n return fileActions.downloadChecklistQuestionnaireAttachment(this.props.psqActiveChecklist.checklistID,this.props.client.id, attachmentGuid, encodeURIComponent(attachmentName), this.props.isExternalPermUser ? null :\r\n actionHelpers.buildAuthHeader(\r\n this.props.checklistId,\r\n this.state.checklist.checklistTypeID\r\n ));\r\n\r\n }\r\n\r\n handleAddPsqSection2Row() {\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n const psqSection2 = checklist.content.find(x => x.type === 'PsqSection2');\r\n let items = psqSection2.items;\r\n if (items != null) {\r\n // Get the questions of type \"PsqSection2AdditionalServices\"\r\n const additionalServicesItems = items.filter(item => item.itemType === \"PsqSection2AdditionalServices\");\r\n\r\n // Get the last Service Provider exists on checklist.\r\n let lastItem = additionalServicesItems[additionalServicesItems.length - 1];\r\n const questionSortOrder = lastItem.questionSortOrder + 1;\r\n\r\n // Insert Service Provider question in ChecklistSectionQuestion table\r\n this.props.checklistActions.insertPsqServiceProviderQuestion({\r\n checklistId: this.props.psqActiveChecklist.checklistID,\r\n checklistSectionId: psqSection2.id,\r\n lastServiceProviderQuestionId: lastItem.id,\r\n questionSortOrder: questionSortOrder\r\n },\r\n this.props.isExternalPermUser ? null :\r\n actionHelpers.buildAuthHeader(\r\n this.props.checklistId,\r\n this.state.checklist.checklistTypeID\r\n ))\r\n .then((addServiceProviderQuestionResponse) => {\r\n // Get Service Provider Question JSON with actual IDs populated from addServiceProviderQuestionResponse\r\n let newItem = this.getServiceQuestionJSON(addServiceProviderQuestionResponse, psqSection2.sectionSortOrder, questionSortOrder);\r\n\r\n // Insert this Service Provider question into checklist\r\n checklist.content\r\n .find(x => x.type === 'PsqSection2')\r\n .items.push(newItem);\r\n\r\n this.setState({ checklist: checklist });\r\n\r\n // Append all these new question ids into state\r\n this.setState({ newQuestionIds: [...this.state.newQuestionIds, ...addServiceProviderQuestionResponse.map(q => q.questionId)] });\r\n\r\n this.disableSections(checklist);\r\n });\r\n }\r\n }\r\n\r\n handleRemovePsqSection2Row() {\r\n const item = this.state.selectedServiceProvider;\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n let section = checklist.content.find(x => x.type === 'PsqSection2');\r\n for (let i = 1; i < section.items.length; i++) {\r\n if (section.items[i].id === item.id) {\r\n let questionIdsToRemove = [item.id];\r\n questionIdsToRemove = [...questionIdsToRemove, ...item.children.map(x => x.id)];\r\n\r\n // Remove Service Provider question and it's childs from ChecklistSectionQuestion table\r\n this.props.checklistActions.removePsqServiceProviderQuestion({\r\n checklistId: this.props.psqActiveChecklist.checklistID,\r\n checklistSectionId: section.id,\r\n serviceProviderQuestionIdsToRemove: [item.checklistSectionQuestionID, ...item.children.map(x => x.checklistSectionQuestionID)]\r\n },\r\n this.props.isExternalPermUser ? null :\r\n actionHelpers.buildAuthHeader(\r\n this.props.checklistId,\r\n this.state.checklist.checklistTypeID\r\n ))\r\n .then((removeServiceProviderQuestionResponse) => {\r\n // Remove these question ids from state\r\n this.setState({ newQuestionIds: this.state.newQuestionIds.filter(x => !questionIdsToRemove.includes(x)) });\r\n\r\n // Remove the Service Provider question from checklist\r\n checklist.content\r\n .find(x => x.type === 'PsqSection2')\r\n .items.splice(i, 1);\r\n\r\n this.setState({ checklist: checklist });\r\n this.disableSections(checklist);\r\n });\r\n\r\n break;\r\n }\r\n }\r\n this.toggleShowDeleteChecklistServiceProvider();\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.commonActions.clearErrorResponse();\r\n }\r\n\r\n setGridColumnState() {\r\n let localState = '';\r\n if (this.state.activeItem === 'Comments') {\r\n localState = 'REITSuiteShowCommentsColumnState';\r\n }\r\n else if (this.state.activeItem === 'Attachments') {\r\n localState = 'REITSuiteShowAttachmentColumnState';\r\n }\r\n else if (this.state.activeItem === 'Discrepancies') {\r\n localState = 'REITSuiteShowDiscrepanyColumnState';\r\n }\r\n var columnState = localStorage.getItem(localState);\r\n if (columnState) {\r\n this.setState({ gridColumnState: JSON.parse(columnState) });\r\n }\r\n else {\r\n this.setState({ gridColumnState: [{ colId: '-1' }] });\r\n }\r\n }\r\n\r\n /**\r\n * Reset AG-Grid column state\r\n * @returns {undefined}\r\n */\r\n resetGridColumnState() {\r\n let localState = '';\r\n if (this.state.activeItem === 'Comments') {\r\n localState = 'REITSuiteShowCommentsColumnState';\r\n }\r\n else if (this.state.activeItem === 'Attachments') {\r\n localState = 'REITSuiteShowAttachmentColumnState';\r\n }\r\n else if (this.state.activeItem === 'Discrepancies') {\r\n localState = 'REITSuiteShowDiscrepanyColumnState';\r\n }\r\n localStorage.removeItem(localState);\r\n this.setState({ gridColumnState: [] });\r\n }\r\n\r\n /**\r\n * Handle Grid column state chagne\r\n * @returns {undefined}\r\n */\r\n handleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n }\r\n\r\n handleGridChanges(gridRowData) {\r\n let rowData = [];\r\n\r\n switch (this.state.activeItem) {\r\n case 'Comments': {\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n snapshotSectionName: x.snapshotSectionName,\r\n questionText: x.questionText,\r\n commentText: x.commentText,\r\n commentedBy: x.commentedBy,\r\n dateCommented: x.dateCommented,\r\n }\r\n });\r\n break;\r\n }\r\n case 'Attachments': {\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n snapshotSectionName: x.snapshotSectionName,\r\n questionText: x.questionText,\r\n attachedFileName: x.attachedFileName,\r\n uploadedBy: x.uploadedBy,\r\n dateUploaded: x.dateUploaded,\r\n }\r\n });\r\n break;\r\n }\r\n case 'Discrepancies': {\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n sectionName: x.sectionName,\r\n questionText: x.questionText,\r\n discrepancyMessage: x.discrepancyMessage,\r\n }\r\n });\r\n break;\r\n }\r\n }\r\n this.setState({ gridCurrentState: rowData });\r\n }\r\n\r\n setActiveItem(e, { name }) {\r\n const item = this.props.psqActiveChecklist.content.find(\r\n x => x.title === name,\r\n );\r\n if (item === undefined && name) {\r\n this.setState({ activeItem: name, isSubNavigation: true });\r\n }\r\n else if (this.state.disabledSections.find(x => x === item.id) === undefined) {\r\n this.setState({ activeItem: item, isSubNavigation: false });\r\n }\r\n }\r\n\r\n getChecklistCount(clientId, checklisId) {\r\n let checklistGuid = null;\r\n if (!this.props.isExternalPermUser) {\r\n checklistGuid = this.props.checklistId;\r\n }\r\n\r\n // this.props.checklistActions.fetchAttachmentDetail(clientId,\r\n // checklisId, null, checklistGuid,\r\n // \"PSQ\");\r\n\r\n this.getAttachmentDetails(clientId, checklisId, checklistGuid, \"PSQ\");\r\n // this.props.checklistActions.fetchQuestionComments(clientId, checklisId, checklistGuid,\r\n // \"PSQ\");\r\n this.getCommentsDetails(clientId, checklisId, checklistGuid, \"PSQ\")\r\n this.props.checklistActions.fetchChecklistDiscrepancies(clientId, checklisId, checklistGuid,\r\n \"PSQ\");\r\n\r\n this.props.checklistActions\r\n .fetchChecklistNavCounts(\r\n clientId,\r\n checklisId,\r\n checklistCountRequest.ChecklistCountRequest,\r\n checklistGuid,\r\n \"PSQ\"\r\n )\r\n .then((data) => {\r\n this.setState({ counters: data });\r\n });\r\n\r\n }\r\n\r\n getAttachmentDetails(clientId, checklisId, checklistGuid, checklistType) {\r\n this.props.checklistActions.fetchAttachmentDetail(clientId, checklisId, null, checklistGuid, checklistType)\r\n .then(() => {\r\n if (this.props.psqActiveChecklist && this.props.psqActiveChecklist !== null && this.props.psqActiveChecklist.content.length > 0) {\r\n const updatedAttachmentDetails = this.props.attachmentDetails.map((attachment) => {\r\n const updatedQuestionText = this.getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId({ ...this.props.psqActiveChecklist }, attachment.questionID);\r\n\r\n return {\r\n ...attachment,\r\n questionText: updatedQuestionText === '' ? attachment.questionText : updatedQuestionText\r\n };\r\n });\r\n\r\n this.setState({ attachmentDetails: updatedAttachmentDetails });\r\n }\r\n });\r\n }\r\n\r\n getCommentsDetails(clientId, checklisId, checklistGuid, checklistType) {\r\n this.props.checklistActions.fetchQuestionComments(clientId, checklisId, checklistGuid, checklistType)\r\n .then(() => {\r\n if (this.props.psqActiveChecklist && this.props.psqActiveChecklist !== null && this.props.psqActiveChecklist.content.length > 0) {\r\n const updatedCommentsDetails = this.props.questionComments.map((comment) => {\r\n const updatedQuestionText = this.getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId({ ...this.props.psqActiveChecklist }, comment.checklistSectionQuestionID);\r\n\r\n return {\r\n ...comment,\r\n questionText: updatedQuestionText === '' ? comment.questionText : updatedQuestionText\r\n };\r\n });\r\n\r\n this.setState({ questionComments: updatedCommentsDetails });\r\n }\r\n });\r\n }\r\n\r\n checkReportPeriodVisibilityConstraint() {\r\n return this.props.checklistActions\r\n .allowUpdateAsPerReportPeriodVisibilityConstraint(\r\n this.state.checklist.checklistID,\r\n \"PSQ\",\r\n !this.props.isExternalPermUser,\r\n !this.props.isExternalPermUser ? \r\n actionHelpers.buildAuthHeader(\r\n this.props.checklistId,\r\n \"PSQ\"\r\n ) \r\n : null\r\n );\r\n }\r\n\r\n \r\n\r\n handleGridRowDeleteById(id) {\r\n // Before delete, check whether report period of checklist having visibility status as hidden\r\n this.checkReportPeriodVisibilityConstraint().then((response) => {\r\n let proceedWithAction = true;\r\n if(response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND'){\r\n proceedWithAction = false;\r\n }\r\n\r\n if(proceedWithAction){\r\n let activeTab = this.state.activeItem;\r\n if (this.state.activeItem === \"Attachments\") {\r\n this.setState({ selectedAttachmentId: id });\r\n } else if (this.state.activeItem === \"Comments\") {\r\n this.setState({ selectedCommentId: id });\r\n } else {\r\n activeTab = \"Attachments\";\r\n this.setState({ selectedAttachmentId: id });\r\n }\r\n this.setState({ deleteFor: activeTab });\r\n this.toggleShowChecklistGridRowDelete();\r\n }\r\n }); \r\n }\r\n\r\n handleServiceProviderDelete(item) {\r\n this.setState({ selectedServiceProvider: item });\r\n this.toggleShowDeleteChecklistServiceProvider();\r\n }\r\n\r\n toggleShowDeleteChecklistServiceProvider() {\r\n this.setState({\r\n showDeleteChecklistServiceProviderModal: !this.state.showDeleteChecklistServiceProviderModal\r\n });\r\n }\r\n\r\n toggleShowChecklistGridRowDelete() {\r\n const showToggle = !this.state.showDeleteChecklistGridRowModal;\r\n this.setState({\r\n showDeleteChecklistGridRowModal: showToggle,\r\n });\r\n }\r\n\r\n deleteAttachment() {\r\n let checklistGuid = null;\r\n if (!this.props.isExternalPermUser) {\r\n checklistGuid = this.props.checklistId;\r\n }\r\n const clientId = this.props.client.id;\r\n this.props.checklistActions\r\n .deleteAttachment(\r\n this.state.selectedAttachmentId,\r\n clientId,\r\n checklistGuid,\r\n \"PSQ\"\r\n )\r\n .then((data) => {\r\n this.props.checklistActions.fetchAttachmentDetail(\r\n clientId,\r\n this.props.psqActiveChecklist.checklistID,\r\n null,\r\n checklistGuid,\r\n \"PSQ\"\r\n );\r\n\r\n this.props.checklistActions\r\n .fetchChecklistNavCounts(\r\n clientId,\r\n this.props.psqActiveChecklist.checklistID,\r\n checklistCountRequest.ChecklistCountRequest,\r\n checklistGuid,\r\n \"PSQ\"\r\n );\r\n\r\n this.toggleShowChecklistGridRowDelete();\r\n })\r\n .catch((error) => {\r\n this.toggleShowChecklistGridRowDelete();\r\n });\r\n }\r\n\r\n\r\n deleteComment() {\r\n let checklistGuid = null;\r\n if (!this.props.isExternalPermUser) {\r\n checklistGuid = this.props.checklistId;\r\n }\r\n const clientId = this.props.client.id;\r\n this.props.checklistActions\r\n .deleteComment(\r\n this.state.selectedCommentId,\r\n clientId, checklistGuid, \"PSQ\"\r\n )\r\n .then((data) => {\r\n this.props.checklistActions.fetchQuestionComments(clientId, this.props.psqActiveChecklist.checklistID, checklistGuid, \"PSQ\");\r\n\r\n this.props.checklistActions\r\n .fetchChecklistNavCounts(\r\n clientId,\r\n this.props.psqActiveChecklist.checklistID,\r\n checklistCountRequest.ChecklistCountRequest,\r\n checklistGuid, \"PSQ\"\r\n );\r\n\r\n\r\n this.toggleShowChecklistGridRowDelete();\r\n })\r\n .catch((error) => {\r\n this.toggleShowChecklistGridRowDelete();\r\n });\r\n }\r\n\r\n handleSaveCommentExternal(questionId, commentText) {\r\n return this.handleSaveComment(questionId, commentText, true, !this.props.isExternalPermUser);\r\n }\r\n\r\n getIsGridNoDataFound(name) {\r\n if ((name === \"Comments\"\r\n && this.props.questionComments\r\n && this.props.questionComments.length === 0)\r\n || (name === \"Attachments\"\r\n && this.props.attachmentDetails\r\n && this.props.attachmentDetails.length === 0)\r\n || (name === \"Discrepancies\"\r\n && this.props.discrepanciesDetail\r\n && this.props.discrepanciesDetail.length === 0)) {\r\n return true;\r\n }\r\n else { return false; }\r\n }\r\n\r\n handleSaveExternalPsqChecklist() {\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n this.saveExternalChecklist(checklist, this.props.checklistId, 'PSQ');\r\n }\r\n\r\n handleSubmit() {\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n checklist.sendNotification = true;\r\n this.saveExternalChecklist(checklist, this.props.checklistId, 'PSQ');\r\n\r\n this.showSendModal();\r\n }\r\n\r\n handleExternalConfirmationAction(e) {\r\n const value = e?.target?.value || \"CANCEL\"; \r\n\r\n if (value === \"CANCEL\") {\r\n this.showConfirmationModal();\r\n return;\r\n }\r\n if(value === \"INPROGRESS\" && this.state.checklist.checklistStateID === 'PENDINGINTERNALREVIEW'){\r\n this.showConfirmationModal();\r\n return;\r\n }\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n checklist.checklistStateID = e.target.value;\r\n this.setState({ checklist: checklist });\r\n if (e.target.value === 'PENDINGEYREVIEW') {\r\n checklist.sendNotification = true;\r\n this.setState({ isSubmittedForEyReview: true });\r\n }\r\n\r\n this.saveExternalChecklist(checklist, this.props.checklistId, 'PSQ');\r\n this.showConfirmationModal();\r\n }\r\n\r\n showForwardPsqForInternalReviewModal() {\r\n this.setState({\r\n showForwardPsqForInternalReviewModal: true, \r\n internalReviewEmails: [],\r\n });\r\n }\r\n\r\n hideForwardPsqForInternalReviewModal() {\r\n this.handleDismissForwardPsqErrorMessage();\r\n this.setState({\r\n showForwardPsqForInternalReviewModal: false,\r\n inititiallySetEmails: false,\r\n forwardPsqFormLoaded: false,\r\n });\r\n }\r\n\r\n submitForwardPsqForInternalReviewModal() {\r\n let checklistDetails= JSON.parse(JSON.stringify(this.state.checklist));\r\n checklistDetails.checklistStateID= 'PENDINGINTERNALREVIEW';\r\n this.saveExternalChecklist(\r\n checklistDetails,\r\n this.props.checklistId,\r\n 'PSQ',\r\n );\r\n\r\n const emails = this.state.internalReviewEmails;\r\n // Determine the action to perform based on the user type\r\n const action = this.props.isExternalPermUser ? checklistActions.sendPsqInternalReviewEmailForExtPerm : checklistActions.sendPsqInternalReviewEmail;\r\n const checklistId= this.props.isExternalPermUser ? this.props.psqActiveChecklist.checklistID: this.props.checklistId;\r\n return action(checklistId, emails)\r\n .then(response => {\r\n if (response.ok) {\r\n return null;\r\n }\r\n\r\n return response.json();\r\n })\r\n .then(json => {\r\n if (json == null) {\r\n this.setState({ checklist: checklistDetails });\r\n this.hideForwardPsqForInternalReviewModal();\r\n \r\n return;\r\n }\r\n\r\n if (actionHelpers.isErrorResponse(json)) {\r\n return formHelpers.generateSubmissionError(json);\r\n }\r\n\r\n return formHelpers.generateSubmissionError();\r\n })\r\n .catch(error => {\r\n if (error instanceof SubmissionError) {\r\n throw error;\r\n }\r\n\r\n return formHelpers.generateSubmissionError();\r\n });\r\n }\r\n\r\n setInternalReviewEmailFieldReference(ref) {\r\n this.setState({ forwardPsqFormLoaded: true });\r\n }\r\n\r\n setInititiallySetEmailsFrwd () {\r\n this.setState({ isInititiallySetEmailsFrwd: true });\r\n }\r\n\r\n handleInternalReviewEmailFieldChanged(values) {\r\n let uniqueValues =\r\n (Array.isArray(values) &&\r\n values.filter((value, index, self) => self.indexOf(value) === index)) ||\r\n values;\r\n\r\n this.setState({ internalReviewEmails: uniqueValues });\r\n }\r\n\r\n handleDismissForwardPsqErrorMessage() {\r\n this.props.commonActions.clearFormErrors('forwardPsqForInternalReview');\r\n }\r\n\r\n downloadChecklist(withAnswer) {\r\n this.checkReportPeriodVisibilityConstraint().then((response) => {\r\n let proceedWithAction = true;\r\n \r\n if(response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND'){\r\n proceedWithAction = false;\r\n }\r\n\r\n if(proceedWithAction){\r\n const reportPeriodDescription = this.props.isExternalPermUser ? this.state.period.reportPeriodDescription : this.props.period.reportPeriodDescription;\r\n const reportPeriodID = this.props.isExternalPermUser ? this.state.period.reportPeriodID : this.props.period.reportPeriodID;\r\n const checklistGuid = this.props.checklistId;\r\n const filename = `${this.state.reit.reitName}_${reportPeriodDescription.replace(' ', '')}_PSQ_Checklist.docx`\r\n this.props.commonActions.clearErrorResponse();\r\n this.props.reportActions.downloadChecklist('reitName=' + this.state.reit.reitName + ',periodDesc=' + reportPeriodDescription, reportPeriodID, 'PSQ', this.state.checklist.checklistID, withAnswer, filename, true, checklistGuid);\r\n }\r\n });\r\n}\r\n\r\n isChecklistContentEnabled() {\r\n return this.props.psqActiveChecklist !== null &&\r\n this.props.psqActiveChecklist.checklistStateID !== undefined &&\r\n this.props.psqActiveChecklist.checklistStateID.toLowerCase() !== 'completed' &&\r\n this.props.psqActiveChecklist.checklistStateID.toLowerCase() !== \"pendingeyreview\" &&\r\n !this.state.isSubmittedForEyReview;\r\n }\r\n\r\n handlePsqCompletionRequirement(completionPercentage) {\r\n // PSQ Completion requirement is fulfilled when either checklist is completed 100% or is it not enabled for client\r\n this.setState({\r\n checklistCompletionPercentage: completionPercentage,\r\n isPsqCompletionRequirementFulfilled: this.props.client.isPsqCompletionRequirementEnabled\r\n ? completionPercentage === 100\r\n : true\r\n });\r\n }\r\n \r\n handleOnSubmitInternallyBtnClick() {\r\n if (this.props.isExternalPermUser) {\r\n this.props.checklistActions.fetchExternalPermPsqChecklists(this.props.internalChecklistId, true).then((result) => {\r\n if (!(result && result.errorResponse && result.errorResponse.errorCode === \"CHECKLIST_SUBMITTED\")) {\r\n this.checkReportPeriodVisibilityConstraint().then((response) => {\r\n if (!(response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND')) {\r\n this.showForwardPsqForInternalReviewModal();\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.props.checklistActions.fetchExternalPsqChecklistsById(this.props.checklistId, true).then((result) => {\r\n if (!(result && result.errorResponse && result.errorResponse.errorCode === \"CHECKLIST_SUBMITTED\")) {\r\n this.checkReportPeriodVisibilityConstraint().then((response) => {\r\n if (!(response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND')) {\r\n this.showForwardPsqForInternalReviewModal();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n \r\n handleOnSubmitEyReviewBtnClick() {\r\n if (this.props.isExternalPermUser){\r\n this.props.checklistActions.fetchExternalPermPsqChecklists(this.props.internalChecklistId, true).then((result) => {\r\n if (!(result && result.errorResponse && result.errorResponse.errorCode === \"CHECKLIST_SUBMITTED\")) {\r\n this.checkReportPeriodVisibilityConstraint().then((response) => {\r\n if (!(response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND')) {\r\n this.showConfirmationModal();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n else{\r\n this.props.checklistActions.fetchExternalPsqChecklistsById(this.props.checklistId, true).then((result) => {\r\n if (!(result && result.errorResponse && result.errorResponse.errorCode === \"CHECKLIST_SUBMITTED\")) {\r\n this.checkReportPeriodVisibilityConstraint().then((response) => {\r\n if (!(response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND')) {\r\n this.showConfirmationModal();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n \r\n handleSaveBtnClick() {\r\n if (this.props.isExternalPermUser){\r\n this.props.checklistActions.fetchExternalPermPsqChecklists(this.props.internalChecklistId, true).then((result) => { \r\n if (!(result && result.errorResponse && result.errorResponse.errorCode === \"CHECKLIST_SUBMITTED\")) {\r\n if(this.state.checklist){\r\n var updatedChecklist = this.state.checklist;\r\n updatedChecklist.checklistStateID = result.checklistStateID;\r\n this.setState({ checklist: updatedChecklist });\r\n }\r\n \r\n this.checkReportPeriodVisibilityConstraint().then((response) => {\r\n if (!(response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND')) {\r\n this.handleSaveExternalPsqChecklist();\r\n }\r\n });\r\n }\r\n });\r\n } \r\n else{\r\n this.props.checklistActions.fetchExternalPsqChecklistsById(this.props.checklistId, true).then((result) => { \r\n if (!(result && result.errorResponse && result.errorResponse.errorCode === \"CHECKLIST_SUBMITTED\")) {\r\n if(this.state.checklist){\r\n var updatedChecklist = this.state.checklist;\r\n updatedChecklist.checklistStateID = result.checklistStateID;\r\n this.setState({ checklist: updatedChecklist });\r\n }\r\n\r\n this.checkReportPeriodVisibilityConstraint().then((response) => {\r\n if (!(response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND')) {\r\n this.handleSaveExternalPsqChecklist();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n}\r\n\r\n getDetails() {\r\n const isEnabled = this.isChecklistContentEnabled();\r\n\r\n if (\r\n this.state.showDetails &&\r\n this.state.checklist !== null &&\r\n this.props.services\r\n ) {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {!this.state.isSubNavigation && (\r\n <>\r\n {this.state.checklist.content.map(section => (\r\n \r\n ))}\r\n \r\n )}\r\n {this.state.isSubNavigation && (\r\n <>\r\n
    {this.state.activeItem}
    \r\n\r\n {this.getIsGridNoDataFound(this.state.activeItem) &&\r\n
    No {this.state.activeItem.toLowerCase()} found for this checklist.
    \r\n }\r\n\r\n {this.state.activeItem === 'Comments' &&\r\n \r\n }\r\n {this.state.activeItem === 'Attachments' &&\r\n {\r\n this.checkReportPeriodVisibilityConstraint().then((response) => {\r\n let proceedWithAction = true;\r\n \r\n if(response && response.errorResponse && response.errorResponse.errorCode === 'RESOURCE_NOT_FOUND'){\r\n proceedWithAction = false;\r\n }\r\n if(proceedWithAction){\r\n this.handleDownloadChecklistFileExternal(checklistFileAttachmentId, fileName);\r\n }\r\n });\r\n }\r\n }\r\n canEdit={this.state.canEdit && this.isChecklistContentEnabled()}\r\n />\r\n }\r\n {this.state.activeItem === 'Discrepancies' &&\r\n \r\n }\r\n \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 * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n if (\r\n this.props.errorResponse &&\r\n (this.props.errorResponse.errorCode === 'LINK_EXPIRED' ||\r\n this.props.errorResponse.errorCode === 'UNKNOWN' || this.props.errorResponse.errorCode === 'FORBIDDEN')\r\n || (this.state.currentError && \r\n (this.state.currentError.errorCode === \"LINK_EXPIRED\" || \r\n this.state.currentError.errorCode === \"UNKNOWN\" || this.state.currentError.errorCode === 'FORBIDDEN'))\r\n ) {\r\n return (\r\n
    \r\n

    Property Service Questionnaire

    \r\n
    \r\n

    We apologize this link has expired.

    \r\n
    \r\n );\r\n }\r\n\r\n if (!this.props.isExternalPermUser && (\r\n (this.props.errorResponse && this.props.errorResponse.errorCode === 'CHECKLIST_SUBMITTED') ||\r\n (this.props.psqActiveChecklist && this.props.psqActiveChecklist.checklistStateID === 'PendingEyReview') ||\r\n this.state.isSubmittedForEyReview\r\n || (this.state.currentError && this.state.currentError.errorCode === \"CHECKLIST_SUBMITTED\"))) {\r\n return (\r\n
    \r\n

    Property Service Questionnaire

    \r\n
    \r\n

    This PSQ has been submitted for EY review.

    \r\n
    \r\n );\r\n } \r\n\r\n if (\r\n (this.props.errorResponse &&\r\n this.props.errorResponse.errorCode === 'RESOURCE_NOT_FOUND') ||\r\n (this.state.currentError && this.state.currentError.errorCode === \"RESOURCE_NOT_FOUND\")\r\n ) {\r\n return (\r\n
    \r\n

    Property Service Questionnaire

    \r\n
    \r\n

    We apologize this link has expired.

    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {this.getPsqQuestionnaireTitle()}

    \r\n {this.props.psqActiveChecklist && (this.props.psqActiveChecklist.checklistTemplateID < 0 ? \"\" :\r\n
    \r\n
    Property Name: {this.props.psqActiveChecklist.propertyName}
    \r\n
    Property Address: {this.props.psqActiveChecklist.propertyFullAddress}
    \r\n
    )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n if(this.props.isExternalPermUser){\r\n this.props.checklistActions.fetchExternalPermPsqChecklists(this.props.internalChecklistId);}\r\n else{this.props.checklistActions.fetchExternalPsqChecklistsById(this.props.checklistId); } \r\n }\r\n }\r\n placement=\"bottom-end\"\r\n id={'checklist-dropdown'}\r\n aria-labelledby={'client-management-trigger'}\r\n data-testid=\"btnDownloadChecklist\"\r\n handleClickOutside={() => this.setState({ checklistDropdownOpen: false })}\r\n trigger={\r\n 0)}\r\n type=\"button\"\r\n variant=\"primary-alt\"\r\n onClick={() => this.setState({ checklistDropdownOpen: !this.state.checklistDropdownOpen })}\r\n aria-controls={'checklist-dropdown'}\r\n id={'checklist-dropdown-trigger'}\r\n aria-expanded={this.state.checklistDropdownOpen}\r\n aria-label=\"Download checklist dropdown\"\r\n >\r\n Download Checklist \r\n \r\n }\r\n >\r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITH_ANSWERS'); }}>\r\n With Answers Only\r\n \r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITH_ANSWERS_COMMENTS') }}>\r\n With Answers And Comments\r\n \r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITHOUT_ANSWERS'); }}>\r\n Without Answers or Comments\r\n \r\n \r\n \r\n\r\n {\r\n this.handleOnSubmitEyReviewBtnClick();\r\n }}\r\n >\r\n Submit for EY Review\r\n \r\n }>\r\n Please make sure to complete the checklist in order to submit for review.\r\n \r\n\r\n \r\n {\r\n this.handleOnSubmitInternallyBtnClick();\r\n }}\r\n disabled={!this.isChecklistContentEnabled()}>\r\n Submit Internally\r\n \r\n \r\n {this.handleSaveBtnClick();}\r\n }\r\n disabled={!this.isChecklistContentEnabled()}>\r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Display Unanswered Questions Only:\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {/* Do Not show Display Changed Answers button to Unregistered External users*/}\r\n {(this.props.isExternalPermUser &&\r\n this.state.showDetails &&\r\n this.props.psqActiveChecklist &&\r\n this.props.previousPsqChecklist &&\r\n Array.isArray(this.props.previousPsqChecklist.content) &&\r\n this.props.previousPsqChecklist.content.length > 0 && (\r\n
    \r\n
    \r\n Display Changed Answers:\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.psqActiveChecklist &&\r\n this.props.psqActiveChecklist.prePopulateAnswerOptionID === 1 &&\r\n
    \r\n (Pre-populated with answers from prior period)\r\n
    }\r\n\r\n {this.getDetails()}\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nExternalPsqChecklistPage.propTypes = {\r\n client: PropTypes.object.isRequired,\r\n reit: PropTypes.object.isRequired,\r\n periodId: PropTypes.number.isRequired,\r\n psqChecklists: PropTypes.array,\r\n psqActiveChecklist: PropTypes.object,\r\n checklistActions: PropTypes.object,\r\n propertyActions: PropTypes.object,\r\n periodActions: PropTypes.object,\r\n fileActions: PropTypes.object,\r\n properties: PropTypes.array,\r\n checklistId: PropTypes.string.isRequired,\r\n errorResposne: PropTypes.shape({\r\n errorCode: PropTypes.string,\r\n message: PropTypes.string,\r\n }),\r\n services: PropTypes.array,\r\n previousPsqChecklist: PropTypes.object,\r\n internalChecklistId: PropTypes.string,\r\n authenticationScope: PropTypes.string,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n client: state.client,\r\n periodId: Number.parseInt(ownProps.router.params.periodId),\r\n psqChecklists: state.externalPsq,\r\n psqActiveChecklist: state.psqActiveChecklist,\r\n checklistFiles: state.checklistFiles,\r\n reit: state.reit,\r\n properties: state.properties,\r\n checklistId: ownProps.router.params.checklistId,\r\n errorResponse: state.errorResponse,\r\n services: state.services,\r\n period: state.period,\r\n previousPsqChecklist: state.previousPsqChecklist,\r\n internalChecklistId: ownProps.router.params.internalChecklistId,\r\n isExternalPermUser: ownProps.router.params.checklistId ? false : true,\r\n authenticationScope: state.authenticationScope,\r\n lookupTypes: state.lookupTypes,\r\n questionComments: state.questionComments,\r\n attachmentDetails: state.attachmentDetail,\r\n discrepanciesDetail: state.discrepanciesDetail,\r\n checklistCounter: state.checklistsCounter,\r\n lastServiceProviderQuestionId: state.lastServiceProviderQuestionId,\r\n allowUpdateReportPeriodVisibilityConstraintResult: state.allowUpdateReportPeriodVisibilityConstraintResult\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n checklistActions: bindActionCreators(checklistActions, dispatch),\r\n propertyActions: bindActionCreators(propertyActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n serviceActions: bindActionCreators(serviceActions, dispatch),\r\n periodActions: bindActionCreators(periodActions, dispatch),\r\n reportActions: bindActionCreators(reportActions, dispatch),\r\n fileActions: bindActionCreators(fileActions, dispatch),\r\n reitActions: bindActionCreators(reitActions, dispatch),\r\n clientActions: bindActionCreators(clientActions, dispatch),\r\n lookupTypeActions: bindActionCreators(lookupTypeActions, dispatch),\r\n customChecklistTemplateActions: bindActionCreators(customChecklistTemplateActions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n )(ExternalPsqChecklistPage)\r\n);\r\n","import React from 'react';\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from 'react-redux';\r\n\r\nimport { withMsal } from \"@azure/msal-react\";\r\n\r\n/**\r\n * CallbackPage container component\r\n * @extends {React.Component}\r\n */\r\nclass CallbackPage extends React.Component {\r\n /**\r\n * Creates a new CallbackPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n message: \"Redirecting...\"\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n
    \r\n
    {this.state.message}
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nCallbackPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nexport default connect()(withMsal(CallbackPage));","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromReportApi as fetch } from './fetchFromApi';\r\nimport { download, decodeURIComponentSafe } from '../scripts/fileHelpers';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\n\r\n/**\r\n * Uploads the final report.\r\n * @param {number} periodId The ID of the report period that the report belongs to.\r\n * @param {any} file The file to upload.\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function uploadFinalReport(periodId, file) {\r\n let formData = new FormData();\r\n formData.append(\"periodId\", periodId);\r\n formData.append(\"file\", file);\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch('/finalDeliverableReport',\r\n {\r\n method: 'POST',\r\n body: formData\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n } else {\r\n return response.json();\r\n }\r\n }).then(json => {\r\n\r\n if (json) {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.UPLOAD_FINAL_REPORT_FAILURE, json);\r\n } else {\r\n dispatch({ type: actions.UPLOAD_FINAL_REPORT_SUCCESS, [pendingTask]: end });\r\n }\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.UPLOAD_FINAL_REPORT_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Retrieves uploaded report information.\r\n * @param {number} periodId The ID of the report period that the report belongs to.\r\n * @returns {any} A function that returns a Promise.\r\n */\r\nexport function fetchUploadedReport(periodId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/finalDeliverableReport?periodid=${periodId}`).then(response => {\r\n return response.json();\r\n }).then(files => {\r\n if (actionHelpers.isErrorResponse(files)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_FINAL_REPORT_FAILURE, files);\r\n }\r\n\r\n dispatch({ type: actions.LOAD_FINAL_REPORT_SUCCESS, finalReport: files[0], [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_FINAL_REPORT_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Downloads a report.\r\n * @param {number} periodId The ID of the report period that the report belongs to.\r\n * @param {any} fileName The filename of the report to download.\r\n * @returns {any} A Promise.\r\n */\r\nexport function downloadFinalReport(periodId, fileName) {\r\n return fetch(`/finalDeliverableReport?periodid=${periodId}&fileName=${encodeURIComponent(fileName)}`)\r\n .then(function (response) {\r\n return response.blob().then(function (blob) {\r\n download(blob, decodeURIComponentSafe(fileName,1));\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Clears the success message from uploading a report.\r\n * @returns {any} A function that dispatches an action.\r\n */\r\nexport function clearUploadFinalReportSuccess() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.UPLOAD_FINAL_REPORT_CLEAR });\r\n };\r\n}\r\n\r\n/**\r\n * Deletes a report\r\n * @param {number} periodId The ID of the report period that the report belongs to.\r\n * @returns {any} A Promise.\r\n */\r\nexport function deleteFinalReport(periodId) {\r\n\r\n return fetch('/finalDeliverableReport',\r\n {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'DELETE',\r\n body: JSON.stringify({ periodId })\r\n }).then(response => {\r\n if (response.ok) {\r\n return null;\r\n } else {\r\n return response.json();\r\n }\r\n });\r\n}","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Breadcrumb, Message } from 'semantic-ui-react';\r\nimport ErrorSummary from '../shared/ErrorSummary';\r\nimport { MotifToast } from '@ey-xd/motif-react';\r\n\r\nconst FileNotifications = ({ errorResponse, tbUploadSuccess, fileUploadSuccess, handleDismissErrorMessage, handleDismissSuccessMessage }) => {\r\n return (\r\n
    \r\n {(errorResponse && ) || (tbUploadSuccess && (\r\n Your trial balance has been uploaded to REITSuite for processing.\r\n )) || (fileUploadSuccess && (\r\n File Uploaded Successfully\r\n ))}\r\n
    \r\n );\r\n};\r\n\r\nFileNotifications.propTypes = {\r\n errorResponse: PropTypes.object,\r\n tbUploadSuccess: PropTypes.bool,\r\n fileUploadSuccess: PropTypes.bool,\r\n handleDismissErrorMessage: PropTypes.func,\r\n handleDismissSuccessMessage: PropTypes.func\r\n};\r\n\r\nexport default FileNotifications;\r\n\r\n\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Breadcrumb } from 'semantic-ui-react';\r\nimport ErrorSummary from '../shared/ErrorSummary';\r\nimport $ from 'jquery';\r\nimport { FileField } from \"../shared/formFields\";\r\nimport { MotifButton } from '@ey-xd/motif-react';\r\n\r\nconst OtherFileUpload = ({ onSubmit, onFileChange, file, canUpload, title }) => {\r\n const clearFileInput = () => {\r\n $('input[name=otherFileToUpload]').val(\"\");\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {(title &&
    {title}
    ) ||
    General & Other Files{canUpload ? \"\" : \" - Period Closed\"}
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Upload\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nOtherFileUpload.propTypes = {\r\n onSubmit: PropTypes.func.isRequired,\r\n onFileChange: PropTypes.func.isRequired,\r\n reit: PropTypes.shape({\r\n id: PropTypes.number,\r\n name: PropTypes.string\r\n }),\r\n file: PropTypes.object,\r\n canUpload: PropTypes.bool,\r\n title: PropTypes.string\r\n};\r\n\r\nexport default OtherFileUpload;\r\n","import React from 'react';\r\nimport { MotifIcon, MotifIconButton } from '@ey-xd/motif-react';\r\nimport { IconoirTrash, IconoirDownload } from '@ey-xd/motif-icon';\r\n\r\nexport default (props) => {\r\n return (\r\n
    \r\n
    \r\n\r\n props.onDownload(encodeURIComponent(props?.data.fileName))}\r\n data-testId=\"downloadFile\">\r\n \r\n \r\n\r\n {props.canUpload &&\r\n props.onDelete(props?.data.fileName)}\r\n data-testId=\"delete\">\r\n \r\n \r\n ||\r\n \r\n \r\n \r\n }\r\n\r\n
    \r\n\r\n
    \r\n );\r\n}","import React, { useMemo, useState, useRef, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport { handleFilterChanged, handleFirstDataRendered, handleGridReady, tableHeaderClass, handleItemsPerPageChange } from '../../common/AgGridEventHandlers';\r\nimport CustomPagination from '../../common/MotifPagination';\r\nimport FileManagementCellRenderer from './customRenderer/FileManagementCellRenderer';\r\nimport 'ag-grid-enterprise';\r\nimport 'ag-grid-community/styles/ag-grid.css';\r\nimport 'ag-grid-community/styles/ag-theme-alpine.css';\r\nimport CustomHeaderTemplate from \"../checklistDeliveryCalendar/customHeaders/CustomHeaderTemplate.js\";\r\nimport { MotifTable } from '@ey-xd/motif-react';\r\n\r\nconst FileList = ({ files, onDownload, onDelete, canUpload, emptyMessage, handleGridChanges }) => {\r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n const dateOptions = {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric',\r\n };\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: 'fileName', headerName: 'File Name', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 900,\r\n headerComponentParams: {template: CustomHeaderTemplate(\"fileName\"),},\r\n \r\n },\r\n {\r\n field: 'lastModified', headerName: 'Date Uploaded', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 100,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data[\"lastModified\"] ? (new Date(params.node.data[\"lastModified\"] + 'Z')).toLocaleString('en-US', dateOptions) : ''\r\n : null;\r\n },\r\n headerComponentParams: {template: CustomHeaderTemplate(\"lastModified\"),},\r\n\r\n },\r\n {\r\n headerName: '', suppressMenu: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 50,\r\n cellRenderer: FileManagementCellRenderer, cellRendererParams: { canUpload, onDownload, onDelete },\r\n }\r\n ];\r\n };\r\n\r\n //Handle deselect all event\r\n const handleDeselectAll = (val) => {\r\n // set current page and total pages to 0\r\n setCurrentPage(0); \r\n setTotalPages(0); \r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n useEffect(() => {\r\n handleGridChanges(rowData, gridRef && gridRef.current ? gridRef.current.api : null);\r\n if (rowData?.length > 0 && gridRef.current.api !== undefined) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n setRowData(files);\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n }, [files]);\r\n\r\n const rowHeight = 50; \r\n const headerHeight = 50; \r\n const totalHeight = (rowData?.length <= 5 ? rowData?.length : 5) * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return (\r\n
    \r\n {(rowData?.length > 0) &&\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleGridReady(event, gridRef, setCurrentPage, setItemsPerPage, setTotalPages, 'REITSuiteClientListColumnState', handleDeselectAll)}\r\n onFirstDataRendered={handleFirstDataRendered(gridRef)}\r\n ref={gridRef}\r\n pagination={true}\r\n suppressPaginationPanel={true}\r\n paginationPageSize={100}\r\n groupDisplayType={'custom'}\r\n groupSelectsChildren={true}\r\n groupDefaultExpanded={0}\r\n onFilterChanged={handleFilterChanged(gridRef, currentPage, setCurrentPage, setTotalPages)}\r\n data-testid=\"divFileListGrid\"\r\n deltaRowDataMode={true}\r\n />\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n {(files && files.length === 0 &&
    {emptyMessage}
    ) || null}\r\n
    \r\n );\r\n};\r\n\r\nFileList.propTypes = {\r\n files: PropTypes.array,\r\n onDownload: PropTypes.func,\r\n onDelete: PropTypes.func,\r\n canUpload: PropTypes.bool,\r\n emptyMessage: PropTypes.string\r\n};\r\n\r\nexport default FileList;","import React from 'react';\r\nimport { MotifIcon, MotifIconButton,MotifTextLink } from '@ey-xd/motif-react';\r\nimport { IconoirTrash, IconoirDownload } from '@ey-xd/motif-icon';\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport default (props) => {\r\n return (\r\n
    \r\n
    \r\n {(props.column.colId == \"attachedFileName\") &&\r\n {e.preventDefault();props.onDownload(props?.data.checklistSectionQuestionAttachmentID,props?.data.attachedFileName)}}>\r\n {props?.data.attachedFileName} \r\n \r\n }\r\n
    \r\n {(props.column.colId == \"action\") &&\r\n
    \r\n\r\n props.onDownload(props?.data.checklistSectionQuestionAttachmentID,props?.data.attachedFileName)}\r\n data-testId=\"downloadFile\">\r\n \r\n \r\n\r\n {props.canDelete &&\r\n props.onDelete(props?.data.checklistSectionQuestionAttachmentID)}\r\n data-testId=\"delete\">\r\n \r\n \r\n ||\r\n \r\n \r\n \r\n }\r\n
    \r\n }\r\n\r\n
    \r\n\r\n \r\n );\r\n}\r\n","import React, { useMemo, useState, useRef, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport { handleFilterChanged, handleFirstDataRendered, handleGridReady, handleItemsPerPageChange } from '../../common/AgGridEventHandlers';\r\nimport CustomPagination from '../../common/MotifPagination';\r\nimport ChecklistAttachmentFileCellRenderer from './customRenderer/ChecklistAttachmentFileCellRenderer';\r\nimport CustomHeaderTemplate from \"../checklistDeliveryCalendar/customHeaders/CustomHeaderTemplate.js\";\r\nimport { MotifTable } from '@ey-xd/motif-react';\r\n\r\nconst ChecklistAttachmentFileList = ({ files, onDownload, onDelete, canDelete, emptyMessage, handleGridChanges }) => {\r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n const dateOptions = {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric',\r\n };\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: 'attachedFileName', headerName: 'File Name', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 400,\r\n cellRenderer: ChecklistAttachmentFileCellRenderer, cellRendererParams: { onDownload }\r\n },\r\n {\r\n field: 'checklistTypeID', headerName: 'Checklist Type', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 90,\r\n valueGetter: (params) => {\r\n return getChecklistType(params.data.checklistTypeID);\r\n },\r\n headerComponentParams: {template: CustomHeaderTemplate(\"checklistTypeID\"),},\r\n },\r\n\r\n {\r\n field: 'createdBy', headerName: 'Uploaded By', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 300,\r\n headerComponentParams: {template: CustomHeaderTemplate(\"createdBy\"),},\r\n },\r\n {\r\n field: 'createdDateTime', headerName: 'Date Uploaded', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 100,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data[\"createdDateTime\"] ? (new Date(params.node.data[\"createdDateTime\"] + 'Z')).toLocaleString('en-US', dateOptions) : ''\r\n : null;\r\n },\r\n headerComponentParams: {template: CustomHeaderTemplate(\"createdDateTime\"),},\r\n },\r\n {\r\n field: 'action', headerName: '', suppressMenu: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 100,\r\n cellRenderer: ChecklistAttachmentFileCellRenderer, cellRendererParams: { canDelete, onDownload, onDelete },\r\n }\r\n ];\r\n };\r\n\r\n const getChecklistType = (checklistType) => {\r\n if (checklistType && checklistType === 1) {\r\n return \"ARQC\"\r\n }\r\n else if (checklistType && checklistType === 2) {\r\n return \"PSQ\"\r\n }\r\n else {\r\n return \"Unknown\"\r\n }\r\n }\r\n\r\n //Handle deselect all event\r\n const handleDeselectAll = (val) => {\r\n // set current page and total pages to 0\r\n setCurrentPage(0); \r\n setTotalPages(0); \r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n useEffect(() => {\r\n handleGridChanges(rowData, gridRef && gridRef.current ? gridRef.current.api : null);\r\n if (rowData?.length > 0 && gridRef.current.api !== undefined) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n setRowData(files);\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n }, [files]);\r\n\r\n const rowHeight = 50; \r\n const headerHeight = 50; \r\n const totalHeight = (rowData?.length <= 5 ? rowData?.length : 5) * rowHeight + headerHeight; // set 5 rows as default\r\n return (\r\n
    \r\n {(rowData.length > 0) &&\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleGridReady(event, gridRef, setCurrentPage, setItemsPerPage, setTotalPages, 'REITSuiteClientListColumnState', handleDeselectAll)}\r\n onFirstDataRendered={handleFirstDataRendered(gridRef)}\r\n ref={gridRef}\r\n pagination={true}\r\n suppressPaginationPanel={true}\r\n paginationPageSize={100}\r\n groupDisplayType={'custom'}\r\n groupSelectsChildren={true}\r\n groupDefaultExpanded={0}\r\n onFilterChanged={handleFilterChanged(gridRef, currentPage, setCurrentPage, setTotalPages)}\r\n data-testid=\"divFileListGrid\"\r\n deltaRowDataMode={true}\r\n />\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n {(files && files.length === 0 &&
    {emptyMessage}
    ) || null}\r\n\r\n
    \r\n );\r\n};\r\n\r\nChecklistAttachmentFileList.propTypes = {\r\n files: PropTypes.array,\r\n onDownload: PropTypes.func,\r\n onDelete: PropTypes.func,\r\n canDelete: PropTypes.bool,\r\n emptyMessage: PropTypes.string\r\n};\r\n\r\nexport default ChecklistAttachmentFileList;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormattedDate } from 'react-intl';\r\nimport * as parsers from \"../../scripts/formParsers\";\r\nimport $ from 'jquery';\r\nimport { FileField } from \"../shared/formFields\";\r\n\r\nimport {\r\n MotifFormField,\r\n MotifSearch,\r\n MotifLabel,\r\n MotifToggleSwitch,\r\n MotifSelect,\r\n MotifOption,\r\n MotifButton,\r\n MotifIconButton,\r\n MotifIcon,\r\n MotifInput\r\n} from '@ey-xd/motif-react';\r\n\r\nimport { IconoirTrash, IconoirDownload } from '@ey-xd/motif-icon';\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\n/**\r\n * CoreItems component\r\n * @extends {React.Component}\r\n */\r\nclass CoreItems extends React.Component {\r\n /**\r\n * Creates a new TrialBalanceDownloadLink\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {tbPurposeIndex : 0, properties: null};\r\n }\r\n\r\n componentDidMount() {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.properties != this.props.properties){\r\n this.setState({...this.state, properties: this.props.properties});\r\n }\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n let closeStatus = \"\";\r\n if (!this.props.canEdit) {\r\n closeStatus = \"- Testing Closed\";\r\n }\r\n if (!this.props.canReport) {\r\n closeStatus = \"- Reporting Closed\";\r\n }\r\n\r\n const clearFileInput = (type) => {\r\n switch (type) {\r\n case \"REIT\":\r\n $('input[name=tbFileToUpload]').val(\"\");\r\n break;\r\n case \"PROPERTY\":\r\n $('input[name=propertyTbFileToUpload]').val(\"\");\r\n break;\r\n case \"REPORT\":\r\n $('input[name=finalReportFile]').val(\"\");\r\n break;\r\n }\r\n };\r\n\r\n const clearReitFileInput = () => {\r\n clearFileInput(\"REIT\");\r\n };\r\n\r\n const clearPropertyFileInput = () => {\r\n clearFileInput(\"PROPERTY\");\r\n };\r\n\r\n const clearReportFileInput = () => {\r\n clearFileInput(\"REPORT\");\r\n };\r\n\r\n const selectAllText = () => {\r\n $(document).on('click', 'input[type=text]', function () { this.select(); });\r\n };\r\n\r\n let propertyTbUploadLabelText = \"Property Trial Balance\";\r\n if (this.props.tbMode && this.props.tbMode === 2) {\r\n propertyTbUploadLabelText = \"Consolidated Trial Balance\";\r\n }\r\n\r\n const propTbSelect = v => {\r\n const tbPurposeIndex = parseInt(v);\r\n\r\n this.setState(\r\n { tbPurposeIndex },\r\n () => this.props.handleTrialBalancePurposeDropdownSelected(tbPurposeIndex));\r\n }\r\n \r\n return (\r\n \r\n
    \r\n
    \r\n
    Core Items{closeStatus}
    \r\n
    \r\n
    \r\n
    \r\n
    \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.tbMode === 1 && \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 \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Consolidated Mappings\r\n \r\n \r\n \r\n {(this.props.mappingsDateUploaded && Updated: ) || null}\r\n \r\n {(this.props.charts && this.props.charts.length > 0) && (this.props.chartMappings && this.props.chartMappings.length > 0) && ( \r\n \r\n \r\n \r\n ) ||\r\n ( \r\n \r\n \r\n \r\n )}\r\n
    Consolidated Trial Balance & Mappings\r\n \r\n \r\n \r\n \r\n {(this.props.lastConsolidatedTrialBalance) && ( \r\n \r\n \r\n \r\n\r\n ) ||\r\n ( \r\n \r\n \r\n \r\n )}\r\n
    REIT Trial Balance\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Upload\r\n \r\n
    \r\n
    \r\n {(this.props.trialBalanceDateUploaded && Uploaded: ) || null}\r\n \r\n {this.props.trialBalanceExists && ( \r\n \r\n \r\n \r\n {this.props.canEdit === true &&\r\n \r\n \r\n \r\n ||\r\n \r\n \r\n \r\n } ) ||\r\n ( \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
    {propertyTbUploadLabelText}\r\n {this.state.properties != null && \r\n \r\n Property\r\n \r\n {this.state\r\n .properties\r\n .map((prop, idx) =>\r\n \r\n {prop.propertyName}\r\n )\r\n }\r\n \r\n }\r\n \r\n \r\n Ownership %\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Upload\r\n \r\n
    \r\n
    \r\n {(this.props.propertyTrialBalanceDateUploaded && Uploaded: ) || null}\r\n \r\n {this.props.propertyTrialBalanceExists && ( \r\n \r\n \r\n \r\n {this.props.canEdit === true &&\r\n \r\n \r\n \r\n || \r\n \r\n \r\n \r\n }\r\n ) ||\r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
    Final Report for the Period\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Upload\r\n \r\n
    \r\n
    \r\n {(this.props.finalReportDateUploaded && Uploaded: ) || null}\r\n \r\n {this.props.finalReportExists && ( \r\n \r\n \r\n \r\n {this.props.canReport === true && \r\n \r\n \r\n \r\n ||\r\n \r\n \r\n \r\n } ) ||\r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
    Delete All Trial Balance Data for Period\r\n \r\n \r\n \r\n \r\n \r\n {(this.props.lastConsolidatedTrialBalance && this.props.canEdit === true) &&\r\n ( \r\n \r\n \r\n \r\n ) ||\r\n ( \r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\n\r\nCoreItems.propTypes = {\r\n handleTrialBalanceDownload: PropTypes.func,\r\n handleReportDownload: PropTypes.func,\r\n handleTbFileChange: PropTypes.func,\r\n handleReportFileChange: PropTypes.func,\r\n trialBalanceExists: PropTypes.bool,\r\n finalReportExists: PropTypes.bool,\r\n tbFile: PropTypes.object,\r\n finalReportFile: PropTypes.object,\r\n handleUploadTrialBalance: PropTypes.func,\r\n handleUploadReport: PropTypes.func,\r\n handleTrialBalanceDelete: PropTypes.func,\r\n handleReportDelete: PropTypes.func,\r\n canReport: PropTypes.bool.isRequired,\r\n trialBalanceDateUploaded: PropTypes.string,\r\n propertyTrialBalanceDateUploaded: PropTypes.string,\r\n finalReportDateUploaded: PropTypes.string,\r\n handleTrialBalancePurposeDropdownSelected: PropTypes.func.isRequired,\r\n propertyId: PropTypes.number,\r\n handlePropertyTbFileChange: PropTypes.func,\r\n propertyTbFile: PropTypes.object,\r\n handleUploadPropertyTrialBalance: PropTypes.func,\r\n propertyTrialBalanceExists: PropTypes.bool,\r\n handlePropertyTrialBalanceDelete: PropTypes.func,\r\n handlePropertyTrialBalanceDownload: PropTypes.func,\r\n handleConsolidatedTrialBalanceDownload: PropTypes.func,\r\n mappingsDateUploaded: PropTypes.string,\r\n mappingsExist: PropTypes.bool,\r\n handleMappingsDownload: PropTypes.func,\r\n handleMappingsDelete: PropTypes.func,\r\n handleAllTrialBalancesDelete: PropTypes.func,\r\n percentageOfOwnership: PropTypes.string,\r\n handlePctChanged: PropTypes.func,\r\n tbMode: PropTypes.number,\r\n canEdit: PropTypes.bool,\r\n lastConsolidatedTrialBalance: PropTypes.object,\r\n properties: PropTypes.array,\r\n chartMappings: PropTypes.array,\r\n};\r\n\r\nexport default CoreItems;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport * as fileActions from '../../actions/fileActions';\r\nimport * as commonActions from \"../../actions/commonActions\";\r\nimport OtherFileUpload from '../../components/fileManagement/OtherFileUpload';\r\nimport FileList from '../../components/fileManagement/FileList';\r\nimport { MotifButton } from '@ey-xd/motif-react';\r\nimport DeleteModal from \"../../components/shared/DeleteModal\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * Container component used for uploading trial balance files\r\n */\r\nexport class FileManagementPage extends React.Component {\r\n /**\r\n * Creates a new TrialBalanceUploadPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n otherFile: null,\r\n confirmAction: null,\r\n errorResponse: null\r\n };\r\n this.onOtherFileChange = this.onOtherFileChange.bind(this);\r\n this.onUploadOtherFile = this.onUploadOtherFile.bind(this);\r\n this.onOtherFileDownload = this.onOtherFileDownload.bind(this);\r\n this.onOtherFileDelete = this.onOtherFileDelete.bind(this);\r\n this.handleCancelDelete = this.handleCancelDelete.bind(this);\r\n this.onConfirmDelete = this.onConfirmDelete.bind(this);\r\n this.handleDismissErrorMessage = this.handleDismissErrorMessage.bind(this);\r\n this.handleDismissSuccessMessage = this.handleDismissSuccessMessage.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.props.commonActions.clearErrorResponse();\r\n this.props.fileActions.fetchUploadedReitFiles(this.props.reitId);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n // If a file is uploaded, files will be set to null and refetched here\r\n if (prevProps.files != null && this.props.files == null) {\r\n this.props.fileActions.fetchUploadedReitFiles(this.props.reitId);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.commonActions.clearErrorResponse();\r\n this.clearSuccess();\r\n }\r\n\r\n handleDismissErrorMessage() {\r\n this.props.commonActions.clearErrorResponse();\r\n this.setState({ errorResponse: null });\r\n }\r\n\r\n handleDismissSuccessMessage() {\r\n this.clearSuccess();\r\n }\r\n\r\n onOtherFileChange(e) {\r\n this.clearSuccess();\r\n this.setState({ otherFile: e.target.files[0] });\r\n }\r\n\r\n onUploadOtherFile(e) {\r\n e.preventDefault();\r\n this.clearSuccess();\r\n this.props.commonActions.clearErrorResponse();\r\n this.setState({ errorResponse: null });\r\n\r\n const myFile = this.state.otherFile;\r\n if (myFile) {\r\n this.props.fileActions.uploadReitFile(this.props.reitId, myFile);\r\n this.setState({ otherFile: null });\r\n }\r\n }\r\n\r\n onOtherFileDownload(fileName) {\r\n this.clearSuccess();\r\n fileActions.downloadReitFile(this.props.reitId, fileName);\r\n }\r\n\r\n onOtherFileDelete(fileName) {\r\n this.clearSuccess();\r\n let self = this;\r\n this.setState({\r\n confirmAction: () => {\r\n this.props.commonActions.beginTask();\r\n return fileActions.deleteReitFile(self.props.reitId, fileName).then(() => {\r\n this.props.commonActions.endTask();\r\n return self.props.fileActions.fetchUploadedReitFiles(self.props.reitId);\r\n }).catch(error => self.props.commonActions.dispatchErrorAndEndTask(error));\r\n }\r\n });\r\n }\r\n\r\n handleCancelDelete() {\r\n this.setState({ confirmAction: null });\r\n }\r\n\r\n onConfirmDelete() {\r\n if (this.state.confirmAction) {\r\n this.state.confirmAction();\r\n this.setState({ confirmAction: null });\r\n }\r\n }\r\n\r\n clearSuccess() {\r\n this.props.fileActions.clearUploadFileSuccess();\r\n }\r\n\r\n /**\r\n * Handle Grid changes\r\n */\r\n handleGridChanges(gridRowData, gridRefApi) {\r\n let rowData = [];\r\n rowData =\r\n gridRowData &&\r\n gridRowData.length &&\r\n gridRowData.map((x) => {\r\n return {\r\n fileName : x.fileName,\r\n lastModified:x.lastModified,\r\n };\r\n });\r\n\r\n this.setState({ gridCurrentState: rowData });\r\n\r\n if (gridRefApi) {\r\n gridRefApi.refreshCells();\r\n }\r\n }\r\n\r\n resetGridColumnState() {\r\n localStorage.removeItem('REITSuiteClientListColumnState');\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n const reitModalStyle = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: '300px',\r\n height: '160px'\r\n }\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\nFileManagementPage.propTypes = {\r\n reitId: PropTypes.number.isRequired,\r\n fileActions: PropTypes.object.isRequired,\r\n errorResponse: PropTypes.object,\r\n fileUploadSuccess: PropTypes.bool,\r\n files: PropTypes.array,\r\n commonActions: PropTypes.object.isRequired,\r\n};\r\n\r\nFileManagementPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps Existing properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n reitId: Number.parseInt(ownProps.router.params.reitId),\r\n errorResponse: state.errorResponse,\r\n fileUploadSuccess: state.fileUploadSuccess,\r\n files: state.reitFiles,\r\n pendingTasks: state.pendingTasks\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n fileActions: bindActionCreators(fileActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(FileManagementPage));","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as fileActions from '../../actions/fileActions';\r\nimport * as checklistActions from \"../../actions/checklistActions\";\r\nimport * as testSnapshotActions from '../../actions/testSnapshotActions';\r\nimport * as trialBalanceActions from '../../actions/trialBalanceActions';\r\nimport * as chartActions from \"../../actions/chartOfAccountsManagerActions\";\r\nimport * as trialBalanceSummaryActions from '../../actions/trialBalanceSummaryActions';\r\nimport * as finalDeliverableReportActions from '../../actions/finalDeliverableReportActions';\r\nimport * as commonActions from \"../../actions/commonActions\";\r\nimport FileNotifications from '../../components/fileManagement/FileNotifications';\r\nimport OtherFileUpload from '../../components/fileManagement/OtherFileUpload';\r\nimport FileList from '../../components/fileManagement/FileList';\r\nimport ChecklistAttachmentFileList from '../../components/fileManagement/ChecklistAttachmentFileList';\r\nimport CoreItems from '../../components/fileManagement/CoreItems';\r\nimport * as PeriodActions from \"../../actions/periodActions\";\r\nimport * as propertyActions from '../../actions/propertyActions';\r\nimport { percentageOfOwnership } from '../../scripts/formValidators.js';\r\nimport * as actions from '../../actions/actionTypes';\r\nimport * as actionHelpers from '../../scripts/actionHelpers';\r\nimport * as servicesActions from \"../../actions/servicesActions\";\r\nimport * as serviceConstants from '../../constants/services';\r\nimport ReitFileManagementPage from './ReitFileManagementPage';\r\nimport { MotifOption, MotifButton } from '@ey-xd/motif-react';\r\nimport DeleteModal from \"../../components/shared/DeleteModal\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport * as securitiesSnapshotActions from \"../../actions/securitiesSnapshotActions\";\r\n\r\n/**\r\n * Container component used for uploading trial balance files\r\n */\r\nexport class FileManagementPage extends React.Component {\r\n /**\r\n * Creates a new TrialBalanceUploadPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n tbFile: null,\r\n finalReportFile: null,\r\n otherFile: null,\r\n confirmAction: null,\r\n canEdit: true,\r\n canReport: true,\r\n canUpload: true,\r\n propertyId: 0,\r\n percentageOfOwnership: \"100\",\r\n propertyTbFile: null,\r\n activePeriod: null,\r\n tbMode: 1,\r\n uploadId: null,\r\n errorResponse: null,\r\n disableCurrentTestSnapshotButton: true,\r\n hasIncompleteSecuritySnapshot: false\r\n };\r\n this.onOtherFileChange = this.onOtherFileChange.bind(this);\r\n this.onUploadOtherFile = this.onUploadOtherFile.bind(this);\r\n this.handleTbFileChange = this.handleTbFileChange.bind(this);\r\n this.handlePropertyTbFileChange = this.handlePropertyTbFileChange.bind(this);\r\n this.handleReportFileChange = this.handleReportFileChange.bind(this);\r\n this.handleUploadTrialBalance = this.handleUploadTrialBalance.bind(this);\r\n this.handleUploadPropertyTrialBalance = this.handleUploadPropertyTrialBalance.bind(this);\r\n this.handleUploadReport = this.handleUploadReport.bind(this);\r\n this.onOtherFileDownload = this.onOtherFileDownload.bind(this);\r\n this.onChecklistAttachmentDownload = this.onChecklistAttachmentDownload.bind(this);\r\n this.onChecklistAttachmentFileDelete = this.onChecklistAttachmentFileDelete.bind(this);\r\n this.onTestSnapshotDownload = this.onTestSnapshotDownload.bind(this);\r\n this.onOtherFileDelete = this.onOtherFileDelete.bind(this);\r\n this.onTestSnapshotDelete = this.onTestSnapshotDelete.bind(this);\r\n this.handleTrialBalanceDownload = this.handleTrialBalanceDownload.bind(this);\r\n this.handleConsolidatedTrialBalanceDownload = this.handleConsolidatedTrialBalanceDownload.bind(this);\r\n this.handleTrialBalanceDelete = this.handleTrialBalanceDelete.bind(this);\r\n this.handleReportDownload = this.handleReportDownload.bind(this);\r\n this.handleReportDelete = this.handleReportDelete.bind(this);\r\n this.handleCancelDelete = this.handleCancelDelete.bind(this);\r\n this.onConfirmDelete = this.onConfirmDelete.bind(this);\r\n this.handleTrialBalancePurposeDropdownSelected = this.handleTrialBalancePurposeDropdownSelected.bind(this);\r\n this.handlePropertyTrialBalanceDelete = this.handlePropertyTrialBalanceDelete.bind(this);\r\n this.handlePropertyTrialBalanceDownload = this.handlePropertyTrialBalanceDownload.bind(this);\r\n this.handleMappingsDownload = this.handleMappingsDownload.bind(this);\r\n this.handleMappingsDelete = this.handleMappingsDelete.bind(this);\r\n this.handleAllTrialBalancesDelete = this.handleAllTrialBalancesDelete.bind(this);\r\n this.handleDismissErrorMessage = this.handleDismissErrorMessage.bind(this);\r\n this.handleDismissSuccessMessage = this.handleDismissSuccessMessage.bind(this);\r\n this.handlePctChanged = this.handlePctChanged.bind(this);\r\n this.downloadCurrentTestSnapshot = this.downloadCurrentTestSnapshot.bind(this);\r\n this.setDisableCurrentTestSnapshotButton = this.setDisableCurrentTestSnapshotButton.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.getHasIncompleteSecuritySnapshots = this.getHasIncompleteSecuritySnapshots.bind(this);\r\n } \r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n // Check if state.period is null, if it is populate period\r\n if (!this.props.period) {\r\n this.props.periodActions.fetchPeriodById(this.props.periodId);\r\n }\r\n\r\n this.props.commonActions.clearErrorResponse();\r\n this.props.trialBalanceActions.getLastTrialBalanceByPeriod(this.props.periodId, \"reit\");\r\n this.props.trialBalanceActions.getLastConsolidatedTrialBalanceByPeriod(this.props.periodId);\r\n this.props.trialBalanceActions.getMappingsByPeriod(this.props.periodId);\r\n this.props.chartActions.fetchCharts(this.props.clientId);\r\n this.props.finalDeliverableReportActions.fetchUploadedReport(this.props.periodId);\r\n this.props.fileActions.fetchUploadedFiles(this.props.periodId);\r\n this.props.testSnapshotActions.fetchUploadedTestSnapshots(this.props.periodId);\r\n this.props.propertyActions.fetchPropertiesByPeriod(this.props.periodId);\r\n this.props.checklistActions.fetchChecklistFilesByPeriod(this.props.periodId);\r\n this.props.chartActions.fetchChartAssignmentsByReportPeriodId(this.props.periodId);\r\n this.setDisableCurrentTestSnapshotButton();\r\n\r\n if (this.props.period) {\r\n this.setCanEdit(this.props.period);\r\n this.setCanReport(this.props.period);\r\n this.setCanUpload(this.props.period);\r\n this.setState({ activePeriod: Object.assign({}, this.props.period) });\r\n }\r\n this.getHasIncompleteSecuritySnapshots(this.props.clientId,this.props.reitId,this.props.periodId);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.period!=prevProps.period && this.props.period) {\r\n this.setCanEdit(this.props.period);\r\n this.setCanReport(this.props.period);\r\n this.setCanUpload(this.props.period);\r\n this.setState({ activePeriod: Object.assign({}, prevProps.period) });\r\n this.setState({ tbMode: this.props.period.trialBalanceModeID === 2 ? 2 : 1 });\r\n }\r\n\r\n // If a file is uploaded, files will be set to null and refetched here\r\n if (prevProps.files != null && this.props.files == null) {\r\n\r\n prevProps.fileActions.fetchUploadedFiles(prevProps.periodId);\r\n }\r\n\r\n if (prevProps.checklistFiles != null && this.props.checklistFiles == null) {\r\n\r\n prevProps.checklistActions.fetchChecklistFilesByPeriod(prevProps.periodId);\r\n }\r\n\r\n if (prevProps.finalReport != null && this.props.finalReport == null) {\r\n\r\n prevProps.finalDeliverableReportActions.fetchUploadedReport(prevProps.periodId);\r\n }\r\n\r\n if (prevProps.lastTrialBalance != null && this.props.lastTrialBalance == null) {\r\n\r\n prevProps.trialBalanceActions.getLastTrialBalanceByPeriod(prevProps.periodId, \"reit\");\r\n prevProps.trialBalanceActions.getLastConsolidatedTrialBalanceByPeriod(prevProps.periodId);\r\n prevProps.trialBalanceActions.getMappingsByPeriod(prevProps.periodId);\r\n }\r\n\r\n if (prevProps.lastPropertyTrialBalance != null && this.props.lastPropertyTrialBalance == null) {\r\n\r\n prevProps.trialBalanceActions.getLastPropertyTrialBalanceByPeriod(prevProps.periodId, this.propertyId);\r\n prevProps.trialBalanceActions.getLastConsolidatedTrialBalanceByPeriod(prevProps.periodId);\r\n prevProps.trialBalanceActions.getMappingsByPeriod(prevProps.periodId);\r\n }\r\n\r\n if (this.props.finalReportUploadSuccess && prevProps.finalReportUploadSuccess !== this.props.finalReportUploadSuccess) {\r\n prevProps.finalDeliverableReportActions.fetchUploadedReport(prevProps.periodId);\r\n }\r\n\r\n if (this.props.tbUploadSuccess && prevProps.tbUploadSuccess !== this.props.tbUploadSuccess) {\r\n\r\n prevProps.trialBalanceActions.getLastTrialBalanceByPeriod(prevProps.periodId, \"reit\");\r\n prevProps.trialBalanceActions.getLastPropertyTrialBalanceByPeriod(prevProps.periodId, this.state.propertyId);\r\n prevProps.trialBalanceActions.getLastConsolidatedTrialBalanceByPeriod(prevProps.periodId);\r\n prevProps.trialBalanceActions.getMappingsByPeriod(prevProps.periodId);\r\n }\r\n\r\n if (this.props.properties != prevProps.properties) {\r\n if (this.props.properties === undefined || this.props.properties === null || this.props.properties.length === 0) {\r\n this.setState({ propertyId: 0, percentageOfOwnership: \"100\" },\r\n () => { prevProps.trialBalanceActions.getLastPropertyTrialBalanceByPeriod(prevProps.periodId, this.state.propertyId); });\r\n } else {\r\n let firstPropertyId = this.props.properties[0].propertyID;\r\n let firstPropertyPctOfOwnership = this.props.properties[0].percentageOfOwnership;\r\n this.setState({ propertyId: firstPropertyId, percentageOfOwnership: firstPropertyPctOfOwnership.toString() },\r\n () => { prevProps.trialBalanceActions.getLastPropertyTrialBalanceByPeriod(prevProps.periodId, this.state.propertyId); });\r\n }\r\n if (this.props.properties && this.props.properties.length) {\r\n if (this.props.properties.length === 1 && this.props.period && this.props.period.trialBalanceModeID === 2) {\r\n let propertyId = this.props.properties[0].propertyID;\r\n let propertyPerctentageOfOwnership = this.props.properties[0].percentageOfOwnership;\r\n this.setState({ propertyId: propertyId, percentageOfOwnership: propertyPerctentageOfOwnership.toString() });\r\n }\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.commonActions.clearErrorResponse();\r\n this.clearSuccess();\r\n }\r\n\r\n setDisableCurrentTestSnapshotButton() {\r\n servicesActions.fetchServicesByPeriodWithoutDispatch(this.props.periodId).then((services) => {\r\n if (actionHelpers.isErrorResponse(services)) {\r\n return;\r\n }\r\n\r\n if (Array.isArray(services) && services.some(x => x === serviceConstants.ASSET_TEST_SERVICE || x === serviceConstants.INCOME_TEST_SERVICE || x === serviceConstants.DISTRIBUTION_TEST_SERVICE)) {\r\n this.setState({ disableCurrentTestSnapshotButton: false });\r\n } else {\r\n this.setState({ disableCurrentTestSnapshotButton: true });\r\n }\r\n });\r\n }\r\n\r\n handleDismissErrorMessage() {\r\n this.props.commonActions.clearErrorResponse();\r\n this.setState({ errorResponse: null });\r\n }\r\n\r\n handleDismissSuccessMessage() {\r\n this.clearSuccess();\r\n }\r\n\r\n onOtherFileChange(e) {\r\n this.clearSuccess();\r\n this.setState({ otherFile: e.target.files[0] });\r\n }\r\n\r\n handleTbFileChange(e) {\r\n this.clearSuccess();\r\n this.setState({ tbFile: e.target.files[0] });\r\n }\r\n\r\n handlePropertyTbFileChange(e) {\r\n this.clearSuccess();\r\n this.setState({ propertyTbFile: e.target.files[0] });\r\n }\r\n\r\n handleReportFileChange(e) {\r\n this.clearSuccess();\r\n this.setState({ finalReportFile: e.target.files[0] });\r\n }\r\n\r\n onUploadOtherFile(e) {\r\n e.preventDefault();\r\n this.clearSuccess();\r\n this.props.commonActions.clearErrorResponse();\r\n this.setState({ errorResponse: null });\r\n\r\n const myFile = this.state.otherFile;\r\n if (myFile) {\r\n this.props.fileActions.uploadFile(this.props.periodId, myFile);\r\n this.setState({ otherFile: null });\r\n }\r\n }\r\n\r\n handleUploadTrialBalance(e) {\r\n e.preventDefault();\r\n this.clearSuccess();\r\n this.props.commonActions.clearErrorResponse();\r\n this.setState({ errorResponse: null });\r\n\r\n const myFile = this.state.tbFile;\r\n if (myFile) {\r\n const uploadId = uuidv4();\r\n this.props.trialBalanceActions.uploadTrialBalance(this.props.periodId, \"adjusted\", myFile, 1, null, 100.00, uploadId, this.props.clientId);\r\n this.setState({ tbFile: null, uploadId: uploadId });\r\n }\r\n\r\n }\r\n\r\n handleUploadPropertyTrialBalance(e) {\r\n e.preventDefault();\r\n this.clearSuccess();\r\n this.props.commonActions.clearErrorResponse();\r\n this.setState({ errorResponse: null });\r\n\r\n const myFile = this.state.propertyTbFile;\r\n if (myFile) {\r\n if (this.state.propertyId === null) {\r\n return;\r\n }\r\n if (this.state.propertyId > 0) {\r\n const uploadId = uuidv4();\r\n this.props.trialBalanceActions.uploadTrialBalance(this.props.periodId, \"adjusted\", myFile, 2, this.state.propertyId, this.state.percentageOfOwnership, uploadId, this.props.clientId);\r\n this.setState({ propertyTbFile: null, uploadId: uploadId });\r\n }\r\n\r\n }\r\n }\r\n\r\n handleUploadReport(e) {\r\n e.preventDefault();\r\n this.clearSuccess();\r\n this.props.commonActions.clearErrorResponse();\r\n this.setState({ errorResponse: null });\r\n\r\n const myFile = this.state.finalReportFile;\r\n if (myFile) {\r\n this.props.finalDeliverableReportActions.uploadFinalReport(this.props.periodId, myFile);\r\n this.setState({ finalReportFile: null });\r\n }\r\n }\r\n\r\n onChecklistAttachmentDownload(checklistFileAttachmentId, fileName) {\r\n this.clearSuccess();\r\n fileActions.downloadChecklistFile(checklistFileAttachmentId, fileName);\r\n }\r\n\r\n onOtherFileDownload(fileName) {\r\n this.clearSuccess();\r\n fileActions.downloadFile(this.props.periodId, fileName);\r\n }\r\n\r\n onTestSnapshotDownload(fileName) {\r\n this.clearSuccess();\r\n testSnapshotActions.downloadTestSnapshot(this.props.periodId, fileName);\r\n }\r\n\r\n handleTrialBalanceDownload() {\r\n this.clearSuccess();\r\n trialBalanceActions.downloadTrialBalance(this.props.lastTrialBalance.trialBalanceID);\r\n }\r\n\r\n handleConsolidatedTrialBalanceDownload() {\r\n this.clearSuccess();\r\n trialBalanceSummaryActions.downloadTrialBalanceSummary(this.props.periodId, false);\r\n }\r\n\r\n handlePropertyTrialBalanceDownload() {\r\n this.clearSuccess();\r\n trialBalanceActions.downloadTrialBalance(this.props.lastPropertyTrialBalance.trialBalanceID);\r\n }\r\n\r\n handleMappingsDownload() {\r\n this.clearSuccess();\r\n trialBalanceActions.downloadPeriodMappingsFile(this.props.periodId);\r\n }\r\n\r\n handleMappingsDelete() {\r\n this.clearSuccess();\r\n let self = this;\r\n this.setState({\r\n confirmAction: () => {\r\n this.props.commonActions.beginTask();\r\n return trialBalanceActions.deletePeriodMappings(self.props.periodId).then(() => {\r\n this.props.commonActions.endTask();\r\n return self.deleteAllTrialBalances();\r\n }).catch(error => self.props.commonActions.dispatchErrorAndEndTask(error));\r\n }\r\n });\r\n }\r\n\r\n handleAllTrialBalancesDelete() {\r\n this.clearSuccess();\r\n let self = this;\r\n this.setState({\r\n confirmAction: () => {\r\n this.props.commonActions.beginTask();\r\n return trialBalanceActions.deleteTrialBalance(self.props.periodId).then(() => {\r\n this.props.commonActions.endTask();\r\n this.props.trialBalanceActions.getLastTrialBalanceByPeriod(self.props.periodId, \"reit\");\r\n this.props.trialBalanceActions.getLastPropertyTrialBalanceByPeriod(this.props.periodId, this.state.propertyId);\r\n this.props.trialBalanceActions.getMappingsByPeriod(this.props.periodId);\r\n }).catch(error => self.props.commonActions.dispatchErrorAndEndTask(error));\r\n }\r\n });\r\n }\r\n\r\n deleteAllTrialBalances() {\r\n this.clearSuccess();\r\n let self = this;\r\n this.props.commonActions.beginTask();\r\n trialBalanceActions.deleteTrialBalance(self.props.periodId)\r\n .then(() => {\r\n this.props.commonActions.endTask();\r\n this.props.trialBalanceActions.getLastTrialBalanceByPeriod(self.props.periodId, \"reit\");\r\n this.props.trialBalanceActions.getLastPropertyTrialBalanceByPeriod(this.props.periodId, this.state.propertyId);\r\n this.props.trialBalanceActions.getMappingsByPeriod(this.props.periodId);\r\n }).catch(error => this.props.commonActions.dispatchErrorAndEndTask(error));\r\n }\r\n\r\n handleReportDownload() {\r\n this.clearSuccess();\r\n finalDeliverableReportActions.downloadFinalReport(this.props.periodId, encodeURIComponent(this.props.finalReport.fileName));\r\n }\r\n\r\n onOtherFileDelete(fileName) {\r\n this.clearSuccess();\r\n let self = this;\r\n this.setState({\r\n confirmAction: () => {\r\n this.props.commonActions.beginTask();\r\n return fileActions.deleteFile(self.props.periodId, fileName).then(() => {\r\n this.props.commonActions.endTask();\r\n return self.props.fileActions.fetchUploadedFiles(self.props.periodId);\r\n }).catch(error => self.props.commonActions.dispatchErrorAndEndTask(error));\r\n }\r\n });\r\n }\r\n\r\n onChecklistAttachmentFileDelete(checklistFileAttachmentId) {\r\n this.clearSuccess();\r\n let self = this;\r\n this.setState({\r\n confirmAction: () => {\r\n this.props.commonActions.beginTask();\r\n return this.props.checklistActions.deleteAttachment(\r\n checklistFileAttachmentId, this.props.clientId,\r\n null,\r\n null).then(() => {\r\n this.props.commonActions.endTask();\r\n return self.props.checklistActions.fetchChecklistFilesByPeriod(self.props.periodId);\r\n }).catch(error => self.props.commonActions.dispatchErrorAndEndTask(error));\r\n }\r\n });\r\n }\r\n\r\n onTestSnapshotDelete(fileName) {\r\n this.clearSuccess();\r\n let self = this;\r\n this.setState({\r\n confirmAction: () => {\r\n this.props.commonActions.beginTask();\r\n return testSnapshotActions.deleteTestSnapshot(self.props.periodId, fileName).then(() => {\r\n this.props.commonActions.endTask();\r\n return self.props.testSnapshotActions.fetchUploadedTestSnapshots(self.props.periodId);\r\n }).catch(error => self.props.commonActions.dispatchErrorAndEndTask(error));\r\n }\r\n });\r\n }\r\n\r\n handleTrialBalanceDelete() {\r\n this.clearSuccess();\r\n let self = this;\r\n this.setState({\r\n confirmAction: () => {\r\n this.props.commonActions.beginTask();\r\n return trialBalanceActions.deleteTrialBalance(self.props.periodId, \"reit\", null).then(() => {\r\n this.props.commonActions.endTask();\r\n return self.props.trialBalanceActions.getLastTrialBalanceByPeriod(self.props.periodId, \"reit\");\r\n }).catch(error => self.props.commonActions.dispatchErrorAndEndTask(error));\r\n }\r\n });\r\n }\r\n\r\n handlePropertyTrialBalanceDelete() {\r\n this.clearSuccess();\r\n let self = this;\r\n this.setState({\r\n confirmAction: () => {\r\n this.props.commonActions.beginTask();\r\n return trialBalanceActions.deleteTrialBalance(self.props.periodId, \"property\", this.state.propertyId).then(() => {\r\n this.props.commonActions.endTask();\r\n return this.props.trialBalanceActions.getLastPropertyTrialBalanceByPeriod(self.props.periodId, this.state.propertyId);\r\n }).catch(error => self.props.commonActions.dispatchErrorAndEndTask(error));\r\n }\r\n });\r\n }\r\n\r\n handleReportDelete() {\r\n this.clearSuccess();\r\n let self = this;\r\n this.setState({\r\n confirmAction: () => {\r\n this.props.commonActions.beginTask();\r\n return finalDeliverableReportActions.deleteFinalReport(self.props.periodId).then(() => {\r\n this.props.commonActions.endTask();\r\n return this.props.finalDeliverableReportActions.fetchUploadedReport(self.props.periodId);\r\n }).catch(error => self.props.commonActions.dispatchErrorAndEndTask(error));\r\n }\r\n });\r\n }\r\n\r\n handleCancelDelete() {\r\n this.setState({ confirmAction: null });\r\n }\r\n\r\n onConfirmDelete() {\r\n if (this.state.confirmAction) {\r\n this.state.confirmAction();\r\n this.setState({ confirmAction: null });\r\n }\r\n }\r\n\r\n clearSuccess() {\r\n this.props.trialBalanceActions.clearUploadTbSuccess();\r\n this.props.fileActions.clearUploadFileSuccess();\r\n this.props.finalDeliverableReportActions.clearUploadFinalReportSuccess();\r\n }\r\n\r\n setCanEdit(period) {\r\n const isEnabled = PeriodActions.isTestingEnabled(period);\r\n this.setState({ canEdit: isEnabled });\r\n }\r\n\r\n setCanReport(period) {\r\n const isEnabled = PeriodActions.isReportingEnabled(period);\r\n this.setState({ canReport: isEnabled });\r\n }\r\n\r\n setCanUpload(period) {\r\n const isEnabled = PeriodActions.isFileUploadEnabled(period);\r\n this.setState({ canUpload: isEnabled });\r\n }\r\n\r\n handleTrialBalancePurposeDropdownSelected(index) {\r\n const prop = this.props.properties[index];\r\n const { propertyID, percentageOfOwnership } = prop;\r\n\r\n const stateUpdate = {\r\n propertyId: propertyID,\r\n percentageOfOwnership: percentageOfOwnership.toString()\r\n };\r\n\r\n const stateCallback =\r\n () => this.props\r\n .trialBalanceActions\r\n .getLastPropertyTrialBalanceByPeriod(\r\n this.props.periodId,\r\n this.state.propertyId);\r\n\r\n this.setState(stateUpdate, stateCallback);\r\n }\r\n\r\n handlePctChanged(e) {\r\n const value = percentageOfOwnership(e.target.value);\r\n if (value === undefined) {\r\n return;\r\n }\r\n\r\n this.setState({ percentageOfOwnership: value.toString() });\r\n }\r\n\r\n downloadCurrentTestSnapshot() {\r\n this.props.securitiesSnapshotActions.getIncompleteSecuritySnapshotDetails(this.props.clientId, this.props.reitId,this.props.periodId).then((data) => {\r\n if (data) {\r\n const snapshot = data.find(x => x.reportPeriodID === this.props.periodId);\r\n this.setState({ hasIncompleteSecuritySnapshot: snapshot && snapshot.length > 0 ? true : false });\r\n if (!snapshot) {\r\n let fileName = `${this.props.period.reportPeriodDescription.replace(/\\s/g, '')}_${this.props.reit.reitName}_TestSnapshot.xlsx`;\r\n this.props.commonActions.beginTask();\r\n return testSnapshotActions.downloadCurrentTestSnapshot(this.props.periodId, fileName).then((blob) => {\r\n this.props.commonActions.endTask();\r\n return blob;\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Handle Grid changes\r\n */\r\n handleGridChanges(gridRowData, gridRefApi) {\r\n let rowData = [];\r\n rowData =\r\n gridRowData &&\r\n gridRowData.length &&\r\n gridRowData.map((x) => {\r\n return {\r\n fileName : x.fileName,\r\n checklistTypeID:x.checklistTypeID,\r\n createdBy:x.createdBy,\r\n createdDateTime:x.createdDateTime,\r\n lastModified:x.lastModified,\r\n attachedFileName:x.attachedFileName,\r\n checklistSectionQuestionAttachmentID:x.checklistSectionQuestionAttachmentID\r\n };\r\n });\r\n\r\n this.setState({ gridCurrentState: rowData });\r\n\r\n if (gridRefApi) {\r\n gridRefApi.refreshCells();\r\n }\r\n }\r\n\r\n resetGridColumnState() {\r\n localStorage.removeItem('REITSuiteClientListColumnState');\r\n }\r\n\r\n getHasIncompleteSecuritySnapshots(clientId,reitId,periodId) {\r\n this.props.securitiesSnapshotActions.getIncompleteSecuritySnapshotDetails(clientId,reitId,periodId).then((data) => {\r\n this.setState({ hasIncompleteSecuritySnapshot: data.find(x => x.hasIncompleteSecuritySnapshot)?.hasIncompleteSecuritySnapshot });\r\n });\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n const reitModalStyle = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: '300px',\r\n height: '160px'\r\n }\r\n };\r\n\r\n return (\r\n \r\n

    File Management

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

    Period File Management

    \r\n 0}\r\n handleMappingsDelete={this.handleMappingsDelete}\r\n handleAllTrialBalancesDelete={this.handleAllTrialBalancesDelete}\r\n percentageOfOwnership={this.state.percentageOfOwnership}\r\n handlePctChanged={this.handlePctChanged}\r\n tbMode={this.state.tbMode}\r\n lastConsolidatedTrialBalance={this.props.lastConsolidatedTrialBalance}\r\n charts={this.props.chartOfAccounts.charts}\r\n properties={this.props.properties}\r\n chartMappings={this.props.chartMappings}\r\n />\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    Closed Period Test Snapshots
    \r\n
    \r\n
    \r\n {(!this.state.disableCurrentTestSnapshotButton && this.props.lastConsolidatedTrialBalance && !this.state.hasIncompleteSecuritySnapshot)\r\n ? Download Current Test Snapshot\r\n : Download Current Test Snapshot\r\n }\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Checklist File Attachments
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n );\r\n }\r\n\r\n}\r\n\r\nFileManagementPage.propTypes = {\r\n periodId: PropTypes.number.isRequired,\r\n period: PropTypes.object.isRequired,\r\n fileActions: PropTypes.object.isRequired,\r\n errorResponse: PropTypes.object,\r\n tbUploadSuccess: PropTypes.bool,\r\n fileUploadSuccess: PropTypes.bool,\r\n files: PropTypes.array,\r\n checklistFiles: PropTypes.array,\r\n testSnapshots: PropTypes.array,\r\n properties: PropTypes.array,\r\n lastTrialBalance: PropTypes.object,\r\n finalReport: PropTypes.object,\r\n finalReportUploadSuccess: PropTypes.bool,\r\n periodActions: PropTypes.object.isRequired,\r\n lastPropertyTrialBalance: PropTypes.object,\r\n lastConsolidatedTrialBalance: PropTypes.object,\r\n periodMappings: PropTypes.array,\r\n trialBalanceStatus: PropTypes.object,\r\n commonActions: PropTypes.object.isRequired,\r\n trialBalanceActions: PropTypes.object.isRequired,\r\n finalDeliverableReportActions: PropTypes.object.isRequired,\r\n testSnapshotActions: PropTypes.object.isRequired,\r\n propertyActions: PropTypes.object.isRequired,\r\n chartMappings: PropTypes.array,\r\n};\r\n\r\nFileManagementPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps Existing properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n periodId: Number.parseInt(ownProps.router.params.periodId),\r\n clientId: Number.parseInt(ownProps.router.params.clientId),\r\n errorResponse: state.errorResponse,\r\n tbUploadSuccess: state.tbUploadSuccess,\r\n fileUploadSuccess: state.fileUploadSuccess,\r\n files: state.files,\r\n reitFiles: state.reitFiles,\r\n checklistFiles: state.checklistFiles,\r\n testSnapshots: state.testSnapshots,\r\n lastTrialBalance: state.lastTrialBalance,\r\n finalReport: state.finalReport,\r\n finalReportUploadSuccess: state.finalReportUploadSuccess,\r\n period: state.period,\r\n properties: state.properties,\r\n lastPropertyTrialBalance: state.lastPropertyTrialBalance,\r\n lastConsolidatedTrialBalance: state.lastConsolidatedTrialBalance,\r\n periodMappings: state.periodMappings,\r\n trialBalanceStatus: state.trialBalanceStatus,\r\n pendingTasks: state.pendingTasks,\r\n reit: state.reit,\r\n chartOfAccounts: state.chartOfAccountsManager,\r\n chartMappings: state.chartMappings\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n fileActions: bindActionCreators(fileActions, dispatch),\r\n testSnapshotActions: bindActionCreators(testSnapshotActions, dispatch),\r\n trialBalanceActions: bindActionCreators(trialBalanceActions, dispatch),\r\n chartActions: bindActionCreators(chartActions, dispatch),\r\n finalDeliverableReportActions: bindActionCreators(finalDeliverableReportActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n periodActions: bindActionCreators(PeriodActions, dispatch),\r\n propertyActions: bindActionCreators(propertyActions, dispatch),\r\n checklistActions: bindActionCreators(checklistActions, dispatch),\r\n processingCompleteNotified: () => dispatch({ type: actions.TB_PROCESSING_COMPLETE_NOTIFIED }),\r\n securitiesSnapshotActions: bindActionCreators(securitiesSnapshotActions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(FileManagementPage));","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { Header, Label, Button, Input, Dropdown } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { MotifButton, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter, MotifErrorMessage} from '@ey-xd/motif-react';\r\n\r\nconst AddSysAdminModal = ({ showAddSysAdminModal, handleSubmit, toggleShowAddSysAdminModal, initialValues, addAuthMessageText, validateDomain }) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close add system administrator modal',\r\n ariaLabel: 'Close add system administrator modal',\r\n dataTestid: 'close'\r\n };\r\n return (\r\n \r\n \r\n \r\n Add System Administrator\r\n \r\n \r\n
    \r\n \r\n \r\n {(addAuthMessageText && {addAuthMessageText}) || null}\r\n \r\n \r\n Cancel\r\n Submit\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nAddSysAdminModal.propTypes = {\r\n showAddSysAdminModal: PropTypes.bool,\r\n handleAddSysAdminModalAction: PropTypes.func,\r\n handleSubmit: PropTypes.func,\r\n toggleShowAddSysAdminModal: PropTypes.func,\r\n initialValues: PropTypes.object,\r\n addAuthMessageText: PropTypes.string,\r\n validateDomain: PropTypes.func\r\n};\r\n\r\nexport default reduxForm({ form: \"auth\", enableReinitialize: true })(AddSysAdminModal);","import React from 'react';\r\nimport { MotifIcon, MotifIconButton } from '@ey-xd/motif-react';\r\nimport { IconoirTrash } from '@ey-xd/motif-icon';\r\n\r\nexport default (props) => {\r\n \r\n if (props.fieldName == 'editIcon' && props.currentUserId.toLowerCase() == props.node.data.userId.toLowerCase()) {\r\n return null;\r\n }\r\n if (props.fieldName == 'editIcon') {\r\n return (\r\n
    \r\n
    \r\n \r\n props.handleDeleteButtonClick(props.node.data)} />\r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React, { useMemo, useState, useRef, useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport AddSysAdminModal from \"./AddSysAdminModal\";\r\nimport { MotifFormField, MotifLabel, MotifSearch, MotifButton, MotifTable } from \"@ey-xd/motif-react\";\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport { handleFilterChanged,handleFirstDataRendered,handleGridReady,tableHeaderClass,handleItemsPerPageChange } from '../../common/AgGridEventHandlers';\r\n import CustomPagination from '../../common/MotifPagination';\r\n import SystemAdminCellRenderer from '../shared/customRenderers/SystemAdminCellRenderer';\r\n import CustomHeaderTemplate from \"../checklistDeliveryCalendar/customHeaders/CustomHeaderTemplate.js\";\r\n\r\n const AdminAuthList = ({ auths, handleSearchChange, handleClearSearchText, adminUserSearchText, handleEditButtonClick, handleDeleteButtonClick,\r\n handleNewButtonClick, showAddSysAdminModal, handleAddSysAdminModalAction, auth, toggleShowAddSysAdminModal, currentUserId, addAuthMessageText, validateDomain }) => {\r\n \r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n \r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n \r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: 'userId', headerName: 'User', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 550,\r\n headerComponentParams: {template: CustomHeaderTemplate(\"userId\"),},\r\n comparator: (a, b) => {\r\n var valA = a.toString().toLowerCase();\r\n var valB = b.toString().toLowerCase();\r\n if (valA === valB) return 0;\r\n return valA > valB ? 1 : -1;\r\n },\r\n },\r\n {\r\n field: 'userId',\r\n headerName: 'Role',\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 350,\r\n valueGetter: (params) => {\r\n return getRoleName(params.data.role);\r\n },\r\n headerComponentParams: {template: CustomHeaderTemplate(\"userId\"),},\r\n },\r\n {\r\n field: 'editIcon', headerName: '', suppressMenu: true,\r\n minWidth: 50,\r\n cellRenderer: SystemAdminCellRenderer, cellRendererParams: { fieldName: 'editIcon' ,handleDeleteButtonClick, currentUserId},\r\n }\r\n \r\n ];\r\n };\r\n \r\n const getRoleName = (role) => {\r\n if (role === 1) {\r\n return 'System Administrator';\r\n } else if (role === 4) {\r\n return 'External Checklist User';\r\n } else {\r\n return 'Engagement Administrator';\r\n }\r\n };\r\n\r\n //Handle deselect all event\r\n const handleDeselectAll = (val) => {\r\n // set current page and total pages to 0\r\n setCurrentPage(0); \r\n setTotalPages(0); \r\n }; \r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val-1);\r\n };\r\n \r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n useEffect(() => {\r\n if(rowData.length > 0){\r\n let calcTotalPages = gridRef && gridRef.current && gridRef.current.api && gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n }, [rowData]);\r\n \r\n useEffect(() => {\r\n setRowData(auths);\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n \r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n }, [auths]);\r\n \r\n const rowHeight = 73; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n Add User\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {(rowData.length > 0) &&\r\n
    \r\n
    \r\n handleGridReady(event, gridRef,setCurrentPage,setItemsPerPage,setTotalPages,'REITSuiteSystemAdminListColumnState', handleDeselectAll)}\r\n onFirstDataRendered={handleFirstDataRendered(gridRef)}\r\n ref={gridRef}\r\n pagination={true}\r\n suppressPaginationPanel={true}\r\n paginationPageSize={100}\r\n groupDisplayType={'custom'}\r\n groupSelectsChildren={true}\r\n groupDefaultExpanded={0}\r\n onFilterChanged={handleFilterChanged(gridRef, currentPage, setCurrentPage, setTotalPages)}\r\n data-testid=\"divSystemAdminListGrid\"\r\n deltaRowDataMode={true} \r\n immutableData={true}\r\n getRowNodeId={(data) => data.userId}\r\n />\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n }\r\n {(auths && auths.length === 0 && adminUserSearchText === \"\" &&
    No authorized user has been added for this client.
    ) || ((auths && auths.length === 0 && adminUserSearchText !== \"\") &&
    No authorized user match your search text '{adminUserSearchText}'
    ) || null}\r\n
    \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nAdminAuthList.propTypes = {\r\n auths: PropTypes.array.isRequired,\r\n handleSearchChange: PropTypes.func,\r\n handleClearSearchText: PropTypes.func,\r\n adminUserSearchText: PropTypes.string,\r\n handleEditButtonClick: PropTypes.func,\r\n handleDeleteButtonClick: PropTypes.func,\r\n handleNewButtonClick: PropTypes.func,\r\n showAddSysAdminModal: PropTypes.bool,\r\n handleAddSysAdminModalAction: PropTypes.func,\r\n auth: PropTypes.object,\r\n toggleShowAddSysAdminModal: PropTypes.func,\r\n currentUserId: PropTypes.string,\r\n addAuthMessageText: PropTypes.string,\r\n validateDomain: PropTypes.func\r\n};\r\n\r\nexport default AdminAuthList;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport AdminAuthList from \"../../components/auth/AdminAuthList\";\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport * as commonActions from \"../../actions/commonActions\";\r\n\r\nimport * as authorizationDomainValidator from \"../../scripts/authorizationDomainValidator\";\r\nimport { store } from \"../../store/configureStore\";\r\nimport { reset } from \"redux-form\";\r\nimport { MotifButton, MotifIcon, MotifTabNavigation, MotifTabControl } from '@ey-xd/motif-react';\r\nimport DeleteModal from \"../../components/shared/DeleteModal\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport { Link } from 'react-router-dom';\r\n/**\r\n * AdminAuthPage container component\r\n * @extends {React.Component}\r\n */\r\nexport class AdminAuthPage extends React.Component {\r\n /**\r\n * Creates a new AdminAuthPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n adminUserSearchText: \"\",\r\n filteredAdminAuths: [],\r\n showAddSysAdminModal: false,\r\n auth: {\r\n \"userId\": null, \"resource\": authActions.resource.System, \"role\": authActions.role.Administrator, \"resourceId\": null, \"id\": null\r\n },\r\n confirmAction: null,\r\n currentUserId: this.props.currentUserId,\r\n addAuthMessageText: null,\r\n allowedDomains: \"\",\r\n tabBar1: 0,\r\n };\r\n this.handleSearchChange = this.handleSearchChange.bind(this);\r\n this.handleClearSearchText = this.handleClearSearchText.bind(this);\r\n this.reloadAdminAuths = this.reloadAdminAuths.bind(this);\r\n this.handleEditButtonClick = this.handleEditButtonClick.bind(this);\r\n this.handleDeleteButtonClick = this.handleDeleteButtonClick.bind(this);\r\n this.handleNewButtonClick = this.handleNewButtonClick.bind(this);\r\n this.handleAddSysAdminModalAction = this.handleAddSysAdminModalAction.bind(this);\r\n this.toggleShowAddSysAdminModal = this.toggleShowAddSysAdminModal.bind(this);\r\n this.onConfirmDelete = this.onConfirmDelete.bind(this);\r\n this.handleCancelDelete = this.handleCancelDelete.bind(this);\r\n this.validateDomain = this.validateDomain.bind(this);\r\n this.setTabBar1 = this.setTabBar1.bind(this);\r\n this.handleClick = this.handleClick.bind(this);\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.props.actions.fetchAuthorizations(null, 1, null, 1);\r\n this.setFilter();\r\n authActions.fetchAllowedAuthorizationDomains().then((allowedDomains) => { this.setState({ allowedDomains: allowedDomains }); });\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.authorizations !== this.props.authorizations && this.props.authorizations) {\r\n const list = Object.assign([], this.props.authorizations);\r\n this.setState({ filteredAdminAuths: list });\r\n }\r\n }\r\n\r\n reloadAdminAuths(reloadAdminAuths) {\r\n if (reloadAdminAuths) {\r\n this.props.actions.fetchAuthorizations(null, 1, null, 1);\r\n }\r\n }\r\n\r\n handleSearchChange(e) {\r\n this.setState({ adminUserSearchText: e.target.value }, this.setFilter);\r\n }\r\n\r\n handleClearSearchText(e) {\r\n this.setState({ adminUserSearchText: \"\" }, this.setFilter);\r\n }\r\n\r\n setFilter() {\r\n if (this.state.adminUserSearchText === \"\") {\r\n this.setState({ filteredAdminAuths: Object.assign([], this.props.authorizations) });\r\n } else {\r\n this.setState({ filteredAdminAuths: this.props.authorizations.filter((auth) => auth.userId.toLowerCase().includes(this.state.adminUserSearchText.toLowerCase())) });\r\n }\r\n }\r\n\r\n handleNewButtonClick(value) {\r\n this.setState({ showAddSysAdminModal: !this.state.showAddSysAdminModal });\r\n }\r\n\r\n handleEditButtonClick() {\r\n //Not used in SysAdmin\r\n }\r\n\r\n handleDeleteButtonClick(auth) {\r\n let id = auth.id;\r\n\r\n this.setState({\r\n confirmAction: () => this.props.authActions.removeAuthorization(id).then(() => {\r\n this.reloadAdminAuths(true);\r\n this.setState({\r\n auth: {\r\n \"userId\": null, \"resource\": authActions.resource.System, \"role\": authActions.role.Administrator, \"resourceId\": null, \"id\": null\r\n }\r\n });\r\n })\r\n });\r\n }\r\n\r\n toggleShowAddSysAdminModal() {\r\n this.setState({ addAuthMessageText: null, showAddSysAdminModal: !this.state.showAddSysAdminModal }, () => {\r\n if (!this.state.showAddSysAdminModal) {\r\n store.dispatch(reset('auth'));\r\n }\r\n });\r\n }\r\n\r\n handleAddSysAdminModalAction(values) {\r\n if (!values || !values.userId || values.userId.trim() === \"\") {\r\n this.setState({ addAuthMessageText: \"Required\" });\r\n return;\r\n }\r\n\r\n for (let auth of this.props.authorizations) {\r\n if (values.userId.toLowerCase() === auth.userId.toLowerCase()) {\r\n this.setState({ addAuthMessageText: `'${values.userId}' is already an authorized SysAdmin.` });\r\n return;\r\n }\r\n }\r\n\r\n this.setState({ auth: values }, () => {\r\n this.props.commonActions.beginTask();\r\n this.props.authActions.createAuthorization(this.state.auth).then(() => {\r\n\r\n this.reloadAdminAuths(true);\r\n this.setState({\r\n auth: {\r\n \"userId\": null, \"resource\": authActions.resource.System, \"role\": authActions.role.Administrator, \"resourceId\": null, \"id\": null\r\n }\r\n });\r\n this.toggleShowAddSysAdminModal();\r\n this.props.commonActions.endTask();\r\n }).catch((error) => {\r\n this.toggleShowAddSysAdminModal();\r\n });\r\n });\r\n }\r\n\r\n onConfirmDelete() {\r\n if(this.state.confirmAction) {\r\n this.state.confirmAction();\r\n this.setState({ confirmAction: null });\r\n }\r\n }\r\n\r\n handleCancelDelete() {\r\n this.setState({ confirmAction: null });\r\n }\r\n\r\n validateDomain(value) {\r\n return authorizationDomainValidator.allowedDomain(value, this.state.allowedDomains);\r\n }\r\n\r\n //Set tab related state variables\r\n setTabBar1(currentIndex) {\r\n this.setState({ tabBar1: currentIndex });\r\n }\r\n\r\n //Set current tab index\r\n handleClick(index) {\r\n this.setTabBar1(index);\r\n }\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n const authModalStyle = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: '300px',\r\n height: '160px'\r\n }\r\n };\r\n\r\n let isSysAdmin = false;\r\n if (Array.isArray(this.props.currentUserAuthorizations)) {\r\n isSysAdmin = authActions.isSystemAdministrator(this.props.currentUserAuthorizations);\r\n }\r\n\r\n // Non sys admins are unauthorized to access system admin page\r\n if (!isSysAdmin) {\r\n this.props.router.navigate(`/unauthorized`);\r\n return ();\r\n }\r\n\r\n return isSysAdmin ? (\r\n \r\n

    System Administrators

    \r\n \r\n \r\n this.handleClick(1)}>\r\n Manage System Administrators\r\n \r\n \r\n \r\n this.handleClick(2)}>\r\n Data Deletion Diagnostic\r\n \r\n \r\n \r\n \r\n this.handleClick(3)}>\r\n External User Data Visibility Manager\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n ) : ;\r\n }\r\n}\r\n\r\nAdminAuthPage.propTypes = {\r\n authorizations: PropTypes.array,\r\n currentUserAuthorizations: PropTypes.array,\r\n actions: PropTypes.object.isRequired,\r\n commonActions: PropTypes.object.isRequired,\r\n currentUserId: PropTypes.string.isRequired\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state) {\r\n const authorizations = state.authorizations;\r\n const currentUserAuthorizations = state.currentUserAuthorizations;\r\n\r\n return {\r\n authorizations: authorizations,\r\n currentUserAuthorizations: currentUserAuthorizations,\r\n currentUserId: state.authentication.currentUser\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(authActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n authActions: bindActionCreators(authActions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(AdminAuthPage));","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\n/**\r\n * UnauthorizedUserContainer container component\r\n * @extends {React.Component}\r\n */\r\nexport class UnauthorizedUserContainer extends React.Component {\r\n /**\r\n * Creates a new UnauthorizedUserContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = { \r\n }; \r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() { \r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n
    \r\n

    Access Denied. You are not authorized to view this page.

    \r\n
    \r\n ) ;\r\n }\r\n}\r\n\r\nUnauthorizedUserContainer.propTypes = { \r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state) {\r\n \r\n return { \r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UnauthorizedUserContainer);","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\n/**\r\n * ExternalUnauthorizedUserContainer container component\r\n * @extends {React.Component}\r\n */\r\nexport class ExternalUnauthorizedUserContainer extends React.Component {\r\n /**\r\n * Creates a new ExternalUnauthorizedUserContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = { \r\n }; \r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() { \r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n
    \r\n

    Access Denied. You are not authorized to view this page.

    \r\n
    \r\n ) ;\r\n }\r\n}\r\n\r\nExternalUnauthorizedUserContainer.propTypes = { \r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state) {\r\n \r\n return { \r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExternalUnauthorizedUserContainer);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { FormattedNumber } from \"react-intl\";\r\nimport { Button, Icon } from \"semantic-ui-react\";\r\nimport ShortDate from \"../shared/ShortDate\";\r\nimport FormattedCurrency from \"../shared/FormattedCurrency\";\r\nimport { MotifIconButton, MotifIcon } from \"@ey-xd/motif-react\";\r\nimport { IconoirEditPencil } from '@ey-xd/motif-icon';\r\n\r\nconst MappingsListRow = ({ mapping, handleEditButtonClick, tbMode, canEdit }) => {\r\n let className = \"\";\r\n if (mapping.isAPropertyMapping && tbMode !== 2) {\r\n className = \"propertyMappingRow\";\r\n }\r\n\r\n const getDate = (datetime) => {\r\n let date = new Date(datetime);\r\n /* Date converted to MM/DD/YYYY format */\r\n return `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`;\r\n }\r\n\r\n const onEditButtonClick = () => {\r\n return handleEditButtonClick(mapping.clientAccountMappingID, mapping.isAPropertyMapping);\r\n };\r\n\r\n return (\r\n \r\n {mapping.clientAccountCode}\r\n {mapping.clientAccountDescription}\r\n {mapping.clientAccountCategoryDescription}\r\n {mapping.reitTestingAttributeCode} - {mapping.reitTestingAttributeDescription}\r\n {mapping.subAttribute}\r\n \r\n \r\n \r\n {getDate(mapping.lastUpdatedDateTime)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nMappingsListRow.propTypes = {\r\n mapping: PropTypes.object.isRequired,\r\n handleEditButtonClick: PropTypes.func.isRequired,\r\n tbMode: PropTypes.number,\r\n canEdit: PropTypes.bool\r\n};\r\n\r\nexport default MappingsListRow;","import React, { useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Icon, Progress, Button, Header } from \"semantic-ui-react\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as trialBalanceActions from \"../../actions/trialBalanceActions\";\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter, \r\n MotifFileUploader,\r\n MotifFormField,\r\n MotifTextLink,\r\n MotifIcon,\r\n MotifMessage\r\n} from \"@ey-xd/motif-react\";\r\nimport { IconoirXmarkCircle, IconoirCheckCircle } from '@ey-xd/motif-icon';\r\nimport * as Constants from \"../../constants/other\";\r\n\r\nconst UploadStatusComponent = ({\r\n rejectedFiles,\r\n acceptedFiles,\r\n status,\r\n validationErrors,\r\n}) => {\r\n return (\r\n \r\n {status == \"Success\" &&\r\n acceptedFiles.map((file, index) => {\r\n var acceptedfileNames = file.name;\r\n let msg =\r\n acceptedfileNames + \" has been added to the queue for processing.\";\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 {msg}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n {status == \"Error\" && (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Upload failed.\r\n
    \r\n
    \r\n
    \r\n {validationErrors.map((e, index) => (\r\n
    \r\n {e.error}\r\n
    \r\n ))}\r\n
    \r\n )}\r\n {status == \"Rejected\" && (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Upload failed.\r\n
    \r\n
    \r\n
    \r\n {rejectedFiles &&\r\n rejectedFiles.length > 0 &&\r\n rejectedFiles.map((f, index) => (\r\n
    \r\n
    {f.file.name}
    \r\n
    \r\n {f.file.size > Constants.MAX_UPLOAD_FILE_SIZE_IN_BYTES ? (\r\n \r\n The file size has exceeded max limit of{\" \"}\r\n {Constants.MAX_UPLOAD_FILE_SIZE_IN_MB}MB\r\n \r\n ) : (\r\n \r\n Invalid file extension (Supports only XLSX format)\r\n \r\n )}\r\n
    \r\n
    \r\n ))}\r\n
    \r\n )}\r\n {status == \"Uploading\" && (\r\n
    \r\n Uploading file(s)\r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\n/**\r\n * Container component used for uploading chart files\r\n */\r\nexport class AccountMappingsUploadModal extends React.Component {\r\n /**\r\n * Creates a new AccountMappingsUploadModal\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.onDrop = this.onDrop.bind(this);\r\n this.handleClose = this.handleClose.bind(this);\r\n\r\n this.state = {\r\n status: null,\r\n rejectedFiles: [],\r\n acceptedFiles: [],\r\n validationErrors: [],\r\n acceptedFileExtensions:{\r\n \"application/vnd.ms-excel\": [\".xlsx\"],\r\n },\r\n };\r\n\r\n this.acceptedFileExtensions = \".xlsx\";\r\n }\r\n\r\n handleClose() {\r\n this.setState({\r\n status: null,\r\n rejectedFiles: [],\r\n acceptedFiles: [],\r\n validationErrors: [],\r\n });\r\n //this.props.handleChartSelection(this.props.chartOfAccountsFormValues.chartID);\r\n this.props.toggleShowUploadAccountMappingsModal();\r\n }\r\n\r\n onDrop(acceptedFiles, rejectedFiles) {\r\n if (Array.isArray(rejectedFiles) && rejectedFiles.length > 0) {\r\n this.setState({\r\n status: \"Rejected\",\r\n rejectedFiles,\r\n acceptedFiles: [],\r\n validationErrors: [],\r\n });\r\n } else if (Array.isArray(acceptedFiles)) {\r\n this.setState({\r\n status: \"Uploading\",\r\n rejectedFiles: [],\r\n acceptedFiles: acceptedFiles,\r\n validationErrors: [],\r\n });\r\n this.props.trialBalanceActions\r\n .uploadAccountMappings(\r\n this.props.clientId,\r\n this.props.periodId,\r\n acceptedFiles\r\n )\r\n .then((response) => {\r\n if (response && response.error) {\r\n //SERVER ERROR, BAD REQUEST\r\n this.setState({\r\n status: null,\r\n rejectedFiles: [],\r\n acceptedFiles: [],\r\n validationErrors: [],\r\n });\r\n this.props.toggleShowUploadAccountMappingsModal();\r\n } else if (\r\n response &&\r\n response.uploadChartValidationError &&\r\n Array.isArray(response.uploadChartValidationError) &&\r\n response.uploadChartValidationError.length > 0\r\n ) {\r\n this.setState({\r\n status: \"Error\",\r\n acceptedFiles: acceptedFiles,\r\n validationErrors: response.uploadChartValidationError,\r\n });\r\n } else {\r\n this.setState({\r\n status: \"Success\",\r\n acceptedFiles: acceptedFiles,\r\n validationErrors: [],\r\n });\r\n }\r\n });\r\n }\r\n }\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n return (\r\n \r\n \r\n \r\n Upload Account Mappings\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n this.state.status != null && \r\n \r\n }\r\n
    \r\n \r\n Close\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nAccountMappingsUploadModal.propTypes = {\r\n toggleShowUploadAccountMappingsModal: PropTypes.func.isRequired,\r\n showUploadAccountMappingsModal: PropTypes.bool.isRequired,\r\n authHeader: PropTypes.object,\r\n //chartOfAccountsFormValues: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {};\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n trialBalanceActions: bindActionCreators(trialBalanceActions, dispatch),\r\n };\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(AccountMappingsUploadModal);\r\n","import React, { useState } from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport { Field, reduxForm } from 'redux-form';\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { MotifButton } from '@ey-xd/motif-react';\r\nimport * as formParsers from \"../../scripts/formParsers\";\r\nimport * as Constants from \"../../constants/other\";\r\n\r\n\r\nconst MappingForm = ({ handleSubmit, handleCloseForm, initialValues, formPurpose, error, submitting, handleDismissErrorMessage, tbMode, change, lookupTypes }) => {\r\n \r\n const [selectedAttribute, setSelectedAttribute] = useState(initialValues.reitTestingAttributeCode);\r\n const [isReadOnly, setIsReadOnly] = useState(false);\r\n const[isSubAttributeHidden, setisSubAttributeHidden] = useState(initialValues.reitTestingAttributeCode ==Constants.SUB_ATTRIBUTE ?\r\n\r\n true : false\r\n );\r\n\r\n const [isSubAttributeReadOnly, setisSubAttributeReadOnly] = useState(false);\r\n \r\n const handleDefaultSubAttributeFocus = () => {\r\n setIsReadOnly(true);\r\n };\r\n \r\n let tbType = \"REIT\";\r\n if (initialValues.propertyID && initialValues.propertyID > 0) {\r\n tbType = \"Property\";\r\n }\r\n if (tbMode === 2) {\r\n tbType = \"\";\r\n }\r\n\r\n let reitTestingAttributeLookupOptions = lookupTypes.reitTestingAttributes\r\n .filter(rta => rta.reitTestingAttributeID !== 0 && rta.reitTestingAttributeID !== initialValues.reitTestingAttributeID)\r\n .map(rta => {\r\n return { label: rta.reitTestingAttributeDescription, value: rta.reitTestingAttributeID }\r\n}); \r\n\r\n function clearDropDownValueFromForm(dropdownName)\r\n { \r\n change(dropdownName, '');\r\n }\r\n\r\n const conditionalRequiredSelect = () => (value) => { // Remove required validation for reitTestingAttribute if subAttribute is 'AO300'\r\n if (selectedAttribute != Constants.SUB_ATTRIBUTE) {\r\n return formValidators.requiredSelect(value);\r\n } \r\n };\r\n\r\n function handleAttributeChange(selectedValue) {\r\n const selectedAttr = lookupTypes.reitTestingAttributes.find(rta => rta.reitTestingAttributeID == parseInt(selectedValue))?.reitTestingAttributeCode;\r\n \r\n setSelectedAttribute(selectedAttr);\r\n \r\n if (selectedAttr !== Constants.SUB_ATTRIBUTE && initialValues.reitTestingAttributeCode == Constants.SUB_ATTRIBUTE) {\r\n setisSubAttributeReadOnly(true);\r\n } else if (selectedAttr !== Constants.SUB_ATTRIBUTE && initialValues.reitTestingAttributeCode != Constants.SUB_ATTRIBUTE) {\r\n setisSubAttributeHidden(false);\r\n } else {\r\n if (selectedAttr === Constants.SUB_ATTRIBUTE) {\r\n setisSubAttributeHidden(true);\r\n }\r\n }\r\n } \r\n\r\n let formTitle = \"\";\r\n let selectionHeader = \"Map to:\";\r\n if (formPurpose === \"EDIT\") {\r\n formTitle = \"Change \" + tbType + \" Mapping\";\r\n selectionHeader = \"Change Mapping to:\";\r\n }\r\n\r\n return ( \r\n
    \r\n {formHelpers.showSubmissionError(error, handleDismissErrorMessage)}\r\n
    \r\n
    \r\n \r\n {(formPurpose === \"EDIT\" && (\r\n
    {initialValues.clientAccountCode}
    \r\n )) || (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n {(formPurpose === \"EDIT\" && (\r\n
    {initialValues.clientAccountDescription}
    \r\n )) || (\r\n \r\n )}\r\n
    \r\n
    \r\n {formPurpose === \"EDIT\" && (\r\n
    \r\n
    \r\n \r\n
    \r\n {initialValues.reitTestingAttributeCode +\r\n \" - \" +\r\n initialValues.reitTestingAttributeDescription}\r\n
    \r\n
    \r\n
    \r\n )}\r\n\r\n {isSubAttributeHidden && (
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n\r\n
    \r\n
    \r\n \r\n opt.value}\r\n optionText={(opt) => opt.label}\r\n onChange={handleAttributeChange} \r\n className=\"motif-option-custom\" \r\n disabled={isReadOnly} \r\n /> \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Save\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nMappingForm.propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n handleCloseForm: PropTypes.func.isRequired,\r\n trs: PropTypes.arrayOf(PropTypes.shape({\r\n id: PropTypes.number,\r\n periodId: PropTypes.number,\r\n name: PropTypes.string,\r\n debt: PropTypes.number,\r\n equity: PropTypes.number\r\n })),\r\n initialValues: PropTypes.object,\r\n error: PropTypes.string,\r\n submitting: PropTypes.bool,\r\n formPurpose: PropTypes.string.isRequired,\r\n handleDismissErrorMessage: PropTypes.func.isRequired,\r\n tbMode: PropTypes.number,\r\n};\r\n\r\nexport default reduxForm({ form: \"mapping\", enableReinitialize: true })(MappingForm);\r\n","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifLabel,\r\n} from \"@ey-xd/motif-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\n\r\nconst SyncREITTestingAttributesModal = ({\r\n showSyncREITTestingAttributesModal,\r\n handleSubmit,\r\n toggleShowSyncREITTestingAttributesModal,\r\n syncREITTestingAttributesFormValues,\r\n initialValues,\r\n selectedTbName,\r\n tbMode,\r\n}) => {\r\n let applyToREITorProperties = \"Apply only to \" + selectedTbName;\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n return (\r\n \r\n \r\n \r\n Restore Default REIT Testing Attributes\r\n \r\n \r\n\r\n
    \r\n \r\n {tbMode && tbMode !== 2 &&
    }\r\n \r\n {tbMode && tbMode !== 2 && (\r\n \r\n )}\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n By clicking confirm, you agree to push these changes.\r\n
    \r\n
    \r\n\r\n \r\n \r\n Cancel\r\n \r\n handleSubmit()}\r\n disabled={!syncREITTestingAttributesFormValues}\r\n >\r\n Confirm\r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nSyncREITTestingAttributesModal.propTypes = {\r\n showSyncREITTestingAttributesModal: PropTypes.bool,\r\n handleSubmit: PropTypes.func,\r\n toggleShowSyncREITTestingAttributesModal: PropTypes.func,\r\n initialValues: PropTypes.object,\r\n tbMode: PropTypes.number,\r\n syncREITTestingAttributesFormValues: PropTypes.object,\r\n};\r\n\r\nexport default reduxForm({\r\n form: \"synchREITTestingAttribute\",\r\n enableReinitialize: true,\r\n})(SyncREITTestingAttributesModal);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport PropTypes from \"prop-types\";\r\nimport MappingsListRow from \"../../components/tb/MappingsListRow\";\r\nimport AccountMappingsUploadModal from \"../../components/tb/AccountMappingsUploadModal\";\r\nimport MappingForm from \"../../components/tb/MappingForm\";\r\nimport FormattedPercent from \"../shared/FormattedPercent\";\r\nimport { fetchFromTrialBalanceApi } from '../../actions/fetchFromApi';\r\nimport { download, decodeURIComponentSafe } from '../../scripts/fileHelpers';\r\nimport { MotifIcon, MotifButton, MotifDropdown, MotifDropdownItem, MotifSelect, MotifOption, MotifLabel, MotifFormField, MotifTextLink, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter } from '@ey-xd/motif-react';\r\n\r\nimport { IconoirNavArrowDown } from '@ey-xd/motif-icon';\r\nimport SyncREITTestingAttributesModal from \"../chartOfAccountsManager/SyncREITTestingAttributesModal\";\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\nconst MappingsList = ({ period, properties, property, formMapping, showForm, handleCloseForm, handleSubmit, formPurpose, handleEditButtonClick,\r\n showSuccess, canEdit, handleDismissErrorMessage, handleDismissSuccessMessage, hideSuccessMessage, showConfirmation, tbMappings, selectedTbName,\r\n trialBalancePurposes, handleTrialBalancePurposeDropdownSelected, handleDownloadAll, handleDeleteAll, confirmAction, handleCancelDelete, handleConfirmDelete,\r\n submittingMapping, tbMode, selectedTbPctOwnership, loading, chartName, selectedTbId, periodId, reitId, clientId, lookupTypes, showSyncREITTestingAttributesModal, toggleShowSyncREITTestingAttributesModal, handleSyncREITTestsingAttributeAction, syncREITTestingAttributesFormValues, syncInitialValue }) => {\r\n\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n /**\r\n * Download Client Account Mappings template or zip package based on mapping type.\r\n * @param {string} mappingType Mapping type \r\n * If mappingType is WITHOUT_PACKAGE then download template based on Report period Id, REIT Id and Property Id *\r\n * If mappingType is WITH_PACKAGE then download zip package based on Report period Id *\r\n */\r\n function downloadClientAccountMappings(mappingType) {\r\n\r\n if (mappingType === 'WITHOUT_PACKAGE') {\r\n let reitIdForTemplate = selectedTbId < 1 ? reitId : null;\r\n let propertyIdForTemplate = selectedTbId < 1 ? null : selectedTbId;\r\n\r\n fetchFromTrialBalanceApi(`/chartAssignment/downloadCAM?reportPeriodId=${periodId}&reitId=${reitIdForTemplate}&propertyId=${propertyIdForTemplate}`)\r\n .then(function (response) {\r\n return response.blob().then(function (blob) {\r\n const contentDisposition =\r\n response.headers.get(\"Content-Disposition\");\r\n\r\n const filename =\r\n contentDisposition.split(';')[1].split('=')[1].trim();\r\n\r\n download(blob, filename);\r\n });\r\n })\r\n .catch(e => console.error(e));\r\n }\r\n else if (mappingType === 'WITH_PACKAGE') {\r\n \r\n fetchFromTrialBalanceApi(`/chartAssignment/downloadCAMPackage?reportPeriodId=${periodId}`)\r\n .then(function (response) {\r\n return response.blob().then(function (blob) { \r\n const contentDisposition =\r\n response.headers.get(\"Content-Disposition\");\r\n\r\n const filename =\r\n contentDisposition.split(';')[1].split('=')[1].trim();\r\n download(blob, decodeURIComponentSafe(filename, 1));\r\n });\r\n })\r\n .catch(e => console.error(e));\r\n }\r\n }\r\n\r\n const [showUploadAccountMappingsModal, setShowUploadAccountMappingsModal] = useState(false);\r\n const [chartOptionsOpen, setChartOptionsOpen] = useState(false);\r\n\r\n const toggleShowUploadAccountMappingsModal = () =>{\r\n setShowUploadAccountMappingsModal(!showUploadAccountMappingsModal);\r\n }\r\n \r\n const mappingModalStyle = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: '50%',\r\n height: 'auto', // <-- This sets the height\r\n overflow: 'visible' // <-- This tells the modal to scroll\r\n }\r\n };\r\n\r\n const confirmModalStyle = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: '40%',\r\n height: 'auto'\r\n }\r\n };\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n\r\n const loadingModalStyle = {\r\n content: {\r\n backgroundColor: 'transparent',\r\n border: 'none',\r\n color: 'white',\r\n textAlign: 'center',\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: '60%',\r\n overlfow: 'none' // <-- This tells the modal to scrol\r\n }\r\n };\r\n let submittingMessage = \" ...loading...please wait...\";\r\n\r\n let createChartLink = `/client/${clientId}/chartOfAccountsManager`;\r\n \r\n let tbType = \"REIT\";\r\n if (formMapping.propertyID && formMapping.propertyID > 0) {\r\n tbType = \"Property\";\r\n }\r\n if (tbMode === 2) {\r\n tbType = \"\";\r\n }\r\n\r\n let formTitle = \"\";\r\n let selectionHeader = \"Map to:\";\r\n if (formPurpose === \"EDIT\") {\r\n formTitle = \"Change \" + tbType + \" Mapping\";\r\n selectionHeader = \"Change Mapping to:\";\r\n }\r\n \r\n\r\n return (\r\n \r\n
    \r\n
    \r\n

    Client Account Mappings {canEdit ? \"\" : \"- Testing Closed\"}

    \r\n \r\n {/*
    \r\n Download All Mappings\r\n
    \r\n
    \r\n Delete All Mappings\r\n
    */} \r\n\r\n
    \r\n setChartOptionsOpen(false)}\r\n trigger={\r\n setChartOptionsOpen(!chartOptionsOpen)}\r\n aria-controls={'chart-dropdown'}\r\n id={'chart-dropdown-trigger'}\r\n aria-expanded={chartOptionsOpen}\r\n aria-label=\"Download chart dropdown\"\r\n >\r\n Download Chart \r\n \r\n }\r\n >\r\n {setChartOptionsOpen(false); downloadClientAccountMappings('WITHOUT_PACKAGE');}}>\r\n Download Selected Mapping Template Only\r\n \r\n { setChartOptionsOpen(false); downloadClientAccountMappings('WITH_PACKAGE');}}>\r\n Download Mapping Template Package\r\n \r\n \r\n
    \r\n
    \r\n \r\n Restore Default REIT Testing Attributes\r\n \r\n
    \r\n
    \r\n \r\n Upload Mappings\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {\r\n (chartName !== null && chartName !== '') &&\r\n
    \r\n
    \r\n Current Chart: {chartName} \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n {tbMode !== 2 && \r\n \r\n REIT/Property\r\n \r\n {trialBalancePurposes()}\r\n \r\n \r\n || Consolidated TB Mode}\r\n
    \r\n
    \r\n
    \r\n Mappings for {selectedTbName}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {loading &&
    Loading...
    ||\r\n \r\n {(!tbMappings || tbMappings.length === 0) &&
    No mappings found. Create a new chart or update your existing chart.
    ||\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {tbMappings.map(\r\n mapping => )}\r\n \r\n
    Client Account NumberClient Account NameCategoryREIT Testing Attribute DescriptionSub Attribute\r\n
    Balance\r\n {selectedTbId >= 1 &&  (\r\n \r\n ) }\r\n
    \r\n
    Date Modified\r\n
    \r\n }\r\n
    \r\n }\r\n
    \r\n \r\n {/* \r\n
    \r\n

    Delete All Mappings

    \r\n

    This action will delete all mappings and balances for this period only. You will need to start this period over by uploading a new set of mappings or a trial balance with mappings.

    \r\n

    Continue?

    \r\n
    \r\n \r\n Yes\r\n \r\n \r\n No\r\n \r\n\r\n
    \r\n
    \r\n
    */} \r\n \r\n \r\n \r\n {formTitle}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(submittingMapping && ( \r\n
    \r\n
    \r\n \"Loading...\" \r\n ...loading...please wait...\r\n
    \r\n
    \r\n )) }\r\n \r\n
    \r\n );\r\n};\r\n\r\nMappingsList.propTypes = {\r\n tbMappings: PropTypes.array,\r\n formMapping: PropTypes.object,\r\n period: PropTypes.object,\r\n properties: PropTypes.array,\r\n property: PropTypes.object,\r\n showForm: PropTypes.bool,\r\n hideSuccessMessage: PropTypes.bool,\r\n submittingMapping: PropTypes.bool,\r\n showConfirmation: PropTypes.bool,\r\n showSuccess: PropTypes.bool,\r\n canEdit: PropTypes.bool,\r\n tbMode: PropTypes.number,\r\n formPurpose: PropTypes.string.isRequired,\r\n selectedTbName: PropTypes.string,\r\n confirmAction: PropTypes.func,\r\n trialBalancePurposes: PropTypes.func.isRequired,\r\n handleTrialBalancePurposeDropdownSelected: PropTypes.func.isRequired,\r\n handleCancelDelete: PropTypes.func.isRequired,\r\n handleConfirmDelete: PropTypes.func.isRequired,\r\n selectedTbPctOwnership: PropTypes.number,\r\n handleDismissErrorMessage: PropTypes.func.isRequired,\r\n handleDismissSuccessMessage: PropTypes.func.isRequired,\r\n handleDownloadAll: PropTypes.func.isRequired,\r\n handleDeleteAll: PropTypes.func.isRequired,\r\n handleEditButtonClick: PropTypes.func.isRequired,\r\n handleCloseForm: PropTypes.func.isRequired,\r\n handleSubmit: PropTypes.func.isRequired,\r\n loading: PropTypes.bool.isRequired,\r\n showSyncREITTestingAttributesModal: PropTypes.bool,\r\n toggleShowSyncREITTestingAttributesModal: PropTypes.func,\r\n handleSyncREITTestsingAttributeAction: PropTypes.func,\r\n syncREITTestingAttributesFormValues: PropTypes.object,\r\n chartName: PropTypes.string\r\n};\r\n\r\nexport default MappingsList;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { SubmissionError, reset, getFormValues } from \"redux-form\";\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport * as actions from \"../../actions/trialBalanceActions\";\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport * as propertyActions from \"../../actions/propertyActions\";\r\nimport * as chartAssignmentActions from \"../../actions/chartOfAccountsManagerActions\";\r\nimport * as PeriodActions from \"../../actions/periodActions\";\r\nimport * as lookupTypeActions from '../../actions/lookupTypeActions';\r\nimport * as actionHelpers from \"../../scripts/actionHelpers\";\r\nimport * as commonActions from \"../../actions/commonActions\";\r\nimport MappingsList from \"../../components/tb/MappingsList\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport { store } from \"../../store/configureStore\";\r\nimport { MotifOption } from '@ey-xd/motif-react';\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport * as Constants from \"../../constants/other\";\r\n\r\n/**\r\n * MappingsPage container component\r\n * @extends {React.Component}\r\n */\r\nexport class MappingsPage extends React.Component {\r\n\r\n /**\r\n * Creates a new MappingsPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n mappingSearchText: \"\",\r\n showForm: false,\r\n formMapping: {\r\n \"clientAccountCode\": \"\",\r\n \"clientAccountDescription\": \"\",\r\n \"clientAccountMappingId\": null,\r\n \"reitTestingAttributeCode\": \"\",\r\n \"reitTestingAttributeDescription\": \"\",\r\n \"periodId\": 0,\r\n \"propertyId\": null,\r\n },\r\n formPurpose: \"\",\r\n isAPropertyMapping: false,\r\n showSuccess: null,\r\n canEdit: true,\r\n hideSuccessMessage: false,\r\n periodMappingCount: 0,\r\n tbMappings: [],\r\n tbMappingsBalances: [],\r\n selectedTbName: \"\",\r\n selectedTbId: 0,\r\n selectedTbPctOwnership: 100.0000,\r\n confirmAction: null,\r\n submittingMapping: false,\r\n tbMode: 1,\r\n reit: {},\r\n loading: false,\r\n showSyncREITTestingAttributesModal: false,\r\n syncInitialValue: { \"synchType\": \"1\" },\r\n chartMappings: [],\r\n chartName: \"\"\r\n };\r\n this.closeForm = this.closeForm.bind(this);\r\n this.showForm = this.showForm.bind(this);\r\n this.submitForm = this.submitForm.bind(this);\r\n this.handleEditButtonClick = this.handleEditButtonClick.bind(this);\r\n this.handleDismissErrorMessage = this.handleDismissErrorMessage.bind(this);\r\n this.handleDismissSuccessMessage = this.handleDismissSuccessMessage.bind(this);\r\n this.trialBalancePurposes = this.trialBalancePurposes.bind(this);\r\n this.handleTrialBalancePurposeDropdownSelected = this.handleTrialBalancePurposeDropdownSelected.bind(this);\r\n this.handleDownloadAll = this.handleDownloadAll.bind(this);\r\n this.handleDeleteAll = this.handleDeleteAll.bind(this);\r\n this.handleCancelDelete = this.handleCancelDelete.bind(this);\r\n this.onConfirmDelete = this.onConfirmDelete.bind(this);\r\n this.toggleShowSyncREITTestingAttributesModal = this.toggleShowSyncREITTestingAttributesModal.bind(this);\r\n this.handleSyncREITTestsingAttributeAction = this.handleSyncREITTestsingAttributeAction.bind(this);\r\n\r\n }\r\n\r\n /**\r\n * Invoked immediately after a component mounts\r\n */\r\n componentDidMount() {\r\n // Check if state.period is null, if it is populate period\r\n if (!this.props.period || (this.props.period && Object.keys(this.props.period).length === 0 && this.props.period.constructor === Object)) {\r\n this.props.periodActions.fetchPeriodById(this.props.periodId);\r\n }\r\n\r\n // Fetch REIT Testing attribute lookup data\r\n this.props.lookupTypeActions.fetchChartOfAccountTypes();\r\n\r\n this.props.propertyActions.fetchPropertiesByPeriod(this.props.periodId).then(() => {\r\n if (this.props.period.trialBalanceModeID === 2) {\r\n // If consolidated TB mode, then fetch first property mappings and balances\r\n this.props.actions.getMappingsByPeriod(this.props.periodId, this.props.properties[0].propertyID, true);\r\n } else {\r\n // If not consolidated, initially fetch the REIT level data\r\n this.props.actions.getMappingsByPeriod(this.props.periodId, null, true);\r\n }\r\n });\r\n\r\n //Get Chart assignments/mappings based on Report period id\r\n this.props.chartAssignmentActions.fetchChartAssignmentsByReportPeriodId(this.props.periodId).then(() => {\r\n\r\n reitActions.fetchReitByPeriodId(this.props.periodId).then((reit) => {\r\n\r\n this.setState({ reit: reit, selectedTbName: reit.reitName + \" - \" + reit.reitTrackingID });\r\n\r\n //Get chart name based on REIT Id\r\n let chartDetails = this.props.chartMappings.find(m => m.reitid === reit.reitid);\r\n if (chartDetails) {\r\n this.setState({ chartName: chartDetails.chartName });\r\n }\r\n else {\r\n this.setState({ chartName: '' });\r\n }\r\n });\r\n\r\n });\r\n }\r\n\r\n /**\r\n * Invoked before a mounted component receives new props.\r\n * @param {Object} nextProps The periodMappings that the component is receiving\r\n */\r\n componentDidUpdate(prevProps) {\r\n const nextProps = this.props;\r\n\r\n if (nextProps.periodId !== prevProps.periodId && nextProps.periodId > 0) {\r\n this.props.actions.fetchPropertiesByPeriod(nextProps.periodId);\r\n }\r\n\r\n if (nextProps.period !== prevProps.period) {\r\n this.setCanEdit(nextProps.period);\r\n if (nextProps.period && nextProps.period.trialBalanceModeID === 2) {\r\n this.setState({ tbMode: 2, syncInitialValue: { \"synchType\": \"2\" } });\r\n } else {\r\n this.setState({ tbMode: 1, syncInitialValue: { \"synchType\": \"1\" } });\r\n }\r\n }\r\n\r\n if (nextProps.periodMappings !== prevProps.periodMappings) {\r\n this.setState({ periodMappingCount: nextProps.periodMappings.length },\r\n () => this.clearAndSetFilter()\r\n );\r\n }\r\n\r\n if (nextProps.periodMappingsBalances != prevProps.periodMappingsBalances) {\r\n this.setState({ tbMappingsBalances: Object.assign([], nextProps.periodMappingsBalances) }, () => this.clearAndSetFilter());\r\n }\r\n\r\n if (nextProps.mapping !== prevProps.mapping) {\r\n let mapping = {\r\n \"clientAccountCode\": nextProps.mapping.clientAccountCode,\r\n \"clientAccountDescription\": nextProps.mapping.clientAccountDescription,\r\n \"clientAccountMappingId\": nextProps.mapping.clientAccountMappingID,\r\n \"reitTestingAttributeCode\": nextProps.mapping.reitTestingAttributeCode,\r\n \"reitTestingAttributeDescription\": nextProps.mapping.reitTestingAttributeDescription,\r\n \"periodId\": nextProps.mapping.reportPeriodID,\r\n \"propertyId\": nextProps.mapping.propertyID,\r\n };\r\n this.setState({ formMapping: Object.assign({}, nextProps.mapping) });\r\n this.setState({ showForm: true, formPurpose: \"EDIT\", showSuccess: null });\r\n }\r\n\r\n if (nextProps.chartMappings != prevProps.chartMappings) {\r\n this.setState({ chartMappings: Object.assign({}, nextProps.chartMappings) });\r\n }\r\n }\r\n \r\n\r\n handleDismissErrorMessage() {\r\n this.props.commonActions.clearFormErrors('mapping');\r\n }\r\n\r\n handleDismissSuccessMessage() {\r\n this.setState({ hideSuccessMessage: true });\r\n }\r\n\r\n setCanEdit(period) {\r\n const isEnabled = PeriodActions.isTestingEnabled(period);\r\n this.setState({ canEdit: isEnabled });\r\n }\r\n\r\n submitForm(values) {\r\n // Hide modal and show spinner\r\n const selectedReitTestingAttr = this.props.lookupTypes.reitTestingAttributes.find(rta => rta.reitTestingAttributeID == parseInt(values.reitTestingAttribute))?.reitTestingAttributeCode;\r\n\r\n this.setState({ submittingMapping: true });\r\n const mapping = {\r\n \"clientAccountMappingID\": values.clientAccountMappingID,\r\n \"reitTestingAttributeID\": values.reitTestingAttribute && typeof values.reitTestingAttribute === \"string\" && values.reitTestingAttribute.trim() !== \"\"\r\n ? values.reitTestingAttribute.trim()\r\n : values.reitTestingAttributeID,\r\n \"reportPeriodID\" : this.props.periodId,\r\n \"subAttribute\" : (values.reitTestingAttributeCode === Constants.SUB_ATTRIBUTE && selectedReitTestingAttr == undefined)\r\n ? parseInt(values.subAttribute)\r\n : (values.reitTestingAttributeCode === Constants.SUB_ATTRIBUTE && selectedReitTestingAttr != values.reitTestingAttributeCode)\r\n ? null\r\n : (selectedReitTestingAttr == Constants.SUB_ATTRIBUTE && values.reitTestingAttributeCode != Constants.SUB_ATTRIBUTE)\r\n ? parseInt(values.subAttribute)\r\n : null\r\n };\r\n\r\n return actions.updateMapping(mapping).then(data => {\r\n if (actionHelpers.isErrorResponse(data)) {\r\n // Hide spinner and show modal\r\n this.setState({ submittingMapping: false });\r\n formHelpers.generateSubmissionError(data);\r\n return;\r\n }\r\n if (this.props.period.trialBalanceModeID === 2) {\r\n // If consolidated TB mode, then fetch first property mappings and balances\r\n this.props.actions.getMappingsByPeriod(this.props.periodId, this.props.properties[0].propertyID, true);\r\n } else {\r\n this.props.actions.getMappingsByPeriod(this.props.periodId, this.state.selectedTbId, true);\r\n }\r\n this.closeForm();\r\n }).catch(error => {\r\n if (error instanceof SubmissionError) {\r\n throw error;\r\n }\r\n\r\n // Hide spinner and show modal\r\n this.setState({ submittingMapping: false });\r\n formHelpers.generateSubmissionError();\r\n });\r\n }\r\n\r\n showForm() {\r\n this.setState({ showForm: true, formPurpose: \"\", showSuccess: null });\r\n }\r\n\r\n closeForm() {\r\n this.setState({ showForm: false, showSuccess: null, submittingMapping: false });\r\n }\r\n\r\n handleEditButtonClick(id, isAPropertyMapping) {\r\n this.props.actions.getMappingById(id);\r\n this.setState({ isAPropertyMapping: isAPropertyMapping, submittingMapping: false });\r\n } \r\n\r\n trialBalancePurposes() {\r\n let items = [];\r\n if (this.state.tbMode !== 2) {\r\n items.push(REIT);\r\n }\r\n if (this.props.properties.length > 0) {\r\n for (let i = 0; i < this.props.properties.length; i++) {\r\n items.push({this.props.properties[i].propertyName});\r\n }\r\n }\r\n return items;\r\n }\r\n\r\n // Sets selectedTbName and selectedTbId\r\n handleTrialBalancePurposeDropdownSelected(e) {\r\n let value = e;\r\n\r\n if (value < 1) {\r\n this.props.actions.getMappingsByPeriod(this.props.periodId, null, true);\r\n\r\n this.setState({ selectedTbName: this.state.reit.reitName + \" - \" + this.state.reit.reitTrackingID, selectedTbId: 0, selectedTbPctOwnership: 100.0000 }, () => this.clearAndSetFilter());\r\n\r\n //Get chart name based on REIT Id\r\n let chartDetails = this.props.chartMappings.find(m => m.reitid === this.state.reit.reitid);\r\n if (chartDetails) {\r\n this.setState({ chartName: chartDetails.chartName });\r\n }\r\n else {\r\n this.setState({ chartName: '' });\r\n }\r\n\r\n } else {\r\n let propertyName = \"Property TB\";\r\n let propertyId = \"-1\";\r\n let pctOwnership = 100.0000;\r\n for (let i = 0; i < this.props.properties.length; i++) {\r\n if (this.props.properties[i].propertyID.toString() === value) {\r\n propertyName = this.props.properties[i].propertyName + \" - \" + this.props.properties[i].propertyTrackingID;\r\n propertyId = this.props.properties[i].propertyID;\r\n pctOwnership = this.props.properties[i].percentageOfOwnership;\r\n break;\r\n }\r\n }\r\n\r\n this.setState({ loading: true });\r\n this.props.actions.getMappingsByPeriod(this.props.periodId, value, true).then(() =>\r\n this.setState({\r\n selectedTbName: propertyName,\r\n selectedTbId: propertyId,\r\n selectedTbPctOwnership: pctOwnership,\r\n loading: false\r\n }, () => this.clearAndSetFilter()));\r\n\r\n //Get chart name based on Property Id\r\n let chartDetails = this.props.chartMappings.find(m => m.propertyID && m.propertyID.toString() === value);\r\n if (chartDetails) {\r\n this.setState({ chartName: chartDetails.chartName });\r\n }\r\n else {\r\n this.setState({ chartName: '' });\r\n }\r\n }\r\n }\r\n\r\n clearAndSetFilter() {\r\n if (this.state.tbMode === 2) {\r\n\r\n let propertyId = this.props.properties[0].propertyID;\r\n let pctOwnership = this.props.properties[0].percentageOfOwnership;\r\n this.setState({ selectedTbId: propertyId, selectedTbPctOwnership: pctOwnership });\r\n }\r\n this.setState({ tbMappings: [] }, () => this.filterTbMappings());\r\n }\r\n\r\n // Filters tbMappings based on selectedTbId\r\n filterTbMappings() {\r\n const tbMappings = JSON.parse(JSON.stringify(this.props.periodMappings));\r\n this.setState({ tbMappings });\r\n return;\r\n }\r\n\r\n handleDownloadAll() {\r\n actions.downloadPeriodMappingsFile(this.props.periodId);\r\n }\r\n\r\n handleCancelDelete() {\r\n this.setState({ confirmAction: null });\r\n }\r\n\r\n onConfirmDelete() {\r\n if (this.state.confirmAction) {\r\n this.state.confirmAction();\r\n this.setState({ confirmAction: null });\r\n }\r\n }\r\n\r\n handleDeleteAll() {\r\n this.setState({\r\n confirmAction: () => {\r\n this.props.commonActions.beginTask();\r\n return actions.deletePeriodMappings(this.props.periodId).then(() => {\r\n this.props.commonActions.endTask();\r\n return this.deleteAllTrialBalances();\r\n }).catch(error => this.props.commonActions.dispatchErrorAndEndTask(error));\r\n }\r\n });\r\n }\r\n\r\n deleteAllTrialBalances() {\r\n this.props.commonActions.beginTask();\r\n actions.deleteTrialBalance(this.props.periodId)\r\n .then(() => {\r\n this.props.commonActions.endTask();\r\n this.props.actions.getLastTrialBalanceByPeriod(this.props.periodId, \"reit\");\r\n this.props.actions.getLastPropertyTrialBalanceByPeriod(this.props.periodId, this.state.propertyId);\r\n if (this.props.period.trialBalanceModeID === 2) {\r\n this.props.actions.getMappingsByPeriod(this.props.periodId);\r\n } else {\r\n this.props.actions.getMappingsByPeriod(this.props.periodId, null, true);\r\n }\r\n\r\n }).catch(error => this.props.commonActions.dispatchErrorAndEndTask(error));\r\n }\r\n\r\n toggleShowSyncREITTestingAttributesModal() {\r\n this.setState({\r\n showSyncREITTestingAttributesModal: !this.state.showSyncREITTestingAttributesModal\r\n }, () => store.dispatch(reset('synchREITTestingAttribute')));\r\n }\r\n\r\n\r\n handleSyncREITTestsingAttributeAction() {\r\n\r\n let syncREITId = this.state.selectedTbId < 1 ? this.state.reit.reitid : null;\r\n let syncPropertyId = this.state.selectedTbId < 1 ? null : this.state.selectedTbId;\r\n this.setState({ loading: true });\r\n\r\n if (this.props.syncREITTestingAttributesFormValues && this.props.syncREITTestingAttributesFormValues.synchType === \"1\") {\r\n //Synch REIT Testing Attributes for specific REIT or Property\r\n\r\n this.props\r\n .chartAssignmentActions\r\n .syncREITTestsingAttributesForREITorProperty(this.props.periodId, syncREITId, syncPropertyId)\r\n .then(() => {\r\n if (syncREITId && syncREITId > 0) {\r\n this.props.actions.getMappingsByPeriod(this.props.periodId, null, true).then(() =>\r\n this.setState(() => this.clearAndSetFilter()));\r\n }\r\n else if (syncPropertyId && syncPropertyId > 0) {\r\n\r\n this.props.actions.getMappingsByPeriod(this.props.periodId, syncPropertyId, true).then(() =>\r\n this.setState(() => this.clearAndSetFilter()));\r\n }\r\n });\r\n }\r\n else if (this.props.syncREITTestingAttributesFormValues && this.props.syncREITTestingAttributesFormValues.synchType === \"2\") {\r\n //Synch REIT Testing Attributes for specific REIT and all Properties of Report Period Id\r\n\r\n this.props\r\n .chartAssignmentActions\r\n .syncREITTestsingAttributesByReportPeriodId(this.props.periodId)\r\n .then(() => {\r\n if (syncREITId && syncREITId > 0) {\r\n this.props.actions.getMappingsByPeriod(this.props.periodId, null, true).then(() =>\r\n this.setState(() => this.clearAndSetFilter()));\r\n }\r\n else if (syncPropertyId && syncPropertyId > 0) {\r\n\r\n this.props.actions.getMappingsByPeriod(this.props.periodId, syncPropertyId, true).then(() =>\r\n this.setState(() => this.clearAndSetFilter()));\r\n }\r\n });\r\n }\r\n\r\n this.setState({ loading: false });\r\n this.toggleShowSyncREITTestingAttributesModal();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nMappingsPage.propTypes = {\r\n reitId: PropTypes.number.isRequired,\r\n clientId: PropTypes.number.isRequired,\r\n periodId: PropTypes.number.isRequired,\r\n actions: PropTypes.object.isRequired,\r\n period: PropTypes.object,\r\n properties: PropTypes.array,\r\n property: PropTypes.object,\r\n periodMappings: PropTypes.array,\r\n periodMappingsBalances: PropTypes.array,\r\n mapping: PropTypes.object,\r\n showSuccess: PropTypes.bool,\r\n chartOfAccounts: PropTypes.array,\r\n chartMappings: PropTypes.array,\r\n propertyActions: PropTypes.object.isRequired,\r\n periodActions: PropTypes.object.isRequired,\r\n chartAssignmentActions: PropTypes.object.isRequired,\r\n commonActions: PropTypes.object.isRequired,\r\n syncREITTestingAttributesFormValues: PropTypes.object,\r\n lookupTypes: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n const searchParams = new URLSearchParams(ownProps.router.location.search);\r\n const showSuccess = searchParams.get('showSuccess');\r\n\r\n return {\r\n reitId: Number.parseInt(ownProps.router.params.reitId),\r\n clientId: Number.parseInt(ownProps.router.params.clientId),\r\n periodId: Number.parseInt(ownProps.router.params.periodId),\r\n period: state.period,\r\n properties: state.properties,\r\n periodMappings: state.periodMappings,\r\n periodMappingsBalances: state.periodMappingsBalances,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n isSysAdmin: Array.isArray(state.currentUserAuthorizations) && authActions.isSystemAdministrator(state.currentUserAuthorizations),\r\n mapping: state.mapping,\r\n showSuccess: showSuccess,\r\n chartOfAccounts: state.chartOfAccounts,\r\n chartMappings: state.chartMappings,\r\n syncREITTestingAttributesFormValues: getFormValues('synchREITTestingAttribute')(state),\r\n lookupTypes: state.lookupTypes\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(actions, dispatch),\r\n propertyActions: bindActionCreators(propertyActions, dispatch),\r\n periodActions: bindActionCreators(PeriodActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n chartAssignmentActions: bindActionCreators(chartAssignmentActions, dispatch),\r\n lookupTypeActions: bindActionCreators(lookupTypeActions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(MappingsPage));","import PropTypes from \"prop-types\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Form } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport { MotifButton, MotifIcon, MotifSelect, MotifOption, MotifLabel, MotifFormField } from '@ey-xd/motif-react';\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\nconst ScheduleChecklistHeader = ({\r\n calendarYears,\r\n isSystemOrEngagementAdmin,\r\n isEngagementUser,\r\n handleDownloadClick,\r\n handleCalendarYearChange,\r\n toggleShowUploadChecklistDeliveryScheduleModal\r\n}) => {\r\n\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n const calendarYearsOptions = calendarYears.map(y => {\r\n return {\r\n key: y,\r\n text: y,\r\n value: y\r\n }\r\n });\r\n \r\n return
    \r\n
    \r\n
    \r\n {\r\n calendarYears && calendarYears.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 {(isSystemOrEngagementAdmin || isEngagementUser) &&\r\n // Show Download Delivery Schedule button if current user is System admin, Engagement admin or Engagement user\r\n // Show Upload Checklist Delivery Schedule button if current user is System admin or Engagement admin \r\n
    \r\n
    \r\n {isSystemOrEngagementAdmin && \r\n Upload Delivery Schedule\r\n \r\n }\r\n \r\n Download Delivery Schedule\r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n }\r\n \r\n
    ;\r\n};\r\n\r\nScheduleChecklistHeader.propTypes = {\r\n calendarYears: PropTypes.array,\r\n handleDownloadClick:PropTypes.func,\r\n handleCalendarYearChange: PropTypes.func\r\n};\r\n\r\nexport default reduxForm({ form: \"scheduleChecklist\" })(ScheduleChecklistHeader);","import React from 'react';\r\nimport { MotifTooltip } from '@ey-xd/motif-react';\r\n\r\nexport default (props) => {\r\n const clientRecipients =\r\n props.node && props.node.data ? props.node.data['clientRecipients'] : '';\r\n\r\n if (clientRecipients.length > 16) {\r\n return (\r\n
    \r\n {clientRecipients.substring(0, 15)}\r\n \r\n ...}\r\n variant=\"alt\"\r\n style={{ margin: '0px' }}\r\n hideCloseButton={true}\r\n >\r\n \r\n {clientRecipients}\r\n \r\n \r\n \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {clientRecipients}\r\n
    \r\n );\r\n }\r\n};\r\n","import PropTypes from \"prop-types\";\r\nimport React, { useCallback, useMemo, useRef, useState, useEffect } from 'react';\r\nimport { render } from 'react-dom';\r\nimport { Form, Icon, Popup, Dropdown } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { Link } from 'react-router-dom';\r\nimport { MotifPagination, MotifPaginationSelect, MotifPaginationSelectItem, MotifToast, MotifTextLink, MotifTable } from \"@ey-xd/motif-react\";\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport 'ag-grid-enterprise';\r\nimport 'ag-grid-community/styles/ag-grid.css';\r\nimport 'ag-grid-community/styles/ag-theme-alpine.css';\r\nimport DateComparator from './customComparators/DateComparator.js';\r\nimport CustomHeaderTemplate from './customHeaders/CustomHeaderTemplate.js';\r\nimport ClientsRecipientsCellRenderer from './customRenderers/ClientRecipientsCellRenderer';\r\n\r\nconst ScheduleChecklistTable = ({\r\n filteredScheduleChecklists,\r\n clientId,\r\n gridColumnState,\r\n handleGridColumnStateChange,\r\n handleGridChanges,\r\n isSystemOrEngagementAdmin\r\n}) => {\r\n const gridRef = useRef();\r\n const [hideInfoMessage, setHideInfoMessage] = useState(false);\r\n const [rowData, setRowData] = useState([]);\r\n const rowDataRef = useRef({});\r\n rowDataRef.current = rowData;\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n autoHeight: true,\r\n wrapHeaderText: true,\r\n autoHeaderHeight: true,\r\n wrapText: true,\r\n };\r\n }, []);\r\n\r\n //Show date in M-D-YY format\r\n const dateOptions = {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: '2-digit'\r\n };\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: 'checklistType', headerName: 'Checklist Type', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 130, maxWidth: 130,\r\n style: { 'display': 'inline' },\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data['checklistType'] : '';\r\n },\r\n filterValueGetter: params => { return params.data && params.data.checklistType; },\r\n headerComponentParams: { template: CustomHeaderTemplate('checklistType') }\r\n },\r\n {\r\n field: 'reitName', headerName: 'REIT', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 200, maxWidth: 200,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data['reitName'] : '';\r\n },\r\n filterValueGetter: params => { return params.data && params.data.reitName; },\r\n headerComponentParams: { template: CustomHeaderTemplate('reitName') }\r\n },\r\n {\r\n field: 'propertyName', headerName: 'Property Name', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 130, maxWidth: 300,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data['propertyName'] : '';\r\n },\r\n filterValueGetter: params => { return params.data && params.data.propertyName; },\r\n headerComponentParams: { template: CustomHeaderTemplate('propertyName') }\r\n },\r\n {\r\n field: 'reitOrPropertyTypeDescription', headerName: 'Type', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 110, maxWidth: 110,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data['reitOrPropertyTypeDescription'] : '';\r\n },\r\n filterValueGetter: params => { return params.data && params.data.reitOrPropertyTypeDescription; },\r\n headerComponentParams: { template: CustomHeaderTemplate('type') }\r\n },\r\n\r\n {\r\n field: 'templateName', headerName: 'Template', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 230, maxWidth: 230,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data['templateName'] : '';\r\n },\r\n filterValueGetter: params => { return params.data && params.data.templateName; },\r\n headerComponentParams: { template: CustomHeaderTemplate('templateName') }\r\n },\r\n {\r\n field: 'prePopulateAnswerOptionDescription', headerName: 'Pre-Populate Answers? / Show Reference Answers?', sortable: true,\r\n minWidth: 180, maxWidth: 180,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data['prePopulateAnswerOptionDescription'] : '';\r\n },\r\n filterValueGetter: params => { return params.data && params.data.prePopulateAnswerOptionDescription; },\r\n headerComponent: 'CustomHeaderForLongHeader'\r\n // headerComponentParams: { template: CustomHeaderTemplate('prepopulatedShowReferenceAnswers') }\r\n },\r\n {\r\n field: 'rollingForwardQuestionDescription', headerName: 'Roll Forward Question Comments? / Attachments?', sortable: true,\r\n minWidth: 180, maxWidth: 180,\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data['rollingForwardQuestionDescription'] : '';\r\n },\r\n filterValueGetter: params => { return params.data && params.data.prePopulateAnswerOptionDescription; },\r\n headerComponent: 'CustomHeaderForLongHeader'\r\n // headerComponentParams: { template: CustomHeaderTemplate('prepopulatedShowReferenceAnswers') }\r\n },\r\n {\r\n field: 'clientRecipients', headerName: 'Client Recipient', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 200, maxWidth: 200,\r\n cellRenderer: ClientsRecipientsCellRenderer,\r\n headerComponentParams: { template: CustomHeaderTemplate('clientRecepients') }\r\n },\r\n {\r\n field: 'sendDateQ1', headerName: 'Q1', sortable: true, minWidth: 80, maxWidth: 80,\r\n // Q1 => If Report Period is closed then show 'Closed' Text instead date scheduled for that quarter\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data[\"isReportPeriodClosedForQ1\"]\r\n ? 'Closed'\r\n : params.node.data[\"sendDateQ1\"] ? (new Date(params.node.data[\"sendDateQ1\"])).toLocaleDateString('en-US', dateOptions) : ''\r\n : null;\r\n },\r\n filterValueGetter: params => {\r\n return params.data\r\n ? params.data[\"isReportPeriodClosedForQ1\"]\r\n ? 'Closed'\r\n : params.data[\"sendDateQ1\"] ? (new Date(params.data.sendDateQ1)).toLocaleDateString('en-US', dateOptions) : 'N/A'\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('q1') }\r\n },\r\n {\r\n field: 'sendDateQ2', headerName: 'Q2', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 80, maxWidth: 80,\r\n // Q2 => If Report Period is closed then show 'Closed' Text instead date scheduled for that quarter\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data[\"isReportPeriodClosedForQ2\"]\r\n ? 'Closed'\r\n : params.node.data[\"sendDateQ2\"] ? (new Date(params.node.data[\"sendDateQ2\"])).toLocaleDateString('en-US', dateOptions) : ''\r\n : null;\r\n },\r\n filterValueGetter: params => {\r\n return params.data\r\n ? params.data[\"isReportPeriodClosedForQ2\"]\r\n ? 'Closed'\r\n : params.data[\"sendDateQ2\"] ? (new Date(params.data.sendDateQ2)).toLocaleDateString('en-US', dateOptions) : 'N/A'\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('q2') }\r\n },\r\n {\r\n field: 'sendDateQ3', headerName: 'Q3', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 80, maxWidth: 80,\r\n // Q3 => If Report Period is closed then show 'Closed' Text instead date scheduled for that quarter\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data[\"isReportPeriodClosedForQ3\"]\r\n ? 'Closed'\r\n : params.node.data[\"sendDateQ3\"] ? (new Date(params.node.data[\"sendDateQ3\"])).toLocaleDateString('en-US', dateOptions) : ''\r\n : null;\r\n },\r\n filterValueGetter: params => {\r\n return params.data\r\n ? params.data[\"isReportPeriodClosedForQ3\"]\r\n ? 'Closed'\r\n : params.data[\"sendDateQ3\"] ? (new Date(params.data.sendDateQ3)).toLocaleDateString('en-US', dateOptions) : 'N/A'\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('q3') }\r\n },\r\n {\r\n field: 'sendDateQ4', headerName: 'Q4', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 80, maxWidth: 80,\r\n // Q4 => If Report Period is closed then show 'Closed' Text instead date scheduled for that quarter\r\n valueGetter: params => {\r\n return params.node && params.node.data\r\n ? params.node.data[\"isReportPeriodClosedForQ4\"]\r\n ? 'Closed'\r\n : params.node.data[\"sendDateQ4\"] ? (new Date(params.node.data[\"sendDateQ4\"])).toLocaleDateString('en-US', dateOptions) : ''\r\n : null;\r\n },\r\n filterValueGetter: params => {\r\n return params.data\r\n ? params.data[\"isReportPeriodClosedForQ4\"]\r\n ? 'Closed'\r\n : params.data[\"sendDateQ4\"] ? (new Date(params.data.sendDateQ4)).toLocaleDateString('en-US', dateOptions) : 'N/A'\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('q4') }\r\n }\r\n\r\n ];\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Grid Global Listner\r\n const gridGlobalListner = function (type, event) {\r\n if (type.indexOf(\"columnVisible\") >= 0) {\r\n handleGridColumnsChanged(event);\r\n }\r\n\r\n // Bind handleFilterChanged event to filterChanged and rowDataUpdated events\r\n if (type.indexOf(\"filterChanged\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n }\r\n\r\n if (type.indexOf(\"rowDataUpdated\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n } \r\n }\r\n\r\n //Handle Grid Ready event\r\n const handleGridReady = (event) => {\r\n //Remove event for column state change\r\n event.api.removeEventListener(gridGlobalListner);\r\n\r\n //Add event for column state change\r\n event.api.addGlobalListener(gridGlobalListner);\r\n\r\n //Apply column state\r\n var columnState = localStorage.getItem('REITSuiteScheduleChecklistColumnState');\r\n if (columnState) {\r\n gridRef.current.columnApi.applyColumnState({\r\n state: JSON.parse(columnState),\r\n applyOrder: true,\r\n });\r\n }\r\n\r\n // Set the page size and total pages on the first load\r\n handleItemsPerPageChange(100); // Setting it 100 to make sure the default number of items on load is always set to 100\r\n }\r\n\r\n // Handle OnFilterChanged event\r\n const handleFilterChanged = (event) => {\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n if (currentPage > calcTotalPages) {\r\n if (calcTotalPages == 0) {\r\n setTimeout(function () { setCurrentPage(calcTotalPages); }, 0)\r\n }\r\n else {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n const gridCurrentPage = gridRef.current.api.paginationGetCurrentPage() + 1; // Adding 1 since it returns zero based index\r\n if (currentPage < (gridCurrentPage) && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n }\r\n \r\n // Show the expected value as 1 for current page \r\n if (currentPage <= 1 && gridCurrentPage == 1 && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n } \r\n }\r\n }\r\n\r\n //Handle First Data Renderered event\r\n const handleFirstDataRendered = (event) => {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Handle Grid Columns changed event\r\n const handleGridColumnsChanged = (event) => {\r\n\r\n var currentColumnState = gridRef.current.columnApi.getColumnState();\r\n var localStorageColumnState = localStorage.getItem('REITSuiteScheduleChecklistColumnState');\r\n\r\n // If the column state details are not exists in local storage then save the changed Column state data\r\n if (currentColumnState && currentColumnState.filter(col => col.hide == true)?.length > 0 && !localStorageColumnState) {\r\n saveUserPreferenceDetails();\r\n }\r\n else if (localStorageColumnState) {\r\n // If the column state details are exists in local storage then save the changed Column state data only if difference is found\r\n var columnsStateArray = JSON.parse(localStorageColumnState);\r\n if (columnsStateArray && columnsStateArray.length > 0\r\n && currentColumnState && currentColumnState.length > 0\r\n && columnsStateArray.filter(col => col.hide == true)?.length != currentColumnState.filter(col => col.hide == true)?.length) {\r\n //If column state mismatch found then only save column state data to avoid saving same state\r\n saveUserPreferenceDetails();\r\n }\r\n }\r\n\r\n //Trigger Grid Column state change (of parent) to sync column state data\r\n handleGridColumnStateChange(currentColumnState);\r\n\r\n gridRef && gridRef.current && gridRef.current.columnApi && gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Save User Preference details (Column state)\r\n const saveUserPreferenceDetails = useCallback(() => {\r\n var columnState = gridRef.current.columnApi.getColumnState();\r\n if (columnState) {\r\n localStorage.setItem('REITSuiteScheduleChecklistColumnState', JSON.stringify(columnState));\r\n }\r\n }, []);\r\n\r\n //Handle Grid Items per Page change event\r\n const handleItemsPerPageChange = (val) => {\r\n\r\n gridRef.current.api.paginationGoToFirstPage();\r\n gridRef.current.api.paginationSetPageSize(Number(val));\r\n setCurrentPage(1);\r\n setItemsPerPage(val);\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n useEffect(() => {\r\n handleGridChanges(rowData, gridRef && gridRef.current ? gridRef.current.api : null);\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n\r\n setRowData(filteredScheduleChecklists);\r\n\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.refreshHeader();\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n\r\n }, [filteredScheduleChecklists]);\r\n\r\n // Handle Row data updated event \r\n const handleRowDataUpdated = () => {\r\n if (gridRef && gridRef.current && gridRef.current.columnApi) {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n\r\n //Reset Grid to default column state\r\n //When Grid Column state changes due to Reset Column State action then Reset Grid to default column state\r\n var localStorageColumnState = localStorage.getItem('REITSuiteScheduleChecklistColumnState');\r\n if (!localStorageColumnState && gridRef && gridRef.current && gridRef.current.api) {\r\n\r\n gridRef.current.api.setColumnDefs([]);\r\n gridRef.current.api.setColumnDefs(getColumnDefs());\r\n }\r\n\r\n }, [gridColumnState]);\r\n\r\n const rowHeight = 76;\r\n const headerHeight = 45;\r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return
    \r\n {filteredScheduleChecklists && filteredScheduleChecklists.length > 0 &&\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {!hideInfoMessage && isSystemOrEngagementAdmin &&\r\n \r\n EY Employees will receive email based on their notification preference settings.\r\n Click \r\n \r\n here \r\n \r\n  to view/edit their settings.\r\n \r\n }\r\n \r\n\r\n \r\n \r\n \r\n handleItemsPerPageChange(50)}>\r\n Show 50\r\n \r\n handleItemsPerPageChange(100)}>\r\n Show 100\r\n \r\n handleItemsPerPageChange(150)}>\r\n Show 150\r\n \r\n handleItemsPerPageChange(200)}>\r\n Show 200\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n }\r\n
    ;\r\n};\r\n\r\nScheduleChecklistTable.propTypes = {\r\n\r\n};\r\n\r\nexport default reduxForm({ form: \"scheduleChecklist\" })(ScheduleChecklistTable);","import PropTypes from \"prop-types\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport { MotifLabel, MotifFormField, MotifToggleSwitch } from '@ey-xd/motif-react';\r\n\r\nconst PSQCompletionRequirement = ({ \r\n isPSQChecklistCompletionRequirementEnabled,\r\n handlePSQCompletionRequirementChange\r\n}) => {\r\n return
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n PSQ Completion Requirement:\r\n \r\n
    ;\r\n};\r\n\r\nPSQCompletionRequirement.propTypes = {\r\n handlePSQCompletionRequirementChange: PropTypes.func\r\n};\r\n\r\nexport default reduxForm({ form: \"psqCompletionRequirement\" })(PSQCompletionRequirement);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Icon, Progress, Button, Header } from \"semantic-ui-react\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as checklistActions from \"../../actions/checklistActions\";\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter, \r\n MotifFileUploader,\r\n MotifIcon, \r\n MotifMessage,\r\n MotifFormField\r\n} from \"@ey-xd/motif-react\";\r\nimport { IconoirXmarkCircle, IconoirCheckCircle } from '@ey-xd/motif-icon';\r\nimport * as Constants from \"../../constants/other\";\r\n\r\n/**\r\n * Container component used for uploading Checklist Delivery Schedules\r\n */\r\nexport class ChecklistDeliveryScheduleUploadModal extends React.Component {\r\n /**\r\n * Creates a new ChecklistDeliveryScheduleUploadModal\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.renderUploadStatus = this.renderUploadStatus.bind(this);\r\n this.onDrop = this.onDrop.bind(this);\r\n this.handleClose = this.handleClose.bind(this);\r\n\r\n this.state = {\r\n status: null,\r\n rejectedFiles: [],\r\n acceptedFiles: [],\r\n validationErrors: [],\r\n closedReportPeriodExists: false,\r\n closedReportPeriodExistsMessage: \"\",\r\n };\r\n\r\n this.acceptedFileExtensions ={\r\n \"application/vnd.ms-excel\": [\".xlsx\"],\r\n };\r\n }\r\n\r\n /**\r\n * Handle Close popup\r\n */\r\n handleClose() {\r\n this.setState({\r\n status: null,\r\n rejectedFiles: [],\r\n acceptedFiles: [],\r\n validationErrors: [],\r\n });\r\n this.props.refreshScheduleChecklists(\r\n this.props.clientId,\r\n this.props.scheduleChecklistValues.calendarYear\r\n );\r\n this.props.toggleShowUploadChecklistDeliveryScheduleModal();\r\n }\r\n\r\n /**\r\n * Hanle Drop event\r\n */\r\n onDrop(acceptedFiles, rejectedFiles) {\r\n if (Array.isArray(rejectedFiles) && rejectedFiles.length > 0) {\r\n this.setState({\r\n status: \"Rejected\",\r\n rejectedFiles,\r\n acceptedFiles: [],\r\n validationErrors: [],\r\n });\r\n } else if (Array.isArray(acceptedFiles)) {\r\n this.setState({\r\n status: \"Uploading\",\r\n rejectedFiles: [],\r\n acceptedFiles: acceptedFiles,\r\n validationErrors: [],\r\n });\r\n\r\n this.props.checklistActions\r\n .uploadChecklistDeliverySchedules(\r\n this.props.clientId,\r\n this.props.scheduleChecklistValues.calendarYear,\r\n acceptedFiles[0]\r\n )\r\n .then((response) => {\r\n if (\r\n response &&\r\n response.errorResponse &&\r\n response.errorResponse.errorCode\r\n ) {\r\n //SERVER ERROR, BAD REQUEST\r\n this.setState({\r\n status: null,\r\n rejectedFiles: [],\r\n acceptedFiles: [],\r\n validationErrors: [],\r\n });\r\n this.props.toggleShowUploadChecklistDeliveryScheduleModal();\r\n } else if (\r\n response &&\r\n response.uploadChecklistDeliveryScheduleValidationError &&\r\n Array.isArray(\r\n response.uploadChecklistDeliveryScheduleValidationError\r\n ) &&\r\n response.uploadChecklistDeliveryScheduleValidationError.length > 0\r\n ) {\r\n this.setState({\r\n status: \"Error\",\r\n acceptedFiles: acceptedFiles,\r\n validationErrors:\r\n response.uploadChecklistDeliveryScheduleValidationError,\r\n });\r\n } else {\r\n this.setState({\r\n status: \"Success\",\r\n acceptedFiles: acceptedFiles,\r\n validationErrors: [],\r\n });\r\n }\r\n\r\n // Set isClosedReportPeriodExists flag and closed period message\r\n if (\r\n response &&\r\n response.isClosedReportPeriodExists &&\r\n response.closedReportPeriodExistsMessage\r\n ) {\r\n this.setState({\r\n closedReportPeriodExists: true,\r\n closedReportPeriodExistsMessage:\r\n response.closedReportPeriodExistsMessage,\r\n });\r\n } else {\r\n this.setState({\r\n closedReportPeriodExists: false,\r\n closedReportPeriodExistsMessage: \"\",\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Render Upload Status\r\n */\r\n renderUploadStatus() {\r\n let msg;\r\n let rejectedDetailMsg;\r\n\r\n if (this.state.status == \"Uploading\") {\r\n msg = \"Uploading file(s)\";\r\n } else if (this.state.status == \"Success\") {\r\n msg = \"File has successfully been processed.\";\r\n if (this.state.acceptedFiles && this.state.acceptedFiles.length > 0) {\r\n var acceptedfileName = this.state.acceptedFiles[0].name;\r\n msg = acceptedfileName + \" has successfully been processed.\";\r\n }\r\n } else if (this.state.status == \"Rejected\") {\r\n if (this.state.rejectedFiles && this.state.rejectedFiles.length > 1) {\r\n //Upload more than one file\r\n\r\n msg = \"Upload failed\";\r\n rejectedDetailMsg = \"Cannot upload more than one file.\";\r\n } else {\r\n //Upload single non xlsx type file or Upload two xlsx type files\r\n\r\n msg = \"Upload failed\";\r\n rejectedDetailMsg = \"Cannot upload more than one file.\";\r\n\r\n if (this.state.rejectedFiles && this.state.rejectedFiles.length == 1) {\r\n let file = this.state.rejectedFiles[0].file;\r\n let fileName = file.name;\r\n if (fileName) {\r\n let fileExtension = fileName.substr(fileName.lastIndexOf(\".\") + 1);\r\n if (fileExtension.toUpperCase() != \"XLSX\") {\r\n rejectedDetailMsg =\r\n \"The format of the file you submitted is not supported. The only supported format for the Schedule Checklist Delivery template is XLSX.\";\r\n } else if (file.size > Constants.MAX_UPLOAD_FILE_SIZE_IN_BYTES) {\r\n rejectedDetailMsg =\r\n \"The file size has exceeded max limit of \" +\r\n Constants.MAX_UPLOAD_FILE_SIZE_IN_MB +\r\n \"MB.\";\r\n } else {\r\n rejectedDetailMsg = \"Cannot upload more than one file.\";\r\n }\r\n }\r\n }\r\n }\r\n } else if (this.state.status == \"Error\") {\r\n msg = \"Upload failed\";\r\n }\r\n\r\n return (\r\n msg && (\r\n \r\n {this.state.status == \"Success\" && (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {msg}\r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n\r\n {this.state.status == \"Error\" && (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {msg}\r\n
    \r\n
    \r\n
    \r\n {this.state.validationErrors &&\r\n this.state.validationErrors.length > 0 && (\r\n
    \r\n {this.state.validationErrors.map((e, index) => (\r\n \r\n {e.error}\r\n
    \r\n ))}\r\n
    \r\n )}\r\n
    \r\n )}\r\n {this.state.closedReportPeriodExists && (\r\n
    \r\n
    \r\n \r\n Note\r\n \r\n
    \r\n
    \r\n {this.state.closedReportPeriodExistsMessage}\r\n
    \r\n
    \r\n )}\r\n\r\n {this.state.status == \"Rejected\" && (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {msg}\r\n
    \r\n
    \r\n
    \r\n
    {rejectedDetailMsg}
    \r\n
    \r\n )}\r\n\r\n {this.state.status == \"Uploading\" && (\r\n
    \r\n {msg}\r\n
    \r\n )}\r\n \r\n )\r\n );\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n\r\n const closeButtonProps = {\r\n title: \"Close upload checklist delivery schedules modal\",\r\n ariaLabel: \"Close upload checklist delivery schedules modal\",\r\n dataTestid: \"close\",\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Upload Checklist Delivery Schedules\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {this.renderUploadStatus()}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Close\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nChecklistDeliveryScheduleUploadModal.propTypes = {\r\n toggleShowUploadChecklistDeliveryScheduleModal: PropTypes.func.isRequired,\r\n showUploadChecklistDeliveryScheduleModal: PropTypes.bool.isRequired,\r\n authHeader: PropTypes.object,\r\n scheduleChecklistValues: PropTypes.object,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {};\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n checklistActions: bindActionCreators(checklistActions, dispatch),\r\n };\r\n}\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(ChecklistDeliveryScheduleUploadModal);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { getFormValues, getFormSyncErrors, getFormSubmitErrors, SubmissionError, reduxForm } from \"redux-form\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as clientActions from \"../../actions/clientActions\";\r\nimport * as checklistActions from \"../../actions/checklistActions\";\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport ScheduleChecklistHeader from \"../../components/checklistDeliveryCalendar/ScheduleChecklistHeader\";\r\nimport ScheduleChecklistTable from \"../../components/checklistDeliveryCalendar/ScheduleChecklistTable\";\r\nimport PSQCompletionRequirement from \"../../components/checklistDeliveryCalendar/PSQCompletionRequirement\";\r\nimport ChecklistDeliveryScheduleUploadModal from \"../../components/checklistDeliveryCalendar/ChecklistDeliveryScheduleUploadModal\";\r\nimport { MotifTabNavigation, MotifTabControl } from \"@ey-xd/motif-react\";\r\nimport { Link } from 'react-router-dom';\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * Schedule Checklist Container component\r\n * @extends {React.Component}\r\n */\r\nclass ScheduleChecklistContainer extends React.Component {\r\n /**\r\n * Creates a new ChartOfAccountsPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.setTabBar1 = this.setTabBar1.bind(this);\r\n this.handleClick = this.handleClick.bind(this);\r\n this.setGridColumnState = this.setGridColumnState.bind(this);\r\n this.resetGridColumnState = this.resetGridColumnState.bind(this);\r\n this.handleGridColumnStateChange = this.handleGridColumnStateChange.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.handleDownloadClick = this.handleDownloadClick.bind(this);\r\n this.handleCalendarYearChange = this.handleCalendarYearChange.bind(this);\r\n this.toggleShowUploadChecklistDeliveryScheduleModal = this.toggleShowUploadChecklistDeliveryScheduleModal.bind(this);\r\n this.refreshScheduleChecklists = this.refreshScheduleChecklists.bind(this);\r\n this.handlePSQCompletionRequirementChange = this.handlePSQCompletionRequirementChange.bind(this);\r\n\r\n this.state = {\r\n filteredScheduleChecklists: [],\r\n gridColumnState: [],\r\n showUploadChecklistDeliveryScheduleModal: false,\r\n };\r\n\r\n const now = new Date();\r\n const currentYear = now.getFullYear();\r\n // Show default calendar year as first record\r\n if (currentYear == getDefaultCalendarYear()) {\r\n // From March 15th, 2022 to December 31st, 2022 the order of the calendar year is 2022, 2021\r\n this.calendarYears = [currentYear, currentYear - 1];\r\n }\r\n else {\r\n // From January 1st, 2022 to March 14th, 2022, the order of the calendar year is 2021, 2022\r\n this.calendarYears = [currentYear - 1, currentYear];\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.setGridColumnState();\r\n }\r\n\r\n /**\r\n * Invoked immediately before unmounting occurs\r\n * @returns {undefined}\r\n */\r\n componentWillUnmount() {\r\n this.props.checklistActions.fetchChecklistDeliverySchedule();\r\n }\r\n\r\n /**\r\n * Component Will Receive Props \r\n */\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.scheduleChecklists != this.props.scheduleChecklists) {\r\n this.setState({ filteredScheduleChecklists: this.props.scheduleChecklists });\r\n }\r\n\r\n if ((this.props.scheduleChecklistValues\r\n && this.props.scheduleChecklistValues.calendarYear)\r\n && (this.props.scheduleChecklistValues.calendarYear && !prevProps.scheduleChecklistValues) ||\r\n (prevProps.scheduleChecklistValues && (this.props.scheduleChecklistValues.calendarYear !== prevProps.scheduleChecklistValues.calendarYear))\r\n ) {\r\n this.props.checklistActions\r\n .fetchChecklistDeliverySchedule(this.props.clientId, this.props.scheduleChecklistValues.calendarYear)\r\n .then(() => {\r\n this.setState({ filteredScheduleChecklists: this.props.scheduleChecklists });\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Set tab related state variables\r\n * @returns {undefined}\r\n */\r\n setTabBar1(currentIndex) {\r\n this.setState({ tabBar1: currentIndex });\r\n }\r\n\r\n /**\r\n * Set current tab index based on index \r\n * @returns {undefined}\r\n */\r\n handleClick(index) {\r\n this.setTabBar1(index);\r\n }\r\n\r\n /**\r\n * Handle Grid changes\r\n * @returns {undefined}\r\n */\r\n handleGridChanges(gridRowData) {\r\n let rowData = [];\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n reitName: x.reitName,\r\n propertyName: x.propertyName,\r\n checklistType: x.checklistType,\r\n templateName: x.templateName,\r\n prePopulateAnswerOptionDescription: x.prePopulateAnswerOptionDescription,\r\n clientRecipients: x.clientRecipients,\r\n sendDateQ1: x.sendDateQ1,\r\n sendDateQ2: x.sendDateQ2,\r\n sendDateQ3: x.sendDateQ3,\r\n sendDateQ4: x.sendDateQ4\r\n }\r\n });\r\n\r\n this.setState({ gridCurrentState: rowData });\r\n }\r\n\r\n /**\r\n * Refresh Schedule Checklists\r\n * @returns {undefined}\r\n */\r\n refreshScheduleChecklists(clientId, calendarYear) {\r\n this.props.checklistActions.fetchChecklistDeliverySchedule(clientId, calendarYear);\r\n }\r\n\r\n /**\r\n * Set AG-Grid column state \r\n * @returns {undefined}\r\n */\r\n setGridColumnState() {\r\n var columnState = localStorage.getItem('REITSuiteScheduleChecklistColumnState');\r\n if (columnState) {\r\n this.setState({ gridColumnState: JSON.parse(columnState) });\r\n }\r\n else {\r\n this.setState({ gridColumnState: [{ colId: '-1' }] });\r\n }\r\n }\r\n\r\n /**\r\n * Handle Grid column state chagne\r\n * @returns {undefined}\r\n */\r\n handleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n }\r\n\r\n /**\r\n * Handle Grid column state chagne\r\n * @returns {undefined}\r\n */\r\n handleCalendarYearChange(calendarYear) {\r\n this.props.checklistActions.fetchChecklistDeliverySchedule(\r\n this.props.clientId,\r\n calendarYear\r\n );\r\n }\r\n\r\n /**\r\n * Reset AG-Grid column state\r\n * @returns {undefined}\r\n */\r\n resetGridColumnState() {\r\n localStorage.removeItem('REITSuiteScheduleChecklistColumnState');\r\n this.setState({ gridColumnState: [] });\r\n }\r\n\r\n handleDownloadClick() {\r\n this.props.checklistActions\r\n .exportChecklistDeliverySchedule(this.props.clientId,\r\n this.props.scheduleChecklistValues.calendarYear);\r\n }\r\n\r\n /**\r\n * Toggle upload Checklist Delivery Schedule modal\r\n * @returns {undefined}\r\n */\r\n toggleShowUploadChecklistDeliveryScheduleModal() {\r\n this.setState({\r\n showUploadChecklistDeliveryScheduleModal: !this.state.showUploadChecklistDeliveryScheduleModal\r\n });\r\n }\r\n\r\n /**\r\n * Update psq completion requirement status\r\n * @returns {undefined}\r\n */\r\n handlePSQCompletionRequirementChange(e) {\r\n if (e && e.target) {\r\n this.props.clientActions\r\n .updatePSQCompletionRequirementStatus(this.props.clientId, e.target.checked)\r\n .then((response) => {\r\n if (response && response.success) {\r\n this.props.clientActions.loadClient(this.props.clientId);\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n
    \r\n
    \r\n

    Checklist Management

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.handleClick(1)}>\r\n Schedule Checklist\r\n \r\n \r\n \r\n this.handleClick(2)}>\r\n Manage Checklist\r\n \r\n \r\n \r\n {(authActions.isSystemAdministrator(this.props.currentUserAuthorizations) ||\r\n authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, this.props.clientId)) &&\r\n \r\n }\r\n
    \r\n\r\n\r\n \r\n {(this.props.scheduleChecklists && this.props.scheduleChecklists.length === 0)\r\n &&
    No REIT or Property found for this client.
    \r\n }\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\n/**\r\n* Get Calendar year to be selected in DropDown by default\r\n* @returns {selectedYear}\r\n*/\r\nfunction getDefaultCalendarYear() {\r\n // Cutoff Date is 15th March\r\n // from January 1st - March 14th, of every year, selected year is the previous calendar year\r\n // from March 15th - December 31st, of every year, selected year is the current calendar year\r\n\r\n var defaultCutOffDate = \"03-15\";\r\n // Get cutoff dat from env variable\r\n var envCutOffDate = process.env.SCHEDULE_CHECKLIST_CALENDAR_YEAR_CUTOFF_DATE ?\r\n process.env.SCHEDULE_CHECKLIST_CALENDAR_YEAR_CUTOFF_DATE : defaultCutOffDate;\r\n if (!envCutOffDate || envCutOffDate.split('-').length <= 1) {\r\n envCutOffDate = defaultCutOffDate;\r\n }\r\n var cutoffDateParts = envCutOffDate.split('-');\r\n\r\n let cutOffDate = new Date(parseInt(new Date().getFullYear()), parseInt(cutoffDateParts[0]) - 1, parseInt(cutoffDateParts[1]));\r\n cutOffDate.setHours(0, 0, 0, 0);\r\n let currentDate = new Date();\r\n currentDate.setHours(0, 0, 0, 0);\r\n\r\n let selectedYear = currentDate >= cutOffDate\r\n ? parseInt(new Date().getFullYear())\r\n : parseInt(new Date().getFullYear()) - 1;\r\n\r\n return selectedYear;\r\n}\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n let cid = Number.parseInt(ownProps.router.params.clientId);\r\n if (isNaN(cid)) {\r\n cid = 0;\r\n }\r\n\r\n return {\r\n clientId: cid,\r\n clientIsAudit: state.client && state.client.isAudit,\r\n scheduleChecklistValues: getFormValues('scheduleChecklist')(state),\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n initialValues: {\r\n calendarYear: getDefaultCalendarYear()\r\n },\r\n formSyncErrors: getFormSyncErrors('scheduleChecklist')(state),\r\n formSubmitErrors: getFormSubmitErrors('scheduleChecklist')(state),\r\n scheduleChecklists: state.checklistDeliverySchedules,\r\n client: state.client,\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n clientActions: bindActionCreators(clientActions, dispatch),\r\n checklistActions: bindActionCreators(checklistActions, dispatch),\r\n reitActions: bindActionCreators(reitActions, dispatch),\r\n };\r\n}\r\n\r\nScheduleChecklistContainer.propTypes = {\r\n clientId: PropTypes.number,\r\n clientIsAudit: PropTypes.bool,\r\n scheduleChecklistValues: PropTypes.object,\r\n clientActions: PropTypes.object,\r\n checklistActions: PropTypes.object,\r\n currentUserAuthorizations: PropTypes.array,\r\n scheduleChecklists: PropTypes.array,\r\n initialize: PropTypes.func\r\n};\r\n\r\nexport default withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n )(reduxForm({ form: \"scheduleChecklist\", enableReinitialize: true })(ScheduleChecklistContainer))\r\n);\r\n","import PropTypes from \"prop-types\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Form } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport { MotifButton, MotifIcon, MotifIconButton, MotifSelect, MotifOption, MotifLabel, MotifFormField, MotifDropdown, MotifDropdownItem, MotifTooltip, MotifToast } from '@ey-xd/motif-react';\r\nimport { IconoirNavArrowDown, IconoirInfoCircle } from '@ey-xd/motif-icon';\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\nconst ManageChecklistHeader = ({\r\n calendarYears,\r\n formSyncErrors,\r\n selectedCalendarYear,\r\n isSystemOrEngagementAdmin,\r\n isEngagementUser,\r\n selectedPsqArqc,\r\n clientIsAudit,\r\n handleChangePsqArqc,\r\n resetGridColumnState,\r\n toggleShowAddChecklistUserModal,\r\n toggleShowDeleteChecklistUserModal,\r\n toggleShowDeleteChecklistModal,\r\n toggleShowResendChecklistModal,\r\n toggleShowSignoffChecklistModal,\r\n toggleShowReopenForEYReviewChecklistModal,\r\n toggleShowApproveClientReopenRequestModal,\r\n toggleShowDenyClientReopenRequestModal,\r\n handleExportChecklistSummary,\r\n gridCurrentState,\r\n gridFilteredRowCurrentState,\r\n selectedRecipients,\r\n toggleShowDownloadChecklistsModal,\r\n externalUserVisibilityData,\r\n}) => {\r\n\r\n const [actionOptionsOpen, setActionOptionsOpen] = useState(false);\r\n const [hideInfoMessage, setHideInfoMessage] = useState(false);\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n const calendarYearsOptions = calendarYears.map(y => {\r\n return {\r\n key: y,\r\n text: y,\r\n value: y\r\n }\r\n });\r\n\r\n const psqArqcOptions = [\r\n { key: 'ALL', value: 'ALL', text: 'ALL' },\r\n { key: 'PSQ', value: 'PSQ', text: 'PSQ' },\r\n { key: 'ARQC', value: 'ARQC', text: 'ARQC' },\r\n ];\r\n\r\n const hasFormSyncErrors = Object.keys(formSyncErrors).length !== 0;\r\n\r\n const quarterStatusList = ['reporting closed', 'complete'];\r\n\r\n let resendChecklistActionStatus = true;\r\n let resendChecklistTooltipMessage = '';\r\n // Check if there is any recipient selected for resend\r\n if (!selectedRecipients || !selectedRecipients.length > 0) {\r\n resendChecklistActionStatus = false;\r\n resendChecklistTooltipMessage = \"You have not selected any recipients in order to perform this action.\";\r\n }\r\n // Check if there is any checklist (for selected recipients) falls into closed report period\r\n else if (gridCurrentState && selectedRecipients && selectedRecipients.length > 0) {\r\n\r\n //Get the selected checkist ids\r\n let distinctChecklistIDs = [...new Set(selectedRecipients.map(rcp => rcp.checklistID))];\r\n // Get the selected checkist record by distinct checklist ids\r\n let selectedChecklistRecords = [...new Set(gridCurrentState.filter(x => distinctChecklistIDs.includes(x.checklistID)))];\r\n let selectedDataVisibility = externalUserVisibilityData.filter(item => selectedChecklistRecords.map(x => x.reportPeriodID).includes(item.reportPeriodID)).filter(item => item.isReportPeriodVisibleToExternalUsers === false);\r\n let selectedRecords = gridCurrentState.filter(x => selectedRecipients.some(sr => sr.checklistID === x.checklistID && sr.checklistType === x.checklistType));\r\n \r\n //If any of seleced checklist record having Hidden visibility, then disable the Delete User action\r\n if ((selectedDataVisibility && selectedDataVisibility?.length > 0) && (isSystemOrEngagementAdmin || isEngagementUser)) {\r\n resendChecklistActionStatus = false;\r\n } else if (selectedRecords && selectedRecords.some(record => quarterStatusList.includes(record.quarterStatus.toLowerCase()))) {\r\n resendChecklistActionStatus = false;\r\n resendChecklistTooltipMessage = \"You have selected a recipient within a Closed period.\";\r\n }\r\n }\r\n\r\n // If checklist status is either in completed or pendingeyreview status then checklist should not be allowed to add/delete recipients.\r\n const checklistStatusList = ['completed', 'pendingeyreview'];\r\n\r\n let addUserActionStatus = true;\r\n let addUserValidationMessage = [];\r\n let externalUserVisibility = true;\r\n \r\n let isChecklistSelected = gridCurrentState && gridCurrentState.some(record => record.checklistSelection === true);\r\n if (isChecklistSelected) { \r\n //Get the selected checkist records\r\n let selectedRecords = gridCurrentState.filter(x => x.checklistSelection === true);\r\n let selectedDataVisibility = externalUserVisibilityData && externalUserVisibilityData.filter(item => selectedRecords.map(x => x.reportPeriodID).includes(item.reportPeriodID)).filter(item => item.isReportPeriodVisibleToExternalUsers === false)\r\n \r\n if ((selectedDataVisibility && selectedDataVisibility?.length > 0) && (isSystemOrEngagementAdmin || isEngagementUser)) {\r\n addUserActionStatus = false;\r\n } \r\n //If any Report period of selected checklist records having Reporting Closed/Complete status then disable the Add User action\r\n else if (selectedRecords.some(record => quarterStatusList.includes(record.quarterStatus.toLowerCase()))) {\r\n addUserActionStatus = false;\r\n addUserValidationMessage.push('Period of the selected checklist(s) is either Closed For Reporting or Completed.');\r\n }\r\n }\r\n else {\r\n addUserActionStatus = false;\r\n addUserValidationMessage.push('You have not selected any checklist(s) in order to perform this action.');\r\n }\r\n\r\n let deleteUserActionStatus = true;\r\n let deleteUserValidationMessage = [];\r\n if (!selectedRecipients || selectedRecipients.length === 0) {\r\n deleteUserActionStatus = false;\r\n deleteUserValidationMessage.push('You have not selected any user(s) in order to perform this action.');\r\n }\r\n else if (gridCurrentState && selectedRecipients) {\r\n //Get the selected checkist ids\r\n let distinctChecklistIDs = [...new Set(selectedRecipients?.map(rcp => rcp.checklistID))];\r\n // Get the selected checkist record by distinct checklist ids\r\n let selectedRecords = [...new Set(gridCurrentState?.filter(x => distinctChecklistIDs.includes(x.checklistID)))];\r\n let selectedDataVisibility = externalUserVisibilityData?.filter(item => selectedRecords.map(x => x.reportPeriodID).includes(item.reportPeriodID)).filter(item => item.isReportPeriodVisibleToExternalUsers === false);\r\n \r\n //If any of seleced checklist record having Hidden visibility, then disable the Delete User action\r\n if ((selectedDataVisibility && selectedDataVisibility?.length > 0) && (isSystemOrEngagementAdmin || isEngagementUser)) {\r\n deleteUserActionStatus = false;\r\n } else {\r\n //If any seleced checklist record having Completed/Pending EY Review status, then disable the Delete User action\r\n if (selectedRecipients.some(record => checklistStatusList.includes(record.checklistState.toLowerCase()))) {\r\n deleteUserActionStatus = false;\r\n deleteUserValidationMessage.push('Selected checklist(s) is either Pending for EY Review or Completed.');\r\n }\r\n //If any Report period of selected checklist records having Reporting Closed/Complete status then disable Delete User action\r\n if (selectedRecipients.some(record => quarterStatusList.includes(record.quarterStatus.toLowerCase()))) {\r\n deleteUserActionStatus = false;\r\n deleteUserValidationMessage.push('Period of the selected checklist(s) is either Closed For Reporting or Completed.');\r\n }\r\n }\r\n }\r\n\r\n let deleteChecklistsActionStatus = true;\r\n let deleteChecklistValidationMessage = [];\r\n if (isChecklistSelected) {\r\n let selectedRecords = gridCurrentState.filter(x => x.checklistSelection === true);\r\n\r\n if (selectedRecords && selectedRecords.some(record => quarterStatusList.includes(record.quarterStatus.toLowerCase()))) {\r\n deleteChecklistsActionStatus = false;\r\n deleteChecklistValidationMessage.push('Period of the selected checklist(s) is either Closed For Reporting or Completed.');\r\n }\r\n } else {\r\n deleteChecklistsActionStatus = false;\r\n deleteChecklistValidationMessage.push('You have not selected any checklist(s) in order to perform this action.');\r\n }\r\n\r\n // If checklist status is either is with status 'created','sent', 'inprogress', 'pendingeyreview' status then only enable Sign-Off Action status.\r\n let signoffRequiredChecklistStatusList = ['created', 'sent', 'inprogress', 'pendingeyreview'];\r\n\r\n let signoffChecklistActionStatus = true;\r\n let reopenforEYReviewChecklistActionStatus = true;\r\n let signoffChecklistValidationMessage = [];\r\n let reopenforEYReviewChecklistValidationMessage = [];\r\n\r\n if (isChecklistSelected) {\r\n //Get the selected checkist records\r\n let selectedRecords = gridCurrentState.filter(x => x.checklistSelection === true);\r\n\r\n // If any of selected checklist is not completed then disable the Reopen for EY Review Checklist Action \r\n if (selectedRecords.some(record => record.checklistState.toLowerCase() !== 'completed')) {\r\n reopenforEYReviewChecklistActionStatus = false;\r\n reopenforEYReviewChecklistValidationMessage.push('Selected checklist(s) is not Signed Off.');\r\n }\r\n\r\n //If all checklists are with these statuses 'created','sent', 'inprogress', 'pendingeyreview' then only Enable the Sign-Off checklist Action\r\n if (selectedRecords.some(record => !signoffRequiredChecklistStatusList.includes(record.checklistState.toLowerCase()))) {\r\n signoffChecklistActionStatus = false;\r\n signoffChecklistValidationMessage.push('Selected checklist(s) is Signed Off.');\r\n }\r\n\r\n //If any Report period of selected checklist records having Reporting Closed/Complete status then disable both the actions Sign-off/Reopen for EY Review Checklist action\r\n if (selectedRecords.some(record => quarterStatusList.includes(record.quarterStatus.toLowerCase()))) {\r\n signoffChecklistActionStatus = false;\r\n signoffChecklistValidationMessage.push('Period of the selected checklist(s) is either Closed For Reporting or Completed.');\r\n\r\n reopenforEYReviewChecklistActionStatus = false;\r\n reopenforEYReviewChecklistValidationMessage.push('Period of the selected checklist(s) is either Closed For Reporting or Completed.');\r\n }\r\n }\r\n else {\r\n signoffChecklistActionStatus = false;\r\n reopenforEYReviewChecklistActionStatus = false;\r\n\r\n signoffChecklistValidationMessage.push('You have not selected any checklist(s) in order to perform this action.');\r\n reopenforEYReviewChecklistValidationMessage.push('You have not selected any checklist(s) in order to perform this action.');\r\n }\r\n\r\n let downloadChecklistActionStatus = true;\r\n let downloadChecklistValidationMessage = [];\r\n if (!isChecklistSelected) {\r\n downloadChecklistActionStatus = false;\r\n downloadChecklistValidationMessage.push('You have not selected any checklist(s) in order to perform this action.');\r\n }\r\n\r\n let approveDenyClientReopenRequestActionStatus = true;\r\n let approveDenyClientReopenRequestValidationMessage = [];\r\n if (isChecklistSelected) {\r\n let selectedRecords = gridCurrentState.filter(x => x.checklistSelection);\r\n // If any of the checklist has external user visibility hidden\r\n let selectedDataVisibility = externalUserVisibilityData && externalUserVisibilityData.filter(item => selectedRecords.map(x => x.reportPeriodID).includes(item.reportPeriodID)).filter(item => item.isReportPeriodVisibleToExternalUsers === false);\r\n \r\n if ((selectedDataVisibility && selectedDataVisibility?.length > 0) && (isSystemOrEngagementAdmin || isEngagementUser)) {\r\n externalUserVisibility = false; \r\n } \r\n \r\n // If there are no pending open requests for selected checklists then disable the Approve/Deny Reopen Request Action\r\n if (selectedRecords.some(record => !record.reopenRequestStatusDescription || record.reopenRequestStatusDescription.toLowerCase() !== 'pending')) {\r\n approveDenyClientReopenRequestActionStatus = false;\r\n approveDenyClientReopenRequestValidationMessage.push('Selected checklist(s) is not in Pending Reopen Request status.');\r\n }\r\n\r\n // If any Report period of selected checklist records having Reporting Closed/Complete status then disable both the actions Approve/Deny Client Reopen Request action\r\n if (selectedRecords && selectedRecords.some(record => quarterStatusList.includes(record.quarterStatus.toLowerCase()))) {\r\n approveDenyClientReopenRequestActionStatus = false;\r\n approveDenyClientReopenRequestValidationMessage.push('Period of the selected checklist(s) is either Closed For Reporting or Completed.');\r\n }\r\n }\r\n\r\n else {\r\n approveDenyClientReopenRequestActionStatus = false;\r\n approveDenyClientReopenRequestValidationMessage.push('You have not selected any checklist(s) in order to perform this action.');\r\n }\r\n \r\n let reopenRequestCount = gridFilteredRowCurrentState && gridFilteredRowCurrentState.length > 0\r\n && gridFilteredRowCurrentState.filter(record => record.reopenRequestStatusDescription && record.reopenRequestStatusDescription.toLowerCase() === 'pending').length\r\n || 0;\r\n\r\n let exportChecklistSummaryActionStatus = true;\r\n let exportChecklistSummaryValidationMessage = [];\r\n if (!isChecklistSelected) {\r\n exportChecklistSummaryActionStatus = false;\r\n exportChecklistSummaryValidationMessage.push('You have not selected any checklist(s) in order to perform this action.');\r\n } \r\n\r\n // checking all the report periods of displayed checklists have external user visibility true\r\n let areAllReportPeriodsVisible = externalUserVisibilityData && externalUserVisibilityData.every(item => item.isReportPeriodVisibleToExternalUsers);\r\n\r\n return (
    \r\n
    \r\n
    \r\n {\r\n calendarYears && calendarYears.length > 0 &&\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* \r\n PSQ / ARQC\r\n \r\n {psqArqcOptions.map(pao => (\r\n {pao.text}\r\n ))}\r\n \r\n */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!hideInfoMessage &&\r\n reopenRequestCount > 0 &&\r\n EY action is required to reopen {reopenRequestCount} checklists to the client. Please see the Reopen Request column\r\n }\r\n
    \r\n
    \r\n {gridCurrentState != null && Array.isArray(gridCurrentState) && gridCurrentState.length > 0 &&\r\n
    \r\n setActionOptionsOpen(false)}\r\n trigger={\r\n setActionOptionsOpen(!actionOptionsOpen)}\r\n aria-controls={'action-dropdown'}\r\n id={'action-dropdown-trigger'}\r\n aria-expanded={actionOptionsOpen}\r\n aria-label=\"Action dropdown\"\r\n data-testid=\"actions\"\r\n >\r\n { !areAllReportPeriodsVisible && \r\n }>\r\n
    Due to EY's independence policy, the following actions are disabled as the client no longer has access to these report periods:
    \r\n 'Add User(s)', 'Delete User(s)', 'Approve/Deny Client Reopen Request(s)', and 'Resend Checklist(s)'.
    \r\n Please email 'reitsuite@ey.com' for additional support.\r\n
    \r\n
    }\r\n Actions \r\n \r\n }\r\n >\r\n
      \r\n {addUserActionStatus || addUserValidationMessage.length === 0 ?\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowAddChecklistUserModal(); }} type=\"button\"\r\n disabled={!addUserActionStatus}\r\n data-testid=\"addUsers\"\r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Add User(s)\r\n \r\n
    • \r\n :\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowAddChecklistUserModal(); }} type=\"button\"\r\n disabled={!addUserActionStatus} data-testid=\"addUsers\"\r\n >\r\n Add User(s)\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(addUserValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n \r\n
    • \r\n }\r\n\r\n {deleteUserActionStatus || deleteUserValidationMessage.length === 0 || !externalUserVisibility?\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDeleteChecklistUserModal(); }} type=\"button\"\r\n disabled={!deleteUserActionStatus}\r\n data-testid=\"deleteUsers\" \r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Delete User(s)\r\n \r\n
    • \r\n :\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDeleteChecklistUserModal(); }} type=\"button\"\r\n disabled={!deleteUserActionStatus} data-testid=\"deleteUsers\">\r\n Delete User(s)\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(deleteUserValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n \r\n
    • \r\n }\r\n\r\n {(deleteChecklistsActionStatus && (\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDeleteChecklistModal(); }}\r\n type=\"button\" disabled={!gridCurrentState || !gridCurrentState.some(record => record.checklistSelection === true)}\r\n title=\"Delete Checklist(s)\" data-testid=\"deleteChecklists\"\r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Delete Checklist(s)\r\n \r\n
    • \r\n )) || (\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDeleteChecklistModal(); }} type=\"button\"\r\n disabled={!deleteChecklistsActionStatus} data-testid=\"deleteChecklists\"\r\n >\r\n Delete Checklist(s)\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(deleteChecklistValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n \r\n
    • \r\n )}\r\n\r\n {(isSystemOrEngagementAdmin || isEngagementUser)? (externalUserVisibility && approveDenyClientReopenRequestActionStatus &&\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowApproveClientReopenRequestModal(); }} type=\"button\"\r\n disabled={false} data-testid=\"approveClientReopenRequest\"\r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Approve Client Reopen Request(s)\r\n \r\n
    • \r\n ||\r\n\r\n
    • \r\n {!externalUserVisibility && isChecklistSelected ?\r\n \r\n Approve Client Reopen Request(s) \r\n \r\n : \r\n Approve Client Reopen Request(s)\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(approveDenyClientReopenRequestValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n }\r\n
    • ): \r\n \r\n }\r\n\r\n {(isSystemOrEngagementAdmin || isEngagementUser)? (externalUserVisibility && approveDenyClientReopenRequestActionStatus && \r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDenyClientReopenRequestModal(); }} type=\"button\"\r\n disabled={false} data-testid=\"denyClientReopenRequest\"\r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Deny Client Reopen Request(s)\r\n \r\n
    • \r\n ||\r\n
    • \r\n {!externalUserVisibility && isChecklistSelected ?\r\n \r\n Deny Client Reopen Request(s) \r\n \r\n : \r\n Deny Client Reopen Request(s) \r\n \r\n \r\n \r\n }\r\n >\r\n
        {(approveDenyClientReopenRequestValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n }\r\n
    • ): \r\n }\r\n\r\n {resendChecklistActionStatus || resendChecklistTooltipMessage.length === 0 || !externalUserVisibility ? \r\n
    • \r\n { setActionOptionsOpen(false); toggleShowResendChecklistModal(); }} type=\"button\"\r\n disabled={!resendChecklistActionStatus} data-testid=\"resendChecklists\"\r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Resend Checklist(s)\r\n \r\n
    • \r\n :\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowResendChecklistModal(); }} type=\"button\"\r\n disabled={!resendChecklistActionStatus} data-testid=\"resendChecklists\">\r\n Resend Checklist(s)\r\n \r\n \r\n \r\n }\r\n >\r\n
      • {resendChecklistTooltipMessage}
      \r\n \r\n
    • \r\n }\r\n\r\n {isSystemOrEngagementAdmin ? (reopenforEYReviewChecklistActionStatus &&\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowReopenForEYReviewChecklistModal(); }} type=\"button\"\r\n data-testid=\"reopenforEYReviewChecklists\" \r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Reopen for EY Review\r\n \r\n
    • \r\n ||\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowReopenForEYReviewChecklistModal(); }} type=\"button\"\r\n disabled={true} data-testid=\"reopenforEYReviewChecklists\">\r\n Reopen for EY Review\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(reopenforEYReviewChecklistValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n
    • ) : \r\n }\r\n\r\n {(isSystemOrEngagementAdmin || isEngagementUser) ? (signoffChecklistActionStatus &&\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowSignoffChecklistModal(); }} type=\"button\"\r\n data-testid=\"signOffChecklists\" \r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Sign-Off Checklist(s)\r\n \r\n
    • \r\n ||\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowSignoffChecklistModal(); }} type=\"button\"\r\n disabled={true} data-testid=\"signOffChecklists\">\r\n Sign-Off Checklist(s)\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(signoffChecklistValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n
    • ) : \r\n }\r\n\r\n {exportChecklistSummaryActionStatus &&\r\n
    • \r\n { setActionOptionsOpen(false); handleExportChecklistSummary(); }} type=\"button\"\r\n data-testid=\"exportChecklists\" \r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Export Checklist Summary\r\n \r\n
    • \r\n ||\r\n
    • \r\n { setActionOptionsOpen(false); handleExportChecklistSummary(); }} type=\"button\"\r\n disabled={true} data-testid=\"exportChecklists\">\r\n Export Checklist Summary\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(exportChecklistSummaryValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n \r\n
    • \r\n }\r\n {downloadChecklistActionStatus &&\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDownloadChecklistsModal('WITH_ANSWERS'); }} type=\"button\"\r\n data-testid=\"downloadChecklistWithAnswersOnly\" \r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Download - With Answers Only\r\n \r\n
    • \r\n ||\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDownloadChecklistsModal('WITH_ANSWERS'); }} type=\"button\"\r\n disabled={true} data-testid=\"downloadChecklistWithAnswersOnly\">\r\n Download - With Answers Only\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(downloadChecklistValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n \r\n
    • \r\n }\r\n {downloadChecklistActionStatus &&\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDownloadChecklistsModal('WITH_ANSWERS_COMMENTS'); }} type=\"button\"\r\n data-testid=\"downloadChecklistWithAnswersAndComments\" \r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Download - With Answers And Comments\r\n \r\n
    • \r\n ||\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDownloadChecklistsModal('WITH_ANSWERS_COMMENTS'); }} type=\"button\"\r\n disabled={true} data-testid=\"downloadChecklistWithAnswersAndComments\">\r\n Download - With Answers And Comments\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(downloadChecklistValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n \r\n
    • \r\n }\r\n {downloadChecklistActionStatus &&\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDownloadChecklistsModal('WITHOUT_ANSWERS'); }} type=\"button\"\r\n data-testid=\"downloadChecklistWithoutAnswersorComments\" \r\n style={{\r\n display: 'block',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n padding: '10px',\r\n cursor: 'pointer'\r\n }}\r\n >\r\n Download - Without Answers or Comments\r\n \r\n
    • \r\n ||\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowDownloadChecklistsModal('WITHOUT_ANSWERS'); }} type=\"button\"\r\n disabled={true} data-testid=\"downloadChecklistWithoutAnswersorComments\">\r\n Download - Without Answers or Comments\r\n \r\n \r\n \r\n }\r\n >\r\n
        {(downloadChecklistValidationMessage.map(msg =>
      • {msg}
      • ))}
      \r\n \r\n
    • \r\n }\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n
    \r\n }\r\n
    \r\n
    );\r\n};\r\n\r\nManageChecklistHeader.propTypes = {\r\n calendarYears: PropTypes.array,\r\n selectedClient: PropTypes.object,\r\n selectedCalendarYear: PropTypes.number,\r\n toggleShowDownloadChecklistsModal: PropTypes.bool,\r\n isEngagementUser: PropTypes.bool,\r\n};\r\n\r\nexport default reduxForm({ form: \"manageChecklist\" })(ManageChecklistHeader);","import PropTypes from \"prop-types\";\r\nimport React, { useCallback, useMemo, useRef, useState, useEffect } from 'react';\r\nimport { render } from 'react-dom';\r\nimport { Form, Icon, Popup, Dropdown } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { MotifPagination, MotifPaginationSelect, MotifPaginationSelectItem, MotifTable } from \"@ey-xd/motif-react\";\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport 'ag-grid-enterprise';\r\nimport 'ag-grid-community/styles/ag-grid.css';\r\nimport 'ag-grid-community/styles/ag-theme-alpine.css';\r\nimport ChecklistLinkCellRenderer from './customRenderers/ChecklistLinkCellRenderer';\r\nimport DateCellRenderer from \"./customRenderers/DateCellRenderer\";\r\nimport SimpleCellRenderer from './customRenderers/SimpleCellRenderer.js';\r\nimport CheckboxCellRenderer from './customRenderers/CheckboxCellRenderer.js';\r\nimport CheckboxHeaderRenderer from './customRenderers/CheckboxHeaderRenderer.js';\r\nimport DefaultValueGetter from './customValueGetters/DefaultValueGetter.js';\r\nimport ChecklistTypeValueGetter from './customValueGetters/ChecklistTypeValueGetter.js';\r\nimport QuestionnaireTemplateValueGetter from './customValueGetters/QuestionnaireTemplateValueGetter.js';\r\nimport PropertyTypeValueGetter from './customValueGetters/PropertyTypeValueGetter.js';\r\nimport StatusDateValueGetter from './customValueGetters/StatusDateValueGetter.js';\r\nimport DateComparator from './customComparators/DateComparator.js';\r\nimport CustomHeaderTemplate from './customHeaders/CustomHeaderTemplate.js';\r\nimport NoRecipientCellRenderer from './customRenderers/NoRecipientCellRenderer.js';\r\n\r\nconst ManageChecklistTable = ({\r\n formSyncErrors,\r\n formSubmitErrors,\r\n psqArqc,\r\n filteredManageChecklists,\r\n clientId,\r\n gridColumnState,\r\n handleGridColumnStateChange,\r\n handleGridChanges,\r\n handleGridFilteredRowChanges,\r\n handleRecipientChanges,\r\n refreshGridChecklistData,\r\n refreshGridData\r\n}) => {\r\n const gridRef = useRef();\r\n const containerStyle = useMemo(() => ({ width: '100%', height: '100%' }), []);\r\n const gridStyle = useMemo(() => ({ height: '100%', width: '100%' }), []);\r\n\r\n const [rowData, setRowData] = useState([]);\r\n const rowDataRef = useRef({});\r\n rowDataRef.current = rowData;\r\n const [gridFilteredRowData, setGridFilteredRowData] = useState([]);\r\n\r\n const onCellCheckboxChange = (checklistId, rowNode) => {\r\n let updatedData = rowDataRef.current.map(newUd => {\r\n if (newUd.checklistID === checklistId && newUd.recipients === rowNode.key) {\r\n newUd = { ...newUd, checklistSelection: !newUd.checklistSelection };\r\n }\r\n return newUd;\r\n });\r\n\r\n setRowData(updatedData);\r\n gridRef.current.api.redrawRows(rowNode);\r\n gridRef.current.api.refreshHeader();\r\n };\r\n\r\n const onHeaderCheckboxChange = (isHeaderCheckboxSelected) => {\r\n let updatedData = rowDataRef.current;\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n // Select checkbox for filtered rows only\r\n gridRef.current.api.forEachNodeAfterFilter((rowNode) => {\r\n // Check if the parent rowNode's key matches with grid's rowdata and update checkbox selection for those matching\r\n if (rowNode.level === 0) {\r\n updatedData = updatedData.map(newUd => {\r\n if (newUd.recipients === rowNode.key) {\r\n return {\r\n ...newUd,\r\n checklistSelection: !isHeaderCheckboxSelected,\r\n };\r\n }\r\n return newUd;\r\n });\r\n }\r\n });\r\n setRowData(updatedData);\r\n gridRef.current.api.redrawRows();\r\n gridRef.current.api.refreshHeader();\r\n }\r\n };\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n autoHeight: true,\r\n wrapHeaderText: true,\r\n autoHeaderHeight: true,\r\n wrapText: true,\r\n };\r\n }, []);\r\n\r\n const dateOptions = {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric',\r\n hour: '2-digit',\r\n minute: '2-digit'\r\n };\r\n \r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: 'checklistSelection', headerName: '', suppressMenu: true, headerComponent: CheckboxHeaderRenderer,\r\n headerComponentParams: { onHeaderCheckboxChange: onHeaderCheckboxChange },\r\n cellRenderer: CheckboxCellRenderer,\r\n cellRendererParams: { onCellCheckboxChange: onCellCheckboxChange }, minWidth: 70,\r\n },\r\n {\r\n field: 'checklistLink', headerName: '', suppressMenu: true, minWidth: 70,\r\n cellRenderer: ChecklistLinkCellRenderer, cellRendererParams: { clientId: clientId },\r\n headerComponentParams: { template: CustomHeaderTemplate('checklistLink') }\r\n },\r\n {\r\n field: 'checklistType', headerName: 'Checklist Type', hide: false, sortable: true, showRowGroup: false, rowGroup: false, minWidth: 130,maxWidth:130,\r\n valueGetter: params => DefaultValueGetter(params, 'checklistType'),\r\n filterValueGetter: params => { return params.data && params.data.checklistType; },\r\n headerComponentParams: { template: CustomHeaderTemplate('checklistType') }\r\n },\r\n {\r\n field: 'quarter', headerName: 'Period', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 110,maxWidth: 110,\r\n valueGetter: params => DefaultValueGetter(params, 'quarter'),\r\n filterValueGetter: params => { return params.data && params.data.quarter; },\r\n headerComponentParams: { template: CustomHeaderTemplate('period') }\r\n },\r\n {\r\n field: \"isReportPeriodVisibleToExternalUsers\",\r\n headerName: \"Visibility Status\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 100,\r\n valueGetter: params => DefaultValueGetter(params, 'isReportPeriodVisibleToExternalUsers'),\r\n filterValueGetter: params => { return params.data && params.data.isReportPeriodVisibleToExternalUsers; },\r\n headerComponentParams: { template: CustomHeaderTemplate('visibilityStatus') }\r\n }, \r\n {\r\n field: 'reitName', headerName: 'REIT', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 110,maxWidth: 300,\r\n valueGetter: params => DefaultValueGetter(params, 'reitName'),\r\n filterValueGetter: params => { return params.data && params.data.reitName; },\r\n headerComponentParams: { template: CustomHeaderTemplate('reit') }\r\n },\r\n {\r\n field: 'propertyName', headerName: 'Property Name', sortable: true, minWidth: 160,maxWidth: 300,\r\n valueGetter: params => ChecklistTypeValueGetter(params),\r\n filterValueGetter: params => {\r\n return params.data && params.data.checklistType.toLowerCase() === 'psq'\r\n ? params.data.propertyName : 'N/A';\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate('propertyName') }\r\n },\r\n {\r\n field: 'propertyTypeDescription', headerName: 'Type', sortable: true, minWidth: 150,maxWidth: 150,\r\n valueGetter: params => PropertyTypeValueGetter(params),\r\n filterValueGetter: params => {\r\n return params.data && params.data.checklistType.toLowerCase() === 'psq'\r\n ? params.data.propertyTypeDescription : params.data.reitTypeDescription;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate('type') }\r\n },\r\n {\r\n field: 'questionnaireTemplateName', headerName: 'Template', sortable: true, minWidth: 200,maxWidth: 250,\r\n valueGetter: params => DefaultValueGetter(params, 'questionnaireTemplateName'),\r\n filterValueGetter: params => { return params.data && params.data.questionnaireTemplateName; },\r\n headerComponentParams: { template: CustomHeaderTemplate('template') }\r\n },\r\n {\r\n field: 'managerName', headerName: 'Property Manager', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 170,maxWidth: 170,\r\n valueGetter: params => DefaultValueGetter(params, 'managerName'),\r\n filterValueGetter: params => { return params.data && params.data.managerName; },\r\n headerComponentParams: { template: CustomHeaderTemplate('propertyManager') }\r\n },\r\n {\r\n field: 'checklistStateDescription', headerName: 'Status', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 125,maxWidth: 125,\r\n valueGetter: params => DefaultValueGetter(params, 'checklistStateDescription'),\r\n filterValueGetter: params => { return params.data && params.data.checklistStateDescription; },\r\n headerComponentParams: { template: CustomHeaderTemplate('status') }\r\n },\r\n {\r\n field: 'lastUpdatedDate', headerName: 'Status Date', sortable: true, minWidth: 200,maxWidth: 200,\r\n valueGetter: params => StatusDateValueGetter(params),\r\n // Show N/A value in filter if date value is not exists\r\n filterValueGetter: params => {\r\n return params.data\r\n ? params.data.lastUpdatedDate ? (new Date(params.data.lastUpdatedDate + 'Z')).toLocaleString('en-US', dateOptions) : 'N/A'\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('statusDate') }\r\n },\r\n {\r\n field: 'reopenRequestStatusDescription', headerName: 'Reopen Request', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 175,maxWidth: 175,\r\n valueGetter: params => {\r\n return !params.data\r\n ? (params.node && params.node.childrenAfterGroup && params.node.childrenAfterGroup.length > 0\r\n && params.node.childrenAfterGroup[0].data && params.node.childrenAfterGroup[0].data.reopenRequestStatusDescription\r\n ? params.node.childrenAfterGroup[0].data.reopenRequestStatusDescription : 'N/A')\r\n : '';\r\n },\r\n filterValueGetter: params => { return params.data && params.data.reopenRequestStatusDescription ? params.data.reopenRequestStatusDescription : 'N/A'; },\r\n headerComponentParams: { template: CustomHeaderTemplate('reopenRequestStatus') }\r\n }, \r\n {\r\n field: 'requestDateTime', headerName: 'Reopen Request Date', sortable: true, minWidth: 175,maxWidth: 175,\r\n valueGetter: params => {\r\n return !params.data\r\n ? (params.node && params.node.childrenAfterGroup && params.node.childrenAfterGroup.length > 0\r\n && params.node.childrenAfterGroup[0].data && params.node.childrenAfterGroup[0].data.requestDateTime\r\n ? (new Date(params.node.childrenAfterGroup[0].data.requestDateTime + 'Z')).toLocaleString('en-US', dateOptions) : 'N/A')\r\n : '';\r\n },\r\n // Show N/A value in filter if date value is not exists\r\n filterValueGetter: params => {\r\n return params.data\r\n ? params.data[\"requestDateTime\"] ? (new Date(params.data.requestDateTime + 'Z')).toLocaleString('en-US', dateOptions) : 'N/A'\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('requestDateTime') }\r\n }, \r\n {\r\n field: 'recipients', headerName: 'Recipients', sortable: true, rowGroup: true, hide: true, minWidth: 115,maxWidth: 160,\r\n comparator: (valueA, valueB, nodeA, nodeB, isDescending) => {\r\n let recipientEmailA = (nodeA?.allLeafChildren !== undefined ? nodeA?.allLeafChildren[0].data.recipientEmail : nodeA.data?.recipientEmail) === \"\" ? \"No Recipients\" : \"Recipients\";\r\n let recipientEmailB = (nodeB?.allLeafChildren !== undefined ? nodeB?.allLeafChildren[0].data.recipientEmail : nodeB.data?.recipientEmail) === \"\" ? \"No Recipients\" : \"Recipients\";\r\n if (recipientEmailA === \"No Recipients\" && recipientEmailB === \"No Recipients\") return 0;\r\n if(recipientEmailA === \"Recipients\" && recipientEmailB === \"Recipients\"){\r\n if(nodeA.allChildrenCount === undefined ) return nodeA.data?.recipientEmail > nodeB.data?.recipientEmail ? 1 : -1;\r\n else return nodeA.allChildrenCount > nodeB.allChildrenCount ? 1 : -1;\r\n } else if(recipientEmailA === \"No Recipients\" && recipientEmailB === \"Recipients\"){\r\n return -1;\r\n } else if(recipientEmailA === \"Recipients\" && recipientEmailB === \"No Recipients\"){\r\n return 1;\r\n }\r\n }, \r\n\r\n headerComponentParams: { template: CustomHeaderTemplate('recipients') }\r\n },\r\n // add in a cell renderer params\r\n {\r\n headerName: 'Recipients',\r\n field: 'recipientEmail',\r\n minWidth: 400,\r\n maxWidth: 450,\r\n showRowGroup: true,\r\n sortable: true,\r\n filterValueGetter: params => {\r\n if (params && params.data && params.data.recipientEmail && params.data.recipientEmail.length > 0) {\r\n return params.data.recipientEmail;\r\n }\r\n else {\r\n return 'No Recipients';\r\n\r\n }\r\n },\r\n cellRendererSelector: params => {\r\n if ((params && params.node && params.node.allLeafChildren && Array.isArray(params.node.allLeafChildren)\r\n && params.node.allLeafChildren.length > 0 && params.node.allLeafChildren[0].data\r\n && params.node.allLeafChildren[0].data.recipientEmail\r\n && params.node.allLeafChildren[0].data.recipientEmail.length > 0)\r\n ||\r\n (params && params.data && params.data.recipientEmail && params.data.recipientEmail.length > 0)\r\n ) {\r\n return {\r\n component: 'agGroupCellRenderer'\r\n };\r\n }\r\n else {\r\n return {\r\n component: NoRecipientCellRenderer\r\n };\r\n }\r\n },\r\n headerCheckboxSelection: true,\r\n headerCheckboxSelectionFilteredOnly: true,\r\n cellRendererParams: {\r\n checkbox: true,\r\n innerRenderer: SimpleCellRenderer,\r\n innerRendererParams: { label: 'Recipients' },\r\n suppressDoubleClickExpand: true,\r\n suppressEnterExpand: true,\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate('recipients') }\r\n },\r\n {\r\n field: 'senderEmail', headerName: 'Sent From', sortable: true, rowGroup: false, minWidth: 200,maxWidth: 250,\r\n headerComponentParams: { template: CustomHeaderTemplate('sentFrom') }\r\n },\r\n {\r\n field: 'sentDate', headerName: 'Sent Date', sortable: true, rowGroup: false, minWidth: 180,maxWidth: 180,\r\n cellRenderer: DateCellRenderer, cellRendererParams: { dateFieldName: 'sentDate' },\r\n // Show N/A value in filter if date value is not exists\r\n filterValueGetter: params => {\r\n return params.data\r\n ? params.data.sentDate ? (new Date(params.data.sentDate + 'Z')).toLocaleString('en-US', dateOptions) : 'N/A'\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('sentDate') }\r\n },\r\n {\r\n field: 'expirationDate', headerName: 'Expiration Date', sortable: true, rowGroup: false, minWidth: 190,maxWidth: 180,\r\n cellRenderer: DateCellRenderer, cellRendererParams: { dateFieldName: 'expirationDate' },\r\n // Show N/A value in filter if date value is not exists\r\n filterValueGetter: params => {\r\n return params.data\r\n ? params.data.expirationDate ? (new Date(params.data.expirationDate + 'Z')).toLocaleString('en-US', dateOptions) : 'N/A'\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('expirationDate') }\r\n },\r\n {\r\n field: 'clientUserEmailAddress', headerName: 'Client Signedoff By', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 175,maxWidth: 175,\r\n valueGetter: params => {\r\n return !params.data\r\n ? (params.node && params.node.childrenAfterGroup && params.node.childrenAfterGroup.length > 0\r\n && params.node.childrenAfterGroup[0].data && params.node.childrenAfterGroup[0].data.isSignedOff\r\n ? params.node.childrenAfterGroup[0].data.clientUserEmailAddress : '')\r\n : '';\r\n },\r\n filterValueGetter: params => {\r\n return params.data && params.data.isSignedOff ? params.data.clientUserEmailAddress : '';\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate('clientUserEmailAddress') }\r\n },\r\n {\r\n field: 'userActionDateTime', headerName: 'Client Signedoff Date', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 200, maxWidth: 200, \r\n valueGetter: params => {\r\n return !params.data\r\n ? (params.node && params.node.childrenAfterGroup && params.node.childrenAfterGroup.length > 0\r\n && params.node.childrenAfterGroup[0].data && params.node.childrenAfterGroup[0].data.isSignedOff\r\n && params.node.childrenAfterGroup[0].data.userActionDateTime\r\n ? (new Date(params.node.childrenAfterGroup[0].data.userActionDateTime + 'Z')).toLocaleString('en-US', dateOptions) : '')\r\n : '';\r\n },\r\n filterValueGetter: params => {\r\n return params.data && params.data.isSignedOff\r\n ? params.data.userActionDateTime ? (new Date(params.data.userActionDateTime + 'Z')).toLocaleString('en-US', dateOptions) : ''\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('userActionDateTime') }\r\n },\r\n ];\r\n };\r\n\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n const getRowId = useCallback((params) => params.data.recipients + '_' + params.data.recipientEmail, []);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Grid Global Listner\r\n const gridGlobalListner = function (type, event) {\r\n if (type.indexOf(\"columnVisible\") >= 0) {\r\n handleGridColumnsChanged(event);\r\n }\r\n\r\n // Bind handleFilterChanged event to filterChanged and rowDataUpdated events\r\n if (type.indexOf(\"filterChanged\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n }\r\n\r\n if (type.indexOf(\"rowDataUpdated\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n } \r\n }\r\n\r\n //Handle Grid Ready event\r\n const handleGridReady = (event) => {\r\n //Remove event for column state change\r\n event.api.removeEventListener(gridGlobalListner);\r\n\r\n //Add event for column state change\r\n event.api.addGlobalListener(gridGlobalListner);\r\n\r\n //Apply column state\r\n var columnState = localStorage.getItem('REITSuiteManageChecklistColumnState');\r\n if (columnState) {\r\n gridRef.current.columnApi.applyColumnState({\r\n state: JSON.parse(columnState),\r\n applyOrder: true,\r\n });\r\n }\r\n\r\n //Show/Hide Reopen requests columns - If any checklists having reopen requests(pending, approved or denied) then only show Reopen Request columns\r\n gridRef.current.columnApi.setColumnsVisible([\"reopenRequestStatusDescription\", \"requestDateTime\"], rowDataRef.current && rowDataRef.current.some(ch => ch.reopenRequestStatusDescription));\r\n\r\n // Set the page size and total pages on the first load\r\n ApplyPsqArqcFilter();\r\n handleItemsPerPageChange(100); // Setting it 100 to make sure the default number of items on load is always set to 100\r\n }\r\n\r\n // Handle OnFilterChanged event\r\n const handleFilterChanged = (event) => {\r\n\r\n let filteredRowData = [];\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n\r\n gridRef.current.api.forEachNodeAfterFilter((rowNode) => {\r\n if (rowNode.level === 0) {\r\n let matchedRecord = rowDataRef.current.find(ch => ch.recipients === rowNode.key);\r\n if (matchedRecord) {\r\n filteredRowData.push({\r\n checklistID: matchedRecord.checklistID,\r\n checklistSelection: matchedRecord.checklistSelection,\r\n checklistState: matchedRecord.checklistState,\r\n checklistType: matchedRecord.checklistType,\r\n quarterStatus: matchedRecord.quarterStatus,\r\n checklistStateDescription: matchedRecord.checklistStateDescription,\r\n reopenRequestStatusDescription: matchedRecord.reopenRequestStatusDescription,\r\n requestDateTime: matchedRecord.requestDateTime\r\n }\r\n );\r\n }\r\n }\r\n });\r\n\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n if (currentPage > calcTotalPages) {\r\n if (calcTotalPages == 0) {\r\n setTimeout(function () { setCurrentPage(calcTotalPages); }, 0)\r\n }\r\n else {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n const gridCurrentPage = gridRef.current.api.paginationGetCurrentPage() + 1; // Adding 1 since it returns zero based index\r\n if (currentPage < (gridCurrentPage) && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n }\r\n\r\n // Show the expected value as 1 for current page \r\n if (currentPage <= 1 && gridCurrentPage == 1 && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n } \r\n }\r\n\r\n setGridFilteredRowData(filteredRowData);\r\n }\r\n\r\n const ApplyPsqArqcFilter = () => {\r\n const gridApi = gridRef && gridRef.current && gridRef.current.api;\r\n // Get a reference to the 'checklistType' filter instance\r\n const checklistTypeFilterInstance = gridApi && gridApi.getFilterInstance('checklistType');\r\n\r\n // Apply PSQ/ARQC filter as per dropdown selection in header\r\n checklistTypeFilterInstance && checklistTypeFilterInstance.setModel({\r\n values: psqArqc === 'ALL' ? ['ARQC', 'PSQ'] : [psqArqc]\r\n });\r\n\r\n // Trigger the filter change\r\n // Set Filtered Row data to empty array if grid api is null on change of PSQ/ARQC filter\r\n gridApi && gridApi.onFilterChanged() || setGridFilteredRowData([]);\r\n }\r\n\r\n //Handle First Data Renderered event\r\n const handleFirstDataRendered = (event) => {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n updateRowNodeSelectableProperty();\r\n }\r\n\r\n // Update Selectable property of RowNode of type 'No Recipient' to false\r\n const updateRowNodeSelectableProperty = () => {\r\n const gridApi = gridRef && gridRef.current && gridRef.current.api;\r\n if (gridApi) {\r\n gridApi.forEachNodeAfterFilter((row) => {\r\n if (row.level === 0 && row.childrenAfterFilter && row.childrenAfterFilter.length > 0 && row.childrenAfterFilter[0].data) {\r\n if (!row.childrenAfterFilter[0].data.recipientEmail || row.childrenAfterFilter[0].data.recipientEmail.length == 0) {\r\n row.selectable = false;\r\n row.selected = false;\r\n } else if (row.selectable == false) {\r\n row.selectable = true;\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n //Handle Grid Columns changed event\r\n const handleGridColumnsChanged = (event) => {\r\n\r\n var currentColumnState = gridRef.current.columnApi.getColumnState();\r\n var localStorageColumnState = localStorage.getItem('REITSuiteManageChecklistColumnState');\r\n\r\n // If the column state details are not exists in local storage then save the changed Column state data\r\n if (currentColumnState && currentColumnState.filter(col => col.hide == true)?.length > 0 && !localStorageColumnState) {\r\n saveUserPreferenceDetails();\r\n }\r\n else if (localStorageColumnState) {\r\n // If the column state details are exists in local storage then save the changed Column state data only if difference is found\r\n var columnsStateArray = JSON.parse(localStorageColumnState);\r\n if (columnsStateArray && columnsStateArray.length > 0\r\n && currentColumnState && currentColumnState.length > 0\r\n && columnsStateArray.filter(col => col.hide == true)?.length != currentColumnState.filter(col => col.hide == true)?.length) {\r\n //If column state mismatch found then only save column state data to avoid saving same state\r\n saveUserPreferenceDetails();\r\n }\r\n }\r\n\r\n //Trigger Grid Column state change (of parent) to sync column state data\r\n handleGridColumnStateChange(currentColumnState);\r\n\r\n gridRef && gridRef.current && gridRef.current.columnApi && gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Save User Preference details (Column state)\r\n const saveUserPreferenceDetails = useCallback(() => {\r\n var columnState = gridRef.current.columnApi.getColumnState();\r\n if (columnState) {\r\n localStorage.setItem('REITSuiteManageChecklistColumnState', JSON.stringify(columnState));\r\n }\r\n }, []);\r\n\r\n //Handle Grid Items per Page change event\r\n const handleItemsPerPageChange = (val) => {\r\n\r\n gridRef.current.api.paginationGoToFirstPage();\r\n gridRef.current.api.paginationSetPageSize(Number(val));\r\n setCurrentPage(1);\r\n setItemsPerPage(val);\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n useEffect(() => {\r\n handleGridChanges(rowData, gridRef && gridRef.current ? gridRef.current.api : null);\r\n updateRowNodeSelectableProperty();\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n\r\n // Refresh Grid \r\n const gridApi = gridRef && gridRef.current && gridRef.current.api;\r\n if (gridApi) {\r\n var rows = [];\r\n if (refreshGridChecklistData && refreshGridChecklistData.checklists && refreshGridChecklistData.checklists.length > 0) {\r\n gridApi.forEachNodeAfterFilter((row) => {\r\n if (row.level === 0 &&\r\n refreshGridChecklistData.checklists.some(ch => row.key.toLowerCase() === ch.checklistID + \"_\" + ch.checklistType.toLowerCase())) {\r\n if (row.allLeafChildren && Array.isArray(row.allLeafChildren) && row.allLeafChildren.length > 0\r\n && row.allLeafChildren[0].data) {\r\n if (!row.allLeafChildren[0].data.recipientEmail || row.allLeafChildren[0].data.recipientEmail.length === 0) {\r\n row.setExpanded(false);\r\n }\r\n }\r\n rows.push(row);\r\n }\r\n });\r\n\r\n //Redraw rows\r\n if (rows.length > 0) {\r\n setTimeout(function () { gridApi.redrawRows({ rowNodes: rows }); }, 0);\r\n }\r\n }\r\n\r\n gridApi.refreshHeader();\r\n gridApi.refreshCells();\r\n gridApi.deselectAll();\r\n }\r\n\r\n }, [refreshGridChecklistData]);\r\n\r\n useEffect(() => {\r\n ApplyPsqArqcFilter();\r\n \r\n setRowData(filteredManageChecklists);\r\n\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.refreshHeader();\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n\r\n //Show/Hide Reopen requests columns - If any checklists having reopen requests(pending, approved or denied) then only show Reopen Request columns\r\n gridRef.current.columnApi.setColumnsVisible([\"reopenRequestStatusDescription\", \"requestDateTime\"], filteredManageChecklists && filteredManageChecklists.some(ch => ch.reopenRequestStatusDescription));\r\n\r\n }\r\n\r\n }, [filteredManageChecklists]);\r\n\r\n useEffect(() => {\r\n ApplyPsqArqcFilter();\r\n\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.refreshHeader();\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n\r\n //Show/Hide Reopen requests columns - If any checklists having reopen requests(pending, approved or denied) then only show Reopen Request columns\r\n gridRef.current.columnApi.setColumnsVisible([\"reopenRequestStatusDescription\", \"requestDateTime\"], filteredManageChecklists && filteredManageChecklists.some(ch => ch.reopenRequestStatusDescription));\r\n\r\n }\r\n\r\n }, [psqArqc]);\r\n\r\n\r\n useEffect(() => {\r\n if (refreshGridData > 0) {\r\n // Refresh Grid\r\n let updatedData = filteredManageChecklists;\r\n setRowData(updatedData);\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.setRowData(updatedData);\r\n gridRef.current.api.refreshCells();\r\n gridRef.current.api.refreshHeader();\r\n gridRef.current.api.forEachNodeAfterFilter((row) => {\r\n if (row.level === 0 && row.allLeafChildren && Array.isArray(row.allLeafChildren) && row.allLeafChildren.length > 0 && row.allLeafChildren[0].data)\r\n if (!row.allLeafChildren[0].data.recipientEmail || row.allLeafChildren[0].data.recipientEmail.length === 0) {\r\n row.setExpanded(false);\r\n }\r\n });\r\n }\r\n }\r\n }, [refreshGridData]);\r\n\r\n useEffect(() => {\r\n //gridFilteredRowData contains filtered Row data\r\n handleGridFilteredRowChanges(gridFilteredRowData);\r\n\r\n }, [gridFilteredRowData]);\r\n\r\n const handleSelectionChanged = (event) => {\r\n handleRecipientChanges(gridRef && gridRef.current ? gridRef.current.api : null);\r\n }\r\n\r\n // Handle Row Group Open event(Expand/Collapse of Group Icon)\r\n const handleRowGroupOpened = (event) => {\r\n if (event && event.expanded && gridRef && gridRef.current && gridRef.current.columnApi) {\r\n //Auto size Recipient Email and Sender Email columns\r\n gridRef.current.columnApi.autoSizeColumns(['recipientEmail', 'senderEmail']);\r\n }\r\n }\r\n\r\n // Handle Expand/Collapse All \r\n const handleExpandOrCollapseAll = (event) => {\r\n if (event && event.source && event.source.toLowerCase() == \"expandall\") {\r\n const gridApi = gridRef && gridRef.current && gridRef.current.api;\r\n if (gridApi) {\r\n gridApi.forEachNodeAfterFilter((row) => {\r\n if (row.level === 0 && row.allLeafChildren && Array.isArray(row.allLeafChildren) && row.allLeafChildren.length > 0 && row.allLeafChildren[0].data)\r\n if (!row.allLeafChildren[0].data.recipientEmail || row.allLeafChildren[0].data.recipientEmail.length === 0) {\r\n row.setExpanded(false);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n // Handle Row data updated event \r\n const handleRowDataUpdated = () => {\r\n if (gridRef && gridRef.current && gridRef.current.columnApi) {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n\r\n //Reset Grid to default column state\r\n //When Grid Column state changes due to Reset Column State action then Reset Grid to default column state\r\n var localStorageColumnState = localStorage.getItem('REITSuiteManageChecklistColumnState');\r\n if (!localStorageColumnState && gridRef && gridRef.current && gridRef.current.api) {\r\n\r\n gridRef.current.api.setColumnDefs([]);\r\n gridRef.current.api.setColumnDefs(getColumnDefs());\r\n }\r\n\r\n }, [gridColumnState]);\r\n\r\n const rowHeight = 76; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return
    \r\n {((psqArqc && psqArqc.toLowerCase() === 'all' && filteredManageChecklists && filteredManageChecklists.length > 0)\r\n ||\r\n (psqArqc && filteredManageChecklists && filteredManageChecklists.filter(val => val.checklistType.toLowerCase() === psqArqc.toLowerCase()).length > 0)) &&\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n handleItemsPerPageChange(50)}>\r\n Show 50\r\n \r\n handleItemsPerPageChange(100)}>\r\n Show 100\r\n \r\n handleItemsPerPageChange(150)}>\r\n Show 150\r\n \r\n handleItemsPerPageChange(200)}>\r\n Show 200\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n
    ;\r\n};\r\n\r\nManageChecklistTable.propTypes = {\r\n\r\n};\r\n\r\nexport default reduxForm({ form: \"manageChecklist\" })(ManageChecklistTable);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { getFormValues, getFormSyncErrors, getFormSubmitErrors, SubmissionError, reduxForm } from \"redux-form\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as clientActions from \"../../actions/clientActions\";\r\nimport * as checklistActions from \"../../actions/checklistActions\";\r\nimport * as reportActions from '../../actions/reportActions';\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport { MotifButton, MotifToast, MotifTabNavigation, MotifTabControl } from \"@ey-xd/motif-react\";\r\nimport { Link } from 'react-router-dom';\r\nimport { pendingTask, begin, end } from '../../constants/pendingTask';\r\nimport * as actions from \"../../actions/actionTypes\";\r\nimport ManageChecklistHeader from \"../../components/checklistDeliveryCalendar/ManageChecklistHeader\";\r\nimport ManageChecklistTable from \"../../components/checklistDeliveryCalendar/ManageChecklistTable\";\r\nimport AddChecklistUserModal from \"../../components/checklistDeliveryCalendar/AddChecklistUserModal\";\r\nimport DeleteChecklistUserModal from \"../../components/checklistDeliveryCalendar/DeleteChecklistUserModal\";\r\nimport DeleteChecklistModal from \"../../components/checklistDeliveryCalendar/DeleteChecklistModal\";\r\nimport ResendChecklistModal from \"../../components/checklistDeliveryCalendar/ResendChecklistModal\";\r\nimport SignoffChecklistModal from \"../../components/checklistDeliveryCalendar/SignoffChecklistModal\";\r\nimport ReopenForEYReviewChecklistModal from \"../../components/checklistDeliveryCalendar/ReopenForEYReviewChecklistModal\";\r\nimport ApproveClientReopenRequestModal from \"../../components/checklistDeliveryCalendar/ApproveClientReopenRequestModal\";\r\nimport DenyClientReopenRequestModal from \"../../components/checklistDeliveryCalendar/DenyClientReopenRequestModal\";\r\nimport DownloadChecklistsModal from '../../components/checklistDeliveryCalendar/DownloadChecklistsModal';\r\nimport PSQCompletionRequirement from \"../../components/checklistDeliveryCalendar/PSQCompletionRequirement\";\r\nimport * as actionHelpers from '../../scripts/actionHelpers';\r\nimport * as Constants from '../../constants/other';\r\nimport InvalidEmailModal from '../../components/reits/InvalidEmailModal';\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport * as externalUserVisibilityActions from \"../../actions/externalUserDataVisibilityActions\";\r\n\r\n/**\r\n * ManageChecklistContainer container component\r\n * @extends {React.Component}\r\n */\r\nclass ManageChecklistContainer extends React.Component {\r\n /**\r\n * Creates a new ChartOfAccountsPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.updateInitialValues = this.updateInitialValues.bind(this);\r\n this.handleChangePsqArqc = this.handleChangePsqArqc.bind(this);\r\n this.setGridColumnState = this.setGridColumnState.bind(this);\r\n this.resetGridColumnState = this.resetGridColumnState.bind(this);\r\n this.handleGridColumnStateChange = this.handleGridColumnStateChange.bind(this);\r\n this.setTabBar1 = this.setTabBar1.bind(this);\r\n this.handleClick = this.handleClick.bind(this);\r\n this.toggleShowAddChecklistUserModal = this.toggleShowAddChecklistUserModal.bind(this);\r\n this.handleAddChecklistUser = this.handleAddChecklistUser.bind(this);\r\n this.toggleShowDeleteChecklistUserModal = this.toggleShowDeleteChecklistUserModal.bind(this);\r\n this.handleDeleteChecklistUser = this.handleDeleteChecklistUser.bind(this);\r\n this.toggleShowDeleteChecklistModal = this.toggleShowDeleteChecklistModal.bind(this);\r\n this.handleDeleteChecklist = this.handleDeleteChecklist.bind(this);\r\n this.toggleShowResendChecklistModal = this.toggleShowResendChecklistModal.bind(this);\r\n this.handleResendChecklist = this.handleResendChecklist.bind(this);\r\n this.toggleShowSignoffChecklistModal = this.toggleShowSignoffChecklistModal.bind(this);\r\n this.toggleShowReopenForEYReviewChecklistModal = this.toggleShowReopenForEYReviewChecklistModal.bind(this);\r\n this.toggleShowApproveClientReopenRequestModal = this.toggleShowApproveClientReopenRequestModal.bind(this);\r\n this.toggleShowDenyClientReopenRequestModal = this.toggleShowDenyClientReopenRequestModal.bind(this);\r\n this.handleSignoffChecklist = this.handleSignoffChecklist.bind(this);\r\n this.handleReopenForEYReviewChecklist = this.handleReopenForEYReviewChecklist.bind(this);\r\n this.handleApproveClientReopenRequest = this.handleApproveClientReopenRequest.bind(this);\r\n this.handleDenyClientReopenRequest = this.handleDenyClientReopenRequest.bind(this);\r\n this.handleExportChecklistSummary = this.handleExportChecklistSummary.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.handleGridFilteredRowChanges = this.handleGridFilteredRowChanges.bind(this);\r\n this.handleRecipientChanges = this.handleRecipientChanges.bind(this);\r\n this.handleEmailChanged = this.handleEmailChanged.bind(this);\r\n this.handleSignoffChecklistStateChange = this.handleSignoffChecklistStateChange.bind(this);\r\n this.refreshGrid = this.refreshGrid.bind(this);\r\n this.handleRefreshManageChecklistClient = this.handleRefreshManageChecklistClient.bind(this);\r\n this.dismissRefreshManageChecklistMessage = this.dismissRefreshManageChecklistMessage.bind(this);\r\n this.handleDownloadChecklists = this.handleDownloadChecklists.bind(this);\r\n this.toggleShowDownloadChecklistsModal = this.toggleShowDownloadChecklistsModal.bind(this);\r\n this.toggleShowInvalidEmailModal = this.toggleShowInvalidEmailModal.bind(this);\r\n this.handlePSQCompletionRequirementChange = this.handlePSQCompletionRequirementChange.bind(this);\r\n this.state = {\r\n checklistCalendarYears: [],\r\n saved: false,\r\n psqArqc: 'ALL', // the PSQ/ARQC filter field is not part of redux-form, so we do not affect the dirty/pristine flags when changing this field\r\n filteredManageChecklists: [],\r\n gridColumnState: [],\r\n showAddChecklistUserModal: false,\r\n showDeleteChecklistUserModal: false,\r\n showDeleteChecklistModal: false,\r\n showResendChecklistModal: false,\r\n showSignoffChecklistModal: false,\r\n showReopenForEYReviewChecklistModal: false,\r\n showApproveClientReopenRequestModal: false,\r\n showDenyClientReopenRequestModal: false,\r\n gridCurrentState: [],\r\n gridFilteredRowCurrentState: [],\r\n selectedRecipients: [],\r\n checklistUsers: [],\r\n selectedSignoffChecklistState: -1,\r\n refreshGridChecklistData: {\r\n refreshGridOnCompletedAction: -1,\r\n checklists: []\r\n },\r\n downloadChecklists: {\r\n downloadType: '',\r\n showModal: false,\r\n modalTitle: '',\r\n modalContent: '',\r\n },\r\n showInvalidEmailModal: false,\r\n isRefreshGridRequired: false,\r\n refreshGridData: 0,\r\n externalUserVisibilityData:[],\r\n };\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.props.checklistActions.fetchChecklistCalendarYears(this.props.clientId);\r\n this.props.checklistActions.resetRefreshManageChecklistClient(); // Reseting the Client Id to 0 on page load to hide Motif \"Refresh\" Toast Message\r\n this.setGridColumnState();\r\n }\r\n\r\n /**\r\n * Invoked immediately before unmounting occurs\r\n * @returns {undefined}\r\n */\r\n componentWillUnmount() {\r\n // On unmount, clear the calendar data from state to conserve memory\r\n // Calling this action with no argument will clear from redux-state\r\n this.props.checklistActions.fetchManageChecklists();\r\n this.props.checklistActions.fetchChecklistCalendarYears();\r\n this.props.checklistActions.resetRefreshManageChecklistClient(); // Reseting the Client Id to 0 on page unmount to hide Motif \"Refresh\" Toast Message on subsequest redirected view\r\n\r\n this.setState({ filteredManageChecklists: [], checklistCalendarYears: [], selectedRecipients: [] });\r\n }\r\n componentDidUpdate(prevProps) {\r\n if ((this.props.manageChecklistValues\r\n && this.props.manageChecklistValues.calendarYear)\r\n && (this.props.manageChecklistValues.calendarYear && !prevProps.manageChecklistValues) ||\r\n (prevProps.manageChecklistValues && (this.props.manageChecklistValues.calendarYear !== prevProps.manageChecklistValues.calendarYear))\r\n ) {\r\n this.props.externalUserVisibilityActions.fetchReportPeriodVisibilityManagerDataById(this.props.clientId, null, this.props.manageChecklistValues.calendarYear);\r\n this.props.checklistActions\r\n .fetchManageChecklists(this.props.clientId, this.props.manageChecklistValues.calendarYear)\r\n .then(() => {\r\n if (this.state.psqArqc === 'ALL') {\r\n this.setState({ filteredManageChecklists: this.props.manageChecklists });\r\n }\r\n else {\r\n this.setState({\r\n filteredManageChecklists: this.props.manageChecklists\r\n .filter(mc => this.state.psqArqc === mc.checklistType)\r\n });\r\n }\r\n\r\n this.updateInitialValues();\r\n\r\n // Reset the refresh manage checklist message for client, if loading first time\r\n this.props.checklistActions.resetRefreshManageChecklistClient();\r\n });\r\n }\r\n\r\n if (this.props.manageChecklists != prevProps.manageChecklists && this.state.isRefreshGridRequired) {\r\n const randomNumber = parseInt(Math.random() * (99999999 - 1)) + 1;\r\n this.setState({ refreshGridData: randomNumber });\r\n this.setState({ isRefreshGridRequired: false });\r\n }\r\n }\r\n\r\n updateInitialValues() {\r\n const initialValues = {\r\n clientId: this.props.clientId,\r\n calendarYear: this.props.manageChecklistValues.calendarYear\r\n };\r\n\r\n this.props.dispatch(this.props.initialize(\r\n initialValues,\r\n { options: { updateUnregisteredFields: true } }\r\n ));\r\n }\r\n\r\n toggleShowAddChecklistUserModal() {\r\n this.setState({\r\n showAddChecklistUserModal: !this.state.showAddChecklistUserModal,\r\n checklistUsers: []\r\n });\r\n }\r\n\r\n refreshGrid(selectedChecklists = []) {\r\n // Reset the refresh manage checklist message for client\r\n this.props.checklistActions.resetRefreshManageChecklistClient();\r\n\r\n this.props.checklistActions\r\n .fetchManageChecklists(this.props.clientId, this.props.manageChecklistValues.calendarYear)\r\n .then(() => {\r\n if (this.state.psqArqc === 'ALL') {\r\n this.setState({ filteredManageChecklists: this.props.manageChecklists });\r\n }\r\n else {\r\n this.setState({\r\n filteredManageChecklists: this.props.manageChecklists\r\n .filter(mc => this.state.psqArqc === mc.checklistType)\r\n });\r\n }\r\n\r\n this.updateInitialValues();\r\n\r\n //Update refreshGridChecklistData state variable to refresh the grid\r\n const randomNumber = parseInt(Math.random() * (99999999 - 1)) + 1;\r\n\r\n if (selectedChecklists && Array.isArray(selectedChecklists) && selectedChecklists.length > 0) {\r\n this.setState({\r\n refreshGridChecklistData: {\r\n refreshGridOnCompletedAction: randomNumber,\r\n checklists: selectedChecklists\r\n }\r\n });\r\n }\r\n else {\r\n this.setState({\r\n refreshGridChecklistData: {\r\n refreshGridOnCompletedAction: randomNumber,\r\n checklists: []\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n handleGridFilteredRowChanges(gridFilteredRowData) {\r\n this.setState({ gridFilteredRowCurrentState: gridFilteredRowData });\r\n }\r\n\r\n handleGridChanges(gridRowData) {\r\n let rowData = [];\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n checklistID: x.checklistID,\r\n checklistSelection: x.checklistSelection,\r\n checklistState: x.checklistState,\r\n checklistType: x.checklistType,\r\n quarterStatus: x.quarterStatus,\r\n checklistStateDescription: x.checklistStateDescription,\r\n reopenRequestStatusDescription: x.reopenRequestStatusDescription,\r\n requestDateTime: x.requestDateTime,\r\n requesterEmailAddress: x.requesterEmailAddress,\r\n isSignedOff: x.isSignedOff,\r\n signedOffStatusDescription: x.signedOffStatusDescription,\r\n userActionDateTime: x.userActionDateTime,\r\n clientUserEmailAddress: x.clientUserEmailAddress,\r\n quarter: x.quarter,\r\n reitName: x.reitName,\r\n reportPeriodID: x.reportPeriodID,\r\n propertyType: x.checklistType === \"PSQ\" ? x.propertyType : null,\r\n propertyTypeDescription: x.checklistType === \"PSQ\" ? x.propertyTypeDescription : null,\r\n propertyName: x.checklistType === \"PSQ\" ? x.propertyName : null\r\n }\r\n });\r\n\r\n this.setState({ gridCurrentState: rowData });\r\n }\r\n\r\n handleRecipientChanges(gridApi) {\r\n\r\n let selectedRecipients = [];\r\n if (gridApi) {\r\n let selectedNodes = gridApi.getSelectedNodes()\r\n ? gridApi.getSelectedNodes().filter(rowNode => rowNode.data && rowNode.data.recipientEmail && rowNode.data.recipientEmail.length > 0)\r\n : [];\r\n selectedRecipients = selectedNodes && selectedNodes.length && selectedNodes.map(x => {\r\n return {\r\n checklistID: x.data.checklistID,\r\n checklistSelection: x.data.checklistSelection,\r\n checklistType: x.data.checklistType,\r\n checklistState: x.data.checklistState,\r\n quarterStatus: x.data.quarterStatus,\r\n expirationDate: x.data.expirationDate,\r\n recipientEmail: x.data.recipientEmail,\r\n recipients: x.data.recipients,\r\n senderEmail: x.data.senderEmail,\r\n sentDate: x.data.sentDate,\r\n quarter: x.data.quarter,\r\n reitName: x.data.reitName,\r\n propertyType: x.data.propertyType,\r\n propertyTypeDescription: x.data.propertyTypeDescription,\r\n propertyName: x.data.propertyName\r\n }\r\n });\r\n }\r\n this.setState({ selectedRecipients: selectedRecipients });\r\n }\r\n\r\n handleEmailChanged(e) {\r\n let isShowInvalidModal = false;\r\n let checklistEmailData = [];\r\n if (Array.isArray(e)) {\r\n if (e.length > 0) {\r\n const uniqueArray = [...new Set(e.join(\";\").toLowerCase().split(\";\"))];\r\n for (let i = 0; i < uniqueArray.length; i++) {\r\n if (this.isEYEmailAddress(uniqueArray[i])) {\r\n isShowInvalidModal = true;\r\n } else {\r\n checklistEmailData.push(uniqueArray[i]);\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n if (isShowInvalidModal) {\r\n this.toggleShowInvalidEmailModal();\r\n }\r\n\r\n this.setState({ checklistUsers: checklistEmailData });\r\n }\r\n\r\n isEYEmailAddress(email) {\r\n var splitArray = email.trim().split(\"@\");\r\n if (\r\n splitArray[1] &&\r\n splitArray[1] != Constants.RejectedEyDomain &&\r\n !splitArray[1].includes(Constants.RejectedOtherEYDomain)\r\n ) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n toggleShowInvalidEmailModal() {\r\n const showToggle = !this.state.showInvalidEmailModal;\r\n this.setState({\r\n showInvalidEmailModal: showToggle,\r\n });\r\n }\r\n\r\n handleAddChecklistUser() {\r\n let emailDetails = this.state.checklistUsers && Array.isArray(this.state.checklistUsers) && this.state.checklistUsers.length > 0\r\n ? this.state.checklistUsers : [];\r\n\r\n //Get internal and external email details\r\n\r\n let selectedChecklists = [];\r\n\r\n if (this.state.gridCurrentState && Array.isArray(this.state.gridCurrentState) && this.state.gridCurrentState.length > 0\r\n && emailDetails) {\r\n selectedChecklists = this.state.gridCurrentState.reduce(function (filtered, option) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType: option && option.checklistType ? option.checklistType.toLowerCase() : ''\r\n }\r\n if (filtered.findIndex(x => x.checklistID === checklistItem.checklistID && x.checklistType === checklistItem.checklistType) == -1) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n }, []);\r\n }\r\n\r\n let requestData = {\r\n clientID: this.props.clientId,\r\n internalEmails: [],\r\n externalEmails: emailDetails,\r\n checklists: selectedChecklists\r\n };\r\n this.props.checklistActions\r\n .addChecklistUsers(this.props.clientId, requestData)\r\n .then(() => {\r\n this.toggleShowAddChecklistUserModal();\r\n this.setState({\r\n checklistUsers: []\r\n });\r\n\r\n this.refreshGrid(selectedChecklists);\r\n });\r\n }\r\n\r\n toggleShowDeleteChecklistUserModal() {\r\n this.setState({\r\n showDeleteChecklistUserModal: !this.state.showDeleteChecklistUserModal\r\n });\r\n }\r\n\r\n handleDeleteChecklistUser() {\r\n\r\n let recipientsList = (this.state.selectedRecipients && Array.isArray(this.state.selectedRecipients) && this.state.selectedRecipients.length > 0)\r\n ? this.state.selectedRecipients.map(x => {\r\n return {\r\n checklistID: x.checklistID,\r\n checklistType: x.checklistType,\r\n emails: x.recipientEmail.toLowerCase()\r\n }\r\n })\r\n : [];\r\n\r\n var helper = {};\r\n var uniqueRecipientsChecklists = (recipientsList && Array.isArray(recipientsList)) ? recipientsList.reduce(function (r, o) {\r\n var key = o.checklistID + '_' + o.checklistType;\r\n\r\n if (!helper[key]) {\r\n helper[key] = {\r\n checklistID: o.checklistID,\r\n checklistType: o.checklistType,\r\n emails: [o.emails.toLowerCase()]\r\n }\r\n r.push(helper[key]);\r\n } else {\r\n helper[key].emails.push(o.emails);\r\n }\r\n\r\n return r;\r\n }, []) : [];\r\n\r\n\r\n let requestData = {\r\n clientID: this.props.clientId,\r\n checklists: uniqueRecipientsChecklists\r\n };\r\n\r\n this.props.checklistActions\r\n .deleteChecklistUsers(this.props.clientId, requestData)\r\n .then(() => {\r\n this.setState({ isRefreshGridRequired: true });\r\n this.toggleShowDeleteChecklistUserModal();\r\n this.refreshGrid(uniqueRecipientsChecklists);\r\n });\r\n }\r\n\r\n toggleShowDeleteChecklistModal() {\r\n this.setState({\r\n showDeleteChecklistModal: !this.state.showDeleteChecklistModal\r\n });\r\n }\r\n\r\n handleDeleteChecklist(values) {\r\n let checklistsToDelete = this.state.gridCurrentState.filter(gridData => gridData.checklistSelection)\r\n .map(gridData => {\r\n return {\r\n checklistID: gridData.checklistID,\r\n type: gridData.checklistType\r\n }\r\n });\r\n\r\n // Remove duplicate checklists\r\n checklistsToDelete = checklistsToDelete.filter((value, index, self) =>\r\n self.findIndex((self) => self.checklistID === value.checklistID && self.type === value.type) === index);\r\n\r\n const requestData = {\r\n \"clientId\": this.props.clientId,\r\n \"deleteChecklistRequestModels\": checklistsToDelete\r\n };\r\n\r\n this.props.checklistActions\r\n .deleteChecklists(requestData)\r\n .then(() => {\r\n this.toggleShowDeleteChecklistModal();\r\n this.refreshGrid();\r\n });\r\n }\r\n\r\n toggleShowResendChecklistModal() {\r\n this.setState({\r\n showResendChecklistModal: !this.state.showResendChecklistModal\r\n });\r\n }\r\n\r\n handleResendChecklist(values) {\r\n const checklistsToResend = this.state.selectedRecipients\r\n .map(recipient => {\r\n return {\r\n checklistID: recipient.checklistID,\r\n checklistType: recipient.checklistType,\r\n recipientEmail: recipient.recipientEmail,\r\n reitName: recipient.reitName,\r\n propertyType: recipient.propertyTypeDescription,\r\n propertyName: recipient.propertyName,\r\n periodDescription: recipient.quarter + ' ' + this.props.manageChecklistValues.calendarYear\r\n }\r\n });\r\n\r\n const requestData = {\r\n \"clientId\": this.props.clientId,\r\n \"resendChecklistRequestModels\": checklistsToResend\r\n };\r\n\r\n this.props.checklistActions\r\n .resendChecklists(requestData)\r\n .then(() => {\r\n this.toggleShowResendChecklistModal();\r\n this.refreshGrid(this.getSelectedChecklists());\r\n this.props.checklistActions.resetRefreshManageChecklistClient(this.props.clientId); // Reseting the Client Id to current client ID on page load to display Motif \"Refresh\" Toast Message\r\n });\r\n }\r\n\r\n toggleShowSignoffChecklistModal() {\r\n this.setState({\r\n showSignoffChecklistModal: !this.state.showSignoffChecklistModal\r\n });\r\n }\r\n\r\n toggleShowReopenForEYReviewChecklistModal() {\r\n this.setState({\r\n showReopenForEYReviewChecklistModal: !this.state.showReopenForEYReviewChecklistModal\r\n });\r\n }\r\n\r\n toggleShowApproveClientReopenRequestModal() {\r\n this.setState({\r\n showApproveClientReopenRequestModal: !this.state.showApproveClientReopenRequestModal\r\n });\r\n }\r\n\r\n toggleShowDenyClientReopenRequestModal() {\r\n this.setState({\r\n showDenyClientReopenRequestModal: !this.state.showDenyClientReopenRequestModal\r\n });\r\n }\r\n\r\n handleSignoffChecklistStateChange(checklistState) {\r\n this.setState({\r\n selectedSignoffChecklistState: checklistState\r\n });\r\n }\r\n\r\n async handleReopenForEYReviewChecklist() {\r\n\r\n let selectedChecklists = [];\r\n if (this.state.gridCurrentState && Array.isArray(this.state.gridCurrentState) && this.state.gridCurrentState.length > 0) {\r\n selectedChecklists = this.state.gridCurrentState.reduce(function (filtered, option) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType: option && option.checklistType ? option.checklistType.toLowerCase() : ''\r\n }\r\n if (filtered.findIndex(x => x.checklistID === checklistItem.checklistID && x.checklistType === checklistItem.checklistType) == -1) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n }, []);\r\n }\r\n\r\n let splitedChecklists = this.spliceSelectedChecklists(\r\n selectedChecklists.slice(),\r\n 50\r\n );\r\n\r\n this.props.dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n await checklistActions\r\n .updateChecklistsState(this.props.clientId, splitedChecklists, 'PENDINGEYREVIEW')\r\n .then(() => {\r\n this.setState({ isRefreshGridRequired: true });\r\n this.toggleShowReopenForEYReviewChecklistModal();\r\n this.refreshGrid(selectedChecklists);\r\n this.props.dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n })\r\n .catch((error) => {\r\n this.toggleShowReopenForEYReviewChecklistModal();\r\n this.refreshGrid(selectedChecklists);\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n this.props.dispatch,\r\n actions.UPDATE_CHECKLISTS_STATE_FAILURE,\r\n error,\r\n );\r\n });\r\n }\r\n\r\n async handleSignoffChecklist() {\r\n\r\n let selectedChecklists = [];\r\n if (this.state.gridCurrentState && Array.isArray(this.state.gridCurrentState) && this.state.gridCurrentState.length > 0) {\r\n selectedChecklists = this.state.gridCurrentState.reduce(function (filtered, option) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType: option && option.checklistType ? option.checklistType.toLowerCase() : ''\r\n }\r\n if (filtered.findIndex(x => x.checklistID === checklistItem.checklistID && x.checklistType === checklistItem.checklistType) == -1) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n }, []);\r\n }\r\n\r\n let splitedChecklists = this.spliceSelectedChecklists(\r\n selectedChecklists.slice(),\r\n 50\r\n );\r\n\r\n this.props.dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n await checklistActions\r\n .updateChecklistsState(this.props.clientId, splitedChecklists, 'COMPLETED')\r\n .then(() => {\r\n this.setState({ isRefreshGridRequired: true });\r\n this.toggleShowSignoffChecklistModal();\r\n this.refreshGrid(selectedChecklists);\r\n this.props.dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n })\r\n .catch((error) => {\r\n this.toggleShowSignoffChecklistModal();\r\n this.refreshGrid(selectedChecklists);\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n this.props.dispatch,\r\n actions.UPDATE_CHECKLISTS_STATE_FAILURE,\r\n error,\r\n );\r\n });\r\n }\r\n\r\n async handleApproveClientReopenRequest() {\r\n\r\n let selectedChecklists = [];\r\n if (this.state.gridCurrentState && Array.isArray(this.state.gridCurrentState) && this.state.gridCurrentState.length > 0) {\r\n selectedChecklists = this.state.gridCurrentState.reduce(function (filtered, option) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType: option && option.checklistType ? option.checklistType.toLowerCase() : '',\r\n requesterEmailAddress: option.requesterEmailAddress\r\n }\r\n if (filtered.findIndex(x => x.checklistID === checklistItem.checklistID && x.checklistType === checklistItem.checklistType) == -1) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n }, []);\r\n }\r\n\r\n let splitedChecklists = this.splitChecklistsPerRequester(\r\n selectedChecklists.slice(),\r\n 50\r\n );\r\n\r\n this.props.dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n await checklistActions\r\n .approveDenyClientRequest(this.props.clientId, splitedChecklists, 'APPROVED')\r\n .then(() => {\r\n this.toggleShowApproveClientReopenRequestModal();\r\n this.refreshGrid(selectedChecklists);\r\n this.props.dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n })\r\n .catch((error) => {\r\n this.toggleShowApproveClientReopenRequestModal();\r\n this.refreshGrid(selectedChecklists);\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n this.props.dispatch,\r\n actions.APPROVE_DENY_CHECKLISTS_REQUEST_FAILURE,\r\n error,\r\n );\r\n });\r\n }\r\n\r\n spliceSelectedChecklists(arr, size) {\r\n let res = [];\r\n while (arr.length > 0) {\r\n const chunk = arr.splice(0, size);\r\n res.push(chunk);\r\n }\r\n return res;\r\n }\r\n\r\n splitChecklistsPerRequester(checklists, batchSize) {\r\n let groups = {}, result = [];\r\n let key = 'requesterEmailAddress';\r\n checklists.forEach(function (checklist) {\r\n if (!(checklist[key] in groups)) {\r\n groups[checklist[key]] = [];\r\n }\r\n groups[checklist[key]].push(checklist);\r\n });\r\n\r\n for (let property in groups) {\r\n let group = groups[property];\r\n if (group.length > batchSize) {\r\n result.push(...this.spliceSelectedChecklists(group, batchSize));\r\n }\r\n else {\r\n result.push(group);\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n getSelectedChecklists() {\r\n let res = [];\r\n if (this.state.gridCurrentState && Array.isArray(this.state.gridCurrentState) && this.state.gridCurrentState.length > 0) {\r\n res = this.state.gridCurrentState.reduce(function (filtered, option) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType: option && option.checklistType ? option.checklistType.toLowerCase() : ''\r\n }\r\n if (filtered.findIndex(x => x.checklistID === checklistItem.checklistID && x.checklistType === checklistItem.checklistType) == -1) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n }, []);\r\n }\r\n return res;\r\n }\r\n\r\n async handleDenyClientReopenRequest() {\r\n let selectedChecklists = [];\r\n if (this.state.gridCurrentState && Array.isArray(this.state.gridCurrentState) && this.state.gridCurrentState.length > 0) {\r\n selectedChecklists = this.state.gridCurrentState.reduce(function (filtered, option) {\r\n if (option.checklistSelection) {\r\n var checklistItem = {\r\n checklistID: option.checklistID,\r\n checklistType: option && option.checklistType ? option.checklistType.toLowerCase() : '',\r\n requesterEmailAddress: option.requesterEmailAddress\r\n }\r\n if (filtered.findIndex(x => x.checklistID === checklistItem.checklistID && x.checklistType === checklistItem.checklistType) == -1) {\r\n filtered.push(checklistItem);\r\n }\r\n }\r\n return filtered;\r\n }, []);\r\n }\r\n\r\n let splitedChecklists = this.splitChecklistsPerRequester(\r\n selectedChecklists.slice(),\r\n 50\r\n );\r\n\r\n this.props.dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n await checklistActions\r\n .approveDenyClientRequest(this.props.clientId, splitedChecklists, 'DENIED')\r\n .then(() => {\r\n this.toggleShowDenyClientReopenRequestModal();\r\n this.refreshGrid(selectedChecklists);\r\n this.props.dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n\r\n })\r\n .catch((error) => {\r\n this.toggleShowDenyClientReopenRequestModal();\r\n this.refreshGrid(selectedChecklists);\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n this.props.dispatch,\r\n actions.APPROVE_DENY_CHECKLISTS_REQUEST_FAILURE,\r\n error,\r\n );\r\n });\r\n }\r\n\r\n handleExportChecklistSummary(values) {\r\n let checklistsToExport = this.state.gridCurrentState.filter(gridData => gridData.checklistSelection)\r\n .map(gridData => {\r\n return {\r\n checklistID: gridData.checklistID,\r\n checklistType: gridData.checklistType\r\n }\r\n });\r\n let checklistData = Object.assign({}, checklistsToExport);\r\n\r\n // Remove duplicate checklists\r\n checklistData = checklistsToExport.filter((value, index, self) =>\r\n self.findIndex((self) => self.checklistID === value.checklistID && self.type === value.type) === index);\r\n\r\n const requestData = {\r\n \"clientId\": this.props.clientId,\r\n \"calendarYear\": this.props.manageChecklistValues.calendarYear,\r\n \"exportChecklistRequestModels\": checklistData\r\n };\r\n\r\n this.props.checklistActions\r\n .exportChecklists(requestData);\r\n }\r\n\r\n /**\r\n * Handler for changing the PSQ /ARQC filter dropdown\r\n * We are saving the filtered calendar in a separate object at the container level,\r\n * so we only execute this slow filter code once per change\r\n * @returns {undefined}\r\n */\r\n handleChangePsqArqc(value) {\r\n // Filter the checklists after change in checklist dropdown option\r\n if (value === 'ALL') {\r\n this.setState({ psqArqc: value, filteredManageChecklists: this.props.manageChecklists });\r\n }\r\n else {\r\n this.setState({\r\n psqArqc: value, filteredManageChecklists: this.props.manageChecklists\r\n .filter(mc => value === mc.checklistType)\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Set AG-Grid column state \r\n * @returns {undefined}\r\n */\r\n setGridColumnState() {\r\n var columnState = localStorage.getItem('REITSuiteManageChecklistColumnState');\r\n if (columnState) {\r\n this.setState({ gridColumnState: JSON.parse(columnState) });\r\n }\r\n else {\r\n this.setState({ gridColumnState: [{ colId: '-1' }] });\r\n }\r\n }\r\n\r\n /**\r\n * Reset AG-Grid column state\r\n * @returns {undefined}\r\n */\r\n resetGridColumnState() {\r\n localStorage.removeItem('REITSuiteManageChecklistColumnState');\r\n this.setState({ gridColumnState: [] });\r\n }\r\n\r\n /**\r\n * Handle Grid column state chagne\r\n * @returns {undefined}\r\n */\r\n handleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n }\r\n\r\n //Set tab related state variables\r\n setTabBar1(currentIndex) {\r\n this.setState({ tabBar1: currentIndex });\r\n }\r\n\r\n //Set current tab index based\r\n handleClick(index) {\r\n this.setTabBar1(index);\r\n }\r\n\r\n handleRefreshManageChecklistClient() {\r\n this.refreshGrid();\r\n }\r\n\r\n dismissRefreshManageChecklistMessage() {\r\n this.props.checklistActions.resetRefreshManageChecklistClient();\r\n }\r\n\r\n toggleShowDownloadChecklistsModal(downloadType) {\r\n if (this.state.downloadChecklists.showModal === false) {\r\n switch (downloadType) {\r\n case 'WITHOUT_ANSWERS': {\r\n const downloadChecklistsState = {\r\n downloadType: downloadType,\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: 'Download Checklist(s) without Answers or Comments',\r\n modalContent:\r\n 'Are you sure you want to download the selected checklist(s) without answers or comments?',\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n break;\r\n }\r\n case 'WITH_ANSWERS_COMMENTS': {\r\n const downloadChecklistsState = {\r\n downloadType: downloadType,\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: 'Download Checklist(s) with Answers and Comments',\r\n modalContent:\r\n 'Are you sure you want to download the selected checklist(s) with answers and comments?',\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n break;\r\n }\r\n case 'WITH_ANSWERS': {\r\n const downloadChecklistsState = {\r\n downloadType: downloadType,\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: 'Download Checklist(s) with Answers Only',\r\n modalContent:\r\n 'Are you sure you want to download the selected checklist(s) with answers?',\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n break;\r\n }\r\n default:\r\n break;\r\n }\r\n } else {\r\n const downloadChecklistsState = {\r\n showModal: !this.state.downloadChecklists.showModal,\r\n modalTitle: '',\r\n modalContent: '',\r\n downloadType: '',\r\n };\r\n this.setState({ downloadChecklists: downloadChecklistsState });\r\n }\r\n }\r\n\r\n // Handle download checklist\r\n handleDownloadChecklists(downloadType) {\r\n // Getting a copy of the selected checklists from the local state\r\n const selectedChecklists = this.state.gridCurrentState.filter(gridData => gridData.checklistSelection)\r\n .map(gridData => {\r\n return {\r\n checklistID: gridData.checklistID,\r\n checklistType: gridData.checklistType,\r\n quarter: gridData.quarter,\r\n reitName: gridData.reitName,\r\n reportPeriodID: gridData.reportPeriodID,\r\n propertyName: gridData.propertyName,\r\n propertyTypeDescription: gridData.propertyTypeDescription\r\n }\r\n });\r\n\r\n //Get unique checklists\r\n let uniqueselectedChecklists = Object.assign({}, selectedChecklists);\r\n uniqueselectedChecklists = selectedChecklists.filter((value, index, self) =>\r\n self.findIndex((self) => self.checklistID === value.checklistID) === index);\r\n\r\n // Creating a object array for all the selected checklists with corresponding request details\r\n const checklistRequestDetails = uniqueselectedChecklists.map((c) => ({\r\n reitNameAndPeriod: `reitName=${c.reitName},periodDesc=${c.quarter} ${this.props.manageChecklistValues.calendarYear}`,\r\n periodId: c.reportPeriodID,\r\n id: c.checklistID,\r\n isExternal: false,\r\n filename: '',\r\n reitName: c.reitName,\r\n propertyName: c.propertyName,\r\n propertyTypeDescription: c.propertyTypeDescription,\r\n quarter: c.quarter,\r\n checklistType: c.checklistType\r\n }));\r\n\r\n // Logic for file name\r\n checklistRequestDetails.forEach((item) => {\r\n // Setting a defualt file name based on the Report period, Year, RIET, Property name and Property type description\r\n let defaultFilename = \"\";\r\n if (item.checklistType === \"PSQ\") {\r\n defaultFilename = `${item.quarter}${this.props.manageChecklistValues.calendarYear}_${item.reitName}_${item.propertyName}_${item.propertyTypeDescription}_PSQ`;\r\n } else {\r\n defaultFilename = `${item.quarter}${this.props.manageChecklistValues.calendarYear}_${item.reitName}_ARQC`;\r\n }\r\n\r\n // Checking if a row object is already created with the standard file name\r\n const existingFiles = checklistRequestDetails\r\n .filter((c) => c.filename.includes(defaultFilename))\r\n .sort();\r\n\r\n if (existingFiles.length > 0) {\r\n //Splilling the file name based on \"_\"\r\n const fileNameSplitArray = existingFiles[\r\n existingFiles.length - 1\r\n ].filename\r\n .split('.')[0]\r\n .split('_');\r\n\r\n if (existingFiles.length > 1) {\r\n /* Case when there are more than one files with the same combination of Report period, Year, RIET, Property name and Property type description\r\n In such cases, incrementing the version at the end */\r\n if (item.checklistType === \"PSQ\") {\r\n const currentVersion = parseInt(fileNameSplitArray[fileNameSplitArray.length - 1]);\r\n fileNameSplitArray[fileNameSplitArray.length - 1] = (currentVersion + 1).toString();\r\n } else {\r\n const currentVersion = parseInt(fileNameSplitArray[fileNameSplitArray.length - 1]);\r\n fileNameSplitArray[fileNameSplitArray.length - 1] = (currentVersion + 1).toString();\r\n }\r\n item.filename = `${fileNameSplitArray.join('_')}.docx`;\r\n } else {\r\n // Case when there is only one file with the existing combination, hence appending the version as 1 at the end\r\n item.filename = `${fileNameSplitArray.join('_')}_1.docx`;\r\n }\r\n } else {\r\n // Case when there is no file name with the combination\r\n item.filename = `${defaultFilename}.docx`;\r\n }\r\n });\r\n\r\n // Preparing the request body\r\n const request = {\r\n client: null,\r\n calendarYear: this.props.manageChecklistValues.calendarYear,\r\n checklistRequestDetails: checklistRequestDetails,\r\n clientId: this.props.clientId\r\n };\r\n\r\n // Calling the action to fetch data from the API\r\n this.props.reportActions\r\n .downloadChecklists(request, 'ALL', downloadType)\r\n .then(() => {\r\n // Refreshing grid and toggling the modal to false\r\n this.refreshGrid(this.getSelectedChecklists());\r\n this.toggleShowDownloadChecklistsModal(downloadType);\r\n })\r\n .catch(() => {\r\n // Toggle the modal to fasle\r\n this.toggleShowDownloadChecklistsModal(downloadType);\r\n });\r\n }\r\n\r\n /**\r\n * Update psq completion requirement status\r\n * @returns {undefined}\r\n */\r\n handlePSQCompletionRequirementChange(e) {\r\n if (e && e.target) {\r\n this.props.clientActions\r\n .updatePSQCompletionRequirementStatus(this.props.clientId, e.target.checked)\r\n .then((response) => {\r\n if (response && response.success) {\r\n this.props.clientActions.loadClient(this.props.clientId);\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n
    \r\n
    \r\n

    \r\n Checklist Management\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.handleClick(1)}>\r\n Schedule Checklist\r\n \r\n \r\n \r\n this.handleClick(2)}>\r\n Manage Checklist\r\n \r\n \r\n \r\n \r\n {(authActions.isSystemAdministrator(this.props.currentUserAuthorizations) ||\r\n authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, this.props.clientId)) &&\r\n \r\n } \r\n
    \r\n \r\n\r\n {(this.props.checklistCalendarYears && this.props.checklistCalendarYears.length === 0)\r\n ?
    No checklists found for this client.
    \r\n : this.state.filteredManageChecklists && this.state.filteredManageChecklists.length === 0 &&\r\n
    No {this.state.psqArqc === \"ALL\" ? \"checklist\" : this.state.psqArqc}s found for this calendar year.
    }\r\n\r\n {(this.props.refreshManageChecklistClientId === this.props.clientId) &&\r\n \r\n Contents on the checklist table below has been changed, please refresh the table.\r\n \r\n }\r\n\r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n let cid = Number.parseInt(ownProps.router.params.clientId);\r\n if (isNaN(cid)) {\r\n cid = 0;\r\n }\r\n\r\n return {\r\n clientId: cid,\r\n clientIsAudit: state.client && state.client.isAudit,\r\n manageChecklists: state.manageChecklists,\r\n checklistCalendarYears: state.checklistCalendarYears,\r\n manageChecklistValues: getFormValues('manageChecklist')(state),\r\n initialValues: {\r\n // Set the calendar year to current year if exist on client otherwise set to newest\r\n calendarYear: state.checklistCalendarYears.includes(new Date().getFullYear()) ?\r\n parseInt(new Date().getFullYear()) : state.checklistCalendarYears[0]\r\n },\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n formSyncErrors: getFormSyncErrors('manageChecklist')(state),\r\n formSubmitErrors: getFormSubmitErrors('manageChecklist')(state),\r\n refreshManageChecklistClientId: state.refreshManageChecklistClient,\r\n client: state.client,\r\n externalUserVisibilityData: state.externalUserVisibilityData,\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n clientActions: bindActionCreators(clientActions, dispatch),\r\n checklistActions: bindActionCreators(checklistActions, dispatch),\r\n reportActions: bindActionCreators(reportActions, dispatch),\r\n externalUserVisibilityActions: bindActionCreators(externalUserVisibilityActions, dispatch),\r\n };\r\n}\r\n\r\nManageChecklistContainer.propTypes = {\r\n\r\n clientId: PropTypes.number,\r\n clientIsAudit: PropTypes.bool,\r\n manageChecklists: PropTypes.array,\r\n checklistCalendarYears: PropTypes.array,\r\n manageChecklistValues: PropTypes.object,\r\n initialValues: PropTypes.object,\r\n clientActions: PropTypes.object,\r\n checklistActions: PropTypes.object,\r\n reportActions: PropTypes.object,\r\n currentUserAuthorizations: PropTypes.array,\r\n initialize: PropTypes.func,\r\n refreshManageChecklistClientId: PropTypes.number,\r\n externalUserVisibilityData: PropTypes.array,\r\n externalUserVisibilityActions: PropTypes.object,\r\n};\r\n\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(\r\n reduxForm({ form: \"manageChecklist\", enableReinitialize: true })(ManageChecklistContainer)\r\n )\r\n);\r\n","import React from 'react';\r\nimport { MotifTextLink, MotifIcon, MotifButton } from '@ey-xd/motif-react';\r\nimport { IconoirOpenNewWindow } from '@ey-xd/motif-icon';\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport default (props) => {\r\n const isStandardTemplate = props.data ? props.data.isStandardTemplate : false;\r\n const templateId =\r\n props.data && props.data.checklistTemplateID\r\n ? props.data.checklistTemplateID\r\n : null;\r\n const isEditMode = props.data ? props.data.isEditMode : false;\r\n\r\n const reitId = 1;\r\n const reportPeriodID = -1;\r\n const targetUrl = `/client/${props.clientId}/customPsqTemplate/template/${templateId}/preview`;\r\n //TODO - This will be implemented after DB migration\r\n return (\r\n
    \r\n {\r\n
    \r\n props.handlePreview(templateId, targetUrl)}>\t\r\n {' '}\r\n \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n};\r\n","import PropTypes from \"prop-types\";\r\nimport React, { useCallback, useMemo, useRef, useState, useEffect } from 'react';\r\nimport { render } from 'react-dom';\r\nimport { Form, Icon, Popup, Dropdown } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport { MotifPagination, MotifPaginationSelect, MotifPaginationSelectItem, MotifButton, MotifToast, MotifTable } from \"@ey-xd/motif-react\";\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport 'ag-grid-enterprise';\r\nimport 'ag-grid-community/styles/ag-grid.css';\r\nimport 'ag-grid-community/styles/ag-theme-alpine.css';\r\nimport TemplateLinkCellRenderer from '../shared/customRenderers/TemplateLinkCellRenderer';\r\nimport TemplateActionCellRenderer from '../shared/customRenderers/TemplateActionCellRenderer';\r\nimport DateComparator from '../shared/customComparators/DateComparator.js';\r\nimport CustomHeaderTemplate from '../shared/customHeaders/CustomHeaderTemplate.js';\r\n\r\nconst CustomChecklistTemplateTable = ({\r\n formSyncErrors,\r\n formSubmitErrors,\r\n psqTemplates,\r\n clientId,\r\n gridColumnState,\r\n handleGridColumnStateChange,\r\n handleGridChanges,\r\n handleEdit,\r\n handleDelete,\r\n handleLock,\r\n handlePreview,\r\n currentUser,\r\n currentUserIsSysAdmin,\r\n currentUserIsEngAdmin,\r\n currentUserIsEngagementUser\r\n}) => {\r\n const gridRef = useRef();\r\n const [hideInfoMessage, setHideInfoMessage] = useState(false);\r\n const containerStyle = useMemo(() => ({ width: '100%', height: '100%' }), []);\r\n const gridStyle = useMemo(() => ({ height: '100%', width: '100%' }), []);\r\n const [rowData, setRowData] = useState([]);\r\n const rowDataRef = useRef({});\r\n rowDataRef.current = rowData;\r\n\r\n // Allow delete action if current user is System admin or Engagement admin \r\n const allowDeleteAction = currentUserIsSysAdmin || currentUserIsEngAdmin;\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: 'templateLink', headerName: '', suppressMenu: true, minWidth: 70,\r\n cellRenderer: TemplateLinkCellRenderer, cellRendererParams: { clientId: clientId, handlePreview },\r\n headerComponentParams: { template: CustomHeaderTemplate('templateLink') }\r\n },\r\n {\r\n field: 'checklistTemplateName', headerName: 'Template Name', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 533,maxWidth: 533,\r\n valueGetter: params => {\r\n return params.data && params.data.checklistTemplateName;\r\n },\r\n filterValueGetter: params => { return params.data && params.data.checklistTemplateName; },\r\n headerComponentParams: { template: CustomHeaderTemplate('template') }, \r\n },\r\n {\r\n field: 'questionnaireCount', headerName: 'Questionnaire Count', sortable: true, showRowGroup: false, rowGroup: false, minWidth: 218,\r\n valueGetter: params => {\r\n return params.data && params.data.questionnaireCount;\r\n },\r\n filterValueGetter: params => { return params.data && params.data.questionnaireCount; },\r\n headerComponentParams: { template: CustomHeaderTemplate('questionnaire') },\r\n cellStyle: { 'height': '100%', 'display': 'flex ', 'justifyContent': 'center', 'alignItems': 'center' }\r\n },\r\n {\r\n field: 'lastUpdatedBy', headerName: 'Last Updated By', sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 198,\r\n valueGetter: params => { return params.data && params.data.lastUpdatedBy; },\r\n filterValueGetter: params => { return params.data && params.data.lastUpdatedBy; },\r\n headerComponentParams: { template: CustomHeaderTemplate('lastUpdatedBy') }\r\n },\r\n {\r\n field: 'lastUpdatedDate', headerName: 'Last Updated Date', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: allowDeleteAction === true ? 198: 243,\r\n valueGetter: params => {\r\n const dateValue = params.data && params.data ? params.data.lastUpdatedDate : null;\r\n return dateValue ? (new Date(dateValue)).toLocaleDateString() : '';\r\n },\r\n filterValueGetter: params => { return params.data && (new Date(params.data.lastUpdatedDate)).toLocaleDateString(); },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('lastUpdatedDate') }\r\n },\r\n {\r\n field: 'templateAction', headerName: '', suppressMenu: true, showRowGroup: false, rowGroup: false,\r\n minWidth: allowDeleteAction === true ? 200 : 130, \r\n cellRenderer: TemplateActionCellRenderer, cellRendererParams: { allowDeleteAction, handleEdit, handleDelete, handleLock, currentUser, currentUserIsSysAdmin, currentUserIsEngAdmin, currentUserIsEngagementUser },\r\n headerComponentParams: { template: CustomHeaderTemplate('TemplateAction') }\r\n } \r\n ];\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Grid Global Listner\r\n const gridGlobalListner = function (type, event) {\r\n if (type.indexOf(\"columnVisible\") >= 0) {\r\n handleGridColumnsChanged(event);\r\n }\r\n\r\n // Bind handleFilterChanged event to filterChanged and rowDataUpdated events\r\n if (type.indexOf(\"filterChanged\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n }\r\n\r\n if (type.indexOf(\"rowDataUpdated\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n } \r\n }\r\n\r\n //Handle Grid Ready event\r\n const handleGridReady = (event) => {\r\n //Remove event for column state change\r\n event.api.removeEventListener(gridGlobalListner);\r\n\r\n //Add event for column state change\r\n event.api.addGlobalListener(gridGlobalListner);\r\n\r\n //Apply column state\r\n var columnState = localStorage.getItem('REITSuiteTemplateColumnState');\r\n if (columnState) {\r\n gridRef.current.columnApi.applyColumnState({\r\n state: JSON.parse(columnState),\r\n applyOrder: true,\r\n });\r\n }\r\n \r\n // Set the page size and total pages on the first load \r\n handleItemsPerPageChange(100); // Setting it 100 to make sure the default number of items on load is always set to 100\r\n }\r\n\r\n // Handle OnFilterChanged event\r\n const handleFilterChanged = (event) => {\r\n let filteredRowData = [];\r\n if (gridRef && gridRef.current && gridRef.current.api) { \r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n if (currentPage > calcTotalPages) { \r\n if (calcTotalPages == 0) { \r\n setTimeout(function () { setCurrentPage(calcTotalPages); }, 0)\r\n }\r\n else {\r\n setCurrentPage(calcTotalPages);\r\n } \r\n }\r\n const gridCurrentPage = gridRef.current.api.paginationGetCurrentPage()+1; // Adding 1 since it returns zero based index\r\n if (currentPage < (gridCurrentPage) && calcTotalPages != 0) { \r\n setCurrentPage(gridCurrentPage); \r\n } \r\n \r\n // Show the expected value as 1 for current page \r\n if (currentPage <= 1 && gridCurrentPage == 1 && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n } \r\n }\r\n } \r\n\r\n //Handle First Data Renderered event\r\n const handleFirstDataRendered = (event) => {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n } \r\n\r\n //Handle Grid Columns changed event\r\n const handleGridColumnsChanged = (event) => {\r\n var currentColumnState = gridRef.current.columnApi.getColumnState();\r\n var localStorageColumnState = localStorage.getItem('REITSuiteTemplateColumnState');\r\n\r\n // If the column state details are not exists in local storage then save the changed Column state data\r\n if (currentColumnState && currentColumnState.filter(col => col.hide == true)?.length > 0 && !localStorageColumnState) {\r\n saveUserPreferenceDetails();\r\n }\r\n else if (localStorageColumnState) {\r\n // If the column state details are exists in local storage then save the changed Column state data only if difference is found\r\n var columnsStateArray = JSON.parse(localStorageColumnState);\r\n if (columnsStateArray && columnsStateArray.length > 0\r\n && currentColumnState && currentColumnState.length > 0\r\n && columnsStateArray.filter(col => col.hide == true)?.length != currentColumnState.filter(col => col.hide == true)?.length) {\r\n //If column state mismatch found then only save column state data to avoid saving same state\r\n saveUserPreferenceDetails();\r\n }\r\n }\r\n\r\n //Trigger Grid Column state change (of parent) to sync column state data\r\n handleGridColumnStateChange(currentColumnState);\r\n\r\n gridRef && gridRef.current && gridRef.current.columnApi && gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Save User Preference details (Column state)\r\n const saveUserPreferenceDetails = useCallback(() => {\r\n var columnState = gridRef.current.columnApi.getColumnState();\r\n if (columnState) {\r\n localStorage.setItem('REITSuiteTemplateColumnState', JSON.stringify(columnState));\r\n }\r\n }, []);\r\n\r\n //Handle Grid Items per Page change event\r\n const handleItemsPerPageChange = (val) => {\r\n gridRef.current.api.paginationGoToFirstPage();\r\n gridRef.current.api.paginationSetPageSize(Number(val)); \r\n setCurrentPage(1);\r\n setItemsPerPage(val);\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val-1);\r\n };\r\n\r\n useEffect(() => {\r\n handleGridChanges(rowData, gridRef && gridRef.current ? gridRef.current.api : null); \r\n }, [rowData]);\r\n \r\n useEffect(() => {\r\n setRowData(psqTemplates);\r\n\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.refreshHeader(); \r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages); \r\n }\r\n }, [psqTemplates]); \r\n\r\n useEffect(() => {\r\n //Reset Grid to default column state\r\n //When Grid Column state changes due to Reset Column State action then Reset Grid to default column state\r\n var localStorageColumnState = localStorage.getItem('REITSuiteTemplateColumnState');\r\n if (!localStorageColumnState && gridRef && gridRef.current && gridRef.current.api) {\r\n\r\n gridRef.current.api.setColumnDefs([]);\r\n gridRef.current.api.setColumnDefs(getColumnDefs());\r\n }\r\n }, [gridColumnState]);\r\n\r\n const rowHeight = 76; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return
    \r\n
    \r\n { psqTemplates && psqTemplates.length > 0 &&\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {!hideInfoMessage && \r\n \r\n 1. Unlock icon on the template indicates that the template is available to lock/edit/delete.
    \r\n 2. Lock icon on the template indicates that the template is locked by a user and is unavailable for edit/delete.\r\n
    \r\n }\r\n
    \r\n \r\n \r\n \r\n handleItemsPerPageChange(50)}>\r\n Show 50\r\n \r\n handleItemsPerPageChange(100)}>\r\n Show 100\r\n \r\n handleItemsPerPageChange(150)}>\r\n Show 150\r\n \r\n handleItemsPerPageChange(200)}>\r\n Show 200\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n
    ;\r\n};\r\n\r\nCustomChecklistTemplateTable.propTypes = {\r\n handlePreview: PropTypes.func\r\n};\r\n\r\nexport default reduxForm({ form: \"customChecklistTemplate\" })(CustomChecklistTemplateTable);","import React, { useEffect } from \"react\";\r\nimport {Link} from 'react-router-dom';\r\nimport { Form, Icon } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport { MotifButton } from \"@ey-xd/motif-react\";\r\n\r\nconst CustomChecklistTemplateHeader = ({\r\n clientId,\r\n currentRoute,\r\n currentUserIsSysAdmin,\r\n currentUserIsEngAdmin,\r\n currentUserIsEngagementUser\r\n}) => { \r\n return (\r\n
    \r\n
    \r\n {(currentUserIsSysAdmin || currentUserIsEngAdmin || currentUserIsEngagementUser) &&
    \r\n \r\n \r\n Create New Template\r\n \r\n \r\n
    }\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nCustomChecklistTemplateHeader.propTypes = {\r\n};\r\n\r\nexport default reduxForm({ form: \"customChecklistTemplateForm\" })(CustomChecklistTemplateHeader);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { MotifButton, MotifIcon, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter } from '@ey-xd/motif-react';\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\n\r\nconst DeleteCustomPSQTemplateModal = ({\r\n showDeleteCustomPSQTemplateModal,\r\n handleDeleteCustomPSQTemplate,\r\n toggleShowDeleteCustomPSQTemplateModal,\r\n checklistTemplate\r\n \r\n}) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close delete custom PSQ template modal',\r\n ariaLabel: 'Close delete custom PSQ template modal',\r\n dataTestid: 'close'\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Delete Custom PSQ Template\r\n \r\n \r\n \r\n
    \r\n \r\n Are you sure you want to delete this template?\r\n \r\n \r\n Name -{' '}\r\n {checklistTemplate ? checklistTemplate.checklistTemplateName : ''}\r\n \r\n

    \r\n NOTE: Deleting this template will update all properties currently\r\n assigned to use this template to their default standard\r\n questionnaire. This update will impact all current and future\r\n auto-delivery calendars.\r\n

    \r\n
    \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n handleDeleteCustomPSQTemplate(\r\n checklistTemplate ? checklistTemplate.checklistTemplateId : -1\r\n )\r\n }\r\n >\r\n Delete\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nDeleteCustomPSQTemplateModal.propTypes = {\r\n showDeleteCustomPSQTemplateModal: PropTypes.bool,\r\n handleDeleteCustomPSQTemplate: PropTypes.func,\r\n toggleShowDeleteCustomPSQTemplateModal: PropTypes.func\r\n};\r\n\r\nexport default DeleteCustomPSQTemplateModal;","import PropTypes from \"prop-types\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Header, Label, Button, Input, Dropdown } from \"semantic-ui-react\";\r\n\r\nimport { Field, reduxForm, getFormValues } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n MotifButton, MotifFormField, MotifInput, MotifLabel, MotifSelect, MotifOption, MotifModal, MotifIcon,\r\n MotifModalBody, MotifModalFooter, MotifModalHeader} from \"@ey-xd/motif-react\";\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\nconst CustomPSQTemplateValidationMessageModal = ({ showCustomPSQTemplateValidationMessageModal,\r\n handleSubmit, handleValidationMessage, toggleShowCustomPSQTemplateValidationMessageModal, editModeValidationMessage }) => {\r\n \r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Validation message modal',\r\n ariaLabel: 'Close Validation message modal',\r\n dataTestid: 'close'\r\n };\r\n\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n return (\r\n toggleShowCustomPSQTemplateValidationMessageModal()} size=\"xl\" data-testid=\"customPSQTemplateValidationMessage\">\r\n \r\n \r\n Edit Template\r\n \r\n \r\n\r\n \r\n
    \r\n \r\n {editModeValidationMessage}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n toggleShowCustomPSQTemplateValidationMessageModal()} className=\"right\" data-testid=\"Submit\" >\r\n OK\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nCustomPSQTemplateValidationMessageModal.propTypes = {\r\n showCustomPSQTemplateValidationMessageModal: PropTypes.bool,\r\n handleSubmit: PropTypes.func,\r\n toggleShowCustomPSQTemplateValidationMessageModal: PropTypes.func,\r\n initialValues: PropTypes.object\r\n};\r\n\r\nexport default reduxForm({ form: \"customPSQTemplateValidationMessage\", enableReinitialize: true })(CustomPSQTemplateValidationMessageModal);","import PropTypes from \"prop-types\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Header, Label, Button, Input, Dropdown } from \"semantic-ui-react\";\r\n\r\nimport { Field, reduxForm, getFormValues } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n MotifButton, MotifFormField, MotifInput, MotifLabel, MotifSelect, MotifOption, MotifModal, MotifIcon,\r\n MotifModalBody, MotifModalFooter, MotifModalHeader} from \"@ey-xd/motif-react\";\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\nconst CustomPSQTemplateLockUnlockMessageModal = ({ showCustomPSQTemplateLockUnlockMessageModal,\r\n handleSubmit, toggleShowCustomPSQTemplateLockUnlockMessageModal, lockUnlockValidationMessage }) => {\r\n \r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Validation message modal',\r\n ariaLabel: 'Close Validation message modal',\r\n dataTestid: 'close'\r\n };\r\n\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n return (\r\n toggleShowCustomPSQTemplateLockUnlockMessageModal()} size=\"xl\" data-testid=\"customPSQTemplateLockUnlockValidationMessage\">\r\n \r\n \r\n Edit/Lock Template\r\n \r\n \r\n\r\n \r\n
    \r\n \r\n {lockUnlockValidationMessage}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n toggleShowCustomPSQTemplateLockUnlockMessageModal()} className=\"right\" data-testid=\"Submit\" >\r\n OK\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nCustomPSQTemplateLockUnlockMessageModal.propTypes = {\r\n showCustomPSQTemplateValidationMessageModal: PropTypes.bool,\r\n handleSubmit: PropTypes.func,\r\n toggleShowCustomPSQTemplateValidationMessageModal: PropTypes.func,\r\n initialValues: PropTypes.object\r\n};\r\n\r\nexport default reduxForm({ form: \"customPSQTemplateLockUnlockMessage\", enableReinitialize: true })(CustomPSQTemplateLockUnlockMessageModal);","import PropTypes from \"prop-types\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Header, Label, Button, Input, Dropdown } from \"semantic-ui-react\";\r\n\r\nimport { Field, reduxForm, getFormValues } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n MotifButton, MotifFormField, MotifInput, MotifLabel, MotifSelect, MotifOption, MotifModal, MotifIcon,\r\n MotifModalBody, MotifModalFooter, MotifModalHeader} from \"@ey-xd/motif-react\";\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\nconst SystemAdminUnlockTemplateModal = ({ showSystemAdminUnlockTemplateModal,\r\n handleSubmit, handleSystemAdminUnlockTemplate, toggleShowSystemAdminUnlockTemplateModal, systemAdminUnlockTemplateMessage, checklistTemplate }) => {\r\n\r\n const checklistTemplateId = checklistTemplate ? checklistTemplate.checklistTemplateId : 0;\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Validation message modal',\r\n ariaLabel: 'Close Validation message modal',\r\n dataTestid: 'close'\r\n };\r\n\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n return (\r\n toggleShowSystemAdminUnlockTemplateModal()} size=\"xl\" data-testid=\"customPSQTemplateValidationMessage\">\r\n \r\n \r\n Unlock Template\r\n \r\n \r\n\r\n \r\n
    \r\n \r\n {systemAdminUnlockTemplateMessage}\r\n \r\n
    \r\n \r\n Are you sure you want to unlock the template?\r\n \r\n
    \r\n Name - {checklistTemplate ? checklistTemplate.checklistTemplateName : ''}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n toggleShowSystemAdminUnlockTemplateModal()} className=\"right\" data-testid=\"btnCancel\">\r\n Cancel\r\n \r\n handleSystemAdminUnlockTemplate(checklistTemplateId)} className=\"right\" data-testid=\"btnUnlock\" >\r\n Unlock\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nSystemAdminUnlockTemplateModal.propTypes = {\r\n showSystemAdminUnlockTemplateModal: PropTypes.bool,\r\n handleSubmit: PropTypes.func,\r\n toggleShowSystemAdminUnlockTemplateModal: PropTypes.func,\r\n initialValues: PropTypes.object\r\n};\r\n\r\nexport default reduxForm({ form: \"systemAdminUnlockTemplate\", enableReinitialize: true })(SystemAdminUnlockTemplateModal);","import PropTypes from 'prop-types';\r\nimport React, { useEffect } from 'react';\r\nimport { reduxForm } from 'redux-form';\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifModalHeader,\r\n} from '@ey-xd/motif-react';\r\nimport { addAttribute } from '../../common/Attribute';\r\n\r\nconst CustomPSQTemplateDeleteTemplateValidationMessageModal = ({\r\n showCustomPSQTemplateDeleteTemplateValidationMessageModal,\r\n handleSubmit,\r\n toggleCustomPSQTemplateDeleteTemplateValidationMessageModal,\r\n validationMessage,\r\n}) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Validation message modal',\r\n ariaLabel: 'Close Validation message modal',\r\n dataTestid: 'close',\r\n };\r\n\r\n useEffect(() => {\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", 'type', 'button');\r\n });\r\n\r\n return (\r\n \r\n toggleCustomPSQTemplateDeleteTemplateValidationMessageModal()\r\n }\r\n size=\"xl\"\r\n data-testid=\"customPSQTemplateDeleteTemplateValidationMessageModal\"\r\n >\r\n \r\n \r\n Delete Template\r\n \r\n \r\n\r\n \r\n
    \r\n {validationMessage}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n toggleCustomPSQTemplateDeleteTemplateValidationMessageModal()\r\n }\r\n className=\"right\"\r\n data-testid=\"Submit\"\r\n >\r\n OK\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nCustomPSQTemplateDeleteTemplateValidationMessageModal.propTypes = {\r\n showCustomPSQTemplateDeleteTemplateValidationMessageModal: PropTypes.bool,\r\n handleSubmit: PropTypes.func,\r\n toggleCustomPSQTemplateDeleteTemplateValidationMessageModal: PropTypes.func,\r\n validationMessage: PropTypes.object,\r\n};\r\n\r\nexport default reduxForm({\r\n form: 'customPSQTemplateDeleteTemplateValidationMessage',\r\n enableReinitialize: true,\r\n})(CustomPSQTemplateDeleteTemplateValidationMessageModal);\r\n","import PropTypes from 'prop-types';\r\nimport React, { useEffect } from 'react';\r\nimport { reduxForm } from 'redux-form';\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifModalHeader,\r\n} from '@ey-xd/motif-react';\r\nimport { addAttribute } from '../../common/Attribute';\r\n\r\nconst CustomPSQTemplatePreviewTemplateValidationMessageModal = ({\r\n showCustomPSQTemplatePreviewTemplateValidationMessageModal,\r\n handleSubmit,\r\n toggleCustomPSQTemplatePreviewTemplateValidationMessageModal,\r\n validationMessage,\r\n}) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Validation message modal',\r\n ariaLabel: 'Close Validation message modal',\r\n dataTestid: 'close',\r\n };\r\n\r\n useEffect(() => {\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", 'type', 'button');\r\n });\r\n\r\n return (\r\n \r\n toggleCustomPSQTemplatePreviewTemplateValidationMessageModal()\r\n }\r\n size=\"xl\"\r\n data-testid=\"customPSQTemplatePreviewTemplateValidationMessageModal\"\r\n >\r\n \r\n \r\n Preview Template\r\n \r\n \r\n\r\n \r\n
    \r\n {validationMessage}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n toggleCustomPSQTemplatePreviewTemplateValidationMessageModal()\r\n }\r\n className=\"right\"\r\n data-testid=\"Submit\"\r\n >\r\n OK\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nCustomPSQTemplatePreviewTemplateValidationMessageModal.propTypes = {\r\n showCustomPSQTemplatePreviewTemplateValidationMessageModal: PropTypes.bool,\r\n handleSubmit: PropTypes.func,\r\n toggleCustomPSQTemplatePreviewTemplateValidationMessageModal: PropTypes.func,\r\n validationMessage: PropTypes.object,\r\n};\r\n\r\nexport default reduxForm({\r\n form: 'customPSQTemplatePreviewTemplateValidationMessageModal',\r\n enableReinitialize: true,\r\n})(CustomPSQTemplatePreviewTemplateValidationMessageModal);\r\n","import axios from 'axios';\r\n\r\n/**\r\n * Check whether the user who has edited the template is active \r\n * @param {clientId} number e.g. 21\r\n * @param {checklistTemplateId} number e.g. 101\r\n */\r\nexport const isUserActiveOfEditedTemplate = function (clientId, checklistTemplateId) {\r\n\r\n return axios\r\n .post(\r\n `${process.env.ROOT_REITSUITE_AZURE_FUNCTION_API_URL}/isUserActiveOfEditedTemplate`,\r\n {\r\n clientId: clientId,\r\n checklistTemplateId: checklistTemplateId,\r\n },\r\n {\r\n headers: {},\r\n },\r\n )\r\n .then((response) => {\r\n return response ? response.data : null;\r\n });\r\n}","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { getFormValues, getFormSyncErrors, getFormSubmitErrors, SubmissionError, reduxForm } from \"redux-form\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as clientActions from \"../../actions/clientActions\";\r\nimport * as checklistActions from \"../../actions/checklistActions\";\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport * as customQuestionActions from \"../../actions/customQuestionActions\";\r\nimport * as customChecklistTemplateActions from '../../actions/customChecklistTemplateActions';\r\nimport CustomChecklistTemplateTable from \"../../components/customChecklistTemplate/CustomChecklistTemplateTable\";\r\nimport CustomChecklistTemplateHeader from \"../../components/customChecklistTemplate/CustomChecklistTemplateHeader\";\r\nimport DeleteCustomPSQTemplateModal from \"../../components/customChecklistTemplate/DeleteCustomPSQTemplateModal\";\r\nimport CustomPSQTemplateValidationMessageModal from \"../../components/customChecklistTemplate/CustomPSQTemplateValidationMessageModal\";\r\nimport CustomPSQTemplateLockUnlockMessageModal from \"../../components/customChecklistTemplate/CustomPSQTemplateLockUnlockMessageModal\";\r\nimport SystemAdminUnlockTemplateModal from \"../../components/customChecklistTemplate/SystemAdminUnlockTemplateModal\";\r\nimport CustomPSQTemplateDeleteTemplateValidationMessageModal from \"../../components/customChecklistTemplate/CustomPSQTemplateDeleteTemplateValidationMessageModal\";\r\nimport CustomPSQTemplatePreviewTemplateValidationMessageModal from \"../../components/customChecklistTemplate/CustomPSQTemplatePreviewTemplateValidationMessageModal\";\r\nimport { isUserActiveOfEditedTemplate } from \"../../common/SignalRFunction\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * CustomChecklistTemplateContainer container component\r\n * @extends {React.Component}\r\n */\r\nclass CustomChecklistTemplateContainer extends React.Component {\r\n /**\r\n * Creates a new ChartOfAccountsPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.setGridColumnState = this.setGridColumnState.bind(this);\r\n this.resetGridColumnState = this.resetGridColumnState.bind(this);\r\n this.handleRedirectFromEditTemplate = this.handleRedirectFromEditTemplate.bind(this);\r\n this.handleGridColumnStateChange =\r\n this.handleGridColumnStateChange.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.toggleShowDeleteCustomPSQTemplateModal =\r\n this.toggleShowDeleteCustomPSQTemplateModal.bind(this);\r\n this.toggleShowCustomPSQTemplateValidationMessageModal =\r\n this.toggleShowCustomPSQTemplateValidationMessageModal.bind(this);\r\n this.handleDeleteCustomPSQTemplate =\r\n this.handleDeleteCustomPSQTemplate.bind(this);\r\n this.handleValidationMessage = this.handleValidationMessage.bind(this);\r\n this.toggleShowCustomPSQTemplateLockUnlockMessageModal =\r\n this.toggleShowCustomPSQTemplateLockUnlockMessageModal.bind(this);\r\n this.toggleShowSystemAdminUnlockTemplateModal =\r\n this.toggleShowSystemAdminUnlockTemplateModal.bind(this);\r\n this.handleSystemAdminUnlockTemplate =\r\n this.handleSystemAdminUnlockTemplate.bind(this);\r\n this.lockUnlockTemplate = this.lockUnlockTemplate.bind(this);\r\n this.handleEdit = this.handleEdit.bind(this);\r\n this.handleDelete = this.handleDelete.bind(this);\r\n this.handleLock = this.handleLock.bind(this);\r\n this.refreshGrid = this.refreshGrid.bind(this);\r\n this.toggleCustomPSQTemplateDeleteTemplateValidationMessageModal =\r\n this.toggleCustomPSQTemplateDeleteTemplateValidationMessageModal.bind(\r\n this\r\n );\r\n this.handlePreview = this.handlePreview.bind(this);\r\n this.toggleCustomPSQTemplatePreviewTemplateValidationMessageModal = this.toggleCustomPSQTemplatePreviewTemplateValidationMessageModal.bind(this);\r\n this.executeIsUserActiveOfEditedTemplate = this.executeIsUserActiveOfEditedTemplate.bind(this);\r\n this.state = {\r\n saved: false,\r\n psqTemplates: [],\r\n gridColumnState: [],\r\n gridCurrentState: [],\r\n gridFilteredRowCurrentState: [],\r\n showDeleteCustomPSQTemplateModal: false,\r\n showCustomPSQTemplateValidationMessageModal: false,\r\n editModeValidationMessage: '',\r\n showCustomPSQTemplateLockUnlockMessageModal: false,\r\n lockUnlockValidationMessage: '',\r\n systemAdminUnlockTemplateMessage: '',\r\n showSystemAdminUnlockTemplateModal: false,\r\n selectedChecklistTemplate: {\r\n checklistTemplateId: -1,\r\n checklistTemplateName: '',\r\n },\r\n currentUserIsSysAdmin: this.props.currentUserIsSysAdmin,\r\n currentUserIsEngAdmin: this.props.currentUserIsEngAdmin,\r\n showCustomPSQTemplateDeleteTemplateValidationMessageModal: false,\r\n deleteCustomPSQTemplateValidationMessage: '',\r\n showCustomPSQTemplatePreviewTemplateValidationMessageModal: false,\r\n previewCustomPSQTemplateValidationMessage: '',\r\n };\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.props.customChecklistTemplateActions.fetchPSQTemplates(\r\n this.props.clientId\r\n );\r\n this.setGridColumnState();\r\n this.handleRedirectFromEditTemplate();\r\n }\r\n\r\n /**\r\n * Invoked immediately before unmounting occurs\r\n * @returns {undefined}\r\n */\r\n componentWillUnmount() {\r\n // On unmount, clear the calendar data from state to conserve memory\r\n // Calling this action with no argument will clear from redux-state\r\n this.props.customChecklistTemplateActions.fetchPSQTemplates();\r\n this.setState({ psqTemplates: [] });\r\n }\r\n\r\n // Handle Redirect from edit template UI, \r\n // Show validation message when user entered edit template url in browser, and that templated is already edited by other user, and other user is active\r\n handleRedirectFromEditTemplate() {\r\n if (this.props && this.props.location && this.props.location.query && this.props.location.query.beingEditedBy && this.props.location.query.showValidationMessage) {\r\n let showValidationMsg = this.props.location.query.showValidationMessage;\r\n let beingEditedBy = this.props.location.query.beingEditedBy;\r\n if (showValidationMsg) {\r\n this.setState({\r\n lockUnlockValidationMessage: 'The given checklist template is currently being edited by ' + beingEditedBy + '. The request to edit this template is denied.',\r\n });\r\n\r\n this.toggleShowCustomPSQTemplateLockUnlockMessageModal();\r\n }\r\n }\r\n }\r\n\r\n // Check whether the user is active or not\r\n executeIsUserActiveOfEditedTemplate(clientId, checklistTemplateId) {\r\n return isUserActiveOfEditedTemplate(clientId, checklistTemplateId).then((response) => {\r\n return response;\r\n });\r\n }\r\n\r\n /**\r\n * Set AG-Grid column state\r\n * @returns {undefined}\r\n */\r\n setGridColumnState() {\r\n var columnState = localStorage.getItem('REITSuiteTemplateColumnState');\r\n if (columnState) {\r\n this.setState({ gridColumnState: JSON.parse(columnState) });\r\n } else {\r\n this.setState({ gridColumnState: [{ colId: '-1' }] });\r\n }\r\n }\r\n\r\n /**\r\n * Reset AG-Grid column state\r\n * @returns {undefined}\r\n */\r\n resetGridColumnState() {\r\n localStorage.removeItem('REITSuiteTemplateColumnState');\r\n this.setState({ gridColumnState: [] });\r\n }\r\n\r\n /**\r\n * Handle Grid column state chagne\r\n * @returns {undefined}\r\n */\r\n handleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n }\r\n\r\n handleGridChanges(gridRowData) {\r\n let rowData = [];\r\n rowData =\r\n gridRowData &&\r\n gridRowData.length &&\r\n gridRowData.map((x) => {\r\n return {\r\n questionnaireTemplateID: x.questionnaireTemplateID,\r\n questionnaireTemplateName: x.questionnaireTemplateName,\r\n questionnaireCount: x.questionnaireCount,\r\n lastUpdatedDate: x.lastUpdatedDate,\r\n lastUpdatedBy: x.lastUpdatedBy,\r\n isStandardTemplate: x.isStandardTemplate,\r\n };\r\n });\r\n\r\n this.setState({ gridCurrentState: rowData });\r\n }\r\n\r\n toggleShowCustomPSQTemplateValidationMessageModal() {\r\n this.setState({\r\n showCustomPSQTemplateValidationMessageModal:\r\n !this.state.showCustomPSQTemplateValidationMessageModal,\r\n });\r\n }\r\n\r\n toggleShowCustomPSQTemplateLockUnlockMessageModal() {\r\n this.setState({\r\n showCustomPSQTemplateLockUnlockMessageModal:\r\n !this.state.showCustomPSQTemplateLockUnlockMessageModal,\r\n });\r\n }\r\n\r\n toggleShowSystemAdminUnlockTemplateModal() {\r\n this.setState({\r\n showSystemAdminUnlockTemplateModal:\r\n !this.state.showSystemAdminUnlockTemplateModal,\r\n });\r\n }\r\n\r\n toggleShowDeleteCustomPSQTemplateModal() {\r\n this.setState({\r\n showDeleteCustomPSQTemplateModal:\r\n !this.state.showDeleteCustomPSQTemplateModal,\r\n });\r\n }\r\n\r\n /**\r\n * Handles Edit button click of Grid Row\r\n */\r\n handleEdit(checklistTemplateId, checklistTemplateName) {\r\n this.setState({\r\n selectedChecklistTemplate: {\r\n checklistTemplateId: checklistTemplateId,\r\n checklistTemplateName: checklistTemplateName,\r\n },\r\n });\r\n\r\n // Check whether the user who edited the template is active\r\n let isUserActive = false;\r\n let currentUser = this.props.authentication.currentUser\r\n ? this.props.authentication.currentUser.toLowerCase()\r\n : '';\r\n\r\n if (currentUser) {\r\n // Call SignalR function to check the user is active or not \r\n this.executeIsUserActiveOfEditedTemplate(this.props.clientId, checklistTemplateId).then((response) => {\r\n\r\n if (response) {\r\n isUserActive = response.isUserActive;\r\n let isDeleted = response.isDeleted;\r\n let beingEditedBy = response.beingEditedBy ? response.beingEditedBy : '';\r\n let isTemplateEditedByOtherUser = currentUser != beingEditedBy.toLowerCase();\r\n // If checklist template is edited by someone other user than current user and other user is still active then show validation error message\r\n if (isTemplateEditedByOtherUser && isUserActive && !isDeleted) {\r\n this.setState({\r\n lockUnlockValidationMessage: 'The given checklist template is currently being edited by ' + beingEditedBy + '. The request to edit this template is denied.',\r\n });\r\n\r\n this.toggleShowCustomPSQTemplateLockUnlockMessageModal();\r\n this.refreshGrid();\r\n }\r\n else {\r\n const request = {\r\n clientId: this.props.clientId,\r\n templateId: checklistTemplateId,\r\n };\r\n\r\n this.props.customChecklistTemplateActions\r\n .updateChecklistTemplateToEnableEditMode(request)\r\n .then((response) => {\r\n // Handle Enable edit mode api execution response\r\n // Show validation message for failed response\r\n if (\r\n response &&\r\n !response.success &&\r\n response.errorMessage &&\r\n response.errorMessage.length > 0\r\n ) {\r\n this.setState({\r\n lockUnlockValidationMessage: response.errorMessage,\r\n });\r\n\r\n this.toggleShowCustomPSQTemplateLockUnlockMessageModal();\r\n this.refreshGrid();\r\n }\r\n // Success response\r\n else if (response && response.success) {\r\n this.setState({\r\n lockUnlockValidationMessage: ''\r\n });\r\n this.props.router.navigate(\r\n `/client/${this.props.clientId}/customPsqTemplate/template/${checklistTemplateId}`\r\n ); \r\n }\r\n });\r\n }\r\n \r\n }\r\n else {\r\n //Error response from SignalR\r\n //TODO\r\n }\r\n });\r\n } \r\n }\r\n\r\n /**\r\n * Handles Unlock template by System Admin\r\n */\r\n handleSystemAdminUnlockTemplate(checklistTemplateId) {\r\n const request = {\r\n clientId: this.props.clientId,\r\n templateId: checklistTemplateId,\r\n lockTemplate: false,\r\n };\r\n\r\n // Unlock Template\r\n this.props.customChecklistTemplateActions\r\n .updateChecklistTemplateToLockOrUnlock(request)\r\n .then((response) => {\r\n // Handle UnLock api execution response\r\n // Show validation message for failed response\r\n if (\r\n response &&\r\n !response.success &&\r\n response.errorMessage &&\r\n response.errorMessage.length > 0\r\n ) {\r\n this.setState({\r\n systemAdminUnlockTemplateMessage: '',\r\n });\r\n // Close current modal popup\r\n this.toggleShowSystemAdminUnlockTemplateModal();\r\n\r\n this.setState({\r\n lockUnlockValidationMessage: response.errorMessage,\r\n });\r\n\r\n this.toggleShowCustomPSQTemplateLockUnlockMessageModal();\r\n } else {\r\n this.setState({\r\n lockUnlockValidationMessage: '',\r\n systemAdminUnlockTemplateMessage: '',\r\n });\r\n\r\n // Close current modal popup\r\n this.toggleShowSystemAdminUnlockTemplateModal();\r\n }\r\n this.refreshGrid();\r\n });\r\n }\r\n\r\n /**\r\n * Handles Lock/Unlock button click of Grid Row\r\n */\r\n handleLock(\r\n checklistTemplateId,\r\n checklistTemplateName,\r\n lockChecklistTemplate\r\n ) {\r\n this.setState({\r\n selectedChecklistTemplate: {\r\n checklistTemplateId: checklistTemplateId,\r\n checklistTemplateName: checklistTemplateName,\r\n },\r\n });\r\n\r\n // Check whether the user who has edited the template is active\r\n let isUserActive = false;\r\n let currentUser = this.props.authentication.currentUser\r\n ? this.props.authentication.currentUser.toLowerCase()\r\n : '';\r\n\r\n if (currentUser) {\r\n // Call SignalR function to check the user is active or not \r\n this.executeIsUserActiveOfEditedTemplate(this.props.clientId, checklistTemplateId).then((response) => {\r\n if (response) {\r\n isUserActive = response.isUserActive;\r\n let isDeleted = response.isDeleted;\r\n let beingEditedBy = response.beingEditedBy ? response.beingEditedBy : '';\r\n let isTemplateEditedByOtherUser = currentUser != beingEditedBy.toLowerCase();\r\n\r\n // If checklist template is edited by someone other user than current user and other user is still active then show validation error message\r\n if (isTemplateEditedByOtherUser && isUserActive && !isDeleted) {\r\n if (lockChecklistTemplate) {\r\n this.setState({\r\n lockUnlockValidationMessage: 'The given checklist template is currently being edited by ' + beingEditedBy + '. The request to lock this template is denied.',\r\n });\r\n }\r\n else {\r\n this.setState({\r\n lockUnlockValidationMessage: 'The given checklist template is currently being edited by ' + beingEditedBy + '. The request to unlock this template is denied.',\r\n });\r\n }\r\n\r\n this.toggleShowCustomPSQTemplateLockUnlockMessageModal();\r\n this.refreshGrid();\r\n\r\n }\r\n else {\r\n // Checklist Template is not edited by other user \r\n\r\n // This scenario is for System admin trying to unlock template and that template is locked by some other user\r\n //let currentUser = this.props.authentication.currentUser\r\n // ? this.props.authentication.currentUser.toLowerCase()\r\n // : '';\r\n if (!lockChecklistTemplate && this.props.currentUserIsSysAdmin == true) {\r\n const templateRequest = {\r\n clientId: this.props.clientId,\r\n templateId: checklistTemplateId,\r\n };\r\n\r\n this.props.customChecklistTemplateActions\r\n .fetchChecklistTemplateByChecklistTemplateId(templateRequest)\r\n .then((response) => {\r\n if (response) {\r\n // If template is locked then get template details\r\n if (\r\n (!response.errorResponse || !response.errorResponse.errorCode) &&\r\n response.isLocked\r\n ) {\r\n let lockedBy = response.lockedBy\r\n ? response.lockedBy.toLowerCase()\r\n : '';\r\n let isEditMode = response.isEditMode;\r\n let beingEditedBy = response.beingEditedBy\r\n ? response.beingEditedBy.toLowerCase()\r\n : '';\r\n let isDeleted = response.isDeleted;\r\n // Check whether template is deleted\r\n if (isDeleted) {\r\n this.setState({\r\n lockUnlockValidationMessage:\r\n 'The given checklist template has been deleted.',\r\n });\r\n\r\n this.toggleShowCustomPSQTemplateLockUnlockMessageModal();\r\n this.refreshGrid();\r\n }\r\n\r\n // Check whether template is locked by other user then show confirmation popup for System admin\r\n else if (response.isLocked && currentUser != lockedBy) {\r\n this.setState({\r\n systemAdminUnlockTemplateMessage: `This template is currently locked by ${lockedBy}. Unlocking the template makes it available to other users for updates.`,\r\n });\r\n\r\n this.toggleShowSystemAdminUnlockTemplateModal();\r\n this.refreshGrid();\r\n }\r\n\r\n // At this point as all validation is done for system admin then good to unlock the template\r\n else {\r\n const request = {\r\n clientId: this.props.clientId,\r\n templateId: checklistTemplateId,\r\n lockTemplate: lockChecklistTemplate,\r\n };\r\n this.lockUnlockTemplate(request);\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n // Lock/Unlock template - Non System admin user\r\n const request = {\r\n clientId: this.props.clientId,\r\n templateId: checklistTemplateId,\r\n lockTemplate: lockChecklistTemplate,\r\n };\r\n this.lockUnlockTemplate(request);\r\n }\r\n }\r\n }\r\n else {\r\n //Error response from SignalR\r\n //TODO\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Lock/Unlock Template\r\n */\r\n lockUnlockTemplate(request) {\r\n this.props.customChecklistTemplateActions\r\n .updateChecklistTemplateToLockOrUnlock(request)\r\n .then((response) => {\r\n // Handle Lock api execution response\r\n // Show validation message for failed response\r\n if (\r\n response &&\r\n !response.success &&\r\n response.errorMessage &&\r\n response.errorMessage.length > 0\r\n ) {\r\n this.setState({\r\n lockUnlockValidationMessage: response.errorMessage,\r\n });\r\n\r\n this.toggleShowCustomPSQTemplateLockUnlockMessageModal();\r\n } else {\r\n this.setState({\r\n lockUnlockValidationMessage: '',\r\n });\r\n }\r\n this.refreshGrid();\r\n });\r\n }\r\n\r\n /**\r\n * Handles Delete button click of Grid Row\r\n */\r\n handleDelete(checklistTemplateId, checklistTemplateName) {\r\n const templateRequest = {\r\n clientId: this.props.clientId,\r\n templateId: checklistTemplateId,\r\n };\r\n\r\n this.props.customChecklistTemplateActions\r\n .fetchChecklistTemplateByChecklistTemplateId(templateRequest)\r\n .then((response) => {\r\n if (response) {\r\n // If template is locked then get template details\r\n if (!response.errorResponse && !response.errorResponse?.errorCode) {\r\n const isLocked = response.isLocked;\r\n const lockedBy = response.lockedBy\r\n ? response.lockedBy.toLowerCase()\r\n : '';\r\n const isEditMode = response.isEditMode;\r\n const beingEditedBy = response.beingEditedBy\r\n ? response.beingEditedBy.toLowerCase()\r\n : '';\r\n const isDeleted = response.isDeleted;\r\n // Check whether template is already deleted by some other user\r\n if (isDeleted) {\r\n this.setState({\r\n showCustomPSQTemplateDeleteTemplateValidationMessageModal:\r\n !this.state\r\n .showCustomPSQTemplateDeleteTemplateValidationMessageModal,\r\n deleteCustomPSQTemplateValidationMessage: `The given checklist template has been deleted.`,\r\n });\r\n\r\n this.refreshGrid();\r\n }\r\n // Check whether template is locked by other user, then show confirmation popup\r\n else if (isLocked) {\r\n this.setState({\r\n showCustomPSQTemplateDeleteTemplateValidationMessageModal:\r\n !this.state\r\n .showCustomPSQTemplateDeleteTemplateValidationMessageModal,\r\n deleteCustomPSQTemplateValidationMessage: `The Checklist Template is already locked by ${lockedBy}. The request to delete this template is denied.`,\r\n });\r\n\r\n this.refreshGrid();\r\n }\r\n // Check whether template is edited by other user, then show confirmation popup\r\n else if (isEditMode) {\r\n this.setState({\r\n showCustomPSQTemplateDeleteTemplateValidationMessageModal:\r\n !this.state\r\n .showCustomPSQTemplateDeleteTemplateValidationMessageModal,\r\n deleteCustomPSQTemplateValidationMessage: `The Checklist Template is currently being edited by ${beingEditedBy}. The request to delete this template is denied.`,\r\n });\r\n\r\n this.refreshGrid();\r\n }\r\n // Display the delete confirmation popup\r\n else {\r\n this.setState({\r\n selectedChecklistTemplate: {\r\n checklistTemplateId: checklistTemplateId,\r\n checklistTemplateName: checklistTemplateName,\r\n },\r\n });\r\n this.toggleShowDeleteCustomPSQTemplateModal();\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Handles Delete button click on Delete Custom PSQ Modal Popup\r\n * Delete Custom PSQ Template\r\n */\r\n handleDeleteCustomPSQTemplate(checklistTemplateId) {\r\n this.props.checklistActions\r\n .deleteCustomPSQTemplate(this.props.clientId, checklistTemplateId)\r\n .then(() => {\r\n this.toggleShowDeleteCustomPSQTemplateModal();\r\n this.refreshGrid();\r\n });\r\n }\r\n\r\n /**\r\n * Handles hide event of Delete Template Validation Modal\r\n */\r\n toggleCustomPSQTemplateDeleteTemplateValidationMessageModal() {\r\n this.setState({\r\n showCustomPSQTemplateDeleteTemplateValidationMessageModal:\r\n !this.state.showCustomPSQTemplateDeleteTemplateValidationMessageModal,\r\n deleteCustomPSQTemplateValidationMessage: '',\r\n });\r\n }\r\n\r\n /**\r\n * Handles Template Preview\r\n */\r\n handlePreview(checklistTemplateId, targetUrl) {\r\n const templateRequest = {\r\n clientId: this.props.clientId,\r\n templateId: checklistTemplateId,\r\n };\r\n\r\n this.props.customChecklistTemplateActions\r\n .fetchChecklistTemplateByChecklistTemplateId(templateRequest)\r\n .then((response) => {\r\n if (response) {\r\n // If template is locked then get template details\r\n if (!response.errorResponse && !response.errorResponse?.errorCode) {\r\n const isLocked = response.isLocked;\r\n const lockedBy = response.lockedBy\r\n ? response.lockedBy.toLowerCase()\r\n : '';\r\n const isEditMode = response.isEditMode;\r\n const beingEditedBy = response.beingEditedBy\r\n ? response.beingEditedBy.toLowerCase()\r\n : '';\r\n const isDeleted = response.isDeleted;\r\n const templateClientId = response.clientID;\r\n // Check whether template is already deleted by some other user\r\n if (isDeleted) {\r\n this.setState({\r\n showCustomPSQTemplatePreviewTemplateValidationMessageModal:\r\n !this.state\r\n .showCustomPSQTemplatePreviewTemplateValidationMessageModal,\r\n previewCustomPSQTemplateValidationMessage: `The given checklist template has been deleted.`,\r\n });\r\n\r\n this.refreshGrid();\r\n }\r\n\r\n\r\n // Open the template preview in a new tab\r\n else {\r\n if (response.clientID != -1) {\r\n this.props.customChecklistTemplateActions.fetchCustomPsqTemplateContentById(this.props.clientId, checklistTemplateId)\r\n .then(result => {\r\n if (result.length > 0) {\r\n window.open(targetUrl, '_blank');\r\n }\r\n else {\r\n this.setState({\r\n showCustomPSQTemplatePreviewTemplateValidationMessageModal:\r\n !this.state\r\n .showCustomPSQTemplatePreviewTemplateValidationMessageModal,\r\n previewCustomPSQTemplateValidationMessage: `The selected checklist does not contain sections or questions. Please add a section or question.`,\r\n });\r\n }\r\n });\r\n\r\n }\r\n else {\r\n window.open(targetUrl, '_blank');\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Handles hide event of Preview Template Validation Modal\r\n */\r\n toggleCustomPSQTemplatePreviewTemplateValidationMessageModal() {\r\n this.setState({\r\n showCustomPSQTemplatePreviewTemplateValidationMessageModal:\r\n !this.state.showCustomPSQTemplatePreviewTemplateValidationMessageModal,\r\n previewCustomPSQTemplateValidationMessage: '',\r\n });\r\n }\r\n\r\n /**\r\n * Handles Validation message button click on Custom PSQ Validation Message Modal Popup\r\n * Close the popup\r\n */\r\n handleValidationMessage() {\r\n this.toggleShowCustomPSQTemplateValidationMessageModal();\r\n }\r\n\r\n /**\r\n * Refresh grid\r\n */\r\n refreshGrid() {\r\n this.props.customChecklistTemplateActions.fetchPSQTemplates(\r\n this.props.clientId\r\n );\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n
    \r\n
    \r\n

    Custom PSQ Templates

    \r\n
    \r\n
    \r\n \r\n {this.props.psqTemplates && this.props.psqTemplates.length === 0 && (\r\n
    No PSQ Templates found for this client.
    \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n let cid = Number.parseInt(ownProps.router.params.clientId);\r\n if (isNaN(cid)) {\r\n cid = 0;\r\n }\r\n return {\r\n clientId: cid,\r\n clientIsAudit: state.client && state.client.isAudit,\r\n psqTemplates: state.psqTemplates,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n currentUserIsSysAdmin: Array.isArray(state.currentUserAuthorizations) && (authActions.isSystemAdministrator(state.currentUserAuthorizations)),\r\n currentUserIsEngAdmin: Array.isArray(state.currentUserAuthorizations) && (authActions.isEngagementAdministrator(state.currentUserAuthorizations, cid)),\r\n authentication: state.authentication,\r\n formSyncErrors: getFormSyncErrors('customChecklistTemplate')(state),\r\n formSubmitErrors: getFormSubmitErrors('customChecklistTemplate')(state)\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n clientActions: bindActionCreators(clientActions, dispatch),\r\n checklistActions: bindActionCreators(checklistActions, dispatch),\r\n customQuestionActions: bindActionCreators(customQuestionActions, dispatch),\r\n customChecklistTemplateActions: bindActionCreators(customChecklistTemplateActions, dispatch)\r\n };\r\n}\r\n\r\nCustomChecklistTemplateContainer.propTypes = {\r\n clientId: PropTypes.number,\r\n clientIsAudit: PropTypes.bool,\r\n psqTemplates: PropTypes.array,\r\n clientActions: PropTypes.object,\r\n customQuestionActions: PropTypes.object,\r\n checklistActions: PropTypes.object,\r\n customChecklistTemplateActions: PropTypes.object,\r\n currentUserAuthorizations: PropTypes.array,\r\n currentUserIsSysAdmin: PropTypes.bool.isRequired,\r\n currentUserIsEngAdmin: PropTypes.bool.isRequired,\r\n authentication: PropTypes.string,\r\n initialize: PropTypes.func\r\n};\r\n\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(\r\n reduxForm({ form: \"customChecklistTemplate\", enableReinitialize: true })(CustomChecklistTemplateContainer)\r\n )\r\n);\r\n","import React, { useEffect } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Button, Form, Icon } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { MotifIconButton, MotifIcon, MotifButton } from \"@ey-xd/motif-react\";\r\nimport { addAttribute } from \"../../common/Attribute\";\r\nimport { IconoirEditPencil, IconoirTrash } from '@ey-xd/motif-icon';\r\n\r\nconst CustomFdrTemplateHeader = ({\r\n clientId,\r\n customFdrTemplates,\r\n customFdrTemplateFormValues,\r\n pristine,\r\n submitting,\r\n invalid,\r\n onSubmit,\r\n handleSubmit,\r\n onCancel,\r\n toggleShowCreateTemplateModal,\r\n toggleShowDeleteTemplateModal,\r\n editorUsed,\r\n handleTemplateSelection\r\n}) => {\r\n\r\n \r\n useEffect(() => { \r\n \r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n const preventSubmitOnEnter = (e) => {\r\n if (e.key === 'Enter') {\r\n //Avoid preventing key press for buttons\r\n if (e.target && e.target.type !== 'button') {\r\n e.preventDefault();\r\n }\r\n }\r\n };\r\n\r\n const templateOptions =\r\n customFdrTemplates.templates\r\n .map(t => {\r\n return { key: t.fdrTemplateID, value: t.fdrTemplateID, text: t.fdrTemplateName }\r\n });\r\n templateOptions.unshift({ key: -2, value: -2, text: 'Standard Template' });\r\n //templateOptions.unshift({ key: -1, value: -1, text: 'Select an Existing Template' });\r\n\r\n const template = customFdrTemplateFormValues\r\n && customFdrTemplateFormValues.templateId\r\n && customFdrTemplateFormValues.templateId !== -1 ?\r\n customFdrTemplates.templates.find(t => t.fdrTemplateID == customFdrTemplateFormValues.templateId) : null;\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n To customize a template, choose one of the following options\r\n to view the template details.\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n toggleShowCreateTemplateModal(\"create\")\r\n }>\r\n Create New Template\r\n \r\n
    OR
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {customFdrTemplateFormValues &&\r\n customFdrTemplateFormValues.templateId !== -1 &&\r\n template && (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {template.fdrTemplateName}\r\n
    \r\n \r\n toggleShowCreateTemplateModal(\"edit\")\r\n }>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n Save\r\n \r\n \r\n toggleShowCreateTemplateModal(\"saveas\")\r\n }\r\n disabled={submitting}>\r\n Save As\r\n \r\n \r\n Cancel\r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n\r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nCustomFdrTemplateHeader.propTypes = {\r\n //checklistList: PropTypes.array.isRequired\r\n};\r\n\r\nexport default reduxForm({ form: \"customFdrTemplateForm\" })(CustomFdrTemplateHeader);","import { Plugin, PluginKey } from \"prosemirror-state\";\r\nimport { Decoration, DecorationSet } from \"prosemirror-view\";\r\n\r\n/**\r\n *\r\n * @param {String} mentionTrigger\r\n * @param {String} hashtagTrigger\r\n * @param {bool} allowSpace\r\n * @returns {Object}\r\n */\r\nexport function getRegexp(mentionTrigger, hashtagTrigger, allowSpace) {\r\n // const mention = allowSpace\r\n // ? new RegExp(\"(^|\\\\s)\" + mentionTrigger + \"([\\\\w-\\\\+]+\\\\s?[\\\\w-\\\\+]*)$\")\r\n // : new RegExp(\"(^|\\\\s)\" + mentionTrigger + \"([\\\\w-\\\\+]+)$\");\r\n\r\n // hashtags should never allow spaces. I mean, what's the point of allowing spaces in hashtags?\r\n const tag = new RegExp(\"(^|)\" + hashtagTrigger + \"([\\\\w-]+)$\");\r\n\r\n return {\r\n //mention: mention,\r\n tag: tag\r\n };\r\n}\r\n\r\n/**\r\n *\r\n * @param {ResolvedPosition} $position https://prosemirror.net/docs/ref/#model.Resolved_Positions\r\n * @param {JSONObject} opts\r\n * @returns {JSONObject}\r\n */\r\nexport function getMatch($position, opts) {\r\n // take current para text content upto cursor start.\r\n // this makes the regex simpler and parsing the matches easier.\r\n const parastart = $position.before();\r\n const text = $position.doc.textBetween(parastart, $position.pos, \"\\n\", \"\\0\");\r\n\r\n const regex = getRegexp(\r\n opts.mentionTrigger,\r\n opts.hashtagTrigger,\r\n opts.allowSpace\r\n );\r\n\r\n // only one of the below matches will be true.\r\n // disabling mention for performance, since we don't need it\r\n const mentionMatch = false;// text.match(regex.mention);\r\n const tagMatch = text.match(regex.tag);\r\n\r\n const match = mentionMatch || tagMatch;\r\n\r\n // set type of match\r\n let type;\r\n if (mentionMatch) {\r\n type = \"mention\";\r\n } else if (tagMatch) {\r\n type = \"tag\";\r\n }\r\n\r\n // if match found, return match with useful information.\r\n if (match) {\r\n // adjust match.index to remove the matched extra space\r\n match.index = match[0].startsWith(\" \") ? match.index + 1 : match.index;\r\n match[0] = match[0].startsWith(\" \")\r\n ? match[0].substring(1, match[0].length)\r\n : match[0];\r\n\r\n // The absolute position of the match in the document\r\n const from = $position.start() + match.index;\r\n const to = from + match[0].length;\r\n\r\n const queryText = match[2];\r\n\r\n return {\r\n range: { from: from, to: to },\r\n queryText: queryText,\r\n type: type\r\n };\r\n }\r\n // else if no match don't return anything.\r\n}\r\n\r\n/**\r\n * Util to debounce call to a function.\r\n * >>> debounce(function(){}, 1000, this)\r\n */\r\nexport const debounce = (function () {\r\n let timeoutId = null;\r\n return function (func, timeout, context) {\r\n context = context || this;\r\n clearTimeout(timeoutId);\r\n timeoutId = setTimeout(function () {\r\n func.apply(context, arguments);\r\n }, timeout);\r\n\r\n return timeoutId;\r\n };\r\n})();\r\n\r\nconst getNewState = function () {\r\n return {\r\n active: false,\r\n range: {\r\n from: 0,\r\n to: 0\r\n },\r\n type: \"\", //mention or tag\r\n text: \"\",\r\n suggestions: [],\r\n index: 0 // current active suggestion index\r\n };\r\n};\r\n\r\n/**\r\n * @param {JSONObject} opts\r\n * @returns {Plugin}\r\n */\r\nexport function getMentionsPlugin(options) {\r\n // default options\r\n const defaultOpts = {\r\n mentionTrigger: \"@\",\r\n hashtagTrigger: \"#\",\r\n allowSpace: true,\r\n getSuggestions: (type, text, cb) => {\r\n cb([]);\r\n },\r\n getSuggestionsHTML: items =>\r\n '
    ' +\r\n items\r\n .map(i => '
    ' + i.name + \"
    \")\r\n .join(\"\") +\r\n \"
    \",\r\n activeClass: \"suggestion-item-active\",\r\n suggestionTextClass: \"prosemirror-suggestion\",\r\n maxNoOfSuggestions: 10,\r\n delay: 500\r\n };\r\n\r\n const opts = Object.assign({}, defaultOpts, options);\r\n\r\n // timeoutId for clearing debounced calls\r\n let showListTimeoutId = null;\r\n\r\n // dropdown element\r\n const el = document.createElement(\"div\");\r\n\r\n // current Idx\r\n const index = 0;\r\n\r\n // ----- methods operating on above properties -----\r\n\r\n const showList = function (view, state, suggestions, opts) {\r\n el.innerHTML = opts.getSuggestionsHTML(suggestions, state.type);\r\n\r\n // attach new item event handlers\r\n el.querySelectorAll(\".suggestion-item\").forEach(function (itemNode, index) {\r\n itemNode.addEventListener(\"click\", function () {\r\n select(view, state, opts);\r\n view.focus();\r\n });\r\n // TODO: setIndex() needlessly queries.\r\n // We already have the itemNode. SHOULD OPTIMIZE.\r\n itemNode.addEventListener(\"mouseover\", function () {\r\n setIndex(index, state, opts);\r\n });\r\n itemNode.addEventListener(\"mouseout\", function () {\r\n setIndex(index, state, opts);\r\n });\r\n });\r\n\r\n // highlight first element by default - like Facebook.\r\n addClassAtIndex(state.index, opts.activeClass);\r\n\r\n // get current @mention span left and top.\r\n // TODO: knock off domAtPos usage. It's not documented and is not officially a public API.\r\n // It's used currently, only to optimize the the query for textDOM\r\n const node = view.domAtPos(view.state.selection.$from.pos);\r\n const paraDOM = node.node;\r\n const textDOM = paraDOM.querySelector(\".\" + opts.suggestionTextClass);\r\n\r\n // TODO: should add null check case for textDOM\r\n const offset = textDOM.getBoundingClientRect();\r\n\r\n // TODO: think about outsourcing this positioning logic as options\r\n //document.body.appendChild(el);\r\n paraDOM.closest('body').appendChild(el);\r\n el.style.position = \"fixed\";\r\n el.style.left = offset.left + \"px\";\r\n\r\n const top = textDOM.offsetHeight + offset.top;\r\n el.style.top = top + \"px\";\r\n el.style.display = \"block\";\r\n };\r\n\r\n const hideList = function () {\r\n el.style.display = \"none\";\r\n };\r\n\r\n const removeClassAtIndex = function (index, className) {\r\n const itemList = el.querySelector(\".suggestion-item-list\").childNodes;\r\n const prevItem = itemList[index];\r\n if (prevItem) {\r\n prevItem.classList.remove(className);\r\n }\r\n };\r\n\r\n const addClassAtIndex = function (index, className) {\r\n const itemList = el.querySelector(\".suggestion-item-list\").childNodes;\r\n const prevItem = itemList[index];\r\n if (prevItem) {\r\n prevItem.classList.add(className);\r\n }\r\n };\r\n\r\n const setIndex = function (index, state, opts) {\r\n removeClassAtIndex(state.index, opts.activeClass);\r\n state.index = index;\r\n addClassAtIndex(state.index, opts.activeClass);\r\n };\r\n\r\n const goNext = function (view, state, opts) {\r\n removeClassAtIndex(state.index, opts.activeClass);\r\n state.index++;\r\n state.index = state.index === state.suggestions.length ? 0 : state.index;\r\n addClassAtIndex(state.index, opts.activeClass);\r\n };\r\n\r\n const goPrev = function (view, state, opts) {\r\n removeClassAtIndex(state.index, opts.activeClass);\r\n state.index--;\r\n state.index =\r\n state.index === -1 ? state.suggestions.length - 1 : state.index;\r\n addClassAtIndex(state.index, opts.activeClass);\r\n };\r\n\r\n const select = function (view, state, opts) {\r\n const item = state.suggestions[state.index];\r\n let attrs;\r\n if (state.type === \"mention\") {\r\n attrs = {\r\n name: item.name,\r\n id: item.id,\r\n email: item.email\r\n };\r\n } else {\r\n attrs = {\r\n tag: item.tag\r\n };\r\n }\r\n const node = view.state.schema.nodes[state.type].create(attrs);\r\n //const tr = view.state.tr.replaceWith(state.range.from, state.range.to, node);\r\n //const tr = view.state.tr.insertText(item.tag, state.range.from, state.range.to);\r\n\r\n // First, clear the selected text. Then insert the new node at current location. This way it inserts a span within the current element.\r\n //const tr = view.state.tr.replaceWith(state.range.from, state.range.to, null).replaceSelectionWith(node);\r\n\r\n // REITSuite: First, clear the selected text. Then insert tag as plain text. This allows user to modify format of text if needed.\r\n const tr = view.state.tr.replaceWith(state.range.from, state.range.to, null).insertText(item.tag);\r\n const newState = view.state.apply(tr);\r\n view.updateState(newState);\r\n };\r\n\r\n /**\r\n * See https://prosemirror.net/docs/ref/#state.Plugin_System\r\n * for the plugin properties spec.\r\n */\r\n return new Plugin({\r\n key: new PluginKey(\"autosuggestions\"),\r\n\r\n // we will need state to track if suggestion dropdown is currently active or not\r\n state: {\r\n init() {\r\n return getNewState();\r\n },\r\n\r\n apply(tr, state) {\r\n\r\n // compute state.active for current transaction and return\r\n const newState = getNewState();\r\n const selection = tr.selection;\r\n if (selection.from !== selection.to) {\r\n return newState;\r\n }\r\n\r\n const $position = selection.$from;\r\n const match = getMatch($position, opts);\r\n\r\n // if match found update state\r\n if (match) {\r\n newState.active = true;\r\n newState.range = match.range;\r\n newState.type = match.type;\r\n newState.text = match.queryText;\r\n }\r\n\r\n return newState;\r\n }\r\n },\r\n\r\n // We'll need props to hi-jack keydown/keyup & enter events when suggestion dropdown\r\n // is active.\r\n props: {\r\n handleKeyDown(view, e) {\r\n const state = this.getState(view.state);\r\n\r\n // don't handle if no suggestions or not in active mode\r\n if (!state.active && !state.suggestions.length) {\r\n return false;\r\n }\r\n\r\n // if any of the below keys, override with custom handlers.\r\n let down, up, enter, tab, esc;\r\n enter = e.keyCode === 13;\r\n tab = e.keyCode === 9;\r\n down = e.keyCode === 40;\r\n up = e.keyCode === 38;\r\n esc = e.keyCode === 27;\r\n\r\n if (down) {\r\n goNext(view, state, opts);\r\n return true;\r\n } else if (up) {\r\n goPrev(view, state, opts);\r\n return true;\r\n } else if (enter || tab) { // REITSuite: Added Tab, so you can select with Enter or Tab\r\n select(view, state, opts);\r\n return true;\r\n } else if (esc) {\r\n clearTimeout(showListTimeoutId);\r\n hideList();\r\n this.state = getNewState();\r\n return true;\r\n } else {\r\n // didn't handle. handover to prosemirror for handling.\r\n return false;\r\n }\r\n },\r\n\r\n // to decorate the currently active @mention text in ui\r\n decorations(editorState) {\r\n const { active, range } = this.getState(editorState);\r\n\r\n if (!active) return null;\r\n\r\n return DecorationSet.create(editorState.doc, [\r\n Decoration.inline(range.from, range.to, {\r\n nodeName: \"span\",\r\n class: opts.suggestionTextClass\r\n })\r\n ]);\r\n }\r\n },\r\n\r\n // To track down state mutations and add dropdown reactions\r\n view() {\r\n return {\r\n update: view => {\r\n const state = this.key.getState(view.state);\r\n if (!state.text) {\r\n hideList();\r\n clearTimeout(showListTimeoutId);\r\n return;\r\n }\r\n\r\n // debounce the call to avoid multiple requests\r\n showListTimeoutId = debounce(\r\n function () {\r\n // get suggestions and set new state\r\n opts.getSuggestions(state.type, state.text, function (\r\n suggestions\r\n ) {\r\n // update `state` argument with suggestions\r\n state.suggestions = suggestions;\r\n showList(view, state, suggestions, opts);\r\n });\r\n },\r\n opts.delay,\r\n this\r\n );\r\n }\r\n };\r\n }\r\n });\r\n}","/**\r\n * See https://prosemirror.net/docs/ref/#model.NodeSpec\r\n */\r\nexport const mentionNode = {\r\n group: \"inline\",\r\n inline: true,\r\n atom: true,\r\n\r\n attrs: {\r\n id: \"\",\r\n name: \"\",\r\n email: \"\"\r\n },\r\n\r\n selectable: false,\r\n draggable: false,\r\n\r\n toDOM: node => {\r\n return [\r\n \"span\",\r\n {\r\n \"data-mention-id\": node.attrs.id,\r\n \"data-mention-name\": node.attrs.name,\r\n \"data-mention-email\": node.attrs.email,\r\n class: \"prosemirror-mention-node\"\r\n },\r\n \"@\" + node.attrs.name || node.attrs.email\r\n ];\r\n },\r\n\r\n parseDOM: [\r\n {\r\n // match tag with following CSS Selector\r\n tag: \"span[data-mention-id][data-mention-name][data-mention-email]\",\r\n\r\n getAttrs: dom => {\r\n var id = dom.getAttribute(\"data-mention-id\");\r\n var name = dom.getAttribute(\"data-mention-name\");\r\n var email = dom.getAttribute(\"data-mention-email\");\r\n return {\r\n id: id,\r\n name: name,\r\n email: email\r\n };\r\n }\r\n }\r\n ]\r\n};\r\n\r\n/**\r\n * See https://prosemirror.net/docs/ref/#model.NodeSpec\r\n */\r\nexport const tagNode = {\r\n group: \"inline\",\r\n inline: true,\r\n atom: true,\r\n\r\n attrs: {\r\n tag: \"\"\r\n },\r\n\r\n selectable: false,\r\n draggable: false,\r\n\r\n toDOM: node => {\r\n return [\r\n \"span\",\r\n {\r\n \"data-tag\": node.attrs.tag,\r\n class: \"prosemirror-tag-node\"\r\n },\r\n node.attrs.tag // Modified for REITSuite to remove the hard-coded hashtag\r\n ];\r\n },\r\n\r\n parseDOM: [\r\n {\r\n // match tag with following CSS Selector\r\n tag: \"span[data-tag]\",\r\n\r\n getAttrs: dom => {\r\n var tag = dom.getAttribute(\"data-tag\");\r\n return {\r\n tag: tag\r\n };\r\n }\r\n }\r\n ]\r\n};","import { tagNode, mentionNode } from \"./nodes\";\r\n\r\n/**\r\n *\r\n * @param {OrderedMap} nodes\r\n * @returns {OrderedMap}\r\n */\r\nexport function addMentionNodes(nodes) {\r\n return nodes.append({\r\n mention: mentionNode\r\n });\r\n}\r\n\r\n/**\r\n *\r\n * @param {OrderedMap} nodes\r\n * @returns {OrderedMap}\r\n */\r\nexport function addTagNodes(nodes) {\r\n return nodes.append({\r\n tag: tagNode\r\n });\r\n}","/*\r\n* See: https://github.com/joelewis/prosemirror-mentions\r\n*/\r\n\r\nexport { getMentionsPlugin } from \"./mentionPlugin\";\r\nexport { addMentionNodes, addTagNodes } from \"./utils\";\r\nexport { tagNode, mentionNode } from \"./nodes\";","import { addTagNodes } from '../../scripts/prosemirror-mentions';\r\nimport { ProseMirror } from '@progress/kendo-react-editor';\r\nconst { Schema } = ProseMirror;\r\n\r\nconst DefaultFontFamilies =\r\n 'font-family: Calibri, Candara, Segoe, \"Segoe UI\", Optima, Arial, sans-serif';\r\n\r\nconst DefaultParagraphFontSize = 'font-size : 10pt';\r\nconst DefaultHeadingFontSize = 'font-size : 13pt';\r\nconst ParagraphMargin = 'margin : 0';\r\nconst DefaultHeadingColor = 'color: #2f5496';\r\n\r\nexport const buildSchema = function (originalSchema) {\r\n const mySchema = new Schema({\r\n nodes: addTagNodes(originalSchema.spec.nodes),\r\n marks: originalSchema.spec.marks\r\n });\r\n\r\n const paragraph = { ...mySchema.spec.nodes.get('paragraph') };\r\n\r\n paragraph.attrs['style'] =\r\n {\r\n default:\r\n `${DefaultFontFamilies}; ` +\r\n `${DefaultParagraphFontSize}; ` +\r\n `${ParagraphMargin};`\r\n };\r\n\r\n mySchema.spec.nodes.update('paragraph', paragraph);\r\n\r\n const heading = { ...mySchema.spec.nodes.get('heading') };\r\n\r\n heading.attrs['style'] = {\r\n default:\r\n `${DefaultFontFamilies}; ` +\r\n `${DefaultHeadingFontSize}; ` +\r\n `${DefaultHeadingColor};`\r\n }\r\n\r\n mySchema.spec.nodes.update('heading', heading);\r\n\r\n return mySchema;\r\n}","let Tags = [\r\n { tag: '[clientContactName]', type: 'value' },\r\n { tag: '[reportCreationDate]', type: 'value' },\r\n { tag: '[reitLegalName]', type: 'value' },\r\n { tag: '[periodEndDate]', type: 'value' },\r\n { tag: '[reitShortName]', type: 'value' },\r\n { tag: '[quarterOrdinal]', type: 'value' },\r\n { tag: '[numberOfPreferredShareholders]', type: 'value' },\r\n { tag: '[yearStartDate]', type: 'value' },\r\n { tag: '[trsSumOfValueAllOwned]', type: 'value' },\r\n { tag: '[yearEndDate]', type: 'value' },\r\n { tag: '[reitDateOfElection]', type: 'value' },\r\n { tag: '[reitStateOrganized]', type: 'value' },\r\n { tag: '[reitFormationDate]', type: 'value' },\r\n { tag: '[reitOrgType]', type: 'value' },\r\n { tag: '[numberOfSharesClasses]', type: 'value' },\r\n\r\n { tag: '[TableOfContents]', type: 'section' },\r\n { tag: '[TrsSummary]', type: 'section' },\r\n { tag: '[SecuritiesOverview]', type: 'section' },\r\n { tag: '[AssetTrsInfo]', type: 'section' },\r\n { tag: '[AssetSummaryResults]', type: 'section' },\r\n { tag: '[AssetDetailResults]', type: 'section' },\r\n { tag: '[IncomeSummaryResults]', type: 'section' },\r\n { tag: '[IncomeDetailResults]', type: 'section' },\r\n { tag: '[DistributionSummaryResults]', type: 'section' },\r\n { tag: '[DistributionDetailResults]', type: 'section' },\r\n { tag: '[MappingsTable]', type: 'section' },\r\n];\r\n\r\n// Sort alphabetically\r\nTags = Tags.sort((a, b) => {\r\n if (a.tag < b.tag) { return -1; }\r\n if (a.tag > b.tag) { return 1; }\r\n return 0;\r\n});\r\n\r\nexport default Tags;","import * as React from \"react\";\r\nimport { EditorUtils } from \"@progress/kendo-react-editor\";\r\nimport { DropDownList } from \"@progress/kendo-react-dropdowns\";\r\nimport Tags from '../../constants/customFdrTags';\r\n\r\nexport class InsertTagTool extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.handleChange = this.handleChange.bind(this);\r\n this.defaultItem = { tag: props.defaultValue };\r\n this.valueTags = Tags.filter(x => x.type === 'value');\r\n this.sectionTags = Tags.filter(x => x.type === 'section');\r\n }\r\n\r\n handleChange(event) {\r\n if (!event.target.value.tag) {\r\n return;\r\n }\r\n\r\n const { view } = this.props;\r\n const tr = view.state.tr.insertText(event.target.value.tag);\r\n const newState = view.state.apply(tr);\r\n view.updateState(newState);\r\n\r\n view.focus();\r\n }\r\n\r\n render() {\r\n const { view } = this.props;\r\n const nodeType = view && view.state.schema.nodes.text;\r\n const canInsert = view && EditorUtils.canInsert(view.state, nodeType);\r\n\r\n return (\r\n \r\n );\r\n }\r\n}","import * as React from 'react';\r\nimport { EditorUtils } from '@progress/kendo-react-editor';\r\nimport { ComboBox } from '@progress/kendo-react-dropdowns';\r\n\r\nconst wordFontSizes =\r\n [8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72];\r\n\r\nconst comboBoxFontSize = '10pt';\r\n\r\nconst roundToNearestHalf = function (n) {\r\n return Math.round(n * 2) / 2;\r\n}\r\n\r\n/* Ensure font size doesn't have more than one decimal place. */\r\nconst filterFontSize = function (fontSize) {\r\n if (fontSize < 1)\r\n fontSize = 1;\r\n\r\n if (fontSize > 1638)\r\n fontSize = 1638;\r\n\r\n fontSize = roundToNearestHalf(fontSize);\r\n\r\n if (fontSize % 1 === 0) {\r\n return fontSize.toFixed();\r\n } else {\r\n return fontSize.toFixed(1);\r\n }\r\n}\r\n\r\nconst selectedProps = {\r\n style: {\r\n backgroundColor: '#007bff',\r\n color: 'white',\r\n fontSize: comboBoxFontSize\r\n },\r\n selected: true\r\n};\r\n\r\nconst nonSelectedProps = {\r\n style: {\r\n fontSize: comboBoxFontSize\r\n }\r\n};\r\n\r\nconst CustomFontSizeTool = (props) => {\r\n const { view } = props;\r\n const styleQuery = { name: 'font-size', value: /^\\d+(\\.\\d+)?pt$/ };\r\n\r\n const currentFontSizes =\r\n view ? EditorUtils.getInlineStyles(view.state, styleQuery) : [];\r\n\r\n const singleFontSizeSelected = new Set(currentFontSizes).size === 1;\r\n\r\n const currentFontSize =\r\n singleFontSizeSelected ? `${parseFloat(currentFontSizes[0])}` : '';\r\n\r\n const onChange = (event) => {\r\n const fontSize = parseFloat(event.value);\r\n\r\n if (!isNaN(fontSize)) {\r\n EditorUtils.applyInlineStyle(\r\n view,\r\n { style: 'font-size', value: `${filterFontSize(fontSize)}pt` });\r\n\r\n setTimeout(() => view.focus());\r\n }\r\n };\r\n\r\n const itemRender = (li, itemProps) => {\r\n const itemMatchesFontSize =\r\n itemProps.dataItem.toString() === currentFontSize;\r\n\r\n\r\n const newItemProps =\r\n itemMatchesFontSize ? selectedProps : nonSelectedProps;\r\n\r\n return React.cloneElement(li, newItemProps);\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport { CustomFontSizeTool };","import * as React from 'react';\r\nimport { EditorUtils } from '@progress/kendo-react-editor';\r\nimport { DropDownList } from '@progress/kendo-react-dropdowns';\r\n\r\nconst spacingOptions = ['1.0', '1.08','1.15', '1.5', '2.0', '2.5', '3.0'];\r\n\r\nconst percentagePattern = /^\\d+(\\.\\d+)?%$/;\r\nconst numberPattern = /^\\d+(\\.\\d+)?$/;\r\nconst DefaultToolText = 'Line Spacing';\r\n\r\nconst formatLineHeight = function(number) {\r\n const numberString = number.toFixed(2);\r\n\r\n if(numberString.slice(-1) === '0') {\r\n return numberString.substring(0, numberString.length - 1);\r\n }\r\n else {\r\n return numberString;\r\n }\r\n}\r\n\r\nconst readLineHeight = function (height) {\r\n height = `${height}`.trim();\r\n\r\n if (percentagePattern.test(height)) {\r\n return formatLineHeight(parseFloat(height) / 100);\r\n }\r\n\r\n if (numberPattern.test(height)) {\r\n return formatLineHeight(parseFloat(height));\r\n }\r\n\r\n return DefaultToolText;\r\n}\r\n\r\nconst CustomLineSpacingTool = (props) => {\r\n const { view } = props;\r\n\r\n const styleQuery = {\r\n name: 'line-height',\r\n value: /^([a-z]+)|(\\d+(\\.\\d+)?%?)$/\r\n };\r\n\r\n const appliedSpacings =\r\n view ?\r\n EditorUtils.getInlineStyles(view.state, styleQuery).map(readLineHeight) :\r\n [];\r\n\r\n const singleSpacingApplied = new Set(appliedSpacings).size === 1;\r\n\r\n const currentSpacing =\r\n singleSpacingApplied ?\r\n readLineHeight(appliedSpacings[0]) :\r\n DefaultToolText;\r\n\r\n const onChange = function (event) {\r\n const value = parseFloat(event.value);\r\n\r\n if (!isNaN(value)) {\r\n const styling = {\r\n style: 'line-height',\r\n value\r\n };\r\n\r\n EditorUtils.applyInlineStyle(view, styling);\r\n setTimeout(() => view.focus());\r\n }\r\n }\r\n\r\n return (\r\n \r\n )\r\n};\r\n\r\nexport { CustomLineSpacingTool };","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Editor, EditorTools, EditorDialogs, EditorUtils, EditorToolsSettings, ProseMirror } from '@progress/kendo-react-editor';\r\nimport {getMentionsPlugin } from '../../scripts/prosemirror-mentions';\r\nimport { buildSchema } from './CustomFdrSchema.js';\r\n \r\nimport {\r\n baseKeymap,\r\n newlineInCode,\r\n createParagraphNear,\r\n splitBlockKeepMarks,\r\n chainCommands,\r\n liftEmptyBlock\r\n} from \"prosemirror-commands\";\r\n \r\nimport { InsertTagTool } from \"./InsertTagTool\";\r\nimport Tags from '../../constants/customFdrTags';\r\nimport { CustomFontSizeTool } from './CustomFontSizeTool.js';\r\nimport { CustomLineSpacingTool } from './CustomLineSpacingTool.js';\r\n \r\nconst {\r\n Bold, Italic, Underline, Strikethrough, Subscript, Superscript,\r\n ForeColor, BackColor, CleanFormatting,\r\n AlignLeft, AlignCenter, AlignRight, AlignJustify,\r\n Indent, Outdent, OrderedList, UnorderedList,\r\n Undo, Redo, FontSize, FontName, FormatBlock,\r\n Link, Unlink,\r\n InsertTable,\r\n SelectAll, ViewHtml,\r\n AddRowBefore, AddRowAfter, AddColumnBefore, AddColumnAfter,\r\n DeleteRow, DeleteColumn, DeleteTable,\r\n MergeCells, SplitCell, FindAndReplace\r\n} = EditorTools;\r\n \r\nconst { FindAndReplaceDialog } = EditorDialogs;\r\nconst { textHighlight, setHtml, getHtml, pasteCleanup, sanitize, sanitizeClassAttr, sanitizeStyleAttr, removeAttribute } = EditorUtils;\r\nconst { Schema, EditorView, EditorState, keymap } = ProseMirror;\r\n \r\nconst paragraphPlaceHolder = 'â €';\r\n \r\n// Check if object is an instance of class Node\r\nconst isNode = function(maybeNode) {\r\n return maybeNode instanceof ProseMirror.Node;\r\n}\r\n \r\n// Check if object is an instance of ReplaceStep\r\nconst isReplaceStep = function(maybeReplaceStep) {\r\n return typeof maybeReplaceStep === 'object' &&\r\n typeof maybeReplaceStep.from === 'number' &&\r\n typeof maybeReplaceStep.to === 'number';\r\n}\r\n \r\nconst getLastCursorNode = function (transaction) {\r\n const cursor = transaction.curSelection.$cursor;\r\n \r\n const _nodes =\r\n cursor ?\r\n cursor\r\n .path\r\n .filter(isNode)\r\n .reverse() :\r\n [];\r\n \r\n if (_nodes.length > 0) {\r\n return _nodes[0];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\n \r\nconst extractTransactionContext = function (transaction) {\r\n const cursorPosition =\r\n transaction.curSelection &&\r\n transaction.curSelection.$cursor &&\r\n transaction.curSelection.$cursor.pos ?\r\n transaction.curSelection.$cursor.pos :\r\n undefined;\r\n \r\n const shouldRemoveParagraphPlaceholder =\r\n transaction.curSelection.$cursor &&\r\n transaction.curSelection.$cursor.parentOffset > 1;\r\n \r\n const lastNode = getLastCursorNode(transaction);\r\n let paragraphStartsWithPlaceHolder = false;\r\n \r\n if (lastNode) {\r\n if (lastNode.content &&\r\n lastNode.content.content &&\r\n lastNode.content.content.length > 0 &&\r\n typeof lastNode.content.content[0].text === 'string' &&\r\n lastNode.content.content[0].text[0] === paragraphPlaceHolder) {\r\n paragraphStartsWithPlaceHolder = true;\r\n }\r\n }\r\n \r\n const placeholderRemovalPosition =\r\n shouldRemoveParagraphPlaceholder && paragraphStartsWithPlaceHolder ?\r\n cursorPosition - 2 :\r\n undefined;\r\n \r\n return {\r\n placeholderRemovalPosition\r\n };\r\n}\r\n \r\nconst CustomFontName = (props) => {\r\n const customFontName = (\r\n \r\n );\r\n \r\n return customFontName;\r\n};\r\n \r\n// https://www.telerik.com/kendo-react-ui/components/inputs/colorpicker/custom/#toc-customizing-the-palette-popup\r\nconst paletteSettings = {\r\n palette: [\r\n \"#FFFFFF\", \"#000000\", \"#EEECE1\", \"#1F497D\", \"#4F81BD\", \"#C0504D\", \"#9BBB59\", \"#8064A2\", \"#4BACC6\", \"#F79646\",\r\n \"#F2F2F2\", \"#808080\", \"#DDD9C4\", \"#C5D9F1\", \"#DCE6F1\", \"#F2DCDB\", \"#EBF1DE\", \"#E4DFEC\", \"#DAEEF3\", \"#FDE9D9\",\r\n \"#D9D9D9\", \"#595959\", \"#C4BD97\", \"#8DB4E2\", \"#B8CCE4\", \"#E6B8B7\", \"#D8E4BC\", \"#CCC0DA\", \"#B7DEE8\", \"#FCD5B4\",\r\n \"#BFBFBF\", \"#404040\", \"#948A54\", \"#538DD5\", \"#95B3D7\", \"#DA9694\", \"#C4D79B\", \"#B1A0C7\", \"#92CDDC\", \"#FABF8F\",\r\n \"#A6A6A6\", \"#262626\", \"#494529\", \"#16365C\", \"#366092\", \"#963634\", \"#76933C\", \"#60497A\", \"#31869B\", \"#E26B0A\",\r\n \"#808080\", \"#0D0D0D\", \"#1D1B10\", \"#0F243E\", \"#244062\", \"#632523\", \"#4F6228\", \"#403151\", \"#215967\", \"#974706\",\r\n \"#C00000\", \"#FF0000\", \"#FFC000\", \"#FFFF00\", \"#92D050\", \"#00B050\", \"#00B0F0\", \"#0070C0\", \"#002060\", \"#7030A0\"\r\n ],\r\n columns: 10,\r\n tileSize: 20\r\n};\r\n \r\n// https://www.telerik.com/kendo-react-ui/components/inputs/api/ColorPickerProps/\r\nconst colorPickerForeProps = {\r\n // default settings\r\n ...EditorToolsSettings.foreColor.colorPickerProps,\r\n \r\n // custom settings\r\n paletteSettings\r\n};\r\n \r\nconst ForeColorCustom = props => {\r\n return (\r\n \r\n );\r\n};\r\n \r\n// https://www.telerik.com/kendo-react-ui/components/inputs/api/ColorPickerProps/\r\nconst colorPickerBackProps = {\r\n // default settings\r\n ...EditorToolsSettings.backColor.colorPickerProps,\r\n \r\n // custom settings\r\n paletteSettings\r\n};\r\n \r\nconst BackColorCustom = props => {\r\n return (\r\n \r\n );\r\n};\r\n \r\n//Settings for Copy/Paste bullet points from Word\r\nconst pasteSettings = {\r\n convertMsLists: true,\r\n attributes: {\r\n class: sanitizeClassAttr,\r\n style: sanitizeStyleAttr,\r\n '*': removeAttribute\r\n }\r\n};\r\n \r\nclass CustomFdrTemplateEditor extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n \r\n this.state = {\r\n showDialog: false\r\n };\r\n \r\n this.view = null;\r\n this.editor = null;\r\n \r\n this.onFindClose = this.onFindClose.bind(this);\r\n }\r\n \r\n onFindClose() {\r\n this.setState({ showDialog: false });\r\n }\r\n componentDidMount() {\r\n \r\n if (this.editor) {\r\n this.initializeEditor();\r\n }\r\n }\r\n \r\n initializeEditor(event) {\r\n if (!this.editor) {\r\n console.error('Editor instance is not available.');\r\n return;\r\n }\r\n \r\n // Access the iframe or DOM element directly from the editor instance.\r\n const iframeElement = this.editor.iframeElement;\r\n \r\n // Ensure that the iframe's document is available.\r\n if (!iframeElement || !iframeElement.contentDocument) {\r\n console.error('Iframe or its document is not available.');\r\n return;\r\n }\r\n const iframeDocument =iframeElement.contentDocument;\r\n // Because we limit width of content, we want to center the editor content section,\r\n // and give the surrounding area a light gray background with content background white\r\n iframeElement.parentNode.className += \" d-flex justify-content-center bg-light\";\r\n iframeElement.className += \" bg-white\"; \r\n iframeDocument.querySelector('.k-content').setAttribute(\"style\", 'font-family: Calibri, Candara, Segoe, \"Segoe UI\", Optima, Arial, sans-serif;');\r\n \r\n iframeDocument.querySelector('style').appendChild(document.createTextNode(`\r\n .prosemirror-suggestion { background: rgba(0, 0, 0, 0.05); border: 1px solid #999 }\r\n .suggestion-item-list { background: #fff; border: 1px solid #999 }\r\n .suggestion-item { padding: 5px }\r\n .suggestion-item-active { background: #08c; color: #fff }\r\n .ProseMirror table, .ProseMirror td, .ProseMirror th {\r\n border: 1px dashed #ddd !important\r\n }\r\n `));\r\n \r\n const state = event.viewProps.state;\r\n const mySchema = buildSchema(state.schema);\r\n \r\n const onEnterPressed = (state, dispatch, view) => {\r\n const setTransactionMetadata = function (tr) {\r\n tr.setMeta('EnterPressed', true);\r\n dispatch(tr);\r\n }\r\n \r\n return chainCommands(\r\n newlineInCode,\r\n createParagraphNear,\r\n liftEmptyBlock,\r\n splitBlockKeepMarks)(\r\n state,\r\n dispatch && setTransactionMetadata,\r\n view);\r\n }\r\n \r\n baseKeymap.Enter = onEnterPressed\r\n \r\n // Find and Replace Dialog functionality (use CTRL-F to pop it up)\r\n const plugins = [\r\n ...state.plugins,\r\n \r\n // add a plugin which will highlight the matched text\r\n textHighlight(),\r\n \r\n // add a key binding Ctrl+F/Cmd+F which will open the `Find and Replace` Dialog.\r\n keymap({\r\n 'Mod-f': () => {\r\n this.setState({ showDialog: true });\r\n return true;\r\n }\r\n })\r\n ];\r\n \r\n const getTagSuggestionsHTML = items => '
    ' +\r\n items.map(i => '
    ' + i.tag + '
    ').join('') +\r\n '
    ';\r\n \r\n const mentionPlugin = getMentionsPlugin({\r\n hashtagTrigger: \"\\\\[\",\r\n maxNoOfSuggestions: 8,\r\n delay: 150,\r\n getSuggestions: (type, text, done) => {\r\n setTimeout(() => {\r\n if (type === 'mention') {\r\n // Not using mentions\r\n //done([{name: 'John Doe', id: '101', email: 'joe@gmail.com'}, {name: 'Joe Lewis', id: '102', email: 'lewis@gmail.com'}])\r\n } else {\r\n const filter = text ? Tags.filter(x => x.tag.toLowerCase().includes(text.toLowerCase())) : Tags;\r\n done(filter);\r\n }\r\n }, 0);\r\n },\r\n getSuggestionsHTML: (items, type) => {\r\n if (type === 'mention') {\r\n //return getMentionSuggestionsHTML(items)\r\n } else if (type === 'tag') {\r\n return getTagSuggestionsHTML(items)\r\n }\r\n }\r\n });\r\n \r\n plugins.unshift(mentionPlugin);\r\n \r\n const doc = EditorUtils.createDocument(mySchema, this.props.initialHtml);\r\n \r\n let view = new EditorView(\r\n { mount: event.dom },\r\n {\r\n ...event.viewProps,\r\n editable: () => !this.props.readOnly, // Optionally make it read-only\r\n handleDOMEvents: {\r\n ...(event.viewProps.handleDOMEvents || {})\r\n },\r\n state: EditorState.create({ doc: doc, schema: mySchema, plugins }),\r\n dispatchTransaction: function (transaction) {\r\n if (transaction.getMeta('EnterPressed')) {\r\n transaction =\r\n transaction.insertText(paragraphPlaceHolder);\r\n }\r\n \r\n const context = extractTransactionContext(transaction);\r\n let { placeholderRemovalPosition } = context;\r\n \r\n if (typeof placeholderRemovalPosition === 'number') {\r\n transaction = transaction.replace(\r\n placeholderRemovalPosition,\r\n placeholderRemovalPosition + 1);\r\n }\r\n \r\n const state = view.state;\r\n \r\n const marks = state.storedMarks ||\r\n (state.selection.$to.parentOffset &&\r\n state.selection.$from.marks());\r\n \r\n const contentIsBeingInserted =\r\n !transaction.getMeta('pointer') &&\r\n transaction.steps.length &&\r\n isReplaceStep(transaction.steps[0]);\r\n \r\n if (marks && contentIsBeingInserted) {\r\n transaction = transaction.ensureMarks(marks);\r\n }\r\n \r\n const newState = view.state.apply(transaction);\r\n view.updateState(newState);\r\n \r\n if (this.props.onEditorChanged) {\r\n setTimeout(() => {\r\n this.props.onEditorChanged();\r\n });\r\n }\r\n }\r\n }\r\n );\r\n \r\n this.view = view;\r\n return this.view;\r\n }\r\n \r\n render() {\r\n const tools = this.props.readOnly ? [] : [\r\n [Bold, Italic, Underline, Strikethrough],\r\n [Subscript, Superscript],\r\n ForeColorCustom, BackColorCustom, [CleanFormatting],\r\n [AlignLeft, AlignCenter, AlignRight, AlignJustify],\r\n [Indent, Outdent],\r\n [OrderedList, UnorderedList],\r\n CustomFontSizeTool, CustomFontName, FormatBlock, FindAndReplace,\r\n [SelectAll],\r\n [Undo, Redo],\r\n [Link, Unlink],\r\n [InsertTable],\r\n [AddRowBefore, AddRowAfter, AddColumnBefore, AddColumnAfter],\r\n [DeleteRow, DeleteColumn, DeleteTable],\r\n [MergeCells, SplitCell], CustomLineSpacingTool,\r\n (props) => , (props) => \r\n ];\r\n \r\n return (\r\n \r\n { this.editor = editor; this.props.setEditorReferences(editor, setHtml, getHtml); }}\r\n onFocus={this.props.onEditorChanged}\r\n onPasteHtml={event => pasteCleanup(sanitize(event.pastedHtml), pasteSettings)}\r\n />\r\n {this.state.showDialog && this.view &&\r\n \r\n }\r\n \r\n );\r\n }\r\n}\r\n \r\nCustomFdrTemplateEditor.propTypes = {\r\n onEditorChanged: PropTypes.func,\r\n readOnly: PropTypes.bool,\r\n setEditorReferences: PropTypes.func,\r\n initialHtml: PropTypes.string\r\n};\r\n \r\nexport default CustomFdrTemplateEditor;","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { Header, Label, Button, Input, Dropdown } from \"semantic-ui-react\";\r\n\r\nimport { Field, reduxForm, getFormValues } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { connect } from \"react-redux\";\r\nimport { MotifButton,MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifErrorMessage\r\n} from \"@ey-xd/motif-react\";\r\nimport { ModalBody, ModalFooter } from \"react-bootstrap\";\r\n\r\n/**\r\n * CustomFdrTemplateContainer container component\r\n * @extends {React.Component}\r\n */\r\nexport class CreateFDRTemplateModal extends React.Component {\r\n /**\r\n * Creates a new CustomFdrTemplateContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.mode === 'create') {\r\n this.props.dispatch(this.props.initialize(\r\n {\r\n templateId: -1,\r\n fdrTemplateName: ''\r\n },\r\n { options: { updateUnregisteredFields: true } }\r\n ));\r\n } else {\r\n const template = this.props.customFdrTemplateFormValues\r\n && this.props.customFdrTemplateFormValues.templateId\r\n && this.props.customFdrTemplateFormValues.templateId !== -1 ?\r\n this.props.customFdrTemplates.templates.find(t => t.fdrTemplateID == this.props.customFdrTemplateFormValues.templateId) : null;\r\n //If is saveas set the name with appending -Copy to the template name\r\n \r\n this.props.dispatch(this.props.initialize(\r\n {\r\n templateId: template.fdrTemplateId,\r\n fdrTemplateName: this.props.mode != 'saveas' ? template.fdrTemplateName : template.fdrTemplateName + '-Copy'\r\n },\r\n { options: { updateUnregisteredFields: true } }\r\n ));\r\n }\r\n }\r\n \r\n\r\n /**\r\n* Render a React element\r\n* @returns {Object} A reference to the component\r\n*/\r\n render() {\r\n //const createEdit = this.props.mode === 'create' ? 'Create' : 'Edit';\r\n //First letter to UpperCase\r\n const createEdit = this.props.mode != 'saveas'? this.props.mode.charAt(0).toUpperCase() + this.props.mode.slice(1) : 'Save As';\r\n return (\r\n \r\n {`${createEdit} Custom FDR Template`}\r\n \r\n
    \r\n \r\n {this.props.customFdrTemplates.duplicate \r\n && \r\n This template name already exists.\r\n }\r\n \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nCreateFDRTemplateModal.propTypes = {\r\n handleSubmit: PropTypes.func,\r\n onSubmit: PropTypes.func,\r\n dispatch: PropTypes.func,\r\n initialize: PropTypes.func,\r\n toggleShowCreateTemplateModal: PropTypes.func,\r\n clearDuplicateErrorMessage: PropTypes.func,\r\n mode: PropTypes.string,\r\n invalid: PropTypes.bool,\r\n pristine: PropTypes.bool,\r\n submitting: PropTypes.bool\r\n};\r\n\r\n//export default reduxForm({ form: \"customChecklistTemplateModalForm\" })(CreateFDRTemplateModal);\r\nexport default reduxForm({ form: \"customFdrTemplateModalForm\" })(CreateFDRTemplateModal);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\n\r\nimport { MotifButton,MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter, \r\n MotifLabel,\r\n MotifIcon} from \"@ey-xd/motif-react\";\r\n\r\nconst DeleteFdrTemplateModal = ({\r\n showDeleteTemplateModal,\r\n handleYes,\r\n toggleShowDeleteTemplateModal\r\n}) => {\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n return (\r\n \r\n \r\n \r\n \r\n Delete Custom FDR Template\r\n \r\n \r\n \r\n Are you sure you want to delete this template?\r\n \r\n \r\n \r\n No\r\n \r\n \r\n Yes\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nDeleteFdrTemplateModal.propTypes = {\r\n showDeleteTemplateModal: PropTypes.bool,\r\n handleYes: PropTypes.func,\r\n toggleShowDeleteTemplateModal: PropTypes.func\r\n};\r\n\r\nexport default DeleteFdrTemplateModal;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { getFormValues, SubmissionError, Field, reduxForm, reset, change } from \"redux-form\";\r\nimport * as actions from \"../../actions/customFdrTemplateActions\";\r\nimport CustomFdrTemplateHeader from \"../../components/customFdrTemplate/CustomFdrTemplateHeader\";\r\nimport CustomFdrTemplateEditor from \"../../components/customFdrTemplate/CustomFdrTemplateEditor\";\r\nimport CreateFDRTemplateModal from \"../../components/customFdrTemplate/CreateFDRTemplateModal\";\r\nimport DeleteFdrTemplateModal from \"../../components/customFdrTemplate/DeleteFdrTemplateModal\";\r\nimport { MotifTabNavigation, MotifTabControl } from \"@ey-xd/motif-react\";\r\nimport { Link } from 'react-router-dom';\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * CustomFdrTemplateContainer container component\r\n * @extends {React.Component}\r\n */\r\nexport class CustomFdrTemplateContainer extends React.Component {\r\n /**\r\n * Creates a new CustomFdrTemplateContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.updateInitialValues = this.updateInitialValues.bind(this);\r\n this.handleCancel = this.handleCancel.bind(this);\r\n this.handleSaveTemplate = this.handleSaveTemplate.bind(this);\r\n this.handleSaveAsTemplate = this.handleSaveAsTemplate.bind(this);\r\n this.handleTemplateSelection = this.handleTemplateSelection.bind(this);\r\n this.toggleShowCreateTemplateModal = this.toggleShowCreateTemplateModal.bind(this);\r\n this.clearDuplicateErrorMessage = this.clearDuplicateErrorMessage.bind(this);\r\n this.onEditorChanged = this.onEditorChanged.bind(this);\r\n this.setEditorReferences = this.setEditorReferences.bind(this);\r\n this.handleDeleteTemplate = this.handleDeleteTemplate.bind(this);\r\n this.toggleShowDeleteTemplateModal = this.toggleShowDeleteTemplateModal.bind(this);\r\n //this.preventSubmitOnEnter = this.preventSubmitOnEnter.bind(this);\r\n\r\n this.setTabBar1 = this.setTabBar1.bind(this);\r\n this.handleClick = this.handleClick.bind(this);\r\n\r\n this.state = {\r\n showCreateTemplateModal: false,\r\n showDeleteTemplateModal: false,\r\n mode: 'create',\r\n editorUsed: false,\r\n editorReadOnly: true,\r\n initialHtml: '',\r\n tabBar1: 0,\r\n uniqueKey: 1\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n //Fetch the templates for the dropdown\r\n this.props.actions.fetchCustomFdrTemplates(this.props.clientId).then(() => {\r\n this.props.dispatch(this.props.initialize({ templateId: -1 }));\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (\r\n this.props.customFdrTemplateFormValues &&\r\n this.props.customFdrTemplateFormValues.templateId &&\r\n (!prevProps.customFdrTemplateFormValues ||\r\n this.props.customFdrTemplateFormValues.templateId !==\r\n prevProps.customFdrTemplateFormValues.templateId) &&\r\n this.props.customFdrTemplateFormValues.templateId !== -1\r\n ) {\r\n if (this.props.customFdrTemplateFormValues.templateId === -1) {\r\n this.setState({\r\n editorUsed: false,\r\n editorReadOnly: true,\r\n });\r\n } else {\r\n this.props.actions\r\n .fetchCustomFdrTemplateById(\r\n this.props.customFdrTemplateFormValues.templateId\r\n )\r\n .then((template) => {\r\n // When we load a new template, set the initialHtml to be used for the defaultContent of the editor.\r\n // Also, set uniqueKey to a new key, so the Editor component can re-render (to set initial state of editor, so undo/redo history is wiped clean)\r\n this.setState({\r\n initialHtml: template.fdrTemplateContent,\r\n editorUsed: false,\r\n editorReadOnly:\r\n this.props.customFdrTemplateFormValues.templateId ===\r\n -2,\r\n uniqueKey: ++this.state.uniqueKey,\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n updateInitialValues(templateId, fdrTemplateName) {\r\n const values = Object.assign({}, {\r\n templateId,\r\n fdrTemplateName\r\n });\r\n\r\n this.props.dispatch(this.props.initialize(\r\n values,\r\n { options: { updateUnregisteredFields: true } }\r\n ));\r\n }\r\n\r\n //Set tab related state variables\r\n setTabBar1(currentIndex) {\r\n this.setState({ tabBar1: currentIndex });\r\n }\r\n\r\n //Set current tab index based\r\n handleClick(index) {\r\n this.setTabBar1(index);\r\n }\r\n\r\n handleCancel() {\r\n this.handleTemplateSelection(this.props.customFdrTemplateFormValues.templateId);\r\n }\r\n\r\n handleSaveTemplate(values) {\r\n let templateId = values.templateId ? values.templateId : this.props.customFdrTemplateFormValues.templateId;\r\n\r\n this.props.actions.createOrEditFDRTemplate(this.props.clientId, templateId, values.fdrTemplateName, false, this.editor ? this.getHtml(this.editor.view.state) : null, this.props.customFdrTemplate).then((newTemplateId) => {\r\n if (newTemplateId && newTemplateId.response && newTemplateId.response.errorCode == 'DUPLICATE_RECORD_ERROR') {\r\n //Duplicate error\r\n }\r\n else {\r\n //If the values.templateId its equal to -1 it because is a new template otherwise is a current template to be modified\r\n if (values.templateId === -1) {\r\n this.props.actions.fetchCustomFdrTemplates(this.props.clientId).then(() => {\r\n this.toggleShowCreateTemplateModal();\r\n this.props.dispatch(this.props.change('templateId', newTemplateId));\r\n });\r\n }\r\n else {\r\n // Do not reload data for existing template.\r\n // We want to maintain the ability to undo changes after saving an existing template.\r\n // Only set editorUsed to false to disabled Save/Cancel buttons\r\n this.setState({\r\n editorUsed: false,\r\n showCreateTemplateModal: false\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n handleSaveAsTemplate(values) {\r\n let templateId = values.templateId ? values.templateId : this.props.customFdrTemplateFormValues.templateId;\r\n this.props.actions.SaveAsNewFDRTemplate(this.props.clientId, templateId, values.fdrTemplateName, this.getHtml(this.editor.view.state)).then((newTemplateId) => {\r\n if (newTemplateId && newTemplateId.response && newTemplateId.response.errorCode == 'DUPLICATE_RECORD_ERROR') {\r\n //Duplicate error\r\n }\r\n else {\r\n //If the values.templateId its equal to -1 it because is a new template otherwise is a current template to be modified\r\n this.props.actions.fetchCustomFdrTemplates(this.props.clientId).then(() => {\r\n this.toggleShowCreateTemplateModal();\r\n this.props.dispatch(this.props.change('templateId', newTemplateId));\r\n });\r\n\r\n }\r\n });\r\n }\r\n\r\n handleTemplateSelection(templateId) {\r\n // -1 is \"Select an existing template\"\r\n if (templateId === -1) {\r\n this.setState({\r\n editorUsed: false,\r\n editorReadOnly: true\r\n });\r\n } else {\r\n // Fetch the template contents (html)\r\n this.props.actions.fetchCustomFdrTemplateById(templateId).then(template => {\r\n // Update the initialHtml and uniqueKey.\r\n // If uniqueKey is updated, then the Editor component will re-render with new initialHtml, so that the undo/redo history is reset\r\n this.setState({\r\n initialHtml: template.fdrTemplateContent,\r\n editorUsed: false,\r\n editorReadOnly: templateId === -2,\r\n uniqueKey: ++this.state.uniqueKey\r\n });\r\n });\r\n }\r\n }\r\n\r\n clearDuplicateErrorMessage() {\r\n this.props.actions.clearDuplicateMessage();\r\n }\r\n\r\n toggleShowCreateTemplateModal(mode) {\r\n this.props.actions.clearDuplicateMessage();\r\n this.setState({\r\n showCreateTemplateModal: !this.state.showCreateTemplateModal,\r\n mode: mode\r\n });\r\n }\r\n\r\n onEditorChanged(event) {\r\n this.setState({ editorUsed: true });\r\n }\r\n\r\n setEditorReferences(editor, setHtml, getHtml) {\r\n this.editor = editor;\r\n this.setHtml = setHtml;\r\n this.getHtml = getHtml;\r\n }\r\n\r\n handleDeleteTemplate() {\r\n this.props.actions.deleteFdrTemplateById(this.props.customFdrTemplateFormValues.templateId).then(() => {\r\n this.toggleShowDeleteTemplateModal();\r\n this.props.dispatch(this.props.change('templateId', -1));\r\n });\r\n }\r\n\r\n toggleShowDeleteTemplateModal() {\r\n this.setState({\r\n showDeleteTemplateModal: !this.state.showDeleteTemplateModal\r\n });\r\n }\r\n\r\n // preventSubmitOnEnter(e) {\r\n // if (e.key === 'Enter') e.preventDefault();\r\n // }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n

    Custom FDR Template

    \r\n \r\n \r\n this.handleClick(1)}>\r\n Templates\r\n \r\n \r\n \r\n this.handleClick(2)}>\r\n Assign Defaults\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {this.props.customFdrTemplateFormValues && this.props.customFdrTemplateFormValues.templateId != -1 &&\r\n }\r\n
    \r\n
    \r\n\r\n {this.props.customFdrTemplateFormValues && this.props.customFdrTemplateFormValues.templateId !== -1 &&\r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    Questions in the Template
    \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.showCreateTemplateModal &&\r\n \r\n }\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nCustomFdrTemplateContainer.propTypes = {\r\n clientId: PropTypes.number,\r\n actions: PropTypes.object.isRequired,\r\n customFdrTemplateFormValues: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n clientId: Number.parseInt(ownProps.router.params.clientId),\r\n customFdrTemplate: state.customFdrTemplate,\r\n customFdrTemplateFormValues: getFormValues('customFdrTemplateForm')(state),\r\n customFdrTemplates: getFormValues('customFdrTemplateModalForm')(state)\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(actions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(\r\n reduxForm({ form: \"customFdrTemplateForm\", enableReinitialize: true })(CustomFdrTemplateContainer)\r\n )\r\n);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Button, Form, Icon } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { Dropdown as BootstrapDropdown, ButtonGroup } from \"react-bootstrap\";\r\nimport { propTypes } from \"react-bootstrap/esm/Image\";\r\nimport { download } from '../../scripts/fileHelpers';\r\nimport { fetchFromTrialBalanceApi } from '../../actions/fetchFromApi';\r\nimport { MotifFormField, MotifSearch, MotifLabel, MotifToggleSwitch, MotifDropdown, MotifDropdownItem, MotifButton, MotifIcon, MotifBadge } from '@ey-xd/motif-react';\r\nimport { MotifIconButton } from '@ey-xd/motif-react';\r\nimport { IconoirNavArrowDown, IconoirEditPencil } from '@ey-xd/motif-icon';\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\nconst ChartOfAccountsManagerHeader = ({\r\n clientId,\r\n isEditModeEnabled,\r\n chartOfAccounts,\r\n chartOfAccountsFormValues,\r\n selectedChart,\r\n showCreateClientAccountModal,\r\n showUploadChartModal,\r\n lookupTypes,\r\n handleAddClientAccount,\r\n handleOnEditToggle,\r\n pristine,\r\n submitting,\r\n invalid,\r\n searchBoxText,\r\n handleSearchBox,\r\n handleClearSearchText,\r\n onSubmit,\r\n handleSubmit,\r\n onCancel,\r\n clearDuplicateChartOfAccountErrorMessage,\r\n toggleShowCreateTemplateModal,\r\n toggleEditNameModal,\r\n toggleShowCreateClientAccountModal,\r\n toggleShowDeleteTemplateModal,\r\n toggleShowChangeDefaultChartModal,\r\n toggleShowUploadChartModal,\r\n editorUsed,\r\n handleChartSelection\r\n}) => {\r\n\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n const [managementDropdownOpen, setManagementDropdownOpen] = useState(false);\r\n const preventSubmitOnEnter = (e) => {\r\n if (e.key === 'Enter') {\r\n //Avoid preventing key press for buttons\r\n if (e.target && e.target.type !== 'button') {\r\n e.preventDefault();\r\n }\r\n }\r\n };\r\n\r\n function downloadChartOfAcconts() {\r\n setManagementDropdownOpen(false);\r\n fetchFromTrialBalanceApi(`/chartOfAccounts/download?chartId=${chartOfAccountsFormValues.chartID}`)\r\n .then(function (response) {\r\n return response.blob().then(function (blob) {\r\n const contentDisposition =\r\n response.headers.get(\"Content-Disposition\");\r\n\r\n const filename =\r\n contentDisposition.split(';')[1].split('=')[1].trim();\r\n\r\n download(blob, filename);\r\n });\r\n })\r\n .catch(e => console.error(e));\r\n }\r\n\r\n const chartManagementOptions = [\r\n { key: \"1\", value: \"1\", text: \"Download Chart of Accounts\", onClickHandle: downloadChartOfAcconts },\r\n { key: \"2\", value: \"2\", text: \"Upload Chart of Accounts\", onClickHandle: () => { setManagementDropdownOpen(false); toggleShowUploadChartModal();} },\r\n { key: \"3\", value: \"3\", text: \"Add Account\", onClickHandle: () => { setManagementDropdownOpen(false); toggleShowCreateClientAccountModal();} },\r\n { key: \"4\", value: \"4\", text: \"Edit Accounts\", onClickHandle: () => { setManagementDropdownOpen(false); handleOnEditToggle();} }\r\n ];\r\n\r\n if (!chartOfAccountsFormValues ||\r\n typeof chartOfAccountsFormValues.chartID !== 'number' ||\r\n chartOfAccountsFormValues.chartID < 0) {\r\n chartManagementOptions.shift();\r\n }\r\n\r\n const chartOfAccountsOptions =\r\n chartOfAccounts.charts\r\n .map(t => {\r\n return { key: t.chartID, value: t.chartID, text: `${t.isDefault ? '(Default) ' : ''}${t.chartName}` }\r\n });\r\n\r\n const chart = chartOfAccountsFormValues\r\n && chartOfAccountsFormValues.chartID\r\n && chartOfAccountsFormValues.chartID !== -1 ?\r\n chartOfAccounts.charts.find(t => t.chartID == chartOfAccountsFormValues.chartID) : null;\r\n\r\n //Add set default option based on condition\r\n if (chart && !chart.isDefault) {\r\n chartManagementOptions.push({ key: \"5\", value: \"5\", text: \"Set as Default for Client\", onClickHandle: toggleShowChangeDefaultChartModal });\r\n }\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    To customize a chart of accounts, choose one of the following options to view the chart details.
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n toggleShowCreateTemplateModal('create')}>Create New Chart\r\n {chartOfAccounts.charts && chartOfAccounts.charts.length > 0 &&\r\n \r\n
    OR
    \r\n \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n {chartOfAccountsFormValues && chartOfAccountsFormValues.chartID !== -1 && chart &&\r\n \r\n
    \r\n
    \r\n
    \r\n
    {chart.chartName}
    \r\n toggleEditNameModal()} disabled={isEditModeEnabled} >\r\n \r\n \r\n \r\n {chart.isDefault &&\r\n \r\n }\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n setManagementDropdownOpen(false)}\r\n trigger={\r\n setManagementDropdownOpen(!managementDropdownOpen)}\r\n aria-controls={'chart-management'}\r\n id={'chart-management-trigger'}\r\n aria-expanded={managementDropdownOpen}\r\n aria-label=\"Chart management dropdown\"\r\n >\r\n Chart Management \r\n \r\n }\r\n >\r\n {chartManagementOptions.map((cmoption, index) => \r\n {cmoption.text}\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n\r\n
    }\r\n
    \r\n );\r\n};\r\n\r\nChartOfAccountsManagerHeader.propTypes = {\r\n lookupTypes: PropTypes.object, \r\n handleClearSearchText: PropTypes.func,\r\n};\r\n\r\nexport default reduxForm({ form: \"chartOfAccountsForm\" })(ChartOfAccountsManagerHeader);","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { Popup } from \"semantic-ui-react\";\r\nimport { Field, reduxForm, getFormValues } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { connect } from \"react-redux\";\r\nimport { MotifToggleSwitch, MotifButton, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter, MotifLabel,MotifErrorMessage } from '@ey-xd/motif-react';\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\n/**\r\n * CustomFdrTemplateContainer container component\r\n * @extends {React.Component}\r\n */\r\nexport class CreateChartOfAccountsModal extends React.Component {\r\n /**\r\n * Creates a new CustomFdrTemplateContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n this.handleIsDefault = this.handleIsDefault.bind(this);\r\n this.handleCopyExistingChart = this.handleCopyExistingChart.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n\r\n if (this.props.mode === 'create') {\r\n this.props.dispatch(this.props.initialize(\r\n {\r\n chartName: '',\r\n copyExistingChart: false,\r\n copyChartID: this.props.chartOfAccounts.charts.length === 0 ? -1 : this.props.chartOfAccounts.charts.find(c => c.isDefault).chartID,\r\n isDefault: this.props.chartOfAccounts.charts.length === 0\r\n },\r\n { options: { updateUnregisteredFields: true } }\r\n ));\r\n } else {\r\n // const template = this.props.customFdrTemplateFormValues\r\n // && this.props.customFdrTemplateFormValues.templateId\r\n // && this.props.customFdrTemplateFormValues.templateId !== -1 ?\r\n // this.props.customFdrTemplates.templates.find(t => t.fdrTemplateID == this.props.customFdrTemplateFormValues.templateId) : null;\r\n // //If is saveas set the name with appending -Copy to the template name\r\n\r\n // this.props.dispatch(this.props.initialize(\r\n // {\r\n // templateId: template.fdrTemplateId,\r\n // fdrTemplateName: this.props.mode != 'saveas' ? template.fdrTemplateName : template.fdrTemplateName + '-Copy'\r\n // },\r\n // { options: { updateUnregisteredFields: true } }\r\n // ));\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n }\r\n\r\n handleCopyExistingChart() {\r\n this.props.dispatch(this.props.change('copyExistingChart', !this.props.createChartModalFormValues.copyExistingChart));\r\n }\r\n\r\n handleIsDefault() {\r\n this.props.dispatch(this.props.change('isDefault', !this.props.createChartModalFormValues.isDefault));\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n const createEdit = this.props.mode === 'create' ? 'Create New' : 'Edit';\r\n const hasNoCharts = this.props.chartOfAccounts.charts && this.props.chartOfAccounts.charts.length === 0;\r\n\r\n const chartOfAccountsOptions =\r\n this.props.chartOfAccounts.charts\r\n .map(t => {\r\n return { key: t.chartID, value: t.chartID, text: `${t.isDefault ? '(Default) ' : ''}${t.chartName}` }\r\n });\r\n return (\r\n \r\n \r\n {`${createEdit} Chart of Accounts`}\r\n \r\n \r\n
    \r\n \r\n {this.props.chartOfAccounts.duplicate\r\n &&\r\n This chart name already exists.\r\n }\r\n
    \r\n
    \r\n {!hasNoCharts &&\r\n
    \r\n
    \r\n Copy from existing chart:\r\n \r\n Off}\r\n onLabel={On} />\r\n
    \r\n
    \r\n
    }\r\n {this.props.createChartModalFormValues && this.props.createChartModalFormValues.copyExistingChart &&\r\n
    \r\n
    \r\n \r\n
    \r\n
    }\r\n
    \r\n
    \r\n Set as default for the Client:\r\n\r\n \r\n Off}\r\n onLabel={On} />\r\n
    \r\n }\r\n content=\"The first chart created for the Client will automatically be set as the default and cannot be changed.\"\r\n on='hover'\r\n disabled={!hasNoCharts}\r\n inverted\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nCreateChartOfAccountsModal.propTypes = {\r\n handleSubmit: PropTypes.func,\r\n onSubmit: PropTypes.func,\r\n dispatch: PropTypes.func,\r\n initialize: PropTypes.func,\r\n toggleShowCreateTemplateModal: PropTypes.func,\r\n clearDuplicateErrorMessage: PropTypes.func,\r\n mode: PropTypes.string,\r\n invalid: PropTypes.bool,\r\n pristine: PropTypes.bool,\r\n submitting: PropTypes.bool,\r\n chartOfAccountsFormValues: PropTypes.object,\r\n createChartModalFormValues: PropTypes.object,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n createChartModalFormValues: getFormValues('createChartModalForm')(state)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps)(reduxForm({ form: \"createChartModalForm\" })(CreateChartOfAccountsModal));","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport {\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifButton\r\n } from '@ey-xd/motif-react';\r\n\r\nconst DeleteFdrTemplateModal = ({\r\n showDeleteTemplateModal,\r\n handleYes,\r\n toggleShowDeleteTemplateModal\r\n}) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n return ( \r\n \r\n \r\n \r\n Delete Custom FDR Template\r\n \r\n \r\n \r\n
    \r\n Are you sure you want to delete this template?\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n No\r\n \r\n \r\n Yes\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nDeleteFdrTemplateModal.propTypes = {\r\n showDeleteTemplateModal: PropTypes.bool,\r\n handleYes: PropTypes.func,\r\n toggleShowDeleteTemplateModal: PropTypes.func\r\n};\r\n\r\nexport default DeleteFdrTemplateModal;","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Header, Button } from \"semantic-ui-react\";\r\n\r\nimport { MotifButton,MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter, MotifLabel } from \"@ey-xd/motif-react\";\r\n\r\nconst DuplicateAccountsEditModal = ({\r\n showDuplicateAccountsEditModal,\r\n closeDuplicateAccountsEditModal,\r\n clientAccountCodeList,\r\n theme\r\n}) => {\r\n //const listModalColor = theme === 'motifDark' ? '#a4a3b1' : '#656579';\r\n return (\r\n \r\n \r\n Cannot Save\r\n \r\n \r\n
    \r\n Your changes cannot be saved. The following Client Account Number(s) already exist in this chart:\r\n
      \r\n {clientAccountCodeList.map(code =>
    • {code}
    • )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Close\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nDuplicateAccountsEditModal.propTypes = {\r\n showDuplicateAccountsEditModal: PropTypes.bool,\r\n closeDuplicateAccountsEditModal: PropTypes.func,\r\n clientAccountCodeList: PropTypes.array,\r\n theme: PropTypes.string,\r\n};\r\n\r\nexport default DuplicateAccountsEditModal;","import React, { useState, useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport {\r\n Grid,\r\n GridColumn,\r\n GridNoRecords,\r\n} from \"@progress/kendo-react-grid\";\r\nimport { DropDownList } from \"@progress/kendo-react-dropdowns\";\r\nimport { process, filterBy } from \"@progress/kendo-data-query\";\r\nimport { Input } from \"@progress/kendo-react-inputs\";\r\nimport DuplicateAccountsEditModal from \"../chartOfAccountsManager/DuplicateAccountsEditModal\";\r\nimport {\r\n MotifButton,\r\n MotifErrorMessage,\r\n} from \"@ey-xd/motif-react\";\r\n\r\nlet globalLookupTypes = {};\r\nlet globalCategoryOptions = [];\r\nlet globalAttributeOptions = [];\r\n\r\nconst LoadingPanel = () => {\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst selectedText = null;\r\nconst SUB_ATTRIBUTE = \"Non-qualifying Asset : AO300 : Non-qualifying Security\";\r\nlet isError = false;\r\n\r\nlet DropDownCell = (props) => {\r\n let optionsData = props.optionsData || [];\r\n\r\n const [data, setData] = React.useState(optionsData.slice());\r\n \r\n const filterData = (filter) => {\r\n const data = optionsData.slice();\r\n return filterBy(data, filter);\r\n };\r\n\r\n // handle filter change\r\n const filterChange = (event) => {\r\n setData(filterData(event.filter));\r\n };\r\n\r\n const { dataItem } = props;\r\n const field = props.field || \"\";\r\n const dataValue = dataItem[field] === null ? \"\" : dataItem[field];\r\n\r\n //Since we are using only text the actual ID is being updated on itemChange\r\n const [optionValue, setOptionValue] = React.useState({\r\n label: dataValue,\r\n value: dataValue,\r\n });\r\n\r\n // handle dropdown change\r\n const handleChange = (event) => {\r\n // Update the dropdown value\r\n setOptionValue(event.target.value);\r\n\r\n // Update the form data\r\n if (event == null) {\r\n event = new Event(\"ClearValue\");\r\n }\r\n if (props.onChange) {\r\n props.onChange({\r\n dataIndex: 0,\r\n dataItem: props.dataItem,\r\n field: props.field,\r\n syntheticEvent: event.syntheticEvent,\r\n value: event.target.value,\r\n });\r\n }\r\n };\r\n return (\r\n \r\n {dataItem.inEdit ? (\r\n \r\n ) : (\r\n // \r\n // \r\n // {data.map((co) => (\r\n // \r\n // {co.label}\r\n // \r\n // ))}\r\n // \r\n // \r\n dataValue\r\n )}\r\n \r\n );\r\n};\r\n\r\nDropDownCell = React.memo(DropDownCell);\r\n\r\nlet InputCell = (props) => {\r\n const { dataItem } = props;\r\n const field = props.field || \"\"; \r\n const disabled = props.disabled;\r\n const required = props.required; \r\n const selectedText = props.dataItem.reitTestingAttributeDescription; \r\n const [selectedReitAttribute, setReitAttributeValue] = useState(null);\r\n \r\n useEffect(() => {\r\n if (props.dataItem.reitTestingAttributeDescription === SUB_ATTRIBUTE) {\r\n setReitAttributeValue(SUB_ATTRIBUTE);\r\n } else { \r\n setReitAttributeValue(null);\r\n }\r\n }, [props.dataItem.reitTestingAttributeDescription]);\r\n \r\n const isSubAttributeEnabled = selectedText === SUB_ATTRIBUTE || selectedReitAttribute === SUB_ATTRIBUTE;\r\n if(props.disabled )\r\n {\r\n dataItem[field] = null;\r\n }\r\n if (!isSubAttributeEnabled && field === \"defaultSubAttribute\") { \r\n dataItem[field] = null; \r\n }\r\n const dataValue = dataItem[field] === null ? \"\" : dataItem[field]; \r\n const [error, setError] = useState('');\r\n\r\n //This triggers the itemChange\r\n const handleChange = (e) => {\r\n props.onChange({\r\n dataIndex: 0,\r\n dataItem: dataItem,\r\n field: field,\r\n syntheticEvent: e.syntheticEvent,\r\n value: e.target.value,\r\n });\r\n };\r\n\r\n const handleSubAttributeChange = (e) => {\r\n const value = e.target.value;\r\n const regex = /^[0-9]+$/; //Only accept numeric values consisting of digits from 0-9, without allowing decimal points, minus signs, or any non-numeric characters.\r\n const maxInteger = 2147483647; // Maximum integer value \r\n const parsedValue = parseInt(value, 10);\r\n \r\n if (regex.test(value) && value !== \"0\" && parsedValue <= maxInteger){ \r\n setError(\"\");\r\n isError = false;\r\n props.onChange({\r\n dataItem: dataItem,\r\n field: field,\r\n syntheticEvent: e,\r\n value: value\r\n });\r\n } else {\r\n isError = true;\r\n setError(\"Value must be a whole number between 1 and 2,147,483,647.\");\r\n }\r\n };\r\n\r\n const handleInputChange = (e) => {\r\n const value = e.target.value;\r\n if (value.length === 0) {\r\n props.onChange({\r\n dataItem: dataItem,\r\n field: field,\r\n syntheticEvent: e,\r\n value: value\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n {dataItem.inEdit ? (\r\n \r\n ) : (\r\n dataValue\r\n )}\r\n {error &&\r\n {error}\r\n }\r\n \r\n );\r\n};\r\nInputCell = React.memo(InputCell);\r\n\r\nlet CategoryCell = (props) => (\r\n \r\n);\r\nCategoryCell = React.memo(CategoryCell);\r\nlet AttributeCell = (props) => (\r\n \r\n);\r\nAttributeCell = React.memo(AttributeCell);\r\n\r\nconst ChartOfAccountsTable = ({\r\n mappings,\r\n searchBoxText,\r\n isEditModeEnabled,\r\n lookupTypes,\r\n handleOnEditToggle,\r\n handleAccountUpdate,\r\n theme,\r\n}) => {\r\n let pagerSettings = {\r\n buttonCount: 4,\r\n info: true,\r\n type: \"numeric\",\r\n pageSizes: [100, 250, 500],\r\n previousNext: true,\r\n };\r\n const [dataState, setDataState] = useState({\r\n skip: 0,\r\n take: 100,\r\n sort: [\r\n {\r\n field: \"clientAccountCode\",\r\n dir: \"asc\",\r\n },\r\n ],\r\n });\r\n const [selectedAttribute, setOptionValue] = useState(null);\r\n const [dataResult, setDataResult] = useState(process(mappings, dataState));\r\n const [rowsAffected, setRowsAffected] = useState([]);\r\n const [dataResultOnEditing, setDataResultOnEditing] = useState([]);\r\n const [showDuplicateAccountsEditModal, setShowDuplicateAccountsEditModal] =\r\n useState(false);\r\n const [clientAccountCodeList, setClientAccountCodeList] = useState([]);\r\n const [editLoading, setEditLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n handleSearchBox(searchBoxText);\r\n }, [searchBoxText]);\r\n\r\n useEffect(() => {\r\n const tempGlobalCategoryOptions = lookupTypes.clientAccountCategories.map(\r\n (type) => {\r\n return {\r\n label: type.clientAccountCategoryDescription,\r\n value: type.clientAccountCategoryDescription,\r\n id: type.clientAccountCategoryID,\r\n };\r\n }\r\n );\r\n tempGlobalCategoryOptions.unshift({ label: \"\", value: \"\", id: \"\" });\r\n globalCategoryOptions = tempGlobalCategoryOptions;\r\n\r\n globalAttributeOptions = lookupTypes.reitTestingAttributes.map((type) => {\r\n return {\r\n label: type.reitTestingAttributeDescription,\r\n value: type.reitTestingAttributeDescription,\r\n id: type.reitTestingAttributeID,\r\n };\r\n });\r\n }, [lookupTypes]);\r\n\r\n useEffect(() => {\r\n if (isEditModeEnabled) {\r\n setEditLoading(true);\r\n }\r\n //If edit mode is being toggled we use the dataResult to keep the elements sorted\r\n let mappingsEditEnabled = mappings.map((mapping) => {\r\n return {\r\n ...mapping,\r\n inEdit: isEditModeEnabled,\r\n isDirty: {\r\n clientAccountCode: false,\r\n clientAccountDescription: false,\r\n clientAccountCategoryDescription: false,\r\n reitTestingAttributeDescription: false,\r\n defaultSubAttribute:false\r\n },\r\n originalState: mapping,\r\n };\r\n });\r\n\r\n setDataResultOnEditing(mappingsEditEnabled);\r\n setDataResult(process(mappingsEditEnabled, dataState));\r\n setDataState(dataState);\r\n }, [isEditModeEnabled]);\r\n\r\n const dataStateChange = (event) => {\r\n setDataResult(\r\n process(\r\n isEditModeEnabled ? dataResultOnEditing : mappings,\r\n event.dataState\r\n )\r\n );\r\n setDataState(event.dataState);\r\n };\r\n\r\n const handleSearchBox = (textToFilter) => {\r\n let filterConfig = {\r\n logic: \"or\",\r\n filters: [\r\n {\r\n field: \"clientAccountCode\",\r\n operator: \"contains\",\r\n value: textToFilter,\r\n },\r\n {\r\n field: \"clientAccountDescription\",\r\n operator: \"contains\",\r\n value: textToFilter,\r\n },\r\n {\r\n field: \"clientAccountCategoryDescription\",\r\n operator: \"contains\",\r\n value: textToFilter,\r\n },\r\n {\r\n field: \"reitTestingAttributeDescription\",\r\n operator: \"contains\",\r\n value: textToFilter,\r\n },\r\n {\r\n field: \"defaultSubAttribute\",\r\n operator: \"contains\",\r\n value: textToFilter,\r\n },\r\n {\r\n field: \"lastUpdatedDateTime\",\r\n operator: \"contains\",\r\n value: textToFilter,\r\n },\r\n ],\r\n };\r\n\r\n //This ternary operator alternates bewteen the mappings that we dont want to change for revert functionality and the actual edit data\r\n setDataResult(\r\n process(isEditModeEnabled ? dataResultOnEditing : mappings, {\r\n ...dataState,\r\n filter: filterConfig,\r\n })\r\n );\r\n setDataState({ ...dataState, filter: filterConfig, skip: 0 });\r\n };\r\n\r\n const itemChange = (event) => {\r\n const inEditID = event.dataItem.chartOfAccountsID;\r\n const field = event.field || \"\";\r\n\r\n let value =\r\n field == \"clientAccountCategoryDescription\" ||\r\n field == \"reitTestingAttributeDescription\"\r\n ? event.value.value\r\n : event.value;\r\n const editedItem = dataResultOnEditing.find(\r\n (mapping) => mapping.chartOfAccountsID === inEditID\r\n );\r\n\r\n editedItem[field] =\r\n field == \"clientAccountCategoryDescription\" ||\r\n field == \"reitTestingAttributeDescription\"\r\n ? event.value.value\r\n : event.value;\r\n\r\n if (value == editedItem.originalState[field]) {\r\n editedItem.isDirty = { ...editedItem.isDirty, [field]: false };\r\n } else {\r\n editedItem.isDirty = { ...editedItem.isDirty, [field]: true };\r\n }\r\n\r\n if (\r\n field == \"clientAccountCategoryDescription\" ||\r\n field == \"reitTestingAttributeDescription\"\r\n ) {\r\n editedItem[\r\n field == \"clientAccountCategoryDescription\"\r\n ? \"clientAccountCategoryID\"\r\n : \"defaultREITTestingAttributeID\"\r\n ] = event.value.id;\r\n }\r\n let affectedRowsCurrentCounter = dataResultOnEditing.filter(\r\n (account) =>\r\n account.isDirty.clientAccountCode === true ||\r\n account.isDirty.clientAccountDescription === true ||\r\n account.isDirty.clientAccountCategoryDescription === true ||\r\n account.isDirty.reitTestingAttributeDescription === true ||\r\n account.isDirty.defaultSubAttribute === true\r\n );\r\n\r\n setRowsAffected(affectedRowsCurrentCounter);\r\n setDataResultOnEditing(dataResultOnEditing);\r\n setDataResult(process(dataResultOnEditing, dataState));\r\n };\r\n\r\n const closeDuplicateAccountsEditModal = () => {\r\n setShowDuplicateAccountsEditModal(false);\r\n setClientAccountCodeList([]);\r\n };\r\n\r\n const handleSaveUpdates = () => {\r\n let foundDuplicates = false;\r\n let duplicateCodes = [];\r\n rowsAffected.forEach((account) => {\r\n let foundOnMappings = mappings.filter(\r\n (mapping) =>\r\n mapping.chartOfAccountsID != account.chartOfAccountsID &&\r\n mapping.clientAccountCode == account.clientAccountCode\r\n );\r\n let foundOnRowsAffected = rowsAffected.filter(\r\n (affectedAccount) =>\r\n affectedAccount.chartOfAccountsID != account.chartOfAccountsID &&\r\n affectedAccount.clientAccountCode == account.clientAccountCode\r\n );\r\n if (foundOnMappings.length > 0 || foundOnRowsAffected.length > 0) {\r\n foundDuplicates = true;\r\n if (!duplicateCodes.includes(account.clientAccountCode)) {\r\n duplicateCodes.push(account.clientAccountCode);\r\n }\r\n }\r\n });\r\n if (foundDuplicates) {\r\n setShowDuplicateAccountsEditModal(true);\r\n setClientAccountCodeList(duplicateCodes);\r\n return false;\r\n }\r\n setRowsAffected([]);\r\n setDataResult([]);\r\n handleAccountUpdate(rowsAffected);\r\n };\r\n\r\n const rowRender = (trElement, props) => {\r\n const style = {};\r\n\r\n if (rowsAffected.indexOf(props.dataItem) >= 0) {\r\n style.backgroundColor = \"#fffacc\";\r\n }\r\n\r\n const trProps = {\r\n style,\r\n };\r\n\r\n return React.cloneElement(\r\n trElement,\r\n { ...trProps },\r\n trElement.props.children\r\n );\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n {isEditModeEnabled && (\r\n \r\n \r\n code.clientAccountCode.trim() === \"\" ||\r\n code.clientAccountDescription.trim() === \"\" ||\r\n (code.reitTestingAttributeDescription === SUB_ATTRIBUTE && code.defaultSubAttribute && code.defaultSubAttribute.toString().trim()) === \"\"\r\n ).length > 0 ||\r\n rowsAffected.some((code) => code.reitTestingAttributeDescription === SUB_ATTRIBUTE && !code.defaultSubAttribute)\r\n }\r\n >\r\n Save\r\n \r\n {\r\n handleOnEditToggle();\r\n setRowsAffected([]);\r\n setDataResult([]);\r\n }}\r\n variant=\"secondary\"\r\n className=\"right ml-2\"\r\n >\r\n Cancel\r\n \r\n

    \r\n {rowsAffected.length} record\r\n {rowsAffected.length === 0 || rowsAffected.length > 1\r\n ? \"s\"\r\n : \"\"}{\" \"}\r\n changed\r\n

    \r\n
    \r\n )}\r\n \r\n \r\n {mappings.length == 0\r\n ? \"Click on Chart Management > Click Download Chart of Accounts > Update the downloaded file with the chart's details > Click Upload Chart of Accounts\"\r\n : `No mappings match your search text '${searchBoxText}'`}\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nChartOfAccountsTable.propTypes = {\r\n chart: PropTypes.object,\r\n theme: PropTypes.string,\r\n};\r\n\r\nexport default React.memo(ChartOfAccountsTable);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Header, Button } from \"semantic-ui-react\";\r\n\r\nimport { MotifButton,MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter, MotifLabel } from \"@ey-xd/motif-react\";\r\n\r\nconst EditSaveModalMessage = ({\r\n showEditSaveModalMessage,\r\n toggleShowEditSaveModalMessage,\r\n handleAccountUpdateConfirmation,\r\n theme\r\n}) => {\r\n // const listModalColor = theme === 'motifDark' ? '#a4a3b1' : '#656579';\r\n return (\r\n \r\n Edit Client Accounts Confirmation\r\n \r\n
    \r\n Changes will be processed as follows on submit:\r\n
      \r\n
    1. New accounts will be all created on all assignments for this chart (including closed periods).
    2. \r\n
    3. Updates to account numbers and account descriptions will be processed to all assignments for this chart (including closed periods).
    4. \r\n
    5. Changes to the default REIT testing attribute will not be pushed to any assignments for this chart – default mappings are only assigned at REIT creation or can be restored on the Account Mappings screen for each REIT period.
    6. \r\n
    \r\n Note: If you do not want to make changes to a historical period, please create a new chart.\r\n
    \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n Submit\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nEditSaveModalMessage.propTypes = {\r\n showEditSaveModalMessage: PropTypes.bool,\r\n toggleShowEditSaveModalMessage: PropTypes.func,\r\n handleAccountUpdateConfirmation: PropTypes.func,\r\n theme: PropTypes.string,\r\n};\r\n\r\nexport default EditSaveModalMessage;","import PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { Field, reduxForm, getFormValues } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { connect } from \"react-redux\";\r\nimport { MotifButton, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter, MotifErrorMessage } from '@ey-xd/motif-react';\r\n\r\n\r\n/**\r\n * CustomFdrTemplateContainer container component\r\n * @extends {React.Component}\r\n */\r\nexport class EditChartNameModal extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n const chartID = props.chartOfAccountsFormValues.chartID;\r\n\r\n const chartName =\r\n props\r\n .chartOfAccounts\r\n .charts\r\n .find(c => c.chartID === chartID)\r\n .chartName;\r\n\r\n this.props.dispatch(this.props.initialize({ chartName, chartID }));\r\n }\r\n\r\n componentDidMount() { }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n \r\n Edit Chart of Accounts\r\n \r\n \r\n
    \r\n \r\n {this.props.chartOfAccounts.duplicate\r\n &&\r\n This chart name already exists.\r\n }\r\n \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nEditChartNameModal.propTypes = {\r\n handleSubmit: PropTypes.func,\r\n onSubmit: PropTypes.func,\r\n dispatch: PropTypes.func,\r\n initialize: PropTypes.func,\r\n toggleEditNameModal: PropTypes.func,\r\n clearDuplicateErrorMessage: PropTypes.func,\r\n invalid: PropTypes.bool,\r\n pristine: PropTypes.bool,\r\n submitting: PropTypes.bool,\r\n editChartNameFormValues: PropTypes.object,\r\n chartOfAccountsFormValues: PropTypes.object,\r\n chartOfAccounts: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state) {\r\n const editChartNameFormValues = getFormValues('editChartNameForm')(state);\r\n\r\n return {\r\n editChartNameFormValues\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps)(reduxForm({ form: \"editChartNameForm\" })(EditChartNameModal));","import PropTypes from \"prop-types\";\r\nimport React, {useState} from \"react\";\r\nimport { Field, reduxForm, getFormValues,formValueSelector,change, submit } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { connect } from \"react-redux\";\r\nimport { MotifButton, MotifModal, MotifModalBody, MotifModalFooter, MotifModalHeader, MotifIcon, MotifErrorMessage } from '@ey-xd/motif-react';\r\nimport { IconoirXmark } from '@ey-xd/motif-icon';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as formParsers from \"../../scripts/formParsers\";\r\nconst CreateClientAccountModal = ({\r\n showCreateClientAccountModal,\r\n lookupTypes,\r\n invalid,\r\n submitting,\r\n isDuplicate,\r\n handleSubmit,\r\n handleAddClientAccount,\r\n toggleShowCreateClientAccountModal,\r\n clearDuplicateChartOfAccountErrorMessage,\r\n defaultREITTestingAttributeID,\r\n clientAccountCategoryID,\r\n change\r\n}) => {\r\n const [selectedAttribute, setSelectedAttribute] = useState(null);\r\n const SUB_ATTRIBUTE = \"Non-qualifying Asset : AO300 : Non-qualifying Security\";\r\n\r\n const clientAccountCategoriesOptions = lookupTypes.clientAccountCategories.filter(cac => cac.clientAccountCategoryID !== 0).map((c) => {\r\n return {\r\n key: c.clientAccountCategoryID,\r\n value: c.clientAccountCategoryID,\r\n text: c.clientAccountCategoryDescription,\r\n };\r\n });\r\n\r\n const reitTestingAttributesOptions = lookupTypes.reitTestingAttributes.filter(rta => rta.reitTestingAttributeID !== 0).map((r) => {\r\n return {\r\n key: r.reitTestingAttributeID,\r\n value: r.reitTestingAttributeID,\r\n text: r.reitTestingAttributeDescription,\r\n };\r\n });\r\n\r\n function clearDropDownValueFromForm(dropdownName)\r\n { \r\n change(dropdownName, '');\r\n\r\n }\r\n\r\n const handleAttributeChange = (newValue) => {\r\n let selectedText = reitTestingAttributesOptions.find(attribute => attribute.key.toString() === newValue)?.text;\r\n setSelectedAttribute(selectedText);\r\n\r\n if(selectedText !== SUB_ATTRIBUTE) {\r\n // Additional logic to clear or set values based on the selection\r\n clearDropDownValueFromForm('defaultSubAttribute');\r\n }\r\n };\r\n\r\n const close = () => {\r\n toggleShowCreateClientAccountModal();\r\n setSelectedAttribute(null);\r\n }\r\n \r\n return (\r\n \r\n \r\n Add Client Account\r\n \r\n \r\n
    {handleSubmit(handleAddClientAccount)(e); setSelectedAttribute(null);}} id=\"createClientAccountForm\">\r\n \r\n
    \r\n
    \r\n \r\n {isDuplicate\r\n &&\r\n This client account number already exists.\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n clearDropDownValueFromForm('clientAccountCategoryID')} /> }}\r\n component={formHelpers.SingleSelectComponent}>\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n clearDropDownValueFromForm('defaultREITTestingAttributeID')} /> }}\r\n onChange={handleAttributeChange}\r\n >\r\n \r\n
    \r\n
    \r\n\r\n {selectedAttribute === SUB_ATTRIBUTE && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nCreateClientAccountModal.propTypes = {\r\n showCreateClientAccountModal: PropTypes.bool,\r\n handleAddClientAccount: PropTypes.func,\r\n toggleShowCreateClientAccountModal: PropTypes.func,\r\n initialValues: PropTypes.object,\r\n invalid: PropTypes.bool,\r\n submitting: PropTypes.bool,\r\n};\r\n\r\nfunction mapStateToProps(state) {\r\n const selector = formValueSelector('createClientAccountModal');\r\n const createClientAccountFormValues = getFormValues('createClientAccountModal')(state);\r\n\r\n return {\r\n createClientAccountFormValues,\r\n defaultREITTestingAttributeID: selector(state, 'defaultREITTestingAttributeID'),\r\n clientAccountCategoryID:selector(state, 'clientAccountCategoryID'),\r\n };\r\n}\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n change: bindActionCreators(change, dispatch),\r\n };\r\n\r\n};\r\n\r\nexport default connect(\r\n (state, props) => (mapStateToProps)\r\n)(reduxForm({ form: \"createClientAccountModal\", enableReinitialize: true })(CreateClientAccountModal));","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Header, Button } from \"semantic-ui-react\";\r\nimport { MotifButton,MotifModal,MotifModalHeader,MotifModalBody,MotifModalFooter } from \"@ey-xd/motif-react\";\r\n\r\n\r\nconst ChangeDefaultChartOfAccountsModal = ({\r\n showChangeDefaultChartModal,\r\n handleChangeDefaultChart,\r\n toggleShowChangeDefaultChartModal \r\n}) => {\r\n return (\r\n \r\n Set as Default for Client\r\n \r\n
    \r\n
    \r\n Are you sure you want to change the default chart of accounts for the Client?\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n No\r\n \r\n \r\n Yes\r\n \r\n \r\n\r\n
    \r\n );\r\n};\r\n\r\nChangeDefaultChartOfAccountsModal.propTypes = {\r\n showChangeDefaultChartModal: PropTypes.bool,\r\n handleChangeDefaultChart: PropTypes.func,\r\n toggleShowChangeDefaultChartModal: PropTypes.func\r\n};\r\n\r\nexport default ChangeDefaultChartOfAccountsModal;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Icon, Header } from 'semantic-ui-react';\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as chartOfAccountActions from \"../../actions/chartOfAccountsManagerActions\";\r\nimport { MotifButton, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter,MotifFormField,MotifFileUploader, MotifIcon, MotifMessage } from '@ey-xd/motif-react';\r\nimport { IconoirXmarkCircle, IconoirCheckCircle } from '@ey-xd/motif-icon';\r\nimport * as Constants from '../../constants/other';\r\n\r\n/**\r\n * Container component used for uploading chart files\r\n */\r\nexport class ChartUploadModal extends React.Component {\r\n /**\r\n * Creates a new ChartUploadModal\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.renderUploadStatus = this.renderUploadStatus.bind(this);\r\n this.onDrop = this.onDrop.bind(this);\r\n this.onDropRejected = this.onDropRejected.bind(this);\r\n this.handleClose = this.handleClose.bind(this);\r\n\r\n this.state = {\r\n status: null,\r\n rejectedFiles: [],\r\n acceptedFiles: [],\r\n validationErrors: [],\r\n fileTypes: {\r\n \"application/vnd.ms-excel\": [\".xlsx\"],\r\n }\r\n };\r\n\r\n this.acceptedFileExtensions = '.xlsx';\r\n }\r\n\r\n handleClose() {\r\n this.setState({ status: null, rejectedFiles: [], acceptedFiles: [], validationErrors: [] });\r\n this.props.handleChartSelection(this.props.chartOfAccountsFormValues.chartID);\r\n this.props.toggleShowUploadChartModal();\r\n }\r\n\r\n onDrop(acceptedFiles, rejectedFiles) {\r\n if (Array.isArray(rejectedFiles) && rejectedFiles.length > 0) {\r\n this.setState({ status: 'Rejected', rejectedFiles, acceptedFiles: [], validationErrors: [] });\r\n } else if (Array.isArray(acceptedFiles)) {\r\n this.setState({ status: 'Uploading', rejectedFiles: [], acceptedFiles: acceptedFiles, validationErrors: [] });\r\n\r\n this.props.chartOfAccountActions.uploadChartofAccounts(this.props.clientId, this.props.chartOfAccountsFormValues.chartID, acceptedFiles[0])\r\n .then(response => {\r\n if (response && response.errorResponse && response.errorResponse.errorCode) {\r\n //SERVER ERROR, BAD REQUEST\r\n this.setState({ status: null, rejectedFiles: [], acceptedFiles: [], validationErrors: [] });\r\n this.props.toggleShowUploadChartModal();\r\n }\r\n else if (response && response.uploadChartValidationError && Array.isArray(response.uploadChartValidationError) && response.uploadChartValidationError.length > 0) {\r\n this.setState({ status: 'Error', acceptedFiles: acceptedFiles, validationErrors: response.uploadChartValidationError });\r\n } else {\r\n this.setState({ status: 'Success', acceptedFiles: acceptedFiles, validationErrors: [] });\r\n }\r\n });\r\n }\r\n }\r\n\r\n onDropRejected(rejectedFiles) {\r\n if (Array.isArray(rejectedFiles) && rejectedFiles.length > 0) {\r\n this.setState({ status: 'Rejected', rejectedFiles, acceptedFiles: [], validationErrors: [] });\r\n }\r\n }\r\n\r\n renderUploadStatus() {\r\n let msg;\r\n let rejectedDetailMsg;\r\n\r\n if (this.state.status == 'Uploading') {\r\n msg = 'Uploading file(s)';\r\n } else if (this.state.status == 'Success') {\r\n msg = 'File has successfully been processed.';\r\n if (this.state.acceptedFiles && this.state.acceptedFiles.length > 0) {\r\n var acceptedfileName = this.state.acceptedFiles[0].name;\r\n msg = acceptedfileName + ' has successfully been processed.';\r\n }\r\n } else if (this.state.status == 'Rejected') {\r\n if (this.state.rejectedFiles && this.state.rejectedFiles.length > 1) {\r\n //Upload more than one file\r\n\r\n msg = 'Upload failed.';\r\n rejectedDetailMsg = 'Cannot upload more than one file.'\r\n }\r\n else {\r\n //Upload single non xlsx type file or Upload two xlsx type files\r\n\r\n msg = 'Upload failed.';\r\n rejectedDetailMsg = 'Cannot upload more than one file.';\r\n\r\n if (this.state.rejectedFiles && this.state.rejectedFiles.length == 1) {\r\n let file = this.state.rejectedFiles[0].file;\r\n let fileName = file.name;\r\n if (fileName) {\r\n let fileExtension = fileName.substr((fileName.lastIndexOf('.') + 1));\r\n if (fileExtension.toUpperCase() != \"XLSX\") {\r\n rejectedDetailMsg = 'The format of the file you submitted is not supported. The only supported format for a Chart of Accounts Template is XLSX.';\r\n }\r\n else if (file.size > Constants.MAX_UPLOAD_FILE_SIZE_IN_BYTES) {\r\n rejectedDetailMsg = 'The file size has exceeded max limit of ' + Constants.MAX_UPLOAD_FILE_SIZE_IN_MB + 'MB.';\r\n }\r\n else {\r\n rejectedDetailMsg = 'Cannot upload more than one file.';\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n } else if (this.state.status == 'Error') {\r\n msg = 'Upload failed.'\r\n }\r\n\r\n return msg &&\r\n \r\n {this.state.status == 'Success' &&
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {msg}\r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n\r\n {this.state.status == 'Error' &&
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {msg}\r\n
    \r\n
    \r\n
    \r\n {this.state.validationErrors && this.state.validationErrors.length > 0 && this.state.validationErrors.map((e, index) =>\r\n
    \r\n {e.error}\r\n
    \r\n )}\r\n
    \r\n }\r\n\r\n {this.state.status == 'Rejected' &&
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {msg}\r\n
    \r\n
    \r\n
    \r\n
    {rejectedDetailMsg}
    \r\n
    \r\n }\r\n\r\n {this.state.status == 'Uploading' &&
    \r\n {msg}\r\n
    \r\n }\r\n\r\n
    ;\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n return (\r\n \r\n \r\n \r\n Upload Chart of Accounts\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {this.renderUploadStatus()}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Close\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nChartUploadModal.propTypes = {\r\n toggleShowUploadChartModal: PropTypes.func.isRequired,\r\n showUploadChartModal: PropTypes.bool.isRequired,\r\n authHeader: PropTypes.object,\r\n chartOfAccountsFormValues: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n* @param {Object} state The state\r\n* @param {Object} ownProps The properties of the component\r\n* @returns {Object} An object containing properties that the component can access\r\n*/\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n chartOfAccountActions: bindActionCreators(chartOfAccountActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ChartUploadModal);","import React from \"react\";\r\nimport { Menu, Form } from 'semantic-ui-react';\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { getFormValues, SubmissionError, Field, reduxForm, reset, change } from \"redux-form\";\r\nimport * as actions from \"../../actions/chartOfAccountsManagerActions\";\r\nimport * as commonActions from '../../actions/commonActions';\r\nimport * as lookupTypeActions from '../../actions/lookupTypeActions';\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { store } from \"../../store/configureStore\";\r\nimport ChartOfAccountsManagerHeader from \"../../components/chartOfAccountsManager/ChartOfAccountsManagerHeader\";\r\nimport CreateChartOfAccountsModal from \"../../components/chartOfAccountsManager/CreateChartOfAccountsModal\";\r\nimport DeleteChartOfAccountsModal from \"../../components/chartOfAccountsManager/DeleteChartOfAccountsModal\";\r\nimport ChartOfAccountsTable from \"../../components/chartOfAccountsManager/ChartOfAccountsTable\";\r\nimport EditSaveModalMessage from \"../../components/chartOfAccountsManager/EditSaveModalMessage\";\r\nimport EditChartNameModal from '../../components/chartOfAccountsManager/EditChartNameModal';\r\nimport CreateClientAccountModal from \"../../components/chartOfAccountsManager/CreateClientAccountModal\";\r\nimport ChangeDefaultChartOfAccountsModal from '../../components/chartOfAccountsManager/ChangeDefaultChartOfAccountsModal';\r\nimport ChartUploadModal from '../../components/chartOfAccountsManager/ChartUploadModal';\r\nimport { MotifTabNavigation, MotifTabControl } from \"@ey-xd/motif-react\";\r\nimport { Link } from 'react-router-dom';\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * ChartOfAccountsManagerContainer container component\r\n * @extends {React.Component}\r\n */\r\nexport class ChartOfAccountsManagerContainer extends React.Component {\r\n /**\r\n * Creates a new ChartOfAccountsManagerContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.updateInitialValues = this.updateInitialValues.bind(this);\r\n this.handleCancel = this.handleCancel.bind(this);\r\n this.handleCreateChart = this.handleCreateChart.bind(this);\r\n this.handleSaveAsTemplate = this.handleSaveAsTemplate.bind(this);\r\n this.handleChartSelection = this.handleChartSelection.bind(this);\r\n this.toggleShowCreateTemplateModal = this.toggleShowCreateTemplateModal.bind(this);\r\n this.toggleShowCreateClientAccountModal = this.toggleShowCreateClientAccountModal.bind(this);\r\n this.toggleShowUploadChartModal = this.toggleShowUploadChartModal.bind(this);\r\n this.clearDuplicateErrorMessage = this.clearDuplicateErrorMessage.bind(this);\r\n this.clearDuplicateChartOfAccountErrorMessage = this.clearDuplicateChartOfAccountErrorMessage.bind(this);\r\n this.handleDeleteTemplate = this.handleDeleteTemplate.bind(this);\r\n this.toggleShowDeleteTemplateModal = this.toggleShowDeleteTemplateModal.bind(this);\r\n this.handleChangeDefaultChart = this.handleChangeDefaultChart.bind(this);\r\n this.toggleShowChangeDefaultChartModal = this.toggleShowChangeDefaultChartModal.bind(this);\r\n this.onUploadCoaFile = this.onUploadCoaFile.bind(this);\r\n this.onDownloadCoaTemplate = this.onDownloadCoaTemplate.bind(this);\r\n this.handleAddClientAccount = this.handleAddClientAccount.bind(this);\r\n this.handleOnEditToggle = this.handleOnEditToggle.bind(this);\r\n this.handleSearchBox = this.handleSearchBox.bind(this);\r\n this.toggleEditNameModal = this.toggleEditNameModal.bind(this);\r\n this.handleNameUpdate = this.handleNameUpdate.bind(this);\r\n this.handleClearSearchText = this.handleClearSearchText.bind(this);\r\n this.handleAccountUpdate = this.handleAccountUpdate.bind(this);\r\n this.handleAccountUpdateConfirmation = this.handleAccountUpdateConfirmation.bind(this);\r\n this.toggleShowEditSaveModalMessage = this.toggleShowEditSaveModalMessage.bind(this);\r\n //this.preventSubmitOnEnter = this.preventSubmitOnEnter.bind(this);\r\n\r\n this.setTabBar1 = this.setTabBar1.bind(this);\r\n this.handleClick = this.handleClick.bind(this);\r\n\r\n this.state = {\r\n showCreateTemplateModal: false,\r\n showCreateClientAccountModal: false,\r\n showDeleteTemplateModal: false,\r\n showChangeDefaultChartModal: false,\r\n showUploadChartModal: false,\r\n mode: 'create',\r\n isEditModeEnabled: false,\r\n selectedChart: {\r\n chartMappings: []\r\n },\r\n uploadCoaFileStatus: null,\r\n uniqueKey: 1,\r\n searchBoxText: \"\",\r\n showEditSaveModalMessage: false,\r\n tabBar1: 0,\r\n chartsToUpdate: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n // Fetch the charts for the dropdown\r\n this.props.actions.fetchCharts(this.props.clientId).then(() => {\r\n let defaultChartID = -1;\r\n\r\n // Attempt to find a default chart and select its ID in the dropdown\r\n if (this.props.chartOfAccounts && this.props.chartOfAccounts.charts && this.props.chartOfAccounts.charts.find(c => c.isDefault)) {\r\n defaultChartID = this.props.chartOfAccounts.charts.find(c => c.isDefault).chartID;\r\n }\r\n this.props.lookupTypeActions.fetchChartOfAccountTypes();\r\n if (defaultChartID > 0) {\r\n this.props.actions.fetchChartOfAccountsById(defaultChartID).then(fetchedChartMappings => {\r\n this.setState({\r\n selectedChart: { chartMappings: fetchedChartMappings },\r\n uniqueKey: ++this.state.uniqueKey\r\n });\r\n });\r\n this.props.dispatch(this.props.initialize({ chartID: defaultChartID }));\r\n }\r\n });\r\n }\r\n\r\n\r\n updateInitialValues(chartID, fdrTemplateName) {\r\n const values = Object.assign({}, {\r\n chartID,\r\n fdrTemplateName\r\n });\r\n\r\n this.props.dispatch(this.props.initialize(\r\n values,\r\n { options: { updateUnregisteredFields: true } }\r\n ));\r\n }\r\n\r\n //Set tab related state variables\r\n setTabBar1(currentIndex) {\r\n this.setState({ tabBar1: currentIndex });\r\n }\r\n\r\n //Set current tab index\r\n handleClick(index) {\r\n this.setTabBar1(index);\r\n }\r\n\r\n handleAddClientAccount(values) {\r\n const clientAccountCategoryID = values.clientAccountCategoryID !== undefined ? values.clientAccountCategoryID : null;\r\n this.props.actions.createChartOfAccount(\r\n this.props.clientId,\r\n this.props.chartOfAccountsFormValues.chartID,\r\n values.clientAccountCode,\r\n values.clientAccountDescription,\r\n clientAccountCategoryID,\r\n values.defaultREITTestingAttributeID,\r\n values.defaultSubAttribute).then((newChartOfAccountID) => {\r\n if (newChartOfAccountID && newChartOfAccountID.response && newChartOfAccountID.response.errorCode == 'DUPLICATE_RECORD_ERROR') {\r\n // Duplicate error\r\n\r\n }\r\n else if (!newChartOfAccountID.response) {\r\n this.handleChartSelection(this.props.chartOfAccountsFormValues.chartID);\r\n this.toggleShowCreateClientAccountModal();\r\n }\r\n });\r\n }\r\n\r\n handleOnEditToggle() {\r\n this.setState(\r\n {\r\n isEditModeEnabled: !this.state.isEditModeEnabled\r\n }\r\n );\r\n }\r\n\r\n handleCancel() {\r\n this.handleChartSelection(this.props.chartOfAccountsFormValues.chartID);\r\n }\r\n\r\n onUploadCoaFile(acceptedFiles, rejectedFiles) {\r\n if (Array.isArray(rejectedFiles) && rejectedFiles.length > 0) {\r\n this.setState({ uploadCoaFileStatus: 'Rejected' });\r\n } else if (Array.isArray(acceptedFiles)) {\r\n this.setState({ uploadCoaFileStatus: 'Uploading' });\r\n\r\n this.props.actions.uploadCoaFileAndGetCoaMappings(\r\n acceptedFiles,\r\n this.props.clientId)\r\n .then(responses => {\r\n if (responses.every(r => r)) {\r\n this.setState({ uploadCoaFileStatus: 'Success' });\r\n } else {\r\n this.setState({ uploadCoaFileStatus: 'Error' });\r\n }\r\n });\r\n }\r\n }\r\n\r\n onDownloadCoaTemplate(clientId) {\r\n // this.props.commonActions.beginTask();\r\n // return actions.downloadCoaTemplate(clientId).then(blob => {\r\n // this.props.commonActions.endTask();\r\n // return blob;\r\n // });\r\n }\r\n\r\n handleSearchBox(e) {\r\n this.setState({\r\n searchBoxText: e.target.value\r\n })\r\n }\r\n\r\n handleClearSearchText() {\r\n this.setState({\r\n searchBoxText: \"\"\r\n })\r\n }\r\n\r\n handleNameUpdate(values) {\r\n this.props\r\n .actions\r\n .updateChartName(values.chartID, values.chartName)\r\n .then(response => {\r\n if (response &&\r\n response.response &&\r\n response.response.errorCode == 'DUPLICATE_RECORD_ERROR') {\r\n return;\r\n }\r\n\r\n this.props.actions.fetchCharts(this.props.clientId).then(() => {\r\n this.toggleEditNameModal();\r\n this.props.dispatch(this.props.change('chartID', values.chartID));\r\n });\r\n });\r\n }\r\n\r\n handleAccountUpdate(chartsToUpdate) {\r\n this.setState(\r\n {\r\n chartsToUpdate: chartsToUpdate,\r\n isEditModeEnabled: false,\r\n showEditSaveModalMessage: true\r\n }\r\n );\r\n }\r\n\r\n handleAccountUpdateConfirmation() {\r\n this.props\r\n .actions\r\n .updateChartOfAccountsById(this.props.chartOfAccountsFormValues.chartID, this.state.chartsToUpdate)\r\n .then(response => {\r\n this.setState(\r\n {\r\n chartsToUpdate: [],\r\n isEditModeEnabled: false,\r\n showEditSaveModalMessage: false\r\n }\r\n );\r\n\r\n this.handleChartSelection(this.props.chartOfAccountsFormValues.chartID)\r\n });\r\n }\r\n\r\n handleCreateChart(values) {\r\n this.props.actions.createChart(this.props.clientId, values.chartName, values.copyExistingChart, values.isDefault, values.copyChartID).then((newChartID) => {\r\n if (newChartID && newChartID.response && newChartID.response.errorCode == 'DUPLICATE_RECORD_ERROR') {\r\n // Duplicate error\r\n }\r\n else if (!newChartID.response) {\r\n // Chart created successfully\r\n // Refresh chart list and then select newly created chart in the dropdown\r\n this.props.actions.fetchCharts(this.props.clientId).then(() => {\r\n this.toggleShowCreateTemplateModal();\r\n this.props.dispatch(this.props.change('chartID', newChartID));\r\n if (newChartID && (!newChartID.errorResponse || newChartID.errorResponse.errorCode !== \"UNAUTHORIZED\")) {\r\n this.handleChartSelection(newChartID);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n handleSaveAsTemplate(values) {\r\n let chartId = values.chartId ? values.chartId : this.props.chartOfAccountsFormValues.chartID;\r\n this.props.actions.SaveAsNewFDRTemplate(this.props.clientId, chartId, values.fdrTemplateName, this.getHtml(this.editor.view.state)).then((newChartId) => {\r\n if (newChartId && newChartId.response && newChartId.response.errorCode == 'DUPLICATE_RECORD_ERROR') {\r\n //Duplicate error\r\n }\r\n else {\r\n //If the values.chartId its equal to -1 it because is a new template otherwise is a current template to be modified\r\n this.props.actions.fetchchartOfAccounts(this.props.clientId).then(() => {\r\n this.toggleShowCreateTemplateModal();\r\n this.props.dispatch(this.props.change('chartID', newChartId));\r\n });\r\n\r\n }\r\n });\r\n }\r\n\r\n handleChartSelection(chartId) {\r\n // -1 is \"Select an existing template\"\r\n // if (chartId === -1) {\r\n // //Here is the code to hanlde the \"Select an Existing Chart\" option\r\n // return false;\r\n // } else {\r\n\r\n // Fetch the template contents (html)\r\n this.props.actions.fetchChartOfAccountsById(chartId).then(fetchedChartMappings => {\r\n this.setState({\r\n selectedChart: { chartMappings: fetchedChartMappings },\r\n uniqueKey: ++this.state.uniqueKey\r\n });\r\n });\r\n\r\n // }\r\n }\r\n\r\n clearDuplicateErrorMessage() {\r\n this.props.actions.clearDuplicateMessage();\r\n }\r\n\r\n clearDuplicateChartOfAccountErrorMessage() {\r\n this.props.actions.clearDuplicateChartOfAccountMessage();\r\n }\r\n\r\n toggleShowCreateTemplateModal(mode) {\r\n this.props.actions.clearDuplicateMessage();\r\n this.setState({\r\n showCreateTemplateModal: !this.state.showCreateTemplateModal,\r\n mode: mode\r\n });\r\n }\r\n\r\n toggleEditNameModal() {\r\n this.props.actions.clearDuplicateMessage();\r\n\r\n this.setState({\r\n showEditNameModal: !this.state.showEditNameModal\r\n });\r\n }\r\n\r\n\r\n toggleShowCreateClientAccountModal() {\r\n this.clearDuplicateChartOfAccountErrorMessage();\r\n this.setState({\r\n showCreateClientAccountModal: !this.state.showCreateClientAccountModal,\r\n }, () => {\r\n if (!this.state.showEditCustomQuestionModal) {\r\n store.dispatch(reset('createClientAccountModal'));\r\n }\r\n });\r\n }\r\n\r\n toggleShowUploadChartModal() {\r\n this.setState({\r\n showUploadChartModal: !this.state.showUploadChartModal\r\n });\r\n }\r\n\r\n handleDeleteTemplate() {\r\n this.props.actions.deleteFdrTemplateById(this.props.chartOfAccountsFormValues.chartID).then(() => {\r\n this.toggleShowDeleteTemplateModal();\r\n this.props.dispatch(this.props.change('chartID', -1));\r\n });\r\n }\r\n\r\n toggleShowDeleteTemplateModal() {\r\n this.setState({\r\n showDeleteTemplateModal: !this.state.showDeleteTemplateModal\r\n });\r\n }\r\n\r\n handleChangeDefaultChart() {\r\n\r\n //Get selected chart id\r\n var newDefaultChartId = this.props && this.props.chartOfAccountsFormValues && this.props.chartOfAccountsFormValues.chartID;\r\n\r\n if (newDefaultChartId > 0) {\r\n\r\n //Set selected chart to default chart of client\r\n this.props\r\n .actions\r\n .updateChartAsDefault(newDefaultChartId)\r\n .then(response => {\r\n this.props.actions.fetchCharts(this.props.clientId).then(() => {\r\n this.toggleShowChangeDefaultChartModal();\r\n this.props.dispatch(this.props.change('chartID', newDefaultChartId));\r\n });\r\n });\r\n }\r\n else {\r\n this.toggleShowChangeDefaultChartModal();\r\n }\r\n }\r\n\r\n toggleShowChangeDefaultChartModal() {\r\n this.setState({\r\n showChangeDefaultChartModal: !this.state.showChangeDefaultChartModal\r\n });\r\n }\r\n\r\n toggleShowEditSaveModalMessage() {\r\n this.setState({\r\n chartsToUpdate: [],\r\n showEditSaveModalMessage: !this.state.showEditSaveModalMessage\r\n });\r\n }\r\n\r\n\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n\r\n\r\n return (\r\n \r\n

    Chart of Accounts Manager

    \r\n \r\n \r\n this.handleClick(1)}>\r\n Chart of Accounts\r\n \r\n \r\n \r\n this.handleClick(2)}>\r\n Chart Assignments\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {this.props.chartOfAccountsFormValues && this.props.chartOfAccountsFormValues.chartID != -1 &&\r\n \r\n }\r\n
    \r\n
    \r\n\r\n {this.props.chartOfAccountsFormValues && this.props.chartOfAccountsFormValues.chartId !== -1 &&\r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    Questions in the Template
    \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.showCreateTemplateModal &&\r\n \r\n }\r\n\r\n {this.state.showEditNameModal &&\r\n \r\n }\r\n\r\n\r\n \r\n\r\n \r\n\r\n {this.state.showChangeDefaultChartModal && \r\n }\r\n\r\n \r\n\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nChartOfAccountsManagerContainer.propTypes = {\r\n clientId: PropTypes.number,\r\n actions: PropTypes.object.isRequired,\r\n commonActions: PropTypes.object.isRequired,\r\n chartOfAccountsFormValues: PropTypes.object,\r\n chartOfAccounts: PropTypes.object,\r\n lookupTypes: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n clientId: Number.parseInt(ownProps.router.params.clientId),\r\n chartOfAccounts: state.chartOfAccountsManager,\r\n chartOfAccountsFormValues: getFormValues('chartOfAccountsForm')(state),\r\n lookupTypes: state.lookupTypes,\r\n theme: state.themeServices,\r\n createChartModalFormValues: getFormValues('createChartModalForm')(state),\r\n createClientAccountFormValues: getFormValues('createClientAccountModal')(state),\r\n editChartNameFormValues: getFormValues('editChartNameForm')(state),\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(actions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n lookupTypeActions: bindActionCreators(lookupTypeActions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(\r\n reduxForm({ form: \"chartOfAccountsForm\", enableReinitialize: true })(ChartOfAccountsManagerContainer)\r\n )\r\n);\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Field, reduxForm } from 'redux-form';\r\n//import { Form } from 'semantic-ui-react';\r\nimport * as formHelpers from '../../scripts/formHelpers';\r\nimport { fetchFromTrialBalanceApi } from '../../actions/fetchFromApi';\r\nimport { download } from '../../scripts/fileHelpers';\r\nimport { MotifFormField, MotifLabel, MotifSearch, MotifButton } from '@ey-xd/motif-react';\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\nconst ChartAssignmentHeader = ({\r\n calendarYears,\r\n reits,\r\n handleCalendarYearSelection,\r\n handleReitSelection,\r\n handleSearchBox,\r\n searchBoxText,\r\n handleClearSearchText,\r\n clientId,\r\n chartAssignmentFormValues,\r\n rowsAffected\r\n}) => {\r\n\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n const calendarYearOptions = calendarYears.map(cy => {\r\n return { key: cy, value: cy, text: cy }\r\n });\r\n\r\n const reitOptions = reits.map(r => {\r\n return { key: r.reitID, value: r.reitID, text: r.reitShortName }\r\n });\r\n\r\n function downloadChartOfAssignments() {\r\n fetchFromTrialBalanceApi(`/chartAssignment/download?clientId=${clientId}&year=${chartAssignmentFormValues.calendarYear}`)\r\n .then(function (response) {\r\n return response.blob().then(function (blob) {\r\n const contentDisposition =\r\n response.headers.get(\"Content-Disposition\");\r\n\r\n const filename =\r\n contentDisposition.split(';')[1].split('=')[1].trim();\r\n\r\n download(blob, filename);\r\n });\r\n })\r\n .catch(e => console.error(e));\r\n }\r\n \r\n return (
    \r\n {/*
    */}\r\n
    \r\n
    \r\n 0} />\r\n
    \r\n\r\n
    \r\n 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 {calendarYearOptions && calendarYearOptions.length > 0 &&\r\n
    \r\n Export Assignments\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nChartAssignmentHeader.propTypes = {\r\n calendarYears: PropTypes.array,\r\n reits: PropTypes.array, \r\n handleClearSearchText: PropTypes.func,\r\n}\r\n\r\nexport default reduxForm({ form: \"chartAssignmentForm\" })(ChartAssignmentHeader);","import React, { useState, useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Header, Button } from \"semantic-ui-react\";\r\nimport { Table } from \"react-bootstrap\";\r\nimport { MotifButton, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter, MotifLabel, MotifInput } from '@ey-xd/motif-react';\r\nimport { Field, } from 'redux-form';\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\n\r\nconst ChartAssignmentConfirmationModal = ({\r\n showChartAssignmentConfirmationModal,\r\n toggleShowChartAssignmentConfirmationModal,\r\n modifiedMappingsArray,\r\n handleConfirm,\r\n type,\r\n}) => {\r\n const [rowRecords, setrowRecords] = useState([]);\r\n const [confirmationInputText, setConfirmationInputText] = useState('');\r\n const [saveEnabled, setSaveEnabled] = useState(false);\r\n useEffect(() => {\r\n let processedModifiedRecordsArray = [];\r\n //The first part of the object toggles the set betwwen reitName and propertyName property of the object\r\n //Then sets the new value and checks if the new value is inherit from REIT so it can places Default(REIT Chart) text if not it togles between the property and reit value\r\n //The same for the old chart check if the id the old value isInheritFromReit flag and places the Default(REIT Chart) text\r\n modifiedMappingsArray.forEach(mapping => {\r\n if (mapping.isDirty.Quarter1) {\r\n processedModifiedRecordsArray.push({ [type == 'reit' ? 'reitName' : 'propertyName']: mapping.isInheritFromReit == true ? 'Default(REIT Chart)' : type == 'reit' ? mapping.reitName : mapping.propertyName, quarter: \"Q1\", oldChart: mapping.originalState.Quarter1.isInheritFromReit == true ? 'Default(REIT Chart)' : mapping.originalState.Quarter1.chartName, newChart: mapping.Quarter1.chartName })\r\n }\r\n if (mapping.isDirty.Quarter2) {\r\n processedModifiedRecordsArray.push({ [type == 'reit' ? 'reitName' : 'propertyName']: mapping.isInheritFromReit == true ? 'Default(REIT Chart)' : type == 'reit' ? mapping.reitName : mapping.propertyName, quarter: \"Q2\", oldChart: mapping.originalState.Quarter2.isInheritFromReit == true ? 'Default(REIT Chart)' : mapping.originalState.Quarter2.chartName, newChart: mapping.Quarter2.chartName })\r\n }\r\n if (mapping.isDirty.Quarter3) {\r\n processedModifiedRecordsArray.push({ [type == 'reit' ? 'reitName' : 'propertyName']: mapping.isInheritFromReit == true ? 'Default(REIT Chart)' : type == 'reit' ? mapping.reitName : mapping.propertyName, quarter: \"Q3\", oldChart: mapping.originalState.Quarter3.isInheritFromReit == true ? 'Default(REIT Chart)' : mapping.originalState.Quarter3.chartName, newChart: mapping.Quarter3.chartName })\r\n }\r\n if (mapping.isDirty.Quarter4) {\r\n processedModifiedRecordsArray.push({ [type == 'reit' ? 'reitName' : 'propertyName']: mapping.isInheritFromReit == true ? 'Default(REIT Chart)' : type == 'reit' ? mapping.reitName : mapping.propertyName, quarter: \"Q4\", oldChart: mapping.originalState.Quarter4.isInheritFromReit == true ? 'Default(REIT Chart)' : mapping.originalState.Quarter4.chartName, newChart: mapping.Quarter4.chartName })\r\n }\r\n })\r\n setrowRecords(processedModifiedRecordsArray);\r\n }, [modifiedMappingsArray])\r\n\r\n const handleConfirmationInput = (e) => {\r\n setConfirmationInputText(e.target.value);\r\n if (/^Delete$/gi.test(e.target.value)) {\r\n setSaveEnabled(true);\r\n } else {\r\n setSaveEnabled(false);\r\n }\r\n }\r\n const showHideConfirmationModal = () => {\r\n setConfirmationInputText('');\r\n toggleShowChartAssignmentConfirmationModal();\r\n };\r\n\r\n const closeButtonProps = {\r\n title: 'Edit Account Notification',\r\n 'aria-label': 'Edit Account Notification',\r\n 'data-testid': 'close',\r\n };\r\n\r\n return (\r\n \r\n \r\n Confirm Chart of Accounts Changes\r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n rowRecords.map((mapping, index) => {\r\n return \r\n \r\n \r\n \r\n \r\n \r\n })\r\n }\r\n \r\n
    REIT/PropertyPeriodOld ChartNew Chart
    {type == 'reit' ? mapping.reitName : mapping.propertyName}{mapping.quarter}{mapping.oldChart}{mapping.newChart}
    \r\n If you change the chart for a period that has TB data, then all the existing TB data, system-created securities, and the associated test results will be deleted. \r\n Type 'Delete' in the box below to confirm you want to make these changes.\r\n \r\n {/* */}\r\n \r\n
    \r\n \r\n {\r\n setConfirmationInputText('');\r\n toggleShowChartAssignmentConfirmationModal();\r\n }}\r\n type=\"button\" >Cancel\r\n \r\n Confirm\r\n \r\n
    \r\n );\r\n};\r\n\r\nChartAssignmentConfirmationModal.propTypes = {\r\n showChartAssignmentConfirmationModal: PropTypes.bool,\r\n toggleShowChartAssignmentConfirmationModal: PropTypes.func,\r\n modifiedMappingsArray: PropTypes.array,\r\n handleConfirm: PropTypes.func,\r\n theme: PropTypes.string,\r\n};\r\n\r\nexport default ChartAssignmentConfirmationModal;","import React, { useState, useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Grid, GridColumn, GridNoRecords, GridToolbar } from \"@progress/kendo-react-grid\";\r\nimport { process } from '@progress/kendo-data-query';\r\nimport { Header, Button } from \"semantic-ui-react\";\r\nimport mapping from \"../../reducers/mappingReducer\";\r\nimport Select from 'react-select';\r\nimport { Input } from \"@progress/kendo-react-inputs\";\r\nimport ChartAssignmentConfirmationModal from './ChartAssignmentConfirmationModal';\r\nimport { MotifButton } from '@ey-xd/motif-react';\r\n\r\nlet globalCharts = [];\r\nlet globalDefaultChart = {};\r\n\r\nconst DropDownCell = props => {\r\n let optionsData = props.optionsData || [];\r\n const {\r\n dataItem\r\n } = props;\r\n const field = props.field || '';\r\n const dataValue = dataItem[field] === null ? {} : dataItem[field];\r\n let optionValue = { label: dataValue.chartName, value: dataValue.chartID };\r\n\r\n //This triggers the itemChange\r\n const handleChange = e => {\r\n if (props.onChange) {\r\n props.onChange({\r\n dataIndex: 0,\r\n dataItem: props.dataItem,\r\n field: props.field,\r\n syntheticEvent: e.syntheticEvent,\r\n value: e\r\n });\r\n }\r\n };\r\n let showSelect = dataValue.periodID != null && !dataValue.isClosed &&\r\n !(dataValue.periodStatusDescription == 'Closed to Testing'\r\n || dataValue.periodStatusDescription == 'Closed to Reporting'\r\n || dataValue.periodStatusDescription == 'Complete');\r\n\r\n let textValue = dataValue.periodID == null ? \"Period not Created\" : dataValue.chartName;\r\n return \r\n {showSelect ? ({ ...styles, background: dataItem.isDirty[field] ? \"rgb(255 242 127)\" : \"\" })\r\n }}\r\n onChange={handleChange}\r\n /> : textValue}\r\n ;\r\n};\r\n\r\nconst ChartSelectionCell = (props) => ;\r\n\r\nconst ChartAssignmentAllReitsTable = ({\r\n reitsArray,\r\n searchBoxText,\r\n handleReitUpdate,\r\n chartOfAccounts,\r\n defaultChart,\r\n setRowsAffected,\r\n rowsAffected,\r\n theme\r\n}) => {\r\n let pagerSettings = {\r\n buttonCount: 4,\r\n info: true,\r\n type: \"numeric\",\r\n pageSizes: [100, 250, 500],\r\n previousNext: true,\r\n };\r\n const [dataState, setDataState] = useState({\r\n skip: 0,\r\n take: 100\r\n });\r\n const [dataResult, setDataResult] = useState(process(reitsArray, dataState));\r\n const [dataResultOnEditing, setDataResultOnEditing] = useState([]);\r\n const [showDuplicateAccountsEditModal, setShowDuplicateAccountsEditModal] = useState(false);\r\n const [clientAccountCodeList, setClientAccountCodeList] = useState([]);\r\n const [showChartAssignmentConfirmationModal, setShowChartAssignmentConfirmationModal] = useState(false);\r\n const [recordsModifiedArray, setRecordsModifiedArray] = useState([]);\r\n const [reitsModifiedArray, setReitsModifiedArray] = useState(reitsArray);\r\n\r\n useEffect(() => {\r\n globalCharts = chartOfAccounts.charts.map(chart => {\r\n return { label: chart.chartName, value: chart.chartID }\r\n });\r\n\r\n globalDefaultChart = defaultChart;\r\n }, [])\r\n\r\n useEffect(() => {\r\n setDataResult(process(reitsArray, dataState));\r\n setReitsModifiedArray(reitsArray);\r\n setRowsAffected([]);\r\n setRecordsModifiedArray([]);\r\n }, [reitsArray])\r\n\r\n useEffect(() => {\r\n handleSearchBox(searchBoxText);\r\n }, [searchBoxText])\r\n\r\n const handleSearchBox = (textToFilter) => {\r\n\r\n let filterConfig = {\r\n logic: \"or\",\r\n filters: [\r\n { field: \"reitName\", operator: \"contains\", value: textToFilter },\r\n { field: \"Quarter1Text\", operator: \"contains\", value: textToFilter },\r\n { field: \"Quarter2Text\", operator: \"contains\", value: textToFilter },\r\n { field: \"Quarter3Text\", operator: \"contains\", value: textToFilter },\r\n { field: \"Quarter4Text\", operator: \"contains\", value: textToFilter }\r\n ]\r\n };\r\n //This ternary operator alternates bewteen the mappings that we dont want to change for revert functionality and the actual edit data\r\n setDataResult(process(reitsModifiedArray, { ...dataState, filter: filterConfig }));\r\n setDataState({ ...dataState, filter: filterConfig, skip : 0 })\r\n }\r\n const dataStateChange = event => {\r\n setDataResult(process(reitsModifiedArray, event.dataState));\r\n setDataState(event.dataState);\r\n };\r\n\r\n const toggleShowChartAssignmentConfirmationModal = () => {\r\n setShowChartAssignmentConfirmationModal(!showChartAssignmentConfirmationModal);\r\n }\r\n\r\n const handleSaveUpdates = () => {\r\n let requestFormattedMappings = [];\r\n rowsAffected.forEach((reitMapping, index) => {\r\n requestFormattedMappings[index] = {};\r\n requestFormattedMappings[index].PeriodAssignments = [];\r\n if (reitMapping.isDirty.Quarter1) {\r\n requestFormattedMappings[index].PeriodAssignments.push(reitMapping.Quarter1);\r\n }\r\n if (reitMapping.isDirty.Quarter2) {\r\n requestFormattedMappings[index].PeriodAssignments.push(reitMapping.Quarter2);\r\n }\r\n if (reitMapping.isDirty.Quarter3) {\r\n requestFormattedMappings[index].PeriodAssignments.push(reitMapping.Quarter3);\r\n }\r\n if (reitMapping.isDirty.Quarter4) {\r\n requestFormattedMappings[index].PeriodAssignments.push(reitMapping.Quarter4);\r\n }\r\n requestFormattedMappings[index].REITID = reitMapping.reitid;\r\n requestFormattedMappings[index].REITName = reitMapping.reitName;\r\n });\r\n\r\n setRowsAffected([]);\r\n handleReitUpdate(requestFormattedMappings);\r\n }\r\n\r\n const itemChange = (event) => {\r\n const inEditID = event.dataItem.reitid;\r\n const field = event.field || \"\";\r\n let value = event.value.value;\r\n let newChartName = event.value.label;\r\n let newData = [];\r\n\r\n newData = reitsModifiedArray.map((mapping) => {\r\n let newMapping = {};\r\n if (mapping.reitid === inEditID) {\r\n\r\n if (value == mapping.originalState[field].chartID) {\r\n newMapping = { ...mapping, [field]: { ...mapping[field], chartID: value, chartName: newChartName }, isDirty: { ...mapping.isDirty, [field]: false } }\r\n if (recordsModifiedArray.includes(`${inEditID}${field}`)) {\r\n let listWithRemovedRecord = recordsModifiedArray.filter(record => record != `${inEditID}${field}`);\r\n setRecordsModifiedArray(listWithRemovedRecord);\r\n }\r\n } else {\r\n newMapping = { ...mapping, [field]: { ...mapping[field], chartID: value, chartName: newChartName }, isDirty: { ...mapping.isDirty, [field]: true } }\r\n if (!recordsModifiedArray.includes(`${inEditID}${field}`)) {\r\n setRecordsModifiedArray([...recordsModifiedArray, `${inEditID}${field}`]);\r\n }\r\n }\r\n newMapping[`${field}Text`] = newChartName;\r\n } else {\r\n newMapping = mapping\r\n }\r\n\r\n return newMapping;\r\n });\r\n\r\n let affectedRowsCurrentCounter = newData.filter(account =>\r\n account.isDirty.Quarter1 === true ||\r\n account.isDirty.Quarter2 === true ||\r\n account.isDirty.Quarter3 === true ||\r\n account.isDirty.Quarter4 === true);\r\n\r\n setRowsAffected(affectedRowsCurrentCounter)\r\n setReitsModifiedArray(newData);\r\n setDataResult(process(newData, dataState));\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n {\r\n
    \r\n Save\r\n {\r\n setRowsAffected([]);\r\n setRecordsModifiedArray([]);\r\n setDataResult(process(reitsArray, dataState));\r\n setReitsModifiedArray(reitsArray);\r\n }} variant=\"secondary\" className=\"right\" type='button' >Cancel\r\n\r\n

    {recordsModifiedArray.length} record{recordsModifiedArray.length === 0 || recordsModifiedArray.length > 1 ? 's' : ''} changed

    \r\n
    \r\n }\r\n \r\n \r\n {reitsArray.length == 0 ?\r\n \"Click on Chart Management > Click Download Chart of Accounts > Update the downloaded file with the chart's details > Click Upload Chart of Accounts\"\r\n : `No mappings match your search text '${searchBoxText}'`\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nChartAssignmentAllReitsTable.propTypes = {\r\n theme: PropTypes.string,\r\n};\r\n\r\nexport default ChartAssignmentAllReitsTable;","import React, { useState, useEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport Select from 'react-select';\r\nimport {\r\n Grid,\r\n GridColumn,\r\n GridNoRecords,\r\n GridToolbar,\r\n} from \"@progress/kendo-react-grid\";\r\nimport { process } from \"@progress/kendo-data-query\";\r\nimport { Header, Button } from \"semantic-ui-react\";\r\n\r\nimport mapping from \"../../reducers/mappingReducer\";\r\nimport { Input } from \"@progress/kendo-react-inputs\";\r\nimport ChartAssignmentConfirmationModal from \"../chartOfAccountsManager/ChartAssignmentConfirmationModal\";\r\nimport {\r\n MotifButton,\r\n MotifFormField,\r\n MotifSelect,\r\n MotifOption,\r\n} from \"@ey-xd/motif-react\";\r\n\r\nlet globalCharts = [];\r\nlet globalDefaultChart = {};\r\n\r\nconst DropDownCell = (props) => {\r\n let optionsData = props.optionsData || [];\r\n const { dataItem } = props;\r\n const field = props.field || \"\";\r\n const dataValue = dataItem[field] === null ? \"\" : dataItem[field];\r\n // Change the label and chart text when isInheritFromReit to 'Default(REIT Chart)'\r\n let optionValue = dataValue.isInheritFromReit\r\n ? { label: \"Default(REIT Chart)\", value: -1 }\r\n : { label: dataValue.chartName, value: dataValue.chartID };\r\n\r\n // This triggers the itemChange\r\n const handleChange = (e) => {\r\n if (props.onChange) {\r\n props.onChange({\r\n dataIndex: 0,\r\n dataItem: props.dataItem,\r\n field: props.field,\r\n syntheticEvent: e.syntheticEvent,\r\n value: e,\r\n });\r\n }\r\n };\r\n\r\n // First line ensures we only show select component if there is a Property\r\n let showSelect =\r\n dataValue.propertyID != null &&\r\n dataValue.periodID != null &&\r\n !dataValue.isClosed &&\r\n dataValue.trialBalanceModeID != 2 &&\r\n !(\r\n dataValue.periodStatusDescription == \"Closed to Testing\" ||\r\n dataValue.periodStatusDescription == \"Closed to Reporting\" ||\r\n dataValue.periodStatusDescription == \"Complete\"\r\n );\r\n\r\n // First check if no period (show \"Period not Created\")\r\n // then check if no property, exclude dataItem.propertyTrackingID null because that means it is a REIT row (show \"Property not Created\")\r\n // then check if it is inheriting from REIT (show \"Default(REIT Chart)\")\r\n // if none of the above, then show the assigned chart name\r\n let textValue =\r\n dataValue.periodID == null\r\n ? \"Period not Created\"\r\n : dataValue.propertyID == null && dataItem.propertyTrackingID != null\r\n ? \"Property not Created\"\r\n : dataValue.isInheritFromReit\r\n ? \"Default(REIT Chart)\"\r\n : dataValue.chartName;\r\n return (\r\n \r\n {showSelect ? ({ ...styles, background: dataItem.isDirty[field] ? \"rgb(255 242 127)\" : \"\" })\r\n }}\r\n onChange={handleChange}\r\n /> : textValue}\r\n \r\n );\r\n};\r\n\r\nconst ChartSelectionCell = (props) => (\r\n \r\n);\r\n\r\nconst ChartAssignmentPropertyTable = ({\r\n propertiesArray,\r\n searchBoxText,\r\n handlePropertyUpdate,\r\n chartOfAccounts,\r\n defaultChart,\r\n setRowsAffected,\r\n rowsAffected,\r\n theme,\r\n}) => {\r\n let pagerSettings = {\r\n buttonCount: 4,\r\n info: true,\r\n type: \"numeric\",\r\n pageSizes: [100, 250, 500],\r\n previousNext: true,\r\n };\r\n const [dataState, setDataState] = useState({\r\n skip: 0,\r\n take: 100,\r\n });\r\n const [dataResult, setDataResult] = useState(\r\n process(propertiesArray, dataState)\r\n );\r\n const [dataResultOnEditing, setDataResultOnEditing] = useState([]);\r\n const [showDuplicateAccountsEditModal, setShowDuplicateAccountsEditModal] =\r\n useState(false);\r\n const [clientAccountCodeList, setClientAccountCodeList] = useState([]);\r\n const [\r\n showChartAssignmentConfirmationModal,\r\n setShowChartAssignmentConfirmationModal,\r\n ] = useState(false);\r\n const [recordsModifiedArray, setRecordsModifiedArray] = useState([]);\r\n const [propertiesModifiedArray, setPropertiesModifiedArray] =\r\n useState(propertiesArray);\r\n\r\n useEffect(() => {\r\n handleSearchBox(searchBoxText);\r\n }, [searchBoxText]);\r\n\r\n useEffect(() => {\r\n globalCharts = chartOfAccounts.charts.map((chart) => {\r\n return { label: chart.chartName, value: chart.chartID };\r\n });\r\n globalCharts = [\r\n { label: \"Default(REIT Chart)\", value: -1 },\r\n ...globalCharts,\r\n ];\r\n\r\n globalDefaultChart = defaultChart;\r\n }, []);\r\n\r\n useEffect(() => {\r\n setDataResult(process(propertiesArray, dataState));\r\n setPropertiesModifiedArray(propertiesArray);\r\n setRowsAffected([]);\r\n setRecordsModifiedArray([]);\r\n }, [propertiesArray]);\r\n\r\n const handleSearchBox = (textToFilter) => {\r\n let filterConfig = {\r\n logic: \"or\",\r\n filters: [\r\n { field: \"propertyName\", operator: \"contains\", value: textToFilter },\r\n { field: \"Quarter1Text\", operator: \"contains\", value: textToFilter },\r\n { field: \"Quarter2Text\", operator: \"contains\", value: textToFilter },\r\n { field: \"Quarter3Text\", operator: \"contains\", value: textToFilter },\r\n { field: \"Quarter4Text\", operator: \"contains\", value: textToFilter },\r\n ],\r\n };\r\n //This ternary operator alternates bewteen the mappings that we dont want to change for revert functionality and the actual edit data\r\n setDataResult(\r\n process(propertiesModifiedArray, { ...dataState, filter: filterConfig })\r\n );\r\n setDataState({ ...dataState, filter: filterConfig, skip: 0 });\r\n };\r\n\r\n const dataStateChange = (event) => {\r\n setDataResult(process(propertiesModifiedArray, event.dataState));\r\n setDataState(event.dataState);\r\n };\r\n\r\n const toggleShowChartAssignmentConfirmationModal = () => {\r\n setShowChartAssignmentConfirmationModal(\r\n !showChartAssignmentConfirmationModal\r\n );\r\n };\r\n\r\n const handleSaveUpdates = () => {\r\n let requestFormattedMappings = [];\r\n rowsAffected.forEach((reitMapping, index) => {\r\n requestFormattedMappings[index] = {};\r\n requestFormattedMappings[index].PeriodAssignments = [];\r\n if (reitMapping.isDirty.Quarter1) {\r\n requestFormattedMappings[index].PeriodAssignments.push(\r\n reitMapping.Quarter1\r\n );\r\n }\r\n if (reitMapping.isDirty.Quarter2) {\r\n requestFormattedMappings[index].PeriodAssignments.push(\r\n reitMapping.Quarter2\r\n );\r\n }\r\n if (reitMapping.isDirty.Quarter3) {\r\n requestFormattedMappings[index].PeriodAssignments.push(\r\n reitMapping.Quarter3\r\n );\r\n }\r\n if (reitMapping.isDirty.Quarter4) {\r\n requestFormattedMappings[index].PeriodAssignments.push(\r\n reitMapping.Quarter4\r\n );\r\n }\r\n requestFormattedMappings[index].propertyName = reitMapping.propertyName;\r\n requestFormattedMappings[index].propertyTrackingID =\r\n reitMapping.propertyTrackingID;\r\n });\r\n\r\n setRowsAffected([]);\r\n handlePropertyUpdate(requestFormattedMappings);\r\n };\r\n\r\n const itemChange = (event) => {\r\n const inEditID = event.dataItem.propertyTrackingID;\r\n const field = event.field || \"\";\r\n let value = event.value.value;\r\n let newChartName = event.value.label;\r\n let newData = [];\r\n\r\n newData = propertiesModifiedArray.map((mapping) => {\r\n let newMapping = {};\r\n if (mapping.propertyTrackingID === inEditID) {\r\n if (value == mapping.originalState[field].chartID) {\r\n newMapping = {\r\n ...mapping,\r\n [field]: {\r\n ...mapping[field],\r\n chartID: value,\r\n chartName: newChartName,\r\n isInheritFromReit: value === -1,\r\n },\r\n isDirty: { ...mapping.isDirty, [field]: false },\r\n };\r\n if (recordsModifiedArray.includes(`${inEditID}${field}`)) {\r\n let listWithRemovedRecord = recordsModifiedArray.filter(\r\n (record) => record != `${inEditID}${field}`\r\n );\r\n setRecordsModifiedArray(listWithRemovedRecord);\r\n }\r\n } else {\r\n newMapping = {\r\n ...mapping,\r\n [field]: {\r\n ...mapping[field],\r\n chartID: value,\r\n chartName: newChartName,\r\n isInheritFromReit: value === -1,\r\n },\r\n isDirty: { ...mapping.isDirty, [field]: true },\r\n };\r\n if (!recordsModifiedArray.includes(`${inEditID}${field}`)) {\r\n setRecordsModifiedArray([\r\n ...recordsModifiedArray,\r\n `${inEditID}${field}`,\r\n ]);\r\n }\r\n }\r\n newMapping[`${field}Text`] = newChartName;\r\n } else {\r\n newMapping = mapping;\r\n }\r\n\r\n return newMapping;\r\n });\r\n\r\n let affectedRowsCurrentCounter = newData.filter(\r\n (account) =>\r\n account.isDirty.Quarter1 === true ||\r\n account.isDirty.Quarter2 === true ||\r\n account.isDirty.Quarter3 === true ||\r\n account.isDirty.Quarter4 === true\r\n );\r\n\r\n setRowsAffected(affectedRowsCurrentCounter);\r\n setPropertiesModifiedArray(newData);\r\n setDataResult(process(newData, dataState));\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n {\r\n \r\n \r\n Save\r\n \r\n {\r\n setRowsAffected([]);\r\n setRecordsModifiedArray([]);\r\n setDataResult(process(propertiesArray, dataState));\r\n setPropertiesModifiedArray(propertiesArray, dataState);\r\n }}\r\n >\r\n Cancel\r\n \r\n

    \r\n {recordsModifiedArray.length} record\r\n {recordsModifiedArray.length === 0 ||\r\n recordsModifiedArray.length > 1\r\n ? \"s\"\r\n : \"\"}{\" \"}\r\n changed\r\n

    \r\n
    \r\n }\r\n \r\n \r\n {propertiesArray.length == 0\r\n ? \"Click on Chart Management > Click Download Chart of Accounts > Update the downloaded file with the chart's details > Click Upload Chart of Accounts\"\r\n : `No mappings match your search text '${searchBoxText}'`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nChartAssignmentPropertyTable.propTypes = {\r\n theme: PropTypes.string,\r\n};\r\n\r\nexport default ChartAssignmentPropertyTable;\r\n","import React from 'react';\r\nimport PropTypes, { number } from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { reduxForm, getFormValues } from 'redux-form';\r\nimport { Menu } from 'semantic-ui-react';\r\nimport * as actions from '../../actions/chartOfAccountsManagerActions';\r\nimport * as reitActions from '../../actions/reitActions';\r\nimport { bindActionCreators } from 'redux';\r\nimport ChartAssignmentHeader from '../../components/chartOfAccountsManager/ChartAssignmentHeader';\r\nimport ChartAssignmentAllReitsTable from '../../components/chartOfAccountsManager/ChartAssignmentAllReitsTable';\r\nimport ChartAssignmentPropertyTable from '../../components/chartOfAccountsManager/ChartAssignmentPropertyTable';\r\nimport { MotifTabNavigation, MotifTabControl } from \"@ey-xd/motif-react\";\r\nimport { Link } from 'react-router-dom';\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * ChartAssignmentContainer container component\r\n * @extends {React.Component}\r\n */\r\nclass ChartAssignmentContainer extends React.Component {\r\n /**\r\n * Creates a new ChartAssignmentContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.handleCalendarYearSelection = this.handleCalendarYearSelection.bind(this);\r\n this.handleReitSelection = this.handleReitSelection.bind(this);\r\n this.handleReitUpdate = this.handleReitUpdate.bind(this);\r\n this.handlePropertyUpdate = this.handlePropertyUpdate.bind(this);\r\n this.handleSearchBox = this.handleSearchBox.bind(this);\r\n this.handleClearSearchText = this.handleClearSearchText.bind(this);\r\n this.setRowsAffected = this.setRowsAffected.bind(this);\r\n this.setTabBar1 = this.setTabBar1.bind(this);\r\n this.handleClick = this.handleClick.bind(this);\r\n\r\n this.state = {\r\n calendarYears: [],\r\n reits: [],\r\n searchBoxText: \"\",\r\n reitsMappings: [],\r\n reitPropertyMappings: [],\r\n reitsGridArray: [],\r\n reitPropertiesGridArray: [],\r\n defaultChart: {},\r\n tabBar1: 0,\r\n rowsAffected: []\r\n };\r\n\r\n // Default option for all calendar years to show chart assignment for all REITs\r\n this.allReitsOption = {\r\n reitID: -1,\r\n reitShortName: \"All REITs\"\r\n };\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n // Fetch the charts for the dropdown\r\n this.props.actions.fetchCharts(this.props.clientId).then(() => {\r\n // Attempt to find a default chart and select its ID in the dropdown\r\n if (this.props.chartOfAccounts && this.props.chartOfAccounts.charts && this.props.chartOfAccounts.charts.find(c => c.isDefault)) {\r\n this.setState({\r\n defaultChart: this.props.chartOfAccounts.charts.find(c => c.isDefault)\r\n });\r\n }\r\n });\r\n\r\n // Fetch calendar years for current client\r\n this.props.actions.fetchClientCalendarYears(this.props.clientId).then(fetchedCalendarYears => {\r\n let defaultCalendarYear = -1;\r\n\r\n if (fetchedCalendarYears && fetchedCalendarYears.length > 0) {\r\n defaultCalendarYear = fetchedCalendarYears[0];\r\n this.setState({\r\n calendarYears: fetchedCalendarYears,\r\n });\r\n\r\n // Fetch Reits that has report periods in the selected calendar year\r\n this.fetchCalendarYearReits(defaultCalendarYear);\r\n this.fetchCalendarYearReitsGridArray(defaultCalendarYear);\r\n }\r\n\r\n // Send the initial values for calendar year and reit dropdowns\r\n this.props.dispatch(this.props.initialize({ calendarYear: defaultCalendarYear, reit: -1 }));\r\n });\r\n\r\n }\r\n\r\n setRowsAffected(values) {\r\n this.setState({ rowsAffected: values });\r\n }\r\n\r\n //Set tab related state variables\r\n setTabBar1(currentIndex) {\r\n this.setState({ tabBar1: currentIndex });\r\n }\r\n\r\n //Set current tab index\r\n handleClick(index) {\r\n this.setTabBar1(index);\r\n }\r\n\r\n handleCalendarYearSelection(calendarYear) {\r\n this.fetchCalendarYearReits(calendarYear);\r\n }\r\n\r\n fetchCalendarYearReits(calendarYear) {\r\n // Fetch Reits that has report periods in the selected calendar year\r\n this.props.reitActions.fetchCalendarYearReits(calendarYear, this.props.clientId).then(fetchedCalendarYearReits => {\r\n if (fetchedCalendarYearReits && fetchedCalendarYearReits.length > 0) {\r\n this.setState({\r\n reits: [this.allReitsOption, ...fetchedCalendarYearReits]\r\n }, () => {\r\n // Check if the current selected REIT is present for selected calendar year, if not then set REIT dropdown to 'All REITs' option\r\n if (this.props.chartAssignmentFormValues && this.props.chartAssignmentFormValues.reit) {\r\n const isReitPresent = this.state.reits.findIndex(r => r.reitID === this.props.chartAssignmentFormValues.reit) !== -1;\r\n if (!isReitPresent && this.state.reits.length > 0) {\r\n this.props.dispatch(this.props.change('reit', -1));\r\n this.fetchCalendarYearReitsGridArray(calendarYear);\r\n } else if (isReitPresent && this.props.chartAssignmentFormValues.reit !== -1) {\r\n this.props.actions.fetchReitPropertiesById(this.props.chartAssignmentFormValues.reit, calendarYear)\r\n .then((response) => {\r\n this.setState({\r\n reitPropertyMappings: response.propertiesMappings,\r\n reitPropertiesGridArray: response.gridArray\r\n });\r\n });\r\n } else if (this.props.chartAssignmentFormValues.reit === -1) {\r\n this.fetchCalendarYearReitsGridArray(calendarYear);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n fetchCalendarYearReitsGridArray(calendarYear) {\r\n this.props.actions.fetchCalendarYearReitsData(this.props.clientId, calendarYear).then((response) => {\r\n this.setState({\r\n reitsMappings: response.reitsMappings,\r\n reitsGridArray: response.gridArray\r\n });\r\n });\r\n }\r\n\r\n handleReitSelection(reit) {\r\n let calendarYear = this.props.chartAssignmentFormValues.calendarYear\r\n if (reit === -1) {\r\n this.fetchCalendarYearReitsGridArray(calendarYear);\r\n } else {\r\n this.props.actions.fetchReitPropertiesById(reit, calendarYear)\r\n .then((response) => {\r\n this.setState({\r\n reitPropertyMappings: response.propertiesMappings,\r\n reitPropertiesGridArray: response.gridArray\r\n });\r\n });\r\n }\r\n }\r\n\r\n handleReitUpdate(mappingsToUpdate) {\r\n this.setState({\r\n reitsMappings: [],\r\n reitsGridArray: []\r\n });\r\n this.props.actions.updateReitsMappings(mappingsToUpdate).then((response) => {\r\n this.fetchCalendarYearReitsGridArray(this.props.chartAssignmentFormValues.calendarYear);\r\n });\r\n }\r\n\r\n handleSearchBox(e) {\r\n this.setState({\r\n searchBoxText: e.target.value\r\n })\r\n }\r\n\r\n handleClearSearchText() {\r\n this.setState({\r\n searchBoxText: \"\"\r\n })\r\n }\r\n\r\n handlePropertyUpdate(mappingsToUpdate) {\r\n this.setState({\r\n reitPropertyMappings: [],\r\n reitPropertiesGridArray: []\r\n });\r\n this.props.actions.updateReitPropertiesMappings(mappingsToUpdate).then((response) => {\r\n this.handleReitSelection(this.props.chartAssignmentFormValues.reit);\r\n });\r\n // this.setState({\r\n // reitsMappings: [],\r\n // reitsGridArray: []\r\n // });\r\n // this.props.actions.updateReitsMappings(mappingsToUpdate).then((response)=>{\r\n // this.fetchCalendarYearReitsGridArray(this.props.chartAssignmentFormValues.calendarYear);\r\n // });\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n\r\n render() {\r\n return (\r\n \r\n

    Chart of Accounts Manager

    \r\n \r\n \r\n this.handleClick(1)}>\r\n Chart of Accounts\r\n \r\n \r\n \r\n this.handleClick(2)} >\r\n Chart Assignments\r\n \r\n \r\n \r\n\r\n {\r\n // If no chart exists for current client, just show below message.\r\n !(this.props.chartOfAccounts.charts && this.props.chartOfAccounts.charts.length > 0) &&\r\n
    \r\n
    No charts found. To start making chart assignments, create a chart via the Chart of Accounts screen.
    \r\n
    \r\n }\r\n {\r\n (this.props.chartOfAccounts.charts && this.props.chartOfAccounts.charts.length > 0) &&\r\n \r\n \r\n
    \r\n
    \r\n {this.props.chartAssignmentFormValues && this.props.chartAssignmentFormValues.reit && this.props.chartAssignmentFormValues.reit == -1 && this.props.chartAssignmentFormValues.calendarYear && (this.state.reitsGridArray.length > 0) && this.state.defaultChart.chartName &&\r\n \r\n }\r\n\r\n {this.props.chartAssignmentFormValues && this.props.chartAssignmentFormValues.reit && this.props.chartAssignmentFormValues.reit != -1 && this.props.chartAssignmentFormValues.calendarYear && (this.state.reitPropertiesGridArray.length > 0) && this.state.defaultChart.chartName &&\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n clientId: Number.parseInt(ownProps.router.params.clientId),\r\n chartOfAccounts: state.chartOfAccountsManager,\r\n chartAssignmentFormValues: getFormValues('chartAssignmentForm')(state),\r\n theme: state.themeServices,\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(actions, dispatch),\r\n reitActions: bindActionCreators(reitActions, dispatch)\r\n };\r\n}\r\n\r\nChartAssignmentContainer.propTypes = {\r\n clientId: PropTypes.number,\r\n calendarYears: PropTypes.array,\r\n reits: PropTypes.array,\r\n chartOfAccounts: PropTypes.object,\r\n theme: PropTypes.string,\r\n};\r\n\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(\r\n reduxForm({ form: \"chartAssignmentForm\", enableReinitialize: true })(ChartAssignmentContainer)\r\n )\r\n);\r\n","import React from \"react\";\r\nimport { Form } from \"semantic-ui-react\";\r\nimport { reduxForm } from \"redux-form\";\r\nimport { MotifButton } from \"@ey-xd/motif-react\";\r\n\r\nconst BulkReportManagementHeader = ({ \r\n currentUserIsSysAdmin,\r\n currentUserIsEngAdmin,\r\n currentUserIsEngagementUser,\r\n toggleShowCreateAndRunReportPackageModal,\r\n}) => { \r\n return (\r\n
    \r\n
    \r\n {(currentUserIsSysAdmin || currentUserIsEngAdmin || currentUserIsEngagementUser) &&
    \r\n { toggleShowCreateAndRunReportPackageModal(); }}\r\n >\r\n Create and Run Package\r\n \r\n
    }\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nBulkReportManagementHeader.propTypes = {\r\n};\r\n\r\nexport default reduxForm({ form: \"bulkReportManagementForm\" })(BulkReportManagementHeader);","import React from 'react';\r\nimport { MotifIcon, MotifIconButton } from '@ey-xd/motif-react';\r\nimport { IconoirTrash, IconoirDownload } from '@ey-xd/motif-icon';\r\n\r\nexport default (props) => {\r\n const bulkReportPackageId = props.data ? props.data.bulkReportPackageID : -1;\r\n const bulkReportPackageName = props.data ? props.data.bulkReportPackageName : '';\r\n const bulkReportPackageZipFileGUID = props.data ? props.data.bulkReportPackageZipFileGUID : '';\r\n const isSystemAdministrator = props.currentUserIsSysAdmin ? props.currentUserIsSysAdmin : false;\r\n const isEngagementAdmin = props.currentUserIsEngAdmin ? props.currentUserIsEngAdmin : false;\r\n const isEngagementUser = props.currentUserIsEngagementUser ? props.currentUserIsEngagementUser : false;\r\n const status = props.data ? props.data.bulkReportStatusDescription : '';\r\n\r\n return (\r\n
    \r\n {(isSystemAdministrator || isEngagementAdmin || isEngagementUser) &&\r\n
    \r\n
    \r\n {status.toLowerCase() === 'completed' ?\r\n props.handleDownload(bulkReportPackageId, bulkReportPackageName, bulkReportPackageZipFileGUID)} >\r\n \r\n \r\n :\r\n
    // Placeholder div\r\n } \r\n {(status.toLowerCase() === 'completed' || status.toLowerCase() === 'unexpected error') &&\r\n props.handleDelete(bulkReportPackageId, bulkReportPackageName)}>\r\n \r\n \r\n }\r\n
    \r\n
    \r\n }
    );\r\n};","import React from 'react';\r\nimport { MotifBadge } from '@ey-xd/motif-react';\r\n\r\nexport default (props) => { \r\n const status = props.data ? props.data.bulkReportStatusDescription : ''; \r\n var packageDisplayStatus = status;\r\n\r\n var badgeVariant = 'success';\r\n switch (status.toLowerCase().split('-')[0].trim()) {\r\n case \"completed\":\r\n badgeVariant ='success';\r\n break;\r\n case \"unexpected error\":\r\n badgeVariant = 'error';\r\n // In case of 'unexpected error' status, show status as 'Failed'\r\n packageDisplayStatus = 'Failed';\r\n break;\r\n case \"in progress\":\r\n badgeVariant = 'info';\r\n break;\r\n case \"queued\":\r\n badgeVariant = 'light';\r\n break;\r\n case \"unknown or hung\":\r\n badgeVariant = 'light';\r\n // In case of 'unknown or hung' status, show status as 'Preparing'\r\n packageDisplayStatus = 'Preparing';\r\n break;\r\n default: badgeVariant = 'light';\r\n break;\r\n }\r\n\r\n return ( \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};","import React from 'react';\r\nimport { MotifTooltip } from '@ey-xd/motif-react';\r\n\r\nexport default (props) => {\r\n const bulkReportPackageName =\r\n props.node && props.node.data ? props.node.data['bulkReportPackageName'] : '';\r\n\r\n if (bulkReportPackageName.length > 25) {\r\n return (\r\n
    \r\n {bulkReportPackageName.substring(0, 25)}\r\n \r\n ...}\r\n variant=\"alt\"\r\n style={{ margin: '0px' }}\r\n hideCloseButton={true}\r\n >\r\n {bulkReportPackageName}\r\n \r\n \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {bulkReportPackageName}\r\n
    \r\n );\r\n }\r\n};\r\n","import PropTypes from \"prop-types\";\r\nimport React, { useCallback, useMemo, useRef, useState, useEffect } from 'react';\r\nimport { render } from 'react-dom';\r\nimport { Form, Icon, Popup, Dropdown } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport { MotifPagination, MotifPaginationSelect, MotifPaginationSelectItem, MotifButton, MotifToast, MotifTable } from \"@ey-xd/motif-react\";\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport 'ag-grid-enterprise';\r\nimport 'ag-grid-community/styles/ag-grid.css';\r\nimport 'ag-grid-community/styles/ag-theme-alpine.css';\r\nimport BulkReportManagementActionCellRenderer from '../shared/customRenderers/BulkReportManagementActionCellRenderer';\r\nimport BulkReportManagementStatusCellRenderer from '../shared/customRenderers/BulkReportManagementStatusCellRenderer';\r\nimport DateComparator from '../shared/customComparators/DateComparator.js';\r\nimport CustomHeaderTemplate from '../shared/customHeaders/CustomHeaderTemplate.js';\r\nimport BulkReportPackageNameCellRenderer from './customRenderers/BulkReportPackageNameCellRenderer';\r\nimport * as formatters from \"../../scripts/formFormatters\";\r\nimport { getPreviousFridayOrGivenDate } from \"../../scripts/dateHelpers\";\r\nimport ReportPeriodComparator from \"../shared/customComparators/ReportPeriodComparator.js\";\r\n\r\nconst BulkReportManagementTable = ({\r\n formSyncErrors,\r\n formSubmitErrors,\r\n bulkReportPackages,\r\n clientId,\r\n gridColumnState,\r\n handleGridColumnStateChange,\r\n handleGridChanges,\r\n handleDownload,\r\n handleDelete,\r\n currentUser,\r\n currentUserIsSysAdmin,\r\n currentUserIsEngAdmin,\r\n currentUserIsEngagementUser,\r\n theme\r\n}) => {\r\n const gridRef = useRef();\r\n const [hideInfoMessage, setHideInfoMessage] = useState(false);\r\n const containerStyle = useMemo(() => ({ width: '100%', height: '100%' }), []);\r\n const gridStyle = useMemo(() => ({ height: '100%', width: '100%' }), []);\r\n const [rowData, setRowData] = useState([]);\r\n const rowDataRef = useRef({});\r\n rowDataRef.current = rowData;\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true, \r\n autoHeaderHeight: true, \r\n wrapHeaderText: true,\r\n };\r\n }, []);\r\n\r\n // MM:DD:YYYY HH:MM AM/PM\r\n const dateFormat1 = {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric',\r\n hour: '2-digit',\r\n minute: '2-digit'\r\n };\r\n\r\n // MM:DD:YYYY\r\n const dateFormat2 = {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric',\r\n };\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: 'bulkReportPackageName', headerName: 'Report Package Name', \r\n sortable: true, showRowGroup: false, rowGroup: false, minWidth: 250,\r\n cellRenderer: BulkReportPackageNameCellRenderer,\r\n headerComponentParams: { template: CustomHeaderTemplate('reportPackageName') },\r\n },\r\n {\r\n field: 'createdBy', headerName: 'Executed By', \r\n sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 185,\r\n valueGetter: params => { return params.data && params.data.createdBy; },\r\n filterValueGetter: params => { return params.data && params.data.createdBy; },\r\n headerComponentParams: { template: CustomHeaderTemplate('executedBy') },\r\n },\r\n {\r\n field: 'createdDate', headerName: 'Date Executed', sortable: true, showRowGroup: false, hide: false, rowGroup: false,\r\n minWidth: 183,\r\n valueGetter: params => {\r\n const dateValue = params.data && params.data ? params.data.createdDate : null\r\n return dateValue ? (new Date(dateValue + 'Z')).toLocaleString('en-US', dateFormat1) : '';\r\n },\r\n filterValueGetter: params => {\r\n return params.data\r\n ? params.data.createdDate ? (new Date(params.data.createdDate + 'Z')).toLocaleString('en-US', dateFormat1) : 'N/A'\r\n : null;\r\n },\r\n comparator: DateComparator,\r\n headerComponentParams: { template: CustomHeaderTemplate('dateExecuted') },\r\n },\r\n {\r\n field: 'bulkReportStatusDescription', headerName: 'Status', suppressMenu: false, showRowGroup: false, rowGroup: false,\r\n minWidth: 290, \r\n cellRenderer: BulkReportManagementStatusCellRenderer,\r\n headerComponentParams: { template: CustomHeaderTemplate('Status') },\r\n },\r\n {\r\n field: 'earliestReportPeriodDescription', headerName: 'Earliest Report Period', \r\n sortable: true, showRowGroup: false, hide: false, rowGroup: false, minWidth: 175,maxWidth: 175,\r\n valueGetter: params => { return params.data && params.data.earliestReportPeriodDescription; },\r\n filterValueGetter: params => { return params.data && params.data.earliestReportPeriodDescription; },\r\n comparator: ReportPeriodComparator\r\n },\r\n {\r\n field: \"scheduledDeletionDate\", headerName: \"Scheduled Deletion Date\",\r\n sortable: true, showRowGroup: false, rowGroup: false, minWidth: 225,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"scheduledDeletionDate\"),\r\n },\r\n valueGetter: (params) => {\r\n const dateValue = params.data && params.data.scheduledDeletionDate ? params.data.scheduledDeletionDate : null;\r\n return dateValue ? formatters.formatDate(getPreviousFridayOrGivenDate(dateValue)) : null;\r\n },\r\n comparator: DateComparator,\r\n },\r\n {\r\n field: 'bulkReportStatusDescription', headerName: '', suppressMenu: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 150, \r\n cellRenderer: BulkReportManagementActionCellRenderer, cellRendererParams: { handleDownload, handleDelete, currentUser, currentUserIsSysAdmin, currentUserIsEngAdmin, currentUserIsEngagementUser },\r\n headerComponentParams: { template: CustomHeaderTemplate('bulkReportManagementAction') },\r\n }\r\n ];\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Grid Global Listner\r\n const gridGlobalListner = function (type, event) {\r\n if (type.indexOf(\"columnVisible\") >= 0) {\r\n handleGridColumnsChanged(event);\r\n }\r\n\r\n // Bind handleFilterChanged event to filterChanged and rowDataUpdated events\r\n if (type.indexOf(\"filterChanged\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n }\r\n\r\n if (type.indexOf(\"rowDataUpdated\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n } \r\n }\r\n\r\n //Handle Grid Ready event\r\n const handleGridReady = (event) => {\r\n //Remove event for column state change\r\n event.api.removeEventListener(gridGlobalListner);\r\n\r\n //Add event for column state change\r\n event.api.addGlobalListener(gridGlobalListner);\r\n\r\n //Apply column state\r\n var columnState = localStorage.getItem('REITSuiteBulkReportPackageColumnState');\r\n if (columnState) {\r\n gridRef.current.columnApi.applyColumnState({\r\n state: JSON.parse(columnState),\r\n applyOrder: true,\r\n });\r\n }\r\n\r\n // Set the page size and total pages on the first load \r\n handleItemsPerPageChange(100); // Setting it 100 to make sure the default number of items on load is always set to 100\r\n }\r\n\r\n // Handle OnFilterChanged event\r\n const handleFilterChanged = (event) => {\r\n let filteredRowData = [];\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n if (currentPage > calcTotalPages) {\r\n if (calcTotalPages == 0) {\r\n setTimeout(function () { setCurrentPage(calcTotalPages); }, 0)\r\n }\r\n else {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n const gridCurrentPage = gridRef.current.api.paginationGetCurrentPage()+1; // Adding 1 since it returns zero based index\r\n if (currentPage < (gridCurrentPage) && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n }\r\n\r\n // Show the expected value as 1 for current page \r\n if (currentPage <= 1 && gridCurrentPage == 1 && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n } \r\n }\r\n }\r\n\r\n //Handle First Data Renderered event\r\n const handleFirstDataRendered = (event) => {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Handle Grid Columns changed event\r\n const handleGridColumnsChanged = (event) => {\r\n var currentColumnState = gridRef.current.columnApi.getColumnState();\r\n var localStorageColumnState = localStorage.getItem('REITSuiteBulkReportPackageColumnState');\r\n\r\n // If the column state details are not exists in local storage then save the changed Column state data\r\n if (currentColumnState && currentColumnState.filter(col => col.hide == true)?.length > 0 && !localStorageColumnState) {\r\n saveUserPreferenceDetails();\r\n }\r\n else if (localStorageColumnState) {\r\n // If the column state details are exists in local storage then save the changed Column state data only if difference is found\r\n var columnsStateArray = JSON.parse(localStorageColumnState);\r\n if (columnsStateArray && columnsStateArray.length > 0\r\n && currentColumnState && currentColumnState.length > 0\r\n && columnsStateArray.filter(col => col.hide == true)?.length != currentColumnState.filter(col => col.hide == true)?.length) {\r\n //If column state mismatch found then only save column state data to avoid saving same state\r\n saveUserPreferenceDetails();\r\n }\r\n }\r\n\r\n //Trigger Grid Column state change (of parent) to sync column state data\r\n handleGridColumnStateChange(currentColumnState);\r\n\r\n gridRef && gridRef.current && gridRef.current.columnApi && gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Save User Preference details (Column state)\r\n const saveUserPreferenceDetails = useCallback(() => {\r\n var columnState = gridRef.current.columnApi.getColumnState();\r\n if (columnState) {\r\n localStorage.setItem('REITSuiteBulkReportPackageColumnState', JSON.stringify(columnState));\r\n }\r\n }, []);\r\n\r\n //Handle Grid Items per Page change event\r\n const handleItemsPerPageChange = (val) => {\r\n gridRef.current.api.paginationGoToFirstPage();\r\n gridRef.current.api.paginationSetPageSize(Number(val));\r\n setCurrentPage(1);\r\n setItemsPerPage(val);\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val-1);\r\n };\r\n\r\n useEffect(() => {\r\n handleGridChanges(rowData, gridRef && gridRef.current ? gridRef.current.api : null);\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n if (gridRef.current) {\r\n setColumnDefs(getColumnDefs());\r\n }\r\n }, [theme]);\r\n\r\n useEffect(() => {\r\n setRowData(bulkReportPackages);\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.applyTransaction({\r\n update: bulkReportPackages.filter(item => gridRef.current.api.getRowNode(item.bulkReportPackageID)),\r\n remove: gridRef.current.api.forEachNode(node => !bulkReportPackages.find(item => item.bulkReportPackageID === node.data.bulkReportPackageID)),\r\n add: bulkReportPackages.filter(item => !gridRef.current.api.getRowNode(item.bulkReportPackageID))\r\n });\r\n\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n }, [bulkReportPackages]);\r\n\r\n useEffect(() => {\r\n //Reset Grid to default column state\r\n //When Grid Column state changes due to Reset Column State action then Reset Grid to default column state\r\n var localStorageColumnState = localStorage.getItem('REITSuiteBulkReportPackageColumnState');\r\n if (!localStorageColumnState && gridRef && gridRef.current && gridRef.current.api) {\r\n\r\n gridRef.current.api.setColumnDefs([]);\r\n gridRef.current.api.setColumnDefs(getColumnDefs());\r\n }\r\n }, [gridColumnState]);\r\n\r\n const rowHeight = 72; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return
    \r\n {bulkReportPackages && bulkReportPackages.length > 0 &&\r\n
    \r\n
    \r\n
    \r\n
    \r\n { return data.data.bulkReportPackageID }}\r\n\r\n />\r\n
    \r\n \r\n \r\n \r\n handleItemsPerPageChange(50)}>\r\n Show 50\r\n \r\n handleItemsPerPageChange(100)}>\r\n Show 100\r\n \r\n handleItemsPerPageChange(150)}>\r\n Show 150\r\n \r\n handleItemsPerPageChange(200)}>\r\n Show 200\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n \r\n
    ;\r\n};\r\n\r\nBulkReportManagementTable.propTypes = {\r\n};\r\n\r\nexport default reduxForm({ form: \"bulkReportManagement\" })(BulkReportManagementTable);\r\n","export const groupOptions = [\r\n { groupingOfReportExtractID: 1, groupingOfReportExtractDescription: 'REIT', isDefault: true },\r\n { groupingOfReportExtractID: 2, groupingOfReportExtractDescription: 'Report Period', isDefault: true },\r\n { groupingOfReportExtractID: 3, groupingOfReportExtractDescription: 'Report Type', isDefault: false }\r\n];","import React from 'react';\r\nimport {\r\n MotifLabel,\r\n MotifIcon, \r\n MotifButton,\r\n} from '@ey-xd/motif-react';\r\nimport { IconoirPlus, IconoirXmark } from '@ey-xd/motif-icon';\r\nimport { Field } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as reportExtractGroups from \"../../constants/reportExtractGroups\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst GroupingofReportExtract = ({\r\n reportExtractGroupByList,\r\n showGroupingofExtract,\r\n handleAddLevelGroupBy,\r\n handleDeleteLevelGroupBy,\r\n handleGroupBySelection\r\n}) => { \r\n\r\n const groupofControls = [];\r\n for (let i = 0; i <= reportExtractGroupByList.length; i++) { \r\n groupofControls.push(\r\n {showGroupingofExtract &&
    \r\n {/*
    \r\n {i < reportExtractGroupByList.length &&\r\n \r\n {i == 0 ? 'Group By' : 'Then By'}\r\n }\r\n
    */}\r\n \r\n
    \r\n {i < reportExtractGroupByList.length &&\r\n opt.groupingOfReportExtractID}\r\n optionText={(opt) => opt.groupingOfReportExtractDescription}\r\n component={formHelpers.SingleSelectComponent} \r\n defaultValue={reportExtractGroupByList[i].groupingOfReportExtractID}\r\n testingData={i == 0 ? { label: \"lblGroupBy\", div: \"divGroupBy\" } : { label: \"lblThenBy\", div: \"divThenBy\" }}\r\n onChange={(e) => handleGroupBySelection(e, i)}\r\n />\r\n }\r\n
    \r\n\r\n
    \r\n {i < reportExtractGroupByList.length && reportExtractGroupByList.length != 1 &&
    \r\n handleDeleteLevelGroupBy(i)}\r\n data-testid=\"btnDeleteLevelGroupBy\"\r\n style={{fontSize: '12px', }}>\r\n \r\n Delete Group\r\n \r\n
    \r\n } \r\n {((i == reportExtractGroupByList.length && reportExtractGroupByList.length != 1) || (i != reportExtractGroupByList.length && reportExtractGroupByList.length == 1))\r\n && reportExtractGroupByList.length < 3 &&\r\n
    \r\n 2}\r\n onClick={handleAddLevelGroupBy}\r\n data-testid=\"btnAddLevelGroupBy\"\r\n style={{fontSize: '12px'}}>\r\n \r\n Add Group \r\n \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 (\r\n
    \r\n
    {groupofControls}
    \r\n
    \r\n \r\n\r\n );\r\n};\r\n\r\nGroupingofReportExtract.propTypes = {\r\n reportExtractGroupByList: PropTypes.array,\r\n showGroupingofExtract: PropTypes.bool,\r\n handleAddLevelGroupBy: PropTypes.func,\r\n handleDeleteLevelGroupBy: PropTypes.func,\r\n handleGroupBySelection: PropTypes.func,\r\n};\r\n\r\nexport default GroupingofReportExtract;\r\n","import React, { Fragment, useState, useEffect } from \"react\";\r\nimport { PropTypes } from \"prop-types\";\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\nimport {\r\n MotifFormField,\r\n MotifCheckbox,\r\n MotifLabel,\r\n MotifSelect,\r\n MotifOption \r\n} from \"@ey-xd/motif-react\";\r\n\r\nconst TABLE_STYLE = { width: '400px' };\r\n\r\nconst INNER_TABLE_STYLE = {\r\n width: 'auto',\r\n minWidth: '50%',\r\n marginLeft: 'auto',\r\n marginRight: 'auto'\r\n};\r\n\r\nconst INCLUDE_COMMENTS_TEXT = 'Include Comments and Attachments';\r\n\r\nconst PsqTable = ({ includePsqComments, setIncludePsqComments }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n setIncludePsqComments(!includePsqComments)}>\r\n setIncludePsqComments(!includePsqComments)}>\r\n {INCLUDE_COMMENTS_TEXT}\r\n \r\n \r\n
    );\r\n}\r\n\r\nconst ArqcTable = ({ includeArqcComments, setIncludeArqcComments }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n setIncludeArqcComments(!includeArqcComments)}>\r\n setIncludeArqcComments(!includeArqcComments)}>\r\n {INCLUDE_COMMENTS_TEXT}\r\n \r\n \r\n
    );\r\n}\r\n\r\nconst TemplateSelector = ({\r\n customFdrTemplates,\r\n selectedTemplate,\r\n handleTemplateSelect,\r\n hasIncompleteSecuritySnapshot\r\n}) => {\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n const customTemplateOptions = customFdrTemplates.templates.map((t) => ({\r\n value: t.fdrTemplateID,\r\n label: t.fdrTemplateName,\r\n }));\r\n\r\n const templateOptions = [\r\n { value: -3, label: \"Assigned Defaults\" },\r\n { value: -2, label: \"Standard Template\" },\r\n ...customTemplateOptions,\r\n ];\r\n\r\n const currentTemplate = selectedTemplate\r\n ? templateOptions.find(\r\n (to) => to.value === selectedTemplate.templateId\r\n ) || templateOptions[0]\r\n : templateOptions[0];\r\n\r\n const onTemplateSelected = (v) => {\r\n const templateId = parseInt(v);\r\n\r\n const templateOption = templateOptions.find(\r\n (to) => to.value === templateId\r\n );\r\n\r\n handleTemplateSelect(templateOption);\r\n };\r\n\r\n const [renderDropdown, setRenderDropdown] = useState(false);\r\n\r\n useEffect(() => {\r\n setRenderDropdown(false);\r\n setTimeout(() => setRenderDropdown(true));\r\n }, [currentTemplate.value]);\r\n\r\n return (\r\n
    \r\n \r\n \r\n Select an FDR Template\r\n {renderDropdown && (\r\n \r\n {templateOptions.map((o, i) => (\r\n \r\n {String(o.label).replace(/\\s+/g, \"\\u2800\")}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst ReportItemRow = ({\r\n title,\r\n onClick,\r\n item,\r\n selected,\r\n disabled,\r\n setItemSelection,\r\n parentProps,\r\n hasIncompleteSecuritySnapshot\r\n}) => {\r\n return (\r\n !hasIncompleteSecuritySnapshot && ( \r\n \r\n \r\n \r\n setItemSelection(item.type, !selected)}>\r\n {item.displayName}\r\n \r\n \r\n {\r\n item.type === 'PsqResults' &&\r\n selected &&\r\n \r\n }\r\n {\r\n item.type === 'ArqcResults' &&\r\n selected &&\r\n \r\n }\r\n \r\n \r\n )\r\n );\r\n}\r\n\r\nconst FDRReportTypeReportItemList = (props) => {\r\n\r\n const {\r\n availableReportItems,\r\n selectedItems,\r\n setItemSelection,\r\n selectedTemplate,\r\n hasIncompleteSecuritySnapshot\r\n } = props;\r\n \r\n const itemIsSelected = type => selectedItems.includes(type);\r\n\r\n const itemFilter =\r\n selectedTemplate.templateId < 0 ? () => true : item => ['PsqResults', 'ArqcResults'].includes(item.type);\r\n\r\n const filteredItems = availableReportItems.filter(itemFilter);\r\n\r\n return (\r\n \r\n
    \r\n \r\n {!hasIncompleteSecuritySnapshot&&(\r\n \r\n \r\n {filteredItems.map(item => {\r\n const selected = itemIsSelected(item.type) || item.isRequired; \r\n\r\n const title = item.isRequired ?\r\n `${item.displayName} is required for all reports.` :\r\n item.displayName;\r\n\r\n const disabled = item.isRequired;\r\n\r\n const onClick = disabled ?\r\n () => { } :\r\n () => setItemSelection(item.type, !selected);\r\n\r\n return (\r\n );\r\n })}\r\n \r\n
    \r\n)}\r\n
    \r\n
    );\r\n};\r\n\r\nFDRReportTypeReportItemList.propTypes = {\r\n availableReportItems: PropTypes.arrayOf(PropTypes.shape({\r\n displayName: PropTypes.string,\r\n type: PropTypes.string\r\n })),\r\n selectedItems: PropTypes.arrayOf(PropTypes.string),\r\n setItemSelection: PropTypes.func,\r\n includePsqComments: PropTypes.bool,\r\n setIncludePsqComments: PropTypes.func,\r\n includeArqcComments: PropTypes.bool,\r\n setIncludeArqcComments: PropTypes.func,\r\n customFdrTemplates: PropTypes.object,\r\n selectedTemplate: PropTypes.object,\r\n handleTemplateSelect: PropTypes.func\r\n}\r\n\r\nexport default FDRReportTypeReportItemList;","import PropTypes from \"prop-types\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport GroupingofReportExtract from \"../../components/bulkReportManagement/GroupingofReportExtract\";\r\nimport FDRReportTypeReportItemList from '../../components/bulkReportManagement/FDRReportTypeReportItemList';\r\nimport {\r\n MotifButton,\r\n MotifModal,\r\n MotifLabel, \r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifModalHeader,\r\n MotifFormField,\r\n MotifCheckbox,\r\n MotifToggleSwitch,\r\n MotifErrorMessage,\r\n MotifSelect,\r\n MotifOption,\r\n MotifTooltip,\r\n MotifBadge\r\n} from \"@ey-xd/motif-react\";\r\nimport * as Constants from '../../constants/other';\r\n\r\nconst CreateAndRunReportPackageModal = ({ showCreateAndRunReportPackageModal,\r\n handleSubmit, toggleShowCreateAndRunReportPackageModal, handleCreateAndRunPackage, reportTypeSelectedCount,\r\n handleIncludeDiagnosticReportCheckboxChecked, includeDiagnosticReport,\r\n handleShowGroupingofExtract, showGroupingofExtract, handleAddLevelGroupBy, handleDeleteLevelGroupBy, groupingofReportExtractList, handleGroupBySelection,\r\n reportPeriods, reits, customFdrTemplates, availableReportItems, selectedTemplate, selectedItems, setItemSelection,\r\n setIncludePsqComments, setIncludeArqcComments, includePsqComments, includeArqcComments, handleTemplateSelect,handleFileSelection, invalid,\r\n submitting, groupByErrorMessage,setFdrSelection, resetCheckboxes,isAuditOnlyClient,\r\n handleAllSelection, checkedPeriods, checkedReits, hasIncompleteSecuritySnapshotsList}) => { \r\n const [checkedConsilidatedMappingCheckbox, setConsolidatedMappingCheckbox] = useState(false);\r\n const [checkedREITTrialBalanceCheckbox, setREITTrialBalanceCheckbox] = useState(false);\r\n const [checkedPropertyTrialBalanceCheckbox, setPropertyTrialBalanceCheckbox] = useState(false);\r\n const [checkedGeneralAndOtherFilesCheckbox, setGeneralAndOtherFilesCheckbox] = useState(false);\r\n const [checkedUserUploadedFinalReportCheckbox, setUserUploadedFinalReportCheckbox] = useState(false);\r\n \r\n const [checkedOneExcelPerREITPerReportPeriodCheckbox, setOneExcelPerREITPerReportPeriodCheckbox] = useState(false);\r\n const [checkedConsolidatedExcelforAllSelectedREITsCheckbox, setConsolidatedExcelforAllSelectedREITsCheckbox] = useState(false);\r\n\r\n const [checkedDownloadWorkDocForPSQChecklistWithAnswersOnlyCheckbox, setDownloadWorkDocForPSQChecklistWithAnswersOnlyCheckbox] = useState(false);\r\n const [checkedDownloadPDFForPSQChecklistWithAnswersOnlyCheckbox, setDownloadPDFForPSQChecklistWithAnswersOnlyCheckbox] = useState(false);\r\n const [checkedDownloadWorkDocForPSQChecklistWithAnswersAndCommentsCheckbox, setDownloadWorkDocForPSQChecklistWithAnswersAndCommentsCheckbox] = useState(false);\r\n const [checkedDownloadPDFForPSQChecklistWithAnswersAndCommentsCheckbox, setDownloadPDFForPSQChecklistWithAnswersAndCommentsCheckbox] = useState(false);\r\n const [checkedDownloadWorkDocForPSQChecklistWithoutAnswersOrCommentsCheckbox, setDownloadWorkDocForPSQChecklistWithoutAnswersOrCommentsCheckbox] = useState(false);\r\n const [checkedDownloadPDFForPSQChecklistWithoutAnswersOrCommentsCheckbox, setDownloadPDFForPSQChecklistWithoutAnswersOrCommentsCheckbox] = useState(false);\r\n const [checkedDownloadPSQChecklistAttachmentsCheckbox, setDownloadPSQChecklistAttachmentsCheckbox] = useState(false);\r\n\r\n const [checkedDownloadWorkDocForARQCChecklistWithAnswersOnlyCheckbox, setDownloadWorkDocForARQCChecklistWithAnswersOnlyCheckbox] = useState(false);\r\n const [checkedDownloadPDFForARQCChecklistWithAnswersOnlyCheckbox, setDownloadPDFForARQCChecklistWithAnswersOnlyCheckbox] = useState(false);\r\n const [checkedDownloadWorkDocForARQCChecklistWithAnswersAndCommentsCheckbox, setDownloadWorkDocForARQCChecklistWithAnswersAndCommentsCheckbox] = useState(false);\r\n const [checkedDownloadPDFForARQCChecklistWithAnswersAndCommentsCheckbox, setDownloadPDFForARQCChecklistWithAnswersAndCommentsCheckbox] = useState(false);\r\n const [checkedDownloadWorkDocForARQCChecklistWithoutAnswersOrCommentsCheckbox, setDownloadWorkDocForARQCChecklistWithoutAnswersOrCommentsCheckbox] = useState(false);\r\n const [checkedDownloadPDFForARQCChecklistWithoutAnswersOrCommentsCheckbox, setDownloadPDFForARQCChecklistWithoutAnswersOrCommentsCheckbox] = useState(false);\r\n const [checkedDownloadARQCChecklistAttachmentsCheckbox, setDownloadARQCChecklistAttachmentsCheckbox] = useState(false);\r\n\r\n const [checkedFdrTemplateWordDocCheckbox, setFdrTemplateWordDocCheckbox] = useState(false);\r\n const [checkedFDRTemplatePDFCheckbox, setFDRTemplatePDFCheckbox] = useState(false);\r\n\r\n const [checkedREITGeneralFilesCheckbox, setREITGeneralFilesCheckbox] = useState(false);\r\n\r\n const fileTypes = Constants.reportPackagesFileType;\r\n // const reitOptions = [...reits].map(r => {\r\n // return { key: r.reitid, value: r.reitid, text: r.reitShortName,\r\n // isSelected: checkedReits.find(cp => cp.key == r.reitid)?.isSelected === undefined ? false : checkedReits.find(cp => cp.key == r.reitid)?.isSelected }\r\n // }).sort((a, b) => (b.isSelected) - (a.isSelected));\r\n\r\n const reitOptions = reits.map(r => {\r\n return { key: r.reitid, value: r.reitid, text: r.reitShortName }\r\n });\r\n\r\n const periodsInSortedOrder = [...reportPeriods].sort((a, b) => new Date(b.endDate) - new Date(a.endDate));\r\n\r\n const uniquePeriodDescriptions = Array.from(new Set(periodsInSortedOrder.map(rp => rp.reportPeriodDescription)))\r\n .map(periodDesc => {\r\n return periodsInSortedOrder.find(rp => rp.reportPeriodDescription === periodDesc)\r\n });\r\n\r\n // const reportPeriodOptions = [...uniquePeriodDescriptions].map(rp => {\r\n // return { key: rp.reportPeriodID, value: rp.reportPeriodDescription, text: rp.reportPeriodDescription.substring(3, 8) + ' - ' + rp.reportPeriodDescription.substring(0, 2),\r\n // isSelected: checkedPeriods.find(cp => cp.key == rp.reportPeriodID)?.isSelected === undefined ? false : checkedPeriods.find(cp => cp.key == rp.reportPeriodID)?.isSelected }\r\n // }).sort((a, b) => (b.isSelected) - (a.isSelected));\r\n \r\n \r\n const reportPeriodOptions = uniquePeriodDescriptions.map(rp => {\r\n return {\r\n key: rp.reportPeriodID,\r\n value: rp.reportPeriodDescription,\r\n text: rp.reportPeriodDescription.substring(3, 8) + ' - ' + rp.reportPeriodDescription.substring(0, 2),\r\n isSelected: checkedPeriods.find(cp => cp.key === rp.reportPeriodID)?.isSelected || false }; \r\n }); \r\n\r\n // Get report types count\r\n let reportTypesCount = 0;\r\n\r\n if(checkedConsilidatedMappingCheckbox)\r\n reportTypesCount++;\r\n if (checkedREITTrialBalanceCheckbox)\r\n reportTypesCount++;\r\n if (checkedPropertyTrialBalanceCheckbox)\r\n reportTypesCount++;\r\n if (checkedOneExcelPerREITPerReportPeriodCheckbox || checkedConsolidatedExcelforAllSelectedREITsCheckbox)\r\n reportTypesCount++;\r\n if (checkedDownloadWorkDocForPSQChecklistWithAnswersOnlyCheckbox || checkedDownloadPDFForPSQChecklistWithAnswersOnlyCheckbox\r\n || checkedDownloadWorkDocForPSQChecklistWithAnswersAndCommentsCheckbox || checkedDownloadPDFForPSQChecklistWithAnswersAndCommentsCheckbox\r\n || checkedDownloadWorkDocForPSQChecklistWithoutAnswersOrCommentsCheckbox || checkedDownloadPDFForPSQChecklistWithoutAnswersOrCommentsCheckbox\r\n || checkedDownloadPSQChecklistAttachmentsCheckbox)\r\n reportTypesCount++;\r\n if (checkedDownloadWorkDocForARQCChecklistWithAnswersOnlyCheckbox || checkedDownloadPDFForARQCChecklistWithAnswersOnlyCheckbox\r\n || checkedDownloadWorkDocForARQCChecklistWithAnswersAndCommentsCheckbox || checkedDownloadPDFForARQCChecklistWithAnswersAndCommentsCheckbox\r\n || checkedDownloadWorkDocForARQCChecklistWithoutAnswersOrCommentsCheckbox || checkedDownloadPDFForARQCChecklistWithoutAnswersOrCommentsCheckbox\r\n || checkedDownloadARQCChecklistAttachmentsCheckbox)\r\n reportTypesCount++;\r\n if (checkedFdrTemplateWordDocCheckbox || checkedFDRTemplatePDFCheckbox)\r\n reportTypesCount++;\r\n if (checkedGeneralAndOtherFilesCheckbox)\r\n reportTypesCount++;\r\n if (checkedREITGeneralFilesCheckbox)\r\n reportTypesCount++;\r\n if (checkedUserUploadedFinalReportCheckbox)\r\n reportTypesCount++; \r\n\r\n\r\n // let selectPeriodCount = 0;\r\n // if(checkedPeriods.filter(cp => cp.isSelected).length > 0)\r\n // selectPeriodCount++;\r\n\r\n // let selectReitCount = 0;\r\n // if(checkedReits.filter(cp => cp.isSelected).length > 0)\r\n // selectReitCount++;\r\n\r\n useEffect(() => {\r\n setConsolidatedMappingCheckbox(false);\r\n setREITTrialBalanceCheckbox(false);\r\n setPropertyTrialBalanceCheckbox(false);\r\n setGeneralAndOtherFilesCheckbox(false);\r\n setREITGeneralFilesCheckbox(false);\r\n setUserUploadedFinalReportCheckbox(false); \r\n setOneExcelPerREITPerReportPeriodCheckbox(false);\r\n setConsolidatedExcelforAllSelectedREITsCheckbox(false);\r\n setDownloadWorkDocForPSQChecklistWithAnswersOnlyCheckbox(false);\r\n setDownloadPDFForPSQChecklistWithAnswersOnlyCheckbox(false);\r\n setDownloadWorkDocForPSQChecklistWithAnswersAndCommentsCheckbox(false);\r\n setDownloadPDFForPSQChecklistWithAnswersAndCommentsCheckbox(false);\r\n setDownloadWorkDocForPSQChecklistWithoutAnswersOrCommentsCheckbox(false);\r\n setDownloadPDFForPSQChecklistWithoutAnswersOrCommentsCheckbox(false);\r\n setDownloadPSQChecklistAttachmentsCheckbox(false);\r\n setDownloadWorkDocForARQCChecklistWithAnswersOnlyCheckbox(false);\r\n setDownloadPDFForARQCChecklistWithAnswersOnlyCheckbox(false);\r\n setDownloadWorkDocForARQCChecklistWithAnswersAndCommentsCheckbox(false);\r\n setDownloadPDFForARQCChecklistWithAnswersAndCommentsCheckbox(false);\r\n setDownloadWorkDocForARQCChecklistWithoutAnswersOrCommentsCheckbox(false);\r\n setDownloadPDFForARQCChecklistWithoutAnswersOrCommentsCheckbox(false);\r\n setDownloadARQCChecklistAttachmentsCheckbox(false);\r\n setFdrTemplateWordDocCheckbox(false);\r\n setFDRTemplatePDFCheckbox(false);\r\n setSelectedReitIds([]);\r\n setSelectedReportIds([]);\r\n setSelectedReportDescriptions([]);\r\n setHasIncompleteSecuritySnapshot(false);\r\n }, [resetCheckboxes]);\r\n\r\n useEffect(() => {\r\n // Deselect PSQ download attachment checkbox if none of the checkboxes related to PSQ checklists are selected\r\n if (!(checkedDownloadWorkDocForPSQChecklistWithAnswersOnlyCheckbox\r\n || checkedDownloadPDFForPSQChecklistWithAnswersOnlyCheckbox\r\n || checkedDownloadWorkDocForPSQChecklistWithAnswersAndCommentsCheckbox\r\n || checkedDownloadPDFForPSQChecklistWithAnswersAndCommentsCheckbox\r\n || checkedDownloadWorkDocForPSQChecklistWithoutAnswersOrCommentsCheckbox\r\n || checkedDownloadPDFForPSQChecklistWithoutAnswersOrCommentsCheckbox)) {\r\n setDownloadPSQChecklistAttachmentsCheckbox(false);\r\n } \r\n }, [checkedDownloadWorkDocForPSQChecklistWithAnswersOnlyCheckbox, checkedDownloadPDFForPSQChecklistWithAnswersOnlyCheckbox,\r\n checkedDownloadWorkDocForPSQChecklistWithAnswersAndCommentsCheckbox, checkedDownloadPDFForPSQChecklistWithAnswersAndCommentsCheckbox,\r\n checkedDownloadWorkDocForPSQChecklistWithoutAnswersOrCommentsCheckbox, checkedDownloadPDFForPSQChecklistWithoutAnswersOrCommentsCheckbox])\r\n \r\n\r\n\r\n useEffect(() => {\r\n // Deselect ARQC download attachment checkbox if none of the checkboxes related to PSQ checklists are selected\r\n if (!(checkedDownloadWorkDocForARQCChecklistWithAnswersOnlyCheckbox\r\n || checkedDownloadPDFForARQCChecklistWithAnswersOnlyCheckbox\r\n || checkedDownloadWorkDocForARQCChecklistWithAnswersAndCommentsCheckbox\r\n || checkedDownloadPDFForARQCChecklistWithAnswersAndCommentsCheckbox\r\n || checkedDownloadWorkDocForARQCChecklistWithoutAnswersOrCommentsCheckbox\r\n || checkedDownloadPDFForARQCChecklistWithoutAnswersOrCommentsCheckbox)) {\r\n setDownloadARQCChecklistAttachmentsCheckbox(false);\r\n }\r\n }, [checkedDownloadWorkDocForARQCChecklistWithAnswersOnlyCheckbox, checkedDownloadPDFForARQCChecklistWithAnswersOnlyCheckbox,\r\n checkedDownloadWorkDocForARQCChecklistWithAnswersAndCommentsCheckbox, checkedDownloadPDFForARQCChecklistWithAnswersAndCommentsCheckbox,\r\n checkedDownloadWorkDocForARQCChecklistWithoutAnswersOrCommentsCheckbox, checkedDownloadPDFForARQCChecklistWithoutAnswersOrCommentsCheckbox])\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n \r\n const [selectedReitIds, setSelectedReitIds] = useState([]);\r\n const [selectedReportIds, setSelectedReportIds] = useState([]);\r\n const [selectedReportDescriptions, setSelectedReportDescriptions] = useState([]);\r\n const [hasIncompleteSecuritySnapshot, setHasIncompleteSecuritySnapshot] = useState(false);\r\n \r\n const handleReitChange = (event) => {\r\n if (event.length === 0) {\r\n setSelectedReitIds([]);\r\n handleIncompleteSecuritySnapshot(hasIncompleteSecuritySnapshotsList, [], selectedReportIds);\r\n return;\r\n }\r\n \r\n const selectedReitIds = [];\r\n for (let i = 0; i < event.length; i++) {\r\n const value = event[i];\r\n if (value !== null && value !== undefined) {\r\n selectedReitIds.push(value);\r\n }\r\n }\r\n setSelectedReitIds(selectedReitIds);\r\n \r\n const tempSelectedReportIds = [];\r\n for (let i = 0; i < selectedReportDescriptions.length; i++) {\r\n const value = selectedReportDescriptions[i];\r\n if (selectedReitIds.length > 0) {\r\n // Find all report periods that match the description and have reitId in selectedReitIds\r\n const matchingReportPeriods = reportPeriods.filter(rp => \r\n rp.reportPeriodDescription === value && selectedReitIds.includes(String(rp.reitid))\r\n );\r\n \r\n // Add all matching reportPeriodIDs to tempSelectedReportIds\r\n matchingReportPeriods.forEach(rp => {\r\n if (rp.reportPeriodID !== null && rp.reportPeriodID !== undefined) {\r\n tempSelectedReportIds.push(rp.reportPeriodID);\r\n }\r\n });\r\n }\r\n }\r\n setSelectedReportIds(tempSelectedReportIds);\r\n handleIncompleteSecuritySnapshot(hasIncompleteSecuritySnapshotsList, selectedReitIds, tempSelectedReportIds);\r\n };\r\n\r\n const handleReportChange = (event) => { \r\n if (event.length === 0) {\r\n setSelectedReportIds([]);\r\n setSelectedReportDescriptions([]);\r\n handleIncompleteSecuritySnapshot(hasIncompleteSecuritySnapshotsList, selectedReitIds, []);\r\n return;\r\n }\r\n \r\n const tempSelectedReportIds = [];\r\n const tempSelectedReportDescriptions = [];\r\n for (let i = 0; i < event.length; i++) {\r\n const value = event[i];\r\n \r\n if (selectedReitIds !== null && selectedReitIds !== undefined && selectedReitIds.length > 0) {\r\n // Find all report periods that match the description and have reitId in selectedReitIds\r\n const matchingReportPeriods = reportPeriods.filter(rp => \r\n rp.reportPeriodDescription === value && selectedReitIds.includes(String(rp.reitid))\r\n );\r\n \r\n // Add all matching reportPeriodIDs to tempSelectedReportIds\r\n matchingReportPeriods.forEach(rp => {\r\n if (rp.reportPeriodID !== null && rp.reportPeriodID !== undefined) {\r\n tempSelectedReportIds.push(rp.reportPeriodID);\r\n }\r\n });\r\n }\r\n tempSelectedReportDescriptions.push(value);\r\n }\r\n \r\n setSelectedReportIds(tempSelectedReportIds);\r\n setSelectedReportDescriptions(tempSelectedReportDescriptions);\r\n handleIncompleteSecuritySnapshot(hasIncompleteSecuritySnapshotsList, selectedReitIds, tempSelectedReportIds);\r\n };\r\n \r\n const handleIncompleteSecuritySnapshot = (incompleteSecuritiesSnapshots, selectedReitIds, selectedReportIds) => {\r\n if (!Array.isArray(incompleteSecuritiesSnapshots) || !Array.isArray(selectedReitIds) || !Array.isArray(selectedReportIds)) {\r\n setHasIncompleteSecuritySnapshot(false);\r\n return false;\r\n }\r\n const hasIncompleteSecuritySnapshot = incompleteSecuritiesSnapshots.some(repPeriod => {\r\n return selectedReitIds.some(reitId => Number(reitId) === repPeriod.reitid) &&\r\n selectedReportIds.some(reportId => reportId === repPeriod.reportPeriodID) &&\r\n repPeriod.hasIncompleteSecuritySnapshot;\r\n });\r\n \r\n setHasIncompleteSecuritySnapshot(hasIncompleteSecuritySnapshot);\r\n return hasIncompleteSecuritySnapshot;\r\n };\r\n \r\n const closeButtonProps = {\r\n title: 'Close Create and run report package modal',\r\n ariaLabel: 'Close Create and run report package modal',\r\n dataTestid: 'close'\r\n };\r\n\r\n return (\r\n toggleShowCreateAndRunReportPackageModal()} size=\"xl\" data-testid=\"CreateRunReportPackage\">\r\n \r\n \r\n Create and Run Report Package\r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n {(reportPeriods && reits && reportPeriods.length > 0 && reits.length > 0) ?\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n rp.text}\r\n optionValue={(rp) => rp.value}\r\n optionKey={(r) => r.key}\r\n component={formHelpers.MultipleSelect}\r\n testingData={{ label: \"lblReportPeriod\", div: \"divReportPeriod\" }}\r\n showSelectAllButton={true}\r\n />\r\n
    \r\n
    \r\n r.text}\r\n optionValue={(r) => r.value}\r\n component={formHelpers.MultipleSelect}\r\n testingData={{ label: \"lblReits\", div: \"divReits\" }}\r\n showSelectAllButton={true}\r\n\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    Please select report types for the package (Required)
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {\r\n setConsolidatedMappingCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.ConsolidatedMappings, event.target.checked);\r\n }}\r\n disabled={isAuditOnlyClient}\r\n >\r\n Consolidated Mappings\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setREITTrialBalanceCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.REITTrialBalance, event.target.checked);\r\n }}\r\n disabled={isAuditOnlyClient}>\r\n REIT Trial Balance\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setPropertyTrialBalanceCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.PropertyTrialBalance, event.target.checked);\r\n }}\r\n disabled={isAuditOnlyClient}\r\n >\r\n Property Trial Balance\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    Test Snapshot
    \r\n {hasIncompleteSecuritySnapshot && (\r\n \r\n }\r\n > \r\n One or more REIT(s) have incomplete securities. Review needed.\r\n \r\n ) }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {\r\n setOneExcelPerREITPerReportPeriodCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.TestSnapshotFileperREIT, event.target.checked);\r\n }}\r\n disabled={isAuditOnlyClient||hasIncompleteSecuritySnapshot }\r\n >\r\n One excel per REIT per report period\r\n \r\n \r\n
    \r\n \r\n {\r\n setConsolidatedExcelforAllSelectedREITsCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.TestSnapshotSingleExcelforselectedREITs, event.target.checked);\r\n }}\r\n disabled={isAuditOnlyClient||hasIncompleteSecuritySnapshot}\r\n >\r\n Consolidated excel for all selected REITs\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    PSQ Checklists
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n With Answers Only\r\n \r\n \r\n \r\n {\r\n setDownloadWorkDocForPSQChecklistWithAnswersOnlyCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.PSQChecklistsWithAnswersOnlyMSWord, event.target.checked);\r\n }}\r\n disabled={isAuditOnlyClient}\r\n >\r\n Word Doc\r\n \r\n \r\n \r\n \r\n {\r\n setDownloadPDFForPSQChecklistWithAnswersOnlyCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.PSQChecklistsWithAnswersOnlyPDF, event.target.checked);\r\n }}\r\n disabled={isAuditOnlyClient}\r\n >\r\n PDF\r\n \r\n \r\n
    \r\n \r\n With Answers And Comments\r\n \r\n \r\n \r\n {\r\n setDownloadWorkDocForPSQChecklistWithAnswersAndCommentsCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.PSQChecklistsWithAnswersandCommentsMSWord, event.target.checked);\r\n }}\r\n disabled={isAuditOnlyClient}\r\n >\r\n Word Doc\r\n \r\n \r\n \r\n \r\n {\r\n setDownloadPDFForPSQChecklistWithAnswersAndCommentsCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.PSQChecklistsWithAnswersandCommentsPDF, event.target.checked);\r\n }}\r\n disabled={isAuditOnlyClient}\r\n >\r\n PDF\r\n \r\n \r\n
    \r\n \r\n Without Answers or Comments\r\n \r\n \r\n \r\n {\r\n setDownloadWorkDocForPSQChecklistWithoutAnswersOrCommentsCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.PSQChecklistsWithoutAnswersorCommentsMSWord, event.target.checked);\r\n }}\r\n disabled={isAuditOnlyClient}\r\n >\r\n Word Doc\r\n \r\n \r\n \r\n \r\n {\r\n setDownloadPDFForPSQChecklistWithoutAnswersOrCommentsCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.PSQChecklistsWithoutAnswersorCommentsPDF, event.target.checked);\r\n }}\r\n disabled={isAuditOnlyClient}\r\n >\r\n PDF\r\n \r\n \r\n
    \r\n \r\n Include Checklist Attachments as separate files\r\n \r\n \r\n \r\n {\r\n setDownloadPSQChecklistAttachmentsCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.PSQChecklistsIncludeChecklistAttachmentsasSeparateFiles, event.target.checked);\r\n }}\r\n \r\n >\r\n All File Types\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    ARQC Checklists
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n With Answers Only\r\n \r\n \r\n \r\n {\r\n setDownloadWorkDocForARQCChecklistWithAnswersOnlyCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.ARQChecklistsWithAnswersOnlyMSWord, event.target.checked);\r\n }}\r\n >\r\n Word Doc\r\n \r\n \r\n \r\n \r\n {\r\n setDownloadPDFForARQCChecklistWithAnswersOnlyCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.ARQChecklistsWithAnswersOnlyPDF, event.target.checked);\r\n }}\r\n >\r\n PDF\r\n \r\n \r\n
    \r\n \r\n With Answers And Comments\r\n \r\n \r\n \r\n {\r\n setDownloadWorkDocForARQCChecklistWithAnswersAndCommentsCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.ARQChecklistsWithAnswersandCommentsMSWord, event.target.checked);\r\n }}\r\n\r\n >\r\n Word Doc\r\n \r\n \r\n \r\n \r\n {\r\n setDownloadPDFForARQCChecklistWithAnswersAndCommentsCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.ARQChecklistsWithAnswersandCommentsPDF, event.target.checked);\r\n }}\r\n >\r\n PDF\r\n \r\n \r\n
    \r\n \r\n Without Answers or Comments\r\n \r\n \r\n \r\n {\r\n setDownloadWorkDocForARQCChecklistWithoutAnswersOrCommentsCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.ARQChecklistsWithoutAnswersorCommentsMSWord, event.target.checked);\r\n }}\r\n >\r\n Word Doc\r\n \r\n \r\n \r\n \r\n {\r\n setDownloadPDFForARQCChecklistWithoutAnswersOrCommentsCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.ARQChecklistsWithoutAnswersorCommentsPDF, event.target.checked);\r\n }}\r\n >\r\n PDF\r\n \r\n \r\n
    \r\n \r\n Include Checklist Attachments as separate files\r\n \r\n \r\n \r\n {\r\n setDownloadARQCChecklistAttachmentsCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.ARQChecklistsIncludeChecklistAttachmentsasSeparateFiles, event.target.checked);\r\n }}\r\n >\r\n All File Types\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    Final Deliverable Report
    \r\n {hasIncompleteSecuritySnapshot && (\r\n \r\n }\r\n > \r\n One or more REIT(s) have incomplete securities. Review needed.\r\n \r\n \r\n )} \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {\r\n setFdrTemplateWordDocCheckbox(event.target.checked);\r\n setFdrSelection(\"word\", event.target.checked);\r\n }}\r\n disabled={hasIncompleteSecuritySnapshot}\r\n >\r\n Word Doc\r\n \r\n \r\n \r\n \r\n {\r\n setFDRTemplatePDFCheckbox(event.target.checked);\r\n setFdrSelection(\"pdf\", event.target.checked);\r\n }}\r\n disabled={hasIncompleteSecuritySnapshot}\r\n >\r\n PDF\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setGeneralAndOtherFilesCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.GeneralandOtherFiles, event.target.checked);\r\n }}\r\n disabled={isAuditOnlyClient}\r\n\r\n >\r\n General and Other Files\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setREITGeneralFilesCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.REITGeneralFiles, event.target.checked);\r\n }}\r\n disabled={isAuditOnlyClient}\r\n\r\n >\r\n REIT General Files\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {\r\n setUserUploadedFinalReportCheckbox(event.target.checked);\r\n handleFileSelection(fileTypes.UserUploadedFinalReport, event.target.checked);\r\n }}\r\n disabled={isAuditOnlyClient}\r\n >\r\n User Uploaded Final Report\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {\r\n handleIncludeDiagnosticReportCheckboxChecked(event.target.checked);\r\n }}\r\n >\r\n Include Diagnostic Report with the lead sheet\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n Enable grouping the report extract:\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n No REITs/Report Periods found for this client.\r\n
    \r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n {groupByErrorMessage && groupByErrorMessage.length > 0 &&\r\n \r\n \r\n {groupByErrorMessage}\r\n \r\n \r\n \r\n }\r\n
    \r\n \r\n toggleShowCreateAndRunReportPackageModal()} className=\"right\" data-testid=\"btnCancel\"\r\n form=\"createAndRunReportPackage\">\r\n Cancel\r\n \r\n 0 || reportTypesCount==0 }\r\n // || selectPeriodCount == 0 || selectReitCount == 0}\r\n form=\"createAndRunReportPackage\">\r\n Create and Run\r\n \r\n \r\n\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nCreateAndRunReportPackageModal.propTypes = {\r\n showCreateAndRunReportPackageModal: PropTypes.bool,\r\n includePsqComments: PropTypes.bool,\r\n includeArqcComments: PropTypes.bool,\r\n showGroupingofExtract: PropTypes.bool, \r\n reportExtractGroupByList: PropTypes.array,\r\n reits: PropTypes.array,\r\n availableReportItems: PropTypes.array,\r\n selectedTemplate: PropTypes.object,\r\n selectedItems: PropTypes.object,\r\n handleSubmit: PropTypes.func,\r\n toggleShowCreateAndRunReportPackageModal: PropTypes.func,\r\n handleAddLevelGroupBy: PropTypes.func,\r\n handleDeleteLevelGroupBy: PropTypes.func,\r\n handleGroupBySelection: PropTypes.func,\r\n handleCreateAndRunPackage: PropTypes.func,\r\n handleReportTypeSelectionChanged: PropTypes.func,\r\n handleShowGroupingofExtract: PropTypes.func,\r\n setItemSelection: PropTypes.func,\r\n setIncludePsqComments: PropTypes.func,\r\n setIncludeArqcComments: PropTypes.func,\r\n handleTemplateSelect: PropTypes.func,\r\n initialValues: PropTypes.object,\r\n handleFileSelection: PropTypes.func,\r\n invalid: PropTypes.bool,\r\n submitting: PropTypes.bool,\r\n groupByErrorMessage: PropTypes.string,\r\n setFdrSelection: PropTypes.func,\r\n resetCheckboxes: PropTypes.bool,\r\n isAuditOnlyClient: PropTypes.bool,\r\n checkedPeriods: PropTypes.array,\r\n checkedReits: PropTypes.array\r\n};\r\n\r\nexport default reduxForm({ form: \"createAndRunReportPackage\", enableReinitialize: true })(CreateAndRunReportPackageModal);\r\n","import { pendingTask, begin, end } from '../constants/pendingTask';\r\n\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromReitApi as fetch } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport { download } from '../scripts/fileHelpers';\r\n\r\n/**\r\n * Fetch all the Bulk report packages for a client. If successful this will dispatch the LOAD_BULK_REPORT_PACKAGES_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_BULK_REPORT_PACKAGES_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchBulkReportPackages(clientId) {\r\n return function (dispatch) {\r\n if (!clientId) {\r\n return dispatch({\r\n type: actions.LOAD_BULK_REPORT_PACKAGES_SUCCESS,\r\n bulkReportPackages: [],\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/bulkReportPackage/client/${clientId}`)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((bulkReportPackages) => {\r\n if (actionHelpers.isErrorResponse(bulkReportPackages)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_BULK_REPORT_PACKAGES_FAILURE,\r\n bulkReportPackages\r\n );\r\n }\r\n \r\n dispatch({\r\n type: actions.LOAD_BULK_REPORT_PACKAGES_SUCCESS,\r\n bulkReportPackages,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_BULK_REPORT_PACKAGES_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch ETA details of all the Bulk report packages for a client. If successful this will dispatch the LOAD_BULK_REPORT_PACKAGES_ETA_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_BULK_REPORT_PACKAGES_ETA_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchBulkReportPackagesETA(clientId) {\r\n return function (dispatch) {\r\n if (!clientId) {\r\n return dispatch({\r\n type: actions.LOAD_BULK_REPORT_PACKAGES_ETA_SUCCESS,\r\n bulkReportPackagesETA: [],\r\n });\r\n }\r\n \r\n return fetch(`/bulkReportPackage/eta/${clientId}`)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((bulkReportPackagesETA) => {\r\n if (actionHelpers.isErrorResponse(bulkReportPackagesETA)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_BULK_REPORT_PACKAGES_ETA_FAILURE,\r\n bulkReportPackagesETA\r\n );\r\n }\r\n \r\n dispatch({\r\n type: actions.LOAD_BULK_REPORT_PACKAGES_ETA_SUCCESS,\r\n bulkReportPackagesETA, \r\n });\r\n\r\n return bulkReportPackagesETA;\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_BULK_REPORT_PACKAGES_ETA_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n* Creates a Bulk Report Package.\r\n * If successful this will return response,\r\n * otherwise it will dispatch the CREATE_BULK_REPORT_PACKAGES_FAILURE action.\r\n* @param {any} request The Bulk Report package request\r\n* @returns {Promise} A Promise\r\n*/\r\nexport function createBulkReportPackage(request) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin }); \r\n \r\n return fetch(`/bulkReportPackage`,\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify(request)\r\n }).then(response => {\r\n return response.json();\r\n }).then(result => {\r\n if (actionHelpers.isErrorResponse(result)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.CREATE_BULK_REPORT_PACKAGES_FAILURE, result);\r\n } \r\n\r\n dispatch({ type: actions.CREATE_BULK_REPORT_PACKAGES_SUCCESS, result, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.CREATE_BULK_REPORT_PACKAGES_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Downloads the bulk report package.\r\n * @param {any} clientId The client id.\r\n * @param {any} bulkReportPackageId The bulk report package id.\r\n * @param {any} bulkReportPackageName The bulk report package name.\r\n * @param {any} bulkReportPackageZipFileGUID The bulk report package zip file guid.\r\n * @returns {Promise} A Promise\r\n */\r\nexport function downloadBulkReportPackage(clientId, bulkReportPackageId, bulkReportPackageName, bulkReportPackageZipFileGUID) {\r\n return (dispatch) => {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(\r\n `/bulkReportPackage/downloadBulkReportPackage?clientId=${clientId}&bulkReportPackageId=${bulkReportPackageId}&bulkReportPackageName=${bulkReportPackageName}&bulkReportPackageZipFileGUID=${bulkReportPackageZipFileGUID}`,\r\n {\r\n headers: {\r\n Accept: 'application/octet-stream',\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST'\r\n }\r\n )\r\n .then((response) => {\r\n return response.blob().then((blob) => {\r\n const contentDisposition = response.headers.get(\r\n 'Content-Disposition'\r\n );\r\n let filename = contentDisposition.split(';')[1].split('=')[1].trim();\r\n download(blob, filename);\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n });\r\n })\r\n .catch((error) => {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.TASK_END,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport function deleteBulkReportPackage(clientID, bulkReportPackageID) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin }); \r\n \r\n return fetch(`/bulkReportPackage/deleteBulkReportPackage?clientID=${clientID}&bulkReportPackageID=${bulkReportPackageID}`,\r\n {\r\n headers: {\r\n 'Accept':\r\n \"application/json\",\r\n 'Content-Type': \"application/json\"\r\n },\r\n method: \"DELETE\",\r\n }).then(response => {\r\n return response.json();\r\n }).then(result => {\r\n if (actionHelpers.isErrorResponse(result)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.DELETE_BULK_REPORT_PACKAGES_FAILURE, result);\r\n } \r\n\r\n dispatch({ type: actions.DELETE_BULK_REPORT_PACKAGES_FAILURE, result, [pendingTask]: end });\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.DELETE_BULK_REPORT_PACKAGES_FAILURE, null, error);\r\n });\r\n };\r\n}","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { getFormValues, getFormSyncErrors, getFormSubmitErrors, SubmissionError, reduxForm } from \"redux-form\";\r\nimport BulkReportManagementHeader from \"../../components/bulkReportManagement/BulkReportManagementHeader\";\r\nimport BulkReportManagementTable from \"../../components/bulkReportManagement/BulkReportManagementTable\";\r\nimport CreateAndRunReportPackageModal from \"../../components/bulkReportManagement/CreateAndRunReportPackageModal\";\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport * as dateHelpers from \"../../scripts/dateHelpers\";\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport * as periodActions from \"../../actions/periodActions\";\r\nimport * as customFdrActions from '../../actions/customFdrTemplateActions';\r\nimport * as reportExtractGroups from \"../../constants/reportExtractGroups\";\r\nimport * as reportActions from '../../actions/reportActions';\r\nimport * as bulkReportPackageActions from '../../actions/bulkReportPackageActions';\r\nimport * as Constants from '../../constants/other';\r\nimport DeleteModal from \"../../components/shared/DeleteModal\";\r\nimport { store } from \"../../store/configureStore\";\r\nimport { reset } from \"redux-form\";\r\nimport * as actions from '../../actions/actionTypes';\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport * as securitiesSnapshotActions from \"../../actions/securitiesSnapshotActions\";\r\n/**\r\n * BulkReportManagementContainer component\r\n * @extends {React.Component}\r\n */\r\nexport class BulkReportManagementContainer extends React.Component {\r\n /**\r\n * Creates a new BulkReportManagementContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.handleGridColumnStateChange = this.handleGridColumnStateChange.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.setGridColumnState = this.setGridColumnState.bind(this);\r\n this.handleDownload = this.handleDownload.bind(this);\r\n this.handleDelete = this.handleDelete.bind(this);\r\n this.toggleShowCreateAndRunReportPackageModal = this.toggleShowCreateAndRunReportPackageModal.bind(this);\r\n this.handleCreateAndRunPackage = this.handleCreateAndRunPackage.bind(this);\r\n this.handleShowGroupingofExtract = this.handleShowGroupingofExtract.bind(this);\r\n this.handleIncludeDiagnosticReportCheckboxChecked = this.handleIncludeDiagnosticReportCheckboxChecked.bind(this);\r\n this.handleAddLevelGroupBy = this.handleAddLevelGroupBy.bind(this);\r\n this.handleDeleteLevelGroupBy = this.handleDeleteLevelGroupBy.bind(this);\r\n this.handleGroupBySelection = this.handleGroupBySelection.bind(this);\r\n this.setItemSelection = this.setItemSelection.bind(this);\r\n this.setIncludePsqComments = this.setIncludePsqComments.bind(this);\r\n this.setIncludeArqcComments = this.setIncludeArqcComments.bind(this);\r\n this.handleTemplateSelect = this.handleTemplateSelect.bind(this);\r\n this.setInitialData = this.setInitialData.bind(this);\r\n this.handleFileSelection = this.handleFileSelection.bind(this);\r\n this.setFdrSelection = this.setFdrSelection.bind(this);\r\n this.handleConfirmDelete = this.handleConfirmDelete.bind(this);\r\n this.handleCancelDelete = this.handleCancelDelete.bind(this);\r\n this.handleAllSelection = this.handleAllSelection.bind(this);\r\n this.processETA = this.processETA.bind(this);\r\n this.populateHasIncompleteSecuritySnapshots = this.populateHasIncompleteSecuritySnapshots.bind(this);\r\n this.state = {\r\n gridColumnState: [],\r\n gridCurrentState: [],\r\n gridFilteredRowCurrentState: [],\r\n currentUserIsSysAdmin: this.props.currentUserIsSysAdmin,\r\n currentUserIsEngAdmin: this.props.currentUserIsEngAdmin,\r\n showCreateAndRunReportPackageModal: false,\r\n showGroupingofExtract: true,\r\n groupingofReportExtractList: [],\r\n includeDiagnosticReport: false,\r\n reits: [],\r\n periods: [],\r\n selectedTemplate: { templateId: -3, templateName: 'Assigned Defaults' },\r\n selectedItems: [],\r\n defaultFdrSelections: [],\r\n includePsqComments: false,\r\n includeArqcComments: false,\r\n selectedFilesForCreatePackage: [],\r\n groupByErrorMessage: '',\r\n fdrPdfSelection: false,\r\n fdrWordSelection: false,\r\n resetCheckboxes: false,\r\n showDeleteModal: false,\r\n bulkReportIdToBeDeleted: null,\r\n selectedPeriods: [],\r\n checkSelectedPeriod:[],\r\n selectedReits: [],\r\n checkSelectedReit:[],\r\n hasIncompleteSecuritySnapshotsList: []\r\n };\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n\r\n if (this.props.clientId) {\r\n\r\n this.props.reitActions.fetchReits(this.props.clientId, true);\r\n this.props.periodActions.fetchReportPeriodsByClientId(this.props.clientId);\r\n this.props.customFdrActions.fetchCustomFdrTemplates(this.props.clientId);\r\n this.props.reportActions.fetchReportItemsForClient(this.props.clientId);\r\n this.isComponentMounted = true;\r\n this.props.bulkReportPackageActions.fetchBulkReportPackages(this.props.clientId).then(\r\n () => {\r\n this.props.bulkReportPackageActions.fetchBulkReportPackagesETA(this.props.clientId).then(this.processETA);\r\n \r\n }\r\n );\r\n this.populateHasIncompleteSecuritySnapshots(this.props.clientId,null,null);\r\n }\r\n\r\n this.setInitialData();\r\n this.setGridColumnState();\r\n }\r\n\r\n /**\r\n * Process ETA\r\n * Show ETA details for Bulk Report Packages having inprogress or queued status\r\n * @returns {undefined}\r\n */\r\n processETA() {\r\n if (!this.isComponentMounted) {\r\n return;\r\n }\r\n\r\n const data = this.props.bulkReportPackagesETA;\r\n\r\n clearInterval(this.intervalETA);\r\n\r\n // Prevent creating timer if there are no Bulk Report Packages having inprogress or queued status\r\n if (this.props.bulkReportPackages && this.props.bulkReportPackages.some(pkg => pkg.bulkReportStatusDescription.toLowerCase().includes('queued')\r\n || pkg.bulkReportStatusDescription.toLowerCase().includes('in progress'))) {\r\n\r\n clearTimeout(this.timeoutETA);\r\n this.timeoutETA = setTimeout(() => {\r\n this.props.bulkReportPackageActions.fetchBulkReportPackagesETA(this.props.clientId).then(this.processETA);\r\n }, 5000);\r\n }\r\n\r\n store.dispatch({\r\n type: actions.UPDATE_BULK_REPORT_PACKAGE_ETA,\r\n etas: data\r\n });\r\n\r\n this.intervalETA = setInterval(() => {\r\n\r\n // Get index of first Bulk Report Package having inprogress or queued status to decrement the counter(estimatedTimeRemainingSeconds)\r\n let firstIndex = 0;\r\n while (firstIndex < this.props.bulkReportPackagesETA.length && \r\n this.props.bulkReportPackagesETA[firstIndex].estimatedTimeRemainingSeconds <= 0) {\r\n firstIndex++; \r\n }\r\n\r\n const updatedBulkReportPackagesETA = this.props.bulkReportPackagesETA.map((packageETA, index) => { \r\n if (index == firstIndex) {\r\n return {\r\n ...packageETA,\r\n estimatedTimeRemainingSeconds: packageETA.estimatedTimeRemainingSeconds == 0 ? 0 : packageETA.estimatedTimeRemainingSeconds - 1\r\n }\r\n }\r\n \r\n return packageETA;\r\n });\r\n\r\n store.dispatch({\r\n type: actions.UPDATE_BULK_REPORT_PACKAGE_ETA,\r\n etas: updatedBulkReportPackagesETA\r\n });\r\n\r\n store.dispatch({\r\n type: actions.LOAD_BULK_REPORT_PACKAGES_ETA_SUCCESS,\r\n bulkReportPackagesETA: updatedBulkReportPackagesETA\r\n });\r\n\r\n }, 1000);\r\n }\r\n\r\n /**\r\n * Invoked immediately before unmounting occurs\r\n * @returns {undefined}\r\n */\r\n componentWillUnmount() {\r\n // On unmount, clear the calendar data from state to conserve memory\r\n // Calling this action with no argument will clear from redux-state\r\n\r\n this.setState({\r\n groupingofReportExtractList: [], reportPackages: [], reits: [], availableReportItems: [], selectedTemplate: [],\r\n selectedItems: [], periods: [], \r\n selectedPeriods: [], checkSelectedPeriod: [], selectedReits: [], checkSelectedReit: [],\r\n });\r\n\r\n // Clear interval\r\n clearInterval(this.intervalETA);\r\n this.intervalETA = null; \r\n\r\n // Clear timeout\r\n clearTimeout(this.timeoutETA);\r\n\r\n this.isComponentMounted = false;\r\n }\r\n\r\ncomponentDidUpdate(prevProps) {\r\n if (this.props.clientId !== prevProps.clientId) {\r\n this.props.reitActions.fetchReits(this.props.clientId, true);\r\n this.props.periodActions.fetchReportPeriodsByClientId(this.props.clientId);\r\n this.props.customFdrActions.fetchCustomFdrTemplates(this.props.clientId);\r\n }\r\n \r\n if (this.props.toggleReloadBulkReportPackages != prevProps.toggleReloadBulkReportPackages) {\r\n this.props.bulkReportPackageActions.fetchBulkReportPackages(this.props.clientId).then(\r\n () => {\r\n this.props.bulkReportPackageActions.fetchBulkReportPackagesETA(this.props.clientId).then(this.processETA);\r\n }\r\n );\r\n }\r\n if (this.props.availableReportItems !== prevProps.availableReportItems\r\n && Array.isArray(this.props.availableReportItems)\r\n && this.props.availableReportItems.length > 0) {\r\n\r\n const selectedItems = JSON.parse(JSON.stringify(this.state.selectedItems));\r\n const defaultFdrSelections = JSON.parse(JSON.stringify(this.state.defaultFdrSelections));\r\n for (let i = 0; i < this.props.availableReportItems.length; i++) {\r\n if (this.props.availableReportItems[i].isRequired && selectedItems.find(x => x === this.props.availableReportItems[i].type) === undefined) {\r\n selectedItems.push(this.props.availableReportItems[i].type);\r\n }\r\n\r\n if (this.props.availableReportItems[i].isRequired) {\r\n defaultFdrSelections.push(this.props.availableReportItems[i].type);\r\n }\r\n }\r\n\r\n this.setState({ selectedItems: selectedItems, dataIsLoaded: true, defaultFdrSelections: defaultFdrSelections });\r\n }\r\n}\r\n \r\n /**\r\n * Set initial data\r\n */\r\n setInitialData() {\r\n let groupingofReportExtracts = [...reportExtractGroups.groupOptions.filter(x => x.isDefault)];\r\n this.setState({ groupingofReportExtractList: groupingofReportExtracts });\r\n }\r\n\r\n /**\r\n * Handles Download button click of Grid Row\r\n */\r\n handleDownload(bulkReportPackageId, bulkReportPackageName, bulkReportPackageZipFileGUID) {\r\n this.props.bulkReportPackageActions\r\n .downloadBulkReportPackage(this.props.clientId, bulkReportPackageId, bulkReportPackageName, bulkReportPackageZipFileGUID);\r\n }\r\n\r\n /**\r\n * Handles Delete button click of Grid Row\r\n */\r\n handleDelete(bulkReportPackageId, bulkReportPackageName) {\r\n this.setState({ showDeleteModal: true, bulkReportIdToBeDeleted: bulkReportPackageId });\r\n }\r\n\r\n handleConfirmDelete() {\r\n const clientId = this.props.clientId;\r\n this.props.bulkReportPackageActions\r\n .deleteBulkReportPackage(\r\n clientId,\r\n this.state.bulkReportIdToBeDeleted,\r\n )\r\n .then((data) => {\r\n this.props.bulkReportPackageActions.fetchBulkReportPackages(this.props.clientId);\r\n this.setState({ showDeleteModal: false });\r\n })\r\n .catch((error) => {\r\n this.setState({ showDeleteModal: false });\r\n });\r\n }\r\n\r\n handleCancelDelete() {\r\n this.setState({ showDeleteModal: false, bulkReportIdToBeDeleted: null });\r\n }\r\n /**\r\n * Handle Grid changes\r\n * @returns {gridRowData}\r\n */\r\n handleGridChanges(gridRowData, gridRefApi) {\r\n let rowData = [];\r\n rowData =\r\n gridRowData &&\r\n gridRowData.length &&\r\n gridRowData.map((x) => {\r\n return {\r\n bulkReportPackageID: x.bulkReportPackageID,\r\n bulkReportPackageName: x.bulkReportPackageName,\r\n bulkReportPackageStatus: x.bulkReportPackageStatus,\r\n createdBy: x.createdBy,\r\n createdDate: x.createdDate,\r\n };\r\n });\r\n\r\n this.setState({ gridCurrentState: rowData });\r\n\r\n if (gridRefApi) {\r\n gridRefApi.refreshCells();\r\n }\r\n }\r\n\r\n /**\r\n * Handle Grid column state chagne\r\n * @returns {undefined}\r\n */\r\n handleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n }\r\n\r\n /**\r\n * Set AG-Grid column state \r\n * @returns {undefined}\r\n */\r\n setGridColumnState() {\r\n var columnState = localStorage.getItem('REITSuiteBulkReportPackageColumnState');\r\n if (columnState) {\r\n this.setState({ gridColumnState: JSON.parse(columnState) });\r\n }\r\n else {\r\n this.setState({ gridColumnState: [{ colId: '-1' }] });\r\n }\r\n }\r\n\r\n /**\r\n * Toggle Create and Run Report Package modal \r\n * @returns {undefined}\r\n */\r\n toggleShowCreateAndRunReportPackageModal() {\r\n this.setState({\r\n showCreateAndRunReportPackageModal: !this.state.showCreateAndRunReportPackageModal, selectedFilesForCreatePackage: [], groupByErrorMessage: '',\r\n selectedItems: [], includeArqcComments: false, resetCheckboxes: !this.state.resetCheckboxes, fdrPdfSelection: false, fdrWordSelection: false,\r\n includePsqComments: false, selectedTemplate: { templateId: -3, templateName: 'Assigned Defaults' }, showGroupingofExtract: true,\r\n includeDiagnosticReport : false, periods: this.props.periods, selectedPeriods:[], checkSelectedPeriod:[], \r\n reits: this.props.reits, selectedReits:[], checkSelectedReit:[],\r\n }, () => {\r\n if (!this.state.showAddClientAuthModal) {\r\n store.dispatch(reset('createAndRunReportPackage'));\r\n }\r\n });\r\n this.setInitialData();\r\n }\r\n\r\n handleFileSelection(fileType, value) {\r\n let selectedFiles = JSON.parse(JSON.stringify(this.state.selectedFilesForCreatePackage));\r\n const indexToRemove = selectedFiles.indexOf(fileType);\r\n if (value && indexToRemove == -1) {\r\n selectedFiles.push(fileType);\r\n }\r\n else if (!value && indexToRemove !== -1) {\r\n selectedFiles.splice(indexToRemove, 1);\r\n }\r\n this.setState({\r\n selectedFilesForCreatePackage: selectedFiles\r\n });\r\n }\r\n /**\r\n * Handle Create and Run Report Package\r\n * @returns {undefined}\r\n */\r\n handleCreateAndRunPackage() {\r\n let request = {\r\n clientID: this.props.clientId,\r\n bulkReportPackageName: this.props.createPackageValues.bulkReportPackageName,\r\n bulkReportPackageConfigData: {\r\n clientId: this.props.clientId,\r\n reportPeriodDescriptions: this.props.createPackageValues.reportPeriod,\r\n // reportPeriodDescriptions: this.state.selectedPeriods,\r\n reitIds: this.props.createPackageValues.reit,\r\n // reitIds: this.state.selectedReits,\r\n packageFileTypeIds: this.getAllSelectedFiles(),\r\n groupBy: this.getGroupByList(),\r\n fdrOptions: this.getFdrOptions(),\r\n includeDiagnosticReport: this.state.includeDiagnosticReport\r\n }\r\n };\r\n\r\n this.props.bulkReportPackageActions\r\n .createBulkReportPackage(request)\r\n .then(() => {\r\n this.props.bulkReportPackageActions.fetchBulkReportPackages(this.props.clientId).then(\r\n () => {\r\n this.props.bulkReportPackageActions.fetchBulkReportPackagesETA(this.props.clientId).then(this.processETA);\r\n\r\n }\r\n );\r\n this.toggleShowCreateAndRunReportPackageModal();\r\n })\r\n .catch((error) => {\r\n this.toggleShowCreateAndRunReportPackageModal();\r\n\r\n });\r\n }\r\n\r\n //concatenate fdr template into selected files state and return complete set\r\n getAllSelectedFiles() {\r\n let selectedTemplateValues = [];\r\n switch (this.state.selectedTemplate.templateId) {\r\n case -3: //assigned default\r\n if (this.state.fdrPdfSelection) {\r\n selectedTemplateValues.push(Constants.reportPackagesFileType.FinalDeliveryReportAssignedDefaultsPDF);\r\n\r\n }\r\n if (this.state.fdrWordSelection) {\r\n selectedTemplateValues.push(Constants.reportPackagesFileType.FinalDeliveryReportAssignedDefaultsMSWord);\r\n\r\n }\r\n break;\r\n case -2: //standard \r\n if (this.state.fdrPdfSelection) {\r\n selectedTemplateValues.push(Constants.reportPackagesFileType.FinalDeliveryReportStandardTemplatePDF);\r\n\r\n }\r\n if (this.state.fdrWordSelection) {\r\n selectedTemplateValues.push(Constants.reportPackagesFileType.FinalDeliveryReportStandardTemplateMSWord);\r\n\r\n }\r\n break;\r\n default: //custom \r\n if (this.state.fdrPdfSelection) {\r\n selectedTemplateValues.push(Constants.reportPackagesFileType.FinalDeliveryReportCustomTemplatePDF);\r\n\r\n }\r\n if (this.state.fdrWordSelection) {\r\n selectedTemplateValues.push(Constants.reportPackagesFileType.FinalDeliveryReportCustomTemplateMSWord);\r\n\r\n }\r\n\r\n }\r\n\r\n return selectedTemplateValues.concat(this.state.selectedFilesForCreatePackage);\r\n\r\n }\r\n\r\n /**\r\n * Handle Include Diagnostic Report Checkbox Checked event\r\n * @returns {undefined}\r\n */\r\n handleIncludeDiagnosticReportCheckboxChecked(isChecked) { \r\n this.setState({ includeDiagnosticReport: isChecked }); \r\n }\r\n\r\n /**\r\n * Handle Show Grouping of Extract toggle button status change\r\n * @returns {undefined}\r\n */\r\n handleShowGroupingofExtract() {\r\n if (this.state.showGroupingofExtract) {\r\n let groupingofReportExtracts = [...reportExtractGroups.groupOptions.filter(x => x.isDefault)];\r\n this.setState({ showGroupingofExtract: !this.state.showGroupingofExtract, groupingofReportExtractList: groupingofReportExtracts });\r\n }\r\n else {\r\n this.setState({ showGroupingofExtract: !this.state.showGroupingofExtract });\r\n }\r\n }\r\n\r\n /**\r\n * Handle Add level to Group by\r\n * @returns {undefined}\r\n */\r\n handleAddLevelGroupBy() {\r\n // Add Group By\r\n var grpofReportExtractList = JSON.parse(JSON.stringify(this.state.groupingofReportExtractList));\r\n grpofReportExtractList.push({\r\n groupingOfReportExtractDescription: ' ', groupingOfReportExtractID: -1\r\n });\r\n\r\n this.setState({ groupingofReportExtractList: JSON.parse(JSON.stringify(grpofReportExtractList)) });\r\n this.checkDuplicateInGroupBy(grpofReportExtractList);\r\n }\r\n\r\n /**\r\n * Handle Delete level from Group by\r\n * @returns {undefined}\r\n */\r\n handleDeleteLevelGroupBy(arrayIndex) {\r\n // Remove Group By\r\n var grpofReportExtractList = JSON.parse(JSON.stringify(this.state.groupingofReportExtractList));\r\n if (grpofReportExtractList && Array.isArray(grpofReportExtractList) && grpofReportExtractList.length > 0 && arrayIndex < grpofReportExtractList.length) {\r\n grpofReportExtractList.splice(arrayIndex, 1);\r\n this.setState({ groupingofReportExtractList: JSON.parse(JSON.stringify(grpofReportExtractList)) });\r\n this.checkDuplicateInGroupBy(grpofReportExtractList);\r\n }\r\n }\r\n\r\n checkDuplicateInGroupBy(groupByDetail) {\r\n // Initialize index of first\r\n // repeating element\r\n let min = -1;\r\n // Creates an empty hashset\r\n let set = new Set();\r\n let repeatedElement = \"\";\r\n\r\n groupByDetail.forEach(element => {\r\n if (element.groupingOfReportExtractID > 0) {\r\n // If element is already in\r\n // hash set, update min\r\n if (set.has(element.groupingOfReportExtractID)) {\r\n min = element.groupingOfReportExtractID;\r\n repeatedElement = element.groupingOfReportExtractID;\r\n return;\r\n }\r\n\r\n // Else add element to hash set\r\n else\r\n set.add(element.groupingOfReportExtractID);\r\n }\r\n });\r\n\r\n if (min != -1)\r\n this.setState({ groupByErrorMessage: Constants.reportPackagesGroupByValues[repeatedElement] + ' value is being used more than once on group by. Please delete the duplicate group by criteria and try again.' });\r\n else\r\n this.setState({ groupByErrorMessage: '' });\r\n\r\n }\r\n /**\r\n * Handle Group by selection\r\n * @returns {undefined}\r\n */\r\n handleGroupBySelection(selectedValue, arrayIndex) {\r\n var grpofReportExtractList = JSON.parse(JSON.stringify(this.state.groupingofReportExtractList));\r\n if (grpofReportExtractList && Array.isArray(grpofReportExtractList) && grpofReportExtractList.length > 0 && arrayIndex < grpofReportExtractList.length) {\r\n grpofReportExtractList[arrayIndex].groupingOfReportExtractID = parseInt(selectedValue);\r\n\r\n }\r\n\r\n this.setState({ groupingofReportExtractList: JSON.parse(JSON.stringify(grpofReportExtractList)) });\r\n this.checkDuplicateInGroupBy(grpofReportExtractList);\r\n }\r\n\r\n /**\r\n * Set Item selection\r\n * @returns {undefined}\r\n */\r\n setItemSelection(itemType, selected) {\r\n const currentSelectedItems = this.state.selectedItems;\r\n\r\n if (selected) {\r\n // Use a set to prevent duplicates.\r\n const newItemSet = new Set([...currentSelectedItems, itemType]);\r\n this.setState({ selectedItems: [...newItemSet] });\r\n } else {\r\n const selectedItems =\r\n currentSelectedItems.filter(_type => _type !== itemType);\r\n\r\n this.setState({ selectedItems });\r\n }\r\n }\r\n\r\n /**\r\n * Set Include PSQ Comments\r\n * @returns {undefined}\r\n */\r\n setIncludePsqComments(includePsqComments) {\r\n this.setState({ includePsqComments });\r\n }\r\n\r\n /**\r\n * Set Include ARQC Comments\r\n * @returns {undefined}\r\n */\r\n setIncludeArqcComments(includeArqcComments) {\r\n this.setState({ includeArqcComments });\r\n }\r\n\r\n /**\r\n * Handle Template select\r\n * @returns {undefined}\r\n */\r\n handleTemplateSelect(newValue) {\r\n let selectedItems = [];\r\n if (newValue.value === -2 || newValue.value == -3) {\r\n selectedItems = [...this.state.defaultFdrSelections];\r\n }\r\n\r\n this.setState({\r\n selectedTemplate: {\r\n templateId: newValue.value,\r\n templateName: newValue.label\r\n },\r\n selectedItems,\r\n includeArqcComments: false,\r\n includePsqComments: false\r\n });\r\n }\r\n\r\n getGroupByList() {\r\n let groupByList = [];\r\n if (this.state.showGroupingofExtract) {\r\n this.state.groupingofReportExtractList.forEach(element => {\r\n if (element.groupingOfReportExtractID > 0) {\r\n groupByList.push(Constants.reportPackagesGroupBy[element.groupingOfReportExtractID]);\r\n }\r\n\r\n });\r\n }\r\n return groupByList;\r\n }\r\n\r\n getFdrOptions() {\r\n let finalFdrOptionsList = {};\r\n let isFdrTemplateSelected = false;\r\n\r\n if (this.state.fdrPdfSelection || this.state.fdrWordSelection) {\r\n isFdrTemplateSelected = true;\r\n }\r\n\r\n const mergeWithDefaultSelections = [this.state.selectedItems, this.state.defaultFdrSelections];\r\n\r\n finalFdrOptionsList[\"reportItems\"] = isFdrTemplateSelected ? (this.state.selectedTemplate.templateId > 0 ? this.state.selectedItems : this.mergeDeDupArrays(mergeWithDefaultSelections)) : [];\r\n finalFdrOptionsList[\"includePsqComments\"] = isFdrTemplateSelected ? this.state.includePsqComments : false;\r\n finalFdrOptionsList[\"includeArqcComments\"] = isFdrTemplateSelected ? this.state.includeArqcComments : false;\r\n finalFdrOptionsList[\"fdrTemplateId\"] = isFdrTemplateSelected && this.state.selectedTemplate.templateId > 0 ? this.state.selectedTemplate.templateId : null;\r\n finalFdrOptionsList[\"excludedPsqs\"] = [];\r\n return finalFdrOptionsList;\r\n }\r\n\r\n mergeDeDupArrays(arr) {\r\n return [...new Set([].concat(...arr))];\r\n }\r\n\r\n\r\n setFdrSelection(fileType, value) {\r\n if (fileType == \"word\") {\r\n this.setState({\r\n fdrWordSelection: value\r\n });\r\n }\r\n else if (fileType == \"pdf\") {\r\n this.setState({\r\n fdrPdfSelection: value\r\n });\r\n }\r\n\r\n }\r\n\r\n handleAllSelection(event, allOptions, fieldName = \"\"){\r\n if(event.target !== undefined && event.target !== null && \r\n (event.target?.textContent !== \"Select one or more\" && event.target.parentNode.innerText !== \"Select one or more\") && // when the cursor hit the dropdown initially, it is returning the placeholder\r\n (event.target?.className?.baseVal !== \"motif-select-input-arrow\" && event.target.className !==\"motif-select-input-text\" && event.target.className !==\"motif-select-input\") && // prevent changing the value when the cursor hit the arrow icon or the middle space in the dropdown\r\n (event.target.className === \"motif-select-all\" || event.target?.ariaSelected !== null || // check if selected is Select All/ Deselect All or individual selection\r\n allOptions.map(opt => (opt.key).toString()).includes(event.target.textContent) || // checking of key as sometimes the event.target.textContent capture the key instead of the text\r\n event.currentTarget.innerText.split('\\n').includes(\"Deselect All\") || event.currentTarget.innerText.split('\\n').includes(\"Select All\") || // when the selected is checkbox Select/Deselect all, event.target.textContent is empty\r\n event.target.parentNode.innerText !== \"\")) // when the selected is checkbox, event.target.textContent is empty\r\n {\r\n let selectedInnerValues = event.currentTarget.innerText.split(','); // innerText is a string that combine of all selected items. The separator for current selected item is ','\r\n\r\n // usually the event.target.textContent is empty when the cursor hit the checkbox\r\n let selectedValue = (event.target.textContent !== \"\" && event.target.textContent !== \"-\") ? event.target.textContent : event.target.parentNode.innerText;\r\n selectedValue = (selectedValue !== \"\" && selectedValue !== undefined && \r\n allOptions.filter(v => v.text.replace(/\\s/g,'') === selectedValue.replace(/\\s/g,''))?.length > 0 || \r\n selectedValue === \"Select All\") ? selectedValue : event.target.parentNode.innerText;\r\n selectedValue = (selectedValue !== \"\" && selectedValue !== undefined && !event.currentTarget.innerText?.startsWith(\"Deselect All\")) ? selectedValue : \r\n selectedInnerValues.length > 1 ? selectedInnerValues[0] : \"Deselect All\";\r\n\r\n let newSelectionOptions = [];\r\n let isSelectAllIndeterminate = event.target.firstChild?.className === \"motif-select-checkbox motif-select-checkbox-indeterminate\" ||\r\n event.target.className?.baseVal === \"motif-select-checkbox-icon-indeterminate\";\r\n let isCheckboxDeselect = event.target?.parentNode?.className === \"motif-select-checkbox motif-select-checkbox-selected motif-select-checkbox-indeterminate\";\r\n let isSelectClicked = (selectedValue === \"Select All\" || selectedValue.startsWith(\"Select All\") && !isSelectAllIndeterminate) \r\n let isDeselectClicked = (selectedValue === \"Deselect All\" || selectedValue.startsWith(\"Deselect All\")) || isCheckboxDeselect || isSelectAllIndeterminate;\r\n\r\n // set the value of isSelected property\r\n allOptions.forEach(period => {\r\n let periodText = period.text.replace(/\\s/g,'');\r\n let selectedValueNoSpaces = selectedValue.replace(/\\s/g,'');\r\n\r\n // checking for Select All and individual select\r\n if((isSelectClicked || (period.isSelected && selectedValueNoSpaces !== periodText) || \r\n (!period.isSelected && selectedValue === period.text)) && !isDeselectClicked){\r\n period.isSelected = true;\r\n }\r\n // checking for Select All and individual select\r\n else if(isDeselectClicked || (selectedValueNoSpaces === periodText && period.isSelected)){\r\n period.isSelected = false;\r\n }\r\n else{\r\n period.isSelected = false;\r\n }\r\n \r\n newSelectionOptions.push(period);\r\n });\r\n\r\n if(fieldName === \"period\"){\r\n this.setState({checkSelectedPeriod : newSelectionOptions});\r\n if(isDeselectClicked){\r\n this.setState({ selectedPeriods: []});\r\n } else{\r\n this.setState({ selectedPeriods: allOptions.filter(option => option.isSelected).map(opt => opt.value) });\r\n }\r\n } else if(fieldName === \"reit\"){\r\n this.setState({checkSelectedReit : newSelectionOptions});\r\n if(isDeselectClicked){\r\n this.setState({ selectedReits: []});\r\n } else{\r\n this.setState({ selectedReits: allOptions.filter(option => option.isSelected).map(opt => opt.value) });\r\n }\r\n }\r\n }\r\n }\r\n\r\n populateHasIncompleteSecuritySnapshots(clientId,reitId,periodId) {\r\n this.props.securitiesSnapshotActions.getIncompleteSecuritySnapshotDetails(clientId,reitId,periodId).then((data) => {\r\n this.setState({ hasIncompleteSecuritySnapshotsList: data });\r\n });\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n \r\n

    Bulk Report Management

    \r\n \r\n \r\n {(this.props.bulkReportPackages == null || this.props.bulkReportPackages.length === 0) &&\r\n
    No bulk report packages found for this client.
    }\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nBulkReportManagementContainer.propTypes = {\r\n clientId: PropTypes.number,\r\n currentUserAuthorizations: PropTypes.array,\r\n currentUserIsSysAdmin: PropTypes.bool.isRequired,\r\n currentUserIsEngAdmin: PropTypes.bool.isRequired,\r\n currentUserIsEngagementUser: PropTypes.bool.isRequired,\r\n initialize: PropTypes.func,\r\n showCreateAndRunReportPackageModal: PropTypes.bool,\r\n includePsqComments: PropTypes.bool,\r\n includeArqcComments: PropTypes.bool,\r\n showGroupingofExtract: PropTypes.bool,\r\n reportExtractGroupByList: PropTypes.array,\r\n reits: PropTypes.array,\r\n periods: PropTypes.array,\r\n availableReportItems: PropTypes.array,\r\n selectedTemplate: PropTypes.object,\r\n selectedItems: PropTypes.object,\r\n toggleShowCreateAndRunReportPackageModal: PropTypes.func,\r\n handleAddLevelGroupBy: PropTypes.func,\r\n handleDeleteLevelGroupBy: PropTypes.func,\r\n handleGroupBySelection: PropTypes.func,\r\n handleCreateAndRunPackage: PropTypes.func,\r\n handleShowGroupingofExtract: PropTypes.func,\r\n setItemSelection: PropTypes.func,\r\n setIncludePsqComments: PropTypes.func,\r\n setIncludeArqcComments: PropTypes.func,\r\n handleTemplateSelect: PropTypes.func,\r\n reitActions: PropTypes.object,\r\n periodActions: PropTypes.object,\r\n reportActions: PropTypes.object,\r\n bulkReportPackageActions: PropTypes.object,\r\n initialValues: PropTypes.object,\r\n handleAllSelection: PropTypes.func,\r\n selectedPeriods: PropTypes.array,\r\n checkSelectedPeriod: PropTypes.array,\r\n selectedReits: PropTypes.array,\r\n checkSelectedReit: PropTypes.array,\r\n theme: PropTypes.string,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n let cid = Number.parseInt(ownProps.router.params.clientId);\r\n if (isNaN(cid)) {\r\n cid = 0;\r\n }\r\n return {\r\n clientId: cid,\r\n clientIsAudit: state.client && state.client.isAudit,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n currentUserIsSysAdmin: Array.isArray(state.currentUserAuthorizations) && (authActions.isSystemAdministrator(state.currentUserAuthorizations)),\r\n currentUserIsEngAdmin: Array.isArray(state.currentUserAuthorizations) && (authActions.isEngagementAdministrator(state.currentUserAuthorizations, cid)),\r\n authentication: state.authentication,\r\n reits: state.reits,\r\n periods: state.periods,\r\n customFdrTemplate: state.customFdrTemplate,\r\n availableReportItems: state.availableReportItems,\r\n bulkReportPackages: state.bulkReportPackages.bulkReportPackages,\r\n toggleReloadBulkReportPackages: state.bulkReportPackages.toggleReloadBulkReportPackages,\r\n bulkReportPackagesETA: state.bulkReportPackagesETA,\r\n theme: state.themeServices,\r\n initialValues: {\r\n },\r\n createPackageValues: getFormValues('createAndRunReportPackage')(state),\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n reitActions: bindActionCreators(reitActions, dispatch),\r\n periodActions: bindActionCreators(periodActions, dispatch),\r\n customFdrActions: bindActionCreators(customFdrActions, dispatch),\r\n reportActions: bindActionCreators(reportActions, dispatch),\r\n bulkReportPackageActions: bindActionCreators(bulkReportPackageActions, dispatch),\r\n securitiesSnapshotActions: bindActionCreators(securitiesSnapshotActions, dispatch),\r\n };\r\n}\r\n\r\nexport default withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n )(\r\n reduxForm({\r\n form: \"bulkReportManagementForm\",\r\n enableReinitialize: true\r\n })(BulkReportManagementContainer)\r\n )\r\n);\r\n","import PropTypes from \"prop-types\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Form, Icon, Popup, Dropdown } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport * as formValidators from \"../../scripts/formValidators\";\r\nimport { MotifButton, MotifIconButton, MotifIcon, MotifErrorMessage } from \"@ey-xd/motif-react\";\r\nimport { IconoirCopy, IconoirPasteClipboard, IconoirInfoCircle } from '@ey-xd/motif-icon';\r\nimport { addAttribute } from \"../../common/Attribute\";\r\n\r\nconst AssignReitsTable = ({\r\n defaultFdrTemplates,\r\n onSubmit,\r\n pristine,\r\n submitting,\r\n formSyncErrors,\r\n formSubmitErrors,\r\n handleSubmit,\r\n handleReset,\r\n saved,\r\n handleCopyField,\r\n handlePasteField,\r\n copiedFieldName,\r\n hasWriteAccess,\r\n customQuestionnaireTemplates,\r\n customTemplateOptions\r\n}) => {\r\n\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n\r\n const preventSubmitOnEnter = (e) => {\r\n if (e.key === 'Enter') {\r\n //Avoid preventing key press for buttons\r\n if (e.target && e.target.type !== 'button') {\r\n e.preventDefault();\r\n }\r\n }\r\n };\r\n\r\n const glowStyle = {\r\n boxShadow: \"0 0 5px rgba(81, 203, 238, 1)\",\r\n border: \"1px solid rgba(81, 203, 238, 1)\"\r\n };\r\n\r\n const hasFormSyncErrors = Object.keys(formSyncErrors).length !== 0;\r\n const hasFormSubmitErrors = Object.keys(formSubmitErrors).length !== 0;\r\n\r\n return
    \r\n
    \r\n
    \r\n
    \r\n {defaultFdrTemplates && defaultFdrTemplates.length > 0 &&\r\n
    \r\n \r\n {hasWriteAccess &&\r\n \r\n \r\n Save Default FDR Templates\r\n \r\n \r\n Reset\r\n \r\n }\r\n {saved && Saved}\r\n {copiedFieldName &&
    \r\n \r\n Press Escape to display Copy buttons\r\n \r\n
    ||
     
    }\r\n {
    }\r\n {(hasFormSyncErrors || hasFormSubmitErrors) && There are invalid form entries. Please correct.}\r\n
    \r\n \r\n \r\n \r\n \r\n {[1, 2, 3, 4].map(q => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {defaultFdrTemplates.map(dft => {\r\n return \r\n \r\n {[1, 2, 3, 4].map(q => {\r\n const wrapperStyle =\r\n copiedFieldName ===\r\n `q${q}_${dft.reitId}` ||\r\n copiedFieldName === `col_q${q}` ||\r\n copiedFieldName == dft.reitId\r\n ? glowStyle\r\n : {};\r\n \r\n return ;\r\n })}\r\n \r\n }\r\n )}\r\n \r\n
    REIT\r\n
    \r\n Q{q}\r\n {hasWriteAccess &&
    \r\n {!copiedFieldName && handleCopyField(`col_q${q}`)} >\r\n \r\n \r\n }\r\n />\r\n }\r\n {copiedFieldName && copiedFieldName.includes('_') &&\r\n handlePasteField(null, `q${q}`)}\r\n disabled={!copiedFieldName || (copiedFieldName && !copiedFieldName.includes('_'))}\r\n >\r\n \r\n \r\n }\r\n />\r\n }\r\n
    }\r\n
    \r\n
    \r\n
    \r\n {hasWriteAccess && !dft.disabledReason &&
    \r\n {!copiedFieldName && \r\n handleCopyField(dft.reitId.toString())} \r\n >\r\n \r\n \r\n }\r\n />\r\n }\r\n {copiedFieldName && !copiedFieldName.includes('col_') &&\r\n handlePasteField(dft.reitId.toString())}\r\n disabled={!copiedFieldName || (copiedFieldName && copiedFieldName.includes('col_'))}\r\n > \r\n \r\n \r\n }\r\n />}\r\n
    }\r\n
    \r\n {dft.reitName}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {hasWriteAccess && !dft.disabledReason &&
    \r\n {!copiedFieldName &&\r\n handleCopyField(`q${q}_${dft.reitId}`)}\r\n >\r\n \r\n \r\n }\r\n />\r\n }\r\n {copiedFieldName &&\r\n copiedFieldName.includes('_') &&\r\n !copiedFieldName.includes('col_') &&\r\n handlePasteField(`q${q}_${dft.reitId}`)}\r\n disabled={!copiedFieldName || (copiedFieldName && copiedFieldName.includes(`q${q}_${dft.reitId}`)) || (copiedFieldName && !copiedFieldName.includes('_')) || (copiedFieldName && copiedFieldName.includes('col_'))}\r\n >\r\n \r\n \r\n }\r\n />\r\n }\r\n
    }\r\n
    \r\n
    \r\n
    \r\n {(hasFormSyncErrors || hasFormSubmitErrors) && There are invalid form entries. Please correct.}\r\n {hasWriteAccess &&\r\n \r\n \r\n Save Default FDR Templates\r\n \r\n \r\n Reset\r\n \r\n }\r\n {saved && Saved}\r\n
    }\r\n\r\n {defaultFdrTemplates && defaultFdrTemplates.length === 0 &&\r\n
    Data not available. Ensure there is at least one REIT created for this Client.
    }\r\n
    \r\n
    \r\n
    ;\r\n};\r\n\r\nAssignReitsTable.propTypes = {\r\n checklistDeliveryCalendar: PropTypes.array,\r\n customQuestionnaireTemplates: PropTypes.array\r\n};\r\n\r\nexport default reduxForm({ form: \"defaultFdrTemplates\" })(AssignReitsTable);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { getFormValues, getFormSyncErrors, getFormSubmitErrors, SubmissionError, reduxForm } from \"redux-form\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as clientActions from \"../../actions/clientActions\";\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport { arraysEqual } from \"../../scripts/arrayHelpers\";\r\nimport AssignReitsTable from \"../../components/customFdrTemplate/AssignReitsTable\";\r\nimport * as customFdrTemplateActions from \"../../actions/customFdrTemplateActions\";\r\nimport { MotifTabNavigation, MotifTabControl } from \"@ey-xd/motif-react\";\r\nimport { Link } from 'react-router-dom';\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * DefaultFdrTemplatesContainer container component\r\n * @extends {React.Component}\r\n */\r\nclass DefaultFdrTemplatesContainer extends React.Component {\r\n /**\r\n * Creates a new DefaultFdrTemplatesContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.handleSaveDefaultFdrTemplates = this.handleSaveDefaultFdrTemplates.bind(this);\r\n this.updateInitialValues = this.updateInitialValues.bind(this);\r\n this.handleCopyField = this.handleCopyField.bind(this);\r\n this.handlePasteField = this.handlePasteField.bind(this);\r\n this.handlePrePopulateCheckAll = this.handlePrePopulateCheckAll.bind(this);\r\n this.filterPsqArqc = this.filterPsqArqc.bind(this);\r\n this.filterDisabled = this.filterDisabled.bind(this);\r\n this.handleEscape = this.handleEscape.bind(this);\r\n\r\n this.setTabBar1 = this.setTabBar1.bind(this);\r\n this.handleClick = this.handleClick.bind(this);\r\n\r\n this.state = {\r\n savedInitialValues: {},\r\n saved: false,\r\n copiedFieldName: null,\r\n psqArqc: 'ALL', // the PSQ/ARQC filter field is not part of redux-form, so we do not affect the dirty/pristine flags when changing this field\r\n filteredCalendar: [],\r\n quarterDateError: null,\r\n dateModalQuarter: '',\r\n dateModalOpen: false,\r\n dateModalQuarterValue: null,\r\n prePopulateCheckAll: true,\r\n tabBar1: 0,\r\n customQuestionnaireTemplates: []\r\n };\r\n\r\n // Generate calendar years starting in 2019\r\n // and going up to the current year\r\n this.calendarYears = [2019];\r\n const currentYear = parseInt(new Date().getFullYear());\r\n\r\n while (this.calendarYears.slice(-1) < currentYear) {\r\n this.calendarYears.push(parseInt(this.calendarYears.slice(-1)) + 1);\r\n }\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n // this.props.customQuestionActions.fetchCustomQuestionnaireTemplates(this.props.clientId).then(() => {\r\n // const list = Object.assign([], this.props.customQuestionnaireTemplates);\r\n // this.setState({ customQuestionnaireTemplates: list });\r\n // });\r\n this.props.customFdrTemplateActions\r\n .fetchDefaultFdrTemplates(this.props.clientId)\r\n .then(() => {\r\n this.props.customFdrTemplateActions.fetchCustomFdrTemplates(this.props.clientId).then(() => {\r\n this.updateInitialValues();\r\n });\r\n });\r\n\r\n //Add Key Down event listner\r\n document.addEventListener(\"keydown\", this.handleEscape, false);\r\n }\r\n\r\n /**\r\n * Invoked immediately before unmounting occurs\r\n * @returns {undefined}\r\n */\r\n componentWillUnmount() {\r\n // On unmount, clear the calendar data from state to conserve memory\r\n // Calling this action with no argument will clear from redux-state\r\n //this.props.checklistActions.fetchChecklistDeliveryCalendar();\r\n\r\n // Also clear the local state\r\n this.setState({ filteredCalendar: [] });\r\n\r\n //Remove Key Down event listner\r\n document.removeEventListener(\"keydown\", this.handleEscape, false);\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n // if (prevProps.customQuestionnaireTemplates !== this.props.customQuestionnaireTemplates && this.props.customQuestionnaireTemplates) {\r\n // const list = Object.assign([], this.props.customQuestionnaireTemplates);\r\n // this.setState({ customQuestionnaireTemplates: list });\r\n // }\r\n }\r\n\r\n /**\r\n * Handle Escape key press event\r\n */\r\n handleEscape(event) {\r\n if (event.key === \"Escape\") {\r\n //Reset copiedFieldName to null \r\n this.setState({ copiedFieldName: null });\r\n }\r\n }\r\n\r\n updateInitialValues() {\r\n // We just received new default FDR template data from API.\r\n // New data should be in this.props.customFdrTemplate.defaultFdrTemplates\r\n // Let's initialize the form values.\r\n const initialValues = {\r\n clientId: this.props.clientId\r\n };\r\n\r\n // Loop through all records to set field values for each quarter (default to -1 for standard template)\r\n this.props.customFdrTemplate.defaultFdrTemplates.forEach(dft => {\r\n initialValues[`q1_${dft.reitId}`] = dft.defaultFdrTemplateQ1 ? dft.defaultFdrTemplateQ1 : -1;\r\n initialValues[`q2_${dft.reitId}`] = dft.defaultFdrTemplateQ2 ? dft.defaultFdrTemplateQ2 : -1;\r\n initialValues[`q3_${dft.reitId}`] = dft.defaultFdrTemplateQ3 ? dft.defaultFdrTemplateQ3 : -1;\r\n initialValues[`q4_${dft.reitId}`] = dft.defaultFdrTemplateQ4 ? dft.defaultFdrTemplateQ4 : -1;\r\n });\r\n\r\n // initialize is a function that is injected from redux-form\r\n // this is how it can keep up with which fields are dirty/modified\r\n this.props.dispatch(this.props.initialize(\r\n initialValues,\r\n { options: { updateUnregisteredFields: true } }\r\n ));\r\n\r\n // save the initial values to state, so we can compare later and only submit the changed records\r\n // null out the copiedEmailFieldName\r\n this.setState({\r\n savedInitialValues: initialValues,\r\n copiedFieldName: null\r\n });\r\n }\r\n\r\n /**\r\n * Save the default fdr template data\r\n * @returns {undefined}\r\n */\r\n handleSaveDefaultFdrTemplates(values, dispatch, props) {\r\n // Get initial values from state\r\n const initialValues = this.state.savedInitialValues;\r\n\r\n // Find the dirty/modified fields only\r\n const dirty_fields_only = Object.keys(values).filter((key) => {\r\n if (Array.isArray(initialValues[key]) || Array.isArray(values[key])) {\r\n return !arraysEqual(values[key] || [], initialValues[key] || [])\r\n } else {\r\n return !(values[key] == initialValues[key]);\r\n }\r\n });\r\n\r\n // get just the id portion from the field name\r\n // for example, q1_123 turns into 123 (which is the REIT ID)\r\n let dirtyIds = dirty_fields_only.map(f => {\r\n const split_ids = f.split('_');\r\n return split_ids[1];\r\n });\r\n // remove duplicate ids\r\n dirtyIds = [...new Set(dirtyIds)];\r\n\r\n // Now build an array of the data we need to send to the save default fdr templates API call with just the modified records\r\n // Flip the -1 values into NULL\r\n const requestData = dirtyIds.map(id => {\r\n return {\r\n reitId: parseInt(id),\r\n defaultFdrTemplateQ1: values[`q1_${id}`] == -1 ? null : values[`q1_${id}`],\r\n defaultFdrTemplateQ2: values[`q2_${id}`] == -1 ? null : values[`q2_${id}`],\r\n defaultFdrTemplateQ3: values[`q3_${id}`] == -1 ? null : values[`q3_${id}`],\r\n defaultFdrTemplateQ4: values[`q4_${id}`] == -1 ? null : values[`q4_${id}`],\r\n };\r\n });\r\n\r\n this.props.customFdrTemplateActions.saveDefaultFdrTemplates(requestData).then(() => {\r\n this.props.customFdrTemplateActions\r\n .fetchDefaultFdrTemplates(this.props.clientId)\r\n .then(() => {\r\n this.props.customFdrTemplateActions.fetchCustomFdrTemplates(this.props.clientId).then(() => {\r\n this.updateInitialValues();\r\n //Reset copiedFieldName to null \r\n this.setState({ saved: true, copiedFieldName: null });\r\n setTimeout(() => this.setState({ saved: false }), 2500);\r\n });\r\n });\r\n });\r\n }\r\n\r\n //Set tab related state variables\r\n setTabBar1(currentIndex) {\r\n this.setState({ tabBar1: currentIndex });\r\n }\r\n\r\n //Set current tab index\r\n handleClick(index) {\r\n this.setTabBar1(index);\r\n }\r\n\r\n handleCopyField(fieldName) {\r\n this.setState({ copiedFieldName: fieldName });\r\n }\r\n\r\n // Only pass one value or the other\r\n handlePasteField(singleFieldName, allFieldsPrefix) {\r\n if (allFieldsPrefix) {\r\n const fieldsToUpdate = Object\r\n .keys(this.props.defaultFdrTemplatesValues)\r\n .filter(key => key.includes(allFieldsPrefix));\r\n // .filter(key => this.filterDisabled(key));\r\n\r\n fieldsToUpdate.forEach(fieldName => {\r\n if (this.state.copiedFieldName.includes('col_')) {\r\n const copiedQuarterPrefix = this.state.copiedFieldName.replace('col_', '');\r\n const copiedField = `${copiedQuarterPrefix}${fieldName.substring(2)}`;\r\n this.props.dispatch(this.props.change(fieldName, this.props.defaultFdrTemplatesValues[copiedField]));\r\n } else {\r\n this.props.dispatch(this.props.change(fieldName, this.props.defaultFdrTemplatesValues[this.state.copiedFieldName]));\r\n }\r\n });\r\n } else {\r\n if (singleFieldName.includes('_') && !singleFieldName.includes('col_')) {\r\n // Trying to paste into a single field\r\n this.props.dispatch(this.props.change(singleFieldName, this.props.defaultFdrTemplatesValues[this.state.copiedFieldName]));\r\n } else if (!singleFieldName.includes('_')) {\r\n // Trying to paste into entire row\r\n // Now check if entire row is copied or single field\r\n if (this.state.copiedFieldName.includes('_')) {\r\n // Paste same value into all fields for the reit row\r\n const fieldsToUpdate = Object\r\n .keys(this.props.defaultFdrTemplatesValues)\r\n .filter(key => key.includes(`_${singleFieldName}`));\r\n\r\n fieldsToUpdate.forEach(fieldName =>\r\n this.props.dispatch(this.props.change(fieldName, this.props.defaultFdrTemplatesValues[this.state.copiedFieldName]))\r\n );\r\n } else if (!this.state.copiedFieldName.includes('_')) {\r\n this.props.dispatch(this.props.change(`q1_${singleFieldName}`, this.props.defaultFdrTemplatesValues[`q1_${this.state.copiedFieldName}`]));\r\n this.props.dispatch(this.props.change(`q2_${singleFieldName}`, this.props.defaultFdrTemplatesValues[`q2_${this.state.copiedFieldName}`]));\r\n this.props.dispatch(this.props.change(`q3_${singleFieldName}`, this.props.defaultFdrTemplatesValues[`q3_${this.state.copiedFieldName}`]));\r\n this.props.dispatch(this.props.change(`q4_${singleFieldName}`, this.props.defaultFdrTemplatesValues[`q4_${this.state.copiedFieldName}`]));\r\n }\r\n }\r\n }\r\n }\r\n\r\n handlePrePopulateCheckAll() {\r\n const allFieldsPrefix = 'prePopulateAnswers_';\r\n\r\n // Take into account the PSQ/ARQC filter to only apply updates to ALL, PSQ, or ARQC\r\n const fieldsToUpdate = Object.keys(this.props.checklistDeliveryCalendarValues).filter(key => this.filterPsqArqc(key, allFieldsPrefix));\r\n\r\n fieldsToUpdate.filter(this.filterDisabled).forEach(fieldName =>\r\n this.props.dispatch(this.props.change(fieldName, this.state.prePopulateCheckAll))\r\n );\r\n\r\n this.setState({ prePopulateCheckAll: !this.state.prePopulateCheckAll });\r\n }\r\n\r\n filterPsqArqc(key, allFieldsPrefix) {\r\n const { psqArqc } = this.state;\r\n\r\n return psqArqc === 'ALL' ? key.includes(allFieldsPrefix) : // ALL records\r\n psqArqc === 'ARQC' ? key.includes(allFieldsPrefix) && key.includes('_arqc') : // only ARQC records\r\n key.includes(allFieldsPrefix) && !key.includes('_arqc'); // only PSQ (exclude ARQC records)\r\n }\r\n\r\n filterDisabled(key) {\r\n // Find the calendar entry and see if there is not a disabledReason\r\n // We don't want to mass-update the disabled records\r\n const split_id = key.split('_');\r\n const isProperty = split_id[2] !== 'arqc';\r\n\r\n return !this.props.checklistDeliveryCalendar.filter(cdc => {\r\n return cdc.reitId == parseInt(split_id[1])\r\n && cdc.propertyTrackingId == (isProperty ? split_id[2] : null)\r\n && (cdc.propertyType == (isProperty ? split_id[3] : null) // handle null propertyType\r\n || cdc.propertyType == (isProperty ? split_id[3] : '')) // handle blank string propertyType\r\n })[0].disabledReason;\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n const modalStyle = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n transform: 'translate(-50%, -50%)',\r\n width: '250px',\r\n textAlign: 'center'\r\n }\r\n };\r\n\r\n let customTemplateOptions = this.props.customFdrTemplate ? this.props.customFdrTemplate.templates.map(t => {\r\n return { key: t.fdrTemplateID, value: t.fdrTemplateID, text: t.fdrTemplateName };\r\n }) : [];\r\n customTemplateOptions.sort(function (a, b) { return a.fdrTemplateName - b.fdrTemplateName });\r\n customTemplateOptions.unshift({ key: -1, text: 'Standard Template', value: -1 });\r\n\r\n return (\r\n \r\n

    Custom FDR Template

    \r\n \r\n \r\n this.handleClick(1)}>\r\n Templates\r\n \r\n \r\n \r\n this.handleClick(2)}>\r\n Assign Defaults\r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n let cid = Number.parseInt(ownProps.router.params.clientId);\r\n if (isNaN(cid)) {\r\n cid = 0;\r\n }\r\n\r\n return {\r\n clientId: cid,\r\n customFdrTemplate: state.customFdrTemplate,\r\n defaultFdrTemplatesValues: getFormValues('defaultFdrTemplates')(state),\r\n // initialValues: {\r\n // calendarYear: parseInt(new Date().getFullYear()) // default the year dropdown to current year\r\n // },\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n formSyncErrors: getFormSyncErrors('defaultFdrTemplates')(state),\r\n formSubmitErrors: getFormSubmitErrors('defaultFdrTemplates')(state)\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n clientActions: bindActionCreators(clientActions, dispatch),\r\n customFdrTemplateActions: bindActionCreators(customFdrTemplateActions, dispatch),\r\n };\r\n}\r\n\r\nDefaultFdrTemplatesContainer.propTypes = {\r\n clientId: PropTypes.number,\r\n customFdrTemplate: PropTypes.object,\r\n defaultFdrTemplatesValues: PropTypes.object,\r\n initialValues: PropTypes.object,\r\n clientActions: PropTypes.object,\r\n customFdrTemplateActions: PropTypes.object,\r\n currentUserAuthorizations: PropTypes.array,\r\n initialize: PropTypes.func\r\n};\r\n\r\nexport default withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n )(\r\n reduxForm({ form: \"defaultFdrTemplates\", enableReinitialize: true })(\r\n DefaultFdrTemplatesContainer\r\n )\r\n )\r\n);\r\n","/* eslint-disable react/jsx-key */\r\n/* eslint-disable react/prop-types */\r\n\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n MotifAccordion,\r\n MotifAccordionContent,\r\n MotifAccordionTrigger,\r\n MotifIcon,\r\n MotifButton,\r\n} from '@ey-xd/motif-react';\r\nimport CustomQuestionAttachmentList from './CustomQuestionAttachmentList';\r\nimport { IconoirLock, IconoirEditPencil, IconoirTrash, IconoirPlus } from '@ey-xd/motif-icon';\r\n\r\nconst QuestionAccordion = ({\r\n index,\r\n question,\r\n internalSectionId,\r\n hasSection,\r\n handleDeleteClick,\r\n handleEditClick,\r\n interalParentQuestionId,\r\n handleAddNewChildQuestion,\r\n handleQuestionDropComponent,\r\n handleAvailableQuestionDragStart,\r\n handleSectionChildQuestionDragStart,\r\n dropCategory,\r\n handleOpenAccordion,\r\n handleCloseAccordion,\r\n parentQuestionSortOrder,\r\n visibleQuestionTypes,\r\n hideEditDelete = false,\r\n parentPicklistItems,\r\n allowChildQuestionEdit = true,\r\n isTemplateEditedByOtherUser,\r\n parentQuestionIndex,\r\n sectionID,\r\n sectionName,\r\n handleDownloadAttachmentClick\r\n}) => {\r\n const questionSortOrder = question.parentQuestionID\r\n ? parentQuestionSortOrder\r\n : question.questionSortOrder;\r\n\r\n const parentQIndex = question.parentQuestionID\r\n ? null\r\n : index;\r\n\r\n const onEditClick = (\r\n event,\r\n question,\r\n internalQuestionId,\r\n accordionCategory\r\n ) => {\r\n event.stopPropagation();\r\n let questionToEdit = {\r\n ...question,\r\n internalSectionId,\r\n internalQuestionId,\r\n accordionCategory,\r\n sectionID: question.parentQuestionID === null ? question.sectionID : sectionID,\r\n sectionName: question.parentQuestionID === null ? question.sectionName : sectionName,\r\n };\r\n handleEditClick(questionToEdit);\r\n };\r\n\r\n const onDeleteClick = (\r\n event,\r\n question,\r\n internalQuestionId,\r\n accordionCategory\r\n ) => {\r\n event.stopPropagation();\r\n let questionToDelete = {\r\n ...question,\r\n internalSectionId,\r\n internalQuestionId,\r\n interalParentQuestionId,\r\n accordionCategory,\r\n };\r\n handleDeleteClick(questionToDelete);\r\n };\r\n\r\n const onAddNewChildClick = (parentQuestion, hasSection) => {\r\n handleAddNewChildQuestion(parentQuestion, hasSection);\r\n };\r\n\r\n const getDisplayId = (hasChildQuestion, index) => {\r\n let id = '';\r\n // Genarate question id only for templates panel questions (i.e. hasSection == true)\r\n if (hasSection) {\r\n if (hasChildQuestion) {\r\n id = internalSectionId + 1 + '.' + (index + 1);\r\n } else {\r\n id =\r\n internalSectionId + 1 + '.' + (parentQuestionIndex + 1) + '.' + (index + 1);\r\n }\r\n }\r\n return id;\r\n };\r\n\r\n const childQuestionDisplayRule = (question) => {\r\n const childQuestionDisplayRule = question.childQuestionDisplayRule;\r\n if (\r\n childQuestionDisplayRule &&\r\n childQuestionDisplayRule.showChildQuestion == 'always'\r\n ) {\r\n return 'Always';\r\n } else if (\r\n childQuestionDisplayRule &&\r\n childQuestionDisplayRule.enabledByParentAnswers\r\n ) {\r\n let enabledParentAnswersCount = 0;\r\n let enabledByParentAnswers = [];\r\n if (parentPicklistItems === null || !parentPicklistItems) {\r\n enabledParentAnswersCount =\r\n childQuestionDisplayRule.enabledByParentAnswers.length;\r\n enabledByParentAnswers =\r\n childQuestionDisplayRule.enabledByParentAnswers;\r\n } else {\r\n enabledParentAnswersCount =\r\n childQuestionDisplayRule.enabledByParentAnswers.filter((c) =>\r\n parentPicklistItems.includes(c)\r\n ).length;\r\n enabledByParentAnswers =\r\n childQuestionDisplayRule.enabledByParentAnswers.filter((c) =>\r\n parentPicklistItems.includes(c)\r\n );\r\n }\r\n if (enabledParentAnswersCount > 0) {\r\n return 'Parent Answer is ' + enabledByParentAnswers.join(' / ');\r\n } else {\r\n return 'The selected parent answer is modified or removed. Please update the display rule for the question.';\r\n }\r\n }\r\n };\r\n\r\n return (\r\n {\r\n handleOpenAccordion(\r\n e,\r\n question.isAccordionOpen,\r\n question.questionID,\r\n question.parentQuestionID\r\n );\r\n }}\r\n onClose={(e) => {\r\n handleCloseAccordion(\r\n e,\r\n question.isAccordionOpen,\r\n question.questionID,\r\n question.parentQuestionID\r\n );\r\n }}\r\n >\r\n \r\n
    \r\n {dropCategory == 'sectionquestion' ||\r\n dropCategory == 'sectionchildquestion' ? (\r\n \r\n {getDisplayId(question.parentQuestionID === null, index)}\r\n {' '}\r\n {question.questionText}\r\n
    \r\n ) : (\r\n \r\n {question.questionText}\r\n \r\n )}\r\n
    \r\n {('parentQuestionID' in question &&\r\n question.parentQuestionID !== null &&\r\n ((!question.isLocked && !hideEditDelete && allowChildQuestionEdit && visibleQuestionTypes.some(\r\n (x) => x.questionTypeID === question.questionTypeID\r\n ) && (\r\n \r\n {!isTemplateEditedByOtherUser &&\r\n \r\n \r\n onEditClick(e, question, index, 'childQuestion')\r\n }\r\n title=\"Edit this child question\"\r\n />\r\n
    \r\n \r\n onDeleteClick(e, question, index, 'childQuestion')\r\n }\r\n title=\"Delete this child question\"\r\n />\r\n \r\n }\r\n \r\n )) ||\r\n (hasSection && allowChildQuestionEdit &&\r\n question.isLocked &&\r\n visibleQuestionTypes.some(\r\n (x) => x.questionTypeID === question.questionTypeID\r\n ) &&\r\n !hideEditDelete && (\r\n \r\n {!isTemplateEditedByOtherUser &&\r\n \r\n onEditClick(e, question, index, 'childQuestion')\r\n }\r\n title=\"Edit this child question\"\r\n />\r\n }\r\n \r\n )) ||\r\n (!hideEditDelete && dropCategory != 'availablequestion' && (\r\n \r\n event.stopPropagation()}\r\n title=\"This is a standard question and locked for edit\"\r\n size='24'\r\n fill='none' />\r\n \r\n )))) ||\r\n (visibleQuestionTypes.some(\r\n (x) => x.questionTypeID === question.questionTypeID\r\n ) &&\r\n dropCategory != 'availablequestion' &&\r\n !hideEditDelete &&\r\n ((hasSection && 'childQuestions' in question) ||\r\n (!hasSection && !question.isLocked)) && (\r\n \r\n {!isTemplateEditedByOtherUser &&\r\n \r\n\r\n \r\n onEditClick(e, question, index, 'parentQuestion')\r\n }\r\n title=\"Edit this question\"\r\n />\r\n \r\n {!question.isLocked && (\r\n \r\n
    \r\n\r\n \r\n onDeleteClick(e, question, index, 'parentQuestion')\r\n }\r\n title=\"Delete this question\"\r\n />\r\n\r\n \r\n )}\r\n \r\n \r\n }\r\n \r\n )) ||\r\n // (!hasSection || !visibleQuestionTypes.some(x => x.questionTypeID === question.questionTypeID)&& (\r\n (!hideEditDelete && dropCategory != 'availablequestion' && (\r\n \r\n event.stopPropagation()}\r\n title=\"This is a standard question and locked for edit\"\r\n size='24'\r\n fill='none' />\r\n \r\n ))}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
      \r\n
    • \r\n
    • \r\n \r\n {question.questionText}\r\n
    • \r\n
    • \r\n \r\n \r\n {question.questionHelpText}\r\n \r\n
    • \r\n
    • \r\n \r\n {question.questionTag}\r\n
    • \r\n
    • \r\n \r\n {question.questionTypeDescription}\r\n
    • \r\n {question?.questionTypeDescription?.startsWith('Picklist') && (\r\n
    • \r\n \r\n \r\n {question.picklistItems &&\r\n question.picklistItems.map((item) => (\r\n \r\n {item.picklistItemName}\r\n
      \r\n
      \r\n ))}\r\n
      \r\n
    • \r\n )}\r\n {question.parentQuestionID && (\r\n
    • \r\n \r\n \r\n {childQuestionDisplayRule(question)}\r\n \r\n
    • \r\n )}\r\n\r\n {question.questionAttachments &&\r\n question.questionAttachments.length > 0 &&\r\n <>\r\n
      Attachments
      \r\n \r\n

      \r\n \r\n }\r\n {!question.parentQuestionID &&\r\n dropCategory != 'availablequestion' &&\r\n visibleQuestionTypes.some(\r\n (x) => x.questionTypeID === question.questionTypeID\r\n ) && (\r\n
    • \r\n
      \r\n
      \r\n {((hasSection && 'childQuestions' in question) ||\r\n (!hasSection &&\r\n 'childQuestions' in question &&\r\n !question.isLocked)) && (\r\n \r\n {!isTemplateEditedByOtherUser &&\r\n \r\n onAddNewChildClick(question, hasSection)\r\n }\r\n >\r\n \r\n New Child Question\r\n \r\n }\r\n \r\n )}\r\n
      \r\n
      \r\n
    • \r\n )}\r\n
    • \r\n {dropCategory == 'sectionquestion'\r\n ? 'childQuestions' in question &&\r\n question.childQuestions !== null &&\r\n question.childQuestions.length > 0 &&\r\n question.childQuestions.map((childQuestion, index) => (\r\n \r\n handleSectionChildQuestionDragStart(\r\n e,\r\n childQuestion.questionID\r\n )\r\n }\r\n draggable\r\n className=\"draggable\"\r\n style={{ minWidth: '500px' }}\r\n onDrop={(e) => {\r\n handleQuestionDropComponent(\r\n e,\r\n 'sectionchildquestion',\r\n childQuestion.questionID\r\n );\r\n }}\r\n >\r\n item['picklistItemName']\r\n )}\r\n allowChildQuestionEdit={visibleQuestionTypes.some((x) => x.questionTypeID === question.questionTypeID)}\r\n isTemplateEditedByOtherUser={isTemplateEditedByOtherUser}\r\n parentQuestionIndex={parentQIndex}\r\n sectionID={question.sectionID}\r\n sectionName={question.sectionName}\r\n handleDownloadAttachmentClick={handleDownloadAttachmentClick}\r\n />\r\n
    \r\n ))\r\n : 'childQuestions' in question &&\r\n question.childQuestions !== null &&\r\n question.childQuestions.length > 0 &&\r\n question.childQuestions.map((childQuestion, index) => (\r\n item['picklistItemName']\r\n )}\r\n allowChildQuestionEdit={visibleQuestionTypes.some((x) => x.questionTypeID === question.questionTypeID)}\r\n isTemplateEditedByOtherUser={isTemplateEditedByOtherUser}\r\n parentQuestionIndex={parentQIndex}\r\n sectionID={question.sectionID}\r\n sectionName={question.sectionName}\r\n handleDownloadAttachmentClick={handleDownloadAttachmentClick}\r\n />\r\n ))}\r\n \r\n \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nQuestionAccordion.propTypes = {\r\n index: PropTypes.number,\r\n question: PropTypes.objectOf(\r\n PropTypes.shape({\r\n isLocked: PropTypes.bool.isRequired,\r\n picklistItems: PropTypes.array,\r\n })\r\n ).isRequired,\r\n handleDeleteClick: PropTypes.func,\r\n handleEditClick: PropTypes.func,\r\n handleAddNewChildQuestion: PropTypes.func,\r\n handleOpenAccordion: PropTypes.func,\r\n handleCloseAccordion: PropTypes.func,\r\n parentQuestionSortOrder: PropTypes.number,\r\n internalSectionId: PropTypes.number,\r\n hasSection: PropTypes.bool,\r\n interalParentQuestionId: PropTypes.number,\r\n handleQuestionDropComponent: PropTypes.func,\r\n handleAvailableQuestionDragStart: PropTypes.func,\r\n handleSectionChildQuestionDragStart: PropTypes.func,\r\n dropCategory: PropTypes.string,\r\n visibleQuestionTypes: PropTypes.array,\r\n hideEditDelete: PropTypes.bool,\r\n parentPicklistItems: PropTypes.array,\r\n handleDownloadAttachmentClick: PropTypes.func\r\n};\r\n\r\nexport default QuestionAccordion;\r\n","/* eslint-disable react/prop-types */\r\n\r\nimport React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n MotifAccordion,\r\n MotifAccordionContent,\r\n MotifAccordionTrigger,\r\n MotifAccordionGroup,\r\n} from '@ey-xd/motif-react';\r\nimport QuestionAccordion from './QuestionAccordion';\r\n\r\nconst QuestionsComponent = ({\r\n questions,\r\n internalSectionId = 0,\r\n handleDeleteClick,\r\n handleEditClick,\r\n hasSection = false,\r\n interalParentQuestionId = 0,\r\n handleAddNewChildQuestion,\r\n handleSectionQuestionDragStart,\r\n handleQuestionDropComponent,\r\n handleAvailableQuestionDragStart,\r\n handleSectionChildQuestionDragStart,\r\n handleSectionCommentDragStart,\r\n dragSectionId = -1,\r\n dropCategory,\r\n handleOpenAccordion,\r\n handleCloseAccordion,\r\n visibleQuestionTypes,\r\n isTemplateEditedByOtherUser,\r\n handleDownloadAttachmentClick\r\n}) => {\r\n const [isChildQuestion, setIsChildQuestion] = useState(false);\r\n\r\n useEffect(() => {\r\n if (\r\n questions.length > 0 &&\r\n 'parentQuestionID' in questions[0] &&\r\n questions[0].parentQuestionID !== null\r\n ) {\r\n setIsChildQuestion(true);\r\n } else {\r\n setIsChildQuestion(false);\r\n }\r\n }, [hasSection, questions.length > 0]);\r\n\r\n return (\r\n \r\n {questions.map((question, index) => (\r\n \r\n dropCategory == 'sectionquestion'\r\n ? handleSectionQuestionDragStart(e, question.questionID)\r\n : dropCategory == 'sectionchildquestion'\r\n ? handleSectionChildQuestionDragStart(e, question.questionID)\r\n : handleAvailableQuestionDragStart(e, question.questionID)\r\n }\r\n draggable\r\n className=\"draggable\"\r\n style={{ minWidth: '500px' }}\r\n onDrop={(e) => {\r\n handleQuestionDropComponent(e, dropCategory, question.questionID);\r\n }}\r\n >\r\n \r\n \r\n ))}\r\n\r\n {hasSection && !isChildQuestion ? (\r\n handleSectionCommentDragStart(e, dragSectionId)}\r\n draggable\r\n className=\"draggable\"\r\n style={{ minWidth: '500px' }}\r\n onDrop={(e) => {\r\n handleQuestionDropComponent(e, 'sectioncomment', dragSectionId);\r\n }}\r\n >\r\n \r\n Section Comments\r\n \r\n
    \r\n
      \r\n
    • \r\n
    • \r\n \r\n Section Comments\r\n
    • \r\n
    • \r\n \r\n \r\n
    • \r\n
    • \r\n \r\n \r\n
    • \r\n
    • \r\n \r\n Text\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n );\r\n};\r\n\r\nQuestionsComponent.propTypes = {\r\n questions: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n isLocked: PropTypes.bool.isRequired,\r\n picklistItems: PropTypes.array,\r\n })\r\n ).isRequired,\r\n internalSectionId: PropTypes.number,\r\n handleDeleteClick: PropTypes.func,\r\n handleEditClick: PropTypes.func,\r\n hasSection: PropTypes.bool,\r\n handleAddNewChildQuestion: PropTypes.func,\r\n handleOpenAccordion: PropTypes.func,\r\n handleCloseAccordion: PropTypes.func,\r\n interalParentQuestionId: PropTypes.number,\r\n handleSectionQuestionDragStart: PropTypes.func,\r\n handleQuestionDropComponent: PropTypes.func,\r\n handleAvailableQuestionDragStart: PropTypes.func,\r\n handleSectionChildQuestionDragStart: PropTypes.func,\r\n handleSectionCommentDragStart: PropTypes.func,\r\n dragSectionId: PropTypes.number,\r\n dropCategory: PropTypes.string,\r\n visibleQuestionTypes: PropTypes.array,\r\n handleDownloadAttachmentClick:PropTypes.func\r\n};\r\n\r\nexport default QuestionsComponent;\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { addAttribute } from '../../common/Attribute';\r\nimport {\r\n MotifFormField,\r\n MotifSearch,\r\n MotifLabel,\r\n MotifToggleSwitch,\r\n MotifSelect,\r\n MotifIcon,\r\n MotifTooltip\r\n} from '@ey-xd/motif-react';\r\nimport { IconoirPlusSquare, IconoirMinusSquare, IconoirHelpCircle } from '@ey-xd/motif-icon';\r\nimport QuestionsComponent from './QuestionsComponent';\r\n\r\nconst AvailableQuestions = ({\r\n handleShowStandardQuestions,\r\n showStandardQuestions,\r\n handleSearchQuestion,\r\n searchQuestionText,\r\n handleAvailableQuestionsSearchBy,\r\n selectedAvailableQuestionSearchBy,\r\n createAvailableQuestionsSearchBy,\r\n questions,\r\n handleAddNewChildQuestion,\r\n handleEditClick,\r\n handleDeleteClick,\r\n handleAvailableQuestionDragStart,\r\n handleAvailableQuestionDragOver,\r\n handleQuestionDropComponent,\r\n handleQuestionDropPanel,\r\n handleSectionQuestionDragStart,\r\n dropCategory,\r\n expandAllAccordionsOnAvailableQuestions,\r\n handleToggleExpandCollapseAllAcordionsOnAvailableQuestions,\r\n handleOpenAccordionOnAvailableQuestions,\r\n handleCloseAccordionOnAvailableQuestions,\r\n visibleQuestionTypes,\r\n isTemplateEditedByOtherUser,\r\n handleDownloadAttachmentClick,\r\n handleClearSearchText\r\n}) => {\r\n useEffect(() => {\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", 'type', 'button');\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n
    \r\n
    \r\n {!expandAllAccordionsOnAvailableQuestions && (\r\n \r\n handleToggleExpandCollapseAllAcordionsOnAvailableQuestions(\r\n e,\r\n 'expand'\r\n )\r\n }\r\n title=\"Expand All\"\r\n />\r\n )}\r\n {expandAllAccordionsOnAvailableQuestions && (\r\n \r\n \r\n handleToggleExpandCollapseAllAcordionsOnAvailableQuestions(\r\n e,\r\n 'collapse'\r\n )\r\n }\r\n title=\"Collapse All\"\r\n />\r\n \r\n )}\r\n \r\n Available Questions\r\n \r\n
    \r\n
    \r\n \r\n }\r\n variant=\"alt\"\r\n hideCloseButton={true}\r\n >\r\n
    \r\n
    The below displays all available questions within this client. This includes both REITSuite standard questions, as well as custom questions created within this client.
    \r\n
    \r\n
    You can drag and drop available questions to the left in order to add them to your questionnaire.
    \r\n
    \r\n
    New questions are created on the left-hand side of the screen.
    \r\n
    \r\n
    Questions can be expanded by selecting the \"+\" icon. This will display details about the expanded question, including any \"child\" questions associated with it.
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Display Standard Questions:\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n Search By\r\n \r\n \r\n {createAvailableQuestionsSearchBy()}\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n handleAvailableQuestionDragOver(e)}\r\n onDrop={(e) => handleQuestionDropPanel(e, 'availablequestion')}\r\n style={{ minHeight: '385px', height: '100%' }}\r\n >\r\n {questions && (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\nAvailableQuestions.propTypes = {\r\n handleShowStandardQuestions: PropTypes.func.isRequired,\r\n showStandardQuestions: PropTypes.bool,\r\n handleSearchQuestion: PropTypes.func.isRequired,\r\n searchQuestionText: PropTypes.string,\r\n handleAvailableQuestionsSearchBy: PropTypes.func.isRequired,\r\n selectedAvailableQuestionSearchBy: PropTypes.string,\r\n createAvailableQuestionsSearchBy: PropTypes.func.isRequired,\r\n questions: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n isLocked: PropTypes.bool.isRequired,\r\n piclistItems: PropTypes.array,\r\n })\r\n ).isRequired,\r\n handleAddNewChildQuestion: PropTypes.func,\r\n handleDeleteClick: PropTypes.func,\r\n handleEditClick: PropTypes.func,\r\n expandAllAccordionsOnAvailableQuestions: PropTypes.bool,\r\n handleToggleExpandCollapseAllAcordionsOnAvailableQuestions: PropTypes.func,\r\n handleOpenAccordionOnAvailableQuestions: PropTypes.func,\r\n handleCloseAccordionOnAvailableQuestions: PropTypes.func,\r\n handleAvailableQuestionDragStart: PropTypes.func,\r\n handleAvailableQuestionDragOver: PropTypes.func,\r\n handleQuestionDropComponent: PropTypes.func,\r\n handleQuestionDropPanel: PropTypes.func,\r\n handleSectionQuestionDragStart: PropTypes.func,\r\n dropCategory: PropTypes.string,\r\n visibleQuestionTypes: PropTypes.array,\r\n handleDownloadAttachmentClick: PropTypes.func, \r\n handleClearSearchText: PropTypes.func,\r\n};\r\nexport default AvailableQuestions;\r\n","/* eslint-disable react/prop-types */\r\n\r\nimport React, { useEffect } from 'react';\r\n\r\nimport { Field, reduxForm, getFormValues } from 'redux-form';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { MotifButton, MotifLabel,MotifToast } from '@ey-xd/motif-react';\r\n\r\nimport * as formHelpers from '../../scripts/formHelpers';\r\nimport { addAttribute } from '../../common/Attribute';\r\nimport * as formValidators from '../../scripts/formValidators';\r\n\r\nconst PsqCustomChecklistTemplateHeader = (props) => {\r\n const {\r\n isEditMode,\r\n valid,\r\n dirty,\r\n existingTemplates,\r\n isTemplateDirty,\r\n handleSubmit,\r\n handleTemplateReset,\r\n isCommitted,\r\n handleOnChangeOfTemplateName,\r\n hasTemplateNameChanged,\r\n readOnlyModeForUser\r\n } = props;\r\n useEffect(() => {\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", 'type', 'button');\r\n });\r\n\r\n let existingTemplateOptions = [];\r\n if (existingTemplates.length > 0) {\r\n existingTemplateOptions = existingTemplates.map((c) => {\r\n return {\r\n key: c.checklistTemplateID,\r\n value: c.checklistTemplateID,\r\n text: c.checklistTemplateName,\r\n };\r\n });\r\n }\r\n\r\n return (\r\n \r\n
    \r\n {/* Create Mode */}\r\n {!isEditMode && (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {existingTemplates.length > 0 && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {props.psqCustomChecklistTemplateValues\r\n .templateInitializationType === 'existingTemplate' &&\r\n !isEditMode && (\r\n \r\n )}\r\n {props.psqCustomChecklistTemplateValues\r\n .templateInitializationType === 'existingTemplate' &&\r\n isEditMode && (\r\n \r\n \r\n Copied From Template:\r\n {' '}\r\n {props.psqCustomChecklistTemplateValues.existingTemplate}\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n \r\n )}\r\n {/* Edit Mode */}\r\n {isEditMode && (\r\n
    \r\n
    \r\n handleOnChangeOfTemplateName(e, value)}\r\n disabled={readOnlyModeForUser}\r\n dataTestId=\"txtTemplateName\"\r\n />\r\n {props.psqCustomChecklistTemplateValues\r\n .templateInitializationType === 'existingTemplate' &&\r\n isEditMode && (\r\n \r\n \r\n Copied From Template:\r\n {' '}\r\n {\r\n props.psqCustomChecklistTemplateValues\r\n .copiedFromTemplateName\r\n }\r\n \r\n )}\r\n
    \r\n \r\n {props.psqCustomChecklistTemplateValues\r\n .templateInitializationType === 'existingTemplate' &&\r\n !isEditMode && (\r\n \r\n )}\r\n \r\n \r\n A change to the template (left panel on the page) gets saved only on the Submit button click.\r\n On Submit, a change made to the question(s) within the template will be reflected on other templates using the same question(s). \r\n \r\n\r\n
    \r\n \r\n \r\n Abandon\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\r\nPsqCustomChecklistTemplateHeader.propTypes = {\r\n valid: PropTypes.bool,\r\n dirty: PropTypes.bool,\r\n isEditMode: PropTypes.bool,\r\n existingTemplates: PropTypes.array,\r\n isTemplateDirty: PropTypes.bool,\r\n handleSubmit: PropTypes.func,\r\n handleTemplateReset: PropTypes.func,\r\n isCommitted: PropTypes.bool,\r\n handleOnChangeOfTemplateName: PropTypes.func,\r\n hasTemplateNameChanged: PropTypes.bool,\r\n};\r\n\r\nexport default connect((state) => ({\r\n psqCustomChecklistTemplateValues: getFormValues('psqCustomChecklistTemplate')(\r\n state\r\n ),\r\n}))(\r\n reduxForm({ form: 'psqCustomChecklistTemplate' })(\r\n PsqCustomChecklistTemplateHeader\r\n )\r\n);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n MotifAccordion,\r\n MotifAccordionContent,\r\n MotifAccordionTrigger,\r\n MotifAccordionGroup,\r\n MotifIcon,\r\n MotifBadge,\r\n} from '@ey-xd/motif-react';\r\n\r\nimport QuestionsComponent from './QuestionsComponent';\r\nimport { IconoirEditPencil, IconoirTrash } from '@ey-xd/motif-icon';\r\n\r\nconst SectionAccordionComponent = ({\r\n sections,\r\n handleDeleteClick,\r\n handleEditClick,\r\n handleAddNewChildQuestion,\r\n handleSectionQuestionDragStart,\r\n handleSectionQuestionDragOver,\r\n handleQuestionDropComponent,\r\n handleQuestionDropPanel,\r\n handleSectionDragStart,\r\n handleAvailableQuestionDragStart,\r\n handleSectionChildQuestionDragStart,\r\n handleSectionCommentDragStart,\r\n dropCategory,\r\n handleOpenAccordionOnTemplate,\r\n handleCloseAccordionOnTemplate,\r\n visibleQuestionTypes,\r\n isTemplateEditedByOtherUser,\r\n handleDownloadAttachmentClick\r\n}) => {\r\n const onEditClick = (event, item, internalSectionId) => {\r\n event.stopPropagation();\r\n let itemToEdit = {\r\n ...item,\r\n internalSectionId,\r\n accordionCategory: 'section',\r\n };\r\n handleEditClick(itemToEdit);\r\n };\r\n\r\n const onDeleteClick = (event, item, internalSectionId) => {\r\n event.stopPropagation();\r\n let itemToDelete = {\r\n ...item,\r\n internalSectionId,\r\n accordionCategory: 'section',\r\n };\r\n handleDeleteClick(itemToDelete);\r\n };\r\n\r\n return (\r\n \r\n {sections.map((item, index) => (\r\n handleSectionDragStart(e, item.sectionID)}\r\n draggable\r\n className=\"draggable\"\r\n style={{ minWidth: '450px' }}\r\n onDrop={(e) => {\r\n handleQuestionDropComponent(e, 'section', item.sectionID);\r\n }}\r\n >\r\n {\r\n handleOpenAccordionOnTemplate(\r\n e,\r\n item.isAccordionOpen,\r\n item.sectionID\r\n );\r\n }}\r\n onClose={(e) => {\r\n handleCloseAccordionOnTemplate(\r\n e,\r\n item.isAccordionOpen,\r\n item.sectionID\r\n );\r\n }}\r\n >\r\n \r\n
    \r\n \r\n {index + 1}\r\n {' - '}\r\n {item.sectionName}\r\n
    \r\n \r\n \r\n {!isTemplateEditedByOtherUser && \r\n
    \r\n onEditClick(e, item, index)}\r\n title=\"Edit this Section\"\r\n />\r\n
    \r\n onDeleteClick(e, item, index)}\r\n title=\"Delete this Section\"\r\n /> }\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n handleOpenAccordionOnTemplate(\r\n e,\r\n isAccordionOpen,\r\n item.sectionID,\r\n questionID,\r\n parentQuestionID\r\n )\r\n }\r\n handleCloseAccordion={(\r\n e,\r\n isAccordionOpen,\r\n questionID,\r\n parentQuestionID\r\n ) =>\r\n handleCloseAccordionOnTemplate(\r\n e,\r\n isAccordionOpen,\r\n item.sectionID,\r\n questionID,\r\n parentQuestionID\r\n )\r\n }\r\n visibleQuestionTypes={visibleQuestionTypes}\r\n isTemplateEditedByOtherUser={isTemplateEditedByOtherUser}\r\n />\r\n \r\n \r\n \r\n ))}\r\n
    \r\n );\r\n};\r\n\r\nSectionAccordionComponent.propTypes = {\r\n sections: PropTypes.array,\r\n handleDeleteClick: PropTypes.func,\r\n handleEditClick: PropTypes.func,\r\n handleAddNewChildQuestion: PropTypes.func,\r\n handleOpenAccordionOnTemplate: PropTypes.func,\r\n handleCloseAccordionOnTemplate: PropTypes.func,\r\n handleSectionQuestionDragStart: PropTypes.func,\r\n handleSectionQuestionDragOver: PropTypes.func,\r\n handleQuestionDropComponent: PropTypes.func,\r\n handleQuestionDropPanel: PropTypes.func,\r\n handleSectionDragStart: PropTypes.func,\r\n handleAvailableQuestionDragStart: PropTypes.func,\r\n handleSectionChildQuestionDragStart: PropTypes.func,\r\n handleSectionCommentDragStart: PropTypes.func,\r\n dropCategory: PropTypes.string,\r\n visibleQuestionTypes: PropTypes.array,\r\n handleDownloadAttachmentClick:PropTypes.func\r\n};\r\n\r\nexport default SectionAccordionComponent;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { MotifIcon, MotifTooltip } from '@ey-xd/motif-react';\r\nimport { IconoirPlusSquare, IconoirMinusSquare, IconoirHelpCircle } from '@ey-xd/motif-icon';\r\nimport SectionAccordionComponent from '../../components/customChecklistQuestions/CustomSectionAccordion';\r\n\r\nconst PsqCustomChecklistTemplate = ({\r\n sectionsWithQuestions,\r\n handleDeleteClick,\r\n handleEditClick,\r\n handleAddNewChildQuestion,\r\n handleSectionQuestionDragStart,\r\n handleSectionQuestionDragOver,\r\n handleQuestionDropComponent,\r\n handleQuestionDropPanel,\r\n handleSectionDragStart,\r\n handleSectionDragOver,\r\n handleAvailableQuestionDragStart,\r\n handleSectionChildQuestionDragStart,\r\n handleSectionCommentDragStart,\r\n dropCategory,\r\n expandAllAccordionsOnTemplate,\r\n handleToggleExpandCollapseAllAcordionsOnTemplate,\r\n handleOpenAccordionOnTemplate,\r\n handleCloseAccordionOnTemplate,\r\n templateName,\r\n visibleQuestionTypes,\r\n isTemplateEditedByOtherUser,\r\n handleDownloadAttachmentClick\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n
    \r\n
    \r\n {!expandAllAccordionsOnTemplate && (\r\n \r\n handleToggleExpandCollapseAllAcordionsOnTemplate(e, 'expand')\r\n }\r\n title=\"Expand All\"\r\n />\r\n )}\r\n {expandAllAccordionsOnTemplate && (\r\n \r\n \r\n handleToggleExpandCollapseAllAcordionsOnTemplate(\r\n e,\r\n 'collapse'\r\n )\r\n }\r\n title=\"Collapse All\"\r\n />\r\n \r\n )}\r\n
    \r\n \r\n {templateName}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n }\r\n variant=\"alt\"\r\n hideCloseButton={true}\r\n >\r\n
    \r\n
    The below displays available sections within a questionnaire. Sections can be created via the \"+ New Section\" button in the bottom left. Sections can be reordered via dragging and dropping.
    \r\n
    \r\n
    Questions can be added to a section via drag and drop from the Available Question bank or can be created by selecting the applicable section and clicking the \"+ New Question\" button in the bottom left.
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n handleSectionDragOver(e)}\r\n onDrop={(e) => handleQuestionDropPanel(e, 'sectionquestion')}\r\n >\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nPsqCustomChecklistTemplate.propTypes = {\r\n templateName: PropTypes.string,\r\n sectionsWithQuestions: PropTypes.array,\r\n handleDeleteClick: PropTypes.func,\r\n handleEditClick: PropTypes.func,\r\n handleAddNewChildQuestion: PropTypes.func,\r\n expandAllAccordionsOnTemplate: PropTypes.bool,\r\n handleToggleExpandCollapseAllAcordionsOnTemplate: PropTypes.func,\r\n handleOpenAccordionOnTemplate: PropTypes.func,\r\n handleCloseAccordionOnTemplate: PropTypes.func,\r\n handleSectionQuestionDragStart: PropTypes.func,\r\n handleSectionQuestionDragOver: PropTypes.func,\r\n handleQuestionDropComponent: PropTypes.func,\r\n handleQuestionDropPanel: PropTypes.func,\r\n handleSectionDragStart: PropTypes.func,\r\n handleSectionDragOver: PropTypes.func,\r\n handleAvailableQuestionDragStart: PropTypes.func,\r\n handleSectionChildQuestionDragStart: PropTypes.func,\r\n handleSectionCommentDragStart: PropTypes.func,\r\n dropCategory: PropTypes.string,\r\n visibleQuestionTypes: PropTypes.array,\r\n handleDownloadAttachmentClick:PropTypes.func\r\n};\r\n\r\nexport default PsqCustomChecklistTemplate;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { MotifButton, MotifIcon } from '@ey-xd/motif-react';\r\nimport { IconoirPlus } from '@ey-xd/motif-icon';\r\n\r\nconst PsqCustomChecklistTemplateFooter = ({\r\n toggleAddSectionModal,\r\n handleOnClickCreateNewQuestion,\r\n isNewQuestionForSectionEnabled,\r\n showNewQuestionAvailablePanel = false,\r\n isTemplateEditedByOtherUser\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n {!isTemplateEditedByOtherUser && <>\r\n \r\n \r\n New Section\r\n \r\n handleOnClickCreateNewQuestion('templateSections')}\r\n disabled={!isNewQuestionForSectionEnabled}\r\n >\r\n \r\n New Question\r\n \r\n }\r\n \r\n \r\n \r\n \r\n {showNewQuestionAvailablePanel && !isTemplateEditedByOtherUser &&\r\n (\r\n handleOnClickCreateNewQuestion('availableQuestions')}\r\n >\r\n \r\n New Question\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nPsqCustomChecklistTemplateFooter.propTypes = {\r\n toggleAddSectionModal: PropTypes.func,\r\n handleOnClickCreateNewQuestion: PropTypes.func,\r\n isNewQuestionForSectionEnabled: PropTypes.bool,\r\n showNewQuestionAvailablePanel:PropTypes.bool,\r\n};\r\n\r\nexport default PsqCustomChecklistTemplateFooter;\r\n","/**\r\n * Avoid calling this function in Component's useEffect method, after Motif Team resolves issue of MotifSelect component\r\n * Add Attribute for DOM element based on selector. e.g. Adds \"type='button'\" attribute for all button elements having \"[role = 'combobox']\" attribute\r\n * @param {selector} string e.g. button[role = 'combobox']\r\n * @param {attributeName} string e.g. type\r\n * @param {attributeValue} string e.g. button\r\n */\r\nexport const changeAttribute = function (selector, attributeName, attributeValue) { \r\n //Get the elements based on selector\r\n const elementList = document.querySelectorAll(selector);\r\n if (elementList && elementList.length > 0) { \r\n\r\n [...elementList].forEach(function (element) {\r\n \r\n if (!element.hasAttribute([attributeName]) || element[attributeName] != attributeValue) {\r\n //Add attribute\r\n element[attributeName] = attributeValue;\r\n }\r\n });\r\n } \r\n }\r\n","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Field } from 'redux-form';\r\nimport * as formHelpers from '../../scripts/formHelpers';\r\nimport * as formValidators from '../../scripts/formValidators';\r\nimport {\r\n MotifButton,\r\n MotifFormField,\r\n MotifLabel,\r\n MotifIcon,\r\n MotifIconButton\r\n} from '@ey-xd/motif-react';\r\nimport { IconoirXmark } from '@ey-xd/motif-icon';\r\n\r\nconst PicklistItemSection = ({\r\n picklistItems,\r\n addPicklistItem,\r\n removePicklistItem,\r\n shouldDisableAddPicklistItem,\r\n}) => {\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n Add Picklist Items\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n addPicklistItem()}\r\n data-testid=\"addNewPicklistItem\"\r\n >\r\n + Add New Picklist Item to Picklist\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {picklistItems &&\r\n picklistItems.length > 0 &&\r\n picklistItems.map((picklistItem, index, picklistItems) => (\r\n
    \r\n \r\n \r\n \r\n {picklistItem.picklistItemName}\r\n \r\n \r\n removePicklistItem(picklistItem.picklistItemName, event)\r\n }\r\n >\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n ))}\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nPicklistItemSection.propTypes = {\r\n picklistItems: PropTypes.array,\r\n addPicklistItem: PropTypes.func,\r\n removePicklistItem: PropTypes.func,\r\n shouldDisableAddPicklistItem: PropTypes.bool,\r\n};\r\n\r\nexport default PicklistItemSection;\r\n","import React, { useEffect, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifButton,\r\n MotifIcon\r\n} from '@ey-xd/motif-react';\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\nimport { addAttribute } from '../../common/Attribute';\r\n\r\nconst IntentToEditLockExtensionModal = ({\r\n showIntentToEditLockExtensionModal,\r\n handleCancelIntentExtent,\r\n handleAcceptIntentExtension,\r\n timerDuration,\r\n}) => {\r\n useEffect(() => {\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", 'type', 'button');\r\n });\r\n let timer = 0;\r\n\r\n const [delay, setDelay] = useState(timerDuration);\r\n const minutes = Math.floor(delay / 60);\r\n const seconds = Math.floor(delay % 60).toString().padStart(2, '0');\r\n useEffect(() => {\r\n if (showIntentToEditLockExtensionModal && timerDuration > 0) {\r\n timer = setInterval(() => {\r\n setDelay(delay - 1);\r\n }, 1000);\r\n\r\n if (delay === 0) {\r\n cancelIntentExtension();\r\n }\r\n\r\n return () => {\r\n clearInterval(timer);\r\n };\r\n }\r\n });\r\n\r\n const cancelIntentExtension = () => {\r\n clearInterval(timer);\r\n handleCancelIntentExtent();\r\n }\r\n\r\n const acceptIntentExtension = () => {\r\n clearInterval(timer);\r\n handleAcceptIntentExtension();\r\n }\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Standard Child Questions Rearrange Warning Modal',\r\n ariaLabel: 'Close Standard Child Questions Rearrange Warning Modal',\r\n dataTestid: 'close',\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Edit Question Session Information\r\n \r\n \r\n \r\n

    \r\n We have noticed that you are editing the question for a while. Do you need more time?\r\n

    \r\n {timerDuration > 0 && (

    Your question will auto close in {minutes}:{seconds}

    )}\r\n
    \r\n \r\n \r\n Cancel Editing\r\n \r\n \r\n Keep Editing\r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nIntentToEditLockExtensionModal.propTypes = {\r\n showIntentToEditLockExtensionModal: PropTypes.bool,\r\n handleCancelIntentExtent: PropTypes.func,\r\n handleAcceptIntentExtension: PropTypes.func,\r\n timerDuration: PropTypes.number,\r\n};\r\n\r\nexport default IntentToEditLockExtensionModal;","/* eslint-disable react/no-unescaped-entities */\r\n/* eslint-disable react/prop-types */\r\n/* eslint-disable react/no-multi-comp */\r\n/* eslint-disable no-unused-vars */\r\n\r\nimport PropTypes, { number } from 'prop-types';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { bindActionCreators } from 'redux';\r\nimport { Field, reduxForm, formValueSelector, change } from 'redux-form';\r\nimport * as formHelpers from '../../scripts/formHelpers';\r\nimport * as formValidators from '../../scripts/formValidators';\r\nimport { connect } from 'react-redux';\r\nimport {\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifButton,\r\n MotifLabel,\r\n MotifFileUploader,\r\n MotifFileUploaderItem,\r\n MotifFormField,\r\n MotifIcon,\r\n MotifErrorMessage,\r\n MotifIconButton,\r\n MotifModalFooter\r\n} from '@ey-xd/motif-react';\r\n\r\nimport { addAttribute } from '../../common/Attribute';\r\nimport { changeAttribute } from '../../common/FileUploadAttribute'\r\nimport PicklistItemSection from './PicklistItemSection';\r\nimport { IconoirTrash, IconoirDownload, IconoirPage } from '@ey-xd/motif-icon';\r\nimport * as Constants from '../../constants/other';\r\nimport DeleteModal from \"../../components/shared/DeleteModal\";\r\nimport IntentToEditLockExtensionModal from './IntentToEditLockExtensionModal';\r\n\r\nimport * as customQuestionActions from '../../actions/customQuestionActions';\r\n\r\nconst AddEditCustomQuestionModal = ({\r\n showAddEditCustomQuestionModal,\r\n handleSubmit,\r\n toggleShowAddEditCustomQuestionModal,\r\n toggleShowAddEditCustomQuestionModalAndReleaseIntentLock,\r\n formPurpose,\r\n isChildQuestion,\r\n picklistItemText,\r\n currentPicklistItems,\r\n showChildQuestionAlways,\r\n questionTypeID,\r\n parentQuestionTypeID,\r\n parentQuestionPicklistItems,\r\n valid,\r\n dirty,\r\n change,\r\n questionTypes,\r\n handleChangePicklistItem,\r\n isQuestionFormDirty,\r\n initialValues,\r\n sectionID,\r\n sectionName,\r\n isLocked,\r\n fileAttachmentList,\r\n removeFile,\r\n handleDrop,\r\n existingAttachmentData,\r\n handleDeleteExistingFile,\r\n handleDownloadAttachmentClick,\r\n startIntentLockTimer,\r\n timeoutIdProp,\r\n intentLockExpirationTime,\r\n customQuestionActions,\r\n currentQuestionIdinWorks,\r\n checklistTemplateID,\r\n clientID,\r\n isSaving,\r\n}) => {\r\n let timeoutId = 0;\r\n\r\n const intentExtensionModalSettingsDefaultObj = {\r\n showModal: false,\r\n timerDuration: 0\r\n };\r\n const [intentExtensionModalSettings, setIntentExtensionModalSettings] = useState(intentExtensionModalSettingsDefaultObj);\r\n const [reinitializeTimer, setReinitializeTimer] = useState(false);\r\n\r\n if (startIntentLockTimer && intentLockExpirationTime) {\r\n if (!intentExtensionModalSettings.showModal) {\r\n if (!timeoutIdProp || timeoutIdProp === 0) {\r\n const currentLocalDateTime = new Date();\r\n const expirationDateTime = new Date(intentLockExpirationTime + 'Z');\r\n const timeLeftForExpirationinMilliSeconds = Math.abs(expirationDateTime.getTime() - currentLocalDateTime.getTime());\r\n const timeForTimeout = timeLeftForExpirationinMilliSeconds - (2.5 * 60 * 1000); // Subtracting the time left with 2.5 minutes to perform an API call plus display the timer warning modal\r\n timeoutId = setTimeout(() => {\r\n getLockStatusForQuestion(currentQuestionIdinWorks, checklistTemplateID, clientID);\r\n }, timeForTimeout);\r\n change('timeoutId', timeoutId);\r\n }\r\n }\r\n }\r\n\r\n const fileTypes = {\r\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\": [\".doc\",\".docx\"],\r\n \"application/pdf\": [\".pdf\"],\r\n \"application/vnd.ms-excel\": [\".xls\",\".xlsx\",\".xml\",\".xlsm\",\".xlsb\",\".xltx\",\".xlt\",\".xlam\",\".xla\",\".xps\"],\r\n \"text/csv\": [\".csv\"],\r\n };\r\n\r\n useEffect(() => {\r\n if (reinitializeTimer) {\r\n // Prepare request to acquire extension for intent lock\r\n let request = {\r\n questionID: currentQuestionIdinWorks,\r\n checklistTemplateID: checklistTemplateID,\r\n clientID: clientID\r\n }\r\n\r\n // Acquire Intent lock extension\r\n customQuestionActions.acquireIntentLockForCustomQuestion(request)\r\n .then((response) => {\r\n if (response && response.isIntentLockUpdateSuccessful) {\r\n const currentLocalDateTime = new Date();\r\n const expirationDateTime = new Date(response.lockExpirationDateTime + 'Z');\r\n const timeLeftForExpirationinMilliSeconds = Math.abs(expirationDateTime.getTime() - currentLocalDateTime.getTime());\r\n const timeForTimeout = timeLeftForExpirationinMilliSeconds - (2.5 * 60 * 1000); // Subtracting the time left with 2.5 minutes to perform an API call plus display the timer warning modal\r\n timeoutId = setTimeout(() => {\r\n getLockStatusForQuestion(currentQuestionIdinWorks, checklistTemplateID, clientID);\r\n }, timeForTimeout);\r\n setReinitializeTimer(false);\r\n change('timeoutId', timeoutId);\r\n }\r\n })\r\n .catch(() => {\r\n clearLocalStateAndToggleQuestionModal();\r\n });\r\n }\r\n }, [reinitializeTimer]);\r\n\r\n const getLockStatusForQuestion = (questionID, checklistTemplateID, clientID) => {\r\n customQuestionActions.getLockStatusForQuestion(questionID, checklistTemplateID, clientID)\r\n .then((response) => {\r\n if (response && response.isQuestionAvailableForEdit && response.isIntentExtensionAvailable) {\r\n const settingsObj = {\r\n showModal: true,\r\n timerDuration: 120\r\n }\r\n setIntentExtensionModalSettings(settingsObj);\r\n }\r\n })\r\n .catch(() => {\r\n clearLocalStateAndToggleQuestionModal();\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", 'type', 'button');\r\n changeAttribute(\"button[class = 'dropzone-container']\", 'type', 'button');\r\n });\r\n\r\n let formAction =\r\n formPurpose == 'CREATE' ? 'Add' : formPurpose == 'UPDATE' ? 'Edit' : '';\r\n formAction = formAction + (isChildQuestion ? ' Child' : '');\r\n const [showPicklistItemSection, setShowPicklistItemSection] = useState(false);\r\n const [val, setVal] = useState('');\r\n const [showDeleteModal, setShowDeleteModal] = useState(false);\r\n const [selectedQuestionAttachmentIDToDelete, setSelectedQuestionAttachmentIDToDelete] = useState(null);\r\n const [selectedUploadAttachmentToDelete, setSelectedUploadAttachmentToDelete] = useState(null);\r\n const isParentPicklistQuestion =\r\n parentQuestionTypeID == 3 || parentQuestionTypeID == 4;\r\n\r\n useEffect(() => {\r\n // Set the showPicklistItemSection on first load\r\n handleQuestionTypeChange(questionTypeID);\r\n }, [questionTypeID]);\r\n\r\n // Set the \"showChildQuestionAlways\" as yes only when parent question is not picklist and form is in create mode\r\n if (formPurpose == 'CREATE' && !isParentPicklistQuestion) {\r\n change('showChildQuestionAlways', 'yes');\r\n }\r\n\r\n function handleQuestionTypeChange(questionTypeID) {\r\n if (questionTypeID == 3 || questionTypeID == 4) {\r\n setShowPicklistItemSection(true);\r\n } else {\r\n setShowPicklistItemSection(false);\r\n }\r\n }\r\n\r\n function addPicklistItem() {\r\n if (currentPicklistItems) {\r\n handleChangePicklistItem([\r\n ...currentPicklistItems,\r\n { picklistItemName: picklistItemText.trim() },\r\n ]);\r\n } else {\r\n handleChangePicklistItem([{ picklistItemName: picklistItemText }]);\r\n }\r\n change('picklistItemText', '');\r\n }\r\n\r\n function removePicklistItem(key, event) {\r\n handleChangePicklistItem(\r\n currentPicklistItems.filter((item) => item.picklistItemName != key)\r\n );\r\n }\r\n\r\n const clearLocalStateAndToggleQuestionModal = () => {\r\n const settingsObj = {\r\n showModal: false,\r\n timerDuration: 0\r\n }\r\n setIntentExtensionModalSettings(settingsObj);\r\n clearTimeout(timeoutIdProp);\r\n toggleShowAddEditCustomQuestionModal();\r\n }\r\n\r\n const clearLocalStateAndToggleQuestionModalAndReleaseIntentLock = () => {\r\n const settingsObj = {\r\n showModal: false,\r\n timerDuration: 0\r\n }\r\n setIntentExtensionModalSettings(settingsObj);\r\n clearTimeout(timeoutIdProp);\r\n toggleShowAddEditCustomQuestionModalAndReleaseIntentLock();\r\n }\r\n\r\n function onDownloadClick(e, fileName, attachmentGuid) {\r\n e.preventDefault();\r\n handleDownloadAttachmentClick(attachmentGuid, fileName);\r\n }\r\n\r\n // Handle Delete button on delete attachment modal\r\n function handleConfirmDelete() {\r\n selectedQuestionAttachmentIDToDelete && handleDeleteExistingFile(selectedQuestionAttachmentIDToDelete);\r\n selectedUploadAttachmentToDelete && removeFile(selectedUploadAttachmentToDelete);\r\n setShowDeleteModal(false);\r\n setSelectedQuestionAttachmentIDToDelete(null);\r\n setSelectedUploadAttachmentToDelete(null);\r\n }\r\n\r\n // Handle Cancel button on delete attachment modal\r\n function handleCancelDelete() {\r\n setSelectedQuestionAttachmentIDToDelete(null);\r\n setSelectedUploadAttachmentToDelete(null);\r\n setShowDeleteModal(false);\r\n }\r\n\r\n // Handle Delete icon click on existing attachments list\r\n function handleDeleteExistingAttachment(questionAttachmentID) {\r\n setShowDeleteModal(true);\r\n setSelectedQuestionAttachmentIDToDelete(questionAttachmentID);\r\n }\r\n\r\n // Handle Delete icon click on newly uploaded attachments list\r\n function handleRemoveUploadedAttachment(attachment) {\r\n setShowDeleteModal(true);\r\n setSelectedUploadAttachmentToDelete(attachment);\r\n }\r\n\r\n function getFileErrorMessage(message) {\r\n \r\n if (message && message.toLowerCase().includes(\"file type must be\")) {\r\n message = 'File type must be .doc,.docx,.pdf,.xls,.xlsx,.xml,.xlsm,.xlsb,.xltx,.xlt,.xlam,.xla,.xps,.csv'\r\n }\r\n else if (message && message.toLowerCase().includes(\"file is larger than\")) {\r\n message = 'The file size has exceeded max limit of ' + Constants.MAX_UPLOAD_FILE_SIZE_IN_MB + 'MB.'\r\n }\r\n return message;\r\n }\r\n\r\n const handleAcceptIntentExtension = () => {\r\n const settingsObj = {\r\n showModal: false,\r\n timerDuration: 0\r\n }\r\n setIntentExtensionModalSettings(settingsObj);\r\n clearTimeout(timeoutIdProp);\r\n setReinitializeTimer(true);\r\n }\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Add Question Modal',\r\n ariaLabel: 'Close Add Question Modal',\r\n dataTestid: 'close',\r\n };\r\n\r\n const updateVal = (val) => {\r\n setVal(val);\r\n };\r\n\r\n /**\r\n * Renders each item in the queue as a MotifChip\r\n *\r\n * @param {*} queue - current list of files to be uploaded\r\n * @param {*} setQueue - function that updates the queue\r\n */\r\n const renderQueue = (queue) =>\r\n queue.map(file => (\r\n
    \r\n }\r\n showProgress={false}\r\n percentUploaded={100}\r\n fileName={file.name || file.file?.name} // file.name is for dropped files, file.file.name is for uploaded files\r\n fileSize={file.size || file.file?.size}\r\n title={file.name || file.file?.name}\r\n error={file?.errors && true}\r\n icons={{ close: }}\r\n removable={false}\r\n customButton={\r\n handleRemoveUploadedAttachment(file || file.file)} data-testid=\"delete\">\r\n \r\n \r\n }\r\n />\r\n { file?.errors && {getFileErrorMessage(file?.errors[0]?.message)} }\r\n
    \r\n ));\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {formAction} Question\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n {sectionID !== 0 && sectionName !== '' && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n updateVal(e.target.value)}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n updateVal(e.target.value)}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n updateVal(e.target.value)}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n o.questionTypeID}\r\n optionText={(o) => o.questionTypeDescription}\r\n validate={[formValidators.requiredSelect]}\r\n onChange={handleQuestionTypeChange}\r\n testingData={{\r\n label: 'lblQuestionType',\r\n div: 'divQuestionType',\r\n }}\r\n disabled={\r\n formPurpose === 'UPDATE' &&\r\n !isChildQuestion &&\r\n (questionTypeID === 3 || questionTypeID === 4)\r\n }\r\n />\r\n
    \r\n
    \r\n {showPicklistItemSection && (\r\n 0) ||\r\n (currentPicklistItems &&\r\n currentPicklistItems.some(\r\n (item) => item.picklistItemName == picklistItemText.trim()\r\n ))\r\n }\r\n />\r\n )}\r\n
    \r\n \r\n Attachments\r\n \r\n {existingAttachmentData && existingAttachmentData.map((attachmentData) => {\r\n return (\r\n (\r\n <>\r\n {attachmentData.isDeleted == false &&\r\n
    \r\n
    {attachmentData.attachmentName}
    \r\n
    \r\n handleDeleteExistingAttachment(attachmentData.questionAttachmentID)} data-testid=\"delete\">\r\n \r\n \r\n \r\n onDownloadClick(e, attachmentData.attachmentName, attachmentData.attachmentGuid)}>\r\n \r\n\r\n \r\n
    \r\n
    \r\n }\r\n \r\n\r\n )\r\n\r\n );\r\n })}\r\n\r\n \r\n handleDrop(event)}\r\n onDropRejected={event => handleDrop(event)}\r\n label=\"Drop files here or click to upload\"\r\n accept={fileTypes}\r\n maxSize={Constants.MAX_UPLOAD_FILE_SIZE_IN_BYTES}\r\n data-test-id=\"attachmentFileUpload\"\r\n tabIndex=\"-1\"\r\n />\r\n {renderQueue(fileAttachmentList)}\r\n \r\n\r\n {isChildQuestion && (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {isParentPicklistQuestion ? (\r\n
    \r\n \r\n Do you want to always display Child Question?\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n ) : (\r\n \r\n Child Question will be always displayed.\r\n \r\n )}\r\n
    \r\n
    \r\n {showChildQuestionAlways == 'no' && (\r\n
    \r\n
    \r\n o.picklistItemName}\r\n optionText={(o) => o.picklistItemName}\r\n validate={[formValidators.requiredMultiSelect]}\r\n testingData={{\r\n label: 'lblParentPicklistItem',\r\n div: 'divParentPicklistItem',\r\n }}\r\n />\r\n
    \r\n
    \r\n )}\r\n
    \r\n )}\r\n \r\n {(isLocked ||\r\n ((questionTypeID === 3 || questionTypeID === 4) &&\r\n !isChildQuestion)) && ( // Section to display warning messages\r\n
    \r\n
    \r\n {isLocked &&\r\n !(\r\n formPurpose === 'UPDATE' &&\r\n !isChildQuestion &&\r\n (questionTypeID === 3 || questionTypeID === 4)\r\n ) && ( // Warning message for editing a standard parent question\r\n

    \r\n Note:{' '}\r\n

      \r\n
    • \r\n This is a standard question. Editing this question\r\n will create a copy of the question and saved as a\r\n non-standard question.\r\n
    • \r\n
    \r\n

    \r\n )}\r\n {isLocked &&\r\n formPurpose === 'UPDATE' &&\r\n !isChildQuestion &&\r\n (questionTypeID === 3 || questionTypeID === 4) && ( // Warning message for editing a standard parent picklist question\r\n

    \r\n Note:{' '}\r\n

      \r\n
    • \r\n This is a standard question. Editing this question\r\n will create a copy of the question and saved as a\r\n non-standard question.\r\n
    • \r\n
    • \r\n
      Removing a picklist items may have an impact on the\r\n display rule(s) of the child question(s) (if any).
      \r\n
      Please update the display rule of individual child\r\n questions as required.
      \r\n
    • \r\n
    \r\n

    \r\n )}\r\n {!isLocked &&\r\n formPurpose === 'UPDATE' &&\r\n !isChildQuestion &&\r\n (questionTypeID === 3 || questionTypeID === 4) && ( // Warning message for editing a custom parent picklist question\r\n

    \r\n Note:{' '}\r\n

      \r\n
    • \r\n
      \r\n Removing picklist item(s) may have an impact on the\r\n display rule of the child question(s) (if any).\r\n
      \r\n
      \r\n Please update the display rule of individual child\r\n question as required.
      \r\n
    • \r\n
    \r\n

    \r\n )}\r\n
    \r\n
    \r\n )}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n {intentExtensionModalSettings.showModal && (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nAddEditCustomQuestionModal.propTypes = {\r\n showAddEditCustomQuestionModal: PropTypes.bool,\r\n handleSubmit: PropTypes.func,\r\n toggleShowAddEditCustomQuestionModal: PropTypes.func,\r\n toggleShowAddEditCustomQuestionModalAndReleaseIntentLock: PropTypes.func,\r\n formPurpose: PropTypes.string,\r\n isChildQuestion: PropTypes.bool,\r\n picklistItemText: PropTypes.string,\r\n showChildQuestionAlways: PropTypes.string,\r\n questionTypeID: PropTypes.number,\r\n valid: PropTypes.bool,\r\n dirty: PropTypes.bool,\r\n change: PropTypes.func,\r\n currentPicklistItems: PropTypes.array,\r\n parentQuestionTypeID: PropTypes.number,\r\n parentQuestionPicklistItems: PropTypes.array,\r\n questionTypes: PropTypes.array,\r\n handleChangePicklistItem: PropTypes.func,\r\n isQuestionFormDirty: PropTypes.bool,\r\n initialValues: PropTypes.object,\r\n sectionID: PropTypes.number,\r\n sectionName: PropTypes.string,\r\n fileAttachmentList: PropTypes.array,\r\n removeFile: PropTypes.func,\r\n handleDrop: PropTypes.func,\r\n existingAttachmentData: PropTypes.array,\r\n handleDeleteExistingFile: PropTypes.func,\r\n handleDownloadAttachmentClick: PropTypes.func,\r\n startIntentLockTimer: PropTypes.bool,\r\n timeoutIdProp: PropTypes.number,\r\n intentLockExpirationTime: PropTypes.any,\r\n currentQuestionIdinWorks: number,\r\n checklistTemplateID: number,\r\n clientID: number,\r\n};\r\n\r\nlet AddEditCustomQuestionForm = reduxForm({\r\n form: 'customQuestionForm',\r\n enableReinitialize: true,\r\n})(AddEditCustomQuestionModal);\r\nconst selector = formValueSelector('customQuestionForm');\r\n\r\nconst mapStateToProps = (state, props) => {\r\n return {\r\n picklistItemText: selector(state, 'picklistItemText'),\r\n showChildQuestionAlways: selector(state, 'showChildQuestionAlways'),\r\n questionTypeID: selector(state, 'questionTypeID'),\r\n sectionID: selector(state, 'sectionID'),\r\n sectionName: selector(state, 'sectionName'),\r\n isLocked: selector(state, 'isLocked'),\r\n timeoutIdProp: selector(state, 'timeoutId'),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n change: bindActionCreators(change, dispatch),\r\n customQuestionActions: bindActionCreators(customQuestionActions, dispatch),\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(AddEditCustomQuestionForm);\r\n","/* eslint-disable no-unused-vars */\r\n/* eslint-disable react/prop-types */\r\n/* eslint-disable react/no-multi-comp */\r\n\r\nimport React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifFormField,\r\n MotifLabel,\r\n MotifInput,\r\n MotifModalFooter,\r\n MotifButton,\r\n} from '@ey-xd/motif-react';\r\n\r\nimport { addAttribute } from '../../common/Attribute';\r\n\r\nconst AddSectionModal = ({\r\n showAddSectionModal,\r\n handleAddSection,\r\n toggleAddSectionModal,\r\n sectionDetail,\r\n}) => {\r\n useEffect(() => {\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", 'type', 'button');\r\n });\r\n\r\n useEffect(() => {\r\n setNewSection(sectionDetail ? sectionDetail.sectionName : '');\r\n }, [sectionDetail]);\r\n\r\n useEffect(() => {\r\n setAddEditButtonText(sectionDetail ? 'Update' : 'Add');\r\n }, [sectionDetail]);\r\n\r\n const [newSection, setNewSection] = useState('');\r\n const [addEditButtonText, setAddEditButtonText] = useState('');\r\n\r\n const cancelSection = (_event) => {\r\n setNewSection('');\r\n toggleAddSectionModal();\r\n };\r\n\r\n const addSection = (_event, newSection) => {\r\n setNewSection('');\r\n handleAddSection(\r\n newSection,\r\n sectionDetail ? sectionDetail.sectionSortOrder : null\r\n );\r\n };\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Add checklist users modal',\r\n ariaLabel: 'Close Add checklist users modal',\r\n dataTestid: 'close',\r\n };\r\n\r\n return (\r\n \r\n cancelSection(event)}\r\n data-testid=\"AddSectionModal\"\r\n >\r\n \r\n \r\n {(sectionDetail && Edit Section) || (\r\n Add a New Section\r\n )}\r\n \r\n \r\n \r\n \r\n Section Name (Required)\r\n setNewSection(event.target.value)}\r\n data-testid=\"lblSectionNameFooter\"\r\n maxlength=\"255\"\r\n />\r\n \r\n \r\n \r\n cancelSection(event)}\r\n className=\"right\"\r\n data-testid=\"btnAddSectionCancel\"\r\n >\r\n Cancel\r\n \r\n addSection(event, newSection)}\r\n className=\"right\"\r\n data-testid=\"btnAddSectionSave\"\r\n disabled={newSection === ''}\r\n >\r\n {addEditButtonText}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nAddSectionModal.propTypes = {\r\n showAddSectionModal: PropTypes.bool,\r\n toggleAddSectionModal: PropTypes.bool,\r\n handleAddSection: PropTypes.func,\r\n sectionDetail: PropTypes.object,\r\n};\r\n\r\nexport default AddSectionModal;\r\n","/* eslint-disable react/no-unescaped-entities */\r\n/* eslint-disable react/prop-types */\r\n/* eslint-disable react/no-multi-comp */\r\n\r\nimport React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifButton,\r\n MotifIcon,\r\n} from '@ey-xd/motif-react';\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\nimport { addAttribute } from '../../common/Attribute';\r\n\r\nconst DeleteTemplateQuestionModal = ({\r\n showDeleteTemplateQuestionModal,\r\n hasChildQuestions,\r\n handleCancelDeleteTemplateQuestion,\r\n handleDeleteTemplateQuestion,\r\n}) => {\r\n useEffect(() => {\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", 'type', 'button');\r\n });\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Delete Template Question modal',\r\n ariaLabel: 'Close Template Delete Question modal',\r\n dataTestid: 'close',\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Delete Question\r\n \r\n \r\n \r\n \r\n Are you sure you want to delete this question?\r\n
    \r\n
    \r\n {!hasChildQuestions && (\r\n <>\r\n \r\n Note:\r\n \r\n
      \r\n
    1. \r\n This will remove the ability to add this question to any\r\n template.\r\n
    2. \r\n
    3. \r\n This will also delete the question from other template(s)\r\n that's currently using it.\r\n
    4. \r\n
    5. \r\n This will not remove the question from an existing checklist\r\n that's currently using it.\r\n
    6. \r\n
    \r\n \r\n )}\r\n\r\n {hasChildQuestions && (\r\n <>\r\n \r\n Note:\r\n \r\n
      \r\n
    1. \r\n This will delete the questions under this question.\r\n
    2. \r\n
    3. \r\n This will remove the ability to add this question/child\r\n questions to any template.\r\n
    4. \r\n
    5. \r\n This will also delete the question from other template(s)\r\n that's currently using it.\r\n
    6. \r\n
    7. \r\n This will not remove the question from an existing checklist\r\n that's currently using it.\r\n
    8. \r\n
    \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n Delete\r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nDeleteTemplateQuestionModal.propTypes = {\r\n showDeleteTemplateQuestionModal: PropTypes.bool,\r\n hasChildQuestions: PropTypes.bool,\r\n handleCancelDeleteTemplateQuestion: PropTypes.bool,\r\n handleDeleteTemplateQuestion: PropTypes.func,\r\n};\r\n\r\nexport default DeleteTemplateQuestionModal;\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifButton,\r\n MotifIcon,\r\n} from '@ey-xd/motif-react';\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\nimport { addAttribute } from '../../common/Attribute';\r\n\r\nconst TemplateConfirmEditQuestionModal = ({\r\n showEditTemplateQuestionModal,\r\n handleCancelEditTemplateQuestion,\r\n handleEditTemplateQuestion,\r\n}) => {\r\n useEffect(() => {\r\n addAttribute(\"button[role = 'combobox']\", 'type', 'button');\r\n });\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Edit Template Question modal',\r\n ariaLabel: 'Close Template Edit Question modal',\r\n dataTestid: 'close',\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Confirm Edit Question\r\n \r\n \r\n \r\n \r\n Are you sure you want to edit this question? If you are not sure, please add a new question.\r\n
    \r\n
    \r\n \r\n Note: \r\n A change made to this question will be reflected on other templates\r\n using this question. And questionnaire to questionnaire comparison may be \r\n impacted by this change.\r\n \r\n\r\n \r\n \r\n Cancel\r\n \r\n \r\n Edit\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nTemplateConfirmEditQuestionModal.propTypes = {\r\n showEditTemplateQuestionModal: PropTypes.bool,\r\n handleCancelEditTemplateQuestion: PropTypes.bool,\r\n handleEditTemplateQuestion: PropTypes.func,\r\n};\r\n\r\nexport default TemplateConfirmEditQuestionModal;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { MotifModal, MotifModalBody, MotifModalFooter, MotifModalHeader, MotifButton } from '@ey-xd/motif-react';\r\n\r\nconst DeleteLastSectionWarningModal = ({\r\n showDeleteLastSectionWarningModal,\r\n toggleShowDeleteLastSectionWarningModal\r\n}) => {\r\n return (\r\n \r\n \r\n Delete Section\r\n \r\n \r\n \r\n Checklist always requires at least one section within the template. Please add a section in order to delete an existing section.\r\n \r\n \r\n \r\n \r\n OK\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nDeleteLastSectionWarningModal.propTypes = {\r\n showDeleteLastSectionWarningModal: PropTypes.bool,\r\n toggleShowDeleteLastSectionWarningModal: PropTypes.func\r\n};\r\n\r\nexport default DeleteLastSectionWarningModal;","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport {\r\n MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter, MotifButton, MotifInlineMessage\r\n} from '@ey-xd/motif-react';\r\n\r\n\r\nconst CustomQuestionAttachmentListUploadStatus = ({\r\n uploadedAttachmentStatus,\r\n showAttachmentStatusModal,\r\n toggleShowAttachmentStatus,\r\n}) => {\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'close attachment status modal',\r\n ariaLabel: 'close attachment status modal',\r\n dataTestid: 'close'\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n Attachment(s) Status\r\n \r\n \r\n \r\n
    \r\n {\r\n uploadedAttachmentStatus &&\r\n uploadedAttachmentStatus.length > 0 &&\r\n uploadedAttachmentStatus.map((attachmentData) => (\r\n
    \r\n
    {attachmentData.attachmentName}
    \r\n
    \r\n {attachmentData.status}\r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n \r\n\r\n \r\n Close\r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nCustomQuestionAttachmentListUploadStatus.propTypes = {\r\n uploadedAttachmentStatus: PropTypes.array,\r\n handleCloseAttachmentStatusModal: PropTypes.func\r\n};\r\n\r\nexport default CustomQuestionAttachmentListUploadStatus;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { MotifModal, MotifModalBody, MotifModalFooter, MotifModalHeader, MotifButton } from '@ey-xd/motif-react';\r\n\r\nconst QuestionLockedInfoModal = ({\r\n showInfoModal,\r\n headerMessage,\r\n content,\r\n handleCloseOnQuestionInfoModal\r\n}) => {\r\n return (\r\n \r\n \r\n {headerMessage}\r\n \r\n \r\n {content}\r\n \r\n \r\n \r\n Close\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nQuestionLockedInfoModal.propTypes = {\r\n showInfoModal: PropTypes.bool,\r\n headerMessage: PropTypes.string,\r\n content: PropTypes.string,\r\n handleCloseOnQuestionInfoModal: PropTypes.func\r\n};\r\n\r\nexport default QuestionLockedInfoModal;","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifButton,\r\n MotifIcon\r\n} from '@ey-xd/motif-react';\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\nimport { addAttribute } from '../../common/Attribute';\r\n\r\nconst StandardChildQuestionsRearrangeWarningModal = ({\r\n showStandardChildQuestionsRearrangeWarningModal,\r\n handleContinueChildQuestionsRearrangeWarningModal,\r\n handleCancelStandardChildQuestionsRearrangeWarningModal,\r\n}) => {\r\n useEffect(() => {\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", 'type', 'button');\r\n });\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Standard Child Questions Rearrange Warning Modal',\r\n ariaLabel: 'Close Standard Child Questions Rearrange Warning Modal',\r\n dataTestid: 'close',\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Rearrange Standard Child Questions\r\n \r\n \r\n \r\n

    \r\n Are you sure you want to edit the standard child questions sort order?\r\n

    \r\n\r\n

    \r\n NOTE: This change in the standard child questions sort order will convert the selected standard question to a custom question with the desired child questions sort order.\r\n

    \r\n
    \r\n \r\n \r\n Cancel\r\n \r\n \r\n Continue\r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nStandardChildQuestionsRearrangeWarningModal.propTypes = {\r\n showStandardChildQuestionsRearrangeWarningModal: PropTypes.bool,\r\n handleContinueChildQuestionsRearrangeWarningModal: PropTypes.func,\r\n handleCancelStandardChildQuestionsRearrangeWarningModal: PropTypes.func,\r\n};\r\n\r\nexport default StandardChildQuestionsRearrangeWarningModal;","/* eslint-disable react/prop-types */\r\n\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport {\r\n getFormValues,\r\n reduxForm,\r\n getFormSyncErrors,\r\n getFormSubmitErrors,\r\n reset,\r\n} from 'redux-form';\r\nimport { bindActionCreators } from 'redux';\r\nimport { MotifOption } from '@ey-xd/motif-react';\r\nimport AvailableQuestions from '../../components/customChecklistQuestions/AvailableQuestions';\r\nimport PsqCustomChecklistTemplateHeader from '../../components/customChecklistQuestions/PsqCustomChecklistTemplateHeader';\r\nimport PsqCustomChecklistTemplate from '../../components/customChecklistQuestions/PsqCustomChecklistTemplate';\r\nimport PsqCustomChecklistTemplateFooter from '../../components/customChecklistQuestions/PsqCustomChecklistTemplateFooter';\r\nimport * as customChecklistTemplateActions from '../../actions/customChecklistTemplateActions';\r\nimport * as customQuestionActions from '../../actions/customQuestionActions';\r\nimport AddEditCustomQuestionModal from '../../components/customChecklistQuestions/AddEditCustomQuestionModal';\r\nimport AddSectionModal from '../../components/customChecklistQuestions/AddSectionModal';\r\nimport { store } from '../../store/configureStore';\r\nimport DeleteTemplateQuestionModal from '../../components/customChecklistQuestions/DeleteTemplateQuestionModal';\r\nimport TemplateConfirmEditQuestionModal from '../../components/customChecklistQuestions/TemplateConfirmEditQuestionModal';\r\nimport DeleteLastSectionWarningModal from '../../components/customChecklistQuestions/DeleteLastSectionWarningModal';\r\nimport { isUserActiveOfEditedTemplate } from \"../../common/SignalRFunction\";\r\nimport * as fileActions from \"../../actions/fileActions\";\r\nimport CustomQuestionAttachmentListUploadStatus from '../../components/customChecklistQuestions/CustomQuestionAttachmentListUploadStatus';\r\nimport QuestionLockedInfoModal from '../../components/customChecklistQuestions/QuestionLockedInfoModal';\r\nimport StandardChildQuestionsRearrangeWarningModal from '../../components/customChecklistQuestions/StandardChildQuestionsRearrangeWarningModal';\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * PsqCustomChecklistTemplate container component\r\n * @extends {React.Component}\r\n */\r\nexport class PsqCustomChecklistTemplateContainer extends React.Component {\r\n /**\r\n * Creates a new PsqChecklistPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n isEditMode: this.props.router?.params.templateId ? true : false,\r\n templateId: this.props.router?.params.templateId\r\n ? props.router.params.templateId\r\n : 0,\r\n templateName: '',\r\n selectedExistingTemplateId: 0,\r\n showStandardQuestions: true,\r\n searchQuestionText: '',\r\n selectedAvailableQuestionSearchBy: '2',\r\n selectedQuestions: this.questions,\r\n templateSections: [],\r\n checklistTypeID: 2,\r\n availableQuestionDetail: [],\r\n enableNavigation: false,\r\n isTemplateDirty: false,\r\n showAddEditCustomQuestionModal: false,\r\n questionFormPurpose: 'UNKNOWN',\r\n isChildQuestion: false,\r\n currentQuestionPicklistItems: [],\r\n parentQuestionPicklistItems: [],\r\n parentQuestionID: null,\r\n parentQuestionTypeID: null,\r\n showAddSectionModal: false,\r\n questionToDelete: null,\r\n questionModalInitialValues: {},\r\n isQuestionFormDirty: false,\r\n sectionDetail: {},\r\n expandAllAccordionsOnTemplate: false,\r\n expandAllAccordionsOnAvailableQuestions: false,\r\n allAvailableQuestions: [],\r\n selectedSectionId: 0,\r\n selectedSectionName: '',\r\n isEditLayoutMode: false,\r\n isNewQuestionForSectionEnabled: false,\r\n hasTemplateNameChanged: false,\r\n showDeleteTemplateQuestionModal: false,\r\n showEditTemplateQuestionModal: false,\r\n templateQuestionToBeDeletedHasChildQuestions: false,\r\n templateQuestionToBeDeleted: {},\r\n templateQuestionToBeEdited: {},\r\n isTemplateEditedByOtherUser: false,\r\n isTemplateEditedUserActive: false,\r\n showDeleteLastSectionWarningModal: false,\r\n fileAttachmentList: [],\r\n attachmentData: [],\r\n uploadedAttachmentStatus: [],\r\n showQuestionLockedInfoModal: false,\r\n headerMessageForQuestionLockedInfoModal: '',\r\n contentForQuestionLockedInfoModal: '',\r\n showStandardChildQuestionsRearrangeWarningModal: false,\r\n tempTemplateStateOnChildQuestionRearrange: {},\r\n tempisTemplateDirtyStateOnChildQuestionRearrange: false,\r\n startIntentLockTimer: false,\r\n intentLockExpirationTime: null,\r\n currentQuestionIdinWorks: null,\r\n parentQuestionOfTheChildQuestionsRearranged: null,\r\n isSaving: false,\r\n };\r\n\r\n console.log('params', props.router.params)\r\n console.log('templateId initial state: ', this.state.templateId)\r\n\r\n this.fetchTemplateDataById = this.fetchTemplateDataById.bind(this);\r\n this.isTemplateUserActive = this.isTemplateUserActive.bind(this);\r\n this.executeIsUserActiveOfEditedTemplate = this.executeIsUserActiveOfEditedTemplate.bind(this);\r\n this.handleShowStandardQuestions =\r\n this.handleShowStandardQuestions.bind(this);\r\n this.handleSearchQuestion = this.handleSearchQuestion.bind(this);\r\n this.createAvailableQuestionsSearchBy =\r\n this.createAvailableQuestionsSearchBy.bind(this);\r\n this.handleAvailableQuestionsSearchBy =\r\n this.handleAvailableQuestionsSearchBy.bind(this);\r\n this.handleDeleteClick = this.handleDeleteClick.bind(this);\r\n this.handleEditClick = this.handleEditClick.bind(this);\r\n this.handleTemplateSave = this.handleTemplateSave.bind(this);\r\n this.handleAddSection = this.handleAddSection.bind(this);\r\n this.handleTemplateReset = this.handleTemplateReset.bind(this);\r\n this.toggleShowAddEditCustomQuestionModal =\r\n this.toggleShowAddEditCustomQuestionModal.bind(this);\r\n this.handleOnClickCreateNewQuestion =\r\n this.handleOnClickCreateNewQuestion.bind(this);\r\n this.handleSubmitCustomQuestionModalAction =\r\n this.handleSubmitCustomQuestionModalAction.bind(this);\r\n this.handleAddNewChildQuestion = this.handleAddNewChildQuestion.bind(this);\r\n this.handleToggleAddSectionModal =\r\n this.handleToggleAddSectionModal.bind(this);\r\n this.handleChangePicklistItem = this.handleChangePicklistItem.bind(this);\r\n\r\n this.handleAvailableQuestionDragStart =\r\n this.handleAvailableQuestionDragStart.bind(this);\r\n this.handleAvailableQuestionDragOver =\r\n this.handleAvailableQuestionDragOver.bind(this);\r\n this.handleQuestionDropComponent =\r\n this.handleQuestionDropComponent.bind(this);\r\n this.handleQuestionDropPanel = this.handleQuestionDropPanel.bind(this);\r\n\r\n this.handleSectionQuestionDragStart =\r\n this.handleSectionQuestionDragStart.bind(this);\r\n this.handleSectionQuestionDragOver =\r\n this.handleSectionQuestionDragOver.bind(this);\r\n\r\n this.handleSectionDragStart = this.handleSectionDragStart.bind(this);\r\n this.handleSectionDragOver = this.handleSectionDragOver.bind(this);\r\n\r\n this.handleSectionChildQuestionDragStart =\r\n this.handleSectionChildQuestionDragStart.bind(this);\r\n this.handleSectionCommentDragStart =\r\n this.handleSectionCommentDragStart.bind(this);\r\n\r\n this.handleQuestionDropComponentForSectionCategory =\r\n this.handleQuestionDropComponentForSectionCategory.bind(this);\r\n this.handleQuestionDropComponentForSectionQuestionCategory =\r\n this.handleQuestionDropComponentForSectionQuestionCategory.bind(this);\r\n this.handleQuestionDropComponentForAvailableQuestionCategory =\r\n this.handleQuestionDropComponentForAvailableQuestionCategory.bind(this);\r\n this.handleQuestionDropComponentForSectionChildQuestionCategory =\r\n this.handleQuestionDropComponentForSectionChildQuestionCategory.bind(\r\n this\r\n );\r\n this.handleQuestionDropPanelForSectionQuestionCategory =\r\n this.handleQuestionDropPanelForSectionQuestionCategory.bind(this);\r\n this.handleQuestionDropPanelForAvailableQuestionCategory =\r\n this.handleQuestionDropPanelForAvailableQuestionCategory.bind(this);\r\n this.handleQuestionDropComponentForSectionCommentCategory =\r\n this.handleQuestionDropComponentForSectionCommentCategory.bind(this);\r\n this.handleToggleExpandCollapseAllAcordionsOnTemplate =\r\n this.handleToggleExpandCollapseAllAcordionsOnTemplate.bind(this);\r\n this.handleOpenAccordionOnTemplate =\r\n this.handleOpenAccordionOnTemplate.bind(this);\r\n this.handleCloseAccordionOnTemplate =\r\n this.handleCloseAccordionOnTemplate.bind(this);\r\n this.handleToggleExpandCollapseAllAcordionsOnAvailableQuestions =\r\n this.handleToggleExpandCollapseAllAcordionsOnAvailableQuestions.bind(\r\n this\r\n );\r\n this.handleOpenAccordionOnAvailableQuestions =\r\n this.handleOpenAccordionOnAvailableQuestions.bind(this);\r\n this.handleCloseAccordionOnAvailableQuestions =\r\n this.handleCloseAccordionOnAvailableQuestions.bind(this);\r\n this.reRenderTemplateSectionOnAddNewChildQuestion =\r\n this.reRenderTemplateSectionOnAddNewChildQuestion.bind(this);\r\n this.reRenderTemplateSectionOnEditParentQuestion =\r\n this.reRenderTemplateSectionOnEditParentQuestion.bind(this);\r\n this.reRenderTemplateSectionOnEditChildQuestion =\r\n this.reRenderTemplateSectionOnEditChildQuestion.bind(this);\r\n this.reRenderTemplateSectionOnAddNewParentQuestion =\r\n this.reRenderTemplateSectionOnAddNewParentQuestion.bind(this);\r\n this.reRenderAvailableQuestionsOnAddNewParentQuestion =\r\n this.reRenderAvailableQuestionsOnAddNewParentQuestion.bind(this);\r\n this.reRenderAvailableQuestionsOnAddNewChilQuestion =\r\n this.reRenderAvailableQuestionsOnAddNewChilQuestion.bind(this);\r\n this.reRenderAvailableQuestionsOnEditParentQuestion =\r\n this.reRenderAvailableQuestionsOnEditParentQuestion.bind(this);\r\n this.reRenderAvailableQuestionsOnEditChilQuestion =\r\n this.reRenderAvailableQuestionsOnEditChilQuestion.bind(this);\r\n this.getQuestionById = this.getQuestionById.bind(this);\r\n this.commitCustomPsqTemplateChanges =\r\n this.commitCustomPsqTemplateChanges.bind(this);\r\n this.abandonCustomPsqTemplateChanges =\r\n this.abandonCustomPsqTemplateChanges.bind(this);\r\n this.handleOnChangeOfTemplateName =\r\n this.handleOnChangeOfTemplateName.bind(this);\r\n this.handleCancelDeleteTemplateQuestion =\r\n this.handleCancelDeleteTemplateQuestion.bind(this);\r\n this.handleDeleteTemplateQuestion =\r\n this.handleDeleteTemplateQuestion.bind(this);\r\n this.handleCancelEditTemplateQuestion =\r\n this.handleCancelEditTemplateQuestion.bind(this);\r\n this.handleEditTemplateQuestion =\r\n this.handleEditTemplateQuestion.bind(this);\r\n this.getPreventDropFlagOnDropEvent = this.getPreventDropFlagOnDropEvent.bind(this);\r\n this.preventDragAndDrop = this.preventDragAndDrop.bind(this);\r\n this.toggleShowDeleteLastSectionWarningModal = this.toggleShowDeleteLastSectionWarningModal.bind(this);\r\n this.removeFile = this.removeFile.bind(this);\r\n this.handleDrop = this.handleDrop.bind(this);\r\n this.handleDropRejected = this.handleDropRejected.bind(this);\r\n this.handleDeleteExistingFile = this.handleDeleteExistingFile.bind(this);\r\n this.handleDownloadAttachmentClick = this.handleDownloadAttachmentClick.bind(this);\r\n this.toggleShowAttachmentStatus = this.toggleShowAttachmentStatus.bind(this);\r\n this.handleCloseOnQuestionInfoModal = this.handleCloseOnQuestionInfoModal.bind(this);\r\n this.toggleShowAddEditCustomQuestionModalAndReleaseIntentLock = this.toggleShowAddEditCustomQuestionModalAndReleaseIntentLock.bind(this);\r\n this.handleContinueChildQuestionsRearrangeWarningModal = this.handleContinueChildQuestionsRearrangeWarningModal.bind(this);\r\n this.handleCancelStandardChildQuestionsRearrangeWarningModal = this.handleCancelStandardChildQuestionsRearrangeWarningModal.bind(this);\r\n this.handleClearSearchText = this.handleClearSearchText.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.customChecklistTemplateActions\r\n .fetchPSQTemplates(this.props.clientId)\r\n .then(() => { });\r\n\r\n this.props.customChecklistTemplateActions.fetchCustomChecklistTemplateLookupTypes();\r\n\r\n if (this.state.isEditMode) {\r\n this.fetchTemplateDataById(this.state.templateId);\r\n this.isTemplateUserActive(this.state.templateId);\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const templateId = this.props.router?.params.templateId\r\n ? this.props.router.params.templateId\r\n : 0;\r\n if (templateId !== this.state.templateId) {\r\n this.setState({ templateId: templateId });\r\n this.setState({ isEditMode: true });\r\n }\r\n if (this.props.templateSections != prevProps.templateSections) {\r\n this.setState({\r\n templateSections: this.props.templateSections,\r\n\r\n });\r\n }\r\n \r\n if (\r\n this.props.psqCustomChecklistTemplateValues.templateName !=\r\n this.state.templateName\r\n ) {\r\n this.setState({\r\n templateName: this.props.psqCustomChecklistTemplateValues.templateName,\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.customChecklistTemplateActions.fetchPSQTemplates();\r\n this.props.customChecklistTemplateActions.fetchCustomPsqTemplateById();\r\n }\r\n\r\n fetchTemplateDataById(templateId) {\r\n this.props.customChecklistTemplateActions\r\n .fetchCustomPsqTemplateById(this.props.clientId, templateId)\r\n .then(() => {\r\n this.setState({\r\n isTemplateDirty: false,\r\n templateName:\r\n this.props.psqCustomChecklistTemplateValues.templateName,\r\n selectedSectionId: 0,\r\n selectedSectionName: '',\r\n isNewQuestionForSectionEnabled: false,\r\n });\r\n\r\n this.getAvailableSection();\r\n });\r\n }\r\n\r\n // Check whether the user is active or not\r\n executeIsUserActiveOfEditedTemplate(clientId, checklistTemplateId) {\r\n return isUserActiveOfEditedTemplate(clientId, checklistTemplateId).then((response) => {\r\n return response;\r\n });\r\n }\r\n\r\n // Get user details who has edited the template and also check that user is still active\r\n isTemplateUserActive(checklistTemplateId) {\r\n // Check whether the user who edited the template is active\r\n let currentUser = this.props.authentication.currentUser\r\n ? this.props.authentication.currentUser.toLowerCase()\r\n : '';\r\n if (currentUser) {\r\n // Call SignalR function to check the user is active or not\r\n this.executeIsUserActiveOfEditedTemplate(this.props.clientId, checklistTemplateId).then((response) => {\r\n if (response) {\r\n let beingEditedBy = response.beingEditedBy ? response.beingEditedBy : '';\r\n let isTemplateEditedByOtherUser = currentUser != beingEditedBy.toLowerCase();\r\n // Redirect user to Custom PSQ Dasboard when the other user who is edited the template is currently active\r\n if (isTemplateEditedByOtherUser && response.isUserActive) {\r\n this.props.router.navigate(\r\n `/client/${this.props.clientId}/customPsqTemplate?showValidationMessage=true&beingEditedBy=${beingEditedBy}`\r\n );\r\n }\r\n else {\r\n // Set state variables - checklist template is edited by someone other user than current user, and that other user is still active\r\n this.setState({ isTemplateEditedByOtherUser: isTemplateEditedByOtherUser, isTemplateEditedUserActive: response.isUserActive });\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n createCustomPsqTemplate(formValues) {\r\n const request = {\r\n clientId: this.props.clientId,\r\n templateName: formValues.templateName,\r\n copiedFromTemplateId:\r\n (formValues.existingTemplate !== '' && formValues.templateInitializationType === 'existingTemplate') ? formValues.existingTemplate : 0,\r\n };\r\n\r\n this.props.customChecklistTemplateActions\r\n .createCustomPsqTemplate(request)\r\n .then(() => {\r\n store.dispatch(reset('psqCustomChecklistTemplate'));\r\n this.props.router.navigate(\r\n `/client/${this.props.clientId}/customPsqTemplate`\r\n );\r\n });\r\n }\r\n\r\n saveEditedCustomPsqTemplate() {\r\n const formValues = this.props.psqCustomChecklistTemplateValues;\r\n\r\n // Save/update action\r\n const sectionsRequestData = this.state.templateSections.map((section) => {\r\n let data = [];\r\n if (section.questions.length <= 0) {\r\n const dataObj = {\r\n checklistTemplateSectionID: section.isNewSection\r\n ? null\r\n : section.sectionID,\r\n sectionName: section.sectionName,\r\n sectionSortOrder: section.sectionSortOrder,\r\n checklistTemplateSectionQuestionID: null,\r\n questionID: null,\r\n questionSortOrder: null,\r\n };\r\n data.push(dataObj);\r\n } else {\r\n section.questions.forEach((element) => {\r\n const dataObj = {\r\n checklistTemplateSectionID: section.isNewSection\r\n ? null\r\n : section.sectionID,\r\n sectionName: section.sectionName,\r\n sectionSortOrder: section.sectionSortOrder,\r\n checklistTemplateSectionQuestionID:\r\n element.checklistTemplateSectionQuestionID,\r\n questionID: element.questionID,\r\n questionSortOrder: element.questionSortOrder,\r\n };\r\n data.push(dataObj);\r\n\r\n // Pushing the sort order changes only with respect to parent questions\r\n\r\n // For child sort order changes, refer to () function -- TODO\r\n });\r\n }\r\n return [...data];\r\n });\r\n\r\n const request = {\r\n clientId: this.props.clientId,\r\n templateId: this.state.templateId,\r\n templateName: formValues.templateName,\r\n checklistTemplateDetailTableType: sectionsRequestData.flat(),\r\n };\r\n\r\n this.props.customChecklistTemplateActions\r\n .upsertCustomPsqTemplate(request)\r\n .then(() => {\r\n // Once successful, reinitializw the page with updated data\r\n store.dispatch(reset('psqCustomChecklistTemplate'));\r\n this.fetchTemplateDataById(this.state.templateId);\r\n });\r\n }\r\n\r\n updateChildQuestionSortOrder() {\r\n const parentQuestion = this.state.tempTemplateStateOnChildQuestionRearrange.filter(s => s.sectionID === this.state.parentQuestionOfTheChildQuestionsRearranged.sectionID)[0].questions.filter(q => q.questionID === this.state.parentQuestionOfTheChildQuestionsRearranged.questionID)[0];\r\n let childQuestionsRequestData = [];\r\n parentQuestion.childQuestions.forEach((element) => {\r\n const dataObj =\r\n {\r\n questionID: element.questionID,\r\n questionSortOrder: element.questionSortOrder,\r\n };\r\n childQuestionsRequestData.push(dataObj);\r\n });\r\n\r\n const request = {\r\n clientId: this.props.clientId,\r\n templateId: this.state.templateId,\r\n parentQuestionId: this.state.parentQuestionOfTheChildQuestionsRearranged.questionID,\r\n checklistTypeId: this.state.checklistTypeID,\r\n isStandardQuestion: this.state.parentQuestionOfTheChildQuestionsRearranged.isLocked,\r\n checklistTemplateDetailTableType: [...childQuestionsRequestData].flat(),\r\n };\r\n\r\n this.props.customQuestionActions\r\n .updateChildQuestionSortOrder(request)\r\n .then(() => {\r\n // Once successful, reinitialize the page with updated data\r\n this.setState({\r\n templateSections: this.state.tempTemplateStateOnChildQuestionRearrange,\r\n isTemplateDirty: this.state.tempisTemplateDirtyStateOnChildQuestionRearrange,\r\n parentQuestionOfTheChildQuestionsRearranged: null,\r\n tempTemplateStateOnChildQuestionRearrange: {},\r\n tempisTemplateDirtyStateOnChildQuestionRearrange: false,\r\n showStandardChildQuestionsRearrangeWarningModal: false\r\n }, this.reloadTemplate);\r\n })\r\n .catch(() => {\r\n this.resetTempStatePostChildQuestionsRearrange();\r\n });\r\n }\r\n\r\n resetTempStatePostChildQuestionsRearrange() {\r\n this.setState({\r\n parentQuestionOfTheChildQuestionsRearranged: null,\r\n tempTemplateStateOnChildQuestionRearrange: {},\r\n tempisTemplateDirtyStateOnChildQuestionRearrange: false,\r\n showStandardChildQuestionsRearrangeWarningModal: false\r\n });\r\n }\r\n\r\n reloadTemplate() {\r\n store.dispatch(reset('psqCustomChecklistTemplate'));\r\n this.fetchTemplateDataById(this.state.templateId);\r\n }\r\n\r\n commitCustomPsqTemplateChanges(formValues) {\r\n const requestObj = {\r\n clientId: parseInt(this.props.clientId),\r\n checklistTemplateId: parseInt(this.state.templateId),\r\n checklistTemplateName: formValues.templateName,\r\n };\r\n\r\n this.props.customChecklistTemplateActions\r\n .commitCustomTemplateTemplateChanges(requestObj)\r\n .then(() => {\r\n this.props.router.navigate(\r\n `/client/${this.props.clientId}/customPsqTemplate`\r\n );\r\n });\r\n }\r\n\r\n abandonCustomPsqTemplateChanges() {\r\n const requestObj = {\r\n clientId: parseInt(this.props.clientId),\r\n checklistTemplateId: parseInt(this.state.templateId),\r\n };\r\n\r\n this.props.customChecklistTemplateActions\r\n .abandonCustomTemplateTemplateChanges(requestObj)\r\n .then(() => {\r\n this.props.router.navigate(\r\n `/client/${this.props.clientId}/customPsqTemplate`\r\n );\r\n });\r\n }\r\n\r\n createAvailableQuestionsSearchBy() {\r\n let items = [];\r\n const searchBy = [\r\n {\r\n id: 1,\r\n name: 'Question Tag',\r\n },\r\n {\r\n id: 2,\r\n name: 'Question Text',\r\n },\r\n {\r\n id: 3,\r\n name: 'Question Type',\r\n },\r\n ];\r\n\r\n searchBy.forEach((x) => {\r\n items.push(\r\n \r\n {String(x.name).replace(/\\s+/g, '\\u2800')}\r\n \r\n );\r\n });\r\n\r\n return items;\r\n }\r\n\r\n getAvailableSection() {\r\n this.props.customChecklistTemplateActions\r\n .fetchAvailableQuestion(\r\n this.props.clientId,\r\n this.state.checklistTypeID,\r\n this.state.templateId\r\n )\r\n .then((availableQuestions) => {\r\n let questions = this.filterSearchQuestions(\r\n this.state.selectedAvailableQuestionSearchBy,\r\n this.state.searchQuestionText,\r\n availableQuestions\r\n );\r\n questions = this.filterShowStandardQuestion(\r\n this.state.showStandardQuestions,\r\n questions\r\n );\r\n\r\n this.setState({\r\n availableQuestionDetail: questions,\r\n allAvailableQuestions: availableQuestions,\r\n });\r\n });\r\n }\r\n\r\n // Get Prevent Drop flag on Drop Event\r\n getPreventDropFlagOnDropEvent(category, questionId) {\r\n let shouldPreventDrop = false;\r\n if (category == 'section') {\r\n // Commenting the below code as every section can be rearranged\r\n // shouldPreventDrop = this.preventDragAndDrop(questionId);\r\n }\r\n else if (category == 'sectionquestion') {\r\n // Get the section id based on question id\r\n let sections = this.state.templateSections;\r\n if (sections && sections.length > 0) {\r\n for (var sectionIndex = 0; sectionIndex < sections.length; sectionIndex++) {\r\n let sectionItem = sections[sectionIndex];\r\n if (sectionItem.questions && sectionItem.questions.length > 0) {\r\n // Get the dropped section details\r\n let matchedSection = sectionItem.questions.find(si => si.questionID == questionId);\r\n if (matchedSection) {\r\n let matchedSectionId = matchedSection.sectionID;\r\n shouldPreventDrop = this.preventDragAndDrop(matchedSectionId);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else if (category == 'sectionchildquestion') {\r\n // Get section id based on Child Question Id\r\n let sections = this.state.templateSections;\r\n if (sections && sections.length > 0) {\r\n for (var secIndex = 0; secIndex < sections.length; secIndex++) {\r\n let sectionItem = sections[secIndex];\r\n if (sectionItem.questions && sectionItem.questions.length > 0) {\r\n for (var questionIndex = 0; questionIndex < sectionItem.questions.length; questionIndex++) {\r\n let questionItem = sectionItem.questions[questionIndex];\r\n if (questionItem.childQuestions && questionItem.childQuestions.length > 0) {\r\n // Get the dropped section details\r\n let matchedSection = questionItem.childQuestions.find(qi => qi.questionID == questionId);\r\n if (matchedSection) {\r\n let matchedSectionId = sectionItem.sectionID;\r\n shouldPreventDrop = this.preventDragAndDrop(matchedSectionId);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else if (category == 'sectioncomment') {\r\n shouldPreventDrop = this.preventDragAndDrop(questionId);\r\n }\r\n return shouldPreventDrop;\r\n }\r\n\r\n // Checks whether to prevent Drag and Drop for given Section Id\r\n preventDragAndDrop(sectionId) {\r\n // Prevent Drag or Drop if Section containing Question of type \"psq section 2 additional services\" or \"psq section 2 property manager\" found\r\n const preventQuestionTypeList = ['psq section 2 property manager', 'psq section 2 additional services'];\r\n let shouldPreventDragAndDrop = false;\r\n let sections = this.state.templateSections;\r\n if (sectionId > 0 && sections && sections.length > 0) {\r\n // Get section details\r\n let matchedSection = sections.find(s => s.sectionID === sectionId);\r\n if (matchedSection && matchedSection.questions && matchedSection.questions.length > 0 &&\r\n matchedSection.questions.some(si => preventQuestionTypeList.includes(si.questionTypeDescription.toLowerCase()))) {\r\n shouldPreventDragAndDrop = true;\r\n }\r\n }\r\n return shouldPreventDragAndDrop;\r\n }\r\n\r\n // Handle onDragStart event for Section\r\n handleSectionDragStart(ev, sectionId) {\r\n ev.dataTransfer.setData('sectionId', sectionId);\r\n\r\n if (this.state.isTemplateEditedByOtherUser) {\r\n ev.preventDefault();\r\n return;\r\n }\r\n }\r\n\r\n // Handle onDragStart event for Section Child Question\r\n handleSectionChildQuestionDragStart(ev, questionId) {\r\n if (this.state.isTemplateEditedByOtherUser) {\r\n ev.preventDefault();\r\n return;\r\n }\r\n ev.dataTransfer.setData('childQuestionId', questionId);\r\n }\r\n\r\n // Handle onDragStart event for Section Child Question\r\n handleSectionCommentDragStart(ev, sectionId) {\r\n ev.dataTransfer.setData('sectionReviewCommentId', sectionId);\r\n ev.preventDefault();\r\n }\r\n\r\n // Handle onDragOver event for Section\r\n handleSectionDragOver(ev) {\r\n ev.preventDefault();\r\n }\r\n\r\n // Handle onDragStart event for Section Question\r\n handleSectionQuestionDragStart(ev, id) {\r\n if (this.state.isTemplateEditedByOtherUser) {\r\n ev.preventDefault();\r\n return;\r\n }\r\n ev.dataTransfer.setData('id', id);\r\n }\r\n\r\n // Handle onDragOver event for Section Question\r\n handleSectionQuestionDragOver(ev) {\r\n ev.preventDefault();\r\n }\r\n\r\n // Handle onDragStart event for Available Question\r\n handleAvailableQuestionDragStart(ev, id) {\r\n if (this.state.isTemplateEditedByOtherUser) {\r\n ev.preventDefault();\r\n return;\r\n }\r\n ev.dataTransfer.setData('id', id);\r\n }\r\n\r\n // Handle onDragOver event for Available Question\r\n handleAvailableQuestionDragOver(ev) {\r\n ev.preventDefault();\r\n }\r\n\r\n // Handle onDrop event for Section category\r\n handleQuestionDropComponentForSectionCategory(\r\n questionId,\r\n draggedId,\r\n draggedSectionId,\r\n draggedChildQuestionId,\r\n sectionQuestions\r\n ) {\r\n if (!this.preventDrop) {\r\n let sQuestions = sectionQuestions;\r\n\r\n // Prevent dropping child question on Section\r\n if (draggedChildQuestionId) {\r\n this.preventDrop = true;\r\n }\r\n // Drop available question category on Section\r\n else if (!draggedSectionId || draggedSectionId <= 0) {\r\n // Get index based on section id\r\n let toIndex = sQuestions.findIndex((q) => q.sectionID == questionId);\r\n let sectionQuestionsCount = sQuestions.filter(\r\n (q) => q.sectionID == questionId\r\n ).length;\r\n if (toIndex >= 0) {\r\n let aQuestions = this.state.availableQuestionDetail;\r\n let draggedQuestion = {\r\n ...aQuestions.find((q) => q.questionID == draggedId),\r\n };\r\n if (draggedQuestion) {\r\n draggedQuestion.category = 'sectionquestion';\r\n draggedQuestion.sectionID = sQuestions[toIndex].sectionID;\r\n draggedQuestion.sectionName = sQuestions[toIndex].sectionName;\r\n draggedQuestion.sectionIsLocked =\r\n sQuestions[toIndex].sectionIsLocked;\r\n draggedQuestion.isNewSection = sQuestions[toIndex].isNewSection;\r\n draggedQuestion.sectionHighlightClass =\r\n sQuestions[toIndex].sectionHighlightClass;\r\n\r\n // Check to not allow drop if the source section contains a restricted question\r\n if (this.preventDragAndDrop(draggedQuestion.sectionID)) {\r\n this.preventDrop = true;\r\n return;\r\n }\r\n\r\n // Move available question to section at end\r\n sQuestions.splice(\r\n toIndex + sectionQuestionsCount,\r\n 0,\r\n draggedQuestion\r\n );\r\n\r\n // Check target section is having empty question\r\n if (sQuestions[toIndex].isEmptySection) {\r\n // Remove emtpy question from Section as new question is dropped on Section\r\n sQuestions.splice(toIndex, 1);\r\n }\r\n }\r\n\r\n let uniqueSections = [\r\n ...new Set(sQuestions.map((item) => item.sectionID)),\r\n ];\r\n\r\n let updatedSectionQuestions = [];\r\n uniqueSections &&\r\n uniqueSections.length > 0 &&\r\n uniqueSections.forEach((s) => {\r\n let sectionWiseQuestions = sQuestions.filter(\r\n (sq) => sq.sectionID == s\r\n );\r\n if (\r\n sectionWiseQuestions &&\r\n sectionWiseQuestions.some((sq) => sq.isEmptySection)\r\n ) {\r\n //Handle Section is having empty question\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [],\r\n });\r\n } else {\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [...sectionWiseQuestions],\r\n });\r\n }\r\n });\r\n\r\n // Remove Question from other Category\r\n aQuestions = aQuestions.filter((q) => q.questionID != draggedId);\r\n\r\n this.preventDrop = true;\r\n\r\n let sectionOrder = 0;\r\n\r\n const sortedSections = updatedSectionQuestions.map((section) => {\r\n let questions = [];\r\n let questionOrder = 0;\r\n if (section.questions.length > 0) {\r\n questions = section.questions.map((question) => {\r\n let childQuestions = [];\r\n let childQuestionOrder = 0;\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n return {\r\n ...childQuestion,\r\n questionSortOrder: ++childQuestionOrder,\r\n };\r\n }\r\n );\r\n }\r\n\r\n return {\r\n ...question,\r\n questionSortOrder: ++questionOrder,\r\n childQuestions: childQuestions,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...section,\r\n sectionSortOrder: ++sectionOrder,\r\n questions: questions,\r\n };\r\n });\r\n\r\n const isTemplateDirty =\r\n JSON.stringify(sortedSections) !==\r\n JSON.stringify(this.props.templateSections);\r\n\r\n this.setState(\r\n {\r\n templateSections: [...sortedSections],\r\n availableQuestionDetail: [...aQuestions],\r\n isTemplateDirty: isTemplateDirty,\r\n },\r\n this.saveEditedCustomPsqTemplate\r\n );\r\n\r\n let updatedQuestions = this.state.allAvailableQuestions.slice();\r\n const index = updatedQuestions.findIndex(\r\n (q) => q.questionID === draggedQuestion.questionID\r\n );\r\n updatedQuestions.splice(index, 1);\r\n\r\n updatedQuestions.sort(\r\n (a, b) => parseInt(a.questionID) - parseInt(b.questionID)\r\n );\r\n\r\n this.setState({ allAvailableQuestions: updatedQuestions });\r\n } else {\r\n this.preventDrop = true;\r\n }\r\n }\r\n // Drop question from section category on Section\r\n else if (draggedId && sQuestions.some((q) => q.questionID == draggedId)) {\r\n let fromIndex = sQuestions.findIndex((q) => q.questionID == draggedId);\r\n\r\n // Get index based on section id\r\n let toIndex = sQuestions.findIndex((q) => q.sectionID == questionId);\r\n let sectionQuestionsCount = sQuestions.filter(\r\n (q) => q.sectionID == questionId\r\n ).length;\r\n\r\n if (fromIndex >= 0 && toIndex >= 0) {\r\n //Dropping question from one Section to another section\r\n\r\n let fromSectionId = sQuestions[fromIndex].sectionID;\r\n let toSectionId = sQuestions[toIndex].sectionID;\r\n let emptyFromSectionIndex = -1;\r\n let emptyFromSection = {};\r\n let updatedSQuestions = [];\r\n\r\n // Check to not allow drop if either the source or the target section contains a restricted question\r\n if (this.preventDragAndDrop(fromSectionId) || this.preventDragAndDrop(toSectionId)) {\r\n this.preventDrop = true;\r\n return;\r\n }\r\n\r\n if (\r\n fromSectionId > 0 &&\r\n toSectionId > 0 &&\r\n fromSectionId != toSectionId\r\n ) {\r\n //If section (of Dragged question) having single question\r\n if (\r\n sQuestions.filter((sq) => sq.sectionID == fromSectionId).length ==\r\n 1\r\n ) {\r\n //Get unique sections\r\n let uniqueDroppableSections = [\r\n ...new Set(sQuestions.map((item) => item.sectionID)),\r\n ];\r\n emptyFromSectionIndex = uniqueDroppableSections.findIndex(\r\n (s) => s == fromSectionId\r\n );\r\n if (\r\n this.state.templateSections &&\r\n this.state.templateSections[emptyFromSectionIndex]\r\n ) {\r\n emptyFromSection = {\r\n ...this.state.templateSections[emptyFromSectionIndex],\r\n };\r\n }\r\n }\r\n }\r\n\r\n const toIndexSQuestion = sQuestions.filter(\r\n (_, index) => index === toIndex\r\n )[0];\r\n\r\n updatedSQuestions = sQuestions.map((sQuestion, index) => {\r\n if (index === fromIndex) {\r\n return {\r\n ...sQuestion,\r\n sectionID: toIndexSQuestion.sectionID,\r\n sectionName: toIndexSQuestion.sectionName,\r\n sectionIsLocked: toIndexSQuestion.sectionIsLocked,\r\n isNewSection: toIndexSQuestion.isNewSection,\r\n sectionHighlightClass: toIndexSQuestion.sectionHighlightClass,\r\n };\r\n } else {\r\n return sQuestion;\r\n }\r\n });\r\n\r\n updatedSQuestions.splice(\r\n toIndex < fromIndex\r\n ? toIndex + sectionQuestionsCount\r\n : toIndex + sectionQuestionsCount - 1,\r\n 0,\r\n updatedSQuestions.splice(fromIndex, 1)[0]\r\n );\r\n\r\n // Check target section is having empty question\r\n let emptyToSectionIndex = updatedSQuestions.findIndex(\r\n (sq) => sq.sectionID == toSectionId && sq.isEmptySection\r\n );\r\n if (emptyToSectionIndex >= 0) {\r\n // Remove emtpy question from Section as new question is dropped on Section\r\n updatedSQuestions.splice(emptyToSectionIndex, 1);\r\n }\r\n\r\n let uniqueSections = [\r\n ...new Set(updatedSQuestions.map((item) => item.sectionID)),\r\n ];\r\n let updatedSectionQuestions = [];\r\n\r\n uniqueSections &&\r\n uniqueSections.length > 0 &&\r\n uniqueSections.forEach((s) => {\r\n let sectionWiseQuestions = updatedSQuestions.filter(\r\n (sq) => sq.sectionID == s\r\n );\r\n if (\r\n sectionWiseQuestions &&\r\n sectionWiseQuestions.some((sq) => sq.isEmptySection)\r\n ) {\r\n //Handle Section is having empty question\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [],\r\n });\r\n } else {\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [...sectionWiseQuestions],\r\n });\r\n }\r\n });\r\n\r\n if (emptyFromSectionIndex >= 0) {\r\n emptyFromSection.questions = [];\r\n updatedSectionQuestions.splice(\r\n emptyFromSectionIndex,\r\n 0,\r\n emptyFromSection\r\n );\r\n }\r\n\r\n this.preventDrop = true;\r\n\r\n let sectionOrder = 0;\r\n\r\n const sortedSections = updatedSectionQuestions.map((section) => {\r\n let questions = [];\r\n let questionOrder = 0;\r\n if (section.questions.length > 0) {\r\n questions = section.questions.map((question) => {\r\n let childQuestions = [];\r\n let childQuestionOrder = 0;\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n return {\r\n ...childQuestion,\r\n questionSortOrder: ++childQuestionOrder,\r\n };\r\n }\r\n );\r\n }\r\n\r\n return {\r\n ...question,\r\n questionSortOrder: ++questionOrder,\r\n childQuestions: childQuestions,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...section,\r\n sectionSortOrder: ++sectionOrder,\r\n questions: questions,\r\n };\r\n });\r\n\r\n const isTemplateDirty =\r\n JSON.stringify(sortedSections) !==\r\n JSON.stringify(this.props.templateSections);\r\n\r\n this.setState(\r\n {\r\n templateSections: [...sortedSections],\r\n isTemplateDirty: isTemplateDirty,\r\n },\r\n this.saveEditedCustomPsqTemplate\r\n );\r\n }\r\n } else {\r\n // Drop section on section\r\n let sections = this.state.templateSections.slice();\r\n let toIndex = sections.findIndex((q) => q.sectionID == questionId);\r\n let fromIndex = sections.findIndex(\r\n (q) => q.sectionID == draggedSectionId\r\n );\r\n\r\n if (fromIndex == toIndex) {\r\n this.preventDrop = true;\r\n } else if (fromIndex >= 0 && toIndex >= 0 && fromIndex != toIndex) {\r\n sections.splice(toIndex, 0, sections.splice(fromIndex, 1)[0]);\r\n\r\n this.preventDrop = true;\r\n\r\n let sectionOrder = 0;\r\n\r\n const sortedSections = sections.map((section) => {\r\n let questions = [];\r\n let questionOrder = 0;\r\n if (section.questions.length > 0) {\r\n questions = section.questions.map((question) => {\r\n let childQuestions = [];\r\n let childQuestionOrder = 0;\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n return {\r\n ...childQuestion,\r\n questionSortOrder: ++childQuestionOrder,\r\n };\r\n }\r\n );\r\n }\r\n\r\n return {\r\n ...question,\r\n questionSortOrder: ++questionOrder,\r\n childQuestions: childQuestions,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...section,\r\n sectionSortOrder: ++sectionOrder,\r\n questions: questions,\r\n };\r\n });\r\n\r\n const isTemplateDirty =\r\n JSON.stringify(sortedSections) !==\r\n JSON.stringify(this.props.templateSections);\r\n\r\n this.setState(\r\n {\r\n templateSections: sortedSections,\r\n isTemplateDirty: isTemplateDirty,\r\n },\r\n this.saveEditedCustomPsqTemplate\r\n );\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Handle onDrop event for Section Question category\r\n handleQuestionDropComponentForSectionQuestionCategory(\r\n questionId,\r\n draggedId,\r\n draggedSectionId,\r\n draggedChildQuestionId,\r\n sectionQuestions\r\n ) {\r\n if (!this.preventDrop) {\r\n //let sQuestions = this.state.sectionQuestions;\r\n let sQuestions = sectionQuestions;\r\n let fromIndex = sQuestions.findIndex((q) => q.questionID == draggedId);\r\n let toIndex = sQuestions.findIndex((q) => q.questionID == questionId);\r\n\r\n // Prevent dropping of section on Question\r\n if (\r\n draggedSectionId &&\r\n draggedSectionId > 0 &&\r\n !draggedId &&\r\n !draggedChildQuestionId\r\n ) {\r\n this.preventDrop = true;\r\n }\r\n // Prevent dropping child question on Question\r\n else if (draggedChildQuestionId) {\r\n this.preventDrop = true;\r\n } else if (fromIndex == toIndex) {\r\n // When a dragged component is dropped on same component within same category(SECTION)\r\n this.preventDrop = true;\r\n } else if (fromIndex >= 0 && toIndex >= 0 && fromIndex != toIndex) {\r\n // Check whether section is different of dragged question and dropped question\r\n\r\n let fromSectionId = sQuestions[fromIndex].sectionID;\r\n let toSectionId = sQuestions[toIndex].sectionID;\r\n let emptyFromSectionIndex = -1;\r\n let emptyFromSection = {};\r\n let updatedSQuestions = [];\r\n\r\n // Check to not allow drop if either the source or the target section contains a restricted question\r\n if (this.preventDragAndDrop(fromSectionId) || this.preventDragAndDrop(toSectionId)) {\r\n this.preventDrop = true;\r\n return;\r\n }\r\n\r\n if (\r\n fromSectionId > 0 &&\r\n toSectionId > 0 &&\r\n fromSectionId != toSectionId\r\n ) {\r\n //If section (of Dragged question) having single question\r\n if (\r\n sQuestions.filter((sq) => sq.sectionID == fromSectionId).length == 1\r\n ) {\r\n //Get unique sections\r\n let uniqueDroppableSections = [\r\n ...new Set(sQuestions.map((item) => item.sectionID)),\r\n ];\r\n emptyFromSectionIndex = uniqueDroppableSections.findIndex(\r\n (s) => s == fromSectionId\r\n );\r\n if (\r\n this.state.templateSections &&\r\n this.state.templateSections[emptyFromSectionIndex]\r\n ) {\r\n emptyFromSection = {\r\n ...this.state.templateSections[emptyFromSectionIndex],\r\n };\r\n }\r\n }\r\n }\r\n\r\n const toIndexSQuestion = sQuestions.filter(\r\n (_, index) => index === toIndex\r\n )[0];\r\n\r\n updatedSQuestions = sQuestions.map((sQuestion, index) => {\r\n if (index === fromIndex) {\r\n return {\r\n ...sQuestion,\r\n sectionID: toIndexSQuestion.sectionID,\r\n sectionName: toIndexSQuestion.sectionName,\r\n sectionIsLocked: toIndexSQuestion.sectionIsLocked,\r\n isNewSection: toIndexSQuestion.isNewSection,\r\n sectionHighlightClass: toIndexSQuestion.sectionHighlightClass,\r\n };\r\n } else {\r\n return sQuestion;\r\n }\r\n });\r\n\r\n updatedSQuestions.splice(\r\n toIndex,\r\n 0,\r\n updatedSQuestions.splice(fromIndex, 1)[0]\r\n );\r\n\r\n // Check target section is having empty question\r\n let emptyToSectionIndex = updatedSQuestions.findIndex(\r\n (sq) => sq.sectionID == toSectionId && sq.isEmptySection\r\n );\r\n if (emptyToSectionIndex >= 0) {\r\n // Remove emtpy question from Section as new question is dropped on Section question\r\n updatedSQuestions.splice(emptyToSectionIndex, 1);\r\n }\r\n\r\n this.preventDrop = true;\r\n\r\n let uniqueSections = [\r\n ...new Set(updatedSQuestions.map((item) => item.sectionID)),\r\n ];\r\n let updatedSectionQuestions = [];\r\n uniqueSections &&\r\n uniqueSections.length > 0 &&\r\n uniqueSections.forEach((s) => {\r\n let sectionWiseQuestions = updatedSQuestions.filter(\r\n (sq) => sq.sectionID == s\r\n );\r\n if (\r\n sectionWiseQuestions &&\r\n sectionWiseQuestions.some((sq) => sq.isEmptySection)\r\n ) {\r\n //Handle Section is having empty question\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [],\r\n });\r\n } else {\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [...sectionWiseQuestions],\r\n });\r\n }\r\n });\r\n\r\n if (emptyFromSectionIndex >= 0) {\r\n emptyFromSection.questions = [];\r\n updatedSectionQuestions.splice(\r\n emptyFromSectionIndex,\r\n 0,\r\n emptyFromSection\r\n );\r\n }\r\n\r\n let sectionOrder = 0;\r\n\r\n const sortedSections = updatedSectionQuestions.map((section) => {\r\n let questions = [];\r\n let questionOrder = 0;\r\n if (section.questions.length > 0) {\r\n questions = section.questions.map((question) => {\r\n let childQuestions = [];\r\n let childQuestionOrder = 0;\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n return {\r\n ...childQuestion,\r\n questionSortOrder: ++childQuestionOrder,\r\n };\r\n }\r\n );\r\n }\r\n\r\n return {\r\n ...question,\r\n questionSortOrder: ++questionOrder,\r\n childQuestions: childQuestions,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...section,\r\n sectionSortOrder: ++sectionOrder,\r\n questions: questions,\r\n };\r\n });\r\n\r\n const isTemplateDirty =\r\n JSON.stringify(sortedSections) !==\r\n JSON.stringify(this.props.templateSections);\r\n\r\n this.setState(\r\n {\r\n templateSections: [...sortedSections],\r\n isTemplateDirty: isTemplateDirty,\r\n },\r\n this.saveEditedCustomPsqTemplate\r\n );\r\n } else if (fromIndex == -1 && toIndex >= 0) {\r\n // When a dragged component is dropped in different category(AVAILABLE QUESTION TO SECTION category)\r\n // and that dragged component has not dropped on another component in different category\r\n // but that that dragged component has dropped on empty area of panel\r\n let aQuestions = this.state.availableQuestionDetail;\r\n let otherCategoryFromIndex =\r\n aQuestions && aQuestions.findIndex((q) => q.questionID == draggedId);\r\n if (otherCategoryFromIndex >= 0) {\r\n let sQuestions = sectionQuestions;\r\n\r\n let draggedQuestion = {\r\n ...aQuestions.find((q) => q.questionID == draggedId),\r\n };\r\n if (draggedQuestion) {\r\n draggedQuestion.category = 'sectionquestion';\r\n draggedQuestion.sectionID = sQuestions[toIndex].sectionID;\r\n draggedQuestion.sectionName = sQuestions[toIndex].sectionName;\r\n draggedQuestion.sectionIsLocked =\r\n sQuestions[toIndex].sectionIsLocked;\r\n draggedQuestion.isNewSection = sQuestions[toIndex].isNewSection;\r\n draggedQuestion.sectionHighlightClass =\r\n sQuestions[toIndex].sectionHighlightClass;\r\n sQuestions.splice(toIndex, 0, draggedQuestion);\r\n }\r\n\r\n let uniqueSections = [\r\n ...new Set(sQuestions.map((item) => item.sectionID)),\r\n ];\r\n let updatedSectionQuestions = [];\r\n uniqueSections &&\r\n uniqueSections.length > 0 &&\r\n uniqueSections.forEach((s) => {\r\n let sectionWiseQuestions = sQuestions.filter(\r\n (sq) => sq.sectionID == s\r\n );\r\n if (\r\n sectionWiseQuestions &&\r\n sectionWiseQuestions.some((sq) => sq.isEmptySection)\r\n ) {\r\n //Handle Section is having empty question\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [],\r\n });\r\n } else {\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [...sectionWiseQuestions],\r\n });\r\n }\r\n });\r\n\r\n // Remove Question from other Category\r\n aQuestions = aQuestions.filter((q) => q.questionID != draggedId);\r\n\r\n this.preventDrop = true;\r\n\r\n let sectionOrder = 0;\r\n\r\n const sortedSections = updatedSectionQuestions.map((section) => {\r\n let questions = [];\r\n let questionOrder = 0;\r\n if (section.questions.length > 0) {\r\n questions = section.questions.map((question) => {\r\n let childQuestions = [];\r\n let childQuestionOrder = 0;\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n return {\r\n ...childQuestion,\r\n questionSortOrder: ++childQuestionOrder,\r\n };\r\n }\r\n );\r\n }\r\n\r\n return {\r\n ...question,\r\n questionSortOrder: ++questionOrder,\r\n childQuestions: childQuestions,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...section,\r\n sectionSortOrder: ++sectionOrder,\r\n questions: questions,\r\n };\r\n });\r\n\r\n const isTemplateDirty =\r\n JSON.stringify(sortedSections) !==\r\n JSON.stringify(this.props.templateSections);\r\n\r\n this.setState(\r\n {\r\n templateSections: [...sortedSections],\r\n availableQuestionDetail: [...aQuestions],\r\n isTemplateDirty: isTemplateDirty,\r\n },\r\n this.saveEditedCustomPsqTemplate\r\n );\r\n\r\n let updatedQuestions = this.state.allAvailableQuestions.slice();\r\n const index = updatedQuestions.findIndex(\r\n (q) => q.questionID === draggedQuestion.questionID\r\n );\r\n updatedQuestions.splice(index, 1);\r\n\r\n updatedQuestions.sort(\r\n (a, b) => parseInt(a.questionID) - parseInt(b.questionID)\r\n );\r\n\r\n this.setState({ allAvailableQuestions: updatedQuestions });\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Handle onDrop event for Available Question category\r\n handleQuestionDropComponentForAvailableQuestionCategory(\r\n questionId,\r\n draggedId,\r\n draggedSectionId,\r\n draggedChildQuestionId,\r\n sectionQuestions\r\n ) {\r\n let aQuestions = this.state.availableQuestionDetail;\r\n let fromIndex = aQuestions.findIndex((q) => q.questionID == draggedId);\r\n let toIndex = aQuestions.findIndex((q) => q.questionID == questionId);\r\n\r\n // Prevent dropping section on available question\r\n if (!draggedId) {\r\n this.preventDrop = true;\r\n } else if (\r\n draggedId <= 0 &&\r\n fromIndex == -1 &&\r\n !sectionQuestions.some((q) => q.questionID == draggedId)\r\n ) {\r\n this.preventDrop = true;\r\n }\r\n // Prevent dropping child question on available question\r\n else if (draggedChildQuestionId) {\r\n this.preventDrop = true;\r\n }\r\n // When a dragged component is dropped on same component within same category(AVAILABLE QUESTION)\r\n else if (fromIndex == toIndex) {\r\n this.preventDrop = true;\r\n }\r\n // When a dragged component is dropped on different component within same category(AVAILABLE QUESTION)\r\n else if (fromIndex >= 0 && toIndex >= 0 && fromIndex != toIndex) {\r\n aQuestions.splice(toIndex, 0, aQuestions.splice(fromIndex, 1)[0]);\r\n\r\n this.preventDrop = true;\r\n\r\n this.setState({\r\n availableQuestionDetail: [...aQuestions],\r\n });\r\n } else if (fromIndex == -1 && toIndex >= 0) {\r\n // When a dragged component is dropped in different category(SECTION TO AVAILABLE QUESTION category)\r\n\r\n let sQuestions = sectionQuestions;\r\n let otherCategoryFromIndex = sQuestions.findIndex(\r\n (q) => q.questionID == draggedId\r\n );\r\n if (otherCategoryFromIndex >= 0) {\r\n let aQuestions = this.state.availableQuestionDetail;\r\n let emptyFromSectionIndex = -1;\r\n let emptyFromSection = {};\r\n\r\n let draggedQuestion = {\r\n ...sQuestions.find((q) => q.questionID == draggedId),\r\n };\r\n if (draggedQuestion) {\r\n let fromSectionId = draggedQuestion.sectionID;\r\n\r\n // Check to not allow drop if the source section contains a restricted question\r\n if (this.preventDragAndDrop(fromSectionId)) {\r\n this.preventDrop = true;\r\n return;\r\n }\r\n\r\n //If section (of Dragged question) having single question\r\n if (\r\n sQuestions.filter((sq) => sq.sectionID == fromSectionId).length == 1\r\n ) {\r\n //Get unique sections\r\n let uniqueDroppableSections = [\r\n ...new Set(sQuestions.map((item) => item.sectionID)),\r\n ];\r\n emptyFromSectionIndex = uniqueDroppableSections.findIndex(\r\n (s) => s == fromSectionId\r\n );\r\n if (\r\n this.state.templateSections &&\r\n this.state.templateSections[emptyFromSectionIndex]\r\n ) {\r\n emptyFromSection = {\r\n ...this.state.templateSections[emptyFromSectionIndex],\r\n };\r\n }\r\n }\r\n\r\n draggedQuestion.category = 'availablequestion';\r\n aQuestions.splice(toIndex, 0, draggedQuestion);\r\n }\r\n\r\n // Remove Question from other Category\r\n sQuestions = sQuestions.filter((q) => q.questionID != draggedId);\r\n\r\n let uniqueSections = [\r\n ...new Set(sQuestions.map((item) => item.sectionID)),\r\n ];\r\n let updatedSectionQuestions = [];\r\n uniqueSections &&\r\n uniqueSections.length > 0 &&\r\n uniqueSections.forEach((s) => {\r\n let sectionWiseQuestions = sQuestions.filter(\r\n (sq) => sq.sectionID == s\r\n );\r\n if (\r\n sectionWiseQuestions &&\r\n sectionWiseQuestions.some((sq) => sq.isEmptySection)\r\n ) {\r\n //Handle Section is having empty question\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [],\r\n });\r\n } else {\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [...sectionWiseQuestions],\r\n });\r\n }\r\n });\r\n if (emptyFromSectionIndex >= 0) {\r\n emptyFromSection.questions = [];\r\n updatedSectionQuestions.splice(\r\n emptyFromSectionIndex,\r\n 0,\r\n emptyFromSection\r\n );\r\n }\r\n\r\n this.preventDrop = true;\r\n\r\n let sectionOrder = 0;\r\n\r\n const sortedSections = updatedSectionQuestions.map((section) => {\r\n let questions = [];\r\n let questionOrder = 0;\r\n if (section.questions.length > 0) {\r\n questions = section.questions.map((question) => {\r\n let childQuestions = [];\r\n let childQuestionOrder = 0;\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n return {\r\n ...childQuestion,\r\n questionSortOrder: ++childQuestionOrder,\r\n };\r\n }\r\n );\r\n }\r\n\r\n return {\r\n ...question,\r\n questionSortOrder: ++questionOrder,\r\n childQuestions: childQuestions,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...section,\r\n sectionSortOrder: ++sectionOrder,\r\n questions: questions,\r\n };\r\n });\r\n\r\n const isTemplateDirty =\r\n JSON.stringify(sortedSections) !==\r\n JSON.stringify(this.props.templateSections);\r\n\r\n this.setState(\r\n {\r\n templateSections: [...sortedSections],\r\n availableQuestionDetail: [...aQuestions],\r\n isTemplateDirty: isTemplateDirty,\r\n },\r\n this.saveEditedCustomPsqTemplate\r\n );\r\n\r\n let updatedQuestions = this.state.allAvailableQuestions.slice();\r\n updatedQuestions.push(draggedQuestion);\r\n\r\n updatedQuestions.sort(\r\n (a, b) => parseInt(a.questionID) - parseInt(b.questionID)\r\n );\r\n\r\n this.setState({ allAvailableQuestions: updatedQuestions });\r\n }\r\n }\r\n }\r\n\r\n // Handle onDrop event for Child Question category\r\n handleQuestionDropComponentForSectionChildQuestionCategory(\r\n questionId,\r\n draggedId,\r\n draggedSectionId,\r\n draggedChildQuestionId,\r\n sectionQuestions\r\n ) {\r\n let sQuestions = sectionQuestions;\r\n\r\n // Get child questions list based on parent question id\r\n let parentQuestion =\r\n sQuestions && sectionQuestions.find((sq) => sq.questionID == draggedId);\r\n //Prevent dropping of Section on Child question\r\n if (\r\n draggedSectionId &&\r\n draggedSectionId > 0 &&\r\n !draggedId &&\r\n !draggedChildQuestionId\r\n ) {\r\n this.preventDrop = true;\r\n } else if (\r\n parentQuestion &&\r\n parentQuestion.childQuestions &&\r\n parentQuestion.childQuestions.length > 0 &&\r\n parentQuestion.childQuestions.some((cq) => cq.questionID == questionId)\r\n ) {\r\n let fromIndex = parentQuestion.childQuestions.findIndex(\r\n (q) => q.questionID == draggedChildQuestionId\r\n );\r\n let toIndex = parentQuestion.childQuestions.findIndex(\r\n (q) => q.questionID == questionId\r\n );\r\n\r\n // When a dragged component is dropped on same component within same category(CHILD QUESTION)\r\n if (fromIndex == toIndex) {\r\n this.preventDrop = true;\r\n }\r\n // When a dragged component is dropped on different component within same category(CHILD QUESTION)\r\n else if (fromIndex >= 0 && toIndex >= 0 && fromIndex != toIndex) {\r\n\r\n const updatedChildQuestions = parentQuestion.childQuestions.slice();\r\n updatedChildQuestions.splice(\r\n toIndex,\r\n 0,\r\n updatedChildQuestions.splice(fromIndex, 1)[0]\r\n );\r\n\r\n const updatedSQuestions = sQuestions.map((sQuestion) => {\r\n if (sQuestion.questionID === parseInt(draggedId)) {\r\n return {\r\n ...sQuestion,\r\n childQuestions: updatedChildQuestions,\r\n };\r\n } else {\r\n return sQuestion;\r\n }\r\n });\r\n\r\n this.preventDrop = true;\r\n\r\n let uniqueSections = [\r\n ...new Set(updatedSQuestions.map((item) => item.sectionID)),\r\n ];\r\n let updatedSectionQuestions = [];\r\n uniqueSections &&\r\n uniqueSections.length > 0 &&\r\n uniqueSections.forEach((s) => {\r\n let sectionWiseQuestions = updatedSQuestions.filter(\r\n (sq) => sq.sectionID == s\r\n );\r\n if (\r\n sectionWiseQuestions &&\r\n sectionWiseQuestions.some((sq) => sq.isEmptySection)\r\n ) {\r\n //Handle Section is having empty question\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [],\r\n });\r\n } else {\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [...sectionWiseQuestions],\r\n });\r\n }\r\n });\r\n let sectionOrder = 0;\r\n\r\n const sortedSections = updatedSectionQuestions.map((section) => {\r\n let questions = [];\r\n let questionOrder = 0;\r\n if (section.questions.length > 0) {\r\n questions = section.questions.map((question) => {\r\n let childQuestions = [];\r\n let childQuestionOrder = 0;\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n return {\r\n ...childQuestion,\r\n questionSortOrder: ++childQuestionOrder,\r\n };\r\n }\r\n );\r\n }\r\n\r\n return {\r\n ...question,\r\n questionSortOrder: ++questionOrder,\r\n childQuestions: childQuestions,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...section,\r\n sectionSortOrder: ++sectionOrder,\r\n questions: questions,\r\n };\r\n });\r\n\r\n const isTemplateDirty =\r\n JSON.stringify(sortedSections) !==\r\n JSON.stringify(this.props.templateSections);\r\n\r\n const successStateObj = {\r\n tempTemplateStateOnChildQuestionRearrange: [...sortedSections],\r\n tempisTemplateDirtyStateOnChildQuestionRearrange: isTemplateDirty,\r\n parentQuestionOfTheChildQuestionsRearranged: parentQuestion\r\n };\r\n\r\n if (parentQuestion.isLocked) {\r\n successStateObj.showStandardChildQuestionsRearrangeWarningModal = true;\r\n this.setState(successStateObj);\r\n } else {\r\n this.getLockStatusForQuestion(questionId, this.state.templateId, this.props.clientId, 'Rearrange children', successStateObj, this.updateChildQuestionSortOrder);\r\n }\r\n }\r\n } else {\r\n // Both children questions are not from same parent question\r\n this.preventDrop = true;\r\n }\r\n }\r\n\r\n // Handle onDrop event for Section/ Available Question - When Question component is dropped on another Question component\r\n handleQuestionDropComponent(ev, category, questionId) {\r\n if (!this.preventDrop) {\r\n // Get dragged component(Question) id\r\n let draggedId = ev.dataTransfer.getData('id');\r\n // Get dragged component(Section) id\r\n let draggedSectionId = ev.dataTransfer.getData('sectionId');\r\n // Get dragged component(Child question) id\r\n let draggedChildQuestionId = ev.dataTransfer.getData('childQuestionId');\r\n\r\n // Prevent dropping of component on section(or its questions) having questions of type \"psq section 2 additional services\" or \"psq section 2 property manager\"\r\n let shouldPreventDrop = this.getPreventDropFlagOnDropEvent(category, questionId);\r\n if (shouldPreventDrop) {\r\n this.preventDrop = true;\r\n return;\r\n }\r\n\r\n // Transform question to format required by Drag and Drop components\r\n let sections = this.state.templateSections;\r\n\r\n let sectionQuestions = [];\r\n if (sections && sections.length > 0) {\r\n sections.map((sectionItem) => {\r\n if (!sectionItem.questions || sectionItem.questions.length == 0) {\r\n sectionQuestions.push({\r\n category: 'sectionquestion',\r\n sectionID: sectionItem.sectionID,\r\n sectionName: sectionItem.sectionName,\r\n sectionIsLocked: sectionItem.sectionIsLocked,\r\n isNewSection: sectionItem.isNewSection,\r\n sectionHighlightClass: sectionItem.sectionHighlightClass,\r\n questionID: '-1',\r\n isEmptySection: true,\r\n });\r\n }\r\n sectionQuestions.push(...sectionItem.questions);\r\n });\r\n }\r\n\r\n if (category == 'section') {\r\n this.handleQuestionDropComponentForSectionCategory(\r\n questionId,\r\n draggedId,\r\n draggedSectionId,\r\n draggedChildQuestionId,\r\n sectionQuestions\r\n );\r\n } else if (category == 'sectionquestion') {\r\n this.handleQuestionDropComponentForSectionQuestionCategory(\r\n questionId,\r\n draggedId,\r\n draggedSectionId,\r\n draggedChildQuestionId,\r\n sectionQuestions\r\n );\r\n } else if (category == 'availablequestion') {\r\n this.handleQuestionDropComponentForAvailableQuestionCategory(\r\n questionId,\r\n draggedId,\r\n draggedSectionId,\r\n draggedChildQuestionId,\r\n sectionQuestions\r\n );\r\n } else if (category == 'sectionchildquestion') {\r\n this.handleQuestionDropComponentForSectionChildQuestionCategory(\r\n questionId,\r\n draggedId,\r\n draggedSectionId,\r\n draggedChildQuestionId,\r\n sectionQuestions\r\n );\r\n } else if (category == 'sectioncomment') {\r\n this.handleQuestionDropComponentForSectionCommentCategory(\r\n questionId,\r\n draggedId,\r\n draggedSectionId,\r\n draggedChildQuestionId,\r\n sectionQuestions\r\n );\r\n }\r\n }\r\n }\r\n\r\n // Handle Drop Panel for Section Question Category\r\n handleQuestionDropPanelForSectionQuestionCategory(\r\n id,\r\n draggedSectionId,\r\n draggedChildQuestionId,\r\n sectionQuestions\r\n ) {\r\n // If component is dropped on template panel then\r\n // Avoid dropping question, child question from template panel or quetion from available question\r\n // And only allow Section to drop on template pane;\r\n if (\r\n !id ||\r\n (!sectionQuestions.some((q) => q.questionID == id) &&\r\n !this.state.availableQuestionDetail.some((q) => q.questionID == id))\r\n ) {\r\n // Drop Section at end of all Sections\r\n let sections = this.state.templateSections;\r\n let toIndex = (sections && sections.length - 1) || 0;\r\n let fromIndex =\r\n sections && sections.findIndex((q) => q.sectionID == draggedSectionId);\r\n\r\n if (fromIndex >= 0 && toIndex >= 0 && fromIndex != toIndex) {\r\n sections.splice(toIndex, 0, sections.splice(fromIndex, 1)[0]);\r\n\r\n let sectionOrder = 0;\r\n\r\n const sortedSections = sections.map((section) => {\r\n let questions = [];\r\n let questionOrder = 0;\r\n if (section.questions.length > 0) {\r\n questions = section.questions.map((question) => {\r\n let childQuestions = [];\r\n let childQuestionOrder = 0;\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n return {\r\n ...childQuestion,\r\n questionSortOrder: ++childQuestionOrder,\r\n };\r\n }\r\n );\r\n }\r\n\r\n return {\r\n ...question,\r\n questionSortOrder: ++questionOrder,\r\n childQuestions: childQuestions,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...section,\r\n sectionSortOrder: ++sectionOrder,\r\n questions: questions,\r\n };\r\n });\r\n\r\n const isTemplateDirty =\r\n JSON.stringify(sortedSections) !==\r\n JSON.stringify(this.props.templateSections);\r\n\r\n this.setState(\r\n {\r\n templateSections: [...sortedSections],\r\n isTemplateDirty: isTemplateDirty,\r\n },\r\n this.saveEditedCustomPsqTemplate\r\n );\r\n }\r\n }\r\n }\r\n\r\n // Handle Drop Panel for Available Question Category\r\n handleQuestionDropPanelForAvailableQuestionCategory(\r\n category,\r\n id,\r\n draggedSectionId,\r\n draggedChildQuestionId,\r\n sectionQuestions\r\n ) {\r\n //If section is dropped on available question then avoid drop\r\n if (\r\n draggedSectionId &&\r\n draggedSectionId > 0 &&\r\n (!id || !sectionQuestions.some((q) => q.questionID == id))\r\n ) {\r\n // Prevent dropping of section on available question panel\r\n } else if (draggedChildQuestionId) {\r\n // Prevent dropping of child question on available question panel\r\n }\r\n\r\n // When a dragged component is dropped in same category (AVAILABLE QUESTION)\r\n // and that dragged component has not dropped on another component in same category\r\n // but that that dragged component has dropped on empty area of panel\r\n else if (\r\n this.state.availableQuestionDetail &&\r\n this.state.availableQuestionDetail.some((q) => q.questionID == id)\r\n ) {\r\n let aQuestions = this.state.availableQuestionDetail;\r\n\r\n let draggedQuestionIndex = this.state.availableQuestionDetail.findIndex(\r\n (q) => q.questionID == id\r\n );\r\n if (draggedQuestionIndex >= 0) {\r\n aQuestions.push(aQuestions.splice(draggedQuestionIndex, 1)[0]);\r\n\r\n this.setState({\r\n availableQuestionDetail: [...aQuestions],\r\n });\r\n }\r\n } else {\r\n // When a dragged component is dropped from one category(SECTION) to another category(AVAILABLE QUESTION)\r\n // and that dragged component has not dropped on another component in another category\r\n // but that that dragged component has dropped on empty area of panel\r\n\r\n let sQuestions = sectionQuestions;\r\n let aQuestions = this.state.availableQuestionDetail\r\n ? this.state.availableQuestionDetail\r\n : [];\r\n let emptyFromSectionIndex = -1;\r\n let emptyFromSection = {};\r\n let draggedQuestion = { ...sQuestions.find((q) => q.questionID == id) };\r\n if (draggedQuestion) {\r\n let fromSectionId = draggedQuestion.sectionID;\r\n\r\n // Check to not allow drop if the source section contains a restricted question\r\n if (this.preventDragAndDrop(fromSectionId)) {\r\n this.preventDrop = true;\r\n return;\r\n }\r\n\r\n //If section (of Dragged question) having single question\r\n if (\r\n sQuestions.filter((sq) => sq.sectionID == fromSectionId).length == 1\r\n ) {\r\n //Get unique sections\r\n let uniqueDroppableSections = [\r\n ...new Set(sQuestions.map((item) => item.sectionID)),\r\n ];\r\n emptyFromSectionIndex = uniqueDroppableSections.findIndex(\r\n (s) => s == fromSectionId\r\n );\r\n if (\r\n this.state.templateSections &&\r\n this.state.templateSections[emptyFromSectionIndex]\r\n ) {\r\n emptyFromSection = {\r\n ...this.state.templateSections[emptyFromSectionIndex],\r\n };\r\n }\r\n }\r\n\r\n draggedQuestion.category = category;\r\n draggedQuestion.sectionID = -1;\r\n draggedQuestion.sectionName = '';\r\n aQuestions.push(draggedQuestion);\r\n }\r\n\r\n // Remove Question\r\n sQuestions = sQuestions.filter((q) => q.questionID != id);\r\n let uniqueSections = [\r\n ...new Set(sQuestions.map((item) => item.sectionID)),\r\n ];\r\n let updatedSectionQuestions = [];\r\n uniqueSections &&\r\n uniqueSections.length > 0 &&\r\n uniqueSections.forEach((s) => {\r\n let sectionWiseQuestions = sQuestions.filter(\r\n (sq) => sq.sectionID == s\r\n );\r\n if (\r\n sectionWiseQuestions &&\r\n sectionWiseQuestions.some((sq) => sq.isEmptySection)\r\n ) {\r\n //Handle Section is having empty question\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [],\r\n });\r\n } else {\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [...sectionWiseQuestions],\r\n });\r\n }\r\n });\r\n if (emptyFromSectionIndex >= 0) {\r\n emptyFromSection.questions = [];\r\n updatedSectionQuestions.splice(\r\n emptyFromSectionIndex,\r\n 0,\r\n emptyFromSection\r\n );\r\n }\r\n\r\n let sectionOrder = 0;\r\n\r\n const sortedSections = updatedSectionQuestions.map((section) => {\r\n let questions = [];\r\n let questionOrder = 0;\r\n if (section.questions.length > 0) {\r\n questions = section.questions.map((question) => {\r\n let childQuestions = [];\r\n let childQuestionOrder = 0;\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map((childQuestion) => {\r\n return {\r\n ...childQuestion,\r\n questionSortOrder: ++childQuestionOrder,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...question,\r\n questionSortOrder: ++questionOrder,\r\n childQuestions: childQuestions,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...section,\r\n sectionSortOrder: ++sectionOrder,\r\n questions: questions,\r\n };\r\n });\r\n\r\n const isTemplateDirty =\r\n JSON.stringify(sortedSections) !==\r\n JSON.stringify(this.props.templateSections);\r\n\r\n this.setState(\r\n {\r\n templateSections: sortedSections,\r\n availableQuestionDetail: [...aQuestions],\r\n isTemplateDirty: isTemplateDirty,\r\n },\r\n this.saveEditedCustomPsqTemplate\r\n );\r\n\r\n let updatedQuestions = this.state.allAvailableQuestions.slice();\r\n updatedQuestions.push(draggedQuestion);\r\n\r\n updatedQuestions.sort(\r\n (a, b) => parseInt(a.questionID) - parseInt(b.questionID)\r\n );\r\n\r\n this.setState({ allAvailableQuestions: updatedQuestions });\r\n }\r\n }\r\n\r\n // Handle onDrop event for Section Comment category\r\n handleQuestionDropComponentForSectionCommentCategory(\r\n questionId,\r\n draggedId,\r\n draggedSectionId,\r\n draggedChildQuestionId,\r\n sectionQuestions\r\n ) {\r\n if (!this.preventDrop) {\r\n let sQuestions = sectionQuestions;\r\n\r\n // Prevent dropping child question on Section coment\r\n if (draggedChildQuestionId) {\r\n this.preventDrop = true;\r\n }\r\n // If question from available question category is dropped on Section comment\r\n else if (!draggedSectionId || draggedSectionId <= 0) {\r\n // Get index based on section id\r\n let toIndex = sQuestions.findIndex((q) => q.sectionID == questionId);\r\n let sectionQuestionsCount = sQuestions.filter(\r\n (q) => q.sectionID == questionId\r\n ).length;\r\n if (toIndex >= 0) {\r\n let aQuestions = this.state.availableQuestionDetail;\r\n let draggedQuestion = {\r\n ...aQuestions.find((q) => q.questionID == draggedId),\r\n };\r\n if (draggedQuestion) {\r\n draggedQuestion.category = 'sectionquestion';\r\n draggedQuestion.sectionID = sQuestions[toIndex].sectionID;\r\n draggedQuestion.sectionName = sQuestions[toIndex].sectionName;\r\n draggedQuestion.sectionIsLocked =\r\n sQuestions[toIndex].sectionIsLocked;\r\n draggedQuestion.isNewSection = sQuestions[toIndex].isNewSection;\r\n draggedQuestion.sectionHighlightClass =\r\n sQuestions[toIndex].sectionHighlightClass;\r\n sQuestions.splice(\r\n toIndex + sectionQuestionsCount,\r\n 0,\r\n draggedQuestion\r\n );\r\n }\r\n\r\n // Check target section is having empty question\r\n if (sQuestions[toIndex].isEmptySection) {\r\n // Remove emtpy question from Section as new question is dropped on Section\r\n sQuestions.splice(toIndex, 1);\r\n }\r\n\r\n let uniqueSections = [\r\n ...new Set(sQuestions.map((item) => item.sectionID)),\r\n ];\r\n\r\n let updatedSectionQuestions = [];\r\n uniqueSections &&\r\n uniqueSections.length > 0 &&\r\n uniqueSections.forEach((s) => {\r\n let sectionWiseQuestions = sQuestions.filter(\r\n (sq) => sq.sectionID == s\r\n );\r\n if (\r\n sectionWiseQuestions &&\r\n sectionWiseQuestions.some((sq) => sq.isEmptySection)\r\n ) {\r\n //Handle Section is having empty question\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [],\r\n });\r\n } else {\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [...sectionWiseQuestions],\r\n });\r\n }\r\n });\r\n\r\n // Remove Question from other Category\r\n aQuestions = aQuestions.filter((q) => q.questionID != draggedId);\r\n\r\n this.preventDrop = true;\r\n\r\n let sectionOrder = 0;\r\n\r\n const sortedSections = updatedSectionQuestions.map((section) => {\r\n let questions = [];\r\n let questionOrder = 0;\r\n if (section.questions.length > 0) {\r\n questions = section.questions.map((question) => {\r\n let childQuestions = [];\r\n let childQuestionOrder = 0;\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n return {\r\n ...childQuestion,\r\n questionSortOrder: ++childQuestionOrder,\r\n };\r\n }\r\n );\r\n }\r\n\r\n return {\r\n ...question,\r\n questionSortOrder: ++questionOrder,\r\n childQuestions: childQuestions,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...section,\r\n sectionSortOrder: ++sectionOrder,\r\n questions: questions,\r\n };\r\n });\r\n\r\n const isTemplateDirty =\r\n JSON.stringify(sortedSections) !==\r\n JSON.stringify(this.props.templateSections);\r\n\r\n this.setState(\r\n {\r\n templateSections: [...sortedSections],\r\n availableQuestionDetail: [...aQuestions],\r\n isTemplateDirty: isTemplateDirty,\r\n },\r\n this.saveEditedCustomPsqTemplate\r\n );\r\n\r\n let updatedQuestions = this.state.allAvailableQuestions.slice();\r\n const index = updatedQuestions.findIndex(\r\n (q) => q.questionID === draggedQuestion.questionID\r\n );\r\n updatedQuestions.splice(index, 1);\r\n\r\n updatedQuestions.sort(\r\n (a, b) => parseInt(a.questionID) - parseInt(b.questionID)\r\n );\r\n\r\n this.setState({ allAvailableQuestions: updatedQuestions });\r\n } else {\r\n this.preventDrop = true;\r\n }\r\n }\r\n // Question from section category is dropped on Section comment\r\n else if (draggedId && sQuestions.some((q) => q.questionID == draggedId)) {\r\n let fromIndex = sQuestions.findIndex((q) => q.questionID == draggedId);\r\n // Get index based on section id\r\n let toIndex = sQuestions.findIndex((q) => q.sectionID == questionId);\r\n let sectionQuestionsCount = sQuestions.filter(\r\n (q) => q.sectionID == questionId\r\n ).length;\r\n\r\n // Update toIndex\r\n toIndex = toIndex + (sectionQuestionsCount - 1);\r\n\r\n if (fromIndex == toIndex) {\r\n // Prevent drop as Index is same\r\n this.preventDrop = true;\r\n } else if (fromIndex >= 0 && toIndex >= 0 && fromIndex != toIndex) {\r\n // Section comment index is different\r\n\r\n let fromSectionId = sQuestions[fromIndex].sectionID;\r\n let toSectionId = sQuestions[toIndex].sectionID;\r\n let emptyFromSectionIndex = -1;\r\n let emptyFromSection = {};\r\n let updatedSQuestions = [];\r\n\r\n // Check to not allow drop if either the source or the target section contains a restricted question\r\n if (this.preventDragAndDrop(fromSectionId) || this.preventDragAndDrop(toSectionId)) {\r\n this.preventDrop = true;\r\n return;\r\n }\r\n\r\n if (\r\n fromSectionId > 0 &&\r\n toSectionId > 0 &&\r\n fromSectionId != toSectionId\r\n ) {\r\n //If section (of Dragged question) having single question\r\n if (\r\n sQuestions.filter((sq) => sq.sectionID == fromSectionId).length ==\r\n 1\r\n ) {\r\n //Get unique sections\r\n let uniqueDroppableSections = [\r\n ...new Set(sQuestions.map((item) => item.sectionID)),\r\n ];\r\n emptyFromSectionIndex = uniqueDroppableSections.findIndex(\r\n (s) => s == fromSectionId\r\n );\r\n if (\r\n this.state.templateSections &&\r\n this.state.templateSections[emptyFromSectionIndex]\r\n ) {\r\n emptyFromSection = {\r\n ...this.state.templateSections[emptyFromSectionIndex],\r\n };\r\n }\r\n }\r\n }\r\n\r\n const toIndexSQuestion = sQuestions.filter(\r\n (_, index) => index === toIndex\r\n )[0];\r\n\r\n updatedSQuestions = sQuestions.map((sQuestion, index) => {\r\n if (index === fromIndex) {\r\n return {\r\n ...sQuestion,\r\n sectionID: toIndexSQuestion.sectionID,\r\n sectionName: toIndexSQuestion.sectionName,\r\n sectionIsLocked: toIndexSQuestion.sectionIsLocked,\r\n isNewSection: toIndexSQuestion.isNewSection,\r\n sectionHighlightClass: toIndexSQuestion.sectionHighlightClass,\r\n };\r\n } else {\r\n return sQuestion;\r\n }\r\n });\r\n\r\n updatedSQuestions.splice(\r\n toIndex < fromIndex\r\n ? toIndex + sectionQuestionsCount\r\n : toIndex + sectionQuestionsCount - 1,\r\n 0,\r\n updatedSQuestions.splice(fromIndex, 1)[0]\r\n );\r\n\r\n // Check target section is having empty question\r\n let emptyToSectionIndex = updatedSQuestions.findIndex(\r\n (sq) => sq.sectionID == toSectionId && sq.isEmptySection\r\n );\r\n if (emptyToSectionIndex >= 0) {\r\n // Remove emtpy question from Section as new question is dropped on Section\r\n updatedSQuestions.splice(emptyToSectionIndex, 1);\r\n }\r\n\r\n let uniqueSections = [\r\n ...new Set(updatedSQuestions.map((item) => item.sectionID)),\r\n ];\r\n let updatedSectionQuestions = [];\r\n uniqueSections &&\r\n uniqueSections.length > 0 &&\r\n uniqueSections.forEach((s) => {\r\n let sectionWiseQuestions = updatedSQuestions.filter(\r\n (sq) => sq.sectionID == s\r\n );\r\n if (\r\n sectionWiseQuestions &&\r\n sectionWiseQuestions.some((sq) => sq.isEmptySection)\r\n ) {\r\n //Handle Section is having empty question\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [],\r\n });\r\n } else {\r\n updatedSectionQuestions.push({\r\n sectionID: sectionWiseQuestions[0].sectionID,\r\n sectionName: sectionWiseQuestions[0].sectionName,\r\n sectionIsLocked: sectionWiseQuestions[0].sectionIsLocked,\r\n isNewSection: sectionWiseQuestions[0].isNewSection,\r\n sectionHighlightClass:\r\n sectionWiseQuestions[0].sectionHighlightClass,\r\n questions: [...sectionWiseQuestions],\r\n });\r\n }\r\n });\r\n\r\n if (emptyFromSectionIndex >= 0) {\r\n emptyFromSection.questions = [];\r\n updatedSectionQuestions.splice(\r\n emptyFromSectionIndex,\r\n 0,\r\n emptyFromSection\r\n );\r\n }\r\n\r\n let sectionOrder = 0;\r\n\r\n const sortedSections = updatedSectionQuestions.map((section) => {\r\n let questions = [];\r\n let questionOrder = 0;\r\n if (section.questions.length > 0) {\r\n questions = section.questions.map((question) => {\r\n let childQuestions = [];\r\n let childQuestionOrder = 0;\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n return {\r\n ...childQuestion,\r\n questionSortOrder: ++childQuestionOrder,\r\n };\r\n }\r\n );\r\n }\r\n\r\n return {\r\n ...question,\r\n questionSortOrder: ++questionOrder,\r\n childQuestions: childQuestions,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...section,\r\n sectionSortOrder: ++sectionOrder,\r\n questions: questions,\r\n };\r\n });\r\n\r\n this.preventDrop = true;\r\n\r\n const isTemplateDirty =\r\n JSON.stringify(sortedSections) !==\r\n JSON.stringify(this.props.templateSections);\r\n\r\n this.setState(\r\n {\r\n templateSections: [...sortedSections],\r\n isTemplateDirty: isTemplateDirty,\r\n },\r\n this.saveEditedCustomPsqTemplate\r\n );\r\n }\r\n } else if (draggedSectionId && draggedSectionId > 0) {\r\n // Prevent dropping Section on Section Comment\r\n this.preventDrop = true;\r\n } else {\r\n this.preventDrop = true;\r\n }\r\n }\r\n }\r\n\r\n // Handle Drop Panel\r\n handleQuestionDropPanel(ev, category) {\r\n if (this.preventDrop) {\r\n // Prevent onDrop of Parent\r\n this.preventDrop = false;\r\n } else {\r\n // Get id of dragged component(Question) id\r\n let id = ev.dataTransfer.getData('id');\r\n // Get id of dragged component(Section) id\r\n let draggedSectionId = ev.dataTransfer.getData('sectionId');\r\n // Get id of dragged component(Child Question) id\r\n let draggedChildQuestionId = ev.dataTransfer.getData('childQuestionId');\r\n let sections = this.state.templateSections;\r\n let sectionQuestions = [];\r\n\r\n if (sections && sections.length > 0) {\r\n sections.map((sectionItem) => {\r\n if (!sectionItem.questions || sectionItem.questions.length == 0) {\r\n sectionQuestions.push({\r\n category: 'sectionquestion',\r\n sectionID: sectionItem.sectionID,\r\n sectionName: sectionItem.sectionName,\r\n sectionIsLocked: sectionItem.sectionIsLocked,\r\n isNewSection: sectionItem.isNewSection,\r\n sectionHighlightClass: sectionItem.sectionHighlightClass,\r\n questionID: '-1',\r\n isEmptySection: true,\r\n });\r\n }\r\n sectionQuestions.push(...sectionItem.questions);\r\n });\r\n }\r\n\r\n if (category == 'sectionquestion') {\r\n this.handleQuestionDropPanelForSectionQuestionCategory(\r\n id,\r\n draggedSectionId,\r\n draggedChildQuestionId,\r\n sectionQuestions\r\n );\r\n } else if (category == 'availablequestion') {\r\n this.handleQuestionDropPanelForAvailableQuestionCategory(\r\n category,\r\n id,\r\n draggedSectionId,\r\n draggedChildQuestionId,\r\n sectionQuestions\r\n );\r\n }\r\n }\r\n }\r\n\r\n getQuestionById(item) {\r\n this.props.customChecklistTemplateActions\r\n .fetchQuestionById(\r\n this.props.clientId,\r\n this.state.checklistTypeID,\r\n item.category === 'sectionquestion' ? this.state.templateId : null,\r\n item.questionID\r\n )\r\n .then((data) => {\r\n if (item.accordionCategory == 'childQuestion') {\r\n // If child question then fetch the parent question\r\n this.props.customChecklistTemplateActions\r\n .fetchQuestionById(\r\n this.props.clientId,\r\n this.state.checklistTypeID,\r\n item.category === 'sectionquestion'\r\n ? this.state.templateId\r\n : null,\r\n item.parentQuestionID\r\n )\r\n .then((parentData) => {\r\n const parentQuestion = parentData[0];\r\n const [first] = data;\r\n if (\r\n first.childQuestionDisplayRule.enabledByParentAnswers !==\r\n null &&\r\n first.childQuestionDisplayRule.enabledByParentAnswers\r\n ) {\r\n const selectedParentPicklistItems =\r\n first.childQuestionDisplayRule.enabledByParentAnswers.filter(\r\n (c) =>\r\n parentQuestion.picklistItems\r\n .map((item) => item['picklistItemName'])\r\n .includes(c)\r\n );\r\n first.childQuestionDisplayRule.enabledByParentAnswers =\r\n selectedParentPicklistItems;\r\n }\r\n this.setState(\r\n {\r\n isChildQuestion: true,\r\n parentQuestionID: item.parentQuestionID,\r\n parentQuestionTypeID: parentQuestion.questionTypeID,\r\n parentQuestionPicklistItems: parentQuestion.picklistItems,\r\n },\r\n () => {\r\n const successStateObj = this.setDataForEditQuestionModal(first, item.sectionID, item.sectionName);\r\n if (item.isLocked) {\r\n this.setState(successStateObj); // Do not try to acquire an intent lock for a standard question\r\n } else {\r\n this.acquireIntentLockForCustomQuestion(item.questionID, this.state.templateId, this.props.clientId, \"EDIT\", successStateObj);\r\n }\r\n }\r\n );\r\n });\r\n } else {\r\n const [first] = data;\r\n const successStateObj = this.setDataForEditQuestionModal(first, item.sectionID, item.sectionName);\r\n if (item.isLocked) {\r\n this.setState(successStateObj); // Do not try to acquire an intent lock for a standard question\r\n } else {\r\n this.acquireIntentLockForCustomQuestion(item.questionID, this.state.templateId, this.props.clientId, \"EDIT\", successStateObj);\r\n }\r\n }\r\n });\r\n }\r\n\r\n setDataForEditQuestionModal(question, sectionID, sectionName) {\r\n let showChildQuestion;\r\n let selectedParentPicklistItems;\r\n if (question.childQuestionDisplayRule) {\r\n showChildQuestion =\r\n question.childQuestionDisplayRule.showChildQuestion == 'conditional'\r\n ? 'no'\r\n : 'yes';\r\n selectedParentPicklistItems = question.childQuestionDisplayRule\r\n .enabledByParentAnswers\r\n ? question.childQuestionDisplayRule.enabledByParentAnswers\r\n : null;\r\n }\r\n\r\n const successStateObj = {\r\n showAddEditCustomQuestionModal:\r\n !this.state.showAddEditCustomQuestionModal,\r\n currentQuestionPicklistItems: question.picklistItems,\r\n questionFormPurpose: 'UPDATE',\r\n questionModalInitialValues: {\r\n questionID: question.questionID,\r\n questionText: question.questionText,\r\n questionHelpText: question.questionHelpText,\r\n questionTag: question.questionTag,\r\n questionTypeID: question.questionTypeID,\r\n picklistItems: question.picklistItems,\r\n isLocked: question.isLocked,\r\n showChildQuestionAlways: showChildQuestion,\r\n parentPicklistItems: selectedParentPicklistItems,\r\n sectionID: sectionID,\r\n sectionName: sectionName,\r\n },\r\n showEditTemplateQuestionModal: !this.state.showEditTemplateQuestionModal,\r\n templateQuestionToBeEdited: {},\r\n attachmentData: question.questionAttachments,\r\n currentQuestionIdinWorks: question.questionID,\r\n };\r\n\r\n return successStateObj;\r\n }\r\n\r\n handleShowStandardQuestions(e) {\r\n const showStandard = !this.state.showStandardQuestions;\r\n this.setState({ showStandardQuestions: showStandard });\r\n let question = Object.assign([], this.state.allAvailableQuestions);\r\n question = this.filterSearchQuestions(\r\n this.state.selectedAvailableQuestionSearchBy,\r\n this.state.searchQuestionText,\r\n question\r\n );\r\n question = this.filterShowStandardQuestion(showStandard, question);\r\n this.setState({ availableQuestionDetail: question });\r\n }\r\n\r\n filterShowStandardQuestion(showStandard, question) {\r\n if (!showStandard) {\r\n question = question.filter((x) => !x.isLocked);\r\n }\r\n return question;\r\n }\r\n\r\n filterSearchQuestions(searchBy, searctText, questions) {\r\n const showStandard = this.state.showStandardQuestions;\r\n let question = Object.assign([], questions);\r\n if (searctText != '' && searchBy == 1) {\r\n question = question.filter(\r\n (x) =>\r\n (x.questionTag &&\r\n x.questionTag\r\n .toLocaleLowerCase()\r\n .includes(searctText.toLocaleLowerCase())) > 0 ||\r\n (x.childQuestions.length &&\r\n x.childQuestions.find(\r\n (y) =>\r\n y.questionTag &&\r\n y.questionTag\r\n .toLocaleLowerCase()\r\n .includes(searctText.toLocaleLowerCase())\r\n ))\r\n );\r\n } else if (searctText != '' && searchBy == 2) {\r\n question = question.filter(\r\n (x) =>\r\n (x.questionText &&\r\n x.questionText\r\n .toLocaleLowerCase()\r\n .includes(searctText.toLocaleLowerCase())) > 0 ||\r\n (x.childQuestions.length &&\r\n x.childQuestions.find(\r\n (y) =>\r\n y.questionText &&\r\n y.questionText\r\n .toLocaleLowerCase()\r\n .includes(searctText.toLocaleLowerCase())\r\n ))\r\n );\r\n } else if (searctText != '' && searchBy == 3) {\r\n question = question.filter(\r\n (x) =>\r\n (x.questionTypeDescription &&\r\n x.questionTypeDescription\r\n .toLocaleLowerCase()\r\n .includes(searctText.toLocaleLowerCase())) > 0 ||\r\n (x.childQuestions.length &&\r\n x.childQuestions.find(\r\n (y) =>\r\n y.questionTypeDescription &&\r\n y.questionTypeDescription\r\n .toLocaleLowerCase()\r\n .includes(searctText.toLocaleLowerCase())\r\n ))\r\n );\r\n }\r\n return question;\r\n }\r\n\r\n handleSearchQuestion(e) {\r\n this.setState({ searchQuestionText: e.target.value });\r\n let question = [];\r\n question = this.filterShowStandardQuestion(\r\n this.state.showStandardQuestions,\r\n Object.assign([], this.state.allAvailableQuestions)\r\n );\r\n question = this.filterSearchQuestions(\r\n this.state.selectedAvailableQuestionSearchBy,\r\n e.target.value,\r\n question\r\n );\r\n this.setState({ availableQuestionDetail: question });\r\n }\r\n\r\n handleAvailableQuestionsSearchBy(_value) {\r\n if (this.state.selectedAvailableQuestionSearchBy != _value)\r\n this.setState({ selectedAvailableQuestionSearchBy: _value });\r\n this.setState({ searchQuestionText: '' });\r\n const questions = this.filterShowStandardQuestion(\r\n this.state.showStandardQuestions,\r\n Object.assign([], this.state.allAvailableQuestions)\r\n );\r\n\r\n this.setState({ availableQuestionDetail: questions });\r\n }\r\n\r\n handleDeleteClick(item) {\r\n let isTemplateDirty;\r\n switch (item.accordionCategory) {\r\n case 'childQuestion': {\r\n let checklistTemplateSectionID = 0;\r\n const sections = this.state.templateSections.slice();\r\n\r\n for (let i = 0; i < sections.length; i++) {\r\n if (sections[i].questions?.length > 0) {\r\n const question = sections[i].questions.filter(\r\n (q) => q.questionID === item.parentQuestionID\r\n );\r\n if (question.length === 1) {\r\n const [filteredQuestion] = question;\r\n const childQuestions = filteredQuestion.childQuestions.filter(\r\n (c) => c.questionID === item.questionID\r\n );\r\n if (childQuestions.length === 1) {\r\n checklistTemplateSectionID = sections[i].sectionID;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (checklistTemplateSectionID !== 0) {\r\n const successStateObj = {\r\n showDeleteTemplateQuestionModal:\r\n !this.state.showDeleteTemplateQuestionModal,\r\n templateQuestionToBeDeleted: {\r\n questionDeleteCategory: 'sectionQuestions',\r\n checklistTemplateSectionID: checklistTemplateSectionID,\r\n questionID: item.questionID,\r\n parentQuestionID: item.parentQuestionID,\r\n },\r\n templateQuestionToBeDeletedHasChildQuestions: false,\r\n };\r\n\r\n this.getLockStatusForQuestion(item.questionID, this.state.templateId, this.props.clientId, 'Delete', successStateObj);\r\n }\r\n break;\r\n }\r\n\r\n case 'parentQuestion': {\r\n const successStateObj = {\r\n showDeleteTemplateQuestionModal:\r\n !this.state.showDeleteTemplateQuestionModal,\r\n templateQuestionToBeDeleted: {\r\n questionDeleteCategory: 'sectionQuestions',\r\n checklistTemplateSectionID: item.sectionID,\r\n questionID: item.questionID,\r\n parentQuestionID: item.parentQuestionID,\r\n },\r\n templateQuestionToBeDeletedHasChildQuestions:\r\n item.childQuestions.length <= 0 ? false : true,\r\n };\r\n\r\n this.getLockStatusForQuestion(item.questionID, this.state.templateId, this.props.clientId, 'Delete', successStateObj);\r\n break;\r\n }\r\n\r\n case 'section': {\r\n if (this.state.templateSections.length === 1) {\r\n this.setState({ showDeleteLastSectionWarningModal: !this.state.showDeleteLastSectionWarningModal });\r\n break;\r\n }\r\n let questions = [];\r\n const availableQuestions = this.state.availableQuestionDetail.slice();\r\n const allAvailableQuestions = this.state.allAvailableQuestions.slice();\r\n const availableQuestionsBySection = this.state.templateSections.filter(\r\n (_, i) => i === item.internalSectionId\r\n );\r\n\r\n availableQuestionsBySection.map((section) => {\r\n questions = section.questions.map((question) => {\r\n return {\r\n ...question,\r\n isAccordionOpen: false,\r\n };\r\n });\r\n });\r\n\r\n availableQuestions.push(...questions);\r\n allAvailableQuestions.push(...questions);\r\n allAvailableQuestions.sort(\r\n (a, b) => parseInt(a.questionID) - parseInt(b.questionID)\r\n );\r\n\r\n const sections = this.state.templateSections.filter(\r\n (_, i) => i !== item.internalSectionId\r\n );\r\n isTemplateDirty =\r\n JSON.stringify(sections) !==\r\n JSON.stringify(this.props.templateSections);\r\n this.setState({\r\n templateSections: sections,\r\n isTemplateDirty: isTemplateDirty,\r\n availableQuestionDetail: availableQuestions,\r\n allAvailableQuestions: allAvailableQuestions,\r\n });\r\n\r\n if (this.state.selectedSectionId === item.sectionID) {\r\n this.setState({\r\n selectedSectionId: 0,\r\n selectedSectionName: '',\r\n isNewQuestionForSectionEnabled: false,\r\n });\r\n }\r\n\r\n const [first] = availableQuestionsBySection;\r\n\r\n const requestObj = {\r\n clientId: this.props.clientId,\r\n checklistTemplateId: this.state.templateId,\r\n checklistTemplateSectionId: first.sectionID,\r\n sectionName: first.sectionName,\r\n sectionSortOrder: first.sectionSortOrder,\r\n dmlOperation: 'D',\r\n };\r\n\r\n this.props.customChecklistTemplateActions\r\n .persistUncommittedTemplateSectionChanges(requestObj)\r\n .then(() => {\r\n this.fetchTemplateDataById(this.state.templateId);\r\n });\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n removeChildQuestion(question, parentQuestionID, questionID) {\r\n let questionsDetail = JSON.parse(JSON.stringify(question));\r\n questionsDetail.forEach((x) => {\r\n if (x.questionID == parentQuestionID) {\r\n x.childQuestions = x.childQuestions.filter(\r\n (x) => x.questionID != questionID\r\n );\r\n }\r\n });\r\n return questionsDetail;\r\n }\r\n\r\n handleEditClick(item) {\r\n switch (item.accordionCategory) {\r\n case 'childQuestion':\r\n case 'parentQuestion': {\r\n const successStateObj = {\r\n showEditTemplateQuestionModal:\r\n !this.state.showEditTemplateQuestionModal,\r\n templateQuestionToBeEdited: item,\r\n };\r\n if (item.isLocked) {\r\n this.setState(successStateObj);\r\n } else {\r\n this.getLockStatusForQuestion(item.questionID, this.state.templateId, this.props.clientId, 'Edit', successStateObj);\r\n }\r\n break;\r\n }\r\n case 'section':\r\n {\r\n this.setState({ sectionDetail: item });\r\n this.setState({\r\n showAddSectionModal: !this.state.showAddSectionModal,\r\n });\r\n }\r\n break;\r\n }\r\n }\r\n\r\n getLockStatusForQuestion(questionID, checklistTemplateId, clientId, actionPerformed, successStateObj, successSetStateCallBack) {\r\n this.props.customQuestionActions.getLockStatusForQuestion(questionID, checklistTemplateId, clientId)\r\n .then((lockStatusResult) => {\r\n if (lockStatusResult && lockStatusResult.isQuestionAvailableForEdit) {\r\n this.setState(successStateObj, successSetStateCallBack);\r\n } else {\r\n let headerMessage = '';\r\n switch (actionPerformed) {\r\n case 'Edit':\r\n default:\r\n headerMessage = 'Edit Question';\r\n break;\r\n case 'Add':\r\n headerMessage = 'Add Question'\r\n break;\r\n case 'Delete':\r\n headerMessage = 'Delete Question';\r\n break;\r\n case 'Rearrange children':\r\n headerMessage = 'Rearrange Child Question';\r\n break;\r\n }\r\n this.setState({\r\n showQuestionLockedInfoModal: true,\r\n headerMessageForQuestionLockedInfoModal: headerMessage,\r\n contentForQuestionLockedInfoModal: lockStatusResult.validationResult,\r\n showEditTemplateQuestionModal: false,\r\n templateQuestionToBeEdited: {},\r\n });\r\n }\r\n });\r\n }\r\n\r\n acquireIntentLockForCustomQuestion(questionID, checklistTemplateId, clientId, actionPerformed, successStateObj, successSetStateCallBack) {\r\n let request = {\r\n questionID: questionID,\r\n checklistTemplateID: checklistTemplateId,\r\n clientID: clientId\r\n }\r\n\r\n this.props.customQuestionActions.acquireIntentLockForCustomQuestion(request)\r\n .then((intentLockUpdateResult) => {\r\n if (intentLockUpdateResult && intentLockUpdateResult.isIntentLockUpdateSuccessful) {\r\n successStateObj.startIntentLockTimer = true;\r\n successStateObj.intentLockExpirationTime = intentLockUpdateResult.lockExpirationDateTime;\r\n this.setState(successStateObj, successSetStateCallBack);\r\n } else if (intentLockUpdateResult && !intentLockUpdateResult.isIntentLockUpdateSuccessful) {\r\n let headerMessage = '';\r\n switch (actionPerformed) {\r\n case 'Edit':\r\n default:\r\n headerMessage = 'Edit Question';\r\n break;\r\n case 'Add':\r\n headerMessage = 'Add Child Question'\r\n break;\r\n case 'Delete':\r\n headerMessage = 'Delete Question';\r\n break;\r\n case 'Rearrange children':\r\n headerMessage = 'Rearrange Child Question';\r\n break;\r\n }\r\n this.setState({\r\n showQuestionLockedInfoModal: true,\r\n headerMessageForQuestionLockedInfoModal: headerMessage,\r\n contentForQuestionLockedInfoModal:intentLockUpdateResult.validationResult\r\n });\r\n }\r\n });\r\n }\r\n\r\n releaseIntentLockForCustomQuestion(questionID, checklistTemplateId, clientId, successStateObj, successSetStateCallBack) {\r\n let request = {\r\n questionID: questionID,\r\n checklistTemplateID: checklistTemplateId,\r\n clientID: clientId\r\n }\r\n\r\n this.props.customQuestionActions.releaseIntentLockForCustomQuestion(request)\r\n .then(() => {\r\n this.setState(successStateObj, successSetStateCallBack);\r\n });\r\n }\r\n\r\n handleCloseOnQuestionInfoModal() {\r\n this.setState({\r\n showQuestionLockedInfoModal: false,\r\n headerMessage: '',\r\n content: '',\r\n showEditTemplateQuestionModal: false,\r\n templateQuestionToBeEdited: {},\r\n });\r\n }\r\n\r\n handleToggleAddSectionModal() {\r\n this.setState({ sectionDetail: null });\r\n this.setState({ showAddSectionModal: !this.state.showAddSectionModal });\r\n }\r\n\r\n handleAddSection(newSection, sectionSortOrderId) {\r\n let randomNumber = parseInt(Math.random() * (99999999 - 1)) + 1;\r\n let existingSections = [];\r\n let requestObj = {};\r\n if (sectionSortOrderId > 0) {\r\n existingSections = this.state.templateSections.map((section, i) => {\r\n if (section.sectionSortOrder === sectionSortOrderId) {\r\n // Request for database persistence (Uncommitted)\r\n requestObj = {\r\n clientId: this.props.clientId,\r\n checklistTemplateId: this.state.templateId,\r\n checklistTemplateSectionId: section.sectionID,\r\n sectionName: newSection,\r\n sectionSortOrder: section.sectionSortOrder,\r\n dmlOperation: 'U',\r\n };\r\n\r\n return {\r\n ...section,\r\n sectionName: newSection,\r\n };\r\n } else {\r\n return section;\r\n }\r\n });\r\n } else {\r\n existingSections = this.state.templateSections.slice();\r\n let newSectionSortOrder = existingSections.length + 1;\r\n existingSections.push({\r\n sectionName: newSection,\r\n sectionSortOrder: newSectionSortOrder,\r\n questions: [],\r\n sectionID: randomNumber,\r\n isNewSection: true,\r\n sectionHighlightClass: '',\r\n sectionIsLocked: false,\r\n });\r\n\r\n // Request for database persistence (Uncommitted)\r\n requestObj = {\r\n clientId: this.props.clientId,\r\n checklistTemplateId: parseInt(this.state.templateId),\r\n checklistTemplateSectionId: null,\r\n sectionName: newSection,\r\n sectionSortOrder: parseInt(newSectionSortOrder),\r\n dmlOperation: 'I',\r\n };\r\n }\r\n\r\n const isTemplateDirty =\r\n JSON.stringify(existingSections) !==\r\n JSON.stringify(this.props.templateSections);\r\n\r\n this.setState({\r\n templateSections: existingSections,\r\n isTemplateDirty: isTemplateDirty,\r\n });\r\n\r\n this.handleToggleAddSectionModal();\r\n\r\n this.props.customChecklistTemplateActions\r\n .persistUncommittedTemplateSectionChanges(requestObj)\r\n .then(() => {\r\n this.fetchTemplateDataById(this.state.templateId);\r\n });\r\n }\r\n\r\n handleTemplateReset() {\r\n this.abandonCustomPsqTemplateChanges();\r\n }\r\n\r\n handleTemplateSave(values) {\r\n if (!this.state.isEditMode) {\r\n this.createCustomPsqTemplate(values);\r\n } else {\r\n this.commitCustomPsqTemplateChanges(values);\r\n }\r\n }\r\n\r\n toggleShowAddEditCustomQuestionModal() {\r\n this.setState(\r\n {\r\n questionModalInitialValues: {},\r\n showAddEditCustomQuestionModal:\r\n !this.state.showAddEditCustomQuestionModal,\r\n fileAttachmentList: [],\r\n attachmentData: [],\r\n showAttachmentStatusModal: false,\r\n uploadedAttachmentStatus: [],\r\n isSaving: false,\r\n }, this.clearQuestionForm);\r\n }\r\n\r\n toggleShowAddEditCustomQuestionModalAndReleaseIntentLock() {\r\n const successStateObj = {\r\n questionModalInitialValues: {},\r\n showAddEditCustomQuestionModal: false,\r\n fileAttachmentList: [],\r\n attachmentData: [],\r\n showAttachmentStatusModal: false,\r\n uploadedAttachmentStatus: []\r\n };\r\n\r\n const questionId = this.state.questionModalInitialValues.questionID ? this.state.questionModalInitialValues.questionID : this.state.parentQuestionID;\r\n\r\n if (!questionId) { // For new parent question questions\r\n this.toggleShowAddEditCustomQuestionModal();\r\n } else { // For all edit scenarios & add new question scenarios\r\n this.releaseIntentLockForCustomQuestion(questionId, this.state.templateId, this.props.clientId, successStateObj, this.clearQuestionForm);\r\n }\r\n }\r\n\r\n clearQuestionForm() {\r\n if (!this.state.showAddEditCustomQuestionModal) {\r\n this.setState({\r\n questionFormPurpose: 'UNKNOWN',\r\n isChildQuestion: false,\r\n parentQuestionID: null,\r\n parentQuestionTypeID: null,\r\n currentQuestionPicklistItems: [],\r\n parentQuestionPicklistItems: [],\r\n isQuestionFormDirty: false,\r\n startIntentLockTimer: false,\r\n intentLockExpirationTime: null,\r\n currentQuestionIdinWorks: null,\r\n isSaving: false,\r\n });\r\n store.dispatch(reset('customQuestionForm'));\r\n }\r\n }\r\n\r\n handleOnClickCreateNewQuestion(newQuestionSource) {\r\n let selectedSectionId = 0;\r\n let selectedSectionName = '';\r\n\r\n if (newQuestionSource === 'templateSections') {\r\n selectedSectionId = this.state.selectedSectionId;\r\n selectedSectionName = this.state.selectedSectionName;\r\n }\r\n\r\n this.setState({\r\n showAddEditCustomQuestionModal:\r\n !this.state.showAddEditCustomQuestionModal,\r\n questionFormPurpose: 'CREATE',\r\n questionModalInitialValues: {\r\n sectionID: selectedSectionId,\r\n sectionName: selectedSectionName,\r\n },\r\n });\r\n }\r\n\r\n handleAddNewChildQuestion(parentQuestion, hasSection) {\r\n const successStateObj = {\r\n showAddEditCustomQuestionModal:\r\n !this.state.showAddEditCustomQuestionModal,\r\n isChildQuestion: true,\r\n parentQuestionID: parentQuestion.questionID,\r\n parentQuestionTypeID: parentQuestion.questionTypeID,\r\n parentQuestionPicklistItems: parentQuestion.picklistItems,\r\n questionFormPurpose: 'CREATE',\r\n questionModalInitialValues: {\r\n isLocked: parentQuestion.isLocked,\r\n sectionID: parentQuestion.sectionID,\r\n sectionName: parentQuestion.sectionName,\r\n },\r\n currentQuestionIdinWorks: parentQuestion.questionID,\r\n };\r\n\r\n if (parentQuestion.isLocked) {\r\n this.setState(successStateObj);\r\n } else {\r\n this.acquireIntentLockForCustomQuestion(parentQuestion.questionID, this.state.templateId, this.props.clientId, 'Add', successStateObj);\r\n }\r\n }\r\n\r\n handleChangePicklistItem(picklistItems) {\r\n this.setState({\r\n currentQuestionPicklistItems: picklistItems,\r\n isQuestionFormDirty: true,\r\n });\r\n }\r\n\r\n handleSubmitCustomQuestionModalAction(values) {\r\n this.setState({ isSaving: true });\r\n\r\n let customQuestion = {\r\n parentQuestionID: this.state.parentQuestionID,\r\n clientID: this.props.clientId,\r\n checklistTypeID: 2, //PSQ\r\n questionText: values.questionText,\r\n questionHelpText: values.questionHelpText,\r\n questionTag: values.questionTag,\r\n questionTypeID: values.questionTypeID,\r\n isLocked: values.isLocked,\r\n questionPicklistItems:\r\n values.questionTypeID == 3 || values.questionTypeID == 4\r\n ?\r\n {\r\n PicklistItems: this.state.currentQuestionPicklistItems.map(\r\n (item) => item.picklistItemName\r\n )\r\n }\r\n : null,\r\n childQuestionDisplayRuleJSON: this.state.isChildQuestion\r\n ? JSON.stringify({\r\n showChildQuestion:\r\n values.showChildQuestionAlways == 'yes'\r\n ? 'always'\r\n : 'conditional',\r\n enabledByParentAnswers:\r\n values.showChildQuestionAlways == 'yes'\r\n ? null\r\n : values.parentPicklistItems,\r\n })\r\n : null,\r\n checklistTemplateSectionID:\r\n values.sectionID !== 0 ? values.sectionID : null,\r\n questionAttachments: [...this.state.attachmentData, ...this.setNewFiles()],\r\n checklistTemplateID: this.state.templateId,\r\n };\r\n\r\n if (this.state.questionFormPurpose === 'CREATE') {\r\n this.props.customQuestionActions\r\n .createCustomQuestion(customQuestion)\r\n .then((data) => {\r\n this.toggleShowAddEditCustomQuestionModal();\r\n\r\n // Refreshing the content of the whole page after successful addition of a new question\r\n this.fetchTemplateDataById(this.state.templateId);\r\n if (data && data != null && data.some(d => d.variant === 'error')) {\r\n this.setState({\r\n uploadedAttachmentStatus: data\r\n });\r\n this.toggleShowAttachmentStatus();\r\n }\r\n });\r\n }\r\n\r\n if (this.state.questionFormPurpose === 'UPDATE') {\r\n customQuestion.questionID = values.questionID;\r\n customQuestion.isLocked = values.isLocked;\r\n this.props.customQuestionActions\r\n .updateCustomQuestion(customQuestion)\r\n .then((data) => {\r\n this.toggleShowAddEditCustomQuestionModal();\r\n\r\n // Refreshing the content of the whole page after successful addition of a new question\r\n this.fetchTemplateDataById(this.state.templateId);\r\n if (data && data != null && data.some(d => d.variant === 'error')) {\r\n this.setState({\r\n uploadedAttachmentStatus: data\r\n });\r\n this.toggleShowAttachmentStatus();\r\n }\r\n });\r\n }\r\n }\r\n\r\n setNewFiles() {\r\n const attachmentData = [];\r\n this.state.fileAttachmentList.forEach((element) => {\r\n if (!Object.prototype.hasOwnProperty.call(element, 'errors')) {\r\n const data = {\r\n questionAttachmentID: null,\r\n questionVersionID: null,\r\n attachmentGuid: null,\r\n attachmentName: element.name,\r\n file: element,\r\n isNew: true,\r\n isDeleted: false\r\n }\r\n attachmentData.push(data);\r\n }\r\n\r\n });\r\n return attachmentData;\r\n }\r\n\r\n\r\n\r\n handleToggleExpandCollapseAllAcordionsOnTemplate(event, expandOrCollapse) {\r\n if (expandOrCollapse === 'expand') {\r\n const templateSections = this.state.templateSections.map((section) => {\r\n let questions = [];\r\n\r\n if (section.questions.length > 0) {\r\n questions = section.questions.map((question) => {\r\n let childQuestions = [];\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map((childQuestion) => {\r\n return {\r\n ...childQuestion,\r\n isAccordionOpen: true,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...question,\r\n isAccordionOpen: true,\r\n childQuestions: childQuestions,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...section,\r\n isAccordionOpen: true,\r\n questions: questions,\r\n };\r\n });\r\n\r\n this.setState({\r\n expandAllAccordionsOnTemplate: true,\r\n templateSections: templateSections,\r\n });\r\n } else {\r\n const templateSections = this.state.templateSections.map((section) => {\r\n let questions = [];\r\n\r\n if (section.questions.length > 0) {\r\n questions = section.questions.map((question) => {\r\n let childQuestions = [];\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map((childQuestion) => {\r\n return {\r\n ...childQuestion,\r\n isAccordionOpen: false,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...question,\r\n isAccordionOpen: false,\r\n childQuestions: childQuestions,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...section,\r\n isAccordionOpen: false,\r\n questions: questions,\r\n };\r\n });\r\n\r\n this.setState({\r\n expandAllAccordionsOnTemplate: false,\r\n templateSections: templateSections,\r\n });\r\n }\r\n }\r\n\r\n handleOpenAccordionOnTemplate(\r\n event,\r\n isAccordionOpen,\r\n sectionID,\r\n questionID,\r\n parentQuestionID\r\n ) {\r\n let selectedSectionName = '';\r\n if (!isAccordionOpen) {\r\n let updatedSections = [];\r\n // Case - Section\r\n if (sectionID && !questionID && !parentQuestionID) {\r\n updatedSections = this.state.templateSections.map((section) => {\r\n if (section.sectionID === sectionID) {\r\n const sectionHighlightClass = this.state.isEditLayoutMode\r\n ? ''\r\n : 'highlightSelectedSection';\r\n selectedSectionName = section.sectionName;\r\n return {\r\n ...section,\r\n isAccordionOpen: true,\r\n sectionHighlightClass: sectionHighlightClass,\r\n };\r\n } else {\r\n return {\r\n ...section,\r\n sectionHighlightClass: '',\r\n };\r\n }\r\n });\r\n } else if (sectionID && questionID && !parentQuestionID) {\r\n // Case - Parent Question\r\n updatedSections = this.state.templateSections.map((section) => {\r\n if (section.sectionID === sectionID) {\r\n let questions = [];\r\n if (section.questions.length > 0) {\r\n questions = section.questions.map((question) => {\r\n if (question.questionID === questionID) {\r\n return {\r\n ...question,\r\n isAccordionOpen: true,\r\n };\r\n } else {\r\n return question;\r\n }\r\n });\r\n }\r\n return {\r\n ...section,\r\n questions: questions,\r\n };\r\n } else {\r\n return section;\r\n }\r\n });\r\n } else if (sectionID && questionID && parentQuestionID) {\r\n // Case - Child Question\r\n updatedSections = this.state.templateSections.map((section) => {\r\n if (section.sectionID === sectionID) {\r\n let questions = [];\r\n if (section.questions.length > 0) {\r\n questions = section.questions.map((question) => {\r\n if (question.questionID === parentQuestionID) {\r\n let childQuestions = [];\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n if (childQuestion.questionID === questionID) {\r\n return {\r\n ...childQuestion,\r\n isAccordionOpen: true,\r\n };\r\n } else {\r\n return childQuestion;\r\n }\r\n }\r\n );\r\n }\r\n\r\n return {\r\n ...question,\r\n childQuestions: childQuestions,\r\n };\r\n } else {\r\n return question;\r\n }\r\n });\r\n }\r\n\r\n return {\r\n ...section,\r\n questions: questions,\r\n };\r\n } else {\r\n return section;\r\n }\r\n });\r\n }\r\n\r\n this.setState({\r\n templateSections: updatedSections\r\n });\r\n\r\n // Check whether selected Section is containing Question of type \"psq section 2 additional services\" or \"psq section 2 property manager\"\r\n // If yes then disable the \"New Question\" button\r\n let preventAddingQuestion = this.preventDragAndDrop(sectionID)\r\n this.setState({\r\n isNewQuestionForSectionEnabled: !this.state.isEditLayoutMode && !preventAddingQuestion\r\n });\r\n\r\n if (selectedSectionName !== '') {\r\n this.setState({\r\n selectedSectionId: sectionID,\r\n selectedSectionName: selectedSectionName,\r\n });\r\n }\r\n }\r\n }\r\n\r\n handleCloseAccordionOnTemplate(\r\n event,\r\n isAccordionOpen,\r\n sectionID,\r\n questionID,\r\n parentQuestionID\r\n ) {\r\n let selectedSectionName = '';\r\n if (isAccordionOpen) {\r\n let updatedSections = [];\r\n // Case - Section\r\n if (sectionID && !questionID && !parentQuestionID) {\r\n updatedSections = this.state.templateSections.map((section) => {\r\n if (section.sectionID === sectionID) {\r\n const sectionHighlightClass = this.state.isEditLayoutMode\r\n ? ''\r\n : 'highlightSelectedSection';\r\n selectedSectionName = section.sectionName;\r\n return {\r\n ...section,\r\n isAccordionOpen: false,\r\n sectionHighlightClass: sectionHighlightClass,\r\n };\r\n } else {\r\n return {\r\n ...section,\r\n sectionHighlightClass: '',\r\n };\r\n }\r\n });\r\n } else if (sectionID && questionID && !parentQuestionID) {\r\n // Case - Parent Question\r\n updatedSections = this.state.templateSections.map((section) => {\r\n if (section.sectionID === sectionID) {\r\n let questions = [];\r\n if (section.questions.length > 0) {\r\n questions = section.questions.map((question) => {\r\n if (question.questionID === questionID) {\r\n return {\r\n ...question,\r\n isAccordionOpen: false,\r\n };\r\n } else {\r\n return question;\r\n }\r\n });\r\n }\r\n return {\r\n ...section,\r\n questions: questions,\r\n };\r\n } else {\r\n return section;\r\n }\r\n });\r\n } else if (sectionID && questionID && parentQuestionID) {\r\n // Case - Child Question\r\n updatedSections = this.state.templateSections.map((section) => {\r\n if (section.sectionID === sectionID) {\r\n let questions = [];\r\n if (section.questions.length > 0) {\r\n questions = section.questions.map((question) => {\r\n if (question.questionID === parentQuestionID) {\r\n let childQuestions = [];\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n if (childQuestion.questionID === questionID) {\r\n return {\r\n ...childQuestion,\r\n isAccordionOpen: false,\r\n };\r\n } else {\r\n return childQuestion;\r\n }\r\n }\r\n );\r\n }\r\n\r\n return {\r\n ...question,\r\n childQuestions: childQuestions,\r\n };\r\n } else {\r\n return question;\r\n }\r\n });\r\n }\r\n\r\n return {\r\n ...section,\r\n questions: questions,\r\n };\r\n } else {\r\n return section;\r\n }\r\n });\r\n }\r\n this.setState({\r\n templateSections: updatedSections\r\n });\r\n\r\n // Check whether selected Section is containing Question of type \"psq section 2 additional services\" or \"psq section 2 property manager\"\r\n // If yes then disable the \"New Question\" button\r\n let preventAddingQuestion = this.preventDragAndDrop(sectionID)\r\n this.setState({\r\n isNewQuestionForSectionEnabled: !this.state.isEditLayoutMode && !preventAddingQuestion\r\n });\r\n\r\n if (selectedSectionName !== '') {\r\n this.setState({\r\n selectedSectionId: sectionID,\r\n selectedSectionName: selectedSectionName,\r\n });\r\n }\r\n }\r\n }\r\n\r\n handleToggleExpandCollapseAllAcordionsOnAvailableQuestions(\r\n event,\r\n expandOrCollapse\r\n ) {\r\n if (expandOrCollapse === 'expand') {\r\n const availableQuestions = this.state.availableQuestionDetail.map(\r\n (question) => {\r\n let childQuestions = [];\r\n\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map((childQuestion) => {\r\n return {\r\n ...childQuestion,\r\n isAccordionOpen: true,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...question,\r\n isAccordionOpen: true,\r\n childQuestions: childQuestions,\r\n };\r\n }\r\n );\r\n\r\n const allAvailableQuestions = this.state.allAvailableQuestions.map(\r\n (question) => {\r\n let childQuestions = [];\r\n\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map((childQuestion) => {\r\n return {\r\n ...childQuestion,\r\n isAccordionOpen: true,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...question,\r\n isAccordionOpen: true,\r\n childQuestions: childQuestions,\r\n };\r\n }\r\n );\r\n\r\n this.setState({\r\n expandAllAccordionsOnAvailableQuestions: true,\r\n availableQuestionDetail: availableQuestions,\r\n allAvailableQuestions: allAvailableQuestions,\r\n });\r\n } else {\r\n const availableQuestions = this.state.availableQuestionDetail.map(\r\n (question) => {\r\n let childQuestions = [];\r\n\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map((childQuestion) => {\r\n return {\r\n ...childQuestion,\r\n isAccordionOpen: false,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...question,\r\n isAccordionOpen: false,\r\n childQuestions: childQuestions,\r\n };\r\n }\r\n );\r\n\r\n const allAvailableQuestions = this.state.allAvailableQuestions.map(\r\n (question) => {\r\n let childQuestions = [];\r\n\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map((childQuestion) => {\r\n return {\r\n ...childQuestion,\r\n isAccordionOpen: false,\r\n };\r\n });\r\n }\r\n\r\n return {\r\n ...question,\r\n isAccordionOpen: false,\r\n childQuestions: childQuestions,\r\n };\r\n }\r\n );\r\n\r\n this.setState({\r\n expandAllAccordionsOnAvailableQuestions: false,\r\n availableQuestionDetail: availableQuestions,\r\n allAvailableQuestions: allAvailableQuestions,\r\n });\r\n }\r\n }\r\n\r\n handleOpenAccordionOnAvailableQuestions(\r\n event,\r\n isAccordionOpen,\r\n questionID,\r\n parentQuestionID\r\n ) {\r\n if (!isAccordionOpen) {\r\n let updatedAvailableQuestions = [];\r\n let updatedAllAvailableQuestions = [];\r\n // Case - Parent Question\r\n if (questionID && !parentQuestionID) {\r\n updatedAvailableQuestions = this.state.availableQuestionDetail.map(\r\n (question) => {\r\n if (question.questionID === questionID) {\r\n return {\r\n ...question,\r\n isAccordionOpen: true,\r\n };\r\n } else {\r\n return question;\r\n }\r\n }\r\n );\r\n\r\n updatedAllAvailableQuestions = this.state.allAvailableQuestions.map(\r\n (question) => {\r\n if (question.questionID === questionID) {\r\n return {\r\n ...question,\r\n isAccordionOpen: true,\r\n };\r\n } else {\r\n return question;\r\n }\r\n }\r\n );\r\n }\r\n // Case - Child Question\r\n else if (questionID && parentQuestionID) {\r\n updatedAvailableQuestions = this.state.availableQuestionDetail.map(\r\n (question) => {\r\n if (question.questionID === parentQuestionID) {\r\n let childQuestions = [];\r\n\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n if (childQuestion.questionID === questionID) {\r\n return {\r\n ...childQuestion,\r\n isAccordionOpen: true,\r\n };\r\n } else {\r\n return childQuestion;\r\n }\r\n }\r\n );\r\n\r\n return {\r\n ...question,\r\n childQuestions: childQuestions,\r\n };\r\n }\r\n } else {\r\n return question;\r\n }\r\n }\r\n );\r\n\r\n updatedAllAvailableQuestions = this.state.allAvailableQuestions.map(\r\n (question) => {\r\n if (question.questionID === parentQuestionID) {\r\n let childQuestions = [];\r\n\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n if (childQuestion.questionID === questionID) {\r\n return {\r\n ...childQuestion,\r\n isAccordionOpen: true,\r\n };\r\n } else {\r\n return childQuestion;\r\n }\r\n }\r\n );\r\n\r\n return {\r\n ...question,\r\n childQuestions: childQuestions,\r\n };\r\n }\r\n } else {\r\n return question;\r\n }\r\n }\r\n );\r\n }\r\n\r\n this.setState({\r\n availableQuestionDetail: updatedAvailableQuestions,\r\n allAvailableQuestions: updatedAllAvailableQuestions,\r\n });\r\n }\r\n }\r\n\r\n handleCloseAccordionOnAvailableQuestions(\r\n _event,\r\n isAccordionOpen,\r\n questionID,\r\n parentQuestionID\r\n ) {\r\n if (isAccordionOpen) {\r\n let updatedAvailableQuestions = [];\r\n let updatedAllAvailableQuestions = [];\r\n // Case - Parent Question\r\n if (questionID && !parentQuestionID) {\r\n updatedAvailableQuestions = this.state.availableQuestionDetail.map(\r\n (question) => {\r\n if (question.questionID === questionID) {\r\n return {\r\n ...question,\r\n isAccordionOpen: false,\r\n };\r\n } else {\r\n return question;\r\n }\r\n }\r\n );\r\n\r\n updatedAllAvailableQuestions = this.state.allAvailableQuestions.map(\r\n (question) => {\r\n if (question.questionID === questionID) {\r\n return {\r\n ...question,\r\n isAccordionOpen: false,\r\n };\r\n } else {\r\n return question;\r\n }\r\n }\r\n );\r\n }\r\n // Case - Child Question\r\n else if (questionID && parentQuestionID) {\r\n updatedAvailableQuestions = this.state.availableQuestionDetail.map(\r\n (question) => {\r\n if (question.questionID === parentQuestionID) {\r\n let childQuestions = [];\r\n\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n if (childQuestion.questionID === questionID) {\r\n return {\r\n ...childQuestion,\r\n isAccordionOpen: false,\r\n };\r\n } else {\r\n return childQuestion;\r\n }\r\n }\r\n );\r\n\r\n return {\r\n ...question,\r\n childQuestions: childQuestions,\r\n };\r\n }\r\n } else {\r\n return question;\r\n }\r\n }\r\n );\r\n\r\n updatedAllAvailableQuestions = this.state.allAvailableQuestions.map(\r\n (question) => {\r\n if (question.questionID === parentQuestionID) {\r\n let childQuestions = [];\r\n\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n if (childQuestion.questionID === questionID) {\r\n return {\r\n ...childQuestion,\r\n isAccordionOpen: false,\r\n };\r\n } else {\r\n return childQuestion;\r\n }\r\n }\r\n );\r\n\r\n return {\r\n ...question,\r\n childQuestions: childQuestions,\r\n };\r\n }\r\n } else {\r\n return question;\r\n }\r\n }\r\n );\r\n }\r\n\r\n this.setState({\r\n availableQuestionDetail: updatedAvailableQuestions,\r\n allAvailableQuestions: updatedAllAvailableQuestions,\r\n });\r\n }\r\n }\r\n\r\n reRenderTemplateSectionOnAddNewChildQuestion(\r\n questionID,\r\n parentQuestionID,\r\n isQuestionLocked\r\n ) {\r\n let isQuestionAvailableInSection = false;\r\n let availableQuestionSectionId = 0;\r\n\r\n for (let i = 0; i < this.state.templateSections.length; i++) {\r\n if (this.state.templateSections[i].questions?.length > 0) {\r\n const questions = this.state.templateSections[i].questions.filter(\r\n (q) => q.questionID === parentQuestionID\r\n );\r\n if (questions.length === 1) {\r\n isQuestionAvailableInSection = true;\r\n availableQuestionSectionId = this.state.templateSections[i].sectionID;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (isQuestionAvailableInSection) {\r\n this.props.customChecklistTemplateActions\r\n .fetchQuestionById(\r\n this.props.clientId,\r\n this.state.checklistTypeID,\r\n this.state.templateId,\r\n questionID\r\n )\r\n .then((data) => {\r\n const updatedSections = this.state.templateSections.map((section) => {\r\n if (section.sectionID === availableQuestionSectionId) {\r\n const questions = section.questions.map((question) => {\r\n if (question.questionID === parentQuestionID) {\r\n const currentQuestionSortOrder = question.questionSortOrder;\r\n if (isQuestionLocked) {\r\n // Standing question scenario\r\n const [first] = data;\r\n let updatedQuestion = { ...first };\r\n for (\r\n let index = 0;\r\n index < updatedQuestion.childQuestions.length;\r\n index++\r\n ) {\r\n updatedQuestion.childQuestions[index].questionSortOrder =\r\n index + 1;\r\n }\r\n updatedQuestion.questionSortOrder =\r\n currentQuestionSortOrder;\r\n return updatedQuestion;\r\n } else {\r\n // Custom Question Scenario\r\n const childQuestions = question.childQuestions.slice();\r\n const questionSortOrder = childQuestions.length + 1;\r\n data[0].parentQuestionID = parentQuestionID;\r\n data[0].questionSortOrder = questionSortOrder;\r\n childQuestions.push(...data);\r\n\r\n return {\r\n ...question,\r\n childQuestions: childQuestions,\r\n };\r\n }\r\n } else {\r\n return question;\r\n }\r\n });\r\n return {\r\n ...section,\r\n questions: questions,\r\n };\r\n } else {\r\n return section;\r\n }\r\n });\r\n\r\n this.setState({\r\n templateSections: updatedSections,\r\n isTemplateDirty: true,\r\n });\r\n });\r\n }\r\n }\r\n\r\n reRenderTemplateSectionOnEditParentQuestion(\r\n questionID,\r\n convertedParentQuestionID,\r\n isStandardQuestion\r\n ) {\r\n let isQuestionAvailableInSection = false;\r\n let availableQuestionSectionId = 0;\r\n let retainedChilQuestions = [];\r\n\r\n for (let i = 0; i < this.state.templateSections.length; i++) {\r\n if (this.state.templateSections[i].questions?.length > 0) {\r\n const questions = this.state.templateSections[i].questions.filter(\r\n (q) => q.questionID === questionID\r\n );\r\n if (questions.length === 1) {\r\n const [filteredQuestion] = questions;\r\n retainedChilQuestions = filteredQuestion.childQuestions.slice();\r\n isQuestionAvailableInSection = true;\r\n availableQuestionSectionId = this.state.templateSections[i].sectionID;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (isQuestionAvailableInSection) {\r\n this.props.customChecklistTemplateActions\r\n .fetchQuestionById(\r\n this.props.clientId,\r\n this.state.checklistTypeID,\r\n this.state.templateId,\r\n isStandardQuestion ? convertedParentQuestionID : questionID\r\n )\r\n .then((data) => {\r\n const updatedSections = this.state.templateSections.map((section) => {\r\n if (section.sectionID === availableQuestionSectionId) {\r\n const questions = section.questions.map((question) => {\r\n if (question.questionID === questionID) {\r\n const currentQuestionSortOrder = question.questionSortOrder;\r\n if (isStandardQuestion) {\r\n const [first] = data;\r\n const updatedQuestion = { ...first };\r\n updatedQuestion.questionSortOrder =\r\n currentQuestionSortOrder;\r\n\r\n for (\r\n let index = 0;\r\n index < updatedQuestion.childQuestions.length;\r\n index++\r\n ) {\r\n updatedQuestion.childQuestions[index].questionSortOrder =\r\n index + 1;\r\n }\r\n\r\n return updatedQuestion;\r\n } else {\r\n const [first] = data;\r\n const updatedQuestion = { ...first };\r\n updatedQuestion.questionSortOrder =\r\n currentQuestionSortOrder;\r\n updatedQuestion.childQuestions = retainedChilQuestions;\r\n return updatedQuestion;\r\n }\r\n } else {\r\n return question;\r\n }\r\n });\r\n\r\n return {\r\n ...section,\r\n questions: questions,\r\n };\r\n } else {\r\n return section;\r\n }\r\n });\r\n\r\n this.setState({\r\n templateSections: updatedSections,\r\n isTemplateDirty: true,\r\n });\r\n });\r\n }\r\n }\r\n\r\n reRenderTemplateSectionOnEditChildQuestion(\r\n questionID,\r\n parentQuestionID,\r\n convertedParentQuestionID,\r\n isStandardQuestion\r\n ) {\r\n let isChildQuestionAvailableInSection = false;\r\n let availableQuestionSectionId = 0;\r\n let checklistTemplateSectionQuestionID = 0;\r\n let questionSortOrder = 0;\r\n\r\n for (let i = 0; i < this.state.templateSections.length; i++) {\r\n if (this.state.templateSections[i].questions?.length > 0) {\r\n const question = this.state.templateSections[i].questions.filter(\r\n (q) => q.questionID === parentQuestionID\r\n );\r\n if (question.length === 1) {\r\n const [filteredQuestion] = question;\r\n const childQuestions = filteredQuestion.childQuestions.filter(\r\n (c) => c.questionID === questionID\r\n );\r\n if (childQuestions.length === 1) {\r\n isChildQuestionAvailableInSection = true;\r\n availableQuestionSectionId =\r\n this.state.templateSections[i].sectionID;\r\n checklistTemplateSectionQuestionID =\r\n childQuestions[0].checklistTemplateSectionQuestionID;\r\n questionSortOrder = childQuestions[0].questionSortOrder;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (isChildQuestionAvailableInSection) {\r\n this.props.customChecklistTemplateActions\r\n .fetchQuestionById(\r\n this.props.clientId,\r\n this.state.checklistTypeID,\r\n this.state.templateId,\r\n isStandardQuestion ? convertedParentQuestionID : questionID\r\n )\r\n .then((data) => {\r\n const updatedSections = this.state.templateSections.map((section) => {\r\n if (section.sectionID === availableQuestionSectionId) {\r\n const questions = section.questions.map((question) => {\r\n if (question.questionID === parentQuestionID) {\r\n const currentQuestionSortOrder = question.questionSortOrder;\r\n if (isStandardQuestion) {\r\n const [first] = data;\r\n const convertedQuestion = { ...first };\r\n convertedQuestion.questionSortOrder =\r\n currentQuestionSortOrder;\r\n\r\n for (\r\n let index = 0;\r\n index < convertedQuestion.childQuestions.length;\r\n index++\r\n ) {\r\n convertedQuestion.childQuestions[\r\n index\r\n ].questionSortOrder = index + 1;\r\n }\r\n\r\n return convertedQuestion;\r\n } else {\r\n let childQuestions = [];\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n if (childQuestion.questionID === questionID) {\r\n const [first] = data;\r\n const editedQuestion = { ...first };\r\n editedQuestion.parentQuestionID = parentQuestionID;\r\n editedQuestion.checklistTemplateSectionQuestionID =\r\n checklistTemplateSectionQuestionID;\r\n editedQuestion.questionSortOrder =\r\n questionSortOrder;\r\n return editedQuestion;\r\n } else {\r\n return childQuestion;\r\n }\r\n }\r\n );\r\n }\r\n\r\n return {\r\n ...question,\r\n childQuestions: childQuestions,\r\n };\r\n }\r\n } else {\r\n return question;\r\n }\r\n });\r\n\r\n return {\r\n ...section,\r\n questions: questions,\r\n };\r\n } else {\r\n return section;\r\n }\r\n });\r\n\r\n this.setState({ templateSections: updatedSections });\r\n });\r\n }\r\n }\r\n\r\n reRenderTemplateSectionOnAddNewParentQuestion(questionID, sectionID) {\r\n this.props.customChecklistTemplateActions\r\n .fetchQuestionById(\r\n this.props.clientId,\r\n this.state.checklistTypeID,\r\n this.state.templateId,\r\n questionID\r\n )\r\n .then((data) => {\r\n const updatedSections = this.state.templateSections.map((section) => {\r\n if (section.sectionID === sectionID) {\r\n const questions = section.questions.slice();\r\n const sectionsLength = section.questions.length;\r\n\r\n const [first] = data;\r\n const questionTobeAdded = { ...first };\r\n questionTobeAdded.questionSortOrder = sectionsLength + 1;\r\n questionTobeAdded.category = 'sectionquestion';\r\n questionTobeAdded.sectionID = section.sectionID;\r\n questionTobeAdded.sectionName = section.sectionName;\r\n questionTobeAdded.sectionSortOrder = section.sectionSortOrder;\r\n questionTobeAdded.isAccordionOpen = false;\r\n\r\n questions.push(questionTobeAdded);\r\n\r\n return {\r\n ...section,\r\n questions: questions,\r\n };\r\n } else {\r\n return section;\r\n }\r\n });\r\n\r\n this.setState({\r\n templateSections: updatedSections,\r\n isTemplateDirty: true,\r\n });\r\n });\r\n }\r\n\r\n reRenderAvailableQuestionsOnAddNewParentQuestion(questionID, sectionID) {\r\n this.props.customChecklistTemplateActions\r\n .fetchQuestionById(\r\n this.props.clientId,\r\n this.state.checklistTypeID,\r\n sectionID !== null ? this.state.templateId : null,\r\n questionID\r\n )\r\n .then((data) => {\r\n const availableQuestionsDetail =\r\n this.state.availableQuestionDetail.slice();\r\n availableQuestionsDetail.push(...data);\r\n this.setState({ availableQuestionDetail: availableQuestionsDetail });\r\n\r\n // Updating the entire question collection\r\n const allAvailableQuestions = this.state.allAvailableQuestions.slice();\r\n allAvailableQuestions.push(...data);\r\n\r\n this.setState({ allAvailableQuestions: allAvailableQuestions });\r\n });\r\n }\r\n\r\n reRenderAvailableQuestionsOnAddNewChilQuestion(\r\n questionID,\r\n parentQuestionID,\r\n sectionID\r\n ) {\r\n this.props.customChecklistTemplateActions\r\n .fetchQuestionById(\r\n this.props.clientId,\r\n this.state.checklistTypeID,\r\n sectionID !== null ? this.state.templateId : null,\r\n questionID\r\n )\r\n .then((data) => {\r\n // Updating the local filtered array\r\n const availableQuestions = this.state.availableQuestionDetail.map(\r\n (question) => {\r\n if (question.questionID === parentQuestionID) {\r\n let childQuestions = question.childQuestions.slice();\r\n const [first] = data;\r\n first.parentQuestionID = parentQuestionID;\r\n childQuestions.push(first);\r\n return {\r\n ...question,\r\n childQuestions: childQuestions,\r\n };\r\n } else {\r\n return question;\r\n }\r\n }\r\n );\r\n this.setState({ availableQuestionDetail: availableQuestions });\r\n\r\n // Updating the entire questions collection\r\n const allAvailableQuestions = this.state.allAvailableQuestions.map(\r\n (question) => {\r\n if (question.questionID === parentQuestionID) {\r\n let childQuestions = question.childQuestions.slice();\r\n const [first] = data;\r\n first.parentQuestionID = parentQuestionID;\r\n childQuestions.push(first);\r\n return {\r\n ...question,\r\n childQuestions: childQuestions,\r\n };\r\n } else {\r\n return question;\r\n }\r\n }\r\n );\r\n\r\n this.setState({ allAvailableQuestions: allAvailableQuestions });\r\n });\r\n }\r\n\r\n reRenderAvailableQuestionsOnEditParentQuestion(questionID, sectionID) {\r\n this.props.customChecklistTemplateActions\r\n .fetchQuestionById(\r\n this.props.clientId,\r\n this.state.checklistTypeID,\r\n sectionID !== null ? this.state.templateId : null,\r\n questionID\r\n )\r\n .then((data) => {\r\n const availableQuestionsDetail = this.state.availableQuestionDetail.map(\r\n (question) => {\r\n if (question.questionID === questionID) {\r\n const [first] = data;\r\n return first;\r\n } else {\r\n return question;\r\n }\r\n }\r\n );\r\n\r\n this.setState({ availableQuestionDetail: availableQuestionsDetail });\r\n\r\n // Updating the entire question collection\r\n const allAvailableQuestions = this.state.allAvailableQuestions.map(\r\n (question) => {\r\n if (question.questionID === questionID) {\r\n const [first] = data;\r\n return first;\r\n } else {\r\n return question;\r\n }\r\n }\r\n );\r\n\r\n this.setState({ allAvailableQuestions: allAvailableQuestions });\r\n });\r\n }\r\n\r\n reRenderAvailableQuestionsOnEditChilQuestion(\r\n questionID,\r\n parentQuestionID,\r\n sectionID\r\n ) {\r\n this.props.customChecklistTemplateActions\r\n .fetchQuestionById(\r\n this.props.clientId,\r\n this.state.checklistTypeID,\r\n sectionID !== null ? this.state.templateId : null,\r\n questionID\r\n )\r\n .then((data) => {\r\n const availableQuestionsDetail = this.state.availableQuestionDetail.map(\r\n (question) => {\r\n if (question.questionID === parentQuestionID) {\r\n let childQuestions = [];\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n if (childQuestion.questionID === questionID) {\r\n const [first] = data;\r\n first.parentQuestionID = parentQuestionID;\r\n return first;\r\n } else {\r\n return childQuestion;\r\n }\r\n }\r\n );\r\n }\r\n\r\n return {\r\n ...question,\r\n childQuestions: childQuestions,\r\n };\r\n } else {\r\n return question;\r\n }\r\n }\r\n );\r\n\r\n this.setState({ availableQuestionDetail: availableQuestionsDetail });\r\n\r\n // Updating the entire question collection\r\n const allAvailableQuestions = this.state.allAvailableQuestions.map(\r\n (question) => {\r\n if (question.questionID === parentQuestionID) {\r\n let childQuestions = [];\r\n if (question.childQuestions.length > 0) {\r\n childQuestions = question.childQuestions.map(\r\n (childQuestion) => {\r\n if (childQuestion.questionID === questionID) {\r\n const [first] = data;\r\n return first;\r\n } else {\r\n return childQuestion;\r\n }\r\n }\r\n );\r\n }\r\n\r\n return {\r\n ...question,\r\n childQuestions: childQuestions,\r\n };\r\n } else {\r\n return question;\r\n }\r\n }\r\n );\r\n\r\n this.setState({ allAvailableQuestions: allAvailableQuestions });\r\n });\r\n }\r\n\r\n handleOnChangeOfTemplateName(event, value) {\r\n if (this.props.initialTemplateName !== value) {\r\n this.setState({ hasTemplateNameChanged: true });\r\n } else {\r\n this.setState({ hasTemplateNameChanged: false });\r\n }\r\n }\r\n\r\n handleDeleteExistingFile(attachmentId) {\r\n\r\n let attachmentFiles = JSON.parse(JSON.stringify(this.state.attachmentData));\r\n attachmentFiles.find(file => file.questionAttachmentID == attachmentId).isDeleted = true;\r\n this.setState({ attachmentData: attachmentFiles, isQuestionFormDirty: true });\r\n\r\n }\r\n\r\n handleDownloadAttachmentClick(attachmentGuid, attachmentName) {\r\n return fileActions.downloadCustomQuestionAttachment(this.props.clientId, attachmentGuid, encodeURIComponent(attachmentName), null);\r\n\r\n }\r\n\r\n handleCancelDeleteTemplateQuestion() {\r\n const successStateObj = {\r\n showDeleteTemplateQuestionModal:\r\n !this.state.showDeleteTemplateQuestionModal,\r\n templateQuestionToBeDeleted: {},\r\n templateQuestionToBeDeletedHasChildQuestions: false,\r\n };\r\n\r\n this.releaseIntentLockForCustomQuestion(this.state.templateQuestionToBeDeleted.questionID,\r\n this.state.templateId,\r\n this.props.clientId,\r\n successStateObj);\r\n }\r\n\r\n handleDeleteTemplateQuestion() {\r\n const successStateObj = {};\r\n this.getLockStatusForQuestion(this.state.templateQuestionToBeDeleted.questionID, this.state.templateId, this.props.clientId, 'Delete', successStateObj, this.deleteTemplateQuestion);\r\n }\r\n\r\n deleteTemplateQuestion() {\r\n const checklistTemplateSectionID = this.state.templateQuestionToBeDeleted.checklistTemplateSectionID;\r\n const questionID = this.state.templateQuestionToBeDeleted.questionID;\r\n const parentQuestionID = this.state.templateQuestionToBeDeleted.parentQuestionID;\r\n\r\n this.props.customQuestionActions\r\n .deleteCustomTemplateQuestion(\r\n questionID,\r\n parentQuestionID,\r\n this.props.clientId,\r\n checklistTemplateSectionID\r\n )\r\n .then(() => {\r\n this.setState({\r\n showDeleteTemplateQuestionModal:\r\n false,\r\n templateQuestionToBeDeleted: {},\r\n templateQuestionToBeDeletedHasChildQuestions: false,\r\n });\r\n this.fetchTemplateDataById(this.state.templateId);\r\n })\r\n .catch(() =>\r\n this.setState({\r\n showDeleteTemplateQuestionModal:\r\n false,\r\n templateQuestionToBeDeleted: {},\r\n templateQuestionToBeDeletedHasChildQuestions: false,\r\n })\r\n );\r\n }\r\n\r\n handleCancelEditTemplateQuestion() {\r\n this.setState({\r\n showEditTemplateQuestionModal: !this.state.showEditTemplateQuestionModal,\r\n templateQuestionToBeEdited: {},\r\n });\r\n }\r\n\r\n handleEditTemplateQuestion() {\r\n this.getQuestionById(this.state.templateQuestionToBeEdited);\r\n }\r\n\r\n toggleShowDeleteLastSectionWarningModal() {\r\n this.setState({ showDeleteLastSectionWarningModal: !this.state.showDeleteLastSectionWarningModal });\r\n }\r\n\r\n toggleShowAttachmentStatus() {\r\n this.setState({ showAttachmentStatusModal: !this.state.showAttachmentStatusModal });\r\n }\r\n\r\n\r\n addFilesToQueueUnique(newFiles) {\r\n const prevQueue = Object.assign([], this.state.fileAttachmentList);\r\n const ids = new Set(prevQueue.map(prevFile => prevFile.path));\r\n const merged = [...prevQueue, ...newFiles.filter(newFile => !ids.has(newFile.path))];\r\n return merged;\r\n }\r\n\r\n /**\r\n * Updates the queue with the new files dropped in\r\n *\r\n * @param {array} newFiles - new files to be added to the queue\r\n * @param {func} setQueue - function that updates the queue\r\n */\r\n handleDrop(newFiles) {\r\n const list = this.addFilesToQueueUnique(newFiles.filter(file => file.error === undefined || file.error === ''));\r\n this.setState({ fileAttachmentList: list, isQuestionFormDirty: true });\r\n }\r\n\r\n /**\r\n * Updates the queue with the rejected new files dropped in\r\n *\r\n * @param {array} newFiles - new files to be added to the queue\r\n * @param {func} setQueue - function that updates the queue\r\n */\r\n handleDropRejected(newFiles) {\r\n const list = this.addFilesToQueueUnique(newFiles);\r\n this.setState({ fileAttachmentList: list, isQuestionFormDirty: true });\r\n }\r\n\r\n /**\r\n * Removes a single file from the queue\r\n *\r\n * @param {array} queue - current list of files to be uploaded\r\n * @param {func} setQueue - function that updates the queue\r\n * @param {Object} removedFile - the file to be removed from the queue\r\n */\r\n removeFile(removedFile) {\r\n const prevQueue = Object.assign([], this.state.fileAttachmentList);\r\n const nextQueue = prevQueue.filter(file => (file.path !== undefined ? file.path : file.file?.path) !== (removedFile.path !== undefined ? removedFile.path : removedFile.file?.path));\r\n this.setState({ fileAttachmentList: nextQueue });\r\n if ((!nextQueue.length && !this.state.attachmentData.length) || (!nextQueue.length && !this.state.attachmentData.filter(x => x.isDeleted == true).length)) {\r\n this.setState({ isQuestionFormDirty: false });\r\n }\r\n }\r\n\r\n handleContinueChildQuestionsRearrangeWarningModal() {\r\n this.updateChildQuestionSortOrder();\r\n }\r\n\r\n handleCancelStandardChildQuestionsRearrangeWarningModal() {\r\n this.setState({\r\n showStandardChildQuestionsRearrangeWarningModal: false,\r\n parentQuestionOfTheChildQuestionsRearranged: null,\r\n tempTemplateStateOnChildQuestionRearrange: {},\r\n tempisTemplateDirtyStateOnChildQuestionRearrange: false\r\n });\r\n }\r\n\r\n handleClearSearchText() {\r\n this.setState({ searchQuestionText: '' });\r\n let question = this.filterShowStandardQuestion(\r\n this.state.showStandardQuestions,\r\n Object.assign([], this.state.allAvailableQuestions)\r\n );\r\n this.setState({ availableQuestionDetail: question });\r\n }\r\n\r\n render() {\r\n if (!this.state.isEditMode) {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n } else {\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 * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nconst mapStateToProps = (state, ownProps) => {\r\n let clientId = Number.parseInt(ownProps.router.params.clientId);\r\n if (isNaN(clientId)) {\r\n clientId = 0;\r\n }\r\n\r\n return {\r\n clientId: clientId,\r\n psqCustomChecklistTemplateValues: getFormValues(\r\n 'psqCustomChecklistTemplate'\r\n )(state),\r\n formSyncErrors: getFormSyncErrors('psqCustomChecklistTemplate')(state),\r\n formSubmitErrors: getFormSubmitErrors('psqCustomChecklistTemplate')(state),\r\n initialValues: {\r\n templateId: state.customPsqTemplate.templateID,\r\n templateName: state.customPsqTemplate.templateName,\r\n templateInitializationType:\r\n state.customPsqTemplate.templateInitializationType,\r\n copiedFromTemplateName: state.customPsqTemplate.copiedFromTemplateName,\r\n },\r\n isCommitted: state.customPsqTemplate.isCommitted,\r\n existingTemplates: state.psqTemplates,\r\n templateSections: state.customPsqTemplate.sections,\r\n availableQuestions: state.availableQuestion.templates,\r\n createdTemplateId: state.createCustomPsqTemplate,\r\n lookupTypes: state.lookupTypes,\r\n availableQuestionByID: state.availableQuestionByID,\r\n initialTemplateName: state.customPsqTemplate.templateName,\r\n authentication: state.authentication,\r\n intentLockUpdateResult: state.customQuestionIntentLockUpdateResult,\r\n lockStatusResult: state.customQuestionLockStatusResultReducer,\r\n };\r\n};\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n customChecklistTemplateActions: bindActionCreators(\r\n customChecklistTemplateActions,\r\n dispatch\r\n ),\r\n customQuestionActions: bindActionCreators(customQuestionActions, dispatch),\r\n fileActions: bindActionCreators(fileActions, dispatch),\r\n };\r\n};\r\n\r\n// Props for the container\r\nPsqCustomChecklistTemplateContainer.propTypes = {\r\n clientId: PropTypes.number,\r\n psqCustomChecklistTemplateValues: PropTypes.object,\r\n initialValues: PropTypes.object,\r\n existingTemplates: PropTypes.array,\r\n templateSections: PropTypes.array,\r\n customChecklistTemplateActions: PropTypes.object,\r\n customQuestionActions: PropTypes.object,\r\n availableQuestions: PropTypes.array,\r\n createdTemplateId: PropTypes.number,\r\n isCommitted: PropTypes.bool,\r\n initialTemplateName: PropTypes.String,\r\n authentication: PropTypes.string,\r\n fileActions: PropTypes.object,\r\n intentLockUpdateResult: PropTypes.object,\r\n lockStatusResult: PropTypes.object,\r\n};\r\n\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(\r\n reduxForm({\r\n form: 'psqCustomChecklistTemplate',\r\n enableReinitialize: true,\r\n })(PsqCustomChecklistTemplateContainer)\r\n )\r\n);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as commonActions from '../../actions/commonActions';\r\nimport * as customChecklistTemplateActions from '../../actions/customChecklistTemplateActions';\r\nimport * as checklistActions from '../../actions/checklistActions';\r\nimport * as propertyActions from '../../actions/propertyActions';\r\nimport * as periodActions from '../../actions/periodActions';\r\nimport * as authActions from '../../actions/authActions';\r\nimport * as reitActions from '../../actions/reitActions';\r\nimport * as reportActions from '../../actions/reportActions';\r\nimport * as lookupTypeActions from \"../../actions/lookupTypeActions\";\r\nimport * as fileActions from '../../actions/fileActions';\r\nimport ChecklistNavigation from '../../components/reits/ChecklistNavigation';\r\nimport EditChecklistSection from '../../components/reits/EditChecklistSection';\r\nimport ChecklistCounters from '../../components/reits/ChecklistCounters';\r\nimport ChecklistCompleteModal from '../../components/reits/ChecklistCompleteModal';\r\nimport ChecklistPageBase from '../reits/ChecklistPageBase';\r\nimport * as customQuestionActions from \"../../actions/customQuestionActions\";\r\nimport { MotifToggleSwitch, MotifIcon, MotifButton, MotifDropdown, MotifDropdownItem } from '@ey-xd/motif-react';\r\nimport { IconoirNavArrowDown } from '@ey-xd/motif-icon';\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * PsqChecklistTemplatePreview container component\r\n * @extends {ChecklistPageBase}\r\n */\r\nexport class PsqChecklistTemplatePreview extends ChecklistPageBase {\r\n /**\r\n * Creates a new PsqChecklistTemplatePreview\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state.psqProviderSummary = [];\r\n this.state.showAllQuestions = true;\r\n this.state.showUnansweredQuestions = false;\r\n this.state.canEdit = true;\r\n this.state.newQuestionIds = [];\r\n this.state.navigationCount=[];\r\n this.state.isSubNavigation = false;\r\n this.state.firstDynamicQuestionIdForServiceProvider = -200000; // For Template Preview, for new Service Provider, use dynamic ids from -200000\r\n this.setActiveItem = this.setActiveItem.bind(this); \r\n this.isEngagementAdminOrSysAdmin = this.isEngagementAdminOrSysAdmin.bind(\r\n this,\r\n );\r\n this.handleAddPsqSection2Row = this.handleAddPsqSection2Row.bind(this);\r\n this.handleRemovePsqSection2Row = this.handleRemovePsqSection2Row.bind(\r\n this,\r\n );\r\n this.handleDownloadAttachmentClick = this.handleDownloadAttachmentClick.bind(this);\r\n this.state.isDisabledTab = true;\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n // Check if the template opened in preview mode is Standard template (i.e. TemplateID less than 0), if yes use the -1 clientId\r\n const clientId = Number.parseInt(this.props.templateId) < 0 ? -1 : this.props.clientId;\r\n\r\n this.props.customChecklistTemplateActions.fetchCustomPsqTemplateContentById(this.props.clientId, this.props.templateId);\r\n \r\n // Using this API call to get template name as this does not have any access restrictions\r\n const templateRequest = {\r\n clientId: this.props.clientId,\r\n templateId: this.props.templateId,\r\n };\r\n\r\n this.props.customChecklistTemplateActions\r\n .fetchChecklistTemplateByChecklistTemplateId(templateRequest);\r\n }\r\n\r\n componentWillUnmount() {\r\n this.props.customChecklistTemplateActions.fetchCustomPsqTemplateById();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (this.props.psqActiveChecklist !== prevProps.psqActiveChecklist) {\r\n let checklist = {content: this.props.psqActiveChecklist};\r\n\r\n this.setState({ checklist: checklist });\r\n\r\n // set disabled sections\r\n if (\r\n this.props.psqActiveChecklist !== undefined &&\r\n this.props.psqActiveChecklist !== null &&\r\n this.props.psqActiveChecklist.length > 0\r\n ) {\r\n this.disableSections(checklist);\r\n }\r\n\r\n if (\r\n this.state.activeItem == null &&\r\n this.props.psqActiveChecklist !== undefined &&\r\n this.props.psqActiveChecklist !== null &&\r\n this.props.psqActiveChecklist.length > 0\r\n ) {\r\n for (let i = 0; i < this.props.psqActiveChecklist.length; i++) {\r\n if (\r\n this.state.disabledSections.find(\r\n x => x === this.props.psqActiveChecklist[i].id,\r\n ) === undefined\r\n ) {\r\n this.setState({\r\n activeItem: this.props.psqActiveChecklist[0],\r\n });\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (this.props.psqActiveChecklist) {\r\n if (this.state.showDetails) {\r\n this.setState({ showAllQuestions: true, showUnansweredQuestions: false });\r\n }\r\n this.setState({ showDetails: !this.state.showDetails });\r\n\r\n if (this.state.checklist !== undefined && this.state.checklist !== null && this.state.checklist.content != undefined && this.state.checklist.content.length > 0) {\r\n this.setState({ activeItem: this.state.checklist.content[0] });\r\n }\r\n }\r\n }\r\n }\r\n\r\n setActiveItem(e, { name }) {\r\n const item = this.props.psqActiveChecklist.find(\r\n x => x.title === name,\r\n );\r\n if (this.state.disabledSections.find(x => x === item.id) === undefined) {\r\n this.setState({ activeItem: item, isSubNavigation: false });\r\n }\r\n\r\n if (item === undefined && name) {\r\n this.setState({ activeItem: name, isSubNavigation: true });\r\n }\r\n }\r\n\r\n handleDownloadAttachmentClick(attachmentGuid, attachmentName) {\r\n return fileActions.downloadCustomQuestionAttachment(this.props.clientId, attachmentGuid, encodeURIComponent(attachmentName), null);\r\n\r\n }\r\n\r\n handleAddPsqSection2Row() {\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n const psqSection2 = checklist.content.find(x => x.type === 'PsqSection2');\r\n let items = psqSection2.items;\r\n\r\n if (items != null) {\r\n let lastItem = items[items.length - 1];\r\n let lastId = lastItem.id;\r\n if (\r\n lastItem.children !== undefined &&\r\n lastItem.children !== null &&\r\n lastItem.children.length > 0\r\n ) {\r\n for (let i = 0; i < lastItem.children.length; i++) {\r\n if (lastItem.children[i].id > lastId) {\r\n lastId = lastItem.children[i].id;\r\n }\r\n }\r\n }\r\n\r\n lastId = lastId > 0 ? this.state.firstDynamicQuestionIdForServiceProvider-1 : lastId;\r\n\r\n const nextItemNumber = lastItem.questionSortOrder + 1;\r\n checklist.content\r\n .find(x => x.type === 'PsqSection2')\r\n .items.push({\r\n id: lastId + 1,\r\n questionSortOrder: nextItemNumber,\r\n title:\r\n psqSection2.sectionSortOrder + '.' +\r\n nextItemNumber +\r\n ' Please identify any Additional Service Provider, the services provided, the compensation arrangement, and its relationship to the REIT in the space below.',\r\n itemType: 'PsqSection2AdditionalServices',\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: [],\r\n selectedAnswers: [''],\r\n controlSections: [],\r\n systemRule: {\r\n name: 'SetFromPreviousPeriodAnswer',\r\n setAnswers: ['{selectedAnswers}'],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [\r\n {\r\n id: lastId + 2,\r\n title:\r\n psqSection2.sectionSortOrder + '.' +\r\n nextItemNumber +\r\n '.1 Does the IK own, directly or indirectly, more than a 35% interest (based on vote or value) in the REIT?',\r\n itemType: 'button',\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: ['Yes', 'No'],\r\n selectedAnswers: [],\r\n controlSections: [],\r\n systemRule: {\r\n name: 'SetFromPreviousPeriodAnswer',\r\n setAnswers: ['{selectedAnswers}'],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [],\r\n enabledByParentAnswers: ['IK'],\r\n ruleTag: [],\r\n },\r\n {\r\n id: lastId + 3,\r\n title:\r\n psqSection2.sectionSortOrder + '.' +\r\n nextItemNumber +\r\n '.2 Do one or more persons who own 35% or more of the interests in the REIT (based on vote or value) also own directly or indirectly more than 35% of the interests in the IK (based on net profits or assets, if non-corporate)?',\r\n itemType: 'button',\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: ['Yes', 'No'],\r\n selectedAnswers: [],\r\n controlSections: [],\r\n systemRule: {\r\n name: 'SetFromPreviousPeriodAnswer',\r\n setAnswers: ['{selectedAnswers}'],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [],\r\n enabledByParentAnswers: ['IK'],\r\n ruleTag: [],\r\n },\r\n {\r\n id: lastId + 4,\r\n title:\r\n psqSection2.sectionSortOrder + '.' +\r\n nextItemNumber +\r\n '.3 Does the REIT derive or receive any income from the IK, such as a share of the income or revenue derived from services, rents from leasing space to the contractor (at this property or any other property), dividends or other profits of the contractor, or any other form of income from the contractor?',\r\n itemType: 'button',\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: ['Yes', 'No'],\r\n selectedAnswers: [],\r\n controlSections: [],\r\n systemRule: {\r\n name: 'SetFromPreviousPeriodAnswer',\r\n setAnswers: ['{selectedAnswers}'],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [],\r\n enabledByParentAnswers: ['IK'],\r\n ruleTag: [],\r\n },\r\n {\r\n id: lastId + 5,\r\n title:\r\n psqSection2.sectionSortOrder + '.' +\r\n nextItemNumber +\r\n \".4 Is the REIT's relationship with the IK an arms-length relationship?\",\r\n itemType: 'button',\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: ['Yes', 'No'],\r\n selectedAnswers: [],\r\n controlSections: [],\r\n systemRule: {\r\n name: 'SetFromPreviousPeriodAnswer',\r\n setAnswers: ['{selectedAnswers}'],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [],\r\n enabledByParentAnswers: ['IK'],\r\n ruleTag: [],\r\n },\r\n {\r\n id: lastId + 6,\r\n title:\r\n psqSection2.sectionSortOrder + '.' +\r\n nextItemNumber +\r\n '.5 Is the IK adequately compensated based on fair-value and arms-length dealing?',\r\n itemType: 'button',\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: ['Yes', 'No'],\r\n selectedAnswers: [],\r\n controlSections: [],\r\n systemRule: {\r\n name: 'SetFromPreviousPeriodAnswer',\r\n setAnswers: ['{selectedAnswers}'],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [],\r\n enabledByParentAnswers: ['IK'],\r\n ruleTag: [],\r\n },\r\n {\r\n id: lastId + 7,\r\n title:\r\n psqSection2.sectionSortOrder + '.' +\r\n nextItemNumber +\r\n '.6 Does the REIT directly or indirectly bear the costs of any of the IK services?',\r\n itemType: 'button',\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: ['Yes', 'No'],\r\n selectedAnswers: [],\r\n controlSections: [],\r\n systemRule: {\r\n name: 'SetFromPreviousPeriodAnswer',\r\n setAnswers: ['{selectedAnswers}'],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [],\r\n enabledByParentAnswers: ['IK'],\r\n ruleTag: [],\r\n },\r\n {\r\n id: lastId + 8,\r\n title:\r\n psqSection2.sectionSortOrder + '.' +\r\n nextItemNumber +\r\n '.7 Is the IK an employee of the REIT or is the REIT otherwise able to direct and control the manner in which the IK carries out its duties?',\r\n itemType: 'button',\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: ['Yes', 'No'],\r\n selectedAnswers: [],\r\n controlSections: [],\r\n systemRule: {\r\n name: 'SetFromPreviousPeriodAnswer',\r\n setAnswers: ['{selectedAnswers}'],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [],\r\n enabledByParentAnswers: ['IK'],\r\n ruleTag: [],\r\n },\r\n {\r\n id: lastId + 9,\r\n title:\r\n psqSection2.sectionSortOrder + '.' +\r\n nextItemNumber +\r\n '.8 For the above questions, please add an explanation of any special circumstances or additional comments in the box below.',\r\n itemType: 'plaintext',\r\n isMultiSelect: false,\r\n isEnabled: true,\r\n defaultAnswers: [],\r\n availableAnswers: [],\r\n selectedAnswers: [],\r\n controlSections: [],\r\n systemRule: {\r\n name: 'SetFromPreviousPeriodAnswer',\r\n setAnswers: ['{selectedAnswers}'],\r\n isDisabledOnSystemAnswer: false,\r\n },\r\n children: [],\r\n enabledByParentAnswers: ['IK'],\r\n ruleTag: [],\r\n },\r\n ],\r\n enabledByParentAnswers: [],\r\n ruleTag: [],\r\n serviceProvider: nextItemNumber,\r\n });\r\n\r\n this.setState({ checklist: checklist });\r\n\r\n // Append all these new question ids into state\r\n // The range will generate an array of 9 ids (lastId +1 to lastId +9)\r\n const range = (start, end) => Array.from({ length: ((end + 1) - start) }, (v, k) => k + start);\r\n this.setState({ newQuestionIds: [...this.state.newQuestionIds, ...range(lastId + 1, lastId + 9)] });\r\n\r\n this.disableSections(checklist);\r\n }\r\n }\r\n\r\n handleRemovePsqSection2Row(item) {\r\n const checklist = JSON.parse(JSON.stringify(this.state.checklist));\r\n let section = checklist.content.find(x => x.type === 'PsqSection2');\r\n for (let i = 1; i < section.items.length; i++) {\r\n if (section.items[i].id === item.id) {\r\n let questionIdsToRemove = [item.id];\r\n questionIdsToRemove = [...questionIdsToRemove, ...item.children.map(x => x.id)];\r\n\r\n // Remove these question ids from state\r\n this.setState({ newQuestionIds: this.state.newQuestionIds.filter(x => !questionIdsToRemove.includes(x)) });\r\n\r\n checklist.content\r\n .find(x => x.type === 'PsqSection2')\r\n .items.splice(i, 1);\r\n break;\r\n }\r\n }\r\n section = this.reArrangeSortOrder(section);\r\n this.setState({ checklist: checklist });\r\n this.disableSections(checklist);\r\n }\r\n \r\n reArrangeSortOrder(section) {\r\n for (let j = 0; j < section.items.length; j++) {\r\n const newSortOrder = j + 1;\r\n section.items[j].questionSortOrder = newSortOrder; // assign new question sort order\r\n //Prepare new question sort order to display with question text\r\n const sortOrder = section.sectionSortOrder + \".\" + newSortOrder;\r\n\r\n //Split question title to seprate question number and text\r\n const [oldQuestionSortOrder, questionText] =\r\n section.items[j].title.split(/\\s+(.*)/);\r\n\r\n if (\r\n section.items[j].itemType == \"PsqSection2AdditionalServices\" &&\r\n sortOrder != oldQuestionSortOrder\r\n ) {\r\n //Concatenate new sort order with question text\r\n section.items[j].title = sortOrder + \" \" + questionText;\r\n let StartIndex = 1;\r\n //Rearrange child question number\r\n section.items[j].children.forEach((element) => {\r\n const [childOrder, childQuestionText] =\r\n element.title.split(/\\s+(.*)/);\r\n element.title =\r\n sortOrder + \".\" + StartIndex + \" \" + childQuestionText;\r\n StartIndex = StartIndex + 1;\r\n });\r\n }\r\n }\r\n return section;\r\n }\r\n\r\n getDetails() {\r\n const isEnabled =\r\n this.props.psqActiveChecklist !== null &&\r\n this.state.canEdit;\r\n\r\n if (this.state.showDetails && this.state.checklist !== null) {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {!this.state.isSubNavigation && (\r\n <>\r\n {this.state.checklist.content.map((section) => (\r\n \r\n ))}\r\n \r\n )}\r\n\r\n {this.state.isSubNavigation && (\r\n <>\r\n
    {this.state.activeItem}
    \r\n
    No {this.state.activeItem.toLowerCase()} found for this checklist.
    \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 isEngagementAdminOrSysAdmin() {\r\n let isEngAdminOrSysAdmin = false;\r\n let currentUserAuthorizations = this.props.currentUserAuthorizations;\r\n if (Array.isArray(currentUserAuthorizations)) {\r\n isEngAdminOrSysAdmin =\r\n authActions.isSystemAdministrator(currentUserAuthorizations) ||\r\n authActions.isEngagementAdministrator(currentUserAuthorizations, this.props.client.id);\r\n }\r\n\r\n return isEngAdminOrSysAdmin;\r\n }\r\n\r\n getQuestionnaireTitle() {\r\n return this.props.customPsqTemplateDetails ? this.props.customPsqTemplateDetails.checklistTemplateName : \"\";\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n\r\n let isEngAdminOrSysAdmin = false;\r\n isEngAdminOrSysAdmin = this.isEngagementAdminOrSysAdmin();\r\n\r\n if (this.props.psqActiveChecklist === null) {\r\n return (\r\n
    \r\n

    {this.getQuestionnaireTitle()}

    \r\n {!this.state.canEdit &&
    Reporting Closed
    }\r\n\r\n
    \r\n \r\n this.setState({ checklistDropdownOpen: false })}\r\n trigger={\r\n 0)}\r\n type=\"button\"\r\n variant=\"primary-alt\"\r\n onClick={() => this.setState({ checklistDropdownOpen: !this.state.checklistDropdownOpen })}\r\n aria-controls={'checklist-dropdown'}\r\n id={'checklist-dropdown-trigger'}\r\n aria-expanded={this.state.checklistDropdownOpen}\r\n aria-label=\"Download checklist dropdown\"\r\n >\r\n Download Checklist \r\n \r\n }\r\n >\r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITH_ANSWERS'); }}>\r\n With Answers Only\r\n \r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITH_ANSWERS_COMMENTS') }}>\r\n With Answers And Comments\r\n \r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITHOUT_ANSWERS'); }}>\r\n Without Answers or Comments\r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {this.getQuestionnaireTitle()}

    \r\n {!this.state.canEdit &&
    Reporting Closed
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n this.setState({ checklistDropdownOpen: false })}\r\n trigger={\r\n 0)}\r\n type=\"button\"\r\n variant=\"primary-alt\"\r\n onClick={() => this.setState({ checklistDropdownOpen: !this.state.checklistDropdownOpen })}\r\n aria-controls={'checklist-dropdown'}\r\n id={'checklist-dropdown-trigger'}\r\n aria-expanded={this.state.checklistDropdownOpen}\r\n aria-label=\"Download checklist dropdown\"\r\n >\r\n Download Checklist \r\n \r\n }\r\n >\r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITH_ANSWERS'); }}>\r\n With Answers Only\r\n \r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITH_ANSWERS_COMMENTS') }}>\r\n With Answers And Comments\r\n \r\n { this.setState({ checklistDropdownOpen: false }); this.downloadChecklist('WITHOUT_ANSWERS'); }}>\r\n Without Answers or Comments\r\n \r\n \r\n \r\n\r\n \r\n Review Complete\r\n \r\n \r\n Save\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Display Unanswered Questions Only:\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {(this.state.showDetails &&\r\n this.props.psqActiveChecklist &&\r\n this.props.previousPsqChecklist &&\r\n Array.isArray(this.props.previousPsqChecklist.content) &&\r\n this.props.previousPsqChecklist.content.length > 0 && (\r\n
    \r\n
    \r\n Display Changed Answers:\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.getDetails()} \r\n
    \r\n );\r\n }\r\n}\r\n\r\nPsqChecklistTemplatePreview.propTypes = {\r\n client: PropTypes.object.isRequired,\r\n reit: PropTypes.object.isRequired,\r\n periodId: PropTypes.number.isRequired,\r\n psqChecklists: PropTypes.array,\r\n psqActiveChecklist: PropTypes.object,\r\n previousPsqChecklist: PropTypes.object,\r\n checklistActions: PropTypes.object,\r\n reitActions: PropTypes.object,\r\n propertyActions: PropTypes.object,\r\n fileActions: PropTypes.object,\r\n properties: PropTypes.array,\r\n periodActions: PropTypes.object.isRequired,\r\n currentUserAuthorizations: PropTypes.array,\r\n deletedChecklist: PropTypes.object,\r\n canDelete: PropTypes.bool,\r\n canRevertState: PropTypes.bool,\r\n pendingTasks: PropTypes.number,\r\n reportActions: PropTypes.object,\r\n lookupTypes: PropTypes.object,\r\n user: PropTypes.string,\r\n customPsqTemplateDetails: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n* @param {Object} state The state\r\n* @param {Object} ownProps The properties of the component\r\n* @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n user: state.authentication.currentUser,\r\n client: state.client,\r\n clientId: Number.parseInt(ownProps.router.params.clientId),\r\n templateId: Number.parseInt(ownProps.router.params.templateId),\r\n customPsqTemplateDetails: state.customPsqTemplateDetails,\r\n psqChecklists: state.psqChecklists,\r\n psqActiveChecklist: state.customPsqTemplateContent,\r\n previousPsqChecklist: state.previousPsqChecklist,\r\n checklistFiles: state.checklistFiles,\r\n reit: state.reit,\r\n properties: state.properties,\r\n period: state.period,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n deletedChecklist: state.deletedChecklist,\r\n canDelete:\r\n Array.isArray(state.currentUserAuthorizations) &&\r\n (authActions.isSystemAdministrator(state.currentUserAuthorizations) ||\r\n (state.client &&\r\n authActions.isEngagementAdministrator(\r\n state.currentUserAuthorizations,\r\n state.client.id,\r\n ))) &&\r\n (state.period.reportPeriodStatusDescription !== 'Closed to Reporting' &&\r\n state.period.reportPeriodStatusDescription !== 'Complete'),\r\n canRevertState:\r\n state.period.reportPeriodStatusDescription !== 'Closed to Reporting' &&\r\n state.period.reportPeriodStatusDescription !== 'Complete',\r\n pendingTasks: state.pendingTasks,\r\n customQuestionnaireTemplates: state.customQuestionnaire.templates,\r\n lookupTypes: state.lookupTypes\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n* @param {Object} dispatch The action dispatcher\r\n* @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n customChecklistTemplateActions: bindActionCreators(customChecklistTemplateActions, dispatch),\r\n checklistActions: bindActionCreators(checklistActions, dispatch),\r\n fileActions: bindActionCreators(fileActions, dispatch),\r\n propertyActions: bindActionCreators(propertyActions, dispatch),\r\n reitActions: bindActionCreators(reitActions, dispatch),\r\n periodActions: bindActionCreators(periodActions, dispatch),\r\n reportActions: bindActionCreators(reportActions, dispatch),\r\n customQuestionActions: bindActionCreators(customQuestionActions, dispatch),\r\n lookupTypeActions: bindActionCreators(lookupTypeActions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n )(PsqChecklistTemplatePreview));\r\n","import PropTypes from \"prop-types\";\r\nimport React, { useState,useEffect } from 'react';\r\nimport { MotifButton, MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter, MotifRadioButton, MotifRadioButtonGroup } from '@ey-xd/motif-react';\r\nimport * as Constants from '../../constants/other';\r\n\r\nconst BulkProcessSignOffModal = ({ showSignOffModal, toggleShowSignOffModal, handleSignOffSave, resetSignOffRadioButtons,currentUserIsEngagementUser }) => {\r\n const [selectedOption, setSelectedOption] = useState('');\r\n\r\n useEffect(() => {\r\n setSelectedOption('');\r\n}, [resetSignOffRadioButtons])\r\n\r\n return (\r\n \r\n \r\n Update Sign Off Status\r\n \r\n \r\n
    Please select sign off status for selected REIT(s) and report period
    \r\n

    \r\n
    \r\n \r\n {Constants.updateSignOffStatusAction.map((array) =>\r\n setSelectedOption(event.target.value)}\r\n >\r\n {array.text}\r\n )}\r\n \r\n
    \r\n
    \r\n \r\n \r\n Cancel\r\n handleSignOffSave(selectedOption)}\r\n disabled={selectedOption==''}\r\n >\r\n Save\r\n \r\n
    \r\n );\r\n};\r\n\r\nBulkProcessSignOffModal.propTypes = {\r\n showSignOffModal: PropTypes.bool,\r\n toggleShowSignOffModal: PropTypes.func,\r\n handleSignOffSave: PropTypes.func,\r\n resetSignOffRadioButtons: PropTypes.bool\r\n};\r\n\r\nexport default BulkProcessSignOffModal;","/* eslint-disable react/prop-types */\r\n/* eslint-disable react/no-multi-comp */\r\n\r\nimport React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,\r\n MotifButton,\r\n MotifIcon,\r\n} from '@ey-xd/motif-react';\r\n\r\nimport { addAttribute } from '../../common/Attribute';\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\n\r\nconst BulkProcessUpdateServiceAlertModal = ({\r\n showUpdateServiceScopeInfo,\r\n toggleShowUpdateServiceScopeInfo,\r\n}) => {\r\n useEffect(() => {\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", 'type', 'button');\r\n });\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n
    \r\n );\r\n\r\n const closeButtonProps = {\r\n title: 'Close Update Service Scope',\r\n ariaLabel: 'Close Update Service Scope Modal',\r\n dataTestid: 'close',\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Update Services Scope\r\n \r\n \r\n \r\n \r\n You have selected at least one REIT that is Closed for the selected report period. Please contact Engagement or System Administrator to reopen period and comeback here to update the services scope.\r\n
    \r\n \r\n \r\n \r\n \r\n Close\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nBulkProcessUpdateServiceAlertModal.propTypes = {\r\n showUpdateServiceScopeInfo: PropTypes.bool,\r\n toggleShowUpdateServiceScopeInfo: PropTypes.func\r\n};\r\n\r\nexport default BulkProcessUpdateServiceAlertModal;\r\n","import React, { useState } from 'react';\r\nimport { Field } from 'redux-form';\r\nimport { PropTypes } from \"prop-types\";\r\nimport * as formHelpers from '../../scripts/formHelpers';\r\nimport * as Constants from '../../constants/other';\r\nimport {\r\n MotifButton,\r\n MotifDropdown,\r\n MotifDropdownItem,\r\n MotifIcon,\r\n MotifIconButton,\r\n MotifTooltip,\r\n} from '@ey-xd/motif-react';\r\nimport { IconoirNavArrowDown, IconoirInfoCircle } from '@ey-xd/motif-icon';\r\nconst BulkProcessManagementHeader = ({\r\n calendarYears,\r\n handleCalendarYearSelection,\r\n handleReportPeriodSelection,\r\n rowsAffected,\r\n gridCurrentState,\r\n toggleShowSignOffModal,\r\n toggleServiceScopeModal,\r\n isAuditOnlyClient\r\n}) => {\r\n\r\n const calendarYearOptions = calendarYears.map(cy => {\r\n return { key: cy, value: cy, text: cy }\r\n });\r\n\r\n let updateServicesScopeStatus = false;\r\n let updateSignOffStatus = false;\r\n let exportBulkProcessHistoryStatus = true;\r\n // Check if there is no reit selected \r\n if (!gridCurrentState || !gridCurrentState.length > 0) {\r\n updateServicesScopeStatus = false;\r\n updateSignOffStatus = false;\r\n\r\n }\r\n // Check if there is any reit selected\r\n else if (gridCurrentState && gridCurrentState.length > 0) {\r\n if (gridCurrentState.some(x => x.reitSelection == true)) {\r\n updateServicesScopeStatus = true;\r\n updateSignOffStatus = true;\r\n\r\n }\r\n }\r\n\r\n const [actionOptionsOpen, setActionOptionsOpen] = useState(false);\r\n return (\r\n <>\r\n

    Bulk Process Management

    \r\n {/*
    */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n setActionOptionsOpen(false)}\r\n trigger={\r\n\r\n setActionOptionsOpen(!actionOptionsOpen)}\r\n aria-controls={'action-dropdown'}\r\n id={'action-dropdown-trigger'}\r\n aria-expanded={actionOptionsOpen}\r\n aria-label=\"Action dropdown\"\r\n data-testid=\"actions\"\r\n >\r\n Actions \r\n \r\n\r\n }\r\n >\r\n
      \r\n {(updateServicesScopeStatus || isAuditOnlyClient) &&\r\n
    • \r\n { setActionOptionsOpen(false); toggleServiceScopeModal(); }} type=\"button\"\r\n disabled={!updateServicesScopeStatus || isAuditOnlyClient}\r\n data-testid=\"updateServicesScope\">\r\n Update Services Scope\r\n \r\n
    • \r\n ||\r\n
    • \r\n { setActionOptionsOpen(false); toggleServiceScopeModal(); }} type=\"button\"\r\n disabled={!updateServicesScopeStatus} data-testid=\"updateServicesScope\"\r\n >\r\n Update Services Scope\r\n \r\n \r\n \r\n }\r\n >\r\n {Constants.bulkProcessManagementMessages.toolTipMessage}\r\n \r\n
    • \r\n }\r\n\r\n {updateSignOffStatus &&\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowSignOffModal(); }} type=\"button\"\r\n disabled={!updateSignOffStatus}\r\n data-testid=\"deleteUsers\" >\r\n Update Sign Off Status\r\n \r\n
    • \r\n ||\r\n
    • \r\n { setActionOptionsOpen(false); toggleShowSignOffModal(); }} type=\"button\"\r\n disabled={!updateSignOffStatus} data-testid=\"updateSignOffStatus\">\r\n Update Sign Off Status\r\n \r\n \r\n \r\n }\r\n >\r\n {Constants.bulkProcessManagementMessages.toolTipMessage}\r\n \r\n
    • \r\n }\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nBulkProcessManagementHeader.propTypes = {\r\n calendarYears: PropTypes.array,\r\n handleCalendarYearSelection: PropTypes.func,\r\n handleReportPeriodSelection: PropTypes.func,\r\n gridCurrentState: PropTypes.array,\r\n toggleShowSignOffModal: PropTypes.func,\r\n toggleServiceScopeModal: PropTypes.func,\r\n isAuditOnlyClient: PropTypes.bool\r\n}\r\n\r\nexport default BulkProcessManagementHeader;","import React from 'react';\r\nimport { MotifCheckbox } from \"@ey-xd/motif-react\";\r\n\r\nexport default (props) => {\r\n let rowsChecked = 0;\r\n let totalRows = 0;\r\n\r\n // Check for total rows and rows checked within filtered rows\r\n props.api.forEachNodeAfterFilter((rowNode) => {\r\n if (rowNode.data && rowNode.data.isReitAvailableForSelection) {\r\n totalRows++;\r\n if (rowNode.data.reitSelection){\r\n rowsChecked++;\r\n }\r\n }\r\n });\r\n\r\n let headerCheckboxValue = false;\r\n let indeterminate = false;\r\n const defaultCheckboxClass = \"ag-wrapper ag-input-wrapper ag-checkbox-input-wrapper\";\r\n let checkboxClass = defaultCheckboxClass;\r\n\r\n if (rowsChecked === 0) {\r\n headerCheckboxValue = false;\r\n }\r\n else if (totalRows === rowsChecked) {\r\n headerCheckboxValue = true;\r\n checkboxClass = defaultCheckboxClass + \" ag-checked\";\r\n }\r\n else {\r\n headerCheckboxValue = false;\r\n indeterminate = true;\r\n checkboxClass = defaultCheckboxClass + \" ag-indeterminate\";\r\n }\r\n\r\n return (\r\n
    \r\n props.onHeaderCheckboxChange(headerCheckboxValue)}\r\n indeterminate={indeterminate}>\r\n \r\n
    {props.displayName}
    \r\n
    \r\n );\r\n};","import React from 'react';\r\nimport { MotifCheckbox } from \"@ey-xd/motif-react\";\r\n\r\nexport default (props) => {\r\n const value = props.data ? props.data[props.colDef.field] : null;\r\n const reitId = props.data ? props.data.reitid : null;\r\n const isReitAvailableForSelection = props.data ? props.data.isReitAvailableForSelection : null;\r\n\r\n // Display checkbox if the reit is available for selection\r\n if (props.data && isReitAvailableForSelection) {\r\n const defaultCheckboxClass = \"ag-wrapper ag-input-wrapper ag-checkbox-input-wrapper\";\r\n let checkboxClass = value ? defaultCheckboxClass + \" ag-checked\" : defaultCheckboxClass;\r\n\r\n return (\r\n \r\n props.onCellCheckboxChange(reitId, props.node)}>\r\n \r\n \r\n );\r\n }\r\n\r\n // Display loading spinner if the reit is not available for selection\r\n if (props.data && !isReitAvailableForSelection) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return null;\r\n};","import React from \"react\";\r\n\r\nimport { MotifIcon } from '@ey-xd/motif-react';\r\nimport { IconoirCheck } from '@ey-xd/motif-icon';\r\n\r\nexport default (props) => {\r\n const value = props.data ? props.data[props.colDef.field] : null;\r\n\r\n if (props.data && value) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return null;\r\n}","import React, {\r\n useState,\r\n useRef,\r\n useEffect,\r\n useMemo,\r\n useCallback,\r\n} from \"react\";\r\n\r\nimport { AgGridReact } from \"ag-grid-react\";\r\nimport {\r\n MotifPagination,\r\n MotifPaginationSelect,\r\n MotifPaginationSelectItem,\r\n MotifTable,\r\n} from \"@ey-xd/motif-react\";\r\n\r\nimport CustomHeaderTemplate from \"../shared/customHeaders/CustomHeaderTemplate.js\";\r\nimport ReitCheckboxHeaderRenderer from \"./customRenderes/ReitCheckboxHeaderRenderer\";\r\nimport ReitCheckboxCellRenderer from \"./customRenderes/ReitCheckboxCellRenderer\";\r\nimport AppliedServiceScopeCellRenderer from \"./customRenderes/AppliedServiceScopeCellRenderer.js\";\r\n\r\nconst BulkProcessManagementTable = ({\r\n bulkProcessManagementData,\r\n gridColumnState,\r\n handleGridChanges,\r\n handleGridColumnStateChange,\r\n}) => {\r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]);\r\n const rowDataRef = useRef({});\r\n rowDataRef.current = rowData;\r\n\r\n const onHeaderCheckboxChange = (isHeaderCheckboxSelected) => {\r\n let updatedData = rowDataRef.current;\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n // Select checkbox for filtered rows only\r\n gridRef.current.api.forEachNodeAfterFilter((rowNode) => {\r\n // Invert the selection status for each row\r\n if (rowNode.level === 0) {\r\n updatedData = rowDataRef.current.map((newUd) => {\r\n if (newUd.isReitAvailableForSelection) {\r\n return {\r\n ...newUd,\r\n reitSelection: !isHeaderCheckboxSelected,\r\n };\r\n }\r\n return newUd;\r\n });\r\n }\r\n });\r\n\r\n setRowData(updatedData);\r\n gridRef.current.api.refreshHeader();\r\n }\r\n };\r\n\r\n const onCellCheckboxChange = (reitId, rowNode) => {\r\n const updatedData = rowDataRef.current.map((newUd) => {\r\n if (newUd.reitid === reitId) {\r\n return {\r\n ...newUd,\r\n reitSelection: !newUd.reitSelection,\r\n };\r\n }\r\n return newUd;\r\n });\r\n\r\n setRowData(updatedData);\r\n gridRef.current.api.refreshHeader();\r\n };\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: \"reitSelection\",\r\n headerName: \"\",\r\n suppressMenu: true,\r\n headerComponent: ReitCheckboxHeaderRenderer,\r\n headerComponentParams: {\r\n onHeaderCheckboxChange: onHeaderCheckboxChange,\r\n },\r\n cellRenderer: ReitCheckboxCellRenderer,\r\n cellRendererParams: { onCellCheckboxChange: onCellCheckboxChange },\r\n minWidth: 70,\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n {\r\n field: \"reit\",\r\n headerName: \"REIT\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 300,\r\n valueGetter: (params) => {\r\n return params.data && params.data.reitName;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.reitName;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"reit\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n {\r\n headerName: \"Services Scope\",\r\n marryChildren: true,\r\n children: [\r\n {\r\n field: \"assetTesting\",\r\n headerName: \"Asset Testing\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 150,\r\n valueGetter: (params) => {\r\n return params.data && params.data.assetTesting;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.assetTesting;\r\n },\r\n cellRenderer: AppliedServiceScopeCellRenderer,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"assetTesting\"),\r\n },\r\n cellStyle: { textAlign: \"center\" },\r\n resizable: true,\r\n },\r\n {\r\n field: \"incomeTesting\",\r\n headerName: \"Income Testing\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 160,\r\n valueGetter: (params) => {\r\n return params.data && params.data.incomeTesting;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.incomeTesting;\r\n },\r\n cellRenderer: AppliedServiceScopeCellRenderer,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"incomeTesting\"),\r\n },\r\n cellStyle: { textAlign: \"center\" },\r\n resizable: true,\r\n },\r\n {\r\n field: \"distributionTesting\",\r\n headerName: \"Distribution Testing\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 180,\r\n valueGetter: (params) => {\r\n return params.data && params.data.distributionTesting;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.distributionTesting;\r\n },\r\n cellRenderer: AppliedServiceScopeCellRenderer,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"distributionTesting\"),\r\n },\r\n cellStyle: { textAlign: \"center\" },\r\n resizable: true,\r\n },\r\n {\r\n field: \"psq\",\r\n headerName: \"PSQ\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 100,\r\n valueGetter: (params) => {\r\n return params.data && params.data.psq;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.psq;\r\n },\r\n cellRenderer: AppliedServiceScopeCellRenderer,\r\n headerComponentParams: { template: CustomHeaderTemplate(\"psq\") },\r\n cellStyle: { textAlign: \"center\" },\r\n resizable: true,\r\n },\r\n {\r\n field: \"arqc\",\r\n headerName: \"ARQC\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 100,\r\n valueGetter: (params) => {\r\n return params.data && params.data.arqc;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.arqc;\r\n },\r\n cellRenderer: AppliedServiceScopeCellRenderer,\r\n headerComponentParams: { template: CustomHeaderTemplate(\"arqc\") },\r\n cellStyle: { textAlign: \"center\" },\r\n resizable: true,\r\n },\r\n {\r\n field: \"leaseReview\",\r\n headerName: \"Lease Review\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 150,\r\n valueGetter: (params) => {\r\n return params.data && params.data.leaseReview;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.leaseReview;\r\n },\r\n cellRenderer: AppliedServiceScopeCellRenderer,\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"leaseReview\"),\r\n },\r\n cellStyle: { textAlign: \"center\" },\r\n resizable: true,\r\n },\r\n ],\r\n },\r\n {\r\n field: \"signOffStatus\",\r\n headerName: \"Sign Off Status\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 200,\r\n valueGetter: (params) => {\r\n return params.data && params.data.signOffStatus;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.signOffStatus;\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"signOffStatus\"),\r\n },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n ];\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Grid Global Listner\r\n const gridGlobalListner = function (type, event) {\r\n if (type.indexOf(\"columnVisible\") >= 0) {\r\n handleGridColumnsChanged(event);\r\n }\r\n\r\n // Bind handleFilterChanged event to filterChanged and rowDataUpdated events\r\n if (type.indexOf(\"filterChanged\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n }\r\n\r\n if (type.indexOf(\"rowDataUpdated\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n } \r\n\r\n };\r\n\r\n //Handle Grid Ready event\r\n const handleGridReady = (event) => {\r\n //Remove event for column state change\r\n event.api.removeEventListener(gridGlobalListner);\r\n\r\n //Add event for column state change\r\n event.api.addGlobalListener(gridGlobalListner);\r\n\r\n //Apply column state\r\n var columnState = localStorage.getItem(\r\n \"REITSuiteBulkProcessManagementColumnState\"\r\n );\r\n if (columnState) {\r\n gridRef.current.columnApi.applyColumnState({\r\n state: JSON.parse(columnState),\r\n applyOrder: true,\r\n });\r\n }\r\n\r\n // Set the page size and total pages on the first load\r\n handleItemsPerPageChange(100); // Setting it 100 to make sure the default number of items on load is always set to 100\r\n };\r\n\r\n // Handle OnFilterChanged event\r\n const handleFilterChanged = (event) => {\r\n let filteredRowData = [];\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n if (currentPage > calcTotalPages) {\r\n if (calcTotalPages == 0) {\r\n setTimeout(function () {\r\n setCurrentPage(calcTotalPages);\r\n }, 0);\r\n } else {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n const gridCurrentPage =\r\n gridRef.current.api.paginationGetCurrentPage() + 1; // Adding 1 since it returns zero based index\r\n if (currentPage < gridCurrentPage && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n }\r\n\r\n // Show the expected value as 1 for current page \r\n if (currentPage <= 1 && gridCurrentPage == 1 && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n } \r\n }\r\n };\r\n\r\n //Handle First Data Renderered event\r\n const handleFirstDataRendered = (event) => {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n };\r\n\r\n //Handle Grid Columns changed event\r\n const handleGridColumnsChanged = (event) => {\r\n var currentColumnState = gridRef.current.columnApi.getColumnState();\r\n var localStorageColumnState = localStorage.getItem(\r\n \"REITSuiteBulkProcessManagementColumnState\"\r\n );\r\n\r\n // If the column state details are not exists in local storage then save the changed Column state data\r\n if (\r\n currentColumnState &&\r\n currentColumnState.filter((col) => col.hide == true)?.length > 0 &&\r\n !localStorageColumnState\r\n ) {\r\n saveUserPreferenceDetails();\r\n } else if (localStorageColumnState) {\r\n // If the column state details are exists in local storage then save the changed Column state data only if difference is found\r\n var columnsStateArray = JSON.parse(localStorageColumnState);\r\n if (\r\n columnsStateArray &&\r\n columnsStateArray.length > 0 &&\r\n currentColumnState &&\r\n currentColumnState.length > 0 &&\r\n columnsStateArray.filter((col) => col.hide == true)?.length !=\r\n currentColumnState.filter((col) => col.hide == true)?.length\r\n ) {\r\n //If column state mismatch found then only save column state data to avoid saving same state\r\n saveUserPreferenceDetails();\r\n }\r\n }\r\n\r\n //Trigger Grid Column state change (of parent) to sync column state data\r\n handleGridColumnStateChange(currentColumnState);\r\n\r\n gridRef &&\r\n gridRef.current &&\r\n gridRef.current.columnApi &&\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n };\r\n\r\n //Save User Preference details (Column state)\r\n const saveUserPreferenceDetails = useCallback(() => {\r\n var columnState = gridRef.current.columnApi.getColumnState();\r\n if (columnState) {\r\n localStorage.setItem(\r\n \"REITSuiteBulkProcessManagementColumnState\",\r\n JSON.stringify(columnState)\r\n );\r\n }\r\n }, []);\r\n\r\n //Handle Grid Items per Page change event\r\n const handleItemsPerPageChange = (val) => {\r\n gridRef.current.api.paginationGoToFirstPage();\r\n gridRef.current.api.paginationSetPageSize(Number(val));\r\n setCurrentPage(1);\r\n setItemsPerPage(val);\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n useEffect(() => {\r\n handleGridChanges(\r\n rowData,\r\n gridRef && gridRef.current ? gridRef.current.api : null\r\n );\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n setRowData(bulkProcessManagementData);\r\n\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.redrawRows();\r\n gridRef.current.api.refreshHeader();\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n }, [bulkProcessManagementData]);\r\n\r\n useEffect(() => {\r\n //Reset Grid to default column state\r\n //When Grid Column state changes due to Reset Column State action then Reset Grid to default column state\r\n var localStorageColumnState = localStorage.getItem(\r\n \"REITSuiteBulkProcessManagementColumnState\"\r\n );\r\n if (\r\n !localStorageColumnState &&\r\n gridRef &&\r\n gridRef.current &&\r\n gridRef.current.api\r\n ) {\r\n gridRef.current.api.setColumnDefs([]);\r\n gridRef.current.api.setColumnDefs(getColumnDefs());\r\n }\r\n }, [gridColumnState]);\r\n\r\n const rowHeight = 75; \r\n const headerHeight = 95; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n {bulkProcessManagementData &&\r\n bulkProcessManagementData.length > 0 && (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n handleItemsPerPageChange(50)}\r\n >\r\n Show 50\r\n \r\n handleItemsPerPageChange(100)}\r\n >\r\n Show 100\r\n \r\n handleItemsPerPageChange(150)}\r\n >\r\n Show 150\r\n \r\n handleItemsPerPageChange(200)}\r\n >\r\n Show 200\r\n \r\n \r\n \r\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 BulkProcessManagementTable;\r\n","import React from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport { bindActionCreators } from \"redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { reduxForm } from \"redux-form\";\r\nimport BulkProcessSignOffModal from \"../../components/bulkProcessManagement/BulkProcessSignOffModal\";\r\nimport BulkProcessUpdateServiceAlertModal from '../../components/bulkProcessManagement/BulkProcessUpdateServiceAlertModal'\r\nimport BulkProcessManagementHeader from \"../../components/bulkProcessManagement/BulkProcessManagementHeader\";\r\nimport BulkProcessManagementTable from \"../../components/bulkProcessManagement/BulkProcessManagementTable\";\r\nimport * as Constants from '../../constants/other';\r\nimport * as bulkProcessManagementActions from \"../../actions/bulkProcessManagementActions\";\r\nimport ScopedServicesModal from \"../../components/reits/ScopedServicesModal\";\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport * as actions from '../../actions/actionTypes';\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * BulkProcessManagementContainer component\r\n * @extends {React.Component}\r\n */\r\nexport class BulkProcessManagementContainer extends React.Component {\r\n /**\r\n * Creates a new BulkReportManagementContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n this.handleCalendarYearSelection = this.handleCalendarYearSelection.bind(this);\r\n this.handleReportPeriodSelection = this.handleReportPeriodSelection.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.setGridColumnState = this.setGridColumnState.bind(this);\r\n this.handleGridColumnStateChange = this.handleGridColumnStateChange.bind(this);\r\n this.toggleShowSignOffModal = this.toggleShowSignOffModal.bind(this);\r\n this.handleSignOffSave = this.handleSignOffSave.bind(this);\r\n this.toggleServiceScopeModal = this.toggleServiceScopeModal.bind(this);\r\n this.handleServiceScopeSaveAction = this.handleServiceScopeSaveAction.bind(this);\r\n this.handleServiceScopeCancelAction = this.handleServiceScopeCancelAction.bind(this);\r\n this.handleServiceSelected = this.handleServiceSelected.bind(this);\r\n this.toggleShowUpdateServiceScopeInfo=this.toggleShowUpdateServiceScopeInfo.bind(this);\r\n\r\n this.state = {\r\n calendarYears: [],\r\n selectedCalanderYear: null,\r\n selectedReportPeriod: Constants.reportPeriodQuarter[0].value,\r\n bulkProcessManagementData: [],\r\n gridCurrentState: [],\r\n gridColumnState: [],\r\n showSignOffModal: false,\r\n showServiceScopeModal: false,\r\n selectedServices: Constants.defaultSelectedServiceScope,\r\n selectedSignOffStatus: null,\r\n resetSignOffRadioButtons: false,\r\n bulkProcessActionId: null,\r\n diagnosticMessage: '',\r\n showUpdateServiceScopeInfo: false,\r\n };\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n // Set the calendar years\r\n this.setState({ bulkProcessManagementData: this.props.bulkProcessManagementData }, this.setCalendarYears);\r\n this.setGridColumnState(); // Set default state for grid columns\r\n if (this.props.reitActions) {\r\n this.props.reitActions.fetchReitLookupTypes();\r\n }\r\n }\r\n\r\n /**\r\n * Invoked when a new props is recived\r\n * @returns {undefined}\r\n */\r\n \r\n componentDidUpdate(prevProps) {\r\n if (\r\n this.props.bulkProcessManagementData &&\r\n this.props.bulkProcessManagementData !== prevProps.bulkProcessManagementData\r\n ) {\r\n this.setState({ bulkProcessManagementData: this.props.bulkProcessManagementData });\r\n }\r\n }\r\n\r\n /**\r\n * Invoked immediately before unmounting occurs\r\n * @returns {undefined}\r\n */\r\n componentWillUnmount() {\r\n // On unmount, clear the state to conserve memory\r\n this.setState({ bulkProcessManagementData: [] });\r\n\r\n // Clearing the redux state for bulk process management data\r\n this.props.bulkProcessManagementActions.fetchBulkProcessManagementData();\r\n }\r\n\r\n setCalendarYears() {\r\n\r\n // Get the current year\r\n // Fetch calendar years for current client\r\n const currentYear = new Date().getFullYear();\r\n\r\n // Calculate the previous year\r\n const previousYear = currentYear - 1;\r\n\r\n // Create an array containing the current and previous years\r\n const yearsArray = [currentYear, previousYear];\r\n\r\n this.setState({\r\n calendarYears: yearsArray,\r\n selectedCalanderYear: yearsArray[0]\r\n }, this.getBulkProcessManagementData);\r\n }\r\n\r\n handleCalendarYearSelection(calendarYear) {\r\n this.setState({\r\n selectedCalanderYear: calendarYear\r\n }, this.getBulkProcessManagementData);\r\n }\r\n\r\n handleReportPeriodSelection(reportPeriod) {\r\n this.setState({\r\n selectedReportPeriod: reportPeriod\r\n }, this.getBulkProcessManagementData);\r\n }\r\n\r\n getBulkProcessManagementData() {\r\n this.props.bulkProcessManagementActions.fetchBulkProcessManagementData(\r\n this.props.clientId,\r\n this.state.selectedCalanderYear,\r\n this.state.selectedReportPeriod\r\n );\r\n }\r\n\r\n /**\r\n * Set AG-Grid column state \r\n * @returns {undefined}\r\n */\r\n setGridColumnState() {\r\n var columnState = localStorage.getItem('REITSuiteBulkProcessManagementColumnState');\r\n if (columnState) {\r\n this.setState({ gridColumnState: JSON.parse(columnState) });\r\n }\r\n else {\r\n this.setState({ gridColumnState: [{ colId: '-1' }] });\r\n }\r\n }\r\n\r\n /**\r\n * Handle Grid column state chagne\r\n * @returns {undefined}\r\n */\r\n handleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n }\r\n\r\n toggleShowSignOffModal() {\r\n this.setState({\r\n showSignOffModal: !this.state.showSignOffModal, resetSignOffRadioButtons: !this.state.resetSignOffRadioButtons\r\n });\r\n }\r\n\r\n toggleShowUpdateServiceScopeInfo(){\r\n this.setState({\r\n showUpdateServiceScopeInfo: !this.state.showUpdateServiceScopeInfo\r\n });\r\n }\r\n handleSignOffSave(selectedOption) {\r\n // Set the Bulk Process Action ID to 1\r\n const requestedAction= Constants.updateSignOffStatusAction.find(x=>x.value==selectedOption).action;\r\n this.setState({ bulkProcessActionId: selectedOption,selectedServices:null,selectedSignOffStatus : requestedAction }, this.initiateBulkProcess);\r\n }\r\n\r\n handleServiceScopeSaveAction() {\r\n // Set the Bulk Process Action ID to 1\r\n this.setState({ bulkProcessActionId: 1 }, this.initiateBulkProcess);\r\n }\r\n\r\n handleServiceScopeCancelAction() {\r\n this.setState({ selectedServices: Constants.defaultSelectedServiceScope });\r\n this.toggleServiceScopeModal();\r\n }\r\n\r\n toggleServiceScopeModal() {\r\n const currentUserIsEngagementUser= authActions.isUser(this.props.currentUserAuthorizations, this.props.clientId);\r\n \r\n if(currentUserIsEngagementUser && this.hasCompleteOrClosedToReportingReits()){\r\n this.toggleShowUpdateServiceScopeInfo();\r\n return;\r\n }\r\n this.setState({ selectedServices: Constants.defaultSelectedServiceScope });\r\n this.setState({\r\n showServiceScopeModal: !this.state.showServiceScopeModal\r\n });\r\n }\r\n\r\n handleServiceSelected(service, isSelected) {\r\n if (isSelected) {\r\n const selectedServicesSet = new Set([...this.state.selectedServices, service]);\r\n this.setState({ selectedServices: [...selectedServicesSet] });\r\n } else {\r\n const selectedServices = this.state.selectedServices.filter(s => s != service);\r\n this.setState({ selectedServices });\r\n }\r\n }\r\n\r\n handleGridChanges(gridRowData) {\r\n let rowData = [];\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n reitID: x.reitid,\r\n isReitAvailableForSelection: x.isReitAvailableForSelection,\r\n reitSelection: x.isReitAvailableForSelection ? x.reitSelection : false,\r\n assetTesting: x.assetTesting,\r\n incomeTesting: x.incomeTesting,\r\n distributionTesting: x.distributionTesting,\r\n psq: x.psq,\r\n arqc: x.arqc,\r\n leaseReview: x.leaseReview,\r\n signOffStatus: x.signOffStatus,\r\n }\r\n });\r\n\r\n this.setState({ gridCurrentState: rowData });\r\n }\r\n\r\n initiateBulkProcess() {\r\n const request = {\r\n clientId: this.props.clientId,\r\n calendarYear: this.state.selectedCalanderYear,\r\n quarterDescription: this.state.selectedReportPeriod,\r\n reitIds: this.getSelectedReits(),\r\n bulkProcessActionId: this.state.bulkProcessActionId,\r\n diagnosticMessage: this.state.diagnosticMessage,\r\n bulkProcessRequestJSON: this.getBulkProcessRequestJSON(),\r\n };\r\n\r\n const currentGridState = [...this.state.gridCurrentState];\r\n const currentBulkProcessManagementDataState = [...this.state.bulkProcessManagementData];\r\n\r\n this.updateCheckboxsState(request.reitIds);\r\n\r\n this.props.bulkProcessManagementActions.initiateBulkProcess(request)\r\n .then((isErrored) => {\r\n if (isErrored) {\r\n this.setState({ currentGridState: currentGridState, bulkProcessManagementData: currentBulkProcessManagementDataState });\r\n }\r\n })\r\n .catch((isErrored) => {\r\n if (isErrored) {\r\n this.setState({ currentGridState: currentGridState, bulkProcessManagementData: currentBulkProcessManagementDataState });\r\n }\r\n });\r\n\r\n this.resetModalsToggleState();\r\n }\r\n\r\n updateCheckboxsState(reitsToBeUpdated) {\r\n const rowData = this.state.gridCurrentState.map(row => {\r\n if (reitsToBeUpdated.find(r => r === row.reitID)) {\r\n return {\r\n ...row,\r\n isReitAvailableForSelection: false,\r\n reitSelection: false,\r\n };\r\n } else {\r\n return row;\r\n }\r\n });\r\n\r\n const updatedBulkProcessManagementData = this.state.bulkProcessManagementData.map(data => {\r\n if (reitsToBeUpdated.find(r => r === data.reitid)) {\r\n return {\r\n ...data,\r\n isReitAvailableForSelection: false,\r\n reitSelection: false,\r\n };\r\n } else {\r\n return data;\r\n }\r\n });\r\n\r\n this.props.bulkProcessManagementActions.dispatchBulkProcessData(updatedBulkProcessManagementData, actions.LOAD_BULK_PROCESS_MANAGEMENT_DATA_REFRESH);\r\n this.setState({ gridCurrentState: rowData });\r\n }\r\n\r\n resetModalsToggleState() {\r\n this.setState({ showServiceScopeModal: false, showSignOffModal: false });\r\n }\r\n\r\n getSelectedReits() {\r\n return this.state.gridCurrentState.filter(r => r.reitSelection).map(r => r.reitID);\r\n }\r\n\r\n hasCompleteOrClosedToReportingReits() {\r\n return this.state.gridCurrentState.some(r => (r.signOffStatus == 'Complete' || r.signOffStatus == 'Reporting Closed' || r.signOffStatus == 'Testing Closed') && r.reitSelection);\r\n \r\n }\r\n\r\n getBulkProcessRequestJSON() {\r\n \r\n return {\r\n services: this.state.bulkProcessActionId == 1 && !this.state.selectedServices.length? Constants.emptySelectedServiceScope: this.state.selectedServices,\r\n requestedSignOffStatus: this.state.selectedSignOffStatus,\r\n };\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n <>\r\n \r\n \r\n {(this.props.bulkProcessManagementData == null || this.props.bulkProcessManagementData.length === 0) &&\r\n
    No REITs found for the selected calendar year and the report period.
    }\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nBulkProcessManagementContainer.propTypes = {\r\n clientId: PropTypes.number,\r\n calendarYears: PropTypes.array,\r\n bulkProcessManagementData: PropTypes.array,\r\n reitActions: PropTypes.object,\r\n currentUserIsEngagementUser: PropTypes.bool.isRequired,\r\n currentUserAuthorizations: PropTypes.array,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n clientId: Number.parseInt(ownProps.router.params.clientId),\r\n bulkProcessManagementData: state.bulkProcessManagementData,\r\n lookupTypes: state.lookupTypes,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n client: state.client\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n bulkProcessManagementActions: bindActionCreators(bulkProcessManagementActions, dispatch),\r\n reitActions: bindActionCreators(reitActions, dispatch),\r\n authActions:bindActionCreators(reitActions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(\r\n reduxForm({ form: \"bulkProcessManagementForm\", enableReinitialize: true })(BulkProcessManagementContainer)\r\n )\r\n);\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Field, reduxForm, getFormValues, reset } from 'redux-form';\r\nimport { connect } from 'react-redux';\r\nimport { MotifButton, MotifLabel, MotifTooltip } from '@ey-xd/motif-react';\r\nimport { useSelector } from 'react-redux';\r\nimport { addAttribute } from '../../common/Attribute';\r\nimport * as formHelpers from '../../scripts/formHelpers';\r\n\r\nconst BulkRollForwardHeader = ({\r\n bulkRollForwardFormValues,\r\n enableSubmit,\r\n handleSubmit,\r\n isAudit,\r\n}) => {\r\n useEffect(() => {\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", 'type', 'button');\r\n });\r\n\r\n const quarterOptionValues = [\r\n \"Quarter 1\",\r\n \"Quarter 2\",\r\n \"Quarter 3\",\r\n \"Quarter 4\",\r\n ];\r\n const featureFlags = useSelector(\r\n state => state.featureManagementData\r\n );\r\n const quarterOptions = quarterOptionValues.map((quarterOption) => {\r\n return {\r\n key: quarterOption,\r\n text: `Q${quarterOption.slice(-1)}`,\r\n value: `Q${quarterOption.slice(-1)}`,\r\n };\r\n });\r\n\r\n const currentYear = new Date().getFullYear();\r\n let yearOptionValues = [];\r\n const dropdownStartYear = isAudit == true ? currentYear - 1 : currentYear - 5;\r\n let initialYear = featureFlags && featureFlags['RestrictedReportPeriodLimit'] ? dropdownStartYear : currentYear - 5;\r\n\r\n for (let i = initialYear; i <= currentYear + 10; i++) {\r\n yearOptionValues.push(i.toString());\r\n }\r\n\r\n const yearOptions = yearOptionValues.map((yearOption) => {\r\n return { key: yearOption, text: yearOption, value: yearOption };\r\n });\r\n\r\n return (\r\n <>\r\n {/* Header area */}\r\n

    Bulk Roll Forward

    \r\n
    \r\n {/* Form area */}\r\n
    \r\n
    \r\n Roll Forward To:\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {\r\n enableSubmit && Roll Forward REIT(s)\r\n }\r\n {\r\n !enableSubmit &&\r\n Roll Forward REIT(s)}\r\n >\r\n You have to select the \"Roll Forward To\" option and a REIT in order to perform this action.\r\n \r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nBulkRollForwardHeader.propTypes = {\r\n enableSubmit: PropTypes.bool,\r\n handleSubmit: PropTypes.func,\r\n};\r\n\r\nexport default connect((state) => ({\r\n bulkRollForwardFormValues: getFormValues('bulkRollForwardForm')(state),\r\n}))(\r\n reduxForm({ form: 'bulkRollForwardForm' })(\r\n BulkRollForwardHeader\r\n )\r\n);","import React from 'react';\r\nimport { MotifCheckbox } from \"@ey-xd/motif-react\";\r\n\r\nexport default (props) => {\r\n let rowsChecked = 0;\r\n let totalRows = 0;\r\n\r\n // Check for total rows and rows checked within filtered rows\r\n props.api.forEachNodeAfterFilter((rowNode) => {\r\n if (rowNode.data && rowNode.data.isReitAvailableForSelection && rowNode.data.isReitActive) {\r\n totalRows++;\r\n if (rowNode.data.reitSelection){\r\n rowsChecked++;\r\n }\r\n }\r\n });\r\n\r\n let headerCheckboxValue = false;\r\n let indeterminate = false;\r\n const defaultCheckboxClass = \"ag-wrapper ag-input-wrapper ag-checkbox-input-wrapper\";\r\n let checkboxClass = defaultCheckboxClass;\r\n\r\n if (rowsChecked === 0) {\r\n headerCheckboxValue = false;\r\n }\r\n else if (totalRows === rowsChecked) {\r\n headerCheckboxValue = true;\r\n checkboxClass = defaultCheckboxClass + \" ag-checked\";\r\n }\r\n else {\r\n headerCheckboxValue = false;\r\n indeterminate = true;\r\n checkboxClass = defaultCheckboxClass + \" ag-indeterminate\";\r\n }\r\n\r\n return (\r\n
    \r\n props.onHeaderCheckboxChange(headerCheckboxValue)}\r\n indeterminate={indeterminate}>\r\n \r\n
    {props.displayName}
    \r\n
    \r\n );\r\n};","import React from 'react';\r\nimport { MotifCheckbox } from \"@ey-xd/motif-react\";\r\n\r\nexport default (props) => {\r\n const value = props.data ? props.data[props.colDef.field] : null;\r\n const reitId = props.data ? props.data.reitid : null;\r\n const isReitAvailableForSelection = props.data ? props.data.isReitAvailableForSelection : null;\r\n const isReitActive = props.data ? props.data.isReitActive : null;\r\n\r\n // Disable checkbox for selection if the reit is inactive\r\n if (props.data && !isReitActive) {\r\n return null;\r\n }\r\n\r\n // Display checkbox if the reit is available for selection\r\n if (props.data && isReitAvailableForSelection) {\r\n const defaultCheckboxClass = \"ag-wrapper ag-input-wrapper ag-checkbox-input-wrapper\";\r\n let checkboxClass = value ? defaultCheckboxClass + \" ag-checked\" : defaultCheckboxClass;\r\n\r\n return (\r\n // \r\n //
    props.onCellCheckboxChange(reitId, props.node)} role=\"presentation\">\r\n // \r\n //
    \r\n //
    \r\n \r\n props.onCellCheckboxChange(reitId, props.node)}>\r\n \r\n \r\n );\r\n }\r\n\r\n // Display loading spinner if the reit is not available for selection\r\n if (props.data && !isReitAvailableForSelection) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return null;\r\n};","import React from 'react';\r\n\r\nimport { MotifTooltip } from \"@ey-xd/motif-react\";\r\n\r\nexport default (props) => {\r\n const isReitAvailableForSelection = props.data ? props.data.isReitAvailableForSelection : null;\r\n const isReitActive = props.data ? props.data.isReitActive : null;\r\n const reitName = props.data ? props.data.reitName : null;\r\n\r\n if (props.data && !isReitActive) {\r\n return (\r\n {reitName}}\r\n >\r\n This REIT is Inactive and unavailable for selection.\r\n \r\n );\r\n }\r\n\r\n if (props.data && !isReitAvailableForSelection) {\r\n return (\r\n {reitName}}\r\n >\r\n This REIT is currently unavailable for selection as the bulk update or roll forward is in progress.\r\n \r\n );\r\n }\r\n\r\n if (props.data && isReitAvailableForSelection) {\r\n return (\r\n \r\n {reitName}\r\n \r\n );\r\n }\r\n\r\n return null;\r\n};","import React, { useState, useRef, useEffect, useMemo, useCallback } from \"react\";\r\n\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport { MotifPagination, MotifPaginationSelect, MotifPaginationSelectItem, MotifTable } from \"@ey-xd/motif-react\";\r\n\r\nimport CustomHeaderTemplate from '../shared/customHeaders/CustomHeaderTemplate.js';\r\nimport BulkRollForwardReitCheckboxHeaderRenderer from \"./customRenderers/BulkRollForwardReitCheckboxHeaderRenderer.js\";\r\nimport BulkRollForwardReitCheckboxCellRenderer from \"./customRenderers/BulkRollForwardReitCheckboxCellRenderer.js\";\r\nimport CustomReitToolTip from \"./customRenderers/CustomReitToolTip.js\";\r\n\r\n\r\nconst BulkRollForwardTable = ({\r\n bulkRollForwardData,\r\n gridColumnState,\r\n handleGridChanges,\r\n handleGridColumnStateChange,\r\n}) => {\r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]);\r\n const rowDataRef = useRef({});\r\n rowDataRef.current = rowData;\r\n\r\n const onHeaderCheckboxChange = (isHeaderCheckboxSelected) => {\r\n let updatedData = rowDataRef.current;\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n // Select checkbox for filtered rows only\r\n gridRef.current.api.forEachNodeAfterFilter((rowNode) => {\r\n // Invert the selection status for each row\r\n if (rowNode.level === 0) {\r\n updatedData = rowDataRef.current.map(newUd => {\r\n if (newUd.isReitActive && newUd.isReitAvailableForSelection) {\r\n return {\r\n ...newUd,\r\n reitSelection: !isHeaderCheckboxSelected\r\n };\r\n }\r\n return newUd;\r\n });\r\n }\r\n });\r\n\r\n setRowData(updatedData);\r\n gridRef.current.api.refreshHeader();\r\n }\r\n };\r\n\r\n const onCellCheckboxChange = (reitId, rowNode) => {\r\n let updatedData = rowDataRef.current.map(newUd => {\r\n if (newUd.reitid === reitId) {\r\n return {\r\n ...newUd,\r\n reitSelection: !newUd.reitSelection\r\n };\r\n }\r\n return newUd;\r\n });\r\n\r\n setRowData(updatedData); \r\n gridRef.current.api.refreshHeader();\r\n };\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n tooltipComponent: CustomReitToolTip,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: 'reitSelection', headerName: \"\", suppressMenu: true,\r\n headerComponent: BulkRollForwardReitCheckboxHeaderRenderer,\r\n headerComponentParams: { onHeaderCheckboxChange: onHeaderCheckboxChange },\r\n cellRenderer: BulkRollForwardReitCheckboxCellRenderer,\r\n cellRendererParams: { onCellCheckboxChange: onCellCheckboxChange },\r\n minWidth: 70,\r\n spanHeaderHeight: true,\r\n resizable: true\r\n },\r\n {\r\n field: 'reit', headerName: 'REIT', sortable: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 500,\r\n valueGetter: params => {\r\n return params.data && params.data.reitName;\r\n },\r\n filterValueGetter: params => { return params.data && params.data.reitName; },\r\n headerComponentParams: { template: CustomHeaderTemplate('reit') },\r\n resizable: true,\r\n cellRenderer: CustomReitToolTip,\r\n },\r\n {\r\n field: 'currentPeriod', headerName: 'Current Period', sortable: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 300,\r\n valueGetter: params => {\r\n return params.data && params.data.currentPeriod;\r\n },\r\n filterValueGetter: params => { return params.data && params.data.currentPeriod; },\r\n headerComponentParams: { template: CustomHeaderTemplate('currentPeriod') },\r\n resizable: true\r\n },\r\n {\r\n field: 'rollForwardToPeriod', headerName: 'Roll Forward To', sortable: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 300,\r\n valueGetter: params => {\r\n if (params.data && params.data.reitSelection) {\r\n return params.data && params.data.rollForwardToPeriod;\r\n }\r\n\r\n return null;\r\n },\r\n filterValueGetter: params => {\r\n if (params.data && params.data.reitSelection) {\r\n return params.data && params.data.rollForwardToPeriod;\r\n }\r\n\r\n return null;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate('rollForwardToPeriod') },\r\n resizable: true\r\n },\r\n {\r\n field: 'rollForwardStatus', headerName: 'Roll Forward Status', sortable: true, showRowGroup: false, rowGroup: false,\r\n minWidth: 300,\r\n valueGetter: params => {\r\n return params.data && params.data.bulkRollForwardStatusDescription;\r\n },\r\n filterValueGetter: params => { return params.data && params.data.bulkRollForwardStatusDescription; },\r\n headerComponentParams: { template: CustomHeaderTemplate('rollForwardStatus') },\r\n resizable: true\r\n },\r\n ];\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Grid Global Listner\r\n const gridGlobalListner = function (type, event) {\r\n if (type.indexOf(\"columnVisible\") >= 0) {\r\n handleGridColumnsChanged(event);\r\n }\r\n\r\n // Bind handleFilterChanged event to filterChanged and rowDataUpdated events\r\n if (type.indexOf(\"filterChanged\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n }\r\n\r\n if (type.indexOf(\"rowDataUpdated\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n } \r\n }\r\n\r\n //Handle Grid Ready event\r\n const handleGridReady = (event) => {\r\n //Remove event for column state change\r\n event.api.removeEventListener(gridGlobalListner);\r\n\r\n //Add event for column state change\r\n event.api.addGlobalListener(gridGlobalListner);\r\n\r\n //Apply column state\r\n var columnState = localStorage.getItem('REITSuiteBulkRollForwardColumnState');\r\n if (columnState) {\r\n gridRef.current.columnApi.applyColumnState({\r\n state: JSON.parse(columnState),\r\n applyOrder: true,\r\n });\r\n }\r\n\r\n // Set the page size and total pages on the first load \r\n handleItemsPerPageChange(100); // Setting it 100 to make sure the default number of items on load is always set to 100\r\n }\r\n\r\n // Handle OnFilterChanged event\r\n const handleFilterChanged = (event) => {\r\n let filteredRowData = [];\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n if (currentPage > calcTotalPages) {\r\n if (calcTotalPages == 0) {\r\n setTimeout(function () { setCurrentPage(calcTotalPages); }, 0)\r\n }\r\n else {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n const gridCurrentPage = gridRef.current.api.paginationGetCurrentPage() + 1; // Adding 1 since it returns zero based index\r\n if (currentPage < (gridCurrentPage) && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n }\r\n\r\n // Show the expected value as 1 for current page \r\n if (currentPage <= 1 && gridCurrentPage == 1 && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n } \r\n }\r\n }\r\n\r\n //Handle First Data Renderered event\r\n const handleFirstDataRendered = (event) => {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Handle Grid Columns changed event\r\n const handleGridColumnsChanged = (event) => {\r\n var currentColumnState = gridRef.current.columnApi.getColumnState();\r\n var localStorageColumnState = localStorage.getItem('REITSuiteBulkRollForwardColumnState');\r\n\r\n // If the column state details are not exists in local storage then save the changed Column state data\r\n if (currentColumnState && currentColumnState.filter(col => col.hide == true)?.length > 0 && !localStorageColumnState) {\r\n saveUserPreferenceDetails();\r\n }\r\n else if (localStorageColumnState) {\r\n // If the column state details are exists in local storage then save the changed Column state data only if difference is found\r\n var columnsStateArray = JSON.parse(localStorageColumnState);\r\n if (columnsStateArray && columnsStateArray.length > 0\r\n && currentColumnState && currentColumnState.length > 0\r\n && columnsStateArray.filter(col => col.hide == true)?.length != currentColumnState.filter(col => col.hide == true)?.length) {\r\n //If column state mismatch found then only save column state data to avoid saving same state\r\n saveUserPreferenceDetails();\r\n }\r\n }\r\n\r\n //Trigger Grid Column state change (of parent) to sync column state data\r\n handleGridColumnStateChange(currentColumnState);\r\n\r\n gridRef && gridRef.current && gridRef.current.columnApi && gridRef.current.columnApi.autoSizeAllColumns();\r\n }\r\n\r\n //Save User Preference details (Column state)\r\n const saveUserPreferenceDetails = useCallback(() => {\r\n var columnState = gridRef.current.columnApi.getColumnState();\r\n if (columnState) {\r\n localStorage.setItem('REITSuiteBulkRollForwardColumnState', JSON.stringify(columnState));\r\n }\r\n }, []);\r\n\r\n //Handle Grid Items per Page change event\r\n const handleItemsPerPageChange = (val) => {\r\n gridRef.current.api.paginationGoToFirstPage();\r\n gridRef.current.api.paginationSetPageSize(Number(val));\r\n setCurrentPage(1);\r\n setItemsPerPage(val);\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n useEffect(() => {\r\n handleGridChanges(rowData, gridRef && gridRef.current ? gridRef.current.api : null);\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n\r\n setRowData(bulkRollForwardData);\r\n\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.redrawRows();\r\n gridRef.current.api.refreshHeader();\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n }\r\n }, [bulkRollForwardData]);\r\n\r\n useEffect(() => {\r\n //Reset Grid to default column state\r\n //When Grid Column state changes due to Reset Column State action then Reset Grid to default column state\r\n var localStorageColumnState = localStorage.getItem('REITSuiteBulkRollForwardColumnState');\r\n if (!localStorageColumnState && gridRef && gridRef.current && gridRef.current.api) {\r\n\r\n gridRef.current.api.setColumnDefs([]);\r\n gridRef.current.api.setColumnDefs(getColumnDefs());\r\n }\r\n }, [gridColumnState]);\r\n\r\n const rowHeight = 76; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n {bulkRollForwardData && bulkRollForwardData.length > 0 &&\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n handleItemsPerPageChange(50)}>\r\n Show 50\r\n \r\n handleItemsPerPageChange(100)}>\r\n Show 100\r\n \r\n handleItemsPerPageChange(150)}>\r\n Show 150\r\n \r\n handleItemsPerPageChange(200)}>\r\n Show 200\r\n \r\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 BulkRollForwardTable;","import React from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport { bindActionCreators } from \"redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { reduxForm, getFormValues, reset } from \"redux-form\";\r\n\r\nimport BulkRollForwardHeader from \"../../components/bulkRollForward/bulkRollForwardHeader\";\r\nimport * as bulkRollForwardActions from \"../../actions/bulkRollForwardActions\";\r\nimport * as reitActions from \"../../actions/reitActions\";\r\nimport * as clientActions from \"../../actions/clientActions\";\r\nimport BulkRollForwardTable from \"../../components/bulkRollForward/BulkRollForwardTable\";\r\n\r\nimport { store } from \"../../store/configureStore\";\r\nimport * as actions from '../../actions/actionTypes';\r\nimport { withRouter } from \"../../common/withRouter\";\r\n\r\n/**\r\n * BulkRollForwardContainer component\r\n * @extends {React.Component}\r\n */\r\nexport class BulkRollForwardContainer extends React.Component {\r\n /**\r\n * Creates a new BulkRollForwardContainer\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.setGridColumnState = this.setGridColumnState.bind(this);\r\n this.handleGridColumnStateChange = this.handleGridColumnStateChange.bind(this);\r\n this.initiateRollForwardReitsProcess = this.initiateRollForwardReitsProcess.bind(this);\r\n\r\n this.state = {\r\n gridCurrentState: [],\r\n gridColumnState: [],\r\n bulkRollForwardData: [],\r\n enableSubmit: false,\r\n bulkProcessActionId: 8, /*Default for Roll Forward*/\r\n isAudit: false,\r\n };\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n // Fetch Reits for Bulk Roll Forward\r\n this.getRollForwardGridData();\r\n this.getClientData();\r\n }\r\n\r\n /**\r\n * Invoked when a new props is recived\r\n * @returns {undefined}\r\n */\r\n\r\n\r\n componentDidUpdate(prevProps) {\r\n // Reset grid data based on roll forward type selection\r\n // Reset grid data when a data refresh comes in\r\n \r\n\r\n if (JSON.stringify(this.props.bulkRollForwardFormValues) !== JSON.stringify(prevProps.bulkRollForwardFormValues)) {\r\n if (this.props.bulkRollForwardFormValues && this.props.bulkRollForwardFormValues.rollForwardToSelectionType) {\r\n if (this.props.bulkRollForwardFormValues.rollForwardToSelectionType === 'nextAvailablePeriod') {\r\n const updatedBulkRollForwardData = this.state.bulkRollForwardData.map((data) => {\r\n if (data.isReitActive && data.isReitAvailableForSelection) {\r\n return {\r\n ...data,\r\n rollForwardToPeriod: data.nextAvailablePeriod,\r\n reitSelection: this.state.gridCurrentState.find(x => x.reitid === data.reitid)?.reitSelection\r\n };\r\n } else {\r\n return data;\r\n }\r\n });\r\n\r\n this.setState({ bulkRollForwardData: updatedBulkRollForwardData });\r\n } else if (this.props.bulkRollForwardFormValues.rollForwardToSelectionType === 'customPeriod') {\r\n if (this.props.bulkRollForwardFormValues?.quarterSelection && this.props.bulkRollForwardFormValues?.yearSelection) {\r\n const updatedBulkRollForwardData = this.state.bulkRollForwardData.map((data) => {\r\n if (data.isReitActive && data.isReitAvailableForSelection) {\r\n return {\r\n ...data,\r\n rollForwardToPeriod: `${this.props.bulkRollForwardFormValues?.quarterSelection} ${this.props.bulkRollForwardFormValues?.yearSelection}`,\r\n reitSelection: this.state.gridCurrentState.find(x => x.reitid === data.reitid)?.reitSelection\r\n };\r\n } else {\r\n return data;\r\n }\r\n });\r\n\r\n this.setState({ bulkRollForwardData: updatedBulkRollForwardData });\r\n } else {\r\n const updatedBulkRollForwardData = this.state.bulkRollForwardData.map((data) => {\r\n return {\r\n ...data,\r\n rollForwardToPeriod: null,\r\n reitSelection: this.state.gridCurrentState.find(x => x.reitid === data.reitid)?.reitSelection\r\n };\r\n });\r\n\r\n this.setState({ bulkRollForwardData: updatedBulkRollForwardData });\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Reset grid data when a data refresh comes in\r\n if (prevProps.bulkRollForwardData\r\n && this.props.bulkRollForwardData != prevProps.bulkRollForwardData) {\r\n this.setState({ bulkRollForwardData: this.props.bulkRollForwardData, enableSubmit: false }, this.resetForm);\r\n }\r\n}\r\n\r\n/**\r\n * Invoked immediately before unmounting occurs\r\n * @returns {undefined}\r\n */\r\ncomponentWillUnmount() {\r\n // On unmount, clear the state to conserve memory\r\n this.setState({ bulkRollForwardData: [] });\r\n\r\n // Clearing the redux state for bulk roll forward data\r\n this.props.bulkRollForwardActions.fetchBulkRollForwardData();\r\n}\r\n\r\ngetRollForwardGridData() {\r\n this.props.bulkRollForwardActions.fetchBulkRollForwardData(this.props.clientId);\r\n}\r\n\r\ngetClientData() {\r\n this.props.clientActions.loadClient(this.props.clientId).then(() => { \r\n this.setState({ isAudit: this.props.isAudit});\r\n });\r\n}\r\n\r\n/**\r\n* Set AG-Grid column state \r\n* @returns {undefined}\r\n*/\r\nsetGridColumnState() {\r\n var columnState = localStorage.getItem('REITSuiteBulkRollForwardColumnState');\r\n if (columnState) {\r\n this.setState({ gridColumnState: JSON.parse(columnState) });\r\n }\r\n else {\r\n this.setState({ gridColumnState: [{ colId: '-1' }] });\r\n }\r\n}\r\n\r\n/**\r\n* Handle Grid column state chagne\r\n* @returns {undefined}\r\n*/\r\nhandleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n}\r\n\r\nhandleGridChanges(gridRowData) {\r\n const rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n reitid: x.reitid,\r\n isReitActive: x.isReitActive,\r\n isReitAvailableForSelection: x.isReitAvailableForSelection,\r\n reitSelection: x.isReitAvailableForSelection ? x.reitSelection : false,\r\n reitName: x.reitName,\r\n currentPeriod: x.currentPeriod,\r\n rollForwardToPeriod: x.reitSelection ? this.getRollForwardToPeriod(x.reitid) : null,\r\n rollForwardStatus: x.rollForwardStatus,\r\n }\r\n });\r\n\r\n this.setState({ gridCurrentState: rowData }, this.checkForSubmitButtonEnablement);\r\n}\r\n\r\ngetRollForwardToPeriod(reitId) {\r\n const [first] = this.state.bulkRollForwardData.filter(r => r.reitid === reitId);\r\n return first.rollForwardToPeriod;\r\n \r\n}\r\n\r\ncheckForSubmitButtonEnablement() {\r\n \r\n\r\n if ( Array.isArray(this.state.gridCurrentState)) {\r\n const isAnyReitSelected = this.state.gridCurrentState.some(r => r.reitSelection);\r\n //const areReitsSlected = this.state.bulkRollForwardData.some(r => r.reitSelection);\r\n\r\n if (isAnyReitSelected && this.props.bulkRollForwardFormValues?.rollForwardToSelectionType === 'nextAvailablePeriod') {\r\n this.setState({ enableSubmit: true });\r\n } else if (isAnyReitSelected && this.props.bulkRollForwardFormValues?.rollForwardToSelectionType === 'customPeriod') {\r\n if (this.props.bulkRollForwardFormValues?.quarterSelection && this.props.bulkRollForwardFormValues?.yearSelection) {\r\n this.setState({ enableSubmit: true });\r\n } else {\r\n this.setState({ enableSubmit: false });\r\n }\r\n } else if (!isAnyReitSelected) {\r\n this.setState({ enableSubmit: false });\r\n }\r\n}\r\n}\r\n\r\ninitiateRollForwardReitsProcess() {\r\n const request = {\r\n clientId: this.props.clientId,\r\n calendarYear: this.state.selectedCalanderYear,\r\n quarterDescription: this.state.selectedReportPeriod,\r\n reitIds: this.getSelectedReits(),\r\n bulkProcessActionId: this.state.bulkProcessActionId,\r\n diagnosticMessage: this.state.diagnosticMessage,\r\n bulkProcessRequestJSON: this.getBulkProcessRequestJSON(),\r\n };\r\n\r\n const currentGridState = [...this.state.gridCurrentState];\r\n const currentBulkRollForwardDataState = [...this.state.bulkRollForwardData];\r\n\r\n this.updateGridAndDataStatePostSubmission(request.reitIds);\r\n\r\n this.resetForm();\r\n\r\n this.props.bulkRollForwardActions.initiateBulkRollForwardProcess(request, currentBulkRollForwardDataState)\r\n .then((isErrored) => {\r\n if (isErrored) {\r\n this.setState({ currentGridState: currentGridState, bulkRollForwardData: currentBulkRollForwardDataState });\r\n }\r\n })\r\n .catch((isErrored) => {\r\n if (isErrored) {\r\n this.setState({ currentGridState: currentGridState, bulkRollForwardData: currentBulkRollForwardDataState });\r\n }\r\n });\r\n}\r\n\r\nupdateGridAndDataStatePostSubmission(reitsToBeUpdated) {\r\n const rowData = this.state.gridCurrentState.map(row => {\r\n if (reitsToBeUpdated.find(r => r === row.reitID)) {\r\n return {\r\n ...row,\r\n isReitAvailableForSelection: false,\r\n reitSelection: false,\r\n rollForwardToPeriod: null\r\n };\r\n } else {\r\n return {\r\n ...row,\r\n rollForwardToPeriod: null\r\n };\r\n }\r\n });\r\n\r\n const updatedBulkRollForwardtData = this.state.bulkRollForwardData.map(data => {\r\n if (reitsToBeUpdated.find(r => r === data.reitid)) {\r\n return {\r\n ...data,\r\n isReitAvailableForSelection: false,\r\n reitSelection: false,\r\n rollForwardToPeriod: null\r\n };\r\n } else {\r\n return {\r\n ...data,\r\n rollForwardToPeriod: null\r\n };\r\n }\r\n });\r\n\r\n this.props.bulkRollForwardActions.dispatchBulkRollForwardData(updatedBulkRollForwardtData, actions.LOAD_BULK_ROLL_FORWARD_DATA_REFRESH);\r\n this.setState({ gridCurrentState: rowData });\r\n}\r\n\r\ngetSelectedReits() {\r\n return this.state.gridCurrentState.filter(r => r.reitSelection).map(r => r.reitid);\r\n}\r\n\r\ngetBulkProcessRequestJSON() {\r\n return {\r\n services: null,\r\n requestedSignOffStatus: null,\r\n bulkRollForwardSelections: this.getBulkRollForwardSelections(),\r\n };\r\n}\r\n\r\ngetBulkRollForwardSelections() {\r\n const dataSelections = this.state.gridCurrentState.filter(r => r.reitSelection).map((r) => {\r\n return {\r\n reitId: r.reitid,\r\n currentPeriod: r.currentPeriod,\r\n rollForwardToPeriod: r.rollForwardToPeriod\r\n };\r\n });\r\n\r\n return dataSelections;\r\n}\r\n\r\nresetForm() {\r\n store.dispatch(reset('bulkRollForwardForm'));\r\n}\r\n\r\n/**\r\n* Render a React element\r\n* @returns {Object} A reference to the component\r\n*/\r\nrender() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n}\r\n}\r\n\r\nBulkRollForwardContainer.propTypes = {\r\n clientId: PropTypes.number,\r\n bulkRollForwardData: PropTypes.array,\r\n bulkRollForwardActions: PropTypes.object\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n clientId: Number.parseInt(ownProps.router.params.clientId),\r\n bulkRollForwardData: state.bulkRollForwardData,\r\n bulkRollForwardFormValues: getFormValues('bulkRollForwardForm')(state),\r\n isAudit: state.client.isAudit,\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n bulkRollForwardActions: bindActionCreators(bulkRollForwardActions, dispatch),\r\n reitActions: bindActionCreators(reitActions, dispatch),\r\n clientActions: bindActionCreators(clientActions, dispatch),\r\n };\r\n}\r\n\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(\r\n reduxForm({ form: \"bulkRollForwardForm\", enableReinitialize: true })(BulkRollForwardContainer)\r\n )\r\n);\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from \"prop-types\";\r\nimport Cookies from 'universal-cookie';\r\nimport { withMsal } from \"@azure/msal-react\";\r\nimport { BrowserUtils } from \"@azure/msal-browser\";\r\n\r\n/**\r\n * LoginPage container component\r\n * @extends {React.Component}\r\n */\r\nexport class LogoffPage extends React.Component {\r\n /**\r\n * Creates a new LoginPage\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n this.cookies = new Cookies();\r\n }\r\n\r\n componentDidMount() {\r\n const instance = this.props.msalContext.instance;\r\n\r\n instance.logoutRedirect({\r\n account: instance.getAllAccounts()[0],\r\n onRedirectNavigate: () => !BrowserUtils.isInIframe()\r\n });\r\n\r\n // Clear cookie on log out\r\n //this.cookies.remove('authenticationScope', { path: '/' });\r\n }\r\n\r\n /**\r\n * Render a React element\r\n * @returns {Object} A reference to the component\r\n */\r\n render() {\r\n return (\r\n
    \r\n

    Logging Out...

    \r\n {/*

    Thank you for using REITSuite. Please click here to log back in.

    */}\r\n
    \r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties belonging to this component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n authenticationScope: state.authenticationScope\r\n };\r\n}\r\n\r\nLogoffPage.propTypes = {\r\n authenticationScope: PropTypes.string\r\n};\r\n\r\nexport default connect(mapStateToProps, null)(withMsal(LogoffPage));","import { NavigationClient } from \"@azure/msal-browser\";\r\n\r\nexport class CustomNavigationClient extends NavigationClient {\r\n constructor() {\r\n super();\r\n }\r\n\r\n navigateInternal(url, options) {\r\n const relativePath = url.replace(window.location.origin, '');\r\n let attempts = 0;\r\n const maxAttempts = 50; // 5 seconds / 100ms = 50 attempts\r\n \r\n const intervalId = setInterval(() => {\r\n if (window.routerContext) {\r\n clearInterval(intervalId);\r\n\r\n if (options.noHistory) {\r\n window.routerContext.navigate(relativePath, { replace: true });\r\n } else {\r\n window.routerContext.navigate(relativePath);\r\n }\r\n } else if (attempts >= maxAttempts) {\r\n console.error('routerContext is not defined after 5 seconds');\r\n clearInterval(intervalId);\r\n }\r\n attempts++;\r\n }, 100);\r\n \r\n return false;\r\n }\r\n}","import React, { useMemo } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { MsalProvider } from '@azure/msal-react';\r\nimport {\r\n PublicClientApplication,\r\n EventType,\r\n} from '@azure/msal-browser';\r\nimport * as actions from '../actions/actionTypes';\r\nimport { msalConfig, loginRequest } from '../auth/authConfig';\r\nimport { CustomNavigationClient } from '../auth/NavigationClient';\r\nimport { store } from '../store/configureStore';\r\nimport * as authenticationActions from '../actions/authenticationActions';\r\n\r\nfunction handleResponse(response, msalInstance) {\r\n //console.log('RESPONSE:', response);\r\n if (response !== null) {\r\n msalInstance.setActiveAccount(response.account);\r\n } else {\r\n const currentAccounts = msalInstance.getAllAccounts();\r\n if (currentAccounts.length === 0) {\r\n // no accounts signed-in, attempt to sign a user in\r\n msalInstance.loginRedirect(loginRequest).then((res) => {\r\n if (res) {\r\n msalInstance.setActiveAccount(res.account);\r\n }\r\n });\r\n\r\n } else if (currentAccounts.length > 0) {\r\n msalInstance.setActiveAccount(currentAccounts[0]);\r\n //console.log('xx:', msalInstance.getActiveAccount())\r\n }\r\n }\r\n return true;\r\n}\r\n\r\nconst ConditionalMsalProvider = ({ children }) => {\r\n const location = useLocation();\r\n\r\n // Only include MsalProvider if the route is not /external\r\n if (location.pathname.startsWith('/external') && !location.pathname.startsWith('/external/logoff')) {\r\n return <>{children};\r\n } else {\r\n const pca = useMemo(() => {\r\n const msalInstance = new PublicClientApplication(msalConfig);\r\n const navigationClient = new CustomNavigationClient();\r\n\r\n msalInstance.setNavigationClient(navigationClient);\r\n\r\n msalInstance.addEventCallback(message => {\r\n if (message.eventType === EventType.LOGIN_SUCCESS) {\r\n const { payload } = message;\r\n store.dispatch({ type: actions.SET_ID_TOKEN, idToken: payload.idToken });\r\n store.dispatch(authenticationActions.setCurrentUser(payload.idTokenClaims));\r\n }\r\n });\r\n\r\n msalInstance.handleRedirectPromise().then((res) => handleResponse(res, msalInstance));\r\n\r\n window.msalInstanceRef = msalInstance;\r\n\r\n return msalInstance;\r\n }, []); // Empty dependency array ensures pca is only created once\r\n\r\n return {children};\r\n }\r\n};\r\n\r\nexport default ConditionalMsalProvider;\r\n","import React from 'react';\r\nimport { useNavigate, useLocation, useParams, useMatches, Outlet } from 'react-router-dom';\r\nimport ConditionalMsalProvider from './ConditionalMsalProvider';\r\n\r\n// This component will also optionally inject MsalProvider based on the route\r\nconst CustomRouterProvider = () => {\r\n const router = {\r\n navigate: useNavigate(),\r\n location: useLocation(),\r\n params: useParams(),\r\n matches: useMatches()\r\n };\r\n\r\n window.routerContext = router;\r\n \r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CustomRouterProvider;\r\n","import React from 'react';\r\nimport { Navigate, useLocation } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport * as authActions from '../actions/authActions';\r\n\r\nconst RoleGuard = ({ systemAdminFlag, engagementAdminFlag, engagementUserFlag, children }) => {\r\n const location = useLocation();\r\n const currentUserAuthorizations = useSelector(state => state.currentUserAuthorizations);\r\n const isSystemAdmin = authActions.isSystemAdministrator(currentUserAuthorizations);\r\n\r\n // Function to extract clientId from the URL\r\n const getClientIdFromPath = (path) => {\r\n const clientRegex = /\\/client\\/(\\d+)/i;\r\n const match = path.match(clientRegex);\r\n return match ? parseInt(match[1], 10) : -1;\r\n };\r\n\r\n // Get clientId from the current location\r\n const clientId = getClientIdFromPath(location.pathname);\r\n\r\n // Determine if the navigation is invalid based on roles and flags\r\n let invalid = false;\r\n if (isSystemAdmin && !systemAdminFlag) {\r\n invalid = true;\r\n } else if (!isSystemAdmin && clientId > 0 && authActions.isEngagementAdministrator(currentUserAuthorizations, clientId) && !engagementAdminFlag) {\r\n invalid = true;\r\n } else if (!isSystemAdmin && clientId > 0 && authActions.isUser(currentUserAuthorizations, clientId) && !engagementUserFlag) {\r\n invalid = true;\r\n }\r\n\r\n // Redirect to unauthorized if the user's role is not allowed\r\n if (invalid) {\r\n return ;\r\n }\r\n\r\n // If the user's role is allowed, render the children components\r\n return children;\r\n};\r\n\r\nexport default RoleGuard;\r\n","import React , { useState }from 'react';\r\nimport { Field } from 'redux-form';\r\nimport { PropTypes } from \"prop-types\";\r\nimport * as formHelpers from '../../scripts/formHelpers';\r\nimport {\r\n MotifButton,\r\n MotifDropdown,\r\n MotifDropdownItem,\r\n MotifIcon,\r\n MotifIconButton,\r\n MotifTooltip,\r\n} from '@ey-xd/motif-react';\r\nimport { IconoirNavArrowDown, IconoirInfoCircle, IconoirHelpCircle } from '@ey-xd/motif-icon';\r\nimport { Link } from 'react-router-dom';\r\nimport * as Constants from '../../constants/other';\r\nimport { constants } from 'buffer';\r\nconst DataRetentionManagementHeader = ({\r\n clientId,\r\n handleDataRetentionActions,\r\n gridCurrentState,\r\n isSystemAdmin,\r\n isEngagementAdminAndDataSteward,\r\n isEngagementUser,\r\n handleExportDataDeletionSummary\r\n}) => {\r\n let selectedApprovedDataDeletionRecords=[];\r\n let unapproveDataDeletion=[];\r\n let approveException=[];\r\n let removeException=[];\r\n \r\n const checkDataPurgeStatus = (selectedRecords) => {\r\n // current status id approved data deletion \r\n selectedApprovedDataDeletionRecords = selectedRecords.filter(x => x.stage2DataPurgeStatusID === Constants.dataRetentionManagementApproveActionId);\r\n if (selectedApprovedDataDeletionRecords.length > 0) {\r\n actionButtonOptionStatus.approveDataDeletion = false; \r\n actionButtonOptionStatus.removeException = false; \r\n actionButtonOptionStatus.approveException = false; \r\n } \r\n\r\n // current status id unapprove data deletion\r\n unapproveDataDeletion = selectedRecords.filter(x => x.stage2DataPurgeStatusID === Constants.dataRetentionManagementUnApproveActionId\r\n || x.stage2DataPurgeStatusID === Constants.dataRetentionManagementApprovedActionId);\r\n if (unapproveDataDeletion.length > 0) {\r\n actionButtonOptionStatus.unapproveDataDeletion = false; \r\n actionButtonOptionStatus.removeException = false; \r\n } \r\n\r\n // current status is approved exception \r\n approveException = selectedRecords.filter(x => x.stage2DataPurgeStatusID === Constants.dataRetentionManagementApproveExceptionActionId);\r\n if (approveException.length > 0) {\r\n actionButtonOptionStatus.approveDataDeletion = false; \r\n actionButtonOptionStatus.unapproveDataDeletion = false; \r\n actionButtonOptionStatus.approveException = false; \r\n } \r\n\r\n // current status is remove exception \r\n removeException = selectedRecords.filter(x => x.stage2DataPurgeStatusID === Constants.dataRetentionManagementRemoveExceptionActionId);\r\n if (removeException.length > 0) {\r\n actionButtonOptionStatus.removeException = false; \r\n actionButtonOptionStatus.unapproveDataDeletion = false; \r\n }\r\n }; \r\n\r\n let actionButtonOptionStatus = {\r\n approveDataDeletion: false,\r\n unapproveDataDeletion: false,\r\n approveException: false,\r\n removeException: false,\r\n exportDataDeletionSummary: true\r\n }; \r\n \r\n let disabledInfoMessageOfNoRowSelection= Constants.dataRetentionNoRowSelectionMessage;\r\n let disabledInfoMessageOfNoPermission= Constants.dataRetentionNoPermissionMessage;\r\n let dataRetentionMessageForApprove= Constants.dataRetentionMessageForApprove;\r\n let dataRetentionMessageForUnApprove= Constants.dataRetentionMessageForUnApprove;\r\n let dataRetentionMessageForException= Constants.dataRetentionMessageForException;\r\n let dataRetentionMessageForRemoveException= Constants.dataRetentionMessageForRemoveException;\r\n let dataRetentionManagementApproveActionId = Constants.dataRetentionManagementApproveActionId;\r\n let dataRetentionManagementUnApproveActionId = Constants.dataRetentionManagementUnApproveActionId;\r\n let dataRetentionManagementApproveExceptionActionId = Constants.dataRetentionManagementApproveExceptionActionId;\r\n let dataRetentionManagementRemoveExceptionActionId = Constants.dataRetentionManagementRemoveExceptionActionId;\r\n\r\n const [actionOptionsOpen, setActionOptionsOpen] = useState(false);\r\n \r\n \r\n let isChecklistSelected = gridCurrentState && gridCurrentState.some(record => record.reitSelection === true);\r\n if (isChecklistSelected) { \r\n //Get the selected checkist records\r\n let selectedRecords = gridCurrentState.filter(x => x.reitSelection === true); \r\n if(isSystemAdmin){\r\n actionButtonOptionStatus.approveDataDeletion = true; \r\n actionButtonOptionStatus.unapproveDataDeletion = true; \r\n actionButtonOptionStatus.approveException = true; \r\n actionButtonOptionStatus.removeException = true; \r\n actionButtonOptionStatus.exportDataDeletionSummary = true; \r\n checkDataPurgeStatus(selectedRecords); \r\n }\r\n\r\n else if(isEngagementAdminAndDataSteward ){\r\n actionButtonOptionStatus.approveDataDeletion = true; \r\n actionButtonOptionStatus.unapproveDataDeletion = true;\r\n actionButtonOptionStatus.approveException = false; \r\n actionButtonOptionStatus.removeException = true; \r\n actionButtonOptionStatus.exportDataDeletionSummary = true; \r\n checkDataPurgeStatus(selectedRecords); \r\n } \r\n\r\n else if(isEngagementUser || !isEngagementAdminAndDataSteward){\r\n actionButtonOptionStatus.approveDataDeletion = false; \r\n actionButtonOptionStatus.unapproveDataDeletion = false; \r\n actionButtonOptionStatus.approveException = false; \r\n actionButtonOptionStatus.removeException = false; \r\n actionButtonOptionStatus.exportDataDeletionSummary = true; \r\n checkDataPurgeStatus(selectedRecords); \r\n }\r\n }\r\n \r\nreturn (\r\n <>\r\n \r\n {/* Header area */}\r\n

    Data Retention Management \r\n \r\n \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n {/* {gridCurrentState != null && Array.isArray(gridCurrentState) && gridCurrentState.length > 0 && */}\r\n
    \r\n setActionOptionsOpen(false)}\r\n trigger={\r\n setActionOptionsOpen(!actionOptionsOpen)}\r\n aria-controls={'action-dropdown'}\r\n id={'action-dropdown-trigger'}\r\n aria-expanded={actionOptionsOpen}\r\n aria-label=\"Action dropdown\"\r\n data-testid=\"actions\"\r\n >\r\n Actions \r\n \r\n }\r\n >\r\n \r\n
      \r\n { (actionButtonOptionStatus.approveDataDeletion) &&\r\n
    • \r\n { handleDataRetentionActions(dataRetentionManagementApproveActionId);}}\r\n disabled={!actionButtonOptionStatus.approveDataDeletion}\r\n data-testid=\"updateServicesScope\">\r\n Approve Data Deletion\r\n \r\n
    • \r\n ||\r\n
    • \r\n { handleDataRetentionActions(dataRetentionManagementApproveActionId);}}\r\n disabled={!actionButtonOptionStatus.approveDataDeletion} data-testid=\"approveDataDeletion\"\r\n >\r\n Approve Data Deletion\r\n \r\n \r\n \r\n }\r\n > \r\n {isSystemAdmin || isEngagementAdminAndDataSteward ?\r\n !actionButtonOptionStatus.approveDataDeletion && isChecklistSelected\r\n ? dataRetentionMessageForApprove\r\n : disabledInfoMessageOfNoRowSelection\r\n : disabledInfoMessageOfNoPermission}\r\n \r\n
    • \r\n }\r\n \r\n { (actionButtonOptionStatus.unapproveDataDeletion) &&\r\n
    • \r\n { handleDataRetentionActions(dataRetentionManagementUnApproveActionId);}} \r\n data-testid=\"unapproveDataDeletion\">\r\n Unapprove Data Deletion\r\n \r\n
    • \r\n ||\r\n
    • \r\n { handleDataRetentionActions(dataRetentionManagementUnApproveActionId);}} \r\n data-testid=\"unapproveDataDeletion\"\r\n >\r\n Unapprove Data Deletion\r\n \r\n \r\n \r\n }\r\n >\r\n {isSystemAdmin || isEngagementAdminAndDataSteward ?\r\n !actionButtonOptionStatus.unapproveDataDeletion && isChecklistSelected\r\n ? dataRetentionMessageForUnApprove\r\n : disabledInfoMessageOfNoRowSelection\r\n : disabledInfoMessageOfNoPermission} \r\n \r\n \r\n
    • \r\n }\r\n\r\n {(actionButtonOptionStatus.approveException) &&\r\n
    • \r\n { handleDataRetentionActions(dataRetentionManagementApproveExceptionActionId);}} \r\n data-testid=\"approveException\">\r\n Approve Exception to Deletion\r\n \r\n
    • \r\n ||\r\n
    • \r\n { handleDataRetentionActions(dataRetentionManagementApproveExceptionActionId);}}\r\n disabled={!actionButtonOptionStatus.approveException} data-testid=\"approveException\"\r\n >\r\n Approve Exception to Deletion\r\n \r\n \r\n \r\n }\r\n > \r\n\r\n {isSystemAdmin ?\r\n !actionButtonOptionStatus.approveException && isChecklistSelected\r\n ? dataRetentionMessageForException\r\n : disabledInfoMessageOfNoRowSelection\r\n : disabledInfoMessageOfNoPermission} \r\n \r\n \r\n
    • \r\n }\r\n\r\n {(actionButtonOptionStatus.removeException) &&\r\n
    • \r\n { handleDataRetentionActions(dataRetentionManagementRemoveExceptionActionId);}}\r\n data-testid=\"removeException\">\r\n Remove Exception to Deletion\r\n \r\n
    • \r\n ||\r\n
    • \r\n { handleDataRetentionActions(dataRetentionManagementRemoveExceptionActionId);}}\r\n data-testid=\"removeException\"\r\n >\r\n Remove Exception to Deletion\r\n \r\n \r\n \r\n }\r\n > \r\n {isSystemAdmin || isEngagementAdminAndDataSteward ?\r\n !actionButtonOptionStatus.removeException && isChecklistSelected\r\n ? dataRetentionMessageForRemoveException\r\n : disabledInfoMessageOfNoRowSelection\r\n : disabledInfoMessageOfNoPermission} \r\n \r\n
    • \r\n }\r\n\r\n {(actionButtonOptionStatus.exportDataDeletionSummary) &&\r\n
    • \r\n \r\n Export Data Deletion Summary\r\n \r\n
    • \r\n \r\n }\r\n
    \r\n \r\n \r\n
    \r\n\r\n {/* } */}\r\n\r\n
    \r\n
    \r\n\r\n \r\n ); \r\n};\r\n\r\nDataRetentionManagementHeader.propTypes = {\r\n clientId: PropTypes.number.isRequired,\r\n gridCurrentState: PropTypes.arrayOf(PropTypes.shape({\r\n checklistSelection: PropTypes.bool\r\n })),\r\n handleDataRetentionActions: PropTypes.func,\r\n isSystemAdmin: PropTypes.bool,\r\n isEngagementAdminAndDataSteward: PropTypes.bool,\r\n isEngagementUser: PropTypes.bool,\r\n handleExportDataDeletionSummary:PropTypes.func\r\n};\r\n\r\nexport default DataRetentionManagementHeader;\r\n","import React from 'react';\r\nimport { MotifCheckbox } from \"@ey-xd/motif-react\";\r\n\r\nexport default (props) => {\r\n const value = props.data ? props.data[props.colDef.field] : null;\r\n const reportPeriodID = props.data ? props.data.reportPeriodID : null;\r\n\r\n // Display checkbox if the reit is available for selection\r\n const defaultCheckboxClass = \"ag-wrapper ag-input-wrapper ag-checkbox-input-wrapper\";\r\n let checkboxClass = value ? defaultCheckboxClass + \" ag-checked\" : defaultCheckboxClass;\r\n\r\n return (\r\n \r\n props.onCellCheckboxChange(reportPeriodID, props.node)}>\r\n \r\n \r\n );\r\n \r\n};","import React from 'react';\r\nimport { MotifCheckbox } from \"@ey-xd/motif-react\";\r\nimport { DELETION_STATUSES } from '../../../constants/other';\r\nexport default (props) => {\r\n let rowsChecked = 0;\r\n let totalRows = 0;\r\n let allRowsInActive = true; // Variable to track if all rows are invalid\r\n let totalRowsOfActiveRecords = 0;\r\n let checkedRecords = 0;\r\n // Check for total rows and rows checked within filtered rows\r\n props.api.forEachNodeAfterFilter((rowNode) => {\r\n if (rowNode.data) {\r\n totalRows++;\r\n if (rowNode.data.reitSelection){\r\n rowsChecked++;\r\n } \r\n // Check if the row status is not one of 'failed', 'deleted', or 'inprogress'\r\n const statusesToCheck = [\r\n DELETION_STATUSES.DELETED,\r\n DELETION_STATUSES.FAILED,\r\n DELETION_STATUSES.IN_PROGRESS\r\n ];\r\n \r\n const { stage2DeletionStatus, stage3DeletionStatus } = rowNode.data;\r\n\r\n if (!statusesToCheck.includes(stage2DeletionStatus) && !statusesToCheck.includes(stage3DeletionStatus)) {\r\n allRowsInActive = false;\r\n totalRowsOfActiveRecords++;\r\n if(rowNode.data.reitSelection){\r\n checkedRecords++;\r\n }\r\n }\r\n \r\n }\r\n });\r\n\r\n let headerCheckboxValue = false;\r\n let indeterminate = false;\r\n const defaultCheckboxClass = \"ag-wrapper ag-input-wrapper ag-checkbox-input-wrapper\";\r\n let checkboxClass = defaultCheckboxClass;\r\n\r\n if (rowsChecked === 0) {\r\n headerCheckboxValue = false;\r\n }\r\n else if (totalRowsOfActiveRecords === rowsChecked) {\r\n headerCheckboxValue = true;\r\n checkboxClass = defaultCheckboxClass + \" ag-checked\";\r\n }\r\n else if(totalRowsOfActiveRecords === checkedRecords){\r\n headerCheckboxValue = true;\r\n checkboxClass = defaultCheckboxClass + \" ag-checked\";\r\n }\r\n else {\r\n headerCheckboxValue = false;\r\n indeterminate = true;\r\n checkboxClass = defaultCheckboxClass + \" ag-indeterminate\";\r\n }\r\n\r\n return (\r\n
    \r\n props.onHeaderCheckboxChange(headerCheckboxValue)}\r\n indeterminate={indeterminate}\r\n disabled={allRowsInActive}\r\n >\r\n \r\n
    {props.displayName}
    \r\n
    \r\n );\r\n};","import React, {\r\n useState,\r\n useRef,\r\n useEffect,\r\n useMemo,\r\n useCallback,\r\n} from \"react\";\r\nimport {\r\n MotifPagination,\r\n MotifPaginationSelect,\r\n MotifPaginationSelectItem,\r\n MotifTable,\r\n} from \"@ey-xd/motif-react\";\r\n\r\nimport CustomHeaderTemplate from \"../shared/customHeaders/CustomHeaderTemplate.js\";\r\nimport DataRetentionManagementReitCheckboxCellRenderer from \"./customRenderers/DataRetentionManagementReitCheckboxCellRenderer\";\r\nimport DataRetentionManagementReitCheckboxHeaderRenderer from \"./customRenderers/DataRetentionManagementReitCheckboxHeaderRenderer\";\r\nimport { getPreviousFridayOrGivenDate } from \"../../scripts/dateHelpers\";\r\nimport * as formatters from \"../../scripts/formFormatters\";\r\nimport { DELETION_STATUSES } from \"../../constants/other\";\r\n\r\nconst DataRetentionManagementTable = ({\r\n dataRetentionManagementData,\r\n gridColumnState,\r\n handleGridChanges,\r\n handleGridColumnStateChange,\r\n refreshGriddataRetentionManagementData\r\n}) => {\r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]);\r\n const rowDataRef = useRef({});\r\n rowDataRef.current = rowData;\r\n const getRowId = useCallback((params) => params.data.reportPeriodID);\r\n\r\n const onHeaderCheckboxChange = (isHeaderCheckboxSelected) => {\r\n let updatedData = rowDataRef.current; \r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n\r\n const statusesToCheck = [\r\n DELETION_STATUSES.IN_PROGRESS,\r\n DELETION_STATUSES.DELETED,\r\n DELETION_STATUSES.FAILED\r\n ];\r\n // Select checkbox for filtered rows only\r\n gridRef.current.api.forEachNodeAfterFilterAndSort((rowNode) => { \r\n // Invert the selection status for each row\r\n\r\n if (rowNode.level === 0) {\r\n\r\n updatedData = updatedData.map(newUd => {\r\n const { stage2DeletionStatus, stage3DeletionStatus } = newUd;\r\n const isStatusMatched = statusesToCheck.includes(stage2DeletionStatus) || statusesToCheck.includes(stage3DeletionStatus);\r\n \r\n if (newUd.dataPurgeReportPeriodID === rowNode.data.dataPurgeReportPeriodID) {\r\n return {\r\n ...newUd,\r\n reitSelection: !isStatusMatched ? !isHeaderCheckboxSelected : newUd.reitSelection,\r\n };\r\n }\r\n return newUd;\r\n });\r\n }\r\n });\r\n\r\n setRowData(updatedData);\r\n gridRef.current.api.refreshHeader();\r\n }\r\n };\r\n\r\n\r\n const onCellCheckboxChange = (reportPeriodID, rowNode) => {\r\n const updatedData = rowDataRef.current.map((newUd) => {\r\n if (newUd.reportPeriodID === reportPeriodID) {\r\n return {\r\n ...newUd,\r\n reitSelection: !newUd.reitSelection,\r\n };\r\n }\r\n return newUd;\r\n });\r\n\r\n setRowData(updatedData);\r\n gridRef.current.api.refreshHeader();\r\n };\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n // MM:DD:YYYY HH:MM AM/PM\r\n const dateFormat1 = {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric',\r\n hour: '2-digit',\r\n minute: '2-digit'\r\n };\r\n\r\n // MM:DD:YYYY\r\n const dateFormat2 = {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric',\r\n };\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: \"reitSelection\",\r\n headerName: \"\",\r\n suppressMenu: true,\r\n headerComponent: DataRetentionManagementReitCheckboxHeaderRenderer,\r\n headerComponentParams: {\r\n onHeaderCheckboxChange: onHeaderCheckboxChange,\r\n },\r\n cellRenderer: DataRetentionManagementReitCheckboxCellRenderer,\r\n cellRendererParams: { onCellCheckboxChange: onCellCheckboxChange },\r\n minWidth: 70,\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n cellStyle: params => {\r\n const statusesToCheck = ['Failed', 'Deleted', 'In Progress'];\r\n const { stage2DeletionStatus, stage3DeletionStatus } = params.data;\r\n\r\n const isStatusMatched = statusesToCheck.includes(stage2DeletionStatus) || statusesToCheck.includes(stage3DeletionStatus);\r\n\r\n return isStatusMatched ? { 'pointer-events': 'none', opacity: '0.3' } : '';\r\n },\r\n },\r\n {\r\n field: \"reitName\",\r\n headerName: \"REIT\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 300,\r\n valueGetter: (params) => {\r\n return params.data && params.data.reitName;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.reitName;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"reitName\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n {\r\n headerName: \"Report Period\",\r\n field: \"reportPeriodDescription\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 250,\r\n valueGetter: (params) => {\r\n return params.data && params.data.reportPeriodDescription;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.reportPeriodDescription;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"reportPeriodDescription\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n {\r\n field: \"deletionApprovalDueDate\",\r\n headerName: \"Deletion Approval Due Date\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 250, \r\n valueGetter: (params) => {\r\n const dateValue = params.data && params.data ? params.data.deletionApprovalDueDate : null;\r\n return dateValue ? formatters.formatDate(getPreviousFridayOrGivenDate(dateValue)) : null;\r\n },\r\n filterValueGetter: (params) => {\r\n const dateValue = params.data && params.data ? params.data.deletionApprovalDueDate : null;\r\n return dateValue ? formatters.formatDate(getPreviousFridayOrGivenDate(dateValue)) : null;\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"deletionApprovalDueDate\"),\r\n },\r\n cellStyle: { textAlign: \"center\" },\r\n resizable: true,\r\n },\r\n {\r\n headerName: \"Checklist Attachments and Other Period Level Files\",\r\n marryChildren: true,\r\n children: [\r\n {\r\n field: \"stage2ScheduledDeletionDate\",\r\n headerName: \"Scheduled Deletion Date\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 240,\r\n valueGetter: (params) => {\r\n const dateValue = params.data && params.data ? params.data.stage2ScheduledDeletionDate : null\r\n return dateValue ? formatters.formatDate(getPreviousFridayOrGivenDate(dateValue)) : null;\r\n },\r\n filterValueGetter: (params) => {\r\n const dateValue = params.data && params.data ? params.data.stage2ScheduledDeletionDate : null\r\n return dateValue ? formatters.formatDate(getPreviousFridayOrGivenDate(dateValue)) : null;\r\n },\r\n\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"stage2ScheduledDeletionDate\"),\r\n },\r\n cellStyle: { textAlign: \"center\" },\r\n resizable: true,\r\n },\r\n {\r\n field: \"stage2ActualDeletionDate\",\r\n headerName: \"Actual Deletion Date\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 210,\r\n valueGetter: (params) => {\r\n const dateValue = params.data && params.data.stage2ActualDeletionDate ? params.data.stage2ActualDeletionDate : null;\r\n return dateValue ? formatters.formatDate(dateValue) : null;\r\n },\r\n filterValueGetter: (params) => {\r\n const dateValue = params.data && params.data.stage2ActualDeletionDate ? params.data.stage2ActualDeletionDate : null;\r\n return dateValue ? formatters.formatDate(dateValue) : null;\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"stage2ActualDeletionDate\"),\r\n },\r\n cellStyle: { textAlign: \"center\" },\r\n resizable: true,\r\n },\r\n {\r\n field: \"stage2DeletionStatus\",\r\n headerName: \"Deletion Status\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 210,\r\n valueGetter: (params) => {\r\n return params.data && params.data.stage2DeletionStatus;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.stage2DeletionStatus;\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"stage2DeletionStatus\"),\r\n },\r\n cellStyle: { textAlign: \"center\" },\r\n resizable: true,\r\n },\r\n ],\r\n },\r\n {\r\n headerName: \"Checklist Responses, Trial Balances and Period Test Results\",\r\n marryChildren: true,\r\n children: [\r\n {\r\n field: \"stage3ScheduledDeletionDate\",\r\n headerName: \"Scheduled Deletion Date\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 240,\r\n valueGetter: (params) => {\r\n const dateValue = params.data && params.data ? params.data.stage3ScheduledDeletionDate : null\r\n return dateValue ? formatters.formatDate(getPreviousFridayOrGivenDate(dateValue)) : null;\r\n },\r\n filterValueGetter: (params) => {\r\n const dateValue = params.data && params.data ? params.data.stage3ScheduledDeletionDate : null\r\n return dateValue ? formatters.formatDate(getPreviousFridayOrGivenDate(dateValue)) : null;\r\n },\r\n\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"stage3ScheduledDeletionDate\"),\r\n },\r\n cellStyle: { textAlign: \"center\" },\r\n resizable: true,\r\n },\r\n {\r\n field: \"stage3ActualDeletionDate\",\r\n headerName: \"Actual Deletion Date\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 210,\r\n valueGetter: (params) => {\r\n const dateValue = params.data && params.data.stage3ActualDeletionDate ? params.data.stage3ActualDeletionDate : null;\r\n return dateValue ? formatters.formatDate(dateValue) : null;\r\n },\r\n filterValueGetter: (params) => {\r\n const dateValue = params.data && params.data.stage3ActualDeletionDate ? params.data.stage3ActualDeletionDate : null;\r\n return dateValue ? formatters.formatDate(dateValue) : null;\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"stage3ActualDeletionDate\"),\r\n },\r\n cellStyle: { textAlign: \"center\" },\r\n resizable: true,\r\n },\r\n {\r\n field: \"stage3DeletionStatus\",\r\n headerName: \"Deletion Status\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 210,\r\n valueGetter: (params) => {\r\n return params.data && params.data.stage3DeletionStatus;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.stage3DeletionStatus;\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"stage3DeletionStatus\"),\r\n },\r\n cellStyle: { textAlign: \"center\" },\r\n resizable: true,\r\n },\r\n\r\n\r\n ],\r\n },\r\n {\r\n field: \"approvedBy\",\r\n headerName: \"Approved By\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 250,\r\n valueGetter: (params) => {\r\n return params.data && params.data.approvedBy;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.approvedBy;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"approvedBy\") },\r\n cellStyle: { textAlign: \"center\" },\r\n resizable: true,\r\n },\r\n {\r\n field: \"approvedDateTime\",\r\n headerName: \"Approved Date\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 250,\r\n valueGetter: params => {\r\n const dateValue = params.data && params.data ? params.data.approvedDateTime : null;\r\n if (dateValue) {\r\n const date = new Date(dateValue);\r\n // use toLocaleString with undefined value to get the local time zone settings\r\n const formattedDate = (new Date(date + 'Z')).toLocaleString(undefined, dateFormat1);\r\n return `${formattedDate}`;\r\n }\r\n return '';\r\n },\r\n headerComponentParams: {\r\n template: CustomHeaderTemplate(\"approvedDateTime\"),\r\n },\r\n cellStyle: { textAlign: \"center\" },\r\n resizable: true,\r\n },\r\n ];\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Grid Global Listner\r\n const gridGlobalListner = function (type, event) {\r\n if (type.indexOf(\"columnVisible\") >= 0) {\r\n handleGridColumnsChanged(event);\r\n }\r\n\r\n // Bind handleFilterChanged event to filterChanged and rowDataUpdated events\r\n if (type.indexOf(\"filterChanged\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0);\r\n }\r\n\r\n if (type.indexOf(\"rowDataUpdated\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0);\r\n }\r\n };\r\n\r\n //Handle Grid Ready event\r\n const handleGridReady = (event) => {\r\n //Remove event for column state change\r\n event.api.removeEventListener(gridGlobalListner);\r\n\r\n //Add event for column state change\r\n event.api.addGlobalListener(gridGlobalListner);\r\n\r\n //Apply column state\r\n var columnState = localStorage.getItem(\r\n \"REITSuiteDataRetentionManagementColumnState\"\r\n );\r\n if (columnState) {\r\n gridRef.current.columnApi.applyColumnState({\r\n state: JSON.parse(columnState),\r\n applyOrder: true,\r\n });\r\n }\r\n\r\n // Set the page size and total pages on the first load\r\n handleItemsPerPageChange(100); // Setting it 100 to make sure the default number of items on load is always set to 100\r\n };\r\n\r\n // Handle OnFilterChanged event\r\n const handleFilterChanged = (event) => {\r\n let filteredRowData = [];\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n setTimeout(function () { // Included Settimeout function to assign the total pages after getting the total pages from grid\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n if (currentPage > calcTotalPages) {\r\n if (calcTotalPages == 0) {\r\n setTimeout(function () {\r\n setCurrentPage(calcTotalPages);\r\n }, 0);\r\n } else {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n const gridCurrentPage =\r\n gridRef.current.api.paginationGetCurrentPage() + 1; // Adding 1 since it returns zero based index\r\n if (currentPage < gridCurrentPage && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n }\r\n\r\n // Show the expected value as 1 for current page \r\n if (currentPage <= 1 && gridCurrentPage == 1 && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n }\r\n }, 0);\r\n\r\n }\r\n };\r\n\r\n //Handle First Data Renderered event\r\n const handleFirstDataRendered = (event) => {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n };\r\n\r\n //Handle Grid Columns changed event\r\n const handleGridColumnsChanged = (event) => {\r\n var currentColumnState = gridRef.current.columnApi.getColumnState();\r\n var localStorageColumnState = localStorage.getItem(\r\n \"REITSuiteDataRetentionManagementColumnState\"\r\n );\r\n\r\n // If the column state details are not exists in local storage then save the changed Column state data\r\n if (\r\n currentColumnState &&\r\n currentColumnState.filter((col) => col.hide == true)?.length > 0 &&\r\n !localStorageColumnState\r\n ) {\r\n saveUserPreferenceDetails();\r\n } else if (localStorageColumnState) {\r\n // If the column state details are exists in local storage then save the changed Column state data only if difference is found\r\n var columnsStateArray = JSON.parse(localStorageColumnState);\r\n if (\r\n columnsStateArray &&\r\n columnsStateArray.length > 0 &&\r\n currentColumnState &&\r\n currentColumnState.length > 0 &&\r\n columnsStateArray.filter((col) => col.hide == true)?.length !=\r\n currentColumnState.filter((col) => col.hide == true)?.length\r\n ) {\r\n //If column state mismatch found then only save column state data to avoid saving same state\r\n saveUserPreferenceDetails();\r\n }\r\n }\r\n\r\n //Trigger Grid Column state change (of parent) to sync column state data\r\n handleGridColumnStateChange(currentColumnState);\r\n\r\n gridRef &&\r\n gridRef.current &&\r\n gridRef.current.columnApi &&\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n };\r\n\r\n //Save User Preference details (Column state)\r\n const saveUserPreferenceDetails = useCallback(() => {\r\n var columnState = gridRef.current.columnApi.getColumnState();\r\n if (columnState) {\r\n localStorage.setItem(\r\n \"REITSuiteDataRetentionManagementColumnState\",\r\n JSON.stringify(columnState)\r\n );\r\n }\r\n }, []);\r\n\r\n //Handle Grid Items per Page change event\r\n const handleItemsPerPageChange = (val) => {\r\n gridRef.current.api.paginationGoToFirstPage();\r\n gridRef.current.api.paginationSetPageSize(Number(val));\r\n setCurrentPage(1);\r\n setItemsPerPage(val);\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n setTimeout(function () { // Included Settimeout function to assign the total pages after getting the total pages from grid\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }, 0);\r\n }\r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n useEffect(() => {\r\n handleGridChanges(\r\n rowData,\r\n gridRef && gridRef.current ? gridRef.current.api : null\r\n );\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n setRowData(dataRetentionManagementData);\r\n\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.redrawRows();\r\n gridRef.current.api.refreshHeader();\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n setTimeout(function () { // Included Settimeout function to assign the total pages after getting the total pages from grid\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n\r\n }, 0);\r\n }\r\n }, [dataRetentionManagementData]);\r\n\r\n useEffect(() => {\r\n //Reset Grid to default column state\r\n //When Grid Column state changes due to Reset Column State action then Reset Grid to default column state\r\n var localStorageColumnState = localStorage.getItem(\r\n \"REITSuiteDataRetentionManagementColumnState\"\r\n );\r\n if (\r\n !localStorageColumnState &&\r\n gridRef &&\r\n gridRef.current &&\r\n gridRef.current.api\r\n ) {\r\n gridRef.current.api.setColumnDefs([]);\r\n gridRef.current.api.setColumnDefs(getColumnDefs());\r\n }\r\n }, [gridColumnState]);\r\n\r\n useEffect(() => {\r\n // Refresh Grid \r\n const gridApi = gridRef && gridRef.current && gridRef.current.api;\r\n if (gridApi) {\r\n gridApi.refreshCells();\r\n gridApi.deselectAll();\r\n }\r\n\r\n }, [refreshGriddataRetentionManagementData]);\r\n\r\n const rowHeight = 76;\r\n const headerHeight = 45;\r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n {dataRetentionManagementData &&\r\n dataRetentionManagementData.length > 0 && (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n handleItemsPerPageChange(50)}\r\n >\r\n Show 50\r\n \r\n handleItemsPerPageChange(100)}\r\n >\r\n Show 100\r\n \r\n handleItemsPerPageChange(150)}\r\n >\r\n Show 150\r\n \r\n handleItemsPerPageChange(200)}\r\n >\r\n Show 200\r\n \r\n \r\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 DataRetentionManagementTable;\r\n","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport { fetchFromReitApi as fetch } from './fetchFromApi';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport { download } from '../scripts/fileHelpers';\r\nimport { findWindows } from 'windows-iana';\r\n\r\n/**\r\n * Fetch all the Data Retention Management Data for a given client If successful this will dispatch the LOAD_DATA_RETENTION_MANAGEMENT_DATA_SUCCESS\r\n * action, otherwise it will dispatch the LOAD_DATA_RETENTION_MANAGEMENT_DATA_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport const fetchDataRetentionManagementData = (clientId) => {\r\n return (dispatch) => {\r\n if (!clientId) {\r\n return dispatch({\r\n type: actions.LOAD_DATA_RETENTION_MANAGEMENT_DATA_FAILURE,\r\n dataRetentionManagementData: [],\r\n });\r\n }\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/dataRetentionManagement?clientId=${clientId}`)\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((dataRetentionManagementData) => {\r\n if (actionHelpers.isErrorResponse(dataRetentionManagementData)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_DATA_RETENTION_MANAGEMENT_DATA_FAILURE,\r\n null\r\n );\r\n }\r\n dispatch({\r\n type: actions.LOAD_DATA_RETENTION_MANAGEMENT_DATA_SUCCESS,\r\n dataRetentionManagementData,\r\n [pendingTask]: end,\r\n });\r\n })\r\n .catch((error) => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.LOAD_DATA_RETENTION_MANAGEMENT_DATA_FAILURE,\r\n null,\r\n error\r\n );\r\n });\r\n };\r\n}\r\n\r\nexport function dispatchDataRetentionManagementData(message, action) {\r\n return function (dispatch) {\r\n dispatch({ type: action, message });\r\n };\r\n}\r\n\r\n/**\r\n * Download Data Deletion Summary.\r\n * @returns {function} A Promise.\r\n */\r\nexport function exportDataDeletionSummary(clientId, approvedDates) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n \r\n \r\n \r\n // Get the local timezone\r\n const localTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n\r\n // Get the first matching Windows timezone\r\n const clientWindowsTimeZone = findWindows(localTimeZone)[0];\r\n\r\n return fetch(`/dataRetentionManagement/exportDataDeletionSummary?clientId=${clientId}&clientWindowsTimeZone=${clientWindowsTimeZone}`, {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n \r\n }) .then(function (response) {\r\n if (!response.ok) {\r\n throw new Error('Unexpected error');\r\n }\r\n\r\n return response.blob().then(function (blob) {\r\n const contentDisposition = response.headers.get(\"Content-Disposition\");\r\n const filename = contentDisposition.split(';')[1].split('=')[1].trim();\r\n download(blob, filename);\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n \r\n });\r\n }).catch(error => {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.TASK_END, null, error);\r\n });\r\n }\r\n}\r\n\r\nexport function approveDataDeletion(requestData) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n return fetch(`/dataRetentionManagement/updateDataPurgeReportStatus`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(requestData)\r\n })\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.ACTION_DATA_RETENTION_MANAGEMENT_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.ACTION_DATA_RETENTION_MANAGEMENT_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Fetch calendar years from client's report periods. If successful this will dispatch the TASK_END and return calendarYears\r\n * otherwise it will dispatch the LOAD_CALENDAR_YEARS_FAILURE action.\r\n * @param {number} clientId The id of the client.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchDataRetentionCalendarYears(clientId) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch(`/dataRetentionManagement/calendarYears?clientID=${clientId}`)\r\n .then(response => {\r\n return response.json();\r\n }).then(calendarYears => {\r\n if (actionHelpers.isErrorResponse(calendarYears)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CALENDAR_YEARS_FAILURE, calendarYears);\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return calendarYears;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_CALENDAR_YEARS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n\r\n\r\n\r\n","import React from 'react';\r\nimport { MotifModal,\r\n MotifModalHeader,\r\n MotifModalBody,\r\n MotifModalFooter,MotifIcon,MotifButton } from '@ey-xd/motif-react';\r\nimport { IconoirInfoCircle } from '@ey-xd/motif-icon';\r\nimport { reduxForm } from \"redux-form\";\r\nimport { IconoirWarningCircle } from '@ey-xd/motif-icon';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst ApprovalsCompletedModal = ({showApprovalsCompletedModal,toggleShowApprovalsCompletedModal,approvalsCompletedModalHeader,approvalsCompletedModalBody1,approvalsCompletedModalBody2, handleOK\r\n}) => {\r\n\r\n const HeaderWrapper = ({ children }) => (\r\n \r\n {children}\r\n \r\n );\r\n\r\n const closeButtonProps = {\r\n title: approvalsCompletedModalHeader,\r\n ariaLabel: approvalsCompletedModalHeader,\r\n dataTestid: 'close'\r\n };\r\n return (\r\n toggleShowApprovalsCompletedModal()} data-testid=\"ApprovalOrExceptionCompleted\">\r\n \r\n \r\n {approvalsCompletedModalHeader}\r\n \r\n \r\n \r\n {approvalsCompletedModalBody1}

    \r\n {approvalsCompletedModalBody2}

    \r\n
    \r\n \r\n handleOK()}\r\n >\r\n OK\r\n \r\n \r\n
    \r\n );\r\n};\r\nApprovalsCompletedModal.propTypes = {\r\n showApprovalsCompletedModal: PropTypes.bool,\r\n toggleShowApprovalsCompletedModal: PropTypes.func,\r\n approvalsCompletedModalHeader: PropTypes.string,\r\n approvalsCompletedModalBody1: PropTypes.string,\r\n approvalsCompletedModalBody2: PropTypes.string,\r\n handleOK: PropTypes.func\r\n};\r\n\r\nexport default reduxForm({ form: \"ApprovalsCompletedForm\", enableReinitialize: true })(ApprovalsCompletedModal);\r\n\r\n","import React, { Component } from 'react';\r\nimport DataRetentionManagementHeader from '../../components/dataRetentionManagement/dataRetentionManagementHeader';\r\nimport { reduxForm } from \"redux-form\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from \"react-redux\";\r\nimport DataRetentionManagementTable from '../../components/dataRetentionManagement/dataRetentionManagementTable';\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport * as clientActions from \"../../actions/clientActions\";\r\nimport * as dataRetentionManagementActions from '../../actions/dataRetentionManagementActions';\r\nimport ApprovalsCompletedModal from '../../components/dataRetentionManagement/ApprovalsCompletedModal';\r\nimport * as Constants from '../../constants/other';\r\n\r\nexport class DataRetentionManagementContainer extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.handleDataRetentionActions=this.handleDataRetentionActions.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.setGridColumnState = this.setGridColumnState.bind(this);\r\n this.handleGridColumnStateChange = this.handleGridColumnStateChange.bind(this);\r\n this.handleExportDataDeletionSummary=this.handleExportDataDeletionSummary.bind(this);\r\n this.toggleShowApprovalsCompletedModal = this.toggleShowApprovalsCompletedModal.bind(this);\r\n this.handleOK = this.handleOK.bind(this);\r\n this.state = {\r\n data: [],\r\n dataRetentionManagementData: [],\r\n gridCurrentState: [],\r\n gridColumnState: [],\r\n refreshGriddataRetentionManagementData: {\r\n refreshGridOnCompletedAction: -1\r\n },\r\n approvedDates: [],\r\n showApprovalsCompletedModal: false,\r\n };\r\n }\r\n \r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.getDataRetentionManagementData();\r\n \r\n // Fetch authorizations\r\n this.props.authActions\r\n .fetchAuthorizationsForCurrentUser(this.props.currentUserId)\r\n .then((currentUserAuthorizations) => {\r\n this.setState({ currentUserAuthorizations });\r\n }); \r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (\r\n this.props.dataRetentionManagementData &&\r\n this.props.dataRetentionManagementData !== prevProps.dataRetentionManagementData\r\n ) {\r\n this.setState({ dataRetentionManagementData: this.props.dataRetentionManagementData });\r\n let updatedData = this.props.dataRetentionManagementData?.filter(data => data.approvedDateTime !== null);\r\n // MM:DD:YYYY HH:MM AM/PM\r\n const dateFormat1 = {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric',\r\n hour: '2-digit',\r\n minute: '2-digit'\r\n };\r\n\r\n updatedData = this.props.dataRetentionManagementData?.filter(data => data.approvedDateTime !== null).map((data) => {\r\n if (data.approvedDateTime !== null && data.approvedDateTime !== undefined) {\r\n const date = new Date(data.approvedDateTime);\r\n // use toLocaleString with undefined value to get the local time zone settings\r\n const formattedDate = (new Date(date + 'Z')).toLocaleString(undefined, dateFormat1);\r\n return {\r\n DataPurgeReportPeriodID: data.dataPurgeReportPeriodID,\r\n LocalTZApproveDateTime: formattedDate,\r\n };\r\n }\r\n });\r\n\r\n this.setState({ approvedDates: updatedData });\r\n } \r\n }\r\n\r\n /**\r\n * Invoked immediately before unmounting occurs\r\n * @returns {undefined}\r\n */\r\n componentWillUnmount() {\r\n // On unmount, clear the state to conserve memory\r\n this.setState({ dataRetentionManagementData: [] });\r\n\r\n // Clearing the redux state for data retention management data\r\n this.props.dataRetentionManagementActions.fetchDataRetentionManagementData();\r\n } \r\n\r\n refreshGrid(selectedData=[]) { \r\n this.getDataRetentionManagementData();\r\n\r\n const randomNumber = parseInt(Math.random() * (99999999 - 1)) + 1;\r\n if (\r\n selectedData &&\r\n Array.isArray(selectedData) &&\r\n selectedData.length > 0\r\n ) {\r\n this.setState({\r\n refreshGriddataRetentionManagementData: {\r\n refreshGridOnCompletedAction: randomNumber\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n refreshGriddataRetentionManagementData: {\r\n refreshGridOnCompletedAction: randomNumber\r\n },\r\n });\r\n }\r\n }\r\n\r\n handleDataRetentionActions(statusId) { \r\n let selectedData = this.state.gridCurrentState.filter(gridData => gridData.reitSelection)\r\n .map(gridData => {\r\n return {\r\n dataPurgeID: gridData.dataPurgeID,\r\n reportPeriodID : gridData.reportPeriodID,\r\n reitid : gridData.reitid,\r\n dataPurgeReportPeriodID:gridData.dataPurgeReportPeriodID,\r\n dataPurgeStatusID:statusId\r\n }\r\n });\r\n var requestData = [];\r\n selectedData.forEach(function (item) {\r\n requestData.push({\r\n dataPurgeID: item.dataPurgeID,\r\n reportPeriodID : item.reportPeriodID,\r\n reitid : item.reitid,\r\n dataPurgeReportPeriodID:item.dataPurgeReportPeriodID,\r\n dataPurgeStatusID:item.statusId \r\n });\r\n });\r\n\r\n const requestDataVal = {\r\n \"clientId\": this.props.clientId,\r\n \"statusId\": statusId, \r\n \"updateDataPurgeReportStatusList\": selectedData,\r\n }; \r\n this.props.dataRetentionManagementActions.approveDataDeletion(requestDataVal).then(() => { \r\n this.refreshGrid(selectedData);\r\n\r\n // Check whether all the required data purge report period records are either approved or provided an exception\r\n // And update the flag IsLockedForMissingDeletionApprovalOrException accordingly.\r\n\r\n let prevStatusIsLockedForMissingDeletionApprovalOrException = this.props.client.isLockedForMissingDeletionApprovalOrException; \r\n \r\n this.props.clientActions\r\n .updateIsLockedForMissingDeletionApprovalOrExceptionStatus(this.props.clientId)\r\n .then((response) => {\r\n if (response && response.success) {\r\n this.props.clientActions.loadClient(this.props.clientId).then(() => {\r\n \r\n // Now show popup if the isLockedForMissingDeletionApprovalOrException flag is reverted to false\r\n if(prevStatusIsLockedForMissingDeletionApprovalOrException === true && this.props.client \r\n && this.props.client.isLockedForMissingDeletionApprovalOrException === false\r\n && !authActions.isSystemAdministrator(this.props.currentUserAuthorizations)){\r\n this.setState({ showApprovalsCompletedModal: true });\r\n }\r\n });\r\n }\r\n });\r\n \r\n });\r\n }\r\n\r\n handleGridChanges(gridRowData) {\r\n let rowData = [];\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n reitid: x.reitid,\r\n reportPeriodID : x.reportPeriodID,\r\n reitName: x.reitName,\r\n reportPeriodDescription: x.reportPeriodDescription,\r\n scheduledDeletionDate: x.scheduledDeletionDate,\r\n actualDeletionDate: x.actualDeletionDate,\r\n deletionStatus: x.deletionStatus,\r\n approvedBy: x.approvedBy,\r\n approvedDateTime: x.approvedDateTime,\r\n reitSelection: x.reitSelection,\r\n dataPurgeReportPeriodID:x.dataPurgeReportPeriodID,\r\n dataPurgeStatusID:x.dataPurgeStatusID,\r\n dataPurgeID:x.dataPurgeID,\r\n stage2DataPurgeStatusID:x.stage2DataPurgeStatusID,\r\n stage3DataPurgeStatusID:x.stage3DataPurgeStatusID,\r\n }\r\n });\r\n this.setState({ gridCurrentState: rowData });\r\n }\r\n\r\n /**\r\n * Set AG-Grid column state \r\n * @returns {undefined}\r\n */\r\n setGridColumnState() {\r\n var columnState = localStorage.getItem('REITSuiteDataRetentionManagementColumnState');\r\n if (columnState) {\r\n this.setState({ gridColumnState: JSON.parse(columnState) });\r\n }\r\n else {\r\n this.setState({ gridColumnState: [{ colId: '-1' }] });\r\n }\r\n }\r\n\r\n getDataRetentionManagementData() {\r\n this.props.dataRetentionManagementActions.fetchDataRetentionManagementData(\r\n this.props.clientId,\r\n );\r\n}\r\n /**\r\n * Handle Grid column state chagne\r\n * @returns {undefined}\r\n */\r\n handleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n}\r\n\r\n handleExportDataDeletionSummary() {\r\n this.props.dataRetentionManagementActions.exportDataDeletionSummary(\r\n this.props.clientId,\r\n this.state.approvedDates\r\n );\r\n }\r\n\r\n toggleShowApprovalsCompletedModal() {\r\n this.setState({\r\n showApprovalsCompletedModal: !this.state.showApprovalsCompletedModal\r\n });\r\n }\r\n\r\n handleOK() {\r\n this.toggleShowApprovalsCompletedModal();\r\n\r\n // Redirect to REIT dashboard\r\n if(this.props.clientId && this.props.clientId > 0){\r\n this.props.router.navigate(`/client/${this.props.clientId}`);\r\n }\r\n } \r\n\r\n render() {\r\n const { clientId } = this.props;\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {(this.props.dataRetentionManagementData == null || this.props.dataRetentionManagementData.length === 0) &&\r\n
    No REITs and report period found.
    }\r\n \r\n );\r\n }\r\n}\r\n\r\nDataRetentionManagementContainer.propTypes = {\r\n clientId: PropTypes.number,\r\n currentUserAuthorizations: PropTypes.array,\r\n actions: PropTypes.object,\r\n dataRetentionManagementData: PropTypes.array,\r\n authActions: PropTypes.object,\r\n clientActions: PropTypes.object,\r\n currentUserId: PropTypes.string,\r\n router: PropTypes.object,\r\n handleOK: PropTypes.func,\r\n toggleShowApprovalsCompletedModal: PropTypes.func,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n let cid = Number.parseInt(ownProps.router.params.clientId); \r\n if (isNaN(cid)) {\r\n cid = 0;\r\n }\r\n return {\r\n clientId: cid,\r\n client: state.client,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n dataRetentionManagementData: state.dataRetentionManagementData,\r\n currentUserId: state.authentication.currentUser\r\n };\r\n}\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n dataRetentionManagementActions: bindActionCreators(dataRetentionManagementActions, dispatch),\r\n authActions: bindActionCreators(authActions, dispatch),\r\n clientActions: bindActionCreators(clientActions, dispatch),\r\n };\r\n}\r\n\r\n export default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(\r\n reduxForm({ form: \"dataRetentionManagementForm\", enableReinitialize: true })(DataRetentionManagementContainer)\r\n )\r\n )","import React, { useState } from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport * as constants from '../../constants/other';\r\nimport { useSelector } from 'react-redux';\r\nimport { MotifTabNavigation, MotifTabControl, MotifTextLink } from \"@ey-xd/motif-react\";\r\nimport { Link } from 'react-router-dom';\r\n\r\nfunction DataRetentionManagementPolicy(props) {\r\n\r\n const params = useParams();\r\n const { clientId } = useParams();\r\n let dataPurgeConfigurationParameter_ARQC = null;\r\n let dataPurgeConfigurationParameter_Regular = null;\r\n let dataPurgeConfigurationParameter_ARQC_Value = null; // to set the default value while page loading\r\n let dataPurgeConfigurationParameter_Regular_Value = null; // to set the default value while page loading\r\n const convertWordToNum = num => [\"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"ten\"][num];\r\n\r\n const dataPurgeConfigurationValues = useSelector(\r\n state => state.dataPurgeConfigurationData\r\n );\r\n\r\n const isDecimal = (num) => {\r\n return num % 1 !== 0;\r\n }\r\n\r\n const [tabBarIndex, setTabBar] = useState(1);\r\n\r\n //Set current tab index\r\n const handleClick = (index) => {\r\n setTabBar(index);\r\n }\r\n\r\n dataPurgeConfigurationParameter_ARQC = dataPurgeConfigurationValues && dataPurgeConfigurationValues.find(item => item.dataPurgeConfigurationParameter === constants.DataPurgeConfigurationParameter_ARQC);\r\n\r\n dataPurgeConfigurationParameter_ARQC_Value = dataPurgeConfigurationParameter_ARQC ?\r\n isDecimal(dataPurgeConfigurationParameter_ARQC.dataPurgeConfigurationValue) ?\r\n dataPurgeConfigurationParameter_ARQC.dataPurgeConfigurationValue :\r\n convertWordToNum(dataPurgeConfigurationParameter_ARQC.dataPurgeConfigurationValue) : null;\r\n\r\n dataPurgeConfigurationParameter_Regular = dataPurgeConfigurationValues && dataPurgeConfigurationValues.find(item => item.dataPurgeConfigurationParameter === constants.DataPurgeConfigurationParameter_Regular) || null;\r\n dataPurgeConfigurationParameter_Regular_Value = dataPurgeConfigurationParameter_Regular ?\r\n isDecimal(dataPurgeConfigurationParameter_Regular.dataPurgeConfigurationValue) ? dataPurgeConfigurationParameter_Regular.dataPurgeConfigurationValue\r\n :\r\n convertWordToNum(dataPurgeConfigurationParameter_Regular.dataPurgeConfigurationValue) : null;\r\n\r\n return (
    \r\n

    Help Guide

    \r\n
    \r\n
    \r\n \r\n handleClick(1)}\r\n key={0}>\r\n Data Retention Policy\r\n \r\n \r\n
    \r\n
    \r\n {tabBarIndex === 1 &&\r\n
    \r\n

    REITSuite Data Retention Policy

    \r\n

    \r\n
      \r\n

    1. Executive Summary
    2. \r\n

      \r\n The objective of the REITSuite Data Retention Policy, which will be in effect from October 11, 2024, is to define the requirements for retaining data and to ensure the secure disposal of records and information within REITSuite once their retention period has lapsed, unless an exemption has been approved for extended retention.\r\n

      \r\n

      Adherence to the Policy mitigates risk to EY, our people, and our clients, of possible reputational or brand damage, reduced client confidence, or financial sanctions or penalties. It also:

      \r\n
        \r\n
      • Protects the integrity and availability of business-critical records and information.
      • \r\n
      • Establishes requirements for and evidence of conformity with laws and regulations for the retention, handling and the periodic review and disposition of eligible records and information.
      • \r\n
      • Protects the integrity and availability of business-critical records and information.
      • \r\n
      • Reduces operating and storage costs by decreasing the volume of unnecessary records and information.
      • \r\n
      \r\n\r\n\r\n

    3. Firm Standards and Exceptions
    4. \r\n
        \r\n
      1. Firm Standards & REITSuite
      2. \r\n

        The firm defines data stored in REITSuite into different data classes with different data retention rules:

        \r\n
          \r\n
        • i. Required Records: Includes client data, information, working papers, work products and/or final outputs/deliverables that document the service that has been provided to the client. Required records should be moved out of a Tool and into EYI-MyDocs (or Canvas) on a real time basis and/or within 30 days of the work covered by the engagement being completed. With respect to REITSuite, this includes all PBC, imports, checklists and reports, as appropriate.
        • \r\n
        • ii. Non-Records: All other data, such as duplicates and expired data. With respect to REITSuite, this means we can retain the data in REITSuite (as a duplicate to what is saved in EYI-MyDocs or Canvas) as a secondary source up to two years. However, please note REITSuite has an exception approved by Tax Quality & Independence to save select data for five years or the life of the engagement in REITSuite. See Section 3 for a breakout on data retention windows per data type.
        • \r\n
        \r\n\r\n
      3. Exceptions
      4. \r\n

        To retain the records longer than the 2- or 5-year (as shown in section 3) retention period within REITSuite, an engagement team member can send a request to the REITSuite team by sending an email to reitsuite@ey.com. Please note any exceptions to this policy will ultimately need a business case that is approved by Tax Quality and Independence.

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

    5. Data Purge Process
    6. \r\n

      The data purge protocol for the REITSuite system is an annual procedure, set to occur on the Friday preceding the second Sunday in December each year. This protocol is tailored to comply with the distinct retention needs for various engagement types and categories of records/information, as outlined below.

      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      Record/Information TypeEngagement Type
      TaxAudit - ARQC Checklist Only
      Checklist AttachmentsStandard (2 years)Standard (2 years)
      Period File Management: General & Other File Uploads
      Bulk Report Package*
      User Uploaded Final Deliverable Reports
      Checklist Delivery Schedule Standard - Extended (5 Years)Standard (2 years)
      Report Period and All Report Period level data associated with the report periods (TB Data, Checklist, Checklist Responses, Asset Testing, Income Testing, Distributions, Securities, etc.)
      Client, Client SettingsLife of EngagementLife of Engagement
      REITs & Files at REIT level
      Custom FDR Templates
      PSQ Checklist TemplatesLife of EngagementN/A
      Chart of Accounts
      \r\n

      \r\n

      For Example, a 5-year retention policy includes the current tax year plus four previous tax years. In December 2024, teams generally have concluded the delivery of the 2023 tax return. At this time, testing quarters that support the 2018 tax return and earlier would be deleted. (Retaining tax years 2023, 2022, 2021, 2020, and 2019). Note, in many cases, a portion of the 2024 data will be collected and processed in REITSuite as well but not all data will be in the system to support the 2024 tax return.

      \r\n

      For all other records without a 5-year exception, in December 2024, testing quarters for 2022 and earlier would be deleted. This will leave engagement teams with 2023 testing quarters, and in many cases, 2024 testing quarters as well.

      \r\n

    7. Appointing a Data Steward to Manage the Purge Process
    8. \r\n

      Each client is required to appoint at least one, but no more than two Data Stewards. The Data Stewards are responsible for approving test periods for deletion. The system is designed to send automated reminders at predetermined intervals to ensure Data Stewards provide their responses in a timely manner.

      \r\n

      Any report periods and associated records that have been cleared for deletion will be removed from the system on the designated deletion date. Please note, Report packages are the only data type that will delete in REITSuite without Data Steward approval. These files will automatically delete from REITSuite based upon the scheduled deletion date as shown for each report package on the 'Bulk Report Management' page. REITSuite determines the deletion date for a report package based upon the oldest applicable period in the report package.

      \r\n

      For all client sites (both Tax and Audit – ARQC Only), Data Stewards are expected to approve deletions before the initial 2-year retention period expires. Failure to approve the deletion within the 2-year period will result in escalation to Tax Quality and Engagement Partners. Note, for Tax clients, the Data Stewards’ approval will also approve the deletion for the data types with a 5-year retention period as well. However, as best practice, engagement teams are expected to transfer REITSuite data to EYI-MyDocs (or Canvas) on a real time basis or within 30 days of the work covered by the engagement being completed. Immediately after the data is transferred, Data Stewards should ideally approve the data for deletion and not wait for the 2-year retention period to lapse.

      \r\n\r\n

    9. Other Notes in the Data Deletion Process
    10. \r\n
        \r\n
      • a.Assigning Data Stewards
        \r\n

        The Data Stewards possess the authority to manage data and approve data deletions. Each client must assign at least one but no more than two Data Stewards from their Engagement Administrators list. Ideally Data Stewards would be Senior Manager or PPMD for that engagement.

        \r\n\r\n

        To assign a Data Steward, follow these steps:

        \r\n
          \r\n
        1. Choose a client from the Dashboard.
        2. \r\n
        3. Navigate to the Client Management dropdown menu.
        4. \r\n
        5. Go to Client Settings and locate the Authorized Users section.
        6. \r\n
        7. Identify the Engagement Administrator you wish to designate as a Data Steward and click the corresponding Edit icon.
        8. \r\n
        9. In the pop-up modal, check the Data Steward checkbox.
        10. \r\n
        11. Submit the changes to finalize the assignment.
        12. \r\n
        \r\n \r\n \"Step-by-Step\r\n \r\n
      • \r\n
      • b.Unlocking Client Pages
        \r\n \r\n

        To ensure the prompt processing of data deletion requests, access to client pages on REITSuite will be suspended until a Data Steward is actively designated. Additionally, the system will automatically revoke the Data Steward designation when an individual leaves the firm. In the absence of an active Data Steward, the client page will be automatically locked by the system until a new Data Steward takes over the role. All EY personnel linked to a REITSuite Client will be sent email reminders on the first Monday of every month until a Data Steward is allocated to that client. To prevent your client site from being locked and to stop receiving these notifications, please assign a Data Steward without delay.

        \r\n

        For initial rollout the client site will not be locked until Monday, December 2nd, 2024 (the first Monday of the month). All clients created after this date will be locked upon client creation until Data Steward is assigned.

        \r\n
        \r\n
      • \r\n\r\n
      • c.To 'Approve Data Deletion'
        \r\n \r\n

        As a Data Steward, your responsibility is to confirm the REITSuite data has been moved to the permanent system of record within the appropriate period. After all required data has been saved outside of REITSuite, the Data Steward is required to approve the appropriate periods for deletion.

        \r\n

        To approve data deletions, follow these steps:

        \r\n
        \r\n
          \r\n
        1. Choose a client from the list.
        2. \r\n
        3. Navigate to the Client Management dropdown menu.
        4. \r\n
        5. Go to Data Retention Management Page.
        6. \r\n
        7. In the data grid, identify and select the REITs for which you are granting approval.
        8. \r\n
        9. Click the Actions button.
        10. \r\n
        11. From the options presented, click on ‘Approve Data Deletion’ to finalize, and submit your approvals.
        12. \r\n
        \r\n \"Step-by-Step\r\n
      • \r\n\r\n
      • d.To 'Unapprove Data Deletion'
        \r\n \r\n

        To the extent you are not ready for the data to be deleted, as a Data Steward you can revoke previously granted approval (assuming its still before the Deletion Approval Due Date).

        \r\n

        To revoke previously approved data deletions, follow these steps:

        \r\n
        \r\n
          \r\n
        1. Choose a client from the list.
        2. \r\n
        3. Navigate to the Client Management dropdown menu.
        4. \r\n
        5. Go to Data Retention Management Page.
        6. \r\n
        7. In the data grid, identify and select the REITs for which you have previously granted approval for the data deletion.
        8. \r\n
        9. Click the Actions button.
        10. \r\n
        11. From the options presented, click on ‘Unapprove Data Deletion’ to finalize, and submit your changes.
        12. \r\n
        \r\n \"Step-by-Step\r\n
      • \r\n\r\n
      • e.Revoking Exceptions
        \r\n \r\n

        When you no longer need an exception to hold the data beyond the 2-5 years window, as a Data Steward you could revoke previously approved exceptions for the data deletion. Note, only a REITSuite administrator can approve an exception to deletion after receiving confirmation from both the engagement team, Tax Quality and Independence. However, a Data Steward can remove the exception to deletion at any time.

        \r\n

        To revoke a previously approved exception for the data deletions, follow these steps:

        \r\n
        \r\n
          \r\n
        1. Choose a client from the list.
        2. \r\n
        3. Navigate to the Client Management dropdown menu.
        4. \r\n
        5. Go to Data Retention Management Page.
        6. \r\n
        7. In the data grid, identify and select the REITs for which the exception was previously approved.
        8. \r\n
        9. Click the Actions button.
        10. \r\n
        11. From the options presented, click on ‘Remove Exception to Deletion’ to finalize, and submit your changes.
        12. \r\n
        \r\n \"Step-by-Step\r\n
      • \r\n
      • f.Receiving Notification & Alerts
        \r\n

        Every EY user associated with a REITSuite Client will be sent email notifications regarding essential data stewardship responsibilities.

        \r\n\r\n
        • EY users will be notified via email at intervals of 90, 60, 30, 14, and then daily from 7 days down to 1 day before the scheduled annual data deletion date, set for the Friday preceding the second Sunday in December. Should this date fall on a Friday to following Monday, the notification will be issued on the following Tuesday.
        • \r\n
        • Should the deletion date elapse with approvals or exceptions still outstanding, daily email reminders will persist until these matters are addressed.
        • \r\n
        \r\n
      • \r\n\r\n\r\n
      • g.Exporting Data Deletion Summary
        \r\n \r\n

        For record-keeping and effective data management, the Data Retention Management Page includes an \"Export Data Deletion Summary\" feature. This functionality enables users to download a detailed record of data slated for deletion, ensuring transparency and traceability in the data management process.

        \r\n

        The exported file contains several columns for easy review and verification: REIT, Report Period, Deletion Approval Due Date, Scheduled Deletion Date, Actual Deletion Date, Deletion Status, Approved By, and Approved Date. This structured format allows users to clearly understand and document the lifecycle of data within the system, from the scheduled deletion timeline to the actual execution and approval of the data removal.

        \r\n\r\n

        To export data deletion summary, follow these steps:

        \r\n
        \r\n
          \r\n
        1. Choose a client from the list.
        2. \r\n
        3. Navigate to the Client Management dropdown menu.
        4. \r\n
        5. Go to Data Retention Management Page.
        6. \r\n
        7. Click the Actions button.
        8. \r\n
        9. From the options presented, click the ‘Export Data Deletion Summary’.
        10. \r\n
        \r\n \"Step-by-Step\r\n
      • \r\n\r\n
      • h.Report Period Creation Restrictions
        \r\n

        Our policy restricts creating report periods beyond one full calendar year prior to the current calendar year. As an example, on January 1st, 2024, the system will only allow the creation of report periods going back to the first quarter of 2023 at the earliest. This restriction ensures that the system's data remains relevant and manageable, aligning with our commitment to efficient data stewardship and compliance with retention policies.

        \r\n\r\n
      • \r\n
      • i.External User Data Access Restrictions
        \r\n \r\n

        External users can access checklist data from only the last two years for both Tax Engagements and Audit – ARQC Checklist Only Engagements.

        \r\n

        For example, following the 2024 deletion event in December, external users will have access to Checklists from 2023 and 2024. Note, for Tax Engagements, EY Professionals will be able to see more data than the external users.

        \r\n
        \r\n
      • \r\n\r\n
      \r\n\r\n

    11. EY Roles in the Data Retention Management Process
    12. \r\n\r\n
      • a.Roles and Responsibilities
        \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
        RoleResponsibility
        Data Steward\r\n
          \r\n
        • Approve Data Deletion Requests
        • \r\n
        • Revoke, previously approved data deletion requests
        • \r\n
        • Raise exception requests to REITSuite System Administrators
        • \r\n
        • Revoke, previously granted exceptions
        • \r\n
        \r\n
        Engagement Admin\r\n
          \r\n
        • Assign Data Steward
        • \r\n
        • Coordinate with Data Steward to ensure timely approval of data deletion requests
        • \r\n
        \r\n
        Engagement User\r\n
          \r\n
        • Coordinate with Data Steward to ensure timely approval of data deletion requests
        • \r\n
        \r\n
        System Administrator\r\n
          \r\n
        • Approve or deny data deletion exception requests
        • \r\n
        \r\n
        External Client User
        • None
        \r\n\r\n
      • \r\n
      \r\n\r\n

    13. Contact Information
    14. \r\n\r\n

      For inquiries about the REITSuite data retention policy or to request an exception to data deletion, please email reitsuite@ey.com.\r\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 DataRetentionManagementPolicy;\r\n\r\n\r\n\r\n","import React from 'react';\r\nimport { PropTypes } from \"prop-types\";\r\nimport { Link } from 'react-router-dom';\r\nimport { MotifIcon } from '@ey-xd/motif-react';\r\nimport { IconoirHelpCircle } from '@ey-xd/motif-icon';\r\n\r\nconst DataStewardRoleManagementHeader = ({\r\n clientId\r\n}) => {\r\n return (\r\n <>\r\n

    Add Data Steward\r\n \r\n

    \r\n

    \r\n The Data Deletion Policy for REITSuite instructs that at least one authorized user must be designated as a Data Steward to proceed with further access to the application. For more information, please click on the help icon.\r\n

    \r\n \r\n );\r\n};\r\n\r\nDataStewardRoleManagementHeader.propTypes = {\r\n clientId: PropTypes.number.isRequired,\r\n};\r\n\r\nexport default DataStewardRoleManagementHeader;\r\n","import React, { useState } from 'react';\r\nimport { PropTypes } from \"prop-types\";\r\nimport { MotifButton } from '@ey-xd/motif-react';\r\nimport ClientAuthList from \"../../components/auth/ClientAuthList\";\r\n\r\n\r\nconst DataStewardList = ({\r\n handleGridChanges, handleEditButtonClick, handleDeleteButtonClick, toggleShowEditClientAuthModal, auths, auth,\r\n showEditClientAuthModal, handleEditClientAuthModalAction, isAuthorizedUserSearchBoxVisible, clientAuthFormValues,\r\n handleDailyNewsletter, receiveDailyNewsletter, handleWeeklyNewsletter, receiveWeeklyNewsletter, handleRealTimeNotification,\r\n receiveRealTimeNotification, receiveRealTimeNotificationForNewPsqArqcSent, handleInternalReviewNotification,clientId,\r\n handleAddClientAuthModalAction, showAddClientAuthModal, toggleShowAddClientAuthModal, handleAddClientAuthModalCancelAction,\r\n handleNewButtonClick, myEyError, validatingUser, handleOnRoleTypeChange, addAuthMessageText,handleGoToClientOverview,\r\n handleAddClientAuthModalValidateAction, validateDomainWithRole, isDataSteward, handleDataSteward,dataStewardCheckboxDisplay,dataStewardValue,showDSError,\r\n buttonVarient\r\n}) => {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n};\r\n\r\nDataStewardList.propTypes = {\r\n gridCurrentState: PropTypes.arrayOf(PropTypes.shape({\r\n checklistSelection: PropTypes.bool\r\n })),\r\n toggleShowEditClientAuthModal: PropTypes.func,\r\n showEditClientAuthModal: PropTypes.bool,\r\n handleEditClientAuthModalAction: PropTypes.func,\r\n clientAuthFormValues: PropTypes.object,\r\n handleDailyNewsletter: PropTypes.func,\r\n receiveDailyNewsletter: PropTypes.bool,\r\n handleWeeklyNewsletter: PropTypes.func,\r\n receiveWeeklyNewsletter: PropTypes.bool,\r\n handleRealTimeNotification: PropTypes.func,\r\n receiveRealTimeNotification: PropTypes.bool,\r\n receiveRealTimeNotificationForNewPsqArqcSent: PropTypes.bool,\r\n handleInternalReviewNotification: PropTypes.func,\r\n auth: PropTypes.object,\r\n handleEditButtonClick: PropTypes.func,\r\n handleDeleteButtonClick: PropTypes.func,\r\n showAddClientAuthModal: PropTypes.bool,\r\n toggleShowAddClientAuthModal: PropTypes.func,\r\n addAuthMessageText: PropTypes.string,\r\n handleAddClientAuthModalValidateAction: PropTypes.func,\r\n validatingUser: PropTypes.bool,\r\n myEyError: PropTypes.string,\r\n handleNewButtonClick: PropTypes.func,\r\n handleAddClientAuthModalAction: PropTypes.func,\r\n isDataSteward: PropTypes.bool,\r\n dataStewardValue: PropTypes.bool,\r\n handleDataSteward: PropTypes.func,\r\n handleGoToClientOverview: PropTypes.func,\r\n clientId: PropTypes.number,\r\n};\r\n\r\nexport default DataStewardList;\r\n","import React, { Component } from 'react';\r\nimport DataStewardRoleManagementHeader from '../../components/dataStewardRoleManagement/dataStewardRoleManagementHeader';\r\nimport { reduxForm } from \"redux-form\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from \"react-redux\";\r\nimport DataStewardList from '../../components/dataStewardRoleManagement/dataStewardList';\r\nimport { bindActionCreators } from \"redux\";\r\nimport { SubmissionError, reset, getFormValues } from \"redux-form\";\r\nimport DeleteModal from \"../../components/shared/DeleteModal\";\r\nimport * as authorizationDomainValidator from \"../../scripts/authorizationDomainValidator\";\r\nimport * as commonActions from \"../../actions/commonActions\";\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport * as dataPurgeActions from \"../../actions/dataPurgeActions\";\r\nimport * as clientActions from \"../../actions/clientActions\";\r\nimport { store } from \"../../store/configureStore\";\r\nimport {\r\n MotifToast\r\n} from '@ey-xd/motif-react';\r\nimport { ToastContainer, toast, Slide } from 'react-toastify';\r\nimport DataStewardAssignmentRequiredModal from '../../components/dataStewardRoleManagement/dataStewardAssignmentRequiredModal';\r\nimport * as Constants from '../../constants/other';\r\n\r\nexport class DataStewardRoleManagementContainer extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n clientdata: [],\r\n gridCurrentState: [],\r\n showAddClientAuthModal: false,\r\n showEditClientAuthModal: false,\r\n auth: { \"userId\": null, \"resource\": authActions.resource.Client, \"role\": \"2\", \"resourceId\": this.props.clientId, \"id\": null, receiveDailyNewsletter: false, receiveWeeklyNewsletter: false, receiveRealTimeNotification: false, receiveRealTimeNotificationForNewPsqArqcSent: false, isDataSteward: false },\r\n confirmAction: null,\r\n addAuthMessageText: null,\r\n currentUserId: this.props.currentUserId,\r\n currentUserIsSysAdmin: this.props.currentUserIsSysAdmin,\r\n allowedDomains: \"\",\r\n myEyUser: {},\r\n receiveDailyNewsletter: false,\r\n receiveWeeklyNewsletter: false,\r\n receiveRealTimeNotification: false,\r\n receiveRealTimeNotificationForNewPsqArqcSent: false,\r\n isAuthorizedUserSearchBoxVisible: false,\r\n isDataSteward: false,\r\n showDSError: false,\r\n showDSErrorMessage: false,\r\n isAudit: false,\r\n dataPurgeConfigurationData: [],\r\n showMinimumDataStewardWarningModal: false,\r\n deletedUserID: null,\r\n dataStewardValue: false,\r\n };\r\n\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.handleEditButtonClick = this.handleEditButtonClick.bind(this);\r\n this.toggleShowEditClientAuthModal = this.toggleShowEditClientAuthModal.bind(this);\r\n this.handleEditClientAuthModalAction = this.handleEditClientAuthModalAction.bind(this);\r\n this.handleEditClientAuthModalCancelAction = this.handleEditClientAuthModalCancelAction.bind(this);\r\n this.handleDailyNewsletter = this.handleDailyNewsletter.bind(this);\r\n this.handleWeeklyNewsletter = this.handleWeeklyNewsletter.bind(this);\r\n this.handleRealTimeNotification = this.handleRealTimeNotification.bind(this);\r\n this.handleInternalReviewNotification = this.handleInternalReviewNotification.bind(this);\r\n this.handleDeleteButtonClick = this.handleDeleteButtonClick.bind(this);\r\n this.onConfirmDelete = this.onConfirmDelete.bind(this);\r\n this.handleCancelDelete = this.handleCancelDelete.bind(this);\r\n this.toggleShowAddClientAuthModal = this.toggleShowAddClientAuthModal.bind(this);\r\n this.handleNewButtonClick = this.handleNewButtonClick.bind(this);\r\n this.handleAddClientAuthModalCancelAction = this.handleAddClientAuthModalCancelAction.bind(this);\r\n this.handleAddClientAuthModalValidateAction = this.handleAddClientAuthModalValidateAction.bind(this);\r\n this.validateDomainWithRole = this.validateDomainWithRole.bind(this);\r\n this.handleOnRoleTypeChange = this.handleOnRoleTypeChange.bind(this);\r\n this.handleAddClientAuthModalAction = this.handleAddClientAuthModalAction.bind(this);\r\n this.handleDataSteward = this.handleDataSteward.bind(this);\r\n this.handleDataStewardCheckboxDisplay = this.handleDataStewardCheckboxDisplay.bind(this);\r\n this.handleDataStewardsForClientCount = this.handleDataStewardsForClientCount.bind(this);\r\n this.toggleShowMinimumDataStewardWarningModal = this.toggleShowMinimumDataStewardWarningModal.bind(this);\r\n this.handleGoToClientOverview = this.handleGoToClientOverview.bind(this);\r\n this.toastSystem = React.createRef();\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.clientId) {\r\n this.props.clientActions.loadClient(this.props.clientId);\r\n this.props.authorizationActions.fetchAuthorizations(null, 2, this.props.clientId, null);\r\n this.props.dataPurgeActions.fetchDataPurgeConfigurationData();\r\n this.setState({ clientdata: this.props.authorizations });\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (this.props.authorizations !== prevProps.authorizations && this.props.authorizations && prevProps.authorizations) {\r\n if (this.props.clientId) {\r\n const list = Object.assign([], this.props.authorizations);\r\n this.setState({ clientdata: list },\r\n );\r\n }\r\n }\r\n if (prevState.numberOfDataStewards !== this.state.numberOfDataStewards) {\r\n if (this.state.numberOfDataStewards >= this.dataPurgeMaximumDSValue) {\r\n this.setState({ dataStewardCheckboxDisplay: true, showDSError: true });\r\n }\r\n }\r\n\r\n if (this.props.dataPurgeConfigurationData != prevProps.dataPurgeConfigurationData) {\r\n this.getDataPurgeMaximumDSValue();\r\n }\r\n if (this.props.clientId !== prevProps.clientId) {\r\n this.props.authorizationActions.fetchAuthorizations(null, 2, this.props.clientId, null);\r\n this.props.dataPurgeActions.fetchDataPurgeConfigurationData();\r\n this.setFilter();\r\n }\r\n if (this.props.client !== prevProps.client) {\r\n if (this.props.client !== null) {\r\n this.setState({ isAudit: this.props.client.isAudit });\r\n this.reloadAdminAuths(true);\r\n this.props.dataPurgeActions.fetchDataPurgeConfigurationData();\r\n }\r\n }\r\n }\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n render() {\r\n const { clientId } = 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 handleGoToClientOverview(clientId) {\r\n\r\n clientActions.fetchClient(clientId).then((client) => {\r\n\r\n if (client) {\r\n if (client.isLockedForNotHavingDataSteward !== false) {\r\n this.setState({\r\n showMinimumDataStewardWarningModal: true,\r\n });\r\n\r\n return true;\r\n }\r\n else {\r\n this.props.router.navigate(`/client/${clientId}`);\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n handleAuthStatusNotificationClose(authStatusNotification) {\r\n if (authStatusNotification && toast.isActive(authStatusNotification)) {\r\n toast.dismiss(authStatusNotification);\r\n }\r\n }\r\n\r\n toggleShowAddClientAuthModal() {\r\n if (!this.state.showAddClientAuthModal) {\r\n this.setState({\r\n auth: {\r\n \"userId\": null,\r\n \"resource\": authActions.resource.Client,\r\n \"role\": \"2\",\r\n \"resourceId\": this.props.clientId,\r\n \"id\": null,\r\n \"myEyError\": null,\r\n receiveDailyNewsletter: false,\r\n receiveWeeklyNewsletter: false,\r\n receiveRealTimeNotification: false,\r\n receiveRealTimeNotificationForNewPsqArqcSent: false,\r\n isDataSteward: false\r\n },\r\n addAuthMessageText: null,\r\n myEyUser: {},\r\n receiveDailyNewsletter: false,\r\n receiveWeeklyNewsletter: false,\r\n receiveRealTimeNotification: true,\r\n receiveRealTimeNotificationForNewPsqArqcSent: false,\r\n isDataSteward: false,\r\n myEyError: null\r\n },\r\n this.setState({ showAddClientAuthModal: !this.state.showAddClientAuthModal }));\r\n }\r\n else {\r\n this.setState({ showAddClientAuthModal: !this.state.showAddClientAuthModal }, () => store.dispatch(reset('clientAuth')));\r\n }\r\n }\r\n\r\n handleAddClientAuthModalAction(values) {\r\n if (!values || !values.userId || values.userId.trim() === \"\") {\r\n this.setState({ addAuthMessageText: \"Required\" });\r\n return;\r\n }\r\n\r\n for (let auth of this.props.authorizations) {\r\n if (values.userId.toLowerCase() === auth.userId.toLowerCase()) {\r\n this.setState({ addAuthMessageText: `'${values.userId}' is already an authorized user.` });\r\n return;\r\n }\r\n }\r\n\r\n let authValues = Object.assign({}, values);\r\n authValues.receiveDailyNewsletter = this.state.receiveDailyNewsletter;\r\n authValues.receiveWeeklyNewsletter = this.state.receiveWeeklyNewsletter;\r\n authValues.receiveRealTimeNotification = this.state.receiveRealTimeNotification;\r\n authValues.receiveRealTimeNotificationForNewPsqArqcSent = this.state.receiveRealTimeNotificationForNewPsqArqcSent;\r\n authValues.isDataSteward = this.state.isDataSteward;\r\n // Populate companyName using companyId if needed\r\n // If there were multiple companies get the name by id selected, otherwise, use company_name\r\n if (values.role === '4') {\r\n // If missing first/last name, then exit function\r\n if (!values || !values.first_name || !values.first_name.trim() === \"\" || !values.last_name || !values.last_name.trim() === \"\") {\r\n return;\r\n }\r\n\r\n authValues = Object.assign(\r\n {},\r\n authValues,\r\n {\r\n companyName: values.companies && values.companies.length > 0 ?\r\n values.companies.find(x => x.id == values.companyId).name : values.company_name,\r\n firstName: values.first_name,\r\n lastName: values.last_name,\r\n guid: this.state.myEyUser ? this.state.myEyUser.guid : null\r\n\r\n }\r\n );\r\n\r\n if (authValues.companies) {\r\n delete authValues.companies;\r\n }\r\n }\r\n \r\n this.props.commonActions.beginTask();\r\n this.props.authActions.createAuthorization(authValues).then(() => {\r\n\r\n this.reloadAdminAuths(true);\r\n this.setState({\r\n auth: {\r\n \"userId\": null,\r\n \"resource\": authActions.resource.Client,\r\n \"role\": \"2\",\r\n \"resourceId\": this.props.clientId,\r\n \"id\": null,\r\n receiveDailyNewsletter: false,\r\n receiveWeeklyNewsletter: false,\r\n receiveRealTimeNotification: false,\r\n receiveRealTimeNotificationForNewPsqArqcSent: false,\r\n isDataSteward: false\r\n },\r\n });\r\n this.toggleShowAddClientAuthModal();\r\n this.props.commonActions.endTask();\r\n\r\n // If the user is a data steward, then navigate to the client settings page\r\n if(authValues.isDataSteward) {\r\n this.props.router.navigate(`/client/${this.props.clientId}/edit`);\r\n }\r\n }).catch((error) => {\r\n this.toggleShowAddClientAuthModal();\r\n this.reloadAdminAuths(true);\r\n var authStatusNotification = toast(\r\n (\r\n this.handleAuthStatusNotificationClose(authStatusNotification)}\r\n >\r\n
    \r\n
    \r\n {error.message}\r\n
    \r\n
    \r\n
    \r\n )\r\n , {\r\n autoClose: 5000,\r\n });\r\n })\r\n this.props.commonActions.endTask();\r\n }\r\n\r\n getDataPurgeMaximumDSValue() {\r\n const dataPurgeConfig = this.props.dataPurgeConfigurationData && this.props.dataPurgeConfigurationData.find(item => item.dataPurgeConfigurationID === 4);\r\n return this.dataPurgeMaximumDSValue = dataPurgeConfig ? dataPurgeConfig.dataPurgeConfigurationValue : null;\r\n }\r\n\r\n handleDataStewardCheckboxDisplay(numberOfDataStewards) {\r\n if (numberOfDataStewards >= this.dataPurgeMaximumDSValue) {\r\n this.setState({ dataStewardCheckboxDisplay: true });\r\n }\r\n else {\r\n this.setState({ dataStewardCheckboxDisplay: false });\r\n }\r\n }\r\n\r\n handleDataStewardsForClientCount() {\r\n const numberOfDataStewards = this.props.authorizations && this.props.authorizations.filter(x => x.resourceId === this.props.clientId.toString() && x.resource === 2 && x.isDataSteward === true).length;\r\n this.setState({\r\n numberOfDataStewards: numberOfDataStewards\r\n });\r\n this.handleDataStewardCheckboxDisplay(numberOfDataStewards);\r\n\r\n }\r\n\r\n\r\n validateDomainWithRole(value, allValues) {\r\n return authorizationDomainValidator.allowedDomain(value, this.state.allowedDomains, allValues);\r\n }\r\n\r\n toggleShowEditClientAuthModal() {\r\n this.setState({ showEditClientAuthModal: !this.state.showEditClientAuthModal });\r\n }\r\n\r\n handleAddClientAuthModalCancelAction() {\r\n this.props.commonActions.clearFormErrors(\"clientAuth\");\r\n this.setState({\r\n auth: {\r\n \"userId\": null,\r\n \"resource\": authActions.resource.Client,\r\n \"role\": \"2\",\r\n \"resourceId\": this.props.clientId,\r\n \"id\": null,\r\n receiveDailyNewsletter: false,\r\n receiveWeeklyNewsletter: false\r\n },\r\n addAuthMessageText: null,\r\n myEyUser: {}\r\n }, () => this.toggleShowAddClientAuthModal());\r\n\r\n }\r\n\r\n handleOnRoleTypeChange(e) {\r\n if (e && e.target && e.target.value == \"4\") {\r\n this.setState({ receiveRealTimeNotification: false });\r\n this.setState({ receiveRealTimeNotificationForNewPsqArqcSent: true });\r\n }\r\n else {\r\n this.setState({ receiveRealTimeNotification: true });\r\n this.setState({ receiveRealTimeNotificationForNewPsqArqcSent: false });\r\n }\r\n }\r\n\r\n handleAddClientAuthModalValidateAction(valid) {\r\n if (valid) {\r\n // Check if user is already authorized for this Client\r\n for (let auth of this.props.authorizations) {\r\n if (this.props.clientAuthFormValues.userId.toLowerCase() === auth.userId.toLowerCase()) {\r\n this.setState({ addAuthMessageText: `'${this.props.clientAuthFormValues.userId}' is already an authorized user.` });\r\n return;\r\n }\r\n }\r\n\r\n this.setState({ myEyUser: {}, validatingUser: true, myEyError: null, addAuthMessageText: null }, () => {\r\n authActions.getMyEyUserByEmail(this.props.clientAuthFormValues.userId).then((myEyUser) => {\r\n // If the domain_status is INACTIVE, we will not be able to add this email domain to MyEY\r\n if (myEyUser.domain_status === 'INACTIVE') {\r\n this.setState({\r\n validatingUser: false,\r\n myEyError: 'Unable to verify the email domain of the user in My EY. Please contact system admin for assistance.'\r\n });\r\n } else {\r\n this.setState({\r\n validatingUser: false,\r\n myEyUser: myEyUser,\r\n auth: Object.assign({}, this.state.auth, {\r\n userId: myEyUser.email,\r\n role: '4',\r\n first_name: myEyUser.first_name,\r\n last_name: myEyUser.last_name,\r\n company_name: myEyUser.company_name,\r\n companies: myEyUser.companies,\r\n companyId: myEyUser.companies && myEyUser.companies[0] ? myEyUser.companies[0].id : null,\r\n applications: myEyUser.applications,\r\n status: myEyUser.status\r\n })\r\n });\r\n }\r\n }).catch((err) => {\r\n this.setState({\r\n validatingUser: false,\r\n myEyError: 'Error validating My EY User.'\r\n })\r\n });\r\n });\r\n }\r\n }\r\n\r\n handleEditClientAuthModalAction(values) {\r\n const dataStewardUserID = this.props.authorizations && this.props.authorizations.find(x => x.isDataSteward)?.userId || null;\r\n if (this.props.authorizations && this.props.authorizations.filter(x => x.isDataSteward).length === 1) {\r\n if ((!this.state.isDataSteward || values.role !== \"1\") && dataStewardUserID === this.state.auth.userId) {\r\n this.toggleShowEditClientAuthModal();\r\n this.toggleShowMinimumDataStewardWarningModal();\r\n this.setState({\r\n auth: {\r\n \"userId\": null,\r\n \"resource\": authActions.resource.Client,\r\n \"role\": \"2\",\r\n \"resourceId\": this.props.clientId,\r\n \"id\": null,\r\n receiveDailyNewsletter: false,\r\n receiveWeeklyNewsletter: false,\r\n receiveRealTimeNotificationForNewPsqArqcSent: false,\r\n isDataSteward: true\r\n }\r\n });\r\n return;\r\n }\r\n }\r\n const updatedValues = {\r\n ...values,\r\n receiveDailyNewsletter: this.state.receiveDailyNewsletter,\r\n receiveWeeklyNewsletter: this.state.receiveWeeklyNewsletter,\r\n receiveRealTimeNotification: this.state.receiveRealTimeNotification,\r\n receiveRealTimeNotificationForNewPsqArqcSent: this.state.receiveRealTimeNotificationForNewPsqArqcSent,\r\n isDataSteward: values.role === \"1\" ? this.state.isDataSteward : false,\r\n };\r\n \r\n this.setState({ auth: updatedValues }, () => {\r\n this.props.authActions.updateAuthorization(this.state.auth).then(() => {\r\n this.reloadAdminAuths(true);\r\n this.setState({\r\n auth: {\r\n \"userId\": null,\r\n \"resource\": authActions.resource.Client,\r\n \"role\": \"2\",\r\n \"resourceId\": this.props.clientId,\r\n \"id\": null,\r\n receiveDailyNewsletter: false,\r\n receiveWeeklyNewsletter: false,\r\n receiveRealTimeNotificationForNewPsqArqcSent: false,\r\n isDataSteward: false\r\n }\r\n });\r\n this.toggleShowEditClientAuthModal();\r\n // If the user is a data steward, then navigate to the client settings page\r\n if(updatedValues.isDataSteward) { \r\n this.props.router.navigate(`/client/${this.props.clientId}/edit`);\r\n }\r\n\r\n }).catch((error) => {\r\n this.toggleShowEditClientAuthModal();\r\n this.reloadAdminAuths(true);\r\n var authStatusNotification = toast(\r\n (\r\n this.handleAuthStatusNotificationClose(authStatusNotification)}\r\n >\r\n
    \r\n
    \r\n {error.message}\r\n
    \r\n
    \r\n
    \r\n )\r\n , {\r\n autoClose: 5000,\r\n });\r\n });\r\n });\r\n }\r\n\r\n handleEditClientAuthModalCancelAction() {\r\n this.props.commonActions.clearFormErrors(\"clientAuth\");\r\n this.setState({\r\n auth: {\r\n \"userId\": null,\r\n \"resource\": authActions.resource.Client,\r\n \"role\": \"2\",\r\n \"resourceId\": this.props.clientId,\r\n \"id\": null,\r\n receiveDailyNewsletter: false,\r\n receiveWeeklyNewsletter: false,\r\n receiveRealTimeNotification: false,\r\n receiveRealTimeNotificationForNewPsqArqcSent: false,\r\n isDataSteward: false\r\n }\r\n }, () => this.toggleShowEditClientAuthModal());\r\n }\r\n\r\n handleNewButtonClick(e) {\r\n e.preventDefault();\r\n this.toggleShowAddClientAuthModal();\r\n this.handleDataStewardsForClientCount();\r\n }\r\n\r\n reloadAdminAuths(reloadAdminAuths) {\r\n if (reloadAdminAuths) {\r\n this.props.authorizationActions.fetchAuthorizations(null, 2, this.props.clientId, null);\r\n }\r\n }\r\n\r\n handleEditButtonClick(formAuth) {\r\n this.handleDataStewardsForClientCount();\r\n for (let a of this.props.authorizations) {\r\n if (a.id === formAuth.id) {\r\n let authToUpdate = Object.assign({}, a);\r\n authToUpdate.role = a.role.toString();\r\n this.setState({ dataStewardValue: authToUpdate.isDataSteward });\r\n this.setState({\r\n auth: authToUpdate,\r\n receiveDailyNewsletter: authToUpdate.receiveDailyNewsletter,\r\n receiveWeeklyNewsletter: authToUpdate.receiveWeeklyNewsletter,\r\n receiveRealTimeNotification: authToUpdate.receiveRealTimeNotification,\r\n receiveRealTimeNotificationForNewPsqArqcSent: authToUpdate.receiveRealTimeNotificationForNewPsqArqcSent,\r\n isDataSteward: authToUpdate.isDataSteward\r\n },\r\n () => {\r\n this.toggleShowEditClientAuthModal();\r\n });\r\n break;\r\n }\r\n }\r\n }\r\n\r\n handleDeleteButtonClick(auth) {\r\n if (auth.isDataSteward && this.props.authorizations && this.props.authorizations.filter(x => x.isDataSteward).length === 1) {\r\n this.toggleShowMinimumDataStewardWarningModal();\r\n return;\r\n }\r\n\r\n let id = auth.id;\r\n this.deletedUserID = auth.userId;\r\n\r\n this.setState({\r\n confirmAction: () => this.props.authActions.removeAuthorization(id).then(() => {\r\n this.reloadAdminAuths(true);\r\n this.setState({ auth: { \"userId\": null, \"resource\": authActions.resource.Client, \"role\": \"2\", \"resourceId\": this.props.clientId, \"id\": null, receiveDailyNewsletter: false, receiveWeeklyNewsletter: false } });\r\n })\r\n });\r\n }\r\n\r\n onConfirmDelete() {\r\n if (!this.state.currentUserIsSysAdmin && this.deletedUserID?.toLowerCase() == this.state.currentUserId?.toLowerCase()) {\r\n this.props.router.navigate('/');\r\n this.setState({ reloadClients: true });\r\n }\r\n if (this.state.confirmAction) {\r\n this.state.confirmAction();\r\n this.setState({ confirmAction: null });\r\n }\r\n }\r\n\r\n toggleShowMinimumDataStewardWarningModal = () => {\r\n this.setState({\r\n showMinimumDataStewardWarningModal: !this.state.showMinimumDataStewardWarningModal,\r\n });\r\n\r\n };\r\n handleCancelDelete() {\r\n this.setState({ confirmAction: null });\r\n }\r\n\r\n handleDailyNewsletter(e) {\r\n if (e && e.target) {\r\n this.setState({ receiveDailyNewsletter: e.target.checked });\r\n }\r\n }\r\n\r\n handleWeeklyNewsletter(e) {\r\n if (e && e.target) {\r\n this.setState({ receiveWeeklyNewsletter: e.target.checked });\r\n }\r\n }\r\n\r\n handleRealTimeNotification(e) {\r\n if (e && e.target) {\r\n this.setState({ receiveRealTimeNotification: e.target.checked });\r\n }\r\n }\r\n handleDataSteward(e) {\r\n if (e && e.target) {\r\n this.setState({ isDataSteward: e.target.checked });\r\n }\r\n }\r\n handleInternalReviewNotification(e) {\r\n if (e && e.target) {\r\n this.setState({ receiveRealTimeNotificationForNewPsqArqcSent: e.target.checked });\r\n }\r\n }\r\n /**\r\n * Handle Grid changes\r\n */\r\n handleGridChanges(gridRowData, gridRefApi) {\r\n let rowData = [];\r\n rowData =\r\n gridRowData &&\r\n gridRowData.length &&\r\n gridRowData.map((x) => {\r\n return {\r\n userId: x.userId,\r\n role: x.role,\r\n receiveDailyNewsletter: x.receiveDailyNewsletter,\r\n receiveWeeklyNewsletter: x.receiveWeeklyNewsletter,\r\n receiveRealTimeNotification: x.receiveRealTimeNotification,\r\n receiveRealTimeNotificationForNewPsqArqcSent: x.receiveRealTimeNotificationForNewPsqArqcSent,\r\n isDataSteward: x.isDataSteward\r\n };\r\n });\r\n\r\n this.setState({ gridCurrentState: rowData });\r\n if (gridRefApi) {\r\n gridRefApi.refreshCells();\r\n }\r\n }\r\n\r\n}\r\n\r\nDataStewardRoleManagementContainer.propTypes = {\r\n clientId: PropTypes.number,\r\n client: PropTypes.object,\r\n currentUserAuthorizations: PropTypes.array,\r\n actions: PropTypes.object,\r\n authorizationActions: PropTypes.object,\r\n authorizations: PropTypes.array,\r\n auth: PropTypes.object,\r\n clientAuthFormValues: PropTypes.object,\r\n commonActions: PropTypes.object.isRequired,\r\n dataPurgeConfigurationData: PropTypes.array,\r\n deletedUserID: PropTypes.string,\r\n currentUserId: PropTypes.string.isRequired,\r\n currentUserIsSysAdmin: PropTypes.bool.isRequired,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n let cid = Number.parseInt(ownProps.router.params.clientId);\r\n if (isNaN(cid)) {\r\n cid = 0;\r\n }\r\n return {\r\n clientId: cid,\r\n client: state.client,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n authorizations: state.authorizations,\r\n auth: state.auth,\r\n dataPurgeConfigurationData: state.dataPurgeConfigurationData,\r\n clientAuthFormValues: getFormValues('clientAuth')(state),\r\n currentUserId: state.authentication.currentUser,\r\n currentUserIsSysAdmin: Array.isArray(state.currentUserAuthorizations) && (authActions.isSystemAdministrator(state.currentUserAuthorizations)),\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n clientActions: bindActionCreators(clientActions, dispatch),\r\n authorizationActions: bindActionCreators(authActions, dispatch),\r\n authActions: bindActionCreators(authActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n dataPurgeActions: bindActionCreators(dataPurgeActions, dispatch),\r\n };\r\n}\r\n\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(\r\n reduxForm({ form: \"dataStewardRoleManagementForm\", enableReinitialize: true })(DataStewardRoleManagementContainer)\r\n )\r\n);\r\n","import React ,{useState} from 'react';\r\nimport { Field } from 'redux-form';\r\nimport { PropTypes } from \"prop-types\";\r\nimport * as formHelpers from '../../scripts/formHelpers';\r\nimport { IconoirInfoCircle } from '@ey-xd/motif-icon';\r\nimport * as Constants from '../../constants/other';\r\nimport { MotifFormField, MotifSearch, MotifButton, MotifIcon, MotifTooltip ,MotifToast} from '@ey-xd/motif-react';\r\n\r\nconst DataDeletionDiagnosticHeader = ({\r\n handleDeletionYearSelection,\r\n calendarYears,\r\n selectedCalanderYear,\r\n gridCurrentState,\r\n clientData,\r\n handleClientSelection,\r\n handleRunDataDeletionClick\r\n}) => {\r\n const [hideInfoMessage, setHideInfoMessage] = useState(false);\r\n const clientOptions = clientData && clientData.map(r => {\r\n return { id: r.id, value: r.id, text: r.name };\r\n });\r\n\r\n if (clientOptions && clientOptions.length > 0) {\r\n clientOptions.unshift({ id:null, value: null, text: \"All\" });\r\n }\r\n\r\n const deletionYearOptions = calendarYears.map(cy => {\r\n return { key: cy.calendarYear, value: cy.calendarYear, text: cy.calendarYear };\r\n });\r\n\r\n let dataDeletionButtonStatus = false;\r\n let disabledInfoMessageOfNoRowSelection = Constants.dataDeletionNoRowSelectionMessage;\r\n let uniqueClientIds = new Set();\r\n \r\n if (gridCurrentState) {\r\n gridCurrentState.forEach(record => {\r\n if (record.diagnosticdataSelection === true) {\r\n uniqueClientIds.add(record.clientId);\r\n }\r\n });\r\n }\r\n \r\n if (uniqueClientIds.size ===1) {\r\n dataDeletionButtonStatus = true;\r\n }\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\r\n return (\r\n <>\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n r.text}\r\n filter\r\n onChange={handleClientSelection}\r\n optionValue={(r) => r.value}\r\n component={formHelpers.SingleSelectComponent}\r\n defaultValue={'null'}\r\n testingData={{ label: \"lblClients\", div: \"divClients\" }}\r\n /> \r\n
    \r\n \r\n
    \r\n \r\n Note: Failed deletion records will be auto-processed next weekend. Remember to select only one client for immediate deletion.\r\n \r\n
    \r\n \r\n
    \r\n \r\n Run Data Deletion\r\n {!dataDeletionButtonStatus &&\r\n }>\r\n {disabledInfoMessageOfNoRowSelection}\r\n \r\n }\r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nDataDeletionDiagnosticHeader.propTypes = {\r\n handleDeletionYearSelection: PropTypes.func,\r\n calendarYears: PropTypes.array,\r\n selectedCalanderYear: PropTypes.string,\r\n gridCurrentState: PropTypes.array,\r\n handleClientChange: PropTypes.func,\r\n handleClientSelection: PropTypes.func,\r\n clientSearchText: PropTypes.string,\r\n handleRunDataDeletionClick: PropTypes.func,\r\n};\r\n\r\nexport default DataDeletionDiagnosticHeader;","import { pendingTask, begin, end } from '../constants/pendingTask';\r\nimport * as actions from './actionTypes';\r\nimport * as actionHelpers from '../scripts/actionHelpers';\r\nimport { fetchFromAuthApi as fetch } from \"./fetchFromApi\";\r\n/**\r\n * Fetch calendar years from Data purge. If successful this will dispatch the the TASK_END and return calendarYears\r\n * otherwise it will dispatch the LOAD_CALENDAR_YEARS_FAILURE action.\r\n * @returns {function} A function that returns a Promise.\r\n */\r\nexport function fetchDataDeletionCalendarYears() {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n\r\n let url = `/dataPurge/getDataDeletionYears`;\r\n\r\n return fetch(url).then(response => {\r\n return response.json();\r\n }).then(calendarYears => {\r\n if (actionHelpers.isErrorResponse(calendarYears)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.DATA_DELETION_LOAD_CALENDAR_YEARS_FAILURE, calendarYears);\r\n }\r\n\r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return calendarYears;\r\n }).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.DATA_DELETION_LOAD_CALENDAR_YEARS_FAILURE, null, error);\r\n });\r\n };\r\n}\r\n\r\n\r\nexport function fetchDataDeletionDiagnosticData(requestData) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n return fetch('/dataPurge/getDataPurgeDiagnosticData',\r\n {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(requestData)\r\n }).then(response => {\r\n return response.json();\r\n }).then(dataDeletionDiagnosticData => {\r\n if (actionHelpers.isErrorResponse(dataDeletionDiagnosticData)) {\r\n return actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_DATA_PURGE_DATA_FAILURE, dataDeletionDiagnosticData);\r\n }\r\n \r\n dispatch({ type: actions.LOAD_DATA_PURGE_DATA_SUCCESS, dataDeletionDiagnosticData, [pendingTask]: end });\r\n return dataDeletionDiagnosticData;\r\n }\r\n ).catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(dispatch, actions.LOAD_DATA_PURGE_DATA_FAILURE, null, error);\r\n });\r\n }\r\n }\r\n \r\n export function runDataDeletion(calendarYear, clientId, dataPurgeReportPeriodIDs) {\r\n return function (dispatch) {\r\n dispatch({ type: actions.TASK_BEGIN, [pendingTask]: begin });\r\n \r\n return fetch(`/dataPurge/runDataDeletion/${calendarYear}/${clientId}`, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Accept: 'application/json'\r\n },\r\n method: 'POST',\r\n body: JSON.stringify(dataPurgeReportPeriodIDs)\r\n })\r\n .then(response => {\r\n return response.text();\r\n })\r\n .then(response => {\r\n const jsonResponse = response ? JSON.parse(response) : {};\r\n if (actionHelpers.isErrorResponse(jsonResponse)) {\r\n return actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.ACTION_RUN_DATA_DELETION_FAILURE,\r\n jsonResponse,\r\n );\r\n }\r\n \r\n dispatch({ type: actions.TASK_END, [pendingTask]: end });\r\n return jsonResponse;\r\n })\r\n .catch(error => {\r\n actionHelpers.dispatchErrorAndEndTask(\r\n dispatch,\r\n actions.ACTION_RUN_DATA_DELETION_FAILURE,\r\n null,\r\n error,\r\n );\r\n });\r\n };\r\n }","import React from 'react';\r\nimport { MotifCheckbox } from \"@ey-xd/motif-react\";\r\n\r\nexport default (props) => {\r\n const value = props.data ? props.data[props.colDef.field] : null;\r\n const reportPeriodID = props.data ? props.data.reportPeriodID : null;\r\n\r\n const defaultCheckboxClass = \"ag-wrapper ag-input-wrapper ag-checkbox-input-wrapper\";\r\n let checkboxClass = value ? defaultCheckboxClass + \" ag-checked\" : defaultCheckboxClass;\r\n\r\n return (\r\n \r\n props.onCellCheckboxChange(reportPeriodID, props.node)}>\r\n \r\n \r\n );\r\n \r\n};","import React from 'react';\r\nimport { MotifCheckbox } from \"@ey-xd/motif-react\";\r\n\r\nexport default (props) => {\r\n let rowsChecked = 0;\r\n let totalRows = 0;\r\n let notAllDataPurgeStatusFailed = true;\r\n let totalRowsOfFailedRecords = 0;\r\n let rowsCheckedForFailedRecords = 0;\r\n // Check for total rows and rows checked within filtered rows\r\n props.api.forEachNodeAfterFilter((rowNode) => {\r\n if (rowNode.data) {\r\n totalRows++; \r\n if (rowNode.data.diagnosticdataSelection){\r\n rowsChecked++;\r\n }\r\n\r\n if (rowNode.data.dataPurgeReportPeriodStatus === 'Failed') {\r\n totalRowsOfFailedRecords++;\r\n notAllDataPurgeStatusFailed = false;\r\n }\r\n if (rowNode.data.diagnosticdataSelection && rowNode.data.dataPurgeReportPeriodStatus === 'Failed') {\r\n rowsCheckedForFailedRecords++;\r\n }\r\n \r\n }\r\n });\r\n\r\n let headerCheckboxValue = false;\r\n let indeterminate = false;\r\n const defaultCheckboxClass = \"ag-wrapper ag-input-wrapper ag-checkbox-input-wrapper\";\r\n let checkboxClass = defaultCheckboxClass;\r\n\r\n if (rowsChecked === 0) {\r\n headerCheckboxValue = false;\r\n }\r\n else if (totalRows === rowsChecked) {\r\n headerCheckboxValue = true;\r\n checkboxClass = defaultCheckboxClass + \" ag-checked\";\r\n }\r\n else if(totalRowsOfFailedRecords === rowsCheckedForFailedRecords){\r\n headerCheckboxValue = true;\r\n checkboxClass = defaultCheckboxClass + \" ag-checked\";\r\n }\r\n else {\r\n headerCheckboxValue = false;\r\n indeterminate = true;\r\n checkboxClass = defaultCheckboxClass + \" ag-indeterminate\";\r\n }\r\n\r\n return (\r\n
    \r\n props.onHeaderCheckboxChange(headerCheckboxValue)}\r\n indeterminate={indeterminate}\r\n disabled={notAllDataPurgeStatusFailed}>\r\n \r\n
    {props.displayName}
    \r\n
    \r\n );\r\n};","import React, { useState, useRef, useEffect, useMemo, useCallback} from \"react\";\r\nimport { MotifPagination, MotifPaginationSelect, MotifPaginationSelectItem, MotifTable} from \"@ey-xd/motif-react\";\r\nimport CustomHeaderTemplate from \"../shared/customHeaders/CustomHeaderTemplate.js\";\r\nimport DataDiagnosticDeletionCheckboxCellRenderer from \"./customRenderers/DataDiagnosticDeletionCheckboxCellRenderer.js\";\r\nimport DataDiagnosticDeletionCheckboxHeaderRenderer from \"./customRenderers/DataDiagnosticDeletionCheckboxHeaderRenderer.js\";\r\nimport ReportPeriodComparator from \"../shared/customComparators/ReportPeriodComparator.js\";\r\n\r\n\r\nconst DataDeletionDiagnosticTable = ({\r\n dataDeletionDiagnosticData,\r\n gridColumnState,\r\n handleGridChanges,\r\n handleGridColumnStateChange,\r\n refreshGriddataDeletionDiagnosticData\r\n}) => {\r\n\r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]);\r\n const rowDataRef = useRef({});\r\n rowDataRef.current = rowData;\r\n\r\n const onHeaderCheckboxChange = (isHeaderCheckboxSelected) => {\r\n let updatedData = rowDataRef.current;\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n // Select checkbox for filtered rows only\r\n gridRef.current.api.forEachNodeAfterFilter((rowNode) => {\r\n // Invert the selection status for each row\r\n if (rowNode.level === 0) {\r\n updatedData = updatedData.map(newUd => {\r\n return {\r\n ...newUd,\r\n diagnosticdataSelection: newUd.dataPurgeEntityDeleteStatus === 'Data Purge Failed' ? !isHeaderCheckboxSelected : newUd.diagnosticdataSelection,\r\n }; \r\n });\r\n }\r\n });\r\n \r\n setRowData(updatedData);\r\n gridRef.current.api.refreshHeader();\r\n }\r\n };\r\n\r\n \r\n const onCellCheckboxChange = (reportPeriodID, rowNode) => { \r\n const updatedData = rowDataRef.current.map((newUd) => {\r\n if (newUd.reportPeriodID === reportPeriodID ) {\r\n return {\r\n ...newUd,\r\n diagnosticdataSelection: !newUd.diagnosticdataSelection,\r\n };\r\n }\r\n return newUd;\r\n });\r\n \r\n setRowData(updatedData);\r\n gridRef.current.api.refreshHeader();\r\n };\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []); \r\n\r\n const dateOptions = {\r\n day: 'numeric',\r\n month: 'numeric',\r\n year: 'numeric',\r\n hour: '2-digit',\r\n minute: '2-digit',\r\n second: '2-digit'\r\n }; \r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: \"diagnosticdataSelection\", \r\n headerName: \"\",\r\n suppressMenu: true,\r\n headerComponent: DataDiagnosticDeletionCheckboxHeaderRenderer,\r\n headerComponentParams: {\r\n onHeaderCheckboxChange: onHeaderCheckboxChange,\r\n },\r\n cellRenderer: DataDiagnosticDeletionCheckboxCellRenderer,\r\n cellRendererParams: { onCellCheckboxChange: onCellCheckboxChange },\r\n minWidth: 70,\r\n spanHeaderHeight: true,\r\n resizable: true, \r\n cellStyle: params => {\r\n return params.data.dataPurgeEntityDeleteStatus !== 'Data Purge Failed' ? {'pointer-events': 'none', opacity: '0.3'} : '';\r\n }, \r\n },\r\n {\r\n headerName: \"Process ID\",\r\n field: \"dataPurgeProcessID\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 250,\r\n valueGetter: (params) => {\r\n return params.data && params.data.dataPurgeProcessID;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.dataPurgeProcessID;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"dataPurgeProcessID\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n {\r\n field: \"dataPurgeID\",\r\n headerName: \"Data Purge ID\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 300,\r\n valueGetter: (params) => {\r\n return params.data && params.data.dataPurgeID;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.dataPurgeID;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"dataPurgeID\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n }, \r\n {\r\n field: \"clientName\",\r\n headerName: \"Client\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 300,\r\n valueGetter: (params) => {\r\n return params.data && params.data.clientName;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.clientName;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"clientName\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n {\r\n field: \"reitName\",\r\n headerName: \"REIT\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 300,\r\n valueGetter: (params) => {\r\n return params.data && params.data.reitName;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.reitName;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"reitName\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n }, \r\n {\r\n field: \"reportPeriodDescription\",\r\n headerName: \"Report Period\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 300,\r\n valueGetter: (params) => {\r\n return params.data && params.data.reportPeriodDescription;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.reportPeriodDescription;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"reportPeriodDescription\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n comparator: ReportPeriodComparator,\r\n },\r\n {\r\n field: \"approvedBy\",\r\n headerName: \"Approved By\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 300,\r\n valueGetter: (params) => {\r\n return params.data && params.data.approvedBy;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.approvedBy;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"approvedBy\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n {\r\n field: \"entityName\",\r\n headerName: \"Table/File Name\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 410,\r\n valueGetter: (params) => {\r\n return params.data && params.data.entityName;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.entityName;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"entityName\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n {\r\n field: \"countOfRecordsPurged\",\r\n headerName: \"Records Deleted\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 300,\r\n valueGetter: (params) => {\r\n return params.data && params.data.countOfRecordsPurged;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.countOfRecordsPurged;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"countOfRecordsPurged\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n {\r\n field: \"dataPurgeEntityDeleteStatus\",\r\n headerName: \"Table/File Purge Status\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 300,\r\n valueGetter: (params) => {\r\n return params.data && params.data.dataPurgeEntityDeleteStatus;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.dataPurgeEntityDeleteStatus;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"dataPurgeEntityDeleteStatus\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n }, \r\n {\r\n field: \"dataPurgeStartDateTime\",\r\n headerName: \"Start Time\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 300,\r\n valueGetter: (params) => { \r\n const dateValue = params.data && params.data ? params.data.dataPurgeStartDateTime : null\r\n return dateValue ? (new Date(dateValue + 'Z')).toLocaleString('en-US', dateOptions) : '';\r\n }, \r\n // Show N/A value in filter if date value is not exists\r\n filterValueGetter: params => {\r\n return params.data\r\n ? params.data.dataPurgeStartDateTime ? (new Date(params.data.dataPurgeStartDateTime + 'Z')).toLocaleString('en-US', dateOptions) : 'N/A'\r\n : null;\r\n }, \r\n headerComponentParams: { template: CustomHeaderTemplate(\"dataPurgeStartDateTime\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n {\r\n field: \"dataPurgeEndDateTime\",\r\n headerName: \"End Time\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 300, \r\n valueGetter: (params) => { \r\n const dateValue = params.data && params.data ? params.data.dataPurgeEndDateTime : null\r\n return dateValue ? (new Date(dateValue + 'Z')).toLocaleString('en-US', dateOptions) : '';\r\n }, \r\n // Show N/A value in filter if date value is not exists\r\n filterValueGetter: params => {\r\n return params.data\r\n ? params.data.dataPurgeEndDateTime ? (new Date(params.data.dataPurgeEndDateTime + 'Z')).toLocaleString('en-US', dateOptions) : 'N/A'\r\n : null;\r\n }, \r\n headerComponentParams: { template: CustomHeaderTemplate(\"dataPurgeEndDateTime\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n {\r\n field: \"dataPurgeDurationInSeconds\",\r\n headerName: \"Total Duration\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 300,\r\n valueGetter: (params) => {\r\n return params.data && params.data.dataPurgeDurationInSeconds;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.dataPurgeDurationInSeconds;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"dataPurgeDurationInSeconds\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n {\r\n field: \"errorDescription\",\r\n headerName: \"Error Description\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 300,\r\n valueGetter: (params) => {\r\n return params.data && params.data.errorDescription;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.errorDescription;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"errorDescription\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n {\r\n field: \"comments\",\r\n headerName: \"Comments\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 300,\r\n valueGetter: (params) => {\r\n return params.data && params.data.comments;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.comments;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"comments\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n ];\r\n};\r\n\r\nconst [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\nconst [currentPage, setCurrentPage] = useState(1);\r\nconst [totalPages, setTotalPages] = useState(1);\r\nconst [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n//Grid Global Listner\r\nconst gridGlobalListner = function (type, event) {\r\n if (type.indexOf(\"columnVisible\") >= 0) {\r\n handleGridColumnsChanged(event);\r\n }\r\n\r\n // Bind handleFilterChanged event to filterChanged and rowDataUpdated events\r\n if (type.indexOf(\"filterChanged\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n }\r\n\r\n if (type.indexOf(\"rowDataUpdated\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n } \r\n};\r\n\r\n//Handle Grid Ready event\r\nconst handleGridReady = (event) => {\r\n //Remove event for column state change\r\n event.api.removeEventListener(gridGlobalListner);\r\n\r\n //Add event for column state change\r\n event.api.addGlobalListener(gridGlobalListner);\r\n\r\n //Apply column state\r\n var columnState = localStorage.getItem(\r\n \"REITSuiteDataDeletionDiagnosticColumnState\"\r\n );\r\n if (columnState) {\r\n gridRef.current.columnApi.applyColumnState({\r\n state: JSON.parse(columnState),\r\n applyOrder: true,\r\n });\r\n }\r\n\r\n // Set the page size and total pages on the first load\r\n handleItemsPerPageChange(100); // Setting it 100 to make sure the default number of items on load is always set to 100\r\n};\r\n\r\n// Handle OnFilterChanged event\r\nconst handleFilterChanged = (event) => {\r\n let filteredRowData = [];\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n setTimeout (function () { // Included Settimeout function to assign the total pages after getting the total pages from grid\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n if (currentPage > calcTotalPages) {\r\n if (calcTotalPages == 0) {\r\n setTimeout(function () {\r\n setCurrentPage(calcTotalPages);\r\n }, 0);\r\n } else {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n const gridCurrentPage = \r\n gridRef.current.api.paginationGetCurrentPage() + 1; // Adding 1 since it returns zero based index\r\n if (currentPage < gridCurrentPage && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n }\r\n\r\n // Show the expected value as 1 for current page \r\n if (currentPage <= 1 && gridCurrentPage == 1 && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n } \r\n\r\n }, 0); \r\n \r\n }\r\n};\r\n\r\n//Handle First Data Renderered event\r\nconst handleFirstDataRendered = (event) => {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n};\r\n\r\n//Handle Grid Columns changed event\r\nconst handleGridColumnsChanged = (event) => {\r\n var currentColumnState = gridRef.current.columnApi.getColumnState();\r\n var localStorageColumnState = localStorage.getItem(\r\n \"REITSuiteDataDeletionDiagnosticColumnState\"\r\n );\r\n\r\n // If the column state details are not exists in local storage then save the changed Column state data\r\n if (\r\n currentColumnState &&\r\n currentColumnState.filter((col) => col.hide == true)?.length > 0 &&\r\n !localStorageColumnState\r\n ) {\r\n saveUserPreferenceDetails();\r\n } else if (localStorageColumnState) {\r\n // If the column state details are exists in local storage then save the changed Column state data only if difference is found\r\n var columnsStateArray = JSON.parse(localStorageColumnState);\r\n if (\r\n columnsStateArray &&\r\n columnsStateArray.length > 0 &&\r\n currentColumnState &&\r\n currentColumnState.length > 0 &&\r\n columnsStateArray.filter((col) => col.hide == true)?.length !=\r\n currentColumnState.filter((col) => col.hide == true)?.length\r\n ) {\r\n //If column state mismatch found then only save column state data to avoid saving same state\r\n saveUserPreferenceDetails();\r\n }\r\n }\r\n\r\n //Trigger Grid Column state change (of parent) to sync column state data\r\n handleGridColumnStateChange(currentColumnState);\r\n\r\n gridRef &&\r\n gridRef.current &&\r\n gridRef.current.columnApi &&\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n};\r\n\r\n//Save User Preference details (Column state)\r\nconst saveUserPreferenceDetails = useCallback(() => {\r\n var columnState = gridRef.current.columnApi.getColumnState();\r\n if (columnState) {\r\n localStorage.setItem(\r\n \"REITSuiteDataDeletionDiagnosticColumnState\",\r\n JSON.stringify(columnState)\r\n );\r\n }\r\n}, []);\r\n\r\n//Handle Grid Items per Page change event\r\nconst handleItemsPerPageChange = (val) => {\r\n gridRef.current.api.paginationGoToFirstPage();\r\n gridRef.current.api.paginationSetPageSize(Number(val));\r\n setCurrentPage(1);\r\n setItemsPerPage(val);\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n setTimeout(function () {\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages); \r\n\r\n // If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }, 0);\r\n }\r\n};\r\n\r\n//Handle Grid Page change event\r\nconst handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n};\r\n\r\nuseEffect(() => {\r\n handleGridChanges(\r\n rowData,\r\n gridRef && gridRef.current ? gridRef.current.api : null\r\n );\r\n}, [rowData]);\r\n\r\nuseEffect(() => {\r\n setRowData(dataDeletionDiagnosticData);\r\n\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.refreshHeader();\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n setTimeout (function () { // Included Settimeout function to assign the total pages after getting the total pages from grid\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n \r\n }, 0);\r\n }\r\n}, [dataDeletionDiagnosticData]);\r\n\r\nuseEffect(() => {\r\n //Reset Grid to default column state\r\n //When Grid Column state changes due to Reset Column State action then Reset Grid to default column state\r\n var localStorageColumnState = localStorage.getItem(\r\n \"REITSuiteDataDeletionDiagnosticColumnState\"\r\n );\r\n if (\r\n !localStorageColumnState &&\r\n gridRef &&\r\n gridRef.current &&\r\n gridRef.current.api\r\n ) {\r\n gridRef.current.api.setColumnDefs([]);\r\n gridRef.current.api.setColumnDefs(getColumnDefs());\r\n }\r\n}, [gridColumnState]);\r\n\r\nuseEffect(() => {\r\n // Refresh Grid \r\n const gridApi = gridRef && gridRef.current && gridRef.current.api;\r\n if (gridApi) {\r\n gridApi.refreshCells();\r\n gridApi.deselectAll();\r\n }\r\n onHeaderCheckboxChange(true);// Deselect all checkboxes\r\n}, [refreshGriddataDeletionDiagnosticData]);\r\n\r\n const rowHeight = 76; \r\n const headerHeight = 45; \r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n\r\nreturn (\r\n <>\r\n
    \r\n
    \r\n {dataDeletionDiagnosticData&&\r\n dataDeletionDiagnosticData.length > 0 && (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n handleItemsPerPageChange(50)}\r\n >\r\n Show 50\r\n \r\n handleItemsPerPageChange(100)}\r\n >\r\n Show 100\r\n \r\n handleItemsPerPageChange(150)}\r\n >\r\n Show 150\r\n \r\n handleItemsPerPageChange(200)}\r\n >\r\n Show 200\r\n \r\n \r\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 DataDeletionDiagnosticTable;\r\n","import React from 'react';\r\nimport { MotifModal, MotifModalHeader, MotifModalBody, MotifModalFooter, MotifIcon, MotifButton } from '@ey-xd/motif-react';\r\nimport { IconoirWarningTriangle } from '@ey-xd/motif-icon';\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst DataDeletionWarningModal = ({\r\n showDataDeletionWarningModal,\r\n toggleShowDataDeletionWarningModal,\r\n initiateDataDeletionProcess\r\n}) => {\r\n return (\r\n \r\n }>\r\n Deletion Impact Warning\r\n \r\n \r\n Caution: Initiating a deletion for clients with large data sets could temporarily impact system responsiveness for other users. Do you wish to proceed with the deletion now?\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n Confirm\r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nDataDeletionWarningModal.propTypes = {\r\n showDataDeletionWarningModal: PropTypes.bool,\r\n toggleShowDataDeletionWarningModal: PropTypes.func,\r\n initiateDataDeletionProcess: PropTypes.func\r\n};\r\n\r\n\r\nexport default DataDeletionWarningModal;","import React from 'react';\r\nimport { MotifTabNavigation, MotifTabControl ,MotifToast} from '@ey-xd/motif-react';\r\nimport { Link } from 'react-router-dom';\r\nimport { reduxForm } from \"redux-form\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport DataDeletionDiagnosticHeader from '../../components/dataDeletionDiagnostic/DataDeletionDiagnosticHeader';\r\nimport * as dataDeletionDiagnosticActions from '../../actions/dataDeletionDiagnosticActions';\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport PropTypes from \"prop-types\";\r\nimport DataDeletionDiagnosticTable from '../../components/dataDeletionDiagnostic/dataDeletionDiagnosticTable';\r\nimport * as clientActions from \"../../actions/clientActions\";\r\nimport DataDeletionWarningModal from '../../components/dataDeletionDiagnostic/dataDeletionWarningModal';\r\nimport { ToastContainer, toast, Slide } from 'react-toastify';\r\nexport class DataDeletionDiagnosticPage extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n tabBar1: 0,\r\n calendarYears: [],\r\n selectedCalanderYear: new Date().getFullYear(),\r\n gridCurrentState: [],\r\n isSysAdmin: false,\r\n clientData: [],\r\n selectedClients: null,\r\n dataDeletionDiagnosticData: [],\r\n gridColumnState: [],\r\n clientSearchText: \"\", \r\n refreshGriddataDeletionDiagnosticData: {\r\n refreshGridOnCompletedAction: -1\r\n },\r\n showDataDeletionWarningModal: false,\r\n };\r\n this.setTabBar1 = this.setTabBar1.bind(this);\r\n this.handleClick = this.handleClick.bind(this);\r\n this.handleDeletionYearSelection = this.handleDeletionYearSelection.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.setGridColumnState = this.setGridColumnState.bind(this);\r\n this.handleGridColumnStateChange = this.handleGridColumnStateChange.bind(this);\r\n this.handleClientSelection = this.handleClientSelection.bind(this); \r\n this.handleRunDataDeletionClick = this.handleRunDataDeletionClick.bind(this); \r\n this.initiateDataDeletionProcess=this.initiateDataDeletionProcess.bind(this); \r\n this.toggleDataDeletionWarningModal=this.toggleDataDeletionWarningModal.bind(this);\r\n this.toastSystem = React.createRef();\r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n componentDidMount() {\r\n this.checkUserAuthorization();\r\n this.props.actions.loadAllClients();\r\n \r\n // Fetch calendar years for current client\r\n this.props.dataDeletionDiagnosticActions.fetchDataDeletionCalendarYears().then(fetchedCalendarYears => {\r\n let defaultCalendarYear = -1;\r\n \r\n if (fetchedCalendarYears && fetchedCalendarYears.length > 0) {\r\n const currentYear = new Date().getFullYear();\r\n const currentYearExists = fetchedCalendarYears.some(yearObj => yearObj.calendarYear === currentYear);\r\n \r\n if (currentYearExists) {\r\n defaultCalendarYear = currentYear;\r\n } else {\r\n defaultCalendarYear = fetchedCalendarYears[fetchedCalendarYears.length - 1].calendarYear;\r\n }\r\n \r\n this.setState({\r\n calendarYears: fetchedCalendarYears,\r\n selectedCalanderYear: defaultCalendarYear\r\n }, this.getDataDeletionDiagnosticData());\r\n }\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n\r\n if (this.props.dataDeletionDiagnosticData && this.props.dataDeletionDiagnosticData !== prevProps.dataDeletionDiagnosticData) {\r\n this.setState({ dataDeletionDiagnosticData: this.props.dataDeletionDiagnosticData });\r\n }\r\n \r\n if (this.props.clients && this.props.clients !== prevProps.clients) {\r\n this.setState({ clientData: this.props.clients },this.getDataDeletionDiagnosticData());\r\n } \r\n \r\n }\r\n \r\n //Set tab related state variables\r\n setTabBar1(currentIndex) {\r\n this.setState({ tabBar1: currentIndex });\r\n\r\n }\r\n\r\n //Set current tab index\r\n handleClick(index) {\r\n this.setTabBar1(index);\r\n }\r\n\r\n handleDeletionYearSelection(calendarYear) {\r\n this.setState({\r\n selectedCalanderYear: calendarYear\r\n }, this.getDataDeletionDiagnosticData);\r\n } \r\n\r\n handleClientSelection(selectedclients) {\r\n this.setState({\r\n selectedClients: selectedclients\r\n }, this.getDataDeletionDiagnosticData);\r\n } \r\n\r\n getDataDeletionDiagnosticData() {\r\n let requestData = {\r\n ClientId: (this.state.selectedClients == 'null' || this.state.selectedClients == null || this.state.selectedClients == \"\") ? null : Number(this.state.selectedClients),\r\n Year: Number(this.state.selectedCalanderYear),\r\n };\r\n\r\n this.props.dataDeletionDiagnosticActions.fetchDataDeletionDiagnosticData(requestData);\r\n }\r\n handleRunDataDeletionClick() {\r\n this.toggleDataDeletionWarningModal();\r\n }\r\n\r\n toggleDataDeletionWarningModal() {\r\n this.setState({ showDataDeletionWarningModal: !this.state.showDataDeletionWarningModal });\r\n }\r\n\r\n initiateDataDeletionProcess() {\r\n this.toggleDataDeletionWarningModal();\r\n let data = this.state.gridCurrentState;\r\n\r\n // Get the distinct client id from the selected data (assuming only 1 value will be selected)\r\n let client = [...new Set(\r\n data.filter(item => item.diagnosticdataSelection === true)\r\n .map(item => item.clientId)\r\n )][0];\r\n\r\n // Get the distinct report period ids from the selected data\r\n let uniqueReportPeriodIds = [...new Set(\r\n data.filter(item => item.diagnosticdataSelection === true)\r\n .map(item => item.dataPurgeReportPeriodID)\r\n )];\r\n \r\n // Get the distinct calendar year from the selected data (assuming only 1 value will be selected)\r\n // as we want the calendar year based on the report period to be passed instead of the selected calendar year from dropdown\r\n let calendarYear = [...new Set(\r\n data.filter(item => item.diagnosticdataSelection === true)\r\n .map(item => item.reportPeriodDescription.split(' ')[1])\r\n )][0];\r\n\r\n let toastVariant = 'info';\r\n let dataDeletionMessage = '';\r\n\r\n this.props.dataDeletionDiagnosticActions.runDataDeletion(calendarYear, client, uniqueReportPeriodIds)\r\n .then(response => {\r\n if (response.success && response.errorMessage == null) {\r\n toastVariant = 'success';\r\n dataDeletionMessage = 'Data deletion process initiated successfully';\r\n } else if (!response.success && response.errorMessage.includes(\"Deletion already in progress\")) {\r\n toastVariant = 'info';\r\n dataDeletionMessage = \"Deletion already in progress. Please wait until the current process completes before initiating another.\";\r\n }\r\n else if (!response.success && response.errorMessage.length > 0) {\r\n toastVariant = 'error';\r\n dataDeletionMessage = \"An error occurred during the data deletion process.\";\r\n }\r\n })\r\n .catch(error => {\r\n toastVariant = 'error';\r\n dataDeletionMessage = 'An error occurred during the data deletion process';\r\n })\r\n .finally(() => {\r\n var dataDeletionStatusNotification = toast(\r\n (\r\n this.handleDataDeletionNotificationClose(dataDeletionStatusNotification)}\r\n >\r\n
    \r\n
    \r\n {dataDeletionMessage}\r\n
    \r\n
    \r\n
    \r\n )\r\n , {\r\n autoClose: 5000,\r\n });\r\n\r\n this.refreshGrid();\r\n });\r\n\r\n }\r\n\r\n checkUserAuthorization() {\r\n let isSysAdmin = false;\r\n if (Array.isArray(this.props.currentUserAuthorizations)) {\r\n isSysAdmin = authActions.isSystemAdministrator(this.props.currentUserAuthorizations);\r\n }\r\n this.setState({isSysAdmin: isSysAdmin}); \r\n }\r\n\r\n handleDataDeletionNotificationClose(dataDeletionNotification) {\r\n if (dataDeletionNotification && toast.isActive(dataDeletionNotification)) {\r\n toast.dismiss(dataDeletionNotification);\r\n }\r\n }\r\n\r\n\r\n refreshGrid(selectedData = []) {\r\n this.getDataDeletionDiagnosticData();\r\n\r\n const randomNumber = parseInt(Math.random() * (99999999 - 1)) + 1;\r\n if (\r\n selectedData &&\r\n Array.isArray(selectedData) &&\r\n selectedData.length > 0\r\n ) {\r\n this.setState({\r\n refreshGriddataDeletionDiagnosticData: {\r\n refreshGridOnCompletedAction: randomNumber\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n refreshGriddataDeletionDiagnosticData: {\r\n refreshGridOnCompletedAction: randomNumber\r\n },\r\n });\r\n }\r\n }\r\n\r\n handleGridChanges(gridRowData) {\r\n let rowData = [];\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => { \r\n return {\r\n dataPurgeID: x.dataPurgeID,\r\n clientName: x.clientName,\r\n reitName: x.reitName,\r\n reitid: x.reitid,\r\n reportPeriodDescription: x.reportPeriodDescription,\r\n dataPurgeProcessID: x.dataPurgeProcessID,\r\n approvedBy: x.approvedBy,\r\n scheduledDeletionDate: x.scheduledDeletionDate,\r\n actualDeletionDate: x.actualDeletionDate,\r\n deletionStatus: x.deletionStatus,\r\n approvedDate: x.approvedDateTime,\r\n diagnosticdataSelection: x.diagnosticdataSelection,\r\n dataPurgeReportPeriodID: x.dataPurgeReportPeriodID,\r\n dataPurgeStatusID: x.dataPurgeStatusID,\r\n entityName : x.entityName,\r\n countOfRecordsPurged : x.countOfRecordsPurged,\r\n dataPurgeStatus : x.dataPurgeStatus,\r\n comments : x.comments,\r\n errorDescription : x.errorDescription,\r\n clientId: x.clientID,\r\n dataPurgeReportPeriodStatus:x.dataPurgeReportPeriodStatus,\r\n dataPurgeEntityDeleteStatus:x.dataPurgeEntityDeleteStatus,\r\n dataPurgeStartDateTime:x.dataPurgeStartDateTime,\r\n dataPurgeEndDateTime:x.dataPurgeEndDateTime,\r\n dataPurgeDurationInSeconds:x.dataPurgeDurationInSeconds, \r\n }\r\n });\r\n this.setState({ gridCurrentState: rowData });\r\n }\r\n\r\n setGridColumnState() {\r\n var columnState = localStorage.getItem('REITSuiteDataDeletionDiagnosticColumnState');\r\n if (columnState) {\r\n this.setState({ gridColumnState: JSON.parse(columnState) });\r\n }\r\n else {\r\n this.setState({ gridColumnState: [{ colId: '-1' }] });\r\n }\r\n }\r\n\r\n handleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n } \r\n \r\n render() {\r\n // Non sys admins are unauthorized to access system admin page\r\n if (!this.state.isSysAdmin) {\r\n this.props.router.navigate(`/unauthorized`);\r\n return ;\r\n }\r\n return (\r\n \r\n

    System Administrators

    \r\n \r\n \r\n this.handleClick(1)}>\r\n Manage System Administrators\r\n \r\n \r\n \r\n this.handleClick(2)}\r\n >\r\n Data Deletion Diagnostic\r\n \r\n \r\n \r\n this.handleClick(3)}\r\n >\r\n External User Data Visibility Manager\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(this.props.dataDeletionDiagnosticData == null ||\r\n this.props.dataDeletionDiagnosticData.length === 0) && (\r\n
    \r\n No Data Diagnostic Deletion Data found for the selected calendar year\r\n and client.\r\n
    \r\n )}\r\n\r\n\r\n \r\n
    \r\n );\r\n }\r\n }\r\n\r\nDataDeletionDiagnosticPage.propTypes = {\r\n calendarYears: PropTypes.array,\r\n currentUserAuthorizations: PropTypes.array,\r\n actions: PropTypes.object,\r\n dataDeletionDiagnosticData: PropTypes.array,\r\n clients: PropTypes.array.isRequired,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n const clients = state.clients; \r\n return {\r\n clients: clients,\r\n currentUserAuthorizations: state.currentUserAuthorizations,\r\n dataDeletionDiagnosticData: state.dataDeletionDiagnosticData,\r\n clientData: clients,\r\n };\r\n}\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(clientActions, dispatch),\r\n dataDeletionDiagnosticActions: bindActionCreators(dataDeletionDiagnosticActions, dispatch),\r\n authActions: bindActionCreators(authActions, dispatch)\r\n };\r\n}\r\n\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(\r\n reduxForm({ form: \"dataDeletionDiagnosticPage\", enableReinitialize: true })(DataDeletionDiagnosticPage)\r\n )\r\n);\r\n ","import React from 'react';\r\nimport { MotifCheckbox } from \"@ey-xd/motif-react\";\r\n\r\nexport default (props) => {\r\n let rowsChecked = 0;\r\n let totalRows = 0;\r\n let allRowsInActive = true; // Variable to track if all rows are invalid\r\n let totalRowsOfActiveRecords = 0;\r\n let checkedRecords = 0;\r\n\r\n // Check for total rows and rows checked within filtered rows\r\n props.api.forEachNodeAfterFilter((rowNode) => {\r\n if (rowNode.data) {\r\n totalRows++;\r\n if (rowNode.data.reitSelection){\r\n rowsChecked++;\r\n }\r\n\r\n // Check if the isReportPeriodEnabledForSelection is 1'\r\n if (rowNode.data.isReportPeriodEnabledForSelection !== 0) {\r\n allRowsInActive = false;\r\n totalRowsOfActiveRecords++;\r\n if(rowNode.data.reitSelection){\r\n checkedRecords++;\r\n }\r\n }\r\n\r\n }\r\n });\r\n\r\n let headerCheckboxValue = false;\r\n let indeterminate = false;\r\n const defaultCheckboxClass = \"ag-wrapper ag-input-wrapper ag-checkbox-input-wrapper\";\r\n let checkboxClass = defaultCheckboxClass;\r\n\r\n if (rowsChecked === 0) {\r\n headerCheckboxValue = false;\r\n }\r\n else if (totalRows === rowsChecked) {\r\n headerCheckboxValue = true;\r\n checkboxClass = defaultCheckboxClass + \" ag-checked\";\r\n }\r\n else if(totalRowsOfActiveRecords === checkedRecords){\r\n headerCheckboxValue = true;\r\n checkboxClass = defaultCheckboxClass + \" ag-checked\";\r\n }\r\n else {\r\n headerCheckboxValue = false;\r\n indeterminate = true;\r\n checkboxClass = defaultCheckboxClass + \" ag-indeterminate\";\r\n }\r\n\r\n return (\r\n
    \r\n props.onHeaderCheckboxChange(headerCheckboxValue)}\r\n indeterminate={indeterminate}\r\n disabled={allRowsInActive}>\r\n \r\n
    {props.displayName}
    \r\n
    \r\n );\r\n};","import React from 'react';\r\nimport { MotifCheckbox } from \"@ey-xd/motif-react\";\r\n\r\nexport default (props) => {\r\n const value = props.data ? props.data[props.colDef.field] : null;\r\n const reportPeriodID = props.data ? props.data.reportPeriodID : null;\r\n return (\r\n \r\n props.onCellCheckboxChange(reportPeriodID, props.node)}>\r\n \r\n \r\n );\r\n \r\n};","import React, {\r\n useState,\r\n useRef,\r\n useEffect,\r\n useMemo,\r\n useCallback,\r\n} from \"react\";\r\nimport {\r\n MotifPagination,\r\n MotifPaginationSelect,\r\n MotifPaginationSelectItem,\r\n MotifTable,\r\n} from \"@ey-xd/motif-react\";\r\n\r\nimport CustomHeaderTemplate from \"../shared/customHeaders/CustomHeaderTemplate.js\";\r\nimport ExternalUserDataVisibilityCheckboxHeaderRenderer from \"./customRenderers/ExternalUserDataVisibilityCheckboxHeaderRenderer\";\r\nimport ExternalUserDataVisibilityCheckboxCellRenderer from \"./customRenderers/ExternalUserDataVisibilityCheckboxCellRenderer\";\r\nimport ReportPeriodComparator from \"../shared/customComparators/ReportPeriodComparator.js\";\r\n\r\nconst ExternalUserDataVisibilityTable = ({\r\n externalUserVisibilityData,\r\n gridColumnState,\r\n handleGridChanges,\r\n handleGridColumnStateChange,\r\n refreshGridexternalUserVisibilityData\r\n}) => {\r\n const gridRef = useRef();\r\n const [rowData, setRowData] = useState([]);\r\n const rowDataRef = useRef({});\r\n rowDataRef.current = rowData;\r\n\r\n const onHeaderCheckboxChange = (isHeaderCheckboxSelected) => {\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n // Create a new array to hold the updated data\r\n let updatedData = [...rowDataRef.current];\r\n \r\n // Iterate over the filtered nodes\r\n gridRef.current.api.forEachNodeAfterFilterAndSort((rowNode) => {\r\n // Find the index of the current node's data in the updatedData array\r\n const dataIndex = updatedData.findIndex(\r\n (data) => data.reportPeriodID === rowNode.data.reportPeriodID\r\n );\r\n \r\n // Update the reitSelection property for the filtered node\r\n if (dataIndex !== -1 && updatedData[dataIndex].isReportPeriodEnabledForSelection !== 0) {\r\n updatedData[dataIndex] = {\r\n ...updatedData[dataIndex],\r\n reitSelection: !isHeaderCheckboxSelected\r\n };\r\n }\r\n });\r\n \r\n // Update the rowData state with the updated data\r\n setRowData(updatedData);\r\n gridRef.current.api.refreshHeader();\r\n }\r\n };\r\n\r\n \r\n const onCellCheckboxChange = (reportPeriodID, rowNode) => {\r\n const updatedData = rowDataRef.current.map((newUd) => {\r\n if (newUd.reportPeriodID === reportPeriodID ) {\r\n return {\r\n ...newUd,\r\n reitSelection: !newUd.reitSelection,\r\n };\r\n }\r\n return newUd;\r\n });\r\n \r\n setRowData(updatedData);\r\n gridRef.current.api.refreshHeader();\r\n };\r\n\r\n\r\n //Default column settings\r\n const defaultColDef = useMemo(() => {\r\n return {\r\n flex: 1,\r\n minWidth: 65,\r\n filter: true,\r\n resizable: true,\r\n sortable: true,\r\n wrapText: true,\r\n autoHeight: true,\r\n };\r\n }, []);\r\n\r\n const getColumnDefs = () => {\r\n return [\r\n {\r\n field: \"reitSelection\",\r\n headerName: \"\",\r\n suppressMenu: true,\r\n headerComponent: ExternalUserDataVisibilityCheckboxHeaderRenderer,\r\n headerComponentParams: {\r\n onHeaderCheckboxChange: onHeaderCheckboxChange,\r\n },\r\n cellRenderer: ExternalUserDataVisibilityCheckboxCellRenderer,\r\n cellRendererParams: { onCellCheckboxChange: onCellCheckboxChange },\r\n minWidth: 70,\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n cellStyle: params => {\r\n return params.data.isReportPeriodEnabledForSelection === 0 ? { 'pointer-events': 'none', opacity: '0.3', 'disable': true } : '';\r\n }, \r\n },\r\n {\r\n field: \"clientName\",\r\n headerName: \"Client\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 200,\r\n maxWidth: 350,\r\n valueGetter: (params) => {\r\n return params.data && params.data.clientName;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.clientName;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"clientName\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n {\r\n field: \"reitName\",\r\n headerName: \"REIT\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 200,\r\n maxWidth: 350,\r\n valueGetter: (params) => {\r\n return params.data && params.data.reitName;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.reitName;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"reitName\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n {\r\n headerName: \"Report Period Id\",\r\n field: \"reportPeriodID\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 200,\r\n valueGetter: (params) => {\r\n return params.data && params.data.reportPeriodID;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.reportPeriodID;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"reportPeriodID\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n },\r\n {\r\n headerName: \"Report Period\",\r\n field: \"reportPeriodDescription\",\r\n sortable: true,\r\n showRowGroup: false,\r\n rowGroup: false,\r\n minWidth: 200,\r\n valueGetter: (params) => {\r\n return params.data && params.data.reportPeriodDescription;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.reportPeriodDescription;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"reportPeriodDescription\") },\r\n spanHeaderHeight: true,\r\n resizable: true,\r\n comparator: ReportPeriodComparator,\r\n },\r\n {\r\n field: \"isReportPeriodVisibleToExternalUsers\",\r\n headerName: \"Data Visibility Status\",\r\n sortable: true,\r\n showRowGroup: false,\r\n hide: false,\r\n rowGroup: false,\r\n minWidth: 250,\r\n valueGetter: (params) => {\r\n return params.data && params.data.isReportPeriodVisibleToExternalUsers;\r\n },\r\n filterValueGetter: (params) => {\r\n return params.data && params.data.isReportPeriodVisibleToExternalUsers;\r\n },\r\n headerComponentParams: { template: CustomHeaderTemplate(\"isReportPeriodVisibleToExternalUsers\") },\r\n cellStyle: { textAlign: \"center\" }, \r\n resizable: true,\r\n },\r\n ];\r\n };\r\n\r\n const [columnDefs, setColumnDefs] = useState(getColumnDefs());\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [totalPages, setTotalPages] = useState(1);\r\n const [itemsPerPage, setItemsPerPage] = useState(100);\r\n\r\n //Grid Global Listner\r\n const gridGlobalListner = function (type, event) {\r\n if (type.indexOf(\"columnVisible\") >= 0) {\r\n handleGridColumnsChanged(event);\r\n }\r\n // Bind handleFilterChanged event to filterChanged and rowDataUpdated events\r\n if (type.indexOf(\"filterChanged\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n }\r\n \r\n if (type.indexOf(\"rowDataUpdated\") >= 0) {\r\n setTimeout(function () { handleFilterChanged(event); }, 0); \r\n } \r\n };\r\n\r\n //Handle Grid Ready event\r\n const handleGridReady = (event) => {\r\n //Remove event for column state change\r\n event.api.removeEventListener(gridGlobalListner);\r\n\r\n //Add event for column state change\r\n event.api.addGlobalListener(gridGlobalListner);\r\n\r\n //Apply column state\r\n var columnState = localStorage.getItem(\r\n \"ExternalUSerDataVisibilityColumnState\"\r\n );\r\n if (columnState) {\r\n gridRef.current.columnApi.applyColumnState({\r\n state: JSON.parse(columnState),\r\n applyOrder: true,\r\n });\r\n }\r\n\r\n // Set the page size and total pages on the first load\r\n handleItemsPerPageChange(100); // Setting it 100 to make sure the default number of items on load is always set to 100\r\n };\r\n\r\n // Handle OnFilterChanged event\r\n const handleFilterChanged = (event) => {\r\n let filteredRowData = [];\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n setTimeout(function () { // Included Settimeout function to assign the total pages after getting the total pages from grid\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n if (currentPage > calcTotalPages) {\r\n if (calcTotalPages == 0) {\r\n setTimeout(function () {\r\n setCurrentPage(calcTotalPages);\r\n }, 0);\r\n } else {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }\r\n const gridCurrentPage = gridRef.current.api.paginationGetCurrentPage() + 1; // Adding 1 since it returns zero based index\r\n if (currentPage < gridCurrentPage && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n }\r\n // Show the expected value as 1 for current page\r\n if (currentPage <= 1 && gridCurrentPage == 1 && calcTotalPages != 0) {\r\n setCurrentPage(gridCurrentPage);\r\n }\r\n }, 0);\r\n \r\n }\r\n };\r\n\r\n //Handle First Data Renderered event\r\n const handleFirstDataRendered = (event) => {\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n };\r\n\r\n //Handle Grid Columns changed event\r\n const handleGridColumnsChanged = (event) => {\r\n var currentColumnState = gridRef.current.columnApi.getColumnState();\r\n var localStorageColumnState = localStorage.getItem(\r\n \"ExternalUSerDataVisibilityColumnState\"\r\n );\r\n\r\n // If the column state details are not exists in local storage then save the changed Column state data\r\n if (\r\n currentColumnState &&\r\n currentColumnState.filter((col) => col.hide == true)?.length > 0 &&\r\n !localStorageColumnState\r\n ) {\r\n saveUserPreferenceDetails();\r\n } else if (localStorageColumnState) {\r\n // If the column state details are exists in local storage then save the changed Column state data only if difference is found\r\n var columnsStateArray = JSON.parse(localStorageColumnState);\r\n if (\r\n columnsStateArray &&\r\n columnsStateArray.length > 0 &&\r\n currentColumnState &&\r\n currentColumnState.length > 0 &&\r\n columnsStateArray.filter((col) => col.hide == true)?.length !=\r\n currentColumnState.filter((col) => col.hide == true)?.length\r\n ) {\r\n //If column state mismatch found then only save column state data to avoid saving same state\r\n saveUserPreferenceDetails();\r\n }\r\n }\r\n\r\n //Trigger Grid Column state change (of parent) to sync column state data\r\n handleGridColumnStateChange(currentColumnState);\r\n\r\n gridRef &&\r\n gridRef.current &&\r\n gridRef.current.columnApi &&\r\n gridRef.current.columnApi.autoSizeAllColumns();\r\n };\r\n\r\n //Save User Preference details (Column state)\r\n const saveUserPreferenceDetails = useCallback(() => {\r\n var columnState = gridRef.current.columnApi.getColumnState();\r\n if (columnState) {\r\n localStorage.setItem(\r\n \"ExternalUSerDataVisibilityColumnState\",\r\n JSON.stringify(columnState)\r\n );\r\n }\r\n }, []);\r\n\r\n //Handle Grid Items per Page change event\r\n const handleItemsPerPageChange = (val) => {\r\n gridRef.current.api.paginationGoToFirstPage();\r\n gridRef.current.api.paginationSetPageSize(Number(val));\r\n setCurrentPage(1);\r\n setItemsPerPage(val);\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n setTimeout(function () { // Included Settimeout function to assign the total pages after getting the total pages from grid\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n //If total page is zero then set the current page as zero\r\n if (calcTotalPages == 0) {\r\n setCurrentPage(calcTotalPages);\r\n }\r\n }, 0);\r\n }\r\n };\r\n\r\n //Handle Grid Page change event\r\n const handlePageChange = (val) => {\r\n setCurrentPage(val);\r\n gridRef.current.api.paginationGoToPage(val - 1);\r\n };\r\n\r\n useEffect(() => {\r\n handleGridChanges(\r\n rowData,\r\n gridRef && gridRef.current ? gridRef.current.api : null\r\n );\r\n }, [rowData]);\r\n\r\n useEffect(() => {\r\n setRowData(externalUserVisibilityData);\r\n\r\n if (gridRef && gridRef.current && gridRef.current.api) {\r\n gridRef.current.api.redrawRows();\r\n gridRef.current.api.refreshHeader();\r\n // Get total pages from Grid's default pagination control and apply it to custom pagination control\r\n setTimeout(function () { // Included Settimeout function to assign the total pages after getting the total pages from grid\r\n let calcTotalPages = gridRef.current.api.paginationGetTotalPages();\r\n setTotalPages(calcTotalPages);\r\n\r\n }, 0);\r\n }\r\n }, [externalUserVisibilityData]);\r\n\r\n useEffect(() => {\r\n //Reset Grid to default column state\r\n //When Grid Column state changes due to Reset Column State action then Reset Grid to default column state\r\n var localStorageColumnState = localStorage.getItem(\r\n \"ExternalUSerDataVisibilityColumnState\"\r\n );\r\n if (\r\n !localStorageColumnState &&\r\n gridRef &&\r\n gridRef.current &&\r\n gridRef.current.api\r\n ) {\r\n gridRef.current.api.setColumnDefs([]);\r\n gridRef.current.api.setColumnDefs(getColumnDefs());\r\n }\r\n }, [gridColumnState]);\r\n\r\n useEffect(() => {\r\n // Refresh Grid \r\n const gridApi = gridRef && gridRef.current && gridRef.current.api;\r\n if (gridApi) {\r\n gridApi.refreshCells();\r\n gridApi.deselectAll();\r\n }\r\n\r\n }, [refreshGridexternalUserVisibilityData]);\r\n\r\n const rowHeight = 76;\r\n const headerHeight = 45;\r\n const totalHeight = 5 * rowHeight + headerHeight; // set 5 rows as default\r\n\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n {externalUserVisibilityData &&\r\n externalUserVisibilityData.length > 0 && (\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n handleItemsPerPageChange(50)}\r\n >\r\n Show 50\r\n \r\n handleItemsPerPageChange(100)}\r\n >\r\n Show 100\r\n \r\n handleItemsPerPageChange(150)}\r\n >\r\n Show 150\r\n \r\n handleItemsPerPageChange(200)}\r\n >\r\n Show 200\r\n \r\n \r\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 ExternalUserDataVisibilityTable;\r\n","import PropTypes from \"prop-types\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Form } from \"semantic-ui-react\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport * as formHelpers from \"../../scripts/formHelpers\";\r\nimport { addAttribute } from \"../../common/Attribute\";\r\nimport {\r\n MotifButton,\r\n MotifDropdown,\r\n MotifDropdownItem,\r\n MotifIcon,\r\n} from '@ey-xd/motif-react';\r\nimport { IconoirNavArrowDown, IconoirInfoCircle, IconoirHelpCircle } from '@ey-xd/motif-icon';\r\n\r\nconst ExternalUserDataVisibilityHeader = ({handleHideExternalUserDataVisibility,handleUnHideExternalUserDataVisibility}) => {\r\n useEffect(() => {\r\n\r\n //Add Attribute(type=button) to all button elements having attribute(role = 'combobox')\r\n addAttribute(\"button[role = 'combobox']\", \"type\", \"button\");\r\n });\r\n const [actionOptionsOpen, setActionOptionsOpen] = useState(false);\r\n\r\n return
    \r\n {/*
    */}\r\n
    \r\n
    \r\n setActionOptionsOpen(false)}\r\n trigger={\r\n setActionOptionsOpen(!actionOptionsOpen)}\r\n aria-controls={'action-dropdown'}\r\n id={'action-dropdown-trigger'}\r\n aria-expanded={actionOptionsOpen}\r\n aria-label=\"Action dropdown\"\r\n data-testid=\"actions\"\r\n >\r\n Actions \r\n \r\n }\r\n >\r\n\r\n
      \r\n\r\n
    • \r\n {handleHideExternalUserDataVisibility();}}\r\n data-testid=\"hide\">\r\n Hide\r\n \r\n
    • \r\n
    • \r\n {handleUnHideExternalUserDataVisibility();}} \r\n data-testid=\"show\">\r\n Show\r\n \r\n
    • \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    ;\r\n};\r\n\r\nExternalUserDataVisibilityHeader.propTypes = {};\r\n\r\nexport default reduxForm({ form: \"ExternalUserDataVisibilityHeader\" })(ExternalUserDataVisibilityHeader);","import React from 'react';\r\nimport { MotifTabNavigation, MotifTabControl} from '@ey-xd/motif-react';\r\nimport { Link } from 'react-router-dom';\r\nimport { reduxForm } from \"redux-form\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport * as externalUserDataVisibilityActions from '../../actions/externalUserDataVisibilityActions';\r\nimport ExternalUserDataVisibilityTable from '../../components/externalUserDataVisibility/ExternalUserDataVisibilityTable';\r\nimport ExternalUserDataVisibilityHeader from '../../components/externalUserDataVisibility/ExternalUserDataVisibilityHeader';\r\nimport PropTypes from 'prop-types';\r\n\r\nexport class ExternalUserDataVisibilityContainer extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n tabBar1: 0,\r\n gridCurrentState: [],\r\n refreshGridexternalUserVisibilityData: {\r\n refreshGridOnCompletedAction: -1\r\n },\r\n externalUserVisibilityData: [],\r\n isSysAdmin: false, \r\n };\r\n this.setTabBar1 = this.setTabBar1.bind(this);\r\n this.handleClick = this.handleClick.bind(this);\r\n this.handleGridChanges = this.handleGridChanges.bind(this);\r\n this.setGridColumnState = this.setGridColumnState.bind(this);\r\n this.handleGridColumnStateChange = this.handleGridColumnStateChange.bind(this);\r\n this.handleHideExternalUserDataVisibility = this.handleHideExternalUserDataVisibility.bind(this);\r\n this.handleUnHideExternalUserDataVisibility = this.handleUnHideExternalUserDataVisibility.bind(this);\r\n \r\n }\r\n\r\n /**\r\n * Invoked immediately after mounting occurs\r\n * @returns {undefined}\r\n */\r\n\r\n componentDidMount() {\r\n this.checkUserAuthorization();\r\n this.props.externalUserDataVisibilityActions.fetchExternalUserDataVisibility();\r\n }\r\n componentDidUpdate(prevProps) {\r\n if (this.props.externalUserVisibilityData && this.props.externalUserVisibilityData !== prevProps.externalUserVisibilityData) {\r\n this.setState({ externalUserVisibilityData: this.props.externalUserVisibilityData });\r\n }\r\n }\r\n \r\n /**\r\n * Invoked immediately before unmounting occurs\r\n * @returns {undefined}\r\n */\r\n componentWillUnmount() {\r\n // On unmount, clear the state to conserve memory\r\n this.setState({ externalUserVisibilityData: [] });\r\n \r\n // Clearing the redux state for external User Data Visibility\r\n this.props.externalUserDataVisibilityActions.fetchExternalUserDataVisibility();\r\n }\r\n \r\n\r\n checkUserAuthorization() {\r\n let isSysAdmin = false;\r\n if (Array.isArray(this.props.currentUserAuthorizations)) {\r\n isSysAdmin = authActions.isSystemAdministrator(this.props.currentUserAuthorizations);\r\n }\r\n this.setState({isSysAdmin: isSysAdmin}); \r\n }\r\n \r\n //Set tab related state variables\r\n setTabBar1(currentIndex) {\r\n this.setState({ tabBar1: currentIndex });\r\n }\r\n\r\n //Set current tab index\r\n handleClick(index) {\r\n this.setTabBar1(index);\r\n } \r\n\r\n setGridColumnState() {\r\n var columnState = localStorage.getItem('ExternalUSerDataVisibilityColumnState');\r\n if (columnState) {\r\n this.setState({ gridColumnState: JSON.parse(columnState) });\r\n }\r\n else {\r\n this.setState({ gridColumnState: [{ colId: '-1' }] });\r\n }\r\n }\r\n\r\n getExternalUserDataVisibilityData() {\r\n this.props.externalUserDataVisibilityActions.fetchExternalUserDataVisibility();\r\n }\r\n\r\n refreshGrid(selectedData=[]) { \r\n this.getExternalUserDataVisibilityData();\r\n \r\n const randomNumber = parseInt(Math.random() * (99999999 - 1)) + 1;\r\n if (\r\n selectedData &&\r\n Array.isArray(selectedData) &&\r\n selectedData.length > 0\r\n ) {\r\n this.setState({\r\n refreshGridexternalUserVisibilityData: {\r\n refreshGridOnCompletedAction: randomNumber\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n refreshGridexternalUserVisibilityData: {\r\n refreshGridOnCompletedAction: randomNumber\r\n },\r\n });\r\n }\r\n }\r\n\r\n handleGridColumnStateChange(columnState) {\r\n this.setState({ gridColumnState: columnState });\r\n }\r\n\r\n handleGridChanges(gridRowData) {\r\n let rowData = [];\r\n rowData = gridRowData && gridRowData.length && gridRowData.map(x => {\r\n return {\r\n clientID: x.clientID,\r\n clientName: x.clientName,\r\n reitid: x.reitid,\r\n reitName: x.reitName,\r\n reportPeriodID : x.reportPeriodID,\r\n reportPeriodDescription : x.reportPeriodDescription,\r\n isReportPeriodVisibleToExternalUsers:x.isReportPeriodVisibleToExternalUsers,\r\n isReportPeriodEnabledForSelection: x.isReportPeriodEnabledForSelection,\r\n reitSelection: x.reitSelection\r\n }\r\n });\r\n this.setState({ gridCurrentState: rowData });\r\n }\r\n\r\n \r\n handleHideExternalUserDataVisibility() { \r\n let selectedData = this.state.gridCurrentState.filter(gridData => gridData.reitSelection)\r\n .map(gridData => {\r\n return { \r\n reportPeriodID: gridData.reportPeriodID \r\n }\r\n });\r\n var requestData = [];\r\n selectedData.forEach(function (item) {\r\n requestData.push({ \r\n id: item.reportPeriodID, \r\n });\r\n });\r\n\r\n this.props.externalUserDataVisibilityActions.hideExternalUserDataVisibility(requestData).then(() => { \r\n this.refreshGrid(selectedData);\r\n });\r\n}\r\n\r\nhandleUnHideExternalUserDataVisibility() { \r\n let selectedData = this.state.gridCurrentState.filter(gridData => gridData.reitSelection)\r\n .map(gridData => {\r\n return { \r\n reportPeriodID: gridData.reportPeriodID \r\n }\r\n });\r\n var requestData = [];\r\n selectedData.forEach(function (item) {\r\n requestData.push({ \r\n id: item.reportPeriodID, \r\n });\r\n }); \r\n\r\n this.props.externalUserDataVisibilityActions.unHideExternalUserDataVisibility(requestData).then(() => { \r\n this.refreshGrid(selectedData);\r\n });\r\n}\r\n\r\n render() {\r\n // Non sys admins are unauthorized to access system admin page\r\n if (!this.state.isSysAdmin) {\r\n this.props.router.navigate(`/unauthorized`);\r\n return ;\r\n }\r\n return (\r\n \r\n

    System Administrators

    \r\n \r\n \r\n this.handleClick(1)}>\r\n Manage System Administrators\r\n \r\n \r\n \r\n this.handleClick(2)}\r\n >\r\n Data Deletion Diagnostic\r\n \r\n \r\n \r\n this.handleClick(3)}\r\n >\r\n External User Data Visibility Manager\r\n \r\n \r\n \r\n <>\r\n \r\n \r\n {(this.props.externalUserVisibilityData == null || this.props.externalUserVisibilityData.length === 0) &&\r\n
    No record found for external user data visibility.
    }\r\n \r\n
    \r\n );\r\n }\r\n }\r\n\r\n ExternalUserDataVisibilityContainer.propTypes = { \r\n clientId: PropTypes.number,\r\n externalUserVisibilityData: PropTypes.array,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state, ownProps) {\r\n const clients = state.clients; \r\n return {\r\n currentUserAuthorizations: state.currentUserAuthorizations, \r\n externalUserVisibilityData: state.externalUserVisibilityData, \r\n };\r\n}\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n authActions: bindActionCreators(authActions, dispatch) ,\r\n externalUserDataVisibilityActions: bindActionCreators(externalUserDataVisibilityActions, dispatch),\r\n\r\n };\r\n}\r\n\r\n\r\nexport default withRouter(\r\n connect(mapStateToProps, mapDispatchToProps)(\r\n reduxForm({ form: \"ExternalUserDataVisibilityContainer\", enableReinitialize: true })(ExternalUserDataVisibilityContainer)\r\n )\r\n);\r\n ","import React, { Component } from 'react';\r\nimport { MotifErrorMessage, MotifTextLink } from \"@ey-xd/motif-react\";\r\nimport { Link } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from \"redux\";\r\nimport { withRouter } from \"../../common/withRouter\";\r\nimport * as authActions from \"../../actions/authActions\";\r\nimport PropTypes from 'prop-types';\r\n\r\nclass MissingDeletionApprovalContainer extends Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() { \r\n return (\r\n
    \r\n
    \r\n \r\n Access Restricted\r\n \r\n
    \r\n
    \r\n

    \r\n In accordance with the REITSuite Data Retention Policy, we have not received your approval or exception for the records scheduled for deletion this year. As a result, your access to this client site has been restricted. To restore access, please have your Data Steward provide the necessary approvals or obtain an exception. For more information on the policy and detailed instructions on how to grant approvals or obtain exceptions, please refer to the REITSuite help guide.\r\n

    \r\n
    \r\n
    Appoint Data Stewards (if needed)
    \r\n
      \r\n {authActions.isSystemAdministrator(this.props.currentUserAuthorizations) || authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, this.props.clientId) \r\n ?\r\n
    • \r\n - You are required to appoint at least one, but no more than two Data Stewards. Assign them on the Add Data Steward page.\r\n
    • \r\n :\r\n
    • \r\n - You are required to appoint at least one, but no more than two Data Stewards. Assign them on the Add Data Steward page.\r\n
    • \r\n }\r\n
    • \r\n - Please note only Engagement Administrators can assign Data Stewards.\r\n
    • \r\n
    \r\n
    \r\n
    Export Data (if needed)
    \r\n
      \r\n
    • \r\n - Export the data needed from the Bulk Report Management page. Transfer it to the designated systems in accordance with the firm’s policy.\r\n
    • \r\n
    \r\n
    \r\n
    Provide Approvals
    \r\n
      \r\n {authActions.isSystemAdministrator(this.props.currentUserAuthorizations) || authActions.isEngagementAdministrator(this.props.currentUserAuthorizations, this.props.clientId) \r\n ?\r\n
    • \r\n - Data Stewards can provide approvals on the Data Retention Management page. Approve all report periods with a lapsed Deletion Approval Due Date. However, if you need to seek an exception, please email the REITSuite team at reitsuite@ey.com. Please note you will need to submit a business case to Tax Quality and Independence for exception.\r\n
    • \r\n :\r\n
    • \r\n - Data Stewards can provide approvals on the Data Retention Management page. Approve all report periods with a lapsed Deletion Approval Due Date. However, if you need to seek an exception, please email the REITSuite team at reitsuite@ey.com. Please note you will need to submit a business case to Tax Quality and Independence for exception.\r\n
    • \r\n }\r\n
    • \r\n - Please note only Data Stewards can approve data deletion requests.\r\n
    • \r\n
    \r\n
    \r\n

    Note: Once all appropriate report periods are approved (or have an exception), full access to the client site will be restored.

    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nMissingDeletionApprovalContainer.propTypes = { \r\n currentUserAuthorizations: PropTypes.array,\r\n clientId: PropTypes.number,\r\n client: PropTypes.object,\r\n authActions: PropTypes.object,\r\n router: PropTypes.object,\r\n};\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @param {Object} ownProps The properties of the component\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nconst mapStateToProps = (state, ownProps) => {\r\n let cid = Number.parseInt(ownProps.router.params.clientId);\r\n if (isNaN(cid)) {\r\n cid = 0;\r\n }\r\n const currentUserAuthorizations = state.currentUserAuthorizations;\r\n return {\r\n clientId: cid,\r\n client: state.client,\r\n currentUserAuthorizations: currentUserAuthorizations,\r\n };\r\n};\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n authActions: bindActionCreators(authActions, dispatch),\r\n };\r\n}\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(MissingDeletionApprovalContainer));","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Provider, connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { Route, Routes, createBrowserRouter, RouterProvider, } from 'react-router-dom';\r\nimport {\r\n appInsights,\r\n initUserData,\r\n setUserId,\r\n clearUserId,\r\n} from '@ey/react-telemetry-library';\r\nimport withAppInsights from '@ey/react-telemetry-library';\r\nimport App from './App';\r\nimport ExternalApp from './ExternalApp';\r\nimport PermExternalApp from './PermExternalApp';\r\nimport AssetTestPage from '../containers/reits/AssetTestPage';\r\nimport NotFoundPage from './NotFoundPage';\r\nimport LoginPage from '../containers/LoginPage';\r\nimport ClientsPage from '../containers/clients/ClientsPage';\r\nimport EditClientPage from '../containers/clients/EditClientPage';\r\nimport ClientPage from '../containers/clients/ClientPage';\r\nimport ClientsExternalPage from '../containers/clients/ClientsExternalPage';\r\nimport ChecklistExternalContainer from '../containers/checklistDeliveryCalendar/ChecklistExternalContainer';\r\nimport PSQChecklistExternalContainer from '../containers/checklistDeliveryCalendar/PSQChecklistExternalContainer';\r\nimport ARQCChecklistExternalContainer from '../containers/checklistDeliveryCalendar/ARQCChecklistExternalContainer';\r\nimport ClientLoader from '../containers/clients/ClientLoader';\r\nimport ReitLoader from '../containers/reits/ReitLoader';\r\nimport ReitPage from '../containers/reits/ReitPage';\r\nimport ReportPeriodLoader from '../containers/reits/ReportPeriodLoader';\r\nimport TrialBalanceUploadPage from '../containers/tb/TrialBalanceUploadPage';\r\nimport ReportPage from '../containers/reports/ReportPage';\r\nimport EditTrsContainer from '../containers/reits/EditTrsContainer';\r\nimport EditSecuritiesSnapshotContainer from '../containers/reits/EditSecuritiesSnapshotContainer';\r\nimport PropertiesContainer from '../containers/reits/PropertiesContainer';\r\nimport IncomeTestPage from '../containers/reits/IncomeTestPage';\r\nimport ArqcChecklistPage from '../containers/reits/ARQCChecklistContainer';\r\nimport ArqcChecklistRecord from '../containers/reits/ArqcChecklistRecord';\r\nimport DistributionTestContainer from '../containers/reits/DistributionTestContainer';\r\nimport PsqChecklistPage from '../containers/reits/PSQChecklistContainer';\r\nimport PsqChecklistRecord from '../containers/reits/PsqChecklistRecord';\r\nimport ExternalArqcChecklistPage from '../containers/reits/ExternalArqcChecklistPage';\r\nimport ReitsExternalPage from '../containers/reits/ReitsExternalPage';\r\nimport ChecklistsExternalPage from '../containers/reits/ChecklistsExternalPage';\r\nimport ExternalPsqChecklistPage from '../containers/reits/ExternalPsqChecklistPage';\r\nimport CallbackPage from '../containers/CallbackPage';\r\nimport FileManagementPage from '../containers/fileManagement/FileManagementPage';\r\nimport ReitFileManagementPage from '../containers/fileManagement/ReitFileManagementPage';\r\nimport AdminAuthPage from '../containers/auth/AdminAuthPage';\r\nimport UnauthorizedUserContainer from '../containers/unauthorize/UnauthorizedUserContainer';\r\nimport ExternalUnauthorizedUserContainer from '../containers/unauthorize/ExternalUnauthorizedUserContainer';\r\n// import ContactUsersPage from \"../containers/contactUsers/ContactUsersPage\";\r\nimport MappingsPage from '../containers/tb/MappingsPage';\r\nimport ScheduleChecklistContainer from '../containers/checklistDeliveryCalendar/ScheduleChecklistContainer';\r\nimport ManageChecklistContainer from '../containers/checklistDeliveryCalendar/ManageChecklistContainer';\r\nimport CustomChecklistTemplateContainer from '../containers/customChecklistQuestions/CustomChecklistTemplateContainer';\r\nimport CustomFdrTemplateContainer from '../containers/customFdrTemplate/CustomFdrTemplateContainer';\r\nimport ChartOfAccountsManagerContainer from '../containers/chartOfAccountsManager/ChartOfAccountsManagerContainer';\r\nimport ChartAssignmentContainer from '../containers/chartOfAccountsManager/ChartAssignmentContainer';\r\nimport BulkReportManagementContainer from '../containers/bulkReportManagement/BulkReportManagementContainer';\r\nimport DefaultFdrTemplatesContainer from '../containers/customFdrTemplate/DefaultFdrTemplatesContainer';\r\nimport PsqCustomChecklistTemplateContainer from '../containers/psqCustomChecklistTemplate/PsqCustomChecklistTemplateContainer';\r\nimport PsqChecklistTemplatePreview from '../containers/psqCustomChecklistTemplate/PsqChecklistTemplatePreview';\r\nimport BulkProcessManagementContainer from '../containers/bulkProcessManagement/BulkProcessManagementContainer';\r\nimport BulkRollForwardContainer from '../containers/bulkRollForward/BulkRollForwardContainer';\r\nimport LogoffPage from '../containers/LogoffPage';\r\nimport * as stringHelpers from '../scripts/stringHelpers';\r\nimport * as authenticationActions from '../actions/authenticationActions';\r\nimport CustomRouterProvider from '../common/CustomRouterProvider';\r\nimport RoleGuard from '../common/RoleGuard';\r\n\r\n//import { MsalProvider, MsalAuthenticationTemplate } from '@azure/msal-react';\r\n//import ConditionalMsalProvider from '../common/ConditionalMsalProvider';\r\n\r\n\r\nimport DataRetentionManagementContainer from '../containers/dataRetentionManagement/DataRetentionManagementContainer';\r\nimport DataRetentionManagementPolicy from './dataRetentionManagement/dataRetentionManagementPolicy';\r\nimport DataStewardRoleManagementContainer from '../containers/dataStewardRoleManagement/dataStewardRoleManagementContainer';\r\nimport DataDeletionDiagnosticPage from '../containers/dataDeletionDiagnostic/DataDeletionDiagnosticPage';\r\nimport ExternalUserDataVisibilityContainer from '../containers/externalUserDataVisibility/ExternalUserDataVisibilityContainer';\r\nimport MissingDeletionApprovalContainer from '../containers/dataRetentionManagement/MissingDeletionApprovalContainer';\r\n/**\r\n * The Root component renders the Router and connects everything to the store\r\n * @extends {Component}\r\n */\r\nclass Root extends Component {\r\n /**\r\n * Creates a new Root\r\n * @constructor\r\n * @param {Object} props The component properties\r\n * @param {Object} context The component context\r\n */\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.lastPathname = '';\r\n this.userType = '';\r\n this.userEmail = '';\r\n\r\n // Before use, you must provide the library REACT_APP_INSTRUMENTATIONKEY on file .env\r\n if (process.env.REACT_APP_INSTRUMENTATIONKEY !== 'local') {\r\n // Mandatory function for Usage Statistics\r\n initUserData();\r\n\r\n // Listen for page changes\r\n props.history.listen((location) => {\r\n const pathname = location.pathname;\r\n\r\n // Sometimes this history.listen event fires twice, so ensure we don't fire twice if path hasn't changed\r\n if (pathname !== this.lastPathname) {\r\n this.lastPathname = pathname;\r\n\r\n // Are we on a client page? (internal or external)\r\n const isClientInPath =\r\n pathname.includes('/client/') || pathname.includes('/ext/reits/');\r\n\r\n // Retry up to 5 times because Client api may have not responded fast enough after listen event fires\r\n let retryCount = 5;\r\n let trackPageViewTimeout;\r\n\r\n const attemptTrackPageView = () => {\r\n clearTimeout(trackPageViewTimeout);\r\n retryCount--;\r\n\r\n // Check if we are on a Client page, and optionally add clientName to metrics\r\n const splitPath = pathname.split('/');\r\n const clientIdInPath =\r\n this.props.authenticationScope == 'external'\r\n ? splitPath[3]\r\n : splitPath[2];\r\n const clientIdInProps =\r\n this.props.client && this.props.client.id\r\n ? this.props.client.id.toString()\r\n : null;\r\n\r\n if (\r\n ((!isClientInPath || clientIdInPath == clientIdInProps) &&\r\n this.userEmail) ||\r\n retryCount == 0\r\n ) {\r\n const appInsightData = {\r\n name: location.pathname,\r\n properties: {\r\n 'user-type': this.userType,\r\n 'user-guid': stringHelpers.stringToHash(this.userEmail),\r\n 'user-email': this.userEmail,\r\n 'app-id': 'EY REITSuite',\r\n },\r\n };\r\n\r\n // Optionally add client-name and engagement-id if on a Client page\r\n if (isClientInPath && clientIdInProps) {\r\n appInsightData.properties['client-name'] =\r\n this.props.client.name;\r\n appInsightData.properties['engagement-id'] =\r\n this.props.client.engagementNumber;\r\n }\r\n\r\n // Log page change to App Insights\r\n // (ignore \"EY REITSuite\")\r\n if (location.pathname !== 'EY REITSuite') {\r\n appInsights.trackPageView(appInsightData);\r\n }\r\n } else {\r\n // Retry\r\n trackPageViewTimeout = setTimeout(\r\n () => attemptTrackPageView(),\r\n 1000,\r\n );\r\n }\r\n };\r\n\r\n // Trigger the function that will retry 5 times to ensure we have given enough time to fetch Client Info\r\n attemptTrackPageView();\r\n }\r\n });\r\n }\r\n\r\n this.getClientName = this.getClientName.bind(this);\r\n this.getReitName = this.getReitName.bind(this);\r\n this.getPeriodName = this.getPeriodName.bind(this);\r\n this.getRoutes = this.getRoutes.bind(this);\r\n this.getRouter = this.getRouter.bind(this);\r\n }\r\n\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.currentUser !== this.props.currentUser) {\r\n const userEmail = this.props.currentUser;\r\n this.userEmail = userEmail;\r\n\r\n // Store the email domain in userType\r\n if (userEmail.includes('@')) {\r\n this.userType = userEmail.split('@')[1];\r\n }\r\n\r\n if (process.env.REACT_APP_INSTRUMENTATIONKEY !== 'local') {\r\n // Set the User ID (email address) of the authenticated user\r\n setUserId(userEmail);\r\n }\r\n }\r\n }\r\n\r\n getClientName() {\r\n return (\r\n (this.props.store.getState().client &&\r\n this.props.store.getState().client.name) ||\r\n '...'\r\n );\r\n }\r\n\r\n getReitName() {\r\n return (\r\n (this.props.store.getState().reit &&\r\n this.props.store.getState().reit.reitName) ||\r\n '...'\r\n );\r\n }\r\n\r\n getPeriodName() {\r\n return (\r\n (this.props.store.getState().period &&\r\n this.props.store.getState().period.reportPeriodDescription) ||\r\n '...'\r\n );\r\n }\r\n\r\n getRoutes() {\r\n return [\r\n {\r\n path: '',\r\n element: ,\r\n children: [\r\n {\r\n path: \"/external\",\r\n element: ,\r\n children: [\r\n {\r\n path: \"arqc/:checklistId\",\r\n element: ,\r\n },\r\n {\r\n path: \"psq/:checklistId\",\r\n element: ,\r\n },\r\n {\r\n path: \"logoff\",\r\n element: ,\r\n },\r\n ],\r\n },\r\n {\r\n path: \"/ext\",\r\n element: ,\r\n name: \"Dashboard\",\r\n handle: {\r\n name: \"Dashboard\",\r\n },\r\n children: [\r\n {\r\n index: true,\r\n element: ,\r\n },\r\n {\r\n path: \"psq\",\r\n handle: {\r\n name: \"PSQ\",\r\n },\r\n children: [\r\n {\r\n index: true,\r\n element: ,\r\n },\r\n {\r\n path: \"psqRecord/:internalChecklistId\",\r\n element: ,\r\n name: \"PSQ Record\",\r\n },\r\n ],\r\n },\r\n {\r\n path: \"arqc\",\r\n handle: {\r\n name: \"ARQC\",\r\n },\r\n children: [\r\n {\r\n index: true,\r\n element: ,\r\n },\r\n {\r\n path: \"arqcRecord/:internalChecklistId\",\r\n element: ,\r\n handle: {\r\n name: \"ARQC Record\",\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: \"unauthorized\",\r\n element: ,\r\n handle: {\r\n name: \"Access Denied\",\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: \"/auth\",\r\n element: ,\r\n },\r\n {\r\n path: \"/\",\r\n element: ,\r\n handle: {\r\n name: \"Dashboard\",\r\n },\r\n children: [ \r\n {\r\n path: \"login\",\r\n element: ,\r\n },\r\n {\r\n path: \"adminauth\",\r\n handle: {\r\n name: \"System Administrators\",\r\n },\r\n children: [\r\n {\r\n index: true,\r\n element: ,\r\n },\r\n {\r\n path: \"dataDeletionDiagnostic\",\r\n element: ,\r\n handle: {\r\n name: \"Data Deletion Diagnostic\",\r\n },\r\n },\r\n {\r\n path: \"externalUserDataVisibility\",\r\n element: ,\r\n handle: {\r\n name: \"External User Data Visibility\",\r\n },\r\n },\r\n ],\r\n },\r\n\r\n {\r\n path: \"unauthorized\",\r\n element: ,\r\n handle: {\r\n name: \"Access Denied\",\r\n },\r\n },\r\n {\r\n index: true,\r\n element: ,\r\n },\r\n {\r\n path: \"clients\",\r\n element: ,\r\n },\r\n {\r\n path: \"client/edit\",\r\n element: ,\r\n handle: {\r\n name: \"New Client\",\r\n },\r\n },\r\n {\r\n path: \"client/:clientId\",\r\n element: ,\r\n handle: {\r\n name: \"Client\",\r\n },\r\n children: [\r\n {\r\n index: true,\r\n element: ,\r\n },\r\n {\r\n path: \"edit\",\r\n element: (\r\n \r\n \r\n \r\n ),\r\n handle: {\r\n name: \"Client Settings\",\r\n },\r\n },\r\n {\r\n path: \"checklistManagement\",\r\n element: ,\r\n handle: {\r\n name: \"Checklist Management\",\r\n },\r\n },\r\n {\r\n path: \"manageChecklist\",\r\n element: ,\r\n handle: {\r\n name: \"Manage Checklist\",\r\n },\r\n },\r\n {\r\n path: \"customPsqTemplate\",\r\n handle: {\r\n name: \"Custom PSQ Template\",\r\n },\r\n children: [\r\n {\r\n index: true,\r\n element: ,\r\n },\r\n // {\r\n // path: \"manageQuestions\",\r\n // element: ,\r\n // handle: {\r\n // name: \"Manage Questions\",\r\n // },\r\n // },\r\n {\r\n path: \"template\",\r\n element: ,\r\n handle: {\r\n name: \"Create Template\",\r\n },\r\n },\r\n {\r\n path: \"template/:templateId\",\r\n element: ,\r\n handle: {\r\n name: \"Edit Template\",\r\n },\r\n },\r\n {\r\n path: \"template/:templateId/preview\",\r\n element: ,\r\n handle: {\r\n name: \"Template Preview\",\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: \"customFdrTemplate\",\r\n handle: {\r\n name: \"Custom FDR Template\",\r\n },\r\n children: [\r\n {\r\n index: true,\r\n element: ,\r\n },\r\n {\r\n path: \"assignReits\",\r\n element: ,\r\n handle: {\r\n name: \"Assign Defaults\",\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: \"bulkReportManagement\",\r\n element: ,\r\n handle: {\r\n name: \"Bulk Report Management\",\r\n },\r\n },\r\n {\r\n path: \"bulkProcessManagement\",\r\n element: ,\r\n handle: {\r\n name: \"Bulk Process Management\",\r\n },\r\n },\r\n {\r\n path: \"bulkRollForward\",\r\n element: ,\r\n handle: {\r\n name: \"Bulk Roll Forward\",\r\n },\r\n }, \r\n {\r\n path: \"chartOfAccountsManager\",\r\n handle: {\r\n name: \"Chart of Accounts Manager\",\r\n },\r\n children: [\r\n {\r\n index: true,\r\n element: ,\r\n },\r\n {\r\n path: \"assignCharts\",\r\n element: ,\r\n handle: {\r\n name: \"Chart Assignment\",\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: \"reit/:reitId\",\r\n element: ,\r\n handle: {\r\n name: \"Reit\",\r\n },\r\n children: [\r\n {\r\n index: true,\r\n element: ,\r\n },\r\n {\r\n path: \"files\",\r\n element: ,\r\n handle: {\r\n name: \"File Management\",\r\n },\r\n },\r\n {\r\n path: \"period/:periodId\",\r\n element: ,\r\n handle: {\r\n name: \"Period\",\r\n },\r\n children: [\r\n {\r\n path: \"\",\r\n index: true,\r\n element: ,\r\n },\r\n {\r\n path: \"uploadtb/:tbType\",\r\n index: true,\r\n element: ,\r\n handle: {\r\n name: \"TB Upload\",\r\n },\r\n },\r\n {\r\n path: \"report\",\r\n element: ,\r\n handle: {\r\n name: \"Final Report\",\r\n },\r\n },\r\n {\r\n path: \"trs\",\r\n element: ,\r\n handle: {\r\n name: \"TRS\",\r\n },\r\n },\r\n {\r\n path: \"securitiesSnapshot\",\r\n element: ,\r\n handle: {\r\n name: \"Securities\",\r\n },\r\n },\r\n {\r\n path: \"properties\",\r\n element: ,\r\n handle: {\r\n name: \"Properties\",\r\n },\r\n },\r\n {\r\n path: \"mappings\",\r\n element: ,\r\n handle: {\r\n name: \"Client Account Mappings\",\r\n },\r\n },\r\n {\r\n path: \"assettest\",\r\n element: ,\r\n handle: {\r\n name: \"Asset Test\",\r\n },\r\n },\r\n {\r\n path: \"incometest\",\r\n element: ,\r\n handle: {\r\n name: \"Income Test\",\r\n },\r\n },\r\n {\r\n path: \"distributiontest\",\r\n element: ,\r\n handle: {\r\n name: \"Distribution Test\",\r\n },\r\n },\r\n {\r\n path: \"arqc\",\r\n handle: {\r\n name: \"ARQC\",\r\n },\r\n children: [\r\n {\r\n index: true,\r\n element: ,\r\n },\r\n {\r\n path: \"arqcRecord/:arqcChecklistId\",\r\n element: ,\r\n handle: {\r\n name: \"ARQC Record\",\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: \"psq\",\r\n handle: {\r\n name: \"PSQ\",\r\n },\r\n children: [\r\n {\r\n index: true,\r\n element: ,\r\n },\r\n {\r\n path: \"psqRecord/:psqChecklistId\",\r\n element: ,\r\n handle: {\r\n name: \"PSQ Record\",\r\n },\r\n },\r\n ],\r\n }, \r\n {\r\n path: \"files\",\r\n element: ,\r\n handle: {\r\n name: \"File Management\",\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n path: \"dataRetentionManagement\",\r\n element: ,\r\n handle: { \r\n name: \"Data Retention Management\",\r\n },\r\n }, \r\n\r\n {\r\n path: \"dataStewardRoleManagement\",\r\n element: (\r\n \r\n \r\n \r\n ),\r\n handle: { \r\n name: \"Add Data Steward\",\r\n },\r\n }, \r\n {\r\n path: \"missingDeletionApproval\",\r\n element: (\r\n \r\n \r\n \r\n ),\r\n handle: { \r\n name: \"Access Restricted\",\r\n },\r\n }, \r\n ],\r\n },\r\n {\r\n path: \"*\",\r\n element: ,\r\n },\r\n {\r\n path: \"/helpGuide\",\r\n element: ,\r\n handle: { \r\n name: \"Help Guide\",\r\n },\r\n },\r\n ],\r\n },\r\n \r\n ],\r\n },\r\n ];\r\n }\r\n\r\n getRouter() {\r\n return createBrowserRouter(this.getRoutes());\r\n }\r\n\r\n render() {\r\n const { store } = this.props;\r\n return (\r\n \r\n Loading...}\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Maps items from state to properties of the component\r\n * @param {Object} state The state\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapStateToProps(state) {\r\n return {\r\n authenticationScope: state.authenticationScope,\r\n client: state.client,\r\n currentUser: state.authentication.currentUser,\r\n };\r\n}\r\n\r\n/**\r\n * Binds actions to the dispatcher\r\n * @param {Object} dispatch The action dispatcher\r\n * @returns {Object} An object containing properties that the component can access\r\n */\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n authenticationActions: bindActionCreators(authenticationActions, dispatch),\r\n };\r\n}\r\n\r\nRoot.propTypes = {\r\n store: PropTypes.object.isRequired,\r\n history: PropTypes.object.isRequired,\r\n client: PropTypes.object,\r\n user: PropTypes.object,\r\n authenticationScope: PropTypes.string,\r\n currentUser: PropTypes.string,\r\n authenticationActions: PropTypes.object,\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Root);\r\n","import { Provider } from 'react-redux';\r\nimport ReactModal from 'react-modal';\r\nimport App from './components/App';\r\nimport {store, history} from './store/configureStore';\r\nimport ReactDOM from 'react-dom/client';\r\nimport { BrowserRouter as Router } from 'react-router-dom';\r\nimport React from 'react';\r\nimport Root from \"./components/Root\";\r\nReactModal.setAppElement('div#app');\r\nconst root = ReactDOM.createRoot(document.getElementById('app'));\r\n\r\nimport '@progress/kendo-theme-bootstrap/dist/all.css';\r\nimport '../node_modules/bootstrap/dist/css/bootstrap.min.css'; // Yep, that's right. You can import SASS/CSS files too! Webpack will run the associated loader and plug this into the page.\r\nimport './css/styles.css';\r\nimport './css/tables.css';\r\nimport './css/index.scss';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nroot.render(\r\n \r\n);\r\n\r\nif (module.hot) {\r\n module.hot.accept('./components/Root', () => {\r\n const NewApp = require('./components/Root').default;\r\n root.render(\r\n\r\n \r\n\r\n );\r\n });\r\n}","// Return an empty string or other mock path to emulate the url that\r\n// webpack provides via the file-loader\r\nmodule.exports = '';\r\n"],"names":["begin","end","endAll","pendingTask","SET_MSAL_INSTANCE","SET_CURRENT_USER","SET_ID_TOKEN","SET_ACCESS_TOKEN","LOAD_DEFAULT_FDR_TEMPLATES_SUCCESS","LOAD_DEFAULT_FDR_TEMPLATES_FAILURE","LOAD_CHARTS_SUCCESS","LOAD_CHARTS_FAILURE","LOAD_CHART_OF_ACCOUNTS_SUCCESS","SET_CHART_DUPLICATE","SET_CHARTOFACCOUNT_DUPLICATE","CLEAR_CHART_DUPLICATE","CLEAR_CHARTOFACCOUNT_DUPLICATE","CREATE_CHART_FAILURE","CREATE_CHARTOFACCOUNT_FAILURE","LOAD_CALENDAR_YEARS_FAILURE","LOAD_CHART_ACCOUNT_MAPPINGS_FAILURE","LOAD_CALENDAR_YEAR_REITS_FAILURE","DELETE_QUESTIONNAIRE_TEMPLATE_FAILURE","CREATE_QUESTIONNAIRE_TEMPLATE_FAILURE","CREATE_CUSTOM_FDR_TEMPLATE_FAILURE","CREATE_CUSTOM_FDR_TEMPLATE_SUCCESS","LOAD_CUSTOM_FDR_TEMPLATES_SUCCESS","LOAD_CUSTOM_FDR_TEMPLATES_FAILURE","CLEAR_CUSTOM_FDR_TEMPLATE_DUPLICATE","SAVE_DEFAULT_FDR_TEMPLATES_FAILURE","SAVE_DEFAULT_FDR_TEMPLATES_SUCCESS","SET_CUSTOM_FDR_TEMPLATE_DUPLICATE","DELETE_TEMPLATE_FAILURE","DELETE_TEMPLATE_SUCCESS","UPDATE_CUSTOM_FDR_TEMPLATES_SUCCESS","SAVE_CUSTOM_QUESTIONNAIRE_TEMPLATE_FAILURE","LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATE_QUESTIONS_SUCCESS","LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATE_QUESTIONS_FAILURE","LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATES_SUCCESS","LOAD_CUSTOM_QUESTIONNAIRE_TEMPLATES_FAILURE","LOAD_PSQ_TEMPLATES_SUCCESS","LOAD_PSQ_TEMPLATES_FAILURE","LOAD_BULK_REPORT_PACKAGES_SUCCESS","LOAD_BULK_REPORT_PACKAGES_FAILURE","LOAD_BULK_REPORT_PACKAGES_ETA_SUCCESS","LOAD_BULK_REPORT_PACKAGES_ETA_FAILURE","UPDATE_BULK_REPORT_PACKAGE_ETA","RECEIVE_BULK_REPORT_PACKAGE_MESSAGE","CREATE_BULK_REPORT_PACKAGES_SUCCESS","CREATE_BULK_REPORT_PACKAGES_FAILURE","DELETE_BULK_REPORT_PACKAGES_FAILURE","SET_AUTHENTICATION_SCOPE","SAVE_CHECKLIST_DELIVERY_SCHEDULE_FAILURE","LOAD_CHECKLIST_DELIVERY_SCHEDULE_SUCCESS","LOAD_CHECKLIST_DELIVERY_SCHEDULE_FAILURE","LOAD_CHECKLIST_CALENDAR_YEARS_SUCCESS","LOAD_CHECKLIST_CALENDAR_YEARS_FAILURE","LOAD_CHECKLIST_CALENDAR_YEARS_BY_CLIENT_AND_TYPE_SUCCESS","LOAD_CHECKLIST_CALENDAR_YEARS_BY_CLIENT_AND_TYPE_FAILURE","RESET_CHECKLIST_DELIVERY_SCHEDULE_SUCCESS","RESET_CHECKLIST_DELIVERY_SCHEDULE_FAILURE","LAST_CLICKED_TAB_CHECKLIST_QUESTION_ID","DELETE_CHECKLIST_ATTACHMENT_SUCCESS","DELETE_CHECKLIST_ATTACHMENT_FAILURE","LOAD_CHECKLIST_FILES_SUCCESS","LOAD_CHECKLIST_FILES_FAILURE","ALLOW_UPDATE__REPORT_PERIOD_VISIBILITY_CONSTRAINT_SUCCESS","ALLOW_UPDATE__REPORT_PERIOD_VISIBILITY_CONSTRAINT_FAILURE","LOAD_EXTERNAL_CHECKLIST_LIST_SUCCESS","LOAD_EXTERNAL_CHECKLIST_LIST_FAILURE","SAVE_NEW_CHECKLIST_COMMENT_SUCCESS","SAVE_NEW_CHECKLIST_COMMENT_FAILURE","CLEAR_ERROR_RESPONSE","CLEAR_USERS_MESSAGE","CREATE_CHECKLIST_FAILURE","CREATE_CHECKLIST_SUCCESS","CREATE_CLIENT_SUCCESS","CREATE_CLIENT_FAILURE","CREATE_DISTRIBUTION_SUCCESS","CREATE_DISTRIBUTION_FAILURE","CREATE_DISTRIBUTION_TAXABLE_INCOME_SUCCESS","CREATE_DISTRIBUTION_TAXABLE_INCOME_FAILURE","CREATE_SECURITIES_SNAPSHOT_SUCCESS","CREATE_SECURITIES_SNAPSHOT_FAILURE","CREATE_SERVICES_SUCCESS","CREATE_SERVICES_FAILURE","DELETE_CHECKLIST_CLEAR","DELETE_CHECKLIST_FAILURE","DELETE_CHECKLIST_SUCCESS","DELETE_DISTRIBUTION_SUCCESS","DELETE_DISTRIBUTION_FAILURE","DELETE_SECURITIES_SNAPSHOT_SUCCESS","DELETE_SECURITIES_SNAPSHOT_FAILURE","DELETE_TRS_SUCCESS","DELETE_TRS_FAILURE","ERROR","LOAD_ALL_REITS_FAILURE","LOAD_ALL_RIETS_SUCCESS","LOAD_ARQC_CHECKLIST_SUCCESS","LOAD_ARQC_CHECKLIST_FAILURE","LOAD_ASSET_DETAIL_SUCCESS","LOAD_ASSET_DETAIL_FAILURE","LOAD_ASSET_DETAILS_FOR_YEAR_FAILURE","LOAD_ASSET_DETAILS_FOR_YEAR_SUCCESS","LOAD_ASSET_SUMMARY_SUCCESS","LOAD_ASSET_SUMMARY_FAILURE","LOAD_CLIENT_FAILURE","LOAD_CLIENT_SUCCESS","LOAD_CLIENTS_FAILURE","LOAD_CLIENTS_SUCCESS","LOAD_EXTERNAL_CHECKLISTS_CLIENTS_SUCCESS","LOAD_EXTERNAL_CHECKLISTS_CLIENTS_FAILURE","LOAD_CLIENT_ACCOUNT_DATA_SUCCESS","LOAD_CLIENT_ACCOUNT_DATA_FAILURE","LOAD_COA_SUCCESS","LOAD_COA_FAILURE","LOAD_CHART_MAPPINGS_SUCCESS","LOAD_CHART_MAPPINGS_FAILURE","LOAD_COA_DETAIL_GROUP_MAPPINGS_SUCCESS","LOAD_COA_DETAIL_GROUP_MAPPINGS_FAILURE","LOAD_DETAIL_GROUPS_MAPPINGS_SUCCESS","LOAD_DETAIL_GROUPS_MAPPINGS_FAILURE","LOAD_DISTRIBUTION_DETAIL_SUCCESS","LOAD_DISTRIBUTION_DETAIL_FAILURE","LOAD_DISTRIBUTION_TAXABLE_INCOME_SUCCESS","LOAD_DISTRIBUTION_TAXABLE_INCOME_FAILURE","LOAD_DISTRIBUTION_TEST_SUMMARY_SUCCESS","LOAD_DISTRIBUTION_TEST_SUMMARY_FAILURE","LOAD_EXTERNAL_ARQC_SUCCESS","LOAD_EXTERNAL_ARQC_FAILURE","LOAD_EXTERNAL_PSQ_SUCCESS","LOAD_EXTERNAL_PSQ_FAILURE","EXTERNAL_ARQC_EXCLUDE_UPDATING_CURRENT_CHECKLIST_SUCCESS","EXTERNAL_PSQ_EXCLUDE_UPDATING_CURRENT_CHECKLIST_SUCCESS","LOAD_FILES_FAILURE","LOAD_FILES_SUCCESS","LOAD_FINAL_REPORT_FAILURE","LOAD_FINAL_REPORT_SUCCESS","LOAD_LAST_TRIAL_BALANCE_FAILURE","LOAD_LAST_TRIAL_BALANCE_SUCCESS","LOAD_LAST_PROPERTY_TRIAL_BALANCE_FAILURE","LOAD_LAST_PROPERTY_TRIAL_BALANCE_SUCCESS","LOAD_LAST_REIT_PROPERTY_TRIAL_BALANCE_SUCCESS","LOAD_LAST_REIT_PROPERTY_TRIAL_BALANCE_FAILURE","LOAD_LAST_CONSOLIDATED_PROPERTY_TRIAL_BALANCE_SUCCESS","LOAD_LAST_CONSOLIDATED_PROPERTY_TRIAL_BALANCE_FAILURE","LOAD_INCOME_DETAIL_SUCCESS","LOAD_PROPERTY_DETAIL_SUCCESS","LOAD_PROPERTY_DETAIL_FAILURE","DELETE_PROPERTY_FAILURE","DELETE_PROPERTY_SUCCESS","LOAD_INCOME_DETAIL_FAILURE","LOAD_INCOME_TEST_SUMMARY_SUCCESS","LOAD_INCOME_TEST_SUMMARY_FAILURE","LOAD_MAPPING_SUCCESS","LOAD_MAPPING_FAILURE","LOAD_PERIOD_SUCCESS","LOAD_PERIOD_FAILURE","LOAD_PERIOD_MAPPINGS_SUCCESS","LOAD_PERIOD_MAPPINGS_FAILURE","LOAD_PERIODS_BY_CLIENT_ID_SUCCESS","LOAD_PERIODS_BY_CLIENT_ID_FAILURE","LOAD_PERIOD_MAPPINGS_BALANCES_SUCCESS","LOAD_PERIOD_MAPPINGS_BALANCES_FAILURE","LOAD_PREVIOUS_ARQC_CHECKLIST_FAILURE","LOAD_PREVIOUS_ARQC_CHECKLIST_SUCCESS","LOAD_PREVIOUS_PSQ_CHECKLIST_FAILURE","LOAD_PREVIOUS_PSQ_CHECKLIST_SUCCESS","LOAD_PROPERTIES_SUCCESS","LOAD_PROPERTIES_FAILURE","LOAD_PROPERTY_SUCCESS","LOAD_PROPERTY_FAILURE","LOAD_PROPERTY_ITSI_SUCCESS","LOAD_PROPERTY_ITSI_FAILURE","LOAD_PSQ_CHECKLIST_SUCCESS","LOAD_PSQ_CHECKLIST_FAILURE","LOAD_REIT_FAILURE","LOAD_RIET_SUCCESS","LOAD_REITS_FAILURE","LOAD_REITS_SUCCESS","LOAD_REITS_EXTERNAL_FAILURE","LOAD_REITS_EXTERNAL_SUCCESS","LOAD_REITS_FOR_MO_FAILURE","LOAD_REITS_FOR_MO_SUCCESS","LOAD_REPORT_ITEMS_FAILURE","LOAD_REPORT_ITEMS_SUCCESS","LOAD_REPORT_ITEMS_FOR_CLIENT_FAILURE","LOAD_REPORT_ITEMS_FOR_CLIENT_SUCCESS","LOAD_SECURITIES_SNAPSHOTS_FAILURE","LOAD_SECURITIES_SNAPSHOTS_SUCCESS","GET_INCOMPLETE_SECURITIES_SNAPSHOTS_FAILURE","GET_INCOMPLETE_SECURITIES_SNAPSHOTS_SUCCESS","RELOAD_INCOMPLETE_SECURITIES_SNAPSHOTS_SUCCESS","LOAD_TB_SUMMARY_SUCCESS","LOAD_TB_SUMMARY_FAILURE","LOAD_SERVICES_SUCCESS","LOAD_SERVICES_FAILURE","LOAD_NAVIGATION_SERVICES_SUCCESS","LOAD_NAVIGATION_SERVICES_FAILURE","LOAD_AVAILABLE_SERVICES_SUCCESS","LOAD_AVAILABLE_SERVICES_FAILURE","LOAD_TEST_SNAPSHOTS_FAILURE","LOAD_TEST_SNAPSHOTS_SUCCESS","LOAD_TRSES_FAILURE","LOAD_TRSES_SUCCESS","LOAD_TB_ADJUSTMENTS_FAILURE","LOAD_TB_ADJUSTMENTS_SUCCESS","LOAD_TB_ITEM_FAILURE","LOAD_TB_ITEM_SUCCESS","LOAD_TB_ITEMS_FAILURE","LOAD_TB_ITEMS_SUCCESS","LOGIN_FAILURE","LOGIN_SUCCESS","LOGOUT","REPORT_ITEM_SELECTION_TOGGLE","SET_ARQC_ACTIVE_CHECKLIST_SUCCESS","SET_PSQ_ACTIVE_CHECKLIST_SUCCESS","TASK_BEGIN","TASK_END","UPDATE_PENDING_TASKS","TOGGLE_CLIENT_ACTIVE_FLAG_FAILURE","TOGGLE_REIT_ACTIVE_FLAG_FAILURE","UPDATE_CHECKLIST_SUCCESS","UPDATE_CHECKLIST_FAILURE","UPDATE_CLIENT_SUCCESS","UPDATE_CLIENT_FAILURE","UPDATE_DISTRIBUTION_SUCCESS","UPDATE_DISTRIBUTION_FAILURE","UPDATE_PERIOD_STATUS_SUCCESS","UPDATE_PERIOD_STATUS_FAILURE","UPDATE_PROPERTY_SUCCESS","UPDATE_PROPERTY_FAILURE","DELETE_PROPERTY_DETAIL_FAILURE","DELETE_PROPERTY_DETAIL_SUCCESS","UPDATE_SECURITIES_SNAPSHOT_SUCCESS","UPDATE_SECURITIES_SNAPSHOT_FAILURE","UPDATE_TRS_SUCCESS","UPDATE_TRS_FAILURE","UPLOAD_FILE_CLEAR","UPLOAD_FILE_FAILURE","UPLOAD_FILE_SUCCESS","UPLOAD_FINAL_REPORT_CLEAR","UPLOAD_FINAL_REPORT_FAILURE","UPLOAD_FINAL_REPORT_SUCCESS","UPLOAD_TB_CLEAR","UPLOAD_TB_FAILURE","UPLOAD_TB_SUCCESS","UNLOAD_CLIENT","UNLOAD_REIT","UNLOAD_PERIOD","UNLOAD_PROPERTY","UNLOAD_TESTS","UNLOAD_FILE_MANAGEMENT","UNLOAD_SERVICES","UNLOAD_NAVIGATION_SERVICES","LOAD_AUTHORIZATION_RESOURCE_SUCCESS","LOAD_AUTHORIZATION_RESOURCE_FAILURE","LOAD_CURRENT_USER_AUTHORIZATIONS_FAILURE","LOAD_CURRENT_USER_AUTHORIZATIONS_SUCCESS","LOAD_MANAGED_RESOURCES_SUCCESS","LOAD_MANAGED_RESOURCES_FAILURE","LOAD_UNMANAGED_RESOURCES_SUCCESS","LOAD_UNMANAGED_RESOURCES_FAILURE","LOAD_MANAGED_ROLES_SUCCESS","LOAD_MANAGED_ROLES_FAILURE","LOAD_UNMANAGED_ROLES_SUCCESS","LOAD_UNMANAGED_ROLES_FAILURE","LOAD_AUTHORIZATIONS_SUCCESS","LOAD_AUTHORIZATIONS_FAILURE","LOAD_AUTHORIZATION_SUCCESS","LOAD_AUTHORIZATION_FAILURE","CREATE_AUTHORIZATION_SUCCESS","CREATE_AUTHORIZATION_FAILURE","UPDATE_AUTHORIZATION_SUCCESS","UPDATE_AUTHORIZATION_FAILURE","REMOVE_AUTHORIZATION_SUCCESS","REMOVE_AUTHORIZATION_FAILURE","TB_PROCESSING_COMPLETE","TB_PROCESSING_FAILED","TB_PROCESSING_COMPLETE_NOTIFIED","PERCENTAGE_OF_OWNERSHIP_UPDATE_SUCCESS","PERCENTAGE_OF_OWNERSHIP_UPDATE_FAILURE","CREATE_MAPPING_ALL_REITS_SUCCESS","CREATE_MAPPING_ALL_REITS_FAILURE","ADD_NOTIFICATIONS_FAILURE","ADD_NOTIFICATIONS_SUCCESS","GET_NOTIFICATIONS_SUCCESS","TOGGLE_NOTIFICATIONS_DISPLAY","SHOW_BULK_UPLOAD_MODAL","HIDE_BULK_UPLOAD_MODAL","TB_UPLOAD_CLEAR","TB_UPLOAD_COMPLETE","TB_UPLOAD_FAILED","TB_UPLOAD_PROGRESS","TB_UPLOAD_START","TB_ADD_FILES_TO_QUEUE","LOAD_QUEUE_COUNT_SUCCESS","LOAD_QUEUE_COUNT_FAILURE","AUTHENTICATION_TOKEN_EXPIRED","AUTHENTICATION_TIMER_UPDATED","EDIT_SAVED_CHECKLIST_COMMENT_SUCCESS","EDIT_SAVED_CHECKLIST_COMMENT_FAILURE","DELETE_SAVED_CHECKLIST_COMMENT_SUCCESS","DELETE_SAVED_CHECKLIST_COMMENT_FAILURE","CREATE_CUSTOM_QUESTION_SUCCESS","CREATE_CUSTOM_QUESTION_FAILURE","LOAD_CUSTOM_QUESTIONS_SUCCESS","LOAD_CUSTOM_QUESTIONS_FAILURE","UPDATE_CUSTOM_QUESTION_SUCCESS","UPDATE_CUSTOM_QUESTION_FAILURE","DELETE_CUSTOM_QUESTION_SUCCESS","DELETE_CUSTOM_QUESTION_FAILURE","LOAD_ALL_REIT_LOOKUPTYPES_SUCCESS","LOAD_PROPERTY_TYPES_SUCCESS","LOAD_PSQ_PROPERTY_TYPES_SUCCESS","LOAD_ALL_PROPERTY_TYPES_SUCCESS","UPDATE_CHART_AS_DEFAULT_FAILURE","UPDATE_CHART_NAME_FAILURE","UPLOAD_CHART_FAILURE","UPLOAD_CHART_SUCCESS","LOAD_ALL_CHARTOFACCOUNT_TYPES_SUCCESS","SYNC_REIT_TESTSING_ATTRIBUTES_REIT_PROPERTY_FAILURE","SYNC_REIT_TESTSING_ATTRIBUTES_REPORT_PERIOD","DOWNLOAD_TB_TEMPLATE_FAILURE","LOAD_REIT_FILES_SUCCESS","LOAD_REIT_FILES_FAILURE","UPLOAD_REIT_FILE_SUCCESS","UNLOAD_REIT_FILE_MANAGEMENT","LOAD_MANAGE_CHECKLIST_SUCCESS","LOAD_MANAGE_CHECKLIST_FAILURE","LOAD_EXTERNAL_CHECKLIST_SUCCESS","LOAD_EXTERNAL_CHECKLIST_FAILURE","ADD_CHECKLIST_USERS_FAILURE","ADD_CHECKLIST_USERS_SUCCESS","DELETE_CHECKLIST_USERS_FAILURE","DELETE_CHECKLIST_USERS_SUCCESS","DELETE_CHECKLISTS_FAILURE","DELETE_CHECKLISTS_SUCCESS","RESEND_CHECKLISTS_FAILURE","EXPORT_CHECKLIST_SUMMARY_FAILURE","EXPORT_CHECKLIST_SUMMARY_SUCCESS","UPDATE_CHECKLISTS_STATE_FAILURE","UPDATE_CHECKLISTS_STATE_SUCCESS","APPROVE_DENY_CHECKLISTS_REQUEST_FAILURE","APPROVE_DENY_CHECKLISTS_REQUEST_SUCCESS","REFRESH_MANAGE_CHECKLIST_CLIENT","REOPEN_CHECKLIST_REQUESTS_FAILURE","SUBMITFOREYREVIEW_REQUESTS_FAILURE","SIGNOFF_CHECKLIST_REQUESTS_FAILURE","LOAD_CUSTOM_PSQ_TEMPLATE_SUCCESS","LOAD_CUSTOM_PSQ_TEMPLATE_FAILURE","LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLE_SUCCESS","LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLE_FAILURE","DELETE_CUSTOM_PSQ_TEMPLATE_SUCCESS","DELETE_CUSTOM_PSQ_TEMPLATE_FAILURE","CREATE_CUSTOM_PSQ_TEMPLATE_SUCCESS","CREATE_CUSTOM_PSQ_TEMPLATE_FAILURE","DELETE_TEMPLATE_QUESTION_FAILURE","LOAD_ALL_CUSTOM_CHECKLIST_TEMPLATE_LOOKUPTYPES_SUCCESS","LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLEBYID_SUCCESS","LOAD_CUSTOM_QUESTIONNAIRE_AVAILABLEBYID_FAILURE","UPSERT_CUSTOM_PSQ_TEMPLATE_SUCCESS","UPSERT_CUSTOM_PSQ_TEMPLATE_FAILURE","LOAD_CUSTOM_PSQ_TEMPLATE_CONTENT_SUCCESS","LOAD_CUSTOM_PSQ_TEMPLATE_CONTENT_FAILURE","UPDATE_CHECKLIST_TEMPLATE_TO_LOCK_UNLOCK_SUCCESS","UPDATE_CHECKLIST_TEMPLATE_TO_LOCK_UNLOCK_FAILURE","UPDATE_CHECKLIST_TEMPLATE_TO_ENABLE_EDIT_MODE_SUCCESS","UPDATE_CHECKLIST_TEMPLATE_TO_ENABLE_EDIT_MODE_FAILURE","PERSIST_UNCOMMITTED_TEMPLATE_SECTION_CHANGES_FAILURE","COMMIT_TEMPLATE_SECTION_CHANGES_FAILURE","ABANDON_TEMPLATE_SECTION_CHANGES_FAILURE","LOAD_CHECKLIST_TEMPLATE_SUCCESS","LOAD_CHECKLIST_TEMPLATE_FAILURE","CHECKLIST_SCHEDULED_DELIVERY_SUCCESS","CHECKLIST_SCHEDULED_DELIVERY_FAILURE","UPLOAD_CHECKLIST_DELIVERY_SCHEDULE_FAILURE","UPLOAD_CHECKLIST_DELIVERY_SCHEDULE_SUCCESS","LOAD_ATTACHMENTDETAIL_SUCCESS","LOAD_ATTACHMENTDETAIL_FAILURE","LOAD_QUESTION_COMMENTS_SUCCESS","LOAD_QUESTION_COMMENTS_FAILURE","CHECKLIST_NAVIGATION_COUNTER_SUCCESS","CHECKLIST_NAVIGATION_COUNTER_FAILURE","DELETE_ATTACHMENT_FAILURE","DELETE_COMMENT_FAILURE","LOAD_QUESTION_DISCREPANCIES_SUCCESS","LOAD_QUESTION_DISCREPANCIES_FAILURE","SAVE_COMMENT_SUCCESS","SAVE_COMMENT_FAILURE","INSERT_SERVICE_PROVIDER_QUESTION_FAILURE","REMOVE_SERVICE_PROVIDER_QUESTION_FAILURE","LOAD_LAST_SERVICE_PROVIDER_QUESTION_ID_SUCCESS","LOAD_LAST_SERVICE_PROVIDER_QUESTION_ID_FAILURE","DELETE_AUTH_FAILURE","LOAD_USER_PROFILE_PICTURE_SUCCESS","LOAD_USER_PROFILE_PICTURE_FAILURE","UPDATE_PSQ_COMPLETION_REQ_STATUS_SUCCESS","UPDATE_PSQ_COMPLETION_REQ_STATUS_FAILURE","UPDATE_IS_LOCKED_FOR_MISSING_DELETION_APPROVAL_OR_EXCEPTION_STATUS_SUCCESS","UPDATE_IS_LOCKED_FOR_MISSING_DELETION_APPROVAL_OR_EXCEPTION_STATUS_FAILURE","CUSTOM_QUESTION_FETCH_LOCK_STATUS_SUCCESS","CUSTOM_QUESTION_FETCH_LOCK_STATUS_FAILURE","CUSTOM_QUESTION_INTENT_LOCK_UPDATE_SUCCESS","CUSTOM_QUESTION_INTENT_LOCK_UPDATE_FAILURE","LOAD_BULK_PROCESS_MANAGEMENT_DATA_SUCCESS","LOAD_BULK_PROCESS_MANAGEMENT_DATA_FAILURE","LOAD_BULK_PROCESS_MANAGEMENT_DATA_REFRESH","RECEIVE_BULK_PROCESS_STATUS_UPDATE_MESSAGE","RECEIVE_BULK_PROCESS_STATUS_CONCURRENT_UPDATE_MESSAGE","INITIATE_BULK_PROCESS_SUCCESS","INITIATE_BULK_PROCESS_FAILURE","LOAD_BULK_ROLL_FORWARD_DATA_SUCCESS","LOAD_BULK_ROLL_FORWARD_DATA_FAILURE","INITIATE_BULK_ROLL_FORWARD_PROCESS_SUCCESS","INITIATE_BULK_ROLL_FORWARD_PROCESS_FAILURE","RECEIVE_BULK_ROLL_FORWARD_STATUS_UPDATE_MESSAGE","LOAD_BULK_ROLL_FORWARD_DATA_REFRESH","RECEIVE_BULK_ROLL_FORWARD_STATUS_CONCURRENT_UPDATE_MESSAGE","MOTIF_THEME","LOAD_DATA_RETENTION_MANAGEMENT_DATA_SUCCESS","LOAD_DATA_RETENTION_MANAGEMENT_DATA_FAILURE","ACTION_DATA_RETENTION_MANAGEMENT_FAILURE","LOAD_DATA_PURGE_DATA_SUCCESS","LOAD_DATA_PURGE_DATA_FAILURE","ACTION_DATA_PURGE_FAILURE","DATA_DELETION_LOAD_CALENDAR_YEARS_FAILURE","LOAD_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_SUCCESS","LOAD_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_FAILURE","CREATE_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_SUCCESS","CREATE_DATA_PURGE_USER_ACKNOWLEDGEMENT_HISTORY_FAILURE","LOAD_UPCOMING_DATA_DELETION_NOTICE_DETAILS_SUCCESS","LOAD_UPCOMING_DATA_DELETION_NOTICE_DETAILS_FAILURE","LOAD_DATA_PURGE_APPROVED_STATUS_FAILURE","LOAD_FEATURE_FLAGS_SUCCESS","LOAD_FEATURE_FLAGS_FAILURE","LOAD_DATA_PURGE_DIAGDATA_SUCCESS","LOAD_DATA_PURGE_DIAGDATA_FAILURE","ACTION_RUN_DATA_DELETION_FAILURE","LOAD_CAN_SWITCH_TYPE_FAILURE","LOAD_CAN_SWITCH_TYPE_SUCCESS","LOAD_External_User_Data_Visibility_SUCCESS","LOAD_External_User_Data_Visibility_FAILURE","ACTION_External_User_Data__Hide_Visibility_SUCCESS","ACTION_External_User_Data__Hide_Visibility_FAILURE","ACTION_External_User_Data__UnHide_Visibility_SUCCESS","ACTION_External_User_Data__UnHide_Visibility_FAILURE","SERVER_ERROR","UNKNOWN","VALIDATION_FAILED","ErrorCodes","defaultErrorResponse","ErrorResponses","isErrorResponse","responseBody","errorCode","errorResponse","ErrorCode","ErrorResponse","dispatchErrorAndEndTask","dispatch","actionType","error","console","message","Message","_defineProperty","type","dispatchError","buildAuthHeader","checklistId","checklistType","concat","authentication","remainingTime","currentUser","idToken","accessToken","msalInstance","pendingTasks","customQuestionnaire","templates","templateQuestions","customQuestionList","lookupTypes","propertyTypes","psqPropertyTypes","propertyClasses","tenantTypes","propertyParkingTypes","reitTypes","organizationTypes","clientAccountCategories","reitTestingAttributes","prePopulateAnswerOptions","customFdrTemplate","duplicate","chartOfAccounts","chartMappings","chartOfAccountsManager","charts","duplicateClientAccount","lastClickedTabChecklistQuestionId","activeArqcChecklist","previousArqcChecklist","activePsqChecklist","previousPsqChecklist","arqcChecklists","checklistFiles","allowUpdateReportPeriodVisibilityConstraintResult","checklistList","assetDetails","varianceDetails","addedAccounts","modifiedAccounts","removedAccounts","distributionDetails","distributionTaxableIncome","reportPeriod","reportPeriodId","value","incomeDetails","propertyDetails","deletePropertyDetail","propertyItsi","assetSummary","tests","title","isPassing","percent","newAccounts","deletedAccounts","distributionTestSummary","incomeTestSummary","files","reitFiles","testSnapshots","isAuthenticated","taxableReitSubsidiaries","clients","client","reitsForMO","reits","externalReits","reit","period","periods","properties","property","purchaseDate","Date","toISOString","purchasePrice","psqChecklists","selectedReportItems","availableReportItems","securitiesSnapshots","dismissUsersMessage","services","navigationServices","lastTrialBalance","lastPropertyTrialBalance","lastConsolidatedTrialBalance","finalReport","trialBalanceSummary","trialBalanceItem","trialBalanceAdjustments","trialBalanceItems","isAuthorized","authorization","authorizations","currentUserAuthorizations","deletedChecklist","periodMappings","periodMappingsBalances","mapping","coaDgms","detailGroupMappings","trialBalanceStatus","notifications","showNotifications","showBulkUploadModal","uploadProgress","uploadQueue","uploadProcesses","processingQueueCount","checklistDeliveryCalendar","checklistCalendarYears","authenticationScope","psqTemplates","bulkReportPackages","toggleReloadBulkReportPackages","bulkReportPackagesETA","manageChecklists","extChecklists","externalChecklists","calendarYears","refreshManageChecklistClientId","selectedCustomPsqTemplate","clientID","templateID","templateName","templateInitializationType","copiedFromTemplateName","isCommitted","sections","sectionID","sectionName","sectionSortOrder","sectionIsLocked","questions","checklistTemplateSectionQuestionID","questionID","questionSortOrder","parentQuestionID","questionText","questionHelpText","questionTag","questionTypeID","questionTypeDescription","systemRuleJSON","childQuestionDisplayRule","sectionDisplayRuleJSON","isLocked","picklistItems","picklistItemName","childQuestions","customPsqTemplateDetails","checklistTemplateName","availableQuestion","availableQuestionByID","createdCustomTemplateId","checklistDeliverySchedules","attachmentDetails","activeCustomPsqTemplateContent","questionComments","checklistCounter","discrepanciesDetail","lastServiceProviderQuestionId","userProfilePictureUrl","customQuestionLockStatus","isQuestionAvailableForEdit","isIntentExtensionAvailable","lockMode","lockExpirationDateTime","validationResult","intentLockUpdateResult","isIntentLockUpdateSuccessful","bulkProcessManagementData","dataRetentionManagementData","bulkRollForwardData","dataPurgeConfigurationData","dataPurgeUserAcknowledgementHistoryData","upcomingDataDeletionNoticeData","motifThemes","featureFlags","dataDeletionDiagnosticData","externalUserVisibilityData","incompleteSecuritiesSnapshots","actions","initialState","pendingTasksReducer","state","arguments","length","undefined","action","Math","max","payload","assetDetail","distributionDetail","incomeDetail","propertyDetail","allReits","reitsExternal","Array","isArray","items","securitiesSnapshotReducer","_toConsumableArray","Object","assign","securitiesSnapshot","filter","id","trs","arqcActiveChecklistReducer","activeChecklist","arqcLoadChecklistsReducer","arqcPreviousChecklistReducer","arqcChecklist","psqLoadChecklistsReducer","psqActiveChecklistReducer","psqPreviousChecklistReducer","psqChecklist","checklistFilesReducer","reportPeriodVisibilityConstraintReducer","externalChecklistListReducer","usersMessage","tbUploadSuccess","propertiesReducer","propertyReducer","deletePropertyDetailReducer","externalPsqReducer","externalArqcReducer","fileUploadSuccess","trialBalanceSummaryReducer","trialBalanceAdjustmentsReducer","trialBalanceItemReducer","trialBalanceItemsReducer","finalReportUploadSuccess","authReducer","managedResources","unmanagedResources","managedRoles","unmanagedRoles","authorizationsReducer","deletedChecklistReducer","checklist","PENDING","UPLOADED","PROCESSING","COMPLETED","FAILED","statuses","uploadId","fileName","status","addOrUpdateItem","item","newState","idx","findIndex","e","push","progress","filesToProcess","slice","count","questionId","checklistDeliveryCalendarReducer","checklistCalendarYearsReducer","authenticationScopeReducer","customQuestionnaireReducer","customQuestionnaireTemplates","psqTemplateReducer","formatETA","etaInSeconds","minutes","floor","seconds","formattedETA","join","bulkReportPackageReducer","_objectSpread","foundPackage","find","row","bulkReportPackageID","BulkReportPackageID","map","bulkReportPackageStatusID","BulkReportPackageStatusID","bulkReportStatusDescription","BulkReportStatusDescription","etaBulkReportPackage","etas","eta","toLowerCase","includes","etaIndex","estimatedTimeRemainingSeconds","i","split","trim","bulkReportPackageETAReducer","customFdrTemplateReducer","customFdrTemplates","fdrTemplates","defaultFdrTemplates","filteredTemplates","template","fdrTemplateID","fdrTemplateId","updatedFdrTemplateList","chartOfAccountsManagerReducer","lookupTypesReducer","propertyTypesArray","psqPropertyTypesArray","fetchedTypes","questionTypes","manageChecklistReducer","externalChecklistReducer","externalChecklistsClientsReducer","checklistCalendarYearsByTypeReducer","refreshManageChecklistClient","clientId","customPsqTemplateReducer","customPsqTemplate","availableQuestionReducer","availableQuestionDetail","availableQuestionByIdReducer","createCustomPsqTemplateReducer","templateId","checklistDeliverySchedulesReducer","attachmentDetailReducer","customPsqTemplateContentReducer","customPsqTemplateContent","customPsqTemplateDetailsReducer","checklistTemplateResponse","questionCommentsReducer","checklistsCounterReducer","questionDiscrepanciesReducer","lastServiceProviderQuestionIdReducer","userProfilePictureReducer","blobUrl","customQuestionIntentLockUpdateResultReducer","customQuestionLockStatusResultReducer","bulkProcessManagementDataReducer","reitid","REITID","reportPeriodID","ReportPeriodID","signOffStatus","SignOffStatus","arqc","ARQC","assetTesting","AssetTesting","distributionTesting","DistributionTesting","incomeTesting","IncomeTesting","isActive","IsActive","isAudit","IsAudit","isReitAvailableForSelection","IsReitAvailableForSelection","leaseReview","LeaseReview","psq","PSQ","reitSelection","reitName","REITName","bulkRollForwardDataReducer","isReitActive","IsReitActive","currentPeriod","CurrentPeriod","nextAvailablePeriod","NextAvailablePeriod","bulkRollForwardStatusDescription","BulkRollForwardStatusDescription","themeServices","dataRetentionManagementDataReducer","dataPurgeConfigurationDataReducer","dataPurgeUserAcknowledgementHistoryDataReducer","upcomingDataDeletionNoticeDataReducer","featureManagementData","dataDeletionDiaognisticDataReducer","externalUserDataVisibilityReducer","incompleteSecuritiesSnapshotsReducer","combineReducers","routerReducer","reducer","formReducer","assetDetailsForYear","externalPsq","externalArqc","oidcReducer","auth","externalChecklistsClients","checklistCalendarYearsByType","availableQuestionById","createCustomPsqTemplate","attachmentDetail","checklistsCounter","userProfilePicture","customQuestionIntentLockUpdateResult","createRootReducer","arqcActiveChecklist","psqActiveChecklist","form","routing","oidc","configureStore","reduxImmutableStateInvariant","createBrowserHistory","history","pendingTasksMiddleware","store","next","result","configureStoreProd","middleware","getDefaultMiddleware","thunk","prepend","preloadedState","configureStoreDev","immutableStateMiddleware","ignore","devTools","window","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","process","env","NODE_ENV","module","hot","accept","newRootReducer","require","replaceReducer","ua","navigator","userAgent","msie","indexOf","msie11","msedge","firefox","isIE","isEdge","isFirefox","msalConfig","AUTH_CLIENT_ID","authority","AUTH_AUTHORITY","redirectUri","location","protocol","hostname","port","postLogoutRedirectUri","cache","cacheLocation","storeAuthStateInCookie","loginRequest","scopes","graphConfig","graphApiV1Root","urlJoin","PublicClientApplication","checkResponseOk","response","ok","Error","statusText","buildHeaders","init","token","getState","defaultHeaders","headers","Authorization","method","Headers","buildHeadersForMicrosoftGraphApi","fetchFromClientApi","resource","rootApiUrl","ROOT_CLIENT_API_URL","fullUrl","fetch","fetchFromReitApi","ROOT_REIT_API_URL","fetchFromTrialBalanceApi","ROOT_TB_API_URL","fetchFromReportApi","ROOT_REPORT_API_URL","fetchFromAuthApi","ROOT_AUTH_API_URL","fetchFromV1MicrosoftGraphApi","actionHelpers","role","fetchAuthorizeResource","resourceId","url","then","json","fetchManagedResources","fetchUnmanagedResources","fetchManagedRoles","fetchUnmanagedRoles","fetchAuthorizations","userId","fetchAuthorizationsForCurrentUser","fetchAuthorization","getMyEyUserByEmail","email","createAuthorization","body","JSON","stringify","updateAuthorization","authUpdate","removeAuthorization","text","jsonResponse","parse","fetchAllowedAuthorizationDomains","getActiveAuthorizations","allAuthorizations","expiration","exDate","today","getTime","isSystemAdministrator","hasMatchingAuthorization","isEngagementAdministrator","isEngagementAdministratorAndDataSteward","hasMatchingAuthorizationAndDataSteward","isUser","Client","User","activeAuthorizations","toString","isDataSteward","POLL_INTERVAL","NOTIFICATIONS_POLL_INTERVAL","MAX_UPLOAD_PROCESSES","FILE_PROPERTIES","RejectedEyDomain","RejectedOtherEYDomain","prePopulateOptions","key","deleteAvailableQuestionMessage","deleteAvailableParentQuestionMessage","defaultPrepopulateAnswer","invalidEmailCreateChecklistHeader","invalidEmailAddUserHeader","rollForwardQuestionComment","reportPeriodQuarter","reportPackagesGroupBy","reportPackagesGroupByValues","reportPackagesFileType","ConsolidatedMappings","REITTrialBalance","PropertyTrialBalance","TestSnapshotFileperREIT","TestSnapshotSingleExcelforselectedREITs","PSQChecklistsWithAnswersOnlyMSWord","PSQChecklistsWithAnswersOnlyPDF","PSQChecklistsWithAnswersandCommentsMSWord","PSQChecklistsWithAnswersandCommentsPDF","PSQChecklistsWithoutAnswersorCommentsMSWord","PSQChecklistsWithoutAnswersorCommentsPDF","PSQChecklistsIncludeChecklistAttachmentsasSeparateFiles","ARQChecklistsWithAnswersOnlyMSWord","ARQChecklistsWithAnswersOnlyPDF","ARQChecklistsWithAnswersandCommentsMSWord","ARQChecklistsWithAnswersandCommentsPDF","ARQChecklistsWithoutAnswersorCommentsMSWord","ARQChecklistsWithoutAnswersorCommentsPDF","ARQChecklistsIncludeChecklistAttachmentsasSeparateFiles","FinalDeliveryReportStandardTemplateMSWord","FinalDeliveryReportStandardTemplatePDF","FinalDeliveryReportCustomTemplateMSWord","FinalDeliveryReportCustomTemplatePDF","FinalDeliveryReportAssignedDefaultsMSWord","FinalDeliveryReportAssignedDefaultsPDF","GeneralandOtherFiles","UserUploadedFinalReport","LeadSheet","REITGeneralFiles","defaultRollFowardQuestionComment","defaultRollFowardQuestionAttachment","defaultRollFowardValue","MAX_UPLOAD_FILE_SIZE_IN_BYTES","MAX_UPLOAD_FILE_SIZE_IN_MB","bulkProcessManagementMessages","toolTipMessage","updateSignOffStatusAction","defaultSelectedServiceScope","emptySelectedServiceScope","dataRetentionNoPermissionMessage","dataRetentionNoRowSelectionMessage","dataRetentionMessageForApprove","dataRetentionMessageForUnApprove","dataRetentionMessageForException","dataRetentionMessageForRemoveException","deactivateClientConfirmationMessage","clientSwitchingConfirmationMessage","clientSwitchingErrorMessage","dataRetentionManagementApprovalCompletedHeader","dataRetentionManagementApprovalCompletedBodyOne","dataRetentionManagementApprovalCompletedBodyTwo","dataRetentionManagementApprovedActionId","dataRetentionManagementApproveActionId","dataRetentionManagementUnApproveActionId","dataRetentionManagementApproveExceptionActionId","dataRetentionManagementRemoveExceptionActionId","dataStewardAssignmentWarningHeader","dataStewardAssignmentWarningBody","dataStewardDeletionWarningHeader","dataStewardDeletionWarningBody","DataPurgeConfigurationParameter_ARQC","DataPurgeConfigurationParameter_Regular","dataDeletionNoRowSelectionMessage","maximumNumberofDataStewardsAllowed","DEFAULT_DOCUMENT_TRANSFER_REMINDER_START_DATE","DEFAULT_DOCUMENT_TRANSFER_REMINDER_END_DATE","DEFAULT_UPCOMING_DATA_DELETION_NOTICE_START_DATE","DEFAULT_UPCOMING_DATA_DELETION_NOTICE_END_DATE_ADDNL_DAYS","REMINDER_TO_SAVE_FILE_OUTSIDE","UPCOMING_DATA_DELETION_NOTICE","SUB_ATTRIBUTE","REMINDER_START_DATE_PARAMETER","REMINDER_END_DATE_PARAMETER","UPCOMING_DATA_DELETION_NOTICE_START_DATE_PARAMETER","UPCOMING_DATA_DELETION_NOTICE_END_DATE_PARAMETER","DELETION_STATUSES","APPROVED","EXCEPTION","IN_PROGRESS","DELETED","Constants","notificationInterval","addOrUpdateNotifications","userName","data","getNotifications","notificationContent","replaceAll","clearAllNotifications","clearNotification","pollNotifications","setInterval","toggleNotificationsDisplay","stopNotificationPolling","clearInterval","download","blob","URL","createObjectURL","a","document","createElement","appendChild","style","href","ext","substr","lastIndexOf","name","replace","substring","fN","truncateFileNameToAGivenCharacterLengthWithExtension","rel","setTimeout","click","parentNode","removeChild","revokeObjectURL","decodeURIComponentSafe","uri","mod","out","String","arr","l","x","decodeURIComponent","originalFileName","maxlength","_originalFileName$spl","_originalFileName$spl2","_slicedToArray","fileExtension","notificationActions","v4","uuidv4","uploadTrialBalance","periodId","file","trialBalancePurpose","propertyId","percentageOfOwnership","formData","FormData","append","getTrialBalanceItem","clearUploadTbSuccess","getTrialBalancesByPeriod","trialBalanceType","authHeader","getLastTrialBalanceByPeriod","purpose","trialBalances","sort","b","entryDate","getLastConsolidatedTrialBalanceByPeriod","getLastPropertyTrialBalanceByPeriod","getAdjustedTrialBalancesByPeriod","downloadTrialBalance","trialBalanceId","contentDisposition","get","filename","deleteTrialBalance","Accept","getMappingsByPeriod","filterByProperty","propertyIdQuery","filterByPropertyQuery","getMappingById","updateMapping","createMappingAllReits","mappingAllReitsResponse","deletePeriodMappings","downloadPeriodMappingsFile","uploadTrialBalanceWithProgress","encodedFile","match","content","notif","notificationType","mime","bstr","atob","n","u8arr","Uint8Array","charCodeAt","File","req","XMLHttpRequest","open","prototype","hasOwnProperty","call","setRequestHeader","addEventListener","upload","total","parseInt","loaded","send","clearUploadTrialBalanceProgress","notifyRejectedFiles","forEach","f","endsWith","MAX_PARALLEL_TB_UPLOADS","addFilesToQueue","notifyStatus","log","fileArrayCopy","sendFiles","filesForThisBatch","shift","fetchQueueCount","downloadTbTemplates","showForInactiveREIT","contentType","responseReturn","hideBulkUploadModal","uploadAccountMappings","fetchUserProfilePictureV1","responseImage","blobResponse","webkitURL","React","useLocation","useNavigate","useParams","useMatches","withRouter","Component","ComponentWithRouterProp","props","navigate","params","matches","_extends","router","PropTypes","MotifIconButton","MotifIcon","MotifDropdown","MotifDropdownItem","MotifAvatar","MotifToggleSwitch","IconoirLogOut","UserAvatarComponent","_ref","isUserDropdownOpen","handleToggleUserDropdownWhenClickedOutside","handleToggleUserDropdown","userEmail","userRole","navToLogoff","handleThemesToggle","isDarkTheme","Fragment","placement","handleClickOutside","trigger","onClick","description","size","src","height","pointerEvents","width","display","flexDirection","flex","margin","className","fontSize","_span","marginLeft","_MotifIcon","iconFunction","fill","_span2","changeMotifTheme","connect","bindActionCreators","authActions","trialBalanceActions","microsoftGraphApiActions","animate","MotifHeader","MotifHeaderLogo","MotifBadge","MotifButton","IconoirUpload","IconoirArchive","IconoirUserStar","IconoirBellNotification","IconoirHelpCircle","withMsal","themeActions","NavBar","_React$Component","context","_this","_classCallCheck","_callSuper","activeMotifIconId","_inherits","_createClass","componentDidMount","render","_this2","showReitFilesNavLink","pathname","showPeriodFilesNavLink","showtbUploadNavLink","pfmActive","manageSystemAdminActive","logoffActive","showHeaderIcons","isSysAdmin","isEngAdmin","isEngUser","user","msalContext","accounts","idTokenClaims","firstName","given_name","lastName","family_name","self","remaining","hasRemaining","handleClick","info","navToSysAdmin","navToFiles","navToReitFiles","navToContactAll","navToMultipleUpload","animation","enter","node","done","start","offsetHeight","active","appear","apply","leave","setNavigationState","handleNotificationToggleDisplay","setState","event","darkTheme","lightTheme","target","checked","classList","remove","add","localStorage","setItem","navToDataRetentionPolicy","fixed","logo","_MotifHeaderLogo","appHeaderName","iconsContainer","clientIsAudit","_MotifIcon2","variant","_MotifIcon3","position","_MotifIcon4","_MotifIcon5","contextTypes","object","mapStateToProps","ownProps","mapDispatchToProps","MotifModal","MotifModalHeader","MotifModalBody","MotifModalFooter","IconoirWarningTriangle","reduxForm","DataStewardAssignmentRequiredModal","showEngagementAdminForDataStewardAssignmentModal","toggleShowEngagementAdminForDataStewardAssignmentModal","show","onClose","headerIcon","color","backgroundColor","strokeWidth","stroke","enableReinitialize","clearClient","clearReit","clearPeriod","clearProperty","clearActions","loadAllClients","excludeInactive","clientData","reitData","_loop","clientReits","c","reitCount","discrepancyCount","reduce","num","r","year","getFullYear","q1TestDate","q2TestDate","q3TestDate","q4TestDate","q1Status","getCombinedStatusFromPeriods","startDate","endDate","reportPeriodTypeDescription","q2Status","q3Status","q4Status","fetchClient","loadClient","loadExternalClient","unloadClient","loadActiveClients","createClient","clientResponse","engagementAdministratorEmail","Administrator","receiveDailyNewsletter","receiveWeeklyNewsletter","receiveRealTimeNotification","updateClient","contactEmail","contactName","contactPhone","engagementNumber","gfisCode","legalName","reitIds","updatePSQCompletionRequirementStatus","psqCompletionRequirementStatus","updateIsLockedForMissingDeletionApprovalOrExceptionStatus","toggleActiveFlagAndReloadClients","notStarted","planned","inProgress","complete","periodCount","reportPeriodStatusDescription","contactAllUsers","subject","isHtml","request","fetchAllClientsSlim","fetchAllActiveClients","resetState","clientsData","activeClients","switchClientType","checkIfClientCanSwitchType","canSwitchType","useState","Link","Outlet","MotifBreadcrumb","MotifBreadcrumbItem","clientActions","Breadcrumbs","theme","endsWithOptionalSlash","str","endsWithStr","redirectToBreadCrumbPath","path","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","isSystemAdmin","isEngagementAdmin","isInDataStewardRoleManagement","_client","shouldShowWarning","wrap","_callee$","_context","prev","preventDefault","abrupt","sent","isLockedForNotHavingDataSteward","toggleShowMinimumDataStewardWarningModal","isLockedForMissingDeletionApprovalOrException","t0","stop","_x","_useState","_useState2","setShowEngagementAdminForDataStewardAssignmentModal","getDisplayName","reitId","reportPeriodDescription","_match$handle","handle","pop","breadcrumbs","filteredMatches","_match$handle2","_x$handle","index","isLastItem","displayName","separator","fetchReits","includeInactive","includeInactiveParam","fetchReitsForMO","includeTrialBalanceFileName","includeTrialBalanceFileNameParam","fetchExternalReits","fetchReitByPeriodId","fetchReit","createReit","updateReit","toggleActiveFlagAndReloadReits","downloadIdList","showInactive","downTbTemplates","fetchReitLookupTypes","fetchExternalReitLookupTypes","fetchCalendarYearReits","calendarYear","calendarYearReits","reitActions","fetchServicesByPeriod","unloadServices","fetchServicesByPeriodWithoutDispatch","fetchNavigationServicesByPeriod","unloadNavigationServices","fetchExternalServicesByPeriod","saveServices","MotifTabNavigation","MotifTabControl","TabbedNavigation","currentLocation","hasIncompleteSecuritySnapshotsList","reitLink","baseLink","currentIndex","hasIncompleteSecuritySnapshot","_hasIncompleteSecurit","repPeriod","tabBar1","setTabBar1","handleActiveTab1","EXTERNAL_LEASE_REVIEW_URL","tabIndex","disabled","TabbedNavigationContainer","Number","ErrorSummaryItem","validationError","MotifToast","ErrorSummary","handleDismiss","validationErrors","fontWeight","stopSubmit","clearErrorResponse","beginTask","endTask","clearFormErrors","formName","createTypes","periodStatuses","NotStarted","Planned","InProgress","ClosedToTesting","ClosedToReporting","Complete","getPeriodFromReit","createPeriod","quarter","shouldRefresh","isShouldRefresh","getCurrentPeriod","savePeriod","trialBalanceMode","fetchPeriodById","fastFetchPeriodById","fastFetchExternalPeriodById","fetchExternalPeriodById","isTestingEnabled","isReportingEnabled","isFileUploadEnabled","fetchReportPeriodsByClientId","MotifTextLink","Notification","onDismissNotification","notificationGUID","completedActionList","failuereActionList","infoActionList","notificationTypeDescription","closeButtonProps","ariaLabel","_br","_br2","to","linkUrl","linkText","Notifications","bind","onDismissAllNotifications","currentUserId","fontStyle","textAlign","notificationID","UploadQueueWatcher","processLoop","processUploadQueue","currentQueueSize","currentProcesses","default","MotifFileUploader","BulkUploadModal","renderUploadProgress","onDrop","getQueueCount","fileStatuses","fileTypes","componentDidUpdate","prevProps","showBulkUpload","timer","acceptedFiles","rejectedFiles","addedStatuses","acceptedFileStatuses","s","rejectedFileStatuses","getClassNameAndMessage","fileSize","_this3","clear","HeaderWrapper","children","alignItems","justifyContent","onDropRejected","label","maxSize","ReitSuiteUsersMessage","expireDate","expireDateObject","todaysDate","_p","MotifFormField","MotifLabel","Footer","marginTop","shouldHideMainErrorSummary","hideErrorSummaryPatterns","some","pattern","test","useEffect","useWindowDimensions","subtractHeight","innerHeight","innerWidth","dimensions","setDimensions","handleResize","removeEventListener","fetchSecuritiesSnapshotByPeriod","saveSecuritiesSnapshot","secruitiesSnapshot","updateSecuritiesSnapshot","securitiesSnapshotID","allSharesFromIssuerValue","issuer","securityName","reitOwnedSharesValue","percentOfVote","isTenPercentValueTestDisabled","isSystemGenerated","deleteSecuritiesSnapshot","getIncompleteSecuritySnapshotDetails","reitID","pageName","getIncompleteSecuritySnapshotDetailsWithoutDispatch","useContext","useRef","useSelector","useDispatch","IconoirNavArrowDown","IconoirXmark","ReactModal","Menu","Segment","Sidebar","commonActionsImported","notificationActionsImported","servicesActionsImported","periodActionsImported","trialBalanceActionsImported","securitiesSnapshotActionsImported","shouldShowTabNav","tabNavPatterns","excludeTabNavPatterns","shouldShowBreadcrumbs","loadingModalStyle","border","top","left","right","bottom","marginRight","transform","overflow","Main","_MotifButton","clientDropdownOpen","setClientDropdownOpen","_useState3","_useState4","handleCloseNotifications","handleDismissErrorMessage","handleDismissUsersMessage","handleClientManagementDropdownToggle","closeClientManagementDropdown","_useSelector","_state$authentication","commonActions","servicesActions","periodActions","securitiesSnapshotActions","closeButtonRef","current","focus","handleTabPageLocation","tabTitle","pages","reverse","getBreadcrumbsAction","links","newClientLink","_React$Fragment","as","dataTestId","dropDownLinks","link","_React$Fragment2","showTabNav","showBreadcrumbs","hideMainErrorSummary","_useWindowDimensions","minHeight","paddingBottom","paddingTop","Pushable","icon","inverted","vertical","visible","direction","_div","ref","Pusher","basic","_Outlet","_Footer","_div2","alt","_UploadQueueWatcher","fetchBulkProcessManagementData","quarterDescription","initiateBulkProcess","isErrored","responseResult","dispatchBulkProcessData","fetchBulkRollForwardData","initiateBulkRollForwardProcess","failureDataState","dispatchBulkRollForwardData","authenticationTimeoutInterval","pollAuthenticationTimeout","updateTimeout","now","diff","remainingTimeMilliseconds","millisToMinutesAndSeconds","stopPollAuthenticationTimeout","setAuthenticationScope","scope","setCurrentUser","upn","millis","toFixed","Header","Button","MaintainLoginModal","showMaintainTemplateModal","handleYes","handleNo","toggleShowMaintainTemplateModal","modalContentInitialState","msg","ACCESS_TOKEN_IDLE_MODAL_EXPIRE_MILLESECONDS","yesButton","noButton","modalContent","setModalContent","modalExpired","setModalExpired","modalTimeout","clearTimeout","handleModalExpireAction","reload","visibility","ToastifyProgressBar","loadFeatureFlags","fetchDataPurgeConfigurationData","fetchDataPurgeUserAcknowledgementHistory","dataPurgeNotificationType","createDataPurgeUserAcknowledgementHistory","getdataPurgeApprovedStatus","fetchUpcomingDataDeletionNoticeDetails","MotifCheckbox","ReminderToSaveFilesOutsideOfREITSuiteModal","showReminderToSaveFilesOutsideOfREITSuiteMsg","toggleReminderToSaveFilesOutsideOfREITSuiteMsg","reminderToSaveFilesAckChecked","handleReminderToSaveFiles","handleUserPreferenceSelectedForReminderToSaveFiles","_MotifModalHeader","closeModalButton","onChange","_MotifLabel","UpcomingDataDeletionNoticeModal","showUpcomingDataDeletionNoticeMsg","toggleUpcomingDataDeletionNoticeMsg","upcomingDataDeletionckChecked","handleUpcomingDataDeletionNotice","handleUserPreferenceSelectedForDataDeletionNotice","scheduledDataPurgeDate","toLocaleString","month","day","_Link","LOG_USER_AUDIT_TRAIL","logUserAuditTrail","auditData","requestOptions","IntlProvider","bulkProcessManagementActions","bulkRollForwardActions","authenticationActions","LicenseManager","axios","signalR","ToastContainer","toast","Slide","featureManagementActions","dataPurgeActions","AuthenticatedTemplate","UnauthenticatedTemplate","InteractionStatus","InteractionRequiredAuthError","setLicenseKey","AG_GRID_UI_LICENSE","App","connection","queueItems","pendingQueueItems","completedQueueItems","toastSystem","createRef","processingToastNotification","lastPathname","establishedUser","isMessageProcessing","messageQueue","updateProcessingDataNotification","getConnectionInfo","executeJoinClient","executeAddToGroup","executeRemoveFromGroup","handleJoinClient","handleCompletedQueueItem","handleResendChecklistCompletedQueueItem","handleCompletedQueueBatch","handleAddNewQueueItems","receiveCompletedQueueItem","receiveAddNewQueueItems","processNextMessage","handleCompletedBulkProcessForAllRequestsOfBatchGUID","handleBulkProcessNotificationClose","handleCompletedBulkReportPackageStatus","handleBulkReportPackageNotificationClose","handleBulkProcessStatusUpdate","handleAddToGroup","handleRemoveFromGroup","hideNotificationAndResetData","handleUserModalLogin","handleUserLogOut","useIdToken","documentTransferReminderDate","upcomingDataDeletionNoticeDate","handleUserAuthorizationUpdate","onFetchAuthorizationsForCurrentUser","createdRouterListener","showMaintainLoginModal","_componentDidMount","idTokenRefreshTimer","ACCESS_TOKEN_IDLE_MODAL_POPUP_MILLESECONDS","_accounts$","instance","getAllAccounts","exp","expDate","curDate","ACCESS_TOKEN_SILENT_REFRESH_MILLESECONDS","isOnClientPage","wasOnClientPage","previousClientId","accessKey","endpoint","options","accessTokenFactory","HubConnectionBuilder","withUrl","withAutomaticReconnect","configureLogging","LogLevel","build","on","onclose","onreconnected","connectionId","reconnectConnectionId","startConnectionId","processingToastNotificationTimeout","HubConnectionState","Disconnected","clientPath","hasClientDatasteward","lastHistoryItem","isAcknowledgementReceived","err","componentWillUnmount","_useIdToken","_callee3","isSilentRefresh","sleep","silentResponse","authRequest","_args3","_callee3$","_context3","ms","Promise","None","account","forceRefresh","acquireTokenSilent","_callee2","_callee2$","_context2","acquireTokenRedirect","pageUrl","loginRedirect","dismiss","dataPurgeNotificationTypeDescription","_this4","_this$props$dataPurge","_this$props$dataPurge2","startDateFromConfig","dataPurgeConfigurationParameter","dataPurgeConfigurationValue","endDateFromConfig","currentYear","startDateTime","endDateTime","_this$props$dataPurge3","_this$props$dataPurge4","endDateAdditionalDaysFromConfig","setDate","getDate","_this5","post","ROOT_REITSUITE_AZURE_FUNCTION_API_URL","resp","hubConnectionId","clientName","processType","_this6","retry","BatchQueueItemID","removeIndex","Id","removedItem","splice","newQueueItem","st","_this7","ClientID","toastVariant","bulkProcessRequestStatusMsg","ActionType","rollForwarddetails","getRollForwardMessageForBottomCorner","FailedRequestsCount","TotalRequestsCount","CompletedRequestsCount","NotApplicableRequestsCount","bulkProcessRequestStatusNotification","autoClose","rollForwardMessage","_this8","UserID","_this9","isCompletedOrFailed","packageStatusMsg","BulkReportPackageName","bulkReportPackageStatusNotification","wordBreak","BulkProcessManagementCurrentStatusData","BulkRollForwardCurrentStatusData","nextMessage","_iterator","_createForOfIteratorHelper","_step","newItem","itemFound","el","ID","BatchId","BatchQueueID","ProcessTypeId","ProcessTypeID","_this10","numOfPending","numOfCompleted","round","autoDismiss","update","locale","closeOnClick","pauseOnHover","draggable","closeButton","hideProgressBar","transition","_NavBar","_UnauthenticatedTempl","ExternalFooter","withWindowDimensions","WrappedComponent","WithWindowDimensionsComponent","windowDimensions","ExternalMain","_prevProps$router","_this$props$router","_this$props","suppressErrorSummary","_Notifications","isPermExternalApp","_ExternalFooter","ExternalNavBar","_MotifHeader","ExternalApp","_IntlProvider","Item","MenuItem","Icon","Label","circular","floating","createContext","PermExternalNavBar","WebSocketContext","PermExternalApp","ws","executeJoinApplication","handleJoinApplication","setUTCSeconds","_args2","isExternalUser","Provider","_PermExternalNavBar","_ExternalMain","ApiError","_Error","_wrapNativeSuper","fetchReport","fetchAssetSummaryWithoutDispatch","tb","fetchAssetSummary","details","fetchAssetDetailsForYear","currentPeriodId","quarterlyPeriods","promises","p","getMonth","all","values","fetchExternalAssetSummaryByChecklistId","fetchVarianceDetails","fetchPropertiesByPeriod","fetchCanDeleteProperty","deleteProperty","fetchExternalPropertiesByPeriod","fastFetchPropertiesByPeriod","fetchFirstPropertyByPeriod","fetchProperty","createProperty","updateProperty","endProperty","clearEndDate","fetchPropertyTypes","FormattedNumber","MotifChip","TestSummaryItem","totalItems","testTitle","colSize","re","hasIncompleteSecurities","hasTenPercentageTitle","testResultPercent","minimumFractionDigits","maximumFractionDigits","FormattedCurrency","_ref$currency","currency","_ref$minimumFractionD","_ref$maximumFractionD","VarianceBalanceDetailsRow","before","clientAccountDescription","balanceDelta","FormattedPercent","percentage","divisor","pow","trunc","VariancePercentageDetailsRow","balanceDeltaPercentage","NewOrRemovedAccountDetailsRow","colSpan","noPercentageVariance","noBalanceVariance","noNewAccounts","noRemovedAccounts","VarianceDetailsTable","testHeader","typeInUse","percentageThreshold","abs","balanceThreshold","filteredModifiedAccountsPercent","ma","reitTestingAttributeCategoryTypeID","filteredModifiedAccountsBalance","filteredAddedAccounts","cad","filteredRemovedAccounts","_tr","_tr2","_tr3","_tr4","_thead","_thead2","_thead3","_thead4","TestSummary","testSummary","showDetails","handleShowDetails","testType","_h","Table","ColumnGroup","Column","Cell","MotifTooltip","BreakoutBalanceColumn","propertyID","isConsolidated","_objectWithoutProperties","_excluded","breakoutItem","breakout","balance","BreakoutPercentageColumn","_excluded2","percentOfGrossTotal","updateCategoryItemsWithUniqueSnapshotId","categories","category","uniqueItems","categoryItem","existingItem","getInnerTables","tbMode","containerWidth","containerHeight","tables","isFourColumn","getDetailTable","getVariableColumnWidth","columnCount","firstColumnWidth","variableColumnCount","variableColumnWidth","absoluteMinimumColumnWidth","getTableWidth","tableWidth","sumOfColumnsWidth","getHeaderHeight","headerHeight","maxLength","propertyName","columnWidth","divideBy","additionalRowsNeeded","additionalHeight","getGroupHeaderHeight","groupColumnsWidth","rows","rowHeight","pctGrossColumnTitle","rowCount","tableHeight","getDescriptionCell","_ref3","rowIndex","_excluded3","_MotifTooltip","rowsCount","header","categoryName","cell","_Cell","_Cell2","_Cell3","_Cell4","_Cell5","_Cell6","_Cell7","_Cell8","_Cell9","getBalanceCell","_ref4","_excluded4","getAllIssuedCell","_ref5","_excluded5","allIssued","getValueCell","_ref6","_excluded6","valueResult","getVoteCell","_ref7","_excluded7","_Cell10","_Cell11","_Cell12","_Cell13","getConsolidatedBreakoutBalanceColumn","_ref8","_excluded8","getConsolidatedBreakoutPercentageColumn","_ref9","_excluded9","columns","_Cell14","getBreakoutBalanceColumn","_ref10","_excluded10","getBreakoutPercentageColumn","_ref11","_excluded11","_Cell15","_Cell16","_Cell17","_Cell18","getBreakoutBalanceColumnForProp","_ref12","_excluded12","getBreakoutPercentageColumnForProp","_ref13","_excluded13","_Cell19","groupHeaderHeight","_Cell20","detailTestTableHelpers","AssetDetailTestTable","trsLinkBuilder","trsLink","securitiesSnapshotLinkBuilder","securitiesSnapshotLink","_MotifButton2","marginBottom","overflowX","tableLayout","AssetDetails","every","d","varianceActions","propertyActions","securitiesActions","AssetDetail","AssetTestPage","trialBalanceModeID","securities","NotFoundPage","LoginPage","_props$hasIncompleteS","isEngagementUser","column","colId","_props$hasIncompleteS2","toggleActiveFlag","handleToggleActiveFlag","_MotifBadge","whiteSpace","handleFilterChanged","gridRef","currentPage","setCurrentPage","setTotalPages","filteredRowData","api","calcTotalPages","paginationGetTotalPages","handleFirstDataRendered","columnApi","autoSizeAllColumns","saveUserPreferenceDetails","localStorageKey","columnState","getColumnState","handleGridColumnsChanged","_currentColumnState$f","currentColumnState","localStorageColumnState","getItem","col","hide","_columnsStateArray$fi","_currentColumnState$f2","columnsStateArray","gridGlobalListener","handleDeselectAll","currentGridPage","paginationGetCurrentPage","globalListenerRef","handleGridReady","setItemsPerPage","removeGlobalListener","addGlobalListener","applyColumnState","applyOrder","handleItemsPerPageChange","val","paginationGoToFirstPage","paginationSetPageSize","tableHeaderClass","MotifPagination","MotifPaginationSelect","MotifPaginationSelectItem","CustomPagination","handlePageChange","totalPages","itemsPerPageOptions","onPageChange","min","option","selected","headerName","useMemo","MotifSearch","MotifTable","AgGridReact","ClientsCellRenderer","CustomHeaderTemplate","ClientList","handleSearchChange","handleClearSearchText","clientSearchText","handleShowInactive","clientsAreLoaded","handleGridChanges","rowData","setRowData","_useState5","_useState6","_useState7","_useState8","itemsPerPage","defaultColDef","minWidth","resizable","sortable","wrapText","autoHeight","setColumnDefs","getColumnDefs","field","showRowGroup","rowGroup","cellRenderer","cellRendererParams","headerComponentParams","comparator","valA","valB","valueGetter","suppressColumnsToolPanel","paginationGoToPage","_useState9","_useState10","columnDefs","_gridRef$current","_gridRef$current2","totalHeight","htmlFor","onSelect","placeholder","searchButtonProps","zebra","compact","accentedSort","rowSelection","suppressRowClickSelection","onGridReady","onFirstDataRendered","pagination","suppressPaginationPanel","paginationPageSize","groupDisplayType","groupSelectsChildren","groupDefaultExpanded","onFilterChanged","deltaRowDataMode","immutableData","getRowNodeId","YesNoModal","showModal","handleYesAction","handleNoAction","identifier","question","onYesClicked","onNoClicked","ReactivateClientModal","showReactivateClientModal","handleReactivateClient","handleCancel","IconoirWarningCircle","DeactivateClientDisplayErrorMessageModal","showDeactivateErrorMessageModal","confirmationMessage","headerTitle","dataTestid","ClientTypeSwitchingConfirmationMessageModal","showClientSwitchingMessageModal","handleClientSwitching","IconoirXmarkCircle","ClientTypeSwitchingErrorMessageModal","showClientSwitchingErrorMessageModal","ClientsPage","filteredClients","currentClientCheckboxHtmlId","gridCurrentState","reloadClients","toggleShowReactivateClientModal","toggleShowDeactivateClientModal","toggleShowClientSwitchingModal","toggleShowClientSwitchingErrorModal","populateHasIncompleteSecuritySnapshots","setFilter","resetGridColumnState","list","clientLegalName","responseData","returnCode","getElementById","reActivateClient","gridRowData","gridRefApi","refreshCells","removeItem","IconoirEditPencil","RelatedReitsRow","onEditClick","onDeleteClick","handleEditClick","handleDeleteClick","reitTypeID","ein","threshold","cursor","allowClick","allowHover","hideCloseButton","padding","maxWidth","RelatedReitsCellRenderer","RelatedReits","handleAddReitClick","canAddReit","suppressMenu","camelize","toUpperCase","toTitleCase","txt","charAt","stringToHash","hash","char","phoneParser","number","numberParser","_value$replace","positiveNumberParser","positiveWholeNumberParser","positiveCurrencyParser","dotIndex","isNaN","indexOfDot","numStr","negative","dgt","parseFloat","startsWith","shallowCompare","obj1","obj2","keys","indexOfWhile","arraysEqual","arraysEqualComplex","useLayoutEffect","useEffectToggle","watchedDependencies","defaultValue","toggleDelayMs","setValue","useInput","initialValue","useWindowSize","setSize","updateSize","usePrevious","formatEin","onlyNums","formatPhone","formatCurrency","formatNumberAllowNegativesAndDecimal","formatPercent","sign","absoluteValue","j","numEnd","numBegin","formatNumberAllowNegatives","formatNumberAllowDecimal","formatNumber","formatDate","lastSlash","onlyDigitsAndSlashes","formatNumberAllowNegativesAndLessThanZero","formatters","generateSubmissionError","minLength","minValue","maxValue","greaterThanValue","greaterThanValueWhen","lessThanValueWhen","required","requiredSelect","requiredMultiSelect","_typeof","minLength2","minValue0","minValue1","maxLength50","maxLength255","maxLength900","maxLength4000","maxLength12000","maxValue100","greaterThan0","greaterThan0AndLessThan10","maxValueInt","maxValueDecimal","BigInt","alphaNumeric","phoneNumber","zipCode","decimal","isValidDate","formattedDate","dateParts","multipleEmails","sendToEmailValidation","sendToEmailsList","emailItem","isWholeNumber","requiredIfQuarterDatePopulated","allValues","split_ids","propertyTypeAppend","rowId","allQuarterFieldsForThisRecord","anyQuarterDatePopulated","valueIsPopulated","noDoubleQuotes","noWindowSpecialChars","noDuplicatePicklistItems","_","currentPicklistItems","maxValueBigInt","maxIntValue","zeroOrGreater","SubmissionError","Dropdown","Form","Select","ReactMultiEmail","errorCodes","errorResponses","stringHelpers","formParsers","arrayHelpers","emailValidator","formValidators","navigationIcArrowDropUp24px","IconoirTrash","IconoirPlus","MotifInput","MotifSelect","MotifOption","MotifInlineMessage","MotifRadioButton","MotifButtonGroup","MotifTextArea","MotifErrorMessage","errorData","_error","element","showSubmissionError","renderReactMultiEmail","input","_ref$meta","meta","touched","warning","myStyle","wrapperClass","handleChange","float","domRef","emails","readonly","_ref$removeEYEmail","removeEYEmail","handleOnInputChange","splicedArray","splitArray","getLabelHandler","removeEmail","defaultChangeHandler","onChangeInputEmail","getLabel","onChangeInput","motifMultiEmailData","unexpandLast","expandId","renderMotifMultiEmail","_ref2$meta","_ref2$float","_ref2$buttonStyle","buttonStyle","_ref2$onExpand","onExpand","_ref2$onCollapse","onCollapse","emailArray","mail","newEmailSet","m","expanded","setExpanded","hoveredIndex","setHoveredIndex","random","shortenEmailText","_text$split","_text$split2","_toArray","beforeAtSymbol","rest","excessLength","newLength","inputProps","buttonText","unexpandedButton","addEmail","isKeyUpEvent","keyCode","newMailSet","Set","buttons","borderStyle","borders","borderLeft","borderRight","borderTop","borderBottom","addInput","onKeyUp","onBlur","autofocus","MOTIF_GREY","MOTIF_LIGHT","renderReactSelect","_ref3$meta","wrapperStyle","clearable","reactSelectOnChange","reactSelectOnBlur","isFocused","setIsFocused","hasValue","setHasValue","selectStyles","provided","isSelected","control","borderRadius","gridColumn","gridRow","singleValue","grid1_1","labelIsUp","labelStyle","onBlurResetsInput","isClearable","isDisabled","styles","renderReactDropdown","_ref4$meta","multiple","fluid","selection","search","fullWidth","openOnFocus","renderField","_ref5$meta","isPercentOwnership","isSubAttribute","inputClassName","labelLocationOnRight","selectStyle","isRequiredField","validation","customFieldName","formatField","formParser","formattedMaxLength","isUpdatedDefaultValue","customFields","_useState11","_useState12","_useState13","_useState14","errorMessage","setErrorMessage","_useState15","_useState16","currentMaxLength","setCurrentMaxLength","initialInputValue","validateCustomField","validate","validator","errorMsg","handleInputChange","_input$value","isFromAutoFill","handleOnBlur","handleOnFocus","_event$target","setSelectionRange","onFocus","labelElement","motifCompatibleTypes","inputElement","hideClearButton","elements","errorElements","SingleSelectComponent","shouldRender","_this$props$input","showSelectAllButton","icons","noLabel","_this$props$options","_this$props$optionVal","optionValue","o","_this$props$optionTex","optionText","_this$props$optionKey","optionKey","_this$props$meta","_this$props$renderUnt","renderUntilValueSet","_this$props$renderUnt2","renderUntilOptionsSet","_this$props$style","_this$props$filter","testingData","parsers","string","v","boolean","parser","_onChange","hasOptions","opts","testingDataLabel","testingDataDiv","div","classStyle","ariaLabelledBy","opt","optionid","readOnly","MultipleSelect","_React$Component2","_this$props2","_this$props2$input","_this$props2$options","_this$props2$optionVa","_this$props2$optionTe","_this$props2$optionKe","_this$props2$meta","Field","formHelpers","EinField","_objectDestructuringEmpty","component","DateField","format","MoneyField","PhoneField","NumberField","allowDecimal","allowNegativeValues","allowLessThanZero","isUpdatedDefault","FileField","extensions","WHITELISTED_EXTENSIONS","allowMultiple","AddClientAuthModal","showAddClientAuthModal","handleSubmit","toggleShowAddClientAuthModal","initialValues","addAuthMessageText","validateDomainWithRole","clientAuthFormValues","handleAddClientAuthModalValidateAction","validatingUser","myEyError","valid","invalid","handleDailyNewsletter","handleWeeklyNewsletter","handleRealTimeNotification","receiveRealTimeNotificationForNewPsqArqcSent","handleInternalReviewNotification","handleOnRoleTypeChange","handleDataSteward","dataStewardCheckboxDisplay","companyOptions","companies","_br3","_MotifLabel2","offLabel","_MotifLabel3","onLabel","_MotifLabel4","_MotifLabel5","_MotifLabel6","maxHeight","EditClientAuthModal","showEditClientAuthModal","toggleShowEditClientAuthModal","dataStewardValue","showDSError","initialRole","newRole","changedToInvalidRole","errorMessageDisplay","onSubmit","_br4","_br5","handleEditButtonClick","handleDeleteButtonClick","AuthCellRenderer","ClientAuthList","auths","clientUserSearchText","handleNewButtonClick","handleAddClientAuthModalAction","handleEditClientAuthModalAction","currentUserIsSysAdmin","maxLimitMessageText","numberOfEngagementAdmins","validateDomain","handleGoToClientOverview","isAuthorizedUserSearchBoxVisible","buttonVarient","parentComponent","wrapHeaderText","autoHeaderHeight","getRoleName","_div3","Input","EditClientForm","handleEditReitClick","handleDeleteReitClick","handleAddPropertyClick","handleEditPropertyClick","handleDeletePropertyClick","clientFormPurpose","reitFormPurpose","showSuccess","showReitSuccess","submitting","handleDismissSuccessMessage","handleDismissReitSuccessMessage","handleToggleAuditFlag","handleEditClientCancel","dirty","operationMessage","reitOperationMessage","toggleAuditFlag","handleKeyDown","_div4","usStates","FieldArray","formValueSelector","submit","amenities","PropertyAmenitiesTableComponent","taxableReitSubsidiaryOptions","shouldSubmitReduxFormOnChange","amenityRowProvider","AmenityRowProvider","validateAmenityRow","renderServicesTable","AmenityRow","_fields$get$propertyA","_fields$get$propertyA2","_fields$get$propertyA3","_fields$get$taxableRe","_fields$get$taxableRe2","service","fields","isOtherSelected","isTrsChecked","timerIdle","removeRow","onChangeSubmit","propertyAmenityName","verticalAlign","wordWrap","taxableReitSubsidiary","selector","errorArray","otherName","createNewRow","errorRow","fetchTrsByPeriod","fetchExternalTrsByPeriod","createTrs","updateTrs","trsDebt","trsEquity","taxableREITSubsidiaryID","trsName","trsValue","deleteTrs","trsActions","PropertyAmenitiesTableContainer","convertFromReduxFormValueToPropertyAmenityCollection","reduxFormValue","propertyAmenities","_item$propertyAmenity","_item$taxableReitSubs","_item$taxableReitSubs2","_item$propertyAmenity2","isProvidedByEmployee","isProvidedByIndependentContractor","isProvidedByCustomary","isProvidedByTaxableReitSubsidiary","convertFromPropertyAmenityCollectionToReduxFormValue","propertyAmenityCollection","amenityOption","newAmenity","addAttribute","attributeName","attributeValue","elementList","querySelectorAll","hasAttribute","states","EditPropertyFields","formPurpose","_ref$isTestingEnabled","showPsqTypes","setShowPsqTypes","hideInfoMessage","setHideInfoMessage","rerenderPsqTypes","_hr","_hr2","pt","propertyTypeID","propertyTypeDescription","ppt","psqPropertyTypeID","psqPropertyTypeDescription","pc","propertyClassID","propertyClassDescription","tt","tenantTypeID","tenantTypeDescription","propertyParkingTypeID","propertyParkingTypeDescription","_hr3","EditPropertyForm","handleCloseForm","formTitle","_input","_label","dateHelpers","$","EditReitForm","psqOption","submitButtonText","scrollTop","save","anotherProperty","saveAndCreateAnotherProperty","yearOptions","dropdownStartYear","initialYear","reitTypeDescription","organizationTypeID","organizationTypeDescription","paddingRight","q","paddingLeft","y","getQuarter","getYear","formatDigits","getDateTime","time","addZ","dateWithZ","weekdays","dt","res","getDay","getHours","getMinutes","getSeconds","relativeDate","date","day_diff","ceil","getPreviousFridayOrGivenDate","givenDate","dateValue","fetchFromReit","fetchFromTrialBalance","fetchExternalPropertyTypes","fetchChartOfAccountTypes","CreateEditReitModal","isOpen","handleModalClose","modalHeaderText","getFormValues","change","lookupTypeActions","EditClientComponent","reitFormInitialValues","selectedReit","selectedProperty","locationAddressStreet","locationAddressCity","locationAddressState","locationAddressZipCode","rentableSquareFootage","tenantTypeId","PurchaseDate","managementCompany","managerName","managerPhone","managerEmail","accountantName","accountantEmail","accountantPhone","otherProps","newSelectedProperty","reitShortName","numberOfSharesClasses","preferredNumberOfShareHolders","stateOrganized","periodQuarter","periodYear","propertyValues","newValue","newFormValue","reitModalStyle","overlfow","handleClientSubmit","showReitForm","handleCloseReitForm","handleReitSubmit","handleDismissReitErrorMessage","DeleteModal","showDeleteModal","handleDelete","toggleshowDeleteModal","closeTitle","allowedDomain","allowedDomains","atIndex","domains","emailDomain","eySubDomainsRegExp","RegExp","reset","constants","authorizationDomainValidator","EditClientPage","showMinimumDataStewardWarningModal","StateOrganized","Symbol","BalanceThreshold","PercentageThreshold","maximumDataStewardReachedMessage","filteredClientAuths","showMyEyOnboardingModal","confirmAction","hideSuccessMessage","hideReitSuccessMessage","numberOfDataStewards","dataPurgeMaximumDSValue","myEyUser","deletedUserID","isDisabledValue","handleAddClientAuthModalCancelAction","toggleShowMyEyOnboardingModal","handleEditClientAuthModalCancelAction","onConfirmDelete","handleCancelDelete","handleDeactivateClient","toggleIsActive","redirectToPropertiesPage","handleDataStewardCheckboxDisplay","handleDataStewardsForClientCount","authorizationActions","prevState","getDataPurgeMaximumDSValue","reloadAdminAuths","reloadReits","dataPurgeConfig","dataPurgeConfigurationID","reitToHandle","handleReitEditSubmit","handleReitCreateSubmit","dateOfElection","symbol","formationDate","propertyAmenity","addMoreProperties","_this11","_this12","authValues","first_name","last_name","companyName","companyId","company_name","guid","authStatusNotification","handleAuthStatusNotificationClose","formAuth","_this13","_iterator2","_step2","authToUpdate","_this$props$authoriza","_this14","dataStewardUserID","updatedValues","_this15","_this16","_this17","_iterator3","_step3","domain_status","applications","_this18","_this$deletedUserID","_this$state$currentUs","_this19","_this20","requestData","_this21","authModalStyle","myEyModalStyle","_h2","_MotifModalBody","cid","searchParams","URLSearchParams","SPECIAL_CHARACTER_CODES","HYPHEN_TYPES","clearDuplicateMessage","clearDuplicateChartOfAccountMessage","createChart","chartName","copyExistingChart","isDefault","copyChartID","fetchCharts","fetchChartOfAccountsById","chartId","updateChartOfAccountsById","accountsToUpdate","bodyUpdateObject","AccountsToUpdate","updateChartAsDefault","chartID","updateChartName","syncREITTestsingAttributesForREITorProperty","syncREITTestsingAttributesByReportPeriodId","uploadChartofAccounts","createChartOfAccount","clientAccountCode","clientAccountCategoryID","defaultREITTestingAttributeID","defaultSubAttribute","fetchClientCalendarYears","fetchCalendarYearReitsData","reitsMappings","gridArray","processedMappingForGrid","periodAssignments","Quarter1Text","Quarter1","periodID","Quarter2Text","Quarter2","Quarter3Text","Quarter3","Quarter4Text","Quarter4","isDirty","originalState","reponseWithGridArray","fetchReitPropertiesById","propertiesMappings","propertyTrackingID","isInheritFromReit","responseWithGridArray","updateReitsMappings","mappingsToUpdate","updateResponse","updateReitPropertiesMappings","fetchChartAssignmentsByReportPeriodId","ReitsCellRenderer","ReitList","getCurrentPeriodFunction","reitSearchText","canInactivateReits","handleDownloadIdList","handleDownloadTbTemplates","showSuccessMessage","successMessageText","chartExistsForClient","allOrActive","filterValueGetter","setColumnVisible","applyTransaction","GetCurrentQuarter","currentQuarter","SpecialChars","coaMgrActions","mappingModalStyle","ReitsPage","filteredReits","yesNoModalData","showAddClientAcctAllReitsModal","showUploadMappingOnlyTBModal","eyStandardAccounts","currentReitCheckboxHtmlId","handleReactivateReit","hideYesNoModal","handleSubmitMappingAllReits","handleCloseMappingOnlyTBModal","handleGridColumnStateChange","createEyStandardAccountItems","reitTrackingID","internalAccountCode","clientAC","eyStdAccounts","internalAccountDescription","gridColumnState","ClientDetails","ClientPage","ClientsExternalCellRenderer","ClientListSlim","ClientsExternalPage","ChecklistExternalContainer","saveChecklistDeliveryCalendar","cdc","fetchChecklistDeliveryCalendar","resetChecklistDeliveryCalendar","psqArqc","fetchChecklistFilesByPeriod","fetchChecklistFiles","uploadChecklistFiles","uploadFile","resolve","tasks","responses","fetchArqcChecklistsByPeriod","lastSelectedChecklistId","checklistID","fetchArqcChecklistById","fetchHasIncompleteCheckistByPeriod","fetchPsqChecklistSummariesByPeriod","fetchArqcChecklistSummariesByPeriod","fetchPsqChecklistsByPeriod","fetchPsqChecklistById","setActiveChecklist","fetchPreviousArqcChecklist","includeDiscrepancyMessages","fetchPreviousPsqChecklist","propertyType","fetchExternalArqcChecklistsById","excludeUpdatingCurrentChecklist","fetchExternalPermArqcChecklists","fetchExternalPsqChecklistsById","reitType","saveChecklist","isExternal","checklistTypeID","createChecklist","createRequest","deleteChecklist","clearDeletedChecklist","previousChecklist","modifiedChecklist","mapPreviousAnswers","ck","mappedPreviousAnswers","clearPreviousAnswers","allPreviousQuestions","section","previousItem","selectedAnswers","previousAnswers","defaultAnswers","_loop2","child","k","previousChild","_ret2","_ret","revertChecklistState","revertChecklistStateExternal","fetchChecklistListForExternalUser","getExternalPsqEmails","getReportPeriodSummary","sendPsqInternalReviewEmail","clientEmails","sendPsqInternalReviewEmailForExtPerm","saveNewChecklistComment","commentText","unsavedQuestions","comments","editSavedChecklistComment","commentId","deleteSavedChecklistComment","deleteChecklistAttachment","checklistFileAttachmentId","checklistsData","fetchCustomQuestionList","createCustomQuestion","deleteCustomQuestion","customQuestionID","updateCustomQuestion","updateRequest","fetchChecklistCalendarYears","fetchChecklistCalendarYearsByClientAndType","fetchManageChecklists","flattenManageChecklists","flatManageChecklists","mc","checklistEmailDetails","recipients","checklistSelection","recipientEmail","senderEmail","sentDate","expirationDate","ced","fetchExternalChecklists","addChecklistUsers","deleteChecklistUsers","resendChecklists","updateChecklistsState","_x2","_x3","_updateChecklistsState","splitedChecklists","checklistStateID","processUpdatingChecklistsState","_x4","_x5","_x6","_processUpdatingChecklistsState","checklists","setChecklistsState","approveDenyClientRequest","_x7","_x8","_x9","_approveDenyClientRequest","reopenRequestStatusID","processApproveDenyClientReopenRequest","_x10","_x11","_x12","_processApproveDenyClientReopenRequest","_callee4","_callee4$","_context4","requesterEmailAddress","approveDenyClientReopenRequest","deleteChecklists","exportChecklists","resetRefreshManageChecklistClient","requestToReopenChecklists","splitAndSignoffChecklist","_x13","_x14","_x15","_splitAndSignoffChecklist","_callee5","signoffStatus","_callee5$","_context5","signoffChecklist","_x16","_x17","_x18","_signoffChecklist","_callee6","isSignedOff","checklistRequestDetails","signoffChecklistRequest","_callee6$","_context6","ChecklistType","IsSignedOff","SignoffChecklistRequestDetail","clientSignoffChecklist","splitAndsubmitForEYReview","_x19","_x20","_splitAndsubmitForEYReview","_callee7","_callee7$","_context7","submitDataForReview","_x21","_x22","_submitDataForReview","_callee8","submitForEyReviewRequest","_callee8$","_context8","ChecklistStateDescription","SubmitForEyReviewRequestDetail","submitForEYReview","fetchExternalPermPsqChecklists","deleteCustomPSQTemplate","checklistTemplateId","exportChecklistDeliverySchedule","fetchChecklistDeliverySchedule","checklistDeliveryScheduleData","uploadChecklistDeliverySchedules","fetchChecklistNavCounts","counterRequest","checklistGuid","GetCountOfAttachments","GetCountOfDiscrepencies","GetCountOfComments","checklistCounters","fetchAttachmentDetail","checklistSectionQuestionAttachmentID","deleteAttachment","attachmentId","deleteComment","fetchQuestionComments","fetchChecklistDiscrepancies","allowUpdateAsPerReportPeriodVisibilityConstraint","isExternalTempUser","internalUserRequestHeaders","externalUserRequestHeaders","saveChecklistComment","IsExternalTempUser","insertPsqServiceProviderQuestion","removePsqServiceProviderQuestion","fetchLastServiceProviderQuestionId","downloadReport","reportItems","excludedPsqs","includePsqComments","includeArqcComments","fetchReportItems","buildDownloadChecklistHeaders","external","downloadChecklist","reitNamePeriod","downloadChecklistType","propName","downloadChecklistWithoutAnswer","downloadChecklists","downloadType","fetchReportItemsForClient","IconoirInfoCircle","ManageExternalChecklistHeader","selectedClient","handleClientChange","handleCalendarYearChange","selectedChecklists","toggleShowDownloadChecklistsModal","toggleShowRequestToReopenModal","toggleShowSubmitForEYReviewModal","toggleShowClientSignoffModal","toggleShowClientUnsignoffModal","actionOptionsOpen","setActionOptionsOpen","calendarYearsOptions","disableCalendarYearDropdown","preselectedCalendarYear","clientsOptions","cy","downloadChecklistsActionStatus","downloadChecklistsToolTipMessage","submitForReviewStatus","submitForReviewToolTipMessage","checklistStatusForReview","checklistState","canExternalUserSubmitChecklistForEYReview","signoffActionStatus","signoffToolTipMessage","record","unsignoffActionStatus","unsignoffToolTipMessage","checklistStatusList","requestToReopenActionStatus","requestToReopenToolTipMessage","co","onclick","_MotifIconButton","_MotifIconButton2","_MotifIconButton3","_MotifIconButton4","_MotifIconButton5","_MotifIconButton6","_MotifIconButton7","colDef","defaultCheckboxClass","checkboxClass","tabindex","onCellCheckboxChange","rowsChecked","totalRows","forEachNodeAfterFilter","rowNode","headerCheckboxValue","indeterminate","onHeaderCheckboxChange","reopenRequestStatus","value1","value2","date1","date2","IconoirOpenNewWindow","internalChecklistId","fieldValue","fieldName","useCallback","Popup","ExternalChecklistCheckboxCellRenderer","ExternalChecklistCheckboxHeaderRenderer","ReopentoRequestStatusValueGetter","DateComparator","ExternalChecklistLinkCellRenderer","InternalRecipientsCellRenderer","PSQChecklistExternalTable","formSyncErrors","formSubmitErrors","hasWriteAccess","filteredExternalChecklists","refreshGridOnCompletedAction","containerStyle","gridStyle","rowDataRef","isHeaderCheckboxSelected","updatedData","level","newUd","refreshHeader","dateOptions","hour","minute","headerComponent","checklistStateDescription","lastUpdatedDate","internalRecipients","reopenRequestStatusDescription","requestDateTime","clientUserEmailAddress","userActionDateTime","gridGlobalListner","gridCurrentPage","gridApi","deselectAll","handleRowDataUpdated","handleSelectionChanged","onSelectionChanged","onRowDataUpdated","DownloadChecklistsModal","showDownloadChecklistsModal","modalTitle","handleDownloadChecklists","showHideDownloadChecklistsModal","RequestToReopenModal","showRequestToReopenModal","handleReopenChecklistRequest","SubmitForReviewModal","showSubmitForReviewModal","handleSubmitForReview","showHideSubmitForReviewModal","ClientSignoffModal","showClientSignoffModal","handleClientSignoff","showHideClientSignoffModal","ClientUnsignoffModal","showClientUnsignoffModal","handleClientUnsignoff","showHideClientUnsignoffModal","getFormSyncErrors","getFormSubmitErrors","checklistActions","reportActions","PSQChecklistExternalContainer","prevWS","selectedCalendarYear","clientSignoff","clientUnsignoff","quarterStatus","signedOffStatusDescription","reduced","fetchCalenderYearsByClientAndChecklistType","downloadChecklistsState","reitNameAndPeriod","defaultFilename","existingFiles","fileNameSplitArray","currentVersion","refreshGrid","randomNumber","checklistsToReopen","submitForEYReviewState","clientSignoffState","clientUnsignoffState","_signoffAndUnsignoffChecklists","spliceSelectedChecklists","signoffAndUnsignoffChecklists","_handleClientSignoff","_handleClientUnsignoff","_handleSubmitForReview","chunk","autoFocus","psqChecklistExternalValues","ARQCChecklistExternalTable","ARQCChecklistExternalContainer","arqcChecklistExternalValues","ClientLoader","_useParams","ReitLoader","fetchChartsByClientId","downloadMappingTemplatePackage","fetchUploadedTestSnapshots","downloadTestSnapshot","downloadCurrentTestSnapshot","deleteTestSnapshot","decodeURI","testSnapshotActions","ReportPeriodRow","downloadFunction","handleActivePeriodIdChanged","toggleShowClosePeriodModal","hasIncompleteChecklists","toggleShowOpenPeriodModal","isEngAdminOrSysAdmin","toggleShowModeModal","hideTbModeLink","hideTestSnapshotLink","handleDownloadCurrentTestSnapshot","handleDownloadMappingTemplatePackage","rawTrialBalance","adjTrialBalance","consolidatedTrialBalance","trialBalancePurposeID","handleToggleShowClosePeriodModal","handleToggleShowOpenPeriodModal","onHandleActivePeriodIdChanged","closeButtonText","openButtonText","isClosed","isReportingClosed","tbModeText","tbModeClick","periodLink","_MotifTextLink","_MotifTextLink2","_MotifTextLink3","_MotifTextLink4","_MotifTextLink5","_MotifTextLink6","_MotifTextLink7","_MotifTextLink8","_br6","_MotifTextLink9","_MotifTextLink10","_br7","_MotifTextLink11","_MotifTextLink12","_br8","_MotifTextLink13","_MotifTextLink14","_br9","_MotifTextLink15","_MotifTextLink16","_br10","_MotifTextLink17","_MotifTextLink18","align","ASSET_TEST_SERVICE","INCOME_TEST_SERVICE","DISTRIBUTION_TEST_SERVICE","PSQ_SERVICE","ARQC_SERVICE","LEASE_REVIEW_SERVICE","chartOfAccountsActions","serviceConstants","ReportPeriodRowContainer","setHideTestSnapshotLink","servicesInState","_props$hideTbModeLink","_props$trialBalancesL","_props$hideTestSnapsh","_props$hasIncompleteC","handleFinalReportClick","hideTbModeLinkList","_props$hideTbModeLink2","trialBalancesList","_props$trialBalancesL2","hideTestSnapshotLinkList","_props$hideTestSnapsh2","hasIncompleteChecklistsList","_props$hasIncompleteC2","_MotifTextLink19","_MotifBadge2","valueA","valueB","yearA","quarterA","yearB","quarterB","AGGridLoader","ReportPeriodCellRenderer","ReportPeriodComparator","ReportPeriodList","reportPeriods","activePeriodId","handleTrialBalancesByPeriod","periodOperationsCompleted","redrawRows","_AGGridLoader","suppressAnimationFrame","suppressChangeDetection","suppressColumnMoveAnimation","suppressLoadingOverlay","suppressNoRowsOverlay","ScopedServicesRow","selectedServices","handleServiceSelected","getFriendlyName","ScopedServicesModal","showServicesModal","handleSave","isBulkProcess","_p2","svc","serviceID","serviceDescription","ScopedServicesContainer","handleOnSaveAction","handleOnCancelAction","fetchServices","toggleShowServicesModal","selectedServicesSet","CreatePeriod","toggleShowNewPeriodModal","handleModalAction","handleQuarterSelection","handleYearSelection","selectedQuarter","selectedYear","quarterOptionValues","quarterOptions","quarterOption","yearOptionValues","yearOption","ClosePeriodModal","showClosePeriodModal","handleClosePeriodClick","toggleIsAcknowledged","isAcknowledged","closeQuestion","closeStatement","onYesClick","ClosePeriodContainer","currentStatus","handleClosePeriod","setIsAcknowledgedToFalse","OpenPeriodModal","showOpenPeriodModal","handleOpenPeriodClick","openQuestion","openStatement","OpenPeriodContainer","handleOpenPeriod","PeriodTbModeModal","showModeModal","handleCloseModeModal","periodDescription","ReitDetails","showNewPeriodModal","handleCreateNewPeriod","handleCreateTypeSelection","handleSubmitTbMode","activePeriod","tbActions","ReitPage","populateTrialBalancesList","populateHideTbModeLinkList","populateHideTestSnapshotLinkList","populateHasIncompleteChecklistsList","selectedCreateType","currentReit","setActivePeriodId","performPeriodOperations","getCurrentQuarterValue","getCurrentYearValue","periodFromDb","tbs","newPeriod","periodExists","hideTestSnapshotLinkObj","hasIncompleteChecklistsObj","setCloseStatus","setOpenStatus","setTrialBalanceMode","currentMonth","newStatus","snapshot","TrialBalanceUpload","onFileChange","canEdit","createTrialBalancePurposeSelectItems","handleTrialBalancePurposeDropdownSelected","selectedTBOption","handlePctChanged","selectAllText","select","clearFileInput","renderDropdown","onMouseUp","toFixedVariable","NaN","exponent","toPercentage","_props$property","reitCell","propertyCells","propertyIsAdjusted","propertyIsAdjustable","propertyAmount","_property$index","_property$index2","_property$index3","isAdjusted","isAdjustable","amount","roundedAmount","showTrialBalanceAdjustments","showTrialBalanceAdjustmentsModal","trialBalanceItemID","TrialBalanceCellRenderer","TrialBalanceTable","showReit","trialBalance","setTrialBalance","customFilterValueGetter","marryChildren","pinned","periodTotalCell","cellClassRules","tbReitProperty","headerClass","tbAgCellClientMappingNa","_params$data$reitCell","propertyHeaders","headerValueGetter","_params$data$property","_params$data$property2","_params$data$property3","clientAccountNumber","reitTestingAttributeDescription","CHART_WIDTH","CAC_NUMBER_WIDTH","CAC_NAME_WIDTH","TEST_ATTR_WIDTH","FIXED_WIDTHS","FIXED_COLUMN_COUNT","FIXED_COLUMNS_WIDTH","TrialBalanceSummaryTable","calculateWidths","columnNames","availableVariableWidth","getColumns","widths","commonColumnGenerator","propertyKey","headerText","cellStyle","cellGetter","amountColumnGenerator","rowCellGetter","subheaderText","headerStyle","lineHeight","overflowWrap","columnIndex","cols","periodTotalHeader","periodTotalCellGetter","periodTotalColumn","ph","calculateHeaderHeight","propNames","longestPropNameLength","pn","requiredLines","reitTrialBalanceID","handleDownloadTrialBalanceSummary","_table","Breadcrumb","TrialBalanceSummary","handleHideZeroBalanceRows","hideZeroBalanceRows","TrialBalanceAdjustmentRow","ownership","selectedItemId","itemAdjustmentId","doShowAdjustmentFormEdit","doShowAdjustmentFormDelete","disableButtons","toTrialBalanceItemAccountCode","toTrialBalanceItemAccountDescription","eyAccount","toTrialBalanceItemInternalAccountCode","toTrialBalanceItemInternalAccountDescription","toSubAttribute","bal","toTrialBalanceItemBalance","adj","adjustment","adjBal","pctAdjBal","toTrialBalanceItemId","fromTrialBalanceItemAccountCode","fromTrialBalanceItemAccountDescription","fromTrialBalanceItemInternalAccountCode","fromTrialBalanceItemInternalAccountDescription","fromSubAttribute","fromTrialBalanceItemBalance","bgcolor","TrialBalanceAdjustmentsModal","cancelTrialBalanceAdjustmentsModal","selectedItem","selectedItemAdjustments","selectedItemPropertyName","doShowAdjustmentFormAdd","showAdjustmentForm","disableInputs","trialBalanceItemSelect","adjustmentFormPurpose","doCloseAdjustmentForm","doSubmitOfAdjustments","itemAdjustments","fromTrialBalanceItemId","adjustedBalance","percentAdjustedBalance","previewText","closeText","formDisplayClass","deleteDisplayClass","selectDisplayClass","selectedTextDisplayClass","selectedAdjustmentText","_th","_th2","subAttribute","_td","getTrialBalanceSummaryByPeriod","useColumns","useRows","downloadTrialBalanceSummary","getTrialBalanceAdjustmentsByPeriodId","getTrialBalanceItemsByTrialBalanceId","applyAdjustments","adjustments","PeriodActions","trialBalanceSummaryActions","trialBalanceAdjustmentActions","TrialBalanceUploadPage","itemAdjustment","originalAdjustmentsHold","enableTBUploadSection","onTrialBalanceSummaryDownload","handlePreviewAdjustment","setCanEdit","propertyPerctentageOfOwnership","isEnabled","myFile","_MotifOption","_value","_this$state$selectedI","toItem","newAdjustment","reason","newAdjustments","isInteger","newSelectedItemAdjustments","editAdj","adjustmentToEdit","adjustmentToDelete","submitAdjustments","adjustmentsToRetain","_loop3","dataset","propname","createTrialBalanceItemSelect","_trialBalanceItems$i","baseLabel","sortedItems","compareItems","s4","_this$state","summaryIsAvailable","processingCompleteNotified","ReportPeriodLoader","ReportExport","onExportClick","_this$props$hasIncomp","canReport","FormattedDate","TABLE_STYLE","INNER_TABLE_STYLE","ITALIC_FONT","ZERO_PADDING","INCLUDE_COMMENTS_TEXT","isNonEmptyArray","_arr","getItemDisabledReason","hasTrialBalance","hasArqc","scopedServices","scopedService","PsqTable","setPsqInclusion","setIncludePsqComments","psqIsIncluded","included","ariaDescription","createdDate","ArqcTable","setIncludeArqcComments","TemplateSelector","selectedTemplate","handleTemplateSelect","customTemplateOptions","t","fdrTemplateName","templateOptions","currentTemplate","onTemplateSelected","templateOption","setRenderDropdown","ReportItemRow","setItemSelection","parentProps","ReportItemList","containsDisabledItems","setContainsDisabledItems","hideWarningMessage","setHideWarningMessage","selectedItems","itemIsSelected","itemFilter","filteredItems","borderCollapse","disabledReason","isRequired","createOrEditFDRTemplate","fdrtemplateid","fdrtemplateName","isdeleted","fdrtemplateContent","currentFdrTemplates","apiMethod","SaveAsNewFDRTemplate","fetchCustomFdrTemplates","excludeEmpty","fetchCustomFdrTemplateById","saveDefaultFdrTemplates","fdrtemplates","getDefaultFdrTemplateForPeriod","fetchDefaultFdrTemplates","deleteFdrTemplateById","downloadFdrTemplateDocument","fetchTb","fetchDistributionTestSummary","fetchExternalDistributionTestSummaryByChecklistId","fetchDistributionTaxableIncome","fetchExternalDistributionTaxableIncomeByChecklistId","fetchDistributionDetail","fetchExternalDistributionDetailByChecklistId","saveDistributionTaxableIncome","distributionREITTaxableIncomeAmount","distributionDividendsSum","saveDistribution","distribution","distributionDate","fairMarketValue","updateDistribution","distributionID","deleteDistribution","sumDistributionValues","distributions","customFdrActions","distributionsTestActions","ReportPage","adjTrialBalanceUploaded","dataIsLoaded","clearPsqItemIfAllExcluded","setIsReportingClosed","filteredReportItems","itemType","currentSelectedItems","newItemSet","_type","currentExcludedPsqs","newExcludedSet","_array","alignContent","_MotifInlineMessage","TrsCellRenderer","TrsCurrencyCellRenderer","EditTrsTable","showForm","Intl","NumberFormat","EditTrsForm","modalPurpose","_React$Fragment3","EditTrsComponent","selectedTrs","initialValuesTest","EditTrsContainer","closeForm","submitForm","refresh","CustomHeaderWithBadge","condition","SecuritiesSnapshotCellRenderer","editSecuritiesSnapshotTable","shouldDisplayBadge","aggregatedSnapshots","acc","aggregatedSecuritiesSnapshots","getRowId","editSecuritiesSnapshotForm","isTenPercentValueTestDisabledFlag","handleDisableTenPercentValueTestSelection","_MotifErrorMessage","clientAccountMappingID","EditSecuritiesSnapshotTable","EditSecuritiesSnapshotForm","editSecuritiesSnapshotComponent","selectedSecuritiesSnapshot","ownedSharesValue","EditSecuritiesSnapshotComponent","EditSecuritiesSnapshotContainer","reloadIncompleteSecuritiesSnapshot","reitOrPropertyName","secData","ShortDate","editPropertyComponent","handleCloseComponent","periodPropertyCount","handleShowEndForm","handleShowClearEndDateForm","address","onEndClick","onClearEndDateClick","_label2","_label3","_label4","_span3","_label5","_label6","_label7","_label8","_label9","_label10","_br11","_label11","_br12","_label12","_br13","_label13","_br14","_label14","_br15","_label15","_br16","_label16","_br17","_label17","_br18","_label18","_br19","_label19","_br20","_label20","_br21","_label21","EndPropertyForm","handleCloseEndForm","ClearEndDateForm","DeletePropertyModal","showDeletePropertyModal","handleOpenComponent","handleOpenDeleteProperty","EditPropertyComponent","EndPropertyModal","PropertyCellRenderer","PropertyList","formProperty","canAdd","showComponent","showEndForm","showClearEndDateForm","handleYesDeleteProperty","handleNoDeleteProperty","buttonMessage","PropertiesPage","propertySearchText","selectedPropertyId","setCanAdd","setIsTestingEnabled","currentPeriodStartDate","currentPeriodEndDate","cloningId","cloningID","trackingId","propagateChanges","propagateProperty","fetchIncomeTestSummary","trialBalanceID","fetchPropertyDetails","propertyTestDetails","fetchPropertyItsi","fetchExternalIncomeSummaryByChecklistId","fetchExternalPropertyDetailsByChecklistId","fetchExternalPropertyItsiByChecklistId","IncomeDetailTestTable","detail","PropertyDetailRow","personalPropertyValue","buildingValue","landValue","priorTo2020","personalPropertyValuePrior","buildingValuePrior","landValuePrior","personalPropertyValueAverage","buildingValueAverage","landValueAverage","_td2","_td3","_td4","_td5","_td6","_td7","_td8","_td9","_td10","PropertyDetailTable","PropertyDetailTestTable","rentsFromRealProperty","incomeRelatedToImpTenServ","expenseRelatedToImpTenServ","markupOfItsi","totalItsi","PropertyItsiRow","PropertyItsiTable","itsi","PropertyItsiTestTable","IncomeDetails","IncomeTestPage","fetchCustomQuestionnaireTemplates","fetchCustomQuestionnaireTemplateQuestions","questionnaireTemplateID","createOrEditQuestionnaireTemplate","questionnaireSectionName","hideStandardQuestions","saveCustomQuestionnaireTemplate","requestParams","questionAttachments","createRequestObj","attachmentsStatus","addUpdateAttachments","questionVersionID","addUpdateCustomQuestionAttachment","questionAttachmentData","questionAttachmentID","attachmentGuid","attachmentName","isNew","isDeleted","_addUpdateAttachments","attachments","_loop$","delegateYield","updateRequestObj","getLockStatusForQuestion","acquireIntentLockForCustomQuestion","intentLockUpdateRequest","releaseIntentLockForCustomQuestion","deleteCustomTemplateQuestion","customChecklistSectionID","updateChildQuestionSortOrder","updateChildChildQuestionSortOrderResponse","deleteQuestionnaireTemplate","ChecklistHeader","isSystemOrEngagementAdmin","selectedPsqArqc","handleChangePsqArqc","toggleShowAddChecklistUserModal","toggleShowDeleteChecklistUserModal","toggleShowDeleteChecklistModal","toggleShowResendChecklistModal","toggleShowSignoffChecklistModal","toggleShowReopenForEYReviewChecklistModal","toggleShowApproveClientReopenRequestModal","toggleShowDenyClientReopenRequestModal","handleExportChecklistSummary","gridFilteredRowCurrentState","selectedRecipients","handleDownloadChecklist","showCreateModal","_ref$canEdit","hasFormSyncErrors","quarterStatusList","resendChecklistActionStatus","resendChecklistTooltipMessage","distinctChecklistIDs","rcp","selectedChecklistRecords","selectedDataVisibility","isReportPeriodVisibleToExternalUsers","selectedRecords","sr","addUserActionStatus","addUserValidationMessage","externalUserVisibility","isChecklistSelected","deleteUserActionStatus","deleteUserValidationMessage","deleteChecklistsActionStatus","deleteChecklistValidationMessage","signoffRequiredChecklistStatusList","signoffChecklistActionStatus","reopenforEYReviewChecklistActionStatus","signoffChecklistValidationMessage","reopenforEYReviewChecklistValidationMessage","downloadChecklistActionStatus","downloadChecklistValidationMessage","approveDenyClientReopenRequestActionStatus","approveDenyClientReopenRequestValidationMessage","reopenRequestCount","exportChecklistSummaryActionStatus","exportChecklistSummaryValidationMessage","boxSizing","_MotifDropdownItem","_MotifDropdownItem2","_MotifDropdownItem3","_MotifDropdownItem4","_React$Fragment4","_MotifIconButton8","_MotifIconButton9","_MotifIconButton10","childrenAfterGroup","ChecklistLinkCellRenderer","DateCellRenderer","SimpleCellRenderer","CheckboxCellRenderer","CheckboxHeaderRenderer","DefaultValueGetter","ChecklistTypeValueGetter","QuestionnaireTemplateValueGetter","PropertyTypeValueGetter","StatusDateValueGetter","NoRecipientCellRenderer","ARQCChecklistTable","filteredManageChecklists","handleGridFilteredRowChanges","handleRecipientChanges","refreshGridChecklistData","refreshGridData","gridFilteredRowData","setGridFilteredRowData","questionnaireTemplateName","cellRendererSelector","allLeafChildren","headerCheckboxSelection","headerCheckboxSelectionFilteredOnly","checkbox","innerRenderer","innerRendererParams","suppressDoubleClickExpand","suppressEnterExpand","dateFieldName","setColumnsVisible","ch","matchedRecord","updateRowNodeSelectableProperty","childrenAfterFilter","selectable","rowNodes","handleRowGroupOpened","autoSizeColumns","handleExpandOrCollapseAll","source","onRowGroupOpened","onExpandOrCollapseAll","AddChecklistUserModal","showAddChecklistUserModal","handleEmailChanged","handleAddChecklistUser","DeleteChecklistUserModal","showDeleteChecklistUserModal","handleDeleteChecklistUser","DeleteChecklistModal","showDeleteChecklistModal","handleDeleteChecklist","ResendChecklistModal","showResendChecklistModal","handleResendChecklist","SignoffChecklistModal","showSignoffChecklistModal","handleSignoffChecklist","ReopenForEYReviewChecklistModal","showReopenForEYReviewChecklistModal","handleReopenForEYReviewChecklist","ApproveClientReopenRequestModal","showApproveClientReopenRequestModal","handleApproveClientReopenRequest","DenyClientReopenRequestModal","showDenyClientReopenRequestModal","handleDenyClientReopenRequest","ArqcCreateChecklistModal","handleClientFieldChanged","handlePopulatePreviousAnswersChanged","isSendEmailEnabled","isPreviousAnswersPopulated","setCreateAction","handleCancelAction","clientEmailsRef","clientEmail","handleRollForwardComment","createChecklistCustomErrorMessage","isInititiallySetEmailsFrwd","setInititiallySetEmailsFrwd","isReportPeriodVisible","emailInput","setEmailInput","preventSubmitOnEnter","selectedRollForwadAns","setSelectedRollForwadAns","handleCreateButtonClick","useHandleFieldChangedRollForwardQuestions","selectedPopulateAns","setSelectedPopulateAns","useHandleFieldChangedPreviousAnswer","handleCreateAndSendButtonClick","validateEmails","sendToFieldValue","clearState","onKeyPress","uploadReitFile","fetchUploadedFiles","fetchUploadedReitFiles","downloadFile","downloadReitFile","downloadChecklistFile","downloadCustomQuestionAttachment","checklistFileAttachmentGuid","downloadChecklistQuestionnaireAttachment","clearUploadFileSuccess","deleteFile","deleteReitFile","ChecklistSendModal","handleEyFieldChanged","showSendModal","isSendCheckListEmailEnabled","eyTeamMemberFieldValue","clientEmailTo","accountantEmailTo","TabProperty","TabsDefaultCount","ChecklistCountRequest","fileActions","customQuestionActions","PropertiesContainer","SearchResults","checklistCountRequest","ChecklistPageBase","initialClientEmailTo","initialAccountantEmailTo","activeItem","showConfirmationModal","createData","disabledSections","confirmDeleteAction","createAction","resetDropDowns","handleShowAllQuestions","handleItemAnswered","handleSaveChecklist","hideCreateModal","handleCreateAction","handleConfirmationAction","setChecklistState","handleSendField","handleEySendField","handleComments","handleArqcDetailsFormSubmit","getArqcDetailsInitialValues","handleSaveComment","handleDeleteComment","handleDeleteCommentExternal","handleEditComment","handleEditCommentExternal","handleDownloadChecklistFile","handleDownloadChecklistFileExternal","handleDeleteAttachment","handleDeleteAttachmentExternal","getPsqQuestionnaireTitle","getArqcQuestionnaireTitle","handleShowUnansweredQuestions","getServiceQuestionJSON","isUnregisteredExternalUser","checklistTypeId","comment","findQuestion","foundQuestion","checklistAttachmentId","showAllQuestions","showUnansweredQuestions","selectedPropertyName","selectedPropertyType","isCreateOnlyEnabled","parentItem","lastCharOfName","individualShareholder","fmvOfStockOwned","percentOfStockOwned","doesExist","isMultiSelect","disableSections","checkItemDisableSection","requireService","disableSection","controlSections","_checklist$content","checklistSectionId","checklistTemplateSectionID","sectionId","answersEnable","_a","sendNotification","standardProcessExecutionResponse","success","reloadSummaryData","saveExternalChecklist","checkSendFields","eyEmailsList","serviceName","ik","selectedOption","exhibitBSection","firstItem","newQuestionIds","lastSavedQuestionId","handleRevertChecklistState","showSubmitToEyModal","getCheckListItemStateName","psqProviderSummary","getSendModal","getModalStyle","yearAndPeriod","isEYEmailAddress","addServiceProviderQuestionResponse","checklistSectionQuestionID","checklistSectionQuestionId","availableAnswers","systemRule","setAnswers","isDisabledOnSystemAnswer","enabledByParentAnswers","ruleTag","serviceProvider","getUpdatedQuestionTitleBasedOnChecklistSectionQuestionId","isQuestionFound","sectionIndex","questionIndex","childQuestionIndex","InvalidEmailModal","showInvalidEmailModal","deleteInvalidEmail","fetchExternalUserDataVisibility","hideExternalUserDataVisibility","unHideExternalUserDataVisibility","fetchReportPeriodVisibilityManagerDataById","externalUserVisibilityActions","ARQCChecklistContainer","_ChecklistPageBase","updateInitialValues","setGridColumnState","handleSignoffChecklistStateChange","handleRefreshManageChecklistClient","dismissRefreshManageChecklistMessage","toggleShowInvalidEmailModal","handleCreate","saved","checklistUsers","selectedSignoffChecklistState","prePopulatedId","hasRollForwardQuestionComment","hasRollForwardQuestionAttachment","invalidHeader","isRefreshGridRequired","inititiallySetEmails","initialize","updateUnregisteredFields","showToggle","selectedNodes","getSelectedNodes","checklistEmailData","isShowInvalidModal","uniqueArray","emailDetails","filtered","checklistItem","internalEmails","externalEmails","recipientsList","helper","uniqueRecipientsChecklists","checklistsToDelete","gridData","deleteChecklistRequestModels","checklistsToResend","recipient","resendChecklistRequestModels","getSelectedChecklists","_handleReopenForEYReviewChecklist","_handleSignoffChecklist","_handleApproveClientReopenRequest","splitChecklistsPerRequester","batchSize","groups","group","_handleDenyClientReopenRequest","checklistsToExport","checklistData","exportChecklistRequestModels","IsPreviousAnswersPopulated","validateFields","clientContactEmail","createPsqFormLoaded","_clientEmails","_this12$state$createD","_this12$state$createD2","uniqueselectedChecklists","manageChecklistValues","propTypes","bool","array","func","MotifProgressBar","previousAnswersChanged","previousChecklistFound","isQuestionExcludedFromCounterForAllUsers","shouldHideChangedAnswers","isSectionProgress","handlePsqCompletionRequirement","totalQuestions","answeredQuestions","changedQuestions","isExcludedFromCounter","isAnswered","isVisible","_i","checklistCompletionPercentage","_MotifProgressBar","circle","ChecklistCounters","menuNames","checklistNavigation","navigationCount","checklistContent","isEnabledByParent","specialReducerComments","specialReducerAttachments","reducerComments","reducerAttachments","defaultActiveKey","orientation","lineSide","commentsCount","attachmentsCount","checklistWithCurrentSection","background","borderWidth","tabName","counter","totalCount","badgeClassName","ChecklistCompleteModal","Tabs","_Component","activeTabIndex","defaultActiveTabIndex","handleTabClick","siblingQuestionIds","shouldToggleOnSameTabClick","renderChildrenWithTabsApiAsProps","cloneElement","renderActiveTabContent","divClass","defaultProps","IconoirAttachment","IconoirChatLines","IconoirClockRotateRight","Tab","linkClassName","isDisabledTab","iconName","hoverText","checklistAttachmentsAcceptedTypes","getAcceptedMimeTypes","flatMap","validateFiles","acceptedMimeTypes","_acceptedFiles$reduce","has","validFiles","invalidFiles","Progress","MotifMessage","FileUploadValidations","ChecklistFileUploadModal","isArqc","refreshChecklistFiles","renderUploadStatus","handleOnDropPostValidation","acceptedFileExtensions","_FileUploadValidation","combinedRejectedFiles","checkReportPeriodVisibilityConstraint","proceedWithAction","colorClass","handleCloseModal","isChecklistFileUploadModalOpen","hideChecklistFileUploadModal","DeleteChecklistDetailGridRowModal","showDeleteChecklistGridRowModal","toggleshowDeleteChecklistGridRowModal","deleteRow","modalName","page","IconoirDownload","ChecklistQuestionTabs","setLastClickedQuestionId","externalEmail","hidePreviousAnswers","autoOpenFileTab","prePopulateAnswerOptionID","_this$state$showDelet","prevAnswer","Boolean","prevAnswerTab","iconSize","filteredComments","itemComments","itemAttachments","filteredChecklistFiles","handleCloseChecklistFileUploadModal","handleOpenChecklistFileUploadModal","handleConfirmDeleteComment","deleteCommentId","toggleShowChecklistGridRowDelete","handleCancelDeleteAttachment","isDeleteAttachmentModalOpen","handleConfirmDeleteAttachment","deleteAttachmentId","executeActionAfterValidatingRPVisibilityConstraint","textarea","checkRPVisibilityConstraint","deleteModalStyle","deleteAttachmentModal","uploadFileModal","tabs","checklistSectionQuestionCommentID","onMouseOver","displayCommentIcon","onMouseLeave","editMode","commentedBy","dateCommented","uploadedBy","dateUploaded","checklistFileAttachmentID","incomeActions","ChecklistIncomeDetailsContainer","isSectionVisible","ChecklistAssetDetailsContainer","fontcolor","white","DistributionTestSummaryItem","injectIntl","NumericFormat","formattedCurrencyInput","intl","handleOnChange","isAllowed","formattedValue","floatValue","thousandSeparator","errors","editDistributionForm","FormattedCurrencyInput","EditDistributionForm","DistributionTestSummary","distributionTaxableIncomeValue","totalValue","setTaxableIncome","updateInputValue","selectedDistribution","isChecklist","setIsUpdatedDefault","handleSetTaxableIncome","handleUpdateInputValue","DistributionDetailCellRenderer","DistributionDetailTable","distributionActions","ChecklistDistributionDetailsContainer","createEditDistributiontFormValues","MotifFileUploaderItem","IconoirPage","CustomQuestionAttachmentList","attachmentList","handleDownloadAttachmentClick","_ref$fileSize","onDownloadClick","attachmentData","fileIcon","customButton","EditChecklistItem","isEmail","wrapInputFunction","isUnanswered","lengh","isInstructionType","hasChildrenWithAnswers","isChildQuestionVisible","hasChildrenWithUnmatchedAnswers","nextItem","previousAnswersMatch","hasRelatedItemWithUnmatchedAnswers","itemHierarchy","getHierarchy","nextItemHierarchy","results","renderChild","renderChildren","nodes","tableItems","dynamicChildQuestionDisplayOrder","renderAsTable","tableItem","Group","showNodes","getHtml","__html","renderPreviousAnswer","renderJustPreviousAnswer","renderArqcStockFmvRow","answer","itemHandler","fmvItemHandler","percentItemHandler","_i3","suffix","_i4","renderArqcAssetTestQuestionChild","HelpPopup","help","dangerouslySetInnerHTML","flowing","editChecklistItem","handleRemovePsqSection2Row","allowRemovePsqSection2Row","answers","sumFmvOfStockOwned","sumPercentOfStockOwned","defaultPropManager","removePsqSection2Handler","defaultServiceProvider","hasPreviousMatchChild","editChecklistComments","EditChecklistComments","renderPsqSection2InitialItem","editChecklistSection","handleAddPsqSection2Row","handleSubmitReduxForm","dynamicQuestionDisplayOrder","shouldDisableNewRow","EditChecklistSection","ArqcChecklistDetailsForm","handleFormSubmit","_Field","fetchPSQTemplates","createTemplateResponse","upsertCustomPsqTemplate","fetchCustomPsqTemplateById","customPsqTemplateDefaultState","transformTemplateQuestions","parentQuestionId","questionTypeId","childQuestionDisplayRuleJSON","fetchAvailableQuestion","transformAvailableQuestions","childItem","sectionItem","fetchQuestionById","dispatchAvailableQuestion","fetchCustomChecklistTemplateLookupTypes","fetchCustomPsqTemplateContentById","fetchChecklistTemplateByChecklistTemplateId","updateChecklistTemplateToLockOrUnlock","lockTemplate","updateTemplateResponse","updateChecklistTemplateToEnableEditMode","persistUncommittedTemplateSectionChanges","commitCustomTemplateTemplateChanges","abandonCustomTemplateTemplateChanges","IconoirLock","IconoirLockSlash","IconoirEdit","checklistTemplateID","lockedBy","isEditMode","beingEditedBy","beingEditedByValidationMessage","currentUserIsEngAdmin","currentUserIsEngagementUser","lockedByValidationMessage","enableActionForLockedAndEditModeTemplate","handleLock","handleEdit","allowDeleteAction","questionTitle1","questionTitle2","nt1","nt2","nums1","nums2","isNanNT1","isNanNT2","handleRowDelete","TemplateActionCellRenderer","QuestionTitleComparator","CommentsCellRenderer","ShowCommentsTable","filterParams","snapshotSectionName","toLocaleDateString","attachedFileName","AttachmentsCellRenderer","ShowAttachmentTable","DiscrepanyCellRenderer","ShowDiscrepanciesTable","check","getTokens","valueArray","splitValue","comp","countCheck","displayQuestionOrder","discrepancyMessage","serviceActions","ChecklistNavigation","customChecklistTemplateActions","ArqcChecklistRecord","setActiveItem","isEngagementAdminOrSysAdmin","populateMissingTaxableReitSubsidiaries","checklistDropdownOpen","setChecklistRecordAsCurrentRecord","selectedAttachmentId","selectedCommentId","deleteFor","handleGridRowDeleteById","withAnswer","arqcChecklistId","getChecklistCount","updatedAttachmentDetails","attachment","updatedQuestionText","updatedCommentsDetails","localState","trses","changed","isSubNavigation","getAttachmentDetails","getCommentsDetails","counters","activeTab","getIsGridNoDataFound","isChecklistContentEnabled","getDetails","_div5","canDelete","canRevertState","DistributionTestContainer","inputValue","dividend","PSQChecklistTable","PsqCreateChecklistModal","handleFieldChanged","handleClientEmailChanged","handleEyEmailChanged","isInitialLoad","handleSetInitialEmail","propertyOptions","setSelectedProperty","propertyTypeOptions","setSelectedPropertyType","setSelectedOption","_splitArray$","modalStyle","propertyData","useHandleFieldChanged","useHandleFieldChangedPropertyType","useHandleFieldChangedProperty","useHandleFieldChangedPopulateAns","PSQChecklistContainer","handleCreateField","clientContactEmails","reportPeriodSummary","questionnaireTemplateId","periodProperties","findEmailAddress","filteredclientEmails","emailsArray","filteredEmailsArray","validateEmail","filteredUniqueArray","isRejectedDomain","_iterator4","_step4","eyTeamMemberField","navigationIcRefresh24px","contentIcUndo24px","communicationIcEmail24px","actionIcCheckCircle24px","PsqChecklistSummaryItem","handleSelectedChecklistChanged","handleSendNotification","isRevertStateVisible","getPsqChecklistLink","propertyTypeObject","stateName","revertChecklistStateDisabled","propertyManagerName","reviewCompletedDate","_span4","_span5","_span6","PsqChecklistSummary","_th3","_th4","_th5","_th6","_th7","_th8","PsqProviderSummaryItem","newValues","PsqProviderSummary","hasAnswers","DeleteChecklistServiceProviderModal","showDeleteChecklistServiceProviderModal","toggleShowDeleteChecklistServiceProviderModal","deleteServiceProvider","Modal","Grid","BootstrapButton","BootstrapDropdown","ButtonGroup","DropdownButton","PsqChecklistRecord","selectedServiceProvider","toggleShowDeleteChecklistServiceProvider","handleServiceProviderDelete","psqChecklistId","providerSummaries","psqSection2","additionalServicesItems","lastItem","questionIdsToRemove","serviceProviderQuestionIdsToRemove","removeServiceProviderQuestionResponse","reArrangeSortOrder","newSortOrder","sortOrder","_section$items$j$titl","_section$items$j$titl2","oldQuestionSortOrder","StartIndex","_element$title$split","_element$title$split2","childOrder","childQuestionText","encodeURIComponent","propertyFullAddress","ChecklistReadyModal","ExternalArqcChecklistPage","handleAddArqcExhibitBRow","handleRemoveArqcExhibitBRow","handleArqcExhibitBItemAnswered","handleExternalConfirmationAction","handleSaveExternalArqcChecklist","isSubmittedForEyReview","handleSaveCommentExternal","currentError","isExternalPermUser","ActionName","checklisId","_e$target","foundSection","handleSaveBtnClick","handleSubmitEyReviewBtnClick","emailFromIdentifier","_div6","_div7","errorResposne","shape","ReitsExternalRow","ReitsExternal","reitsAreLoaded","ReitsExternalPage","ChecklistListRow","checklistRow","arqcCheckListId","ChecklistList","ChecklistsExternalPage","MotifProgressLoader","ForwardPsqForInternalReviewModal","handleInternalReviewEmailFieldChanged","internalReviewEmailsValue","_MotifProgressLoader","tip","ExternalPsqChecklistPage","handleSaveExternalPsqChecklist","showForwardPsqForInternalReviewModal","hideForwardPsqForInternalReviewModal","submitForwardPsqForInternalReviewModal","setInternalReviewEmailFieldReference","handleDismissForwardPsqErrorMessage","internalReviewEmails","forwardPsqFormLoaded","isPsqCompletionRequirementFulfilled","isPsqCompletionRequirementEnabled","checklistDetails","uniqueValues","completionPercentage","handleOnSubmitInternallyBtnClick","handleOnSubmitEyReviewBtnClick","updatedChecklist","CallbackPage","uploadFinalReport","fetchUploadedReport","downloadFinalReport","clearUploadFinalReportSuccess","deleteFinalReport","FileNotifications","OtherFileUpload","canUpload","onDownload","onDelete","FileManagementCellRenderer","FileList","emptyMessage","ChecklistAttachmentFileCellRenderer","ChecklistAttachmentFileList","getChecklistType","CoreItems","tbPurposeIndex","closeStatus","clearReitFileInput","clearPropertyFileInput","clearReportFileInput","propertyTbUploadLabelText","propTbSelect","mappingsDateUploaded","_b","handleMappingsDownload","handleConsolidatedTrialBalanceDownload","handleTbFileChange","handleUploadTrialBalance","tbFile","trialBalanceDateUploaded","_b2","trialBalanceExists","handleTrialBalanceDownload","handleTrialBalanceDelete","prop","handlePropertyTbFileChange","handleUploadPropertyTrialBalance","propertyTbFile","propertyTrialBalanceDateUploaded","_b3","propertyTrialBalanceExists","handlePropertyTrialBalanceDownload","handlePropertyTrialBalanceDelete","_MotifIcon6","handleReportFileChange","handleUploadReport","finalReportFile","finalReportDateUploaded","_b4","finalReportExists","handleReportDownload","_MotifIcon7","handleReportDelete","_MotifIcon8","handleAllTrialBalancesDelete","_MotifIcon9","FileManagementPage","otherFile","onOtherFileChange","onUploadOtherFile","onOtherFileDownload","onOtherFileDelete","clearSuccess","lastModified","chartActions","finalDeliverableReportActions","ReitFileManagementPage","disableCurrentTestSnapshotButton","onChecklistAttachmentDownload","onChecklistAttachmentFileDelete","onTestSnapshotDownload","onTestSnapshotDelete","handleMappingsDelete","setDisableCurrentTestSnapshotButton","getHasIncompleteSecuritySnapshots","setCanReport","setCanUpload","firstPropertyId","firstPropertyPctOfOwnership","deleteAllTrialBalances","stateUpdate","stateCallback","createdBy","createdDateTime","_data$find","created","mappingsExist","AddSysAdminModal","showAddSysAdminModal","toggleShowAddSysAdminModal","SystemAdminCellRenderer","AdminAuthList","adminUserSearchText","handleAddSysAdminModalAction","AdminAuthPage","filteredAdminAuths","System","UnauthorizedUserContainer","ExternalUnauthorizedUserContainer","MappingsListRow","isAPropertyMapping","datetime","onEditButtonClick","clientAccountCategoryDescription","reitTestingAttributeCode","lastUpdatedDateTime","IconoirCheckCircle","UploadStatusComponent","acceptedfileNames","_MotifMessage","_MotifMessage2","AccountMappingsUploadModal","handleClose","toggleShowUploadAccountMappingsModal","uploadChartValidationError","showUploadAccountMappingsModal","MappingForm","selectedAttribute","setSelectedAttribute","isReadOnly","setIsReadOnly","isSubAttributeHidden","setisSubAttributeHidden","isSubAttributeReadOnly","setisSubAttributeReadOnly","handleDefaultSubAttributeFocus","tbType","reitTestingAttributeLookupOptions","rta","reitTestingAttributeID","clearDropDownValueFromForm","dropdownName","conditionalRequiredSelect","handleAttributeChange","selectedValue","_lookupTypes$reitTest","selectedAttr","selectionHeader","SyncREITTestingAttributesModal","showSyncREITTestingAttributesModal","toggleShowSyncREITTestingAttributesModal","syncREITTestingAttributesFormValues","selectedTbName","applyToREITorProperties","MappingsList","formMapping","showConfirmation","tbMappings","trialBalancePurposes","handleDownloadAll","handleDeleteAll","handleConfirmDelete","submittingMapping","selectedTbPctOwnership","loading","selectedTbId","handleSyncREITTestsingAttributeAction","syncInitialValue","downloadClientAccountMappings","mappingType","reitIdForTemplate","propertyIdForTemplate","setShowUploadAccountMappingsModal","chartOptionsOpen","setChartOptionsOpen","confirmModalStyle","submittingMessage","createChartLink","_em","chartAssignmentActions","MappingsPage","mappingSearchText","periodMappingCount","tbMappingsBalances","constructor","chartDetails","nextProps","clearAndSetFilter","_this$props$lookupTyp","selectedReitTestingAttr","reitTestingAttribute","pctOwnership","filterTbMappings","syncREITId","syncPropertyId","synchType","ScheduleChecklistHeader","handleDownloadClick","toggleShowUploadChecklistDeliveryScheduleModal","clientRecipients","ClientsRecipientsCellRenderer","ScheduleChecklistTable","filteredScheduleChecklists","reitOrPropertyTypeDescription","prePopulateAnswerOptionDescription","sendDateQ1","sendDateQ2","sendDateQ3","sendDateQ4","PSQCompletionRequirement","isPSQChecklistCompletionRequirementEnabled","handlePSQCompletionRequirementChange","ChecklistDeliveryScheduleUploadModal","closedReportPeriodExists","closedReportPeriodExistsMessage","refreshScheduleChecklists","scheduleChecklistValues","uploadChecklistDeliveryScheduleValidationError","isClosedReportPeriodExists","rejectedDetailMsg","acceptedfileName","showUploadChecklistDeliveryScheduleModal","ScheduleChecklistContainer","getDefaultCalendarYear","scheduleChecklists","defaultCutOffDate","envCutOffDate","SCHEDULE_CHECKLIST_CALENDAR_YEAR_CUTOFF_DATE","cutoffDateParts","cutOffDate","setHours","currentDate","ManageChecklistHeader","psqArqcOptions","areAllReportPeriodsVisible","ManageChecklistTable","nodeA","nodeB","isDescending","_nodeA$data","_nodeB$data","recipientEmailA","recipientEmailB","_nodeA$data2","_nodeB$data2","allChildrenCount","ApplyPsqArqcFilter","checklistTypeFilterInstance","getFilterInstance","setModel","ManageChecklistContainer","isStandardTemplate","targetUrl","handlePreview","TemplateLinkCellRenderer","CustomChecklistTemplateTable","questionnaireCount","lastUpdatedBy","CustomChecklistTemplateHeader","currentRoute","Title","DeleteCustomPSQTemplateModal","showDeleteCustomPSQTemplateModal","handleDeleteCustomPSQTemplate","toggleShowDeleteCustomPSQTemplateModal","checklistTemplate","CustomPSQTemplateValidationMessageModal","showCustomPSQTemplateValidationMessageModal","handleValidationMessage","toggleShowCustomPSQTemplateValidationMessageModal","editModeValidationMessage","CustomPSQTemplateLockUnlockMessageModal","showCustomPSQTemplateLockUnlockMessageModal","toggleShowCustomPSQTemplateLockUnlockMessageModal","lockUnlockValidationMessage","SystemAdminUnlockTemplateModal","showSystemAdminUnlockTemplateModal","handleSystemAdminUnlockTemplate","toggleShowSystemAdminUnlockTemplateModal","systemAdminUnlockTemplateMessage","CustomPSQTemplateDeleteTemplateValidationMessageModal","showCustomPSQTemplateDeleteTemplateValidationMessageModal","toggleCustomPSQTemplateDeleteTemplateValidationMessageModal","validationMessage","CustomPSQTemplatePreviewTemplateValidationMessageModal","showCustomPSQTemplatePreviewTemplateValidationMessageModal","toggleCustomPSQTemplatePreviewTemplateValidationMessageModal","isUserActiveOfEditedTemplate","CustomChecklistTemplateContainer","handleRedirectFromEditTemplate","lockUnlockTemplate","executeIsUserActiveOfEditedTemplate","selectedChecklistTemplate","deleteCustomPSQTemplateValidationMessage","previewCustomPSQTemplateValidationMessage","query","showValidationMessage","showValidationMsg","isUserActive","isTemplateEditedByOtherUser","lockChecklistTemplate","templateRequest","_response$errorRespon","_response$errorRespon2","templateClientId","CustomFdrTemplateHeader","customFdrTemplateFormValues","pristine","onCancel","toggleShowCreateTemplateModal","toggleShowDeleteTemplateModal","editorUsed","handleTemplateSelection","unshift","Plugin","PluginKey","Decoration","DecorationSet","getRegexp","mentionTrigger","hashtagTrigger","allowSpace","tag","getMatch","$position","parastart","doc","textBetween","pos","regex","mentionMatch","tagMatch","from","queryText","range","debounce","timeoutId","timeout","getNewState","suggestions","getMentionsPlugin","defaultOpts","getSuggestions","cb","getSuggestionsHTML","activeClass","suggestionTextClass","maxNoOfSuggestions","delay","showListTimeoutId","showList","view","innerHTML","itemNode","setIndex","addClassAtIndex","domAtPos","$from","paraDOM","textDOM","querySelector","offset","getBoundingClientRect","closest","hideList","removeClassAtIndex","itemList","childNodes","prevItem","goNext","goPrev","attrs","schema","create","tr","replaceWith","insertText","updateState","down","up","tab","esc","decorations","editorState","_this$getState","inline","nodeName","mentionNode","atom","toDOM","parseDOM","getAttrs","dom","getAttribute","tagNode","addMentionNodes","mention","addTagNodes","ProseMirror","Schema","DefaultFontFamilies","DefaultParagraphFontSize","DefaultHeadingFontSize","ParagraphMargin","DefaultHeadingColor","buildSchema","originalSchema","mySchema","spec","marks","paragraph","heading","Tags","EditorUtils","DropDownList","InsertTagTool","defaultItem","valueTags","sectionTags","nodeType","canInsert","textField","dataItemKey","userSelect","popupSettings","ComboBox","wordFontSizes","comboBoxFontSize","roundToNearestHalf","filterFontSize","selectedProps","nonSelectedProps","CustomFontSizeTool","styleQuery","currentFontSizes","getInlineStyles","singleFontSizeSelected","currentFontSize","applyInlineStyle","itemRender","li","itemProps","itemMatchesFontSize","dataItem","newItemProps","allowCustom","spacingOptions","percentagePattern","numberPattern","DefaultToolText","formatLineHeight","numberString","readLineHeight","CustomLineSpacingTool","appliedSpacings","singleSpacingApplied","currentSpacing","styling","Editor","EditorTools","EditorDialogs","EditorToolsSettings","baseKeymap","newlineInCode","createParagraphNear","splitBlockKeepMarks","chainCommands","liftEmptyBlock","Bold","Italic","Underline","Strikethrough","Subscript","Superscript","ForeColor","BackColor","CleanFormatting","AlignLeft","AlignCenter","AlignRight","AlignJustify","Indent","Outdent","OrderedList","UnorderedList","Undo","Redo","FontSize","FontName","FormatBlock","Unlink","InsertTable","SelectAll","ViewHtml","AddRowBefore","AddRowAfter","AddColumnBefore","AddColumnAfter","DeleteRow","DeleteColumn","DeleteTable","MergeCells","SplitCell","FindAndReplace","FindAndReplaceDialog","textHighlight","setHtml","pasteCleanup","sanitize","sanitizeClassAttr","sanitizeStyleAttr","removeAttribute","EditorView","EditorState","keymap","paragraphPlaceHolder","isNode","maybeNode","Node","isReplaceStep","maybeReplaceStep","getLastCursorNode","transaction","curSelection","$cursor","_nodes","extractTransactionContext","cursorPosition","shouldRemoveParagraphPlaceholder","parentOffset","lastNode","paragraphStartsWithPlaceHolder","placeholderRemovalPosition","CustomFontName","customFontName","paletteSettings","palette","tileSize","colorPickerForeProps","foreColor","colorPickerProps","ForeColorCustom","colorPickerBackProps","backColor","BackColorCustom","pasteSettings","convertMsLists","attributes","CustomFdrTemplateEditor","showDialog","editor","onFindClose","initializeEditor","iframeElement","contentDocument","iframeDocument","setAttribute","createTextNode","viewProps","onEnterPressed","setTransactionMetadata","setMeta","Enter","plugins","ModF","getTagSuggestionsHTML","mentionPlugin","createDocument","initialHtml","mount","editable","handleDOMEvents","dispatchTransaction","getMeta","storedMarks","$to","contentIsBeingInserted","steps","ensureMarks","onEditorChanged","tools","defaultEditMode","contentStyle","defaultContent","onMount","setEditorReferences","onPasteHtml","pastedHtml","ModalBody","ModalFooter","CreateFDRTemplateModal","mode","createEdit","clearDuplicateErrorMessage","onSaveAs","DeleteFdrTemplateModal","showDeleteTemplateModal","CustomFdrTemplateContainer","handleSaveTemplate","handleSaveAsTemplate","handleDeleteTemplate","showCreateTemplateModal","editorReadOnly","uniqueKey","fdrTemplateContent","newTemplateId","ChartOfAccountsManagerHeader","isEditModeEnabled","chartOfAccountsFormValues","selectedChart","showCreateClientAccountModal","showUploadChartModal","handleAddClientAccount","handleOnEditToggle","searchBoxText","handleSearchBox","clearDuplicateChartOfAccountErrorMessage","toggleEditNameModal","toggleShowCreateClientAccountModal","toggleShowChangeDefaultChartModal","toggleShowUploadChartModal","handleChartSelection","managementDropdownOpen","setManagementDropdownOpen","downloadChartOfAcconts","chartManagementOptions","onClickHandle","chartOfAccountsOptions","chart","renderUnitOptionsSet","cmoption","CreateChartOfAccountsModal","handleIsDefault","handleCopyExistingChart","createChartModalFormValues","hasNoCharts","DuplicateAccountsEditModal","showDuplicateAccountsEditModal","closeDuplicateAccountsEditModal","clientAccountCodeList","code","GridColumn","GridNoRecords","filterBy","globalLookupTypes","globalCategoryOptions","globalAttributeOptions","LoadingPanel","selectedText","isError","DropDownCell","optionsData","_React$useState","_React$useState2","setData","filterData","filterChange","dataValue","_React$useState3","_React$useState4","setOptionValue","Event","dataIndex","syntheticEvent","inEdit","filterable","isFilterable","onFilterChange","memo","InputCell","selectedReitAttribute","setReitAttributeValue","isSubAttributeEnabled","setError","handleSubAttributeChange","maxInteger","parsedValue","onInput","CategoryCell","dropDownType","AttributeCell","ChartOfAccountsTable","mappings","handleAccountUpdate","pagerSettings","buttonCount","pageSizes","previousNext","skip","take","dir","dataState","setDataState","dataResult","setDataResult","rowsAffected","setRowsAffected","dataResultOnEditing","setDataResultOnEditing","setShowDuplicateAccountsEditModal","_useState17","_useState18","setClientAccountCodeList","_useState19","_useState20","editLoading","setEditLoading","tempGlobalCategoryOptions","mappingsEditEnabled","dataStateChange","textToFilter","filterConfig","logic","filters","operator","itemChange","inEditID","chartOfAccountsID","editedItem","affectedRowsCurrentCounter","handleSaveUpdates","foundDuplicates","duplicateCodes","foundOnMappings","foundOnRowsAffected","affectedAccount","rowRender","trElement","trProps","zIndex","pageable","onDataStateChange","scrollable","fixedScroll","editField","onItemChange","_GridColumn","EditSaveModalMessage","showEditSaveModalMessage","toggleShowEditSaveModalMessage","handleAccountUpdateConfirmation","EditChartNameModal","editChartNameFormValues","CreateClientAccountModal","isDuplicate","clientAccountCategoriesOptions","cac","reitTestingAttributesOptions","_reitTestingAttribute","attribute","close","createClientAccountFormValues","ChangeDefaultChartOfAccountsModal","showChangeDefaultChartModal","handleChangeDefaultChart","chartOfAccountActions","ChartUploadModal","DeleteChartOfAccountsModal","ChartOfAccountsManagerContainer","handleCreateChart","onUploadCoaFile","onDownloadCoaTemplate","handleNameUpdate","uploadCoaFileStatus","chartsToUpdate","defaultChartID","fetchedChartMappings","newChartOfAccountID","uploadCoaFileAndGetCoaMappings","newChartID","newChartId","fetchchartOfAccounts","showEditNameModal","showEditCustomQuestionModal","newDefaultChartId","ChartAssignmentHeader","handleCalendarYearSelection","handleReitSelection","chartAssignmentFormValues","calendarYearOptions","reitOptions","downloadChartOfAssignments","ChartAssignmentConfirmationModal","showChartAssignmentConfirmationModal","toggleShowChartAssignmentConfirmationModal","modifiedMappingsArray","handleConfirm","rowRecords","setrowRecords","confirmationInputText","setConfirmationInputText","saveEnabled","setSaveEnabled","processedModifiedRecordsArray","handleConfirmationInput","showHideConfirmationModal","striped","bordered","hover","oldChart","newChart","GridToolbar","globalCharts","globalDefaultChart","showSelect","periodStatusDescription","textValue","isSearchable","menuPortalTarget","ChartSelectionCell","defaultChart","ChartAssignmentAllReitsTable","reitsArray","handleReitUpdate","setShowChartAssignmentConfirmationModal","recordsModifiedArray","setRecordsModifiedArray","reitsModifiedArray","setReitsModifiedArray","requestFormattedMappings","reitMapping","PeriodAssignments","newChartName","newData","newMapping","listWithRemovedRecord","_GridColumn2","_GridColumn3","_GridColumn4","_GridColumn5","ChartAssignmentPropertyTable","propertiesArray","handlePropertyUpdate","propertiesModifiedArray","setPropertiesModifiedArray","ChartAssignmentContainer","reitPropertyMappings","reitsGridArray","reitPropertiesGridArray","allReitsOption","fetchedCalendarYears","defaultCalendarYear","fetchCalendarYearReitsGridArray","fetchedCalendarYearReits","isReitPresent","BulkReportManagementHeader","toggleShowCreateAndRunReportPackageModal","bulkReportPackageId","bulkReportPackageName","bulkReportPackageZipFileGUID","handleDownload","packageDisplayStatus","badgeVariant","BulkReportManagementActionCellRenderer","BulkReportManagementStatusCellRenderer","BulkReportPackageNameCellRenderer","BulkReportManagementTable","dateFormat1","dateFormat2","earliestReportPeriodDescription","scheduledDeletionDate","getRowNode","forEachNode","groupOptions","groupingOfReportExtractID","groupingOfReportExtractDescription","reportExtractGroups","GroupingofReportExtract","reportExtractGroupByList","showGroupingofExtract","handleAddLevelGroupBy","handleDeleteLevelGroupBy","handleGroupBySelection","groupofControls","FDRReportTypeReportItemList","CreateAndRunReportPackageModal","showCreateAndRunReportPackageModal","handleCreateAndRunPackage","reportTypeSelectedCount","handleIncludeDiagnosticReportCheckboxChecked","includeDiagnosticReport","handleShowGroupingofExtract","groupingofReportExtractList","handleFileSelection","groupByErrorMessage","setFdrSelection","resetCheckboxes","isAuditOnlyClient","handleAllSelection","checkedPeriods","checkedReits","checkedConsilidatedMappingCheckbox","setConsolidatedMappingCheckbox","checkedREITTrialBalanceCheckbox","setREITTrialBalanceCheckbox","checkedPropertyTrialBalanceCheckbox","setPropertyTrialBalanceCheckbox","checkedGeneralAndOtherFilesCheckbox","setGeneralAndOtherFilesCheckbox","checkedUserUploadedFinalReportCheckbox","setUserUploadedFinalReportCheckbox","checkedOneExcelPerREITPerReportPeriodCheckbox","setOneExcelPerREITPerReportPeriodCheckbox","checkedConsolidatedExcelforAllSelectedREITsCheckbox","setConsolidatedExcelforAllSelectedREITsCheckbox","checkedDownloadWorkDocForPSQChecklistWithAnswersOnlyCheckbox","setDownloadWorkDocForPSQChecklistWithAnswersOnlyCheckbox","checkedDownloadPDFForPSQChecklistWithAnswersOnlyCheckbox","setDownloadPDFForPSQChecklistWithAnswersOnlyCheckbox","checkedDownloadWorkDocForPSQChecklistWithAnswersAndCommentsCheckbox","setDownloadWorkDocForPSQChecklistWithAnswersAndCommentsCheckbox","_useState21","_useState22","checkedDownloadPDFForPSQChecklistWithAnswersAndCommentsCheckbox","setDownloadPDFForPSQChecklistWithAnswersAndCommentsCheckbox","_useState23","_useState24","checkedDownloadWorkDocForPSQChecklistWithoutAnswersOrCommentsCheckbox","setDownloadWorkDocForPSQChecklistWithoutAnswersOrCommentsCheckbox","_useState25","_useState26","checkedDownloadPDFForPSQChecklistWithoutAnswersOrCommentsCheckbox","setDownloadPDFForPSQChecklistWithoutAnswersOrCommentsCheckbox","_useState27","_useState28","checkedDownloadPSQChecklistAttachmentsCheckbox","setDownloadPSQChecklistAttachmentsCheckbox","_useState29","_useState30","checkedDownloadWorkDocForARQCChecklistWithAnswersOnlyCheckbox","setDownloadWorkDocForARQCChecklistWithAnswersOnlyCheckbox","_useState31","_useState32","checkedDownloadPDFForARQCChecklistWithAnswersOnlyCheckbox","setDownloadPDFForARQCChecklistWithAnswersOnlyCheckbox","_useState33","_useState34","checkedDownloadWorkDocForARQCChecklistWithAnswersAndCommentsCheckbox","setDownloadWorkDocForARQCChecklistWithAnswersAndCommentsCheckbox","_useState35","_useState36","checkedDownloadPDFForARQCChecklistWithAnswersAndCommentsCheckbox","setDownloadPDFForARQCChecklistWithAnswersAndCommentsCheckbox","_useState37","_useState38","checkedDownloadWorkDocForARQCChecklistWithoutAnswersOrCommentsCheckbox","setDownloadWorkDocForARQCChecklistWithoutAnswersOrCommentsCheckbox","_useState39","_useState40","checkedDownloadPDFForARQCChecklistWithoutAnswersOrCommentsCheckbox","setDownloadPDFForARQCChecklistWithoutAnswersOrCommentsCheckbox","_useState41","_useState42","checkedDownloadARQCChecklistAttachmentsCheckbox","setDownloadARQCChecklistAttachmentsCheckbox","_useState43","_useState44","checkedFdrTemplateWordDocCheckbox","setFdrTemplateWordDocCheckbox","_useState45","_useState46","checkedFDRTemplatePDFCheckbox","setFDRTemplatePDFCheckbox","_useState47","_useState48","checkedREITGeneralFilesCheckbox","setREITGeneralFilesCheckbox","periodsInSortedOrder","uniquePeriodDescriptions","rp","periodDesc","reportPeriodOptions","_checkedPeriods$find","cp","reportTypesCount","setSelectedReitIds","setSelectedReportIds","setSelectedReportDescriptions","setHasIncompleteSecuritySnapshot","_useState49","_useState50","selectedReitIds","_useState51","_useState52","selectedReportIds","_useState53","_useState54","selectedReportDescriptions","_useState55","_useState56","handleReitChange","handleIncompleteSecuritySnapshot","tempSelectedReportIds","matchingReportPeriods","handleReportChange","tempSelectedReportDescriptions","reportId","_MotifLabel7","_MotifLabel8","alignSelf","showIcon","fetchBulkReportPackages","fetchBulkReportPackagesETA","createBulkReportPackage","downloadBulkReportPackage","deleteBulkReportPackage","bulkReportPackageActions","BulkReportManagementContainer","setInitialData","processETA","defaultFdrSelections","selectedFilesForCreatePackage","fdrPdfSelection","fdrWordSelection","bulkReportIdToBeDeleted","selectedPeriods","checkSelectedPeriod","selectedReits","checkSelectedReit","isComponentMounted","intervalETA","pkg","timeoutETA","firstIndex","updatedBulkReportPackagesETA","packageETA","reportPackages","groupingofReportExtracts","bulkReportPackageStatus","fileType","selectedFiles","indexToRemove","createPackageValues","bulkReportPackageConfigData","reportPeriodDescriptions","packageFileTypeIds","getAllSelectedFiles","groupBy","getGroupByList","fdrOptions","getFdrOptions","selectedTemplateValues","isChecked","grpofReportExtractList","checkDuplicateInGroupBy","arrayIndex","groupByDetail","set","repeatedElement","groupByList","finalFdrOptionsList","isFdrTemplateSelected","mergeWithDefaultSelections","mergeDeDupArrays","allOptions","_event$target2","_event$target3","textContent","innerText","baseVal","ariaSelected","currentTarget","_allOptions$filter","_event$currentTarget$","_event$target$firstCh","_event$target$classNa","_event$target4","selectedInnerValues","newSelectionOptions","isSelectAllIndeterminate","firstChild","isCheckboxDeselect","isSelectClicked","isDeselectClicked","periodText","selectedValueNoSpaces","IconoirCopy","IconoirPasteClipboard","AssignReitsTable","handleReset","handleCopyField","handlePasteField","copiedFieldName","glowStyle","boxShadow","hasFormSubmitErrors","_strong","dft","_MotifErrorMessage2","_strong2","customFdrTemplateActions","DefaultFdrTemplatesContainer","handleSaveDefaultFdrTemplates","handlePrePopulateCheckAll","filterPsqArqc","filterDisabled","handleEscape","savedInitialValues","filteredCalendar","quarterDateError","dateModalQuarter","dateModalOpen","dateModalQuarterValue","prePopulateCheckAll","defaultFdrTemplateQ1","defaultFdrTemplateQ2","defaultFdrTemplateQ3","defaultFdrTemplateQ4","dirty_fields_only","dirtyIds","singleFieldName","allFieldsPrefix","fieldsToUpdate","defaultFdrTemplatesValues","copiedQuarterPrefix","copiedField","checklistDeliveryCalendarValues","split_id","isProperty","propertyTrackingId","MotifAccordion","MotifAccordionContent","MotifAccordionTrigger","QuestionAccordion","_question$questionTyp","internalSectionId","hasSection","interalParentQuestionId","handleAddNewChildQuestion","handleQuestionDropComponent","handleAvailableQuestionDragStart","handleSectionChildQuestionDragStart","dropCategory","handleOpenAccordion","handleCloseAccordion","parentQuestionSortOrder","visibleQuestionTypes","_ref$hideEditDelete","hideEditDelete","parentPicklistItems","_ref$allowChildQuesti","allowChildQuestionEdit","parentQuestionIndex","parentQIndex","internalQuestionId","accordionCategory","stopPropagation","questionToEdit","questionToDelete","onAddNewChildClick","parentQuestion","getDisplayId","hasChildQuestion","showChildQuestion","enabledParentAnswersCount","isAccordionOpen","onOpen","_li","childQuestion","_question$picklistIte","onDragStart","_QuestionAccordion","_question$picklistIte2","MotifAccordionGroup","QuestionsComponent","_ref$internalSectionI","_ref$hasSection","_ref$interalParentQue","handleSectionQuestionDragStart","handleSectionCommentDragStart","_ref$dragSectionId","dragSectionId","isChildQuestion","setIsChildQuestion","_MotifAccordion","IconoirPlusSquare","IconoirMinusSquare","AvailableQuestions","handleShowStandardQuestions","showStandardQuestions","handleSearchQuestion","searchQuestionText","handleAvailableQuestionsSearchBy","selectedAvailableQuestionSearchBy","createAvailableQuestionsSearchBy","handleAvailableQuestionDragOver","handleQuestionDropPanel","expandAllAccordionsOnAvailableQuestions","handleToggleExpandCollapseAllAcordionsOnAvailableQuestions","handleOpenAccordionOnAvailableQuestions","handleCloseAccordionOnAvailableQuestions","onDragOver","PsqCustomChecklistTemplateHeader","existingTemplates","isTemplateDirty","handleTemplateReset","handleOnChangeOfTemplateName","hasTemplateNameChanged","readOnlyModeForUser","existingTemplateOptions","psqCustomChecklistTemplateValues","existingTemplate","hideclosebutton","SectionAccordionComponent","handleSectionQuestionDragOver","handleSectionDragStart","handleOpenAccordionOnTemplate","handleCloseAccordionOnTemplate","itemToEdit","itemToDelete","sectionHighlightClass","PsqCustomChecklistTemplate","sectionsWithQuestions","handleSectionDragOver","expandAllAccordionsOnTemplate","handleToggleExpandCollapseAllAcordionsOnTemplate","PsqCustomChecklistTemplateFooter","toggleAddSectionModal","handleOnClickCreateNewQuestion","isNewQuestionForSectionEnabled","_ref$showNewQuestionA","showNewQuestionAvailablePanel","changeAttribute","PicklistItemSection","addPicklistItem","removePicklistItem","shouldDisableAddPicklistItem","picklistItem","IntentToEditLockExtensionModal","showIntentToEditLockExtensionModal","handleCancelIntentExtent","handleAcceptIntentExtension","timerDuration","setDelay","padStart","cancelIntentExtension","acceptIntentExtension","AddEditCustomQuestionModal","showAddEditCustomQuestionModal","toggleShowAddEditCustomQuestionModal","toggleShowAddEditCustomQuestionModalAndReleaseIntentLock","picklistItemText","showChildQuestionAlways","parentQuestionTypeID","parentQuestionPicklistItems","handleChangePicklistItem","isQuestionFormDirty","fileAttachmentList","removeFile","handleDrop","existingAttachmentData","handleDeleteExistingFile","startIntentLockTimer","timeoutIdProp","intentLockExpirationTime","currentQuestionIdinWorks","isSaving","intentExtensionModalSettingsDefaultObj","intentExtensionModalSettings","setIntentExtensionModalSettings","reinitializeTimer","setReinitializeTimer","currentLocalDateTime","expirationDateTime","timeLeftForExpirationinMilliSeconds","timeForTimeout","clearLocalStateAndToggleQuestionModal","settingsObj","formAction","showPicklistItemSection","setShowPicklistItemSection","setVal","setShowDeleteModal","selectedQuestionAttachmentIDToDelete","setSelectedQuestionAttachmentIDToDelete","selectedUploadAttachmentToDelete","setSelectedUploadAttachmentToDelete","isParentPicklistQuestion","handleQuestionTypeChange","clearLocalStateAndToggleQuestionModalAndReleaseIntentLock","handleDeleteExistingAttachment","handleRemoveUploadedAttachment","getFileErrorMessage","updateVal","renderQueue","queue","_file$file","_file$file2","_file$file3","_file$file4","_file$errors$","showProgress","percentUploaded","removable","_ul","_ul2","_strong3","_ul3","AddEditCustomQuestionForm","AddSectionModal","showAddSectionModal","handleAddSection","sectionDetail","setNewSection","setAddEditButtonText","newSection","addEditButtonText","cancelSection","_event","addSection","DeleteTemplateQuestionModal","showDeleteTemplateQuestionModal","hasChildQuestions","handleCancelDeleteTemplateQuestion","handleDeleteTemplateQuestion","_ol","_ol2","TemplateConfirmEditQuestionModal","showEditTemplateQuestionModal","handleCancelEditTemplateQuestion","handleEditTemplateQuestion","DeleteLastSectionWarningModal","showDeleteLastSectionWarningModal","toggleShowDeleteLastSectionWarningModal","CustomQuestionAttachmentListUploadStatus","uploadedAttachmentStatus","showAttachmentStatusModal","toggleShowAttachmentStatus","QuestionLockedInfoModal","showInfoModal","headerMessage","handleCloseOnQuestionInfoModal","StandardChildQuestionsRearrangeWarningModal","showStandardChildQuestionsRearrangeWarningModal","handleContinueChildQuestionsRearrangeWarningModal","handleCancelStandardChildQuestionsRearrangeWarningModal","PsqCustomChecklistTemplateContainer","_this$props$router2","selectedExistingTemplateId","selectedQuestions","templateSections","enableNavigation","questionFormPurpose","currentQuestionPicklistItems","questionModalInitialValues","allAvailableQuestions","selectedSectionId","selectedSectionName","isEditLayoutMode","templateQuestionToBeDeletedHasChildQuestions","templateQuestionToBeDeleted","templateQuestionToBeEdited","isTemplateEditedUserActive","showQuestionLockedInfoModal","headerMessageForQuestionLockedInfoModal","contentForQuestionLockedInfoModal","tempTemplateStateOnChildQuestionRearrange","tempisTemplateDirtyStateOnChildQuestionRearrange","parentQuestionOfTheChildQuestionsRearranged","fetchTemplateDataById","isTemplateUserActive","handleTemplateSave","handleSubmitCustomQuestionModalAction","handleToggleAddSectionModal","handleQuestionDropComponentForSectionCategory","handleQuestionDropComponentForSectionQuestionCategory","handleQuestionDropComponentForAvailableQuestionCategory","handleQuestionDropComponentForSectionChildQuestionCategory","handleQuestionDropPanelForSectionQuestionCategory","handleQuestionDropPanelForAvailableQuestionCategory","handleQuestionDropComponentForSectionCommentCategory","reRenderTemplateSectionOnAddNewChildQuestion","reRenderTemplateSectionOnEditParentQuestion","reRenderTemplateSectionOnEditChildQuestion","reRenderTemplateSectionOnAddNewParentQuestion","reRenderAvailableQuestionsOnAddNewParentQuestion","reRenderAvailableQuestionsOnAddNewChilQuestion","reRenderAvailableQuestionsOnEditParentQuestion","reRenderAvailableQuestionsOnEditChilQuestion","getQuestionById","commitCustomPsqTemplateChanges","abandonCustomPsqTemplateChanges","getPreventDropFlagOnDropEvent","preventDragAndDrop","handleDropRejected","_this$props$router3","getAvailableSection","formValues","copiedFromTemplateId","saveEditedCustomPsqTemplate","sectionsRequestData","dataObj","isNewSection","checklistTemplateDetailTableType","flat","childQuestionsRequestData","isStandardQuestion","reloadTemplate","resetTempStatePostChildQuestionsRearrange","requestObj","searchBy","availableQuestions","filterSearchQuestions","filterShowStandardQuestion","shouldPreventDrop","matchedSection","si","matchedSectionId","secIndex","questionItem","qi","preventQuestionTypeList","shouldPreventDragAndDrop","ev","dataTransfer","draggedId","draggedSectionId","draggedChildQuestionId","sectionQuestions","preventDrop","sQuestions","toIndex","sectionQuestionsCount","aQuestions","draggedQuestion","isEmptySection","uniqueSections","updatedSectionQuestions","sectionWiseQuestions","sq","sectionOrder","sortedSections","questionOrder","childQuestionOrder","updatedQuestions","fromIndex","fromSectionId","toSectionId","emptyFromSectionIndex","emptyFromSection","updatedSQuestions","uniqueDroppableSections","toIndexSQuestion","sQuestion","emptyToSectionIndex","otherCategoryFromIndex","cq","updatedChildQuestions","successStateObj","getData","draggedQuestionIndex","parentData","_data","first","selectedParentPicklistItems","setDataForEditQuestionModal","_data2","showStandard","searctText","toLocaleLowerCase","_sections$i$questions","_question","filteredQuestion","questionDeleteCategory","availableQuestionsBySection","_availableQuestionsBy","checklistTemplateSectionId","dmlOperation","removeChildQuestion","questionsDetail","actionPerformed","successSetStateCallBack","lockStatusResult","sectionSortOrderId","existingSections","newSectionSortOrder","clearQuestionForm","newQuestionSource","customQuestion","questionPicklistItems","PicklistItems","setNewFiles","expandOrCollapse","updatedSections","preventAddingQuestion","updatedAvailableQuestions","updatedAllAvailableQuestions","isQuestionLocked","isQuestionAvailableInSection","availableQuestionSectionId","_this$state$templateS","currentQuestionSortOrder","_data3","updatedQuestion","convertedParentQuestionID","retainedChilQuestions","_this$state$templateS2","_questions2","_data4","_data5","isChildQuestionAvailableInSection","_this$state$templateS3","_question2","_data6","convertedQuestion","_data7","editedQuestion","_this22","sectionsLength","_data8","questionTobeAdded","_this23","availableQuestionsDetail","_this24","_data9","_data10","_this25","_data11","_data12","_this26","_data13","_data14","initialTemplateName","attachmentFiles","deleteTemplateQuestion","_this27","addFilesToQueueUnique","newFiles","prevQueue","ids","prevFile","merged","newFile","removedFile","nextQueue","_removedFile$file","createdTemplateId","PsqChecklistTemplatePreview","firstDynamicQuestionIdForServiceProvider","lastId","nextItemNumber","getQuestionnaireTitle","MotifRadioButtonGroup","BulkProcessSignOffModal","showSignOffModal","toggleShowSignOffModal","handleSignOffSave","resetSignOffRadioButtons","BulkProcessUpdateServiceAlertModal","showUpdateServiceScopeInfo","toggleShowUpdateServiceScopeInfo","BulkProcessManagementHeader","handleReportPeriodSelection","toggleServiceScopeModal","updateServicesScopeStatus","updateSignOffStatus","exportBulkProcessHistoryStatus","IconoirCheck","ReitCheckboxHeaderRenderer","ReitCheckboxCellRenderer","AppliedServiceScopeCellRenderer","BulkProcessManagementTable","spanHeaderHeight","BulkProcessManagementContainer","handleServiceScopeSaveAction","handleServiceScopeCancelAction","selectedCalanderYear","selectedReportPeriod","showServiceScopeModal","selectedSignOffStatus","bulkProcessActionId","diagnosticMessage","setCalendarYears","previousYear","yearsArray","getBulkProcessManagementData","requestedAction","hasCompleteOrClosedToReportingReits","getSelectedReits","bulkProcessRequestJSON","getBulkProcessRequestJSON","currentGridState","currentBulkProcessManagementDataState","updateCheckboxsState","resetModalsToggleState","reitsToBeUpdated","updatedBulkProcessManagementData","requestedSignOffStatus","BulkRollForwardHeader","bulkRollForwardFormValues","enableSubmit","rollForwardToSelectionType","BulkRollForwardReitCheckboxHeaderRenderer","BulkRollForwardReitCheckboxCellRenderer","CustomReitToolTip","BulkRollForwardTable","tooltipComponent","rollForwardToPeriod","BulkRollForwardContainer","initiateRollForwardReitsProcess","getRollForwardGridData","getClientData","updatedBulkRollForwardData","_this2$state$gridCurr","_this$props$bulkRollF","_this$props$bulkRollF2","quarterSelection","yearSelection","_this2$props$bulkRoll","_this2$props$bulkRoll2","_this2$state$gridCurr2","_this2$state$gridCurr3","resetForm","getRollForwardToPeriod","rollForwardStatus","checkForSubmitButtonEnablement","_this$state$bulkRollF","_this$state$bulkRollF2","_this$props$bulkRollF3","_this$props$bulkRollF4","isAnyReitSelected","_this$props$bulkRollF5","_this$props$bulkRollF6","currentBulkRollForwardDataState","updateGridAndDataStatePostSubmission","updatedBulkRollForwardtData","bulkRollForwardSelections","getBulkRollForwardSelections","dataSelections","Cookies","BrowserUtils","LogoffPage","cookies","logoutRedirect","onRedirectNavigate","isInIframe","NavigationClient","CustomNavigationClient","_NavigationClient","navigateInternal","relativePath","origin","attempts","maxAttempts","intervalId","routerContext","noHistory","MsalProvider","EventType","handleResponse","setActiveAccount","currentAccounts","ConditionalMsalProvider","pca","navigationClient","setNavigationClient","addEventCallback","eventType","handleRedirectPromise","msalInstanceRef","CustomRouterProvider","_ConditionalMsalProvi","Navigate","RoleGuard","systemAdminFlag","engagementAdminFlag","engagementUserFlag","getClientIdFromPath","clientRegex","_Navigate","DataRetentionManagementHeader","handleDataRetentionActions","isEngagementAdminAndDataSteward","handleExportDataDeletionSummary","selectedApprovedDataDeletionRecords","unapproveDataDeletion","approveException","removeException","checkDataPurgeStatus","stage2DataPurgeStatusID","actionButtonOptionStatus","approveDataDeletion","exportDataDeletionSummary","disabledInfoMessageOfNoRowSelection","disabledInfoMessageOfNoPermission","allRowsInActive","totalRowsOfActiveRecords","checkedRecords","statusesToCheck","_rowNode$data","stage2DeletionStatus","stage3DeletionStatus","DataRetentionManagementReitCheckboxCellRenderer","DataRetentionManagementReitCheckboxHeaderRenderer","DataRetentionManagementTable","refreshGriddataRetentionManagementData","forEachNodeAfterFilterAndSort","isStatusMatched","dataPurgeReportPeriodID","_params$data","opacity","deletionApprovalDueDate","stage2ScheduledDeletionDate","stage2ActualDeletionDate","stage3ScheduledDeletionDate","stage3ActualDeletionDate","approvedBy","approvedDateTime","findWindows","fetchDataRetentionManagementData","dispatchDataRetentionManagementData","approvedDates","localTimeZone","DateTimeFormat","resolvedOptions","timeZone","clientWindowsTimeZone","fetchDataRetentionCalendarYears","ApprovalsCompletedModal","showApprovalsCompletedModal","toggleShowApprovalsCompletedModal","approvalsCompletedModalHeader","approvalsCompletedModalBody1","approvalsCompletedModalBody2","handleOK","dataRetentionManagementActions","DataRetentionManagementContainer","getDataRetentionManagementData","_this$props$dataReten","_this$props$dataReten2","DataPurgeReportPeriodID","LocalTZApproveDateTime","selectedData","statusId","dataPurgeID","dataPurgeStatusID","requestDataVal","prevStatusIsLockedForMissingDeletionApprovalOrException","actualDeletionDate","deletionStatus","stage3DataPurgeStatusID","DataRetentionManagementPolicy","dataPurgeConfigurationParameter_ARQC","dataPurgeConfigurationParameter_Regular","dataPurgeConfigurationParameter_ARQC_Value","dataPurgeConfigurationParameter_Regular_Value","convertWordToNum","dataPurgeConfigurationValues","isDecimal","tabBarIndex","setTabBar","_h3","_h4","_p3","rowspan","colspan","_tr5","_tr6","_tr7","_tr8","_p4","_p5","_h5","_p6","_p7","_p8","_h6","_li2","_li3","_li4","_li5","_li6","_img","_p9","_p10","_p11","_p12","_li7","_li8","_li9","_li10","_li11","_li12","_p13","_p14","_li13","_li14","_li15","_li16","_li17","_li18","_p15","_p16","_li19","_li20","_li21","_li22","_li23","_li24","_li25","_li26","_p17","_p18","_p19","_li27","_li28","_li29","_li30","_li31","_p20","_p21","_h7","_tr9","_tr10","_tr11","_tr12","_tr13","_h8","_p22","DataStewardRoleManagementHeader","DataStewardList","DataStewardRoleManagementContainer","clientdata","showDSErrorMessage","DataDeletionDiagnosticHeader","handleDeletionYearSelection","handleClientSelection","handleRunDataDeletionClick","clientOptions","deletionYearOptions","dataDeletionButtonStatus","uniqueClientIds","diagnosticdataSelection","fetchDataDeletionCalendarYears","fetchDataDeletionDiagnosticData","runDataDeletion","dataPurgeReportPeriodIDs","notAllDataPurgeStatusFailed","totalRowsOfFailedRecords","rowsCheckedForFailedRecords","dataPurgeReportPeriodStatus","DataDiagnosticDeletionCheckboxCellRenderer","DataDiagnosticDeletionCheckboxHeaderRenderer","DataDeletionDiagnosticTable","refreshGriddataDeletionDiagnosticData","dataPurgeEntityDeleteStatus","second","dataPurgeProcessID","entityName","countOfRecordsPurged","dataPurgeStartDateTime","dataPurgeEndDateTime","dataPurgeDurationInSeconds","errorDescription","DataDeletionWarningModal","showDataDeletionWarningModal","toggleShowDataDeletionWarningModal","initiateDataDeletionProcess","dataDeletionDiagnosticActions","DataDeletionDiagnosticPage","selectedClients","toggleDataDeletionWarningModal","checkUserAuthorization","currentYearExists","yearObj","getDataDeletionDiagnosticData","selectedclients","ClientId","Year","uniqueReportPeriodIds","dataDeletionMessage","dataDeletionStatusNotification","handleDataDeletionNotificationClose","dataDeletionNotification","approvedDate","dataPurgeStatus","isReportPeriodEnabledForSelection","ExternalUserDataVisibilityCheckboxHeaderRenderer","ExternalUserDataVisibilityCheckboxCellRenderer","ExternalUserDataVisibilityTable","refreshGridexternalUserVisibilityData","ExternalUserDataVisibilityHeader","handleHideExternalUserDataVisibility","handleUnHideExternalUserDataVisibility","externalUserDataVisibilityActions","ExternalUserDataVisibilityContainer","getExternalUserDataVisibilityData","MissingDeletionApprovalContainer","listStyleType","_Link2","Route","Routes","createBrowserRouter","RouterProvider","appInsights","initUserData","setUserId","clearUserId","withAppInsights","ArqcChecklistPage","PsqChecklistPage","Root","userType","REACT_APP_INSTRUMENTATIONKEY","listen","isClientInPath","retryCount","trackPageViewTimeout","attemptTrackPageView","splitPath","clientIdInPath","clientIdInProps","appInsightData","trackPageView","getClientName","getReitName","getPeriodName","getRoutes","getRouter","_CustomRouterProvider","_ExternalApp","_ExternalArqcChecklis","_ExternalPsqChecklist","_LogoffPage","_PermExternalApp","_ChecklistExternalCon","_PSQChecklistExternal","_ExternalPsqChecklist2","_ARQCChecklistExterna","_ExternalArqcChecklis2","_ExternalUnauthorized","_CallbackPage","_App","_LoginPage","_AdminAuthPage","_DataDeletionDiagnost","_ExternalUserDataVisi","_UnauthorizedUserCont","_ClientsPage","_ClientsPage2","_EditClientPage","_ClientLoader","_ClientPage","_RoleGuard","_ScheduleChecklistCon","_ManageChecklistConta","_CustomChecklistTempl","_PsqCustomChecklistTe","_PsqCustomChecklistTe2","_PsqChecklistTemplate","_CustomFdrTemplateCon","_DefaultFdrTemplatesC","_BulkReportManagement","_BulkProcessManagemen","_BulkRollForwardConta","_ChartOfAccountsManag","_ChartAssignmentConta","_ReitLoader","_ReitPage","_ReitFileManagementPa","_ReportPeriodLoader","_TrialBalanceUploadPa","_TrialBalanceUploadPa2","_ReportPage","_EditTrsContainer","_EditSecuritiesSnapsh","_PropertiesContainer","_MappingsPage","_AssetTestPage","_IncomeTestPage","_DistributionTestCont","_ArqcChecklistPage","_ArqcChecklistRecord","_PsqChecklistPage","_PsqChecklistRecord","_FileManagementPage","_DataRetentionManagem","_RoleGuard2","_RoleGuard3","_NotFoundPage","_DataRetentionManagem2","fallbackElement","ReactDOM","BrowserRouter","Router","setAppElement","root","createRoot","NewApp","exports"],"sourceRoot":""}