{"version":3,"file":"static/js/main-a434fa0a.dc8f6f90.js","mappings":"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","sources":["components/profile/tabs/email-preferences/tabs/dealer-inventory/useInventoryAlertsChangedState.ts","components/profile/tabs/email-preferences/tabs/portfolio/SinglePortfolioAlertsPopup.tsx","components/profile/tabs/email-preferences/tabs/bwic-monitor/BwicMonitorAlertsSaveButton.tsx","components/profile/tabs/email-preferences/tabs/SaveButton.tsx","components/profile/tabs/email-preferences/tabs/IssuanceMonitorAlertsSection.tsx","components/profile/tabs/email-preferences/tabs/EmailPreferencesTabItem.tsx","components/profile/tabs/email-preferences/tabs/MultiTableHeaderRadioButton.tsx","components/profile/tabs/email-preferences/tabs/clo-managers/clo-managers-im-alerts.columns.tsx","components/profile/tabs/email-preferences/tabs/clo-managers/CloManagerImAlerts.tsx","components/profile/tabs/email-preferences/tabs/dealer-inventory/UnsubscribeInventoryAlertsButton.tsx","components/profile/tabs/email-preferences/tabs/banks/banks-alerts.columns.tsx","components/profile/tabs/email-preferences/tabs/banks/BanksAlertsSection.tsx","components/profile/tabs/email-preferences/EmailPreferencesContent.tsx","components/profile/tabs/email-preferences/tabs/DashboardEmailTab.tsx","components/profile/tabs/email-preferences/tabs/bwic-monitor/BwicMonitorAlertsTab.tsx","components/profile/tabs/email-preferences/tabs/MyBwicsTab.tsx","components/profile/tabs/email-preferences/tabs/IssuanceMonitorTab.tsx","components/profile/tabs/email-preferences/tabs/ArrangerPipelineTab.tsx","components/profile/tabs/email-preferences/tabs/dealer-inventory/DealerInventoryAlertsTab.tsx","components/profile/tabs/email-preferences/tabs/clo-managers/CloManagerTab.tsx","components/profile/tabs/email-preferences/tabs/banks/BanksTab.tsx","components/profile/tabs/email-preferences/SavedFiltersAlerts.tsx","components/ratings/AgencyRatingList.tsx","components/ratings/RatingMappingTable.tsx","components/profile/tabs/email-preferences/tabs/UnsubscribeAllButton.tsx","components/profile/tabs/email-preferences/tabs/dealer-inventory/DealerInventoryAlertsSaveButton.tsx","components/profile/tabs/email-preferences/tabs/portfolio/usePortfolioAlertsChangedState.ts","components/profile/tabs/subscriptions/SubscriptionsTab.ts","components/profile/tabs/email-preferences/tabs/EmailPreferencesRadioGroup.tsx","components/profile/tabs/email-preferences/tabs/bwic-monitor/BwicMonitorAlertsPopup.tsx","components/profile/tabs/email-preferences/tabs/bwic-monitor/BwicMonitorAlertsPreferences.tsx","components/profile/tabs/email-preferences/tabs/portfolio/PortfolioFiltersAlertsHeaderRadioButton.tsx","components/profile/tabs/email-preferences/tabs/portfolio/portfolioFilterAlertsTableColumns.tsx","components/profile/tabs/email-preferences/tabs/portfolio/PortfolioFilterAlertsTable.tsx","components/profile/tabs/email-preferences/tabs/portfolio/UnsubscribePortfolioAlertsButton.tsx","components/profile/tabs/email-preferences/tabs/portfolio/PortfolioTab.tsx","components/profile/tabs/email-preferences/tabs/portfolio/PortfolioAlertsTabs.tsx","components/profile/tabs/email-preferences/tabs/dealer-inventory/DealerInventoryAlertsPopup.tsx","components/profile/tabs/email-preferences/tabs/dealer-inventory/DealerInventoryAlertsPreferences.tsx","components/profile/tabs/email-preferences/tabs/EmailPreferencesTableRating.tsx","components/profile/tabs/email-preferences/tabs/EmailPreferencesTableRatingTitle.tsx","components/profile/tabs/email-preferences/tabs/EmailPreferencesTableSize.tsx","components/profile/tabs/email-preferences/tabs/EmailPreferencesByRating.tsx","components/profile/tabs/email-preferences/tabs/bwic-monitor/BwicMonitorAlertsTable.tsx","components/profile/profile-menu/ProfileMenuSection.tsx","components/profile/profile-menu/ProfileMenuItems.tsx","components/profile/profile-menu/ProfileMenu.tsx","components/profile/tabs/email-preferences/tabs/portfolio/SavePortfolioAlertsButton.tsx","components/profile/tabs/manage/users/RequestUserStatusDetails.tsx","components/profile/tabs/subscriptions/hooks/useSubscriptions.ts","components/profile/tabs/ChangeBloombergEmail.tsx","components/profile/tabs/PersonalInfo.jsx","components/profile/validation/addNewTrader.js","components/profile/tabs/ModalAddEditDepartment.jsx","components/profile/tabs/Company.jsx","components/profile/tabs/PasswordSettings.jsx","components/profile/tabs/manage/header/MenageViewHeader.tsx","components/profile/tabs/manage/content/ManageViewContent.tsx","components/profile/tabs/ModalAddEditTrader.jsx","components/profile/tabs/Traders.tsx","components/profile/tabs/tfa/TwoFactorAuthSettingsSection.tsx","components/profile/tabs/tfa/PhoneEdit.tsx","components/profile/tabs/tfa/SubmitVerificationCodePopup.tsx","components/profile/tabs/tfa/TwoFactorAuthSettings.tsx","components/profile/tabs/subscriptions/ContentSection.tsx","components/profile/tabs/subscriptions/overview/Overview.tsx","components/profile/tabs/subscriptions/plans/LimitedFeaturesPopup.tsx","components/profile/tabs/subscriptions/plans/RequestSubscription.tsx","components/profile/tabs/subscriptions/hooks/useSubscriptionRequest.ts","components/profile/tabs/subscriptions/plans/SubscriptionEndDate.tsx","components/profile/tabs/subscriptions/plans/Plans.tsx","components/profile/tabs/subscriptions/SubscriptionsView.tsx","components/profile/tabs/manage/header/MenageViewHeaderButtons.tsx","components/profile/tabs/manage/ExpandableInfoPanel.tsx","components/profile/tabs/manage/dealers/DealersView.tsx","components/profile/tabs/manage/users/EditUser.tsx","components/profile/tabs/manage/users/UserContextMenu.tsx","components/profile/tabs/manage/users/UserListTableItem.ts","components/profile/tabs/manage/users/UserList.tsx","components/profile/tabs/manage/users/UsersView.tsx","components/profile/tabs/email-preferences/EmailPreferences.tsx","components/profile/tabs/trading-limits/SettlementAgentTabContent.tsx","components/profile/tabs/trading-limits/SettlementAgentLimits.tsx","components/profile/tabs/trading-limits/SettlementAgentContacts.tsx","components/profile/tabs/trading-limits/CompanyLimitInput.tsx","components/profile/tabs/trading-limits/CompanyLimits.tsx","components/profile/tabs/trading-limits/TradingLimitsView.tsx","components/profile/Profile.jsx","components/profile/tabs/email-preferences/tabs/portfolio/PortfolioAlertsPopup.tsx"],"sourcesContent":["import { useAppSelector } from \"../../../../../../effects/useAppSelector\";\r\nimport { BwicFilterType } from \"../../../../../../types/filters/FilterState\";\r\nimport { PageConfigType } from \"../../../../../../types/page-config/PageConfigType\";\r\nimport { usePageConfig } from \"../../../../../common/pageConfig/usePageConfig\";\r\n\r\nexport function useInventoryAlertsChangedState() {\r\n const { config } = usePageConfig(PageConfigType.DealerInventory, true, BwicFilterType.Inventory);\r\n const savedFiltersEditState = useAppSelector(s => s.manageEmailPreferences.editSavedFiltersPreferences);\r\n const initialPreferences = useAppSelector(s => s.manageEmailPreferences.initialPreferences);\r\n const editPreferences = useAppSelector(s => s.manageEmailPreferences.editPreferences);\r\n\r\n const isFilterAlertsChanged = config?.filters?.some(f =>\r\n savedFiltersEditState[f.referenceName] != null &&\r\n savedFiltersEditState[f.referenceName] !== f.alertOption\r\n );\r\n\r\n const dealerInventoryAlertStateChanged = initialPreferences.dealerInventoryAlertState !== editPreferences.dealerInventoryAlertState;\r\n\r\n return { isFilterAlertsChanged, dealerInventoryAlertStateChanged };\r\n}","import { useState } from \"react\";\r\nimport { AlertOption } from \"../../../../../../types/email-preferences/EmailPreferences\";\r\nimport { Portfolio } from \"../../../../../../types/portfolio/Portfolio\";\r\nimport { Popup, PopupBody, PopupFooter } from \"../../../../../controls\";\r\nimport { portfolioActions } from \"../../../../../../actions/portfolio.actions\";\r\nimport { useAppDispatch } from \"../../../../../../effects/useAppDispatch\";\r\nimport { Link } from \"../../../../../controls/Link\";\r\nimport { routes } from \"../../../../../../constants\";\r\nimport { EmailPreferencesTab } from \"../../EmailPreferencesContent\";\r\nimport { PortfolioAlertsTabs } from \"./PortfolioAlertsTabs\";\r\n\r\ninterface Props {\r\n portfolio: Portfolio;\r\n onClose: () => void;\r\n}\r\n\r\nexport function SinglePortfolioAlertsPopup({ portfolio, onClose }: Props) {\r\n const dispatch = useAppDispatch();\r\n\r\n const [cleansingNoticeAlert, setCleansingNoticeAlert] = useState(portfolio.cleansingNoticeAlert);\r\n const [bwicAlert, setBwicAlert] = useState(portfolio.bwicAlert);\r\n const [inventoryAlert, setInventoryAlert] = useState(portfolio.dealersInventoryAlert);\r\n const [issuanceMonitorAlert, setIssuanceMonitorAlert] = useState(\r\n portfolio.issuanceMonitorAlert,\r\n );\r\n const [outOfRiAlert, setOutOfRiAlert] = useState(portfolio.outOfRiPeriodAlert);\r\n const [outOfNcAlert, setOutOfNcAlert] = useState(portfolio.outOfNcPeriodAlert);\r\n const [rollerDeadlineAlert, setRollerDeadlineAlert] = useState(portfolio.rollerDeadlineAlert);\r\n\r\n const hasChanges =\r\n bwicAlert !== portfolio.bwicAlert ||\r\n inventoryAlert !== portfolio.dealersInventoryAlert ||\r\n cleansingNoticeAlert !== portfolio.cleansingNoticeAlert ||\r\n issuanceMonitorAlert !== portfolio.issuanceMonitorAlert ||\r\n outOfRiAlert !== portfolio.outOfRiPeriodAlert ||\r\n outOfNcAlert !== portfolio.outOfNcPeriodAlert ||\r\n rollerDeadlineAlert !== portfolio.rollerDeadlineAlert;\r\n\r\n const handleSave = (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n\r\n if (!hasChanges) {\r\n return;\r\n }\r\n\r\n dispatch(\r\n portfolioActions.updatePortfoliosAlertStatus([\r\n {\r\n portfolioId: portfolio.id,\r\n bwicAlert: bwicAlert === portfolio.bwicAlert ? undefined : bwicAlert,\r\n dealersInventoryAlert:\r\n inventoryAlert === portfolio.dealersInventoryAlert ? undefined : inventoryAlert,\r\n cleansingNoticeAlert: cleansingNoticeAlert === portfolio.cleansingNoticeAlert ? undefined : cleansingNoticeAlert,\r\n issuanceMonitorAlert: issuanceMonitorAlert === portfolio.issuanceMonitorAlert ? undefined : issuanceMonitorAlert,\r\n outOfRiPeriodAlert: outOfRiAlert === portfolio.outOfRiPeriodAlert ? undefined : outOfRiAlert,\r\n outOfNcPeriodAlert: outOfNcAlert === portfolio.outOfNcPeriodAlert ? undefined : outOfNcAlert,\r\n rollerDeadlineAlert: rollerDeadlineAlert === portfolio.rollerDeadlineAlert ? undefined : rollerDeadlineAlert,\r\n },\r\n ]),\r\n );\r\n\r\n onClose();\r\n };\r\n\r\n const handleClose = (e?: React.MouseEvent | MouseEvent) => {\r\n e?.stopPropagation();\r\n onClose();\r\n };\r\n\r\n return (\r\n \r\n Portfolio Alerts {portfolio.name}\r\n \r\n }\r\n onClose={handleClose}\r\n >\r\n \r\n setCleansingNoticeAlert(o === AlertOption.Instant)}\r\n bwicAlert={bwicAlert ? AlertOption.Instant : AlertOption.Never}\r\n onChangeBwicAlert={o => setBwicAlert(o === AlertOption.Instant)}\r\n inventoryAlert={inventoryAlert ? AlertOption.Instant : AlertOption.Never}\r\n onChangeInventoryAlert={o => setInventoryAlert(o === AlertOption.Instant)}\r\n imAlert={issuanceMonitorAlert ? AlertOption.Instant : AlertOption.Never}\r\n onChangeImAlert={(o) => setIssuanceMonitorAlert(o === AlertOption.Instant)}\r\n outOfRiAlert={outOfRiAlert ? AlertOption.Periodic : AlertOption.Never}\r\n onChangeOutOfRiAlert={o => setOutOfRiAlert(o === AlertOption.Periodic)}\r\n outOfNcAlert={outOfNcAlert ? AlertOption.Periodic : AlertOption.Never}\r\n onChangeOutOfNcAlert={o => setOutOfNcAlert(o === AlertOption.Periodic)}\r\n rollerDeadlineAlert={rollerDeadlineAlert ? AlertOption.Instant : AlertOption.Never}\r\n onChangeRollerDeadlineAlert={(o) => setRollerDeadlineAlert(o === AlertOption.Instant)}\r\n />\r\n \r\n\r\n \r\n \r\n Manage Alerts\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { useMemo } from \"react\";\r\nimport { isEqual } from \"lodash\";\r\nimport cn from 'classnames';\r\nimport { isRequesting } from \"../../../../../../utils/request-state.utils\";\r\nimport { constants } from \"../../../../../../constants\";\r\nimport { AlertOption } from \"../../../../../../types/email-preferences/EmailPreferences\";\r\nimport { useAppSelector } from \"../../../../../../effects/useAppSelector\";\r\nimport { UserConfigFilter } from \"../../../../../../types/user-config/UserConfigFilter\";\r\nimport { RouteLeavingGuard } from \"../../../../../routing\";\r\nimport { useHistory } from \"react-router\";\r\nimport { manageEmailPreferencesActions } from \"../../../../../../actions/manage-email-preferences.actions\";\r\nimport { useDispatch } from \"react-redux\";\r\n\r\ninterface Props {\r\n className?: string;\r\n currentFilters?: UserConfigFilter[];\r\n disabled?: boolean;\r\n withLeavingGuard?: boolean;\r\n onSave: (updatedFilters?: UserConfigFilter[]) => void;\r\n}\r\n\r\nexport const BwicMonitorAlertsSaveButton = ({ className, currentFilters, disabled, withLeavingGuard, onSave }: Props) => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const initialPreferences = useAppSelector(s => s.manageEmailPreferences.initialPreferences);\r\n const editPreferences = useAppSelector(s => s.manageEmailPreferences.editPreferences);\r\n const savePreferencesRequestState = useAppSelector(s => s.manageEmailPreferences.requestStateSaveEditPreferences);\r\n const emailPreferencesRequestState = useAppSelector(s => s.manageEmailPreferences.requestStateGetPreferences);\r\n const bwicByRatingAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.bwicByRatingAlertState);\r\n const savedFiltersEditState = useAppSelector(s => s.manageEmailPreferences.editSavedFiltersPreferences);\r\n \r\n const isFilterAlertsChanged = currentFilters?.some(f =>\r\n savedFiltersEditState[f.referenceName] != null &&\r\n savedFiltersEditState[f.referenceName] !== f.alertOption\r\n );\r\n\r\n const hasChanges = isFilterAlertsChanged || !isEqual(initialPreferences, editPreferences);\r\n\r\n const isSaveButtonDisabled = useMemo(() => {\r\n const isBwicByRatingAlertStateAtleastOneSelected = editPreferences\r\n .ratingPreference.some(({ isUSD, isEUR }) => isUSD || isEUR);\r\n const someRatingError = editPreferences.ratingPreference\r\n .some(({ isUSD, isEUR, minSize, maxSize }) =>\r\n (isUSD || isEUR) &&\r\n (minSize < constants.emailPreferencesSizeRange.min || maxSize > constants.emailPreferencesSizeRange.max || maxSize < minSize)\r\n );\r\n return !(!someRatingError && hasChanges) || (!isBwicByRatingAlertStateAtleastOneSelected && bwicByRatingAlertState !== AlertOption.Never);\r\n }, [editPreferences, hasChanges, bwicByRatingAlertState]);\r\n\r\n const isDisabled = disabled\r\n || isSaveButtonDisabled\r\n || isRequesting(emailPreferencesRequestState, savePreferencesRequestState);\r\n\r\n const handleSave = () => {\r\n let updatedFilters: UserConfigFilter[] | undefined;\r\n if (isFilterAlertsChanged && currentFilters?.length) {\r\n updatedFilters = currentFilters.map(f => ({\r\n ...f,\r\n alertOption: savedFiltersEditState[f.referenceName] ?? f.alertOption\r\n }));\r\n\r\n }\r\n\r\n onSave(updatedFilters);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n Save\r\n \r\n {\r\n dispatch(manageEmailPreferencesActions.rollbackBWICPipelines())\r\n history.push(pathname);\r\n }}\r\n shouldBlockNavigation={() => withLeavingGuard && hasChanges}\r\n />\r\n \r\n );\r\n}","export const SaveButton = ({ disabled, onClick }: { disabled: boolean, onClick: () => void; }) => (\r\n \r\n)\r\n","import { useDispatch } from \"react-redux\";\r\nimport { StatisticsAlertOption } from \"../../../../../types/amr-pipeline/enums/AlertOption\";\r\nimport { UserConfigFilter } from \"../../../../../types/user-config/UserConfigFilter\";\r\nimport { manageEmailPreferencesActions } from \"../../../../../actions/manage-email-preferences.actions\";\r\nimport { ImEmailAlerts } from \"../../../../amrPipeline/aggregated/email-alerts/issuance-monitor/ImEmailAlerts\";\r\nimport { AlertOption } from \"../../../../../types/email-preferences/EmailPreferences\";\r\ninterface Props {\r\n imAlertState?: AlertOption;\r\n imTransactionAlertState?: AlertOption;\r\n imStatisticAlertState?: StatisticsAlertOption;\r\n imFiltersAlertState?: UserConfigFilter[];\r\n disabled: boolean;\r\n}\r\nexport const IssuanceMonitorAlertsSection = ({\r\n imAlertState,\r\n imTransactionAlertState,\r\n imStatisticAlertState,\r\n imFiltersAlertState,\r\n disabled,\r\n}: Props) => {\r\n const dispatch = useDispatch();\r\n return (\r\n
\r\n \r\n dispatch(\r\n manageEmailPreferencesActions.setIssuanceMonitorSingleAlert(\r\n option\r\n )\r\n )\r\n }\r\n onChangeNewTransactionUpdate={(option) =>\r\n dispatch(\r\n manageEmailPreferencesActions.setIssuanceMonitorNewTransactionAlert(\r\n option\r\n )\r\n )\r\n }\r\n onChangeWeeklyStatistic={(option) =>\r\n dispatch(\r\n manageEmailPreferencesActions.setIssuanceMonitorStatisticsAlert(\r\n option\r\n )\r\n )\r\n }\r\n onChangeFilterAlerts={(filters: UserConfigFilter[]) =>\r\n dispatch(\r\n manageEmailPreferencesActions.setIssuanceMonitorFiltersAlert(\r\n filters\r\n )\r\n )\r\n }\r\n />\r\n
\r\n );\r\n};\r\n","import React from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport { roles, routes } from '../../../../../constants';\r\nimport { alertOptions } from '../../../../../constants/amr-pipeline/alertOptions';\r\nimport { useAppSelector } from '../../../../../effects/useAppSelector';\r\nimport { StatisticsAlertOption } from '../../../../../types/amr-pipeline/enums/AlertOption';\r\nimport { AlertOption } from '../../../../../types/email-preferences/EmailPreferences';\r\nimport { arrayUtils, isRequesting } from '../../../../../utils';\r\nimport { TabItem } from '../../../../bidding/common/tab-list';\r\nimport { EmailPreferencesTab } from '../EmailPreferencesContent';\r\nimport { user } from '../../../../../user';\r\nimport { usePageConfig } from '../../../../common/pageConfig/usePageConfig';\r\nimport { PageConfigType } from '../../../../../types/page-config/PageConfigType';\r\nimport { SubscriptionFeature } from '../../../../../types/billing/SubscriptionFeature';\r\nimport { emailPreferencesUtils } from '../../../../../utils/email-preferences.utils';\r\nimport { PortfolioUserConfigFilter, UserConfigFilter } from '../../../../../types/user-config/UserConfigFilter';\r\nimport { hasBankAnalyticsAlertsAccess, hasBankAnalyticsAlertsChangeAccess } from '../../../../../utils/amr-pipeline.utils';\r\n\r\ninterface Props {\r\n tabPath: EmailPreferencesTab,\r\n title: React.ReactNode;\r\n disabled?: boolean;\r\n}\r\n\r\nexport function EmailPreferencesTabItem({ tabPath, title, disabled }: Props) {\r\n const { tab } = useParams<{ tab: string }>();\r\n\r\n const isSellerCollateralManager = user.hasRoles(roles.CollateralManager);\r\n const withImApAccess = user.hasFeatures(SubscriptionFeature.IssuanceMonitorFullAccess);\r\n const withManagerProfileAccess = user.hasFeatures(SubscriptionFeature.ManagerProfileManagerRelatedAlerts);\r\n const withBwicAccess = user.hasFeatures(SubscriptionFeature.BwicMonitorAlerts);\r\n const withDiAccess = user.hasFeatures(SubscriptionFeature.InventoryAlerts);\r\n const withDealerProfileAccess = user.hasFeatures(SubscriptionFeature.DealerProfileEmailAlerts);\r\n const portfolioImAlertsAccess = user.hasAllFeatures(...[\r\n SubscriptionFeature.IssuanceMonitorFullAccess,\r\n SubscriptionFeature.PortfolioAlerts,\r\n ]);\r\n\r\n const userCompany = useAppSelector(s => s.issuanceMonitor.amrPipelineCommon.userCompany);\r\n const banks = useAppSelector(s => s.manageEmailPreferences.banks);\r\n const requestStateGetPreferences = useAppSelector(s => s.manageEmailPreferences.requestStateGetPreferences);\r\n const editPreferences = useAppSelector(s => s.manageEmailPreferences.editPreferences);\r\n const editIssuanceMonitorPreferences = useAppSelector(s => s.manageEmailPreferences.editIssuanceMonitorPreferences);\r\n const editCloManagersPreferences = useAppSelector(s => s.manageEmailPreferences.editCloManagersPreferences);\r\n const editSavedFiltersPreferences = useAppSelector(s => s.manageEmailPreferences.editSavedFiltersPreferences);\r\n const editBanksPreferences = useAppSelector(s => s.manageEmailPreferences.editBanksPreferences);\r\n const editArrangerPipelinePreferences = useAppSelector(s => s.manageEmailPreferences.editArrangerPipelinePreferences);\r\n const portfolioSavedFilterAlerts = useAppSelector(s => s.manageEmailPreferences.portfolioSavedFilterAlerts);\r\n const { config: bwicMonitorPageConfig } = usePageConfig(PageConfigType.BwicMonitorAll, true);\r\n const { config: portfolioPageConfig } = usePageConfig(PageConfigType.Portfolio, true);\r\n const { config: dealerInventoryPageConfig } = usePageConfig(PageConfigType.DealerInventory, true);\r\n\r\n const withAnalyticsAccess = hasBankAnalyticsAlertsAccess(banks, userCompany);\r\n const withAnalyticsChangeAccess = hasBankAnalyticsAlertsChangeAccess(banks, userCompany);\r\n\r\n const getDefaultGlobalAlertStatus = (alerts: Partial<{ alertOption: AlertOption }>[] = []) => {\r\n let status = null;\r\n for (let option of alertOptions) {\r\n if (alerts.every((f) => f.alertOption === option)) {\r\n status = option;\r\n break;\r\n }\r\n }\r\n return status;\r\n };\r\n\r\n const getCloManagerCounters = () => {\r\n const cloManagerAnalyticsValue = editCloManagersPreferences?.cloManagerAnalyticsAlert.value.find(\r\n a => a.companyReferenceName === userCompany?.referenceName,\r\n );\r\n\r\n\r\n const cloManagerAnalyticSectionCounter = Number(\r\n Boolean(\r\n isSellerCollateralManager &&\r\n cloManagerAnalyticsValue &&\r\n cloManagerAnalyticsValue.alertOption !== AlertOption.Never,\r\n )\r\n );\r\n\r\n const cloManagerBwicSectionCounter = Number(\r\n Boolean(editCloManagersPreferences?.cloManagerBwicAlert.value) &&\r\n getDefaultGlobalAlertStatus(\r\n editCloManagersPreferences?.cloManagerBwicAlert!.value,\r\n ) !== AlertOption.Never,\r\n );\r\n\r\n const cloManagerDiSectionCounter = Number(\r\n Boolean(editCloManagersPreferences?.cloManagerDealerInventoryAlert.value) &&\r\n getDefaultGlobalAlertStatus(\r\n editCloManagersPreferences?.cloManagerDealerInventoryAlert!.value,\r\n ) !== AlertOption.Never,\r\n );\r\n\r\n const cloManagerImSectionCounter = Number(\r\n Boolean(editCloManagersPreferences?.cloManagerIssuanceMonitorAlert.value) &&\r\n getDefaultGlobalAlertStatus(\r\n editCloManagersPreferences?.cloManagerIssuanceMonitorAlert!.value,\r\n ) !== AlertOption.Never,\r\n );\r\n\r\n const cloManagerApSectionCounter = Number(\r\n Boolean(editCloManagersPreferences?.cloManagerArrangerPipelineAlert.value) &&\r\n getDefaultGlobalAlertStatus(\r\n editCloManagersPreferences?.cloManagerArrangerPipelineAlert!.value,\r\n ) !== AlertOption.Never,\r\n );\r\n\r\n return [\r\n ...(isSellerCollateralManager ? [withManagerProfileAccess ? cloManagerAnalyticSectionCounter : 0] : []),\r\n ...(withManagerProfileAccess && withImApAccess ? [cloManagerImSectionCounter, cloManagerApSectionCounter] : [0, 0]),\r\n (withBwicAccess ? cloManagerBwicSectionCounter : 0),\r\n (withDiAccess ? cloManagerDiSectionCounter : 0),\r\n ];\r\n }\r\n\r\n const getBanksCounters = () => {\r\n const bankDiSectionCounter = Number(\r\n Boolean(editBanksPreferences?.bankDealerInventoryAlert.value) &&\r\n getDefaultGlobalAlertStatus(\r\n editBanksPreferences?.bankDealerInventoryAlert!.value,\r\n ) !== AlertOption.Never,\r\n );\r\n\r\n const bankImSectionCounter = Number(\r\n Boolean(editBanksPreferences?.bankIssuanceMonitorAlert.value) &&\r\n getDefaultGlobalAlertStatus(\r\n editBanksPreferences?.bankIssuanceMonitorAlert!.value,\r\n ) !== AlertOption.Never,\r\n );\r\n\r\n\r\n const bankApSectionCounter = Number(\r\n Boolean(editBanksPreferences?.bankArrangerPipelineAlert.value) &&\r\n getDefaultGlobalAlertStatus(\r\n editBanksPreferences?.bankArrangerPipelineAlert!.value,\r\n ) !== AlertOption.Never,\r\n );\r\n\r\n const bankCounter = [\r\n withDiAccess ? bankDiSectionCounter : 0,\r\n ...(withDealerProfileAccess && withImApAccess ? [bankImSectionCounter, bankApSectionCounter] : [0, 0]),\r\n ];\r\n\r\n if (withAnalyticsAccess) {\r\n const bankAnalyticsCounter = withAnalyticsChangeAccess\r\n ? Number(\r\n Boolean(editBanksPreferences?.bankAnalyticsAlert.value?.length) &&\r\n editBanksPreferences?.bankAnalyticsAlert.value.find(\r\n a => a.companyReferenceName === userCompany?.referenceName,\r\n )?.alertOption !== AlertOption.Never,\r\n )\r\n : 0;\r\n\r\n bankCounter.unshift(bankAnalyticsCounter);\r\n }\r\n\r\n return bankCounter;\r\n }\r\n\r\n const getBwicMonitorCounters = () => {\r\n const isSavedFiltersAlertOptionActive =\r\n bwicMonitorPageConfig?.filters.some(f => {\r\n const original = f.alertOption;\r\n const changed = editSavedFiltersPreferences[f.referenceName];\r\n const current = changed ?? original;\r\n\r\n return current !== AlertOption.Never\r\n });\r\n\r\n const canUseBwicMonitorAlerts = user.hasFeatures(SubscriptionFeature.BwicMonitorAlerts);\r\n\r\n return [\r\n canUseBwicMonitorAlerts ? Number(editPreferences.bwicByRatingAlertState !== AlertOption.Never) : 0,\r\n canUseBwicMonitorAlerts ? Number(isSavedFiltersAlertOptionActive) : 0\r\n ];\r\n }\r\n\r\n const getInventoryCounters = () => {\r\n const isSavedFiltersAlertOptionActive =\r\n dealerInventoryPageConfig?.filters.some(f => {\r\n const original = f.alertOption;\r\n const changed = editSavedFiltersPreferences[f.referenceName];\r\n const current = changed ?? original;\r\n\r\n return current !== AlertOption.Never\r\n });\r\n\r\n const canUseInventoryAlerts = user.hasFeatures(SubscriptionFeature.InventoryAlerts);\r\n\r\n return [\r\n canUseInventoryAlerts ? Number(editPreferences.dealerInventoryAlertState !== AlertOption.Never) : 0,\r\n canUseInventoryAlerts ? Number(isSavedFiltersAlertOptionActive) : 0\r\n ];\r\n }\r\n\r\n const getPortfolioCounters = () => {\r\n const getActualFilter = (filter: UserConfigFilter) => {\r\n const original = (filter as PortfolioUserConfigFilter);\r\n const changed = portfolioSavedFilterAlerts[filter.referenceName];\r\n return changed ?? { bwicAlert: original.bwicAlertOption, inventoryAlert: original.dealerInventoryAlertOption };\r\n }\r\n\r\n const isSavedFiltersBwicAlertOptionActive = portfolioPageConfig?.filters.some(f =>\r\n getActualFilter(f).bwicAlert === AlertOption.Instant\r\n );\r\n const isSavedFiltersInventoryAlertOptionActive = portfolioPageConfig?.filters.some(f =>\r\n getActualFilter(f).inventoryAlert === AlertOption.Instant\r\n );\r\n\r\n return [\r\n Number(emailPreferencesUtils.convertAlertEnabledStateToAlertOption(editPreferences.portfolioBwicAlertState) !== AlertOption.Never),\r\n Number(emailPreferencesUtils.convertAlertEnabledStateToAlertOption(editPreferences.portfolioDealersInventoryAlertState) !== AlertOption.Never),\r\n Number(portfolioImAlertsAccess && emailPreferencesUtils.convertAlertEnabledStateToAlertOption(editPreferences.portfolioCleansingNoticeAlertState) !== AlertOption.Never),\r\n Number(portfolioImAlertsAccess && emailPreferencesUtils.convertAlertEnabledStateToAlertOption(editPreferences.portfolioIssuanceMonitorAlertState) !== AlertOption.Never),\r\n Number(portfolioImAlertsAccess && emailPreferencesUtils.convertAlertEnabledStateToAlertOption(editPreferences.portfolioOutOfRiPeriodAlertState) !== AlertOption.Never),\r\n Number(portfolioImAlertsAccess && emailPreferencesUtils.convertAlertEnabledStateToAlertOption(editPreferences.portfolioOutOfNcPeriodAlertState) !== AlertOption.Never),\r\n Number(portfolioImAlertsAccess && emailPreferencesUtils.convertAlertEnabledStateToAlertOption(editPreferences.portfolioRollerDeadlineAlertState) !== AlertOption.Never),\r\n user.hasFeatures(SubscriptionFeature.PortfolioAlerts) ? Number(isSavedFiltersBwicAlertOptionActive) : 0,\r\n user.hasFeatures(SubscriptionFeature.PortfolioAlerts) ? Number(isSavedFiltersInventoryAlertOptionActive) : 0\r\n ];\r\n }\r\n\r\n const getCounters = () => {\r\n switch (tabPath) {\r\n case EmailPreferencesTab.Dashboard:\r\n return [user.hasFeatures(SubscriptionFeature.CanUseDashboardAlerts)\r\n ? Number(editPreferences.dailyDashboardEmail !== AlertOption.Never)\r\n : 0\r\n ];\r\n case EmailPreferencesTab.BwicMonitor:\r\n return getBwicMonitorCounters();\r\n case EmailPreferencesTab.MyBwics:\r\n return [\r\n Number(emailPreferencesUtils.convertAlertEnabledStateToAlertOption(editPreferences.newBwicAlertState) !== AlertOption.Never),\r\n Number(emailPreferencesUtils.convertAlertEnabledStateToAlertOption(editPreferences.bwicReminderAlertState) !== AlertOption.Never)\r\n ]\r\n case EmailPreferencesTab.IssuanceMonitor:\r\n const alertsCount = [\r\n Number(Boolean(editIssuanceMonitorPreferences?.imAlertConfig.value.alertOption) && editIssuanceMonitorPreferences?.imAlertConfig.value.alertOption !== AlertOption.Never),\r\n Number(Boolean(editIssuanceMonitorPreferences?.newTransactionAlertConfig.value.alertOption) && editIssuanceMonitorPreferences?.newTransactionAlertConfig.value.alertOption !== AlertOption.Never),\r\n Number(Boolean(editIssuanceMonitorPreferences?.weeklyStatsAlertConfig.value.emailOption) && editIssuanceMonitorPreferences?.weeklyStatsAlertConfig.value.emailOption !== StatisticsAlertOption.Never),\r\n Number(Boolean(editIssuanceMonitorPreferences?.filtersConfig.ImFilter.value) && getDefaultGlobalAlertStatus(editIssuanceMonitorPreferences?.filtersConfig.ImFilter.value) !== AlertOption.Never)\r\n ];\r\n\r\n return withImApAccess ? alertsCount : alertsCount.map(i => 0);\r\n case EmailPreferencesTab.ArrangerPipeline:\r\n return [\r\n withImApAccess\r\n ? Number(Boolean(\r\n editArrangerPipelinePreferences?.apAlertConfig.value.alertOption !== AlertOption.Never\r\n ))\r\n : 0\r\n ];\r\n case EmailPreferencesTab.Portfolio: return getPortfolioCounters();\r\n case EmailPreferencesTab.DealerInventory: return getInventoryCounters();\r\n case EmailPreferencesTab.CloManagers:\r\n return getCloManagerCounters();\r\n case EmailPreferencesTab.Banks:\r\n return getBanksCounters();\r\n default:\r\n return [];\r\n }\r\n }\r\n\r\n const counters = getCounters();\r\n const count = arrayUtils.sum(counters, (item) => item);\r\n\r\n return (\r\n {title} ({count}/{counters.length})}\r\n path={routes.profileNotificationsTab(tabPath)}\r\n disabled={isRequesting(requestStateGetPreferences) || disabled}\r\n />\r\n )\r\n}\r\n","import { SubscriptionFeature } from '../../../../../types/billing/SubscriptionFeature';\r\nimport { AlertOption } from '../../../../../types/email-preferences/EmailPreferences';\r\nimport { CompanyAlertsValue } from '../../../../../types/user-config/UserConfig';\r\nimport { UserConfigType } from '../../../../../types/user-config/UserConfigType';\r\nimport { ActionBlocker } from '../../../../access/ActionBlocker';\r\nimport { RadioButton } from '../../../../controls';\r\n\r\ninterface Props {\r\n type: UserConfigType;\r\n option: AlertOption;\r\n allOptions: CompanyAlertsValue[];\r\n onChange: (type: UserConfigType, option: AlertOption) => void;\r\n disabled?: boolean;\r\n feature?: SubscriptionFeature;\r\n features?: SubscriptionFeature[];\r\n}\r\n\r\nexport function MultiTableHeaderRadioButton({\r\n type,\r\n option,\r\n allOptions,\r\n onChange,\r\n disabled,\r\n feature,\r\n features,\r\n}: Props) {\r\n const selected = allOptions?.some(x => x.alertOption === option);\r\n const partially = allOptions?.some(x => x.alertOption !== option);\r\n\r\n const handleClick = () => {\r\n onChange(type, option);\r\n };\r\n\r\n return (\r\n \r\n {blocked => (\r\n {}}\r\n />\r\n )}\r\n \r\n );\r\n}\r\n","import { alertOptionTooltipText } from '../../../../../../constants/amr-pipeline/alertOptions';\r\nimport { alertDescriptions } from '../../../../../../constants/cloManagers/alertDescriptions';\r\nimport { cloImApRequiredFeatures } from '../../../../../../constants/cloManagers/cloImApRequiredFeatures';\r\nimport { SubscriptionFeature } from '../../../../../../types/billing/SubscriptionFeature';\r\nimport { AlertOption } from '../../../../../../types/email-preferences/EmailPreferences';\r\nimport { CompanyAlertsValue, SecondaryStatsAlertsValue} from '../../../../../../types/user-config/UserConfig';\r\nimport { UserConfigType } from '../../../../../../types/user-config/UserConfigType';\r\nimport { ActionBlocker } from '../../../../../access/ActionBlocker';\r\nimport EmailInfoTooltip from \"../../../../../common/EmailInfoTooltip\";\r\nimport { ColumnBuilder } from '../../../../../bidding/common/table/columns/column-builder/ColumnBuilder';\r\nimport { IColumnDefinition } from '../../../../../bidding/common/table/types/ColumnDefinition';\r\nimport { OnHoverTooltip } from '../../../../../common';\r\nimport { RadioButton } from '../../../../../controls';\r\nimport { MultiTableHeaderRadioButton } from '../MultiTableHeaderRadioButton';\r\n\r\ninterface ManagerColumns {\r\n legalName: string;\r\n cloManagerImAlerts: CompanyAlertsValue;\r\n cloManagerApAlerts: CompanyAlertsValue;\r\n cloManagerBwicAlerts: SecondaryStatsAlertsValue;\r\n cloManagerDiAlerts: SecondaryStatsAlertsValue;\r\n}\r\n\r\nconst cloManagersImAlertsColumnsDefinition: IColumnDefinition[] =\r\n [\r\n {\r\n columnKey: \"managerName\",\r\n renderColumnHeaderContent: () => \"Manager Name\",\r\n renderColumnContent: (alert) => {\r\n return (\r\n
\r\n \r\n {alert.legalName}\r\n \r\n
\r\n );\r\n },\r\n className: \"data-list-cell-xl\",\r\n sortingField: \"legalName\",\r\n sortingType: \"string\",\r\n stickLeft: true,\r\n },\r\n {\r\n columnKey: \"im-description\",\r\n renderColumnHeaderContent: () => (\r\n \r\n Issuance Monitor{\" \"}\r\n \r\n \r\n ),\r\n renderColumnContent: (alert) => \"\",\r\n className: \"data-list-cell-lg\",\r\n },\r\n {\r\n columnKey: \"im-never\",\r\n renderColumnHeaderContent: ({\r\n cloManagerImAlerts,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.cloManagerImAlerts;\r\n const name = \"im-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.cloManagerIssuanceMonitorAlert,\r\n companyReferenceName,\r\n AlertOption.Never\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: \"data-list-cell-control data-list-cell-xs\",\r\n },\r\n {\r\n columnKey: \"im-daily\",\r\n renderColumnHeaderContent: ({\r\n cloManagerImAlerts,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n <>\r\n \r\n \r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.cloManagerImAlerts;\r\n const name = \"im-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.cloManagerIssuanceMonitorAlert,\r\n companyReferenceName,\r\n AlertOption.Daily\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: \"data-list-cell-control\",\r\n },\r\n {\r\n columnKey: \"im-instant\",\r\n renderColumnHeaderContent: ({\r\n cloManagerImAlerts,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n <>\r\n \r\n \r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.cloManagerImAlerts;\r\n const name = \"im-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.cloManagerIssuanceMonitorAlert,\r\n companyReferenceName,\r\n AlertOption.Instant\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: \"data-list-cell-sm-01 data-list-cell-control data-list-cell-right-border\",\r\n },\r\n ];\r\n\r\nconst cloManagersApAlertsColumnsDefinition: IColumnDefinition[] =\r\n [\r\n {\r\n columnKey: \"ap-description\",\r\n renderColumnHeaderContent: () => (\r\n \r\n Arranger Pipeline{\" \"}\r\n \r\n \r\n ),\r\n renderColumnContent: (alert) => \"\",\r\n className: \"data-list-cell-lg\",\r\n },\r\n {\r\n columnKey: \"ap-never\",\r\n renderColumnHeaderContent: ({\r\n cloManagerApAlerts,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.cloManagerApAlerts;\r\n const name = \"ap-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.cloManagerArrangerPipelineAlert,\r\n companyReferenceName,\r\n AlertOption.Never\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: \"data-list-cell-control data-list-cell-xs\",\r\n },\r\n {\r\n columnKey: \"ap-daily\",\r\n renderColumnHeaderContent: ({\r\n cloManagerApAlerts,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n <>\r\n \r\n \r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.cloManagerApAlerts;\r\n const name = \"ap-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.cloManagerArrangerPipelineAlert,\r\n companyReferenceName,\r\n AlertOption.Daily\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: \"data-list-cell-control\",\r\n },\r\n {\r\n columnKey: \"ap-instant\",\r\n renderColumnHeaderContent: ({\r\n cloManagerApAlerts,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n <>\r\n \r\n \r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.cloManagerApAlerts;\r\n const name = \"ap-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.cloManagerArrangerPipelineAlert,\r\n companyReferenceName,\r\n AlertOption.Instant\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: \"data-list-cell-sm-01 data-list-cell-control\",\r\n },\r\n ];\r\n\r\nconst cloManagersBwicAlertsColumnsDefinition: IColumnDefinition[] = [\r\n {\r\n columnKey: \"bwic-description\",\r\n renderColumnHeaderContent: () => (\r\n \r\n BWIC\r\n \r\n \r\n ),\r\n renderColumnContent: () => \"\",\r\n className: \"data-list-cell-xs-sm\",\r\n },\r\n {\r\n columnKey: \"bwic-never\",\r\n renderColumnHeaderContent: ({\r\n cloManagerBwicAlerts,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.cloManagerBwicAlerts;\r\n const name = \"bwic-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.cloManagerBwicAlert,\r\n companyReferenceName,\r\n AlertOption.Never\r\n )\r\n }\r\n />\r\n )}\r\n \r\n )\r\n },\r\n className: \"data-list-cell-control\",\r\n },\r\n {\r\n columnKey: \"bwic-instant\",\r\n renderColumnHeaderContent: ({\r\n cloManagerBwicAlerts,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n <>\r\n \r\n \r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.cloManagerBwicAlerts;\r\n const name = \"bwic-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.cloManagerBwicAlert,\r\n companyReferenceName,\r\n AlertOption.Instant\r\n )\r\n }\r\n />\r\n )}\r\n \r\n )\r\n },\r\n className: \"data-list-cell-sm data-list-cell-control data-list-cell-right-border\",\r\n },\r\n];\r\n\r\nconst cloManagersDiAlertsColumnsDefinition: IColumnDefinition[] = [\r\n {\r\n columnKey: \"di-description\",\r\n renderColumnHeaderContent: () => (\r\n \r\n Inventory\r\n \r\n \r\n ),\r\n renderColumnContent: () => \"\",\r\n className: \"data-list-cell-sm-01\",\r\n },\r\n {\r\n columnKey: \"di-never\",\r\n renderColumnHeaderContent: ({\r\n cloManagerDealerInventoryAlert,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.cloManagerDiAlerts;\r\n const name = \"di-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.cloManagerDealerInventoryAlert,\r\n companyReferenceName,\r\n AlertOption.Never,\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: \"data-list-cell-control\",\r\n },\r\n {\r\n columnKey: \"di-instant\",\r\n renderColumnHeaderContent: ({\r\n cloManagerDealerInventoryAlert,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n <>\r\n \r\n \r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.cloManagerDiAlerts;\r\n const name = \"di-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.cloManagerDealerInventoryAlert,\r\n companyReferenceName,\r\n AlertOption.Instant\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: \"data-list-cell-sm data-list-cell-control data-list-cell-right-border\",\r\n },\r\n];\r\n\r\nexport const cloManagerAlertsColumns = [\r\n ...cloManagersBwicAlertsColumnsDefinition,\r\n ...cloManagersDiAlertsColumnsDefinition,\r\n ...cloManagersImAlertsColumnsDefinition,\r\n ...cloManagersApAlertsColumnsDefinition,\r\n].map((c) => new ColumnBuilder(c));\r\n","import { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { manageEmailPreferencesActions } from '../../../../../../actions/manage-email-preferences.actions';\r\nimport { useAppSelector } from '../../../../../../effects/useAppSelector';\r\nimport { AlertOption } from '../../../../../../types/email-preferences/EmailPreferences';\r\nimport { UserConfigType } from '../../../../../../types/user-config/UserConfigType';\r\nimport { Table } from '../../../../../bidding/common/table';\r\nimport { SearchInput, EmptyPlaceholder } from '../../../../../common';\r\nimport { cloManagerAlertsColumns } from './clo-managers-im-alerts.columns';\r\nimport { CompanyAlertsValue, SecondaryStatsAlertsValue } from '../../../../../../types/user-config/UserConfig';\r\n\r\ninterface FilterUpdatesTableProps {\r\n disabled?: boolean;\r\n}\r\n\r\nexport const CloManagerImAlertsSection = ({ disabled }: FilterUpdatesTableProps) => {\r\n const dispatch = useDispatch();\r\n const managers = useAppSelector(s => s.manageEmailPreferences.mangers);\r\n const cloManagerImAlerts = useAppSelector(\r\n s => s.manageEmailPreferences.editCloManagersPreferences?.cloManagerIssuanceMonitorAlert.value,\r\n );\r\n const cloManagerApAlerts = useAppSelector(\r\n s => s.manageEmailPreferences.editCloManagersPreferences?.cloManagerArrangerPipelineAlert.value,\r\n );\r\n const cloManagerBwicAlerts = useAppSelector(\r\n s => s.manageEmailPreferences.editCloManagersPreferences?.cloManagerBwicAlert.value,\r\n );\r\n const cloManagerDealerInventoryAlert = useAppSelector(\r\n s => s.manageEmailPreferences.editCloManagersPreferences?.cloManagerDealerInventoryAlert.value,\r\n );\r\n const alertsList = managers?.map(({referenceName, legalName}) => ({\r\n legalName,\r\n cloManagerImAlerts: cloManagerImAlerts?.find(alert => alert.companyReferenceName === referenceName),\r\n cloManagerApAlerts: cloManagerApAlerts?.find(alert => alert.companyReferenceName === referenceName),\r\n cloManagerBwicAlerts: cloManagerBwicAlerts?.find(alert => alert.companyReferenceName === referenceName),\r\n cloManagerDiAlerts: cloManagerDealerInventoryAlert?.find(alert => alert.companyReferenceName === referenceName),\r\n }));\r\n\r\n const [searchTerm, setSearchTerm] = useState('');\r\n\r\n const getManagers = () => {\r\n return alertsList?.filter(({ legalName }) =>\r\n legalName?.toLocaleLowerCase().includes(searchTerm.toLocaleLowerCase()),\r\n );\r\n };\r\n \r\n const setAlertsOptions = (\r\n type: UserConfigType,\r\n mapCallback: (a: CompanyAlertsValue) => CompanyAlertsValue\r\n ) => {\r\n switch(type) {\r\n case UserConfigType.cloManagerIssuanceMonitorAlert:\r\n dispatch(\r\n manageEmailPreferencesActions.setCloManagersIssuanceMonitorAlert({\r\n type,\r\n value: cloManagerImAlerts!.map(mapCallback),\r\n }),\r\n );\r\n break;\r\n case UserConfigType.cloManagerArrangerPipelineAlert:\r\n dispatch(\r\n manageEmailPreferencesActions.setCloManagersArrangerPipelineAlert({\r\n type,\r\n value: cloManagerApAlerts!.map(mapCallback),\r\n }),\r\n ); \r\n break;\r\n case UserConfigType.cloManagerBwicAlert:\r\n dispatch(\r\n manageEmailPreferencesActions.setCloManagersBwicAlert({\r\n type,\r\n value: cloManagerBwicAlerts!.map(mapCallback) as SecondaryStatsAlertsValue[],\r\n }),\r\n ); \r\n break;\r\n case UserConfigType.cloManagerDealerInventoryAlert:\r\n dispatch(\r\n manageEmailPreferencesActions.setCloManagersDealerInventoryAlert({\r\n type,\r\n value: cloManagerDealerInventoryAlert!.map(mapCallback) as SecondaryStatsAlertsValue[],\r\n }),\r\n ); \r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const onColumnClick = (type: UserConfigType, referenceName: string, alertOption: AlertOption) => {\r\n const mapList = (a: CompanyAlertsValue) => a.companyReferenceName === referenceName ? { ...a, alertOption } : a;\r\n setAlertsOptions(type, mapList);\r\n };\r\n\r\n const onHeaderClick = (type: UserConfigType, option: AlertOption) => {\r\n const mapList = (a: CompanyAlertsValue) => ({ ...a, alertOption: option });\r\n setAlertsOptions(type, mapList);\r\n };\r\n\r\n return (\r\n <>\r\n setSearchTerm('')}\r\n value={searchTerm}\r\n onChange={(searchTerm: string) => setSearchTerm(searchTerm)}\r\n placeholder=\"Search by managers\"\r\n />\r\n {getManagers()?.length ? (\r\n ({\r\n cloManagerImAlerts,\r\n cloManagerApAlerts,\r\n cloManagerBwicAlerts,\r\n cloManagerDealerInventoryAlert,\r\n onHeaderClick,\r\n disabled,\r\n })}\r\n createSecurityCustomArgs={() => ({\r\n onColumnClick,\r\n disabled,\r\n })}\r\n className=\"data-list-striped\"\r\n dataItems={getManagers()}\r\n sticky={true}\r\n />\r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { useDispatch } from \"react-redux\";\r\nimport { useAppSelector } from \"../../../../../../effects/useAppSelector\";\r\nimport { UnsubscribeAllButton } from \"../UnsubscribeAllButton\";\r\nimport { manageEmailPreferencesActions } from \"../../../../../../actions/manage-email-preferences.actions\";\r\nimport { AlertOption } from \"../../../../../../types/email-preferences/EmailPreferences\";\r\nimport { UserConfigFilter } from \"../../../../../../types/user-config/UserConfigFilter\";\r\n\r\ninterface Props {\r\n disabled?: boolean;\r\n filterAlertsStatuses?: UserConfigFilter[];\r\n}\r\n\r\nexport function UnsubscribeInventoryAlertsButton({ disabled, filterAlertsStatuses }: Props) {\r\n const dispatch = useDispatch();\r\n\r\n const dealerInventoryAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.dealerInventoryAlertState);\r\n const editSavedFiltersPreferences = useAppSelector(s => s.manageEmailPreferences.editSavedFiltersPreferences);\r\n const hasDealerInventoryAlerts = dealerInventoryAlertState !== AlertOption.Never;\r\n const hasActiveFilterAlerts = filterAlertsStatuses?.some(f =>\r\n editSavedFiltersPreferences[f.referenceName]\r\n ? editSavedFiltersPreferences[f.referenceName] !== AlertOption.Never\r\n : f.alertOption !== AlertOption.Never\r\n );\r\n\r\n const handleUnsubscribeAll = () => {\r\n let newFilterAlerts: Record = {};\r\n\r\n filterAlertsStatuses?.forEach(f => {\r\n newFilterAlerts[f.referenceName] = AlertOption.Never;\r\n })\r\n\r\n if (hasActiveFilterAlerts) {\r\n dispatch(manageEmailPreferencesActions.savedFilterAlertOptionChange(newFilterAlerts));\r\n }\r\n if (hasDealerInventoryAlerts) {\r\n dispatch(manageEmailPreferencesActions.setDealerInventoryAlertState(AlertOption.Never));\r\n }\r\n }\r\n\r\n return (\r\n \r\n );\r\n}","import { bankImApRequiredFeatures } from \"../../../../../../constants/banks/bankImApRequiredFeatures\";\r\nimport { SubscriptionFeature } from \"../../../../../../types/billing/SubscriptionFeature\";\r\nimport { AlertOption } from \"../../../../../../types/email-preferences/EmailPreferences\";\r\nimport {\r\n CompanyAlertsValue,\r\n SecondaryStatsAlertsValue,\r\n} from \"../../../../../../types/user-config/UserConfig\";\r\nimport { UserConfigType } from \"../../../../../../types/user-config/UserConfigType\";\r\nimport { ActionBlocker } from \"../../../../../access/ActionBlocker\";\r\nimport EmailInfoTooltip from \"../../../../../common/EmailInfoTooltip\";\r\nimport { ColumnBuilder } from \"../../../../../bidding/common/table/columns/column-builder/ColumnBuilder\";\r\nimport { IColumnDefinition } from \"../../../../../bidding/common/table/types/ColumnDefinition\";\r\nimport { OnHoverTooltip } from \"../../../../../common\";\r\nimport { RadioButton } from \"../../../../../controls\";\r\nimport { MultiTableHeaderRadioButton } from \"../MultiTableHeaderRadioButton\";\r\n\r\ninterface BanksColumns {\r\n legalName: string;\r\n bankDealerInventoryAlert: SecondaryStatsAlertsValue;\r\n bankImAlerts: CompanyAlertsValue;\r\n bankApAlerts: CompanyAlertsValue;\r\n}\r\n\r\nconst banksDiAlertsColumnsDefinition: IColumnDefinition[] = [\r\n {\r\n columnKey: \"managerName\",\r\n renderColumnHeaderContent: () => \"Bank Name\",\r\n renderColumnContent: (alert) => {\r\n return (\r\n
\r\n \r\n {alert.legalName}\r\n \r\n
\r\n );\r\n },\r\n className: \"data-list-cell-xl\",\r\n sortingField: \"legalName\",\r\n sortingType: \"string\",\r\n stickLeft: true,\r\n },\r\n {\r\n columnKey: \"di-description\",\r\n renderColumnHeaderContent: () => (\r\n \r\n Inventory\r\n \r\n \r\n ),\r\n renderColumnContent: () => \"\",\r\n className: \"data-list-cell-sm-01\",\r\n },\r\n {\r\n columnKey: \"di-never\",\r\n renderColumnHeaderContent: ({\r\n bankDealerInventoryAlert,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.bankDealerInventoryAlert;\r\n const name = \"di-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.bankDealerInventoryAlert,\r\n companyReferenceName,\r\n AlertOption.Never\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: \"data-list-cell-control\",\r\n },\r\n {\r\n columnKey: \"di-instant\",\r\n renderColumnHeaderContent: ({\r\n bankDealerInventoryAlert,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n <>\r\n \r\n \r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.bankDealerInventoryAlert;\r\n const name = \"di-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.bankDealerInventoryAlert,\r\n companyReferenceName,\r\n AlertOption.Instant\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className:\r\n \"data-list-cell-sm data-list-cell-control data-list-cell-right-border\",\r\n },\r\n];\r\n\r\nconst banksImAlertsColumnsDefinition: IColumnDefinition[] = [\r\n {\r\n columnKey: \"im-description\",\r\n renderColumnHeaderContent: () => (\r\n \r\n Issuance Monitor{\" \"}\r\n \r\n \r\n ),\r\n renderColumnContent: (alert) => \"\",\r\n className: \"data-list-cell-lg\",\r\n },\r\n {\r\n columnKey: \"im-never\",\r\n renderColumnHeaderContent: ({\r\n bankImAlerts,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.bankImAlerts;\r\n const name = \"im-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.bankIssuanceMonitorAlert,\r\n companyReferenceName,\r\n AlertOption.Never\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: \"data-list-cell-control data-list-cell-xs\",\r\n },\r\n {\r\n columnKey: \"im-daily\",\r\n renderColumnHeaderContent: ({\r\n bankImAlerts,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n <>\r\n \r\n \r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.bankImAlerts;\r\n const name = \"im-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.bankIssuanceMonitorAlert,\r\n companyReferenceName,\r\n AlertOption.Daily\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: \"data-list-cell-control\",\r\n },\r\n {\r\n columnKey: \"im-instant\",\r\n renderColumnHeaderContent: ({\r\n bankImAlerts,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n <>\r\n \r\n \r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.bankImAlerts;\r\n const name = \"im-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.bankIssuanceMonitorAlert,\r\n companyReferenceName,\r\n AlertOption.Instant\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className:\r\n \"data-list-cell-sm-01 data-list-cell-control data-list-cell-right-border\",\r\n },\r\n];\r\n\r\nconst banksApAlertsColumnsDefinition: IColumnDefinition[] = [\r\n {\r\n columnKey: \"ap-description\",\r\n renderColumnHeaderContent: () => (\r\n \r\n Arranger Pipeline{\" \"}\r\n \r\n \r\n ),\r\n renderColumnContent: (alert) => \"\",\r\n className: \"data-list-cell-lg\",\r\n },\r\n {\r\n columnKey: \"ap-never\",\r\n renderColumnHeaderContent: ({\r\n bankApAlerts,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.bankApAlerts;\r\n const name = \"ap-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.bankArrangerPipelineAlert,\r\n companyReferenceName,\r\n AlertOption.Never\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: \"data-list-cell-control data-list-cell-xs\",\r\n },\r\n {\r\n columnKey: \"ap-daily\",\r\n renderColumnHeaderContent: ({\r\n bankApAlerts,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n <>\r\n \r\n \r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.bankApAlerts;\r\n const name = \"ap-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.bankArrangerPipelineAlert,\r\n companyReferenceName,\r\n AlertOption.Daily\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: \"data-list-cell-control\",\r\n },\r\n {\r\n columnKey: \"ap-instant\",\r\n renderColumnHeaderContent: ({\r\n bankApAlerts,\r\n onHeaderClick,\r\n disabled,\r\n }) => (\r\n <>\r\n \r\n \r\n \r\n ),\r\n renderColumnContent: (alertValue, { disabled, onColumnClick }) => {\r\n const { companyReferenceName, alertOption } =\r\n alertValue.bankApAlerts;\r\n const name = \"ap-\" + companyReferenceName;\r\n return (\r\n \r\n {(blocked) => (\r\n \r\n onColumnClick(\r\n UserConfigType.bankArrangerPipelineAlert,\r\n companyReferenceName,\r\n AlertOption.Instant\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: \"data-list-cell-sm-01 data-list-cell-control\",\r\n },\r\n];\r\n\r\nexport const banksAlertsColumns = [\r\n ...banksDiAlertsColumnsDefinition,\r\n ...banksImAlertsColumnsDefinition,\r\n ...banksApAlertsColumnsDefinition,\r\n].map((c) => new ColumnBuilder(c));\r\n","import { useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { manageEmailPreferencesActions } from \"../../../../../../actions/manage-email-preferences.actions\";\r\nimport { useAppSelector } from \"../../../../../../effects/useAppSelector\";\r\nimport { AlertOption } from \"../../../../../../types/email-preferences/EmailPreferences\";\r\nimport { UserConfigType } from \"../../../../../../types/user-config/UserConfigType\";\r\nimport { Table } from \"../../../../../bidding/common/table\";\r\nimport { SearchInput, EmptyPlaceholder } from \"../../../../../common\";\r\nimport {\r\n CompanyAlertsValue,\r\n SecondaryStatsAlertsValue,\r\n} from \"../../../../../../types/user-config/UserConfig\";\r\nimport { banksAlertsColumns } from \"./banks-alerts.columns\";\r\n\r\ninterface FilterUpdatesTableProps {\r\n disabled?: boolean;\r\n}\r\n\r\nexport const BanksAlertsSection = ({ disabled }: FilterUpdatesTableProps) => {\r\n const dispatch = useDispatch();\r\n const banks = useAppSelector((s) => s.manageEmailPreferences.banks);\r\n\r\n const bankImAlerts = useAppSelector(\r\n (s) =>\r\n s.manageEmailPreferences.editBanksPreferences\r\n ?.bankIssuanceMonitorAlert.value\r\n );\r\n const bankApAlerts = useAppSelector(\r\n (s) =>\r\n s.manageEmailPreferences.editBanksPreferences\r\n ?.bankArrangerPipelineAlert.value\r\n );\r\n const bankDealerInventoryAlert = useAppSelector(\r\n (s) =>\r\n s.manageEmailPreferences.editBanksPreferences\r\n ?.bankDealerInventoryAlert.value\r\n );\r\n\r\n const alertsList = banks?.map(({ referenceName, legalName }) => ({\r\n legalName,\r\n bankImAlerts: bankImAlerts?.find(\r\n (alert) => alert.companyReferenceName === referenceName\r\n ),\r\n bankApAlerts: bankApAlerts?.find(\r\n (alert) => alert.companyReferenceName === referenceName\r\n ),\r\n bankDealerInventoryAlert: bankDealerInventoryAlert?.find(\r\n (alert) => alert.companyReferenceName === referenceName\r\n ),\r\n }));\r\n\r\n const [searchTerm, setSearchTerm] = useState(\"\");\r\n\r\n const getBanks = () => {\r\n return alertsList?.filter(({ legalName }) =>\r\n legalName\r\n ?.toLocaleLowerCase()\r\n .includes(searchTerm.toLocaleLowerCase())\r\n );\r\n };\r\n\r\n const setAlertsOptions = (\r\n type: UserConfigType,\r\n mapCallback: (a: CompanyAlertsValue) => CompanyAlertsValue\r\n ) => {\r\n switch (type) {\r\n case UserConfigType.bankDealerInventoryAlert:\r\n dispatch(\r\n manageEmailPreferencesActions.setBanksDealerInventoryAlert({\r\n type,\r\n value: bankDealerInventoryAlert!.map(\r\n mapCallback\r\n ) as SecondaryStatsAlertsValue[],\r\n })\r\n );\r\n break;\r\n case UserConfigType.bankIssuanceMonitorAlert:\r\n dispatch(\r\n manageEmailPreferencesActions.setBanksIssuanceMonitorAlert({\r\n type,\r\n value: bankImAlerts!.map(mapCallback),\r\n })\r\n );\r\n break;\r\n case UserConfigType.bankArrangerPipelineAlert:\r\n dispatch(\r\n manageEmailPreferencesActions.setBanksArrangerPipelineAlert(\r\n {\r\n type,\r\n value: bankApAlerts!.map(mapCallback),\r\n }\r\n )\r\n );\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const onColumnClick = (\r\n type: UserConfigType,\r\n referenceName: string,\r\n alertOption: AlertOption\r\n ) => {\r\n const mapList = (a: CompanyAlertsValue) =>\r\n a.companyReferenceName === referenceName\r\n ? { ...a, alertOption }\r\n : a;\r\n setAlertsOptions(type, mapList);\r\n };\r\n\r\n const onHeaderClick = (type: UserConfigType, option: AlertOption) => {\r\n const mapList = (a: CompanyAlertsValue) => ({ ...a, alertOption: option });\r\n setAlertsOptions(type, mapList);\r\n };\r\n\r\n return (\r\n <>\r\n setSearchTerm(\"\")}\r\n value={searchTerm}\r\n onChange={(searchTerm: string) => setSearchTerm(searchTerm)}\r\n placeholder=\"Search by banks\"\r\n />\r\n {getBanks()?.length ? (\r\n ({\r\n bankImAlerts,\r\n bankApAlerts,\r\n bankDealerInventoryAlert,\r\n onHeaderClick,\r\n disabled,\r\n })}\r\n createSecurityCustomArgs={() => ({\r\n onColumnClick,\r\n disabled,\r\n })}\r\n className=\"data-list-striped\"\r\n dataItems={getBanks()}\r\n sticky\r\n />\r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { useEffect } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { Route, Switch, useHistory } from 'react-router';\r\nimport { useParams } from 'react-router-dom';\r\nimport { manageEmailPreferencesActions } from '../../../../actions/manage-email-preferences.actions';\r\nimport { roles, routes } from '../../../../constants';\r\nimport { useAppSelector } from '../../../../effects/useAppSelector';\r\nimport { user } from '../../../../user';\r\nimport { isRequesting, isRequestNone } from '../../../../utils';\r\nimport { TabList } from '../../../bidding/common/tab-list';\r\nimport { Preloader } from '../../../common';\r\nimport { MyBwicsTab } from './tabs/MyBwicsTab';\r\nimport { DashboardEmailTab } from './tabs/DashboardEmailTab';\r\nimport { BwicMonitorAlertsTab } from './tabs/bwic-monitor/BwicMonitorAlertsTab';\r\nimport { IssuanceMonitorTab } from './tabs/IssuanceMonitorTab';\r\nimport { PortfolioTab } from './tabs/portfolio/PortfolioTab';\r\nimport { EmailPreferencesTabItem } from './tabs/EmailPreferencesTabItem';\r\nimport { CloManagerTab } from './tabs/clo-managers/CloManagerTab';\r\nimport { usePageConfig } from '../../../common/pageConfig/usePageConfig';\r\nimport { DealerInventoryAlertsTab } from './tabs/dealer-inventory/DealerInventoryAlertsTab';\r\nimport { BanksTab } from './tabs/banks/BanksTab';\r\nimport { AdaptiveHorizontalSlider } from '../../../common/AdaptiveHorizontalSlider';\r\nimport { ArrangerPipelineTab } from './tabs/ArrangerPipelineTab';\r\n\r\nexport enum EmailPreferencesTab {\r\n Dashboard = 'dashboard',\r\n BwicMonitor = 'bwicMonitor',\r\n MyBwics = 'myBwics',\r\n IssuanceMonitor = 'issuanceMonitor',\r\n DealerInventory = 'dealerInventory',\r\n CloManagers = 'cloManagers',\r\n Portfolio = 'portfolios',\r\n Banks = 'banks',\r\n ArrangerPipeline = 'arrangerPipeline',\r\n}\r\n\r\nconst Tabs = [\r\n {\r\n title: 'Dashboard',\r\n type: EmailPreferencesTab.Dashboard,\r\n component: DashboardEmailTab,\r\n },\r\n {\r\n title: 'BWIC Monitor',\r\n type: EmailPreferencesTab.BwicMonitor,\r\n component: BwicMonitorAlertsTab,\r\n },\r\n {\r\n title: 'My BWICs',\r\n type: EmailPreferencesTab.MyBwics,\r\n component: MyBwicsTab,\r\n },\r\n {\r\n title: 'Issuance Monitor',\r\n type: EmailPreferencesTab.IssuanceMonitor,\r\n component: IssuanceMonitorTab,\r\n },\r\n {\r\n title: 'Arranger Pipeline',\r\n type: EmailPreferencesTab.ArrangerPipeline,\r\n component: ArrangerPipelineTab,\r\n },\r\n {\r\n title: 'Inventory',\r\n type: EmailPreferencesTab.DealerInventory,\r\n component: DealerInventoryAlertsTab,\r\n },\r\n {\r\n title: 'Portfolio',\r\n type: EmailPreferencesTab.Portfolio,\r\n component: PortfolioTab,\r\n },\r\n {\r\n title: 'CLO Managers',\r\n type: EmailPreferencesTab.CloManagers,\r\n component: CloManagerTab,\r\n },\r\n {\r\n title: 'Banks',\r\n type: EmailPreferencesTab.Banks,\r\n component: BanksTab,\r\n },\r\n];\r\n\r\nexport const EmailPreferencesContent = () => {\r\n const dispatch = useDispatch();\r\n const { tab } = useParams<{ tab: string }>();\r\n const history = useHistory();\r\n\r\n const requestStateGetPreferences = useAppSelector(s => s.manageEmailPreferences.requestStateGetPreferences);\r\n const hasPortfolio = useAppSelector(s => s.manageEmailPreferences.editPreferences.hasPortfolio);\r\n const availableTabs = Tabs.filter(({ type }) => {\r\n if (\r\n type === EmailPreferencesTab.IssuanceMonitor ||\r\n type === EmailPreferencesTab.ArrangerPipeline\r\n ) {\r\n return user.hasRoles(...roles.issuanceMonitorAccess());\r\n }\r\n\r\n if (type === EmailPreferencesTab.Portfolio) {\r\n return hasPortfolio && !user.hasSingleRole(roles.SellerAdministrator);\r\n }\r\n\r\n if (type === EmailPreferencesTab.CloManagers) {\r\n return user.hasRoles(...roles.cloManagersAccess());\r\n }\r\n\r\n if (type === EmailPreferencesTab.DealerInventory) {\r\n return user.hasRoles(...roles.seller(), roles.Administrator, roles.Viewer);\r\n }\r\n\r\n if (type === EmailPreferencesTab.Banks) {\r\n return user.hasRoles(...roles.banksAccess());\r\n }\r\n\r\n return true;\r\n });\r\n const selectedTabIndex = availableTabs.findIndex(t => t.type === tab);\r\n\r\n usePageConfig();\r\n\r\n const withIssuanceMonitorAccess = user.hasRoles(...roles.issuanceMonitorAccess());\r\n\r\n useEffect(() => () => {\r\n dispatch(manageEmailPreferencesActions.reset())\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (isRequestNone(requestStateGetPreferences)) {\r\n dispatch(manageEmailPreferencesActions.getInitialDataRequest(withIssuanceMonitorAccess));\r\n }\r\n }, [dispatch, requestStateGetPreferences, withIssuanceMonitorAccess]);\r\n\r\n useEffect(() => {\r\n if (!tab) {\r\n history.replace(routes.profileNotificationsTab(EmailPreferencesTab.Dashboard))\r\n }\r\n }, [history, tab]);\r\n\r\n return (\r\n \r\n \r\n \r\n {availableTabs.map(tab => (\r\n \r\n ))}\r\n \r\n \r\n
\r\n \r\n {availableTabs.map(tab => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import { isEqual } from 'lodash';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useHistory } from 'react-router';\r\nimport { manageEmailPreferencesActions } from '../../../../../actions/manage-email-preferences.actions';\r\nimport { useAppSelector } from '../../../../../effects/useAppSelector';\r\nimport { AlertOption } from '../../../../../types/email-preferences/EmailPreferences';\r\nimport { isRequesting } from '../../../../../utils';\r\nimport { RouteLeavingGuard } from '../../../../routing';\r\nimport { EmailPreferencesRadioGroup } from './EmailPreferencesRadioGroup';\r\nimport { SaveButton } from './SaveButton';\r\nimport { SubscriptionFeature } from '../../../../../types/billing/SubscriptionFeature';\r\n\r\nexport function DashboardEmailTab() {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const dailyDashboardEmail = useAppSelector(s => s.manageEmailPreferences.editPreferences.dailyDashboardEmail);\r\n const initialPreferences = useAppSelector(s => s.manageEmailPreferences.initialPreferences.dailyDashboardEmail);\r\n const isRequestingSavePreferences = useAppSelector(s => isRequesting(s.manageEmailPreferences.requestStateSaveEditPreferences));\r\n\r\n const hasChanges = !isEqual(dailyDashboardEmail, initialPreferences);\r\n\r\n const save = () => dispatch(manageEmailPreferencesActions.saveEmailPreferencesRequest());\r\n\r\n\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n dispatch(manageEmailPreferencesActions.setCheckedDailyDashboardEmail(alertOption))}\r\n />\r\n {\r\n history.push(pathname);\r\n dispatch(manageEmailPreferencesActions.rollbackDashboardEmails())\r\n }}\r\n shouldBlockNavigation={() => hasChanges}\r\n />\r\n \r\n )\r\n}\r\n","import { useDispatch } from \"react-redux\";\r\nimport { manageEmailPreferencesActions } from \"../../../../../../actions/manage-email-preferences.actions\";\r\nimport { useAppSelector } from '../../../../../../effects/useAppSelector';\r\nimport { isRequestNone, isRequesting } from \"../../../../../../utils/request-state.utils\";\r\nimport { BwicMonitorAlertsTable } from \"./BwicMonitorAlertsTable\"\r\nimport { PageConfigType } from '../../../../../../types/page-config/PageConfigType';\r\nimport { BwicFilterType } from '../../../../../../types/filters/FilterState';\r\nimport { usePageConfig } from '../../../../../common/pageConfig/usePageConfig';\r\nimport { SavedFiltersAlerts } from '../../SavedFiltersAlerts';\r\nimport { BwicMonitorAlertsSaveButton } from './BwicMonitorAlertsSaveButton';\r\nimport { UserConfigFilter } from '../../../../../../types/user-config/UserConfigFilter';\r\nimport { Preloader } from '../../../../../common/Preloader';\r\nimport { SubscriptionFeature } from \"../../../../../../types/billing/SubscriptionFeature\";\r\nimport { textLabels } from \"../../../../../../constants/text-labels\";\r\n\r\nexport const BwicMonitorAlertsTab = () => {\r\n const dispatch = useDispatch();\r\n\r\n const filter = useAppSelector(s => s.filters.bwicMonitor.filter);\r\n const visibleFilters = useAppSelector(s => s.filters.bwicMonitor.visibleFilters);\r\n const savePreferencesRequestState = useAppSelector(s => s.manageEmailPreferences.requestStateSaveEditPreferences);\r\n\r\n const { config, requestState, saveAlerts, updateRequestState } = usePageConfig(\r\n PageConfigType.BwicMonitorAll,\r\n true,\r\n BwicFilterType.BwicMonitor\r\n );\r\n\r\n const handleSave = (updatedFilters?: UserConfigFilter[]) => {\r\n dispatch(manageEmailPreferencesActions.saveEmailPreferencesRequest());\r\n if (updatedFilters?.length) {\r\n saveAlerts(updatedFilters);\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","import { isEqual } from 'lodash';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useHistory } from 'react-router';\r\nimport { manageEmailPreferencesActions } from '../../../../../actions/manage-email-preferences.actions';\r\nimport { useAppSelector } from '../../../../../effects/useAppSelector';\r\nimport { AlertOption } from '../../../../../types/email-preferences/EmailPreferences';\r\nimport { isRequesting } from '../../../../../utils';\r\nimport { RouteLeavingGuard } from '../../../../routing';\r\nimport { EmailPreferencesRadioGroup } from './EmailPreferencesRadioGroup';\r\nimport { SaveButton } from './SaveButton';\r\nimport { UnsubscribeAllButton } from './UnsubscribeAllButton';\r\nimport { emailPreferencesUtils } from '../../../../../utils/email-preferences.utils';\r\n\r\nexport function MyBwicsTab() {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const isRequestingSavePreferences = useAppSelector(s => isRequesting(s.manageEmailPreferences.requestStateSaveEditPreferences));\r\n const newBwicAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.newBwicAlertState);\r\n const bwicReminderAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.bwicReminderAlertState);\r\n const initialPreferences = useAppSelector(s => s.manageEmailPreferences.initialPreferences);\r\n\r\n const handleNewBwicNotificationsChange = (alertOption: AlertOption) => {\r\n const status = emailPreferencesUtils.convertAlertOptionToAlertEnabledState(alertOption);\r\n dispatch(manageEmailPreferencesActions.setNewBiwicAlerts(status));\r\n };\r\n\r\n const handleBwicReminderNotificationsChange = (alertOption: AlertOption) => {\r\n const status = emailPreferencesUtils.convertAlertOptionToAlertEnabledState(alertOption);\r\n dispatch(manageEmailPreferencesActions.setBiwicReminderAlerts(status));\r\n };\r\n\r\n const hasChanges = !(isEqual(initialPreferences.newBwicAlertState, newBwicAlertState) && isEqual(initialPreferences.bwicReminderAlertState, bwicReminderAlertState));\r\n const isUnsubscribeAllVisible =\r\n emailPreferencesUtils.convertAlertEnabledStateToAlertOption(newBwicAlertState) === AlertOption.Instant &&\r\n emailPreferencesUtils.convertAlertEnabledStateToAlertOption(bwicReminderAlertState) === AlertOption.Instant;\r\n\r\n return (\r\n <>\r\n
\r\n dispatch(manageEmailPreferencesActions.unsubscribeAllBWICsNotifications())}\r\n disabled={isRequestingSavePreferences || !isUnsubscribeAllVisible}\r\n />\r\n dispatch(manageEmailPreferencesActions.saveEmailPreferencesRequest())}\r\n />\r\n
\r\n \r\n \r\n {\r\n dispatch(manageEmailPreferencesActions.rollbackBWICNotifications())\r\n history.push(pathname);\r\n }}\r\n shouldBlockNavigation={() => hasChanges}\r\n />\r\n \r\n )\r\n}\r\n","import { isEqual } from 'lodash';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useHistory } from 'react-router';\r\nimport { manageEmailPreferencesActions } from '../../../../../actions/manage-email-preferences.actions';\r\nimport { useAppSelector } from '../../../../../effects/useAppSelector';\r\nimport { SubscriptionFeature } from '../../../../../types/billing/SubscriptionFeature';\r\nimport { AlertOption } from '../../../../../types/email-preferences/EmailPreferences';\r\nimport { isRequesting } from '../../../../../utils';\r\nimport { ShowFor } from '../../../../access';\r\nimport { RouteLeavingGuard } from '../../../../routing';\r\nimport { IssuanceMonitorAlertsSection } from './IssuanceMonitorAlertsSection';\r\nimport { SaveButton } from './SaveButton';\r\nimport { UnsubscribeAllButton } from './UnsubscribeAllButton';\r\n\r\nexport function IssuanceMonitorTab() {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const imAlertState = useAppSelector(s => s.manageEmailPreferences.editIssuanceMonitorPreferences?.imAlertConfig.value.alertOption);\r\n const imTransactionAlertState = useAppSelector(s => s.manageEmailPreferences.editIssuanceMonitorPreferences?.newTransactionAlertConfig.value.alertOption);\r\n const imStatisticAlertState = useAppSelector(s => s.manageEmailPreferences.editIssuanceMonitorPreferences?.weeklyStatsAlertConfig.value.emailOption);\r\n const imFiltersAlertState = useAppSelector(s => s.manageEmailPreferences.editIssuanceMonitorPreferences?.filtersConfig.ImFilter.value);\r\n const isRequestingSavePreferences = useAppSelector(s => isRequesting(s.manageEmailPreferences.requestStateSaveIssuanceMonitorPreferences));\r\n const initialIssuanceMonitorPreferences = useAppSelector(s => s.manageEmailPreferences.initialIssuanceMonitorPreferences)\r\n\r\n const hasChanges = !(\r\n isEqual(initialIssuanceMonitorPreferences?.imAlertConfig.value.alertOption, imAlertState) &&\r\n isEqual(initialIssuanceMonitorPreferences?.newTransactionAlertConfig.value.alertOption, imTransactionAlertState) &&\r\n isEqual(initialIssuanceMonitorPreferences?.weeklyStatsAlertConfig.value.emailOption, imStatisticAlertState) &&\r\n isEqual(initialIssuanceMonitorPreferences?.filtersConfig.ImFilter.value, imFiltersAlertState)\r\n );\r\n\r\n const isUnsubscribeAllVisible = [\r\n imAlertState,\r\n imTransactionAlertState,\r\n imStatisticAlertState,\r\n ...(imFiltersAlertState ? imFiltersAlertState.map(filter => filter.alertOption) : [])\r\n ].filter(option => option !== AlertOption.Never).length > 1;\r\n\r\n const handleUnsubscribeAll = () => {\r\n dispatch(manageEmailPreferencesActions.unsubscribeAllIssuanceMonitor())\r\n }\r\n\r\n const save = () => {\r\n dispatch(manageEmailPreferencesActions.saveRequest())\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 dispatch(manageEmailPreferencesActions.rollbackIssuanceMonitor());\r\n history.push(pathname);\r\n }}\r\n shouldBlockNavigation={() => hasChanges}\r\n />\r\n \r\n );\r\n}\r\n","import { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router\";\r\nimport { manageEmailPreferencesActions } from \"../../../../../actions/manage-email-preferences.actions\";\r\nimport { useAppSelector } from \"../../../../../effects/useAppSelector\";\r\nimport { AlertOption } from \"../../../../../types/email-preferences/EmailPreferences\";\r\nimport { isRequesting } from \"../../../../../utils\";\r\nimport { RouteLeavingGuard } from \"../../../../routing\";\r\nimport { SaveButton } from \"./SaveButton\";\r\nimport { ApEmailAlerts } from \"../../../../amrPipeline/aggregated/email-alerts/arranger-pipeline/ApEmailAlerts\";\r\n\r\nexport function ArrangerPipelineTab() {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const arrangerPipelineState = useAppSelector(\r\n (s) => s.manageEmailPreferences.editArrangerPipelinePreferences\r\n );\r\n const initialArrangerPipelinePreferences = useAppSelector(\r\n (s) => s.manageEmailPreferences.initialArrangerPipelinePreferences\r\n );\r\n const isRequestingSavePreferences = useAppSelector((s) =>\r\n isRequesting(\r\n s.manageEmailPreferences.requestStateSaveIssuanceMonitorPreferences\r\n )\r\n );\r\n\r\n const initialApAlertOption =\r\n initialArrangerPipelinePreferences?.apAlertConfig.value.alertOption ||\r\n AlertOption.Never;\r\n const apAlertOption =\r\n arrangerPipelineState?.apAlertConfig.value.alertOption ||\r\n AlertOption.Never;\r\n\r\n const hasChanges = initialApAlertOption !== apAlertOption;\r\n\r\n const save = () =>\r\n dispatch(manageEmailPreferencesActions.saveArrangerPipelineRequest());\r\n\r\n const handleChangeApAlertOption = (option: AlertOption) =>\r\n dispatch(\r\n manageEmailPreferencesActions.setArrangerPipelineAlert(option)\r\n );\r\n\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n {\r\n dispatch(\r\n manageEmailPreferencesActions.rollbackArrangerPipeline()\r\n );\r\n history.push(pathname);\r\n }}\r\n shouldBlockNavigation={() => hasChanges}\r\n />\r\n \r\n );\r\n}\r\n","import { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router\";\r\nimport { manageEmailPreferencesActions } from \"../../../../../../actions/manage-email-preferences.actions\";\r\nimport { useAppSelector } from '../../../../../../effects/useAppSelector';\r\nimport { isRequestNone, isRequesting } from \"../../../../../../utils/request-state.utils\";\r\nimport { PageConfigType } from '../../../../../../types/page-config/PageConfigType';\r\nimport { BwicFilterType } from '../../../../../../types/filters/FilterState';\r\nimport { usePageConfig } from '../../../../../common/pageConfig/usePageConfig';\r\nimport { SavedFiltersAlerts } from '../../SavedFiltersAlerts';\r\nimport { DealerInventoryAlertsSaveButton } from './DealerInventoryAlertsSaveButton';\r\nimport { UserConfigFilter } from '../../../../../../types/user-config/UserConfigFilter';\r\nimport { Preloader } from '../../../../../common/Preloader';\r\nimport { SubscriptionFeature } from \"../../../../../../types/billing/SubscriptionFeature\";\r\nimport { EmailPreferencesRadioGroup } from \"../EmailPreferencesRadioGroup\";\r\nimport { AlertOption } from \"../../../../../../types/email-preferences/EmailPreferences\";\r\nimport { FilterColumnsKeys } from \"../../../../../amrPipeline/aggregated/email-alerts/issuance-monitor/filterColumns\";\r\nimport { UnsubscribeInventoryAlertsButton } from \"./UnsubscribeInventoryAlertsButton\";\r\nimport RouteLeavingGuard from \"../../../../../routing/RouteLeavingGuard\";\r\nimport { useInventoryAlertsChangedState } from \"./useInventoryAlertsChangedState\";\r\nimport { ShowFor } from \"../../../../../access\";\r\nimport { textLabels } from \"../../../../../../constants/text-labels\";\r\n\r\nexport const DealerInventoryAlertsTab = () => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const filter = useAppSelector(s => s.filters.bdInventory.filter);\r\n const visibleFilters = useAppSelector(s => s.filters.bdInventory.visibleFilters);\r\n const savePreferencesRequestState = useAppSelector(s => s.manageEmailPreferences.requestStateSaveEditPreferences);\r\n const dealerInventoryAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.dealerInventoryAlertState);\r\n\r\n const { config, requestState, saveAlerts, updateRequestState } = usePageConfig(\r\n PageConfigType.DealerInventory,\r\n true,\r\n BwicFilterType.Inventory\r\n );\r\n\r\n const { isFilterAlertsChanged, dealerInventoryAlertStateChanged } = useInventoryAlertsChangedState();\r\n\r\n const hasChanges = isFilterAlertsChanged || dealerInventoryAlertStateChanged;\r\n const disabled = isRequestNone(requestState) || isRequesting(requestState, updateRequestState, savePreferencesRequestState);\r\n\r\n const handleSave = (updatedFilters?: UserConfigFilter[]) => {\r\n dispatch(manageEmailPreferencesActions.saveEmailPreferencesRequest());\r\n if (updatedFilters?.length) {\r\n saveAlerts(updatedFilters);\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 dispatch(manageEmailPreferencesActions.setDealerInventoryAlertState(alertOption))}\r\n />\r\n \r\n \r\n \r\n {\r\n dispatch(manageEmailPreferencesActions.rollbackInventory())\r\n history.push(pathname);\r\n }}\r\n shouldBlockNavigation={() => hasChanges}\r\n />\r\n \r\n )\r\n}\r\n","import { isEqual } from 'lodash';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useHistory } from 'react-router';\r\nimport { useAppSelector } from '../../../../../../effects/useAppSelector';\r\nimport { manageEmailPreferencesActions } from '../../../../../../actions/manage-email-preferences.actions';\r\nimport { roles } from '../../../../../../constants';\r\nimport { AlertOption } from '../../../../../../types/email-preferences/EmailPreferences';\r\nimport { UserConfigType } from '../../../../../../types/user-config/UserConfigType';\r\nimport { user } from '../../../../../../user';\r\nimport { isRequesting } from '../../../../../../utils';\r\nimport { Preloader } from '../../../../../common/Preloader';\r\nimport { RouteLeavingGuard } from '../../../../../routing';\r\nimport { EmailPreferencesRadioGroup } from '../EmailPreferencesRadioGroup';\r\nimport { SaveButton } from '../SaveButton';\r\nimport { UnsubscribeAllButton } from '../UnsubscribeAllButton';\r\nimport { CloManagerImAlertsSection } from './CloManagerImAlerts';\r\nimport { ShowFor } from '../../../../../access';\r\nimport { SubscriptionFeature } from '../../../../../../types/billing/SubscriptionFeature';\r\nimport { alertDescriptions } from '../../../../../../constants/cloManagers/alertDescriptions';\r\nimport { cloImApRequiredFeatures } from '../../../../../../constants/cloManagers/cloImApRequiredFeatures';\r\n\r\nexport function CloManagerTab() {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const userCompany = useAppSelector(s => s.issuanceMonitor.amrPipelineCommon.userCompany);\r\n\r\n const editCloManagersPreferences = useAppSelector(s => s.manageEmailPreferences.editCloManagersPreferences);\r\n const isRequestingSavePreferences = useAppSelector(s =>\r\n isRequesting(s.manageEmailPreferences.requestStateSaveIssuanceMonitorPreferences),\r\n );\r\n\r\n const withImApAccess = user.hasAllFeatures(...cloImApRequiredFeatures);\r\n const withBwicAccess = user.hasFeatures(SubscriptionFeature.BwicMonitorAlerts);\r\n const withDiAccess = user.hasFeatures(SubscriptionFeature.InventoryAlerts);\r\n\r\n const cloManagersImAlerts = editCloManagersPreferences?.cloManagerIssuanceMonitorAlert.value || [];\r\n const cloManagersApAlerts = editCloManagersPreferences?.cloManagerArrangerPipelineAlert.value || [];\r\n const cloManagersBwicAlerts = editCloManagersPreferences?.cloManagerBwicAlert.value || [];\r\n const cloManagersDiAlerts = editCloManagersPreferences?.cloManagerDealerInventoryAlert.value || [];\r\n const cloManagersAnalyticAlert = editCloManagersPreferences?.cloManagerAnalyticsAlert.value.find(\r\n c => c.companyReferenceName === userCompany?.referenceName,\r\n );\r\n\r\n const initialCloManagersAlertsPreferences = useAppSelector(\r\n s => s.manageEmailPreferences.initialCloManagersPreferences,\r\n );\r\n\r\n const isSellerCollateralManager = user.hasRoles(roles.CollateralManager);\r\n\r\n const hasChanges = !isEqual(editCloManagersPreferences, initialCloManagersAlertsPreferences);\r\n\r\n const isUnsubscribeAllVisible =\r\n [\r\n ...(isSellerCollateralManager && cloManagersAnalyticAlert ? [cloManagersAnalyticAlert] : []),\r\n ...(withImApAccess ? [...cloManagersImAlerts, ...cloManagersApAlerts] : []),\r\n ...(withBwicAccess ? cloManagersBwicAlerts : []),\r\n ...(withDiAccess ? cloManagersDiAlerts : []),\r\n ].some(alert => alert.alertOption !== AlertOption.Never);\r\n\r\n const handleUnsubscribeAll = () => {\r\n dispatch(manageEmailPreferencesActions.unsubscribeAllCloManagers(userCompany?.referenceName));\r\n };\r\n\r\n const save = () => {\r\n dispatch(manageEmailPreferencesActions.saveRequest());\r\n };\r\n\r\n if (!userCompany) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n {isSellerCollateralManager && (\r\n \r\n dispatch(\r\n manageEmailPreferencesActions.setCloManagersAnalyticsAlert({\r\n type: UserConfigType.cloManagerAnalyticsAlert,\r\n value: [\r\n {\r\n ...cloManagersAnalyticAlert!,\r\n companyReferenceName: userCompany.referenceName,\r\n alertOption,\r\n },\r\n ],\r\n }),\r\n )\r\n }\r\n />\r\n )}\r\n
\r\n

Managers Alerts

\r\n \r\n
\r\n {\r\n dispatch(manageEmailPreferencesActions.rollbackCloManagers());\r\n history.push(pathname);\r\n }}\r\n shouldBlockNavigation={() => hasChanges}\r\n />\r\n \r\n );\r\n}\r\n","import { isEqual } from \"lodash\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router\";\r\nimport { useAppSelector } from \"../../../../../../effects/useAppSelector\";\r\nimport { manageEmailPreferencesActions } from \"../../../../../../actions/manage-email-preferences.actions\";\r\nimport { AlertOption } from \"../../../../../../types/email-preferences/EmailPreferences\";\r\nimport { UserConfigType } from \"../../../../../../types/user-config/UserConfigType\";\r\nimport { isRequesting } from \"../../../../../../utils\";\r\nimport { Preloader } from \"../../../../../common\";\r\nimport { RouteLeavingGuard } from \"../../../../../routing\";\r\nimport { EmailPreferencesRadioGroup } from \"../EmailPreferencesRadioGroup\";\r\nimport { SaveButton } from \"../SaveButton\";\r\nimport { UnsubscribeAllButton } from \"../UnsubscribeAllButton\";\r\nimport { ShowFor } from \"../../../../../access\";\r\nimport { SubscriptionFeature } from \"../../../../../../types/billing/SubscriptionFeature\";\r\nimport { BanksAlertsSection } from \"./BanksAlertsSection\";\r\nimport { DailyStatsAlertsConfig } from \"../../../../../../types/user-config/UserConfig\";\r\nimport { alertDescriptions } from \"../../../../../../constants/banks/alertDescriptions\";\r\nimport { alertOptionTooltipText } from \"../../../../../../constants/amr-pipeline/alertOptions\";\r\nimport { hasBankAnalyticsAlertsAccess, hasBankAnalyticsAlertsChangeAccess } from \"../../../../../../utils/amr-pipeline.utils\";\r\nimport { user } from \"../../../../../../user\";\r\nimport { bankImApRequiredFeatures } from \"../../../../../../constants/banks/bankImApRequiredFeatures\";\r\n\r\nexport function BanksTab() {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const userCompany = useAppSelector(\r\n (s) => s.issuanceMonitor.amrPipelineCommon.userCompany\r\n );\r\n\r\n const banks = useAppSelector((s) => s.manageEmailPreferences.banks);\r\n\r\n const editBanksPreferences = useAppSelector(\r\n (s) => s.manageEmailPreferences.editBanksPreferences\r\n );\r\n const initialBanksPreferences = useAppSelector(\r\n (s) => s.manageEmailPreferences.initialBanksPreferences\r\n );\r\n const isRequestingSavePreferences = useAppSelector((s) =>\r\n isRequesting(\r\n s.manageEmailPreferences.requestStateSaveIssuanceMonitorPreferences\r\n )\r\n );\r\n\r\n const withAnalyticsAccess = hasBankAnalyticsAlertsAccess(banks, userCompany);\r\n const withAnalyticsChangeAccess = hasBankAnalyticsAlertsChangeAccess(banks, userCompany);\r\n const withDiAccess = user.hasFeatures(SubscriptionFeature.InventoryAlerts);\r\n const withImApAccess = user.hasAllFeatures(...bankImApRequiredFeatures);\r\n\r\n const bankAnalyticsAlert =\r\n editBanksPreferences?.bankAnalyticsAlert.value.find(\r\n (c) => c.companyReferenceName === userCompany?.referenceName\r\n );\r\n const bankDealerInventoryAlert =\r\n editBanksPreferences?.bankDealerInventoryAlert.value || [];\r\n const bankIssuanceMonitorAlert =\r\n editBanksPreferences?.bankIssuanceMonitorAlert.value || [];\r\n const bankArrangerPipelineAlert =\r\n editBanksPreferences?.bankArrangerPipelineAlert.value || [];\r\n\r\n const hasChanges = !isEqual(editBanksPreferences, initialBanksPreferences);\r\n\r\n const isUnsubscribeAllVisible =\r\n [\r\n ...(withAnalyticsChangeAccess && bankAnalyticsAlert ? [bankAnalyticsAlert] : []),\r\n ...(withDiAccess ? bankDealerInventoryAlert : []),\r\n ...(withImApAccess ? bankIssuanceMonitorAlert : []),\r\n ...(withImApAccess ? bankArrangerPipelineAlert : []),\r\n ].some((alert) => alert.alertOption !== AlertOption.Never);\r\n\r\n const handleUnsubscribeAll = () => {\r\n dispatch(\r\n manageEmailPreferencesActions.unsubscribeAllBanks(\r\n userCompany?.referenceName\r\n )\r\n );\r\n };\r\n\r\n const save = () => {\r\n dispatch(\r\n manageEmailPreferencesActions.saveBanksRequest()\r\n );\r\n };\r\n\r\n if (!userCompany) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n {withAnalyticsAccess && (\r\n \r\n dispatch(\r\n manageEmailPreferencesActions.setBanksAnalyticsAlert(\r\n {\r\n type: UserConfigType.bankAnalyticsAlert,\r\n value: [\r\n {\r\n ...bankAnalyticsAlert!,\r\n companyReferenceName:\r\n userCompany.referenceName,\r\n alertOption,\r\n },\r\n ],\r\n } as DailyStatsAlertsConfig\r\n )\r\n )\r\n }\r\n />\r\n )}\r\n\r\n
\r\n

