{"version":3,"file":"static/js/main-057c3a79.75436777.js","mappings":"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","sources":["components/notifications/NotificationBody.tsx","components/notifications/ConnectionStatusToast.jsx","components/notifications/ModalNotification.tsx","components/notifications/Notifications.tsx","components/notifications/notification-list/Notification.tsx","components/notifications/notification-list/NotificationList.tsx","components/notifications/notification-list/NotificationPopover.tsx","components/onBoarding/OnBoardingTooltip.jsx","components/onBoarding/SupportPopup.jsx","components/portfolio-agreement-disclaimer/CreatePortfolioButton.tsx","components/portfolio-agreement-disclaimer/PortfolioAgreementDisclaimer.tsx","components/portfolio-agreement-disclaimer/PortfolioAgreementDisclaimerActionBlocker.tsx","components/portfolio-agreement-disclaimer/PortfolioAgreementDisclaimerContentBlocker.tsx","components/portfolio-agreement-disclaimer/PortfolioAgreementDisclaimerContext.ts","components/portfolio-agreement-disclaimer/PortfolioAgreementDisclaimerPopup.tsx","components/portfolio-agreement-disclaimer/PortfolioAgreementDisclaimerText.tsx","components/portfolio/PortfolioNameDialog.tsx","components/portfolio/EditPortfolio.jsx","components/portfolio/portfolio-alert/PortfolioFilterAlertPopup.tsx","components/portfolio/filter/PortfolioFilters.tsx","components/portfolio/PortfolioOptions.tsx","components/portfolio/portfolio-table/PortfolioLastTraded.tsx","components/portfolio/portfolio-table/PortfolioSecurityTicker.tsx","components/portfolio/portfolio-table/PortfolioSelectAllCheckbox.tsx","components/portfolio/portfolio-alert/SinglePortfolioAlertPreferences.tsx","components/portfolio/portfolio-table/PortfolioTransactionDetailsLink.tsx","components/portfolio/portfolio-table/PortfolioArrangerPipelineLink.tsx","components/portfolio/portfolio-table/PortfolioRollerDealine.tsx","components/portfolio/portfolio-table/PortfolioTable.tsx","components/portfolio/PortfolioControlPanel.tsx","components/portfolio/DealDocumentsAutoOpener.tsx","components/portfolio/Portfolio.tsx","components/portfolio/PortfolioDocuments.jsx","components/portfolio/add-to-portfolio/AddToPortfolioPopup.tsx","components/portfolio/filter/portfolioInitialFilters.ts","components/portfolio/portfolio-alert/PortfolioAlertsPreferences.tsx","components/process/BwicDate.tsx","components/process/BwicDates.tsx","components/process/DaysToSettle.jsx","components/process/Time.jsx","components/process/TimeZone.jsx","components/process/processDescription/ProcessDescription.tsx","components/process/TemplateList.tsx","components/process/CutOffReminder.tsx","components/process/SettingsLine.tsx","components/process/CutoffReminderSettingsLine.tsx","components/process/sections/OpenBiddingSettingsSection.jsx","components/process/AutoFeedbackDelay.tsx","components/process/MinBidIncrement.tsx","components/process/MinBidIncrementSettingsLine.tsx","components/process/BwicManualStageEndingInfo.tsx","components/process/BwicStageEndSelect.tsx","components/process/sections/JumpBallSection.tsx","components/process/BwicDateTimeSection.tsx","components/process/sections/TopXSection.tsx","components/process/sections/BestFootForwardSection.tsx","components/process/sections/StandartBiddingSection.tsx","components/process/TemplateDetails.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport cn from 'classnames';\r\nimport sanitizeHtml from 'sanitize-html';\r\n\r\ninterface Props {\r\n className?: string\r\n text?: string;\r\n}\r\n\r\nexport function NotificationBody({ text, className = 'notification-message' }: Props) {\r\n const messageLines = (text || '').trim().split('\\n');\r\n const outputMessage = [];\r\n\r\n const sanitizeText = (text: string) => sanitizeHtml(text, {\r\n allowedTags: ['a', 'br', 'div', 'span', 'b', 'ul', 'li'],\r\n allowedAttributes: {\r\n 'a': ['href', 'target'],\r\n 'div': ['class'],\r\n 'span': ['class'],\r\n 'ul': ['class']\r\n }\r\n });\r\n\r\n const hasHtml = (text: string) => /<[a-z][\\s\\S]*>/i.test(text);\r\n\r\n for (let i = 0; i < messageLines.length; i++) {\r\n const rawText = messageLines[i];\r\n const text = hasHtml(rawText) ? sanitizeText(rawText) : rawText;\r\n outputMessage.push(text);\r\n if (i !== messageLines.length - 1) {\r\n outputMessage.push('
');\r\n }\r\n }\r\n\r\n return
;\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { constants, PushNotificationServiceStatus } from '../../constants';\r\nimport IconSVG from '../../styles/svg-icons';\r\n\r\nexport function ConnectionStatusToast({ disabled }) {\r\n const { connectionStatus } = useSelector(state => state.notification);\r\n const [visible, setVisible] = useState(true);\r\n\r\n useEffect(() => {\r\n if (connectionStatus === PushNotificationServiceStatus.reconnected) {\r\n setTimeout(() => {\r\n if (connectionStatus && connectionStatus === PushNotificationServiceStatus.reconnected) {\r\n setVisible(false);\r\n }\r\n }, constants.notificationDisplayTimeout);\r\n } else {\r\n setVisible(true);\r\n }\r\n }, [connectionStatus]);\r\n\r\n if (!visible || disabled) {\r\n return null;\r\n }\r\n\r\n const refreshPage = () => window.location.reload();\r\n\r\n if (connectionStatus === PushNotificationServiceStatus.reconnecting) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
Looks like there is a problem with the connection. Connecting...
\r\n
\r\n )\r\n }\r\n\r\n if (connectionStatus === PushNotificationServiceStatus.reconnected) {\r\n return (\r\n
\r\n
Connected!
\r\n
\r\n )\r\n }\r\n\r\n if (connectionStatus === PushNotificationServiceStatus.disconnected) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n Looks like we're having trouble retrieving some information.\r\n Please refresh the page.\r\n
\r\n
\r\n )\r\n }\r\n\r\n return null;\r\n}\r\n","import cn from 'classnames';\r\nimport { useBrowserTabBlinkAnimation } from \"../../effects/useBrowserTabBlinkAnimation\";\r\nimport { ModalNotification as IModalNotification } from \"../../types/notifications/ModalNotification\";\r\nimport { StatusMessageSectionType } from \"../../types/state/NotificationState\";\r\nimport { Popup, PopupBody, PopupFooter } from \"../controls\";\r\nimport { StatusMessageSection } from \"../status-message/StatusMessageSection\";\r\nimport { NotificationBody } from \"./NotificationBody\";\r\n\r\ninterface Props {\r\n notification: IModalNotification;\r\n onClose: () => void\r\n}\r\n\r\nexport function ModalNotification({ notification, onClose }: Props) {\r\n const { title, message, refreshButtonVisible, type, blinkBrowserTabText } = notification;\r\n\r\n useBrowserTabBlinkAnimation(blinkBrowserTabText ?? []);\r\n\r\n return (\r\n }\r\n onClose={onClose}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n refreshButtonVisible &&\r\n \r\n }\r\n \r\n \r\n );\r\n}","import React, { useEffect, useRef } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport cn from 'classnames';\r\nimport { constants } from '../../constants';\r\nimport { NotificationType } from '../../types/notifications/NotificationType';\r\nimport { notificationActions } from '../../actions';\r\nimport { Notification } from '../../types/notifications/Notification';\r\nimport { NotificationBody } from './NotificationBody';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport { ModalNotification } from './ModalNotification';\r\nimport { logger } from '../../logging/logger';\r\nimport { useAppSelector } from '../../effects/useAppSelector';\r\n\r\nexport const Notifications: React.FC = () => {\r\n const dispatch = useDispatch();\r\n\r\n const mounted = useRef(false);\r\n const timeouts = useRef<{ [referenceName: string]: NodeJS.Timeout }>({});\r\n\r\n const notificationAttributes = useAppSelector(s => s.notification.notificationAttributes)\r\n const allNotifications = useAppSelector(s => s.notification.notificationList)\r\n const visibleNotifications = allNotifications.filter(n =>\r\n notificationAttributes[n.referenceName]?.toastVisible\r\n )\r\n const modalNotificationList = useAppSelector(s => s.notification.modalNotificationList);\r\n\r\n useEffect(() => {\r\n mounted.current = true;\r\n return () => {\r\n mounted.current = false;\r\n }\r\n }, [mounted]);\r\n\r\n const handleCloseNotification = (referenceName: string) => {\r\n if (timeouts.current[referenceName]) {\r\n clearTimeout(timeouts.current[referenceName]);\r\n }\r\n dispatch(notificationActions.notificationListHideToast(referenceName));\r\n };\r\n\r\n const renderNotification = (notification: Notification, i: number) => {\r\n const { subject, message } = notification;\r\n const { type } = notificationAttributes[notification.referenceName];\r\n const iconClass = type === NotificationType.Error ? 'icon-warning-toast' : 'icon-bell-toast';\r\n\r\n logger.trace(\"Show toast notification\", notification);\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n
{subject}
\r\n \r\n
\r\n handleCloseNotification(notification.referenceName)}\r\n >\r\n \r\n \r\n
\r\n )\r\n };\r\n\r\n const autoHideNotification = (referenceName: string) => {\r\n if (!timeouts.current[referenceName]) {\r\n timeouts.current[referenceName] = setTimeout(() => {\r\n dispatch(notificationActions.notificationListToastExpired(referenceName));\r\n }, constants.notificationDisplayTimeout)\r\n }\r\n };\r\n\r\n const renderNotificationList = () => {\r\n const renderedList = [];\r\n for (let i = 0; i < Math.min(visibleNotifications.length, constants.notificationListDisplayLimit); i++) {\r\n renderedList.push(renderNotification(visibleNotifications[i], i));\r\n autoHideNotification(visibleNotifications[i].referenceName)\r\n }\r\n return renderedList;\r\n };\r\n\r\n const renderModalNotificationList = () => {\r\n let firstTitleAnimationIndex = modalNotificationList.findIndex(n => n.blinkBrowserTabText?.length);\r\n\r\n return modalNotificationList.map((n, i) => {\r\n logger.trace(\"Show modal notification\", n);\r\n\r\n return dispatch(notificationActions.notificationListRemoveModalItem(i))}\r\n />\r\n });\r\n }\r\n\r\n return (\r\n
\r\n {renderNotificationList()}\r\n {renderModalNotificationList()}\r\n
\r\n );\r\n};\r\n","import React from 'react';\r\nimport { Notification } from '../../../types/notifications/Notification';\r\nimport classNames from 'classnames';\r\nimport dateTimeUtils from '../../../utils/dateTime.utils';\r\nimport { constants } from '../../../constants';\r\n\r\ninterface Props {\r\n notification: Notification,\r\n onRead: (referenceName: string) => void;\r\n}\r\n\r\nexport const NotificationDetails: React.FC = ({ notification, onRead }) => {\r\n const renderMessage = (message: string) => {\r\n const messageLines = String(message).trim().split('\\n');\r\n return messageLines.map((message, index) => {message}
);\r\n };\r\n\r\n return (\r\n !notification.isReadByUser && onRead(notification.referenceName)}\r\n >\r\n {!notification.isReadByUser && \r\n \r\n }\r\n
\r\n
\r\n
{notification.subject}
\r\n
\r\n {dateTimeUtils.utcToLocalString(notification.sentDateUtc, constants.timeFormat)}\r\n
\r\n
\r\n

{renderMessage(notification.message)}

\r\n
\r\n \r\n )\r\n};\r\n","import React, { useMemo, useRef } from 'react';\r\nimport { constants } from '../../../constants';\r\nimport InfiniteScroll from 'react-infinite-scroller';\r\nimport { Notification } from '../../../types/notifications/Notification';\r\nimport { arrayUtils } from '../../../utils/array.utils';\r\nimport dateTimeUtils from '../../../utils/dateTime.utils';\r\nimport { InfiniteScrollLoader } from '../../common';\r\nimport { SlideDownPanel } from '../../common/SlideDownPanel';\r\nimport { NotificationDetails } from './Notification';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { isRequesting, isRequestSuccess } from '../../../utils';\r\nimport { notificationActions } from '../../../actions/notification.actions';\r\nimport { notificationUtils } from '../../../utils/notifications.utils';\r\n\r\ninterface Props {\r\n notifications: Notification[];\r\n visible: boolean;\r\n onHide: (e: MouseEvent) => void;\r\n}\r\n\r\nexport const NotificationList: React.FC = ({ notifications, visible, onHide }) => {\r\n const dispatch = useDispatch();\r\n const parentDivRef = useRef(null);\r\n\r\n const connectionStatus = useSelector((state: AppState) => state.notification.connectionStatus);\r\n const isLoading = useSelector((state: AppState) => isRequesting(state.notification.requestStateGetNotificationList));\r\n const hasMoreNotifications = useSelector((state: AppState) => state.notification.hasMoreNotifications);\r\n const countUnreadNotifications = useSelector((state: AppState) => state.notification.countUnreadNotifications);\r\n const requestStateGetNotificationList = useSelector((state: AppState) => state.notification.requestStateGetNotificationList);\r\n\r\n const sortedByDate = useMemo(() => arrayUtils.groupBy(\r\n notifications,\r\n (n: Notification) => dateTimeUtils.utcToLocalString(n.sentDateUtc, constants.dateFormatISO8601)\r\n )\r\n , [notifications]\r\n );\r\n const isSomeUnreadNotificationInStore = useMemo(() => notifications.some(n => !n.isReadByUser), [notifications]);\r\n\r\n const handleLoadMore = () => {\r\n if (!isLoading && hasMoreNotifications && notificationUtils.isConnected(connectionStatus)) {\r\n dispatch(notificationActions.notificationGetList());\r\n }\r\n };\r\n\r\n const handleSetRead = (referenceName: string) => {\r\n dispatch(notificationActions.notificationSetReadRequest(referenceName));\r\n };\r\n\r\n const handleReadAll = () => {\r\n dispatch(notificationActions.notificationsReadAllRequest());\r\n };\r\n\r\n const renderNotifications = (notifications: Notification[]) => notifications.map(n =>\r\n \r\n );\r\n\r\n const renderList = () => {\r\n const result: React.ReactNode[] = [];\r\n sortedByDate.forEach((value, key) => {\r\n result.push(\r\n
\r\n
{dateTimeUtils.durationDays(key)}
\r\n {renderNotifications(value)}\r\n
\r\n )\r\n });\r\n return result;\r\n };\r\n\r\n return (\r\n \r\n
\r\n

Notifications

\r\n {!!notifications.length &&\r\n \r\n Mark all as read\r\n \r\n }\r\n
\r\n
\r\n {!notifications.length && !isLoading && isRequestSuccess(requestStateGetNotificationList) &&

There are no notifications yet.

}\r\n parentDivRef.current}\r\n >\r\n {renderList()}\r\n \r\n \r\n
\r\n
\r\n )\r\n};\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { notificationActions } from '../../../actions/notification.actions';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { NotificationList } from './NotificationList';\r\nimport { OnHoverTooltip } from '../../common/OnHoverTooltip';\r\nimport { isRequesting, isRequestNone, isRequestSuccess } from '../../../utils';\r\nimport IconSVG from '../../../styles/svg-icons';\r\nimport classNames from 'classnames';\r\nimport { notificationUtils } from '../../../utils/notifications.utils';\r\nimport { Relative } from '../../common';\r\n\r\nconst NotificationPopoverContent: React.FC = () => {\r\n const minItemsInList = 20;\r\n const dispatch = useDispatch();\r\n const btnRef = useRef(null);\r\n\r\n const [visibleList, setVisibleList] = useState(false);\r\n\r\n const connectionStatus = useSelector((state: AppState) => state.notification.connectionStatus);\r\n const countUnreadNotifications = useSelector((state: AppState) => state.notification.countUnreadNotifications);\r\n const requestStateGetNotificationList = useSelector((state: AppState) => state.notification.requestStateGetNotificationList);\r\n const notifications = useSelector((state: AppState) => state.notification.notificationList);\r\n const notificationAttributes = useSelector((state: AppState) => state.notification.notificationAttributes);\r\n\r\n const visibleNotifications = notifications.filter(n => notificationAttributes[n.referenceName]?.displayInNotificationList);\r\n const isSomeUnreadNotificationInStore = visibleNotifications.some(n => !n.isReadByUser);\r\n\r\n useEffect(() => {\r\n if (visibleList && notificationUtils.isConnected(connectionStatus) && isRequestNone(requestStateGetNotificationList)) {\r\n dispatch(notificationActions.notificationGetList());\r\n }\r\n }, [connectionStatus, dispatch, visibleList, requestStateGetNotificationList]);\r\n\r\n const handleButtonClick = () => {\r\n if (visibleList) {\r\n setVisibleList(false);\r\n } else {\r\n setVisibleList(true);\r\n if (visibleNotifications.length < minItemsInList && notificationUtils.isConnected(connectionStatus)) {\r\n dispatch(notificationActions.notificationGetList());\r\n }\r\n }\r\n };\r\n\r\n const handleHide = (e: MouseEvent) => {\r\n if (!btnRef.current?.contains(e.target as Node)) {\r\n setVisibleList(false);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {(!!countUnreadNotifications || isSomeUnreadNotificationInStore) && }\r\n \r\n \r\n \r\n \r\n )\r\n};\r\n\r\nexport function NotificationPopover() {\r\n const dispatch = useDispatch();\r\n const connectionStatus = useSelector((state: AppState) => state.notification.connectionStatus);\r\n const requestStateGetCountUnread = useSelector((state: AppState) => state.notification.requestStateGetNotificationList);\r\n useEffect(() => {\r\n if (\r\n notificationUtils.isConnected(connectionStatus) &&\r\n !isRequesting(requestStateGetCountUnread) &&\r\n !isRequestSuccess(requestStateGetCountUnread)\r\n ) {\r\n dispatch(notificationActions.notificationsGetCountUnread())\r\n }\r\n }, [dispatch, connectionStatus, requestStateGetCountUnread]);\r\n return ;\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport { useHistory } from 'react-router';\r\nimport { onBoardingTooltipConst, roles } from '../../constants';\r\nimport {\r\n onBoardingTooltipNav,\r\n onBoardingTooltipGotIt,\r\n onBoardingTooltipClose,\r\n onBoardingTooltipSetCountRequest\r\n} from '../../actions';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport { user } from '../../user';\r\nimport { useCacheOnBoardingState } from '../../effects';\r\n\r\nconst mountedTooltips = Object.values(onBoardingTooltipConst.pages).reduce((object, page) => {\r\n object[page] = {};\r\n return object\r\n}, {});\r\n\r\nconst setPageCountRequest = {};\r\n\r\nexport function OnBoardingTooltip({ page, step, className = '', hidden = false }) {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const stateBoardingTooltip = useSelector((s) => s.onBoardingTooltip);\r\n const currentUser = user.current() || {};\r\n\r\n useCacheOnBoardingState(step, stateBoardingTooltip);\r\n\r\n useEffect(() => {\r\n mountedTooltips[page][step] = step;\r\n const counts = user.getOnBoardingTooltipCounters();\r\n if (\r\n getVisibleStatus() &&\r\n typeof counts[page] === 'number' &&\r\n !setPageCountRequest[page] &&\r\n counts[page] + 1 <= onBoardingTooltipConst.maxCountLimit\r\n ) {\r\n dispatch(onBoardingTooltipSetCountRequest([{ page, count: Number(counts[page]) + 1 }]));\r\n setPageCountRequest[page] = true;\r\n }\r\n return () => {\r\n if (mountedTooltips[page] && mountedTooltips[page][step]) {\r\n delete mountedTooltips[page][step];\r\n }\r\n if (setPageCountRequest[page]) {\r\n delete setPageCountRequest[page];\r\n }\r\n } // eslint-disable-next-line\r\n }, [currentUser.id, hidden]);\r\n\r\n const getCurrentStep = () => {\r\n if (!stateBoardingTooltip.pages[page]) return 1;\r\n return stateBoardingTooltip.pages[page].current;\r\n };\r\n\r\n const getCountMountedPages = () => Object.keys(mountedTooltips[page]).length;\r\n\r\n const getTemplateIndex = () => {\r\n const tooltips = Object.keys(mountedTooltips[page]);\r\n const currentStateStep = getCurrentStep();\r\n const tooltipIndex = tooltips[currentStateStep - 1];\r\n return Number(tooltipIndex) || 0\r\n };\r\n\r\n const getVisibleStatus = () => {\r\n if (hidden) return false;\r\n if (!user.hasRoles(roles.Viewer) || !step) return false;\r\n if (history.location.pathname !== onBoardingTooltipConst.urls[page]) return false;\r\n if (!onBoardingTooltipConst.items[page] || !onBoardingTooltipConst.items[page][step - 1] || !stateBoardingTooltip.pages[page]) return false;\r\n if (!currentUser || !currentUser.tooltipCounts || typeof currentUser.tooltipCounts !== 'object') return false;\r\n return !(stateBoardingTooltip.pages[page].closed || stateBoardingTooltip.pages[page].gotIt) && getTemplateIndex() === step;\r\n };\r\n\r\n const onNext = e => {\r\n e.stopPropagation();\r\n dispatch(onBoardingTooltipNav(page, true))\r\n };\r\n\r\n const onPrevious = e => {\r\n e.stopPropagation();\r\n dispatch(onBoardingTooltipNav(page, false))\r\n };\r\n\r\n const onGotIt = e => {\r\n e.stopPropagation();\r\n dispatch(onBoardingTooltipGotIt(page))\r\n };\r\n\r\n const getTitle = () => {\r\n if (onBoardingTooltipConst.items[page][getTemplateIndex() - 1]) {\r\n return onBoardingTooltipConst.items[page][getTemplateIndex() - 1].message;\r\n }\r\n return ''\r\n };\r\n\r\n const onClose = e => {\r\n e.stopPropagation();\r\n dispatch(onBoardingTooltipClose(page))\r\n };\r\n\r\n const getCurrentNumber = () => {\r\n return {getCurrentStep()} of {getCountMountedPages()}\r\n };\r\n\r\n const getNavButtons = () => {\r\n if (step < getCountMountedPages()) {\r\n return (\r\n <>\r\n {step > 1 && }\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 if (!getVisibleStatus()) {\r\n return null;\r\n }\r\n\r\n return (\r\n
e.stopPropagation()}>\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{getTitle()}

\r\n
\r\n {getCurrentNumber()}\r\n
{getNavButtons()}
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import React from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Popup } from '../controls';\r\nimport { onBoardingTooltipSetVisibleSupportPopup } from '../../actions';\r\nimport contentImage from '../../images/onboarding-support.png';\r\n\r\nexport function OnBoardingTooltipSupportPopup() {\r\n const dispatch = useDispatch();\r\n const stateBoardingTooltip = useSelector((s) => s.onBoardingTooltip);\r\n const { visibleSupportPopup } = stateBoardingTooltip;\r\n\r\n const cancel = () => {\r\n dispatch(onBoardingTooltipSetVisibleSupportPopup(false))\r\n };\r\n\r\n if (visibleSupportPopup) {\r\n return (\r\n \r\n
\r\n \"\"/\r\n
\r\n
\r\n

You can reopen Tooltip Mode from the ‘Help & Support’ icon on the Header

\r\n \r\n
\r\n \r\n )\r\n }\r\n return null;\r\n}\r\n","import { ButtonHTMLAttributes } from 'react';\r\nimport * as React from 'react';\r\nimport { PortfolioAgreementDisclaimerContext } from './PortfolioAgreementDisclaimerContext';\r\n\r\ninterface Props extends ButtonHTMLAttributes{\r\n text?: string\r\n}\r\n\r\nexport function CreatePortfolioButton({ className = '', text = '', disabled = false, children = null, onClick, ...rest }: Props) {\r\n const isPortfolioDisclaimerBlocked = React.useContext(PortfolioAgreementDisclaimerContext);\r\n\r\n return (\r\n \r\n {children} {text}\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { user } from '../../user';\r\nimport { BlockedFeatureContext } from '../access/BlockedFeatureContext';\r\nimport { PortfolioAgreementDisclaimerContext } from './PortfolioAgreementDisclaimerContext';\r\nimport { useSelector } from 'react-redux';\r\nimport { AppState } from '../../types/state/AppState';\r\nimport { isRequesting } from '../../utils';\r\nimport { User } from '../../types/account/User';\r\n\r\ninterface Props {\r\n children: (blocked: boolean) => React.ReactNode;\r\n disabled: boolean;\r\n}\r\n\r\nexport const PortfolioAgreementDisclaimer: React.FC = ({ children, disabled }) => {\r\n const isFeatureBlocked = React.useContext(BlockedFeatureContext);\r\n const confirmRequestState = useSelector((state: AppState) => state.portfolioAgreementDisclaimer.confirmRequestState);\r\n const currentUser: User | null = user.current()\r\n const blocked =\r\n !disabled &&\r\n !isFeatureBlocked &&\r\n !currentUser?.portfolioDisclaimerAgreed &&\r\n !isRequesting(confirmRequestState);\r\n\r\n return (\r\n \r\n {children(blocked)}\r\n \r\n )\r\n}\r\n","import * as React from 'react';\r\nimport * as _ from 'lodash';\r\nimport { PortfolioAgreementDisclaimer } from './PortfolioAgreementDisclaimer';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { portfolioAgreementDisclaimerActions } from '../../actions/portfolio-agreement-disclaimer.actions';\r\nimport { AppState } from '../../types/state/AppState';\r\n\r\ntype TRenderChildren = (blocked: boolean) => React.ReactNode;\r\n\r\ninterface Props {\r\n children: React.ReactNode | TRenderChildren;\r\n disabled?: boolean;\r\n onConfirm: () => void;\r\n}\r\n\r\nexport function PortfolioAgreementDisclaimerActionBlocker({ children, onConfirm, disabled = false }: Props) {\r\n const actionBlockerId = React.useRef(_.uniqueId('portfolio-agreement-disclaimer-action-blocker-'));\r\n const dispatch = useDispatch();\r\n const visible = useSelector((state: AppState) => state.portfolioAgreementDisclaimer.visible);\r\n const confirmed = useSelector((state: AppState) => state.portfolioAgreementDisclaimer.confirmed);\r\n const blockerId = useSelector((state: AppState) => state.portfolioAgreementDisclaimer.blockerId);\r\n const handleConfirm = React.useCallback(() => onConfirm(), [onConfirm]);\r\n\r\n React.useEffect(() => {\r\n if (!visible && actionBlockerId.current === blockerId) {\r\n if (confirmed) {\r\n handleConfirm();\r\n }\r\n if (confirmed || confirmed === false) {\r\n dispatch(portfolioAgreementDisclaimerActions.reset());\r\n }\r\n }\r\n }, [visible, actionBlockerId, blockerId, confirmed, dispatch, handleConfirm]);\r\n\r\n const handleClick = (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n dispatch(portfolioAgreementDisclaimerActions.show(actionBlockerId.current));\r\n };\r\n\r\n const renderBlocked = () =>
{renderChildren(true)}
;\r\n\r\n const renderChildren = (blocked: boolean) => {\r\n if (typeof children === 'function') {\r\n return (children as TRenderChildren)(blocked);\r\n }\r\n return children;\r\n };\r\n\r\n return (\r\n \r\n {(blocked: boolean) => blocked ? renderBlocked() : renderChildren(false)}\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport * as _ from 'lodash';\r\nimport { useHistory } from 'react-router';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { PortfolioAgreementDisclaimer } from './PortfolioAgreementDisclaimer';\r\nimport { PortfolioAgreementDisclaimerContext } from './PortfolioAgreementDisclaimerContext';\r\nimport { AppState } from '../../types/state/AppState';\r\nimport { portfolioAgreementDisclaimerActions } from '../../actions/portfolio-agreement-disclaimer.actions';\r\n\r\ninterface Props {\r\n disabled?: boolean;\r\n onCancel?: () => void;\r\n children: React.ReactNode;\r\n}\r\n\r\ninterface ContentProps {\r\n onCancel?: () => void;\r\n children: React.ReactNode;\r\n}\r\n\r\nconst PortfolioAgreementDisclaimerContent: React.FC = ({ children, onCancel }) => {\r\n const actionBlockerId = React.useRef(_.uniqueId('portfolio-agreement-disclaimer-content-blocker-'));\r\n const blocked = React.useContext(PortfolioAgreementDisclaimerContext);\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const popupVisible = useSelector((state: AppState) => state.portfolioAgreementDisclaimer.visible);\r\n const confirmed = useSelector((state: AppState) => state.portfolioAgreementDisclaimer.confirmed);\r\n const blockerId = useSelector((state: AppState) => state.portfolioAgreementDisclaimer.blockerId);\r\n const handleReject = React.useCallback(() => onCancel ? onCancel() : history.replace('/'), [onCancel, history]);\r\n\r\n React.useEffect(() => {\r\n if (blocked && !popupVisible && confirmed === undefined) {\r\n dispatch(portfolioAgreementDisclaimerActions.show(actionBlockerId.current, 'Agree'))\r\n }\r\n }, [dispatch, blocked, popupVisible, actionBlockerId, confirmed]);\r\n\r\n React.useEffect(() => {\r\n if (!popupVisible && confirmed === false && actionBlockerId.current === blockerId) {\r\n handleReject();\r\n dispatch(portfolioAgreementDisclaimerActions.reset());\r\n }\r\n }, [history, popupVisible, confirmed, actionBlockerId, blockerId, dispatch, handleReject]);\r\n\r\n return blocked ? null : <>{children};\r\n};\r\n\r\n\r\nexport const PortfolioAgreementDisclaimerContentBlocker: React.FC = ({ disabled = false, children, onCancel }) => {\r\n return (\r\n \r\n {() => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import * as React from 'react';\r\n\r\nexport const PortfolioAgreementDisclaimerContext = React.createContext(false);\r\n","import React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Popup from '../controls/Popup';\r\nimport { PopupBody, PopupFooter } from '../controls';\r\nimport { Checkbox } from '../controls/Checkbox';\r\nimport { portfolioAgreementDisclaimerActions } from '../../actions/portfolio-agreement-disclaimer.actions';\r\nimport { PortfolioAgreementDisclaimerText } from './PortfolioAgreementDisclaimerText';\r\nimport { AppState } from '../../types/state/AppState';\r\nimport { isRequesting } from '../../utils';\r\nimport IconSVG from '../../styles/svg-icons';\r\n\r\nexport const PortfolioAgreementDisclaimerPopup: React.FC = () => {\r\n const dispatch = useDispatch();\r\n\r\n const [agreeCheckBoxChecked, setAgreeCheckBoxChecked] = useState(false);\r\n const downloadFilefRequestState = useSelector((state: AppState) => state.portfolioAgreementDisclaimer.downloadFileRequestState);\r\n const confirmRequestState = useSelector((state: AppState) => state.portfolioAgreementDisclaimer.confirmRequestState);\r\n const visible = useSelector((state: AppState) => state.portfolioAgreementDisclaimer.visible);\r\n const agreeButtonText = useSelector((state: AppState) => state.portfolioAgreementDisclaimer.agreeButtonText);\r\n\r\n\r\n useEffect(() => {\r\n if (!visible) {\r\n setAgreeCheckBoxChecked(false);\r\n }\r\n }, [visible]);\r\n\r\n if (!visible) {\r\n return null;\r\n }\r\n\r\n const handleOnClose = () => {\r\n dispatch(portfolioAgreementDisclaimerActions.hide(false))\r\n };\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n
\r\n dispatch(portfolioAgreementDisclaimerActions.downloadFileRequest())}\r\n disabled={isRequesting(downloadFilefRequestState)}\r\n >\r\n Download agreement\r\n \r\n
\r\n
\r\n setAgreeCheckBoxChecked(!agreeCheckBoxChecked)}\r\n />\r\n
\r\n
\r\n
\r\n \r\n dispatch(portfolioAgreementDisclaimerActions.confirmRequest())}\r\n disabled={!agreeCheckBoxChecked || isRequesting(confirmRequestState)}\r\n >\r\n {\r\n agreeButtonText === 'Next'\r\n ? <>{agreeButtonText} \r\n : agreeButtonText\r\n }\r\n \r\n \r\n \r\n )\r\n};\r\n","import React from 'react';\r\n\r\nexport const PortfolioAgreementDisclaimerText: React.FC = () => {\r\n return (\r\n <>\r\n

IMPORTANT NOTICE AND DISCLAIMERS

\r\n

\r\n The information contained herein (the \"Information\"), and your access to such Information, is subject to the following disclaimers and the KopenTech Terms of Use. Before being granted access to the Information, you must review and acknowledge this Important Notice and Disclaimers (the “Notice and Disclaimers”) by clicking \"I ACCEPT AND AGREE\" below.\r\n

\r\n

\r\n Your access to KopenTech’s Portfolio Monitoring Platform (the “Platform”) enables you, at your option, to input, upload or otherwise transmit (collectively, \"Upload\") data and information relating to your positions and potential positions (collectively, \"Your Data\") to the Platform. By Uploading Your Data, you grant to KopenTech and its affiliates a worldwide, non-exclusive, royalty-free, irrevocable and perpetual license to access, view, use, store, adapt, and create derivative works from Your Data in perpetuity, in all media now known or hereafter devised, for purposes of providing account support, including without limitation. You represent and warrant that: (a) you have all requisite right, power and authority to Upload Your Data to the Platform and grant to KopenTech the rights granted herein; (b) Your Data are accurate; and (c) Your Data and any related file you use to Upload Your Data are free from any computer code designed to damage, disrupt, disable, harm, or otherwise impede in any manner, the orderly operation of the Platform or any software, data files, firmware, hardware, computer system or network or that would permit other parties access to the Platform. KopenTech’s use of Your Data is governed by its Privacy Policy. To the extent the Information conflicts with the Privacy Policy, the Privacy Policy shall control.\r\n

\r\n

\r\n You hereby agree to indemnify, defend, and hold harmless KopenTech, its employees, agents, affiliates and licensors against any loss or damage arising from or relating to: (i) your use of the Platform, (ii) the breach or alleged breach by you of this Notice and Disclaimers, (iii) any claim that Your Data infringes any patent, copyright, trademark, trade secret or any other proprietary right of any third party; or (iv) violation by you of any law, rule or regulation. KopenTech may discontinue the availability of the Upload functionality at any time for any reason or no reason.\r\n

\r\n

\r\n The Information is being provided to you solely at your request and for your informational purposes only. While the Information is based upon information derived from sources believed to be reliable, KopenTech has not independently verified such Information and is not responsible for its contents. No representation is made as to the accuracy or completeness of the Information or any promise or representation as to the future performance of any securities, loans or other instruments referenced herein. You are responsible for your own independent verification of the Information and should consult with your own advisors with respect to the Information and before deciding the uses to which the Information may be put. Neither the Information nor the assumptions reflected herein should be construed to be, or constitute, an offer to sell or buy or a solicitation of an offer to sell or buy any securities mentioned herein.\r\n

\r\n

\r\n The Information may contain \"forward-looking\" information, which may include, among other things, projections, forecasts or estimates of yields or return, scenario analyses and proposed or expected portfolio composition. The forward-looking information is based upon certain assumptions about future events or conditions and is intended only to illustrate hypothetical results under those assumptions. In addition, not all relevant events or conditions may have been considered in developing such assumptions. Actual events or conditions are unlikely to be consistent with and may differ materially from those assumed. Assumptions used in these analyses subsequently may be determined to be unreasonable when used or may become unreasonable at a future time. Assumptions may be modified from time to time to reflect changed circumstances.\r\n

\r\n

\r\n KopenTech is not acting as your advisor or agent. Prior to making any investment decision or entering into any transaction, you should determine, without reliance upon KopenTech or any of its affiliates, the economic risks and merits, as well as the legal, tax and accounting characterizations and consequences of any investment or transaction, and independently determine that you are able to assume these risks. In this regard, by acceptance of these materials, you acknowledge that you have been advised that (a) KopenTech is not in the business of providing legal, tax or accounting advice, (b) you understand that there may be legal, tax or accounting risks associated with any investment or transaction, (c) you should receive legal, tax and accounting advice from advisors with appropriate expertise to assess relevant risks.\r\n

\r\n

\r\n [KopenTech acknowledges that Your Data provided to KopenTech in connection with your use of the Platform may be confidential, non-public, or proprietary (“Confidential Information”).
\r\n KopenTech and its affiliates shall maintain the Confidential Information in confidence and not disclose such information to third parties or use such information for any purpose other than for the provision of the Services. KopenTech shall advise its employees, officers, directors, or agents who may receive access to Confidential Information of their obligations to keep such information confidential and shall be responsible for any unauthorized disclosures by its respective employees, officers, directors, or agents.]\r\n

\r\n

\r\n KopenTech may remove content that appears in our sole discretion to infringe the intellectual property rights of others. KopenTech also has a policy of terminating the accounts of repeat infringers in appropriate circumstances. If you believe that content available on or through the Platform infringes one or more of your intellectual property rights, please immediately notify KopenTech’s copyright agent by mail, email or faxed notice (“Notification”) providing the information described below. A copy of your Notification will be sent to the person who posted or stored the material addressed in the Notification.\r\n

\r\n

\r\n Please be advised that pursuant to federal law you may be held liable for damages if you make material misrepresentations in a Notification. Thus, if you are not sure that content located on or linked to by the Platform infringes your rights, you should consider first contacting an attorney.\r\n

\r\n

\r\n All Notifications should include the following:\r\n

    \r\n
  • • A physical or electronic signature of a person authorized to act on behalf of the owner of the intellectual property right that is allegedly infringed.
  • \r\n
  • • Identification of the copyrighted work claimed to have been infringed.
  • \r\n
  • • Identification of the material that you claim is infringing and that is to be removed or access to which is to be disabled, and information reasonably sufficient to permit KopenTech to locate the material, including the URL.
  • \r\n
  • • Your address, telephone number and email address.
  • \r\n
  • • A statement that you have a good faith belief that use of the material in the manner complained of is not authorized by the copyright owner, its agent, or the law.
  • \r\n
  • • A statement made under penalty of perjury that the information in the Notification is accurate, and that you are authorized to act on behalf of the owner of the intellectual property right that is allegedly infringed.
  • \r\n
\r\n

\r\n

\r\n Notifications should be sent to KopenTech’s copyright agent as follows:\r\n

\r\n
\r\n KopenTech LLC
\r\n 10880 Wilshire Boulevard
\r\n 11th Floor Los Angeles CA 90024
\r\n 1.800.862.1684
\r\n info@kopentech.com\r\n
\r\n

\r\n [This Platform is not absolutely protected against unauthorized third parties. You acknowledge that any information provided through the internet may be potentially accessed by unauthorized third parties. Although KopenTech has implemented security measures designed to protect the privacy of users of this Site, no guarantee can be made that unauthorized third parties will not access the information contained on the Platform.]\r\n

\r\n

\r\n THIS PLATFORM AND ALL INFORMATION ARE PROVIDED “AS IS” AND “AS AVAILABLE” WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, TO THE FULLEST EXTENT PERMISSIBLE PURSUANT TO APPLICABLE LAW. WITHOUT LIMITATION, KOPENTECH DOES NOT WARRANT THE ACCURACY, ADEQUACY, COMPLETENESS, RELIABILITY, TIMELINESS OR AVAILABILITY OF THIS PLATFORM OR ANY INFORMATION ON THIS PLATFORM, AND EXPRESSLY DISCLAIMS LIABILITY FOR ANY ERRORS OR OMISSIONS ON THIS PLATFORM. THERE IS NO WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, OR ANY OTHER WARRANTY OF ANY KIND, IMPLIED, EXPRESS OR STATUTORY. ANY INFORMATION IS SUBJECT TO CHANGE WITHOUT NOTICE. THE INFORMATION MAY CONTAIN INACCURACIES OR TYPOGRAPHICAL ERRORS. KOPENTECH ASSUMES NO RESPONSIBILITY FOR, AND MAKES NO WARRANTIES THAT, FUNCTIONS CONTAINED AT THIS PLATFORM WILL BE UNINTERRUPTED OR ERROR-FREE, THAT DEFECTS WILL BE CORRECTED, OR THAT THE PLATFORM OR THE SERVER THAT MAKES IT AVAILABLE WILL BE FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. IN ADDITION, KOPENTECH MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THE PLATFORM OR INFORMATION FOR ANY PURPOSE. YOU (AND NOT KOPENTECH) ASSUME THE ENTIRE COST AND RISK OF USING THIS PLATFORM INCLUDING THE INFORMATION. PLEASE NOTE THAT APPLICABLE LAW MAY NOT ALLOW THE EXCLUSION OF CERTAIN WARRANTIES, SO SOME OR ALL OF THE ABOVE EXCLUSIONS MAY NOT APPLY TO YOU.\r\n

\r\n

\r\n IN NO EVENT WILL KOPENTECH BE LIABLE FOR ANY DAMAGES INCLUDING WITHOUT LIMITATION DIRECT OR INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, LOSSES OR EXPENSES ARISING IN CONNECTION WITH THIS PLATFORM OR THE USE THEREOF OR THE INABILITY BY ANY PARTY TO USE THIS PLATFORM, OR IN CONNECTION WITH ANY FAILURE OF PERFORMANCE, ERROR, OMISSION, INTERRUPTION, DEFECT, DELAY IN OPERATION OR TRANSMISSION, COMPUTER VIRUS OR LINE OR SYSTEM FAILURE IN CONNECTION WITH THIS WEBSITE OR THE PLATFORM, EVEN IF KOPENTECH, OR REPRESENTATIVES THEREOF, ARE ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, LOSSES OR EXPENSES. BECAUSE SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, IN SUCH JURISDICTIONS LIABILITY IS LIMITED TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW.\r\n

\r\n

\r\n \"I ACCEPT AND AGREE\"\r\n

\r\n

\r\n SK 30021 0001 9935790 v3\r\n

\r\n \r\n )\r\n}\r\n","import React from 'react';\r\nimport { Formik, FormikValues, Form } from 'formik';\r\nimport { Popup, PopupBody, PopupFooter } from '../controls';\r\nimport { constants, errorMessages } from '../../constants';\r\nimport { yup } from '../../validation/yup';\r\nimport { InputField } from '../forms';\r\n\r\ninterface Props {\r\n onClose: () => void;\r\n onNameChange: (name: string) => void;\r\n title: string;\r\n portfolioName: ''\r\n}\r\n\r\nexport const PortfolioNameDialog: React.FC = ({ onClose, onNameChange, title, portfolioName }) => {\r\n const validationSchema = yup.object().shape({\r\n name: yup.string().trim().matches(constants.nonWhitespace).required(errorMessages.portfolioNameIsRequired).max(64),\r\n })\r\n\r\n const handleSubmit = (values: FormikValues) => {\r\n onNameChange(values.name.trim())\r\n }\r\n\r\n return (\r\n \r\n \r\n {({ errors }) => (\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n
\r\n )\r\n}\r\n\r\nPortfolioNameDialog.defaultProps = {\r\n portfolioName: ''\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport cn from 'classnames';\r\nimport { editPortfolioActions as actions, gridActions, securitiesActions } from '../../actions';\r\nimport { routes, uploadStatus } from '../../constants';\r\nimport { Grid } from '../grid';\r\nimport { RouteLeavingGuard } from '../routing';\r\nimport { Confirm } from '../alerts';\r\nimport { Preloader } from '../common';\r\nimport { OnHoverTooltip } from '../common';\r\nimport { RequestState } from '../../constants/request-state';\r\nimport { Breadcrumbs } from '../controls/breadcrumbs/Breadcrumbs';\r\nimport { BreadcrumbsItem } from '../controls/breadcrumbs/BreadcrumbsItem';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport { DownloadTemplateButton } from '../common/download-template/DownloadTemplateButton';\r\nimport { useHistory, useParams } from 'react-router';\r\nimport { securitiesComparer } from '../../utils';\r\nimport { PortfolioNameDialog } from './PortfolioNameDialog';\r\nimport { DeleteRowsWithErrorButton } from '../grid/DeleteRowsWithErrorButton';\r\nimport { SecuritiesGridFlaggedPopup } from '../common/SecuritiesGridFlaggedPopup';\r\nimport { DeleteFlaggedItemsButton } from '../grid/DeleteFlaggedItemsButton';\r\nimport { DeleteAllButton } from '../grid/DeleteAllButton';\r\nimport { PortfolioAgreementDisclaimerContentBlocker } from '../portfolio-agreement-disclaimer/PortfolioAgreementDisclaimerContentBlocker';\r\nimport { SubscriptionFeature } from '../../types/billing/SubscriptionFeature';\r\nimport { ActionBlocker } from '../access/ActionBlocker';\r\nimport { FeatureButton } from '../access/FeatureButton';\r\n\r\nexport const EditPortfolio = () => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const params = useParams();\r\n const referenceName = params.referenceName;\r\n\r\n useEffect(() => {\r\n if (referenceName) {\r\n dispatch(actions.init(referenceName))\r\n } else {\r\n dispatch(securitiesActions.init([]));\r\n }\r\n\r\n return () => {\r\n dispatch(actions.reset())\r\n }\r\n }, [dispatch, referenceName])\r\n\r\n const portfolio = useSelector((state) => state.editPortfolio.portfolio);\r\n const renamePortfolioDialog = useSelector((state) => state.editPortfolio.renamePortfolioDialog);\r\n const securities = useSelector((state) => state.grid.dataItems);\r\n const deletePortfolioDialog = useSelector((state) => state.editPortfolio.deletePortfolioDialog);\r\n const deleted = useSelector((state) => state.editPortfolio.deleted);\r\n const saved = useSelector((state) => state.editPortfolio.saved);\r\n const isLoading = useSelector((state) => state.editPortfolio.isLoading);\r\n const updatePortfolioStatus = useSelector((state) => state.editPortfolio.updatePortfolioRequestState === RequestState.request);\r\n const isGridUploading = useSelector((state) => state.grid.upload.status === uploadStatus.uploading);\r\n const isRequestingExportPortfolio = useSelector((state) => state.editPortfolio.isRequestingExportPortfolio);\r\n const isFlaggedModalVisible = useSelector((state) => state.securities.isFlaggedModalVisible);\r\n\r\n const [isPortfolioNameDialogVisible, setPortfolioNameDialogVisible] = useState(false);\r\n const [newPortFolioName, setNewPortFolioName] = useState(portfolio.name || '');\r\n const [updatedPortfolioName, setUpdatedPortfolioName] = useState('');\r\n\r\n const hasSecurities = securities.some(s => !s.draft);\r\n const hasErrors = securities.some(c => !c.draft && c.errors && c.errors.length);\r\n const canSave = hasSecurities && !isGridUploading;\r\n\r\n useEffect(() => {\r\n if (hasErrors) {\r\n setPortfolioNameDialogVisible(false)\r\n }\r\n }, [hasErrors])\r\n\r\n const handleBlockNavigation = () =>\r\n !securitiesComparer.compareMultiple(portfolio.securities, securities.filter(s => !s.draft));\r\n\r\n const handleOnNewPortfolioName = (name) => {\r\n setNewPortFolioName(name);\r\n setPortfolioNameDialogVisible(false);\r\n dispatch(actions.createNewPortfolio(name))\r\n }\r\n\r\n const handleSetUpdatedPortfolioName = (name) => {\r\n setUpdatedPortfolioName(name);\r\n dispatch(actions.renamePortfolioDialog(false));\r\n }\r\n\r\n const handleSavePortfolio = () => {\r\n dispatch(gridActions.validate());\r\n if (referenceName) {\r\n dispatch(actions.updatePortfolioSecurities(updatedPortfolioName))\r\n } else if (newPortFolioName) {\r\n dispatch(actions.createNewPortfolio(newPortFolioName))\r\n } else {\r\n setPortfolioNameDialogVisible(true);\r\n }\r\n }\r\n\r\n if (deleted || saved) {\r\n return null;\r\n }\r\n\r\n return (\r\n history.replace(routes.portfolio)}>\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n

\r\n {referenceName\r\n ?\r\n \r\n {updatedPortfolioName || portfolio.name}\r\n \r\n : (\r\n \r\n Portfolio Name\r\n \r\n )\r\n }\r\n

\r\n {\r\n !!referenceName && (\r\n
\r\n dispatch(actions.renamePortfolioDialog(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 referenceName && (\r\n \r\n \r\n dispatch(actions.exportPortfolio(portfolio.id))}\r\n >\r\n Export\r\n \r\n \r\n \r\n )\r\n }\r\n history.push(routes.portfolio)}\r\n disabled={isGridUploading}\r\n >\r\n Cancel\r\n \r\n {\r\n referenceName && (\r\n dispatch(actions.deletePortfolioDialog(true))}\r\n disabled={!referenceName}\r\n >\r\n DELETE PORTFOLIO\r\n \r\n )\r\n }\r\n \r\n SAVE\r\n \r\n {isFlaggedModalVisible && dispatch(securitiesActions.setFlaggedModal(false))} />}\r\n
\r\n
\r\n
\r\n dispatch(securitiesActions.uploadSecurities(file, true))}\r\n onDataItemsPaste={clipboardText => dispatch(securitiesActions.handleClipboardData(clipboardText, true))}\r\n onFileSelected={(file) => dispatch(securitiesActions.uploadSecurities(file, true))}\r\n helpPopoverTitle=\"You can add your securities in the following ways\"\r\n />\r\n {\r\n renamePortfolioDialog.visible && (\r\n dispatch(actions.renamePortfolioDialog(false))}\r\n onNameChange={handleSetUpdatedPortfolioName}\r\n title=\"Edit Portfolio Name\"\r\n portfolioName={portfolio.name}\r\n />\r\n )\r\n }\r\n {\r\n deletePortfolioDialog.visible &&\r\n dispatch(actions.deletePortfolioDialog(false))}\r\n onConfirm={() => dispatch(actions.deletePortfolio(portfolio.id))}\r\n />\r\n }\r\n {\r\n isPortfolioNameDialogVisible && !hasErrors && (\r\n setPortfolioNameDialogVisible(false)}\r\n onNameChange={handleOnNewPortfolioName}\r\n title=\"Save New Portfolio\"\r\n />\r\n )\r\n }\r\n history.push(pathname)}\r\n shouldBlockNavigation={handleBlockNavigation}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import { useEffect, useState } from \"react\";\r\nimport { PortfolioUserConfigFilter } from \"../../../types/user-config/UserConfigFilter\";\r\nimport { Popup, PopupBody, PopupFooter } from \"../../controls\";\r\nimport { AlertOption } from \"../../../types/email-preferences/EmailPreferences\";\r\nimport { EmailPreferencesRadioGroup } from \"../../profile/tabs/email-preferences/tabs/EmailPreferencesRadioGroup\";\r\nimport { usePageConfig } from \"../../common/pageConfig/usePageConfig\";\r\nimport { PageConfigType } from \"../../../types/page-config/PageConfigType\";\r\nimport { BwicFilterType } from \"../../../types/filters/FilterState\";\r\nimport { isRequestSuccess, isRequesting } from \"../../../utils/request-state.utils\";\r\nimport { textLabels } from \"../../../constants/text-labels\";\r\n\r\ninterface Props {\r\n filter: PortfolioUserConfigFilter;\r\n onClose: () => void;\r\n}\r\n\r\nexport function PortfolioFilterAlertPopup({ filter, onClose }: Props) {\r\n const [bwicAlert, setBwicAlert] = useState(filter.bwicAlertOption ?? AlertOption.Never);\r\n const [inventoryAlert, setInventoryAlert] = useState(filter.dealerInventoryAlertOption ?? AlertOption.Never);\r\n\r\n const { config, updateRequestState, saveAlerts } =\r\n usePageConfig(\r\n PageConfigType.Portfolio,\r\n true,\r\n BwicFilterType.Portfolio\r\n );\r\n\r\n const hasChanges =\r\n bwicAlert !== filter.bwicAlertOption ||\r\n inventoryAlert !== filter.dealerInventoryAlertOption;\r\n\r\n\r\n useEffect(() => {\r\n if (isRequestSuccess(updateRequestState)) {\r\n handleClose();\r\n }\r\n // eslint-disable-next-line\r\n }, [updateRequestState])\r\n\r\n const handleSave = () => {\r\n if (!config?.filters || !hasChanges) {\r\n return;\r\n }\r\n\r\n const updatedFilters = config?.filters.map(f => f.referenceName === filter.referenceName\r\n ? { ...f, bwicAlertOption: bwicAlert, dealerInventoryAlertOption: inventoryAlert }\r\n : f);\r\n\r\n saveAlerts(updatedFilters);\r\n }\r\n\r\n const handleClose = () => {\r\n if (!isRequesting(updateRequestState)) {\r\n onClose();\r\n }\r\n }\r\n\r\n return (\r\n \r\n Portfolio Alerts {filter.name}\r\n \r\n }\r\n onClose={handleClose}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n );\r\n}\r\n","import { v1 as uuid } from 'uuid';\r\nimport { useEffect } from 'react';\r\nimport { portfolioActions } from '../../../actions';\r\nimport { createFilterActions } from '../../../actions/filter.actions';\r\nimport { useAppSelector } from '../../../effects/useAppSelector';\r\nimport { BwicFilterType } from '../../../types/filters/FilterState';\r\nimport { PageConfigType } from '../../../types/page-config/PageConfigType';\r\nimport { isRequesting } from '../../../utils';\r\nimport { BwicFilters } from '../../filters/BwicFilters';\r\nimport { portfolioInitialFilters } from './portfolioInitialFilters';\r\nimport { SubscriptionFeature } from '../../../types/billing/SubscriptionFeature';\r\nimport { PortfolioFilterAlertPopup } from '../portfolio-alert/PortfolioFilterAlertPopup';\r\nimport { PortfolioUserConfigFilter } from '../../../types/user-config/UserConfigFilter';\r\nimport { AlertOption } from '../../../types/email-preferences/EmailPreferences';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\nimport { FilterManagementForm } from '../../amrPipeline/aggregated/filters-management/types';\r\nimport { EmailPreferencesRadioGroup } from '../../profile/tabs/email-preferences/tabs/EmailPreferencesRadioGroup';\r\nimport { getSerializedFilter } from '../../../utils/filtering/serializers/bwic/serializeFilter';\r\nimport { usePageConfig } from '../../common/pageConfig/usePageConfig';\r\nimport { textLabels } from '../../../constants/text-labels';\r\n\r\nconst filterActions = createFilterActions(BwicFilterType.Portfolio);\r\n\r\nexport const PortfolioFilters = () => {\r\n const dispatch = useAppDispatch();\r\n\r\n const {\r\n filter,\r\n visibleFilters,\r\n lastAppliedFilter,\r\n filterChanged,\r\n filterModified\r\n } = useAppSelector(s => s.filters.portfolio);\r\n const requestState = useAppSelector(s => s.entities.portfolios.requestState);\r\n const hasPortfolios = useAppSelector(s => !!s.entities.portfolios.items.length);\r\n const selectedFilterReferenceName = useAppSelector(s => s.filters.portfolio.selectedFilterReferenceName);\r\n\r\n const pageConfig = usePageConfig(PageConfigType.Portfolio, true, BwicFilterType.Portfolio);\r\n\r\n useEffect(() => {\r\n return () => {\r\n dispatch(filterActions.resetFilter());\r\n dispatch(filterActions.resetFilterState());\r\n dispatch(filterActions.resetFiltersVisibility());\r\n }\r\n }, [dispatch])\r\n\r\n const handleApplyFilter = () => {\r\n dispatch(portfolioActions.advancedFilterBlocked(false));\r\n dispatch(portfolioActions.applyFilter())\r\n }\r\n\r\n const renderAlertOptions = (\r\n state: FilterManagementForm,\r\n onChange: (nextState: FilterManagementForm) => void) => {\r\n const bwicAlert = state.bwicAlert ?? AlertOption.Instant;\r\n const inventoryAlert = state.inventoryAlert ?? AlertOption.Instant;\r\n\r\n return (\r\n <>\r\n onChange({ ...state, bwicAlert, inventoryAlert })}\r\n />\r\n onChange({ ...state, bwicAlert, inventoryAlert })}\r\n />\r\n \r\n );\r\n }\r\n\r\n const handleFilterCreate = (form: FilterManagementForm) => {\r\n const newFilter: PortfolioUserConfigFilter = {\r\n name: form.name,\r\n referenceName: uuid(),\r\n default: form.makeDefault,\r\n filter: getSerializedFilter(filter),\r\n dealerInventoryAlertOption: form.inventoryAlert ?? AlertOption.Instant,\r\n bwicAlertOption: form.bwicAlert ?? AlertOption.Instant,\r\n alertOption: AlertOption.Never,\r\n };\r\n\r\n pageConfig.filterActions.addFilter(newFilter);\r\n }\r\n\r\n const handleFilterUpdate = (form: FilterManagementForm) => {\r\n const existingFilter = pageConfig.config?.filters.find(f => f.referenceName === form.referenceName);\r\n if (!existingFilter) return;\r\n\r\n const updatedFilter = {\r\n ...existingFilter,\r\n filter: getSerializedFilter(filter),\r\n default: form.makeDefault,\r\n dealerInventoryAlertOption: form.inventoryAlert,\r\n bwicAlertOption: form.bwicAlert,\r\n alertOption: AlertOption.Never\r\n }\r\n\r\n pageConfig.filterActions.updateFilter(updatedFilter)\r\n }\r\n\r\n return (\r\n \r\n \r\n }\r\n renderCustomAlertOptions={renderAlertOptions}\r\n onApply={handleApplyFilter}\r\n onReset={() => dispatch(portfolioActions.resetFilter())}\r\n onVisibilityChange={(filterName: string) => dispatch(filterActions.filterVisibilityChange(filterName))}\r\n onFilterCreate={handleFilterCreate}\r\n onFilterUpdate={handleFilterUpdate}\r\n />\r\n )\r\n}\r\n","import { useDispatch } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport { portfolioActions as actions } from '../../actions';\r\nimport { routes } from '../../constants';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport { Portfolio } from '../../types/portfolio/Portfolio';\r\nimport { ContextMenu } from '../controls';\r\nimport { ContextMenuItem } from '../controls/ContextMenuItem';\r\n\r\ninterface Props {\r\n portfolio: Portfolio;\r\n}\r\n\r\nexport function PortfolioOptions({ portfolio }: Props) {\r\n const dispatch = useDispatch();\r\n\r\n const handleOnDeletePortfolio = (portfolio: Portfolio) => (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n dispatch(actions.deletePortfolioConfirmation(true, portfolio));\r\n };\r\n\r\n return (\r\n
}\r\n >\r\n \r\n \r\n Edit Portfolio\r\n \r\n \r\n \r\n Delete Portfolio\r\n \r\n \r\n )\r\n\r\n}\r\n","import cn from 'classnames';\r\nimport { SecurityBwicStatistics } from '../../../types/security/SecurityBwicStatistics';\r\nimport { formatUtils } from '../../../utils/format.utils';\r\n\r\n\r\ninterface Props {\r\n bwicHistory: SecurityBwicStatistics[];\r\n}\r\n\r\nexport const PortfolioLastTraded = ({ bwicHistory }: Props) => {\r\n const color = bwicHistory?.[0]?.color;\r\n\r\n if (!color) {\r\n return null;\r\n }\r\n\r\n const [tradedText] = formatUtils.formatColor(color).split(' ');\r\n const [, levelSpecification, level] = formatUtils.formatColor(color).split(' ');\r\n\r\n return (\r\n \r\n {tradedText || 'Traded'} {levelSpecification} {level}\r\n \r\n );\r\n};\r\n","import { ShowFor } from '../../access';\r\nimport { roles } from '../../../constants';\r\nimport { Checkbox } from '../../controls';\r\nimport { TickerButton } from '../../common';\r\nimport { PortfolioSecurity } from '../../../types/portfolio/PortfolioSecurity';\r\nimport { useSelector } from 'react-redux';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { portfolioActions, securityDetailsActions } from '../../../actions';\r\nimport { AllToAllArgeementRequiredActionBlocker } from '../../agreements/AllToAllArgeementRequiredActionBlocker';\r\nimport { user } from '../../../user';\r\nimport { SecurityBwicStatistics } from '../../../types/security/SecurityBwicStatistics';\r\nimport { bwicLogActions } from '../../../actions/bwic-log.actions';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\n\r\ninterface Props {\r\n isSecuritySelected: boolean;\r\n security: PortfolioSecurity;\r\n onSecuritySelect: () => void;\r\n currentBwic?: SecurityBwicStatistics;\r\n}\r\nexport const PortfolioSecurityTicker = ({ isSecuritySelected, security, onSecuritySelect, currentBwic }: Props) => {\r\n const dispatch = useAppDispatch();\r\n const isSettlementAgent = user.current()?.isClearingBank;\r\n\r\n const selectedBwic = useSelector((state: AppState) => state.portfolio.selectedBwic);\r\n const selectedSecurity = useSelector((state: AppState) => state.portfolio.selectedSecurity);\r\n const securityDetails = useSelector((state: AppState) => state.securityDetails.security);\r\n\r\n const handleTickerButtonClick = (security: PortfolioSecurity) => {\r\n const canViewBwicRules = currentBwic && (!currentBwic.isParsed || currentBwic.process);\r\n\r\n if (canViewBwicRules) {\r\n if (\r\n selectedBwic &&\r\n selectedBwic.referenceName === currentBwic.referenceName &&\r\n selectedSecurity?.id === security.id &&\r\n securityDetails\r\n ) {\r\n dispatch(securityDetailsActions.securityDetailsReset());\r\n dispatch(bwicLogActions.bwicLogReset());\r\n dispatch(portfolioActions.resetRowSelection());\r\n } else {\r\n dispatch(portfolioActions.showBwicDetails(security, currentBwic));\r\n }\r\n } else {\r\n dispatch(portfolioActions.showBwicDetails(security));\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n {blocked => !blocked && !isSettlementAgent &&\r\n {\r\n e.stopPropagation();\r\n onSecuritySelect()\r\n }}\r\n />}\r\n \r\n \r\n handleTickerButtonClick(security)}\r\n />\r\n \r\n )\r\n}\r\n","import { Portfolio } from '../../../types/portfolio/Portfolio';\r\nimport { keys } from 'lodash';\r\nimport { user } from '../../../user';\r\nimport { roles } from '../../../constants';\r\nimport { Checkbox } from '../../controls';\r\nimport { portfolioActions } from '../../../actions';\r\nimport { OnHoverTooltip } from '../../common';\r\nimport { useAllToAllAgreementBlocked } from '../../../effects/useAllToAllAgreementBlocked';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\n\r\ninterface SelectedPortfolioState {\r\n selectAll: boolean;\r\n securitiesSelectedState?: { [id: number]: boolean }\r\n}\r\n\r\ninterface Props {\r\n portfolio: Portfolio;\r\n selectedPortfolioState: SelectedPortfolioState\r\n}\r\n\r\nexport const PortfolioSelectAllCheckbox = (\r\n {\r\n portfolio,\r\n selectedPortfolioState = { selectAll: false, securitiesSelectedState: {} }\r\n }: Props) => {\r\n const dispatch = useAppDispatch();\r\n\r\n const isSeller = user.hasRoles(...roles.seller());\r\n const isSettlementAgent = user.current()?.isClearingBank;\r\n const isBrokerDealerTrader = user.hasRoles(roles.BrokerDealerTrader);\r\n const allToAllAgreementBlocked = useAllToAllAgreementBlocked();\r\n\r\n const counter = portfolio.securities.length;\r\n const counterText = counter === 1 ? 'security' : 'securities';\r\n\r\n const securitiesSelectedState = selectedPortfolioState.securitiesSelectedState || {};\r\n const securityIds = keys(securitiesSelectedState);\r\n const isPartiallySelected = (\r\n securityIds.some(key => securitiesSelectedState[+key]) &&\r\n !(securityIds.length === portfolio.securities.length && securityIds.every(key => securitiesSelectedState[+key]))\r\n );\r\n\r\n const сounter = (\r\n
\r\n {portfolio.name} {`(${counter} ${counterText})`}\r\n
\r\n );\r\n\r\n if (isSeller || (isBrokerDealerTrader && !allToAllAgreementBlocked && !isSettlementAgent)) {\r\n return (\r\n
\r\n \r\n dispatch(portfolioActions.portfolioSelectionChange(portfolio.id, e.target.checked))}\r\n disabled={!portfolio.securities || !portfolio.securities.length}\r\n label={сounter}\r\n />\r\n \r\n
\r\n )\r\n }\r\n return (\r\n
\r\n \r\n {сounter}\r\n \r\n
\r\n )\r\n};\r\n","import { useState } from \"react\";\r\nimport cn from \"classnames\";\r\nimport IconSVG from \"../../../styles/svg-icons\";\r\nimport { SinglePortfolioAlertsPopup } from \"../../profile/tabs/email-preferences/tabs/portfolio/SinglePortfolioAlertsPopup\";\r\nimport { Portfolio } from \"../../../types/portfolio/Portfolio\";\r\nimport { OnHoverTooltip } from \"../../common/OnHoverTooltip\";\r\nimport { user } from \"../../../user/user\";\r\nimport { roles } from \"../../../constants/roles\";\r\nimport { useAppSelector } from \"../../../effects/useAppSelector\";\r\nimport { Preloader } from \"../../common\";\r\nimport { SubscriptionFeature } from \"../../../types/billing/SubscriptionFeature\";\r\n\r\ninterface Props {\r\n portfolio: Portfolio;\r\n disabled?: boolean;\r\n}\r\n\r\nexport function SinglePortfolioAlertPreferences({ portfolio, disabled }: Props) {\r\n const [showModal, setShowModal] = useState(false);\r\n\r\n const isBwicAlertChanging = useAppSelector(s => s.portfolio.updateAlertRequestState[portfolio.id]);\r\n const isInventoryAlertChanging = useAppSelector(s => s.portfolio.updateInventoryAlertRequestState[portfolio.id]);\r\n const isCleansingNoticeAlertChanging = useAppSelector(s => s.portfolio.updateCleansingNoticeAlertRequestState[portfolio.id]);\r\n const isIssuanceMonitorAlertChanging = useAppSelector(s => s.portfolio.updateIssuanceMonitorAlertRequestState[portfolio.id]);\r\n const isOutOfRiAlertChanging = useAppSelector(s => s.portfolio.updateOutOfRiAlertRequestState[portfolio.id]);\r\n const isOutOfNcAlertChanging = useAppSelector(s => s.portfolio.updateOutOfNcAlertRequestState[portfolio.id]);\r\n const isRollerDeadlineAlertChanging = useAppSelector(s => s.portfolio.updateRollerDeadlineAlertRequestState[portfolio.id]);\r\n\r\n const isBd = user.hasRoles(...roles.bd());\r\n const tooltipText = `Receive email notifications when security from your portfolio is on a BWIC or has been added, updated, traded in the ${isBd ? '' : 'Dealer'} Inventory list.`;\r\n const isAlertSelected =\r\n portfolio.bwicAlert ||\r\n portfolio.dealersInventoryAlert ||\r\n portfolio.cleansingNoticeAlert ||\r\n portfolio.issuanceMonitorAlert ||\r\n portfolio.outOfRiPeriodAlert ||\r\n portfolio.outOfNcPeriodAlert ||\r\n portfolio.rollerDeadlineAlert;\r\n\r\n const isChanging =\r\n isBwicAlertChanging ||\r\n isInventoryAlertChanging ||\r\n isCleansingNoticeAlertChanging ||\r\n isIssuanceMonitorAlertChanging ||\r\n isOutOfRiAlertChanging ||\r\n isOutOfNcAlertChanging ||\r\n isRollerDeadlineAlertChanging;\r\n\r\n const hasAccess = user.hasAllFeatures(...[\r\n SubscriptionFeature.IssuanceMonitorFullAccess,\r\n SubscriptionFeature.PortfolioAlerts,\r\n ]);\r\n\r\n const limitedAlerts = [\r\n portfolio.cleansingNoticeAlert,\r\n portfolio.issuanceMonitorAlert,\r\n portfolio.outOfRiPeriodAlert,\r\n portfolio.outOfNcPeriodAlert,\r\n portfolio.rollerDeadlineAlert,\r\n ];\r\n\r\n const availableAlerts = [\r\n portfolio.bwicAlert,\r\n portfolio.dealersInventoryAlert,\r\n ...(hasAccess ? limitedAlerts : []),\r\n ];\r\n\r\n const allAlertsCount = availableAlerts.length + (hasAccess ? 0 : limitedAlerts.length);\r\n\r\n return (\r\n <>\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowModal(true);\r\n }}\r\n >\r\n {isAlertSelected\r\n ? \r\n : }\r\n {availableAlerts.reduce(( acc, alert ) => acc + Number(alert) , 0)}/{allAlertsCount}\r\n \r\n \r\n \r\n {showModal && setShowModal(false)} />}\r\n \r\n );\r\n}\r\n","import { constants } from \"../../../constants\";\r\nimport { useAppSelector } from \"../../../effects/useAppSelector\";\r\nimport { TransactionStatus, transactionStatusTitles } from \"../../../types/amr-pipeline/enums/TransactionStatus\";\r\nimport { SubscriptionFeature } from \"../../../types/billing/SubscriptionFeature\";\r\nimport { PortfolioSecurity } from \"../../../types/portfolio/PortfolioSecurity\";\r\nimport { isRequesting } from \"../../../utils\";\r\nimport { ValueBlocker } from \"../../access/ValueBlocker\";\r\nimport { ImTransactionDetailsLink } from \"../../amrPipeline/common/ImTransactionDetailsLink\";\r\nimport StatusLabel from \"../../amrPipeline/StatusLabel\";\r\nimport { OnHoverTooltip, Preloader } from \"../../common\";\r\nimport { TransactionTypes } from \"../../../types/amr-pipeline/enums/TransactionType\";\r\n\r\ninterface Props {\r\n security: PortfolioSecurity\r\n}\r\n\r\nexport function PortfolioTransactionDetailsLink({ security }: Props) {\r\n const requestState = useAppSelector(s => s.entities.latestTransaction.requestState);\r\n\r\n const transaction = useAppSelector(s => security.dealTicker\r\n ? s.entities.latestTransaction.items[security.dealTicker.toLowerCase()]\r\n : undefined\r\n );\r\n\r\n const requiredFeatures = transaction?.status === TransactionStatus.Active\r\n ? [] // No subscription restrictions for Active transactions\r\n : [SubscriptionFeature.IssuanceMonitorFullAccess, SubscriptionFeature.CanLookupTransactionFromPortfolio]\r\n\r\n return (\r\n \r\n \r\n {\r\n transaction != null && (\r\n transaction.status === TransactionStatus.Active ||\r\n transaction.status === TransactionStatus.Priced) ? (\r\n \r\n \r\n \r\n \r\n \r\n {TransactionTypes.find(t => t.value === transaction.type)?.text || \"View\"}\r\n \r\n ) : constants.emptyPlaceholder\r\n }\r\n \r\n \r\n )\r\n}\r\n","import { constants } from \"../../../constants\";\r\nimport { useAppSelector } from \"../../../effects/useAppSelector\";\r\nimport { SubscriptionFeature } from \"../../../types/billing/SubscriptionFeature\";\r\nimport { PortfolioSecurity } from \"../../../types/portfolio/PortfolioSecurity\";\r\nimport { isRequesting } from \"../../../utils/request-state.utils\";\r\nimport { ValueBlocker } from \"../../access/ValueBlocker\";\r\nimport { ArrangerPipelineLink } from \"../../amrPipeline/aggregated/arranger-pipeline/ArrangerPipelineLink\";\r\nimport { Preloader } from \"../../common/Preloader\";\r\n\r\ninterface Props {\r\n security: PortfolioSecurity\r\n}\r\n\r\nexport function PortfolioArrangersPipelineLink({ security }: Props) {\r\n const requestState = useAppSelector(s => s.entities.arrangersPipeline.requestState);\r\n const arrangerPipeline = useAppSelector(s => security.dealTicker\r\n ? s.entities.arrangersPipeline.items[security.dealTicker.toLowerCase()]\r\n : undefined\r\n )\r\n const requiredFeatures = [\r\n SubscriptionFeature.IssuanceMonitorArrangerPipeline,\r\n SubscriptionFeature.CanLookupArrangersPipelineFromPortfolio\r\n ];\r\n\r\n return (\r\n \r\n \r\n {\r\n arrangerPipeline ? (\r\n \r\n View\r\n ) : constants.emptyPlaceholder\r\n }\r\n \r\n \r\n );\r\n}","import moment from \"moment\";\r\nimport cn from 'classnames';\r\nimport { constants } from \"../../../constants\";\r\nimport { useAppSelector } from \"../../../effects/useAppSelector\";\r\nimport { SubscriptionFeature } from \"../../../types/billing/SubscriptionFeature\";\r\nimport { PortfolioSecurity } from \"../../../types/portfolio/PortfolioSecurity\";\r\nimport { amrFormatUtils, dateTimeUtils } from \"../../../utils\";\r\nimport { isRequesting } from \"../../../utils/request-state.utils\";\r\nimport { ValueBlocker } from \"../../access/ValueBlocker\";\r\nimport { Preloader } from \"../../common/Preloader\";\r\n\r\ninterface Props {\r\n security: PortfolioSecurity\r\n}\r\n\r\nexport function PortfolioRollerDeadline({ security }: Props) {\r\n const requestState = useAppSelector(s => s.entities.latestTransaction.requestState);\r\n const transaction = useAppSelector(s => security.dealTicker\r\n ? s.entities.latestTransaction.items[security.dealTicker.toLowerCase()]\r\n : undefined\r\n )\r\n const requiredFeatures = [\r\n SubscriptionFeature.IssuanceMonitorArrangerPipeline,\r\n SubscriptionFeature.CanLookupTransactionFromPortfolio\r\n ];\r\n\r\n const rollerDeadline = transaction?.rollerDeadline;\r\n\r\n return (\r\n \r\n \r\n {\r\n rollerDeadline\r\n ? (
\r\n {amrFormatUtils.formatRollerDeadlineDate(moment(rollerDeadline))}\r\n
) : constants.emptyPlaceholder\r\n }\r\n
\r\n
\r\n );\r\n}","import { useCallback, useMemo } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport moment from 'moment';\r\nimport { getAmrColumns } from '../../amrPipeline/common-columns';\r\nimport { Table } from '../../bidding/common/table';\r\nimport { AppState } from '../../../types/state/AppState';\r\nimport { Portfolio } from '../../../types/portfolio/Portfolio';\r\nimport { TableColumnStickType } from '../../bidding/common/table/types/TableColumnStickType';\r\nimport { PortfolioSecurity } from '../../../types/portfolio/PortfolioSecurity';\r\nimport { constants } from '../../../constants/constants';\r\nimport { pipelineColumnLabels, pipelineTooltipText } from '../../../constants/amr-pipeline/pipelineColumnLabels';\r\nimport { roles } from '../../../constants/roles';\r\nimport { routes } from '../../../constants/routes';\r\nimport { bwicStatuses } from '../../../constants/bwic.statuses';\r\nimport { BwicStatusLabel } from '../../common/BwicStatusLabel';\r\nimport { EmptyPlaceholder } from '../../common/EmptyPlaceholder';\r\nimport { OnHoverTooltip } from '../../common/OnHoverTooltip';\r\nimport { portfolioActions } from '../../../actions/portfolio.actions';\r\nimport { useActiveInventorySecuritesIds } from '../../../effects/useActiveInventorySecuritesIds';\r\nimport { history } from '../../../history';\r\nimport { Confirm } from '../../alerts';\r\nimport IconSVG from '../../../styles/svg-icons';\r\nimport { PortfolioOptions } from '../PortfolioOptions';\r\nimport { IColumnDefinition } from '../../bidding/common/table/types/ColumnDefinition';\r\nimport { SubscriptionFeature } from '../../../types/billing/SubscriptionFeature';\r\nimport { ColumnBuilder } from '../../bidding/common/table/columns/column-builder/ColumnBuilder';\r\nimport { user } from '../../../user/user';\r\nimport { StickyTableRow } from '../../bidding/common/table/sticky/StickyTableRow';\r\nimport { SecurityInventoryLink } from '../../inventory/SecurityInventoryLink';\r\nimport { PortfolioLastTraded } from './PortfolioLastTraded';\r\nimport { moneyUtils } from '../../../utils/money.utils';\r\nimport { PortfolioSecurityTicker } from './PortfolioSecurityTicker';\r\nimport { BwicProcessType } from '../../../types/models/Process';\r\nimport { IntexLink } from '../../common/IntexLink';\r\nimport { PortfolioAgreementDisclaimerActionBlocker } from '../../portfolio-agreement-disclaimer/PortfolioAgreementDisclaimerActionBlocker';\r\nimport { CreatePortfolioButton } from '../../portfolio-agreement-disclaimer/CreatePortfolioButton';\r\nimport { BloombergLink } from '../../common/BloombergLink';\r\nimport { SecurityBwicStatistics } from '../../../types/security/SecurityBwicStatistics';\r\nimport { PipelineColumn } from \"../../amrPipeline/types/PipelineColumn\";\r\nimport { ValitanaLink } from '../../common/ValitanaLink';\r\nimport { collapseStickRightColumn } from '../../bidding/common/table/CollapseStickRightColumn';\r\nimport { createColumnListBuilder } from '../../../utils/ColumnListBuilder';\r\nimport { PageConfig } from '../../../types/page-config/PageConfig';\r\nimport { ColumnConfigKey } from '../../../types/page-config/column-customizer/ColumnConfigKey';\r\nimport { MyBwicIcon } from '../../common/MyBwicIcon';\r\nimport { ImDealLookupLink } from '../../amrPipeline/common/ImDealLookupLink';\r\nimport { PortfolioSelectAllCheckbox } from './PortfolioSelectAllCheckbox';\r\nimport { SinglePortfolioAlertPreferences } from '../portfolio-alert/SinglePortfolioAlertPreferences';\r\nimport { bwicColumnsLabels } from '../../../constants/bwicColumnsLabels';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\nimport { SecurityLastTradedDate } from '../../common/SecurityLastTradedDate';\r\nimport { ViewDealDocumentsButton } from '../../documents/deal-documents-popup/ViewDealDocumentButton';\r\nimport { InfoTooltip } from '../../common/InfoTooltip';\r\nimport { PortfolioTransactionDetailsLink } from './PortfolioTransactionDetailsLink';\r\nimport { PortfolioArrangersPipelineLink } from './PortfolioArrangerPipelineLink';\r\nimport { PortfolioRollerDeadline } from './PortfolioRollerDealine';\r\nimport { BwicMonitorLookupLink } from '../../common/BwicMonitorLookupLink';\r\nimport { dateTimeUtils } from '../../../utils';\r\nimport { CleansingNoticeButton } from '../../documents/deal-documents-popup/CleansingNoticeButton';\r\n\r\nexport interface ParsedHistory {\r\n currentBwic?: SecurityBwicStatistics,\r\n bwicHistory: SecurityBwicStatistics[],\r\n}\r\n\r\ninterface TableContext {\r\n parsedHistory: ParsedHistory\r\n}\r\n\r\nexport interface Props {\r\n filteredPortfolios: Portfolio[],\r\n pageConfig?: PageConfig,\r\n}\r\n\r\nexport const parseSecurityHistory = (history: SecurityBwicStatistics[]): ParsedHistory => {\r\n const currentBwic = [...history]\r\n .sort((a, b) => new Date(a.bidsDueUtc).getTime() - new Date(b.bidsDueUtc).getTime())\r\n .find(h => h.status === bwicStatuses.scheduled.key || h.status === bwicStatuses.bidding.key);\r\n const bwicHistory = history.filter(h => h.status === bwicStatuses.finished.key);\r\n return { currentBwic, bwicHistory };\r\n};\r\n\r\nexport const PortfolioTable = ({ filteredPortfolios, pageConfig }: Props) => {\r\n const isBroker = user.hasRoles(...roles.bd());\r\n const columnsConfig = user.hasFeatures(SubscriptionFeature.PortfolioColumnCustomizer)\r\n ? pageConfig?.columns\r\n : undefined;\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n const portfolios = useSelector((state: AppState) => state.entities.portfolios.items)\r\n const selectedState = useSelector((state: AppState) => state.portfolio.selectedState);\r\n const portfolioDelete = useSelector((state: AppState) => state.portfolio.portfolioDelete);\r\n const securityDetails = useSelector((s: AppState) => s.securityDetails);\r\n const selectedSecurity = useSelector((s: AppState) => s.portfolio.selectedSecurity);\r\n\r\n\r\n const [, activeInventorySecurityIdByCount] = useActiveInventorySecuritesIds();\r\n\r\n const renderPortfolioSecurities = useCallback((portfolio: Portfolio, columnType?: TableColumnStickType) => {\r\n const portfolioSelectedSecurities = selectedState[portfolio.id] ? selectedState[portfolio.id].securitiesSelectedState : {};\r\n\r\n const handleSecuritySelect = (securityId: number, selected: boolean) =>\r\n dispatch(portfolioActions.portfolioSecuritySelectionChange(portfolio.id, securityId, !selected))\r\n\r\n const getPositionListColumns = (\r\n selectedState: { [securityId: number]: boolean },\r\n activeInventorySecurityIdByCount: { [securityId: number]: number },\r\n ): ColumnBuilder[][] => {\r\n const { dealName, collateralType, manager, nonCallPeriodEnd, reinvestmentPeriodEnd, maturity, vintage, trustee, amrDeal, staticDeal, euCompliance, esg, closingDate, outOfNC, outOfRI, nonCallPeriodEndYears, reinvestmentPeriodEndYears } = getAmrColumns();\r\n const leftColumns: IColumnDefinition[] = [{\r\n columnKey: 'ticker',\r\n configKey: ColumnConfigKey.Ticker,\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: (security, context) => (\r\n handleSecuritySelect(security.id, selectedState[security.id])}\r\n currentBwic={context.parsedHistory.currentBwic}\r\n />\r\n ),\r\n className: 'data-list-cell-lg-02 padding-l-0',\r\n }];\r\n\r\n const middleColumns: IColumnDefinition[] = [{\r\n columnKey: 'deal-documents',\r\n configKey: ColumnConfigKey.DealDocuments,\r\n renderColumnHeaderContent: () => 'Docs',\r\n renderColumnContent: security => security.documentsCount\r\n ? \r\n : constants.emptyPlaceholder,\r\n className: '',\r\n }, {\r\n columnKey: 'rtg',\r\n configKey: ColumnConfigKey.Rating,\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: security => security.rating,\r\n className: 'data-list-cell-xs',\r\n }, {\r\n columnKey: 'size',\r\n configKey: ColumnConfigKey.Size,\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: security => moneyUtils.amountToMM(security.size),\r\n className: 'text-right',\r\n }, {\r\n columnKey: 'is-my-bwic',\r\n configKey: ColumnConfigKey.CurrentBwic,\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: (security, context) => context.parsedHistory.currentBwic ? (\r\n \r\n ) : null,\r\n className: 'data-list-cell-xxs',\r\n }, {\r\n columnKey: 'currentBWIC',\r\n configKey: ColumnConfigKey.CurrentBwic,\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: (security, context) =>\r\n context.parsedHistory.currentBwic\r\n ? (\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n )\r\n : constants.emptyPlaceholder,\r\n className: 'data-list-cell-xl-xxl',\r\n }, {\r\n columnKey: 'inventory',\r\n configKey: ColumnConfigKey.Inventory,\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: security =>\r\n !!activeInventorySecurityIdByCount[security.securityId] ? (\r\n \r\n ) : (constants.emptyPlaceholder),\r\n className: 'data-list-cell-sm',\r\n }, {\r\n columnKey: 'lastTraderIsMine',\r\n configKey: ColumnConfigKey.LastTraded,\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: (security, context) => (\r\n \r\n {(isInventoryDate) => context.parsedHistory.bwicHistory?.[0] && !isInventoryDate ? : null}\r\n \r\n ),\r\n className: 'data-list-cell-xxs',\r\n }, {\r\n columnKey: 'dueDate',\r\n configKey: ColumnConfigKey.LastTraded,\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: (security, context) => (\r\n \r\n {(isInventoryDate, lastTradeDate) => lastTradeDate ? moment(lastTradeDate).format(constants.dateFormat) : constants.emptyPlaceholder}\r\n \r\n ),\r\n className: 'data-list-cell-sm-01',\r\n }, {\r\n columnKey: 'lastTraded',\r\n configKey: ColumnConfigKey.LastTraded,\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: (security, context) =>\r\n \r\n {isInventoryDate => isInventoryDate ? null : }\r\n ,\r\n className: 'data-list-cell-md',\r\n }, {\r\n columnKey: 'cleansing-notice-document',\r\n configKey: ColumnConfigKey.CleansingNotice,\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: security =>\r\n ,\r\n className: 'data-list-cell-sm',\r\n }, {\r\n columnKey: 'im-transaction',\r\n configKey: ColumnConfigKey.ImTransaction,\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: security => ,\r\n className: 'data-list-cell-lg',\r\n }, {\r\n columnKey: 'roller-deadline',\r\n configKey: ColumnConfigKey.RollerDeadline,\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: security => ,\r\n className: 'data-list-cell-lg-02',\r\n }, {\r\n columnKey: 'arranger-pipeline',\r\n configKey: ColumnConfigKey.ArrangerPipeline,\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: security => ,\r\n className: 'data-list-cell-md',\r\n },\r\n dealName,\r\n manager,\r\n closingDate,\r\n nonCallPeriodEnd,\r\n nonCallPeriodEndYears,\r\n outOfNC,\r\n reinvestmentPeriodEnd,\r\n reinvestmentPeriodEndYears,\r\n outOfRI,\r\n maturity,\r\n vintage,\r\n trustee,\r\n amrDeal,\r\n staticDeal,\r\n euCompliance,\r\n esg,\r\n collateralType\r\n ];\r\n\r\n const imDealLookup: IColumnDefinition = {\r\n columnKey: 'imDealLookup',\r\n renderColumnHeaderContent: () => null,\r\n renderColumnContent: security =>\r\n <>\r\n {\r\n !!security.dealReferenceName &&\r\n !!security.dealLegalName &&\r\n \r\n }\r\n ,\r\n className: 'data-list-cell-xxs margin-l-a padding-r-0 text-right'\r\n };\r\n const intex: IColumnDefinition = {\r\n columnKey: 'intex',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: security => ,\r\n className: 'data-list-cell-xxs text-right padding-r-0',\r\n };\r\n const bloomberg: IColumnDefinition = {\r\n columnKey: 'bloomberg',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: security => ,\r\n className: 'data-list-cell-xxs text-right padding-r-0',\r\n };\r\n const valitana: IColumnDefinition = {\r\n columnKey: 'valitana',\r\n configKey: ColumnConfigKey.Actions,\r\n renderColumnHeaderContent: () => 'Actions',\r\n renderColumnContent: security => ,\r\n className: 'data-list-cell-xxs text-right',\r\n };\r\n\r\n const left = createColumnListBuilder(columnsConfig)\r\n .add(...leftColumns)\r\n .result()\r\n .map(c => new ColumnBuilder(c));\r\n const middle = createColumnListBuilder(columnsConfig)\r\n .add(...middleColumns)\r\n .result()\r\n .map(c => new ColumnBuilder(c));\r\n const right = createColumnListBuilder(columnsConfig)\r\n .add(collapseStickRightColumn, imDealLookup, intex, bloomberg, valitana)\r\n .result()\r\n .map(c => new ColumnBuilder(c));\r\n\r\n return [left, middle, right];\r\n }\r\n\r\n const [left, middle, right] = getPositionListColumns(\r\n portfolioSelectedSecurities,\r\n activeInventorySecurityIdByCount\r\n );\r\n\r\n let columns: ColumnBuilder[] = [];\r\n\r\n if (columnType === TableColumnStickType.Left) columns = left;\r\n if (columnType === TableColumnStickType.Middle) columns = middle;\r\n if (columnType === TableColumnStickType.Right) columns = right;\r\n\r\n return portfolio.securities.map(s => (\r\n \r\n ));\r\n }, [selectedState, activeInventorySecurityIdByCount, selectedSecurity, dispatch, columnsConfig])\r\n\r\n const getPortfolioTableColumns = useMemo(() => {\r\n const ticker = {\r\n columnKey: 'ticker',\r\n configKey: ColumnConfigKey.Ticker,\r\n renderColumnHeaderContent: () => 'Ticker',\r\n renderColumnContent: (portfolio: Portfolio) =>\r\n ,\r\n headerClassName: 'data-list-cell-lg-02 padding-l-0',\r\n bodyClassName: 'data-list-cell-portfolio-ticker padding-l-0',\r\n stickLeft: true\r\n };\r\n const inventory = {\r\n columnKey: 'inventory',\r\n configKey: ColumnConfigKey.Inventory,\r\n renderColumnHeaderContent: () => (\r\n <>\r\n Inventory\r\n \r\n \r\n \r\n \r\n ),\r\n renderColumnContent: () => '',\r\n headerClassName: 'data-list-cell-sm',\r\n bodyClassName: 'data-list-cell-symbol',\r\n }\r\n const imTransaction = {\r\n columnKey: 'im-transaction',\r\n configKey: ColumnConfigKey.ImTransaction,\r\n renderColumnHeaderContent: () =>\r\n <>Issuance Monitor ,\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-lg',\r\n }\r\n const rollerDeadline = {\r\n columnKey: 'roller-deadline',\r\n configKey: ColumnConfigKey.RollerDeadline,\r\n renderColumnHeaderContent: () => \"Roller Deadline (EST)\",\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-lg-02',\r\n }\r\n const arrangerPipeline = {\r\n columnKey: 'arranger-pipeline',\r\n configKey: ColumnConfigKey.ArrangerPipeline,\r\n renderColumnHeaderContent: () =>\r\n <>Arranger Pipeline ,\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-md',\r\n }\r\n const rtg = {\r\n columnKey: 'rtg',\r\n configKey: ColumnConfigKey.Rating,\r\n renderColumnHeaderContent: () => 'Rtg',\r\n renderColumnContent: () => '',\r\n headerClassName: 'data-list-cell-xs',\r\n bodyClassName: 'data-list-cell-symbol',\r\n }\r\n const size = {\r\n columnKey: 'size',\r\n configKey: ColumnConfigKey.Size,\r\n renderColumnHeaderContent: () => 'Size, MM',\r\n renderColumnContent: () => '',\r\n headerClassName: 'text-right',\r\n bodyClassName: 'data-list-cell-symbol text-right',\r\n }\r\n const currentBWICmyBWIC = {\r\n columnKey: 'is-my-bwic',\r\n configKey: ColumnConfigKey.CurrentBwic,\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-xxs',\r\n }\r\n const currentBWIC = {\r\n columnKey: 'currentBWIC',\r\n configKey: ColumnConfigKey.CurrentBwic,\r\n renderColumnHeaderContent: () => 'Current BWIC',\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-xl-xxl',\r\n }\r\n const lastTraderIsMine = {\r\n columnKey: 'lastTraderIsMine',\r\n configKey: ColumnConfigKey.LastTraded,\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-xxs',\r\n }\r\n const lastTraded = {\r\n columnKey: 'lastTraded',\r\n configKey: ColumnConfigKey.LastTraded,\r\n renderColumnHeaderContent: () => 'Last Traded',\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-sm-01',\r\n }\r\n const lastTradedStatus = {\r\n columnKey: 'lastTradedStatus',\r\n configKey: ColumnConfigKey.LastTraded,\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-md',\r\n }\r\n const cleansingNotice = {\r\n columnKey: 'cleansing-notice-document',\r\n configKey: ColumnConfigKey.CleansingNotice,\r\n renderColumnHeaderContent: () => 'Cleansing Notice',\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-sm',\r\n }\r\n const dealName = {\r\n columnKey: 'dealName',\r\n configKey: ColumnConfigKey.DealName,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.dealName],\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-xl',\r\n }\r\n const manager = {\r\n columnKey: 'manager',\r\n configKey: ColumnConfigKey.CollateralManager,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.manager],\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-xl',\r\n }\r\n const closingDate = {\r\n columnKey: 'closingDate',\r\n configKey: ColumnConfigKey.ClosingDate,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.closingDate],\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-sm',\r\n }\r\n const ncEnd = {\r\n columnKey: 'NcEnd',\r\n configKey: ColumnConfigKey.NcEnd,\r\n renderColumnHeaderContent: () => bwicColumnsLabels[ColumnConfigKey.NcEnd],\r\n renderColumnContent: () => '',\r\n className: \"data-list-cell-sm\"\r\n }\r\n const riEnd = {\r\n columnKey: 'RiEnd',\r\n configKey: ColumnConfigKey.RiEnd,\r\n renderColumnHeaderContent: () => bwicColumnsLabels[ColumnConfigKey.RiEnd],\r\n renderColumnContent: () => '',\r\n className: \"data-list-cell-sm\"\r\n }\r\n const ncEndYrs = {\r\n columnKey: 'ncEndYrs',\r\n configKey: ColumnConfigKey.NcEndYrs,\r\n renderColumnHeaderContent: () => (\r\n \r\n {pipelineColumnLabels[PipelineColumn.nonCallPeriodEndYears]}\r\n \r\n \r\n ),\r\n renderColumnContent: () => '',\r\n className: \"data-list-cell-sm text-right\"\r\n }\r\n const outOfNcEnd = {\r\n columnKey: 'outOfNcEnd',\r\n configKey: ColumnConfigKey.OutOfNc,\r\n renderColumnHeaderContent: () => (\r\n \r\n {pipelineColumnLabels[PipelineColumn.outOfNC]}\r\n \r\n \r\n ),\r\n renderColumnContent: () => '',\r\n className: \"data-list-cell-sm\"\r\n }\r\n const riEndYrs = {\r\n columnKey: 'riEndYrs',\r\n configKey: ColumnConfigKey.RiEndYrs,\r\n renderColumnHeaderContent: () => (\r\n \r\n {pipelineColumnLabels[PipelineColumn.reinvestmentPeriodEndYears]}\r\n \r\n \r\n ),\r\n renderColumnContent: () => '',\r\n className: \"data-list-cell-sm text-right\"\r\n }\r\n const outOfRiEnd = {\r\n columnKey: 'outOfRiEnd',\r\n configKey: ColumnConfigKey.OutOfRi,\r\n renderColumnHeaderContent: () => (\r\n \r\n {pipelineColumnLabels[PipelineColumn.outOfRI]}\r\n \r\n \r\n ),\r\n renderColumnContent: () => '',\r\n className: \"data-list-cell-sm\"\r\n }\r\n const maturity = {\r\n columnKey: 'maturity',\r\n configKey: ColumnConfigKey.Maturity,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.maturity],\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-sm'\r\n }\r\n const vintage = {\r\n columnKey: 'vintage',\r\n configKey: ColumnConfigKey.Vintage,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.vintage],\r\n renderColumnContent: () => '',\r\n }\r\n const trustee = {\r\n columnKey: 'trustee',\r\n configKey: ColumnConfigKey.Trustee,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.trustee],\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-xl',\r\n }\r\n const amrDeal = {\r\n columnKey: 'amrDeal',\r\n configKey: ColumnConfigKey.AmrDeal,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.amrDeal],\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-sm',\r\n }\r\n const staticDeal = {\r\n columnKey: 'staticDeal',\r\n configKey: ColumnConfigKey.StaticDeal,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.staticDeal],\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-sm',\r\n }\r\n const euComp = {\r\n columnKey: 'euComp',\r\n configKey: ColumnConfigKey.EuCompliance,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.euCompliance],\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-sm',\r\n }\r\n const esg = {\r\n columnKey: 'esg',\r\n configKey: ColumnConfigKey.Esg,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.esg],\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-xs',\r\n }\r\n const collat = {\r\n columnKey: 'collat',\r\n configKey: ColumnConfigKey.CollateralType,\r\n renderColumnHeaderContent: () => pipelineColumnLabels[PipelineColumn.collateralType],\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-xs',\r\n }\r\n const dealDocs = {\r\n columnKey: 'deal-documents',\r\n configKey: ColumnConfigKey.DealDocuments,\r\n renderColumnHeaderContent: () => 'Docs',\r\n renderColumnContent: () => '',\r\n className: '',\r\n }\r\n const imDealLookupPlaceholder = {\r\n columnKey: 'imDealLookupPlaceholder',\r\n renderColumnHeaderContent: () => '',\r\n renderColumnContent: () => '',\r\n className: 'data-list-cell-xxs',\r\n stickRight: true\r\n }\r\n const options = {\r\n columnKey: 'options',\r\n renderColumnHeaderContent: () => 'Actions',\r\n renderColumnContent: (portfolio: Portfolio) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n ),\r\n headerClassName: 'data-list-cell-sm text-right',\r\n bodyClassName: 'data-list-cell-sm text-right overflow-visible',\r\n stickRight: true\r\n }\r\n\r\n const columnDefinitions: IColumnDefinition[] =\r\n createColumnListBuilder(columnsConfig)\r\n .add(ticker)\r\n .add(dealDocs)\r\n .add(rtg)\r\n .add(size)\r\n .add(currentBWICmyBWIC, currentBWIC)\r\n .add(inventory)\r\n .add(lastTraderIsMine, lastTraded, lastTradedStatus)\r\n .add(cleansingNotice)\r\n .add(imTransaction)\r\n .add(rollerDeadline)\r\n .add(arrangerPipeline)\r\n .add(dealName)\r\n .add(manager)\r\n .add(closingDate)\r\n .add(ncEnd)\r\n .add(ncEndYrs)\r\n .add(outOfNcEnd)\r\n .add(riEnd)\r\n .add(riEndYrs)\r\n .add(outOfRiEnd)\r\n .add(maturity)\r\n .add(vintage)\r\n .add(trustee)\r\n .add(amrDeal)\r\n .add(staticDeal)\r\n .add(euComp)\r\n .add(esg)\r\n .add(collat)\r\n .add(collapseStickRightColumn)\r\n .add(imDealLookupPlaceholder)\r\n .add(options)\r\n .result()\r\n\r\n return columnDefinitions.map(c => new ColumnBuilder(c));\r\n // eslint-disable-next-line\r\n }, [selectedState, isBroker, securityDetails, pageConfig?.columns])\r\n\r\n if (!portfolios) {\r\n return null;\r\n }\r\n\r\n if (!portfolios.length) {\r\n const handleClick = () => history.push(routes.newPortfolio);\r\n\r\n return (\r\n \r\n You have not created any portfolios yet.\r\n
\r\n To create a portfolio, click \"Add Portfolio\" below.\r\n \r\n }\r\n >\r\n \r\n \r\n Add portfolio\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {\r\n portfolioDelete.visible &&\r\n dispatch(portfolioActions.deletePortfolioConfirmation(false))}\r\n onConfirm={() => dispatch(portfolioActions.deletePortfolio(portfolioDelete.portfolio.id))}\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 { RightSideTabPanel } from '../controls/RightSideTabPanel';\r\nimport { AppState } from '../../types/state/AppState';\r\nimport { SecurityDetails } from '../security-details';\r\nimport { pxTalkListActions, rulesActions, securityDetailsActions } from '../../actions';\r\nimport { BwicRules } from '../bwic-rules/BwicRules';\r\nimport { PxTalkList } from '../common';\r\nimport { portfolioActions } from '../../actions';\r\nimport { BwicViewLink } from '../common/BwicViewLink';\r\nimport SecurityDetailsOptions from '../security-details/SecurityDetailsOptions';\r\nimport { ControlPanelOptions } from '../bidding/common/ControlPanelOptions';\r\nimport { BWICLog } from '../security-details/bwic-log/BWICLog';\r\nimport { bwicLogActions } from '../../actions/bwic-log.actions';\r\nimport { useAppDispatch } from '../../effects/useAppDispatch';\r\n\r\nexport const PortfolioControlPanel: React.FC = () => {\r\n const dispatch = useAppDispatch();\r\n\r\n const security = useSelector((s: AppState) => s.portfolio.selectedSecurity);\r\n const securityDetails = useSelector((s: AppState) => s.securityDetails);\r\n const bwicLog = useSelector((s: AppState) => s.bwicLog);\r\n const selectedBwic = useSelector((s: AppState) => s.portfolio.selectedBwic);\r\n const pxTalkListVisible = useSelector((s: AppState) => s.pxTalkList.visible);\r\n const rules = useSelector((s: AppState) => s.rules);\r\n\r\n if (!selectedBwic) {\r\n return null;\r\n }\r\n\r\n const tabs = [{\r\n title: 'Px Talk',\r\n active: pxTalkListVisible,\r\n renderContent: () =>\r\n ,\r\n onActivate: () => dispatch(pxTalkListActions.show(selectedBwic.positionId)),\r\n onDeactivate: () => dispatch(pxTalkListActions.hide())\r\n }, {\r\n title: 'Security',\r\n active: !!securityDetails.security,\r\n renderContent: () => ,\r\n onActivate: () => dispatch(securityDetailsActions.securityDetailsInitRequest(security, true)),\r\n onDeactivate: () => dispatch(securityDetailsActions.securityDetailsReset())\r\n }, {\r\n title: 'BWIC Log',\r\n active: !!bwicLog.security,\r\n renderContent: () => ,\r\n onActivate: () => dispatch(bwicLogActions.bwicLogInitRequest(security)),\r\n onDeactivate: () => dispatch(bwicLogActions.bwicLogReset())\r\n }, {\r\n title: 'Rules',\r\n active: rules.show,\r\n renderContent: () =>\r\n
\r\n \r\n
\r\n \r\n
\r\n
,\r\n onActivate: () => dispatch(rulesActions.show(selectedBwic.positionId)),\r\n onDeactivate: () => dispatch(rulesActions.hide())\r\n }\r\n ];\r\n\r\n return (\r\n \r\n <>{security.ticker}\r\n \r\n \r\n }\r\n items={tabs}\r\n onClose={() => dispatch(portfolioActions.hideActivePanels())}\r\n />\r\n )\r\n};\r\n","import { useState } from \"react\";\r\nimport { useQuery } from \"../../effects/useQuery\";\r\nimport { DealDocumentsPopup, DealDocumentsPopupTab } from \"../documents/deal-documents-popup/DealDocumentsPopup\";\r\nimport { useAppSelector } from \"../../effects/useAppSelector\";\r\nimport { SubscriptionFeature } from \"../../types/billing/SubscriptionFeature\";\r\n\r\ninterface Props {\r\n defaultTab?: DealDocumentsPopupTab\r\n}\r\n\r\nexport function DealDocumentsAutoOpener({ defaultTab = DealDocumentsPopupTab.CleansingNotice }: Props) {\r\n const qs = useQuery<{ docs_view?: string }>();\r\n const dealTicker = qs.docs_view;\r\n\r\n const [visible, setVisible] = useState(true);\r\n\r\n const portfolios = useAppSelector(s => s.entities.portfolios.items);\r\n\r\n if (!dealTicker || !visible) return null;\r\n\r\n const security = portfolios\r\n .map(p => p.securities)\r\n .flat()\r\n .find(s => dealTicker.localeCompare(s.dealTicker ?? '', undefined, { sensitivity: 'accent' }) === 0);\r\n\r\n if (!security) return null;\r\n\r\n return setVisible(false)}\r\n />\r\n}","import { entries, sumBy } from 'lodash';\r\nimport { useEffect, useMemo } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { portfolioActions as actions, portfolioActions, searchSecuritiesActions } from '../../actions';\r\nimport { portfolioListActions } from '../../actions/portfolio-list.actions';\r\nimport { onBoardingTooltipConst, routes } from '../../constants';\r\nimport { roles } from '../../constants/roles';\r\nimport { useAppSelector } from '../../effects/useAppSelector';\r\nimport { useLocationStateReset } from '../../effects/useLocationStateReset';\r\nimport { getPortfolios } from '../../selectors/portfolio.selector';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport { SubscriptionFeature } from '../../types/billing/SubscriptionFeature';\r\nimport { BwicStatus } from '../../types/enums/BwicStatus';\r\nimport { BwicFilterType } from '../../types/filters/FilterState';\r\nimport { PageConfigType } from '../../types/page-config/PageConfigType';\r\nimport { Portfolio } from '../../types/portfolio/Portfolio';\r\nimport { LocationStateBuilder, PopupType } from '../../types/state/ui/LocationState';\r\nimport { apiUtils, arrayUtils, isRequestFailed, isRequesting, isRequestNone, isRequestSuccess } from '../../utils';\r\nimport { ActionBlocker } from '../access/ActionBlocker';\r\nimport { FeatureButton } from '../access/FeatureButton';\r\nimport { ControlPanelOptions } from '../bidding/common/ControlPanelOptions';\r\nimport { EmptyPlaceholder, OnHoverTooltip, Preloader, Relative } from '../common';\r\nimport { NewBwicButton } from '../common/new-bwic-button/NewBwicButton';\r\nimport { BwicColumnCustomizer } from '../common/pageConfig/column-customizer/BwicColumnCustomizer';\r\nimport { usePageConfig } from '../common/pageConfig/usePageConfig';\r\nimport { SecuritiesSearchInput } from '../filters';\r\nimport { OnBoardingTooltip } from '../onBoarding/OnBoardingTooltip';\r\nimport { CreatePortfolioButton } from '../portfolio-agreement-disclaimer/CreatePortfolioButton';\r\nimport { PortfolioAgreementDisclaimerActionBlocker } from '../portfolio-agreement-disclaimer/PortfolioAgreementDisclaimerActionBlocker';\r\nimport { PortfolioAgreementDisclaimerContentBlocker } from '../portfolio-agreement-disclaimer/PortfolioAgreementDisclaimerContentBlocker';\r\nimport { RequestSettlementAgentAgreementBanner } from '../request-settlement-agent-agreement/RequestSettlementAgentAgreementBanner';\r\nimport { SecurityDetailsPanel } from '../security-details';\r\nimport { SecurityUsagePopup, TSecurityUsagePopupPayload } from '../security-usage-popup/SecurityUsagePopup';\r\nimport { PortfolioFilters } from './filter/PortfolioFilters';\r\nimport { PortfolioTable } from './portfolio-table/PortfolioTable';\r\nimport { PortfolioControlPanel } from './PortfolioControlPanel';\r\nimport { PortfolioAlertsPreferences } from './portfolio-alert/PortfolioAlertsPreferences';\r\nimport { BlockedFeatureContent, SubscribeLink } from '../access/BlockedFeatureText';\r\nimport { useAppDispatch } from '../../effects/useAppDispatch';\r\nimport { RoleActionBlocker } from '../access/RoleActionBlocker';\r\nimport { useSecurityLatestTransaction } from '../../effects/data-accessors/useSecurityLatestTransaction';\r\nimport { useSecurityArrangersPipeline } from '../../effects/data-accessors/useSecurityArrangersPipeline';\r\nimport { DealDocumentsAutoOpener } from './DealDocumentsAutoOpener';\r\n\r\nconst PortfolioComponent = () => {\r\n const pageConfigType = PageConfigType.Portfolio;\r\n const dispatch = useAppDispatch();\r\n const history = useHistory();\r\n\r\n const isLoading = useAppSelector(({ entities: { portfolios: { requestState } } }) =>\r\n isRequesting(requestState) || isRequestNone(requestState));\r\n const portfolios = useAppSelector(s => s.entities.portfolios.items);\r\n const filteredPortfolios: Portfolio[] = useAppSelector(getPortfolios);\r\n const selectedState = useAppSelector(s => s.portfolio.selectedState);\r\n const searchTermItems = useAppSelector(s => s.searchSecurities.searchTermItems) || [];\r\n const selectedBwic = useAppSelector(s => s.portfolio.selectedBwic);\r\n const idRequestingExportPortfolio = useAppSelector(s => s.portfolio.idRequestingExportPortfolio);\r\n const {\r\n config, requestState: pageConfigRequestState, defaultConfigRequestState\r\n } = usePageConfig(pageConfigType, false, BwicFilterType.Portfolio);\r\n const isPageConfigLoaded = isRequestSuccess(pageConfigRequestState, defaultConfigRequestState)\r\n || isRequestFailed(pageConfigRequestState, defaultConfigRequestState);\r\n\r\n const hasFilteredPortfolios = !!filteredPortfolios.length;\r\n const hasPortfolios = !!portfolios.length;\r\n const adavancedFiltersBlocked = useAppSelector(s => s.portfolio.advancedFilterBlocked);\r\n\r\n const tickers = useMemo(() => {\r\n const allTickers =\r\n portfolios\r\n .map(p => p.securities)\r\n .flat()\r\n .map(s => s.dealTicker)\r\n .filter(t => t)\r\n .map(t => t!) // avoid TS error\r\n\r\n return [...new Set(allTickers)]\r\n }, [portfolios])\r\n\r\n useSecurityLatestTransaction(tickers);\r\n useSecurityArrangersPipeline(tickers);\r\n\r\n useLocationStateReset();\r\n\r\n useEffect(() => {\r\n if (isPageConfigLoaded) dispatch(portfolioListActions.request());\r\n return () => {\r\n dispatch(actions.reset());\r\n }\r\n }, [dispatch, isPageConfigLoaded])\r\n\r\n const hasSecurities = useMemo(\r\n () => hasPortfolios && portfolios.some(p => p.securities.length),\r\n [hasPortfolios, portfolios]\r\n );\r\n\r\n const selectedSecurityCount = useMemo(\r\n () => sumBy(\r\n Object.values(selectedState),\r\n p => Object.values(p.securitiesSelectedState).filter(selected => selected).length\r\n ),\r\n [selectedState]\r\n );\r\n\r\n const handleClick = () => history.push(routes.newPortfolio);\r\n\r\n const handleResetFilterAndSearch = () => {\r\n dispatch(searchSecuritiesActions.reset());\r\n dispatch(actions.resetFilter());\r\n }\r\n\r\n const renderAlertToggle = useMemo(() => (\r\n \r\n
\r\n \r\n
\r\n \r\n ), [hasPortfolios, isLoading]);\r\n\r\n const renderTable = () => {\r\n if (adavancedFiltersBlocked) {\r\n return to see Portfolio details} />\r\n }\r\n if (hasPortfolios) {\r\n return filteredPortfolios.length\r\n ? \r\n : \r\n }\r\n return (\r\n \r\n

\r\n You have not created any portfolios yet.
\r\n To create a portfolio, click \"Add Portfolio\" below.\r\n

\r\n \r\n \r\n Add Portfolio\r\n \r\n \r\n
\r\n )\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Portfolio