Banks Alerts

\r\n \r\n
\r\n {\r\n dispatch(manageEmailPreferencesActions.rollbackBanks());\r\n history.push(pathname);\r\n }}\r\n shouldBlockNavigation={() => hasChanges}\r\n />\r\n \r\n );\r\n}\r\n","import { BwicFilterType, CommonFilter } from \"../../../../types/filters/FilterState\";\r\nimport { PageConfigType } from \"../../../../types/page-config/PageConfigType\";\r\nimport { FilterUpdatesTable } from \"../../../amrPipeline/aggregated/email-alerts/issuance-monitor/FilterUpdatesTable\";\r\nimport { UserConfigFilter } from \"../../../../types/user-config/UserConfigFilter\";\r\nimport { manageEmailPreferencesActions } from \"../../../../actions/manage-email-preferences.actions\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { apiUtils } from \"../../../../utils\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useAppSelector } from \"../../../../effects/useAppSelector\";\r\nimport { compareStrings } from \"../../../../utils/compare.utils\";\r\nimport { AlertOption } from \"../../../../types/email-preferences/EmailPreferences\";\r\nimport { RequiredFeature } from \"../../../access/RequiredFeature\";\r\nimport { SubscriptionFeature } from \"../../../../types/billing/SubscriptionFeature\";\r\nimport { SubscribeLink } from \"../../../access/BlockedFeatureText\";\r\nimport { FilterColumnsKeys } from \"../../../amrPipeline/aggregated/email-alerts/issuance-monitor/filterColumns\";\r\nimport { EmptyPlaceholder } from \"../../../common\";\r\nimport IconSVG from \"../../../../styles/svg-icons\";\r\n\r\ninterface Props {\r\n filter: CommonFilter;\r\n visibleFilters: string[];\r\n pageConfigType: PageConfigType;\r\n filterType: BwicFilterType;\r\n filterAlertsStatuses?: UserConfigFilter[];\r\n disabled?: boolean;\r\n requiredFeature?: SubscriptionFeature;\r\n description: string;\r\n excludeColumns?: FilterColumnsKeys[];\r\n alertOptionToolitps?: { [key in AlertOption]?: string };\r\n collapsible?: boolean;\r\n isStatusVisibleInTitle?: boolean;\r\n}\r\n\r\nexport const SavedFiltersAlerts = ({\r\n filter,\r\n visibleFilters,\r\n filterAlertsStatuses,\r\n filterType,\r\n disabled,\r\n requiredFeature,\r\n description,\r\n excludeColumns = [],\r\n alertOptionToolitps,\r\n collapsible = false,\r\n isStatusVisibleInTitle = false,\r\n}: Props) => {\r\n const dispatch = useDispatch();\r\n const [collapsed, setCollapsed] = useState(false);\r\n const changedAlertOptions = useAppSelector(s => s.manageEmailPreferences.editSavedFiltersPreferences);\r\n\r\n useEffect(() => {\r\n return () => {\r\n dispatch(manageEmailPreferencesActions.savedFilterAlertOptionsReset());\r\n }\r\n }, [dispatch])\r\n\r\n const mapChangedAlertState = () => (filterAlertsStatuses ?? []).map(f => ({\r\n ...f,\r\n alertOption: changedAlertOptions[f.referenceName] ?? f.alertOption\r\n }))\r\n .sort((a, b) => compareStrings(a.name, b.name))\r\n\r\n const handleFilterAlertStateChange = (updated: UserConfigFilter[]) => {\r\n const updatedState = apiUtils.normalize(updated, x => x.referenceName, x => x.alertOption)\r\n dispatch(manageEmailPreferencesActions.savedFilterAlertOptionChange(updatedState));\r\n }\r\n\r\n const renderEmptyPlaceholder = () => {\r\n return (\r\n to unlock the saved filters.}\r\n >\r\n \r\n \r\n )\r\n }\r\n\r\n const renderTitle = () => (\r\n

setCollapsed(!collapsed) : undefined} className=\"controls-wrap-title flex-row\">\r\n {\r\n collapsible &&\r\n \r\n \r\n \r\n }\r\n Saved Filters {isStatusVisibleInTitle ? `(${filterAlertsStatuses?.some(f => f.alertOption !== AlertOption.Never) ? 'on' : 'off'})`: null}\r\n

\r\n )\r\n\r\n return (\r\n
\r\n
\r\n {renderTitle()}\r\n
\r\n

{description}

\r\n {\r\n collapsed\r\n ? null\r\n : (filterAlertsStatuses?.length ?\r\n \r\n : renderEmptyPlaceholder())\r\n }\r\n
\r\n )\r\n}","import * as React from 'react';\r\nimport { AgencyRatings } from '../../types/models/rating/AgencyRatings';\r\nimport { Preloader } from '../common';\r\n\r\ninterface AgencyRatingListProps {\r\n ratings?: AgencyRatings\r\n}\r\n\r\nexport function AgencyRatingList({ ratings }: AgencyRatingListProps) {\r\n const values: string[] = [];\r\n\r\n if (ratings) {\r\n values.push(ratings.snP || '-');\r\n values.push(ratings.fitch || '-');\r\n }\r\n\r\n return (\r\n <>\r\n
S&P/Fitch
\r\n
\r\n \r\n {ratings && <>{values.join('/')}}\r\n \r\n
\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { RatingMap } from '../../types/models/rating/RatingMap';\r\n\r\ninterface RatingMappingTableProps {\r\n ratingMappings: RatingMap[]\r\n}\r\n\r\nexport function RatingMappingTable({ ratingMappings }: RatingMappingTableProps) {\r\n const format = (ratings: string[]) =>\r\n ratings\r\n .filter(r => !r.toLowerCase().includes('(exp)')) // don't show Fitch (EXP) ratings\r\n .map(r => r === '/' ? '-/-' : r)\r\n .join('/');\r\n\r\n const renderMap = (map: RatingMap, index: number) =>\r\n \r\n {map.aggregated}\r\n {format(map.moodys)}\r\n {format(map.snP)}\r\n {format(map.fitch)}\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 {ratingMappings.map((m, i) => renderMap(m, i))}\r\n \r\n
RATINGMOODY'SS&PFITCH
\r\n );\r\n}\r\n","interface Props {\r\n onClick: () => void,\r\n disabled?: boolean\r\n}\r\n\r\nexport const UnsubscribeAllButton = ({ onClick, disabled }: Props) => {\r\n return (\r\n \r\n )\r\n}\r\n","import cn from 'classnames';\r\nimport { isRequesting } from \"../../../../../../utils/request-state.utils\";\r\nimport { useAppSelector } from \"../../../../../../effects/useAppSelector\";\r\nimport { UserConfigFilter } from \"../../../../../../types/user-config/UserConfigFilter\";\r\nimport { useInventoryAlertsChangedState } from './useInventoryAlertsChangedState';\r\n\r\ninterface Props {\r\n className?: string;\r\n currentFilters?: UserConfigFilter[];\r\n disabled?: boolean;\r\n onSave: (updatedFilters?: UserConfigFilter[]) => void;\r\n}\r\n\r\nexport const DealerInventoryAlertsSaveButton = ({ className, currentFilters, disabled, onSave }: Props) => {\r\n const savedFiltersEditState = useAppSelector(s => s.manageEmailPreferences.editSavedFiltersPreferences);\r\n const savePreferencesRequestState = useAppSelector(s => s.manageEmailPreferences.requestStateSaveEditPreferences);\r\n const emailPreferencesRequestState = useAppSelector(s => s.manageEmailPreferences.requestStateGetPreferences);\r\n const { isFilterAlertsChanged, dealerInventoryAlertStateChanged } = useInventoryAlertsChangedState();\r\n\r\n\r\n const isDisabled = disabled\r\n || !(isFilterAlertsChanged || dealerInventoryAlertStateChanged)\r\n || isRequesting(emailPreferencesRequestState, savePreferencesRequestState);\r\n\r\n const handleSave = () => {\r\n let updatedFilters: UserConfigFilter[] | undefined;\r\n if (isFilterAlertsChanged && currentFilters?.length) {\r\n updatedFilters = currentFilters.map(f => ({\r\n ...f,\r\n alertOption: savedFiltersEditState[f.referenceName] ?? f.alertOption\r\n }));\r\n\r\n }\r\n\r\n onSave(updatedFilters);\r\n }\r\n\r\n return (\r\n \r\n Save\r\n \r\n );\r\n}","import { keys } from \"lodash\";\r\nimport { useAppSelector } from \"../../../../../../effects/useAppSelector\";\r\nimport { BwicFilterType } from \"../../../../../../types/filters/FilterState\";\r\nimport { PageConfigType } from \"../../../../../../types/page-config/PageConfigType\";\r\nimport { PortfolioUserConfigFilter } from \"../../../../../../types/user-config/UserConfigFilter\";\r\nimport { usePageConfig } from \"../../../../../common/pageConfig/usePageConfig\";\r\n\r\nexport function usePortfolioAlertsChangedState() {\r\n const { config } = usePageConfig(PageConfigType.Portfolio, true, BwicFilterType.Portfolio);\r\n const filtersAlertState = useAppSelector(s => s.manageEmailPreferences.portfolioSavedFilterAlerts);\r\n const portfolioBwicAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.portfolioBwicAlertState);\r\n const portfolioCleansingNoticeAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.portfolioCleansingNoticeAlertState);\r\n const portfolioInvneotryAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.portfolioDealersInventoryAlertState);\r\n const issuanceMonitorAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.portfolioIssuanceMonitorAlertState);\r\n const outOfRiAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.portfolioOutOfRiPeriodAlertState);\r\n const outOfNcAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.portfolioOutOfNcPeriodAlertState);\r\n const rollerDeadlineAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.portfolioRollerDeadlineAlertState);\r\n const initialPortfolioBwicAlertState = useAppSelector(s => s.manageEmailPreferences.initialPreferences.portfolioBwicAlertState);\r\n const initialPortfolioCleansingNoticeAlertState = useAppSelector(s => s.manageEmailPreferences.initialPreferences.portfolioCleansingNoticeAlertState);\r\n const initialPortfolioInvnetoryAlertState = useAppSelector(s => s.manageEmailPreferences.initialPreferences.portfolioDealersInventoryAlertState);\r\n const initialIssuanceMonitorAlertState = useAppSelector(s => s.manageEmailPreferences.initialPreferences.portfolioIssuanceMonitorAlertState);\r\n const initialOutOfRiAlertState = useAppSelector(s => s.manageEmailPreferences.initialPreferences.portfolioOutOfRiPeriodAlertState);\r\n const initialOutOfNcAlertState = useAppSelector(s => s.manageEmailPreferences.initialPreferences.portfolioOutOfNcPeriodAlertState);\r\n const initialRollerDeadlineAlertState = useAppSelector(s => s.manageEmailPreferences.initialPreferences.portfolioRollerDeadlineAlertState);\r\n const filters = config?.filters as PortfolioUserConfigFilter[] ?? [];\r\n\r\n const getFilterAlertsChangedFlag = () => {\r\n // filters state has not initialized yet\r\n if(filters.length && !keys(filtersAlertState).length) return false;\r\n\r\n return filters.some(f =>\r\n f.bwicAlertOption !== filtersAlertState[f.referenceName]?.bwicAlert ||\r\n f.dealerInventoryAlertOption !== filtersAlertState[f.referenceName]?.inventoryAlert\r\n );\r\n }\r\n\r\n const hasChanges =\r\n initialPortfolioBwicAlertState !== portfolioBwicAlertState ||\r\n initialPortfolioCleansingNoticeAlertState !== portfolioCleansingNoticeAlertState ||\r\n initialPortfolioInvnetoryAlertState !== portfolioInvneotryAlertState ||\r\n initialIssuanceMonitorAlertState !== issuanceMonitorAlertState ||\r\n initialRollerDeadlineAlertState !== rollerDeadlineAlertState ||\r\n initialOutOfRiAlertState !== outOfRiAlertState ||\r\n initialOutOfNcAlertState !== outOfNcAlertState ||\r\n getFilterAlertsChangedFlag();\r\n\r\n return hasChanges;\r\n}\r\n","export enum SubscriptionsTab {\r\n overview = 'Overview',\r\n plans = 'Plans',\r\n paymentMethod = 'PaymentMethod',\r\n billingInfo = 'BillingInfo',\r\n billingHistory = 'BillingHistory'\r\n}\r\n","import * as React from \"react\";\r\nimport { SubscriptionFeature } from '../../../../../types/billing/SubscriptionFeature';\r\nimport { AlertOption } from '../../../../../types/email-preferences/EmailPreferences'\r\nimport { ActionBlocker } from '../../../../access/ActionBlocker';\r\nimport { BlockedFeatureTooltipText } from '../../../../access/BlockedFeatureText';\r\nimport { RadioButton } from '../../../../controls'\r\nimport { InfoTooltip } from \"../../../../common/InfoTooltip\";\r\nimport IconSVG from '../../../../../styles/svg-icons';\r\n\r\ninterface EmailPreferencesRadioGroupProps {\r\n value: AlertOption;\r\n disabled?: boolean;\r\n alertOptions: AlertOption[];\r\n alertOptionInfo?: { [key in AlertOption]?: string }\r\n title: string | JSX.Element;\r\n description?: string;\r\n groupNameIndentifier: string;\r\n onChange: (alertOption: AlertOption) => void\r\n partially?: boolean;\r\n requiredFeature?: SubscriptionFeature;\r\n requiredFeatures?: SubscriptionFeature[];\r\n children?: React.ReactNode;\r\n collapsible?: boolean;\r\n}\r\n\r\nexport const EmailPreferencesRadioGroup = (\r\n {\r\n value,\r\n disabled = false,\r\n alertOptions,\r\n alertOptionInfo,\r\n title,\r\n description,\r\n groupNameIndentifier,\r\n onChange,\r\n partially,\r\n requiredFeature,\r\n requiredFeatures,\r\n children,\r\n collapsible = false\r\n }: EmailPreferencesRadioGroupProps) => {\r\n const [collapsed, setCollapsed] = React.useState(false);\r\n const renderInfoBlock = (alertOption: AlertOption) => {\r\n const info = alertOptionInfo?.[alertOption];\r\n\r\n if (!info) {\r\n return null\r\n }\r\n\r\n return \r\n }\r\n\r\n const renderAlert = (alertOption: AlertOption, blocked?: boolean) => {\r\n const selectedValue = blocked ? AlertOption.Never : value;\r\n return (\r\n onChange(alertOption)}\r\n onChange={() => {}}\r\n partially={partially && alertOption !== AlertOption.Never}\r\n />\r\n );\r\n };\r\n\r\n const renderTitle = () => (\r\n

setCollapsed(!collapsed) : undefined} className=\"controls-wrap-title flex-row\">\r\n {\r\n collapsible &&\r\n \r\n \r\n \r\n }\r\n {title}\r\n