\r\n
\r\n dispatch(actions.applySearchInput())}\r\n requiredFeature={SubscriptionFeature.PortfolioSecuritySearch}\r\n />\r\n
\r\n
\r\n
\r\n \r\n {renderAlertToggle}\r\n \r\n \r\n \r\n
\r\n \r\n dispatch(actions.exportAll())}\r\n >\r\n \r\n Export\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n New Portfolio\r\n \r\n \r\n \r\n \r\n {(blocked) => (\r\n history.push(routes.portfolioDocuments)}\r\n >\r\n \r\n Upload Docs\r\n \r\n )}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {/**/}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {\r\n !isLoading &&\r\n <>\r\n {renderTable()}\r\n {\r\n selectedBwic\r\n ? \r\n : dispatch(portfolioActions.resetRowSelection())}\r\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 { PortfolioComponent as Portfolio }\r\n\r\n\r\ninterface PortfolioNewBwicButtonProps {\r\n count: number;\r\n}\r\n\r\nfunction PortfolioNewBwicButton({ count }: PortfolioNewBwicButtonProps) {\r\n const dispatch = useAppDispatch();\r\n const history = useHistory();\r\n\r\n const portfolios = useAppSelector(s => s.entities.portfolios.items);\r\n const selectedState = useAppSelector(s => s.portfolio.selectedState)\r\n\r\n const handleNewBwicClick = () => {\r\n const securities =\r\n entries(selectedState)\r\n .map(([portfolioId, selected]) => {\r\n const portfolio = portfolios.find(p => p.id === +portfolioId);\r\n return portfolio\r\n ? portfolio.securities.filter(s => selected.securitiesSelectedState[s.id])\r\n : []\r\n }).flat()\r\n\r\n const selectedSecurities = arrayUtils.distinct(securities, s => s.id);\r\n\r\n if (selectedSecurities.length) {\r\n const tickers = selectedSecurities.map(s => s.ticker);\r\n const bwicsHistory = apiUtils.normalize(\r\n selectedSecurities,\r\n s => s.ticker,\r\n s => s.history.filter(h =>\r\n h.status === BwicStatus.scheduled ||\r\n h.status === BwicStatus.bidding)\r\n );\r\n\r\n history.push({\r\n ...history.location,\r\n state: new LocationStateBuilder()\r\n .popup(PopupType.SecurityUsage, { tickers, bwicsHistory })\r\n .result()\r\n });\r\n } else {\r\n dispatch(actions.createBwicConfirmed());\r\n }\r\n }\r\n\r\n return (\r\n dispatch(actions.createBwicConfirmed())}\r\n >\r\n {\r\n requesting => requesting\r\n ? \r\n : \r\n }\r\n \r\n );\r\n}\r\n","import { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Breadcrumbs } from '../controls/breadcrumbs/Breadcrumbs';\r\nimport { BreadcrumbsItem } from '../controls/breadcrumbs/BreadcrumbsItem';\r\nimport { routes } from '../../constants';\r\nimport { portfolioDocumentsActions as actions } from '../../actions';\r\nimport { history } from '../../history';\r\nimport { ManageDealDocuments } from '../documents/ManageDealDocuments';\r\n\r\nclass PortfolioDocuments extends Component {\r\n componentDidMount = () => this.props.dispatch(actions.init());\r\n\r\n componentWillUnmount = () => this.props.dispatch(actions.reset());\r\n\r\n render = () => {\r\n const { isUploading } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n

Upload Documents

\r\n
\r\n history.push(routes.portfolio)}\r\n disabled={isUploading || !this.props.isInitialized}\r\n >\r\n Cancel\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n };\r\n}\r\n\r\nconst mapStateToProps = ({ uploadDocuments }) => ({\r\n isUploading: uploadDocuments.isUploading,\r\n isInitialized: uploadDocuments.isInitialized\r\n});\r\n\r\nconst connectedPortfolioDocuments = connect(mapStateToProps)(PortfolioDocuments);\r\nexport { connectedPortfolioDocuments as PortfolioDocuments };\r\n\r\n","import React, { useCallback, useEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport MaskedInput from 'react-text-mask';\r\nimport classNames from 'classnames';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport { FormError, Popup, PopupBody, PopupFooter } from \"../../controls\";\r\nimport { FormFieldLabel } from \"../../forms\";\r\nimport { DropDownList, DropDownListItem } from \"../../controls/DropDownList\";\r\nimport { AppState } from \"../../../types/state/AppState\";\r\nimport { addToPortfolioActions } from \"../../../actions/add-to-portfolio.actions\";\r\nimport IconSVG from \"../../../styles/svg-icons\";\r\nimport { isRequesting, isRequestSuccess, moneyUtils, numericUtils, stringUtils } from \"../../../utils\";\r\nimport { yup, yupSchemaValidate } from \"../../../validation/yup\";\r\nimport { errorMessages, constants } from \"../../../constants\";\r\nimport { Preloader } from \"../../common\";\r\nimport { portfolioListActions } from \"../../../actions/portfolio-list.actions\";\r\nimport { usePortfolios } from \"../../../effects/usePortfolios\";\r\nimport { Table } from '../../bidding/common/table';\r\nimport { IColumnDefinition } from '../../bidding/common/table/types/ColumnDefinition';\r\nimport { ColumnBuilder } from '../../bidding/common/table/columns/column-builder/ColumnBuilder';\r\nimport { PortfolioAgreementDisclaimerActionBlocker } from \"../../portfolio-agreement-disclaimer/PortfolioAgreementDisclaimerActionBlocker\";\r\nimport { CreatePortfolioButton } from \"../../portfolio-agreement-disclaimer/CreatePortfolioButton\";\r\nimport { PortfolioAgreementDisclaimerContentBlocker } from \"../../portfolio-agreement-disclaimer/PortfolioAgreementDisclaimerContentBlocker\";\r\nimport { Rating } from \"../../../types/enums/Rating\";\r\nimport { Currency } from \"../../../types/enums/Currency\";\r\n\r\nexport interface AddToPortfolioPosition {\r\n securityId?: number;\r\n ticker: string;\r\n isinCusip: string;\r\n size: number;\r\n rating: Rating;\r\n currency: Currency;\r\n}\r\ninterface Props {\r\n position: AddToPortfolioPosition;\r\n onClose?: () => void;\r\n}\r\n\r\nconst newPortfolioKey = 'new-portfolio';\r\n\r\nconst sizeRange = { min: 10000, max: 999999999 };\r\n\r\nconst validationSchema = yup.object().shape({\r\n size: yup\r\n .mixed()\r\n .transform((value: any) => moneyUtils.parse(value))\r\n .test('check-required', errorMessages.empty, (value: any) => !stringUtils.isNullOrWhiteSpace(value))\r\n .test('check-valid', errorMessages.invalidValue, (size: any) => numericUtils.isNumber(size))\r\n .test(\r\n 'check-range',\r\n errorMessages.invalidRangeSize(sizeRange.min, sizeRange.max),\r\n (size: any) => +size >= sizeRange.min && +size <= sizeRange.max\r\n )\r\n});\r\n\r\nexport const AddToPortfolioPopup = ({ position, onClose }: Props) => {\r\n const dispatch = useDispatch();\r\n const portfloliosListState = usePortfolios();\r\n const portfolios = portfloliosListState.items;\r\n const isLoading = isRequesting(portfloliosListState.requestState);\r\n const selectedPortfolio = useSelector((state: AppState) => state.addToPortfolio.selectedPortfolio);\r\n const isSaving = useSelector((state: AppState) => state.addToPortfolio.isSaving);\r\n const responseError = useSelector((state: AppState) => state.addToPortfolio.error);\r\n const inProgress = isSaving || isLoading;\r\n\r\n const [securitySize, setSecuritySize] = React.useState('');\r\n const [securitySizeError, setSecuritySizeError] = React.useState('');\r\n const [isAddNewPortfolioNameVisible, setIsAddNewPortfolioNameVisible] = useState(false);\r\n const [newPortfolioName, setNewPortfolioName] = useState('');\r\n const [newPortfolioNameError, setNewPortfolioNameError] = useState('');\r\n\r\n const existingPortfolioSecurity = selectedPortfolio?.securities?.find(s => s.securityId === position.securityId);\r\n const isExistingSecuritySizeUnchanged = existingPortfolioSecurity != null && existingPortfolioSecurity.size === moneyUtils.parse(securitySize);\r\n\r\n useEffect(() => {\r\n if (!portfolios.length && isRequestSuccess(portfloliosListState.requestState)) {\r\n setIsAddNewPortfolioNameVisible(true)\r\n }\r\n if (portfolios.length && !selectedPortfolio && !isAddNewPortfolioNameVisible) {\r\n dispatch(addToPortfolioActions.setSelectedPortfolio(portfolios[0]));\r\n }\r\n }, [portfolios, portfloliosListState, selectedPortfolio, isAddNewPortfolioNameVisible, dispatch])\r\n\r\n const canSave =\r\n !inProgress &&\r\n responseError == null &&\r\n (selectedPortfolio != null || newPortfolioName) &&\r\n !securitySizeError &&\r\n moneyUtils.parse(securitySize) > 0 &&\r\n !isExistingSecuritySizeUnchanged &&\r\n !newPortfolioNameError;\r\n\r\n const validationSchemaNewPortfolioName = yup.object().shape({\r\n name: yup\r\n .string()\r\n .trim()\r\n .matches(constants.nonWhitespace)\r\n .required(errorMessages.empty)\r\n .max(64),\r\n })\r\n\r\n const validateSecuritySize = useCallback(async (size: string) => {\r\n const error: { size?: string } =\r\n await yupSchemaValidate(validationSchema, { size }, undefined, undefined, 'size') || {};\r\n setSecuritySizeError(error.size || '');\r\n }, [])\r\n\r\n React.useEffect(() => {\r\n if (existingPortfolioSecurity && existingPortfolioSecurity.size) {\r\n const { size } = existingPortfolioSecurity;\r\n setSecuritySize(String(moneyUtils.money(size)))\r\n validateSecuritySize(moneyUtils.money(size))\r\n } else {\r\n setSecuritySize('');\r\n setSecuritySizeError('');\r\n }\r\n }, [existingPortfolioSecurity, validateSecuritySize]);\r\n\r\n const getPortfolioDropDownItems = () => {\r\n const items = [...portfolios].sort((a, b) => a.name?.localeCompare(b.name)).map((p, index) => ({\r\n value: p.referenceName,\r\n text: p.name,\r\n selected: (p.referenceName === selectedPortfolio?.referenceName),\r\n payload: p\r\n }));\r\n return [\r\n ...items,\r\n { text: 'Create New Portfolio', value: newPortfolioKey, selected: isAddNewPortfolioNameVisible },\r\n ];\r\n }\r\n\r\n const validateNewPortfolioName = async (name: string) => {\r\n const error: { name?: string } =\r\n await yupSchemaValidate(validationSchemaNewPortfolioName, { name }, undefined, undefined, 'name')\r\n setNewPortfolioNameError(error.name || '')\r\n }\r\n\r\n const handleClose = () => {\r\n if (!inProgress) {\r\n if(onClose) {\r\n return onClose();\r\n }\r\n\r\n dispatch(addToPortfolioActions.reset());\r\n dispatch(portfolioListActions.reset());\r\n }\r\n }\r\n\r\n const handleSizeChange = (e: React.ChangeEvent): void => {\r\n setSecuritySize(e.target.value);\r\n if (securitySizeError) {\r\n validateSecuritySize(e.target.value);\r\n }\r\n }\r\n\r\n const handleNewCompanyNameChange = (e: React.ChangeEvent) => {\r\n setNewPortfolioName(e.target.value)\r\n validateNewPortfolioName(e.target.value)\r\n }\r\n\r\n const handlePortfolioChange = (item: DropDownListItem) => {\r\n if (item.value === newPortfolioKey) {\r\n setIsAddNewPortfolioNameVisible(true);\r\n dispatch(addToPortfolioActions.setSelectedPortfolio());\r\n } else {\r\n setIsAddNewPortfolioNameVisible(false);\r\n setNewPortfolioName('');\r\n dispatch(addToPortfolioActions.setSelectedPortfolio(item.payload));\r\n dispatch(addToPortfolioActions.storeError());\r\n }\r\n }\r\n\r\n const handlerBlur = (e: React.ChangeEvent): void => {\r\n const { value } = e.target;\r\n setSecuritySize(value);\r\n if (value || securitySizeError) {\r\n validateSecuritySize(value);\r\n }\r\n }\r\n\r\n const getColumns = () => {\r\n const columnDefinitions: IColumnDefinition[] = [{\r\n columnKey: 'isin',\r\n renderColumnHeaderContent: () => 'ISIN/CUSIP',\r\n renderColumnContent: entity => entity.isinCusip,\r\n className: 'data-list-cell-sm',\r\n }, {\r\n columnKey: 'size',\r\n renderColumnHeaderContent: () => <>Size*,\r\n renderColumnContent: () => (\r\n
\r\n \r\n \r\n
\r\n ),\r\n className: 'data-list-cell-sm cell-input text-right',\r\n }, {\r\n columnKey: 'ticker',\r\n renderColumnHeaderContent: () => 'Ticker',\r\n renderColumnContent: entity => entity.ticker,\r\n className: 'data-list-cell-md',\r\n }, {\r\n columnKey: 'currency',\r\n renderColumnHeaderContent: () => 'Ccy',\r\n renderColumnContent: entity => entity.currency,\r\n className: 'data-list-cell-xxs padding-l-0',\r\n }, {\r\n columnKey: 'rtg',\r\n renderColumnHeaderContent: () => 'Rtg',\r\n renderColumnContent: entity => entity.rating,\r\n className: 'data-list-cell-xxxs padding-l-0',\r\n }]\r\n\r\n return columnDefinitions.map(c => new ColumnBuilder(c))\r\n }\r\n\r\n const renderNewPortfolioNameInput = () => isAddNewPortfolioNameVisible && (\r\n
\r\n \r\n \r\n \r\n
\r\n )\r\n\r\n const handleClick = () => dispatch(\r\n addToPortfolioActions.addSecurityToPortfolio(\r\n position,\r\n moneyUtils.parse(securitySize),\r\n newPortfolioName\r\n ))\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n item.value === newPortfolioKey ? (\r\n \r\n ) : item.text}\r\n />\r\n
\r\n {renderNewPortfolioNameInput()}\r\n \r\n {\r\n isExistingSecuritySizeUnchanged &&\r\n
\r\n \r\n \r\n {position.ticker} ({moneyUtils.amountToMM(existingPortfolioSecurity?.size)} MM)\r\n is already in {selectedPortfolio?.name}. Would you like to update the size?\r\n \r\n
\r\n }\r\n {\r\n responseError &&\r\n responseError.error &&\r\n
\r\n \r\n {responseError.error}\r\n
\r\n }\r\n
\r\n \r\n \r\n \r\n \r\n Add\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n );\r\n};\r\n","import moment from 'moment';\r\nimport { collateralTypes } from '../../../constants/collateral-types';\r\nimport { dateRangeFilterOptions } from '../../../constants/date-range.filter';\r\nimport { CollateralType } from '../../../types/amr-pipeline/enums/CollateralType';\r\nimport { Currencies } from '../../../types/enums/Currency';\r\nimport { Ratings } from '../../../types/enums/Rating';\r\nimport { FilterType } from '../../../types/filters/FilterGroup';\r\n\r\nexport const portfolioInitialFilters = {\r\n visibleFilters: ['collateralType', 'currency', 'managers', 'ratings'],\r\n hiddenFilters: ['dealName', 'maturity', 'vintage', 'trustees', 'amr', 'closing', 'nonCallEnd', 'reinvestmentEnd', 'esg', 'euCompliance', 'staticDeal', 'outOfNC', 'outOfRI'],\r\n defaultFilter: {\r\n collateralType: {\r\n key: 'collateralType',\r\n type: FilterType.Select,\r\n visible: true,\r\n text: 'Collat',\r\n disabled: false,\r\n selected: false,\r\n isApplied: true,\r\n filter: [\r\n {\r\n value: CollateralType.broadlySyndicated,\r\n text: collateralTypes.BroadlySyndicated,\r\n selected: false,\r\n disabled: false,\r\n visible: true,\r\n },\r\n {\r\n value: CollateralType.middleMarket,\r\n text: collateralTypes.MiddleMarket,\r\n selected: false,\r\n disabled: false,\r\n visible: true,\r\n },\r\n ],\r\n },\r\n currency: {\r\n key: 'currency',\r\n type: FilterType.Select,\r\n visible: true,\r\n text: 'Ccy',\r\n disabled: false,\r\n selected: false,\r\n isApplied: true,\r\n filter: Currencies.map(v => ({\r\n value: v,\r\n text: v,\r\n selected: false,\r\n disabled: false,\r\n visible: true,\r\n })),\r\n },\r\n managers: {\r\n withSearch: true,\r\n type: FilterType.Select,\r\n visible: true,\r\n text: 'Manager',\r\n disabled: false,\r\n selected: false,\r\n isApplied: true,\r\n filter: [],\r\n key: 'managers',\r\n },\r\n maturity: {\r\n key: 'maturity',\r\n type: FilterType.Date,\r\n visible: false,\r\n text: 'Maturity',\r\n disabled: false,\r\n selected: false,\r\n isApplied: true,\r\n filter: {\r\n selectedOption: undefined,\r\n options: {\r\n customDateRange: { from: null, to: null },\r\n },\r\n },\r\n acceptableOptions: dateRangeFilterOptions.maturity(),\r\n disabledDays: { before: moment().add(1, 'day').toDate() },\r\n },\r\n vintage: {\r\n key: 'vintage',\r\n type: FilterType.YearsDate,\r\n visible: false,\r\n text: 'Vintage',\r\n disabled: false,\r\n selected: false,\r\n isApplied: true,\r\n filter: {\r\n selectedOption: undefined,\r\n options: {\r\n customDateRange: { from: null, to: null },\r\n },\r\n },\r\n acceptableOptions: dateRangeFilterOptions.vintage(),\r\n },\r\n closing: {\r\n key: 'closing',\r\n type: FilterType.Date,\r\n visible: false,\r\n text: 'Closing',\r\n disabled: false,\r\n selected: false,\r\n isApplied: true,\r\n filter: {\r\n selectedOption: undefined,\r\n options: {\r\n customDateRange: { from: null, to: null },\r\n },\r\n },\r\n acceptableOptions: dateRangeFilterOptions.closing(),\r\n disabledDays: { after: moment().subtract(1, 'day').toDate() },\r\n },\r\n trustees: {\r\n withSearch: true,\r\n type: FilterType.Select,\r\n visible: false,\r\n text: 'Trustee',\r\n disabled: false,\r\n selected: false,\r\n isApplied: true,\r\n filter: [],\r\n key: 'trustees',\r\n },\r\n amr: {\r\n key: 'amr',\r\n type: FilterType.BooleanRadio,\r\n visible: false,\r\n text: 'Deal with AMR',\r\n disabled: false,\r\n selected: false,\r\n isApplied: true,\r\n filter: {\r\n selectedOption: null,\r\n },\r\n },\r\n ratings: {\r\n key: 'ratings',\r\n type: FilterType.Select,\r\n visible: true,\r\n text: 'Rtg',\r\n disabled: false,\r\n selected: false,\r\n isApplied: true,\r\n filter: Ratings.map(r => ({\r\n value: r,\r\n text: r,\r\n selected: false,\r\n visible: true,\r\n disabled: false,\r\n })),\r\n },\r\n dealName: {\r\n withSearch: true,\r\n type: FilterType.Select,\r\n visible: false,\r\n text: 'Deal Name',\r\n disabled: false,\r\n selected: false,\r\n isApplied: true,\r\n filter: [],\r\n key: 'dealName',\r\n },\r\n nonCallEnd: {\r\n key: 'nonCallEnd',\r\n type: FilterType.DateWithYearsRange,\r\n visible: false,\r\n text: 'NC End',\r\n disabled: false,\r\n selected: false,\r\n isApplied: true,\r\n filter: {\r\n selectedOption: undefined,\r\n options: {\r\n customYearsRange: { from: '', to: '' },\r\n customDateRange: { from: null, to: null },\r\n },\r\n },\r\n acceptableOptions: dateRangeFilterOptions.nonCallEnd(),\r\n },\r\n reinvestmentEnd: {\r\n key: 'reinvestmentEnd',\r\n type: FilterType.DateWithYearsRange,\r\n visible: false,\r\n text: 'RI End',\r\n disabled: false,\r\n selected: false,\r\n isApplied: true,\r\n filter: {\r\n selectedOption: undefined,\r\n options: {\r\n customYearsRange: { from: '', to: '' },\r\n customDateRange: { from: null, to: null },\r\n },\r\n },\r\n acceptableOptions: dateRangeFilterOptions.reinvestmentEnd(),\r\n },\r\n esg: {\r\n key: 'esg',\r\n type: FilterType.BooleanRadio,\r\n visible: false,\r\n text: 'ESG',\r\n disabled: false,\r\n selected: false,\r\n isApplied: true,\r\n filter: {\r\n selectedOption: null,\r\n },\r\n },\r\n euCompliance: {\r\n key: 'euCompliance',\r\n type: FilterType.BooleanRadio,\r\n visible: false,\r\n text: 'EU Compliance',\r\n disabled: false,\r\n selected: false,\r\n isApplied: true,\r\n filter: {\r\n selectedOption: null,\r\n },\r\n },\r\n staticDeal: {\r\n key: 'staticDeal',\r\n type: FilterType.BooleanRadio,\r\n visible: false,\r\n text: 'Static Deal',\r\n disabled: false,\r\n selected: false,\r\n isApplied: true,\r\n filter: {\r\n selectedOption: null,\r\n },\r\n },\r\n outOfNC: {\r\n key: 'outOfNC',\r\n type: FilterType.BooleanRadio,\r\n visible: false,\r\n text: 'Out of NC',\r\n disabled: false,\r\n selected: false,\r\n isApplied: true,\r\n filter: {\r\n selectedOption: null,\r\n },\r\n },\r\n outOfRI: {\r\n key: 'outOfRI',\r\n type: FilterType.BooleanRadio,\r\n visible: false,\r\n text: 'Out of Rl',\r\n disabled: false,\r\n selected: false,\r\n isApplied: true,\r\n filter: {\r\n selectedOption: null,\r\n },\r\n },\r\n }\r\n}\r\n","import React, { useState } from 'react';\r\nimport IconSVG from '../../../styles/svg-icons';\r\nimport { PortfolioAlertsPopup } from '../../profile/tabs/email-preferences/tabs/portfolio/PortfolioAlertsPopup';\r\nimport { useAppSelector } from '../../../effects/useAppSelector';\r\nimport { useEmailPreferences } from '../../../effects/data-accessors/useEmailPreferences';\r\nimport { AlertEnabledState } from '../../../types/enums/AlertEnabledState';\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 { AlertOption } from '../../../types/email-preferences/EmailPreferences';\r\nimport { SubscriptionFeature } from '../../../types/billing/SubscriptionFeature';\r\nimport { user } from '../../../user';\r\n\r\ninterface Props {\r\n disabled: boolean;\r\n}\r\n\r\nexport const PortfolioAlertsPreferences = ({ disabled }: Props) => {\r\n const [showModal, setShowModal] = useState(false);\r\n\r\n const hasAccess = user.hasAllFeatures(...[\r\n SubscriptionFeature.IssuanceMonitorFullAccess,\r\n SubscriptionFeature.PortfolioAlerts,\r\n ]);\r\n\r\n const hasSavedFiltersAccess = user.hasAllFeatures(...[SubscriptionFeature.PortfolioSavedFilters]);\r\n\r\n const isSomePortfolioAlertsEnabled = useAppSelector(s =>\r\n s.entities.emailPreferences.preferences?.portfolioBwicAlertState !== AlertEnabledState.Disabled ||\r\n s.entities.emailPreferences.preferences?.portfolioDealersInventoryAlertState !== AlertEnabledState.Disabled ||\r\n (hasAccess && s.entities.emailPreferences.preferences?.portfolioCleansingNoticeAlertState !== AlertEnabledState.Disabled) ||\r\n (hasAccess && s.entities.emailPreferences.preferences?.portfolioIssuanceMonitorAlertState !== AlertEnabledState.Disabled) ||\r\n (hasAccess && s.entities.emailPreferences.preferences?.portfolioOutOfRiPeriodAlertState !== AlertEnabledState.Disabled) ||\r\n (hasAccess && s.entities.emailPreferences.preferences?.portfolioOutOfNcPeriodAlertState !== AlertEnabledState.Disabled) ||\r\n (hasAccess && s.entities.emailPreferences.preferences?.portfolioRollerDeadlineAlertState !== AlertEnabledState.Disabled)\r\n );\r\n const { config } = usePageConfig(PageConfigType.Portfolio, true, BwicFilterType.Portfolio);\r\n const isAnyFilterAlertEnabled = hasSavedFiltersAccess && config?.filters.some(f =>\r\n (f as PortfolioUserConfigFilter).bwicAlertOption !== AlertOption.Never ||\r\n (f as PortfolioUserConfigFilter).dealerInventoryAlertOption !== AlertOption.Never\r\n );\r\n const isAnyAlertEnabled = isAnyFilterAlertEnabled || isSomePortfolioAlertsEnabled;\r\n\r\n useEmailPreferences();\r\n\r\n return (\r\n <>\r\n setShowModal(true)}\r\n >\r\n \r\n Alerts\r\n \r\n {showModal && setShowModal(false)} />}\r\n \r\n );\r\n}\r\n","import { processActions as actions } from '../../actions/process.actions';\r\nimport { classnames } from '../../styles/classnames';\r\nimport { DayPickerInput } from '../controls/DayPickerInput';\r\nimport { useAppSelector } from '../../effects/useAppSelector';\r\nimport { useAppDispatch } from '../../effects/useAppDispatch';\r\n\r\nexport const BwicDate = () => {\r\n const dispatch = useAppDispatch();\r\n const handleDayChange = (day?: Date | string) => dispatch(actions.changeDate(day));\r\n const minimumDate = useAppSelector(s => s.process.minimumDate);\r\n const date = useAppSelector(s => s.process.date);\r\n const holidays = useAppSelector(s => s.process.holidays || []);\r\n const error = useAppSelector(s => s.process.errors && s.process.errors.date);\r\n\r\n const css = classnames({\r\n 'form-control form-control-sm': true,\r\n 'is-invalid': !!error\r\n });\r\n\r\n return (\r\n <>\r\n \r\n new Date(h))}\r\n className={css}\r\n />\r\n {!!error &&
{error}
}\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { BwicDate } from './BwicDate';\r\nimport { DaysToSettle } from './DaysToSettle';\r\nimport { TimeZone } from './TimeZone';\r\nimport { Time } from './Time';\r\n\r\nexport function BwicDates() {\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","import React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { processActions as actions } from '../../actions';\r\nimport { Counter } from '../controls';\r\n\r\n\r\nclass DaysToSettle extends Component {\r\n render = () => {\r\n const { daysToSettle } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n handleDaysChanged = days => this.props.dispatch(actions.changeDaysToSettle(days));\r\n}\r\n\r\nconst mapStateToProps = ({ process }) => ({\r\n daysToSettle: process.daysToSettle,\r\n});\r\n\r\n\r\nconst connectedDaysToSettle = connect(mapStateToProps)(DaysToSettle);\r\nexport { connectedDaysToSettle as DaysToSettle };\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { processActions as actions } from '../../actions';\r\nimport { TimePickerControl } from '../controls';\r\nimport { classnames } from '../../styles/classnames';\r\nimport { dateTimeUtils } from '../../utils';\r\nimport { appConfig } from '../../app-config';\r\n\r\n\r\nclass Time extends Component {\r\n handleBidsDueChange = time => this.props.dispatch(actions.changeBidsDueTime(time));\r\n\r\n handleGoodUntilChange = time => this.props.dispatch(actions.changeGoodUntilTime(time));\r\n\r\n render = () => {\r\n const { bidsDue, goodUntil, error, disabledHours, isBidsDueMinutesDisabled, isGoodUntilMinutesDisabled } = this.props;\r\n\r\n if (!disabledHours) return null;\r\n\r\n const isInvalid = classnames({ 'is-invalid': !!error });\r\n const disabledMinutes = [15, 30, 45];\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 { !!error &&
{error}
}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ process }) => ({\r\n bidsDue: process.bidsDue,\r\n goodUntil: process.goodUntil,\r\n disabledHours: process.disabledHours,\r\n isBidsDueMinutesDisabled: process.isBidsDueMinutesDisabled,\r\n isGoodUntilMinutesDisabled: process.isGoodUntilMinutesDisabled,\r\n error: process.errors && process.errors.time\r\n});\r\n\r\n\r\nconst connectedTime = connect(mapStateToProps)(Time);\r\nexport { connectedTime as Time };\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { processActions as actions } from '../../actions';\r\n\r\n\r\nclass TimeZone extends Component {\r\n render = () => {\r\n const { selectedTimeZone, timeZones } = this.props;\r\n const options = timeZones && timeZones.map(tz => )\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n handleTimeZoneChanged = e => this.props.dispatch(actions.changeTimeZone(e.target.value));\r\n}\r\n\r\nconst mapStateToProps = ({ process }) => ({\r\n selectedTimeZone: process.timeZone,\r\n timeZones: process.timeZones\r\n});\r\n\r\n\r\nconst connectedTimeZone = connect(mapStateToProps)(TimeZone);\r\nexport { connectedTimeZone as TimeZone };\r\n","import cn from 'classnames';\r\nimport { NewBwicProcess, BwicProcessType } from '../../../types/models/Process';\r\nimport { AnimatedValueUpdate } from '../../controls/AnimatedValueUpdate';\r\nimport { useAppSelector } from '../../../effects/useAppSelector';\r\nimport { dateTimeUtils, formatUtils } from '../../../utils';\r\n\r\nfunction ProcessLiveBidding({ descriptionData, isSelected }: { descriptionData: NewBwicProcess, isSelected?: boolean }) {\r\n const isLiveBiddingSelected = useAppSelector(s => s.process.templates.current?.type === BwicProcessType.Live);\r\n const errors = useAppSelector(s => s.process.errors.templates);\r\n\r\n\r\n return (\r\n
\r\n
Stage 1
\r\n
\r\n Participants submit bids for\r\n \r\n
\r\n
\r\n Reminder to bid\r\n \r\n
\r\n
Bid improvement — unlimited.
\r\n
Bid feedback — no.
\r\n
Stage 2
\r\n
\r\n \r\n bidders see Best price and can
improve the minimum by\r\n \r\n over Best.\r\n
\r\n
\r\n Improvement round\r\n \r\n
\r\n
Bid improvement — unlimited.
\r\n
Bid feedback — auto.
\r\n
\r\n )\r\n\r\n}\r\n\r\nfunction ProcessJumpBall({ data, isSelected }: { data: NewBwicProcess, isSelected?: boolean }) {\r\n const errors = useAppSelector(s => s.process.errors.templates);\r\n return (\r\n
\r\n
\r\n Autofeedback delay\r\n \r\n
\r\n
Stage 1
\r\n
\r\n {data.jumpBall?.automaticStage1Deadline == null\r\n ? (\r\n <>\r\n Participants submit bids till the end of Stage 1.\r\n \r\n )\r\n : (\r\n <>\r\n Participants submit bids for\r\n \r\n \r\n )}\r\n
\r\n {data?.jumpBall?.automaticStage1Deadline && (\r\n
\r\n Reminder to bid\r\n \r\n
\r\n )}\r\n
Bid improvement — unlimited.
\r\n
Bid feedback — auto/manual.
\r\n
Stage 2
\r\n
\r\n \r\n bidders proceed to Stage 2.\r\n
\r\n
\r\n Stage 2 starts\r\n \r\n {data.jumpBall?.automaticStage1Deadline == null && \"by the Seller.\"}\r\n
\r\n
\r\n {data.jumpBall?.improvementRound == null\r\n ? (\r\n <>\r\n Bidding continues till the end of BWIC.\r\n \r\n )\r\n : (\r\n <>\r\n Final bids are due\r\n \r\n from the Stage 2 start.\r\n \r\n )}\r\n
\r\n
Bid improvement — once.
\r\n
Bid feedback — manual.
\r\n
\r\n )\r\n}\r\n\r\nfunction ProcessTopX({ data, isSelected }: { data: NewBwicProcess, isSelected?: boolean }) {\r\n\r\n const errors = useAppSelector(s => s.process.errors.templates);\r\n\r\n return (\r\n
\r\n
\r\n Autofeedback delay\r\n \r\n
\r\n
Stage 1
\r\n
\r\n {data.topX?.automaticStage1Deadline == null\r\n ? (\r\n <>\r\n Participants submit bids till the end of Stage 1.\r\n \r\n )\r\n : (\r\n <>\r\n Participants submit bids for\r\n \r\n \r\n )}\r\n
\r\n {data?.topX?.automaticStage1Deadline && (\r\n
\r\n Reminder to bid\r\n \r\n
\r\n )}\r\n
Bid improvement — unlimited.
\r\n
Bid feedback — auto/manual.
\r\n
Stage 2
\r\n
\r\n \r\n bidders proceed to Stage 2.\r\n
\r\n
\r\n Stage 2 starts\r\n \r\n {data.topX?.automaticStage1Deadline == null && \"by the Seller.\"}\r\n
\r\n
\r\n {data.topX?.improvementRound == null\r\n ? (\r\n <>\r\n Bidding continues till the end of BWIC.\r\n \r\n )\r\n : (\r\n <>\r\n Final bids are due\r\n \r\n from the Stage 2 start.\r\n \r\n )}\r\n
\r\n
Bid improvement — unlimited.
\r\n
Bid feedback — auto/manual.
\r\n
\r\n )\r\n}\r\n\r\nfunction ProcessStandart({ data, isSelected }: { data: NewBwicProcess, isSelected?: boolean }) {\r\n const errors = useAppSelector(s => s.process.errors.templates);\r\n\r\n return
\r\n
One stage only.
\r\n
Bid improvement — unlimited.
\r\n
Bid feedback — auto/manual.
\r\n
\r\n Autofeedback delay\r\n \r\n
\r\n
\r\n}\r\n\r\nfunction ProcessBestFootForward({ descriptionData, isSelected }: { descriptionData: NewBwicProcess, isSelected?: boolean }) {\r\n\r\n const errors = useAppSelector(s => s.process.errors.templates);\r\n\r\n return
\r\n
One stage only.
\r\n
Bid improvement — unlimited.
\r\n
Bid feedback — manual.
\r\n
\r\n Bids submission duration\r\n \r\n
\r\n
\r\n Reminder to bid\r\n \r\n
\r\n
\r\n}\r\n\r\nexport function ProcessDescription({ descriptionData, isSelected }: { descriptionData: NewBwicProcess, isSelected?: boolean }) {\r\n\r\n switch (descriptionData.type) {\r\n case BwicProcessType.Live: return \r\n case BwicProcessType.JumpBall: return \r\n case BwicProcessType.TopX: return \r\n case BwicProcessType.BestFootForward: return \r\n default: return \r\n }\r\n\r\n}\r\n","import classNames from 'classnames';\r\nimport { processActions as actions } from '../../actions';\r\nimport { useAppSelector } from '../../effects/useAppSelector';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport { BwicProcessType, NewBwicProcess } from '../../types/models/Process';\r\nimport { OnHoverTooltip } from '../common';\r\nimport { ProcessDescription } from './processDescription/ProcessDescription';\r\nimport { useAppDispatch } from '../../effects/useAppDispatch';\r\n\r\nexport function TemplateList() {\r\n const dispatch = useAppDispatch();\r\n const templates: NewBwicProcess[] = useAppSelector(s => s.process.templates?.all) ?? [];\r\n const selectedTemplate = useAppSelector(s => s.process.templates.current);\r\n\r\n if (!templates.length) {\r\n return null;\r\n }\r\n\r\n const templateItems = templates.map((t, index) => {\r\n const isSelected = selectedTemplate && t.id === selectedTemplate.id;\r\n\r\n return (\r\n
  • dispatch(actions.selectTemplate(index))\r\n }\r\n >\r\n
    \r\n {t.title}\r\n {t.type === BwicProcessType.Live &&\r\n \r\n \r\n \r\n }\r\n {isSelected && }\r\n
    \r\n \r\n
  • \r\n );\r\n });\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Templates

    \r\n
    \r\n
    \r\n \r\n \r\n Highlighted parameters are customizable by the Seller\r\n \r\n
    \r\n
    \r\n
    \r\n
      {templateItems}
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React from 'react';\r\nimport classNames from \"classnames\";\r\nimport MaskedInput from \"react-text-mask\";\r\nimport { createNumberMask } from \"text-mask-addons\";\r\nimport { processActions } from \"../../actions\";\r\nimport { useAppSelector } from \"../../effects/useAppSelector\";\r\nimport { dateTimeUtils } from \"../../utils\";\r\nimport { FormError } from \"../controls\";\r\nimport { OnHoverTooltip } from '../common/OnHoverTooltip';\r\nimport { useAppDispatch } from '../../effects/useAppDispatch';\r\n\r\nexport function CutOffReminder({ disabled }: { disabled?: boolean }) {\r\n const dispatch = useAppDispatch();\r\n\r\n const error = useAppSelector(s => s.process.errors.templates.cutOffReminder);\r\n const cutOffReminderTimeSpan = useAppSelector(s => s.process.templates.current?.cutOffReminder);\r\n const cutOffReminder = cutOffReminderTimeSpan\r\n ? dateTimeUtils.parseTimeSpan(cutOffReminderTimeSpan).totalMinutes\r\n : undefined;\r\n const disabledCutOffReminderTooltipText = \"Not applicable for current process settings. This option is only available if 'End Stage 1' is set as 'Automatically'\"\r\n\r\n return (\r\n \r\n
    \r\n ) => dispatch(processActions.cutOffReminderChange(e.target.value))}\r\n disabled={disabled}\r\n />\r\n \r\n Minutes\r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import IconSVG from \"../../styles/svg-icons\";\r\nimport { FlexRow, OnHoverTooltip } from \"../common\";\r\n\r\ninterface LineProps {\r\n title: React.ReactNode;\r\n tooltip?: React.ReactNode;\r\n children: React.ReactNode;\r\n}\r\n\r\nexport function SettingsLine({ title, tooltip, children }: LineProps) {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {children}\r\n \r\n
    \r\n
    \r\n )\r\n}","import React from 'react'\r\nimport { SettingsLine } from './SettingsLine';\r\n\r\nexport function CutoffReminderSettingsLine({ children }: { children: React.ReactNode }) {\r\n return (\r\n Reminder to bid *}\r\n tooltip=\"Reminder to bid — the notification will be sent to BWIC participants who did not bid. A field is the number of minutes to the end of bidding period\"\r\n >\r\n <>{children}\r\n \r\n );\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport classNames from 'classnames';\r\nimport MaskedInput from 'react-text-mask';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport { FormControlWrapper, RadioButton, RadioButtonGroup } from '../../controls';\r\nimport { FlexRow, OnHoverTooltip } from '../../common';\r\nimport { levelSpecifications } from '../../../constants';\r\nimport { formatUtils } from \"../../../utils/format.utils\";\r\nimport { constants } from \"../../../constants/constants\";\r\nimport IconSVG from '../../../styles/svg-icons';\r\nimport { CutOffReminder } from '../CutOffReminder';\r\nimport { CutoffReminderSettingsLine } from '../CutoffReminderSettingsLine';\r\nimport { LevelSpecificationType } from '../../../types/enums/LevelSpecificationType';\r\nimport { OpenBiddingImproverCount } from '../../../types/enums/OpenBiddingImproverCount';\r\n\r\nexport function OpenBiddingSettingsSection(\r\n {\r\n enabled,\r\n stage1Deadline, onChangeStage1Deadline,\r\n improvementRound, onChangeImprovementRound,\r\n minBidIncrement, onChangeMinBidIncrement,\r\n levelSpecification, onChangeLevelSpecification,\r\n openBiddingImproverCount, onChangeOpenBiddingImproverCount,\r\n stage1DeadlineError, resetStage1DeadlineError,\r\n improvementRoundError, resetImprovementRoundError,\r\n minBidIncrementError, resetMinBidIncrementError\r\n }\r\n) {\r\n useEffect(() => {\r\n if (!enabled) {\r\n resetStage1DeadlineError();\r\n resetImprovementRoundError();\r\n }// eslint-disable-next-line\r\n }, [enabled]);\r\n\r\n useEffect(() => {\r\n if (enabled && levelSpecification == null) {\r\n onChangeLevelSpecification && onChangeLevelSpecification(levelSpecifications.best.key);\r\n }\r\n }, [levelSpecification, enabled, onChangeLevelSpecification]);\r\n\r\n useEffect(() => {\r\n if (enabled && openBiddingImproverCount == null) {\r\n onChangeOpenBiddingImproverCount?.(OpenBiddingImproverCount.top3);\r\n }\r\n }, [enabled, openBiddingImproverCount, onChangeOpenBiddingImproverCount]);\r\n\r\n const openBiddingImproverCountList = [\r\n { label: \"Top 2\", value: OpenBiddingImproverCount.top2 },\r\n { label: \"Top 3\", value: OpenBiddingImproverCount.top3 },\r\n { label: \"Top 4\", value: OpenBiddingImproverCount.top4 },\r\n { label: \"Top 5\", value: OpenBiddingImproverCount.top5 }\r\n ];\r\n\r\n function handleChangeBlindBiddingTimeout(e) {\r\n onChangeStage1Deadline && onChangeStage1Deadline(e.target.value);\r\n }\r\n\r\n function handleChangeOpenBiddingTimeout(e) {\r\n onChangeImprovementRound && onChangeImprovementRound(e.target.value);\r\n }\r\n\r\n function handleChangeMinBidIncrement(e) {\r\n const { value } = e.target;\r\n if (value && !(constants.bidNumber.test(value))) {\r\n return null;\r\n }\r\n onChangeMinBidIncrement && onChangeMinBidIncrement(value);\r\n }\r\n\r\n function handleBlurMinBidIncrement(e) {\r\n onChangeMinBidIncrement && onChangeMinBidIncrement(formatUtils.formatBid(e.target.value.trim()));\r\n resetMinBidIncrementError && resetMinBidIncrementError();\r\n }\r\n\r\n return (\r\n
    \r\n

    \r\n Stage 1 — Blind Bidding\r\n \r\n \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Minutes\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n

    \r\n Stage 2 — LiveBidding™\r\n \r\n \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Minutes\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Bps\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n","import React from 'react';\r\nimport MaskedInput from \"react-text-mask\";\r\nimport { constants } from \"../../constants\";\r\nimport { useAppSelector } from \"../../effects/useAppSelector\";\r\nimport { dateTimeUtils } from \"../../utils\";\r\nimport { FormError, RadioButton } from \"../controls\";\r\nimport classNames from \"classnames\";\r\nimport { createNumberMask } from \"text-mask-addons\";\r\nimport { processActions } from \"../../actions\";\r\nimport { useAppDispatch } from '../../effects/useAppDispatch';\r\n\r\nexport function AutoFeedbackDelay() {\r\n const dispatch = useAppDispatch();\r\n\r\n const autoFeedbackDelayTimeSpan = useAppSelector(s => s.process.templates.current?.autoFeedbackDelay);\r\n const autoFeedbackDelay = autoFeedbackDelayTimeSpan\r\n ? dateTimeUtils.parseTimeSpan(autoFeedbackDelayTimeSpan).totalMinutes\r\n : undefined;\r\n const error = useAppSelector(s => s.process.errors.templates.autoFeedbackDelay);\r\n\r\n return (\r\n <>\r\n
    \r\n dispatch(processActions.autoFeedbackDelayDisabled())}\r\n />\r\n dispatch(processActions.autoFeedbackDelayEnabled())}\r\n />\r\n \r\n
    \r\n
    \r\n {\r\n autoFeedbackDelayTimeSpan == null\r\n ? \r\n : ) => dispatch(processActions.autoFeedbackDelayChange(e.target.value))}\r\n />\r\n }\r\n \r\n Minutes\r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport MaskedInput from \"react-text-mask\";\r\nimport classNames from \"classnames\";\r\nimport { useAppSelector } from \"../../effects/useAppSelector\";\r\nimport { FormError } from \"../controls/FormError\";\r\nimport { RadioButton } from '../controls/RadioButton';\r\nimport { createNumberMask } from \"text-mask-addons\";\r\nimport { processActions } from \"../../actions/process.actions\";\r\nimport { formatUtils } from '../../utils/format.utils';\r\nimport { numericUtils } from '../../utils';\r\nimport { constants } from '../../constants/constants';\r\nimport { useAppDispatch } from '../../effects/useAppDispatch';\r\n\r\nexport function MinBidIncrement() {\r\n const dispatch = useAppDispatch();\r\n\r\n const minBidIncrement = useAppSelector(s => s.process.templates.current?.minBidIncrement);\r\n const error = useAppSelector(s => s.process.errors.templates.minBidIncrement);\r\n\r\n return (\r\n <>\r\n
    \r\n dispatch(processActions.minBidIncrementDisabled())}\r\n />\r\n dispatch(processActions.minBidIncrementEnabled())}\r\n />\r\n \r\n
    \r\n
    \r\n {\r\n minBidIncrement == null\r\n ? \r\n : dispatch(processActions.minBidIncrementChange(e.target.value))}\r\n onBlur={() =>\r\n numericUtils.isNumber(minBidIncrement) &&\r\n dispatch(processActions.minBidIncrementChange(formatUtils.formatBid(minBidIncrement)))\r\n }\r\n />\r\n }\r\n \r\n Bps\r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n","import { MinBidIncrement } from \"./MinBidIncrement\";\r\nimport { SettingsLine } from \"./SettingsLine\";\r\n\r\nexport const MinBidIncrementSettingsLine = () => (\r\n \r\n \r\n \r\n)","import { StatusMessageSection } from '../status-message/StatusMessageSection';\r\nimport { StatusMessageSectionType } from '../../types/state/NotificationState';\r\n\r\ninterface Props {\r\n stage: number;\r\n}\r\n\r\nexport function BwicManualStageEndingInfo({ stage }: Props) {\r\n return (\r\n \r\n {`The Seller manually determines the end of Stage ${stage}`}\r\n \r\n );\r\n}\r\n","import { BwicStageEndType } from \"../../types/bwic-process/BwicStageEndType\";\r\n\r\ninterface Props {\r\n selectedType: BwicStageEndType;\r\n onChange: (value: string) => void;\r\n}\r\n\r\nexport function BwicStageEndSelect({ selectedType, onChange }: Props) {\r\n return (\r\n \r\n );\r\n}\r\n","import classNames from 'classnames';\r\nimport { JumpBallStage2Participants } from '../../../types/bwic-process/JumpBallSettings';\r\nimport { FormError, RadioButton } from '../../controls';\r\nimport { processActions } from '../../../actions';\r\nimport MaskedInput from 'react-text-mask';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport { useAppSelector } from '../../../effects/useAppSelector';\r\nimport { dateTimeUtils } from '../../../utils';\r\nimport { CutOffReminder } from '../CutOffReminder';\r\nimport { SettingsLine } from '../SettingsLine';\r\nimport { AutoFeedbackDelay } from '../AutoFeedbackDelay';\r\nimport { CutoffReminderSettingsLine } from '../CutoffReminderSettingsLine';\r\nimport { MinBidIncrementSettingsLine } from '../MinBidIncrementSettingsLine';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\nimport { BwicStageEndType } from '../../../types/bwic-process/BwicStageEndType';\r\nimport { BwicManualStageEndingInfo } from '../BwicManualStageEndingInfo';\r\nimport { BwicStageEndSelect } from '../BwicStageEndSelect';\r\n\r\nexport function JumpBallSection() {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n

    Stage 1 — Open bidding with autofeedback

    \r\n The Seller can determine the mode in which the Stage 1 of the BWIC will be completed. Automatically - Stage 1 will be completed automatically according to the time specified in 'Stage 1 duration'.
    Manually - the Seller manually determines the end of Stage 1 by clicking on the button.}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n

    Stage 2 — Jump Ball, a silent stage with one time to improve bid

    \r\n If "Manually" - Stage 2 will end according to the end time of BWIC.
    If "Automatically" - Stage 2 will end according to the set time.}\r\n >\r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nfunction JumpBallCutoffReminder() {\r\n const automaticStage1DeadlineTimeSpan = useAppSelector(s => s.process.templates.current?.jumpBall?.automaticStage1Deadline);\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nfunction Stage1End() {\r\n const dispatch = useAppDispatch();\r\n\r\n const automaticStage1DeadlineTimeSpan = useAppSelector(s => s.process.templates.current?.jumpBall?.automaticStage1Deadline);\r\n const automaticStage1Deadline = automaticStage1DeadlineTimeSpan\r\n ? dateTimeUtils.parseTimeSpan(automaticStage1DeadlineTimeSpan).totalMinutes\r\n : undefined;\r\n const isManual = automaticStage1DeadlineTimeSpan == null;\r\n const error = useAppSelector(s => s.process.errors.templates.jumpBallStage1AutomaticMinutes);\r\n\r\n return (\r\n <>\r\n {\r\n if (option === BwicStageEndType.Manually) {\r\n dispatch(processActions.jumpBallStage1EndManual());\r\n dispatch(processActions.resetJumpBallStage1AutomaticMinutes());\r\n } else {\r\n dispatch(processActions.jumpBallStage1EndAuto());\r\n }\r\n }}\r\n />\r\n {isManual ? (\r\n \r\n ) : (\r\n <>\r\n \r\n
    \r\n dispatch(processActions.jumpBallStage1EndAutomaticMinutesChange(e.target.value))}\r\n />\r\n \r\n Minutes\r\n \r\n \r\n
    \r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nfunction Stage2Participants() {\r\n const dispatch = useAppDispatch();\r\n\r\n const participants = useAppSelector(s => s.process.templates.current?.jumpBall?.improverCount)\r\n ?? JumpBallStage2Participants.Top3;\r\n\r\n return (\r\n
    \r\n dispatch(processActions.jumpBallStage2ParticipantsChange(JumpBallStage2Participants.Top2))}\r\n />\r\n dispatch(processActions.jumpBallStage2ParticipantsChange(JumpBallStage2Participants.Top3))}\r\n />\r\n dispatch(processActions.jumpBallStage2ParticipantsChange(JumpBallStage2Participants.Top4))}\r\n />\r\n dispatch(processActions.jumpBallStage2ParticipantsChange(JumpBallStage2Participants.Top5))}\r\n />\r\n
    \r\n );\r\n}\r\n\r\nfunction Stage2Duration() {\r\n const dispatch = useAppDispatch();\r\n\r\n const improvementRoundTimeSpan = useAppSelector(s => s.process.templates.current?.jumpBall?.improvementRound);\r\n const improvementRound = improvementRoundTimeSpan\r\n ? dateTimeUtils.parseTimeSpan(improvementRoundTimeSpan).totalMinutes\r\n : undefined;\r\n const isManual = improvementRoundTimeSpan == null;\r\n const error = useAppSelector(s => s.process.errors.templates.jumpBallStage2DurationMinutes)\r\n\r\n return (\r\n <>\r\n {\r\n if (option === BwicStageEndType.Manually) {\r\n dispatch(processActions.jumpBallStage2DurationUnspecified());\r\n dispatch(processActions.resetJumpBallStage2DurationMinutes());\r\n } else {\r\n dispatch(processActions.jumpBallStage2DurationPreset());\r\n }\r\n }}\r\n />\r\n {isManual ? (\r\n \r\n ) : (\r\n <>\r\n \r\n
    \r\n dispatch(processActions.jumpBallStage2DurationMinutesChange(e.target.value))}\r\n />\r\n \r\n Minutes\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 moment from 'moment';\r\nimport { useSelector } from 'react-redux';\r\nimport { AppState } from '../../types/state/AppState';\r\nimport { FormFieldLabel } from '../forms/FormFieldLabel';\r\nimport { constants } from '../../constants/constants';\r\nimport { dateTimeUtils } from '../../utils';\r\nimport IconSVG from '../../styles/svg-icons';\r\n\r\nexport function BwicDateTimeSection() {\r\n const timeZone = useSelector((s: AppState) => s.process.timeZones.find(tz => tz.id === s.process.timeZone));\r\n const date = useSelector((s: AppState) => s.process.date);\r\n const bidsDue = useSelector((s: AppState) => s.process.bidsDue);\r\n const goodUntil = useSelector((s: AppState) => s.process.goodUntil);\r\n const daysToSettle = useSelector((s: AppState) => s.process.daysToSettle);\r\n\r\n const renderField = (title: string | React.ReactNode, value: string | number) => {\r\n return (\r\n
  • {value}
  • \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n
      \r\n {renderField(, moment(date).format(constants.dateFormat))}\r\n {renderField(, `${dateTimeUtils.timestampFromUtcString(bidsDue, timeZone)} - ${dateTimeUtils.timestampFromUtcString(goodUntil, timeZone)}`)}\r\n {renderField('Days To Settle:', daysToSettle)}\r\n
    \r\n
    \r\n );\r\n}\r\n","import classNames from 'classnames';\r\nimport { TopXStage2Participants } from '../../../types/bwic-process/TopXSettings';\r\nimport { FormError, RadioButton } from '../../controls';\r\nimport { processActions } from '../../../actions';\r\nimport MaskedInput from 'react-text-mask';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport { useAppSelector } from '../../../effects/useAppSelector';\r\nimport { dateTimeUtils } from '../../../utils';\r\nimport { CutOffReminder } from '../CutOffReminder';\r\nimport { SettingsLine } from '../SettingsLine';\r\nimport { AutoFeedbackDelay } from '../AutoFeedbackDelay';\r\nimport { CutoffReminderSettingsLine } from '../CutoffReminderSettingsLine';\r\nimport { MinBidIncrementSettingsLine } from '../MinBidIncrementSettingsLine';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\nimport { BwicManualStageEndingInfo } from '../BwicManualStageEndingInfo';\r\nimport { BwicStageEndType } from '../../../types/bwic-process/BwicStageEndType';\r\nimport { BwicStageEndSelect } from '../BwicStageEndSelect';\r\n\r\nexport function TopXSection() {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n

    Stage 1 — Open bidding with autofeedback

    \r\n The Seller can determine the mode in which the Stage 1 of the BWIC will be completed. Automatically - Stage 1 will be completed automatically according to the time specified in 'Stage 1 duration'.
    Manually - the Seller manually determines the end of Stage 1 by clicking on the button.}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n

    Stage 2 — Top X bidders have the ability to improve their bids many times

    \r\n If "Manually" - Stage 2 will end according to the end time of BWIC.
    If "Automatically" - Stage 2 will end according to the set time.}\r\n >\r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nfunction TopXCutoffReminder() {\r\n const automaticStage1DeadlineTimeSpan = useAppSelector(s => s.process.templates.current?.topX?.automaticStage1Deadline);\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nfunction Stage1End() {\r\n const dispatch = useAppDispatch();\r\n\r\n const automaticStage1DeadlineTimeSpan = useAppSelector(s => s.process.templates.current?.topX?.automaticStage1Deadline);\r\n const automaticStage1Deadline = automaticStage1DeadlineTimeSpan\r\n ? dateTimeUtils.parseTimeSpan(automaticStage1DeadlineTimeSpan).totalMinutes\r\n : undefined;\r\n const isManual = automaticStage1DeadlineTimeSpan == null;\r\n const error = useAppSelector(s => s.process.errors.templates.topXStage1AutomaticMinutes)\r\n\r\n\r\n return (\r\n <>\r\n {\r\n if (option === BwicStageEndType.Manually) {\r\n dispatch(processActions.topXStage1EndManual());\r\n dispatch(processActions.resetTopXStage1AutomaticMinutes());\r\n } else {\r\n dispatch(processActions.topXStage1EndAuto());\r\n }\r\n }}\r\n />\r\n {isManual ? (\r\n \r\n ) : (\r\n <>\r\n \r\n
    \r\n dispatch(processActions.topXStage1EndAutomaticMinutesChange(e.target.value))}\r\n />\r\n \r\n Minutes\r\n \r\n \r\n
    \r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nfunction Stage2Participants() {\r\n const dispatch = useAppDispatch();\r\n\r\n const participants = useAppSelector(s => s.process.templates.current?.topX?.improverCount)\r\n ?? TopXStage2Participants.Top3;\r\n\r\n return (\r\n
    \r\n dispatch(processActions.topXStage2ParticipantsChange(TopXStage2Participants.Top2))}\r\n />\r\n dispatch(processActions.topXStage2ParticipantsChange(TopXStage2Participants.Top3))}\r\n />\r\n dispatch(processActions.topXStage2ParticipantsChange(TopXStage2Participants.Top4))}\r\n />\r\n dispatch(processActions.topXStage2ParticipantsChange(TopXStage2Participants.Top5))}\r\n />\r\n
    \r\n );\r\n}\r\n\r\nfunction Stage2Duration() {\r\n const dispatch = useAppDispatch();\r\n\r\n const improvementRoundTimeSpan = useAppSelector(s => s.process.templates.current?.topX?.improvementRound);\r\n const improvementRound = improvementRoundTimeSpan\r\n ? dateTimeUtils.parseTimeSpan(improvementRoundTimeSpan).totalMinutes\r\n : undefined;\r\n const isManual = improvementRoundTimeSpan == null;\r\n const error = useAppSelector(s => s.process.errors.templates.topXStage2DurationMinutes)\r\n\r\n return (\r\n <>\r\n {\r\n if (option === BwicStageEndType.Manually) {\r\n dispatch(processActions.topXStage2DurationUnspecified());\r\n dispatch(processActions.resetTopXStage2DurationMinutes());\r\n } else {\r\n dispatch(processActions.topXStage2DurationPreset());\r\n }\r\n }}\r\n />\r\n {isManual ? (\r\n \r\n ) : (\r\n <>\r\n \r\n
    \r\n dispatch(processActions.topXStage2DurationMinutesChange(e.target.value))}\r\n />\r\n \r\n Minutes\r\n \r\n \r\n
    \r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React from 'react'\r\nimport classNames from 'classnames';\r\nimport { FormError } from '../../controls';\r\nimport { processActions } from '../../../actions';\r\nimport MaskedInput from 'react-text-mask';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\r\nimport { useAppSelector } from '../../../effects/useAppSelector';\r\nimport { dateTimeUtils } from '../../../utils';\r\nimport { constants } from '../../../constants';\r\nimport { CutOffReminder } from '../CutOffReminder';\r\nimport { SettingsLine } from '../SettingsLine';\r\nimport { CutoffReminderSettingsLine } from '../CutoffReminderSettingsLine';\r\nimport { MinBidIncrementSettingsLine } from '../MinBidIncrementSettingsLine';\r\nimport { useAppDispatch } from '../../../effects/useAppDispatch';\r\n\r\nexport function BestFootForwardSection() {\r\n return (\r\n
    \r\n \r\n

    Best Foot Forward — One stage only. Bidder can improve bids during the bidding period.

    \r\n Bids submission duration *}\r\n tooltip=\"Bidding period from the start of BWIC\"\r\n >\r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nfunction Stage1Deadline() {\r\n const dispatch = useAppDispatch();\r\n\r\n const stageDeadlineTimeSpan = useAppSelector(s => s.process.templates.current?.bff?.stage1Deadline);\r\n\r\n const stageDeadline = stageDeadlineTimeSpan\r\n ? dateTimeUtils.parseTimeSpan(stageDeadlineTimeSpan).totalMinutes\r\n : undefined;\r\n const error = useAppSelector(s => s.process.errors.templates.bestFootForwardDurationMinutes)\r\n\r\n return (\r\n <>\r\n
    \r\n dispatch(processActions.bestFootForwardDurationMinutesChange(e.target.value))}\r\n />\r\n \r\n Minutes\r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\n","import React from 'react'\r\nimport { SettingsLine } from '../SettingsLine';\r\nimport { AutoFeedbackDelay } from '../AutoFeedbackDelay';\r\nimport { MinBidIncrementSettingsLine } from '../MinBidIncrementSettingsLine';\r\n\r\nexport function StandartBiddingSection() {\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","import { processActions } from '../../actions';\r\nimport { OpenBiddingSettingsSection } from './sections/OpenBiddingSettingsSection';\r\nimport { JumpBallSection } from './sections/JumpBallSection';\r\nimport { OnHoverTooltip } from '../common';\r\nimport IconSVG from '../../styles/svg-icons';\r\nimport { BwicDateTimeSection } from '../process/BwicDateTimeSection';\r\nimport { Checkbox } from '../controls/Checkbox';\r\nimport { BwicProcessType } from '../../types/models/Process';\r\nimport { LevelSpecificationType } from '../../types/enums/LevelSpecificationType';\r\nimport { useAppSelector } from '../../effects/useAppSelector';\r\nimport { TopXSection } from './sections/TopXSection';\r\nimport { BestFootForwardSection } from './sections/BestFootForwardSection';\r\nimport { StandartBiddingSection } from './sections/StandartBiddingSection';\r\nimport { useAppDispatch } from '../../effects/useAppDispatch';\r\n\r\nexport function TemplateDetails() {\r\n const dispatch = useAppDispatch();\r\n const template = useAppSelector(s => s.process.templates.current);\r\n const errors = useAppSelector(s => s.process.errors.templates);\r\n\r\n if (!template) {\r\n return null;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n

    Bidding Process {template.title}

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

    General

    \r\n\r\n
    \r\n
    \r\n
    \r\n dispatch(processActions.reserveLevelsApplyEnabled(e.target.checked))}\r\n label=\"Reserve levels apply\"\r\n />\r\n \r\n \r\n \r\n
    \r\n
    \r\n dispatch(processActions.earlyTradesEnabled(e.target.checked))}\r\n label=\"Can trade early\"\r\n />\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n dispatch(processActions.rulesText(e.target.value))}\r\n />\r\n
    \r\n
    \r\n {template?.type === BwicProcessType.Standard && }\r\n {\r\n template?.type === BwicProcessType.Live &&\r\n dispatch(processActions.resetStage1DeadlineError())}\r\n resetImprovementRoundError={() => dispatch(processActions.resetImprovementRoundError())}\r\n resetMinBidIncrementError={() => dispatch(processActions.resetMinBidIncrementError())}\r\n onChangeStage1Deadline={(value: string) => dispatch(processActions.setStage1Deadline(value))}\r\n onChangeImprovementRound={(value: string) => dispatch(processActions.setImprovementRound(value))}\r\n onChangeMinBidIncrement={(value: string) => dispatch(processActions.setMinBidIncrement(value))}\r\n onChangeLevelSpecification={(value: LevelSpecificationType) => dispatch(processActions.setLevelSpecificationType(value))}\r\n onChangeOpenBiddingImproverCount={(value: number) => dispatch(processActions.setOpenBiddingImproverCount(value))}\r\n />\r\n }\r\n {template?.type === BwicProcessType.JumpBall && }\r\n {template?.type === BwicProcessType.TopX && }\r\n {template?.type === BwicProcessType.BestFootForward && }\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nfunction ResetChangesButton() {\r\n const dispatch = useAppDispatch();\r\n const isTemplateDirty = useAppSelector(s => s.process.templates.dirty);\r\n\r\n if (isTemplateDirty) {\r\n return (\r\n
    \r\n Process was modified\r\n dispatch(processActions.resetChanges())}\r\n >\r\n Reset to default\r\n \r\n
    \r\n );\r\n }\r\n\r\n return null;\r\n}\r\n"],"names":["NotificationBody","_ref","text","_ref$className","className","messageLines","trim","split","outputMessage","sanitizeText","sanitizeHtml","allowedTags","allowedAttributes","hasHtml","test","i","length","rawText","push","_jsx","cn","dangerouslySetInnerHTML","__html","join","ConnectionStatusToast","disabled","connectionStatus","useSelector","state","notification","_useState","useState","_useState2","_slicedToArray","visible","setVisible","useEffect","PushNotificationServiceStatus","reconnected","setTimeout","constants","notificationDisplayTimeout","reconnecting","_jsxs","children","IconSVG","name","width","height","disconnected","onClick","window","location","reload","ModalNotification","onClose","title","message","refreshButtonVisible","type","blinkBrowserTabText","useBrowserTabBlinkAnimation","Popup","modalClass","popupClassName","PopupBody","StatusMessageSection","StatusMessageSectionType","Error","PopupFooter","document","Notifications","dispatch","useDispatch","mounted","useRef","timeouts","notificationAttributes","useAppSelector","s","visibleNotifications","notificationList","filter","n","_notificationAttribut","referenceName","toastVisible","modalNotificationList","current","renderNotification","subject","iconClass","NotificationType","logger","trace","clearTimeout","notificationActions","notificationListHideToast","autoHideNotification","notificationListToastExpired","renderedList","Math","min","notificationListDisplayLimit","renderNotificationList","firstTitleAnimationIndex","findIndex","_n$blinkBrowserTabTex","map","_objectSpread","notificationListRemoveModalItem","renderModalNotificationList","NotificationDetails","onRead","classNames","isReadByUser","onMouseEnter","dateTimeUtils","utcToLocalString","sentDateUtc","timeFormat","String","index","NotificationList","notifications","onHide","parentDivRef","isLoading","isRequesting","requestStateGetNotificationList","hasMoreNotifications","countUnreadNotifications","sortedByDate","useMemo","arrayUtils","groupBy","dateFormatISO8601","isSomeUnreadNotificationInStore","some","handleSetRead","notificationSetReadRequest","renderNotifications","SlideDownPanel","notificationsReadAllRequest","ref","isRequestSuccess","InfiniteScroll","pageStart","loadMore","notificationUtils","isConnected","notificationGetList","hasMore","useWindow","getScrollParent","result","forEach","value","key","durationDays","renderList","InfiniteScrollLoader","isNextPageRequesting","NotificationPopoverContent","btnRef","visibleList","setVisibleList","displayInNotificationList","isRequestNone","Relative","OnHoverTooltip","overlay","e","_btnRef$current","contains","target","NotificationPopover","requestStateGetCountUnread","notificationsGetCountUnread","mountedTooltips","Object","values","onBoardingTooltipConst","pages","reduce","object","page","setPageCountRequest","OnBoardingTooltip","step","_ref$hidden","hidden","history","useHistory","stateBoardingTooltip","onBoardingTooltip","currentUser","user","useCacheOnBoardingState","counts","getOnBoardingTooltipCounters","getVisibleStatus","maxCountLimit","onBoardingTooltipSetCountRequest","count","Number","id","getCurrentStep","getCountMountedPages","keys","getTemplateIndex","tooltipIndex","hasRoles","roles","Viewer","pathname","urls","items","tooltipCounts","closed","gotIt","onNext","stopPropagation","onBoardingTooltipNav","onPrevious","onGotIt","onBoardingTooltipGotIt","onBoardingTooltipClose","_Fragment","OnBoardingTooltipSupportPopup","cancel","onBoardingTooltipSetVisibleSupportPopup","visibleSupportPopup","src","contentImage","alt","CreatePortfolioButton","_ref$text","_ref$disabled","_ref$children","rest","_objectWithoutProperties","_excluded","isPortfolioDisclaimerBlocked","React","PortfolioAgreementDisclaimerContext","undefined","PortfolioAgreementDisclaimer","isFeatureBlocked","BlockedFeatureContext","confirmRequestState","portfolioAgreementDisclaimer","blocked","portfolioDisclaimerAgreed","Provider","PortfolioAgreementDisclaimerActionBlocker","onConfirm","actionBlockerId","_","confirmed","blockerId","handleConfirm","portfolioAgreementDisclaimerActions","reset","handleClick","show","renderChildren","PortfolioAgreementDisclaimerContent","onCancel","popupVisible","handleReject","replace","PortfolioAgreementDisclaimerContentBlocker","_ref2","_ref2$disabled","PortfolioAgreementDisclaimerPopup","agreeCheckBoxChecked","setAgreeCheckBoxChecked","downloadFilefRequestState","downloadFileRequestState","agreeButtonText","hide","PortfolioAgreementDisclaimerText","downloadFileRequest","Checkbox","label","checked","onChange","confirmRequest","PortfolioNameDialog","onNameChange","portfolioName","validationSchema","yup","shape","matches","nonWhitespace","required","errorMessages","portfolioNameIsRequired","max","Formik","initialValues","onSubmit","enableReinitialize","errors","Form","noValidate","InputField","placeholder","markRequired","maxLength","defaultProps","EditPortfolio","useParams","actions","init","securitiesActions","portfolio","editPortfolio","renamePortfolioDialog","securities","grid","dataItems","deletePortfolioDialog","deleted","saved","updatePortfolioStatus","updatePortfolioRequestState","RequestState","request","isGridUploading","upload","status","uploadStatus","uploading","isRequestingExportPortfolio","isFlaggedModalVisible","isPortfolioNameDialogVisible","setPortfolioNameDialogVisible","_useState3","_useState4","newPortFolioName","setNewPortFolioName","_useState5","_useState6","updatedPortfolioName","setUpdatedPortfolioName","hasSecurities","draft","hasErrors","c","canSave","routes","Preloader","inProgress","Breadcrumbs","BreadcrumbsItem","route","DeleteFlaggedItemsButton","DeleteRowsWithErrorButton","DeleteAllButton","DownloadTemplateButton","templateType","fullScreen","small","ActionBlocker","feature","SubscriptionFeature","exportPortfolios","FeatureButton","exportPortfolio","gridActions","validate","updatePortfolioSecurities","createNewPortfolio","SecuritiesGridFlaggedPopup","setFlaggedModal","Grid","onDataItemsUpload","file","uploadSecurities","onDataItemsPaste","clipboardText","handleClipboardData","onFileSelected","helpPopoverTitle","Confirm","concat","deletePortfolio","RouteLeavingGuard","navigate","shouldBlockNavigation","securitiesComparer","compareMultiple","PortfolioFilterAlertPopup","_filter$bwicAlertOpti","_filter$dealerInvento","bwicAlertOption","AlertOption","Never","bwicAlert","setBwicAlert","dealerInventoryAlertOption","inventoryAlert","setInventoryAlert","_usePageConfig","usePageConfig","PageConfigType","Portfolio","BwicFilterType","config","updateRequestState","saveAlerts","hasChanges","handleClose","renderInBody","EmailPreferencesRadioGroup","alertOptions","Instant","alertOptionInfo","_defineProperty","textLabels","savedFiltersPortfolioBwicInstantAlert","groupNameIndentifier","description","savedFiltersPortfolioBwicAlertDescription","saveFiltersPortfolioInventoryInstantsAlert","savedFiltersPortfolioInventoryAlertDescription","filters","updatedFilters","f","filterActions","createFilterActions","PortfolioFilters","useAppDispatch","_useAppSelector","visibleFilters","lastAppliedFilter","filterChanged","filterModified","requestState","entities","portfolios","hasPortfolios","selectedFilterReferenceName","pageConfig","resetFilter","resetFilterState","resetFiltersVisibility","BwicFilters","withAlerts","filterType","isSearching","hiddenFilters","portfolioInitialFilters","withBlockedSearchAndFilter","saveFilterVisible","filterConfigShowEmailNotification","pageConfigType","saveFilterBlockerFeature","PortfolioSavedFilters","advancedFiltersBlockerFeature","PortfolioAvancedFilters","defaultAlertOption","renderFilterAlertsPopup","renderCustomAlertOptions","_state$bwicAlert","_state$inventoryAlert","onApply","portfolioActions","advancedFilterBlocked","applyFilter","onReset","onVisibilityChange","filterName","filterVisibilityChange","onFilterCreate","form","_form$inventoryAlert","_form$bwicAlert","newFilter","uuid","default","makeDefault","getSerializedFilter","alertOption","addFilter","onFilterUpdate","_pageConfig$config","existingFilter","find","updatedFilter","updateFilter","PortfolioOptions","ContextMenu","customTargetComponent","ContextMenuItem","Link","to","editPortfolioUrl","deletePortfolioConfirmation","handleOnDeletePortfolio","PortfolioLastTraded","_bwicHistory$","bwicHistory","color","_formatUtils$formatCo","formatUtils","formatColor","tradedText","_formatUtils$formatCo3","_formatUtils$formatCo4","levelSpecification","level","traded","PortfolioSecurityTicker","_user$current","isSecuritySelected","security","onSecuritySelect","currentBwic","isSettlementAgent","isClearingBank","selectedBwic","selectedSecurity","securityDetails","ShowFor","_toConsumableArray","seller","BrokerDealerTrader","AllToAllArgeementRequiredActionBlocker","TickerButton","fetchAgencyRatings","isParsed","process","showBwicDetails","securityDetailsActions","securityDetailsReset","bwicLogActions","bwicLogReset","resetRowSelection","handleTickerButtonClick","PortfolioSelectAllCheckbox","_ref$selectedPortfoli","selectedPortfolioState","selectAll","securitiesSelectedState","isSeller","apply","isBrokerDealerTrader","allToAllAgreementBlocked","useAllToAllAgreementBlocked","counter","counterText","securityIds","isPartiallySelected","every","сounter","partially","portfolioSelectionChange","SinglePortfolioAlertPreferences","showModal","setShowModal","isBwicAlertChanging","updateAlertRequestState","isInventoryAlertChanging","updateInventoryAlertRequestState","isCleansingNoticeAlertChanging","updateCleansingNoticeAlertRequestState","isIssuanceMonitorAlertChanging","updateIssuanceMonitorAlertRequestState","isOutOfRiAlertChanging","updateOutOfRiAlertRequestState","isOutOfNcAlertChanging","updateOutOfNcAlertRequestState","isRollerDeadlineAlertChanging","updateRollerDeadlineAlertRequestState","isBd","bd","tooltipText","isAlertSelected","dealersInventoryAlert","cleansingNoticeAlert","issuanceMonitorAlert","outOfRiPeriodAlert","outOfNcPeriodAlert","rollerDeadlineAlert","isChanging","hasAccess","hasAllFeatures","IssuanceMonitorFullAccess","PortfolioAlerts","limitedAlerts","availableAlerts","allAlertsCount","placement","acc","alert","SinglePortfolioAlertsPopup","PortfolioTransactionDetailsLink","_TransactionTypes$fin","latestTransaction","transaction","dealTicker","toLowerCase","requiredFeatures","TransactionStatus","Active","CanLookupTransactionFromPortfolio","ValueBlocker","requireAllFeatures","features","Priced","emptyPlaceholder","ImTransactionDetailsLink","dealReferenceName","transactionReferenceName","wrapperClass","transactionStatusTitles","StatusLabel","TransactionTypes","t","PortfolioArrangersPipelineLink","arrangersPipeline","arrangerPipeline","IssuanceMonitorArrangerPipeline","CanLookupArrangersPipelineFromPortfolio","ArrangerPipelineLink","dealsLegalNames","dealLegalName","PortfolioRollerDeadline","rollerDeadline","today","isToday","amrFormatUtils","formatRollerDeadlineDate","moment","PortfolioTable","filteredPortfolios","isBroker","columnsConfig","hasFeatures","PortfolioColumnCustomizer","columns","selectedState","portfolioDelete","_useActiveInventorySe","useActiveInventorySecuritesIds","activeInventorySecurityIdByCount","renderPortfolioSecurities","useCallback","columnType","portfolioSelectedSecurities","_getPositionListColum","_createColumnListBuil","_createColumnListBuil2","_getAmrColumns","getAmrColumns","dealName","collateralType","manager","nonCallPeriodEnd","reinvestmentPeriodEnd","maturity","vintage","trustee","amrDeal","staticDeal","euCompliance","esg","closingDate","outOfNC","outOfRI","nonCallPeriodEndYears","reinvestmentPeriodEndYears","leftColumns","columnKey","configKey","ColumnConfigKey","Ticker","renderColumnHeaderContent","renderColumnContent","context","securityId","selected","portfolioSecuritySelectionChange","parsedHistory","middleColumns","DealDocuments","documentsCount","ViewDealDocumentsButton","Rating","rating","Size","moneyUtils","amountToMM","size","CurrentBwic","MyBwicIcon","bwic","_context$parsedHistor","BwicStatusLabel","liveBidding","BwicProcessType","Live","directBidding","isClearingBankParticipant","isAllToAll","bwicTypeIconVisible","BwicMonitorLookupLink","ticker","bidsDueUtc","Inventory","SecurityInventoryLink","LastTraded","_context$parsedHistor2","_context$parsedHistor3","SecurityLastTradedDate","inventoryLastTraded","inventoryLastTradeDate","bwicLastTradedDate","isInventoryDate","_context$parsedHistor4","_context$parsedHistor5","_context$parsedHistor6","lastTradeDate","format","dateFormat","_context$parsedHistor7","_context$parsedHistor8","CleansingNotice","CleansingNoticeButton","ImTransaction","RollerDeadline","ArrangerPipeline","imDealLookup","ImDealLookupLink","intex","IntexLink","positionId","isinCusip","bloomberg","BloombergLink","identifier","valitana","Actions","ValitanaLink","createColumnListBuilder","add","ColumnBuilder","collapseStickRightColumn","getPositionListColumns","_getPositionListColum2","left","middle","right","TableColumnStickType","Left","Middle","Right","StickyTableRow","rowKey","dataItem","active","sort","a","b","Date","getTime","h","bwicStatuses","scheduled","bidding","finished","getPortfolioTableColumns","headerClassName","bodyClassName","stickLeft","inventory","imTransaction","InfoTooltip","rtg","currentBWICmyBWIC","currentBWIC","lastTraderIsMine","lastTraded","lastTradedStatus","cleansingNotice","DealName","pipelineColumnLabels","PipelineColumn","CollateralManager","ClosingDate","ncEnd","NcEnd","bwicColumnsLabels","riEnd","RiEnd","ncEndYrs","NcEndYrs","pipelineTooltipText","outOfNcEnd","OutOfNc","riEndYrs","RiEndYrs","outOfRiEnd","OutOfRi","Maturity","Vintage","Trustee","AmrDeal","StaticDeal","euComp","EuCompliance","Esg","collat","CollateralType","dealDocs","options","stickRight","newPortfolio","EmptyPlaceholder","Table","renderCollapsibleItem","collapsible","sticky","defaultExpandAll","PortfolioControlPanel","bwicLog","pxTalkListVisible","pxTalkList","rules","tabs","renderContent","PxTalkList","bwicReferenceName","onActivate","pxTalkListActions","onDeactivate","SecurityDetails","securityDetailsInitRequest","BWICLog","bwicLogInitRequest","BwicRules","bidsDueDate","parsedProcess","goodUntilDate","goodUntilUtc","isSameDayBwic","daysToSettle","isMy","isDirectBidding","BwicViewLink","isParticipant","rulesActions","RightSideTabPanel","SecurityDetailsOptions","optionsExclude","ControlPanelOptions","addToPortfolio","position","hideActivePanels","DealDocumentsAutoOpener","_ref$defaultTab","defaultTab","DealDocumentsPopupTab","useQuery","docs_view","p","flat","_s$dealTicker","localeCompare","sensitivity","DealDocumentsPopup","requiredFeature","CanAccessDealDocuments","PortfolioComponent","getPortfolios","searchTermItems","searchSecurities","idRequestingExportPortfolio","pageConfigRequestState","defaultConfigRequestState","isPageConfigLoaded","isRequestFailed","hasFilteredPortfolios","adavancedFiltersBlocked","tickers","allTickers","Set","useSecurityLatestTransaction","useSecurityArrangersPipeline","useLocationStateReset","portfolioListActions","selectedSecurityCount","sumBy","handleResetFilterAndSearch","searchSecuritiesActions","renderAlertToggle","PortfolioAlertsPreferences","SecuritiesSearchInput","onSearch","applySearchInput","PortfolioSecuritySearch","inline","exportAll","RoleActionBlocker","getAllRolesExclude","Media","portfolioDocuments","PortfolioNewBwicButton","BwicColumnCustomizer","RequestSettlementAgentAgreementBanner","BlockedFeatureContent","SubscribeLink","onResetClick","SecurityDetailsPanel","handleNewBwicClick","entries","_ref3","_ref4","portfolioId","selectedSecurities","distinct","bwicsHistory","apiUtils","normalize","BwicStatus","LocationStateBuilder","popup","PopupType","SecurityUsage","createBwicConfirmed","SecurityUsagePopup","requesting","NewBwicButton","PortfolioDocuments","_Component","_this","_classCallCheck","_len","arguments","args","Array","_key","_callSuper","componentDidMount","props","componentWillUnmount","render","isUploading","isInitialized","ManageDealDocuments","_inherits","_createClass","Component","connectedPortfolioDocuments","connect","uploadDocuments","newPortfolioKey","sizeRange","transform","parse","empty","stringUtils","isNullOrWhiteSpace","invalidValue","numericUtils","isNumber","invalidRangeSize","AddToPortfolioPopup","_selectedPortfolio$se","portfloliosListState","usePortfolios","selectedPortfolio","isSaving","responseError","error","_React$useState","_React$useState2","securitySize","setSecuritySize","_React$useState3","_React$useState4","securitySizeError","setSecuritySizeError","isAddNewPortfolioNameVisible","setIsAddNewPortfolioNameVisible","newPortfolioName","setNewPortfolioName","newPortfolioNameError","setNewPortfolioNameError","existingPortfolioSecurity","isExistingSecuritySizeUnchanged","addToPortfolioActions","setSelectedPortfolio","validationSchemaNewPortfolioName","validateSecuritySize","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","yupSchemaValidate","t0","sent","stop","_x","money","validateNewPortfolioName","_callee2","_context2","_x2","handleSizeChange","handleNewCompanyNameChange","handlerBlur","addSecurityToPortfolio","FormFieldLabel","DropDownList","defaultSortingEnabled","showLoadingProgress","_a$name","payload","getPortfolioDropDownItems","item","storeError","renderItemContentCallback","FormError","entity","MaskedInput","mask","createNumberMask","prefix","integerLimit","onBlur","currency","defaultFilter","FilterType","Select","isApplied","broadlySyndicated","collateralTypes","BroadlySyndicated","middleMarket","MiddleMarket","Currencies","v","managers","withSearch","selectedOption","customDateRange","from","acceptableOptions","dateRangeFilterOptions","disabledDays","before","toDate","YearsDate","closing","after","subtract","trustees","amr","BooleanRadio","ratings","Ratings","r","nonCallEnd","DateWithYearsRange","customYearsRange","reinvestmentEnd","hasSavedFiltersAccess","isSomePortfolioAlertsEnabled","_s$entities$emailPref","_s$entities$emailPref2","_s$entities$emailPref3","_s$entities$emailPref4","_s$entities$emailPref5","_s$entities$emailPref6","_s$entities$emailPref7","emailPreferences","preferences","portfolioBwicAlertState","AlertEnabledState","Disabled","portfolioDealersInventoryAlertState","portfolioCleansingNoticeAlertState","portfolioIssuanceMonitorAlertState","portfolioOutOfRiPeriodAlertState","portfolioOutOfNcPeriodAlertState","portfolioRollerDeadlineAlertState","isAnyAlertEnabled","useEmailPreferences","PortfolioAlertsPopup","BwicDate","minimumDate","date","holidays","css","classnames","DayPickerInput","onDayChange","day","changeDate","selectedDate","allowWeekends","BwicDates","Time","TimeZone","DaysToSettle","Fragment","Counter","emptyEnabled","onValueChanged","handleDaysChanged","days","changeDaysToSettle","connectedDaysToSettle","handleBidsDueChange","time","changeBidsDueTime","handleGoodUntilChange","changeGoodUntilTime","_this$props","bidsDue","goodUntil","disabledHours","isBidsDueMinutesDisabled","isGoodUntilMinutesDisabled","isInvalid","disabledMinutes","TimePickerControl","defaultTime","timestampToUtcString","onTimeChange","appConfig","enableAnyTimeNewBwic","connectedTime","selectedTimeZone","timeZones","tz","handleTimeZoneChanged","changeTimeZone","connectedTimeZone","timeZone","ProcessLiveBidding","_descriptionData$live","_descriptionData$live2","_descriptionData$live3","_descriptionData$live4","_descriptionData$live5","_descriptionData$live6","_descriptionData$live7","descriptionData","isSelected","isLiveBiddingSelected","_s$process$templates$","templates","AnimatedValueUpdate","stage1Deadline","msAnimationTime","parseTimeSpan","cutOffReminder","totalMinutes","backgroundClassName","openBiddingImproverCount","minBidIncrement","formatBid","improvementRound","ProcessJumpBall","_data$jumpBall","_data$jumpBall2","_data$jumpBall3","_data$jumpBall4","_data$jumpBall5","_data$jumpBall6","_data$jumpBall7","_data$jumpBall8","_data$jumpBall9","_data$jumpBall10","data","autoFeedbackDelay","jumpBall","automaticStage1Deadline","jumpBallStage1AutomaticMinutes","improverCount","jumpBallStage2DurationMinutes","ProcessTopX","_data$topX","_data$topX2","_data$topX3","_data$topX4","_data$topX5","_data$topX6","_data$topX7","_data$topX8","_data$topX9","_data$topX10","topX","topXStage1AutomaticMinutes","topXStage2DurationMinutes","ProcessStandart","ProcessBestFootForward","_ref5","_descriptionData$bff","_descriptionData$bff2","bff","bestFootForwardDurationMinutes","ProcessDescription","_ref6","JumpBall","TopX","BestFootForward","TemplateList","_s$process$templates","all","selectedTemplate","templateItems","selectTemplate","CutOffReminder","cutOffReminderTimeSpan","Boolean","suffix","allowDecimal","includeThousandsSeparator","processActions","cutOffReminderChange","SettingsLine","tooltip","FlexRow","CutoffReminderSettingsLine","OpenBiddingSettingsSection","enabled","onChangeStage1Deadline","onChangeImprovementRound","onChangeMinBidIncrement","onChangeLevelSpecification","onChangeOpenBiddingImproverCount","stage1DeadlineError","resetStage1DeadlineError","improvementRoundError","resetImprovementRoundError","minBidIncrementError","resetMinBidIncrementError","levelSpecifications","best","OpenBiddingImproverCount","top3","openBiddingImproverCountList","top2","top4","top5","FormControlWrapper","RadioButtonGroup","decimalLimit","bidNumber","RadioButton","LevelSpecificationType","AutoFeedbackDelay","autoFeedbackDelayTimeSpan","autoFeedbackDelayDisabled","autoFeedbackDelayEnabled","autoFeedbackDelayDefaultMinutes","autoFeedbackDelayChange","MinBidIncrement","minBidIncrementDisabled","minBidIncrementEnabled","defaultMinBidIncrement","minBidIncrementChange","MinBidIncrementSettingsLine","BwicManualStageEndingInfo","stage","Info","BwicStageEndSelect","selectedType","BwicStageEndType","JumpBallSection","Stage1End","JumpBallCutoffReminder","Stage2Participants","Stage2Duration","automaticStage1DeadlineTimeSpan","_s$process$templates$2","_s$process$templates$3","_s$process$templates$4","isManual","Manually","Automatically","option","jumpBallStage1EndManual","resetJumpBallStage1AutomaticMinutes","jumpBallStage1EndAuto","jumpBallStage1EndAutomaticMinutesChange","participants","_s$process$templates$5","_s$process$templates$6","JumpBallStage2Participants","Top3","Top2","jumpBallStage2ParticipantsChange","Top4","Top5","improvementRoundTimeSpan","_s$process$templates$7","_s$process$templates$8","jumpBallStage2DurationUnspecified","resetJumpBallStage2DurationMinutes","jumpBallStage2DurationPreset","jumpBallStage2DurationMinutesChange","BwicDateTimeSection","renderField","timestampFromUtcString","TopXSection","TopXCutoffReminder","topXStage1EndManual","resetTopXStage1AutomaticMinutes","topXStage1EndAuto","topXStage1EndAutomaticMinutesChange","TopXStage2Participants","topXStage2ParticipantsChange","topXStage2DurationUnspecified","resetTopXStage2DurationMinutes","topXStage2DurationPreset","topXStage2DurationMinutesChange","BestFootForwardSection","Stage1Deadline","stageDeadlineTimeSpan","stageDeadline","bestFootForward","stage1DeadlineDefaultMinutes","bestFootForwardDurationMinutesChange","StandartBiddingSection","TemplateDetails","_template$liveBidding","_template$liveBidding2","_template$liveBidding3","_template$liveBidding4","_template$liveBidding5","template","ResetChangesButton","reserveLevelsApply","reserveLevelsApplyEnabled","earlyTrades","earlyTradesEnabled","rulesText","cols","rows","Standard","levelSpecificationType","setStage1Deadline","setImprovementRound","setMinBidIncrement","setLevelSpecificationType","setOpenBiddingImproverCount","dirty","resetChanges"],"sourceRoot":""}