\r\n )\r\n\r\n return (\r\n
\r\n
\r\n {renderTitle()}\r\n
\r\n {alertOptions.map(alertOption =>\r\n
\r\n {requiredFeature || requiredFeatures?.length ? (\r\n }\r\n feature={requiredFeature}\r\n features={requiredFeatures}\r\n requireAllFeatures\r\n >\r\n {blocked => renderAlert(alertOption, blocked)}\r\n \r\n ) : (\r\n renderAlert(alertOption)\r\n )}\r\n {renderInfoBlock(alertOption)}\r\n
\r\n )}\r\n
\r\n
\r\n {!!description &&

{description}

}\r\n {collapsed ? null: children}\r\n
\r\n );\r\n}\r\n","import { useEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { manageEmailPreferencesActions } from \"../../../../../../actions/manage-email-preferences.actions\";\r\nimport { routes } from '../../../../../../constants/routes';\r\nimport { isRequesting, isRequestNone, isRequestSuccess } from \"../../../../../../utils/request-state.utils\";\r\nimport { Preloader } from \"../../../../../common/Preloader\";\r\nimport { Popup, PopupBody, PopupFooter } from \"../../../../../controls\"\r\nimport { BwicMonitorAlertsTable } from \"./BwicMonitorAlertsTable\";\r\nimport { SavedFiltersAlerts } from \"../../SavedFiltersAlerts\";\r\nimport { useAppSelector } from \"../../../../../../effects/useAppSelector\";\r\nimport { usePageConfig } from \"../../../../../common/pageConfig/usePageConfig\";\r\nimport { PageConfigType } from \"../../../../../../types/page-config/PageConfigType\";\r\nimport { BwicFilterType } from \"../../../../../../types/filters/FilterState\";\r\nimport { BwicMonitorAlertsSaveButton } from \"./BwicMonitorAlertsSaveButton\";\r\nimport { EmailPreferencesTab } from \"../../EmailPreferencesContent\";\r\nimport { UserConfigFilter } from \"../../../../../../types/user-config/UserConfigFilter\";\r\nimport { SubscriptionFeature } from \"../../../../../../types/billing/SubscriptionFeature\";\r\nimport { textLabels } from \"../../../../../../constants/text-labels\";\r\n\r\ninterface BwicMonitorAlertsPopupProps {\r\n onClose: () => void\r\n}\r\n\r\nexport const BwicMonitorAlertsPopup = ({ onClose }: BwicMonitorAlertsPopupProps) => {\r\n const dispatch = useDispatch();\r\n\r\n const requestStateGetPreferences = useAppSelector(s => s.manageEmailPreferences.requestStateGetPreferences);\r\n const requestStateSaveBwicByRating = useAppSelector(s => s.manageEmailPreferences.requestStateSaveBwicByRating);\r\n const filter = useAppSelector(s => s.filters.bwicMonitor.filter);\r\n const visibleFilters = useAppSelector(s => s.filters.bwicMonitor.visibleFilters);\r\n\r\n const { config, requestState, updateRequestState, saveAlerts } = usePageConfig(\r\n PageConfigType.BwicMonitorAll,\r\n false,\r\n BwicFilterType.BwicMonitor\r\n );\r\n\r\n const isLoading = isRequesting(\r\n requestStateGetPreferences,\r\n requestStateSaveBwicByRating,\r\n requestState,\r\n updateRequestState\r\n );\r\n\r\n useEffect(() => {\r\n if (isRequestSuccess(requestStateSaveBwicByRating)) {\r\n onClose();\r\n } // eslint-disable-next-line\r\n }, [requestStateSaveBwicByRating])\r\n\r\n useEffect(() => () => {\r\n dispatch(manageEmailPreferencesActions.reset())\r\n }, [dispatch])\r\n\r\n useEffect(() => {\r\n if (isRequestNone(requestStateGetPreferences)) {\r\n dispatch(manageEmailPreferencesActions.getInitialDataRequest());\r\n }\r\n }, [dispatch, requestStateGetPreferences]);\r\n\r\n const handleSave = (updatedFilters?: UserConfigFilter[]) => {\r\n dispatch(manageEmailPreferencesActions.saveBwicByRatingPreferencesRequest());\r\n if (updatedFilters?.length) {\r\n saveAlerts(updatedFilters);\r\n }\r\n }\r\n\r\n if(isRequestSuccess(requestStateSaveBwicByRating)) return null;\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 Manage Alerts\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n )\r\n}\r\n","import React, { useState } from 'react';\r\nimport IconSVG from '../../../../../../styles/svg-icons';\r\nimport { BwicMonitorAlertsPopup } from './BwicMonitorAlertsPopup';\r\nimport { useAppSelector } from '../../../../../../effects/useAppSelector';\r\nimport { AlertOption } from '../../../../../../types/email-preferences/EmailPreferences';\r\nimport { useEmailPreferences } from '../../../../../../effects/data-accessors/useEmailPreferences';\r\nimport { usePageConfig } from '../../../../../common/pageConfig/usePageConfig';\r\nimport { PageConfigType } from '../../../../../../types/page-config/PageConfigType';\r\nimport { BwicFilterType } from '../../../../../../types/filters/FilterState';\r\n\r\nexport const BwicMonitorAlertsPreferences = () => {\r\n const [showModal, setShowModal] = useState(false);\r\n const isBwicByRatingAlertEnabled = useAppSelector(s => s.entities.emailPreferences.preferences?.bwicByRatingAlertState !== AlertOption.Never);\r\n const { config } = usePageConfig(PageConfigType.BwicMonitorAll, true, BwicFilterType.BwicMonitor);\r\n const isAnyFilterAlertEnabled = config?.filters.some(f => f.alertOption !== AlertOption.Never);\r\n const isAnyAlertEnabled = isBwicByRatingAlertEnabled || isAnyFilterAlertEnabled;\r\n\r\n useEmailPreferences();\r\n\r\n return (<>\r\n setShowModal(true)}\r\n >\r\n \r\n Alerts\r\n \r\n {showModal && setShowModal(false)} />}\r\n )\r\n}\r\n","import { values } from 'lodash';\r\nimport { SubscriptionFeature } from '../../../../../../types/billing/SubscriptionFeature';\r\nimport { AlertOption } from '../../../../../../types/email-preferences/EmailPreferences';\r\nimport { PortfolioSavedFilterAlertsState } from '../../../../../../types/state/ManageEmailPreferencesState';\r\nimport { ActionBlocker } from '../../../../../access/ActionBlocker';\r\nimport { RadioButton } from '../../../../../controls';\r\nimport { PortfolioAlertsTypes } from '../../../../../../types/portfolio/PortfolioAlerts';\r\n\r\ninterface Props {\r\n option: AlertOption;\r\n filterAlertState: PortfolioSavedFilterAlertsState;\r\n type: PortfolioAlertsTypes;\r\n onChange: (alertOption: AlertOption, type: PortfolioAlertsTypes) => void;\r\n disabled?: boolean;\r\n requiredFeature?: SubscriptionFeature;\r\n name?: string;\r\n}\r\nexport function PortfolioFiltersAlertsHeaderRadioButton({\r\n option,\r\n type,\r\n filterAlertState,\r\n onChange,\r\n disabled,\r\n name,\r\n requiredFeature,\r\n}: Props) {\r\n const filterValues = values(filterAlertState);\r\n\r\n const selected = filterValues?.some(x =>\r\n type === PortfolioAlertsTypes.bwicAlert ? x.bwicAlert === option : x.inventoryAlert === option,\r\n );\r\n const partially = filterValues?.some(x =>\r\n type === PortfolioAlertsTypes.bwicAlert ? x.bwicAlert !== option : x.inventoryAlert !== option,\r\n );\r\n\r\n const handleClick = () => {\r\n onChange(option, type);\r\n };\r\n\r\n return (\r\n \r\n {blocked => (\r\n {}}\r\n />\r\n )}\r\n \r\n );\r\n}\r\n","import { SubscriptionFeature } from '../../../../../../types/billing/SubscriptionFeature';\r\nimport { AlertOption } from '../../../../../../types/email-preferences/EmailPreferences';\r\nimport { ActionBlocker } from '../../../../../access/ActionBlocker';\r\nimport EmailInfoTooltip from '../../../../../common/EmailInfoTooltip';\r\nimport { ColumnBuilder } from '../../../../../bidding/common/table/columns/column-builder/ColumnBuilder';\r\nimport { IColumnDefinition } from '../../../../../bidding/common/table/types/ColumnDefinition';\r\nimport { OnHoverTooltip } from '../../../../../common';\r\nimport { RadioButton } from '../../../../../controls';\r\nimport { textLabels } from '../../../../../../constants/text-labels';\r\nimport { PortfolioFiltersAlertsHeaderRadioButton } from './PortfolioFiltersAlertsHeaderRadioButton';\r\nimport { IPortfolioAlertRow } from './PortfolioFilterAlertsTable';\r\nimport { PortfolioAlertsTypes } from '../../../../../../types/portfolio/PortfolioAlerts';\r\n\r\nconst filterName: IColumnDefinition = {\r\n columnKey: 'filterName',\r\n renderColumnHeaderContent: () => 'Filter Name',\r\n renderColumnContent: row => {\r\n const filterNameText = row.title\r\n return (\r\n
\r\n {filterNameText}\r\n
\r\n );\r\n },\r\n className: 'data-list-cell-xl padding-l-0 data-list-cell-right-border data-list-cell-filter-name',\r\n};\r\n\r\nconst portfolioBwicAlerts: IColumnDefinition[] = [\r\n {\r\n columnKey: 'bwicAlert-description',\r\n renderColumnHeaderContent: () => (\r\n \r\n BWIC\r\n \r\n \r\n ),\r\n renderColumnContent: () => '',\r\n className: 'text-center padding-l-0',\r\n },\r\n {\r\n columnKey: 'bwicAlert-never',\r\n renderColumnHeaderContent: ({ filters, onHeaderClick, disabled }) => (\r\n \r\n ),\r\n renderColumnContent: (row, { disabled, onColumnClick }) => {\r\n const name = 'bwicAlert-' + row.filterReferenceName;\r\n return (\r\n \r\n {blocked => (\r\n \r\n onColumnClick(\r\n PortfolioAlertsTypes.bwicAlert,\r\n AlertOption.Never,\r\n row\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: 'data-list-cell-xs padding-l-0 data-list-cell-control',\r\n },\r\n {\r\n columnKey: 'bwicAlert-instant',\r\n renderColumnHeaderContent: ({ filters, onHeaderClick, disabled }) => (\r\n <>\r\n \r\n \r\n \r\n ),\r\n renderColumnContent: (row, { disabled, onColumnClick }) => {\r\n const name = 'bwicAlert-instant-' + row.filterReferenceName;\r\n return (\r\n \r\n {blocked => (\r\n \r\n onColumnClick(\r\n PortfolioAlertsTypes.bwicAlert,\r\n AlertOption.Instant,\r\n row\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: 'data-list-cell-sm-01 padding-l-0 data-list-cell-control data-list-cell-right-border',\r\n },\r\n];\r\n\r\nconst porfolioInventoryAlerts: IColumnDefinition[] = [\r\n {\r\n columnKey: 'inventoryAlert-description',\r\n renderColumnHeaderContent: () => (\r\n \r\n Inventory\r\n \r\n \r\n ),\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-sm-01',\r\n },\r\n {\r\n columnKey: 'inventoryAlert-never',\r\n renderColumnHeaderContent: ({ filters, onHeaderClick, disabled }) => (\r\n \r\n ),\r\n renderColumnContent: (row, { disabled, onColumnClick }) => {\r\n const name = 'inventoryAlert-never-' + row.filterReferenceName;\r\n return (\r\n \r\n {blocked => (\r\n \r\n onColumnClick(\r\n PortfolioAlertsTypes.dealersInventoryAlert,\r\n AlertOption.Never,\r\n row\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: 'data-list-cell-xs padding-l-0 data-list-cell-control',\r\n },\r\n {\r\n columnKey: 'inventoryAlert-instant',\r\n renderColumnHeaderContent: ({ filters, onHeaderClick, disabled }) => (\r\n <>\r\n \r\n \r\n \r\n ),\r\n renderColumnContent: (row, { disabled, onColumnClick }) => {\r\n const name = 'inventoryAlert-instant+' + row.filterReferenceName;\r\n return (\r\n \r\n {blocked => (\r\n \r\n onColumnClick(\r\n PortfolioAlertsTypes.dealersInventoryAlert,\r\n AlertOption.Instant,\r\n row\r\n )\r\n }\r\n />\r\n )}\r\n \r\n );\r\n },\r\n className: 'padding-l-0 data-list-cell-control',\r\n },\r\n];\r\n\r\nexport const portfolioFilterAlertsColumns = [\r\n filterName,\r\n ...portfolioBwicAlerts,\r\n ...porfolioInventoryAlerts,\r\n].map(c => new ColumnBuilder(c));\r\n","import { useDispatch } from 'react-redux';\r\nimport { keys } from 'lodash';\r\nimport cn from 'classnames';\r\nimport { AlertOption } from '../../../../../../types/email-preferences/EmailPreferences';\r\nimport { BwicFilterType } from '../../../../../../types/filters/FilterState';\r\nimport { PortfolioUserConfigFilter } from '../../../../../../types/user-config/UserConfigFilter';\r\nimport { ListBuilder } from '../../../../../../utils/ListBuilder';\r\nimport { SavedFilterDetails } from '../../../../../amrPipeline/aggregated/email-alerts/issuance-monitor/SavedFilterDetails';\r\nimport { Table } from '../../../../../bidding/common/table';\r\nimport {\r\n PortfolioAlertsRowType,\r\n} from '../../../../../../types/state/ManageEmailPreferencesState';\r\nimport { useAppSelector } from '../../../../../../effects/useAppSelector';\r\nimport { manageEmailPreferencesActions } from '../../../../../../actions/manage-email-preferences.actions';\r\nimport { useEffect } from 'react';\r\nimport { SubscriptionFeature } from '../../../../../../types/billing/SubscriptionFeature';\r\nimport { user } from '../../../../../../user/user';\r\nimport { roles } from '../../../../../../constants/roles';\r\nimport { SubscribeLink } from '../../../../../access/BlockedFeatureText';\r\nimport { RequiredFeature } from '../../../../../access/RequiredFeature';\r\nimport { portfolioFilterAlertsColumns } from './portfolioFilterAlertsTableColumns';\r\nimport { PortfolioAlertsTypes } from '../../../../../../types/portfolio/PortfolioAlerts';\r\n\r\nexport interface IPortfolioAlertRow {\r\n title: string;\r\n rowType: PortfolioAlertsRowType;\r\n bwicAlert: AlertOption | null; // null if partial;\r\n inventoryAlert: AlertOption | null; // null if partial;\r\n filterReferenceName: string;\r\n disabled?: boolean;\r\n}\r\n\r\ninterface Props {\r\n savedFilters: PortfolioUserConfigFilter[];\r\n disabled?: boolean;\r\n}\r\n\r\nexport const PortfolioFiltersAlertsTable = ({ savedFilters, disabled }: Props) => {\r\n const dispatch = useDispatch();\r\n const filter = useAppSelector(s => s.filters.portfolio.filter);\r\n const filtersAlertState = useAppSelector(s => s.manageEmailPreferences.portfolioSavedFilterAlerts);\r\n const visibleFilters = useAppSelector(s => s.filters.portfolio.visibleFilters);\r\n\r\n const isBd = user.hasRoles(...roles.bd());\r\n\r\n useEffect(() => {\r\n if (savedFilters.length && !keys(filtersAlertState).length) {\r\n dispatch(manageEmailPreferencesActions.initPortfolioFilterAlerts(savedFilters));\r\n }\r\n }, [savedFilters, filtersAlertState, dispatch]);\r\n\r\n const gitFilterRowTitle = (filter: PortfolioUserConfigFilter) => {\r\n const filterCount = keys(filter.filter).length;\r\n const filterWord = filterCount === 1 ? 'filter' : 'filters';\r\n return `${filter.name} (${filterCount} ${filterWord})`;\r\n };\r\n\r\n const getTableRows = () => {\r\n const savedFilterRows: IPortfolioAlertRow[] = savedFilters.map(f => ({\r\n title: gitFilterRowTitle(f),\r\n rowType: PortfolioAlertsRowType.SavedFilter,\r\n bwicAlert: filtersAlertState[f.referenceName]?.bwicAlert ?? AlertOption.Never,\r\n inventoryAlert: filtersAlertState[f.referenceName]?.inventoryAlert ?? AlertOption.Never,\r\n filterReferenceName: f.referenceName,\r\n }));\r\n\r\n return new ListBuilder().add(...savedFilterRows).result();\r\n };\r\n\r\n const onColumnClick = (type: PortfolioAlertsTypes, alertOption: AlertOption, row: IPortfolioAlertRow) => {\r\n type === PortfolioAlertsTypes.bwicAlert\r\n ? dispatch(\r\n manageEmailPreferencesActions.portfolioSavedFilterAlertChange(\r\n row.filterReferenceName!,\r\n alertOption,\r\n row.inventoryAlert,\r\n ),\r\n )\r\n : dispatch(\r\n manageEmailPreferencesActions.portfolioSavedFilterAlertChange(\r\n row.filterReferenceName!,\r\n row.bwicAlert,\r\n alertOption,\r\n ),\r\n );\r\n };\r\n\r\n const onHeaderClick = (option: AlertOption, type: PortfolioAlertsTypes) => {\r\n type === PortfolioAlertsTypes.bwicAlert\r\n ? dispatch(\r\n manageEmailPreferencesActions.portfolioSavedFilterGlobalAlertChange(option),\r\n )\r\n : dispatch(manageEmailPreferencesActions.portfolioSavedFilterGlobalAlertChange(undefined, option));\r\n };\r\n\r\n const renderFilterDetails = (row: IPortfolioAlertRow) => {\r\n if (row.rowType !== PortfolioAlertsRowType.SavedFilter) return null;\r\n\r\n const savedFilter = savedFilters?.find(sf => sf.referenceName === row.filterReferenceName);\r\n\r\n if (!savedFilter) return null;\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n return (\r\n
\r\n
\r\n

Saved Filters

\r\n
\r\n

\r\n Receive email notifications when security from your portfolio is on a BWIC or\r\n has been added, updated, or traded in the Dealer Inventory List.\r\n

\r\n ({\r\n onHeaderClick,\r\n filters: filtersAlertState,\r\n disabled,\r\n isBd\r\n })}\r\n createSecurityCustomArgs={() => ({\r\n onColumnClick,\r\n disabled\r\n })}\r\n columns={portfolioFilterAlertsColumns}\r\n className={cn('data-list-striped data-list-saved-filter', { 'margin-b-0': !savedFilters.length })}\r\n shouldRenderCollapsibleRowCallback={(row: IPortfolioAlertRow) =>\r\n row.rowType === PortfolioAlertsRowType.SavedFilter\r\n }\r\n renderCollapsibleItem={renderFilterDetails}\r\n createSecurityCustomClassName={(row: IPortfolioAlertRow) =>\r\n row.rowType !== PortfolioAlertsRowType.SavedFilter && 'row-grouping'\r\n }\r\n />\r\n {!savedFilters.length ? (\r\n \r\n to unlock the saved filters.\r\n \r\n }\r\n >\r\n
\r\n There are no saved filters yet to receive an email notifications.\r\n
\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n","import { useDispatch } from \"react-redux\";\r\nimport { values } from \"lodash\";\r\nimport { useAppSelector } from \"../../../../../../effects/useAppSelector\";\r\nimport { UnsubscribeAllButton } from \"../UnsubscribeAllButton\";\r\nimport { manageEmailPreferencesActions } from \"../../../../../../actions/manage-email-preferences.actions\";\r\nimport { AlertEnabledState } from \"../../../../../../types/enums/AlertEnabledState\";\r\nimport { AlertOption } from \"../../../../../../types/email-preferences/EmailPreferences\";\r\n\r\ninterface Props {\r\n disabled?: boolean;\r\n}\r\n\r\nexport function UnsubscribePortfolioAlertsButton({ disabled }: Props) {\r\n const dispatch = useDispatch();\r\n\r\n const bwicAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.portfolioBwicAlertState);\r\n const cleansingNoticeAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.portfolioCleansingNoticeAlertState);\r\n const invneotryAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.portfolioDealersInventoryAlertState);\r\n const issuanceMonitorAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.portfolioIssuanceMonitorAlertState);\r\n const outOfRiAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.portfolioOutOfRiPeriodAlertState);\r\n const outOfNcAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.portfolioOutOfNcPeriodAlertState);\r\n const rollerDeadlineAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.portfolioRollerDeadlineAlertState);\r\n const filtersAlertState = useAppSelector(s => s.manageEmailPreferences.portfolioSavedFilterAlerts);\r\n\r\n const hasEnabledAlerts = () =>\r\n [\r\n bwicAlertState,\r\n cleansingNoticeAlertState,\r\n invneotryAlertState,\r\n issuanceMonitorAlertState,\r\n outOfRiAlertState,\r\n outOfNcAlertState,\r\n rollerDeadlineAlertState,\r\n ].some(\r\n (alertState) =>\r\n alertState === AlertEnabledState.Enabled ||\r\n alertState === AlertEnabledState.PartiallyEnabled\r\n ) ||\r\n values(filtersAlertState).some(\r\n (x) =>\r\n x.bwicAlert === AlertOption.Instant ||\r\n x.inventoryAlert === AlertOption.Instant\r\n );\r\n\r\n return (\r\n dispatch(manageEmailPreferencesActions.unsubscribeAllPortfolio())}\r\n disabled={disabled || !hasEnabledAlerts()}\r\n />\r\n );\r\n}\r\n","import { useDispatch } from 'react-redux';\r\nimport { useHistory } from 'react-router';\r\nimport { Link } from 'react-router-dom';\r\nimport { manageEmailPreferencesActions } from '../../../../../../actions/manage-email-preferences.actions';\r\nimport { routes } from '../../../../../../constants/routes';\r\nimport { useAppSelector } from '../../../../../../effects/useAppSelector';\r\nimport { AlertEnabledState } from '../../../../../../types/enums/AlertEnabledState';\r\nimport { StatusMessageSectionType } from '../../../../../../types/state/NotificationState';\r\nimport { isRequesting } from '../../../../../../utils';\r\nimport { RouteLeavingGuard } from '../../../../../routing';\r\nimport { StatusMessageSection } from '../../../../../status-message/StatusMessageSection';\r\nimport { SavePortfolioAlertsButton } from './SavePortfolioAlertsButton';\r\nimport { PageConfigType } from '../../../../../../types/page-config/PageConfigType';\r\nimport { BwicFilterType } from '../../../../../../types/filters/FilterState';\r\nimport { usePageConfig } from '../../../../../common/pageConfig/usePageConfig';\r\nimport { PortfolioUserConfigFilter } from '../../../../../../types/user-config/UserConfigFilter';\r\nimport { usePortfolioAlertsChangedState } from './usePortfolioAlertsChangedState';\r\nimport { UnsubscribePortfolioAlertsButton } from './UnsubscribePortfolioAlertsButton';\r\nimport { AlertOption, instantAlertOptions, periodicAlertOption } from '../../../../../../types/email-preferences/EmailPreferences';\r\nimport { emailPreferencesUtils } from '../../../../../../utils/email-preferences.utils';\r\nimport { PortfolioFiltersAlertsTable } from './PortfolioFilterAlertsTable';\r\nimport { EmailPreferencesRadioGroup } from '../EmailPreferencesRadioGroup';\r\nimport { textLabels } from '../../../../../../constants/text-labels';\r\nimport { SubscriptionFeature } from '../../../../../../types/billing/SubscriptionFeature';\r\n\r\nexport const portfolioImRequiredFeatures = [\r\n SubscriptionFeature.IssuanceMonitorFullAccess,\r\n SubscriptionFeature.PortfolioAlerts,\r\n];\r\n\r\nexport function PortfolioTab() {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const { config, requestState, updateRequestState } = usePageConfig(\r\n PageConfigType.Portfolio,\r\n true,\r\n BwicFilterType.Portfolio,\r\n );\r\n const savePreferencesRequestState = useAppSelector(s => s.manageEmailPreferences.requestStateSaveEditPreferences);\r\n\r\n\r\n const portfolioCleansingNoticeAlertState = useAppSelector(\r\n s => s.manageEmailPreferences.editPreferences.portfolioCleansingNoticeAlertState,\r\n );\r\n const portfolioIssuanceMonitorAlertState = useAppSelector(\r\n s => s.manageEmailPreferences.editPreferences.portfolioIssuanceMonitorAlertState,\r\n );\r\n const portfolioRiAlertState = useAppSelector(\r\n s => s.manageEmailPreferences.editPreferences.portfolioOutOfRiPeriodAlertState,\r\n );\r\n const portfolioNcAlertState = useAppSelector(\r\n s => s.manageEmailPreferences.editPreferences.portfolioOutOfNcPeriodAlertState,\r\n );\r\n const portfolioRollerDeadlineAlertState = useAppSelector(\r\n s => s.manageEmailPreferences.editPreferences.portfolioRollerDeadlineAlertState,\r\n );\r\n const allSecuritiesBwicAlertState = useAppSelector(\r\n s => s.manageEmailPreferences.editPreferences.portfolioBwicAlertState,\r\n );\r\n const allSecuritiesInventortAlertState = useAppSelector(\r\n s => s.manageEmailPreferences.editPreferences.portfolioDealersInventoryAlertState,\r\n );\r\n\r\n const cleansingNoticeAlertOption = emailPreferencesUtils.convertAlertEnabledStateToAlertOption(\r\n portfolioCleansingNoticeAlertState,\r\n AlertOption.Instant,\r\n );\r\n const issuanceMonitorAlertOption = emailPreferencesUtils.convertAlertEnabledStateToAlertOption(\r\n portfolioIssuanceMonitorAlertState,\r\n AlertOption.Instant,\r\n );\r\n const riAlertOption = emailPreferencesUtils.convertAlertEnabledStateToAlertOption(\r\n portfolioRiAlertState,\r\n AlertOption.Periodic,\r\n );\r\n const ncAlertOption = emailPreferencesUtils.convertAlertEnabledStateToAlertOption(\r\n portfolioNcAlertState,\r\n AlertOption.Periodic,\r\n );\r\n const rollerDeadlineAlertOption = emailPreferencesUtils.convertAlertEnabledStateToAlertOption(\r\n portfolioRollerDeadlineAlertState,\r\n AlertOption.Instant,\r\n );\r\n\r\n const allSecuritiesBwicAlertOption = emailPreferencesUtils.convertAlertEnabledStateToAlertOption(\r\n allSecuritiesBwicAlertState,\r\n AlertOption.Instant,\r\n );\r\n const allSecuritiesInventoryAlertOption = emailPreferencesUtils.convertAlertEnabledStateToAlertOption(\r\n allSecuritiesInventortAlertState,\r\n AlertOption.Instant,\r\n );\r\n\r\n const hasChanges = usePortfolioAlertsChangedState();\r\n\r\n const handleChangeImAlert = (value: AlertOption) => {\r\n dispatch(\r\n manageEmailPreferencesActions.setPortfolioIssuanceMonitorAlerts(\r\n emailPreferencesUtils.convertAlertOptionToAlertEnabledState(value),\r\n ),\r\n );\r\n };\r\n\r\n const handleChangeRiAlert = (value: AlertOption) => {\r\n dispatch(\r\n manageEmailPreferencesActions.setPortfolioRiAlerts(\r\n emailPreferencesUtils.convertAlertOptionToAlertEnabledState(value),\r\n ),\r\n );\r\n };\r\n\r\n const handleChangeNcAlert = (value: AlertOption) => {\r\n dispatch(\r\n manageEmailPreferencesActions.setPortfolioNcAlerts(\r\n emailPreferencesUtils.convertAlertOptionToAlertEnabledState(value),\r\n ),\r\n );\r\n };\r\n\r\n const handleChangeRollerDeadlineAlert = (value: AlertOption) => {\r\n dispatch(\r\n manageEmailPreferencesActions.setPortfolioRollerDeadlineAlerts(\r\n emailPreferencesUtils.convertAlertOptionToAlertEnabledState(value),\r\n ),\r\n );\r\n };\r\n\r\n const handleBwicAlertChange = (value: AlertOption) => {\r\n dispatch(\r\n manageEmailPreferencesActions.setPortfolioBwicAlerts(\r\n emailPreferencesUtils.convertAlertOptionToAlertEnabledState(value),\r\n ),\r\n );\r\n };\r\n\r\n const handleCleansingNoticeAlertChange = (value: AlertOption) => {\r\n dispatch(\r\n manageEmailPreferencesActions.setPortfolioCleansingNoticeAlerts(\r\n emailPreferencesUtils.convertAlertOptionToAlertEnabledState(value),\r\n ),\r\n );\r\n };\r\n\r\n const handleInventoryAlertChange = (value: AlertOption) => {\r\n dispatch(\r\n manageEmailPreferencesActions.setPortfolioInventoryAlerts(\r\n emailPreferencesUtils.convertAlertOptionToAlertEnabledState(value),\r\n ),\r\n );\r\n };\r\n\r\n const withPartialCheck = [\r\n portfolioCleansingNoticeAlertState,\r\n portfolioIssuanceMonitorAlertState,\r\n portfolioRiAlertState,\r\n portfolioNcAlertState,\r\n portfolioRollerDeadlineAlertState,\r\n allSecuritiesBwicAlertState,\r\n allSecuritiesInventortAlertState,\r\n ].some((alertState) => alertState === AlertEnabledState.PartiallyEnabled);\r\n\r\n return (\r\n <>\r\n
\r\n {withPartialCheck && (\r\n \r\n Some alerts are disabled on partial check, see Portfolio page\r\n for details and management.\r\n \r\n )}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n dispatch(manageEmailPreferencesActions.rollbackPortfolio());\r\n dispatch(manageEmailPreferencesActions.resetPortfolioFilterAlerts());\r\n history.push(pathname);\r\n }}\r\n shouldBlockNavigation={() => hasChanges}\r\n />\r\n
\r\n \r\n );\r\n}\r\n","import { useState } from \"react\";\r\nimport { TabItem, TabList } from \"../../../../../bidding/common/tab-list\";\r\nimport { TabContent } from \"../../../../../amrPipeline/common/tabs/TabContent\";\r\nimport { PortfolioUserConfigFilter } from \"../../../../../../types/user-config/UserConfigFilter\";\r\nimport { PortfolioFiltersAlertsTable } from \"./PortfolioFilterAlertsTable\";\r\nimport {\r\n AlertOption,\r\n instantAlertOptions,\r\n periodicAlertOption,\r\n} from \"../../../../../../types/email-preferences/EmailPreferences\";\r\nimport { useAppSelector } from \"../../../../../../effects/useAppSelector\";\r\nimport { SubscriptionFeature } from \"../../../../../../types/billing/SubscriptionFeature\";\r\nimport { user } from \"../../../../../../user\";\r\nimport { textLabels } from \"../../../../../../constants/text-labels\";\r\nimport { AlertEnabledState } from \"../../../../../../types/enums/AlertEnabledState\";\r\nimport { EmailPreferencesRadioGroup } from \"../EmailPreferencesRadioGroup\";\r\nimport { portfolioImRequiredFeatures } from \"./PortfolioTab\";\r\n\r\ntype OnChangeHandler = (alertOption: AlertOption) => void;\r\n\r\ninterface Props {\r\n cnAlert: AlertOption;\r\n cnState?: AlertEnabledState;\r\n onChangeCnAlert: OnChangeHandler;\r\n imAlert: AlertOption;\r\n imState?: AlertEnabledState;\r\n onChangeImAlert: OnChangeHandler;\r\n outOfRiAlert: AlertOption;\r\n outOfRiState?: AlertEnabledState;\r\n onChangeOutOfRiAlert: OnChangeHandler;\r\n outOfNcAlert: AlertOption;\r\n outOfNcState?: AlertEnabledState;\r\n onChangeOutOfNcAlert: OnChangeHandler;\r\n rollerDeadlineAlert: AlertOption;\r\n rollerDeadlineState?: AlertEnabledState;\r\n onChangeRollerDeadlineAlert: OnChangeHandler;\r\n bwicAlert: AlertOption;\r\n bwicState?: AlertEnabledState;\r\n onChangeBwicAlert: OnChangeHandler;\r\n inventoryAlert: AlertOption;\r\n inventoryState?: AlertEnabledState;\r\n onChangeInventoryAlert: OnChangeHandler;\r\n portfolioFilters?: PortfolioUserConfigFilter[];\r\n isFilterTableDisabled?: boolean;\r\n}\r\n\r\nconst convertToCount = (option: AlertOption) =>\r\n option === AlertOption.Never ? 0 : 1;\r\n\r\nconst renderCounter = (optionsCount: number[]) => {\r\n const selectedOptions = optionsCount.reduce(\r\n (acc, option) => acc + option,\r\n 0\r\n );\r\n\r\n return (\r\n \r\n ({selectedOptions}/{optionsCount.length})\r\n \r\n );\r\n};\r\n\r\nexport function PortfolioAlertsTabs({\r\n cnAlert,\r\n cnState,\r\n onChangeCnAlert,\r\n bwicAlert,\r\n bwicState,\r\n onChangeBwicAlert,\r\n inventoryAlert,\r\n inventoryState,\r\n onChangeInventoryAlert,\r\n imAlert,\r\n imState,\r\n onChangeImAlert,\r\n outOfRiAlert,\r\n outOfRiState,\r\n onChangeOutOfRiAlert,\r\n outOfNcAlert,\r\n outOfNcState,\r\n onChangeOutOfNcAlert,\r\n rollerDeadlineAlert,\r\n rollerDeadlineState,\r\n onChangeRollerDeadlineAlert,\r\n portfolioFilters,\r\n isFilterTableDisabled,\r\n}: Props) {\r\n const filtersAlertState = useAppSelector(s => s.manageEmailPreferences.portfolioSavedFilterAlerts);\r\n\r\n const portfolioAlertsAccess = user.hasFeatures(SubscriptionFeature.PortfolioAlerts);\r\n\r\n const portfolioImAlertsAccess = user.hasAllFeatures(\r\n ...[\r\n SubscriptionFeature.IssuanceMonitorFullAccess,\r\n SubscriptionFeature.PortfolioAlerts,\r\n ]\r\n );\r\n const [isPrimary, setIsPrimary] = useState(true);\r\n\r\n const savedFiltersBwicAlertOption = portfolioFilters?.some((p) => {\r\n const alert = filtersAlertState[p.referenceName]?.bwicAlert;\r\n return alert && alert !== AlertOption.Never;\r\n })\r\n ? AlertOption.Instant\r\n : AlertOption.Never;\r\n\r\n const savedFiltersInventoryAlertOption = portfolioFilters?.some((p) => {\r\n const alert = filtersAlertState[p.referenceName]?.inventoryAlert;\r\n return alert && alert !== AlertOption.Never;\r\n })\r\n ? AlertOption.Instant\r\n : AlertOption.Never;\r\n\r\n const primaryAlerts = [\r\n portfolioImAlertsAccess ? convertToCount(cnAlert) : 0,\r\n portfolioImAlertsAccess ? convertToCount(imAlert) : 0,\r\n portfolioImAlertsAccess ? convertToCount(outOfRiAlert) : 0,\r\n portfolioImAlertsAccess ? convertToCount(outOfNcAlert) : 0,\r\n portfolioImAlertsAccess ? convertToCount(rollerDeadlineAlert) : 0,\r\n ];\r\n\r\n const secondaryAlerts = [\r\n convertToCount(bwicAlert),\r\n convertToCount(inventoryAlert),\r\n ...(portfolioFilters?.length && portfolioAlertsAccess\r\n ? [convertToCount(savedFiltersBwicAlertOption)]\r\n : []),\r\n ...(portfolioFilters?.length && portfolioAlertsAccess\r\n ? [convertToCount(savedFiltersInventoryAlertOption)]\r\n : []),\r\n ];\r\n\r\n return (\r\n <>\r\n \r\n Primary {renderCounter(primaryAlerts)}}\r\n onClick={() => setIsPrimary(true)}\r\n />\r\n Secondary {renderCounter(secondaryAlerts)}}\r\n onClick={() => setIsPrimary(false)}\r\n />\r\n \r\n \r\n {isPrimary ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n {!!portfolioFilters && (\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n\r\n","import { useEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { manageEmailPreferencesActions } from \"../../../../../../actions/manage-email-preferences.actions\";\r\nimport { routes } from '../../../../../../constants/routes';\r\nimport { isRequesting, isRequestNone, isRequestSuccess } from \"../../../../../../utils/request-state.utils\";\r\nimport { Preloader } from \"../../../../../common/Preloader\";\r\nimport { Popup, PopupBody, PopupFooter } from \"../../../../../controls\"\r\nimport { SavedFiltersAlerts } from \"../../SavedFiltersAlerts\";\r\nimport { useAppSelector } from \"../../../../../../effects/useAppSelector\";\r\nimport { usePageConfig } from \"../../../../../common/pageConfig/usePageConfig\";\r\nimport { PageConfigType } from \"../../../../../../types/page-config/PageConfigType\";\r\nimport { BwicFilterType } from \"../../../../../../types/filters/FilterState\";\r\nimport { DealerInventoryAlertsSaveButton } from \"./DealerInventoryAlertsSaveButton\";\r\nimport { EmailPreferencesTab } from \"../../EmailPreferencesContent\";\r\nimport { UserConfigFilter } from \"../../../../../../types/user-config/UserConfigFilter\";\r\nimport { SubscriptionFeature } from \"../../../../../../types/billing/SubscriptionFeature\";\r\nimport { EmailPreferencesRadioGroup } from \"../EmailPreferencesRadioGroup\";\r\nimport { AlertOption } from \"../../../../../../types/email-preferences/EmailPreferences\";\r\nimport { FilterColumnsKeys } from \"../../../../../amrPipeline/aggregated/email-alerts/issuance-monitor/filterColumns\";\r\nimport { textLabels } from \"../../../../../../constants/text-labels\";\r\n\r\ninterface DealerInventoryAlertsPopupProps {\r\n onClose: () => void\r\n}\r\n\r\nexport const DealerInventoryAlertsPopup = ({ onClose }: DealerInventoryAlertsPopupProps) => {\r\n const dispatch = useDispatch();\r\n\r\n const requestStateGetPreferences = useAppSelector(s => s.manageEmailPreferences.requestStateGetPreferences);\r\n const dealerInventoryAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.dealerInventoryAlertState);\r\n const requestStateSave = useAppSelector(s => s.manageEmailPreferences.requestStateSaveEditPreferences);\r\n const filter = useAppSelector(s => s.filters.inventory.filter);\r\n const visibleFilters = useAppSelector(s => s.filters.inventory.visibleFilters);\r\n\r\n const { config, requestState, updateRequestState, saveAlerts } = usePageConfig(\r\n PageConfigType.DealerInventory,\r\n false,\r\n BwicFilterType.Inventory\r\n );\r\n\r\n const isLoading = isRequesting(\r\n requestStateGetPreferences,\r\n requestState,\r\n updateRequestState\r\n );\r\n\r\n useEffect(() => {\r\n if (isRequestSuccess(requestStateSave)) {\r\n onClose();\r\n } // eslint-disable-next-line\r\n }, [requestStateSave])\r\n\r\n useEffect(() => () => {\r\n dispatch(manageEmailPreferencesActions.reset())\r\n }, [dispatch])\r\n\r\n useEffect(() => {\r\n if (isRequestNone(requestStateGetPreferences)) {\r\n dispatch(manageEmailPreferencesActions.getInitialDataRequest());\r\n }\r\n }, [dispatch, requestStateGetPreferences]);\r\n\r\n const handleSave = (updatedFilters?: UserConfigFilter[]) => {\r\n dispatch(manageEmailPreferencesActions.saveEmailPreferencesRequest());\r\n if (updatedFilters?.length) {\r\n saveAlerts(updatedFilters);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n dispatch(manageEmailPreferencesActions.setDealerInventoryAlertState(alertOption))}\r\n requiredFeature={SubscriptionFeature.InventoryAlerts}\r\n />\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Manage Alerts\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n","import React, { useState } from 'react';\r\nimport IconSVG from '../../../../../../styles/svg-icons';\r\nimport { DealerInventoryAlertsPopup } from './DealerInventoryAlertsPopup';\r\nimport { useAppSelector } from '../../../../../../effects/useAppSelector';\r\nimport { AlertOption } from '../../../../../../types/email-preferences/EmailPreferences';\r\nimport { useEmailPreferences } from '../../../../../../effects/data-accessors/useEmailPreferences';\r\nimport { usePageConfig } from '../../../../../common/pageConfig/usePageConfig';\r\nimport { PageConfigType } from '../../../../../../types/page-config/PageConfigType';\r\nimport { BwicFilterType } from '../../../../../../types/filters/FilterState';\r\n\r\nexport const DealerInventoryAlertsPreferences = () => {\r\n const [showModal, setShowModal] = useState(false);\r\n const isAnyGlobalAlertEnabled = useAppSelector(s => s.entities.emailPreferences.preferences?.dealerInventoryAlertState !== AlertOption.Never);\r\n const { config } = usePageConfig(PageConfigType.DealerInventory, true, BwicFilterType.Inventory);\r\n const isAnyFilterAlertEnabled = config?.filters.some(f => f.alertOption !== AlertOption.Never);\r\n const isAnyAlertEnabled = isAnyFilterAlertEnabled || isAnyGlobalAlertEnabled;\r\n\r\n useEmailPreferences();\r\n\r\n return (<>\r\n setShowModal(true)}\r\n >\r\n \r\n Alerts\r\n \r\n {showModal && setShowModal(false)} />}\r\n )\r\n}\r\n","import React from 'react';\r\nimport { useAppSelector } from '../../../../../effects/useAppSelector';\r\nimport { Currency } from '../../../../../types/enums/Currency';\r\nimport { Rating } from '../../../../../types/enums/Rating';\r\nimport { Checkbox } from '../../../../controls';\r\nimport { useDispatch } from 'react-redux';\r\nimport { manageEmailPreferencesActions } from '../../../../../actions/manage-email-preferences.actions';\r\nimport { emailPreferencesUtils } from '../../../../../utils/email-preferences.utils';\r\nimport { ActionBlocker } from '../../../../access/ActionBlocker';\r\nimport { SubscriptionFeature } from '../../../../../types/billing/SubscriptionFeature';\r\n\r\ninterface Props {\r\n currency: Currency;\r\n rating: Rating;\r\n disabled: boolean;\r\n}\r\n\r\nexport const EmailPreferencesTableRating: React.FC = ({ rating, currency, disabled }) => {\r\n const dispatch = useDispatch();\r\n const checked = useAppSelector(s =>\r\n !!s.manageEmailPreferences.editPreferences.ratingPreference.find(\r\n r => r.rating === rating && emailPreferencesUtils.isCurrencyActive(r, currency)\r\n )\r\n );\r\n\r\n return (\r\n \r\n {blocked =>\r\n \r\n dispatch(manageEmailPreferencesActions.setRatingCheckedState(rating, currency, e.target.checked))\r\n }\r\n label={rating}\r\n checked={checked && !blocked}\r\n />}\r\n \r\n )\r\n};\r\n","import React, { useCallback } from 'react';\r\nimport { useAppSelector } from '../../../../../effects/useAppSelector';\r\nimport { Currency } from '../../../../../types/enums/Currency';\r\nimport { Checkbox } from '../../../../controls';\r\nimport { useDispatch } from 'react-redux';\r\nimport { manageEmailPreferencesActions } from '../../../../../actions/manage-email-preferences.actions';\r\nimport { isRequesting } from '../../../../../utils';\r\nimport { AlertOption } from '../../../../../types/email-preferences/EmailPreferences';\r\nimport { ActionBlocker } from '../../../../access/ActionBlocker';\r\nimport { SubscriptionFeature } from '../../../../../types/billing/SubscriptionFeature';\r\n\r\ninterface Props {\r\n currency: Currency,\r\n}\r\n\r\nexport const EmailPreferencesTableRatingTitle: React.FC = ({ currency }) => {\r\n const dispatch = useDispatch();\r\n\r\n const ratingPreference = useAppSelector(s => s.manageEmailPreferences.editPreferences.ratingPreference);\r\n const bwicByRatingAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.bwicByRatingAlertState);\r\n const isRequestStateSaving = useAppSelector(s => isRequesting(s.manageEmailPreferences.requestStateSaveEditPreferences));\r\n\r\n const isSelected = useCallback(\r\n () => !!ratingPreference.length && ratingPreference.every(r => r[`is${currency}`]),\r\n [ratingPreference, currency]\r\n );\r\n\r\n const isPartially = useCallback(\r\n () =>\r\n !!ratingPreference.length &&\r\n ratingPreference.some(r => r[`is${currency}`]) &&\r\n ratingPreference.some(r => !r[`is${currency}`]),\r\n [ratingPreference, currency]\r\n );\r\n\r\n return (\r\n \r\n {blocked =>\r\n dispatch(manageEmailPreferencesActions.setRatingInCurrencyCheckedState(currency, e.target.checked))}\r\n checked={!blocked && isSelected()}\r\n partially={!blocked && isPartially()}\r\n label={currency}\r\n />}\r\n \r\n )\r\n};\r\n","import React, { ChangeEvent, useRef, useState } from 'react';\r\nimport MaskedInput from 'react-text-mask';\r\nimport cn from 'classnames';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport { useAppSelector } from '../../../../../effects/useAppSelector';\r\nimport { Rating } from '../../../../../types/enums/Rating';\r\nimport { useDispatch } from 'react-redux';\r\nimport { manageEmailPreferencesActions } from '../../../../../actions/manage-email-preferences.actions';\r\nimport { constants, errorMessages } from '../../../../../constants';\r\nimport { emailPreferencesUtils } from '../../../../../utils/email-preferences.utils';\r\nimport { FormError } from '../../../../controls';\r\nimport { ActionBlocker } from '../../../../access/ActionBlocker';\r\nimport { SubscriptionFeature } from '../../../../../types/billing/SubscriptionFeature';\r\n\r\ntype SizeType = 'minSize' | 'maxSize';\r\n\r\ninterface Props {\r\n rating: Rating;\r\n type: SizeType;\r\n disabled: boolean;\r\n}\r\n\r\nexport const EmailPreferencesTableSize: React.FC = ({ rating, type, disabled }) => {\r\n const dispatch = useDispatch();\r\n\r\n const [hover, setHover] = useState(false);\r\n\r\n const inputRef = useRef();\r\n\r\n const editingRating = useAppSelector(s =>\r\n s.manageEmailPreferences.editPreferences.ratingPreference.find(p => p.rating === rating)\r\n ) || emailPreferencesUtils.getDefaultRatingPreferences(rating);\r\n\r\n const value = editingRating[type];\r\n const isActive = editingRating.isUSD || editingRating.isEUR;\r\n\r\n const handleChange = (e: ChangeEvent) => {\r\n const value = e.target.value.replace(/,/g, '');\r\n dispatch(manageEmailPreferencesActions.setRatingSize(rating, Number(value), type));\r\n //Fix focus loose issue when error displayed\r\n setTimeout(() => inputRef.current?.inputElement.focus());\r\n };\r\n\r\n const getErrorMessage = () => {\r\n if (value < constants.emailPreferencesSizeRange.min || value > constants.emailPreferencesSizeRange.max) {\r\n return errorMessages.invalidRangeSize(constants.emailPreferencesSizeRange.min, constants.emailPreferencesSizeRange.max);\r\n }\r\n if (type === 'maxSize' && editingRating.minSize > editingRating.maxSize) {\r\n return errorMessages.maxSizeLessThenMin;\r\n }\r\n return null;\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {blocked =>\r\n inputRef.current = r}\r\n disabled={!(editingRating.isUSD || editingRating.isEUR) || disabled || blocked}\r\n className={cn('form-control', { 'is-invalid': !!getErrorMessage() && isActive && !hover && !disabled })}\r\n mask={createNumberMask({ prefix: '', includeThousandsSeparator: true })}\r\n max={constants.emailPreferencesSizeRange.max}\r\n onChange={handleChange}\r\n value={blocked ? \"\" : value}\r\n onFocus={() => setHover(true)}\r\n onBlur={() => setHover(false)}\r\n />}\r\n \r\n \r\n \r\n )\r\n};\r\n\r\n\r\n","import { useAppSelector } from '../../../../../effects/useAppSelector';\r\nimport { AlertOption } from \"../../../../../types/email-preferences/EmailPreferences\";\r\nimport { Currency } from \"../../../../../types/enums/Currency\";\r\nimport { Rating, Ratings } from \"../../../../../types/enums/Rating\";\r\nimport { isRequesting } from \"../../../../../utils\";\r\nimport { Table } from \"../../../../bidding/common/table\";\r\nimport { ColumnBuilder } from \"../../../../bidding/common/table/columns/column-builder/ColumnBuilder\";\r\nimport { IColumnDefinition } from \"../../../../bidding/common/table/types/ColumnDefinition\";\r\nimport { EmailPreferencesTableRating } from \"./EmailPreferencesTableRating\";\r\nimport { EmailPreferencesTableRatingTitle } from \"./EmailPreferencesTableRatingTitle\";\r\nimport { EmailPreferencesTableSize } from \"./EmailPreferencesTableSize\";\r\n\r\nexport const EmailPreferencesByRating = () => {\r\n const bwicByRatingAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.bwicByRatingAlertState);\r\n const isRequestStateSaving = useAppSelector(s => isRequesting(s.manageEmailPreferences.requestStateSaveEditPreferences));\r\n const disabled = isRequestStateSaving || bwicByRatingAlertState === AlertOption.Never;\r\n\r\n const columnDefinitions: IColumnDefinition[] = [\r\n {\r\n columnKey: `rating-${Currency.USD}`,\r\n renderColumnContent: rating =>\r\n ,\r\n renderColumnHeaderContent: () => ,\r\n headerClassName: '',\r\n bodyClassName: ''\r\n },\r\n {\r\n columnKey: `rating-${Currency.EUR}`,\r\n renderColumnContent: rating =>\r\n ,\r\n renderColumnHeaderContent: () => ,\r\n headerClassName: '',\r\n bodyClassName: ''\r\n },\r\n {\r\n columnKey: 'min-size',\r\n renderColumnContent: rating => ,\r\n renderColumnHeaderContent: () => 'Min Size',\r\n headerClassName: 'data-list-cell-lg padding-l-0',\r\n bodyClassName: 'data-list-cell-lg text-right overflow-visible'\r\n },\r\n {\r\n columnKey: 'dash',\r\n renderColumnContent: () => <>—,\r\n renderColumnHeaderContent: () => '',\r\n headerClassName: 'data-list-cell-symbol',\r\n bodyClassName: 'data-list-cell-symbol'\r\n },\r\n {\r\n columnKey: 'max-size',\r\n renderColumnContent: rating => ,\r\n renderColumnHeaderContent: () => 'Max Size',\r\n headerClassName: 'data-list-cell-lg',\r\n bodyClassName: 'data-list-cell-lg text-right overflow-visible'\r\n },\r\n ];\r\n return new ColumnBuilder(c))} dataItems={Ratings} />;\r\n}\r\n","import { useDispatch } from \"react-redux\";\r\nimport { manageEmailPreferencesActions } from \"../../../../../../actions/manage-email-preferences.actions\";\r\nimport { useAppSelector } from '../../../../../../effects/useAppSelector';\r\nimport { AlertOption } from \"../../../../../../types/email-preferences/EmailPreferences\";\r\nimport { StatusMessageSectionType } from \"../../../../../../types/state/NotificationState\";\r\nimport { isRequesting } from \"../../../../../../utils/request-state.utils\";\r\nimport { StatusMessageSection } from \"../../../../../status-message/StatusMessageSection\";\r\nimport { EmailPreferencesByRating } from \"../EmailPreferencesByRating\";\r\nimport { EmailPreferencesRadioGroup } from \"../EmailPreferencesRadioGroup\"\r\nimport { SubscriptionFeature } from '../../../../../../types/billing/SubscriptionFeature';\r\n\r\ninterface BwicMonitorAlertsTableProps {\r\n collapsible?: boolean;\r\n}\r\n\r\nexport const BwicMonitorAlertsTable = ({ collapsible = false }: BwicMonitorAlertsTableProps) => {\r\n const dispatch = useDispatch();\r\n const bwicByRatingAlertState = useAppSelector(s => s.manageEmailPreferences.editPreferences.bwicByRatingAlertState);\r\n const isRequestingSavePreferences = useAppSelector(s => isRequesting(s.manageEmailPreferences.requestStateSaveEditPreferences));\r\n\r\n const ratingPreference = useAppSelector(s => s.manageEmailPreferences.editPreferences.ratingPreference);\r\n\r\n const bwicByRatingAlertStatePartiallySelected =\r\n ratingPreference.some(({ isUSD, isEUR }) => isUSD || isEUR) &&\r\n ratingPreference.some(({ isUSD, isEUR }) => !isUSD || !isEUR)\r\n\r\n const isBwicByRatingAlertStateAtLeastOneSelected = useAppSelector(s => {\r\n const preferences = s.manageEmailPreferences.editPreferences.ratingPreference;\r\n return preferences.some(({ isUSD, isEUR }) => isUSD || isEUR);\r\n });\r\n\r\n return (\r\n dispatch(manageEmailPreferencesActions.setBwicByRatingPreferences(alertOption))}\r\n partially={bwicByRatingAlertStatePartiallySelected}\r\n requiredFeature={SubscriptionFeature.BwicMonitorAlerts}\r\n collapsible={collapsible}\r\n >\r\n {!isBwicByRatingAlertStateAtLeastOneSelected && bwicByRatingAlertState !== AlertOption.Never ?\r\n \r\n Cannot be saved without selecting at least one option below\r\n \r\n : null}\r\n \r\n \r\n )\r\n}\r\n","import IconSVG from \"../../../styles/svg-icons\";\r\n\r\ninterface ProfileMenuSectionProps {\r\n children: React.ReactNode;\r\n title: React.ReactNode;\r\n icon?: string;\r\n}\r\n\r\nexport const ProfileMenuSection = ({ children, title, icon }: ProfileMenuSectionProps) => (\r\n <>\r\n

\r\n \r\n {title}\r\n

\r\n {children}\r\n \r\n)","import { Link } from \"react-router-dom\"\r\nimport { routes } from \"../../../constants/routes\"\r\nimport { roles } from \"../../../constants/roles\"\r\nimport { ShowFor } from \"../../access/ShowFor\"\r\nimport { ProfileMenuSection } from \"./ProfileMenuSection\"\r\nimport { EmailPreferencesTab } from \"../tabs/email-preferences/EmailPreferencesContent\"\r\nimport { user } from \"../../../user/user\"\r\nimport { useAgreement } from \"../../seller-buyside/useAgreement\"\r\nimport { SettlementAgreementStatus } from \"../../../types/bid-as-dealer/SettlementAgreementStatus\"\r\n\r\ninterface ProfileMenuItemsProps {\r\n onItemClick: () => void\r\n}\r\n\r\nexport const ProfileMenuItems = ({ onItemClick }: ProfileMenuItemsProps) => {\r\n const agreementState = useAgreement();\r\n\r\n const isBd = user.hasRoles(...roles.bd());\r\n const isSellerAdmin = user.hasRoles(roles.SellerAdministrator);\r\n\r\n return (\r\n <>\r\n \r\n \r\n Personal\r\n \r\n \r\n Password\r\n \r\n \r\n \r\n Alerts Center\r\n \r\n \r\n \r\n\r\n \r\n \r\n Information\r\n \r\n {!isSellerAdmin &&\r\n <>\r\n \r\n \r\n Platform Users\r\n \r\n \r\n \r\n \r\n Platform Users\r\n \r\n \r\n \r\n {\r\n !user.current()?.isClearingBank &&\r\n (!isBd || agreementState.agreement?.agreementStatus === SettlementAgreementStatus.confirmed) &&\r\n \r\n Trading Limits\r\n \r\n }\r\n \r\n \r\n }\r\n \r\n \r\n Subscription\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Platform Users\r\n \r\n \r\n Trading Limits\r\n \r\n \r\n Counterparties\r\n \r\n \r\n \r\n \r\n )\r\n}","import { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport cn from 'classnames';\r\nimport { useHistory } from 'react-router';\r\nimport { routes } from '../../../constants/routes';\r\nimport { user } from '../../../user/user';\r\nimport { nameUtils } from '../../../utils/name.utils';\r\nimport { profileActions } from '../../../actions/profile.actions';\r\nimport { UserProfilePhotoViewer } from '../../user-profile-photo/UserProfilePhotoViewer';\r\nimport IconSVG from '../../../styles/svg-icons';\r\nimport { OnHoverTooltip } from '../../common/OnHoverTooltip';\r\nimport { ProfileMenuItems } from './ProfileMenuItems';\r\nimport { ClickOutside } from '../../common/ClickOutside';\r\n\r\nexport const ProfileMenu = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n const [showUserDropdown, setShowUserDropdown] = useState(false);\r\n\r\n const handleLogout = () => {\r\n history.replace(routes.logout);\r\n };\r\n\r\n const handleUploadUserImage = () => {\r\n dispatch(profileActions.setVisibleUploadImagePopup(true));\r\n setShowUserDropdown(false);\r\n };\r\n\r\n const currentUser = user.current();\r\n if (!currentUser) {\r\n return null;\r\n }\r\n \r\n const { firstName, lastName, email } = currentUser;\r\n const profileClassNames = cn('navbar-profile navbar-item-dropdown', {\r\n 'is-show': showUserDropdown\r\n });\r\n\r\n const renderUserImage = () =>\r\n \r\n\r\n return (\r\n setShowUserDropdown(false)}>\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n {showUserDropdown && renderUserImage()}\r\n \r\n
\r\n
\r\n
{firstName} {lastName}
\r\n
\r\n \r\n {email}\r\n \r\n
\r\n
\r\n\r\n setShowUserDropdown(false)} />\r\n\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import { useDispatch } from \"react-redux\";\r\nimport cn from \"classnames\";\r\nimport { manageEmailPreferencesActions } from \"../../../../../../actions/manage-email-preferences.actions\";\r\nimport { useAppSelector } from \"../../../../../../effects/useAppSelector\";\r\nimport { BwicFilterType } from \"../../../../../../types/filters/FilterState\";\r\nimport { PageConfigType } from \"../../../../../../types/page-config/PageConfigType\";\r\nimport { usePageConfig } from \"../../../../../common/pageConfig/usePageConfig\";\r\nimport { isRequestNone, isRequesting } from \"../../../../../../utils/request-state.utils\";\r\nimport { PortfolioUserConfigFilter } from \"../../../../../../types/user-config/UserConfigFilter\";\r\nimport { usePortfolioAlertsChangedState } from \"./usePortfolioAlertsChangedState\";\r\nimport { AlertOption } from \"../../../../../../types/email-preferences/EmailPreferences\";\r\n\r\ninterface Props {\r\n className?: string;\r\n}\r\n\r\nexport function SavePortfolioAlertsButton({ className }: Props) {\r\n const dispatch = useDispatch();\r\n\r\n const { config, saveAlerts, requestState, updateRequestState } =\r\n usePageConfig(PageConfigType.Portfolio, true, BwicFilterType.Portfolio);\r\n\r\n const hasChanges = usePortfolioAlertsChangedState();\r\n const filtersAlertState = useAppSelector(s => s.manageEmailPreferences.portfolioSavedFilterAlerts);\r\n const savePreferencesRequestState = useAppSelector(s => s.manageEmailPreferences.requestStateSaveEditPreferences);\r\n const filters = config?.filters as PortfolioUserConfigFilter[] ?? [];\r\n\r\n const handleSave = () => {\r\n if (filters.length) {\r\n const newFilterAlerts = filters.map(f => ({\r\n ...f,\r\n bwicAlertOption: filtersAlertState[f.referenceName]?.bwicAlert ?? AlertOption.Never,\r\n dealerInventoryAlertOption: filtersAlertState[f.referenceName]?.inventoryAlert ?? AlertOption.Never,\r\n }));\r\n\r\n saveAlerts(newFilterAlerts);\r\n }\r\n\r\n dispatch(manageEmailPreferencesActions.saveEmailPreferencesRequest());\r\n }\r\n\r\n return (\r\n \r\n Save\r\n \r\n )\r\n}\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport { UserStatus } from '../../../../../types/account/UserStatus';\r\nimport { UserStatusDetails } from '../../../../common/UserStatusDetails';\r\nimport { Popover } from '../../../../controls';\r\nimport { userRequestStatuses } from '../../../../../constants';\r\nimport { UserRequestStatus } from '../../../../../types/management/UserRequestStatus';\r\n\r\ninterface Props {\r\n userRequestStatus?: UserRequestStatus;\r\n userStatus?: UserStatus;\r\n blockReason?: string;\r\n}\r\n\r\nexport const RequestUserStatusDetails: React.FC = ({ userStatus, userRequestStatus, blockReason }) => {\r\n if (userStatus) {\r\n return \r\n }\r\n const hasBlockedReason = userRequestStatus === UserRequestStatus.Blocked && blockReason;\r\n\r\n if (userRequestStatus) {\r\n const statusClasses = classNames({\r\n [`first-letter status ${userRequestStatuses.getByStatusCode(userRequestStatus)?.className}`]: true,\r\n 'has-blocked-reason': hasBlockedReason\r\n });\r\n\r\n if (!hasBlockedReason) {\r\n return (\r\n
\r\n {userRequestStatuses.getByStatusCode(userRequestStatus)?.title}\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 \r\n {blockReason}\r\n
\r\n \r\n )\r\n }\r\n\r\n return null;\r\n};\r\n","import { useEffect, useState } from \"react\"\r\nimport { RequestState } from \"../../../../../constants/request-state\"\r\nimport { Subscription } from \"../../../../../types/billing/Subscription\";\r\nimport { isRequestNone } from \"../../../../../utils\";\r\nimport { billingService } from \"../../../../../services\";\r\n\r\nexport function useSubscriptions() {\r\n const [requestState, setRequestState] = useState(RequestState.none);\r\n const [subscriptions, setSubscriptions] = useState([]);\r\n\r\n useEffect(() => {\r\n if(isRequestNone(requestState)){\r\n (async function doRequest() {\r\n setRequestState(RequestState.request)\r\n\r\n try {\r\n const subscriptions = await billingService.getSubscriptions();\r\n setSubscriptions(subscriptions);\r\n setRequestState(RequestState.success)\r\n } catch {\r\n setRequestState(RequestState.failure)\r\n }\r\n })();\r\n }\r\n }, [requestState])\r\n\r\n return { requestState, subscriptions };\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport classNames from \"classnames\";\r\nimport { Form } from '../../forms';\r\nimport { profileActions } from '../../../actions';\r\nimport { validateEmail } from '../../../utils';\r\nimport { errorMessages } from '../../../constants';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { FormError } from '../../controls';\r\nimport { user } from '../../../user';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\n\r\nexport const ChangeBloombergEmail: React.FC = () => {\r\n const dispatch = useAppDispatch();\r\n const emailDomain = '@bloomberg.net';\r\n const email = user.current()?.bloombergEmail || '';\r\n const requestStatusSaveEmail = useSelector((state: AppState) => state.profile.requestStatusSaveBloombergEmail);\r\n const [error, setError] = useState('');\r\n const [emailName, setEmailName] = useState('');\r\n const isDisabledSaveButton = requestStatusSaveEmail || emailName === email.split('@')[0];\r\n\r\n useEffect(() => {\r\n setEmailName(email.split('@')[0]);\r\n }, [email]);\r\n\r\n const handleChange = (e: React.ChangeEvent) => {\r\n const { value } = e.target;\r\n const [mail, domain] = value.trim().split('@');\r\n const newEmailName = `@${domain}` === emailDomain ? mail : value;\r\n if (error) {\r\n setError('')\r\n }\r\n setEmailName(newEmailName);\r\n };\r\n\r\n const handleSave = () => {\r\n const bloombergEmail = `${emailName}${emailDomain}`;\r\n if (emailName && !validateEmail(bloombergEmail)) {\r\n return setError(errorMessages.invalidEmail);\r\n }\r\n dispatch(profileActions.saveBloombergEmail(emailName ? bloombergEmail : ''))\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 dispatch(profileActions.toggleEditBloombergEmail())}\r\n >\r\n Cancel\r\n \r\n
\r\n \r\n
\r\n )\r\n};\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { ChangePhoneNumber } from '../../account';\r\nimport { profileActions as actions } from '../../../actions';\r\nimport { nameUtils } from '../../../utils';\r\nimport { UserProfilePhotoViewer } from '../../user-profile-photo/UserProfilePhotoViewer';\r\nimport { user } from '../../../user';\r\nimport IconSVG from '../../../styles/svg-icons';\r\nimport { Preloader, OnHoverTooltip } from '../../common';\r\nimport { ChangeBloombergEmail } from './ChangeBloombergEmail';\r\n\r\nclass PersonalInfo extends Component {\r\n componentWillUnmount = () => this.props.dispatch(actions.personalInfoReset());\r\n\r\n renderBloombergEmail = () => {\r\n const { dispatch, changeBloombergEmailVisible } = this.props;\r\n const currentUser = user.current() || {};\r\n if (changeBloombergEmailVisible) {\r\n return ;\r\n }\r\n return (\r\n
\r\n
Bloomberg Email
\r\n
\r\n {\r\n currentUser.bloombergEmail\r\n ? (\r\n <>\r\n \r\n {currentUser.bloombergEmail}\r\n \r\n dispatch(actions.toggleEditBloombergEmail())}\r\n >\r\n \r\n \r\n \r\n ) : (\r\n \r\n )\r\n }\r\n
\r\n
\r\n );\r\n };\r\n\r\n renderChangePhone = () => {\r\n const { dispatch, changePhoneVisible } = this.props;\r\n const profile = this.props.profile || {};\r\n\r\n if (changePhoneVisible) {\r\n return (\r\n dispatch(actions.toggleEditPhoneMode(false))}\r\n />\r\n );\r\n }\r\n return (\r\n
\r\n
Phone Number
\r\n
\r\n {\r\n profile.phone\r\n ? (\r\n <>\r\n {profile.phone}\r\n dispatch(actions.toggleEditPhoneMode(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 render = () => {\r\n const { dispatch } = this.props;\r\n const profile = this.props.profile || {};\r\n const currentUser = user.current();\r\n\r\n return (\r\n
\r\n
\r\n

Personal

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n dispatch(actions.setVisibleUploadImagePopup(true))}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
First Name
\r\n
{profile.firstName}
\r\n
Last Name
\r\n
{profile.lastName}
\r\n
Email
\r\n
{profile.email}
\r\n
\r\n {this.renderBloombergEmail()}\r\n {this.renderChangePhone()}\r\n {profile.linkedIn &&\r\n
\r\n
LinkedIn
\r\n
\r\n \r\n {profile.linkedIn}\r\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 mapStateToProps = ({ profile, userProfilePhoto }) => ({\r\n profile: profile.profile,\r\n userPhotos: userProfilePhoto.userPhotos,\r\n changePhoneVisible: profile.changePhoneVisible,\r\n changeBloombergEmailVisible: profile.changeBloombergEmailVisible,\r\n isUserProfilePhotoUploading: profile.isUserProfilePhotoUploading,\r\n});\r\n\r\nconst connectedPersonalInfo = connect(mapStateToProps)(PersonalInfo);\r\nexport { connectedPersonalInfo as PersonalInfo };\r\n","import { yup } from '../../../validation/yup';\r\nimport { constants } from '../../../constants';\r\n\r\nexport const addNewTraderValidation = () => {\r\n return yup.object()\r\n .shape({\r\n firstName: yup.string()\r\n .required()\r\n .matches(constants.name.source)\r\n .max(64),\r\n lastName: yup.string()\r\n .required()\r\n .matches(constants.name.source)\r\n .max(64),\r\n title: yup.string().max(256),\r\n jobTitle: yup.string().max(256),\r\n phone: yup.string().trim()\r\n .required()\r\n .matches(constants.nonWhitespace.source)\r\n .max(constants.phoneMaxLength),\r\n email: yup.string().required().email(),\r\n })\r\n};\r\n","import React from 'react';\r\nimport { Form, Formik } from \"formik\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { Popup } from '../../controls';\r\nimport { InputField } from '../../forms';\r\nimport { addNewTraderValidation } from '../validation/addNewTrader';\r\nimport { profileActions } from \"../../../actions\";\r\n\r\nfunction ModalAddEditDepartment({ visible, onClose, contact = {}, isEditModal }) {\r\n\r\n const dispatch = useDispatch();\r\n\r\n const initialValues = {\r\n jobTitle: contact.title || '',\r\n departmentName: contact.departmentName || '',\r\n departmentValue: contact.departmentValue || '',\r\n isAdded: contact.isAdded || '',\r\n id: contact.id || '',\r\n firstName: contact.firstName || '',\r\n lastName: contact.lastName || '',\r\n email: contact.email || '',\r\n phone: contact.phone || '',\r\n };\r\n\r\n const handleSubmit = async (values) => {\r\n const submitModel = {\r\n firstName: values.firstName,\r\n lastName: values.lastName,\r\n jobTitle: values.jobTitle,\r\n phone: values.phone,\r\n email: values.email,\r\n };\r\n dispatch(profileActions.editCompanyContact(submitModel, values.departmentValue));\r\n handleOnClose();\r\n };\r\n\r\n const handleOnClose = () => {\r\n if (onClose && typeof onClose === 'function') {\r\n onClose()\r\n }\r\n };\r\n\r\n if (visible) {\r\n return (\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n );\r\n }\r\n return null;\r\n}\r\n\r\nexport { ModalAddEditDepartment }\r\n","import React, { useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { ModalAddEditDepartment } from './ModalAddEditDepartment';\r\nimport { user } from '../../../user';\r\nimport IconSVG from '../../../styles/svg-icons';\r\nimport { constants } from '../../../constants';\r\n\r\nconst RenderContact = ({ contact, isAuthorisedUserPrimaryContact, handleEdit }) => {\r\n const renderAddEditBtn = (contact) => {\r\n if (isAuthorisedUserPrimaryContact) {\r\n if (contact.firstName || contact.lastName || contact.email || contact.phone) {\r\n return (\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 return null;\r\n };\r\n return (\r\n <>\r\n
{contact.departmentName || constants.emptyPlaceholder}
\r\n
\r\n
\r\n
\r\n {!contact.firstName && !contact.lastName ? constants.emptyPlaceholder : `${contact.firstName || ''} ${contact.lastName || ''}`}\r\n
\r\n
\r\n {contact.email ? {contact.email} : constants.emptyPlaceholder}\r\n
\r\n
{contact.phone || constants.emptyPlaceholder}
\r\n {renderAddEditBtn(contact)}\r\n
\r\n
\r\n \r\n );\r\n};\r\nexport const Company = () => {\r\n const [modalVisible, setModalVisible] = useState(false);\r\n const [contactForEdit, setContactForEdit] = useState({});\r\n const [isEditModal, setIsEditModal] = useState(false);\r\n\r\n const currentUser = user.current();\r\n const company = useSelector(state => state.profile.company || {});\r\n\r\n const contacts = company.departmentContacts ? company.departmentContacts : [];\r\n const isAuthorisedUserPrimaryContact = company.primaryContactId === currentUser.id;\r\n\r\n const handleEdit = (contact, isEdit) => {\r\n setIsEditModal(isEdit);\r\n setContactForEdit({ ...contact });\r\n setModalVisible(true)\r\n };\r\n\r\n const handleCloseModal = () => {\r\n setContactForEdit({});\r\n setModalVisible(false)\r\n };\r\n\r\n return (\r\n
\r\n
\r\n

Information

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

Company

\r\n
\r\n
\r\n
Company
\r\n
{company.companyName}
\r\n
Website
\r\n
\r\n {company.website ? {company.website} : constants.emptyPlaceholder}\r\n
\r\n
\r\n
\r\n
Address
\r\n
\r\n
\r\n {company.address}
\r\n {company.city}, {company.state}
\r\n {company.zipCode ? `${company.zipCode},` : ''} {company.country}\r\n
\r\n
\r\n
\r\n
\r\n

Contacts

\r\n
\r\n
\r\n\r\n {contacts.map(contact =>\r\n \r\n )}\r\n\r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { ChangePassword } from '../../account';\r\nimport { profileActions as actions } from '../../../actions';\r\nimport { EmptyPlaceholder } from '../../common';\r\n\r\nclass PasswordSettings extends Component {\r\n state = {\r\n isValid: true,\r\n oldPassword: '',\r\n newPassword: '',\r\n confirmPassword: '',\r\n isLengthValid: false,\r\n isLetterValid: false,\r\n isSpecCharsValid: false,\r\n isNumericValid: false\r\n }\r\n\r\n componentWillUnmount = () => this.props.dispatch(actions.passwordSettingsReset());\r\n\r\n render = () => {\r\n const { dispatch, changePasswordVisible } = this.props;\r\n\r\n if (!changePasswordVisible) {\r\n return (\r\n
\r\n
\r\n

Password

\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 dispatch(actions.changePasswordFormVisible(false))} />\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ profile }) => ({\r\n changePasswordVisible: profile.changePasswordVisible\r\n});\r\n\r\nconst connectedPasswordSettings = connect(mapStateToProps)(PasswordSettings);\r\nexport { connectedPasswordSettings as PasswordSettings };\r\n","import React, { PropsWithChildren } from 'react';\r\n\r\ninterface Props {\r\n title: React.ReactNode;\r\n}\r\n\r\nexport const MenageViewHeader: React.FC> = ({ title, children }) => {\r\n return (\r\n
\r\n

{title}

\r\n {children}\r\n
\r\n )\r\n};\r\n","import React from 'react';\r\nimport {Relative} from \"../../../../common\";\r\n\r\ninterface Props {\r\n children?: React.ReactNode\r\n}\r\n\r\nexport const ManageViewContent: React.FC = ({ children }: Props) => {\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n","import React, { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { Form, Formik } from \"formik\";\r\nimport { Popup } from '../../controls';\r\nimport { InputField } from '../../forms';\r\nimport { addNewTraderValidation } from '../validation/addNewTrader';\r\nimport { accountService } from \"../../../services\";\r\nimport { errorActions, profileActions } from \"../../../actions\";\r\nimport {errorMessages} from \"../../../constants\";\r\n\r\nfunction ModalAddEditTrader({ visible, onClose, contact = {} }) {\r\n\r\n const dispatch = useDispatch();\r\n\r\n const initialValues = {\r\n id: contact.id || '',\r\n firstName: contact.firstName || '',\r\n lastName: contact.lastName || '',\r\n title: contact.title || '',\r\n email: contact.email || '',\r\n phone: contact.phone || '',\r\n };\r\n const [isPostingForm, setPostingForm] = useState(false);\r\n\r\n const isEdit = !!contact.id;\r\n\r\n const handleSubmit = async (values) => {\r\n try {\r\n setPostingForm(true);\r\n if (isEdit) {\r\n const traderId = await accountService.editCompanyTrader({ ...values }, values.id);\r\n dispatch(profileActions.editNewCompanyTraderInStore({ ...values }, traderId.id));\r\n handleOnClose()\r\n } else {\r\n const newTraderId = await accountService.addCompanyTrader({ ...values });\r\n const trader = { ...values };\r\n trader.id = newTraderId.id;\r\n trader.enabled = true;\r\n dispatch(profileActions.addNewCompanyTraderToStore(trader));\r\n handleOnClose()\r\n }\r\n } catch (e) {\r\n dispatch(errorActions.error(e, errorMessages.unexpectedError));\r\n setPostingForm(false);\r\n }\r\n };\r\n\r\n const handleOnClose = () => {\r\n setPostingForm(false);\r\n if (onClose && typeof onClose === 'function') {\r\n onClose()\r\n }\r\n };\r\n\r\n if (visible) {\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 {isEdit ? 'DONE' : '+ ADD TRADER'}\r\n \r\n
\r\n \r\n \r\n \r\n );\r\n }\r\n return null;\r\n}\r\n\r\nexport { ModalAddEditTrader }\r\n\r\n","import React, { useCallback, useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { MenageViewHeader } from './manage/header/MenageViewHeader';\r\nimport { ManageViewContent } from './manage/content/ManageViewContent';\r\nimport { roles, SORT, SORTING_TYPE, constants } from '../../../constants';\r\nimport { IColumnDefinition } from '../../bidding/common/table/types/ColumnDefinition';\r\nimport { Table } from '../../bidding/common/table';\r\nimport { ColumnBuilder } from '../../bidding/common/table/columns/column-builder/ColumnBuilder';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { Preloader, OnHoverTooltip } from '../../common';\r\nimport { RequestUserStatusDetails } from './manage/users/RequestUserStatusDetails';\r\nimport Confirm from '../../alerts/Confirm';\r\nimport { user } from '../../../user';\r\nimport { UserListTableItem } from './manage/users/UserListTableItem';\r\nimport { ModalAddEditTrader } from './ModalAddEditTrader';\r\nimport { profileActions } from '../../../actions';\r\nimport { UserStatus } from '../../../types/account/UserStatus';\r\nimport { CompanyTrader } from '../../../types/company/CompanyTrader';\r\nimport ContextMenu from '../../controls/ContextMenu';\r\nimport { ContextMenuItem } from '../../controls/ContextMenuItem';\r\nimport { userStatuses } from '../../../constants';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\n\r\nexport const Traders: React.FC = () => {\r\n const [tradeModalVisible, setTradeModalVisible] = useState(false);\r\n const [contactForEdit, setContactForEdit] = useState(null);\r\n const [isConfirmationVisible, setConfirmationVisible] = useState(false);\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n const currentUser = user.current()!;\r\n const company = useSelector((state: AppState) => state.profile.company);\r\n const users: CompanyTrader[] = useSelector((state: AppState) => state.profile.company?.traders) ?? [];\r\n const primaryContact = users.find(c => c.id === company?.primaryContactId);\r\n const isLoading = useSelector((state: AppState) => state.profile.isLoading);\r\n const isAuthorisedUserPrimaryContact = company?.primaryContactId === currentUser.id;\r\n\r\n const convertToUserListItems = useCallback((users: CompanyTrader[]): UserListTableItem[] => {\r\n return users\r\n .map((user) => ({\r\n ...user,\r\n fullName: `${user.firstName} ${user.lastName}`,\r\n userStatus: user.status as UserStatus,\r\n statusText: userStatuses.getByStatusCode(user.status)?.title ?? '',\r\n }))\r\n }, []);\r\n\r\n const handleCloseModal = () => {\r\n setContactForEdit(null);\r\n setTradeModalVisible(false);\r\n };\r\n\r\n const hideConfirmationPopup = () => {\r\n setConfirmationVisible(false);\r\n };\r\n\r\n const confirmDisableTrader = () => {\r\n hideConfirmationPopup();\r\n dispatch(profileActions.disableCompanyTrader(contactForEdit));\r\n };\r\n\r\n const disableTrader = (contact: UserListTableItem) => {\r\n setContactForEdit(contact);\r\n setConfirmationVisible(true);\r\n };\r\n\r\n const enableTrader = (contact: UserListTableItem) => {\r\n setContactForEdit(contact);\r\n dispatch(profileActions.enableCompanyTrader(contact));\r\n };\r\n\r\n const renderUserManagementOptions = (contact: UserListTableItem) => {\r\n const isTraderActive = contact.userStatus !== UserStatus.Blocked;\r\n const isRequesting = contactForEdit !== null && contactForEdit.id === contact.id && isLoading;\r\n const isPrimary = contact.id === primaryContact?.id;\r\n\r\n if (isPrimary || !isAuthorisedUserPrimaryContact) return null;\r\n\r\n const handleClick = () => isTraderActive ? disableTrader(contact) : enableTrader(contact);\r\n\r\n return (\r\n isRequesting\r\n ? \r\n : \r\n \r\n {isTraderActive ? 'Block' : 'Unblock'}\r\n \r\n \r\n )\r\n };\r\n\r\n const getRolesByString = (roleList: string[]) => roleList && roleList.length\r\n ? [...roleList].sort((a, b) => a.localeCompare(b)).map(r => roles.getTitle(r)).join(', ')\r\n : '–'\r\n\r\n const getColumns = () => {\r\n const name: IColumnDefinition = {\r\n columnKey: 'name',\r\n renderColumnHeaderContent: () => 'User',\r\n renderColumnContent: entity => {\r\n return (\r\n \r\n {entity.fullName}\r\n \r\n )\r\n },\r\n headerClassName: 'data-list-user',\r\n bodyClassName: 'data-list-user',\r\n sortingField: 'fullName',\r\n sortingType: SORTING_TYPE.string\r\n };\r\n const userRoles: IColumnDefinition = {\r\n columnKey: 'roles',\r\n renderColumnHeaderContent: () => 'User Role',\r\n renderColumnContent: entity => {\r\n const text = getRolesByString(entity.roles);\r\n return (\r\n \r\n {text}\r\n \r\n )\r\n },\r\n headerClassName: 'data-list-user-role',\r\n bodyClassName: 'data-list-user-role',\r\n sortingField: 'roles',\r\n sortingType: SORTING_TYPE.rolesShortTitles\r\n };\r\n const email: IColumnDefinition = {\r\n columnKey: 'email',\r\n renderColumnHeaderContent: () => 'Email',\r\n renderColumnContent: entity => {\r\n return (\r\n \r\n {entity.email}\r\n \r\n )\r\n },\r\n headerClassName: 'data-list-email',\r\n bodyClassName: 'data-list-email'\r\n };\r\n const status: IColumnDefinition = {\r\n columnKey: 'status',\r\n renderColumnHeaderContent: () => 'Status',\r\n renderColumnContent: entity => (\r\n \r\n ),\r\n headerClassName: 'data-list-status',\r\n bodyClassName: 'data-list-status',\r\n sortingField: 'statusText',\r\n sortingType: SORTING_TYPE.string\r\n };\r\n const phone: IColumnDefinition = {\r\n columnKey: 'phone',\r\n renderColumnHeaderContent: () => 'Phone',\r\n renderColumnContent: entity => entity.phoneNumber || constants.emptyPlaceholder,\r\n headerClassName: 'data-list-phone',\r\n bodyClassName: 'data-list-phone',\r\n };\r\n const options: IColumnDefinition = {\r\n columnKey: 'actions',\r\n renderColumnHeaderContent: () => 'Actions',\r\n renderColumnContent: entity => renderUserManagementOptions(entity),\r\n headerClassName: 'data-list-options text-right',\r\n bodyClassName: 'data-list-options text-right'\r\n };\r\n const jobTitle: IColumnDefinition = {\r\n columnKey: 'jobTitle',\r\n renderColumnHeaderContent: () => 'Job Title',\r\n renderColumnContent: entity => (\r\n !!entity.jobTitle\r\n ? {entity.jobTitle}\r\n : constants.emptyPlaceholder\r\n ),\r\n headerClassName: 'data-list-job-title',\r\n bodyClassName: 'data-list-job-title',\r\n sortingField: 'jobTitle',\r\n sortingType: SORTING_TYPE.string\r\n };\r\n\r\n const columns = [\r\n userRoles,\r\n name,\r\n jobTitle,\r\n status,\r\n email,\r\n phone,\r\n ...(isAuthorisedUserPrimaryContact ? [options] : [])\r\n ];\r\n\r\n return columns.map(c => new ColumnBuilder(c));\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {contactForEdit === null ? '' : }\r\n {isConfirmationVisible && (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import * as React from 'react';\r\nimport { Toggle } from '../../../controls';\r\n\r\ninterface Props {\r\n active: boolean,\r\n disabled?: boolean\r\n children: React.ReactNode,\r\n onActiveChange?: (active: boolean) => void\r\n}\r\n\r\nexport function TwoFactorAuthSettingsSection({ active, disabled = false, children, onActiveChange }: Props) {\r\n return (\r\n <>\r\n {children}\r\n onActiveChange(!active) : undefined}\r\n />\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { isValidPhoneNumber, parsePhoneNumber } from 'react-phone-number-input';\r\nimport classNames from 'classnames';\r\nimport Input from 'react-phone-number-input/input';\r\nimport { getCountries, getCountryCallingCode, Country, Value } from 'react-phone-number-input';\r\nimport en from 'react-phone-number-input/locale/en.json';\r\nimport { FormError } from '../../../controls';\r\nimport { errorMessages } from '../../../../constants';\r\nimport { DropDownListItem, DropDownList } from '../../../controls/DropDownList';\r\n\r\ninterface Props {\r\n phone: string,\r\n phoneConfirmed: boolean,\r\n disabled: boolean,\r\n onSave: (phone: string) => void\r\n onCancel: () => void\r\n}\r\n\r\nexport function PhoneEdit({ phone, phoneConfirmed, disabled, onSave, onCancel }: Props) {\r\n const validate = (phone: string) => phone ? (isValidPhoneNumber(phone) ? '' : 'Invalid phone number') : errorMessages.empty;\r\n const [editingPhone, setEditingPhone] = React.useState(validate(phone) ? '' : phone);\r\n const [errorMessage, setErrorMessage] = React.useState('');\r\n const parsedPhoneNumber = phone && parsePhoneNumber(phone);\r\n const [country, setCountry] = React.useState((parsedPhoneNumber && parsedPhoneNumber.country) || 'US');\r\n const canSave = !disabled && !!editingPhone && !!editingPhone.length && (!phoneConfirmed || phone !== editingPhone);\r\n\r\n const handleSave = () => {\r\n const error = validate(editingPhone);\r\n setErrorMessage(error);\r\n if (!error && onSave) {\r\n onSave(editingPhone);\r\n }\r\n };\r\n\r\n const handleBlur = () => {\r\n if (errorMessage) {\r\n const error = validate(editingPhone);\r\n setErrorMessage(error);\r\n }\r\n };\r\n\r\n const handleCancelEdit = () => {\r\n if (onCancel) {\r\n onCancel();\r\n }\r\n };\r\n\r\n const handleGetCountryCallingCode = (code: Country) => {\r\n return getCountryCallingCode(code)\r\n };\r\n\r\n const renderCountrySelectItem = (item: DropDownListItem) => {\r\n return (\r\n <>\r\n +{handleGetCountryCallingCode(item.value as Country)}\r\n {item.text}\r\n \r\n );\r\n };\r\n\r\n const renderSelectedItem = (item: DropDownListItem) => +{handleGetCountryCallingCode(item.value as Country)};\r\n\r\n const handlePhoneCountryChange = (item: DropDownListItem) => {\r\n setEditingPhone('');\r\n setErrorMessage('');\r\n setCountry(item.value as Country);\r\n };\r\n\r\n const renderCountrySelect = () => {\r\n const preselected: DropDownListItem[] = ['US'].map(c => ({\r\n value: c,\r\n selected: c === country,\r\n groupKey: 1,\r\n text: (en as any)[c]\r\n }));\r\n\r\n const countries: DropDownListItem[] = getCountries()\r\n .filter((c: string) => !preselected.some(p => p.value === c))\r\n .map((c: string) => ({\r\n value: c,\r\n selected: c === country,\r\n text: (en as any)[c]\r\n }));\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n return (\r\n
\r\n {renderCountrySelect()}\r\n
\r\n setEditingPhone(value || '')}\r\n onBlur={handleBlur}\r\n disabled={disabled}\r\n />\r\n \r\n
\r\n \r\n \r\n
\r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { IdentityCodeSubmitContent } from '../../../account/verify-identity/IdentityCodeSubmitContent';\r\nimport { VerifyIdentityMethodType } from '../../../../types/account/VerifyIdentityMethodType';\r\nimport { tfaSettingsActions } from '../../../../actions/tfa-settings.actions';\r\nimport { Popup, PopupBody, PopupFooter } from '../../../controls';\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n initialDate: Date;\r\n maskedPhone: string;\r\n onSubmit: (code: string) => void;\r\n onClose: () => void;\r\n}\r\n\r\nexport function SubmitVerificationCodePopup({ initialDate, maskedPhone, onSubmit, onClose }: Props) {\r\n const dispatch = useAppDispatch();\r\n const [code, setCode] = React.useState('');\r\n const [canSubmit, setCanSubmit] = React.useState(false);\r\n const [codeExpired, setCodeExpired] = React.useState(false);\r\n const {\r\n isIdentityPhoneSaving,\r\n isPhoneVerificationCodeSending,\r\n isPhoneVerificationCodeInvalid,\r\n smsActivationCodeRequestedDate } = useSelector((state: AppState) => state.profile);\r\n const isLoading = isIdentityPhoneSaving || isPhoneVerificationCodeSending;\r\n\r\n React.useEffect(() => {\r\n setCode('');\r\n setCodeExpired(false);\r\n setCanSubmit(false);\r\n }, [smsActivationCodeRequestedDate]);\r\n\r\n const handleCodeReSend = () => dispatch(tfaSettingsActions.requestPhoneVerificationCode());\r\n\r\n const handleCodeExpired = (expired: boolean) => setCodeExpired(expired);\r\n\r\n const handleCodeChange = (code: string, canSubmit: boolean) => {\r\n setCode(code);\r\n setCanSubmit(canSubmit);\r\n dispatch(tfaSettingsActions.invalidPhoneVerificationCode(false));\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {codeExpired && }\r\n {!codeExpired && }\r\n \r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useSelector } from \"react-redux\";\r\nimport { AppState } from '../../../../types/state/AppState';\r\nimport { TwoFactorAuthSettingsSection } from './TwoFactorAuthSettingsSection';\r\nimport { PhoneEdit } from './PhoneEdit';\r\nimport { formatUtils } from '../../../../utils';\r\nimport { tfaSettingsActions } from '../../../../actions/tfa-settings.actions';\r\nimport { SubmitVerificationCodePopup } from './SubmitVerificationCodePopup';\r\nimport { Confirm } from '../../../alerts';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\nimport { StatusMessageSectionType } from \"../../../../types/state/NotificationState\";\r\nimport { StatusMessageSection } from \"../../../status-message/StatusMessageSection\";\r\nimport { useAppDispatch } from '../../../../effects/useAppDispatch';\r\n\r\nexport function TwoFactorAuthSettings() {\r\n const dispatch = useAppDispatch();\r\n const {\r\n profile,\r\n isSmsConfirmationDeactivating,\r\n isIdentityPhoneSaving,\r\n isPhoneVerificationCodeSending,\r\n isIdentityPhoneEdit,\r\n smsActivationCodeRequestedDate\r\n } = useSelector((state: AppState) => state.profile);\r\n const [smsActive, setSmsActive] = React.useState(profile ? profile.identityPhoneConfirmed : false);\r\n const [deactiveteConfirmationVisible, setDeactivePhoneConfirmationVisible] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n if (profile && profile.identityPhoneConfirmed !== smsActive) {\r\n setSmsActive(profile.identityPhoneConfirmed)\r\n } // eslint-disable-next-line\r\n }, [profile && profile.identityPhoneConfirmed]);\r\n\r\n if (!profile || !profile.tfaEnabled) {\r\n return null;\r\n }\r\n\r\n const isDisabled = isSmsConfirmationDeactivating || isIdentityPhoneSaving || isPhoneVerificationCodeSending;\r\n const maskedEmail = formatUtils.maskEmail(profile.email);\r\n const maskedPhone = formatUtils.maskPhone(profile.identityPhone);\r\n\r\n const handleSmsActiveChange = (active: boolean) => {\r\n setSmsActive(active);\r\n\r\n if (active && profile.identityPhone && !profile.identityPhoneConfirmed) {\r\n dispatch(tfaSettingsActions.requestPhoneVerificationCode());\r\n } else {\r\n dispatch(tfaSettingsActions.identityPhoneEdit(active));\r\n if (!active && profile.identityPhoneConfirmed) {\r\n dispatch(tfaSettingsActions.deactivateSmsConfirmation());\r\n }\r\n }\r\n }\r\n\r\n const handlePhoneDeleteConfirmed = () => {\r\n setSmsActive(false);\r\n setDeactivePhoneConfirmationVisible(false);\r\n dispatch(tfaSettingsActions.deactivateSmsConfirmation());\r\n }\r\n\r\n const handlePhoneSave = (phone: string) => dispatch(tfaSettingsActions.saveIdentityPhone(phone));\r\n\r\n const handlePhoneEditCancel = () => {\r\n if (!isDisabled) {\r\n setSmsActive(profile.identityPhoneConfirmed);\r\n dispatch(tfaSettingsActions.storeSmsActivationRequestedDate(undefined));\r\n dispatch(tfaSettingsActions.identityPhoneEdit(false));\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

Two-factor authentication

\r\n
\r\n
\r\n \r\n On an attempted login from an unrecognized device or browser, the system will activate two-factor authentication and ask for your password and verification code. Email verification is enabled by default and can't be disabled. Optionally, you can enable SMS verification.\r\n \r\n
\r\n \r\n
\r\n

Email

\r\n

\r\n Receive an email containing a verification code. If you want to change your email, please contact us via email:
\r\n {process.env.REACT_APP_SALES_EMAIL}\r\n

\r\n {maskedEmail}\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n

SMS

\r\n {\r\n smsActive &&\r\n

Receive a text message containing verification code

\r\n }\r\n {\r\n !isIdentityPhoneEdit &&\r\n profile.identityPhoneConfirmed &&\r\n <>\r\n
\r\n {maskedPhone}\r\n dispatch(tfaSettingsActions.identityPhoneEdit(true))}\r\n >\r\n \r\n \r\n\r\n setDeactivePhoneConfirmationVisible(true)}\r\n >\r\n \r\n Delete Phone Number\r\n \r\n
\r\n {\r\n deactiveteConfirmationVisible &&\r\n setDeactivePhoneConfirmationVisible(false)}\r\n onConfirm={handlePhoneDeleteConfirmed}\r\n title=\"Confirmation\"\r\n text={<>Deleting your phone number will automatically disable SMS verification. Are you sure you want to delete your phone number and disable SMS verification?}\r\n />\r\n }\r\n \r\n }\r\n {\r\n !isIdentityPhoneEdit &&\r\n !!profile.identityPhone &&\r\n !profile.identityPhoneConfirmed &&\r\n
\r\n {maskedPhone}\r\n
\r\n \r\n The phone wasn't confirmed. Do You want to confirm it?\r\n
\r\n dispatch(tfaSettingsActions.requestPhoneVerificationCode())}\r\n >\r\n YES, SEND A CODE\r\n \r\n dispatch(tfaSettingsActions.deactivateSmsConfirmation())}\r\n >\r\n NO, DELETE IT\r\n \r\n
\r\n
\r\n
\r\n }\r\n {\r\n isIdentityPhoneEdit &&\r\n \r\n }\r\n {\r\n smsActivationCodeRequestedDate != null &&\r\n dispatch(tfaSettingsActions.submitPhoneVerificationCode(code))}\r\n onClose={handlePhoneEditCancel}\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\r\ninterface ContentSectionProps {\r\n children: React.ReactNode\r\n}\r\n\r\nexport function ContentSection({ children }: ContentSectionProps) {\r\n\r\n return(\r\n
\r\n {children}\r\n
\r\n )\r\n}\r\n","import moment from 'moment';\r\nimport { Link } from 'react-router-dom';\r\nimport { routes } from '../../../../../constants';\r\nimport { user } from '../../../../../user';\r\nimport { SubscriptionsTab } from '../SubscriptionsTab';\r\nimport { ContentSection } from '../ContentSection';\r\nimport { calculateSubscriptionTimeline, getSubscriptionTitle } from '../../../../../utils/subscription.utils';\r\n\r\nconst dateFormat = 'MMMM D, YYYY';\r\n\r\nexport function Overview() {\r\n const currentUser = user.current()!;\r\n const { isTrial } = calculateSubscriptionTimeline();\r\n\r\n const renderSubscriptionInfo = () => {\r\n if (isTrial) {\r\n return (

{`Your FREE trial is enabled until ${moment(currentUser.trialPeriodEnd).format('MM/DD/YY')}`}

)\r\n }\r\n return (\r\n <>\r\n

{`Your Plan is ${getSubscriptionTitle(currentUser.subscription)}`}

\r\n {\r\n !!currentUser.subscriptionExpiration &&\r\n

Subscription End: {moment(currentUser.subscriptionExpiration).format(dateFormat)}

\r\n }\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n {renderSubscriptionInfo()}\r\n Switch plan\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import { AppProduct, getAppProductTitle } from '../../../../../types/billing/AppProduct';\r\nimport { subscriptionFeatureTitle } from '../../../../../types/billing/SubscriptionFeature';\r\nimport { featuresByProduct } from '../../../../../user/features/feature-provider';\r\nimport { Popup, PopupBody } from '../../../../controls';\r\n\r\ninterface Props {\r\n subscription: string;\r\n product: AppProduct;\r\n onClose: () => void;\r\n}\r\n\r\nconst getProductBodyText = (product: AppProduct, subscription: string) => {\r\n switch (product) {\r\n case AppProduct.DealDocuments:\r\n return `The following documents are disabled for the ${getAppProductTitle(product)} product on the ${subscription} Plan:`\r\n default:\r\n return `The following features are disabled for the ${getAppProductTitle(product)} page on the ${subscription} Plan:`\r\n }\r\n}\r\n\r\nexport function LimitedFeaturesPopup({ subscription, product, onClose }: Props) {\r\n const features = featuresByProduct[product];\r\n const featureTitles = features\r\n ?.map(f => subscriptionFeatureTitle[f])\r\n .filter(title => !!title);\r\n\r\n if (!featureTitles?.length) return null;\r\n\r\n return (\r\n {getAppProductTitle(product)}}\r\n >\r\n \r\n

{getProductBodyText(product, subscription)}

\r\n
    \r\n {featureTitles.map(f =>
  • {f}
  • )}\r\n
\r\n
\r\n \r\n )\r\n}\r\n","import cn from 'classnames';\r\nimport { Subscription } from \"../../../../../types/billing/Subscription\";\r\nimport { isRequesting } from \"../../../../../utils/request-state.utils\";\r\nimport { useSubscriptionRequest } from \"../hooks/useSubscriptionRequest\";\r\nimport { calculateSubscriptionTimeline } from '../../../../../utils/subscription.utils';\r\nimport { isSubscriptionObsolete, SubscriptionType } from '../../../../../types/billing/SubscriptionType';\r\n\r\n\r\ninterface Props {\r\n subscription: Subscription;\r\n isCurrent: boolean;\r\n}\r\n\r\nexport function RequestSubscriptionButton({ subscription, isCurrent }: Props) {\r\n const { requestState, requestCallback } = useSubscriptionRequest();\r\n const isBasicPlan = subscription.title.toLowerCase() === \"basic\";\r\n const { isTrial } = calculateSubscriptionTimeline();\r\n\r\n if (isCurrent && isBasicPlan && !isTrial) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n return (\r\n requestCallback(subscription)}\r\n >\r\n Select plan\r\n \r\n );\r\n}\r\n","import { useState } from \"react\";\r\nimport { Subscription } from \"../../../../../types/billing/Subscription\";\r\nimport { RequestState } from \"../../../../../constants/request-state\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { errorActions, notificationActions } from \"../../../../../actions\";\r\nimport { billingService } from \"../../../../../services\";\r\n\r\nexport function useSubscriptionRequest(){\r\n const dispatch = useDispatch();\r\n const [requestState, setRequestState] = useState(RequestState.none);\r\n\r\n const requestCallback = async (subscription: Subscription) => {\r\n setRequestState(RequestState.request);\r\n\r\n try{\r\n await billingService.changeSubscription(subscription.title);\r\n setRequestState(RequestState.success);\r\n dispatch(notificationActions.infoModal(\r\n `Your request for the ${subscription.title} plan subscription has been submitted to the Sales team.`,\r\n \"Subscription request submitted\"\r\n ));\r\n } catch(e) {\r\n setRequestState(RequestState.failure);\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n }\r\n\r\n return { requestState, requestCallback };\r\n}","import moment from \"moment\";\r\nimport { user } from \"../../../../../user\";\r\nimport { calculateSubscriptionTimeline } from \"../../../../../utils/subscription.utils\";\r\n\r\nconst dateFormat = 'M/D/YY';\r\n\r\ninterface Props {\r\n isCurrent: boolean;\r\n}\r\n\r\nexport function SubscriptionEndDate({ isCurrent }: Props) {\r\n const currentUser = user.current();\r\n \r\n if (!currentUser) return null;\r\n\r\n const { isTrial } = calculateSubscriptionTimeline();\r\n\r\n const renderTrial = () => <>trial till {moment.utc(currentUser.trialPeriodEnd).format(dateFormat)}\r\n const renderPaid = () => <>subscribed till {moment.utc(currentUser.subscriptionExpiration).format(dateFormat)}\r\n\r\n return (\r\n
\r\n {\r\n isCurrent &&\r\n <>\r\n {isTrial && !!currentUser.trialPeriodEnd && renderTrial()}\r\n {!isTrial && !!currentUser.subscriptionExpiration && renderPaid()}\r\n \r\n }\r\n
\r\n );\r\n}","import { useMemo, useState } from 'react';\r\nimport cn from 'classnames';\r\nimport { values } from 'lodash';\r\nimport { LimitedFeaturesPopup } from './LimitedFeaturesPopup';\r\nimport { ContentSection } from '../ContentSection';\r\nimport { Table } from '../../../../bidding/common/table';\r\nimport { useSubscriptions } from '../hooks/useSubscriptions';\r\nimport { Preloader } from '../../../../common';\r\nimport { isRequestSuccess } from '../../../../../utils';\r\nimport { Subscription } from '../../../../../types/billing/Subscription';\r\nimport { AppProduct, getAppProductTitle } from '../../../../../types/billing/AppProduct';\r\nimport { IColumnDefinition } from '../../../../bidding/common/table/types/ColumnDefinition';\r\nimport { user } from '../../../../../user';\r\nimport { ColumnBuilder } from '../../../../bidding/common/table/columns/column-builder/ColumnBuilder';\r\nimport { RequestSubscriptionButton } from './RequestSubscription';\r\nimport { roles } from '../../../../../constants';\r\nimport IconSVG from \"../../../../../styles/svg-icons\";\r\nimport { SubscriptionEndDate } from './SubscriptionEndDate';\r\nimport { isSubscriptionObsolete, SubscriptionType } from '../../../../../types/billing/SubscriptionType';\r\n\r\nconst productRoleRestrictions: { [product in AppProduct]?: string[] } = {\r\n [AppProduct.KWatch]: [...roles.seller(), ...roles.bd(), roles.SellerAdministrator, roles.Administrator],\r\n [AppProduct.KTalk]: [], // hidden\r\n [AppProduct.Trading]: [...roles.seller(), ...roles.bd(), roles.SellerAdministrator, roles.Administrator],\r\n [AppProduct.ManagerProfile]: [...roles.seller(), ...roles.bd(), roles.SellerAdministrator, roles.Administrator],\r\n [AppProduct.IssuanceMonitor]: [...roles.issuanceMonitorAccess(), roles.SellerAdministrator],\r\n [AppProduct.DealerProfile]: roles.getAllRolesExclude(roles.Viewer),\r\n [AppProduct.DealDocuments]: roles.getAllRolesExclude(roles.ArrangersClient)\r\n}\r\n\r\nexport function Plans() {\r\n const { requestState, subscriptions } = useSubscriptions();\r\n const [limitedState, setLimitedState] = useState<{ product: AppProduct, subscription: Subscription }>();\r\n\r\n const currentSubscription = useMemo(() => {\r\n const currentUser = user.current();\r\n\r\n return subscriptions.find(s =>\r\n s.products.length === currentUser?.products.length &&\r\n !s.products.some(p => !currentUser?.products.some(pp => pp === p))\r\n );\r\n }, [subscriptions]);\r\n\r\n const columns: IColumnDefinition[] = useMemo(() => [{\r\n columnKey: \"product\",\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: p => getAppProductTitle(p),\r\n className: \"data-list-cell-xs-flexible text-bold\"\r\n },\r\n ...subscriptions\r\n .filter(s => !isSubscriptionObsolete(s.title as SubscriptionType) || s.title === currentSubscription?.title)\r\n .map(s => ({\r\n columnKey: `subscription-${s.title}`,\r\n renderColumnHeaderContent: () => \r\n <>\r\n

{s.title}

\r\n \r\n \r\n ,\r\n renderColumnContent: (p: AppProduct) =>\r\n <>\r\n {\r\n s.products.some(pp => pp === p)\r\n ? \r\n : \r\n setLimitedState({\r\n product: p,\r\n subscription: s\r\n })\r\n }\r\n >\r\n Limited\r\n \r\n }\r\n ,\r\n className: cn(\"data-list-cell-md-flexible text-center\", { \"selected\": s === currentSubscription })\r\n }))], [currentSubscription, subscriptions]);\r\n\r\n return (\r\n \r\n \r\n \r\n !productRoleRestrictions[p] ||\r\n productRoleRestrictions[p]?.some(r => user.hasRoles(r)))\r\n }\r\n columns={columns.map(c => new ColumnBuilder(c))}\r\n createRowCustomKey={(p: AppProduct) => p}\r\n />\r\n {limitedState &&\r\n setLimitedState(undefined)}\r\n />\r\n }\r\n \r\n \r\n );\r\n}","import { Switch, Route, Redirect } from 'react-router';\r\nimport { routes } from '../../../../constants';\r\nimport { SubscriptionsTab } from './SubscriptionsTab';\r\nimport { Overview } from './overview/Overview';\r\nimport { Plans } from './plans/Plans';\r\nimport { TabList, TabItem } from '../../../bidding/common/tab-list';\r\nimport { useBackspaceRedirectBlocker } from '../../../../effects';\r\nimport { useAppSelector } from '../../../../effects/useAppSelector';\r\nimport { isRequestSuccess } from '../../../../utils';\r\n\r\ninterface Props {\r\n activeTab?: SubscriptionsTab\r\n}\r\n\r\nexport function SubscriptionsView({ activeTab = SubscriptionsTab.overview }: Props) {\r\n useBackspaceRedirectBlocker();\r\n\r\n const initStatus = useAppSelector(s => s.profile.initStatus);\r\n const profile = useAppSelector(s => s.profile.profile);\r\n //const upgradeSubscriptionWizard = useAppSelector(s => s.subscriptions.upgradeSubscriptionWizard);\r\n\r\n if (!isRequestSuccess(initStatus) || !profile) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

Subscription

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n {/* upgradeSubscriptionWizard.isUpgradeSubscriptionPopupVisible &&\r\n */}\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\n\r\ninterface Props {\r\n children?: React.ReactNode\r\n}\r\n\r\nexport const MenageViewHeaderButtons: React.FC = ({ children }: Props) => {\r\n return (\r\n
\r\n {children}\r\n
\r\n )\r\n};\r\n","import React, { useState } from 'react';\r\nimport IconSVG from '../../../../styles/svg-icons';\r\n\r\ninterface Props {\r\n children?: React.ReactNode\r\n}\r\n\r\nexport const ExpandableInfoPanel: React.FC = ({ children }: Props) => {\r\n const [visible, setVisible] = useState(false);\r\n\r\n const handleHidePanel = () => {\r\n setVisible(false);\r\n };\r\n\r\n if (visible) {\r\n return (\r\n
\r\n \r\n {children}\r\n
\r\n )\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n )\r\n};\r\n","import React, { useCallback, useEffect, useState } from 'react';\r\nimport { isEqual, keys, size } from 'lodash';\r\nimport { useHistory } from 'react-router';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport classNames from \"classnames\";\r\nimport { MenageViewHeader } from '../header/MenageViewHeader';\r\nimport { MenageViewHeaderButtons } from '../header/MenageViewHeaderButtons';\r\nimport { AppState } from '../../../../../types/state/AppState';\r\nimport { ManageViewContent } from '../content/ManageViewContent';\r\nimport { ExcludeList } from '../../../../controls/exclude-list/ExcludeList';\r\nimport { apiUtils } from '../../../../../utils/api.utils';\r\nimport { ExcludeListItemType } from '../../../../controls/exclude-list/ExcludeListItemType';\r\nimport { BrokerDealerCompanySlim } from '../../../../../types/company/BrokerDealerCompanySlim';\r\nimport { isRequesting, isRequestNone, isRequestSuccess } from '../../../../../utils';\r\nimport { sellerAdminDealerActions } from '../../../../../actions/seller-admin-dealers.actions';\r\nimport { RouteLeavingGuard } from '../../../../routing';\r\nimport { OnHoverTooltip } from '../../../../common/OnHoverTooltip';\r\nimport { RadioButtonGroup } from '../../../../controls';\r\nimport { Preloader } from '../../../../common';\r\nimport { useBrokerDealers } from '../../../../../effects/useBrokerDealers';\r\nimport { ExpandableInfoPanel } from '../ExpandableInfoPanel';\r\n\r\nexport const DealersView: React.FC = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const dealersListState = useBrokerDealers();\r\n const excludedDealerList = useSelector((state: AppState) => state.sellerAdminDealers.excludeDealers);\r\n const requestStateExcludedDealerList = useSelector((state: AppState) => state.sellerAdminDealers.requestStatusGetExcludeDealers);\r\n const requestStateSaveExcludeDealers = useSelector((state: AppState) => state.sellerAdminDealers.requestStateSaveExcludeDealers);\r\n const excludeNewCompanyState = useSelector((state: AppState) => state.sellerAdminDealers.excludeNewCompany);\r\n const editMode = useSelector((state: AppState) => state.sellerAdminDealers.editMode);\r\n\r\n useEffect(() => {\r\n if (isRequestNone(requestStateExcludedDealerList)) {\r\n dispatch(sellerAdminDealerActions.getExcludedDealersRequest())\r\n }\r\n }, [requestStateExcludedDealerList, dispatch]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n dispatch(sellerAdminDealerActions.setEditModeStatus(false))\r\n }\r\n }, [dispatch]);\r\n\r\n const createListModel = useCallback((dealers: BrokerDealerCompanySlim[]) =>\r\n apiUtils.normalize(dealers, entity => entity.id, entity => entity.name), []);\r\n\r\n const [includeDealers, setIncludeDealers] = useState(() => createListModel(dealersListState.items));\r\n const [excludeDealers, setExcludeDealers] = useState(createListModel(excludedDealerList));\r\n const [excludeNewCompany, setExcludeNewCompany] = useState(excludeNewCompanyState);\r\n\r\n useEffect(() => {\r\n if (!editMode) {\r\n setIncludeDealers(createListModel(dealersListState.items));\r\n setExcludeDealers(createListModel(excludedDealerList));\r\n setExcludeNewCompany(excludeNewCompanyState);\r\n }\r\n }, [editMode, excludeNewCompanyState, excludedDealerList, createListModel, dealersListState.items]);\r\n\r\n const handleIsAnyChanges = useCallback(() =>\r\n !isEqual(createListModel(excludedDealerList), excludeDealers) || (excludeNewCompany !== excludeNewCompanyState),\r\n [excludeDealers, excludedDealerList, excludeNewCompany, excludeNewCompanyState, createListModel]\r\n );\r\n\r\n const handleInclude = (id: number) => {\r\n setExcludeDealers((excludeDealers) => {\r\n const excluded = { ...excludeDealers };\r\n const dealer = excluded[id];\r\n delete excluded[id];\r\n setIncludeDealers((includeDealers) => {\r\n const included = { ...includeDealers };\r\n included[id] = dealer;\r\n return included\r\n });\r\n return excluded;\r\n });\r\n };\r\n\r\n const handleExclude = (id: number) => {\r\n setIncludeDealers((includeDealers) => {\r\n const included = { ...includeDealers };\r\n const dealer = included[id];\r\n delete included[id];\r\n setExcludeDealers((excludeDealers) => {\r\n const excluded = { ...excludeDealers };\r\n excluded[id] = dealer;\r\n return excluded\r\n });\r\n return included\r\n });\r\n };\r\n\r\n const handleIncludeAll = () => {\r\n setExcludeDealers((excludeDealers) => {\r\n setIncludeDealers((includeDealers) => {\r\n return { ...includeDealers, ...excludeDealers }\r\n });\r\n return {};\r\n });\r\n };\r\n\r\n const handleExcludeAll = () => {\r\n setIncludeDealers((includeDealers) => {\r\n setExcludeDealers((excludeDealers) => {\r\n return { ...excludeDealers, ...includeDealers }\r\n });\r\n return {}\r\n });\r\n };\r\n\r\n const handleSave = () => {\r\n if (!!size(includeDealers) && excludeNewCompany !== undefined) {\r\n const ids = keys(excludeDealers).map(id => Number(id));\r\n dispatch(sellerAdminDealerActions.saveExcludedDealersRequest(ids, excludeNewCompany))\r\n }\r\n };\r\n\r\n return (\r\n
\r\n\r\n \r\n \r\n {editMode ? (\r\n <>\r\n dispatch(sellerAdminDealerActions.setEditModeStatus(false))}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n\r\n \r\n ) : (\r\n dispatch(sellerAdminDealerActions.setEditModeStatus(true))}\r\n >\r\n Edit\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n

\r\n When sending a BWIC, all broker-dealers are available by default. Trader users can always exclude any dealer from the BWIC by deselecting them in the BWIC wizard during creation.\r\n

\r\n

\r\n Admin user may remove broker-dealers from the list of Available Dealers by clicking Edit and de-selecting them from the Available Dealers list. In this case, such dealers would not be visible to Trader users during BWIC creation.\r\n

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

New dealer companies registered on the platform initially will be added to the selected\r\n list:

\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n history.push(pathname)}\r\n shouldBlockNavigation={handleIsAnyChanges}\r\n />\r\n
\r\n )\r\n};\r\n","import React, { useEffect, useMemo, useRef, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Form, Formik } from \"formik\";\r\nimport { cloneDeep, isEqual } from 'lodash';\r\nimport { constants, errorMessages, roles, routes } from '../../../../../constants';\r\nimport { yup } from '../../../../../validation/yup';\r\nimport { FormFieldLabel } from '../../../../forms/FormFieldLabel';\r\nimport { MenageViewHeader } from '../header/MenageViewHeader';\r\nimport { MenageViewHeaderButtons } from '../header/MenageViewHeaderButtons';\r\nimport { Redirect, useHistory, useParams } from 'react-router';\r\nimport { ManageViewContent } from '../content/ManageViewContent';\r\nimport { RadioButton } from '../../../../controls';\r\nimport { SellerAdminEditFormModel } from '../../../../../types/seller-admin/SellerAdminEditFormModel';\r\nimport { sellerAdminUsersActions } from '../../../../../actions/seller-admin-users.actions';\r\nimport { AppState } from '../../../../../types/state/AppState';\r\nimport { isRequesting, isRequestNone, isRequestSuccess, numericUtils } from '../../../../../utils';\r\nimport { Preloader } from '../../../../common';\r\nimport { InputField } from '../../../../forms';\r\nimport { RequestUserStatusDetails } from './RequestUserStatusDetails';\r\nimport { UserStatus } from '../../../../../types/account/UserStatus';\r\nimport { UserRequestStatus } from '../../../../../types/management/UserRequestStatus';\r\nimport RouteLeavingGuard from '../../../../routing/RouteLeavingGuard';\r\nimport { Checkbox } from '../../../../controls/Checkbox';\r\n\r\nconst initialFormState: SellerAdminEditFormModel = {\r\n firstName: '',\r\n lastName: '',\r\n email: '',\r\n roles: [],\r\n jobTitle: '',\r\n phoneNumber: '',\r\n primaryContact: false,\r\n location: '',\r\n linkedIn: ''\r\n};\r\n\r\nconst validationSchema = yup.object().shape({\r\n firstName: yup.string().trim().matches(constants.name).required().max(64),\r\n lastName: yup.string().trim().matches(constants.name).required().max(64),\r\n email: yup.string().trim().required().email().max(256, errorMessages.maxLength(256)),\r\n roles: yup.array().of(yup.string()).min(1, errorMessages.empty).required(),\r\n jobTitle: yup.string().trim().required().max(256, errorMessages.maxLength(256)),\r\n phoneNumber: yup.string().trim().matches(constants.nonWhitespace).max(constants.phoneMaxLength),\r\n location: yup.string().max(64),\r\n linkedIn: yup.string().trim().matches(constants.linkedIn).max(2083),\r\n});\r\n\r\nexport const EditUser: React.FC = () => {\r\n const requestParams = useParams<{ userId?: string, userRequestId?: string }>();\r\n const userId = numericUtils.numberOrDefault(requestParams.userId);\r\n const userRequestId = numericUtils.numberOrDefault(requestParams.userRequestId);\r\n const formUpdatedFromState = useRef(false);\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n const user = useSelector((state: AppState) =>\r\n state.sellerAdminUsers.users.find((user) => user.id === userId)\r\n );\r\n const requestStateGetUserList = useSelector((state: AppState) => state.sellerAdminUsers.requestStateGetUserList);\r\n const requestStatusUpdateRequestUser = useSelector((state: AppState) => state.sellerAdminUsers.requestStatusUpdateRequestUser);\r\n const requestStatusUpdateUser = useSelector((state: AppState) => state.sellerAdminUsers.requestStatusUpdateUser);\r\n const userRequest = useSelector((state: AppState) =>\r\n state.sellerAdminUsers.requestUsers.find((user) => user.id === userRequestId)\r\n );\r\n\r\n const selectedUser = user || userRequest;\r\n\r\n const initialFormData = useMemo(() => selectedUser\r\n ? {\r\n firstName: selectedUser.firstName,\r\n lastName: selectedUser.lastName,\r\n email: selectedUser.email,\r\n roles: selectedUser.roles,\r\n jobTitle: selectedUser.jobTitle || '',\r\n phoneNumber: selectedUser.phoneNumber || '',\r\n primaryContact: selectedUser.primaryContact,\r\n location: selectedUser.location || '',\r\n linkedIn: selectedUser.linkedIn || ''\r\n }\r\n : initialFormState,\r\n [selectedUser]\r\n );\r\n\r\n const [formState, setFormState] = useState(cloneDeep(initialFormState));\r\n\r\n useEffect(() => {\r\n if (isRequestSuccess(requestStatusUpdateRequestUser) || isRequestSuccess(requestStatusUpdateUser)) {\r\n history.replace(routes.profileManagePlatformUsers);\r\n }\r\n }, [requestStatusUpdateRequestUser, requestStatusUpdateUser, history])\r\n\r\n useEffect(() => {\r\n const formData = user || userRequest;\r\n if (!formUpdatedFromState.current && formData) {\r\n setFormState(cloneDeep(initialFormData));\r\n formUpdatedFromState.current = true;\r\n }\r\n }, [user, userRequest, initialFormData]);\r\n\r\n useEffect(() => {\r\n if (isRequestNone(requestStateGetUserList)) {\r\n dispatch(sellerAdminUsersActions.getUserListRequest());\r\n }\r\n }, [requestStateGetUserList, dispatch]);\r\n\r\n if (isRequestNone(requestStateGetUserList)) return null;\r\n\r\n if ((userId || userRequestId) && !selectedUser && isRequestSuccess(requestStateGetUserList)) {\r\n return \r\n }\r\n\r\n const handleSave = (values: SellerAdminEditFormModel) => {\r\n if (userId) {\r\n dispatch(sellerAdminUsersActions.saveUser(values, userId));\r\n } else {\r\n dispatch(sellerAdminUsersActions.saveUserRequest(values, userRequestId, userRequest?.concurrencyStamp))\r\n }\r\n };\r\n\r\n const handleRoleChange = (role: string, roles: string[], setFieldValue: (field: string, value: string[]) => void) => {\r\n if (roles.indexOf(role) > -1) {\r\n roles.splice(roles.indexOf(role), 1)\r\n } else {\r\n roles.push(role);\r\n }\r\n setFieldValue('roles', [...roles]);\r\n };\r\n\r\n const renderError = (error: string | undefined, isTouched: boolean | undefined) => (\r\n isTouched && error &&
{error}
\r\n );\r\n\r\n const renderTitle = (): React.ReactNode => {\r\n if (selectedUser) {\r\n return (\r\n <>\r\n Edit User\r\n \r\n \r\n )\r\n }\r\n return <>Create New User\r\n };\r\n\r\n const renderUserRole = (selectedRoles: string[], setFieldValue: (field: string, value: string[]) => void) => {\r\n const isSellerTraderChecked = selectedRoles.some(r => r === roles.SellerTrader);\r\n const isSellerViewerChecked = selectedRoles.some(r => r === roles.SellerViewer);\r\n const isSellerAdministratorChecked = selectedRoles.some(r => r === roles.SellerAdministrator);\r\n const isCollateralManagerChecked = selectedRoles.some(r => r === roles.CollateralManager);\r\n\r\n const setUserRole = (role: string) => {\r\n if (selectedRoles.some(r => r === role)) {\r\n return;\r\n }\r\n setFieldValue('roles', [role])\r\n };\r\n return (\r\n
\r\n <>\r\n setUserRole(roles.SellerTrader)}\r\n />\r\n {isSellerTraderChecked &&\r\n <>\r\n handleRoleChange(roles.SellerAdministrator, selectedRoles, setFieldValue)}\r\n label={roles.getShortTitle(roles.SellerAdministrator)}\r\n />\r\n handleRoleChange(roles.CollateralManager, selectedRoles, setFieldValue)}\r\n label={roles.getTitle(roles.CollateralManager)}\r\n />\r\n }\r\n \r\n <>\r\n setUserRole(roles.SellerViewer)}\r\n />\r\n {isSellerViewerChecked &&\r\n <>\r\n handleRoleChange(roles.SellerAdministrator, selectedRoles, setFieldValue)}\r\n label={roles.getShortTitle(roles.SellerAdministrator)}\r\n />\r\n handleRoleChange(roles.CollateralManager, selectedRoles, setFieldValue)}\r\n label={roles.getTitle(roles.CollateralManager)}\r\n />\r\n }\r\n \r\n setFieldValue('roles', [roles.SellerAdministrator])}\r\n />\r\n
\r\n )\r\n };\r\n\r\n return (\r\n \r\n {({ values, errors, touched, setFieldValue }) => (\r\n \r\n
\r\n \r\n \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
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {renderUserRole(values.roles, setFieldValue)}\r\n {renderError(Array.isArray(errors.roles) ? errors.roles?.join(',') : errors.roles, touched.roles)}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
 
\r\n setFieldValue('primaryContact', !values.primaryContact)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n history.push(pathname)}\r\n shouldBlockNavigation={() => !isEqual(values, initialFormData)\r\n && (!isRequestSuccess(requestStatusUpdateRequestUser) && !isRequestSuccess(requestStatusUpdateUser))\r\n }\r\n />\r\n \r\n
\r\n )}\r\n \r\n )\r\n};\r\n","import React from 'react';\r\nimport { UserRequestStatus } from '../../../../../types/management/UserRequestStatus';\r\nimport { UserCreationRequest } from '../../../../../types/management/UserCreationRequest';\r\nimport { CompanyUser } from '../../../../../types/management/CompanyUser';\r\nimport ContextMenu from '../../../../controls/ContextMenu';\r\nimport { UserStatus } from '../../../../../types/account/UserStatus';\r\nimport { isRequesting } from '../../../../../utils';\r\nimport { useHistory } from 'react-router';\r\nimport { routes } from '../../../../../constants';\r\nimport { useSelector } from 'react-redux';\r\nimport { AppState } from '../../../../../types/state/AppState';\r\nimport { UserListTableItem } from './UserListTableItem';\r\nimport { user as currentUser } from '../../../../../user/user';\r\n\r\ninterface Props {\r\n user: UserListTableItem;\r\n onBlockingUser: (user: UserListTableItem) => void;\r\n onUnblockingUser: (user: UserListTableItem) => void;\r\n}\r\n\r\nexport const UserContextMenu: React.FC = ({ user, onBlockingUser, onUnblockingUser }) => {\r\n const history = useHistory();\r\n const userRequestOperation = useSelector((state: AppState) => state.sellerAdminUsers.userRequestOperationState[user.id]);\r\n const userOperation = useSelector((state: AppState) => state.sellerAdminUsers.userOperationState[user.id]);\r\n\r\n const getUserRequestMenuItems = (r: UserCreationRequest) => [{\r\n text: 'Edit',\r\n action: () => history.push(routes.profileManageEditUserRequestUrl(user.id))\r\n }, {\r\n text: r.status === UserRequestStatus.Blocked ? 'Activate' : 'Block',\r\n disabled: isRequesting(userRequestOperation),\r\n action: () => r.status === UserRequestStatus.Blocked\r\n ? onUnblockingUser(user)\r\n : onBlockingUser(user)\r\n }];\r\n\r\n const getUserMenuItems = (u: CompanyUser) => {\r\n if (u.id === currentUser.current()?.id) {\r\n return [];\r\n }\r\n return [{\r\n text: 'Edit',\r\n action: () => history.push(routes.profileManageEditUserUrl(user.id)),\r\n }, {\r\n text: u.status === UserStatus.Blocked ? 'Activate' : 'Block',\r\n disabled: isRequesting(userOperation),\r\n action: () => u.status === UserStatus.Blocked\r\n ? onUnblockingUser(user)\r\n : onBlockingUser(user)\r\n }]\r\n };\r\n\r\n if(user.id === currentUser.current()?.id) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n )\r\n};\r\n","import { UserStatus } from '../../../../../types/account/UserStatus';\r\nimport { UserRequestStatus } from '../../../../../types/management/UserRequestStatus';\r\nimport { UserCreationRequest } from '../../../../../types/management/UserCreationRequest';\r\nimport { CompanyUser } from '../../../../../types/management/CompanyUser';\r\nimport { userRequestStatuses, userStatuses } from '../../../../../constants';\r\n\r\nexport interface UserListTableItem {\r\n id: number;\r\n\r\n userStatus?: UserStatus;\r\n userRequestStatus?: UserRequestStatus;\r\n statusText: string;\r\n\r\n fullName: string;\r\n email: string;\r\n jobTitle: string;\r\n phoneNumber: string | null;\r\n roles: string[];\r\n primaryContact: boolean;\r\n blockReason: string | null;\r\n registrationBy: string;\r\n registrationDate: Date;\r\n\r\n user?: CompanyUser;\r\n request?: UserCreationRequest;\r\n}\r\n\r\nexport function convert(user: CompanyUser | UserCreationRequest): UserListTableItem {\r\n const isRequest = 'concurrencyStamp' in user;\r\n return {\r\n id: user.id,\r\n userStatus: isRequest ? undefined : user.status as UserStatus,\r\n userRequestStatus: isRequest ? user.status as UserRequestStatus : undefined,\r\n statusText: (isRequest\r\n ? userRequestStatuses.getByStatusCode(user.status as UserRequestStatus)?.title\r\n : userStatuses.getByStatusCode(user.status)?.title) ?? '',\r\n fullName: `${user.firstName} ${user.lastName}`,\r\n email: user.email,\r\n jobTitle: user.jobTitle,\r\n phoneNumber: user.phoneNumber,\r\n roles: user.roles,\r\n primaryContact: user.primaryContact,\r\n blockReason: user.blockReason,\r\n registrationBy: user.registrationBy,\r\n registrationDate: user.registrationDate,\r\n\r\n user: isRequest ? undefined : user as CompanyUser,\r\n request: isRequest ? user as UserCreationRequest : undefined\r\n };\r\n}\r\n","import moment from 'moment';\r\nimport React, { useCallback, useEffect, useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router';\r\nimport { profileActions } from '../../../../../actions/profile.actions';\r\nimport { sellerAdminUsersActions } from '../../../../../actions/seller-admin-users.actions';\r\nimport { constants, roles, routes, SORT, SORTING_TYPE } from '../../../../../constants';\r\nimport IconSVG from '../../../../../styles/svg-icons';\r\nimport { UserStatus } from '../../../../../types/account/UserStatus';\r\nimport { UserRequestStatus } from '../../../../../types/management/UserRequestStatus';\r\nimport { AppState } from '../../../../../types/state/AppState';\r\nimport { user } from '../../../../../user';\r\nimport { isRequesting, isRequestNone } from '../../../../../utils';\r\nimport { ShowFor } from '../../../../access';\r\nimport Confirm from '../../../../alerts/Confirm';\r\nimport { Table } from '../../../../bidding/common/table';\r\nimport { ColumnBuilder } from '../../../../bidding/common/table/columns/column-builder/ColumnBuilder';\r\nimport { IColumnDefinition } from '../../../../bidding/common/table/types/ColumnDefinition';\r\nimport { OnHoverTooltip, Preloader } from '../../../../common';\r\nimport { RejectReasonPopup } from '../../../../common/RejectReasonPopup';\r\nimport { Popover } from '../../../../controls';\r\nimport { Checkbox } from '../../../../controls/Checkbox';\r\nimport { ManageViewContent } from '../content/ManageViewContent';\r\nimport { ExpandableInfoPanel } from '../ExpandableInfoPanel';\r\nimport { MenageViewHeader } from '../header/MenageViewHeader';\r\nimport { MenageViewHeaderButtons } from '../header/MenageViewHeaderButtons';\r\nimport { RequestUserStatusDetails } from './RequestUserStatusDetails';\r\nimport { UserContextMenu } from './UserContextMenu';\r\nimport { convert, UserListTableItem } from './UserListTableItem';\r\nimport { useAppDispatch } from '../../../../../effects/useAppDispatch';\r\n\r\ninterface AnoncmentNotification {\r\n bwicCreateNotifyAdmins?: boolean;\r\n bwicCreateNotifyViewers?: boolean;\r\n}\r\n\r\nexport const UserList: React.FC = () => {\r\n const history = useHistory();\r\n const dispatch = useAppDispatch();\r\n\r\n const [hideBlockedUsers, setHideBlockedUsers] = useState(true);\r\n\r\n const [blockingUser, setBlockingUser] = useState();\r\n const [unblockingUser, setUnblockingUser] = useState();\r\n\r\n const companyAccount = useSelector((state: AppState) => state.profile.company);\r\n const users = useSelector((state: AppState) => state.sellerAdminUsers.users);\r\n const changeBwicAnnouncementNotificationsRequestState = useSelector((state: AppState) =>\r\n state.sellerAdminUsers.changeBwicAnnouncementNotificationsRequestState\r\n );\r\n const requestUsers = useSelector((state: AppState) => state.sellerAdminUsers.requestUsers);\r\n const isRequestingExportUser = useSelector((state: AppState) => state.sellerAdminUsers.isRequestingExportUser);\r\n const requestStateGetUserList = useSelector((state: AppState) => state.sellerAdminUsers.requestStateGetUserList);\r\n\r\n useEffect(() => {\r\n if (isRequestNone(requestStateGetUserList)) {\r\n dispatch(sellerAdminUsersActions.getUserListRequest());\r\n }\r\n }, [dispatch, requestStateGetUserList]);\r\n\r\n const changeBwicAnnouncementNotifications = (bwicAnnouncementNotification: AnoncmentNotification) => {\r\n dispatch(profileActions.changeBwicAnnouncementNotifications({\r\n bwicCreateNotifyAdmins: bwicAnnouncementNotification.bwicCreateNotifyAdmins ?? companyAccount?.bwicCreateNotifyAdmins,\r\n bwicCreateNotifyViewers: bwicAnnouncementNotification.bwicCreateNotifyViewers ?? companyAccount?.bwicCreateNotifyViewers\r\n }))\r\n }\r\n\r\n const convertToUserListItems = useCallback(() => {\r\n const userList = [\r\n ...users.map(u => convert(u)),\r\n ...requestUsers.map(r => convert(r))\r\n ].sort((a, b) => a.fullName.localeCompare(b.fullName));\r\n if (hideBlockedUsers) {\r\n return userList.filter(u => u.userStatus !== UserStatus.Blocked && u.userRequestStatus !== UserRequestStatus.Blocked)\r\n }\r\n return userList\r\n }, [users, requestUsers, hideBlockedUsers]);\r\n\r\n if (isRequestNone(requestStateGetUserList)) return null;\r\n\r\n const handleBlockUser = (message: string) => {\r\n if (blockingUser) {\r\n blockingUser.request\r\n ? dispatch(sellerAdminUsersActions.disableUserRequest(blockingUser.id, blockingUser.request.concurrencyStamp, message))\r\n : dispatch(sellerAdminUsersActions.disableUser(blockingUser.id, message));\r\n }\r\n setBlockingUser(undefined)\r\n };\r\n\r\n const getColumns = () => {\r\n const userRoles: IColumnDefinition = {\r\n columnKey: 'roles',\r\n renderColumnHeaderContent: () => 'User Role',\r\n renderColumnContent: entity => {\r\n const text = roles.sortRolesByPriority([...entity.roles])\r\n .map((role: string) => roles.getShortTitle(role))\r\n .join(', ');\r\n return (\r\n \r\n {text}\r\n \r\n )\r\n },\r\n headerClassName: 'data-list-user-role',\r\n bodyClassName: 'data-list-user-role',\r\n sortingField: 'roles',\r\n sortingType: SORTING_TYPE.rolesShortTitles\r\n };\r\n const name: IColumnDefinition = {\r\n columnKey: 'name',\r\n renderColumnHeaderContent: () => 'User',\r\n renderColumnContent: entity => (\r\n {entity.fullName}}\r\n >\r\n \r\n \r\n ),\r\n headerClassName: 'data-list-user',\r\n bodyClassName: 'data-list-user',\r\n sortingField: 'fullName',\r\n sortingType: SORTING_TYPE.string\r\n };\r\n const fullName: IColumnDefinition = {\r\n columnKey: 'fullName',\r\n renderColumnHeaderContent: () => 'User',\r\n renderColumnContent: entity => {\r\n return (\r\n \r\n {entity.fullName}\r\n \r\n )\r\n },\r\n headerClassName: 'data-list-user',\r\n bodyClassName: 'data-list-user',\r\n sortingField: 'fullName',\r\n sortingType: SORTING_TYPE.string\r\n };\r\n const email: IColumnDefinition = {\r\n columnKey: 'email',\r\n renderColumnHeaderContent: () => 'Email',\r\n renderColumnContent: entity => {\r\n return (\r\n \r\n {entity.email}\r\n \r\n )\r\n },\r\n headerClassName: 'data-list-email',\r\n bodyClassName: 'data-list-email'\r\n };\r\n const phone: IColumnDefinition = {\r\n columnKey: 'phone',\r\n renderColumnHeaderContent: () => 'Phone',\r\n renderColumnContent: entity => {\r\n return (\r\n \r\n {entity.phoneNumber || constants.emptyPlaceholder}\r\n \r\n )\r\n },\r\n headerClassName: 'data-list-phone',\r\n bodyClassName: 'data-list-phone',\r\n };\r\n const status: IColumnDefinition = {\r\n columnKey: 'status',\r\n renderColumnHeaderContent: () => 'Status',\r\n renderColumnContent: entity => (\r\n \r\n ),\r\n headerClassName: 'data-list-status',\r\n bodyClassName: 'data-list-status',\r\n sortingField: 'statusText',\r\n sortingType: SORTING_TYPE.string\r\n };\r\n const registrationDate: IColumnDefinition = {\r\n columnKey: 'registrationDate',\r\n renderColumnHeaderContent: () => 'Reg. Date',\r\n renderColumnContent: entity => moment(entity.registrationDate).format(constants.dateFormat4),\r\n headerClassName: 'data-list-reg-date',\r\n bodyClassName: 'data-list-reg-date',\r\n sortingField: 'registrationDate',\r\n sortingType: SORTING_TYPE.date\r\n };\r\n const registeredBy: IColumnDefinition = {\r\n columnKey: 'registratedBy',\r\n renderColumnHeaderContent: () => 'Reg. by',\r\n renderColumnContent: entity => (\r\n entity.registrationBy === 'KopenTech Admin'\r\n ? 'KopenTech Admin'\r\n : entity.registrationBy ? {entity.registrationBy} : null\r\n ),\r\n headerClassName: 'data-list-reg-by',\r\n bodyClassName: 'data-list-reg-by',\r\n sortingField: 'registrationBy',\r\n sortingType: SORTING_TYPE.string\r\n };\r\n const options: IColumnDefinition = {\r\n columnKey: 'actions',\r\n renderColumnHeaderContent: () => 'Actions',\r\n renderColumnContent: entity => (\r\n \r\n ),\r\n headerClassName: 'data-list-options text-right',\r\n bodyClassName: 'data-list-options text-right'\r\n };\r\n const jobTitle: IColumnDefinition = {\r\n columnKey: 'jobTitle',\r\n renderColumnHeaderContent: () => 'Job Title',\r\n renderColumnContent: entity => (\r\n !!entity.jobTitle\r\n ? {entity.jobTitle}\r\n : constants.emptyPlaceholder\r\n ),\r\n headerClassName: 'data-list-job-title',\r\n bodyClassName: 'data-list-job-title',\r\n sortingField: 'jobTitle',\r\n sortingType: SORTING_TYPE.string\r\n };\r\n\r\n\r\n const columns = user.hasRoles(roles.SellerAdministrator)\r\n ? [userRoles, name, jobTitle, status, registrationDate, registeredBy, options]\r\n : [userRoles, fullName, jobTitle, status, email, phone];\r\n\r\n return columns.map(c => new ColumnBuilder(c));\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n dispatch(sellerAdminUsersActions.exportUsersRequest())}\r\n disabled={isRequestingExportUser}\r\n >\r\n Export Login History\r\n \r\n \r\n history.push(routes.profileManageCreateNewUser)}\r\n >\r\n \r\n New 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 Company Admin users can perform the following functions:
\r\n · Create, update, block/unblock users
\r\n · Download login history of company users by clicking “Export Login History”
\r\n

\r\n

\r\n Traders/Viewers can see the Platform Users page in view-only mode.
\r\n When a new Admin user is created, all current Admins will receive an email notification.\r\n

\r\n

\r\n Users created by Admin must be approved by the KTX ATS Platform. Until approval is processed, the new user is shown to the Admin as “Pending Approval”\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n setHideBlockedUsers(!hideBlockedUsers)}\r\n />\r\n changeBwicAnnouncementNotifications({ bwicCreateNotifyAdmins: e.target.checked })}\r\n />\r\n changeBwicAnnouncementNotifications({ bwicCreateNotifyViewers: e.target.checked })}\r\n />\r\n
\r\n
Receive email notifications on BWIC announcements
\r\n
\r\n
\r\n \r\n
\r\n {\r\n blockingUser &&\r\n setBlockingUser(undefined)}\r\n onReject={handleBlockUser}\r\n comfirmButtonText=\"Block\"\r\n />\r\n }\r\n {\r\n unblockingUser &&\r\n {\r\n unblockingUser.request\r\n ? dispatch(sellerAdminUsersActions.enableUserRequest(unblockingUser.id, unblockingUser.request.concurrencyStamp))\r\n : dispatch(sellerAdminUsersActions.enableUser(unblockingUser.id));\r\n setUnblockingUser(undefined)\r\n }}\r\n onCancel={() => setUnblockingUser(undefined)}\r\n />\r\n }\r\n
\r\n );\r\n};\r\n","import React from 'react';\r\nimport { Switch, Route } from 'react-router';\r\nimport { roles, routes } from '../../../../../constants';\r\nimport { user } from '../../../../../user';\r\nimport { EditUser } from './EditUser';\r\nimport { UserList } from './UserList';\r\n\r\nexport const UsersView: React.FC = () => {\r\n const isSellerAdmin = user.hasRoles(roles.SellerAdministrator);\r\n\r\n return (\r\n
\r\n \r\n {isSellerAdmin && }\r\n {isSellerAdmin && }\r\n {isSellerAdmin && }\r\n \r\n \r\n
\r\n )\r\n};\r\n","import React from 'react';\r\nimport { ManageViewContent } from '../manage/content/ManageViewContent';\r\nimport { EmailPreferencesContent } from './EmailPreferencesContent';\r\n\r\nexport const EmailPreferences: React.FC = () => {\r\n return (\r\n
\r\n
\r\n

Alerts Center

\r\n
\r\n \r\n \r\n \r\n
\r\n )\r\n};\r\n","import { SettlementAgentAgreement } from \"../../../../types/bid-as-dealer/SettlementAgentAgreement\";\r\nimport { SettlementAgreementStatus } from \"../../../../types/bid-as-dealer/SettlementAgreementStatus\";\r\nimport { isRequestSuccess } from \"../../../../utils\";\r\nimport { EmptyPlaceholder } from \"../../../common\";\r\nimport { useAgreement } from \"../../../seller-buyside/useAgreement\";\r\n\r\ninterface Props {\r\n children: (agreement: SettlementAgentAgreement) => React.ReactNode;\r\n}\r\nexport function SettlementAgentTabContent({ children }: Props) {\r\n const { agreement, requestState } = useAgreement();\r\n\r\n if (!isRequestSuccess(requestState)) return null;\r\n\r\n if (agreement == null ||\r\n agreement?.agreementStatus !== SettlementAgreementStatus.confirmed) {\r\n return \r\n }\r\n\r\n\r\n return <>{children(agreement)};\r\n}","import { SettlementAgentDailyTraidingLimit } from \"../../../common/settlment-agent-popup/SettlementAgentDailyTraidingLimit\";\r\nimport { SettlementAgentTabContent } from \"./SettlementAgentTabContent\";\r\n\r\nexport function SettlementAgentLimits() {\r\n return (\r\n \r\n {agreement =>\r\n <>\r\n
\r\n
Sell/Buy limits and commissions set by the Settlement Agent
\r\n
\r\n \r\n \r\n }\r\n
\r\n )\r\n}","import { useCompanyUserList } from \"../../../../effects/useCompanyUserList\";\r\nimport { SettlementAgentAgreement } from \"../../../../types/bid-as-dealer/SettlementAgentAgreement\";\r\nimport { SettlementAgentContactsList } from \"../../../common/settlment-agent-popup/SettlementAgentContactsList\";\r\nimport { SettlementAgentTabContent } from \"./SettlementAgentTabContent\";\r\n\r\nexport function SettlementAgentContacts() {\r\n return (\r\n \r\n {agreement => }\r\n \r\n )\r\n}\r\n\r\ninterface Props {\r\n agreement: SettlementAgentAgreement;\r\n}\r\nexport function SettlementContactsContent({ agreement }: Props) {\r\n const { requestStateGetUsers, users } = useCompanyUserList(agreement.settlementAgent.id);\r\n\r\n return \r\n}","import React, { ChangeEvent } from 'react';\r\nimport cn from \"classnames\";\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport MaskedInput from \"react-text-mask\";\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport { constants } from '../../../../constants';\r\n\r\ninterface Props {\r\n label: string;\r\n placeholder: string;\r\n value: number | null;\r\n editMode: boolean;\r\n onChange: (value: number | null) => void;\r\n}\r\n\r\nexport const CompanyLimitInput: React.FC = ({ value, editMode, label, placeholder, onChange }) => {\r\n const id = uuidv4();\r\n const handleChange = (e: ChangeEvent) => {\r\n const newValue = e.target.value.replace(/,/g, '');\r\n if (newValue === ''\r\n || (\r\n newValue.match(constants.regOnlyNumbers) &&\r\n Number(newValue) >= constants.sellerAdminTradingLimits.min &&\r\n Number(newValue) <= constants.sellerAdminTradingLimits.max\r\n )\r\n ) {\r\n onChange(newValue === '' ? null : Number(newValue))\r\n } else {\r\n onChange(value)\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n {\r\n editMode\r\n ? (\r\n \r\n )\r\n : {value == null ? constants.emptyPlaceholder : Number(value).toLocaleString('en')}\r\n }\r\n
\r\n
\r\n )\r\n};\r\n","import { useEffect, useMemo, useState } from \"react\";\r\nimport { cloneDeep, entries, isEqual } from \"lodash\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router\";\r\nimport { AppState } from \"../../../../types/state/AppState\";\r\nimport { sellerAdminLimitActions } from \"../../../../actions/seller-admin-limit.actions\";\r\nimport { isRequestNone, isRequestSuccess, isRequesting } from \"../../../../utils/request-state.utils\";\r\nimport { TradingLimitType } from \"../../../../types/seller-admin/TradingLimitType\";\r\nimport { SellerAdminTradingLimitValuesState } from \"../../../../types/seller-admin/SellerAdminTradingLimitValuesState\";\r\nimport { Currency } from \"../../../../types/enums/Currency\";\r\nimport { ShowFor } from \"../../../access/ShowFor\";\r\nimport { roles } from \"../../../../constants/roles\";\r\nimport { Preloader } from \"../../../common/Preloader\";\r\nimport { ExpandableInfoPanel } from \"../manage/ExpandableInfoPanel\";\r\nimport { CompanyLimitInput } from \"./CompanyLimitInput\";\r\nimport RouteLeavingGuard from \"../../../routing/RouteLeavingGuard\";\r\nimport Confirm from \"../../../alerts/Confirm\";\r\n\r\nexport function CompanyLimits() {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const editMode = useSelector((state: AppState) => state.sellerAdminLimit.editMode);\r\n const tradingLimitsState = useSelector((state: AppState) => state.sellerAdminLimit.tradingLimits);\r\n const getLimitsRequestStatus = useSelector((state: AppState) => state.sellerAdminLimit.getLimitsRequestStatus);\r\n const updateLimitsRequestStatus = useSelector((state: AppState) => state.sellerAdminLimit.updateLimitsRequestStatus);\r\n\r\n const [tradingLimits, setTradingLimits] = useState(cloneDeep(tradingLimitsState));\r\n const [confirm, setConfirm] = useState(false);\r\n\r\n useEffect(() => {\r\n return () => {\r\n dispatch(sellerAdminLimitActions.setEditModeStatus(false));\r\n }\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (!isRequesting(getLimitsRequestStatus) && !isRequestSuccess(getLimitsRequestStatus)) {\r\n dispatch(sellerAdminLimitActions.getTradeLimitsRequest());\r\n }\r\n }, [dispatch, getLimitsRequestStatus]);\r\n\r\n useEffect(() => {\r\n if (!editMode) {\r\n setTradingLimits(cloneDeep(tradingLimitsState))\r\n }\r\n }, [editMode, tradingLimitsState]);\r\n\r\n const isChanged = useMemo(\r\n () => !isEqual(tradingLimitsState, tradingLimits),\r\n [tradingLimitsState, tradingLimits]\r\n );\r\n\r\n if (isRequestNone(getLimitsRequestStatus)) return null;\r\n\r\n const handleSetTradingLimits = (limitKey: TradingLimitType, currencyKey: string, value: number | null) => {\r\n const updatedLimits: SellerAdminTradingLimitValuesState = { ...tradingLimits };\r\n updatedLimits[limitKey as unknown as TradingLimitType][currencyKey as Currency] = value;\r\n setTradingLimits(updatedLimits)\r\n };\r\n\r\n const handleSave = () => {\r\n const hasZeroValues = entries(tradingLimits).some(([, { USD, EUR }]) => USD === 0 || EUR === 0);\r\n if (hasZeroValues) {\r\n setConfirm(true);\r\n } else {\r\n dispatch(sellerAdminLimitActions.updateTradeLimitsRequest(tradingLimits))\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
Sell/Buy limits set by the Seller-Admin of your company.
\r\n
\r\n {editMode ? (\r\n <>\r\n dispatch(sellerAdminLimitActions.setEditModeStatus(false))}\r\n >\r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n ) : (\r\n \r\n dispatch(sellerAdminLimitActions.setEditModeStatus(true))}\r\n >\r\n Edit\r\n \r\n \r\n )}\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n

\r\n Company Admins can set the following limits:
\r\n · Total daily limit on sales and purchases
\r\n · Maximum notional per CUSIP (separate for EUR and USD)\r\n

\r\n

\r\n If limit is blank, Trader users can transact without restrictions. If zero is applied, selling/buying in this currency is prohibited.\r\n

\r\n

\r\n Once the limits are set/updated, all Trader users in the company receive an email notification.\r\n

\r\n

\r\n Trader users can view trading limits in: Profile -> Account Settings -> Company.\r\n

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

Daily Sell Limit

\r\n handleSetTradingLimits(TradingLimitType.SellMaxBondSize, Currency.USD, value)}\r\n />\r\n handleSetTradingLimits(TradingLimitType.SellMaxBondSize, Currency.EUR, value)}\r\n />\r\n handleSetTradingLimits(TradingLimitType.SellMaxDailyTradesSize, Currency.USD, value)}\r\n />\r\n handleSetTradingLimits(TradingLimitType.SellMaxDailyTradesSize, Currency.EUR, value)}\r\n />\r\n
\r\n
\r\n

Daily Buy Limit

\r\n handleSetTradingLimits(TradingLimitType.BuyMaxBondSize, Currency.USD, value)}\r\n />\r\n handleSetTradingLimits(TradingLimitType.BuyMaxBondSize, Currency.EUR, value)}\r\n />\r\n handleSetTradingLimits(TradingLimitType.BuyMaxDailyTradesSize, Currency.USD, value)}\r\n />\r\n handleSetTradingLimits(TradingLimitType.BuyMaxDailyTradesSize, Currency.EUR, value)}\r\n />\r\n
\r\n
\r\n\r\n history.push(pathname)}\r\n shouldBlockNavigation={() => isChanged}\r\n />\r\n {\r\n confirm && (\r\n {\r\n dispatch(sellerAdminLimitActions.updateTradeLimitsRequest(tradingLimits));\r\n setConfirm(false);\r\n }}\r\n onCancel={() => setConfirm(false)}\r\n />\r\n )\r\n }\r\n
\r\n );\r\n}","import { Redirect, Route, Switch, useParams } from \"react-router\";\r\nimport { TabItem, TabList } from \"../../../bidding/common/tab-list\";\r\nimport { routes } from \"../../../../constants/routes\";\r\nimport { ShowFor } from \"../../../access\";\r\nimport { roles } from \"../../../../constants\";\r\nimport { SettlementAgentLimits } from \"./SettlementAgentLimits\";\r\nimport { SettlementAgentContacts } from \"./SettlementAgentContacts\";\r\nimport { user } from \"../../../../user\";\r\nimport { CompanyLimits } from \"./CompanyLimits\";\r\n\r\nexport const tradingLimitsTabs = {\r\n companyLimits: \"company-limits\",\r\n settlementAgentLimits: \"settlement-agent-limits\",\r\n settlementContacts: \"settlement-contacts\"\r\n}\r\n\r\nexport function TradingLimitsView() {\r\n const { tab } = useParams<{ tab: string }>();\r\n\r\n if(user.current()?.isClearingBank) return \r\n\r\n const isSeller = user.hasRoles(roles.SellerTrader, roles.SellerViewer, roles.SellerAdministrator);\r\n const isBd = user.hasRoles(roles.BrokerDealerTrader, roles.BrokerDealerViewer);\r\n const settllementTabsAccessRoles = [...roles.seller(), ...roles.bd()];\r\n\r\n return (\r\n
\r\n
\r\n

Trading Limits

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {\r\n isSeller && // seller default tab\r\n \r\n }\r\n {\r\n isBd && // bd default tab\r\n \r\n }\r\n {user.hasRoles(...settllementTabsAccessRoles) ?\r\n (<>\r\n \r\n \r\n ) : null}\r\n \r\n \r\n
\r\n
\r\n );\r\n}","import { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Redirect, Route, Switch, useHistory, matchPath } from \"react-router\";\r\nimport classNames from 'classnames'\r\nimport { profileTabs as tabs, roles, routes } from '../../constants';\r\nimport { profileActions as actions } from '../../actions';\r\nimport { Company, PasswordSettings, PersonalInfo, Traders } from './tabs';\r\nimport { Preloader } from '../common/Preloader';\r\nimport { TwoFactorAuthSettings } from './tabs/tfa/TwoFactorAuthSettings';\r\nimport { SubscriptionsView } from './tabs/subscriptions/SubscriptionsView';\r\nimport { SubscriptionsTab } from './tabs/subscriptions/SubscriptionsTab';\r\nimport { DealersView } from './tabs/manage/dealers/DealersView';\r\nimport { UsersView } from './tabs/manage/users/UsersView';\r\nimport { ShowFor } from '../access';\r\nimport IconSVG from \"../../styles/svg-icons\";\r\nimport { user } from '../../user/user';\r\nimport { EmailPreferences } from './tabs/email-preferences/EmailPreferences';\r\nimport { EmailPreferencesTab } from \"./tabs/email-preferences/EmailPreferencesContent\";\r\nimport { WithAmrRegistration } from '../routing/WithAmrRegistration';\r\nimport { isRequestSuccess } from '../../utils/request-state.utils';\r\nimport { TradingLimitsView, tradingLimitsTabs } from './tabs/trading-limits/TradingLimitsView';\r\nimport { OnHoverTooltip } from '../common';\r\n\r\nconst Profile = () => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const initStatus = useSelector(state => state.profile.initStatus);\r\n const profile = useSelector(state => state.profile.profile);\r\n\r\n const [collapsed, setCollapsed] = useState(false);\r\n\r\n useEffect(() => {\r\n dispatch(actions.init());\r\n return () => dispatch(actions.reset())\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n window.dispatchEvent(new Event('resize'));\r\n }, [collapsed]);\r\n\r\n const currentActiveTab = () => {\r\n const isProfileManageEditUser = matchPath(history.location.pathname, {\r\n path: routes.profileManageEditUser,\r\n exact: true,\r\n strict: false\r\n });\r\n const isProfileManageEditUserRequest = matchPath(history.location.pathname, {\r\n path: routes.profileManageEditUserRequest,\r\n exact: true,\r\n strict: false\r\n });\r\n if (isProfileManageEditUser || isProfileManageEditUserRequest) {\r\n return { tab: tabs.managePlatformUsers };\r\n }\r\n switch (history.location.pathname) {\r\n case routes.profilePersonalInfo:\r\n return { tab: tabs.personalInfo, parent: tabs.parent.account };\r\n case routes.profilePasswordSettings:\r\n return { tab: tabs.passwordSettings, parent: tabs.parent.account };\r\n case routes.tfaSettings:\r\n return { tab: tabs.twoFactorAuthenticationSettings, parent: tabs.parent.account };\r\n case routes.profileNotifications:\r\n return { tab: tabs.notifications, parent: tabs.parent.account };\r\n case routes.subscriptionsTab():\r\n case routes.subscriptionsTab(SubscriptionsTab.overview):\r\n case routes.subscriptionsTab(SubscriptionsTab.plans):\r\n case routes.subscriptionsTab(SubscriptionsTab.paymentMethod):\r\n case routes.subscriptionsTab(SubscriptionsTab.billingInfo):\r\n case routes.subscriptionsTab(SubscriptionsTab.billingHistory):\r\n return { tab: tabs.subscriptions, parent: tabs.parent.account };\r\n case routes.profileCompanyInformation:\r\n return { tab: tabs.company, parent: tabs.parent.company };\r\n case routes.profileTradingLimitsTab():\r\n case routes.profileTradingLimitsTab(tradingLimitsTabs.companyLimits):\r\n case routes.profileTradingLimitsTab(tradingLimitsTabs.settlementAgentLimits):\r\n case routes.profileTradingLimitsTab(tradingLimitsTabs.settlementContacts):\r\n return { tab: tabs.tradingLimits, parent: tabs.parent.company };\r\n case routes.profileTraders:\r\n return { tab: tabs.traders, parent: tabs.parent.company };\r\n case routes.profileManageDealers:\r\n return { tab: tabs.manageDealers };\r\n case routes.profileManagePlatformUsers:\r\n case routes.profileManageCreateNewUser:\r\n return { tab: tabs.managePlatformUsers };\r\n case routes.profileNotificationsTab(EmailPreferencesTab.Dashboard):\r\n return { tab: routes.profileNotificationsTab(EmailPreferencesTab.Dashboard) };\r\n case routes.profileNotificationsTab(EmailPreferencesTab.BwicMonitor):\r\n return { tab: routes.profileNotificationsTab(EmailPreferencesTab.BwicMonitor) };\r\n case routes.profileNotificationsTab(EmailPreferencesTab.MyBwics):\r\n return { tab: routes.profileNotificationsTab(EmailPreferencesTab.MyBwics) };\r\n case routes.profileNotificationsTab(EmailPreferencesTab.IssuanceMonitor):\r\n return { tab: routes.profileNotificationsTab(EmailPreferencesTab.IssuanceMonitor) };\r\n case routes.profileNotificationsTab(EmailPreferencesTab.DealerInventory):\r\n return { tab: routes.profileNotificationsTab(EmailPreferencesTab.DealerInventory) };\r\n case routes.profileNotificationsTab(EmailPreferencesTab.Portfolio):\r\n return { tab: routes.profileNotificationsTab(EmailPreferencesTab.Portfolio) };\r\n case routes.profileNotificationsTab(EmailPreferencesTab.CloManagers):\r\n return { tab: routes.profileNotificationsTab(EmailPreferencesTab.CloManagers) };\r\n case routes.profileNotificationsTab(EmailPreferencesTab.Banks):\r\n return { tab: routes.profileNotificationsTab(EmailPreferencesTab.Banks) };\r\n case routes.profileNotificationsTab(EmailPreferencesTab.ArrangerPipeline):\r\n return { tab: routes.profileNotificationsTab(EmailPreferencesTab.ArrangerPipeline) };\r\n default:\r\n return { tab: '', parent: '' };\r\n }\r\n };\r\n\r\n const isActiveTab = tab => currentActiveTab().tab === tab;\r\n\r\n const handleCollapse = () => {\r\n setCollapsed(!collapsed);\r\n };\r\n\r\n\r\n\r\n const renderTradingLimitsTab = () => {\r\n if (user.current()?.isClearingBank) return null;\r\n\r\n return (\r\n history.push(routes.profileTradingLimitsTab())}\r\n >\r\n Trading Limits\r\n \r\n );\r\n }\r\n\r\n\r\n const renderManageTabs = () =>\r\n
    \r\n history.push(routes.profileManagePlatformUsers)}\r\n >\r\n Platform Users\r\n \r\n {renderTradingLimitsTab()}\r\n \r\n history.push(routes.profileManageDealers)}\r\n >\r\n Counterparties\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 }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {user.hasRoles(...[...roles.bd(), ...roles.admin(), roles.DataEntry, roles.Viewer]) && (\r\n \r\n )}\r\n \r\n }\r\n />\r\n {user.hasRoles(roles.SellerAdministrator) && (\r\n \r\n )}\r\n {user.hasRoles(roles.SellerAdministrator, roles.SellerTrader, roles.SellerViewer) && (\r\n \r\n )}\r\n {user.hasRoles(\r\n roles.SellerAdministrator,\r\n roles.SellerTrader,\r\n roles.SellerViewer,\r\n roles.BrokerDealerTrader,\r\n roles.BrokerDealerViewer,\r\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 { Profile };\r\n","import { Link } from 'react-router-dom';\r\nimport { routes } from '../../../../../../constants/routes';\r\nimport { isRequestNone, isRequestSuccess, isRequesting } from '../../../../../../utils';\r\nimport { Preloader } from '../../../../../common/Preloader';\r\nimport { Popup, PopupBody, PopupFooter } from '../../../../../controls';\r\nimport { EmailPreferencesTab } from '../../EmailPreferencesContent';\r\nimport { SavePortfolioAlertsButton } from './SavePortfolioAlertsButton';\r\nimport { usePageConfig } from '../../../../../common/pageConfig/usePageConfig';\r\nimport { PageConfigType } from '../../../../../../types/page-config/PageConfigType';\r\nimport { BwicFilterType } from '../../../../../../types/filters/FilterState';\r\nimport { PortfolioUserConfigFilter } from '../../../../../../types/user-config/UserConfigFilter';\r\nimport { useEffect } from 'react';\r\nimport { useAppSelector } from '../../../../../../effects/useAppSelector';\r\nimport { useDispatch } from 'react-redux';\r\nimport { manageEmailPreferencesActions } from '../../../../../../actions/manage-email-preferences.actions';\r\nimport { AlertOption } from '../../../../../../types/email-preferences/EmailPreferences';\r\nimport { emailPreferencesUtils } from '../../../../../../utils/email-preferences.utils';\r\nimport { AlertEnabledState } from '../../../../../../types/enums/AlertEnabledState';\r\nimport { StatusMessageSection } from '../../../../../status-message/StatusMessageSection';\r\nimport { StatusMessageSectionType } from '../../../../../../types/state/NotificationState';\r\nimport { PortfolioAlertsTabs } from './PortfolioAlertsTabs';\r\n\r\ninterface Props {\r\n onClose: () => void;\r\n}\r\n\r\nexport const PortfolioAlertsPopup = ({ onClose }: Props) => {\r\n const dispatch = useDispatch();\r\n\r\n const { config, requestState, updateRequestState } = usePageConfig(PageConfigType.Portfolio, true, BwicFilterType.Portfolio);\r\n const requestStateGetPreferences = useAppSelector(s => s.manageEmailPreferences.requestStateGetPreferences);\r\n const savePreferencesRequestState = useAppSelector(s => s.manageEmailPreferences.requestStateSaveEditPreferences);\r\n const portfolioCleansingNoticeAlertState = useAppSelector(\r\n s => s.manageEmailPreferences.editPreferences.portfolioCleansingNoticeAlertState,\r\n );\r\n const portfolioIssuanceMonitorAlertState = useAppSelector(\r\n s => s.manageEmailPreferences.editPreferences.portfolioIssuanceMonitorAlertState,\r\n );\r\n const portfolioOutRiAlertState = useAppSelector(\r\n s => s.manageEmailPreferences.editPreferences.portfolioOutOfRiPeriodAlertState,\r\n );\r\n const portfolioOutNcAlertState = useAppSelector(\r\n s => s.manageEmailPreferences.editPreferences.portfolioOutOfNcPeriodAlertState,\r\n );\r\n const portfolioRollerDeadlineAlertState = useAppSelector(\r\n s => s.manageEmailPreferences.editPreferences.portfolioRollerDeadlineAlertState,\r\n );\r\n const allSecuritiesBwicAlertState = useAppSelector(\r\n s => s.manageEmailPreferences.editPreferences.portfolioBwicAlertState,\r\n );\r\n const allSecuritiesInventortAlertState = useAppSelector(\r\n s => s.manageEmailPreferences.editPreferences.portfolioDealersInventoryAlertState,\r\n );\r\n\r\n const cleansingNoticeAlertOption = emailPreferencesUtils.convertAlertEnabledStateToAlertOption(\r\n portfolioCleansingNoticeAlertState,\r\n AlertOption.Instant,\r\n );\r\n const allSecuritiesBwicAlertOption = emailPreferencesUtils.convertAlertEnabledStateToAlertOption(\r\n allSecuritiesBwicAlertState,\r\n AlertOption.Instant,\r\n );\r\n const allSecuritiesInventoryAlertOption = emailPreferencesUtils.convertAlertEnabledStateToAlertOption(\r\n allSecuritiesInventortAlertState,\r\n AlertOption.Instant,\r\n );\r\n const issuanceMonitorAlertOption = emailPreferencesUtils.convertAlertEnabledStateToAlertOption(\r\n portfolioIssuanceMonitorAlertState,\r\n AlertOption.Instant,\r\n );\r\n const outOfRiAlertOption = emailPreferencesUtils.convertAlertEnabledStateToAlertOption(\r\n portfolioOutRiAlertState,\r\n AlertOption.Periodic,\r\n );\r\n const outOfNcAlertOption = emailPreferencesUtils.convertAlertEnabledStateToAlertOption(\r\n portfolioOutNcAlertState,\r\n AlertOption.Periodic,\r\n );\r\n const rollerDeadlineAlertOption = emailPreferencesUtils.convertAlertEnabledStateToAlertOption(\r\n portfolioRollerDeadlineAlertState,\r\n AlertOption.Instant,\r\n );\r\n\r\n useEffect(() => {\r\n if(config?.filters) {\r\n dispatch(manageEmailPreferencesActions.initPortfolioFilterAlerts(config.filters))\r\n }\r\n }, [dispatch, config?.filters])\r\n\r\n useEffect(() => {\r\n if (isRequestSuccess(savePreferencesRequestState)) {\r\n onClose();\r\n } // eslint-disable-next-line\r\n }, [savePreferencesRequestState]);\r\n\r\n useEffect(\r\n () => () => {\r\n dispatch(manageEmailPreferencesActions.reset());\r\n },\r\n [dispatch],\r\n );\r\n\r\n useEffect(() => {\r\n if (isRequestNone(requestStateGetPreferences)) {\r\n dispatch(manageEmailPreferencesActions.getInitialDataRequest());\r\n }\r\n }, [dispatch, requestStateGetPreferences]);\r\n\r\n const handleChangeCnAlert = (value: AlertOption) => {\r\n dispatch(\r\n manageEmailPreferencesActions.setPortfolioCleansingNoticeAlerts(\r\n emailPreferencesUtils.convertAlertOptionToAlertEnabledState(value),\r\n ),\r\n );\r\n };\r\n\r\n const handleChangeImAlert = (value: AlertOption) => {\r\n dispatch(\r\n manageEmailPreferencesActions.setPortfolioIssuanceMonitorAlerts(\r\n emailPreferencesUtils.convertAlertOptionToAlertEnabledState(value),\r\n ),\r\n );\r\n };\r\n\r\n const handleChangeOutOfRiAlert = (value: AlertOption) => {\r\n dispatch(\r\n manageEmailPreferencesActions.setPortfolioRiAlerts(\r\n emailPreferencesUtils.convertAlertOptionToAlertEnabledState(value),\r\n ),\r\n );\r\n };\r\n\r\n const handleChangeOutOfNcAlert = (value: AlertOption) => {\r\n dispatch(\r\n manageEmailPreferencesActions.setPortfolioNcAlerts(\r\n emailPreferencesUtils.convertAlertOptionToAlertEnabledState(value),\r\n ),\r\n );\r\n };\r\n\r\n const handleChangeRollerDeadlineAlert = (value: AlertOption) => {\r\n dispatch(\r\n manageEmailPreferencesActions.setPortfolioRollerDeadlineAlerts(\r\n emailPreferencesUtils.convertAlertOptionToAlertEnabledState(value),\r\n ),\r\n );\r\n };\r\n\r\n const handleBwicAlertChange = (value: AlertOption) => {\r\n dispatch(\r\n manageEmailPreferencesActions.setPortfolioBwicAlerts(\r\n emailPreferencesUtils.convertAlertOptionToAlertEnabledState(value),\r\n ),\r\n );\r\n };\r\n\r\n const handleInventoryAlertChange = (value: AlertOption) => {\r\n dispatch(\r\n manageEmailPreferencesActions.setPortfolioInventoryAlerts(\r\n emailPreferencesUtils.convertAlertOptionToAlertEnabledState(value),\r\n ),\r\n );\r\n };\r\n\r\n const withPartiallyEnabledAlerts = [\r\n portfolioCleansingNoticeAlertState,\r\n portfolioIssuanceMonitorAlertState,\r\n portfolioOutRiAlertState,\r\n portfolioOutNcAlertState,\r\n portfolioRollerDeadlineAlertState,\r\n allSecuritiesBwicAlertState,\r\n allSecuritiesInventortAlertState,\r\n ].some((alertState) => alertState === AlertEnabledState.PartiallyEnabled);\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n {withPartiallyEnabledAlerts && (\r\n \r\n Some alerts are disabled on partial check, see Portfolio page for details and management.\r\n \r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Manage Alerts\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n"],"names":["useInventoryAlertsChangedState","_config$filters","config","usePageConfig","PageConfigType","DealerInventory","BwicFilterType","Inventory","savedFiltersEditState","useAppSelector","s","manageEmailPreferences","editSavedFiltersPreferences","initialPreferences","editPreferences","isFilterAlertsChanged","filters","some","f","referenceName","alertOption","dealerInventoryAlertStateChanged","dealerInventoryAlertState","SinglePortfolioAlertsPopup","_ref","portfolio","onClose","dispatch","useAppDispatch","_useState","useState","cleansingNoticeAlert","_useState2","_slicedToArray","setCleansingNoticeAlert","_useState3","bwicAlert","_useState4","setBwicAlert","_useState5","dealersInventoryAlert","_useState6","inventoryAlert","setInventoryAlert","_useState7","issuanceMonitorAlert","_useState8","setIssuanceMonitorAlert","_useState9","outOfRiPeriodAlert","_useState10","outOfRiAlert","setOutOfRiAlert","_useState11","outOfNcPeriodAlert","_useState12","outOfNcAlert","setOutOfNcAlert","_useState13","rollerDeadlineAlert","_useState14","setRollerDeadlineAlert","hasChanges","handleClose","e","stopPropagation","_jsxs","Popup","modalClass","renderInBody","title","_Fragment","children","_jsx","className","name","PopupBody","PortfolioAlertsTabs","cnAlert","AlertOption","Instant","Never","onChangeCnAlert","o","onChangeBwicAlert","onChangeInventoryAlert","imAlert","onChangeImAlert","Periodic","onChangeOutOfRiAlert","onChangeOutOfNcAlert","onChangeRollerDeadlineAlert","PopupFooter","Link","to","routes","profileNotificationsTab","EmailPreferencesTab","Portfolio","onClick","portfolioActions","updatePortfoliosAlertStatus","portfolioId","id","undefined","disabled","BwicMonitorAlertsSaveButton","currentFilters","withLeavingGuard","onSave","useDispatch","history","useHistory","savePreferencesRequestState","requestStateSaveEditPreferences","emailPreferencesRequestState","requestStateGetPreferences","bwicByRatingAlertState","isEqual","isSaveButtonDisabled","useMemo","isBwicByRatingAlertStateAtleastOneSelected","ratingPreference","_ref2","isUSD","isEUR","_ref3","minSize","maxSize","constants","emailPreferencesSizeRange","min","max","isDisabled","isRequesting","cn","updatedFilters","length","map","_savedFiltersEditStat","_objectSpread","RouteLeavingGuard","navigate","pathname","manageEmailPreferencesActions","rollbackBWICPipelines","push","shouldBlockNavigation","SaveButton","IssuanceMonitorAlertsSection","imAlertState","imTransactionAlertState","imStatisticAlertState","imFiltersAlertState","ImEmailAlerts","singleUpdate","newTransactionUpdate","weeklyStatistic","filterAlerts","onChangeSingleUpdate","option","setIssuanceMonitorSingleAlert","onChangeNewTransactionUpdate","setIssuanceMonitorNewTransactionAlert","onChangeWeeklyStatistic","setIssuanceMonitorStatisticsAlert","onChangeFilterAlerts","setIssuanceMonitorFiltersAlert","EmailPreferencesTabItem","tabPath","tab","useParams","isSellerCollateralManager","user","hasRoles","roles","CollateralManager","withImApAccess","hasFeatures","SubscriptionFeature","IssuanceMonitorFullAccess","withManagerProfileAccess","ManagerProfileManagerRelatedAlerts","withBwicAccess","BwicMonitorAlerts","withDiAccess","InventoryAlerts","withDealerProfileAccess","DealerProfileEmailAlerts","portfolioImAlertsAccess","hasAllFeatures","apply","PortfolioAlerts","userCompany","issuanceMonitor","amrPipelineCommon","banks","editIssuanceMonitorPreferences","editCloManagersPreferences","editBanksPreferences","editArrangerPipelinePreferences","portfolioSavedFilterAlerts","bwicMonitorPageConfig","BwicMonitorAll","portfolioPageConfig","dealerInventoryPageConfig","withAnalyticsAccess","hasBankAnalyticsAlertsAccess","withAnalyticsChangeAccess","hasBankAnalyticsAlertsChangeAccess","getDefaultGlobalAlertStatus","_step","alerts","arguments","status","_iterator","_createForOfIteratorHelper","alertOptions","_loop","value","every","n","done","err","counters","Dashboard","CanUseDashboardAlerts","Number","dailyDashboardEmail","BwicMonitor","isSavedFiltersAlertOptionActive","original","changed","canUseBwicMonitorAlerts","getBwicMonitorCounters","MyBwics","emailPreferencesUtils","convertAlertEnabledStateToAlertOption","newBwicAlertState","bwicReminderAlertState","IssuanceMonitor","alertsCount","Boolean","imAlertConfig","newTransactionAlertConfig","weeklyStatsAlertConfig","emailOption","StatisticsAlertOption","filtersConfig","ImFilter","i","ArrangerPipeline","apAlertConfig","getActualFilter","filter","bwicAlertOption","dealerInventoryAlertOption","isSavedFiltersBwicAlertOptionActive","isSavedFiltersInventoryAlertOptionActive","portfolioBwicAlertState","portfolioDealersInventoryAlertState","portfolioCleansingNoticeAlertState","portfolioIssuanceMonitorAlertState","portfolioOutOfRiPeriodAlertState","portfolioOutOfNcPeriodAlertState","portfolioRollerDeadlineAlertState","getPortfolioCounters","canUseInventoryAlerts","getInventoryCounters","CloManagers","cloManagerAnalyticsValue","cloManagerAnalyticsAlert","find","a","companyReferenceName","cloManagerAnalyticSectionCounter","cloManagerBwicSectionCounter","cloManagerBwicAlert","cloManagerDiSectionCounter","cloManagerDealerInventoryAlert","cloManagerImSectionCounter","cloManagerIssuanceMonitorAlert","cloManagerApSectionCounter","cloManagerArrangerPipelineAlert","concat","_toConsumableArray","getCloManagerCounters","Banks","bankDiSectionCounter","bankDealerInventoryAlert","bankImSectionCounter","bankIssuanceMonitorAlert","bankApSectionCounter","bankArrangerPipelineAlert","bankCounter","_editBanksPreferences","_editBanksPreferences2","bankAnalyticsCounter","bankAnalyticsAlert","unshift","getBanksCounters","getCounters","count","arrayUtils","sum","item","TabItem","active","path","MultiTableHeaderRadioButton","type","allOptions","onChange","feature","features","selected","x","partially","handleClick","ActionBlocker","requireAllFeatures","blocked","RadioButton","label","checked","cloManagerAlertsColumns","columnKey","renderColumnHeaderContent","EmailInfoTooltip","overlayText","alertDescriptions","bwic","renderColumnContent","_ref13","cloManagerBwicAlerts","onHeaderClick","UserConfigType","alertValue","_ref14","onColumnClick","_alertValue$cloManage7","_ref15","_ref16","_alertValue$cloManage8","dealerInventory","_ref17","_ref18","_alertValue$cloManage9","cloManagerDiAlerts","_ref19","_ref20","_alertValue$cloManage10","alert","OnHoverTooltip","overlay","legalName","sortingField","sortingType","stickLeft","cloManagerImAlerts","cloImApRequiredFeatures","_alertValue$cloManage","Daily","_ref4","_alertValue$cloManage2","_ref5","_ref6","_alertValue$cloManage3","arrangersPipeline","_ref7","cloManagerApAlerts","_ref8","_alertValue$cloManage4","_ref9","alertOptionTooltipText","_ref10","_alertValue$cloManage5","_ref11","_ref12","_alertValue$cloManage6","c","ColumnBuilder","CloManagerImAlertsSection","_getManagers","managers","mangers","_s$manageEmailPrefere","_s$manageEmailPrefere2","_s$manageEmailPrefere3","_s$manageEmailPrefere4","alertsList","searchTerm","setSearchTerm","getManagers","toLocaleLowerCase","includes","setAlertsOptions","mapCallback","setCloManagersIssuanceMonitorAlert","setCloManagersArrangerPipelineAlert","setCloManagersBwicAlert","setCloManagersDealerInventoryAlert","SearchInput","onClear","placeholder","Table","columns","createHeaderCustomArgs","createSecurityCustomArgs","dataItems","sticky","EmptyPlaceholder","UnsubscribeInventoryAlertsButton","filterAlertsStatuses","hasDealerInventoryAlerts","hasActiveFilterAlerts","UnsubscribeAllButton","newFilterAlerts","forEach","savedFilterAlertOptionChange","setDealerInventoryAlertState","banksAlertsColumns","_alertValue$bankDeale","_alertValue$bankDeale2","bankImAlerts","bankImApRequiredFeatures","_alertValue$bankImAle","_alertValue$bankImAle2","_alertValue$bankImAle3","bankApAlerts","_alertValue$bankApAle","_alertValue$bankApAle2","_alertValue$bankApAle3","BanksAlertsSection","_getBanks","getBanks","setBanksDealerInventoryAlert","setBanksIssuanceMonitorAlert","setBanksArrangerPipelineAlert","Tabs","component","isRequestingSavePreferences","saveEmailPreferencesRequest","EmailPreferencesRadioGroup","alertOptionInfo","_defineProperty","groupNameIndentifier","description","requiredFeature","setCheckedDailyDashboardEmail","rollbackDashboardEmails","bwicMonitor","visibleFilters","_usePageConfig","requestState","saveAlerts","updateRequestState","isRequestNone","Preloader","inProgress","BwicMonitorAlertsTable","SavedFiltersAlerts","filterType","pageConfigType","textLabels","savedFiltersBwicMonitor","isUnsubscribeAllVisible","unsubscribeAllBWICsNotifications","convertAlertOptionToAlertEnabledState","setNewBiwicAlerts","setBiwicReminderAlerts","rollbackBWICNotifications","requestStateSaveIssuanceMonitorPreferences","initialIssuanceMonitorPreferences","ShowFor","unsubscribeAllIssuanceMonitor","saveRequest","rollbackIssuanceMonitor","arrangerPipelineState","initialArrangerPipelinePreferences","initialApAlertOption","apAlertOption","saveArrangerPipelineRequest","ApEmailAlerts","upcomingAlert","onChangeUpcomingAlert","setArrangerPipelineAlert","rollbackArrangerPipeline","bdInventory","_useInventoryAlertsCh","DealerInventoryAlertsSaveButton","excludeColumns","FilterColumnsKeys","savedFiltersInventory","alertOptionToolitps","savedFiltersInventoryInstantTooltip","rollbackInventory","PortfolioTab","_cloManagersAnalyticA","cloManagersImAlerts","cloManagersApAlerts","cloManagersBwicAlerts","cloManagersDiAlerts","cloManagersAnalyticAlert","initialCloManagersAlertsPreferences","initialCloManagersPreferences","unsubscribeAllCloManagers","analytics","setCloManagersAnalyticsAlert","rollbackCloManagers","_bankAnalyticsAlert$a","initialBanksPreferences","unsubscribeAllBanks","saveBanksRequest","setBanksAnalyticsAlert","rollbackBanks","EmailPreferencesContent","hasPortfolio","availableTabs","issuanceMonitorAccess","hasSingleRole","SellerAdministrator","cloManagersAccess","seller","Administrator","Viewer","banksAccess","selectedTabIndex","findIndex","t","withIssuanceMonitorAccess","useEffect","reset","getInitialDataRequest","replace","TabList","AdaptiveHorizontalSlider","activeItemIndex","Switch","Route","exact","_ref$excludeColumns","_ref$collapsible","collapsible","_ref$isStatusVisibleI","isStatusVisibleInTitle","collapsed","setCollapsed","changedAlertOptions","savedFilterAlertOptionsReset","IconSVG","width","height","FilterUpdatesTable","filtersStatuses","_changedAlertOptions$","sort","b","compareStrings","setFiltersStatuses","updated","updatedState","apiUtils","normalize","alertOptionTooltips","RequiredFeature","inline","text","SubscribeLink","AgencyRatingList","ratings","values","snP","fitch","fullScreen","textOnly","join","RatingMappingTable","ratingMappings","format","r","toLowerCase","m","aggregated","moodys","usePortfolioAlertsChangedState","filtersAlertState","portfolioInvneotryAlertState","issuanceMonitorAlertState","outOfRiAlertState","outOfNcAlertState","rollerDeadlineAlertState","initialPortfolioBwicAlertState","initialPortfolioCleansingNoticeAlertState","initialPortfolioInvnetoryAlertState","initialIssuanceMonitorAlertState","initialOutOfRiAlertState","initialOutOfNcAlertState","initialRollerDeadlineAlertState","keys","_filtersAlertState$f$","_filtersAlertState$f$2","SubscriptionsTab","_ref$disabled","requiredFeatures","_React$useState","React","_React$useState2","renderInfoBlock","info","InfoTooltip","renderAlert","selectedValue","tooltipContent","BlockedFeatureTooltipText","BwicMonitorAlertsPopup","requestStateSaveBwicByRating","isLoading","isRequestSuccess","saveBwicByRatingPreferencesRequest","BwicMonitorAlertsPreferences","showModal","setShowModal","isBwicByRatingAlertEnabled","_s$entities$emailPref","entities","emailPreferences","preferences","isAnyFilterAlertEnabled","isAnyAlertEnabled","useEmailPreferences","PortfolioFiltersAlertsHeaderRadioButton","filterAlertState","filterValues","PortfolioAlertsTypes","portfolioFilterAlertsColumns","row","filterNameText","savedFiltersPortfolioBwicAlertDescription","filterReferenceName","savedFiltersPortfolioBwicInstantAlert","savedFiltersPortfolioInventoryAlertDescription","PortfolioFiltersAlertsTable","savedFilters","isBd","bd","initPortfolioFilterAlerts","gitFilterRowTitle","filterCount","filterWord","portfolioSavedFilterAlertChange","portfolioSavedFilterGlobalAlertChange","_ListBuilder","savedFilterRows","_filtersAlertState$f$3","_filtersAlertState$f$4","rowType","PortfolioAlertsRowType","SavedFilter","ListBuilder","add","result","getTableRows","shouldRenderCollapsibleRowCallback","renderCollapsibleItem","savedFilter","sf","SavedFilterDetails","userFilter","createSecurityCustomClassName","PortfolioSavedFilters","UnsubscribePortfolioAlertsButton","bwicAlertState","cleansingNoticeAlertState","invneotryAlertState","unsubscribeAllPortfolio","alertState","AlertEnabledState","Enabled","PartiallyEnabled","portfolioImRequiredFeatures","portfolioRiAlertState","portfolioNcAlertState","allSecuritiesBwicAlertState","allSecuritiesInventortAlertState","cleansingNoticeAlertOption","issuanceMonitorAlertOption","riAlertOption","ncAlertOption","rollerDeadlineAlertOption","allSecuritiesBwicAlertOption","allSecuritiesInventoryAlertOption","withPartialCheck","StatusMessageSection","StatusMessageSectionType","Info","SavePortfolioAlertsButton","instantAlertOptions","setPortfolioBwicAlerts","savedFiltersPortfolioCleansingNoticeInstantAlert","savedFiltersPortfolioCleansingNoticeAlertDescription","setPortfolioCleansingNoticeAlerts","saveFiltersPortfolioInventoryInstantsAlert","setPortfolioInventoryAlerts","savedFiltersPortfolioIssuanceMonitorInstantAlert","savedFiltersPortfolioIssuanceMonitorAlertDescription","setPortfolioIssuanceMonitorAlerts","periodicAlertOption","savedFiltersPortfolioOutOfRiPeriodicAlert","savedFiltersPortfolioOutOfRiAlertDescription","setPortfolioRiAlerts","savedFiltersPortfolioOutOfNcPeriodicAlert","savedFiltersPortfolioOutOfNcAlertDescription","setPortfolioNcAlerts","savedFiltersPortfolioRollerDeadlineInstantAlert","savedFiltersPortfolioRollerDeadlineAlertDescription","setPortfolioRollerDeadlineAlerts","rollbackPortfolio","resetPortfolioFilterAlerts","convertToCount","renderCounter","optionsCount","selectedOptions","reduce","acc","cnState","bwicState","inventoryState","imState","outOfRiState","outOfNcState","rollerDeadlineState","portfolioFilters","isFilterTableDisabled","portfolioAlertsAccess","isPrimary","setIsPrimary","savedFiltersBwicAlertOption","p","_filtersAlertState$p$","savedFiltersInventoryAlertOption","_filtersAlertState$p$2","primaryAlerts","secondaryAlerts","TabContent","DealerInventoryAlertsPopup","requestStateSave","inventory","DealerInventoryAlertsPreferences","isAnyGlobalAlertEnabled","EmailPreferencesTableRating","rating","currency","isCurrencyActive","Checkbox","setRatingCheckedState","target","EmailPreferencesTableRatingTitle","isRequestStateSaving","isSelected","useCallback","isPartially","setRatingInCurrencyCheckedState","EmailPreferencesTableSize","hover","setHover","inputRef","useRef","editingRating","getDefaultRatingPreferences","isActive","handleChange","setRatingSize","setTimeout","_inputRef$current","current","inputElement","focus","getErrorMessage","errorMessages","invalidRangeSize","maxSizeLessThenMin","MaskedInput","ref","mask","createNumberMask","prefix","includeThousandsSeparator","onFocus","onBlur","FormError","message","EmailPreferencesByRating","columnDefinitions","Currency","USD","headerClassName","bodyClassName","EUR","Ratings","bwicByRatingAlertStatePartiallySelected","isBwicByRatingAlertStateAtLeastOneSelected","setBwicByRatingPreferences","ProfileMenuSection","icon","ProfileMenuItems","_user$current","_agreementState$agree","onItemClick","agreementState","useAgreement","isSellerAdmin","profile","profilePasswordSettings","getAllRolesExclude","ArrangersClient","profileCompanyInformation","admin","DataEntry","profileTraders","profileManagePlatformUsers","isClearingBank","agreement","agreementStatus","SettlementAgreementStatus","confirmed","profileTradingLimitsTab","subscriptionChange","subscriptionsTab","role","profileManageDealers","ProfileMenu","showUserDropdown","setShowUserDropdown","currentUser","firstName","lastName","email","profileClassNames","renderUserImage","UserProfilePhotoViewer","userId","alt","nameUtils","getInitials","ClickOutside","placement","profileActions","setVisibleUploadImagePopup","logout","RequestUserStatusDetails","userStatus","userRequestStatus","blockReason","UserStatusDetails","hasBlockedReason","UserRequestStatus","Blocked","_userRequestStatuses$","_userRequestStatuses$3","_userRequestStatuses$2","statusClasses","classNames","userRequestStatuses","getByStatusCode","Popover","actionButton","useSubscriptions","RequestState","none","setRequestState","subscriptions","setSubscriptions","_doRequest","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_subscriptions","wrap","_context","prev","next","request","billingService","getSubscriptions","sent","success","t0","failure","stop","ChangeBloombergEmail","emailDomain","bloombergEmail","requestStatusSaveEmail","useSelector","state","requestStatusSaveBloombergEmail","error","setError","emailName","setEmailName","isDisabledSaveButton","split","Form","htmlFor","autoFocus","maxLength","required","_value$trim$split","trim","_value$trim$split2","mail","domain","newEmailName","validateEmail","invalidEmail","saveBloombergEmail","toggleEditBloombergEmail","PersonalInfo","_Component","_this","_classCallCheck","_len","args","Array","_key","_callSuper","componentWillUnmount","props","actions","personalInfoReset","renderBloombergEmail","_this$props","changeBloombergEmailVisible","href","renderChangePhone","_this$props2","changePhoneVisible","ChangePhoneNumber","phone","onCancel","toggleEditPhoneMode","render","isUserProfilePhotoUploading","linkedIn","overlayClassName","_inherits","_createClass","Component","connectedPersonalInfo","connect","userProfilePhoto","userPhotos","addNewTraderValidation","yup","shape","matches","source","jobTitle","nonWhitespace","phoneMaxLength","ModalAddEditDepartment","visible","_ref$contact","contact","isEditModal","initialValues","departmentName","departmentValue","isAdded","handleSubmit","submitModel","editCompanyContact","handleOnClose","_x","Formik","enableReinitialize","validateOnBlur","validationSchema","onSubmit","noValidate","InputField","markRequired","RenderContact","isAuthorisedUserPrimaryContact","handleEdit","emptyPlaceholder","renderAddEditBtn","Company","modalVisible","setModalVisible","contactForEdit","setContactForEdit","setIsEditModal","company","contacts","departmentContacts","primaryContactId","isEdit","companyName","website","address","city","zipCode","country","PasswordSettings","isValid","oldPassword","newPassword","confirmPassword","isLengthValid","isLetterValid","isSpecCharsValid","isNumericValid","passwordSettingsReset","changePasswordVisible","ChangePassword","changePasswordFormVisible","connectedPasswordSettings","MenageViewHeader","ManageViewContent","Relative","ModalAddEditTrader","isPostingForm","setPostingForm","traderId","newTraderId","trader","accountService","editCompanyTrader","editNewCompanyTraderInStore","addCompanyTrader","enabled","addNewCompanyTraderToStore","errorActions","unexpectedError","validateOnChange","Traders","_useSelector","tradeModalVisible","setTradeModalVisible","isConfirmationVisible","setConfirmationVisible","users","_state$profile$compan","traders","primaryContact","convertToUserListItems","_userStatuses$getBySt","_userStatuses$getBySt2","fullName","statusText","userStatuses","hideConfirmationPopup","renderUserManagementOptions","isTraderActive","UserStatus","small","ContextMenu","ContextMenuItem","disableTrader","enableCompanyTrader","enableTrader","entity","wrapperClass","SORTING_TYPE","string","userRoles","roleList","localeCompare","getTitle","rolesShortTitles","phoneNumber","options","getColumns","defaultSortBy","defaultSortByDirection","SORT","ASC","Confirm","onConfirm","disableCompanyTrader","TwoFactorAuthSettingsSection","onActiveChange","Toggle","PhoneEdit","phoneConfirmed","validate","isValidPhoneNumber","empty","editingPhone","setEditingPhone","_React$useState3","_React$useState4","errorMessage","setErrorMessage","parsedPhoneNumber","parsePhoneNumber","_React$useState5","_React$useState6","setCountry","canSave","handleGetCountryCallingCode","code","getCountryCallingCode","renderCountrySelectItem","renderSelectedItem","handlePhoneCountryChange","preselected","groupKey","en","countries","getCountries","DropDownList","items","renderSelectedItemCallback","renderItemContentCallback","renderCountrySelect","Input","international","SubmitVerificationCodePopup","initialDate","maskedPhone","setCode","canSubmit","setCanSubmit","codeExpired","setCodeExpired","isIdentityPhoneSaving","isPhoneVerificationCodeSending","isPhoneVerificationCodeInvalid","smsActivationCodeRequestedDate","handleCodeReSend","tfaSettingsActions","requestPhoneVerificationCode","IdentityCodeSubmitContent","selectedMethod","VerifyIdentityMethodType","sms","phoneMask","emailMask","isCodeExpired","isCodeInvalid","resendCodeVisible","onResend","onCodeChange","invalidPhoneVerificationCode","onExpiredChange","expired","TwoFactorAuthSettings","isSmsConfirmationDeactivating","isIdentityPhoneEdit","identityPhoneConfirmed","smsActive","setSmsActive","deactiveteConfirmationVisible","setDeactivePhoneConfirmationVisible","tfaEnabled","maskedEmail","formatUtils","maskEmail","maskPhone","identityPhone","handlePhoneEditCancel","storeSmsActivationRequestedDate","identityPhoneEdit","process","deactivateSmsConfirmation","saveIdentityPhone","submitPhoneVerificationCode","ContentSection","Overview","isTrial","calculateSubscriptionTimeline","moment","trialPeriodEnd","getSubscriptionTitle","subscription","subscriptionExpiration","plans","getProductBodyText","product","AppProduct","DealDocuments","getAppProductTitle","LimitedFeaturesPopup","featuresByProduct","featureTitles","subscriptionFeatureTitle","renderTitle","RequestSubscriptionButton","isCurrent","_useSubscriptionReque","requestCallback","changeSubscription","notificationActions","infoModal","useSubscriptionRequest","isBasicPlan","isSubscriptionObsolete","dateFormat","SubscriptionEndDate","productRoleRestrictions","KWatch","KTalk","Trading","ManagerProfile","DealerProfile","Plans","_useSubscriptions","limitedState","setLimitedState","currentSubscription","products","pp","_productRoleRestricti2","createRowCustomKey","SubscriptionsView","_ref$activeTab","activeTab","overview","useBackspaceRedirectBlocker","initStatus","Redirect","notFound","MenageViewHeaderButtons","ExpandableInfoPanel","setVisible","DealersView","dealersListState","useBrokerDealers","excludedDealerList","sellerAdminDealers","excludeDealers","requestStateExcludedDealerList","requestStatusGetExcludeDealers","requestStateSaveExcludeDealers","excludeNewCompanyState","excludeNewCompany","editMode","sellerAdminDealerActions","getExcludedDealersRequest","setEditModeStatus","createListModel","dealers","includeDealers","setIncludeDealers","setExcludeDealers","setExcludeNewCompany","handleIsAnyChanges","size","ids","saveExcludedDealersRequest","RadioButtonGroup","ExcludeList","excludeTitle","includeTitle","includeColumnTitle","excludeColumnTitle","includeList","excludeList","onInclude","excluded","dealer","included","onExclude","onIncludeAll","onExcludeAll","initialFormState","location","of","EditUser","requestParams","numericUtils","numberOrDefault","userRequestId","formUpdatedFromState","sellerAdminUsers","requestStateGetUserList","requestStatusUpdateRequestUser","requestStatusUpdateUser","userRequest","requestUsers","selectedUser","initialFormData","cloneDeep","formState","setFormState","formData","sellerAdminUsersActions","getUserListRequest","handleRoleChange","setFieldValue","indexOf","splice","renderUserRole","selectedRoles","isSellerTraderChecked","SellerTrader","isSellerViewerChecked","SellerViewer","isSellerAdministratorChecked","isCollateralManagerChecked","setUserRole","getShortTitle","saveUser","saveUserRequest","concurrencyStamp","_errors$roles","isTouched","errors","touched","goBack","pattern","loading","FormFieldLabel","isArray","UserContextMenu","_currentUser$current2","onBlockingUser","onUnblockingUser","userRequestOperation","userRequestOperationState","userOperation","userOperationState","menuItems","action","profileManageEditUserRequestUrl","u","_currentUser$current","profileManageEditUserUrl","getUserMenuItems","bottomMargin","convert","isRequest","registrationBy","registrationDate","UserList","hideBlockedUsers","setHideBlockedUsers","blockingUser","setBlockingUser","unblockingUser","setUnblockingUser","companyAccount","changeBwicAnnouncementNotificationsRequestState","isRequestingExportUser","changeBwicAnnouncementNotifications","bwicAnnouncementNotification","_bwicAnnouncementNoti","_bwicAnnouncementNoti2","bwicCreateNotifyAdmins","bwicCreateNotifyViewers","userList","exportUsersRequest","profileManageCreateNewUser","sortRolesByPriority","dateFormat4","date","registeredBy","RejectReasonPopup","onReject","disableUserRequest","disableUser","comfirmButtonText","enableUserRequest","enableUser","UsersView","profileManageEditUserRequest","profileManageEditUser","EmailPreferences","SettlementAgentTabContent","_useAgreement","SettlementAgentLimits","SettlementAgentDailyTraidingLimit","dailyTradingLimit","commissions","SettlementAgentContacts","SettlementContactsContent","_useCompanyUserList","useCompanyUserList","settlementAgent","requestStateGetUsers","SettlementAgentContactsList","CompanyLimitInput","uuidv4","suffix","allowDecimal","newValue","match","regOnlyNumbers","sellerAdminTradingLimits","toLocaleString","CompanyLimits","sellerAdminLimit","tradingLimitsState","tradingLimits","getLimitsRequestStatus","updateLimitsRequestStatus","setTradingLimits","confirm","setConfirm","sellerAdminLimitActions","getTradeLimitsRequest","isChanged","handleSetTradingLimits","limitKey","currencyKey","updatedLimits","entries","_ref2$","updateTradeLimitsRequest","TradingLimitType","SellMaxBondSize","SellMaxDailyTradesSize","BuyMaxBondSize","BuyMaxDailyTradesSize","tradingLimitsTabs","TradingLimitsView","isSeller","BrokerDealerTrader","BrokerDealerViewer","settllementTabsAccessRoles","Profile","init","window","dispatchEvent","Event","isActiveTab","isProfileManageEditUser","matchPath","strict","isProfileManageEditUserRequest","tabs","managePlatformUsers","profilePersonalInfo","personalInfo","parent","account","passwordSettings","tfaSettings","twoFactorAuthenticationSettings","profileNotifications","notifications","paymentMethod","billingInfo","billingHistory","manageDealers","currentActiveTab","renderTradingLimitsTab","renderManageTabs","allowAnonymous","allowRoles","WithAmrRegistration","params","profileTradingLimits","PortfolioAlertsPopup","portfolioOutRiAlertState","portfolioOutNcAlertState","outOfRiAlertOption","outOfNcAlertOption","withPartiallyEnabledAlerts"],"sourceRoot":""}